(57)【要約】【課題】通信の接続を切断することなく他のネットワークに迅速に切り替えられ、処理負荷を抑えることが可能な技術を提供する。【解決手段】端末３０からサーバ４０への通信においてルータ２０が利用する経由ＩＳＰを決定する経路決定部と、経由ＩＳＰが当初ＩＳＰと異なる場合に、ルータ２０に対して、端末３０からサーバ４０へ向かうパケットの送信元ＩＰアドレスを、経由ＩＳＰによりルータ２０に割り当てられたＩＰアドレスに書き換えること、および、書き換えがなされたパケットを経由ＩＳＰに送出することを指示するアドレス経路変更部と、経由ＩＳＰが当初ＩＳＰと異なる場合に、ルータ２１に対して、書き換えがなされたパケットの送信元ＩＰアドレスを、経由ＩＳＰによりルータ２０に割り当てられたＩＰアドレスから第１のＩＰアドレスに書き換えることを指示するアドレス変更部と、を備える制御装置１０が提供される。【選択図】図１
2014068258.tif 000002
【特許請求の範囲】
【請求項１】
第１の端末を収容し複数のＩＳＰに接続される第１のルータと第２の端末を収容する第２のルータとに対して指示を与える制御装置であって、
前記第１の端末および前記第２の端末がそれぞれ第１のＩＰアドレスおよび第２のＩＰアドレスを使用して、前記複数のＩＳＰのうち１のＩＳＰを介して通信を行っている場合に、前記複数のＩＳＰそれぞれを介した前記第１のルータと前記第２のルータとの間の各経路についての品質情報を取得する情報取得部と、
前記各経路についての品質情報に基づき、前記第１の端末から前記第２の端末への通信において前記第１のルータが利用する経由ＩＳＰを決定する経路決定部と、
前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第１のルータに対して、前記第１の端末から前記第２の端末へ向かうパケットを構成するヘッダに記載された送信元ＩＰアドレスを、前記第１のＩＰアドレスから前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスに書き換えること、および、前記書き換えがなされたパケットを前記経由ＩＳＰに送出することを指示するアドレス経路変更部と、
前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第２のルータに対して、前記書き換えがなされたパケットを構成するヘッダに記載された送信元ＩＰアドレスを、前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスから前記第１のＩＰアドレスに書き換えることを指示するアドレス変更部と、
を備えることを特徴とする、制御装置。
【請求項２】
前記情報取得部は、前記各経路についての品質情報として、前記第１のルータから前記第２のルータへの通信における遅延時間、到着間隔ゆらぎ、パケットロス率または前記第１のルータと前記第２のルータとの間の往復遅延時間の値を取得し、
前記経路決定部は、前記値が最小である経路に属するＩＳＰを前記経由ＩＳＰと決定する、
ことを特徴とする、請求項１に記載の制御装置。
【請求項３】
前記情報取得部は、前記各経路についての品質情報として、通信帯域の値を取得し、
前記経路決定部は、前記値が最大である経路に属するＩＳＰを前記経由ＩＳＰと決定する、
ことを特徴とする、請求項１に記載の制御装置。
【請求項４】
第１の端末を収容し複数のＩＳＰに接続される第１のルータと第２の端末を収容する第２のルータとに対して指示を与える制御装置であって、
前記第１の端末および前記第２の端末がそれぞれ第１のＩＰアドレスおよび第２のＩＰアドレスを使用して、前記複数のＩＳＰのうち１のＩＳＰを介して通信を行っている場合に、前記複数のＩＳＰそれぞれを介した前記第１のルータと前記第２のルータとの間の各経路についての品質情報を取得する情報取得部と、
前記各経路についての品質情報に基づき、前記第１の端末から前記第２の端末への通信において前記第１のルータが利用する経由ＩＳＰを決定する経路決定部と、
前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第２のルータに対して、前記第２の端末から前記第１の端末へ向かうパケットを構成するヘッダに記載された宛先ＩＰアドレスを、前記第１のＩＰアドレスから前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスに書き換えることを指示するアドレス経路変更部と、
前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第１のルータに対しては、前記書き換えがなされたパケットを構成するヘッダに記載された宛先ＩＰアドレスを、前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスから前記第１のＩＰアドレスに書き換えることを指示するアドレス変更部と、
を備えることを特徴とする、制御装置。
【請求項５】
前記情報取得部は、前記各経路についての品質情報として、前記第１のルータから前記第２のルータへの通信における遅延時間、到着間隔ゆらぎ、パケットロス率または前記第１のルータと前記第２のルータとの間の往復遅延時間の値を取得し、
前記経路決定部は、前記値が最小である経路に属するＩＳＰを前記経由ＩＳＰと決定する、
ことを特徴とする、請求項４に記載の制御装置。
【請求項６】
前記情報取得部は、前記各経路についての品質情報として、通信帯域の値を取得し、
前記経路決定部は、前記値が最大である経路に属するＩＳＰを前記経由ＩＳＰと決定する、
ことを特徴とする、請求項４に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、より詳細には、ネットワークを介して通信する２端末間の通信品質を向上させたり広帯域を獲得したりするためにルータを制御する制御装置に関するものである。
【背景技術】
【０００２】
ＯｐｅｎＦｌｏｗでは、通信の制御を、パケットを単位とするのではなく、アドレス情報の組み合わせにより定まるフローを単位とした方式を採用する。また、フローの転送を行うスイッチとそのスイッチに対して転送方法の指示をするコントローラは分離されており、すべてのスイッチは集中制御によるコントローラの指示に従い動作する。このコントローラからの指示を変更することにより各スイッチがフローを転送する動作を柔軟に変更可能となる。したがって、コントローラがスイッチに適時に指示を与えることによりスイッチの動作を変更し、障害のある経路を回避したり、ネットワークの負荷を分散させたりといったことを容易になしうる。
【０００３】
一方、アクセスネットワークにおいて複数のＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）と契約を行い、複数のネットワークを利用可能とするマルチホームという構成が存在する。複数のネットワークのうち、あるネットワークはバックアップ用として確保しておいたり、用途ごとに異なるネットワークを使い分けたり、また各ネットワークに負荷を分散させたりといった利用の仕方、使い分け方がある。
【０００４】
ここで、非特許文献２には、マルチホームが利用可能な環境下で通信接続を異なるＩＳＰに振り分け通信の負荷を分散させるためにＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｅｒ）を用いる方法が記載されている。非特許文献３に記載の技術は、あるルータ間で通信されるパケットをカプセル化して通信するために利用される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”、［ｏｎｌｉｎｅ］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ＞
【非特許文献２】“ＤＮＳ−ｂａｓｅｄ  Ｉｎｇｒｅｓｓ  Ｌｏａｄ  Ｂａｌａｎｃｉｎｇ：  Ａｎ  Ｅｘｐｅｒｉｍｅｎｔａｌ  Ｅｖａｌｕａｔｉｏｎ”、［ｏｎｌｉｎｅ］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ａｒｘｉｖ．ｏｒｇ／ｐｄｆ／１２０５．０８２０．ｐｄｆ＞
【非特許文献３】“Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ  （ＧＲＥ）”、［ｏｎｌｉｎｅ］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２７８４．ｔｘｔ＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワークの利用状態は常に一定ではなく、変化するものであるから、ある通信において利用可能な帯域や往復遅延時間は通信中に絶えず変化しており、パケット到着間隔にはゆらぎが存在する。ときには、そのサービスを継続するために必要な通信品質が得られないほど劣化することもある。
【０００７】
かかる場合、マルチホームが利用可能であれば、通信品質が劣化したとき、他のネットワークに切り換え、より高品質の通信を実現できる場合がある。
【０００８】
しかし、ネットワークを切り替えるときにその通信を一旦切断し、他のネットワークに再度接続することはサービスの利用を一時中断することとなり、またそのような切り替えは利用者にとっても煩わしく、好ましくない。よって、その通信の接続を維持したまま他のネットワークに切り換えられたほうが利用者の利便性と満足度は高いといえる。
【０００９】
非特許文献２の方法を用いれば、ＤＮＳの内容を書き換えることで、通信を他のネットワークに切り替えることが可能となるが、通信を一旦切断し、再度接続し直さなければならない。
【００１０】
また、マルチホームでは接続するＩＳＰによってネットワークアドレス（セグメント）が異なるから、非特許文献１の方法を用いてその通信の経路を変更するだけではその通信の到達性は保証されない。その通信は本来通過すべきではないＩＳＰを通過することになり、フィルタ等によりその通信がはじかれる恐れがあるからである。
【００１１】
さらに、非特許文献１の方法を用いれば、パケットのヘッダ情報を書き換えることも可能であるが、非特許文献１には、マルチホームの経路を変更するときにどの情報をどのスイッチにおいて書き換えるかの示唆はない。
【００１２】
一方、非特許文献３の方法を用いれば、ルータ間にトンネルを張った上で、通信をそのトンネルを張った方のネットワークを利用するように仕向ければ、通信を継続したまま経路を切り替えることも可能である。しかし、トンネルを構築するために時間を要し、またそれを維持するための処理がルータに負担となる。また、特定の通信に対してのみそのトンネルを張ったネットワークを利用することはできない。
【００１３】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、より高い通信品質を獲得するため、マルチホームが利用可能な状況下で、通信の接続を切断することなく他のネットワークに迅速に切り替えられ、処理負荷を抑えることが可能な技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記問題を解決するために、本発明のある観点によれば、第１の端末を収容し複数のＩＳＰに接続される第１のルータと第２の端末を収容する第２のルータとに対して指示を与える制御装置であって、前記第１の端末および前記第２の端末がそれぞれ第１のＩＰアドレスおよび第２のＩＰアドレスを使用して、前記複数のＩＳＰのうち１のＩＳＰを介して通信を行っている場合に、前記複数のＩＳＰそれぞれを介した前記第１のルータと前記第２のルータとの間の各経路についての品質情報を取得する情報取得部と、前記各経路についての品質情報に基づき、前記第１の端末から前記第２の端末への通信において前記第１のルータが利用する経由ＩＳＰを決定する経路決定部と、前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第１のルータに対して、前記第１の端末から前記第２の端末へ向かうパケットを構成するヘッダに記載された送信元ＩＰアドレスを、前記第１のＩＰアドレスから前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスに書き換えること、および、前記書き換えがなされたパケットを前記経由ＩＳＰに送出することを指示するアドレス経路変更部と、前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第２のルータに対して、前記書き換えがなされたパケットを構成するヘッダに記載された送信元ＩＰアドレスを、前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスから前記第１のＩＰアドレスに書き換えることを指示するアドレス変更部と、を備えることを特徴とする、制御装置が提供される。
【００１５】
前記情報取得部は、前記各経路についての品質情報として、前記第１のルータから前記第２のルータへの通信における遅延時間、到着間隔ゆらぎ、パケットロス率または前記第１のルータと前記第２のルータとの間の往復遅延時間の値を取得し、前記経路決定部は、前記値が最小である経路に属するＩＳＰを前記経由ＩＳＰと決定してもよい。
【００１６】
前記情報取得部は、前記各経路についての品質情報として、通信帯域の値を取得し、前記経路決定部は、前記値が最大である経路に属するＩＳＰを前記経由ＩＳＰと決定してもよい。
【００１７】
また、本発明のある観点によれば、第１の端末を収容し複数のＩＳＰに接続される第１のルータと第２の端末を収容する第２のルータとに対して指示を与える制御装置であって、前記第１の端末および前記第２の端末がそれぞれ第１のＩＰアドレスおよび第２のＩＰアドレスを使用して、前記複数のＩＳＰのうち１のＩＳＰを介して通信を行っている場合に、前記複数のＩＳＰそれぞれを介した前記第１のルータと前記第２のルータとの間の各経路についての品質情報を取得する情報取得部と、前記各経路についての品質情報に基づき、前記第１の端末から前記第２の端末への通信において前記第１のルータが利用する経由ＩＳＰを決定する経路決定部と、前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第２のルータに対して、前記第２の端末から前記第１の端末へ向かうパケットを構成するヘッダに記載された宛先ＩＰアドレスを、前記第１のＩＰアドレスから前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスに書き換えることを指示するアドレス経路変更部と、前記経由ＩＳＰが前記１のＩＳＰと異なる場合に、前記第１のルータに対しては、前記書き換えがなされたパケットを構成するヘッダに記載された宛先ＩＰアドレスを、前記経由ＩＳＰにより前記第１のルータに割り当てられたＩＰアドレスから前記第１のＩＰアドレスに書き換えることを指示するアドレス変更部と、を備えることを特徴とする、制御装置が提供される。
【００１８】
前記情報取得部は、前記各経路についての品質情報として、前記第１のルータから前記第２のルータへの通信における遅延時間、到着間隔ゆらぎ、パケットロス率または前記第１のルータと前記第２のルータとの間の往復遅延時間の値を取得し、前記経路決定部は、前記値が最小である経路に属するＩＳＰを前記経由ＩＳＰと決定してもよい。
【００１９】
前記情報取得部は、前記各経路についての品質情報として、通信帯域の値を取得し、前記経路決定部は、前記値が最大である経路に属するＩＳＰを前記経由ＩＳＰと決定してもよい。
【発明の効果】
【００２０】
以上説明したように本発明によれば、より高い通信品質を獲得するため、マルチホームが利用可能な状況下で、通信の接続を切断することなく他のネットワークに迅速に切り替えられ、処理負荷を抑えることが可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る通信システムの全体構成を示す全体構成図である。
【図２】本発明の第１の実施形態に係る制御装置の機能構成を示す機能構成図である。
【図３】本発明の実施形態に係る通信システムの動作を説明するときに想定するネットワーク構成を示す説明図である。
【図４】本発明の実施形態に係る通信システムの動作を説明するときに想定するネットワーク構成を示す説明図である。
【図５】本発明の実施形態に係るネットワークにおけるセグメントを示す図である。
【図６】本発明の実施形態に係る制御装置を構成する記憶部が記憶している情報を示す図である。
【図７】本発明の第１の実施形態に係る制御装置がルータに対して経路制御する動作を説明するフローチャートである。
【図８】本発明の実施形態に係るルータが制御装置に対して品質情報を送信する動作を説明するフローチャートである。
【図９】本発明の第２の実施形態に係る制御装置の機能構成を示す機能構成図である。
【図１０】本発明の第２の実施形態に係る制御装置がルータに対して経路制御する動作を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２３】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００２４】
［第１の実施形態］
以下では、本発明の第１の実施形態について、図面を参照しながら詳細に説明する。
【００２５】
［構成の説明］
図１は、この実施形態に係る通信システム１の全体構成を示す全体構成図である。図１において、この実施形態に係る通信システム１（サービス提供システム）は、制御装置１０、ルータ２０、ルータ２１、端末３０、サーバ４０、ネットワーク５０、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）５１−１〜５１−Ｎ（Ｎは２以上の整数）を少なくとも有して構成される。なお、端末３０は、第１の端末の一例に相当する。また、サーバ４０は、第２の端末の一例に相当する。
【００２６】
ネットワーク５０は、いわゆるインターネットである。ＩＳＰ５１−ｎ（１ ≦ｎ≦Ｎ）は、ルータ２０がネットワーク５０に接続するためのアクセス回線としてのネットワークである。ＩＳＰ５１−ｎはいずれもネットワーク５０およびルータ２０に接続し、ルータ２０はＩＳＰ５１−１〜５１−Ｎのいずれかを経由してネットワーク５０およびルータ２１に到達する。
【００２７】
ルータ２０は、ＩＳＰ５１−ｎに接続することによりマルチホームを構成する。ここでは、端末３０の属するルータがマルチホームを構成しているが、サーバ４０の属するルータ２１においてマルチホームを構成していても構わない。この場合、以下で述べるルータ２０をルータ２１と適宜読み替える必要がある。
【００２８】
ルータ２０は、端末３０とサーバ４０が通信を行う際に、ＩＳＰ５１−１〜５１−ＮのうちどのＩＳＰ５１−ｎを利用しているかを特定する「使用ＩＳＰ情報」を制御装置１０に送信している。
【００２９】
制御装置１０に対して使用ＩＳＰ情報が送信される間隔は定期的に送られるのでもよい。また、ルータ２０とルータ２１の少なくとも一方は、「ルータ２０→ＩＳＰ５１−ｎ（ＩＳＰ５１−１〜５１−Ｎのうちいずれか）→ネットワーク５０→ルータ２１へ至る通信」または「その逆方向の通信」から得られる通信の「品質情報」を各ＩＳＰ５１−ｎごとに取得して、制御装置１０に送信している。品質情報を取得する間隔および制御装置１０に対して品質情報を送信する間隔は定期的になされるものでもよい。
【００３０】
ここで、「品質情報」とは具体的には、ルータ２０とルータ２１の間の往復遅延時間（単位：秒）や、ルータ２０からルータ２１またはルータ２０からルータ２１に至るまでに要する通信遅延時間（単位：秒）のほか、ルータ２０とルータ２１との間の通信帯域（単位：ｂｐｓ）、到着間隔ゆらぎ（単位：秒）またはパケットロス率などの情報である。
【００３１】
品質情報は、端末３０とサーバ４０との間の通信に限らず、端末３０のようにルータ２０に属する他の端末（図示せず）とサーバ４０のようにルータ２１に接続する他のサーバ（図示せず）との間で行われた通信、すなわちルータ２０とルータ２１を経由するすべての通信から得られる。また、品質情報はルータ２０および２１がそれぞれルータ２１および２０に対して送信したパケットにより計測する方法によっても得られる。
【００３２】
制御装置１０はここではネットワーク５０に接続しているが、他のネットワークすなわち端末３０またはサーバ４０の属するネットワークに属していてもよい。
【００３３】
図２は、本発明の第１の実施形態に係る制御装置１０Ａの機能構成を示す。情報取得部１０１は、ルータ２０から使用ＩＳＰ情報、およびルータ２０またはルータ２１から品質情報を取得する。そして情報取得部１０１は使用ＩＳＰ情報および品質情報を経路決定部１０２へ渡す。またルータ２０から使用ＩＳＰ情報が届けられたとき、これがルータ２０から初めて届けられものである場合は、このＩＳＰ５１−ｎを「当初ＩＳＰ」として記憶部１０５に登録する。
【００３４】
経路決定部１０２は、品質情報に基づき端末３０とサーバ４０との通信においていずれのＩＳＰ５１−ｎを利用すべきか決定する。例えば、ルータ２０とルータ２１との間の往復遅延時間を品質情報として使用する場合について述べる。経路決定部１０２は、情報取得部１０１からＩＳＰ５１−１〜５１−Ｎすべてについて往復遅延時間を取得する。そして、このうち最小の往復遅延時間が得られたＩＳＰ５１−ｎを端末３０とサーバ４０との通信に用いることを決定する。以後、経路決定部１０２で決定されたＩＳＰ５１−ｎを「経由ＩＳＰ５１−ｋ」という。
【００３５】
品質情報として、ルータ２０からルータ２１方向の片方向の遅延時間、到着間隔ゆらぎまたはパケットロス率を用いた場合はその値が最小となるＩＳＰ５１−ｎを端末３０とサーバ４０との通信に利用する経由ＩＳＰ５１−ｋと決定することができる。
【００３６】
また、品質情報として、ルータ２０からルータ２１方向の通信帯域を用いた場合はその値が最大のＩＳＰ５１−ｎを端末３０とサーバ４０との通信に利用する経由ＩＳＰ５１−ｋと決定することができる。
【００３７】
経路決定部１０２は、ここで決定した経由ＩＳＰ５１−ｋと使用ＩＳＰ情報に示されたＩＳＰ５１−ｎとが異なる場合、決定した経由ＩＳＰ５１−ｋをアドレス経路変更部１０３Ａおよびアドレス変更部１０４Ａへ通知する。経路決定部１０２は、経由ＩＳＰ５１−ｋと使用ＩＳＰ情報に示されたＩＳＰ５１−ｎとが同じ場合は何もしない。
【００３８】
アドレス経路変更部１０３Ａは、経路決定部１０２から経由ＩＳＰ５１−ｋの情報が通知されると、記憶部１０５から端末３０およびサーバ４０のＩＰアドレスならびに経由ＩＳＰ５１−ｋを利用する際にルータ２０が使用するＩＰアドレスを取得する。ここでは、便宜上、これら３つのＩＰアドレスを順に、ＩＰ３０、ＩＰ４０、ＩＰｋとする。また、記憶部１０５から当初ＩＳＰを取得する。
【００３９】
なお、端末３０のＩＰアドレスは、ＩＳＰ５１−ｎにより割り当てられたグローバルＩＰアドレスであって、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）またはＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）等によりルータ２０によって当該グローバルＩＰアドレスから変換されるプライベートＩＰアドレスではない。また、サーバ４０のＩＰアドレスもグローバルＩＰアドレスである。
【００４０】
経由ＩＳＰ５１−ｋと当初ＩＳＰが異なるとき、アドレス経路変更部１０３Ａはルータ２０が次の２つの処理をするように指示する。
・送信元ＩＰアドレス＝ＩＰ３０かつ宛先ＩＰアドレス＝ＩＰ４０として当初ＩＳＰに対して送出していたパケットに対して送信元ＩＰアドレスをＩＰ３０からＩＰｋに書き換える。
・書き換えたパケットを経由ＩＳＰ５１−ｋに対して送出する。
【００４１】
この一連の処理は、送信元ＩＰアドレス＝ＩＰ３０かつ宛先ＩＰアドレス＝ＩＰ４０として当初ＩＳＰに対して送出していたパケットすべてに対して実施してもよいし、ある割合で実施することもできる。ただし、２つの処理のうちいずれかのみを１つのパケットに対して行うことはできない。
【００４２】
なお、送信元ＩＰアドレスを書き換えるのは経由ＩＳＰ５１−ｋからルータ２１までの経路途中でフィルタ等が実施されてそのパケットがルータ２１に到達しなくなってしまう事態を回避するためである。また、送信元ＩＰアドレスおよび宛先ＩＰアドレスそれぞれを記載するためのフィールドは、例えば、パケットを構成するヘッダに設けられている。
【００４３】
一方、経由ＩＳＰ５１−ｋと当初ＩＳＰが同じとき、アドレス経路変更部１０３Ａはルータ２０が次の動作をするように指示する。
・送信元ＩＰアドレス＝ＩＰ３０かつ宛先ＩＰアドレス＝ＩＰ４０として当初ＩＳＰに対して送出していたパケットを送信元ＩＰアドレス＝ＩＰ３０かつ宛先ＩＰアドレス＝ＩＰ４０のまま当初ＩＳＰに対して送出する。
【００４４】
すなわち、ルータ２０の動作を端末３０とサーバ４０との間の通信の初期状態に戻すのである。
【００４５】
アドレス変更部１０４Ａは、経路決定部１０２から経由ＩＳＰ５１−ｋの情報が通知されると、記憶部１０５から端末３０およびサーバ４０のＩＰアドレス、経由ＩＳＰ５１−ｋを利用する際にルータ２０が使用するＩＰアドレスならびに当初ＩＳＰを取得する。
【００４６】
経由ＩＳＰ５１−ｋと当初ＩＳＰが異なるとき、アドレス経路変更部１０３Ａはルータ２１が次の動作をするように指示する。
・送信元ＩＰアドレス＝ＩＰｋかつ宛先ＩＰアドレス＝ＩＰ４０のパケットに対して送信元ＩＰアドレスをＩＰｋからＩＰ３０に書き換える。
【００４７】
経由ＩＳＰ５１−ｋと当初ＩＳＰが同じとき、アドレス経路変更部１０３Ａはルータ２１が上記の書き換えを止める指示する。つまり、ルータ２１の動作を端末３０とサーバ４０との間の通信の初期状態に戻すのである。
【００４８】
記憶部１０５には、あらかじめ、端末３０およびサーバ４０のＩＰアドレスが登録されている。また、ルータ２０がＩＳＰ５１−１〜５１−Ｎにより割り当てられたＩＰアドレス（制御装置１０Ａからの指示によってＩＳＰ５１−１〜５１−Ｎを利用する際に使用するＩＰアドレス）がそれぞれ登録されている。また、当初ＩＳＰが記録されている。記憶部１０５に記憶される情報は例えば図６に示すようなものである。
【００４９】
［動作の説明］
次に、この実施形態のネットワーク５０における制御装置１０Ａの動作を、図面を参照しながら詳細に説明する。ここで、制御装置１０Ａの制御処理の動作を説明するに当たり、図３に例示するネットワーク構成を想定して説明する。図１のネットワーク構成においては、ＩＳＰ５１−１〜５１−Ｎが存在し、図３のネットワーク構成では、説明の便宜のため、ＩＳＰ５１−１〜５１−３が存在する。その他の点に関しては、図３のネットワーク構成は、図１のネットワーク構成と特に変わるところはない。
【００５０】
図３では、ルータ２０はＩＳＰ５１−１〜５１−３に接続している。また、ネットワーク５０もＩＳＰ５１−１〜５１−３に接続し、それぞれリンクＲ１〜Ｒ３によって接続している。各リンクＲ１〜Ｒ３に対応して記載された数字は伝送時間を示している。単位は「ｍｓ」であるとする。本動作例では、説明の便宜のため、これ以外の伝送による遅延は無視できるものとする。よって、端末３０からサーバ４０までの遅延時間は、ＩＳＰ５１−１、５１−２、５１−３を利用したときで、それぞれ２０ｍｓ、１０ｍｓ、３０ｍｓとなる。
【００５１】
ルータ２０がＩＰＳ５１−１〜５１−３と接続しているセグメントおよびルータ２１がネットワーク５０と接続しているセグメントは図５に示すとおりである。端末３０はＩＳＰ５１−１を経由して、サーバ４０と通信を開始したとする。このとき、端末３０およびサーバ４０が使用するＩＰアドレスは、それぞれ１０．１７３．１．１および１０．１７３．０．１であったとする。
【００５２】
ここから制御装置１０Ａが動作することにより経路が切り替わる動作を示す。まず、制御装置１０Ａには「品質情報」および「使用ＩＳＰ情報」が送られる。使用ＩＳＰ情報はルータ２０が制御装置１０Ａに対して送信する。本例では、ルータ２０は、端末３０とサーバ４０との通信においてＩＳＰ５１−１が利用している旨を使用ＩＳＰ情報として制御装置１０Ａに通知する。品質情報は、ルータ２０と２１の少なくとも一方が制御装置１０Ａに送信する。
【００５３】
ルータ２０または２１の動作を示すフローチャートを図８に示す。ルータ２０または２１は、ＩＳＰ５１−１〜５１−Ｎそれぞれについて品質情報を取得する（ステップＳ２０１）。また、ルータ２０は使用ＩＳＰ情報として、端末３０とサーバ４０が通信しているＩＳＰ５１−ｎがどのＩＳＰであるかを取得する。
【００５４】
ルータ２０は品質情報と使用ＩＳＰ情報を制御装置１０Ａに送信する（ステップＳ２０２）。本例で具体的に示すと次のとおりである。本例ではルータ２０のみが制御装置１０Ａに対して品質情報を送信するものとする。また、品質情報としては、ルータ２０とルータ２１との間の往復遅延時間を使用する。これをＩＳＰ５１−１〜５１−３それぞれについてルータ２０が自ら計測する。ルータ２０が品質情報を取得して、制御装置１０Ａに品質情報を送信する動作に関してフローチャートを用いて説明すると次のようになる。
【００５５】
ルータ２０は往復遅延時間を計測し、ＩＳＰ５１−１、５１−２、５１−３についてそれぞれ４０ｍｓ、２０ｍｓ、６０ｍｓの値を取得する（ステップＳ２０１）。端末３０はＩＳＰ５１−１を利用してサーバ４０と通信しているので、ルータ２０は使用ＩＳＰ情報としてＩＳＰ５１−１を取得する。ルータ２０は、使用ＩＳＰ情報５１−１と、品質情報として上記３つの往復遅延時間を制御装置１０Ａに対して送信する（ステップＳ２０２）。
【００５６】
これを受けて制御装置１０Ａは図７のフローチャートの動作を開始する。ここで、記憶部１０５には、あらかじめ、端末３０およびサーバ４０のＩＰアドレスが登録されている。また、ルータ２０が制御装置１０Ａからの指示によってＩＳＰ５１−１〜５１−Ｎを利用する際に使用するＩＳＰ５１−１〜５１−Ｎのセグメントに属するＩＰアドレスがそれぞれ登録されている。また、当初ＩＳＰが記録されている。
【００５７】
情報取得部１０１において、ルータ２０から使用ＩＳＰ情報およびルータ２０または２１から品質情報を取得する（ステップＳ１０１）。使用ＩＳＰ情報がルータ２０から通知されたのが初めてであれば、これを「当初ＩＳＰ」として記憶部１０５に登録する（ステップＳ１０２）。経路決定部１０２において、各ＩＳＰについての品質情報に基づき端末３０とサーバ４０との通信において利用する経由ＩＳＰ５１−ｋを決定する（ステップＳ１０３）。
【００５８】
経路決定部１０２は、ステップＳ１０３で決定した経由ＩＳＰ５１−ｋと使用ＩＳＰ情報に示されたＩＳＰ５１−ｎが同じならば終了するが、異なれば、経由ＩＳＰ５１−ｋをアドレス経路変更部１０３Ａおよびアドレス変更部１０４Ａに通知し、ステップＳ１０５へ進む（ステップＳ１０４）。経路決定部１０２は、記憶部１０５に記録された当初ＩＳＰを参照し、これがＳ１０３で決定した経由ＩＳＰ５１−ｋと異なれば、ステップＳ１０６へ進む。同じならばステップＳ１０８へ進む（ステップＳ１０５）。
【００５９】
アドレス経路変更部１０３Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。これら３つのＩＰアドレスを順に、ＩＰ３０、ＩＰ４０、ＩＰｋとする。そして、アドレス経路変更部１０３Ａは、ルータ２０に対して「送信元ＩＰアドレス＝ＩＰ３０かつ宛先ＩＰアドレス＝ＩＰ４０として当初ＩＳＰに対して送出していたパケットに対して送信元ＩＰアドレスをＩＰ３０からＩＰｋと書き換えること」および「書き換えたパケットを経由ＩＳＰ５１−ｋに対して送出すること」を指示する（ステップＳ１０６）。
【００６０】
アドレス変更部１０４Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ａは、ルータ２１に対して、送信元ＩＰアドレス＝ＩＰｋかつ宛先ＩＰアドレス＝ＩＰ４０のパケットに対して送信元ＩＰアドレスをＩＰｋからＩＰ３０に書き換えることを指示する（ステップＳ１０７）。
【００６１】
アドレス経路変更部１０３Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびに当初ＩＳＰを取得する。そして、アドレス経路変更部１０３Ａは、ルータ２０に対して送信元ＩＰアドレス＝ＩＰ３０かつ宛先ＩＰアドレス＝ＩＰ４０として当初ＩＳＰに対して送出していたパケットを当初ＩＳＰに対して送出することを指示する（ステップＳ１０８）。
【００６２】
アドレス変更部１０４Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ａは、ルータ２１に対して、送信元ＩＰアドレス＝ＩＰｋかつ宛先ＩＰアドレス＝ＩＰ４０のパケットに対する書き換え指示を削除する（ステップＳ１０９）。
【００６３】
これを図３について見てみると次のようになる。初期状態では、制御装置１０Ａの構成要素である記憶部１０５には図６に示す情報が予め記憶されている。ただし、当初ＩＳＰの欄は空白である。情報取得部１０１において、ルータ２０から使用ＩＳＰ情報としてＩＰＳ５１−１を取得する。また、情報取得部１０１は、ルータ２０から各ＩＳＰの品質情報として、ＩＰＳ５１−１、５１−２および５１−３の往復遅延時間を取得する（ステップＳ１０１）。本例ではそれぞれ４０ｍｓ、２０ｍｓおよび６０ｍｓである。
【００６４】
情報取得部１０１は、使用ＩＳＰ情報がルータ２０から初めて通知されたものであるから、これを当初ＩＳＰとして記憶部１０５に登録する（ステップＳ１０２）。経路決定部１０２において、各ＩＳＰ５１−ｎの往復遅延時間のうちＩＳＰ５１−２が最小であるから、端末３０とサーバ４０との通信においてＩＳＰ５１−２を利用することを決定する（ステップＳ１０３）。
【００６５】
情報取得部１０１は、ステップＳ１０３で決定したＩＳＰ５１−２と使用ＩＳＰ情報に示されたＩＳＰ５１−１とは異なるから、ＩＳＰ５１−２をアドレス経路変更部１０３Ａおよびアドレス変更部１０４Ａに通知し、ステップＳ１０５へ進む（ステップＳ１０４）。経路決定部１０２は、記憶部１０５に記録された当初ＩＳＰ＝５１−１を参照し、これがＩＳＰ５１−２と異なるから、ステップＳ１０６へ進む（ステップＳ１０５）。
【００６６】
アドレス経路変更部１０３Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０がＩＳＰ５１−２を利用する際に使用するＩＰアドレスを取得する。図６を参照するとそれぞれ、「１０．１７３．１．１」、「１０．１７３．０．１」、「１０．１７３．２．２５４」である。アドレス経路変更部１０３Ａは、ルータ２０に対して「送信元ＩＰアドレス＝１０．１７３．１．１かつ宛先ＩＰアドレス＝１０．１７３．０．１として当初ＩＳＰに対して送出していたパケットに対して送信元ＩＰアドレスを１０．１７３．１．１から１０．１７３．２．２５４と書き換えること」および「書き換えたパケットをＩＳＰ５１−２に対して送出すること」を指示する（ステップＳ１０６）。
【００６７】
アドレス変更部１０４Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０がＩＳＰ５１−２を利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ａは、ルータ２１に対して、「送信元ＩＰアドレス＝１０．１７３．２．２５４かつ宛先ＩＰアドレス＝１０．１７３．０．１のパケットに対して送信元ＩＰアドレスを１０．１７３．２．２５４から１０．１７３．１．１に書き換えること」を指示する（ステップＳ１０７）。
【００６８】
これにより、端末３０からサーバ４０への通信は接続が切断、中断されることなくＩＳＰ５１−１からＩＳＰ５１−２へと経路が切り替わる。また、ＩＳＰ５１−１、ＩＳＰ５１−２およびＩＳＰ５１−２の往復遅延時間はそれぞれ４０ｍｓ、２０ｍｓおよび６０ｍｓであるから、この経路切替によって最小の往復遅延時間で通信が可能となり、通信品質が向上する。
【００６９】
その後、ネットワークの状態が変化し、図４に示すように、リンクＲ１、Ｒ２およびＲ３の伝送時間がそれぞれ１０ｍｓ、２０ｍｓおよび３０ｍｓとなったとする。すると、ルータ２０では次のような動作が起こる。
【００７０】
ルータ２０は、往復遅延時間としてＩＳＰ５１−１、５１−２および５１−３についてそれぞれ２０ｍｓ、４０ｍｓおよび６０ｍｓの値を取得する（ステップＳ２０１）。前述の制御装置１０Ａからの指示により、端末３０は、ＩＳＰ５１−２を利用してサーバ４０と通信しているので、ＩＳＰ５１−２が使用ＩＳＰ情報である。
【００７１】
ルータ２０は、使用ＩＳＰ情報ＩＳＰ５１−２と、品質情報として上記３つの往復遅延時間を制御装置１０Ａに対して送信する（ステップＳ２０２）。そして、制御装置１０Ａでは次の動作を実施する。情報取得部１０１において、ルータ２０から品質情報としてＩＰＳ５１−１、５１−２および５１−３の往復遅延時間２０ｍｓ、４０ｍｓおよび６０ｍｓならびに使用ＩＳＰ情報５１−２を取得する（ステップＳ１０１）。
【００７２】
経路決定部１０２は、使用ＩＳＰ情報がルータ２０から通知されたのはこれが初めてではないから、ここではなにもしない（ステップＳ１０２）。経路決定部１０２において、各ＩＳＰについての品質情報に基づき、往復遅延時間はＩＳＰ５１−１の２０ｍｓが最小であるから、端末３０とサーバ４０との通信においてＩＳＰ５１−１を利用することを決定する（ステップＳ１０３）。
【００７３】
経路決定部１０２は、ステップＳ１０３で決定したＩＳＰ５１−１と使用ＩＳＰ情報に示されたＩＳＰ５１−２は異なるから、ＩＳＰ５１−１をアドレス経路変更部１０３Ａおよびアドレス変更部１０４Ａに通知し、ステップＳ１０５へ進む（ステップＳ１０４）。経路決定部１０２は、記憶部１０５に記録された当初ＩＳＰ＝５１−１を参照し、これがステップＳ１０３で決定したＩＳＰ５１−１と同じであるから、ステップＳ１０８へ進む（ステップＳ１０５）。
【００７４】
アドレス経路変更部１０３Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびに当初ＩＳＰ＝５１−１を取得する。そして、アドレス経路変更部１０３Ａは、ルータ２０に対して送信元ＩＰアドレス＝１０．１７３．１．１かつ宛先ＩＰアドレス＝１０．１７３．０．１として当初ＩＳＰに対して送出していたパケットを送信元ＩＰアドレス＝１０．１７３．１．１かつ宛先ＩＰアドレス＝１０．１７３．０．１のまま当初ＩＳＰ＝ＩＳＰ５１−１に対して送出することを指示する（ステップＳ１０８）。
【００７５】
アドレス変更部１０４Ａにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ａは、ルータ２１に対して、送信元ＩＰアドレス＝１０．１７３．２．２５４かつ宛先ＩＰアドレス＝１０．１７３．０．１のパケットに対する書き換え指示を削除する（ステップＳ１０９）。
【００７６】
これにより、端末３０からサーバ４０への通信は、初期状態であるＩＳＰ５１−１を利用する状態に戻る。この際も、接続を切断、中断することなく経路を切り替えられる。また、ＩＳＰ５１−１、ＩＳＰ５１−２およびＩＳＰ５１−２の往復遅延時間はそれぞれ２０ｍｓ、４０ｍｓおよび６０ｍｓであるから、この経路切替によって最小の往復遅延時間で通信が可能となり、通信品質が向上する。
【００７７】
［効果の説明］
以上のように、この実施形態によれば、往復遅延時間の短い経路に、接続を切断、中断することなく切り替え、通信品質を向上させている。非特許文献２に記載された方法では、ＤＮＳの内容を書き換えることで、通信を他のＩＳＰに切り替えることが可能となるが、通信を一旦切断し、再度接続し直さなければならない。
【００７８】
また、非特許文献１に記載された方法により経路を変更し経由するＩＳＰを変えたのではその通信は本来経由すべきでないＩＳＰを通過するのであるから、通信の到達性が保証されない。
【００７９】
一方、非特許文献３の方法を用いれば、ルータ間で他のネットワークを用いた通信を行うように新たにそのルータ間にトンネルを張り、通信を継続したまま経路を切り替えることも可能である。しかし、パケットをカプセル化して通信するための、トンネルを形成するために時間を要し、それを維持するための処理がルータに負担となる。また、特定の通信に対してのみ、すなわち端末３０とサーバ４０との間の通信に対してのみそのトンネルを張ったネットワークを利用させることはできない。
【００８０】
しかし、本実施形態によればパケットのヘッダ情報を書き換えることで通信の到達性を担保し、さらに通信を切断することなく異なるＩＳＰを利用し経路を切り替えられる。また、ルータ２０および２１でヘッダ情報を書き換えるだけなので、ルータの処理負荷は小さい。また、特定の通信、本例では端末３０とサーバ４０との通信のみに対して、経路を切り替えることができる。
【００８１】
［第２の実施形態］
次に、本発明の第２の実施形態について、図面を参照しながら詳細に説明する。
【００８２】
［構成の説明］
第２の実施形態は、制御装置１０Ｂのアドレス経路変更部１０３Ｂおよびアドレス変更部１０４Ｂが、第１の実施形態の制御装置１０Ａのアドレス経路変更部１０３Ａおよびアドレス変更部１０４Ａと異なり、それ以外の構成要素は第１の実施形態に対応するものである。したがって、第２の実施形態においても、図１、図３、図４、図８、図５及び図６を用いることとする。また、以下では、第２の実施形態の制御装置１０Ｂの制御処理を中心に詳細に説明するものとし、第１の実施形態で既に説明した構成要素の詳細な説明は省略する。
【００８３】
ルータ２０は、ＩＳＰ５１−ｎに接続することによりマルチホームを構成する。ルータ２０は、端末３０とサーバ４０が通信を行う際に、ＩＳＰ５１−１〜５１−ＮのうちどのＩＳＰ５１−ｎを利用しているかを特定する「使用ＩＳＰ情報」を制御装置１０Ｂに送信している。制御装置１０Ｂに対して使用ＩＳＰ情報が送信される間隔は定期的に送られるのでもよい。
【００８４】
また、ルータ２０とルータ２１の少なくとも一方は、「ルータ２０→ＩＳＰ５１−ｎ（ＩＳＰ５１−１〜５１−Ｎのうちいずれか）→ネットワーク５０→ルータ２１へ至る通信」または「その逆方向の通信」から得られる通信の「品質情報」を各ＩＳＰ５１−ｎごとに取得して、制御装置１０Ｂに送信している。制御装置１０Ｂに対して品質情報が送信される間隔は定期的に送られるのでもよい。
【００８５】
図９は、本発明の第２の実施形態に係る制御装置１０Ｂの機能構成を示す。情報取得部１０１は、ルータ２０から使用ＩＳＰ情報、およびルータ２０またはルータ２１から品質情報を取得する。そして情報取得部１０１は使用ＩＳＰ情報および品質情報を経路決定部１０２へ渡す。またルータ２０から使用ＩＳＰ情報が届けられたとき、これがルータ２０から初めて届けられものである場合は、このＩＳＰ５１−ｎを「当初ＩＳＰ」として記憶部１０５に登録する。
【００８６】
経路決定部１０２は、品質情報に基づき端末３０とサーバ４０との通信においていずれのＩＳＰ５１−ｎを利用すべきか決定する。経路決定部１０２で決定されたＩＳＰ５１−ｎを経由ＩＳＰ５１−ｋという。経路決定部１０２は、決定した経由ＩＳＰ５１−ｋと使用ＩＳＰ情報に示されたＩＳＰ５１−ｎとが異なる場合、決定した経由ＩＳＰ５１−ｋをアドレス経路変更部１０３Ｂおよびアドレス変更部１０４Ｂへ通知する。経路決定部１０２は、経由ＩＳＰ５１−ｋと使用ＩＳＰ情報に示されたＩＳＰ５１−ｎとが同じ場合は何もしない。
【００８７】
アドレス経路変更部１０３Ｂは、経路決定部１０２から経由ＩＳＰ５１−ｋの情報が通知されると、記憶部１０５から端末３０およびサーバ４０のＩＰアドレスならびに経由ＩＳＰ５１−ｋを利用する際にルータ２０が使用するＩＰアドレスを取得する。ここでは、便宜上、これら３つのＩＰアドレスを順に、ＩＰ３０、ＩＰ４０、ＩＰｋとする。また、記憶部１０５から当初ＩＳＰを取得する。経由ＩＳＰ５１−ｋと当初ＩＳＰが異なるとき、アドレス経路変更部１０３Ｂはルータ２１が次の２つの処理をするように指示する。
・送信元ＩＰアドレス＝ＩＰ４０かつ宛先ＩＰアドレス＝ＩＰ３０として送出していたパケットに対して宛先ＩＰアドレスをＩＰ３０からＩＰｋに書き換える。
・一方、経由ＩＳＰ５１−ｋと当初ＩＳＰが同じとき、アドレス経路変更部１０３Ｂはルータ２１が上記の書き換えを止める指示する。
【００８８】
すなわち、ルータ２１の動作を端末３０とサーバ４０との間の通信の初期状態に戻すのである。
【００８９】
アドレス変更部１０４Ｂは、経路決定部１０２から経由ＩＳＰ５１−ｋの情報が通知されると、記憶部１０５から端末３０およびサーバ４０のＩＰアドレス、経由ＩＳＰ５１−ｋを利用する際にルータ２０が使用するＩＰアドレスならびに当初ＩＳＰを取得する。経由ＩＳＰ５１−ｋと当初ＩＳＰが異なるとき、アドレス経路変更部１０３Ｂはルータ２０が次の動作をするように指示する。
【００９０】
・送信元ＩＰアドレス＝ＩＰ４０かつ宛先ＩＰアドレス＝ＩＰｋのパケットに対して宛先ＩＰアドレスをＩＰｋからＩＰ３０に書き換える。
・経由ＩＳＰ５１−ｋと当初ＩＳＰが同じとき、アドレス経路変更部１０３Ｂはルータ２０が上記の書き換えを止める指示する。
【００９１】
つまり、ルータ２０の動作を端末３０とサーバ４０との間の通信の初期状態に戻すのである。記憶部１０５には、あらかじめ、制御装置１０Ｂによって経路制御を受ける端末３０およびサーバ４０の通信で、これらが使用するＩＰアドレスが登録されている。また、ルータ２０がＩＳＰ５１−１〜５１−Ｎにより割り当てられたＩＰアドレス（制御装置１０Ｂからの指示によってＩＳＰ５１−１〜５１−Ｎを利用する際に使用するＩＰアドレス）がそれぞれ登録されている。また、当初ＩＳＰが記録されている。記憶部１０５に記憶される情報は例えば図６に示すようなものである。
【００９２】
次に、この実施形態のネットワーク５０における制御装置１０Ｂの動作を、図面を参照しながら詳細に説明する。ここで、制御装置１０Ｂの制御処理の動作を説明するに当たり、図３に例示するネットワーク構成を想定して説明する。図１のネットワーク構成と特に変わるところはない。
【００９３】
図３では、ルータ２０はＩＳＰ５１−１〜５１−３に接続している。また、ネットワーク５０もＩＳＰ５１−１〜５１−３に接続し、それぞれリンクＲ１〜Ｒ３によって接続している。各リンクＲ１〜Ｒ３に対応して記載された数字は伝送時間を示している。単位は「ｍｓ」であるとする。本動作例では、説明の便宜のため、これ以外の伝送による遅延は無視できるものとする。よって、端末３０からサーバ４０までの遅延時間は、ＩＳＰ５１−１、５１−２、５１−３を利用したときで、それぞれ２０ｍｓ、１０ｍｓ、３０ｍｓとなる。
【００９４】
ルータ２０がＩＰＳ５１−１〜５１−３と接続しているセグメントおよびルータ２１がネットワーク５０と接続しているセグメントは図５に示すとおりである。端末３０はＩＳＰ５１−１を経由して、サーバ４０と通信を開始したとする。このとき、端末３０およびサーバ４０が使用するＩＰアドレスは、それぞれ１０．１７３．１．１および１０．１７３．０．１であったとする。
【００９５】
ここから制御装置１０Ｂが動作することにより経路が切り替わる動作を示す。まず、制御装置１０Ｂには「品質情報」および「使用ＩＳＰ情報」が送られる。使用ＩＳＰ情報はルータ２０が制御装置１０Ｂに対して送信する。本例では、ルータ２０は、端末３０とサーバ４０との通信においてＩＳＰ５１−１が利用している旨を使用ＩＳＰ情報として制御装置１０Ｂに通知する。品質情報は、ルータ２０と２１の少なくとも一方が制御装置１０Ｂに送信する。
【００９６】
ルータ２０または２１の動作を示すフローチャートを図８に示す。本例で具体的に示すと次のとおりである。本例ではルータ２０のみが制御装置１０Ｂに対して品質情報を送信するものとする。また、品質情報としては、ルータ２０とルータ２１との間の往復遅延時間を使用する。これをＩＳＰ５１−１〜５１−３それぞれについてルータ２０が自ら計測する。ルータ２０が品質情報を取得して、制御装置１０Ｂに品質情報を送信する動作に関してフローチャートを用いて説明すると次のようになる。
【００９７】
ルータ２０は往復遅延時間を計測し、ＩＳＰ５１−１、５１−２、５１−３についてそれぞれ４０ｍｓ、２０ｍｓ、６０ｍｓの値を取得する（ステップＳ２０１）。端末３０はＩＳＰ５１−１を利用してサーバ４０と通信しているので、ルータ２０は使用ＩＳＰ情報としてＩＳＰ５１−１を取得する。ルータ２０は、使用ＩＳＰ情報５１−１と、品質情報として上記３つの往復遅延時間を制御装置１０Ｂに対して送信する（ステップＳ２０２）。
【００９８】
これを受けて制御装置１０Ｂは図１０のフローチャートの動作を開始する。ただし、図７に示す動作と変わらない箇所は省略する。ここで、記憶部１０５には、あらかじめ、制御装置１０Ｂによって経路制御を受ける端末３０およびサーバ４０の通信で、これらが使用するＩＰアドレスが登録されている。また、ルータ２０が制御装置１０Ｂからの指示によってＩＳＰ５１−１〜５１−Ｎを利用する際に使用するＩＳＰ５１−１〜５１−Ｎのセグメントに属するＩＰアドレスがそれぞれ登録されている。また、当初ＩＳＰが記録されている。
【００９９】
経路決定部１０２は、ステップＳ１０３で決定した経由ＩＳＰ５１−ｋと使用ＩＳＰ情報に示されたＩＳＰ５１−ｎが同じならば終了するが、異なれば、経由ＩＳＰ５１−ｋをアドレス経路変更部１０３Ｂおよびアドレス変更部１０４Ｂに通知し、ステップＳ１０５へ進む（ステップＳ１１４）。経路決定部１０２は、記憶部１０５に記録された当初ＩＳＰを参照し、これがＳ１０３で決定した経由ＩＳＰ５１−ｋと異なれば、ステップＳ１０６へ進む。同じならばステップＳ１０８へ進む（ステップＳ１０５）。
【０１００】
アドレス経路変更部１０３Ｂにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。これら３つのＩＰアドレスを順に、ＩＰ３０、ＩＰ４０、ＩＰｋとする。そして、アドレス経路変更部１０３Ｂは、ルータ２１に対して、送信元ＩＰアドレス＝ＩＰ４０かつ宛先ＩＰアドレス＝ＩＰ３０として送出していたパケットに対して宛先ＩＰアドレスをＩＰ４０からＩＰｋと書き換えること」を指示する（ステップＳ１１６）。
【０１０１】
アドレス変更部１０４Ｂにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ｂは、ルータ２０に対して、送信元ＩＰアドレス＝ＩＰ４０かつ宛先ＩＰアドレス＝ＩＰｋのパケットに対して宛先ＩＰアドレスをＩＰｋからＩＰ３０に書き換えることを指示する（ステップＳ１１７）。
【０１０２】
アドレス経路変更部１０３Ｂにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスを取得する。そして、アドレス経路変更部１０３Ｂは、ルータ２１に対して送信元ＩＰアドレス＝ＩＰ４０かつ宛先ＩＰアドレス＝ＩＰ３０に対する書き換え指示を削除する（ステップＳ１１８）。アドレス変更部１０４Ｂにおいて、記憶部１０５から、端末３０のＩＰアドレスおよびルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ｂは、ルータ２０に対して、送信元ＩＰアドレス＝ＩＰ４０かつ宛先ＩＰアドレス＝ＩＰｋのパケットに対する書き換え指示を削除する（ステップＳ１１９）。
【０１０３】
これを図３について見てみると次のようになる。初期状態では、制御装置１０Ｂの構成要素である記憶部１０５には図６に示す情報が予め記憶されている。ただし、当初ＩＳＰの欄は空白である。情報取得部１０１において、ルータ２０から使用ＩＳＰ情報としてＩＰＳ５１−１を取得する。また、情報取得部１０１は、ルータ２０から各ＩＳＰの品質情報として、ＩＰＳ５１−１、５１−２および５１−３の往復遅延時間を取得する（ステップＳ１０１）。本例ではそれぞれ４０ｍｓ、２０ｍｓおよび６０ｍｓである。
【０１０４】
情報取得部１０１は、使用ＩＳＰ情報がルータ２０から初めて通知されたものであるから、これを当初ＩＳＰとして記憶部１０５に登録する（ステップＳ１０２）。経路決定部１０２において、各ＩＳＰ５１−ｎの往復遅延時間のうちＩＳＰ５１−２が最小であるから、端末３０とサーバ４０との通信においてＩＳＰ５１−２を利用することを決定する（ステップＳ１０３）。
【０１０５】
情報取得部１０１は、ステップＳ１０３で決定したＩＳＰ５１−２と使用ＩＳＰ情報に示されたＩＳＰ５１−１とは異なるから、ＩＳＰ５１−２をアドレス経路変更部１０３Ｂおよびアドレス変更部１０４Ｂに通知し、ステップＳ１０５へ進む（ステップＳ１１４）。経路決定部１０２は、記憶部１０５に記録された当初ＩＳＰ＝５１−１を参照し、これがＩＳＰ５１−２と異なるから、ステップＳ１１６へ進む（ステップＳ１０５）。
【０１０６】
アドレス経路変更部１０３Ｂにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスならびにルータ２０がＩＳＰ５１−２を利用する際に使用するＩＰアドレスを取得する。図６を参照するとそれぞれ、「１０．１７３．１．１」、「１０．１７３．０．１」、「１０．１７３．２．２５４」である。アドレス経路変更部１０３Ｂは、ルータ２１に対して、「送信元ＩＰアドレス＝１０．１７３．０．１かつ宛先ＩＰアドレス＝１０．１７３．１．１として当初ＩＳＰに対して送出していたパケットに対して宛先ＩＰアドレスを１０．１７３．１．１から１０．１７３．２．２５４と書き換えること」を指示する（ステップＳ１１６）。
【０１０７】
アドレス変更部１０４Ｂにおいて、記憶部１０５から、端末３０のＩＰアドレスおよびルータ２０がＩＳＰ５１−２を利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ｂは、ルータ２０に対して、「送信元ＩＰアドレス＝１０．１７３．０．１かつ宛先ＩＰアドレス＝１０．１７３．２．２５４のパケットに対して宛先元ＩＰアドレスを１０．１７３．２．２５４から１０．１７３．１．１に書き換えること」を指示する（ステップＳ１１７）。
【０１０８】
これにより、サーバ４０から端末３０への通信は接続が切断、中断されることなくＩＳＰ５１−１からＩＳＰ５１−２へと経路が切り替わる。また、ＩＳＰ５１−１、ＩＳＰ５１−２およびＩＳＰ５１−２の往復遅延時間はそれぞれ４０ｍｓ、２０ｍｓおよび６０ｍｓであるから、この経路切替によって最小の往復遅延時間で通信が可能となり、通信品質が向上する。
【０１０９】
その後、ネットワークの状態が変化し、図４に示すように、リンクＲ１、Ｒ２およびＲ３の伝送時間がそれぞれ１０ｍｓ、２０ｍｓおよび３０ｍｓとなったとする。すると、ルータ２０では次のような動作が起こる。
【０１１０】
ルータ２０は、往復遅延時間としてＩＳＰ５１−１、５１−２および５１−３についてそれぞれ２０ｍｓ、４０ｍｓおよび６０ｍｓの値を取得する（ステップＳ２０１）。前述の制御装置１０Ｂからの指示により、端末３０は、ＩＳＰ５１−２を利用してサーバ４０と通信しているので、ＩＳＰ５１−２が使用ＩＳＰ情報である。
【０１１１】
ルータ２０は、使用ＩＳＰ情報ＩＳＰ５１−２と、品質情報として上記３つの往復遅延時間を制御装置１０Ｂに対して送信する（ステップＳ２０２）。そして、制御装置１０Ｂでは次の動作を実施する。情報取得部１０１において、ルータ２０から品質情報としてＩＰＳ５１−１、５１−２および５１−３の往復遅延時間２０ｍｓ、４０ｍｓおよび６０ｍｓならびに使用ＩＳＰ情報５１−２を取得する（ステップＳ１０１）。
【０１１２】
経路決定部１０２は、使用ＩＳＰ情報がルータ２０から通知されたのはこれが初めてではないから、ここではなにもしない（ステップＳ１０２）。経路決定部１０２において、各ＩＳＰについての品質情報に基づき、往復遅延時間はＩＳＰ５１−１の２０ｍｓが最小であるから、端末３０とサーバ４０との通信においてＩＳＰ５１−１を利用することを決定する（ステップＳ１０３）。
【０１１３】
経路決定部１０２は、ステップＳ１０３で決定したＩＳＰ５１−１と使用ＩＳＰ情報に示されたＩＳＰ５１−２は異なるから、ＩＳＰ５１−１をアドレス経路変更部１０３Ｂおよびアドレス変更部１０４Ｂに通知し、ステップＳ１０５へ進む（ステップＳ１０４）。経路決定部１０２は、記憶部１０５に記録された当初ＩＳＰ＝５１−１を参照し、これがステップＳ１０３で決定したＩＳＰ５１−１と同じであるから、ステップＳ１０８へ進む（ステップＳ１０５）。
【０１１４】
アドレス経路変更部１０３Ｂにおいて、記憶部１０５から、端末３０およびサーバ４０のＩＰアドレスを取得する。そして、アドレス経路変更部１０３Ｂは、ルータ２１に対して送信元ＩＰアドレス＝１０．１７３．０．１かつ宛先ＩＰアドレス＝１０．１７３．１．１のパケットに対する書き換え指示を削除する（ステップＳ１１８）。
【０１１５】
アドレス変更部１０４Ｂにおいて、記憶部１０５から、端末３０のＩＰアドレスおよびルータ２０が経由ＩＳＰ５１−ｋを利用する際に使用するＩＰアドレスを取得する。そして、アドレス変更部１０４Ｂは、ルータ２０に対して、送信元ＩＰアドレス＝１０．１７３．０．１かつ宛先ＩＰアドレス＝１０．１７３．２．２５４のパケットに対する書き換え指示を削除する（ステップＳ１１９）。
【０１１６】
これにより、サーバ４０から端末３０への通信は、初期状態であるＩＳＰ５１−１を利用する状態に戻る。この際も、接続を切断、中断することなく経路を切り替えられる。また、ＩＳＰ５１−１、ＩＳＰ５１−２およびＩＳＰ５１−２の往復遅延時間はそれぞれ２０ｍｓ、４０ｍｓおよび６０ｍｓであるから、この経路切替によって最小の往復遅延時間で通信が可能となり、通信品質が向上する。
【０１１７】
［効果の説明］
以上のように、この実施形態によれば、往復遅延時間の短い経路に、接続を切断、中断
することなく切り替え、通信品質を向上させている。非特許文献２および３との差異は第１の実施形態の効果で述べたことと同様である。またパケットの宛先アドレスを書き換えることで異なる経路（ＩＳＰ）を経由してサーバ４０から端末３０までの通信を実現している。非特許文献１にこのような書き換え指示をする示唆はない。
【０１１８】
［変形例の説明］
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１１９】
例えば、上述した第１および第２の実施形態で説明したシステムは、通信経路に複数の経路が選択可能な通信システムにおいて広く適用することができる。上述した第１および第２の実施形態では、説明を簡単にするために、図１に例示するシステム構成を想定して説明したが、図１に例示するシステム構成に限定されるものではない。例えば、ルータ２０の機能を端末３０に含まれるようにしてもよい。そして、ＩＳＰ５１−ｎのうち、いずれかを無線通信、例えば、３Ｇ、ＷｉＭＡＸまたはＷｉ−Ｆｉによるものとしてもよい。
【０１２０】
通信システム１を構成する各機能ブロックは、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成され、図示しない記憶部により記憶されているプログラムがＣＰＵによりＲＡＭに展開されて実行されることにより、その機能が実現され得る。あるいは、これらの機能ブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。
【符号の説明】
【０１２１】
１      通信システム
１０（１０Ａ、１０Ｂ）  制御装置
２０    ルータ
２１    ルータ
３０    端末
４０    サーバ
５０    ネットワーク
１０１  情報取得部
１０２  経路決定部
１０３（１０３Ａ、１０３Ｂ）  アドレス経路変更部
１０４（１０４Ａ、１０４Ｂ）  アドレス変更部
１０５  記憶部
【図１】
2014068258.tif 000003
【図２】
2014068258.tif 000004
【図３】
2014068258.tif 000005
【図４】
2014068258.tif 000006
【図５】
2014068258.tif 000007
【図６】
2014068258.tif 000008
【図７】
2014068258.tif 000009
【図８】
2014068258.tif 000010
【図９】
2014068258.tif 000011
【図１０】
2014068258.tif 000012