(57)【要約】【課題】通信装置が複数のネットワークやアドレスを使用可能な場合、その時々に変化するネットワークや通信相手の状況に応じてより最適な通信識別子（アドレスなど）を選択する必要がある。【解決手段】通信装置は、状態管理部と通信識別子選択処理部を備える。前記状態管理部は、通信相手となる通信装置と通信するための通信識別子を複数指定し、前記通信識別子選択処理部は、前記指定された複数の通信識別子を使用して複数の接続を開始し得られた情報を用いて通信識別子を選択する。【選択図】図３
2006324946.tif 000002
【特許請求の範囲】
【請求項１】
通信を開始する際に、前記通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとを決定すべきかどうかを判定し、前記通信を行なうためのアドレスが決定すべきであるときは、前記自装置が使用するアドレスと、前記通信先装置のアドレスとを決定するように制御すると共に、前記決定したアドレスを記憶する状態管理部と、
前記状態管理部からの指示により、前記通信先装置のアドレスを１つ以上取得し、自装置が使用可能な１つ以上のアドレスと比較することによって、前記通信先装置と通信可能な１つ以上のアドレスの組を生成する通信識別子取得部と、
前記通信可能なアドレスの組から通信に使用するアドレスの組を１つ決定する通信識別子選択処理部
とで構成される、通信装置。
【請求項２】
前記通信識別子取得部は、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サーバにアクセスすることによって、前記通信先装置のＩＰアドレスを取得する、請求項１記載の通信装置。
【請求項３】
前記通信識別子選択処理部は、前記通信可能な１つ以上の前記通信先装置のアドレスを指定して、所定の手順の通信を行ない、前記所定の手順の通信結果に基づいて、前記通信に使用するアドレスの組を決定する、請求項１記載の通信装置。
【請求項４】
前記所定の手順の通信は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の接続開始手順である、請求項３記載の通信装置。
【請求項５】
前記通信識別子選択処理部は、前記所定の手順の通信における応答を最初に受け取ったアドレスの組を、通信に使用するアドレスの組として決定する、請求項４記載の通信装置。
【請求項６】
前記通信識別子選択処理部は、通信に使用するアドレスの組が決定したら、前記通信先装置に対して、選択されなかった前記アドレスの組に対応する前記所定の手順の通信を停止させる、請求項５記載の通信装置。
【請求項７】
前記通信識別子選択処理部は、前記所定の手順の通信が完了するまでに要した時間が最も短い前記アドレスの組を選択し、前記選択したアドレスの組を通信に使用するアドレスの組として決定する、請求項６記載の通信装置。
【請求項８】
通信を開始する際に、前記通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、
前記通信を行なうためのアドレスが決定していないときは、前記通信先装置のアドレスを１つ以上取得するステップと、
前記通信先装置のアドレスと、前記自装置が使用可能な１つ以上のアドレスとを比較することによって、前記通信先装置と通信可能な１つ以上のアドレスの組を生成するステップと、
前記通信可能なアドレスの組から通信に使用するアドレスの組を１つ決定するステップ
とで構成される、通信方法。
【請求項９】
通信装置に、
通信を開始する際に、前記通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、
前記通信を行なうためのアドレスが決定していないときは、前記通信先装置のアドレスを１つ以上取得するステップと、
前記通信先装置のアドレスと、前記自装置が使用可能な１つ以上のアドレスとを比較することによって、前記通信先装置と通信可能な１つ以上のアドレスの組を生成するステップと、
前記通信可能なアドレスの組から通信に使用するアドレスの組を１つ決定するステップ
を実行させるための通信識別子選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワークに接続されている通信装置が通信相手の通信装置と通信を行なうのに複数のネットワークが利用可能な状態である場合、通信に適した通信識別子（アドレスなど）の選択を行なって通信する、通信装置、通信方法及び通信識別子選択プログラムに関するものである。
【背景技術】
【０００２】
１つの通信装置が複数のネットワークに接続されている構成において、通信装置にはそれぞれのネットワークを使用するためのアドレスが付与される。通信装置は、通信を行なうとき、自端末に付与されている複数のアドレスの中から使用するアドレスを選択する必要がある。使用するアドレスごとに利用するネットワークまたは中継経路が異なるため、通信に使用するアドレスを選択することにより、通信に使用するネットワークまたは中継経路を選択することになる。
【０００３】
例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークで使用されるアドレスはＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）ネットワークでは”１３２．１８２．１７０．２２２”、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）ネットワークでは”２７ｃ０：１２：ｄ８ａｂ：０：３ｂ８：ｆ４ｆｅ：ｆｅ５ｅ：７５６ｂ”などと表記される。以下、表記を簡略化するため、ＩＰｖ４アドレスとＩＰｖ６アドレスをそれぞれ数字４桁（例えば、ＩＰｖ４アドレスを”４４４１”、ＩＰｖ６アドレスを”６６６１”など）で表記する。
【０００４】
ＩＰネットワークでは、セッション指向のプロトコルとしてＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が広く使われている。図７は、ＴＣＰで通信相手と接続する場合の通常の接続手順を示すシーケンス図である。通信元の通信装置は、通信相手の通信装置にＳＹＮパケットを送信する。ＳＹＮパケットを受信した通信相手の通信装置は、接続可能を応答するためにＳＹＮ  ＡＣＫパケットを送信する。ＳＹＮ  ＡＣＫパケットを受信した通信元の通信装置は、ＡＣＫパケットを送信する。この手順により、通信元の通信装置と通信相手の通信装置との間で接続手順が完了したことになる。もし、接続ができない場合は、接続ができない状態にある通信装置がＲＳＴパケットを送信することにより、相手に接続ができないことを知らせる。また、接続手順が完了した後に接続を切断する場合には、切断処理を先に開始した通信装置がＦＩＮパケットもしくはＲＳＴパケットを送信する。なお、ＴＣＰの動作は本発明の範囲外で実現されるため詳細な説明は省略する。
【０００５】
従来のアドレス選択を行なう通信装置においては、動的ではあるが予め用意されている選択条件に基づき、アドレスの選択を行っていた。例えば、一方のネットワークを基本として通信に使用し、それが通信不能と検知した場合にもう一方のネットワークに切り替える方法や、使用するネットワークを交互に切り替えることでネットワークへの負荷を分散させる方法などである。しかし、これらの方法の多くは、予め、ネットワークの条件を特定した上で設定する必要があり、その時々に変化するトラヒックなどのネットワーク状態に応じた柔軟なネットワーク選択ができないという問題があった。
【０００６】
一方、通信を開始する前にネットワーク状況を調査して使用する経路を選択する交換機の通信経路選択方法がある（例えば特許文献１）。
【０００７】
この特許文献によれば、端末または電話機から発呼が生じると、交換機は、通信経路登録テーブルに登録された相手局に対する通信路すべてに診断フレームを送信する。交換機は、応答受信タイマがタイムアウトになるまでに応答を受信した各通信路の所要時間を算出し、算出した所要時間の中で最小の所要時間を抽出する。交換機は抽出した最小の所要時間に対応する通信路を使用する通信路として決定し、その通信路に端末または電話機からの音声またはデータのデータフレームを送信する。
【特許文献１】特開平１０−２８１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前記従来の交換機の通信経路選択方法では、交換機において通信経路を選択することを前提としており、ネットワーク中継器である交換機間の通信路の選択しかできない。また、前記従来の交換機は相手局に対する複数の通信路を通信経路登録テーブルに予め登録しておく必要がある。通信経路登録テーブルに登録されているエントリの数は、相手局の数と、通信経路の数に比例して増加し、これと同様の方法で端末装置間の通信経路テーブルを作成する場合には、エントリの数が大幅に増加する。このため、資源に乏しい端末装置が通信経路登録テーブルを保持することは困難である。
【０００９】
また、前記従来の交換機が送信した診断フレームを受信した相手局は、前記診断フレームに応答を返す必要がある。つまり、相手局も診断フレームに対応しておかなければならない。
【００１０】
本発明は、前記従来の課題を解決するもので、予めネットワークの条件を特定しないでその時々に変化するネットワーク状況や通信相手となる通信装置の状況を条件として使い、通信装置に適用可能な通信識別子選択方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記従来の課題を解決するために、本発明の通信装置は、状態管理部と通信識別子選択処理部と、を備え、前記状態管理部は、通信相手となる１つの通信装置、あるいは同一のサービスを提供する複数の通信装置と通信するための複数の通信識別子を複数指定して、前記通信識別子選択処理部に通信識別子の選択を指示する。前記通信識別子選択処理部は、前記指定された複数の通信識別子を順次、あるいは一度に指定して、通信装置と所定の手順を用いて通信を行ない、前記所定の手順の実施によって得られた情報の一部、あるいはすべての情報を用いて通信識別子を選択する。
【００１２】
本構成によって、通信相手に係わらず、通信元となる通信装置において、その時々に変化するネットワーク状況に応じた最適な通信識別子を通信の開始ごとに選択することができる。
【００１３】
第１の発明は、通信を開始する際に、通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとを決定すべきかどうかを判定し、通信を行なうためのアドレスが決定すべきであるときは、自装置が使用するアドレスと、通信先装置のアドレスとを決定するように制御すると共に、決定したアドレスを記憶する状態管理部と、状態管理部からの指示により、通信先装置のアドレスを１つ以上取得し、自装置が使用可能な１つ以上のアドレスと比較することによって、通信先装置と通信可能な１つ以上のアドレスの組を生成する通信識別子取得部と、通信可能なアドレスの組から通信に使用するアドレスの組を１つ決定する通信識別子選択処理部とで構成されることを特徴としている。
【００１４】
上記第１の発明によれば、複数の通信識別子を使用して通信可能な通信装置との通信を行なうに際し、接続開始時にその時々のネットワーク状況に応じた最適な通信アドレスを選択でき、より安定した通信が可能である通信装置が実現できる。
【００１５】
第２の発明は、第１の発明において、通信識別子取得部は、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サーバにアクセスすることによって、通信先装置のＩＰアドレスを取得するものである。
【００１６】
第３の発明は、第１の発明において、通信識別子選択処理部は、通信可能な１つ以上の通信先装置のアドレスを指定して、所定の手順の通信を行ない、所定の手順の通信結果に基づいて、通信に使用するアドレスの組を決定するものである。
【００１７】
第４の発明は、第３の発明において、所定の手順の通信は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の接続開始手順であるものである。
【００１８】
第５の発明は、第４の発明において、通信識別子選択処理部は、所定の手順の通信における応答を最初に受け取ったアドレスの組を、通信に使用するアドレスの組として決定するものである。
【００１９】
上記第５の発明によれば、通信可能な全てのアドレスの組に対して所定の手順の通信を行ない、応答が最も早く返ってきたアドレスの組を通信に使用するアドレスの組として選択する。応答が最も早く返ってくるということは、そのアドレスを使用したネットワークは安定していると考えることが出来、そのアドレスを使用することによって安定した通信を実現することが出来る。
【００２０】
第６の発明は、第５の発明において、通信識別子選択処理部は、通信に使用するアドレスの組が決定したら、通信先装置に対して、選択されなかったアドレスの組に対応する前記所定の手順の通信を停止させるものである。
【００２１】
上記第６の発明によれば、第５の発明に加え、通信を行なう所定の手順の途中にあるもののうち、不要となった１つ以上の所定の手順を中断させることが可能となる通信装置が実現できる。例えば、４つの通信識別子を使用して所定の手順を開始し、その後、通信に使用する通信識別子が一意に決定された場合、残りの３つの通信識別子を使用している所定の手順を中断させる。
【００２２】
第７の発明は、第６の発明において、通信識別子選択処理部は、前記所定の手順の通信が完了するまでに要した時間が最も短いアドレスの組を選択し、選択したアドレスの組を通信に使用するアドレスの組として決定するものである。
【００２３】
上記第７の発明によれば、第６の発明に加え、通信相手となる通信装置との通信に係わる時刻情報を取得することにより、時刻情報を使用してより正確な判定を行ない通信識別子を選択することが可能となる通信装置が実現できる。例えば、２回の接続の開始手順を行なう場合、１回目の手順と、２回目の手順とでは、手順の開始にわずかな時差が発生してしまうが、それぞれの手順を行なう場合の時刻を記録しておくことにより、より正確な判定が可能となる。
【００２４】
第８の発明は、第１の発明に対応する通信方法であって、通信を開始する際に、通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、通信を行なうためのアドレスが決定していないときは、通信先装置のアドレスを１つ以上取得するステップと、通信先装置のアドレスと、自装置が使用可能な１つ以上のアドレスとを比較することによって、通信先装置と通信可能な１つ以上のアドレスの組を生成するステップと、通信可能なアドレスの組から通信に使用するアドレスの組を１つ決定するステップとで構成されるものである。
【００２５】
第９の発明は、第１の発明に対応する通信識別子選択プログラムであって、通信装置に、通信を開始する際に、通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、通信を行なうためのアドレスが決定していないときは、通信先装置のアドレスを１つ以上取得するステップと、通信先装置のアドレスと、自装置が使用可能な１つ以上のアドレスとを比較することによって、通信先装置と通信可能な１つ以上のアドレスの組を生成するステップと、通信可能なアドレスの組から通信に使用するアドレスの組を１つ決定するステップを実行させるものである。
【発明の効果】
【００２６】
本発明は、前記従来の課題を解決するもので、通信相手となる通信装置と通信可能な通信識別子を複数使用して通信相手と複数の通信を行ない、通信相手からの応答により通信に使用する通信識別子を選択することができる。これにより、その時々に変化するネットワーク状況に応じて通信に最適な通信識別子を選択でき、より安定した通信が可能となる。
【発明を実施するための最良の形態】
【００２７】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２８】
（実施の形態１）
以下、本発明の実施の形態１における通信識別子選択方法について、図面を参照しながら説明する。図１は、本発明が係わる通信装置が適用されるＩＰネットワークの構成例を示す説明図である。図１のネットワーク構成では、通信装置１０１及び１０２は、それぞれの中継器（ルータ）１０３、１０４に接続されており、それらの間はＩＰｖ４ネットワーク４４４と、ＩＰｖ６ネットワーク６６６により互いに接続されている。通信装置１０１は、本発明が係わる通信装置である。なお、通信装置１０２は、本発明の通信装置である必要はなく、従来の通信装置でもよい。
【００２９】
通信装置１０１は、ＩＰｖ４ネットワーク４４４を使用するためのＩＰｖ４アドレス”４４４１”と、ＩＰｖ６ネットワーク６６６を使用するためのＩＰｖ６アドレス”６６６１”と、が付与されている。同様に、通信装置１０２は、ＩＰｖ４アドレス”４４４２”と、ＩＰｖ６アドレス”６６６２”と、が付与されている。この場合、通信装置１０１、１０２の間では、ＩＰｖ４アドレス”４４４１”と”４４４２”、または、ＩＰｖ６アドレス”６６６１”と”６６６２”のアドレスの組合せを使って相互に通信が行なえる。また、それぞれのアドレスの組合せごとに使用するネットワークが異なる。つまり、ＩＰｖ４アドレス”４４４１”と”４４４２”のアドレスの組合せの場合は、ＩＰｖ４ネットワーク４４４を使い、ＩＰｖ６アドレス”６６６１”と”６６６２”のアドレスの組合せの場合は、ＩＰｖ６ネットワーク６６６を使い、それぞれ通信を行なう。
【００３０】
なお、通信装置１０２は、ＩＰｖ４アドレス”４４４２”とＩＰｖ６アドレス”６６６２”とがそれぞれ別に付与された２つの通信装置であってもよい。
【００３１】
なお、ＩＰｖ４ネットワークが複数であったり、ＩＰｖ６ネットワークが複数であったりするネットワーク構成でもよく、それらのネットワークを使い分けることが可能なネットワーク構成であればこれに限らない。なお、通信装置に付与されているアドレスは１つ以上であればよく、使用するアドレスの数はこれに限らない。
【００３２】
本実施の形態では、通信識別子として、送信元アドレスと送信先アドレスを使用している。なお、通信識別子として使用するのに、送信元アドレスと送信先アドレスのどちらか一方だけでもよく、通信識別子を選択することにより利用するネットワークもしくは通信相手となる通信装置を選択できるような通信識別子であればよい。
【００３３】
図２は、本発明が係わる通信装置１０１の機能構成を示すブロック図である。図２において、通信装置１０１は、通信識別子選択処理部２０７と、状態管理部２０５と、通信部２０２と、端末アプリケーション２０３と、利用可能通信識別子データベース（利用可能通信識別子ＤＢ）２１０と、を備えている。また、通信識別子選択処理部２０７は、判定部２０８と、通信識別子指定部２０９と、を備え、利用可能通信識別子ＤＢは、通信識別子テーブル２０４と、サービス対応テーブル２１１と、通信識別子取得部２０６と、を備える。以下、通信装置１０１から通信装置１０２に通信を開始する場合について、それぞれの役割と動作を説明する。
【００３４】
〔端末アプリケーション２０３〕
端末アプリケーション２０３は、サービスの制御や、通信相手となる通信装置との通信の開始や終了、データの送受信などを状態管理部２０５に要求する機能を備える。
【００３５】
端末アプリケーション２０３は、通信装置１０２との通信を開始するために、通信装置１０２のドメイン名を指定して状態管理部２０５に接続開始を要求する。なお、ドメイン名の代わりに通信装置１０２のアドレスを指定してもよい。なお、サービス名を指定してもよい。サービス名は同じサービスを複数の通信装置で提供している場合に、それらの通信装置のうちのどれかと通信を行なうために使用する。サービス名と、そのサービスを提供する通信装置のアドレスあるいはドメイン名とを対応付けるためのサービス対応テーブル２１１を予め通信装置１０１で保持しておく。なお、サービス対応テーブル２１１を通信装置１０１以外の装置で保持しておき、必要な場合に通信装置１０１がその装置に問い合わせを行なってもよい。図１１は、通信装置１０１が持つサービス対応テーブル２１１の一例を示す図である。サービス対応テーブル２１１には、サービス名と、ＩＰアドレスを登録し保持しておく。なお、サービス名は任意の名前であり、ＩＰアドレスは特定のサービスを提供する１つ以上の通信装置のＩＰアドレスである。例えば、ＩＰ電話サービス（サービス名”ＩＰＰＨＯＮＥ”）を提供している２つの通信装置（それぞれの通信装置のＩＰアドレスは、ＩＰｖ４アドレス”４４４３”と、ＩＰｖ４アドレス”４４４４”）をサービス対応テーブル２１１に登録する場合、サービス名は”ＩＰＰＨＯＮＥ”、ＩＰアドレスはＩＰｖ４アドレス”４４４３”とＩＰｖ４アドレス”４４４４”となる。
【００３６】
状態管理部２０５から、前記接続開始の要求に対するの正常な応答があった場合、端末アプリケーション２０３は、必要に応じて、状態管理部２０５に通信装置１０２とのデータの送受信などの通信を行なうよう要求する。
【００３７】
〔通信識別子テーブル２０４〕
通信識別子テーブル２０４には、自端末が使用可能な通信識別子を登録し、保持しておく。
【００３８】
図４は、通信装置１０１が持つ通信識別子テーブル２０４の一例を示す図である。通信識別子テーブル２０４には、自端末のアドレス（ＩＰｖ４アドレス”４４４１”とＩＰｖ６アドレス”６６６１”）とそのアドレスのバージョン（ＩＰｖ４、ＩＰｖ６）をそれぞれ指定して登録し、保持しておく。
【００３９】
〔状態管理部２０５〕
状態管理部２０５は、端末アプリケーション２０３からの接続開始またはデータ送信や受信の要求を受信すると、その要求に対する送信元アドレスと送信先アドレスが既に選択されているかどうかを判定し、必要に応じて通信識別子取得部２０６と、通信識別子選択処理部２０７とを使い、通信に使用する送信元アドレスと送信先アドレスの選択処理を制御する機能を備える。
【００４０】
図３は、状態管理部２０５が行なう処理の流れの一例を示すフローチャート図である。
【００４１】
Ｓ３０１：端末アプリケーション２０３からの接続開始またはデータ送信や受信の要求に対して送信元アドレスと送信先アドレスの選択が必要かどうかを判定する。端末アプリケーション２０３から接続開始を要求された場合は送信元アドレスと送信先アドレスの選択が必要である。選択が必要な場合は、ステップＳ３０２に移行し、選択が不要な場合は、ステップＳ３０６に移行する。
【００４２】
Ｓ３０２：端末アプリケーション２０３からの接続開始の要求に含まれる通信装置１０２のドメイン名を指定して、通信識別子取得部２０６に送信元アドレスと送信先アドレスの組合せの選択候補を取得するように指示する。なお、端末アプリケーション２０３からの要求にドメイン名の代わりとしてアドレスが含まれている場合、このアドレスを指定して前記指示を行なう。なお、端末アプリケーション２０３からの要求にサービス名が含まれている場合は、このサービス名を指定して前記指示を行なう。
【００４３】
Ｓ３０３：ステップＳ３０２で取得した送信元アドレスと送信先アドレスの組合せの選択候補を指定して、通信識別子選択処理部２０７に送信元アドレスと送信先アドレスの組合せを選択するように指示する。
【００４４】
Ｓ３０４：通信識別子選択処理部２０７で選択された送信元アドレスと送信先アドレスを、端末アプリケーション２０３からの要求に対するアドレスとして決定し、送信元アドレスと送信先アドレスを保持する。
【００４５】
Ｓ３０５：送信元アドレスと送信先アドレスの選択が完了したことを知らせるために端末アプリケーション２０３へ接続開始の要求に対する応答を返す。
【００４６】
Ｓ３０６：端末アプリケーション２０３からのデータ送信や受信の要求に、対応する選択済みの送信元アドレスと送信先アドレスを設定する。
【００４７】
Ｓ３０７：ステップＳ３０６で設定したアドレスを通信部２０２に送信する。
【００４８】
Ｓ３０８：ステップＳ３０７に対する通信部２０２からの応答を待つ。
【００４９】
Ｓ３０９：ステップＳ３０８の応答の内容に応じて端末アプリケーション２０３へ応答を返す。ステップＳ３０８で受信した応答が正常であれば、端末アプリケーション２０３へも正常な応答を返し、ステップＳ３０８で受信した応答が異常（エラーが発生した場合など）であれば、端末アプリケーション２０３へも異常な応答を返す。
【００５０】
〔通信識別子取得部２０６〕
通信識別子取得部２０６は、状態管理部２０５からの指示に従い、通信に使用可能な送信元アドレスと送信先アドレスの組合せを１つあるいは複数個作成し状態管理部２０５に返す。
【００５１】
図５は、通信識別子取得部２０６が行なう処理の流れの一例を示すフローチャート図である。
【００５２】
Ｓ５０１：状態管理部２０５からの指示にドメイン名が指定されているかどうかを判定する。ドメイン名が指定されている場合は、ステップＳ５０２に移行し、それ以外の場合は、ステップＳ５０５に移行する。
【００５３】
Ｓ５０２：ＤＮＳを使用し、状態管理部２０５からの選択候補取得の指示で指定されている通信装置１０２のドメイン名に対応するアドレスを取得する。アドレスの取得を状態管理部２０５に依頼し、通信部２０２を介して図示しないＤＮＳサーバに問い合わせることによって、通信装置１０２のＩＰアドレスを取得する。この結果、通信装置１０２のＩＰｖ４アドレス”４４４２”とＩＰｖ６アドレス”６６６２”が取得できたとする。なお、ＤＮＳを複数回使用することによりアドレスを複数取得してもよい。なお、ＤＮＳの動作は従来技術で実現されるものであるため説明を省略する。
【００５４】
Ｓ５０３：通信識別子テーブル２０４に登録されている自端末のアドレスを読み出し、ステップＳ５０２もしくはステップＳ５０７で取得したアドレスと、通信識別子テーブル２０４に登録されている自端末のアドレスとで、通信可能なアドレスの組合せを作成する。ＩＰｖ４アドレスとＩＰｖ６アドレスの組合せでは通信ができないので、ＩＰｖ４アドレス”４４４１”とＩＰｖ４アドレス”４４４２”の組合せと、ＩＰｖ６アドレス”６６６１”とＩＰｖ６アドレス”６６６２”の組合せと、が作成できる。
【００５５】
Ｓ５０４：ステップＳ５０３で作成したアドレスの組合せを状態管理部２０５に返す。
【００５６】
Ｓ５０５：状態管理部２０５からの指示にアドレスが指定されているかどうかを判定する。アドレスが指定されている場合は、ステップＳ５０６に移行し、それ以外の場合（状態管理部２０５からの指示では、ドメイン名と、アドレスと、サービス名との中から指定をする必要があるため、この条件に当てはまるのはサービス名が指定されている場合である）は、ステップＳ５０７に移行する。
【００５７】
Ｓ５０６：ＤＮＳを使用し、状態管理部２０５からの指示で指定されている通信装置１０２のアドレスに対応するドメイン名を取得する。
【００５８】
Ｓ５０７：サービス対応テーブルを使用し、状態管理部２０５からの指示で指定されているサービス名に対応するアドレスを取得する。
【００５９】
〔通信識別子選択処理部２０７〕
通信識別子選択処理部２０７は、状態管理部２０５からの指示により、通信識別子指定部２０９と判定部２０８とを用いて、通信識別子取得部２０６で作成した送信元アドレスと送信先アドレスの組合せの選択候補の中から、通信に使用する送信元アドレスと送信先アドレスを一組選択する。
【００６０】
図６は、通信識別子選択処理部２０７と通信識別子指定部２０９と判定部２０８とが行なう処理の流れの一例を示すフローチャート図である。なお、ステップＳ６０１、ステップＳ６０２、及びステップＳ６０３は通信識別子指定部２０９が行ない、ステップＳ６０４、ステップＳ６０５、及びステップＳ６０６は判定部２０８が行ない、ステップＳ６０７とステップＳ６０８を通信識別子選択処理部２０７が行なう。
【００６１】
Ｓ６０１：状態管理部２０５から指定された送信元アドレスと送信先アドレスの組合せの選択候補のうち、まだ仮選択を行なっていない組合せの中から一組のアドレスの組合せを仮選択する。
【００６２】
Ｓ６０２：ステップＳ６０１で仮選択したアドレスの組合せを指定して、接続開始を通信部２０２に要求する。
【００６３】
Ｓ６０３：状態管理部２０５から指定された送信元アドレスと送信先アドレスの組合せの選択候補のうちすべての組合せについてステップＳ６０１とステップＳ６０２の処理を行なったかどうかを判定する。すべての選択候補について処理を行なった場合は、ステップＳ６０４に移行し、それ以外の場合は、ステップＳ６０１に移行する。
【００６４】
Ｓ６０４：ステップＳ６０２の接続開始の要求に対する通信部２０２からの応答を待つ。
【００６５】
Ｓ６０５：ステップＳ６０４の通信部２０２からの応答が正常なものであるかどうかを判定する。正常である場合は、ステップＳ６０６に移行し、それ以外の場合は、ステップＳ６０４に移行する。
【００６６】
Ｓ６０６：ステップＳ６０５の判定結果から、ステップＳ６０４の通信部２０２からの応答が最初の正常な応答であることがわかるため、この応答に対応する送信元アドレスと送信先アドレスの組合せを、使用するアドレスの組合せとして選択する。
【００６７】
Ｓ６０７：ステップＳ６０６で選択されなかったアドレスの組合せを指定してステップＳ６０２で送信を行なっていた接続開始の要求に対する処理を停止させるために、通信部２０２へ接続中止を要求する。
【００６８】
Ｓ６０８：ステップＳ６０６で選択したアドレスの組合せを状態管理部２０５に返す。
【００６９】
〔通信部２０２〕
通信部２０２は、状態管理部２０５と通信識別子選択処理部２０７からの要求に応じて通信相手となる通信装置との間の、所定の手順の通信であるＴＣＰセッションの接続や、通信相手となる通信装置とのデータの送受信を行なう機能を備える。なお、所定の手順の通信は、通信相手となる少なくとも１つの通信装置との間で通信可能な接続手順であればよく、例えば、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のセッションの接続でもよい。
【００７０】
通信部２０２は、通信識別子選択処理部２０７から接続開始を要求されると、接続開始の要求で指定された送信元アドレスと送信先アドレスを使って、通信部２０２との間で、所定の手順の通信であるＴＣＰセッションの接続を開始する。その後、通信装置１０２からの応答を受信し、通信装置１０２とのＴＣＰセッションの接続が完了した場合は、正常に接続できたこと示す正常な応答を通信識別子選択処理部２０７に返す。接続に失敗した場合は、正常に接続できなかったことを示す異常な応答を通信識別子選択処理部２０７に返す。
【００７１】
通信部２０２は、通信識別子選択処理部２０７から接続中止を要求されると、接続中止の要求で指定された送信元アドレスと送信先アドレスを使って既に開始されているＴＣＰセッションの接続を中断する。
【００７２】
通信部２０２は、状態管理部２０５や通信識別子選択処理部２０７からの要求により、その要求で指定された送信元アドレスと送信先アドレスを使用し、通信装置１０２とデータの送受信を行なう。
【００７３】
図８は、本実施の形態における通信識別子の選択処理に係わる接続の開始手順の一例を示すシーケンス図である。通信識別子指定部２０９が接続開始を通信部２０２に要求すると、通信部２０２は、接続開始の要求で指定されたアドレスを使用して通信相手との接続の開始手順を行なう。本実施の形態では、送信元アドレスであるＩＰｖ６アドレス”６６６１”と送信先アドレスであるＩＰｖ６アドレス”６６６２”との組合せと、送信元アドレスであるＩＰｖ４アドレス”４４４１”と送信先アドレスであるＩＰｖ４アドレス”４４４２”との組合せと、が使用可能である。通信識別子指定部２０９がＩＰｖ６アドレス”６６６１”とＩＰｖ６アドレス”６６６２”の組合せを指定して接続開始の要求を通信部２０２に送信する。通信部２０２は、この接続開始を要求されると、ＩＰｖ６アドレス”６６６２”宛てにＳＹＮパケットを送信する。次に、通信識別子指定部２０９がＩＰｖ４アドレス”４４４１”とＩＰｖ４アドレス”４４４２”の組合せを指定して接続開始を通信部２０２に要求する。通信部２０２は、この接続開始を要求されると、ＩＰｖ４アドレス”４４４２”宛てにＳＹＮパケットを送信する。ＳＹＮパケットを受信した通信相手の通信装置はＳＹＮ  ＡＣＫパケットを送信する。通信部２０２はＳＹＮ  ＡＣＫパケットを受信すると、判定部２０８に応答を返す。例えば、通信部２０２が、ＩＰｖ４アドレス”４４４２”からのＳＹＮ  ＡＣＫパケットをＩＰｖ６アドレス”６６６２”からのＳＹＮ  ＡＣＫパケットよりも先に受信したとすると、ＩＰｖ４アドレス”４４４２”からのＳＹＮ  ＡＣＫパケットに対するＡＣＫパケットをＩＰｖ４アドレス”４４４２”宛てに送信し、判定部２０８に正常な応答を返す。判定部２０８は通信部２０２からの応答が正常な応答である場合、この応答に対応しないＩＰｖ６アドレス”６６６２”を指定した接続開始の要求に対応する接続の開始手順を中止するために、接続中止を通信部２０２に要求する。通信部２０２は接続の中止処理を行ない、その後、ＩＰｖ６アドレス”６６６２”からのＳＹＮ  ＡＣＫパケットを受信すると、ＩＰｖ６アドレス”６６６２”宛てにＲＳＴパケットを送信する。
【００７４】
以上の処理により、通信相手となる通信装置からの応答を待たずに複数の通信を開始し、最初に返って来た正常な応答に対応する送信元アドレスと送信先アドレスの組合せを選択することにより、その時々のネットワーク状況に応じたより最適なネットワークを使用できるという効果が得られる。
【００７５】
（実施の形態２）
以下、本発明の実施の形態２における通信識別子選択方法について、図面を参照しながら説明する。なお、実施の形態１の構成と同様の構成を有するものについては、同一符号を付しその説明を省略する。
【００７６】
実施の形態１では、通信相手となる通信装置から最初に返ってきた正常な応答に対応する送信元アドレスと送信先アドレスを選択したが、通信識別子選択処理部２０７が複数の接続開始を順番に要求するため、それぞれの接続開始の要求の間にはわずかな時差が発生する。本実施の形態では、この問題を考慮して送信元アドレスと送信先アドレスの選択を行なう。
【００７７】
〔通信識別子選択処理部２０７〕
通信識別子選択処理部２０７は、接続開始を通信部２０２に要求した時刻と、通信部２０２から正常な応答が返された時刻とを用いて、通信相手となる通信装置と接続するのに要する時間を求め、求めた時間を基に、通信に使用する送信元アドレスと送信先アドレスの選択を行なう。
【００７８】
図９は、本実施の形態における通信識別子選択処理部２０７が行なう処理の流れの一例を示すフローチャート図である。なお、ステップＳ６０１、ステップＳ６０２、ステップＳ６０３およびステップＳ９０９は通信識別子指定部２０９が行ない、ステップＳ６０４、ステップＳ６０５、ステップＳ９１０、ステップＳ９１１およびステップＳ９１２は判定部２０８が行ない、ステップＳ６０８を通信識別子選択処理部２０７が行なう。
【００７９】
Ｓ９０９：接続開始を要求するごとにその時刻を要求時刻として接続開始の要求に対応付けて記録する。
【００８０】
Ｓ９１０：正常な応答が返された場合、その時刻を応答時刻として接続開始の要求に対応付けて記録する。
【００８１】
Ｓ９１１：ステップＳ６０２の通信部２０２への要求に対応する応答がすべて通信部２０２から返されたかどうかを判定する。すべての応答が返された場合は、ステップＳ９１２に移行し、それ以外の場合は、ステップＳ６０４に移行する。なお、応答が返されるのを待つ回数は、ステップＳ６０２の要求のすべて、もしくは、一部でもよい。すべての応答が返されるのを待つ場合は、使用できるすべてのアドレスの組合せの中から選択できるが、アドレスの選択が完了するまでに比較的多くの時間を必要とする。また、一部の応答を待つ場合は、より早く返された応答の中からのみアドレスの組合せを選択することができる。なお、一定期間内に応答を規定の個数分返されない場合は、ステップＳ９１２に移行してもよい。
【００８２】
Ｓ９１２：ステップＳ９０９とステップＳ９１０で接続開始の要求に対応付けて記録してある要求時刻と応答時刻を基に、それぞれの接続開始の要求とその要求に対応する通信部２０２からの応答が返されるまでに要した時間を求める。そして、求めた時間がより短くなっているものを、通信に使用する送信元アドレスと送信先アドレスとして選択する。
【００８３】
図１０は、本実施の形態における通信識別子の選択処理に係わる接続の開始手順の一例を示すシーケンス図である。通信識別子指定部２０９がＩＰｖ６アドレス”６６６２”を指定して接続開始を通信部２０２に要求する場合、このときの時刻ｔ１を最初の接続開始の要求時刻として記録する。次に、ＩＰｖ４アドレス”４４４２”を指定して接続開始を通信部２０２に要求する場合、このときの時刻ｔ２を２番目の接続開始の要求時刻として記録する。次に、通信部２０２がＩＰｖ６アドレス”６６６２”からのＳＹＮ  ＡＣＫパケットよりも先にＩＰｖ４アドレス”４４４２”からのＳＹＮ  ＡＣＫパケットを受信したとすると、まず、ＩＰｖ４アドレス”４４４２”に対応する応答を判定部２０８に返す。その後、通信部２０２がＩＰｖ６アドレス”６６６２”からのＳＹＮ  ＡＣＫパケットを受信すると、ＩＰｖ６アドレス”６６６２”に対応する応答を判定部２０８に返す。判定部２０８は、正常な応答を通信部２０２から返されると、そのときの時刻を応答時刻（ＩＰｖ４アドレス”４４４２”の場合は時刻ｔ３、ＩＰｖ６アドレス”６６６２”の場合は時刻ｔ４）として記録する。その後、要求時刻と応答時刻を基に、ＩＰｖ４アドレス”４４４２”宛ての接続の開始手順に要した時間（ｔ３−ｔ２）とＩＰｖ６アドレス”６６６２”宛ての接続の開始手順に要した時間（ｔ４−ｔ１）を求め比較し、より短い時間となっているＩＰｖ４アドレス”４４４１”とＩＰｖ４アドレス”４４４２”の組合せを選択する。選択されなかったＩＰｖ６アドレス”６６６２”からの応答に対応する接続を中止するために、接続中止を通信部２０２に要求する。通信部２０２は、接続中止を要求されると、ＩＰｖ６アドレス”６６６２”宛てＦＩＮパケット、もしくは、ＲＳＴパケットを送信する。
【００８４】
以上の処理により、通信相手となる通信装置からの応答を待たずに複数の通信を開始し、接続の開始手順に要した時間が一番短くなる送信元アドレスと送信先アドレスの組合せを選択することにより、その時々のネットワーク状況に応じたより最適なネットワークを使用できるという効果が得られる。
【産業上の利用可能性】
【００８５】
本発明の通信識別子選択を行なう通信装置は、その時々に変化するネットワーク状況に応じて使用する通信識別子を選択できるという効果を有し、多量の資源を必要とせずに通信元の端末のみの実装で通信識別子選択を行なう通信装置として有用である。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態に係るネットワーク構成例を示すブロック図
【図２】本発明の一実施形態に係る通信装置の機能構成例を示すブロック図
【図３】本発明の一実施形態に係る状態管理部が行なう処理例のフローチャート
【図４】本発明の一実施形態に係る通信識別子テーブルの一例を示す図
【図５】本発明の一実施形態に係る通信識別子取得部が行なう処理例のフローチャート
【図６】本発明の一実施形態に係る通信識別子選択処理部が行なう処理例のフローチャート
【図７】ＴＣＰで通信相手と接続する場合の通常の接続手順を示すシーケンス図
【図８】本発明の一実施形態に係る接続の開始手順の一例を示すシーケンス図
【図９】本発明の一実施形態に係る通信識別子選択処理部が行なう処理例のフローチャート
【図１０】本発明の一実施形態に係る接続の開始手順の一例を示すシーケンス図
【図１１】本発明の一実施形態に係るサービス対応テーブルの一例を示す図
【符号の説明】
【００８７】
１０１，１０２    通信装置
１０３，１０４    ネットワーク中継器
４４４    ＩＰｖ４ネットワーク
６６６    ＩＰｖ６ネットワーク
２０２    通信部
２０３    端末アプリケーション
２０４    通信識別子テーブル
２０５    状態管理部
２０６    通信識別子取得部
２０７    通信識別子選択処理部
２０８    判定部
２０９    通信識別子指定部
２１０    利用可能通信識別子データベース
２１１    サービス対応テーブル
【図１】
2006324946.tif 000003
【図２】
2006324946.tif 000004
【図３】
2006324946.tif 000005
【図４】
2006324946.tif 000006
【図５】
2006324946.tif 000007
【図６】
2006324946.tif 000008
【図７】
2006324946.tif 000009
【図８】
2006324946.tif 000010
【図９】
2006324946.tif 000011
【図１０】
2006324946.tif 000012
【図１１】
2006324946.tif 000013