×

Web-based incremental computing

  • US 8,572,477 B1
  • Filed: 01/31/2011
  • Issued: 10/29/2013
  • Est. Priority Date: 01/29/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method to update a document object model (DOM) stored in a computer readable storage device, wherein producing the DOM includes running a function that includes multiple expressions on a computer system in response to a set of input values, the method comprising:

  • producing a dependency graph structure in a computer readable storage device that includes nodes that correspond to reactive values produced in the course of evaluation of the expressions within the function in response to the set of input values and that includes a node that corresponds to a contained in relationship between a reactive value and a corresponding element of the DOM in response to evaluation of one or more expressions within the function in response to the set of input values indicating inclusion of such node having the contained in relationship and that includes paths among the nodes that represent dependency relationships among the reactive values, wherein respective paths include a root node and include respective input nodes that are associated with respective input values and include respective nodes, disposed between the root node and respective input nodes, that are associated in the storage device with at least one of expressions within the function used to produce respective reactive values that correspond to those respective nodes or to the contained in relationship;

    detecting a change of at least one input value from the set of input values;

    in response to the detected change of the at least one input value, selecting in ascending order of node depth within the dependency graph structure, a respective node from among the root node and respective nodes on respective paths that have a respective input node associated with a respective changed input value; and

    re-running on a computer system a respective expression, that is associated with the respective selected node, using the changed input value to determine a respective changed reactive value;

    in response to the re-running the respective expression associated with the respective selected node, prior to re-running an expression associated with a respective next selected node in the ascending order of node depth, changing the dependency graph structure to represent any changes to one or more dependency relationships among reactive values produced as a result of the respective re-running;

    continuing the acts of re-running and changing in the ascending order of node depth within the changed dependency graph structure; and

    in the course of the acts of re-running, in response to the dependency graph structure including a node that corresponds to a contained in relationship between a changed reactive value and a corresponding element of the DOM, propagating the changed reactive value to that corresponding element of the DOM.

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