IP Library Granted Patent US 7,403,949
Granted Patent B2
US 7,403,949 · App. 11/206,467 · Granted Jul 22, 2008

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,403,949
App. No.
11/206,467
Granted
Jul 22, 2008
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 (31)

1. A method, comprising:

generating a data structure corresponding to a set of client nodes selected from a 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 a 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 method of claim 1 , 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.

3. The method of claim 2 , 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.

4. The method 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. 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:

generating a data structure corresponding to a set of client nodes selected from a 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 a 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 method of claim 5 , wherein the code in combination with the computing system is further capable of performing:

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.

7. The method of claim 6 , wherein the code in combination with the computing system is further capable of performing:

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.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Jan 21, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HGST NETHERLANDS B.V.
Reel/Frame 037569/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2005
From: CANNON, DAVID MAXWELL; DAWSON, COLIN SCOTT; EDWARDS, JR., ROBERT CLAIR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016913/0066 →