IP Library › Granted Patent US 11,288,208
Granted Patent B2
US 11,288,208 · App. 16/218,118 · Granted Mar 29, 2022

Access of named data elements in coordination namespace

Inventors: Ravi Nair (Briarcliff Manor, NY); Charles R. Johns (Austin, TX); James A. Kahle (Austin, TX); Changhoan Kim (Westchester, NY); Constantinos Evangelinos (Cambridge, MA); Patrick D. Siegl (White Plains, NY)
Assignee: International Business Machines Corporation
G06F12/1072G06F9/544G06F9/546G06F12/0284G06F12/0692G06F12/0824G06F12/1018G06F13/1663
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 11,288,208
App. No.
16/218,118
Granted
Mar 29, 2022
Kind
B2
Abstract

An approach is described that provides access to a named data element in a Coordination Namespace that is stored in a memory that is distributed amongst a set of nodes. A request of a name corresponding to the named data element is received from a requesting process and the approach responsively searches for the name in the Coordination Namespace. In response to determining an absence of data corresponding to the named data element, a pending state is indicated to the requesting process. In response to determining that the data corresponding to the named data element exists, a successful state is returned to the requesting process. In one embodiment, the successful state also includes providing the requesting process with access to the data corresponding to the named data element.

Claims (55)

1. A method that provides access to a named data element in a Coordination Namespace, the method comprising:

directly storing, by a local node included in a plurality of nodes, the named data element in a first memory location in the Coordination Namespace that is shared by the plurality of nodes, wherein each of the nodes is an information handling system that includes a processor and a memory, wherein the plurality of nodes include the local node and one or more remote nodes, wherein the Coordination Namespace is stored in the plurality of memories distributed amongst the plurality of nodes, and wherein the first memory location is included in one of the remote nodes;

receiving, from a requesting process, a request of a name corresponding to the named data element and responsively searching for the name in the Coordination Namespace;

in response to determining an absence of data corresponding to the named data element, returning a pending state to the requesting process; and

responsive to determining that the data corresponding to the named data element exists, returning a successful state to the requesting process.

2. The method of claim 1 wherein the determining the absence of data further comprises:

determining an absence of the named data element in the Coordination Namespace; and

responsively creating the named data element in the Coordination Namespace.

3. The method of claim 2 further comprising:

tracking the request received from the requesting process; and

responsively notifying the requesting process when data is written to a memory corresponding to the named data element.

4. The method of claim 1 further comprising:

returning the data corresponding to the named data element to the requesting process.

5. The method of claim 4 further comprising:

destroying the named data element from the Coordination Namespace after the data is returned to the requesting process.

6. The method of claim 1 wherein the receiving and determining are performed by a Coordination Namespace server that runs on at least one of the plurality of nodes and that manages the Coordination Namespace.

7. The method of claim 6 wherein the Coordination Namespace server returns a state to the requesting process, wherein the state is selected from the group consisting of the pending state and the successful state.

8. An information handling system (a local node) comprising:

one or more processors;

a memory coupled to one or more of the processors;

a network interface that connects the local node to one or more remote nodes, wherein each of the remote nodes includes at least one processor and a second memory; and

a set of computer program instructions that provide access to a named data element in a shared memory area that is shared amongst a plurality of nodes that includes the local node and the one or more remote nodes, wherein the local node's processors perform actions comprising:

directly storing, by the local node, the named data element in a first memory location in the Coordination Namespace that is shared by the plurality of nodes, wherein each of the nodes is an information handling system that includes a processor and a memory, wherein the plurality of nodes include the local node and one or more remote nodes, wherein the Coordination Namespace is stored in the plurality of memories distributed amongst the plurality of nodes, and wherein the first memory location is included in one of the remote nodes;

receiving, from a requesting process, a request of a name corresponding to a named data element that was previously stored by one of the plurality of nodes in a Coordination Namespace that is shared by the plurality of nodes, wherein the Coordination Namespace is stored in the plurality of memories distributed amongst the plurality of nodes;

responsively searching for the name in the Coordination Namespace;

in response to determining an absence of data corresponding to the named data element, returning a pending state to the requesting process; and

responsive to determining that the data corresponding to the named data element exists, returning a successful state to the requesting process.

9. The information handling system of claim 8 wherein the determining the absence of data further comprises:

determining an absence of the named data element in the Coordination Namespace; and

responsively creating the named data element in the Coordination Namespace.

10. The information handling system of claim 9 wherein the actions further comprise:

tracking the request received from the requesting process; and

responsively notifying the requesting process when data is written to a memory corresponding to the named data element.

11. The information handling system of claim 8 wherein the actions further comprise:

returning the data corresponding to the named data element to the requesting process.

12. The information handling system of claim 11 wherein the actions further comprise:

destroying the named data element from the Coordination Namespace after the data is returned to the requesting process.

13. The information handling system of claim 8 wherein the receiving and determining are performed by a Coordination Namespace server that runs on at least one of the plurality of nodes and that manages the Coordination Namespace.

14. The information handling system of claim 13 wherein the Coordination Namespace server returns a state to the requesting process, wherein the state is selected from the group consisting of the pending state and the successful state.

15. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system (a local node), performs actions that provide access to a named data element in a Coordination Namespace, wherein the actions further comprise:

directly storing, by local node included in a plurality of nodes, the named data element in a first memory location in the Coordination Namespace that is shared by the plurality of nodes, wherein each of the nodes is an information handling system that includes a processor and a memory, wherein the plurality of nodes include the local node and one or more remote nodes, wherein the Coordination Namespace is stored in the plurality of memories distributed amongst the plurality of nodes, and wherein the first memory location is included in one of the remote nodes;

receiving, from a requesting process, a request of a name corresponding to the named data element and responsively searching for the name in the Coordination Namespace;

in response to determining an absence of data corresponding to the named data element, returning a pending state to the requesting process; and

responsive to determining that the data corresponding to the named data element exists, returning a successful state to the requesting process.

16. The computer program product of claim 15 wherein the determining the absence of data further comprises:

determining an absence of the named data element in the Coordination Namespace; and

responsively creating the named data element in the Coordination Namespace.

17. The computer program product of claim 16 wherein the actions further comprise:

tracking the request received from the requesting process; and

responsively notifying the requesting process when data is written to a memory corresponding to the named data element.

18. The computer program product of claim 15 wherein the actions further comprise:

returning the data corresponding to the named data element to the requesting process.

19. The computer program product of claim 18 wherein the actions further comprise:

destroying the named data element from the Coordination Namespace after the data is returned to the requesting process.

20. The computer program product of claim 15 wherein the receiving and determining are performed by a Coordination Namespace server that runs on at least one of the plurality of nodes and that manages the Coordination Namespace, and wherein the Coordination Namespace server returns a state to the requesting process, wherein the state is selected from the group consisting of the pending state and the successful state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2018
From: NAIR, RAVI; JOHNS, CHARLES R.; KAHLE, JAMES A.; KIM, CHANGHOAN; EVANGELINOS, CONSTANTINOS; SIEGL, PATRICK D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047758/0825 →
Continuity (1)
Related Publication 20200192820A1 · Jun 18, 2020
Cited By (1)
US 12,554,652