ADDRESS GENERATION IN DISTRIBUTED SYSTEMS USING TREE METHOD
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, for managing a cluster of servers organized into nodes. A method of one aspect includes establishing a cluster; establishing a set of ultimate identifiers for nodes resulting from splitting in the cluster; and storing every new data object on a node that has a node identifier that identifies a subset of the set of ultimate identifiers, and providing for the object a universal identifier that combines (i) an object identifier that is unique on the node and (ii) a server identifier that is one of the ultimate identifiers in the subset. A method of another aspect includes generating for a new data object a universal identifier that has a node identifier part that uniquely identifies a node, a reserve part generated at least in part as a pseudo-random value, and an object identifier part that uniquely identifies the object in the node.
11 Citations
19 Claims
-
1. (canceled)
-
2. A computer-implemented method for generating an identifier for a new data object to be stored in a cluster of back-end servers of the kind where the cluster is organized into a plurality of nodes where each of the plurality of nodes in the cluster has a node identifier that is unique in the cluster, and where every back-end server in any of the plurality of nodes mirrors every other back-end server in the same node, the method comprising:
-
selecting a path of a binary tree structure based on a capacity of nodes along the path, the tree structure comprising the plurality of nodes organized in the structure; identifying a first node at an end of the path in which the new data object is to be stored; generating a universal identifier for the new data object, the universal identifier having a node identifier part that uniquely identifies the first node in the cluster, a reserve part that is generated, at least in part, as a pseudo-random value, and an object identifier part that uniquely identifies the object in the first node; and based on a node split creating at least two new nodes from the first node, setting one or more bits of the reserve part to identify a particular node of the new nodes, on which the new data object is stored following the split. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium for generating an identifier for a new data object to be stored in a cluster of back-end servers of the kind where the cluster is organized into a plurality of nodes where each of the plurality of nodes in the cluster has a node identifier that is unique in the cluster, and where every back-end server in any of the plurality of nodes mirrors every other back-end server in the same node, the medium comprising instructions operable to cause data processing apparatus to:
-
select a path of a binary tree structure based on a capacity of nodes along the path, the tree structure comprising the plurality of nodes organized in the structure; determine a first node at an end of the path; generate a universal identifier for the new data object, the universal identifier having a node identifier part that uniquely identifies the first node in the cluster, a reserve part that is generated, at least in part, as a pseudo-random value, and an object identifier part that uniquely identifies the object in the first node; and based on a node split creating at least two new nodes from the first node, set one or more bits of the reserve part to identify a particular node of the new nodes, on which the new data object is stored following the split. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system for generating an identifier for a new data object to be stored in a cluster of back-end servers of the kind where the cluster is organized into a plurality of nodes where each of the plurality of nodes in the cluster has a node identifier that is unique in the cluster, and where every back-end server in any of the plurality of nodes mirrors every other back-end server in the same node, the system comprising:
-
data processing apparatus; and a computer-readable medium storing instructions executable by the data processing apparatus to perform operations comprising; selecting a path of a binary tree structure based on a capacity of nodes along the path, the tree structure comprising the plurality of nodes organized in the structure; determining a first node at an end of the path in which the new data object is to be stored; generating a node identifier for the new data object that uniquely identifies the first node in the cluster for storing the new data object; generating a universal identifier for the new data object, the universal identifier having a node identifier part for the node identifier, a reserve part that is generated, at least in part, as a pseudo-random value, and an object identifier part that uniquely identifies the object in the first node; and setting one or more bits of the reserve part, based on a node split creating at least two new nodes from the first node, to identify a particular node of the new nodes, on which the new data object is stored following the split. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification