US 11,726,788 B2
Tuple checkout with notify in coordination namespace system
Philip Jacob, Congers, NY (US); Philip Neil Strenski, Yorktown Heights, NY (US); and Charles Johns, Austin, TX (US)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Dec. 18, 2019, as Appl. No. 16/719,397.
Prior Publication US 2021/0191727 A1, Jun. 24, 2021
Int. Cl. G06F 9/38 (2018.01); G06F 16/23 (2019.01)
CPC G06F 9/3838 (2013.01) [G06F 16/2365 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method for notifying one or more processes of a creation or removal event associated with a named data element (NDE) created in a coordination namespace, the one or more processes running at one or more distributed computing nodes sharing the coordination namespace, the method comprising:
generating, by a controller running at a computing node, a named data element (NDE) for a requesting process running at the computing node; the NDE comprising a tuple record associated with a keyname, the tuple record having a pointer to data associated with the process, the data being stored in a memory associated with the node, the controller generating a linked list of multiple tuple records corresponding to the keyname for multiple additional processes storing or accessing data that are running at one or more distributed computing nodes;
receiving, at the controller, from the requesting process and other requesting processes running at one or more distributed computing nodes, a corresponding request with notify message when accessing the stored associated data corresponding to a tuple record of the corresponding keyname;
generating, by the controller, responsive to each corresponding received request with notify message, a corresponding pending notification record for the requesting process, each pending notification record linked to a tuple record of the associated keyname and having information including a respective process identifier including a respective location for the respective requesting process to receive a notification of a creation or removal of the generated NDE associated with the keyname, the pending notification records stored as a linked list in the memory at the computing node;
detecting, by the controller, another process running at one or more of the distributed computing nodes creating a new named data element for the associated keyname or removing, by the another process, the generated named data element corresponding to the associated keyname for the local process;
in response to the detecting, identifying, by the controller, in each of the pending notification records of the linked list, the process identifier of each requesting process; and
communicating, by the controller, a notification message to each respective requesting process corresponding to the respective process identifier, the notification message indicating to the requesting process of the creating or removing of the generated NDE for the requesting process.