Patent ID: 7826350

Claim:
A method of operating a host and an intelligent network adaptor, the host executing an operating system and coupled to a network via the intelligent network adaptor, the host configured to execute applications such that, for each application, the host is configured to receive application payload data from a peer via the network and the intelligent network adaptor using a stateful connection between the host and the peer according to a connection-oriented protocol, wherein the intelligent network adaptor performs protocol processing of the connection, the method comprising: for a particular connection between an application and a peer, based at least in part on a characteristic of an input request by the application configured to receive application payload data from the peer using that connection, determining whether to configure the intelligent network adaptor to provide received payload data corresponding to the request directly into host memory for consumption by the application; for the particular connection, determining a destination for the application payload data including determining whether the intelligent network adaptor has been configured for the particular connection such that payload data for the particular connection is to be provided from the intelligent network adaptor to host memory directly associated with the application, for consumption by the application, or is provided from the intelligent network adaptor to host memory that is not provided for consumption by the application; and performing protocol processing on packets received from the network and, for application payload data of packets determined to be for the particular connection, providing payload data for the particular connection from the intelligent network adaptor to host memory in accordance with a result of the determination, wherein: determining whether to configure the intelligent network adaptor to provide received payload data corresponding to the request directly into host memory for consumption by the application includes processing a request by the application for the application payload data; and determining whether to configure the intelligent network adaptor to provide received payload data corresponding to the request directly into host memory for consumption by the application includes processing an indication of a size of the memory associated with the request by the application.