Binary tree with override nodes for representing a time-varying function in an enterprise model
First Claim
Patent Images
1. A method of storing values of a time-varying variable, comprising the steps of:
- representing the variable as a time-varying function having time values and function values;
creating a balanced binary tree, each node of the tree associated with a change in value of the function; and
for each node, storing a time value, a delta value, a maximum subtree value, and a minimum subtree value, each subtree value representing a relative contribution from the subtree beginning with that node;
wherein at least one node is an override node, such that its delta value is a predetermined override value.
15 Assignments
0 Petitions
Accused Products
Abstract
A method of using a binary tree data structure to represent a time-varying variable, and to solve queries about the variable. The tree is especially useful for solving “find” type queries, such as “What is the earliest/latest time when a minimum of y units are on hand?” The binary tree is comprised of delta nodes that store delta values, that is, changes in the value of the variable. A delta value may be an “override” value, which represents a predetermined change in value of the function, such as a capacity value of a resource that is periodically replenished.
69 Citations
17 Claims
-
1. A method of storing values of a time-varying variable, comprising the steps of:
-
representing the variable as a time-varying function having time values and function values;
creating a balanced binary tree, each node of the tree associated with a change in value of the function; and
for each node, storing a time value, a delta value, a maximum subtree value, and a minimum subtree value, each subtree value representing a relative contribution from the subtree beginning with that node;
wherein at least one node is an override node, such that its delta value is a predetermined override value. - View Dependent Claims (2, 3)
-
-
4. A method of solving find earliest/latest queries about values of a time-varying function, comprising the steps of:
-
representing the function as a balanced binary tree, the tree having delta nodes that each represent a change in value of the variable, each node having an associated time value, delta value, subtree maximum value, and subtree minimum value;
wherein at least one nodes stores a delta value that is a predetermined override value;
traversing the tree, at each node calculating function bounding values representing the maximum and minimum function values associated with the subtree and a start value representing the function value at the start of the time span associated with the subtree; and
at each node, using the associated function bounding values and start value to determine if the solution is in the subtree of that node. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable medium for storing programming operable to provide values of a time-varying variable, by performing the steps of:
-
representing the variable in terms of a function that is a series of time value and function value pairs;
creating a balanced binary tree, each node of the tree having an associated time value and delta value representing a change in value of the function, wherein at least one delta value is a predetermined override value;
accessing the tree in response to a query; and
using delta values obtained during the accessing step to determine at least one function value that represents the value of the variable at a certain time.
-
-
16. A system for providing on-hand inventory data, comprising:
-
a memory that stores a balanced binary tree that representing inventory values in terms of a function that is a series of time value and function value pairs;
wherein each node of the tree has an associated time value and delta value representing a change in value of the function, and each node stores either a producer delta or a consumer delta, with each producer delta having a positive value and each consumer delta having a negative value; and
an engine for accessing the tree, the engine further operable to use delta values to determine at least one value of the function that represents inventory quantity at a certain time. - View Dependent Claims (17)
-
Specification