DELTA ENCODING IN STORAGE CLIENTS
First Claim
1. A computer-implemented method comprising:
- providing a storage client for accessing a storage service from a computer program;
providing a cache within the storage client for reducing a number of accesses to the storage service;
storing a data object in the storage service;
for each of a plurality of updates to the data object, storing a delta in the storage service, wherein the delta encodes a difference between a new version and a previous version of the data object; and
storing a complete updated version of the data object in the storage service in response to at least one of;
(1) a number of deltas from the previous version of the data object exceeds a first threshold;
(2) a total size of deltas from the previous version of the data object exceeds a second threshold;
or (3) the client determines that a cost of determining an updated version of the data object by applying deltas to a previous version exceeds a third threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments include method, systems and computer program products for delta encoding in storage clients. In some embodiments a storage client for accessing a storage service from a computer program may be provided. A cache may be provided within the storage client for reducing a number of accesses to the storage service. A data object may be stored in the storage service. For each of a plurality of updates to the data object, a delta may be stored in the storage service, wherein the delta encodes a difference between a new version and a previous version of the data object. A complete updated version of the data object may be stored in the storage service based on one of several factors.
29 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
providing a storage client for accessing a storage service from a computer program; providing a cache within the storage client for reducing a number of accesses to the storage service; storing a data object in the storage service; for each of a plurality of updates to the data object, storing a delta in the storage service, wherein the delta encodes a difference between a new version and a previous version of the data object; and storing a complete updated version of the data object in the storage service in response to at least one of;
(1) a number of deltas from the previous version of the data object exceeds a first threshold;
(2) a total size of deltas from the previous version of the data object exceeds a second threshold;
or (3) the client determines that a cost of determining an updated version of the data object by applying deltas to a previous version exceeds a third threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
-
providing a storage client for accessing a storage service from a computer program; providing a cache within the storage client for reducing a number of accesses to the storage service; storing a data object in the storage service; for each of a plurality of updates to the data object, storing a delta in the storage service, wherein the delta encodes a difference between a new version and a previous version of the data object; and storing a complete updated version of the data object in the storage service in response to at least one of;
(1) a number of deltas from the previous version of the data object exceeds a first threshold;
(2) a total size of deltas from the previous version of the data object exceeds a second threshold;
or (3) the client determines that a cost of determining an updated version of the data object by applying deltas to a previous version exceeds a third threshold.
-
-
10. The computer program product of claim 10, the method further comprising:
in response to storing the complete updated version of the data object in the storage service, deleting an earlier version of the data object and at least one delta on the storage service. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
17. A system, comprising:
-
a processor in communication with one or more types of memory, the processor configured to; provide a storage client for accessing a storage service from a computer program; provide a cache within the storage client for reducing a number of accesses to the storage service; store a data object in the storage service; for each of a plurality of updates to the data object, store a delta in the storage service, wherein the delta encodes a difference between a new version and a previous version of the data object; and store a complete updated version of the data object in the storage service in response to at least one of;
(1) a number of deltas from the previous version of the data object exceeds a first threshold;
(2) a total size of deltas from the previous version of the data object exceeds a second threshold;
or (3) the client determines that a cost of determining an updated version of the data object by applying deltas to a previous version exceeds a third threshold.
-
-
18. The system of claim 18, wherein the processor is further configured to:
in response to storing the complete updated version of the data object in the storage service, delete an earlier version of the data object and at least one delta on the storage service. - View Dependent Claims (19, 20)
Specification