(58)【調査した分野】(Int.Cl.,DB名)
相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理ステップと、
前記各通信経路のうち、前記ICEチェック処理ステップでの前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、
前記ICE通信経路管理ステップで選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理ステップと
を備え、
前記ICE通信経路管理ステップは、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、前記相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる前記各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定するステップと、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理ステップで接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから前記優先順位が最も高い通信経路を、前記データ通信用経路として選択するステップを含み、
前記データ通信処理ステップは、前記ICE通信経路管理ステップで前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含む
ことを特徴とする通信制御方法。
【発明を実施するための形態】
【0022】
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、
図1を参照して、本発明の第1の実施の形態にかかる通信端末10について説明する。
図1は、第1の実施の形態にかかる通信端末の構成を示すブロック図である。
【0023】
この通信端末10は、相手通信端末20とのデータ通信に使用可能な通信経路について、ICE方式(RFC5245)に基づいて相手通信端末20との接続チェックを実行し、各通信経路のうち相手通信端末20との接続性が確認された通信経路を、相手通信端末20とのデータ通信用経路として選択してデータ通信を行う機能を有している。
相手通信端末20は、一般的なICE方式に基づきNAT通信のためのデータ通信を行う機能を有しているものとする。
【0024】
図1の構成例において、プライベートネットワーク51は、NAT機能を有するルータ30を介してパブリックネットワーク52に接続された閉域IP通信網であり、パブリックネットワーク52とは異なる独自のアドレス空間を用いている。通信端末10は、このプライベートネットワーク51に接続されている。
パブリックネットワーク52は、インターネットなどの公衆IP通信網である。このパブリックネットワーク52には、相手通信端末20のほか、STUNサーバ40、TURNサーバ41、および呼制御サーバ42が接続されている。
【0025】
STUNサーバ40は、NAT通過のためのクライアントサーバ型のデータ通信プロトコルであるSTUN方式(Simple Traversal of UDP through Network Address Translators/RFC3489)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の各種通信装置との間のデータ通信を実現するサーバ装置である。
【0026】
TURNサーバ41は、NAT通過のためのピアツーピア型のデータ通信プロトコルであるTURN方式(RFC5766)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間のデータ通信を実現するサーバ装置である。
【0027】
呼制御サーバ42は、ICE方式に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間で、例えばSIPなどのデータ通信のための通信経路の確立などの呼制御を行うサーバ装置である。
【0028】
本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用しているデータ通信用経路を新たな通信経路に切り替える際、相手通信端末20との間で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として切替選択し、当該新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続するようにしたものである。
【0029】
[通信端末]
次に、
図1を参照して、本実施の形態にかかる通信端末10の構成について詳細に説明する。
通信端末10には、主な機能部として、上位アプリケーション11、ICEチェック処理部12、ICE通信経路管理部13、データ通信処理部14、Hostソケット15、およびTURNソケット16が設けられている。
【0030】
上位アプリケーション11は、相手通信端末20とのデータ通信を用いたアプリケーション、例えば音声通信や映像通信などのアプリケーションを実行する機能部である。
ICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる任意の通信経路について、ICE方式に基づき相手通信端末20との並列的に接続チェックを実行する機能を有している。
【0031】
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アドレスを取得する機能とを有している。
【0032】
また、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスの候補(Candidate)に関するアドレス情報を相互に通知する機能と、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する機能とを有している。
【0033】
さらに、ICE通信経路管理部13は、各通信経路のうち、ICEチェック処理部12での接続チェックにより相手通信端末との接続性が最初に確認された通信経路を、相手通信端末20とのデータ通信用経路として選択する機能と、データ通信用経路によりデータ通信が開始された後に、当該データ通信用経路を新たな通信経路に切り替える際、ICEチェック処理部12で接続性が確認された通信経路であって、かつ、データ通信用経路として選択されている通信経路以外の経路のうち、優先順位が最も高い通信経路を、データ通信用経路として新たに選択する機能とを有している。
【0034】
データ通信処理部14は、ICE通信経路管理部13で選択されたデータ通信用経路を用いて相手通信端末との間で、上位アプリケーション11のための相手通信端末20とのデータ通信を行う機能と、ICE通信経路管理部13で新たな通信経路がデータ通信用経路として選択されるごとに、上位アプリケーション11のための相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続する機能とを有している。
【0035】
Hostソケット15は、TCPやUDPなどのプロトコルに基づいて、ルータ30を経由した、相手通信端末20、STUNサーバ40、呼制御サーバ42とのデータ通信を終端制御するための機能部である。
TURNソケット16は、TCPやUDPなどのプロトコルに基づいて、ルータ30およびTURNサーバ41を経由した相手通信端末20とのデータ通信を終端制御するための機能部である。
【0036】
[第1の実施の形態の動作]
次に、
図2Aおよび
図2Bを参照して、本実施の形態にかかる通信端末10の動作について説明する。
図2Aは、第1の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。
図2Bは、第1の実施の形態にかかる通信端末の通信制御動作(続き)を示すシーケンス図である。
【0037】
ここでは、前述の
図1に示すように、通信端末10がプライベートネットワーク51内に接続されており、パブリックネットワーク52に接続されている相手通信端末20との間で通信経路を確立する場合を例として説明する。なお、通信端末10がパブリックネットワーク52に接続されている場合、さらには相手通信端末20がプライベートネットワーク51内に接続されている場合でも、本実施の形態を同様に適用できる。
【0038】
図3は、通信端末における使用可能アドレスを示す説明図である。
図1の接続形態において、通信端末10における使用可能アドレスは、
図3に示すように、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類となる。
【0039】
このうち、Hostアドレスは、ルータ30が通信端末10の接続時に予め割り当てたプライベートネットワーク51上におけるローカルアドレスであり、Hostソケット15のアドレス10Hに相当する。また、Mappedアドレスは、Hostアドレスに対応して設けたルータ30のパブリックネットワーク52上におけるグローバルアドレスであり、ルータ30のアドレス10Mに相当する。また、Relayedアドレスは、通信端末10のTURNソケット16に対応してTURNサーバ41に設けられたアドレス10Rに相当する。
【0040】
通信端末10のICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めSTUNサーバ40との間で、バインディングメッセージ(Binding Request/Binding Respons)をやり取りすることにより、Mappedアドレス10Mの値を取得する(ステップ100)。Mappedアドレス10Mは、ルータ30で管理しているものであり、通信端末10へ通知されないため、通信端末10はパブリックネットワーク52に接続されているSTUNサーバ40を利用して、Mappedアドレス10Mを取得する。
【0041】
また、ICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス10Rの値を取得する(ステップ101)。このアロケートメッセージにより、ルータ30を介して通信端末10のTURNソケット16とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス10Rが通信端末10へ通知される。
【0042】
図4は、相手通信端末における使用可能アドレスを示す説明図である。
図1の接続形態において、相手通信端末20における使用可能アドレスは、
図4に示すように、Host、およびRelayedの2種類となる。
このうち、Hostは、相手通信端末20のパブリックネットワーク52上におけるグローバルアドレスであり、アドレス20Hに相当する。また、Relayedは、相手通信端末20に対応してTURNサーバ41に設けられたアドレス20Rに相当する。なお、相手通信端末20は、パブリックネットワーク52に接続されているためMappedアドレスは存在しない。
【0043】
また、相手通信端末20は、通信端末10とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス20Rの値を取得する(ステップ102)。このアロケートメッセージにより、相手通信端末20とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス20Rが相手通信端末20へ通知される。
【0044】
このようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の
図3および
図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
【0045】
この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
通常、ICE方式では、アドレス種別に基づいて優先度が割り当てられており、Hostアドレス>Mappedアドレス>Relayedアドレスの順に高い優先度が割り当てられている。このほか、ICE方式では、同一種別優先度のアドレス間における優先度を示すローカル優先度や、同一ローカル優先度のアドレス間における優先度を示すコンポーネントIDを用いて、各アドレスの優先度が算出される。各通信経路の優先順位は、当該通信経路を構成する自アドレスおよび相手アドレスの優先度を用いて決定される。
【0046】
図5は、通信経路の優先順位を示す説明図である。前述したように、通信端末10および相手通信端末20のそれぞれが、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類のアドレスを有している場合、これら組合せから合計9つの通信経路が想定され、Host−Hostの組合せからなる通信経路の優先順位が最も高く、Relayed−Relayedの組合せからなる通信経路の優先順位が最も低くなる。
【0047】
図1の接続形態では、相手通信端末20にMappedアドレスが存在しないため、
図5に示すように、Host−Mapped、Mapped−Mapped、およびRelayed−Mappedの組合せからなる通信経路は該当なしとなり、結果として合計6つの通信経路が考えられる。
また、相手通信端末20においても、通信端末10と同様にして、各通信経路の優先順位が決定される(ステップ112)。
【0048】
このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路ごとにICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ並列して送信することにより、各通信経路に関する相手通信端末20との接続チェックを並列的に実行する(ステップ120)。
【0049】
一方、相手通信端末20は、通信端末10からの接続チェックコマンドを受信した場合、接続チェックコマンドを受信したアドレスでの接続性を確認し、データ通信可能な場合には接続チェックレスポンスを通信端末10へ返送する。
通信端末10のICEチェック処理部12は、相手通信端末20からの接続チェックレスポンスの受信に応じて、それぞれの通信経路の接続性を確認する。
【0050】
ここで、まず最初に、相手通信端末20からアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ121)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはTURNソケット16を含めて通知する。
【0051】
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知であることから、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。
【0052】
データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、アドレス10R−アドレス20Rの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ122)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、上位アプリケーション11が、相手通信端末20の上位アプリケーションとの間で、データ通信が開始され、例えば音声通信や映像通信などのアプリケーションが実行される。
【0053】
この後、相手通信端末20からアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ130)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはHostソケット15を含めて通知する。
【0054】
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる新たな通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知ではないことから、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる通信経路との間で、それぞれの通信経路に関する優先順位を比較する(ステップ131)。
【0055】
ここで、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる最初の通信経路より、アドレス10M−アドレス20Hの組合せからなる新たな通信経路のほうが、優先順位が高いため、ICE通信経路管理部13は、データ通信用経路として、アドレス10M−アドレス20Hの組合せからなる新たな通信経路をデータ通信用経路として選択する(ステップ132)。
【0056】
そして、ICE通信経路管理部13は、それまでデータ通信用経路として使用していたアドレス10R−アドレス20Rの組合せからなる通信経路についての通信終了コマンドを、ルータ30から相手通信端末20へTCP制御用パケットで送信する(ステップ133)。
【0057】
相手通信端末20は、通信端末10からの通信終了コマンドの受信に応じて、ステップ130で直前に接続チェックレスポンスを返送したアドレス10M−アドレス20Hの組合せからなる通信経路を新たなデータ通信用経路として選択するとともに、アドレス10R−アドレス20Rの組合せからなる通信経路の使用を終了し、通信終了レスポンスを通信端末10へTCP制御用パケットで返送する(ステップ134)。
これにより、ICE通信経路管理部13は、アドレス10R−アドレス20Rの組合せからなる通信経路の使用、ここではTURNソケット16を用いた通信経路の使用を終了する。
【0058】
また、ICE通信経路管理部13は、通信終了コマンドの送信後、アドレス10M−アドレス20Hの組合せからなる新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるHostソケット15を含めて通知する。
【0059】
これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10R−アドレス20Rの組合せからなる通信経路を、アドレス10M−アドレス20Hの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ135)。具体的には、ICE通信経路管理部13から通知されたHostソケット15を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、より優先順位の高い通信経路を用いたデータ通信が開始される。
【0060】
なお、ICE通信経路管理部13は、通信経路の優先順位を比較した結果、現在、データ通信用経路として使用している通信経路より、ICEチェック処理部12から新たに通知された通信経路の方が、優先順位が低い場合、通信経路の切り替えは行わず、現在、データ通信用経路として使用している通信経路を用いたデータ通信を維持する。
また、ICE通信経路管理部13は、通信経路の切替を行った後、より優先順位の高い新たな通信経路の接続性が確認された場合、当該新たな通信経路をデータ通信用経路として切替選択する。
【0061】
このようにして、通信端末10と相手通信端末20との間でデータ通信が行われている状態において(ステップ140)、当該通信経路での通信品質の低下などの理由により、使用中の通信経路を新たな通信経路へ切り替える場合、通信端末10のICE通信経路管理部13は、ICEチェック処理部12でデータ通信開始時に接続性が確認された通信経路であって、かつ、データ通信用経路として現在選択されている通信経路以外の経路の優先順位を比較し(ステップ141)、これらのうち、優先順位が最も高い通信経路、ここでは、アドレス10H−アドレス20Rの組合せからなる通信経路を、データ通信用経路として新たに選択する(ステップ142)。
【0062】
この後、ICE通信経路管理部13は、それまでデータ通信用経路として使用していた通信経路、ここではアドレス10M−アドレス20Hの組合せからなる通信経路についての通信終了コマンドを、ルータ30から相手通信端末20へ送信する(ステップ143)。
【0063】
相手通信端末20は、通信端末10からの通信終了コマンドの受信に応じて、データ通信開始時に接続性が確認された通信経路であって、かつ、データ通信用経路として現在選択されている通信経路以外の経路の優先順位を比較し(ステップ144)、これらのうち、優先順位が最も高い通信経路を、データ通信用経路として新たに選択する(ステップ145)。これにより、通信端末10と同一の通信経路、すなわちアドレス10H−アドレス20Rの組合せからなる通信経路がデータ通信用経路として新たに選択される。
【0064】
この後、相手通信端末20は、アドレス10M−アドレス20Hの組合せからなる通信経路の使用を終了し、通信終了レスポンスを通信端末10へ返送する(ステップ146)。
これにより、ICE通信経路管理部13は、アドレス10M−アドレス20Hの組合せからなる通信経路の使用、ここではHostソケット15を用いた通信経路の使用を終了する。
【0065】
また、ICE通信経路管理部13は、通信終了コマンドの送信後、アドレス10R−アドレス20Hの組合せからなる新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。
【0066】
これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10M−アドレス20Hの組合せからなる通信経路を、アドレス10H−アドレス20Rの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ147)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、使用可能な通信経路のうち、より優先順位の高い通信経路を用いたデータ通信が開始される。
【0067】
[第1の実施の形態の効果]
このように、本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用しているデータ通信用経路を新たな通信経路に切り替える際、相手通信端末20との間で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択し、当該新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続するようにしたものである。
【0068】
これにより、通信経路に切り替える際、データ通信開始時に相手通信端末20との間で接続性が予め確認された通信経路が、データ通信用経路として選択されるため、従来のように、使用中の通信経路を一旦切断した後、新たな通信経路を確立する場合と比較して、極めて短い時間でNAT通過のデータ通信を新たな通信経路で継続でき、データ通信再開までの所要時間を短縮することが可能となる。
また、データ通信開始時に相手通信端末20との間で接続性が予め確認された通信経路のうちから、最も高い通信経路が選択されるため、結果として、優先順位の高い通信経路でデータ通信を継続することが可能となる。
【0069】
また、本実施の形態では、ICEチェック処理部12で、各通信経路の接続チェックを実行する際、これら通信経路について並列的に接続チェックを実行するようにしたので、各通信経路の接続性確認に要する時間を短縮することができる。
また、本実施の形態では、これら通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択してデータ通信を開始し、この後に、各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路より当該新たな通信経路の優先順位が高い場合、相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続するようにしたので、極めて短い時間でNAT通過のデータ通信を、優先順位の高い通信経路で開始することができる。
【0070】
また、本実施の形態では、ICE通信経路管理部13で、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度に基づきそれぞれの優先順位を決定するようにしたので、通信端末10と相手通信端末20との間で、各通信経路について同じ優先順位を付与することができる。
【0071】
また、本実施の形態では、相手通信端末20において、通信端末10から通知された各アドレスの優先度に基づいて、各通信経路の優先順位を決定する場合を例として説明したが、これら各通信経路の優先順位を通信端末10から相手通信端末20へ通知するようにしてもよい。具体的には、通信端末10のICEチェック処理部12において、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末20へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末20へ通知してもよい。これにより、通信端末10と同様の優先順位決定処理を相手通信端末20で実行する必要がなくなり、処理負担を軽減できる。
【0072】
また、本実施の形態では、通信端末10と相手通信端末20とのデータ通信に使用可能な通信経路として、
図5に6つの通信経路を示したが、通信端末10のHostアドレス10Hは、プライベートネットワーク51内のローカルアドレスであるため、相手通信端末20からHostアドレス10Hへアクセスすることはできず、このHostアドレス10Hを用いた通信経路は利用できない。
【0073】
したがって、例えばICE通信経路管理部13において、自アドレスのうち相手からのアクセス可否を、当該アドレス値、アドレス値に割り当てられているマスクやスコープに基づき判定し、アクセス可能なアドレスの通信経路についてのみ、ICEチェック処理部12で相手通信端末20との接続性をチェックするようにしてもよい。これにより、接続チェックコマンドや接続チェックレスポンスをやり取りするためのネットワーク装置や相手通信端末20での処理負荷を軽減できる。
【0074】
なお、相手通信端末20からアクセスできない通信経路について接続チェックを行った場合、相手通信端末20からの接続チェックレスポンスが正常に通信端末10へ返送されないため、実際には、このような通信経路が誤って使用されることはない。
したがって、相手通信端末20からアクセスできない通信経路を判定することなく、自アドレスおよびステップ110で取得した相手アドレスの組合せからなるすべての通信経路について接続チェックを並列的に実行することにより、通信端末10での処理負担を軽減できる。
【0075】
また、本実施の形態では、
図2において、通信端末10から相手通信端末20へ通信終了コマンドを送信した後、データ通信用経路を新たな通信経路に切り替える場合を例として説明したが、これは通信端末10と相手通信端末20との間でTCPに基づくデータ通信を行う場合を想定したものである。UDPに基づきデータ通信の場合には、複数の通信経路を並列的に利用できることから、通信終了コマンドを送信する前に、新たな通信経路でデータ通信を開始しておき、その後、通信終了コマンドを送信して元の通信経路に関するデータ通信の終了手続を行うようにしてもよい。
【0076】
[第2の実施の形態]
次に、本発明の第2の実施の形態にかかる通信端末10について説明する。第1の実施の形態では、ICEチェック処理部12で、各通信経路の接続チェックを実行する際、これら通信経路について並列的に接続チェックを実行する場合について説明した。本実施の形態では、並列的ではなく、優先順位の高い方から順に接続チェックを実行する場合について説明する。
【0077】
前述したように、ICE方式では、データ通信を開始する際、各通信経路のうち優先順位の高い方から順に接続チェックを実行し、最初に接続性が確認された通信経路を用いてデータ通信を行うものとし、これ以降の優先順位の通信経路については、接続チェックを省略するものとなっている。本実施の形態は、この方法を利用して、任意の通信経路で接続性が確認された場合でも、すべての通信経路について接続チェックを実行するようにしたものである。
【0078】
本実施の形態において、ICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなるすべての通信経路について、当該通信経路の優先順位の高いものから順に、ICE方式に基づき相手通信端末20との接続チェックを実行する機能を有している。
【0079】
[第2の実施の形態の動作]
次に、
図6を参照して、本実施の形態にかかる通信端末10の動作について説明する。
図6は、第2の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。
【0080】
前述した
図2Aのステップ100〜102のようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の
図3および
図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
【0081】
この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
また、相手通信端末20においても、通信端末10と同様にして、各通信経路の優先順位が決定される(ステップ112)。
【0082】
このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路のうち、優先順位の高いものから順に、ICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ送信することにより、各通信経路に関する相手通信端末20との接続チェックを実行する。
【0083】
例えば、前述した
図5の例によれば、ICEチェック処理部12は、まず、最も優先順位の高い、アドレス10H−アドレス20Hの組合せからなる通信経路について、接続チェックコマンドを送信する(ステップ200)。ここで、この通信経路のアドレス10Hは、相手通信端末20からアクセスできないため接続チェックレスポンスが通信端末10へ届くことはなく、タイムアウトエラーとなる。
【0084】
続いて、ICEチェック処理部12は、次に優先順位の高い、アドレス10M−アドレス20Hの組合せからなる通信経路について、接続チェックコマンドを送信する(ステップ201)。ここで、相手通信端末20からの接続チェックレスポンスが受信できた場合(ステップ202)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。
【0085】
ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。
データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、10M−アドレス20Hの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ203)。
【0086】
ICEチェック処理部12は、アドレス10M−アドレス20Hの組合せからなる通信経路の接続性確認をICE通信経路管理部13へ通知した後、残りの通信経路について、優先順位の高いものから順に接続チェックコマンドを送信し、相手通信端末20からの接続チェックレスポンスに応じて、当該通信経路の接続性を確認する(ステップ210)。
この後、使用中の通信経路を新たな通信経路へ切り替える場合、前述した
図2Bの処理へ移行することになる。
【0087】
[第2の実施の形態の効果]
このように、本実施の形態では、ICEチェック処理部12により、各通信経路の接続チェックを実行する際、優先順位の高い方から順にすべての通信経路について接続チェックを実行するようにしたので、各通信経路について並列的に接続チェックを実行するのではなく、一般的なICE方式を利用してすべての通信経路の接続性を確認することができる。
【0088】
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。