|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Julian Satran, Dafna Sheinwald, Ilan Shimony, "Out of Order Incremental CRC Computation," IEEE Transactions on Computers, vol. 54, no. 9, pp. 1178-1181, September, 2005. | |||
| BibTex | x | ||
| @article{ 10.1109/TC.2005.151, author = {Julian Satran and Dafna Sheinwald and Ilan Shimony}, title = {Out of Order Incremental CRC Computation}, journal ={IEEE Transactions on Computers}, volume = {54}, number = {9}, issn = {0018-9340}, year = {2005}, pages = {1178-1181}, doi = {http://doi.ieeecomputersociety.org/10.1109/TC.2005.151}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Computers TI - Out of Order Incremental CRC Computation IS - 9 SN - 0018-9340 SP1178 EP1181 EPD - 1178-1181 A1 - Julian Satran, A1 - Dafna Sheinwald, A1 - Ilan Shimony, PY - 2005 KW - Index Terms- CRC KW - cyclic redundancy codes KW - out-of-order computation KW - RDMA. VL - 54 JA - IEEE Transactions on Computers ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2005.151
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.

