Synchronization of records of a table using bookmarks
First Claim
1. A method in an application server for identifying records of database tables, the application server interfacing with a database server that persistently stores the records of the database tables and interfacing with one or more clients, the method comprising:
- receiving from the database server records of database tables, each database table having fields with field names and field values, one or more of the fields of each database table being a key field such that field values of key fields of a record of a database table uniquely identify the record within the database table;
storing locally at the application server the received records in locally stored database tables;
generating a record bookmark for each received record, the record bookmark containing a table identifier of the database table and a record identifier of the received record derived from the field values of the key fields of the received record such that a record bookmark uniquely identifies a database table and the received record within the database table and such that a record bookmark is changed when a field value of a key field of the received record changes;
sending to clients record bookmarks and field values of fields of the received records, the record bookmarks being opaque to the clients;
receiving from a client a request to modify a record of a database table, the request including a record bookmark of the record to be modified and a new field value for a field of the record;
identifying a database table and a received record from the table identifier and the record identifier of the record bookmark;
performing the requested modification to the locally stored identified record of the identified database table; and
when the requested modification results in a change to a field value of a key field of the identified record,generating a new record bookmark for the identified record of the identified table using a changed field value; and
sending the new record bookmark to the client so that the client has the correct unique identifier of the changed record for subsequent accesses to the changed record; and
sending to the database server a request to modify the identified record of the identified database table, the request including a field value of a field of the record without sending the record bookmarkwherein the client identifies a record of a database table using the record bookmark received from the application server and does not need to be aware of the key fields of the database tables of the database andwherein a request received from the client need not include field values of all key fields of a record to be modified.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for controlling an application server in order to provide application services to clients while maintaining synchronization between records of tables of a database server. An application server retrieves records of tables and stores them locally on the application server. When a client requests some fields of a record of a table, the application server generates a bookmark that uniquely identifies the record. The bookmark may contain a table identifier and a record identifier or a query identification and an identifier of a record within the query result. The bookmark is opaque to the client and only the application server need know how to interpret its contents. When the application server provides the requested fields of the record to the client, it also provides the record bookmark to the client. When the client wants to identify the record, it uses the bookmark provided by the application server.
-
Citations
20 Claims
-
1. A method in an application server for identifying records of database tables, the application server interfacing with a database server that persistently stores the records of the database tables and interfacing with one or more clients, the method comprising:
-
receiving from the database server records of database tables, each database table having fields with field names and field values, one or more of the fields of each database table being a key field such that field values of key fields of a record of a database table uniquely identify the record within the database table; storing locally at the application server the received records in locally stored database tables; generating a record bookmark for each received record, the record bookmark containing a table identifier of the database table and a record identifier of the received record derived from the field values of the key fields of the received record such that a record bookmark uniquely identifies a database table and the received record within the database table and such that a record bookmark is changed when a field value of a key field of the received record changes; sending to clients record bookmarks and field values of fields of the received records, the record bookmarks being opaque to the clients; receiving from a client a request to modify a record of a database table, the request including a record bookmark of the record to be modified and a new field value for a field of the record; identifying a database table and a received record from the table identifier and the record identifier of the record bookmark; performing the requested modification to the locally stored identified record of the identified database table; and when the requested modification results in a change to a field value of a key field of the identified record, generating a new record bookmark for the identified record of the identified table using a changed field value; and sending the new record bookmark to the client so that the client has the correct unique identifier of the changed record for subsequent accesses to the changed record; and sending to the database server a request to modify the identified record of the identified database table, the request including a field value of a field of the record without sending the record bookmark wherein the client identifies a record of a database table using the record bookmark received from the application server and does not need to be aware of the key fields of the database tables of the database and wherein a request received from the client need not include field values of all key fields of a record to be modified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing device providing an application server that provides application services to clients, the application services relating to the processing of records of a table, the table being persistently maintained by a table server, comprising:
-
a memory storing computer-executable instructions of; a component that receives from the table server a record of the table, each record of the table having one or more key fields that uniquely identify the record within the table, the component storing the received record locally; a component that generates a record bookmark for a record of the table that contains a record identifier of the record derived from field values of the key fields of the record such that a record bookmark uniquely identifies the received record within the table such that a record bookmark is changed when a field value of a key field of the received record changes; a component that sends to a client the record bookmark and field values of fields of the record wherein the record bookmark is opaque to the client; a component that receives from the client a request to modify a record of the table, the request including a record bookmark of the record to be modified and a new field value for a field of the record; a component that identifies the table and the record to be modified from a table identifier and the record identifier of the record bookmark included in the received request; a component that performs the requested modification to the locally stored identified record, generates a new record bookmark based on the modification, and sends the new record bookmark to the client so that the client has the correct unique identifier for the modified record for subsequent accesses to the modified record; and a component that sends to the table server a request to modify the identified record of the table, the request including a field value of a field of the record without sending the record bookmark wherein the client identifies a record of the table using the record bookmark received from the application server and does not need to be aware of the key fields of the table; and wherein a request received from the client need not include field values of all key fields of a record to be modified a processor that executes the computer-executable instructions stored in the memory. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer-readable storage device storing computer-executable instructions for controlling an application server to identify records of database tables, the application server interfacing with a database server that persistently stores the records of the database tables and interfacing with one or more clients, by a method comprising:
-
receiving from the database server records of database tables, each database table having fields with field names and field values, one or more of the fields of each database table being a key field such that field values of key fields of a record of a database table uniquely identify the record within the database table; storing locally at the application server the received records in locally stored database tables; generating a record bookmark for each received record, the record bookmark containing a table identifier of the database table and a record identifier of the received record derived from the field values of the key fields of the received record such that a record bookmark uniquely identifies a database table and the received record within the database table and such that a record bookmark is changed when a field value of a key field of the received record changes; sending to clients record bookmarks and field values of fields of the received records, the record bookmarks being opaque to the clients; receiving from a client a request to modify a record of a database table, the request including a record bookmark of the record to be modified and a new field value for a field of the record; identifying a database table and a received record from the table identifier and the record identifier of the record bookmark; performing the requested modification to the locally stored identified record of the identified database table; and when the requested modification results in a change to a field value of a key field of the identified record, generating a new record bookmark for the identified record of the identified table using a changed field value; and sending the new record bookmark to the client so that the client has the correct unique identifier of the changed record for subsequent accesses to the changed record; and sending to the database server a request to modify the identified record of the identified database table, the request including a field value of a field of the record without sending the record bookmark wherein the client identifies a record of a database table using the record bookmark received from the application server and does not need to be aware of the key fields of the database tables of the database and wherein a request received from the client need not include field values of all key fields of a record to be modified. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification