JPS6352263A - 分散処理システムのデツドロツク検出方式 - Google Patents

分散処理システムのデツドロツク検出方式

Info

Publication number
JPS6352263A
JPS6352263A JP61194051A JP19405186A JPS6352263A JP S6352263 A JPS6352263 A JP S6352263A JP 61194051 A JP61194051 A JP 61194051A JP 19405186 A JP19405186 A JP 19405186A JP S6352263 A JPS6352263 A JP S6352263A
Authority
JP
Japan
Prior art keywords
lock request
transaction
data
site
control unit
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
Application number
JP61194051A
Other languages
English (en)
Inventor
Nobuya Arakawa
荒川 暢也
Yoshiki Nakamatsu
芳樹 中松
Kazunori Kojima
一記 小島
Isamu Yoshida
勇 吉田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP61194051A priority Critical patent/JPS6352263A/ja
Publication of JPS6352263A publication Critical patent/JPS6352263A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、同報通信型ネットワーク上に構築された分散
処理システムにおけるデッドロック検出方式に関するも
のである。
(従来の技術) 一般的な分散システムでは、各サイトに存在する複数の
独立した処理(以下、トランザクションともいう)が並
列的にデータを使用する。第6図は、同時に2つの処理
が1つのデータAを更新する例を示している。この例で
は、2つの処理終了後のデータAには処理2の更新がな
されなかフたような不都合が生じる。この不都合を避け
るために通常の分散システムでは、データの更新を伴う
処理には、処理の実行以前に更新するデータにロックを
かけさせて、他の処理に使用できないようにしている。
ロックのかかっているデータを必要とする他の処理は、
ロックをかけた処理が終了し、ロックを解除するまで待
つことになる。
第7図は2つの処理がデータA、Bを使用するためロッ
クをかけている例を示している。この例では、処理1は
処理2を、処理2は処理1を永久に待ち続ける(以下こ
わをデッドロックと呼ぶ)といった不都合が生じる。こ
の不都合を避けるため、例えば、ACM)ランザクショ
ンズ オンデータベース システムズ(A CM Tr
ansactionson Database Sys
tems ) vol、7.no、2−(1982)p
p 187−208に開示されているように、通常の分
散処理システムではデッドロックの検出・解消機構を備
えている。このデッドロック検出・解消機構では、処理
のために処理の実行前に行なうデータへのロックによっ
て、発生した処理の間の待ち関係を待ち関係グラフで取
り扱う。第8図はループの存在する待ち関係グラフを示
すものである。同図において、処理1は処理の必要とす
るデータを意味し、有向グラフ(有向辺)2はある処理
1がある処理1の終了を待っていることを示している。
デッドロック検出・解消機構は、このグラフ上で待ち関
係のループを発見することによりデッドロックを検出し
、そのループを断ち切るために強制終了(アボート)さ
せなければならない処理を決定し、その処理を強制終了
することによってデッドロックを解消する。
第9図は分散処理システムにおける待ち関係グラフの一
例を示すものである。通常の分散処理システムでは第9
図の如く待ち関係グラフが複数のサイト3に分割して存
在する。このため、複数のサイト3にまたがる待ち関係
のループの検出・解消を行うために、1対1の通信のも
のでのサイト3間の待ち関係グラフ情報の交換を考慮し
たデッドロック検出方式が用いられている。
(発明が解決しようとする問題点) しかし、上記分散処理システムのデッドロック検出方式
は、1対1の通信のもとで、少数のサイトによって構成
される分散処理システムを想定している。そのため、多
数のサイトによフて構成される分散処理システムにおい
て、ロックをかけるためのメツセージの交換回数や、デ
ッドロック検出のためのメツセージ交換回数が多くなっ
てしまう。そのため、分散処理システム全体としてのデ
ッドロック検出の効率を上げることができないという問
題点がある。
本発明は、回報通信網上に構築された分散システムにお
いて、ロックをかけるのに必要なメツセージの交換回数
が多くなるという問題点および、デッドロック検出のた
めのメツセージ交換回数か多くなるという問題点を除去
し、全体のメツセージ交換回数を少なくしたデッドロッ
ク検出方式を提供することを目的とする。
(問題点を解決するための手段) 本発明は前記問題点を解決するために、同報通信が可能
な通信網上にトランザクション制御部、及びデータ格納
部を備えたデータ制御部のうち少なくとも一方を有する
サイトを複数個接続した分散処理システムにおいて、前
記トランザクション制御部には、全データ制御部のトラ
ンザクションの待ち関係グラフを結合して全体の待ち関
係グラフを作成する第1の手段と、該全体の待ち関係グ
ラフに基づいてデッドロックを検出し、そのデッドロッ
クを解消する第2の手段を設け、トランザクション制御
部を持ちトランザクションが発生した処理サイトがデー
タ格納部に所要データを持つ関連サイトにロック要求を
同報送信し、該ロック要求を受信した関連サイトはロッ
ク要求を受理するか保留するかの応答を行い、前記処理
サイトは一定時間内に前記応答を返さないサイトにロッ
ク要求を再送し、該再送に対して保留応答を受信した場
合には、データIIJ8部を持つ全サイトに各サイトの
待ち関係グラフの送出要求を同報送信し、該待ち関係グ
ラフを受信して全体の待ち関係グラフを作成し、該グラ
フにおいて、該処理サイトで発生したトランザクション
を含むループの有無に基づきデッドロックを検出するも
のである。
(作 用) 本発明は次のように作用する。トランザクションが発生
した処理サイトはトランザクション制御部によりデータ
格納部に所要のデータを持つ関連サイトにロック要求を
同報送信(ブロードカスト)する。該ロック要求を受信
した関連サイトは所要データが既に他の処理サイトによ
ってロックされていなければ、そのデータをロックして
ロック要求を受理したことを示す受理応答を返す。
ロック要求を受理できない場合にはトランザクションを
待ち関係グラフに追加してロック要求を保留したことを
示す保留応答を返す。処理サイトは一定時間にいずれか
の応答がない場合には応答のないサイトにロック要求を
再送する。この再送に対して保留応答を受信した場合に
は、処理サイトはトランザクション制御部の第1の手段
及び第2の手段を起動してデッドロックの検出処理を行
う。即ち、データ制御部を持つ全サイトに各自の待ち関
係グラフの送出要求を同報送信する。この結果、各サイ
トから受信して得られた待ち関係グラフより全体の待ち
関係グラフを第1の手段により作成する。第2の手段は
全体の待ち関係グラフにより該サイトで発生したトラン
ザクションを含むループの有無を調べ、ループがある場
合に該サイトで発生したトランザクションのためのロッ
ク要求を強制終了(アポート)する処理を行う。このよ
うに、ロック要求を同報通信(ブロードカスト)により
実現しているので、メツセージの交換回数が少なくてす
むと共にデッドロックの起こる割合が数少する。また、
ロック要求に対して受理応答か保留応答を返すようにし
ているので、メツセージの交換回数を低く押えることが
可能となる。
更に、デッドロックの検出をロック要求の再送時で保留
応答の場合のみに行うので、デッドロック検出処理を少
なくすることができる。従って、全体のメツセージ交換
回数の低減が可能となり、前記従来の技術の問題点が解
決できるのである。
(実施例) 第1図は本発明のデッドロック検出方式が通用される分
散処理システムの一実施例を示す構成図である。同図に
おいて、10は複数のサイト、11はデータを記憶する
データ格納部、12はデータ格納部11を制御するデー
タ制御部、13はトランザクション制御部、14は同報
通信(ブロードカスト)が可能なローカルエリアネット
ワーク(LAN)である。
分散処理システムは複数のサイト10をLAN14で相
互に接続することにより構成される。各サイト10はト
ランザクション制御部13及びデータ格納部11を備え
たデータ制御$12の少なくとも一方を有するものであ
り、同図ではいずれか一方を有するものを示している。
トランザクション制御部13には、図示しないが、通常
のトランザクション制御機能の他に、デッドロック検出
処理機能として、各データ制御部12で作成するトラン
ザクションの待ち関係グラフを結合して全体の待ち関係
グラフを作成する作成手段と、全体の待ち関係グラフに
基づいてデッドロックを検出し、該当するトランザクシ
ョンのためのロック要求をアボードする検出手段と、上
記各手段を起動するタイミングを決定する決定手段とを
有する。
トランザクション制御部13の動作フローチャートを第
2図に示し、データ制御部の動作フローチャートを第3
図に示す。以下、これらの動作を第1図乃至第3図を参
照して説明する。
トランザクション制御部13は、トランザクションが発
生すると(ステップ21)、所要データに一斉にロック
をかけるために、所要データを管理しているデータ制御
部I2のグループにロック要求のブロードカストを行う
(ステップ22)。ロック要求には所要のデータと、そ
れを格納しているデータ格納部11の位置情報を全て含
んでいる。また、トランザクション制御部13は、一定
時間内に全て・の応答(ロック要求を受理したことを示
す応答であるロック要求受理応答またはロック要求を保
留したことを示す応答であるロック要求保留応答)を受
信するかを監視している(ステップ23)。
ロック要求を受信したデータ制御部12は、ステップ3
5のロック要求処理を行う。このロック要求処理では次
の<a>又は(b)の処理を行う。
(a)所要データが既に他のトランザクション制御部に
よってロックされていなければ、そのロック要求を受理
する。すなわち、そのデータをロックし、ロック要求受
理応答をトランザクション制御部13に返す。
(b)所要データが既に他のトランザクション制御部に
よってロックされていた場合は、そのロック要求を保留
する。すなわち、待ち関係グラフにそのトランザクショ
ンを加え、ロック要求保留応答を返す。保留したロック
要求は所要データのロックが可能になった時点で受理す
る。
トランザクション制御部13はロック要求送出後、一定
時間内にロック栗求に対してすべての応答を受信したか
否かによって(ステップ23)、次の(C)又は(d)
の処理を行う。
(C)−一定時間内に全ての応答(ロック要求受理応答
またはロック要求保留応答)を受信した場合には、次の
■又は■の処理を行う。
■応答が全てロック要求受理応答であったときは、トラ
ンザクションを実行し、ロック解除処理を行う(ステッ
プ24,25.26)。
■応答の中にロック要求保留応答があったときは、その
ロック要求保留に対するロック要求受理応答を受信する
のを待ち、受信後トランザクションを実行し、ロック解
除処理を行う(ステップ24,25.26)。
(d)一定時間内に全ての応答(ロック要求受理応答ま
たはロック要求保留応答)を受信しなかった場合は、応
答を返さなかったデータ制御部12のグループ(ここで
は一般の場合として、複数のデータ制御部52が応答を
返さなかったことを想定している。)に対してロック要
求の再送を行う(ステップ27)。
次に、トランザクション制御部13はステップ27でロ
ック要求の再送を行った場合に、その後一定時間内に再
送に対する応答が全てロック要求受理応答か否かによっ
て(ステップ28.29 ) 、次の(e)又は(f)
の処理を行う。
(e)再送に対する応答か全てロック要求受理応答であ
った場合には、次の■又は■の処理を打う。
■そのトランザクションに関連する全てのデータ制御部
12からの応答が、ロック要求受理応答であった場合は
、トランザクションを実行し、ロック解除処理を行う(
ステップ25゜26)。
■そのトランザクションに関連する全てのデータ制御部
からの応答の中に、ロック要求保留応答があった場合は
、そのロック要求保留に対するロック要求受理応答を受
信するのを待ち、受信後トランザクションを実行し、ロ
ック解除処理を行う(ステップ25.26 )。
(f)再送に対する応答の中に、ロック要求保留応答が
あった場合は、次のステップ30(デッド検出処理)に
進む。
次に、トランザクション制御部13はロック要求の再送
を行い、かつ再送に対する応答にロック要求保留応答が
含まれていた場合にステップ30のデッドロック検出処
理を行う(デッドロック検出処理の起動、即ち前述の作
成手段と検出手段の起動を意味する)。なぜなら、この
ような状況においてのみデッドロックの可能性が生じる
からである。ただし、この状況において、デッドロック
が必ずしも発生しているとは限らないので、一定時間デ
ッドロック検出処理(ステップ30)の起動を保留し、
ロック要求受理応答を待ってみる様にしてもよい。全て
のロック要求受理応答を受信した時点で、トランザクシ
ョンを実行することができる。
デッドロック検出処理(ステップ30)においては、ト
ランザクション制御部13は全てのデータ制御部12に
待ち関係グラフ要求をブロードカストする。データ制御
部12は待ち関係グラフ要求を受信すると、待ち関係グ
ラフ送出を行う(ステップ38)。トランザクション制
御部I3は全てのデータ制御部12から待ち関係グラフ
を受信すると、そわらを連結して一つの待ち関係グラフ
を作成する。
そして次の(g)又は(h)の処理を行う。
(g)作成した待ち関係グラフから、再送したロック要
求に対応するトランザクションを含むループが存在すれ
ばデッドロックが生じているのでそのロック要求のアボ
ート処理を行う(ステップ30〜32)。即ち、この処
理では該当するロック要求をアポートするアポート命令
をデータ制御部12に送信する。
(h)その様なループが存在しなければ、デッドロック
が生じていないので全てのロック要求受理応答の受信を
待ち、受信後トランザクションを実行し、ロック解除処
理を行う(ステップ30,31゜25.26 )。
なお、デッドロック検出中に、すべてのロック要求受信
応答を受信すればその時点でデッドロック検出処理(ス
テップ30)を中断して、トランザクションを実行して
よい(ステップ25)。ただし、以降に届いた待ち関係
グラフは全て棄却しなければならない。
データ制御部12はトランザクション制御部13のトラ
ンザクション実行(ステップ25)時にデータ処理命令
を受信すると該当するデータの処理を行い(ステップ3
7)、ロック解除処理(ステップ26)時にロック解除
命令を受信したときは、該当するロック解除処理を行う
(ステップ36)。また、トランザクション制御部13
のアボート処理(ステップ32)時にアボート命令を受
信すると、該当するロック要求をアボートする処理を行
う(ステップ39)。
最後に、具体例について述べる。
データ制御部を持つサイトA、B、Cがあり、そわらの
サイトが持つ待ち関係グラフが第4図(a) 、 (b
) 、 (C)の様になっているとする。同図において
、41はトランザクション、42は待ち関係、43はト
ランザクションの発生順序を示すトランザクション番号
である。このとき、トランザクションT1のロック要求
を行ったトランザクション制御部3を持つサイトDか、
ロック要求の再送を行い、再送に対するロック要求保留
応答を受信したために、デッドロック検出処理(ステッ
プ26)を行うとする。このとき、サイトA、B、Cが
持つ待ち関係グラフはサイトDに送られ、それらのグラ
フは連結され、第5図の様なグラフが作成される。この
グラフにおいて、トランザクションT1を含むループ5
1が存在するためにデッドロックが生じている。したが
って、トランザクションT!のだめのロック要求をアポ
ートする。
(発明の効果) 以上、詳細に説明したように、本発明によればトランザ
クション要求発生時に、所要データを持つ関連サイトへ
のロック要求をブロードカストすることにより実現する
のでメツセージの交換回数が少なくてすみ、かつデッド
ロックの起こる割りあいが稀になる。また、ロック要求
に対する応答には、そのロック要求を受理するか保留す
るかを示す情報が加えられている。そのため、ロック要
求の衝突がなく受信バッファのビジーのない平常時には
、ロックに必要なメツセージの交換回数は、所要データ
を持つ関連サイト数をNとすると、ロック要求のブロー
ドカスト1回と、ロック要求受理応答N回の和、すなわ
ち1+N回でよいため、メツセージの交換回数を世く押
さえることが可能となる。さらに、デッドロックはロッ
ク要求の再送が発生した場合に起こりうるが、さらに状
況をしぼりこみ、ロック要求の再送に対する応答の中に
、ロック要求保留応答が含まれていた場合に限り、デッ
ドロック検出処理を行っている。
したがって、無駄なデッドロック検出処理を少なくする
ことができ、全体のメツセージ交換回数の低減が期待で
きる。
【図面の簡単な説明】
第1図は本発明の一実施例のシステム構成図、第2図は
トランザクション制御部の動作を示すフローチャート、
第3図はデータ制御部の動作を示すフローチャート、第
4図はサイトA、B、Cの待ち関係グラフを示す図、第
5図は結合された待ち関係グラフを示す図、第6図はデ
ータのロックの必要性を示す図、第7図はデッドロック
検出。 解?1!I機構の必要性を示す図、第8図はループの存
在する待ち関係グラフを示′f図、第9図はサイト間に
分散されたループを持つ待ち関係グラフを示す図である
。 10・−サイト 11・・・データ格納部 12−・・データ制御部

Claims (1)

  1. 【特許請求の範囲】 同報通信が可能な通信網にトランザクション制御部、及
    びデータ格納部を備えたデータ制御部のうち少なくとも
    一方を有するサイトを複数個接続した分散処理システム
    において、 前記トランザクション制御部には、データ制御部のトラ
    ンザクションの待ち関係グラフを結合して全体の待ち関
    係グラフを作成する第1の手段と、 該全体の待ち関係グラフに基づいてデッドロックを検出
    し、そのデッドロックを解消する第2の手段とを設け、 トランザクション制御部を持ちトランザクションが発生
    した処理サイトがデータ格納部に所要データを持つ関連
    サイトにロック要求を同報送信し、 該ロック要求を受信した関連サイトはロック要求を受理
    するか保留するかの応答を行い、 前記処理サイトは一定時間内に前記応答を返さないサイ
    トにロック要求を再送し、該再送に対して保留応答を受
    信した場合には、データ制御部を持つ全サイトに各サイ
    トの待ち関係グラフの送出要求を同報送信し、該待ち関
    係グラフを受信して全体の待ち関係グラフを作成し、該
    グラフにおいて、該処理サイトで発生したトランザクシ
    ョンを含むループの有無に基づきデッドロックを検出す
    ることを特徴とする分散処理システムのデッドロック検
    出方式。
JP61194051A 1986-08-21 1986-08-21 分散処理システムのデツドロツク検出方式 Pending JPS6352263A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61194051A JPS6352263A (ja) 1986-08-21 1986-08-21 分散処理システムのデツドロツク検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61194051A JPS6352263A (ja) 1986-08-21 1986-08-21 分散処理システムのデツドロツク検出方式

Publications (1)

Publication Number Publication Date
JPS6352263A true JPS6352263A (ja) 1988-03-05

Family

ID=16318130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61194051A Pending JPS6352263A (ja) 1986-08-21 1986-08-21 分散処理システムのデツドロツク検出方式

Country Status (1)

Country Link
JP (1) JPS6352263A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845117A (en) * 1993-03-19 1998-12-01 Fujitsu Limited Deadlock detecting device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845117A (en) * 1993-03-19 1998-12-01 Fujitsu Limited Deadlock detecting device

Similar Documents

Publication Publication Date Title
US5802062A (en) Preventing conflicts in distributed systems
JP2583027B2 (ja) トランザクション・メッセージを処理するための装置、システムおよび方法
US5428771A (en) Transparent transaction coordination between distributed networks having different communication protocols
EP0477123B1 (en) A method of managing unit-of-work identifiers in a distributed transaction processing system
EP0618532B1 (en) Deadlock detecting device
JP3268534B2 (ja) 保護された資源の同期点管理を行うコンピュータ・システム
JP3066660B2 (ja) トランザクション処理環境における通信インターフェース
JP3293839B2 (ja) 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
JP2691081B2 (ja) コンピュータ・ネットワーク
US6959337B2 (en) Networked system for assuring synchronous access to critical facilities
JPH04229333A (ja) コミット手順の非同期的再同期化実行装置および方法
JPH04229358A (ja) 同期点回復手段を有するコンピュータ装置
JPH06215032A (ja) 分散トランザクション処理システムのデータベースの信頼性と応答時間を向上させる方法および装置
JPH04229332A (ja) コミット手順におけるエラー・コードおよびエラー記述情報の処理装置および方法
JP2004529431A (ja) 準備処理を取り入れたクラスタード・コンピュータ・システムにおけるリソース・アクション
JPH087691B2 (ja) コンピュータ・システム及びアプリケーションプログラム実行方法
US8006248B2 (en) Method, apparatus and computer program for facilitating communication between a client application and a server application
JP3445797B2 (ja) 最適化された同期化プロシージャ
US5258982A (en) Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
JPH077979B2 (ja) 非同期的プロトコル対話の同期化方法及び装置
CN112995262B (zh) 分布式事务提交方法、系统及计算设备
JP2850863B2 (ja) 排他制御装置
US7028219B2 (en) Hybrid method for flushing transaction state in a fault-tolerant clustered database
JPS6352263A (ja) 分散処理システムのデツドロツク検出方式
CN102055606A (zh) 一种业务支撑系统中的业务处理方法、系统及设备