Providing a distributed balanced tree across plural servers
First Claim
Patent Images
1. A method, executed by at least one processor, of accessing data, comprising:
- accessing, by the at least one processor during an operation, a distributed balanced tree having a plurality of nodes distributed across plural servers;
accessing, by the at least one processor, version information associated with the nodes of the distributed balanced tree;
during the operation, checking, by the at least one processor, the version information to determine whether content of one or more nodes of the distributed balanced tree has changed during the operation;
in response to determining based on checking the version information that the content of the one or more nodes of the distributed balanced tree has changed, aborting the operation; and
replicating the version information of at least a particular one of the nodes of the distributed balanced tree on multiple servers, wherein replicating the version information comprises replicating version information of higher-level nodes in the distributed balanced tree on a greater number of servers than version information of lower-level nodes in the distributed balanced tree.
2 Assignments
0 Petitions
Accused Products
Abstract
To access data, a distributed balanced tree having nodes distributed across plural servers is accessed. Version information is associated with the nodes of the distributed balanced tree. During an operation that accesses the distributed balanced tree, the version information is checked to determine whether content of one or more nodes of the distributed balanced tree has changed during the operation.
27 Citations
19 Claims
-
1. A method, executed by at least one processor, of accessing data, comprising:
-
accessing, by the at least one processor during an operation, a distributed balanced tree having a plurality of nodes distributed across plural servers; accessing, by the at least one processor, version information associated with the nodes of the distributed balanced tree; during the operation, checking, by the at least one processor, the version information to determine whether content of one or more nodes of the distributed balanced tree has changed during the operation; in response to determining based on checking the version information that the content of the one or more nodes of the distributed balanced tree has changed, aborting the operation; and replicating the version information of at least a particular one of the nodes of the distributed balanced tree on multiple servers, wherein replicating the version information comprises replicating version information of higher-level nodes in the distributed balanced tree on a greater number of servers than version information of lower-level nodes in the distributed balanced tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16)
-
-
14. A method comprising:
-
storing a distributed B-tree across plural servers; storing version information associated with nodes of the distributed B-tree; receiving, by at least one processor, a request, during an operation that accesses the distributed B-tree, to validate version information of the nodes; providing feedback, to a client computer, regarding the validating of the version information; receiving, from the client computer, an indication whether to abort or commit a modification of one or more nodes of the distributed B-tree performed by the operation, wherein the indication is responsive to the feedback; checking for at least one server that is hanging due to no receipt of the indication; and causing an abort or commit of the modification if the checking finds the at least one server that is hanging. - View Dependent Claims (17, 18)
-
-
15. A non-transitory computer-usable storage medium containing instructions that when executed cause at least one computer to:
-
access, during an operation, a distributed balanced tree having a plurality of nodes distributed across plural servers; access version information associated with the nodes of the distributed balanced tree; during the operation, check the version information to determine whether content of one or more nodes of the distributed balanced tree has changed during the operation; in response to determining based on checking the version information that the content of the one or more nodes of the distributed balanced tree has changed, abort the operation; and replicate the version information of at least a particular one of the nodes of the distributed balanced tree on multiple servers, wherein replicating the version information comprises replicating version information of higher-level nodes in the distributed balanced tree on a greater number of servers than version information of lower-level nodes in the distributed balanced tree. - View Dependent Claims (19)
-
Specification