This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Out of Order Incremental CRC Computation
September 2005 (vol. 54 no. 9)
pp. 1178-1181
We consider a communication protocol where the sender breaks a message, comprised of an information block and a corresponding CRC, into small segments and transmits these segments separately, possibly via different routes, to the receiver. Traditionally, reversing the sender operations, the receiver first assembles all the segments that make up the message, then computes a CRC based on the information part of the message and verifies it against the arriving CRC, and, finally, delivers the information part on to the upper layer protocol (ULP). We present an incremental CRC computation whereby each arriving segment contributes its share to the message's CRC upon arrival, independently of other segment arrivals, and can thus proceed immediately to the ULP. We impose no constraint on the order of segment arrivals nor on their sizes. Yet, in its time complexity, our scheme does not exceed the traditional computation, which assembles all the segments first, and it uses only a fixed and very small amount of extra memory. Our scheme is beneficial when the ULP can process the individual segments without reading the entire message first and can revert, if needed, to the state it had prior to the processing of any segment of that message. One practical example application is the evolving protocol for Remote Direct Memory Access (RDMA) over TCP, where an overall CRC is added to a concatenation of data segments.

[1] F. Braun, J. Lockwood, and M. Waldvogel, “Protocol Wrappers for Layered Network Packet Processing in Reconfigurable Networks,” IEEE Micro, vol. 22, no. 1, pp. 66-74, Jan./Feb. 2002.
[2] F. Braun and M. Waldvogel, “Fast Incremental CRC Updates for IP over ATM Networks,” Proc. 2001 IEEE Workshop High Performance Switching and Routing, May 2001.
[3] F.J. McWilliams and N.J. Sloane, The Theory of Error-Correcting Codes. North Publishing Co., 1983.
[4] R.E. Blahut, Algebraic Codes for Data Transmission. Cambridge Univ. Press, 2003.

Index Terms:
Index Terms- CRC, cyclic redundancy codes, out-of-order computation, RDMA.
Citation:
Julian Satran, Dafna Sheinwald, Ilan Shimony, "Out of Order Incremental CRC Computation," IEEE Transactions on Computers, vol. 54, no. 9, pp. 1178-1181, Sept. 2005, doi:10.1109/TC.2005.151
Usage of this product signifies your acceptance of the Terms of Use.