Installable performance accelerator for maintaining a local cache storing data residing on a server computer
First Claim
1. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of accelerating performance of the client computer comprising the steps of:
- an application operating on the client computer issuing a system call to retrieve data stored on the server computer;
an accelerator subsystem on the client computer trapping the system call on the client computer before the system call is sent over the network link;
the accelerator subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer, the accelerator subsystem being separate from an operating system of the client computer;
validating the data in the cache on the client computer, wherein the validating step includes comparing a timestamp of the data to a timestamp of a file containing the data;
servicing the system call on the client computer if the system call is serviceable locally; and
sending the system call to the server computer if the system call is not serviceable locally.
4 Assignments
0 Petitions
Accused Products
Abstract
An installable performance accelerator for computer network distributed file systems is provided. A cache subsystem is added onto, or plugged into, an existing distributed file system with no source code modifications to the operating system. The cache subsystem manages a cache on the client computer side which traps file system calls to cached files in order to obtain an immediate and substantial performance increase in distributed file system performance.
-
Citations
15 Claims
-
1. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of accelerating performance of the client computer comprising the steps of:
-
an application operating on the client computer issuing a system call to retrieve data stored on the server computer; an accelerator subsystem on the client computer trapping the system call on the client computer before the system call is sent over the network link; the accelerator subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer, the accelerator subsystem being separate from an operating system of the client computer; validating the data in the cache on the client computer, wherein the validating step includes comparing a timestamp of the data to a timestamp of a file containing the data; servicing the system call on the client computer if the system call is serviceable locally; and sending the system call to the server computer if the system call is not serviceable locally. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of accelerating performance of the client computer comprising the steps of:
-
an application operating on the client computer issuing a system call to retrieve data stored on the server computer; an accelerator subsystem on the client computer trapping the system call on the client computer before the system call is sent over the network link; the accelerator subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer, the accelerator subsystem being separate from an operating system of the client computer; validating the data in the cache on the client computer, wherein the validating step includes the steps of; generating a first checksum for the data in the cache on the client computer; sending the first checksum to the server computer over the network link; a proxy subsystem on the server computer generating a second checksum for corresponding data on the server computer, the proxy subsystem being separate from an operating system of the server computer; and comparing the first and second checksums; servicing the system call on the client computer if the system call is serviceable locally; and sending the system call to the server computer if the system call is not serviceable locally. - View Dependent Claims (7)
-
-
8. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of accelerating performance of the client computer comprising the steps of:
-
an application operating on the client computer issuing a system call to retrieve data stored on the server computer; an accelerator subsystem on the client computer trapping the system call on the client computer before the system call is sent over the network link, wherein the trapping step comprises the step of setting a NETWORK bit of a Current Directory Structure (CDS) of a selected hard drive; the accelerator subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer, the accelerator subsystem being separate from an operating system of the client computer; servicing the system call on the client computer if the system call is serviceable locally; and sending the system call to the server computer if the system call is not serviceable locally. - View Dependent Claims (9)
-
-
10. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of providing caching on the client computer comprising the steps of:
-
installing a cache subsystem on the client computer, the cache subsystem being separate from an operating system of the client computer; the cache subsystem maintaining a cache on the client computer for selected files stored on the server computer; the cache subsystem trapping a file system call from an application operating on the client computer specifying a read operation of a selected file; validating data in the cache, the step of validating comprising the steps of; generating a first checksum for the data in the cache on the client computer; sending the first checksum to the server computer over the network link; a proxy subsystem on the server computer generating a second checksum for corresponding data on the server computer, the proxy subsystem being separate from an operating system of the server computer; and comparing the first and second checksums; if the file system call requests data in the cache, accessing the data in the cache; and if the file system call requests data that is not in the cache, sending the file system call to the server computer over the network link. - View Dependent Claims (11)
-
-
12. A computer network system, comprising:
-
a client computer; a server computer storing files accessible by the client computer; a network link coupling the client computer to the server computer; an operating system operating on the client and server computer that provides networking functionality; a cache subsystem operating on the client computer separate from the operating system, the cache subsystem trapping system calls requesting data in selected files stored on the server and maintaining a cache of data in the selected files to satisfy the system calls locally on the client computer a first computer coupled to the network link; and a proxy subsystem operating on the first computer to receive messages from the client computer in order to generate system calls to the server computer; wherein the network link between the client computer and the server computer is slow compared to the network link between the first computer and the server computer.
-
-
13. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of accelerating performance of the client computer comprising the steps of:
-
an application operating on the client computer issuing a system call to retrieve data stored on the server computer; an accelerator subsystem on the client computer trapping the system call on the client computer before the system call is sent over the network link, wherein the trapping step comprises the step of setting a NETWORK bit of a Current Directory Structure (CDS) of a selected hard drive; the accelerator subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer, the accelerator subsystem being seperate from an operating system of the client computer; validating the data in the cache on the client computer; servicing the system call on the client computer if the system call is servicable locally; and sending the system call to the server computer if the system call is not servicable locally.
-
-
14. In a computer network providing a distributed file system, the computer network including a server computer and a client computer where files stored on the server computer are accessible by the client computer via a network link, a method of accelerating performance of the client computer comprising the steps of:
-
an application operating on the client computer issuing a system call to retrieve data stored on the server computer; an accelerator subsystem on the client computer trapping the system call on the client computer before the system call is sent over the network link; the accelerator subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer, the accelerator subsystem being separate from an operating system of the client computer; generating a first checksum for the data in the cache on the client computer; sending the first checksum to the server computer over the network link; a proxy subsystem generating a second checksum for corresponding data on the server computer, the proxy subsystem being separate from an operating system of the server computer; comparing the first and second checksums to validate the data in the cache on the client computer; servicing the system call on the client computer if the system call is serviceable locally; and sending the system call to the server computer if the system call is not serviceable locally.
-
-
15. A computer program product that accelerates performance of a client computer on a computer network with a server computer, comprising:
-
computer code that traps a system call from an application on the client computer for retrieving data stored on the server computer; computer code that is separate from the operating system of the client computer determining if the system call is capable of being serviced locally utilizing a cache on the client computer that stores data from the server computer; computer code that generates a checksum for the data in the cache on the client computer in order to validate the data in the cache; computer code that services the system call on the client computer if the system call is serviceable locally; and computer code that sends the system call to the server computer if the system call is not serviceable locally.
-
Specification