Patent ID: 7657543

Claim:
A method for storing copies of an object, comprising: obtaining the object comprising a globally unique identifier (GUID); generating a first derived GUID by applying a hash function to the GUID of the object; assigning a root node to the object based on the GUID, wherein the root node is included in a distributed object store (DOS); storing a first copy of the object in the root node, wherein the first copy of the object is identified by the first derived GUID; publishing possession of the first copy of the object by the root node of the object; associating a first shadow root with the first copy of the object based on the first derived GUID, wherein the first shadow root is included in the DOS; storing a second copy of the object in the first shadow root, wherein the second copy of the object is identified by the GUID; decrementing a counter wherein the counter comprises a number of shadow roots to store copies of the object; generating a second derived GUID using the first derived GUID; storing a third copy of the object in the root node of the object, wherein the third copy of the object is identified by the second derived GUID; publishing possession of the third copy of the object by the root node of the object; associating a second shadow root with the third copy of the object based on the second derived GUID, wherein the second shadow root is included in the DOS; and storing a fourth copy of the object in the second shadow root, wherein the fourth copy of the object is identified by the GUID.