IP Library Granted Patent US 8,554,744
Granted Patent B2
US 8,554,744 · App. 13/092,777 · Granted Oct 8, 2013

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 8,554,744
App. No.
13/092,777
Granted
Oct 8, 2013
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 (44)

1. A method comprising:

storing, in a data structure, common objects from a selected set of client nodes of a plurality of client nodes, wherein the common objects are shared by the selected set of client nodes, wherein insertion times for the common objects and a number of client nodes that share the common objects are stored;

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

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;

initiating a process for maintaining limits on a number of common objects stored in the data structure; and

eliminating one object from the data structure in response to determining that the one object in the data structure is referenced by only one client node and was stored prior to an insertion time.

2. The method of claim 1 , wherein redundant files are eliminated by storing the common objects that are shared by the selected set of client nodes in the data structure.

3. The method of claim 1 , the method further comprising:

storing database entries for the common objects stored in the data structure, wherein the database entries include metadata corresponding to the common objects; and

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

4. The method of claim 1 , wherein the data structure is stored in a storage coupled to a server node, wherein the storage, the server node, and the plurality of client nodes are included in a storage area network.

5. The method of claim 1 , further comprising:

deploying computing infrastructure, comprising integrating computer-readable code into a computing system, wherein the computer-readable code in combination with the computing system performs:

the storing of the common objects in the data structure;

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

the storing of the object in the data structure, in response to the determining that the object has not already been stored in the data structure by any client node of the selected set of client nodes.

6. The method of claim 5 , wherein the integrating of the computer-readable code into the computing system is performed by storing the computer-readable code in the computing system in a networked computing environment.

7. The method of claim 1 , wherein the one object is retained in the data structure at least as long as the one object is referenced by more than one client node.

8. A storage system coupled to a plurality of client nodes, the storage system comprising:

a storage unit; and

a server node including a memory, wherein the server node is coupled to the storage unit, the server node configured to perform operations, the operations comprising:

storing, in a data structure in storage included in the storage unit, common objects from a selected set of client nodes of the plurality of client nodes, wherein the common objects are shared by the selected set of client nodes, wherein insertion times for the common objects and a number of client nodes that share the common objects are stored;

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

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;

initiating a process for maintaining limits on a number of common objects stored in the data structure; and

eliminating one object from the data structure in response to determining that the one object in the data structure is referenced by only one client node and was stored prior to an insertion time.

9. The storage system of claim 8 , wherein redundant files are eliminated by storing the common objects that are shared by the selected set of client nodes in the data structure.

10. The storage system of claim 8 , the operations further comprising:

storing database entries for the common objects stored in the data structure, wherein the database entries include metadata corresponding to the common objects; and

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

11. The storage system of claim 8 , wherein the storage unit, the server node, and the plurality of client nodes are included in a storage area network.

12. The storage system of claim 8 , wherein the one object is retained in the data structure at least as long as the one object is referenced by more than one client node.

13. A computer readable storage medium comprising at least one of a memory device, a magnetic storage device, and an optical storage device, wherein code stored in the computer readable storage medium when executed by a server node coupled to a storage and a plurality of client nodes performs operations, the operations comprising:

storing, in a data structure in the storage, common objects from a selected set of client nodes of the plurality of client nodes, wherein the common objects are shared by the selected set of client nodes, wherein insertion times for the common objects and a number of client nodes that share the common objects are stored;

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

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;

initiating a process for maintaining limits on a number of common objects stored in the data structure; and

eliminating one object from the data structure in response to determining that the one object in the data structure is referenced by only one client node and was stored prior to an insertion time.

14. The computer readable storage medium of claim 13 , wherein redundant files are eliminated by storing the common objects that are shared by the selected set of client nodes in the data structure.

15. The computer readable storage medium of claim 13 , the operations further comprising:

storing database entries for the common objects stored in the data structure, wherein the database entries include metadata corresponding to the common objects; and

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

16. The computer readable storage medium of claim 13 , wherein the storage, the server node, and the plurality of client nodes are included in a storage area network.

17. The computer readable storage medium of claim 13 , wherein the one object is retained in the data structure at least as long as the one object is referenced by more than one client node.

Assignments (4)
RELEASE OF SECURITY INTEREST AT REEL 052888 FRAME 0177 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0712 →
SECURITY INTEREST Recorded Jun 9, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052888/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: HGST NETHERLANDS B.V
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052783/0631 →
CONFIRMATORY ASSIGNMENT Recorded Jan 21, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HGST NETHERLANDS B.V.
Reel/Frame 037569/0153 →