IP Library Granted Patent US 9,081,807
Granted Patent B2
US 9,081,807 · App. 14/447,082 · Granted Jul 14, 2015

Event-driven invalidation of pages for web-based applications

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,081,807
App. No.
14/447,082
Granted
Jul 14, 2015
Kind
B2
Abstract

Systems and methods for invalidating and regenerating pages. In one embodiment, a method can include detecting content changes in a content database including various objects. The method can include causing an invalidation generator to generate an invalidation based on the modification and communicating the invalidation to a dependency manager. A cache manager can be notified that pages in a cache might be invalidated based on the modification via a page invalidation notice. In one embodiment, a method can include receiving a page invalidation notice and sending a page regeneration request to a page generator. The method can include regenerating the cached page. The method can include forwarding the regenerated page to the cache manager replacing the cached page with the regenerated page. In one embodiment, a method can include invalidating a cached page based on a content modification and regenerating pages which might depend on the modified content.

Claims (42)

1. A system for invalidating cached pages in a network environment, the system comprising:

a cache manager embodied on non-transitory computer readable memory including computer instructions executable for managing a page cache in the network environment;

an invalidation generator embodied on non-transitory computer readable memory including computer instructions executable for generating at least one invalidation event based on a modification to at least one object stored in a content database in the network environment; and

a dependency manager embodied on non-transitory computer readable memory including computer instructions executable for:

generating at least one page invalidation notice based on the at least one invalidation event generated by the invalidation generator; and

forwarding the at least one page invalidation notice to the cache manager, wherein the at least one page invalidation notice generated by the dependency manager notifies the cache manager that at least one page stored in the page cache managed by the cache manger has been invalidated based on a dependency hierarchy associated with the at least one object whose modification has been detected and wherein the cache manager references the invalidated at least one page stored in the page cache as having been invalidated based on the at least one page invalidation notice generated by the dependency manager.

2. The system of claim 1 , wherein the cache manager is operable to send a page regeneration request to a page generator operating in the network environment and update an invalidated page in the page cache with a regenerated page received from the page generator.

3. The system of claim 2 , wherein the page regeneration request is sent by the cache manager subsequent to a request for content received from a client device.

4. The system of claim 1 , wherein the invalidation generator is operable to locally store content versioning information associated with the content database.

5. The system of claim 1 , wherein the invalidation generator is operable to compare newly published content with a last publication of the content and determine whether any object stored in the content database has been modified since the last publication of the content.

6. The system of claim 1 , wherein each of the at least one invalidation event corresponds to an object modification.

7. The system of claim 1 , wherein the dependency manager is operable to receive the at least one invalidation event generated by the invalidation generator and store the at least one invalidation event generated by the invalidation generator in a queue or data structure.

8. A method, comprising:

managing a page cache in a network environment, the page cache managed by a cache manager embodied on non-transitory computer readable memory;

generating at least one invalidation event based on a modification to at least one object stored in a content database in the network environment, the at least one invalidation event generated by an invalidation generator embodied on non-transitory computer readable memory;

generating at least one page invalidation notice based on the at least one invalidation event generated by the invalidation generator, the at least one page invalidation notice generated by a dependency manager embodied on non-transitory computer readable memory;

forwarding, by the dependency manager, the at least one page invalidation notice to the cache manager, wherein the at least one page invalidation notice generated by the dependency manager notifies the cache manager that at least one page stored in the page cache managed by the cache manger has been invalidated based on a dependency hierarchy associated with the at least one object whose modification has been detected; and

referencing, by the cache manager, the invalidated at least one page stored in the page cache as having been invalidated based on the at least one page invalidation notice generated by the dependency manager.

9. The method according to claim 8 , further comprising:

the cache manager sending a page regeneration request to a page generator operating in the network environment; and

the cache manager updating an invalidated page in the page cache with a regenerated page received from the page generator.

10. The method according to claim 9 , wherein the page regeneration request is sent by the cache manager subsequent to a request for content received from a client device.

11. The method according to claim 8 , further comprising:

the invalidation generator locally storing content versioning information associated with the content database.

12. The method according to claim 8 , further comprising:

the invalidation generator comparing newly published content with a last publication of the content; and

the invalidation generator determining whether any object stored in the content database has been modified since the last publication of the content.

13. The method according to claim 8 , wherein each of the one or more invalidation events corresponds to an object modification.

14. The method according to claim 8 , further comprising:

the dependency manager receiving the at least one invalidation event generated by the invalidation generator; and

the dependency manager storing the at least one invalidation event generated by the invalidation generator in a queue or data structure.

15. A computer program product comprising at least one non-transitory computer readable medium storing computer instructions executable by at least one processor to implement:

a cache manager for managing a page cache in a network environment;

an invalidation generator for generating at least one invalidation event based on a modification to at least one object stored in a content database in the network environment;

a dependency manager for:

generating at least one page invalidation notice based on the at least one invalidation event generated by the invalidation generator; and

forwarding the at least one page invalidation notice to the cache manager, wherein the at least one page invalidation notice generated by the dependency manager notifies the cache manager that at least one page stored in the page cache managed by the cache manger has been invalidated based on a dependency hierarchy associated with the at least one object whose modification has been detected and wherein the cache manager references the invalidated at least one page stored in the page cache as having been invalidated based on the at least one page invalidation notice generated by the dependency manager.

16. The computer program product of claim 15 , wherein the cache manager is operable to send a page regeneration request to a page generator operating in the network environment and update an invalidated page in the page cache with a regenerated page received from the page generator.

17. The computer program product of claim 16 , wherein the page regeneration request is sent by the cache manager subsequent to a request for content received from a client device.

18. The computer program product of claim 15 , wherein the invalidation generator is operable to locally store content versioning information associated with the content database.

19. The computer program product of claim 15 , wherein the invalidation generator is operable to compare newly published content with a last publication of the content and determine whether any object stored in the content database has been modified since the last publication of the content.

20. The computer program product of claim 15 , wherein each of the at least one invalidation event corresponds to an object modification.

Assignments (11)
CERTIFICATE OF CONTINUANCE Recorded Sep 13, 2016
From: OP IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040019/0500 →
CERTIFICATE OF AMALGAMATION Recorded Sep 13, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 040019/0578 →
IP BUSINESS SALE AGREEMENT Recorded Sep 13, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 040019/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2014
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 033475/0933 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jul 30, 2014
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 033449/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2014
From: MARTIN, JOHN H.; HELGREN, MATTHEW; FUNG, KIN-CHUNG; SCHEEVEL, MARK R.
To: VIGNETTE CORPORATION
Reel/Frame 033426/0365 →
CONVERSION Recorded Jul 30, 2014
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 033454/0015 →
CONVERSION Recorded Jul 30, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 033449/0909 →
MERGER Recorded Jul 30, 2014
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 033426/0429 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jul 30, 2014
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 033449/0775 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jul 30, 2014
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 033449/0823 →