IP Library Granted Patent US 9,009,214
Granted Patent B2
US 9,009,214 · App. 12/342,691 · Granted Apr 14, 2015

Management of process-to-process inter-cluster communication requests

Inventors: Ravi K. Arimilli (Austin, TX); Piyush Chaudhary (Highland, NY)
Assignee: International Business Machines Corporation
H04L12/40013H04L29/08135H04L67/1097H04L69/32H04L67/10
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 9,009,214
App. No.
12/342,691
Granted
Apr 14, 2015
Kind
B2
Abstract

A mechanism is provided for managing a process-to-process inter-cluster communication request. A call from a first application is received in a first operating system in a first data processing system. The first operating system passes the call from the first operating system to a first host fabric interface controller in the first data processing system without processing the call. The first host fabric interface processes the call to determine a second data processing system in the plurality of data processing systems with which the call is associated, wherein the call is processed by the first host fabric interface without intervention by the first operating system. The first host fabric interface initiates an inter-cluster connection to a second host fabric interface in the second data processing. The call is then transferred to the second host fabric interface in the second data processing system via the inter-cluster connection.

Claims (48)

1. A method, in a plurality of data processing systems, for managing a process-to-process inter-cluster communication request, the method comprising:

receiving, from a first application, a call in a first operating system in a first data processing system of the plurality of data processing systems;

passing, by the first operating system, the call from the first operating system to a first host fabric interface controller in the first data processing system without processing the call;

processing, by the first host fabric interface controller, the call to determine a second data processing system in the plurality of data processing systems with which the call is associated, wherein the call is processed by the first host fabric interface controller without intervention by the first operating system;

initiating, by the first host fabric interface controller, an inter-cluster connection to a second host fabric interface controller in the second data processing via a set of integrated switch/routers, a set of network interface controllers, and a network; and

transferring the call to the second host fabric interface controller in the second data processing system via the inter-cluster connection, wherein the call is a request to communicate with a second operating system associated with a second application in the second data processing system and wherein the second operating system allocates a shared buffer in the second data processing system in response to the request without any involvement by the second application.

2. The method of claim 1 , wherein the first host fabric interface controller processes the call using state information associated with the call.

3. The method of claim 1 , wherein the first host fabric interface controller uses a state program to identify the second data processing system to which the call is directed.

4. The method of claim 1 , further comprising:

transferring, by the first host fabric interface controller, data associated with the call from a network communications buffer in the first data processing system to a input/output buffer in a second operating system in the second data processing system.

5. The method of claim 4 , further comprising:

processing, by the second operating system, the call such that the data in the input/output buffer is sent to an input/output device coupled to the second operating system.

6. The method of claim 1 , further comprising:

transferring, by the first host fabric interface controller, data associated with the call from a network communications buffer in the first data processing system to the shared buffer in the second data processing system.

7. The method of claim 6 , further comprising:

processing, by the second operating system, the call such that the data in the shared buffer is communicated to the second application coupled to the second data processing system.

8. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

receive, from a first application, a call in a first operating system in a first data processing system of a plurality of data processing systems;

pass, by the first operating system, the call from the first operating system to a first host fabric interface controller in the first data processing system without processing the call;

process, by the first host fabric interface controller, the call to determine a second data processing system in the plurality of data processing systems with which the call is associated, wherein the call is processed by the first host fabric interface controller without intervention by the first operating system;

initiate, by the first host fabric interface controller, an inter-cluster connection to a second host fabric interface controller in the second data processing via a set of integrated switch/routers, a set of network interface controllers, and a network; and

transfer the call to the second host fabric interface controller in the second data processing system via the inter-cluster connection, wherein the call is a request to communicate with a second operating system associated with a second application in the second data processing system and wherein the second operating system allocates a shared buffer in the second data processing system in response to the request without any involvement by the second application.

9. The apparatus of claim 8 , wherein the first host fabric interface controller processes the call using state information associated with the call.

10. The apparatus of claim 8 , wherein the first host fabric interface controller uses a state program to identify the second data processing system to which the call is directed.

11. The apparatus of claim 8 , wherein the instructions further cause the processor to:

transfer, by the first host fabric interface controller, data associated with the call from a network communications buffer in the first data processing system to a input/output buffer in a second operating system in the second data processing system.

12. The apparatus of claim 11 , wherein the instructions further cause the processor to:

process, by the second operating system, the call such that the data in the input/output buffer is sent to an input/output device coupled to the second operating system.

13. The apparatus of claim 8 , wherein the instructions further cause the processor to:

transfer, by the first host fabric interface controller, data associated with the call from a network communications buffer in the first data processing system to the shared buffer in the second data processing system; and

process, by the second operating system, the call such that the data in the shared buffer is communicated to the second application coupled to the second data processing system.

14. A computer program product comprising a non-transitory computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:

receive, from a first application, a call in a first operating system in a first data processing system of a plurality of data processing systems;

pass, by the first operating system, the call from the first operating system to a first host fabric interface controller in the first data processing system without processing the call;

process, by the first host fabric interface controller, the call to determine a second data processing system in the plurality of data processing systems with which the call is associated, wherein the call is processed by the first host fabric interface controller without intervention by the first operating system;

initiate, by the first host fabric interface controller, an inter-cluster connection to a second host fabric interface controller in the second data processing via a set of integrated switch/routers, a set of network interface controllers, and a network; and

transfer the call to the second host fabric interface controller in the second data processing system via the inter-cluster connection, wherein the call is a request to communicate with a second operating system associated with a second application in the second data processing system and wherein the second operating system allocates a shared buffer in the second data processing system in response to the request without any involvement by the second application.

15. The computer program product of claim 14 , wherein the first host fabric interface controller processes the call using state information associated with the call.

16. The computer program product of claim 14 , wherein the first host fabric interface controller uses a state program to identify the second data processing system to which the call is directed.

17. The computer program product of claim 14 , wherein the computer readable program further causes the computing device to:

transfer, by the first host fabric interface controller, data associated with the call from a network communications buffer in the first data processing system to a input/output buffer in a second operating system in the second data processing system.

18. The computer program product of claim 17 , wherein the computer readable program further causes the computing device to:

process, by the second operating system, the call such that the data in the input/output buffer is sent to an input/output device coupled to the second operating system.

19. The computer program product of claim 14 , wherein the computer readable program further causes the computing device to:

transfer, by the first host fabric interface controller, data associated with the call from a network communications buffer in the first data processing system to the shared buffer in the second data processing system; and

process, by the second data processing system, the call such that the data in the shared buffer is communicated to the second application coupled to the second data processing system.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jan 14, 2010
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DARPA
Reel/Frame 023784/0046 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2008
From: ARIMILLI, RAVI K.; CHAUDHARY, PIYUSH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022042/0744 →
Continuity (1)
Related Publication 20100161704A1 · Jun 24, 2010