IP Library Granted Patent US 10,192,000
Granted Patent B2
US 10,192,000 · App. 15/010,841 · Granted Jan 29, 2019

System and method for distributed system to store and visualize large graph databases

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,192,000
App. No.
15/010,841
Granted
Jan 29, 2019
Kind
B2
Abstract

A system and method for implementing distributed storage and visualization for a graph database system for very large graph databases is presented. A graph database can comprise nodes and edges stored as artifacts, which can then be indexed using a distributed index system. A system capable of performing such tasks can include a processing system that creates an index of the artifacts, a construction system that can create a graph database from a text file, and a reading system that can create a text file from a graph database by finding requested artifacts in the graph of interest. A visualization system can perform queries on a graph database, then create sub-graphs containing the results for visualization purposes. The sub-graph can receive navigation inputs that display various portions of the sub-graph. Other embodiments also are disclosed.

Claims (97)

1. A system comprising:

a construction module arranged to receive a text input and generate a first graph database using the text input, wherein the first graph database comprises a plurality of edges extending between a plurality of nodes, and wherein an edge of the plurality of edges extending between two or more nodes of the plurality of nodes represents a relationship between the two or more nodes;

a processing module arranged to create an index from the first graph database, wherein the first graph database is stored on a first distributed storage system;

a searching module arranged to receive queries from a user as an input to the system and retrieve results to be used to create an output of the system;

a visualizer module arranged to:

receive the results from the searching module;

generate a sub-graph from the results, the sub-graph comprising a portion of the first graph database; and

create a visual reproduction of the sub-graph for display to the user; and

an index storage module arranged to store the index on a second distributed storage system.

2. The system of claim 1 , wherein:

each node and edge that have the relationship with each other are stored together as an artifact.

3. The system of claim 2 , wherein:

the index is created using a MapReduce algorithm on the artifacts.

4. The system of claim 1 further comprising a reading module arranged to receive the first graph database as an input and create a text file output by finding requested artifacts in a graph of interest.

5. The system of claim 1 further comprising a transformation module arranged to receive the first graph database as an input and generate a second graph database as an output.

6. The system of claim 1 , wherein the visualizer module is further arranged to:

receive navigation inputs; and

re-draw the visual reproduction based on the navigation inputs.

7. The system of claim 1 further comprising:

a reading module arranged to receive the first graph database as an input and create a text file output by finding requested artifacts in a graph of interest;

a transformation module arranged to receive the first graph database as an input and generate a second graph database as an output; and

the visualizer module is further arranged to:

receive navigation inputs; and

re-draw the visual reproduction based on the navigation inputs.

8. The system of claim 1 , wherein the text input comprises a relational database comprising a table.

9. A system comprising:

one or more processing modules; and

one or more non-transitory memory storage modules storing computing instructions configured to run on the one or more processing modules and perform acts of:

receiving a request;

searching a distributed graph database with a distributed index to generate a result, the distributed graph database comprising a plurality of edges extending between a plurality of nodes;

generating a first sub-graph from the result, the first sub-graph comprising a portion of the distributed graph database;

creating a visual reproduction of the first sub-graph; and

facilitating a display of the visual reproduction of the first sub-graph to a user.

10. The system of claim 9 , wherein the computing instructions are further configured to perform acts of:

receiving first navigational inputs; and

re-drawing the visual reproduction of the first sub-graph based on the first navigational inputs.

11. The system of claim 10 , wherein the first navigational inputs are selected from panning, zooming in, and zooming out.

12. The system of claim 10 , wherein the computing instructions are further configured to perform acts of:

receiving second navigational inputs;

generating a second sub-graph based on the second navigational inputs, the second sub-graph comprising a new portion of the distributed graph database and a portion of the first sub-graph;

creating a visual reproduction of the second sub-graph; and

facilitating a display of the visual reproduction of the second sub-graph to the user.

13. The system of claim 9 further comprising:

a construction module arranged to:

receive a text input comprising a relational database, the relational database comprising a table; and

generate a first graph database using the text input;

an index creation module arranged to create an index from the first graph database, wherein the first graph database is stored on a first distributed storage system; and

an index storage module arranged to store the index on a second distributed storage system different than the first distributed storage system.

14. The system of claim 9 further comprising a reading module arranged to receive a first graph database as an input and create a text file output by finding requested artifacts in a graph of interest.

15. The system of claim 9 further comprising:

a transformation module arranged to receive a first graph database as an input and generate a second graph database as an output.

16. The system of claim 9 further comprising:

a construction module arranged to:

receive a text input comprising a relational database, the relational database comprising a table; and

generate a first graph database;

an index creation module arranged to create an index from the first graph database, wherein the first graph database is stored on a first distributed storage system;

an index storage module arranged to store the index on a second distributed storage system different than the first distributed storage system; and

a reading module arranged to receive the first graph database as an input and create a text file output by finding requested artifacts in a graph of interest, wherein:

the computing instructions are further configured to perform acts of:

receiving first navigational inputs;

re-drawing the visual reproduction of the first sub-graph based on the first navigational inputs;

facilitating a display of the visual reproduction of the first sub-graph to a user;

receiving second navigational inputs;

generating a second sub-graph based on the second navigational inputs, the second sub-graph comprising a new portion of the distributed graph database and a portion of the first sub-graph;

creating a visual reproduction of the second sub-graph;

facilitating a display of the visual reproduction of the second sub-graph to the user; and

the first navigational inputs and the second navigational inputs are selected from panning, zooming in, and zooming out.

17. The system of claim 9 , wherein:

the portion of the distributed graph database comprises two or more nodes stored on separate database servers; and

generating the first sub-graph comprises receiving request results from each of the separate database servers.

18. A method comprising:

receiving a request from a user;

searching a distributed graph database with a distributed index to generate a result, wherein the distributed graph database comprising a plurality of edges extending between a plurality of nodes;

generating a first sub-graph from the result, the first sub-graph comprising a portion of the distributed graph database;

creating a visual reproduction of the first sub-graph; and

facilitating a display of the visual reproduction of the first sub-graph to the user.

19. The method of claim 18 further comprising:

receiving first navigational inputs; and

re-drawing the visual reproduction of the first sub-graph based on the first navigational inputs.

20. The method of claim 19 , wherein:

the first navigational inputs are selected from panning, zooming in, and zooming out.

21. The method of claim 18 further comprising:

receiving second navigational inputs;

generating a second sub-graph based on the second navigational inputs, the second sub-graph comprising a new portion of the distributed graph database and a portion of the first sub-graph;

creating a visual reproduction of the second sub-graph; and

facilitating a display of the visual reproduction of the second sub-graph to the user.

22. The method of claim 18 further comprising:

receiving first navigational inputs;

re-drawing the visual reproduction of the first sub-graph based on the first navigational inputs;

receiving second navigational inputs;

generating a second sub-graph based on the second navigational inputs, the second sub-graph comprising a new portion of the distributed graph database and a portion of the first sub-graph;

creating a visual reproduction of the second sub-graph; and

facilitating a display of the visual reproduction of the second sub-graph to the user; wherein:

the first navigational inputs and the second navigational inputs are selected from panning, zooming in, and zooming out.

23. The method of claim 18 , wherein:

the portion of the distributed graph database comprises two or more nodes stored on separate database servers; and

generating the first sub-graph comprises receiving request results from each of the separate database servers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045817/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2016
From: MARTHA, VENKATA SWAMY
To: WAL-MART STORES, INC.
Reel/Frame 037654/0107 →