Image Number 11 for United States Patent #7769905.
A method for receiving network communication at a host is provided. The host has a network interface card (NIC) for receiving the network communication from a network. Data is requested through an application. A set of buffers (e.g., A, B, C, . . . ) is posted to system memory. Information regarding the set of buffers is passed to an adaptation layer. The adaptation layer is interposed between a socket layer and a transport layer of the protocol stack. The set of buffers identified in the adaptation layer is assigned expected sequence numbers (e.g., SN1, SN2, SN3 . . . ) for a sequence of incoming data (e.g., S1, S2, S3, . . . ). The adaptation layer reshuffles data of the sequence of incoming data to the set of buffers according to the expected sequence numbers. The expected sequence numbers are consecutively ordered to ensure that the sequence of incoming data in the ordered sequence is placed to the set of buffers according to the expected sequence numbers.