JP2004171278A - データの複製管理方法、ノードにおける情報処理方法、ノード、データの複製管理プログラム、および該プログラムを記載した記録媒体 - Google Patents
データの複製管理方法、ノードにおける情報処理方法、ノード、データの複製管理プログラム、および該プログラムを記載した記録媒体 Download PDFInfo
- Publication number
- JP2004171278A JP2004171278A JP2002336549A JP2002336549A JP2004171278A JP 2004171278 A JP2004171278 A JP 2004171278A JP 2002336549 A JP2002336549 A JP 2002336549A JP 2002336549 A JP2002336549 A JP 2002336549A JP 2004171278 A JP2004171278 A JP 2004171278A
- Authority
- JP
- Japan
- Prior art keywords
- data
- core
- copy
- update
- request
- 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
Links
Images
Abstract
【解決手段】各データについて、ネットワーク内にデータの更新が可能なコアデータ17を一つ配置し、読み出しのみが可能な複製データ27、37、47を複数分散配置することにより、データの一貫性を保持しつつデータの可用性を高める。コアデータ17は決まった場所に配置するのではなく、データの利用状況やネットワークの状況に応じて動的に移動させる。また、各複製データ17、27、37はそれぞれの利用頻度に応じた複製レベルを定め、コアデータ17は複製レベルに応じて各複製データ27、37、47との間の同期をとる。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は有線または無線のインタフェースを含む複数のノードを有し、一意な識別子で識別されるデータおよび該データの複製である複製データが前記ノード内に配置され、ユーザが識別子を用いてデータへのアクセスを実行すると、該データあるいはいずれかの複製データへのアクセスが可能なネットワークにおける、データの複製管理方法に関する。
【0002】
【従来の技術】
従来、複製データの管理方法として、ネットワーク内の単一、かつ固定のマスタデータのみが更新可能とし、規定の同期ポリシにしたがってマスタデータの更新内容を通信により逐次複製データにも反映させる、あるいは複製データは必ずしも最新であることを保証しない、などの方法がとられてきた。
【0003】
また、マスタデータへの負荷の集中を避ける目的や、ネットワーク内のトラフィック削減のため、そしてネットワーク切断によりマスタデータとの通信が不可能になった場合のために、マスタデータ以外の複製データに対しても更新を認める方法が考えられている。
【0004】
例えばキャッシュを用いる分散ファイルシステムにおいては、ファイルサービスを利用するクライアント端末上にファイルの一部をキャッシュとして保存しておき、ファイルの可用性を高めている。非特許文献1で述べられている分散フィルムシステムCodaにおける複製管理方法では、クライアントからサーバへアクセスできない切断状態においては、クライアントのキャッシュに対して操作を行うことを許す。その後サーバへ再接続したときには該キャッシュへの更新情報とサーバ内の情報を比較する。比較の結果、切断時に同時にデータが更新されたことによって生じた不整合を検出した場合は、ユーザに通知して人手による修復を行う。この手法は完全に楽観的なデータ一貫性制御であり、一時的なデータの不整合は許している。
【0005】
一方、非特許文献2では、移動可能、かつ単一の更新可能なデータとしてコアデータを定義し、全ての複製データに有効期限を設けることによって厳密な一貫性制御を可能にしている。コアデータが受け付けられた更新内容は複製データへと同期されるが、このとき全ての有効期限内の複製データへの同期完了が確認できなかった場合には更新操作は取り消され失敗し、同期完了が確認できなかった複製データの有効期限が切れるのを待って、再度更新を試みる。このため、ネットワークリンクが不安定で通信メッセージが失われやすい環境においても、更新内容の同期を厳密に保証できる複製データ管理が実現できる。また、更新を行う端末に予めコアデータを移動しておくことにより、ネットワーク切断のタイミングが既知でない場合においても、離脱した端末において継続的にデータの更新が可能となる。
【0006】
【発明が解決しようとする課題】
【0007】
【非特許文献1】
Kistler, J. J., Satyanarayanan, M. 著、“Disconnected Operation in the Coda File System”, in ACM Transactions on Computer Systems, Feb. 1992, Vol. 10, No.1, pp.3−25
【非特許文献2】
中村元紀、井上知洋、久保田稔、“アドホックットワーク環境のためのデータ管理方式”信学総大B―15―6, 2002年3月。
【0008】
無線リンクによって構成されるネットワークが現在以上に普及し、ユーザの利用形態が多様化する将来のネットワーク環境では、トポロジが動的に変化するネットワークが一般化すると考えられる。このような環境では、モバイル端末が単独で移動してネットワークから離脱するだけではなく、無線リンクなどによって構成されるネットワークそのものが、ネットワークの単位で移動し、基幹ネットワークから離脱するようなケースが想定される。このような環境において従来の複製データ管理方法では、データの可用性を十分に保つことができない。
【0009】
前述のように、Codaなどの分散ファイルシステムでは、楽観的な一貫性制御を行い、マスタデータとなるファイルサーバとのネットワーク接続が失われている場合にもクライアント端末上のキャッシュデータの更新を許している。しかしマスタデータは常に固定のファイルサーバ上に存在しているため、複数のクライアント端末を含むネットワークがネットワークの単位で移動しファイルサーバとの接続を失った場合、クライアント端末上のキャッシュデータ間では同期が全く行われない。この結果、クライアント端末の数に応じて異なる内容のキャッシュデータが生成されてしまう可能性があり、これらの無数のバージョンのデータの入手により統合するコストを考えると、現実的なデータの運用が不可能になってしまう。
【0010】
一方、非特許文献2では、マスタデータの位置を移動可能とすることによってトポロジの動的なネットワークにおいてもデータの一貫性制御を実現している。しかし、厳密な一貫性制御ポリシのみを考慮しているため、ネットワークの分割に伴ってマスタデータとの接続を失ってしまったネットワーク内の端末は、複製データの有効期限切れ以降、該データに対して全くアクセスできなくなってしまうという問題がある。
【0011】
また、全ての複製データに対して同期完了を確認した後に更新をコミットするため、 複製データの数が多くなった場合に更新が失敗する確率が高くなってしまう、あるいは更新完了までの遅延時間が長くなってしまう。
【0012】
本発明の目的は、トポロジが動的に変化してネットワークの分割が起こり得るネットワーク環境において、なるべくデータの可用性を保ちながら、ユーザの要求に応じた柔軟な一貫性制御を実現する複製データの管理方法を提供することにある。
【0013】
【課題を解決するための手段】
非特許文献2の複製データ管理方法は以下の二点を特徴としている。
【0014】
(1)分散配置されたデータの複製のうちの一つの複製(以下コアデータと呼ぶ)のみに該データの更新権を与え、該コアデータと通信可能な複製のみを有効とすることによって複製データ間の一貫性を厳格に保証する。
【0015】
(2)コアデータは端末に固定的なものではなく、任意の端末に動的に変更可能とする。
【0016】
本発明の複製データ管理方法においては前記目的を達成するために、上記の(1)(2)に加えて、以下の三点を実現する。
【0017】
(3)複製データは、同期が必要な度合いに応じて複数の「複製レベル」を選択可能とする。
【0018】
(4)コアデータを失ったネットワークにおいては、既存の複製データの中から一つを選んでコアデータとして再生させ、複製データを継続する。
【0019】
(5)継続されたネットワーク上で同一の識別子で識別されるデータについて、コアデータが複数見つかった場合は、それらのコアデータを統合して新しいデータを生成し、そのデータを単一のコアデータとして複製データ管理を継続する。
【0020】
本発明の複製データ管理方法では、(3)によって、同期保証の必要な複製データの数を削減することが可能となり、更新の失敗確率および更新完了までの遅延時間を小さくすることができる。また、(4)および(5)によって、ネットワークの分割が起こった場合においてもそれぞれのネットワーク内でデータの一貫性制御が可能となり、同時に発生するデータのバージョン数は孤立したネットワークの数程度に限られる。
【0021】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0022】
図1は本発明の一実施形態のネットワークの構成図である。
【0023】
本実施形態の無線ネットワークは、それぞれ無線ネットワークインタフェースを有するノード10とノード20、ノード30、ノード40と、無線ネットワークインタフェースを有する無線アクセスポイント01と無線アクセスポイント02から構成される。なお、無線ネットワークインタフェースの代りに有線ネットワークインタフェースを有していてもよい。
【0024】
ノード10はノード20のみと、ノード20はノード10と無線アクセスポイント01のみと、ノード30はノード40と無線アクセスポイント02のみと、ノード40はノード30のみと、それぞれ直接通信可能である。無線アクセスポイント01は無線アクセスポイント02およびノード20のみと、無線アクセスポイント02は無線アクセスポイント01およびノード30のみと、それぞれ直接通信可能である。また、無線アクセスポイント01、02はリピータハブとして動作し、受信した通信内容をそのまま無線ネットワークインタフェースから再送する動作を行う。このため、ノード20とノード30は無線アクセスポイント01と02を経由して互いに通信可能である。
【0025】
初期状態では各ノード10、20、30、40にはクライアントからのデータ操作要求を受け付けるデータマネージャ13、23、33、43と、データ操作を要求するクライアント15、25、35、45が存在し、コアデータ17、27および複製データ37、47は存在しない。
【0026】
データマネージャ13はデータ生成時には、該データの生成、修正、あるいは削除のいずれかの操作である更新操作を実行可能なコアデータ17を生成して、該データの生成ノード10に配置し、該データ17を参照したノード20、30、40に該データの参照操作のみが実行可能な複製データ27、37、47を生成して、配置する。各複製データ27、37、47はコアデータ17が存在するノード10のネットワークアドレス、コアデータ17と複製データ27、37、47の最新性の度合いを表す複製レベル、複製データ27、37、47が有効であることを保証する有効期間、複製データ27、37、47の更新時刻を表す複製リビジョン番号、および複製データ27、37、47が認識しているコアデータ17の最新更新時刻を表すコアリビジョン番号を保持している。コアデータ17は、全ての複製データ27、37、47のネットワークアドレスと複製レベルと有効期間から構成されるテーブル、および自身のデータのリビジョン番号を保持している。
【0027】
本実施形態においては、クライアント、データマネージャ、コアデータおよび複製データは互いに通信相手のオブジェクトIDを指定することにより、位置に依存せず非同期にメッセージ通信可能である。さらに、本実施形態においては、各ノード10、20、30、40から無線の届く範囲に存在する全てのノードへのブロードキャスト、いくつかのノードへのマルチキャスト、および特定のノードへのユニキャスト通信が可能であるとする。また、いくつかのノードが通信を中継することにより、無線の届かない範囲に存在するノードに対してもユニキャストおよびマルチキャスト通信が可能であるものとする。
【0028】
図2はデータマネージャによるデータの実現方法を示している。データマネージャ13、23、33、43(以下、総称してデータマネージャ61と称す)は一意な識別子であるデータ名63と、該データに対応するデータオブジェクト(以下、単にデータと表記)64のオブジェクトIDとの対応表であるデータ対応表62と、ノード60上で生成されたデータ名を記録した作成済データ表63を管理するものとする。ここで、データ名はノードIDと任意の文字列から構成されるものとし、オブジェクトIDはノードIDと任意の数字の列から構成されるものとする。また、データマネージャ61は他ノードや自ノード60の他のオブジェクトからデータ生成要求やデータ更新要求やデータ参照要求を受信するものとし、各要求は対応するデータ名を含むものとする。
【0029】
図3は本実施形態におけるデータマネージャ61の動作を示すフローチャートである。
【0030】
メッセージ受信待ちし(ステップ101)、メッセージを受信する(ステップ102)と、メッセージ種別を判断する(ステップ103)。
【0031】
データ生成要求を受信した際、もし作成済データ表63あるいはデータ対応表62に、該データ生成要求中のデータ名に対応するエントリが存在したら、要求元にエラーを返す(ステップ104―106)。そうでなければ自ノードにデータ64を作成して該データ生成要求の要求元をデータ64に通知するとともに、該データ生成要求中のデータ名に対応するオブジェクトIDとして、データ64のオブジェクトIDを登録し(ステップ107)、該データ生成要求中のデータ名を作成済データ表63に登録する(ステップ108)。
【0032】
データマネージャ61がデータ更新要求あるいはデータ参照要求を受信した際、もし該データ名を含むエントリがデータ対応表62に存在すれば、対応するオブジェクトIDに対して該要求を転送する(ステップ109、110)。データがデータ対応表62に存在しなければ、周りのノードのコアデータ検索要求をブロードキャストする(ステップ111)。なお、コアデータ検索要求には検索元オブジェクトIDとシーケンス番号を含める。コアデータ検索要求に対するコアデータ通知を一定時間受信しなかったら、データ更新要求あるいはデータ参照要求の要求元にエラーを返す(ステップ112、114)。もし一定時間内にコアデータ通知を受信した場合、自ノードにデータ64を作成して該コア通知内に含まれるコアデータのオブジェクトID、および該データ更新要求あるいはデータ参照要求元をデータ64に通知する(ステップ112、113)。
【0033】
データマネージャ61がコアデータ検索要求を受信した場合、もし該コアデータ検索要求の検索元オブジェクトIDが自身のオブジェクトIDと一致するか、該コアデータ検索要求の検索元オブジェクトIDとシーケンス番号の組を既に受信済であったら、該コアデータ検索要求を破棄する(ステップ115―117)。そうでなければ、もし該コアデータ検索要求中のデータ名がデータ対応表62に存在すれば、該当するエントリのオブジェクトIDを該コアデータ検索要求の要求元オブジェクトIDに対して返送する(ステップ118、119)。上記のどちらの条件も当てはまらなければ、該コアデータ検索要求の検索元オブジェクトIDとシーケンス番号の組を記憶し、該コアデータ検索要求を周りのノードにブロードキャストする(ステップ118、120)。
【0034】
データは他ノードや自ノード内の他のオブジェクトからデータ更新要求やデータ参照要求を受信するものとし、各要求は対応するデータ名を含むものとする。
【0035】
図4は図1のネットワークにおいてノード10でデータ生成要求が発生し、その後続けてデータの参照要求と更新要求が発生した場合のデータ生成動作のシーケンスを示している。図1において、初期状態として全てのノード10、20、30、40にはデータマネージャ13、23、33、43とクライアント15、25、35、45だけが存在し、コアデータ17、27および複製データ37、47は存在しない。
【0036】
まず、ノード10上のクライアント15がメモリ上のファイルの保存などのため、データの生成要求をノード10上のデータマネージャ13に送信する(ステップ121)。データマネージャ13はノード10上にコアデータ17を生成し、コアデータ17は自身のローカルデータを生成して(ステップ123)、クライアント15へ生成応答を返す(ステップ124)。次に、クライアント15がデータを参照したい場合、ノード10上のコアデータ17にデータ参照要求を送信する(ステップ125)。コアデータ17は自身のデータを参照し(ステップ127)、クライアント15へ参照応答を返す(ステップ128)。次に、クライアント15がデータを更新したい場合、コアデータ17にデータ更新要求を送信する(ステップ130)。コアデータ17は自身のデータに対し更新を実行し(ステップ132)、更新の成否を更新応答としてクライアント15へ返す(ステップ133)。更新が成功した場合、コアデータ17のリビジョン番号は1増加する。以後、コアデータへの更新操作が成功した場合には該コアデータのリビジョン番号は常に1ずつ増加することとする。
【0037】
図5は図1のネットワークにおいて複製データの存在しないノード20でデータの参照要求が発生した場合の動作のシーケンスを示している。
【0038】
ノード20上のクライアント25は該データに対する複製データあるいはコアデータのオブジェクトIDを知らないため、ネットワーク上で隣接するデータマネージャに対してブロードキャストによってコアデータ検索要求を送信する(ステップ140)。本実施形態では、コア検索要求を受信したデータマネージャ15がコアデータ17のオブジェクトIDを知っているため、コアデータ17のオブジェクトIDをコア通知142に含めてデータマネージャ23へ返送する。コア通知を受信した(ステップ142)データマネージャ23は通知されたオブジェクトIDに基づいて、データマネージャ13に対してデータ参照要求を送信する(ステップ145)。データ参照要求を受信した(ステップ146)データマネージャ13はコアデータ17が保持するデータを参照し(ステップ147)、データの内容を参照応答としてデータマネージャ23へ返送する(ステップ148)。参照応答を受信したデータマネージャ23は、参照応答をデータ参照要求の要求元であるクライアント25へ返送する(ステップ140)。
【0039】
その後、データマネジャー23はノード20上に複製データを生成し(ステップ150)、参照応答に含まれていたデータと、システムで規定の複製レベルを仮登録する(ステップ151)。その後、複製データ27はコアデータ17に対して、複製データ追加要求を送信する(ステップ152)と同時にタイマを設定する(ステップ153)。複製データ追加要求を受信したコアデータ17は、複製データ追加要求に含まれる複製データ27のオブジェクトID(アドレス)とシステム規定の複製有効期限と複製レベルを記憶し(ステップ154)、複製データ27に対して複製データ生成実行を送信する(ステップ155)。複製データ27が複製データ生成実行を一定時間以内に受信できた場合、複製データ27は仮登録されたデータを本登録する(ステップ156)。複製データ27が複製データ生成実行を一定時間以内に受信できなかった場合、複製データ27が仮登録されたデータを破棄することにより複製データ27のコアデータ17への登録操作は取り消される。
【0040】
図6は図1のネットワークにおいて複製データの存在するノード20でデータの参照要求が発生した場合の動作のシーケンスを示している。
【0041】
複製データ27は、同期保証(全ての厳密な複製データについてデータの更新同期あるいは更新通知)を要求する強整合同期または強整合通知のレベル、あるいは同期保証を必要としない弱整合同期または弱整合通知の、いずれかの複製レベルを保持している。
【0042】
ノード29上のクライアント25は、自ノード上の複製データ27に対してデータ参照要求を送信する(ステップ160)。データ参照要求に付帯される参照ポリシが「局所」である場合、あるいは複製データ27の複製レベルが「強整合同期」である場合、あるいは複製データ27の複製レベルが「強整合通知」で、かつ複製データ27の持つリビジョン番号とコアリビジョン番号が一致している場合、複製データ27は自身のローカルデータを参照し(ステップ161)、要求元クライアント25へ参照応答として返送する(ステップ162)。このとき複製データ27の複製レベルが「強整合同期」の場合、あるいは複製データ27の複製レベルが「強整合通知」で、かつ複製データ27の持つリビジョン番号とコアリビジョン番号が一致している場合は、参照データが最新であることを意味する「最新」を付加情報として参照応答に含める。複製データ27の複製レベルが「弱整合同期」の場合、あるいは複製データ27の複製レベルが「弱整合通知」で、かつ複製データ27の持つリビジョン番号とコアリビジョン番号が一致している場合は、参照データがおそらく最新であることを意味する「準最新」を付加情報として参照応答に含める。複製データ27の複製レベルが「強整合通知」か「弱整合通知」の場合で、複製データ27の持つリビジョン番号とコアリビジョン番号が一致していない場合は、参照データが古いことを意味する「非最新」を付加情報として参照応答に含める。
【0043】
次に、ノード20上のクライアント25は、自ノード上の複製データ27に対して参照ポリシが「最新」であるデータ参照要求を送信する(ステップ163)。複製データ27の複製レベルが「強整合同期」である場合、あるいは複製データ27の複製レベルが「強整合通知」で、かつ複製データ27の持つリビジョン番号とコアリビジョン番号が一致している場合は、上記データ参照要求の場合と同じようににノード20でローカルに処理が行われる。一方、複製データ27の複製レベルが「強整合通知」で、かつ複製データ27の持つリビジョン番号とコアリビジョン番号が一致していない場合、複製データ27の把握するコアデータ17に対して、データ参照要求元クライアント25のオブジェクトIDを含めたデータ参照要求を送信し(ステップ104)、コアデータ17はローカルの最新データを参照して要求元クライアント25に参照応答として返送する(ステップ167)。複製データ27の複製レベルが「弱整合同期」あるいは「弱整合通知」の場合は、複製データ27のリビジョン参照要求をコアデータ17に対して送信し(ステップ164)、参照応答に含まれるコアデータのリビジョン番号と自身のリビジョン番号を比較する。比較の結果が一致していない場合、コアデータ17に対してデータ参照要求元クライアント25のオブジェクトIDを含めたデータ参照要求を送信し(ステップ166)、コアデータ17はローカルの最新データを参照して要求元クライアント25に参照応答として返送する(ステップ167)。比較の結果が一致した場合は複製データ27自身のローカルデータを参照し要求元クライアント25に参照応答を返送する。なお、参照ポリシが「最新」である参照要求163に対する参照応答には常に付加情報「最新」が含まれる。
【0044】
図7は図1のネットワークにおいてノード20でデータの最新要求が発生した場合の動作のシーケンスを示している。図7においては、最初の状態ではノード10、20、30、40上にそれぞれコアデータ17、複製データ27、37、47が存在しているとし、複製データ27、37、47の複製レベルはそれぞれ「強整合同期」、「強整合通知」、「弱整合同期」であるとする。
【0045】
まず、ノード20のクライアント25が自ノード上の複製データ27にデータ更新要求を送信する(ステップ170)。データ更新要求を受信した複製データ27は、データ更新要求をコアデータ17に転送する(ステップ172)。データ更新要求を受信したコアデータ17は、複製レベルが「強整合同期」あるいは「強整合通知」である複製データ27、37に対し更新要求を送信する(ステップ173、174)と同時にタイマを設定する(ステップ175)。このとき複製レベルが「強整合同期」である複製データ27には更新されたデータのリビジョン番号とともにデータの内容を含めて更新要求を送信するが(ステップ173)、複製レベルが「強整合通知」である複製データ37には更新されたデータのリビジョン番号のみを含めて更新要求を送信する(ステップ174)。
【0046】
更新要求を受信した複製データ27、37は更新内容を記憶し、コアデータ17に対して確認応答をそれぞれ返送する(ステップ176、177)と同時にタイマを設定する(ステップ188、189)。コアデータ17がタイマを設定して(ステップ175)から一定時間以内に全ての複製データから確認応答を受信できた場合、コアデータ17は、複製データ27と37への更新の同期成功を保証できたこととなり、データ更新要求に含まれるデータを用いてローカルデータの更新を行う(ステップ178)。
【0047】
その後コアデータ17は複製データ27と37に更新の実行依頼、およびデータが有効であることを示す新しい有効期間を含む更新実行を送信する(ステップ180、181)。同時に複製レベルが「弱整合同期」である複製データ47に対して、更新内容のデータとリビジョン番号を含んだ更新要求を送信する(ステップ182)。複製データ27、37が一定時間以内にそれぞれ更新実行(ステップ180、181)を受信できた場合、更新要求(ステップ173、174)で通知されたデータにしたがって更新処理を行うとともに、通知された有効期間を記憶する(ステップ185、186)。更新要求を受信した複製データ47も、通知されたデータにしたがって更新処理を行う(ステップ187)。
【0048】
もし確認応答ステップ176と177のどちらかがネットワークの切断など、なんらかの理由により失われた場合、更新操作は失敗する。例えば図8は図7のシーケンスの途中において応答確認(ステップ177)が失われた場合について示している。この場合、コアデータ17は確認応答を受信できなかった複製データ27、37のネットワークアドレスを削除したタイマを設定して(ステップ175)から一定時間以内に確認応答(ステップ176と177)を全て受信できなかったので、コアデータ17は複製データ27と37への更新の同期成功を保証できない。このため、コアデータ17は確認応答を受信できなかった複製データ27、37のネットワークアドレスを削除して更新を破棄し(ステップ190)、更新の失敗を要求元クライアント25に更新応答として返送する(ステップ191)。その後、複製データ27へ更新取消を送信する(ステップ192)。更新取消を受信した複製データ27は更新を破棄し、タイマを解除する(ステップ194)。
【0049】
複製データ37は更新取消を受信しないが、ステップ189で設定されたタイマがタイムアウトすると同時に複製データ自体が破棄される(ステップ195)。もし更新取消(ステップ192)がなんらかの理由で失われた場合、一定期間内に更新の実行を依頼されなかった場合も、タイムアウトにより複製データ27は破棄される。
【0050】
このように、本複製データ管理方法では、複製レベルが「強整合同期」あるいは「強整合通知」の有効期限内の複製データに関しては更新メッセージが確実に受信されることを保証することができる。これによって、複製レベルが「強整合同期」あるいは「強整合通知」の有効期限内の複製データに関して厳密なデータの一貫性保証が可能になっている。
【0051】
図9は図1のネットワークにおいてノード20上のデータデータ複製27の期限延長要求があった場合の動作のシーケンスを示している。
【0052】
ノード20上の複製データ27は有効期限が切れる前に複製データの有効期間の延長要求をコアデータ17に送信し、現在時刻+規定値で計算される仮の有効期限を一時記憶する(ステップ240)と同時にタイマを設定する(ステップ291)。延長要求を受信したコアデータ17は複製データ27の新たな有効期限(現在時刻+規定値)を計算し、これをもって管理する複製データ表を更新し(ステップ292)、延長応答を送信する(ステップ293)。延長要求を送信してから一定時間内に延長応答を受信した複製データ27は延長応答に含まれる新たな有効期限を自身に設定する(ステップ294)。
【0053】
もし一定時間内に延長応答が受信されなかった場合(ステップ298)、複製データ27はタイムアウトによって複製データ自身を破棄する(ステップ299)。これによって、コアデータが把握する複製データの有効期限は、複製データが把握する有効期限より常に長くなることが保証される。
【0054】
図10は図1のネットワークにおいてノード20上のクライアント25から更新要求があり、コア移動を伴う更新を行う場合の動作シーケンスを示している。
【0055】
ノード20上のクライアント25はデータ更新要求を複製データ27へ送信する(ステップ300)。複製データ27はコアデータ17へコア移動を送信する(ステップ302)。受信したコアデータ17は複製データに降格し(ステップ303)、データ内容及びテーブルの情報を含むコア移動応答を複製データ27に返送し、これと同期をとった後、移動前に把握していた全ての複製データに対して移動後のアドレスを通知する(ステップ305)。コア移動応答を受信した複製データ27はコアデータへと昇格する(ステップ304)。その後は、データ更新要求(ステップ300)に含まれる更新内容データを用いて、図7で説明したと同様の方法で更新処理を行う(ステップ306〜318)。
【0056】
図11は図1のネットワークにおいてアクセスポイント01とアクセスポイント02の間のネットワークが切断し、ノード10とノード20からなるネットワークと、ノード30とノード40からなるネットワークに分断された状態において、ノード40上の複製データ47をコアデータとして再生するときの動作のシーケンスを示している。
【0057】
ノード40上のクライアント45がデータ参照要求を送信する(ステップ320)。受信した複製データ47は、複製レベルと参照ポリシの関係からコアデータへアクセスする必要があったとする。このとき、複製データ47はコアデータ17へデータ参照要求を送信し(ステップ322)、同時にタイマを設定し(ステップ323)、コアデータ17からの参照応答を待つ。しかし、データ参照要求はネットワーク切断のため失われるため、タイムアウトが起こり(ステップ324)、複製データ47はコアデータ17とネットワーク接続が失われたことを認識する。
【0058】
その後、複製データ47はコア探索をネットワークブロードキャストによって送信し(ステップ325)、コアデータを探索する。同時にタイマを設定する(ステップ326)。コア探索メッセージを受信したそれぞれの複製データは、自身のリビジョン番号と自身がコアデータであるか否かの情報を含めてコア探索応答を返送する(ステップ328)。本実施形態においては複製データ37のみがコア探索を受信し、リビジョン番号と複製データであるという情報を含めてコア探索応答を返送する(ステップ328)。
【0059】
複製データ47はタイムアウトまでの一定時間を待機してコア探索応答の受信を待ち、タイムアウト(ステップ330)の後、コア探索応答のあった複製データと自分自身の中から、最も新しいリビジョン番号を持つ複製データを選択する。そして、選んだ複製データ(本実施形態では複製データ37とする)に対してコア生成要求を送信する(ステップ332)。コア生成要求を受信した複製データ37は自身をコアデータへと昇格させ(ステップ333)、コア生成応答を返送する(ステップ334)。
【0060】
この時点で複製データ37はコアデータ37となり、ノード30とノード40によって構成されるネットワーク内における単一のコアデータとなる。コア生成応答(ステップ334)を受信した複製データ47はコアデータが再生されたことを認識し、新しいコアデータ37に対して改めてデータ参照要求を送信し(ステップ335)、データの参照を行う(ステップ336)。
【0061】
図12は図1のネットワークにおいてアクセスポイント01とアクセスポイント02の間のネットワークが切断し、ノード10とノード20からなるネットワークと、ノード30とノード40からなるネットワークに分断されていて、ノード10上にコアデータ17、ノード30上にコアデータ37が、ノード20上に複製データ27、ノード40上に複製データ47がそれぞれ存在している状態において、アクセスポイント01とアクセスポイント02の間のネットワーク接続が回復した後に二つのコアデータを一つに統合する動作のシーケンスを示している。
【0062】
各ノード上のデータマネージャは、直接通信可能な全ての隣接ノード上のデータマネージャに向けて定期的に接続性調査メッセージを送信している(ステップ440、441、445、446)。接続性調査メッセージを受信した各データマネージャは接続応答メッセージを返送する(ステップ442、447、448)。このため各データマネージャは定期的に受信する接続応答の送信元のリストを比較して、新たにネットワークに接続した隣接ノードの存在や、ネットワーク接続を失った隣接ノードの存在を検知することができる。
【0063】
初めの状態ではノード20とノード30は通信が不可能であるため、データマネージャ33の送信する接続性調査メッセージはノード20上のデータマネージャ27に到達せず、ノード30が受信する接続応答はノード40上のデータマネージャ43から送信されるものだけとなる。しかしノード20とノード30の間のネットワーク接続が回復した後には、新たにノード30上のデータマネージャ33からの接続応答(ステップ447)を受信する。
【0064】
ここで、データマネージャ33は新たにノード20の接続を検知し(ステップ450)、自ノード上のコアデータ(ここではコアデータ37)に対して新規接続を通知する(ステップ431)。
【0065】
接続通知(ステップ451)を受けたコアデータ37は、該データの識別子を含んだコア存在確認メッセージをネットワークブロードキャストによって全てのノード上のデータマネージャに対して送信する(ステップ452―454)。コア存在確認を受信したデータマネージャはデータ対応表を参照して、該識別子で識別されるコアデータが自ノード10上に存在するかどうかを検索し、もし存在した場合はコア存在応答を返送する。本実施形態ではノード10上のデータマネージャ13がコア存在応答(ステップ455)を返送する。コア存在応答を受信したコアデータ37は、新しく発見したノード10上のコアデータ17に対して、自身のデータ内容を含めてコア統合を送信する(ステップ456)。コア統合を受信したコアデータ17は通知されたデータと自身のデータを比較してCVSなどの既存のアルゴリズムによってコアデータの変更点を組合せることによりデータの統合を試みる(ステップ458)。統合が成功した場合はコア統合応答によって成功を返送し(ステップ459)、成功の応答を受信したコアデータ37は自身を複製データに降格する(ステップ460)。これによってコアデータ37は、接続されたネットワーク内において再び一意となり、ネットワーク内の複製データの整合性は保たれる。
【0066】
統合が失敗した場合は、コア統合応答によって失敗を返送し(ステップ459)、失敗の応答を受信したコアデータ37は、次にデータにアクセスがあったタイミングでユーザに通知し、ユーザの人手によって統合操作を行う。
【0067】
なお、本発明は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスクひかりおじきでぃすく、CD―ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合はサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【0068】
【発明の効果】
以上説明したように、本発明は下記の効果がある。
【0069】
1)任意のノードに存在し得るデータごとにネットワーク内で単一のコアデータが更新の権利を持つことにより、接続されたネットワーク内でのデータの一貫性を保つことが可能となる。
【0070】
2)データの更新はコアデータに対して行い、最新のデータ読み出しはコアデータから行うため、データ更新後のデータの不整合は発生しない。本発明はデータ更新後に更新発生ノードでさらにデータ参照要求が発生し易い場合、コアデータを更新発生ノードに移動してから更新を行うようにすることによって、ノード間通信が不要なデータ更新・参照が可能となり効率的である。特に、トポロジが変化し易くその変化が予測不能なネットワークにおいては、マスタとなるデータの位置を自由に変更できることおよびノード間通信なしにデータの参照が可能であることはデータの可用性を高める。
【0071】
3)また、本発明では、単一のネットワークがいくつかのサブネットワークに分割された場合においても、それぞれの接続されているネットワーク内で複製データ間の一貫性保持が可能であり、また、これらの分割されたネットワークが再び融合する際にもデータの自動的な統合が可能である。このため、ネットワークがどのような状態にあってもデータの更新・参照が可能で、データの可用性が高い。
【0072】
4)さらに、本発明では複製データはそれぞれのノード上で必要となる同期のレベルを選択できるため、厳密な一貫性制御が必要な複製データ数を小さく抑えることが可能であり、データ更新の同期遅延を抑制することが可能である。ここで、厳密な一貫性保持を要求する複製データに関しては、実施形態でも示したとおり、データ更新に関するメッセージが紛失した場合においてもデータの一貫性を保つことが可能である。
【0073】
5)したがって、本発明は、トポロジが動的に変化するネットワーク内に分散配置されたデータの複製間の整合を、ノードの要求する同期ポリシにしたがって保持しつつ、データの可用性の低下を抑えたい場合に効果がある。
【図面の簡単な説明】
【図1】本発明が適用されたネットワークの構成図である。
【図2】データマネージャによるデータの実現方法を示す図である。
【図3】データマネージャの動作を示すフローチャートである。
【図4】図1のネットワークにおいてノード10でデータ生成要求が発生し、その後続けてデータの参照要求と更新要求が発生した場合のデータ生成動作のシーケンス図である。
【図5】図1のネットワークにおいて複製データの存在しないノード20でデータの参照要求が発生した場合の動作のシーケンス図である。
【図6】図1のネットワークにおいて複製データの存在するノード20でデータの参照要求が発生した場合の動作のシーケンス図である。
【図7】図1のネットワークにおいてノード20でデータの参照要求が発生した場合の動作のシーケンス図である。
【図8】図7のシーケンスの途中において応答確認177が失われた場合のシーケンス図である。
【図9】図1のネットワークにおいてノード20上のデータ複製27の期間延長要求があった場合の動作のシーケンス図である。
【図10】図1のネットワークにおいてノード20上のクライアント25から更新要求があり、コア移動を伴う更新を行う場合の動作のシーケンス図である。
【図11】図1のネットワークにおいてアクセスポイント01とアクセスポイント02間のネットワークが切断し、ノード10とノード20からなるネットワークとノード30とノード40からなるネットワークに分断された状態において、ノード40上の複製データ47をコアデータとして再生するときの動作のシーケンス図である。
【図12】
図1のネットワークにおいてアクセスポイント01とアクセスポイント02の間のネットワークが切断し、ノード10とノード20からなるネットワークと、ノード30とノード40からなるネットワークに分断されていて、ノード10上にコアデータ17、ノード30上にコアデータ37が、ノード29上に複製データ27、ノード49上に複製データ47がそれぞれ存在している状態において、アクセスポイント01とアクセスポイント02の間のネットワーク接続が回復した後に二つのコアデータを一つに統合する動作のシーケンス図である。
【符号の説明】
01、02 無線アクセスポイント
10、20、30、40 ノード
13、23、33、43 データマネージャ
15、25、35、45 クライアント
17 コアデータ
27、37、47 複製データ
60 ノード
61 データマネージャ
62 データ対応表
63 作成済データ表
64 データオブジェクト
65 ローカルデータ
101〜120、121〜133、140〜156、160〜167 ステップ
170〜195、290〜299、300〜337、440〜460 ステップ
Claims (22)
- 無線または有線のインタフェースを含む複数のノードを有し、一意な識別子で識別されるデータおよび該データの複製である複製データが前記ノード内に配置され、ユーザが前記識別子を用いて前記データへのアクセスを実行すると、該データあるいはいずれかの複製データへのアクセスが可能なネットワークにおける、データの複製管理方法であって、
データ生成時には、該データの生成、修正、あるいは削除のいずれかの操作である更新操作を実行可能なコアデータを生成して、該データの生成ノードに配置し、該データを参照したノードに該データの参照操作のみが実行可能な複製データを生成して、配置し、
各複製データは、前記コアデータが存在するノードのネットワークアドレス、該コアデータと該複製データの最新性の度合いを表す複製レベル、該複製データが有効であることを保証する有効期間、該複製データの更新時刻を表す複製リビジョン番号、および該複製データが認識している該コアデータの最新更新時刻を表すコアリビジョン番号を保持し、
前記コアデータは、全ての複製データの、ネットワークアドレスと複製レベルと有効期間から構成されるテーブル、および自身のデータのリビジョン番号を保持し、
前記コアデータが更新を受け付けた場合、前記テーブル上の各複製データの複製レベルにしたがって更新内容およびリビジョン番号を複製データに通知することにより各複製データとの同期を行い、
前記コアデータがノードを移動する際には、移動先の複製データにデータ内容および前記テーブルの情報を通知して複製データと同期をとった後、移動先の複製データをコアデータに変更し、移動前に把握していた全ての複製データに対して移動後のアドレスを通知する、データの複製管理方法。 - コアデータが存在するノードでデータへの更新操作要求が発生した場合、
該コアデータは、全複製データの内、同期保証が必要な、厳密な複製データに対し、データのリビジョン番号あるいはデータのリビジョン番号とデータからなる更新内容を通知し、
前記コアデータから更新を通知された厳密な複製データは更新内容を記憶するとともに前記コアデータへ了解した旨を通知し、
もし該コアデータが該更新の通知を行ってから一定時間内に全ての厳密な複製データから了解の通知を受けた場合、更新の実行依頼、およびデータが有効であることを保証する新しい有効期間を全ての複製データへ通知し、
もし前記コアデータが該更新の通知を行ってから一定時間内に了解の通知を受信できない厳密な複製データが存在する場合、前記コアデータが保持している該了解の通知を受信できなかった複製データのネットワークアドレスを削除し、了解の通知を送信してきた全ての複製データへ更新の失敗を通知し、
前記コアデータから更新を通知された複製データが一定時間内に更新の実行依頼を受信した場合、更新を通知された際に記憶した更新内容で該データを更新し、実行依頼で通知された、最新であることを保証する有効期間を記憶し、
前記コアデータから更新を通知された厳密な複製データが、前記コアデータから更新の失敗を通知された場合、あるいは一定時間内に更新の実行を依頼されなかった場合、該複製データを削除する、請求項1に記載のデータの複製管理方法。 - 各複製データは前記有効期間が切れる前に該複製データの有効期間の延長要求を前記コアデータに対して送信し、同時に現在時刻+規定値で計算される仮の有効期限を一時記憶し、
延長要求を受け取ったコアデータは延長要求の応答を該複製データに対して送信し、同時に該複製データに対して現在時刻+規定値で計算される有効期限を改めて設定、記憶し、
延長要求の送信を行ってから一定時間内に延長要求の応答を受信した複製データは、一時記憶した仮の有効期限を新しい有効期限として改めて設定、記憶し、延長要求の送信を行ってから一定時間内に延長要求の応答を受信できなかった複製データは一時記憶した仮の有効期限を破棄する、請求項1または2に記載のデータ複製管理方法。 - 各複製データは、同期保証を要求する強整合同期または強整合通知のレベル、あるいは同期保証を必要としない弱整合同期または弱整合通知の、いずれかの複製レベルを保持し、
前記コアデータがデータの更新要求を受けた場合、前記コアデータは複製レベルが強整合同期の複製データには請求項2に記載の同期保証を伴う方法でデータのリビジョン番号およびデータ内容を通知し、複製レベルが強整合通知の複製データには請求項2に記載の同期保証を伴う方法でデータのリビジョン番号のみを通知し、複製レベルが弱整合同期の複製には、複製レベルが強整合同期および強整合通知である複製データへの同期保証を伴う同期動作が完了した後、データのリビジョン番号およびデータ内容を前記複製データに通知し、複製レベルが弱整合通知の複製データには、複製レベルが強整合同期および強整合通知である複製データの同期保証を伴う同期動作が完了した後、データのリビジョン番号のみ前記複製データに通知し、
複製データがデータの更新を受けた場合、更新内容を前記コアデータへ転送して更新処理を依頼する、データの複製管理方法。 - 各複製データは、同期保証を要求する強整合同期または強整合通知、あるいは同期保証を必要としない弱整合同期または弱整合通知の、いずれかの複製レベルを保持し、前記コアデータは各複製データのアドレスと複製レベルおよび有効期間を保持し、
クライアントはデータ参照時に参照ポリシとして、最新のデータを優先する「最新」または小さな処理遅延を優先する「局所」のいずれかのポリシを指定し、前記コアデータがデータの参照要求を受けた場合は、指定された参照ポリシにかかわらず自身のデータを、最新のデータであることを意味する付加情報「最新」とともに要求元へ通知し、
複製レベルが強整合同期または強整合通知である複製データがデータの参照要求を受け、かつ、指定された参照ポリシ「最新」であった場合において、もし要求発生時刻が該複製データの、最新であることを保証する有効期間を過ぎておらず、さらに該複製データの保持するコアデータのリビジョン番号と自身のリビジョン番号が等しい場合、該複製データ自身のデータを参照して付加情報「最新」とともに要求元へ通知し、もし要求発生時刻が該複製データの、最新であることを保証する有効期間を過ぎているか、あるいは該複製データの保持するコアデータのリビジョン番号と自身のリビジョン番号が等しくない場合、前記コアデータへの参照要求を転送し、参照処理を依頼し、
複製レベル強整合同期または強整合通知である複製データがデータの参照要求を受け、かつ指定された参照ポリシが「局所」であった場合において、もし要求発生時刻が該複製データの、最新であることを保証する有効期間を過ぎておらず、さらに該複製データの保持するコアデータのリビジョン番号と自身のリビジョン番号が等しい場合、該複製データ自身のデータを参照して付加情報「最新」とともに要求元へ通知し、もし要求発生時刻が該複製データの、最新であることを保証する有効期間を過ぎているか、あるいは該複製データの保持するコアデータのリビジョン番号と自身のリビジョン番号が等しくない場合、該複製データ自身のデータを参照して、古いデータであることを意味する付加情報「非最新」とともに要求元へ通知し、
複製レベルが弱整合同期または弱整合通知である複製データがデータの参照要求を受け、かつ、指定された参照ポリシが「最新」であった場合において、前記コアデータの最新のリビジョン番号を問い合わせ、もし自身のリビジョン番号と等しいならば該複製データ自身のデータを参照して付加情報「最新」とともに要求元へ通知し、自身のリビジョン番号と等しくないならば前記コアデータへ参照要求を転送し、参照処理を依頼し、
複製レベルが弱整合同期または弱整合通知である複製データがデータの参照要求を受け、かつ、指定された参照ポリシが「局所」であった場合において、該複製データの保持するコアデータのリビジョン番号と自身のリビジョン番号が等しい場合、該複製データ自身のデータを参照して、おそらく最新のデータであることを意味する付加情報「準最新」とともに要求元へ通知し、該複製データの保持するコアデータのリビジョン番号と自身のリビジョン番号が等しくない場合、該複製データ自身のデータを参照して付加情報「非最新」とともに要求元へ通知する、データの複製管理方法。 - 各ノードにデータマネージャと呼ばれる実行プロセスが存在し、該データマネージャは、有線ネットワークにおけるサブネットあるいは無線ネットワークにおける一ホップの無線リンクによって定義される隣接ノード上のデータマネージャとの間で定期的に相互通信し、
その結果として隣接ネットワークリンクの接続・切断の有無を検知し、
接続あるいは切断があった場合には自ノード上に存在する複製データとコアデータに、接続あるいは切断の情報を通知する、請求項1から5のいずれか1項に記載のデータの複製管理方法。 - 任意の複製データがコアデータとのネットワークの接続性が失われたことを検出した場合、該複製データは通信可能な範囲の複製データのリビジョン番号を調査し、最も新しいリビジョン番号を返した複製データを新たにコアデータに昇格させ、その後は請求項1から6のいずれかに記載の方法と同様の処理を行なう、データの複製管理方法。
- 請求項6に記載の方法によりネットワークの接続性を検出し、任意のコアデータがネットワークの新たな接続を通知された場合、該コアデータはネットワーク全体へのブロードキャストによって該複製データと同じデータ識別子を持つコアデータの存在を探索し、
同じ識別子を持つ自分以外のコアデータを発見した場合、該コアデータの変更点を組み合わせて新たなコアデータを生成し、自己を除く全てのコアデータを複製データへ降格させ、
その後は請求項1〜7のいずれかに記載のデータの複製管理方法と同様の複製管理を継続する、データの複製管理方法。 - 無線または有線のインタフェースを有し、ネットワークを構成するノードで行われる情報処理方法であって、
クライアントがデータ生成要求を送信するステップと、
前記データ生成要求を受けてデータマネージャがコアデータを生成するステップと、
前記コアデータが自身のローカルデータを生成して、前記クライアントに生成応答を返すステップと、
前記クライアントがデータを参照したい場合、前記コアデータにデータ参照要求を送信するステップと、
前記コアデータが自身のデータを参照し、参照応答を返すステップと、
前記クライアントがデータを更新したい場合、前記コアデータにデータ更新要求を送信するステップと、
前記コアデータが自身のデータに対し更新を実行し、更新の成否を更新応答として前記クライアントへ返すステップを有する情報処理方法。 - 無線または有線のインタフェースを有し、複製データが存在しない、ネットワークを構成するノードで行われる情報処理方法であって、
クライアントがデータマネージャに対してデータ参照要求を送信するステップと、
前記データマネージャが、ネットワーク上で隣接するノードのデータマネージャに対してブロードキャストによってコアデータ検索要求を送信するステップと、
前記データマネージャは前記コア検索要求に対して、隣接するノードのコアデータのオブジェクトIDを含むコア通知を受信すると、隣接するノードのデータマネージャにデータ参照要求を送信するステップと、
前記データマネージャは隣接するノードのデータマネージャからそのコアデータが保持するデータを内容とする参照応答を受信すると、該参照応答をデータ参照要求元のクライアントへ返送するステップと、
前記データマネージャが複製データを生成し、前記参照応答に含まれていたデータと、システムで規定の、複製データの最新性の度合いを表す複製レベルを仮登録するステップと、
前記複製データが隣接するノードのコアデータに対して複製データ追加要求を送信すると同時に、タイマを起動するステップと、
前記複製データが、隣接するノードのコアデータから複製データ生成実行をタイマが起動されてから一定時間内に受信すると、仮登録されたデータを本登録し、一定期間内に受信できなかった場合、仮登録されたデータを破棄するステップを有する情報処理方法。 - 有線または無線のインタフェースを有し、複製データが存在し、ネットワークを構成するノードで行われる情報処理方法であって、
クライアントが自ノードの複製データに対してデータ参照要求を送信するステップと、
前記データ参照要求に付帯される参照ポリシが「局所」である場合、あるいは前記複製データの最新性の度合いを示す複製レベルが「強整合同期」である場合、あるいは前記複製データの複製レベルが「強整合通知」で、かつ前記複製データの持つ、該複製データの更新時刻を表わすリビジョン番号とコアデータの最新更新時刻を表すコアリビジョン番号が一致している場合、複製データは自身のローカルデータを参照し、要求元クライアントへ参照応答として返送し、このとき、前記複製データの複製レベルが「強整合同期」の場合、あるいは複製データの複製レベルが「強整合通知」で、かつ前記複製データの持つリビジョン番号とコアリビジョン番号が一致している場合は、参照データが最新であることを意味する「最新」を付加情報として参照応答に含め、前記複製データの複製レベルが「弱整合同期」の場合、あるいは前記複製データの複製レベルが「弱整合通知」で、かつ前記複製データの持つリビジョン番号とコアリビジョン番号が一致している場合は、参照データがおそらく最新であることを意味する「準最新」を付加情報として参照応答に含め、前記複製データの複製レベルが「強整合通知」か「弱整合通知」の場合で、かつ前記複製データの持つリビジョン番号とコアリビジョン番号が一致していない場合は、参照データが古いことを意味する「非最新」を付加情報として参照応答に含めるステップと、
前記クライアントが、前記複製データに対して参照ポリシが「最新」であるデータ参照要求を送信するステップと、
前記複製データの複製レベルが「強整合同期」である場合、あるいは複製データの複製レベルが「強整合通知」で、かつ前記複製データの持つリビジョン番号とコアリビジョン番号が一致している場合は、前記データ参照要求の場合と同じようにノードでローカルに処理を行い、一方、前記複製データの複製レベルが「強整合通知」で、かつ前記複製データの持つリビジョン番号とコアリビジョン番号が一致していない場合、前記複製データの把握するコアデータに対して、データ参照要求元クライアントのオブジェクトIDを含めたデータ参照要求を送信するステップと、
前記クライアントが、前記コアデータがローカルの最新データを参照して返送してきた参照応答を受信するステップと、
前記複製データの複製レベルが「弱整合同期」または「弱整合通知」の場合、前記複製データがリビジョン参照要求を前記コアデータに対して送信し、前記参照応答に含まれるコアデータのリビジョン番号と自身のリビジョン番号を比較し、比較の結果が一致していない場合、前記コアデータに対して前記クライアントのオブジェクトIDを含めたデータ参照要求を送信し、比較の結果が一致した場合は前記複製データが自身のローカルデータを参照して前記クライアントに参照応答を返送するステップを有する情報処理方法。 - 有線または無線のインタフェースを有し、複製データが存在する、ネットワークを構成するノードで行われる情報処理方法であって、
クライアントが自ノード上の複製データにデータ更新要求を送信するステップと、
データ更新要求を受信した複製データが、データ更新要求を隣接するノードのコアデータに転送するステップと、
前記コアデータから更新要求を受信した前記複製データが、前記コアデータに対して確認応答を返送すると同時にタイマを起動するステップと、
前記複製データが前記コアデータから一定時間以内に更新実行を受信すると、更新要求で通知されたデータにしたがって更新処理を行うステップとを有する情報処理方法。 - 前記コアデータがタイマが起動されてから一定時間内に確認応答を受信できず、更新を破棄し、更新の失敗を更新応答として返送してくると、クライアントが前記複製データへ更新取消を通知するステップをさらに有する、請求項12に記載の情報処理方法。
- 有線または無線のインタフェースを有し、複製データが存在する、ネットワークを構成するノードで行われる情報処理方法であって、
複製データが複製期限延長要求を隣接するノードのコアデータに送信すると同時にタイマを起動するステップと、
前記コアデータから延長応答を受信した複製データが、該延長応答に含まれる新たな有効期限を自身に設定し、延長応答が失われた場合、タイムアウトによって複製データ自身を破棄するステップを有する情報処理方法。 - データ更新要求をクライアントから受信した複製データが他ノードのコアデータへコア移動を送信するステップと、
前記コアデータからコア移動応答を受信した複製データがコアデータへと昇格するステップを有する、請求項12に記載の情報処理方法。 - 有線または無線のインタフェースを有し、複製データが存在する、ネットワークを構成するノードデータにおける情報処理方法であって、
クライアントが複製データにデータ参照要求を送信するステップと、
該データ参照要求を受信した複製データが、複製データの最新性の度合いを示す複製レベルと参照ポリシの関係から他ノードのコアデータへアクセスする必要があったとき、他ノードのコアデータへデータ参照要求を送信し、同時にタイマを起動し、コアデータからの参照応答を待つステップと、
タイムアウトが起こり、前記複製データは前記コアデータとのネットワーク接続が失われたことを認識すると、コア探索をネットワークブロードキャストによって他ノードへ送信し、コアデータを探索し、同時にタイマを起動するステップと、
前記複製データはタイムアウトまでの一定時間を待機してコア探索応答の受信を待ち、タイムアウトの後、コア探索応答のあった複製データと自分自身の中から、最も新しいリビジョン番号を持つ複製データを選択し、選んだ複製データに対してコア生成要求を送信するステップと、
コア生成応答を受信した前記複製データはコアデータが再生されたことを認識し、新しいコアデータに対して改めてデータ参照要求を送信し、データの参照を行うステップを有する情報処理方法。 - 有線または無線のインタフェースを有し、コアデータが存在するネットワークを構成するノードにおける情報処理方法であって、
データマネージャが、直接通信可能な全ての隣接ノード上のデータマネージャに向けて定期的に持続性調査メッセージを送信するステップと、
他ノードとの接続が回復した後、新たに該他ノード上のデータマネージャから接続応答を受信すると、自ノード上のコアデータに新規接続を通知するステップと、
前記コアデータが、該データの識別子を含んだコア存在確認メッセージをネットワークブロードキャストによって全てのノード上のデータマネージャに対して送信するステップと、
コア存在確認を受信したデータマネージャが、該識別子で識別されるデータが存在してコア存在応答を返送すると、前記コアデータが、自分のデータ内容を含めてコア統合を送信するステップと、
コア統合を受信したコアデータがデータの統合に成功し、コア統合応答を返送すると、これを受信した前記コアデータが自身を複製データに降格するステップを有する情報処理方法。 - 有線または無線のインタフェースと、クライアントと、データの生成、修正、あるいは前除のいずれかの操作である更新操作を実行可能なコアデータと、前記コアデータをデータ生成時に生成し、該データを参照した他のノードに該データの参照操作のみが可能な複製データを生成するデータマネージャを有し、前記コアデータは、全ての複製データの、ネットワークアドレスと複製レベルと有効期間から構成されるテーブル、および自身のデータのリビジョン番号を保持し、前記コアデータは、更新を受け付けた場合、前記テーブル上の各複製データの複製レベルにしたがって更新内容およびリビジョン番号を複製データに通知することにより各複製データとの同期を行い、前記コアデータがノードを移動する際には、前記コアデータは、移動先の複製データにデータ内容および前記テーブルの情報を通知して複製データと同期をとった後、移動先の複製データをコアデータに変更し、移動前に把握していた全ての複製データに対して移動後のアドレスを通知する第1のノードと、
有線または無線のインタフェースと、クライアントと、データマネージャと、他ノードのコアデータの参照操作のみが実行可能な複製データを有し、前記複製データは、前記コアデータが存在するノードのネットワークアドレス、該コアデータと該複製データの最新性の度合いを表す複製レベル、該複製データが有効であることを保証する有効期間、該複製データの更新時刻を表す複製リビジョン番号、および該複製データが認識している該コアデータの最新更新時刻を表すコアリビジョン番号を保持している1つ以上の第2のノードを含むネットワーク。 - 有線または無線のインタフェースと、クライアントと、データの生成、修正、あるいは削除のいずれかの操作である更新操作を実行可能なコアデータと、前記コアデータをデータ生成時に生成し、該データを参照した他のノードに該データの参照操作のみが可能な複製データを生成するデータマネージャを有し、
前記コアデータは、全ての複製データの、ネットワークアドレスと複製レベルと有効期間から構成されるテーブル、および自身のデータのリビジョン番号を保持し、
前記コアデータは、更新を受け付けた場合、前記テーブル上の各複製データの複製レベルにしたがって更新内容およびリビジョン番号を複製データに通知することにより各複製データとの同期を行い、
前記コアデータがノードを移動する際には、前記コアデータは、移動先の複製データにデータ内容および前記テーブルの情報を通知して複製データと同期をとった後、移動先の複製データをコアデータに変更し、移動前に把握していた全ての複製データに対して移動後のアドレスを通知するノード。 - 有無または無線のインタフェースと、クライアントと、データマネージャと、他ノードのコアデータの参照操作のみが実行可能な複製データを有し、
前記複製データは、前記コアデータが存在するノードのネットワークアドレス、該コアデータと該複製データの最新性の度合いを表す複製レベル、該複製データが有効であることを保証する有効期間、該複製データの更新時刻を表す複製リビジョン番号、および該複製データが認識している該コアデータの最新更新時刻を表すコアリビジョン番号を保持しているノード。 - 請求項1から17のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
- 請求項21に記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002336549A JP4224289B2 (ja) | 2002-11-20 | 2002-11-20 | データの複製管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002336549A JP4224289B2 (ja) | 2002-11-20 | 2002-11-20 | データの複製管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004171278A true JP2004171278A (ja) | 2004-06-17 |
JP4224289B2 JP4224289B2 (ja) | 2009-02-12 |
Family
ID=32700358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002336549A Expired - Fee Related JP4224289B2 (ja) | 2002-11-20 | 2002-11-20 | データの複製管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4224289B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011002970A (ja) * | 2009-06-17 | 2011-01-06 | Nippon Telegr & Teleph Corp <Ntt> | 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム |
JP2012146083A (ja) * | 2011-01-11 | 2012-08-02 | Fujitsu Ltd | セッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法 |
JP2013142996A (ja) * | 2012-01-11 | 2013-07-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベースシステム及びデータ更新・配信方法 |
JP5348129B2 (ja) * | 2008-03-31 | 2013-11-20 | 富士通株式会社 | 統合構成管理装置、異種構成管理装置、バックアップデータ管理システム |
JP2014519078A (ja) * | 2011-05-02 | 2014-08-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 協調式災害復旧のための方法、システム、およびコンピュータ・プログラム |
WO2015033451A1 (ja) * | 2013-09-06 | 2015-03-12 | 株式会社日立製作所 | 分散ストレージシステム及びそのデータアクセス方法 |
JP2015520435A (ja) * | 2012-04-05 | 2015-07-16 | マイクロソフト コーポレーション | クラウド同期システムのためのテレメトリ・システム |
JP2017054416A (ja) * | 2015-09-11 | 2017-03-16 | 富士通株式会社 | 制御装置、情報処理システム、及び制御プログラム |
US9983964B2 (en) | 2011-05-02 | 2018-05-29 | International Business Machines Corporation | Optimizing disaster recovery systems during takeover operations |
JPWO2020111197A1 (ja) * | 2018-11-30 | 2021-02-15 | 了宣 山本 | 文書整理支援システム |
-
2002
- 2002-11-20 JP JP2002336549A patent/JP4224289B2/ja not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5348129B2 (ja) * | 2008-03-31 | 2013-11-20 | 富士通株式会社 | 統合構成管理装置、異種構成管理装置、バックアップデータ管理システム |
JP2011002970A (ja) * | 2009-06-17 | 2011-01-06 | Nippon Telegr & Teleph Corp <Ntt> | 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム |
JP2012146083A (ja) * | 2011-01-11 | 2012-08-02 | Fujitsu Ltd | セッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法 |
JP2014519078A (ja) * | 2011-05-02 | 2014-08-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 協調式災害復旧のための方法、システム、およびコンピュータ・プログラム |
US9983964B2 (en) | 2011-05-02 | 2018-05-29 | International Business Machines Corporation | Optimizing disaster recovery systems during takeover operations |
JP2013142996A (ja) * | 2012-01-11 | 2013-07-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベースシステム及びデータ更新・配信方法 |
JP2015520435A (ja) * | 2012-04-05 | 2015-07-16 | マイクロソフト コーポレーション | クラウド同期システムのためのテレメトリ・システム |
US10089323B2 (en) | 2012-04-05 | 2018-10-02 | Microsoft Technology Licensing, Llc | Telemetry system for a cloud synchronization system |
JP6067863B2 (ja) * | 2013-09-06 | 2017-01-25 | 株式会社日立製作所 | 分散ストレージシステムの制御方法 |
US9940042B2 (en) | 2013-09-06 | 2018-04-10 | Hitachi, Ltd. | Distributed storage system, and data-access method therefor |
WO2015033451A1 (ja) * | 2013-09-06 | 2015-03-12 | 株式会社日立製作所 | 分散ストレージシステム及びそのデータアクセス方法 |
JP2017054416A (ja) * | 2015-09-11 | 2017-03-16 | 富士通株式会社 | 制御装置、情報処理システム、及び制御プログラム |
JPWO2020111197A1 (ja) * | 2018-11-30 | 2021-02-15 | 了宣 山本 | 文書整理支援システム |
Also Published As
Publication number | Publication date |
---|---|
JP4224289B2 (ja) | 2009-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7734820B1 (en) | Adaptive caching for a distributed file sharing system | |
US7680876B1 (en) | Highly available domain name system | |
US7500020B1 (en) | Coherency of replicas for a distributed file sharing system | |
US7822711B1 (en) | Conflict resolution for a distributed file sharing system | |
JP4732661B2 (ja) | クライアントのデータベースとサーバーのデータベースとを同期させる方法 | |
JP5498594B2 (ja) | フェデレーションインフラストラクチャ内の一貫性 | |
JP4690461B2 (ja) | ブランチオフィスdns格納及び解決 | |
US8612386B2 (en) | Method and apparatus for peer-to-peer database synchronization in dynamic networks | |
JP5016063B2 (ja) | 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク | |
US8171171B2 (en) | Data synchronization method and system between devices | |
US7739240B2 (en) | Replication and replica management in a wide area file system | |
US20190370362A1 (en) | Multi-protocol cloud storage for big data and analytics | |
US5802062A (en) | Preventing conflicts in distributed systems | |
US9286298B1 (en) | Methods for enhancing management of backup data sets and devices thereof | |
US20110161335A1 (en) | Locating the latest version of replicated data files | |
JP2001230803A (ja) | 位置識別子管理装置及び移動計算機並びに位置識別子管理方法及び位置識別子処理方法 | |
US20080010299A1 (en) | File management system | |
JP4224289B2 (ja) | データの複製管理方法 | |
US7433928B1 (en) | System pre-allocating data object replicas for a distributed file sharing system | |
US20080281954A1 (en) | Capability requirements for group membership | |
JP4036661B2 (ja) | 複製データ管理方法、ノード、プログラム、記録媒体 | |
CN113766027A (zh) | 一种流复制集群节点转发数据的方法及设备 | |
CN111066339B (zh) | 用于分布式移动网络的系统和方法 | |
TW200836525A (en) | Selective passive address resolution learning | |
US7734733B1 (en) | WAFS disconnected-mode read-write access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050125 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050125 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050125 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080820 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081016 |
|
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: 20081112 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081121 |
|
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: 20111128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131128 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |