(57)【要約】      （修正有）【課題】メールプロトコルやＨＴＴＰなどの汎用プロトコルを用いてＰ２Ｐ接続可能に構成しながら、その際に問題となるＮＡＴも克服できるようにする。【解決手段】外部端末と、外部ネットワークにＮＡＴを介して接続されたＰ２Ｐ接続におけるＮＡＴ越えが不能に構成された第１内部端末とを、Ｐ２Ｐ接続におけるＮＡＴ越えが可能に構成された第２内部端末を介して、Ｐ２Ｐ接続するためのものであり、前記第２内部端末が、当該第２内部端末の外部ネットワークでの識別情報に前記第１端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第１内部端末に前記要求又は応答を転送する一方、前記第１内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に当該応答又は要求を転送する。【選択図】図４
2012133494.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワーク上にある外部端末と、前記外部ネットワークにＮＡＴを介して接続された内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが不能に構成された第１内部端末とを前記既定プロトコルでＰ２Ｐ接続するためのものであり、
前記内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが可能に構成された第２内部端末がリレーエージェントを具備し、
このリレーエージェントが、
前記第２内部端末の外部ネットワークでの識別情報に前記第１端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第１内部端末に該要求又は応答を転送する一方、前記第１内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に該応答又は要求を転送することによって、前記外部端末と第１内部端末とをＰ２Ｐ接続することを特徴とするＰ２Ｐ通信システム。
【請求項２】
前記外部端末が、データ通信としてメールプロトコル及び前記既定プロトコルのみに制限された携帯端末である請求項１記載のＰ２Ｐ通信システム。
【請求項３】
外部ネットワーク上にある外部端末と、前記外部ネットワークにＮＡＴを介して接続された内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが不能に構成された第１内部端末とを、前記内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが可能に構成された第２内部端末を介して、前記既定プロトコルでＰ２Ｐ接続するためのものであり、
前記第２内部端末が、
当該第２内部端末の外部ネットワークでの識別情報に前記第１端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第１内部端末に前記要求又は応答を転送する一方、前記第１内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に当該応答又は要求を転送することにより、前記外部端末と第１内部端末とをＰ２Ｐ接続することを特徴とするＰ２Ｐ通信方法。
【請求項４】
前記第２内部端末が、自身の外部ネットワークでの識別情報を前記既定プロトコルとは別のメールプロトコルで外部端末及び内部端末に送信し、
前記第１内部端末は、前記識別情報に基づいて前記積層識別情報を生成し該積層識別情報を前記外部端末にメールプロトコルで送信することを特徴とする請求項３記載のＰ２Ｐ通信方法。
【請求項５】
前記請求項１記載のリレーエージェントとしての機能を発揮することを特徴とするＰ２Ｐ通信用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末同士をピアツーピア（以下、Ｐ２Ｐとも言う）接続するための通信システム等に関するものである。
【背景技術】
【０００２】
Ｐ２Ｐ接続を実現するにあたっては、ＮＡＴ越えという問題をクリアしなければならない。ＳＴＵＮ、ＴＵＲＮなどのハイブリッド型の既存Ｐ２Ｐ接続方式では、サーバやスーパーノードが端末情報を管理し、Ｐ２Ｐ接続に必要な情報を各端末に教えることによってＮＡＴ越えＰ２Ｐ接続を実現している。
【０００３】
また、ＵＰｎＰ・ＩＧＤのような、端末のみでＮＡＴトラバーサルの通信路を開くことのできる端末が、サーバ型でないＰ２Ｐで接続しようとする場合は、ユーザが手動で通信路を準備し、その情報を利用して接続する。例えば、特許文献１に示されているように、メールプロトコルを利用したＮＡＴ超えの技術もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３００２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述したサーバー型のＰ２Ｐ接続は、サーバと対話できる専用プロトコルを全ての端末に実装する必要があるため、上記プロトコルを用いて通信する事が可能なＰＣやＤＴＶ、レコーダなどのように、メーカや利用者が自由な通信ソフトウェアを利用することができるデジタルネットワーク端末でしか使用できない。逆に言えば、主としてセキュリティのために通信をキャリアによって制限されている携帯電話などの端末（以下、制限端末とも言う。）は、Ｐ２Ｐに特化したプロトコルやアプリケーションをサービスとして利用することは難しい。
【０００６】
また、上記例のうち、ＳＴＵＮやＴＵＲＮなどのサーバを利用したＰ２Ｐ接続方式は原理的にサーバネットワークに障害が発生したり、何らかの理由によりサーバ提供者がサービスを終了したりするとＰ２Ｐ接続が不可能になる。この時のためにユーザサイドのみでＰ２Ｐ接続可能なサーバレス型（ピュア型）のＰ２Ｐ接続サービスも提供されているが、多段ＮＡＴ超えができないといった欠点がある。
さらに、サーバー型のＰ２Ｐ接続では、端末側のある程度の固有情報をサーバーに登録する必要があり、情報漏洩の点から言えばあまり好ましいものではない。
【０００７】
本発明は、かかる課題を解決すべくなされたものであって、メールプロトコルやＨＴＴＰなどの汎用プロトコルを用いて、例えば前記制限端末でもＰ２Ｐ接続可能に構成しながら、その際に問題となるＮＡＴも克服できるようにした通信システム等を提供すべく図ったものである。
【課題を解決するための手段】
【０００８】
すなわち、本発明は、外部ネットワーク上にある外部端末と、前記外部ネットワークにＮＡＴを介して接続された内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが不能に構成された第１内部端末とを前記既定プロトコルでＰ２Ｐ接続するためのものである。
【０００９】
そして、前記内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが可能に構成された第２内部端末がリレーエージェントを具備し、このリレーエージェントが、前記第２内部端末の外部ネットワークでの識別情報に前記第１端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第１内部端末に該要求又は応答を転送する一方、前記第１内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に該応答又は要求を転送することによって、前記外部端末と第１内部端末とをＰ２Ｐ接続することを特徴とするＰ２Ｐ通信システムである。
【００１０】
また、本発明は、外部ネットワーク上にある外部端末と、前記外部ネットワークにＮＡＴを介して接続された内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが不能に構成された第１内部端末とを、前記内部ネットワーク上にあってＰ２Ｐ接続における前記既定プロトコルでのＮＡＴ越えが可能に構成された第２内部端末を介して、前記既定プロトコルでＰ２Ｐ接続するためのものであり、前記第２内部端末が、当該第２内部端末の外部ネットワークでの識別情報に前記第１端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第１内部端末に前記要求又は応答を転送する一方、前記第１内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に当該応答又は要求を転送することにより、前記外部端末と第１内部端末とをＰ２Ｐ接続することを特徴とするＰ２Ｐ通信方法である。
【００１１】
また、本発明は、前記リレーエージェントとしての機能を発揮することを特徴とするＰ２Ｐ通信用コンピュータプログラムである。
【００１２】
このようなものであれば、端末にｈｔｔｐなど標準プロトコルをそのまま利用できるので、特別なポートでの通信が遮断されている携帯端末や、ファイアウォール配下の端末とでもＰ２Ｐ接続が可能となる。また、サーバを利用しないＰ２Ｐ接続方式において、ＵＰｎＰＮＡＴトラバーサルが利用できない環境でもＰ２Ｐの接続性を確保できる。
【００１３】
前記積層識別情報を共有するには、前記第２内部端末が、自身の外部ネットワークでの識別情報を前記既定プロトコルとは別のメールプロトコルで外部端末及び内部端末に送信し、前記第１内部端末は、前記識別情報に基づいて前記積層識別情報を生成し該積層識別情報を前記外部端末にメールプロトコルで送信するようにしておけばよい。
【発明の効果】
【００１４】
以上に述べた本発明によれば、サーバを用いることなく、ＮＡＴ越えできない第１内部端末と、外部端末とを既定プロトコルによってＰ２Ｐ接続できるので、専用プロトコルを実装する必要もないし、また、携帯電話などの制限端末でも利用することが可能となる。
また、サーバー型のＰ２Ｐ接続とは異なり、ピュア型のＰ２Ｐ接続に近いので、情報漏洩の点においても好ましく、小規模でのＰ２Ｐ接続システムに適用してその効果が顕著となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態におけるＰ２Ｐ通信システムの全体構成図である。
【図２】同実施形態における通常端末の機能ブロック図である。
【図３】同実施形態における制限端末の機能ブロック図である。
【図４】同実施形態において、制限端末６００と通常端末４００とがＰ２Ｐ通信を行う手順を説明したスケジューリング図である。
【図５】同実施形態において、制限端末６００と通常端末４００とがＰ２Ｐ通信を行っている状態を概念的に示した概念図である。
【図６】同実施形態において、通常端末５００と通常端末４００とがＰ２Ｐ通信を行う手順を説明したスケジューリング図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を、図面を参照して説明する。
【００１７】
本実施形態に係る通信システムは、図１に示すように、端末３００、４００、５００、６００を外部ネットワーク網（ＷＡＮ、例えばインターネット）を介して接続可能に構成したものである。以下に、各部を説明する。
【００１８】
前記端末３００、４００、５００は、図２に示すように、パソコンやデジタルネットワーク機器などのように、種々の通信アプリケーションをインストール可能でかつ動作させることができるＩＰネットワーク端末である。以下、これら３種の端末を通常端末とも言う。
【００１９】
前記通常端末３００、４００、５００は、物理的には、ＣＰＵ、メモリ、通信デバイス、表示機器、入力手段等（図示しない）を具備しており、前記メモリにインストールしたプログラムにしたがって、ＣＰＵやその他の周辺機器が協働動作することによって、サーバ機能部１０１、クライアント機能部１０２、リレーエージェント１０３などとしての機能を発揮する。
【００２０】
サーバ機能部１０１とは、Ｐ２Ｐ通信を行う際に、通信相手からの接続を受けるサーバ的な役割を担うソフトウェアコンポーネントである。
【００２１】
クライアント機能部１０２とは、Ｐ２Ｐ通信を行う際に、通信相手のサーバプログラム１０１に接続を要求しクライアント的な役割を担うソフトウェアコンポーネントである。
【００２２】
リレーエージェント１０３とは、通常のＰ２Ｐ接続が行えない場合に、代替的にあたかもＰ２Ｐ接続が可能であるかのように接続路を提供する機能を持つソフトウェアコンポーネントである。
【００２３】
これら通常端末のうち、端末３００は、例えばＵＰｎＰ・ＩＧＤ機能をサポートするＮＡＴルータ３１０及びインターネットサービスプロバイダ３２０を介して、インターネットに接続されており、自身の持つＵＰｎＰ・ＩＧＤ機能によって、ルータ３１０の外部アドレスを取得して外部ネットワーク（インターネット）でのＵＲＬを生成できるとともに、ＮＡＴ設定を行うことができる、つまりＮＡＴ越え可能なものである。
【００２４】
端末５００は、インターネットサービスプロバイダ５２０を介して直接インターネットに接続されており、そもそもＮＡＴ不要で自身のＩＰアドレスを把握することができるものである。なお、この端末５００は請求項で言う外部端末に該当する。
【００２５】
端末４００は、ＵＰｎＰ・ＩＧＤ機能をサポートしないＮＡＴルータ４１０及びインターネットサービスプロバイダ４２０を介して、インターネットに接続されてはいるが、自身では、インターネットのＵＲＬを生成できないし、ＮＡＴ設定を行うことができない、つまりＮＡＴ越え不可能なものである。
【００２６】
なお、前記端末３００と端末４００とは、ローカルアドレスを有し、内部ネットワーク（ＬＡＮ）により接続可能に構成されている。なお、この端末３００は請求項で言う第２内部端末に該当し、端末４００が請求項で言う第１内部端末に該当する。
【００２７】
端末６００は、例えば携帯電話であり、前記通常端末と物理的にはほぼ同様の構成を有するものであるが、キャリアやメーカの制限によって自由なパケット通信を行えない端末である。具体的には、ネットワークに対して、ＨＴＴＰ等のＷＥＢ標準プロトコルや標準メールプロトコルでのみデータ通信可能なものである。この端末６００は、請求項で言う外部端末に該当し、前記端末５００との区別のため、以下では制限端末６００とも言う。
【００２８】
この制限端末６００には、図３に示すように、制限クライアント機能部２０１がインストールしてある。この制限クライアント機能部２０１とは、Ｐ２Ｐ専用のクライアント用のソフトウェアコンポーネントを動作させることができないこの制限端末６００において、代替に通信を行うＷＥＢブラウザなど標準の通信が行えるソフトウェアコンポーネントである。
【００２９】
しかして、本実施形態では、前記リレーエージェント１０３を利用することによって、前記制限端末６００又は通常端末５００と、ＮＡＴ越え不能な前記通常端末４００とをＮＡＴ越え可能な通常端末３００を介してＰ２Ｐ接続できるようにしている。具体的に図４を参照しつつ以下に説明する。
【００３０】
ここでは、前提として、各通常端末は、ＷＥＢブラウザしか持たない制限端末６００のような携帯端末等からアクセス可能なＷＥＢコンテンツによるＧＵＩを有しているものとする。また、各端末の電子メールアドレスは互いに知られており、メールプロトコルによる電子メールを介した通信は端末同士で可能であるとする。
【００３１】
（１）まず通常端末３００が、例えばＵＰｎＰ・ＩＧＤ機能により、自身に届くＮＡＴ設定をルータ３１０に設定し、ＵＲＬを生成する。具体的には、端末３００は、前記ＵＰｎＰ・ＩＧＤ機能により、ルータ３１０の外部アドレスを取得する。そして、ＵＲＬとして「ｈｔｔｐ（ｓ）：／／ルータ３１０のＩＰアドレス（又はＤＤＮＳ名）：ＮＡＴ設定したポート番号」を生成する。そして、この端末３００は自身への接続情報であるこのＵＲＬを他の端末に電子メール送信する。このことによって、他の端末から当該端末３００に対して、標準プロトコルであるＨＴＴＰプロトコルによる接続が可能になる。
【００３２】
（２）ＮＡＴ設定できず、自身のＵＲＬを生成できない端末４００は、端末３００から届いたＵＲＬアドレス情報を元にＰ２Ｐ接続する。
【００３３】
（３）そして、この端末４００は、端末３００に、制限端末６００との接続のための転送を依頼する。このときの、ＴＣＰコネクションの向きは図に示すように、端末４００から端末３００への方向である。
【００３４】
（４）この転送依頼を受けて、端末４００のリレーエージェント１０３は、端末４００のための転送用のＵＲＬを生成する。例えば、ルータ３１０のＤＤＮＳ名が「foo.ne.jp」、ＮＡＴ設定のポート番号が「８０」であったとすると、この端末３００のＵＲＬを該端末４００は、（１）での電子メールによって把握しているので、端末４００のホスト名が「hoge」とした場合、端末４００のリレーエージェントは、前記端末３００のＵＲＬに自身の識別情報を付加した、例えば「http(s)://foo.ne.jp:80/hoge/」等の転送用ＵＲＬを生成する。
【００３５】
（５）端末４００内のリレーエージェント１０３は、端末４００のサーバ機能部１０１と、端末３００のリレーエージェント１０３に接続し、前記転送用ＵＲＬを知らせることによって転送の準備をする。なお、転送用ＵＲＬは端末３００が生成して端末４００に知らせてもよい。
【００３６】
（６）そして、端末４００は、上記（４）で生成した転送用ＵＲＬを制限端末６００に電子メール送信する。
【００３７】
（７）制限端末６００は、端末４００から受け取った転送用ＵＲＬに従い、端末３００のリレーエージェントに接続し、ＧＥＴ要求等を出す。
【００３８】
（８）端末３００のリレーエージェントは転送用ＵＲＬの「hoge」を見て端末４００への要求であると判断し、端末４００のリレーエージェント１０３に要求を転送する。
【００３９】
（９）端末４００のリレーエージェントは端末４００のサーバに要求を転送し、応答を受け取る。その後、端末３００のリレーエージェント経由で制限端末６００に応答が転送される。
【００４０】
上述した構成を模式的に示すと、図５のようになる。端末６００と端末４００との間に介在する端末３００は、端末６００と端末４００とのＰ２Ｐ接続を仲介しているが、接続のＴＣＰコネクションの向きは双方端末３００の方を向いており、この点において、この端末３００が、既存の仲介サーバであるｐｒｏｘｙサーバ等とは全く異なった機能を有するものであることがわかる。
【００４１】
次に、端末５００と端末４００とのＰ２Ｐ接続を図６を参照して説明する。
（１）端末３００、５００は自身のＰ２Ｐ接続可能なＩＰアドレス又はＤＤＮＳ名とポート番号を各端末へ電子メールを用いて送信する。
【００４２】
（２）端末４００は自身でＮＡＴ越えが提供できないので、端末３００へ図４における（２）〜（６）と同じようにリレー設定を行う。すなわち、端末３００のリレーエージェントは、端末４００の転送のためのポートを用意する。端末４００は再度Ｐ２Ｐ接続可能なＩＰアドレス(ＤＤＮＳ名)とポートの組として、ルータ３１０のアドレスと、端末４００のリレーエージェントが用意したポート番号を通知する。
【００４３】
（３）この時、端末３００が端末４００への接続を要求する時、すでにリレーエージェント同士の接続が完成しているので、その通信路を利用する。
【００４４】
（４）また、端末５００が端末６００への接続を要求する時は、端末５００のリレーエージェントが、端末３００のリレーエージェントに接続する。
【００４５】
（５）端末３００のリレーエージェントは、端末５００から接続されたポートが端末４００の転送用に準備したものであると判断できるので、この接続を利用した要求は全て、端末４００のリレーエージェントに転送する。
【００４６】
（６）端末４００のリレーエージェントは、転送されてきた要求を自身のサーバに転送し、応答を端末３００のリレーエージェントに返す。端末３００のリレーエージェントは、更に応答を端末５００に返し、転送を完了する。
【００４７】
しかして、このように構成した本実施形態によれば、端末にｈｔｔｐなど標準プロトコルをそのまま利用できるので、特別なポートでの通信が遮断されている携帯端末や、ファイアウォール配下の端末とでもＰ２Ｐ接続が可能となる。
また、サーバを利用しないＰ２Ｐ接続方式において、ＵＰｎＰＮＡＴトラバーサルが利用できない環境でもＰ２Ｐの接続性を確保できる。
しかも、各端末において、既存のサーバ及びクライアントソフトウェア（前記サーバ機能部及びクライアント機能部）を改変せずともよく、単にリレーエージェントの追加のみで実現可能となる。例えば、ＨＴＴＰの場合でいうと、制限端末６００に実装されているＷＥＢブラウザ（制限クライアント機能部）２０１及び通常端末３００、４００、５００に実装されているサーバ機能部１０１からすると、コネクションの向きは通常の通信と何ら変更がないので、そのまま既存のソフトウェアを利用することが可能である。
【００４８】
なお、本発明は前記実施形態に限られるものではない。例えば、既定プロトコルはＨＴＴＰプロトコル以外の汎用乃至標準のプロトコルで構わないし、その趣旨を逸脱しない範囲に於いて、種々の変形が可能である。
【符号の説明】
【００４９】
５００、６００・・・外部端末
４００・・・第１内部端末
３００・・・第２内部端末
１０３・・・リレーエージェント
【図１】
2012133494.tif 000003
【図２】
2012133494.tif 000004
【図３】
2012133494.tif 000005
【図４】
2012133494.tif 000006
【図５】
2012133494.tif 000007
【図６】
2012133494.tif 000008