APPLICATION-AWARE AND REMOTE SINGLE INSTANCE DATA MANAGEMENT
First Claim
1. A method of storing application-specific data objects included within a file in a data storage system, the method comprising:
- receiving a request to store data contained in a file generated by an application, wherein the data includes multiple discrete application-specific data objects having differing sizes;
determining the application that generated the file that includes the multiple discrete application-specific data objects;
based on the determination of the application, identifying at least some of the multiple discrete application-specific data objects within the data; and
for at least one of the identified multiple discrete application-specific data objects;
generating a substantially unique identifier that represents the discrete application-specific data object;
based on the generated substantially unique identifier, determining whether an instance of the discrete application-specific data object is already stored in a data storage system; and
if an instance of the discrete application-specific data object is not already stored in the data storage system, then storing the discrete application-specific data object in the data storage system.
4 Assignments
0 Petitions
Accused Products
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 files or data objects to which to apply a storage operation. For each file or data object, the storage system determines if the file or data object contains data that matches another file or data object to which the storage operation was previously applied, based on awareness of the application that created the data object. 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 with respect to the particular file or data object.
518 Citations
25 Claims
-
1. A method of storing application-specific data objects included within a file in a data storage system, the method comprising:
-
receiving a request to store data contained in a file generated by an application, wherein the data includes multiple discrete application-specific data objects having differing sizes; determining the application that generated the file that includes the multiple discrete application-specific data objects; based on the determination of the application, identifying at least some of the multiple discrete application-specific data objects within the data; and for at least one of the identified multiple discrete application-specific data objects; generating a substantially unique identifier that represents the discrete application-specific data object; based on the generated substantially unique identifier, determining whether an instance of the discrete application-specific data object is already stored in a data storage system; and if an instance of the discrete application-specific data object is not already stored in the data storage system, then storing the discrete application-specific data object in the data storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for managing application-generated data objects, the system comprising:
-
a storage operation manager component configured to receive a request to perform a storage operation on a logical data container, wherein the logical data container includes data objects generated by one or more applications; a data object identification component configured to identify the application-generated data objects included within the logical data container; an application data extraction component configured to extract the identified application-generated data objects from the logical data container; an identifier generation component configured to generate substantially unique identifiers for the extracted application-generated data objects; an index configured to store substantially unique identifiers; an identifier comparison component configured to determine whether the generated substantially unique identifiers are already stored in the index; and a single instance data store configured to communicate with the identifier comparison component and store a subset of the extracted application-generated data objects, the subset including the extracted application-generated data objects whose substantially unique identifiers were not determined to be stored in the index, wherein only a single instance of an extracted application-generated data object is stored in the single instance data store. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer-readable storage medium whose contents cause a computer system to perform a method of storing application-specific data objects, the method comprising:
-
receiving a first file, the first file containing multiple data objects; receiving a second file, the second file containing multiple data objects; identifying the data objects within the first and second files; generating substantially unique identifiers for the data objects within the first and second files; determining whether the data objects in the first and second files are already stored in a single instance data store; extracting the data objects in the first and second files that are not already stored in the single instance data store from the first and second files; and storing the extracted data objects in the single instance data store. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification