Patent ID: 7263103

Claim:
A method for network communication, comprising: providing a pool of descriptors to be shared among a plurality of transport service instances used in communicating over a network, each of the descriptors in the pool comprising a scatter list indicating a buffer that is available in a local memory; receiving a message over the network on one of transport service instances, the message comprising data to be pushed to the local memory; and responsive to receiving the message, reading one of the descriptors from the pool, and writing the data comprised in the message to the buffer indicated by the scatter list comprised in the one of the descriptors; wherein providing the pool of descriptors comprises writing the descriptors to a circular list having a head and a tail, and wherein reading the one of the descriptors comprises selecting the one of the descriptors from the head of the list; and wherein selecting the one of the descriptors comprises comparing the head and the tail of the list, and abstaining from writing the data to the buffer in the local memory if the head and tail coincide.