Re: [rohc] TCP/IP EPIC profile

"West, Mark (ITN)" <mark.a.west@roke.co.uk> Fri, 08 March 2002 11:52 UTC

Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id GAA29150 for <rohc-archive@odin.ietf.org>; Fri, 8 Mar 2002 06:52:10 -0500 (EST)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id GAA23400; Fri, 8 Mar 2002 06:23:36 -0500 (EST)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id GAA23368 for <rohc@optimus.ietf.org>; Fri, 8 Mar 2002 06:23:33 -0500 (EST)
Received: from rsys000a.roke.co.uk (rsys000a.roke.co.uk [193.118.201.102]) by ietf.org (8.9.1a/8.9.1a) with SMTP id GAA28743 for <rohc@ietf.org>; Fri, 8 Mar 2002 06:23:31 -0500 (EST)
Received: by rsys001a.roke.co.uk with Internet Mail Service (5.5.2653.19) id <1XV9A9RA>; Fri, 8 Mar 2002 11:21:26 -0000
Received: from roke.co.uk (itn-pool4.roke.co.uk [193.118.194.54]) by rsys002a.roke.co.uk with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13) id G3566QG7; Fri, 8 Mar 2002 11:21:23 -0000
From: "West, Mark (ITN)" <mark.a.west@roke.co.uk>
To: "Hongbin Liao (Intl Staffing)" <i-hbliao@microsoft.com>
Cc: Qian Zhang <qianz@microsoft.com>, Julije Ozegovic <julije@fesb.hr>, rohc <rohc@ietf.org>
Message-ID: <3C889EB3.3060308@roke.co.uk>
Date: Fri, 08 Mar 2002 11:21:23 +0000
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2
X-Accept-Language: en-us
MIME-Version: 1.0
Subject: Re: [rohc] TCP/IP EPIC profile
References: <F4C77846CEE593418BE5AB7B6A83111E0465219C@bjs-msg-01.fareast.corp.microsoft.com>
Content-Type: multipart/mixed; boundary="------------InterScan_NT_MIME_Boundary"
Sender: rohc-admin@ietf.org
Errors-To: rohc-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: Robust Header Compression <rohc.ietf.org>
X-BeenThere: rohc@ietf.org

> 
> It's not so clear to me. Suppose there is the same situation as
> previously described, there are 30 fields and each field has 2 choices.
> If all prefixes must be stored at the compressor/decompressor, there
> will need at least 2*30 bytes (1GB!). Clearly, it's impractical.
> However, I am not clear how hash-tables can alleviate such a situation.
> Would u give me some examples and time & space requirements for such a
> situation?


ok.  Let's take this example of 30 fields with 2 choices.  I can store a 
'0' or a '1' bit for each choice as I move from field to field.  This 
clearly gives me a space with 2^30 possible outcomes.

Since it is obviously impractical to make use of all possible formats, 
we have to restrict the number of formats that are actually used.

The point that I was trying to make, though, was that we can see a 
theoretically constant-time mapping: if I assume a table that contains 
all 2^30 possible outcomes, each can have a flag indicating whether the 
combination is present in the reduced list of formats.  If the 
combination is one of the MAX_FORMATS possibilities, then the table also 
contains the Huffman prefix.

Of course, in this case, even if the number of formats used is small, we 
still have this huge (2^30 entry) table.

If I set MAX_FORMATS to 400, say, then I am only keeping the 400 most 
likely headers.  This is less than 1 millionth of the possible 
combinations, so it's fair to say that the table to do the mapping is 
quite sparse!

What I am suggesting is that we create a table with a minimum of 400 
entries (but more realistically something like 500 - 600) and hash the 
30-bit format indicator down to a 9 or 10-bit hash table index.

Provided that the hash function is
- efficient (in time)
- relatively collision resistant
then you should retain very close to constant-time mapping, without a 
large cost in memory.

Does that clarify things?

Cheers,


Mark.


-- 
Mark A. West, Consultant Engineer
Roke Manor Research Ltd., Romsey, Hants.  SO51 0ZN
Phone +44 (0)1794 833311   Fax  +44 (0)1794 833433

(Yes, I do know that my disclaimer is in an attachment.  And, no, I 
didn't ask for it to be that way)