JPH11219309A - 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Info

Publication number
JPH11219309A
JPH11219309A JP10112305A JP11230598A JPH11219309A JP H11219309 A JPH11219309 A JP H11219309A JP 10112305 A JP10112305 A JP 10112305A JP 11230598 A JP11230598 A JP 11230598A JP H11219309 A JPH11219309 A JP H11219309A
Authority
JP
Japan
Prior art keywords
site
level
consistency management
update
transaction
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
JP10112305A
Other languages
English (en)
Other versions
JP3563591B2 (ja
Inventor
Yukari Yoshiura
由香利 吉浦
Atsushi Iizawa
篤志 飯沢
Kaoru Maeda
薫 前田
Tetsuya Ikeda
哲也 池田
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.)
Ricoh Co Ltd
Jisedai Joho Hoso System Kenkyusho KK
Original Assignee
Ricoh Co Ltd
Jisedai Joho Hoso System Kenkyusho KK
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 Ricoh Co Ltd, Jisedai Joho Hoso System Kenkyusho KK filed Critical Ricoh Co Ltd
Priority to JP11230598A priority Critical patent/JP3563591B2/ja
Publication of JPH11219309A publication Critical patent/JPH11219309A/ja
Application granted granted Critical
Publication of JP3563591B2 publication Critical patent/JP3563591B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 トランザクションの種類に応じて異なる一貫
性管理を行うこと。 【解決手段】 各トランザクションの種類に一貫性管理
のレベルを表す第1レベル,第2レベルおよび第3レベ
ルのいずれかを設定し(S300)、システム内におい
てトランザクションが発生した場合に(S301)、発
生したトランザクションの種類に基づいて一貫性管理の
レベルを判定し(S302,S303)、第1レベルの
場合に、厳格な一貫性管理方法を用いて一貫性管理を行
い、かつ、主サイトから各サイトへの更新伝播を即時行
い(S304)、第2レベルの場合に、厳格な一貫性管
理方法を用いて一貫性管理を行い、かつ、主サイトから
各サイトへの更新伝播を遅延させて行い(S305)、
第3レベルの場合に、弱い一貫性管理方法を用いて一貫
性管理を行い、かつ、主サイトから各サイトへの更新伝
播を遅延させて行う(S306)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散型データベー
スシステムにおける複製データの一貫性管理方法に関
し、より詳細には、一貫性管理のレベルを複数段階に分
け、トランザクションの種類に応じて異なる一貫性管理
を行うことができるようにすることにより、分散型デー
タベースシステムの利便性の向上を図った分散型データ
ベースシステムの一貫性管理方法およびその方法の各工
程をコンピュータに実行させるためのプログラムを記録
したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】分散型データベースシステムにおいて
は、同一データについての複製データが複数のサイトに
それぞれ分散しており、かつ、複数のトランザクション
が並行して実行されることになるため、システム上に存
在する複製データ間の一貫性をいかに保つかが重要な課
題となっている。
【0003】分散型データベースシステムにおける一貫
性管理方法の一例として、データの変更を直列化する操
作を行う強い一貫性管理と呼ばれる方法がある。この方
法によれば、直列化可能性を保証するが故に操作の並列
性を低下させ、一貫性管理のコストが増大するという短
所があるものの、直列化可能性が保証されるため、複製
データ間の矛盾が一切生じないという長所がある。この
強い一貫性管理は、銀行のOLTP(On−Line
Transaction Processing)等に
適用されていることが多い。
【0004】また、一貫性管理方法の他の例として、複
製データ間に矛盾が生じることを認める弱い一貫性管理
と呼ばれる方法がある。この弱い一貫性管理では、一つ
のトランザクションの中でシステム全体の一貫性を保証
するのではなく、別のトランザクションで更新伝播を行
う。この方法によれば、複製データ間に矛盾が生じてし
まうことがあるという短所があるものの、適用する応用
によってはその矛盾も問題とならない場合があり、一貫
性保持に要するコストを軽減することができるという長
所がある。この弱い一貫性管理は、データの更新が少な
い安定したシステムに適用されていることが多い。
【0005】なお、弱い一貫性管理方式については各種
の研究がなされており、大別すると、(1)マルチバー
ジョン方式(Multi−version Contr
ol)、(2)差異限定管理方式(Bounded D
ivergence Control)、および(3)
意味ベースの方式(Semantic−basedCo
ntrol)に分類することができる。したがって、分
散型データベースシステムの規模やデータ内容を考慮し
て、どのような弱い一貫性管理方式を利用すべきかを決
定する必要がある。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
分散型データベースシステムの一貫性管理方法において
は、上述した強い一貫性管理および弱い一貫性管理のい
ずれか一方しか利用することができないため、複製デー
タの一貫性管理において不便な場合があるという問題点
があった。この問題点は、分散型データベースシステム
の規模・データ内容に応じて、トランザクションの種類
毎に強い一貫性管理および弱い一貫性管理を使い分けす
ることができる方が便利であるという要求に基づくもの
である。
【0007】また、弱い一貫性管理を採用した従来の分
散型データベースシステムの一貫性管理方法において
は、一つのトランザクションの中でシステム全体の一貫
性を保証するのではなく、別のトランザクションで更新
伝播を行うため、更新伝播がいつ行われるかユーザは認
識することができないという問題点があった。すなわ
ち、更新伝播を行うタイミングはシステムに依存してお
り、ユーザの所望するタイミングで更新伝播を行うこと
ができるようにすることはできなかった。
【0008】本発明は上記に鑑みてなされたものであっ
て、分散型データベースシステムの一貫性管理のレベル
を複数段階に分け、トランザクションの種類に応じて異
なる一貫性管理を行うことができるようにすることによ
り、分散型データベースシステムの利便性の向上を図る
ことを第1の目的とする。
【0009】本発明は上記に鑑みてなされたものであっ
て、弱い一貫性管理を採用した場合に、更新伝播を行う
タイミングを設定できるようにすることにより、分散型
データベースシステムの利便性のさらなる向上を図るこ
とを第2の目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の分散型データベースシステムの一貫性管
理方法は、任意のオブジェクトに対する複製データをそ
れぞれ有する第1のサイトと、前記複数の第1のサイト
における複製データの一貫性を集中管理する第2のサイ
トと、を備えた分散型データベースシステムの一貫性管
理方法において、予め前記複製データに対するリードま
たは更新を含む各トランザクションの種類に、一貫性管
理のレベルを表す第1レベル,第2レベルおよび第3レ
ベルのいずれかを設定する一貫性レベル設定工程と、シ
ステム内においてトランザクションが発生した場合に、
発生したトランザクションの種類に基づいて、前記一貫
性管理のレベルを判定する判定工程と、前記判定工程で
第1レベルであると判定された場合に、厳格な一貫性管
理方法を用いて一貫性管理を行い、かつ、第2のサイト
から複数の第1のサイトへの更新伝播を即時行う第1の
一貫性管理工程と、前記判定工程で第2レベルであると
判定された場合に、厳格な一貫性管理方法を用いて一貫
性管理を行い、かつ、第2のサイトから複数の第1のサ
イトへの更新伝播を遅延させて行う第2の一貫性管理工
程と、前記判定工程で第3レベルであると判定された場
合に、弱い一貫性管理方法を用いて一貫性管理を行い、
かつ、第2のサイトから複数の第1のサイトへの更新伝
播を遅延させて行う第3の一貫性管理工程と、を含むも
のである。
【0011】また、請求項2の分散型データベースシス
テムの一貫性管理方法は、任意のオブジェクトに対する
複製データをそれぞれ有する第1のサイトと、前記複数
の第1のサイトにおける複製データの一貫性を集中管理
する第2のサイトと、を備えた分散型データベースシス
テムの一貫性管理方法において、予め前記複製データに
対するリードまたは更新を含む各トランザクションの種
類に、一貫性管理のレベルを表す第1レベル,第2レベ
ルおよび第3レベルのいずれかを設定する一貫性レベル
設定工程と、システム内においてトランザクションが発
生した場合に、発生したトランザクションの種類に基づ
いて、前記一貫性管理のレベルを判定する判定工程と、
前記判定工程で第1レベルであると判定された場合に、
read−onlyのトランザクションまたは更新を含
むトランザクションのいずれであっても、厳格な一貫性
管理方法を用いて一貫性管理を行い、第2のサイトから
複数の第1のサイトへの更新伝播を即時行う第1の一貫
性管理工程と、前記判定工程で第2レベルであると判定
された場合に、read−onlyのトランザクション
は緩和された一貫性管理方法を用いて一貫性管理を行
い、更新を含むトランザクションは厳格な一貫性管理方
法を用いて一貫性管理を行い、第2のサイトから複数の
第1のサイトへの更新伝播を遅延させて行う第2の一貫
性管理工程と、前記判定工程で第3レベルであると判定
された場合に、read−onlyのトランザクション
または更新を含むトランザクションのいずれであって
も、弱い一貫性管理方法を用いて一貫性管理を行い、第
2のサイトから複数の第1のサイトへの更新伝播を遅延
させて行う第3の一貫性管理工程と、を含むものであ
る。
【0012】また、請求項3の分散型データベースシス
テムの一貫性管理方法は、請求項1または2に記載の分
散型データベースシステムの一貫性管理方法において、
前記第2および第3の一貫性管理工程における更新伝播
の遅延について、第2のサイトにおいて予め設定されて
いる更新伝播条件が満足された場合に更新伝播を行うこ
ととしたものである。
【0013】また、請求項4の分散型データベースシス
テムの一貫性管理方法は、請求項1〜3のいずれか一つ
に記載の分散がデータベースシステムの一貫性管理方法
において、前記第2および/または第3の一貫性管理工
程における更新伝播の遅延とは、前記第1のサイトにお
いて前記トランザクション毎に更新伝播を行うタイミン
グを定めた更新伝播条件が設定され、第2のサイトにお
いて前記更新伝播条件を満足するように複数の第1のサ
イトへの更新伝播を行うこととしたものである。
【0014】また、請求項5の分散型データベースシス
テムの一貫性管理方法は、請求項4に記載の分散型デー
タベースシステムの一貫性管理方法において、前記第2
および/または第3の一貫性管理工程が、少なくとも通
信回線および放送波を用いて第2のサイトから複数の第
1のサイトへの更新伝播を行うことができ、前記更新伝
播条件が、前記通信回線および放送波のいずれを用いて
更新伝播を行うかについての指定を含むものである。
【0015】また、請求項6の分散型データベースシス
テムの一貫性管理方法は、請求項1〜5のいずれか一つ
に記載の分散型データベースシステムの一貫性管理方法
において、前記判定工程が、前記一貫性管理のレベルを
判定することに加えて、データの新規登録か否かを判定
し、前記新規登録であると判定した場合に、設定されて
いるレベルに関係なく、前記第3レベルと判定するもの
である。
【0016】さらに、請求項7のコンピュータ読み取り
可能な記録媒体にあっては、前記請求項1〜6のいずれ
か一つに記載の分散型データベースシステムの一貫性管
理方法の各工程をコンピュータに実行させるためのプロ
グラムを記録したものである。
【0017】
【発明の実施の形態】以下、本発明に係る分散型データ
ベースシステムの一貫性管理方法およびその方法の各工
程をコンピュータに実行させるためのプログラムを記録
したコンピュータ読み取り可能な記録媒体の実施の形態
について、添付の図面を参照しつつ詳細に説明する。
【0018】〔実施の形態1〕実施の形態1に係る分散
型データベースシステムの一貫性管理方法においては、
複製データを有するサイトが超多地点に存在する分散型
データベースシステムに適用することを想定している。
【0019】ここで、実施の形態1に係る分散型データ
ベースシステムの一貫性管理方法を説明するに先立っ
て、分散型データベースシステムを構築するために考慮
すべき二つの条件について説明する。
【0020】一つ目は、システム内に存在する複製デー
タの更新を行うことができるサイトはどこかということ
であり、これには集中方式と分散方式とがある。集中方
式は、分散型データベースシステムにおける複数のサイ
トを主サイトと主サイト以外のサイトに分類し、主サイ
トでのみシステム内に存在する複製データの更新を可能
とし、他のサイトではその更新を行うことができないよ
うにするものである。一方、分散方式は、どのサイトで
もシステム内の複製データの更新を可能とし(Anys
ite Writable)、更新を行うサイトが全て
の複製データとの調整を行うというものである。
【0021】二つ目は、一時的なデータ矛盾を認めるか
否かということであり、これには従来技術で説明した強
い一貫性管理と弱い一貫性管理とがある。強い一貫性管
理は、システム内に存在する複製データ間の矛盾を認め
ず、一つのトランザクションの中で全ての複製データ間
の整合性を保証するものである。例えば、2相コミット
プロトコルがこの方式に該当する。一方、弱い一貫性管
理は、応用の内容に特化して考えることにより、システ
ム内に存在する複製データ間の矛盾を一時的に認めるも
のである。この方式では、一つのトランザクションの中
で全ての複製データ間の一貫性が保証されるのではな
く、更新の伝播は別のトランザクションで行われる。
【0022】図1は、集中管理または分散管理と、強い
一貫性管理または弱い一貫性管理との組み合わせによっ
て、分散型データベースシステムを構築した場合の長所
および短所が変化することを示した説明図である。実施
の形態1に係る分散型データベースシステムの一貫性管
理方法においては、後述するようにトランザクションの
種類に応じて強い一貫性管理および弱い一貫性管理を設
定できるようにするために、プロトコルが簡単な集中管
理方式を採用することにする。
【0023】図2は、実施の形態1に係る分散型データ
ベースシステムの一貫性管理方法を実現するための分散
型データベースシステムの概念構成図である。図2に示
す分散型データベースシステムは、複数のサイトからな
り、複数のサイトは、任意のオブジェクトから生成した
複製データをそれぞれ有するサイトDBS1 ,サイトD
BS2 ,サイトDBS3 ,・・・,サイトDBSn と、
複製データの一貫性を集中管理する主サイトDBS
P と、から構成されている。なお、以下の説明におい
て、サイトDBS1 ,サイトDBS2 ,サイトDB
3 ,・・・,サイトDBSn をまとめて示す場合には
サイトDBSと記述するものとする。
【0024】ここで、主サイトDBSP が管理する情報
には、システム内に存在する複製データに対する各オブ
ジェクト毎に、対象オブジェクトID(いずれのオブジ
ェクトに対する複製データかを特定するためのものであ
り、各サイトDBSが保有する複製データにも共通のも
のが付与されている),オブジェクトの最新値,最終更
新タイムスタンプ,最終更新サイトID,最終更新トラ
ンザクションID等がある。一方、各サイトDBSは、
システム内に存在する全てのオブジェクトの複製データ
を有していなければならないというわけではない。さら
に、各オブジェクトのマスターデータについては、主サ
イトDBSP が集中管理しても良いし(主サイトDBS
P が管理している「オブジェクトの最新値」をマスター
データととらえても良い)、各サイトDBS毎に管理す
ることにしても良い。
【0025】なお、図2には、主サイトDBSP の下に
サイトDBSを設けた様子のみが示されているが、各サ
イトDBSの下にもさらに複数のサイトDBSを設けて
階層構造を形成することもできる。このような場合にお
いては、上位のサイトDBSを下位のサイトDBSの主
サイトとして動作させることもできる。
【0026】また、実施の形態1に係る分散型データベ
ースシステムの一貫性管理方法においては、一貫性管理
のレベルとしてレベルA〜Cを用意し、トランザクショ
ンの種類に応じて、異なるレベルの一貫性管理を行うこ
とができるようにしている。
【0027】レベルA(本発明の第1レベルに該当す
る)は、read−onlyのトランザクションまたは
更新を含むトランザクションのいずれであっても、厳格
な一貫性管理方法を用いて複製データの一貫性管理を行
い、主サイトDBSP から各サイトDBSへの更新伝播
を即時行うというものである。
【0028】換言すれば、レベルAは、一つのトランザ
クションの中で各サイトDBSへの更新伝播まで実行す
ることによって複製データの一貫性管理を行うものであ
って、トランザクションの直列可能性を保証するもので
ある。
【0029】また、レベルB(本発明の第2レベルに該
当する)は、read−onlyのトランザクションに
ついては緩和された一貫性管理方法を用いて複製データ
の一貫性管理を行い、更新を含むトランザクションにつ
いては厳格な一貫性管理方法を用いて複製データの一貫
性管理を行い、主サイトDBSP から各サイトDBSへ
の更新伝播を遅延させて行うというものである。
【0030】レベルBにおいては、ある複製データの更
新処理を行う場合に、複数のトランザクションに分散し
て、主サイトDBSP から各サイトDBSへの更新伝播
が行われる。データアクセスに際しては、1コピー直列
化可能性は保証する(P.A.Bernstein,
V.Hadzilacos,and N.Goodma
n: Concurrency Control an
d Recoveryin Database Sys
tems,Addison−Wesley,198
7)。1コピー直列化可能である場合、データ更新の際
には同一データに対する複数の複製データの中から最新
バージョンを探し、同一データに対する更新処理が競合
しないように処理するが、読み出しだけの際には、多少
データが古くても良いのでローカルデータをそのまま読
むという処理を行う。
【0031】さらに、レベルC(本発明の第3レベルに
該当する)は、read−onlyのトランザクション
または更新を含むトランザクションのいずれであって
も、弱い一貫性管理方法を用いて一貫性管理を行い、主
サイトDBSP から各サイトDBSへの更新伝播を遅延
させて行うというものである。
【0032】レベルCは、複製データ間の一時的な一貫
性の崩壊を認め、各サイトDBS毎に複製データの更新
を可能とするものである。更新結果は複数のトランザク
ションとなって主サイトDBSP から各サイトDBSへ
伝播される。この場合、同一データに対する複製データ
についての更新の競合(衝突)が検出された場合の解決
法が問題となる。レベルCにおいては、後述するよう
に、コミットした後に更新の競合を検出する処理が行わ
れるため、通常の方法のアボートはできない。更新の競
合が生じた場合については、後に説明することにする。
【0033】なお、上述したレベルA〜Cは、後述する
ように、read−onlyまたは更新を含むトランザ
クションの種類に応じて設定される。
【0034】続いて、実施の形態1に係る分散型データ
ベースシステムの一貫性管理方法を具体的に説明する。
図3(a)は一貫性管理のレベルを設定する手順を、図
3(b)は図3(a)に示すようにして設定した一貫性
管理のレベルに基づいて一貫性管理方法を実行する手順
を示すフローチャートである。ここでは、図3(a)お
よび図3(b)を用いて一貫性管理手順の概略を説明し
た後、レベルA〜Cの一貫性管理方法について具体的に
説明する。
【0035】(一貫性管理手順の概略)まず、図3
(a)に示すように、分散型データベースシステムの規
模・データ内容等を考慮し、システム内で発生するトラ
ンザクションの種類に応じて予め一貫性管理のレベルを
設定する(S300:本発明の一貫性レベル設定工程に
該当する)。すなわち、各トランザクションの種類に対
して、レベルA〜Cが設定される。なお、一貫性管理の
レベルは、分散型データベースシステムのセットアップ
時に設定することができ、また、トランザクションの発
生時に設定することもできる。
【0036】図3(a)のステップS300においてレ
ベルA〜Cを設定した後、図3(b)に示すように、分
散型データベースシステム内にトランザクションが発生
すると(S301)、発生したトランザクションに設定
されている一貫性管理のレベルの判定処理を実行する
(S302:本発明の判定工程に該当する)。
【0037】そして、ステップS302における判定処
理の結果に基づいて、発生したトランザクションに設定
された一貫性管理のレベルがレベルA,レベルBおよび
レベルCのいずれであるかを判定する(S303:本発
明の判定工程に該当する)。ステップS303におい
て、レベルAであると判定した場合には、レベルAの一
貫性管理方法を実行し(S304:本発明の第1の一貫
性管理工程に該当する)、レベルBであると判定した場
合には、レベルBの一貫性管理方法を実行し(S30
5:本発明の第2の一貫性管理工程に該当する)、さら
に、レベルCであると判定した場合には、レベルCの一
貫性管理方法を実行する(S306:本発明の第3の一
貫性管理工程に該当する)。
【0038】(レベルAの一貫性管理方法)次に、レベ
ルAによる一貫性管理方法について、強い一貫性管理方
法の概略について説明した後、実施の形態1のレベルA
による強い一貫性管理方法を具体的に説明することにす
る。
【0039】強い一貫性管理方法としては、2相ロッ
ク,楽観的2相ロック,グローバルタイムスタンプに基
づく楽観的方法,ベーシックタイムスタンプオーダリン
グ等の各種があり、これらによって一つのトランザクシ
ョンの中で全ての複製データを更新する場合には直列化
可能となる。なお、「完全に複製されたシステムでは、
楽観的2相ロックが最も適している」と述べている論文
がある(M.J.Carey and M.Livn
y: “Conflict detectiontra
deoffs for replicated dat
a," ACM TODS,Vol.16,No.4,p
p.703−746,Dec.1991:シミュレーシ
ョンでパフォーマンス評価を行った代表的論文であ
る)。
【0040】上記強い一貫性管理方法のうち、楽観的制
御方式ではコミット時までロックを行わずにプライベー
ト領域(ワークエリア)にのみ複製データの更新結果を
保存しておき、コミット時になって初めてトランザクシ
ョン間の競合があったかどうかを調べる。
【0041】ここで、あるデータに対する複数の複製デ
ータがシステム内に存在する場合の楽観的2相ロック方
式の代表例な処理の例を以下に示す(ICDCS95の
Jingのアルゴリズム)。 (1)readとwriteに対しては、全複製データ
X0,X1,・・・,XnをRlock(readモー
ドのロック)する(Rlockはトランザクションが複
製データを利用していることを示すためのものであ
る)。 (2)トランザクションの終了時に、writeした複
製データをWlock(writeモードのロック)す
る。Wlockできればトランザクションをコミット
し、そうでなければアボートする。 (3)全ロックを解除する。
【0042】上記楽観的2相ロック方式においては、確
認相で全てのサイトDBSにロックをかけなければなら
ないことが問題である。すなわち、実際には全てのサイ
トDBSにロックをかけることは難しいため、楽観的2
相ロック方式は障害に弱いといえる。
【0043】その理由について、集中管理に基づく2相
ロック方式と比較して説明する。集中管理に基づく2相
ロック方式の場合は、トランザクションがreadした
いとき、マスターデータに対してRlockをかけてか
ら、ローカルデータを読み出す。writeの場合も同
様で、マスターデータにWlockをかけてから全複製
データをwriteする。したがって、マスターデータ
のみをロックすれば良いため、負荷を軽減できる。とこ
ろが、楽観的2相ロック方式の場合には、全てのサイト
でwriteできなければアボートしなくてはならない
ため、障害に弱いといえる。
【0044】また、ダウンしている(参加できない)サ
イトがあっても、処理が続けられるようにするために、
以下の2つの方式が考えられる。
【0045】第1の方式は、重み付き投票方式(Gif
fordによって提案されたもの)である。重み付き投
票方式においては、以下の条件を満たす一定数のサイト
が参加すれば、その中に必ず最新版の値が含まれること
が保証されている。
【0046】 Read−quorum+Write−quorum>n Write−quorum+Write−quorum>n ここで、nは複製データの数を表す。
【0047】第2の方式は、集中管理に基づくタイムス
タンプベースの楽観的方式(PTO:Primary−
based Timestamp Optimisti
cControl)である。PTO方式は集中管理方式
であるため、ダウンしているサイトについては無視する
ことができる。
【0048】具体的に、集中管理方式では、更新が承認
された複製データの最新の値が主サイトDBSP に保持
される。よって楽観的制御方式の確認相(valida
tion phase)において一貫性のチェックを行
う場合に主サイトDBSP に問い合わせるだけで済み、
他の複製データにWlockをかけにいく必要はなくな
る。切断していたサイトが再接続した場合の制御も同じ
で良い。PTO方式において複数種類の複製データにア
クセスするトランザクションにあっては、ローカルサイ
トにそれらの複製を作成してから実行を始めることとす
る。
【0049】実施の形態1に係る分散型データベースシ
ステムの一貫性管理方法を超多地点にわたる分散型デー
タベースシステムに適用することを想定した場合には、
重み付き投票方法よりPTO方式の方が優れていると考
えられる。なぜなら、PTO方式の場合、一貫性のチェ
ックを行う場合に主サイトDBSP に問い合わせるだけ
で済むため、主サイトDBSP がダウンしない限り、通
信コストの削減を図ることができるからである。
【0050】そこで、実施の形態1に係る分散型データ
ベースシステムの一貫性管理方法においては、レベルA
の一貫性管理方法としてPTO方式を採用することに
し、以下にレベルAの一貫性管理方式を具体的に説明す
る。ここでは、サイトDBS1でread−onlyま
たはread−only以外の更新を含むトランザクシ
ョンTが発生するものとする。
【0051】なお、以下の説明において、複製データは
オブジェクトOに対してn個あると仮定し、それを
1 ,・・・,On と表すと共に、主サイトDBSP
有するオブジェクトOの複製データをO0 と表す。オブ
ジェクトOの最後に更新された時刻を表すタイムスタン
プをt(O)とし、またトランザクションTが保持する
オブジェクトOの最終更新タイムスタンプをt(O,
T)と表すことにする。
【0052】サイトDBS1 は、トランザクションTが
発生すると、そのトランザクションTに設定されている
一貫性管理のレベルを判定する処理を行う。発生したト
ランザクションTがレベルAの場合、レベルAの一貫性
管理方法が実行される。
【0053】(1)更新を含むトランザクションの場合 読み出し相 サイトDBS1 は、ローカルデータ、即ち複製データO
i にアクセスし、複製データOi をプライベート領域
(ワークエリア)に読み出す。そして、プライベート領
域に読み出された複製データOi についてreadおよ
びwriteが行われる。複製データOi をプライベー
ト領域に読み出す際には、複製データOiの最後に更新
された時刻を表すタイムスタンプt(Oi )をトランザ
クションTが保持する複製データOi の最終更新タイム
スタンプに設定し、t(Oi ,T)とする。
【0054】 確認相 サイトDBS1 は、主サイトDBSP に対してレベルA
の一貫性管理方法の要求を含むREQUESTメッセー
ジを送信する。図4は、REQUESTメッセージを示
す説明図であり、図4に示すデータがREQUESTメ
ッセージに設定され、主サイトDBSP に対して送信さ
れる。なお、REQUESTメッセージには、メッセー
ジの送信元であるサイトDBSのサイトID,トランザ
クションID,さらに、トランザクションTがアクセス
した複製データOi毎に、操作(readまたはwri
te),対象オブジェクトID,タイムスタンプt(O
i,T)および更新後の値が設定される。
【0055】主サイトDBSP は、REQUESTメッ
セージを受信し、トランザクションTにレベルAが設定
されていると判定して、受信したREQUESTメッセ
ージを待ち行列に入力する。待ち行列に入力されたRE
QUESTメッセージは、入力された順番で処理され
る。
【0056】ここで、主サイトDBSP は、サイトDB
1 によってアクセスされた複製データOi の全てにつ
いて、
【数1】 の条件を満たすか否か危険領域(critical s
ection)内で判定する。
【0057】上記条件を満たすと判定した場合、サイト
DBS1 で更新された複製データO i に該当する複製デ
ータO0 をREQUESTメッセージ中の更新後の値を
用いて更新し(更新後の値を保持する)、そのタイムス
タンプをt(O0 )=Clock(現在時刻のタイムス
タンプ)に変更した後、図5に示すコミットメッセージ
を全てのサイトDBS(サイトDBS1 ,サイトDBS
2 ,サイトDBS3 ,・・・,サイトDBSn :更新さ
れた複製データOiに該当する複製データを有するサイ
トDBS)に送信する。このコミットメッセージは、R
EQUESTメッセージに基づいて生成され、REQU
ESTメッセージの送信元であるサイトDBSのサイト
ID,トランザクションID,さらに、複製データOi
毎に、対象オブジェクトID,タイムスタンプt
(O0 )および更新後の値が設定される。
【0058】すなわち、更新を含むトランザクションの
場合、主サイトDBSP はそのトランザクション内でサ
イトDBS1 ,サイトDBS2 ,サイトDBS3 ,・・
・,サイトDBSn の全てに更新情報の伝播を行う。た
だし、2相コミット方式とは異なり、サイトDBS1
サイトDBS2 ,サイトDBS3 ,・・・,サイトDB
n からの返事は必要としない。つまり、ダウンしてい
るサイトDBSがあっても無視して処理を進めることが
できる。
【0059】なお、ダウンしているサイトDBSが復旧
した場合、そのサイトDBSは、主サイトDBSP に対
して何らかのトランザクションを実行することにより、
最新の更新状態を知ることができる。また、復旧した後
に、主サイトDBSP に対して最新の更新状態を問い合
わせることができるようにすることもできる。
【0060】一方、上記条件を満たさないと判定した場
合、図6に示すアボートメッセージをサイトDBS1
送信する。このアボートメッセージは、REQUEST
メッセージに基づいて生成され、REQUESTメッセ
ージの送信元であるサイトDBSのサイトID,トラン
ザクションID,さらに、複製データOi毎に、対象オ
ブジェクトID,タイムスタンプt(O0 )および現在
の値O0 が設定される。
【0061】 書き込み相 サイトDBS1 ,サイトDBS2 ,サイトDBS3 ,・
・・,サイトDBSnは、コミットメッセージを受信し
た場合、コミットメッセージに含まれている更新後の値
およびそのタイムスタンプ値を用いて該当する複製デー
タを更新する。
【0062】一方、サイトDBS1 は、アボートメッセ
ージを受信した場合、トランザクションTをアボート
し、アボートメッセージに含まれている最新値およびタ
イムスタンプ値を用いて複製データOi およびそのタイ
ムスタンプt(Oi )を更新する。
【0063】(2)read−onlyのトランザクシ
ョンの場合 続いて、read−onlyのトランザクションの場合
について説明する。サイトDBS1 は、ローカルデー
タ、即ち複製データOi にアクセスし、複製データOi
をプライベート領域(ワークエリア)に読み出す。ここ
で、複製データO i をプライベート領域に読み出す際に
は、複製データOi のタイムスタンプt(Oi )をトラ
ンザクションTが保持する複製データOi のタイムスタ
ンプに設定し、t(Oi ,T)とする。
【0064】サイトDBS1 は、主サイトDBSP に対
してレベルAの一貫性管理方法の要求を含むREQUE
STメッセージを送信する。このREQUESTメッセ
ージは図4に示したものと同様であるが、read−o
nlyのトランザクションであるため、更新後の値は除
かれる。
【0065】主サイトDBSP は、REQUESTメッ
セージを受信し、トランザクションTにレベルAが設定
されていると判定して、受信したREQUESTメッセ
ージを待ち行列に入力する。待ち行列に入力されたRE
QUESTメッセージは順番に処理される。
【0066】主サイトDBSP は、サイトDBS1 によ
ってアクセスされた複製データOiについて、
【数2】 の条件を満たすか否か危険領域(critical s
ection)内で判定する。
【0067】上記条件を満たすと判定した場合、図5に
示したコミットメッセージをサイトDBS1 に送信す
る。ただし、read−onlyのトランザクションで
あるため、更新後の値は除かれる。一方、上記条件を満
たさないと判定した場合、図6に示したアボートメッセ
ージをサイトDBS1 に送信する。
【0068】サイトDBS1 は、コミットメッセージを
受信した場合、厳格に一貫性が保たれているとしてre
ad−onlyのトランザクションをコミットする。一
方、サイトDBS1 は、アボートメッセージを受信した
場合、read−onlyのトランザクションをアボー
トし、アボートメッセージに含まれている最新値および
タイムスタンプ値を用いて複製データOi およびそのタ
イムスタンプt(Oi)を更新する。
【0069】(レベルBの一貫性管理方法)つぎに、レ
ベルBによる一貫性管理方法について説明する。レベル
Aでは一つのトランザクションの中で全てのサイト(サ
イトDBS1 ,サイトDBS2 ,サイトDBS3 ,・・
・,サイトDBSn )への更新を行うことにしている
が、レベルBでは、別のトランザクションで更新を伝播
させることにする。つまり、即時に更新を伝播させるの
ではなく、後述する各種の差異限定制約条件(本発明の
更新伝播条件に該当する)を設け、その条件が満足され
た場合に更新伝播を行うという処理を行う。
【0070】ここでは、サイトDBS1 でread−o
nlyまたはread−only以外の更新を含むトラ
ンザクションTが発生するものとして、レベルBの一貫
性管理方法を具体的に説明する。
【0071】サイトDBS1 は、トランザクションTが
発生すると、そのトランザクションTに設定されている
一貫性管理のレベルを判定する処理を行う。発生したト
ランザクションTがレベルBの場合、レベルBの一貫性
管理方法が実行される。
【0072】(1)更新を含むトランザクションの場合 読み出し相 サイトDBS1 は、ローカルデータ、即ち複製データO
i にアクセスし、複製データOi をプライベート領域
(ワークエリア)に読み出す。そして、プライベート領
域に読み出された複製データOi についてreadおよ
びwriteが行われる。ここで、複製データOi をプ
ライベート領域に読み出す際には、複製データOi の最
後に更新された時刻を表すタイムスタンプt(Oi )を
トランザクションTが保持する複製データOi の最終更
新タイムスタンプに設定し、t(O i ,T)とする。
【0073】 確認相 サイトDBS1 は、主サイトDBSP に対してレベルB
の一貫性管理方法の要求を含むREQUESTメッセー
ジを送信する。このREQUESTメッセージは、図4
に示したものと同様のものである。
【0074】主サイトDBSP は、REQUESTメッ
セージを受信し、トランザクションTにレベルBが設定
されていると判定して、受信したREQUESTメッセ
ージを待ち行列に入力する。待ち行列に入力されたRE
QUESTメッセージは、入力された順番で処理され
る。
【0075】ここで、主サイトDBSP は、サイトDB
1 によってアクセスされた複製データOi の全てにつ
いて、
【数3】 の条件を満たすか否か危険領域(critical s
ection)内で判定する。
【0076】上記条件を満たすと判定した場合、サイト
DBS1 で更新された複製データO i に該当する複製デ
ータO0 をREQUESTメッセージ中の更新後の値に
更新し(更新後の値を保持する)、そのタイムスタンプ
をt(O0 )=Clock(現在時刻のタイムスタン
プ)に変更した後、図5に示したコミットメッセージを
サイトDBS1 に送信する。加えて、主サイトDBSP
は、上記トランザクションで更新された更新情報をキュ
ーに入れておき、差異限定制約条件が満足された場合
に、この更新情報を別のトランザクションにおいて他の
サイトDBS(サイトDBS2 ,サイトDBS3 ,・・
・,サイトDBSn )に送信することによって更新伝播
を行う。なお、REQUESTメッセージを送信して来
たサイトDBS(ここではサイトDBS1 )に対して
は、通信コストを下げるために更新伝播を行わないよう
にする。
【0077】一方、上記条件を満たさないと判定した場
合、図6に示したアボートメッセージをサイトDBS1
に送信する。
【0078】ここで、上記差異限定制約条件について説
明する。差異限定制約条件としては、例えば、以下の
a)〜e)等を挙げることができる。
【0079】a)リフレッシュする周期を設定し、設定
した周期毎に更新伝播を行う。主サイトDBSP は、一
定の周期毎に、他の全てのサイトDBS(サイトDBS
2 ,サイトDBS3 ,・・・,サイトDBSn )に更新
情報を送信することにより、更新伝播を行う。主サイト
DBSP は、データ更新情報をキューに入れておき、周
期毎にそれを送り出す。受け側のサイトDBS(サイト
DBS2 ,サイトDBS3 ,・・・,サイトDBSn
はこの更新情報が送られてくることにより、主サイトD
BSP がダウンしていないことを知ることができる。
【0080】b)キューにたまっている更新情報の数が
一定数を超えた場合に更新伝播を行う。例えば限度数を
3とした場合は、更新情報がキューに3つたまったとこ
ろで更新伝播が行われる。
【0081】c)更新伝播を行う基準となるデータの領
域を決めておき、その領域のデータが更新された場合に
更新伝播を行う。例えば、書誌情報のうち、タイトルお
よび作者の2つの属性が更新された場合は即時に更新伝
播を行うというものであり、直ちに更新情報を公知にす
る必要があるときに有効である。スキーマの属性とし
て、オブジェクトやその属性に即時更新伝播フラグをつ
けておき、それがONになっている情報に更新があった
場合は即時に更新伝播を行うようにする。ただし、この
条件を設定する場合には、他の条件と共に設定する必要
がある。
【0082】d)更新伝播を行う基準となる閾値を設定
し、設定した閾値を超えた場合に更新伝播を行う。デー
タの更新の度合いに対して閾値を設定しておく。例え
ば、コンテンツの1/20以上が更新された場合に更新
伝播するというような絶対的な値を設定し、または、参
照された回数が100を超えたら即時更新伝播するとい
うような設定を行う。後者の場合、本や番組で人気が出
たものはそれを参照する人が多いことを示しているた
め、即時に情報行進を行うほうが良いという考えに基づ
くものである。
【0083】e)バージョンが大きく変わった場合に更
新伝播を行う。本の改訂版等でマイナーな誤字の直し程
度であれば更新伝播を待つようにするが、大幅な修正が
加えられた改訂版が出たような場合には、直ちに更新伝
播を行うことにするというものである。
【0084】なお、上記a)〜e)の差異限定制約条件
は組み合わせて設定することができる。
【0085】次に、差異限定制約条件を用いた更新伝播
手順について説明する。図7(a)は差異限定制約条件
を設定する手順を示すフローチャートである。図7
(a)に示すように、システムのセットアップ時におい
て、上記a)〜e)に示した差異限定制約条件を単独ま
たは組み合わせて主サイトDBSP に設定する(S70
0:本発明の更新伝播設定工程に該当する)。
【0086】なお、差異限定制約条件を設定する際に
は、主サイトDBSP を操作して設定しても良いし、サ
イトDBS1 ,サイトDBS2 ,サイトDBS3 ,・・
・,サイトDBSn から設定することもできる。
【0087】また、差異限定制約条件は、上記ステップ
S700の処理を再び行うことによって後に変更するこ
とも可能であるが、図3(a)に示したステップS30
0において一貫性管理のレベルを設定する際にいずれか
の差異限定制約条件を設定しておく必要がある。
【0088】さらに、サイトDBS毎に異なる差異限定
制約条件を設定することもできる。例えば、サイトDB
1 については差異限定制約条件a)で更新伝播を行
い、サイトDBS2 については差異限定制約条件b)で
更新伝播を行うように主サイトDBSP に対して設定す
ることもできる。この場合、主サイトDBSP は、各サ
イトDBS毎に設定された差異限定制約条件を管理し、
各サイト毎に異なる差異限定制約条件を用いて更新伝播
を行うことになる。
【0089】図7(b)は図7(a)に示すようにして
設定した差異限定制約条件に基づいて更新伝播を行う手
順を示すフローチャートである。主サイトDBSP は、
常にまたは定期的にキューに入れられた更新情報につい
て、差異限定制約が満足されたか否かを判定する(S7
01)。
【0090】そして、ステップS701において差異限
定制約が満足されたと判定した場合には、キューに入れ
られた更新情報をサイトDBS1 ,サイトDBS2 ,サ
イトDBS3 ,・・・,サイトDBSn に送信すること
によって更新伝播処理を行う(S702)。
【0091】 書き込み相 サイトDBS1 は、コミットメッセージを受信した場
合、コミットメッセージに含まれている更新後の値およ
びそのタイムスタンプ値を用いて該当する複製データを
更新する。
【0092】また、サイトDBS2 ,サイトDBS3
・・・,サイトDBSn は、主サイトDBSP から更新
伝播を受信した場合、更新後の値およびそのタイムスタ
ンプ値を用いて該当する複製データを更新する。この
際、2相コミット方式とは異なり、サイトDBS1 ,サ
イトDBS2 ,サイトDBS3 ,・・・,サイトDBS
n からの返事は必要としない。つまり、ダウンしている
サイトがあっても無視して処理を進めることができる。
【0093】なお、ダウンしているサイトDBSが復旧
した場合、そのサイトDBSは、主サイトDBSP に対
して何らかのトランザクションを実行することにより、
最新の更新状態を知ることができる。また、復旧した後
に、主サイトDBSP に対して最新の更新状態を問い合
わせることができるようにすることもできる。
【0094】一方、サイトDBS1 は、アボートメッセ
ージを受信した場合、トランザクションをアボートし、
アボートメッセージに含まれている最新値およびタイム
スタンプ値を用いて複製データOi およびそのタイムス
タンプt(Oi )を更新する。
【0095】(2)read−onlyのトランザクシ
ョンの場合 レベルBの場合は、差異限定制約条件に基づいて更新伝
播を行うため、主サイトDBSP を除き、サイトDBS
1 ,サイトDBS2 ,サイトDBS3 ,・・・,サイト
DBSn の複製データは最新バージョンではない可能性
が常にある。それをread−onlyのトランザクシ
ョンにおいて許可するかしないかでレベルAとレベルB
との差が生じる。
【0096】レベルBにおけるread−onlyのト
ランザクション場合では、ローカルサイト(サイトDB
1 ,サイトDBS2 ,サイトDBS3 ,・・・,サイ
トDBSn )の複製データをそのままreadするよう
にして、直列可能性チェックを緩和する。つまりrea
d−onlyのトランザクションであれば、他のサイト
DBSとの調整を行うことなくローカルに実行してしま
うことにする。このようにした場合であっても、1コピ
ー直列化は保証される。つまり、他の更新が起こる前に
readしていたと考えることで直列化できる。
【0097】(レベルCの一貫性管理方法)レベルBに
よる一貫性管理方法は、更新を含むトランザクションに
対しては厳格、つまり強い一貫性管理を採用している。
これに対し、レベルCによる一貫性管理方法において
は、システム全体の処理効率を更に向上させるため、更
新を含むトランザクションも緩和して弱い一貫性管理を
行うことにする。
【0098】そこで、レベルCの一貫性管理方法を説明
する。ここでは、サイトDBS1 でread−only
またはread−only以外の更新を含むトランザク
ションTが発生するものとする。
【0099】サイトDBS1 は、トランザクションTが
発生すると、そのトランザクションTに設定されている
一貫性管理のレベルを判定する処理を行う。発生したト
ランザクションTがレベルCの場合、レベルCの一貫性
管理方法が実行される。
【0100】(1)更新を含むトランザクションの場合 読み出し相 サイトDBS1 は、ローカルデータ、即ち複製データO
i にアクセスし、複製データOi をプライベート領域
(ワークエリア)に読み出す。そして、プライベート領
域に読み出された複製データOi についてreadおよ
びwriteが行われる。ここで、レベルCの一貫性管
理方法においては、弱い一貫性管理を採用することによ
り、主サイトDBSP を介することなく、サイトDBS
1 ,サイトDBS2 ,サイトDBS3 ,・・・,サイト
DBSn 毎に単独で複製データの更新を行うことができ
る。そのため、サイトDBS1 は、読み出した複製デー
タO i を更新し、更新を含むトランザクションをコミッ
トする。
【0101】 確認相 サイトDBS1 は、上記コミット時に主サイトDBSP
宛てに承認リクエストメッセージ(更新ログ)を送信す
る。承認リクエストメッセージは、図4に示したREQ
UESTメッセージと同様のものである。
【0102】主サイトDBSP は、サイトDBS1 から
の承認リクエストメッセージに対して承認または非承認
を与える。承認・非承認の判定条件はPTO方式の中で
説明した通常のタイムスタンプ方式によるものである。
【0103】ここで、承認・非承認を判定する際に、サ
イトDBS1 の承認リクエストメッセージと競合する他
のサイトDBSの承認リクエストメッセージが存在しな
い場合には、サイトDBS1 において行われた更新が承
認される。その結果、主サイトDBSP の該当する複製
データが更新される(更新後の値を保持し、タイムスタ
ンプを変更)と共に、レベルBで説明したように、その
更新情報がキューに入れられ、差異限定制約条件が満足
された場合に、この更新情報をサイトDBS(サイトD
BS1 ,サイトDBS2 ,サイトDBS3 ,・・・,サ
イトDBSn )に送信することによって更新伝播が行わ
れる。なお、差異限定制約条件については、レベルBで
説明した通りであるため、ここでは説明を省略する。ま
た、レベルBの場合と同様に、承認リクエストメッセー
ジを送信して来たサイトDBS(ここではサイトDBS
1 )に対しては、通信コストを下げるために更新伝播を
行わないようにする。
【0104】一方、例えば、サイトDBS1 およびサイ
トDBS2 の承認リクエストメッセージが競合したもの
とする。具体的には、サイトDBS1 およびサイトDB
2で同一の複製データOi を保持していて、両方のト
ランザクションで同時刻に複製データOi を更新し、両
方のトランザクションがコミットされた後、承認リクエ
ストメッセージ(更新ログ)が主サイトに届いたものと
する。主サイトDBS P は、承認リクエストメッセージ
が先に届いたサイトの更新を承認し、後から届いた方の
更新は承認しない。ここで、サイトDBS2 の承認リク
エストメッセージがサイトDBS1 の承認リクエストメ
ッセージより先に主サイトDBSP に届いたものとする
と、サイトDBS1 の更新は承認されないことになる。
この場合、主サイトDBSP は、サイトDBS1 に対し
てアボートメッセージを送信する。
【0105】 書き込み相 更新が承認された場合、サイトDBS1 は、既に複製デ
ータを更新するためのトランザクションはコミットされ
ているため何ら処理を行う必要はない。一方、他のサイ
トDBSは、差異限定制約条件によって更新情報が伝播
されて来るため、その更新情報に基づいて複製データを
更新する。この際、2相コミット方式とは異なり、サイ
トDBS1 ,サイトDBS2 ,サイトDBS3 ,・・
・,サイトDBSn からの返事は必要としない。つま
り、ダウンしているサイトがあっても無視して処理を進
めることができる。
【0106】なお、ダウンしているサイトDBSが復旧
した場合、そのサイトDBSは、主サイトDBSP に対
して何らかのトランザクションを実行することにより、
最新の更新状態を知ることができる。また、復旧した後
に、主サイトDBSP に対して最新の更新状態を問い合
わせることができるようにすることもできる。
【0107】一方、アボートメッセージを受信した場合
は、既にトランザクションはコミットにより完了してし
まっているため通常のアボートを行うことはできない。
そこで、レベルCにおいては、他のサイトDBSから必
要なバージョンの複製データをコピーすることにより更
新してしまった複製データを回復することにする。
【0108】ここで、上記承認リクエストメッセージ中
の複製データのうち、主サイトDBSP から更新されて
いる値をコピーする処理、つまりトランザクション自身
がアボート用にデータを格納しておき、このデータを用
いて更新してしまった複製データを回復するという処理
も考えられる。しかしながら、マルチメディアデータは
一般にサイズが大きいため、トランザクションの中で複
製を作ることはコストがかかり問題となる。また、更新
頻度の小さい応用においては更新が衝突する可能性が少
ないため、そのような応用においてアボート用にデータ
の複製を作ることは効率的ではない。
【0109】よって、アボートメッセージを受信した場
合の処理として、記憶容量およびコピーに要する時間の
点からも他のサイトDBSから必要なバージョンの複製
データをコピーして回復する処理を行う方が効率的であ
るといえる。
【0110】(2)read−onlyのトランザクシ
ョンの場合 レベルCにおけるread−onlyのトランザクショ
ン場合では、ローカルサイト(サイトDBS1 ,サイト
DBS2 ,サイトDBS3 ,・・・,サイトDBSn
の複製データをreadするようにして、直列可能性チ
ェックを緩和する。つまりread−onlyのトラン
ザクションであれば、他のサイトとの調整を行うことな
くローカルに実行してしまうことにする。このようにし
た場合であっても1コピー直列化は保証される。つま
り、他の更新が起こる前にreadしていたと考えるこ
とで直列化できる。
【0111】ここで、レベルCの応用例として、検索エ
ージェント(人間に代わって複数のDBサイトを縦断検
索してくれるようなプログラム)のDBを考える。従来
のデータベースはオブジェクト値を永続的に格納するこ
とを目的としていた。ところが、検索エージェントのよ
うな応用を考えた場合、その記憶としてデータベースを
使うならば、永続的というよりは「少々間違っていても
良く、間違っていることが判定できれば良い。そして、
間違っていたら正しい値に更新すれば良い。」という特
徴を持つ。検索サイト名等を格納している場合におい
て、もし、そのサイトが移動したとしても、そのサイト
にアクセスしたときに初めて「そのサイトが移動してい
たこと」がわかれば良い。人間の記憶の変わりにDBを
利用とする場合、このような「多少間違ったデータでも
良い」という応用例を多く見出すことができる。
【0112】なお、以上説明した一貫性管理のレベルA
〜Cの特徴を一つにまとめると、図8のようになる。
【0113】このように、実施の形態1に係る分散型デ
ータベースシステムの一貫性管理方法によれば、分散型
データベースシステムの一貫性管理のレベルとしてレベ
ルA〜Cを設け、トランザクションの種類に応じてレベ
ルA〜Cによる異なる一貫性管理を行うことにより、複
製データの一貫性管理における利便性の向上を図ること
ができる。
【0114】また、実施の形態1に係る分散型データベ
ースシステムの一貫性管理方法を用いることにより、そ
れぞれ異なる一貫性管理のレベルでトランザクションを
実行することができ、トランザクションの種類に応じて
最適な複製データの一貫性管理を行うことができる。
【0115】さらに、レベルBおよびレベルCの場合
は、差異限定制約が満足された場合に更新伝播を行うこ
とにしたことにより、更新がある毎に更新伝播を行う必
要をなくすことができ、複製データの一貫性保持のコス
トを削減することができる。
【0116】〔実施の形態2〕つぎに、実施の形態2に
係る分散型データベースシステムの一貫性管理方法につ
いて説明する。例えば、電子図書館等の応用において
は、新規の書誌データを一括して登録することが多く、
また、大学等でも新入生や新人のデータ登録を一括して
行うことが多い。こうした新規登録トランザクション
は、既にあるデータを参照しないで独立に処理すること
が可能であることから、他のトランザクションとの競合
の確認処理を省略しても何ら問題は発生せず、むしろ処
理の効率化を図る上で好ましい。そのため、実施の形態
2に係る分散型データベースシステムの一貫性管理方法
においては、実施の形態1で説明した処理に加えて、一
貫性管理のレベルを判定する際に新規登録トランザクシ
ョンか否かを判定し、新規登録トランザクションである
場合には、他のトランザクションとの競合の確認処理を
省略して、そのまま登録処理を行うことができるように
するものである。
【0117】ところで、楽観的制御においては、読み出
し相,確認相および書き込み相からなる処理を行う必要
がある。ところが新規登録のみのトランザクションで
は、他のトランザクションと競合する可能性は全くない
ため、トランザクションが競合するか否かの確認を省略
し、読み出し相の処理が終わった後、直接書き込み相の
処理を実行することができる。
【0118】そこで、実施の形態2に係る分散型データ
ベースシステムの一貫性管理方法においては、既存のデ
ータと独立なデータを新規登録する場合について、独自
のトランザクションレベル(例えば、新規登録処理フラ
グを設定する)を設け、そのレベルのトランザクション
については一切競合チェックを行わないことにする。
【0119】新規登録トランザクションは、実施の形態
1で説明したレベルA〜Cのいずれ対しても適用するこ
とができる。ただし、効率を考えた場合には、各サイト
DBS単位で更新を行うことができるレベルCに適用す
ることが最も優れている。そのため、実施の形態2にお
いては、この新規登録トランザクションをレベルCに適
用することを前提として、処理の概略を説明する。図9
(a)は一貫性管理のレベルおよび新規登録トランザク
ションを設定する手順を、図9(b)は図9(a)に示
すようにして設定した一貫性管理のレベルおよび新規登
録トランザクションの設定に基づいて一貫性管理方法お
よび新規登録を実行する手順を示すフローチャートであ
る。
【0120】まず、図9(a)に示すように、トランザ
クションの種類に応じて一貫性管理のレベルを設定し
(実施の形態1参照)、かつ、データの新規登録のため
のトランザクションを新規登録トランザクションとして
設定する(S900)。
【0121】図9(a)のステップS900で新規登録
トランザクションについての一貫性管理レベルを設定し
た後、図9(b)に示すように、分散型データベースシ
ステム内にトランザクションが発生すると(S90
1)、発生したトランザクションに設定されている一貫
性管理のレベルの判定処理およびトランザクションが新
規登録トランザクションか否かの判定処理を実行する
(S902:本発明の判定工程に該当する)。
【0122】そして、ステップS902において、トラ
ンザクションが新規登録トランザクションであると判定
した場合、設定されているレベルに関係なく、レベルC
と判定する(S903:本発明の判定工程に該当す
る)。そして、ステップS906に進み、レベルCの一
貫性管理方法を実行する。
【0123】なお、レベルCで新規登録トランザクショ
ンを実行する場合においては、他のサイトDBSにおけ
るトランザクションとの競合の可能性がないことから、
承認リクエストメッセージを用いた競合のチェックは省
略される。
【0124】このように、実施の形態2に係る分散型デ
ータベースシステムの一貫性管理方法によれば、データ
の新規登録を行うためのトランザクションを実行する場
合において、他のトランザクションとの競合をチェック
する処理を省略することにしたため、データを新規登録
する際の処理効率を向上させることができる。
【0125】ただし、INSERT操作の中には既存の
データと意味的に関連付けられているものがある。例え
ば、readした2つの値の平均値を求め、その値を使
ってINSERTするようなトランザクションの場合で
ある。このような場合には、既存のデータと意味的に関
連があるため、そのトランザクションは新規登録トラン
ザクションではない。
【0126】〔実施の形態3〕上述したレベルBおよび
レベルCの一貫性管理方法においては、主サイトDBS
P に予め設定された差異限定制約条件が満足された場合
に、主サイトDBSPから各サイトDBSに対して更新
情報を送信し、更新伝播を行うことにしている(図7参
照)。実施の形態3においては、更新伝播を行うタイミ
ングとして、主サイトDBSP に設定された差異限定制
約条件が満足された場合に加え、トランザクションが発
生したサイトDBS側でコンテンツの内容に応じて更新
伝播を行うタイミングを設定することができるようにす
る。このようにするのは、コンテンツによっては早期に
公開すべきものや多少公開が遅れても良いとされるもの
があり、例えば、台風情報等のように早期に公開すべき
情報については5分以内に全てのサイトDBSに更新伝
播を完了したいという要請に答えることができるように
するためである。
【0127】図10は、本発明の実施の形態3に係る分
散型データベースシステムの一貫性管理方法を実現する
ための分散型データベースシステムの概念構成図であ
る。図10に示す分散型データベースシステムは、図2
に示した構成に加えて、更新伝播を行う際に、衛星10
00を用いた放送を利用して主サイトDBSP から各サ
イトDBSに更新情報を配信できるようにしたものであ
る。一般に衛星1000等を利用して情報を配信するこ
とは例えばインターネットを利用する場合と比べてコス
トが高いが、緊急に全てのサイトDBSに更新伝播を行
いたい場合等において放送により更新情報を配信するこ
とにより、全てのサイトDBSに対して更新情報を短時
間にかつ一度に配信することができるという利点があ
る。
【0128】なお、図10において、1001a〜10
01eは、放送波を用いて更新情報を送信または受信す
るためのアンテナを、1002は実施の形態1および2
で既に説明した各種情報を送受信するための通信回線を
それぞれ示している。
【0129】また、図10には、衛星1000を用いた
放送により情報やり取りを行うことができる分散型デー
タベースシステムを一例として示したが、これに加え
て、または代えて地上波等、情報を送信可能な他の手段
を用いることにしても良い。
【0130】次に、実施の形態3に係る分散型データベ
ースシステムの一貫性管理方法について、サイトDBS
1 でレベルCの一貫性管理方法が設定されたトランザク
ションが発生した場合を例にとって説明する。なお、こ
こではレベルCの場合について説明するが、レベルBの
場合にも同様に適用できることは明らかである。また、
実施の形態1および2で既に説明した事項については、
簡単に説明することにする。
【0131】図11は、更新伝播タイミング設定処理を
示すフローチャートである。サイトDBS1のユーザ
は、複製データの更新を行う際に、例えば、予め用意さ
れた入力欄等に以下に説明する情報を設定する(S11
01)。
【0132】ステップS1101においては、緊急度,
公開指定日時,伝播遅延許容日時,伝播方式が設定され
るものとする。緊急度には例えば以下のようなレベルが
あり、これらのレベルは予めシステム構築者が設定す
る。したがって、ユーザは設定されている緊急度レベル
の中から所望のレベルを選択し、緊急度の項目に設定す
るすることになる。
【0133】 ・緊急度1:10分以内に更新伝播を行う。 ・緊急度2:60分以内に更新伝播を行う。 ・緊急度3:1日以内に更新伝播を行う。 ・緊急度4:3日以内に更新伝播を行う。
【0134】公開指定日時の項目は、例えば報道ニュー
ス等には明朝10時までは情報を公開してはならないと
いう要求があることから設けられたものである。したが
って、ユーザはこの項目に対して所望の日時を設定す
る。なお、この公開指定日時が指定された場合、主サイ
トDBSP は、公開指定日時が経過した後に更新された
複製データに関する情報について更新伝播を行うように
する。また、これに代えて、公開指定日時の経過前に更
新伝播を行うことにしても良い。いずれを用いるかにつ
いては、後述する更新伝播のスケジュールを設定する際
(図13のステップS1304参照)に決定すれば良
い。ただし、公開指定日時の経過前に更新伝播を行うこ
とにする場合、各サイトDBSにおいて公開指定日時が
経過する前に該当する更新後のデータを公開しないよう
にする手法を確立しておくことが必要となる。
【0135】伝播遅延許容日時の項目には、更新伝播の
遅れが許される最大限の日時を設定する。
【0136】さらに、配信方式の項目には、通信(通信
回線1002を用いる),衛星放送,地上波放送等のい
ずれの方式を用いて更新伝播を行うかを設定する。
【0137】そして、ここではレベルCであるため、サ
イトDBS1においてトランザクションをコミットする
かアボートするかが判定され、コミットの場合はサイト
DBS1 の該当する複製データが更新される。なお、実
施の形態2で説明した新規登録トランザクションの場合
には、他のトランザクションとの競合のチェック処理は
省略される。
【0138】コミットの場合、サイトDBS1 は、上述
したように承認リクエストメッセージを主サイトDBS
P に通信回線1002を介して送信するが、その際、図
12(a)および図12(b)に例として示すデータを
承認リクエストメッセージ(図4に示したREQUES
Tメッセージと同一内容:レベルBの場合も同様)に添
付する。その結果、図11のステップS1101で設定
した緊急度等は、属性値として承認リクエストメッセー
ジに設定されることになる。
【0139】主サイトDBSP は、サイトDBS1 から
承認リクエストメッセージを受信すると、他のサイトD
BSで行われた更新処理と競合しないか否かを判定し、
競合しないと判定した場合は以下の更新伝播管理処理を
実行する。なお、新規登録トランザクションの場合は競
合のチェック処理は省略される。また、競合のチェック
処理と並行して更新伝播管理処理を実行することにして
も良いが、他のサイトの更新処理と競合すると判定され
た場合は更新伝播管理処理を途中で終了することにな
る。
【0140】図13は、主サイトDBSP による更新伝
播管理処理を示すフローチャートである。主サイトDB
P は、サイトDBS1 から受信した承認リクエストメ
ッセージから依頼元ID(サイトID),依頼日時,更
新OIDリスト,緊急度,公開指定日時,更新遅延許容
日時および配信方式をコピーし(S1301)、さら
に、依頼到着日時(主サイトDBSP が承認リクエスト
メッセージを受信した日時),データサイズ(送るべき
データのサイズ)を計測・設定し(S1302)、図1
4に示すような更新伝播管理情報を生成する。この更新
伝播管理情報は、課金のためのデータとして利用するこ
とができる。
【0141】なお、ステップS1302において、承認
リクエストメッセージに伝播遅延許容日時が設定されて
いない場合には、 依頼到着日時+指定された緊急度の許容時間(緊急度1
なら10分) という計算を行い、伝播遅延許容日時を設定する。
【0142】更新伝播管理情報を生成した後、主サイト
DBSP は、指定された緊急度が許容可能か否かについ
て、以下の基準に基づいて判定する(S1303)。
【0143】 ・[依頼到着日時+指定された緊急度の許容時間]>伝
播遅延許容日時の場合 ・[公開指定日時+指定された緊急度の許容時間]>伝
播遅延許容日時の場合 ・(データサイズ×送付サイト数)の値が大きすぎる場
合 なお、ここで、送付サイト数は、例えばサイトDBS1
が更新を行った複製データ(オブジェクト)と同一のオ
ブジェクトに対する複製データを有する他のサイトDB
Sの数であり、どのサイトDBSが送付サイトに該当す
るかは主サイトDBSP が判断する。
【0144】更新伝播管理情報中の値が上記3つの条件
の少なくとも一つを満たすような場合、主サイトDBS
P は、指定された緊急度が許容可能ではないと判定し、
許容不可能メッセージを生成してサイトDBS1 (依頼
元のサイト)に送信し、図12に示したデータのみを再
度送信するように要求する(S1307)。
【0145】そして、サイトDBS1 (依頼元のサイ
ト)からメッセージに対する応答として図12に示した
データが送信され、そのデータを受信した場合(S13
08)、主サイトDBSP はステップS1301に戻っ
て再度更新伝播管理処理を実行する。
【0146】一方、ステップS1303において、指定
された緊急度が許容可能と判定した場合、主サイトDB
P は、更新伝播管理情報中の更新遅延許容日時より前
に更新情報を各サイトDBSに配信できるように、更新
伝播を行うスケジュールを設定する(S1304)。例
えば、主サイトDBSP は、実施の形態1で説明した差
異限定制約条件を用いて更新伝搬を行うスケジュールを
設定する。いずれの差異限定制約条件を用いるかについ
ては、例えば、図14に示した更新伝播管理情報中の伝
播遅延許容日時に更新伝播が間に合うことを第1の基準
とし、これに加えて更新伝播のコストが低いものはどれ
かを第2の基準として判断する。そして、主サイトDB
P は、選択した差異限定制約条件を用いて更新伝播を
行うスケジューリングを行い、伝播遅延許容日時を守れ
るか否かを判定し、守れないと判定した場合には、より
早い時期に更新伝播を行うことができる差異限定制約条
件を用いて再度更新伝播を行うスケジューリングを行
う。換言すれば、更新遅延伝播ルールとして各種の差異
限定制約条件があるが、指定された緊急度を守ることが
できない可能性がある差異限定制約条件は採用しないこ
とにする。
【0147】その後、主サイトDBSP は、ステップS
1304で設定したスケジュールに従い、更新伝播を実
行する(S1305)。更新伝播は、更新伝播管理情報
中に設定されている配信方式に従って更新情報を各サイ
トDBSに配信する。例えば、配信方式として「衛星」
が設定されている場合は、衛星1000を用いて放送に
より更新情報を各サイトDBSに配信する。また、配信
方式として「通信」が設定されている場合は、通信回線
1002を介して更新情報を各サイトDBSに配信す
る。なお、通信回線1002を介して更新情報を各サイ
トDBSに配信する場合、承認リクエストメッセージを
送信して来たサイトDBS(ここではサイトDBS1
に対しては、通信コストを下げるために更新情報の配信
は行わないようにする。
【0148】そして、主サイトDBSP は、更新伝播の
開始日時および完了日時のログと配信の遅れに関する情
報とを更新伝播管理情報中に設定する(S1306)。
配信の遅れに関する情報とは、更新伝播管理情報中の伝
播遅延許容日時からどれくらい遅れて配信されたかを示
し、 伝播完了日時−伝播遅延許容日時 で計算される。計算した結果が正の場合は、伝播遅延許
容日時から遅れて更新伝播が行われたことを示し、その
値を更新伝播管理情報中の「配信の遅れ」に設定する。
一方、計算した結果が負の場合は、伝播遅延許容日時の
前に更新伝播が完了したことを示し、負の場合は配信の
遅れは生じていないため、「0」を更新伝播管理情報中
の「配信の遅れ」に設定する。
【0149】このように、実施の形態3に係る分散型デ
ータベースシステムの一貫性管理方法によれば、コンテ
ンツの内容に適したタイミングで更新結果を各サイトD
BSに配信することができるため、分散型データベース
システムの利便性の向上を図ることができる。
【0150】また、更新結果を各サイトDBSに配信す
る方法として、衛星1000を用いた放送による配信方
法や通信回線1002を用いた通信による配信方法等を
選択することができるため、緊急度に応じて適切な配信
方法を選択でき、分散型データベースシステムの利便性
の向上を図ることができる。
【0151】なお、詳細な説明については省略するが、
レベルAの場合においても、放送により図4に示したコ
ミットを配信することにしても良い。
【0152】以上説明した実施の形態1〜3に係る分散
型データベースシステムにおいては、トランザクション
の種類毎に一貫性管理レベルについてレベルA〜Cのい
ずれかを設定し、設定したレベルで一貫性管理を行うこ
とにしたが、例えば、レベルCの一貫性管理レベルのみ
が利用可能なシステムやレベルAおよびレベルCの一貫
性管理レベルが利用可能なシステム等、分散型データベ
ースシステムをどのように運用するかによって、様々な
設計・変更が可能なことは明らかである。
【0153】また、実施の形態1〜3に係る分散型デー
タベースシステムの一貫性管理方法は、図3〜図5なら
びに図11および図13に示したフローチャートの手順
に従って、予め用意されたプログラムをコンピュータで
実行することによって実現される。このプログラムは、
ハードディスク,フロッピーディスク,CD−ROM,
MO,DVD等のコンピュータで読み取り可能な記録媒
体に記録され、コンピュータによって記録媒体から読み
出されることによって実行可能である。また、このプロ
グラムは、上記記録媒体を介して、またはネットワーク
を介して配布することができる。
【0154】〔適用可能な応用分野〕以上説明した実施
の形態1〜3に係る分散型データベースシステムの一貫
性管理方法は、以下に説明するような応用分野に適用す
ることができる。ただし、本発明の分散型データベース
システムの一貫性管理方法を適用する応用分野を以下に
説明するものに限定するものではない。
【0155】本発明の分散型データベースシステムの一
貫性管理方法は、(1)マルチメディアのコンテンツを
提供し、その視聴に対して課金を行うシステムであり、
(2)コンテンツの更新には時間的遅れを許し、(3)
システム内に構築されるDB(データベース)として
は、コンテンツDB・インデックス情報DB(2次情
報)・利用者統計情報DB・課金情報DBという種類を
有する分散型データベースシステムに適用することがで
きる。
【0156】上記DBの特徴としては、以下のように考
えられる。まず、コンテンツDBとしては、(1)デー
タのサイズが超大で、データはマルチメディアのBLO
B(Binary Large Object)であ
り、(2)複製データが多数必要であり(コンテンツが
マルチメディアであるため、サイズが大きく、アクセス
コストを下げるためには複製データを多数生成すること
が必要)、(3)読み出す情報は多少古くても良く、
(4)読み出し頻度は大であるものである。(5)更新
伝播は遅延しても良い、というものが考えられる。
【0157】インデックス情報DBとしては、(1)複
製データは多数必要であり、(2)複製データデータの
サイズは小〜中であり、(3)読み出す情報は多少古く
ても良く、(4)読み出し頻度は大で、(5)更新伝播
は遅延しても良い、というものが考えられる。
【0158】利用者統計情報DBおよび課金情報DBと
しては、(1)複製データの数は少なくても良く、
(2)データのサイズはシステムに依存し、(3)読み
出す情報は多少古くても良く、(4)読み出し頻度は小
であり、(5)更新伝播は遅延しても良く、集計する側
への伝播は遅延しても良い、というものが考えられる。
ただし、利用者情報は紛失してもあまり問題とならない
が、更新中に課金情報が紛失または欠落することは許さ
れない。
【0159】上記分散型データベースシステムにおいて
発生する典型的なトランザクションとしては、(1)利
用者によるコンテンツ検索(アクセス頻度大)、(2)
コンテンツ提供者によるコンテンツの新規追加および修
正(更新頻度は小)、(3)コンテンツ提供者によるイ
ンデックス情報の新規追加および修正(更新頻度は
小)、(4)課金情報の収集(各利用者に対する課金収
集は頻度が小さいが、利用者数が膨大であるため、大き
くなる)、および、(5)利用統計情報の収集(各利用
者に対する課金収集は頻度が小さいが、利用者数が膨大
であるため、大きくなる)、が考えられる。
【0160】上記条件を満たすシステム例としては、
(1)電子図書館システム(コンテンツは書籍,雑誌,
CD−ROM,ビデオ等。インデックス情報は書誌情
報。)、(2)ビデオ・オン・デマンド(VOD)シス
テム(コンテンツはビデオ。インデックス情報はビデオ
の各種属性。)、(3)カラオケシステム(コンテンツ
はMIDI等の音楽情報,動画情報および歌詞の文字情
報等。インデックス情報は曲に関する各種属性。)、等
が考えられる。
【0161】
【発明の効果】以上説明したように、本発明の分散型デ
ータベースシステムの一貫性管理方法(請求項1)によ
れば、予め複製データに対するリードまたは更新を含む
各トランザクションの種類に、一貫性管理のレベルを表
す第1レベル,第2レベルおよび第3レベルのいずれか
を設定する一貫性レベル設定工程と、システム内におい
てトランザクションが発生した場合に、発生したトラン
ザクションの種類に基づいて、一貫性管理のレベルを判
定する判定工程と、判定工程で第1レベルであると判定
された場合に、厳格な一貫性管理方法を用いて一貫性管
理を行い、かつ、第2のサイトから複数の第1のサイト
への更新伝播を即時行う第1の一貫性管理工程と、判定
工程で第2レベルであると判定された場合に、厳格な一
貫性管理方法を用いて一貫性管理を行い、かつ、第2の
サイトから複数の第1のサイトへの更新伝播を遅延させ
て行う第2の一貫性管理工程と、判定工程で第3レベル
であると判定された場合に、弱い一貫性管理方法を用い
て一貫性管理を行い、かつ、第2のサイトから複数の第
1のサイトへの更新伝播を遅延させて行う第3の一貫性
管理工程と、を含むことにより、トランザクションの種
類に応じて最適なレベルの一貫性管理を行うことができ
るため、分散型データベースシステムの利便性の向上を
図ることができる。
【0162】また、本発明の分散型データベースシステ
ムの一貫性管理方法(請求項2)によれば、予め複製デ
ータに対するリードまたは更新を含む各トランザクショ
ンの種類に、一貫性管理のレベルを表す第1レベル,第
2レベルおよび第3レベルのいずれかを設定する一貫性
レベル設定工程と、システム内においてトランザクショ
ンが発生した場合に、発生したトランザクションの種類
に基づいて、一貫性管理のレベルを判定する判定工程
と、判定工程で第1レベルであると判定された場合に、
read−onlyのトランザクションまたは更新を含
むトランザクションのいずれであっても、厳格な一貫性
管理方法を用いて一貫性管理を行い、第2のサイトから
複数の第1のサイトへの更新伝播を即時行う第1の一貫
性管理工程と、判定工程で第2レベルであると判定され
た場合に、read−onlyのトランザクションは緩
和された一貫性管理方法を用いて一貫性管理を行い、更
新を含むトランザクションは厳格な一貫性管理方法を用
いて一貫性管理を行い、第2のサイトから複数の第1の
サイトへの更新伝播を遅延させて行う第2の一貫性管理
工程と、判定工程で第3レベルであると判定された場合
に、read−onlyのトランザクションまたは更新
を含むトランザクションのいずれであっても、弱い一貫
性管理方法を用いて一貫性管理を行い、第2のサイトか
ら複数の第1のサイトへの更新伝播を遅延させて行う第
3の一貫性管理工程と、を含むことにより、トランザク
ションの種類に応じて最適なレベルの一貫性管理を行う
ことができるため、分散型データベースシステムの利便
性の向上を図ることができる。
【0163】また、本発明の分散型データベースシステ
ムの一貫性管理方法(請求項3)によれば、請求項1ま
たは2に記載の分散型データベースシステムの一貫性管
理方法において、第2および第3の一貫性管理工程にお
ける更新伝播の遅延について、第2のサイトにおいて予
め設定されている更新伝播条件が満足された場合に更新
伝播を行うこととしたことにより、更新が起こる毎に更
新伝播を行う必要をなくすことができるため、データの
一貫性保持のコストを削減することができる。
【0164】また、本発明の分散型データベースシステ
ムの一貫性管理方法(請求項4)によれば、請求項1〜
3のいずれか一つに記載の分散がデータベースシステム
の一貫性管理方法において、第2および/または第3の
一貫性管理工程における更新伝播の遅延とは、第1のサ
イトにおいてトランザクション毎に更新伝播を行うタイ
ミングを定めた更新伝播条件が設定され、第2のサイト
において更新伝播条件を満足するように複数の第1のサ
イトへの更新伝播を行うこととしたため、ユーザの所望
の更新伝播条件を設定することができる。したがって、
ユーザの所望の更新伝播条件を設定することができるた
め、更新伝播がいつ行われるかを容易に予測することが
でき、分散型データベースシステムの利便性のさらなる
向上を図ることができる。
【0165】また、本発明の分散型データベースシステ
ムの一貫性管理方法(請求項5)によれば、請求項4に
記載の分散型データベースシステムの一貫性管理方法に
おいて、第2および/または第3の一貫性管理工程が、
少なくとも通信回線および放送波を用いて第2のサイト
から複数の第1のサイトへの更新伝播を行うことがで
き、更新伝播条件が、通信回線および放送波のいずれを
用いて更新伝播を行うかについての指定を含むことによ
り、更新伝播条件に応じて適切な方法で更新伝播を行う
ことができるため、分散型データベースシステムの利便
性の向上を図ることができる。すなわち、緊急に更新伝
播を行う必要がある場合にはコストが高くても放送波を
用いて更新伝播を行うことにし、時間的に余裕がある場
合にはコストを抑えて通信回線を用いて更新伝播を行う
という選択を行うことができる。
【0166】また、本発明の分散型データベースシステ
ムの一貫性管理方法(請求項6)によれば、請求項1〜
5のいずれか一つに記載の分散型データベースシステム
の一貫性管理方法において、判定工程が、一貫性管理の
レベルを判定することに加えて、データの新規登録か否
かを判定し、新規登録であると判定した場合に、設定さ
れているレベルに関係なく、第3レベルと判定するた
め、データを新規登録する際の処理効率を向上させるこ
とができる。
【0167】さらに、本発明のコンピュータ読み取り可
能な記録媒体(請求項7)によれば、請求項1〜6のい
ずれか一つに記載の分散型データベースシステムの一貫
性管理方法の各工程をコンピュータに実行させるための
プログラムを記録したため、このプログラムをコンピュ
ータに実行させることにより、分散型データベースシス
テムの一貫性管理のレベルを複数段階に分け、トランザ
クションの種類に応じて異なる一貫性管理を行うことが
でき、分散型データベースシステムの利便性の向上を図
ることができる。
【図面の簡単な説明】
【図1】集中管理または分散管理と、強い一貫性管理ま
たは弱い一貫性管理との組み合わせによって、分散型デ
ータベースシステムを構築した場合の長所および短所が
変化することを示した説明図である。
【図2】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法を実現するための分散型デ
ータベースシステムの概念構成図である。
【図3】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法において、(a)は一貫性
管理のレベルを設定する手順を、(b)は(a)に示す
ようにして設定した一貫性管理のレベルに基づいて一貫
性管理方法を実行する手順を示すフローチャートであ
る。
【図4】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法において、各サイトから主
サイトに送信されるREQUESTメッセージの説明図
である。
【図5】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法において、主サイトから各
サイトに送信されるコミットメッセージの説明図であ
る。
【図6】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法において、主サイトから各
サイトに送信されるアボートメッセージの説明図であ
る。
【図7】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法において、(a)は差異限
定制約条件を設定する手順を、(b)は(a)に示すよ
うにして設定した差異限定制約条件に基づいて更新伝播
を行う手順を示すフローチャートである。
【図8】本発明の実施の形態1に係る分散型データベー
スシステムの一貫性管理方法において、一貫性管理のレ
ベルA〜Cの特徴をまとめた説明図である。
【図9】本発明の実施の形態2に係る分散型データベー
スシステムの一貫性管理方法において、(a)は一貫性
管理のレベルおよび新規登録トランザクションを設定す
る手順を、(b)は(a)に示すようにして設定した一
貫性管理のレベルおよび新規登録トランザクションの設
定に基づいて一貫性管理方法および新規登録を実行する
手順を示すフローチャートである。
【図10】本発明の実施の形態3に係る分散型データベ
ースシステムの一貫性管理方法を実現するための分散型
データベースシステムの概念構成図である。
【図11】本発明の実施の形態3に係る分散型データベ
ースシステムの一貫性管理方法において、更新伝播タイ
ミング設定処理を示すフローチャートである。
【図12】本発明の実施の形態3に係る分散型データベ
ースシステムの一貫性管理方法において、更新伝播タイ
ミングをサイト側で設定する場合に、リクエストメッセ
ージに添付されるデータを示す説明図である。
【図13】本発明の実施の形態3に係る分散型データベ
ースシステムの一貫性管理方法において、主サイトによ
る更新伝播管理処理を示すフローチャートである。
【図14】本発明の実施の形態3に係る分散型データベ
ースシステムの一貫性管理方法において、主サイトによ
って管理される更新伝播管理情報の一例を示す説明図で
ある。
【符号の説明】
DBSP 主サイト DBS1 ,DBS2 ,DBS3 ,・・・,DBSn
サイト 1000 衛星 1001a〜1001e アンテナ 1002 通信回線
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 15/401 340A (72)発明者 前田 薫 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 池田 哲也 東京都大田区中馬込1丁目3番6号 株式 会社リコー内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 任意のオブジェクトに対する複製データ
    をそれぞれ有する第1のサイトと、前記複数の第1のサ
    イトにおける複製データの一貫性を集中管理する第2の
    サイトと、を備えた分散型データベースシステムの一貫
    性管理方法において、 予め前記複製データに対するリードまたは更新を含む各
    トランザクションの種類に、一貫性管理のレベルを表す
    第1レベル,第2レベルおよび第3レベルのいずれかを
    設定する一貫性レベル設定工程と、 システム内においてトランザクションが発生した場合
    に、発生したトランザクションの種類に基づいて、前記
    一貫性管理のレベルを判定する判定工程と、 前記判定工程で第1レベルであると判定された場合に、
    厳格な一貫性管理方法を用いて一貫性管理を行い、か
    つ、第2のサイトから複数の第1のサイトへの更新伝播
    を即時行う第1の一貫性管理工程と、 前記判定工程で第2レベルであると判定された場合に、
    厳格な一貫性管理方法を用いて一貫性管理を行い、か
    つ、第2のサイトから複数の第1のサイトへの更新伝播
    を遅延させて行う第2の一貫性管理工程と、 前記判定工程で第3レベルであると判定された場合に、
    弱い一貫性管理方法を用いて一貫性管理を行い、かつ、
    第2のサイトから複数の第1のサイトへの更新伝播を遅
    延させて行う第3の一貫性管理工程と、 を含むことを特徴とする分散型データベースシステムの
    一貫性管理方法。
  2. 【請求項2】 任意のオブジェクトに対する複製データ
    をそれぞれ有する第1のサイトと、前記複数の第1のサ
    イトにおける複製データの一貫性を集中管理する第2の
    サイトと、を備えた分散型データベースシステムの一貫
    性管理方法において、 予め前記複製データに対するリードまたは更新を含む各
    トランザクションの種類に、一貫性管理のレベルを表す
    第1レベル,第2レベルおよび第3レベルのいずれかを
    設定する一貫性レベル設定工程と、 システム内においてトランザクションが発生した場合
    に、発生したトランザクションの種類に基づいて、前記
    一貫性管理のレベルを判定する判定工程と、 前記判定工程で第1レベルであると判定された場合に、
    read−onlyのトランザクションまたは更新を含
    むトランザクションのいずれであっても、厳格な一貫性
    管理方法を用いて一貫性管理を行い、第2のサイトから
    複数の第1のサイトへの更新伝播を即時行う第1の一貫
    性管理工程と、 前記判定工程で第2レベルであると判定された場合に、
    read−onlyのトランザクションは緩和された一
    貫性管理方法を用いて一貫性管理を行い、更新を含むト
    ランザクションは厳格な一貫性管理方法を用いて一貫性
    管理を行い、第2のサイトから複数の第1のサイトへの
    更新伝播を遅延させて行う第2の一貫性管理工程と、 前記判定工程で第3レベルであると判定された場合に、
    read−onlyのトランザクションまたは更新を含
    むトランザクションのいずれであっても、弱い一貫性管
    理方法を用いて一貫性管理を行い、第2のサイトから複
    数の第1のサイトへの更新伝播を遅延させて行う第3の
    一貫性管理工程と、 を含むことを特徴とする分散型データベースシステムの
    一貫性管理方法。
  3. 【請求項3】 前記第2および第3の一貫性管理工程に
    おける更新伝播の遅延とは、第2のサイトにおいて予め
    設定されている更新伝播条件が満足された場合に更新伝
    播を行うことであることを特徴とする請求項1または2
    に記載の分散型データベースシステムの一貫性管理方
    法。
  4. 【請求項4】 前記第2および/または第3の一貫性管
    理工程における更新伝播の遅延とは、前記第1のサイト
    において前記トランザクション毎に更新伝播を行うタイ
    ミングを定めた更新伝播条件が設定され、第2のサイト
    において前記更新伝播条件を満足するように複数の第1
    のサイトへの更新伝播を行うことであることを特徴とす
    る請求項1〜3のいずれか一つに記載の分散がデータベ
    ースシステムの一貫性管理方法。
  5. 【請求項5】 前記第2および/または第3の一貫性管
    理工程は、少なくとも通信回線および放送波を用いて第
    2のサイトから複数の第1のサイトへの更新伝播を行う
    ことができ、 前記更新伝播条件は、前記通信回線および放送波のいず
    れを用いて更新伝播を行うかについての指定を含むこと
    を特徴とする請求項4に記載の分散型データベースシス
    テムの一貫性管理方法。
  6. 【請求項6】 前記判定工程は、前記一貫性管理のレベ
    ルを判定することに加えて、データの新規登録か否かを
    判定し、前記新規登録であると判定した場合に、設定さ
    れているレベルに関係なく、前記第3レベルと判定する
    ことを特徴とする請求項1〜5のいずれか一つに記載の
    分散型データベースシステムの一貫性管理方法。
  7. 【請求項7】 前記請求項1〜6のいずれか一つに記載
    の分散型データベースシステムの一貫性管理方法の各工
    程をコンピュータに実行させるためのプログラムを記録
    したことを特徴とするコンピュータ読み取り可能な記録
    媒体。
JP11230598A 1997-09-29 1998-04-22 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3563591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11230598A JP3563591B2 (ja) 1997-09-29 1998-04-22 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP26464397 1997-09-29
JP32821797 1997-11-28
JP9-328217 1997-11-28
JP9-264643 1997-11-28
JP11230598A JP3563591B2 (ja) 1997-09-29 1998-04-22 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPH11219309A true JPH11219309A (ja) 1999-08-10
JP3563591B2 JP3563591B2 (ja) 2004-09-08

Family

ID=27312230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11230598A Expired - Fee Related JP3563591B2 (ja) 1997-09-29 1998-04-22 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3563591B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003508847A (ja) * 1999-09-01 2003-03-04 イーエムシー コーポレーション ミラーリング・デバイス群に格納されているデータの一貫性を維持する方法および装置
JP2004005092A (ja) * 2002-05-31 2004-01-08 Hitachi Ltd ストレージシステム、ストレージ装置、及び該ストレージ装置を利用した情報共有方法
WO2004051480A1 (en) * 2002-11-29 2004-06-17 Canon Kabushiki Kaisha Information processing method and apparatus
WO2004077298A1 (en) * 2003-02-28 2004-09-10 Canon Kabushiki Kaisha Information processing method and apparatus
JP2008521146A (ja) * 2004-11-19 2008-06-19 インテル コーポレイション 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理
JP2011040106A (ja) * 2008-06-04 2011-02-24 Athena Telecom Lab Inc データベース並行編集方式
JP2012069168A (ja) * 2004-01-15 2012-04-05 Oracle Internatl Corp 地理的分散型クラスタ
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
JP5257455B2 (ja) * 2008-09-17 2013-08-07 富士通株式会社 2相コミットによるデータ更新同期方法及びシステム
WO2013190735A1 (ja) * 2012-06-22 2013-12-27 株式会社 東芝 分散型データベースシステム及びプログラム
WO2016157358A1 (ja) * 2015-03-30 2016-10-06 株式会社野村総合研究所 データ処理システム
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing
US10346427B2 (en) 2013-10-02 2019-07-09 Canon Kabushiki Kaisha Data synchronization method, data synchronization apparatus, and storage medium for synchronizing data among a plurality of databases

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003508847A (ja) * 1999-09-01 2003-03-04 イーエムシー コーポレーション ミラーリング・デバイス群に格納されているデータの一貫性を維持する方法および装置
JP2004005092A (ja) * 2002-05-31 2004-01-08 Hitachi Ltd ストレージシステム、ストレージ装置、及び該ストレージ装置を利用した情報共有方法
US7318110B2 (en) 2002-05-31 2008-01-08 Hitachi, Ltd. Storage system, storage device and information common sharing method by utilizing storage device
US7584243B2 (en) 2002-11-29 2009-09-01 Canon Kabushiki Kaisha Information processing method and apparatus maintaining consistency of shared data
WO2004051480A1 (en) * 2002-11-29 2004-06-17 Canon Kabushiki Kaisha Information processing method and apparatus
JP2004185131A (ja) * 2002-11-29 2004-07-02 Canon Inc 情報処理方法及び装置
WO2004077298A1 (en) * 2003-02-28 2004-09-10 Canon Kabushiki Kaisha Information processing method and apparatus
US7516204B2 (en) 2003-02-28 2009-04-07 Canon Kabushiki Kaisha Information processing method and apparatus
JP2012069168A (ja) * 2004-01-15 2012-04-05 Oracle Internatl Corp 地理的分散型クラスタ
JP2008521146A (ja) * 2004-11-19 2008-06-19 インテル コーポレイション 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理
JP2012150830A (ja) * 2004-11-19 2012-08-09 Intel Corp 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
JP2011040106A (ja) * 2008-06-04 2011-02-24 Athena Telecom Lab Inc データベース並行編集方式
JP5257455B2 (ja) * 2008-09-17 2013-08-07 富士通株式会社 2相コミットによるデータ更新同期方法及びシステム
US8572047B2 (en) 2008-09-17 2013-10-29 Fujitsu Limited Method and system for data update synchronization by two-phase commit
WO2013190735A1 (ja) * 2012-06-22 2013-12-27 株式会社 東芝 分散型データベースシステム及びプログラム
CN104395891A (zh) * 2012-06-22 2015-03-04 株式会社东芝 分布式数据库系统及其方法
JP2014006635A (ja) * 2012-06-22 2014-01-16 Toshiba Corp 分散型データベースシステム及びプログラム
US10185735B2 (en) 2012-06-22 2019-01-22 Kabushiki Kaisha Toshiba Distributed database system and a non-transitory computer readable medium
US10346427B2 (en) 2013-10-02 2019-07-09 Canon Kabushiki Kaisha Data synchronization method, data synchronization apparatus, and storage medium for synchronizing data among a plurality of databases
WO2016157358A1 (ja) * 2015-03-30 2016-10-06 株式会社野村総合研究所 データ処理システム
JPWO2016157358A1 (ja) * 2015-03-30 2018-01-18 株式会社野村総合研究所 データ処理システム

Also Published As

Publication number Publication date
JP3563591B2 (ja) 2004-09-08

Similar Documents

Publication Publication Date Title
US20230100223A1 (en) Transaction processing method and apparatus, computer device, and storage medium
US6938070B2 (en) Conflict resolution for collaborative work system
JP2948496B2 (ja) データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法
CN111597015B (zh) 事务处理方法、装置、计算机设备及存储介质
US7103586B2 (en) Collision avoidance in database replication systems
US6662196B2 (en) Collision avoidance in bidirectional database replication
US6792436B1 (en) Method for synchronizing multiple software caches in a memory
EP1704470B1 (en) Geographically distributed clusters
US5884327A (en) System, method and program for performing two-phase commit with a coordinator that performs no logging
US20130036105A1 (en) Reconciling a distributed database from hierarchical viewpoints
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
JP2002528814A (ja) 分散型トランザクション処理システムと方法
JP3563591B2 (ja) 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009129169A (ja) 耐障害性トランザクション処理システム及び処理方法
US6970872B1 (en) Techniques for reducing latency in a multi-node system when obtaining a resource that does not reside in cache
JP2001511552A (ja) データ・ベースに関する方法
US7890468B2 (en) Rollback support in distributed data management systems
CN112162846B (zh) 事务处理方法、设备及计算机可读存储介质
JP2022531867A (ja) データ読み取り方法、装置、コンピュータ装置及びコンピュータプログラム
EP4276651A1 (en) Log execution method and apparatus, and computer device and storage medium
WO2022213526A1 (zh) 事务处理方法、分布式数据库系统、集群及介质
CN115495495A (zh) 事务处理方法、分布式数据库系统、集群及介质
JP2000284998A (ja) データ更新制御システム、データ更新制御方法、その方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
Lenz Adaptive distributed data management with weak consistent replicated data
Harrison et al. Consistency models

Legal Events

Date Code Title Description
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: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees