IP Library Granted Patent US 7,958,152
Granted Patent B2
US 7,958,152 · App. 12/140,931 · Granted Jun 7, 2011

Elimination of redundant objects in storage systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,958,152
App. No.
12/140,931
Granted
Jun 7, 2011
Kind
B2
Abstract

Provided are a method, system, and article of manufacture, wherein a data structure corresponding to a set of client nodes selected from a plurality of client nodes is generated. Objects from the selected set of client nodes are stored in the data structure. A determination is made that an object corresponding to a client node of the selected set of client nodes has to be stored. An additional determination is made as to whether the object has already been stored in the data structure by any client node of the selected set of client nodes. The object is stored in the data structure, in response to determining that the object has not already been stored in the data structure by any client node of the selected set of client nodes.

Claims (49)

1. A system, wherein a server node is coupled to a plurality of client nodes, the system comprising:

memory; and

processor coupled to the memory, wherein the processor is operable to:

(i) generate a data structure corresponding to a set of client nodes selected from the plurality of client nodes;

(ii) store, in the data structure, objects from the selected set of client nodes;

(iii) determine that an object corresponding to a client node of the selected set of client nodes has to be stored;

(iv) determine whether the object has already been stored in the data structure by any client node of the selected set of client nodes; and

(v) store the object in the data structure, in response to determining that the object has not already been stored in the data structure by any client node of the selected set of client nodes, wherein the selected set of client nodes share common objects that are stored in the data structure on the server node, and wherein redundant files are eliminated by storing the common objects of the selected set of client nodes in the data structure generated on the server node.

2. The system of claim 1 , wherein the processor is further operable to:

store database entries for the objects stored in the data structure corresponding to the selected set of client nodes, wherein the database entries include metadata corresponding to the objects; and

include in the metadata, insertion time for the objects and the number of client nodes that reference the objects, wherein the number of objects stored in the data structure is limited based on insertion times for the objects and the number of client nodes that reference the objects.

3. The system of claim 2 , wherein the processor is further operable to:

receive, from one client, a request to delete one object;

dereference a pointer to the one object stored in the data structure, wherein the pointer is associated with inventory entries specific to the one client;

decrement the number of client nodes that references the one object; and

delete the one object from the data structure, in response to determining that no client nodes reference the one object.

4. The system of claim 1 , wherein the server node and the set of client nodes can communicate in a client server environment and in a peer to peer environment.

5. An article of manufacture for controlling a server node that is coupled to a plurality of client nodes, wherein the article of manufacture is capable of causing operations, the operations comprising:

generating a data structure corresponding to a set of client nodes selected from the plurality of client nodes;

storing, in the data structure, objects from the selected set of client nodes;

determining that an object corresponding to a client node of the selected set of client nodes has to be stored;

determining whether the object has already been stored in the data structure by any client node of the selected set of client nodes; and

storing the object in the data structure, in response to determining that the object has not already been stored in the data structure by any client node of the selected set of client nodes, wherein the selected set of client nodes share common objects that are stored in the data structure on the server node, and wherein redundant files are eliminated by storing the common objects of the selected set of client nodes in the data structure generated on the server node.

6. The article of manufacture of claim 5 , wherein the article of manufacture is a computer readable medium.

7. The article of manufacture of claim 5 , the operations further comprising:

storing database entries for the objects stored in the data structure corresponding to the selected set of client nodes, wherein the database entries include metadata corresponding to the objects; and

including in the metadata, insertion time for the objects and the number of client nodes that reference the objects, wherein the number of objects stored in the data structure is limited based on insertion times for the objects and the number of client nodes that reference the objects.

8. The article of manufacture of claim 7 , the operations further comprising:

receiving, from one client, a request to delete one object;

dereferencing a pointer to the one object stored in the data structure, wherein the pointer is associated with inventory entries specific to the one client;

decrementing the number of client nodes that references the one object; and

deleting the one object from the data structure, in response to determining that no client nodes reference the one object.

9. The article of manufacture of claim 5 , wherein the server node and the set of client nodes can communicate in a client server environment and in a peer to peer environment.

10. A system, comprising:

a server node;

a plurality of client nodes coupled to the server node;

means for generating a data structure corresponding to a set of client nodes selected from the plurality of client nodes;

means for storing, in the data structure, objects from the selected set of client nodes;

means for determining that an object corresponding to a client node of the selected set of client nodes has to be stored;

means for determining whether the object has already been stored in the data structure by any client node of the selected set of client nodes; and

means for storing the object in the data structure, in response to determining that the object has not already been stored in the data structure by any client node of the selected set of client nodes, wherein the selected set of client nodes share common objects that are stored in the data structure on the server node, and wherein redundant files are eliminated by storing the common objects of the selected set of client nodes in the data structure generated on the server node.

11. The system of claim 10 , further comprising:

means for storing database entries for the objects stored in the data structure corresponding to the selected set of client nodes, wherein the database entries include metadata corresponding to the objects; and

means for including in the metadata, insertion time for the objects and the number of client nodes that reference the objects, wherein the number of objects stored in the data structure is limited based on insertion times for the objects and the number of client nodes that reference the objects.

12. The system of claim 11 , further comprising:

means for receiving, from one client, a request to delete one object;

means for dereferencing a pointer to the one object stored in the data structure, wherein the pointer is associated with inventory entries specific to the one client;

means for decrementing the number of client nodes that references the one object; and

means for deleting the one object from the data structure, in response to determining that no client nodes reference the one object.

Assignments (1)
CONFIRMATORY ASSIGNMENT Recorded Jan 21, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HGST NETHERLANDS B.V.
Reel/Frame 037569/0153 →