JP3421270B2 - データ複製システムおよびデータ複製プログラムを記録した記録媒体 - Google Patents

データ複製システムおよびデータ複製プログラムを記録した記録媒体

Info

Publication number
JP3421270B2
JP3421270B2 JP04707699A JP4707699A JP3421270B2 JP 3421270 B2 JP3421270 B2 JP 3421270B2 JP 04707699 A JP04707699 A JP 04707699A JP 4707699 A JP4707699 A JP 4707699A JP 3421270 B2 JP3421270 B2 JP 3421270B2
Authority
JP
Japan
Prior art keywords
node
data
read
update
nodes
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.)
Expired - Fee Related
Application number
JP04707699A
Other languages
English (en)
Other versions
JP2000242620A (ja
Inventor
高生 山下
諭 小野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP04707699A priority Critical patent/JP3421270B2/ja
Publication of JP2000242620A publication Critical patent/JP2000242620A/ja
Application granted granted Critical
Publication of JP3421270B2 publication Critical patent/JP3421270B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ複製システ
ムおよびデータ複製プログラムを記録した記録媒体に関
し、特にネットワーク上で使用される判断支援システ
ム、および、判断支援システムと協調して動作するディ
レクトリ・サービス等に適用されるデータ複製システム
およびデータ複製プログラムを記録した記録媒体に関す
るものである。
【0002】
【従来の技術】近年のネットワークの発展に伴う分散環
境の拡大およびノード数の増大によって、ディレクトリ
・サービス、移動端末情報、ネットワーク管理情報、判
断支援システム等のデータ管理が重要となってきてい
る。これらでは、銀行のオンライン処理のように、トラ
ンザクションおよびその構成要素であるオペレーション
の厳密な一貫性制御の重要性が低い反面、各トランザク
ションに対する応答時間やスループットに関する重要性
が高い。
【0003】このような特性を持つデータでは、(1)
トランザクションを発行するアプリケーションが一貫性
を維持するために必要な処理順序や依存関係を把握して
いる場合、(2)トランザクションの応答および応答結
果を用いたアプリケーションの動作結果によってデータ
の異常が検知できる場合、(3)ほとんどのトランザク
ション間に衝突が無く、衝突があった場合でもアンドゥ
(undo)によって取り消しを行うことが可能である場合
が多い。そこで、このような特性を利用したレイジー
(Lazy)レプリケーション、および、現在の多くのデー
タベース・システムに実装されている非同期更新による
データ・レプリケーション機能により、応答時間、スル
ープットの改善および弱一貫性の制御が行われている。
【0004】判断支援システム等では、同一内容のデー
タを保持するプロセス間で、データ・レプリケーション
を行った際に、他のデータベースでは更新がすでに行わ
れているが、自データベースではまだ更新されていない
データが存在することがある。単位時間あたりに更新さ
れているデータの個数は、フレッシュネス(freshnes
s)と呼ばれ、システムからみたときのデータの新しさ
を示す。これはクライアント側からみても、取得データ
の新しさを示すことになる。今後の判断支援システム等
においては、このような実際に取得したデータの新しさ
が重要な判断材料になるものと考えられる。
【0005】以上の観点から、従来においては以下のよ
うな技術がある。 (1)レイジー・レプリケーション(lazy replicatio
n)(文献:R.Ladin,“Lazy replication:Exploiting th
e semantics of distributed services”,Proceedings
of the Workshop on Management of Replicated Data,p
p.31-34,1990、文献:R.Ladin,“Providing high availa
bility using lazy replication”,ACM Transaction Co
mputer Systems,Vol.10,pp.360-391,November 1992) このレイジー・レプリケーションは、オペレーションの
一貫性として、カジュアル・オペレーション(casual o
peration)、フォースト・オペレーション(forced ope
ration)およびイミディエイト・オペレーション(imme
diate operation)を提供するデータ複製方式である。更
新要求は非同期に複製ノードに伝搬される。
【0006】(2)ピービー・キャスト(pbcast)(文
献:K.Birman,“BUILDING SECURE ANDRELIABLE NETWORK
APPLICATI0NS”,MANNING Publisher,1996) このピービー・キャストは、メッセージの伝搬方式であ
り、更新要求の伝搬に用いた場合の伝搬方法は以下のよ
うになる。まず、更新要求を受け取ったノードは、「fu
nout」と呼ばれる定数で決まる個数だけ、複製ノードを
ランダムに選択し、更新要求を送信する。すでに同じ更
新要求を受信したノードは、他の複製ノードには、更新
要求を伝搬しない。
【0007】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術を用いた場合、以下のような問題が発生す
る。まず、複製ノードから提供されるデータの新しさ
は、システム的に決っているため、クライアントがある
新しさのデータを取得したい場合に、要求を満足するデ
ータを取得することができない。また、クライアントあ
るいはクライアントを操作する人が、得られたデータを
もとに動作を決定するときに、判断支援システム等で
は、取得したデータの新しさも判断の要素にしたいこと
がある。しかし、従来においては、複製ノードから提供
されるデータの新しさを提供する方法は無く、取得した
データの新しさをクライアントが知ることはできない。
【0008】本発明は、このような課題を解決するため
のものであり、取得したデータの新しさがある程度以上
であるということが求められる場合に適用可能なデータ
複製システムおよびデータ複製プログラムを記録した記
録媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】このような目的を達成す
るために、本発明に係るデータ複製システムは、通信ネ
ットワークに複数の計算機が接続され、これらの計算機
にはデータを管理するためのプロセスが一以上動作して
おり、上記各プロセスの管理するデータの内容は全て同
一であり、上記データを管理するプロセスは、データの
更新要求を受付けると、自プロセスのデータを変更する
とともに他のプロセスにこの更新要求を伝搬し、データ
の更新が次々に行われるデータ複製システムに関するも
のである。
【0010】上記データを管理する複数の複製ノード
と、上記データの更新および読み出しを要求するクライ
アント・ノードと、このクライアント・ノードからの
新および読み出しの要求を複数の上記複製ノードに対し
て仲介するフロントエンド・ノードとを有する。上記複
製ノードは、更新経路を示す論理的な木構造によって接
続された一以上のグループを構成し、更新要求が伝搬さ
れると上記木構造上で隣接する複製ノードのうち、上記
更新要求を伝搬してきたノード以外の全てのノードに対
して更新要求を伝搬し、上記フロントエンド・ノードか
らデータの読み出しを要求されると、要求されたデータ
に更新終了時に添付される時刻に関する情報を付与して
上記フロントエンド・ノードへ返答する。 上記クライア
ント・ノードは、データの読み出し要求時に読み出しを
行いたいデータとこのデータに必要とされるデータの新
しさを示す尺度の値とを指定する。
【0011】上記フロントエンド・ノードは、上記クラ
イアント・ノードからの更新要求に対して、上記各グル
ープ中の1つの複製ノード(以下、更新開始ノードとい
う)に更新要求を行い、上記複製ノードの組合せごとに
データの新しさを示す尺度の値を計算し、その計算結果
を管理するとともに、上記クライアント・ノードからの
読み出し要求に対して、指定された上記データに必要と
されるデータの新しさを示す尺度の値を満たす上記複製
ノード(以下、読み出しノードという)の組合せを選択
し、選択された複製ノードから読み出した複数のデータ
中から最新のデータを選択し、データの新しさを示す尺
度の値とともに上記クライアント・ノードに返答する。
【0012】また、上記データの新しさを示す尺度の値
を最新度として定義し、所定の確率pで、現在から時間
T前までの更新を反映しているときに、確率pの最新度
はTであると定義するようにしてもよい。
【0013】また、上記各複製ノードは、上記ノードに
接続している論理的リンクを伝搬するときの更新遅れの
統計分布を管理し、上記読み出しノードを含む最小の部
分木(以下、読み出し部分木という)を形成し、この読
み出し部分木に含まれるノードのうち、上記木構造上で
更新開始ノードに最も近いノード(以下、最短ノードと
いう)を選択し、上記更新開始ノードから上記最短ノー
ドまでの経路と読み出し部分木とで構成される部分木に
おいて上記更新開始ノードを根としたときに、上記読み
出し部分木の葉となるノードは、上記ノードに接続され
ているリンクの更新遅れの統計分布を親ノードに送信
し、上記葉となるノード以外の複製ノードは、子ノード
の全てから統計分布を受け取った後、この統計分布を用
いて上記複製ノードから上記複製ノードの子孫となる読
み出しノードまでの更新遅れの最小の統計分布を計算し
てから、この統計分布を上記親ノードに送信し、上記最
短ノードは、計算した統計分布または最新度を上記フロ
ントエンド・ノードに送信し、上記最新度または全ての
更新開始ノードについての更新遅れの統計分布を受信し
たフロントエンド・ノードは、上記最新度または統計分
布をもとにして、同一木構造内の最新度を計算するよう
にしてもよい。
【0014】また、上記最短ノードを読み出し部分木と
したときに、先祖に読み出しノードが存在する読み出し
ノードを削除していき、先祖に読み出しノードの存在す
る読み出ノードが無くなった時点で、でき上がった読み
出し部分木を用いてもよい。
【0015】一方、本発明に係るデータ複製プログラム
を記録した記録媒体は、通信ネットワークに複数の計算
機が接続され、これらの計算機にはデータを管理するた
めのプロセスが一以上動作しており、上記各プロセスの
管理するデータの内容は全て同一であり、上記データを
管理するプロセスは、データの更新要求を受付けると、
自プロセスのデータを変更するとともに他のプロセスに
この更新要求を伝搬し、データの更新が次々に行われる
データ複製システムに関するものである。
【0016】上記記録媒体は、上記データを管理する
製ノード、上記データの更新および読み出しを要求する
クライアント・ノードおよびこのクライアント・ノード
からの更新および読み出しの要求を複数の上記複製ノー
ドに対して仲介するフロントエンド・ノードのいずれか
1つとして計算機を機能させるプログラムを記録してい
る。上記複製ノードは、更新経路を示す論理的な木構造
によって接続された一以上のグループを構成し、更新要
求が伝搬されると上記木構造上で隣接する複製ノードの
うち、上記更新要求を伝搬してきたノード以外の全ての
ノードに対して更新要求を伝搬し、上記フロントエンド
・ノードからデータの読み出しを要求されると、要求さ
れたデータに更新終了時に添付される時刻に関する情報
を付与して上記フロントエンド・ノードへ返答する。
記クライアント・ノードは、データの読み出し要求時に
読み出しを行いたいデータとこのデータに必要とされる
データの新しさを示す尺度の値とを指定する。
【0017】上記フロントエンド・ノードは、上記クラ
イアント・ノードからの更新要求に対して、上記各グル
ープ中の1つの複製ノード(以下、更新開始ノードとい
う)に更新要求を行い、上記複製ノードの組合せごとに
データの新しさを示す尺度の値を計算し、その計算結果
を管理するとともに、クライアント・ノードからの読み
出し要求に対して、指定された上記データに必要とされ
るデータの新しさを示す尺度の値を満たす上記複製ノー
ド(以下、読み出しノードという)の組合せを選択し、
選択された複製ノードから読み出した複数のデータ中か
ら最新のデータを選択し、データの新しさを示す尺度の
値とともに上記クライアント・ノードに返答する。
【0018】また、上記データの新しさを示す尺度の値
を最新度として定義し、所定の確率pで、現在から時間
T前までの更新を反映しているときに、確率pの最新度
はTであると定義するようにしてもよい。
【0019】また、上記各複製ノードは、上記ノードに
接続している論理的リンクを伝搬するときの更新遅れの
統計分布を管理し、上記読み出しノードを含む最小の部
分木(以下、読み出し部分木という)を形成し、この読
み出し部分木に含まれるノードのうち、上記木構造上で
更新開始ノードに最も近いノード(以下、最短ノードと
いう)を選択し、上記更新開始ノードから上記最短ノー
ドまでの経路と読み出し部分木とで構成される部分木に
おいて上記更新開始ノードを根としたときに、上記読み
出し部分木の葉となるノードは、上記ノードに接続され
ているリンクの更新遅れの統計分布を親ノードに送信
し、上記葉となるノード以外の複製ノードは、子ノード
の全てから統計分布を受け取った後、この統計分布を用
いて上記複製ノードから上記複製ノードの子孫となる読
み出しノードまでの更新遅れの最小の統計分布を計算し
てから、この統計分布を上記親ノードに送信し、上記最
短ノードは、計算した統計分布または最新度を上記フロ
ントエンド・ノードに送信し、上記最新度または全ての
更新開始ノードについての更新遅れの統計分布を受信し
たフロントエンド・ノードは、上記最新度または統計分
布をもとにして、同一木構造内の最新度を計算するよう
にしてもよい。
【0020】また、上記最短ノードを読み出し部分木と
したときに、先祖に読み出しノードが存在する読み出し
ノードを削除していき、先祖に読み出しノードの存在す
る読み出ノードが無くなった時点で、でき上がった読み
出し部分木を用いてもよい。
【0021】このように構成することにより、クライア
ント・ノードは、フロントエンド・ノードから必要な新
しさを満たしたデータを取得することができる。また、
取得したデータについては、フロントエンド・ノードが
計算し、クライアントに提供する最新度から新しさを確
認することができる。
【0022】
【発明の実施の形態】次に、本発明の一つの実施の形態
について図を用いて説明する。
【0023】図1は、本発明に係るネットワークおよび
ネットワークに接続された計算機を示す。同図に示すよ
うに、計算機1は、インターフェースを介してネットワ
ーク2に接続され、データの複製等の種々の制御を行う
中央処理装置(CPU)、データおよび本発明に係る通
信制御プログラム等を記憶保持するランダム・アクセス
・メモリ(RAM)およびハードディスク・ドライブ
(HDD)を有する。データ等は複数の計算機1に分散
して記憶保持され、各計算機1には後述の種々のプロセ
スが働いている。
【0024】図2は、ネットワーク上に分散する複数の
プロセスを模式的に示したものである。同図に示すよう
に、各プロセスはその働きに応じて3種類に分類され
る。データを管理するプロセスである複製ノードと、デ
ータの更新およびデータの読み出し要求を行うプロセス
であるクライアント・ノードと、クライアント・ノード
からの要求を仲介して複数の複製ノードに対して要求
(更新要求、読み出し要求等)を出すプロセスであるフ
ロントエンド・ノードとである。
【0025】複製ノードは、複数が集まって一つのグル
ープを構成し、ネットワーク上には一以上のグループが
存在する。図2は3つのグループがある場合を示す。各
グループに含まれる複製ノードは、更新経路を示す論理
的な木構造によって接続されている。更新要求を受けた
複製ノードは、木構造上で隣接するノードのうち、更新
要求を出したノード以外の全てのノードに対して更新要
求を伝搬する。
【0026】フロントエンド・ノードは、クライアント
・ノードからの更新要求に対して、各グループ中の1つ
の複製ノード(以下、更新開始ノード3という)に更新
要求を出し、読み出し要求に対して複数の複製ノードに
読み出し要求を出し、複数の読み出を行った複製ノー
ド(以下、読み出しノード4という)から読み出しを行
ったデータに付与されているタイムスタンプ(更新終了
時に添付される時刻に関する情報)を基にして、最新の
データをクライアント・ノードに返答する。さらに、ど
の程度最近のデータを獲得できるかを計算し、その結果
を情報として管理し、クライアント・ノードからの要求
に対して、要求を満たす読み出しノード4の組合わせを
選択して読み出要求を行い、取得データとこの取得デ
ータの新しさを示す尺度の値(以下、最新度という)を
クライアント・ノードに返答する。
【0027】なお、フロントエンド・ノードは、複数の
読み出しノード4に対して読み出し操作を行ったときの
最新度の情報を管理し、クライアント・ノードからの最
新度の要求を満たしたノード集合に対して読み出し操作
を行う。また、フロントエンド・ノードは、複製ノード
と連携し、各複製ノードが管理する部分的な更新遅れの
統計分布をもとにして、更新開始ノード3から伝搬して
いく経路によって発生する更新遅れの統計分布を計算す
る。さらに、フロントエンド・ノードは、全ての更新開
始ノードの統計分布または最新度を収集し、この得られ
た最新度の最大値を、グループ(複製ノード)における
最新度とする。複数の更新を開始するノードの更新遅れ
の統計分布をもとにして、全ての更新開始ノードの更新
要求数に対する各ノードの更新要求開始数の割合を求
め、更新遅れ分布の加重平均をとることにより最新度を
計算する。
【0028】次に、本実施の形態の詳細について説明す
る。
【0029】[最新度の定義] 最新度とは、取得したデータの新しさを示す尺度の値
ある。すなわち、確率pで、現在から時間T前までの更
新を反映しているとき、確率pの最新度をTと定義す
る。
【0030】[更新および読み出し操作における各ノー
ドの動作]各ノードの動作は以下のとおりである。 (1)クライアント・ノード 「読み出し要求 」 … フロントエンド・ノードに対
して、読み出しを行いたいデータ・オプジェクトと、必
要とする最新度と、を指定する。 「更新要求 」 … フロントエンド・ノードに対
して、更新したいデータ・オブジェクトと、更新後のデ
ータ・オブジェクトの値と、を指定する。
【0031】(2)複製ノード 「データ更新操作」 … フロントエンド・ノードまた
は他の複製ノードからの更新要求を受信し、自ノードの
データを更新してから、隣接する複製ノードのうち、更
新要求を送信してきた複製ノード以外のものに対して更
新要求を伝搬する。 「読み出し操作 」 … フロントエンド・ノードから
の読み出し操作に対して・自ノードの管理するデータ
と、そのデータに付与されているタイムスタンプと、を
フロントエンド・ノードに返答する。 「最新度計算 」 … フロントエンド・ノードと協
調して最新度を計算する。詳細については後述する。
【0032】(3)フロントエンド・ノード 「データ更新操作」 … クライアント・ノードからの
更新要求を、グループ分けした複製ノードの各グループ
に含まれる1つの複製ノードに対して送信する。 「読み出し操作 」 … 複数の読み出しノードの集合
とその集合から読み出したときの最新度を情報として管
理する。クライアント・ノードからの読み出し要求に指
定された最新度を満たす読み出しノード集合を選択し、
この集合に含まれる各読み出しノードに読み出し要求を
送信し、受信したデータに付与されたタイムスタンプが
最新であるデータと、そのデータのタイムスタンプと、
最新度と、をクライアント・ノードに返答する。 「最新度計算 」 … 複製ノードと協調して最新度
を計算する。詳細については、後述する。
【0033】[最新度計算の概要]次に、最新度の計算
について説明する。最新度の計算の概要は以下のとおり
である。 1.各リンクに対して更新遅れ統計分布を割り当てる。 2.読み出し部分木の構築と最短ノードの設定とを行
う。 3.読み出し部分木から、最新度の向上に無関係なノー
ドを削除する。 4.更新遅れの統計分布を計算する。 5.更新遅れの統計分布計算の効率化を行う。 これらの詳細について説明する。
【0034】[1.各リンクヘの更新遅れ統計分布の割
り当て]更新要求が経路を伝搬していくとき、各複製ノ
ードに更新が伝搬していくまでの遅れの要因は、以下の
4つに分類される。 「din 」 … ノードに更新要求が到着した後、待ち
行列に入ってから処理されるまでの遅延時間。 「dproc」 … ノードでの更新要求の処理時間 「dout 」 … 更新要求を次のノードヘの更新要求メ
ッセージとして送出するために、待ち行列に入ってから
送出されるまでの遅延時間 「dtrans」 … 通信リンク上を伝搬して次のノード
に到着するまでの遅延時間
【0035】今、更新開始ノードを根とし、更新開始ノ
ードから読み出しノードヘの経路で構成される木構造を
考える。この木構造を更新要求が伝搬していくとき、あ
る複製ノードに到着した更新要求は、その子となるノー
ドに伝搬される。すると、更新要求を受け取った複数の
子ノードの更新遅れの要因には、子ノード間で独立であ
るものと独立でないものが存在する。そこで、本実施の
形態においては、複数の読み出しノードにおける統計分
布を計算する際に、各リンクに遅延の統計分布を割り当
てる。ある複製ノードに入射するリンクには、遅れ要因
のうち、兄弟となるノードに独立でない要因を割り当て
る。例えば、各複製ノードが子ノードに同時に更新要求
を送信する場合と各子ノードヘの送信タイミングが同時
でない場合とには、それぞれ各リンクの遅延時間δとし
て、以下のものを用いる。
【0036】 δ=dtrans+din (b)+dproc (b)+dout (b) (1)
【0037】 δ=dout (a)+dtrans+din (b)+dproc (b) (2)
【0038】なお、上述においては、ノードaを親とし
てその子をノードbとし、d* (a)、d* (b)は、それぞれ
ノードa、ノードbでの遅延時間を示す。これらの遅延
δは、伝搬方向に依存したものとなるため、伝搬方向に
応じて別々に管理する必要がある。
【0039】[2.読み出し部分木の構築と最短ノード
の設定]フロントエンド・ノードは、読み出しノードを
含む最小の木(以下、読み出し部分木という)を構築す
る。最短ノードの設定は、読み出し部分木に含まれる各
ノードで、以下の何れかの条件を満たすノードを最短ノ
ードとして行う。 条件1 自ノードが更新開始ノードである。 条件2 自ノードから更新開始ノードに至る経路上にお
いて、隣接ノードが読み出し部分木ではない。
【0040】[3.最新度の向上に無関係なノードの削
除]今、木の上を伝搬していく更新メッセージは、各ノ
ードでデータの更新イベントを引き起こす。この更新イ
ベントの発生タイミングの間には、更新木の接続関係に
基づく半順序関係が存在することになる。2つの更新イ
ベントei およびe j の発生タイミングの関係として、
i の後にej が発生する関係を
【0041】
【数1】
【0042】と定義する。親子関係にあるノード同士に
おいて、更新イベントの親をep 、子をec とすると、
【0043】
【数2】
【0044】である。明らかにこの関係は、推移律の関
係(transitive)であるといえる。よって、あるノード
iとノードnjとがあり、ノードniがノードnjの祖先
であるとすると、
【0045】
【数3】
【0046】となる。一般に、あるノードniとノード
jに対する更新遅れが、それぞれdiおよびdjである
事象を、それぞれEiおよびEjとすると、
【0047】
【数4】
【0048】となる。今、ノードniがノードnjの祖先
であり、di<djのとき、P(Ei|Ej)=1であるの
で、
【0049】
【数5】
【0050】となり、ノードnj は最新度の向上に寄与
しない。また、di≧djのとき、P(Ei|Ej)=0と
なり、
【0051】
【数6】
【0052】となる。よって、複数の読み出しノードに
おける更新遅れ統計分布の計算において読み出しノード
の子孫が非同期更新木に含まれている場合、この子孫を
全て削除して計算することができる。
【0053】[4.更新遅れ統計分布の計算]上述の最
新度に無関係なノードの削除を行うと、図3に示す更新
開始ノードを根として更新開始ノードから最短ノードま
での経路と読み出し部分木で構成される更新木とにおい
て、読み出しノードは全て葉となる。ここで、ノードv
r、から発生した更新が、読み出しノードに伝搬すると
き、その伝搬時間の最小値の統計分布として確率密度関
数を求める。ノードvn から送出され、ノードvn の子
孫の読み出しノードに伝搬するまでの更新遅れのうち、
最小の更新遅れの確率密度関数を△nと表し、△i1i2
ijを求める。vi1i2i jとvi1i2j+1とのリンクに割
り当てられた遅れの確率密度関数をδi1i2ij+1とする
と、このリンクとノードvi1i2j+1とその子孫とから
なる部分木における更新遅れの確率密度関数は、
【0054】
【数7】
【0055】となる。ノードvi1i2ijは、その子に向
かう各リンクについて上記の確率密度関数を持つ。この
とき、更新木における更新遅れの確率密度関数△i1i2
ij(t)は、
【0056】
【数8】
【0057】で表される。ただし、△(k)=Δi1i2ij
(k)である。式(3)および(4)を繰り返すことによ
って、同一木構造内の全体における確率密度関数を求め
ることができる。
【0058】[5.複数のノードからの更新における更
新遅れの分布計算の効率化]更新開始ノードおよび読み
出しノードに着目すると、更新経路は、全ての読み出し
ノードに共通の経路、すなわち更新開始ノードから読み
出しノードのLCA(Least Common Ancestor )までの
経路、および、LCAから各ノードへの経路の2つの部
分に分類される。今、複数のノードから更新の開始が行
われる場合、このLCAが共通であるノードについて
は、LCA以下の遅れ確率密度関数は同一になる。そこ
で、本実施の形態では、更新経路を上述の2つの経路に
分割して確率密度関数を計算することにより、複数のノ
ードから更新が開始される場合について、LCAを共通
にするノードの後者の経路についての計算を共通化する
ことができる。
【0059】ある更新開始ノードuに対する読み出しノ
ードのLCAは、読み出しノードを含む最小木に含まれ
るノードのうち、更新開始ノードuとの距離が最も近い
ものである。このように、最小木の中の更新遅れの確率
密度関数の計算を共通化することにより、複数のノード
から読み出したときの遅れの確率密度関数を効率化する
ことができる。
【0060】[アルゴリズムの詳細]次に、以上の手順
をプログラム化するためのアルゴリズムについて説明す
る。本アルゴリズムは以下のステップを有する。 ステップ1 読み出し部分木を構築する。 ステップ2 最短ノードを設定する。 ステップ3 読み出し部分木の葉に相当するノードは、
式(3)を用いて確率密度関数を求め、得られた結果を
隣接ノードに送信する。
【0061】ステップ4 各ノードは、読み出し部分木
上の各隣接ノードsに対して、それ以外の隣接ノードか
らの確率密度関数を受け取っていれば、式(4)を用い
て確率密度関数を求めてノードsに送信する。 ステップ5 最短ノード以外は、読み出し部分木上の、
全ての隣接ノードに確率密度関数を送信して終了する。
最短ノードは、全ての隣接ノードから確率密度関数を受
信した後、まず式(4)を用いて、最短ノードとその子
孫による遅れ確率密度関数を計算する。次に、その計算
した結果と更新開始ノードから最短ノードヘの更新遅れ
確率密度関数との間で式(3)を用いて更新開始ノード
からの更新遅れの確率密度関数を求める。最後に、得ら
れた結果をフロントエンド・ノードに送信して終了す
る。
【0062】各ノードの動作は以下のようになる。 R : 読み出しノードの集合 A : 隣接する(直接リンクを介して接続している)
複製ノードの集合 S : 読み出し部分木上で隣接する複製ノードの集合
(初期値は空集合) N : メッセージを送信しなければならない複製ノー
ドの集合 nexthop(node) : 複製ノード間を接続
する論理的なリンクを用いてあるノード(node)に
送信するときに、メッセージを送信すべき隣接する複製
ノードを計算する関数である。 send(x1,x2,…,xk ij: x1,x2,…,
k を、ノードiがノードjへ送信することを意味す
る。 receive(x1,x2,…,xk ij: x1
2,…,xk を、ノードjがノードiから受信するこ
とを意味する。
【0063】図4は、以上のアルゴリズムを図示したも
のであり、フロントエンド・ノードおよび複製ノードの
動作を示す。 (1)フロントエンド・ノードの動作 集合Rに含まれる任意のノードrkに対して、命令「s
end」を実行する。なお、「id」はフロントエンド
・ノードのノード番号を示す。
【0064】(2)複製ノードの動作 4つの状態out_of_subtree、in_su
btree、subtree_done、calcul
ation_doneを有するとともに、4つの状態遷
移receive(“makeReadSubtre
e”,R,N)j, i ,become_lca、star
t_pdf_calculation、receive
(“PDF”,Pjj,i)を有する。
【0065】なお、makeReadSubtreeは
読み出し部分木構築の開始を指示するための文字列であ
り、PDFはPi が遅延の確率密度関数であることを表
す文字列である。Pi は遅延の確率密度関数である。以
上のアルゴリズムの状態遷移を図示すると、図5のよう
になる。
【0066】[最新度の計算方法]次に、最新度の計算
方法について説明する。上述の方法によって、フロント
エンド・ノードは、複数の読み出しノードから得られる
データの更新遅れの順序統計量の確率密度関数表現を、
全ての更新開始ノードについて計算することができる。
以下においては、これらの統計分布を順序統計量として
表現し、新たに読み出しを行なったときのデータの確率
的最新度の計算方法について述べる。ここで、順序統計
量とは、任意標本を小さいものから順に並べ、順位をつ
けたものである。
【0067】今、n個の旧標本の順序統計をX(1),X
(2),X(3),…,X(n)として、m個の新標本Y(1),Y
(2),Y(3),…,Y(m)をとり、両標本の全てに順位を
つけたた。新標本の取り方として可能な組合わせは、
n+mnであり、それぞれの生じる確率は、1/
n+mn)である。よって、上述の方法によって計算さ
れた確率密度関数を、順序統計量として表現し、複数の
読み出しノードから読み出しを行なったときの信頼区間
の計算は、次のようになる。異なった2つの読み出しノ
ードヘの更新遅れの確率密度関数のもとになった順序統
計量をX(1) 1,X(2) 1,X(3) 1,…,X(n1) 1
(1) 2,X( 2) 2,X(3) 2,…,X(n2) 2とする。X(i) 1
に対する新標本をY(1) 1,X(i) 2に対する新標本をY
(1) 2とする。
【0068】
【数9】
【0069】である確率Pは、X(j) 2≦X(l) 1≦X
(j+1) 2とすると、
【0070】 lj/{(n1+1)(n2+1)} ≦ P ≦ l(j+1)/{(n 1 +1)(n2+1)} (5)
【0071】ここで、n1,n2は、それぞれX(i) 1、X
(j) 2 の個数を意味する。よって、確率P以上の信頼区
間は、
【0072】 P≦lj/{(n1+1)(n2+1)} (6)
【0073】を満たす最小のX(l) 1となる。これは、上
述の方法によって得られた確率密度関数を順序統計量と
して表し、これをもとに新標本を一つとったときの信頼
区間と一致する。よって、本実施例では、まず単一の更
新開始ノードからの最新度を上述の方法によって得られ
た確率密度関数を順序統計量として表し、これをもとに
新標本を一つとったときの確率Pでの信頼区間として、
各最短ノードで計算する。 次に、複数の更新開始ノー
ドからの最新度を受け取ったフロントエンド・ノード
は、その最悪値として、最も大きい最新度をクライアン
ト・ノードに返答する。
【0074】
【発明の効果】以上説明したとおり本発明は、取得した
データとそのデータの新しさを示す尺度の値を有するこ
とにより、クライアントがある新しさのデータを取得し
たい場合に、要求を足するデータを取得することがで
きる。また、得られたデータをもとに動作を決定するよ
うなシステム、すなわち判断支援システム等への適用が
可能である。
【図面の簡単な説明】
【図1】 本発明に係るネットワークおよび計算機を示
すブロック図である。
【図2】 更新要求および読み出し要求を受けた際の各
ノードの関係を示す説明図である。
【図3】 更新開始ノードを根とし、更新開始ノードか
ら最短ノードまでの経路と、読み出し部分木と、で構成
される更新木を示す説明図である。
【図4】 フロントエンド・ノードおよび複製ノードの
動作を実現するプログラムを記載した説明図である。
【図5】 図4に係る状態遷移を示す状態遷移図であ
る。
【符号の説明】
1…計算機、2…ネットワーク、3…更新開始ノード、
4…読み出しノード。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−160567(JP,A) 特開 平9−251435(JP,A) 特開 平7−141242(JP,A) 特開 平9−212405(JP,A) 特開 平9−73424(JP,A) 特開 平6−95950(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 13/00

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 通信ネットワークに複数の計算機が接続
    され、これらの計算機にはデータを管理するためのプロ
    セスが一以上動作しており、前記各プロセスの管理する
    データの内容は全て同一であり、前記データを管理する
    プロセスは、データの更新要求を受付けると、自プロセ
    スのデータを変更するとともに他のプロセスにこの更新
    要求を伝搬し、データの更新が次々に行われるデータ複
    製システムにおいて、 前記データを管理する複数の複製ノードと、前記データ
    の更新および読み出しを要求するクライアント・ノード
    と、このクライアント・ノードからの更新および読み出
    しの要求を複数の前記複製ノードに対して仲介するフロ
    ントエンド・ノードとを有し、 (a)前記複製ノードは、 更新経路を示す論理的な木構造によって接続された一以
    上のグループを構成し、更新要求が伝搬されると前記木
    構造上で隣接する複製ノードのうち、前記更新要求を伝
    搬してきたノード以外の全てのノードに対して更新要求
    を伝搬し、前記フロントエンド・ノードから前記データの読み出し
    を要求されると、要求された前記データに更新終了時に
    添付される時刻に関する情報を付与して前記フロントエ
    ンド・ノードへ返答し、 (b)前記クライアント・ノードは、 前記データの読み出し要求時に読み出しを行いたいデー
    タとこのデータに必要とされるデータの新しさを示す尺
    度の値とを指定し、 (c) 前記フロントエンド・ノードは、 前記クライアント・ノードからの更新要求に対して、前
    記各グループ中の1つの複製ノード(以下、更新開始ノ
    ードという)に更新要求を行い、前記複製ノードの組合せごとにデータの新しさを示す尺
    度の値を計算し、その計算結果を管理するとともに、 前記クライアント・ノードからの読み出し要求に対し
    て、指定された前記データに必要とされるデータの新し
    さを示す尺度の値を満たす前記複製ノード(以下、読み
    出しノードという)の組合せを選択し、選択された複製
    ノードから読み出 した複数の前記データ中から最新のデ
    ータを選択し、データの新しさを示す尺度の値とともに
    前記クライアント・ノードに返答することを特徴とする
    データ複製システム。
  2. 【請求項2】 請求項1において、 前記データの新しさを示す尺度の値を最新度として定義
    し、 所定の確率pで、現在から時間T前までの更新を反映し
    ているときに、確率pの最新度はTであると定義する
    とを特徴とするデータ複製システム。
  3. 【請求項3】 請求項2において、 前記各複製ノードは、 前記ノードに接続している論理的リンクを伝搬するとき
    の更新遅れの統計分布を管理し、前記読み出しノードを
    含む最小の部分木(以下、読み出し部分木という)を形
    成し、この読み出し部分木に含まれるノードのうち、前
    記木構造上で更新開始ノードに最も近いノード(以下、
    最短ノードという)を選択し、 前記更新開始ノードから前記最短ノードまでの経路と読
    み出し部分木とで構成される部分木において前記更新開
    始ノードを根としたときに、前記読み出し部分木の葉と
    なるノードは、前記ノードに接続されているリンクの更
    新遅れの統計分布を親ノードに送信し、前記葉となるノ
    ード以外の複製ノードは、子ノードの全てから統計分布
    を受け取った後、この統計分布を用いて前記複製ノード
    から前記複製ノードの子孫となる読み出しノードまでの
    更新遅れの最小の統計分布を計算してから、この統計分
    布を前記親ノードに送信し、 前記最短ノードは、計算した統計分布または最新度を前
    記フロントエンド・ノードに送信し、 前記最新度または全ての更新開始ノードについての更新
    遅れの統計分布を受信したフロントエンド・ノードは、
    前記最新度または統計分布をもとにして、同一木構造内
    の最新度を計算することを特徴とするデータ複製システ
    ム。
  4. 【請求項4】 請求項3において、 前記最短ノードを読み出し部分木としたときに、先祖に
    読み出しノードが存在する読み出しノードを削除してい
    き、 先祖に読み出しノードの存在する読み出しノードが無く
    なった時点で、でき上がった読み出し部分木を用いるこ
    とを特徴とするデータ複製システム。
  5. 【請求項5】 通信ネットワークに複数の計算機が接続
    され、これらの計算機にはデータを管理するためのプロ
    セスが一以上動作しており、前記各プロセスの管理する
    データの内容は全て同一であり、前記データを管理する
    プロセスは、データの更新要求を受付けると、自プロセ
    スのデータを変更するとともに他のプロセスにこの更新
    要求を伝搬し、データの更新が次々に行われるデータ複
    製システムにおいて、 前記データを管理する複製ノード、前記データの更新お
    よび読み出しを要求するクライアント・ノードおよび
    のクライアント・ノードからの更新および読み出しの
    求を複数の前記複製ノードに対して仲介するフロントエ
    ンド・ノードのいずれか1つとして前記計算機を機能さ
    せるプログラムを記録した記録媒体であって、 (a)前記複製ノードは、 更新経路を示す論理的な木構造によって接続された一以
    上のグループを構成し、更新要求が伝搬されると前記木
    構造上で隣接する複製ノードのうち、前記更新要求を伝
    搬してきたノード以外の全てのノードに対して更新要求
    を伝搬し、前記フロントエンド・ノードから前記データの読み出し
    を要求されると、要求された前記データに更新終了時に
    添付される時刻に関する情報を付与して前記フロントエ
    ンド・ノードへ返答し、 (b)前記クライアント・ノードは、 前記データの読み出し要求時に読み出しを行いたいデー
    タとこのデータに必要とされるデータの新しさを示す尺
    度の値とを指定し、 (c) 前記フロントエンド・ノードは、 前記クライアント・ノードからの更新要求に対して、前
    記各グループ中の1つの複製ノード(以下、更新開始ノ
    ードという)に更新要求を行い、前記複製ノードの組合せごとにデータの新しさを示す尺
    度の値を計算し、その計算結果を管理するとともに、 前記クライアント・ノードからの読み出し要求に対し
    て、指定された前記デー タに必要とされるデータの新し
    さを示す尺度の値を満たす前記複製ノード(以下、読み
    出しノードという)の組合せを選択し、選択された複製
    ノードから読み出した複数の前記データ中から最新のデ
    ータを選択し、データの新しさを示す尺度の値とともに
    前記クライアント・ノードに返答することを特徴とする
    データ複製プログラムを記録した記録媒体。
  6. 【請求項6】 請求項5において、前記データの新しさを示す尺度の値を最新度として定義
    し、 所定の確率pで、現在から時間T前までの更新を反映し
    ているときに、確率pの最新度はTであると定義する
    とを特徴とするデータ複製プログラムを記録した記録媒
    体。
  7. 【請求項7】 請求項6において、 前記各複製ノードは、 前記ノードに接続している論理的リンクを伝搬するとき
    の更新遅れの統計分布を管理し、前記読み出しノードを
    含む最小の部分木(以下、読み出し部分木という)を形
    成し、この読み出し部分木に含まれるノードのうち、前
    記木構造上で更新開始ノードに最も近いノード(以下、
    最短ノードという)を選択し、 前記更新開始ノードから前記最短ノードまでの経路と読
    み出し部分木とで構成される部分木において前記更新開
    始ノードを根としたときに、前記読み出し部分木の葉と
    なるノードは、前記ノードに接続されているリンクの更
    新遅れの統計分布を親ノードに送信し、前記葉となるノ
    ード以外の複製ノードは、子ノードの全てから統計分布
    を受け取った後、この統計分布を用いて前記複製ノード
    から前記複製ノードの子孫となる読み出しノードまでの
    更新遅れの最小の統計分布を計算してから、この統計分
    布を前記親ノードに送信し、 前記最短ノードは、計算した統計分布または最新度を前
    記フロントエンド・ノードに送信し、 前記最新度または全ての更新開始ノードについての更新
    遅れの統計分布を受信したフロントエンド・ノードは、
    前記最新度または統計分布をもとにして、同一木構造内
    の最新度を計算することを特徴とするデータ複製プログ
    ラムを記録した記録媒体。
  8. 【請求項8】 請求項7において、 前記最短ノードを読み出し部分木としたときに、先祖に
    読み出しノードが存在する読み出しノードを削除してい
    き、 先祖に読み出しノードの存在する読み出しノードが無く
    なった時点で、でき上がった読み出し部分木を用いるこ
    とを特徴とするデータ複製プログラムを記録した記録媒
    体。
JP04707699A 1999-02-24 1999-02-24 データ複製システムおよびデータ複製プログラムを記録した記録媒体 Expired - Fee Related JP3421270B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04707699A JP3421270B2 (ja) 1999-02-24 1999-02-24 データ複製システムおよびデータ複製プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04707699A JP3421270B2 (ja) 1999-02-24 1999-02-24 データ複製システムおよびデータ複製プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000242620A JP2000242620A (ja) 2000-09-08
JP3421270B2 true JP3421270B2 (ja) 2003-06-30

Family

ID=12765091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04707699A Expired - Fee Related JP3421270B2 (ja) 1999-02-24 1999-02-24 データ複製システムおよびデータ複製プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3421270B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3545267B2 (ja) * 1999-07-14 2004-07-21 日本電信電話株式会社 データ複製方法およびデータ複製プログラムを記録した記録媒体
JP5783008B2 (ja) * 2011-11-21 2015-09-24 富士通株式会社 ストレージ装置、ストレージシステム、データ更新方法およびデータ管理プログラム
JP5983484B2 (ja) 2013-03-21 2016-08-31 富士通株式会社 情報処理システム、情報処理装置を制御する制御プログラム及び情報処理システムの制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695950A (ja) * 1992-09-17 1994-04-08 Nippon Telegr & Teleph Corp <Ntt> ファイル複製生成方式
JPH07141242A (ja) * 1993-11-15 1995-06-02 Nec Corp 自動ファイル更新方式
JPH07160567A (ja) * 1993-12-03 1995-06-23 Toshiba Corp ファイル更新方式
JPH0973424A (ja) * 1995-09-07 1997-03-18 Mitsubishi Electric Corp ネットワークシステム
JPH09212405A (ja) * 1996-02-05 1997-08-15 Mitsubishi Electric Corp ファイル管理方法およびファイル管理装置
JP2924779B2 (ja) * 1996-03-15 1999-07-26 日本電気株式会社 データ階層配信処理方式

Also Published As

Publication number Publication date
JP2000242620A (ja) 2000-09-08

Similar Documents

Publication Publication Date Title
US6415372B1 (en) Rolling back storage subsystem reconfigurations
CN100416538C (zh) 动态修改通信路径的方法
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
US7693882B2 (en) Replicating data across the nodes in a cluster environment
JP4783379B2 (ja) サービス情報品質を用いたオブジェクトレプリケーション
US7783607B2 (en) Decentralized record expiry
EP0814590A2 (en) Preventing conflicts in distributed systems
US20040049513A1 (en) Techniques for moving stub files without recalling data
EP0684558A1 (en) Distributed data processing system
JP4156855B2 (ja) 電子帳票管理方法及びプログラム
US20050213514A1 (en) Estimating and managing network traffic
JP3526474B2 (ja) ネットワークにおける配布情報管理システム
CN109933592A (zh) 数据存储方法、数据回滚方法、设备和存储介质
US7890468B2 (en) Rollback support in distributed data management systems
US7904547B2 (en) Method, system, and program product for optimizing monitoring and discovery services for a grid computing environment
CN109739684A (zh) 基于向量时钟的分布式键值数据库的副本修复方法与装置
CN102779088A (zh) 事务处理设备、事务处理方法及事务处理程序
US20090006501A1 (en) Zone Control Weights
JP3421270B2 (ja) データ複製システムおよびデータ複製プログラムを記録した記録媒体
JP4971717B2 (ja) ディレクトリ分散型記憶装置及びデータ処理要求移譲プログラム
Alkhatib et al. Transaction management in distributed database systems: the case of oracle’s two-phase commit
US7406486B1 (en) Transforming transactions to increase parallelism when replicating
JP3545267B2 (ja) データ複製方法およびデータ複製プログラムを記録した記録媒体
CN115878625A (zh) 数据处理方法和装置及电子设备
WO2011118425A1 (ja) クエリ最適化システム、クエリ最適化装置、及びクエリ最適化方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees