Method and apparatus for distributed control of a database
First Claim
1. A distributed database-management system including clients coupled to a data storage device and the data storage decice including a database with records and for each record associated data fields, and the distributed database-management system comprising:
- lock fields each associated with a corresponding one of the data fields of each record and each lock field for containg a unique client identifier identifying among the clients a single client with edit access to the corresponding one of the data fields;
coherency processes each controlling access including view and edit of a corresponding one of the clients to each data field of each record, and a first coherency process responsive to a query from a first client to provide a first record including a first data field thereof for viewing by the first client, and a second coherency process responsive to a request to edit the first data field by a second client to write the unique identifier of the second client to the associated lock field, and to update the first coherency process of a change to the first data field, thereby providing concurrent view and edit access to the first data field by respectively the first and second clients; and
database processes each executed on a corresponding one of the clients, and a first of said database processes asserted with the first client for receiving the query and for providing the first record to the first client in response to the query, and a second of said base processes associated with the second client for accepting the request to edit the first data field by the second client.
8 Assignments
0 Petitions
Accused Products
Abstract
A distributed database-management system is disclosed in which multiple clients on a network share control over and responsibility for the coherency of a shared database with multiple records. The clients arbitrate between each other for exclusive editing access to each of the fields within each record. The database-management system includes lock fields associated with each field in the multiple records. Each client executes a resident coherency process which is responsive to a request to edit a field. The process grants the request if there is not a field lock on the field. When the request is granted the coherency process asserts exclusive ownership of the field by placing a lock on the field. The coherency process is also responsive to a request to exit editing the field and in response thereto de-asserts exclusive ownership of the field.
-
Citations
17 Claims
-
1. A distributed database-management system including clients coupled to a data storage device and the data storage decice including a database with records and for each record associated data fields, and the distributed database-management system comprising:
-
lock fields each associated with a corresponding one of the data fields of each record and each lock field for containg a unique client identifier identifying among the clients a single client with edit access to the corresponding one of the data fields; coherency processes each controlling access including view and edit of a corresponding one of the clients to each data field of each record, and a first coherency process responsive to a query from a first client to provide a first record including a first data field thereof for viewing by the first client, and a second coherency process responsive to a request to edit the first data field by a second client to write the unique identifier of the second client to the associated lock field, and to update the first coherency process of a change to the first data field, thereby providing concurrent view and edit access to the first data field by respectively the first and second clients; and database processes each executed on a corresponding one of the clients, and a first of said database processes asserted with the first client for receiving the query and for providing the first record to the first client in response to the query, and a second of said base processes associated with the second client for accepting the request to edit the first data field by the second client. - View Dependent Claims (4, 5, 6, 7)
-
-
2. A distributed database-management system for managing a database of a plurality of accessible records, and for providing exclusive editing access to each of the fields within each record to a plurality of clients connected to the database, the database-management system comprising:
-
a plurality of lock fields each associated with a corresponding one of the fields of the plurality of accessible records; a plurality of coherency processes each executed on corresponding one of said plurality of clients, said plurality of coherency processes for receiving a request to edit a field, and for granting the request to edit the field in the absence of an existing field lock on the field by asserting exclusive ownership of a one of said plurality of lock fields associated with the edited field, and for by deg-asserting exclusive ownershib of the one of said plurality of lock fields associated with the edited field upon receipt of a regut to exit editing; and a plurality of database processes each executed on a corresponding one of said plurality of clients, said plurality of database processes for receiving a query, for providing records from the database in response to the guery. for accepting a request to edit the field and within a record and for passing the request to edit the field to the corresponding coherency process and for accepting a request to exit editing the field and to pass the request to exit editing the field to the corresponding coherency process; and processes for receiving a record delete command, for erasing the fields of the record, and for tagging said record with a "free" indicator.
-
-
3. A distributed database-management system for managing a database of a plurality of accessible records, and for providing exclusive editing access to each of the fields within each record to a plurality of clients connected to the database, the data-management system comprising:
-
a plurality of lock fields each associated with a corresponding on, of the fields of the plurality of accessible records; a plurality of coherency processes each executed on a corresponding one of said plurality of clients, said plurality of coherency processes for receiving request to edite a field, and for granting the request to edit the field in the absence of an existing field lock on the field by asserting exclusive ownership of a one of said plurality of lock fields associated with the edited field, and for by de-asserting exclusive ownership of the one of said plurality of lock field associated with the edited field upon receipt of a request to exit editing; and a plurality of database processes each executed on a corresponding one of said plurality of clients, said plurality of database processes for receiving a query, for providing record from the database in response to the query, for accepting a request to edit the field and within a record and for passing the request to edit the field to the corresponding coherency process and for accepting a request to exit editing the field and to pass the request to exit in the field to the corresponding coherency process; and processes for adding a record by locating a record with a "free" indicator and by changing said indicator to "active".
-
-
8. A method in a computer system for managing a database of a plurality of accessible records, and for providing exclusive edit access to each of the fields within each record to a plurality of clients connected to the date base, the method for managing a database comprising the acts of:
-
detecting a request to edit a field at a first of said plurality of clients, initiating a coherency routine on the first of said plurality of clients in response to said detecting act, wherein said coherency routine comprises the acts of; a) determining on the basis of an ownership indicia associated with the field that another of the plurality of clients has edit access to the field; and b) waiting, in response to said determining act, for the ownership indicia associated with the field to be de-asserted; c) responsive to a de-assertion of the ownership indicia associated with the field; i) attaching a first client ownership indicia to the field to be edited; and ii) providing edit access to the field acquiring a request to exit editing a field at a first of said plurality of clients, initiating a coherency routine on the first of said plurality of clients in response to said acquiring act, wherein said coherency routine comprises the acts of; a) removing the first client ownership indicia from the field. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method in a computer system for managing a database with records and for each record associated data fields, and for providing edit access to each of the data fields to clients connected to the database, and the method for managing a database comprising the acts of:
-
detecting a request to edit a first data field of a first record at a first of the clients, initiating a coherency routine on the first of the clients in response to said detecting act, wherein the coherency routine includes; a) determining on the basis of an ownership indicia associated with the first data field that another of the clients includes edit access to the first data field; and b) waiting, in response to said determining act, for the ownership indicia to be de-asserted; c) responsive to the de-assertion of the ownership indicia associated with the first data field attaching a first client ownership indicia to the first data field and providing edit access to the first data field; and d) responsive to a request to exit editing the first data field at a first of said plurality of clients, removing the first client ownership indicia.
-
-
17. A computer usable medium having computer readable program code embodied therein for managing a database with records and for each record associated data fields, and for providing edit access to each of the data fields to clients connected to the database, and the computer readable program code in said article of manufacture comprising:
-
computer readable program code for detecting a request to edit a first data field of a first record at a first of the clients, computer readable program code for initiating a coherency routine on the first of the clients in response to said detecting act, wherein the coherency routine includes; a) computer readable program code for determining on the basis of an ownership indicia associated with the first data field that another of the clients includes edit access to the first data field; and b) computer readable program code for waiting, in response to said determining act, for the ownership indicia to be de-asserted; c) computer readable program code responsive to the de-assertion of the ownership indicia associated with the first data field attaching a first client ownership indicia to the first data field and providing edit access to the first data field; and d) computer readable program code responsive to a request to exit editing the first data field at a first of said plurality of clients, removing the first client ownership indicia.
-
Specification