Techniques for making storage of data objects eventually durable using redundancy encoding are described herein. Data objects are stored in a first set of data storage devices with a first durability. After a predetermined length of time, the data objects are converted to data shards and distributed to a second set of data storage devices with a second durability that is distinct from the first durability.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method, comprising: identifying a rate of change of a data object, the data object being associated with a first plurality of redundancy encoded shards generated to provide the data object with a first durability; determining that the rate of change is below a predetermined threshold value; as a result of the rate of change being below the predetermined threshold value, generating, based on the data object and a redundancy encoding scheme, a second plurality of redundancy encoded shards to provide the data object with a second durability greater than the first durability; and storing the second plurality of redundancy encoded shards.
2. The computer-implemented method of claim 1 , wherein the redundancy encoding technique is a bundle encoding technique.
3. The computer-implemented method of claim 1 , wherein the redundancy encoding technique is a grid encoding technique.
4. The computer-implemented method of claim 1 , further comprising storing the first plurality of redundancy encoded shards in a preliminary storage.
5. The computer-implemented method of claim 4 , further comprising delaying the generating of the second plurality of redundancy encoded shards for a period of time after the storing of the first plurality of redundancy encoded shards.
6. A system, comprising at least one computing device that implements one or more services to: monitor a rate of change of a data object, the data object having a first durability as a result of being associated with a first redundancy encoding scheme; determine that the rate of change is below a predetermined threshold value; as a result of the rate of change being below the predetermined threshold value, generate, based on the data object and a second redundancy encoding scheme, a second plurality of redundancy encoded shards to provide the data object with a second durability different than the first durability; and store the second plurality of redundancy encoded shards.
7. The system of claim 6 , wherein the services further determine a length of time to delay generating the second plurality of redundancy encoded shards.
8. The system of claim 7 , wherein the length of time is based at least in part on the rate of change of the data object.
9. The system of claim 6 , wherein the rate of change of the data object corresponds to a number of changes made to the data object while stored in a preliminary storage associated with the system.
10. The system of claim 6 , wherein the services further obtain the data object in connection with processing a storage request for the data object.
11. The system of claim 10 , wherein the storage request is received via a programmatic interface associated with the one or more services.
12. The system of claim 10 , wherein the second durability is defined in the storage request.
13. The system of claim 6 , wherein the first redundancy encoding scheme is implemented by a preliminary storage on which the data object is initially stored.
14. The system of claim 6 , wherein the second durability is greater than the first durability.
15. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of execution by one or more processors of a computer system, cause the computer system to at least: determine that a rate of change of a data object is below a predetermined threshold value, the data object having a first durability as a result of being associated with a first redundancy encoding scheme; as a result of the rate of change of the data object being below the predetermined threshold value, generate, based on the data object and a second redundancy encoding scheme, a second plurality of redundancy encoded shards to provide the data object with a second durability different than the first durability; and store the second plurality of redundancy encoded shards.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions, as a result of execution, further cause the computer system to monitor the rate of change of the data object for a period of time.
17. The non-transitory computer-readable storage medium of claim 15 , wherein the first redundancy encoding scheme is implemented by a data storage device.
18. The non-transitory computer-readable storage medium of claim 17 , wherein the data storage device is a magnetic storage device.
19. The non-transitory computer-readable storage medium of claim 15 , wherein the first redundancy encoding scheme comprises storing the data object on two different systems.
20. The non-transitory computer-readable storage medium of claim 15 , wherein the rate of change of the data object is associated with a length of time elapsed after the data object is initially stored.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 16, 2017
May 12, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.