Patent US5459862A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5459862A Expired / Lapsed US ⏱️ 0.0 years remaining

Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer

Assignee: Clinisys Inc
•
Filing: 1993-09-30
•
Granted: 1995-10-17
•
Expires: 2013-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 James F. Garliepp
  • 👤 Paul E. Siml
  • 👤 Jane D. Hiscox
  • 👤 Terry R. Friedrichsen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 16:45
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2336; G06F16/2343; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938; Y10S707/99939; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 363 words
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.
Claim 2
Independent Claim 363 words
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.
Claim 3
Independent Claim 463 words
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.
Claim 4
Independent Claim 463 words
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.
Claim 5
Dependent Claim 54 words
The system of claim 2 wherein said means for locking said identified entity includes means for establishing said entry for said identified entity in said lock database by storing in said lock database an entity name, a lock expiration time, an originating central processing unit, a current lock count, and an original lock count.
Claim 6
Dependent Claim 39 words
The system of claim 3 wherein said means for locking said identified entity includes means for assigning a lock sequence number to said lock request thereby forming a unique entity name-lock sequence number pair to identify said lock request.
Claim 7
Dependent Claim 39 words
The system of claim 4 wherein a location of said established entry in said lock database corresponds to said assigned lock sequence number and wherein said lock sequence number is stored with said entity name in a cross-reference table.
Claim 8
Dependent Claim 40 words
The system of claim 5 wherein said means for locking said identified entity includes means for initializing both said current lock count in said established entity and said original lock count in said established entity to a value of two.
Claim 9
Dependent Claim 31 words
The system of claim 6 wherein said means for locking said identified entity includes means for determining whether said entity name of said identified entity is stored in said lock database.
Claim 10
Dependent Claim 38 words
The system of claim 7 wherein said means for determining whether said entity name of said identified entity is stored in said lock database includes means for determining whether said entity name is stored in said cross-reference table.
Claim 11
Dependent Claim 31 words
The system of claim 8 wherein said means for locking said identified entity includes means for granting said lock request if said entity name does not appear in said lock database.
Claim 12
Dependent Claim 65 words
The system of claim 9 wherein said means for locking said identified entity includes means for granting said lock request if said entity name appears in said lock database, said current lock count in said established entry is equal to one, and said originating central processing unit in said established entry is the same as the central processing unit from which said lock request originated.
Claim 13
Dependent Claim 27 words
The system of claim 3 wherein said means for unlocking said identified entity includes means for decrementing said current lock count in said established entry by one.
Claim 14
Dependent Claim 35 words
The system of claim 11 wherein said means for unlocking said identified entity includes means for removing said established entry from said lock database if said current lock count in said established entry equals zero.
Claim 15
Dependent Claim 51 words
The system of claim 12 wherein said means for unlocking said identified entity includes means for modifying said originating central processing unit in said established entry if said originating central processing unit in said established entry is not the same as the central processing unit from which said unlock request originated.
Claim 16
Dependent Claim 48 words
The system of claim 3 wherein said means for locking said identified entity initializes said lock expiration time to zero to create an infinite lock and wherein said means for locking said identified entity initializes said lock expiration time to a non-zero integer to create a finite lock.
Claim 17
Dependent Claim 53 words
The system of claim 14 wherein said means for locking said identified entity includes means for granting said lock request if said lock expiration time in said established entry is a non-zero integer which corresponds to a time of day earlier than a time of day at which said lock request was initiated.
Claim 18
Independent Claim 280 words
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.
Claim 19
Independent Claim 280 words
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.

References Cited (Backward Citations)

US4320451A Cited
US4249241A Cited
US4399504A Cited
US4480304A Cited
US4819159A Cited
US4965719A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-10-16 1999-04-17 1999-10-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-10-16 2003-04-17 2003-10-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-10-16 2007-04-17 2007-10-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag