Efficiently linking storage object replicas in a computer network
First Claim
Patent Images
1. A computer-readable storage medium storing program instructions executable to implement a method comprising:
- a first node storing a first replica of a first storage object;
the first node sending location information for the first replica of the first storage object to a second node, wherein the location information specifies that the first replica of the first storage object is stored on the first node;
a third node storing a second replica of the first storage object;
the third node querying the second node to obtain the location information for the first replica of the first storage object;
in response to determining that the location information specifies that the first replica of the first storage object is stored on the first node, the third node initiating an operation to create first routing information for sending messages from the third node to the first replica of the first storage object on the first node;
sending a publish message from the third node to the first replica of the first storage object on the first node using the first routing information; and
creating second routing information for sending messages from the first node to the second replica of the first storage object on the third node in response to the publish message.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method for efficiently linking together replicas of a storage object. The location of a first replica of the storage object may be stored on a node in a network. When new replicas of the storage object are created, the node that stores the new replica may efficiently lookup the location of the first replica and utilize the location information to perform an efficient process to link the new replica to the first replica and any other existing replicas by causing routing information to be created on various nodes.
-
Citations
27 Claims
-
1. A computer-readable storage medium storing program instructions executable to implement a method comprising:
-
a first node storing a first replica of a first storage object; the first node sending location information for the first replica of the first storage object to a second node, wherein the location information specifies that the first replica of the first storage object is stored on the first node; a third node storing a second replica of the first storage object; the third node querying the second node to obtain the location information for the first replica of the first storage object; in response to determining that the location information specifies that the first replica of the first storage object is stored on the first node, the third node initiating an operation to create first routing information for sending messages from the third node to the first replica of the first storage object on the first node; sending a publish message from the third node to the first replica of the first storage object on the first node using the first routing information; and creating second routing information for sending messages from the first node to the second replica of the first storage object on the third node in response to the publish message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
- a plurality of nodes, wherein each of the plurality of nodes includes memory storing program instructions executable to implement a method comprising;
a first node of the plurality of nodes storing a first replica of a first storage object;
the first node sending location information for the first replica of the first storage object to a second node of the plurality of nodes, wherein the location information specifies that the first replica of the first storage object is stored on the first node;
a third node of the plurality of nodes storing a second replica of the first storage object;
the third node querying the second node to obtain the location information for the first replica of the first storage object;
in response to determining that the location information specifies that the first replica of the first storage object is stored on the first node, the third node initiating an operation to create first routing information for sending messages from the third node to the first replica of the first storage object on the first node;
sending a publish message from the third node to the first replica of the first storage object on the first node using the first routing information; and
creating second routing information for sending messages from the first node to the second replica of the first storage object on the third node in response to the publish message. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- a plurality of nodes, wherein each of the plurality of nodes includes memory storing program instructions executable to implement a method comprising;
-
19. A method comprising:
-
a first node storing a first replica of the first storage object; the first node sending location information for the first replica of the first storage object to a second node, wherein the location information specifies that the first replica of the first storage object is stored on the first node; a third node storing a second replica of the first storage object; the third node querying the second node to obtain the location information for the first replica of the first storage object; in response to determining that the location information specifies that the first replica of the first storage object is stored on the first node, the third node initiating an operation to create first routing information for sending messages from the third node to the first replica of the first storage object on the first node; sending a publish message from the third node to the first replica of the first storage object on the first node using the first routing information; and creating second routing information for sending messages from the first node to the second replica of the first storage object on the third node in response to the-publish message. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification