Patent ID: RE45070

Claim:
A method for transferring data on a network from a data source to an end station executing a multi-layer network protocol, including a network layer and at least one higher layer, through a network interface on the end station, comprising: receiving in the network interface of the end station, from the at least one higher layer, a flow specification comprising an identifier of a protocol suite and an identifier of a block of data to be requested from the data source; prior to receiving a first packet of a plurality of packets, wherein the plurality of packets includes the block of data, responsive to a request for the block of data, allocating a target buffer assigned by a process at a layer higher than the network layer for storing the block of data and notifying the network interface of the allocated target buffer; receiving in the network interface a the first packet which carries a data payload from a the block of data in the data source, and a control field identifying the first packet; and determining in the network interface whether the first packet carries a payload with at least a portion of the block of data based on matching the control field in the network interface whether the packet matches a with the identifier of the block of data in the flow specification, and if so transferring the data payload in the first packet directly to a the target buffer assigned by a process at a layer higher than the network layer based exclusively on the matching .