JP2533266B2 - 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法 - Google Patents
共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法Info
- Publication number
- JP2533266B2 JP2533266B2 JP4121588A JP12158892A JP2533266B2 JP 2533266 B2 JP2533266 B2 JP 2533266B2 JP 4121588 A JP4121588 A JP 4121588A JP 12158892 A JP12158892 A JP 12158892A JP 2533266 B2 JP2533266 B2 JP 2533266B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- manager
- mode
- request
- data resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明は、共用データ資源への多
数のシステムのアクセスを直列化する非階層ロックの管
理に関する。
数のシステムのアクセスを直列化する非階層ロックの管
理に関する。
【0002】
【従来の技術】アメリカ特許第4、965、719号に
おいて、複数の並列システムの共用データ資源へのアク
セスを直列化する階層ロッキング方式が示されている。
トランザクションがデータ資源そのものにおいてロック
を取得するためのデータ資源親においてロックを取得す
ることを必要とするロック階層が提案されている。階層
構造は、例えば、ロックがデータページのレコード上で
取得され得る前にそのデータページで取得されることを
必要とする。
おいて、複数の並列システムの共用データ資源へのアク
セスを直列化する階層ロッキング方式が示されている。
トランザクションがデータ資源そのものにおいてロック
を取得するためのデータ資源親においてロックを取得す
ることを必要とするロック階層が提案されている。階層
構造は、例えば、ロックがデータページのレコード上で
取得され得る前にそのデータページで取得されることを
必要とする。
【0003】トランザクションは、データベース管理シ
ステム(以下、DBMSと称す)を介したデータ資源へ
のアクセスを取得する。上記アメリカ特許のDBMS
は、トランザクションマネジャー、バッファマネジャー
及び資源ロックマネジャーを含む。同アメリカ特許で
は、トランザクション−レベルのレコードロックが取得
され得る前に、DBMSのバッファマネジャーによって
システム間ページロックが取得される必要がある。この
多重DBMSシステムにおいて、共用直接アクセス記憶
装置(以下、DASDと称す)からバッファリングされ
るページのコヒーレンシー(一貫性)を保証するため
に、関連マネジャーはページに対するバッファマネジャ
ーからの競合リクエストを伝達する。
ステム(以下、DBMSと称す)を介したデータ資源へ
のアクセスを取得する。上記アメリカ特許のDBMS
は、トランザクションマネジャー、バッファマネジャー
及び資源ロックマネジャーを含む。同アメリカ特許で
は、トランザクション−レベルのレコードロックが取得
され得る前に、DBMSのバッファマネジャーによって
システム間ページロックが取得される必要がある。この
多重DBMSシステムにおいて、共用直接アクセス記憶
装置(以下、DASDと称す)からバッファリングされ
るページのコヒーレンシー(一貫性)を保証するため
に、関連マネジャーはページに対するバッファマネジャ
ーからの競合リクエストを伝達する。
【0004】従来技術システムにおいて、レコード又は
ページに対する第1のトランザクションレベルのリクエ
ストは、局部バッファマネジャーが関連マネジャーによ
ってページ上にロックを要求且つ付与するまで、そのト
ランザクションの中断を必要とする。これは図1におい
てより明確に示される。
ページに対する第1のトランザクションレベルのリクエ
ストは、局部バッファマネジャーが関連マネジャーによ
ってページ上にロックを要求且つ付与するまで、そのト
ランザクションの中断を必要とする。これは図1におい
てより明確に示される。
【0005】図1において、データ資源(ページ等)を
求める第1のトランザクションリクエスト10がDBM
Sによって受け取られると、そのページについてのバッ
ファマネジャーに対するリクエストはページがバッファ
プールに存在しないことを示し、さらにバッファマネジ
ャーに対して関連マネジャーからページ上にロック12
を要求且つ取得することを必要とする。一方では、バッ
ファマネジャーがロックを受け取り、ページをバッファ
プールに読み入れるまでそのトランザクションは中断さ
れる。さらに、ページ上のロックとページ上の目的に対
する第1ならびにその次のトランザクションリクエスト
は、14で処理される。ロックが受け取られると、トラ
ンザクションは16でそのページの構成要素(例えば、
レコード)を処理する。トランザクション処理が終了す
ると、トランザクションロックは18で解除されて、バ
ッファロックは20で解除される。このように、従来技
術の多重システム環境のロック階層では、データ資源が
トランザクション処理用にバッファされる必要があるす
べての場合においてステップ12がステップ14に先行
することが必要とされる。
求める第1のトランザクションリクエスト10がDBM
Sによって受け取られると、そのページについてのバッ
ファマネジャーに対するリクエストはページがバッファ
プールに存在しないことを示し、さらにバッファマネジ
ャーに対して関連マネジャーからページ上にロック12
を要求且つ取得することを必要とする。一方では、バッ
ファマネジャーがロックを受け取り、ページをバッファ
プールに読み入れるまでそのトランザクションは中断さ
れる。さらに、ページ上のロックとページ上の目的に対
する第1ならびにその次のトランザクションリクエスト
は、14で処理される。ロックが受け取られると、トラ
ンザクションは16でそのページの構成要素(例えば、
レコード)を処理する。トランザクション処理が終了す
ると、トランザクションロックは18で解除されて、バ
ッファロックは20で解除される。このように、従来技
術の多重システム環境のロック階層では、データ資源が
トランザクション処理用にバッファされる必要があるす
べての場合においてステップ12がステップ14に先行
することが必要とされる。
【0006】多重DBMS環境におけるシステム間ロッ
キングのための従来技術方法はロッキングモードを認識
する。上述のアメリカ特許では、このモードは「アップ
デート(更新)」及び「シェア(共用)」と称される。
より最近のデータベース管理システムは2個以上の可能
値を有するロック法カテゴリーを認識する。例えば、本
願の譲受人から入手可能なDB2システムにおいて、ロ
ックの可能なモードは以下の通りである。
キングのための従来技術方法はロッキングモードを認識
する。上述のアメリカ特許では、このモードは「アップ
デート(更新)」及び「シェア(共用)」と称される。
より最近のデータベース管理システムは2個以上の可能
値を有するロック法カテゴリーを認識する。例えば、本
願の譲受人から入手可能なDB2システムにおいて、ロ
ックの可能なモードは以下の通りである。
【0007】 X(専有) U S(共用) N(ヌル:ロックが保持されていないことを表わす)
【0008】ロックモードの構造化は、X>U>S>ヌ
ルとされる絶対値(モードのカテゴリーを示す論理的
値)による識別方法を示す。データ資源コンテキストで
は、Xロックは資源へのアクセスに関してUモードより
も限定的であり、また、UモードはSモードよりも限定
的である。さらに、別のトランザクションが同じデータ
資源上でUモード・ロックを保持する場合、データ資源
上でSモードを探索するトランザクションがその資源へ
のアクセスが否定されるとするUモードとSモードとの
互換性が観察される。しかしながら、Xモードはすべて
のモード(Xモードを含む)とは互換性がなく、Xモー
ドロックが保持されるデータ資源上の任意の絶対値のロ
ックについてのリクエストはどれも否定される。
ルとされる絶対値(モードのカテゴリーを示す論理的
値)による識別方法を示す。データ資源コンテキストで
は、Xロックは資源へのアクセスに関してUモードより
も限定的であり、また、UモードはSモードよりも限定
的である。さらに、別のトランザクションが同じデータ
資源上でUモード・ロックを保持する場合、データ資源
上でSモードを探索するトランザクションがその資源へ
のアクセスが否定されるとするUモードとSモードとの
互換性が観察される。しかしながら、Xモードはすべて
のモード(Xモードを含む)とは互換性がなく、Xモー
ドロックが保持されるデータ資源上の任意の絶対値のロ
ックについてのリクエストはどれも否定される。
【0009】
【発明が解決しようとする課題】本発明の主要目的は、
複数のデータベース管理システムが共通データ記憶資源
にアクセスする環境においてデータ資源ロックを取得且
つ解除するために必要な局部ロックマネジャーと大域ロ
ックマネジャーとの間のメッセージトラフィック(通信
量)を減少させることである。
複数のデータベース管理システムが共通データ記憶資源
にアクセスする環境においてデータ資源ロックを取得且
つ解除するために必要な局部ロックマネジャーと大域ロ
ックマネジャーとの間のメッセージトラフィック(通信
量)を減少させることである。
【0010】上記目的は、L又はPのロックリクエスト
のどちらか一方のリクエストに応答して、データ資源上
でシステムレベルのロックを得る能力を各局部ロックマ
ネジャーに設けることによって達成される。
のどちらか一方のリクエストに応答して、データ資源上
でシステムレベルのロックを得る能力を各局部ロックマ
ネジャーに設けることによって達成される。
【0011】
【課題を解決するための手段】本発明は、以下の観察の
結果、大域ロックマネジャーに対するロックならびにア
ンロックリクエストの数を減少させる。即ち、局部ロッ
クマネジャー(前記アメリカ特許では、「資源ロックマ
ネジャー」)は、大域ロックマネジャー(前記アメリカ
特許では、「当該マネジャー」)からの同一データ資源
に対するトランザクションロック(「Lロック」と呼ば
れる)とキャッシュ−オーナーシップ・ロック(「Pロ
ック」と呼ばれる)との区別を隠すことができる。局部
マネジャーでは異なっているけれども、データ資源につ
いてのLならびにPロックは、大域ロックマネジャーに
よって単一のロック(「LPロック」と呼ばれる)とし
て観察される。この大域ロックマネジャーは以下のオー
ナーとロックモードを備えたLPロックについてよく知
っている。即ち、オーナーは局部ロックマネジャーであ
り、ロックモードはデータ資源に対する局部ロックマネ
ジャーによって維持されるすべてのLならびにPロック
の組み合わせロックモードである。本発明において、局
部ロックマネジャーは、同一データ資源上に予め付与さ
れるLならびにPロックとの組み合わせロックモードが
要求されたロックのモードと等しいか又は大きい場合
に、データ資源上でL又はPロックを局部的に付与する
ことができる。
結果、大域ロックマネジャーに対するロックならびにア
ンロックリクエストの数を減少させる。即ち、局部ロッ
クマネジャー(前記アメリカ特許では、「資源ロックマ
ネジャー」)は、大域ロックマネジャー(前記アメリカ
特許では、「当該マネジャー」)からの同一データ資源
に対するトランザクションロック(「Lロック」と呼ば
れる)とキャッシュ−オーナーシップ・ロック(「Pロ
ック」と呼ばれる)との区別を隠すことができる。局部
マネジャーでは異なっているけれども、データ資源につ
いてのLならびにPロックは、大域ロックマネジャーに
よって単一のロック(「LPロック」と呼ばれる)とし
て観察される。この大域ロックマネジャーは以下のオー
ナーとロックモードを備えたLPロックについてよく知
っている。即ち、オーナーは局部ロックマネジャーであ
り、ロックモードはデータ資源に対する局部ロックマネ
ジャーによって維持されるすべてのLならびにPロック
の組み合わせロックモードである。本発明において、局
部ロックマネジャーは、同一データ資源上に予め付与さ
れるLならびにPロックとの組み合わせロックモードが
要求されたロックのモードと等しいか又は大きい場合
に、データ資源上でL又はPロックを局部的に付与する
ことができる。
【0012】特に、本発明の方法は、1個又はそれ以上
の数のデータ記憶装置と大域ロックマネジャーとに接続
される多数のデータベース管理システムを含む共用デー
タシステムにおいてデータ資源をロックすることであ
り、その大域ロックマネジャーはロックを求めるリクエ
ストを受け取り、且つ許可するものである。共用データ
システムにおいて、各データベース管理システムに含ま
れる局部ロックマネジャーは、データ資源においてトラ
ンザクション権利を指示するLロックを求めるリクエス
トを受け取り、処理し、さらに許可するとともに、デー
タベース管理システムに対するデータ資源のキャッシュ
(cache)を指示するPロックを求めるリクエスト
を受け取り、処理し、さらに許可するためのものであ
る。この方法において、 (a)データ資源に対する局部ロックマネジャーによっ
ていずれかの型のロックを求める第1のリクエストの受
信に応答して、局部ロックマネジャーは大域ロックマネ
ジャーに対しデータ資源におけるDBMS権利を指示す
るロック(LPロック)を求めるリクエストを伝送し、 (b)大域ロックマネジャーによって要求されたLPロ
ックの許可を受け取ると同時に、局部ロックマネジャー
は第1のリクエストを許可する。
の数のデータ記憶装置と大域ロックマネジャーとに接続
される多数のデータベース管理システムを含む共用デー
タシステムにおいてデータ資源をロックすることであ
り、その大域ロックマネジャーはロックを求めるリクエ
ストを受け取り、且つ許可するものである。共用データ
システムにおいて、各データベース管理システムに含ま
れる局部ロックマネジャーは、データ資源においてトラ
ンザクション権利を指示するLロックを求めるリクエス
トを受け取り、処理し、さらに許可するとともに、デー
タベース管理システムに対するデータ資源のキャッシュ
(cache)を指示するPロックを求めるリクエスト
を受け取り、処理し、さらに許可するためのものであ
る。この方法において、 (a)データ資源に対する局部ロックマネジャーによっ
ていずれかの型のロックを求める第1のリクエストの受
信に応答して、局部ロックマネジャーは大域ロックマネ
ジャーに対しデータ資源におけるDBMS権利を指示す
るロック(LPロック)を求めるリクエストを伝送し、 (b)大域ロックマネジャーによって要求されたLPロ
ックの許可を受け取ると同時に、局部ロックマネジャー
は第1のリクエストを許可する。
【0013】また、この方法において、ロックは少なく
ともデータ資源の更新を示す第1のモード(Xモー
ド)、又は、データ資源の読取りを示す第2のモード
(Sモード)において許可される。この方法でのステッ
プ(a)において、リクエストは、第1のリクエストが
データ資源を更新するためのものである場合にはXモー
ドの、又は第1のリクエストがデータ資源を読取るため
のものである場合にはSモードのLPロックを求めるリ
クエストとして伝送されて、ステップ(b)で受け取ら
れた許可は第1のリクエストのモードによる。さらに、
同方法において、 (c)データ資源上の任意の型のロックを求める次のリ
クエストの受信に応答して、局部ロックマネジャーはデ
ータ資源に対して許可されるすべてのロックの合成モー
ドを生成するとともに、この合成モードはデータ資源上
に許可される任意のロックの最も大きいモード絶対値に
対応し、 (d.1)次のリクエストが合成モードよりも大きな絶
対値を有するモードを備えたロックを求める場合に、局
部ロックマネジャーは要求されたモードのLPロックを
求めるリクエストを大域ロックマネジャーに対し伝送
し、 (d.2)要求されたモードのLPロックの許可を受け
取ると同時に、局部ロックマネジャーは要求されたロッ
クを許可し、そうでない場合には、 (e)局部ロックマネジャーは大域ロックマネジャーと
通信することなく次のリクエストを許可する。
ともデータ資源の更新を示す第1のモード(Xモー
ド)、又は、データ資源の読取りを示す第2のモード
(Sモード)において許可される。この方法でのステッ
プ(a)において、リクエストは、第1のリクエストが
データ資源を更新するためのものである場合にはXモー
ドの、又は第1のリクエストがデータ資源を読取るため
のものである場合にはSモードのLPロックを求めるリ
クエストとして伝送されて、ステップ(b)で受け取ら
れた許可は第1のリクエストのモードによる。さらに、
同方法において、 (c)データ資源上の任意の型のロックを求める次のリ
クエストの受信に応答して、局部ロックマネジャーはデ
ータ資源に対して許可されるすべてのロックの合成モー
ドを生成するとともに、この合成モードはデータ資源上
に許可される任意のロックの最も大きいモード絶対値に
対応し、 (d.1)次のリクエストが合成モードよりも大きな絶
対値を有するモードを備えたロックを求める場合に、局
部ロックマネジャーは要求されたモードのLPロックを
求めるリクエストを大域ロックマネジャーに対し伝送
し、 (d.2)要求されたモードのLPロックの許可を受け
取ると同時に、局部ロックマネジャーは要求されたロッ
クを許可し、そうでない場合には、 (e)局部ロックマネジャーは大域ロックマネジャーと
通信することなく次のリクエストを許可する。
【0014】
【実施例】本発明は、データベース管理システム(DB
MS)の複数のインスタンスが1個又は複数の汎用コン
ピュータにおいて実行し、さらにデータ資源へのアクセ
スを共有する汎用計算機環境を作動するための方法を提
供する。本発明は、DBMSの局部ロック管理機能によ
って「所有」され、LPロックと称されるシステムレベ
ルのロックの管理に関する。
MS)の複数のインスタンスが1個又は複数の汎用コン
ピュータにおいて実行し、さらにデータ資源へのアクセ
スを共有する汎用計算機環境を作動するための方法を提
供する。本発明は、DBMSの局部ロック管理機能によ
って「所有」され、LPロックと称されるシステムレベ
ルのロックの管理に関する。
【0015】図2は、N個までのディジタルコンピュー
タコンプレックス30、32(図中では簡略化により、
2個のみ図示)を含む代表的環境を表わす。各コンピュ
ータシステム内の実際の又は仮想のアドレス空間は、デ
ータ記憶プログラム領域を含み、そこではホストオペレ
ーティングシステムサービス34と35、ならびに少な
くともシステムごとに1個のデータベース管理システム
(DBMS)36と37とがそれぞれ含まれている。各
DBMSは、キャッシュ40、41を管理するキャッシ
ュマネジャー38、39を有する。(従来技術では、キ
ャッシュマネジャーとキャッシュはそれぞれ、バッファ
マネジャー及びバッファプールと称されている。)DB
MS36と37は、1個又は複数のDASD(図中では
簡略化により1個のDASD43のみ図示)に記憶され
る1個又は複数のデータベースと共通のアクセスを有す
る。各DBMSはさらに、局部ロックマネジャー(LL
M)46、47を含む。
タコンプレックス30、32(図中では簡略化により、
2個のみ図示)を含む代表的環境を表わす。各コンピュ
ータシステム内の実際の又は仮想のアドレス空間は、デ
ータ記憶プログラム領域を含み、そこではホストオペレ
ーティングシステムサービス34と35、ならびに少な
くともシステムごとに1個のデータベース管理システム
(DBMS)36と37とがそれぞれ含まれている。各
DBMSは、キャッシュ40、41を管理するキャッシ
ュマネジャー38、39を有する。(従来技術では、キ
ャッシュマネジャーとキャッシュはそれぞれ、バッファ
マネジャー及びバッファプールと称されている。)DB
MS36と37は、1個又は複数のDASD(図中では
簡略化により1個のDASD43のみ図示)に記憶され
る1個又は複数のデータベースと共通のアクセスを有す
る。各DBMSはさらに、局部ロックマネジャー(LL
M)46、47を含む。
【0016】各ディジタルコンピュータシステム30、
32には、主記憶装置と仮想記憶装置と必要なチャネル
と周辺装置とを備えた汎用中央処理装置が含まれる。例
えば、各システムは、本願の譲受人から入手可能なIB
Mシステム/390を含む。各ディジタルコンピュータ
システム30、32は、IBMシステム/390・MV
Sオペレーティングシステム等のオペレーティングシス
テム(図示せず)の制御のもとで作動する。DBMS3
6、37はそれぞれのオペレーティングシステムの制御
のもとで実行し、利用可能なオペレーティングシステム
機能とインタフェーシング通信に必要とされ得る他の機
能を利用する。
32には、主記憶装置と仮想記憶装置と必要なチャネル
と周辺装置とを備えた汎用中央処理装置が含まれる。例
えば、各システムは、本願の譲受人から入手可能なIB
Mシステム/390を含む。各ディジタルコンピュータ
システム30、32は、IBMシステム/390・MV
Sオペレーティングシステム等のオペレーティングシス
テム(図示せず)の制御のもとで作動する。DBMS3
6、37はそれぞれのオペレーティングシステムの制御
のもとで実行し、利用可能なオペレーティングシステム
機能とインタフェーシング通信に必要とされ得る他の機
能を利用する。
【0017】さらに各ディジタルコンピュータシステム
30、32は、個々のデータベース管理システムでトラ
ンザクションをインタフェースするIBM・IMS/V
S又はIBM・CICS等のトランザクションマネジャ
ー(図示せず)を含む。各DBMSはN個のトランザク
ションとインタフェースすることができる。簡略化によ
り、かかるトランザクション49と50の2個がDBM
S36とインタフェースしている。
30、32は、個々のデータベース管理システムでトラ
ンザクションをインタフェースするIBM・IMS/V
S又はIBM・CICS等のトランザクションマネジャ
ー(図示せず)を含む。各DBMSはN個のトランザク
ションとインタフェースすることができる。簡略化によ
り、かかるトランザクション49と50の2個がDBM
S36とインタフェースしている。
【0018】データベース管理システムは、本願の譲受
人から入手可能なDB2又はIMS/VSシステム等の
利用可能な製品を含むことがある。DBMS36と37
がデータベース回復制御等の他の機能を含むことを仮定
する。さらに、図2に示された構成要素の何れかにおけ
る異常及び故障状態が検出されて、既知の方法によって
報告又は修正されることを仮定する。
人から入手可能なDB2又はIMS/VSシステム等の
利用可能な製品を含むことがある。DBMS36と37
がデータベース回復制御等の他の機能を含むことを仮定
する。さらに、図2に示された構成要素の何れかにおけ
る異常及び故障状態が検出されて、既知の方法によって
報告又は修正されることを仮定する。
【0019】図2では、2個のディジタルコンピュータ
システム30と32が多重プログラミング環境でアプリ
ケーションプログラムを実行することを仮定する。プロ
セス、又はトランザクション49等のトランザクション
がデータ資源へのアクセスを要求する際に、インタフェ
ース中のトランザクションマネジャーは、局部ロックマ
ネジャー46に提供されるロックリクエストを生成す
る。トランザクションによって生成されると、ロックリ
クエストはLロックと呼ばれ、従って、すべてのL型ロ
ックはデータ資源上のトランザクション権利を指示す
る。そのロックリクエストは、トランザクションがその
要求されたデータ資源を利用するのに適切なモードであ
る。このように、トランザクションがデータ資源を変更
又は更新することを意図する場合、コヒーレンシーによ
って更新中に専有アクセスを有することを要求される。
このために、そのロックリクエストはXモードにおいて
提示される。専有アクセスがトランザクション処理に必
要とされない場合、該ロックはU又はS等の共用モード
で要求されることがある。(Uモードは、トランザクシ
ョンがXモードのロックを取得することによって資源を
更新することを示す。Uモードはそれ自体とは互換性が
ない。Uモードは、トランザクションが読み取り後に同
一の資源を更新しようとする場合、それらの間のデッド
ロックを防止する。)
システム30と32が多重プログラミング環境でアプリ
ケーションプログラムを実行することを仮定する。プロ
セス、又はトランザクション49等のトランザクション
がデータ資源へのアクセスを要求する際に、インタフェ
ース中のトランザクションマネジャーは、局部ロックマ
ネジャー46に提供されるロックリクエストを生成す
る。トランザクションによって生成されると、ロックリ
クエストはLロックと呼ばれ、従って、すべてのL型ロ
ックはデータ資源上のトランザクション権利を指示す
る。そのロックリクエストは、トランザクションがその
要求されたデータ資源を利用するのに適切なモードであ
る。このように、トランザクションがデータ資源を変更
又は更新することを意図する場合、コヒーレンシーによ
って更新中に専有アクセスを有することを要求される。
このために、そのロックリクエストはXモードにおいて
提示される。専有アクセスがトランザクション処理に必
要とされない場合、該ロックはU又はS等の共用モード
で要求されることがある。(Uモードは、トランザクシ
ョンがXモードのロックを取得することによって資源を
更新することを示す。Uモードはそれ自体とは互換性が
ない。Uモードは、トランザクションが読み取り後に同
一の資源を更新しようとする場合、それらの間のデッド
ロックを防止する。)
【0020】トランザクションロックを取得した後で、
DBMSは、資源がそこに存在しているかどうかを決定
するためにその局部キャッシュを検査する。本発明で
は、トランザクションによるデータ資源のオーナーシッ
プのユニットがキャッシュマネジャーによる該資源のキ
ャッシュのユニットと同一であることを仮定している。
本発明における説明では、データ資源はページであるこ
とを仮定する。このようにして、ページPNにアクセス
するためのトランザクション49からのリクエストはキ
ャッシュマネジャー38に提示されることになる。キャ
ッシュマネジャーは、キャッシュされたページのディレ
クトリを保持する。そのページが現在キャッシュ40に
存在しないと、キャッシュマネジャー38はI/Oプロ
セスを開始して、そのページの最新バージョンのコピー
をキャッシュ40へ移動することになる。多くの場合、
ページはデータ経路43、44、40上で得られる。さ
らに、ページは経路41、35、60、34、40を介
してキャッシュ41等の他のキャッシュから抽出される
可能性もある。
DBMSは、資源がそこに存在しているかどうかを決定
するためにその局部キャッシュを検査する。本発明で
は、トランザクションによるデータ資源のオーナーシッ
プのユニットがキャッシュマネジャーによる該資源のキ
ャッシュのユニットと同一であることを仮定している。
本発明における説明では、データ資源はページであるこ
とを仮定する。このようにして、ページPNにアクセス
するためのトランザクション49からのリクエストはキ
ャッシュマネジャー38に提示されることになる。キャ
ッシュマネジャーは、キャッシュされたページのディレ
クトリを保持する。そのページが現在キャッシュ40に
存在しないと、キャッシュマネジャー38はI/Oプロ
セスを開始して、そのページの最新バージョンのコピー
をキャッシュ40へ移動することになる。多くの場合、
ページはデータ経路43、44、40上で得られる。さ
らに、ページは経路41、35、60、34、40を介
してキャッシュ41等の他のキャッシュから抽出される
可能性もある。
【0021】ページがキャッシュされるべきいかなる場
合にも、キャッシュマネジャー38、39はロックリク
エストをその個々の局部ロックマネジャー46、47に
提示し、そのロックはPロックと呼ばれる。キャッシュ
マネジャー38、39がデータ資源をキャッシュする目
的を認識し、従って、その目的を達成するために必要と
されるモードを整合するためにそのロックリクエストに
モードを設定することが表明される。例えば、トランザ
クションがそのページを更新する目的によりページPへ
のアクセスを要求した場合に、また、該ページがキャッ
シュ40に導入される必要がある場合に、キャッシュマ
ネジャー38はXモードへPロックリクエストを提示す
る。さらに、キャッシュマネジャー38、39が、ペー
ジのキャッシュ内への導入を要求することによって、そ
の要求されたページとともに導入されているページ数
(多分、連続的)が制限される結果になる先取り戦略を
用いることを仮定する。すべての先取りされたページご
とに、個々のPロックは要求されたページに必要なPロ
ックのモードで要求されることになる。
合にも、キャッシュマネジャー38、39はロックリク
エストをその個々の局部ロックマネジャー46、47に
提示し、そのロックはPロックと呼ばれる。キャッシュ
マネジャー38、39がデータ資源をキャッシュする目
的を認識し、従って、その目的を達成するために必要と
されるモードを整合するためにそのロックリクエストに
モードを設定することが表明される。例えば、トランザ
クションがそのページを更新する目的によりページPへ
のアクセスを要求した場合に、また、該ページがキャッ
シュ40に導入される必要がある場合に、キャッシュマ
ネジャー38はXモードへPロックリクエストを提示す
る。さらに、キャッシュマネジャー38、39が、ペー
ジのキャッシュ内への導入を要求することによって、そ
の要求されたページとともに導入されているページ数
(多分、連続的)が制限される結果になる先取り戦略を
用いることを仮定する。すべての先取りされたページご
とに、個々のPロックは要求されたページに必要なPロ
ックのモードで要求されることになる。
【0022】本発明では、データベースシステムの設計
者によって、複数のロックモードが割当て絶対値によっ
てオーダされ得るロックモード絶対値関係が選択される
ことを仮定する。本発明で述べられるロックモードを使
用して、絶対値関係がX>S>ヌルであることが提案さ
れている。ロックモード間の絶対値関係は、ロックが関
係のあるデータ目的に基づく階層へのロックの構造化に
対応するものではない。むしろ、ロックモードの絶対値
と、示された資源のモードにおいて実行されるべき動作
との間に一致が見られる。
者によって、複数のロックモードが割当て絶対値によっ
てオーダされ得るロックモード絶対値関係が選択される
ことを仮定する。本発明で述べられるロックモードを使
用して、絶対値関係がX>S>ヌルであることが提案さ
れている。ロックモード間の絶対値関係は、ロックが関
係のあるデータ目的に基づく階層へのロックの構造化に
対応するものではない。むしろ、ロックモードの絶対値
と、示された資源のモードにおいて実行されるべき動作
との間に一致が見られる。
【0023】局部ロックマネジャーがL又はPのいずれ
かのロックリクエストを受信する場合、要求されたロッ
クがシステムレベルのLPロックの取得又は修正を必要
とするのであれば、局部ロックマネジャーは大域ロック
マネジャー48と通信を行なうこともできる。この場
合、例えば、局部ロックマネジャー46はデータ経路5
2、53、48上で大域ロックマネジャーと通信するこ
とになる。データ経路は、例えば、IBM3088多重
システムチャネル通信ユニットのようなインタフェース
中のチャネル通信ユニット(図示せず)を含むこともあ
る。
かのロックリクエストを受信する場合、要求されたロッ
クがシステムレベルのLPロックの取得又は修正を必要
とするのであれば、局部ロックマネジャーは大域ロック
マネジャー48と通信を行なうこともできる。この場
合、例えば、局部ロックマネジャー46はデータ経路5
2、53、48上で大域ロックマネジャーと通信するこ
とになる。データ経路は、例えば、IBM3088多重
システムチャネル通信ユニットのようなインタフェース
中のチャネル通信ユニット(図示せず)を含むこともあ
る。
【0024】図2の環境には、自身所有の汎用ディジタ
ルコンピュータにおいて実行する単一の大域ロックマネ
ジャー(GLM)48がある。この大域ロックマネジャ
ー48をロックを得るための手続きに従事させるため
に、各局部ロックマネジャー46、47は大域ロックマ
ネジャー48との通信期間を確立する。大域ロックマネ
ジャー48はロックを求めるリクエストを局部ロックマ
ネジャーから受け取り、そのリクエストを処理し、そし
てそのリクエストに応答してロックを許可する。局部ロ
ックマネジャー46、47はさらに、それらが保持する
ロックの解除(「アンロッキング」)に大域ロックマネ
ジャー48を従事させることが表明されている。
ルコンピュータにおいて実行する単一の大域ロックマネ
ジャー(GLM)48がある。この大域ロックマネジャ
ー48をロックを得るための手続きに従事させるため
に、各局部ロックマネジャー46、47は大域ロックマ
ネジャー48との通信期間を確立する。大域ロックマネ
ジャー48はロックを求めるリクエストを局部ロックマ
ネジャーから受け取り、そのリクエストを処理し、そし
てそのリクエストに応答してロックを許可する。局部ロ
ックマネジャー46、47はさらに、それらが保持する
ロックの解除(「アンロッキング」)に大域ロックマネ
ジャー48を従事させることが表明されている。
【0025】各ロックマネジャーはロックテーブルを保
持する。図3には、大域ロックマネジャーのロックテー
ブル70と、局部ロックマネジャー46と47のそれぞ
れについての局部ロックマネジャーテーブル80と81
と、が示されている。各ロックテーブルは、ロックを処
理し、保持し、さらに解除する際に所有のロックマネジ
ャーを補助する多重フィールド・エントリーを含む。大
域テーブル70はLPロックについてのエントリーを含
み、かかるエントリーの1個は72によって表示されて
いる。各大域テーブルエントリーは、ロックが適用する
データ資源を識別するネームフィールドを含む。例え
ば、ページPN上のLPロックは、ページ識別子PNを
含むネームフィールドにエントリーを有する。さらに、
ネームフィールドは実行中のシステムの設計と操作に必
要な他の情報を含むこともある。エントリー72はま
た、ロックのモードを識別する値を含むフィールドモー
ドを含む。ロックを保持するシステムはホールディング
システム・フィールドで待ち行列(キュー)に置かれ
る。ロックが現在保持されているモードと互換性をもた
ないロック72を求めるリクエストを進めているシステ
ムは、リクエスティングシステム・フィールドに固定さ
れるキューに設置される。
持する。図3には、大域ロックマネジャーのロックテー
ブル70と、局部ロックマネジャー46と47のそれぞ
れについての局部ロックマネジャーテーブル80と81
と、が示されている。各ロックテーブルは、ロックを処
理し、保持し、さらに解除する際に所有のロックマネジ
ャーを補助する多重フィールド・エントリーを含む。大
域テーブル70はLPロックについてのエントリーを含
み、かかるエントリーの1個は72によって表示されて
いる。各大域テーブルエントリーは、ロックが適用する
データ資源を識別するネームフィールドを含む。例え
ば、ページPN上のLPロックは、ページ識別子PNを
含むネームフィールドにエントリーを有する。さらに、
ネームフィールドは実行中のシステムの設計と操作に必
要な他の情報を含むこともある。エントリー72はま
た、ロックのモードを識別する値を含むフィールドモー
ドを含む。ロックを保持するシステムはホールディング
システム・フィールドで待ち行列(キュー)に置かれ
る。ロックが現在保持されているモードと互換性をもた
ないロック72を求めるリクエストを進めているシステ
ムは、リクエスティングシステム・フィールドに固定さ
れるキューに設置される。
【0026】局部ロックマネジャーテーブル80、81
は、局部トランザクション及びキャッシュ権利目的につ
いて許可されるすべてのロックをネームによってリスト
する。例えば、局部ロックマネジャーテーブル80は、
DBMS36によって取り扱われるトランザクションに
許可されるすべてのLロックを含むこともある。代表的
なLロックエントリーは82によって表示される。Lロ
ックエントリーはそれぞれ、得られたロックについての
データ資源を識別するネームフィールドを含む。Lフィ
ールドは、名前付きデータ資源のトランザクション権利
を満足させるものとしてそのロックを識別する。モード
フィールドはLロックが保持されているモードを識別す
る。HならびにRフィールドは、名前付きデータ資源上
でロックを保持するトランザクションと、ロックを要求
したトランザクションのキューをそれぞれ固定してい
る。最後に、フィールド「RESP GLM」は、局部
ロックマネジャー46が大域ロックマネジャーに対して
名前付きデータ資源上でLPロックのリクエストを送信
したことを示す。Pロックエントリーは、ロック型がP
ロックとしてロックを識別するPフィールドによって識
別されるという唯一の例外を除き、すべての点において
エントリー82と同一であるエントリー84によって表
示される。
は、局部トランザクション及びキャッシュ権利目的につ
いて許可されるすべてのロックをネームによってリスト
する。例えば、局部ロックマネジャーテーブル80は、
DBMS36によって取り扱われるトランザクションに
許可されるすべてのLロックを含むこともある。代表的
なLロックエントリーは82によって表示される。Lロ
ックエントリーはそれぞれ、得られたロックについての
データ資源を識別するネームフィールドを含む。Lフィ
ールドは、名前付きデータ資源のトランザクション権利
を満足させるものとしてそのロックを識別する。モード
フィールドはLロックが保持されているモードを識別す
る。HならびにRフィールドは、名前付きデータ資源上
でロックを保持するトランザクションと、ロックを要求
したトランザクションのキューをそれぞれ固定してい
る。最後に、フィールド「RESP GLM」は、局部
ロックマネジャー46が大域ロックマネジャーに対して
名前付きデータ資源上でLPロックのリクエストを送信
したことを示す。Pロックエントリーは、ロック型がP
ロックとしてロックを識別するPフィールドによって識
別されるという唯一の例外を除き、すべての点において
エントリー82と同一であるエントリー84によって表
示される。
【0027】評価中のロックリクエストを受信すること
に関して、大域ロックマネジャーと局部マネジャーはと
もに、略同一操作を用いる。この点において、ロックリ
クエストが受信されると、そのリクエストはデータ資源
の名前とロックの型とリクエスト中のプロセスの操作を
実行するために必要なモードとを識別する。リクエスト
が伝送されると、リクエスタはアドレス指定されたロッ
クマネジャーからの応答を受け取るまで操作を中断す
る。現時点において名前付きデータ資源上にロックが保
持されていない場合、ロックマネジャーは適切なフォー
マットを有するロックに対するテーブルエントリーを作
成し、適切なホールディングフィールドにおいてリクエ
スタをキューに置き、ロックが許可されていることを示
すリクエスタにメッセージを戻す。リクエストが現時点
で保持されているロックについて受信されると、ロック
エントリーのモードフィールドは要求されたロックのモ
ードと比較される。これらのモードに互換性がある場
合、ロックは許可されて、リクエスタはホールディング
・キューに入れられる。また、これらのリクエストに互
換性がない場合、リクエスタはリクエスティング・キュ
ーにおいて待ち行列に置かれる。
に関して、大域ロックマネジャーと局部マネジャーはと
もに、略同一操作を用いる。この点において、ロックリ
クエストが受信されると、そのリクエストはデータ資源
の名前とロックの型とリクエスト中のプロセスの操作を
実行するために必要なモードとを識別する。リクエスト
が伝送されると、リクエスタはアドレス指定されたロッ
クマネジャーからの応答を受け取るまで操作を中断す
る。現時点において名前付きデータ資源上にロックが保
持されていない場合、ロックマネジャーは適切なフォー
マットを有するロックに対するテーブルエントリーを作
成し、適切なホールディングフィールドにおいてリクエ
スタをキューに置き、ロックが許可されていることを示
すリクエスタにメッセージを戻す。リクエストが現時点
で保持されているロックについて受信されると、ロック
エントリーのモードフィールドは要求されたロックのモ
ードと比較される。これらのモードに互換性がある場
合、ロックは許可されて、リクエスタはホールディング
・キューに入れられる。また、これらのリクエストに互
換性がない場合、リクエスタはリクエスティング・キュ
ーにおいて待ち行列に置かれる。
【0028】ロックマネジャーがロックのホルダをデキ
ューするためにアンロッキング手順を用いるのは、ホル
ダがアンロッキングを要求する場合であることを仮定す
る。アンロックリクエストが処理されると、ロックマネ
ジャーはさらにリクエスティング・キューを考慮して、
必要ならば他のホルダに基づいてどの待機リクエストを
サービスできるかを決定することになる。
ューするためにアンロッキング手順を用いるのは、ホル
ダがアンロッキングを要求する場合であることを仮定す
る。アンロックリクエストが処理されると、ロックマネ
ジャーはさらにリクエスティング・キューを考慮して、
必要ならば他のホルダに基づいてどの待機リクエストを
サービスできるかを決定することになる。
【0029】本発明に従ってロックリクエストの処理を
可能にするために、局部ロックマネジャーは「合成モー
ド」と称される概念に依存している。この点において、
名前付きデータ資源上のロックについての合成モード
は、データ資源上に保持されるすべてのロックの合併の
結果としての最大モードに対応する。特に、データ資源
についてのロックリクエストを受信すると、局部ロック
マネジャーは、識別されたデータ資源上で保持され得る
LならびにPロックを位置付けするためにロックテーブ
ルを施錠(ロック)する。テーブル内に現存するLなら
びにPロックの合成モードは、これらのロックが該シス
テムのトランザクションとキャッシュマネジャーによっ
て保持されているロックモードによって決定される。下
記のテーブル1は、ページ上のLならびにPロックの合
成モードを示す。
可能にするために、局部ロックマネジャーは「合成モー
ド」と称される概念に依存している。この点において、
名前付きデータ資源上のロックについての合成モード
は、データ資源上に保持されるすべてのロックの合併の
結果としての最大モードに対応する。特に、データ資源
についてのロックリクエストを受信すると、局部ロック
マネジャーは、識別されたデータ資源上で保持され得る
LならびにPロックを位置付けするためにロックテーブ
ルを施錠(ロック)する。テーブル内に現存するLなら
びにPロックの合成モードは、これらのロックが該シス
テムのトランザクションとキャッシュマネジャーによっ
て保持されているロックモードによって決定される。下
記のテーブル1は、ページ上のLならびにPロックの合
成モードを示す。
【0030】 テーブル1 番号 Lロック Pロック LならびにPロックの合成モード 1. ヌル ヌル ヌル 2. ヌル S S 3. ヌル X X 4. S ヌル S 5. S S S 6. S X X 7. X ヌル X 8. X S X 9. X X X
【0031】本発明は、図2に示されたような共用デー
タ記憶装置を備えた多重DBMS環境におけるトランザ
クションロッキングならびにキャッシュ・コーヒレンシ
ーのためのメッセージをセーブ(節約)する技術に関す
る。一般的には、トランザクションロッキングは多重シ
ステム環境におけるトランザクション・セマンティクス
(意味規則)を保存するために直列化処理を行なう。ロ
ッキング機能は、大域ロックマネジャーと局部ロックマ
ネジャーとの間のメッセージ交換によってなされる多数
のDBMS間での協調を必要とする。DBMSのキャッ
シュマネジャーは、組み入れられるDBMSインスタン
スが常にデータのカレントコピーを使用することを確証
するためにキャッシュコーヒレンシー・プロトコルに従
う。キャッシュコーヒレンシー・プロトコルはまた、ロ
ッキングを使用する。これらのプロトコルは、DBMS
が多重システム環境で「ノー・フォース・アット・コミ
ット」又は「フォース・アット・コミット」ポリシーに
従うことによって決定される。この点について、更新中
のトランザクションがコミットする場合にフォース・ア
ット・コミット・ポリシーは更新されたデータページが
DASDに戻される(「強制的に送られる」)ことを意
味する。反対に、ノー・フォース・アット・コミット・
ポリシーは、更新されたデータ目的が更新中のトランザ
クションをコミットする条件としてDASDに戻される
ことを要求するものではない。むしろ、更新された目的
は、更新中のトランザクションがコミットした後でキャ
ッシュに留まることがある。しかしながらこのポリシー
は、特定のキャッシュ位置が共用データ記憶資源(DA
SD)のそれよりもっと新しいデータ目的のバージョン
を含んでいるシステムを使用して他のポテンシャルに信
号を送るためのある手段を要求している。
タ記憶装置を備えた多重DBMS環境におけるトランザ
クションロッキングならびにキャッシュ・コーヒレンシ
ーのためのメッセージをセーブ(節約)する技術に関す
る。一般的には、トランザクションロッキングは多重シ
ステム環境におけるトランザクション・セマンティクス
(意味規則)を保存するために直列化処理を行なう。ロ
ッキング機能は、大域ロックマネジャーと局部ロックマ
ネジャーとの間のメッセージ交換によってなされる多数
のDBMS間での協調を必要とする。DBMSのキャッ
シュマネジャーは、組み入れられるDBMSインスタン
スが常にデータのカレントコピーを使用することを確証
するためにキャッシュコーヒレンシー・プロトコルに従
う。キャッシュコーヒレンシー・プロトコルはまた、ロ
ッキングを使用する。これらのプロトコルは、DBMS
が多重システム環境で「ノー・フォース・アット・コミ
ット」又は「フォース・アット・コミット」ポリシーに
従うことによって決定される。この点について、更新中
のトランザクションがコミットする場合にフォース・ア
ット・コミット・ポリシーは更新されたデータページが
DASDに戻される(「強制的に送られる」)ことを意
味する。反対に、ノー・フォース・アット・コミット・
ポリシーは、更新されたデータ目的が更新中のトランザ
クションをコミットする条件としてDASDに戻される
ことを要求するものではない。むしろ、更新された目的
は、更新中のトランザクションがコミットした後でキャ
ッシュに留まることがある。しかしながらこのポリシー
は、特定のキャッシュ位置が共用データ記憶資源(DA
SD)のそれよりもっと新しいデータ目的のバージョン
を含んでいるシステムを使用して他のポテンシャルに信
号を送るためのある手段を要求している。
【0032】図2に示されるような共用データを備えた
多重システムの主要且つ優先的スラスト(推力)は、ト
ランザクションロッキングならびにキャッシュコーヒレ
ンシーについての大域ロックマネジャーに対するメッセ
ージとなるロックならびにアンロックコールの数を減少
することである。LPロッキングと呼ばれている本発明
の技術は、トランザクションによるデータ目的のオーナ
ーシップのユニットがキャッシュマネジャーによる同目
的をキャッシュするユニットと同一である場合にロッキ
ングコールをセーブする。局部ロックマネジャーは、ト
ランザクション権利にかなうために発行されるL型ロッ
クとキャッシュ・オーナーシップ用の同一データ資源上
に発行されるP型ロックとの区別を隠すことができる。
データ資源のためのLならびにPロックは、局部ロック
マネジャーに対してははっきり識別されるとはいえ、大
域ロックマネジャーによって単一のロック、即ち、LP
ロック、として本発明では知られている。大域ロックマ
ネジャーは、LPロックのオーナーが局部ロックマネジ
ャーであって、ロックモードがデータ資源を所有する局
部ロックマネジャーによって保持されるすべてのLなら
びにPロックの合成モードであることのみを知ってい
る。同一データ資源上に保持されるLならびにPロック
の組み合わせロックモードが要求されたモードと等しい
か、又はそれより高い場合に、局部ロックマネジャーは
データ資源上のL又はPロックを局部的に許可すること
ができる。さらに、局部ロックマネジャーは、Pロック
(又はLロック)が同一又は高度のロックモードに依然
保持されている場合に、Lロック(又はPロック)のア
ンロック・コールを大域ロックマネジャーに対し抑制す
ることができる。これは局部ロックマネジャーから大域
ロックマネジャーまでのロックならびにアンロックコー
ルをセーブし、それによってこれらマネジャー間のメッ
セージをセーブする。
多重システムの主要且つ優先的スラスト(推力)は、ト
ランザクションロッキングならびにキャッシュコーヒレ
ンシーについての大域ロックマネジャーに対するメッセ
ージとなるロックならびにアンロックコールの数を減少
することである。LPロッキングと呼ばれている本発明
の技術は、トランザクションによるデータ目的のオーナ
ーシップのユニットがキャッシュマネジャーによる同目
的をキャッシュするユニットと同一である場合にロッキ
ングコールをセーブする。局部ロックマネジャーは、ト
ランザクション権利にかなうために発行されるL型ロッ
クとキャッシュ・オーナーシップ用の同一データ資源上
に発行されるP型ロックとの区別を隠すことができる。
データ資源のためのLならびにPロックは、局部ロック
マネジャーに対してははっきり識別されるとはいえ、大
域ロックマネジャーによって単一のロック、即ち、LP
ロック、として本発明では知られている。大域ロックマ
ネジャーは、LPロックのオーナーが局部ロックマネジ
ャーであって、ロックモードがデータ資源を所有する局
部ロックマネジャーによって保持されるすべてのLなら
びにPロックの合成モードであることのみを知ってい
る。同一データ資源上に保持されるLならびにPロック
の組み合わせロックモードが要求されたモードと等しい
か、又はそれより高い場合に、局部ロックマネジャーは
データ資源上のL又はPロックを局部的に許可すること
ができる。さらに、局部ロックマネジャーは、Pロック
(又はLロック)が同一又は高度のロックモードに依然
保持されている場合に、Lロック(又はPロック)のア
ンロック・コールを大域ロックマネジャーに対し抑制す
ることができる。これは局部ロックマネジャーから大域
ロックマネジャーまでのロックならびにアンロックコー
ルをセーブし、それによってこれらマネジャー間のメッ
セージをセーブする。
【0033】本発明では、大域及び局部ロックマネジャ
ーが、例えばメッセージ・バッチング(一括処理)によ
ってある有効なメッセージ手順を介して通信を行なうこ
とを仮定する。しかしながら、すべてのメッセージは処
理オーバーヘッドを有し、バッチングはラテンシー(呼
出し時間)を増加させる。処理オーバーヘッドとラテン
シーとはともに、トランザクションロック保持時間と応
答時間とに障害を与える。従って、大域ロックマネジャ
ーへのロックならびにアンロックコールをセーブするこ
との最適化は本発明の重要な性能特質である。
ーが、例えばメッセージ・バッチング(一括処理)によ
ってある有効なメッセージ手順を介して通信を行なうこ
とを仮定する。しかしながら、すべてのメッセージは処
理オーバーヘッドを有し、バッチングはラテンシー(呼
出し時間)を増加させる。処理オーバーヘッドとラテン
シーとはともに、トランザクションロック保持時間と応
答時間とに障害を与える。従って、大域ロックマネジャ
ーへのロックならびにアンロックコールをセーブするこ
との最適化は本発明の重要な性能特質である。
【0034】重大なことには、LならびにPロックの取
得のオーダが予測できないので、データ目的上のLなら
びにPロックが階層ロックとして取扱い不可能である。
例えば、キャッシュマネジャーがデータの逐次スキャン
に対するI/O性能を向上させるためにページのトラン
ザクションを使用する前にページを先取りする場合、こ
うしたページ上のPロックはLロックの取得以前に取得
され、トランザクションによるデータの一般的ランダム
アクセスについては、ページ上のLロックはPロックよ
りも前に取得されるものであって、そのページがもはや
キャッシュされていないことを仮定する。
得のオーダが予測できないので、データ目的上のLなら
びにPロックが階層ロックとして取扱い不可能である。
例えば、キャッシュマネジャーがデータの逐次スキャン
に対するI/O性能を向上させるためにページのトラン
ザクションを使用する前にページを先取りする場合、こ
うしたページ上のPロックはLロックの取得以前に取得
され、トランザクションによるデータの一般的ランダム
アクセスについては、ページ上のLロックはPロックよ
りも前に取得されるものであって、そのページがもはや
キャッシュされていないことを仮定する。
【0035】Lロック トランザクションは論理(L)ロックを介してデータ資
源のオーナーシップを取得する。以下では、データ資源
がデータベースのページであることを仮定する。しかし
ながら、本発明者らによると、トランザクション権利は
他のデータベース目的に表現され得ることが想定され
る。ロックを要求する際に、トランザクションは、ロッ
ク名としてロック中のページの名称と、トランザクショ
ンに関してはLロックであるロック型と、想定された操
作を実行するのに必要なモードと、要求されたロックを
所有するトランザクション又はプロセスの識別と、を提
供する。以下の説明において、トランザクションがペー
ジを読み取るための共用(S)モード又はページを更新
するための専有(X)モードのどちらかいずれのモード
のLロックを取得することを仮定する。これは説明の簡
略によるためのものであり、本発明のプラクティスをデ
ュアルモードのロッキング方式に限定するためのもので
はない。SならびにXモードロックの互換規則は以下の
通りである。ロックがSモードで保持されて、Sモード
が次に別のトランザクションによって要求される場合、
次のリクエストは互換性があり、一方、Sモードが要求
されて、Xモードロックが保持される場合、次のリクエ
ストには互換性がなく、要求中のトランザクションは、
ホルダがそのロックを放棄又はダウングレード(ランク
下げ)することによってデータ資源をアンロックするま
で待機状態に置かれる。ロックが保持されると、保持さ
れたロックのモードがいかなるものであっても、Xモー
ドロックを求める次のリクエストは非互換性であると考
えられる。
源のオーナーシップを取得する。以下では、データ資源
がデータベースのページであることを仮定する。しかし
ながら、本発明者らによると、トランザクション権利は
他のデータベース目的に表現され得ることが想定され
る。ロックを要求する際に、トランザクションは、ロッ
ク名としてロック中のページの名称と、トランザクショ
ンに関してはLロックであるロック型と、想定された操
作を実行するのに必要なモードと、要求されたロックを
所有するトランザクション又はプロセスの識別と、を提
供する。以下の説明において、トランザクションがペー
ジを読み取るための共用(S)モード又はページを更新
するための専有(X)モードのどちらかいずれのモード
のLロックを取得することを仮定する。これは説明の簡
略によるためのものであり、本発明のプラクティスをデ
ュアルモードのロッキング方式に限定するためのもので
はない。SならびにXモードロックの互換規則は以下の
通りである。ロックがSモードで保持されて、Sモード
が次に別のトランザクションによって要求される場合、
次のリクエストは互換性があり、一方、Sモードが要求
されて、Xモードロックが保持される場合、次のリクエ
ストには互換性がなく、要求中のトランザクションは、
ホルダがそのロックを放棄又はダウングレード(ランク
下げ)することによってデータ資源をアンロックするま
で待機状態に置かれる。ロックが保持されると、保持さ
れたロックのモードがいかなるものであっても、Xモー
ドロックを求める次のリクエストは非互換性であると考
えられる。
【0036】ロックモードの互換性は、ロックが要求さ
れているデータ資源上に保持されるロックのロックモー
ドから局部ロックマネジャーによって引き出されるモー
ド値である上述の合成ロックモードの概念と対照をなす
ものである。特に、トランザクションがすでにDBMS
に保持されているデータ資源上にロックを許可するよう
にDBMSに要求し、その要求されたモードが合成ロッ
クモードよりも低いか、又は等しいものである場合、局
部ロックマネジャーはロックを局部的に許可することに
よって大域ロックマネジャーへのロックコールをセーブ
することが可能である。これは、大域ロックマネジャー
が既にそのロックについて「詳しく知っている」という
理由によるものである。この点については、トランザク
ションがすでにLロックに保持されているデータ資源上
にSモードロックを要求する場合、局部ロックマネジャ
ーは、Sを越える絶対値を有する保持ロックがなければ
保持ロックの合成モードをSとして計算する。Xモード
ロックが保持されると、合成ロックモードはXであると
考えられる。
れているデータ資源上に保持されるロックのロックモー
ドから局部ロックマネジャーによって引き出されるモー
ド値である上述の合成ロックモードの概念と対照をなす
ものである。特に、トランザクションがすでにDBMS
に保持されているデータ資源上にロックを許可するよう
にDBMSに要求し、その要求されたモードが合成ロッ
クモードよりも低いか、又は等しいものである場合、局
部ロックマネジャーはロックを局部的に許可することに
よって大域ロックマネジャーへのロックコールをセーブ
することが可能である。これは、大域ロックマネジャー
が既にそのロックについて「詳しく知っている」という
理由によるものである。この点については、トランザク
ションがすでにLロックに保持されているデータ資源上
にSモードロックを要求する場合、局部ロックマネジャ
ーは、Sを越える絶対値を有する保持ロックがなければ
保持ロックの合成モードをSとして計算する。Xモード
ロックが保持されると、合成ロックモードはXであると
考えられる。
【0037】Pロック ページをキャッシュするDBMSのキャッシュマネジャ
ーは、Pロックを介してページのキャッシュ・オーナー
シップを取得する。オーナーシップの目的が異なってい
るために、PロックはLロックとは異なる型のロックで
あることが観察される。例えば、システムの専有モード
で要求されるPロックは同システムの同一データ資源に
ついてのLロックと競合するものではない。Pロックは
システム間のキャッシュコーヒレンシーを確証するため
に取得され、Lロックは資源へのトランザクションアク
セスのシステム内及びシステム間分離ならびに直列化に
対して取得される。本発明では、LならびにPロック間
の区別は局部ロックマネジャーレベルでのみ維持され、
大域ロックマネジャーはこの区別を感知するものではな
い。
ーは、Pロックを介してページのキャッシュ・オーナー
シップを取得する。オーナーシップの目的が異なってい
るために、PロックはLロックとは異なる型のロックで
あることが観察される。例えば、システムの専有モード
で要求されるPロックは同システムの同一データ資源に
ついてのLロックと競合するものではない。Pロックは
システム間のキャッシュコーヒレンシーを確証するため
に取得され、Lロックは資源へのトランザクションアク
セスのシステム内及びシステム間分離ならびに直列化に
対して取得される。本発明では、LならびにPロック間
の区別は局部ロックマネジャーレベルでのみ維持され、
大域ロックマネジャーはこの区別を感知するものではな
い。
【0038】Pロックリクエストを局部ロックマネジャ
ーに提供する際に、キャッシュマネジャーは、ロックネ
ームを同一ページに対するLロックネームとは異なるも
のにするロックネーム拡張とともにあるページのロック
ネームと、ロックタイプと、ロックモードと、このシス
テムについてのキャッシュ−マネジャー−識別と、を特
定する。キャッシュマネジャーは、DBMSについてキ
ャッシュ内にページをキャッシュする前にそのページに
ついてのPロックを取得しなければならない。ページが
キャッシュされている間は、Pロックが保持されている
ということは、異なるトランザクションが既にシステム
にあるページを使用する際にPロックを取得するオーバ
ーヘッドOFの埋め合わせをしないことを意味する。キ
ャッシュマネジャーは、ページを読み出すべき時には共
用モードで、またページを更新すべき時には専有モード
でPロックを取得する。Pロックについての互換規則は
Lロックのそれと同一であるが、DBMSの間でのみ適
用するという唯一の区別があり、任意のDBMSのキャ
ッシュマネジャーによって所有される1個のPロックの
みが存在する。
ーに提供する際に、キャッシュマネジャーは、ロックネ
ームを同一ページに対するLロックネームとは異なるも
のにするロックネーム拡張とともにあるページのロック
ネームと、ロックタイプと、ロックモードと、このシス
テムについてのキャッシュ−マネジャー−識別と、を特
定する。キャッシュマネジャーは、DBMSについてキ
ャッシュ内にページをキャッシュする前にそのページに
ついてのPロックを取得しなければならない。ページが
キャッシュされている間は、Pロックが保持されている
ということは、異なるトランザクションが既にシステム
にあるページを使用する際にPロックを取得するオーバ
ーヘッドOFの埋め合わせをしないことを意味する。キ
ャッシュマネジャーは、ページを読み出すべき時には共
用モードで、またページを更新すべき時には専有モード
でPロックを取得する。Pロックについての互換規則は
Lロックのそれと同一であるが、DBMSの間でのみ適
用するという唯一の区別があり、任意のDBMSのキャ
ッシュマネジャーによって所有される1個のPロックの
みが存在する。
【0039】従来技術システムにおけるノー・フォース
・アット・コミットのためのコーヒレンシー・プロトコ
ル キャッシュ又はバッファ権利ロックは一般に、多数のD
BMSが個々のキャッシュを有し、これらDBMSがそ
れぞれノー・フォース・アット・コミット・ポリシーを
使用している図2に示されたようなシステム環境におい
て変化したページのコーヒレンシーを支持するために使
用される。この点について、キャッシュマネジャーはそ
のDBMSのページをキャッシュする時にはいつでもP
ロックを取得する。
・アット・コミットのためのコーヒレンシー・プロトコ
ル キャッシュ又はバッファ権利ロックは一般に、多数のD
BMSが個々のキャッシュを有し、これらDBMSがそ
れぞれノー・フォース・アット・コミット・ポリシーを
使用している図2に示されたようなシステム環境におい
て変化したページのコーヒレンシーを支持するために使
用される。この点について、キャッシュマネジャーはそ
のDBMSのページをキャッシュする時にはいつでもP
ロックを取得する。
【0040】従来技術の階層ロッキングシステムにおい
て、DBMSは特定モードでPロックを取得しなければ
ならず、その後で識別されたデータ資源上にLロックを
発行することができる。階層配列のもとで、Pロックコ
ールは権利マネジャーに伝達される。権利マネジャーは
どのシステムがロックを保持し、それによって、そのペ
ージをバッファしたことをそのテーブルから知る。Pロ
ックが共用モードで保持されると、ページは多数のシス
テムにバッファされ得る。一方、専有モードの場合、ペ
ージは1個のシステムにおいてのみバッファされ得る。
後者の場合について、その権利マネジャーのディレクト
リー・エントリーは変化したページをキャッシュさせた
システムの識別を行なうことになる。次に、従来技術シ
ステムによるノー・フォース・アット・コミット・ポリ
シーのもとでのPロック・コーヒレンシー方式の利用方
法の例が示される。
て、DBMSは特定モードでPロックを取得しなければ
ならず、その後で識別されたデータ資源上にLロックを
発行することができる。階層配列のもとで、Pロックコ
ールは権利マネジャーに伝達される。権利マネジャーは
どのシステムがロックを保持し、それによって、そのペ
ージをバッファしたことをそのテーブルから知る。Pロ
ックが共用モードで保持されると、ページは多数のシス
テムにバッファされ得る。一方、専有モードの場合、ペ
ージは1個のシステムにおいてのみバッファされ得る。
後者の場合について、その権利マネジャーのディレクト
リー・エントリーは変化したページをキャッシュさせた
システムの識別を行なうことになる。次に、従来技術シ
ステムによるノー・フォース・アット・コミット・ポリ
シーのもとでのPロック・コーヒレンシー方式の利用方
法の例が示される。
【0041】DBMS・S1は変化したページとしてバ
ッファされたページAを有することを仮定する。従っ
て、権利マネジャーのロックテーブルエントリーは、S
1の資源ロックマネジャーが状態XにおいてページA上
にPロックを保持することを示している。さらに、ペー
ジAを更新したトランザクションがコミットしたものと
仮定する。この場合において、DBMSがノー・フォー
ス・アット・コミット・ポリシーを実施中の際に、ペー
ジAは必ずしもDASDに書き込まれておく必要はなく
なる。ここで、第2のDBMS・S2のトランザクショ
ンはページAを読み出す必要がある。Lロックは共用状
態でページA上に要求されて、システムS2から共用状
態の権利ロックマネジャーまでのPロックリクエストを
引き出す。権利マネジャーはロック競合を検出して、別
のシステムによってページAに関するロック競合のメッ
セージを伝えるS1の資源ロックマネジャーにメッセー
ジを送信する。システムS1の資源マネジャーはPロッ
クリクエストに対して以下の処理を行なうことになる。
これは以下のパラメータ(a)、(b)及び(c)を備
えたバッファマネジャーのロック競合ルーチンを呼び出
す:(a)競合が生じたページ、即ち、ページAのロッ
クネーム、(b)要求されたロックモード、即ち、S、
(c)要求中のシステムの識別S2。システムS1のバ
ッファマネジャーはページをDASDに書き込み(バー
ジョンが異なる場合)、通信リンクを介してシステムS
2にページを送信することによって、Pロック競合を解
消する。DASD・I/Oの完了に続いて、バッファマ
ネジャーはそのPロックモードをSに変化させるために
その資源ロックマネジャーを要求することができたの
で、S1のバッファでページAのバッファを続けること
になる。S1の資源ロックマネジャーはページAについ
ての新しいPロックモードを権利マネジャーに渡す。権
利マネジャーは、DBMS・S1がSモードでページA
上にPロックを保持することを注意するためにそのディ
レクトリーを更新し、SモードのPロックをDBMS・
S2に付与する。このようにして、変化したページAと
S1のカレントコピーはS2に伝播されて、S1はノー
・フォース・アット・コミット・ポリシーに従う。これ
は、すべてのDBMSがノー・フォース・アット・コミ
ット・ポリシーに従う場合に、階層Pロッキングを介し
て多重DBMS環境において変化したページのコーヒレ
ンシーを維持する。
ッファされたページAを有することを仮定する。従っ
て、権利マネジャーのロックテーブルエントリーは、S
1の資源ロックマネジャーが状態XにおいてページA上
にPロックを保持することを示している。さらに、ペー
ジAを更新したトランザクションがコミットしたものと
仮定する。この場合において、DBMSがノー・フォー
ス・アット・コミット・ポリシーを実施中の際に、ペー
ジAは必ずしもDASDに書き込まれておく必要はなく
なる。ここで、第2のDBMS・S2のトランザクショ
ンはページAを読み出す必要がある。Lロックは共用状
態でページA上に要求されて、システムS2から共用状
態の権利ロックマネジャーまでのPロックリクエストを
引き出す。権利マネジャーはロック競合を検出して、別
のシステムによってページAに関するロック競合のメッ
セージを伝えるS1の資源ロックマネジャーにメッセー
ジを送信する。システムS1の資源マネジャーはPロッ
クリクエストに対して以下の処理を行なうことになる。
これは以下のパラメータ(a)、(b)及び(c)を備
えたバッファマネジャーのロック競合ルーチンを呼び出
す:(a)競合が生じたページ、即ち、ページAのロッ
クネーム、(b)要求されたロックモード、即ち、S、
(c)要求中のシステムの識別S2。システムS1のバ
ッファマネジャーはページをDASDに書き込み(バー
ジョンが異なる場合)、通信リンクを介してシステムS
2にページを送信することによって、Pロック競合を解
消する。DASD・I/Oの完了に続いて、バッファマ
ネジャーはそのPロックモードをSに変化させるために
その資源ロックマネジャーを要求することができたの
で、S1のバッファでページAのバッファを続けること
になる。S1の資源ロックマネジャーはページAについ
ての新しいPロックモードを権利マネジャーに渡す。権
利マネジャーは、DBMS・S1がSモードでページA
上にPロックを保持することを注意するためにそのディ
レクトリーを更新し、SモードのPロックをDBMS・
S2に付与する。このようにして、変化したページAと
S1のカレントコピーはS2に伝播されて、S1はノー
・フォース・アット・コミット・ポリシーに従う。これ
は、すべてのDBMSがノー・フォース・アット・コミ
ット・ポリシーに従う場合に、階層Pロッキングを介し
て多重DBMS環境において変化したページのコーヒレ
ンシーを維持する。
【0042】従って、従来技術の階層ロッキング方式を
使用することによって、データ資源上でLロックを許可
する前に、DBMSに対しデータ資源上にまずPロック
を所有させることは理解されるだろう。このようにし
て、非バッファ式ページのLロックリクエストは、資源
ロックマネジャーがその権利マネジャーでPロックリク
エスト/許可プロセスに従事する間は中断されなければ
ならない。
使用することによって、データ資源上でLロックを許可
する前に、DBMSに対しデータ資源上にまずPロック
を所有させることは理解されるだろう。このようにし
て、非バッファ式ページのLロックリクエストは、資源
ロックマネジャーがその権利マネジャーでPロックリク
エスト/許可プロセスに従事する間は中断されなければ
ならない。
【0043】LPロッキング 本発明では、LPロッキングが、ロックを局部的に発行
するパワーを局部ロックマネジャーに与えるという効果
がある。このようにして、局部ロックマネジャーは、リ
クエストがLロック又はPロックについてのものである
かについては関係なく未キャッシュのデータ資源につい
ての第1のロックリクエストに応答して、大域ロックマ
ネジャーによってリクエスト/許可交換に従事する能力
が付与される。LロックとPロックとのオーナーシップ
の区別は局部ロックマネジャーについてのみ重要であ
り、即ち、大域ロックマネジャーは局部ロック管理レベ
ルでのみロックオーナーシップに関与される。従って、
Lロックリクエストが未キャッシュのページについて受
信されると、局部ロックマネジャーは大域ロックマネジ
ャーからのLPロックを要求することができ、Pロック
リクエストがその所有のキャッシュマネジャーから起こ
るであろうことを予期する。さらに、Lロックが既にペ
ージ上に保持され、Pロックリクエストが同一ページに
ついて且つ現存するLロックの合成モードよりも小さい
か、又は等しいモードにおいて実施される場合、局部ロ
ックマネジャーは大域ロックマネジャーと通信すること
なくPロックを許可することができる。LならびにPロ
ックの合成モードは、それらが「所有する」DBMSの
トランザクションとキャッシュマネジャーによって保持
されているロックモードによって決定される。このよう
にして、局部ロックマネジャーは大域ロックマネジャー
からの同一データ資源についてのLならびにPロック間
の区別を隠す。局部レベルでは区別されているとはい
え、LならびにPロック間の区別は、それらが単一のL
Pロックにマージされる大域レベルにおいて不明瞭とさ
れる。大域ロックマネジャーはLPロックのオーナーな
らびにモードを知っている。本発明によって、ページ上
で保持されるLならびにPロックの合成モードが上記の
絶対値関係に従って要求されたモードよりも大きい場合
に、局部ロックマネジャーはページ上で局部的にLロッ
クを許可することが可能である。同様のことがPロック
が要求される場合についても言える。
するパワーを局部ロックマネジャーに与えるという効果
がある。このようにして、局部ロックマネジャーは、リ
クエストがLロック又はPロックについてのものである
かについては関係なく未キャッシュのデータ資源につい
ての第1のロックリクエストに応答して、大域ロックマ
ネジャーによってリクエスト/許可交換に従事する能力
が付与される。LロックとPロックとのオーナーシップ
の区別は局部ロックマネジャーについてのみ重要であ
り、即ち、大域ロックマネジャーは局部ロック管理レベ
ルでのみロックオーナーシップに関与される。従って、
Lロックリクエストが未キャッシュのページについて受
信されると、局部ロックマネジャーは大域ロックマネジ
ャーからのLPロックを要求することができ、Pロック
リクエストがその所有のキャッシュマネジャーから起こ
るであろうことを予期する。さらに、Lロックが既にペ
ージ上に保持され、Pロックリクエストが同一ページに
ついて且つ現存するLロックの合成モードよりも小さい
か、又は等しいモードにおいて実施される場合、局部ロ
ックマネジャーは大域ロックマネジャーと通信すること
なくPロックを許可することができる。LならびにPロ
ックの合成モードは、それらが「所有する」DBMSの
トランザクションとキャッシュマネジャーによって保持
されているロックモードによって決定される。このよう
にして、局部ロックマネジャーは大域ロックマネジャー
からの同一データ資源についてのLならびにPロック間
の区別を隠す。局部レベルでは区別されているとはい
え、LならびにPロック間の区別は、それらが単一のL
Pロックにマージされる大域レベルにおいて不明瞭とさ
れる。大域ロックマネジャーはLPロックのオーナーな
らびにモードを知っている。本発明によって、ページ上
で保持されるLならびにPロックの合成モードが上記の
絶対値関係に従って要求されたモードよりも大きい場合
に、局部ロックマネジャーはページ上で局部的にLロッ
クを許可することが可能である。同様のことがPロック
が要求される場合についても言える。
【0044】本発明の操作 テーブル1ならびに図2乃至図4を参照して、Lロック
リクエストに応答する際の本発明の操作が次に述べられ
る。36等の局部ロックマネジャーがトランザクション
49からロックリクエストを知覚することを仮定する。
リクエスト100は局部ロックマネジャーへの手順呼出
しの形式において実施される。局部ロックマネジャーの
論理は、局部ロックマネジャーがLロック名が知られて
いるかどうかを決定するためにそのロックテーブルを検
査する第1の決定102を取り込むことによって本発明
に応じて応答する。ロックリクエストにおいて名前付け
されたページに対するロックがテーブルに存在しないこ
とを仮定する。否定出口が決定102から取り出される
と、エントリー82に対応するテーブルエントリーが作
られ、局部ロックテーブル80に入力される。次に、テ
ーブルは105の名前付きデータ資源のPロックについ
て探索される。ページがまだキャッシュされず、キャッ
シュマネジャーがそのページについてのPロックリクエ
ストを送信していないことを仮定すると、否定出口は1
05から取り出され、局部ロックテーブルのエントリー
のRESP・GLMフィールドはマークされて、局部ロ
ックマネジャーはリクエスト107をメッセージ形式の
大域ロックマネジャーに送信する。局部ロックマネジャ
ーは、要求されたロックを許可する大域ロックマネジャ
ーからメッセージ109を受け取るまで108において
待機する。許可が受け取られると、局部ロックマネジャ
ーはロックエントリーのRESP・GLMフィールドの
マークを削除し、エントリーのHフィールドに対し要求
中のトランザクションをキューに置き、さらに110に
おけるトランザクションにLロックを付与する。
リクエストに応答する際の本発明の操作が次に述べられ
る。36等の局部ロックマネジャーがトランザクション
49からロックリクエストを知覚することを仮定する。
リクエスト100は局部ロックマネジャーへの手順呼出
しの形式において実施される。局部ロックマネジャーの
論理は、局部ロックマネジャーがLロック名が知られて
いるかどうかを決定するためにそのロックテーブルを検
査する第1の決定102を取り込むことによって本発明
に応じて応答する。ロックリクエストにおいて名前付け
されたページに対するロックがテーブルに存在しないこ
とを仮定する。否定出口が決定102から取り出される
と、エントリー82に対応するテーブルエントリーが作
られ、局部ロックテーブル80に入力される。次に、テ
ーブルは105の名前付きデータ資源のPロックについ
て探索される。ページがまだキャッシュされず、キャッ
シュマネジャーがそのページについてのPロックリクエ
ストを送信していないことを仮定すると、否定出口は1
05から取り出され、局部ロックテーブルのエントリー
のRESP・GLMフィールドはマークされて、局部ロ
ックマネジャーはリクエスト107をメッセージ形式の
大域ロックマネジャーに送信する。局部ロックマネジャ
ーは、要求されたロックを許可する大域ロックマネジャ
ーからメッセージ109を受け取るまで108において
待機する。許可が受け取られると、局部ロックマネジャ
ーはロックエントリーのRESP・GLMフィールドの
マークを削除し、エントリーのHフィールドに対し要求
中のトランザクションをキューに置き、さらに110に
おけるトランザクションにLロックを付与する。
【0045】Pロックのみが名前付きページに関する局
部ロックマネジャーのテーブルにおいて求められるとい
う条件のもとで、Lロックのリクエストが受信されたこ
とを仮定する。この場合、肯定出口が決定105から取
り出され、それに基づいて局部ロックマネジャーはテー
ブルのPロックの合成モードを決定し、それを要求され
たLロックのモードに対し比較する。要求されたモード
がPロックの合成モードよりも大きな絶対値を有する場
合、否定出口はテスト120から取り出されて、GLM
から要求されたであろう、要求されたモードと等しい新
しい合成モードが計算される。さらに、その要求された
LロックについてのRESP・GLMフィールドにマー
ク122が置かれて、論理は論理地点Bを介してシーケ
ンス107、108、109、110に入る。このシー
ケンスにおいて、大域ロックマネジャーはLPロックリ
クエスト107を受け取ると同時に、局部ロックマネジ
ャーがテーブルのPロックを許可することを可能にする
要求中のDBMSについてのLPロックエントリーを見
つけることになる。ここで、大域ロックマネジャーへの
要求は、予め許可されたLPロックのモードの絶対値を
アップグレード(更新)することを求める。この場合
に、識別されたデータ資源に対するLPロックエントリ
ーが他に存在しなければ、要求中の局部ロックマネジャ
ーについての現存するLPロックはアップグレードされ
たモードを有することになる。これは、許可メッセージ
109で大域ロックマネジャーによって伝達される。許
可メッセージを受け取ると同時に、局部ロックマネジャ
ーはマーク122をLロックエントリーのRESP・G
LMフィールドから消去し、110でLロックを許可す
る。
部ロックマネジャーのテーブルにおいて求められるとい
う条件のもとで、Lロックのリクエストが受信されたこ
とを仮定する。この場合、肯定出口が決定105から取
り出され、それに基づいて局部ロックマネジャーはテー
ブルのPロックの合成モードを決定し、それを要求され
たLロックのモードに対し比較する。要求されたモード
がPロックの合成モードよりも大きな絶対値を有する場
合、否定出口はテスト120から取り出されて、GLM
から要求されたであろう、要求されたモードと等しい新
しい合成モードが計算される。さらに、その要求された
LロックについてのRESP・GLMフィールドにマー
ク122が置かれて、論理は論理地点Bを介してシーケ
ンス107、108、109、110に入る。このシー
ケンスにおいて、大域ロックマネジャーはLPロックリ
クエスト107を受け取ると同時に、局部ロックマネジ
ャーがテーブルのPロックを許可することを可能にする
要求中のDBMSについてのLPロックエントリーを見
つけることになる。ここで、大域ロックマネジャーへの
要求は、予め許可されたLPロックのモードの絶対値を
アップグレード(更新)することを求める。この場合
に、識別されたデータ資源に対するLPロックエントリ
ーが他に存在しなければ、要求中の局部ロックマネジャ
ーについての現存するLPロックはアップグレードされ
たモードを有することになる。これは、許可メッセージ
109で大域ロックマネジャーによって伝達される。許
可メッセージを受け取ると同時に、局部ロックマネジャ
ーはマーク122をLロックエントリーのRESP・G
LMフィールドから消去し、110でLロックを許可す
る。
【0046】リクエスト100が受信されると、名前付
きデータ資源に対する別のLロックが局部ロックマネジ
ャーのテーブルにおいて求められることを仮定する。こ
の場合、肯定出口がテスト102から取り出されて、互
換性があるかどうかを決定するために130において許
可されたロックのモードが許可されたロックのモードに
対してテストされる。要求されたモードが予め許可され
たLロックとは互換性がないことを仮定すると、局部ロ
ックマネジャーは要求中のトランザクションをLロック
テーブルエントリーのRフィールドにおいてキューに置
き、トランザクションはデータ資源が所有するトランザ
クションによってアンロックされるまで133で待機す
る。134でアンロックされると、要求されたLロック
のモードは局部ロックマネジャーのテーブルに残存する
名前付きデータ資源上の他の任意のロックの結果的絶対
値に関する値についてのテスト135を受ける。最初に
102で遭遇されるLロックの放棄を仮定すると、アン
ロック134はLロックエントリーのモードフィールド
にヌル(ゼロ)値を置く。一方、予備ロッキングトラン
ザクションが単に現存するLロックのモードを格下げし
た場合、絶対値は減少されたことになる。テスト135
はそのために、リクエストロックのモード値をテーブル
1によって計算された合成モード値と比較するだろう。
合成モード値が要求された値よりも大きいか又は等しい
場合、肯定出口はテスト135から取り出されて、要求
されたモードはLロックエントリーのモードフィールド
に置かれて、ロックは110で許可される。
きデータ資源に対する別のLロックが局部ロックマネジ
ャーのテーブルにおいて求められることを仮定する。こ
の場合、肯定出口がテスト102から取り出されて、互
換性があるかどうかを決定するために130において許
可されたロックのモードが許可されたロックのモードに
対してテストされる。要求されたモードが予め許可され
たLロックとは互換性がないことを仮定すると、局部ロ
ックマネジャーは要求中のトランザクションをLロック
テーブルエントリーのRフィールドにおいてキューに置
き、トランザクションはデータ資源が所有するトランザ
クションによってアンロックされるまで133で待機す
る。134でアンロックされると、要求されたLロック
のモードは局部ロックマネジャーのテーブルに残存する
名前付きデータ資源上の他の任意のロックの結果的絶対
値に関する値についてのテスト135を受ける。最初に
102で遭遇されるLロックの放棄を仮定すると、アン
ロック134はLロックエントリーのモードフィールド
にヌル(ゼロ)値を置く。一方、予備ロッキングトラン
ザクションが単に現存するLロックのモードを格下げし
た場合、絶対値は減少されたことになる。テスト135
はそのために、リクエストロックのモード値をテーブル
1によって計算された合成モード値と比較するだろう。
合成モード値が要求された値よりも大きいか又は等しい
場合、肯定出口はテスト135から取り出されて、要求
されたモードはLロックエントリーのモードフィールド
に置かれて、ロックは110で許可される。
【0047】再びテスト130に戻り、要求されたLロ
ックについてのモードが識別されたデータ資源上の現存
するLロックのモードと互換性があると仮定すると、肯
定出口はテスト130から取り出されて、Lロックエン
トリーのRESP・GLMフィールドは136で検査さ
れる。そのフィールドにマークがない場合、要求された
ロックのモードは137で許可されたロックのモードと
比較されて、合成モードがLならびにPロックの互換モ
ードの最大絶対値までアップグレードされる必要がある
かどうかを決定する。もし、反対の場合は、要求中のト
ランザクションがLロックエントリーのHフィールドに
対しキューに置かれ、そのロックは許可される。アップ
グレードが必要とされる場合、テスト137からの肯定
出口は操作を局部ロックマネジャー論理において地点A
に入力し、ステップ106乃至109を介してLPロッ
クのモードをアップグレードするために、局部ロックマ
ネジャーと大域ロックマネジャーとの間でメッセージ交
換を行なうことになり、これはリクエスタがLロックエ
ントリーのHフィールドに対しキューに置かれて、ロッ
クは110で許可される結果によるものである。
ックについてのモードが識別されたデータ資源上の現存
するLロックのモードと互換性があると仮定すると、肯
定出口はテスト130から取り出されて、Lロックエン
トリーのRESP・GLMフィールドは136で検査さ
れる。そのフィールドにマークがない場合、要求された
ロックのモードは137で許可されたロックのモードと
比較されて、合成モードがLならびにPロックの互換モ
ードの最大絶対値までアップグレードされる必要がある
かどうかを決定する。もし、反対の場合は、要求中のト
ランザクションがLロックエントリーのHフィールドに
対しキューに置かれ、そのロックは許可される。アップ
グレードが必要とされる場合、テスト137からの肯定
出口は操作を局部ロックマネジャー論理において地点A
に入力し、ステップ106乃至109を介してLPロッ
クのモードをアップグレードするために、局部ロックマ
ネジャーと大域ロックマネジャーとの間でメッセージ交
換を行なうことになり、これはリクエスタがLロックエ
ントリーのHフィールドに対しキューに置かれて、ロッ
クは110で許可される結果によるものである。
【0048】テスト136によって大域ロックマネジャ
ーからのメッセージがLロックエントリーに関して期待
されることが示されると、肯定出口が取られて、許可メ
ッセージが大域ロックマネジャー139から受け取られ
るまで、トランザクションは138で待ち状態に置かれ
る。これに引き続いて、RESP・GLMフィールドか
らマークが消去されて、要求中のトランザクションがH
フィールドに対しキューに置かれて、ロックは110で
許可される。
ーからのメッセージがLロックエントリーに関して期待
されることが示されると、肯定出口が取られて、許可メ
ッセージが大域ロックマネジャー139から受け取られ
るまで、トランザクションは138で待ち状態に置かれ
る。これに引き続いて、RESP・GLMフィールドか
らマークが消去されて、要求中のトランザクションがH
フィールドに対しキューに置かれて、ロックは110で
許可される。
【0049】Pロックリクエストに応答する本発明の操
作は図5に示される。この操作の説明については図2と
図3とがさらに参照される。図5には、キャッシュマネ
ジャー38、39からのPロックのリクエストに応答す
るための局部ロックマネジャー46、47に固有の論理
が示されている。リクエストは200で受け取られる。
局部ロックマネジャーは、202において名前付きデー
タ資源についてのPロックが許可されたかどうかを決定
するために、その局部ロックテーブルを考慮する。20
2から否定出口が取り出されて、208でPロックエン
トリーが作られて、局部ロックマネジャーのテーブルに
入力され、さらにそのテーブルが名前付きデータ資源に
対するLロックエントリーについてスキャンされる場合
において、キャッシュマネジャーがこのページをまだキ
ャッシュしていないことを仮定する。
作は図5に示される。この操作の説明については図2と
図3とがさらに参照される。図5には、キャッシュマネ
ジャー38、39からのPロックのリクエストに応答す
るための局部ロックマネジャー46、47に固有の論理
が示されている。リクエストは200で受け取られる。
局部ロックマネジャーは、202において名前付きデー
タ資源についてのPロックが許可されたかどうかを決定
するために、その局部ロックテーブルを考慮する。20
2から否定出口が取り出されて、208でPロックエン
トリーが作られて、局部ロックマネジャーのテーブルに
入力され、さらにそのテーブルが名前付きデータ資源に
対するLロックエントリーについてスキャンされる場合
において、キャッシュマネジャーがこのページをまだキ
ャッシュしていないことを仮定する。
【0050】名前付き資源に対して要求されるLロック
エントリーが存在しないことを仮定すると、否定出口は
210から取り出されて、PロックエントリーのRES
P・GLMフィールドは211では局部ロックテーブル
にマークされ、LPロックリクエストは212に送ら
れ、213では大域ロックマネジャーによって回答が待
たれる。要求されたLPロックがメッセージ214によ
ってひとたび許可されると、PロックエントリーのRE
SP・GLMフィールドはクリアされてPロックは21
5で許可される。
エントリーが存在しないことを仮定すると、否定出口は
210から取り出されて、PロックエントリーのRES
P・GLMフィールドは211では局部ロックテーブル
にマークされ、LPロックリクエストは212に送ら
れ、213では大域ロックマネジャーによって回答が待
たれる。要求されたLPロックがメッセージ214によ
ってひとたび許可されると、PロックエントリーのRE
SP・GLMフィールドはクリアされてPロックは21
5で許可される。
【0051】テスト210に戻って、名前付きデータ資
源に対するLロックエントリーが局部ロックテーブルに
おいて求められることを仮定する。肯定出口が取り出さ
れ、ホルダーのエントリーの合成モードが220で要求
されたモードに対してテストされる。要求されたモード
が合成モードよりも大きくない場合、肯定出口がテスト
220から取り出され、要求されたモード値が要求され
たPロックのモードフィールドに置かれて、ロックが2
15の許可される。
源に対するLロックエントリーが局部ロックテーブルに
おいて求められることを仮定する。肯定出口が取り出さ
れ、ホルダーのエントリーの合成モードが220で要求
されたモードに対してテストされる。要求されたモード
が合成モードよりも大きくない場合、肯定出口がテスト
220から取り出され、要求されたモード値が要求され
たPロックのモードフィールドに置かれて、ロックが2
15の許可される。
【0052】Pロックについて要求されたモードが22
0でテストされた合成モードよりも大きいこと、即ち、
要求されたロックモードを含む新しい合成モードが計算
されること、を仮定すると、局部ロックテーブルにおけ
るPロックエントリーのRESP・GLMフィールドは
224でマークされて、LPロックモードの更新が図5
のCにおいて開始実行される。LPロックの更新が完了
されると、PロックエントリーのRESP・GLMフィ
ールドはクリアされて、Pロックは215で許可され
る。
0でテストされた合成モードよりも大きいこと、即ち、
要求されたロックモードを含む新しい合成モードが計算
されること、を仮定すると、局部ロックテーブルにおけ
るPロックエントリーのRESP・GLMフィールドは
224でマークされて、LPロックモードの更新が図5
のCにおいて開始実行される。LPロックの更新が完了
されると、PロックエントリーのRESP・GLMフィ
ールドはクリアされて、Pロックは215で許可され
る。
【0053】テスト202に戻って、現存するPロック
のモードを更新するためにPロックリクエスト200が
キャッシュマネジャーによって提示されることを仮定す
る。この場合に、肯定出口はテスト202から取り出さ
れて、論理は図5のAにおいて再入力される。
のモードを更新するためにPロックリクエスト200が
キャッシュマネジャーによって提示されることを仮定す
る。この場合に、肯定出口はテスト202から取り出さ
れて、論理は図5のAにおいて再入力される。
【0054】LPロッキングを有するコーヒレンシー 従来技術の階層ロッキング構造のPロックを使用してノ
ー・フォース・アット・コミット・ポリシーに関して上
述されたコーヒレンシー・プロトコルにおいて、Pロッ
クが多数のバッファの変化したページのコーヒレンシー
をどのように達成するかについて説明されてきた。一般
に、変化したページのシステム間コーヒレンシーはLP
ロックを介して同じ方法で維持される。しかしながら、
大域ロックマネジャーにおける単一のロックとしてLな
らびにPロックをページ上で取り扱う結果としてわずか
な相違が生じる。
ー・フォース・アット・コミット・ポリシーに関して上
述されたコーヒレンシー・プロトコルにおいて、Pロッ
クが多数のバッファの変化したページのコーヒレンシー
をどのように達成するかについて説明されてきた。一般
に、変化したページのシステム間コーヒレンシーはLP
ロックを介して同じ方法で維持される。しかしながら、
大域ロックマネジャーにおける単一のロックとしてLな
らびにPロックをページ上で取り扱う結果としてわずか
な相違が生じる。
【0055】最初に、LPロッキングを必要とせずに、
対応する非互換ロックリクエストが別のシステムから作
られる場合に、大域ロックマネジャーが任意のページに
ついてのLならびにPロックに対するロック競合を検出
することを要求される従来技術システムがある。LPロ
ッキングによって、大域ロックマネジャーは、非互換性
のL又はPロックリクエストが別のシステムの局部ロッ
クマネジャーに対して作られると、ページ上にロック競
合を検出することになる。受信中の局部ロックマネジャ
ーは、異なるシステムの同一ページについて大域ロック
マネジャーによって維持される現存するLPロックと競
合するモードを有するLPロックリクエストを送信する
ことがある。この場合、本発明者は大域ロックマネジャ
ーが、例えば、ロック競合メッセージをLPロックを所
有する局部ロックマネジャーに送信することによってロ
ック競合プロトコルを呼び出すことを意図する。
対応する非互換ロックリクエストが別のシステムから作
られる場合に、大域ロックマネジャーが任意のページに
ついてのLならびにPロックに対するロック競合を検出
することを要求される従来技術システムがある。LPロ
ッキングによって、大域ロックマネジャーは、非互換性
のL又はPロックリクエストが別のシステムの局部ロッ
クマネジャーに対して作られると、ページ上にロック競
合を検出することになる。受信中の局部ロックマネジャ
ーは、異なるシステムの同一ページについて大域ロック
マネジャーによって維持される現存するLPロックと競
合するモードを有するLPロックリクエストを送信する
ことがある。この場合、本発明者は大域ロックマネジャ
ーが、例えば、ロック競合メッセージをLPロックを所
有する局部ロックマネジャーに送信することによってロ
ック競合プロトコルを呼び出すことを意図する。
【0056】LPロッキングが実施されずに、大域ロッ
クマネジャーがLならびにPロックリクエストを受け取
った上記場合において、Pロックリクエストについての
ロック競合メッセージを大域ロックマネジャーから受信
すると同時にそのキャッシュマネジャーのロック競合ル
ーチンを呼び出すことになる。この場合にLならびにP
ロックが大域ロックマネジャーによって個別に維持され
るので、局部ロックマネジャーはLPロッキングについ
て後述されるようにLロックとのタイ(結合)を認識す
る必要はなくなる。
クマネジャーがLならびにPロックリクエストを受け取
った上記場合において、Pロックリクエストについての
ロック競合メッセージを大域ロックマネジャーから受信
すると同時にそのキャッシュマネジャーのロック競合ル
ーチンを呼び出すことになる。この場合にLならびにP
ロックが大域ロックマネジャーによって個別に維持され
るので、局部ロックマネジャーはLPロッキングについ
て後述されるようにLロックとのタイ(結合)を認識す
る必要はなくなる。
【0057】本発明によるLPロッキングを用いると、
所有する局部ロックマネジャーは、識別されたデータ資
源上のLロックが要求されたLPロックのモードと互換
性を有するようになった後で、大域ロックマネジャーか
らロック競合メッセージを受け取ると同時に、そのキャ
ッシュマネジャーのロック競合ルーチンを呼び出すこと
になる。例えば、システムS1のトランザクションがペ
ージAを更新するためにXモードのLロックを保持し、
ページAが変化したことにより、S1のキャッシュマネ
ジャーがXモードのPロックを保持することを仮定す
る。さらに、システムS2のトランザクションがページ
A上のLロックを要求し、その場合にシステムS2に対
する局部ロックマネジャーがLPロックリクエストを大
域ロックマネジャーに送信するようになることを仮定す
る。システムS2からリクエストを受け取ると同時に、
大域ロックマネジャーはロック競合メッセージをシステ
ムS1に送信する。メッセージが受け取られると、シス
テムS1のトランザクションはそのLロックを解除した
後、即ち、トランザクションがコミットした後で、シス
テムS1の局部ロックマネジャーはそのキャッシュマネ
ジャーのロック競合ルーチンを呼び出す。これによっ
て、キャッシュマネジャーのロック競合ルーチンが更新
をコミットしたページのバージョンのみを転送すること
が確証される。
所有する局部ロックマネジャーは、識別されたデータ資
源上のLロックが要求されたLPロックのモードと互換
性を有するようになった後で、大域ロックマネジャーか
らロック競合メッセージを受け取ると同時に、そのキャ
ッシュマネジャーのロック競合ルーチンを呼び出すこと
になる。例えば、システムS1のトランザクションがペ
ージAを更新するためにXモードのLロックを保持し、
ページAが変化したことにより、S1のキャッシュマネ
ジャーがXモードのPロックを保持することを仮定す
る。さらに、システムS2のトランザクションがページ
A上のLロックを要求し、その場合にシステムS2に対
する局部ロックマネジャーがLPロックリクエストを大
域ロックマネジャーに送信するようになることを仮定す
る。システムS2からリクエストを受け取ると同時に、
大域ロックマネジャーはロック競合メッセージをシステ
ムS1に送信する。メッセージが受け取られると、シス
テムS1のトランザクションはそのLロックを解除した
後、即ち、トランザクションがコミットした後で、シス
テムS1の局部ロックマネジャーはそのキャッシュマネ
ジャーのロック競合ルーチンを呼び出す。これによっ
て、キャッシュマネジャーのロック競合ルーチンが更新
をコミットしたページのバージョンのみを転送すること
が確証される。
【0058】局部ロックマネジャーがそのキャッシュマ
ネジャーのロック競合ルーチンを即座に呼び出す場合の
例について考える。最初に、システムS2では、トラン
ザクション又はキャッシュマネジャーによって局部ロッ
クマネジャーがページAのLPロックのSモードリクエ
ストを生成することを仮定する。また、システムS1で
は、ページAがXモードにおいてはPロックされ、Sモ
ードではLロックされなかったり、又はLロックされる
ことを仮定する。この場合に、システムS1のキャッシ
ュマネジャーはキャッシュされたページAの更新バージ
ョンを有しており、トランザクションによって読み出さ
れるか、又は少しも使用されていないページを備えてい
る。ページに対する変化は既にコミットされているため
に、そのページはコミットするためのトランザクション
を待つことなしに、別のシステムに転送されることが可
能である。しかしながら、システムS2によって要求さ
れたLPロックがXモードである場合、システムS1の
局部ロックマネジャーは、キャッシュマネジャーの競合
ルーチンを呼び出す前にロックを解除するべく、Sモー
ドのページ上にLロックを保持するトランザクションを
待つことになる。
ネジャーのロック競合ルーチンを即座に呼び出す場合の
例について考える。最初に、システムS2では、トラン
ザクション又はキャッシュマネジャーによって局部ロッ
クマネジャーがページAのLPロックのSモードリクエ
ストを生成することを仮定する。また、システムS1で
は、ページAがXモードにおいてはPロックされ、Sモ
ードではLロックされなかったり、又はLロックされる
ことを仮定する。この場合に、システムS1のキャッシ
ュマネジャーはキャッシュされたページAの更新バージ
ョンを有しており、トランザクションによって読み出さ
れるか、又は少しも使用されていないページを備えてい
る。ページに対する変化は既にコミットされているため
に、そのページはコミットするためのトランザクション
を待つことなしに、別のシステムに転送されることが可
能である。しかしながら、システムS2によって要求さ
れたLPロックがXモードである場合、システムS1の
局部ロックマネジャーは、キャッシュマネジャーの競合
ルーチンを呼び出す前にロックを解除するべく、Sモー
ドのページ上にLロックを保持するトランザクションを
待つことになる。
【0059】本発明者は、データベースシステム(DB
MS)の多数のインスタンスが共用データ記憶装置によ
ってデータを共有する場合にトランザクションロッキン
グ及びキャッシュコーヒレンシーのためのメッセージを
保管する技術を述べてきた。多重システム環境におい
て、ロッキング機能は多数のDBMS間の調整を必要と
し、これは一般には、システム間のメッセージを介して
実施される。メッセージは処理オーバーヘッドを有し、
ラテンシー(回転待ち時間)を増加させる。これはトラ
ンザクションロック保持時間と応答時間に影響を及ぼ
す。従って、ロックならびにアンロック・コールを保管
することは、考慮すべき重大な性能である。LPロッキ
ングと呼ばれる本発明の技術は、トランザクションによ
る目的のオーナーシップのユニットがキャッシュマネジ
ャーによって目的をキャッシュするユニットと同一であ
る場合に、ロッキング用のメッセージを保管することで
ある。局部ロックマネジャーは大域ロックマネジャーか
らの同一データ目的についてLならびにPロック間の区
別を隠す。データ目的に対するLならびにPロックは、
局部ロックマネジャーでは区別されているとはいえ、大
域ロックマネジャーで単一のLPロックとして知られ
る。局部ロックマネジャーはその他の関連するロックの
オーナーシップに基づいてロックを局部的に許可するこ
とができ、又は大域ロックマネジャーに維持される情報
が変化しないために、アンロックコールを抑制すること
ができる。
MS)の多数のインスタンスが共用データ記憶装置によ
ってデータを共有する場合にトランザクションロッキン
グ及びキャッシュコーヒレンシーのためのメッセージを
保管する技術を述べてきた。多重システム環境におい
て、ロッキング機能は多数のDBMS間の調整を必要と
し、これは一般には、システム間のメッセージを介して
実施される。メッセージは処理オーバーヘッドを有し、
ラテンシー(回転待ち時間)を増加させる。これはトラ
ンザクションロック保持時間と応答時間に影響を及ぼ
す。従って、ロックならびにアンロック・コールを保管
することは、考慮すべき重大な性能である。LPロッキ
ングと呼ばれる本発明の技術は、トランザクションによ
る目的のオーナーシップのユニットがキャッシュマネジ
ャーによって目的をキャッシュするユニットと同一であ
る場合に、ロッキング用のメッセージを保管することで
ある。局部ロックマネジャーは大域ロックマネジャーか
らの同一データ目的についてLならびにPロック間の区
別を隠す。データ目的に対するLならびにPロックは、
局部ロックマネジャーでは区別されているとはいえ、大
域ロックマネジャーで単一のLPロックとして知られ
る。局部ロックマネジャーはその他の関連するロックの
オーナーシップに基づいてロックを局部的に許可するこ
とができ、又は大域ロックマネジャーに維持される情報
が変化しないために、アンロックコールを抑制すること
ができる。
【0060】
【発明の効果】本発明は上記のように構成されているの
で、複数のデータベース管理システムが共通データ記憶
資源にアクセスする環境においてデータ資源ロックを取
得且つ解除するために必要な局部ロックマネジャーと大
域ロックマネジャーとの間のメッセージトラフィック
(通信量)を減少させることができる。
で、複数のデータベース管理システムが共通データ記憶
資源にアクセスする環境においてデータ資源ロックを取
得且つ解除するために必要な局部ロックマネジャーと大
域ロックマネジャーとの間のメッセージトラフィック
(通信量)を減少させることができる。
【図1】多重システム環境におけるデータ資源上でシス
テムレベルのロックを得るための従来技術手法を示す図
である。
テムレベルのロックを得るための従来技術手法を示す図
である。
【図2】本発明による操作について構成された典型的な
ディジタル計算機システムを表わすブロック図である。
ディジタル計算機システムを表わすブロック図である。
【図3】本発明のための局部ロックマネジャーと大域ロ
ックマネジャーにおけるデータ構造を示す図である。
ックマネジャーにおけるデータ構造を示す図である。
【図4】Lロックを求めるリクエストに応答して本発明
によって用いられる方法を表わす図である。
によって用いられる方法を表わす図である。
【図5】Pロックを求めるリクエストに応答して本発明
によって用いられる方法を表わす図である。
によって用いられる方法を表わす図である。
36 DBMS 37 DBMS 38 キャッシュマネジャー 39 キャッシュマネジャー 43 データベース 46 局部ロックマネジャー 47 局部ロックマネジャー 48 大域ロックマネジャー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 インデルパル エス. ナラング アメリカ合衆国95070、カリフォルニア 州サラトガ、セッラ オークス コート 13778 (56)参考文献 特開 平1−211140(JP,A)
Claims (2)
- 【請求項1】1又は複数のデータ記憶装置と大域ロック
マネージャとに接続された多数のデータベース管理シス
テム(DBMS)を含む共用データシステムにおけるデ
ータ資源のロッキング方法であって、 前記大域ロックマネージャは、ロックのリクエストを受
信および許可し、 各DBMSは、データ資源に対するトランザクションの
アクセス権利を表す第1のロックタイプであるLロック
のリクエスト及びキャッシュへのデータ資源の取込みを
指示する第2のロックタイプであるPロックのリクエス
トを受信、処理、及び許可する局所ロックマネージャを
含み、 データ資源へのLロックであるトランザクションからの
リクエストをDBMSの局所ロックマネージャヘ供給
し、データ資源へのPロックであるDBMSのキャッシ
ュ・マネージャからのリクエストを局所ロックマネージ
ャヘ供給するステップと、 (a)LロックまたはPロック何れかの受信に応じて、
最初の受信がどちらであっても、局所ローカルマネージ
ャによって、DBMSでのデータ資源へのアクセス権利
を示す第3のロックタイプであるLPロックのリクエス
トを前記大域ロックマネージャに転送するステップと、 (b)大域ロックマネージャから前記LPロックの許可
を前記局所ロックマネージャが受信し、前記局所ロック
マネージャが、前記最初のリクエストがLロックまたは
Pロックのどちらであっても該ロックを許可するステッ
プと、 前記ロックは少なくとも、データ資源の専有使用を指示
する第1のモードであるXモードかまたはデータ資源の
共有使用を指示する第2のモードであるSモードにおい
て許可され、XモードはSモードに優先的に許可され
る、モードのカテゴリを示す論理値を有し、 前記ステップ(a)は第1のリクエストがXモードを示
す時にはXモードの、又は第1のリクエストがSモード
を示す場合にはSモードのリクエストとして、LPロッ
クのリクエストを伝送することを含み、 前記ステップ(b)で受信される許可は第1のリクエス
トの示すモードにおける許可であり、 (c)データ資源に対する任意のロックタイプの次のリ
クエストを局部ロックマネジャーが受信することに応じ
て、データ資源上に保持されているすべてのロックのモ
ードの合成モードをDBMSで決定し、前記合成モード
は保持ロックのうちの最も優先度の大きいモードカテゴ
リー論理値を有する、合成モード決定ステップと、 (d.1)前記次のリクエストが合成モードのモードカ
テゴリー論理値よりも優先的な値を有するロックについ
てのものである場合、前記次のリクエストのモードでデ
ータ資源上のLPロックのリクエストを大域ロックマネ
ジャーに伝送するステップと、 (d.2)局部ロックマネジャーが、要求されたモード
のLPロックの許可を受信する場合、前記次のリクエス
トを許可するステップと、 (e)前記ステップ(d.1)以外の場合には前記次の
リクエストを許可するステップと、 を含む共用データシステムにおけるデータ資源のロッキ
ング方法。 - 【請求項2】システム・ロック・リクエストを処理する
大域ロックマネージャと、1又は複数のデータベース記
憶資源と、複数のデータベース管理システムとを含む組
み合わせにおけるシステム間のデータロック管理方法で
あって、 各データベース管理システム(DBMS)は、データベ
ース記憶資源に結合されてDBMSでデータ資源をキャ
ッシュするキャッシュと、キャッシュマネージャと、大
域ロックマネージャに結合された局所ロックマネージャ
とを含み、 第1のDBMSにおいて、前記第1DBMSの局所ロッ
クマネージャによって許可されるロックのリストを維持
し、前記ロックはデータ資源に対するトランザクション
のアクセスの権利を表す第1のロックタイプであるLロ
ックとデータ資源に対するキャシュ管理の権利を表す第
2のロックタイプであるPロックとを含み、リスト化さ
れたロックの各々はそのロックを適用するデータ資源を
名前付けする、ロックのリストの維持ステップと、 テーブル内の名前付けのないデータ資源に対する前記い
づれかのタイプのロックのリクエストを局所ロックマネ
ージャが受信することに応じて、前記ロックのタイプが
いずれであっても、前記データ資源に対する、データ資
源におけるDBMSのアクセスの権利を表すロックであ
るLPロックのリクエストを、局所ロックマネージャか
ら大域ロックマネージャに送信するステップと、 リクエストされた前記いづれかのタイプのロックをリス
トに加えるステップと、 大域ロックマネージャからLPロックの許可を受信する
場合、リクエストされた前記いづれかのタイプのロック
を局所ロックマネージャによって許可するステップと、 大域ロックマネジャーによって許可されるLPロックの
リストを大域ロックマネジャーにおいて維持するステッ
プと、 大域ロックマネジャーにおいて (1)要求されたLPロックがリストにない場合に、そ
れを許可するステップと、 (2)リストは第2のDBMSによって所有されるLP
ロックを含み、リストされたLPロックが要求されたL
Pロックとデータ資源の共有使用が可能である場合に、
要求されたLPロックを許可するステップと、 (3)リストは第2のDBMSによって所有されるLP
ロックを含み、リストされたLPロックが要求されたL
Pロックとデータ資源の共有使用が不可能である場合
に、リストされたLPロックが第2のDBMSによって
解除された後で、要求されたLPロックを許可するステ
ップと、 (4)要求されたLPロックをリスト化するステップ
と、 を含むシステム間のデータロック管理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71550591A | 1991-06-14 | 1991-06-14 | |
US715505 | 1996-09-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05134915A JPH05134915A (ja) | 1993-06-01 |
JP2533266B2 true JP2533266B2 (ja) | 1996-09-11 |
Family
ID=24874303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4121588A Expired - Lifetime JP2533266B2 (ja) | 1991-06-14 | 1992-05-14 | 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5551046A (ja) |
EP (1) | EP0518639A3 (ja) |
JP (1) | JP2533266B2 (ja) |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943495A (en) * | 1993-10-20 | 1999-08-24 | Mci Communication Corp. | Copy utility method and apparatus for non-stop database applications |
US5454108A (en) * | 1994-01-26 | 1995-09-26 | International Business Machines Corporation | Distributed lock manager using a passive, state-full control-server |
DE69504965T2 (de) * | 1994-04-21 | 1999-04-01 | British Telecommunications P.L.C., London | Datenspeicherung |
JP3516362B2 (ja) * | 1995-03-01 | 2004-04-05 | 富士通株式会社 | 共有データ処理装置及び共有データ処理システム |
US5813010A (en) * | 1995-04-14 | 1998-09-22 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
US6009433A (en) * | 1995-04-14 | 1999-12-28 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
US5682507A (en) * | 1995-06-07 | 1997-10-28 | Tandem Computers, Incorporated | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records |
US5630133A (en) * | 1995-06-07 | 1997-05-13 | Tandem Computers, Incorporated | Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment |
US5790868A (en) * | 1995-06-07 | 1998-08-04 | Tandem Computers, Inc. | Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment |
JP3778593B2 (ja) * | 1995-06-23 | 2006-05-24 | 富士通株式会社 | システム資源管理装置および管理方法 |
KR0152714B1 (ko) * | 1995-12-06 | 1998-10-15 | 양승택 | 다중 사용자 환경의 저장시스템에서 버퍼 잠금기법을 이용한 버퍼 관리방법 |
US5850507A (en) | 1996-03-19 | 1998-12-15 | Oracle Corporation | Method and apparatus for improved transaction recovery |
US7415466B2 (en) * | 1996-03-19 | 2008-08-19 | Oracle International Corporation | Parallel transaction recovery |
US6647510B1 (en) * | 1996-03-19 | 2003-11-11 | Oracle International Corporation | Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction |
US6574654B1 (en) | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
US5920872A (en) * | 1996-06-25 | 1999-07-06 | Oracle Corporation | Resource management using resource domains |
US5899993A (en) * | 1996-08-07 | 1999-05-04 | Oracle Corporation | Method and apparatus for achieving an enforced and valid constraint state |
US6009425A (en) * | 1996-08-21 | 1999-12-28 | International Business Machines Corporation | System and method for performing record deletions using index scans |
US5802582A (en) * | 1996-09-10 | 1998-09-01 | International Business Machines Corporation | Explicit coherence using split-phase controls |
US5805900A (en) * | 1996-09-26 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for serializing resource access requests in a multisystem complex |
US6041384A (en) * | 1997-05-30 | 2000-03-21 | Oracle Corporation | Method for managing shared resources in a multiprocessing computer system |
US5913213A (en) * | 1997-06-16 | 1999-06-15 | Telefonaktiebolaget L M Ericsson | Lingering locks for replicated data objects |
US5892919A (en) * | 1997-06-23 | 1999-04-06 | Sun Microsystems, Inc. | Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs |
US6145006A (en) * | 1997-06-25 | 2000-11-07 | Emc Corporation | Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem |
US6105026A (en) | 1997-07-03 | 2000-08-15 | Oracle Corporation | Multi-phase locking for partition maintenance operations |
US6032216A (en) * | 1997-07-11 | 2000-02-29 | International Business Machines Corporation | Parallel file system with method using tokens for locking modes |
US5987477A (en) * | 1997-07-11 | 1999-11-16 | International Business Machines Corporation | Parallel file system and method for parallel write sharing |
US7447712B2 (en) | 1997-09-28 | 2008-11-04 | Global 360, Inc. | Structured workfolder |
US6240414B1 (en) | 1997-09-28 | 2001-05-29 | Eisolutions, Inc. | Method of resolving data conflicts in a shared data environment |
US6112281A (en) * | 1997-10-07 | 2000-08-29 | Oracle Corporation | I/O forwarding in a cache coherent shared disk computer system |
US5940828A (en) * | 1997-11-18 | 1999-08-17 | International Business Machines Corporation | Locking contention resolution for shared resources |
US5983225A (en) * | 1998-01-26 | 1999-11-09 | Telenor As | Parameterized lock management system and method for conditional conflict serializability of transactions |
US7930278B2 (en) * | 1998-02-13 | 2011-04-19 | Oracle International Corporation | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US7200623B2 (en) | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US6144983A (en) * | 1998-06-09 | 2000-11-07 | Oracle Corporation | Method and apparatus for dynamic lock granularity escalation and de-escalation in a computer system |
US6334134B1 (en) | 1998-08-18 | 2001-12-25 | International Business Machines Corporation | Insert performance on a multi-system transaction environment |
KR100420254B1 (ko) * | 1998-09-03 | 2004-05-31 | 엘지전자 주식회사 | 데이터베이스관리방법 |
US6295610B1 (en) | 1998-09-17 | 2001-09-25 | Oracle Corporation | Recovering resources in parallel |
GB2342198B (en) | 1998-10-02 | 2003-10-22 | Ibm | Composite locking of objects in a database |
US6363396B1 (en) | 1998-12-21 | 2002-03-26 | Oracle Corporation | Object hashing with incremental changes |
US6625601B1 (en) * | 1999-01-07 | 2003-09-23 | Compaq Information Technologies Group, L.P. | Escrow-locking multithreaded process-pair resource manager dictionary |
US6751617B1 (en) | 1999-07-12 | 2004-06-15 | Xymphonic Systems As | Method, system, and data structures for implementing nested databases |
US6865549B1 (en) * | 1999-11-15 | 2005-03-08 | Sun Microsystems, Inc. | Method and apparatus for concurrency control in a policy-based management system |
US6615231B1 (en) * | 1999-12-15 | 2003-09-02 | Microsoft Corporation | System and method for directing requests to specific processing |
US6829680B1 (en) * | 2000-01-05 | 2004-12-07 | Sun Microsystems, Inc. | Method for employing a page prefetch cache for database applications |
US6920454B1 (en) | 2000-01-28 | 2005-07-19 | Oracle International Corporation | Techniques for DLM optimization with transferring lock information |
US6751616B1 (en) | 2000-01-28 | 2004-06-15 | Oracle International Corp. | Techniques for DLM optimization with re-mapping responsibility for lock management |
US6529906B1 (en) | 2000-01-28 | 2003-03-04 | Oracle Corporation | Techniques for DLM optimization with re-mastering events |
US7246120B2 (en) | 2000-01-28 | 2007-07-17 | Oracle International Corporation | Techniques for achieving higher availability of resources during reconfiguration of a cluster |
US6571276B1 (en) * | 2000-02-23 | 2003-05-27 | International Business Machines Corporation | System for managing asset access in a distributed storage system |
US6917942B1 (en) | 2000-03-15 | 2005-07-12 | International Business Machines Corporation | System for dynamically evaluating locks in a distributed data storage system |
AU2001272863B2 (en) * | 2000-07-28 | 2004-11-18 | Xymphonic Systems As | Method, system and data structures for implementing nested databases |
US6704767B1 (en) * | 2000-09-26 | 2004-03-09 | Oracle International Corporation | Using distributed information about lock conversion requests to efficiently manage lock state transitions |
US6609126B1 (en) * | 2000-11-15 | 2003-08-19 | Appfluent Technology, Inc. | System and method for routing database requests to a database and a cache |
US6965893B1 (en) * | 2000-12-20 | 2005-11-15 | Oracle International Corporation | Techniques for granting shared locks more efficiently |
US7389293B2 (en) * | 2000-12-20 | 2008-06-17 | Oracle International Corporation | Remastering for asymmetric clusters in high-load scenarios |
US7328263B1 (en) * | 2001-01-30 | 2008-02-05 | Cisco Technology, Inc. | Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach |
WO2002069172A1 (en) * | 2001-02-22 | 2002-09-06 | Didera, Inc. | Systems and methods for managing distributed database resources |
US7107319B2 (en) * | 2001-05-31 | 2006-09-12 | Oracle Corporation | Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system |
EP1415425B1 (en) * | 2001-07-06 | 2019-06-26 | CA, Inc. | Systems and methods of information backup |
US6810464B1 (en) * | 2001-08-09 | 2004-10-26 | Unisys Corporation | Multiprocessor computer system for processing communal locks employing mid-level caches |
WO2004068277A2 (en) * | 2002-01-18 | 2004-08-12 | Idetic, Inc. | Method and system of performing transactions using shared resources and different applications |
US8086579B1 (en) | 2002-01-22 | 2011-12-27 | Oracle International Corporation | Semantic response to lock requests to reduce coherence overhead in multi-node systems |
US7093230B2 (en) * | 2002-07-24 | 2006-08-15 | Sun Microsystems, Inc. | Lock management thread pools for distributed data systems |
US7565406B2 (en) * | 2002-07-24 | 2009-07-21 | Sun Microsystems, Inc. | Last thread lock management for multi-threaded process and distributed data systems |
US8095657B2 (en) * | 2002-07-24 | 2012-01-10 | Oracle America, Inc. | First thread lock management for distributed data systems |
US20040019660A1 (en) * | 2002-07-24 | 2004-01-29 | Sandhya E. | Lock holding multi-threaded processes for distibuted data systems |
DE10256148A1 (de) * | 2002-11-29 | 2004-06-17 | Basf Ag | Gegenstand der vorliegenden Erfindung sind Zusammensetzungen enthaltend mindestens ein Copolymer (A) und mindestens ein Copolymer (B) sowie deren Verwendung in kosmetischen Zubereitungen |
US6986010B2 (en) * | 2002-12-13 | 2006-01-10 | Intel Corporation | Cache lock mechanism with speculative allocation |
KR100507781B1 (ko) * | 2002-12-24 | 2005-08-17 | 한국전자통신연구원 | 공유 디스크 기반 다중 데이터베이스 관리시스템에서 검출및 회피 기반 일관성 유지 정책을 동시에 지원하는 버퍼장착방법 |
US7337290B2 (en) * | 2003-04-03 | 2008-02-26 | Oracle International Corporation | Deadlock resolution through lock requeing |
CA2425033A1 (en) * | 2003-04-08 | 2004-10-08 | Ibm Canada Limited - Ibm Canada Limitee | Multi-level locking hierarchy in a database with multi-dimensional clustering |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US7376744B2 (en) * | 2003-05-09 | 2008-05-20 | Oracle International Corporation | Using local locks for global synchronization in multi-node systems |
US7660829B2 (en) * | 2003-05-30 | 2010-02-09 | Microsoft Corporation | System and method for delegating file system operations |
US7392265B2 (en) * | 2003-12-02 | 2008-06-24 | Sap Ag | Updating data in a multi-system network that utilizes asynchronous message transfer |
US7383289B2 (en) * | 2003-12-02 | 2008-06-03 | Sap Aktiengesellschaft | Updating and maintaining data in a multi-system network using asynchronous message transfer |
US7574438B2 (en) * | 2003-12-03 | 2009-08-11 | Sap Aktiengesellschaft | Database access with multilevel lock |
US7272609B1 (en) * | 2004-01-12 | 2007-09-18 | Hyperion Solutions Corporation | In a distributed hierarchical cache, using a dependency to determine if a version of the first member stored in a database matches the version of the first member returned |
US7379952B2 (en) * | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
EP1566744A1 (en) * | 2004-02-19 | 2005-08-24 | Sap Ag | Optimising lock granularity using range locking |
US7627573B2 (en) * | 2004-03-27 | 2009-12-01 | Cisco Technology, Inc. | Bypassing native storage operations by communicating protected data within locking messages using a lock manager independent of the storage mechanism |
US7096325B2 (en) * | 2004-03-29 | 2006-08-22 | Hitachi, Ltd. | Method and apparatus for multistage volume locking |
US7983693B2 (en) * | 2004-03-30 | 2011-07-19 | Siemens Enterprise Communications, Inc. | Presence based system providing identity context reminders |
US20060004806A1 (en) * | 2004-06-01 | 2006-01-05 | Kraft Frank M | Updating data in a multi-system network that utilizes asynchronous message transfer |
WO2006004196A1 (ja) * | 2004-07-02 | 2006-01-12 | Nec Corporation | マルチプロセッサシステムおよびメモリアクセス処理方法 |
US20060020634A1 (en) * | 2004-07-20 | 2006-01-26 | International Business Machines Corporation | Method, system and program for recording changes made to a database |
US20060106996A1 (en) * | 2004-11-15 | 2006-05-18 | Ahmad Said A | Updating data shared among systems |
EP1684194A1 (en) * | 2005-01-25 | 2006-07-26 | Sap Ag | A central lock service for database applications |
US8386449B2 (en) * | 2005-01-27 | 2013-02-26 | International Business Machines Corporation | Customer statistics based on database lock use |
US7551617B2 (en) | 2005-02-08 | 2009-06-23 | Cisco Technology, Inc. | Multi-threaded packet processing architecture with global packet memory, packet recirculation, and coprocessor |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US8225327B2 (en) * | 2005-09-15 | 2012-07-17 | International Business Machines Corporation | Synchronizing access to a shared resource utilizing selective locking |
US7739426B1 (en) | 2005-10-31 | 2010-06-15 | Cisco Technology, Inc. | Descriptor transfer logic |
US8990153B2 (en) * | 2006-02-07 | 2015-03-24 | Dot Hill Systems Corporation | Pull data replication model |
US7783850B2 (en) * | 2006-03-28 | 2010-08-24 | Dot Hill Systems Corporation | Method and apparatus for master volume access during volume copy |
US8117616B2 (en) * | 2007-01-09 | 2012-02-14 | International Business Machines Corporation | Preventing deadlocks |
US7831565B2 (en) * | 2007-01-18 | 2010-11-09 | Dot Hill Systems Corporation | Deletion of rollback snapshot partition |
US8751467B2 (en) * | 2007-01-18 | 2014-06-10 | Dot Hill Systems Corporation | Method and apparatus for quickly accessing backing store metadata |
US7975115B2 (en) * | 2007-04-11 | 2011-07-05 | Dot Hill Systems Corporation | Method and apparatus for separating snapshot preserved and write data |
US7716183B2 (en) * | 2007-04-11 | 2010-05-11 | Dot Hill Systems Corporation | Snapshot preserved data cloning |
US7783603B2 (en) * | 2007-05-10 | 2010-08-24 | Dot Hill Systems Corporation | Backing store re-initialization method and apparatus |
US8001345B2 (en) * | 2007-05-10 | 2011-08-16 | Dot Hill Systems Corporation | Automatic triggering of backing store re-initialization |
US8204858B2 (en) * | 2007-06-25 | 2012-06-19 | Dot Hill Systems Corporation | Snapshot reset method and apparatus |
US20090006402A1 (en) * | 2007-06-28 | 2009-01-01 | Holger Bohle | Methods and systems for the dynamic selection of a locking strategy |
US7673086B2 (en) * | 2007-08-17 | 2010-03-02 | International Business Machines Corporation | Retrieving lock attention data using an attention connection path selected from a group of attention connection paths associated with a host |
US8510334B2 (en) | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
US8666958B2 (en) * | 2009-11-27 | 2014-03-04 | International Business Machines Corporation | Approaches to reducing lock communications in a shared disk database |
US8046633B2 (en) * | 2009-12-10 | 2011-10-25 | International Business Machines Corporation | Improving data availability during failure detection and recovery processing in a shared resource system |
US8266126B2 (en) * | 2010-03-24 | 2012-09-11 | Matrixx Software, Inc. | System with multiple conditional commit databases |
US8868748B2 (en) * | 2010-10-11 | 2014-10-21 | International Business Machines Corporation | Two-level management of locks on shared resources |
US9189511B2 (en) * | 2011-09-07 | 2015-11-17 | Unisys Corporation | Free resources parameter for improving performance of database alterations |
CN103064898B (zh) * | 2012-12-17 | 2016-12-28 | 华为技术有限公司 | 事务加锁、解锁方法及装置 |
US9887937B2 (en) * | 2014-07-15 | 2018-02-06 | Cohesity, Inc. | Distributed fair allocation of shared resources to constituents of a cluster |
US9933947B1 (en) * | 2015-12-30 | 2018-04-03 | EMC IP Holding Company LLC | Maintaining write consistency on distributed multiple page writes |
US10769128B2 (en) | 2017-01-31 | 2020-09-08 | Salesforce.Com, Inc. | Delegated key-level locking for a transactional multi-version key-value store |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US10831719B2 (en) * | 2017-08-29 | 2020-11-10 | Western Digital Technologies, Inc. | File consistency in shared storage using partial-edit files |
US11153315B2 (en) | 2019-05-30 | 2021-10-19 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11165777B2 (en) | 2019-05-30 | 2021-11-02 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11138328B2 (en) | 2019-05-30 | 2021-10-05 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
US11863623B2 (en) * | 2020-09-11 | 2024-01-02 | Western Digital Technologies, Inc. | Variable QoS management of multiple data streams |
US11880350B2 (en) * | 2021-06-08 | 2024-01-23 | International Business Machines Corporation | Identifying resource lock ownership across a clustered computing environment |
US11789838B2 (en) * | 2022-01-31 | 2023-10-17 | Microstrategy Incorporated | Systems and methods for server crash prevention |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
US4698752A (en) * | 1982-11-15 | 1987-10-06 | American Telephone And Telegraph Company At&T Bell Laboratories | Data base locking |
US4727485A (en) * | 1986-01-02 | 1988-02-23 | Motorola, Inc. | Paged memory management unit which locks translators in translation cache if lock specified in translation table |
US4716528A (en) * | 1986-02-03 | 1987-12-29 | International Business Machines Corporation | Method for managing lock escalation in a multiprocessing, multiprogramming environment |
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US4965719A (en) * | 1988-02-16 | 1990-10-23 | International Business Machines Corporation | Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system |
WO1991003024A1 (en) * | 1989-08-14 | 1991-03-07 | Microsoft Corporation | Method and system for opportunistic locking in a networked computer system |
US5191652A (en) * | 1989-11-10 | 1993-03-02 | International Business Machines Corporation | Method and apparatus for exploiting communications bandwidth as for providing shared memory |
US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
US5301290A (en) * | 1990-03-14 | 1994-04-05 | International Business Machines Corporation | Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store |
US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
US5276835A (en) * | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
US5237694A (en) * | 1991-05-30 | 1993-08-17 | Advanced Micro Devices, Inc. | Processing system and method including lock buffer for controlling exclusive critical problem accesses by each processor |
US5256218A (en) * | 1991-10-03 | 1993-10-26 | Rockwell International Corporation | Forming of intermetallic materials with conventional sheet metal equipment |
-
1992
- 1992-05-14 JP JP4121588A patent/JP2533266B2/ja not_active Expired - Lifetime
- 1992-06-10 EP EP19920305320 patent/EP0518639A3/en not_active Withdrawn
-
1994
- 1994-07-07 US US08/271,533 patent/US5551046A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0518639A3 (en) | 1993-08-18 |
JPH05134915A (ja) | 1993-06-01 |
EP0518639A2 (en) | 1992-12-16 |
US5551046A (en) | 1996-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2533266B2 (ja) | 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法 | |
US6385701B1 (en) | Method, system and program products for sharing data between varied clients using token management | |
US6412034B1 (en) | Transaction-based locking approach | |
US6240413B1 (en) | Fine-grained consistency mechanism for optimistic concurrency control using lock groups | |
US5946711A (en) | System for locking data in a shared cache | |
US7600063B2 (en) | Techniques for improved read-write concurrency | |
US6687709B2 (en) | Apparatus for database record locking and method therefor | |
US8224977B2 (en) | Using local locks for global synchronization in multi-node systems | |
US7325064B2 (en) | Distributed locking protocol with asynchronous token prefetch and relinquish | |
JP2505939B2 (ja) | デ―タのキャストアウトを制御する方法 | |
US5355477A (en) | Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning | |
US6601070B2 (en) | Distribution of physical file systems | |
EP0965919A2 (en) | A probabilistic queue lock | |
JPH1165863A (ja) | 共有資源管理方法 | |
JPH05127995A (ja) | ローカルキヤツシユに共通のページ間の一貫性を確保する方法 | |
US5999976A (en) | Parallel file system and method with byte range API locking | |
JPH04268649A (ja) | メモリへのデータブロックのエントリを制御する方法 | |
JPH10301834A (ja) | 共用メモリの管理方法 | |
JP2002503846A (ja) | あるノードのキャッシュから別のノードのキャッシュへデータを転送するための方法および装置 | |
US6529933B1 (en) | Method and apparatus for locking and unlocking a semaphore | |
JP3093609B2 (ja) | キャッシュメモリの記憶一致制御装置及び方法 | |
JP3320320B2 (ja) | 多重使用者環境の貯蔵システムにおいて、バッファーロック技法を用いたバッファー管理方法 | |
KR100314879B1 (ko) | 주기억장치데이터베이스관리시스템을위한락관리방법 | |
US7013463B2 (en) | Latch mechanism for concurrent computing environments | |
JPH1049420A (ja) | データベース管理方法 |