IP Library Granted Patent US 9,703,885
Granted Patent B2
US 9,703,885 · App. 15/175,465 · Granted Jul 11, 2017

Systems and methods for managing content variations in content delivery cache

Inventor: Mark R. Scheevel (Austin, TX)
Assignee: Open Text SA ULC
G06F17/30887G06F17/30861G06F17/30902H04L61/6009H04L67/02H04L67/10H04L67/42G06F12/08
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,703,885
App. No.
15/175,465
Granted
Jul 11, 2017
Kind
B2
Abstract

Embodiments disclosed herein provide a high performance content delivery system in which versions of content are cached for servicing web site requests containing the same uniform resource locator (URL). When a page is cached, certain metadata is also stored along with the page. That metadata includes a description of what extra attributes, if any, must be consulted to determine what version of content to serve in response to a request. When a request is fielded, a cache reader consults this metadata at a primary cache address, then extracts the values of attributes, if any are specified, and uses them in conjunction with the URL to search for an appropriate response at a secondary cache address. These attributes may include HTTP request headers, cookies, query string, and session variables. If no entry exists at the secondary address, the request is forwarded to a page generator at the back-end.

Claims (38)

1. A method for high performance content delivery, the method comprising:

receiving a request for content from a client device, the receiving performed by a high performance delivery (HPD)-enabled system, the HPD-enabled system operating in a distributed computing environment, the distributed computing environment having a plurality of computers interconnected to each other, the plurality of computers comprising at least a server machine embodying the HPD-enabled system, the HPD-enabled system receiving the request for content from the client device over a network;

responsive to the request for content from the client device, determining a first cache address of a cache, the determining performed by the HPD-enabled system;

upon finding metadata of a variation scheme at the first cache address of the cache, determining a second cache address of the cache in accordance with the variation scheme, the determining performed by the HPD-enabled system and utilizing the metadata stored at the first cache address of the cache;

retrieving a content variant from the second cache address of the cache; and

delivering the content variant to the client device over the network.

2. The method according to claim 1 , wherein the request for content comprises a Hypertext Transfer Protocol (HTTP) request containing a Uniform Resource Locator (URL) referencing a web page or a fragment thereof.

3. The method according to claim 2 , wherein the first cache address of the cache is determined based solely on the URL.

4. The method according to claim 2 , wherein the second cache address of the cache is determined utilizing the URL and a value of at least one variation parameter extracted from the request for content.

5. The method according to claim 1 , wherein the metadata includes a description of what attribute, if any, is to be consulted to determine what version of content to serve in response to a request.

6. The method according to claim 1 , wherein the variation scheme represents a logical group of content variants residing at different secondary addresses of the cache.

7. The method according to claim 1 , wherein when no entry is found at the second cache address of the cache, a new variation of the content is generated, delivered to the client device over the network, and cached at the second cache address of the cache.

8. A high performance delivery (HPD)-enabled system, comprising:

at least one processor;

at least one non-transitory computer readable medium; and

stored instructions embodied on the at least one non-transitory computer readable medium and translatable by the at least one processor to perform:

receiving a request for content from a client device over a network;

responsive to the request for content from the client device, determining a first cache address of a cache;

upon finding metadata of a variation scheme at the first cache address of the cache, determining a second cache address of the cache in accordance with the variation scheme, the determining utilizing the metadata stored at the first cache address of the cache;

retrieving a content variant from the second cache address of the cache; and

delivering the content variant to the client device over the network.

9. The HPD-enabled system of claim 8 , wherein the request for content comprises a Hypertext Transfer Protocol (HTTP) request containing a Uniform Resource Locator (URL) referencing a web page or a fragment thereof and wherein the first cache address of the cache is determined based solely on the URL.

10. The HPD-enabled system of claim 8 , wherein the request for content comprises a Hypertext Transfer Protocol (HTTP) request containing a Uniform Resource Locator (URL) referencing a web page or a fragment thereof and wherein the second cache address of the cache is determined utilizing the URL and a value of at least one variation parameter extracted from the request for content.

11. The HPD-enabled system of claim 8 , wherein the metadata includes a description of what attribute, if any, is to be consulted to determine what version of content to serve in response to a request.

12. The HPD-enabled system of claim 8 , wherein the variation scheme represents a logical group of content variants residing at different secondary addresses of the cache.

13. The HPD-enabled system of claim 8 , wherein when no entry is found at the second cache address of the cache, a new variation of the content is generated, delivered to the client device over the network, and cached at the second cache address of the cache.

14. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by at least one processor of a high performance delivery (HPD)-enabled system operating in a distributed computing environment to perform:

receiving a request for content from a client device over a network;

responsive to the request for content from the client device, determining a first cache address of a cache;

upon finding metadata of a variation scheme at the first cache address of the cache, determining a second cache address of the cache in accordance with the variation scheme, the determining utilizing the metadata stored at the first cache address of the cache;

retrieving a content variant from the second cache address of the cache; and

delivering the content variant to the client device over the network.

15. The computer program product of claim 14 , wherein the request for content comprises a Hypertext Transfer Protocol (HTTP) request containing a Uniform Resource Locator (URL) referencing a web page or a fragment thereof.

16. The computer program product of claim 15 , wherein the first cache address of the cache is determined based solely on the URL.

17. The computer program product of claim 15 , wherein the second cache address of the cache is determined utilizing the URL and a value of at least one variation parameter extracted from the request for content.

18. The computer program product of claim 14 , wherein the metadata includes a description of what attribute, if any, is to be consulted to determine what version of content to serve in response to a request.

19. The computer program product of claim 14 , wherein the variation scheme represents a logical group of content variants residing at different secondary addresses of the cache.

20. The computer program product of claim 14 , wherein when no entry is found at the second cache address of the cache, a new variation of the content is generated, delivered to the client device over the network, and cached at the second cache address of the cache.

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 Jul 19, 2016
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 039192/0023 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Jun 27, 2016
From: VIGNETTE LLC
To: VIGNETTE SOFTWARE LLC
Reel/Frame 039174/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2016
From: SCHEEVEL, MARK R.
To: VIGNETTE CORPORATION
Reel/Frame 039021/0425 →
CONVERSION Recorded Jun 27, 2016
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING LLC
Reel/Frame 039174/0687 →
CONVERSION Recorded Jun 27, 2016
From: VIGNETTE OPERATING LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 039174/0684 →
MERGER Recorded Jun 27, 2016
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 039021/0476 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Jun 27, 2016
From: VIGNETTE CORPORATION
To: VIGNETTE LLC
Reel/Frame 039174/0536 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (4%) Recorded Jun 27, 2016
From: VIGNETTE CORPORATION
To: VIGNETTE SOFTWARE LLC
Reel/Frame 039174/0587 →
Continuity (8)
Continuation 14860147 · Sep 21, 2015
Continuation 14477728 · Sep 4, 2014
Continuation 13619861 · Sep 14, 2012
Continuation 12208072 · Sep 10, 2008
Continuation 11825909 · Jul 10, 2007
Continuation 10733742 · Dec 11, 2003
Provisional Application 60433408 · Dec 13, 2002
Related Publication 20160292292A1 · Oct 6, 2016