Logical grouping and management of redundant objects in storage systems
First Claim
1. A method, comprising:
- maintaining a plurality of client nodes coupled to a server node, wherein the plurality of client nodes includes at least a first client node and a second client node;
determining that a current object corresponding to the first client node has to be stored;
determining, by the first client node, whether a base object corresponding to a current object exists on both the first client node and the server node;
generating, by the first client node, a delta object by calculating a difference between the current object and the base object, in response to determining that the base object corresponding to the current object exists on both the first client node and the server node;
sending, by the first client node, the generated delta object to the server, in response to determining by the server node that the generated delta object does not exist on the server node, wherein objects and representations of objects stored in the server node form a plurality of groups,wherein group relationships between the objects stored on the server are preserved while reducing redundancy among the objects stored on the server;
referencing, by the server node, a previously stored delta object sent by the second client node, in response to determining by the server node that the generated delta object exists on the server node, wherein the previously stored delta object is included a group;
determining a need for restoring to the first client node the group stored in the server node, wherein the group has been updated at a selected time at the server node, wherein the group includes selected objects sent to the server node by at least the first client node and the second client node, wherein any object that is already present in the server node is not sent once again to the server node by any client node of the plurality of client nodes; and
restoring, by the server node to the first client node, the selected objects included in the group stored in the server node, by using at least the referenced previously stored delta object.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, system, and article of manufacture, wherein a determination is made that an object corresponding to a first client node has to be stored. A further determination is made as to whether the object has already been sent to a server node by a second client node, wherein the sent object is stored in the server node and is represented by a first entry, and wherein objects and representations of objects stored in the server node form a plurality of groups. The server node receives the object from the first client node, in response to determining that the object has not already been stored in the server node by the second client node. A second entry representing the object is stored at the server node, wherein the second entry references the first entry, in response to determining that the object has already been stored in the server node by the second client node.
-
Citations
15 Claims
-
1. A method, comprising:
-
maintaining a plurality of client nodes coupled to a server node, wherein the plurality of client nodes includes at least a first client node and a second client node; determining that a current object corresponding to the first client node has to be stored; determining, by the first client node, whether a base object corresponding to a current object exists on both the first client node and the server node; generating, by the first client node, a delta object by calculating a difference between the current object and the base object, in response to determining that the base object corresponding to the current object exists on both the first client node and the server node; sending, by the first client node, the generated delta object to the server, in response to determining by the server node that the generated delta object does not exist on the server node, wherein objects and representations of objects stored in the server node form a plurality of groups, wherein group relationships between the objects stored on the server are preserved while reducing redundancy among the objects stored on the server; referencing, by the server node, a previously stored delta object sent by the second client node, in response to determining by the server node that the generated delta object exists on the server node, wherein the previously stored delta object is included a group; determining a need for restoring to the first client node the group stored in the server node, wherein the group has been updated at a selected time at the server node, wherein the group includes selected objects sent to the server node by at least the first client node and the second client node, wherein any object that is already present in the server node is not sent once again to the server node by any client node of the plurality of client nodes; and restoring, by the server node to the first client node, the selected objects included in the group stored in the server node, by using at least the referenced previously stored delta object. - View Dependent Claims (2, 3)
-
-
4. A method for deploying computing infrastructure, comprising integrating computer-readable code into a computing system, wherein the code in combination with the computing system is capable of performing:
-
maintaining a plurality of client nodes coupled to a server node, wherein the plurality of client nodes includes at least a first client node and a second client node; determining that a current object corresponding to the first client node has to be stored; determining, by the first client node, whether a base object corresponding to a current object exists on both the first client node and the server node; generating, by the first client node, a delta object by calculating a difference between the current object and the base object, in response to determining that the base object corresponding to the current object exists on both the first client node and the server node; sending, by the first client node, the generated delta object to the server, in response to determining by the server node that the generated delta object does not exist on the server node, wherein objects and representations of objects stored in the server node form a plurality of groups, wherein group relationships between the objects stored on the server are preserved while reducing redundancy among the objects stored on the server; referencing, by the server node, a previously stored delta object sent by the second client node, in response to determining by the server node that the generated delta object exists on the server node, wherein the previously stored delta object is included a group; determining a need for restoring to the first client node the group stored in the server node, wherein the group has been updated at a selected time at the server node, wherein the group includes selected objects sent to the server node by at least the first client node and the second client node, wherein any object that is already present in the server node is not sent once again to the server node by any client node of the plurality of client nodes; and restoring, by the server node to the first client node, the selected objects included in the group stored in the server node, by using at least referenced previously stored delta object. - View Dependent Claims (5, 6)
-
-
7. A system, wherein a server node is coupled to a plurality of client nodes, the system comprising:
-
a memory; and a processor coupled to the memory, wherein the processor performs operations, the operations comprising; determining that a current object corresponding to a first client node has to be stored; determining, by the first client node, whether a base object corresponding to a current object exists on both the first client node and the server node; generating, by the first client node, a delta object by calculating a difference between the current object and the base object, in response to determining that the base object corresponding to the current object exists on both the first client node and the server node; sending, by the first client node, the generated delta object to the server, in response to determining by the server node that the generated delta object does not exist on the server node, wherein objects and representations of objects stored in the server node form a plurality of groups, wherein group relationships between the objects stored on the server are preserved while reducing redundancy among the objects stored on the server; referencing, by the server node, a previously stored delta object sent by a second client node, in response to determining by the server node that the generated delta object exists on the server node, wherein the previously stored delta object is included a group; determining a need for restoring to the first client node the group stored in the server node, wherein the group has been updated at a selected time at the server node, wherein the group includes selected objects sent to the server node by at least the first client node and the second client node, wherein any object that is already present in the server node is not sent once again to the server node by any client node of the plurality of client nodes; and restoring, by the server node to the first client node, the selected objects included in the group stored in the server node, by using at least referenced previously stored delta object. - View Dependent Claims (8, 9)
-
-
10. A computer readable storage medium, wherein the computer readable storage medium includes code for controlling a server node that is coupled to a plurality of client nodes, wherein the code when executed by a processor causes operations, the operations comprising:
-
determining that a current object corresponding to a first client node has to be stored; determining, by the first client node, whether a base object corresponding to a current object exists on both the first client node and the server node; generating, by the first client node, a delta object by calculating a difference between the current object and the base object, in response to determining that the base object corresponding to the current object exists on both the first client node and the server node; sending, by the first client node, the generated delta object to the server, in response to determining by the server node that the generated delta object does not exist on the server node, wherein objects and representations of objects stored in the server node form a plurality of groups, wherein group relationships between the objects stored on the server are preserved while reducing redundancy among the objects stored on the server; referencing, by the server node, a previously stored delta object sent by a second client node, in response to determining by the server node that the generated delta object exists on the server node, wherein the previously stored delta object is included a group; determining a need for restoring to the first client node the group stored in the server node, wherein the group has been updated at a selected time at the server node, wherein the group includes selected objects sent to the server node by at least the first client node and the second client node, wherein any object that is already present in the server node is not sent once again to the server node by any client node of the plurality of client nodes; and restoring, by the server node to the first client node, the selected objects included in the group stored in the server node, by using at least referenced previously stored delta object. - View Dependent Claims (11, 12)
-
-
13. A system, comprising:
-
a server node; a plurality of client nodes coupled to the server node; means for determining that a current object corresponding to a first client node has to be stored; means for determining, by the first client node, whether a base object corresponding to a current object exists on both the first client node and the server node; means for generating, by the first client node, a delta object by calculating a difference between the current object and the base object, in response to determining that the base object corresponding to the current object exists on both the first client node and the server node; means for sending, by the first client node, the generated delta object to the server, in response to determining by the server node that the generated delta object does not exist on the server node, wherein objects and representations of objects stored in the server node form a plurality of groups, wherein group relationships between the objects stored on the server are preserved while reducing redundancy among the objects stored on the server; means for referencing, by the server node, a previously stored delta object sent by a second client node, in response to determining by the server node that the generated delta object exists on the server node, wherein the previously stored delta object is included a group; means for determining a need for restoring to the first client node the group stored in the server node, wherein the group has been updated at a selected time at the server node, wherein the group includes selected objects sent to the server node by at least the first client node and the second client node, wherein any object that is already present in the server node is not sent once again to the server node by any client node of the plurality of client nodes; and means for restoring, by the server node to the first client node, the selected objects included in the group stored in the server node, by using at least referenced previously stored delta object. - View Dependent Claims (14, 15)
-
Specification