(57)【要約】【課題】ロックエスカレーションを利用してロック資源を管理するデータベース管理システムにおいて、過多なロック要求が発生する場合にシステムの性能を大きく向上させ、システムの麻痺を防止する。【解決手段】  エスカレーション不可能ロックの総数を基にして準ロックエスカレーションを利用する第１ステップと；エスカレーション不可能ロックの総数を基にしてロックブロッキングを利用する第２ステップと；選択的救援を用いる第３ステップと；エスカレーション不可能ロックの総数を基にして上記第１ステップと第２ステップで実行した準ロックエスカレーションとロックブロッキングを解除する第４ステップを含んで構成される。
2005524145.tif 000002
【特許請求の範囲】
【請求項１】
エスカレーション不可能なロックの総数に基づく適応型ロックエスカレーション方法であって、
エスカレーション不可能なロックの総数に基づいて準ロックエスカレーションを実行する第１ステップと；
エスカレーション不可能なロックの総数に基づいてロックブロッキングを実行する第２ステップと；
選択的救援を実行する第３ステップと；
エスカレーション不可能なロックの総数に基づいて上記第１ステップ及び第２ステップで実行した準ロックエスカレーション及びロックブロッキングを解除する第４ステップと；
を含む適応型ロックエスカレーション方法。
【請求項２】
請求項１記載の適応型ロックエスカレーション方法において、
上記第１ステップは、エスカレーション不可能なロックの総数がロックエスカレーション閾値を超過したときに、エスカレーション不可能なロックの増加を抑制するために、エスカレーション可能なファイルに対して準ロックエスカレーションを実行することを特徴とする適応型ロックエスカレーション方法。
【請求項３】
請求項１記載の適応型ロックエスカレーション方法において、
上記第２ステップは、エスカレーション不可能なロックの総数がロックエスカレーション閾値を超過した時、エスカレーション不可能ロックの増加を抑制するために、エスカレーション可能なファイルに対してロックブロッキングを実行することを特徴とする適応型ロックエスカレーション方法。
【請求項４】
請求項１記載の適応型ロックエスカレーション方法において、
上記第３ステップは、活性停止を防止するために選択的救援を行うことを特徴とする適応型ロックエスカレーション方法。
【請求項５】
請求項１記載の適応型ロックエスカレーション方法において、
上記第４ステップは、同時性を高めるために、エスカレーション不可能なロックの総数がロックエスカレーション閾値より低下したときに、準ロックエスカレーション及びロックブロッキングを解除することを特徴とする適応型ロックエスカレーション方法。
【請求項６】
請求項１記載の適応型ロックエスカレーション方法において、
エスカレーション不可能なロックの総数がロックエスカレーション閾値を超過したときに、ロックエスカレーションを実行することを特徴とする適応型ロックエスカレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース管理システムにおいて、ロックエスカレーションを利用してロック資源を管理する方法に関する。より詳しくは、本発明は、準ロックエスカレーション、ロックブロッキング及び選択的救援（selective relief）を実行して性能を向上させる、新規な概念であるエスカレーション不可能なロック、に基づくロックエスカレーション方法に関する。
【背景技術】
【０００２】
まず本発明の理解のために以下の説明で使用される用語を定義すると次のようになる。
“ロッキング”は同時性（concurrency）を制御する方法である。ロッキングにおいては、トランザクションは、データの一貫性を保障するため、データ項目にアクセスする前にロックを獲得しなければならない。 “ロック単位”とは原子的に(atomically)ロックが獲得されるデータの集団を意味する。ロック単位の例として、データベース、ファイル、レコードなどがある。
【０００３】
“階層的ロッキング(Multigranularity locking)”は、一つのデータベース管理システムで階層化された様々な大きさのロック単位を提供することにより、トランザクションが使用するロック単位を選択可能にする方法である。この方法では、ロック単位が階層構造を有し、上位水準のロック単位に対するロックを獲得した場合、その下位水準のロック単位に対して暗黙的に同じモードのロックが獲得されたことと見做す。
【０００４】
上記階層的ロッキングで使用されるロックモードは、共有モード(S、Shared)、独占モード(X、eXclusive)、意図モード(I、Intention)に大別される。上記意図モード（Ｉ）は、また意図共有モード(IS)と意図独占モード(IX)とに区分される。Ｓ（共有）モードロックは、該当のロック単位とその下位水準の全てのロック単位のデータ項目に対して読取演算のみを許容し、更新、挿入、削除演算は許容しない。しかし、Ｘ（独占）モードロックは全ての演算を許容する。Ｉ（意図）モードロックは、該当のロック単位の下位水準ロック単位に対してＳ（共有）またはＸ（独占）モードのロックを獲得する意図があることを意味する。
【表１】
2005524145.tif 000003
Ｔ  ：  互換性あり                  Ｆ：  互換性なし
【０００５】
表１は、階層的ロッキング方法で使用される各ロックモード間の互換性を示している。表１で符号１０１は既に獲得されたロックモードを意味し、１０２は新しく要請されたロックのモードを意味する。以下の説明では、理解を助けるために、上位水準ロック単位の代わりに“ファイル”、下位水準ロック単位の代わりに“レコード”という用語を用いる。
【０００６】
データベース管理システム（ＤＢＭＳ）では、メモリの割当量の物理的な限界により、ロック資源に限界がある。大抵の場合、ＤＢＭＳから提供されるロックの最大値は、ＤＢＭＳを始動する時にシステム管理者によって設定される。よって、同時に要請されるロックが過多であった場合は、ロック資源が枯渇し、ロック資源の割当を受けられなかったトランザクションは撤回される。このような現象を“ロック資源不足現象”と言う。
【０００７】
ロック資源不足現象が激しくなると、トランザクションが撤回と再始動（restart）を繰り返しながら完了されることができない循環再始動が発生する。最悪の場合には、全てのトランザクションが循環再始動（cyclic restart）状態になって、何れのトランザクションも完了しない状態が発生する場合もある。このような状況を“活性停止（live halt）”と言う。
【０００８】
このような現象を防止するために使用する方法がロックエスカレーションである。ロックエスカレーションは、ファイルロックモード変換演算（lock conversion）とレコードロック返還演算（lock release）の２ステップから成る。ファイルロックモード変換演算は、ファイルに対して獲得されたＩ（意図）モードのロックをそのモードに応じて、それぞれＩＳ（意図共有）モードはＩ（共有）モードに、ＩＸ（意図独占）モードはＸ（独占）モードに変換する演算を意味する。レコードロック返還演算は、ファイルロックモード変換演算が実行されたファイルに属するレコードロックを全て返還する演算を意味する。
【０００９】
以下、従来の技術でロックエスカレーションを実行する方法について説明する。
始めに、従来技術１(UniSQL、 Database Administration Guide (All Products)、 1996)では、あるトランザクションが一つのファイルに対して予め定められたロックエスカレーション閾値以上のレコードロックを獲得した場合に、該当のファイルに対してロックエスカレーションを実行する。この時、ロックエスカレーション閾値は全てのトランザクションとファイルに対して一律的に適用される。本発明では、このような方法を“トランザクション及びファイル別ロックエスカレーション（方法）(Lock Escalation based on locks per Transaction and File)”と言い、“LETF”と表記する。
【００１０】
従来技術２（ＩＢＭ，ＩＢＭ  ＤＢ２  Universal Database Administration Guide, Version）、
ftp://ftp.software.ibm.com/ps/products/db2/info/vr6/htm/db2d0/index.htm、 2000)では、トランザクションが、ファイルと関係なく設定された閾値以上のロックを獲得した場合に、アクセス中のファイルの内から一つを選択してロックエスカレーションを実行する。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし従来技術１のLETFには以下のような問題点がある。
第一に、ロック資源が充分に残っていたとしてもロックエスカレーションが実行される場合がある。換言すれば、あるトランザクションがロックエスカレーション閾値以上のロックを獲得しても、同時に実行されるトランザクションの数が少ないとロック資源の枯渇する可能性が少なくなるので、敢えてロックエスカレーションを実行する必要がないにもかかわらず、ロックエスカレーションが行われる。
第二に、ロックエスカレーション閾値以上のロックを獲得しない場合にも、システムでロック資源が不足な場合にはロックエスカレーションが必要であるにもかかわらず、ロックエスカレーションを実行しない。このため、多数のトランザクションが同時に実行される場合に、各トランザクションが獲得したロックの数がロックエスカレーション閾値以下であっても、その総数はロック資源の限界を超過することがある。
また、従来技術２のトランザクション別ロックエスカレーション方法にも、総ロック使用量を考慮しないので、従来技術１のトランザクション及びファイル別ロックエスカレーション方法と同様な問題がある。
【００１２】
このような問題は、ロック資源を全て使用すれば、ロックを要請したトランザクションがロックエスカレーション閾値以上のロックを獲得しなくても、自分がアクセスしているファイルの中から一つを選定してロックエスカレーションを実行することで軽減できる可能性がある。ところが、総ロック使用量を考慮しても問題を完全に解決できない。なぜなら、ロック資源がもはや残っていないにもかかわらず、あるトランザクションがロックの衝突が原因でロックエスカレーションを実行できないときに、他のトランザクションが代わりにロックエスカレーションを実行できるにもかかわらず、該当のトランザクションが撤回される為である。
【００１３】
本発明は、上記従来技術の問題点を解決するためになされたもので、その目的は、新しい概念であるエスカレーション不可能なロックに基づく“適応型ロックエスカレーション”と呼ばれる、データベース管理システムにおけるロックエスカレーション・アルゴリズムを提供することである。
【課題を解決するための手段】
【００１４】
このアルゴリズムは、“準ロックエスカレーション”及び“ロックブロッキング”という概念を用いることでロック資源を效率的に管理し、併せて選択的救援を用いることで過多なロック要請が発生したときに、活性停止を防止しつつトランザクションを直列的に実行させることにより、データベース管理システムの性能を大きく向上させる。また、このアルゴリズムは、エスカレーション不可能なロックの総数に基づく概念を利用する。
【００１５】
本発明は、エスカレーション不可能なロックの総数に基づく適応型ロックエスカレーション方法であって、エスカレーション不可能なロックの総数に基づいて準ロックエスカレーションを実行する第１ステップと；エスカレーション不可能なロックの総数に基づいてロックブロッキングを実行する第２ステップと；選択的救援を実行する第３ステップと；エスカレーション不可能なロックの総数に基づいて上記第１ステップ及び第２ステップで実行した準ロックエスカレーション及びロックブロッキングを解除する第４ステップと；を含む適応型ロックエスカレーション方法である。
【発明の効果】
【００１６】
以上説明したように、本発明によるデータベース管理システムでの適応型ロックエスカレーション方法によると、従来のロックエスカレーション方法に比べてシステムの性能を大きく向上させ、同時に存在することができるトランザクションの数を１６倍から２５６倍以上増加させることができる。
また、準ロックエスカレーションとロックブロッキングを実行してエスカレーション不可能なロックの増加を抑制し、最悪の場合には、選択的救援を実行して活性停止を防止することにより、過多なロック要請が発生する状況でトランザクションを徐々に直列的に実行するように誘導して、システムが麻痺されないようにすることができる。
【発明を実施するための最良の形態】
【００１７】
本発明の上述した目的と様々な長所は、添付された図面を参照して後述される本発明の好適な実施形態から更に明確になるであろう。
以下、本発明に好適な実施形態を添付された図１乃至４を参照して詳細に説明する。
【００１８】
ファイルの状態をロックエスカレーションが可能か否かによって、“自由状態(free state)”、“エスカレーション可能状態(escalatable state)”、“エスカレーション不可能状態(unescalatable state)”、及び“エスカレーション完了状態(fully escalated state)”の４種類に区分し、それぞれを次のように定義する。このようなファイルの状態に対する分類は本発明から最初に提案する概念である。
【００１９】
どのトランザクションによってもロッキングされていないファイル状態を“自由状態”と定義する。自由状態ではレコード水準のロックは存在できない。ロックの衝突なしにエスカレーション演算が可能なファイルは、“エスカレーション可能状態”とし、エスカレーション可能状態のファイルを“エスカレーション可能ファイル(escalatable file)”と定義する。また、エスカレーション可能ファイルに属するレコードロックを“エスカレーション可能ロック(escalatable lock)”と定義する。
【００２０】
ロックモードの衝突が原因でロックエスカレーションが実行できないファイルは“エスカレーション不可能状態”とし、エスカレーション不可能状態のファイルを“エスカレーション不可能ファイル(unescalatable file)”と定義する。また、上記“エスカレーション不可能ファイル”に属するレコードロックを“エスカレーション不可能ロック(unescalatable lock)”と定義する。
ロックエスカレーションになってＳ（共有）またはＸ（独占）モードでファイル水準のみロッキングされたファイルは、“エスカレーション完了状態”にあるとする。エスカレーション完了状態にあるファイルに対しては明示的なレコードロックが存在しない。
【００２１】
エスカレーション可能状態は、エスカレーション不可能状態へ変換できる状態と変換できない状態とに区分ができ、それぞれの状態を次のように定義する。
エスカレーション可能状態のうち、ファイルに対する新しいロックの獲得によってエスカレーション不可能状態に変換できる状態を“不安全エスカレーション可能状態”と定義する。
エスカレーション可能状態のうち、ファイルに対する新しいロックが獲得されてもエスカレーション不可能状態に変換されない状態を“安全エスカレーション可能状態”と定義する。
【００２２】
ファイルの状態は、該当のファイルをロッキングしたロックモードの組合によって区分される。表２はファイルの状態とその状態に該当するロックモードの組合を示している。表２で符号２０１はファイルの状態を意味し、符号２０２はロックモードの組合せを意味する。
【表２】
2005524145.tif 000004
｛Ａ｝１：  一つのＡモードロックが獲得された状態
｛Ａ｝ｎ＋：  ｎ個以上のＡモードロックが獲得された状態
｛Ａ｝ｎ＋  ｛Ｂ｝ｍ＋：ｎ個以上のＡモードロックとｍ個以上のＢモードロックが獲得された状態
【００２３】
適応型ロックエスカレーションは、基本的にはエスカレーション不可能ロックの総数によってロックエスカレーションの実行可否を決めることにより性能を向上させる。さらに、エスカレーション不可能ロックの増加原因を解決することにより、性能をより向上させる。
【００２４】
第１ステップ（ファイルロックモード変換演算）のみを実行することを“準ロックエスカレーション(semilock escalation)”と定義する。トランザクションは、準ロックエスカレーションを実行しでも準ロックエスカレーションを解除する時のために第２ステップ（レコードロック返還演算）を実行するまでレコードロックを続けて維持及び獲得しなければならない。
【００２５】
準ロックエスカレーションを利用して次のようなロックエスカレーション方法が考えられる。トランザクションが獲得したエスカレーション不可能ロックの総数がロックエスカレーション閾値を超過する場合、ロックエスカレーションの代わりに先に準ロックエスカレーションを実行することによりエスカレーション不可能ロックの増加を抑制し、ロック資源が不足になった場合のみ、既に準ロックエスカレーションが実行されたファイルに対してレコードロック返還演算を実行することである。この方法は、エスカレーション不可能ロックの増加を抑制するという観点では直ちにロックエスカレーションを実行したことと同様な効果を得る。更に、未だレコードロック返還演算を実行しない場合にはエスカレーション不可能ロックの数が減少し、ロックエスカレーション閾値以下になるとロック単位を小さく還元できるので同時性を向上することができる。
【００２６】
付加されたエスカレーション不可能状態のファイルに対して、新しいロックの獲得を禁止する演算を“ロックブロッキング設定演算”（lock blocking）とし、設定されたロックブロッキングを解除して新しいロックの獲得を許容する演算を“ロックブロッキング解除演算” （lock unblocking）と定義する。ロックブロッキング設定演算を実行すると、該当のファイルに対する追加的なロック獲得が禁止されるので、該当のファイルをアクセスするトランザクション数がこれ以上増加しない。従って、エスカレーション不可能ロックの追加獲得も減少するのでエスカレーション不可能ロックの増加が抑制される。
【００２７】
準ロックエスカレーションとロックブロッキングを行っても、エスカレーション不可能ロックの数が増加することがある。最悪の場合、ロック資源は枯渇されエスカレーション可能状態のファイルがなくなるため、これにより活性停止が発生する。この問題を解決するために、もはや獲得できるロック資源が残っていないときは、トランザクションを撤回する代わりに、幾つかのロックが返還されるまでトランザクションがロックを要求することを阻止しなければならない。しかしながら、この方法でも問題を完全に解決することはできない。その理由は次の通りである。エスカレーション可能状態のファイルが存在しない場合には、ロックエスカレーションは実行されることはなく、ロックはトランザクションが終了したときのみ返還される。仮に全てのトランザクションがロック要求を行ったものの、その全てが阻止され、ロックは返還されない。従って、その状況を解決する唯一の方法は犠牲（victim）となるトランザクションを選定し、それを撤回することである。
【００２８】
このとき、システムが活性停止に陥り、全てのトランザクションが循環再始動に入らないように撤回するトランザクションの選択に注意しなければならない。適応型ロックエスカレーションでは、活性停止を防止するための方法として選択的救援を用いる。
【００２９】
選択的救援(selective relief)は、ロック資源の不足で撤回するトランザクションを選定することにおいて、特定トランザクションを選定対象から除いてそのトランザクションがアクセスする全てのファイルに対してロックエスカレーションを実行する。この時、選定されたトランザクションを“不死トランザクション(immortal transaction)”と定義する。不死トランザクションの完了を保障するために、不死トランザクションがロックエスカレーションを実行するとか新しいロックを獲得しようとする時、ロックモードの衝突を発生させるトランザクションは全て撤回する。不死トランザクションが新しいファイルをアクセスする場合にも、該当のファイルに対してロックエスカレーションを実行する。
【００３０】
これにより、不死トランザクションはこれ以上レコードロックを獲得する必要がないので、ロックモードの衝突やロック資源の割り当てのために待機する必要がなくなる。すなわち、少なくとも一つ、例えば不死トランザクションは循環再始動に陥ることなく実行されるので、活性停止が発生しないことが保障される。
【００３１】
上述したように、適応型ロックエスカレーションは以下のステップからなる。
即ち、エスカレーション不可能ロックの総数を基にして準ロックエスカレーションを実行する第１ステップと；
エスカレーション不可能ロックの総数を基にしてロックブロッキングを実行する第２ステップと；
選択的救援を実行する第３ステップと；
エスカレーション不可能なロックの総数に基づいて上記第１ステップ及び第２ステップで実行した準ロックエスカレーション及びロックブロッキングを解除する第４ステップからなる。以下、この発明の好適な実施例について添付図面を用いて更に詳細に説明する。
【００３２】
適応型ロックエスカレーションを実行するために、本発明は図１に示すハードウェア環境が必要である。図１で符号３０１はコンピューターのＣＰＵを示し、３０２はコンピューターのメインメモリーを示す。データベース管理システム（３０３）は上記メモリー（３０２）に存在する。データベース管理システム（３０３）はロック管理者（３０４）を具備し、ロック管理者の一部であるロックエスカレーション管理者（３０５）はロックエスカレーションを処理する。適応型ロックエスカレーション方法は、上記ロックエスカレーション管理者（３０５）により具現される。上記データベース管理システム（３０３）は、データベース（３０６）に保存されたデータを管理する機能を実行する。
【００３３】
適応型ロックエスカレーション方法のアルゴリズムは３つの部分から構成される。第１部分（図２）は、ロック要求が発生する毎に、エスカレーション不可能ロックの総数に基づいて準ロックエスカレーション及びロックブロッキングを実行する。第２部分（図３）は、デーモンプロセスが、全てのトランザクションが待機状態であることを確認して選択的救援を実行する。第３部分（図４）は、ロック返還が発生する毎に、エスカレーション不可能ロックの総数に基づいて準ロックエスカレーション及びロックブロッキングを解除する。
【００３４】
図２を参照すると、アルゴリズムは９ステップにて構成される。第１ステップ（Ｓ４０１）では、エスカレーション不可能ロックの総数がロックエスカレーション閾値を超過しているか否かを確認する。確認の結果、エスカレーション不可能ロックの総数がロックエスカレーション閾値を超過していないときは、全てのロック資源が使用中であるか否かを確認する（Ｓ４０４）。しかし、エスカレーション不可能ロックの総数がロックエスカレーション閾値を超過する場合には、第２ステップ（Ｓ４０２）で全てのエスカレーション可能ファイルに対して準ロックエスカレーションを実行する。そして、第３ステップ（Ｓ４０３）では、全てのエスカレーション不可能ファイルに対してロックブロッキング設定演算を実行する。
【００３５】
第４ステップ（Ｓ４０４）では、全てのロック資源が使用中であるか否かを確認する。確認の結果、全てのロック資源が使用中ではない場合には、余分のロック資源が存在するのでアルゴリズムを終了する。しかし、全てのロック資源が使用中の場合には第５ステップ（Ｓ４０５）で準ロックエスカレーションは実行されたが、レコードロック返還演算は実行されないファイルの存在の有無を確認する。確認の結果、準ロックエスカレーションは実行されたが、レコードロック返還演算は実行されないファイルが存在すると、第６ステップ（Ｓ４０６）でそのファイルの中から一つを選択してレコードコード返還演算を実行することによりロック資源を返還させて、アルゴリズムを終了する。しかし、準ロックエスカレーションは実行されたが、レコードロック返還演算は実行されないファイルが存在しないと、第７ステップ（Ｓ４０７）でエスカレーション可能ファイルの存在の有無を確認する。確認の結果、エスカレーション可能ファイルが存在すると、第８ステップ（Ｓ４０８）でエスカレーション可能ファイルの中から一つを選択してロックエスカレーションを実行することでロック資源を返還させて、アルゴリズムを終了する。しかし、エスカレーション可能ファイルが存在しない場合には、第９ステップ（Ｓ４０９）でロック資源の割当受けるまで待機し、割当受けることができるとアルゴリズムを終了する。
【００３６】
上記の第９ステップ（Ｓ４０９）で全てのトランザクションが待機する場合には選択的救援を使う。選択的救援を使うアルゴリズムはデーモンプロセスによって周期的に実行される。
【００３７】
図３は、本発明による適応型ロックエスカレーション方法で選択的救援を使うアルゴリズムを示すフローチャートである。第１ステップ（Ｓ５０１）では、全てのロック資源が使用中であるか否かを確認する。確認の結果、全てのロック資源が使用中ではないと、選択的救援を使う必要がないのでアルゴリズムを終了する。しかし、全てのロック資源が使用中である場合には第２ステップ（Ｓ５０２）でエスカレーション可能ファイルの存在の有無を確認する。確認の結果、エスカレーション可能ファイルが存在すると、ロックエスカレーションを通じてロック資源が返還されることができるので選択的救援を実行せずにアルゴリズムを終了する。しかし、エスカレーション可能ファイルが存在しないと、第３ステップ（Ｓ５０３）で全てのトランザクションが待機状態であるか否かを確認する。確認の結果、待機状態ではないトランザクションが存在すると、選択的救援を実行する必要がないのでアルゴリズムを終了する。しかし、全てのトランザクションが待機状態である場合には、第４ステップ（Ｓ５０４）で不死トランザクションを選定して不死トランザクションがロックエスカレーションを実行する時、衝突する全てのトランザクションを撤回して、不死トランザクションがロックエスカレーションを実行した後、アルゴリズムを終了する。
【００３８】
図４は、本発明による適応型ロックエスカレーション方法で準ロックエスカレーションとロックブロッキングを解除するアルゴリズムを示すフローチャートである。準ロックエスカレーションとロックブロッキングの解除アルゴリズムはロック返還が発生する毎に実行される。第１ステップ（Ｓ６０１）では、エスカレーション不可能ロックの総数が閾値以下であるか否かを確認する。確認の結果、エスカレーション不可能ロックの総数が閾値以下ではなければアルゴリズムを終了する。しかし、エスカレーション不可能ロックの総数が閾値以下ならば、第２ステップ（Ｓ６０２）で準ロックエスカレーションは実行されたが、レコードロック返還演算が実行されない全てのファイルに対して準ロックエスカレーションを解除する。そして、第３ステップ（Ｓ６０３）でロックブロッキング設定演算が実行された全てのファイルに対してロックブロッキング解除演算を実行して、アルゴリズムを終了する。これで、準ロックエスカレーションとロックブロッキングによって待機状態のトランザクションが実行を続くことになる。
【００３９】
準ロックエスカレーション及びロックブロッキング等の適応型ロックエスカレーションの実行の仕組みは、ロックの総数より、寧ろエスカレーション不可能なロックの総数に基づく。従って、エスカレーション不可能なロックの総数が閾値より小さい限り、ロックの総数は、ロック資源の総量のみに制限される値である上記閾値を自由に越えることができる。このことは、適応型ロックエスカレーションが不要なロックエスカレーションに起因する同時性の低下を防止することを意味する。適応型ロックエスカレーションは、ロック資源が不足になっても選択的救援によって最小限一つ以上のトランザクション、例えば不死トランザクションが必ず実行されることにより、活性停止が発生しないことを保障する。従って、過多なロック要求が発生する状況においても、トランザクションが直列的に実行できるように段階的に誘導する。
【００４０】
出願人の実験結果によると、（本発明による）適応型ロックエスカレーション方法は、過多なロック要請が発生する場合に、システムの性能が急激に低下して活性停止につながる既存のロックエスカレーション方法とは異なり、システムの性能を徐々に低下させる。特に、トランザクションの撤回数及び平均応答時間が著しく減少し、同時にスループットが上昇した。その上、過多なロック要請が発生しても活性停止が発生しないことを保障して徐々にトランザクションを直列的に実行させる結果、同時に存在することができるトランザクションの数が１６倍から２５６倍以上増加した。
【図面の簡単な説明】
【００４１】
【図１】本発明による適応型ロックエスカレーション方法が具現されるシステムの好適な実施形態の構成図である。
【図２】本発明による適応型ロックエスカレーション方法で準ロックエスカレーション及びロックブロッキングを実行するアルゴリズムを示すフローチャートである。
【図３】本発明による適応型ロックエスカレーション方法で選択的救援を実行するアルゴリズムを示すフローチャートである。
【図４】本発明による適応型ロックエスカレーション方法で準ロックエスカレーション及びロックブロッキングを解除するアルゴリズムを示すフローチャートである。
【符号の説明】
【００４２】
３０１・・・コンピューターＣＰＵ、３０２・・・コンピューターメモリー、３０３・・・データベース管理システム、３０４・・・ロック管理者、３０５・・・ロックエスカレーション管理者、３０６・・・データベース。
【図１】
2005524145.tif 000005
【図２】
2005524145.tif 000006
【図３】
2005524145.tif 000007
【図４】
2005524145.tif 000008
【国際調査報告】
2005524145.tif 000009
2005524145.tif 000010