IP Library › Granted Patent US 9,652,555
Granted Patent B2
US 9,652,555 · App. 14/935,444 · Granted May 16, 2017

Computing architecture for storing a graph database based on temporal aspects of its edges

Inventor: Sounil Yu (Reston, VA)
Assignee: Bank of America Corporation
G06F17/30958G06F17/30979
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,652,555
App. No.
14/935,444
Granted
May 16, 2017
Kind
B2
Abstract

Data specifying a new edge of a graph database may be received. A data store for storing the new edge may be identified from amongst a plurality of data stores utilized to store one or more portions of the graph database. Each of the plurality of data stores may be associated with a set of values corresponding to an aspect of edges of the graph database. The data store for storing the new edge may be identified based on the new edge being associated with a value corresponding to the aspect of edges of the graph database that is within a set of values corresponding to the aspect of edges of the graph database associated with the data store for storing the new edge.

Claims (49)

1. A method, comprising:

at a computing platform comprising at least one processor, a memory, and a communication interface:

receiving, via the communication interface, data specifying a new edge of a graph database, wherein the data specifying the new edge of the graph database comprises information identifying a first node of the graph database and a second node of the graph database, the new edge associating the first node of the graph database with the second node of the graph database; and

identifying, by the at least one processor and from amongst a plurality of data stores utilized to store one or more portions of the graph database, a data store for storing the new edge, wherein each of the plurality of data stores is associated with a set of values corresponding to an aspect of edges of the graph database, and wherein the data store for storing the new edge is identified based on the new edge being associated with a value corresponding to the aspect of edges of the graph database that is within a set of values corresponding to the aspect of edges of the graph database associated with the data store for storing the new edge,

wherein the aspect of the edges of the graph database is a time when nodes of the graph database were associated with one another, wherein a set of values corresponding to the aspect of edges of the graph database that is associated with at least one data store of the plurality of data stores comprises a time range, the time range comprising one or more past times, and wherein the plurality of data stores utilized to store one or more portions of the graph database are associated with the graph database, and

wherein the method further comprises:

disassociating the at least one data store from the graph database; and

associating a new data store with the graph database, the new data store being associated with a set of values corresponding to the aspect of edges of the graph database, the set of values comprising a new time range, the new time range comprising one or more future times.

2. The method of claim 1 , comprising querying the graph database based on the aspect of edges of the graph database.

3. The method of claim 2 , comprising querying the graph database for a set of edges of the graph database that are associated with one or more values within a specified set of values corresponding to the aspect of edges of the graph database.

4. The method of claim 2 , comprising:

identifying a portion of the plurality of data stores, each data store of the portion of the plurality of data stores being associated with a set of values corresponding to the aspect of edges of the graph database that includes at least one of the one or more values within the specified set of values; and

constraining querying of the graph database to the portion of the plurality of data stores.

5. The method of claim 2 , comprising:

identifying a portion of the plurality of data stores, each data store of the portion of the plurality data stores being associated with a set of values corresponding to the aspect of edges of the graph database that fails to include a value within the specified set of values; and

excluding the portion of the plurality of data stores from querying of the graph database.

6. A computing platform, comprising:

at least one processor;

a communication interface; and

a memory storing instructions that, when executed by the at least one processor, cause the computing platform to:

receive, via the communication interface, data specifying a new edge of a graph database, wherein the data specifying the new edge of the graph database comprises information identifying a first node of the graph database and a second node of the graph database, the new edge associating the first node of the graph database with the second node of the graph database; and

identify, by the at least one processor and from amongst a plurality of data stores utilized to store one or more portions of the graph database, a data store for storing the new edge, wherein each of the plurality of data stores is associated with a set of values corresponding to an aspect of edges of the graph database, and wherein the data store for storing the new edge is identified based on the new edge being associated with a value corresponding to the aspect of edges of the graph database that is within a set of values corresponding to the aspect of edges of the graph database associated with the data store for storing the new edge,

wherein the aspect of the edges of the graph database is a time when nodes of the graph database were associated with one another, wherein a set of values corresponding to the aspect of edges of the graph database that is associated with at least one data store of the plurality of data stores comprises a time range, the time range comprising one or more past times, and wherein the plurality of data stores utilized to store one or more portions of the graph database are associated with the graph database, and

wherein the memory stores additional instructions that, when executed by the at least one processor, cause the computing platform to:

disassociate the at least one data store from the graph database; and

associate a new data store with the graph database, the new data store being associated with a set of values corresponding to the aspect of edges of the graph database, the set of values comprising a new time range, the new time range comprising one or more future times.

7. The computing platform of claim 6 , wherein the memory stores additional instructions that, when executed by the at least one processor, cause the computing platform to query the graph database based on the aspect of edges of the graph database.

8. The computing platform of claim 7 , wherein the memory stores additional instructions that, when executed by the at least one processor, cause the computing platform to query the graph database for a set of edges of the graph database that are associated with one or more values within a specified set of values corresponding to the aspect of edges of the graph database.

9. The computing platform of claim 7 , wherein the memory stores additional instructions that, when executed by the at least one processor, cause the computing platform to:

identify a portion of the plurality of data stores, each data store of the portion of the plurality of data stores being associated with a set of values corresponding to the aspect of edges of the graph database that includes at least one of the one or more values within the specified set of values; and

constrain querying of the graph database to the portion of the plurality of data stores.

10. The computing platform of claim 7 , wherein the memory stores additional instructions that, when executed by the at least one processor, cause the computing platform to:

identify a portion of the plurality of data stores, each data store of the portion of the plurality data stores being associated with a set of values corresponding to the aspect of edges of the graph database that fails to include a value within the specified set of values; and

exclude the portion of the plurality of data stores from querying of the graph database.

11. One or more non-transitory computer-readable media having instructions stored thereon that, when executed by a computing platform comprising at least one processor and a communication interface, cause the computing platform to:

receive, via the communication interface, data specifying a new edge of a graph database, wherein the data specifying the new edge of the graph database comprises information identifying a first node of the graph database and a second node of the graph database, the new edge associating the first node of the graph database with the second node of the graph database; and

identify, by the at least one processor and from amongst a plurality of data stores utilized to store one or more portions of the graph database, a data store for storing the new edge, wherein each of the plurality of data stores is associated with a set of values corresponding to an aspect of edges of the graph database, and wherein the data store for storing the new edge is identified based on the new edge being associated with a value corresponding to the aspect of edges of the graph database that is within a set of values corresponding to the aspect of edges of the graph database associated with the data store for storing the new edge,

wherein the aspect of the edges of the graph database is a time when nodes of the graph database were associated with one another, wherein a set of values corresponding to the aspect of edges of the graph database that is associated with at least one data store of the plurality of data stores comprises a time range, the time range comprising one or more past times, and wherein the plurality of data stores utilized to store one or more portions of the graph database are associated with the graph database, and

wherein the one or more non-transitory computer-readable media have additional instructions stored thereon that, when executed by the computing platform, cause the computing platform to:

disassociate the at least one data store from the graph database; and

associate a new data store with the graph database, the new data store being associated with a set of values corresponding to the aspect of edges of the graph database, the set of values comprising a new time range, the new time range comprising one or more future times.

12. The one or more non-transitory computer-readable media of claim 11 , having additional instructions stored thereon that, when executed by the computing platform, cause the computing platform to query the graph database based on the aspect of edges of the graph database.

13. The one or more non-transitory computer-readable media of claim 12 , having additional instructions stored thereon that, when executed by the computing platform, cause the computing platform to query the graph database for a set of edges of the graph database that are associated with one or more values within a specified set of values corresponding to the aspect of edges of the graph database.

14. The one or more non-transitory computer-readable media of claim 12 , having additional instructions stored thereon that, when executed by the computing platform, cause the computing platform to:

identify a portion of the plurality of data stores, each data store of the portion of the plurality of data stores being associated with a set of values corresponding to the aspect of edges of the graph database that includes at least one of the one or more values within the specified set of values; and

constrain querying of the graph database to the portion of the plurality of data stores.

15. The one or more non-transitory computer-readable media of claim 12 , having additional instructions stored thereon that, when executed by the computing platform, cause the computing platform to:

identify a portion of the plurality of data stores, each data store of the portion of the plurality data stores being associated with a set of values corresponding to the aspect of edges of the graph database that fails to include a value within the specified set of values; and

exclude the portion of the plurality of data stores from querying of the graph database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2015
From: YU, SOUNIL
To: BANK OF AMERICA CORPORATION
Reel/Frame 036985/0313 →
Continuity (2)
Continuation 14011986 · Aug 28, 2013
Related Publication 20160063133A1 · Mar 3, 2016