IP Library › Granted Patent US 7,779,081
Granted Patent B2
US 7,779,081 · App. 10/893,708 · Granted Aug 17, 2010

Method, system, and program for forwarding messages between nodes

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,779,081
App. No.
10/893,708
Granted
Aug 17, 2010
Kind
B2
Abstract

Provided are a method, system, and program for forwarding a message from a transmitting node. A first message is received encoded using a first communication protocol from the transmitting node, wherein the first message includes a direct reference to a memory location in one node. A determination is made as to whether the first message is directed to a receiving node using a second communication protocol. A second message is generated that is compatible with the second communication protocol, wherein the second message causes an operation to be performed with respect to the direct reference in the first message. The second message is transmitted to the receiving node.

Claims (41)

1. An article of manufacture comprising at least one of hardware and a computer readable storage medium having code executed by a processor to implement a gateway for forwarding a message from a transmitting node to a receiving node and to perform operations, the operations comprising:

receiving a first message encoded using a first communication protocol from the transmitting node, wherein the first message includes a direct reference to a memory location in the transmitting node or the receiving node;

determining from a message mapping whether the first message maps to a corresponding message in a second communication protocol;

generating a second message compatible with a second communication protocol by converting the first message to the corresponding message in the second communication protocol in response to determining that the first message maps to the corresponding message, wherein the second message causes the receiving node to perform an operation with respect to the direct reference in the first message;

determining whether the first message is of a specified message type in response to determining that the message mapping does not have one corresponding message in the second communication protocol;

generating a third message, accessing the direct reference, and adding the accessed direct reference to the third message in response to determining that the first message is of the specified message type; and

transmitting the generated second or third message toward the receiving node.

2. The article of manufacture of claim 1 , wherein the direct reference in the first message is not included in the second message.

3. The article of manufacture of claim 1 , wherein the operations further comprise:

indicating an error if the first message is not of the specified type.

4. The article of manufacture of claim 1 , wherein the specified type of message comprises a message to invalidate the direct reference.

5. The article of manufacture of claim 1 , wherein the receiving node is the intended recipient of the first message, and wherein the direct reference is to a memory location in the transmitting or receiving node.

6. The article of manufacture of claim 1 , wherein the receiving node comprises an initiator node, wherein the transmitting node comprises a target node and wherein the first and second messages comprise a request to the initiator node to invalidate the direct reference to the memory location.

7. A system in communication with a transmitting node and a receiving node, comprising:

a gateway having at least one of hardware and a computer readable storage medium including code executed by a processor to implement a protocol convertor to perform:

receive a first message encoded using a first communication protocol from the transmitting node, wherein the first message includes a direct reference to a memory location in the transmitting node or the receiving node;

maintain a message mapping;

determine from the message mapping whether the first message maps to a corresponding message in a second communication protocol;

generate a second message compatible with a second communication protocol by converting the first message to the corresponding message in the second communication protocol in response to determining that the first message maps to the corresponding message, wherein the second message causes the receiving node to perform an operation with respect to the direct reference in the first message;

determine whether the first message is of a specified message type in response to determining that the message mapping does not have one corresponding message in the second communication protocol;

generate a third message, accessing the direct reference, and adding the accessed direct reference to the third message in response to determining that the first message is of the specified message type; and

transmit the generated second or third message toward the receiving node.

8. The system of claim 7 , wherein the direct reference in the first message is not included in the second message.

9. The system of claim 7 , wherein the protocol converter further performs:

indicating an error if the first message is not of the specified type.

10. The system of claim 7 , wherein the specified type of message comprises a message to invalidate the direct reference.

11. The system of claim 7 , wherein the receiving node is the intended recipient of the first message, and wherein the direct reference is to a memory location in the transmitting or receiving node.

12. The system of claim 7 , wherein the receiving node comprises an initiator node, wherein the transmitting node comprises a target node and wherein the first and second messages comprise a request to the initiator node to invalidate the direct reference to the memory location.

13. A method for a gateway to forward a message from a transmitting node to a receiving node, comprising:

receiving a first message encoded using a first communication protocol from the transmitting node, wherein the first message includes a direct reference to a memory location in the transmitting node or the receiving node;

determining from a message mapping whether the first message maps to a corresponding message in a second communication protocol;

generating a second message compatible with a second communication protocol by converting the first message to the corresponding message in the second communication protocol in response to determining that the first message maps to the corresponding message, wherein the second message causes the receiving node to perform an operation with respect to the direct reference in the first message;

determining whether the first message is of a specified message type in response to determining that the message mapping does not have one corresponding message in the second communication protocol;

generating a third message, accessing the direct reference, and adding the accessed direct reference to the third message in response to determining that the first message is of the specified message type; and

transmitting the generated second or third message toward the receiving node.

14. The method of claim 13 , wherein the direct reference in the first message is not included in the second message.

15. The method of claim 13 , further comprising:

indicating an error if the first message is not of the specified type.

16. The method of claim 13 , wherein the specified type of message comprises a message to invalidate the direct reference.

17. The method of claim 13 , wherein the receiving node is the intended recipient of the first message, and wherein the direct reference is to a memory location in the transmitting or receiving node.

18. The method of claim 13 , wherein the receiving node comprises an initiator node, wherein the transmitting node comprises a target node and wherein the first and second messages comprise a request to the initiator node to invalidate the direct reference to thememory location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2004
From: HUFFERD, JOHN LEWIS
To: INTERNATIONAL BUSINESS CORPORATION
Reel/Frame 015198/0565 →
Continuity (1)
Related Publication 20060013253A1 · Jan 19, 2006