IP Library Granted Patent US 12,067,074
Granted Patent B2
US 12,067,074 · App. 16/264,111 · Granted Aug 20, 2024

System and method for the dynamic provisioning of static content

Inventors: Newton Isaac Rajkumar (Hyderabad, IN); Mark McCalister (Austin, TX); Expeditus Bolanos (Pflugerville, TX); Peter Hale (Walnut Creek, CA); Mark Martin (Cedar Park, TX); Richard Nemec (North Andover, MA); Puhong You (Austin, TX); Daun DeFrance (Deerfield, NH); Ching-Fu Chang (Austin, TX); Priya Reddy (Austin, TX); Ladislav Kis (North Andover, MA); Robert L. Patterson (Minnetonka, MN); Tony Zgarba (Round Rock, TX); Jeffrey M. Collins (San Mateo, CA); Michael C. Tulkoff (Austin, TX); Miles Chaston (Mountain View, CA); Dean Moses (Berkeley, CA); John Petersen (San Francisco, CA); Ian Stahl (Austin, TX); Lara Long (Woodinville, WA)
Assignee: OPEN TEXT SA ULC
G06F16/972G06F16/93G06F16/9574G06F16/958H04L67/02
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,067,074
App. No.
16/264,111
Granted
Aug 20, 2024
Kind
B2
Abstract

Disclosed herein are embodiments of a system and method for the dynamic provisioning of static content. In one embodiment, information presented on a content delivery system can be refreshed based on information published on a content management system. One embodiment can interface the content delivery system and the content management system at the page level. More specifically, content dependencies across pages employing the same content or portion(s) thereof can be tracked in a timely, accurate manner. Upon receiving a notification of a change to the content or a portion thereof from the content management system, a content generation system may operate to determine, based on the dependencies, what pages are affected by the change and, based on the determination, dynamically regenerate any and all affected pages. The regenerated pages may then be stored and/or pushed to the web tier for delivery to end users.

Claims (48)

1. A method for provisioning content, comprising:

receiving from a client device a request for content at a content delivery system;

responsive to the request, searching, by the content delivery system, a server cache for first content which matches, or which most closely matches, the requested content using a look-up mechanism employing a hashed key computed using a system attribute determined from a previous request for content, wherein the system attribute is one or more of a display format, a channel, a site, an item, a locale, a user, a group, or a class;

based on the first content not being found in the server cache, obtaining the first content which matches the requested content from a content management system;

sending the obtained first content to the client device;

storing, by the content delivery system, the first content in the server cache, the first content stored in the server cache in conjunction with caching parameters and associated with parameters in the request for content, the first content stored in the server cache along with metadata that includes attributes pertaining to a template that corresponds to the first content, wherein a search of the server cache for the first content comprises comparing the parameters in the request for content to the caching parameters stored in the server cache in conjunction with the first content wherein the first content is a page fragment;

receiving a notification that second content has been altered at the content management system managing the second content, the notification based on data related to one or more of the caching parameters stored in the cache in conjunction with the first content wherein the notification includes an identifier for the first content or second content or a dependency of the first content or second content; and

in response to receiving the notification that the second content has been altered at the content management system:

obtaining the second content as stored at the content management system, and

replacing the first content in the server cache with third content, the third content based

on the obtained second content, wherein the third content is a page fragment.

2. The method of claim 1 , wherein the hashed key is associated with the identifier or dependency of the first content.

3. The method of claim 1 , wherein the cache is located at the content management system.

4. The method of claim 1 , wherein the first content, second content and third content are the same content.

5. The method of claim 1 , wherein the third content is dynamically generated based on the second content in response to receiving the notification the second content has been altered at the content management system.

6. The method of claim 1 , wherein the first content is a document.

7. A content management system, comprising:

a processor;

a non-transitory computer readable medium, comprising instructions for:

receiving from a client device a request for content;

responsive to the request, searching, by the content delivery system, a server cache for first content which matches, or which most closely matches, the requested content using a look-up mechanism employing a hashed key computed using a system attribute determined from a previous request for content, wherein the system attribute is one or more of a display format, a channel, a site, an item, a locale, a user, a group, or a class;

based on the first content not being found in the server cache, obtaining the first content which matches the requested content from storage of the content management system;

sending the obtained first content to the client device;

storing the first content in the cache, the first content stored in the server cache in conjunction with caching parameters and associated with parameters in the request for content, the first content stored in the server cache along with metadata that includes attributes pertaining to a template that corresponds to the first content, wherein a search of the server cache for the first content comprises comparing the parameters in the request for content to the caching parameters stored in the server cache in conjunction with the first content, wherein the first content is a page fragment;

receiving a notification that second content has been altered at the content management system managing the second content, the notification based on data related to one or more of the caching parameters stored in the cache in conjunction with the first content, wherein the notification includes an identifier for the first content or second content or a dependency of the first content or second content; and

in response to receiving the notification that the second content has been altered at the content management system:

obtaining the second content as stored at the content management system, and

replacing the first content in the server cache with third content, the third content based on the obtained second content, wherein the third content is a page fragment.

8. The system of claim 7 , wherein the hashed key is associated with the identifier or dependency of the first content.

9. The system of claim 7 , wherein the cache is located at the content management system.

10. The system of claim 7 , wherein the first content, second content and third content are the same content.

11. The system of claim 7 , wherein the third content is dynamically generated based on the second content in response to receiving the notification the second content has been altered at the content management system.

12. The system of claim 7 , wherein the first content is a document.

13. A non-transitory computer readable medium, comprising instructions for:

receiving from a client device a request for content at a content delivery system;

responsive to the request, searching, by the content delivery system, a server cache for first content which matches, or which most closely matches, the requested content using a look-up mechanism employing a hashed key computed using a system attribute determined from a previous request for content, wherein the system attribute is one or more of a display format, a channel, a site, an item, a locale, a user, a group, or a class;

based on the first content not being found in the server cache, obtaining the first content which matches the requested content from a content management system;

sending the obtained first content to the client device;

storing, by the content delivery system, the first content in the server cache, the first content stored in the server cache in conjunction with caching parameters and associated with parameters in the request for content, the first content stored in the server cache along with metadata that includes attributes pertaining to a template that corresponds to the first content, wherein a search of the server cache for the first content comprises comparing the parameters in the request for content to the caching parameters stored in the server cache in conjunction with the first content, wherein the first content is a page fragment;

receiving a notification that second content has been altered at the content management system managing the second content, the notification based on data related to one or more of the caching parameters stored in the cache in conjunction with the first content, wherein the notification includes an identifier for the first content or second content or a dependency of the first content or second content; and

in response to receiving the notification that the second content has been altered at the content management system:

obtaining the second content as stored at the content management system, and

replacing the first content in the server cache with third content, the third content based on the obtained second content, wherein the third content is a page fragment.

14. The non-transitory computer readable medium of claim 13 , wherein the hashed key is associated with the identifier or dependency of the first content.

15. The non-transitory computer readable medium of claim 13 , wherein the cache is located at the content management system.

16. The non-transitory computer readable medium of claim 13 , wherein the first content, second content and third content are the same content.

17. The non-transitory computer readable medium of claim 13 , wherein the third content is dynamically generated based on the second content in response to receiving the notification the second content has been altered at the content management system.

18. The non-transitory computer readable medium of claim 13 , wherein the first content is a document.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2019
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 048296/0838 →
CERTIFICATE OF CONTINUANCE Recorded Feb 11, 2019
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 048302/0466 →
CERTIFICATE OF AMALGAMATION Recorded Feb 11, 2019
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 048302/0482 →
IP BUSINESS SALE AGREEMENT Recorded Feb 11, 2019
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 048302/0728 →
CERTIFICATE CONVERSION Recorded Feb 4, 2019
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 048233/0350 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2019
From: RAJKUMAR, N. ISAAC; MCCALISTER, MARK; BOLANOS, EXPEDITUS; HALE, PETER; MARTIN, MARK; NEMEC, RICHARD; YOU, PUHONG; DEFRANCE, DAUN; CHANG, CHING-FU; REDDY, PRIYA; KIS, LADISLAV; PATTERSON, ROBERT L.; ZGARBA, TONY; COLLINS, JEFFREY M.; TULKOFF, MICHAEL C.; CHASTON, MILES; MOSES, DEAN; PETERSEN, JOHN; STAHL, IAN; LONG, LARA
To: VIGNETTE CORPORATION
Reel/Frame 048228/0947 →
CERTIFICATE OF CONVERSION Recorded Feb 4, 2019
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 048233/0512 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Feb 4, 2019
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 048233/0384 →
MERGER Recorded Feb 4, 2019
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 048228/0976 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Feb 4, 2019
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 048233/0211 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Feb 4, 2019
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 048233/0295 →
Continuity (4)
Continuation 14563850 · Dec 8, 2014
Continuation 11444023 · May 31, 2006
Provisional Application 60686090 · May 31, 2005
Related Publication 20190163715A1 · May 30, 2019