(57)【要約】      （修正有）【課題】Ｐ２Ｐ型ネットワークの通信効率を向上させる。【解決手段】ネットワークを構成する各ノードを少なくとも１つの他のノードと関連付けておき、各ノードに、自らに関連付けられている各ノードのアドレスを記憶させておき、第一のノード（ＰＣ１０）が第二のノードとデータ通信を開始する前に、第一のノードに第二のノードが関連付けられていない場合は、第一のノードは、自らに関連付けられている少なくとも１つのノード（ＰＣ０１など）に対して、第二のノードのアドレスの問合せを行い（＃３０２）、問合せを受けたノードは、第二のノードのアドレスを記憶している場合はそのアドレスを第一のノードに通知し、記憶していない場合は自らに関連付けられている少なくとも１つのノードのアドレスを第一のノードに通知し、第一のノードは、第二のノード以外のノードのアドレスを通知された場合はそのノードに対してさらに問合せを行う（＃３０５）。【選択図】図１４
2006319909.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成する複数のノードのうちの２つのノードの間で行うデータ通信の方法であって、
当該ネットワークを構成するすべてのノードが互いに直接的または間接的に関係するように、各ノードを少なくとも１つの他のノードと関連付けておき、
各ノードに、自らに関連付けられている各ノードのアドレスを記憶させておき、
当該ネットワークを構成するノードのうちの第一のノードが第二のノードとデータ通信を開始する前に、当該第一のノードに当該第二のノードが関連付けられていない場合は、
当該第一のノードは、自らに関連付けられている少なくとも１つのノードに対して、当該第二のノードのアドレスの問合せを行い、
前記問合せを受けたノードは、当該第二のノードのアドレスを記憶している場合は当該アドレスを当該第一のノードに対して通知することによって当該問合せに応対し、記憶していない場合は自らに関連付けられている少なくとも１つのノードのアドレスを当該第一のノードに対して通知することによって当該問合せに応対し、
当該第一のノードは、当該第二のノード以外のノードのアドレスを通知された場合は当該ノードに対して前記問合せを行い、当該第二のノードのアドレスを通知された場合は当該アドレスに基づいて当該第二のノードとのデータ通信を開始する、
ことを特徴とするデータ通信の方法。
【請求項２】
当該ネットワークを構成するノードのうちのオフラインの状態のノードである第三のノードが当該ネットワークに参加する前に、
当該第三のノード以外の少なくとも１つのノードは、当該第三のノードの認証を行い、
当該認証の結果、当該第三のノードが正当なノードであることを確認することができた場合に、当該第三のノードを当該ネットワークに参加させる、
請求項１記載のデータ通信の方法。
【請求項３】
前記第一のノードは、前記問合せを他のノードに対して行う際に、当該第一のノードのアドレスを当該他のノードに対して通知し、
前記問合せを受けたノードは、自らを前記第一のノードと対応付けるとともに当該第一のノードから通知されたアドレスを記憶し、
前記第一のノードは、当該第二のノード以外のノードのアドレスを通知された場合は、当該ノードを自らと対応付けるとともに、当該アドレスを記憶する、
請求項１または請求項２記載のデータの通信方法。
【請求項４】
前記第一のノードに記憶されているデータを前記第二のノードにバックアップしておき、
当該第一のノードがオフラインの状態である場合に、他のノードは、当該第一のノードに記憶されているデータの代わりに当該第二のノードにバックアップされているデータを取得する、
請求項１ないし請求項３のいずれかに記載のデータの通信方法。
【請求項５】
前記第一のノードに記憶されているデータを複数の第二のノードに分割してバックアップしておき、
当該第一のノードがオフラインの状態である場合に、他のノードは、当該第一のノードに記憶されているデータの代わりに当該複数の第二のノードにバックアップされているデータを取得する、
請求項１ないし請求項３のいずれかに記載のデータの通信方法。
【請求項６】
ネットワークを構成する複数の端末装置のうちの２つの端末装置の間で行うデータ通信の方法であって、
当該ネットワークを構成するすべての端末装置が互いに直接的または間接的に関係するように、各端末装置を少なくとも１つの他の端末装置と関連付けておき、
各端末装置に、自らに関連付けられている各端末装置のアドレスを記憶させておき、
当該ネットワークを構成する端末装置のうちの第一の端末装置が第二の端末装置とデータ通信を開始する前に、当該第一の端末装置に当該第二の端末装置が関連付けられていない場合は、
当該第一の端末装置は、自らに関連付けられている少なくとも１つの端末装置に対して、当該第二の端末装置のアドレスの問合せを行い、
前記問合せを受けた端末装置は、当該第二の端末装置のアドレスを記憶している場合は当該アドレスを当該第一の端末装置に対して通知することによって当該問合せに応対し、記憶していない場合は自らに関連付けられている少なくとも１つの端末装置のアドレスを当該第一の端末装置に対して通知することによって当該問合せに応対し、
当該第一の端末装置は、当該第二の端末装置以外の端末装置のアドレスを通知された場合は当該端末装置に対して前記問合せを行い、当該第二の端末装置のアドレスを通知された場合は当該アドレスに基づいて当該第二の端末装置とのデータ通信を開始する、
ことを特徴とするデータ通信の方法。
【請求項７】
複数のノードによって構成されるピアツーピア型のネットワークであって、
各ノードは、
すべてのノードが互いに直接的または間接的に関係するように、少なくとも１つの他のノードと関連付けてられており、
自らと関連付けられている各ノードのアドレスを記憶するアドレス記憶手段と、
通信相手である他のノードのアドレスが自らの前記アドレス記憶手段に記憶されていない場合に、自らに関連付けられている少なくとも１つのノードに対して当該アドレスの問合せを行う、アドレス問合せ手段と、
他のノードから前記問合せを受けた場合に、当該問合せに係るアドレスを自らの前記アドレス記憶手段に記憶している場合は当該アドレスを当該他のノードに通知することによって当該問合せに応対し、記憶していない場合は自らに関連付けられている少なくとも１つのノードのアドレスを当該他のノードに通知することによって当該問合せに応対する、問合せ応対手段と、
通知された、通信相手である他のノードのアドレスを宛先として、データを送信する、データ送信手段と、
が設けられており、
前記アドレス問合せ手段は、通信相手である他のノード以外のノードのアドレスを通知された場合は、当該ノードに対して前記問合せを行う、
ことを特徴とするピアツーピア型のネットワーク。
【請求項８】
ピアツーピア型のネットワークのノードとして用いられる情報処理装置であって、
当該情報処理装置に関連付けられている当該ネットワークの１つまたは複数の他のノードのアドレスを記憶するアドレス記憶手段と、
通信相手である他のノードのアドレスが前記アドレス記憶手段に記憶されていない場合に、当該情報処理装置に関連付けられている少なくとも１つのノードに対して当該アドレスの問合せを行う、アドレス問合せ手段と、
他のノードから前記問合せを受けた場合に、当該問合せに係るアドレスを前記アドレス記憶手段に記憶している場合は当該アドレスを当該他のノードに通知することによって当該問合せに応対し、記憶していない場合は当該情報処理装置に関連付けられている少なくとも１つのノードのアドレスを当該他のノードに通知することによって当該問合せに応対する、問合せ応対手段と、
通知された、通信相手である他のノードのアドレスを宛先として、データを送信する、データ送信手段と、を有し、
前記アドレス問合せ手段は、通信相手である他のノード以外のノードのアドレスを通知された場合は、当該ノードに対して前記問合せを行う、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピアツーピア（Ｐ２Ｐ）型のネットワークにおけるデータ通信の方法などに関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置（ノード）を複数台、通信回線で繋いでネットワークを形成し、これらの情報処理装置同士でデータのやり取りを行う技術が、広く普及している。Ｐ２Ｐ（Peer to Peer）型のネットワークは、クライアントサーバ型のネットワークよりも簡単に構築することができるので、特に小規模のオフィスなどにおいて広く採用されている。
【０００３】
しかし、Ｐ２Ｐ型のネットワークは構成の管理が煩雑になりやすいので、セキュリティ上の問題が生じやすい。例えば、１台の情報処理装置のセキュリティに欠陥があると、それがネットワーク全体のセキュリティをおびやかす場合がある。そこで、特許文献１〜５に記載されるような、セキュリティの向上のための方法が提案されている。
【０００４】
特許文献１に記載される方法によると、悪意のあるノードがＰ２Ｐネットワークの通常のオペレーションを妨害する能力を抑制する。
【０００５】
特許文献２に記載される方法によると、認証サーバを設けておき、接続要求があった場合に、認証サーバのみがテーブルを参照して認証を行い、認証が成功した場合に双方向接続をサポートする。これにより、ネットワークの利用を特定の会員に限定することができる。
【０００６】
特許文献３に記載される方法によると、不特定多数のノードで構成される情報通信網での、互いのセキュリティポリシが異なる任意のノード間での通信において、ネットワークを構成するノードが増加した場合であっても、各ノードで管理が必要なセキュリティ情報の量を大幅に増加することなく、かつ、ノード間での通信のセキュリティ保証を効率的に行うことができる。
【０００７】
特許文献４に記載される方法によると、セキュリティポリシおよびプレゼンス情報をノード間で交換し、通信状況に応じたセキュアなピアツーピア通信を行うことができる。
【０００８】
特許文献５に記載される方法によると、Ｐ２Ｐのメンバである端末装置が他の端末装置のユーザ認証を行う。これにより、端末装置をユーザ端末として機能させるとともに、ユーザ認証サイトとしても機能させることができる。
【特許文献１】特開２００４−３０６１０号公報
【特許文献２】特開２００３−２２９８８２号公報
【特許文献３】特開２００４−２６０４０１号公報
【特許文献４】特開２００４−２７２７２４号公報
【特許文献５】特表２００３−５２９１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
Ｐ２Ｐ型のネットワークには、セキュリティの問題点のほかに、情報処理装置（ノード）の繋がりの管理が煩雑になり通信の効率がよくない、という問題点がある。例えば、ノードＡは、ノードＢにデータを送信する際に当該ノードＢのアドレスが分からない場合は、宛先を指定せず当該データをネットワーク全体のノードに送信（ブロードキャスト）する。または、アドレスの情報を収集するために、問合せ情報をネットワーク全体のノードに送信（ブロードキャスト）する。したがって、ネットワークを構成するノードが多ければ多いほど、無駄なトラフックが増えるので、通信の効率が悪くなる。
【００１０】
本発明は、このような問題点に鑑み、Ｐ２Ｐ型のネットワークの通信の効率を従来よりも向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るデータ通信の方法は、ネットワークを構成する複数のノードのうちの２つのノードの間で行うデータ通信の方法であって、当該ネットワークを構成するすべてのノードが互いに直接的または間接的に関係するように、各ノードを少なくとも１つの他のノードと関連付けておき、各ノードに、自らに関連付けられている各ノードのアドレスを記憶させておき、当該ネットワークを構成するノードのうちの第一のノードが第二のノードとデータ通信を開始する前に、当該第一のノードに当該第二のノードが関連付けられていない場合は、当該第一のノードは、自らに関連付けられている少なくとも１つのノードに対して、当該第二のノードのアドレスの問合せを行い、前記問合せを受けたノードは、当該第二のノードのアドレスを記憶している場合は当該アドレスを当該第一のノードに対して通知することによって当該問合せに応対し、記憶していない場合は自らに関連付けられている少なくとも１つのノードのアドレスを当該第一のノードに対して通知することによって当該問合せに応対し、当該第一のノードは、当該第二のノード以外のノードのアドレスを通知された場合は当該ノードに対して前記問合せを行い、当該第二のノードのアドレスを通知された場合は当該アドレスに基づいて当該第二のノードとのデータ通信を開始する、ことを特徴とする。
【００１２】
好ましくは、当該ネットワークを構成するノードのうちのオフラインの状態のノードである第三のノードが当該ネットワークに参加する前に、当該第三のノード以外の少なくとも１つのノードは、当該第三のノードの認証を行い、当該認証の結果、当該第三のノードが正当なノードであることを確認することができた場合に、当該第三のノードを当該ネットワークに参加させる。
【００１３】
本発明に係る情報処理装置は、ピアツーピア型のネットワークのノードとして用いられる情報処理装置であって、当該情報処理装置に関連付けられている当該ネットワークの１つまたは複数の他のノードのアドレスを記憶するアドレス記憶手段と、通信相手である他のノードのアドレスが前記アドレス記憶手段に記憶されていない場合に、当該情報処理装置に関連付けられている少なくとも１つのノードに対して当該アドレスの問合せを行う、アドレス問合せ手段と、他のノードから前記問合せを受けた場合に、当該問合せに係るアドレスを前記アドレス記憶手段に記憶している場合は当該アドレスを当該他のノードに通知することによって当該問合せに応対し、記憶していない場合は当該情報処理装置に関連付けられている少なくとも１つのノードのアドレスを当該他のノードに通知することによって当該問合せに応対する、問合せ応対手段と、通知された、通信相手である他のノードのアドレスを宛先として、データを送信する、データ送信手段と、を有し、前記アドレス問合せ手段は、通信相手である他のノード以外のノードのアドレスを通知された場合は、当該ノードに対して前記問合せを行う、ことを特徴とする。
【発明の効果】
【００１４】
本発明によると、Ｐ２Ｐ型のネットワークの通信の効率を従来よりも向上させることができる。さらに、特定のノード同士を関連付けておくことによって、ノードの数が多くなってもネットワークの管理を従来よりも容易に行うことができる。請求項２の発明によると、ネットワーク全体のセキュリティを向上させることができる。
【発明を実施するための最良の形態】
【００１５】
図１は本発明に係るネットワーク１の全体的な構成の例を示す図、図２は端末装置２のハードウェア構成の例を示す図、図３は端末装置２の機能的構成の例を示す図である。
【００１６】
本発明に係るネットワーク１は、図１に示すように、複数台の端末装置２（２１、２２、…、２ｎ）、ハブ３、およびルータ４などのノードによって構成されるＬＡＮ（Local Area Network）である。これらの端末装置２は、ハブ３にツイストペアケーブルによってスター型に繋がれている。ハブ３とルータ４とも、ツイストペアケーブルによって繋がれている。以下、これらのノードのうちの端末装置２（つまり、ホスト）同士がデータ通信を行う場合について説明する。
【００１７】
端末装置２は、パーソナルコンピュータ、ワークステーション、またはプリンタなどのような、他の装置との間でデータの入出力の処理を実行する装置である。以下、端末装置２としてパーソナルコンピュータが用いられる場合を例に説明する。
【００１８】
端末装置２は、図２に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、通信インタフェース２０ｅ、画像インタフェース２０ｆ、入力インタフェース２０ｇ、その他の種々の回路または装置などによって構成される。各端末装置２には、他の端末装置と識別するためのＩＰアドレスおよびＭＡＣアドレスが与えられている。
【００１９】
通信インタフェース２０ｅは、ＮＩＣ（Network Interface Card）であって、ツイストペアケーブルを介してハブ３のいずれかのポートに繋がれている。画像インタフェース２０ｆは、モニタと繋がれており、画面を表示するための映像信号をモニタに送出する。入力インタフェース２０ｇは、キーボードまたはマウスなどの入力装置と繋がれており、これらの入力装置からユーザの操作内容を示す信号を入力する。
【００２０】
ハードディスク２０ｄには、図３に示すような、画面表示処理部２０１、指令受付部２０２、データ生成部２０３、データ送信部２０４、データ受信部２０５、データ解析部２０６、データ操作部２０７、データ保持部２０８、申請処理部２１１、認証処理部２１２、接続テーブル管理部２１３、およびノード情報保持部２１４などの機能を実現するためのプログラムおよびデータが格納されている。これらのプログラムおよびデータは必要に応じてＲＡＭ２０ｂに読み出され、ＣＰＵ２０ａによってプログラムが実行される。
【００２１】
ハブ３として、スイッチングハブが用いられる。または、ハブ３およびルータ４の代わりにルータ機能を有するハブを用いてもよい。
【００２２】
図４はＰＣ０１〜ＰＣ０９の関連付けの例を示す図、図５は接続テーブルＳＴＢの例を示す図、図６はバックアップファイルテーブルＢＴＢの例を示す図、図７は取得した公開鍵ＫＹＰの例を示す図である。
【００２３】
以下、複数台の端末装置２同士がＰ２Ｐ（Peer to Peer）によるデータ通信を行う場合を例に、図３に示す各部の機能および処理内容などについて説明する。また、ネットワーク１には、９台の端末装置２が設けられており、それぞれに「ＰＣ０１」、「ＰＣ０２」、…、「ＰＣ０９」というホスト名（マシン名）が付けられているものとする。以下、各端末装置２を、「ＰＣ０１」または「ＰＣ０２」などのように、ホスト名のみによって記載することがある。
【００２４】
各端末装置２は、図４に示すように、仮想空間に配置されているものと仮定されている。そして、点線で示すように、仮想空間内の近隣の少なくとも１台の他の端末装置２と関連付けられている。かつ、これらの関連付けによって、すべての端末装置２が互いに直接的または間接的に関係するようになっている。なお、「直接的に関係する」とは、図４において１本の点線で繋がれていることを言い、「間接的に関係する」とは、２本以上の点線およびノードで繋がれていること（例えば、ＰＣ０１とＰＣ０８のような形態）を言う。
【００２５】
互いに関連付けられている２台の端末装置２は、後に説明するような方法でデータの送受信を行うことができる。また、一方の端末装置２が他方の端末装置２のノード認証などを行う。以下、互いに関連付けられている２台の端末装置２のうちの、データを提供する側または認証を行う側の端末装置２を「上位」または「上位ノード」などと記載し、データを受け取る側または認証される側の端末装置２を「下位」または「下位ノード」などと記載することがある。
【００２６】
図３において、ノード情報保持部２１４は、その端末装置２自身に関連付けられている他の端末装置２のホスト名およびアドレス（ＩＰアドレスまたはＭＡＣアドレス）を示す接続テーブルＳＴＢを保持（記憶）している。例えば、ネットワーク１内の９台の端末装置２が図４に示すように関連付けられている場合は、ＰＣ０１、ＰＣ０２、ＰＣ０９は、それぞれ、図５（ａ）、（ｂ）、（ｃ）に示すような内容の接続テーブルＳＴＢ０１、ＳＴＢ０２、ＳＴＢ０９を保持している。
【００２７】
接続テーブルＳＴＢの内容の設定は、端末装置２の初期設定を行う際に管理者によって行われる。そして、端末装置２をネットワーク１に参加させた後は、他の端末装置２の変化に応じて接続テーブル管理部２１３によって適宜変更される。
【００２８】
データ保持部２０８は、他の端末装置２に提供してもよいファイル（以下、「共用ファイルＦＫ」と記載する。）を保持（記憶）している。また、他の端末装置２で保持されている共用ファイルＦＫのバックアップ用のファイル（以下、「バックアップファイルＦＢ」と記載する。）を保持することもある。バックアップファイルＦＢを管理するために、図６に示すようなバックアップファイルテーブルＢＴＢを記憶している。バックアップファイルテーブルＢＴＢの内容については、後に説明する。
【００２９】
さらに、データ保持部２０８は、１対の公開鍵ＫＹＰおよび秘密鍵ＫＹＳを保持している。公開鍵ＫＹＰは、他の端末装置２に配付される。したがって、データ保持部２０８は、自らの公開鍵ＫＹＰだけでなく、図７に示すように、他の端末装置２から配付された公開鍵ＫＹＰをも保持している。
【００３０】
データ生成部２０３は、データ操作部２０７、申請処理部２１１、または認証処理部２１２などが実行した処理の結果に応じて、他の端末装置２に送信するためのデータを生成する。データ送信部２０４は、データ生成部２０３によって生成されたデータをパケット化するなどして宛先の端末装置２に送信する。
【００３１】
画面表示処理部２０１は、その端末装置２を操作するユーザに対してメッセージまたは指示を与えるための画面、ユーザが処理の指令を入力するための画面、および処理の結果を示す画面などをモニタに表示するための処理を行う。指令受付部２０２は、ユーザがキーボードまたはマウスなどの入力装置を操作して入力した指令を受け付ける。
【００３２】
データ受信部２０５は、ネットワーク１を流れるパケットのうち、その端末装置２に必要なものを受信する。データ解析部２０６は、受信したパケットの中から必要なデータの部分を抽出してデータの内容を解析し、その解析結果に応じた処理を実行するように各部に指令を与える。
【００３３】
申請処理部２１１は、その端末装置２自身がネットワーク１に参加する際（例えば、電源をオンにしたとき、オペレーティングシステムを再起動したとき、またはオフラインの状態からオンラインの状態に切り替えたときなど）に、その端末装置２のノード認証またはユーザ認証を実行するように、その端末装置２の接続テーブルＳＴＢに登録されている他の端末装置２のうちのいずれかに対して申請（要求）するための処理を行う。また、その端末装置２自身がネットワーク１から離脱する場合は、他の端末装置２に対してその旨を申請するための処理を行う。
【００３４】
認証処理部２１２は、他の端末装置２から申請されたノード認証またはユーザ認証を、公知の方法によって実行する。
【００３５】
データ操作部２０７は、その端末装置２自身のユーザ（ローカルユーザ）または他の端末装置２からの要求に基づいて、その端末装置２のデータ保持部２０８によって管理されているファイルに関する処理を行う。
【００３６】
次に、端末装置２の各部について、ネットワーク１への参加の際の処理、ネットワーク１からの離脱の際の処理、端末装置２同士で共用ファイルＦＫの送受信を行う際の処理、およびバックアップファイルＦＢに関する処理に大別して、さらに詳細に説明する。
【００３７】
〔ネットワーク１への参加の際の処理〕
図８は端末装置２がネットワーク１に参加する際の処理の流れの例を説明するフローチャート、図９はＰＣ１０の参加によって更新された接続テーブルＳＴＢの例を示す図、図１０はＰＣ１０の参加後のＰＣ１０〜ＰＣ０９の関連付けの例を示す図である。
【００３８】
ここでは、ＰＣ０１ないしＰＣ０９の９台の端末装置２が既にネットワーク１に参加しており、これらの端末装置２は図４に示すような関連を有し、ＰＣ１０がこれからネットワーク１に参加しようとしている場合を例に、各端末装置２の処理内容を、図８のフローチャートを参照して説明する。
【００３９】
ＰＣ１０において、申請処理部２１１は、ＰＣ１０自身の接続テーブルＳＴＢを参照することによって、ＰＣ１０自身と関連付けられている上位ノードの端末装置２をチェックする（図８の＃１０１）。そして、認証の申請用のデータを生成し上位ノードの端末装置２に送信するようにデータ生成部２０３およびデータ送信部２０４に対して指令する。
【００４０】
ところで、ＰＣ１０の接続テーブルＳＴＢには、前回にＰＣ１０がネットワーク１に参加したときの関連の情報が残っている。今までに一度も参加したことがない場合は、予め、ＰＣ０１〜ＰＣ０９のうちのいずれかの端末装置２とＰＣ１０とを関連付けて、管理者がＰＣ１０の接続テーブルＳＴＢにその端末装置２の情報を登録しておく。ここでは、ＰＣ１０はＰＣ０１と関連付けられており、図５（ｄ）のような内容の接続テーブルＳＴＢ１０を有しているものとする。
【００４１】
データ生成部２０３は、ＰＣ１０自身のホスト名およびアドレス、ＰＣ１０を現在使用しているユーザのユーザＩＤおよびパスワード、ＰＣ１０であることを証明する情報（例えば、電子証明書）、および認証処理を実行すべき旨の指令などを含む参加申請データＤＴ１を生成する（＃１０２）。そして、データ送信部２０４は、生成された参加申請データＤＴ１をパケット化し、ステップ＃１０１でチェックされた端末装置２すなわちＰＣ０１のアドレスに宛てて送信する（＃１０３）。これにより、ネットワーク１への参加の申請および証明処理の要求が、上位ノードであるＰＣ０１に対してなされる。
【００４２】
ＰＣ１０から送信された参加申請データＤＴ１のパケットは、一旦、ハブ３に到達する。ハブ３は、到達したこれらのパケットを、宛先のアドレスに対応するポートに繋がれている端末装置２すなわちＰＣ０１に送信する。このように、ハブ３は、参加申請データＤＴ１などのデータを宛先の端末装置２のみに中継する役割を果たす。
【００４３】
ＰＣ０１において、データ受信部２０５はＰＣ１０からハブ３を中継して送信されてきたパケットを順次受信し、データ解析部２０６はこれらのパケットから必要なデータを抽出して参加申請データＤＴ１を再現する。このようにして、ＰＣ０１は、ＰＣ１０からの参加申請データＤＴ１を受け付ける（＃１１１）。なお、後に説明する２つの端末装置２間で行われる他のデータまたはファイルの送受信も、参加申請データＤＴ１の場合と同様に、ハブ３を介してパケット通信によって行われる。
【００４４】
データ解析部２０６は、参加申請データＤＴ１を解析することによって、ＰＣ１０のノード認証およびユーザ認証を実行すべきであると判別する。そして、これらの認証処理を実行すべき旨の指令を認証処理部２１２に対して与える。
【００４５】
認証処理部２１２は、参加申請データＤＴ１に示されるユーザＩＤおよびパスワードに基づいてユーザ認証を行うとともに、電子証明書の正当性をチェックすることによってＰＣ１０のノード認証を行う（＃１１２）。
【００４６】
ノード認証およびユーザ認証の結果、ＰＣ１０の正当性を確認することができたら、ＰＣ０１のデータ生成部２０３は、認証が得られた旨を示す情報およびＰＣ０１自身の接続テーブルＳＴＢ０１（図５（ａ）参照）の内容を示す認証結果データＤＴ２を生成し（＃１１３）、データ送信部２０４は、これをＰＣ１０のアドレスに宛てて送信する（＃１１４）。
【００４７】
ＰＣ１０において、データ受信部２０５が認証結果データＤＴ２を受信すると（＃１０４）、データ解析部２０６は、この認証結果データＤＴ２を解析し、自らの接続テーブルＳＴＢ１０を更新すべき旨の指令を接続テーブル管理部２１３に対して与える。すると、接続テーブル管理部２１３は、ＰＣ１０自身の接続テーブルＳＴＢに、受信した認証結果データＤＴ２に示される端末装置２のホスト名およびアドレスを追加登録する（＃１０５）。これにより、接続テーブルＳＴＢ１０は、図９（ｄ）のように更新される。
【００４８】
また、ＰＣ０１において、ステップ＃１１３、＃１１４の処理と並行してまたは前後して、接続テーブル管理部２１３は、図９（ａ）のようにＰＣ０１自身の接続テーブルＳＴＢ０１にＰＣ１０のホスト名およびアドレスを追加登録する（＃１１５）。データ生成部２０３は、ＰＣ１０がネットワーク１に参加したことを通知するための参加通知データＤＴ３を生成し（＃１１６）、データ送信部２０４は、その参加通知データＤＴ３を、ステップ＃１１５の追加登録前の接続テーブルＳＴＢ０１（図５（ａ）参照）に示される端末装置２すなわちＰＣ０２およびＰＣ０９のアドレスに宛てて送信する（＃１１７）。
【００４９】
ＰＣ０２およびＰＣ０９において、データ受信部２０５がＰＣ０１からの参加通知データＤＴ３を受信すると（＃１２１）、参加通知データＤＴ３に示される新たに参加した端末装置２すなわちＰＣ１０を、それぞれの接続テーブルＳＴＢに追加登録する（＃１２２）。これにより、ＰＣ０２の接続テーブルＳＴＢ０２およびＰＣ０９の接続テーブルＳＴＢ０９は、それぞれ、図９（ｂ）（ｃ）のように更新される。
【００５０】
このようにして、ＰＣ１０がネットワーク１に参加するための処理が完了する。これらの処理の結果、ＰＣ１０は、図１０に示すように、ＰＣ０１、ＰＣ０２、およびＰＣ０９と関連付けられることになる。
【００５１】
ＰＣ１０のデータ送信部２０４は、ＰＣ１０自身の公開鍵ＫＹＰをＰＣ０１に送信する（＃１０６）。この公開鍵ＫＹＰは、ＰＣ０１からさらにＰＣ０２およびＰＣ０９にも送信される（＃１１９）。ＰＣ０１、ＰＣ０２、ＰＣ０９は、受信したＰＣ１０の公開鍵ＫＹＰを、それぞれのデータ保持部２０８に保存しておく（＃１１８、＃１２３）。または、ＰＣ０１、ＰＣ０２、およびＰＣ０９のそれぞれの公開鍵ＫＹＰをＰＣ１０に送信するようにしてもよい。公開鍵ＫＹＰをＰＣ１０からＰＣ０２およびＰＣ０９にダイレクトに送信してもよいが、ＰＣ０１を介することによって、秘匿性を高めることができる。
【００５２】
なお、参加申請データＤＴ１、認証結果データＤＴ２、参加通知データＤＴ３、および公開鍵ＫＹＰは、ＳＳＬ（Secure Sockets Layer）などの暗号化通信のプロトコルによってやり取りされる。後に説明するデータおよびファイルは、送信側または受信側のいずれかの公開鍵ＫＹＰまたは秘密鍵ＫＹＳによって暗号化されてやり取りされる。例えば、ＰＣ１０とＰＣ０２とがデータのやり取りをする場合において、ＰＣ０２がＰＣ１０の公開鍵ＫＹＰを有している場合は、ＰＣ１０は、自らの秘密鍵ＫＹＳを用いてデータを暗号化してＰＣ０２に送信する。一方、ＰＣ０２は、ＰＣ１０の公開鍵ＫＹＰでを用いてデータを暗号化してＰＣ１０に送信する。
【００５３】
なお、ＰＣ１０は、ＰＣ０１がネットワーク１に参加していない場合は、例えば次の（１）〜（３）のような方法で認証をしてもらうようにすればよい。（１）ＰＣ０１がネットワーク１に参加するのを待つ。（２）ＰＣ１０に予め複数の端末装置２を関連付けておき、ＰＣ０１以外の端末装置２に認証をしてもらう。（３）ネットワーク１の中または外に認証サーバを設けておき、この認証サーバに認証をしてもらう。または、認証なしでＰＣ１０をネットワーク１に参加させるようにし、その代わりに、ＰＣ１０の実行可能な機能（特に、セキュリティに関わる機能）を制限するようにするようにしてもよい。
【００５４】
〔ネットワーク１からの離脱の際の処理〕
図１１は端末装置２がネットワーク１から離脱する際の処理の流れの例を説明するフローチャートである。
【００５５】
次に、ＰＣ１０がネットワーク１から離脱する場合を例に、各端末装置２の処理内容を、図１１のフローチャートを参照して説明する。
【００５６】
ＰＣ１０において、申請処理部２１１は、ネットワーク１からの離脱の申請用のデータを生成し送信すべき旨の指令をデータ生成部２０３およびデータ送信部２０４に対して与える。
【００５７】
すると、データ生成部２０３は、ＰＣ１０自身のホスト名およびネットワーク１から離脱する旨などを示す離脱申請データＤＴ４を生成し（図１１の＃１３１）、データ送信部２０４は、この離脱申請データＤＴ４を、ＰＣ１０自身の接続テーブルＳＴＢ１０に示される各端末装置２のアドレスに宛てて送信する（＃１３２）。例えば図９（ｄ）のような内容が接続テーブルＳＴＢ１０に示される場合は、ＰＣ０１、ＰＣ０２、およびＰＣ０９に送信する。そして、ハブ３との通信を中断し、オフラインに切り換える（＃１３３）。
【００５８】
ＰＣ０１、ＰＣ０２、およびＰＣ０９のそれぞれにおいて、データ受信部２０５が離脱申請データＤＴ４を受信すると（＃１４１）、データ解析部２０６はこの離脱申請データＤＴ４を解析し、自らの接続テーブルＳＴＢを更新すべき旨の指令を接続テーブル管理部２１３に対して与える。すると、接続テーブル管理部２１３は、自らの接続テーブルＳＴＢの中からＰＣ１０の情報を削除する（＃１４２）。
【００５９】
このようにして、ＰＣ１０がネットワーク１から離脱するための処理が完了する。
【００６０】
〔端末装置２同士で共用ファイルＦＫの送受信を行う際の処理〕
図１２は端末装置２が他の端末装置２からファイルをダウンロードする際の処理の流れの例を説明するフローチャート、図１３は端末装置２が他の端末装置２にファイルをアップロードする際の処理の流れの例を説明するフローチャート、図１４は端末装置２が他の端末装置２にアドレスを問い合わせる際の処理の流れの例を説明するフローチャートである。
【００６１】
端末装置２は、自らと関連付けられている他の端末装置２との間でファイルなどの送受信を行う場合は、自らの接続テーブルＳＴＢを参照することによって当該他の端末装置２のアドレスを知ることができる。
【００６２】
例えば、ＰＣ１０がＰＣ０２から共用ファイルＦＫをダウンロードする際には、両端末装置２は、図１２に示すような手順で処理を実行する。
【００６３】
ＰＣ１０において、ユーザが自分の所望する共用ファイルＦＫの保存場所およびファイル名を指定すると、指令受付部２０２は、その指定の内容を受け付ける（図１２の＃１５１）。データ生成部２０３は、その共用ファイルＦＫのファイル名および送信指令などを含む共用ファイル送信要求データＤＴ５１を生成する（＃１５２）。データ送信部２０４は、指定に係る保存場所の端末装置２のアドレスを接続テーブルＳＴＢ１０（図９（ｄ）参照）に基づいてチェックし（＃１５３）、そのアドレスに宛てて共用ファイル送信要求データＤＴ５１を送信する（＃１５４）。ここでは、共用ファイル送信要求データＤＴ５１は、ＰＣ０２に送信される。
【００６４】
ＰＣ０２において、データ受信部２０５が共用ファイル送信要求データＤＴ５１を受信すると（＃１６１）、データ解析部２０６は、共用ファイル送信要求データＤＴ５１に示されるファイル名の共用ファイルＦＫをＰＣ１０に送信する必要があると判別し、データ送信部２０４およびデータ操作部２０７に対して送信処理を実行するように指令する。
【００６５】
すると、データ操作部２０７は、係る共用ファイルＦＫをデータ保持部２０８から抽出し（＃１６２）、データ送信部２０４は、これを要求元であるＰＣ１０に送信する（＃１６３）。
【００６６】
そして、ＰＣ１０において、データ受信部２０５は共用ファイルＦＫを受信し（＃１５５）、データ操作部２０７はこれをデータ保持部２０８に保存させる（＃１５６）。
【００６７】
または、ＰＣ１０がＰＣ０２にファイルをアップロードする際は、両端末装置２は、図１３に示すような手順で処理を実行する。
【００６８】
ＰＣ１０において、ユーザがアップロード対象のファイルのファイル名およびアップロード先の端末装置２を指定すると、指令受付部２０２は、その指定の内容を受け付ける（図１３の＃１７１）。データ操作部２０７は、指定されたファイルをデータ保持部２０８から抽出する（＃１７２）。そして、データ送信部２０４は、アップロード先である端末装置２のアドレスを接続テーブルＳＴＢ１０（図９（ｄ）参照）に基づいてチェックし（＃１７３）、抽出されたファイルを、チェックしたアドレスに宛てて送信する（＃１７４）。ここでは、ファイルはＰＣ０２に送信される。
【００６９】
ＰＣ０２において、データ受信部２０５がＰＣ１０からファイルを受信すると（＃１８１）、データ操作部２０７は、これをデータ保持部２０８に保存させる（＃１８２）。
【００７０】
ところで、ＰＣ１０は、接続テーブルＳＴＢ１０に登録されていない端末装置２すなわち自らに関連付けられていない端末装置２との間でファイルの送受信を行う場合は、図１２のステップ＃１５２または図１３の＃１７２において、相手である端末装置２のアドレスが分からない。そこで、ＰＣ１０は、例えば図１４に示すような手順で相手のアドレスを取得する。
【００７１】
ＰＣ１０において、データ生成部２０３は、知りたい相手のホスト名を示すアドレス問合せデータＤＴ６を生成する（図１４の＃３０１）。データ送信部２０４は、接続テーブルＳＴＢ１０（図９（ｄ）参照）に示される端末装置２（つまり、上位ノード）のアドレスをチェックし、これらのアドレスに宛ててアドレス問合せデータＤＴ６を送信する（＃３０２）。
【００７２】
ＰＣ１０の各上位ノード（ＰＣ０１、ＰＣ０２、ＰＣ０９）において、データ受信部２０５がアドレス問合せデータＤＴ６を受信すると（＃３１１）、そのアドレス問合せデータＤＴ６に示されるホスト名に対応するアドレスが自らの接続テーブルＳＴＢに記載されていないかどうかチェックする（＃３１２）。記載されている場合は、データ生成部２０３はそのホスト名および見つかったアドレスを示すアドレス回答データＤＴ７１を生成し（＃３１３）、データ送信部２０４はそのアドレス回答データＤＴ７１を問合せ元であるＰＣ１０に送信する（＃３１４）。一方、記載されていない場合は、自らの接続テーブルＳＴＢに記載されている端末装置２の（すなわち、さらに上位のノード）のホスト名およびアドレスを示す上位アドレスデータＤＴ７２をＰＣ１０に送信する（＃３１４）。
【００７３】
ＰＣ１０において、アドレス回答データＤＴ７１を受信した場合は（＃３０３、＃３０４でＹｅｓ）、目的のアドレスが取得されたことになる。よって、図１４の処理を終了する。
【００７４】
一方、上位アドレスデータＤＴ７２を受信した場合は（＃３０３、＃３０４でＮｏ）、その上位アドレスデータＤＴ７２に示されるアドレスに宛ててアドレス問合せデータＤＴ６を送信する（＃３０５）。ただし、同じ端末装置２に対して重複してアドレス問合せデータＤＴ６を送信しないようにする。
【００７５】
アドレス問合せデータＤＴ６を受信した端末装置２は、ステップ＃３１１〜＃３１４で説明したＰＣ０１、ＰＣ０２、ＰＣ０９の場合と同様の処理を実行する（＃３２１〜＃３２４）。以降、ＰＣ１０の目的のアドレスが見つかるまで、上位のノードに遡って同様の問合せを行う。
【００７６】
なお、ＰＣ１０は、上位アドレスデータＤＴ７２を受信することによって、新たに端末装置２のホスト名およびアドレスを知ることができる。そこで、そのホスト名およびアドレスを自らの接続テーブルＳＴＢ１０に追加登録してもよい。同様に、ＰＣ１０から問合せ（アドレス問合せデータＤＴ６）を受けた上位の端末装置２は、自らの接続テーブルＳＴＢにＰＣ１０のホスト名およびアドレスを追加登録してもよい。
【００７７】
〔バックアップファイルＦＢに関する処理〕
図１５は共用ファイルＦＫおよびそのバックアップファイルＦＢの保存場所の例を示す図、図１６は端末装置２が他の端末装置２からバックアップファイルＦＢをダウンロードする際の処理の流れの例を説明するフローチャートである。
【００７８】
共用ファイルＦＫは、その保存場所である端末装置２がオフラインである場合は、他の端末装置２への配信が不能となる。このような場合は、従来であれば、当該他の端末装置２は、その共用ファイルＦＫを取得するためには、保存場所である端末装置２が再びネットワーク１に参加するまで待たなければならなかった。また、保存場所である端末装置２が故障すると共用ファイルＦＫが失われてしまう、という問題点がある。
【００７９】
そこで、本実施形態のネットワーク１によると、共用ファイルＦＫを、他の端末装置２にバックアップファイルＦＢとしてバックアップしておくことができる。そして、共用ファイルＦＫの保存場所の端末装置２がオフラインのときには、その共用ファイルＦＫの代わりにバックアップファイルＦＢを配信することができる。以下、ＰＣ１０の共用ファイルＦＫを他の端末装置２にバックアップする場合を例に、各端末装置２の処理内容について説明する。
【００８０】
共用ファイルＦＫをバックアップする手順は、前に図１３で説明したファイルのアップロードの手順と基本的に同じである。ただし、ＰＣ１０のデータ送信部２０４は、ステップ＃１７４において共用ファイルＦＫをバックアップ先の端末装置２に送信する際に、バックアップの処理を実行すべき旨の指令も一緒に送信する。また、共用ファイルＦＫおよび係る指令を受信した端末装置２のデータ操作部２０７は、共用ファイルＦＫをバックアップファイルＦＢとしてデータ保持部２０８に保存するとともに、自らのバックアップファイルテーブルＢＴＢ（図６参照）に新たなレコードを生成し、そのレコードにそのバックアップファイルＦＢのファイル名および送信元の端末装置２のホスト名（オリジナル保存場所）を書き込む。
【００８１】
または、共用ファイルＦＫを複数のバックアップファイルＦＢに分割し、分割したそれぞれのバックアップファイルＦＢを複数の端末装置２に分散してバックアップしておくこともできる。
【００８２】
この場合は、ＰＣ１０のデータ生成部２０３は、共用ファイルＦＫを分割して複数のバックアップファイルＦＢを生成する。データ送信部２０４は、これらのバックアップファイルＦＢを、それぞれの所定のバックアップ先の端末装置２に送信する。このとき、これらのバックアップ先の端末装置２を示す情報も一緒に送信する。
【００８３】
分割されたバックアップファイルＦＢを受信した端末装置２は、これをデータ保持部２０８に保存するとともに、バックアップファイルテーブルＢＴＢに新たなレコードを生成し、オリジナルの共用ファイルＦＫのファイル名およびオリジナル保存場所を書き込む。さらに、残りのバックアップファイルＦＢのバックアップ先のホスト名（分割ファイル保存場所）を書き込む。例えば、共用ファイルＦＫが３つのバックアップファイルＦＢに分割され、ＰＣ０２、ＰＣ０３、およびＰＣ０９に１つずつバックアップされた場合は、ＰＣ０２のバックアップファイルテーブルＢＴＢには、その共用ファイルＦＫのレコードの分割ファイル保存場所の値を「ＰＣ０３，ＰＣ０９」としておく。
【００８４】
このようにしてバックアップされたバックアップファイルＦＢは、オリジナルの共用ファイルＦＫの配信が不能である場合に用いられる。
【００８５】
次に、共用ファイルＦＫの代わりにバックアップファイルＦＢが配信される際の各端末装置２の処理内容を、共用ファイルＦＫおよびそのバックアップファイルＦＢが図１５に示すように保存されている場合を例に説明する。
【００８６】
図１５において、ＰＣ１０には、「Ｆｉｌｅ  Ａ」というファイル名の共用ファイルＦＫａおよび「Ｆｉｌｅ  Ｂ」というファイル名の共用ファイルＦＫｂが保存されている。共用ファイルＦＫａのバックアップファイルＦＢａは、ＰＣ０１に保存されている。共用ファイルＦＫｂのバックアップファイルは、バックアップファイルＦＢｂ１、ＦＢｂ２に分割され、それぞれＰＣ０２、ＰＣ０９に保存されている。
【００８７】
ＰＣ１０がネットワーク１に参加している間は、他の端末装置２は、前に図１２、図１３で説明したような手順で共用ファイルＦＫａ、ＦＫｂをＰＣ１０からダウンロードすることができる。しかし、ＰＣ１０がネットワーク１から離脱すると、他の端末装置２は、ＰＣ１０に接続することができないので、共用ファイルＦＫａ、ＦＫｂのいずれをもＰＣ１０からダウンロードすることができない。そこで、バックアップファイルが保存されている端末装置２に接続し、これらの共用ファイルの代わりにバックアップファイルをダウンロードすることができる。例えば、ＰＣ０６が共用ファイルの代わりにバックアップファイルを取得する場合は、図１６に示すような手順で処理を行う。
【００８８】
ＰＣ０６において、ダウンロード対象の共用ファイルＦＫをＰＣ１０からダウンロードできなかった場合は、データ生成部２０３は、その共用ファイルＦＫのファイル名およびオリジナルの保存場所（つまり、ＰＣ１０）を示すバックアップファイル送信要求データＤＴ５２を生成し（＃３３１）、データ送信部２０４はそのバックアップファイル送信要求データＤＴ５２を、上位ノードすなわち自らの接続テーブルＳＴＢに示される端末装置２のアドレスに宛てて送信する（＃３３２）。ここでは、ＰＣ０３、ＰＣ０５、ＰＣ０７、およびＰＣ０８に対して送信する。これにより、バックアップファイルＦＢの要求がなされる。
【００８９】
ＰＣ０３、ＰＣ０５、ＰＣ０７、およびＰＣ０８の各端末装置２において、データ受信部２０５がバックアップファイル送信要求データＤＴ５２を受信すると（＃３４１）、バックアップファイルテーブルＢＴＢを参照することによって、そのバックアップファイル送信要求データＤＴ５２に示されるバックアップファイルＦＢを自らのデータ保持部２０８で保持しているか否かをチェックする（＃３４２）。
【００９０】
バックアップファイルＦＢを保持している場合は（＃３４３でＹｅｓ）、データ送信部２０４は、そのバックアップファイルＦＢを要求元であるＰＣ０６に送信する（＃３４６）。一方、バックアップファイルＦＢを保持していない場合は（＃３４３でＮｏ）、自らの接続テーブルＳＴＢに示される、さらに上位のノードの端末装置２のアドレスを紹介する上位ノード紹介データＤＴ８を、要求元のＰＣ０６に送信する（＃３４５）。
【００９１】
つまり、例えばステップ＃３３２においてＰＣ０６がバックアップファイルＦＢａを要求した場合は、図１５の通り、ＰＣ０３、ＰＣ０５、ＰＣ０７、およびＰＣ０８は、いずれもバックアップファイルＦＢａを保持していないので、これらの端末装置２の上位ノードがＰＣ０６に対して紹介される。
【００９２】
ＰＣ０６において、データ受信部２０５が上位ノード紹介データＤＴ８を受信した場合は（＃３３３）、その上位ノード紹介データＤＴ８に示される端末装置２のアドレスに対してバックアップファイル送信要求データＤＴ５２を送信する（＃３３４）。ただし、同じ端末装置２に対して重複して上位ノード紹介データＤＴ８を送信しないようにする。
【００９３】
バックアップファイル送信要求データＤＴ５２を受信した端末装置２は、前にステップ＃３４１〜＃３４６で説明した処理と同様の処理を実行する（＃３５１〜＃３５６）。すなわち、ＰＣ０６が要求したバックアップファイルＦＢを保持していればこれをＰＣ０６に送信し（＃３５３でＹｅｓ、＃３５６）、保持していなければ、さらに上位のノードを紹介する（＃３５３でＮｏ、＃３５４、＃３５５）。例えばステップ＃３３２においてＰＣ０６がバックアップファイルＦＢａを要求した場合は、ＰＣ０６がＰＣ０１にアクセスできるまで、ステップ＃３５１〜＃３５５の処理が上位のノードに遡って順次実行されることになる。
【００９４】
ところで、バックアップファイルＦＢｂ１、ＦＢｂ２のように分割されたバックアップファイルをＰＣ０６が要求した場合は、バックアップしている端末装置２は、ステップ＃３５６において、分割されたバックアップファイルをＰＣ０６に送信する際に、バックアップファイルテーブルＢＴＢを参照し、バックアップファイルの残りの部分を保持している端末装置２をＰＣ０６に対して通知する。
【００９５】
例えば、ＰＣ０９は、バックアップファイルＦＢｂ１をＰＣ０６に送信する際に、残りの部分すなわちバックアップファイルＦＢｂ２がＰＣ０２に保存されていることを通知する。これにより、ＰＣ０６は、残りのバックアップファイルの保存場所を直ちに知ることができる。
【００９６】
本実施形態によると、ネットワーク１に設けられている端末装置２ごとに１台または複数台の他の端末装置２と対応付け、階層構造のような構成を仮想している。そして、アドレスの問合せを、階層構造を辿るようにして行う。これにより、従来のようなブロードキャストが不要になるので、Ｐ２Ｐ型のネットワークの通信の効率を向上させることができる。
【００９７】
また、本実施形態によると、端末装置２のノード認証およびユーザ認証を、当該端末装置２に対応付けられている他の端末装置２が実行する。これにより、Ｐ２Ｐ型のネットワークのセキュリティを簡単に向上させることができる。
【００９８】
本実施形態では、ネットワーク１としてＬＡＮが用いられる場合を例に説明したが、本発明は、複数のＬＡＮまたはインターネットなどのネットワークセグメントを、ルータなどを介して接続して構成したネットワーク（例えば、イントラネットまたは広域イーサネットなど）や、バーチャルＬＡＮなどにも適用可能である。または、無線ＬＡＮにも適用可能である。
【００９９】
その他、ネットワーク１、端末装置２の全体または各部の構成、処理内容、処理順序、テーブルの内容などは、本発明の趣旨に沿って適宜変更することができる。
【産業上の利用可能性】
【０１００】
本発明は、特に、多数の端末装置２が設けられているネットワークにおいてＰ２Ｐによる通信を効率的に行うために好適に用いられる。
【図面の簡単な説明】
【０１０１】
【図１】本発明に係るネットワークの全体的な構成の例を示す図である。
【図２】端末装置のハードウェア構成の例を示す図である。
【図３】端末装置の機能的構成の例を示す図である。
【図４】ＰＣ０１〜ＰＣ０９の関連付けの例を示す図である。
【図５】接続テーブルの例を示す図である。
【図６】バックアップファイルテーブルの例を示す図である。
【図７】取得した公開鍵の例を示す図である。
【図８】端末装置がネットワークに参加する際の処理の流れの例を説明するフローチャートである。
【図９】ＰＣ１０の参加によって更新された接続テーブルの例を示す図である。
【図１０】ＰＣ１０の参加後のＰＣ１０〜ＰＣ０９の関連付けの例を示す図である。
【図１１】端末装置がネットワークから離脱する際の処理の流れの例を説明するフローチャートである。
【図１２】端末装置が他の端末装置からファイルをダウンロードする際の処理の流れの例を説明するフローチャートである。
【図１３】端末装置が他の端末装置にファイルをアップロードする際の処理の流れの例を説明するフローチャートである。
【図１４】端末装置が他の端末装置にアドレスを問い合わせる際の処理の流れの例を説明するフローチャートである。
【図１５】共用ファイルおよびそのバックアップファイルの保存場所の例を示す図である。
【図１６】端末装置が他の端末装置からバックアップファイルをダウンロードする際の処理の流れの例を説明するフローチャートである。
【符号の説明】
【０１０２】
１  ネットワーク
２  端末装置（ノード、情報処理装置）
２０３  データ生成部（アドレス問合せ手段、問合せ応対手段）
２０４  データ送信部（アドレス問合せ手段、問合せ応対手段、データ送信手段）
ＳＴＢ  接続テーブル（アドレス記憶手段）
【図１】
2006319909.tif 000003
【図２】
2006319909.tif 000004
【図３】
2006319909.tif 000005
【図４】
2006319909.tif 000006
【図５】
2006319909.tif 000007
【図６】
2006319909.tif 000008
【図７】
2006319909.tif 000009
【図８】
2006319909.tif 000010
【図９】
2006319909.tif 000011
【図１０】
2006319909.tif 000012
【図１１】
2006319909.tif 000013
【図１２】
2006319909.tif 000014
【図１３】
2006319909.tif 000015
【図１４】
2006319909.tif 000016
【図１５】
2006319909.tif 000017
【図１６】
2006319909.tif 000018