File system performance enhancement
First Claim
1. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
- administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files;
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file; and
wherein the request to access a file is handled entirely by the regular file system if the request is directed to a monitored file and the product is not running on the computer.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus that enhance the performance of computer file systems, and in particular the performance of read-only operations in such file systems. The invention can be implemented in a suite of computer program modules that together make up a performance enhancement product. The invention can transparently exist in an operating system after an initial setup is completed. The initial setup involves identifying what directories or files are to be monitored in order to intercept access requests for those files and to respond to those requests with enhanced performance. A system administrator can specify what directories or files are to be monitored. A high-performance index of monitored directories or files is maintained. When a monitored file is opened, a file identifier used, thereby bypassing the access of any directory meta data information. In one embodiment, access to monitored files is enhanced by pinning files in the data cache maintained by the file system cache manager.
-
Citations
47 Claims
-
1. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files;
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file; and
wherein the request to access a file is handled entirely by the regular file system if the request is directed to a monitored file and the product is not running on the computer.
-
-
2. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files;
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file; and
wherein the administration means is operable to allow the user to cause all file operation requests to be directed to the regular file system driver.
-
-
3. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files;
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file;
wherein the administration means is operable to create and maintain registry entries as necessary as the result of user interactions with the administration means; and
wherein the administration means is operable to allow the user to set a toggle that returns a “
file does not exist”
response to requests for monitored files that cannot be found using the lookup data.
-
-
4. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files;
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file; and
wherein all requests to monitored files that cannot be found using the lookup data are forwarded to be performed as regular file system operations.
-
-
5. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files;
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product; and
means for regenerating the lookup data whenever the computer is rebooted;
wherein operation of the regular file system is changed only with respect to monitored files; and
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file.
-
-
6. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files;
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product; and
means for preventing the regular file system from updating an access time when monitored files are read through the product, the access time being an item of meta data otherwise maintained by the regular file system;
wherein operation of the regular file system is changed only with respect to monitored files; and
wherein a request to access a file is passively forwarded to the regular file system if the request is directed to a non-monitored file and the request is controlled by the product if the request is directed to a monitored file.
-
-
7. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files; and
wherein the means for bypassing a lookup operation uses an open-by-file-ID operation of the regular file system in place of an open-by-file-name operation of the regular file system.
-
-
8. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files; and
wherein the means for bypassing a lookup operation uses a file-ID based vnode access operation of a UNIX virtual file system in place of a corresponding name based access operation.
-
-
9. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product;
wherein operation of the regular file system is changed only with respect to monitored files; and
wherein the lookup data comprises a high-performance index of monitored directories and files.
-
-
10. A file system performance enhancement product operable to be executed on a computer running a regular file system, the product comprising:
-
administration means for a user to select some files of the file system as monitored files, the remaining files of the file system being non-monitored files; and
means for bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the product; and
means for obtaining meta data for monitored files and recording the meta data information for use by the product in bypassing operations of the regular file system;
wherein operation of the regular file system is changed only with respect to monitored files;
wherein the administration means includes means for the user to select a directory as a monitored directory, any files in the monitored directory, or any subdirectory contained within the monitored directory; and
wherein the product operates transparently in conjunction with the regular file system after an initial setup is completed. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
the regular file system maintains a cache of disk data in random access memory of the computer, the product further comprising means for controlling what data is maintained in the cache to discard data from a least recently used file; - and
the administration means includes a computer program application running in user mode and interacting with the user through a graphical user interface.
-
-
16. The product of claim 15, wherein
the regular file system is a Windows NT version 4.0 or later file system (NTFS); - and
the means for controlling what data is maintained in the cache comprises means for maintaining a memory-descriptor-list (MDL) read operation on a first monitored file until the first monitored file becomes the least-recently-used file, thereby affecting an NTFS primary file cache and pinning recently-used monitored files in the NTFS primary file cache.
- and
-
17. The product of claim 16, wherein a read operation is handled without the intervention of the underlying file system by using the memory descriptor list information obtained from pinned data in cache memory as a result of a previously satisfied read operation.
-
18. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forwarding a request to access a file to the regular file system if the request is directed to a non-monitored file and intercepting the request by the separate enhanced file system if the request is directed to a monitored file; and
handling the request to access a file entirely by the regular file system if the request is directed to a monitored file and the separate enhanced file system is not running on the computer;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
19. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forwarding a request to access a file to the regular file system if the request is directed to a non-monitored file and intercepting the request by the separate enhanced file system if the request is directed to a monitored file; and
selectively configuring, based user input, the routing of all file operation requests to the regular file system driver;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
20. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forwarding a request to access a file to the regular file system if the request is directed to a non-monitored file and intercepting the request by the separate enhanced file system if the request is directed to a monitored file;
creating and maintaining registry entries as necessary as the result of user interactions with the separate enhanced file system; and
selectively configuring the separate enhanced file system to allow the user to set a toggle that returns a “
file does not exist”
response to requests for monitored files that cannot be found using the lookup data;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
21. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forwarding a request to access a file to the regular file system if the request is directed to a non-monitored file and intercepting the request by the separate enhanced file system if the request is directed to a monitored file; and
forwarding all requests to monitored files that cannot be found using the lookup data to the regular file system for processing;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
22. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forwarding a request to access a file to the regular file system if the request is directed to a non-monitored file and intercepting the request by the separate enhanced file system if the request is directed to a monitored file; and
regenerating the lookup data whenever the computer is rebooted;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
23. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forwarding a request to access a file to the regular file system if the request is directed to a non-monitored file and intercepting the request by the separate enhanced file system if the request is directed to a monitored file; and
preventing the regular file system from updating an access time when monitored files are read through the separate enhanced file system, the access time being an item of meta data otherwise maintained by the regular file system;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
24. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system; and
using an open-by-file-ID operation of the regular file system in place of an open-by-file-name operation of the regular file system when bypassing a lookup operation;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
25. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system; and
using a file-ID based vnode access operation of a UNIX virtual file system in place of a corresponding name based access operation when bypassing a lookup operation;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
26. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system; and
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
wherein operation of the regular file system is changed only with respect to monitored files; and
wherein the lookup data comprises a high-performance index of monitored directories and files.
-
-
27. A method for enhancing file system performance executed on a computer running a regular file system, the product comprising:
-
selecting one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintaining lookup data for all monitored files in a separate enhanced file system;
bypassing a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
obtaining meta data for monitored files and recording the meta data information for use by the separate enhanced file system in bypassing operations of the regular file system, selecting by the user a directory as a monitored directory, any files in the monitored directory, or any subdirectory contained within the monitored directory; and
operating transparently in conjunction with the regular file system after an initial setup is completed;
wherein operation of the regular file system is changed only with respect to monitored files. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 46, 47)
maintaining by the regular file system a cache of disk data in random access memory of the computer, controlling by the separate enhanced file system what data is maintained in the cache to discard data from a least recently used file; - and
interacting with the user through a graphical user interface using a computer program application running in user mode on the computer.
-
-
33. The method of claim 32, wherein the regular file system is a Windows NT version 4.0 or later file system (NTFS), the method further comprising
controlling what data is maintained in the cache including maintaining a memory-descriptor-list (MDL) read operation on a first monitored file until the first monitored file becomes the least-recently-used file, thereby affecting an NTFS primary file cache and pinning recently-used monitored files in the NTFS primary file cache. -
34. The method of claim 33, further comprising handling a read operation without the intervention of the underlying file system by using the memory descriptor list information obtained from pinned data in cache memory as a result of a previously satisfied read operation.
-
46. The method of claim 32, wherein the regular file system is a Windows NT version 4.0 or later file system (NTFS), the method further comprising instructions to
control what data is maintained in the cache including maintaining a memory-descriptor-list (MDL) read operation on a first monitored file until the first monitored file becomes the least-recently-used file, thereby affecting an NTFS primary file cache and pinning recently-used monitored files in the NTFS primary file cache. -
47. The method of claim 46, further comprising instructions to handle a read operation without the intervention of the underlying file system by using the memory descriptor list information obtained from pinned data in cache memory as a result of a previously satisfied read operation.
-
35. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system; and
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forward a request to access a file to the regular file system if the request is directed to a non-monitored file and intercept the request by the separate enhanced file system if the request is directed to a monitored file; and
selectively configure, based user input, the routing of all file operation requests to the regular file system driver;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
36. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forward a request to access a file to the regular file system if the request is directed to a non-monitored file and intercept the request by the separate enhanced file system if the request is directed to a monitored file;
create and maintain registry entries as necessary as the result of user interactions with the separate enhanced file system; and
selectively configure the separate enhanced file system to allow the user to set a toggle that returns a “
file does not exist”
response to requests for monitored files that cannot be found using the lookup data;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
37. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forward a request to access a file to the regular file system if the request is directed to a non-monitored file and intercept the request by the separate enhanced file system if the request is directed to a monitored file; and
forward all requests to monitored files that cannot be found using the lookup data to the regular file system for processing;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
38. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forward a request to access a file to the regular file system if the request is directed to a non-monitored file and intercept the request by the separate enhanced file system if the request is directed to a monitored file; and
regenerate the lookup data whenever the computer is rebooted;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
39. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
passively forward a request to access a file to the regular file system if the request is directed to a non-monitored file and intercept the request by the separate enhanced file system if the request is directed to a monitored file; and
prevent the regular file system from updating an access time when monitored files are read through the separate enhanced file system, the access time being an item of meta data otherwise maintained by the regular file system;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
40. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system; and
use an open-by-file-ID operation of the regular file system in place of an open-by-file-name operation of the regular file system when bypassing a lookup operation;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
41. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system; and
use a file-ID based vnode access operation of a UNIX virtual file system in place of a corresponding name based access operation when bypassing a lookup operation;
wherein operation of the regular file system is changed only with respect to monitored files.
-
-
42. A computer implemented method for enhancing file system performance executed on a computer running a regular file system, the method including instructions for causing a computer to:
-
select one or more files of the file system as monitored files, the remaining files of the file system being non-monitored files;
maintain lookup data for all monitored files in a separate enhanced file system;
bypass a lookup operation of the regular file system in favor of a lookup operation using lookup data maintained by the separate enhanced file system;
obtain meta data for monitored files and recording the meta data information for use by the separate enhanced file system in bypassing operations of the regular file system;
select by the user a directory as a monitored directory, any files in the monitored directory, or any subdirectory contained within the monitored directory; and
operate transparently in conjunction with the regular file system after an initial setup is completed;
wherein operation of the regular file system is changed only with respect to monitored files. - View Dependent Claims (43, 44, 45)
maintain by the regular file system a cache of disk data in random access memory of the computer, control by the separate enhanced file system what data is maintained in the cache to discard data from a least recently used file; - and
interact with the user through a graphical user interface using a computer program application running in user mode on the computer.
-
Specification