← Back to Patent Explorer
US4627019A Expired / Lapsed US ⏱️ 0.0 years remaining

Database management system for controlling concurrent access to a database

Assignee: BELL INTERNATIONAL LABORATORIES Inc
•
Filing: 1982-07-08
•
Granted: 1986-12-02
•
Expires: 2002-07-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of assuring that each of a plurality of contemporaneously active database transactions comprising at least one read transaction and at most one update transaction has a consistent view of a database storing a plurality of versions of a relation. A transaction has a consistent view of a database if the data available to a transaction are not changed during its execution. An access dictionary is stored comprising an array of access blocks each defining the database location of one of the relation versions. At any given time, only one of the relation versions is defined as current. A relation dictionary comprising an array of relation blocks is stored such that as each database transaction is begun, a relation block associated with that database transaction is stored defining the access block defining the database location of the relation version then defined as current. For the update transaction, a new access block in the access dictionary is stored defining a new database location to be used for storing a new relation version. The relation block associated with the update transaction is modified to define the new access block and the new relation version is stored in the new database location. In addition the current relation version is redefined as old and the new relation version is defined as current. Access to the database by each of the plurality of database transactions is permitted only via the relation block associated with that database transaction. The method can be extended to allow contemporaneous access by noninterfering writers and an arbitrary number of readers to a database storing a plurality of relations each having a plurality of versions.

Inventors

  • 👤 Fred K. Ng

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 18:33
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2315; G06F16/2329; G06F16/90; G06F16/901; G06F16/9017; G06F16/902; Y; Y10; Y10S; Y10S707/00; Y10S707/912; Y10S707/918; Y10S707/953; Y10S707/954; Y10S707/99931; Y10S707/99938

Claims Analysis

Total Claims: 50
Claim 1
Independent Claim 118 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said method comprising the steps of storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of relation versions and permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions by the relation block associated with that database transaction.
Claim 2
Independent Claim 118 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said method comprising the steps of storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of relation versions and permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions by the relation block associated with that database transaction.
Claim 3
Independent Claim 152 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said method comprising the steps of storing a plurality of verions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of said plurality of relative versions, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality to active database transactions and defining one of said plurality of access blocks and permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 4
Independent Claim 152 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said method comprising the steps of storing a plurality of verions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of said plurality of relative versions, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality to active database transactions and defining one of said plurality of access blocks and permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 5
Independent Claim 211 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said method comprising the steps of storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, defining one of said plurality of relation versions as current, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 6
Independent Claim 211 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said method comprising the steps of storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, defining one of said plurality of relation versions as current, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 7
Independent Claim 95 words
A method in accordance with claims 1, 2, or 3 wherein said step of storing a plurality of versions of said relation comprises the steps of allocating a head block for each of said plurality of relation versions, storing each of said plurality of relation versions in at least one data block and for each of said plurality of relation versions, storing at least one index entry in the head block for that relation version, each of said index entries defining the database location of a data block storing a portion of that relation version.
Claim 8
Dependent Claim 302 words
In a program-controlled system having a database including at least one relation, a method of assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of transactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said method comprising the steps of storing a plurality of versions of said relation, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, defining one of said plurality of relation versions as current, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said plurality of access blocks such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database transaction, for said at most one update transaction, storing a new access block in said access dictionary defining a new database location to be used for storing a new relation version, modifying the relation block associated with said at most one update transaction to define said new access block, storing said new relation version in said new database location, redefining as old the one of said plurality of relation versions then defined as current and defining said new relation version as current.
Claim 9
Dependent Claim 302 words
In a program-controlled system having a database including at least one relation, a method of assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of transactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said method comprising the steps of storing a plurality of versions of said relation, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, defining one of said plurality of relation versions as current, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said plurality of access blocks such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database transaction, for said at most one update transaction, storing a new access block in said access dictionary defining a new database location to be used for storing a new relation version, modifying the relation block associated with said at most one update transaction to define said new access block, storing said new relation version in said new database location, redefining as old the one of said plurality of relation versions then defined as current and defining said new relation version as current.
Claim 10
Dependent Claim 163 words
A method in accordance with claim 5 wherein said step of storing a plurality of versions of said relation comprises the steps of allocating a head block for each of said plurality of relation versions, storing each of said plurality of relation versions in at least one data block and for each of said plurality of relation versions, storing at least one index entry in the head block for that relation version, each of said index entries defining the database location of a data block storing a portion of that relation version and wherein said step of storing said new relation version in said new database location comprises the steps of allocating a head block for said new relation version, storing said new relation version in at least one data block and storing at least one index entry in the head block for said new relation version defining the database location of said at least one data block storing said new relation version.
Claim 11
Dependent Claim 40 words
A method in accordance with claim 6 in which each of the access blocks stored in said access dictionary defines the database location of a relation version by defining the database location of the head block for that relation version.
Claim 12
Dependent Claim 70 words
A method in accordance with claim 7 wherein said step of storing said new relation version in at least one data block comprises the steps of copying into a new data block a data block storing a portion of the one of said plurality of relation versions then defined as current, which portion is to be updated by said at most one update transaction and modifying said new data block.
Claim 13
Dependent Claim 53 words
A method in accordance with claim 8 further comprising the step of storing a data duplication control bit of a predetermined logic value in each index entry of the head block of the one of said plurality of relation versions then defined as current when that index entry defines a copied data block.
Claim 14
Independent Claim 97 words
A method in accordance with claims 5, 6, 7, 8, or 9 further comprising including in each of the access blocks stored in said access dictionary a user count representing the number of said plurality of database transactions which access the relation version defined by that access block and deallocating each access block when the user count of the access block is reduced to zero only when that access block was stored prior to the storage of the access block defining the database location of the one of said plurality of relation versions then defined as current.
Claim 15
Dependent Claim 258 words
A method in accordance with claim 9 further comprising including in each of the access blocks stored in said access dictionary a user count representing the number of said plurality of database transactions which access the relation version defined by that access block, deallocating each access block when the user count of that access block is reduced to zero only when that access block was stored prior to the storage of the access block defining the database location of the one of said plurality of relation versions then defined as current, for a given deallocated access block, testing the data duplication control bit of each index entry of the head block defined by said given access block and of each index entry of the head block defined by the immediately previously stored allocated access block, deallocating a data block defined by a given index entry of said head block defined by said given access block when the data duplication control bit of said given index entry and the data duplication control bit of a corresponding index entry of said head block defined by said immediately previously stored allocated access block are both said predetermined logic value and storing a data duplication control bit of said predetermined logic value in said last-mentioned index entry whenever the data duplication control bit of said last-mentioned index entry is not said predetermined logic value and the data duplication control bit of said given index entry is said predetermined logic value and deallocating said head block defined by said given deallocated access block.
Claim 16
Dependent Claim 45 words
A method in accordance with claim 10 further comprising the step of permitting access to said relation in said database outside of a transaction via the access block defining the database location of the one of said plurality of relation versions then defined as current.
Claim 17
Independent Claim 165 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said method comprising the steps of for each of said plurality of relations, storing a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, for each of said plurality of active database transactions, storing in a relation dictionary one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block stored for a given relation defining one of the plurality of versions of said given relation and for each of said plurality of relations, permitting access by each of said plurality of active database transactions only to the one of the plurality of versions of the relation defined by the relation block associated with that database transaction for that relation.
Claim 18
Independent Claim 165 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said method comprising the steps of for each of said plurality of relations, storing a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, for each of said plurality of active database transactions, storing in a relation dictionary one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block stored for a given relation defining one of the plurality of versions of said given relation and for each of said plurality of relations, permitting access by each of said plurality of active database transactions only to the one of the plurality of versions of the relation defined by the relation block associated with that database transaction for that relation.
Claim 19
Independent Claim 197 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said method comprising the steps of for each of said plurality of relations, storing a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of the plurality of versions of one of said plurality of relations. for each of said plurality of active database transactions, storing in a relation dictionary one relation block associated with that database transaction for each of said plurality of relations to be accessed by the database transaction, each relation block defining one of said plurality of access blocks and for each of said plurality of relations, permitting access by each of said plurality of active database transactions only to the one of the plurality of versions of that relation having its database location defined by the access block defined by the relation block associated with that database transaction for that relation.
Claim 20
Independent Claim 197 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said method comprising the steps of for each of said plurality of relations, storing a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of the plurality of versions of one of said plurality of relations. for each of said plurality of active database transactions, storing in a relation dictionary one relation block associated with that database transaction for each of said plurality of relations to be accessed by the database transaction, each relation block defining one of said plurality of access blocks and for each of said plurality of relations, permitting access by each of said plurality of active database transactions only to the one of the plurality of versions of that relation having its database location defined by the access block defined by the relation block associated with that database transaction for that relation.
Claim 21
Independent Claim 266 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said method comprising the steps of for each of said plurality of relations, storing a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of the plurality of versions of one of said plurality of relations, storing in a dynamic dictionary one dynamic block for each of said plurality of relations, the dynamic block stored for each relation including an access block pointer defining one of said plurality of access blocks, for each of said plurality of active database transactions, storing in a relation dictionary one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun, the relation block stored for a given relation includes the access block pointer of the dynamic block for said given relation and for each of said plurality of relations, permitting access by each of said plurality of active database transactions only to the one of the plurality of versions of that relation having its database location defined by the access block defined by the relation block associated with that database transaction for that relation.
Claim 22
Independent Claim 266 words
A method of controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said method comprising the steps of for each of said plurality of relations, storing a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, storing in an access dictionary a plurality of access blocks each defining the database location of an associated one of the plurality of versions of one of said plurality of relations, storing in a dynamic dictionary one dynamic block for each of said plurality of relations, the dynamic block stored for each relation including an access block pointer defining one of said plurality of access blocks, for each of said plurality of active database transactions, storing in a relation dictionary one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun, the relation block stored for a given relation includes the access block pointer of the dynamic block for said given relation and for each of said plurality of relations, permitting access by each of said plurality of active database transactions only to the one of the plurality of versions of that relation having its database location defined by the access block defined by the relation block associated with that database transaction for that relation.
Claim 23
Dependent Claim 120 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said arrangement comprising means for storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of relation versions and means for permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions defined by the relation block associated with that database transaction.
Claim 24
Dependent Claim 120 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said arrangement comprising means for storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of relation versions and means for permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions defined by the relation block associated with that database transaction.
Claim 25
Dependent Claim 154 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said arrangement comprising means for storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of access blocks and means for permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 26
Dependent Claim 154 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said arrangement comprising means for storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of access blocks and means for permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 27
Dependent Claim 214 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said arrangement comprising means for storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, means for defining one of said plurality of relation versions as current, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, means for permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 28
Dependent Claim 214 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a relation in a database, said arrangement comprising means for storing a plurality of versions of said relation representing modifications of said relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, means for defining one of said plurality of relation versions as current, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of active database transactions and defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, means for permitting access by each of said plurality of active database transactions only to the one of said plurality of relation versions having its database location defined by the access block defined by the relation block associated with that database transaction.
Claim 29
Dependent Claim 99 words
An arrangement in accordance with claims 16, 17, or 18 wherein said means for storing a plurality of versions of said relation further comprises means for allocating a head block for each of said plurality of relation versions, means for storing each of said plurality of relation versions in at least one data block and means for storing for each of said plurality of relation versions at least one index entry in the head block for that relation version, each of said index entries defining the database location of a data block storing a portion of that relation version.
Claim 30
Dependent Claim 316 words
In a program-controlled system having a database including at least one relation, an arrangement for assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of trasactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said arrangement comprising means for storing a plurality of versions of said relation, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, means for defining one of said plurality of relation versions as current, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said plurality of access blocks such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, means for permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database trasaction, means for storing for said at most one update transaction a new access block in said access dictionary means defining a new database location to be used for storing a new relation version, means for modifying the relation block associated with said at most one update transaction to define said new access block, means for storing said new relation version in said new database location, means for redefining as old the one of said plurality of relation versions then defined as current and means for defining said new relation version as current.
Claim 31
Dependent Claim 316 words
In a program-controlled system having a database including at least one relation, an arrangement for assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of trasactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said arrangement comprising means for storing a plurality of versions of said relation, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of said plurality of relation versions, means for defining one of said plurality of relation versions as current, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said plurality of access blocks such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of access blocks defining the database location of the one of said plurality of relation versions then defined as current, means for permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database trasaction, means for storing for said at most one update transaction a new access block in said access dictionary means defining a new database location to be used for storing a new relation version, means for modifying the relation block associated with said at most one update transaction to define said new access block, means for storing said new relation version in said new database location, means for redefining as old the one of said plurality of relation versions then defined as current and means for defining said new relation version as current.
Claim 32
Dependent Claim 171 words
An arrangement in accordance with claim 20 wherein said means for storing a plurality of versions of said relation further comprises means for allocating a head block for each of said plurality of relation versions, means for storing each of said plurality of relation versions in at least one data block and means for storing for each of said plurality of relation versions at least one index entry in the head block for that relation version, each of said index entries defining the database location of a data block storing a portion of that relation version and wherein said means for storing said new relation version in said new database location further comprises means for allocating a head block for said new relation version, means for storing said new relation version in at least one data block and means for storing at least one index entry in the head block for said new relation version defining the database location of said at least one data block storing said new relation version.
Claim 33
Dependent Claim 41 words
An arrangement in accordance with claim 21 in which each of the access blocks stored in said access dictionary means defines the database location of a relation version by defining the database location of the head block for that relation version.
Claim 34
Dependent Claim 72 words
An arrangement in accordance with claim 22 wherein said means for storing said new relation version in at least one data block further comprises means for copying into a new data block a data block storing a portion of the one of said plurality of relation versions then defined as current, which portion is to be updated by said at most one update transaction and means for modifying said new data block.
Claim 35
Dependent Claim 52 words
An arrangement in accordance with claim 23 further comprising means for storing a data duplication control bit of a predetermined logic value in each index entry of the head block of the one of said plurality of relation versions then defined as current when that index entry defines a copied data block.
Claim 36
Dependent Claim 102 words
An arrangement in accordance with claims 20, 21, 22, 23 or 24 further comprising means for including in each of the access blocks stored in said access dictionary means a user count representing the number of said plurality of database transactions which access the relation version defined by that access block and means for deallocating each access block when the user count of that access block is reduced to zero only when that access block was stored prior to the storage of the access block defining the database location of the one of said plurality of relation versions then defined as current.
Claim 37
Dependent Claim 270 words
An arrangement in accordance with claim 24 further comprising means for including in each of the access blocks stored in said access dictionary means a user count representing the number of said plurality of database transactions which access the relation version defined by that access block, means for deallocating each access block when the user count of that access block is reduced to zero only when that access block was stored prior to the storage of the access block defining the database location of the one of said plurality of relation versions then defined as current, means for testing, for a given deallocated access block, the data duplication control bit of each index entry of the head block defined by said given access block and of each index entry of the head block defined by the immediately previously stored allocated access block, means for deallocating a data block defined by a given index entry of said head block defined by said given access block when the data duplication control bit of said given index entry and the data duplication control bit of a corresponding index entry of said head block defined by said immediately previously stored allocated across block are both said predetermined logic value, means for storing a data duplication control bit of said predetermined logic value in said last-mentioned index entry whenever the data duplication control bit of said last-mentioned index entry is not said predetermined logic value and the data duplication control bit of said given index entry is said predetermined logic value and means for deallocating said head block defined by said given deallocated access block.
Claim 38
Dependent Claim 44 words
An arrangement in accordance with claim 25 further comprising means for permitting access to said relation in said database outside of a transaction via the access block defining the database location of the one of said plurality of relation versions then defined as current.
Claim 39
Dependent Claim 166 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said arrangement comprising means for storing for each of said plurality of relations a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, relation dictionary means for storing for each of said plurality of active database transactions one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block stored for a given relation defining one of the plurality of versions of said given relation and means for permitting access, for each of said plurality of relations, by each of said plurality of active database transactions only to the one of the plurality of versions of that relation defined by the relation block associated with that database transaction for that relation.
Claim 40
Dependent Claim 166 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said arrangement comprising means for storing for each of said plurality of relations a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, relation dictionary means for storing for each of said plurality of active database transactions one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block stored for a given relation defining one of the plurality of versions of said given relation and means for permitting access, for each of said plurality of relations, by each of said plurality of active database transactions only to the one of the plurality of versions of that relation defined by the relation block associated with that database transaction for that relation.
Claim 41
Dependent Claim 196 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said arrangement comprising means for storing for each of said plurality of relations a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of the plurality of versions of one of said plurality of relations, relation dictionary means for storing for each of said plurality of active database transactions one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block defining one of said plurality of access blocks and means for permitting access, for each of said plurality of relations, by said plurality of active database transactions only to the one of the plurality of versions of that relation having its database location defined by the access block defined by the relation block associated with that database transaction for that relation.
Claim 42
Dependent Claim 196 words
An arrangement for controlling access by each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said arrangement comprising means for storing for each of said plurality of relations a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks each defining the database location of an associated one of the plurality of versions of one of said plurality of relations, relation dictionary means for storing for each of said plurality of active database transactions one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block defining one of said plurality of access blocks and means for permitting access, for each of said plurality of relations, by said plurality of active database transactions only to the one of the plurality of versions of that relation having its database location defined by the access block defined by the relation block associated with that database transaction for that relation.
Claim 43
Dependent Claim 256 words
An arrangement for each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said arrangement comprising means for storing for each of said plurality of relations a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks and each defining the database location of an associated one of the plurality of versions of one of said plurality of relations, dynamic dictionary means for storing one dynamic block for each of said plurality of relations, and dynamic block stored for each relation including an access block pointer defining one of said plurality of access blocks, relation dictionary means for storing for each of said plurality of active database transactions one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun, the relation block stored for a given relation includes the access block pointer of the dynamic block for said given relation and means for permitting access, for each of said plurality of relations, by each of said plurality of active database transactions only to the one of said plurality of versions of that relation defined by the relation block associated with that database transaction for that relation.
Claim 44
Dependent Claim 256 words
An arrangement for each of a plurality of contemporaneously active database transactions to a database comprising a plurality of relations, said arrangement comprising means for storing for each of said plurality of relations a plurality of versions of that relation representing modifications of that relation resulting from previously executed database transactions and at most one of said plurality of active database transactions, access dictionary means for storing a plurality of access blocks and each defining the database location of an associated one of the plurality of versions of one of said plurality of relations, dynamic dictionary means for storing one dynamic block for each of said plurality of relations, and dynamic block stored for each relation including an access block pointer defining one of said plurality of access blocks, relation dictionary means for storing for each of said plurality of active database transactions one relation block associated with that database transaction for each of said plurality of relations to be accessed by that database transaction, each relation block defining one of said plurality of access blocks such that as each of said plurality of active database transactions is begun, the relation block stored for a given relation includes the access block pointer of the dynamic block for said given relation and means for permitting access, for each of said plurality of relations, by each of said plurality of active database transactions only to the one of said plurality of versions of that relation defined by the relation block associated with that database transaction for that relation.
Claim 45
Dependent Claim 233 words
In a program-controlled system having a database including at least one relation, a method of assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of transactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said method comprising the steps of storing a plurality of versions of said relation, defining one of said plurality of relation versions as current, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said relation versions such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of relation versions then defined as current, permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database transaction, for said at most one update transaction, modifying the relation block associated with that transaction to define a new relation version, storing said new relation version in said database, redefining as old the one of said plurality of relation versions then defined as current and defining said new relation version as current.
Claim 46
Dependent Claim 233 words
In a program-controlled system having a database including at least one relation, a method of assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of transactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said method comprising the steps of storing a plurality of versions of said relation, defining one of said plurality of relation versions as current, storing in a relation dictionary a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said relation versions such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of relation versions then defined as current, permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database transaction, for said at most one update transaction, modifying the relation block associated with that transaction to define a new relation version, storing said new relation version in said database, redefining as old the one of said plurality of relation versions then defined as current and defining said new relation version as current.
Claim 47
Dependent Claim 34 words
A method in accordance with claim 31 further comprising the step of deferring execution of a second update transaction including write access to said relation, until said at most one update transaction is completed.
Claim 48
Dependent Claim 241 words
In a program-controlled system having a database including at least one relation, an arrangement for assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of transactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said arrangement comprising means for storing a plurality of versions of said relation, means for defining one of said plurality of relation versions as current, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said relation versions such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of relation versions then defined as current, means for permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database transaction, means for modifying the relation block associated with said at most one update transaction to define a new relation version, means for storing said new relation version in said database, means for redefining as old the one of said plurality of relation versions then defined as current and means for defining said new relation version as current.
Claim 49
Dependent Claim 241 words
In a program-controlled system having a database including at least one relation, an arrangement for assuring that the data of said relation that are accessible to each of a plurality of contemporaneously active database transactions are unchanged by any transaction other than said each transaction, said plurality of transactions comprising sets of operations on said relation and comprising at most one update transaction including write access to said relation, said arrangement comprising means for storing a plurality of versions of said relation, means for defining one of said plurality of relation versions as current, relation dictionary means for storing a plurality of relation blocks each associated with one of said plurality of database transactions and defining one of said relation versions such that as each of said plurality of database transactions is begun a relation block associated with that database transaction is stored defining the one of said plurality of relation versions then defined as current, means for permitting access to said relation in said database by each of said plurality of database transactions only via the relation block associated with that database transaction, means for modifying the relation block associated with said at most one update transaction to define a new relation version, means for storing said new relation version in said database, means for redefining as old the one of said plurality of relation versions then defined as current and means for defining said new relation version as current.
Claim 50
Dependent Claim 33 words
An arrangement in accordance with claim 33 further comprising means for deferring execution of a second update transaction including write access to said relation, until said at most one update transaction is completed.

References Cited (Backward Citations)

US4316245A Cited
US3967248A Cited
US4270182A Cited
US4130867A Cited
US4399504A Cited
US4480304A Cited
US4497039A Cited
US4476528A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1989-12-01 1990-06-02 1990-12-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1993-12-01 1994-06-02 1994-12-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1997-12-01 1998-06-02 1998-12-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag