説明

P2P通信システム

【課題】メールプロトコルやHTTPなどの汎用プロトコルを用いてP2P接続可能に構成しながら、その際に問題となるNATも克服できるようにする。
【解決手段】外部端末と、外部ネットワークにNATを介して接続されたP2P接続におけるNAT越えが不能に構成された第1内部端末とを、P2P接続におけるNAT越えが可能に構成された第2内部端末を介して、P2P接続するためのものであり、前記第2内部端末が、当該第2内部端末の外部ネットワークでの識別情報に前記第1端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第1内部端末に前記要求又は応答を転送する一方、前記第1内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に当該応答又は要求を転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末同士をピアツーピア(以下、P2Pとも言う)接続するための通信システム等に関するものである。
【背景技術】
【0002】
P2P接続を実現するにあたっては、NAT越えという問題をクリアしなければならない。STUN、TURNなどのハイブリッド型の既存P2P接続方式では、サーバやスーパーノードが端末情報を管理し、P2P接続に必要な情報を各端末に教えることによってNAT越えP2P接続を実現している。
【0003】
また、UPnP・IGDのような、端末のみでNATトラバーサルの通信路を開くことのできる端末が、サーバ型でないP2Pで接続しようとする場合は、ユーザが手動で通信路を準備し、その情報を利用して接続する。例えば、特許文献1に示されているように、メールプロトコルを利用したNAT超えの技術もある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−300239号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前述したサーバー型のP2P接続は、サーバと対話できる専用プロトコルを全ての端末に実装する必要があるため、上記プロトコルを用いて通信する事が可能なPCやDTV、レコーダなどのように、メーカや利用者が自由な通信ソフトウェアを利用することができるデジタルネットワーク端末でしか使用できない。逆に言えば、主としてセキュリティのために通信をキャリアによって制限されている携帯電話などの端末(以下、制限端末とも言う。)は、P2Pに特化したプロトコルやアプリケーションをサービスとして利用することは難しい。
【0006】
また、上記例のうち、STUNやTURNなどのサーバを利用したP2P接続方式は原理的にサーバネットワークに障害が発生したり、何らかの理由によりサーバ提供者がサービスを終了したりするとP2P接続が不可能になる。この時のためにユーザサイドのみでP2P接続可能なサーバレス型(ピュア型)のP2P接続サービスも提供されているが、多段NAT超えができないといった欠点がある。
さらに、サーバー型のP2P接続では、端末側のある程度の固有情報をサーバーに登録する必要があり、情報漏洩の点から言えばあまり好ましいものではない。
【0007】
本発明は、かかる課題を解決すべくなされたものであって、メールプロトコルやHTTPなどの汎用プロトコルを用いて、例えば前記制限端末でもP2P接続可能に構成しながら、その際に問題となるNATも克服できるようにした通信システム等を提供すべく図ったものである。
【課題を解決するための手段】
【0008】
すなわち、本発明は、外部ネットワーク上にある外部端末と、前記外部ネットワークにNATを介して接続された内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが不能に構成された第1内部端末とを前記既定プロトコルでP2P接続するためのものである。
【0009】
そして、前記内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが可能に構成された第2内部端末がリレーエージェントを具備し、このリレーエージェントが、前記第2内部端末の外部ネットワークでの識別情報に前記第1端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第1内部端末に該要求又は応答を転送する一方、前記第1内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に該応答又は要求を転送することによって、前記外部端末と第1内部端末とをP2P接続することを特徴とするP2P通信システムである。
【0010】
また、本発明は、外部ネットワーク上にある外部端末と、前記外部ネットワークにNATを介して接続された内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが不能に構成された第1内部端末とを、前記内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが可能に構成された第2内部端末を介して、前記既定プロトコルでP2P接続するためのものであり、前記第2内部端末が、当該第2内部端末の外部ネットワークでの識別情報に前記第1端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第1内部端末に前記要求又は応答を転送する一方、前記第1内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に当該応答又は要求を転送することにより、前記外部端末と第1内部端末とをP2P接続することを特徴とするP2P通信方法である。
【0011】
また、本発明は、前記リレーエージェントとしての機能を発揮することを特徴とするP2P通信用コンピュータプログラムである。
【0012】
このようなものであれば、端末にhttpなど標準プロトコルをそのまま利用できるので、特別なポートでの通信が遮断されている携帯端末や、ファイアウォール配下の端末とでもP2P接続が可能となる。また、サーバを利用しないP2P接続方式において、UPnPNATトラバーサルが利用できない環境でもP2Pの接続性を確保できる。
【0013】
前記積層識別情報を共有するには、前記第2内部端末が、自身の外部ネットワークでの識別情報を前記既定プロトコルとは別のメールプロトコルで外部端末及び内部端末に送信し、前記第1内部端末は、前記識別情報に基づいて前記積層識別情報を生成し該積層識別情報を前記外部端末にメールプロトコルで送信するようにしておけばよい。
【発明の効果】
【0014】
以上に述べた本発明によれば、サーバを用いることなく、NAT越えできない第1内部端末と、外部端末とを既定プロトコルによってP2P接続できるので、専用プロトコルを実装する必要もないし、また、携帯電話などの制限端末でも利用することが可能となる。
また、サーバー型のP2P接続とは異なり、ピュア型のP2P接続に近いので、情報漏洩の点においても好ましく、小規模でのP2P接続システムに適用してその効果が顕著となる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態におけるP2P通信システムの全体構成図である。
【図2】同実施形態における通常端末の機能ブロック図である。
【図3】同実施形態における制限端末の機能ブロック図である。
【図4】同実施形態において、制限端末600と通常端末400とがP2P通信を行う手順を説明したスケジューリング図である。
【図5】同実施形態において、制限端末600と通常端末400とがP2P通信を行っている状態を概念的に示した概念図である。
【図6】同実施形態において、通常端末500と通常端末400とがP2P通信を行う手順を説明したスケジューリング図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態を、図面を参照して説明する。
【0017】
本実施形態に係る通信システムは、図1に示すように、端末300、400、500、600を外部ネットワーク網(WAN、例えばインターネット)を介して接続可能に構成したものである。以下に、各部を説明する。
【0018】
前記端末300、400、500は、図2に示すように、パソコンやデジタルネットワーク機器などのように、種々の通信アプリケーションをインストール可能でかつ動作させることができるIPネットワーク端末である。以下、これら3種の端末を通常端末とも言う。
【0019】
前記通常端末300、400、500は、物理的には、CPU、メモリ、通信デバイス、表示機器、入力手段等(図示しない)を具備しており、前記メモリにインストールしたプログラムにしたがって、CPUやその他の周辺機器が協働動作することによって、サーバ機能部101、クライアント機能部102、リレーエージェント103などとしての機能を発揮する。
【0020】
サーバ機能部101とは、P2P通信を行う際に、通信相手からの接続を受けるサーバ的な役割を担うソフトウェアコンポーネントである。
【0021】
クライアント機能部102とは、P2P通信を行う際に、通信相手のサーバプログラム101に接続を要求しクライアント的な役割を担うソフトウェアコンポーネントである。
【0022】
リレーエージェント103とは、通常のP2P接続が行えない場合に、代替的にあたかもP2P接続が可能であるかのように接続路を提供する機能を持つソフトウェアコンポーネントである。
【0023】
これら通常端末のうち、端末300は、例えばUPnP・IGD機能をサポートするNATルータ310及びインターネットサービスプロバイダ320を介して、インターネットに接続されており、自身の持つUPnP・IGD機能によって、ルータ310の外部アドレスを取得して外部ネットワーク(インターネット)でのURLを生成できるとともに、NAT設定を行うことができる、つまりNAT越え可能なものである。
【0024】
端末500は、インターネットサービスプロバイダ520を介して直接インターネットに接続されており、そもそもNAT不要で自身のIPアドレスを把握することができるものである。なお、この端末500は請求項で言う外部端末に該当する。
【0025】
端末400は、UPnP・IGD機能をサポートしないNATルータ410及びインターネットサービスプロバイダ420を介して、インターネットに接続されてはいるが、自身では、インターネットのURLを生成できないし、NAT設定を行うことができない、つまりNAT越え不可能なものである。
【0026】
なお、前記端末300と端末400とは、ローカルアドレスを有し、内部ネットワーク(LAN)により接続可能に構成されている。なお、この端末300は請求項で言う第2内部端末に該当し、端末400が請求項で言う第1内部端末に該当する。
【0027】
端末600は、例えば携帯電話であり、前記通常端末と物理的にはほぼ同様の構成を有するものであるが、キャリアやメーカの制限によって自由なパケット通信を行えない端末である。具体的には、ネットワークに対して、HTTP等のWEB標準プロトコルや標準メールプロトコルでのみデータ通信可能なものである。この端末600は、請求項で言う外部端末に該当し、前記端末500との区別のため、以下では制限端末600とも言う。
【0028】
この制限端末600には、図3に示すように、制限クライアント機能部201がインストールしてある。この制限クライアント機能部201とは、P2P専用のクライアント用のソフトウェアコンポーネントを動作させることができないこの制限端末600において、代替に通信を行うWEBブラウザなど標準の通信が行えるソフトウェアコンポーネントである。
【0029】
しかして、本実施形態では、前記リレーエージェント103を利用することによって、前記制限端末600又は通常端末500と、NAT越え不能な前記通常端末400とをNAT越え可能な通常端末300を介してP2P接続できるようにしている。具体的に図4を参照しつつ以下に説明する。
【0030】
ここでは、前提として、各通常端末は、WEBブラウザしか持たない制限端末600のような携帯端末等からアクセス可能なWEBコンテンツによるGUIを有しているものとする。また、各端末の電子メールアドレスは互いに知られており、メールプロトコルによる電子メールを介した通信は端末同士で可能であるとする。
【0031】
(1)まず通常端末300が、例えばUPnP・IGD機能により、自身に届くNAT設定をルータ310に設定し、URLを生成する。具体的には、端末300は、前記UPnP・IGD機能により、ルータ310の外部アドレスを取得する。そして、URLとして「http(s)://ルータ310のIPアドレス(又はDDNS名):NAT設定したポート番号」を生成する。そして、この端末300は自身への接続情報であるこのURLを他の端末に電子メール送信する。このことによって、他の端末から当該端末300に対して、標準プロトコルであるHTTPプロトコルによる接続が可能になる。
【0032】
(2)NAT設定できず、自身のURLを生成できない端末400は、端末300から届いたURLアドレス情報を元にP2P接続する。
【0033】
(3)そして、この端末400は、端末300に、制限端末600との接続のための転送を依頼する。このときの、TCPコネクションの向きは図に示すように、端末400から端末300への方向である。
【0034】
(4)この転送依頼を受けて、端末400のリレーエージェント103は、端末400のための転送用のURLを生成する。例えば、ルータ310のDDNS名が「foo.ne.jp」、NAT設定のポート番号が「80」であったとすると、この端末300のURLを該端末400は、(1)での電子メールによって把握しているので、端末400のホスト名が「hoge」とした場合、端末400のリレーエージェントは、前記端末300のURLに自身の識別情報を付加した、例えば「http(s)://foo.ne.jp:80/hoge/」等の転送用URLを生成する。
【0035】
(5)端末400内のリレーエージェント103は、端末400のサーバ機能部101と、端末300のリレーエージェント103に接続し、前記転送用URLを知らせることによって転送の準備をする。なお、転送用URLは端末300が生成して端末400に知らせてもよい。
【0036】
(6)そして、端末400は、上記(4)で生成した転送用URLを制限端末600に電子メール送信する。
【0037】
(7)制限端末600は、端末400から受け取った転送用URLに従い、端末300のリレーエージェントに接続し、GET要求等を出す。
【0038】
(8)端末300のリレーエージェントは転送用URLの「hoge」を見て端末400への要求であると判断し、端末400のリレーエージェント103に要求を転送する。
【0039】
(9)端末400のリレーエージェントは端末400のサーバに要求を転送し、応答を受け取る。その後、端末300のリレーエージェント経由で制限端末600に応答が転送される。
【0040】
上述した構成を模式的に示すと、図5のようになる。端末600と端末400との間に介在する端末300は、端末600と端末400とのP2P接続を仲介しているが、接続のTCPコネクションの向きは双方端末300の方を向いており、この点において、この端末300が、既存の仲介サーバであるproxyサーバ等とは全く異なった機能を有するものであることがわかる。
【0041】
次に、端末500と端末400とのP2P接続を図6を参照して説明する。
(1)端末300、500は自身のP2P接続可能なIPアドレス又はDDNS名とポート番号を各端末へ電子メールを用いて送信する。
【0042】
(2)端末400は自身でNAT越えが提供できないので、端末300へ図4における(2)〜(6)と同じようにリレー設定を行う。すなわち、端末300のリレーエージェントは、端末400の転送のためのポートを用意する。端末400は再度P2P接続可能なIPアドレス(DDNS名)とポートの組として、ルータ310のアドレスと、端末400のリレーエージェントが用意したポート番号を通知する。
【0043】
(3)この時、端末300が端末400への接続を要求する時、すでにリレーエージェント同士の接続が完成しているので、その通信路を利用する。
【0044】
(4)また、端末500が端末600への接続を要求する時は、端末500のリレーエージェントが、端末300のリレーエージェントに接続する。
【0045】
(5)端末300のリレーエージェントは、端末500から接続されたポートが端末400の転送用に準備したものであると判断できるので、この接続を利用した要求は全て、端末400のリレーエージェントに転送する。
【0046】
(6)端末400のリレーエージェントは、転送されてきた要求を自身のサーバに転送し、応答を端末300のリレーエージェントに返す。端末300のリレーエージェントは、更に応答を端末500に返し、転送を完了する。
【0047】
しかして、このように構成した本実施形態によれば、端末にhttpなど標準プロトコルをそのまま利用できるので、特別なポートでの通信が遮断されている携帯端末や、ファイアウォール配下の端末とでもP2P接続が可能となる。
また、サーバを利用しないP2P接続方式において、UPnPNATトラバーサルが利用できない環境でもP2Pの接続性を確保できる。
しかも、各端末において、既存のサーバ及びクライアントソフトウェア(前記サーバ機能部及びクライアント機能部)を改変せずともよく、単にリレーエージェントの追加のみで実現可能となる。例えば、HTTPの場合でいうと、制限端末600に実装されているWEBブラウザ(制限クライアント機能部)201及び通常端末300、400、500に実装されているサーバ機能部101からすると、コネクションの向きは通常の通信と何ら変更がないので、そのまま既存のソフトウェアを利用することが可能である。
【0048】
なお、本発明は前記実施形態に限られるものではない。例えば、既定プロトコルはHTTPプロトコル以外の汎用乃至標準のプロトコルで構わないし、その趣旨を逸脱しない範囲に於いて、種々の変形が可能である。
【符号の説明】
【0049】
500、600・・・外部端末
400・・・第1内部端末
300・・・第2内部端末
103・・・リレーエージェント

【特許請求の範囲】
【請求項1】
外部ネットワーク上にある外部端末と、前記外部ネットワークにNATを介して接続された内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが不能に構成された第1内部端末とを前記既定プロトコルでP2P接続するためのものであり、
前記内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが可能に構成された第2内部端末がリレーエージェントを具備し、
このリレーエージェントが、
前記第2内部端末の外部ネットワークでの識別情報に前記第1端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第1内部端末に該要求又は応答を転送する一方、前記第1内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に該応答又は要求を転送することによって、前記外部端末と第1内部端末とをP2P接続することを特徴とするP2P通信システム。
【請求項2】
前記外部端末が、データ通信としてメールプロトコル及び前記既定プロトコルのみに制限された携帯端末である請求項1記載のP2P通信システム。
【請求項3】
外部ネットワーク上にある外部端末と、前記外部ネットワークにNATを介して接続された内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが不能に構成された第1内部端末とを、前記内部ネットワーク上にあってP2P接続における前記既定プロトコルでのNAT越えが可能に構成された第2内部端末を介して、前記既定プロトコルでP2P接続するためのものであり、
前記第2内部端末が、
当該第2内部端末の外部ネットワークでの識別情報に前記第1端末の内部ネットワークでの識別情報を付加した積層識別情報によって前記外部端末からの要求又は応答を受け付けると、前記第1内部端末に前記要求又は応答を転送する一方、前記第1内部端末から前記要求又は応答に対する応答又は要求を受け付けると、前記外部端末に当該応答又は要求を転送することにより、前記外部端末と第1内部端末とをP2P接続することを特徴とするP2P通信方法。
【請求項4】
前記第2内部端末が、自身の外部ネットワークでの識別情報を前記既定プロトコルとは別のメールプロトコルで外部端末及び内部端末に送信し、
前記第1内部端末は、前記識別情報に基づいて前記積層識別情報を生成し該積層識別情報を前記外部端末にメールプロトコルで送信することを特徴とする請求項3記載のP2P通信方法。
【請求項5】
前記請求項1記載のリレーエージェントとしての機能を発揮することを特徴とするP2P通信用コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−133494(P2012−133494A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−283746(P2010−283746)
【出願日】平成22年12月20日(2010.12.20)
【出願人】(598045058)株式会社サムスン横浜研究所 (294)
【Fターム(参考)】