Patent ID: 7191240
Filing Date: 2007-03-13
Classification: H04L

Abstract:
1. In a network having a sending computer system and a receiving computer system, each of the sending and receiving computer systems including a processor, a memory and a network adapter, the memory containing a data structure used for storing a common data buffer, a method for sending and receiving payload data by layers or sub-layers of at least one communications protocol, comprising the steps of: (a) storing a first start pointer pointing to a first byte of the payload data in a first common data buffer of the sending computer system; (b) adding a first header to the payload data in the first common data buffer at a location preceding the byte pointed to by the first start pointer according to a first protocol layer of the communications protocol at the sending computer system; (c) adjusting the first start pointer to point to a first byte of the first header; (d) invoking a send procedure of a second and lower protocol layer of the communications protocol at the sending computer system; (e) transferring to the second protocol layer the start pointer by the send procedure, wherein the payload data is not copied in preparation for or during the send procedure; (f) adding a second header to the payload data in the first common data buffer at a location preceding the first start pointer, wherein the second header is contiguous with the first header; (g) sending the payload data and the first and second headers to the receiving computer system; (h) storing the payload data and the first and second headers in a second common data buffer of the receiving computer system; (i) invoking a receive procedure of a second protocol layer of the communications protocol at the receiving computer system; (j) storing a second start pointer pointing to a first byte of the second header in the second common data buffer; (k) adjusting the second start pointer to point to the first byte of the first header according to the second protocol layer at the receiving computer system; (l) invoking a receive procedure of a first and higher protocol layer of the communications protocol at the receiving computer system; and (m) transferring to the first protocol layer at the receiving computer system the second start pointer, wherein the payload data is not copied in preparation for or during the receive procedure.