IP Library Granted Patent US 7,349,942
Granted Patent B1
US 7,349,942 · App. 10/334,515 · Granted Mar 25, 2008

Storage medium having a manageable file directory structure

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 7,349,942
App. No.
10/334,515
Granted
Mar 25, 2008
Kind
B1
Abstract

A file-mapping method and system can better manage the number of items (i.e., files, subdirectories, or a combination of them) within any single directory within a storage medium. The method and system can be used to limit the number of items within the directory, direct content and content components to different directories, and provide an internally recognizable name for the filename. When searching the storage medium, time is not wasted searching what appears to be a seemingly endless list of filenames or subdirectory names within any single directory. A client computer can have requests for content fulfilled quicker, and the network site can reduce the load on hardware or software components. While the method and system can be used for nearly any storage media, the method and system are well suited for cache memories used with web servers.

Claims (68)

1. A method of using a cache comprising:

generating a first mapped filename for a first file to manage the number of files within a first directory of the cache; and

determining whether the first file is in the cache by using the first mapped filename, wherein content within the cache is arranged hierarchically in a directory structure based on the distribution of content within the cache and the directory structure of the cache is dynamically re-configured based on the distribution of the content within the cache.

2. The method of claim 1 , further comprising:

receiving a client request from a client computer; and

parsing the client request to form a parsed element that represents a value of a first parameter,

wherein the value of the first parameter corresponds to a name of the first directory.

3. The method of claim 2 , further comprising hashing the parsed element to form a hashed value, wherein:

a second directory has a name corresponding to the hashed value;

the second directory is a subdirectory of the first directory; and

the first file lies within the second directory.

4. The method of claim 3 , wherein the first parameter is a non-application-specific parameter, and the hashed value is generated from an application-specific parameter.

5. The method of claim 3 , wherein:

the first parameter is a locale, an operating system, a browser, or an address of the client computer; and

the hashed value is generated from a type of file, a scripting environment, a markup language, or a query string.

6. The method of claim 1 , further comprising:

receiving a client request;

parsing the client request to form a parsed element; and

hashing the parsed element to form a hashed value,

wherein the hashed value corresponds to a name of the first directory.

7. The method of claim 1 , further comprising:

generating a second mapped filename for a second file, wherein the second file is a network page and the first file is a content component used within the network page;

storing the first file within the first directory of the cache using the first mapped filename; and

storing the second file within a second directory of the cache using the second mapped filename.

8. The method of claim 1 , further comprising:

generating a content component after determining whether the first file is in the cache; and

storing the content component in the cache, wherein the content component is stored using the first mapped filename.

9. The method of claim 1 , wherein, hierarchically, the first directory lies between a root directory of the cache and the first file.

10. The method of claim 1 , further comprising:

setting a predetermined limit on a number of items to be stored within the first directory; and

creating a second directory in response to the number of items within a first directory getting close to or reaching the predetermined limit for the first directory.

11. The method of claim 1 , further comprising:

estimating a number of files to be stored within a data processing system cache;

creating a directory structure to distribute the files between directories before generating the first mapped filename; and

storing files in the data processing system cache in accordance with the directory structure.

12. A computer readable medium having code embodied therein, the code comprising:

an instruction for generating a first mapped filename to manage the number of files within a first directory of a cache; and

an instruction for determining whether the first file is in a cache by using the first mapped filename, wherein content within the cache is arranged hierarchically in a directory structure based on the distribution of content within the cache and the directory structure of the cache is dynamically re-configured based on the distribution of the content within the cache.

13. The computer readable medium of claim 12 , wherein the code further comprises an instruction for parsing a client request received from a client computer to form a parsed element that represents a value of a first parameter, wherein the value of the first parameter corresponds to a name of the first directory.

14. The computer readable medium of claim 13 , wherein the code further comprises an instruction for hashing the parsed element to form a hashed value, wherein:

a second directory has a name corresponding to the hashed value;

the second directory is a subdirectory of the first directory; and

the first file lies within the second directory.

15. The computer readable medium of claim 14 , wherein the first parameter is a non-application-specific parameter, and the hashed value is generated from an application-specific parameter.

16. The computer readable medium of claim 14 , wherein:

the first parameter is a locale, an operating system, a browser, or an address of the client computer; and

the hashed value is generated from a type of file, a scripting environment, a markup language, or a query string.

17. The computer readable medium of claim 12 , wherein the code further comprises:

an instruction for parsing the client request received from a client computer to form a parsed element; and

an instruction for hashing the parsed element to form a hashed value,

wherein the hashed value corresponds to a name of the first directory.

18. The computer readable medium of claim 12 , wherein the code further comprises:

an instruction for generating a second mapped filename for a second file,

wherein the second file is a network page and the first file is a content component used within the network page;

an instruction for storing the first file within the first directory of the cache using the first mapped filename; and

an instruction for storing the second file within a second directory of the cache using the second mapped filename.

19. The computer readable medium of claim 12 , wherein the code further comprises:

an instruction for generating a content component that is executed after and in response to an outcome from the instruction for determining whether the first file is in the cache; and

an instruction for storing the content component in the cache, wherein the content component is stored using the first mapped filename.

20. The computer readable medium of claim 12 , wherein, hierarchically, the first directory lies between a root directory of the cache and the first file.

21. The computer readable medium of claim 12 , wherein the code further comprises:

an instruction for setting a predetermined limit on a number of items to be stored within the first directory; and

an instruction for creating a second directory in response to the number of items within a first directory getting close to or reaching the predetermined limit for the first directory.

22. A method of using a cache comprising:

generating a first mapped filename for a first file to manage the number of files within a first directory of the cache; and

determining whether the first file is in the cache by using the first mapped filename, wherein content within the cache is arranged hierarchically in a directory structure based on the distribution of content within the cache;

analyzing the distribution of content within the directory structure of the cache; and

dynamically re-configuring the directory structure of the cache based upon the analysis.

Assignments (11)
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 Jan 14, 2010
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 023792/0470 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 11, 2010
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 024006/0001 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 11, 2010
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 023768/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2003
From: O'CONNELL, CONLETH S., JR.; WHITE, ERIC R.; RAJKUMAR, N. ISAAC
To: VIGNETTE CORPORATION
Reel/Frame 013930/0701 →