IP Library Granted Patent US 8,010,569
Granted Patent B2
US 8,010,569 · App. 12/319,030 · Granted Aug 30, 2011

Adding and subtracting KStores

Assignee: Unisys Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,010,569
App. No.
12/319,030
Granted
Aug 30, 2011
Kind
B2
Abstract

The KStore is a datastore made up of a forest of interconnected, highly unconventional trees of one or more levels. One KStore can be added to an existing KStore to create an updated KStore by traversing the trees of the KStores and incrementing the count fields to reflect the added counts of analogous nodes. New KStore structure is added as needed. A KStore can be subtracted from an existing KStore to create an updated KStore by traversing trees KStores and decrementing the count fields in the updated KStore to reflect the subtracted counts of analogous nodes. KStore structure is removed as needed. Portions of a KStore can be added or subtracted from another KStore by isolating the paths to be used for updating. Instead of incrementing or decrementing counts, a dataset of individual records can be recreated from the KStore.

Claims (55)

1. A computer-based system that updates KStores datastores within randomly accessible memory attached to the computer-based system, the system comprising:

an engine for processing KStores, a KStore comprising an interlocking trees datastore comprising:

a processor;

elemental root nodes:

subcomponent nodes; and

end product nodes linked by asCase and asResult bi-directional links that create asCase and asResult paths within the interlocking trees datastore;

wherein an asCase link represents a link to the first of the two nodes from which a node is created; and

asResult link represents a link to the second of the two nodes from which a node is created;

an asCase path comprises a sequence of subcomponent nodes linked with bi-directional asCase links ending with an end product node and where each subcomponent node in the asCase path has a bi-directional asResult link to an elemental root node or end product node comprising an asResult tree;

the KStore processing engine updates an existing KStore to create an updated KStore by updating counts of analogous nodes based on the counts of the nodes in the updating KStore; and

the portion of the updating KStore is isolated by following links of root nodes to subcomponent nodes, traversing an asCase path of the subcomponent node to an end product node of the asCase path, and determining a count associated with the isolated portion of the updating KStore.

2. The computer-based system of claim 1 , wherein the engine creates individual dataset records and sends the individual dataset records to the KStore to be updated.

3. The computer-based system of claim 1 , wherein a portion not comprising the entirety of the updating KStore is used to update the updated KStore.

4. The computer-based system of claim 1 , wherein a count associated with nodes of the updated KStore analogous to nodes of the updating KStore are incremented by a count associated with the nodes of the updating KStore.

5. The computer-based system of claim 1 , wherein a count associated with nodes of the updated KStore analogous to nodes of the updating KStore are decremented by a count associated with the nodes of the updating KStore.

6. The computer-based system of claim 1 , wherein the KStore processing engine, in response to determining that the existing KStore does not include analogous nodes to nodes of the updating KStore, nodes analogous to nodes of the updating KStore are added to the updated KStore, the added nodes associated with a count equal to the count of the updating nodes.

7. The computer-based system of claim 1 , wherein the KStore processing engine, in response to determining that a count associated with nodes of the updated KStore is zero or less than zero resulting from updating the updated KStore with the updating KStore, removes nodes of the updated KStore.

8. A computer implemented method for updating KStores datastores within randomly accessible memory attached to a computer-based system, the method comprising:

determining counts of nodes in an updating KStore processed by a KStore computer, the determined counts associated with nodes used to update counts of analogous nodes of an updated KStore;

updating the counts of the analogous nodes in the updated KStore,

wherein a KStore comprises an interlocking trees datastore comprising:

elemental root nodes;

subcomponent nodes; and

end product nodes linked by asCase and asResult bi-directional links that create asCase and asResult paths within the interlocking trees datastore;

an asCase link represents a link to the first of the two nodes from which a node is created;

asResult link represents a link to the second of the two nodes from which a node is created; and

an asCase path comprises a sequence of subcomponent nodes linked with bi-directional asCase links ending with an end product node and where each subcomponent node in the asCase path has a bi-directional asResult link to an elemental root node or end product node comprising an asResult tree.

9. The computer implemented method of claim 8 , wherein a portion of the updating KStore is used to update the updated KStore.

10. The computer implemented method of claim 9 , further comprising:

isolating the portion of the updating KStore to be used to update the updated KStore by following links of root nodes to subcomponent nodes, traversing an asCase path of the subcomponent node to an end product node of the asCase path.

11. The computer implemented method of claim 8 , further comprising:

creating a dataset of individual records from paths of the updating KStore.

12. The computer implemented method of claim 8 , further comprising:

updating counts of the analogous nodes in the updated KStore by adding the counts of the nodes in the updating KStore or by subtracting the counts of the nodes in the updating KStore.

13. The computer implemented method of claim 8 , further comprising adding new nodes to the updated KStore or deleting nodes from the updated KStore.

14. A non-transitory computer-readable storage medium comprising computer-executable instructions that when executed, cause a computing environment to:

update a first KStore datastore comprising an existing KStore datastore with a second KStore datastore comprising an updating KStore datastore to generate a third KStore datastore comprising an updated KStore datastore by updating counts of nodes in the updated KStore datastore, the nodes in the updated KStore datastore analogous to nodes in the updating KStore datastore;

wherein a KStore datastore comprises an interlocking trees datastore comprising:

elemental root nodes;

subcomponent nodes; and

end product nodes linked by asCase and asResult bi-directional links that create asCase and asResult paths within the interlocking trees datastore;

an asCase link represents a link to the first of the two nodes from which a node is created; and

asResult link represents a link to the second of the two nodes from which a node is created;

an asCase path comprises a sequence of subcomponent nodes linked with bi-directional asCase links ending with an end product node and where each subcomponent node in the asCase path has a bi-directional asResult link to an elemental root node or end product node comprising an asResult tree.

15. The non-transitory computer-readable storage medium of claim 14 , comprising further computer-executable instructions that when executed cause the computing environment to:

add counts associated with the nodes in the updating KStore to the counts of analogous nodes in the updated KStore or subtract counts associated with the nodes in the updating KStore from the counts of analogous nodes in the updated KStore.

16. The non-transitory computer-readable storage medium of claim 15 , comprising further computer-executable instructions that when executed cause the computing environment to:

remove a node from the updated KStore in response to determining that a count of the node is zero or less than zero.

17. The non-transitory computer-readable storage medium of claim 15 , comprising further computer-executable instructions that when executed cause the computing environment to:

isolate a portion of an updating KStore to update the updated KStore by following links of elemental root nodes to subcomponent nodes, traversing an asCase path of the subcomponent node to an end product node of the asCase path.

18. The non-transitory computer-readable storage medium of claim 14 , comprising further computer-executable instructions that when executed cause the computing environment to:

add new paths to the updated KStore analogous to paths in the updating KStore in response to determining that a node in the updating KStore has no analogous node in the existing KStore.

19. The non-transitory computer-readable storage medium of claim 14 , comprising further computer-executable instructions that when executed cause the computing environment to:

update the updated KStore by sending individual records of a dataset created from the updating KStore to the existing KStore, wherein the individual records of the dataset are applied to the existing KStore to create the updated KStore; or

update the updated KStore by sending individual records of a dataset created from a portion of the updating KStore to the existing KStore, wherein the individual records of the dataset are applied to the existing KStore to create the updated KStore.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Feb 10, 2009
From: UNISYS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 022237/0172 →
Continuity (1)
Related Publication 20100169372A1 · Jul 1, 2010