Method and system for transmitting an application message between nodes of a clustered data processing system
AssigneeInternational Business Machines Corporation
InventorsPaul N. CASHMAN, Carlos FUENTE, William J. SCALES
Life of this patent
Estimating the term…
Abstract
Systems for transmitting an application message between nodes of a clustered data processing system are disclosed. One system includes a determination of whether one or more application messages may currently be transmitted to a first node of a plurality of nodes from a second node of the plurality of nodes. The system further includes processing the one or more application messages in response to a determination that the one or more application messages may be currently transmitted.
Claims17
A system for communicating an application message between a plurality of nodes, comprising:
- a first buffer;
- a second buffer;
- a sending node associated and in communication with the second buffer;
- and
- a receiving node in communication with the sending node and associated and in communication with the first buffer, the receiving node configured for:
- preparing the first buffer for receiving application messages,
- transmitting a read request to the sending node, wherein:
- the read request is transmitted in response to the first buffer being prepared for receiving messages, and
- the read request comprises a reference to the first buffer, and
- commanding the sending node to transmit one or more application messages to the first buffer,
- the sending node configured for:
- receiving the read request,
- determining, at a first time, whether the second buffer comprises the one or more application messages for transmittal to the receiving node in response to a receipt of the read request, and
- immediately processing the read request if the second buffer comprises the one or more application messages at the first time, wherein processing the read request comprises:
- transmitting an application message of the one or more application messages from the sending node to the receiving node in response to a determination that the second buffer comprises the one or more application messages, the application message specifying that the first buffer is a destination of the application message,
- recording data indicating that the read request from the receiving node has been received at the sending node in response to a determination that the second buffer does not comprise the one or more application messages, and
- suspending processing of the read request until the second buffer comprises the one or more application messages if the second buffer does not comprise the one or more application messages at the first time.
A non-transitory computer storage medium including a computer program product for communicating an application message between a plurality of nodes of a data processing system cluster, the computer storage medium comprising:
- computer code for determining, at a first time, whether one or more application messages for transmittal from the sending node to the receiving may be currently transmitted, wherein the computer code for determining comprises:
- computer code for preparing, by a receiving node of the plurality of nodes, a first buffer associated with the receiving node for receiving application messages, and
- computer code for transmitting, by the receiving node, a read request to a sending node of the plurality of nodes, wherein:
- the read request is transmitted in response to the first buffer being prepared for receiving messages, and
- the read request comprises a reference to the first buffer and commanding the sending node to transmit one or more application messages to the first buffer;
- computer code for determining whether a second buffer associated with the sending node comprises the one or more application messages in response to a receipt, at the sending node, of the read request;
- computer code for determining whether the first buffer includes a sufficient amount of available memory for storing the one or more application messages;
- computer code for determining whether the read request has been received at the sending node;
- computer code for immediately processing the one or more application messages if the second buffer comprises the one or more application messages at the first time;
- computer code for recording, at the sending node, the read request until the second buffer comprises the one or more application messages if the second buffer does not comprise the one or more application messages at the first time;
- computer code for determining, at a second time, that the second buffer comprises the one or more application messages;
- and
- computer code for processing the read request in response to the determining at the second time.
A system for communicating an application message between a plurality of nodes, comprising:
- a first buffer;
- a second buffer;
- a sending node associated and in communication with the second buffer;
- and
- a receiving node in communication with the sending node and associated and in communication with the first buffer, the receiving node configured for:
- preparing the first buffer for receiving data,
- transmitting a read request to the sending node, wherein:
- the read request is transmitted in response to the first buffer being prepared for receiving data, and
- the read request comprises a reference to the first buffer and requesting the sending node to transmit data to the first buffer;
- the sending node configured for:
- receiving the read request,
- determining if the second buffer includes the requested data,
- immediately processing the read request at a first time if the second buffer includes the requested data,
- transmitting the requested data to the first buffer when the read request is processed at the first time,
- recording the read request if the second buffer does not comprise the requested data at the first time, and
- suspending processing of the read request, in the sending node, until the second buffer comprises the requested data if the second buffer does not comprise the requested data at the first time.
Dependencies are inferred from the claim text.