(57)【要約】【課題】データを複数のノード間で分散共有するネットワークシステムにおいて、データ保持の適切な冗長度を維持することができ、従って必要以上にデータを保有してリソースを無駄にすることなく、また逆に冗長度不足によるデータを取得できないといった障害も発生しにくく、分散共有されたデータを効率よく利用することができる情報の管理方法、及びノードとしての情報処理装置を提供する。【解決手段】保有されるデータを監視して冗長度の変化を検出する。また、その冗長度が所定の値以上または以下になるようにそのデータを保有するノードを変更する。【選択図】図６
2008304982.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードで情報を分散共有するネットワークシステムにおける情報の管理方法であって、
分散共有される各情報の冗長度を監視するための監視対象データリストに基づいて、前記各情報の冗長度の変化を検出する冗長度検出工程と、
前記冗長度検出工程によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の下限値以上となるように当該情報の保有ノードを変更する冗長度制御工程と、を有する
ことを特徴とする情報の管理方法。
【請求項２】
前記冗長度制御工程では、
前記冗長度検出工程によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の上限値以下となるように当該情報の保有ノードを変更する
ことを特徴とする請求項１に記載の情報の管理方法。
【請求項３】
前記冗長度検出工程では、
前記監視対象データリストを保持するノードが、前記監視対象データリストに基づいて監視対象の各情報を保有する各ノードに問い合わせることによって、当該情報の保有ノード数の変化から冗長度の変化を検出する
ことを特徴とする請求項１または２に記載の情報の管理方法。
【請求項４】
前記冗長度制御工程では、
前記冗長度検出工程において前記各情報の冗長度の変化を検出したノードが、前記各情報の冗長度の変化に応じて保有ノードの変更を行うとともに、前記保有ノードの変更に応じて前記監視対象データリストの更新を行う
ことを特徴とする請求項１乃至３の何れか１項に記載の情報の管理方法。
【請求項５】
前記監視対象データリストは、
前記監視対象データリストを保持するノードが保有している情報、ブロードキャストが届く範囲内のノードが保有している情報、予め決められたノードが保有している情報、予め決められたユーザが所有している情報、そして監視要求のある情報のうち、少なくとも１つが監視対象データとして記載されている
ことを特徴とする請求項１乃至４の何れか１項に記載の情報の管理方法。
【請求項６】
前記監視対象データリストは、複数のノードに保持され、
前記冗長度制御工程では、
前記監視対象データリストの更新内容が、前記複数のノード間で互いに通知され、それぞれのノードが保持する前記監視対象データリストがそれぞれ更新される
ことを特徴とする請求項１乃至５の何れか１項に記載の情報の管理方法。
【請求項７】
前記情報の分散共有にＲＡＩＤ技術を用いることで冗長度を持たせている
ことを特徴とする請求項１乃至６の何れか１項に記載の情報の管理方法。
【請求項８】
複数のノードで情報を分散共有するネットワークシステムにおけるノードとしての情報処理装置であって、
分散共有される各情報の冗長度を監視するための監視対象データリストを保持する記憶手段と、
前記監視対象データリストに基づいて、前記各情報の冗長度の変化を検出する冗長度検出手段と、
前記冗長度検出手段によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の下限値以上となるように当該情報の保有ノードを変更する冗長度制御手段と、を有する
ことを特徴とする情報処理装置。
【請求項９】
前記冗長度制御手段は、
前記冗長度検出手段によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の上限値以下となるように当該情報の保有ノードを変更する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記冗長度検出手段は、
前記監視対象データリストに基づいて監視対象の各情報を保有する各ノードに問い合わせることによって、当該情報の保有ノード数の変化から冗長度の変化を検出する
ことを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記冗長度制御手段は、
前記冗長度検出手段によって検出された前記各情報の冗長度の変化に応じて保有ノードの変更を行うとともに、前記保有ノードの変更に応じて前記監視対象データリストの更新を行う
ことを特徴とする請求項８乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記監視対象データリストは、
前記監視対象データリストを保持するノードが保有している情報、ブロードキャストが届く範囲内のノードが保有している情報、予め決められたノードが保有している情報、予め決められたユーザが所有している情報、そして監視要求のある情報のうち、少なくとも１つが監視対象データとして記載されている
ことを特徴とする請求項８乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記冗長度制御手段は、
前記監視対象データリストの更新内容を、前記監視対象データリストを保持する他のノードと互いに通知し、それぞれの保持する前記監視対象データリストを共有する
ことを特徴とする請求項８乃至１２の何れか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノード間で情報を分散共有するネットワークにおける情報の管理方法、及びネットワークを構成するノードとしての情報処理装置に関する。
【背景技術】
【０００２】
近年、ネットワークを構成する任意のノード間で自由にデータの送受信を行うような通信形態を有するネットワークが盛んに利用されるようになってきた。
【０００３】
従来は、中央にホストの役目を担ったサーバなどがあり、クライアントとしての各端末が、それぞれホストサーバにアクセスし、端末間でやり取りが必要であれば、ホストサーバが仲介して行うというタイプの中央集中処理型のネットワークが主流であった。
【０００４】
これに対して、いわゆる分散処理型のネットワークが徐々に登場してきている。保存する情報を分散する、またその処理を分散するといった機構を実現するためには、通信の機能も分散しなければならない。すなわち、ネットワークを構成する各ノード間で、自由にデータ通信が行われなければならない。
【０００５】
代表的な形態として、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）と呼ばれる通信ネットワークの形態がある。Ｐ２Ｐは不特定多数のノード間で直接情報のやり取りを行うネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの２種類がある。中央サーバを要する場合にも、中央サーバはファイル検索データベースの提供とノードの接続管理のみを行っており、データ自体のやり取りはノード間の直接接続によって行われている。
【０００６】
こういった分散処理のネットワーク形態を効率的に達成する技術が研究され、任意のノード間でデータを分散して保持し、互いにデータ送受信を行うシステムが形成されている。これらにより、ネットワークシステムの利用形態としての自由度は向上し、ユーザは大きな利便性を手に入れた。
【０００７】
例えば上記Ｐ２Ｐのネットワークシステムにおいては、データを多数のノード間で共有し、互いにデータを送受信することで、ローカルにデータを保持していなくても、簡便にデータ利用を行うことができる。
【０００８】
しかしながら一方では、データを分散して保持することは、データを集中管理するのと比較すると、効率という点からは負担となってしまう場合もある。また、データが分散して保持されるため、各ノードに信頼性が要求されることになる。
【０００９】
例えば、データを分散して保持するとすれば、ネットワークの規模が大きければ大きいほどデータを広く分散させることができ、取り扱えるデータ量は増大するが、その分、必要なデータを探索するための手間が掛かり、またすべてのノードが正常に機能するための信頼性が必要となってくる。
【００１０】
広いネットワーク上から必要なデータを収集してくるには、ネットワークと各ノードにそれなりの負担を掛けることになり、待たされたり、場合によっては受信できないといった障害が起こったりする可能性もある。また、たまたま一部のノードに接続停止などの障害が生じてしまうと、必要なデータを取得できなくなってしまうといった危険性もはらんでいる。
【００１１】
こういったデータの分散共有に伴うリスクを如何に軽減するかが、今後重要な課題となる。データを分散共有するに当たり、一部のノードに障害が生じてもデータを取得できるように、冗長度を持たせてデータ保有させる、あるいはノードの信頼性に応じて効率的に接続を組織し、データ取得のための通信の効率と信頼性を向上するといった技術が開発されてきた（特許文献１参照）。
【００１２】
例えば、特許文献１では、各ノードのＣＰＵ使用率やメモリ使用率などの物理的情報に基づいて信頼度を算出し、各ノードの信頼度に基づいて接続管理を行う技術が提案されている。ノード間の送受信が最も効率的になされるように、ノード間の接続が自己組織的に形成されるというものである。
【００１３】
しかしながら、この場合も接続管理、すなわちネットワークの接続のトポロジーを各ノードの信頼度に応じて最適化しているのみであり、実際のデータが確実に保持されていることが前提である。
【００１４】
そうでないと、特定のノードに一時障害が生ずる、あるいはネットワークから突然切断されるといった場合、そのノードが保有しているデータについては、取得が困難になったりすることもあり得る。
【特許文献１】特開２００５−２５２５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上記のように、データの保持と取得を確実にするために、データを複数のノード間で冗長度を持つように分散共有するネットワークシステムが求められる。その形態は様々に想定することができるが、障害などを考慮して冗長度を持たせすぎると、過大なリソースを無駄に使用していることになり、適当な冗長度を設定する必要がある。
【００１６】
しかしながら、特に上記のＰ２Ｐのようなネットワーク形態では、ノードの接続形態の変更や、ノードの切断や復帰などが起こりやすく、適切な冗長度を設定しても維持することは困難である。
【００１７】
ノードの切断などであるデータの冗長度が低下すると、そのデータへのアクセスができなきなることが起こり得る。また逆に、冗長度を高くしておくと、切断したノードが復帰したときにさらに冗長度が上がるなど、リソースを過大に使用することになってしまう。
【００１８】
本発明の目的は、上記の課題を解決し、データを複数のノード間で分散共有するネットワークシステムにおいて、データ保持に対して適切な冗長度を維持することができ、従って必要以上にデータを保有してリソースを無駄にすることなく、また逆に冗長度不足によるデータを取得できないといった障害も発生しにくく、分散共有されたデータを効率よく利用することができる情報の管理方法、及びノードとしての情報処理装置を提供することである。
【課題を解決するための手段】
【００１９】
上記の課題を解決するために、本発明は以下の特徴を有するものである。
【００２０】
１．  複数のノードで情報を分散共有するネットワークシステムにおける情報の管理方法であって、分散共有される各情報の冗長度を監視するための監視対象データリストに基づいて、前記各情報の冗長度の変化を検出する冗長度検出工程と、前記冗長度検出工程によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の下限値以上となるように当該情報の保有ノードを変更する冗長度制御工程と、を有することを特徴とする情報の管理方法。
【００２１】
２．  前記冗長度制御工程では、前記冗長度検出工程によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の上限値以下となるように当該情報の保有ノードを変更することを特徴とする１に記載の情報の管理方法。
【００２２】
３．  前記冗長度検出工程では、前記監視対象データリストを保持するノードが、前記監視対象データリストに基づいて監視対象の各情報を保有する各ノードに問い合わせることによって、当該情報の保有ノード数の変化から冗長度の変化を検出することを特徴とする１または２に記載の情報の管理方法。
【００２３】
４．  前記冗長度制御工程では、前記冗長度検出工程において前記各情報の冗長度の変化を検出したノードが、前記各情報の冗長度の変化に応じて保有ノードの変更を行うとともに、前記保有ノードの変更に応じて前記監視対象データリストの更新を行うことを特徴とする１乃至３の何れか１項に記載の情報の管理方法。
【００２４】
５．  前記監視対象データリストは、前記監視対象データリストを保持するノードが保有している情報、ブロードキャストが届く範囲内のノードが保有している情報、予め決められたノードが保有している情報、予め決められたユーザが所有している情報、そして監視要求のある情報のうち、少なくとも１つが監視対象データとして記載されていることを特徴とする１乃至４の何れか１項に記載の情報の管理方法。
【００２５】
６．  前記監視対象データリストは、複数のノードに保持され、前記冗長度制御工程では、前記監視対象データリストの更新内容が、前記複数のノード間で互いに通知され、それぞれのノードが保持する前記監視対象データリストがそれぞれ更新されることを特徴とする１乃至５の何れか１項に記載の情報の管理方法。
【００２６】
７．  前記情報の分散共有にＲＡＩＤ技術を用いることで冗長度を持たせていることを特徴とする１乃至６の何れか１項に記載の情報の管理方法。
【００２７】
８．  複数のノードで情報を分散共有するネットワークシステムにおけるノードとしての情報処理装置であって、分散共有される各情報の冗長度を監視するための監視対象データリストを保持する記憶手段と、前記監視対象データリストに基づいて、前記各情報の冗長度の変化を検出する冗長度検出手段と、前記冗長度検出手段によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の下限値以上となるように当該情報の保有ノードを変更する冗長度制御手段と、を有することを特徴とする情報処理装置。
【００２８】
９．  前記冗長度制御手段は、前記冗長度検出手段によって検出された前記各情報の冗長度の変化に応じて、それぞれの情報の冗長度が所定の上限値以下となるように当該情報の保有ノードを変更することを特徴とする８に記載の情報処理装置。
【００２９】
１０．  前記冗長度検出手段は、前記監視対象データリストに基づいて監視対象の各情報を保有する各ノードに問い合わせることによって、当該情報の保有ノード数の変化から冗長度の変化を検出することを特徴とする８または９に記載の情報処理装置。
【００３０】
１１．  前記冗長度制御手段は、前記冗長度検出手段によって検出された前記各情報の冗長度の変化に応じて保有ノードの変更を行うとともに、前記保有ノードの変更に応じて前記監視対象データリストの更新を行うことを特徴とする８乃至１０の何れか１項に記載の情報処理装置。
【００３１】
１２．  前記監視対象データリストは、前記監視対象データリストを保持するノードが保有している情報、ブロードキャストが届く範囲内のノードが保有している情報、予め決められたノードが保有している情報、予め決められたユーザが所有している情報、そして監視要求のある情報のうち、少なくとも１つが監視対象データとして記載されていることを特徴とする８乃至１１の何れか１項に記載の情報処理装置。
【００３２】
１３．  前記冗長度制御手段は、前記監視対象データリストの更新内容を、前記監視対象データリストを保持する他のノードと互いに通知し、それぞれの保持する前記監視対象データリストを共有することを特徴とする８乃至１２の何れか１項に記載の情報処理装置。
【発明の効果】
【００３３】
本発明にかかる情報の管理方法、及びノードとしての情報処理装置によれば、複数のノードで情報を分散共有するネットワークシステムにおいて、保有されるデータを監視して冗長度の変化を検出する。また、その冗長度が所定の値以上または以下になるようにそのデータを保有するノードを変更する。
【００３４】
これにより、データ保持に対して適切な冗長度を維持することができる。従って必要以上にデータを保有してリソースを無駄にすることなく、また逆に冗長度不足によるデータを取得できないといった障害も発生しにくく、分散共有されたデータを効率よく利用することができる。
【発明を実施するための最良の形態】
【００３５】
以下に、図を参照して本発明に係る実施形態を説明する。
【００３６】
（ネットワークの全体構成）
図１は本実施形態に係る情報の管理方法、及び情報処理装置により構成されるネットワーク１の全体的な構成の例を示す図である。図１を用いて本発明の実施形態に係るネットワーク１について、その全体構成を説明する。
【００３７】
ネットワーク１は、図１に示すように、複数台の端末装置２（２１、２２、…、２ｎ）、スイッチングハブ３、ルータ４、および認証サーバ５などのノードによって構成されるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。これらの端末装置２は、スイッチングハブ３にツイストペアケーブルによってスター型に繋がれている。
【００３８】
ネットワークを構成するノードとしての端末装置２は、本発明に係る情報処理装置であり、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間でデータの入出力の処理を実行する装置である。以下、ノードといえば単にこの端末装置のことを指し、情報処理装置としてのパーソナルコンピュータが用いられるものとして説明する。
【００３９】
また本実施形態では、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）と呼ばれる通信ネットワークの形態を採っている。Ｐ２Ｐは不特定多数のノード間で直接情報のやり取りを行うネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの２種類がある。中央サーバを要する場合にも、中央サーバはファイル検索データベースの提供とノードの接続管理のみを行っており、データ自体のやり取りはノード間の直接接続によって行われている。
【００４０】
本実施形態では、中央サーバは用いず、後で図３の接続トポロジーを説明するが、予め関連付けられたノード（情報処理装置）２間では直接接続を行い、通信する。その他のノードとは、直接接続したノードを介して間接的に接続することになる。認証サーバ５は認証のための証明書に関わる管理のみを担い、通信のための接続には直接関わらない。またルータ４もノード（情報処理装置）間の通信には直接関与しない。
【００４１】
Ｐ２Ｐでは、直接ノード同士が通信するため、如何にお互いの正当性を認証するか、不正の入り込む余地を抑制するかというセキュリティが重要である。そのために認証サーバ５の発行するディジタル証明書を用いる。
【００４２】
以下、上記の観点から、本実施形態に係るネットワークにおいて、各ノードで分散して共有する情報について、一定の冗長度を保持しながら、これらのノード２同士がデータ通信を行い、効率的に利用できるよう、各情報の冗長度の変化を検出し、冗長度に応じて各情報の保有ノードを変更し、各情報の冗長度を制御する場合について説明する。
【００４３】
（ノードとしての情報処理装置の構成）
図２はノード（情報処理装置）２のハードウェア構成の例を示す図である。
【００４４】
情報処理装置装置２は、図２に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、通信インタフェース２０ｅ、画像インタフェース２０ｆ、入出力インタフェース２０ｇ、その他の種々の回路または装置などによって構成される。
【００４５】
通信インタフェース２０ｅは、例えばＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）であって、ツイストペアケーブルを介してスイッチングハブ３のいずれかのポートに繋がれている。画像インタフェース２０ｆは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。
【００４６】
入出力インタフェース２０ｇは、キーボード若しくはマウスなどの入力装置またはＣＤ−ＲＯＭドライブなどの外部記憶装置などと繋がれている。そして、ユーザが入力装置に対して行った操作の内容を示す信号を入力装置から入力する。または、ＣＤ−ＲＯＭなどの記録媒体に記録されているデータを外部記憶装置に読み取らせ、これを入力する。または、記録媒体に書き込むためのデータを外部記憶装置に出力する。
【００４７】
ハードディスク２０ｄには、後で機能ブロック図（図５）を用いて説明するが、データ保持部２０１、監視対象データリスト保持部２０２、冗長度検出部２０４、冗長度操作部２０５、データ操作部２０６、データ受信部２０７、データ解析部２０８、データ作成部２０９、データ送信部２１０、その他情報保持部２１１，及びその他操作部２１２などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてＲＡＭ２０ｂに読み出され、ＣＰＵ２０ａによってプログラムが実行される。
【００４８】
各ノード２には、それぞれ、他のノード２との識別のための識別情報として、ホスト名（マシン名）、ＩＰアドレス、およびＭＡＣアドレスが与えられている。ホスト名は、ネットワーク１の管理者などが自由に付けることができる。ＩＰアドレスは、ネットワーク１の規則に従って与えられる。ＭＡＣアドレスは、そのノード２の通信インタフェース１０ｅに対して固定的に与えられているアドレスである。なおＭＡＣアドレスに代えて他のユニークなＩＤを用いてもよい。
【００４９】
本実施形態では、ノード（情報処理装置）２１、２２、…ごとに「ＰＣ１」、「ＰＣ２」、…のようなホスト名が付されているものとする。以下、これらのノード２をホスト名によって記載することがある。
【００５０】
（ノードの接続形態）
図３はノードの接続形態、すなわち情報処理装置２の論理的なトポロジーの例を示す図である。図３を用いてノード（情報処理装置）の接続形態を説明する。
【００５１】
ノード２は、図３に示すように、仮想空間に配置されているものと仮想されている。そして、点線で示すように、仮想空間内の近隣の少なくとも１台の他のノード２と関連付けられている。かつ、これらの関連付けによって、すべてのノード２が互いに直接的にまたは間接的に関連するようになっている。
【００５２】
なお、「直接的に関連」とは、図３において１本の点線で繋がれていること（例えば、図３のＰＣ１とＰＣ２またはＰＣ９とのような関係）を言い、「間接的に関連」とは、２本以上の点線および１つ以上のノードで繋がれていること（例えば、図３のＰＣ１とＰＣ４とのような関係）を言う。ノード２は、自らに直接的に関連付けられている他のノード２に対してデータを送信する。
【００５３】
図４は、図３のように関連付けられたノード２の接続テーブルＴＬの例を示す図である。各ノード２毎に、直接データ送信可能な、すなわち「直接的に関連」付けられている他のノード２との接続のための情報のリストをテーブル化して保持している。
【００５４】
例えば、図３におけるＰＣ１、ＰＣ２、ＰＣ６、ＰＣ７、ＰＣ８、およびＰＣ９には、それぞれ図４に示すような接続テーブルＴＬ１、ＴＬ２、ＴＬ６、ＴＬ７、ＴＬ８、およびＴＬ９が保存されている。
【００５５】
（情報処理装置の各部の処理機能）
図５はノード（情報処理装置）２の機能的構成の例を示すブロック図である。図５を用いてノード（情報処理装置）２の各部の処理機能について説明する。
【００５６】
まず、分散共有するデータの冗長度制御に関わる処理以外の処理機能について説明する。
【００５７】
その他情報保持部２１１は、そのノード２またはユーザなどの属性を示す属性データ、そのノード２自身のディジタル証明書、オペレーティングシステム（ＯＳ）またはアプリケーションソフトなどが使用するデータ、ユーザがアプリケーションソフトによって作成したデータ、その他種々のデータを、ファイルとして保存している。
【００５８】
ディジタル証明書は、ノード２の要請により認証サーバ５が発行し、当該ノード２が保持し、ノード２同士の通信時に互いを認証するのに利用される。
【００５９】
また、その他情報保持部２１１は、そのノード２自身に直接的に関連付けられている他のノード２のホスト名、ＩＰアドレス、およびＭＡＣアドレスなどの属性の一覧を示す接続テーブルＴＬを保存している。例えば、図３におけるＰＣ１、ＰＣ２、ＰＣ６、ＰＣ７、ＰＣ８、およびＰＣ９の接続テーブル保持部２０１に、それぞれ接続テーブルＴＬ１、ＴＬ２、ＴＬ６、ＴＬ７、ＴＬ８、およびＴＬ９が保存されている例を図４を用いて既述した。これらの接続テーブルＴＬの内容は、各ノード２の関連付けに基づいて管理者によって予め作成される。
【００６０】
その他操作部２１２は、上記その他情報保持部２１１に保持される接続テーブルＴＬの管理を行う。また、その他情報保持部２１１にデータを保存し、または保存されているデータを更新するなどの処理を行う。例えば、ノード２の環境または設定内容が変わるごとに、属性データを更新する。また、他のノード２から送信されて来たディジタル証明書などに基づいて当該他のノード２の認証の処理を行う。
【００６１】
その他操作部２１２は、必要に応じてデータ受信部２０７、データ送信部２１０を介してネットワーク１の他のノード２とデータ通信を行い、また必要に応じてその他情報保持部２１１のデータを参照、あるいは更新する。
【００６２】
データ受信部２０７は、他のノード２とデータ通信を行うための制御処理を行う。データ受信部２０７は、ネットワーク１を流れるパケットのうち、そのノード２に必要なものを受信する。
【００６３】
データ解析部２０８は、データ受信部２０７が受信した受信データから必要な情報を抽出してその内容を解析することによって、その受信データの種類を判別する。
【００６４】
データ作成部２０９は、その他操作部２１２の指示に基づいて、他のノード２に送信するための送信データを作成する。
【００６５】
データ送信部２１０は、送信データ作成部２０９によって生成され、パケット化された送信データを他のノード２に送信する。
【００６６】
＜情報の冗長度検出、及び冗長度制御に関わる処理機能＞
次に、同じく図５を用いて情報を分散して共有するに際しての、冗長度の変化を検出する処理、及び冗長度を制御する処理に関わる処理機能について説明する。
【００６７】
なお以降の説明では、各ノードに分散共有される情報のことをすべてデータと呼称し、説明する。
【００６８】
データ操作部２０６は、データ（情報）をデータ保持部２０１に保存したり、参照したり、また要求に応じて書き込みや読み出し、各種更新処理などを行う。分散共有されたデータの取り扱いに関わる処理機能を有する。
【００６９】
また分割して分散共有されたデータの利用時には、分割されたデータを復元する処理も行う。
【００７０】
データ保持部２０１は、データ操作部２０６の処理の対象となるデータ、すなわち分散共有されたデータを保持する。
【００７１】
監視対象データリスト保持部２０２は、分散共有するデータのうち、冗長度を制御すべき監視対象のデータのリスト、及び当該データの保有ノードのリストを監視対象データリスト（以後、略して監視データリストとも呼称する）として保持する。すなわち記憶手段として機能する。監視データリストの内容の具体例については後述する。
【００７２】
冗長度検出部２０４は、監視対象データリストに従って、監視対象のデータを監視し、当該データの保有ノードを確認して冗長度の変化を検出する。すなわち、冗長度検出手段として機能する。
【００７３】
また、冗長度検出部２０４は、検出した冗長度の変化すなわち保有ノードの変化を、監視対象データリスト保持部２０２の監視対象データリストに反映すべく、必要に応じて更新処理を行う。冗長度検出処理の詳細については後述する。
【００７４】
冗長度操作部２０５は、監視対象のデータに対して、冗長度検出部２０４により検出された冗長度の変化に基づき、冗長度を所定の上限、または下限の範囲内に制御するため、保有ノードの変更処理を行う。すなわち、冗長度制御手段として機能する。
【００７５】
また、冗長度操作部２０５は、冗長度の制御すなわち保有ノードの変更を行った結果を、監視対象データリスト保持部２０２の監視対象データリストに反映すべく、必要に応じて更新処理を行う。冗長度制御処理の詳細については後述する。
【００７６】
データ操作部２０６、冗長度操作部２０５、冗長度検出部２０４は、必要に応じてデータ受信部２０７、データ送信部２１０を介してネットワーク１の他のノード２とデータ通信を行い、また必要に応じてデータ保持部２０１、監視対象データリスト保持部２０２のデータを参照、あるいは更新する。
【００７７】
（冗長度を有するデータ分散共有処理）
本実施形態に係るネットワーク１では、上述したように接続テーブルＴＬにより規定された「関連付けられた」ノード（情報処理装置）間で相互認証し、互いにデータの送受信を行う。
【００７８】
こういった通信をベースにして、データが各ノードに分散され、共有されることにより、また必要に応じて分散共有されたデータが検索、取得されることにより、任意のノードで必要なデータを利用することが可能となる。
【００７９】
しかしながら、このようにデータを分散して保持することは、データを集中管理するのと比較すると、効率という点からは負担となってしまう場合もある。また、データが分散して保持されるため、各ノードに信頼性が要求されることになる。
【００８０】
例えば広いネットワーク上から必要なデータを収集してくるには、ネットワークと各ノードにそれなりの負担を掛けることになり、待たされたり、場合によっては受信できないといった障害が起こったりする可能性もある。また、たまたま一部のノードに接続停止などの障害が生じてしまうと、必要なデータを取得できなくなってしまうといった危険性もはらんでいる。
【００８１】
本実施形態に係るネットワーク１では、こういった危険性に対処するために、同じデータを複数のノードで保持するような冗長度を有するデータの分散共有を行っている。
【００８２】
冗長度を持たせるデータの保持の方法についても、様々な公知の技術が提案されているが、ここではＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）技術を採っている。ＲＡＩＤ１として知られているミラーリングの手法である。
【００８３】
＜ミラーリングにおける冗長度について＞
簡単に言えば、システム内で同じデータを複数のノードで共有することになるが、同一のデータがどれくらい多くのノードで保有されているか、すなわちアクセスしてそのデータを取得することができるノードの数が冗長度ということになる。
【００８４】
例えばあるデータを２台のノードがそれぞれ保有している場合には、冗長度「２」となる。３台のノードがそれぞれ保有している場合は冗長度「３」となる。以降、保有するノード数が増えるに従って冗長度が増えていく。
【００８５】
また１台のノードだけが保有しており、その１台にアクセスするより他に取得できない場合は、冗長度が「１」、すなわち「冗長でない」ということになる。
【００８６】
冗長度を持って共有する単位は、ファイル単位であってもよいし、ビット単位などであってもよい。
【００８７】
データを分割して分散共有する場合の冗長度を説明する。分割したそれぞれのデータが２個ずつ、複数のノードに分散して共有され、全体として分割前のデータ２個分に相当する分割データが分散共有されている状態を冗長度「２」とする。分割前のデータ３個分であれば冗長度「３」になる。以降、分割したそれぞれのデータを保有するノード数が増えるに従って冗長度が増えていく。
【００８８】
また、分割したデータが、それぞれ１台のノードにしか保有されていない、すなわち分割前のデータ１個分しか保有されていない場合は、冗長度「１」＝「冗長でない」ということになる。
【００８９】
以上の冗長度とは、あるデータを取得するためにアクセス可能な異なるノードの数を示すものであり、例えば、あるデータの冗長度が「２」であれば、保有ノードのうちにアクセスできないノードが１台あったとしても、もう一方の保有ノードにアクセスすることによってデータ取得することができるということである。
【００９０】
本実施形態では、後述するように、各データを分散共有するにあたり、適切な冗長度を設定して分散共有させるとともに、冗長度の監視を行い、冗長度の変化が生じた場合には、それに応じて適切な一定の冗長度の範囲に収まるように制御を行っている。
【００９１】
すなわち本実施形態では、予め定めた監視対象のデータを、その保有ノードとともに監視対象データリストに記載して、保持する形態としている。つまり、監視対象データリストに基づいて、適時、監視対象の各データについて保有ノードをチェックし、保有ノードの変化を検出する。
【００９２】
またそこで冗長度としての変化が検出されたデータがある場合は、それを制御するために、そのデータの保有ノードを変更する。すなわち、冗長度が低くなりすぎた場合は、新たにそのデータを保有する保有ノードを決定する。逆に冗長度が高くなりすぎた場合は、そのデータを削除する保有ノードを決定する。
【００９３】
監視対象データリストは、上記の冗長度の変化、及び保有ノードの変化に応じて、適時更新される。
【００９４】
以下にデータ分散共有時の冗長度の検出、及び冗長度の制御処理について説明する。
【００９５】
（冗長度の検出、及び冗長度の制御処理）
図６は、データ分散共有時の冗長度の検出、及び冗長度の制御の代表的な処理の流れを示すフローチャートである。図６を用いて、全体としての冗長度検出処理、及び冗長度制御処理の例を説明する。
【００９６】
＜冗長度検出処理＞
まずステップＳ１１で、監視対象のデータを監視するノードの冗長度検出部２０４が、監視対象データリスト保持部２０２の監視データリストを参照して、監視を開始する。
【００９７】
データの監視を行うノードは予め設定されており、それぞれ監視データリストを保持している。データの監視を行うノードの数は任意であり、１台であってもよいし、すべてのノードであってもよい。
【００９８】
障害の生ずる可能性や変化の検出の速さを考慮すれば、監視を行うノードは多いほど望ましいが、多すぎても検出の負荷が増大する。ネットワークの規模（ノード数）と、監視対象データ数、通信負荷等を考慮して適切に定めておけばよい。
【００９９】
監視データリストは、監視対象のデータとその保有ノードのリストが記載されている。また、冗長度の基準となるしきい値や現在の冗長度、保有ノードに関する情報なども記載されていることが望ましい。
【０１００】
監視データリストは、データの監視を行うノードが保持するとともに、適時更新を行う。監視データリストの内容の具体例は、後述の図７乃至図１３に示す。
【０１０１】
監視対象のデータも予め設定しておけばよい。例えば次のような設定方法が考えられる。
１．監視対象データリストを保持するノードが保有しているデータ。
２．ブロードキャストが届く範囲内のノードが保有しているデータ。
３．その他の予め決められたノードが保有しているデータ。
４．予め決められたユーザが所有しているデータ。
５．ユーザより監視要求のあるデータ。
【０１０２】
上記のようなデータを監視対象として、監視データリストに記載する。あるいは、上記の様なデータの任意の組み合わせを監視データリストに記載する。これによりデータの重要度や、ネットワーク内での位置状態、所有者、ユーザ要望などに応じた設定の自由度を確保することができる。
【０１０３】
監視を行う方法としては、監視を行うノードが、適切なタイミングで各ノードにポーリングして各データの保有状態を確認する方法などを用いることができる。
【０１０４】
ポーリングを行う適切なタイミングは、予め定めた時期、あるいは期間毎に、定期的に行うよう設定しておいてもよい。そうすれば、ポーリングの間隔が拡がりすぎず、また頻度が増えすぎることもない。
【０１０５】
また、データにアクセスが行われるたびに、それを検知してそのタイミングでポーリングを行うようにしてもよい。そうすればデータ利用の頻度に応じてポーリングの頻度を変えることもできる。
【０１０６】
ここでは定期的にポーリングを行うものとする。ステップＳ１１で任意の監視を行うノードが、監視データリストを参照し、各ノードにポーリングし、監視対象データの保有状況を問い合わせる。
【０１０７】
次のステップＳ１２では、監視対象のデータを監視するノードの冗長度検出部２０４が、監視対象の各データについて、冗長度の変化を検出する。
【０１０８】
先のステップで監視対象の各データの各ノードでの保有状態を確認することで、監視対象データリスト保持部２０２の監視データリストの記載と現状を比較することができる。各データについて、確認した現状の冗長度、すなわち保有ノード数を求め、監視データリストの記載から変化しているかどうか、すなわち保有ノード数が増加あるいは減少しているかどうかを検出する。
【０１０９】
またこのとき、現状のデータ保有状況により、監視対象データリスト保持部２０２の監視データリストの記載を更新するようにしてもよい。
【０１１０】
次のステップＳ１３では、冗長度検出部２０４が検出した結果、各データについて冗長度の変化の有無を判定し、次の処理を振り分ける。
【０１１１】
冗長度の変化がある場合（ステップＳ１３：ＹＥＳ）は、例えば特定のノードが接続を停止する、あるいは復帰するなど、何らかの理由により保有ノード数が変化しているという場合であり、次のステップＳ１４以降へと進み、冗長度制御処理が実行される。
【０１１２】
冗長度の変化がない場合（ステップＳ１３：ＮＯ）は、保有ノード数が変化していないという場合であり、ステップＳ１１へと戻り、次の定期的なポーリング実行から冗長度検出処理を繰り返す。
【０１１３】
従って上記のステップＳ１１からステップＳ１３は、冗長度検出工程として機能する。
【０１１４】
＜冗長度制御処理＞
ステップＳ１４以降は、冗長度制御工程として機能する。すなわち、冗長度操作部２０５が、各データの冗長度の変化に応じて、冗長度が基準となる冗長度（上限または下限、あるいはその両方）の範囲内となるように、保有ノードの変更を行う。
【０１１５】
冗長度が基準となる上限値より高いということは、データ保有にリソースが無駄に多く使用され、アクセス時間も増える可能性がある。
【０１１６】
ステップＳ１４では、冗長度が所定の下限値Ｓ１を下回るかどうかを判定する。冗長度が下限値Ｓ１を下回る場合（ステップＳ１４：ＹＥＳ）は、減少しすぎた冗長度を増加させるためにステップＳ１６ａを実行する。下限値Ｓ１以上の場合（ステップＳ１４：ＮＯ）は、ステップＳ１５を実行する。
【０１１７】
ステップＳ１５では、冗長度が所定の上限値Ｓ２を上回るかどうかを判定する。データの冗長度が上限値Ｓ２を上回る場合（ステップＳ１５：ＹＥＳ）は、増加しすぎた冗長度を減少させるためにステップＳ１７ａを実行する。
【０１１８】
データの冗長度が上限値Ｓ２以下の場合（ステップＳ１５：ＮＯ）は、冗長度が所定の上下限の範囲内に収まっているということであり、冗長度制御処理は行わず、ステップＳ１１へと戻り、次の定期的なポーリング実行から冗長度検出処理を繰り返す。
【０１１９】
ここでは上記のステップＳ１４とステップＳ１５により、上限と下限の範囲内であるかどうかを判定したが、ステップＳ１４とステップＳ１５のどちらかだけを実行し、上限または下限の一方のみで制御してもかまわない。また上限と下限は、一致（Ｓ１＝Ｓ２）していてもよい。
【０１２０】
ステップＳ１６ａと引き続くステップＳ１６ｂは、減少しすぎた冗長度を増加させる、すなわち当該データの保有ノード数を増加するように変更する処理を行う。保有ノードの変更は、例えば次のような手順を実行すればよい。
【０１２１】
現在の冗長度を下限Ｓ１以上とするに必要な保有ノードの増加数Ｓｕを算出する。保有ノード以外のノードに当該ノードを保有可能か問い合わせる（ステップＳ１６ａ）。
【０１２２】
応答の早かったノードを優先して、Ｓｕ台のノードを追加保有ノードとして決定する。現保有ノードに指示を出して、データのコピーを追加保有ノードに送信させる（ステップＳ１６ｂ）。
【０１２３】
ステップＳ１７ａと引き続くステップＳ１７ｂは、増加しすぎた冗長度を減少させる、すなわち当該データの保有ノード数を減少するように変更する処理を行う。保有ノードの変更は、例えば次のような手順を実行すればよい。
【０１２４】
現在の冗長度を上限Ｓ２以下とするに必要な保有ノードの減少数Ｓｄを算出する。保有ノードに当該データを削除可能か問い合わせる（ステップＳ１７ａ）。応答の早かったノードを優先して、Ｓｄ台のノードを削除する保有ノードとして決定する。削除する保有ノードに指示を出して、当該データを削除させる（ステップＳ１７ｂ）。
【０１２５】
ステップＳ１８では、保有ノードを変更した各データについて、監視対象データリスト保持部２０２の監視データリストの記載内容を更新処理する。
【０１２６】
ステップＳ１９では、監視データリストの更新内容を他の監視を行うノード、すなわち監視データリストを保持しているすべてのノードに送信し、それぞれのノードの保持する監視データリストを更新させる。
【０１２７】
以上で冗長度制御処理は終了する。すなわち、最初の冗長度検出処理に戻り、次のポーリング実行を待つことになる。
【０１２８】
（処理例１）
以下、図７から図１１を用いて冗長度検出と冗長度制御の処理例１を説明する。
【０１２９】
図７から図１１は、図６に示した各ステップ（冗長度検出処理、冗長度制御処理）におけるネットワーク１の状態を示す図である。各図にノードの接続を示すように、本処理例においてネットワーク１は、ＰＣ１乃至ＰＣ９のノードによって構成されている。
【０１３０】
＜初期状態＞
図７（ａ）は初期状態の接続を示す図である。ネットワーク１を構成するノードのうち、ＰＣ１、ＰＣ２、ＰＣ３、そしてＰＣ９が監視データリストを保持するノード、すなわち監視を行うノードである。
【０１３１】
図７（ｂ）は監視データリストの内容を示す。監視データリストには、監視対象データとして、ＰＣ１乃至ＰＣ９のノードに保有されているすべてのデータが監視対象データとして記載されている。また冗長度の基準としては、下限値Ｓ１＝２、上限値Ｓ２＝２、すなわち冗長度は一定値「２」であるように設定されているものとする。
【０１３２】
データに冗長度を持たせる分散共有は、ＲＡＩＤ１のミラーリング技術を用いるものとする。図７（ａ）に示すように、初期状態でデータＣとデータＤがＰＣ１とＰＣ９で分散共有されている。またデータＥとデータＦは、ＰＣ２とＰＣ３で分散共有されている。何れのデータも基準として設定された冗長度「２」を満たす保有ノード数（＝２）である。図７（ｂ）の監視データリストに、それらの状態が記載されている。
【０１３３】
この状態で冗長度検出処理のポーリング（図６のステップＳ１１）が行われるが、（ａ）に示すネットワークに変化がなければ、各データの冗長度に変化がないので、（ｂ）に示す監視データリストの内容にも変化はない。
【０１３４】
＜ノードの切断＞
図８（ａ）には、ＰＣ９が突然ネットワークから切断され、その後、最初にポーリングを行った任意のノード（ＰＣ１とする）により、冗長度検出処理（図６のステップＳ１１〜ステップＳ１３）が行われた状態を示す。
【０１３５】
ＰＣ１はＰＣ９にポーリングしても応答がない（ステップＳ１１）ことから、データＣとデータＤの冗長度が「２」から「１」へ変化したことを検知する（ステップＳ１２）。
【０１３６】
この変化によりデータＣとデータＤの冗長度は基準値「２」から外れることになる（ステップＳ１３）ので、冗長度制御処理（ステップＳ１４以降）を起動させることになる。
【０１３７】
図８（ｂ）には、その時点で更新されたＰＣ１の監視データリストの記載内容を示す。データＣとデータＤの保有ノードからＰＣ９が消え、冗長度が「１」となっている。
【０１３８】
＜保有ノードの追加＞
図９（ａ）には、引き続きＰＣ１により、冗長度制御処理（図６のステップＳ１４〜ステップＳ１９）が行われた状態を示す。
【０１３９】
ＰＣ１は、データＣとデータＤの冗長度が基準の下限値「２」を下回る「１」へ変化したことを判定し（ステップＳ１４）、他のノードにデータＣとデータＤを保有可能かどうか、問い合わせのポーリングを行う（ステップＳ１６ａ）。
【０１４０】
冗長度「１」を「２」に増加させるために必要な追加保有ノード数は１台である。ここでは最も早く応答のあったＰＣ８を追加保有ノードに決定し、たまたまＰＣ１がデータＣとデータＤを保有しているので、自らデータＣとデータＤのコピーをＰＣ８に送付する（ステップＳ１６ｂ）。あるいはＰＣ１が他の保有ノードに送信を指示してもよい。また、データＣとデータＤをそれぞれ別のノードに追加保有させるようにしてもよい。
【０１４１】
これによりデータＣとデータＤの冗長度は下限値「２」を満たすことになる。
【０１４２】
ＰＣ１は監視データリストの記載を更新する（ステップＳ１８）。また合わせて、他の監視を行うノード（ＰＣ２、ＰＣ３、そしてＰＣ９）に更新内容を通知し、それに基づいて、それぞれのノードの保持する監視データリストを更新させる（ステップＳ１９）。
【０１４３】
図９（ｂ）には、その時点で更新された監視データリストの記載内容を示す。データＣとデータＤの保有ノードとしてＰＣ８が追加され、冗長度が「２」に戻っている。
【０１４４】
この状態で、また冗長度検出処理のポーリング（図６のステップＳ１１）へと戻るが、（ａ）に示すネットワークに変化がなければ、各データの冗長度に変化がないので、（ｂ）に示す監視データリストの内容にも変化はない。
【０１４５】
＜ノードの復帰＞
図１０（ａ）には、ＰＣ９がネットワークに復帰し、その後、最初にポーリングを行った任意のノード（ＰＣ１とする）により、冗長度検出処理（図６のステップＳ１１〜ステップＳ１３）が行われた状態を示す。
【０１４６】
ＰＣ１はネットワーク内のノードにポーリングして、ＰＣ９からの応答を得る（ステップＳ１１）。その結果、データＣとデータＤの保有ノードが増え、冗長度が「２」から「３」へ変化したことを検知する（ステップＳ１２）。
【０１４７】
この変化によりデータＣとデータＤの冗長度は基準値「２」から外れることになる（ステップＳ１３）ので、冗長度制御処理（ステップＳ１４以降）を起動させることになる。
【０１４８】
図１０（ｂ）には、その時点で更新されたＰＣ１の監視データリストの記載内容を示す。データＣとデータＤの保有ノードにＰＣ９が追加され、冗長度が「３」となっている。
【０１４９】
＜保有ノードの削除＞
図１１（ａ）には、引き続きＰＣ１により、冗長度制御処理（図６のステップＳ１４〜ステップＳ１９）が行われた状態を示す。
【０１５０】
ＰＣ１は、データＣとデータＤの冗長度が基準の上限値「２」を上回る「３」へ変化したことを判定し（ステップＳ１５）、データＣとデータＤを保有するノード（ＰＣ８、ＰＣ９、そしてＰＣ１）に、当該データを削除可能かどうか、問い合わせのポーリングを行う（ステップＳ１７ａ）。
【０１５１】
冗長度「３」を「２」に減少させるために必要な保有ノードの削除数は１台である。ここでは最も早く応答のあったＰＣ９を削除する保有ノードに決定し、ＰＣ９にデータＣとデータＤの削除を指示する（ステップＳ１７ｂ）。あるいはＰＣ１がたまたまデータＣとデータＤを保有しているので、自らの保有する当該データを削除することにしてもよい。また、データＣとデータＤをそれぞれ別の保有ノードから削除するようにしてもよい。
【０１５２】
これによりデータＣとデータＤの冗長度は上限値「２」を満たすことになる。
【０１５３】
ＰＣ１は監視データリストの記載を更新する（ステップＳ１８）。また合わせて、他の監視を行うノード（ＰＣ２、ＰＣ３、そして復帰したＰＣ９）に更新内容を通知し、それに基づいて、それぞれのノードの保持する監視データリストを更新させる（ステップＳ１９）。
【０１５４】
図１１（ｂ）には、その時点で更新された監視データリストの記載内容を示す。データＣとデータＤの保有ノードとしてＰＣ９が削除され、冗長度が「２」に戻っている。
【０１５５】
この状態で、またまた冗長度検出処理のポーリング（図６のステップＳ１１）へと戻ることになる。
【０１５６】
（処理例２）
以下、図１２と図１３を用いて冗長度検出と冗長度制御の処理例２を説明する。
【０１５７】
処理例２は、データが分割されて、それぞれ分散共有されている場合の例である。また冗長度を検出するためのポーリングも定期的に行うのではなく、データ取得のためにアクセスしたタイミングで行われるものとする。
【０１５８】
図１２と図１３は、処理例１と同様に、それぞれ図６に示した冗長度検出処理及び冗長度制御処理を行う前後におけるネットワーク１の状態を示す図である。本処理例においてもネットワーク１は、ＰＣ１乃至ＰＣ９のノードによって構成されている。
【０１５９】
＜初期状態＞
図１２（ａ）は初期状態の接続を示す図である。ここではネットワーク１を構成するすべてのノード（ＰＣ１〜ＰＣ９）が監視データリストを保持する、すなわち監視を行うノードである。
【０１６０】
図１２（ｂ）は監視データリストの内容を示す。監視データリストには、監視対象データとして、ＰＣ１乃至ＰＣ９のノードに保有されているすべてのデータが監視対象データとして記載されている。また冗長度の基準としては、下限値Ｓ１＝２、上限値Ｓ２＝２、すなわち冗長度は一定値「２」であるように設定されているものとする。
【０１６１】
データに冗長度を持たせた分散共有は、データＡを例にとると、データＡ１からＡ５に５分割され、それぞれの分割データが２台ずつのノードに分散され、共有されている。すなわち、何れの分割データについても保有ノード数＝２であり、分割されたデータＡは、基準として設定された冗長度「２」を満たす。
【０１６２】
図１２（ｂ）の監視データリストに、それらの状態が記載されている。
【０１６３】
処理例１と同様、この状態でデータ取得のアクセスが行われる度に、冗長度検出処理のポーリング（図６のステップＳ１１）が行われるが、（ａ）に示すネットワークに変化がなければ、各データの冗長度に変化がなく、冗長度検出と制御の処理は先へと進まない。
【０１６４】
＜ノードの切断と保有ノードの追加＞
図１３（ａ）には、ＰＣ９が突然ネットワークから切断された後、ポーリングに始まる冗長度検出処理が行われ、検出された冗長度の変化に応じて引き続き冗長度制御処理が行われた状態を示す。これらの処理（図６のステップＳ１１〜Ｓ１９）は、ＰＣ９の切断後、最初にデータＡを取得しようとアクセスした任意のノード（ここではＰＣ１とする）により行われる。
【０１６５】
ＰＣ１はデータＡの取得に当たって、データＡを復元するための分割されたデータＡ１からＡ５について、各ノードをポーリングするが、データＡ１を保有するはずのＰＣ９からの応答がない（ステップＳ１１）ことから、データＡ１の冗長度が「２」から「１」へ変化したことを検知する（ステップＳ１２）。
【０１６６】
この変化によりデータＡの冗長度は基準値「２」から外れることになる（ステップＳ１３）ので、冗長度制御処理（ステップＳ１４以降）を起動させることになる。
【０１６７】
ＰＣ１は、データＡの冗長度が基準の下限値「２」を下回る「１」へ変化したことを判定し（ステップＳ１４）、他のノードにデータＡ１を保有可能かどうか、問い合わせのポーリングを行う（ステップＳ１６ａ）。
【０１６８】
冗長度「１」を「２」に増加させるために必要なデータはデータＡ１であり、必要な追加保有ノード数は１台である。ここでは最も早く応答のあったＰＣ５をデータＡ１の追加保有ノードに決定し、たまたまＰＣ１がデータＡ１を保有しているので、自らデータＡ１のコピーをＰＣ５に送付する（ステップＳ１６ｂ）。あるいはＰＣ１が他の保有ノードに送信を指示してもよい。
【０１６９】
これによりデータＡの冗長度は下限値「２」を満たすことになる。
【０１７０】
ＰＣ１は監視データリストの記載を更新する（ステップＳ１８）。また合わせて、他の監視を行うノード（すべてのノード）に更新内容を通知し、それに基づいて、それぞれのノードの保持する監視データリストを更新させる（ステップＳ１９）。
【０１７１】
図１３（ｂ）には、その時点で更新された監視データリストの記載内容を示す。データＡ１の保有ノードとしてＰＣ５が追加され、冗長度が基準通りの「２」となっている。
【０１７２】
この状態で、またデータＡの取得のためのアクセスが行われるだろうが、冗長度検出処理のポーリング（図６のステップＳ１１）を行っても、（ａ）に示すネットワークに変化がなければ、各データの冗長度に変化がないので、冗長度制御処理へと進むことはない。
【０１７３】
このように本実施形態にかかる情報の管理方法、及びノードとしての情報処理装置によれば、複数のノードで情報を分散共有するネットワークシステムにおいて、保有されるデータを監視して冗長度の変化を検出する。また、その冗長度が所定の値以上または以下になるようにそのデータを保有するノードを変更する。
【０１７４】
これにより、データ保持に対して適切な冗長度を維持することができる。従って必要以上にデータを保有してリソースを無駄にすることなく、また逆に冗長度不足によるデータを取得できないといった障害も発生しにくく、分散共有されたデータを効率よく利用することができる。
【０１７５】
なお本発明の範囲は、上記実施形態に限定されるものではない。本発明の趣旨を逸脱しない限り、それらの変更された形態もその範囲に含むものである。
【図面の簡単な説明】
【０１７６】
【図１】ネットワーク１の全体構成例を示す図である。
【図２】ネットワーク１を構成するノード（情報処理装置）２のハードウェア構成例を示す図である。
【図３】ネットワーク１を構成する各ノード２の接続形態、すなわちノードの論理的なトポロジーの例を示す図である。
【図４】図３のように関連付けられたノード２の接続テーブルＴＬ例を示す図である。
【図５】ノード（情報処理装置）２の機能構成例を示すブロック図である。
【図６】データ分散共有時の、冗長度検出処理から冗長度制御処理に至る代表的な処理の流れを示すフローチャートである。
【図７】処理例１におけるネットワーク１の初期状態を示す図である。
【図８】図７においてネットワーク１のノードの切断があり、冗長度検出処理が行われた状態を示す図である。
【図９】図８においてネットワーク１の冗長度制御処理が行われた状態を示す図である。
【図１０】図９においてネットワーク１のノードの復帰があり、冗長度検出処理が行われた状態を示す図である。
【図１１】図１０においてネットワーク１の冗長度制御処理が行われた状態を示す図である。
【図１２】処理例２におけるネットワーク１の初期状態を示す図である。
【図１３】図１２においてネットワーク１のノードの切断があり、冗長度検出処理と冗長度制御処理が行われた状態を示す図である。
【符号の説明】
【０１７７】
１  ネットワーク（Ｐ２Ｐ）
２  情報処理装置（ノード）
３  スイッチングハブ
４  ルータ
５  認証サーバ
２０１  データ保持部
２０２  監視対象データリスト保持部
２０４  冗長度検出部
２０５  冗長度操作部
２０６  データ操作部
２０７  データ受信部
２０８  データ解析部
２０９  データ作成部
２１０  データ送信部
２１１  その他情報保持部
２１２  その他操作部
ＴＬ  接続テーブル
【図１】
2008304982.tif 000003
【図２】
2008304982.tif 000004
【図３】
2008304982.tif 000005
【図４】
2008304982.tif 000006
【図５】
2008304982.tif 000007
【図６】
2008304982.tif 000008
【図７】
2008304982.tif 000009
【図８】
2008304982.tif 000010
【図９】
2008304982.tif 000011
【図１０】
2008304982.tif 000012
【図１１】
2008304982.tif 000013
【図１２】
2008304982.tif 000014
【図１３】
2008304982.tif 000015