Patent ID: 7561567

Claim:
A method for receiving a packet, comprising: a packet source sending a message to a host, the message indicating that the packet source has a data packet ready for transfer to the host, the host having a memory; the host sending a message to the packet source, the message including a token identifier; the host receiving the data packet from the packet source, the received packet having a header, a memory header including at least the token identifier, and a payload; and the host writing at least some of the payload to a memory location identified by the token identifier; wherein the message sent by the packet source to the host includes a field that indentifies the message as a request to send data using token identifiers; wherein the message sent by the host to the packet source includes a header having a first field that identifies a communication session between the packet source and the host, a second field that identifies a number of token identifiers that the packet source is permitted to use for transferring a data packet, and a third field identifying a list of triplets; wherein each triplet in the list of triplets includes a token identifier, an offset in a token identifier buffer, and a length of data to put into the token identifier buffer; and wherein each token identifier identifies a physical location in the host memory, but is not itself a memory address and is not itself a virtual memory address.