IP Library Granted Patent US 8,078,802
Granted Patent B2
US 8,078,802 · App. 12/763,059 · Granted Dec 13, 2011

Method and system for file-system based caching

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,078,802
App. No.
12/763,059
Granted
Dec 13, 2011
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 (51)

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

preprocessing one or more content components generated by a page generator, wherein a cache manager performs the preprocessing;

examining application programming interface (API) markers or metadata corresponding to an aspect of caching as the one or more content components are received by the cache manager and placed into a temporary file;

caching the one or more content components at one or more locations corresponding to one or more mapped filenames, wherein each of the one or more mapped filenames is generated from elements parsed from a client request for content received at a web server and wherein the cache manager performs the caching; and

updating a file registry for the web server.

2. The method according to claim 1 , wherein the preprocessing comprises removing any or all white spaces within source code of a content component.

3. The method according to claim 1 , wherein the preprocessing comprises encrypting a content component.

4. The method according to claim 1 , wherein the preprocessing comprises counting instances of a particular character, a set of characters, an object, or other designated information.

5. The method according to claim 1 , wherein the caching comprises adding or updating an entry within a database.

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

determining whether a content component is or is not to be cached.

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

producing at least one time to live (TTL) timer corresponding to one of the elements parsed from the client request for content, wherein the cache manager performs the producing.

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

using a parameter from one of the elements parsed from the client request for content to determine which network pages need to be regenerated when a specific content component is regenerated.

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

preprocessing one or more content components generated by a page generator;

examining application programming interface (API) markers or metadata corresponding to an aspect of caching;

determining whether a content component is or is not to be cached;

caching the one or more content components at one or more locations corresponding to one or more mapped filenames, wherein each of the one or more mapped filenames is generated from elements parsed from a client request for content received at a web server; and

updating a file registry for the web server.

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

removing any or all white spaces within source code of a content component.

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

encrypting a content component.

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

counting instances of a particular character, a set of characters, an object, or other designated information.

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

producing at least one time to live (TTL) timer corresponding to one of the elements parsed from the client request for content.

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

using a parameter from one of the elements parsed from the client request for content to determine which network pages need to be regenerated when a specific content component is regenerated.

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

a web server communicatively coupled to a client computer, wherein the web server is operable to receive a client request for content from the client computer;

a page generator coupled to the web server, wherein the page generator is operable to generate one or more content components; and

a cache manager coupled to the web server, wherein the cache manager is operable to:

preprocess the one or more content components generated by the page generator;

as the one or more content components are received and placed into a temporary file, examine application programming interface (API) markers or metadata corresponding to an aspect of caching;

determine whether a content component is or is not to be cached,

cache the one or more content components at one or more locations corresponding to one or more mapped filenames, wherein each of the one or more mapped filenames is generated from elements parsed from the client request for content received at the web server; and

update a file registry for the web server.

16. The system of claim 15 , wherein the cache manager is further operable to:

produce at least one time to live (TTL) timer corresponding to one of the elements parsed from the client request for content.

17. The system of claim 15 , wherein the cache manager is further operable to:

use a parameter from one of the elements parsed from the client request for content to determine which network pages need to be regenerated when a specific content component is regenerated.

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

generating a page having multiple content components, wherein a page generator performs the generating;

preprocessing the multiple content components, wherein a cache manager performs the preprocessing;

examining application programming interface (API) markers or metadata corresponding to an aspect of caching;

determining whether a content component is or is not to be cached;

caching the multiple content components at multiple locations, wherein each content component is cached at a location having a corresponding mapped filename, wherein each of the mapped filenames is generated from one or more elements that are parsed from a client request for content which is received at a web server, and wherein the cache manager performs the caching; and

updating a file registry for the web server with information enabling the web server to directly access the multiple content components using the corresponding mapped filenames.

Assignments (12)
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 →
CERTIFICATE OF CONTINUANCE Recorded Sep 13, 2016
From: OP IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040019/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 027483/0205 →
CERTIFICATE OF CONVERSION Recorded Oct 14, 2011
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 027066/0773 →
CERTIFICATE OF CONVERSION Recorded Oct 13, 2011
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 027091/0009 →
MERGER Recorded Oct 12, 2011
From: VIGNETTE SOFTWARE, LLC
To: VIGNETTE CORPORATION
Reel/Frame 027077/0423 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Nov 22, 2010
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 025308/0441 →
INTEIIECTUAL PROPERTY PURCHASE AGREEMENT Recorded Nov 22, 2010
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 025308/0388 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Nov 22, 2010
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 025308/0345 →
RE-RECORD TO CORRECT THE EXECUTION DATE OF THE THIRD ASSIGNEE, PREVIOUSLY RECORDED ON REEL 024766 FRAME 0369. Recorded Aug 23, 2010
From: O'CONNELL, JR., CONLETH S.; BERENSON, MAXWELL J.; RAJKUMAR, N. ISAAC
To: VIGNETTE CORPORATION
Reel/Frame 024874/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2010
From: O'CONNELL JR. CONLETH S.; BERENSON, MAXWELL J.; RAJKUMAR, N. ISAAC
To: VIGNETTE CORPORATION
Reel/Frame 024766/0369 →