JPH05134915A - 共用データシステムにおけるデータ資源のロツキング方法及びシステム間のデータロツク管理方法 - Google Patents

共用データシステムにおけるデータ資源のロツキング方法及びシステム間のデータロツク管理方法

Info

Publication number
JPH05134915A
JPH05134915A JP4121588A JP12158892A JPH05134915A JP H05134915 A JPH05134915 A JP H05134915A JP 4121588 A JP4121588 A JP 4121588A JP 12158892 A JP12158892 A JP 12158892A JP H05134915 A JPH05134915 A JP H05134915A
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.)
Granted
Application number
JP4121588A
Other languages
English (en)
Other versions
JP2533266B2 (ja
Inventor
Chandrasekaran Mohan
モハン チヤンドラセカラン
Inderpal S Narang
エス. ナラング インデルパル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05134915A publication Critical patent/JPH05134915A/ja
Application granted granted Critical
Publication of JP2533266B2 publication Critical patent/JP2533266B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program 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)

Abstract

(57)【要約】 【目的】 多数のデータベース管理システムが共通デー
タ資源にアクセスする環境においてデータ資源ロックの
取得且つ解除に必要な局部ならびに大域ロックマネジャ
ーの間のメッセージトラフィックを減少する。 【構成】 各データベース管理システム36、37に含
まれる局部ロックマネジャー38、39は、データ資源
上にトランザクション利益を表示するLロックのリクエ
ストを受信、処理且つ許可し、データベース管理システ
ムに対するデータ資源のキャッシュを表示するPロック
のリクエストを受信、処理且つ許可する。局部ロックマ
ネジャーは任意の型のロックのリクエストに応答して、
システムレベルロックのリクエストを大域ロックマネジ
ャー48に伝送し、大域ロックマネジャーにより要求さ
れたLPロックの許可を受信すると同時に、そのデータ
資源上にLロック又はPロックを局部的に許可すること
ができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共用データ資源への多
数のシステムのアクセスを直列化する非階層ロックの管
理に関する。
【0002】
【従来の技術】アメリカ特許第4、965、719号に
おいて、複数の並列システムの共用データ資源へのアク
セスを直列化する階層ロッキング方式が示されている。
トランザクションがデータ資源そのものにおいてロック
を取得するためのデータ資源親においてロックを取得す
ることを必要とするロック階層が提案されている。階層
構造は、例えば、ロックがデータページのレコード上で
取得され得る前にそのデータページで取得されることを
必要とする。
【0003】トランザクションは、データベース管理シ
ステム(以下、DBMSと称す)を介したデータ資源へ
のアクセスを取得する。上記アメリカ特許のDBMS
は、トランザクションマネジャー、バッファマネジャー
及び資源ロックマネジャーを含む。同アメリカ特許で
は、トランザクション−レベルのレコードロックが取得
され得る前に、DBMSのバッファマネジャーによって
システム間ページロックが取得される必要がある。この
多重DBMSシステムにおいて、共用直接アクセス記憶
装置(以下、DASDと称す)からバッファリングされ
るページのコヒーレンシー(一貫性)を保証するため
に、関連マネジャーはページに対するバッファマネジャ
ーからの競合リクエストを伝達する。
【0004】従来技術システムにおいて、レコード又は
ページに対する第1のトランザクションレベルのリクエ
ストは、局部バッファマネジャーが関連マネジャーによ
ってページ上にロックを要求且つ付与するまで、そのト
ランザクションの中断を必要とする。これは図1におい
てより明確に示される。
【0005】図1において、データ資源(ページ等)を
求める第1のトランザクションリクエスト10がDBM
Sによって受け取られると、そのページについてのバッ
ファマネジャーに対するリクエストはページがバッファ
プールに存在しないことを示し、さらにバッファマネジ
ャーに対して関連マネジャーからページ上にロック12
を要求且つ取得することを必要とする。一方では、バッ
ファマネジャーがロックを受け取り、ページをバッファ
プールに読み入れるまでそのトランザクションは中断さ
れる。さらに、ページ上のロックとページ上の目的に対
する第1ならびにその次のトランザクションリクエスト
は、14で処理される。ロックが受け取られると、トラ
ンザクションは16でそのページの構成要素(例えば、
レコード)を処理する。トランザクション処理が終了す
ると、トランザクションロックは18で解除されて、バ
ッファロックは20で解除される。このように、従来技
術の多重システム環境のロック階層では、データ資源が
トランザクション処理用にバッファされる必要があるす
べての場合においてステップ12がステップ14に先行
することが必要とされる。
【0006】多重DBMS環境におけるシステム間ロッ
キングのための従来技術方法はロッキングモードを認識
する。上述のアメリカ特許では、このモードは「アップ
デート(更新)」及び「シェア(共用)」と称される。
より最近のデータベース管理システムは2個以上の可能
値を有するロック法カテゴリーを認識する。例えば、本
願の譲受人から入手可能なDB2システムにおいて、ロ
ックの可能なモードは以下の通りである。
【0007】 X(専有) U S(共用) N(ヌル:ロックが保持されていないことを表わす)
【0008】ロックモードの構造化は、X>U>S>ヌ
ルとされる絶対値微分法を示す。データ資源コンテキス
トでは、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ロックを局部的に付与する
ことができる。
【0012】特に、本発明の方法は、1個又はそれ以上
の数のデータ記憶装置と大域ロックマネジャーとに接続
される多数のデータベース管理システムを含む共用デー
タシステムにおいてデータ資源をロックすることであ
り、その大域ロックマネジャーはロックを求めるリクエ
ストを受け取り、且つ許可するものである。共用データ
システムにおいて、各データベース管理システムに含ま
れる局部ロックマネジャーは、データ資源においてトラ
ンザクション利益を表示するLロックを求めるリクエス
トを受け取り、処理し、さらに許可するとともに、デー
タベース管理システムに対するデータ資源のキャッシュ
を表示する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)局部ロックマネジャーは大域ロックマネジ
ャーと通信することなく次のリクエストを許可する。
【0014】
【実施例】本発明は、データベース管理システム(DB
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を含む。
【0016】各ディジタルコンピュータシステム30、
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とインタフェースしている。
【0018】データベース管理システムは、本願の譲受
人から入手可能なDB2又はIMS/VSシステム等の
利用可能な製品を含むことがある。DBMS36と37
がデータベース回復制御等の他の機能を含むことを仮定
する。さらに、図2に示された構成要素の何れかにおけ
る異常及び故障状態が検出されて、既知の方法によって
報告又は修正されることを仮定する。
【0019】図2では、2個のディジタルコンピュータ
システム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等の他のキャッシュから抽出される
可能性もある。
【0021】ページがキャッシュされるべきいかなる場
合にも、キャッシュマネジャー38、39はロックリク
エストをその個々の局部ロックマネジャー46、47に
提示し、そのロックはPロックと呼ばれる。キャッシュ
マネジャー38、39がデータ資源をキャッシュする目
的を認識し、従って、その目的を達成するために必要と
されるモードを整合するためにそのロックリクエストに
モードを設定することが表明される。例えば、トランザ
クションがそのページを更新する目的によりページPへ
のアクセスを要求した場合に、また、該ページがキャッ
シュ40に導入される必要がある場合に、キャッシュマ
ネジャー38はXモードへPロックリクエストを提示す
る。さらに、キャッシュマネジャー38、39が、ペー
ジのキャッシュ内への導入を要求することによって、そ
の要求されたページとともに導入されているページ数
(多分、連続的)が制限される結果になる先取り戦略を
用いることを仮定する。すべての先取りされたページご
とに、個々のPロックは要求されたページに必要なPロ
ックのモードで要求されることになる。
【0022】本発明では、データベースシステムの設計
者によって、複数のロックモードが割当て絶対値によっ
てオーダされ得るロックモード絶対値関係が選択される
ことを仮定する。本発明で述べられるロックモードを使
用して、絶対値関係がX>S>ヌルであることが提案さ
れている。ロックモード間の絶対値関係は、ロックが関
係のあるデータ目的に基づく階層へのロックの構造化に
対応するものではない。むしろ、ロックモードの絶対値
と、表示された資源のモードにおいて実行されるべき動
作との間に一致が見られる。
【0023】局部ロックマネジャーがL又はPのいずれ
かのロックリクエストを受信する場合、要求されたロッ
クがシステムレベルのLPロックの取得又は修正を必要
とするのであれば、局部ロックマネジャーは大域ロック
マネジャー48と通信を行なうこともできる。この場
合、例えば、局部ロックマネジャー46はデータ経路5
2、53、48上で大域ロックマネジャーと通信するこ
とになる。データ経路は、例えば、IBM3088多重
システムチャネル通信ユニットのようなインタフェース
中のチャネル通信ユニット(図示せず)を含むこともあ
る。
【0024】図2の環境には、自身所有の汎用ディジタ
ルコンピュータにおいて実行する単一の大域ロックマネ
ジャー(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を求めるリクエストを進めているシステ
ムは、リクエスティングシステム・フィールドに固定さ
れるキューに設置される。
【0026】局部ロックマネジャーテーブル80、81
は、局部トランザクション及びキャッシュ利益目的につ
いて許可されるすべてのロックをネームによってリスト
する。例えば、局部ロックマネジャーテーブル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ロックの合
成モードを示す。
【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)のそれよりもっと新しいデータ目的のバージョン
を含んでいるシステムを使用して他のポテンシャルに信
号を送るためのある手段を要求している。
【0032】図2に示されるような共用データを備えた
多重システムの主要且つ優先的スラスト(推力)は、ト
ランザクションロッキングならびにキャッシュコーヒレ
ンシーについての大域ロックマネジャーに対するメッセ
ージとなるロックならびにアンロックコールの数を減少
することである。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ロックよ
りも前に取得されるものであって、そのページがもはや
キャッシュされていないことを仮定する。
【0035】Lロック トランザクションは論理(L)ロックを介してデータ資
源のオーナーシップを取得する。以下では、データ資源
がデータベースのページであることを仮定する。しかし
ながら、本発明者らによると、トランザクション利益は
他のデータベース目的に表現され得ることが想定され
る。ロックを要求する際に、トランザクションは、ロッ
ク名としてロック中のページの名称と、トランザクショ
ンに関してはLロックであるロック型と、想定された操
作を実行するのに必要なモードと、要求されたロックを
所有するトランザクション又はプロセスの識別と、を提
供する。以下の説明において、トランザクションがペー
ジを読み取るための共用(S)モード又はページを更新
するための専有(X)モードのどちらかいずれのモード
のLロックを取得することを仮定する。これは説明の簡
略によるためのものであり、本発明のプラクティスをデ
ュアルモードのロッキング方式に限定するためのもので
はない。SならびにXモードロックの互換規則は以下の
通りである。ロックがSモードで保持されて、Sモード
が次に別のトランザクションによって要求される場合、
次のリクエストは互換性があり、一方、Sモードが要求
されて、Xモードロックが保持される場合、次のリクエ
ストには互換性がなく、要求中のトランザクションは、
ホルダがそのロックを放棄又はダウングレード(ランク
下げ)することによってデータ資源をアンロックするま
で待機状態に置かれる。ロックが保持されると、保持さ
れたロックのモードがいかなるものであっても、Xモー
ドロックを求める次のリクエストは非互換性であると考
えられる。
【0036】ロックモードの互換性は、ロックが要求さ
れているデータ資源上に保持されるロックのロックモー
ドから局部ロックマネジャーによって引き出されるモー
ド値である上述の合成ロックモードの概念と対照をなす
ものである。特に、トランザクションがすでにDBMS
に保持されているデータ資源上にロックを許可するよう
にDBMSに要求し、その要求されたモードが合成ロッ
クモードよりも低いか、又は等しいものである場合、局
部ロックマネジャーはロックを局部的に許可することに
よって大域ロックマネジャーへのロックコールをセーブ
することが可能である。これは、大域ロックマネジャー
が既にそのロックについて「詳しく知っている」という
理由によるものである。この点については、トランザク
ションがすでにLロックに保持されているデータ資源上
にSモードロックを要求する場合、局部ロックマネジャ
ーは、Sを越える絶対値を有する保持ロックがなければ
保持ロックの合成モードをSとして計算する。Xモード
ロックが保持されると、合成ロックモードはXであると
考えられる。
【0037】Pロック ページをキャッシュするDBMSのキャッシュマネジャ
ーは、Pロックを介してページのキャッシュ・オーナー
シップを取得する。オーナーシップの目的が異なってい
るために、PロックはLロックとは異なる型のロックで
あることが観察される。例えば、システムの専有モード
で要求されるPロックは同システムの同一データ資源に
ついてのLロックと競合するものではない。Pロックは
システム間のキャッシュコーヒレンシーを確証するため
に取得され、Lロックは資源へのトランザクションアク
セスのシステム内及びシステム間分離ならびに直列化に
対して取得される。本発明では、LならびにPロック間
の区別は局部ロックマネジャーレベルでのみ維持され、
大域ロックマネジャーはこの区別を感知するものではな
い。
【0038】Pロックリクエストを局部ロックマネジャ
ーに提供する際に、キャッシュマネジャーは、ロックネ
ームを同一ページに対するLロックネームとは異なるも
のにするロックネーム拡張とともにあるページのロック
ネームと、ロックタイプと、ロックモードと、このシス
テムについてのキャッシュ−マネジャー−識別と、を特
定する。キャッシュマネジャーは、DBMSについてキ
ャッシュ内にページをキャッシュする前にそのページに
ついてのPロックを取得しなければならない。ページが
キャッシュされている間は、Pロックが保持されている
ということは、異なるトランザクションが既にシステム
にあるページを使用する際にPロックを取得するオーバ
ーヘッドOFの埋め合わせをしないことを意味する。キ
ャッシュマネジャーは、ページを読み出すべき時には共
用モードで、またページを更新すべき時には専有モード
でPロックを取得する。Pロックについての互換規則は
Lロックのそれと同一であるが、DBMSの間でのみ適
用するという唯一の区別があり、任意のDBMSのキャ
ッシュマネジャーによって所有される1個のPロックの
みが存在する。
【0039】従来技術システムにおけるノー・フォース
・アット・コミットのためのコーヒレンシー・プロトコ
キャッシュ又はバッファ利益ロックは一般に、多数のD
BMSが個々のキャッシュを有し、これらDBMSがそ
れぞれノー・フォース・アット・コミット・ポリシーを
使用している図2に示されたようなシステム環境におい
て変化したページのコーヒレンシーを支持するために使
用される。この点について、キャッシュマネジャーはそ
のDBMSのページをキャッシュする時にはいつでもP
ロックを取得する。
【0040】従来技術の階層ロッキングシステムにおい
て、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環境において変化したページのコーヒレ
ンシーを維持する。
【0042】従って、従来技術の階層ロッキング方式を
使用することによって、データ資源上で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ロック
が要求される場合についても言える。
【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ロックを付与する。
【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ロックを許可す
る。
【0046】リクエスト100が受信されると、名前付
きデータ資源に対する別の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で許可される結果によるものである。
【0048】テスト136によって大域ロックマネジャ
ーからのメッセージが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ロックエントリーについてスキャンされる場合
において、キャッシュマネジャーがこのページをまだキ
ャッシュしていないことを仮定する。
【0050】名前付き資源に対して要求されるLロック
エントリーが存在しないことを仮定すると、否定出口は
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の許可される。
【0052】Pロックについて要求されたモードが22
0でテストされた合成モードよりも大きいこと、即ち、
要求されたロックモードを含む新しい合成モードが計算
されること、を仮定すると、局部ロックテーブルにおけ
るPロックエントリーのRESP・GLMフィールドは
224でマークされて、LPロックモードの更新が図5
のCにおいて開始実行される。LPロックの更新が完了
されると、PロックエントリーのRESP・GLMフィ
ールドはクリアされて、Pロックは215で許可され
る。
【0053】テスト202に戻って、現存するPロック
のモードを更新するためにPロックリクエスト200が
キャッシュマネジャーによって提示されることを仮定す
る。この場合に、肯定出口はテスト202から取り出さ
れて、論理は図5のAにおいて再入力される。
【0054】LPロッキングを有するコーヒレンシー 従来技術の階層ロッキング構造のPロックを使用してノ
ー・フォース・アット・コミット・ポリシーに関して上
述されたコーヒレンシー・プロトコルにおいて、Pロッ
クが多数のバッファの変化したページのコーヒレンシー
をどのように達成するかについて説明されてきた。一般
に、変化したページのシステム間コーヒレンシーはLP
ロックを介して同じ方法で維持される。しかしながら、
大域ロックマネジャーにおける単一のロックとしてLな
らびにPロックをページ上で取り扱う結果としてわずか
な相違が生じる。
【0055】最初に、LPロッキングを必要とせずに、
対応する非互換ロックリクエストが別のシステムから作
られる場合に、大域ロックマネジャーが任意のページに
ついてのLならびにPロックに対するロック競合を検出
することを要求される従来技術システムがある。LPロ
ッキングによって、大域ロックマネジャーは、非互換性
のL又はPロックリクエストが別のシステムの局部ロッ
クマネジャーに対して作られると、ページ上にロック競
合を検出することになる。受信中の局部ロックマネジャ
ーは、異なるシステムの同一ページについて大域ロック
マネジャーによって維持される現存するLPロックと競
合するモードを有するLPロックリクエストを送信する
ことがある。この場合、本発明者は大域ロックマネジャ
ーが、例えば、ロック競合メッセージをLPロックを所
有する局部ロックマネジャーに送信することによってロ
ック競合プロトコルを呼び出すことを意図する。
【0056】LPロッキングが実施されずに、大域ロッ
クマネジャーが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の局部ロックマネジャーはそのキャッシュマネ
ジャーのロック競合ルーチンを呼び出す。これによっ
て、キャッシュマネジャーのロック競合ルーチンが更新
をコミットしたページのバージョンのみを転送すること
が確証される。
【0058】局部ロックマネジャーがそのキャッシュマ
ネジャーのロック競合ルーチンを即座に呼び出す場合の
例について考える。最初に、システム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ロックとして知られ
る。局部ロックマネジャーはその他の関連するロックの
オーナーシップに基づいてロックを局部的に許可するこ
とができ、又は大域ロックマネジャーに維持される情報
が変化しないために、アンロックコールを抑制すること
ができる。
【0060】
【発明の効果】本発明は上記のように構成されているの
で、複数のデータベース管理システムが共通データ記憶
資源にアクセスする環境においてデータ資源ロックを取
得且つ解除するために必要な局部ロックマネジャーと大
域ロックマネジャーとの間のメッセージトラフィック
(通信量)を減少させることができる。
【図面の簡単な説明】
【図1】多重システム環境におけるデータ資源上でシス
テムレベルのロックを得るための従来技術手法を示す図
である。
【図2】本発明による操作について構成された典型的な
ディジタル計算機システムを表わすブロック図である。
【図3】本発明のための局部ロックマネジャーと大域ロ
ックマネジャーにおけるデータ構造を示す図である。
【図4】Lロックを求めるリクエストに応答して本発明
によって用いられる方法を表わす図である。
【図5】Pロックを求めるリクエストに応答して本発明
によって用いられる方法を表わす図である。
【符号の説明】
36 DBMS 37 DBMS 38 キャッシュマネジャー 39 キャッシュマネジャー 43 データベース 46 局部ロックマネジャー 47 局部ロックマネジャー 48 大域ロックマネジャー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 インデルパル エス. ナラング アメリカ合衆国95070、カリフオルニア州 サラトガ、セツラ オークス コート 13778

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 1個又は複数のデータ記憶装置と、ロッ
    クについてのリクエストを受信且つ許可する大域ロック
    マネジャーと、に接続される多数のデータベース管理シ
    ステム(DBMS)を含み、 各DBMSは、データ資源のトランザクション利益を表
    示する第1の型のロック(Lロック)とDBMSに関す
    るデータ資源のキャッシュを表示する第2の型のロック
    (Pロック)とについてのリクエストを受信し、処理
    し、及び許可するための局部ロックマネジャーを含む共
    用データシステムにおけるデータ資源のロッキング方法
    であって、 (a)DBMSにおいてキャッシュされていないデータ
    資源についてDBMS局部ロックマネジャーによって一
    方の型のロックについて第1のリクエストを受け取るこ
    とに応じて、データ資源のDBMS利益を表示するロッ
    ク(LPロック)のリクエストを大域ロックマネジャー
    に伝送する工程と、 (b)局部ロックマネジャーによって大域ロックマネジ
    ャーによるロックの許可を受け取ると同時に、第1のリ
    クエストを許可する工程と、 を含む共用データシステムにおけるデータ資源のロッキ
    ング方法。
  2. 【請求項2】 ロックは少なくともデータ資源の専有使
    用を示す第1のモード(Xモード)又はデータ資源の共
    有使用を示す第2のモード(Sモード)において許可さ
    れ、XモードはSモードよりも比較的大きな絶対値を有
    するとともに、 工程(a)は第1のリクエストがXモードを示す時には
    Xモードの、又は第1のリクエストがSモードを示す時
    にはSモードのリクエストとして、LPロックのリクエ
    ストを伝送することを含み、 工程(b)で受信された許可は第1のリクエストのモー
    ドにある、請求項1記載の方法であって、 (c)データ資源についての局部ロックマネジャーによ
    る任意の型のロックの次のリクエストを受信することに
    応答して、DBMSにおけるデータ資源上に保持される
    すべてのロックの合成モードを決定する工程であって、
    合成モードは保持ロックの最高モード絶対値である、決
    定工程と、 (d.1)次のリクエストが合成モードの絶対値よりも
    大きな値を有するモードを備えたロックについてのもの
    である場合に、次のリクエストのモードでデータ資源上
    のLPロックについての大域ロックマネジャーに対しリ
    クエストを伝送する工程と、 (d.2)局部ロックマネジャーによって、要求された
    モードのLPロックの許可を受け取ると同時に、次のリ
    クエストを許可する工程と、そうでない場合には、 (e)次のリクエストを許可する工程と、 をさらに含む請求項1記載の共用データシステムにおけ
    るデータ資源のロッキング方法。
  3. 【請求項3】 システムロックリクエストを処理するた
    めの大域ロックマネジャーと1個又は複数のデータベー
    ス記憶資源と、複数のデータベース管理システムと、を
    含み、各データベース管理システム(DBMS)は大域
    ロックマネジャーに結合される局部ロックマネジャー
    と、DBMSでデータ資源をキャッシュするためのデー
    タベース記憶資源に結合されるキャッシュマネジャー
    と、を含む組み合わせにおけるシステム間のデータロッ
    ク管理方法であって、 第1のDBMSにおいてDBMSの局部ロックマネジャ
    ーによって許可されるロックのリストを維持する工程で
    あって、これらロックはデータ資源のトランザクション
    利益を示す第1の型(Lロック)とデータ資源のキャッ
    シュ管理利益を示す第2の型(Pロック)と、を含み、
    リスト化されたロックはそれぞれ適用するデータ資源を
    名前付けする、ロックのリストの維持工程と、 局部ロックマネジャーによって、テーブル内の名前付け
    のないデータ資源について一方の型のロックのリクエス
    トの受信に応答して、データ資源のLPロックのリクエ
    ストを局部ロックマネジャーから大域ロックマネジャー
    に送信する工程と、リスト中に一方の型のロックを設置
    する工程と、 大域ロックマネジャーからのLPロックの許可を受け取
    ると同時に、局部ロックマネジャーによって要求された
    一方の型のロックを許可する工程と、 を含むシステム間のデータロック管理方法。
  4. 【請求項4】 大域ロックマネジャーによって許可され
    るLPロックのリストを大域ロックマネジャーにおいて
    維持する工程と、 大域ロックマネジャーにおいて、 (1)要求されたLPロックがリストにない場合に、そ
    れを許可する工程と、 (2)リストが第2のDBMSによって所有されるLP
    ロックを含み、リストされたLPロックが要求されたL
    Pロックと互換性をもつ場合に、要求されたLPロック
    を許可する工程と、(3)リストが第2のDBMSによ
    って所有されるLPロックを含み、リストされたLPロ
    ックが要求されたLPロックと互換性がない場合に、リ
    ストされるLPロックが第2のDBMSによって解除さ
    れた後で要求されたLPロックを許可する工程と、の内
    の一方の工程と、 (4)要求されたLPロックをリスト化する工程と、を
    さらに含む請求項3記載のシステム間のデータロック管
    理方法。
JP4121588A 1991-06-14 1992-05-14 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法 Expired - Lifetime JP2533266B2 (ja)

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 true JPH05134915A (ja) 1993-06-01
JP2533266B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179767A (ja) * 1995-12-06 1997-07-11 Electron & Telecommun Res Inst 多重使用者環境の貯蔵システムにおいて、バッファーロック技法を用いたバッファー管理方法
JP2004529443A (ja) * 2001-05-31 2004-09-24 オラクル・インターナショナル・コーポレイション マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少

Families Citing this family (123)

* Cited by examiner, † Cited by third party
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
NZ283425A (en) * 1994-04-21 1998-05-27 British Telecomm Computer system with common data files held at several nodes, update access allowed only to node holding unique update token, read access allowed to all files
JP3516362B2 (ja) * 1995-03-01 2004-04-05 富士通株式会社 共有データ処理装置及び共有データ処理システム
US6009433A (en) * 1995-04-14 1999-12-28 Kabushiki Kaisha Toshiba Information storage and information transmission media with parental control
US5813010A (en) * 1995-04-14 1998-09-22 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 富士通株式会社 システム資源管理装置および管理方法
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
US5987477A (en) * 1997-07-11 1999-11-16 International Business Machines Corporation Parallel file system and method for parallel write sharing
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US6240414B1 (en) 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US7447712B2 (en) 1997-09-28 2008-11-04 Global 360, Inc. Structured workfolder
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
US6529906B1 (en) 2000-01-28 2003-03-04 Oracle Corporation Techniques for DLM optimization with re-mastering events
US6751616B1 (en) 2000-01-28 2004-06-15 Oracle International Corp. Techniques for DLM optimization with re-mapping responsibility for lock management
US6920454B1 (en) 2000-01-28 2005-07-19 Oracle International Corporation Techniques for DLM optimization with transferring lock information
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
CN1539110A (zh) * 2000-07-28 2004-10-20 辛孚尼系统股份有限公司 嵌套数据库的实现方法、系统和数据结构
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
US7389293B2 (en) * 2000-12-20 2008-06-17 Oracle International Corporation Remastering for asymmetric clusters in high-load scenarios
US6965893B1 (en) * 2000-12-20 2005-11-15 Oracle International Corporation Techniques for granting shared locks more efficiently
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
WO2003005247A2 (en) * 2001-07-06 2003-01-16 Computer Associates Think, 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
AU2003303102A1 (en) * 2002-01-18 2004-08-23 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
US20040019660A1 (en) * 2002-07-24 2004-01-29 Sandhya E. Lock holding multi-threaded processes for distibuted data 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
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
US7376744B2 (en) * 2003-05-09 2008-05-20 Oracle International Corporation Using local locks for global synchronization in multi-node systems
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
US7660829B2 (en) * 2003-05-30 2010-02-09 Microsoft Corporation System and method for delegating file system operations
US7383289B2 (en) * 2003-12-02 2008-06-03 Sap Aktiengesellschaft Updating and maintaining data in a multi-system network using asynchronous message transfer
US7392265B2 (en) * 2003-12-02 2008-06-24 Sap Ag Updating data in a multi-system network that utilizes 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
US7716183B2 (en) * 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US7975115B2 (en) * 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US8001345B2 (en) * 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US7783603B2 (en) * 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
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
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
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
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
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211140A (ja) * 1988-02-16 1989-08-24 Internatl Business Mach Corp <Ibm> データ資源アクセス方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
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
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
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
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211140A (ja) * 1988-02-16 1989-08-24 Internatl Business Mach Corp <Ibm> データ資源アクセス方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179767A (ja) * 1995-12-06 1997-07-11 Electron & Telecommun Res Inst 多重使用者環境の貯蔵システムにおいて、バッファーロック技法を用いたバッファー管理方法
JP2004529443A (ja) * 2001-05-31 2004-09-24 オラクル・インターナショナル・コーポレイション マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少

Also Published As

Publication number Publication date
EP0518639A2 (en) 1992-12-16
JP2533266B2 (ja) 1996-09-11
EP0518639A3 (en) 1993-08-18
US5551046A (en) 1996-08-27

Similar Documents

Publication Publication Date Title
JP2533266B2 (ja) 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法
US6240413B1 (en) Fine-grained consistency mechanism for optimistic concurrency control using lock groups
US8224977B2 (en) Using local locks for global synchronization in multi-node systems
JP2559959B2 (ja) 複数の非同期的プロセスによりレコードを更新する方法
US5920872A (en) Resource management using resource domains
US6711571B2 (en) Partitioning ownership of a database among different database servers to control access to the database
US6412034B1 (en) Transaction-based locking approach
US6341340B1 (en) Transitioning ownership of data items between ownership groups
US5946711A (en) System for locking data in a shared cache
JP2505939B2 (ja) デ―タのキャストアウトを制御する方法
US6687709B2 (en) Apparatus for database record locking and method therefor
US6385701B1 (en) Method, system and program products for sharing data between varied clients using token management
US6601070B2 (en) Distribution of physical file systems
JPH1165863A (ja) 共有資源管理方法
US5999976A (en) Parallel file system and method with byte range API locking
JPH04268649A (ja) メモリへのデータブロックのエントリを制御する方法
US5551023A (en) System of database concurrency control based on transaction types and prior access to a data set
JPH10301834A (ja) 共用メモリの管理方法
CA2435388C (en) Partitioning ownership of a database among different database servers to control access to the database
US6529933B1 (en) Method and apparatus for locking and unlocking a semaphore
JP3093609B2 (ja) キャッシュメモリの記憶一致制御装置及び方法
KR0152714B1 (ko) 다중 사용자 환경의 저장시스템에서 버퍼 잠금기법을 이용한 버퍼 관리방법
KR100314879B1 (ko) 주기억장치데이터베이스관리시스템을위한락관리방법
JPH1049420A (ja) データベース管理方法
US7013463B2 (en) Latch mechanism for concurrent computing environments