(57)【特許請求の範囲】
【請求項１】
接続制御装置において、端末間でＰ２Ｐ（Peer to Peer）通信の接続候補アドレス情報に対して接続試行を行った結果、前記端末から、接続に成功した前記端末間の接続先アドレス情報を受信して、Ｐ２Ｐ通信に成功した端末の組み合わせを記憶する記憶部と、
前記端末間でＰ２Ｐ通信で再度接続する場合に、前記端末の一方からＰ２Ｐ通信要求を受信し、前記Ｐ２Ｐ通信要求を前記端末の他方に送信し、前記他方の端末から通信要求応答を受信し、前記通信要求応答を前記一方の端末に送信する通信部と、
Ｐ２Ｐ通信を要求する端末に対するＰ２Ｐ通信に成功した端末の組み合わせを、前記記憶部を参照して抽出する処理部と、を備え、
前記処理部は、前記記憶部から、前記一方の端末と前記他方の端末との通信における、前記接続に成功した接続先のアドレス情報の組み合わせを抽出し、
前記通信部は、前記処理部が抽出した接続先のアドレス情報の組み合わせを、前記通信要求応答に含めて、最優先の接続候補アドレスとして、前記Ｐ２Ｐ通信を要求した前記端末の一方に送信する、
接続制御装置。
【請求項２】
前記端末の組み合わせは、
ＲＦＣ５２４５で規定されるＩＣＥ Ｃａｎｄｉｄａｔｅに含まれる端末のＩＰアドレス、ポート番号、プロトコル、コンポーネント、タイプ、優先度、ファウンデーション、ベースのうちの少なくとも１つを含む、
請求項１に記載の接続制御装置。
【請求項３】
前記Ｐ２Ｐ通信は、
ＷｅｂＲＴＣ（Web Real-Time Communication）の通信手段により確立される、
請求項１または２に記載の接続制御装置。
【請求項４】
Ｐ２Ｐ（Peer to Peer）通信を制御する接続制御装置における接続制御方法であって、
接続制御装置において、端末間でＰ２Ｐ通信の接続候補アドレス情報に対して接続試行を行った結果、前記端末から、接続に成功した前記端末間の接続先アドレス情報を受信して、Ｐ２Ｐ通信に成功した端末の組み合わせを記憶し、
前記端末間でＰ２Ｐ通信で再度接続する場合に、前記端末の一方からＰ２Ｐ通信要求を受信し、前記Ｐ２Ｐ通信要求を前記端末の他方に送信し、
前記他方の端末から通信要求応答を受信し、前記通信要求応答を前記一方の端末に送信し、
記憶した端末組み合わせから、前記一方の端末と前記他方の端末との通信における、前記接続に成功した接続先のアドレス情報の組み合わせを抽出し、
抽出した接続先のアドレス情報の組み合わせを、前記通信要求応答に含めて、最優先の接続候補アドレスとして、前記Ｐ２Ｐ通信を要求した前記端末の一方に送信する、
接続制御方法。
【請求項５】
前記端末の組み合わせは、
ＲＦＣ５２４５で規定されるＩＣＥ Ｃａｎｄｉｄａｔｅに含まれる端末のＩＰアドレス、ポート番号、プロトコル、コンポーネント、タイプ、優先度、ファウンデーション、ベースのうちの少なくとも１つを含む、
請求項４に記載の接続制御方法。
【請求項６】
前記Ｐ２Ｐ通信は、
ＷｅｂＲＴＣ（Web Real-Time Communication）の通信手段により確立される、
請求項４または５に記載の接続制御方法。
【請求項７】
コンピュータを、Ｐ２Ｐ（Peer to Peer）通信を制御する接続制御装置として機能させるプログラムであって、請求項４乃至６のいずれか１項に記載の接続制御方法を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は接続制御装置、接続制御方法及び接続制御プログラムに関し、例えばＷｅｂＲＴＣに用いられる接続制御装置、接続制御方法及び接続制御プログラムに関する。
【背景技術】
【０００２】
近年、標準化が進むＷｅｂＲＴＣ（Web Real-Time Communication）規格により、ブラウザ・アプリケーションおよびＷｅｂＲＴＣライブラリを含むネイティブアプリケーション上で豊富なリアルタイム・メディア機能のセットが提供されている（非特許文献１）。
【０００３】
例えば、ＷｅｂＲＴＣおよびＨＴＭＬ５（HyperText Markup Language 5）を使用することで、デバイスは別のデバイスと直接、メディア・フローを確立できる。このことにより、リアルタイムの双方向テレビ、音声、テキスト形式のメディア、および／またはデータ交換が可能になり、その利用も広がっている。
【０００４】
このＷｅｂＲＴＣでのメディア通信において、端末間で高速なメディア通信接続を実現する、装置、方法、及びプログラムが求められている。ＷｅｂＲＴＣでのメディア通信を行う際、ＲＦＣ５２４５（非特許文献２参照）で定義されるＩＣＥ（Interactive Connectivity Establishment）と呼ばれるプロトコル（非特許文献３参照）にて双方のデバイスのパケット送信先を決定する。ＩＣＥプロトコルではそれぞれのデバイスでＩＰアドレス候補の収集を行ってから、それぞれ接続試行を行うため、接続完了するまで時間がかかってしまう問題があった。
【０００５】
この問題を解決するため、ＩＥＴＦ（The Internet Engineering Task Force）のワーキンググループにてTrickle ICEと呼ばれる方式の策定が進んでおり、デバイス内の候補収集と接続試行を逐次的に行うことによる接続の高速化が試みられている。
【０００６】
ＷｅｂＲＴＣでのメディア通信において、端末間で通信する場合、Ｖａｎｉｌｌａ  ＩＣＥ（ＲＦＣ５２４５）プロトコルやＴｒｉｃｋｌｅ  ＩＣＥプロトコルに従って、各々の端末でＩＰアドレス候補の収集を行ってから、又は行いながら、それぞれ接続試行を行う。例えば、特許文献１〜４には、ＷｅｂＲＴＣやＩＣＥプロトコルを用いた通信方法が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−１４３０７６号公報
【特許文献２】特開２０１６−１４３９１１号公報
【特許文献３】特開２０１６−１４４２１６号公報
【特許文献４】特開２０１６−１４４２１７号公報
【非特許文献】
【０００８】
【非特許文献１】ＷｅｂＲＴＣ、［ｏｎｌｉｎｅ］、［平成２８年３月２９日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｗｅｂｒｔｃ．ｏｒｇ／＞
【非特許文献２】ＲＦＣ５２４５  Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｅｓｔａｂｌｉｓｈｍｅｎｔ  （ＩＣE）：  Ａ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ  （ＮＡＴ） Ｔｒａｖｅｒｓａｌ  ｆｏｒ  Ｏｆｆｅｒ・Ａｎｓｗｅｒ  Ｐｒｏｔｏｃｏｌｓ，［ｏｎｌｉｎｅ］，［平成３０年９月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐｓ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ５２４５＞
【非特許文献３】Ｉｎｔｅｒｎｅｔ−Ｄｒａｆｔ  Ｔｒｉｃｋｌｅ  ＩＣＥ：  Ｉｎｃｒｅｍｅｎｔａｌ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  ｏｆ  Ｃａｎｄｉｄａｔｅｓ  ｆｏｒ  ｔｈｅ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｅｓｔａｂｌｉｓｈｍｅｎｔ  （ＩＣＥ）  Ｐｒｏｔｏｃｏｌ，［ｏｎｌｉｎｅ］，［平成３０年９月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐｓ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｄｒａｆｔ−ｉｅｔｆ−ｉｃｅ−ｔｒｉｃｋｌｅ＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このように、接続を行うたびに接続候補収集と接続試行を行うので、接続完了まで時間がかかってしまう問題があった。
【課題を解決するための手段】
【００１０】
一実施形態の接続制御装置は、Ｐ２Ｐ（Peer to Peer）通信に成功した端末の組み合わせを記憶する記憶部と、端末からＰ２Ｐ通信要求を受信し、前記Ｐ２Ｐ通信要求を別の端末に送信し、前記別の端末から通信要求応答を受信し、前記通信要求応答を前記端末に送信する通信部と、Ｐ２Ｐ通信を要求する端末に対するＰ２Ｐ通信に成功した端末の組み合わせを、前記記憶部を参照して抽出する処理部と、を備え、前記通信部は、Ｐ２Ｐ通信を要求する端末に対するＰ２Ｐ通信に成功した端末の組み合わせを、Ｐ２Ｐ通信を要求した前記端末に送信する、ようにした。
【００１１】
一実施形態の接続制御方法は、Ｐ２Ｐ（Peer to Peer）通信を制御する接続制御装置における接続制御方法であって、Ｐ２Ｐ通信に成功した端末の組み合わせを記憶し、端末からＰ２Ｐ通信要求を受信し、前記Ｐ２Ｐ通信要求を別の端末に送信し、前記別の端末から通信要求応答を受信し、前記通信要求応答を前記端末に送信し、前記記憶したＰ２Ｐ通信に成功した端末の組み合わせを参照して、前記Ｐ２Ｐ通信要求を送信した前記端末に対する端末の組み合わせを抽出して、前記Ｐ２Ｐ通信要求を送信した前記端末に送信するようにした。
【００１２】
一実施形態のプログラムは、コンピュータを、Ｐ２Ｐ（Peer to Peer）通信を制御する接続制御装置として機能させるプログラムであって、上記接続制御方法を実行するようにした。
【発明の効果】
【００１３】
本発明の接続制御装置、接続制御方法及び接続制御プログラムによれば、接続候補収集と接続試行を行うことなく、Ｐ２Ｐ通信の通信相手となる端末と接続完了でき、接続の高速化を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかる接続制御装置の概略構成を示すブロック図である。
【図２】実施の形態２にかかる通信システムの概略構成を示す図である。
【図３】実施の形態２に係る通信システムの接続手順の一例を示すシーケンス図である。
【図４】接続制御装置１００の記憶部１０３に記憶する端末の組み合わせの情報の一例を示す図である。
【図５】実施の形態２に係る通信システムの接続手順の一例を示すシーケンス図である。
【図６】実施の形態３に係る通信システムの接続手順の一例を示すシーケンス図である。
【図７】実施の形態３に係る通信システムの接続手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。なお、以下の説明においてはＷｅｂＲＴＣによるＰ２Ｐ（Peer to Peer）通信を例として説明するがＷｅｂＲＴＣ以外の技術を用いたＰ２Ｐ通信にも適用することができる。
【００１６】
図１は、実施の形態１にかかる接続制御装置の概略構成を示すブロック図である。図１において、接続制御装置１００は、通信部１０１と、処理部１０２と、記憶部１０３とを備える。
【００１７】
通信部１０１は、ネットワークを介して端末と通信を行う。そして、通信部１０１は、端末からのＰ２Ｐ通信要求を受信する。さらに通信部１０１は、Ｐ２Ｐ通信要求を別の端末に送信し、別の端末から通信要求応答を受信する。そして通信部１０１は、Ｐ２Ｐ通信要求を送信した端末に通信要求応答を送信する。また、通信部１０１は、後述する処理部１０２の指示に従い、Ｐ２Ｐ通信に成功した端末の組み合わせを、Ｐ２Ｐ通信要求を送信した端末に送信する。例えば、通信部１０１は、ＬＡＮ（Local Area Network）ケーブルを介してネットワークに接続するＬＡＮＩ／Ｆ（InterFace）モジュールを備えてもよい。
【００１８】
処理部１０２は、端末からのＰ２Ｐ通信要求に対する処理を行う。処理部１０２は、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを、記憶部１０３に参照する。そして、処理部１０２は、通信部１０１にＰ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを、Ｐ２Ｐ通信要求を送信した端末に送信するよう指示する。
【００１９】
例えば、処理部１０２は、端末から受信するＰ２Ｐ通信要求のシグナリングメッセージを相手端末に転送する。処理部１０２は、転送の際、送信及び受信するシグナリングメッセージの内容を解析して書き換える機能も有する。また処理部１０２は、デバイスが接続成功した際に成功した端末の組み合わせのデータを取得及び解析する機能を有する。
【００２０】
記憶部１０３は、Ｐ２Ｐ通信に成功した端末の組み合わせを記憶する。記憶部１０３は、メモリ回路で構成されることが好適である。そして、記憶部１０３は、処理部１０２の参照に応じて、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを処理部１０２に出力する。
【００２１】
このように実施の形態１の接続制御装置によれば、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを記憶することにより、再び接続要求があったときに、再度、接続候補収集と接続試行を行うことなく、Ｐ２Ｐ通信の通信相手となる端末と接続完了できるので、接続の高速化を図ることができる。
【００２２】
なお、処理部１０２は、通信部１０１が端末からのＰ２Ｐ通信要求を受信した場合に、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを、記憶部１０３に参照するようにしてもよい。
【００２３】
また、処理部１０２は、端末同士が接続試行する場合に、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを、記憶部１０３に参照するようにしてもよい。
【００２４】
実施の形態２
実施の形態２では、実施の形態１の接続制御装置１００を用いた通信システムについて説明する。図２は、実施の形態２にかかる通信システムの概略構成を示す図である。図２において、通信システム２００は、接続制御装置１００と、端末２０１−１〜２０１−ｎ（ｎは任意の自然数）と、ネットワーク２０２とを備える。
【００２５】
接続制御装置１００は、実施の形態１で説明した接続制御装置である。接続制御装置１００は、ネットワーク２０２を介して端末２０１−１〜２０１−ｎと通信を行う。具体的には、接続制御装置１００は、端末２０１−１〜２０１−ｎのいずれかからのＰ２Ｐ接続要求に対する処理を行う。そして、接続制御装置１００は、端末２０１−１〜２０１−ｎに順次接続要求を試行する。そして、接続制御装置１００は、接続可能な端末の情報をＰ２Ｐ接続要求した端末に送信する。例えば、接続制御装置１００は、シグナリングサーバ機能にデータベースとして接続候補管理配列を有するサーバであってもよい。
【００２６】
また、接続制御装置１００は、再び接続要求があったときに、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせをＰ２Ｐ接続要求した端末に送信する。
【００２７】
端末２０１−１〜２０１−ｎは、互いにＰ２Ｐ通信が可能な端末である。端末２０１−１〜２０１−ｎのいずれかは、Ｐ２Ｐ接続要求を接続制御装置１００に送信する。また、端末２０１−１〜２０１−ｎのいずれかは、接続制御装置１００から送信されたＰ２Ｐ接続要求に対する応答であるＰ２Ｐ接続要求応答を接続制御装置１００に送信する。そして、端末２０１−１〜２０１−ｎのいずれかは、接続制御装置１００から送信されたＰ２Ｐ接続要求応答を受信し、Ｐ２Ｐ接続を開始する。また、端末２０１−１〜２０１−ｎが接続制御装置１００との通信で通信要求/通信要求応答交換に加えて経路情報の交換も行う。
Ｐ２Ｐ接続の詳細な手順は後述する。
【００２８】
また例えば、端末２０１−１〜２０１−ｎは、ＷｅｂＲＴＣ通信に対応したブラウザあるいはネイティブアプリケーションを含んでもよい。また、端末２０１−１〜２０１−ｎ間の通信については、音声、映像、任意のデータのいずれかまたは組み合わせたものであってもよい。
【００２９】
以上の構成により、端末２０１−１〜２０１−ｎ間でＰ２Ｐ通信が行われる。次に接続手順について説明する。図３は、実施の形態２に係る通信システムの接続手順の一例を示すシーケンス図である。図３は、ＲＦＣ５４２５に対応した端末２０１−１及び端末２０１−２が最初にＷｅｂＲＴＣ通信する例である。
【００３０】
まずステップＳ３０１において、Ｐ２Ｐ通信の候補を収集する処理が開始され、ステップＳ３０２に進む。
【００３１】
ステップＳ３０２において、端末２０１−１から接続制御装置１００にＰ２Ｐ接続要求が送信される。
【００３２】
ステップＳ３０３において、端末２０１−１から端末２０１−２への通信要求を受信した際に、接続制御装置１００の処理部１０２は、通信部１０１は記憶部１０３を参照し端末の組み合わせが登録されているか否か確認する。なお、登録が無い場合は特に追加処理を行わない。
【００３３】
ステップＳ３０４において、端末２０１−２が接続要求を受信し、ステップＳ３０５に進む。
【００３４】
ステップＳ３０５において、端末２０１−２がＰ２Ｐ通信の候補収集に関する処理を行い、ステップＳ３０６に進む。
【００３５】
ステップＳ３０６において、端末２０１−２が接続要求応答を接続制御装置１００に送信する。
【００３６】
ステップＳ３０７において、端末２０１−２から端末２０１−１への通信要求応答を受信した際に、接続制御装置１００の処理部１０２は、記憶部１０３を参照する。そして、処理部１０２は、端末２０１−１と端末２０１−２の組み合わせが登録されているか確認する。なお、登録が無い場合は特に追加処理を行わない。
【００３７】
ステップＳ３０８において、接続要求応答が接続制御装置１００から端末２０１−１に送信され、ステップＳ３０９に進む。
【００３８】
ステップＳ３０９において、端末２０１−１と端末２０１−２の間のＰ２Ｐ接続が試行される。このＰ２Ｐ接続の試行では、端末２０１−１及び端末２０１−２は、経路情報等Ｐ２Ｐ接続に必要な情報を取得するために、接続制御装置１００と通信を行う。
【００３９】
ステップＳ３１０において、通常のＩＣＥプロトコルにより接続試行を行った結果、端末間の接続に成功した場合、端末２０１−１、端末２０１−２より成功した接続候補の情報が接続制御装置１００に送信される。接続制御装置１００の処理部１０２は、は受信した端末の組み合わせの情報を記憶部１０３に登録する。
【００４０】
以上の動作により、接続制御装置１００は、Ｐ２Ｐ接続が成功した端末の組み合わせを記憶することができる。次に記憶部１０３に記憶する端末の組み合わせの情報の例について説明する。図４は、接続制御装置１００の記憶部１０３に記憶する端末の組み合わせの情報の一例を示す図である。図４において、リスト３５１及びリスト３５２は、通信の組み合わせ候補の情報を示すリストである。リスト３５１及びリスト３５２において、下線で示した情報が実際にＰ２Ｐ接続を行った端末２０１−１及び端末２０１−２の組み合わせである。端末２０１−１及び端末２０１−２の組み合わせ情報は、例えば、ＲＦＣ５２４５で規定されるＩＣＥ Ｃａｎｄｉｄａｔｅに含まれる端末のＩＰアドレス、ポート番号、プロトコル、コンポーネント、タイプ、優先度、ファウンデーション、ベースのうちの少なくとも１つを含む。
【００４１】
したがって、記憶部１０３は、リスト３５３の端末２０１−１及び端末２０１−２の組み合わせの行において、候補Ａ及び候補Ｂの欄にリスト３５１及びリスト３５２の下線で示した情報を格納する。このようにしてＰ２Ｐ接続が行われた端末Ａ及び端末Ｂ（すなわち任意の端末２０１−１〜端末２０１−ｎ）の組み合わせの情報が記憶部１０３に登録される。
【００４２】
次に再度接続する手順について説明する。図５は、実施の形態２に係る通信システムの接続手順の一例を示すシーケンス図である。図５は、ＲＦＣ５４２５に対応した端末２０１−１及び端末２０１−２が再度接続してＷｅｂＲＴＣ通信する例である。
【００４３】
まず図３と同様にステップＳ３０１において、Ｐ２Ｐ通信の候補を収集する処理が開始され、ステップＳ３０２に進む。
【００４４】
図３と同様にステップＳ３０２において、端末２０１−１から接続制御装置１００にＰ２Ｐ接続要求が送信される。
【００４５】
ステップＳ４０３において、端末２０１−１からの通信要求を受信した際に、接続制御装置１００の処理部１０２は、通信部１０１は記憶部１０３を参照し、Ｐ２Ｐ通信に成功した端末の組み合わせが登録されているか否か確認する。登録があった場合は、通信要求に含まれる候補情報を変更し、記憶部１０３に登録されている成功した端末の組み合わせを、最優先とする。そして、処理部１０２は、Ｐ２Ｐ通信に成功した端末の組み合わせを記憶部１０３から抽出する。
【００４６】
ステップＳ４０４において、処理部１０２が通信部１０１を介して端末１０２に接続要求を送信し、端末２０１−２が接続要求を受信し、ステップＳ４０５に進む。
【００４７】
ステップＳ４０５において、端末２０１−２がＰ２Ｐ通信の候補収集に関する処理を行い、ステップＳ４０６に進む。
【００４８】
ステップＳ４０６において、端末２０１−２が接続要求応答を接続制御装置１００に送信する。
【００４９】
ステップＳ４０７において、端末２０１−２から端末２０１−１への通信要求応答を受信した際に、接続制御装置１００の処理部１０２は、記憶部１０３を参照する。そして、処理部１０２は、端末２０１−１と端末２０１−２の組み合わせが登録されているか確認する。登録があった場合は、通信要求応答に含まれる候補情報を変更し、記憶部１０３に登録されている成功した端末の組み合わせを最優先とする。そして、処理部１０２は、Ｐ２Ｐ通信に成功した端末の組み合わせを記憶部１０３から抽出する。  
【００５０】
ステップＳ４０８において、接続要求応答が接続制御装置１００から端末２０１−１に送信され、ステップＳ４０９に進む。
【００５１】
ステップＳ４０９において、端末２０１−１と端末２０１−２の間のＰ２Ｐ接続が試行される。端末２０１−１及び端末２０１−２はそれぞれ前回接続に成功した候補に対し最優先に接続試行を行う。このＰ２Ｐ接続の試行では、端末２０１−１及び端末２０１−２は、Ｐ２Ｐ通信に成功した端末の組み合わせの情報として経路情報等Ｐ２Ｐ接続に必要な情報を取得するために、接続制御装置１００と通信を行う。
【００５２】
ステップＳ４１０において、通常のＩＣＥプロトコルにより接続試行を行った結果、端末間の接続に成功した場合、端末２０１−１、端末２０１−２より成功した接続候補の情報が接続制御装置１００に送信される。接続制御装置１００の処理部１０２は、は受信した端末の組み合わせの情報を記憶部１０３に登録する。端末の組み合わせが同じ場合、端末の組み合わせの情報を記憶部１０３に上書き登録する。
【００５３】
このように実施の形態２の接続制御装置及び通信システムによれば、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを記憶し、通信部１０１が端末からのＰ２Ｐ通信要求を受信した場合に、Ｐ２Ｐ通信に成功した端末の組み合わせを送信することにより、再び接続要求があったときに、再度、接続候補収集と接続試行を行うことなく、Ｐ２Ｐ通信の通信相手となる端末と接続完了できるので、接続の高速化を図ることができる。
【００５４】
特に、本発明の実施形態は多数のデバイスがシグナリングサーバを利用し、それぞれのネットワーク環境が異なる場合に有用である。
【００５５】
なお、本発明の実施形態である接続制御装置１００内部の各構成はそれぞれ別のハードウェアであってもよい。
【００５６】
また、処理部１０２と記憶部１０３が持つ接続候補の変更プロセスは端末２０１−１及び端末２０１−２それぞれが有してもよい。その場合、経路情報の候補収集の前に接続端末の組み合わせを読み出し、候補収集プロセスを省略することも可能である。
【００５７】
実施の形態３
実施の形態３では、Trickle ICEに対応した場合の動作を、説明する。図６は、実施の形態３に係る通信システムの接続手順の一例を示すシーケンス図である。
図３は、Trickle ICEに対応した端末２０１−１及び端末２０１−２が最初にＷｅｂＲＴＣ通信する例である。
【００５８】
まずステップＳ５０１において、端末２０１−１から接続制御装置１００にＰ２Ｐ接続要求が送信される。
【００５９】
ステップＳ５０２において、端末２０１−２が接続制御装置１００からの接続要求を受信する。
【００６０】
一方、ステップＳ５０３において、端末２０１−１では、Ｐ２Ｐ通信の候補を収集する処理が開始される。
【００６１】
ステップＳ５０４において、接続要求応答が端末２０１−２から接続制御装置１００に送信される。
【００６２】
ステップＳ５０５において、接続要求応答が接続制御装置１００から端末２０１−１に送信される。
【００６３】
他方、ステップＳ５０６において、端末２０１−２では、Ｐ２Ｐ通信の候補収集に関する処理が行われる。
【００６４】
ステップＳ５０７において、端末２０１−１と端末２０１−２の間のＰ２Ｐ接続が試行される。このＰ２Ｐ接続の試行では、端末２０１−１、端末２０１−２からそれぞれ初めの接続候補を受信した際に、通信部１０１は記憶部１０３を参照し端末の組み合わせが登録されているか確認する。登録が無い場合は特に追加処理を行わない。また、端末２０１−１及び端末２０１−２は、経路情報等Ｐ２Ｐ接続に必要な情報を取得するために、接続制御装置１００と通信を行う。
【００６５】
ステップＳ５０８において、通常のTrickle ＩＣＥプロトコルにより接続試行を行った結果、デバイス間の接続に成功した場合、端末２０１−１、端末２０１−２より成功した接続候補の情報を接続制御装置１００に送信する。処理部１０２は受信した端末の組み合わせの情報を記憶部１０３に登録する。
【００６６】
以上の動作により、接続制御装置１００は、Ｐ２Ｐ接続が成功した端末の組み合わせを記憶することができる。
【００６７】
次に再度接続する手順について説明する。図７は、実施の形態４に係る通信システムの接続手順の一例を示すシーケンス図である。図７は、Trickle ICEに対応した端末２０１−１及び端末２０１−２が再度接続してＷｅｂＲＴＣ通信する例である。
【００６８】
まず図６と同様にステップＳ５０１において、端末２０１−１から接続制御装置１００にＰ２Ｐ接続要求が送信される。
【００６９】
図６と同様にステップＳ５０２において、端末２０１−２が接続制御装置１００からの接続要求を受信する。
【００７０】
一方、ステップＳ５０３において、端末２０１−１では、Ｐ２Ｐ通信の候補を収集する処理が開始される。
【００７１】
図６と同様にステップＳ５０４において、接続要求応答が端末２０１−２から接続制御装置１００に送信される。
【００７２】
図６と同様にステップＳ５０５において、接続要求応答が接続制御装置１００から端末２０１−１に送信される。
【００７３】
他方、ステップＳ５０６において、端末２０１−２では、Ｐ２Ｐ通信の候補収集に関する処理が行われる。
【００７４】
ステップＳ６０７において、端末２０１−１と端末２０１−２の間のＰ２Ｐ接続が試行される。このＰ２Ｐ接続の試行では、端末２０１−１、端末２０１−２からそれぞれ初めの接続候補を受信した際に、通信部１０１は記憶部１０３を参照し端末の組み合わせが登録されているか確認する。登録があった場合は記憶部１０３に登録されているＰ２Ｐ通信に成功した端末の組み合わせを抽出し、受信した候補より先に相手端末へＰ２Ｐ通信に成功した端末の組み合わせを送信する。また、端末２０１−１及び端末２０１−２は、経路情報等Ｐ２Ｐ接続に必要な情報を取得するために、接続制御装置１００と通信を行う。
【００７５】
ステップＳ６０８において、通常のTrickle ＩＣＥプロトコルにより接続試行を行った結果、デバイス間の接続に成功した場合、端末２０１−１、端末２０１−２より成功した接続候補の情報を接続制御装置１００に送信する。処理部１０２は受信した端末の組み合わせの情報を記憶部１０３に登録する。端末の組み合わせが同じ場合、端末の組み合わせの情報を記憶部１０３に上書き登録する。
【００７６】
このように実施の形態２の接続制御装置及び通信システムによれば、Ｐ２Ｐ通信を要求する端末とＰ２Ｐ通信に成功した端末の組み合わせを記憶し、端末同士が接続試行する際に、Ｐ２Ｐ通信に成功した端末の組み合わせを接続制御装置から端末に送信することにより、再び接続要求があったときに、再度、接続候補収集と接続試行を行うことなく、Ｐ２Ｐ通信の通信相手となる端末と接続完了できるので、接続の高速化を図ることができる。
【００７７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、デバイスのＳＴＵＮ（Session Traversal Utilities for NATs（Network Address Translation））サーバを用いたグローバルアドレスの収集が必要な場合やＴＵＲＮ（Traversal Using Relay around NAT）サーバを使用した中継が必要な場合に適用しても良い。
【００７８】
また、上述の説明において、様々な処理を行う機能ブロック及びフローとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００７９】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００８０】
１００  接続制御装置
１０１  通信部
１０２  処理部
１０３  記憶部
２００  通信システム
２０１−１〜２０１−ｎ  端末
２０２  ネットワーク
【図１】
0006860176.tif 000002
【図２】
0006860176.tif 000003
【図３】
0006860176.tif 000004
【図４】
0006860176.tif 000005
【図５】
0006860176.tif 000006
【図６】
0006860176.tif 000007
【図７】
0006860176.tif 000008