説明

通信端末および通信制御方法

【課題】NAT通過のデータ通信を行う際、データ通信開始までの所要時間を短縮する。
【解決手段】通信端末10で、相手通信端末20とのデータ通信に使用可能な各通信経路について並列的に接続チェックを実行するものとし、データ通信用経路によりデータ通信が開始された後に、各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路と当該新たな通信経路とについて、ICE方式に基づき予め決定しておいた各通信経路の優先順位を比較し、データ通信用経路より当該新たな通信経路の優先順位が高い場合、相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信技術に関し、特にNAT(Network Address Translator)通過のためのICE方式(Interactive Connectivity Establishment/RFC5245)で用いる通信制御技術に関する。
【背景技術】
【0002】
イントラネットなどのプライベートネットワークに接続された複数のプライベート通信端末を、インターネットなどのパブリックネットワークに接続する場合、パブリックネットワーク側のグローバルアドレスを各プライベート通信端末で共用することにより、アドレス空間を効率的に利用することができる。
この場合、プライベートネットワークとパブリックネットワークとを相互接続するルータに搭載された通信制御機能の1つであるNATを利用して、プライベートネットワーク上でプライベート通信端末に割り当てられているHostアドレスと、ルータに割り当てられたパブリックネットワーク側のグローバルアドレスとを透過的に相互変換することになる。
【0003】
具体的には、プライベート通信端末のHostアドレスとポート番号との組合せからなるトランスポートアドレスを、ルータのポート番号に割り当てる、いわゆるポートマッピング方式が用いられる。
したがって、この場合、プライベート通信端末に関するパブリックネットワーク側のアドレスとして、ルータのパブリックネットワーク側グローバルアドレスとポート番号の組合せからなるトランスポートアドレス、いわゆるMappedアドレスが用いられる。
【0004】
また、NAT通過のための通信プロトコルとしてTURN方式(Traversal Using Relay NAT/RFC5766)がある。これは、プライベート通信端末とピアツーピアでデータ通信可能なTURNサーバをパブリックネットワーク側に設け、このTURNサーバを経由してパブリックネットワーク側の通信端末とデータ通信を行う方式である。
したがって、TURN方式では、プライベート通信端末に関するパブリックネットワーク側のアドレスとして、TURNサーバのパブリックネットワーク側グローバルアドレスとポート番号の組合せからなるトランスポートアドレス、いわゆるRelayedアドレスが用いられる。
【0005】
このように、NATを通過するデータ通信を行う通信端末には、複数のアドレスが存在することになる。したがって、NAT通過データ通信を行う場合、これら複数のアドレスの組合せの数だけ、通信経路が存在することになる。
このため、通信端末間でデータ通信を開始する際、それぞれの通信端末がデータ通信で使用する候補となる自端末のアドレスについて、予め設定されている優先順位を通信端末間でやり取りしておく。そして、NAT通過用の通信プロトコルであるICE方式に基づいて、候補となるアドレスの組合せからなる通信経路のうち、当該アドレスの優先順位が高いものから順に接続チェックを行い、最初に接続可能と判定された通信経路を用いて、データ通信を開始するものとなっている(例えば、非特許文献1など参照)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】RFC5245、「Interactive Connectivity Establishment(ICE): A Protocol for Network Address Translator(NAT) Traversal for Offer/Answer Protocols」、IETF
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、このような従来技術では、アドレスの優先順位が高い通信経路から順に接続チェックを行うため、通信経路の確立までに時間がかかり、当該通信経路を用いた上位アプリケーションによるデータ通信の開始データ通信開始までの所要時間が増大するという問題点があった。このため、データ通信に関する通信開始時のリアルタイム性やオペレーションレスポンス速度が低下するという問題点があった。
【0008】
通常、通信経路の接続チェックでは、一方の通信端末からチェックコマンドを送信し、他方の通信端末で当該チェックコマンドの正常受信を確認した後、他方の通信端末から接続チェックレスポンスを送信し、一方の通信端末で当該接続チェックレスポンスの正常受信を確認するものとなる。したがって、1つの通信経路に対する接続チェックに、ある程度の時間を要することになる。
また、利用可能な状態にあるアドレスであっても、接続チェックコマンドや接続チェックレスポンスにエラーが発生した場合には、エラー判定のためタイムアウトするまで待機する必要があり、1回の接続チェックに要する時間が増大する要因にもなる。
【0009】
一方、前述したように、各通信端末のアドレスとして、例えば3種類のアドレスが存在する場合、これら通信端末間を結ぶ通信経路は、合計9つとなる。ここで、優先順位の高いアドレスが必ずしも接続できるとは限らない。また、接続チェックが失敗した際には、次の優先順位のアドレスについての接続チェックを実行する必要がある。
【0010】
したがって、従来のように、アドレスの優先順位が高い通信経路から順に接続チェックを開始した場合、接続チェックの失敗確率が高い通信経路から順に接続チェックを開始することになる。これにより、接続チェックの開始初期において接続チェックが失敗しやすくなるため、下位の優先順位のアドレスに切り替えて接続チェックを実行することになり、接続チェックの回数が増加する。このため、結果として通信経路の確立に時間がかかり、データ通信開始までの所要時間が増大する。
【0011】
本発明はこのような課題を解決するためのものであり、NAT通過のデータ通信を行う際、データ通信開始までの所要時間を短縮できる通信制御技術を提供することを目的としている。
【課題を解決するための手段】
【0012】
このような目的を達成するために、本発明にかかる通信端末は、相手通信端末とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理部と、各通信経路のうち、ICEチェック処理部での接続チェックにより相手通信端末との接続性が確認された通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE通信経路管理部で選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理部とを備え、ICEチェック処理部で、各通信経路について並列的に接続チェックを実行し、ICE通信経路管理部で、ICE方式に基づき各通信経路の優先順位を予め決定しておき、ICEチェック処理部で各通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択し、この後、ICEチェック処理部で各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路と当該新たな通信経路との優先順位を比較し、データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路をデータ通信用経路として新たに選択し、データ通信処理部で、ICE通信経路管理部で新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するようにしたものである。
【0013】
この際、データ通信処理部により、ICE通信経路管理部で新たな通信経路がデータ通信用経路として選択されるごとに、データ通信を当該新たな通信経路へ切り替えて継続するようにしてもよい。
【0014】
また、本発明にかかる通信制御方法は、相手通信端末とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理ステップと、各通信経路のうち、ICEチェック処理ステップでの接続チェックにより相手通信端末との接続性が確認された通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE通信経路管理ステップで選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理ステップとを備え、ICEチェック処理ステップに、各通信経路について並列的に接続チェックを実行するステップを含み、ICE通信経路管理ステップは、ICE方式に基づき各通信経路の優先順位を予め決定しておき、ICEチェック処理ステップで各通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択し、この後、ICEチェック処理ステップで各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路と当該新たな通信経路との優先順位を比較し、データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路をデータ通信用経路として新たに選択するステップを含み、データ通信処理ステップに、ICE通信経路管理ステップで新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するステップを含むようにしたものである。
【0015】
この際、データ通信処理ステップに、ICE通信経路管理ステップで新たな通信経路がデータ通信用経路として選択されるごとに、データ通信を当該新たな通信経路へ切り替えて継続するステップを含むようにしてもよい。
【発明の効果】
【0016】
本発明によれば、各通信経路のうち、いずれか最初に接続性が確認された通信経路を用いて通信端末と相手通信端末との間でデータ通信が開始される。このため、従来のように、優先順位の高い通信経路から順に接続性を確認する場合と比較して、極めて短い時間でNAT通過のデータ通信を行うための通信経路を確立でき、データ通信開始までの所要時間を短縮することが可能となる。また、その後、優先順位の高い新たな通信経路の接続性が確認された時点で、データ通信用経路が新たな通信経路へ切り替えられることになるため、結果として、優先順位の高い通信経路でデータ通信を行うことが可能となる。
【図面の簡単な説明】
【0017】
【図1】一実施の形態にかかる通信端末の構成を示すブロック図である。
【図2】一実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。
【図3】通信端末における使用可能アドレスを示す説明図である。
【図4】相手通信端末における使用可能アドレスを示す説明図である。
【図5】通信経路の優先順位を示す説明図である。
【発明を実施するための形態】
【0018】
次に、本発明の実施の形態について図面を参照して説明する。
[通信端末の構成]
まず、図1を参照して、本発明の一実施の形態にかかる通信端末10について説明する。図1は、一実施の形態にかかる通信端末の構成を示すブロック図である。
【0019】
この通信端末10は、相手通信端末20とのデータ通信に使用可能な通信経路について、ICE方式(RFC5245)に基づいて相手通信端末20との接続チェックを実行し、各通信経路のうち相手通信端末20との接続性が確認された通信経路を、相手通信端末20とのデータ通信用経路として選択してデータ通信を行う機能を有している。
相手通信端末20は、一般的なICE方式に基づきNAT通信のためのデータ通信を行う機能を有しているものとする。
【0020】
図1の構成例において、プライベートネットワーク51は、NAT機能を有するルータ30を介してパブリックネットワーク52に接続された閉域IP通信網であり、パブリックネットワーク52とは異なる独自のアドレス空間を用いている。通信端末10は、このプライベートネットワーク51に接続されている。
パブリックネットワーク52は、インターネットなどの公衆IP通信網である。このパブリックネットワーク52には、相手通信端末20のほか、STUNサーバ40、TURNサーバ41、および呼制御サーバ42が接続されている。
【0021】
STUNサーバ40は、NAT通過のためのクライアントサーバ型のデータ通信プロトコルであるSTUN方式(Simple Traversal of UDP through Network Address Translators/RFC3489)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の各種通信装置との間のデータ通信を実現するサーバ装置である。
【0022】
TURNサーバ41は、NAT通過のためのピアツーピア型のデータ通信プロトコルであるTURN方式(RFC5766)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間のデータ通信を実現するサーバ装置である。
【0023】
呼制御サーバ42は、ICE方式に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間で、例えばSIPなどのデータ通信のための通信経路の確立などの呼制御を行うサーバ装置である。
【0024】
本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用可能な各通信経路について並列的に接続チェックを実行するものとし、各通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択してデータ通信を開始し、この後、各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路と当該新たな通信経路との優先順位を比較し、データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路をデータ通信用経路として新たに選択し、相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続するようにしたものである。
【0025】
次に、図1を参照して、本実施の形態にかかる通信端末10の構成について詳細に説明する。
通信端末10には、主な機能部として、上位アプリケーション11、ICEチェック処理部12、ICE通信経路管理部13、データ通信処理部14、Hostソケット15、およびTURNソケット16が設けられている。
【0026】
上位アプリケーション11は、相手通信端末20とのデータ通信を用いたアプリケーション、例えば音声通信や映像通信などのアプリケーションを実行する機能部である。
ICEチェック処理部12は、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる各通信経路について、ICE方式に基づき相手通信端末20との接続チェックを並列的に実行する機能を有している。
【0027】
ICE通信経路管理部13は、ルータ30を経由してSTUNサーバ40との間でSTUN方式に基づくバインディングメッセージ(Binding Request/Binding Respons)をやり取りすることにより、通信端末10に対応するルータ30のパブリックネットワーク52側のアドレス、すなわちMappedアドレスを取得する機能と、ルータ30を経由してTURNサーバ41との間でTURN方式に基づくアロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、通信端末10に対応するTURNサーバ41のアドレス、すなわちRelayedアドレスを取得する機能とを有している。
【0028】
また、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスの候補(Candidate)に関するアドレス情報を相互に通知する機能と、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する機能とを有している。
【0029】
さらに、ICE通信経路管理部13は、各通信経路のうち、ICEチェック処理部12での接続チェックにより相手通信端末との接続性が最初に確認された通信経路を、相手通信端末20とのデータ通信用経路として選択する機能と、データ通信用経路によりデータ通信が開始された後に、ICEチェック処理部12で各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路と当該新たな通信経路との優先順位を比較し、データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路をデータ通信用経路として新たに選択する機能とを有している。
【0030】
データ通信処理部14は、ICE通信経路管理部13で選択されたデータ通信用経路を用いて相手通信端末との間で、上位アプリケーション11のための相手通信端末20とのデータ通信を行う機能と、ICE通信経路管理部13で新たな通信経路がデータ通信用経路として選択されるごとに、上位アプリケーション11のための相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続する機能とを有している。
【0031】
Hostソケット15は、TCPやUDPなどのプロトコルに基づいて、ルータ30を経由した、相手通信端末20、STUNサーバ40、呼制御サーバ42とのデータ通信を終端制御するための機能部である。
TURNソケット16は、TCPやUDPなどのプロトコルに基づいて、ルータ30およびTURNサーバ41を経由した相手通信端末20とのデータ通信を終端制御するための機能部である。
【0032】
[通信端末の動作]
次に、図2を参照して、本実施の形態にかかる通信端末10の動作について説明する。図2は、本発明の一実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。
【0033】
ここでは、前述の図1に示すように、通信端末10がプライベートネットワーク51内に接続されており、パブリックネットワーク52に接続されている相手通信端末20との間で、TCPによるデータ通信のための通信経路を確立する場合を例として説明する。なお、通信端末10がパブリックネットワーク52に接続されている場合、さらには相手通信端末20がプライベートネットワーク51内に接続されている場合でも、本実施の形態を同様に適用できる。
【0034】
図3は、通信端末における使用可能アドレスを示す説明図である。図1の接続形態において、通信端末10における使用可能アドレスは、図3に示すように、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類となる。
【0035】
このうち、Hostアドレスは、ルータ30が通信端末10の接続時に予め割り当てたプライベートネットワーク51上におけるローカルアドレスであり、Hostソケット15のアドレス10Hに相当する。また、Mappedアドレスは、Hostアドレスに対応して設けたルータ30のパブリックネットワーク52上におけるグローバルアドレスであり、ルータ30のアドレス10Mに相当する。また、Relayedアドレスは、通信端末10のTURNソケット16に対応してTURNサーバ41に設けられたアドレス10Rに相当する。
【0036】
通信端末10のICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めSTUNサーバ40との間で、バインディングメッセージ(Binding Request/Binding Respons)をやり取りすることにより、Mappedアドレス10Mの値を取得する(ステップ100)。Mappedアドレス10Mは、ルータ30で管理しているものであり、通信端末10へ通知されないため、通信端末10はパブリックネットワーク52に接続されているSTUNサーバ40を利用して、Mappedアドレス10Mを取得する。
【0037】
また、ICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス10Rの値を取得する(ステップ101)。このアロケートメッセージにより、ルータ30を介して通信端末10のTURNソケット16とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス10Rが通信端末10へ通知される。
【0038】
図4は、相手通信端末における使用可能アドレスを示す説明図である。図1の接続形態において、相手通信端末20における使用可能アドレスは、図4に示すように、Host、およびRelayedの2種類となる。
このうち、Hostは、相手通信端末20のパブリックネットワーク52上におけるグローバルアドレスであり、アドレス20Hに相当する。また、Relayedは、相手通信端末20に対応してTURNサーバ41に設けられたアドレス20Rに相当する。なお、相手通信端末20は、パブリックネットワーク52に接続されているためMappedアドレスは存在しない。
【0039】
また、相手通信端末20は、通信端末10とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス20Rの値を取得する(ステップ102)。このアロケートメッセージにより、相手通信端末20とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス20Rが相手通信端末20へ通知される。
【0040】
このようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の図3および図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
【0041】
この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
通常、ICE方式では、アドレス種別に基づいて優先度が割り当てられており、Hostアドレス>Mappedアドレス>Relayedアドレスの順に高い優先度が割り当てられている。このほか、ICE方式では、同一種別優先度のアドレス間における優先度を示すローカル優先度や、同一ローカル優先度のアドレス間における優先度を示すコンポーネントIDを用いて、各アドレスの優先度が算出される。各通信経路の優先順位は、当該通信経路を構成する自アドレスおよび相手アドレスの優先度を用いて決定される。
【0042】
図5は、通信経路の優先順位を示す説明図である。前述したように、通信端末10および相手通信端末20のそれぞれが、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類のアドレスを有している場合、これら組合せから合計9つの通信経路が想定され、Host−Hostの組合せからなる通信経路の優先順位が最も高く、Relayed−Relayedの組合せからなる通信経路の優先順位が最も低くなる。
【0043】
図1の接続形態では、相手通信端末20にMappedアドレスが存在しないため、図5に示すように、Host−Mapped、Mapped−Mapped、およびRelayed−Mappedの組合せからなる通信経路は該当なしとなり、結果として合計6つの通信経路が考えられる。
【0044】
このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路ごとにICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ並列して送信することにより、各通信経路に関する相手通信端末20との接続チェックを並列的に実行する(ステップ120)。
【0045】
一方、相手通信端末20は、通信端末10からの接続チェックコマンドを受信した場合、接続チェックコマンドを受信したアドレスでの接続性を確認し、データ通信可能な場合には接続チェックレスポンスを通信端末10へ返送する。
通信端末10のICEチェック処理部12は、相手通信端末20からの接続チェックレスポンスの受信に応じて、それぞれの通信経路の接続性を確認する。
【0046】
ここで、まず最初に、相手通信端末20からアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ121)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはTURNソケット16を含めて通知する。
【0047】
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知であることから、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。
【0048】
データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、アドレス10R−アドレス20Rの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ122)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、上位アプリケーション11が、相手通信端末20の上位アプリケーションとの間で、データ通信が開始され、例えば音声通信や映像通信などのアプリケーションが実行される。
【0049】
この後、相手通信端末20からアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ130)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはHostソケット15を含めて通知する。
【0050】
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる新たな通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知ではないことから、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる通信経路との間で、それぞれの通信経路に関する優先順位を比較する(ステップ131)。
【0051】
ここで、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる最初の通信経路より、アドレス10M−アドレス20Hの組合せからなる新たな通信経路のほうが、優先順位が高いため、ICE通信経路管理部13は、データ通信用経路として、アドレス10M−アドレス20Hの組合せからなる新たな通信経路をデータ通信用経路として選択する(ステップ132)。
【0052】
そして、ICE通信経路管理部13は、それまでデータ通信用経路として使用していたアドレス10R−アドレス20Rの組合せからなる通信経路について、当該通信経路で用いているTURNソケット16への書き込み終了(データ送信終了)を通知するための書込みShutdownソケット通知を、ルータ30から相手通信端末20へソケット通信プロトコルで送信する(ステップ133)。
【0053】
相手通信端末20は、通信端末10からの書込みShutdownソケット通知の受信に応じて、通信端末10との通信経路で用いているソケットへの書き込み終了(データ送信終了)を通知するための書込みShutdownソケット通知を、通信端末10へソケット通信プロトコルで返送する(ステップ134)。
これにより、ICE通信経路管理部13は、アドレス10R−アドレス20Rの組合せからなる通信経路の使用、ここではTURNソケット16を用いた通信経路の使用を終了する。
【0054】
この後、ICE通信経路管理部13は、ステップ132で最も優先度が高いと判断したアドレス10M−アドレス20Hの組合せからなる通信経路を、新たなデータ通信用経路とするため、新たなデータ通信用経路と、当該データ通信用経路で使用するアドレスとを含む経路情報を相手通信端末20に通知することにより、相手通信端末20との間で、新たなデータ通信用経路で用いる各種情報をやり取りして相互確認(ネゴシエーション)する。(ステップ135)。
【0055】
また、ICE通信経路管理部13は、通信端末10へ新たなデータ通信用経路に関する経路情報を通知した後、新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるHostソケット15を含めて通知する。
【0056】
これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10R−アドレス20Rの組合せからなる通信経路を、アドレス10M−アドレス20Hの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ136)。具体的には、ICE通信経路管理部13から通知されたHostソケット15を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、より優先順位の高い通信経路を用いたデータ通信が開始される。
【0057】
なお、ICE通信経路管理部13は、通信経路の優先順位を比較した結果、現在、データ通信用経路として使用している通信経路より、ICEチェック処理部12から新たに通知された通信経路の方が、優先順位が低い場合、通信経路の切り替えは行わず、現在、データ通信用経路として使用している通信経路を用いたデータ通信を維持する。
また、ICE通信経路管理部13は、通信経路の切替を行った後、より優先順位の高い新たな通信経路の接続性が確認された場合、当該新たな通信経路をデータ通信用経路として切替選択する。
【0058】
[本実施の形態の効果]
このように、本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用可能な各通信経路について並列的に接続チェックを実行するものとし、これら通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択してデータ通信を開始し、この後に、各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路と当該新たな通信経路とについて、ICE方式に基づき予め決定しておいた各通信経路の優先順位を比較し、データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路をデータ通信用経路として新たに選択し、相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続するようにしたものである。
【0059】
これにより、各通信経路のうち、いずれか最初に接続性が確認された通信経路を用いて通信端末10と相手通信端末20との間でデータ通信が開始される。このため、従来のように、優先順位の高い通信経路から順に接続性を確認する場合と比較して、極めて短い時間でNAT通過のデータ通信を行うための通信経路を確立でき、データ通信開始までの所要時間を短縮することが可能となる。
また、その後、優先順位の高い新たな通信経路の接続性が確認された時点で、データ通信用経路が新たな通信経路へ切り替えられることになるため、結果として、優先順位の高い通信経路でデータ通信を行うことが可能となる。
【0060】
また、本実施の形態では、データ通信処理部14において、ICE通信経路管理部13でデータ通信用経路が新たな通信経路へ切替選択されるごとに、当該新たな通信経路へ切り替えてデータ通信を継続するようにしてもよい。
これにより、より優先順位の高い通信経路でデータ通信を継続することができ、最終的には、使用可能な最も優先順位の高い通信経路で、相手通信端末20とのデータ通信を行うことが可能となる。
【0061】
また、本実施の形態では、通信端末10と相手通信端末20とのデータ通信に使用可能な通信経路として、図5に6つの通信経路を示したが、通信端末10のHostアドレス10Hは、プライベートネットワーク51内のローカルアドレスであるため、相手通信端末20からHostアドレス10Hへアクセスすることはできず、このHostアドレス10Hを用いた通信経路は利用できない。
【0062】
したがって、例えばICE通信経路管理部13において、自アドレスのうち相手からのアクセス可否を、当該アドレス値、アドレス値に割り当てられているマスクやスコープに基づき判定し、アクセス可能なアドレスの通信経路についてのみ、ICEチェック処理部12で相手通信端末20との接続性をチェックするようにしてもよい。これにより、接続チェックコマンドや接続チェックレスポンスをやり取りするためのネットワーク装置や相手通信端末20での処理負荷を軽減できる。
【0063】
また、本実施の形態において、相手通信端末20において各通信経路の優先順位が、通信端末10と同様に決定される場合、あるいは通信端末10から、例えば接続チェックコマンドで当該通信経路の優先順位が通知される場合、通信端末10から接続チェックコマンドを受信した際、相手通信端末20において、当該接続チェックコマンドを受信した通信経路の優先順位を確認し、この優先順位がそれまでに接続チェックレスポンスを返送した通信経路の優先順位より高い場合にのみ、当該接続チェックコマンドに対する接続チェックレスポンスを返送するようにしてもよい。これにより、接続チェックレスポンスの無駄な返送を省くことができ、通信端末10での処理負担を軽減できる。
【0064】
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【0065】
10…通信端末、11…上位アプリケーション、12…ICEチェック処理部、13…ICE通信経路管理部、14…データ通信処理部、15…Hostソケット、16…TURNソケット、20…相手通信端末、30…ルータ、40…STUNサーバ、41…TURNサーバ、42…呼制御サーバ、51…プライベートネットワーク、52…パブリックネットワーク、10H,20H…Hostアドレス、10M…Mappedアドレス、10R,20R…Relayedアドレス。

【特許請求の範囲】
【請求項1】
相手通信端末とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理部と、
前記各通信経路のうち、前記ICEチェック処理部での前記接続チェックにより前記相手通信端末との接続性が確認された通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、
前記ICE通信経路管理部で選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理部と
を備え、
前記ICEチェック処理部は、前記各通信経路について並列的に前記接続チェックを実行し、
前記ICE通信経路管理部は、ICE方式に基づき前記各通信経路の優先順位を予め決定しておき、前記ICEチェック処理部で前記各通信経路のうち最初に接続性が確認された通信経路を前記データ通信用経路として選択し、この後、前記ICEチェック処理部で前記各通信経路のうちから新たな通信経路の接続性が確認された際、前記データ通信用経路と当該新たな通信経路との優先順位を比較し、前記データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路を前記データ通信用経路として新たに選択し、
前記データ通信処理部は、前記ICE通信経路管理部で前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続する
ことを特徴とする通信端末。
【請求項2】
請求項1に記載の通信端末において、
前記データ通信処理部は、前記ICE通信経路管理部で新たな通信経路が前記データ通信用経路として選択されるごとに、前記データ通信を当該新たな通信経路へ切り替えて継続することを特徴とする通信端末。
【請求項3】
相手通信端末とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理ステップと、
前記各通信経路のうち、前記ICEチェック処理ステップでの前記接続チェックにより前記相手通信端末との接続性が確認された通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、
前記ICE通信経路管理ステップで選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理ステップと
を備え、
前記ICEチェック処理ステップは、前記各通信経路について並列的に前記接続チェックを実行するステップを含み、
前記ICE通信経路管理ステップは、ICE方式に基づき前記各通信経路の優先順位を予め決定しておき、前記ICEチェック処理ステップで前記各通信経路のうち最初に接続性が確認された通信経路を前記データ通信用経路として選択し、この後、前記ICEチェック処理ステップで前記各通信経路のうちから新たな通信経路の接続性が確認された際、前記データ通信用経路と当該新たな通信経路との優先順位を比較し、前記データ通信用経路より当該新たな通信経路の優先順位が高い場合、当該新たな通信経路を前記データ通信用経路として新たに選択するステップを含み、
前記データ通信処理ステップは、前記ICE通信経路管理ステップで前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含む
ことを特徴とする通信制御方法。
【請求項4】
請求項3に記載の通信制御方法において、
前記データ通信処理ステップは、前記ICE通信経路管理ステップで新たな通信経路が前記データ通信用経路として選択されるごとに、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含むことを特徴とする通信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−21523(P2013−21523A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2011−153541(P2011−153541)
【出願日】平成23年7月12日(2011.7.12)
【出願人】(304020498)サクサ株式会社 (678)
【Fターム(参考)】