IP Library Granted Patent US 12,141,070
Granted Patent B2
US 12,141,070 · App. 18/061,907 · Granted Nov 12, 2024

In-memory caching system for flexible time dimension

Inventor: Raffaele Sangiovanni (Dublin, IE)
Assignee: BUSINESS OBJECTS SOFTWARE LTD
G06F12/0871G06F2212/45
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 12,141,070
App. No.
18/061,907
Granted
Nov 12, 2024
Kind
B2
Abstract

Computer-readable media, methods, and systems are disclosed for an in-memory cache in a memory of a client device. The system may send a first request for a first data from the client device to the in-memory cache and may receive a null response. The system may send a second request from the client device for the first data to a server and may receive a response from the server with the first data. The system may then send the first data to the in-memory cache and store the first data in the in-memory cache, thereby eliminating an additional request for the first data from the server.

Claims (78)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by at least one processor, perform a method for in-memory caching of data, the method comprising:

providing an in-memory cache in a memory of a client device, the client device comprising a flexible time dimension API user component to group user interface (UI) components performing operations on flexible times, and a flexible time dimension API component, wherein flexible times correspond to user defined time hierarchies stored on a server, wherein the UI components control flexible time dimension calls and operate synchronously, and wherein the flexible time dimension API component provides access to the server for the grouped UI components performing operations on flexible times;

sending, by the flexible time dimension API component, a first synchronous flexible time request for a first flexible time data item from the client device to the in-memory cache;

receiving, by the flexible time dimension API component, a null response indicating that the first flexible time data item is not in the in-memory cache;

in response to the flexible time dimension API component determining that the first flexible time data item is not in the in-memory cache, sending, by the flexible time dimension API component, a second request from the client device for the first flexible time data item to a server;

receiving, by the flexible time dimension API component, a response from the server with the first flexible time data item to the client device;

sending, by the flexible time dimension API component, the first flexible time data item to the in-memory cache;

storing the first flexible time data item in the in-memory cache;

sending, by the flexible time dimension API component, a subsequent request for the first flexible time data item from the client device to the in-memory cache; and

receiving, by the flexible time dimension API component, the first flexible time data item from the in-memory cache.

2. The non-transitory computer-readable media of claim 1 , the method further comprising:

sending a first request for a second data item from the client device to the in-memory cache;

receiving a null response;

sending a second request from the client device for the second data item to the server;

receiving a response from the server with the second data item to the client device;

sending the second data item to the in-memory cache; and

storing the second data item in the in-memory cache.

3. The non-transitory computer-readable media of claim 2 , the method further comprising:

sending a subsequent request for the second data item from the client device to the in-memory cache; and

receiving the second data item from the in-memory cache, thereby eliminating an additional request for the second data item to the server,

wherein the second data item is associated with a flexible time dimension.

4. The non-transitory computer-readable media of claim 3 , wherein the subsequent request for the first flexible time data item and the subsequent request for the second data item are synchronous calls.

5. The non-transitory computer-readable media of claim 2 , the method further comprising:

applying a least recently used (LRU) eviction policy to the in-memory cache when a memory limit is reached.

6. The non-transitory computer-readable media of claim 1 , wherein the in-memory cache is part of an information access infrastructure.

7. The non-transitory computer-readable media of claim 1 , wherein the method enables synchronous calls in an information access infrastructure.

8. A method for in-memory caching of data, the method comprising:

providing an in-memory cache in a memory of a client device, the client device comprising a flexible time dimension API user component to group user interface (UI) components performing operations on flexible times, and a flexible time dimension API component, wherein flexible times correspond to user defined time hierarchies stored on a server, wherein the UI components control flexible time dimension calls and operate synchronously, and wherein the flexible time dimension API component provides access to the server for the grouped UI components performing operations on flexible times;

sending, by the flexible time dimension API component, a first synchronous flexible time request for a first flexible time data item from the client device to the in-memory cache;

receiving, by the flexible time dimension API component, a null response indicating that the first flexible time data item is not in the in-memory cache;

in response to the flexible time dimension API component determining that the first flexible time data item is not in the in-memory cache, sending, by the flexible time dimension API component, a second request from the client device for the first flexible time data item to a server;

receiving, by the flexible time dimension API component, a response from the server with the first flexible time data item to the client device;

sending, by the flexible time dimension API component, the first flexible time data item to the in-memory cache;

storing the first flexible time data item in the in-memory cache;

sending, by the flexible time dimension API component, a subsequent request for the first flexible time data item from the client device to the in-memory cache; and

receiving, by the flexible time dimension API component, the first flexible time data item from the in-memory cache.

9. The method of claim 8 , further comprising:

sending a first request for a second data item from the client device to the in-memory cache;

receiving a null response;

sending a second request from the client device for the second data item to the server;

receiving a response from the server with the second data item to the client device;

sending the second data item to the in-memory cache; and

storing the second data item in the in-memory cache.

10. The method of claim 9 , further comprising:

sending a subsequent request for the second data item from the client device to the in-memory cache; and

receiving the second data item from the in-memory cache, thereby eliminating an additional request for the second data item to the server,

wherein the second data item is associated with a flexible time dimension.

11. The method of claim 10 , wherein the subsequent request for the first flexible time data item and the subsequent request for the second data item are synchronous calls.

12. The method of claim 8 , further comprising:

applying a least recently used (LRU) eviction policy to the in-memory cache when a memory limit is reached.

13. The method of claim 8 , wherein the in-memory cache is part of an information access infrastructure.

14. The method of claim 8 , further comprising enabling synchronous calls in an information access infrastructure.

15. A system for in-memory caching of data, the system comprising:

at least one processor; and

at least one non-transitory memory storing computer executable instructions that when executed by the at least one processor cause the system to carry out actions comprising:

providing an in-memory cache in a memory of a client device, the client device comprising a flexible time dimension API user component to group user interface (UI) components performing operations on flexible times, and a flexible time dimension API component, wherein flexible times correspond to user defined time hierarchies stored on a server, wherein the UI components control flexible time dimension calls and operate synchronously, and wherein the flexible time dimension API component provides access to the server for the grouped UI components performing operations on flexible times;

sending, by the flexible time dimension API component, a first synchronous flexible time request for a first flexible time data item from the client device to the in-memory cache;

receiving, by the flexible time dimension API component, a null response indicating that the first flexible time data item is not in the in-memory cache;

in response to the flexible time dimension API component determining that the first flexible time data item is not in the in-memory cache, sending, by the flexible time dimension API component, a second request from the client device for the first flexible time data item to a server;

receiving, by the flexible time dimension API component, a response from the server with the first flexible time data item to the client device;

sending, by the flexible time dimension API component, the first flexible time data item to the in-memory cache;

storing the first flexible time data item in the in-memory cache;

sending, by the flexible time dimension API component, a subsequent request for the first flexible time data item from the client device to the in-memory cache; and

receiving, by the flexible time dimension API component, the first flexible time data item from the in-memory cache.

16. The system of claim 15 , the instructions further comprising:

sending a first request for a second data item from the client device to the in-memory cache;

receiving a null response;

sending a second request from the client device for the second data item to the server;

receiving a response from the server with the second data item to the client device;

sending the second data item to the in-memory cache; and

storing the second data item in the in-memory cache.

17. The system of claim 16 , the instructions further comprising:

sending a subsequent request for the second data item from the client device to the in-memory cache; and

receiving the second data item from the in-memory cache, thereby eliminating an additional request for the second data item to the server.

18. The system of claim 17 , wherein the subsequent request for the first flexible time data item and the subsequent request for the second data item are synchronous calls.

19. The system of claim 15 , the instructions further comprising:

applying a least recently used (LRU) eviction policy to the in-memory cache when a memory limit is reached.

20. The system of claim 15 , wherein the in-memory cache is part of an information access infrastructure.

Assignments (2)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2023
From: SANGIOVANNI, RAFFAELE
To: BUSINESS OBJECTS SOFTWARE LTD
Reel/Frame 062342/0614 →
Continuity (1)
Related Publication 20240184705A1 · Jun 6, 2024