Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
First Claim
Patent Images
1. A computer database system comprising:
- one or more processors;
computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including;
receiving a query;
parsing the query and in response to said parsing creating a query graph based on the query;
assigning a first sub-graph of the query graph to a first query processor;
assigning a second sub-graph of the query graph to a second query processor, a result of the first sub-graph being an input to the second sub-graph;
creating, at the second query processor, an object to represent a replica of the result of the first sub-graph from the first query processor;
sending a subscription request from the second query processor to the first query processor to receive consistent updates to the result of the first sub-graph;
receiving, at the second query processor, an initial snapshot of the result from the first query processor;
storing the initial snapshot as the replica of the result;
assigning the replica of the result as an input to the second sub-graph at the second query processor;
adding at the first query processor a first listener to the first sub-graph as a dependent of the result;
receiving, at the first listener, an update notification indicating an update to the result;
sending, by the first listener, a notification to the second query processor including an indication of the change to the result and a copy of any changed data;
responsive to receiving the notification at the second query processor, updating the replica of the result and propagating the changes through the second sub-graph at the second query processor; and
determining a current output of the query graph based on an output of the second sub-graph.
3 Assignments
0 Petitions
Accused Products
Abstract
Described are methods, systems and computer readable media for computer data distribution architecture connecting an update propagation graph through multiple remote query processors.
478 Citations
20 Claims
-
1. A computer database system comprising:
-
one or more processors; computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including; receiving a query; parsing the query and in response to said parsing creating a query graph based on the query; assigning a first sub-graph of the query graph to a first query processor; assigning a second sub-graph of the query graph to a second query processor, a result of the first sub-graph being an input to the second sub-graph; creating, at the second query processor, an object to represent a replica of the result of the first sub-graph from the first query processor; sending a subscription request from the second query processor to the first query processor to receive consistent updates to the result of the first sub-graph; receiving, at the second query processor, an initial snapshot of the result from the first query processor; storing the initial snapshot as the replica of the result; assigning the replica of the result as an input to the second sub-graph at the second query processor; adding at the first query processor a first listener to the first sub-graph as a dependent of the result; receiving, at the first listener, an update notification indicating an update to the result; sending, by the first listener, a notification to the second query processor including an indication of the change to the result and a copy of any changed data; responsive to receiving the notification at the second query processor, updating the replica of the result and propagating the changes through the second sub-graph at the second query processor; and determining a current output of the query graph based on an output of the second sub-graph. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
assigning a first sub-graph of a query graph to a first query processor; assigning a second sub-graph of the query graph to a second query processor, a result of the first sub-graph being an input to the second sub-graph; creating, at the second query processor, an object to represent a replica of the result of the first sub-graph from the first query processor; sending a subscription request from the second query processor to the first query processor to receive consistent updates to the result of the first sub-graph; assigning the replica of the result as an input to the second sub-graph at the second query processor adding at the first query processor a first listener to the first sub-graph as a dependent of the result; receiving, at the first listener, an update notification indicating an update to the result; sending, by the first listener, a notification to the second query processor including an indication of the change to the result and a copy of any changed data; responsive to receiving the notification at the second query processor, updating the replica of the result and propagating the changes through the second sub-graph at the second query processor; and determining a current output of the query graph based on an output of the second sub-graph. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
-
creating, at the second query processor, an object to represent a replica of the result of the first sub-graph from the first query processor; sending a subscription request from the second query processor to the first query processor to receive consistent updates to the result of the first sub-graph; assigning the replica of the result as an input to the second sub-graph at the second query processor adding at the first query processor a first listener to the first sub-graph as a dependent of the result; receiving, at the first listener, an update notification indicating an update to the result; sending, by the first listener, a notification to the second query processor including an indication of the change to the result and a copy of any changed data; responsive to receiving the notification at the second query processor, updating the replica of the result and propagating the changes through the second sub-graph at the second query processor; and determining a current output of the query graph based on an output of the second sub-graph. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification