Method and product for enchancing performance of computer networks including shared storage objects
First Claim
1. In a computer network providing a distributed storage system, the computer network including a server computer and a client computer where objects stored on the server computer are accessible by the client computer via a network link, a method of enhancing performance of the client computer comprising the steps of:
- an application on the client computer issuing a system call to be sent to the server computer over the network link;
a cache subsystem on the client computer intercepting the system call on the client computer before the system call is sent over the network link, the cache subsystem being separate from an operating system of the client computer;
the cache subsystem analyzing past system calls in order to determine if the system call is capable of being serviced locally by utilizing a 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.
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 or intercepts file system calls to cached files in order to obtain an immediate and substantial performance increase in distributed file system performance. Additionally, a refresh agent may be installed on the server side to further speed up cache accesses.
254 Citations
34 Claims
-
1. In a computer network providing a distributed storage system, the computer network including a server computer and a client computer where objects stored on the server computer are accessible by the client computer via a network link, a method of enhancing performance of the client computer comprising the steps of:
-
an application on the client computer issuing a system call to be sent to the server computer over the network link; a cache subsystem on the client computer intercepting the system call on the client computer before the system call is sent over the network link, the cache subsystem being separate from an operating system of the client computer; the cache subsystem analyzing past system calls in order to determine if the system call is capable of being serviced locally by utilizing a 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In a computer network providing a distributed storage system, the computer network including a server computer and a client computer where objects stored on the server computer are accessible by the client computer via a network link, a method of enhancing performance on the client computer comprising the steps of:
-
an application on the client computer issuing a system call to be sent to the server computer over the network link; a cache subsystem on the client computer intercepting the system call on the client computer before the system call is sent over the network link, the cache subsystem being separate from an operating system of the client computer; the cache subsystem determining if the system call is capable of being serviced locally utilizing a cache on the client computer; servicing the system call on the client computer if the system call is serviceable locally, the servicing step including validating data in the cache on the client computer by generating a first checksum for the data in the cache on the client computer, sending the first checksum to a refresh agent on the server computer over the network link, the refresh agent generating a second checksum for corresponding data on the server computer, and comparing the first and second checksums; and sending the system call to the server computer if the system call is not serviceable locally. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. 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 storage system on the client computer; a cache subsystem maintaining a cache on the client computer for selected files, the cache subsystem being separate from an operating system of the client computer; the cache subsystem intercepting a file system call specifying a read operation of a selected file; installing a refresh agent on the server computer, the refresh agent being separate from an operating system of the server computer; the refresh agent indicating to the cache subsystem whether data in the cache is valid; if the file system call requests data in the cache and the data is valid, accessing the data in the cache; and if the file system call requests data in the cache but the data is invalid, sending the file system call to the server computer over the network link. - View Dependent Claims (24, 25)
-
-
26. In a computer network providing a distributed storage system, the computer network including a server computer and a client computer where objects stored on the server computer are accessible by the client computer via a network link, a computer program product for enhancing performance of the client computer comprising:
-
code for intercepting a system call issued by an application on the client computer before the system call is sent to the server over the network link; code for analyzing current and past system calls in order to determine if the system call is capable of being serviced locally by utilizing a cache on the client computer; code for servicing the system call on the client computer if the system call is serviceable locally; code for sending the system call to the server computer if the system call is not serviceable locally; and a computer-readable medium for storing the codes; wherein the code resides on the client computer and is separate from an operating system of the client computer. - View Dependent Claims (27, 28, 29)
-
-
30. In a computer network providing a distributed storage system, the computer network including a server computer and a client computer where objects stored on the server computer are accessible by the client computer via a network link, a method of enhancing performance of the client computer comprising the steps of:
-
intercepting, at a cache subsystem, selective ones of system calls issued from an operating system and intended for transmission over the network link to the server computer, the operating system being separate from the cache subsystem; analyzing, for each intercepted operating system call, current and selective ones of past operating system calls to determine whether the current intercepted operating system call can be serviced locally by utilizing a cache on the client computer; and if the intercepted operating system call is serviceable locally, generating an enhanced system operation responsive to the intercepted operating system call, and performing the enhanced system operation;
orif the intercepted operating system call is not serviceable locally, sending the intercepted operating system call to the server computer. - View Dependent Claims (31, 32, 33, 34)
-
Specification