JPS62232064A - 分散デ−タベ−スシステムのデツドロツク防止方式 - Google Patents

分散デ−タベ−スシステムのデツドロツク防止方式

Info

Publication number
JPS62232064A
JPS62232064A JP61074211A JP7421186A JPS62232064A JP S62232064 A JPS62232064 A JP S62232064A JP 61074211 A JP61074211 A JP 61074211A JP 7421186 A JP7421186 A JP 7421186A JP S62232064 A JPS62232064 A JP S62232064A
Authority
JP
Japan
Prior art keywords
access
database
data processing
access order
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
JP61074211A
Other languages
English (en)
Other versions
JPH0679284B2 (ja
Inventor
Shinichi Kamiyama
真一 神山
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61074211A priority Critical patent/JPH0679284B2/ja
Publication of JPS62232064A publication Critical patent/JPS62232064A/ja
Publication of JPH0679284B2 publication Critical patent/JPH0679284B2/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
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は分散データベースシステムのデッドロック防止
方式に係り、特に分散システム間でのデッドロック検出
のための制御情報の転送量を削減するのに好適なデッド
ロック防止方式に関する。
〔従来の技術〕
分散データベースシステムでは、複数のデータ処理装置
がそれぞれデータベースを分散して持ち。
これらのデータベースに対して、各データ処理装置が任
意にアクセスできるようになっている。このような分散
データベースシステムにおいては。
各データ処理装置の間で自分がアクセスしようとするデ
ータベースのリソースが他のデータ処理装置で使用され
ていて、すべてのデータ処理装置が待ち状態になると、
システムはデッドロックにおちいる。このため、従来は
各分散データベースのリソースに対するアクセスの順序
を予め設定し。
各データ処理装置でこのアクセスの順序を厳守するよう
にして、システムがデッドロックにおちいるのを防止し
ている。
なお、この種分散データベースシステムにおけるプツト
ロック検出及び防止方式の従来技術は、例えば(株)企
画センタ発行G、A、シャンパイン著藤田獣訳「分散コ
ンピュータ・システム−経営へのインパクト、設計と分
析J(1981年)の338頁〜341頁において論じ
られている。
〔発明が解決しようとする問題点〕
従来技術においては、分散データベースに対するアクセ
スの順序をあらかじめ設定しておくことにより、デッド
ロックの防止を厳密に行うことができるが、デッドロッ
ク検出のための待機フラグ作成のため、リソース割付け
が発生する毎に全ての分散システム(ノード)にリソー
ス割付は情報を転送するなど、ノード間での情報転送量
が多くなり、そのためのオーバヘッドが問題となる。
本発明の目的は、分散データベースシステムにおいて5
分散システム間でのデッドロック検出のための制御情報
の転送量を削減することにある。
〔問題点を解決するための手段〕
上記目的は、各分散システムに、トランザクションを処
理するプログラム(以下、プロセスという)からの要求
が予め定めたリソースアクセス順序に違反しているかど
うか判定する手段と、違反している場合、そのアクセス
の結果がデッドロックを生じる可能性があるかどうかを
判定する手段を設け、分散データベースへのアクセスが
予め定めたリソースアクセス順序に違反することを許可
し、違反した要求のリソースが他のプロセスに割付けら
れている場合のみ該要求を受付けないとすることにより
達成される。
〔作 用〕
本発明では、現実の分散システムがデッドロックの多発
を防止するためにデータベースに対するアクセスの順序
をあらかじめ設定していることに着目して、あるプロセ
スから要求されたデータベースが他のプロセッサに割付
は中であり、かつそのアクセス要求があらかじめ設定さ
れたアクセス順序に違反している場合にのみ該要求を受
付けないことによってデッドロックの可能性を防止して
いる。そのため、データベースに対してアクセスの順序
に従ってアクセス順序番号を付けておけば、分散システ
ム間でのデッドロック防止のための制御情報を該プロセ
スがどのデータベースまでアクセスしているかを示すア
クセス順序番号だけにすることができる。実際、該プロ
セスが過去にアクセスしたデータベースのアクセス順序
番号のうち最大のものと、現在アクセス要求しているデ
ータベースのアクセス順序番号を比較することにより。
現在のアクセス要求がアクセス順序に違反しているかど
うかの判定が可能である。
〔実施例〕
以下、本発明の一実施例について図面により説明する。
第1図は本発明方式が適用される分散データベースシス
テムの一実施例を示す。第1図において。
データ処理袋!1,10.11はそれぞれデータベース
2を具備すると共に、各データ処理装置の間は通信回線
3により相互に接続されている。各データ処理袋[1,
10,11は、通信プログラム4、制御システム5及び
プロセス6.7あるいは8のソフトウェア資源を有して
いる。さらに、制御システム5は、リクエスト転送プロ
グラム51、リクエスト受付はプログラム52、プログ
ラム管理テーブル53.リソース管理テーブル54及び
アクセス実行ルーチン55から構成される。
通信プログラム4は他のデータ処理装置へデータベース
アクセス要求を送信したり、その応答を受信したりする
機能を提供する。
プロセス6.7又は8は業務を実行するプログラム部分
であり、データベースに対するアクセスは制御システム
5を通して実行される。プロセスの状態には、実行中、
リソース待ち、キャンセルの各状態があり、その状態は
プロセス管理テーブル53上に表現されている。
データベース2は制御システム5を通してアクセスされ
るユーザデータの集合である。データベース2のリソー
ス割付は状況には、空きと特定プロセス割付は中の2つ
の状態があり、リソース管理テーブル54上に表現され
る。
制御システム5のリクエスト転送プログラム51は他の
分散データベースシステムのアクセス要求メツセージを
組み立てる機能を提供する。リクエスト受付はプログラ
ム52は本発明の中核となる部分であり、各プロセスか
らの要求がリソースアクセス順序番号に違反しているか
どうかの判定。
要求されたリソースの該プロセスへの割付け、該リソー
スが他のプロセスに割付は中かどうかの判定、及びアク
セス順序番号に違反した要求のリソースが他プロセスに
割付は中の場合に該プロセスをキャンセルする機能を提
供する。また、リクエスト受付はプログラム52は、プ
ロセス管理テーブル53及びリソース管理テーブル54
を管理する。アクセス実行ルーチン55はデータベース
2への実際のアクセスを実行する。
次にアクセス順序及びその番号の管理について説明する
データベース2のアクセス順序はシステム設計者によっ
て設定され、その結果が第3図に示すようなリソース管
理テーブル54として、リソースIDとアクセス順序番
号のテーブルが作成される。
本例では、データベースA及びデータベースBはデータ
ベースC及びデータベースDよりも前にアクセスすると
いう順序付けになっており、またデータベースCはデー
タベースDよりも前にアクセスする順序付けになってい
る。リソース割付は状況は、プロセス6.7.8がそれ
ぞれデータベースB、データベースA、データベースD
をアクセスし、各データベースが該プロセスに割付けら
れていることを示している。また、データベースCは空
きの状態である。
プロセス6.7及び8の状態は第2図に示すようなプロ
セス管理テーブル53で管理されている。
本例では、プロセス6はアクセス順序番号が1までのデ
ータベースをアクセスした後の処理継続中であり、プロ
セス8はアクセス順序番号が6までのデータベースをア
クセスした後の処理継続中である。また、プロセス7は
、アクセス順序番号が1までのデータベースをアクセス
した後、データベースDをアクセスしようとして、デー
タベースわがプロセス8に割付は中のためデータベース
D待ち状態となっている。
プロセス管理テーブル53及びリソース管理テーブル5
4は各データ処理装置1.’10.11に分散して管理
されている。第2図のプロセス管理テーブル53の場合
、プロセス6及びプロセス8の状態はそれぞれデータ処
理装置11及びデータ処理装置1で管理されており、プ
ロセス7の状態はデータベースD待ち状態であるためデ
ータ処理装置11で管理されている。第3図のリソース
管理テーブル54はそれぞれのデータベースが存在する
データ処理装置で管理される。すなわち、データベース
Aはデータ処理装置1で、データベースB及びCはデー
タ処理装置10で、データベースDはデータ処理装置1
1で管理されている。
第2図及び第3図の状態でプロセス8がデータベースC
をアクセスする場合、第4図に示す形式のリクエストメ
ツセージがデータ処理装置1からデータ処理装置10へ
転送される。第4図において、プロセスID=プロセス
8、最大アクセス順序番号=6.リソースID=データ
ベースCである。データ処理装置1110では、このリ
クエストがアクセス順序に違反していることを判定する
が、データベースCが空き状態のため、これをプロセス
8に割付け、データベースCのアクセスを実行する。ア
クセス結果は第5図の形式でデータ処理装置10からの
データ処理装置1へ転送される。
この場合、最大アクセス順序番号には6がセットされる
第2図及び第3図の状態でプロセス8がデータベースB
をアクセスする場合も同様に、データ処理袋[1からデ
ータ処理装置10へ第4図のリクエストメツセージが転
送される。この場合、プロセスID=プロセス8、最大
アクセス順序番号=6、リソースID=データベースB
である。データ処理装置10ではデータベースBのアク
セス順序番号が1と最大アクセス順序番号以下のため、
アクセス順序に違反したリクエストと判定する。
しかもデータベースBが他のプロセス6に割付は中のた
めデッドロック発生の可能性ありとして、データ処理装
置10はプロセス8のキャンセルをデータ処理装置1へ
要求する。
次に、このように他のデータ処理装置へのアクセス要求
の転送処理及び受付は処理を実行するプログラムである
リクエスト転送プログラム51及びリクエスト受付はプ
ログラム52について説明する。
リクエスト転送プログラム51は第6図に示す処理を行
う。まず、他のシステム宛の要求がプロセスから発行さ
れると、プロセス管理テーブル53から該プロセスの最
大アクセス順序番萼を得る(処理101)、プロセスI
D及び最大アクセス順序番号を制御情報にセットして第
4図に示すリクエストメツセージを作成する(処理10
2)。
このようにして作成したリクエストメツセージの転送を
通信プログラム4に要求する(処理103)。
リクエスト受付はプログラム52は第7図に示す処理を
行う。まず通信プログラム4からリクエストメツセージ
、を受取ると、プロセスID及び最大アクセス順序番号
をプロセス管理テーブル53ヘセツトする(処理201
)。要求されたりソースが他のプロセスに割付は中かど
うかを調べる(処理202)、もし割付は中ならば、次
に該リソースのアクセス順序番号が該プロセスの最大ア
クセス順序番号よりも大かを調べる(処理203)。
アクセス順序を守った要求ならば、リソースのアクセス
順序番号がプロセスの最大アクセス順序番号よりも大で
あり、この場合、該プロセスはリソース待ち状態となる
(処理204)。万一、アクセス順序に反していれば、
リソースのアクセス順序番号がプロセスの最大アクセス
順序番号よりも小又は等しくなるため、この場合にはデ
ッドロックの発生する可能性ありとして該プロセスをキ
ャンセルする(処理205)、要求されたリソースが割
付は中でない場合は、該リソースのアクセス順序番号が
該プロセスの最大アクセス順序番号よりも大かを調べ(
処理206)、もし大ならばプロセス管理テーブル53
の最大アクセス順序番号に該リソースのアクセス順序番
号をセットする(処理207)。次に、該リソースを該
プロセスへ割付は中とし、アクセスを実行する(処理2
08)。
本実施例によれば、システム間で転送される制御情報を
プロセスID及び最大アクセス順序番号に限定できると
−もに、デッドロック判定の際のシステム間での情報交
換を全て削除しており、制御情報転送量の削減の効果が
ある。
〔発明の効果〕
本発明によれば、分散データベースシステムにおいて、
デッドロック防止のための制御情報をプロセスIDと最
大アクセス順序番号に限定でき、またデッドロックの可
能性の判定を他のシステムへ間合せることなく行うこと
ができるので、デッドロック防止に必要なシステム間の
制御情報転送量を軽減する効果がある。
【図面の簡単な説明】
第1図は本発明方式による分散データベースシステム全
体の一実施例を示す図、第2図はプロセス管理テーブル
の詳細図、第3図はリソース管理テーブルの詳細図、第
4図はシステム間のリクエストメツセージの詳細図、第
5図はシステム間のアクセス結果メツセージの詳細図、
第6図はリクエスト転送プログラムの処理フロー図、第
7図はリクエスト受付はプログラムの処理フロー図であ
る。 1.10.11・・・データ処理装置、2・・・データ
ベース、 3・・・通信回線、4058通信プログラム
、 5・・・制御システム、6.7.8・・・プロセス
、 51・・・リクエスト転送プログラム、 52・・
・リクエスト受付プログラム、  53・・・プロセス
管理テーブル、54・・・リソース管理テーブル、  
55・・・アクセス実行ルーチン。

Claims (1)

    【特許請求の範囲】
  1. (1)複数のデータ処理装置がそれぞれデータベースを
    分散して持ち、該分散されたデータベースのリソースに
    対していずれのデータ処理装置からも任意にアクセスで
    きる分散データベースシステムにおいて、前記分散され
    たデータベースのリソース全体にアクセス順序番号を付
    け、各データ処理装置において、リソースアクセス要求
    が前記アクセス順序番号に違反しているかどうか判定し
    、違反している場合、該当リソースがすでに他のリソー
    スアクセス要求のために割付けられている場合のみ前記
    リソースアクセス要求の受け付けをキャンセルすること
    を特徴とする分散データベースシステムのデッドロック
    防止方式。
JP61074211A 1986-04-02 1986-04-02 分散デ−タベ−スシステムのデツドロツク防止方式 Expired - Lifetime JPH0679284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61074211A JPH0679284B2 (ja) 1986-04-02 1986-04-02 分散デ−タベ−スシステムのデツドロツク防止方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61074211A JPH0679284B2 (ja) 1986-04-02 1986-04-02 分散デ−タベ−スシステムのデツドロツク防止方式

Publications (2)

Publication Number Publication Date
JPS62232064A true JPS62232064A (ja) 1987-10-12
JPH0679284B2 JPH0679284B2 (ja) 1994-10-05

Family

ID=13540628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61074211A Expired - Lifetime JPH0679284B2 (ja) 1986-04-02 1986-04-02 分散デ−タベ−スシステムのデツドロツク防止方式

Country Status (1)

Country Link
JP (1) JPH0679284B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052467A1 (ja) * 2009-10-30 2011-05-05 株式会社エヌ・ティ・ティ・データ データアクセス装置、データアクセス方法およびデータアクセスプログラム
JP2018511886A (ja) * 2015-04-01 2018-04-26 アビニシオ テクノロジー エルエルシー 分散型コンピューティングシステムにおけるデータベーストランザクションの処理

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052467A1 (ja) * 2009-10-30 2011-05-05 株式会社エヌ・ティ・ティ・データ データアクセス装置、データアクセス方法およびデータアクセスプログラム
JP2011096065A (ja) * 2009-10-30 2011-05-12 Ntt Data Corp データアクセス装置、データアクセス方法およびデータアクセスプログラム
US8666959B2 (en) 2009-10-30 2014-03-04 Ntt Data Corporation Data access device, data access method and data access program
JP2018511886A (ja) * 2015-04-01 2018-04-26 アビニシオ テクノロジー エルエルシー 分散型コンピューティングシステムにおけるデータベーストランザクションの処理

Also Published As

Publication number Publication date
JPH0679284B2 (ja) 1994-10-05

Similar Documents

Publication Publication Date Title
EP0428006B1 (en) Multilevel locking system and method
EP0972240B1 (en) An agent-implemented locking mechanism
US5706516A (en) System for communicating messages among agent processes
JP2705717B2 (ja) ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法
US8990179B2 (en) Time limited lock ownership
US7376744B2 (en) Using local locks for global synchronization in multi-node systems
US5613139A (en) Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message
US6272491B1 (en) Method and system for mastering locks in a multiple server database system
US5745747A (en) Method and system of lock request management in a data processing system having multiple processes per transaction
US7246167B2 (en) Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections
JP3697148B2 (ja) 分散コンピュータ環境において、複数のマルチスレッド化プロセスに渡ってコミュニケータを設定する方法およびシステム
US6412034B1 (en) Transaction-based locking approach
US6697901B1 (en) Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities
EP0563624B1 (en) Method and apparatus for performing conditional operations on externally shared data
US5442785A (en) Method and apparatus for passing messages between application programs on host processors coupled to a record lock processor
JPH1145187A (ja) 分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータプログラム生産物、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法
US20020116383A1 (en) Method and system for leasing storage
US20040243578A1 (en) Techniques for achieving higher availability of resources during reconfiguration of a cluster
EP1891525A2 (en) Techniques for handling lock-related inconsistencies
JPS62232064A (ja) 分散デ−タベ−スシステムのデツドロツク防止方式
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
EP0286807A2 (en) Method for regulating access by concurrent transactions to resources
US6704765B1 (en) System for allocating resources among agent processes
JPH02247748A (ja) マルチプロセッサによるデータベース処理方式
CA1287178C (en) Extended process for a multiprocessor system