IP Library Granted Patent US 11,397,713
Granted Patent B2
US 11,397,713 · App. 16/674,100 · Granted Jul 26, 2022

Historical graph database

Inventors: Robby Maharajh (South Richmond Hill, NY); William Reehil (Jackson, NJ); Soumya Naik (Freehold, NJ); Harish Venkata Kajur (Piscataway, NJ); Manisha Aggarwal (Marlboro, NJ)
Assignee: AT&T Intellectual Property I, L.P.
G06F16/219G06F16/9024G06F16/90335
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,397,713
App. No.
16/674,100
Granted
Jul 26, 2022
Kind
B2
Abstract

A processing system including at least one processor may be maintain an historical graph database storing historical graph state information for a graph including a set of elements, where the historical graph state information includes, for each element, respective element state information and respective state version tracking information for the respective element. The processing system may receive an event indicative of a management action associated with a first element, where the first element may include a new element to be added to the graph or an existing element of the set of elements. The processing system may update, based on the event, the historical graph state information of the historical graph database, where the updating may include providing respective state version tracking information for the first element, and handle, based on the historical graph database, a query to retrieve a set of information of the graph.

Claims (56)

1. A method, comprising:

maintaining, by a processing system including at least one processor, an historical graph database storing historical graph state information for a graph including a set of elements, wherein the historical graph state information includes, for each element in the set of elements, respective element state information for the respective element and respective state version tracking information for the respective element;

receiving, by the processing system, an event indicative of a management action associated with a first element, wherein the first element comprises a new element to be added to the graph or an existing element of the set of elements;

updating, by the processing system based on the event indicative of the management action associated with the first element, the historical graph state information of the historical graph database, wherein the updating includes providing respective state version tracking information for the first element; wherein the updating the historical graph state information of the historical graph database further includes:

performing a determination as to whether the first element is dependent on a second element associated with a second event; and

updating based on the determination as to whether the first element is dependent on the second element, the historical graph state information of the historical graph database; and

handling, by the processing system based on the historical graph database, a query to retrieve a set of information of the graph.

2. The method of claim 1 , wherein, for at least one element in the set of elements of the graph, the respective state version tracking information for the respective element includes:

timestamp information associated with the respective element state information for the respective element; and

source of truth information associated with the respective element state information for the respective element.

3. The method of claim 2 , wherein the timestamp information includes a starting timestamp and an ending timestamp, wherein the source of truth information includes a starting source of truth and an ending source of truth.

4. The method of claim 1 , wherein the event indicative of the management action associated with the first element is received based on a subscription to an event bus associated with a graph database for the graph.

5. The method of claim 1 , wherein the management action comprises a create action and the first element is the new element for the graph, wherein updating the historical graph state information of the historical graph database comprises:

providing new element state information for the first element; and

providing new state version tracking information for the new element state information for the first element.

6. The method of claim 5 , wherein the new state version tracking information comprises at least one of a starting timestamp or a starting source of truth.

7. The method of claim 1 , wherein the management action comprises an update action and the first element is the existing element of the set of elements, wherein updating the historical graph state information of the historical graph database comprises:

updating existing element state information for the first element; and

providing updated state version tracking information for the existing element state information for the first element.

8. The method of claim 7 , wherein the updated state version tracking information comprises at least one of a starting timestamp or a starting source of truth.

9. The method of claim 1 , wherein the management action comprises a delete action and the first element is the existing element of the set of elements, wherein updating the historical graph state information of the historical graph database comprises:

providing updated state version tracking information for existing element state information for the first element.

10. The method of claim 9 , wherein the updated state version tracking information comprises at least one of an ending timestamp or an ending source of truth.

11. The method of claim 1 , wherein the query to retrieve the set of information of the graph comprises a query for a state of one of the elements of the set of elements at one or more points in time.

12. The method of claim 1 , wherein the query to retrieve the set of information of the graph comprises a query for a set of updates on one of the elements of the set of elements since a point in time.

13. The method of claim 1 , wherein the query to retrieve the set of information of the graph comprises a query for a set of updates on one of the elements of the set of elements over a lifecycle of the one of the elements.

14. The method of claim 1 , wherein the handling the query to retrieve the set of information of the graph comprises:

receiving, by the processing system, the query to retrieve the set of information of the graph; and

providing, by the processing system using the historical graph database, a query response including the set of information of the graph.

15. The method of claim 1 , wherein the updating the historical graph state information of the historical graph database based on the determination as to whether the first element is dependent on the second element comprises:

processing, by the processing system based on a determination that the first element is not dependent on the second element, the event indicative of the management action associated with the first element.

16. The method of claim 1 , wherein the updating the historical graph state information of the historical graph database based on the determination as to whether the first element is dependent on the second element comprises:

updating, by the processing system based on a determination that the first element is dependent on the second element, the historical graph state information to include a placeholder for the first element; and

performing, by the processing system based on a determination that handling of the second event has been completed and based on the placeholder for the first element, a processing of the event indicative of the management action associated with the first element.

17. The method of claim 1 , wherein the updating the historical graph state information of the historical graph database based on the determination as to whether the first element is dependent on the second element comprises:

delaying, by the processing system based on a determination that the first element is dependent on the second element, a processing of the event indicative of the management action associated with the first element; and

performing, by the processing system based on a determination that handling of the second event has been completed, the processing of the event indicative of the management action associated with the first element.

18. An apparatus comprising:

a processing system including at least one processor; and

a non-transitory computer-readable medium storing instructions which, when executed by the processing system, cause the processing system to perform operations, the operations comprising:

maintaining an historical graph database storing historical graph state information for a graph including a set of elements, wherein the historical graph state information includes, for each element in the set of elements, respective element state information for the respective element and respective state version tracking information for the respective element;

receiving an event indicative of a management action associated with a first element, wherein the first element comprises a new element to be added to the graph or an existing element of the set of elements;

updating, based on the event indicative of the management action associated with the first element, the historical graph state information of the historical graph database, wherein the updating includes providing respective state version tracking information for the first element, wherein the updating the historical graph state information of the historical graph database further includes:

performing a determination as to whether the first element is dependent on a second element associated with a second event; and

updating based on the determination as to whether the first element is dependent on the second element, the historical graph state information of the historical graph database; and

handling, based on the historical graph database, a query to retrieve a set of information of the graph.

19. A non-transitory computer-readable medium storing instructions which, when executed by a processing system including at least one processor, cause the processing system to perform operations, the operations comprising:

maintaining an historical graph database storing historical graph state information for a graph including a set of elements, wherein the historical graph state information includes, for each element in the set of elements, respective element state information for the respective element and respective state version tracking information for the respective element;

receiving an event indicative of a management action associated with a first element, wherein the first element comprises a new element to be added to the graph or an existing element of the set of elements;

updating, based on the event indicative of the management action associated with the first element, the historical graph state information of the historical graph database, wherein the updating includes providing respective state version tracking information for the first element, wherein the updating the historical graph state information of the historical graph database further includes:

performing a determination as to whether the first element is dependent on a second element associated with a second event; and

updating based on the determination as to whether the first element is dependent on the second element, the historical graph state information of the historical graph database; and

handling, based on the historical graph database, a query to retrieve a set of information of the graph.

20. The non-transitory computer-readable medium of claim 19 , wherein, for at least one element in the set of elements of the graph, the respective state version tracking information for the respective element includes:

timestamp information associated with the respective element state information for the respective element; and

source of truth information associated with the respective element state information for the respective element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2019
From: MAHARAJH, ROBBY; REEHIL, WILLIAM; NAIK, SOUMYA; KAJUR, HARISH VENKATA; AGGARWAL, MANISHA
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 050914/0893 →
Continuity (1)
Related Publication 20210133170A1 · May 6, 2021
Cited By (1)
US 12,705,282