IP Library Granted Patent US 8,037,028
Granted Patent B2
US 8,037,028 · App. 12/058,367 · Granted Oct 11, 2011

System and method for storing redundant information

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,037,028
App. No.
12/058,367
Granted
Oct 11, 2011
Kind
B2
Abstract

A method and system for reducing storage requirements and speeding up storage operations by reducing the storage of redundant data includes receiving a request that identifies one or more data objects to which to apply a storage operation. For each data object, the storage system determines if the data object contains data that matches another data object to which the storage operation was previously applied. If the data objects do not match, then the storage system performs the storage operation in a usual manner. However, if the data objects do match, then the storage system may avoid performing the storage operation.

Claims (37)

1. A non-transitory computer-readable medium containing instructions for improving the retrieval of a data object in a network environment that contains multiple instances of the data object, by a method comprising:

receiving a request to access the data object at a first location;

determining at least one alternative location of an instance of the requested data object, wherein the at least one alternative location is not the first location;

selecting an instance of the data object from among the determined at least one alternative location to use to satisfy the request; and

sending the selected instance of the data object in response to the request,

wherein the request contains a digest value for identifying the data object, and

wherein determining the at least one alternative location of an instance of the requested data object comprises comparing the digest value to an index of digest values of data objects stored within the network environment.

2. The computer-readable medium of claim 1 wherein a computer system from which the request is received is closer to the selected alternative location than to the first location.

3. The computer-readable medium of claim 1 wherein the request is an HTTP request for a data object located on the world wide web, and wherein the alternative location is a location within a private local area network.

4. The computer-readable medium of claim 1 wherein selecting an instance of the data object comprises determining the fastest location from which the data object is available.

5. The computer-readable medium of claim 1 wherein selecting an instance of the data object comprises identifying multiple copies containing instances of the data object and determining attributes of each copy that affect an accessing speed for the data object.

6. The computer-readable medium of claim 1 wherein sending the selected instance of the data object comprises copying the data object from the selected alternative location to an intermediate location, and then from the intermediate location to a location specified in the request.

7. A computer-implemented method for improving the retrieval of a data object in a network environment that contains multiple instances of the data object, the method comprising:

receiving a request to access the data object at a first location;

determining at least one alternative location of an instance of the requested data object, wherein the at least one alternative location is not the first location;

selecting an instance of the data object from among the determined at least one alternative location to use to satisfy the request; and

sending the selected instance of the data object in response to the request,

wherein the request contains a digest value for identifying the data object, and

wherein determining the at least one alternative location of an instance of the requested data object comprises comparing the digest value to an index of digest values of data objects stored within the network environment.

8. The method of claim 7 wherein a computer system from which the request is received is closer to the selected alternative location than to the first location.

9. The method of claim 7 wherein the request is an HTTP request for a data object located on the world wide web, and wherein the alternative location is a location within a private local area network.

10. The method of claim 7 wherein selecting an instance of the data object comprises determining the fastest location from which the data object is available.

11. The method of claim 7 wherein selecting an instance of the data object comprises identifying multiple copies containing instances of the data object and determining attributes of each copy that affect an accessing speed for the data object.

12. The method of claim 7 wherein sending the selected instance of the data object comprises copying the data object from the selected alternative location to an intermediate location, and then from the intermediate location to a location specified in the request.

13. A system for improving the retrieval of a data object in a network environment that contains multiple instances of the data object, the system comprising:

a memory;

a request module stored at least in part in the memory and configured to receive a request to access the data object at a first location;

a location module configured to determine at least one alternative location of an instance of the requested data object, wherein the at least one alternative location is not the first location;

a selection module configured to select an instance of the data object from among the determined at least one alternative location to use to satisfy the request; and

a response module configured to send the selected instance of the data object in response to the request,

wherein the request contains a digest value for identifying the data object, and

wherein the location module determines the at least one alternative location of an instance of the requested data object by comparing the digest value to an index of digest values of data objects stored within the network environment.

14. The system of claim 13 wherein a computer system from which the request is received is closer to the selected alternative location than to the first location.

15. The system of claim 13 wherein the request is an HTTP request for a data object located on the world wide web, and wherein the alternative location is a location within a private local area network.

16. The system of claim 13 wherein the selection module is further configured to select an instance of the data object by determining the fastest location from which the data object is available.

17. The system of claim 13 wherein the selection module is further configured to select an instance of the data object by identifying multiple copies containing instances of the data object and determining attributes of each copy that affect an accessing speed for the data object.

18. The system of claim 13 wherein the response module is further configured to send the selected instance of the data object by copying the data object from the selected alternative location to an intermediate location, and then from the intermediate location to a location specified in the request.

Assignments (3)
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →