IP Library Granted Patent US 11,899,640
Granted Patent B2
US 11,899,640 · App. 17/542,553 · Granted Feb 13, 2024

Method of building and appending data structures in a multi-host environment

Inventors: Kelsey L Bruso (Eagan, MN); James M Plasek (Eagan, MN)
Assignee: UNISYS CORPORATION
G06F16/2246G06F16/2343G06F16/2379
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 11,899,640
App. No.
17/542,553
Granted
Feb 13, 2024
Kind
B2
Abstract

A processor-based method of building and appending data structures in a multi-host environment includes creating and storing data into a first data structure having a first root node, a first right leaf node and a plurality of other leaf nodes and non-leaf nodes defining multiple hierarchical levels; allowing a search of the first data structure to proceed while creating a second data structure that includes a second root node, a second left leaf node and a plurality of leaf nodes and non-leaf nodes defining multiple hierarchical levels; receiving a command to append the second data structure to the first data structure during searching the first data structure; creating a global lock for all hosts in the multi-host environment to the first root node and the first right leaf node of the first data structure while allowing access to the plurality of other leaf nodes and non-leaf nodes of the first data structure; updating the first root node and the first right leaf node with information about the second data structure; committing the update of the first root node and the first right leaf node; releasing the global lock to the first root node and the first right leaf node; and sending updated copies of the first root node and the first right leaf node to other hosts in a multi-host environment.

Claims (38)

1. A processor-based method of building and appending data structures in a multi-host environment, comprising:

creating and storing data into a first data structure having a first root node, a first right leaf node and a plurality of other leaf nodes and non-leaf nodes defining multiple hierarchical levels:

allowing a search of the first data structure to proceed while creating a second data structure that includes a second root node, a second left leaf node and a plurality of leaf nodes and non-leaf nodes defining multiple hierarchical levels;

receiving a command to append the second data structure to the first data structure during searching the first data structure;

creating a lock for all hosts in the multi-host environment to the first root node and the first right leaf node of the first data structure while allowing access to the plurality of other leaf nodes and non-leaf nodes of the first data structure;

updating the first root node and the first right leaf node with intonation about the second data structure;

committing the update of the first root node and the first right leaf node;

releasing the lock to the first root node and the first right leaf node;

sending updated copies of the first root node and the first right leaf node to other hosts in a multi-host environment;

wherein the maximum database size and transaction rate is increased by allowing access by multi-hosts to all other nodes in the first data structure during appending the second data structure; and

determining if the smallest value of the second left leaf node is greater than a largest value of the first right leaf node and, if not, stopping and issuing an error.

2. The method of claim 1 , wherein updating includes updating the first root node to point to the second root node and updating the first right leaf node to point to the second left leaf node.

3. The method of claim 1 , wherein the lock is a retrieval lock and further comprising placing a global update lock on the first root node and the first right node.

4. The method of claim 3 , wherein updating includes updating a record of the first root note with information from a record of the second root node.

5. The method of claim 1 , wherein the first and second data structures are B+ tree structures.

6. The method of claim 1 , further comprising after receiving a command to append, ensuring that the second data structure is not loaded into memory.

7. The method of claim 6 , further comprising after releasing the global lock, allowing the second data structure to be loaded into memory.

8. The method of claim 1 , further comprising preventing concurrent updates to the first data structure.

9. The method of claim 1 , further comprising reading the first data structure into in-memory cache prior to updating to speed up the grafting process so that access to the first root node and first right leaf node can be restored.

10. A computer program product, comprising:

a non-transitory computer readable medium comprising instructions which, when executed by a processor of a computing system, cause the processor to perform the steps of:

creating and storing data into a first data structure having a first root node, a first right leaf node and a plurality of other leaf nodes and non-leaf nodes defining multiple hierarchical levels;

allowing a search of the first data structure to proceed while creating a second data structure that includes a second root node, a second left leaf node and a plurality of leaf nodes and non-leaf nodes defining multiple hierarchical levels;

receiving a command to append the second data structure to the first data structure during searching the first data structure;

creating a lock for all hosts in the multi-host environment to the first root node and the first right leaf node of the first data structure while allowing access to the plurality of other leaf nodes and non-leaf nodes of the first data structure;

updating the first root node and the first right leaf node with information about the second data structure:

committing the update of the first root node and the first right leaf node;

releasing the lock to the first root node and the first right leaf node;

sending updated copies of the first root node and the first right leaf node to other hosts in a multi-host environment; and

determining if the smallest value of the second left leaf node is greater than a largest value of the first right leaf node and, if not, stopping and issuing an error.

11. The computer program product of claim 10 , wherein updating includes updating the first root node to point to the second root node and updating includes updating the first right leaf node to point to the second left leaf node.

12. The computer program product of claim 10 , wherein the lock is a retrieval lock and further comprising placing a global update lock on the first root node and the first right node.

13. The computer program product of claim 12 , wherein updating includes updating a record of the first root note with information from a record of the second root node.

14. The computer program product of claim 10 , wherein the first and second data structures are B+ tree structures.

15. The computer program product of claim 10 , further comprising after receiving a command to append, ensuring that the second data structure is not loaded into memory.

16. The computer program product of claim 15 , further comprising after releasing the global lock, allowing the second data structure to be loaded into memory.

17. The computer program product of claim 10 , further comprising preventing concurrent updates to the first data structure.

18. The computer program product of claim 10 , further comprising reading the first data structure into in-memory cache prior to updating to speed up the grafting process so that access to the first root node and first right leaf node can be restored.

Assignments (2)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2023
From: BRUSO, KELSEY L; PLASEK, JAMES M
To: UNISYS CORPORATION
Reel/Frame 065071/0557 →
Continuity (1)
Related Publication 20230177033A1 · Jun 8, 2023