IP Library Granted Patent US 9,152,626
Granted Patent B2
US 9,152,626 · App. 13/330,619 · Granted Oct 6, 2015

Transactional-consistent cache for database objects

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,152,626
App. No.
13/330,619
Granted
Oct 6, 2015
Kind
B2
Abstract

A system and method for providing a transactional-consistent cache for database objects is disclosed. New data is received by a cache manager. The cache manager updates an entry of a cache with the new data received by the cache manager, by registering the updating of the entry with the new data with an invalidator. The registering includes a timestamp. An invalidation event is then generated by the invalidator. The invalidation event includes a notification about the updating of the entry of the cache with the new data received by the cache manager according to the timestamp.

Claims (32)

1. A computer-implemented method comprising:

receiving new data by a cache manager implemented by one or more processors;

updating, by the cache manager, an entry of a cache with the new data received by the cache manager;

registering the updating of the entry with the new data with an invalidator implemented by one or more processors, the registering comprising a timestamp;

registering dependencies for the entry of the cache with the new data;

generating an invalidation event by the invalidator, the invalidation event including a notification about the updating of the entry of the cache with the new data received by the cache manager according to the timestamp; and

amortizing invalidation across a plurality of updates by not invalidating, by the cache manager, all entries dependent upon the updated entry immediately when the entry is updated and by invalidating, by the cache manager, an entry dependent upon the updated entry in response to a lookup of the entry dependent upon the updated entry.

2. The method in accordance with claim 1 , wherein a structure of the cache is configurable.

3. The method in accordance with claim 2 , wherein the structure of the cache includes a key and a value for each entry.

4. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

receive new data by a cache manager;

update, by the cache manager, an entry of a cache with the new data received by the cache manager;

register the updating of the entry with the new data with an invalidator, the registering comprising a timestamp;

register dependencies for the entry of the cache with the new data;

generate an invalidation event by the invalidator, the invalidation event including a notification about the updating of the entry of the cache with the new data received by the cache manager according to the timestamp; and

amortize invalidation across a plurality of updates by not invalidating, by the cache manager, all entries dependent upon the updated entry immediately when the entry is updated and by invalidating, by the cache manager, an entry dependent upon the updated entry in response to a lookup of the entry dependent upon the updated entry.

5. The computer program product in accordance with claim 4 , wherein a structure of the cache is configurable.

6. The computer program product in accordance with claim 5 , wherein the structure of the cache includes a key and a value for each entry.

7. A system comprising:

at least one programmable processor associated with an application server; and

a machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one programmable processor to perform operations comprising:

receive new data into a cache associated with the machine-readable medium;

update an entry of a cache with the new data;

register the updating of the entry with the new data, the registering comprising a timestamp;

register dependencies for the entry of the cache with the new data;

generate an invalidation event, the invalidation event including a notification about the updating of the entry of the cache with the new data received by the cache manager according to the timestamp; and

amortize invalidation across a plurality of updates by not invalidating, by the cache manager, all entries dependent upon the updated entry immediately when the entry is updated and by invalidating, by the cache manager, an entry dependent upon the updated entry in response to a lookup of the entry dependent upon the updated entry.

8. The system in accordance with claim 7 , wherein a structure of the cache is configurable.

9. The system in accordance with claim 8 , wherein the structure of the cache includes a key and a value for each entry.

10. The method in accordance with claim 1 , wherein invalidating the dependent entry in response to a lookup of the dependent entry occurs when a timestamp of the dependent entry is different from a current value of an internal counter.

11. The computer program product in accordance with claim 4 , wherein invalidating the dependent entry in response to a lookup of the dependent entry occurs when a timestamp of the dependent entry is different from a current value of an internal counter.

12. The system in accordance with claim 7 , wherein invalidating the dependent entry in response to a lookup of the dependent entry occurs when a timestamp of the dependent entry is different from a current value of an internal counter.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2012
From: SEUFERT, THOMAS; MAY, NORMAN
To: SAP AG
Reel/Frame 027615/0247 →