Patent ID: 7418516

Claim:
A system for transferring data to a receiving application in a computer environment, comprising: a sending application configured to provide data to the receiving application; one or more transmission buffers for buffering data provided by the sending application; one or more message buffers to hold messages sent to and received from the receiving application; a transport provider configured to: transfer data to the receiving application in blocks of data exceeding a threshold size using direct memory access read operations if the receiving application posts a receive buffer that exceeds the threshold size when posting a send for a pre-selected number of initial data blocks; if the receive buffer is posted at a time prior to a time at which the send was posted, send data and a Remote Direct Memory Access (RDMA) receive advertisement in a message if a send buffer posted by the receiving application is of a size below the threshold size and data or RDMA Read information has not been received; if the send is posted prior to the receive buffer: copy data to a send buffer having sufficient space to include a receive advertisement in a message header when a small send occurs; within a specified time limit, insert the receive advertisement in the message header if the receiving application posts a receive buffer exceeding the threshold size; and send the message.