Hierarchical Representation of Time-Related Profiles
AssigneeOracle International Corporation
InventorManoj Abraham
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention include systems and methods for representing data in a hierarchy using a deterministic skip list data structure. In embodiments, a profile or profiles may be represented using a multi-level, time-based hierarchy using a deterministic skip list data structure comprised of nodes of local data values.
Claims20
A computer-readable medium encoded with a data structure configured to represent a time-related profile of a resource as a hierarchy, the data structure comprising:
- an ordered set of nodes forming a hierarchy of temporal levels, wherein a temporal level comprises a set of nodes from the ordered set of nodes having a similar or same magnitude temporal span;
- each of at least some of the nodes from the ordered set of nodes comprises a set of data fields for storing profile-related data, at least one a time span indicator, and up to four links comprising:
- a link to a temporally-immediate prior same-level node;
- a link to a temporally-immediate subsequent same-level node;
- a link to a next higher temporal level node having a time span that includes the node's time span;
- and
- a link to a next lower temporal level node having a time span that is included within the time span of the node;
- and
- wherein the set of data fields for storing profile-related data for at least some of the nodes from the ordered set of nodes that form a lowest temporal level comprises one or more resource values.
A computer program product comprising at least one computer-readable medium storing one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to change a time-related profile of a resource given a resource change value associated with a time value, the time-related profile comprising:
- an ordered set of nodes forming a hierarchy of temporal levels, wherein a temporal level comprises a set of nodes from the ordered set of nodes having a similar or same magnitude temporal span;
- each of at least some of the nodes from the ordered set of nodes comprises a set of data fields for storing profile-related data, at least one a time span indicator, and up to four links comprising:
- a link to a temporally-immediate prior same-level node;
- a link to a temporally-immediate subsequent same-level node;
- a link to a next higher temporal level node having a time span that includes the node's time span;
- and a link to a next lower temporal level node having a time span that is included within the node's time span;
- the set of data fields for storing profile-related data comprising a maximum resource value representing a maximum cumulative change value of the resource within the time span of the node, a minimum resource value representing a minimum cumulative change value of the resource within the time span of the node, and a base resource value representing an initial value of the resource at the start of the time span of the node;
- and
- the set of data fields for storing profile-related data for at least some of the nodes from the ordered set of nodes that form a lowest temporal level comprising one or more resource values,
- the method comprising:
- for each node at a temporal level in which the time value is before the time span of the node, updating the base resource value of the node by adding the resource change value to the base resource value of the node;
- identifying a lowest level node that has a time span that includes the time value associated with the resource change value;
- entering the resource change value in the identified lowest level node;
- responsive to the resource change value causing the identified lowest level node to have a different maximum resource value or different minimum resource value, updating the node's maximum resource value or minimum resource value;
- and
- responsive to an update to the maximum resource value or the minimum resource value of the identified lowest level node, updating the maximum resource value or the minimum resource value of each higher temporal level node that has a time span that includes the time span of the identified lowest level node and that has a value that requires updating based upon the update to the maximum resource value or the minimum resource value of the identified lowest level node.
A computer program product comprising at least one computer-readable medium storing one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to represent a time-related profile of a resource comprising, the method comprising:
- forming a lowest temporal level comprising a set of base nodes, wherein a node comprises a set of data fields for storing resource-related data, at least one a time span indicator, and up to three links comprising:
- a link to a temporally-immediate prior base node;
- a link to a temporally-immediate subsequent base node;
- a link to a next higher temporal level node having a time span that includes the time span of the base node;
- and a link to a next lower temporal level node having a time span that is included within the node's time span;
- and
- forming at least one higher temporal level comprising a set of nodes, wherein a node comprises a set of data fields for storing resource-related data, at least one a time span indicator, and up to four links comprising:
- a link to a temporally-immediate prior same-level node;
- a link to a temporally-immediate subsequent same-level node;
- a link to a next higher temporal level node having a time span that includes the node's time span;
- and a link to a next lower temporal level node having a time span that is included within the node's time span;
- and
- wherein a temporal level comprises a set of nodes having a similar or same magnitude temporal span and a node of a higher temporal level spans a larger time span than a node from a lower temporal level.
Dependencies are inferred from the claim text.