JP2006324946A - 通信装置、通信方法及び通信識別子選択プログラム - Google Patents

通信装置、通信方法及び通信識別子選択プログラム Download PDF

Info

Publication number
JP2006324946A
JP2006324946A JP2005146237A JP2005146237A JP2006324946A JP 2006324946 A JP2006324946 A JP 2006324946A JP 2005146237 A JP2005146237 A JP 2005146237A JP 2005146237 A JP2005146237 A JP 2005146237A JP 2006324946 A JP2006324946 A JP 2006324946A
Authority
JP
Japan
Prior art keywords
communication
address
addresses
determined
destination device
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.)
Pending
Application number
JP2005146237A
Other languages
English (en)
Inventor
Takeshi Ogose
剛 生越
Atsuhiro Tsuji
敦宏 辻
Hiroshi Yokota
博史 横田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005146237A priority Critical patent/JP2006324946A/ja
Publication of JP2006324946A publication Critical patent/JP2006324946A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】通信装置が複数のネットワークやアドレスを使用可能な場合、その時々に変化するネットワークや通信相手の状況に応じてより最適な通信識別子(アドレスなど)を選択する必要がある。
【解決手段】通信装置は、状態管理部と通信識別子選択処理部を備える。前記状態管理部は、通信相手となる通信装置と通信するための通信識別子を複数指定し、前記通信識別子選択処理部は、前記指定された複数の通信識別子を使用して複数の接続を開始し得られた情報を用いて通信識別子を選択する。
【選択図】図3

Description

本発明は、複数のネットワークに接続されている通信装置が通信相手の通信装置と通信を行なうのに複数のネットワークが利用可能な状態である場合、通信に適した通信識別子(アドレスなど)の選択を行なって通信する、通信装置、通信方法及び通信識別子選択プログラムに関するものである。
1つの通信装置が複数のネットワークに接続されている構成において、通信装置にはそれぞれのネットワークを使用するためのアドレスが付与される。通信装置は、通信を行なうとき、自端末に付与されている複数のアドレスの中から使用するアドレスを選択する必要がある。使用するアドレスごとに利用するネットワークまたは中継経路が異なるため、通信に使用するアドレスを選択することにより、通信に使用するネットワークまたは中継経路を選択することになる。
例えば、IP(Internet Protocol)ネットワークで使用されるアドレスはIPv4(Internet Protocol Version 4)ネットワークでは”132.182.170.222”、IPv6(Internet Protocol Version 6)ネットワークでは”27c0:12:d8ab:0:3b8:f4fe:fe5e:756b”などと表記される。以下、表記を簡略化するため、IPv4アドレスとIPv6アドレスをそれぞれ数字4桁(例えば、IPv4アドレスを”4441”、IPv6アドレスを”6661”など)で表記する。
IPネットワークでは、セッション指向のプロトコルとしてTCP(Transmission Control Protocol)が広く使われている。図7は、TCPで通信相手と接続する場合の通常の接続手順を示すシーケンス図である。通信元の通信装置は、通信相手の通信装置にSYNパケットを送信する。SYNパケットを受信した通信相手の通信装置は、接続可能を応答するためにSYN ACKパケットを送信する。SYN ACKパケットを受信した通信元の通信装置は、ACKパケットを送信する。この手順により、通信元の通信装置と通信相手の通信装置との間で接続手順が完了したことになる。もし、接続ができない場合は、接続ができない状態にある通信装置がRSTパケットを送信することにより、相手に接続ができないことを知らせる。また、接続手順が完了した後に接続を切断する場合には、切断処理を先に開始した通信装置がFINパケットもしくはRSTパケットを送信する。なお、TCPの動作は本発明の範囲外で実現されるため詳細な説明は省略する。
従来のアドレス選択を行なう通信装置においては、動的ではあるが予め用意されている選択条件に基づき、アドレスの選択を行っていた。例えば、一方のネットワークを基本として通信に使用し、それが通信不能と検知した場合にもう一方のネットワークに切り替える方法や、使用するネットワークを交互に切り替えることでネットワークへの負荷を分散させる方法などである。しかし、これらの方法の多くは、予め、ネットワークの条件を特定した上で設定する必要があり、その時々に変化するトラヒックなどのネットワーク状態に応じた柔軟なネットワーク選択ができないという問題があった。
一方、通信を開始する前にネットワーク状況を調査して使用する経路を選択する交換機の通信経路選択方法がある(例えば特許文献1)。
この特許文献によれば、端末または電話機から発呼が生じると、交換機は、通信経路登録テーブルに登録された相手局に対する通信路すべてに診断フレームを送信する。交換機は、応答受信タイマがタイムアウトになるまでに応答を受信した各通信路の所要時間を算出し、算出した所要時間の中で最小の所要時間を抽出する。交換機は抽出した最小の所要時間に対応する通信路を使用する通信路として決定し、その通信路に端末または電話機からの音声またはデータのデータフレームを送信する。
特開平10−28137号公報
しかしながら、前記従来の交換機の通信経路選択方法では、交換機において通信経路を選択することを前提としており、ネットワーク中継器である交換機間の通信路の選択しかできない。また、前記従来の交換機は相手局に対する複数の通信路を通信経路登録テーブルに予め登録しておく必要がある。通信経路登録テーブルに登録されているエントリの数は、相手局の数と、通信経路の数に比例して増加し、これと同様の方法で端末装置間の通信経路テーブルを作成する場合には、エントリの数が大幅に増加する。このため、資源に乏しい端末装置が通信経路登録テーブルを保持することは困難である。
また、前記従来の交換機が送信した診断フレームを受信した相手局は、前記診断フレームに応答を返す必要がある。つまり、相手局も診断フレームに対応しておかなければならない。
本発明は、前記従来の課題を解決するもので、予めネットワークの条件を特定しないでその時々に変化するネットワーク状況や通信相手となる通信装置の状況を条件として使い、通信装置に適用可能な通信識別子選択方法を提供することを目的とする。
前記従来の課題を解決するために、本発明の通信装置は、状態管理部と通信識別子選択処理部と、を備え、前記状態管理部は、通信相手となる1つの通信装置、あるいは同一のサービスを提供する複数の通信装置と通信するための複数の通信識別子を複数指定して、前記通信識別子選択処理部に通信識別子の選択を指示する。前記通信識別子選択処理部は、前記指定された複数の通信識別子を順次、あるいは一度に指定して、通信装置と所定の手順を用いて通信を行ない、前記所定の手順の実施によって得られた情報の一部、あるいはすべての情報を用いて通信識別子を選択する。
本構成によって、通信相手に係わらず、通信元となる通信装置において、その時々に変化するネットワーク状況に応じた最適な通信識別子を通信の開始ごとに選択することができる。
第1の発明は、通信を開始する際に、通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとを決定すべきかどうかを判定し、通信を行なうためのアドレスが決定すべきであるときは、自装置が使用するアドレスと、通信先装置のアドレスとを決定するように制御すると共に、決定したアドレスを記憶する状態管理部と、状態管理部からの指示により、通信先装置のアドレスを1つ以上取得し、自装置が使用可能な1つ以上のアドレスと比較することによって、通信先装置と通信可能な1つ以上のアドレスの組を生成する通信識別子取得部と、通信可能なアドレスの組から通信に使用するアドレスの組を1つ決定する通信識別子選択処理部とで構成されることを特徴としている。
上記第1の発明によれば、複数の通信識別子を使用して通信可能な通信装置との通信を行なうに際し、接続開始時にその時々のネットワーク状況に応じた最適な通信アドレスを選択でき、より安定した通信が可能である通信装置が実現できる。
第2の発明は、第1の発明において、通信識別子取得部は、DNS(Domain Name System)サーバにアクセスすることによって、通信先装置のIPアドレスを取得するものである。
第3の発明は、第1の発明において、通信識別子選択処理部は、通信可能な1つ以上の通信先装置のアドレスを指定して、所定の手順の通信を行ない、所定の手順の通信結果に基づいて、通信に使用するアドレスの組を決定するものである。
第4の発明は、第3の発明において、所定の手順の通信は、TCP(Transmission Control Protocol)の接続開始手順であるものである。
第5の発明は、第4の発明において、通信識別子選択処理部は、所定の手順の通信における応答を最初に受け取ったアドレスの組を、通信に使用するアドレスの組として決定するものである。
上記第5の発明によれば、通信可能な全てのアドレスの組に対して所定の手順の通信を行ない、応答が最も早く返ってきたアドレスの組を通信に使用するアドレスの組として選択する。応答が最も早く返ってくるということは、そのアドレスを使用したネットワークは安定していると考えることが出来、そのアドレスを使用することによって安定した通信を実現することが出来る。
第6の発明は、第5の発明において、通信識別子選択処理部は、通信に使用するアドレスの組が決定したら、通信先装置に対して、選択されなかったアドレスの組に対応する前記所定の手順の通信を停止させるものである。
上記第6の発明によれば、第5の発明に加え、通信を行なう所定の手順の途中にあるもののうち、不要となった1つ以上の所定の手順を中断させることが可能となる通信装置が実現できる。例えば、4つの通信識別子を使用して所定の手順を開始し、その後、通信に使用する通信識別子が一意に決定された場合、残りの3つの通信識別子を使用している所定の手順を中断させる。
第7の発明は、第6の発明において、通信識別子選択処理部は、前記所定の手順の通信が完了するまでに要した時間が最も短いアドレスの組を選択し、選択したアドレスの組を通信に使用するアドレスの組として決定するものである。
上記第7の発明によれば、第6の発明に加え、通信相手となる通信装置との通信に係わる時刻情報を取得することにより、時刻情報を使用してより正確な判定を行ない通信識別子を選択することが可能となる通信装置が実現できる。例えば、2回の接続の開始手順を行なう場合、1回目の手順と、2回目の手順とでは、手順の開始にわずかな時差が発生してしまうが、それぞれの手順を行なう場合の時刻を記録しておくことにより、より正確な判定が可能となる。
第8の発明は、第1の発明に対応する通信方法であって、通信を開始する際に、通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、通信を行なうためのアドレスが決定していないときは、通信先装置のアドレスを1つ以上取得するステップと、通信先装置のアドレスと、自装置が使用可能な1つ以上のアドレスとを比較することによって、通信先装置と通信可能な1つ以上のアドレスの組を生成するステップと、通信可能なアドレスの組から通信に使用するアドレスの組を1つ決定するステップとで構成されるものである。
第9の発明は、第1の発明に対応する通信識別子選択プログラムであって、通信装置に、通信を開始する際に、通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、通信を行なうためのアドレスが決定していないときは、通信先装置のアドレスを1つ以上取得するステップと、通信先装置のアドレスと、自装置が使用可能な1つ以上のアドレスとを比較することによって、通信先装置と通信可能な1つ以上のアドレスの組を生成するステップと、通信可能なアドレスの組から通信に使用するアドレスの組を1つ決定するステップを実行させるものである。
本発明は、前記従来の課題を解決するもので、通信相手となる通信装置と通信可能な通信識別子を複数使用して通信相手と複数の通信を行ない、通信相手からの応答により通信に使用する通信識別子を選択することができる。これにより、その時々に変化するネットワーク状況に応じて通信に最適な通信識別子を選択でき、より安定した通信が可能となる。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
以下、本発明の実施の形態1における通信識別子選択方法について、図面を参照しながら説明する。図1は、本発明が係わる通信装置が適用されるIPネットワークの構成例を示す説明図である。図1のネットワーク構成では、通信装置101及び102は、それぞれの中継器(ルータ)103、104に接続されており、それらの間はIPv4ネットワーク444と、IPv6ネットワーク666により互いに接続されている。通信装置101は、本発明が係わる通信装置である。なお、通信装置102は、本発明の通信装置である必要はなく、従来の通信装置でもよい。
通信装置101は、IPv4ネットワーク444を使用するためのIPv4アドレス”4441”と、IPv6ネットワーク666を使用するためのIPv6アドレス”6661”と、が付与されている。同様に、通信装置102は、IPv4アドレス”4442”と、IPv6アドレス”6662”と、が付与されている。この場合、通信装置101、102の間では、IPv4アドレス”4441”と”4442”、または、IPv6アドレス”6661”と”6662”のアドレスの組合せを使って相互に通信が行なえる。また、それぞれのアドレスの組合せごとに使用するネットワークが異なる。つまり、IPv4アドレス”4441”と”4442”のアドレスの組合せの場合は、IPv4ネットワーク444を使い、IPv6アドレス”6661”と”6662”のアドレスの組合せの場合は、IPv6ネットワーク666を使い、それぞれ通信を行なう。
なお、通信装置102は、IPv4アドレス”4442”とIPv6アドレス”6662”とがそれぞれ別に付与された2つの通信装置であってもよい。
なお、IPv4ネットワークが複数であったり、IPv6ネットワークが複数であったりするネットワーク構成でもよく、それらのネットワークを使い分けることが可能なネットワーク構成であればこれに限らない。なお、通信装置に付与されているアドレスは1つ以上であればよく、使用するアドレスの数はこれに限らない。
本実施の形態では、通信識別子として、送信元アドレスと送信先アドレスを使用している。なお、通信識別子として使用するのに、送信元アドレスと送信先アドレスのどちらか一方だけでもよく、通信識別子を選択することにより利用するネットワークもしくは通信相手となる通信装置を選択できるような通信識別子であればよい。
図2は、本発明が係わる通信装置101の機能構成を示すブロック図である。図2において、通信装置101は、通信識別子選択処理部207と、状態管理部205と、通信部202と、端末アプリケーション203と、利用可能通信識別子データベース(利用可能通信識別子DB)210と、を備えている。また、通信識別子選択処理部207は、判定部208と、通信識別子指定部209と、を備え、利用可能通信識別子DBは、通信識別子テーブル204と、サービス対応テーブル211と、通信識別子取得部206と、を備える。以下、通信装置101から通信装置102に通信を開始する場合について、それぞれの役割と動作を説明する。
〔端末アプリケーション203〕
端末アプリケーション203は、サービスの制御や、通信相手となる通信装置との通信の開始や終了、データの送受信などを状態管理部205に要求する機能を備える。
端末アプリケーション203は、通信装置102との通信を開始するために、通信装置102のドメイン名を指定して状態管理部205に接続開始を要求する。なお、ドメイン名の代わりに通信装置102のアドレスを指定してもよい。なお、サービス名を指定してもよい。サービス名は同じサービスを複数の通信装置で提供している場合に、それらの通信装置のうちのどれかと通信を行なうために使用する。サービス名と、そのサービスを提供する通信装置のアドレスあるいはドメイン名とを対応付けるためのサービス対応テーブル211を予め通信装置101で保持しておく。なお、サービス対応テーブル211を通信装置101以外の装置で保持しておき、必要な場合に通信装置101がその装置に問い合わせを行なってもよい。図11は、通信装置101が持つサービス対応テーブル211の一例を示す図である。サービス対応テーブル211には、サービス名と、IPアドレスを登録し保持しておく。なお、サービス名は任意の名前であり、IPアドレスは特定のサービスを提供する1つ以上の通信装置のIPアドレスである。例えば、IP電話サービス(サービス名”IPPHONE”)を提供している2つの通信装置(それぞれの通信装置のIPアドレスは、IPv4アドレス”4443”と、IPv4アドレス”4444”)をサービス対応テーブル211に登録する場合、サービス名は”IPPHONE”、IPアドレスはIPv4アドレス”4443”とIPv4アドレス”4444”となる。
状態管理部205から、前記接続開始の要求に対するの正常な応答があった場合、端末アプリケーション203は、必要に応じて、状態管理部205に通信装置102とのデータの送受信などの通信を行なうよう要求する。
〔通信識別子テーブル204〕
通信識別子テーブル204には、自端末が使用可能な通信識別子を登録し、保持しておく。
図4は、通信装置101が持つ通信識別子テーブル204の一例を示す図である。通信識別子テーブル204には、自端末のアドレス(IPv4アドレス”4441”とIPv6アドレス”6661”)とそのアドレスのバージョン(IPv4、IPv6)をそれぞれ指定して登録し、保持しておく。
〔状態管理部205〕
状態管理部205は、端末アプリケーション203からの接続開始またはデータ送信や受信の要求を受信すると、その要求に対する送信元アドレスと送信先アドレスが既に選択されているかどうかを判定し、必要に応じて通信識別子取得部206と、通信識別子選択処理部207とを使い、通信に使用する送信元アドレスと送信先アドレスの選択処理を制御する機能を備える。
図3は、状態管理部205が行なう処理の流れの一例を示すフローチャート図である。
S301:端末アプリケーション203からの接続開始またはデータ送信や受信の要求に対して送信元アドレスと送信先アドレスの選択が必要かどうかを判定する。端末アプリケーション203から接続開始を要求された場合は送信元アドレスと送信先アドレスの選択が必要である。選択が必要な場合は、ステップS302に移行し、選択が不要な場合は、ステップS306に移行する。
S302:端末アプリケーション203からの接続開始の要求に含まれる通信装置102のドメイン名を指定して、通信識別子取得部206に送信元アドレスと送信先アドレスの組合せの選択候補を取得するように指示する。なお、端末アプリケーション203からの要求にドメイン名の代わりとしてアドレスが含まれている場合、このアドレスを指定して前記指示を行なう。なお、端末アプリケーション203からの要求にサービス名が含まれている場合は、このサービス名を指定して前記指示を行なう。
S303:ステップS302で取得した送信元アドレスと送信先アドレスの組合せの選択候補を指定して、通信識別子選択処理部207に送信元アドレスと送信先アドレスの組合せを選択するように指示する。
S304:通信識別子選択処理部207で選択された送信元アドレスと送信先アドレスを、端末アプリケーション203からの要求に対するアドレスとして決定し、送信元アドレスと送信先アドレスを保持する。
S305:送信元アドレスと送信先アドレスの選択が完了したことを知らせるために端末アプリケーション203へ接続開始の要求に対する応答を返す。
S306:端末アプリケーション203からのデータ送信や受信の要求に、対応する選択済みの送信元アドレスと送信先アドレスを設定する。
S307:ステップS306で設定したアドレスを通信部202に送信する。
S308:ステップS307に対する通信部202からの応答を待つ。
S309:ステップS308の応答の内容に応じて端末アプリケーション203へ応答を返す。ステップS308で受信した応答が正常であれば、端末アプリケーション203へも正常な応答を返し、ステップS308で受信した応答が異常(エラーが発生した場合など)であれば、端末アプリケーション203へも異常な応答を返す。
〔通信識別子取得部206〕
通信識別子取得部206は、状態管理部205からの指示に従い、通信に使用可能な送信元アドレスと送信先アドレスの組合せを1つあるいは複数個作成し状態管理部205に返す。
図5は、通信識別子取得部206が行なう処理の流れの一例を示すフローチャート図である。
S501:状態管理部205からの指示にドメイン名が指定されているかどうかを判定する。ドメイン名が指定されている場合は、ステップS502に移行し、それ以外の場合は、ステップS505に移行する。
S502:DNSを使用し、状態管理部205からの選択候補取得の指示で指定されている通信装置102のドメイン名に対応するアドレスを取得する。アドレスの取得を状態管理部205に依頼し、通信部202を介して図示しないDNSサーバに問い合わせることによって、通信装置102のIPアドレスを取得する。この結果、通信装置102のIPv4アドレス”4442”とIPv6アドレス”6662”が取得できたとする。なお、DNSを複数回使用することによりアドレスを複数取得してもよい。なお、DNSの動作は従来技術で実現されるものであるため説明を省略する。
S503:通信識別子テーブル204に登録されている自端末のアドレスを読み出し、ステップS502もしくはステップS507で取得したアドレスと、通信識別子テーブル204に登録されている自端末のアドレスとで、通信可能なアドレスの組合せを作成する。IPv4アドレスとIPv6アドレスの組合せでは通信ができないので、IPv4アドレス”4441”とIPv4アドレス”4442”の組合せと、IPv6アドレス”6661”とIPv6アドレス”6662”の組合せと、が作成できる。
S504:ステップS503で作成したアドレスの組合せを状態管理部205に返す。
S505:状態管理部205からの指示にアドレスが指定されているかどうかを判定する。アドレスが指定されている場合は、ステップS506に移行し、それ以外の場合(状態管理部205からの指示では、ドメイン名と、アドレスと、サービス名との中から指定をする必要があるため、この条件に当てはまるのはサービス名が指定されている場合である)は、ステップS507に移行する。
S506:DNSを使用し、状態管理部205からの指示で指定されている通信装置102のアドレスに対応するドメイン名を取得する。
S507:サービス対応テーブルを使用し、状態管理部205からの指示で指定されているサービス名に対応するアドレスを取得する。
〔通信識別子選択処理部207〕
通信識別子選択処理部207は、状態管理部205からの指示により、通信識別子指定部209と判定部208とを用いて、通信識別子取得部206で作成した送信元アドレスと送信先アドレスの組合せの選択候補の中から、通信に使用する送信元アドレスと送信先アドレスを一組選択する。
図6は、通信識別子選択処理部207と通信識別子指定部209と判定部208とが行なう処理の流れの一例を示すフローチャート図である。なお、ステップS601、ステップS602、及びステップS603は通信識別子指定部209が行ない、ステップS604、ステップS605、及びステップS606は判定部208が行ない、ステップS607とステップS608を通信識別子選択処理部207が行なう。
S601:状態管理部205から指定された送信元アドレスと送信先アドレスの組合せの選択候補のうち、まだ仮選択を行なっていない組合せの中から一組のアドレスの組合せを仮選択する。
S602:ステップS601で仮選択したアドレスの組合せを指定して、接続開始を通信部202に要求する。
S603:状態管理部205から指定された送信元アドレスと送信先アドレスの組合せの選択候補のうちすべての組合せについてステップS601とステップS602の処理を行なったかどうかを判定する。すべての選択候補について処理を行なった場合は、ステップS604に移行し、それ以外の場合は、ステップS601に移行する。
S604:ステップS602の接続開始の要求に対する通信部202からの応答を待つ。
S605:ステップS604の通信部202からの応答が正常なものであるかどうかを判定する。正常である場合は、ステップS606に移行し、それ以外の場合は、ステップS604に移行する。
S606:ステップS605の判定結果から、ステップS604の通信部202からの応答が最初の正常な応答であることがわかるため、この応答に対応する送信元アドレスと送信先アドレスの組合せを、使用するアドレスの組合せとして選択する。
S607:ステップS606で選択されなかったアドレスの組合せを指定してステップS602で送信を行なっていた接続開始の要求に対する処理を停止させるために、通信部202へ接続中止を要求する。
S608:ステップS606で選択したアドレスの組合せを状態管理部205に返す。
〔通信部202〕
通信部202は、状態管理部205と通信識別子選択処理部207からの要求に応じて通信相手となる通信装置との間の、所定の手順の通信であるTCPセッションの接続や、通信相手となる通信装置とのデータの送受信を行なう機能を備える。なお、所定の手順の通信は、通信相手となる少なくとも1つの通信装置との間で通信可能な接続手順であればよく、例えば、HTTP(HyperText Transfer Protocol)のセッションの接続でもよい。
通信部202は、通信識別子選択処理部207から接続開始を要求されると、接続開始の要求で指定された送信元アドレスと送信先アドレスを使って、通信部202との間で、所定の手順の通信であるTCPセッションの接続を開始する。その後、通信装置102からの応答を受信し、通信装置102とのTCPセッションの接続が完了した場合は、正常に接続できたこと示す正常な応答を通信識別子選択処理部207に返す。接続に失敗した場合は、正常に接続できなかったことを示す異常な応答を通信識別子選択処理部207に返す。
通信部202は、通信識別子選択処理部207から接続中止を要求されると、接続中止の要求で指定された送信元アドレスと送信先アドレスを使って既に開始されているTCPセッションの接続を中断する。
通信部202は、状態管理部205や通信識別子選択処理部207からの要求により、その要求で指定された送信元アドレスと送信先アドレスを使用し、通信装置102とデータの送受信を行なう。
図8は、本実施の形態における通信識別子の選択処理に係わる接続の開始手順の一例を示すシーケンス図である。通信識別子指定部209が接続開始を通信部202に要求すると、通信部202は、接続開始の要求で指定されたアドレスを使用して通信相手との接続の開始手順を行なう。本実施の形態では、送信元アドレスであるIPv6アドレス”6661”と送信先アドレスであるIPv6アドレス”6662”との組合せと、送信元アドレスであるIPv4アドレス”4441”と送信先アドレスであるIPv4アドレス”4442”との組合せと、が使用可能である。通信識別子指定部209がIPv6アドレス”6661”とIPv6アドレス”6662”の組合せを指定して接続開始の要求を通信部202に送信する。通信部202は、この接続開始を要求されると、IPv6アドレス”6662”宛てにSYNパケットを送信する。次に、通信識別子指定部209がIPv4アドレス”4441”とIPv4アドレス”4442”の組合せを指定して接続開始を通信部202に要求する。通信部202は、この接続開始を要求されると、IPv4アドレス”4442”宛てにSYNパケットを送信する。SYNパケットを受信した通信相手の通信装置はSYN ACKパケットを送信する。通信部202はSYN ACKパケットを受信すると、判定部208に応答を返す。例えば、通信部202が、IPv4アドレス”4442”からのSYN ACKパケットをIPv6アドレス”6662”からのSYN ACKパケットよりも先に受信したとすると、IPv4アドレス”4442”からのSYN ACKパケットに対するACKパケットをIPv4アドレス”4442”宛てに送信し、判定部208に正常な応答を返す。判定部208は通信部202からの応答が正常な応答である場合、この応答に対応しないIPv6アドレス”6662”を指定した接続開始の要求に対応する接続の開始手順を中止するために、接続中止を通信部202に要求する。通信部202は接続の中止処理を行ない、その後、IPv6アドレス”6662”からのSYN ACKパケットを受信すると、IPv6アドレス”6662”宛てにRSTパケットを送信する。
以上の処理により、通信相手となる通信装置からの応答を待たずに複数の通信を開始し、最初に返って来た正常な応答に対応する送信元アドレスと送信先アドレスの組合せを選択することにより、その時々のネットワーク状況に応じたより最適なネットワークを使用できるという効果が得られる。
(実施の形態2)
以下、本発明の実施の形態2における通信識別子選択方法について、図面を参照しながら説明する。なお、実施の形態1の構成と同様の構成を有するものについては、同一符号を付しその説明を省略する。
実施の形態1では、通信相手となる通信装置から最初に返ってきた正常な応答に対応する送信元アドレスと送信先アドレスを選択したが、通信識別子選択処理部207が複数の接続開始を順番に要求するため、それぞれの接続開始の要求の間にはわずかな時差が発生する。本実施の形態では、この問題を考慮して送信元アドレスと送信先アドレスの選択を行なう。
〔通信識別子選択処理部207〕
通信識別子選択処理部207は、接続開始を通信部202に要求した時刻と、通信部202から正常な応答が返された時刻とを用いて、通信相手となる通信装置と接続するのに要する時間を求め、求めた時間を基に、通信に使用する送信元アドレスと送信先アドレスの選択を行なう。
図9は、本実施の形態における通信識別子選択処理部207が行なう処理の流れの一例を示すフローチャート図である。なお、ステップS601、ステップS602、ステップS603およびステップS909は通信識別子指定部209が行ない、ステップS604、ステップS605、ステップS910、ステップS911およびステップS912は判定部208が行ない、ステップS608を通信識別子選択処理部207が行なう。
S909:接続開始を要求するごとにその時刻を要求時刻として接続開始の要求に対応付けて記録する。
S910:正常な応答が返された場合、その時刻を応答時刻として接続開始の要求に対応付けて記録する。
S911:ステップS602の通信部202への要求に対応する応答がすべて通信部202から返されたかどうかを判定する。すべての応答が返された場合は、ステップS912に移行し、それ以外の場合は、ステップS604に移行する。なお、応答が返されるのを待つ回数は、ステップS602の要求のすべて、もしくは、一部でもよい。すべての応答が返されるのを待つ場合は、使用できるすべてのアドレスの組合せの中から選択できるが、アドレスの選択が完了するまでに比較的多くの時間を必要とする。また、一部の応答を待つ場合は、より早く返された応答の中からのみアドレスの組合せを選択することができる。なお、一定期間内に応答を規定の個数分返されない場合は、ステップS912に移行してもよい。
S912:ステップS909とステップS910で接続開始の要求に対応付けて記録してある要求時刻と応答時刻を基に、それぞれの接続開始の要求とその要求に対応する通信部202からの応答が返されるまでに要した時間を求める。そして、求めた時間がより短くなっているものを、通信に使用する送信元アドレスと送信先アドレスとして選択する。
図10は、本実施の形態における通信識別子の選択処理に係わる接続の開始手順の一例を示すシーケンス図である。通信識別子指定部209がIPv6アドレス”6662”を指定して接続開始を通信部202に要求する場合、このときの時刻t1を最初の接続開始の要求時刻として記録する。次に、IPv4アドレス”4442”を指定して接続開始を通信部202に要求する場合、このときの時刻t2を2番目の接続開始の要求時刻として記録する。次に、通信部202がIPv6アドレス”6662”からのSYN ACKパケットよりも先にIPv4アドレス”4442”からのSYN ACKパケットを受信したとすると、まず、IPv4アドレス”4442”に対応する応答を判定部208に返す。その後、通信部202がIPv6アドレス”6662”からのSYN ACKパケットを受信すると、IPv6アドレス”6662”に対応する応答を判定部208に返す。判定部208は、正常な応答を通信部202から返されると、そのときの時刻を応答時刻(IPv4アドレス”4442”の場合は時刻t3、IPv6アドレス”6662”の場合は時刻t4)として記録する。その後、要求時刻と応答時刻を基に、IPv4アドレス”4442”宛ての接続の開始手順に要した時間(t3−t2)とIPv6アドレス”6662”宛ての接続の開始手順に要した時間(t4−t1)を求め比較し、より短い時間となっているIPv4アドレス”4441”とIPv4アドレス”4442”の組合せを選択する。選択されなかったIPv6アドレス”6662”からの応答に対応する接続を中止するために、接続中止を通信部202に要求する。通信部202は、接続中止を要求されると、IPv6アドレス”6662”宛てFINパケット、もしくは、RSTパケットを送信する。
以上の処理により、通信相手となる通信装置からの応答を待たずに複数の通信を開始し、接続の開始手順に要した時間が一番短くなる送信元アドレスと送信先アドレスの組合せを選択することにより、その時々のネットワーク状況に応じたより最適なネットワークを使用できるという効果が得られる。
本発明の通信識別子選択を行なう通信装置は、その時々に変化するネットワーク状況に応じて使用する通信識別子を選択できるという効果を有し、多量の資源を必要とせずに通信元の端末のみの実装で通信識別子選択を行なう通信装置として有用である。
本発明の一実施形態に係るネットワーク構成例を示すブロック図 本発明の一実施形態に係る通信装置の機能構成例を示すブロック図 本発明の一実施形態に係る状態管理部が行なう処理例のフローチャート 本発明の一実施形態に係る通信識別子テーブルの一例を示す図 本発明の一実施形態に係る通信識別子取得部が行なう処理例のフローチャート 本発明の一実施形態に係る通信識別子選択処理部が行なう処理例のフローチャート TCPで通信相手と接続する場合の通常の接続手順を示すシーケンス図 本発明の一実施形態に係る接続の開始手順の一例を示すシーケンス図 本発明の一実施形態に係る通信識別子選択処理部が行なう処理例のフローチャート 本発明の一実施形態に係る接続の開始手順の一例を示すシーケンス図 本発明の一実施形態に係るサービス対応テーブルの一例を示す図
符号の説明
101,102 通信装置
103,104 ネットワーク中継器
444 IPv4ネットワーク
666 IPv6ネットワーク
202 通信部
203 端末アプリケーション
204 通信識別子テーブル
205 状態管理部
206 通信識別子取得部
207 通信識別子選択処理部
208 判定部
209 通信識別子指定部
210 利用可能通信識別子データベース
211 サービス対応テーブル

Claims (9)

  1. 通信を開始する際に、前記通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとを決定すべきかどうかを判定し、前記通信を行なうためのアドレスが決定すべきであるときは、前記自装置が使用するアドレスと、前記通信先装置のアドレスとを決定するように制御すると共に、前記決定したアドレスを記憶する状態管理部と、
    前記状態管理部からの指示により、前記通信先装置のアドレスを1つ以上取得し、自装置が使用可能な1つ以上のアドレスと比較することによって、前記通信先装置と通信可能な1つ以上のアドレスの組を生成する通信識別子取得部と、
    前記通信可能なアドレスの組から通信に使用するアドレスの組を1つ決定する通信識別子選択処理部
    とで構成される、通信装置。
  2. 前記通信識別子取得部は、DNS(Domain Name System)サーバにアクセスすることによって、前記通信先装置のIPアドレスを取得する、請求項1記載の通信装置。
  3. 前記通信識別子選択処理部は、前記通信可能な1つ以上の前記通信先装置のアドレスを指定して、所定の手順の通信を行ない、前記所定の手順の通信結果に基づいて、前記通信に使用するアドレスの組を決定する、請求項1記載の通信装置。
  4. 前記所定の手順の通信は、TCP(Transmission Control Protocol)の接続開始手順である、請求項3記載の通信装置。
  5. 前記通信識別子選択処理部は、前記所定の手順の通信における応答を最初に受け取ったアドレスの組を、通信に使用するアドレスの組として決定する、請求項4記載の通信装置。
  6. 前記通信識別子選択処理部は、通信に使用するアドレスの組が決定したら、前記通信先装置に対して、選択されなかった前記アドレスの組に対応する前記所定の手順の通信を停止させる、請求項5記載の通信装置。
  7. 前記通信識別子選択処理部は、前記所定の手順の通信が完了するまでに要した時間が最も短い前記アドレスの組を選択し、前記選択したアドレスの組を通信に使用するアドレスの組として決定する、請求項6記載の通信装置。
  8. 通信を開始する際に、前記通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、
    前記通信を行なうためのアドレスが決定していないときは、前記通信先装置のアドレスを1つ以上取得するステップと、
    前記通信先装置のアドレスと、前記自装置が使用可能な1つ以上のアドレスとを比較することによって、前記通信先装置と通信可能な1つ以上のアドレスの組を生成するステップと、
    前記通信可能なアドレスの組から通信に使用するアドレスの組を1つ決定するステップ
    とで構成される、通信方法。
  9. 通信装置に、
    通信を開始する際に、前記通信を行なうために自装置が使用するアドレスと、通信先装置のアドレスとが決定しているかどうかを判定するステップと、
    前記通信を行なうためのアドレスが決定していないときは、前記通信先装置のアドレスを1つ以上取得するステップと、
    前記通信先装置のアドレスと、前記自装置が使用可能な1つ以上のアドレスとを比較することによって、前記通信先装置と通信可能な1つ以上のアドレスの組を生成するステップと、
    前記通信可能なアドレスの組から通信に使用するアドレスの組を1つ決定するステップ
    を実行させるための通信識別子選択プログラム。
JP2005146237A 2005-05-19 2005-05-19 通信装置、通信方法及び通信識別子選択プログラム Pending JP2006324946A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005146237A JP2006324946A (ja) 2005-05-19 2005-05-19 通信装置、通信方法及び通信識別子選択プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005146237A JP2006324946A (ja) 2005-05-19 2005-05-19 通信装置、通信方法及び通信識別子選択プログラム

Publications (1)

Publication Number Publication Date
JP2006324946A true JP2006324946A (ja) 2006-11-30

Family

ID=37544291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005146237A Pending JP2006324946A (ja) 2005-05-19 2005-05-19 通信装置、通信方法及び通信識別子選択プログラム

Country Status (1)

Country Link
JP (1) JP2006324946A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008312016A (ja) * 2007-06-15 2008-12-25 Ricoh Co Ltd 情報処理装置およびプログラム
WO2010131633A1 (en) * 2009-05-13 2010-11-18 Canon Kabushiki Kaisha Network communication apparatus, method and program
JP2012114564A (ja) * 2010-11-22 2012-06-14 Ricoh Co Ltd 通信装置
US11882119B2 (en) 2018-07-31 2024-01-23 Panasonic Intellectual Property Management Co., Ltd. Communication system, cryptographic key distribution method, management communication apparatus, and communication apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008312016A (ja) * 2007-06-15 2008-12-25 Ricoh Co Ltd 情報処理装置およびプログラム
WO2010131633A1 (en) * 2009-05-13 2010-11-18 Canon Kabushiki Kaisha Network communication apparatus, method and program
US8165042B2 (en) 2009-05-13 2012-04-24 Canon Kabushiki Kaisha Network communication apparatus, method and program
US8964602B2 (en) 2009-05-13 2015-02-24 Canon Kabushiki Kaisha Network communication apparatus, method and program
JP2012114564A (ja) * 2010-11-22 2012-06-14 Ricoh Co Ltd 通信装置
US11882119B2 (en) 2018-07-31 2024-01-23 Panasonic Intellectual Property Management Co., Ltd. Communication system, cryptographic key distribution method, management communication apparatus, and communication apparatus

Similar Documents

Publication Publication Date Title
US9294519B2 (en) File server device
US20120102205A1 (en) Relay device and communication system
JP4207078B2 (ja) 中継サーバ
JP4801198B2 (ja) Sipシグナリングサーバのためのアドレス翻訳装置内でのアドレスバインディングの完了時間を学習する方法
JP2009528741A (ja) 偽アドレスの割り当てによって、異なるip環境に接続されたノード間でデータを送信する方法およびシステム
US20140164543A1 (en) Communication System, Application Server and Communication Method for Server Cooperation
JP4685955B2 (ja) アドレス変換デバイスを通じたモバイル通信端末と信号サーバとの間の接続の最適化
JP4940335B2 (ja) 電話交換装置及び電話端末及び電話システムで使用される制御方法
JP2006324946A (ja) 通信装置、通信方法及び通信識別子選択プログラム
JP5207270B2 (ja) 複数のネットワーク間の通信システム
JP4911222B2 (ja) 通信システム、通信システムにおける通信方法、及び中継装置
JPWO2006003758A1 (ja) 通信システム及び転送制御方法並びにそれに用いる電話装置、通信装置及びプログラム
JP4387937B2 (ja) 電話システムおよび交換システム
KR20070086715A (ko) 네트워크 링크를 개방하는 요청 트리거
JP2005236670A (ja) セッション確立、セッション確立処理装置及びプログラム
JP3980562B2 (ja) Sip通信制御装置
JP2008520133A (ja) シグナリングプロキシの実施方法及び装置
JP4889620B2 (ja) 通信ネットワークにおけるipパケット中継方法およびゲートウェイ装置
JP2006287697A (ja) Ipセントレックスシステム
JP4515358B2 (ja) 通信制御装置および通信制御方法
JP2007208722A (ja) Dtm通信装置及び方法
US7243159B1 (en) On demand capability exchange
JP5114001B2 (ja) セッション確立方法、セッション中継システム、これに用いる制御装置及びルータ、プログラム
JP4555005B2 (ja) プロトコル変換サーバ
JP3664388B2 (ja) 双方向通信システムおよび方法