(57)【要約】  本発明は、ネットワーク上の複数のノードに分散して保持された情報を効率よく利用することができながら、分散されたデータの一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制できる情報の管理方法、及びノードとしての情報処理装置を提供する。  本発明の情報の管理方法では、ネットワーク上の複数のノードに情報を分割して分配するに際して、各ノードの物理的情報に基づき算出された信頼度が、保持する情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを、分配先ノードとして優先的に選択し、分配する。
2008056507.tif 000002
【特許請求の範囲】
【請求項１】
情報を分割して複数のノードに分配して保持するネットワークシステムにおける情報の管理方法であって、
前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割工程と、
前記情報分割工程によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択工程と、
前記分配先選択工程により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配工程と、を有する
ことを特徴とする情報の管理方法。
【請求項２】
前記分配先選択工程では、
分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードが選択される
ことを特徴とする請求の範囲第１項に記載の情報の管理方法。
【請求項３】
前記ノード信頼度リストは、
複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて作成される
ことを特徴とする請求の範囲第２項に記載の情報の管理方法。
【請求項４】
前記信頼度表は、
当該信頼度表を保持するノードの接続先のノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出されたそれぞれの接続先ノードの信頼度を含む
ことを特徴とする請求の範囲第３項に記載の情報の管理方法。
【請求項５】
前記信頼度表は、
それぞれの接続先ノードについての信頼度として、当該接続先ノードによってその物理的情報をもとに算出された値を含む
ことを特徴とする請求の範囲第３項に記載の情報の管理方法。
【請求項６】
前記ノード信頼度リストは、
前記分割情報を分配するノードによって作成される
ことを特徴とする請求の範囲第２項に記載の情報の管理方法。
【請求項７】
前記ノード信頼度リストは、
前記分割情報を分配するノードによって他のノードから取得される
ことを特徴とする請求の範囲第２項に記載の情報の管理方法。
【請求項８】
前記ノード信頼度リストは、
前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードが選択され、該複数のノードの保持する前記複数の信頼度表に基づいて作成される
ことを特徴とする請求の範囲第３項に記載の情報の管理方法。
【請求項９】
前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて当該ノードの信頼度が算出される
ことを特徴とする請求の範囲第３項に記載の情報の管理方法。
【請求項１０】
前記ノード信頼度リストは、
所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に再作成される
ことを特徴とする請求の範囲第３項に記載の情報の管理方法。
【請求項１１】
前記物理的情報は、
それぞれのノードにおける、ＣＰＵのスペック情報、ＣＰＵの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも１つ以上を含む
ことを特徴とする請求の範囲第１項に記載の情報の管理方法。
【請求項１２】
前記信頼度許容範囲は、
前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて予め設定される
ことを特徴とする請求の範囲第１項に記載の情報の管理方法。
【請求項１３】
情報を分割して複数のノードに分配して保持するネットワークシステムにおけるノードとしての情報処理装置であって、
前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割手段と、
前記情報分割手段によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択手段と、
前記分配先選択手段により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配手段と、を有する
ことを特徴とする情報処理装置。
【請求項１４】
前記分配先選択手段は、
分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードを選択する
ことを特徴とする請求の範囲第１３項に記載の情報処理装置。
【請求項１５】
前記分配先選択手段は、
複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて前記ノード信頼度リストを作成することを特徴とする請求の範囲第１４項に記載の情報処理装置。
【請求項１６】
前記分配先選択手段は、
接続先ノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出した接続先ノードの信頼度を含む前記信頼度表を保持する
ことを特徴とする請求の範囲第１５項に記載の情報処理装置。
【請求項１７】
前記分配先選択手段は、
接続先ノードによってその物理的情報をもとに算出された値を、その接続先ノードについての信頼度として含む前記信頼度表を保持する
ことを特徴とする請求の範囲第１５項に記載の情報処理装置。
【請求項１８】
前記分配先選択手段は、
前記ノード信頼度リストを自ら作成する
ことを特徴とする請求の範囲第１４項に記載の情報処理装置。
【請求項１９】
前記分配先選択手段は、
前記ノード信頼度リストを他のノードから取得する
ことを特徴とする請求の範囲第１４項に記載の情報処理装置。
【請求項２０】
前記分配先選択手段は、
前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードを選択し、該複数のノードの保持する前記複数の信頼度表に基づいて、前記ノード信頼度リストを作成する
ことを特徴とする請求の範囲第１５項に記載の情報処理装置。
【請求項２１】
前記分配先選択手段は、
前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて、前記ノード信頼度リストにおける当該ノードの信頼度を算出する
ことを特徴とする請求の範囲第１５項に記載の情報処理装置。
【請求項２２】
前記分配先選択手段は、
所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に、前記ノード信頼度リストを再作成する
ことを特徴とする請求の範囲第１５項に記載の情報処理装置。
【請求項２３】
前記物理的情報は、
それぞれのノードにおける、ＣＰＵのスペック情報、ＣＰＵの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも１つ以上を含む
ことを特徴とする請求の範囲第１３項に記載の情報処理装置。
【請求項２４】
前記分配先選択手段は、
前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて、前記信頼度許容範囲を予め設定する
ことを特徴とする請求の範囲第１３項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を分割し、複数のノード間で分散して保持するネットワークにおける情報の管理方法、及びネットワークを構成するノードとしての情報処理装置に関する。
【背景技術】
【０００２】
近年、ネットワークを構成する任意のノード間で自由にデータの送受信を行うような通信形態を有するネットワークが盛んに利用されるようになってきた。【０００３】
従来は、中央にホストの役目を担ったサーバなどがあり、クライアントとしての各端末が、それぞれホストサーバにアクセスし、端末間でやり取りが必要であれば、ホストサーバが仲介して行うというタイプの中央集中処理型のネットワークが主流であった。【０００４】
これに対して、いわゆる分散処理型のネットワークが徐々に登場してきている。保存する情報を分散する、またその処理を分散するといった機構を実現するためには、通信の機能も分散しなければならない。すなわち、ネットワークを構成する各ノード間で、自由にデータ通信が行われなければならない。【０００５】
代表的な形態として、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）と呼ばれる通信ネットワークの形態がある。Ｐ２Ｐは不特定多数のノード間で直接情報のやり取りを行うネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの２種類がある。【０００６】
中央サーバを要する場合にも、中央サーバはファイル検索データベースの提供とノードの接続管理のみを行っており、データ自体のやり取りはノード間の直接接続によって行われている。【０００７】
こういった分散処理のネットワーク形態を効率的に達成する技術が研究され、任意のノード間でデータを分散して保持し、互いにデータ送受信を行うシステムが形成されている。【０００８】
これらにより、ネットワークシステムの利用形態としての自由度は向上し、ユーザは大きな利便性を手に入れた。また、任意のノード間で分割されたデータを分散保持することにより、セキュリティを向上することができる。【０００９】
例えば上記Ｐ２Ｐのネットワークシステムにおいては、ＳＳＬ通信などで互いのデータ送受信は機密性が守られており、分割されたデータが分散され保持されているノードすべてに第三者がアクセスすることは困難である。また一部のデータが漏れることがあっても、分散されたデータの全体に対しては安全が保たれ、情報漏洩などによるリスクを最小限に抑えることができる。【００１０】
しかしながら一方では、データを分散して保持することは、データを集中管理するのと比較すると、効率という点からは負担となってしまう場合もある。【００１１】
例えば、分割されたデータを分散して保持するとすれば、ネットワークの規模が大きければ大きいほどデータを広く分散させることができ、セキュリティ面では向上するが、広く分散されたデータを、ユーザは収集して復元処理しなければならない。従来のように特定のサーバにアクセスすれば、それを取得できるという訳にはいかない。【００１２】
広いネットワーク上から分散している必要なデータを収集してくるには、ネットワークと各ノードにそれなりの負担を掛けることになり、待たされたり、場合によっては受信できないといった障害が起こったりする可能性もある。また、多数のノードに分散して保持すること自体、一部のノードに接続停止などの障害が生じてしまうと、全体のデータを取得できなくなってしまうといった危険性もはらんでいる。【００１３】
こういったデータの分散保持に伴うリスクを如何に軽減するかが、今後重要な課題となる。【００１４】
例えば、特許文献１では、各ノードのＣＰＵ使用率やメモリ使用率などの物理的情報に基づいて信頼度を算出し、各ノードの信頼度に基づいて接続管理を行う技術が提案されている。ノード間の送受信が最も効率的になされるように、ノード間の接続が自己組織的に形成されるというものである。【００１５】
しかしながら、この場合も接続管理、すなわちネットワークの接続のトポロジーを各ノードの信頼度に応じて最適化しているのみであり、実際のデータ分散処理に対して最適であるとは限らない。【００１６】
すなわち、実際にどういう通信が行われるかは、データをどのように分散保持し、どのように分散データを収集するかに依存するのであり、そういったデータ分散処理と各ノードの信頼度とを適合させるよう、処理を行うべきである。
【特許文献１】特開２００５−２５２５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ネットワークの接続形態を各ノードの信頼度に応じて最適化しても、例えば、たまたま信頼度の低いノードにデータを分散すると、いくら接続管理を適正化しても、障害の生ずる可能性は少なからずある。【００１８】
また、だからといって、逆に意図的に信頼度の高いノードにデータ分散するようにすると、信頼度の高いノードに負荷が集中することが起こりやすくなり、かえって非効率になる可能性もある。【００１９】
本発明の目的は、上記の課題を解決し、分割され、ネットワーク上の複数のノードに分散して保持された情報を効率よく利用することができながら、分散されたデータの一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制できる情報の管理方法、及びノードとしての情報処理装置を提供することである。
【課題を解決するための手段】
【００２０】
上記の課題を解決するために、本発明は以下の特徴を有するものである。【００２１】
１．  情報を分割して複数のノードに分配して保持するネットワークシステムにおける情報の管理方法であって、前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割工程と、前記情報分割工程によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択工程と、前記分配先選択工程により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配工程と、を有することを特徴とする情報の管理方法。【００２２】
２．  前記分配先選択工程では、分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードが選択されることを特徴とする１に記載の情報の管理方法。【００２３】
３．  前記ノード信頼度リストは、複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて作成されることを特徴とする２に記載の情報の管理方法。【００２４】
４．  前記信頼度表は、当該信頼度表を保持するノードの接続先のノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出されたそれぞれの接続先ノードの信頼度を含むことを特徴とする３に記載の情報の管理方法。【００２５】
５．  前記信頼度表は、それぞれの接続先ノードについての信頼度として、接続先ノードによってその物理的情報をもとに算出された値を含むことを特徴とする３に記載の情報の管理方法。【００２６】
６．  前記ノード信頼度リストは、前記分割情報を分配するノードによって作成されることを特徴とする２に記載の情報の管理方法。【００２７】
７．  前記ノード信頼度リストは、前記分割情報を分配するノードによって他のノードから取得されることを特徴とする２に記載の情報の管理方法。【００２８】
８．  前記ノード信頼度リストは、前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードが選択され、該複数のノードの保持する前記複数の信頼度表に基づいて作成されることを特徴とする３に記載の情報の管理方法。【００２９】
９．  前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて当該ノードの信頼度が算出されることを特徴とする３に記載の情報の管理方法。【００３０】
１０．  前記ノード信頼度リストは、所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に再作成されることを特徴とする３に記載の情報の管理方法。【００３１】
１１．  前記物理的情報は、それぞれのノードにおける、ＣＰＵのスペック情報、ＣＰＵの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも１つ以上を含むことを特徴とする１に記載の情報の管理方法。【００３２】
１２．  前記信頼度許容範囲は、前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて予め設定されることを特徴とする１に記載の情報の管理方法。【００３３】
１３．  情報を分割して複数のノードに分配して保持するネットワークシステムにおけるノードとしての情報処理装置であって、前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割手段と、前記情報分割手段によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択手段と、前記分配先選択手段により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配手段と、を有することを特徴とする情報処理装置。【００３４】
１４．  前記分配先選択手段は、分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードを選択することを特徴とする１３に記載の情報処理装置。【００３５】
１５．  前記分配先選択手段は、複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて前記ノード信頼度リストを作成することを特徴とする１４に記載の情報処理装置。【００３６】
１６．  前記分配先選択手段は、接続先ノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出した接続先ノードの信頼度を含む前記信頼度表を保持することを特徴とする１５に記載の情報処理装置。【００３７】
１７．  前記分配先選択手段は、接続先ノードによってその物理的情報をもとに算出された値を、その接続先ノードについての信頼度として含む前記信頼度表を保持することを特徴とする１５に記載の情報処理装置。【００３８】
１８．  前記分配先選択手段は、前記ノード信頼度リストを自ら作成することを特徴とする１４に記載の情報処理装置。【００３９】
１９．  前記分配先選択手段は、前記ノード信頼度リストを他のノードから取得することを特徴とする１４に記載の情報処理装置。【００４０】
２０．  前記分配先選択手段は、前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードを選択し、該複数のノードの保持する前記複数の信頼度表に基づいて、前記ノード信頼度リストを作成することを特徴とする１５に記載の情報処理装置。【００４１】
２１．  前記分配先選択手段は、前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて、前記ノード信頼度リストにおける当該ノードの信頼度を算出することを特徴とする１５に記載の情報処理装置。【００４２】
２２．  前記分配先選択手段は、所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に、前記ノード信頼度リストを再作成することを特徴とする１５に記載の情報処理装置。【００４３】
２３．  前記物理的情報は、それぞれのノードにおける、ＣＰＵのスペック情報、ＣＰＵの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも１つ以上を含むことを特徴とする１３に記載の情報処理装置。【００４４】
２４．  前記分配先選択手段は、前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて、前記信頼度許容範囲を予め設定することを特徴とする１３に記載の情報処理装置。
【発明の効果】
【００４５】
本発明にかかる情報の管理方法、及びノードとしての情報処理装置によれば、ネットワーク上の複数のノードに情報を分割して分配するに際して、次のように処理する。すなわち、各ノードの物理的情報に基づき算出された信頼度が、保持する情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを、分配先ノードとして優先的に選択し、分配する。これにより、ネットワーク上の複数のノードに分散して保持された情報に対して、分散された情報の一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制でき、分散された情報を効率よく利用することができる。
【図面の簡単な説明】
【００４６】
【図１】ネットワーク１の全体構成例を示す図である。
【図２】ネットワーク１を構成するノード（端末装置）２のハードウェア構成例を示す図である。
【図３】ネットワーク１を構成する各ノード２の接続形態、すなわちノードの論理的なトポロジーの例を示す図である。
【図４】図３のように関連付けられたノード２の接続テーブルＴＬ例を示す図である。
【図５】ノード（端末装置）２の機能構成例を示すブロック図である。
【図６】ＳＳＬ通信のコネクションを確立する際の処理例を説明するためのシーケンス図である。
【図７】情報分割処理から、分配先選択処理、そして情報分配処理に至るまでの代表的な処理の流れを示すフローチャートである。
【図８】データの性質の判断処理の流れの例を示すフローチャートである。
【図９】データの性質に応じた重要度レベルの設定についてのテーブル例を示す。
【図１０】情報分散配置処理例１におけるネットワーク１の接続状態を示す図である。
【図１１】図１０における各ノードの保持する信頼度表の記載内容を示す図である。
【図１２】ホップ数２を信頼度表取得範囲とした場合の信頼度表を取得するノードの範囲を示す図である。
【図１３】情報分散配置処理例１において、ＰＣ９の取得した信頼度表の記載内容を示す図である。
【図１４】情報分散配置処理例１において、作成したノード信頼度リストの内容を示す図である。
【図１５】情報分散配置処理例１において、選択されたデータ分配先ノードに、分割データを振り分け、分配した状態を示す図である。
【図１６】情報分散配置処理例２におけるネットワーク１の接続状態を示す図である。
【図１７】ホップ数３を信頼度表取得範囲とした場合の信頼度表を取得するノードの範囲を示す図である。
【図１８】情報分散配置処理例２において、ＰＣ９の取得した信頼度表の記載内容を示す図である。
【図１９】情報分散配置処理例２において、作成したノード信頼度リストの内容を示す図である。
【図２０】情報分散配置処理例２において、選択されたデータ分配先ノードに、分割データを振り分け、分配した状態を示す図である。
【符号の説明】
【００４７】
１  ネットワーク（Ｐ２Ｐ）
２  端末装置（ノード）
３  スイッチングハブ
４  ルータ
５  認証サーバ
２０１  データ保持部
２０２  信頼度表保持部
２０３  信頼度保持部
２０４  信頼度算出部
２０５  信頼度表操作部
２０６  データ操作部
２０７  データ受信部
２０８  データ解析部
２０９  データ作成部
２１０  データ送信部
２１１  その他情報保持部
２１２  その他操作部
ＴＬ  接続テーブル
【発明を実施するための最良の形態】
【００４８】
以下に、図を参照して本発明に係る実施形態を説明する。【００４９】
（ネットワークの全体構成）
図１は本実施形態に係る情報の管理方法、及び情報処理装置により構成されるネットワーク１の全体的な構成の例を示す図である。図１を用いて本発明の実施形態に係るネットワーク１について、その全体構成を説明する。【００５０】
ネットワーク１は、図１に示すように、複数台の端末装置２（２１、２２、…、２ｎ）、スイッチングハブ３、ルータ４、および認証サーバ５などのノードによって構成されるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。これらの端末装置２は、スイッチングハブ３にツイストペアケーブルによってスター型に繋がれている。【００５１】
ネットワークを構成するノードとしての端末装置２は、情報処理装置であり、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間でデータの入出力の処理を実行する装置である。以下、ノードといえば単にこの端末装置のことを指し、情報処理装置としてのパーソナルコンピュータが用いられるものとして説明する。【００５２】
また本実施形態では、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）と呼ばれる通信ネットワークの形態を採っている。Ｐ２Ｐは不特定多数のノード間で直接情報のやり取りを行うネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの２種類がある。【００５３】
本実施形態では、中央サーバは用いず、後で図３の接続トポロジーを説明するが、予め関連付けられたノード（端末装置）２間では直接接続を行い、通信する。その他のノードとは、直接接続したノードを介して間接的に接続することになる。認証サーバ５は認証のための証明書に関わる管理のみを担い、通信のための接続には直接関わらない。またルータ４もノード（端末装置）間の通信には直接関与しない。【００５４】
Ｐ２Ｐでは、直接ノード同士が通信するため、如何にお互いの正当性を認証するか、不正の入り込む余地を抑制するかというセキュリティが重要である。そのために認証サーバ５の発行するディジタル証明書を用いる。後述するＳＳＬ通信においては、Ｘ．５０９仕様のディジタル証明書が使用される。【００５５】
ディジタル証明書の有効期間を過ぎたり、秘密鍵の紛失や盗難などでそのディジタル証明書の信頼性が損なわれると、認証局は証明書失効リスト（ＣＲＬ：Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）に掲載し、公開することにより失効させる。【００５６】
以下、上記の観点から、本実施形態に係るネットワークにおいて、各ノードで分散して保持する情報について、セキュリティを保持しながら、これらのノード２同士がデータ通信を行い、効率的に利用できるよう、各ノードの信頼度に応じて、情報を分割して、分配先ノードを決定し、分配配置する場合について説明する。【００５７】
（端末装置の構成）
図２はノード（端末装置）２のハードウェア構成の例を示す図である。【００５８】
端末装置２は、図２に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、通信インタフェース２０ｅ、画像インタフェース２０ｆ、入出力インタフェース２０ｇ、その他の種々の回路または装置などによって構成される。【００５９】
通信インタフェース２０ｅは、例えばＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）であって、ツイストペアケーブルを介してスイッチングハブ３のいずれかのポートに繋がれている。画像インタフェース２０ｆは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。【００６０】
入出力インタフェース２０ｇは、キーボード若しくはマウスなどの入力装置またはＣＤ−ＲＯＭドライブなどの外部記憶装置などと繋がれている。そして、ユーザが入力装置に対して行った操作の内容を示す信号を入力装置から入力する。または、ＣＤ−ＲＯＭなどの記録媒体に記録されているデータを外部記憶装置に読み取らせ、これを入力する。または、記録媒体に書き込むためのデータを外部記憶装置に出力する。【００６１】
ハードディスク２０ｄには、後で機能ブロック図（図５）を用いて説明するが、データ保持部２０１、信頼度表保持部２０２、信頼度保持部２０３、信頼度算出部２０４、信頼度表操作部２０５、データ操作部２０６、データ受信部２０７、データ解析部２０８、データ作成部２０９、データ送信部２１０、その他情報保持部２１１，及びその他操作部２１２などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてＲＡＭ２０ｂに読み出され、ＣＰＵ２０ａによってプログラムが実行される。【００６２】
各ノード２には、それぞれ、他のノード２との識別のために、ホスト名（マシン名）、ＩＰアドレス、およびＭＡＣアドレスが与えられている。ホスト名は、ネットワーク１の管理者などが自由に付けることができる。ＩＰアドレスは、ネットワーク１の規則に従って与えられる。ＭＡＣアドレスは、そのノード２の通信インタフェース１０ｅに対して固定的に与えられているアドレスである。【００６３】
本実施形態では、ノード（端末装置）２１、２２、…ごとに「ＰＣ１」、「ＰＣ２」、…のようなホスト名が付されているものとする。以下、これらのノード２をホスト名によって記載することがある。【００６４】
（ノードの接続形態）
図３はノードの接続形態、すなわち端末装置２の論理的なトポロジーの例を示す図である。図３を用いてノード（端末装置）の接続形態を説明する。【００６５】
ノード２は、図３に示すように、仮想空間に配置されているものと仮想されている。そして、点線で示すように、仮想空間内の近隣の少なくとも１台の他のノード２と関連付けられている。かつ、これらの関連付けによって、すべてのノード２が互いに直接的にまたは間接的に関連するようになっている。【００６６】
なお、「直接的に関連」とは、図３において１本の点線で繋がれていること（例えば、図３のＰＣ１とＰＣ２またはＰＣ９とのような関係）を言い、「間接的に関連」とは、２本以上の点線および１つ以上のノードで繋がれていること（例えば、図３のＰＣ１とＰＣ４とのような関係）を言う。ノード２は、自らに直接的に関連付けられている他のノード２に対してデータを送信する。【００６７】
「直接的に関連」あるいは「間接的に関連」といった関連の度合いは接続の「ホップ数」としても表現される。図３でいうと１本の点線で繋がれている場合はホップ数１であり、２本以上の点線で繋がれている場合は、最短経路の本数がホップ数である。【００６８】
すなわち、ここでは、
ホップ数＝相手方ノードまでの最短経路において経由するノードの数＋１
となる。但し、ホップ数としてルータを超えた回数を採用することもできる。【００６９】
図４は、図３のように関連付けられたノード２の接続テーブルＴＬの例を示す図である。各ノード２毎に、直接データ送信可能な、ホップ数１の、すなわち「直接的に関連」付けられている他のノード２との接続のための情報のリストをテーブル化して保持している。【００７０】
例えば、図３におけるＰＣ１、ＰＣ２、ＰＣ６、ＰＣ７、ＰＣ８、およびＰＣ９には、それぞれ図４に示すような接続テーブルＴＬ１、ＴＬ２、ＴＬ６、ＴＬ７、ＴＬ８、およびＴＬ９が保存されている。【００７１】
（端末装置の各部の機能）
図５はノード（端末装置）２の機能的構成の例を示すブロック図である。図５を用いてノード２の各部の処理機能について説明する。【００７２】
まず、データの分散保持に関わる処理以外の処理機能について説明する。【００７３】
その他情報保持部２１１は、そのノード２またはユーザなどの属性を示す属性データ、そのノード２自身のディジタル証明書、失効リスト（ＣＲＬ）、オペレーティングシステム（ＯＳ）またはアプリケーションソフトなどが使用するデータ、ユーザがアプリケーションソフトによって作成したデータ、その他種々のデータを、ファイルとして保存している。【００７４】
ディジタル証明書は、ノード２の要請により認証サーバ５が発行し、当該ノード２が保持し、ノード２同士の通信時に互いを認証するのに利用される。失効リスト（ＣＲＬ）は、ノードの脱退などによるディジタル証明書の失効を登録記載するもので、認証サーバ５が管理するが、Ｐ２Ｐ通信を行う本実施形態では、各ノード２がそれぞれ失効リスト（ＣＲＬ）を保持し、更新などの管理を行う。【００７５】
また、その他情報保持部２１１は、そのノード２自身に直接的に関連付けられている他のノード２のホスト名、ＩＰアドレス、およびＭＡＣアドレスなどの属性の一覧を示す接続テーブルＴＬを保存している。例えば、図３におけるＰＣ１、ＰＣ２、ＰＣ６、ＰＣ７、ＰＣ８、およびＰＣ９の接続テーブル保持部２０１に、それぞれ接続テーブルＴＬ１、ＴＬ２、ＴＬ６、ＴＬ７、ＴＬ８、およびＴＬ９が保存されている例を、図４を用いて既述した。これらの接続テーブルＴＬの内容は、各ノード２の関連付けに基づいて管理者によって予め作成される。【００７６】
その他操作部２１２は、上記その他情報保持部２１１に保持される接続テーブルＴＬの管理を行う。【００７７】
また、その他操作部２１２は、その他情報保持部２１１にデータを保存し、または保存されているデータを更新するなどの処理を行う。例えば、ノード２の環境または設定内容が変わるごとに、属性データを更新する。または、失効リスト（ＣＲＬ）を更新する処理を行う。【００７８】
また、その他操作部２１２は、他のノード２から送信されて来たディジタル証明書などに基づいて当該他のノード２の認証の処理を行う。また送信されて来たディジタル証明書が失効していないかどうかを、その他情報保持部２１１に保存されている失効リスト（ＣＲＬ）を参照して確認する。また、当該ノード２が新たにネットワークに参加、もしくは脱退しようとする場合の処理などを行う。【００７９】
その他操作部２１２は、必要に応じてデータ受信部２０７、データ送信部２１０を介してネットワーク１の他のノード２とデータ通信を行い、また必要に応じてその他情報保持部２１１のデータを参照、あるいは更新する。【００８０】
データ受信部２０７は、他のノード２とデータ通信を行うための制御処理を行う。データ受信部２０７は、ネットワーク１を流れるパケットのうち、そのノード２に必要なものを受信する。【００８１】
データ解析部２０８は、データ受信部２０７が受信した受信データから必要な情報を抽出してその内容を解析することによって、その受信データの種類を判別する。【００８２】
データ作成部２０９は、その他操作部２１２の指示に基づいて、他のノード２に送信するための送信データを作成する。【００８３】
データ送信部２１０は、送信データ作成部２０９によって生成され、パケット化された送信データを他のノード２に送信する。【００８４】
＜情報分割、分配先選択、及び情報分配に関わる機能＞
次に、同じく図５を用いて情報を分散して保持するに際しての、分配配置処理、すなわち情報分割、分配先選択、及び情報分配に関わる処理機能について説明する。【００８５】
なお以降の説明では、分割され、各ノードに分配され、分散保持される情報のことをすべてデータと呼称し、説明する。【００８６】
データ操作部２０６は、データ（情報）を参照し、分散配置するために分割する処理、決定した分配先ノードに分配する処理、また分配を受けたときには、データ保持部２０１に保持する処理等を行う。すなわち、データ操作部２０６は情報分割手段、及び情報分配手段として機能する。【００８７】
また分散して保持されたデータの利用時には、各分配先ノードにアクセスして分割されたデータを収集し、復元する処理も行う。【００８８】
データ保持部２０１は、データ操作部２０６の処理の対象となるデータ、あるいは分割されたデータを保持する。【００８９】
信頼度表操作部２０５は、例えば分配先候補ノードの範囲を設定し、その範囲のノードから信頼度表を収集する処理、及び自らの保持する信頼度表を作成する処理を行う。信頼度表作成は、信頼度算出部２０４より接続先ノードの信頼度算出結果を取得し、作成する。信頼度表については後述する。【００９０】
信頼度算出部２０４は、接続先ノードから物理的情報を取得し、信頼度を算出する処理、及び信頼度表操作部２０５から複数の分配先候補ノードの信頼度表を取得し、ノード信頼度リストを作成する処理、あるいは他のノードからノード信頼度リストを取得する処理、及びノード信頼度リストから分配先ノードを選択する処理を行う。詳細は後述する。【００９１】
また信頼度表保持部２０２は、信頼度表操作部２０５の処理対象である複数の分配先候補ノードの信頼度表を保持する。信頼度表は、そのノードの接続先ノードの信頼度に関する情報を含む。【００９２】
また信頼度保持部２０３は、信頼度算出部２０４の処理対象であるノード信頼度リストとその作成に必要な情報とを保持する。また場合によっては、接続先ノードから入手した信頼度や物理的情報なども保持する。【００９３】
従って、信頼度表操作部２０５、信頼度算出部２０４、信頼度保持部２０３、信頼度表保持部２０２は、分配先選択手段として機能する。【００９４】
データ操作部２０６、信頼度表操作部２０５、信頼度算出部２０４は、必要に応じてデータ受信部２０７、データ送信部２１０を介してネットワーク１の他のノード２とデータ通信を行い、また必要に応じてデータ保持部２０１、信頼度表保持部２０２、信頼度保持部２０３のデータを参照、あるいは更新する。【００９５】
（ノード間のＳＳＬ通信）
ところで、本実施形態におけるノード２は、直接的にまたは間接的に関連付けられたノード２との間でＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）通信を行うことができる。ＳＳＬは、ディジタル証明書を用いて暗号化を行うことにより、ネットワーク上でデータを安全に送受信するためのプロトコルである。本実施形態におけるＳＳＬ通信のコネクションを確立する処理の流れについて、以下に説明する。【００９６】
なお、一般的なディジタル証明書および失効リスト（ＣＲＬ）の標準仕様は、ＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）によってＸ．５０９として定められている。以下のＳＳＬ通信の説明においては、ディジタル証明書をＸ．５０９証明書と呼称する。【００９７】
図６はＳＳＬ通信のコネクションを確立する際の処理の流れの例を説明するための図である。図３のノード、例えばＰＣ１とＰＣ２とが目的の通信を行おうとする場合を例に、図６を参照しながらさらに詳細に説明する。【００９８】
ＳＳＬ通信のコネクションを確立する前段階として、接続自体の確立が行われる。まず、例えばＰＣ１において、ＰＣ２と通信を行いたい旨のコマンドをユーザがキーボードなどを操作して入力したとする。すると、データ作成部２０９は接続要求データを作成し、データ送信部２１０はその接続要求データを他方のノードＰＣ２に対して送信する。【００９９】
そうすると、ＰＣ２において、データ受信部２０７はＰＣ１からの接続要求データを受信し、データ解析部２０８はそのデータの種類を解析する。ここでは、当然、接続要求データであると解析される。データ作成部２０９は接続を許可する旨を示す接続許可データを生成し、ＰＣ１に送信する。【０１００】
ＰＣ１のデータ受信部２０７によって接続許可データが受信され、その後所定の処理が行われると、ＰＣ１とＰＣ２とが接続される。但し、この時点では、まだＳＳＬ通信のコネクションは確立されておらず、この後ＳＳＬ通信のコネクション確立のフローに入る。【０１０１】
まず、ＰＣ１およびＰＣ２のうちのいずれか一方において、データ作成部２０９は対応可能なＳＳＬのバージョンを示すＳＳＬバージョンデータを生成し、データ送信部２１０はこれを他方に送信する（ステップＳ１）。図６では、ＰＣ１がＰＣ２に対してＳＳＬバージョンデータを送信したものとする。【０１０２】
そうすると、ＰＣ２において、データ受信部２０７がＳＳＬバージョンデータを受信し、データ解析部２０８はそのデータの種類を解析し、データ作成部２０９はＳＳＬバージョンデータに示されるバージョンのうちＰＣ２で対応可能なバージョンを１つ選択し、これを示すＳＳＬバージョン選択データを生成する。そして、データ送信部２１０は、これをＰＣ１に送信する（ステップＳ２）。【０１０３】
ＰＣ１において、ＰＣ２からのＳＳＬバージョン選択データがデータ受信部２０７によって受信されると、それに示されるバージョンのＳＳＬを、目的の通信のためのプロトコルとして採用することに決定する。ＰＣ２においても、同様に決定する。【０１０４】
次いでＰＣ２において、Ｘ．５０９ディジタル証明書をＰＣ１に送信する。このＸ．５０９証明書が周知の認証サーバ５によって署名されたものでなければ、そこに達するまでの証明書のチェーンも送信する。ＰＣ１においては認証サーバ５自身を証明するルート証明書を予め保持しており、そのなかにＰＣ２から受信したＸ．５０９証明書を署名したものがあるかどうかを検証する。また当該証明書が、その署名を行った認証サーバ５の発行した証明書失効リスト（ＣＲＬ）に記載がないかどうかを確認し、もし記載があればこの時点で通信を終了する（ステップＳ３）。【０１０５】
上記認証処理をクリアすれば、この後、ＰＣ２は、応答終了の旨をＰＣ１に対して通知する（ステップＳ４）。【０１０６】
ＰＣ２からの応答終了の通知を受けて、ＰＣ１は、ＳＳＬ通信で使用する共通鍵を生成するために、３８４ビットのランダムな値であるプリマスターキーを生成する。ＰＣ１のデータ作成部２０９は、プリマスターキーを、ＰＣ２より受け取ったＸ．５０９証明書に含まれるＰＣ２の公開鍵によって暗号化してＰＣ２に送信する（ステップＳ５）。【０１０７】
また、ＰＣ１はこのプリマスターキーを基に、実際にデータの暗号化に使用する共通鍵を生成して、通信用の暗号鍵をその共通鍵に切り替えるように制御を行う。また暗号鍵を切り替える旨の暗号切り替え通知をＰＣ２に送信する（ステップＳ６）。【０１０８】
ＰＣ１からの暗号切り替え終了の通知を受けると（ステップＳ７）、ＰＣ２においても、暗号鍵の切り替えを行うべく、ＰＣ１に暗号切り替えの通知を送信する（ステップＳ８）。ＰＣ２のデータ受信部２０７は、ＰＣ１から受信した自らの公開鍵で暗号化されたプリマスターキーを、対応する自らの秘密鍵で復号する。データ解析部２０８がこれを解析することによってデータの種類がプリマスターキーであることを確認すると、データ操作部２０４は、受信したプリマスターキーを基に共通鍵を生成し、以後、ＰＣ１との間ではその共通鍵による暗号化通信が行われるように制御を行う。つまり、暗号鍵の切替えを行う。【０１０９】
ＰＣ２は、上記暗号鍵の切り替えを終了すると、ＰＣ１に暗号切り替え終了の通知を送信する（ステップＳ９）。【０１１０】
以上の処理によって、ＰＣ１とＰＣ２との間でＳＳＬ通信のコネクションが確立される。これにより、目的の通信を安全に行うことができる。【０１１１】
なお、上述したコネクションの確立は、ＰＣ２のＸ．５０９証明書をＰＣ１が確認する場合を示したが、同時にＰＣ１のＸ．５０９証明書をＰＣ２が確認する場合もある。これをＳＳＬクライアント認証通信と呼ぶ。【０１１２】
このＳＳＬクライアント認証通信をＰＣ同士、および認証サーバとの間で行うためには、各々がＸ．５０９証明書を保持している必要があり、また証明書を検証するためにルート証明書も保持している必要がある。【０１１３】
このようにして、ネットワーク１の各ノード２は、互いに認証されたノードとして安全に通信する動作を果たすことができる。【０１１４】
（情報の分散保存とノードの信頼度）
本実施形態に係るネットワーク１では、上述したように接続テーブルＴＬにより規定された「関連付けられた」ノード（端末装置２）間で相互認証し、ＳＳＬ通信を確立して、互いにデータの送受信を行う。【０１１５】
こういった通信をベースにして、分割されたデータが各ノードに分配され、保持されることにより、また分散保持されたデータが検索、収集されることにより、任意のノードで分散したデータを利用することが可能となる。【０１１６】
また、こういった通信により、分散データのセキュリティが維持される。【０１１７】
例えば本実施形態に係るＰ２Ｐのネットワークシステム１においては、任意のノード間でのデータ通信が可能であり、データの分散保持が容易である。また、前述したＳＳＬ通信などで互いのデータ送受信は機密性が守られており、データが分散され保持されているノードすべてに第三者がアクセスすることは困難である。また一部のデータが漏れることがあっても、分散されたデータの全体に対しては安全が保たれ、情報漏洩などによるリスクを最小限に抑えることができる。【０１１８】
＜信頼度、物理的情報、信頼度表、信頼度許容範囲について＞
ここでいう信頼度とは物理的信頼度であり、処理性能、及び接続に関わる障害の発生度合いに関するものである。本実施形態では、後述するように、各ノードのこういった信頼度に基づき、分配先ノードを選択することで、そういった障害の発生を抑制している。【０１１９】
本実施形態では、信頼度を各ノードの物理的情報から算出する。物理的情報としては、例えばＣＰＵのスペック情報、ＣＰＵの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報等を用いればよい。これらの物理的情報から信頼度を算出する事例が、特許文献１（特開２００５−２５２５９６号公報）に示されている。【０１２０】
また、物理的情報として、さらに地理的要素、専用ハードウェア利用状況、メンテナンス状況などを含めてもよい。地理的要素とは、例えば海外とのネットワークなどで電力供給の安定性に違いがあるなどの要素である。専用ハードウェア利用状況とは、例えば暗号（復号）化処理が可能か、画像処理用かなど、そのデータにあった専用処理機能を有するかといった要素である。またメンテナンス状況は、例えば定期的にメンテナンスが行われているか、メンテナンスが頻発していないかといった要素である。【０１２１】
信頼度は、処理性能、及び接続に関わる障害の発生度合いに関するものであり、それに影響する上述のような物理的情報を任意に設定し、その影響を最も反映するように自由に信頼度の算出方法を設定してもよい。【０１２２】
本実施形態では、上述のように予め定めた物理的情報と算出方法を用いて求めた各ノードの信頼度を、その接続先のノードが信頼度表に記載して、保持する形態としている。つまり、各ノードの保持する信頼度表には、そのノードの「直接関連付けられた」接続先ノードの信頼度が記載されている。【０１２３】
本実施形態では、データの分配先を選択するに当たり、各ノードの保持するそれらの信頼度表を必要な範囲で取得して、データ分配先候補のノード信頼度リストを作成し、このノード信頼度リストを参照することにより、データ分配先ノードを選択する。【０１２４】
これによって、信頼度の低いノードにデータの一部が分配され、データの取得に手間取ったり、最悪の場合はそのデータの一部が消失してしまったりといった障害の発生を抑制することができる。【０１２５】
但し、本実施形態では、上述のようにノード信頼度リストを作成して求めた各ノードの信頼度に応じて、分配先ノードを選択するが、単純に上記信頼度の高いノードを選択するような手法はとらない。【０１２６】
信頼度の高いノードに優先的に割り振ると、どうしても信頼度の高いノードにデータが分配される機会が多くなり、かえって負担の増大による処理効率の低下や障害の発生のリスク増加を招くことになってしまう。【０１２７】
本実施形態では、分散して保持するデータの性質に応じて、そのデータを分配する分配先ノードの信頼度許容範囲を設定し、その範囲内の信頼度を有するノードを優先的に分配先ノードとして選択する。【０１２８】
データの性質とは、例えば、データの重要度であったり、そのデータの処理に対する計算量であったりする。画像や暗号化データなど処理時の計算量を要するものは、処理能力の高いノードを選択すべきであるし、重要度が高く、データの遅延や、破損などを回避しなければならないものは、接続時の障害などの発生確率の低いノードを選択すべきである。【０１２９】
本実施形態では、このような信頼度と、負荷の集中を防ぐバランスから、上記データの性質に応じて予め適切な信頼度許容範囲を設定して、高過ぎも低過ぎもしない適切な信頼度の分配先ノードを優先的に選択する。【０１３０】
以下に、分配配置処理、すなわちデータの性質を判断し、それに基づいてデータを分割し、信頼度許容範囲を設定し、ノードの信頼度に基づき分配先ノードを選択し、分配する処理の全体的な流れについて説明する。【０１３１】
（情報分散配置の全体処理例）
図７は、情報分割処理から、分配先選択処理、そして情報分配処理に至るまでの代表的な処理の流れを示すフローチャートである。図８は、情報の分割処理、分配先選択処理のために、データの性質を判断する処理の流れを示すフローチャートである。【０１３２】
図８を用いて、データの性質の判断処理を説明し、引き続き図７を用いて、全体としての分配配置処理例を説明する。適宜図５を参照する。【０１３３】
＜データの性質判断処理＞
図８のフローチャートにおいて、データを保持するノードは、まずデータの性質を判断し、データの重要度レベルを設定する。データの性質は、ここでは、データの秘密性の度合いであり、またそのデータの処理に対する計算量などを示すデータの種類である。【０１３４】
まずステップＳ１０１で、データを保持するノードは、データの重要度を設定するためのユーザからの指示があるかどうかを判定する。すなわちデータ操作部２０６は、ユーザの操作による指示入力がデータ保持部２０１に記憶されているかどうかを判定する。【０１３５】
ユーザ指示入力がある場合（ステップＳ１０１；ＹＥＳ）は、ステップＳ１０３の重要度レベルの設定を実行する。ユーザ指示入力がない場合（ステップＳ１０１；ＮＯ）は、次のステップＳ１０２を実行する。【０１３６】
ステップＳ１０２では、データ操作部２０６は、データの重要度レベルを設定するためにデータの性質を判断する。データの性質は、データの秘密性であり、またデータの種類である。【０１３７】
図９にデータの秘密性やデータの種類による重要度レベルの設定についての対応テーブルを示す。データ操作部２０６は、データ保持部２０１に保持するデータから、こういったテーブルに分類されるデータの性質を判断する。【０１３８】
図９によれば、データの秘密性は、秘密性の高い順に極秘、部外秘、社外秘、関係会社に開示可、開示可または指定なし、などと分類され、それぞれ１から５の重要度レベルが割り当てられる。これらは例えばデータに付加された情報を、あるいは埋め込まれた情報を読み出すなどの方法で判定することができる。【０１３９】
またデータの種類については、画像や暗号化データなど処理時の計算量を要するものは重要度が高く、テキスト以外のデータ、さらにテキストデータなどと重要度が低くなるように分類し、図９の場合では、それぞれ５から７の重要度レベルが割り当てられている。これらは例えばデータファイルの拡張子などから判断することができる。【０１４０】
ステップＳ１０３では、データの性質に基づいて、対応する重要度レベルが設定される。あるいはユーザからの指示がある場合は、それにしたがった重要度レベルを設定する。すなわち、データ操作部２０６は、データ保持部２０１に保持するデータ及びこういったテーブルを参照し、データの性質に基づき重要度レベルを設定する。【０１４１】
またそれらのデータの性質に基づく重要度レベルは、それぞれデータを分割する分割数、データを分配するノードの信頼度許容範囲とも対応しており、データの性質に応じて分割数や信頼度許容範囲を変化させるよう指定されている。【０１４２】
引き続き図７を用いて、データの重要度レベルに従った分配配置処理例を説明する。適宜図５を参照する。【０１４３】
＜情報分割処理＞
まずステップＳ１１で、データを保持するノードは、データを各ノードに分配するために、データを分割する。すなわち、データ操作部２０６は、データ保持部２０１に保持する上記データを参照し、そのデータの性質に応じて、あるいはユーザの指示などにより設定された重要度レベルを取得する。またその重要度レベルに対応する分割数と分割方法などを設定し、データを分割する。【０１４４】
図９に従えば、重要度レベルが高いほど分割数は多くなっている。分割数は、データの大きさやネットワークの規模、接続トポロジーなどに応じて、適切に設定されるよう、予め定めておけばよい。【０１４５】
データ分割法としては、例えば、文書などを行単位で分割するストライピングを用いてもよい。また、２次元パリティ方式、多重パリティ方式、リードソロモン方式などの公知方法を用いてもよい。また、情報破損や劣化を回避するために、分割時に冗長性を持たせる様にしてもよい。【０１４６】
分割されたデータは、分配に備えてデータ保持部２０１に保持する。このように、ステップＳ１１は情報分割工程として機能する。【０１４７】
＜分配先選択処理＞
次にステップＳ１２では、信頼度許容範囲が設定される。信頼度算出部２０４は、データ操作部２０６からデータの性質に応じて設定された重要度レベルを取得する。またデータ分配先ノードの信頼度を照合するために、その重要度レベルに対応する信頼度許容範囲を設定し、信頼度保持部２０３に一時保存する。【０１４８】
データの性質に応じた重要度レベルとは、例えば図９に示したように、データの秘密性やデータの種類（画像データや暗号化データなど）に対応するデータの重要性である。例えば、重要度の高いデータは、その度合いに応じて信頼度許容範囲が高めになるように、また画像などの処理に時間が掛かるデータもその度合いに応じて信頼度許容範囲が高めになるように対応させておく。【０１４９】
本実施形態は、信頼度を０から１００の値で表すこととする。０が最も信頼度が低く、１００が最も信頼度が高い状態とする。従って信頼度許容範囲は「信頼度６０−８０」といったように表される。この場合、信頼度の値が６０から８０の範囲にあるノードが、分配先として優先的に選択されることになる。【０１５０】
図９に従えば、重要度が高いほど信頼度許容範囲は高い方にシフトしており、より信頼度の高いノードに分配することが求められることになる。【０１５１】
次にステップＳ１３では、信頼度表を取得する範囲（ホップ数）が設定される。信頼度表操作部２０５は、データ操作部２０６から取得したデータの分割数などに応じて、信頼度表を取得する複数のノードを設定する。【０１５２】
設定方法は、直接接続している接続先ノード（ホップ数１）を優先して、接続のためのホップ数が小さいノードを加えていく。例えば、ホップ数３までの範囲といえば、ホップ数が１、２、３の何れかであるノードから信頼度表を取得することになる。【０１５３】
各ノードの保持する信頼度表は、そのノードの接続先ノード（ホップ数１）の信頼度を含む。例えば、ノードが図３のＰＣ１であれば、ＰＣ２とＰＣ９の信頼度を記載した信頼度表を作成し、保持していることになる。【０１５４】
信頼度表を取得するノードの範囲は、取得する複数の信頼度表に含まれるノードの数がデータの分割数より多くなるように設定する必要がある。【０１５５】
次にステップＳ１４では、取得範囲のノードから信頼度表を収集する。すなわち、信頼度表操作部２０５は、ステップＳ１３で設定した取得範囲（ホップ数）のノードから信頼度表を収集し、取得した複数の信頼度表を信頼度表保持部２０２に保持する。【０１５６】
この場合、同一のノードに対して複数回取得することも起こり得る。例えば、ホップ数２とすると、途中に１台のノードを介在して接続することになるが、同一のノードに異なるノードを介して接続する二通りの経路が存在するような場合である。【０１５７】
信頼度表を取得するノードを図３のＰＣ１とすると、ＰＣ２を介してＰＣ７に接続する場合と、ＰＣ９を介してＰＣ７に接続する場合と、二度信頼度表を要求することになる。もちろん、信頼度表保持部２０２に同一の信頼度表を複数保持する必要はない。【０１５８】
次にステップＳ１５では、複数の信頼度表からノード信頼度リストを作成する。すなわち、信頼度算出部２０４は、信頼度表操作部２０５から取得範囲のノードに対する信頼度表を取得し、それらを総合してノード信頼度リストを作成し、信頼度保持部２０３に保持する。但し、作成に利用する信頼度表には、他のノードから取得した信頼度表だけでなく、自らの保持する信頼度表も含まれる。【０１５９】
ノード信頼度リストの作成方法は、複数の信頼度表を一つにまとめればよい。例えば、複数の信頼度表に記載されているすべてのノードを適切な順序でリスト化し、その信頼度とともに記載すればよい。これらのノードがデータ分配先の候補となる。【０１６０】
但しその場合、複数の信頼度表に２回以上記載されるノードが存在することが生じ得る。ノード信頼度リストには、１台のノードは一度だけ記載されればよい。従って複数の信頼度表に記載されている場合は、次のようにして一つにまとめるとよい。ここで、ノード信頼度リストに記載の一つにまとめた信頼度を、各信頼度表に記載の信頼度と区別して、ノード信頼度と呼称することにする。【０１６１】
例えばノード信頼度の算出には、次のａからｄに示すような重み付け計算を用いる方法がある。
ａ  最も小さい（信頼度の低い）値を選択する。
ｂ  平均値をとる。
ｃ  同じノードが記載されている複数の信頼度表をそれぞれ保持する複数のノードから、最も信頼度の高いノードを選択し、そのノードが保持する信頼度表の値をとる。
ｄ  同じノードが記載されている複数の信頼度表をそれぞれ保持する複数のノードの信頼度を重みとして、それぞれのノードの保持する信頼度表の値を重み付け平均する。【０１６２】
次にステップＳ１６では、ノード信頼度が設定した信頼度許容範囲内にあるノードを抽出する。すなわち、信頼度算出部２０４は、信頼度保持部２０３のノード信頼度リストを参照し、データ操作部２０６から取得した信頼度許容範囲と比較照合することで、ノード信頼度が信頼度許容範囲内にあるノードを抽出する。【０１６３】
続いて、ステップＳ１７では、ステップＳ１６で抽出されたノードがあるかどうかを判定する。抽出されたノードが１台以上ある場合（ステップＳ１７：ＹＥＳ）は、ステップＳ１９に進み、分配先ノードを選択する処理を行う。抽出されたノードがない場合（ステップＳ１７：ＮＯ）は、ステップＳ１８に進み、信頼度表の取得範囲、または信頼度範囲の変更処理を行う。【０１６４】
ここでは、１台以上かどうかで判定したが、この台数は任意に設定すればよい。分配先ノードの選択であるから、データの分割数を最大値として適切に最低限必要な台数を設定すればよい。もちろん、必要な台数に足りなければ信頼度許容範囲外から選択してもよい。【０１６５】
抽出されたノードがない場合のステップＳ１８では、信頼度算出部２０４は、データ操作部２０６と連係して、ノード信頼度が信頼度許容範囲内にあるノード数を１台以上とするため、
（ａ）信頼度許容範囲を変更するか、
（ｂ）信頼度表の取得範囲を変更するか
を設定した上、ステップＳ１２に戻り、ステップＳ１７までを再度繰り返す。【０１６６】
但し、（ａ）の場合であればステップＳ１２で信頼度許容範囲を前回よりも広くし、ステップＳ１３からステップＳ１５までは前回と同様ということで省略してもよい。また（ｂ）の場合であれば、ステップＳ１２は前回と同様ということで省略し、ステップＳ１３で信頼度表を取得する範囲（ホップ数）を前回よりも拡げればよい。【０１６７】
もちろん、信頼度許容範囲と信頼度表の取得範囲の両方を変更してもよい。【０１６８】
抽出されたノードがある場合のステップＳ１９では、信頼度算出部２０４は、抽出したノードを優先的にデータ分配先ノードとして選択する。データ分配先ノードがまだ足りない場合は、ノード信頼度が信頼度許容範囲に近いノードを追加して選択してもよい。【０１６９】
選択されたデータ分配先ノードは、信頼度保持部２０３に保持される。【０１７０】
以上に示したように、ステップＳ１２からステップＳ１９に至る工程は分配先選択工程として機能する。【０１７１】
＜情報分配処理＞
最後にステップＳ２０では、分割データの分配処理を行う。すなわち、データ操作部２０６が信頼度算出部２０４からデータ分配先ノードの情報を取得し、データ保持部２０１に保持している分割データをデータ分配先ノードに割り振る。【０１７２】
それぞれのデータ分配先ノードに割り振られた分割されたデータは、データ作成部２０９に送られ、ネットワークパケットの形に成形され、データ送信部２１０から指定された分配先ノードへ送信される。【０１７３】
このように、ステップＳ２０は情報分配工程として機能する。【０１７４】
以上で、情報の性質の判断処理、情報分割処理、分配先選択処理、そして情報分配処理に至るまでの代表的な処理の流れ、すなわち全体としての情報分配配置処理の説明を終わる。【０１７５】
（情報分散配置処理例１）
以下、図１０から図１５を用いて情報分散配置処理例１を説明する。【０１７６】
図１０は、情報分散配置処理例１におけるネットワーク１の接続状態を示す図である。図３と同じ接続トポロジーを示すが、各ノード（ＰＣ１からＰＣ９）はそれぞれ信頼度表（表１から表９で表す）を保持している。【０１７７】
図１１に、各ノードの保持する信頼度表の記載内容を示す。ＰＣ１からＰＣ９の各ノードの保持する表１から表９の信頼度表が、図１１のＰＣ１信頼度表からＰＣ９信頼度表である。それぞれの信頼度表には、それぞれのノードが接続するノードの信頼度が０から１００の数値で示されている。【０１７８】
また図１０ではノードＰＣ９が、分散して保持する対象となるデータＡを保持している。データＡを３分割して分散保持することとする。各分割データをデータＡ−１、データＡ−２、データＡ−３とし、既に保持されているものとする。【０１７９】
データＡには、秘密性のレベルは指定されておらず、その拡張子から画像／暗号化データではなく、またテキストデータでもないデータとして、図９に従いデータ種類別の重要度レベルを「６」とした。また図９に従い、データは３分割、信頼度許容範囲は信頼度３４−６６とした。これは０から１００を３分割した真ん中を想定している。【０１８０】
データ分割数は３なので、データ分配先候補ノード数は３を十分上回る数としたい。図１０の接続形態を考慮して、信頼度表取得範囲は、ホップ数２までとする。【０１８１】
図１２にはホップ数２を信頼度表取得範囲とした場合の信頼度表を取得するノードの範囲を示す。ＰＣ９から見て、矢印を経由して到達できるのが、ホップ数２までのノードであり、自ノードを含めて６台のノードから信頼度表を取得することになる。【０１８２】
信頼度表には、それを保持するノードの接続先ノードの信頼度が記載されているため、データ分配先候補ノードとしては、ホップ数３までのノードが得られることになる。従ってこのネットワークの場合、ＰＣ１からＰＣ９のすべてのノードがデータ分配先候補となる。【０１８３】
ＰＣ９は、自らの保持する信頼度表以外に、図１２に示したＰＣ１、ＰＣ２、ＰＣ７、ＰＣ８のそれぞれ保持する信頼度表を取得する。【０１８４】
図１３には、ＰＣ９の取得した信頼度表の記載内容を示す。既に述べたように、これらの信頼度表にはＰＣ１からＰＣ９のすべてのノードが、その信頼度とともに記載されている。また、各信頼度表において下線を施したノードは、複数の信頼度表に記載のあるノードである。ノード信頼度リストを作成するには、これら同一のノードに対する複数の信頼度値を一つにまとめなければならない。【０１８５】
既に説明した重み付け計算を用いる方法のうち、ａ（最も小さい値を選択する）を採用して、ノード信頼度リストを作成する。【０１８６】
図１４には、作成したノード信頼度リストの内容を示す。ＰＣ１からＰＣ９のすべてのノードが、データ分配先候補のノードとしてノード信頼度とともに記載されている。下線を施したノードは、ノード信頼度が設定した信頼度許容範囲内にあるノードである。ここでは、ＰＣ１、ＰＣ３、ＰＣ６、ＰＣ７、ＰＣ９の５台が抽出されたノードである。【０１８７】
抽出されたノード数が、必要なデータ分配先ノード数３（分割数３による）を超えているので、これらのノードのうち任意の３台を選択すればよいが、ここでは効率を考慮してＰＣ９に近い（ホップ数の小さい）ノードとしてＰＣ１、ＰＣ７、ＰＣ９の３台を選択する。【０１８８】
図１５には、選択されたデータ分配先ノードに、ＰＣ９の保持するデータＡの分割データを振り分け、分配した状態を示す。分割データであるデータＡ−１、データＡ−２、データＡ−３が、それぞれデータ分配先ノードＰＣ９、ＰＣ１、ＰＣ７に振り分けられ、分配されている。【０１８９】
（情報分散配置処理例２）
以下、図１６から図２０を用いて情報分散配置処理例２を説明する。【０１９０】
図１６は、情報分散配置処理例２におけるネットワーク１の接続状態を示す図である。図３と同じ接続トポロジーを示すが、各ノードがそれぞれ信頼度表（表１から表９で表す）を保持しているのは、図１０の情報分散配置処理例１と同様である。【０１９１】
各ノードの信頼度表の記載内容は、図１１の情報分散配置処理例１の場合と同様であり、図は省略する。【０１９２】
また図１６ではノードＰＣ９が、分散して保持する対象となるデータＢを保持している。データＢを５分割して分散保持することとする。各分割データをデータＢ−１、データＢ−２、データＢ−３、データＢ−４、データＢ−５とし、既に保持されているものとする。【０１９３】
ここで、データＢは、その秘密性が「部外秘」として指定されており、その重要度レベルは図９に従えば「２」である。また図９に従って、分割数は５、信頼度許容範囲は信頼度６１−８０であるものとした。これは０から１００を５分割した上から２番目を想定している。【０１９４】
データ分割数は５なので、データ分配先候補ノード数は５を十分上回る数としたい。図１６の接続形態を考慮して、信頼度表取得範囲は、ホップ数３までとする。【０１９５】
図１７にはホップ数３を信頼度表取得範囲とした場合の信頼度表を取得するノードの範囲を示す。ＰＣ９から見て、矢印を経由して到達できるのが、ホップ数３までのノードであり、自ノードを含めてここでは９台すべてのノードから信頼度表を取得することになる。従ってこのネットワークの場合、ＰＣ１からＰＣ９のすべてのノードがデータ分配先候補となる。【０１９６】
ＰＣ９は、自らの保持する信頼度表以外に、図１７に示したすべてのノードがそれぞれ保持する信頼度表を取得する。【０１９７】
図１８には、ＰＣ９の取得した信頼度表の記載内容を示す。既に述べたように、これらの信頼度表にはＰＣ１からＰＣ９のすべてのノードが、その信頼度とともに記載されている。また、各信頼度表において下線を施したノードは、複数の信頼度表に記載のあるノードであり、ここではすべてのノードが該当する。ノード信頼度リストを作成するには、これら同一のノードに対する複数の信頼度値を一つにまとめなければならない。【０１９８】
既に説明した重み付け計算を用いる方法のうち、ｂ（平均値をとる）を採用して、ノード信頼度リストを作成する。【０１９９】
図１９には、作成したノード信頼度リストの内容を示す。但し、平均値計算で小数点以下は切り捨てた。ＰＣ１からＰＣ９のすべてのノードが、データ分配先候補のノードとしてノード信頼度とともに記載されている。【０２００】
しかしながら信頼度許容範囲である信頼度６１−８０と照合すると、ノード信頼度が信頼度許容範囲内であるノードは１台も存在しないことが分かる。【０２０１】
抽出されたノードが存在しない場合の処置として、ここでは信頼度許容範囲の変更を行う。信頼度６１−８０を信頼度５１−８０に拡げることとした。【０２０２】
ノード信頼度リストはそのままで、再度頼度許容範囲内であるノードの抽出を行った。【０２０３】
図１９で下線を施したノードが、ノード信頼度が変更した信頼度許容範囲内にあるノードであり、ここでは、ＰＣ６、ＰＣ７、ＰＣ９の３台が抽出された。【０２０４】
抽出されたノード数は、必要なデータ分配先ノード数５（分割数５による）をまだ満たさないので、これらのノード以外に任意の２台を選択する必要がある。残りの２台として、ノード信頼度が信頼度許容範囲外であるが、信頼度許容範囲に最も近いノードを選択することにした。結果は、ＰＣ２とＰＣ５である。【０２０５】
よってデータ分配先ノードとして選択されたのは、ＰＣ２、ＰＣ５、ＰＣ６、ＰＣ７、ＰＣ９である。【０２０６】
図２０には、選択されたデータ分配先ノードに、ＰＣ９の保持するデータＢの分割データを振り分け、分配した状態を示す。分割データであるデータＢ−１、データＢ−２、データＢ−３、データＢ−４、データＢ−５が、それぞれデータ分配先ノードＰＣ９、ＰＣ２、ＰＣ５、ＰＣ６、ＰＣ７に振り分けられ、分配されている。【０２０７】
このように本実施形態にかかる情報の管理方法、及びノードとしての情報処理装置によれば、ネットワーク上の複数のノードに情報を分割して分配するに際して、次のように処理することになる。すなわち、各ノードの物理的情報に基づき算出された信頼度が、保持する情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを、分配先ノードとして優先的に選択し、分配する。これにより、ネットワーク上の複数のノードに分散して保持された情報に対して、分散された情報の一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制でき、分散された情報を効率よく利用することができる。【０２０８】
なお本発明の範囲は、上記実施形態に限定されるものではない。本発明の趣旨を逸脱しない限り、それらの変更された形態もその範囲に含むものである。
【図８】
2008056507.tif 000003
【図９】
2008056507.tif 000004
【図１】
2008056507.tif 000005
【図２】
2008056507.tif 000006
【図３】
2008056507.tif 000007
【図４】
2008056507.tif 000008
【図５】
2008056507.tif 000009
【図６】
2008056507.tif 000010
【図７】
2008056507.tif 000011
【図１０】
2008056507.tif 000012
【図１１】
2008056507.tif 000013
【図１２】
2008056507.tif 000014
【図１３】
2008056507.tif 000015
【図１４】
2008056507.tif 000016
【図１５】
2008056507.tif 000017
【図１６】
2008056507.tif 000018
【図１７】
2008056507.tif 000019
【図１８】
2008056507.tif 000020
【図１９】
2008056507.tif 000021
【図２０】
2008056507.tif 000022
【国際調査報告】
2008056507.tif 000023
2008056507.tif 000024
2008056507.tif 000025
2008056507.tif 000026