US5805809A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Installable performance accelerator for maintaining a local cache storing data residing on a server computer
Assignee: Intel Corp
•
Filing: 1995-04-26
•
Granted: 1998-09-08
•
Expires: 2015-04-26
Abstract
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.
Inventors
- 👤 Jagdeep Singh
- 👤 Boen T. Thio
- 👤 Chandrashekhar W. Bhide
- 👤 Wayne R. Gray
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-30 14:59
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0875; G06F12/0806; G06F12/0813; G06F16/00; G06F16/10; G06F16/17; G06F16/172; G06F16/18; G06F16/182
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
197 words
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.
Claim 2
Dependent Claim
197 words
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.
Claim 3
Dependent Claim
20 words
The method of claim 1, wherein the sending step utilizes a highly optimized protocol for a low bandwidth network connection.
Claim 4
Dependent Claim
16 words
The method of claim 1, wherein the trapping step is performed with a DOS redirector interface.
Claim 5
Dependent Claim
18 words
The method of claim 1, wherein the system call is a file system call or non-file system call.
Claim 6
Dependent Claim
24 words
The method of claim 1, wherein the system call is a Structured Query Language (SQL) call or a network Application Programming Interface (API) call.
Claim 7
Dependent Claim
249 words
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.
Claim 8
Dependent Claim
249 words
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.
Claim 9
Dependent Claim
33 words
The method of claim 6, further comprising the step of sending a signal to the client computer indicating the data in the cache is valid if the first and second checksums are equal.
Claim 10
Dependent Claim
190 words
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.
Claim 11
Dependent Claim
190 words
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.
Claim 12
Dependent Claim
62 words
The method of claim 8, wherein the sending step comprises the steps of: resetting the NETWORK bit of the CDS to an original state; setting a bit in a memory to indicate the accelerator subsystem should not trap a next system call; and issuing the system call, whereby the system call will be sent to the server computer over the network link.
Claim 13
Dependent Claim
233 words
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.
Claim 14
Dependent Claim
233 words
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.
Claim 15
Dependent Claim
33 words
The method of claim 10, further comprising the step of sending a signal to the client computer indicating the data in the cache is valid if the first and second checksums are equal.
Claim 16
Dependent Claim
152 words
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.
Claim 17
Dependent Claim
152 words
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.
Claim 18
Dependent Claim
200 words
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.
Claim 19
Dependent Claim
200 words
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.
Claim 20
Dependent Claim
237 words
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.
Claim 21
Dependent Claim
237 words
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.
Claim 22
Dependent Claim
143 words
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.
Claim 23
Dependent Claim
143 words
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.
References Cited (Backward Citations)
US4941084A
Cited
US5109515A
Cited
US5046027A
Cited
US5222224A
Cited
US5287504A
Cited
US5218699A
Cited
US5321816A
Cited
US5224095A
Cited
WO1993019420A1
Cited
US5491780A
Cited
US5497463A
Cited
US5452447A
Cited
US5493667A
Cited
US5453979A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-09-07 | 2002-03-09 | 2002-09-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-09-07 | 2006-03-09 | 2006-09-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-09-07 | 2010-03-09 | 2010-09-08 | $7700.00 | Window Closed / Lapsed |