(57)【要約】【課題】従来の技術において通信エラーとなる接続を行おうとするピア同士が互いに異なるファイアウォールの内側に存在する場合においても、Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ（Ｐ２Ｐ）通信の利点（サーバを介さないピア同士の高速な通信）を出来る限り損なうことなく、ピア間の通信を可能にすること。【解決手段】予めＰ２Ｐ通信を行う装置または計算機に、ピア間を中継するＧａｔｅｗａｙ機能を付加する。接続・通信を行うピア同士が、互いに異なるファイアウォールの内側に存在し、接続を確立できない場合に、Ｇａｔｅｗａｙ機能を持つ外部のピアを検索・利用し通信を行う。【効果】Ｇａｔｅｗａｙ機能を備えた外部ネットワーク上のピアをダイナミックに利用することにより、異なるファイアウォールに存在するピア間の通信を可能とする。【選択図】  図１
2005010871.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ２Ｐ通信がエラー終了するパターンである第１のファイアウォールの内側に構築された第１の内部ネットワークに接続されたピア１と第２のファイアウォールの内側に構築された第２の内部ネットワークに接続されたピア２との接続と通信を前記第１のファイアウォールおよび前記第２のファイアウォールの外側の外部ネットワークに接続されているダイナミックゲートウェイ機能を有するピア３を用いて実現することを特徴とする２地点間のピアの計算機通信制御方法。
【請求項２】
Ｐ２Ｐ通信がエラー終了するパターンである第１のファイアウォールの内側に構築された第１の内部ネットワークに接続されたピア１と第２のファイアウォールの内側に構築された第２の内部ネットワークに接続されたピア２との接続・通信を前記第１のファイアウォールおよび前記第２のファイアウォールの外側の外部ネットワークに接続されているダイナミックゲートウェイ機能を有するピア３を用いて実現する計算機通信制御方法であって、ピア１とピア２の接続エラー検出時の段階（１）に、既に接続しているＰ２Ｐネットワークを用いて、外部ネットワークに接続されておりダイナミックゲートウェイ機能を有している利用可能なピアを検索する段階（２）と段階（２）で検索されたピア３へピア１が第１のファイアウォールの外への接続が許可されたプロトコルを用いてピア３へＰ２Ｐ接続する段階（３）と接続したピア３へピア２との中継を依頼する段階（４）とＰ２Ｐネットワークを用いて、ピア２へピア３にＰｕｓｈ接続を依頼する段階（５）とピア２が第１のファイアウォールの外への接続が許可されたプロトコルを用いてピア３へＰ２Ｐ接続を行う段階（７）を順次有することを特徴とする２地点間のピアの計算機通信制御方法。
【請求項３】
Ｐ２Ｐ通信がエラー終了するパターンである第１のファイアウォールの内側に構築された第１の内部ネットワークに接続されたピア１と第２のファイアウォールの内側に構築された第２の内部ネットワークに接続されたピア２との接続・通信を前記第１のファイアウォールおよび前記第２のファイアウォールの外側の外部ネットワークに接続されているダイナミックゲートウェイ機能を有するピア３を用いて実現する処理方法であって、ピア１とピア２の接続エラー検出時の段階（１）に、既に接続しているピア管理サーバを用いて、外部ネットワークに接続されておりダイナミックゲートウェイ機能を有している利用可能なピアを検索する段階（２）と段階（２）で検索されたピア３へピア１が第１のファイアウォールの外への接続が許可されたプロトコルを用いてピア３へＰ２Ｐ接続する段階（３）と接続したピア３へピア２との中継を依頼する段階（４）とピア管理サーバを用いて、ピア２へピア３にＰｕｓｈ接続を依頼する段階（５）とピア２が第１のファイアウォールの外への接続が許可されたプロトコルを用いてピア３へＰ２Ｐ接続を行う段階（７）を順次有することを特徴とする２地点間のピアの計算機通信制御方法。
【請求項４】
請求項２、または請求項３の記載の計算機通信制御方法において、接続しているピア１、ピア２、ピア３において、ピア３からピア１へピア２との中継開始を通知する段階（１）、ピア２がピア３へリソースをアップロードする段階（２）、ピア１がピア３からリソースをダウンロードする段階（３）を順次有することでピア１がピア２からリソースを得ることを特徴とする計算機通信制御方法。
【請求項５】
Ｐ２Ｐ通信がエラー終了するパターンである第１のファイアウォールの内側に構築された第１の内部ネットワークに接続されたピア１と第２のファイアウォールの内側に構築された第２の内部ネットワークに接続されたピア２との接続と通信を前記第１のファイアウォールおよび前記第２のファイアウォールの外側の外部ネットワークに接続されているダイナミックゲートウェイ機能を有するピア３を用いて実現することを特徴とする２地点間のピアの計算機通信制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ（Ｐ２Ｐ）通信において、通信を行おうとするピアが互いに異なるファイアウォールの内側に存在する場合の通信に関する。
【０００２】
【従来の技術】
一般的に、ファイアウォールは内部のオブジェクトから外部のネットワーク・オブジェクトへの接続を行えるようにしても、その逆方向である外部から内部への接続は行えないようにする。
【０００３】
現在次の２つに大別されるＰｕｒｅＰ２Ｐ、ＨｙｂｒｉｄＰ２Ｐにおいて、Ｐ２Ｐ通信を行おうとするピア同士が保護しているイントラネットの外側から内側に対する接続を許さないような一般的なファイアウォールでお互いに保護されている場合、どちら側からも相手先のファイアウォールに阻まれＰ２Ｐ接続を確立出来ないため、Ｐｕｓｈリクエスト（＊１）を用いても、Ｐ２Ｐ接続は失敗し、通信が出来ないという問題がある。
【０００４】
（＊１）Ｐｕｓｈリクエストとは、ファイアウォールの外側のピア３がファイアウォールの内側のピア１に対して接続に失敗した時、ファイアウォールの内側のピア１側からピア３に対して内側から外側への接続を行わせ、内側からのリソース（＊２）のアップロードによって、リソースの取得を可能とするためのリクエストメッセージである。このＰｕｓｈリクエストを用いたＰｕｓｈ機能によって、１つのファイアウォールで阻まれたファイアウォールの内側と外側のピアの通信を実現している。
【０００５】
（＊２）リソースとは、ネットワークを通過できる電子的なデータ、プログラム、およびサービス等のことを指す。
【０００６】
すなわち、従来技術を用いたＰ２Ｐ通信では、接続を行おうとするピア同士が、互いに異なるファイアウォールの内側に存在するようなパターンの場合、Ｐ２Ｐ接続が確立できない環境としてエラー終了としており、ピア間での通信を実現させるための配慮が十分になされていなかった。
【０００７】
【特許文献１】
特開２００１−１５４９５３号公報
【特許文献２】
特開平１１−２６１６４０号公報
【特許文献３】
特開２００１−２５１３６７号公報
【非特許文献１】
森下民平著：「Ｐ２Ｐアーキテクチャ」ＣＡＣ技術レポート誌、ＳＯＦＴＥＣＨＳ、２００２年、５月発行、ＶＯＬ２５・ＮＯ１
ｈｔｔｐ：／／ｗｗｗ．ｃａｃ．ｃｏ．ｊｐ／ｓｏｆｔｅｃｈｓ／
ｈｔｔｐ：／／ｗｗｗ．ｃａｃ．ｃｏ．ｊｐ／ｓｏｆｔｅｃｈｓ／ｉｍａｇｅｓ／ｓｔ２５０１＿０７．ｐｄｆ
【非特許文献２】
ｍａｎｕｋａ著：「Ｇｎｕｔｅｌｌａ  とファイヤーウォール」
ｈｔｔｐ：／／ｗｗｗ．ｊｎｕｔｅｌｌａ．ｏｒｇ／ｄｏｃｓ／ｇｎｕｔｅｌｌａ／Ｆｉｒｅｗａｌｌｓ．ｈｔｍｌ
ｈｔｔｐ：／／ｗｗｗ．ｊｎｕｔｅｌｌａ．ｏｒｇ／
【非特許文献３】
「Ｐ２Ｐ用語辞典」
ｈｔｔｐ：／／ｗｗｗ．ｊｎｕｔｅｌｌａ．ｏｒｇ／ｇｎｕｔｅｌｌａ／ｐ２ｐ−ｇｌｏｓｓａｒｙ．ｓｈｔｍｌ
ｈｔｔｐ：／／ｗｗｗ．ｊｎｕｔｅｌｌａ．ｏｒｇ／
【非特許文献４】
井口圭一著：「ネットワーク管理者のためのＧｎｕｔｅｌｌａ入門」
ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｗｉｎ２ｋ／ｅｘｐｅｒｉｍｅｎｔｓ／ｇｎｕｔｅｌｌａ＿ｆｏｒ＿ａｄｍｉｎ／ｇｎｕｔｅｌｌａ＿ｆｏｒ＿ａｄｍｉｎ＿１．ｈｔｍｌ
【０００８】
【発明が解決しようとする課題】
本発明は、上記従来技術の有する問題点に鑑みなされたものであり、その目的とするところは、従来の技術において通信が行えないパターンである、接続を行おうとするピア同士が互いに異なるファイアウォールの内側に存在する場合においても、Ｐ２Ｐの利点（特定のサーバに負荷を集中させないピア同士の高速な通信）を出来る限り損なうことなく、通常エラー終了となるピア間の通信を可能にすることである。
【０００９】
【課題を解決するための手段】
本発明の目的は、Ｐ２Ｐ通信において、接続を開始し通信を確立しようとするピアが、互いに異なるファイアウォールの内側に存在し、Ｐ２Ｐ接続できない場合に、Ｐ２Ｐの利点を大きく損なうことなくピア間の通信を可能にすることにあって、Ｐ２Ｐ通信を行うプログラムまたはハードウェアに、ピア間を中継するゲートウェイ機能を付加し、第１のファイアウォールの内側に構築された第１の内部ネットワークに接続されたピア１と第２のファイアウォールの内側に構築された第２の内部ネットワークに接続されたピア２との接続・通信を、前記第１のファイアウォールおよび前記第２のファイアウォールの外側の外部ネットワークに接続されたダイナミックゲートウェイ機能を有するピア３を検出し、検索したゲートウェイ機能を持つ外部のピアをダイナミックゲートウェイとして利用し実現する処理方法であって、ピア１とピア２の接続エラー検出時の段階（１）に、ＰｕｒｅＰ２Ｐの場合は既に接続しているＰ２Ｐネットワーク、ＨｙｂｒｉｄＰ２Ｐの場合はピア管理サーバを用いて、外部ネットワークに接続されておりダイナミックゲートウェイ機能を有している利用可能なピアを検索する段階（２）と段階（２）で検索されたピア３へピア１が第１のファイアウォールの外への接続が許可されたプロトコルを用いてピア３へＰ２Ｐ接続する段階（３）、接続したピア３へピア２との中継を依頼する段階（４）、Ｐ２Ｐネットワーク、またはピア管理サーバを介して、ピア２へピア３にＰｕｓｈ接続を依頼する段階（５）、ピア２が第１のファイアウォールの外への接続が許可されたプロトコルを用いてピア３へＰ２Ｐ接続を行う段階（６）、ピア３からピア１へピア２との中継開始を通知する段階（７）、ピア２がピア３へリソースをアップロードする段階（８）、ピア１がピア３からリソースをダウンロードする段階（９）を順次有することを特徴とする通信方法。
【００１０】
【発明の実施の形態】
以下、図面を使って本発明の実施の形態を説明する。
【００１１】
図１は、ＰｕｒｅＰ２Ｐにおいて、本発明の実施形態にかかる通信システムの構成要素を示すブロック図である。
【００１２】
本実施形態にかかる通信システムは、リソース取得側のピア１０１、リソース提供側のピア１０２、ダイナミックゲートウェイの役割をする１０３で構成される。
【００１３】
ファイアウォール２０１の内側には内部ネットワーク３０１が構築されてイントラネット４０１を構成している。
【００１４】
ファイアウォール２０２の内側には内部ネットワーク３０２が構築されてイントラネット４０２を構成している。
【００１５】
ファイアウォール２０１およびファイアウォール２０２の外側には、インターネット等のオープンネットワークを含む外部ネットワーク３０３が構築されている。
【００１６】
リソース取得側のピア１０１は、イントラネット４０１に接続されて利用される。
【００１７】
リソース提供側のピア１０２は、イントラネット４０２に接続されて利用される。
【００１８】
ダイナミックゲートウェイとして利用する１０３は、外部ネットワーク３０３から接続可能な状態で接続されている。
【００１９】
本実施形態は、イントラネット４０１の環境下にいるピア１０１が、イントラネット４０２の環境下にいるピア１０２からお互いのファイアウォールを障害とすることなくリソースを取得するものである。
【００２０】
つぎに、図１の各機器、各機能の説明をする。
【００２１】
一般的なピアはＳｅｒｖｅｒ機能とＣｌｉｅｎｔ機能で構成されている。Ｓｅｒｖｅｒ機能は、Ｃｌｉｅｎｔ機能からの接続受付、ファイルの格納およびデータ通信機能を有する。Ｃｌｉｅｎｔ機能は、Ｓｅｒｖｅｒ機能への接続、ファイルの格納およびデータ通信機能を有する。本発明では、従来のピアにＧａｔｅｗａｙ機能を付加する。また、各ピアは自ピアがＧａｔｅｗａｙ機能を有し、外部からの接続が可能であるかどうかの問い合わせに回答できる機能を有する。図１のピアはＧａｔｅｗａｙ機能とＧａｔｅｗａｙ問い合わせに回答する機能を有するピアを表している。
【００２２】
Ｇａｔｅｗａｙ機能は、接続・通信を行おうとしている２つのピアのＣｌｉｅｎｔ機能からの接続を受け付け、接続された２つのピア間のデータを中継する機能、ファイルを格納する機能、２つのＣｌｉｅｎｔ機能とデータ通信する機能を有する。
【００２３】
Ｇａｔｅｗａｙ問い合わせに回答する機能は、Ｇａｔｅｗａｙ検索時のメッセージに対して、他のピア同士のＧａｔｅｗａｙとして自ピアが利用可能かどうかを回答する機能である。
【００２４】
ファイアウォール２０１および２０２は、内部ネットワークと外部ネットワークとの間のアクセスを管理し制限する機能を有するコンピュータまたは専用ハードウエアである。ファイアウォールには、通常その目的に応じて、内部ネットワークから外部ネットワークへの接続のみが可能に設定されたポートおよび外部ネットワークと内部ネットワークとの間の双方向の接続が可能に設定されたポートが設けられており、さらに通信に用いるプロトコルごとに、予め使用するポートが決められている。通常、前記内部ネットワークから外部ネットワークへの接続のみが可能に設定されたポートを使用するプロトコルとしてはＨＴＴＰ、ＦＴＰ等が、前記外部ネットワークと内部ネットワークとの間の双方向の接続が可能に設定されたポートを使用するプロトコルとしてはＳＭＴＰ等が割り当てられることが多い。本実施形態においては、上記各機器はこれらのポートやプロトコルを用いることにより、後述する特定の通信を行うものである。
【００２５】
内部ネットワーク４０１および４０２は、例えば、イーサネット（登録商標）、トークンリング、ＦＤＤＩなどのＬＡＮや、これらのＬＡＮ同士を専用線等で接続したＷＡＮで構成されている。なお、内部ネットワークおよび４０１，４０２上、外部ネットワーク３０３上の機器の種類および台数は、実際には図１に示す例に限定されない。
【００２６】
外部ネットワーク３０３は、ファイアウォール２０１および２０２の外側に構築されたネットワークであり、バリアセグメントおよびインターネット等のオープンネットワークを含むものである。
【００２７】
図３は一般的なＰｕｒｅＰ２Ｐ、ＨｙｂｒｉｄＰ２Ｐにおいて、リソース検索後のＰ２Ｐ接続の流れを示すフローチャートである。次に図３のフローチャートの説明を行う。
【００２８】
ピア１、ピア２は、Ｐｕｒｅ  Ｐ２Ｐネットワークに既に接続しているものとし、リソースの取得側をピア１、リソース検索によって見つかったリソースの提供側をピア２とし、ピア１からピア２へＰ２Ｐ接続を開始し（３００１）、ピア２側がファイアウォール等で保護されていない等で、接続が成功した場合（３００２のＹｅｓ）、ピア１はピア２からリソースをダウンロードし（３００３）、接続を閉じて（３００４）処理を終了する。
【００２９】
３００２の分岐において、ピア２側がファイアウォール等で保護されている場合で、接続が失敗した場合（３００２のＮｏ）、ピア１はピア２側からの接続を行ってもらうために、ピア１からピア２へメッセージを用いてＰｕｓｈリクエストを送信することでＰｕｓｈ接続を要求し（３００５）、Ｐｕｓｈ接続の要求を受信したピア２はピア２からピア１に対してＰ２Ｐ接続を開始し（３００６）、ピア１側がファイアウォール等で保護されていない等で、接続が成功した場合（３００７のＹｅｓ）、ピア２はピア１からリソースをアップロードし（３００８）、接続を閉じて（３００９）処理を終了する。
【００３０】
３００７の分岐において、ピア１側がファイアウォール等で保護されている場合で、接続が失敗した場合（３００７のＮｏ）、Ｐ２Ｐ接続は不可能であるため、処理をエラー終了（３０１０）する。
【００３１】
以上のフローの流れから、Ｐ２Ｐ接続のパスをまとめると、以下の３パターンとなる。
（ａ）ピア１がピア２からリソースを取得する際、ピア１、ピア２共にファイアウォールで保護されたネットワークに属さない場合、または、ピア１がファイアウォールで保護されたネットワークに属し、ピア２がファイアウォールで保護されたネットワークに属さない場合の処理フローは次のようになる。
【００３２】
スタート→３００１→３００２→３００３→３００４→エンド
（ｂ）ピア１がピア２からリソースを取得する際、Ｐ２Ｐ技術の中には、外側から内側のピアへの接続が行えない場合でもＰｕｓｈリクエストを用いてファイアウォールの外側から内側のリソースを取得する処理を可能にしているものがある。ピア１がファイアウォールで保護されたネットワークに属さず、ピア２がファイアウォールで保護されたネットワークに属す場合の処理フローは次のようになる。
【００３３】
スタート→３００１→３００２→３００５→３００６→３００７→３００８→３００９→エンド
（ｃ）ピア１がピア２からリソースを取得する際、ピア１、ピア２が異なるファイアウォールで保護されたネットワークに属する場合の処理フローは次のようになる。
【００３４】
スタート→３００１→３００２→３００５→３００６→３００７→３０１０→エンド
パターン（ｃ）の場合に分岐３００７でＰ２Ｐ通信が不可能な理由は、Ｐ２Ｐ通信を行おうとするピア同士がお互いに異なるファイアウォールで保護されている場合、どちら側からも相手先のファイアウォールに阻まれＰ２Ｐ接続を確立出来ないため、Ｐｕｓｈリクエストを用いても、Ｐ２Ｐ接続は失敗し、通信が出来ないという問題があるためである。
【００３５】
つぎに、本実施形態における通信システムの動作の概要を説明する。本実施形態の場合でも、３００１から３００９の流れは同様である。本実施形態で、流れの変わる３００７以降のフローを図４に示す。
【００３６】
次に図４のフローの説明を行う。但し、３００１から３００７と３００７から３００９は図３と同様なので、説明は割愛する。
【００３７】
３００７の分岐において、ピア１側がファイアウォール等で保護されている場合で、接続が失敗した場合（３００７のＮｏ）、Ｐ２Ｐ接続は不可能であるため、外部ネットワークに存在するＧａｔｅｗａｙ機能を有するピアをダイナミックＧａｔｅｗａｙとして利用する処理シーケンスを開始し（４００１）、Ｐｕｒｅ  Ｐ２Ｐネットワークへメッセージを用いて中継可能なＧａｔｅｗａｙ機能を持つピアを検索し（４００２）、中継可能なピアが存在するかを判断し（４００３）、中継可能なピアが存在する場合（４００３のＹｅｓ、中継可能ピアとしてピア３が応答したとする）、ピア１はピア３へピア２との中継（Ｇａｔｅｗａｙ）を依頼し、ピア３へ接続し（４００４）、ピア１はピア２へＰｕｓｈリクエストを送信して、ピア３へのＰｕｓｈ接続を要求し（４００５）、Ｐｕｓｈ接続の要求を受信したピア２はピア２からピア３に対してＰ２Ｐ接続を開始し、接続確立後ピア２はピア３へリソースをアップロードし、ピア３はピア２からアップロードされたデータをピア１へ中継し、ピア１はピア３からリソースをダウンロードし、接続を閉じて処理を終了する（４００６）。
【００３８】
４００３の分岐において、中継可能なピアが存在しない場合（４００３のＮｏ）、Ｇａｔｅｗａｙを介すことが出来ないため、ピア１とピア２との接続が不可能なため、エラー終了する（４００８）。
【００３９】
図５は、図１の環境において、ピア１０１をピア１、ピア１０２をピア２、ピア１０３をピア３として、それぞれのメッセージ処理を示したシーケンス図である。シーケンス図は、ピア１、ピア２が、Ｐｕｒｅ  Ｐ２Ｐネットワークに既に接続しているものとし、リソースの取得側をピア１、リソース検索によって見つかったリソースの提供側をピア２とし、ピア１からピア２へＰ２Ｐ接続を開始するところから記述している。
【００４０】
ピア１からピア２へＰ２Ｐ接続を開始するが、ピア２がファイアウォールで保護されているため、接続は失敗する（５００１）。ピア１はピア２からの接続を行ってもらうために、ピア１からピア２へＰｕｒｅＰ２Ｐネットワークを介して（５００２）Ｐｕｓｈリクエストを送信する（５００３）。ピア１からのＰｕｓｈリクエストを受信したピア２はピア１に対して、Ｐ２Ｐ接続を開始するが、ピア１がファイアウォールで保護されているため、接続は失敗する（５００４）。ピア２はＰ２Ｐネットワークを介して（５００５）ピア１へピア２側からの接続に失敗したことを送信する（５００６）。この場合、通常のＰ２Ｐ接続は不可能なため、ピア１は、メッセージを用いて、Ｐ２Ｐネットワークの構成ピアに対してＧａｔｅｗａｙ提供依頼メッセージを送信する（５００７）、メッセージはＰ２Ｐネットワークを構成している様々なピアに送信され（５００８，５００９，５０１０）、ピア３がＧａｔｅｗａｙ機能を提供可能であることをＰ２Ｐネットワークを介して（５０１１）、ピア１へ返信する（５０１２）。次に、図７の処理シーケンスに移行するが、図７の処理シーケンスは、以下の図２、図６の説明の後に行う。
【００４１】
図２は、ＨｙｂｒｉｄＰ２Ｐにおいて、本発明の実施形態にかかる通信システムの構成要素を示すブロック図である。
【００４２】
本実施形態にかかる通信システムは、リソース取得側のピア１０１、リソース提供側のピア１０２、ダイナミックゲートウェイの役割をする１０３、ピア管理サーバー５０３で構成される。
【００４３】
図２で、図１と同様の機能を有する部分については、説明の重複を避けるため割愛し、図１と異なる部分の説明のみ行う。
【００４４】
ピア管理サーバ５０３は、ピア管理サーバーが構成するネットワークに参加しているピアを管理するコンピュータまたは専用ハードウエアであり、外部ネットワーク３０３からピア管理サーバーへ接続されたピアの所持リソース、ピアの接続アドレス、ピアのＧａｔｅｗａｙ機能の有無等を管理し、ピア管理サーバに接続しているピアからのリソース、Ｇａｔｅｗａｙ検索要求に対し、条件に合うピアの情報を返す機能を有する。
【００４５】
図６は、図２の環境において、ピア１０１をピア１、ピア１０２をピア２、ピア１０３をピア３として、それぞれのメッセージ処理を示したシーケンス図である。シーケンス図は、ピア１、ピア２が、ピア管理サーバに既に接続しているものとし、リソースの取得側をピア１、リソース検索によって見つかったリソースの提供側をピア２とし、ピア１からピア２へＰ２Ｐ接続を開始するところから記述している。
【００４６】
ピア１からピア２へＰ２Ｐ接続を開始するが、ピア２がファイアウォールで保護されているため、接続は失敗する（６００１）。ピア１はピア２からの接続を行ってもらうために、ピア１からピア２へピア管理サーバを介して（６００２）Ｐｕｓｈリクエストを送信する（６００３）。ピア１からのＰｕｓｈリクエストを受信したピア２はピア１に対して、Ｐ２Ｐ接続を開始するが、ピア１がファイアウォールで保護されているため、接続は失敗する（６００４）。ピア２はピア管理サーバを介して（６００５）ピア１へピア２側からの接続に失敗したことを送信する（６００６）。この場合、通常のＰ２Ｐ接続は不可能なため、ピア１は、ピア管理サーバを用いて、Ｐ２Ｐネットワークの構成ピアに対してＧａｔｅｗａｙ提供可能なピアを検索する（５００７）、ピア管理サーバはピアの管理情報から、Ｇａｔｅｗａｙを提供できるピアを検索する（６００８）。検索の結果、導き出されたピア（＝ピア３）にたいして、Ｇａｔｅｗａｙ可能か問い合わせメッセージを送信し（６００９）、可能であるという応答の場合（６０１０）、検索呼び出しもとのピア１へ、Ｇａｔｅｗａｙ可能なピア（＝ピア３）の情報を返す（６０１１）。
【００４７】
メッセージはＰ２Ｐネットワークを構成している様々なピアに送信され（５００８，５００９，５０１０）、ピア３がＧａｔｅｗａｙ機能を提供可能であることをＰ２Ｐネットワークを介して（５０１１）、ピア１へ返信する（５０１２）。次に、図７の処理シーケンスに移行する。
【００４８】
図７の処理シーケンスは、図５、図６の処理シーケンス後の共通処理シーケンスである。Ｇａｔｅｗａｙ可能なピアがピア３であることを理解したピア１は、ピア３へＰ２Ｐ接続を行い、ピア３に対して、ピア２との中継を依頼する（７００１）。ピア１はピア２に対して、ＰｕｒｅＰ２Ｐネットワークの場合はＰ２Ｐネットワーク、ＨｙｂｒｉｄＰ２Ｐの場合はピア管理サーバを介して（７００２）、ピア３へのＰｕｓｈ接続を依頼する（７００３）。依頼を受け取ったピア２は、ピア３に対して、Ｐ２Ｐ接続を行う（７００４）。ピア２からの接続が完了し、その接続がピア１に向けてのものであることを確認すると、ピア３はピア１に対してピア２の中継を開始したことを通知する（７００５）。ピア２はピア３にリソースをアップロードする（７００６）。ピア１はピア３の中継を介してピア３からピア２のリソースをダウンロードする（７００７）。以上のようにして、本発明では、異なるファイアウォールの内側に存在するピア同士の通信を実現する。
【００４９】
以下に、その他の図の説明補足を示す。
【００５０】
図８は、ＰｕｒｅＰ２ＰにおけるＰｕｒｅＰ２Ｐネットワークの一例を示した図である。Ｐｕｒｅ  Ｐ２Ｐの場合は、接続開始時に、新たなピアとして既存のピア間が結合されたＰ２Ｐネットワークに参加する。図８は１０１は１０５と、１０５は１０６と１０１，１０６は１０５と１０８というように、ピア同士が接続し、一つのネットワークを構成している状態を示した図である。ネットワーク上をメッセージが流れて、ピア間の問い合わせ、応答、配信が行われる。リソース等の検索等は、Ｐ２Ｐネットワークに、メッセージを配信して（コミュニケーションによって）行う。Ｐ２Ｐネットワークにメッセージを送信することで、特定の相手先が決定すると、決定したピアとのＰ２Ｐ接続が行い、リソースを得る。例えば、１０４が１０５のリソースを必要とする場合、図８の９９９で示すように１０４から１０５へ直接セッションを確立しリソースをダウンロードする。
【００５１】
図９は、Ｈｙｂｒｉｄ  Ｐ２Ｐのネットワークトポロジーの一例である。
【００５２】
１０１とピア管理サーバ、１０２とピア管理サーバ、１０３とピア管理サーバというように、ピア管理サーバを利用したネットワークを構成している。Ｈｙｂｒｉｄ  Ｐ２Ｐの場合は、接続開始時にピアを集中管理しているピア管理サーバに接続し、リソースの検索などはピア管理サーバを利用して行い、必要なリソースを持ったピアの接続先を管理サーバから受け取る。必要なリソース等を持つピアが見つかった場合、そのリソースを所有しているピアへＰ２Ｐ接続を行い、リソースを得る。例えば１０４が１０５のリソースを必要とする場合、図９の９９９で示すように１０４から１０５へ直接セッションを確立しリソースをダウンロードする。
【００５３】
【発明の効果】
以上説明したように、本発明によれば、Ｇａｔｅｗａｙ機能を備えた外部ネットワーク上のピアをダイナミックに利用することにより、従来接続不能だった、異なるファイアウォールに存在するピア間の通信を行う。
【００５４】
本発明によれば、必ず１つ以上は存在する外部ネットワーク上のピアをダイナミックに検索しゲートウェイとして利用するため、別途Ｇａｔｅｗａｙ用のピアを用意する必要はない。
【００５５】
本発明によれば、ファイアウォールの既存の設定を変更する必要がないため、ファイアウォールの防御機能を有効にしたままで、ピア間の通信が可能になる。
【図面の簡単な説明】
【図１】Ｐｕｒｅ  Ｐ２Ｐにおいて本発明の実施形態にかかる通信システムの全体構成を示すブロック図である。
【図２】Ｈｙｂｒｉｄ  Ｐ２Ｐにおいて本発明の実施形態にかかる通信システムの全体構成を示すブロック図である。
【図３】Ｐｕｒｅ  Ｐ２Ｐ、Ｈｙｂｒｉｄ  Ｐ２Ｐにおいて、従来技術でＰ２Ｐ接続を確立するまでのフローチャートである。
【図４】Ｐｕｒｅ  Ｐ２Ｐ、Ｈｙｂｒｉｄ  Ｐ２Ｐにおいて、本発明を用いて、通信を行うまでのフローチャートである。本発明によって、変更される図３のフローチャートの流れの３００７以降を示した。３００１から３００６までのフローは図３と同様である。
【図５】図１において、ピア１０１がピア１０２とのＰ２Ｐ接続を開始するところから、Ｇａｔｅｗａｙ機能を有するピア１０３をダイナミックに検索・取得するまでの処理手順を示すシーケンスチャートである。
【図６】図２において、ピア１０１がピア１０２とのＰ２Ｐ接続を開始するところから、Ｇａｔｅｗａｙ機能を有するピア１０３を取得するまでの処理手順を示すシーケンスチャートである。
【図７】図５、図６において、Ｇａｔｅｗａｙ機能を有するピア１０３を取得した後、ピア１０３を中継させてピア１０１とピア１０２が通信を行う処理手順を示すシーケンスチャートである。
【図８】Ｐｕｒｅ  Ｐ２Ｐにおいて構築されるＰ２Ｐネットワークトポロジーとピア１０４とピア１０５のＰ２Ｐ接続の一例を示すブロック図である。
【図９】Ｈｙｂｒｉｄ  Ｐ２Ｐにおいて構築されるネットワークトポロジーとピア１０４とピア１０５のＰ２Ｐ接続の一例を示すブロック図である。
【符号の説明】
１０１，１０２，１０３，１０４，１０５，１０６，１０７，１０８，１０９，１１０，１１１…ピア、２０１，２０２…ファイアウォール、３０１，３０２…内部ネットワーク、３０３…外部ネットワーク、４０１，４０２…イントラネット、５０３…ピア管理サーバ、９９９…新たなＰ２Ｐ接続。
【図１】
2005010871.tif 000003
【図２】
2005010871.tif 000004
【図３】
2005010871.tif 000005
【図４】
2005010871.tif 000006
【図５】
2005010871.tif 000007
【図６】
2005010871.tif 000008
【図７】
2005010871.tif 000009
【図８】
2005010871.tif 000010
【図９】
2005010871.tif 000011