×

Computer data distribution architecture connecting an update propagation graph through multiple remote query processors

  • US 10,241,965 B1
  • Filed: 11/14/2017
  • Issued: 03/26/2019
  • Est. Priority Date: 08/24/2017
  • Status: Active Grant
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.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×