Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients
First Claim
1. In a multi-user computer system, the system including a database server maintaining on a storage device data records having data fields which store values that change in response to modifications posted by multiple clients in communication with said database server, each client maintaining a local memory buffer for caching a local copy of data records which have been retrieved, a method for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in the local memory buffer of clients, the method comprising:
- receiving at said database server a request from a particular client which defines a range of data records to fetch;
in response to said request,(i) transferring a valid copy of data records within said range from the storage device of the server to the particular client, whereupon a valid copy of data records within said range exists in the local memory buffer of the particular client, and(ii) registering at the database server a request to notify the particular client of any event occurring at the database server that affects said range of data records as a result of additions, deletions, or modifications posted by other clients in communication with said database server;
receiving at said database server a request from a client other than said particular client to post a change;
determining by said database server if the request to post a change specifies a change affecting said range; and
if the request to post a change specifies a change that affects said range, notifying said particular client registered with said database server of occurrence of an event which has occurred at the database server which affects said range of data records.
3 Assignments
0 Petitions
Accused Products
Abstract
Client/server system and methods are described for providing a "cache range" to database clients. When one or more records in a cache range of a client change, a server in connection with the client sends a notification that the cache range has changed. Instead of the client taking a lock out for updating a record, the client simply indicates to the server which records it is interested in (e.g., via registering an event alerter request), whereupon the server manages its resources as necessary to notify the client of a change in one of the records which is of interest to the client. The server can simply take out "interest" locks on the corresponding records; these are not locks which exclude the resource from other clients. Other clients are not prevented from accessing this resource (i.e., the records which are of interest). The interest lock is employed in conjunction with the registered event alerter for notifying the client when a range of records of interest is updated by another client. In this manner, the server undertakes action to indicate to the client when the client local buffer might be stale, thereby providing improved local record buffer management in a client/server database context.
241 Citations
38 Claims
-
1. In a multi-user computer system, the system including a database server maintaining on a storage device data records having data fields which store values that change in response to modifications posted by multiple clients in communication with said database server, each client maintaining a local memory buffer for caching a local copy of data records which have been retrieved, a method for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in the local memory buffer of clients, the method comprising:
-
receiving at said database server a request from a particular client which defines a range of data records to fetch; in response to said request, (i) transferring a valid copy of data records within said range from the storage device of the server to the particular client, whereupon a valid copy of data records within said range exists in the local memory buffer of the particular client, and (ii) registering at the database server a request to notify the particular client of any event occurring at the database server that affects said range of data records as a result of additions, deletions, or modifications posted by other clients in communication with said database server; receiving at said database server a request from a client other than said particular client to post a change; determining by said database server if the request to post a change specifies a change affecting said range; and if the request to post a change specifies a change that affects said range, notifying said particular client registered with said database server of occurrence of an event which has occurred at the database server which affects said range of data records. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. In a multi-user database management system, the system including a database server providing access to a database, the database server in communication with a plurality of clients, a method for notifying clients of particular events occuring in the database which render local record buffers of client stale, the method comprising:
-
registering with the database server a range of data records which are of interest to at least one client, each of said at least one client requiring notification of occurence of any event comprising an insert, update, or delete operation at the database server that affects said range of data records; posting a transaction to the database server, said transaction specifying at least one operation comprising a particular event that affects said range of data records; upon occurrence of said operation specified by said transaction, determining by the database server which clients require notification of occurence of said particular event; and sending a notification from said database server to each said at least one client which requires notification of occurrence of said particular event. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. In a system comprising a computer network having at least one client with a processor and a memory, and the computer network including a server for storing information which may be shared by said at least one client, a method for providing access to information stored on the server, the method comprising:
-
allocating a buffer in the memory of said at least one client for storing information of interest, said information of interest comprising a range; transferring certain information of interest from the server into said buffer of said at least one client and registering a request with the server that said at least one client be notified if information stored in said buffer is rendered stale; receiving a request from another client to insert, delete, or update information at the database server; in response to said request, determining by the database server whether information stored in said buffer is rendered stale; and if information stored in said buffer is rendered stale, notifying each said at least one client information stored in said buffer is stale. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A server-based networking system with improved data access comprising:
-
a server having a storage device; 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 transferring a valid copy of a range of data records from the storage device of the server to memory of the client; means, responsive to a request for said range of data records, for providing access to the valid copy of the range of data records in the memory of the client; and means for transmitting a notification from the server to the client when the copy is render invalid as a result of an event occurring at the server which affects validity of said copy of said range of data records. - View Dependent Claims (37, 38)
-
Specification