Patent ID: 8706927

Claim:
Method for the transmission of data between a first memory allocated to a source computer and a second memory allocated to a target computer via a network by remote direct memory access wherein, on the source computer side, a predetermined number of directly consecutive transmission buffers is selected from a registered continuous buffer memory area and transmitted in a single remote direct memory access (RDMA) data transfer to the target computer and wherein, on the target computer side, a buffer sequence procedure is executed which causes the received data from the transmission buffers to be supplied to the target application in the transmitted sequence, the method comprising: provisioning of the transmission buffers from the registered continuous buffer memory area on the part of the transmission application and the receiving application; inserting transmission buffers into an asynchronous transmission buffer queue; searching a predetermined number of continuous transport buffers in the asynchronous transmission buffer queue based on the respective memory number in each administrative data structure through a transmission processing thread; transmitting of the memory address of the first transport buffer, together with the value for the length of the buffer memory area selected in the preceding step, for the predetermined number of transport buffers and the corresponding sequence numbers from source computer to target computer in a first RDMA info packet; performing an asynchronous receiving operation; reading the RDMA, comprising reading the receipt of the first RDMA info packet, reading the determination of the required number of continuous receiving buffers from an asynchronous receiving buffer queue and the execution of an RDMA read operation to transmit the data from all participating transmission buffers to the receiving buffers; confirming a read complete following upon a successful RDMA read operation in which an RDMA read complete message is transmitted to the source computer; assigning, following a successful RDMA transport, the receiving buffers the appropriate sequence numbers and the receiving buffers are lined in sequence in a receiving buffer completion queue; and completing the receiving buffers for the user application.