IP Library Granted Patent US 8,832,387
Granted Patent B2
US 8,832,387 · App. 13/620,396 · Granted Sep 9, 2014

Event-driven regeneration 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 8,832,387
App. No.
13/620,396
Granted
Sep 9, 2014
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 (47)

1. A system for invalidating and regenerating cached pages, the system comprising:

a processor; and

at least one non-transitory computer readable medium storing instructions translatable by the processor to:

generate, by an invalidation generator, one or more invalidation events based on a modification to one or more objects stored in a content database, wherein the invalidation generator is implemented on a computer communicatively connected to the content database in a network environment;

generate, by a dependency manager, one or more page invalidation notices based on the one or more invalidation events;

forward, by the dependency manager, the one or more page invalidation notices to a cache manager, wherein the one or more page invalidation notices notify the cache manager that one or more pages stored in a page cache managed by the cache manger have been invalidated based on a dependency hierarchy associated with the one or more objects whose modification has been detected; and

determine, by the cache manager based on the one or more page invalidation notices, if any page in the page cache managed by the cache manager has been invalidated and, if a page has been invalidated, send a page regeneration request to a page generator to regenerate the page with the modified one or more objects, wherein the page that has been invalidated due to the modification is replaced with the regenerated page in the page cache managed by the cache manager.

2. The system of claim 1 , wherein the instructions are further translatable by the processor to detect the modification to the one or more objects stored in the content database.

3. The system of claim 1 , wherein the instructions are further translatable by the processor to determine, based on the modification to the one or more objects, what, if any, invalidation events are to be generated.

4. The system of claim 1 , wherein the instructions are further translatable by the processor to compare newly published content with a previous version of the content and determine whether the one or more objects have been modified.

5. The system of claim 1 , wherein the instructions are further translatable by the processor to generate an invalidation event corresponding to an object modification.

6. The system of claim 1 , wherein the instructions are further translatable by the processor to notify the dependency manager of a page regeneration session.

7. The system of claim 1 , wherein the instructions are further translatable by the processor to register a page regeneration session and monitor incoming invalidation events for overlapping modifications affecting the page being regenerated by the page generator.

8. A system for invalidating and regenerating cached website pages, the system comprising:

a processor; and

at least one non-transitory computer readable medium storing instructions translatable by the processor to implement:

an invalidation component for generating an invalidation event including a reference to a modified website page object, the modified website page object being one of a plurality of website page objects associated with a plurality of website pages managed by a content management system;

a dependency component for generating a website page regeneration event responsive to said invalidation event and including a dependency table defining a plurality of website page dependencies, each website page dependency including a reference to a website page and information identifying at least one website page object the referenced website page is dependent on, the dependency component generating the website page regeneration event based on at least one of the website page dependencies which includes a reference to the modified website page object; and

a caching component for determining whether to regenerate a cached website page based on whether the cached website page has been invalidated.

9. The system of claim 8 , wherein the modified website page object is a first version of a website page object from managed website content, said generating the invalidation event including comparing the first version of the website page object to a second version of the website page object from the managed website content.

10. The system of claim 8 , wherein the plurality of website page dependencies includes at least one of: a reference to a website page and a reference to at least one website page object the referenced website page is dependent on, a dependency object set including a plurality of references to website page objects; a reference to a website page and the dependency object set, or a dependency nested set including the dependency object set and at least one referenced website page object.

11. The system of claim 8 , wherein said generating the website page regeneration event further comprises generating a plurality of website page regeneration events and determining any overlapping website page regeneration events between and among the plurality of website page regeneration events involving the same website page, and controlling website site page regeneration based on said determined overlapping website page regeneration events.

12. A method for invalidating and regenerating cached pages, the method comprising:

generating, by an invalidation generator, one or more invalidation events based on a modification to one or more objects stored in a content database, wherein the invalidation generator is implemented on a computer communicatively connected to the content database in a network environment;

generating, by a dependency manager, one or more page invalidation notices based on the one or more invalidation events;

forwarding, by the dependency manager, the one or more page invalidation notices to a cache manager, wherein the one or more page invalidation notices notify the cache manager that one or more pages stored in a page cache managed by the cache manger have been invalidated based on a dependency hierarchy associated with the one or more objects whose modification has been detected;

determining, by the cache manager, based on the one or more page invalidation notices, if any page in the page cache managed by the cache manager has been invalidated; and

if a page has been invalidated, the cache manager sending a page regeneration request to a page generator to regenerate the page with the modified one or more objects and replacing the page that has been invalidated due to the modification with the regenerated page in the page cache managed by the cache manager.

13. The method of claim 12 , further comprising:

the invalidation generator detecting the modification to the one or more objects stored in the content database.

14. The method of claim 12 , further comprising:

the invalidation generator determining, based on the modification to the one or more objects, what, if any, invalidation events are to be generated.

15. The method of claim 12 , further comprising:

the invalidation generator comparing newly published content with a previous version of the content; and

the invalidation generator determining whether the one or more objects have been modified.

16. The method of claim 12 , further comprising:

the page generator notifying the dependency manager of a page regeneration session.

17. The method of claim 12 , further comprising:

the dependency manager registering a page regeneration session; and

the dependency manager monitoring incoming invalidation events for overlapping modifications affecting the page being regenerated by the page generator.

18. A method for invalidating and regenerating cached website pages, comprising:

at an invalidation component executing on a computer, generating an invalidation event including a reference to a modified website page object, the modified website page object being one of a plurality of website page objects associated with a plurality of website pages managed by a content management system;

at a dependency component, responsive to said invalidation event and including a dependency table defining a plurality of website page dependencies, each website page dependency including a reference to a website page and information identifying at least one website page object the referenced website page is dependent on, generating a website page regeneration event based on at least one of the website page dependencies which includes a reference to the modified website page object; and

responsive to said website page regeneration event, a caching component determining whether to regenerate a cached website page based on whether the cached website page has been invalidated.

19. The method of claim 18 , wherein the modified website page object is a first version of a website page object from managed website content, said generating the invalidation event including comparing the first version of the website page object to a second version of the website page object from the managed website content.

20. The method of claim 18 , wherein the plurality of website page dependencies includes at least one of: a reference to a website page and a reference to at least one website page object the referenced website page is dependent on, a dependency object set including a plurality of references to website page objects; a reference to a website page and the dependency object set, or a dependency nested set including the dependency object set and at least one referenced website page object.

21. The method of claim 18 , wherein said generating the website page regeneration event further comprises generating a plurality of website page regeneration events and determining any overlapping website page regeneration events between and among the plurality of website page regeneration events involving the same website page, and controlling website site page regeneration based on said determined overlapping website page regeneration events.

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 Nov 9, 2012
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 029314/0522 →
CONVERSION Recorded Oct 24, 2012
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 029208/0442 →
CONVERSION Recorded Oct 23, 2012
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 029207/0979 →
MERGER Recorded Oct 22, 2012
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 029171/0696 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Oct 15, 2012
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 029216/0137 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Oct 4, 2012
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 029190/0582 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Oct 4, 2012
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 029190/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2012
From: MARTIN, JOHN H.; HELGREN, MATTHEW; FUNG, KIN-CHUNG; SCHEEVEL, MARK R.
To: VIGNETTE CORPORATION
Reel/Frame 029075/0236 →