9514247

Message Passing in a Distributed Graph Database

PublishedDecember 6, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-system-implemented method for requesting desired information from a graph database, the method comprising: executing a query against the graph database storing a graph by providing, by a computer system separate from the graph database, the query and a first query header to a first shard of the graph database, wherein: the graph comprises nodes, edges between the nodes, and predicates to represent data; the query includes a subject, a predicate, and an object; and the first query header specifies the first shard; receiving first results and a first result header from the first shard in response to the query, wherein the first result header specifies that the first results are first partial results; and receiving second results and a second result header from a second shard of the graph database in response to the query, wherein the second result header specifies that the second results are second partial results, and wherein the second results and the second result header are received from the second shard without the computer system providing a corresponding query to the second shard; and wherein a combination of the first partial results and the second partial results provides a total result to the query that includes a subset of the graph.

2

2. The method of claim 1 , wherein the method further comprises combining the first partial results and the second partial results to obtain the total result.

3

3. The method of claim 1 , wherein the first result header includes information that indicates that the query was subdivided by the first shard and forwarded by the first shard to another shard.

4

4. The method of claim 1 , wherein at least one of the first partial results and the second partial results are received in a set of packets having associated sub-result headers that specify a total number of packets and a position of a given packet in the set of packets.

5

5. The method of claim 1 , wherein the method further comprises storing information in a request map that indicates the query was sent to the first shard.

6

6. The method of claim 1 , wherein the subset of the graph includes the desired information expressed within an associated structure of the graph.

7

7. The method of claim 1 , wherein the query is associated with entities in a professional network.

8

8. The method of claim 1 , wherein the method further comprises: receiving another query that is compatible with a type of database that is different from the graph database; and converting the other query into the query.

9

9. The method of claim 8 , wherein the type of database includes one of: a relational database, and a hierarchical database.

10

10. The method of claim 1 , wherein the graph is configured with index-free adjacency, for which each node comprises an edge to each adjacent node, wherein adjacent nodes are discoverable from each node using corresponding edges without performing an index lookup.

11

11. An apparatus, comprising: one or more processors; memory; and a program module, wherein the program module is stored in the memory and, during operation of the apparatus, is executed by the one or more processors to request desired information from a graph database, the program module including: instructions for executing a query against the graph database storing a graph by providing the query and a first query header from the apparatus to a first shard of the graph database, wherein: the graph comprises nodes, edges between the nodes, and predicates to represent data; the query includes a subject, a predicate, and an object; and the first query header specifies the first shard; instructions for receiving first results and a first result header from the first shard in response to the query, wherein the first result header specifies that the first results are first partial results; and instructions for receiving second results and a second result header from a second shard of the graph database in response to the query, wherein the second result header specifies that the second results are second partial results, and wherein the second results and the second result header are received from the second shard without the apparatus providing a corresponding query to the second shard; and wherein a combination of the first partial results and the second partial results provides a total result to the query that includes a subset of the graph.

12

12. The apparatus of claim 11 , wherein the program module comprises instructions for combining the first partial results and the second partial results to obtain the total result; and wherein the program module comprises instructions for providing at least a portion of the total result to an application associated with the query.

13

13. The apparatus of claim 11 , wherein at least one of the first partial results and the second partial results are received in a set of packets having associated sub-result headers that specify a total number of packets and a position of a given packet in the set of packets.

14

14. The apparatus of claim 11 , wherein the program module comprises instructions for storing information in a request map that indicates the query was sent to the shard.

15

15. The apparatus of claim 11 , wherein the first result header includes information that indicates that the query was subdivided by the first shard and forwarded by the first shard to another shard.

16

16. The apparatus of claim 11 , wherein the program module comprises instructions for: receiving another query that is compatible with a type of database that is different from the graph database; and converting the other query into the query.

17

17. A system, comprising: a processing module comprising a non-transitory computer readable medium storing instructions that, when executed, cause the system to: execute a query against a graph database storing a graph by providing the query and a first query header to a first shard of the graph database, wherein: the graph comprises nodes, edges between the nodes, and predicates to represent data; the query includes a subject, a predicate, and an object; and the first query header specifies the first shard; receive first results and a first result header from the first shard in response to the query, wherein the first result header specifies that the first results are first partial results; and receive second results and a second result header from a second shard of the graph database in response to the query, wherein the second result header specifies that the second results are second partial results, and wherein the second results and the second result header are received from the second shard without the processing module providing a corresponding query to the second shard; and wherein a combination of the first partial results and the second partial results provides a total result to the query that includes a subset of the graph.

Patent Metadata

Filing Date

Unknown

Publication Date

December 6, 2016

Inventors

Yongling Song
Andrew J. Carter
Joshua D. Ehrlich
Scott M. Meyer

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “MESSAGE PASSING IN A DISTRIBUTED GRAPH DATABASE” (9514247). https://patentable.app/patents/9514247

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.