P
US10270877B2ActiveUtilityPatentIndex 52

Enhanced storage clients

Assignee: IBMPriority: Dec 31, 2015Filed: May 22, 2018Granted: Apr 23, 2019
Est. expiryDec 31, 2035(~9.5 yrs left)· nominal 20-yr term from priority
Inventors:IYENGAR ARUN K
G06F 16/172H04L 43/16G06F 21/602H04L 43/0811H04L 43/0852G06F 2212/62G06F 2212/154G06F 12/0813H04L 67/2828H04L 67/2842H04L 67/2823G06F 17/30132H04L 67/568H04L 67/5651H04L 67/565
52
PatentIndex Score
0
Cited by
16
References
13
Claims

Abstract

Embodiments include method, systems and computer program products for enhanced storage clients. In some embodiments, an interface for using a storage service may be provided. The interface for each of a plurality of storage services may be implemented within a storage client. A cache may be integrated within the storage client for reducing a number of accesses to a storage service of the plurality of storage services. A compression method may be provided in the storage client to reduce a size of data objects. An encryption method may be provided in the storage client to preserve data privacy. An application may select at least one storage services of the plurality of storage services and using the at least one storage service via the storage client.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method comprising: providing an interface for using a storage service; implementing the interface within a storage client, the interface implemented for each of a plurality of storage services; integrating a cache within the storage client for reducing a number of accesses to a storage service of the plurality of storage services; providing a compression method in the storage client to reduce a size of data objects; providing an encryption method in the storage client to preserve data privacy; providing an application selecting, through the interface via the storage client, at least one storage service of the plurality of storage services and using the at least one storage service via the storage client; monitoring a latency for data accesses from the storage client to the at least one storage service of the plurality of storage services; increasing an amount of caching in response to the latency increasing; and decreasing the amount of caching in response to the latency decreasing. 
     
     
       2. The computer-implemented method of  claim 1 , further comprising: in response to the at least one storage service being unresponsive or responding too slowly, the application using the cache to allow the application to continue without communicating with the at least one storage service. 
     
     
       3. The computer-implemented method of  claim 1 , further comprising: varying a frequency of compressing data from the computer program based on assessing costs and benefits of compressing the data. 
     
     
       4. The computer-implemented method of  claim 1 , further comprising: storing a data object in the at least one storage service; for each of a plurality of updates to the data object, storing a delta corresponding to each of the plurality of updates in the at least one storage service, wherein the delta encodes a difference between a new version of the data object and a previous version of the data object; and storing a complete updated version of the data object in the at least one 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; and (3) the client determines that a cost of determining an updated version of the data object by applying deltas to the previous version exceeds a third threshold. 
     
     
       5. The computer-implemented method of  claim 1 , wherein the storage client is remote from at least one of the plurality of storage services, and wherein the application selecting, through the interface via the storage client, the one of the plurality of storage services and using it via the storage client. 
     
     
       6. 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 an interface for using a storage service; implementing the interface within a storage client, the interface implemented for each of a plurality of storage services; integrating a cache within the storage client for reducing a number of accesses to a storage service of the plurality of storage services; providing a compression method in the storage client to reduce a size of data objects; providing an encryption method in the storage client to preserve data privacy; providing an application selecting, through the interface via the storage client, at least one storage service of the plurality of storage services and using the at least one storage service via the storage client; monitoring a latency for data accesses from the storage client to the at least one storage service of the plurality of storage services; increasing an amount of caching in response to the latency increasing; and decreasing the amount of caching in response to the latency decreasing. 
     
     
       7. The computer program product of  claim 6 , the method further comprising: in response to the at least one storage service being unresponsive or responding too slowly, the application using the cache to allow the application to continue without communicating with the at least one storage service. 
     
     
       8. The computer program product of  claim 6 , the method further comprising: varying a frequency of compressing data from the computer program based on assessing costs and benefits of compressing the data. 
     
     
       9. The computer program product of  claim 6 , the method further comprising: storing a data object in the at least one storage service; for each of a plurality of updates to the data object, storing a delta corresponding to each of the plurality of updates in the at least one storage service, wherein the delta encodes a difference between a new version of the data object and a previous version of the data object; and storing a complete updated version of the data object in the at least one 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; and (3) the client determines that a cost of determining an updated version of the data object by applying deltas to the previous version exceeds a third threshold. 
     
     
       10. A system, comprising: a memory comprising computer readable instructions; and a processor I communication with the memory, the processor configured to execute the computer readable instructions to perform a method comprising: providing an interface for using a storage service; implementing the interface within a storage client, the interface implemented for each of a plurality of storage services; integrating a cache within the storage client for reducing a number of accesses to a storage service of the plurality of storage services; providing a compression method in the storage client to reduce a size of data objects; and providing an encryption method in the storage client to preserve data privacy; providing an application selecting, through the interface via the storage client, at least one storage service of the plurality of storage services and using the at least one storage service via the storage client; monitoring a latency for data accesses from the storage client to the at least one storage service of the plurality of storage services; increasing an amount of caching in response to the latency increasing; and decreasing the amount of caching in response to the latency decreasing. 
     
     
       11. The system of  claim 10 , wherein the method further comprises: in response to the at least one storage service being unresponsive or responding too slowly, the application using the cache to allow the application to continue without communicating with the at least one storage service. 
     
     
       12. The system of  claim 10 , wherein the method further comprises: vary a frequency of compressing data from the computer program based on assessing costs and benefits of compressing the data. 
     
     
       13. The system of  claim 10 , wherein the method further comprises: store a data object in the at least one storage service; for each of a plurality of updates to the data object, store a delta corresponding to each of the plurality of updates in the at least one storage service, wherein the delta encodes a difference between a new version of the data object and a previous version of the data object; and store a complete updated version of the data object in the at least one 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; and (3) the client determines that a cost of determining an updated version of the data object by applying deltas to the previous version exceeds a third threshold.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.