JPH0448350A - データベース管理システム - Google Patents
データベース管理システムInfo
- Publication number
- JPH0448350A JPH0448350A JP2157492A JP15749290A JPH0448350A JP H0448350 A JPH0448350 A JP H0448350A JP 2157492 A JP2157492 A JP 2157492A JP 15749290 A JP15749290 A JP 15749290A JP H0448350 A JPH0448350 A JP H0448350A
- Authority
- JP
- Japan
- Prior art keywords
- time
- transaction
- site
- lock
- data
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 claims abstract description 16
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 22
- 238000010304 firing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は、2相ロック方式で同時実行制御を行うデータ
ベース管理システムに関する。
ベース管理システムに関する。
(従来の技術)
従来、複数のユーザからのトランザクションを並列に処
理するデータベース管理システムの場合、データの一貫
性を保つために同時実行制御を行う必要があった。その
ための方式はいくつか提案されているが、中でも2相ロ
ック方式は実装が簡単であり、最もよく使用されている
。
理するデータベース管理システムの場合、データの一貫
性を保つために同時実行制御を行う必要があった。その
ための方式はいくつか提案されているが、中でも2相ロ
ック方式は実装が簡単であり、最もよく使用されている
。
しかしながら、この2相ロック方式はデッドロックが生
じてしまうという問題点を有していた。
じてしまうという問題点を有していた。
そのため、この2相ロック方式におけるデッドロックを
解決するため、通常は次の三つの方式のいずれかが採用
されている。
解決するため、通常は次の三つの方式のいずれかが採用
されている。
まず、第1の方式はデッドロック検出法における待ちグ
ラフによりデッドロックの存在を検出し、この検出され
たデッドロックに関与しているトランザクションのいず
れかをアボートするようにしたものである。
ラフによりデッドロックの存在を検出し、この検出され
たデッドロックに関与しているトランザクションのいず
れかをアボートするようにしたものである。
しかしながらこの場合、サイト間で“待ち“の情報を通
信を介して交換する必要があり、この通信コストがシス
テムの性能を低下させる。
信を介して交換する必要があり、この通信コストがシス
テムの性能を低下させる。
また第2の方式は、トランザクションの実行がある一定
時間以上妨げられている場合、そのトランザクションは
デッドロックに関与しているものと判断して、そのトラ
ンザクシラン自身が、またはそれをブロックしているト
ランザクションのいずれかをアボートするとい゛うもの
である。この方式では、情報を通信を介して交換する必
要はないものの、検出の仕方が正確ではないので、不必
要にトランザクションをアボートしてしまう可能性があ
る。
時間以上妨げられている場合、そのトランザクションは
デッドロックに関与しているものと判断して、そのトラ
ンザクシラン自身が、またはそれをブロックしているト
ランザクションのいずれかをアボートするとい゛うもの
である。この方式では、情報を通信を介して交換する必
要はないものの、検出の仕方が正確ではないので、不必
要にトランザクションをアボートしてしまう可能性があ
る。
また、これら第1の方式及び第2の方式を用いるものは
、トランザクションのアボート処理に要するコストがか
かるためシステムの性能を低下させるという共通の問題
も有している。
、トランザクションのアボート処理に要するコストがか
かるためシステムの性能を低下させるという共通の問題
も有している。
さらに第3の方式は、ロックの掛は方に一定の規則を持
たせ、デッドロックが生じないようにする方法である。
たせ、デッドロックが生じないようにする方法である。
具体的には、ロックの対象となるデータ項目に優先度を
持たせ、トランザクションは必ず優先度の高いデータ順
にロックする、というものである。この方式の場合、必
ずロックを逐次的に行う必要があるので並列度を高くす
ることができず、またデータ項目が動的に生成、消滅す
る場合には優先度の振り分は方法が解決すべき課題とし
て残されていた。
持たせ、トランザクションは必ず優先度の高いデータ順
にロックする、というものである。この方式の場合、必
ずロックを逐次的に行う必要があるので並列度を高くす
ることができず、またデータ項目が動的に生成、消滅す
る場合には優先度の振り分は方法が解決すべき課題とし
て残されていた。
上述したようにデッドロックの回避はコストを伴う作業
であるため、システムの性能低下ヲモタらすものであっ
た。
であるため、システムの性能低下ヲモタらすものであっ
た。
一方、デッドロックが生じる理由は、ひとつには一つの
トランザクションが複数のデータ項目をロックする際に
、それらに対するロック動作の間に時間差があるためで
ある。
トランザクションが複数のデータ項目をロックする際に
、それらに対するロック動作の間に時間差があるためで
ある。
すなわち、第2図を参照するに、今、二つのトランザク
ションTi、Tj、それぞれが2つのデータ項目A、B
をロックしようとしているものとする。
ションTi、Tj、それぞれが2つのデータ項目A、B
をロックしようとしているものとする。
ここで、ロック動作が次のよう・な順番で行われたもの
とする。
とする。
■トランザクションTiがデータ項目Aをロックする。
(第2図(a))
■トランザクションTiがデータ項目Bをロックする。
(第2図(b))
■トランザクションTiがデータ項目Bのロックを試み
るが待たされる。(第2図(C))■トランザクション
Tiがデータ項目Aのロックを試みるが待たされる。(
障2図(d))第2図では、ロックを掛けた状態をデー
タ項目からトランザクションに向かう実線の枝で、また
ロックを掛けようとして待たされている状態をトランザ
クションからデータ項目に向かう点線の枝で示しである
。このときトランザクションTi及びトランザクション
Tjが共に相手の獲得しているデータ項目が解放される
のを待っている状態、すなわちデッドロックが生じてい
る。
るが待たされる。(第2図(C))■トランザクション
Tiがデータ項目Aのロックを試みるが待たされる。(
障2図(d))第2図では、ロックを掛けた状態をデー
タ項目からトランザクションに向かう実線の枝で、また
ロックを掛けようとして待たされている状態をトランザ
クションからデータ項目に向かう点線の枝で示しである
。このときトランザクションTi及びトランザクション
Tjが共に相手の獲得しているデータ項目が解放される
のを待っている状態、すなわちデッドロックが生じてい
る。
この場合、トランザクションTiがデータ項目Aをロッ
クしてから、データ項目Bのロックjを試みるまでの間
に、トランザクションTjがデータ項目Bをロックして
しまうことがデッドロックが生じてしまう一つの原因に
なっている。
クしてから、データ項目Bのロックjを試みるまでの間
に、トランザクションTjがデータ項目Bをロックして
しまうことがデッドロックが生じてしまう一つの原因に
なっている。
すなわち、一つのトランザクションのロック動作が全て
同時刻に起こればデッドロックは生じないことが明らか
である。この場合、起こり得るケースには次の二つがあ
る。
同時刻に起こればデッドロックは生じないことが明らか
である。この場合、起こり得るケースには次の二つがあ
る。
第1番目のケースは、[3図(a)に示すように
■トランザクションTiが項目A1項目Bをロックする
(第3図(a)中、実線で示す)。
(第3図(a)中、実線で示す)。
■トランザクションTiが項目A1項目Bのロックを試
みるが待たされる(同点線で示す)。
みるが待たされる(同点線で示す)。
第2番目のケースは、143図(b)に示すように、
■トランザクションTiが項目A1項目Bをロックする
(*3図(b)中、実線で示す)。
(*3図(b)中、実線で示す)。
■トランザクションTiが項目A1項目Bのロックを試
みるが待たされる(同、点線で示す)この2つのケース
の場合、いずれか一方のトランザクションは必要なデー
タ項目を全て獲得しているので待たされることはなく、
従ってデッドロックを生じている状態ではない。
みるが待たされる(同、点線で示す)この2つのケース
の場合、いずれか一方のトランザクションは必要なデー
タ項目を全て獲得しているので待たされることはなく、
従ってデッドロックを生じている状態ではない。
(発明が解決しようとする課題)
しかしながら、分散システムの場合、これらトランザク
ションが通信を介して行なわれるため、通信による命令
の伝達の遅れが生じ、そのため複数サイトに跨った動作
の場合にはそれぞれの伝達遅延時間を考慮することなく
同時実行を行なうことは困難であった。ここで提案する
方式は、分散システム内の任意のふたつのサイト間の通
信に要する時間に最大値を設定し、一つのトランザクシ
ョンの全ロック動作を同時に実行することのできるデー
タベース管理システムである。
ションが通信を介して行なわれるため、通信による命令
の伝達の遅れが生じ、そのため複数サイトに跨った動作
の場合にはそれぞれの伝達遅延時間を考慮することなく
同時実行を行なうことは困難であった。ここで提案する
方式は、分散システム内の任意のふたつのサイト間の通
信に要する時間に最大値を設定し、一つのトランザクシ
ョンの全ロック動作を同時に実行することのできるデー
タベース管理システムである。
(課題を解決するための手段)
本発明は、複数のサイトが通信路によって結合されるデ
ータベース管理システムにおいて、各サイトは、トラン
ザクションの対象となる全データ資源にロックを行う際
にトランザクションに前記データ資源を有する他サイト
への通信時間に従って時刻印を与える時刻印付加手段と
、トランザクションに付加される時刻印に対応する時刻
に、該当するデータ資源に対してロックを掛けるロック
手段とを有して構成した。
ータベース管理システムにおいて、各サイトは、トラン
ザクションの対象となる全データ資源にロックを行う際
にトランザクションに前記データ資源を有する他サイト
への通信時間に従って時刻印を与える時刻印付加手段と
、トランザクションに付加される時刻印に対応する時刻
に、該当するデータ資源に対してロックを掛けるロック
手段とを有して構成した。
(作用)
本発明のデータベース管理システムは2相ロツクプロト
コルに基づいてロックを行う。また、データが複数のサ
イトに分散される一方通信網を介して結合され、さらに
例えばサイト間の通信に要する最大時間を考慮してトラ
ンザクションに時刻印を付加すると共に、トランザクシ
ョンに付加された時刻にトランザクションの要求するデ
ータ資源のロック動作を開始する。
コルに基づいてロックを行う。また、データが複数のサ
イトに分散される一方通信網を介して結合され、さらに
例えばサイト間の通信に要する最大時間を考慮してトラ
ンザクションに時刻印を付加すると共に、トランザクシ
ョンに付加された時刻にトランザクションの要求するデ
ータ資源のロック動作を開始する。
(実施例)
以下、図面を参照して本発明の詳細な説明する。
第1図は、本発明のデータベー、ス管理システムに係る
一実施例におけるサイトの構成及び作用を説明するため
のブロック図である。
一実施例におけるサイトの構成及び作用を説明するため
のブロック図である。
本実施例における各サイトは、トランザクションマネー
ジャ1、最大遅延指定装置3、時刻印付加装置5及びス
ケジューラ7とロック動作起動装置9によって構成され
る。
ジャ1、最大遅延指定装置3、時刻印付加装置5及びス
ケジューラ7とロック動作起動装置9によって構成され
る。
トランザクションマネージャ1に接続される最大遅延指
定装置3は各サイトから別のサイトに通信が到達する際
に生じる遅延の最大値を指定するものである。
定装置3は各サイトから別のサイトに通信が到達する際
に生じる遅延の最大値を指定するものである。
時刻印付加装W15は、そのサイトで発生したトランザ
クションにロック動作を開始する時刻、すなわち発火時
刻を与えるものである。
クションにロック動作を開始する時刻、すなわち発火時
刻を与えるものである。
ロック動作起動装置9は、指定された発火時刻に正確に
、トランザクションの要求するデータ項目に対するロッ
ク動作を開始するための装置である。
、トランザクションの要求するデータ項目に対するロッ
ク動作を開始するための装置である。
次に、これら装置相互の作用及び機能について説明する
。
。
複数あるサイトの内、トランザクションが発生したサイ
トをそのトランザクションの主サイトと呼ぶことにする
。トランザクションは、予めアクセスするデータ項目を
図示しない質問解析用の手段を用いることにより抽出し
全て提示するものとする。
トをそのトランザクションの主サイトと呼ぶことにする
。トランザクションは、予めアクセスするデータ項目を
図示しない質問解析用の手段を用いることにより抽出し
全て提示するものとする。
トランザクションの実行を管理するトランザクション・
マネージャ(TM)1は、これら提示されたデータ項目
の存在する各サイトをカタログ情報等から求め、この求
められたサイトへロック命令を伝達するのに必要とされ
る遅延時間の最大値を最大遅延指定装置3を用いて求め
る。
マネージャ(TM)1は、これら提示されたデータ項目
の存在する各サイトをカタログ情報等から求め、この求
められたサイトへロック命令を伝達するのに必要とされ
る遅延時間の最大値を最大遅延指定装置3を用いて求め
る。
次にトランザクションマネージャは時刻印付加装置5を
用いて、最大遅延時間を当該サイトが計時している現在
時刻に加え、更にサイト間の各サイトの時計の有してい
る時刻の誤差を考慮して発火時刻を決定し、それをトラ
ンザクションに与える。尚、当該発火時刻は、その時刻
までにロック命令がそのトランザクションに関係する全
てのサイトに到着していることが保証されるように決め
られなければならない。この後、トランザクションマネ
ージャ1はデータ項目をロックする命令に発火時刻を付
加してデータが存在するサイトに送る。このロック命令
はデータにアクセスする命令、例えばread命令やw
r i t e命令に暗に含めてもよいし、陽に指定
しても良い。
用いて、最大遅延時間を当該サイトが計時している現在
時刻に加え、更にサイト間の各サイトの時計の有してい
る時刻の誤差を考慮して発火時刻を決定し、それをトラ
ンザクションに与える。尚、当該発火時刻は、その時刻
までにロック命令がそのトランザクションに関係する全
てのサイトに到着していることが保証されるように決め
られなければならない。この後、トランザクションマネ
ージャ1はデータ項目をロックする命令に発火時刻を付
加してデータが存在するサイトに送る。このロック命令
はデータにアクセスする命令、例えばread命令やw
r i t e命令に暗に含めてもよいし、陽に指定
しても良い。
一方、各サイトには、トランザクションマネージャ1か
らの命令を受は取り適当な順に処理するスケジューラ(
SC)7が存在する。スケジューラ7は前記ロック命令
を受は取ると、その命令を直ちに実行はせず、ロック動
作起動装置9を用いて、各サイトが持っている時計が発
火時刻に達したときに、そのロック動作を起動するよう
にする。
らの命令を受は取り適当な順に処理するスケジューラ(
SC)7が存在する。スケジューラ7は前記ロック命令
を受は取ると、その命令を直ちに実行はせず、ロック動
作起動装置9を用いて、各サイトが持っている時計が発
火時刻に達したときに、そのロック動作を起動するよう
にする。
但し、一つのサイト内で複数のデータ項目を必要とする
場合は、まだ他のトランザクションによりロックされて
いなければそれらに対する同時のロックは可能であるも
のと仮定し、また現実のシステムの場合においても、割
り込みを禁止することにより容易に実現可能なものであ
る。尚、ここでロックが掛けられていないデータ項目の
状態を”フリー な状態、掛けられた状態を′ロック済
み”の状態とする。
場合は、まだ他のトランザクションによりロックされて
いなければそれらに対する同時のロックは可能であるも
のと仮定し、また現実のシステムの場合においても、割
り込みを禁止することにより容易に実現可能なものであ
る。尚、ここでロックが掛けられていないデータ項目の
状態を”フリー な状態、掛けられた状態を′ロック済
み”の状態とする。
従って、もし、ロックの対象になっているデータ項目が
フリーならば、データ項目の状態を口・ツク済みにする
ことでロック命令が実行される。
フリーならば、データ項目の状態を口・ツク済みにする
ことでロック命令が実行される。
方、ロックの対象になっているデータ項目の状態がロッ
ク済みならば、ロック命令の実行は待たされることにな
る。
ク済みならば、ロック命令の実行は待たされることにな
る。
また、各データ資源には、それをロックしようとして待
たされるロック命令の待ち行列(第6図中、11 g、
11 b、 11 cで示す)が付随していて、
実行を待たされた命令は待ち行列の最後に並ぶ。データ
を獲得していたトランザクションが終了してロックを解
放するとき、そのデータの待ち行列の先頭のロック命令
が実行される。つまり、待ち行列の処理は厳密に、いわ
ゆるFIFO(First In First 0ut
)に従う。
たされるロック命令の待ち行列(第6図中、11 g、
11 b、 11 cで示す)が付随していて、
実行を待たされた命令は待ち行列の最後に並ぶ。データ
を獲得していたトランザクションが終了してロックを解
放するとき、そのデータの待ち行列の先頭のロック命令
が実行される。つまり、待ち行列の処理は厳密に、いわ
ゆるFIFO(First In First 0ut
)に従う。
以上に述べたような制御を行うと、デッドロックが発生
しないことが次のようにして証明できる。
しないことが次のようにして証明できる。
すなわち、任意のトランザクションTiが他のトランザ
クションTjが獲得しているデータ項目のロックを解放
するのを待っているような状態を「TiがTjを待って
いる」と呼び、第4図のようにトランザクションTiか
らトランザクションTjへの枝B「を持ったグラフで表
現する。このとき、このグラフを待ちグラフという。
クションTjが獲得しているデータ項目のロックを解放
するのを待っているような状態を「TiがTjを待って
いる」と呼び、第4図のようにトランザクションTiか
らトランザクションTjへの枝B「を持ったグラフで表
現する。このとき、このグラフを待ちグラフという。
ここで、デッドロックが発生している場合、待ちグラフ
にループができることが知られている。
にループができることが知られている。
そこで上述したような制御を行うと、トランザクション
TiがトランザクションTjを待つ場合、トランザクシ
ョンTiはトランザクションTjよりもあとにロック動
作を開始したことになるがら、トランザクションTiの
発火時刻t(Ti)はトランザクションTjの発火時刻
t(Tj)よりも遅く、次式で表わされる。
TiがトランザクションTjを待つ場合、トランザクシ
ョンTiはトランザクションTjよりもあとにロック動
作を開始したことになるがら、トランザクションTiの
発火時刻t(Ti)はトランザクションTjの発火時刻
t(Tj)よりも遅く、次式で表わされる。
t (Tj)<t (Ti) ・・・(1)も
し、第5図に示すように、待ちグラフの中にT1→T2
→・・・→Tn→T1 で表わされるループができていたら、 t (TI)<t (T2) <−−−<t (Tn)<t (TI)で表わされる関
係が成立していなければならずこれは上記第(1)式に
矛盾する。従ってループは発生せず、デッドロックも生
じないことが明白である。
し、第5図に示すように、待ちグラフの中にT1→T2
→・・・→Tn→T1 で表わされるループができていたら、 t (TI)<t (T2) <−−−<t (Tn)<t (TI)で表わされる関
係が成立していなければならずこれは上記第(1)式に
矛盾する。従ってループは発生せず、デッドロックも生
じないことが明白である。
次に、第6図を参照して、本発明の実施例を具体的に説
明する。
明する。
第6図に示すように、サイトA1サイトB5サイトCの
3つのサイトからなる分散システムを考える。各サイト
A、B、Cにおけるトランザクションマネージャの動作
を第7図のフローチャートに、スケジューラの動作を第
8図のフローチャートに示す。
3つのサイトからなる分散システムを考える。各サイト
A、B、Cにおけるトランザクションマネージャの動作
を第7図のフローチャートに、スケジューラの動作を第
8図のフローチャートに示す。
サイトAにおいて、他のふたつのサイトB、 Cのデー
タにもアクセスするトランザクションTiが時刻t、に
発生したものとする(ステップSl)このとき、トラン
ザクションTiのトランザクションマネージャ1aはス
テップS3で最大遅延指定装置3aを用いて次の式によ
り、最大遅延時間θを求める。
タにもアクセスするトランザクションTiが時刻t、に
発生したものとする(ステップSl)このとき、トラン
ザクションTiのトランザクションマネージャ1aはス
テップS3で最大遅延指定装置3aを用いて次の式によ
り、最大遅延時間θを求める。
θ−max (de lay (A→B)。
d e 1 a y (A−C) ) =−(2)こ
こで、de lay (A−+B)、de lay (
A→C)はそれぞれ、サイトAからサイトB、サイトA
からサイトCへの通信の遅延時間である。これらの値は
予め与えられたものでもよいし、または、例えばその時
点での通信経路の込み具合を加味して動的に決まる値で
もよい。
こで、de lay (A−+B)、de lay (
A→C)はそれぞれ、サイトAからサイトB、サイトA
からサイトCへの通信の遅延時間である。これらの値は
予め与えられたものでもよいし、または、例えばその時
点での通信経路の込み具合を加味して動的に決まる値で
もよい。
次に、トランザクションマネージャ1aはステップS5
で時刻印付加装置5aを用いて、トランザクションTi
に対して次の発火時刻t(Ti)を付加する。
で時刻印付加装置5aを用いて、トランザクションTi
に対して次の発火時刻t(Ti)を付加する。
t (Ti)−t i+θ+δ −(3)ここで、
δはサイトAとサイトB1及びサイトAとサイトC間の
時計の誤差の最大値である。
δはサイトAとサイトB1及びサイトAとサイトC間の
時計の誤差の最大値である。
サイトAのトランザクションマネージャ1aは各サイト
のスケジューラ7a、7b、7cに対してデータアクセ
ス命令のメツセージを発火時刻t(Ti)を付加して送
る(ステップS7)。上記のような発火時刻の設定法に
従えば、メツセージは目的サイトの時計がt(Ti)に
なる前にそのサイトに到達することが保証される。
のスケジューラ7a、7b、7cに対してデータアクセ
ス命令のメツセージを発火時刻t(Ti)を付加して送
る(ステップS7)。上記のような発火時刻の設定法に
従えば、メツセージは目的サイトの時計がt(Ti)に
なる前にそのサイトに到達することが保証される。
メツセージを受は取った各サイトのスケジューラは(ス
テップ511)ロック命令を直ちにはスケジューリング
の対象とはせずに、発火時刻まで待つ。その時’tlJ
がくると、ステップS13へ進み各スケジューラ7a、
7b、7cはロック動作起動装置19a、9b、9cを
用いて一斉に、ロック命令を実行する。このときにステ
ップS15においてデータ項目がフリーならば、ステッ
プS17へ進みロック命令は即実行できる。データ項目
がロック済みの場合、ステップS19へ進みロック命令
は各データ項目に対応して一つづつ存在するロック解放
待ちの待ち行列(11a、 1 l b、 11c
)で待つ。これらの待ち行列は厳密にFIFO(Fir
st In First 0ut)の順で処理される必
要がある。
テップ511)ロック命令を直ちにはスケジューリング
の対象とはせずに、発火時刻まで待つ。その時’tlJ
がくると、ステップS13へ進み各スケジューラ7a、
7b、7cはロック動作起動装置19a、9b、9cを
用いて一斉に、ロック命令を実行する。このときにステ
ップS15においてデータ項目がフリーならば、ステッ
プS17へ進みロック命令は即実行できる。データ項目
がロック済みの場合、ステップS19へ進みロック命令
は各データ項目に対応して一つづつ存在するロック解放
待ちの待ち行列(11a、 1 l b、 11c
)で待つ。これらの待ち行列は厳密にFIFO(Fir
st In First 0ut)の順で処理される必
要がある。
あるトランザクションが終了するとき、それがロックし
ていたデータ項目が解放される。その際、そのデータ項
目に対応する待ち行列の先頭のロック命令が実行される
。このようにして、このロック命令を発行したトランザ
クションがロックを獲得し、データベース13a、13
b、13cに読み書きできる。
ていたデータ項目が解放される。その際、そのデータ項
目に対応する待ち行列の先頭のロック命令が実行される
。このようにして、このロック命令を発行したトランザ
クションがロックを獲得し、データベース13a、13
b、13cに読み書きできる。
この方式によれば、トランザクションは設定した発火時
刻に従って直列化され、デッドロックは生じない。この
ことは、各サイトの時計にズレがあっても保証される。
刻に従って直列化され、デッドロックは生じない。この
ことは、各サイトの時計にズレがあっても保証される。
従ってデッドロックのオーバーヘッドを取り除くことが
でき、高性能のシステムを実現できるものである。
でき、高性能のシステムを実現できるものである。
第1図は本発明の構成図、第2図はデッドロックの起こ
るメカニズムを示す図、第3図は一つのトランザクショ
ンのロック動作が同時に行えればデッドロックは生じ得
ないことを示す図、第4図はトランザクションの待ちを
示す待ちグラフの図、第5図はループのある待ちグラフ
の例、第6図は実施例において、本発明のメカニズムを
示すためのブロック図、第7図はトランザクション・マ
ネージャの処理の流れ図、第8図はスケジューラの処理
の流れ図である。 1 ・ 慟 3 ・ 令 5 ・ ・ 7 ・ ・ 11・φ 13・ A、 B。 ・トランザクション・マネージャ(TM)・最大遅延指
定装置 ・時刻印付加装置 φスケジューラ(S C) ・ロック動作起動装置 ・ロック命令待ち行列 ・データベース(D B) C・ ・サイト
るメカニズムを示す図、第3図は一つのトランザクショ
ンのロック動作が同時に行えればデッドロックは生じ得
ないことを示す図、第4図はトランザクションの待ちを
示す待ちグラフの図、第5図はループのある待ちグラフ
の例、第6図は実施例において、本発明のメカニズムを
示すためのブロック図、第7図はトランザクション・マ
ネージャの処理の流れ図、第8図はスケジューラの処理
の流れ図である。 1 ・ 慟 3 ・ 令 5 ・ ・ 7 ・ ・ 11・φ 13・ A、 B。 ・トランザクション・マネージャ(TM)・最大遅延指
定装置 ・時刻印付加装置 φスケジューラ(S C) ・ロック動作起動装置 ・ロック命令待ち行列 ・データベース(D B) C・ ・サイト
Claims (2)
- (1)複数のサイトが通信路によって結合されるデータ
ベース管理システムにおいて、 各サイトは、トランザクションの対象となる全データ資
源にロックを行う際にトランザクションに前記データ資
源を有する他サイトへの通信時間に従って時刻印を与え
る時刻印付加手段と、トランザクションに付加された時
刻印に対応する時刻に、該当するデータ資源に対してロ
ックを掛けるロック手段と を有することを特徴とするデータベース管理システム。 - (2)ロック手段は、他サイトより送信されたトランザ
クションに付加された時刻印に対応する時刻に、自サイ
トの該当するデータ資源に対してロックを掛けるもので
ある請求項1記載のデータベース管理システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2157492A JPH0448350A (ja) | 1990-06-18 | 1990-06-18 | データベース管理システム |
EP91305318A EP0462751B1 (en) | 1990-06-18 | 1991-06-12 | A database management system |
DE69128499T DE69128499T2 (de) | 1990-06-18 | 1991-06-12 | Datenbankverwaltungssystem |
US07/714,905 US5269020A (en) | 1990-06-18 | 1991-06-17 | System for scheduling database transactions distributed over a network at a locktime of preset delay |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2157492A JPH0448350A (ja) | 1990-06-18 | 1990-06-18 | データベース管理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0448350A true JPH0448350A (ja) | 1992-02-18 |
Family
ID=15650873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2157492A Pending JPH0448350A (ja) | 1990-06-18 | 1990-06-18 | データベース管理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5269020A (ja) |
EP (1) | EP0462751B1 (ja) |
JP (1) | JPH0448350A (ja) |
DE (1) | DE69128499T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013513171A (ja) * | 2009-12-10 | 2013-04-18 | ロイヤル バンク オブ カナダ | ネットワーク化されたコンピューティングリソースを用いたデータの同期処理 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0613083B1 (en) * | 1993-02-25 | 2002-01-23 | Sun Microsystems, Inc. | Transaction management in object oriented systems |
US5752026A (en) * | 1994-04-28 | 1998-05-12 | The United States Of America As Represented By The Secretary Of The Navy | Early commit locking computer database protocol |
US5787486A (en) * | 1995-12-15 | 1998-07-28 | International Business Machines Corporation | Bus protocol for locked cycle cache hit |
JP3094900B2 (ja) * | 1996-02-20 | 2000-10-03 | ヤマハ株式会社 | ネットワーク機器およびデータ送受信方法 |
US6125368A (en) * | 1997-02-28 | 2000-09-26 | Oracle Corporation | Fault-tolerant timestamp generation for multi-node parallel databases |
US6012060A (en) * | 1997-05-30 | 2000-01-04 | Oracle Corporation | Sharing, updating data blocks among multiple nodes in a distributed system |
US6345287B1 (en) * | 1997-11-26 | 2002-02-05 | International Business Machines Corporation | Gang scheduling for resource allocation in a cluster computing environment |
US7089208B1 (en) * | 1999-04-30 | 2006-08-08 | Paypal, Inc. | System and method for electronically exchanging value among distributed users |
US7376583B1 (en) | 1999-08-10 | 2008-05-20 | Gofigure, L.L.C. | Device for making a transaction via a communications link |
US7720762B1 (en) | 2002-10-03 | 2010-05-18 | Gofigure Payments, Llc | System and method for electronically processing commercial transactions based upon threshold amount |
US8745086B2 (en) * | 2008-12-05 | 2014-06-03 | New BIS Safe Luxco S.á.r.l. | Methods, apparatus and systems for data visualization and related applications |
US9235831B2 (en) | 2009-04-22 | 2016-01-12 | Gofigure Payments, Llc | Mobile payment systems and methods |
US9652491B2 (en) * | 2013-04-15 | 2017-05-16 | International Business Machines Corporation | Out-of-order execution of strictly-ordered transactional workloads |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4096561A (en) * | 1976-10-04 | 1978-06-20 | Honeywell Information Systems Inc. | Apparatus for the multiple detection of interferences |
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
JPS5955553A (ja) * | 1982-09-22 | 1984-03-30 | Fujitsu Ltd | 分散デ−タベ−ス・システムにおけるタイムスタンプ同期方式 |
US4648036A (en) * | 1985-03-06 | 1987-03-03 | At&T Bell Laboratories | Method for controlling query and update processing in a database system |
US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
US4914570A (en) * | 1986-09-15 | 1990-04-03 | Counterpoint Computers, Inc. | Process distribution and sharing system for multiple processor computer system |
US4887204A (en) * | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US4881166A (en) * | 1987-07-24 | 1989-11-14 | Amoco Corporation | Method for consistent multidatabase transaction processing |
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
JP2572136B2 (ja) * | 1988-03-14 | 1997-01-16 | ユニシス コーポレーシヨン | 多重処理データシステムにおけるロック制御方法 |
US5095421A (en) * | 1989-08-17 | 1992-03-10 | International Business Machines Corporation | Transaction processing facility within an operating system environment |
US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
US5168570A (en) * | 1989-12-29 | 1992-12-01 | Supercomputer Systems Limited Partnership | Method and apparatus for a multiple request toggling priority system |
US4989733A (en) * | 1990-05-21 | 1991-02-05 | Marc Patry | Ready-to-use medical trays |
-
1990
- 1990-06-18 JP JP2157492A patent/JPH0448350A/ja active Pending
-
1991
- 1991-06-12 EP EP91305318A patent/EP0462751B1/en not_active Expired - Lifetime
- 1991-06-12 DE DE69128499T patent/DE69128499T2/de not_active Expired - Fee Related
- 1991-06-17 US US07/714,905 patent/US5269020A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013513171A (ja) * | 2009-12-10 | 2013-04-18 | ロイヤル バンク オブ カナダ | ネットワーク化されたコンピューティングリソースを用いたデータの同期処理 |
Also Published As
Publication number | Publication date |
---|---|
DE69128499T2 (de) | 1998-04-16 |
EP0462751A2 (en) | 1991-12-27 |
DE69128499D1 (de) | 1998-02-05 |
EP0462751A3 (en) | 1993-08-11 |
US5269020A (en) | 1993-12-07 |
EP0462751B1 (en) | 1997-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Audsley et al. | The end of the line for static cyclic scheduling? | |
Huang et al. | On Using Priority Inheritance In Real-Time Databases. | |
Sha et al. | Generalized rate-monotonic scheduling theory: A framework for developing real-time systems | |
Sha et al. | A systematic approach to designing distributed real-time systems | |
US6141720A (en) | Method and apparatus for coordination of a shared object in a distributed system | |
US6665701B1 (en) | Method and system for contention controlled data exchange in a distributed network-based resource allocation | |
US5790851A (en) | Method of sequencing lock call requests to an O/S to avoid spinlock contention within a multi-processor environment | |
JPH0448350A (ja) | データベース管理システム | |
US5117352A (en) | Mechanism for fail-over notification | |
EP0665495A2 (en) | A distributed lock manager using a passive, state-full control-server | |
US7209990B2 (en) | Maintain fairness of resource allocation in a multi-node environment | |
EP0682312A2 (en) | Hardware implemented locking mechanism for parallel/distributed computer system | |
US7228351B2 (en) | Method and apparatus for managing resource contention in a multisystem cluster | |
Tokuda et al. | Evaluation of Real-Time Synchronization in Real-Time Mach. | |
WO1998003912A1 (en) | Method and apparatus for coordination of a shared object in a distributed system | |
JPH0563821B2 (ja) | ||
Lam et al. | On using real-time static locking protocols for distributed real-time databases | |
Page et al. | Fast algorithms for distributed resource allocation | |
US9792419B2 (en) | Starvationless kernel-aware distributed scheduling of software licenses | |
Son et al. | An adaptive policy for improved timeliness in secure database systems | |
CN113094260B (zh) | 一种分布式系统时序关系建模与仿真分析方法 | |
Sha et al. | Distributed real-time system design: Theoretical concepts and applications | |
CN112749020A (zh) | 一种物联网操作系统的微内核优化方法 | |
Yeung et al. | A new deadlock detection algorithms for distributed real-time database systems | |
JPH05290003A (ja) | 非同期型遠隔手続き呼び出し装置 |