IP Library Granted Patent US 9,507,875
Granted Patent B2
US 9,507,875 · App. 13/370,022 · Granted Nov 29, 2016

Symbolic hyper-graph database

Inventor: Subodh M. Reddy (San Jose, CA)
Assignee: FUJITSU LIMITED
G06F17/30958G06F17/30961
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,507,875
App. No.
13/370,022
Granted
Nov 29, 2016
Kind
B2
Abstract

A graph database is described. The graph database includes one or more symbolic data stores and one or more key-value data stores. Each symbolic data store is configured to symbolically store sets of multiple hyper-graph nodes. Each key-value data store is configured to store attribute information for hyper-graph nodes and hyper-graph edges.

Claims (54)

1. A graph database comprising:

at least one non-transitory computer-readable medium including:

one or more symbolic data stores configured to symbolically store sets of multiple hyper-graph nodes;

one or more of the multiple hyper-graph nodes associated with a first unique identifier including one or more first global keys and a first local key, the one or more first global keys including a binary integer associated with a database server and the first local key uniquely identifying the one or more multiple hyper-graph nodes stored on the database server;

a second unique identifier including one or more second global keys and a second local key and identifying a set of multiple hyper-graph nodes representing a set operation of a union of hyper-graph nodes with comparable relationships based on having similar edges; and

one or more key-value data stores configured to store attribute information for hyper-graph nodes and hyper-graph edges, the attribute information including a first symbolic key and a first value, the first symbolic key identifying at least one of the one or more hyper-graph nodes symbolically stored by the one or more symbolic data stores, and the first value including an object key and data that is associated with the object key, the attribute information also including a second symbolic key and a second value associated with the set of multiple hyper-graph nodes representing the set operation;

wherein each set is stored as a three element binary decision diagram (e3BDD).

2. The graph database according to claim 1 , wherein each set has a unique identifier.

3. The graph database according to claim 2 , wherein each node has a unique identifier.

4. The graph database according to claim 3 , wherein each unique identifier comprises:

the global key which identifies the database server in a distributed group of interconnected database servers in which information regarding the set or the node is stored; and

the local key which uniquely identifies the set or the node on the database server.

5. The graph database of claim 1 , wherein the binary integer included in the one or more global keys is configured to be padded with one or more leading zeroes to accommodate expansion of the number of binary digits in the global key responsive to additional database servers being added.

6. The graph database of claim 1 , wherein at least one e3BDD includes nodes having node types of:

a standard node;

a zero-suppressed reduction node generated by zero-suppressed node elimination of a first original binary decision diagram (BDD); and

a one-suppressed reduction node generated by one-suppressed node elimination of a second original BDD.

7. A method of implementing a graph database comprising:

symbolically storing sets of multiple hyper-graph nodes in one or more symbolic data stores, one or more of the multiple hyper-graph nodes associated with a first unique identifier including one or more first global keys and a first local key, the one or more first global keys including, a binary integer associated with a database server and the first local key uniquely identifying the one or more multiple, hyper-graph nodes stored on the database server, at least one of the sets of multiple hyper-graph nodes representing a set operation of a union of hyper-graph nodes with comparable relationships based on having similar edges, each hyper-graph node in the at least one of the sets of multiple hyper-graph nodes also being stored with its own unique identifier;

associating a second unique identifier, including one or more second global keys and a second local key, with each of the one or more sets of multiple hypergraph nodes representing the set operation; and

storing attribute information for nodes and edges in one or more key-value data stores, including for the at least one of the sets of multiple hyper-graph nodes, the attribute information including a symbolic key and a value, the symbolic key identifying at least one of the multiple hyper-graph nodes symbolically stored by the one or more symbolic data stores, and data that is associated with the object key;

wherein each set, each node, and each edge is stored as a three element BDD (e3BDD).

8. The method according to claim 7 , further comprising assigning a unique identifier to each of the sets and the nodes.

9. The method according to claim 8 , wherein each unique identifier comprises:

the global key which identifies the database server in a distributed group of interconnected database servers in which information regarding the set or the node is stored; and

the local key which uniquely identifies the set or the node on the database server.

10. The method of claim 7 , wherein at least one e3BDD includes nodes having node types of:

a standard node;

a zero-suppressed reduction node generated by zero-suppressed node elimination of a first original binary decision diagram (BDD); and

a one-suppressed reduction node generated by one-suppressed node elimination of a second original BDD.

11. A non-transitory computer-readable medium storing a program that causes a processor to execute a method of implementing, a graph database comprising:

symbolically storing sets of multiple hyper-graph nodes in one or more symbolic data stores, one or more of the multiple hyper-graph nodes associated with a first unique identifier including, one or more first global keys and a first local key, the one or more first global keys including a binary integer associated with a database server and the first local key uniquely identifying the one or more multiple hyper-graph nodes stored on the database server, at least one of the sets of multiple hyper-graph nodes representing a set operation of a union of hyper-graph nodes with comparable relationships based on having similar edges, each hyper-graph node in the at least one of the sets of multiple hyper-graph nodes also being, stored with its own unique identifier;

associating a second unique identifier, including one or more second global keys and a second local key, with each of the one or more sets of multiple hyper-graph nodes representing the set operation; and

storing attribute information for nodes and edges in one or more key-value data stores, including for the at least one of the sets of multiple hyper-graph nodes, the attribute information including a symbolic key and a value, the symbolic key identifying at least one of the multiple hyper-graph nodes symbolically stored by the one or more symbolic data stores, and data that is associated with the object key;

wherein each set, each node, and each edge is stored as a three element BDD (e3BDD).

12. The non-transitory computer-readable medium according to claim 11 , wherein the program further causes the processor to assign a unique identifier to each of the sets and the nodes.

13. The non-transitory computer-readable medium according to claim 12 , wherein each unique identifier comprises:

the global key which identifies the database server in a distributed group of interconnected database servers in which information regarding the set or the node is stored; and

the local key which uniquely identifies the set or the node on the database server.

14. The non-transitory computer-readable medium of claim 11 , wherein at least one e3BDD includes nodes having node types of:

a standard node;

a zero-suppressed reduction node generated by zero-suppressed node elimination of a first original binary decision diagram (BDD); and

a one-suppressed reduction node generated by one-suppressed node elimination of a second original BDD.

15. A system, comprising:

a processor;

a non-transitory computer-readable medium storing a program that causes the processor to execute an implementation of a three element binary decision diagram (e3BDD) that are each configured to be employed in symbolically storing a set of multiple hyper-graph nodes, one or more of the multiple hyper-graph nodes associated with a first unique identifier including one or more first global keys and a first local key, the one or more first global keys including a binary integer associated with a database server and the first local key uniquely identifying the one or more multiple hyper- graph nodes stored on the database server, the set of multiple hyper-graph nodes representing a set operation of a union of hyper-graph nodes with comparable relationships based on having similar edges, each hyper-graph node in the set of multiple hyper-graph nodes also being stored with its own unique identifier;

associating a second unique identifier, including one or more second global keys and a second local key, with each of the one or more sets of multiple hyper-graph nodes representing the set operation;

and

wherein the program is further configured to cause the processor to store attribute information for nodes and edges in one or more key-value data stores including for the at least one of the sets of multiple hyper-graph nodes, the attribute information including a symbolic key and a value, the symbolic key identifying at least one of the multiple hyper-graph nodes symbolically stored by the one or more symbolic data stores, and data that is associated with the object key.

16. The system according to claim 15 , wherein each e3BDD comprises a persistent e3BDD.

17. The system of claim 15 , wherein at least one e3BDD includes nodes having node types of:

a standard node;

a zero-suppressed reduction node generated by zero-suppressed node elimination of a first original binary decision diagram (BDD); and

a one-suppressed reduction node generated by one-suppressed node elimination of a second original BDD.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2012
From: REDDY, SUBODH M.
To: FUJITSU LIMITED
Reel/Frame 027686/0706 →
Continuity (1)
Related Publication 20130212131A1 · Aug 15, 2013