×

Address generation in distributed systems using tree method

  • US 9,444,732 B2
  • Filed: 07/29/2013
  • Issued: 09/13/2016
  • Est. Priority Date: 12/24/2003
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method comprising:

  • generating an identifier for each of a plurality of data objects 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;

    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 plurality of data objects are to be stored;

    for each data object of the plurality of data objects, generating a universal identifier for the 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 data object in the first node, wherein, for each data object, one or more leading reserve bits of the reserve part for the data object have the same value;

    based on a node split creating at least two new nodes from the first node, i) maintaining a locality of the plurality of data objects based on the one or more leading reserve bits having the same value, and ii) setting, for each data object of the plurality of data objects, one or more other bits of the reserve part to identify a particular node of the new nodes, on which the data object is stored following the split; and

    load balancing the nodes by navigating the binary tree to select particular node based on relative loads on the other nodes of the cluster.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×