Dynamic network cache directories
First Claim
1. In a computer system, a method of storing content in a cache, the method comprising:
- generating at least one subdirectory name that is random, wherein said at least one subdirectory name is highly unlikely to be guessed by a site remote to the system;
for each random subdirectory name, creating a randomly-named cache directory corresponding to a cache based on the random subdirectory name;
downloading content from a server;
determining a predictable filename for the downloaded content; and
storing the content as a file named with the predictable filename in at least one randomly-named cache directory.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for virtually eliminating a potential security risk inherent with the caching of network content. Random subdirectory names are generated for cache directories, while continuing to generate user-friendly file names. Security is achieved since malicious sites cannot guess the cache location, which if guessed along with the filename, could cause a user connected to the site to inadvertently execute malicious content downloaded by the site to the cache. In addition to generating random subdirectory names, the system and method provide enhanced performance by balancing the number of files among the cache directories, and by limiting the number of files in any cache directory by creating additional cache directories as needed.
102 Citations
28 Claims
-
1. In a computer system, a method of storing content in a cache, the method comprising:
-
generating at least one subdirectory name that is random, wherein said at least one subdirectory name is highly unlikely to be guessed by a site remote to the system;
for each random subdirectory name, creating a randomly-named cache directory corresponding to a cache based on the random subdirectory name;
downloading content from a server;
determining a predictable filename for the downloaded content; and
storing the content as a file named with the predictable filename in at least one randomly-named cache directory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 24, 25)
maintaining a table including server content references and filenames converted therefrom. -
11. The method of claim 9 further comprising:
-
maintaining an indexed subdirectory table including each random subdirectory name therein; and
maintaining a table including server content references and corresponding file locations, and wherein the file location associated with each server content reference includes an index to the randomly-named cache directory under which the corresponding file is stored and the filename converted from that reference.
-
-
12. The method of claim 1 wherein downloading content from a server comprises accessing a network site.
-
13. The method of claim 2 wherein creating a randomly-named cache directory includes creating the cache directory as a nested subdirectory based on the at least two random subdirectory names.
-
24. The method of claim 9 wherein the filename includes a name closely matched to the server content reference.
-
25. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
-
- 14. In a computer system, a system for caching downloaded content in a file of a file system, comprising a random generator, a name-generation mechanism connected to the random generator to generate a subdirectory name that is random, wherein said subdirectory name is highly unlikely to be guessed by a site remote to the system, the name-generation mechanism being connected via an interface to the file system to create a randomly-named cache directory based on the random subdirectory name, and a mechanism configured to determine a predictable filename for the downloaded content and to store the downloaded content as a file with the predictable filename in the randomly-named cache directory of the file system.
-
22. In a computer system, a method of caching content downloaded from servers to a plurality of cache directories, the method comprising:
-
generating a plurality of subdirectory names, wherein each subdirectory name is random and wherein said each subdirectory name is highly unlikely to be guessed by a site remote to the system;
creating a randomly-named cache directory for said each random subdirectory name generated;
downloading content from a plurality of servers;
for each distinctly referenced portion of downloaded content, selecting one of the randomly-named cache directories as a selected cache directory, converting a reference for that content to a predictable filename and storing the content as a file having that filename under the selected cache directory. - View Dependent Claims (23, 27, 28)
-
Specification