IP Library Granted Patent US 9,633,136
Granted Patent B2
US 9,633,136 · App. 14/935,445 · Granted Apr 25, 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,633,136
App. No.
14/935,445
Granted
Apr 25, 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 (46)

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 each of the plurality of data stores is associated with an additional set of values corresponding to an additional 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 additional aspect of edges of the graph database that is within an additional set of values corresponding to the additional aspect of edges of the graph database associated with the data store for storing the new edge,

wherein the aspect of edges of the graph database and the additional aspect of edges of the graph database specify a different aspect of edges of the graph database, and

wherein the aspect of the edges of the graph database is a time when nodes of the graph database were associated with one another, and wherein the additional aspect of the edges of the graph database is a geographic location where nodes of the graph database were associated with one another.

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 each of the plurality of data stores is associated with an additional set of values corresponding to an additional 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 additional aspect of edges of the graph database that is within an additional set of values corresponding to the additional aspect of edges of the graph database associated with the data store for storing the new edge,

wherein the aspect of edges of the graph database and the additional aspect of edges of the graph database specify a different aspect of edges of the graph database, and

wherein the aspect of the edges of the graph database is a time when nodes of the graph database were associated with one another, and wherein the additional aspect of the edges of the graph database is a geographic location where nodes of the graph database were associated with one another.

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 each of the plurality of data stores is associated with an additional set of values corresponding to an additional 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 additional aspect of edges of the graph database that is within an additional set of values corresponding to the additional aspect of edges of the graph database associated with the data store for storing the new edge,

wherein the aspect of edges of the graph database and the additional aspect of edges of the graph database specify a different aspect of edges of the graph database, and

wherein the aspect of the edges of the graph database is a time when nodes of the graph database were associated with one another, and wherein the additional aspect of the edges of the graph database is a geographic location where nodes of the graph database were associated with one another.

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 20160063134A1 · Mar 3, 2016