JPWO2008056507A1 - 情報の管理方法及び情報処理装置 - Google Patents
情報の管理方法及び情報処理装置 Download PDFInfo
- Publication number
- JPWO2008056507A1 JPWO2008056507A1 JP2008543017A JP2008543017A JPWO2008056507A1 JP WO2008056507 A1 JPWO2008056507 A1 JP WO2008056507A1 JP 2008543017 A JP2008543017 A JP 2008543017A JP 2008543017 A JP2008543017 A JP 2008543017A JP WO2008056507 A1 JPWO2008056507 A1 JP WO2008056507A1
- Authority
- JP
- Japan
- Prior art keywords
- information
- reliability
- node
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本発明は、ネットワーク上の複数のノードに分散して保持された情報を効率よく利用することができながら、分散されたデータの一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制できる情報の管理方法、及びノードとしての情報処理装置を提供する。本発明の情報の管理方法では、ネットワーク上の複数のノードに情報を分割して分配するに際して、各ノードの物理的情報に基づき算出された信頼度が、保持する情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを、分配先ノードとして優先的に選択し、分配する。
Description
本発明は、情報を分割し、複数のノード間で分散して保持するネットワークにおける情報の管理方法、及びネットワークを構成するノードとしての情報処理装置に関する。
近年、ネットワークを構成する任意のノード間で自由にデータの送受信を行うような通信形態を有するネットワークが盛んに利用されるようになってきた。
従来は、中央にホストの役目を担ったサーバなどがあり、クライアントとしての各端末が、それぞれホストサーバにアクセスし、端末間でやり取りが必要であれば、ホストサーバが仲介して行うというタイプの中央集中処理型のネットワークが主流であった。
これに対して、いわゆる分散処理型のネットワークが徐々に登場してきている。保存する情報を分散する、またその処理を分散するといった機構を実現するためには、通信の機能も分散しなければならない。すなわち、ネットワークを構成する各ノード間で、自由にデータ通信が行われなければならない。
代表的な形態として、P2P(Peer to Peer)と呼ばれる通信ネットワークの形態がある。P2Pは不特定多数のノード間で直接情報のやり取りを行うネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの2種類がある。
中央サーバを要する場合にも、中央サーバはファイル検索データベースの提供とノードの接続管理のみを行っており、データ自体のやり取りはノード間の直接接続によって行われている。
こういった分散処理のネットワーク形態を効率的に達成する技術が研究され、任意のノード間でデータを分散して保持し、互いにデータ送受信を行うシステムが形成されている。
これらにより、ネットワークシステムの利用形態としての自由度は向上し、ユーザは大きな利便性を手に入れた。また、任意のノード間で分割されたデータを分散保持することにより、セキュリティを向上することができる。
例えば上記P2Pのネットワークシステムにおいては、SSL通信などで互いのデータ送受信は機密性が守られており、分割されたデータが分散され保持されているノードすべてに第三者がアクセスすることは困難である。また一部のデータが漏れることがあっても、分散されたデータの全体に対しては安全が保たれ、情報漏洩などによるリスクを最小限に抑えることができる。
しかしながら一方では、データを分散して保持することは、データを集中管理するのと比較すると、効率という点からは負担となってしまう場合もある。
例えば、分割されたデータを分散して保持するとすれば、ネットワークの規模が大きければ大きいほどデータを広く分散させることができ、セキュリティ面では向上するが、広く分散されたデータを、ユーザは収集して復元処理しなければならない。従来のように特定のサーバにアクセスすれば、それを取得できるという訳にはいかない。
広いネットワーク上から分散している必要なデータを収集してくるには、ネットワークと各ノードにそれなりの負担を掛けることになり、待たされたり、場合によっては受信できないといった障害が起こったりする可能性もある。また、多数のノードに分散して保持すること自体、一部のノードに接続停止などの障害が生じてしまうと、全体のデータを取得できなくなってしまうといった危険性もはらんでいる。
こういったデータの分散保持に伴うリスクを如何に軽減するかが、今後重要な課題となる。
例えば、特許文献1では、各ノードのCPU使用率やメモリ使用率などの物理的情報に基づいて信頼度を算出し、各ノードの信頼度に基づいて接続管理を行う技術が提案されている。ノード間の送受信が最も効率的になされるように、ノード間の接続が自己組織的に形成されるというものである。
しかしながら、この場合も接続管理、すなわちネットワークの接続のトポロジーを各ノードの信頼度に応じて最適化しているのみであり、実際のデータ分散処理に対して最適であるとは限らない。
すなわち、実際にどういう通信が行われるかは、データをどのように分散保持し、どのように分散データを収集するかに依存するのであり、そういったデータ分散処理と各ノードの信頼度とを適合させるよう、処理を行うべきである。
特開2005−252596号公報
ネットワークの接続形態を各ノードの信頼度に応じて最適化しても、例えば、たまたま信頼度の低いノードにデータを分散すると、いくら接続管理を適正化しても、障害の生ずる可能性は少なからずある。
また、だからといって、逆に意図的に信頼度の高いノードにデータ分散するようにすると、信頼度の高いノードに負荷が集中することが起こりやすくなり、かえって非効率になる可能性もある。
本発明の目的は、上記の課題を解決し、分割され、ネットワーク上の複数のノードに分散して保持された情報を効率よく利用することができながら、分散されたデータの一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制できる情報の管理方法、及びノードとしての情報処理装置を提供することである。
上記の課題を解決するために、本発明は以下の特徴を有するものである。
1. 情報を分割して複数のノードに分配して保持するネットワークシステムにおける情報の管理方法であって、前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割工程と、前記情報分割工程によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択工程と、前記分配先選択工程により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配工程と、を有することを特徴とする情報の管理方法。
2. 前記分配先選択工程では、分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードが選択されることを特徴とする1に記載の情報の管理方法。
3. 前記ノード信頼度リストは、複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて作成されることを特徴とする2に記載の情報の管理方法。
4. 前記信頼度表は、当該信頼度表を保持するノードの接続先のノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出されたそれぞれの接続先ノードの信頼度を含むことを特徴とする3に記載の情報の管理方法。
5. 前記信頼度表は、それぞれの接続先ノードについての信頼度として、接続先ノードによってその物理的情報をもとに算出された値を含むことを特徴とする3に記載の情報の管理方法。
6. 前記ノード信頼度リストは、前記分割情報を分配するノードによって作成されることを特徴とする2に記載の情報の管理方法。
7. 前記ノード信頼度リストは、前記分割情報を分配するノードによって他のノードから取得されることを特徴とする2に記載の情報の管理方法。
8. 前記ノード信頼度リストは、前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードが選択され、該複数のノードの保持する前記複数の信頼度表に基づいて作成されることを特徴とする3に記載の情報の管理方法。
9. 前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて当該ノードの信頼度が算出されることを特徴とする3に記載の情報の管理方法。
10. 前記ノード信頼度リストは、所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に再作成されることを特徴とする3に記載の情報の管理方法。
11. 前記物理的情報は、それぞれのノードにおける、CPUのスペック情報、CPUの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも1つ以上を含むことを特徴とする1に記載の情報の管理方法。
12. 前記信頼度許容範囲は、前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて予め設定されることを特徴とする1に記載の情報の管理方法。
13. 情報を分割して複数のノードに分配して保持するネットワークシステムにおけるノードとしての情報処理装置であって、前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割手段と、前記情報分割手段によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択手段と、前記分配先選択手段により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配手段と、を有することを特徴とする情報処理装置。
14. 前記分配先選択手段は、分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードを選択することを特徴とする13に記載の情報処理装置。
15. 前記分配先選択手段は、複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて前記ノード信頼度リストを作成することを特徴とする14に記載の情報処理装置。
16. 前記分配先選択手段は、接続先ノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出した接続先ノードの信頼度を含む前記信頼度表を保持することを特徴とする15に記載の情報処理装置。
17. 前記分配先選択手段は、接続先ノードによってその物理的情報をもとに算出された値を、その接続先ノードについての信頼度として含む前記信頼度表を保持することを特徴とする15に記載の情報処理装置。
18. 前記分配先選択手段は、前記ノード信頼度リストを自ら作成することを特徴とする14に記載の情報処理装置。
19. 前記分配先選択手段は、前記ノード信頼度リストを他のノードから取得することを特徴とする14に記載の情報処理装置。
20. 前記分配先選択手段は、前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードを選択し、該複数のノードの保持する前記複数の信頼度表に基づいて、前記ノード信頼度リストを作成することを特徴とする15に記載の情報処理装置。
21. 前記分配先選択手段は、前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて、前記ノード信頼度リストにおける当該ノードの信頼度を算出することを特徴とする15に記載の情報処理装置。
22. 前記分配先選択手段は、所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に、前記ノード信頼度リストを再作成することを特徴とする15に記載の情報処理装置。
23. 前記物理的情報は、それぞれのノードにおける、CPUのスペック情報、CPUの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも1つ以上を含むことを特徴とする13に記載の情報処理装置。
24. 前記分配先選択手段は、前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて、前記信頼度許容範囲を予め設定することを特徴とする13に記載の情報処理装置。
本発明にかかる情報の管理方法、及びノードとしての情報処理装置によれば、ネットワーク上の複数のノードに情報を分割して分配するに際して、次のように処理する。すなわち、各ノードの物理的情報に基づき算出された信頼度が、保持する情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを、分配先ノードとして優先的に選択し、分配する。これにより、ネットワーク上の複数のノードに分散して保持された情報に対して、分散された情報の一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制でき、分散された情報を効率よく利用することができる。
1 ネットワーク(P2P)
2 端末装置(ノード)
3 スイッチングハブ
4 ルータ
5 認証サーバ
201 データ保持部
202 信頼度表保持部
203 信頼度保持部
204 信頼度算出部
205 信頼度表操作部
206 データ操作部
207 データ受信部
208 データ解析部
209 データ作成部
210 データ送信部
211 その他情報保持部
212 その他操作部
TL 接続テーブル
2 端末装置(ノード)
3 スイッチングハブ
4 ルータ
5 認証サーバ
201 データ保持部
202 信頼度表保持部
203 信頼度保持部
204 信頼度算出部
205 信頼度表操作部
206 データ操作部
207 データ受信部
208 データ解析部
209 データ作成部
210 データ送信部
211 その他情報保持部
212 その他操作部
TL 接続テーブル
以下に、図を参照して本発明に係る実施形態を説明する。
(ネットワークの全体構成)
図1は本実施形態に係る情報の管理方法、及び情報処理装置により構成されるネットワーク1の全体的な構成の例を示す図である。図1を用いて本発明の実施形態に係るネットワーク1について、その全体構成を説明する。
図1は本実施形態に係る情報の管理方法、及び情報処理装置により構成されるネットワーク1の全体的な構成の例を示す図である。図1を用いて本発明の実施形態に係るネットワーク1について、その全体構成を説明する。
ネットワーク1は、図1に示すように、複数台の端末装置2(21、22、…、2n)、スイッチングハブ3、ルータ4、および認証サーバ5などのノードによって構成されるLAN(Local Area Network)である。これらの端末装置2は、スイッチングハブ3にツイストペアケーブルによってスター型に繋がれている。
ネットワークを構成するノードとしての端末装置2は、情報処理装置であり、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間でデータの入出力の処理を実行する装置である。以下、ノードといえば単にこの端末装置のことを指し、情報処理装置としてのパーソナルコンピュータが用いられるものとして説明する。
また本実施形態では、P2P(Peer to Peer)と呼ばれる通信ネットワークの形態を採っている。P2Pは不特定多数のノード間で直接情報のやり取りを行うネットワークの利用形態であり、技術的に中央サーバの媒介を要するものと、バケツリレー式にデータを運ぶものの2種類がある。
本実施形態では、中央サーバは用いず、後で図3の接続トポロジーを説明するが、予め関連付けられたノード(端末装置)2間では直接接続を行い、通信する。その他のノードとは、直接接続したノードを介して間接的に接続することになる。認証サーバ5は認証のための証明書に関わる管理のみを担い、通信のための接続には直接関わらない。またルータ4もノード(端末装置)間の通信には直接関与しない。
P2Pでは、直接ノード同士が通信するため、如何にお互いの正当性を認証するか、不正の入り込む余地を抑制するかというセキュリティが重要である。そのために認証サーバ5の発行するディジタル証明書を用いる。後述するSSL通信においては、X.509仕様のディジタル証明書が使用される。
ディジタル証明書の有効期間を過ぎたり、秘密鍵の紛失や盗難などでそのディジタル証明書の信頼性が損なわれると、認証局は証明書失効リスト(CRL:Certificate Revocation List)に掲載し、公開することにより失効させる。
以下、上記の観点から、本実施形態に係るネットワークにおいて、各ノードで分散して保持する情報について、セキュリティを保持しながら、これらのノード2同士がデータ通信を行い、効率的に利用できるよう、各ノードの信頼度に応じて、情報を分割して、分配先ノードを決定し、分配配置する場合について説明する。
(端末装置の構成)
図2はノード(端末装置)2のハードウェア構成の例を示す図である。
図2はノード(端末装置)2のハードウェア構成の例を示す図である。
端末装置2は、図2に示すように、CPU20a、RAM20b、ROM20c、ハードディスク20d、通信インタフェース20e、画像インタフェース20f、入出力インタフェース20g、その他の種々の回路または装置などによって構成される。
通信インタフェース20eは、例えばNIC(Network Interface Card)であって、ツイストペアケーブルを介してスイッチングハブ3のいずれかのポートに繋がれている。画像インタフェース20fは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。
入出力インタフェース20gは、キーボード若しくはマウスなどの入力装置またはCD−ROMドライブなどの外部記憶装置などと繋がれている。そして、ユーザが入力装置に対して行った操作の内容を示す信号を入力装置から入力する。または、CD−ROMなどの記録媒体に記録されているデータを外部記憶装置に読み取らせ、これを入力する。または、記録媒体に書き込むためのデータを外部記憶装置に出力する。
ハードディスク20dには、後で機能ブロック図(図5)を用いて説明するが、データ保持部201、信頼度表保持部202、信頼度保持部203、信頼度算出部204、信頼度表操作部205、データ操作部206、データ受信部207、データ解析部208、データ作成部209、データ送信部210、その他情報保持部211,及びその他操作部212などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてRAM20bに読み出され、CPU20aによってプログラムが実行される。
各ノード2には、それぞれ、他のノード2との識別のために、ホスト名(マシン名)、IPアドレス、およびMACアドレスが与えられている。ホスト名は、ネットワーク1の管理者などが自由に付けることができる。IPアドレスは、ネットワーク1の規則に従って与えられる。MACアドレスは、そのノード2の通信インタフェース10eに対して固定的に与えられているアドレスである。
本実施形態では、ノード(端末装置)21、22、…ごとに「PC1」、「PC2」、…のようなホスト名が付されているものとする。以下、これらのノード2をホスト名によって記載することがある。
(ノードの接続形態)
図3はノードの接続形態、すなわち端末装置2の論理的なトポロジーの例を示す図である。図3を用いてノード(端末装置)の接続形態を説明する。
図3はノードの接続形態、すなわち端末装置2の論理的なトポロジーの例を示す図である。図3を用いてノード(端末装置)の接続形態を説明する。
ノード2は、図3に示すように、仮想空間に配置されているものと仮想されている。そして、点線で示すように、仮想空間内の近隣の少なくとも1台の他のノード2と関連付けられている。かつ、これらの関連付けによって、すべてのノード2が互いに直接的にまたは間接的に関連するようになっている。
なお、「直接的に関連」とは、図3において1本の点線で繋がれていること(例えば、図3のPC1とPC2またはPC9とのような関係)を言い、「間接的に関連」とは、2本以上の点線および1つ以上のノードで繋がれていること(例えば、図3のPC1とPC4とのような関係)を言う。ノード2は、自らに直接的に関連付けられている他のノード2に対してデータを送信する。
「直接的に関連」あるいは「間接的に関連」といった関連の度合いは接続の「ホップ数」としても表現される。図3でいうと1本の点線で繋がれている場合はホップ数1であり、2本以上の点線で繋がれている場合は、最短経路の本数がホップ数である。
すなわち、ここでは、
ホップ数=相手方ノードまでの最短経路において経由するノードの数+1
となる。但し、ホップ数としてルータを超えた回数を採用することもできる。
ホップ数=相手方ノードまでの最短経路において経由するノードの数+1
となる。但し、ホップ数としてルータを超えた回数を採用することもできる。
図4は、図3のように関連付けられたノード2の接続テーブルTLの例を示す図である。各ノード2毎に、直接データ送信可能な、ホップ数1の、すなわち「直接的に関連」付けられている他のノード2との接続のための情報のリストをテーブル化して保持している。
例えば、図3におけるPC1、PC2、PC6、PC7、PC8、およびPC9には、それぞれ図4に示すような接続テーブルTL1、TL2、TL6、TL7、TL8、およびTL9が保存されている。
(端末装置の各部の機能)
図5はノード(端末装置)2の機能的構成の例を示すブロック図である。図5を用いてノード2の各部の処理機能について説明する。
図5はノード(端末装置)2の機能的構成の例を示すブロック図である。図5を用いてノード2の各部の処理機能について説明する。
まず、データの分散保持に関わる処理以外の処理機能について説明する。
その他情報保持部211は、そのノード2またはユーザなどの属性を示す属性データ、そのノード2自身のディジタル証明書、失効リスト(CRL)、オペレーティングシステム(OS)またはアプリケーションソフトなどが使用するデータ、ユーザがアプリケーションソフトによって作成したデータ、その他種々のデータを、ファイルとして保存している。
ディジタル証明書は、ノード2の要請により認証サーバ5が発行し、当該ノード2が保持し、ノード2同士の通信時に互いを認証するのに利用される。失効リスト(CRL)は、ノードの脱退などによるディジタル証明書の失効を登録記載するもので、認証サーバ5が管理するが、P2P通信を行う本実施形態では、各ノード2がそれぞれ失効リスト(CRL)を保持し、更新などの管理を行う。
また、その他情報保持部211は、そのノード2自身に直接的に関連付けられている他のノード2のホスト名、IPアドレス、およびMACアドレスなどの属性の一覧を示す接続テーブルTLを保存している。例えば、図3におけるPC1、PC2、PC6、PC7、PC8、およびPC9の接続テーブル保持部201に、それぞれ接続テーブルTL1、TL2、TL6、TL7、TL8、およびTL9が保存されている例を、図4を用いて既述した。これらの接続テーブルTLの内容は、各ノード2の関連付けに基づいて管理者によって予め作成される。
その他操作部212は、上記その他情報保持部211に保持される接続テーブルTLの管理を行う。
また、その他操作部212は、その他情報保持部211にデータを保存し、または保存されているデータを更新するなどの処理を行う。例えば、ノード2の環境または設定内容が変わるごとに、属性データを更新する。または、失効リスト(CRL)を更新する処理を行う。
また、その他操作部212は、他のノード2から送信されて来たディジタル証明書などに基づいて当該他のノード2の認証の処理を行う。また送信されて来たディジタル証明書が失効していないかどうかを、その他情報保持部211に保存されている失効リスト(CRL)を参照して確認する。また、当該ノード2が新たにネットワークに参加、もしくは脱退しようとする場合の処理などを行う。
その他操作部212は、必要に応じてデータ受信部207、データ送信部210を介してネットワーク1の他のノード2とデータ通信を行い、また必要に応じてその他情報保持部211のデータを参照、あるいは更新する。
データ受信部207は、他のノード2とデータ通信を行うための制御処理を行う。データ受信部207は、ネットワーク1を流れるパケットのうち、そのノード2に必要なものを受信する。
データ解析部208は、データ受信部207が受信した受信データから必要な情報を抽出してその内容を解析することによって、その受信データの種類を判別する。
データ作成部209は、その他操作部212の指示に基づいて、他のノード2に送信するための送信データを作成する。
データ送信部210は、送信データ作成部209によって生成され、パケット化された送信データを他のノード2に送信する。
<情報分割、分配先選択、及び情報分配に関わる機能>
次に、同じく図5を用いて情報を分散して保持するに際しての、分配配置処理、すなわち情報分割、分配先選択、及び情報分配に関わる処理機能について説明する。
次に、同じく図5を用いて情報を分散して保持するに際しての、分配配置処理、すなわち情報分割、分配先選択、及び情報分配に関わる処理機能について説明する。
なお以降の説明では、分割され、各ノードに分配され、分散保持される情報のことをすべてデータと呼称し、説明する。
データ操作部206は、データ(情報)を参照し、分散配置するために分割する処理、決定した分配先ノードに分配する処理、また分配を受けたときには、データ保持部201に保持する処理等を行う。すなわち、データ操作部206は情報分割手段、及び情報分配手段として機能する。
また分散して保持されたデータの利用時には、各分配先ノードにアクセスして分割されたデータを収集し、復元する処理も行う。
データ保持部201は、データ操作部206の処理の対象となるデータ、あるいは分割されたデータを保持する。
信頼度表操作部205は、例えば分配先候補ノードの範囲を設定し、その範囲のノードから信頼度表を収集する処理、及び自らの保持する信頼度表を作成する処理を行う。信頼度表作成は、信頼度算出部204より接続先ノードの信頼度算出結果を取得し、作成する。信頼度表については後述する。
信頼度算出部204は、接続先ノードから物理的情報を取得し、信頼度を算出する処理、及び信頼度表操作部205から複数の分配先候補ノードの信頼度表を取得し、ノード信頼度リストを作成する処理、あるいは他のノードからノード信頼度リストを取得する処理、及びノード信頼度リストから分配先ノードを選択する処理を行う。詳細は後述する。
また信頼度表保持部202は、信頼度表操作部205の処理対象である複数の分配先候補ノードの信頼度表を保持する。信頼度表は、そのノードの接続先ノードの信頼度に関する情報を含む。
また信頼度保持部203は、信頼度算出部204の処理対象であるノード信頼度リストとその作成に必要な情報とを保持する。また場合によっては、接続先ノードから入手した信頼度や物理的情報なども保持する。
従って、信頼度表操作部205、信頼度算出部204、信頼度保持部203、信頼度表保持部202は、分配先選択手段として機能する。
データ操作部206、信頼度表操作部205、信頼度算出部204は、必要に応じてデータ受信部207、データ送信部210を介してネットワーク1の他のノード2とデータ通信を行い、また必要に応じてデータ保持部201、信頼度表保持部202、信頼度保持部203のデータを参照、あるいは更新する。
(ノード間のSSL通信)
ところで、本実施形態におけるノード2は、直接的にまたは間接的に関連付けられたノード2との間でSSL(Secure Sockets Layer)通信を行うことができる。SSLは、ディジタル証明書を用いて暗号化を行うことにより、ネットワーク上でデータを安全に送受信するためのプロトコルである。本実施形態におけるSSL通信のコネクションを確立する処理の流れについて、以下に説明する。
ところで、本実施形態におけるノード2は、直接的にまたは間接的に関連付けられたノード2との間でSSL(Secure Sockets Layer)通信を行うことができる。SSLは、ディジタル証明書を用いて暗号化を行うことにより、ネットワーク上でデータを安全に送受信するためのプロトコルである。本実施形態におけるSSL通信のコネクションを確立する処理の流れについて、以下に説明する。
なお、一般的なディジタル証明書および失効リスト(CRL)の標準仕様は、ITU(International Telecommunication Union)によってX.509として定められている。以下のSSL通信の説明においては、ディジタル証明書をX.509証明書と呼称する。
図6はSSL通信のコネクションを確立する際の処理の流れの例を説明するための図である。図3のノード、例えばPC1とPC2とが目的の通信を行おうとする場合を例に、図6を参照しながらさらに詳細に説明する。
SSL通信のコネクションを確立する前段階として、接続自体の確立が行われる。まず、例えばPC1において、PC2と通信を行いたい旨のコマンドをユーザがキーボードなどを操作して入力したとする。すると、データ作成部209は接続要求データを作成し、データ送信部210はその接続要求データを他方のノードPC2に対して送信する。
そうすると、PC2において、データ受信部207はPC1からの接続要求データを受信し、データ解析部208はそのデータの種類を解析する。ここでは、当然、接続要求データであると解析される。データ作成部209は接続を許可する旨を示す接続許可データを生成し、PC1に送信する。
PC1のデータ受信部207によって接続許可データが受信され、その後所定の処理が行われると、PC1とPC2とが接続される。但し、この時点では、まだSSL通信のコネクションは確立されておらず、この後SSL通信のコネクション確立のフローに入る。
まず、PC1およびPC2のうちのいずれか一方において、データ作成部209は対応可能なSSLのバージョンを示すSSLバージョンデータを生成し、データ送信部210はこれを他方に送信する(ステップS1)。図6では、PC1がPC2に対してSSLバージョンデータを送信したものとする。
そうすると、PC2において、データ受信部207がSSLバージョンデータを受信し、データ解析部208はそのデータの種類を解析し、データ作成部209はSSLバージョンデータに示されるバージョンのうちPC2で対応可能なバージョンを1つ選択し、これを示すSSLバージョン選択データを生成する。そして、データ送信部210は、これをPC1に送信する(ステップS2)。
PC1において、PC2からのSSLバージョン選択データがデータ受信部207によって受信されると、それに示されるバージョンのSSLを、目的の通信のためのプロトコルとして採用することに決定する。PC2においても、同様に決定する。
次いでPC2において、X.509ディジタル証明書をPC1に送信する。このX.509証明書が周知の認証サーバ5によって署名されたものでなければ、そこに達するまでの証明書のチェーンも送信する。PC1においては認証サーバ5自身を証明するルート証明書を予め保持しており、そのなかにPC2から受信したX.509証明書を署名したものがあるかどうかを検証する。また当該証明書が、その署名を行った認証サーバ5の発行した証明書失効リスト(CRL)に記載がないかどうかを確認し、もし記載があればこの時点で通信を終了する(ステップS3)。
上記認証処理をクリアすれば、この後、PC2は、応答終了の旨をPC1に対して通知する(ステップS4)。
PC2からの応答終了の通知を受けて、PC1は、SSL通信で使用する共通鍵を生成するために、384ビットのランダムな値であるプリマスターキーを生成する。PC1のデータ作成部209は、プリマスターキーを、PC2より受け取ったX.509証明書に含まれるPC2の公開鍵によって暗号化してPC2に送信する(ステップS5)。
また、PC1はこのプリマスターキーを基に、実際にデータの暗号化に使用する共通鍵を生成して、通信用の暗号鍵をその共通鍵に切り替えるように制御を行う。また暗号鍵を切り替える旨の暗号切り替え通知をPC2に送信する(ステップS6)。
PC1からの暗号切り替え終了の通知を受けると(ステップS7)、PC2においても、暗号鍵の切り替えを行うべく、PC1に暗号切り替えの通知を送信する(ステップS8)。PC2のデータ受信部207は、PC1から受信した自らの公開鍵で暗号化されたプリマスターキーを、対応する自らの秘密鍵で復号する。データ解析部208がこれを解析することによってデータの種類がプリマスターキーであることを確認すると、データ操作部204は、受信したプリマスターキーを基に共通鍵を生成し、以後、PC1との間ではその共通鍵による暗号化通信が行われるように制御を行う。つまり、暗号鍵の切替えを行う。
PC2は、上記暗号鍵の切り替えを終了すると、PC1に暗号切り替え終了の通知を送信する(ステップS9)。
以上の処理によって、PC1とPC2との間でSSL通信のコネクションが確立される。これにより、目的の通信を安全に行うことができる。
なお、上述したコネクションの確立は、PC2のX.509証明書をPC1が確認する場合を示したが、同時にPC1のX.509証明書をPC2が確認する場合もある。これをSSLクライアント認証通信と呼ぶ。
このSSLクライアント認証通信をPC同士、および認証サーバとの間で行うためには、各々がX.509証明書を保持している必要があり、また証明書を検証するためにルート証明書も保持している必要がある。
このようにして、ネットワーク1の各ノード2は、互いに認証されたノードとして安全に通信する動作を果たすことができる。
(情報の分散保存とノードの信頼度)
本実施形態に係るネットワーク1では、上述したように接続テーブルTLにより規定された「関連付けられた」ノード(端末装置2)間で相互認証し、SSL通信を確立して、互いにデータの送受信を行う。
本実施形態に係るネットワーク1では、上述したように接続テーブルTLにより規定された「関連付けられた」ノード(端末装置2)間で相互認証し、SSL通信を確立して、互いにデータの送受信を行う。
こういった通信をベースにして、分割されたデータが各ノードに分配され、保持されることにより、また分散保持されたデータが検索、収集されることにより、任意のノードで分散したデータを利用することが可能となる。
また、こういった通信により、分散データのセキュリティが維持される。
例えば本実施形態に係るP2Pのネットワークシステム1においては、任意のノード間でのデータ通信が可能であり、データの分散保持が容易である。また、前述したSSL通信などで互いのデータ送受信は機密性が守られており、データが分散され保持されているノードすべてに第三者がアクセスすることは困難である。また一部のデータが漏れることがあっても、分散されたデータの全体に対しては安全が保たれ、情報漏洩などによるリスクを最小限に抑えることができる。
<信頼度、物理的情報、信頼度表、信頼度許容範囲について>
ここでいう信頼度とは物理的信頼度であり、処理性能、及び接続に関わる障害の発生度合いに関するものである。本実施形態では、後述するように、各ノードのこういった信頼度に基づき、分配先ノードを選択することで、そういった障害の発生を抑制している。
ここでいう信頼度とは物理的信頼度であり、処理性能、及び接続に関わる障害の発生度合いに関するものである。本実施形態では、後述するように、各ノードのこういった信頼度に基づき、分配先ノードを選択することで、そういった障害の発生を抑制している。
本実施形態では、信頼度を各ノードの物理的情報から算出する。物理的情報としては、例えばCPUのスペック情報、CPUの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報等を用いればよい。これらの物理的情報から信頼度を算出する事例が、特許文献1(特開2005−252596号公報)に示されている。
また、物理的情報として、さらに地理的要素、専用ハードウェア利用状況、メンテナンス状況などを含めてもよい。地理的要素とは、例えば海外とのネットワークなどで電力供給の安定性に違いがあるなどの要素である。専用ハードウェア利用状況とは、例えば暗号(復号)化処理が可能か、画像処理用かなど、そのデータにあった専用処理機能を有するかといった要素である。またメンテナンス状況は、例えば定期的にメンテナンスが行われているか、メンテナンスが頻発していないかといった要素である。
信頼度は、処理性能、及び接続に関わる障害の発生度合いに関するものであり、それに影響する上述のような物理的情報を任意に設定し、その影響を最も反映するように自由に信頼度の算出方法を設定してもよい。
本実施形態では、上述のように予め定めた物理的情報と算出方法を用いて求めた各ノードの信頼度を、その接続先のノードが信頼度表に記載して、保持する形態としている。つまり、各ノードの保持する信頼度表には、そのノードの「直接関連付けられた」接続先ノードの信頼度が記載されている。
本実施形態では、データの分配先を選択するに当たり、各ノードの保持するそれらの信頼度表を必要な範囲で取得して、データ分配先候補のノード信頼度リストを作成し、このノード信頼度リストを参照することにより、データ分配先ノードを選択する。
これによって、信頼度の低いノードにデータの一部が分配され、データの取得に手間取ったり、最悪の場合はそのデータの一部が消失してしまったりといった障害の発生を抑制することができる。
但し、本実施形態では、上述のようにノード信頼度リストを作成して求めた各ノードの信頼度に応じて、分配先ノードを選択するが、単純に上記信頼度の高いノードを選択するような手法はとらない。
信頼度の高いノードに優先的に割り振ると、どうしても信頼度の高いノードにデータが分配される機会が多くなり、かえって負担の増大による処理効率の低下や障害の発生のリスク増加を招くことになってしまう。
本実施形態では、分散して保持するデータの性質に応じて、そのデータを分配する分配先ノードの信頼度許容範囲を設定し、その範囲内の信頼度を有するノードを優先的に分配先ノードとして選択する。
データの性質とは、例えば、データの重要度であったり、そのデータの処理に対する計算量であったりする。画像や暗号化データなど処理時の計算量を要するものは、処理能力の高いノードを選択すべきであるし、重要度が高く、データの遅延や、破損などを回避しなければならないものは、接続時の障害などの発生確率の低いノードを選択すべきである。
本実施形態では、このような信頼度と、負荷の集中を防ぐバランスから、上記データの性質に応じて予め適切な信頼度許容範囲を設定して、高過ぎも低過ぎもしない適切な信頼度の分配先ノードを優先的に選択する。
以下に、分配配置処理、すなわちデータの性質を判断し、それに基づいてデータを分割し、信頼度許容範囲を設定し、ノードの信頼度に基づき分配先ノードを選択し、分配する処理の全体的な流れについて説明する。
(情報分散配置の全体処理例)
図7は、情報分割処理から、分配先選択処理、そして情報分配処理に至るまでの代表的な処理の流れを示すフローチャートである。図8は、情報の分割処理、分配先選択処理のために、データの性質を判断する処理の流れを示すフローチャートである。
図7は、情報分割処理から、分配先選択処理、そして情報分配処理に至るまでの代表的な処理の流れを示すフローチャートである。図8は、情報の分割処理、分配先選択処理のために、データの性質を判断する処理の流れを示すフローチャートである。
図8を用いて、データの性質の判断処理を説明し、引き続き図7を用いて、全体としての分配配置処理例を説明する。適宜図5を参照する。
<データの性質判断処理>
図8のフローチャートにおいて、データを保持するノードは、まずデータの性質を判断し、データの重要度レベルを設定する。データの性質は、ここでは、データの秘密性の度合いであり、またそのデータの処理に対する計算量などを示すデータの種類である。
図8のフローチャートにおいて、データを保持するノードは、まずデータの性質を判断し、データの重要度レベルを設定する。データの性質は、ここでは、データの秘密性の度合いであり、またそのデータの処理に対する計算量などを示すデータの種類である。
まずステップS101で、データを保持するノードは、データの重要度を設定するためのユーザからの指示があるかどうかを判定する。すなわちデータ操作部206は、ユーザの操作による指示入力がデータ保持部201に記憶されているかどうかを判定する。
ユーザ指示入力がある場合(ステップS101;YES)は、ステップS103の重要度レベルの設定を実行する。ユーザ指示入力がない場合(ステップS101;NO)は、次のステップS102を実行する。
ステップS102では、データ操作部206は、データの重要度レベルを設定するためにデータの性質を判断する。データの性質は、データの秘密性であり、またデータの種類である。
図9にデータの秘密性やデータの種類による重要度レベルの設定についての対応テーブルを示す。データ操作部206は、データ保持部201に保持するデータから、こういったテーブルに分類されるデータの性質を判断する。
図9によれば、データの秘密性は、秘密性の高い順に極秘、部外秘、社外秘、関係会社に開示可、開示可または指定なし、などと分類され、それぞれ1から5の重要度レベルが割り当てられる。これらは例えばデータに付加された情報を、あるいは埋め込まれた情報を読み出すなどの方法で判定することができる。
またデータの種類については、画像や暗号化データなど処理時の計算量を要するものは重要度が高く、テキスト以外のデータ、さらにテキストデータなどと重要度が低くなるように分類し、図9の場合では、それぞれ5から7の重要度レベルが割り当てられている。これらは例えばデータファイルの拡張子などから判断することができる。
ステップS103では、データの性質に基づいて、対応する重要度レベルが設定される。あるいはユーザからの指示がある場合は、それにしたがった重要度レベルを設定する。すなわち、データ操作部206は、データ保持部201に保持するデータ及びこういったテーブルを参照し、データの性質に基づき重要度レベルを設定する。
またそれらのデータの性質に基づく重要度レベルは、それぞれデータを分割する分割数、データを分配するノードの信頼度許容範囲とも対応しており、データの性質に応じて分割数や信頼度許容範囲を変化させるよう指定されている。
引き続き図7を用いて、データの重要度レベルに従った分配配置処理例を説明する。適宜図5を参照する。
<情報分割処理>
まずステップS11で、データを保持するノードは、データを各ノードに分配するために、データを分割する。すなわち、データ操作部206は、データ保持部201に保持する上記データを参照し、そのデータの性質に応じて、あるいはユーザの指示などにより設定された重要度レベルを取得する。またその重要度レベルに対応する分割数と分割方法などを設定し、データを分割する。
まずステップS11で、データを保持するノードは、データを各ノードに分配するために、データを分割する。すなわち、データ操作部206は、データ保持部201に保持する上記データを参照し、そのデータの性質に応じて、あるいはユーザの指示などにより設定された重要度レベルを取得する。またその重要度レベルに対応する分割数と分割方法などを設定し、データを分割する。
図9に従えば、重要度レベルが高いほど分割数は多くなっている。分割数は、データの大きさやネットワークの規模、接続トポロジーなどに応じて、適切に設定されるよう、予め定めておけばよい。
データ分割法としては、例えば、文書などを行単位で分割するストライピングを用いてもよい。また、2次元パリティ方式、多重パリティ方式、リードソロモン方式などの公知方法を用いてもよい。また、情報破損や劣化を回避するために、分割時に冗長性を持たせる様にしてもよい。
分割されたデータは、分配に備えてデータ保持部201に保持する。このように、ステップS11は情報分割工程として機能する。
<分配先選択処理>
次にステップS12では、信頼度許容範囲が設定される。信頼度算出部204は、データ操作部206からデータの性質に応じて設定された重要度レベルを取得する。またデータ分配先ノードの信頼度を照合するために、その重要度レベルに対応する信頼度許容範囲を設定し、信頼度保持部203に一時保存する。
次にステップS12では、信頼度許容範囲が設定される。信頼度算出部204は、データ操作部206からデータの性質に応じて設定された重要度レベルを取得する。またデータ分配先ノードの信頼度を照合するために、その重要度レベルに対応する信頼度許容範囲を設定し、信頼度保持部203に一時保存する。
データの性質に応じた重要度レベルとは、例えば図9に示したように、データの秘密性やデータの種類(画像データや暗号化データなど)に対応するデータの重要性である。例えば、重要度の高いデータは、その度合いに応じて信頼度許容範囲が高めになるように、また画像などの処理に時間が掛かるデータもその度合いに応じて信頼度許容範囲が高めになるように対応させておく。
本実施形態は、信頼度を0から100の値で表すこととする。0が最も信頼度が低く、100が最も信頼度が高い状態とする。従って信頼度許容範囲は「信頼度60−80」といったように表される。この場合、信頼度の値が60から80の範囲にあるノードが、分配先として優先的に選択されることになる。
図9に従えば、重要度が高いほど信頼度許容範囲は高い方にシフトしており、より信頼度の高いノードに分配することが求められることになる。
次にステップS13では、信頼度表を取得する範囲(ホップ数)が設定される。信頼度表操作部205は、データ操作部206から取得したデータの分割数などに応じて、信頼度表を取得する複数のノードを設定する。
設定方法は、直接接続している接続先ノード(ホップ数1)を優先して、接続のためのホップ数が小さいノードを加えていく。例えば、ホップ数3までの範囲といえば、ホップ数が1、2、3の何れかであるノードから信頼度表を取得することになる。
各ノードの保持する信頼度表は、そのノードの接続先ノード(ホップ数1)の信頼度を含む。例えば、ノードが図3のPC1であれば、PC2とPC9の信頼度を記載した信頼度表を作成し、保持していることになる。
信頼度表を取得するノードの範囲は、取得する複数の信頼度表に含まれるノードの数がデータの分割数より多くなるように設定する必要がある。
次にステップS14では、取得範囲のノードから信頼度表を収集する。すなわち、信頼度表操作部205は、ステップS13で設定した取得範囲(ホップ数)のノードから信頼度表を収集し、取得した複数の信頼度表を信頼度表保持部202に保持する。
この場合、同一のノードに対して複数回取得することも起こり得る。例えば、ホップ数2とすると、途中に1台のノードを介在して接続することになるが、同一のノードに異なるノードを介して接続する二通りの経路が存在するような場合である。
信頼度表を取得するノードを図3のPC1とすると、PC2を介してPC7に接続する場合と、PC9を介してPC7に接続する場合と、二度信頼度表を要求することになる。もちろん、信頼度表保持部202に同一の信頼度表を複数保持する必要はない。
次にステップS15では、複数の信頼度表からノード信頼度リストを作成する。すなわち、信頼度算出部204は、信頼度表操作部205から取得範囲のノードに対する信頼度表を取得し、それらを総合してノード信頼度リストを作成し、信頼度保持部203に保持する。但し、作成に利用する信頼度表には、他のノードから取得した信頼度表だけでなく、自らの保持する信頼度表も含まれる。
ノード信頼度リストの作成方法は、複数の信頼度表を一つにまとめればよい。例えば、複数の信頼度表に記載されているすべてのノードを適切な順序でリスト化し、その信頼度とともに記載すればよい。これらのノードがデータ分配先の候補となる。
但しその場合、複数の信頼度表に2回以上記載されるノードが存在することが生じ得る。ノード信頼度リストには、1台のノードは一度だけ記載されればよい。従って複数の信頼度表に記載されている場合は、次のようにして一つにまとめるとよい。ここで、ノード信頼度リストに記載の一つにまとめた信頼度を、各信頼度表に記載の信頼度と区別して、ノード信頼度と呼称することにする。
例えばノード信頼度の算出には、次のaからdに示すような重み付け計算を用いる方法がある。
a 最も小さい(信頼度の低い)値を選択する。
b 平均値をとる。
c 同じノードが記載されている複数の信頼度表をそれぞれ保持する複数のノードから、最も信頼度の高いノードを選択し、そのノードが保持する信頼度表の値をとる。
d 同じノードが記載されている複数の信頼度表をそれぞれ保持する複数のノードの信頼度を重みとして、それぞれのノードの保持する信頼度表の値を重み付け平均する。
a 最も小さい(信頼度の低い)値を選択する。
b 平均値をとる。
c 同じノードが記載されている複数の信頼度表をそれぞれ保持する複数のノードから、最も信頼度の高いノードを選択し、そのノードが保持する信頼度表の値をとる。
d 同じノードが記載されている複数の信頼度表をそれぞれ保持する複数のノードの信頼度を重みとして、それぞれのノードの保持する信頼度表の値を重み付け平均する。
次にステップS16では、ノード信頼度が設定した信頼度許容範囲内にあるノードを抽出する。すなわち、信頼度算出部204は、信頼度保持部203のノード信頼度リストを参照し、データ操作部206から取得した信頼度許容範囲と比較照合することで、ノード信頼度が信頼度許容範囲内にあるノードを抽出する。
続いて、ステップS17では、ステップS16で抽出されたノードがあるかどうかを判定する。抽出されたノードが1台以上ある場合(ステップS17:YES)は、ステップS19に進み、分配先ノードを選択する処理を行う。抽出されたノードがない場合(ステップS17:NO)は、ステップS18に進み、信頼度表の取得範囲、または信頼度範囲の変更処理を行う。
ここでは、1台以上かどうかで判定したが、この台数は任意に設定すればよい。分配先ノードの選択であるから、データの分割数を最大値として適切に最低限必要な台数を設定すればよい。もちろん、必要な台数に足りなければ信頼度許容範囲外から選択してもよい。
抽出されたノードがない場合のステップS18では、信頼度算出部204は、データ操作部206と連係して、ノード信頼度が信頼度許容範囲内にあるノード数を1台以上とするため、
(a)信頼度許容範囲を変更するか、
(b)信頼度表の取得範囲を変更するか
を設定した上、ステップS12に戻り、ステップS17までを再度繰り返す。
(a)信頼度許容範囲を変更するか、
(b)信頼度表の取得範囲を変更するか
を設定した上、ステップS12に戻り、ステップS17までを再度繰り返す。
但し、(a)の場合であればステップS12で信頼度許容範囲を前回よりも広くし、ステップS13からステップS15までは前回と同様ということで省略してもよい。また(b)の場合であれば、ステップS12は前回と同様ということで省略し、ステップS13で信頼度表を取得する範囲(ホップ数)を前回よりも拡げればよい。
もちろん、信頼度許容範囲と信頼度表の取得範囲の両方を変更してもよい。
抽出されたノードがある場合のステップS19では、信頼度算出部204は、抽出したノードを優先的にデータ分配先ノードとして選択する。データ分配先ノードがまだ足りない場合は、ノード信頼度が信頼度許容範囲に近いノードを追加して選択してもよい。
選択されたデータ分配先ノードは、信頼度保持部203に保持される。
以上に示したように、ステップS12からステップS19に至る工程は分配先選択工程として機能する。
<情報分配処理>
最後にステップS20では、分割データの分配処理を行う。すなわち、データ操作部206が信頼度算出部204からデータ分配先ノードの情報を取得し、データ保持部201に保持している分割データをデータ分配先ノードに割り振る。
最後にステップS20では、分割データの分配処理を行う。すなわち、データ操作部206が信頼度算出部204からデータ分配先ノードの情報を取得し、データ保持部201に保持している分割データをデータ分配先ノードに割り振る。
それぞれのデータ分配先ノードに割り振られた分割されたデータは、データ作成部209に送られ、ネットワークパケットの形に成形され、データ送信部210から指定された分配先ノードへ送信される。
このように、ステップS20は情報分配工程として機能する。
以上で、情報の性質の判断処理、情報分割処理、分配先選択処理、そして情報分配処理に至るまでの代表的な処理の流れ、すなわち全体としての情報分配配置処理の説明を終わる。
(情報分散配置処理例1)
以下、図10から図15を用いて情報分散配置処理例1を説明する。
以下、図10から図15を用いて情報分散配置処理例1を説明する。
図10は、情報分散配置処理例1におけるネットワーク1の接続状態を示す図である。図3と同じ接続トポロジーを示すが、各ノード(PC1からPC9)はそれぞれ信頼度表(表1から表9で表す)を保持している。
図11に、各ノードの保持する信頼度表の記載内容を示す。PC1からPC9の各ノードの保持する表1から表9の信頼度表が、図11のPC1信頼度表からPC9信頼度表である。それぞれの信頼度表には、それぞれのノードが接続するノードの信頼度が0から100の数値で示されている。
また図10ではノードPC9が、分散して保持する対象となるデータAを保持している。データAを3分割して分散保持することとする。各分割データをデータA−1、データA−2、データA−3とし、既に保持されているものとする。
データAには、秘密性のレベルは指定されておらず、その拡張子から画像/暗号化データではなく、またテキストデータでもないデータとして、図9に従いデータ種類別の重要度レベルを「6」とした。また図9に従い、データは3分割、信頼度許容範囲は信頼度34−66とした。これは0から100を3分割した真ん中を想定している。
データ分割数は3なので、データ分配先候補ノード数は3を十分上回る数としたい。図10の接続形態を考慮して、信頼度表取得範囲は、ホップ数2までとする。
図12にはホップ数2を信頼度表取得範囲とした場合の信頼度表を取得するノードの範囲を示す。PC9から見て、矢印を経由して到達できるのが、ホップ数2までのノードであり、自ノードを含めて6台のノードから信頼度表を取得することになる。
信頼度表には、それを保持するノードの接続先ノードの信頼度が記載されているため、データ分配先候補ノードとしては、ホップ数3までのノードが得られることになる。従ってこのネットワークの場合、PC1からPC9のすべてのノードがデータ分配先候補となる。
PC9は、自らの保持する信頼度表以外に、図12に示したPC1、PC2、PC7、PC8のそれぞれ保持する信頼度表を取得する。
図13には、PC9の取得した信頼度表の記載内容を示す。既に述べたように、これらの信頼度表にはPC1からPC9のすべてのノードが、その信頼度とともに記載されている。また、各信頼度表において下線を施したノードは、複数の信頼度表に記載のあるノードである。ノード信頼度リストを作成するには、これら同一のノードに対する複数の信頼度値を一つにまとめなければならない。
既に説明した重み付け計算を用いる方法のうち、a(最も小さい値を選択する)を採用して、ノード信頼度リストを作成する。
図14には、作成したノード信頼度リストの内容を示す。PC1からPC9のすべてのノードが、データ分配先候補のノードとしてノード信頼度とともに記載されている。下線を施したノードは、ノード信頼度が設定した信頼度許容範囲内にあるノードである。ここでは、PC1、PC3、PC6、PC7、PC9の5台が抽出されたノードである。
抽出されたノード数が、必要なデータ分配先ノード数3(分割数3による)を超えているので、これらのノードのうち任意の3台を選択すればよいが、ここでは効率を考慮してPC9に近い(ホップ数の小さい)ノードとしてPC1、PC7、PC9の3台を選択する。
図15には、選択されたデータ分配先ノードに、PC9の保持するデータAの分割データを振り分け、分配した状態を示す。分割データであるデータA−1、データA−2、データA−3が、それぞれデータ分配先ノードPC9、PC1、PC7に振り分けられ、分配されている。
(情報分散配置処理例2)
以下、図16から図20を用いて情報分散配置処理例2を説明する。
以下、図16から図20を用いて情報分散配置処理例2を説明する。
図16は、情報分散配置処理例2におけるネットワーク1の接続状態を示す図である。図3と同じ接続トポロジーを示すが、各ノードがそれぞれ信頼度表(表1から表9で表す)を保持しているのは、図10の情報分散配置処理例1と同様である。
各ノードの信頼度表の記載内容は、図11の情報分散配置処理例1の場合と同様であり、図は省略する。
また図16ではノードPC9が、分散して保持する対象となるデータBを保持している。データBを5分割して分散保持することとする。各分割データをデータB−1、データB−2、データB−3、データB−4、データB−5とし、既に保持されているものとする。
ここで、データBは、その秘密性が「部外秘」として指定されており、その重要度レベルは図9に従えば「2」である。また図9に従って、分割数は5、信頼度許容範囲は信頼度61−80であるものとした。これは0から100を5分割した上から2番目を想定している。
データ分割数は5なので、データ分配先候補ノード数は5を十分上回る数としたい。図16の接続形態を考慮して、信頼度表取得範囲は、ホップ数3までとする。
図17にはホップ数3を信頼度表取得範囲とした場合の信頼度表を取得するノードの範囲を示す。PC9から見て、矢印を経由して到達できるのが、ホップ数3までのノードであり、自ノードを含めてここでは9台すべてのノードから信頼度表を取得することになる。従ってこのネットワークの場合、PC1からPC9のすべてのノードがデータ分配先候補となる。
PC9は、自らの保持する信頼度表以外に、図17に示したすべてのノードがそれぞれ保持する信頼度表を取得する。
図18には、PC9の取得した信頼度表の記載内容を示す。既に述べたように、これらの信頼度表にはPC1からPC9のすべてのノードが、その信頼度とともに記載されている。また、各信頼度表において下線を施したノードは、複数の信頼度表に記載のあるノードであり、ここではすべてのノードが該当する。ノード信頼度リストを作成するには、これら同一のノードに対する複数の信頼度値を一つにまとめなければならない。
既に説明した重み付け計算を用いる方法のうち、b(平均値をとる)を採用して、ノード信頼度リストを作成する。
図19には、作成したノード信頼度リストの内容を示す。但し、平均値計算で小数点以下は切り捨てた。PC1からPC9のすべてのノードが、データ分配先候補のノードとしてノード信頼度とともに記載されている。
しかしながら信頼度許容範囲である信頼度61−80と照合すると、ノード信頼度が信頼度許容範囲内であるノードは1台も存在しないことが分かる。
抽出されたノードが存在しない場合の処置として、ここでは信頼度許容範囲の変更を行う。信頼度61−80を信頼度51−80に拡げることとした。
ノード信頼度リストはそのままで、再度頼度許容範囲内であるノードの抽出を行った。
図19で下線を施したノードが、ノード信頼度が変更した信頼度許容範囲内にあるノードであり、ここでは、PC6、PC7、PC9の3台が抽出された。
抽出されたノード数は、必要なデータ分配先ノード数5(分割数5による)をまだ満たさないので、これらのノード以外に任意の2台を選択する必要がある。残りの2台として、ノード信頼度が信頼度許容範囲外であるが、信頼度許容範囲に最も近いノードを選択することにした。結果は、PC2とPC5である。
よってデータ分配先ノードとして選択されたのは、PC2、PC5、PC6、PC7、PC9である。
図20には、選択されたデータ分配先ノードに、PC9の保持するデータBの分割データを振り分け、分配した状態を示す。分割データであるデータB−1、データB−2、データB−3、データB−4、データB−5が、それぞれデータ分配先ノードPC9、PC2、PC5、PC6、PC7に振り分けられ、分配されている。
このように本実施形態にかかる情報の管理方法、及びノードとしての情報処理装置によれば、ネットワーク上の複数のノードに情報を分割して分配するに際して、次のように処理することになる。すなわち、各ノードの物理的情報に基づき算出された信頼度が、保持する情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを、分配先ノードとして優先的に選択し、分配する。これにより、ネットワーク上の複数のノードに分散して保持された情報に対して、分散された情報の一部を取得できないといった障害が発生しにくく、かつ特定のノードに負荷が集中することをも抑制でき、分散された情報を効率よく利用することができる。
なお本発明の範囲は、上記実施形態に限定されるものではない。本発明の趣旨を逸脱しない限り、それらの変更された形態もその範囲に含むものである。
Claims (24)
- 情報を分割して複数のノードに分配して保持するネットワークシステムにおける情報の管理方法であって、
前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割工程と、
前記情報分割工程によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択工程と、
前記分配先選択工程により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配工程と、を有する
ことを特徴とする情報の管理方法。 - 前記分配先選択工程では、
分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードが選択される
ことを特徴とする請求の範囲第1項に記載の情報の管理方法。 - 前記ノード信頼度リストは、
複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて作成される
ことを特徴とする請求の範囲第2項に記載の情報の管理方法。 - 前記信頼度表は、
当該信頼度表を保持するノードの接続先のノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出されたそれぞれの接続先ノードの信頼度を含む
ことを特徴とする請求の範囲第3項に記載の情報の管理方法。 - 前記信頼度表は、
それぞれの接続先ノードについての信頼度として、当該接続先ノードによってその物理的情報をもとに算出された値を含む
ことを特徴とする請求の範囲第3項に記載の情報の管理方法。 - 前記ノード信頼度リストは、
前記分割情報を分配するノードによって作成される
ことを特徴とする請求の範囲第2項に記載の情報の管理方法。 - 前記ノード信頼度リストは、
前記分割情報を分配するノードによって他のノードから取得される
ことを特徴とする請求の範囲第2項に記載の情報の管理方法。 - 前記ノード信頼度リストは、
前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードが選択され、該複数のノードの保持する前記複数の信頼度表に基づいて作成される
ことを特徴とする請求の範囲第3項に記載の情報の管理方法。 - 前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて当該ノードの信頼度が算出される
ことを特徴とする請求の範囲第3項に記載の情報の管理方法。 - 前記ノード信頼度リストは、
所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に再作成される
ことを特徴とする請求の範囲第3項に記載の情報の管理方法。 - 前記物理的情報は、
それぞれのノードにおける、CPUのスペック情報、CPUの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも1つ以上を含む
ことを特徴とする請求の範囲第1項に記載の情報の管理方法。 - 前記信頼度許容範囲は、
前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて予め設定される
ことを特徴とする請求の範囲第1項に記載の情報の管理方法。 - 情報を分割して複数のノードに分配して保持するネットワークシステムにおけるノードとしての情報処理装置であって、
前記情報を複数のノードに分配するために分割し、分割情報を生成する情報分割手段と、
前記情報分割手段によって生成された前記分割情報が分配される分配先ノードとして、それぞれのノードの物理的情報に基づき算出された信頼度が、前記情報の性質に応じて予め設定された信頼度許容範囲内にあるノードを優先的に選択する分配先選択手段と、
前記分配先選択手段により選択された分配先ノードに、前記分割情報をそれぞれ分配する情報分配手段と、を有する
ことを特徴とする情報処理装置。 - 前記分配先選択手段は、
分配先候補のノードと、当該分配先候補のノードの物理的情報に基づき算出された信頼度とに関する情報を含むノード信頼度リストから、前記分配先ノードを選択する
ことを特徴とする請求の範囲第13項に記載の情報処理装置。 - 前記分配先選択手段は、
複数のノードが保持する、当該ノードの接続先ノードの信頼度に関する情報を含む信頼度表を収集し、収集した複数の前記信頼度表に基づいて前記ノード信頼度リストを作成することを特徴とする請求の範囲第14項に記載の情報処理装置。 - 前記分配先選択手段は、
接続先ノードにおいて公開されている物理的情報を取得し、該物理的情報に基づき算出した接続先ノードの信頼度を含む前記信頼度表を保持する
ことを特徴とする請求の範囲第15項に記載の情報処理装置。 - 前記分配先選択手段は、
接続先ノードによってその物理的情報をもとに算出された値を、その接続先ノードについての信頼度として含む前記信頼度表を保持する
ことを特徴とする請求の範囲第15項に記載の情報処理装置。 - 前記分配先選択手段は、
前記ノード信頼度リストを自ら作成する
ことを特徴とする請求の範囲第14項に記載の情報処理装置。 - 前記分配先選択手段は、
前記ノード信頼度リストを他のノードから取得する
ことを特徴とする請求の範囲第14項に記載の情報処理装置。 - 前記分配先選択手段は、
前記情報の分割数に応じて、ホップ数の少ない接続先を優先して前記複数のノードを選択し、該複数のノードの保持する前記複数の信頼度表に基づいて、前記ノード信頼度リストを作成する
ことを特徴とする請求の範囲第15項に記載の情報処理装置。 - 前記分配先選択手段は、
前記複数の信頼度表において、同一ノードに対して異なる複数の信頼度の値が含まれる場合、平均値、最大値、最小値、または重み付きの平均値の何れかを用いて、前記ノード信頼度リストにおける当該ノードの信頼度を算出する
ことを特徴とする請求の範囲第15項に記載の情報処理装置。 - 前記分配先選択手段は、
所定の期間毎、もしくは各ノードの信頼度に影響する処理が行われる毎に、前記ノード信頼度リストを再作成する
ことを特徴とする請求の範囲第15項に記載の情報処理装置。 - 前記物理的情報は、
それぞれのノードにおける、CPUのスペック情報、CPUの使用率に関する情報、メモリの使用率に関する情報、及び接続時間に関する情報、の少なくとも1つ以上を含む
ことを特徴とする請求の範囲第13項に記載の情報処理装置。 - 前記分配先選択手段は、
前記情報の性質としての、前記情報の重要度とその処理に対する計算量と、の少なくとも何れかに応じて、前記信頼度許容範囲を予め設定する
ことを特徴とする請求の範囲第13項に記載の情報処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006303836 | 2006-11-09 | ||
JP2006303836 | 2006-11-09 | ||
PCT/JP2007/069942 WO2008056507A1 (fr) | 2006-11-09 | 2007-10-12 | Procédé de gestion d'informations et dispositif de traitement d'informations |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2008056507A1 true JPWO2008056507A1 (ja) | 2010-02-25 |
Family
ID=39364331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008543017A Pending JPWO2008056507A1 (ja) | 2006-11-09 | 2007-10-12 | 情報の管理方法及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2008056507A1 (ja) |
WO (1) | WO2008056507A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9703610B2 (en) * | 2011-05-16 | 2017-07-11 | Oracle International Corporation | Extensible centralized dynamic resource distribution in a clustered data grid |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6813632B2 (en) * | 2002-04-24 | 2004-11-02 | International Business Machines Corporation | Distributed file system using scatter-gather |
JP2004126716A (ja) * | 2002-09-30 | 2004-04-22 | Fujitsu Ltd | 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置 |
JP2005252596A (ja) * | 2004-03-03 | 2005-09-15 | Nippon Telegr & Teleph Corp <Ntt> | 物理的信頼度を用いたp2pネットワーク構成方法及び接続状態管理装置 |
JP2005275937A (ja) * | 2004-03-25 | 2005-10-06 | Fujitsu Ltd | P2pネットワークシステム |
-
2007
- 2007-10-12 WO PCT/JP2007/069942 patent/WO2008056507A1/ja active Application Filing
- 2007-10-12 JP JP2008543017A patent/JPWO2008056507A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2008056507A1 (fr) | 2008-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022193985A1 (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US7929703B2 (en) | Methods and system for managing security keys within a wireless network | |
US8539225B2 (en) | Method and device for dynamic deployment of trust bridges in an ad hoc wireless network | |
US9699165B2 (en) | Providing localized content delivery with remote token authentication | |
US11522868B2 (en) | Identifying a network node to which data will be replicated | |
JP4993733B2 (ja) | 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置 | |
CN113421097B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
US11265316B2 (en) | Apparatus to automatically establish or modify mutual authentications amongst the components in a software defined networking (SDN) solution | |
JP4155341B2 (ja) | 情報の管理方法及び情報処理装置 | |
EP2999172B1 (en) | Method and devices to certify a trusted path in a software defined network | |
JP2009089044A (ja) | 暗号管理装置、暗号管理方法、暗号管理プログラム | |
US9130911B2 (en) | System and method for electronic secure obfuscation network | |
CN111541552A (zh) | 区块链一体机及其节点自动加入方法、装置 | |
Bui et al. | Anycast end-to-end resilience for cloud services over virtual optical networks | |
CN114679274A (zh) | 跨子网交互的权限控制方法及装置、电子设备、存储介质 | |
CN108377245A (zh) | 一种网络接入请求的优化认证方法及系统 | |
JP2009055176A (ja) | ネットワーク接続管理方法、および情報処理装置 | |
CN116166749A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
JPWO2008056507A1 (ja) | 情報の管理方法及び情報処理装置 | |
JP4601979B2 (ja) | 証明書相互認証システム、及び証明書相互認証方法 | |
Tsumak | Securing BGP using blockchain technology | |
Chun et al. | Slice creation and management | |
Subramanian et al. | An Architectural Framework for Secure Cloud data Storage Management by using Orthogonal Handshaking Authentication Mechanism (OHSAM) | |
CN108449358A (zh) | 基于云的低延时安全计算方法 | |
CN117579285A (zh) | 一种服务化网络中流量转发方法、装置、设备及存储介质 |