Storing a variable number of instances of data objects
First Claim
1. A method in a data storage system of storing a variable number of instances of data objects, wherein the method is performed by a computing system having a processor and memory, the method comprising:
- accessing a set of data objects stored in a first set of one or more data stores,wherein the set of data objects includes multiple data objects that are substantially similar, andwherein the multiple data objects that are substantially similar includes a number N data objects;
analyzing a storage policy;
determining, by the computing system, a number X of instances of a first data object of the multiple data objects that are substantially similar that should be stored in a second set of one or more data stores,wherein determining the number X of instances of the first data object is based on the storage policy;
wherein X is greater than one and less than N and N is greater than two, andwherein the first and second sets of data stores are distinct from each other;
adjusting the number X of instances of the first data object,wherein adjusting the number X includes;
determining a characteristic or priority of the first data object, wherein the characteristic or priority is based on at least two of;
an owner of the first data object;
a content of the first data object;
an association of the first data object with an organization unit;
a security descriptor of the first data object; and
the number N of data objects included in multiple data objects; and
based at least in part on the determined characteristic or priority of the first data object, increasing or decreasing the number X of instances of the first data object of the multiple data objects that should be stored in the second set of one or more data stores;
determining a number Y of instances of the first data object that are stored in the second set of one or more data stores,wherein Y is greater than or equal to zero;
determining if the adjusted number X is greater than Y; and
when the adjusted number X is greater than Y, storing a number Z of instances of the first data object in the second set of one or more data stores,wherein Z is equal to the adjusted number X minus Y.
4 Assignments
0 Petitions
Accused Products
Abstract
Described are systems and methods for storing a variable number of instances of data objects (e.g., 1, 2, 3, or up to N−1 instances, where N is the number of instances of the data object included in primary data) in secondary storage across a data storage network. In some examples, a system for storing a variable number of instances of data objects includes, one or more computing devices storing a set of data objects and multiple storage devices distinct from the one or more computing devices. Each of the multiple storage devices is configured to store at least a single instance of a data object. The system also includes a database configured to store information associated with the data objects. This information includes substantially unique identifiers for the data objects and, for each of the data objects, a number of instances of the data object stored on the multiple storage devices.
-
Citations
18 Claims
-
1. A method in a data storage system of storing a variable number of instances of data objects, wherein the method is performed by a computing system having a processor and memory, the method comprising:
-
accessing a set of data objects stored in a first set of one or more data stores, wherein the set of data objects includes multiple data objects that are substantially similar, and wherein the multiple data objects that are substantially similar includes a number N data objects; analyzing a storage policy; determining, by the computing system, a number X of instances of a first data object of the multiple data objects that are substantially similar that should be stored in a second set of one or more data stores, wherein determining the number X of instances of the first data object is based on the storage policy; wherein X is greater than one and less than N and N is greater than two, and wherein the first and second sets of data stores are distinct from each other; adjusting the number X of instances of the first data object, wherein adjusting the number X includes; determining a characteristic or priority of the first data object, wherein the characteristic or priority is based on at least two of; an owner of the first data object; a content of the first data object; an association of the first data object with an organization unit; a security descriptor of the first data object; and the number N of data objects included in multiple data objects; and based at least in part on the determined characteristic or priority of the first data object, increasing or decreasing the number X of instances of the first data object of the multiple data objects that should be stored in the second set of one or more data stores; determining a number Y of instances of the first data object that are stored in the second set of one or more data stores, wherein Y is greater than or equal to zero; determining if the adjusted number X is greater than Y; and when the adjusted number X is greater than Y, storing a number Z of instances of the first data object in the second set of one or more data stores, wherein Z is equal to the adjusted number X minus Y. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for storing multiple instances of a data object in a data storage network, wherein the data storage network includes multiple data storage devices coupled via a computer network, and wherein the computer network also couples to one or more computing devices storing a first set of N number of substantially similar data objects, the system comprising:
-
multiple data storage devices storing a second set of data objects, wherein at least one of the multiple data storage devices is embodied in hardware, and wherein the multiple data storage devices are distinct from, and coupled via the computer network to, the one or more computing devices; a variable instance database configured to store information associated with the second set of data objects, wherein the information includes, for each of the data objects of the second set; a substantially unique identifier for the data object, and a number of instances of the data object in the second set of data objects, wherein at least one of the data objects of the second set has multiple instances in the second set of data objects; a secondary storage computing device configured to; receive an indication to perform a storage operation on the first set of N number of substantially similar data objects, wherein N is a number greater than 3, determine a substantially unique identifier for each of the N number of substantially similar data objects of the first set; search for the substantially unique identifier in the variable instance database; determine a number of instances of the N number of substantially similar data objects to store in the second set of data objects based on the received indication to perform the storage operation, wherein the determined number is more than one and less than all of the N number substantially similar data objects; adjust the number of instances of the N number of substantially similar data objects based on a characteristic or priority of the N number of substantially similar data objects, wherein the characteristic or priority includes at least two of; an owner of the N number of substantially similar data objects; a content of the N number of substantially similar data objects; an association of the N number of substantially similar data objects with an organization unit; a security descriptor of the N number of substantially similar data objects; and store the adjusted number of instances of the N number of substantially similar data objects in the second set of data objects. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method in a computing system of storing multiple instances of substantially similar data objects, wherein the method is performed by a computing system having a processor and memory, the method comprising:
-
receiving an indication, based on a storage policy, to perform a storage operation on a first set of data stored by one or more computing devices, wherein the first set of data corresponds to a first tier of data storage for primary data, wherein the first tier of data storage comprises disk media; and for at least a first data object in the first set of data; determining a priority of the first data object, wherein the priority of the first data object is based on at least two of; an owner of the first data object; a content of the first data object; an association of the first data object with an organization unit; a security descriptor of the first data object; determining, by the computing system, a first number of instances of the first data object that should be stored in a second set of data distinct from the first set of data, wherein the first number is greater than one, wherein the second set of data corresponds to a second tier of data storage for secondary data, wherein the second tier of data storage comprises tape media, wherein the first set of data is aged off of the first tier of data storage to the second tier of data storage, and wherein the determined number that should be stored is based on the storage policy; adjusting the first number of instances based on the priority of the first data object after said determining the first number of instances of the first data object; generating a substantially unique identifier that represents the first data object; based on the generated substantially unique identifier, determining a second number of instances of the first data object already stored in the second set of data; and when the adjusted first number is greater than the second number, storing a third number of instances of the first data object in the second set of data, wherein the third number is equal to the difference between the adjusted first number and the second number. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification