IP Library Granted Patent US 7,761,497
Granted Patent B1
US 7,761,497 · App. 11/641,496 · Granted Jul 20, 2010

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,761,497
App. No.
11/641,496
Granted
Jul 20, 2010
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 (46)

1. A method, comprising:

at a server computer, receiving a first request for a first content from a client computer coupled to the server computer;

parsing the first request to form parsed elements that correspond to different parameters of the first request;

generating a mapped pathname or a mapped filename from at least one of the parsed elements;

if at least one file corresponding to the mapped pathname or the mapped filename is found within a storage medium, sending the at least one file to the client computer; and

if no file within the storage medium is found to correspond to the mapped pathname or the mapped filename, generating the first content or any content components thereof, wherein the content comprises a first file; and

storing the first file in the storage medium at a location corresponding to the mapped pathname or the mapped filename, wherein content within the storage medium is arranged hierarchically and the hierarchical arrangement of the storage medium is configured based on the distribution of the content within the storage medium.

2. The method of claim 1 , further comprising dynamically configuring the hierarchical arrangement of the storage medium based on the number of files stored on a level of the hierarchy of the storage medium.

3. The method of claim 2 , wherein the hierarchical arrangement of the storage medium is dynamically configured based on desired performance.

4. The method of claim 3 , wherein the hierarchical arrangement of the storage medium is a directory structure.

5. The method of claim 4 , wherein dynamically configuring the hierarchical arrangement of the storage medium comprises adding a subdirectory to a directory based on the number of files or subdirectories in the directory.

6. The method of claim 5 , wherein the dynamic configuration occurs when the number of files or subdirectories in the directory exceeds a limit.

7. The method of claim 6 , wherein the dynamic configuration occurs substantially automatically.

8. The method of claim 7 , wherein the dynamic configuration occurs substantially atomically.

9. The method of claim 4 , wherein dynamically configuring the hierarchical arrangement of the storage medium comprises moving a set of files in a subdirectory of a directory to the directory and removing the subdirectory based on the number of files in the directory or subdirectory.

10. The method of claim 4 , wherein dynamically configuring the hierarchical arrangement of the storage medium comprises moving a set of files in a subdirectory of a directory to the directory and removing the subdirectory based on a rate of growth of the hierarchy of the storage medium.

11. The method of claim 1 , wherein the mapped pathname comprises at least one directory of the storage medium.

12. The method of claim 11 , wherein one of the parsed elements corresponds to a first directory of the at least one directory of the storage medium.

13. The method of claim 12 , further comprising hashing the mapped filename to form a hashed filename, wherein a name of a second directory is based on the hashed filename, the second directory is a subdirectory of the first directory and the first file is stored within the second directory.

14. The method of claim 1 , further comprising

at the server computer, receiving a second request for a second content;

generating a second mapped pathname from the second request, where the second content comprises the first file;

locating the first file in the storage medium based on the second mapped pathname; and

returning the first file in response to the second request.

15. The method of claim 1 , wherein the step of generating a mapped pathname or a mapped filename from at least one of the parsed elements is performed by a software component running on the server computer, on a cache manager computer coupled to the server computer, or on both the server computer and the cache manager computer.

16. A computer program product comprising at least one non-transitory system readable storage medium storing instructions translatable for:

parsing a first request for a first content to form parsed elements that correspond to different parameters of the first request;

generating a mapped pathname or a mapped filename from at least one of the parsed elements;

if at least one file corresponding to the mapped pathname or the mapped filename is found within a storage medium, retrieving the at least one file from the storage medium; and

if no file within the storage medium is found to correspond to the mapped pathname or the mapped filename, generating the first content or any content components thereof, wherein the content comprises a first file; and

storing the first file in the storage medium at a location corresponding to the mapped pathname or the mapped filename, wherein content within the storage medium is arranged hierarchically and the hierarchical arrangement of the storage medium is configured based on the distribution of the content within the storage medium.

17. The computer program product of claim 16 , the instructions further translatable for dynamically configuring the hierarchical arrangement of the storage medium based on the number of files stored on a level of the hierarchy of the storage medium.

18. The computer program product of claim 17 , wherein the hierarchical arrangement of the storage medium is dynamically configured based on desired performance.

19. The computer program product of claim 18 , wherein the hierarchical arrangement of the storage medium is a directory structure.

20. The computer program product of claim 19 , wherein dynamically configuring the hierarchical arrangement of the storage medium comprises adding a subdirectory to a directory based on the number of files or subdirectories in the directory.

21. The computer program product of claim 20 , wherein the dynamic configuration occurs when the number of files or subdirectories in the directory exceeds a limit.

22. The computer program product of claim 21 , wherein the dynamic configuration occurs substantially automatically.

23. The computer program product of claim 22 , wherein the dynamic configuration occurs substantially atomically.

24. The computer program product of claim 19 , wherein dynamically configuring the hierarchical arrangement of the storage medium comprises moving a set of files in a subdirectory of a directory to the directory and removing the subdirectory based on the number of files in the directory or subdirectory.

25. The computer program product of claim 19 , wherein dynamically configuring the hierarchical arrangement of the storage medium comprises moving a set of files in a subdirectory of a directory to the directory and removing the subdirectory based on a rate of growth of the hierarchy of the storage medium.

26. The computer program product of claim 16 , wherein the first mapped pathname comprises at least one directory of the storage medium.

27. The computer program product of claim 26 , wherein one of the parsed elements corresponds to a first directory of the at least one directory of the storage medium.

28. The computer program product of claim 27 , the instructions further translatable for hashing the mapped filename to form a hashed filename, wherein a name of a second directory is based on the hashed filename, the second directory is a subdirectory of the first directory and the first file is stored within the second directory.

29. The computer program product of claim 16 , the instructions further translatable for:

generating a second mapped pathname from a second request for a second content, where the second content comprises the first file;

locating the first file in the storage medium based on the second mapped pathname.

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 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 May 21, 2007
From: O'CONNELL, CONLETH S., JR.; WHITE, ERIC R.; RAJKUMAR, N. ISAAC
To: VIGNETTE CORPORATION
Reel/Frame 019346/0400 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2007
From: O'CONNELL, CONLETH S.; WHITE, ERIC R.; RAJKUMAR, N. ISAAC
To: VIGNETTE CORPORATION
Reel/Frame 019112/0006 →