(57)【特許請求の範囲】
【請求項１】
通信プロトコルとしてＩＰｖ６(Internet  Protocol  Version  6)を用いる拠点に設置され、前記拠点内の情報処理装置とのデータのルーティングを行うルータであって、
前記情報処理装置へのメッセージの送信、および、当該メッセージの応答メッセージの受信を行うメッセージ処理部と、
当該メッセージの送信から、当該メッセージの応答メッセージの受信までの時間である応答時間を計測する応答時間計測部と、
各拠点のルータ間での転送情報の転送順を示した装置間転送順情報を記憶する記憶部と、
前記計測された応答時間と自身のルータの識別情報とを付加した転送情報を、前記装置間転送順情報に示される次のルータへ転送するデータ転送部と、
自身のルータが、前記装置間転送順情報に示される最後のルータであるとき、自身のルータの応答時間および他のルータから受信した転送情報に示される他のルータそれぞれの応答時間を参照して、前記応答時間が最も短いルータを選択する装置選択部と、
前記選択されたルータが他のルータであるとき、前記選択されたルータに対し、前記情報処理装置へのＩＣＭＰｖ６（Internet  Control  Message  Protocol  for  IPv6）によるルータ広告を指示するルータ広告指示部と、
前記選択されたルータが自身のルータであるとき、前記情報処理装置へのＩＣＭＰｖ６によるルータ広告を行い、他のルータから前記ＩＣＭＰｖ６によるルータ広告の指示を受信したとき、前記情報処理装置へ前記ＩＣＭＰｖ６によるルータ広告を行うルータ広告部とを備えることを特徴とするルータ。
【請求項２】
前記情報処理装置へのメッセージは、echo  requestであり、当該メッセージの応答メッセージは、echo  replyであることを特徴とする請求項１に記載のルータ。
【請求項３】
通信プロトコルとしてＩＰｖ６(Internet  Protocol  Version  6)を用いる拠点に設置され、前記拠点内の情報処理装置とのデータ通信のルーティングを行うルータを複数有する通信システムであって、
前記ルータはそれぞれ、
前記情報処理装置へのメッセージの送信、および、当該メッセージの応答メッセージの受信を行うメッセージ処理部と、
当該メッセージの送信から、当該メッセージの応答メッセージの受信までの時間である応答時間を計測する応答時間計測部と、
各拠点のルータ間での転送情報の転送順を示した装置間転送順情報を記憶する記憶部と、
前記計測された応答時間と自身のルータの識別情報とを付加した転送情報を、前記装置間転送順情報に示される次のルータへ転送するデータ転送部と、
自身のルータが、前記装置間転送順情報に示される最後のルータであるとき、自身のルータの応答時間および他のルータから受信した転送情報に示される他のルータそれぞれの応答時間を参照して、前記応答時間が最も短いルータを選択する装置選択部と、
前記選択されたルータが他のルータであるとき、前記選択されたルータに対し、前記情報処理装置へのＩＣＭＰｖ６（Internet  Control  Message  Protocol  for  IPv6）によるルータ広告を指示するルータ広告指示部と、
前記選択されたルータが自身のルータであるとき、前記情報処理装置へのＩＣＭＰｖ６によるルータ広告を行い、他のルータから前記ＩＣＭＰｖ６によるルータ広告の指示を受信したとき、前記情報処理装置へ前記ＩＣＭＰｖ６によるルータ広告を行うルータ広告部とを備え、
前記情報処理装置はそれぞれ、
前記ルータから前記ＩＣＭＰｖ６によるルータ広告を受信したとき、外部装置とのデータ通信を行う際のデフォルトゲートウェイとして当該ルータを設定することを特徴とする通信システム。
【請求項４】
通信プロトコルとしてＩＰｖ６(Internet  Protocol  Version  6)を用いる拠点に設置され、前記拠点内の情報処理装置が外部装置とのデータ通信を行う際にルーティングを行うルータが、
前記情報処理装置へのメッセージの送信、および、当該メッセージの応答メッセージの受信を行うステップと、
当該メッセージの送信から、当該メッセージの応答メッセージの受信までの時間である応答時間を計測するステップと、
前記計測された応答時間と自身のルータの識別情報とを付加した転送情報を、装置間転送順情報に示される次のルータへ転送するステップと、
自身のルータが、前記装置間転送順情報に示される最後のルータであるとき、自身のルータの応答時間および他のルータから受信した転送情報に示される他のルータそれぞれの応答時間を参照して、前記応答時間が最も短いルータを選択するステップと、
前記選択されたルータが他のルータであるとき、前記選択されたルータに対し、前記情報処理装置へのＩＣＭＰｖ６（Internet  Control  Message  Protocol  for  IPv6）によるルータ広告を指示するステップと、
前記選択されたルータが自身のルータであるとき、前記情報処理装置へのＩＣＭＰｖ６によるルータ広告を行うステップと、
他のルータから前記ＩＣＭＰｖ６によるルータ広告の指示を受信したとき、前記情報処理装置へ前記ＩＣＭＰｖ６によるルータ広告を行うステップとを実行することを特徴とする管理方法。
【請求項５】
通信プロトコルとしてＩＰｖ６(Internet  Protocol  Version  6)を用いる拠点に設置され、前記拠点内の情報処理装置が外部装置とのデータ通信を行う際にルーティングを行うルータに、
前記情報処理装置へのメッセージの送信、および、当該メッセージの応答メッセージの受信を行うステップと、
当該メッセージの送信から、当該メッセージの応答メッセージの受信までの時間である応答時間を計測するステップと、
前記計測された応答時間と自身のルータの識別情報とを付加した転送情報を、装置間転送順情報に示される次のルータへ転送するステップと、
自身のルータが、前記装置間転送順情報に示される最後のルータであるとき、自身のルータの応答時間および他のルータから受信した転送情報に示される他のルータそれぞれの応答時間を参照して、前記応答時間が最も短いルータを選択するステップと、
前記選択されたルータが他のルータであるとき、前記選択されたルータに対し、前記情報処理装置へのＩＣＭＰｖ６（Internet  Control  Message  Protocol  for  IPv6）によるルータ広告を指示するステップと、
前記選択されたルータが自身のルータであるとき、前記情報処理装置へのＩＣＭＰｖ６によるルータ広告を行うステップと、
他のルータから前記ＩＣＭＰｖ６によるルータ広告の指示を受信したとき、前記情報処理装置へ前記ＩＣＭＰｖ６によるルータ広告を行うステップとを実行させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ、通信システム、管理方法、および、管理プログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングが普及し、データセンタに設置される物理サーバのリソースを用いて仮想環境を構築して、ユーザに各種サービスを提供することが行われている。また、仮想スイッチを用いて、異なるデータセンタ間を跨ったＬ２ネットワーク構築も行われている。
【０００３】
例えば、部門サーバ、経理サーバ、出退勤管理サーバ、ファイルサーバ等を仮想マシン（以下、ＶＭ（Virtual  Machine）と記載する場合がある）によって実現する企業（Ｚ）を例にして説明する。企業（Ｚ）では、拠点（札幌）のデータセンタ（Ｘ）で仮想マシン（Ａ）と仮想マシン（Ｂ）とを動作させ、拠点（福岡）のデータセンタ（Ｙ）で仮想マシン（Ｃ）と仮想マシン（Ｄ）とを動作させる。そして、Open  vSwitch等による仮想スイッチを用いて、データセンタ（Ｘ）とデータセンタ（Ｙ）とを仮想Ｌ２ネットワークで接続する。
【０００４】
このようにして、企業（Ｚ）では、異なるデータセンタで動作して各サービスを提供する仮想マシン間の通信を実現することで、各拠点にいる社員に対して、拠点に依存することなく、各種サービスの提供を行う。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】石井久治、上野和風、田上啓介、飯田浩二、藤田智成、森田和孝著、「オープンソースlaaS  クラウド基盤OpenStack」、ＮＴＴ技術ジャーナルVol.23、No.8、2011.
【非特許文献２】北爪秀雄、小山高明、田島佳武、岸寿春、井上朋子著、「クラウドサービスを支えるネットワーク仮想化技術」、ＮＴＴ技術ジャーナルVol.23、No.10、2011.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記技術では、仮想マシンのマイグレーション等が発生した場合に、通信経路が冗長になり、通信遅延が発生するという問題がある。
【０００７】
一例として、上記企業（Ｚ）を例にして説明すると、社員のパーソナルコンピュータ（以下、ＰＣと記載する場合がある）は、インターネット等を用いて各拠点に接続して仮想マシンを利用する状況において、拠点（札幌）の社員が拠点（福岡）に出張することに伴って、利便性等を向上させるために、仮想マシン（Ｂ）を拠点（福岡）のデータセンタ（Ｙ）にマイグレーションさせたとする。この場合、インターネットを利用する社員のＰＣのデフォルトゲートウェイは、ＩＳＰ（Internet  Service  Provider）が指定したルータのＩＰアドレスとなる。また、マイグレーションした仮想マシン（Ｂ）のデフォルトゲートウェイは、マイグレーション元のデータセンタ（Ｘ）のルータが設定される。
【０００８】
このため、社員が出張先の福岡から仮想マシン（Ｂ）にアクセスした場合、社員のＰＣは、仮想マシン（Ｂ）からの応答を、出張先である拠点（福岡）のデータセンタ（Ｙ）、データセンタ間の仮想Ｌ２ネットワーク、出張元である拠点（札幌）のデータセンタ（Ｘ）を経由して受信する。つまり、社員のＰＣは、出張に伴って仮想マシン（Ｂ）を出張先にマイグレーションさせたにも関らず、出張元を経由して仮想マシン（Ｂ）からの応答を受信することになる。このように、仮想マシン（Ｂ）からユーザ端末への通信距離が長くなり、無駄に遅延が大きくなる。
【０００９】
また、仮想マシン（Ｂ）のデフォルトゲートウェイを変更することも考えられるが、管理者でもない社員にネットワークの設定変更を実行させることは、セキュリティの観点からも現実的ではない。
【００１０】
開示の実施形態は、上記に鑑みてなされたものであって、通信遅延を縮小化することができるルータ、通信システム、管理方法、および、管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の一実施形態は、通信プロトコルとしてＩＰｖ６(Internet  Protocol  Version  6)を用いる拠点に設置され、前記拠点内の情報処理装置とのデータのルーティングを行うルータであって、前記情報処理装置へのメッセージの送信、および、当該メッセージの応答メッセージの受信を行うメッセージ処理部と、当該メッセージの送信から、当該メッセージの応答メッセージの受信までの時間である応答時間を計測する応答時間計測部と、各拠点のルータ間での転送情報の転送順を示した装置間転送順情報を記憶する記憶部と、前記計測された応答時間と自身のルータの識別情報とを付加した転送情報を、前記装置間転送順情報に示される次のルータへ転送するデータ転送部と、自身のルータが、前記装置間転送順情報に示される最後のルータであるとき、自身のルータの応答時間および他のルータから受信した転送情報に示される他のルータそれぞれの応答時間を参照して、前記応答時間が最も短いルータを選択する装置選択部と、前記選択されたルータが他のルータであるとき、前記選択されたルータに対し、前記情報処理装置へのＩＣＭＰｖ６（Internet  Control  Message  Protocol  for  IPv6）によるルータ広告を指示するルータ広告指示部と、前記選択されたルータが自身のルータであるとき、前記情報処理装置へのＩＣＭＰｖ６によるルータ広告を行い、他のルータから前記ＩＣＭＰｖ６によるルータ広告の指示を受信したとき、前記情報処理装置へ前記ＩＣＭＰｖ６によるルータ広告を行うルータ広告部とを備えることを特徴とする。
【発明の効果】
【００１２】
本願の一実施形態によれば、通信遅延を縮小化することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施形態に係るシステムの全体構成例を示す図である。
【図２】図２は、ＶＭを動作させる物理サーバの階層構造を示す図である。
【図３】図３は、ルータの機能構成を示す機能ブロック図である。
【図４】図４は、装置間転送順情報の一例を示す図である。
【図５】図５は、ルータの処理手順を示す図である。
【図６】図６は、ＶＭのマイグレーションの一例を示す図である。
【図７】図７は、図６に示すマイグレーションが行われた場合のシステムの処理手順の一例を示す図である。
【図８】図８は、管理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施形態を説明する。なお、本実施形態により本発明が限定されるものではない。
【００１５】
（全体構成）
図１は、本実施形態に係るシステムの全体構成例を示す図である。図１に示すように、システムは、例えば企業の拠点間をネットワークで接続するシステムであり、それぞれデータセンタを有する拠点（札幌）１と拠点（福岡）１１とがインターネット等のネットワーク２０で接続される。各拠点のデータセンタ内で用いられる通信プロトコルは、ＩＰｖ６（Internet  Protocol  version  6）である。つまり、各データセンタ内のルータおよびＶＭは通信プロトコルとしてＩＰｖ６を用いる。なお、ネットワーク２０で用いられる通信プロトコルは、ＩＰｖ４（Internet  Protocol  version  4）でもよいし、ＩＰｖ６であってもよい。ネットワーク２０で用いられる通信プロトコルがＩＰｖ４である場合、各拠点のＣＥルータまたはルータにおいて、ＩＰｖ４-ＩＰｖ６の相互変換を行うものとする。また、以下の説明において各ルータはＩＰｖ６によるルーティング機能を備えるものとするが、ＩＰｖ４によるルーティング機能をさらに備えていてもよい。
【００１６】
（拠点（札幌））
拠点（札幌）１は、ユーザ端末１０とデータセンタ２とを有する。ユーザ端末１０は、データセンタ２または拠点（福岡）１１のデータセンタ１２等で動作するＶＭ（情報処理装置）４０（４０ａ，４０ｂ，４０ｃ，４０ｄ）にアクセスして、各種サービスを利用する端末装置であり、例えばノートパソコンやスマートフォン等である。このユーザ端末１０は、例えば、拠点（札幌）１から、拠点（福岡）１１へ移動される。
【００１７】
データセンタ２は、１台以上の物理サーバが設置され、物理サーバの物理リソースを用いて情報処理装置であるＶＭ４０を動作させるデータセンタである。なお、物理リソースとしては、通信インタフェース、プロセッサ、メモリ、ハードディスク等である。
【００１８】
具体的には、データセンタ２は、ＣＥ（Customer  Edge）ルータ３、ルータ４、ＯＶＳ（Open  vSwitch）５、ＶＭ（Ａ）４０ａ、ＶＭ（Ｂ）４０ｂを有する。ＣＥルータ３は、ネットワーク２０と企業内ＬＡＮ（Local  Area  Network）等の企業ネットワークとの境界に設置されたエッジルータであり、このＣＥルータ３は、物理装置で実現される。
【００１９】
ルータ４は、企業内ネットワークにおいて、拠点（札幌）１のデータセンタ２と拠点（福岡）１１のデータセンタ１２とを同一ネットワークセグメント（セグメント）２２で分割するルータである。すなわち、ルータ４は、ユーザ端末１０と各データセンタの各ＶＭ４０との通信を中継する。ルータ４は、ＩＣＭＰｖ６（Internet  Control  Message  Protocol  for  IPv6）によるルータ広告を行い、ＩＰｖ６によるルーティングを実行する。このルータ４のインタフェース４ｂは、各ＶＭ４０と接続されるインタフェースであり、例えば、ＩＰアドレスとして「ＩＰ（:241a）」が設定される。
【００２０】
拠点（札幌）１で使用されるユーザ端末１０は、各ＶＭ４０にアクセスする場合は、ルータ４を経由してアクセスする。なお、このルータ４は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
【００２１】
ＯＶＳ５は、各データセンタの各ルータと各ＶＭ４０とを中継するスイッチであり、データセンタ１２のＯＶＳ１５と協働して、データセンタ間を仮想Ｌ２ネットワーク２１で接続する仮想スイッチである。例えば、ＯＶＳ５は、ルータ４のインタフェース４ｂ、ＶＭ（Ａ）４０ａ、ＶＭ（Ｂ）４０ｂ、データセンタ１２のＯＶＳ１５のそれぞれと接続される。
【００２２】
ＶＭ（Ａ）４０ａは、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想マシンであり、ＩＰｖ６によるデータ通信を行う。このＶＭ（Ａ）４０ａには、例えば、ＩＰアドレスとして「ＩＰ（:24af）」が設定される。ＶＭ（Ｂ）４０ｂも、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想マシンであり、ＩＰｖ６によるデータ通信を行う。このＶＭ（Ｂ）４０ｂには、例えば、ＩＰアドレスとして「ＩＰ（:e870）」が設定される。これらのＶＭ４０は、ＯＶＳ５を介して、ユーザ端末１０と通信を実行する。
【００２３】
（拠点（福岡））
拠点（福岡）１１は、データセンタ１２を有する。データセンタ１２は、１台以上の物理サーバが設置され、物理サーバの物理リソースを用いて仮想マシンを動作させるデータセンタである。
【００２４】
具体的には、データセンタ１２は、ＣＥルータ１３、ルータ１４、ＯＶＳ１５、ＶＭ（Ｃ）４０ｃ、ＶＭ（Ｄ）４０ｄを有する。ＣＥルータ１３は、ネットワーク２０と企業内ＬＡＮ等の企業ネットワークとの境界に設置されたエッジルータであり、このＣＥルータ１３は、物理装置で実現される。
【００２５】
ルータ１４は、企業内ネットワークにおいて、拠点（札幌）１のデータセンタ２と拠点（福岡）１１のデータセンタ１２とを同一ネットワークセグメント２２で分割するルータである。すなわち、ルータ１４は、外部装置と各データセンタの各ＶＭ４０との通信を中継する。また、このルータ１４は、ＩＣＭＰｖ６によるルータ広告を行い、ＩＰｖ６によるルーティングを実行する。また、ルータ１４のインタフェース１４ｂは、各ＶＭ４０と接続されるインタフェースであり、例えば、ＩＰアドレスとして「ＩＰ（：202ｄ）」が設定される。なお、このルータ１４は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
【００２６】
ＯＶＳ１５は、各データセンタの各ルータと各ＶＭ４０とを中継するスイッチであり、データセンタ２のＯＶＳ５と協働して、データセンタ間を仮想Ｌ２ネットワーク２１で接続する仮想スイッチである。例えば、ＯＶＳ１５は、ルータ１４のインタフェース１４ｂ、ＶＭ（Ｃ）４０ｃ、ＶＭ（Ｄ）４０ｄ、データセンタ１２のＯＶＳ５のそれぞれと接続される。
【００２７】
ＶＭ（Ｃ）４０ｃは、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想マシンであり、ＩＰｖ６によるデータ通信を行う。このＶＭ（Ｃ）４０ｃには、ＩＰアドレスとして、例えば、「ＩＰ（:abcd）」が設定される。ＶＭ（Ｄ）４０ｄも、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想マシンであり、ＩＰｖ６によるデータ通信を行う。このＶＭ（Ｄ）４０ｄには、ＩＰアドレスとして、例えば、「ＩＰ（:8765）」が設定される。これらのＶＭ４０は、ＯＶＳ１５を介して、データセンタ外の外部装置と通信を実行する。
【００２８】
（ネットワーク構成）
各ＶＭは、動作する拠点が異なるが、同一セグメント２２で動作する。つまり、ルータ４、ルータ１４、ＯＶＳ５、ＯＶＳ１５、ＶＭ（Ａ）４０ａ、ＶＭ（Ｂ）４０ｂ、ＶＭ（Ｃ）４０ｃ、ＶＭ（Ｄ）４０ｄは、仮想Ｌ２ネットワーク２１で接続され、同一セグメント２２で動作する。したがって、拠点（福岡）１１のルータ１４とＶＭ（Ａ）４０ａやＶＭ（Ｂ）４０ｂが通信可能に接続されており、拠点（札幌）１のルータ４とＶＭ（Ｃ）４０ｃやＶＭ（Ｄ）４０ｄが通信可能に接続されている。
【００２９】
（階層構造）
図２は、ＶＭを動作させる物理サーバの階層構造を示す図である。なお、ここでは、一例として１台の物理サーバでＶＭ４０を動作させる例を説明するが、これに限定されるものではなく、複数台の物理サーバを用いて動作させることができる。
【００３０】
データセンタ２では、物理サーバ６が動作し、データセンタ１２では、物理サーバ１６が動作する。各物理サーバは、一般的なサーバ装置であり、ハードウェア、プロセッサ、メモリ等を有する。
【００３１】
データセンタ２の物理サーバ６は、ハードウェア６ａ上でハイパーバイザ等の仮想化ソフトウェア６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア６ｂは、仮想スイッチ６ｃを動作させる。
【００３２】
同様に、データセンタ１２の物理サーバ１６は、ハードウェア１６ａ上でハイパーバイザ等の仮想化ソフトウェア１６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア１６ｂは、仮想スイッチ１６ｃを動作させる。
【００３３】
ここで、仮想スイッチ６ｃと仮想スイッチ１６ｃは、例えば、図５に示したＯＶＳ５とＯＶＳ１５、KVM等を用いて実現され、仮想Ｌ２ネットワーク２１を構築する。すなわち、異なるデータセンタ間を仮想ネットワークで通信可能に接続する。
【００３４】
そして、各物理サーバの各仮想化ソフトウェアは、仮想Ｌ２ネットワーク２１を利用可能な状態で仮想マシンを動作させる。具体的には、仮想化ソフトウェア６ｂは、物理サーバ６の物理リソースを用いてＶＭ（Ａ）４０ａとＶＭ（Ｂ）４０ｂとを動作させ、仮想スイッチ６ｃを経由して、各ＶＭ４０を仮想Ｌ２ネットワーク２１に接続する。同様に、仮想化ソフトウェア１６ｂは、物理サーバ１６の物理リソースを用いてＶＭ（Ｃ）４０ｃとＶＭ（Ｄ）４０ｄとを動作させ、仮想スイッチ１６ｃを経由して、各ＶＭ４０を仮想Ｌ２ネットワーク２１に接続する。
【００３５】
（ルータの構成）
次に、図１に示したルータの構成について説明する。まず、ルータの動作概要を簡単に説明する。まず、同一セグメント２２内のルータはそれぞれ、ＶＭ４０へＩＣＭＰｖ６（ＲＦＣ４８６１）のメッセージ、例えば、echo  requestを送信後、当該ＶＭ４０から当該echo  requestの応答メッセージ（echo  reply）を受信するまでの時間（応答時間）を計測する。そして、ルータはそれぞれ、自身のルータで計測した応答時間を、ルータ間で順次転送していく。その後、最後に応答時間が到達したルータは、受信した各ルータの応答時間を参照して、応答時間が最も短いルータを特定し、この特定したルータに対し、ＶＭ４０へＩＣＭＰｖ６のルータ広告（Router  Advertisement）を指示する。この指示を受けたルータは、当該ＶＭ４０へのルータ広告を行い、これにより、当該ＶＭ４０が外部装置（例えば、ユーザ端末１０）等とのデータ通信を行う際に経由するデフォルトゲートウェイとして、ルータ広告の広告元のルータが設定される。つまり、当該ＶＭ４０には通信遅延が最も短いルータがデフォルトゲートウェイとして設定される。
【００３６】
なお、以下の説明において、ルータが応答時間計測のためにＶＭ４０へ送信するＩＣＭＰｖ６のメッセージは、echo  requestである場合を例に説明するが、当該メッセージの送信先のＶＭ４０から、当該メッセージの応答メッセージを受信できるようなメッセージであれば、これに限定されない。
【００３７】
図３は、ルータの機能構成を示す機能ブロック図である。ここでは、データセンタ２のルータ４を例に説明する。図３に示すように、ルータ４は、通信制御部４１、記憶部４２、制御部４３を有する。
【００３８】
通信制御部４１は、インタフェースを有し、他の装置の通信を制御する。例えば、通信制御部４１は、ＶＭ４０との通信を制御する。
【００３９】
記憶部４２は、メモリやハードディスク等の記憶装置であり、装置間転送順情報を記憶する。
【００４０】
装置間転送順情報は、ルータ間での転送情報（前記した各ルータの応答時間を示した情報）の転送順序を示した情報である。図４は、装置間転送順情報の一例を示す図である。例えば、図４に示すように、装置間転送順情報には、ルータ４→ルータ１４という転送順序が記載される。
【００４１】
なお、装置間転送順情報は、本システムの管理者等により通信制御部４１および制御部４３経由で入力される。
【００４２】
制御部４３は、プロセッサ等の電子回路であり、ルータ４全体の制御を司る。この制御部４３は、ルーティング部４３０、ＩＣＭＰメッセージ処理部４３１、応答時間計測部４３２、データ転送部４３３、装置選択部４３４、ルータ広告指示部４３５、ルータ広告部４３６を有する。
【００４３】
ルーティング部４３０は、通信制御部４１経由で外部からのパケットを受信すると、記憶部４２に記憶されたルーティングテーブル（図示省略）を参照し、ＩＰｖ６に基づくパケットの経路制御を行う。
【００４４】
ＩＣＭＰメッセージ処理部４３１は、ＶＭ４０（例えば、マイグレーションされたＶＭ４０）に対し、ＩＣＭＰｖ６のメッセージ（例えば、echo  request）を送信し、また、当該ＶＭ４０から、この送信したメッセージの応答（例えば、echo  reply）を受信する。
【００４５】
応答時間計測部４３２は、ルータ４がＶＭ４０へメッセージを送信してから、そのメッセージの応答メッセージを受信するまでの時間（応答時間）を計測する。例えば、応答時間計測部４３２は、ＩＣＭＰメッセージ処理部４３１においてＶＭ４０へのecho  request送信後、当該ＶＭ４０からecho  replyを受信するまでの時間を計測する。この応答時間の計測により、自身のルータと当該ＶＭ４０との間の通信遅延時間が分かる。応答時間計測部４３２は、計測した応答時間を、データ転送部４３３および装置選択部４３４へ出力する。
【００４６】
データ転送部４３３は、応答時間計測部４３２で計測した応答時間と、自身のルータの識別情報とを含む転送情報を作成する。そして、データ転送部４３３は、作成した転送情報を装置間転送順情報における自身のルータの次の順番のルータへ転送する。
【００４７】
なお、装置間転送順情報において、自身のルータが最初のルータの場合、データ転送部４３３は、応答時間計測部４３２により計測された応答時間と自身のルータの識別情報を含む転送情報を作成して、次のルータへ転送する。また、装置間転送順情報において、自身のルータが、二番目以降、最後以外のルータの場合、他のルータから受信した転送情報に、自身のルータで計測した応答時間と、自身のルータの識別情報とを付加した転送情報を作成して、次のルータへ転送する。なお、装置間転送順情報において、自身のルータが最後のルータであった場合、データ転送部４３３は、作成した転送情報を装置選択部４３４へ出力する。
【００４８】
装置選択部４３４は、データ転送部４３３から出力された転送情報に示される各ルータの応答時間を比較し、最も応答時間の短いルータを特定（選択）する。
【００４９】
ルータ広告指示部４３５は、装置選択部４３４により選択されたルータに対し、ＶＭ４０へのＩＣＭＰｖ６のルータ広告を指示する。この指示には、ルータ広告の宛先となるＶＭ４０の識別情報（例えば、ＶＭ４０のＩＰアドレス）を含む。例えば、装置選択部４３４により選択されたルータがルータ１４であり、マイグレーションされたＶＭ４０がＶＭ（Ｃ）４０ｃである場合、ルータ広告指示部４３５は、ルータ１４に対しＶＭ（Ｃ）４０ｃへのルータ広告を指示する。
【００５０】
なお、装置選択部４３４により選択されたルータが、自身のルータ（例えば、ルータ４）であった場合、ルータ広告部４３６に対し、ＶＭ４０へのユニキャストによるルータ広告を指示する。
【００５１】
ルータ広告部４３６は、装置選択部４３４または他のルータからの指示に基づき、当該ＶＭ４０へのＩＣＭＰｖ６のルータ広告（Router  Advertisement）を行う。つまり、ルータ広告部４３６は、ＶＭ４０のリンクローカルアドレスへユニキャストでルータ広告を行う。これにより、ＶＭ４０に、当該ルータがデフォルトゲートウェイとして設定される。
【００５２】
このように、各データセンタのルータのうち、ＶＭ４０からの応答時間が最も短い（つまり通信遅延が最も短い）ルータが当該ＶＭ４０へのルータ広告を行う。よって、データセンタ間でＶＭ４０のマイグレーションが行われた場合も、当該ＶＭ４０に通信遅延が最も短いルータをデフォルトゲートウェイとして設定することができる。
【００５３】
（処理手順）
次に、図５を用いて、ルータの処理手順を説明する。図５は、ルータの処理手順を示す図である。ここでもルータ４が処理を実行する場合を例に説明する。
【００５４】
ＶＭ４０のマイグレーションが行われると、ルータ４のＩＣＭＰメッセージ処理部４３１は当該ＶＭ４０へecho  requestを送信する（Ｓ１）。その後、ＩＣＭＰメッセージ処理部４３１は、当該ＶＭ４０からecho  replyを受信する（Ｓ２）。そして、応答時間計測部４３２は、当該ＶＭ４０へのecho  request送信後、当該ＶＭ４０からのecho  reply受信までの時間（応答時間）を計測する（Ｓ３）。
【００５５】
Ｓ３の後、データ転送部４３３は、装置間転送順情報を参照して、自身のルータ（ルータ４）のデータ転送順が最後か否かを判断し（Ｓ４）、ルータ４のデータ転送順が最後ではなければ（Ｓ４でＮｏ）、次のルータへ、Ｓ３で計測した応答時間と、ルータ４の識別情報とを転送情報に付加して転送する（Ｓ５：応答時間を次のルータに転送）。なお、データ転送部４３３は、既に他のルータからの転送情報を受信していた場合、受信した転送情報に、Ｓ３で計測した応答時間と自身のルータの識別情報とを付加して次のルータへ転送する。そして、処理を終了する。
【００５６】
一方、Ｓ４において、データ転送部４３３は、装置間転送順情報を参照して、自身のルータ４のデータ転送順が最後であると判断したとき（Ｓ４でＹｅｓ）、転送情報の転送は行わず、装置選択部４３４は、自身のルータ４を含む各ルータの中で、応答時間が最も短いルータを選択する（Ｓ６）。
【００５７】
Ｓ６で選択したルータが自身のルータ４であれば（Ｓ７でＹｅｓ）、ルータ広告部４３６は、当該ＶＭ４０へユニキャストによりＩＣＭＰｖ６のルータ広告（Router  Advertisement）を行う（Ｓ８）。一方、Ｓ６で選択したルータが自身のルータ４でなければ（Ｓ７でＮｏ）、ルータ広告指示部４３５は、Ｓ６で選択したルータに対し、当該ＶＭ４０へのユニキャストによるＩＣＭＰｖ６のルータ広告（Router  Advertisement）を指示する（Ｓ９）。
【００５８】
このようにすることで、ＶＭ４０は、マイグレーション後も、当該ＶＭ４０からの通信遅延が最も短いルータがデフォルトゲートウェイとして設定されることになる。
【００５９】
（具体例）
なお、システムの処理手順の具体例を、図６および図７を用いて説明する。図６は、ＶＭのマイグレーションの一例を示す図である。図７は、図６に示すマイグレーションが行われた場合のシステムの処理手順の一例を示す図である。ここでは、図６に示すように、ユーザ端末１０が拠点（札幌）１から、拠点（福岡）１１へ移動し、ＶＭ（Ｂ）４０ｂが、データセンタ２からデータセンタ１２へマイグレーションされた場合を例に説明する。なお、ここでは、装置間転送順情報における転送情報の転送順は、ルータ１４→ルータ４であるものとする。
【００６０】
ＶＭ（Ｂ）４０ｂのデータセンタ１２へのマイグレーションが行われると、ルータ１４のＩＣＭＰメッセージ処理部４３１は、ＶＭ（Ｂ）４０ｂへecho  requestを送信する（Ｓ２１）。その後、ルータ１４のＩＣＭＰメッセージ処理部４３１は、ＶＭ（Ｂ）４０ｂからecho  replyを受信する（Ｓ２２）。ここで、ルータ１４の応答時間計測部４３２は、ＶＭ（Ｂ）４０ｂへのecho  requestを送信後、echo  replyを受信するまでの時間（応答時間）を計測する（Ｓ２３）。
【００６１】
Ｓ２３の後、ルータ１４のデータ転送部４３３は、ルータ４へ、Ｓ２３で計測した応答時間とルータ１４の識別情報とを転送情報として転送する（Ｓ２４）。
【００６２】
ルータ４は、Ｓ２４でルータ１４から送信された転送情報の受信後、ＩＣＭＰメッセージ処理部４３１によりＶＭ（Ｂ）４０ｂへecho  requestを送信する（Ｓ２５）。Ｓ２６，Ｓ２７は、前記したＳ２２，Ｓ２３と同様なので説明を省略する。
【００６３】
Ｓ２７の後、ルータ４の装置選択部４３５は、Ｓ２４で送信された転送情報と、Ｓ２７で計測した応答時間とに基づき、各ルータの中で最も応答時間が短いルータを選択する（Ｓ２８）。そして、ルータ広告指示部４３５は、Ｓ２８で選択したルータ（ここでは、ルータ１４）に対しＩＣＭＰｖ６のルータ広告（Router  Advertisement）を指示する（Ｓ２９）。
【００６４】
Ｓ２９の後、ルータ１４のルータ広告部４３６は、ルータ４からの指示に基づき（Ｓ３０）、ＶＭ（Ｂ）４０ｂに対し、ユニキャストでＩＣＭＰｖ６のルータ広告（Router  Advertisement）を行う（Ｓ３１）。これにより、ＶＭ（Ｂ）４０ｂはデフォルトゲートウェイをルータ１４に設定する（Ｓ３２）。つまり、ＶＭ（Ｂ）４０ｂのデフォルトゲートウェイはルータ４（ＩＰアドレス（：241a））からルータ１４（ＩＰアドレス（：202ｄ））に変更される。そして、以降、ＶＭ（Ｂ）４０ｂは、外部装置とデータ通信を行う際にはルータ１４経由でデータ通信を行う（Ｓ３３）。
【００６５】
このように、ＶＭ（Ｂ）４０ｂのマイグレーション後、このＶＭ（Ｂ）４０ｂには、データセンタ１２のルータ１４がデフォルトゲートウェイとして設定されることになる。これにより、ＶＭ（Ｂ）４０ｂは、外部装置とデータ通信を行う際には、ルータ１４（ＩＰアドレス（：202a））をデフォルトゲートウェイとしてデータ通信を行うので、通信遅延を縮小化できる。
【００６６】
（その他の実施形態）
なお、上記実施形態においてＶＭ４０へのＩＣＭＰＶ６のルータ広告（Router Advertisement）を行うルータの選択は、転送情報を最後に受け取るルータが行うこととしたがこれに限定されない。例えば、転送情報を最後に受け取ったルータが、自身の応答時間および自身のルータの識別情報を付加して、他の装置に転送し、当該装置において、応答時間が最も短いルータを選択し、この選択したルータに対し、ＶＭ４０へのＩＣＭＰＶ６のルータ広告（Router Advertisement）を行うよう指示してもよい。
【００６７】
（プログラム）
また、上記実施形態に係るルータが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータが管理プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる管理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された管理プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図３等に示したルータと同様の機能を実現する管理プログラムを実行するコンピュータの一例を説明する。
【００６８】
図８は、管理プログラムを実行するコンピュータを示す図である。図８に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００７０】
ここで、図８に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００７１】
また、管理プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。
具体的には、上記実施形態で説明したルータの制御部４３が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００７２】
また、管理プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７３】
なお、管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、管理プログラムに係るプログラムモジュールやプログラムデータは、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７４】
１  拠点（札幌）
２、１２  データセンタ
３、１３  ＣＥルータ
４、１４  ルータ
５、１５  ＯＶＳ
１１  拠点（福岡）
４ｂ、１４ｂ  インタフェース
１６    物理サーバ
６ａ、１６ａ  ハードウェア
６ｂ、１６ｂ  仮想化ソフトウェア
６ｃ、１６ｃ  仮想スイッチ
２０    ネットワーク
２１    仮想Ｌ２ネットワーク
４０    仮想マシン
４１    通信制御部
４２    記憶部
４３    制御部
４３０  ルーティング部
４３１  ＩＣＭＰメッセージ処理部
４３２  応答時間計測部
４３３  データ転送部
４３４  装置選択部
４３５  ルータ広告指示部
４３６  ルータ広告部
【図１】
0005940502.tif 000002
【図２】
0005940502.tif 000003
【図３】
0005940502.tif 000004
【図４】
0005940502.tif 000005
【図５】
0005940502.tif 000006
【図６】
0005940502.tif 000007
【図７】
0005940502.tif 000008
【図８】
0005940502.tif 000009