IP Library Granted Patent US 10,803,014
Granted Patent B2
US 10,803,014 · App. 15/663,526 · Granted Oct 13, 2020

Dynamic data relationships in a graph database

Inventors: Lucky Ratanlal Jain (Jersey City, NJ); Osman Ozdemir (East Northport, NY); Adrian Michael Garza (New York, NY); Dennis Peter Mohan (New York, NY); Shia Kaufman (New York, NY); Meir Rosner (New York, NY); Siobhan Loughman Sabino (Manalapan, NJ); Kuntal Roy (North Brunswick, NJ); Michael Hirawady (Florham Park, NJ)
Assignee: ADP, LLC
G06F16/164G06F16/2228G06F16/248G06F16/9024G06Q10/063112
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 10,803,014
App. No.
15/663,526
Granted
Oct 13, 2020
Kind
B2
Abstract

Improving data retrieval by a computer, the data stored exclusively in the computer as a structure comprising a plurality of nodes connected by edges, wherein the edges indicate relationships among the plurality of nodes, and wherein the structure further comprise properties which store information that relate to the plurality of nodes. Metadata is stored as part of the structure, the metadata defining rules for updating the relationships among the plurality of nodes. A command is received to update at least one of the nodes, the edges, or the properties. The at least one of the nodes, the edges, or the properties, are updated according to the rules defined by the metadata.

Claims (120)

1. A computer-implemented method comprising:

improving retrieval of data by a computer:

storing metadata as part of a structure, wherein:

the structure comprises:

a plurality of nodes connected by edges; and

properties which store information relating to the plurality of nodes; and

the metadata defines rules for updating relationships among the plurality of nodes including defining rules for both triggering changes among the nodes, the edges or the properties, and starting capture and maintaining of additional data provided to the structure;

receiving a command to update at least two of:

at least one of the nodes;

at least one of the edges; or

at least one of the properties; and

responsive to receiving the command, automatically updating the at least one of the nodes, the at least one of the edges, or the at least one of the properties, and further updating at least one other of the nodes, the at least one of the edges, or the at least one of the properties according to the rules defined by the metadata, wherein a first node's relationship to a second node is dynamically adjusted by updating a linkage between the first node and the second node based on a property value of the first node and the rules for both triggering changes among the nodes, the edges or the properties, and starting capture and maintaining of additional data provided to the structure; and

defining the structure comprising:

defining a grant assigned to a node, wherein:

the grant is an object that has a relationship to a node that is applied to all participants of the node; and

the participants represent a type of actor in the structure that has a relationship to the node; and

defining a relationships type for the node, wherein the relationship type comprises a property of a relationship between two objects in the structure that defines the relationship itself,

wherein:

the structure is stored exclusively in the computer;

the edges indicate relationships among the plurality of nodes;

the structure further comprises the properties, which store information relating to the plurality of nodes;

the structure stores first information about a team, second information about a plurality of members of the team, and third information about a plurality of additional individuals;

the first information includes requirements for being on the team;

the second information includes skills of the plurality of members of the team; and

the third information includes skills of the plurality of additional individuals, and the method further comprises:

receiving an update to at least one of: the requirements for the team, ones of the second information about the plurality of members of the team, or ones of the third information including skills of the plurality of additional individuals; and

automatically adding ones of the plurality of additional individuals to the team based on the metadata, or automatically subtracting ones of the plurality of members of the team based on the metadata.

2. The computer-implemented method of claim 1 , wherein:

automatically updating further comprises dynamically linking a first node to another node in the structure according to the rules in the metadata based on a property value of one of the first node and the second node; and

the first node and the second node are not connected by an edge prior to automatic updating.

3. The computer-implemented method of claim 2 further comprising:

receiving a change to the property value; and

automatically updating, based on the rules and the change, at least some edges between the nodes.

4. The computer-implemented method of claim 1 further comprising:

receiving or generating additional metadata;

automatically consuming the additional metadata; and

automatically updating the structure based on the additional metadata.

5. The computer-implemented method of claim 1 further comprising:

dynamically consuming node-to-node relationship definitions in the structure using the metadata.

6. The computer-implemented method of claim 1 further comprising:

automatically adjusting at least one node relationship to another node based on dynamically receiving changing property values of the another node.

7. The computer-implemented method of claim 1 , wherein defining the structure comprises:

defining a grant assigned to a node, wherein:

the grant is an object that has a relationship to a node that is applied to all participants of the node; and

the participants represent a type of actor in the structure that has a relationship to the node.

8. The computer-implemented method of claim 7 , wherein defining the structure further comprises:

defining a relationship type for the node, wherein the relationship type comprises a property of a relationship between two objects in the structure that defines the relationship itself.

9. The computer-implemented method of claim 1 further comprising:

defining the metadata.

10. The computer-implemented method of claim 9 , wherein defining the metadata comprises:

defining rules for triggering changes among the nodes, the edges, or the properties.

11. The computer-implemented method of claim 10 , wherein defining the metadata further comprises:

defining rules for starting capture and maintaining additional data provided to the structure.

12. The computer-implemented method of claim 1 further comprising:

automatically notifying individuals of new team assignments based on automatic addition, subtraction, or removal.

13. The computer-implemented method of claim 1 further comprising:

periodically traversing, by the computer, the structure for changes to the metadata, wherein automatic updating includes updating the structure periodically.

14. A computer comprising:

a processor; and

a non-transitory, computer-recordable storage medium including instructions for improving data retrieval, wherein:

the data is stored exclusively as a structure comprising a plurality of nodes connected by edges;

the edges indicate relationships among the plurality of nodes;

the structure further comprises properties which store information relating to the plurality of nodes; and

the instructions comprise:

first program code for storing metadata as part of the structure, wherein the metadata defines rules for updating the relationships among the plurality of nodes including defining rules for both triggering changes among the nodes, the edges or the properties, and starting capture and maintaining of additional data provided to the structure;

second program code for receiving a command to update at least two of at least one of the nodes, at least one of the edges, or at least one of the properties; and

third program code for, responsive to receiving the command, automatically updating the at least one of the nodes, the at least one of the edges, or the at least one of the properties, and further updating at least one other of the at least one of the nodes, the at least one of the edges, or the at least one of the properties according to the rules defined by the metadata, wherein a first node's relationship to a second node is dynamically adjusted by updating a linkage between the first node and the second node based on a property value of the first node and the rules for both triggering changes among the nodes, the edges or the properties, and starting capture and maintaining of additional data provided to the structure; and

fourth program code for defining the structure comprising:

defining a grant assigned to a node, wherein:

 the grant is an object that has a relationship to a node that is applied to all participants of the node; and

 the participants represent a type of actor in the structure that has a relationship to the node; and

defining a relationships type for the node, wherein the relationship type comprises a property of a relationship between two objects in the structure that defines the relationship itself,

wherein:

the structure is stored exclusively in the computer;

the edges indicate relationships among the plurality of nodes;

the structure further comprises the properties, which store information relating to the plurality of nodes;

the structure stores first information about a team, second information about a plurality of members of the team, and third information about a plurality of additional individuals;

the first information includes requirements for being on the team:

the second information includes skills of the plurality of members of the team; and

the third information includes skills of the plurality of additional individuals, and

the instructions further comprise:

fifth program code for receiving an update to at least one of: the requirements for the team, ones of the second information about the plurality of members of the team, or ones of the third information including skills of the plurality of additional individuals; and

sixth program code for automatically adding ones of the plurality of additional individuals to the team based on the metadata, or automatically subtracting ones of the plurality of members of the team based on the metadata.

15. The computer of claim 14 further comprising:

seventh program code for defining the metadata.

16. The computer of claim 15 , wherein defining the metadata comprises:

defining rules for triggering changes among the nodes, the edges, or the properties.

17. The computer of claim 16 , wherein defining the metadata further comprises:

defining rules for starting capture and maintaining additional data provided to the structure.

18. A computer program product comprising:

a computer-readable storage media including instructions for dynamically updating a data structure, wherein:

the data structure comprises a plurality of nodes connected by edges;

the edges indicate relationships among the plurality of nodes;

the data structure further comprises properties which store information relating to the plurality of nodes; and

the instructions comprise:

first program code for storing, by a computer, metadata as part of the data structure, wherein the metadata defines rules for updating the relationships among the plurality of nodes including defining rules for both triggering changes among the nodes, the edges, or the properties, and starting capture and maintaining of additional data provided to the structure;

second program code for receiving, by the computer, a command to update at least two of at least one of the nodes, at least one of the edges, or at least one of the properties; and

third program code for, responsive to receiving the command, automatically updating, by the computer, the at least one of the at least one of the nodes, the at least one of the edges, or the at least one of the properties, and further updating, by the computer, at least one other of the at least one of the nodes, the at least one of the edges, or the at least one of the properties according to the rules defined by the metadata, wherein a first node's relationship to a second node is dynamically adjusted by updating a linkage between the first node and the second node based on a property value of the first node and the rules for both triggering changes among the nodes, the edges or the properties, and starting capture and maintaining of additional data provided to the structure; and

fourth program code for defining the structure comprising:

defining a grant assigned to a node, wherein:

 the grant is an object that has a relationship to a node that is applied to all participants of the node; and

 the participants represent a type of actor in the structure that has a relationship to the node; and

defining a relationships type for the node, wherein the relationship type comprises a property of a relationship between two objects in the structure that defines the relationship itself,

wherein:

the structure is stored exclusively in the computer;

the edges indicate relationships among the plurality of nodes;

the structure further comprises the properties, which store information relating to the plurality of nodes;

the structure stores first information about a team, second information about a plurality of members of the team, and third information about a plurality of additional individuals;

the first information includes requirements for being on the team;

the second information includes skills of the plurality of members of the team; and

the third information includes skills of the plurality of additional individuals, and

the instructions further comprise:

fifth program code for receiving an update to at least one of: the requirements for the team, ones of the second information about the plurality of members of the team, or ones of the third information including skills of the plurality of additional individuals; and

sixth program code for automatically adding ones of the plurality of additional individuals to the team based on the metadata, or automatically subtracting ones of the plurality of members of the team based on the metadata.

19. The computer program product of claim 18 further comprising:

seventh program code for defining the metadata.

20. The computer program product of claim 19 , wherein defining the metadata comprises:

defining rules for triggering changes among the nodes, the edges, or the properties.

21. The computer program product of claim 20 , wherein defining the metadata further comprises:

defining rules for starting capture and maintaining additional data provided to the structure.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2017
From: JAIN, LUCKY RATANLAL; OZDEMIR, OSMAN; GARZA, ADRIAN MICHAEL; MOHAN, DENNIS PETER; KAUFMAN, SHIA; ROSNER, MEIR; SABINO, SIOBHAN LOUGHMAN; ROY, KUNTAL; HIRAWADY, MICHAEL
To: ADP, LLC
Reel/Frame 043399/0976 →
Continuity (1)
Related Publication 20190034425A1 · Jan 31, 2019