IP Library › Granted Patent US 9,940,245
Granted Patent B2
US 9,940,245 · App. 15/335,792 · Granted Apr 10, 2018

Caching in storage clients

Inventor: Arun K. Iyengar (Yorktown Heights, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/0888G06F12/0868G06F2212/1024G06F2212/281G06F2212/313G06F2212/608
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,940,245
App. No.
15/335,792
Granted
Apr 10, 2018
Kind
B2
Abstract

Embodiments include method, systems and computer program products for caching 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 integrated within the storage client for reducing a number of accesses to the storage service. An application may be used the cache to reduce accesses to the storage service, wherein the application is implemented by a computer program. In response to the storage service being unresponsive or responding too slowly, the application may use the cache to allow the application to continue without communicating with the storage service.

Claims (50)

1. A computer-implemented method comprising:

providing a storage client for accessing a storage service from a computer program;

integrating a cache within the storage client for reducing a number of accesses to the storage service;

an application using the cache to reduce accesses to the storage service, wherein the application is implemented by a computer program; and

in response to the storage service being unresponsive or responding too slowly, the application using the cache to allow the application to continue without communicating with the storage service.

2. The method of claim 1 , further comprising:

in response to the storage service becoming more responsive or responding more quickly, exchanging a plurality of messages between the storage client and the storage service to make contents of the cache and the storage service consistent.

3. The method of claim 1 , further comprising:

in response to the storage service becoming more responsive or responding more quickly, the application using the storage service for data storage.

4. The method of claim 1 , further comprising:

providing a compression method in the storage client to reduce a size of data objects.

5. The method of claim 4 , further comprising:

varying a frequency of compressing data from the computer program based on assessing costs and benefits of compressing the data.

6. The method of claim 1 , further comprising:

providing an encryption method in the storage client to preserve data privacy.

7. The method of claim 1 , further comprising:

monitoring a latency for data accesses from the storage client to the storage service;

increasing an amount of caching in response to the latency increasing;

decreasing an amount of caching in response to the latency decreasing.

8. The method of claim 1 , wherein the cache further comprises one of an in-process cache or a remote process cache.

9. The method of claim 1 , wherein the cache further comprises one of Redis or memcached.

10. A computer-implemented method comprising:

providing a storage client for accessing a storage service from a computer program;

integrating a cache within the storage client for reducing a number of accesses to the storage service;

monitoring a latency for data accesses from the storage client to the storage service;

increasing an amount of caching in response to said latency increasing; and

decreasing an amount of caching in response to said latency decreasing.

11. The method of claim 10 , further comprising:

increasing a frequency of determining from the storage service if a cached object is current in response to said latency decreasing; and

decreasing a frequency of determining from the storage service if a cached object is current in response to said latency increasing.

12. The method of claim 10 , further comprising:

providing a compression method in the storage client to reduce a size of data objects.

13. The method of claim 12 , further comprising:

varying a frequency of compressing data from an application based on assessing costs and benefits of compressing the data.

14. The method of claim 10 , further comprising:

providing an encryption method in the storage client to preserve data privacy.

15. The method of claim 10 , wherein the cache further comprises one of an in-process cache or a remote process cache.

16. The method of claim 10 , wherein the cache further comprises one of Redis or memcached.

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;

integrate a cache within the storage client for reducing a number of accesses to the storage service;

interact with an application using the cache to reduce accesses to the storage service, wherein the application is implemented by a computer program; and

in response to the storage service being unresponsive or responding too slowly, the application using the cache to allow the application to continue without communicating with the storage service.

18. The system of claim 17 , wherein the processor is further configured to:

in response to the storage service becoming more responsive or responding more quickly, exchange a plurality of messages between the storage client and the storage service to make contents of the cache and storage service consistent.

19. The system of claim 17 , wherein the processor is further configured to:

in response to the storage service becoming more responsive or responding more quickly, the application using the storage service for data storage.

20. The system of claim 17 , wherein the processor is further configured to:

provide a compression method in the storage client to reduce a size of data objects.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCKET NUMBER PREVIOUSLY RECORDED AT REEL: 040151 FRAME: 0426. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 6, 2016
From: IYENGAR, ARUN K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040821/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: IYENGAR, ARUN K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040151/0426 →
Continuity (2)
Continuation 14985506 · Dec 31, 2015
Related Publication 20170192897A1 · Jul 6, 2017