Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer
First Claim
1. A system for maintaining the integrity of two autonomous databases across a computer network, the computer network consisting of two central processing units interconnected by a communications network, two autonomous databases each consisting of the same plurality of entities and wherein one of the databases resides on each of the central processing units, a transaction processor residing on each of the central processing units, application programs residing on each of the central processing units, a network processor residing on each of the central processing units, and a lock manager residing on each of the central processing units, said system for maintaining the value assigned to each entity the same between the two databases, said system comprising:
- means, within each lock manager, for maintaining a lock database on one of the central processing units;
means, within each application program, for initiating a request for a lock to be placed on an identified entity in both of the databases to enable a data update transaction to be performed on said identified entity in both of the databases;
means, within each lock manager, for enabling one of the lock managers to lock said identified entity in both of the databases, in response to said means for initiating said lock request, by establishing an entry for said identified entity in said lock database;
means, within each application program, for entering said data update transaction in a transaction processor queue;
means, within each network processor, for transmitting said data update transaction to the other network processor;
means, within each transaction processor for performing said data update transaction on said identified entity in the database on the central processing unit on which that transaction processor resides and for initiating an unlock request on said identified entity after said data update transaction has been performed; and
means, within each lock manager, for unlocking said identified entity only in the database on the central processing unit on which that lock manager resides, in response to said means for initiating said unlock request, by modifying said entry for said identified entity in said lock database and transferring ownership of the lock, when necessary, to the CPU where the update transaction was performed.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for maintaining the integrity of two substantially identical databases across a computer network consisting of two central processing units interconnected by a communications network includes means within a lock manager for maintaining a lock database on one of the central processing units, means within an application program for initiating a request for a lock to be placed on an identified entity in both of the databases to enable a data update transaction to be performed on the identified entity in both of the databases, and means within the lock manager for locking the identified entity in both of the databases by establishing an entry for the identified entity in the lock database. Such a system for maintaining database integrity also includes means within the application program for entering the data update transaction in a transaction processor queue, means within a network processor for transmitting the data update transaction to a network processor on the other central processing unit, means within a transaction processor for performing the data update transaction on the identified entity and for initiating an unlock request on the identified entity after the data update transaction has been performed, and means within the lock manager for unlocking the identified entity by modifying the entry for the identified entity in the lock database.
50 Citations
16 Claims
-
1. A system for maintaining the integrity of two autonomous databases across a computer network, the computer network consisting of two central processing units interconnected by a communications network, two autonomous databases each consisting of the same plurality of entities and wherein one of the databases resides on each of the central processing units, a transaction processor residing on each of the central processing units, application programs residing on each of the central processing units, a network processor residing on each of the central processing units, and a lock manager residing on each of the central processing units, said system for maintaining the value assigned to each entity the same between the two databases, said system comprising:
-
means, within each lock manager, for maintaining a lock database on one of the central processing units; means, within each application program, for initiating a request for a lock to be placed on an identified entity in both of the databases to enable a data update transaction to be performed on said identified entity in both of the databases; means, within each lock manager, for enabling one of the lock managers to lock said identified entity in both of the databases, in response to said means for initiating said lock request, by establishing an entry for said identified entity in said lock database; means, within each application program, for entering said data update transaction in a transaction processor queue; means, within each network processor, for transmitting said data update transaction to the other network processor; means, within each transaction processor for performing said data update transaction on said identified entity in the database on the central processing unit on which that transaction processor resides and for initiating an unlock request on said identified entity after said data update transaction has been performed; and means, within each lock manager, for unlocking said identified entity only in the database on the central processing unit on which that lock manager resides, in response to said means for initiating said unlock request, by modifying said entry for said identified entity in said lock database and transferring ownership of the lock, when necessary, to the CPU where the update transaction was performed.
-
-
2. A system for maintaining the integrity of two autonomous databases across a computer network, the computer network consisting of two central processing units interconnected by a communications network, two databases each consisting of the same plurality of entities and wherein one of the databases resides on each of the central processing units, a transaction processor residing on each of the central processing units, application programs residing on each of the central processing units, a network processor residing on each of the central processing units, and a lock manager residing on each of the central processing units, said system for maintaining the value assigned to each entity the same between the two databases, said system comprising:
-
means, within the lock manager on each central processing unit, for maintaining a lock database on one of the central processing units; means, within the application program on one of the central processing units, for initiating a request for a lock to be placed on an identified entity in both of the databases to enable a data update transaction to be performed on said identified entity in both of the databases; means, within the lock manager residing on the same central processing unit as said means for initiating said lock request, for locking said identified entity in both of the databases, in response to said means for initiating said lock request, by establishing an entry for said identified entity in said lock database; means, within the application program containing said means for initiating said lock request, for entering said data update transaction in a transaction processor queue residing on the same central processing unit as said means for initiating said lock request; means, within the network processor residing on the same central processing unit as said means for initiating said lock request, for transmitting said data update transaction to the network processor residing on the other central processing unit; means, within the transaction processor on each central processing unit, for performing said data update transaction on said identified entity in the database on the central processing unit on which that transaction processor resides; means, within the transaction processor on each central processing unit, for initiating an unlock request on said identified entity after said data update transaction has been performed on said identified entity in the database on the central processing unit on which that transaction processor resides; and means, within the lock manager on each central processing unit, for unlocking said identified entity only in the database on the central processing unit on which that lock manager resides, in response to said means for initiating said unlock request, by modifying said entry for said identified entity in said lock database and transferring ownership of the lock, when necessary, to the CPU where the update transaction was performed. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for maintaining the integrity of two autonomous databases across a computer network, the computer network consisting of two central processing units interconnected by a communications network and two autonomous databases each consisting of the same plurality of entities and wherein one of the databases resides on each of the central processing units, said method for maintaining the value assigned to each entity the same between the two databases, said method comprising the steps of:
-
maintaining a lock database on one of the central processing units; initiating a request for a lock to be placed on an identified entity in both of the databases to enable a data update transaction to be performed on said identified entity in both of the databases; establishing an entry for said identified entity in said lock database, in response to said step of initiating said lock request, thereby locking said identified entity in both of the databases; entering said data update transaction in a transaction processor queue; transmitting said data update transaction to a transaction processor queue on the other central processing unit in the computer network; performing said data update transaction on said identified entity in one of the databases; initiating an unlock request on said identified entity in only said one of the databases after performing said data update transaction on said identified entity in said one of the databases; and unlocking said identified entity in only said one of the databases, in response to said step of initiating said unlock request, by modifying said entry for said identified entity in said lock database and transferring ownership of the lock, when necessary, to the CPU where the update transaction was performed.
-
Specification