Re: [rohc] IPR... again...

Alan Kennington <ak1.rohc@topology.org> Tue, 02 September 2003 14:26 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 KAA00993 for <rohc-archive@odin.ietf.org>; Tue, 2 Sep 2003 10:26:04 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19uC6G-0004c8-Lj for rohc-archive@odin.ietf.org; Tue, 02 Sep 2003 10:25:40 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h82EPe76017730 for rohc-archive@odin.ietf.org; Tue, 2 Sep 2003 10:25:40 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19uC6G-0004bs-Er for rohc-web-archive@optimus.ietf.org; Tue, 02 Sep 2003 10:25:40 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA00867 for <rohc-web-archive@ietf.org>; Tue, 2 Sep 2003 10:25:33 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19uC6D-0001yI-00 for rohc-web-archive@ietf.org; Tue, 02 Sep 2003 10:25:37 -0400
Received: from ietf.org ([132.151.1.19] helo=optimus.ietf.org) by ietf-mx with esmtp (Exim 4.12) id 19uC4j-0001ku-00 for rohc-web-archive@ietf.org; Tue, 02 Sep 2003 10:24:05 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19uC4g-00042E-WC; Tue, 02 Sep 2003 10:24:02 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19uC4Y-00041U-FT for rohc@optimus.ietf.org; Tue, 02 Sep 2003 10:23:54 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA00316 for <rohc@ietf.org>; Tue, 2 Sep 2003 10:23:48 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19uC4V-0001iB-00 for rohc@ietf.org; Tue, 02 Sep 2003 10:23:52 -0400
Received: from alanke.lnk.telstra.net ([139.130.140.14] helo=dog.topology.org) by ietf-mx with esmtp (Exim 4.12) id 19uC49-0001hT-00 for rohc@ietf.org; Tue, 02 Sep 2003 10:23:30 -0400
Received: by dog.topology.org (Postfix, from userid 1321) id 6E8F38A5F9; Tue, 2 Sep 2003 23:52:54 +0930 (CST)
Date: Tue, 02 Sep 2003 23:52:54 +0930
From: Alan Kennington <ak1.rohc@topology.org>
To: ROHC mailing list <rohc@ietf.org>
Subject: Re: [rohc] IPR... again...
Message-ID: <20030902235254.A28375@dog.topology.org>
Reply-To: Alan Kennington <ak1.rohc@topology.org>
References: <Pine.WNT.4.56.0308312241130.1348@maw-laptop.roke.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
User-Agent: Mutt/1.3.12i
In-Reply-To: <Pine.WNT.4.56.0308312241130.1348@maw-laptop.roke.co.uk>; from mark.a.west@roke.co.uk on Sun, Aug 31, 2003 at 11:00:30PM +0100
X-PGP-Key: http://www.topology.org/ak/key_ak2.asc
X-PGP-Key-Fingerprint: 8A7B 7A8E 1C02 8298 579F 1860 7D56 121B D363 329E
Sender: rohc-admin@ietf.org
Errors-To: rohc-admin@ietf.org
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=unsubscribe>
List-Id: Robust Header Compression <rohc.ietf.org>
List-Post: <mailto:rohc@ietf.org>
List-Help: <mailto:rohc-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=subscribe>

On Sun, Aug 31, 2003 at 11:00:30PM +0100, West, Mark wrote:
> 
[....]
> 
> Oh, and before anyone points out the fact: yes, I do know that IPR is
> claimed on computing the static / dynamic part of the CRC.  Hmmmm...
> sounds like an implementation issue to me.  Ok -- let's try this:
> everyone raise your right hand & repeat after me: "I do solemnly swear
> that I shall not stoop to any nasty implementation enhancements like
> caching the static part of the CRC computation without first consulting my
> tame patent attorney."  There, that should fix it..?
> 


Mark,

Personally I think it's bad engineering to cache the static CRC.
In my implementation, I didn't even think of doing this.
It's asking for trouble because you have to keep track of
whether it might change and make sure that the CRC is always synched with
the static header fields. It's very much simpler and more reliable to
CRC everything every time it's needed.
After all, you do a CRC to ensure robustness. So why would you 
introduce the danger of software error in CRC calculation?

Today's CPUs are so fast that there is absolutely no reason to cache the CRC
over a few bytes. I don't even bother to use an 8-bit look-up table (which I
usually do with CRCs) to accelerate CRC calculation because CPUs are so fast
that you can do individual bit-shift CRC calculation. It's also a tiny
proportion of the overall CPU burden. When a 400 MHz CPU is doing GSM voice
encoding and decoding and all of the ROHC encoding/decoding and much more (like
logging 1000 bytes of information to disk for every packet), I find that the
CPU usage is about 6%. 

Conclusion: the static/dynamic CRC calculation split is really perplexing.
When I first saw that, I couldn't work out why someone would bother
which such a minor optimisation when there are so many other things
that could have been optimized.

Theoretically, implementation issues that have no influence on the
coding "on the wire" have no place in comms standards. So the
static CRC caching is in the category of "implementation hints".
This should really be in an appendix.
However, RFC 3095 contains numerous "implementation hints" of this sort.
For example the "compression state" variable is in this category.
It does not appear on the wire, and can be dispensed with completely.

------------------------------
Concerning the idea of using a CRC to detect errors in decompressed data,
surely this is as old as the history of CRCs and compression.
Isn't this just ordinary communications engineering?

Question:
Could someone please explain what _serious_ IPR issues there might be
in RFC 3095? Standard everyday communications engineering surely
cannot be patented. 
Does someone have a patent on the idea of using X module N to communicate
X when X is slowly varying? That's as old as using 03 to mean 2003.

Cheers,
Alan.


_______________________________________________
Rohc mailing list
Rohc@ietf.org
https://www1.ietf.org/mailman/listinfo/rohc