×

Incremental computing of changes to computer user interfaces

  • US 8,627,199 B1
  • Filed: 03/01/2011
  • Issued: 01/07/2014
  • Est. Priority Date: 01/29/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • configuring a processor to execute a function first time;

    in the course of execution of the function, producing a reactive value hierarchy structure in a non-transitory computer readable storage device that includes a plurality of respective nodes that correspond to respective reactive values used in the first execution of the function and that indicates relationships among nodes that correspond to relationships among corresponding reactive values during the first execution of the function;

    wherein respective nodes in the hierarchy act as dependent nodes to other nodes lower in the hierarchy that act as inputs nodes to the respective nodes;

    wherein the respective nodes act as input nodes to the other nodes higher in the hierarchy that act as dependent nodes to the respective nodes; and

    wherein respective nodes are associated with respective ordered sets of one or more input nodes ordered according to order of use of their corresponding reactive values during the first execution of the function;

    identifying one or more changed reactive values associated with one or more nodes;

    traversing upward within the hierarchy starting from the nodes identified as having changed reactive values to identify multiple nodes within the hierarchy that are possibly dirty due to the one or more identified reactive value changes;

    associating dirty state and dirty count information in the storage device with the multiple nodes identified as possibly dirty;

    configuring the processor to execute the function a second time using the changed reactive values;

    wherein configuring the processor to execute the function a second time includes;

    configuring the processor to recursively run a process to ensure current reactive values for the nodes within the hierarchy;

    wherein the process includes;

    monitoring dirty state information and dirty count information associated with a given node;

    while the dirty state information associated with the given node indicates not dirty and the dirty count information of the given node indicates that the given node is possibly dirty, requesting the process in order one at a time on successive ordered input nodes to the given node;

    when the dirty state information associated with the given node is dirty, computing a current reactive value for the given node and decrementing the dirty count information of direct dependent nodes of the of the given node and if the computed current reactive value for the given node is changed then marking as dirty, dirty state information associated with direct dependent nodes of the given node; and

    when the dirty state information associated with the given node indicates not dirty and the dirty count information indicates that the given node is not dirty, returning a current reactive value of the given node to a dependent node that requested performing the process on the given node.

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