JPH09146817A - 排他制御方法 - Google Patents

排他制御方法

Info

Publication number
JPH09146817A
JPH09146817A JP7300968A JP30096895A JPH09146817A JP H09146817 A JPH09146817 A JP H09146817A JP 7300968 A JP7300968 A JP 7300968A JP 30096895 A JP30096895 A JP 30096895A JP H09146817 A JPH09146817 A JP H09146817A
Authority
JP
Japan
Prior art keywords
exclusion
exclusive
oid
lock
exclusive control
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
JP7300968A
Other languages
English (en)
Other versions
JP3674117B2 (ja
Inventor
Toshihiko Fukuda
俊彦 福田
Kiyo Kobayashi
挙 小林
Satoru Wakayama
哲 和歌山
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 JP30096895A priority Critical patent/JP3674117B2/ja
Priority to US08/746,904 priority patent/US5890153A/en
Publication of JPH09146817A publication Critical patent/JPH09146817A/ja
Application granted granted Critical
Publication of JP3674117B2 publication Critical patent/JP3674117B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

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)【要約】 【課題】データベースシステムの排他制御において、排
他対象の代替の概念に基づいた排他制御規約を導入可能
にし、排他管理対象を削減し、排他制御のオーバヘッド
を削減することにある。 【解決手段】データベース管理システムの排他制御部で
は、排他制御管理テーブルを用いて排他制御を行なう。
オブジェクト111bに対する排他をオブジェクト11
1aで代替するように指定されている場合、オブジェク
ト111bに対して共有錠をかけるときに、排他制御管
理テーブルのレコードにオブジェクト111aの排他資
源IDを登録することにより、複数の排他対象に対する
施錠を、代表となる1つの排他対象の施錠によって排他
の代替をする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、排他制御機能を有
するデータベースシステムに係わり、特に排他対象間で
施錠を代替する排他制御方法に関する。
【0002】
【従来の技術】データベース(以下DBと略記)システ
ムでは、複数のトランザクションを並行して実行すると
きにDBの一貫性を保証するために、DBを管理するD
B管理システム(以下DBMSと略記)により排他制御
機能が提供されている。
【0003】DBの排他制御については、「情報の構造
とデータベース、岩波講座情報化学−8、1983年」
(文献1とする)に記されているように、以下の機能が
要求される。
【0004】(1−1)あるトランザクションがDBの
ある対象を更新中のとき、他のトランザクションが当該
対象を更新することを抑止する。
【0005】(1−2)あるトランザクションがDBの
ある対象を更新中のとき、他のトランザクションが当該
対象を参照することを抑止する。
【0006】(1−3)あるトランザクションがDBの
ある対象を参照中のとき、他のトランザクションが当該
対象を更新することを抑止する。
【0007】このような排他制御機能を実現する手段と
して、2つのロックモードを用いた排他制御方法が知ら
れている。以下(2−1)〜(2−4)に、その排他制
御方法での規約を示す。
【0008】(2−1)更新する対象には、専有錠 (ex
clusive lock) をかける。専有錠とは、その施錠対象
を、他のトランザクションが参照することも更新するこ
とも許さない錠である。
【0009】(2−2)専有錠をかけたら、そのトラン
ザクションが終了するまで解錠しない。
【0010】(2−3)参照するだけの対象には、共有
錠 (share lock) をかける。共有錠とは、その施錠対象
を他のトランザクションが参照することは許すが、更新
することは許さない錠である。
【0011】(2−4)共有錠をかけたら、そのトラン
ザクションが終了するまで解錠しない。
【0012】排他制御に関する問題として、排他対象単
位の粒度 (granularity) に基づくトランザクション並
行性と排他制御処理のオーバヘッドとのトレードオフの
問題が挙げられる。
【0013】例えば、リレーショナルデータベースシス
テムにおいて、あるテーブルに属する大量のレコードを
更新するトランザクションがある場合、レコードを排他
単位として個々のレコードに施錠するよりも、テーブル
を排他単位として該テーブルにのみ施錠する方が、排他
制御のオーバヘッドが少なくなる。
【0014】しかし、上記で該テーブルに属するが更新
対象になっていないレコードを参照する他のトランザク
ションがある場合、テーブルを排他単位としていると、
該テーブルの施錠要求で競合するため、同時に実行でき
なくなる。
【0015】レコードを排他単位とすると、上記の2つ
のトランザクションは施錠が競合せずに実行できるが、
多くのレコードを排他対象とするため、排他制御のオー
バヘッドが大きくなる。
【0016】この問題に関して、 "Granularity of Loc
ks in a Large Shared DataBase",J.N.Gray, R.A.Lorie
and G.R.Putzolu, Proc. 1st International Conferen
ceon Very Large Data Base, 1975.(文献2とする)で
は、排他対象間の階層関係に基づいた排他制御規約を用
いて、効率よく排他を制御する方法について論じられて
いる。
【0017】例えば、リレーショナルデータベースシス
テムでは、データベースはテーブル(表)の集まりから
構成され、テーブルはレコードの集まりから構成される
ことから、この順序(データベース>テーブル>レコー
ド)で、階層を構成することができる。
【0018】文献2で論じられている排他制御方法で
は、上位の階層にある対象に施錠すると、下位の対象は
自動的に施錠されたものとみなす。
【0019】これは、以下の排他制御規約に従うことで
実現される。
【0020】(3−1)最初にどの対象を施錠してもよ
い。
【0021】(3−2)(3−1)以降は、直接の上位
階層が施錠されている場合だけ、対象を施錠できる。す
なわち上位階層から順番に施錠していく。
【0022】(3−3)トランザクション中は、一度施
錠し解除した対象をふたたび施錠しない。
【0023】また、前記の2つのロックモードの他に、
予定 (intention) の概念を持つロックモードを加え
て、6種類のロックモードを用いることにより、DB操
作の組み合わせに応じて、上位レベルの排他を競合させ
るにより排他制御のオーバヘッドを削減したり、競合さ
せずに並列性を高くしたりしている。
【0024】例えば、あるレコードに専有錠をかけると
きには、その上位のテーブルに対して専有予定錠をかけ
ておく。すると、他トランザクションでは、そのテーブ
ルに属する他のレコードの参照については、テーブルに
対して共有錠を要求するが、専有予定錠とは競合しなく
なっており、並行して実行できる。
【0025】しかし、レコードの更新については、テー
ブルに対して専有予定錠を要求するが、専有予定錠どう
しで競合するようになっており、レコード単位の施錠が
起こらないため排他制御のオーバヘッドが削減される。
【0026】また、排他制御処理のオーバヘッドを削減
する方法として、「特開平7−191898号公報」
(文献3とする)に記述されている方法がある。
【0027】この方法では、予め決められた排他制御用
の項目を登録する排他制御用テーブルを設け、当該項目
の値が排他対象となったときに、既に当該排他制御用テ
ーブルに登録されているかチェックすることにより、排
他制御のための入力データ量を削減し、排他制御のオー
バヘッドを少なくしている。
【0028】
【発明が解決しようとする課題】上記の従来技術では、
排他制御のオーバヘッドを少なくするために、上位レベ
ルの排他により下位レベルの排他を行なわないようにし
て、排他管理テーブルで管理する排他対象数を削減した
り、排他制御用テーブルのレコード長を小さくしてデー
タの入力量を減らすようにしているが、実際に排他制御
の対象として管理するものについては、その管理情報は
必ず排他制御用テーブルに1つのレコードとして登録さ
れていなければならない。
【0029】よって、大量の排他対象を扱うときには、
排他制御用テーブルのために大量の領域が必要とされ、
その管理のためのオーバヘッドが非常に大きくなるとい
う問題がある。
【0030】例えば、 "The OO7 Benchmark", Carey Mi
chael J., DeWitt David J.,Naughton Jeffery F., Pro
c. ACM SIGMOD Conference, June 93.(文献4とする)
に記載されているDBシステムのベンチマークテストの
あるモデルでは、1億件を超えるデータを同時に扱うモ
ードがある。
【0031】ここで、排他管理テーブルでは、 (a)排他対象のID (b)ロック保持者(トランザクション)のID (c)取得しているロックモード の関係を管理することにし、1つの排他対象に関する情
報は、このテーブルの1レコードで表わされるものとす
る。
【0032】このとき、この排他管理テーブルの1レコ
ードのデータ長を約100バイトとすると、1億件を超
えるデータを同時に排他制御する場合、10ギガバイト
以上の記憶領域が必要になってしまう。
【0033】一方、DBシステムを計算機上で運用する
場合、DBMSが主記憶に確保できる領域を数十メガバ
イト程度であるとすると、その全てを排他管理テーブル
のために使用したとしても、上記の排他管理テーブルの
レコードでは、数十万件分しか取扱えない。これでは、
上記のベンチマークテストのようなDB操作を実行する
ことができない。
【0034】大容量の2次記憶装置を利用して、排他管
理テーブルを分割して保持させ、排他制御処理で必要な
るテーブルの部分を主記憶にキャッシングするようにす
れば、主記憶領域が少なくても大量の排他対象を管理で
きるが、2次記憶装置とのデータ入出力の処理コストが
非常に大きいため、排他制御のオーバヘッドが非常に大
きくなってしまう。
【0035】文献3のように、排他管理テーブルのレコ
ード長を小さくすれば、排他制御に必要な領域が少なく
なるが、レコードに保持する必要がある最低限の情報量
を考えると、数分の1程度にしか削減できず、数千分の
1など大幅な領域削減をすることはできない。
【0036】文献4の記述によれば、実際に既存のオブ
ジェクト指向データベース管理システムを用いて上記の
テストを行なうときは、データページ単位の排他を使用
している。
【0037】この方法では、同一データページ中に格納
されるオブジェクトが多いほど、排他対象となるデータ
ページ数が少なくなり、排他管理テーブルに登録される
レコード数を削減できるが、同一データページ中に格納
されるオブジェクトが少ないと、排他対象数を削減する
効果は少ない。
【0038】また、同一データページに格納されている
オブジェクトがまとめて排他管理されることについて
は、オブジェクト単位の排他の観点からみれば不適切で
あるし、トランザクション並列性が低下するという問題
がある。
【0039】この問題の根本的な原因は、排他管理テー
ブルに登録するレコード数が多いということにあるの
で、その対策としては、登録するレコード数を削減する
ことが考えられる。但し、単にレコード数を減らすと、
排他対象について正しく排他制御が動作しなくなってし
まう。
【0040】そこで、レコード数を減らし、かつ、全て
の排他対象を施錠している場合と同等の効果を出すため
に、「1つの排他対象の施錠で、複数の排他対象を施錠
しているものとみなす」、つまり、「ある排他対象に対
する施錠で、他の排他対象の施錠を代替する」ことを考
える。
【0041】ここで注意すべきことは、階層関係に基づ
く排他の例でのテーブルの排他や、データページ単位の
排他は、オブジェクト単位の施錠を代替しているのでは
なく、排他単位を上位レベルに変えて別の次元で排他管
理しているのであり、同じレベルの排他を管理して代替
しているわけではない。
【0042】また、データページ単位の排他では、物理
的な格納の構成によって同時に排他されるオブジェクト
群が決定されてしまうが、排他対象間の施錠を代替する
従属的な関連は、物理的な格納構成とは独立にすべき
で、論理的に関連付けられることが望ましい。
【0043】施錠の代替を適用する方法としては、上記
のベンチマークテストのモデルでは、データ間の部品関
係をその基準とすることができる。
【0044】このモデルの部品関係では、部品関係の子
データはその親データに専有されているという従属的な
関連がある。
【0045】よって、子データについては、排他管理上
では、親データと同一に管理されてもよく、子データに
直接施錠しなくても、代わりに親データが施錠されてい
れば、子データに施錠されていることと同等の効果があ
る。つまり、親データの施錠により、子データの施錠を
代替することができる。この場合、直接施錠する必要が
あるのは部品関係の親データのみでよい。
【0046】このように、施錠の代替を適用することに
より、上記のベンチマークテストのモデルでは、同時に
排他管理する対象数は、1億件のうちの15000件程
度となる。この程度の件数であれば、上記の排他管理テ
ーブルを主記憶領域で保持可能となる。
【0047】しかし、前述の従来技術では、施錠を代替
することができず、また、論理的な排他対象間の従属的
関連をもとに施錠を代替する排他制御規約を設定するこ
とができなかった。
【0048】本発明の目的は、データベースシステムの
排他制御において、排他対象の代替の概念に基づいた排
他制御規約を導入可能にし、排他制御のオーバヘッドを
削減することにある。
【0049】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の排他制御方法は、排他制御の対象となる複
数の排他対象について、ある排他対象1に対して直接施
錠していなくても、該排他対象1と異なる他の排他対象
2に対して施錠することにより、排他対象1に対する施
錠を代替することを特徴とする。
【0050】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を用いて詳細に説明する。
【0051】図1に本発明を適用したDBシステムの構
成図を示す。ここでは、オブジェクト指向データベース
システムに本発明を適用した例を示す。
【0052】DB101を利用するユーザ102a〜1
02cは、DBにアクセスする手段としてアプリケーシ
ョンプログラム103a〜103c(以下APと略記)
を介してDBを利用する。
【0053】DBを管理するDBMS104は、APに
対してDBを利用するためのインタフェイスとしてアプ
リケーションプログラムインタフェイス105(以下A
PIと略記)を提供する。
【0054】例えば、基本的なDB操作のために、以下
のようなAPIを提供する。
【0055】 (a)トランザクション開始 (b)トランザクションコミット (c)オブジェクト生成 (d)オブジェクト参照 (e)オブジェクト更新 (a)は、APからのDBに対する一連の操作要求を、
DBに対する論理的な作業単位(トランザクション)と
して、DBMSに認識させるためのAPIである。
【0056】トランザクション開始が正常に行なわれた
後、次に(b)トランザクションコミットを発行するま
でに、DBMSに対して要求した操作が、一連の操作と
してDBに認識される。
【0057】この要求は、トランザクション管理部10
6に伝えられ、以降のAPからのDB操作がトランザク
ションとして管理されるようになる。
【0058】(b)は、(a)によって開始したトラン
ザクションを終了させるためのAPIである。トランザ
クションコミットが正常に終了した時点で、当該トラン
ザクションでのDB操作が、格納制御部107を介して
DBに反映される。
【0059】(c)は、DBにオブジェクトを新規に作
成するためのAPIである。このAPIを発行する時に
は、予めディクショナリ管理部108で定義されたタイ
プを指定し、そのタイプの定義内容に従ってオブジェク
トのデータ構造を決定する。(d)は、DBシステムに
管理されているオブジェクトをAPプロセスで参照する
ためのAPIである。このAPIを発行すると、参照す
るオブジェクトに対して共有錠をかけるように排他制御
部109へ要求が自動的に伝えられる。施錠が正常に行
われると、その排他対象についての情報は、排他制御管
理テーブル110に保持される。
【0060】(e)は、DBシステムに管理されている
オブジェクトをAPプロセスで更新するためのAPIで
ある。このAPIを発行すると、更新するオブジェクト
に対して専有錠をかけるように排他制御部へ要求が自動
的に伝えられる。
【0061】DBMSは、DBシステム内で個々のオブ
ジェクト111a〜111bをそれぞれ一意に識別する
ために、オブジェクト識別子112a〜112b(Obje
ctIdentifier;以下OIDと略記)を各オブジェクトに
割り付ける。
【0062】APは、操作の対象とするオブジェクト
を、OIDを用いて指定することにする。オブジェクト
を排他制御する場合、個々のオブジェクトを排他対象と
して識別する手段が必要である。ここでは、排他制御の
管理上、排他対象をシステム内で一意に識別するために
用いる識別子を、排他資源IDと呼ぶことにする。
【0063】オブジェクトに対する排他資源ID113
については、排他資源の種別としてオブジェクトである
ことを示すフラグとOIDを組み合わせることで構成す
る。同様に、エリア、タイプ、データページについて
も、それぞれ排他対象種別フラグと、排他対象ID(エ
リアID、タイプID、データページID)を組み合わ
せることで排他資源IDを構成する。
【0064】排他制御管理テーブル110は、以下の項
目から構成される。
【0065】 (a)排他資源ID (b)ロックを保持しているトランザクションのID (c)ロックモード 項目(a)には、排他対象に対する排他資源IDを登録
する。
【0066】項目(b)には、項目(a)の排他対象に
対するロックを保持しているトランザクションIDを登
録する。トランザクションIDは、トランザクション開
始時に、トランザクション管理部から割り付けられる。
【0067】項目(c)には、排他対象に対してかけら
れているロックのロックモードを登録する。専有、共有
などのロックモードを示す値を登録する。
【0068】本発明で実現される排他の代替において、
実際に排他制御で管理対象となる(排他の従属的関連で
上位に位置し、複数の排他対象の代表となる)排他対象
を「代替排他の親」と呼び、また、実際には排他制御で
管理対象にならない(排他の従属的関連で下位に位置す
る)排他対象を「代替排他の子」と呼ぶことにする。排
他の代替を実現するには、ある代替排他の子を排他対象
とするときに、その排他対象自身に対応する排他資源I
Dではなく、その代替排他の親に対応する排他資源ID
を用いて排他を管理する。
【0069】例えば、代替排他の子オブジェクト112
b(OID=obj2)が参照の対象としてAPに指定
されたときに、排他制御部へ共有錠を要求するときに
は、代替排他の親オブジェクト112a(OID=ob
j1)の排他資源ID113が指定されるようにする。
【0070】図2に、OIDの構造とオブジェクトの格
納位置についての説明図を示す。
【0071】この例で使用するOIDには、論理形式と
物理形式の2種類の形式があり、DBの利用法に合わせ
て使い分けることにする。
【0072】物理形式OID201は、オブジェクトの
実体202aをデータベースファイル203の中で格納
している位置の情報をそのまま符号化し、物理形式OI
Dであることを示すフラグを付加したOIDで、特にD
Bに格納されているオブジェクトに高速にアクセスを行
ないたい場合に用いる。
【0073】このように、オブジェクトの格納位置情報
を符号化した識別子を、物理オブジェクト識別子(Phys
ical OID;以下POIDと略記)と呼ぶことにする。
【0074】論理形式OID204は、DBシステム内
で一意となる値(通し番号)を符号化し、論理形式OI
Dであることを示すフラグを付加したOIDで、オブジ
ェクトの識別性と実体の格納位置とを独立させ、物理的
な格納の構成に影響されずに柔軟にオブジェクト操作を
行ないたい場合に用いる。(通し番号は、DBMSの通
番管理部205と通番記録部206により、システム一
意になるように管理する。)例えば、物理形式OIDで
は、オブジェクトの格納位置を変更してしまうと、当該
物理形式OIDからでは、位置変更したオブジェクトを
正しく得られなくなる。また、もとの格納位置に別のオ
ブジェクトを格納してしまうと、そのオブジェクトが当
該物理形式OIDで識別されることになり、OIDの一
意性が失われてしまう。
【0075】論理形式OIDは、格納位置情報とは独立
しているので、OIDとオブジェクトの対応関係を正し
くメンテナンスすれば、オブジェクトの格納位置を変更
しても、一度割り付けたOIDの一意性は保たれる。
【0076】論理形式OIDだけでは、それに対応する
オブジェクト実体の格納位置を直接特定できないので、
論理形式OIDからオブジェクト実体の格納位置を知る
ための手段が必要である。ここでは、論理形式OIDを
キーとし、オブジェクト実体の格納位置情報(上記のP
OIDに相当)を値とするインデクス機構(以下、OI
D−格納情報インデクスと呼ぶ)を用いて、対応関係を
管理する。
【0077】OID−格納情報インデクスは、OID−
格納情報インデクス管理部207とOID−格納情報イ
ンデクスファイル208により管理する。
【0078】例えば、論理形式OID204に対応する
オブジェクトを求めるときには、OIDをキーとして、
OID−格納情報インデクスにより格納情報209を取
得し、その格納情報をもとにオブジェクトの実体202
bを得る。
【0079】ここでは、論理形式のOIDを、論理オブ
ジェクト識別子(Logical OID;以下LOIDと略記)
と呼ぶことにする。
【0080】図3に、APプロセスでのオブジェクト参
照の説明図を示す。
【0081】AP103aからオブジェクト参照の要求
があったときは、DBMS104は、DBシステムで管
理しているオブジェクトの内容を、APを実行する計算
機の主記憶上のAPプロセス領域にコピーし、そのアド
レスをAPに返す。(このコピー処理については後に詳
細に説明する。) DB101に格納されているオブジェクト202aは、
格納制御部107に格納位置を指定して取得される。
【0082】APは主記憶にコピーされた領域を参照す
る。このように、APプロセスでオブジェクトをコピー
しておく領域を、オブジェクトキャッシュ301と呼
ぶ。また、上記のようにDBシステムで管理されるオブ
ジェクトをオブジェクトキャッシュに固定し、APで参
照可能にすることを、オブジェクトの活性化という。活
性化したオブジェクトの状態を管理するため、オブジェ
クト状態管理テーブル302を用いる。
【0083】オブジェクト状態管理テーブルは以下の項
目からなる。
【0084】 (a)OID (b)オブジェクトの状態(新規作成/更新) (c)オブジェクトキャッシュ上のオブジェクト領域の
先頭アドレス (d)取得しているロックモード (e)代替排他のID 活性化されたすべてのオブジェクトに対して、キャッシ
ュ上での状態を示す情報が、このオブジェクト状態管理
テーブルに登録される。
【0085】すでに活性化されているオブジェクトにつ
いて、OID指定で活性化が要求されたときに、オブジ
ェクトキャッシュ上のオブジェクトの状態を知るため
に、OIDをキーとし、オブジェクト状態管理テーブル
のエントリの先頭アドレスを値とするハッシュ機構を用
いる。ここでは、このハッシュをOID−状態管理情報
ハッシュ303と呼ぶ。
【0086】例えば、図3の例では、OID=obj2
のオブジェクトが活性化されており、OID−状態管理
情報ハッシュには、当該オブジェクトのエントリ304
が登録されており、その値からオブジェクト状態管理テ
ーブルのエントリ305のレコードの先頭アドレスを取
得することができ、当該レコードから、オブジェクトに
対して共有錠を保持しており、代替排他の親IDがob
j1であることが示されている。
【0087】図4に、オブジェクトを生成するAPの処
理の例を示す。
【0088】まず、APプロセス領域初期化APIを発
行し(401)、オブジェクトキャッシュ領域、オブジ
ェクト状態管理テーブル、およびOID−状態管理情報
ハッシュの初期化を行なう。
【0089】次に、トランザクション開始を要求する。
(402)次に、オブジェクト生成を要求する。(40
3)このとき、生成するオブジェクトのタイプ、オブジ
ェクトを格納するエリア、割り付けるOIDの形式、代
替排他の親を指定する。
【0090】次に、トランザクションコミットを要求す
る(404)。
【0091】次に、APプロセス領域解放APIを発行
(405)し、APプロセスの領域を解放した後、AP
を終了する。
【0092】図5に、論理形式OIDを割り付けるオブ
ジェクトの生成処理を示す。
【0093】まず、階層関連で上位のエリア、タイプに
対して施錠する。(501)次に、代替排他の親IDが
指定されているか判定し(502)、指定されていると
きは、親IDに対して専有錠を要求する(503)。
【0094】次に、ディクショナリを参照し、指定され
たタイプからデータ構造情報を取得する(504)。
【0095】次に、504で取得したデータ構造情報を
もとに、オブジェクトキャッシュ上に領域を確保する
(505)。このとき、オブジェクト領域の先頭に、オ
ブジェクト制御ヘッダのための領域をとり、各オブジェ
クトの個別の制御情報(自分自身のOIDなど)を保持
するようにする。
【0096】次に、505で確保した領域にオブジェク
トを保持するために、504で取得したデータ構造に従
って、領域を初期化する(506)。
【0097】次に、論理形式OIDを割り付ける(50
7)。このとき、オブジェクト制御ヘッダ内に、自分自
身のOIDを保持させる。
【0098】次に、代替排他の親が指定されているか判
定する(508)。親が指定されていない場合は、新規
に割り付けたOIDの排他資源IDで専有錠を要求する
(509)。
【0099】次に、オブジェクト状態管理テーブルに、
新規に作成するオブジェクトの情報を登録する(51
0)。ここで、項目「オブジェクト状態」には、このト
ランザクションで新規に作成されたことを示すフラグを
オンにしておく。また、項目「取得しているロックモー
ド」に「専有」を示す値を、項目「代替排他ID」に代
替排他の親の排他対象IDを設定しておく。
【0100】次に、OID−状態管理情報ハッシュに当
該オブジェクトの情報を登録し(511)、この処理を
終了する。
【0101】このOID−状態管理情報ハッシュに登録
することにより、生成されたオブジェクトが活性化状態
になる。
【0102】オブジェクト生成処理が終了した時点で
は、新規オブジェクトはDBには格納せずに、トランザ
クションコミット処理でDBに格納する。
【0103】図6にトランザクションコミット処理を示
す。
【0104】まず、DBに反映すべきオブジェクトキャ
ッシュ上のオブジェクトを取得するために、オブジェク
ト状態管理テーブルからレコードを取得する(60
1)。
【0105】次に、項目「オブジェクト状態」が「新規
作成」であるかを判定する(602)。
【0106】「新規作成」の場合は、オブジェクトをD
Bに新規に格納し(603)、格納位置が決定した時点
でOID−格納情報インデクスに登録するレコードを作
成する(604)。
【0107】つづいて、代替排他の親を持つかを判定し
(605)、親を持つ場合は、登録するレコードに親の
IDを保持させて(606)、作成したレコードをOI
D−格納情報インデクスに登録する(607)。このと
き、登録するレコードには、当該オブジェクトに対応す
るエリアID、タイプIDを保持させておく。
【0108】602でオブジェクトの状態が「新規作
成」でない場合は、「更新」状態でないか判定する(6
08)。
【0109】「更新」状態のときは、キャッシュ上のオ
ブジェクトの内容をDBに反映するように、格納制御部
に対して更新要求する。(609)次に、オブジェクト
状態管理テーブルで、次にレコードが存在するかを判定
する(610)。
【0110】次のレコードが存在する場合は、オブジェ
クト状態管理テーブルの次のレコードを取得し(61
1)、602へ行く。
【0111】次のレコードが存在しない場合は、トラン
ザクション管理部にトランザクションコミットを要求し
(612)、この処理を終了する。
【0112】図7に、物理形式OIDを割り付けるオブ
ジェクトの生成処理を示す。
【0113】まず、階層関連で上位のエリア、タイプに
対して施錠する(701)。
【0114】次に、代替排他の親IDが指定されている
か判定し(702)、指定されているときは、親IDに
対して専有錠を要求する(703)。
【0115】次に、ディクショナリを参照し、指定され
たタイプに対応するデータ構造情報を取得する(70
4)。
【0116】次に、代替排他の親IDが指定されている
か判定し(705)、指定されているときは、オブジェ
クト領域サイズに親IDを保持する分のサイズを加えて
おく(706)。
【0117】次に、オブジェクトキャッシュ上に領域を
確保する(707)。
【0118】次に、707で確保した領域にオブジェク
トを保持するために、704で取得したデータ構造に従
って、領域を初期化する(708)。
【0119】次に、代替排他の親IDが指定されている
か判定し(709)、指定されているときは、オブジェ
クト領域の最後尾に親のIDを保持させる(710)。
【0120】また、オブジェクト状態管理テーブルに登
録するレコードに対して、項目「取得しているロックモ
ード」に「専有」を示す値を、項目「代替排他ID」に
代替排他の親の排他対象IDを設定しておく。ただし、
ここでは項目「オブジェクト状態」には、「新規」であ
ることは設定しない。
【0121】次に、オブジェクト状態管理テーブルに、
当該オブジェクトの情報を登録する(711)。
【0122】次に、オブジェクトをDBに格納する(7
12)。ここでのオブジェクトの格納は、物理形式OI
Dを割り付けるモードとする。
【0123】次に、OID−状態管理情報ハッシュに登
録し(713)、この処理を終了する。
【0124】物理形式OIDの場合は、OIDからオブ
ジェクトの格納位置情報が特定されるので、OID−格
納情報インデクスには登録する必要がない。
【0125】図8に、物理形式OIDを割り付けるオブ
ジェクトの格納処理を示す。
【0126】まず、DBの空き領域を探索して格納位置
を決定する(801)。
【0127】次に、その格納位置情報をもとに物理形式
OIDを割り付ける(802)。
【0128】次に、代替排他が指定されているかを判定
し(803)、代替排他が指定されていないときは、自
分自身のOIDに専有錠をかける(804)。
【0129】次に、DBにオブジェクトを書き出し(8
05)、この処理を終了する。
【0130】図9に、オブジェクトを参照するAPの処
理の例を示す。
【0131】まず、APプロセス領域初期化APIを発
行する(901)。
【0132】次に、トランザクション開始を要求する
(902)。
【0133】次に、オブジェクト活性化を要求する(9
03)。このとき、活性化するオブジェクトのタイプ、
OID、ロックモード(共有)を指定する。
【0134】次に、903で活性化したオブジェクトの
領域を参照する(904)。
【0135】次に、トランザクションコミットを要求す
る(905)。
【0136】次に、APプロセス領域解放APIを発行
し(906)、APを終了する。
【0137】図10に、オブジェクト活性化処理を示
す。
【0138】まず、ここでは、代替排他の親が設定され
ているオブジェクトに対して、その親を変更する操作が
並行して実行されないことを前提とする。
【0139】最初に、OID−状態管理情報ハッシュ
に、活性化対象として指定されたOIDが登録されてい
るか判定する(1001)。
【0140】登録されていないときは、指定されたOI
Dの形式が論理形式であるか判定する(1002)。
【0141】論理形式ならば、論理形式OIDのオブジ
ェクトをDBから活性化する処理(詳細は後述する)を
行ない(1003)、この処理を終了する。
【0142】論理形式でないときは、指定されたOID
の形式が物理形式であるか判定し(1004)、物理形
式ならば、物理形式OIDのオブジェクトをDBから活
性化する処理を行ない(1005)、この処理を終了す
る。
【0143】物理形式でないときは、「指定されたOI
Dの形式が不正である」ことを示すエラー情報を設定し
(1006)、この処理を異常終了する。
【0144】1001でOID−状態管理情報ハッシュ
に登録されているとき、すなわち、当該オブジェクトが
すでに活性化されているときは、その登録されている値
が示すオブジェクト状態管理テーブルのレコードを参照
し、APからの要求ロックモードが取得済みのロックモ
ードと一致するか判定する(1007)。
【0145】一致しないときは、オブジェクト状態管理
テーブルのレコードから代替排他の親IDを持つか判定
し(1008)、親IDを持つときは親IDに対して要
求ロックモードで排他制御部にロック要求する(100
9)。
【0146】親IDを持たないときは、当該オブジェク
ト自身のOIDに対して要求ロックモードで排他制御部
にロック要求する(1010)。
【0147】ロックが取得できれば、そのロックモード
をオブジェクト状態管理テーブルのレコードに保持して
おく。
【0148】次に、オブジェクト状態管理テーブルのレ
コードで項目「オブジェクト領域の先頭アドレス」の値
を返却値に設定し、この処理を終了する。
【0149】図11に、論理形式OIDオブジェクトの
DBからの読み込み処理を示す。
【0150】まず、OID−格納情報インデクスに、当
該OIDが登録されているか判定し(1101)、登録
されていないときは、「オブジェクトがDBに存在しな
い」ことを示すエラー情報を返却値に設定し(110
2)、この処理を異常終了する。 次に、インデクスか
ら取得される値から、エリアID、タイプIDを取得
し、階層関連の上位のロックを要求する(1103)。
【0151】次に、インデクスから取得される値から、
代替排他の親を持つか判定し(1104)、親を持つ場
合は、親のIDに対してAPからの要求ロックモードで
排他制御部にロック要求する(1105)。
【0152】親を持たない場合は、当該オブジェクト自
身のOIDに対して、APからの要求ロックモードで排
他制御部にロック要求する(1106)。
【0153】次に、インデクスから取得される値から格
納位置情報を取得し、それをもとに格納制御部に対して
オブジェクト実体の格納位置を指定し、DBのオブジェ
クトを取得してオブジェクトキャッシュ上にコピーする
(1107)。
【0154】次に、キャッシュ上のオブジェクトのオブ
ジェクト制御ヘッダに保持している自分自身のOID
と、当該処理で活性化を指定されたOIDとが一致する
かを判定する(1108)。ここでこの判定を行なうの
は、1101でOID−格納情報インデクスから格納情
報を取得した時点では、オブジェクトに対してロックが
取得されていないので、ロックを取得するまでの間に他
トランザクションにより当該オブジェクトが変更されて
いないか確認するためである。
【0155】OIDが一致しない場合は、「オブジェク
トがDBに存在しない」ことを示すエラー情報を返却値
に設定し(1109)、この処理を異常終了する。
【0156】OIDが一致する場合は、オブジェクト状
態管理テーブルに、当該オブジェクトを活性化した状態
の情報を登録し、OID−状態管理情報ハッシュに登録
する(1110)。
【0157】次に、返却値にオブジェクト領域の先頭ア
ドレスを設定し(1111)、この処理を終了する。
【0158】図12に、物理形式OIDオブジェクトの
DBからの読み込み処理を示す。
【0159】まず、APから指定されるエリアID、タ
イプIDについて、階層関連の上位のロックを要求する
(1201)。
【0160】次に、当該OIDに保持している格納位置
情報をもとに、格納制御部に対してオブジェクト実体の
格納位置を指定し、DBのオブジェクトを取得してオブ
ジェクトキャッシュ上にコピーする(1202)。
【0161】次に、キャッシュ上のオブジェクトのオブ
ジェクト制御ヘッダに保持している自分自身のOID
と、当該処理で活性化を指定されたOIDとが一致する
かを判定する(1203)。
【0162】OIDが一致しない場合は、「オブジェク
トがDBに存在しない」ことを示すエラー情報を返却値
に設定し(1204)、この処理を異常終了する。
【0163】次に、キャッシュ上のオブジェクトを参照
し、オブジェクト領域の最後尾に代替排他の親IDを保
持しているかを判定する(1205)。
【0164】親IDを持つときは、親IDに対して、A
Pからの要求ロックモードで排他制御部へロック要求す
る(1206)。
【0165】親IDを持たないときは、当該オブジェク
ト自身のOIDに対して、APからの要求ロックモード
で排他制御部へロック要求する(1207)。
【0166】ロックが取得できたら、次に、再度オブジ
ェクトをDBからキャッシュ上にコピーする(120
8)。これは、1202でDBを参照したときにはオブ
ジェクトに対してロックが取得されていなかったので、
オブジェクトの内容が保証されないからである。
【0167】次に、再度キャッシュ上のオブジェクトの
オブジェクト制御ヘッダに保持している自分自身のOI
Dと、当該処理で活性化を指定されたOIDとが一致す
るかを判定する(1209)。
【0168】OIDが一致しない場合は、「オブジェク
トがDBに存在しない」ことを示すエラー情報を返却値
に設定し(1210)、この処理を異常終了する。
【0169】OIDが一致する場合は、オブジェクト状
態管理テーブルに、当該オブジェクトを活性化した状態
の情報を登録し、OID−状態管理情報ハッシュに登録
する(1211)。
【0170】次に、返却値にオブジェクト領域の先頭ア
ドレスを設定し(1212)、この処理を終了する。
【0171】以上の図10〜図12に示す処理により、
オブジェクトを活性化するときに、代替排他を行なうよ
うに指定されたオブジェクトについて、代替排他が実現
される。
【0172】図13に、オブジェクトを更新するAPの
処理の例を示す。
【0173】まず、APプロセス領域初期化APIを発
行する(1301)。
【0174】次に、トランザクション開始を要求する
(1302)。
【0175】次に、オブジェクト活性化を要求する(1
303)。このとき、活性化するオブジェクトのタイ
プ、OID、ロックモード(専有)を指定する。
【0176】次に、活性化したオブジェクトの領域を更
新する(1304)。
【0177】次に、オブジェクトを更新したことをDB
MSに通知する(1305)。
【0178】更新通知を受けたオブジェクトについて
は、オブジェクト状態管理テーブルのレコードの項目
「オブジェクト状態」に、更新されたことを示すフラグ
が設定される。
【0179】次に、トランザクションコミットを要求す
る(1306)。
【0180】次に、APプロセス領域解放APIを発行
し(1307)、APを終了する。
【0181】この処理による更新要求は、先に図6で示
したようなトランザクションコミット処理により、DB
に反映される。
【0182】
【発明の効果】以上の説明のように、本発明によれば、
排他制御機構において排他の代替を行なうことが可能と
なり、複数の排他対象の施錠を1つの排他対象の施錠で
代替することができ、排他管理対象が削減され、効率の
よいDBシステムを実現することが可能である。
【図面の簡単な説明】
【図1】本発明のシステム構成図である。
【図2】OIDの構造とオブジェクトの格納位置を示す
図である。
【図3】APプロセスにおけるオブジェクト参照の説明
図である。
【図4】オブジェクトを生成するAPの処理を示すフロ
−チャ−トである。
【図5】論理形式OIDオブジェクト生成処理を示すフ
ロ−チャ−トである。
【図6】トランザクションコミット処理を示すフロ−チ
ャ−トである。
【図7】物理形式OIDオブジェクト生成処理を示すフ
ロ−チャ−トである。
【図8】物理形式OIDオブジェクトの格納処理を示す
フロ−チャ−トである。
【図9】オブジェクトを参照するAPの処理を示すフロ
−チャ−トである。
【図10】オブジェクト活性化処理を示すフロ−チャ−
トである。
【図11】論理形式OIDオブジェクトのDBからの読
み込み処理を示すフロ−チャ−トである。
【図12】物理形式OIDオブジェクトのDBからの読
み込み処理を示すフロ−チャ−トである。
【図13】オブジェクトを更新するAPの処理を示すフ
ロ−チャ−トである。
【符号の説明】
101…データベース 102a〜102c…データベースユーザ 103a〜103c…アプリケーションプログラム 104…データベース管理システム 105…アプリケーションプログラムインタフェイス 106…トランザクション管理部 107…格納制御部 108…ディクショナリ管理部 109…排他制御部 110…排他制御管理テーブル 111a〜111b…オブジェクト 112a〜112b…オブジェクト識別子 113…排他資源ID

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数のトランザクションを並行して実行す
    るときにデータベースの一貫性を保証するための排他制
    御機能を有するデータベース管理システムにおいて、排
    他制御の対象となる複数の排他対象の間で、排他に関し
    て従属的な関連をユーザが任意に関連付けられる手段を
    持ち、該手段による関連で下位に位置付けられるオブジ
    ェクトに施錠が必要となるユーザからの要求に対して、
    データベース管理システムが該排他対象に対しては直接
    施錠せずに、該排他対象の上位に位置付けられる排他対
    象に対して施錠し、同一の上位の排他対象を持つ相異な
    る複数の排他対象に対する施錠が、該上位の排他対象に
    対する1つの施錠で代替されることを特徴とする排他制
    御方法。
  2. 【請求項2】請求項1の排他制御方法において、該上位
    に位置付けられる排他対象をユーザが任意に変更できる
    ことを特徴とする排他制御方法。
  3. 【請求項3】請求項1の排他制御方法において、オブジ
    ェクト指向データベースシステムで個々のオブジェクト
    をシステム内で一意に識別するオブジェクト識別子か
    ら、該オブジェクト識別子に対応するオブジェクトにつ
    いて該他の代替で上位に位置する排他対象の識別子を参
    照して、排他の代替を行うことを特徴とする排他制御方
    法。
  4. 【請求項4】請求項1の排他制御方法において、オブジ
    ェクト指向データベースシステムでデータベース内に格
    納されているオブジェクトの実体の中に、該オブジェク
    トについて排他の代替で上位に位置する排他対象をシス
    テム内で一意に識別する識別子を保持させ、施錠の際に
    該オブジェクトの実体の最後尾に保持した識別子を参照
    して排他の代替を行うことを特徴とする排他制御方法。
JP30096895A 1995-11-20 1995-11-20 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体 Expired - Fee Related JP3674117B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30096895A JP3674117B2 (ja) 1995-11-20 1995-11-20 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体
US08/746,904 US5890153A (en) 1995-11-20 1996-11-19 Database lock control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30096895A JP3674117B2 (ja) 1995-11-20 1995-11-20 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体

Publications (2)

Publication Number Publication Date
JPH09146817A true JPH09146817A (ja) 1997-06-06
JP3674117B2 JP3674117B2 (ja) 2005-07-20

Family

ID=17891250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30096895A Expired - Fee Related JP3674117B2 (ja) 1995-11-20 1995-11-20 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体

Country Status (2)

Country Link
US (1) US5890153A (ja)
JP (1) JP3674117B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282733A (ja) * 1998-03-31 1999-10-15 Nec Software Chugoku Ltd データベースアクセス装置
JP2000322418A (ja) * 1999-05-07 2000-11-24 Fujitsu Ltd データベース装置
US6493746B1 (en) 1998-03-11 2002-12-10 Nec Corporation Multi-operator network management system and method using transaction processing
JP2012230598A (ja) * 2011-04-27 2012-11-22 Nec Corp 資源管理システム、データ更新方法およびプログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3733695B2 (ja) * 1997-02-05 2006-01-11 富士ゼロックス株式会社 データベース管理システム
US6105026A (en) * 1997-07-03 2000-08-15 Oracle Corporation Multi-phase locking for partition maintenance operations
US5999976A (en) * 1997-07-11 1999-12-07 International Business Machines Corporation Parallel file system and method with byte range API locking
US6941360B1 (en) * 1999-02-25 2005-09-06 Oracle International Corporation Determining and registering participants in a distributed transaction in response to commencing participation in said distributed transaction
JP3535413B2 (ja) * 1999-04-07 2004-06-07 新日鉄ソリューションズ株式会社 データ処理装置、データ処理システム、データ処理方法、及び記録媒体
JP3756352B2 (ja) * 1999-06-29 2006-03-15 富士通株式会社 コンパイラ装置およびコンパイラを記録したコンピュータ読み取り可能な記録媒体
US6865549B1 (en) * 1999-11-15 2005-03-08 Sun Microsystems, Inc. Method and apparatus for concurrency control in a policy-based management system
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US7487152B1 (en) * 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US6892205B1 (en) 2001-02-28 2005-05-10 Oracle International Corporation System and method for pre-compiling a source cursor into a target library cache
US7444335B1 (en) 2001-02-28 2008-10-28 Oracle International Corporation System and method for providing cooperative resource groups for high availability applications
US7069317B1 (en) 2001-02-28 2006-06-27 Oracle International Corporation System and method for providing out-of-band notification of service changes
US7058629B1 (en) * 2001-02-28 2006-06-06 Oracle International Corporation System and method for detecting termination of an application instance using locks
US7246119B2 (en) * 2002-03-08 2007-07-17 Kabushiki Kaisha Toshiba Method and implementation of session-based file locking for network applications
US8375113B2 (en) * 2002-07-11 2013-02-12 Oracle International Corporation Employing wrapper profiles
US8495131B2 (en) * 2002-10-08 2013-07-23 International Business Machines Corporation Method, system, and program for managing locks enabling access to a shared resource
US20040078360A1 (en) * 2002-10-22 2004-04-22 Defauw Randy Data locking system and method for medical system architecture
US7409412B2 (en) 2002-11-27 2008-08-05 Sap Ag Data element and structure for data processing
US7430569B2 (en) * 2002-11-27 2008-09-30 Sap Ag Computerized replication of data objects
US7225302B2 (en) * 2002-11-27 2007-05-29 Sap Ag Method and software application for avoiding data loss
US7464091B2 (en) * 2002-11-27 2008-12-09 Sap Ag Method and software for processing data objects in business applications
US7289992B2 (en) * 2003-05-01 2007-10-30 International Business Machines Corporation Method, system, and program for lock and transaction management
US7496574B2 (en) * 2003-05-01 2009-02-24 International Business Machines Corporation Managing locks and transactions
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
US8392388B2 (en) * 2010-09-08 2013-03-05 Sybase, Inc. Adaptive locking of retained resources in a distributed database processing environment
US9460144B2 (en) * 2012-01-13 2016-10-04 Oracle International Corporation Lock acceleration
US9141669B2 (en) * 2013-01-22 2015-09-22 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
US9336098B2 (en) * 2014-03-19 2016-05-10 Codership Oy Method of synchronizing data
EP3964959A1 (en) * 2020-09-03 2022-03-09 ARM Limited Data processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63159949A (ja) * 1986-12-24 1988-07-02 Hitachi Ltd フアイルのアクセス方法
JPH02206839A (ja) * 1989-02-06 1990-08-16 Hitachi Ltd オブジェクト管理方法
JPH0667946A (ja) * 1992-08-17 1994-03-11 Chugoku Nippon Denki Software Kk 階層構造をもつデータベースにおける排他制御装置
JPH076090A (ja) * 1993-06-18 1995-01-10 Hitachi Ltd 階層化資源に対する排他制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
US5414839A (en) * 1992-06-19 1995-05-09 Digital Equipment Corporation Hybrid lock escalation and de-escalation protocols
US5392433A (en) * 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
US5485607A (en) * 1993-02-05 1996-01-16 Digital Equipment Corporation Concurrency-control method and apparatus in a database management system utilizing key-valued locking
JP2703498B2 (ja) * 1993-04-30 1998-01-26 インターナショナル・ビジネス・マシーンズ・コーポレイション バージョン化オブジェクトに対するロッキング機構
WO1995004960A2 (en) * 1993-08-02 1995-02-16 Persistence Software, Inc. Method and apparatus for managing relational data in an object cache
JPH07191898A (ja) * 1993-12-27 1995-07-28 Fujitsu Ltd データベース排他制御装置
US5742813A (en) * 1994-11-10 1998-04-21 Cadis, Inc. Method and apparatus for concurrency in an object oriented database using lock inheritance based on class objects
US5680619A (en) * 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
US5737611A (en) * 1996-04-05 1998-04-07 Microsoft Corporation Methods for dynamically escalating locks on a shared resource

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63159949A (ja) * 1986-12-24 1988-07-02 Hitachi Ltd フアイルのアクセス方法
JPH02206839A (ja) * 1989-02-06 1990-08-16 Hitachi Ltd オブジェクト管理方法
JPH0667946A (ja) * 1992-08-17 1994-03-11 Chugoku Nippon Denki Software Kk 階層構造をもつデータベースにおける排他制御装置
JPH076090A (ja) * 1993-06-18 1995-01-10 Hitachi Ltd 階層化資源に対する排他制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493746B1 (en) 1998-03-11 2002-12-10 Nec Corporation Multi-operator network management system and method using transaction processing
JPH11282733A (ja) * 1998-03-31 1999-10-15 Nec Software Chugoku Ltd データベースアクセス装置
JP2000322418A (ja) * 1999-05-07 2000-11-24 Fujitsu Ltd データベース装置
JP2012230598A (ja) * 2011-04-27 2012-11-22 Nec Corp 資源管理システム、データ更新方法およびプログラム

Also Published As

Publication number Publication date
US5890153A (en) 1999-03-30
JP3674117B2 (ja) 2005-07-20

Similar Documents

Publication Publication Date Title
JP3674117B2 (ja) 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体
JP3848085B2 (ja) トランザクションデータの高速記憶常駐処理方法および処理システム
US8010497B2 (en) Database management system with efficient version control
JP2575543B2 (ja) 同時アクセス管理方法
US8417742B2 (en) Information processing apparatus and information processing method
US5668958A (en) Heterogeneous filing system with common API and reconciled file management rules
US5430869A (en) System and method for restructuring a B-Tree
EP1540533B1 (en) Controlling visibility in multi-version database systems
US5276835A (en) Non-blocking serialization for caching data in a shared cache
EP0442715B1 (en) Transaction processing system and method with reduced locking
US7912821B2 (en) Apparatus and method for data management
CA2426606A1 (en) Using buffer to facilitate log catchup for online operations
US6968432B2 (en) Method and system for altering a sequence number assignment pattern while preserving integrity and high concurrency in a multi-system shared disk environment
JPH05225034A (ja) オブジェクト指向データベースシステムにおけるオブジェクト管理方法
US8180745B2 (en) Persistent object references to parallel database containers
TW526415B (en) System and method for persistent and robust storage allocation
JPS62287359A (ja) 疎結合マルチプロセツサシステムにおけるフアイル同時アクセス制御方式
JPH03123946A (ja) データベースの排他制御方法
JPH06309203A (ja) データベース処理システムの排他制御方法
Firstname On the Cost of Lock Inheritance in Lock Managers Supporting Nested Transactions
Firstname Lock Inheritance in Nested Transactions
JPH10133929A (ja) データベース更新制御方式及びその方法
Strickland VSAM record-level data sharing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees