← Back to Patent Explorer
US5881229A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and product for enchancing performance of computer networks including shared storage objects

Assignee: Intel Corp
•
Filing: 1996-04-26
•
Granted: 1999-03-09
•
Expires: 2016-04-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 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.

Inventors

  • 👤 Jagdeep Singh
  • 👤 Chandrashekhar W. Bhide

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 13:33
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: 39
Claim 1
Independent Claim 170 words
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.
Claim 2
Dependent Claim 170 words
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.
Claim 3
Dependent Claim 15 words
The method of claim 1, wherein the analyzing step includes determining a plurality of optimizations.
Claim 4
Dependent Claim 25 words
The method of claim 2, wherein an optimization includes the step of deferring system calls that specify a write so that writes may be combined.
Claim 5
Dependent Claim 48 words
The method of claim 3, wherein the step of deferring includes: maintaining a list of system calls that specify a write of data; if at least two system calls specify overlapping regions, combining the at least two writes; and otherwise, sending the system calls after a predetermined time.
Claim 6
Dependent Claim 50 words
The method of claim 2, wherein an optimization includes if a system call specifying a write of data to a location is followed by a system call specifying a read of at least a portion of the data that was written, then the read is capable of being serviced locally.
Claim 7
Dependent Claim 64 words
The method of claim 2, wherein an optimization includes if a system call specifying a first read of data at a location is followed by a system call specifying a second read of at least a portion of the data that was read in the first read without any intervening contaminating file system calls, then the second read is capable of being serviced locally.
Claim 8
Dependent Claim 81 words
The method of claim 2, wherein an optimization includes if a system call specifying a first read of data at a location in a timestamp based file is followed by a system call specifying a second read of at least a portion of the data that was read in the first read and the timestamps associated with the timestamp based file is the same for both the first and second reads, then the second read is capable of being serviced locally.
Claim 9
Dependent Claim 60 words
The method of claim 2, wherein an optimization includes if a system call specifying a first file open of a file is followed by a system call specifying a second file open of the file without any intervening file system calls that close the file, then the second open is capable of being serviced locally by using a same handle.
Claim 10
Dependent Claim 32 words
The method of claim 2, wherein an optimization includes if a system call specifying a read of data less than a predetermined amount, the system call is sent to the server computer.
Claim 11
Dependent Claim 87 words
The method of claim 1, further comprising the step of validating data in the cache on the client computer including the steps of: 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, the refresh agent being separate from an operating system of the server computer; and comparing the first and second checksums.
Claim 12
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 13
Dependent Claim 12 words
The method of claim 1, wherein the system call requests directory information.
Claim 14
Dependent Claim 37 words
The method of claim 10, wherein the step of validating is not performed if the system call specifies a read of a small amount of data so that the system call may be sent to the server.
Claim 15
Dependent Claim 17 words
The method of claim 1, wherein the intercepting step is performed by setting up a shadow drive.
Claim 16
Dependent Claim 33 words
The method of claim 1, wherein the system call is a file system call or non-file system call and wherein the analyzing step is further based on a type of the system call.
Claim 17
Dependent Claim 20 words
The method of claim 1, wherein the system call is a database call or a network application programming interfaces call.
Claim 18
Dependent Claim 227 words
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.
Claim 19
Dependent Claim 227 words
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.
Claim 20
Dependent Claim 33 words
The method of claim 17, 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 21
Dependent Claim 12 words
The method of claim 17, wherein the system call requests directory information.
Claim 22
Dependent Claim 38 words
The method of claim 17, wherein the step of validating is not performed if the system call specifies a read of a small amount of data so that the system call may be sent to the server computer.
Claim 23
Dependent Claim 33 words
The method of claim 17, wherein the system call is a file system call or non-file system call and wherein the determining step is further based on a type of the system call.
Claim 24
Dependent Claim 22 words
The method of claim 17, wherein the system call is one of a database call and a network application programming interfaces call.
Claim 25
Dependent Claim 186 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 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.
Claim 26
Dependent Claim 186 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 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.
Claim 27
Dependent Claim 76 words
The method of claim 23, further comprising the step of validating data in the cache comprising the steps of: the cache subsystem generating a first checksum for the data in the cache on the client computer; the cache subsystem sending the first checksum to the 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.
Claim 28
Dependent Claim 33 words
The method of claim 23, 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 29
Dependent Claim 168 words
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.
Claim 30
Dependent Claim 168 words
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.
Claim 31
Dependent Claim 18 words
The method of claim 26, wherein the code for analyzing includes code for determining a plurality of optimizations.
Claim 32
Dependent Claim 18 words
The method of claim 26 further comprising: code for validating data in the cache on the client computer.
Claim 33
Dependent Claim 69 words
The method of claim 28 wherein the code for validating data comprises: code for generating a first checksum for the data in the cache on the client computer; and code for sending the first checksum to a refresh agent on the server computer over the network link; wherein the refresh agent generates a second checksum for corresponding data on the server computer and compares the first and second checksums.
Claim 34
Dependent Claim 172 words
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; or if the intercepted operating system call is not serviceable locally, sending the intercepted operating system call to the server computer.
Claim 35
Dependent Claim 172 words
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; or if the intercepted operating system call is not serviceable locally, sending the intercepted operating system call to the server computer.
Claim 36
Dependent Claim 119 words
The method of claim 30 further comprising: intercepting, at the cache subsystem, selective ones of system calls issued from an application and intended for transmission over the network link to the server computer; analyzing, for each intercepted application system call, current and selective ones of past application system calls to determine whether the current intercepted application system call can be serviced locally by utilizing the cache on the client computer; and if the intercepted application system call is serviceable locally, generating an enhanced application operation responsive to the intercepted application system call, and performing the enhanced application operation; or if the intercepted application system call is not serviceable locally, sending the intercepted application system call to the server computer.
Claim 37
Dependent Claim 15 words
The method of claim 30, wherein the analyzing step includes determining a plurality of optimizations.
Claim 38
Dependent Claim 19 words
The method of claim 30 wherein the performing step comprises: validating data in the cache on the client computer.
Claim 39
Dependent Claim 62 words
The method of claim 33 wherein the validating step comprises: 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; generating, at the refresh agent, a second checksum for corresponding data on the server computer; and comparing the first and second checksums.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-08 2002-09-07 2003-03-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-08 2006-09-07 2007-03-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-08 2010-09-07 2011-03-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag