IP Library Granted Patent US 6,981,105
Granted Patent B2
US 6,981,105 · App. 10/352,265 · Granted Dec 27, 2005

Method and apparatus for invalidating data in a cache

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 6,981,105
App. No.
10/352,265
Granted
Dec 27, 2005
Kind
B2
Abstract

A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired. A URI-based invalidation process, wherein all cache entries generated by a template with that URI are invalidated when that template changes. A URI is a Universal Resource Identifier that identifies a template that generates different cache entries. For example, a product display template might have a URI named “productDisplay.jsp” that generate a page for each product. The present invention integrates all of these methods of invalidation into a single system.

Claims (28)

1. A method in a data processing system for invalidating cache entries in a memory, the method comprising the data processing system implemented steps of:

responsive to a process requesting an invalidation of a cache entry using a cache entry ID and an invalidation signal, invalidating the cache entry in the memory;

responsive to a change in data in another memory represented by a data ID associated with the cache entry in the memory and receiving an invalidation signal, invalidating the cache entry in the memory; and

responsive to a presence of a time limit for the cache entry expiring and receiving an invalidation signal, invalidating the cache entry in the memory.

2. The method of claim 1 further comprising:

responsive to a process requesting an invalidation of all cache entries associated with a universal resource identifier and receiving an invalidation signal, invalidating the cache entries in the memory.

3. The method of claim 1 , wherein the data in the another memory and the memory are corresponded using the data ID.

4. The method of claim 1 , wherein the cache entry in the memory is identified by the process using the cache entry ID.

5. The data processing system of claim 1 , wherein the data is a cache entry.

6. The method of claim 1 further comprising:

associating the cache entry with the cache entry ID and the data ID.

7. A data processing system for invalidating data in a memory, the data processing system comprising:

first invalidating means, responsive to a change in data in another memory represented by a data ID associated with the cache entry and receiving an invalidation signal, for invalidating the cache entry in the memory; and

second invalidating means, responsive to a presence of a time limit for the cache entry expiring and receiving an invalidation signal, for invalidating the cache entry in the memory.

8. The data processing system of claim 7 further comprising:

third invalidating means, responsive to a process requesting an invalidation of all cache entries associated with a universal resource identifier and receiving an invalidation signal, for invalidating the cache entries associated with the universal resource identifier in the memory.

9. The data processing system of claim 7 , wherein the data in the another memory and the memory are corresponded using the data ID.

10. The data processing system of claim 7 , wherein the data in the memory is identified by the process using the cache entry ID.

11. The data processing system of claim 7 , wherein the data is a cache entry.

12. The data processing system of claim 7 further comprising:

associating means for associating the data with the cache entry ID and the data ID.

13. A computer program product in a computer readable medium for invalidating data in a memory, the computer program product comprising:

first instructions, responsive to a process requesting an invalidation of a cache entry using a cache entry ID and an invalidation signal, invalidating the cache entry in the memory; and

second instructions, responsive to a change in data in another memory represented by a data ID associated with the cache entry in the memory and receiving an invalidation signal, invalidating the cache entry in the memory.

14. The computer program product of claim 13 further comprising:

third instructions, responsive to a presence of a time limit for the cache entry expiring and receiving an invalidation signal, invalidating the cache entry in the memory.

15. The computer program product of claim 13 further comprising:

third instructions, responsive to a process requesting an invalidation of all cache entries the data associated with a universal resource identifier and receiving an invalidation signal, for invalidating the cache entries associated with the universal resource identifier in the memory.

Assignments (1)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Jan 29, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045183/0349 →