Mechanism for completing messages in memory
First Claim
1. A system of transmitting messages between a client process and a remote process, comprising:
- a system area network providing a communications channel between the client process and the remote process;
a first channel adapter forming an interface between the client process and the communications channel, the first channel adapter being configured to receive a message from the client process, segment the message into a series of packets, assign a sequence number to each packet, and place the packets in order on the communications channel; and
a second channel adapter forming an interface between the remote process and the communications channel, the second channel adapter being configured to receive packets from the communications channel and send at least one acknowledgement message to the first channel adapter in response to the received packets, the acknowledgement message having a packet sequence number field containing a packet sequence number and a payload containing a message sequence number, wherein the message sequence number identifies a complete message last received at the second channel adapter and the packet sequence number identifies a packet last received at the second channel adapter.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for transmitting messages between two processes includes creating a communications channel between a first channel adapter coupled to a client process and a second channel adapter coupled to a remote process. The method further includes reading a request message at the first channel adapter, segmenting the request message into a series of packets, assigning a sequence number to each packet, and transmitting the packets in order to the second channel adapter through the communications channel. The method further includes receiving the packets at the second channel adapter and sending at least one acknowledgement message to the first channel adapter in response to the received packets. The acknowledgement message has a packet sequence number field containing a packet sequence number and a payload containing a message sequence number, wherein the message sequence number identifies a complete message last received at the second channel adapter and the packet sequence number identifies a packet last received at the second channel adapter.
102 Citations
16 Claims
-
1. A system of transmitting messages between a client process and a remote process, comprising:
-
a system area network providing a communications channel between the client process and the remote process;
a first channel adapter forming an interface between the client process and the communications channel, the first channel adapter being configured to receive a message from the client process, segment the message into a series of packets, assign a sequence number to each packet, and place the packets in order on the communications channel; and
a second channel adapter forming an interface between the remote process and the communications channel, the second channel adapter being configured to receive packets from the communications channel and send at least one acknowledgement message to the first channel adapter in response to the received packets, the acknowledgement message having a packet sequence number field containing a packet sequence number and a payload containing a message sequence number, wherein the message sequence number identifies a complete message last received at the second channel adapter and the packet sequence number identifies a packet last received at the second channel adapter.
-
-
2. A system of transmitting messages between a client process and a remote process, the client process having a work queue in which instructions to be executed by a communications interface are placed, the work queue comprising a send work queue in which messages to be sent to the remote process are placed, the system comprising:
-
a system area network providing a communications channel between the client process and the remote process;
a first channel adapter forming an interface between the client process and the communications channel, the first channel adapter being configured to read a message from the send work queue, segment the message into a series of packets, assign a sequence number to each packet, and place the packets in order on the communications channel; and
a second channel adapter forming an interface between the remote process and the communications channel, the second channel adapter being configured to receive packets from the communications channel and send at least one acknowledgement message to the first channel adapter in response to the received packets, the acknowledgement message having a packet sequence number field containing a packet sequence number and a payload containing a message sequence number, wherein the message sequence number identifies a complete message last received at the second channel adapter and the packet sequence number identifies a packet last received at the second channel adapter. - View Dependent Claims (3)
-
-
4. A method of transmitting messages between two processes, comprising:
-
creating a communications channel between a first channel adapter coupled to a client process and a second channel adapter coupled to a remote process;
at the first channel adapter, reading a request message from the client process, segmenting the request message into a series of packets, assigning a sequence number to each packet, and transmitting the packets in order to the second channel adapter through the communications channel; and
at the second channel adapter, receiving the packets from the first channel adapter and sending at least one acknowledgement message to the first channel adapter in response to the received packets, the acknowledgement message having a packet sequence number field containing a packet sequence number and a payload containing a message sequence number, wherein the message sequence number identifies a complete message last received at the second channel adapter and the packet sequence number identifies a packet last received at the second channel adapter. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification