[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5768550B2 - Communication terminal and communication control method - Google Patents

Communication terminal and communication control method Download PDF

Info

Publication number
JP5768550B2
JP5768550B2 JP2011153545A JP2011153545A JP5768550B2 JP 5768550 B2 JP5768550 B2 JP 5768550B2 JP 2011153545 A JP2011153545 A JP 2011153545A JP 2011153545 A JP2011153545 A JP 2011153545A JP 5768550 B2 JP5768550 B2 JP 5768550B2
Authority
JP
Japan
Prior art keywords
communication path
communication
ice
data communication
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011153545A
Other languages
Japanese (ja)
Other versions
JP2013021524A (en
Inventor
幸広 荒戸
幸広 荒戸
義正 高津
義正 高津
耕二 山宮
耕二 山宮
Original Assignee
サクサ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サクサ株式会社 filed Critical サクサ株式会社
Priority to JP2011153545A priority Critical patent/JP5768550B2/en
Publication of JP2013021524A publication Critical patent/JP2013021524A/en
Application granted granted Critical
Publication of JP5768550B2 publication Critical patent/JP5768550B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ通信技術に関し、特にNAT(Network Address Translator)通過のためのICE方式(Interactive Connectivity Establishment/RFC5245)で用いる通信制御技術に関する。   The present invention relates to a data communication technique, and more particularly to a communication control technique used in an ICE system (Interactive Connectivity Establishment / RFC5245) for passing through a NAT (Network Address Translator).

イントラネットなどのプライベートネットワークに接続された複数のプライベート通信端末を、インターネットなどのパブリックネットワークに接続する場合、パブリックネットワーク側のグローバルアドレスを各プライベート通信端末で共用することにより、アドレス空間を効率的に利用することができる。
この場合、プライベートネットワークとパブリックネットワークとを相互接続するルータに搭載された通信制御機能の1つであるNATを利用して、プライベートネットワーク上でプライベート通信端末に割り当てられているHostアドレスと、ルータに割り当てられたパブリックネットワーク側のグローバルアドレスとを透過的に相互変換することになる。
When multiple private communication terminals connected to a private network such as an intranet are connected to a public network such as the Internet, the global address on the public network side is shared by each private communication terminal to efficiently use the address space. can do.
In this case, a host address assigned to a private communication terminal on the private network and a router are used by using NAT, which is one of communication control functions mounted on the router that interconnects the private network and the public network. The assigned global address on the public network side is transparently interconverted.

具体的には、プライベート通信端末のHostアドレスとポート番号との組合せからなるトランスポートアドレスを、ルータのポート番号に割り当てる、いわゆるポートマッピング方式が用いられる。
したがって、この場合、プライベート通信端末に関するパブリックネットワーク側のアドレスとして、ルータのパブリックネットワーク側グローバルアドレスとポート番号の組合せからなるトランスポートアドレス、いわゆるMappedアドレスが用いられる。
Specifically, a so-called port mapping method is used in which a transport address composed of a combination of a host address and a port number of a private communication terminal is assigned to a router port number.
Therefore, in this case, a transport address composed of a combination of the public network side global address of the router and the port number, a so-called mapped address, is used as the public network side address for the private communication terminal.

また、NAT通過のための通信プロトコルとしてTURN方式(Traversal Using Relay NAT/RFC5766)がある。これは、プライベート通信端末とピアツーピアでデータ通信可能なTURNサーバをパブリックネットワーク側に設け、このTURNサーバを経由してパブリックネットワーク側の通信端末とデータ通信を行う方式である。
したがって、TURN方式では、プライベート通信端末に関するパブリックネットワーク側のアドレスとして、TURNサーバのパブリックネットワーク側グローバルアドレスとポート番号の組合せからなるトランスポートアドレス、いわゆるRelayedアドレスが用いられる。
There is a TURN method (Traversal Using Relay NAT / RFC5766) as a communication protocol for passing NAT. In this method, a TURN server capable of data communication with a private communication terminal on a peer-to-peer basis is provided on the public network side, and data communication is performed with the communication terminal on the public network side via the TURN server.
Therefore, in the TURN method, a transport address consisting of a combination of a public address on the public network side of the TURN server and a port number, a so-called Relayed address, is used as an address on the public network side for the private communication terminal.

このように、NATを通過するデータ通信を行う通信端末には、複数のアドレスが存在することになる。したがって、NAT通過データ通信を行う場合、これら複数のアドレスの組合せの数だけ、通信経路が存在することになる。
このため、通信端末間でデータ通信を開始する際、それぞれの通信端末がデータ通信で使用する候補となる自端末のアドレスについて、予め設定されている優先順位を通信端末間でやり取りしておく。そして、NAT通過用の通信プロトコルであるICE方式に基づいて、候補となるアドレスの組合せからなる通信経路のうち、当該アドレスの優先順位が高いものから順に接続チェックを行い、最初に接続可能と判定された通信経路を用いて、データ通信を開始するものとなっている(例えば、非特許文献1など参照)。
As described above, a plurality of addresses exist in a communication terminal that performs data communication passing through the NAT. Therefore, when performing NAT passage data communication, there are as many communication paths as the number of combinations of the plurality of addresses.
For this reason, when data communication is started between communication terminals, a preset priority order is exchanged between the communication terminals for the addresses of the own terminals that are candidates for use by each communication terminal in data communication. Then, based on the ICE system, which is a communication protocol for passing through NAT, the communication path composed of combinations of candidate addresses is checked in order from the highest priority of the addresses, and it is determined that connection is possible first. The data communication is started using the communication path (see, for example, Non-Patent Document 1).

RFC5245、「Interactive Connectivity Establishment(ICE): A Protocol for Network Address Translator(NAT) Traversal for Offer/Answer Protocols」、IETFRFC5245, “Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer / Answer Protocols”, IETF

しかしながら、このような従来技術では、通信品質の低下などの理由により、使用中の通信経路を新たな通信経路へ切り替える場合、使用中の通信経路を一旦切断した後、新たな通信経路を確立することになるため、再び、アドレスの優先順位が高い通信経路から順に接続チェックを行うことになる。このため、通信経路を確立してデータ通信を再開するまでに時間がかかり、通信経路切替時のリアルタイム性やオペレーションレスポンス速度が低下するという問題点があった。   However, in such a conventional technique, when a communication path in use is switched to a new communication path due to reasons such as a decrease in communication quality, the communication path in use is temporarily disconnected and then a new communication path is established. Therefore, the connection check is performed again in order from the communication path with the highest priority of the address. For this reason, it takes time until the communication path is established and the data communication is resumed, and there is a problem that the real-time property and the operation response speed at the time of switching the communication path are lowered.

通常、通信経路の接続チェックでは、一方の通信端末からチェックコマンドを送信し、他方の通信端末で当該チェックコマンドの正常受信を確認した後、他方の通信端末から接続チェックレスポンスを送信し、一方の通信端末で当該接続チェックレスポンスの正常受信を確認するものとなる。したがって、1つの通信経路に対する接続チェックに、ある程度の時間を要することになる。
また、利用可能な状態にあるアドレスであっても、接続チェックコマンドや接続チェックレスポンスにエラーが発生した場合には、エラー判定のためタイムアウトするまで待機する必要があり、1回の接続チェックに要する時間が増大する要因にもなる。
Normally, in a connection check of a communication path, a check command is transmitted from one communication terminal, and after the other communication terminal confirms normal reception of the check command, a connection check response is transmitted from the other communication terminal, The communication terminal confirms normal reception of the connection check response. Therefore, a certain amount of time is required for the connection check for one communication path.
Even if the address is in an available state, if an error occurs in the connection check command or connection check response, it is necessary to wait until a timeout occurs for error determination, which is required for one connection check. It becomes a factor which time increases.

一方、前述したように、各通信端末のアドレスとして、例えば3種類のアドレスが存在する場合、これら通信端末間を結ぶ通信経路は、合計9つとなる。ここで、優先順位の高いアドレスが必ずしも接続できるとは限らない。また、接続チェックが失敗した際には、次の優先順位のアドレスについての接続チェックを実行する必要がある。   On the other hand, as described above, when there are, for example, three types of addresses as the addresses of the communication terminals, there are a total of nine communication paths connecting these communication terminals. Here, high priority addresses are not always connectable. If the connection check fails, it is necessary to execute a connection check for the next priority address.

したがって、従来のように、アドレスの優先順位が高い通信経路から順に接続チェックを開始した場合、接続チェックの失敗確率が高い通信経路から順に接続チェックを開始することになる。これにより、接続チェックの開始初期において接続チェックが失敗しやすくなるため、下位の優先順位のアドレスに切り替えて接続チェックを実行することになり、接続チェックの回数が増加する。このため、結果として通信経路の確立に時間がかかり、データ通信再開までの所要時間が増大する。   Therefore, when the connection check is started in order from the communication path with the highest priority of the address as in the prior art, the connection check is started in order from the communication path with the highest connection check failure probability. As a result, the connection check is likely to fail at the beginning of the connection check, so that the connection check is executed by switching to a lower priority address, and the number of connection checks increases. For this reason, as a result, it takes time to establish a communication path, and the time required to resume data communication increases.

本発明はこのような課題を解決するためのものであり、NAT通過のデータ通信を新たな通信経路に切り替える際、データ通信再開までの所要時間を短縮できる通信経路切替技術を提供することを目的としている。   The present invention is intended to solve such a problem, and an object of the present invention is to provide a communication path switching technique capable of shortening the time required for resuming data communication when switching data communication through NAT to a new communication path. It is said.

このような目的を達成するために、本発明にかかる通信端末は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理部と、各通信経路のうち、ICEチェック処理部での接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE通信経路管理部で選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理部とを備え、ICE通信経路管理部で、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定し、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理部で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから優先順位が最も高い通信経路を、データ通信用経路として選択し、データ通信処理部で、ICE通信経路管理部で新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するようにしたものである。 In order to achieve such an object, the communication terminal according to the present invention performs a connection check with the partner communication terminal on the basis of the NAT passing ICE method for each communication path used for data communication with the partner communication terminal. Of the communication paths with the ICE check processing unit, an arbitrary communication path whose connectivity with the partner communication terminal is confirmed by the connection check with the ICE check processing unit is selected as a data communication path with the partner communication terminal. and ICE communication route management unit, using the selected data communication path ICE communication route management unit and a data communication processing unit that performs data communication with the other party's communication terminal, in ICE communication route management unit, the The own address and the other party address that can be used for data communication are mutually notified with the other party communication terminal together with the priority of the address, and these address And for each communication path comprising the combination of a destination address, when switching from priority of the address determines the respective priority based on ICE mode, the data communication path to a new communication path, ICE checks in the communication path connectivity in the processing unit is confirmed, the highest communication path RaYu destination ranking or in the communication path other than the communication path selected as the data communication path selected as the data communication path, data communication processing When the new communication path is selected as the data communication path by the ICE communication path management unit, the data communication is switched to the new communication path and continued.

また、本発明にかかる他の通信端末は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理部と、各通信経路のうち、ICEチェック処理部での接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE通信経路管理部で選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理部とを備え、ICE通信経路管理部で、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理部で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択し、データ通信処理部で、ICE通信経路管理部で新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続し、ICEチェック処理部で、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末へ通知するようにしたものである。 Further, another communication terminal according to the present invention includes, for each communication path used for data communication with the partner communication terminal, an ICE check processing unit that performs a connection check with the partner communication terminal based on the NAT passing ICE method, An ICE communication path management unit that selects an arbitrary communication path whose connectivity with the counterpart communication terminal is confirmed as a data communication path with the counterpart communication terminal from among the communication paths by a connection check in the ICE check processing unit; A data communication processing unit that performs data communication with the counterpart communication terminal using the data communication route selected by the ICE communication route management unit, and the ICE communication route management unit sets a new data communication route. When switching to a communication path, communication other than the communication path selected as the data communication path whose connectivity has been confirmed by the ICE check processing unit in the communication path The communication path having the highest priority among these communication paths determined based on the ICE method is selected as a data communication path from among the paths, and a new communication path is selected in the data communication processing unit by the ICE communication path management unit. When selected as the data communication path, the data communication is continued to be switched to the new communication path, and when the ICE check processing unit performs connection check of each communication path, the partner communication terminal via the communication path The other communication terminal is notified of the priority order regarding the communication path using a connection check command transmitted to the other communication terminal .

また、本発明にかかる通信制御方法は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理ステップと、各通信経路のうち、ICEチェック処理ステップでの接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE通信経路管理ステップで選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理ステップとを備え、ICE通信経路管理ステップに、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定するステップと、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理ステップで接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから優先順位が最も高い通信経路を、データ通信用経路として選択するステップを含み、データ通信処理ステップに、ICE通信経路管理ステップで新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するステップを含むようにしたものである。 The communication control method according to the present invention includes an ICE check processing step for executing a connection check with a partner communication terminal based on an ICE method for passing NAT for each communication path used for data communication with the partner communication terminal, An ICE communication path management step of selecting, as a data communication path with the other communication terminal, an arbitrary communication path whose connectivity with the other communication terminal has been confirmed by the connection check in the ICE check processing step among the communication paths; A data communication processing step for performing data communication with a partner communication terminal using the data communication path selected in the ICE communication path management step, and the ICE communication path management step can be used for the data communication. The address and the other party address are notified to the other party communication terminal together with the priority of the address, For each communication path comprising the combination of these self-address and the destination address, determining the respective priority based on ICE mode from the priority of that address, when switching the data communication path to the new communication path, connectivity is confirmed by the ICE check processing step in the communication path, the RaYu destination rank highest communication path or in the communication path other than the communication path selected as the data communication path, as a data communication path The data communication processing step includes a step of switching the data communication to the new communication path and continuing when the new communication path is selected as the data communication path in the ICE communication path management step. It is a thing.

また、本発明にかかる他の通信制御方法は、相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき相手通信端末との接続チェックを実行するICEチェック処理ステップと、各通信経路のうち、ICEチェック処理ステップでの接続チェックにより相手通信端末との接続性が確認された任意の通信経路を、相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE通信経路管理ステップで選択されたデータ通信用経路を用いて相手通信端末との間でデータ通信を行うデータ通信処理ステップとを備え、ICE通信経路管理ステップに、データ通信用経路を新たな通信経路に切り替える際、通信経路のうちICEチェック処理ステップで接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択するステップを含み、データ通信処理ステップに、ICE通信経路管理ステップで新たな通信経路がデータ通信用経路として選択された場合、データ通信を当該新たな通信経路へ切り替えて継続するステップを含み、ICEチェック処理ステップに、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末へ通知するステップを含むようにしたものである。 Another communication control method according to the present invention includes an ICE check processing step for executing a connection check with a partner communication terminal on the basis of an ICE method for passing NAT for each communication path used for data communication with the partner communication terminal. ICE communication path management step of selecting any communication path whose connectivity with the partner communication terminal has been confirmed by the connection check in the ICE check processing step from among the communication paths as a data communication path with the partner communication terminal. And a data communication processing step for performing data communication with the counterpart communication terminal using the data communication route selected in the ICE communication route management step. A new data communication route is added to the ICE communication route management step. When switching to a different communication path, the data connection whose connectivity was confirmed in the ICE check processing step in the communication path. Including a step of selecting, as a data communication path, a communication path having the highest priority among the communication paths determined based on the ICE method from communication paths other than the communication path selected as the communication path. The processing step includes a step of switching and continuing data communication to the new communication path when a new communication path is selected as the data communication path in the ICE communication path management step. When performing a connection check of a route, a step of notifying the other communication terminal of the priority order regarding the communication route using a connection check command transmitted to the other communication terminal via the communication route is included. .

本発明によれば、通信経路に切り替える際、データ通信開始時に相手通信端末との間で接続性が予め確認された通信経路が、データ通信用経路として選択されるため、従来のように、使用中の通信経路を一旦切断した後、新たな通信経路を確立する場合と比較して、極めて短い時間でNAT通過のデータ通信を新たな通信経路で継続でき、データ通信再開までの所要時間を短縮することが可能となる。また、データ通信開始時に相手通信端末との間で接続性が予め確認された通信経路のうちから、最も高い通信経路が選択されるため、結果として、優先順位の高い通信経路でデータ通信を継続することが可能となる。   According to the present invention, when switching to a communication path, a communication path whose connectivity has been confirmed in advance with the counterpart communication terminal at the start of data communication is selected as the data communication path. Compared to establishing a new communication path after disconnecting the current communication path, data communication passing through the NAT can be continued with the new communication path in a very short time, and the time required to resume data communication is shortened. It becomes possible to do. In addition, since the highest communication path is selected from the communication paths whose connectivity with the partner communication terminal has been confirmed in advance at the start of data communication, as a result, data communication continues on the communication path with a higher priority. It becomes possible to do.

第1の実施の形態にかかる通信端末の構成を示すブロック図である。It is a block diagram which shows the structure of the communication terminal concerning 1st Embodiment. 第1の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。It is a sequence diagram which shows the communication control operation | movement of the communication terminal concerning 1st Embodiment. 第1の実施の形態にかかる通信端末の通信制御動作(続き)を示すシーケンス図である。It is a sequence diagram which shows the communication control operation (continuation) of the communication terminal concerning 1st Embodiment. 通信端末における使用可能アドレスを示す説明図である。It is explanatory drawing which shows the usable address in a communication terminal. 相手通信端末における使用可能アドレスを示す説明図である。It is explanatory drawing which shows the usable address in the other party communication terminal. 通信経路の優先順位を示す説明図である。It is explanatory drawing which shows the priority of a communication path. 第2の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。It is a sequence diagram which shows the communication control operation | movement of the communication terminal concerning 2nd Embodiment.

次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる通信端末10について説明する。図1は、第1の実施の形態にかかる通信端末の構成を示すブロック図である。
Next, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, with reference to FIG. 1, the communication terminal 10 concerning the 1st Embodiment of this invention is demonstrated. FIG. 1 is a block diagram illustrating a configuration of a communication terminal according to the first embodiment.

この通信端末10は、相手通信端末20とのデータ通信に使用可能な通信経路について、ICE方式(RFC5245)に基づいて相手通信端末20との接続チェックを実行し、各通信経路のうち相手通信端末20との接続性が確認された通信経路を、相手通信端末20とのデータ通信用経路として選択してデータ通信を行う機能を有している。
相手通信端末20は、一般的なICE方式に基づきNAT通信のためのデータ通信を行う機能を有しているものとする。
The communication terminal 10 performs a connection check with the partner communication terminal 20 based on the ICE method (RFC5245) for the communication path that can be used for data communication with the partner communication terminal 20, and the partner communication terminal of each communication path. 20 has a function of performing data communication by selecting a communication path whose connectivity with the communication terminal 20 has been confirmed as a data communication path with the counterpart communication terminal 20.
The counterpart communication terminal 20 is assumed to have a function of performing data communication for NAT communication based on a general ICE method.

図1の構成例において、プライベートネットワーク51は、NAT機能を有するルータ30を介してパブリックネットワーク52に接続された閉域IP通信網であり、パブリックネットワーク52とは異なる独自のアドレス空間を用いている。通信端末10は、このプライベートネットワーク51に接続されている。
パブリックネットワーク52は、インターネットなどの公衆IP通信網である。このパブリックネットワーク52には、相手通信端末20のほか、STUNサーバ40、TURNサーバ41、および呼制御サーバ42が接続されている。
In the configuration example of FIG. 1, the private network 51 is a closed IP communication network connected to the public network 52 via the router 30 having the NAT function, and uses a unique address space different from the public network 52. The communication terminal 10 is connected to this private network 51.
The public network 52 is a public IP communication network such as the Internet. In addition to the counterpart communication terminal 20, a STUN server 40, a TURN server 41, and a call control server 42 are connected to the public network 52.

STUNサーバ40は、NAT通過のためのクライアントサーバ型のデータ通信プロトコルであるSTUN方式(Simple Traversal of UDP through Network Address Translators/RFC3489)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の各種通信装置との間のデータ通信を実現するサーバ装置である。   The STUN server 40 is based on the STUN method (Simple Traversal of UDP through Network Address Translators / RFC3489) which is a client-server type data communication protocol for passing through the NAT, and the communication terminal 10 on the private network 51 side and the public network 52 side. It is a server apparatus which implement | achieves data communication between these various communication apparatuses.

TURNサーバ41は、NAT通過のためのピアツーピア型のデータ通信プロトコルであるTURN方式(RFC5766)に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間のデータ通信を実現するサーバ装置である。   The TURN server 41 is configured to transmit data between the communication terminal 10 on the private network 51 side and the counterpart communication terminal 20 on the public network 52 side based on the TURN method (RFC 5766), which is a peer-to-peer data communication protocol for passing through the NAT. This is a server device for realizing communication.

呼制御サーバ42は、ICE方式に基づいて、プライベートネットワーク51側の通信端末10とパブリックネットワーク52側の相手通信端末20との間で、例えばSIPなどのデータ通信のための通信経路の確立などの呼制御を行うサーバ装置である。   The call control server 42 establishes a communication path for data communication such as SIP between the communication terminal 10 on the private network 51 side and the counterpart communication terminal 20 on the public network 52 side based on the ICE method. A server device that performs call control.

本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用しているデータ通信用経路を新たな通信経路に切り替える際、相手通信端末20との間で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として切替選択し、当該新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続するようにしたものである。   In the present embodiment, when the communication terminal 10 switches the data communication path used for data communication with the counterpart communication terminal 20 to a new communication path, the connectivity with the counterpart communication terminal 20 is confirmed. Further, among communication paths other than the communication path selected as the data communication path, the communication path with the highest priority of these communication paths determined based on the ICE method is selected and switched as the data communication path. By switching to the new communication path, data communication with the counterpart communication terminal 20 is continued.

[通信端末]
次に、図1を参照して、本実施の形態にかかる通信端末10の構成について詳細に説明する。
通信端末10には、主な機能部として、上位アプリケーション11、ICEチェック処理部12、ICE通信経路管理部13、データ通信処理部14、Hostソケット15、およびTURNソケット16が設けられている。
[Communication terminal]
Next, the configuration of the communication terminal 10 according to the present embodiment will be described in detail with reference to FIG.
The communication terminal 10 is provided with a host application 11, an ICE check processing unit 12, an ICE communication path management unit 13, a data communication processing unit 14, a host socket 15, and a TURN socket 16 as main functional units.

上位アプリケーション11は、相手通信端末20とのデータ通信を用いたアプリケーション、例えば音声通信や映像通信などのアプリケーションを実行する機能部である。
ICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなる任意の通信経路について、ICE方式に基づき相手通信端末20との並列的に接続チェックを実行する機能を有している。
The host application 11 is a functional unit that executes an application using data communication with the counterpart communication terminal 20, for example, an application such as voice communication or video communication.
In response to an instruction from the ICE communication path management unit 13, the ICE check processing unit 12 uses the ICE method for an arbitrary communication path including a combination of a self address and a partner address that can be used for data communication with the partner communication terminal 20. And a function for executing a connection check with the counterpart communication terminal 20 in parallel.

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アドレスを取得する機能とを有している。   The ICE communication path management unit 13 exchanges a binding message (Binding Request / Binding Respons) based on the STUN method with the STUN server 40 via the router 30, thereby making the public of the router 30 corresponding to the communication terminal 10 public. By exchanging an allocate message (Allocate Request / Allocate Response) based on the TURN method between the network 52 side address, that is, the mapped address, and the TURN server 41 via the router 30, the communication terminal 10 And the function of acquiring the address of the TURN server 41 corresponding to the above, that is, the Relayed address.

また、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスの候補(Candidate)に関するアドレス情報を相互に通知する機能と、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する機能とを有している。   In addition, the ICE communication path management unit 13 exchanges offer messages / answer messages (Offer Message / Answer Messages) based on the ICE method with the call control server 42 via the router 30, whereby the partner communication terminal 20. The priority of each communication path is set to the ICE method from the combination of the address information related to the candidate address (Candidate) that can be used for data communication with each other and the combination of the usable address and the partner address. And a function to make a decision based on this.

さらに、ICE通信経路管理部13は、各通信経路のうち、ICEチェック処理部12での接続チェックにより相手通信端末との接続性が最初に確認された通信経路を、相手通信端末20とのデータ通信用経路として選択する機能と、データ通信用経路によりデータ通信が開始された後に、当該データ通信用経路を新たな通信経路に切り替える際、ICEチェック処理部12で接続性が確認された通信経路であって、かつ、データ通信用経路として選択されている通信経路以外の経路のうち、優先順位が最も高い通信経路を、データ通信用経路として新たに選択する機能とを有している。   Further, the ICE communication path management unit 13 selects a communication path for which the connectivity with the partner communication terminal is first confirmed by the connection check in the ICE check processing unit 12 among the communication paths, as data with the partner communication terminal 20. The communication path whose connectivity has been confirmed by the ICE check processing unit 12 when the data communication path is switched to a new communication path after data communication is started by the function selected as the communication path and the data communication path. In addition, it has a function of newly selecting a communication route having the highest priority among the routes other than the communication route selected as the data communication route as the data communication route.

データ通信処理部14は、ICE通信経路管理部13で選択されたデータ通信用経路を用いて相手通信端末との間で、上位アプリケーション11のための相手通信端末20とのデータ通信を行う機能と、ICE通信経路管理部13で新たな通信経路がデータ通信用経路として選択されるごとに、上位アプリケーション11のための相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続する機能とを有している。   The data communication processing unit 14 performs a data communication with the partner communication terminal 20 for the higher-level application 11 with the partner communication terminal using the data communication path selected by the ICE communication path management unit 13. Each time the ICE communication path management unit 13 selects a new communication path as the data communication path, the function of switching the data communication with the counterpart communication terminal 20 for the upper application 11 to the new communication path and continuing it. And have.

Hostソケット15は、TCPやUDPなどのプロトコルに基づいて、ルータ30を経由した、相手通信端末20、STUNサーバ40、呼制御サーバ42とのデータ通信を終端制御するための機能部である。
TURNソケット16は、TCPやUDPなどのプロトコルに基づいて、ルータ30およびTURNサーバ41を経由した相手通信端末20とのデータ通信を終端制御するための機能部である。
The host socket 15 is a functional unit for terminating control of data communication with the counterpart communication terminal 20, the STUN server 40, and the call control server 42 via the router 30 based on a protocol such as TCP or UDP.
The TURN socket 16 is a functional unit for controlling the termination of data communication with the counterpart communication terminal 20 via the router 30 and the TURN server 41 based on a protocol such as TCP or UDP.

[第1の実施の形態の動作]
次に、図2Aおよび図2Bを参照して、本実施の形態にかかる通信端末10の動作について説明する。図2Aは、第1の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。図2Bは、第1の実施の形態にかかる通信端末の通信制御動作(続き)を示すシーケンス図である。
[Operation of First Embodiment]
Next, with reference to FIG. 2A and FIG. 2B, operation | movement of the communication terminal 10 concerning this Embodiment is demonstrated. FIG. 2A is a sequence diagram illustrating a communication control operation of the communication terminal according to the first embodiment. FIG. 2B is a sequence diagram illustrating a communication control operation (continued) of the communication terminal according to the first embodiment.

ここでは、前述の図1に示すように、通信端末10がプライベートネットワーク51内に接続されており、パブリックネットワーク52に接続されている相手通信端末20との間で通信経路を確立する場合を例として説明する。なお、通信端末10がパブリックネットワーク52に接続されている場合、さらには相手通信端末20がプライベートネットワーク51内に接続されている場合でも、本実施の形態を同様に適用できる。   Here, as shown in FIG. 1 described above, an example in which the communication terminal 10 is connected in the private network 51 and a communication path is established with the counterpart communication terminal 20 connected to the public network 52 is described. Will be described. Note that the present embodiment can be similarly applied when the communication terminal 10 is connected to the public network 52, and even when the partner communication terminal 20 is connected within the private network 51.

図3は、通信端末における使用可能アドレスを示す説明図である。図1の接続形態において、通信端末10における使用可能アドレスは、図3に示すように、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類となる。   FIG. 3 is an explanatory diagram showing usable addresses in the communication terminal. In the connection form of FIG. 1, there are three types of usable addresses in the communication terminal 10 as shown in FIG. 3, Host address, Mapped address, and Relayed address.

このうち、Hostアドレスは、ルータ30が通信端末10の接続時に予め割り当てたプライベートネットワーク51上におけるローカルアドレスであり、Hostソケット15のアドレス10Hに相当する。また、Mappedアドレスは、Hostアドレスに対応して設けたルータ30のパブリックネットワーク52上におけるグローバルアドレスであり、ルータ30のアドレス10Mに相当する。また、Relayedアドレスは、通信端末10のTURNソケット16に対応してTURNサーバ41に設けられたアドレス10Rに相当する。   Among these, the host address is a local address on the private network 51 that is assigned in advance by the router 30 when the communication terminal 10 is connected, and corresponds to the address 10H of the host socket 15. The Mapped address is a global address on the public network 52 of the router 30 provided corresponding to the Host address, and corresponds to the address 10M of the router 30. The Relayed address corresponds to the address 10R provided in the TURN server 41 corresponding to the TURN socket 16 of the communication terminal 10.

通信端末10のICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めSTUNサーバ40との間で、バインディングメッセージ(Binding Request/Binding Respons)をやり取りすることにより、Mappedアドレス10Mの値を取得する(ステップ100)。Mappedアドレス10Mは、ルータ30で管理しているものであり、通信端末10へ通知されないため、通信端末10はパブリックネットワーク52に接続されているSTUNサーバ40を利用して、Mappedアドレス10Mを取得する。   The ICE communication path management unit 13 of the communication terminal 10 exchanges a binding message (Binding Request / Binding Response) with the STUN server 40 in advance before starting data communication with the counterpart communication terminal 20. The value of the mapped address 10M is acquired (step 100). Since the mapped address 10M is managed by the router 30 and is not notified to the communication terminal 10, the communication terminal 10 uses the STUN server 40 connected to the public network 52 to acquire the mapped address 10M. .

また、ICE通信経路管理部13は、相手通信端末20とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス10Rの値を取得する(ステップ101)。このアロケートメッセージにより、ルータ30を介して通信端末10のTURNソケット16とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス10Rが通信端末10へ通知される。   Further, the ICE communication path management unit 13 exchanges an allocated message (Allocate Request / Allocate Response) with the TURN server 41 in advance before starting data communication with the counterpart communication terminal 20, thereby providing a relayed address. The value of 10R is acquired (step 101). By this allocate message, a secure communication path is formed between the TURN socket 16 of the communication terminal 10 and the TURN server 41 via the router 30, and the address 10R on the public network 52 for using this communication path communicates. The terminal 10 is notified.

図4は、相手通信端末における使用可能アドレスを示す説明図である。図1の接続形態において、相手通信端末20における使用可能アドレスは、図4に示すように、Host、およびRelayedの2種類となる。
このうち、Hostは、相手通信端末20のパブリックネットワーク52上におけるグローバルアドレスであり、アドレス20Hに相当する。また、Relayedは、相手通信端末20に対応してTURNサーバ41に設けられたアドレス20Rに相当する。なお、相手通信端末20は、パブリックネットワーク52に接続されているためMappedアドレスは存在しない。
FIG. 4 is an explanatory diagram showing usable addresses in the partner communication terminal. In the connection form of FIG. 1, there are two types of usable addresses in the partner communication terminal 20: Host and Relayed, as shown in FIG.
Among these, Host is a global address on the public network 52 of the counterpart communication terminal 20, and corresponds to the address 20H. Further, “Relayed” corresponds to an address 20 </ b> R provided in the TURN server 41 corresponding to the partner communication terminal 20. Since the counterpart communication terminal 20 is connected to the public network 52, there is no mapped address.

また、相手通信端末20は、通信端末10とのデータ通信を開始する前に、予めTURNサーバ41との間で、アロケートメッセージ(Allocate Request/Allocate Response)をやり取りすることにより、Relayedアドレス20Rの値を取得する(ステップ102)。このアロケートメッセージにより、相手通信端末20とTURNサーバ41との間でセキュアな通信経路が形成され、この通信経路を利用するためのパブリックネットワーク52上のアドレス20Rが相手通信端末20へ通知される。   Further, the partner communication terminal 20 exchanges an allocate message (Allocate Request / Allocate Response) with the TURN server 41 in advance before starting data communication with the communication terminal 10, so that the value of the Relayed address 20 R is obtained. Is acquired (step 102). By this allocate message, a secure communication path is formed between the partner communication terminal 20 and the TURN server 41, and the address 20R on the public network 52 for using this communication path is notified to the partner communication terminal 20.

このようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の図3および図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
In this way, when the communication terminal 10 and the partner communication terminal 20 have acquired their own addresses that can be used for data communication in their own terminals, if the host application 11 of the communication terminal 10 requests the start of data communication, the ICE The communication path management unit 13 exchanges an offer message / answer message (Offer Message / Answer Message) based on the ICE method with the call control server 42 via the router 30, thereby communicating with the partner communication terminal 20. Then, addresses usable for data communication are exchanged (step 110).
As a result, the address information including the address values and address types shown in FIGS. 3 and 4 as well as the respective address priorities are mutually notified between the communication terminal 10 and the partner communication terminal 20. .

この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
通常、ICE方式では、アドレス種別に基づいて優先度が割り当てられており、Hostアドレス>Mappedアドレス>Relayedアドレスの順に高い優先度が割り当てられている。このほか、ICE方式では、同一種別優先度のアドレス間における優先度を示すローカル優先度や、同一ローカル優先度のアドレス間における優先度を示すコンポーネントIDを用いて、各アドレスの優先度が算出される。各通信経路の優先順位は、当該通信経路を構成する自アドレスおよび相手アドレスの優先度を用いて決定される。
Thereafter, the ICE communication path management unit 13 determines the priority of each communication path based on the combination of the usable self address and the partner address based on the ICE method (step 111).
Normally, in the ICE system, priorities are assigned based on address types, and higher priorities are assigned in the order of Host address> Mapped address> Relayed address. In addition, in the ICE method, the priority of each address is calculated using a local priority indicating a priority between addresses of the same type priority and a component ID indicating a priority between addresses of the same local priority. The The priority of each communication path is determined by using the priority of the own address and the other party address constituting the communication path.

図5は、通信経路の優先順位を示す説明図である。前述したように、通信端末10および相手通信端末20のそれぞれが、Hostアドレス、Mappedアドレス、およびRelayedアドレスの3種類のアドレスを有している場合、これら組合せから合計9つの通信経路が想定され、Host−Hostの組合せからなる通信経路の優先順位が最も高く、Relayed−Relayedの組合せからなる通信経路の優先順位が最も低くなる。   FIG. 5 is an explanatory diagram showing the priority order of communication paths. As described above, when each of the communication terminal 10 and the partner communication terminal 20 has three types of addresses, that is, a host address, a mapped address, and a relayed address, a total of nine communication paths are assumed from these combinations. The communication path composed of the host-host combination has the highest priority, and the communication path composed of the relayed-relayed combination has the lowest priority.

図1の接続形態では、相手通信端末20にMappedアドレスが存在しないため、図5に示すように、Host−Mapped、Mapped−Mapped、およびRelayed−Mappedの組合せからなる通信経路は該当なしとなり、結果として合計6つの通信経路が考えられる。
また、相手通信端末20においても、通信端末10と同様にして、各通信経路の優先順位が決定される(ステップ112)。
In the connection form of FIG. 1, since there is no mapped address in the counterpart communication terminal 20, as shown in FIG. 5, there is no communication path consisting of a combination of Host-Mapped, Mapped-Mapped, and Relayed-Mapped. A total of six communication paths can be considered.
Also in the partner communication terminal 20, the priority order of each communication path is determined in the same manner as the communication terminal 10 (step 112).

このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路ごとにICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ並列して送信することにより、各通信経路に関する相手通信端末20との接続チェックを並列的に実行する(ステップ120)。   After determining the priority of each communication path in this way, the ICE check processing unit 12 of the communication terminal 10 connects to each communication path based on the ICE method in accordance with an instruction from the ICE communication path management unit 13. By transmitting the check command from the Host socket 15 or the TURN socket 16 to the counterpart communication terminal 20 in parallel via the router 30, the connection check with the counterpart communication terminal 20 regarding each communication path is executed in parallel (step) 120).

一方、相手通信端末20は、通信端末10からの接続チェックコマンドを受信した場合、接続チェックコマンドを受信したアドレスでの接続性を確認し、データ通信可能な場合には接続チェックレスポンスを通信端末10へ返送する。
通信端末10のICEチェック処理部12は、相手通信端末20からの接続チェックレスポンスの受信に応じて、それぞれの通信経路の接続性を確認する。
On the other hand, when receiving a connection check command from the communication terminal 10, the counterpart communication terminal 20 confirms the connectivity at the address at which the connection check command is received. If data communication is possible, the partner communication terminal 20 sends a connection check response. Return to
The ICE check processing unit 12 of the communication terminal 10 confirms the connectivity of each communication path in response to the reception of the connection check response from the counterpart communication terminal 20.

ここで、まず最初に、相手通信端末20からアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ121)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはTURNソケット16を含めて通知する。   Here, first, when a connection check response relating to a communication path composed of the combination of address 10R and address 20R is received from the partner communication terminal 20 (step 121), the ICE check processing unit 12 determines the connectivity of the communication path. The ICE communication path management unit 13 is notified of the confirmation. At this time, the ICE check processing unit 12 notifies the socket including the TURN socket 16 used in the communication path.

ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10R−アドレス20Rの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知であることから、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。   When the ICE communication path management unit 13 receives the notification of the connectivity confirmation regarding the communication path composed of the combination of the address 10R and the address 20R from the ICE check processing unit 12, the connectivity confirmation is the first notification. The communication path is selected as a data communication path and notified to the data communication processing unit 14. At this time, the ICE communication path management unit 13 notifies including the TURN socket 16 used in the communication path notified from the ICE check processing unit 12.

データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、アドレス10R−アドレス20Rの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ122)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、上位アプリケーション11が、相手通信端末20の上位アプリケーションとの間で、データ通信が開始され、例えば音声通信や映像通信などのアプリケーションが実行される。
In response to the data communication path selection notification from the ICE communication path management unit 13, the data communication processing unit 14 performs data communication with the counterpart communication terminal 20 using the communication path formed by the combination of the address 10R and the address 20R. Start (step 122). Specifically, data communication with the counterpart communication terminal 20 is started using the TURN socket 16 notified from the ICE communication path management unit 13.
As a result, the host application 11 starts data communication with the host application of the counterpart communication terminal 20, and applications such as voice communication and video communication are executed.

この後、相手通信端末20からアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続チェックレスポンスを受信した場合(ステップ130)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。この際、ICEチェック処理部12は、当該通信経路で用いるソケット、この場合にはHostソケット15を含めて通知する。   Thereafter, when a connection check response related to a communication path consisting of the combination of the address 10M and the address 20H is received from the partner communication terminal 20 (step 130), the ICE check processing unit 12 confirms that the connectivity of the communication path has been confirmed. The ICE communication path management unit 13 is notified. At this time, the ICE check processing unit 12 notifies the socket including the socket used in the communication path, in this case, the host socket 15.

ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる新たな通信経路に関する接続性確認の通知を受けた場合、当該接続性確認が最初の通知ではないことから、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる通信経路との間で、それぞれの通信経路に関する優先順位を比較する(ステップ131)。   When the ICE communication path management unit 13 receives a notification of connectivity confirmation regarding a new communication path composed of the address 10M-address 20H combination from the ICE check processing unit 12, the connectivity confirmation is not the first notification. From the communication route formed by the combination of address 10R and address 20R, which is currently selected as the data communication route, the priority order of each communication route is compared (step 131).

ここで、現在、データ通信用経路として選択している、アドレス10R−アドレス20Rの組合せからなる最初の通信経路より、アドレス10M−アドレス20Hの組合せからなる新たな通信経路のほうが、優先順位が高いため、ICE通信経路管理部13は、データ通信用経路として、アドレス10M−アドレス20Hの組合せからなる新たな通信経路をデータ通信用経路として選択する(ステップ132)。   Here, the new communication path composed of the address 10M-address 20H combination has a higher priority than the first communication path composed of the address 10R-address 20R combination currently selected as the data communication path. Therefore, the ICE communication path management unit 13 selects a new communication path composed of the combination of the address 10M and the address 20H as the data communication path as the data communication path (step 132).

そして、ICE通信経路管理部13は、それまでデータ通信用経路として使用していたアドレス10R−アドレス20Rの組合せからなる通信経路についての通信終了コマンドを、ルータ30から相手通信端末20へTCP制御用パケットで送信する(ステップ133)。   Then, the ICE communication path management unit 13 sends a communication end command for the communication path consisting of the combination of the address 10R and the address 20R, which has been used as the data communication path, from the router 30 to the partner communication terminal 20 for TCP control. The packet is transmitted (step 133).

相手通信端末20は、通信端末10からの通信終了コマンドの受信に応じて、ステップ130で直前に接続チェックレスポンスを返送したアドレス10M−アドレス20Hの組合せからなる通信経路を新たなデータ通信用経路として選択するとともに、アドレス10R−アドレス20Rの組合せからなる通信経路の使用を終了し、通信終了レスポンスを通信端末10へTCP制御用パケットで返送する(ステップ134)。
これにより、ICE通信経路管理部13は、アドレス10R−アドレス20Rの組合せからなる通信経路の使用、ここではTURNソケット16を用いた通信経路の使用を終了する。
In response to the reception of the communication end command from the communication terminal 10, the counterpart communication terminal 20 sets a communication path composed of the combination of the address 10M and the address 20H, which has returned the connection check response immediately in step 130, as a new data communication path. At the same time, the communication path consisting of the combination of address 10R and address 20R is terminated, and a communication end response is returned to the communication terminal 10 as a TCP control packet (step 134).
Thereby, the ICE communication path management unit 13 ends the use of the communication path formed of the combination of the address 10R and the address 20R, in this case, the use of the communication path using the TURN socket 16.

また、ICE通信経路管理部13は、通信終了コマンドの送信後、アドレス10M−アドレス20Hの組合せからなる新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるHostソケット15を含めて通知する。   Further, after transmitting the communication end command, the ICE communication path management unit 13 notifies the data communication processing unit 14 of a new communication path composed of the combination of the address 10M and the address 20H as a data communication path, thereby performing data communication. Instructs the switching of the route. At this time, the ICE communication path management unit 13 notifies including the Host socket 15 used in the communication path notified from the ICE check processing unit 12.

これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10R−アドレス20Rの組合せからなる通信経路を、アドレス10M−アドレス20Hの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ135)。具体的には、ICE通信経路管理部13から通知されたHostソケット15を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、より優先順位の高い通信経路を用いたデータ通信が開始される。
Thereby, the data communication processing unit 14 changes the communication path composed of the combination of the address 10R and the address 20R used so far into the address 10M- in response to the data communication path selection notification from the ICE communication path management unit 13. Switching to a new communication path consisting of the combination of the address 20H and continuing data communication with the partner communication terminal 20 (step 135). Specifically, data communication with the counterpart communication terminal 20 is started using the Host socket 15 notified from the ICE communication path management unit 13.
Thereby, data communication using a communication path with a higher priority is started between the communication terminal 10 and the counterpart communication terminal 20.

なお、ICE通信経路管理部13は、通信経路の優先順位を比較した結果、現在、データ通信用経路として使用している通信経路より、ICEチェック処理部12から新たに通知された通信経路の方が、優先順位が低い場合、通信経路の切り替えは行わず、現在、データ通信用経路として使用している通信経路を用いたデータ通信を維持する。
また、ICE通信経路管理部13は、通信経路の切替を行った後、より優先順位の高い新たな通信経路の接続性が確認された場合、当該新たな通信経路をデータ通信用経路として切替選択する。
As a result of comparing the priority order of the communication paths, the ICE communication path management unit 13 determines the communication path newly notified from the ICE check processing unit 12 from the communication path currently used as the data communication path. However, when the priority is low, the communication path is not switched, and the data communication using the communication path currently used as the data communication path is maintained.
In addition, after switching the communication path, the ICE communication path management unit 13 selects the new communication path as the data communication path when the connectivity of the new communication path with higher priority is confirmed. To do.

このようにして、通信端末10と相手通信端末20との間でデータ通信が行われている状態において(ステップ140)、当該通信経路での通信品質の低下などの理由により、使用中の通信経路を新たな通信経路へ切り替える場合、通信端末10のICE通信経路管理部13は、ICEチェック処理部12でデータ通信開始時に接続性が確認された通信経路であって、かつ、データ通信用経路として現在選択されている通信経路以外の経路の優先順位を比較し(ステップ141)、これらのうち、優先順位が最も高い通信経路、ここでは、アドレス10H−アドレス20Rの組合せからなる通信経路を、データ通信用経路として新たに選択する(ステップ142)。   In this way, in a state where data communication is performed between the communication terminal 10 and the counterpart communication terminal 20 (step 140), the communication path in use due to reasons such as a decrease in communication quality in the communication path. Is switched to a new communication path, the ICE communication path management unit 13 of the communication terminal 10 is a communication path whose connectivity has been confirmed at the start of data communication by the ICE check processing unit 12, and is used as a data communication path. The priorities of routes other than the currently selected communication route are compared (step 141). Among these, the communication route with the highest priority, here, the communication route composed of the combination of address 10H and address 20R is selected as data. A new communication path is selected (step 142).

この後、ICE通信経路管理部13は、それまでデータ通信用経路として使用していた通信経路、ここではアドレス10M−アドレス20Hの組合せからなる通信経路についての通信終了コマンドを、ルータ30から相手通信端末20へ送信する(ステップ143)。   Thereafter, the ICE communication path management unit 13 sends a communication end command from the router 30 to the communication path that has been used as the data communication path until now, that is, a communication path composed of the combination of the address 10M and the address 20H. It transmits to the terminal 20 (step 143).

相手通信端末20は、通信端末10からの通信終了コマンドの受信に応じて、データ通信開始時に接続性が確認された通信経路であって、かつ、データ通信用経路として現在選択されている通信経路以外の経路の優先順位を比較し(ステップ144)、これらのうち、優先順位が最も高い通信経路を、データ通信用経路として新たに選択する(ステップ145)。これにより、通信端末10と同一の通信経路、すなわちアドレス10H−アドレス20Rの組合せからなる通信経路がデータ通信用経路として新たに選択される。   The counterpart communication terminal 20 is a communication path whose connectivity has been confirmed at the start of data communication in response to reception of a communication end command from the communication terminal 10 and is currently selected as a data communication path. The priorities of the other routes are compared (step 144), and the communication route having the highest priority is selected as the data communication route (step 145). As a result, the same communication path as that of the communication terminal 10, that is, a communication path composed of the combination of the address 10H and the address 20R is newly selected as the data communication path.

この後、相手通信端末20は、アドレス10M−アドレス20Hの組合せからなる通信経路の使用を終了し、通信終了レスポンスを通信端末10へ返送する(ステップ146)。
これにより、ICE通信経路管理部13は、アドレス10M−アドレス20Hの組合せからなる通信経路の使用、ここではHostソケット15を用いた通信経路の使用を終了する。
Thereafter, the partner communication terminal 20 ends the use of the communication path composed of the address 10M-address 20H combination, and returns a communication end response to the communication terminal 10 (step 146).
Thereby, the ICE communication path management unit 13 ends the use of the communication path formed of the combination of the address 10M and the address 20H, here, the use of the communication path using the host socket 15.

また、ICE通信経路管理部13は、通信終了コマンドの送信後、アドレス10R−アドレス20Hの組合せからなる新たな通信経路を、データ通信用経路としてデータ通信処理部14へ通知することにより、データ通信用経路の切り替えを指示する。この際、ICE通信経路管理部13は、ICEチェック処理部12から通知された当該通信経路で用いるTURNソケット16を含めて通知する。   Further, after transmitting the communication end command, the ICE communication path management unit 13 notifies the data communication processing unit 14 of a new communication path composed of the combination of the address 10R and the address 20H as a data communication path. Instructs the switching of the route. At this time, the ICE communication path management unit 13 notifies including the TURN socket 16 used in the communication path notified from the ICE check processing unit 12.

これにより、データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、今まで用いていたアドレス10M−アドレス20Hの組合せからなる通信経路を、アドレス10H−アドレス20Rの組合せからなる新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続する(ステップ147)。具体的には、ICE通信経路管理部13から通知されたTURNソケット16を用いて、相手通信端末20とのデータ通信を開始する。
これにより、通信端末10と相手通信端末20との間で、使用可能な通信経路のうち、より優先順位の高い通信経路を用いたデータ通信が開始される。
As a result, the data communication processing unit 14 changes the communication path composed of the combination of the address 10M and the address 20H used so far to the address 10H− according to the data communication path selection notification from the ICE communication path management unit 13. Switching to a new communication path composed of the combination of the addresses 20R, data communication with the partner communication terminal 20 is continued (step 147). Specifically, data communication with the counterpart communication terminal 20 is started using the TURN socket 16 notified from the ICE communication path management unit 13.
Thereby, the data communication using the communication path with higher priority among the usable communication paths is started between the communication terminal 10 and the partner communication terminal 20.

[第1の実施の形態の効果]
このように、本実施の形態は、通信端末10で、相手通信端末20とのデータ通信に使用しているデータ通信用経路を新たな通信経路に切り替える際、相手通信端末20との間で接続性が確認された、データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、データ通信用経路として選択し、当該新たな通信経路へ切り替えて、相手通信端末20とのデータ通信を継続するようにしたものである。
[Effect of the first embodiment]
As described above, in the present embodiment, when the communication terminal 10 switches the data communication path used for data communication with the counterpart communication terminal 20 to a new communication path, the connection is established with the counterpart communication terminal 20. Among the communication routes other than the communication route selected as the data communication route, the communication route having the highest priority of these communication routes determined based on the ICE method is selected as the data communication route. This is selected, switched to the new communication path, and data communication with the counterpart communication terminal 20 is continued.

これにより、通信経路に切り替える際、データ通信開始時に相手通信端末20との間で接続性が予め確認された通信経路が、データ通信用経路として選択されるため、従来のように、使用中の通信経路を一旦切断した後、新たな通信経路を確立する場合と比較して、極めて短い時間でNAT通過のデータ通信を新たな通信経路で継続でき、データ通信再開までの所要時間を短縮することが可能となる。
また、データ通信開始時に相手通信端末20との間で接続性が予め確認された通信経路のうちから、最も高い通信経路が選択されるため、結果として、優先順位の高い通信経路でデータ通信を継続することが可能となる。
As a result, when switching to the communication path, the communication path whose connectivity with the partner communication terminal 20 has been confirmed in advance at the start of data communication is selected as the data communication path. Compared to establishing a new communication path after disconnecting the communication path once, data communication through the NAT can be continued with the new communication path in a very short time, and the time required for resuming data communication can be reduced. Is possible.
In addition, since the highest communication path is selected from the communication paths whose connectivity with the partner communication terminal 20 has been confirmed in advance at the time of starting data communication, as a result, data communication is performed on the communication path with the highest priority. It is possible to continue.

また、本実施の形態では、ICEチェック処理部12で、各通信経路の接続チェックを実行する際、これら通信経路について並列的に接続チェックを実行するようにしたので、各通信経路の接続性確認に要する時間を短縮することができる。
また、本実施の形態では、これら通信経路のうち最初に接続性が確認された通信経路をデータ通信用経路として選択してデータ通信を開始し、この後に、各通信経路のうちから新たな通信経路の接続性が確認された際、データ通信用経路より当該新たな通信経路の優先順位が高い場合、相手通信端末20とのデータ通信を当該新たな通信経路へ切り替えて継続するようにしたので、極めて短い時間でNAT通過のデータ通信を、優先順位の高い通信経路で開始することができる。
In the present embodiment, when the ICE check processing unit 12 performs connection check for each communication path, the connection check is performed in parallel for these communication paths. Can be shortened.
In the present embodiment, the communication path in which connectivity is first confirmed among these communication paths is selected as the data communication path to start data communication, and thereafter, a new communication is selected from each communication path. When the connectivity of the route is confirmed, if the priority of the new communication route is higher than the data communication route, the data communication with the counterpart communication terminal 20 is switched to the new communication route and continued. Thus, data communication passing through NAT can be started in a communication path with a high priority in a very short time.

また、本実施の形態では、ICE通信経路管理部13で、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる各通信経路について、当該アドレスの優先度に基づきそれぞれの優先順位を決定するようにしたので、通信端末10と相手通信端末20との間で、各通信経路について同じ優先順位を付与することができる。   Further, in the present embodiment, the ICE communication path management unit 13 notifies each other of the own address and the partner address that can be used for the data communication with the partner communication terminal together with the priority of the address. Since each priority is determined based on the priority of the address for each communication path composed of the combination of the own address and the partner address, each communication path between the communication terminal 10 and the partner communication terminal 20 is determined. Can be given the same priority.

また、本実施の形態では、相手通信端末20において、通信端末10から通知された各アドレスの優先度に基づいて、各通信経路の優先順位を決定する場合を例として説明したが、これら各通信経路の優先順位を通信端末10から相手通信端末20へ通知するようにしてもよい。具体的には、通信端末10のICEチェック処理部12において、各通信経路の接続チェックを実行する際、当該通信経路を介して相手通信端末20へ送信する接続チェックコマンドを用いて、当該通信経路に関する優先順位を相手通信端末20へ通知してもよい。これにより、通信端末10と同様の優先順位決定処理を相手通信端末20で実行する必要がなくなり、処理負担を軽減できる。   Further, in the present embodiment, the case has been described as an example in which the other communication terminal 20 determines the priority order of each communication path based on the priority of each address notified from the communication terminal 10. You may make it notify the other party communication terminal 20 of the priority of a path | route from the communication terminal 10. FIG. Specifically, when the ICE check processing unit 12 of the communication terminal 10 performs connection check of each communication path, the communication path is determined using a connection check command transmitted to the partner communication terminal 20 via the communication path. You may notify the other party communication terminal 20 of the priority regarding. Thereby, it is not necessary to execute the priority determination process similar to that of the communication terminal 10 in the counterpart communication terminal 20, and the processing load can be reduced.

また、本実施の形態では、通信端末10と相手通信端末20とのデータ通信に使用可能な通信経路として、図5に6つの通信経路を示したが、通信端末10のHostアドレス10Hは、プライベートネットワーク51内のローカルアドレスであるため、相手通信端末20からHostアドレス10Hへアクセスすることはできず、このHostアドレス10Hを用いた通信経路は利用できない。   In this embodiment, six communication paths are shown in FIG. 5 as communication paths that can be used for data communication between the communication terminal 10 and the partner communication terminal 20, but the host address 10H of the communication terminal 10 is private. Since it is a local address in the network 51, the partner communication terminal 20 cannot access the host address 10H, and the communication path using the host address 10H cannot be used.

したがって、例えばICE通信経路管理部13において、自アドレスのうち相手からのアクセス可否を、当該アドレス値、アドレス値に割り当てられているマスクやスコープに基づき判定し、アクセス可能なアドレスの通信経路についてのみ、ICEチェック処理部12で相手通信端末20との接続性をチェックするようにしてもよい。これにより、接続チェックコマンドや接続チェックレスポンスをやり取りするためのネットワーク装置や相手通信端末20での処理負荷を軽減できる。   Therefore, for example, the ICE communication path management unit 13 determines whether or not access from the other party is possible based on the address value, the mask or scope assigned to the address value, and only the communication path of the accessible address. The ICE check processing unit 12 may check connectivity with the partner communication terminal 20. As a result, the processing load on the network device and the partner communication terminal 20 for exchanging connection check commands and connection check responses can be reduced.

なお、相手通信端末20からアクセスできない通信経路について接続チェックを行った場合、相手通信端末20からの接続チェックレスポンスが正常に通信端末10へ返送されないため、実際には、このような通信経路が誤って使用されることはない。
したがって、相手通信端末20からアクセスできない通信経路を判定することなく、自アドレスおよびステップ110で取得した相手アドレスの組合せからなるすべての通信経路について接続チェックを並列的に実行することにより、通信端末10での処理負担を軽減できる。
In addition, when a connection check is performed on a communication path that cannot be accessed from the partner communication terminal 20, a connection check response from the partner communication terminal 20 is not normally returned to the communication terminal 10, so that such a communication path is actually incorrect. Never used.
Therefore, the communication terminal 10 can perform the connection check in parallel for all communication paths including the combination of the own address and the partner address acquired in step 110 without determining a communication path that cannot be accessed from the partner communication terminal 20. Can reduce the processing burden.

また、本実施の形態では、図2において、通信端末10から相手通信端末20へ通信終了コマンドを送信した後、データ通信用経路を新たな通信経路に切り替える場合を例として説明したが、これは通信端末10と相手通信端末20との間でTCPに基づくデータ通信を行う場合を想定したものである。UDPに基づきデータ通信の場合には、複数の通信経路を並列的に利用できることから、通信終了コマンドを送信する前に、新たな通信経路でデータ通信を開始しておき、その後、通信終了コマンドを送信して元の通信経路に関するデータ通信の終了手続を行うようにしてもよい。   In the present embodiment, the case where the communication end command is transmitted from the communication terminal 10 to the partner communication terminal 20 and then the data communication path is switched to a new communication path in FIG. 2 has been described as an example. It is assumed that data communication based on TCP is performed between the communication terminal 10 and the partner communication terminal 20. In the case of data communication based on UDP, since a plurality of communication paths can be used in parallel, data communication is started on a new communication path before sending the communication end command, and then the communication end command is You may make it perform the termination procedure of the data communication regarding the original communication path | route by transmitting.

[第2の実施の形態]
次に、本発明の第2の実施の形態にかかる通信端末10について説明する。第1の実施の形態では、ICEチェック処理部12で、各通信経路の接続チェックを実行する際、これら通信経路について並列的に接続チェックを実行する場合について説明した。本実施の形態では、並列的ではなく、優先順位の高い方から順に接続チェックを実行する場合について説明する。
[Second Embodiment]
Next, the communication terminal 10 concerning the 2nd Embodiment of this invention is demonstrated. In the first embodiment, the case has been described in which, when the ICE check processing unit 12 performs connection check of each communication path, the connection check is performed in parallel on these communication paths. In this embodiment, a case will be described in which connection checks are executed in order from the highest priority, not in parallel.

前述したように、ICE方式では、データ通信を開始する際、各通信経路のうち優先順位の高い方から順に接続チェックを実行し、最初に接続性が確認された通信経路を用いてデータ通信を行うものとし、これ以降の優先順位の通信経路については、接続チェックを省略するものとなっている。本実施の形態は、この方法を利用して、任意の通信経路で接続性が確認された場合でも、すべての通信経路について接続チェックを実行するようにしたものである。   As described above, in the ICE method, when data communication is started, connection check is performed in order from the communication route with the highest priority among the communication routes, and data communication is performed using the communication route whose connectivity is first confirmed. It is assumed that the connection check is omitted for communication routes with priorities thereafter. In this embodiment, even when connectivity is confirmed on an arbitrary communication path using this method, connection check is executed on all communication paths.

本実施の形態において、ICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、相手通信端末20とのデータ通信に使用可能な自アドレスと相手アドレスとの組合せからなるすべての通信経路について、当該通信経路の優先順位の高いものから順に、ICE方式に基づき相手通信端末20との接続チェックを実行する機能を有している。   In the present embodiment, the ICE check processing unit 12 responds to an instruction from the ICE communication path management unit 13 and includes all combinations of a self address and a partner address that can be used for data communication with the partner communication terminal 20. The communication path has a function of executing a connection check with the counterpart communication terminal 20 based on the ICE method in descending order of priority of the communication path.

[第2の実施の形態の動作]
次に、図6を参照して、本実施の形態にかかる通信端末10の動作について説明する。図6は、第2の実施の形態にかかる通信端末の通信制御動作を示すシーケンス図である。
[Operation of Second Embodiment]
Next, with reference to FIG. 6, operation | movement of the communication terminal 10 concerning this Embodiment is demonstrated. FIG. 6 is a sequence diagram illustrating a communication control operation of the communication terminal according to the second embodiment.

前述した図2Aのステップ100〜102のようにして、通信端末10および相手通信端末20において、自端末でデータ通信に使用可能な自アドレスを取得した状態において、通信端末10の上位アプリケーション11からデータ通信開始が要求された場合、ICE通信経路管理部13は、ルータ30を経由して呼制御サーバ42との間でICE方式に基づくオファーメッセージ/アンサーメッセージ(Offer Message/Answer Message)をやり取りすることにより、相手通信端末20との間でデータ通信に使用可能なアドレスをやり取りする(ステップ110)。
これにより、前述の図3および図4に示したアドレス値やアドレス種別、さらにはそれぞれのアドレス優先度などを含むアドレス情報が、通信端末10と相手通信端末20との間で相互に通知される。
In the state where the communication terminal 10 and the partner communication terminal 20 have acquired their own addresses that can be used for data communication in the communication terminal 10 and the counterpart communication terminal 20 as in steps 100 to 102 of FIG. 2A described above, data is transmitted from the host application 11 of the communication terminal 10. When the communication start is requested, the ICE communication path management unit 13 exchanges an offer message / answer message (Offer Message / Answer Message) based on the ICE method with the call control server 42 via the router 30. Thus, an address usable for data communication is exchanged with the counterpart communication terminal 20 (step 110).
As a result, the address information including the address values and address types shown in FIGS. 3 and 4 as well as the respective address priorities are mutually notified between the communication terminal 10 and the partner communication terminal 20. .

この後、ICE通信経路管理部13は、これら使用可能な自アドレスと相手アドレスとの組合せから各通信経路の優先順位をICE方式に基づき決定する(ステップ111)。
また、相手通信端末20においても、通信端末10と同様にして、各通信経路の優先順位が決定される(ステップ112)。
Thereafter, the ICE communication path management unit 13 determines the priority of each communication path based on the combination of the usable self address and the partner address based on the ICE method (step 111).
Also in the partner communication terminal 20, the priority order of each communication path is determined in the same manner as the communication terminal 10 (step 112).

このようにして、各通信経路の優先順位を決定した後、通信端末10のICEチェック処理部12は、ICE通信経路管理部13からの指示に応じて、これら通信経路のうち、優先順位の高いものから順に、ICE方式に基づく接続チェックコマンドを、Hostソケット15やTURNソケット16からルータ30を介して相手通信端末20へ送信することにより、各通信経路に関する相手通信端末20との接続チェックを実行する。   After determining the priority order of each communication path in this way, the ICE check processing unit 12 of the communication terminal 10 has a higher priority order among these communication paths in response to an instruction from the ICE communication path management unit 13. The connection check command based on the ICE method is transmitted from the host socket 15 or the TURN socket 16 to the partner communication terminal 20 via the router 30 in order from the one to execute the connection check with the partner communication terminal 20 regarding each communication path. To do.

例えば、前述した図5の例によれば、ICEチェック処理部12は、まず、最も優先順位の高い、アドレス10H−アドレス20Hの組合せからなる通信経路について、接続チェックコマンドを送信する(ステップ200)。ここで、この通信経路のアドレス10Hは、相手通信端末20からアクセスできないため接続チェックレスポンスが通信端末10へ届くことはなく、タイムアウトエラーとなる。   For example, according to the example of FIG. 5 described above, the ICE check processing unit 12 first transmits a connection check command for the communication path composed of the combination of the address 10H and the address 20H having the highest priority (step 200). . Here, since the address 10H of this communication path cannot be accessed from the counterpart communication terminal 20, the connection check response does not reach the communication terminal 10, and a timeout error occurs.

続いて、ICEチェック処理部12は、次に優先順位の高い、アドレス10M−アドレス20Hの組合せからなる通信経路について、接続チェックコマンドを送信する(ステップ201)。ここで、相手通信端末20からの接続チェックレスポンスが受信できた場合(ステップ202)、ICEチェック処理部12は、当該通信経路の接続性を確認したことをICE通信経路管理部13へ通知する。   Subsequently, the ICE check processing unit 12 transmits a connection check command for the communication path composed of the combination of the address 10M and the address 20H having the next highest priority (step 201). Here, when the connection check response from the counterpart communication terminal 20 has been received (step 202), the ICE check processing unit 12 notifies the ICE communication path management unit 13 that the connectivity of the communication path has been confirmed.

ICE通信経路管理部13は、ICEチェック処理部12からのアドレス10M−アドレス20Hの組合せからなる通信経路に関する接続性確認の通知を受けた場合、当該通信経路をデータ通信用経路として選択し、データ通信処理部14へ通知する。
データ通信処理部14は、ICE通信経路管理部13からのデータ通信用経路の選択通知に応じて、10M−アドレス20Hの組合せからなる通信経路を用いた、相手通信端末20とのデータ通信を開始する(ステップ203)。
When the ICE communication path management unit 13 receives a notification of connectivity confirmation regarding the communication path composed of the address 10M-address 20H combination from the ICE check processing unit 12, the ICE communication path management unit 13 selects the communication path as a data communication path, Notify the communication processing unit 14.
The data communication processing unit 14 starts data communication with the counterpart communication terminal 20 using a communication path composed of the 10M-address 20H combination in response to the data communication path selection notification from the ICE communication path management unit 13. (Step 203).

ICEチェック処理部12は、アドレス10M−アドレス20Hの組合せからなる通信経路の接続性確認をICE通信経路管理部13へ通知した後、残りの通信経路について、優先順位の高いものから順に接続チェックコマンドを送信し、相手通信端末20からの接続チェックレスポンスに応じて、当該通信経路の接続性を確認する(ステップ210)。
この後、使用中の通信経路を新たな通信経路へ切り替える場合、前述した図2Bの処理へ移行することになる。
The ICE check processing unit 12 notifies the ICE communication route management unit 13 of the connectivity confirmation of the communication path consisting of the combination of the address 10M and the address 20H, and then checks the remaining communication paths in order from the highest priority. And the connectivity of the communication path is confirmed according to the connection check response from the counterpart communication terminal 20 (step 210).
Thereafter, when the communication path in use is switched to a new communication path, the process proceeds to the process of FIG. 2B described above.

[第2の実施の形態の効果]
このように、本実施の形態では、ICEチェック処理部12により、各通信経路の接続チェックを実行する際、優先順位の高い方から順にすべての通信経路について接続チェックを実行するようにしたので、各通信経路について並列的に接続チェックを実行するのではなく、一般的なICE方式を利用してすべての通信経路の接続性を確認することができる。
[Effect of the second embodiment]
As described above, in the present embodiment, when the connection check of each communication path is executed by the ICE check processing unit 12, the connection check is executed for all communication paths in order from the highest priority. Rather than executing a connection check on each communication path in parallel, the connectivity of all communication paths can be confirmed using a general ICE method.

[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
[Extended embodiment]
The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In addition, each embodiment can be implemented in any combination within a consistent range.

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アドレス。   DESCRIPTION OF SYMBOLS 10 ... Communication terminal, 11 ... High-order application, 12 ... ICE check processing part, 13 ... ICE communication path management part, 14 ... Data communication processing part, 15 ... Host socket, 16 ... TURN socket, 20 ... Remote communication terminal, 30 ... Router: 40 ... STUN server, 41 ... TURN server, 42 ... Call control server, 51 ... Private network, 52 ... Public network, 10H, 20H ... Host address, 10M ... Mapped address, 10R, 20R ... Relayed address.

Claims (4)

相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理部と、
前記各通信経路のうち、前記ICEチェック処理部での前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、
前記ICE通信経路管理部で選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理部と
を備え、
前記ICE通信経路管理部は、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、前記相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる前記各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定し、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理部で接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから前記優先順位が最も高い通信経路を、前記データ通信用経路として選択し、
前記データ通信処理部は、前記ICE通信経路管理部で前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続する
ことを特徴とする通信端末。
For each communication path used for data communication with the counterpart communication terminal, an ICE check processing unit that performs a connection check with the counterpart communication terminal based on the ICE method for passing NAT,
ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check at the ICE check processing unit from among the communication paths as a data communication path with the counterpart communication terminal. A communication path management unit;
A data communication processing unit that performs data communication with the counterpart communication terminal using the data communication path selected by the ICE communication path management unit;
The ICE communication path management unit mutually notifies the address and the partner address that can be used for the data communication, together with the priority of the address, with the partner communication terminal. For each communication path composed of a combination, the priority of each address is determined based on the ICE method based on the priority of the address, and when the data communication path is switched to a new communication path, the ICE check process among the communication paths connectivity is confirmed by the section, the highest communication path the priority among the communication path other than the communication path selected as the data communication path is selected as the data communication path,
The data communication processing unit switches the data communication to the new communication path and continues when the new communication path is selected as the data communication path by the ICE communication path management unit. Communication terminal.
相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理部と、For each communication path used for data communication with the counterpart communication terminal, an ICE check processing unit that performs a connection check with the counterpart communication terminal based on the ICE method for passing NAT,
前記各通信経路のうち、前記ICEチェック処理部での前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理部と、ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check at the ICE check processing unit from among the communication paths as a data communication path with the counterpart communication terminal. A communication path management unit;
前記ICE通信経路管理部で選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理部とA data communication processing unit for performing data communication with the counterpart communication terminal using the data communication path selected by the ICE communication path management unit;
を備え、With
前記ICE通信経路管理部は、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理部で接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、前記データ通信用経路として選択し、The ICE communication path management unit is selected as the data communication path whose connectivity has been confirmed by the ICE check processing unit among the communication paths when switching the data communication path to a new communication path. From among communication paths other than the communication path, select the communication path having the highest priority of these communication paths determined based on the ICE method as the data communication path,
前記データ通信処理部は、前記ICE通信経路管理部で前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続し、When the new communication path is selected as the data communication path by the ICE communication path management unit, the data communication processing unit continues to switch the data communication to the new communication path,
前記ICEチェック処理部は、前記各通信経路の接続チェックを実行する際、当該通信経路を介して前記相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する前記優先順位を前記相手通信端末へ通知するThe ICE check processing unit uses the connection check command transmitted to the counterpart communication terminal via the communication path when executing the connection check of each communication path to set the priority order for the communication path to the counterpart communication. Notify terminal
ことを特徴とする通信端末。A communication terminal characterized by that.
相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理ステップと、
前記各通信経路のうち、前記ICEチェック処理ステップでの前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、
前記ICE通信経路管理ステップで選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理ステップと
を備え、
前記ICE通信経路管理ステップは、当該データ通信に使用可能な自アドレスおよび相手アドレスを、当該アドレスの優先度とともに、前記相手通信端末との間で相互に通知し、これら自アドレスと相手アドレスとの組合せからなる前記各通信経路について、当該アドレスの優先度からICE方式に基づきそれぞれの優先順位を決定するステップと、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理ステップで接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから前記優先順位が最も高い通信経路を、前記データ通信用経路として選択するステップを含み、
前記データ通信処理ステップは、前記ICE通信経路管理ステップで前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含む
ことを特徴とする通信制御方法。
An ICE check processing step for performing a connection check with the counterpart communication terminal based on the ICE scheme for passing NAT for each communication path used for data communication with the counterpart communication terminal;
ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check in the ICE check processing step among the communication paths as a data communication path with the counterpart communication terminal. A communication path management step;
A data communication processing step of performing data communication with the counterpart communication terminal using the data communication path selected in the ICE communication path management step,
In the ICE communication path management step, the own address and the partner address that can be used for the data communication are mutually notified with the partner communication terminal together with the priority of the address, and the self address and the partner address For each communication path composed of a combination, a step of determining each priority based on the priority of the address based on the ICE method, and when switching the data communication path to a new communication path, the ICE of the communication paths connectivity Check processing steps has been confirmed, the highest priority communication path from among the selected non-communication path is a communication path as the data communication path, the step of selecting as said data communication path Including
The data communication processing step includes a step of switching the data communication to the new communication path and continuing when the new communication path is selected as the data communication path in the ICE communication path management step. A communication control method.
相手通信端末とのデータ通信に用いる各通信経路について、NAT通過用のICE方式に基づき前記相手通信端末との接続チェックを実行するICEチェック処理ステップと、An ICE check processing step for performing a connection check with the counterpart communication terminal based on the ICE scheme for passing NAT for each communication path used for data communication with the counterpart communication terminal;
前記各通信経路のうち、前記ICEチェック処理ステップでの前記接続チェックにより前記相手通信端末との接続性が確認された任意の通信経路を、前記相手通信端末とのデータ通信用経路として選択するICE通信経路管理ステップと、ICE that selects an arbitrary communication path whose connectivity with the counterpart communication terminal has been confirmed by the connection check in the ICE check processing step among the communication paths as a data communication path with the counterpart communication terminal. A communication path management step;
前記ICE通信経路管理ステップで選択された前記データ通信用経路を用いて前記相手通信端末との間でデータ通信を行うデータ通信処理ステップとA data communication processing step for performing data communication with the counterpart communication terminal using the data communication path selected in the ICE communication path management step;
を備え、With
前記ICE通信経路管理ステップは、前記データ通信用経路を新たな通信経路に切り替える際、前記通信経路のうち前記ICEチェック処理ステップで接続性が確認された、前記データ通信用経路として選択されている通信経路以外の通信経路のうちから、ICE方式に基づき決定されるこれら通信経路の優先順位が最も高い通信経路を、前記データ通信用経路として選択するステップを含み、The ICE communication path management step is selected as the data communication path whose connectivity has been confirmed in the ICE check processing step among the communication paths when switching the data communication path to a new communication path. Selecting a communication path having the highest priority of these communication paths determined based on the ICE method from communication paths other than the communication path, as the data communication path,
前記データ通信処理ステップは、前記ICE通信経路管理ステップで前記新たな通信経路が前記データ通信用経路として選択された場合、前記データ通信を当該新たな通信経路へ切り替えて継続するステップを含み、The data communication processing step includes a step of switching the data communication to the new communication path and continuing when the new communication path is selected as the data communication path in the ICE communication path management step;
前記ICEチェック処理ステップは、前記各通信経路の接続チェックを実行する際、当該通信経路を介して前記相手通信端末へ送信する接続チェックコマンドを用いて、当該通信経路に関する前記優先順位を前記相手通信端末へ通知するステップを含むThe ICE check processing step uses the connection check command transmitted to the counterpart communication terminal via the communication path when executing the connection check of each communication path, and sets the priority order for the communication path to the counterpart communication. Including the step of notifying the terminal
ことを特徴とする通信制御方法。A communication control method characterized by the above.
JP2011153545A 2011-07-12 2011-07-12 Communication terminal and communication control method Active JP5768550B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011153545A JP5768550B2 (en) 2011-07-12 2011-07-12 Communication terminal and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011153545A JP5768550B2 (en) 2011-07-12 2011-07-12 Communication terminal and communication control method

Publications (2)

Publication Number Publication Date
JP2013021524A JP2013021524A (en) 2013-01-31
JP5768550B2 true JP5768550B2 (en) 2015-08-26

Family

ID=47692517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011153545A Active JP5768550B2 (en) 2011-07-12 2011-07-12 Communication terminal and communication control method

Country Status (1)

Country Link
JP (1) JP5768550B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961368B2 (en) * 2008-02-26 2012-06-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 Terminal device, NAT traversal method, and program
JP4661892B2 (en) * 2008-03-25 2011-03-30 日本電気株式会社 COMMUNICATION NETWORK SYSTEM, COMMUNICATION DEVICE, ROUTE DESIGN DEVICE, AND FAILURE RECOVERY METHOD
JP5091887B2 (en) * 2009-02-23 2012-12-05 エヌ・ティ・ティ・コミュニケーションズ株式会社 Terminal device, communication processing method, and program
JP2011066826A (en) * 2009-09-18 2011-03-31 Nec Corp Transmission apparatus and detour route monitoring-control method

Also Published As

Publication number Publication date
JP2013021524A (en) 2013-01-31

Similar Documents

Publication Publication Date Title
CN113014562B (en) Method and apparatus for establishing a media session
KR100901790B1 (en) CONTROL TUNNEL AND DIRECT TUNNEL CONFIGURATION METHOD IN IPv6 SERVICE PROVIDE SYSTEM BASED IPv4 NETWORK
US10972510B2 (en) Media session between network endpoints
CN101699801B (en) Data transmission method and virtual peer-to-peer network for data transmission
JP4222397B2 (en) Relay server
WO2016210196A1 (en) Media relay server
US10601879B2 (en) Media session between network endpoints
US10079863B2 (en) Media session between network endpoints
US11388138B2 (en) Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
WO2016210202A1 (en) Media relay server
TWI523455B (en) Relay servers, relay communication systems and routing machines
KR20130052240A (en) Method and apparatus for provisioning network address translator traversal methods
JP5682782B2 (en) Relay server and relay communication system
US10158604B2 (en) Method for addressing messages in a computer network
US8416711B1 (en) Systems and methods for sharing availability status information between network nodes
US8812694B2 (en) Dialog establishment over a peer-to-peer architecture
JP2008098935A (en) Relay server
JP5768550B2 (en) Communication terminal and communication control method
CN113179315B (en) Method, system and readable storage medium for providing communication between devices in multiple local area networks
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP6898120B2 (en) Network system, network system address resolution method, and base-side connection device
JP2013021523A (en) Communication terminal and communication control method
JP2013118604A (en) Telephone system, its call control server, and address server
EP2608488B1 (en) Dialog establishment over a peer-to-peer architecture
Tanaka et al. A disaster resilient local communication system without depending on the Internet connectivity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150608

R150 Certificate of patent or registration of utility model

Ref document number: 5768550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350