IP Library Granted Patent US 9,639,547
Granted Patent B2
US 9,639,547 · App. 14/486,588 · Granted May 2, 2017

Method and system for file-system based caching

Inventors: Conleth S. O'Connell, Jr. (Austin, TX); Maxwell J. Berenson (Austin, TX); N. Isaac Rajkumar (Hyderabad, IN)
Assignee: Open Text SA ULC
G06F17/30132G06F12/0802G06F17/30876G06F17/30902H04L61/1582H04L29/12179
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,639,547
App. No.
14/486,588
Granted
May 2, 2017
Kind
B2
Abstract

A method and system for file-system based caching can be used to improve efficiency and security at network sites. In one set of embodiments, the delivery of content and storing content component(s) formed during generation of the content may be performed by different software components. Content that changes at a relatively high frequency or is likely to be regenerated between requests may not have some or all of its corresponding files cached. Additionally, extra white space may be removed before storing to reduce the file size. File mapping may be performed to ensure that a directory within the cache will have an optimal number of files. Security at the network site may be increased by using an internally generated filename that is not used or seen by the client computer. Many variations may be used is achieving any one or more of the advantages described herein.

Claims (41)

1. A method for file-system based caching, comprising:

at a cache manager embodied on non-transitory computer memory including instructions executable by a processor:

receiving content and tracking information associated with the content, the content generated by a page generator, the page generator communicatively connected to the cache manager, the cache manager and the page generator operating in an enterprise computing environment, the content including one or more content components and metadata;

based on the metadata, determining whether to cache any specific content component of the one or more content components;

determining that a first content component of the one or more content components is to be cached;

determining a location in a hierarchical file-system based cache managed by the cache manager, the location corresponding to a mapped filename previously determined for the first content component, wherein the mapped filename specifies a name for the first content component and a path within the file-system for the first content component; and

storing the first content component in the file-system based cache at the location corresponding to the mapped filename.

2. The method according to claim 1 , wherein the tracking information is generated by an application programming interface interfacing the cache manager and the page generator.

3. The method according to claim 1 , wherein the tracking information comprises an instruction used by the page generator in generating the first content component.

4. The method according to claim 1 , wherein the cache manager uses the tracking information to store a network page and the first content component in the file-system based cache as two separately cached pages with a reference to the first content component left in the network page.

5. The method according to claim 1 , wherein the first content component is referenced by one or more network pages stored in the file-system based cache and wherein the first content component is stored in the file-system based cache only once.

6. The method according to claim 1 , wherein the metadata comprises information about where to cache the first content component if the first content component is to be cached.

7. A system for file-system based caching, comprising:

at least one processor;

non-transitory computer memory including instructions executable by the at least one processor;

a hierarchical file-system based cache; and

a cache manager embodied on the non-transitory computer memory, the instructions when executed by the at least one processor cause the cache manager to:

receive content and tracking information associated with the content, the content generated by a page generator, the page generator communicatively connected to the cache manager, the cache manager and the page generator operating in an enterprise computing environment, the content including one or more content components and metadata;

based on the metadata, determine whether to cache any specific content component of the one or more content components;

determine that a first content component of the one or more content components is to be cached;

determine a location in the file-system based cache, the location corresponding to a mapped filename previously determined for the first content component, wherein the mapped filename specifies a name for the first content component and a path within the file-system for the first content component; and

store the first content component in the file-system based cache at the location corresponding to the mapped filename.

8. The system of claim 7 , wherein the tracking information is generated by an application programming interface interfacing the cache manager and the page generator.

9. The system of claim 7 , wherein the tracking information comprises an instruction used by the page generator in generating the first content component.

10. The system of claim 7 , wherein the cache manager uses the tracking information to store a network page and the first content component in the file-system based cache as two separately cached pages with a reference to the first content component left in the network page.

11. The system of claim 7 , wherein the first content component is referenced by one or more network pages stored in the file-system based cache and wherein the first content component is stored in the file-system based cache only once.

12. The system of claim 7 , wherein the metadata comprises information about where to cache the first content component if the first content component is to be cached.

13. The system of claim 7 , wherein the file-system based cache is embodied on a volatile memory that is part of or separate from the non-transitory computer memory.

14. A computer program product for file-system based caching, comprising:

at least one non-transitory computer readable medium storing instructions executable by at least one processor to implement a cache manager for managing a hierarchical file-system based cache, the instructions when executed by the at least one processor cause the cache manager to:

receive content and tracking information associated with the content, the content generated by a page generator, the page generator communicatively connected to the cache manager, the cache manager and the page generator operating in an enterprise computing environment, the content including one or more content components and metadata;

based on the metadata, determine whether to cache any specific content component of the one or more content components;

determine that a first content component of the one or more content components is to be cached;

determine a location in the file-system based cache, the location corresponding to a mapped filename previously determined for the first content component, wherein the mapped filename specifies a name for the first content component and a path within the file-system for the first content component; and

store the first content component in the file-system based cache at the location corresponding to the mapped filename.

15. The computer program product of claim 14 , wherein the tracking information is generated by an application programming interface interfacing the cache manager and the page generator.

16. The computer program product of claim 14 , wherein the tracking information comprises an instruction used by the page generator in generating the first content component.

17. The computer program product of claim 14 , wherein the cache manager uses the tracking information to store a network page and the first content component in the file-system based cache as two separately cached pages with a reference to the first content component left in the network page.

18. The computer program product of claim 14 , wherein the first content component is referenced by one or more network pages stored in the file-system based cache and wherein the first content component is stored in the file-system based cache only once.

19. The computer program product of claim 14 , wherein the metadata comprises information about where to cache the first content component if the first content component is to be cached.

20. The computer program product of claim 14 , wherein the file-system based cache is embodied on a volatile memory that is part of or separate from the at least one non-transitory computer readable medium.

Assignments (11)
CERTIFICATE OF CONTINUANCE Recorded Sep 13, 2016
From: OP IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040019/0500 →
IP BUSINESS SALE AGREEMENT Recorded Sep 13, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 040019/0627 →
CERTIFICATE OF AMALGAMATION Recorded Sep 13, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 040019/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2014
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 033899/0563 →
CERTIFICATE OF CONVERSION Recorded Sep 19, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 033778/0219 →
MERGER Recorded Sep 19, 2014
From: VIGNETTE SOFTWARE, LLC
To: VIGNETTE CORPORATION
Reel/Frame 033775/0725 →
CERTIFICATE OF CONVERSION Recorded Sep 19, 2014
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 033778/0169 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Sep 15, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE LLC
Reel/Frame 033745/0514 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (4%) Recorded Sep 15, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE SOFTWARE LLC
Reel/Frame 033745/0322 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Sep 15, 2014
From: VIGNETTE LLC
To: VIGNETTE SOFTWARE LLC
Reel/Frame 033745/0264 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2014
From: O'CONNELL, CONLETH S., JR.; BERENSON, MAXWELL J.; RAJKUMAR, N. ISAAC
To: VIGNETTE CORPORATION
Reel/Frame 033743/0441 →
Continuity (6)
Continuation In Part 12835004 · Jul 13, 2010
Continuation In Part 11641496 · Dec 18, 2006
Continuation In Part 11348645 · Feb 7, 2006
Continuation 10195798 · Jul 15, 2002
Provisional Application 60305320 · Jul 13, 2001
Related Publication 20150006819A1 · Jan 1, 2015