(57)【要約】【課題】サーバと大量の通信端末が接続されているネットワークにおいて、サーバと通信端末間の通信がきれないようにする。【解決手段】複数の通信端末と１つ以上のサーバが、１つ以上のルータを経由して接続されるネットワークにおいて、ネットワークを制御する制御装置に、ネットワーク内のルータのルーティングとルータのルーティング情報の制御機能を備え、サーバの宛先アドレスが変更されるイベントを受信すると、接続中の通信に影響のないルーティング情報の制御を先行して実施し、接続中の通信に影響のあるルーティング情報については宛先アドレスの変更処理が完了後に制御する。【選択図】  図4
2015220560.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末と１つ以上のサーバが、１つ以上のルータを経由して接続されるネットワークにおけるルーティング制御方法であって、
前記ネットワークを制御する制御装置は、前記ネットワーク内のルータのルーティング情報を有するとともに、前記ネットワーク内のルータのルーティング情報の制御機能を有し、
前記ネットワーク制御装置は、前記サーバの宛先アドレスが変更されるイベントを受信すると、接続中の通信に影響のないルーティング情報の制御を先行して実施し、接続中の通信に影響のあるルーティング情報については宛先アドレスの変更のための処理が完了後に制御することを特徴とするルーティング制御方法。
【請求項２】
請求項１に記載のルート制御方法であって、前記ルーティング情報の制御は、同報機構を用いて実施することを特徴とするルーティング制御方法。
【請求項３】
請求項１に記載のルーティング制御方法であって、前記通信端末の接続先はサーバ上の仮想マシンであり、前記宛先アドレスが変更されるイベントは、前記サーバ上の仮想マシンの別のサーバへの移動または新規サーバの構築に伴う宛先アドレスの変更であることを特徴とするルーティング制御方法。
【請求項４】
請求項１に記載のルーティング制御方法であって、
前記ネットワーク制御装置は、前記サーバの宛先アドレスが変更されるイベントを受信すると、接続中の通信に影響のない下りルートのルーティング情報の設定を先行して実施し、上りルートのルーティング情報については、受信ができないようにして宛先アドレス変更後のルーティング情報を設定しておき、宛先アドレスの変更のための処理が完了後に前記宛先アドレス変更後の上りルートのルーティング情報を受信可能な状態に制御することを特徴とするルーティング制御方法。
【請求項５】
請求項１に記載のルーティング制御方法であって、前記宛先アドレスが変更されるイベントの発行は、スケジューラによりタイミングが制御されていることを特徴とするルーティング制御方法。
【請求項６】
複数の通信端末と１つ以上のサーバが、１つ以上のルータを経由して接続されるネットワークにおいてルーティング制御を行うルーティング制御プログラムであって、
前記ネットワーク内のルータのルーティング情報を有するとともに、前記ネットワーク内のルータのルーティング情報の設定及び監視機能を有する装置上で動作するものであり、
前記サーバの宛先アドレスが変更されるイベントを受信するステップと、
接続中の通信に影響のないルーティング情報の制御を先行して実施するステップと、
宛先アドレスの変更のための処理が完了後に接続中の通信に影響のあるルーティング情報の制御を実施するステップと
を有することを特徴とするルーティング制御プログラム。
【請求項７】
請求項６に記載のルート制御プログラムであって、前記ルーティング情報の設定および監視は、同報機構を用いて実施することを特徴とするルーティング制御プログラム。
【請求項８】
複数の通信端末と１つ以上のサーバが、１つ以上のルータを経由して接続されるネットワークにおいてルーティング制御を行うルーティング制御プログラムであって、
前記ネットワーク内のルータのルーティング情報を有するとともに、前記ネットワーク内のルータのルーティング情報の設定及び監視機能を有する装置上で動作するものであり、
前記サーバの宛先アドレスが変更されるイベントを受信するステップと、
接続中の通信に影響のない下りルートのルーティング情報の設定を先行して実施するステップと、
上りルートのルーティング情報については、受信ができないようにして宛先アドレス変更後のルーティング情報を設定しておくステップと、
宛先アドレスの変更のための処理が完了後に前記宛先アドレス変更後の上りルートのルーティング情報を受信可能な状態に制御するステップと
を有することを特徴とするルーティング制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルーティング制御技術に関し、特に、サーバに大量の通信端末が接続されているネットワークにおいて、サーバと通信端末間の通信が切れない(TCP(Transmission Control Protocol)のコネクションが切れない、アプリケーションがタイムアウトしない)ようにルーティング切替を制御する技術に関する。
【背景技術】
【０００２】
近年、携帯電話のような通信端末の普及により、サーバと多数の通信端末が接続されることが多くなり、サーバを仮想化し、負荷の高いサーバの処理を負荷の低いサーバに割り当てることで、負荷分散する技術が知られている。このような負荷分散を行う場合や、サーバに障害が発生した場合、あるいはライブマイグレーションの際に、あるサーバで動作している仮想マシンで行っている処理を、別のサーバで動作する仮想マシンに移動する、サーバの移動が行われる。このサーバの移動の際に、移動のための処理時間が長くなることや、接続先の変更に伴う通信の切断が問題となっている。
ライブマイグレーション時の処理時間を短縮する技術としては、特許文献１に記載された技術がある。特許文献１ではライブマイグレーションの実行開始を検知すると、それと併行して、ライブマイグレーション先のVPN(Virtual Private Network)に設置された仮想マシンにアクセスするための経路を構築する設定を所定のネットワーク装置に対して行い、ライブマイグレーションの実行完了を検知し、かつネットワーク装置への設定が完了すると、現用の経路を、構築した経路に切り替える技術が開示されている。
また、特許文献２には、サーバが切り換わっても、ユーザが復旧処理を行うことなくサービスを継続できるようにすることを目的とし、第１のサーバから第２のサーバへプロセス移動を行う際に、サーバ・ネットワーク連携制御手段が、第１のサーバから第２のサーバへのプロセス移動要求を受けて、移動先となる第２のサーバ情報を含む移動開始要求を稼働サーバ切換制御手段へ送り、稼働サーバ切換制御手段から対象プロセスの移動終了通知を受けると、第２のネットワーク情報を含む、第１のネットワークから第２のネットワークへの切換要求をコネクション制御手段へ送り、コネクション制御手段が、ターゲットネットワークを第１のネットワークから第２のネットワークに切り換えるようにしたものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2012-175190号公報
【特許文献２】国際公開第2005/083569号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述の特許文献２は、移動先の第２のネットワーク情報として、VLAN ID（Virtual Local Area Network ID）を通知するもので、ルーティングテーブルは静的に保持されている。また、特許文献１において経路の設定を行うネットワーク装置は複数の装置を想定したものではなく、大量の通信端末が複数のルータを経由してサーバ上の仮想マシンに接続されているようなネットワークの経路の切替については触れていない。
【０００５】
サーバ(VM(Virtual Machine)含む)と大量の通信端末が接続されているネットワークにおいて、通信端末の通信に影響与えずにサーバの移動を行うためには、以下の課題がある。
【０００６】
サーバの移動前後で通信端末側の設定を変えないためにサーバのIP(Internet Protocol)アドレスを変えずにサーバを移動するが、サーバのIPアドレスには、大量の通信端末が紐づいているため、大量のルーティング情報を変更する必要がある。
【０００７】
このような大量のルーティング情報の変更を伴うルーティング切替処理を行う場合、例えば、ルーティングプロトコルベースでは、数秒の切替は可能だが、50msや1s以内等の短時間での切替は困難である。ルーティング切替に数秒単位の時間を要するとサーバと通信端末間でパケットロスが発生し、TCPのコネクションが切れる、アプリケーションのタイムアウトが発生するといった問題が発生する。
【０００８】
本発明は上記課題を解決するためになされたもので、大量の通信端末が接続されているネットワークにおいて、サーバと通信端末間の通信が切れない(TCP(Transmission Control Protocol)のコネクションが切れない、アプリケーションがタイムアウトしない)ようにルーティング切替を制御することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明においては、一例として、複数の通信端末と１つ以上のサーバが、１つ以上のルータを経由して接続されるネットワークにおいて、ネットワークを制御する制御装置に、ネットワーク内のルータのルーティング情報を有するようにするとともに、ネットワーク内のルータのルーティング情報の制御機能を備えるようにし、ネットワーク制御装置は、サーバの宛先アドレスが変更されるイベントを受信すると、接続中の通信に影響のないルーティング情報の制御を先行して実施し、接続中の通信に影響のあるルーティング情報については宛先アドレスの変更処理が完了後に制御するようにしたものである。
また、別の一例としては、接続中の通信に影響のないルーティング情報として、下りルートのルーティング情報の設定を先行して実施し、上りルートのルーティング情報については、受信ができないようにして宛先アドレス変更後のルーティング情報を設定しておき、宛先アドレスの変更のための処理が完了後に前記宛先アドレス変更後に、上りルートのルーティング情報を受信可能な状態に制御するようにしたものである。
【発明の効果】
【００１０】
本発明によれば、大量の通信端末が接続されているネットワークにおいて、サーバと通信端末間の通信が切れない(TCP(Transmission Control Protocol)のコネクションが切れない、アプリケーションがタイムアウトしない)ようにルーティング切替を制御することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例におけるシステム構成図を示す図である。
【図２】本発明の一実施例におけるネットワーク制御装置及びサーバのハードウェア構成を説明する図である。
【図３】本発明の一実施例におけるネットワーク制御装置のソフトウェア構成を説明する図である。
【図４】本発明の一実施例におけるネットワーク制御装置の状態遷移を説明する図である。
【図５】本発明の一実施例におけるVM移動要求から下りルート学習完了までの処理を説明するシーケンス図である。
【図６】本発明の一実施例におけるVM複写完了応答から上りルート学習開始までの処理を説明するシーケンス図である。
【図７】本発明の一実施例における上りルート学習完了待ち合わせからVM切替完了応答までの処理を説明するシーケンス図である。
【図８】本発明の一実施例における不要ルート削除要求からVM移動完了応答までの処理を説明するシーケンス図である。
【図９】ネットワーク制御装置で保持するVM稼働状態及びIPルーティング状態管理テーブルの例を示す図である。
【図１０】ネットワーク制御装置で保持するトポロジ管理テーブルの例を示す図である。
【図１１】初期状態においてアクセスルータが保持する設定情報及びルーティングテーブルの例を示す図である。
【図１２】初期状態においてセンタルータが保持する設定情報及びルーティングテーブルの例を示す図である。
【図１３】下りルート学習時にセンタルータで保持する設定情報及び下りルート学習後のセンタルータのルーティングテーブルの例を示す図である。
【図１４】上りルート学習時にアクセスルータで保持する設定情報及び上りルート学習後のアクセスルータのルーティングテーブルの例を示す図である。
【図１５】上りルート学習時にセンタルータで保持する設定情報及び上りルート学習後のセンタルータのルーティングテーブルの例を示す図である。
【図１６】不要ルート削除時にアクセスルータで保持する設定情報及び不要ルート削除後のアクセスルータのルーティングテーブルの例を示す図である。
【図１７】不要ルート削除時にセンタルータで保持する設定情報及び不要ルート削除後のセンタルータのルーティングテーブルの例を示す図である。
【図１８】本発明の一実施例における初期状態においてVM移動開始要求イベントを受けた時の処理を説明するフロー図である。
【図１９】本発明の一実施例における下り学習完了判断処理を説明するフロー図である。
【図２０】本発明の一実施例におけるVM複写完了イベントを受けた時の処理を説明するフロー図である。
【図２１】本発明の一実施例における下りルート学習完了イベントを受けた時の処理を説明するフロー図である。
【図２２】本発明の一実施例におけるVM切替要求、上りルート学習要求を発行する時の処理を説明するフロー図である。
【図２３】本発明の一実施例における上りルート学習完了判断処理を説明するフロー図である。
【図２４】本発明の一実施例におけるVM切替完了イベントを受けた時の処理を説明するフロー図である。
【図２５】本発明の一実施例における上りルート学習完了イベントを受けた時のフロー図である。
【図２６】本発明の一実施例における不要ルート削除要求を受けた時の処理を説明するフロー図である。
【図２７】本発明の一実施例におけるルーティング設定要求(削除)完了判断処理を説明するフロー図である。
【図２８】本発明の一実施例におけるルーティング設定要求(削除)完了イベントを受けた時の処理を説明するフロー図である。
【発明を実施するための形態】
【実施例１】
【００１２】
以下、実施例を説明する。
本実施例では、ネットワークの経路を事前に学習、設定し、かつ、サーバのライブマイグレーションを同時に行い一斉にルーティング切替を行うことで、サーバと通信端末間の通信が切れない(TCPのコネクションが切れない、アプリケーションがタイムアウトしない)ようにする。
【００１３】
本実施例では、ユーザ(ネットワーク管理者)から、サーバ１に存在するVMID(Virtual Machine ID) 0001の移動先として 、移動先の物理サーバ2の情報がネットワーク制御装置に要求された時の一例を示す。
【００１４】
図1は、本発明の一実施例におけるシステム構成図を示す図である。
図1において、サーバ1(20)、サーバ2(21)、サーバ3(22)、ネットワーク管理ルータ(60)はハブ(HUB)(70)を介して、ネットワーク制御装置(10)に接続される。
通信端末001(50)は、アクセスルータ001(40)、センタルータA(30)を介して、サーバ1(20)のハイパーバイザ(200)上に構築されているVMID0001(201)と接続される。同様に通信端末002(51)〜通信端末999(52)もアクセスルータ002(41)〜アクセスルータ999(42)を介してサーバ1(20)〜サーバ3(22)上のVMID0001(201)〜VMID0004(204)に接続される。本実施例において、通信端末とアクセスルータの接続方法は1:1の場合を例にとって説明しているが、n:1の接続も可能であり、接続方法を限定するものではない。
【００１５】
ネットワーク制御装置(10)は、HUB(70)を介して、ネットワーク管理ルータ(60)に接続される。ネットワーク管理ルータ(60)は、アクセスルータ001(40)、センタルータA(30)を介して、通信端末001(50)〜通信端末999(52)、アクセスルータ001(40)〜アクセスルータ999(42)、センタルータA(30)〜センタルータB(31)に接続される。サーバ1(20)、サーバ2(21)、サーバ3(22)は、HUB(71)を介して接続され、データを送受信できる。
【００１６】
ネットワーク制御装置(10)、ネットワーク管理ルータ(60)、通信端末001(50)〜通信端末999(52)、アクセスルータ001(40)〜アクセスルータ999(42)、センタルータA(30)〜センタルータB(31)、サーバ1(20)〜サーバ3(22)は、ネットワークインターフェースif11(I100)〜if31(I301)を有し、各装置間は、これらのネットワークインターフェースを介して接続される。例えば、通信端末001(50)とVMID0001(201)の通信経路は、通信端末001(50)からアクセスルータ001(40)のif11(I103)、if21(I201)を通り、センタルータA(30)のif11(I106)、if21(I207)を通り、サーバ1(20)のif12(I113)を通り、ハイパーバイザ(200)を介して、VMID0001(201)と接続される。
【００１７】
図１の通信経路は一例を示しており、接続方法を限定するものではない。例えばアクセスルータ001(40)とセンタルータA(30)の間に他のルータを接続することも可能である。また、ネットワーク制御装置(10)は、ネットワーク管理ルータ(60)を介して、アクセスルータ001(40)、センタルータA(30)に接続しているが、ネットワーク管理ルータ(60)の機能を有したネットワーク制御装置や、サーバ1(20)にネットワーク制御装置(10)の機能を備え、ネットワーク管理ルータ(60)を介して、アクセスルータ001(40)、センタルータA(30)に接続する等の多種多様な組み合わせでもシステムを実現可能である。
【００１８】
図2は、本発明の一実施例におけるネットワーク制御装置及びサーバのハードウェア構成を説明する図である。
図2において、ネットワーク制御装置(10)及びサーバは、パス等の内部伝送路(18)で接続された、中央演算装置（CPU）(11)、主記憶装置（メインメモリ）(12)、入出力部（I/O IF）(13)、ネットワークインターフェース部（NIC：Network Interface Card）(14、15、16)、補助記憶装置（HDD:Hard disk drive）(17)から構成される。ネットワークインターフェース部（NIC）(14、15、16)は、ネットワーク制御装置(10)の場合は、HUB(70)に接続される。サーバ1(20)〜サーバ3(21)の場合は、センタルータA(30)、センタルータB(31)、HUB(70、71)に接続される。または、ネットワークインターフェース部（NIC）は、IPルータ等から構成される、通信ネットワークを介して他の装置と接続しても良い。
【００１９】
図3は、本発明の一実施例におけるネットワーク制御装置のソフトウェア構成を説明する図である。
図3において、ネットワーク制御装置(10)は、ユーザからの操作を受け付けるユーザIF(101)、制御機能部(100)を備える。
【００２０】
制御機能部(100)は、VM移動設定及びルーティング設定部(110)、ルーティング監視部(120)、VM稼働状態及びIPルーティング状態管理テーブル(T10)、トポロジ管理テーブル(T20)を備える。VM移動設定及びルーティング設定部(110)は、サーバ設定部(111)、アクセスルータ設定部(112)、センタルータ設定部(113)を備える。
【００２１】
VM移動設定及びルーティング設定部(110)のサーバ設定部(111)は、サーバ(20)のルーティング情報を設定する。アクセスルータ設定部(112)は、アクセスルータ(40)のルーティング情報を設定する。センタルータ設定部(113)は、センタルータ(30)のルーティング情報を設定する。
【００２２】
ルーティングテーブル監視部(120)は、アクセスルータ監視部(121)、センタルータ監視部(122)を備える。アクセスルータ監視部(121)は、アクセスルータ(40)のルーティング情報を取得する。センタルータ監視部(122)はセンタルータ(30)のルーティング情報を取得する。
【００２３】
図4は、本発明の一実施例におけるネットワーク制御装置の状態遷移を説明する図である。
図4において、ネットワーク制御装置は、初期状態(S100)においてVM移動要求イベントを受け、VM複写中下りルート学習中(S101)に遷移する。VM複写中下りルート学習中(S101)状態で、VM複写完了イベントを受けると、VM複写完了下りルート学習中(S102)に遷移する。VM複写中下りルート学習中(S101)状態で下りルート学習完了イベントを受けると、VM複写中下りルート学習完了(S103)に遷移する。
【００２４】
VM複写完了下りルート学習中(S102)状態で下りルート学習完了イベントを受けた場合、及びVM複写中下りルート学習完了(S103)の状態でVM複写完了イベントを受けた場合、ネットワーク制御装置はVM複写完了下りルート学習完了(S104)に遷移する。VM複写完了下りルート学習完了(S104)状態でVM切替開始要求イベントを受けると、VM切替中上りルート学習中(S105)に遷移する。
【００２５】
VM切替中上りルート学習中(S105)状態でVM切替完了イベントを受けると、VM切替完了上りルート学習中(S106)に遷移する。VM切替中上りルート学習中(S105)状態で上りルート学習完了イベントを受けた場合は、VM切替中上りルート学習完了(S107)に遷移する。VM切替完了上りルート学習中(S106)状態で上りルート学習完了イベントを受けた場合、及びVM切替中上りルート学習完了(S107)状態でVM切替完了イベントを受けた場合は、VM切替完了上りルート学習完了(S108)に遷移する。
VM切替完了上りルート学習完了(S108)から不要ルート削除完了イベントを受け、不要ルート削除完了(S109)に遷移する。
【００２６】
次に、図4に状態遷移図で示した本実施例の処理内容を、シーケンス図を参照して説明する。
本実施例においては、サーバ1(20)のハイパーバイザ(200)上で起動しているVMID001(201)をサーバ2(21)上に移動する要求がユーザからあった場合の例を示す。
【００２７】
図5は、本発明の一実施例におけるVM移動要求から下りルート学習完了までの処理を説明するシーケンス図である。
図5において、ユーザからのVM移動要求をネットワーク制御装置(10)で受ける(S501)と、ネットワーク制御装置(10)は、VM複写要求(S502)及びルーティングプロトコル設定(下り及び下りルート学習完了問い合わせ)をVM移動要求のあったサーバ1(20)のハイパーバイザー(200)に要求する。また、センタルータB(31)にルーティング設定を実施する(S503)。
【００２８】
サーバ1(20)のハイパーバイザ(200)は、ネットワーク制御装置(10)からVM複写要求を受け、サーバ2(21)のハイパーバイザ(210)にVM複写要求を発行する(S504)。VM複写要求発行後は、ハイパーバイザ(200)とハイパーバイザ(210)の間でVMコピーを実施する(S505)。ネットワーク制御装置(10)は、周期処理で下りルートの学習応答まで学習問合せ(S506)をネットワーク制御装置(10)内のルーティングテーブル監視部(120)に対して行い、ルーティングテーブル監視部(120)はアクセスルータ001(40)〜アクセスルータ999(42)のルーティング情報読み出しを実施する(S507、S508)。ルーティングテーブル監視部(120)が、学習完了を判断すると、学習完了応答をネットワーク制御装置(10)に発行する(S509)。
【００２９】
図6は、本発明の一実施例におけるVM複写完了応答から上りルート学習開始までの処理を説明するシーケンス図である。
図6において、サーバ2(21)のハイパーバイザ(210)からサーバ1(20)のハイパーバイザー(200)にVM複写完了応答がある(S601)。サーバ1(20)のハイパーバイザ(200)は、サーバ2(21)のハイパーバイザ(210)からのVM複写完了応答を受け、ネットワーク制御装置(10)にVMID、VM複写応答、複写先を応答する(S602)。ネットワーク制御装置(10)では、VMID、VM複写応答、複写先を受け、VM複写完了と下りルート学習完了を判断し、VM切替要求及びルーティングプロトコル設定(上り)及び上りルート学習完了問合せを実施し、VM切替要求をサーバ1(20)のハイパーバイザー(200)に要求し(S603)、上りルート学習のための設定値をアクセスルータ001(40)〜アクセスルータ999(42)及び、センタルータB(31)に設定する(S604、S607)。VM切替要求を受けた、サーバ1(20)のハイパーバイザ(200)は、サーバ2(21)のサーバ2(21)のハイパーバイザ(210)にVM切替要求を発行する(S605)。VM切替要求発行後は、ハイパーバイザ(200)とハイパーバイザ(210)の間でVM切替を実施する(S606)。
【００３０】
図7は、本発明の一実施例における上りルート学習完了待ち合わせからVM切替完了応答までの処理を説明するシーケンス図である。
図7において、ネットワーク制御装置(10)は、周期処理で学習問合せをネットワーク制御装置(10)内のルーティングテーブル監視部(120)に対して行い(S701)、ルーティングテーブル監視部(120)は上りルートの学習応答までセンタルータB(31)及び、アクセスルータ001(40)〜アクセスルータ999(42)のルーティング情報読み出しを実施する(S702〜S705)。ルーティングテーブル監視部(120)が学習完了を判断し、学習完了応答をネットワーク制御装置(10)に発行する(S706)。また、VM切替完了をサーバ2(21)のハイパーバイザー(210)で判断しサーバ2(21)のハイパーバイザー(210)からサーバ1(20)のハイパーバイザ(200)にVM切替完了応答をする(S707)。サーバ1(20)のハイパーバイザ(200)では、VM切替完了応答を受け、ネットワーク制御装置(10)にVM切替応答を発行する(S708)。
【００３１】
図8は、本発明の一実施例における不要ルート削除要求からVM移動完了応答までの処理を説明するシーケンス図である。
図8において、ネットワーク制御装置(10)にてVM切替と上りルート学習の完了を判断し、ルーティング設定(削除)を実施する。ネットワーク制御装置(10)からセンタルータA(30)及び、アクセスルータ001(40)〜アクセスルータ999(42)にルーティング設定(削除)の設定値を設定する(S801、S802)。ネットワーク制御装置(10)内のルーティングテーブル監視部(120)は、周期処理にて、センタルータA(30)及び、アクセスルータ001(40)〜アクセスルータ999(42)のルーティン情報を呼び出し(S804〜S807)、ルート削除完了を判断し、学習完了応答をネットワーク制御装置(10)に発行する(S808)。ネットワーク制御装置(10)では、ルーティングテーブル監視部(120)からVM移動完了応答を受け、VM移動完了をユーザに応答する(S809)。
【００３２】
図9は、ネットワーク制御装置で保持するVM稼働状態及びIPルーティング状態管理テーブルの構成例を説明する図である。
図9に示すVM稼働状態及びIPルーティング状態管理テーブル(T10)は、ネットワーク制御装置(10)で保持しており、ユーザからのVM移動要求時に図4の状態遷移図で説明した、ネットワーク制御装置のVM移動状態及びルーティング状態を管理する。VM稼働状態及びIPルーティング状態管理テーブル(T10)は、VMID(T11)、VMが存在する物理サーバ(T12)、移動先の物理サーバ(T13)、移動状態(T14)、下りルート収集状態(T15)、上りルート収集状態(T16)、不要ルート削除状態(T17)の情報を保持している。VMID(T10)には、存在するVMIDが縦軸に記載される。VMが存在する物理サーバ(T12)には、VMが存在する物理サーバが記載される。移動先の物理サーバ(T13)には、ユーザから指定のあった移動先の物理サーバが記載される。移動状態(T14)にはネットワーク制御装置(10)で判断した状態(VM複写中、VM複写完了、VM切替中、VM切替完了)が記載される。下りルート収集状態(T15)、上りルート収集状態(T16)、不要ルート削除状態(T17)には、ネットワーク制御装置(10)で判断した、下りルート収集処理、上りルート収集処理、不要ルート削除処理の実施状態(未実施、実施中、実施完了)が記載される。また、VMが存在する物理サーバ(T12)、移動先の物理サーバ(T13)、移動状態(T14)、下りルート収集状態(T15)、上りルート収集状態(T16)、不要ルート削除状態(T17)が処理開始前であることを、ここでは-(ハイフン)で示している。
【００３３】
図10は、ネットワーク制御装置で保持するトポロジ管理テーブルの構成例を説明する図である。
図10において、トポロジ管理テーブル(T20)は、ネットワーク制御装置(10)のルーティングテーブル監視部(120)のアクセスルータ監視部(121)、センタルータ監視部(122)が周期的に取得したアクセスルータ及びセンタルータのルーティング情報を反映し保持している。つまり、トポロジ管理テーブル(T20)は、ネットワーク制御装置(10)が管理するネットワークに接続されるアクセスルータ、センタルータ、サーバ、VM等のルーティング情報を管理しているテーブルであり、ホスト名(T21)、IF名(T22)、IP(T23)、宛先IP(T24)の情報を保持している。ホスト名(T21)には、ホスト名が記載される。IF名(T22)には、接続されるIF名が記載される。IP(T23)には、IF(T22)に割り振られているIPが記載される。宛先IP(T24)には、IF(T22)の宛先IPが記載される。
【００３４】
図11は、初期状態において、アクセスルータ001が保持している設定情報及びルーティングテーブルの例を説明する図である。
図11に示すように、アクセスルータ001(40)が保持する設定情報の設定値(C1)は、使用するプロトコル、宛先、距離で構成される。初期状態で保持している設定値として、図11では、一例として、使用するプロトコルがrip、宛先がif11、距離がmetric 1及び使用するプロトコルがrip、宛先がif21、距離がmetric 7の場合を記載している。
ルーティングテーブル(T30)は、dst(T31)、nexthop(T32)、cost(T33)の情報を保持している。dst(T31)は、宛先ネットワークを記載する。nexthop(T32)は、受信したパケットを宛先ネットワークに転送するために次にパケットを転送する隣接ルータのアドレスを記載する。cost(T33)は、最適経路を選択するために使用される値であり、本実施例では、RIP(Routing Information Protocol)を使用しているため、コスト値を記載する。初期状態においてアクセスルータ001(40)が保持するルーティングテーブルは、図11に記載したように、例えば宛先ネットワークが通信端末001、VMID0001〜4について、ネクストホップ及びコスト値が格納されている。
【００３５】
図12は、初期状態において、センタルータAが保持している設定情報及びルーティングテーブルの例を説明する図である。
初期状態において、センタルータA(30)は、図12に示すように設定値として、本実施例ではrip if11 metric 1、rip if12 metric 1、rip if13 metric 1、rip if21 metric 1を保持している。また、ルーティングテーブルには宛先ネットワークが通信端末001〜999及びVMID0001〜0003について、ネクストホップ及びコスト値が設定されている。
【００３６】
図13に、下りルート学習時にセンタルータBで保持する設定情報の例及び、下りルート学習後のセンタルータBのルーティングテーブルの例を示す。
図13において、センタルータB(31)で保持する設定情報の設定値(C1)は、下り方向の設定値にlistenが付与されており、下りルートの学習のみでデータの受信はできない状態とする。下りルート学習後のセンタルータBのルーティングテーブルは、宛先ネットワークが通信端末001〜999及びVMID0004について、ネクストホップ及びコスト値が設定されている。
【００３７】
図14は、上りルート学習時にアクセスルータ001で保持する設定情報の例及び、上りルート学習後のアクセスルータ001のルーティングテーブルの例を示す図である。
図14に示すように、上りルート学習時にアクセスルータ001は設定情報の設定値(C1)として、本実施例ではrip if11 metric 1、rip if21 metric 7、rip if22 metric 1を保持している。また、上りルート学習時のアクセスルータ001のルーティングテーブルには宛先ネットワークが通信端末001及びネクストホップがセンタルータAの宛先ネットワークVMID0001〜0004のルーティング情報及びにネクストホップがセンタルータBの宛先ネットワークVMID0001のルーティング情報が設定されている。
【００３８】
図15は、上りルート学習時にセンタルータBで保持する設定情報の例及び上りルート学習後のセンタルータBのルーティングテーブルの例を説明する図である。
図15において、センタルータB(31)で保持する設定情報の設定値として、本実施例ではrip if11 metric 1、rip if12 metric 1、rip if13 metric 1、rip if21 metric 1、 rip if22 metric 1を保持している。上りルート学習後のセンタルータBのルーティングテーブルには本実施例では、宛先ネットワークが通信端末001〜999及びVMID0001及びVMID0004について、ネクストホップ及びコスト値が設定されている。
【００３９】
図16は、不要ルート削除時にアクセスルータ001で保持する設定情報の例及び不要ルート削除後のアクセスルータ001のルーティングテーブルの例を説明する図である。
図16において、アクセスルータ001で保持する設定情報の設定値として、本実施例ではrip if11 metric 1、rip if21 metric 7、 rip if22 metric 1を保持している。上り不要ルート削除後のアクセスルータ001のルーティングテーブルには本実施例では、宛先ネットワークが通信端末001及びVMID0002〜VMID0004、及び移動後のVMID0001について、ネクストホップ及びコスト値が設定されている。
【００４０】
図17は、不要ルート削除時にセンタルータAで保持する設定情報の例及び不要ルート削除後のセンタルータAのルーティングテーブルの例を説明する図である。
図17において、センタルータAで保持する設定情報の設定値として、本実施例ではrip if11 metric 1、rip if12 metric 1、rip if13 metric 1、rip if21 metric 1を保持している。不要ルート削除後のセンタルータAのルーティングテーブルには、本実施例では、宛先ネットワークが通信端末001〜999及びVMID0002及びVMID0003について、ネクストホップ及びコスト値が設定されている。
【００４１】
図18を参照して、初期状態から、VM移動開始要求イベントを受けた時のネットワーク制御装置のフローを説明する。
ネットワーク制御装置(10)は、ユーザからの“VM移動元のサーバ”、“VM移動先のサーバ”、“VMID”の入力をユーザIF(101)で受ける(S1801)。ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、VMが存在する物理サーバ(T12)のハイパーバイザに移動先の物理サーバ(T13)にVMのコピー(複写)を開始するように要求する(S1802)。VM移動設定及びルーティング設定部(110)は、トポロジ管理テーブル(T20)を参照してセンタルータのアクセスルータ側の各IFのIPを取得し、“listen”を記載しセンタルータに設定する(S1803)。VM移動設定及びルーティング設定部(110)は、下りルート学習要求をルーティングテーブル監視部(120)に発行する。(S1804)
また、VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の移動状態(T14)にVM複写中、下りルート収集状態(T15)に実施中を記載する(S1805)。
【００４２】
図19を参照して、ネットワーク制御装置のルーティングテーブル監視部における下り学習完了判断処理のフローを説明する。
下りルート学習要求をルーティングテーブル監視部(120)が受け付ける(S1901)。ルーティングテーブル監視部(120)は、アクセスルータ監視部(121)からアクセスルータのルーティングテーブルを取得しトポロジ管理テーブル(T20)に記載する(S1902)。ルーティングテーブル監視部(120)は、センタルータ監視部(122)からセンタルータのルーティングテーブルを取得しトポロジ管理テーブル(T20)に記載する(S1903)。ルーティングテーブル監視部(120)は、トポロジ管理テーブル(T20)に移動先の物理サーバ(T13)のVMから通信端末001〜999までのルーティング情報があるかの判定を行い(S1904)、ある場合は、VM移動設定及びルーティング設定部に下り学習完了イベントを発行する(S1905)。トポロジ管理テーブル(T20)に移動先の物理サーバ(T13)のVMから通信端末001〜999までのルーティング情報がない場合は、ルーティングテーブル監視部(120)は、ステップ1902を実行する。
【００４３】
図20を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部がVM複写完了イベントを受けた時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)が、VM複写完了イベントを受け付ける( S2001)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の移動状態(T14)にVM複写完了を記載する(S2002)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の下りルート収集状態(T15)を確認し(S2003)、実施完了の場合は、VM切替要求、上りルート学習開始イベントを発行する(S2004)。下りルート収集状態(T15)を確認し、下りルートの収集が未実施である場合(図20では-(ハイフン)で示す)及び実施中の場合は、処理を終了させる。(S2005)
図21を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部が下りルート学習完了イベントを受けた時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、下りルート学習完了イベントを受け付ける(S2101)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の下りルート収集状態(T15)に実施完了を記載する(S2102)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の移動状態(T14)を確認し(S2103)、VM複写完了の場合は、VM切替要求、上りルート学習開始イベントを発行する(S2104)。移動状態(T14)を確認し、VMの複写が未実施である場合(図21では-(ハイフン)で示す)、VM複写中の場合は、処理を終了させる(S2105)。
【００４４】
図22を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部がVM切替要求、上りルート学習要求を発行する時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、VM複写完了、下りルート学習完了の応答を受ける (S2201)。VM移動設定及びルーティング設定部(110)は、VMが存在する物理サーバ(T12)にVM切替要求を発行する(S2202)。VM移動設定及びルーティング設定部(110)は、トポロジ管理テーブル(T20)を参照しアクセスルータのセンタルータ側の各IFのIPを取得しアクセスルータに設定する(S2203)。VM移動設定及びルーティング設定部(110)は、トポロジ管理テーブル(T20)を参照し、センタルータのサーバ側の各IFのIPを取得しセンタルータに設定する(S2204)。VM移動設定及びルーティング設定部(110)は、上りルート学習要求をルーティングテーブル監視部(120)に発行する(S2205)。VM稼働状態及びIPルーティング状態管理テーブル(T10)の移動状態(T14)にVM切替中、上りルート収集状態(T16)に実施中を記載する(S2206)
図23を参照して、ネットワーク制御装置のルーティングテーブル監視部における上りルート学習完了判断処理のフローを説明する。
ネットワーク制御装置(10)は、上りルート学習要求をルーティングテーブル監視部(120)で受け付ける(S2301)。ルーティングテーブル監視部(120)は、アクセスルータ監視部(121)からアクセスルータのルーティングテーブルを取得しトポロジ管理テーブルに記載する(S2302)。ルーティングテーブル監視部(120)は、センタルータ監視部(122)からセンタルータのルーティングテーブルを取得しトポロジ管理テーブルに記載する(S2303)トポロジ管理テーブル(T20)に通信端末001〜999から移動先のVMが存在する物理サーバ(T12)上のVMまでのルーティング情報がないか判定を行い(S2304)、ある場合は、ルーティングテーブル監視部(120)は、VM移動設定及びルーティング設定部(110)に上りルート学習完了イベントを発行する(S2305)。トポロジ管理テーブル(T20)に、通信端末001〜999から移動先のVMが存在する物理サーバ(T12)上のVMまでのルーティング情報がない場合は、ルーティングテーブル監視部(120)は、ステップ2302を実行する。
【００４５】
図24を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部がVM切替完了イベントを受けた時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、VM切替完了イベントを受け付ける(S2401)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の移動状態(T14)にVM切替完了を記載する(S2402)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の上りルート収集状態(T16)を確認し(S2403)、実施完了の場合は、ルーティング設定要求(削除)イベントを発行する(S2404)。上りルート収集状態(T16)を確認し(S2403)、上りルートの収集が未実施である場合(図24では-(ハイフン)で示す)、実施中の場合は、処理を終了させる(S2403)。
【００４６】
図25を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部が上りルート学習完了イベントを受けた時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、上りルート学習完了イベントを受け付ける(S2501)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の上りルート収集状態(T16)に実施完了を記載する(S2502)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の移動状態(T14)を確認し(S2503)、VM切替完了の場合は、ルーティング設定要求(削除)イベントを発行する(S2504)。移動状態(T14)を確認し(S2503)、VMの複写が未実施である場合(図25では-(ハイフン)で示す)、VM切替中の場合は、処理を終了させる(S2503)。
【００４７】
図26を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部が不要ルート削除要求を受けた時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、VM切替完了、上りルート学習完了応答を受ける(S2601)。VM移動設定及びルーティング設定部(110)は、トポロジ管理テーブル(T20)を参照しアクセスルータの各IFのIPを取得しアクセスルータに設定する(S2602)。VM移動設定及びルーティング設定部(110)は、トポロジ管理テーブル(T20)を参照し、センタルータのサーバ側の各IFのIPを取得しセンタルータに設定する(S2603)。VM移動設定及びルーティング設定部(110)は、ルーティング設定要求(削除)イベントをルーティングテーブル監視部(120)に発行する(S2604)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の不要ルート削除状態(T17)に実施中を記載する(S2605)。
【００４８】
図27を参照して、ネットワーク制御装置のルーティングテーブル監視部におけるルーティング設定要求(削除)完了判断処理のフローを説明する。
ネットワーク制御装置(10)は、ルーティング設定要求(削除)をルーティングテーブル監視部(120)で受け付ける(S2701)。ルーティングテーブル監視部(120)は、アクセスルータ監視部(121)からアクセスルータのルーティングテーブルを取得しトポロジ管理テーブルに記載する(S2702)。ルーティングテーブル監視部(120)は、センタルータ監視部(122)からセンタルータのルーティングテーブルを取得しトポロジ管理テーブルに記載する(S2703)。ルーティングテーブル監視部(120)は、トポロジ管理テーブル(T20)に、通信端末001〜999から移動先のVMが存在する物理サーバ(T12)上のVMまでのルーティング情報がないかの判定を行い(S2704)、ない場合は、VM移動設定及びルーティング設定部(110)にルーティング設定要求(削除)完了イベントを発行する(S2705)。トポロジ管理テーブル(T20)に通信端末001〜999から移動先のVMが存在する物理サーバ(T12)上のVMまでのルーティング情報がない場合は、ステップ2702を実行する。
【００４９】
図28を参照して、ネットワーク制御装置のVM移動設定及びルーティング設定部がルーティング設定要求(削除)完了イベントを受けた時のフローを説明する。
ネットワーク制御装置(10)のVM移動設定及びルーティング設定部(110)は、ルーティング設定要求(削除)完了イベントを受け付ける(S2801)。VM移動設定及びルーティング設定部(110)は、VM稼働状態及びIPルーティング状態管理テーブル(T10)の不要ルート削除状態(T17)に実施完了を記載する(S2802)。
【００５０】
本実施例では、下りルートの学習、設定を先行で実施し、その後上りルートの学習を実施し、ネットワーク制御装置(10)からの設定で上りルートの送受信を一斉に開始し、短時間での切替を可能とした一連の制御を例として説明した。しかしながら本発明は、この一連の制御フローにおいて、上り/下りといった特定の通信方向性を意識する事は前提ではなく、設定しても直接的には既存の(接続中のまたは通信中の)通信に影響を与える事の無いルート(本実施例における下りルート)の制御を先行して実施し、実際にルートの変更が必要になってから(本実施例においてはVMの移動が開始してから)、既存の通信に影響を与えるルート(本実施例における上りルート)の制御を実施する事が、課題を解決する手段の本質である。
【００５１】
また、ルートを制御する手段として同報機構(ブロードキャスト、マルチキャスト、ルートフラッディング、ルート広告、リンクステートフラッディング、構成変更メッセージの同報等)により、ルート或いはルートを決定づけるための情報(リンクステート等)を伝搬する手段を用いる事で、ルートの切替時間を更に短縮することができる。
【００５２】
本実施例では、ルートの学習手段として、ダイナミックルーティングプロトコルの一つである、RIP(Routing Information Protocol)を使用して説明したが、OSPF(Open Shortest Path First)やBGP(Border Gateway Protocol)等の他のプロトコルを用いても良い。ルートの学習手段として、OSPFを用いる場合には、上りと下りのルートを学習させるタイミングを個別に制御する手段として、リンクステートを片方向ずつ制御する方法を用いる事ができる。またOSPFを用いる場合の他の方法として、センタルータ〜サーバ間はOSPFドメイン外とし、OSPFドメイン内のリンクステートは先行して学習させるが、OSPFドメイン外の経路をドメイン外経路として学習させるための設定を、実際にルートの変更が必要になってから(本実施例におけるVMの移動が開始してから)、実施するようにしても良い。
【００５３】
また、RIP(Routing Information Protocol)のようなダイナミックルーティングプロトコルではなく、スタティックルートを、管理・制御プロトコル(SNMP(Simple Network Management Protocol), NetConf, CLI(Command Line Interface), SOAP(Simple Object Access Protocol), REST(REpresentational State Transfer), OpenFlow等)により設定しても良い。その場合、ルートを制御する際の同報機構として、前述の管理・制御プロトコルの下位レイヤ或いは管理・制御プロトコルを同報するための同報機構を設けると良い。例えば、SNMP-SETやOpenFlowメッセージを同報する為に、IPマルチキャストやIEEE802.3ブロードキャストを用いると良い。また、NetConfやCLI等のメッセージを解釈し、複数のルータに同報する為の機構(アプリケーションレイヤゲートウェイ)を設けても良い。
【００５４】
本実施例では、サーバ1(20)上のVMID001(201)をサーバ2(21)に複写した際の例を示したが、複写対象のVM数は1つに限らず、複数のVMを並行して複写することも可能である。
本実施例では、VMを複写し切替を実施した際の例について記載しているが、本発明の適用対象は、VMを複写する場合に限定されるものでは無く、本発明は、多数の通信相手と通信しているアドレスが変更される際のルート切替え全般に適用可能である。例えば、物理サーバを新規に構築し、既存のネットワークルーティングを引き継ぐ場合等の多種多様なケースに適用可能である。
【００５５】
本実施例では、IP(Internet Protocol)アドレスによりルーティングされるネットワークにおいて、IPアドレスがネットワーク内で変更される際に、IP転送ルートを学習する場合を例に説明したが、アドレス体系や転送ルートの学習・決定メカニズムはこれらに限定されるものではなく、本発明は、同報機構(ブロードキャスト、マルチキャスト、ルートフラッディング、ルート広告、リンクステートフラッディング、構成変更メッセージの同報等)により、ルート或いはルートを決定づけるための情報を伝搬することで、通信経路を制御するネットワーク全般に適用可能である。例えば、IEEE802.3ネットワーク、LDP(Label Distribution Protocol)を用いたMPLS(Multi Protocol Label Switching)網、MEF(Metro Ether Forum)E-Tree網、CDN(Content Delivery Network)等にも適用可能である。IEEE802.3ネットワークであれば任意のフレーム又はARP(Address Resolution Protocol),NDP(Neighbor Discovery Protocol)等により転送ルートを制御すると良い。また、マルチキャスト機構を備えたポイントツーマルチポイントの伝送(Transmission)パスであって、rootノードからのOAM(Operation Administration and Maintenance)フレームの同報により、leafノードのプロテクションスイッチを一括操作する機構を備えた網等にも適用可能である。
【００５６】
本実施例では、ユーザからの要求を受けてネットワーク制御装置(10)にて、複写、切替を実施する例について記載しているが、複写のトリガをサーバ1(20)等に持たせ、スケジューラでトリガを与えるタイミングを管理し複写、切替を実施することも可能である。
【符号の説明】
【００５７】
１０…ネットワーク制御装置、２０…サーバ1、２１…サーバ2、２２…サーバ3、
３０…センタルータA、３１…センタルータB、４０…アクセスルータ001、
４１…アクセスルータ002、４２…アクセスルータ999、５０…通信端末001、
５１…通信端末002、５２…通信端末999、６０…ネットワーク管理ルータ、
７０、７１…HUB、２００、２１０、２２０…ハイパーバイザ
２０１…VMID0001、２０２…VMID0002、２０３…VMID0003、２０４…VMID004
Ｉ１０１〜Ｉ３０１…if11〜if31
１１…中央演算装置（CPU）、１２…主記憶装置(メインメモリ)、
１３…入出力部(I/O IF)、１４、１５、１６…ネットワークインターフェース部(NIC)、
１７…補助記憶装置(HDD)
１０１…ユーザIF、１１０…VM移動設定及びルーティング設定部、
１１１…サーバ設定部、１１２…アクセスルータ設定部、１１３…センタルータ設定部、
１２０…ルーティングテーブル監視部、１２１…アクセスルータ監視部、
１２２…センタルータ監視部、
【図１】
2015220560.tif 000003
【図２】
2015220560.tif 000004
【図３】
2015220560.tif 000005
【図４】
2015220560.tif 000006
【図５】
2015220560.tif 000007
【図６】
2015220560.tif 000008
【図７】
2015220560.tif 000009
【図８】
2015220560.tif 000010
【図９】
2015220560.tif 000011
【図１０】
2015220560.tif 000012
【図１１】
2015220560.tif 000013
【図１２】
2015220560.tif 000014
【図１３】
2015220560.tif 000015
【図１４】
2015220560.tif 000016
【図１５】
2015220560.tif 000017
【図１６】
2015220560.tif 000018
【図１７】
2015220560.tif 000019
【図１８】
2015220560.tif 000020
【図１９】
2015220560.tif 000021
【図２０】
2015220560.tif 000022
【図２１】
2015220560.tif 000023
【図２２】
2015220560.tif 000024
【図２３】
2015220560.tif 000025
【図２４】
2015220560.tif 000026
【図２５】
2015220560.tif 000027
【図２６】
2015220560.tif 000028
【図２７】
2015220560.tif 000029
【図２８】
2015220560.tif 000030