Method, system and program product for interning invariant data objects in dynamic space constrained systems
AssigneeInternational Business Machines Corporation
InventorsPeter W. Burka, Barry M. Genova
Life of this patent
Estimating the term…
Abstract
Under the present invention, a hierarchical tree and corresponding Least Recently Used (LRU) list are provided. Both include a predetermined quantity of nodes that are associated with invariant data objects. The nodes of the tree typically include a set of pointers that indicate a position/arrangement of the associated invariant data objects in the LRU list, and a set of pointers that indicate a logical relationship among the other nodes.
Claims20
A method for interning invariant data objects in a computer implemented system, comprising:
- providing a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- providing a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- reading an invariant data object;
- placing a node associated with the invariant data object at the head of the list;
- and
- rearranging the first set of pointers of the nodes of the hierarchical tree based on the placing.
A method for interning invariant data objects in a computer implemented system, comprising:
- providing a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- providing a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- reading an invariant data object;
- placing a node associated with the invariant data object at the head of the list;
- rearranging the first set of pointers of the nodes of the hierarchical tree based on the placing;
- and
- deleting the node at the tail of the list from both the list and the hierarchical tree to prevent the predetermined quantity from being exceeded;
- wherein a tail of the list is occupied by a node associated with a least recently used invariant data object.
A computer program product embodied in a tangible, non-transient computer readable storage medium for interning invariant data objects in dynamic space constrained systems, the computer program product comprising the programming instructions for:
- providing a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- providing a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- and
- reading an invariant data object, wherein a node associated with the invariant data object is placed at the head of the list, and wherein the first set of pointers of the nodes of the hierarchical tree are rearranged based on the placing.
A computer program product embodied in a tangible, non-transient computer readable storage medium for interning invariant data objects in dynamic space constrained systems, the computer program product comprising the programming instructions for:
- providing a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- providing a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- reading an invariant data object, wherein a node associated with the invariant data object is placed at the head of the list, and wherein the first set of pointers of the nodes of the hierarchical tree are rearranged based on the placing;
- and
- deleting the node at the tail of the list from the list and hierarchical tree to prevent the predetermined quantity from being exceeded;
- wherein a tail of the list is occupied by a node associated with a least recently used invariant data object.
A method for deploying an application for interning invariant data objects in dynamic space constrained systems, comprising:
- providing a computer infrastructure being operable to:
- provide a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- provide a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- read an invariant data object;
- place a node associated with the invariant data object at the head of the list;
- and
- rearrange the first set of pointers of the nodes of the hierarchical tree based on the placing.
A system, comprising:
- a memory unit for storing a computer program for interning invariant data objects in dynamic space constrained systems;
- and
- a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises:
- circuitry for providing a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- circuitry for providing a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- circuitry for reading an invariant data object;
- circuitry for placing a node associated with the invariant data object at the head of the list;
- and
- circuitry for rearranging the first set of pointers of the nodes of the hierarchical tree based on the placing.
A system, comprising:
- a memory unit for storing a computer program for interning invariant data objects in dynamic space constrained systems;
- and
- a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises:
- circuitry for providing a list of least recently used invariant data objects, wherein the list includes a predetermined quantity of nodes that are associated with invariant data objects, wherein the nodes are positioned in the list based on a recentness of use of their associated invariant data objects, and wherein each of the nodes includes a first set of pointers that point to other nodes based on the positioning of the nodes in the list;
- circuitry for providing a hierarchical tree corresponding to the list, wherein hierarchical tree includes all of the nodes in the list;
- circuitry for reading an invariant data object;
- circuitry for placing a node associated with the invariant data object at the head of the list;
- circuitry for rearranging the first set of pointers of the nodes of the hierarchical tree based on the placing;
- and
- circuitry for deleting the node at the tail of the list from both the list and the hierarchical tree to prevent the predetermined quantity from being exceeded;
- wherein a tail of the list is occupied by a node associated with a least recently used invariant data object.
Dependencies are inferred from the claim text.