IP Library Granted Patent US 9,380,022
Granted Patent B2
US 9,380,022 · App. 14/860,147 · Granted Jun 28, 2016

System and method for managing content variations in a content deliver 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 9,380,022
App. No.
14/860,147
Granted
Jun 28, 2016
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:

subsequent to finding an entry at a first cache address of a cache responsive to a request from a client device, determining that the request from the client device is subject to variation negotiation, the determining performed by a high performance delivery (HPD)-enabled system embodied on one or more server machines, the HPD-enabled system further performing:

extracting at least one variation parameter from the request;

computing a second cache address based at least partially on the at least one variation parameter extracted from the request; and

accessing the cache at the second cache address to locate a variation of content residing at the first cache address of the cache for delivery to the client device.

2. The method according to claim 1 , wherein the determining comprises examining metadata associated with the content residing at the first cache address of the cache.

3. The method according to claim 1 , wherein the at least one variation parameter is extracted from the request as indicated by metadata associated with the content residing at the first cache address of the cache.

4. 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 and delivered to the client device.

5. The method according to claim 1 , further comprising:

determining whether session-variables are to be used in computing the second cache address, wherein the second cache address is computed by a first cache reader of the HPD-enabled system when no session-variables are to be used and wherein the second cache address is computed by a second cache reader of the HPD-enabled system when session-variables are to be used.

6. The method according to claim 1 , wherein the cache is a filesystem-based cache and wherein directories in the filesystem-based cache are created based on prefixes of computed cache addresses.

7. The method according to claim 1 , wherein the first cache address and the second cache address are hexadecimal numbers of same fixed length.

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:

subsequent to finding an entry at a first cache address of a cache responsive to a request from a client device, determining that the request from the client device is subject to variation negotiation;

extracting at least one variation parameter from the request;

computing a second cache address based at least partially on the at least one variation parameter extracted from the request; and

accessing the cache at the second cache address to locate a variation of content residing at the first cache address of the cache for delivery to the client device.

9. The system of claim 8 , wherein the determining comprises examining metadata associated with the content residing at the first cache address of the cache.

10. The system of claim 8 , wherein the at least one variation parameter is extracted from the request as indicated by metadata associated with the content residing at the first cache address of the cache.

11. The 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 and delivered to the client device.

12. The system of claim 8 , wherein the instructions are further translatable by the at least one processor to perform:

determining whether session-variables are to be used in computing the second cache address, wherein the second cache address is computed by a first cache reader when no session-variables are to be used and wherein the second cache address is computed by a second cache reader when session-variables are to be used.

13. The system of claim 8 , wherein the cache is a filesystem-based cache and wherein directories in the filesystem-based cache are created based on prefixes of computed cache addresses.

14. The system of claim 8 , wherein the first cache address and the second cache address are hexadecimal numbers of same fixed length.

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

subsequent to finding an entry at a first cache address of a cache responsive to a request from a client device, determining that the request from the client device is subject to variation negotiation;

extracting at least one variation parameter from the request;

computing a second cache address based at least partially on the at least one variation parameter extracted from the request; and

accessing the cache at the second cache address to locate a variation of content residing at the first cache address of the cache for delivery to the client device.

16. The computer program product of claim 15 , wherein the determining comprises examining metadata associated with the content residing at the first cache address of the cache.

17. The computer program product of claim 15 , wherein the at least one variation parameter is extracted from the request as indicated by metadata associated with the content residing at the first cache address of the cache.

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

19. The computer program product of claim 15 , wherein the instructions are further translatable by the at least one processor to perform:

determining whether session-variables are to be used in computing the second cache address, wherein the second cache address is computed by a first cache reader when no session-variables are to be used and wherein the second cache address is computed by a second cache reader when session-variables are to be used.

20. The computer program product of claim 15 , wherein the first cache address and the second cache address are hexadecimal numbers of same fixed length.

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 23, 2015
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 037115/0821 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Nov 11, 2015
From: VIGNETTE LLC
To: VIGNETTE SOFTWARE LLC
Reel/Frame 037097/0725 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2015
From: SCHEEVEL, MARK R.
To: VIGNETTE CORPORATION
Reel/Frame 037017/0239 →
CONVERSION Recorded Nov 11, 2015
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 037097/0806 →
CONVERSION Recorded Nov 11, 2015
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 037097/0773 →
MERGER Recorded Nov 11, 2015
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 037017/0256 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Nov 11, 2015
From: VIGNETTE CORPORATION
To: VIGNETTE LLC
Reel/Frame 037097/0579 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (4%) Recorded Nov 11, 2015
From: VIGNETTE CORPORATION
To: VIGNETTE SOFTWARE LLC
Reel/Frame 037097/0664 →