Optimizing a storage system to support short data lifetimes
First Claim
1. A method of storing data in a data storage system, comprising:
- receiving a plurality of data objects, wherein each data object of the plurality of data objects has an associated expected lifetime identifier that identifies criteria indicative of an amount of time the associated data object is expected to be retained in the data storage system, wherein each expected lifetime identifier comprises a retention value that indicates a relative importance of retaining the associated data object and an associated modification function for modifying the retention value and wherein the retention value is selected from a range of numbers between and including a first real number and a second real number; and
wherein the first real number is a lowest number of the range of numbers indicating the associated data object is not to be retained and the second real number is a highest number of the range of numbers indicating the associated data object is not to be deleted;
grouping a subset of the data objects into a data container in a storage device based on the data objects having a similar expected lifetime identifier; and
writing the subset of the data objects in the data container out to physical storage in response to an occurrence of an event, wherein the method further comprises;
receiving a modification of a retention value of a data object of the subset of the data objects;
determining whether the data object of the subset of the data objects is to be moved to another data container; and
in response to determining that the data object of the subset of the data objects is to be moved to another data container, associating the data object of the subset of the data objects with another data container containing other data objects that have a retention value that is similar to the modified retention value of the data object of the subset of the data objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for optimizing a storage system to support short data object lifetimes and highly utilized storage space are provided. With the system and method, data objects are clustered based on when they are anticipated to be deleted. When an application stores data, the application provides an indicator of the expected lifetime of the data, which may be a retention value, a relative priority of the data object, or the like. Data objects having similar expected lifetimes are clustered together in common data structures so that clusters of objects may be deleted efficiently in a single operation. Expected lifetimes may be changed by applications automatically. The system automatically determines how to handle these changes in expected lifetime using one or more of copying the data object, reclassifying the container in which the data object is held, and ignoring the change in expected lifetime for a time to investigate further changes in expected lifetime of other data objects.
-
Citations
29 Claims
-
1. A method of storing data in a data storage system, comprising:
-
receiving a plurality of data objects, wherein each data object of the plurality of data objects has an associated expected lifetime identifier that identifies criteria indicative of an amount of time the associated data object is expected to be retained in the data storage system, wherein each expected lifetime identifier comprises a retention value that indicates a relative importance of retaining the associated data object and an associated modification function for modifying the retention value and wherein the retention value is selected from a range of numbers between and including a first real number and a second real number; and wherein the first real number is a lowest number of the range of numbers indicating the associated data object is not to be retained and the second real number is a highest number of the range of numbers indicating the associated data object is not to be deleted; grouping a subset of the data objects into a data container in a storage device based on the data objects having a similar expected lifetime identifier; and writing the subset of the data objects in the data container out to physical storage in response to an occurrence of an event, wherein the method further comprises; receiving a modification of a retention value of a data object of the subset of the data objects; determining whether the data object of the subset of the data objects is to be moved to another data container; and in response to determining that the data object of the subset of the data objects is to be moved to another data container, associating the data object of the subset of the data objects with another data container containing other data objects that have a retention value that is similar to the modified retention value of the data object of the subset of the data objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for storing data in a data storage system, the computer program product comprising:
-
a computer usable recordable-type media having computer executable instructions stored thereon, the computer executable instructions comprising; computer executable instructions for receiving a plurality of data objects, wherein each data object of the plurality of data objects has an associated expected lifetime identifier that identifies criteria indicative of an amount of time the associated data object is expected to be retained in the data storage system, wherein each expected lifetime identifier comprises a retention value that indicates a relative importance of retaining the associated data object and an associated modification function for modifying the retention value and wherein the retention value is selected from a range of numbers between and including a first real number and a second real number; and wherein the first real number is a lowest number of the range of numbers indicating the associated data object is not to be retained and the second real number is a highest number of the range of numbers indicating the associated data object is not to be deleted; computer executable instructions for grouping a subset of the data objects into a data container in a storage device based on the data objects having a similar expected lifetime identifier; and computer executable instructions for writing the subset of the data objects in the data container out to physical storage in response to the occurrence of an event, wherein the computer program product further comprises; computer executable instructions for receiving a modification of a retention value of a data object of the subset of the data objects; computer executable instructions for determining whether the data object of the subset of the data objects is to be moved to another data container; and computer executable instructions in response to determining that the data object of the subset of the data objects is to be moved to another data container, for associating the data object of the subset of the data objects with another data container containing other data objects that have a retention value that is similar to the modified retention value of the data object of the subset of the data objects. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29)
-
-
25. A system for storing data, comprising:
-
a memory storing computer executable instructions; and a processor executing the computer executable instructions for; receiving a plurality of data objects, wherein each data object of the plurality of data objects has an associated expected lifetime identifier that identifies criteria indicative of an amount of time the associated data object is expected to be retained in the data storage system, wherein each expected lifetime identifier comprises a retention value that indicates a relative importance of retaining the associated data object and an associated modification function for modifying the retention value and wherein the retention value is selected from a range of numbers between and including a first real number and a second real number; and wherein the first real number is a lowest number of the range of numbers indicating the associated data object is not to be retained and the second real number is a highest number of the range of numbers indicating the associated data object is not to be deleted; grouping a subset of the data objects into a data container in a storage device based on the data objects having a similar expected lifetime identifier; and writing the subset of the data objects in the data container out to physical storage in response to an occurrence of an event, wherein the processor further executes the instructions for; receiving a modification of a retention value of a data object of the subset of the data objects; determining whether the data object of the subset of the data objects is to be moved to another data container; and in response to determining that the data object of the subset of the data objects is to be moved to another data container, associating the data object of the subset of the data objects with another data container containing other data objects that have a retention value that is similar to the modified retention value of the data object of the subset of the data objects.
-
Specification