Patent ID: 7779178

Claim:
A method comprising: examining a data buffer that is a target for data received over a communication channel, wherein the examining is performed in response to a request for the data from a requester application executing via a processor, wherein the examining is performed by the processor during an execution context of the processor which is for the requester application; based on the examining the data buffer, the processor determining if sufficient data has been received in the data buffer for the request; where sufficient data has not been determined to be received in the data buffer for the request: polling a network device associated with the communication channel, the polling including: the processor sending a query to the network device for available data that has arrived over the communication channel but which its arrival has not yet been announced via a pending interrupt, and the processor receiving the available data in response to the query, wherein any blocking of the execution context subsequent to the examining the data buffer is not performed until after the polling, processing the received available data without issuing an interrupt notifying of its arrival, discharging the pending interrupt for announcing arrival of the available data in response to the processing, and returning at least a portion of the available data to the requester; and where sufficient data has been determined to be received in the data buffer for the request, returning the data to the requestor.