System and methods for optimized access in a multi-user environment
First Claim
1. In a system comprising a computer network comprising a server for storing information records which may be shared among a plurality of client workstations, each of said client workstations having a processor and a memory, a method for providing a client access to information records stored on the server, the method comprising the steps of:
- receiving from a process executing at the client a request for access to particular records stored on the server;
allocating a buffer in the memory of the client, said buffer for storing copies of said particular records;
transferring copies of said particular records from the server into the buffer of the client, said transferring step being performed with shared access to said particular records;
satisfying said request by providing said process access to said copies of said particular records from said buffer;
receiving at the client input for modifying at least one of said particular records;
transferring said modified at least one of said particular records from the client to the server;
updating copies of records in the buffer which correspond to said modified at least one of said particular records so that said step of transferring said modified at least one of said particular records from the client to the server does not render the buffer invalid; and
periodically marking the buffer as invalid regardless of whether modifications have been posted from clients to the server, upon expiration of a pre-selected time interval.
3 Assignments
0 Petitions
Accused Products
Abstract
A client/server system providing methods of utilizing information stored locally on a client even after the client has modified data on the server is described. A client stores data from the server in a local "read-only" buffer(s), to speed up access to the data and reduce network traffic. Since the buffer is treated as a "read only" buffer, no locks are taken out at the server by the client. Accesses to particular data records are satisfied by looking first to the local buffer or cache. The client may proceed to modify the data records and commit changes back to the server. Moreover, the client updates or "writes through" the "read-only" buffer(s) with the changes so that the local buffer remains valid. The methods of updating data stored locally on the client provide significant performance increases as the client does not have to refresh data from the server.
128 Citations
19 Claims
-
1. In a system comprising a computer network comprising a server for storing information records which may be shared among a plurality of client workstations, each of said client workstations having a processor and a memory, a method for providing a client access to information records stored on the server, the method comprising the steps of:
-
receiving from a process executing at the client a request for access to particular records stored on the server; allocating a buffer in the memory of the client, said buffer for storing copies of said particular records; transferring copies of said particular records from the server into the buffer of the client, said transferring step being performed with shared access to said particular records; satisfying said request by providing said process access to said copies of said particular records from said buffer; receiving at the client input for modifying at least one of said particular records; transferring said modified at least one of said particular records from the client to the server; updating copies of records in the buffer which correspond to said modified at least one of said particular records so that said step of transferring said modified at least one of said particular records from the client to the server does not render the buffer invalid; and periodically marking the buffer as invalid regardless of whether modifications have been posted from clients to the server, upon expiration of a pre-selected time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A server-based networking system with improved data access, comprising:
-
a server having a storage device for storing records in blocks; at least one client operably coupled to said server through a communication line, each said at least one client having a processor and a memory; means for copying at least one of the blocks from the server into a local buffer in the memory of a client; means for accessing records from said local buffer; means, responsive to input at said client, for modifying records which are accessed from said local buffer; means for posting modified records to said server; means for determining whether any modified records posted to said server exist in said local buffer; means for updating copies of records in the local buffer which correspond to said records posted to said server from said client; and means for periodically marking said local buffer as invalid regardless of whether modifications have been posted from clients to the server, upon expiration of a preselected time interval. - View Dependent Claims (11, 12, 13)
-
-
14. A server-based networking system with improved data access comprising:
-
(a) a server having a storage device; (b) at least one client operably coupled to said server through a communication line, each said at least one client having a processor and a memory; (c) means for transferring a valid copy of data from the storage device of the server to memory of a client; (d) means, responsive to a request for data, for providing access to the valid copy of the data in the memory of the client; (e) time-based means for periodically marking the copy as invalid regardless of whether modifications have been posted from clients to the server; (f) modification means for creating a modified copy of the data and posting the modified copy to the server; and (g) update means for updating the copy of the data in the memory of the client, upon posting the modified copy to the server. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification