JP5813699B2 - 通信システム、管理装置、管理方法および管理プログラム - Google Patents

通信システム、管理装置、管理方法および管理プログラム Download PDF

Info

Publication number
JP5813699B2
JP5813699B2 JP2013126103A JP2013126103A JP5813699B2 JP 5813699 B2 JP5813699 B2 JP 5813699B2 JP 2013126103 A JP2013126103 A JP 2013126103A JP 2013126103 A JP2013126103 A JP 2013126103A JP 5813699 B2 JP5813699 B2 JP 5813699B2
Authority
JP
Japan
Prior art keywords
address
virtual machine
network device
router
network
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.)
Active
Application number
JP2013126103A
Other languages
English (en)
Other versions
JP2015002438A (ja
Inventor
永渕 幸雄
幸雄 永渕
高明 小山
高明 小山
秀雄 北爪
秀雄 北爪
泰大 寺本
泰大 寺本
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013126103A priority Critical patent/JP5813699B2/ja
Publication of JP2015002438A publication Critical patent/JP2015002438A/ja
Application granted granted Critical
Publication of JP5813699B2 publication Critical patent/JP5813699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、通信システム、管理装置、管理方法および管理プログラムに関する。
近年、クラウドコンピューティングが普及し、データセンタに設置される物理サーバのリソースを用いて仮想環境を構築して、ユーザに各種サービスを提供することが行われている。また、仮想スイッチを用いて、異なるデータセンタ間を跨ったL2ネットワーク構築も行われている。
例えば、部門サーバ、経理サーバ、出退勤管理サーバ、ファイルサーバなどを仮想マシン(以下、VM(Virtual Machine)と記載する場合がある)によって実現する企業(Z)を例にして説明する。企業(Z)では、拠点(札幌)のデータセンタ(X)で仮想マシン(A)と仮想マシン(B)とを動作させ、拠点(福岡)のデータセンタ(Y)で仮想マシン(C)と仮想マシン(D)とを動作させる。そして、Open vSwitchなどによる仮想スイッチを用いて、データセンタ(X)とデータセンタ(Y)とを仮想L2ネットワークで接続する。
このようにして、企業(Z)では、異なるデータセンタで動作して各サービスを提供する仮想マシン間の通信を実現することで、各拠点にいる社員に対して、拠点に依存することなく、各種サービスの提供を行う。
石井久治、上野和風、田上啓介、飯田浩二、藤田智成、森田和孝著、「オープンソースlaaS クラウド基盤OpenStack」、NTT技術ジャーナルVol.23、No.8、2011. 北爪秀雄、小山高明、田島佳武、岸寿春、井上朋子著、「クラウドサービスを支えるネットワーク仮想化技術」、NTT技術ジャーナルVol.23、No.10、2011.
しかしながら、上記技術では、仮想マシンのマイグレーション等が発生した場合に、通信経路が冗長になり、通信遅延が発生するという問題がある。
一例として、上記企業(Z)を例にして説明すると、社員のパーソナルコンピュータ(以下、PCと記載する場合がある)は、インターネットなどを用いて各拠点に接続して仮想マシンを利用する状況において、拠点(札幌)の社員が拠点(福岡)に出張することに伴って、利便性等を向上させるために、仮想マシン(B)を拠点(福岡)のデータセンタ(Y)にマイグレーションさせたとする。この場合、インターネットを利用する社員のPCのデフォルトゲートウェイ(以下、「デフォルトGW」と略記することがある)は、ISP(Internet Service Provider)が指定したルータのIPアドレスとなる。また、マイグレーションした仮想マシン(B)のデフォルトゲートウェイは、マイグレーション元のデータセンタ(X)のルータが設定される。
このため、社員が出張先の福岡から仮想マシン(B)にアクセスした場合、社員のPCは、仮想マシン(B)からの応答を、出張先である拠点(福岡)のデータセンタ(Y)、データセンタ間の仮想L2ネットワーク、出張元である拠点(札幌)のデータセンタ(X)を経由して受信する。つまり、社員のPCは、出張に伴って仮想マシン(B)を出張先にマイグレーションさせたにも関らず、出張元を経由して仮想マシン(B)からの応答を受信することになる。このように、仮想マシン(B)からユーザ端末への通信距離が長くなり、無駄に遅延が大きくなる。
また、仮想マシン(B)のデフォルトゲートウェイを変更することも考えられるが、管理者でもない社員にネットワークの設定変更を実行させることは、セキュリティの観点からも現実的ではない。
開示の技術は、上記に鑑みてなされたものであって、通信遅延を縮小化することができる通信システム、管理装置、管理方法および管理プログラムを提供することを目的とする。
本願の一実施形態は、第1の拠点に設置される第1のネットワーク装置と、第2の拠点に設置される第2のネットワーク装置と、前記第1のネットワーク装置または前記第2のネットワーク装置が通信を中継する仮想マシンを管理する管理装置とを有し、各ネットワーク装置が同一ネットワークセグメント内で同一のIP(Internet Protocol)アドレスが設定された通信システムであって、前記管理装置が、前記第1の拠点で動作する仮想マシンを前記第2の拠点へマイグレーションさせるマイグレーション実行部と、前記マイグレーション実行部によってマイグレーションが実行された後に、前記同一ネットワークセグメント内で同一のIPアドレスが設定された各ネットワーク装置のうち前記第2の拠点におけるネットワーク装置に対して、前記マイグレーションした仮想マシンを中継対象の仮想マシンとして設定する設定部と、を有し、前記ネットワーク装置が、前記中継対象とする仮想マシンのアドレス情報を記憶する記憶部と、仮想マシンから当該ネットワーク装置のMAC(Media Access Control)アドレスを問い合わせるアドレス要求を受信する受信部と、前記受信部によって受信された前記アドレス要求に含まれる送信元のアドレス情報が前記記憶部に記憶されている場合に、前記送信元の仮想マシンに対して、当該ネットワーク装置のMACアドレスを応答する応答部と、を有することを特徴とする。
本願の一実施形態によれば、通信遅延を縮小化することができる。
図1は、第1の実施形態に係るシステムの全体構成例を示す図である。 図2は、VMを動作させる物理サーバの階層構造を示す図である。 図3は、クラウドコントローラの機能構成を示す機能ブロック図である。 図4は、ルータ管理テーブルに記憶される情報の例を示す図である。 図5は、VM管理テーブルに記憶される情報の例を示す図である。 図6は、ルータの機能構成を示す機能ブロック図である。 図7は、管理対象テーブルに記憶される情報の例を示す図である。 図8は、同期情報テーブルに記憶される情報の例を示す図である。 図9は、VMのマイグレーション後に中継対象を変更する具体例を説明する図である。 図10は、出張先情報を登録する画面例を示す図である。 図11は、管理対象テーブルの更新例を説明する図である。 図12は、ARP要求の一例を示す図である。 図13は、ARP応答の一例を示す図である。 図14は、ARPテーブルの更新例を説明する図である。 図15は、マイグレーション後の経路が変更される例を説明する図である。 図16は、第1の実施形態に係るクラウドコントローラにおけるIPアドレス設定処理の流れを示すフローチャートである。 図17は、第1の実施形態に係るルータが実行するARP応答処理の流れを示すフローチャートである。 図18は、第2の実施形態に係るルータ間の同期処理の流れを示すフローチャートである。 図19は、第2の実施形態に係るルータが実行するARP応答処理の流れを示すフローチャートである。 図20は、管理プログラムを実行するコンピュータを示す図である。
以下に、本願の開示する通信システム、管理装置、管理方法および管理プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。以下に説明する実施形態は、矛盾のない範囲で適宜組み合わせることができる。
[第1の実施形態]
(全体構成)
図1は、第1の実施形態に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、例えば企業の拠点間をネットワークで接続するシステムであり、それぞれデータセンタを有する拠点(札幌)1と拠点(福岡)11各々とWebサーバ50とがインターネットなどのネットワーク20で接続される。
Webサーバ50は、ユーザ端末10から、マイグレーションさせる仮想マシンの情報を受け付けるサーバ装置であり、物理装置で実現される。例えば、Webサーバ50は、拠点(札幌)1で動作するVM(B)を、拠点(福岡)11にマイグレーションさせるなどの指示を受け付けて、受け付けた指示内容を後述するクラウドコントローラ30に送信する。
例えば、Webサーバ50は、ユーザ端末10からマイグレーション要求を受信すると、Web画面などをユーザ端末10に表示させる。そして、Webサーバ50は、Web画面上で、マイグレーション対象およびマイグレーション先の入力を受け付けて、受け付けた情報をクラウドコントローラ30に送信する。
(拠点(札幌))
拠点(札幌)1は、ユーザ端末10とデータセンタ2とを有する。ユーザ端末10は、データセンタ2または拠点(福岡)11のデータセンタ12等で動作する仮想マシンにアクセスして、各種サービスを利用する端末装置であり、例えばノートパソコンやスマートフォンなどである。
データセンタ2は、1台以上の物理サーバが設置され、クラウドコントローラ30や物理サーバの物理リソースを用いて仮想マシンと記載する場合がある)を動作させるデータセンタである。なお、物理リソースとしては、通信インタフェース、プロセッサ、メモリ、ハードディスクなどである。
具体的には、データセンタ2は、CE(Customer Edge)ルータ3、ルータ4、OVS(Open vSwitch)5、VM(A)、VM(B)、クラウドコントローラ30を有する。CEルータ3は、インターネットなどの通信事業者ネットワーク1aと企業内LAN(Local Area Network)などの企業内ネットワークとの境界に設置されたエッジルータであり、このCEルータ3は、物理装置で実現される。
ルータ4は、企業内ネットワークにおいて、拠点(札幌)1のデータセンタ2と拠点(福岡)11のデータセンタ12とを同じネットワークセグメント22で分割するルータである。すなわち、ルータ4は、ユーザ端末10と各データセンタの各VMとの通信を中継する。このルータ4のインタフェース4aは、CEルータ3と接続されるインタフェースであり、IP(Internet Protocol)アドレスとして「IP(4a)」が設定される。また、ルータ4のインタフェース4bは、各VMと接続されるインタフェースであり、IPアドレスとして「IP(10)」が設定される。
したがって、拠点(札幌)1で使用されるユーザ端末10には、デフォルトゲートウェイとして「IP(4a)」が接続される。このため、ユーザ端末10は、各VMにアクセスする場合は、ルータ4を経由してアクセスする。なお、このルータ4は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
OVS5は、各データセンタの各ルータと各VMとを中継するスイッチであり、データセンタ12のOVS15と協働して、データセンタ間を仮想L2ネットワーク21で接続する仮想スイッチである。例えば、OVS5は、ルータ4のインタフェース4b、VM(A)、VM(B)、データセンタ12のOVS15、クラウドコントローラ30のそれぞれと接続される。
VM(A)は、例えばWebサーバやDBサーバなどを実行する仮想マシンであり、IPアドレスとして「IP(A)」、MAC(Media Access Control)アドレスとして「MAC(A)」が設定される。VM(B)は、例えばWebサーバやDBサーバなどを実行する仮想マシンであり、IPアドレスとして「IP(B)」、MACアドレスとして「MAC(B)」が設定される。これらのVMは、OVS5を介して、ユーザ端末10と通信を実行する。
クラウドコントローラ30は、VMを管理するサーバ装置である。このクラウドコントローラ30は、物理装置で実現されてもよく、仮想マシンで実現されてもよい。例えば、クラウドコントローラ30は、各拠点で動作するVMのIPアドレスやMACアドレスを記憶する。
また、クラウドコントローラ30は、ユーザ操作、管理者操作、予め定められた所定契機などで、所望のVMを他の拠点にマイグレーションさせる。例えば、クラウドコントローラ30は、Webサーバ50から、データセンタ2で動作するVM(B)をデータセンタ12にマイグレーションさせる指示を受信する。すると、クラウドコントローラ30は、受信した指示にしたがって、VM(B)をデータセンタ12にマイグレーションさせる。また、クラウドコントローラ30は、Webサーバを介することなく、ネットワーク管理者や保守者からの操作を直接受け付けて、マイグレーションを開始してもよい。
なお、本実施形態では、拠点(札幌)1のデータセンタ2内にクラウドコントローラ30を設置した例で説明したが、これに限定されるものではない。例えば、拠点(福岡)11のデータセンタ12内に設置されていてもよい。また、クラウドコントローラ30とWebサーバ50とを統合したサーバをインターネット20に接続してもよい。
クラウドコントローラ30をインターネット20上に接続する場合、クラウドコントローラ30から各VMへの通信は、ルータ4等でアドレス変換やポート変換が行われる。また、クラウドコントローラ30と各VM等との間を、暗号化トンネリング通信等で接続してもよい。
(拠点(福岡))
拠点(福岡)11は、データセンタ12を有する。データセンタ12は、1台以上の物理サーバが設置され、物理サーバの物理リソースを用いて仮想マシンを動作させるデータセンタである。
具体的には、データセンタ12は、CEルータ13、ルータ14、OVS15、VM(C)、VM(D)を有する。CEルータ13は、インターネットなどの通信事業者ネットワーク11aと企業内LANなどの企業ネットワークとの境界に設置されたエッジルータであり、このCEルータ13は、物理装置で実現される。
ルータ14は、企業内ネットワークにおいて、拠点(札幌)1のデータセンタ2と拠点(福岡)11のデータセンタ12とを同じネットワークセグメント22で分割するルータである。すなわち、ルータ14は、外部装置と各データセンタの各VMとの通信を中継する。このルータ14のインタフェース14aは、CEルータ13と接続されるインタフェースであり、IPアドレスとして「IP(14a)」が設定される。また、ルータ14のインタフェース14bは、各VMと接続されるインタフェースであり、IPアドレスとして「IP(10)」が設定される。なお、このルータ14は、仮想マシンで実現されてもよく、物理装置で実現されてもよい。
OVS15は、各データセンタの各ルータと各VMとを中継するスイッチであり、データセンタ2のOVS5と協働して、データセンタ間を仮想L2ネットワーク21で接続する仮想スイッチである。例えば、OVS15は、ルータ14のインタフェース14b、VM(C)、VM(D)、データセンタ2のOVS5のそれぞれと接続される。
VM(C)は、例えばWebサーバやDBサーバなどを実行する仮想マシンであり、IPアドレスとして「IP(C)」が設定される。VM(D)は、例えばWebサーバやDBサーバなどを実行する仮想マシンであり、IPアドレスとして「IP(D)」が設定される。これらのVMは、OVS15を介して、データセンタ外の外部装置と通信を実行する。
(ネットワーク構成)
上述したように、ルータ4のインタフェース4bとルータ14のインタフェース14bには、同じIPアドレス「IP(10)」が設定されている。また、各VMは、動作する拠点が異なるが、同じネットワークセグメントで動作する。つまり、ルータ4、ルータ14、OVS5、OVS15、VM(A)、VM(B)、VM(C)、VM(D)は、仮想L2ネットワーク21で接続され、同じネットワークセグメント22で動作する。したがって、拠点(福岡)11のルータ14とVM(A)やVM(B)が通信可能に接続されており、拠点(札幌)1のルータ4とVM(C)やVM(D)が通信可能に接続されている。
(階層構造)
図2は、VMを動作させる物理サーバの階層構造を示す図である。なお、ここでは、一例として1台の物理サーバでVMを動作させる例を説明するが、これに限定されるものではなく、複数台の物理サーバを用いて動作させることができる。
データセンタ2では、物理サーバ6が動作し、データセンタ12では、物理サーバ16が動作する。各物理サーバは、一般的なサーバ装置であり、ハードウェア、プロセッサ、メモリ等を有する。
データセンタ2の物理サーバ6は、ハードウェア6a上でハイパーバイザなどの仮想化ソフトウェア6bを動作させて、仮想環境を提供する。仮想化ソフトウェア6bは、仮想スイッチ6cを動作させる。
同様に、データセンタ12の物理サーバ16は、ハードウェア16a上でハイパーバイザなどの仮想化ソフトウェア16bを動作させて、仮想環境を提供する。仮想化ソフトウェア16bは、仮想スイッチ16cを動作させる。
ここで、仮想スイッチ6cと仮想スイッチ16cは、例えばOpen vSwitch、Open Flow、KVMなどを用いて実現され、仮想L2ネットワーク21を構築する。すなわち、異なるデータセンタ間を仮想ネットワークで通信可能に接続する。
そして、各物理サーバの各仮想化ソフトウェアは、仮想L2ネットワーク21を利用可能な状態で仮想マシンを動作させる。具体的には、仮想化ソフトウェア6bは、物理サーバ6の物理リソースを用いてVM(A)とVM(B)とを動作させ、仮想スイッチ6cを経由して、各VMを仮想L2ネットワーク21に接続する。同様に、仮想化ソフトウェア16bは、物理サーバ16の物理リソースを用いてVM(C)とVM(D)とを動作させ、仮想スイッチ16cを経由して、各VMを仮想L2ネットワーク21に接続する。
(クラウドコントローラの構成)
次に、図1に示したクラウドコントローラ30の構成について説明する。図3は、クラウドコントローラの機能構成を示す機能ブロック図である。図3に示すように、クラウドコントローラ30は、通信制御部31、記憶部32、制御部33を有する。ここでは、クラウドコントローラ30が物理装置である例で説明するが、クラウドコントローラ30がVMで実現されている場合でも、物理リソースを用いて同様の機能が実行される。
通信制御部31は、他の装置の通信を制御する処理部である。例えば、通信制御部31は、Webサーバ50からマイグレーション指示およびマイグレーションに関する情報を受信し、ルータ4、14に各種情報を送信する。
記憶部32は、メモリやハードディスクなどの記憶装置であり、ルータ管理テーブル32aおよびVM管理テーブル32bを保持する。なお、クラウドコントローラ30が仮想マシンである場合には、記憶部32は、クラウドコントローラ30に対して割り当てられた、物理サーバのメモリやハードディスクの所定領域などが該当する。
ルータ管理テーブル32aは、ルータの配下にあるVMに関する情報を記憶するテーブルである。図4は、ルータ管理テーブルに記憶される情報の例を示す図である。図4に示すように、ルータ管理テーブル32aは、「ルータ名」、「配下VM」を対応付けて記憶する。ここで記憶される「ルータ名」は、ルータを識別する情報であり、「配下VM」は、各ルータの配下にあるVMを識別する情報である。
例えば、図4の一例を用いて説明すると、ルータ管理テーブル32aは、「ルータ4」の配下にあるVMが、「VM(A)」および「VM(B)」であり、「ルータ14」の配下にあるVMが、「VM(C)」および「VM(D)」であることを記憶している。なお、ここでは、ルータ4とルータ14とを同一のグループであるものとし、後のルータの説明で詳述するように、ルータ4とルータ14との間で管理情報等を同期する。また、ルータ4とルータ14とは、後述するアドレス設定部33cにより事前に同一グループに設定されているものとする。
VM管理テーブル32bは、VMのIPアドレスと、VMのデフォルトGWのIPアドレスとを記憶するテーブルである。図5は、VM管理テーブルに記憶される情報の例を示す図である。図5に示すように、VM管理テーブル32bは、「VM名」、「VMのIPアドレス」、「デフォルトGWのIPアドレス」を対応付けて記憶する。ここで記憶される「VM名」は、各VMを識別する情報であり、「VMのIPアドレス」は、各VMに設定されたIPアドレスであり、「デフォルトGWのIPアドレス」は、各VMに設定されたデフォルトGWのIPアドレスである。
例えば、図5の一例を用いて説明すると、VM管理テーブル32bは、IPアドレスとして「IP(A)」を有する「VM(A)」のデフォルトGWのIPアドレスが「IP(10)」であることを記憶している。
制御部33は、プロセッサなどの電子回路であり、要求受付部33a、マイグレーション実行部33b、アドレス設定部33cを有する。つまり、各処理部は、プロセッサなどが実行するプロセスやプロセッサが有する電子回路などである。クラウドコントローラ30が仮想マシンである場合には、制御部33は、クラウドコントローラ30に対して割り当てられた、物理サーバのプロセッサが実行する処理部である。
要求受付部33aは、Webサーバ50がユーザ端末10から受け付けたVMのマイグレーション指示を受信する処理部である。例えば、要求受付部34は、拠点1のVM(B)を拠点11にマイグレーションさせる指示を受信し、受信した情報をマイグレーション実行部33bに出力する。要求受付部33aは、Webサーバ50からのマイグレーション指示として、例えば、移動元を示す情報である「移動元」(例えば、「札幌」)、移動先を示す情報である「移動先」(例えば、「福岡」)、移動対象となるサービスやVMを示す「移動対象」を受け付ける。
マイグレーション実行部33bは、Webサーバ50から受け付けたマイグレーション実行要求に応じて、VMのマイグレーションを実行する。具体的には、マイグレーション実行部33bは、移動対象のVMを、移動元の拠点のデータセンタから移動先の拠点のデータセンタにマイグレーションさせる。
例えば、マイグレーション実行部33bは、Webサーバ50から、移動元が「札幌」、移動先が「福岡」、移動対象が「VM(B)」であるマイグレーション実行要求を受け付けた場合には、クラウドコントローラ30は、拠点(札幌)1のデータセンタ2で動作するVM(B)を、出張先の拠点(福岡)11のデータセンタ12内にマイグレーションさせる処理を実行する。
アドレス設定部33cは、マイグレーション実行部33bによってマイグレーションが実行された後に、同一ネットワークセグメント内で同一のアドレスが設定された各ルータのうち移動先の拠点におけるネットワーク装置に対して、マイグレーションしたVMを中継対象のVMとして設定する。
具体的には、アドレス設定部33cは、マイグレーション実行部33bによって実行されたマイグレーションが完了した後、移動後のVMのMACアドレスの登録ルータを変更する指示を移動元の拠点に設置されたルータと移動先の拠点に設置されたルータに通知する。
例えば、図1の例を用いて具体的に説明すると、アドレス設定部33cは、デフォルトGWのIPアドレスが「IP(10)」であるVM(B)を、データセンタ2からデータセンタ12にマイグレーションさせた場合には、移動後のVMのMACアドレスの登録ルータをデータセンタ2におけるルータ4から、データセンタ12におけるルータ14に変更する。この場合、アドレス設定部33cは、ルータ14に対して中継対象としてVM(B)を追加する旨の指示を通知し、ルータ4に対して中継対象としてVM(B)を削除する旨の指示を通知する。
(ルータの構成)
次に、図1に示したルータ4およびルータ14の構成について説明する。なお、ルータ4とルータ14とは同様の構成を有するので、ここでは、ルータ14を例にして説明する。また、ここでは、ルータ14が物理装置である例で説明するが、ルータ14がVMで実現されている場合でも、物理リソースを用いて同様の機能が実行される。
図6は、ルータの機能構成を示す機能ブロック図である。図6に示すように、ルータ14は、通信制御部141、記憶部142、制御部143を有する。
通信制御部141は、インタフェース14aおよび14bを有し、他の装置の通信を制御する処理部である。例えば、通信制御部141は、外部装置からVM(C)への通信、VM(C)から外部装置への通信などを中継する。なお、インタフェース14aには、IPアドレス「IP(14a)」が設定されており、インタフェース14bには、IPアドレス「IP(10)」が設定されている。
記憶部142は、メモリやハードディスクなどの記憶装置であり、優先度テーブル142a、管理対象テーブル142b、同期情報テーブル142c、ルーティングテーブル142dを保持する。なお、ルータ14が仮想マシンである場合には、記憶部142は、ルータ14に対して割り当てられた、物理サーバのメモリやハードディスクの所定領域などが該当する。
優先度テーブル142aは、同一ネットワークセグメント内で動作し、同じIPアドレスが設定されたルータにおいて、自ルータに設定されている優先度を記憶するテーブルである。例えば、優先度テーブル142aは、優先度「5」などと記憶する。なお、ここで記憶される優先度は、管理者等によって設定される。
管理対象テーブル142bは、ルータ14が通信を中継するVMの情報を記憶するテーブルである。図7は、管理対象テーブルに記憶される情報の例を示す図である。図7に示すように、管理対象テーブル142bは、「項番」、「VM名」、「MAC(Media Access Control)アドレス」を対応付けて記憶する。ここで記憶される「項番」は、レコードを識別する識別子であり、「VM名」は、中継対象のVMを識別する情報であり、「MACアドレス」は、中継対象のVMのMACアドレスである。なお、MACアドレスではなく、IPアドレスであってもよい。
図7の場合、ルータ14は、MACアドレスとして「MAC(C)」を有するVM(C)、MACアドレスとして「MAC(D)」を有するVM(D)を中継対象としていることが示されている。なお、ここで記憶される情報は、管理者によって設定される。
同期情報テーブル142cは、同一ネットワークセグメント内で動作し、同じIPアドレスが設定されたルータから取得した情報を記憶するテーブルである。図8は、同期情報テーブルに記憶される情報の例を示す図である。図8に示すように、同期情報テーブル142cは、「取得先ルータ、優先度、管理対象」を対応付けて記憶する。
ここで記憶される「取得先ルータ」は、同期対象のルータを識別する情報であり、「優先度」は、同期対象のルータから取得された同期対象のルータに設定される優先度である。「管理対象」は、同期対象のルータから取得された同期対象のルータが中継対象とするVMの情報である。
図8の例は、ルータ4から取得された情報であり、ルータ4には優先度「10」が設定されており、ルータ4の中継対象がMACアドレス「MAC(A)」のVM(A)とMACアドレス「MAC(B)」のVM(B)であることを示している。
ルーティングテーブル142dは、データを中継する中継経路すなわちルーティング情報を記憶するテーブルである。具体的には、ルーティングテーブル142dは、各VM間の経路、各VMと外部ネットワークへの経路等を記憶する。
制御部143は、プロセッサなどの電子回路であり、管理情報受付部144、競合検出抑止部145、ARP応答部146、同期実行部147、中継処理部148を有する。つまり、各処理部は、プロセッサなどが実行するプロセスやプロセッサが有する電子回路などである。ルータ14が仮想マシンである場合には、制御部143は、ルータ14に対して割り当てられた、物理サーバのプロセッサが実行する処理部である。
管理情報受付部144は、クラウドコントローラ30から設定情報を受け付ける処理部である。例えば、管理情報受付部144は、クラウドコントローラ30から優先度の設定を受け付けて、優先度テーブル142aに格納する。また、管理情報受付部144は、クラウドコントローラ30から中継対象のVMの情報を受け付けて、管理対象テーブル142bに格納する。
また、管理情報受付部144は、VMのマイグレーションが行われた場合に、クラウドコントローラ30から中継対象のVMを追加する旨の指示、または、中継対象のVMを削除する旨の指示を受け付ける。この指示を受け付けた場合には、管理情報受付部144は、管理対象テーブル142bに格納された情報に対して、中継対象のVMの情報の追加または削除を行う。
競合検出抑止部145は、同一ネットワークセグメント内において、自ルータに設定されるIPアドレスと同一のIPアドレスが検出された場合に、エラー通知を抑止し、同一アドレスの設定を許容する処理部である。
例えば、ルータ4のインタフェース4bにIPアドレス「IP(10)」が設定されている状態で、自ルータ14のインタフェース14bにIPアドレス「IP(10)」を設定したとする。この場合、競合検出抑止部145は、ルータ4およびルータ14が共に起動していると、IPアドレスの競合を検知する。しかし、競合検出抑止部145は、IPアドレスの競合を検知した場合でも、エラー通知を抑止する。この結果、ルータ4と自ルータ14、すなわち、同一ネットワークセグメント内でIPアドレスの重複が許容される。したがって、ルータ4のインタフェース4bとルータ14のインタフェース14bに、同じIPアドレス「IP(10)」が設定される状態が許容される。
ARP応答部146は、VMからARP(Address Resolution Protocol)要求を受信した場合に、管理対象のVMに対してARP応答を応答する処理部である。具体的には、ARP応答部146は、受信したARP要求のうち、管理対象テーブル142bに格納されているMACアドレスを送信元のMACアドレスとして含むARP要求に対して、ルータ14のMACアドレスを応答する。
例えば、ARP応答部146は、VM(C)からARP要求したとする。この場合、ARP応答部146は、当該ARP要求からVM(C)のMACアドレス「MAC(C)」を抽出する。そして、ARP応答部146は、管理対象テーブル142bを参照し、抽出したMACアドレス「MAC(C)」がテーブルに登録されていることから、送信元が中継対象のVMであると判定する。この結果、ARP応答部146は、受信したARP要求の送信元であるVM(C)に、自ルータのMACアドレス「MAC(14)」を応答する。
一方、ARP応答部146は、VM(B)からARP要求したとする。この場合、ARP応答部146は、当該ARP要求からVM(B)のMACアドレス「MAC(B)」を抽出する。そして、ARP応答部146は、管理対象テーブル142bを参照し、抽出したMACアドレス「MAC(B)」がテーブルに登録されていないことから、送信元が中継対象外のVMであると判定する。この結果、ARP応答部146は、受信したARP要求に対する応答を抑止する。
同期実行部147は、所定の間隔で、同一ネットワークセグメントに存在するルータとの間で優先度や管理情報を同期する処理部である。具体的には、同期実行部147は、同一ネットワークセグメントで同じグループに属するルータとの間で、同期処理を実行する。
例えば、同期実行部147は、同期タイミングに到達すると、優先度テーブル142aに記憶される優先度と、管理対象テーブル142bに記憶される中継対象のルータ情報とを抽出して、ルータ4に送信する。また、同期実行部147は、優先度および中継対象のルータ情報をルータ4から受信すると、同期情報テーブル142cに格納する。なお、同期タイミングとしては、1時間ごとや設定変更時など任意に設定することができる。
中継処理部148は、受信したデータを宛先に中継する処理部である。具体的には、中継処理部148は、中継対象のVMを宛先とするパケット、または、中継対象のVMを送信元とするパケットを受信した場合に、ルーティングテーブル142dに記憶される情報に基づいて、NAT(Network Address Translation)変換等を行って当該パケットを宛先に送信する。
(具体例)
次に、ユーザ端末10のユーザが拠点(札幌)1から拠点(福岡)11へ出張するのに伴って、利便性向上のために、ユーザが利用するVM(B)をデータセンタ12へマイグレーションさせた場合に、ルータが中継対象を変更する例を説明する。
図9は、VMのマイグレーション後に中継対象を変更する具体例を説明する図である。図9に示すように、ユーザ端末10は、Webサーバ50へアクセスして、Web画面等を用いて出張先の情報を登録し、サービス等の移動を要求する(S101)。図10は、出張先情報を登録する画面例を示す図である。Webサーバ50は、ユーザ端末10からのアクセスを受け付けると、図10に示す画面をユーザ端末10に応答する。
図10に示す画面は、「ユーザID、移動元、移動先、移動対象」を入力させる画面である。「ユーザID」は、出張するユーザの識別子である。「移動元」は、出張元を示す情報であり、「移動先」は、出張先を示す情報であり、「移動対象」は、出張先で使用するサービスやサーバを特定する情報である。この「移動元」、「移動先」、「移動対象」は、例えばプルダウンメニュー等で容易に選択することができる。
ここでは、図10に示すように、Webサーバ50は、ユーザID「U001」、移動元「札幌」、移動先「福岡」、移動対象「Webサーバ(VM(B))」の入力を受け付けたものとする。
続いて、クラウドコントローラ30は、Webサーバ50からマイグレーション内容を取得し、取得したマイグレーション内容に基づいて、拠点(札幌)1のデータセンタ2で動作するVM(B)を、出張先の拠点(福岡)11のデータセンタ12内にマイグレーションさせる(S102)。また、ユーザ端末10が拠点(札幌)1から拠点(福岡)11に移動する(S103)。
そして、クラウドコントローラ30は、VM(B)のマイグレーションが完了すると、移動後のVMのMACアドレスの登録ルータを変更する指示を、移動元の拠点1に設置されたルータ4と移動先の拠点11に設置されたルータ14とに通知する(S104)。具体的には、クラウドコントローラ30は、移動元の拠点1に設置されたルータ4に対して中継対象としてVM(B)を削除する旨の指示を通知し、移動先の拠点11に設置されたルータ14に中継対象としてVM(B)を追加する旨の指示を通知する。
クラウドコントローラ30から指示を受け付けたルータ4、14は、指示に従って管理対象テーブル142bの更新を行う。図11は、管理対象テーブルの更新例を説明する図である。図11に示すように、クラウドコントローラ30は、ルータ14の管理対象テーブル142bに、「項番(3)、VM名(VM(B))、MACアドレス(MAC(B))」を追加する。このとき、クラウドコントローラ30は、移動元のデータセンタ2に設置されるルータ4の管理対象テーブルから、マイグレーション候補のVM(B)に関する情報を削除する。
また、マイグレーションが完了すると、マイグレーションされたVM(B)は、デフォルトゲートウェイのIPアドレス「IP(10)」に対して、ARP要求を送信し、ARPテーブルの更新を実行する(S105)。
具体的には、VM(B)は、デフォルトゲートウェイのIPアドレス「IP(10)」に対して、ARP要求を送信する。図12は、ARP要求の一例を示す図である。図12に示すように、VM(B)は、宛先を示す「宛先IPアドレス(IP(10))」と送信元を示す「自MACアドレス(MAC(B))」とを含むARP要求を送信する。
続いて、ルータ4およびルータ14は、VM(B)からのARP要求を受信する。ここで、ルータ4は、管理対象テーブルからVM(B)のMACアドレス「MAC(B)」が削除されていることから、ARP応答を抑止する。
一方で、ルータ14は、管理対象テーブル142bにVM(B)のMACアドレス「MAC(B)」が追加されていることから、ARP応答を実行する。図13は、ARP応答の一例を示す図である。図13に示すように、ルータ14は、ARP要求の送信元であるVM(B)に対して、送信元を示す「送信元IPアドレス(IP(10))」、宛先を示す「宛先MACアドレス(MAC(B))」、送信元を示す「自MACアドレス(MAC(14))」を含むARP応答を送信する。
このARP応答を受信したVM(B)は、ARPテーブルを更新する。図14は、ARPテーブルの更新例を説明する図である。具体的には、VM(B)は、ARP応答によって、IPアドレス「IP(10)」を有する装置のMACアドレスが「MAC(14)」であることを特定する。この結果、図14に示すように、VM(B)は、IPアドレス「IP(10)」に対応付けて記憶していたMACアドレス「MAC(4)」を「MAC(14)」に更新する。なお、図14に示した「Type」は、格納できるエントリのタイプを示す情報である。
このように、VM(B)がARPテーブルを更新することで、VM(B)のデフォルトゲートウェイが、データセンタ2のルータ4からデータセンタ12のルータ14に変更される。したがって、VM(B)からユーザ端末10への通信は、ルータ14を介して実行される。
図15は、マイグレーション後の経路が変更される例を説明する図である。図15は、VM(B)のマイグレーションおよびARPテーブルの更新が完了した後、ユーザ端末10が出張先の拠点(福岡)11からVM(B)にアクセスした例を図示している。
図15に示すように、従来のように、VM(B)のデフォルトゲートウェイがルータ14に変更されずルータ4のままである場合は、ユーザ端末10は、VM(B)からの応答を、OVS15、仮想L2ネットワーク21、OVS5、ルータ4、CEルータ3を経由するルート51の経路で受信する。
これに対して、上記実施形態によってVM(B)のデフォルトゲートウェイがマイグレーション先のルータ14に変更された場合、ユーザ端末10は、VM(B)からの応答について、OVS15、ルータ14、CEルータ13を経由するルート52で受信する。
(クラウドコントローラによる処理の流れ)
図16は、第1の実施形態に係るクラウドコントローラにおけるIPアドレス設定処理の流れを示すフローチャートである。図16に示すように、クラウドコントローラ30の要求受付部33aがWebサーバ50からマイグレーション実行要求を受け付けると(ステップS201:Yes)、マイグレーション実行部33bは、Webサーバ50から受け付けたマイグレーション実行要求に応じて、VMのマイグレーションを実行する(ステップS202)。具体的には、マイグレーション実行部33bは、移動対象のVMを、移動元の拠点のデータセンタから移動先の拠点のデータセンタにマイグレーションさせる。
そして、アドレス設定部33cは、マイグレーション実行部33bによって実行されたマイグレーションが完了したか否かを判定する(ステップS203)。この結果、アドレス設定部33cは、マイグレーションが完了していないと判定した場合には(ステップS203:No)、ステップS203の処理を繰り返す。
一方、アドレス設定部33cは、マイグレーションが完了したと判定した場合には(ステップS203:Yes)、マイグレーション実行部33bによって実行されたマイグレーションが完了した後、移動後のVMのMACアドレスの登録ルータを変更する(ステップS204)。
例えば、図1の例を用いて具体的に説明すると、アドレス設定部33cは、デフォルトGWのIPアドレスが「IP(10)」であるVM(B)を、データセンタ2からデータセンタ12にマイグレーションさせた場合には、移動後のVMのMACアドレスの登録ルータをデータセンタ2におけるルータ4から、データセンタ12におけるルータ14に変更する。この場合、アドレス設定部33cは、ルータ14に対して中継対象としてVM(B)を追加する旨の指示を通知し、ルータ4に対して中継対象としてVM(B)を削除する旨の指示を通知する。
(ルータによる処理の流れ)
図17は、第1の実施形態に係るルータが実行するARP応答処理の流れを示すフローチャートである。なお、ここでは、ルータ14を例にして説明する。また、この処理の前段階として、ルータ14およびルータ4に対して、優先度テーブル142aへの情報設定および管理対象テーブル142bへの情報設定が完了しているものとする。すなわち、同一ネットワークセグメント内で同じIPアドレスが設定されているものとする。
図17に示すように、ルータ14の競合検出抑止部145は、各種設定が完了したルータ14が起動されると(ステップS301:Yes)、競合するIPアドレスの設定を検出する(ステップS302)。続いて、競合検出抑止部145は、競合するIPアドレスを検出するが、エラー通知を抑止する(ステップS303)。
その後、ARP応答部146は、VMからARP要求を受信すると(ステップS304:Yes)、当該ARP要求から送信元のMACアドレスを抽出する(ステップS305)。続いて、ARP応答部146は、抽出した送信元のMACアドレスが管理対象テーブル142bに登録されているか否かを判定する(ステップS306)。
そして、ARP応答部146は、抽出した送信元のMACアドレスが管理対象テーブル142bに登録されている場合、すなわち、ARP要求の送信元のVMが管理対象である場合(ステップS306:Yes)、送信元のVMにARP応答を送信する(ステップS307)。
一方、ARP応答部146は、抽出した送信元のMACアドレスが管理対象テーブル142bに登録されていない場合、すなわち、ARP要求の送信元のVMが管理対象外である場合(ステップS306:No)、送信元のVMへのARP応答を抑止する(ステップS308)。
(効果)
上述したように、クラウドコントローラ30が、マイグレーションを実施時に、デフォルトGWの設定を変更することにより、VMが同一のIPアドレス、同一デフォルトGWを保持したまま、アクセス先のルータを切り替えることができる。
また、同一ネットワークセグメント内でIPアドレスを重複して設定することができ、VMが近くのルータをデフォルトゲートウェイに設定することができる。このため、図15に示したように、VMからユーザ端末への通信を最短経路で実行することができるので、通信遅延を縮小化することができる。
また、ユーザが設定変更などの専門的な作業を行わずに、VMからユーザ端末への通信を最短経路で実行することができるので、ユーザの負荷増加を低減しつつ、通信遅延を縮小化することができる。
また、VMのマイグレーション後も通信遅延を縮小化することができるので、VMのマイグレーションを頻繁に実行しても通信遅延が抑制でき、仮想環境のメンテナンスや物理サーバのメンテナンスを手軽に実行でき、システムの信頼性が向上する。さらには、仮想マシンを用いたシステム構築の汎用性が向上する。
[第2の実施形態]
次に、新たなVMがいずれかのデータセンタで動作し始めるなど、いずれのルータにも登録されていないVMが検出された場合の処理について説明する。第2の実施形態では、新たに検出されたVMがいずれのルータでも未確認のVMであることを認識するために、ルータ間の同期処理と、未確認VMが検出されたときのARP処理について説明する。なお、第2の実施形態についてもルータ14を例にして説明する。
(同期処理)
図18は、第2の実施形態に係るルータ間の同期処理の流れを示すフローチャートである。図18に示すように、ルータ14の同期実行部147は、同期タイミングに到達すると(ステップS401:Yes)、自ルータに設定されている優先度および管理対象を他ルータへ送信する(ステップS402)。
例えば、同期実行部147は、優先度テーブル142aから読み出した優先度および管理対象テーブル142bから読み出したルータ情報を、同一ネットワークセグメント内で自ルータ14と同一IPアドレスが設定されているルータ4に送信する。
その後、同期実行部147は、他ルータから同期情報を受信すると(ステップS403:Yes)、同期情報テーブル142cに格納する(ステップS404)。
例えば、同期実行部147は、同一ネットワークセグメント内で自ルータ14と同一IPアドレスが設定されているルータ4から、優先度および管理対象を受信すると、受信した情報を対応付けて同期情報テーブル142cに格納する。
(ARP処理)
図19は、第2の実施形態に係るARP処理の流れを示すフローチャートである。図19に示すように、ルータ14のARP応答部146は、ARP要求を受信すると(ステップS501:Yes)、受信したARP要求から送信元のMACアドレスを抽出する(ステップS502)。
続いて、ARP応答部146は、抽出したMACアドレスが管理対象である場合、すなわち、抽出したMACアドレスが管理対象テーブル142bに登録されている場合に(ステップS503:Yes)、自ルータ14のMACアドレスを含むARP応答をARP要求元に送信する(ステップS504)。
一方、ARP応答部146は、抽出したMACアドレスが管理対象テーブル142bに登録されていないと判定された場合(ステップS503:No)、当該抽出したMACアドレスが同期情報テーブル142cに登録されているか否かを判定する(ステップS505)。
そして、ARP応答部146は、抽出したMACアドレスが同期情報テーブル142cに登録されている場合(ステップS505:Yes)、ARP要求元に対するARP応答を抑止する(ステップS506)。すなわち、ARP応答部146は、ARP要求に含まれるMACアドレスが他ルータの管理対象である場合、ARP応答を抑止する。
また、ARP応答部146は、抽出したMACアドレスが同期情報テーブル142cに登録されていない場合(ステップS505:No)、自ルータ14の優先度が最も高いか否かを判定する(S507)。
つまり、ARP応答部146は、抽出したMACアドレスが自ルータにも他ルータにも登録されていない未確認のVMである場合、優先度テーブル142aから設定されている優先度を読み出し、同期情報テーブル142cから他の各ルータに設定されている優先度を読み出す。そして、ARP応答部146は、自ルータ14に設定されている優先度が最も高いか否かを判定する。例えば、ARP応答部146は、自ルータ14に設定されている優先度が最も大きい値か否かを判定する。
そして、ARP応答部146は、自ルータ14に設定されている優先度が最も高いと判定した場合(ステップS507:Yes)、自ルータ14のMACアドレスを含むARP応答をARP要求元に送信する(ステップS508)。
一方、ARP応答部146は、自ルータ14に設定されている優先度より高い優先度が設定されているルータが存在すると判定した場合(ステップS507:No)、ARP要求元に対するARP応答を抑止する(ステップS506)。
(効果)
このように、いずれのルータにも未登録のVMからARP要求を受信した場合に、優先度が最も高いルータがARP応答を送信するので、新たなVMが動作した場合でも自動的にデフォルトゲートウェイを当該VMに設定することができる。この結果、新たなVMが動作した場合でも、当該VMに関する通信遅延を抑制することができる。
[第3の実施形態]
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施形態を説明する。
(ルータ数)
例えば、上記実施形態では、同一ネットワークセグメント内で同一IPアドレスが設定されているルータが2台である場合を説明したが、これに限定されるものではなく、3台以上のルータが存在してもよい。
また、ルータをグルーピングして、同期対象を限定することもできる。グルーピングした際は、第2の実施形態や第3の実施形態については、グルーピングしたルータ間で実行するようにしてもよい。このようにすることで、トラフィックの抑止にも繋がる。なお、拠点数やデータセンタ数についても図示したものに限定されない。
(VM)
上記実施形態では、各ルータの管理対象がVMである例で説明したが、これに限定されるものではなく、例えば、物理サーバであっても、同様に処理することができる。なお、管理対象テーブル142bにVMのIPアドレスが登録されている場合には、上述した処理では、VMが送信したARP要求から送信元のIPアドレスを抽出して同様の処理を実行する。
(死活監視)
また、他ルータの死活監視を実行し、他ルータが障害等により停止した場合には、残ったルータのうち最も優先度の高いルータが、停止したルータが登録している中継対象に対して、応答を行うようにしてもよい。
(ルータ)
上記実施形態のルータ4やルータ14は、NAT変換やルーティング等を実行して通信を中継する。例えば、ルータ4は、インタフェース4aにグローバルIPアドレスが設定され、インタフェース4bにプライベートIPアドレスが設定されている場合、一般的なNAT変換を用いて、グローバルIPアドレスからプライベートIPアドレスへの変換やプライベートIPアドレスからグローバルIPアドレスへの変換を実行して、通信を中継する。また、各ルータは、ルーティングテーブルを保持し、ルーティングテーブルに対して経路情報を静的または動的に設定し、ルーティングテーブルに記憶される経路情報に基づいて、通信を中継する。
(ネットワーク構成)
上記実施形態では、ユーザ端末10と各CEルータとがインターネットで接続される例を説明したが、これに限定されるものではない。例えば、ユーザ端末10と各CEルータとの接続には、インターネットの他に、VPN(Virtual Private Network)、広域イーサネット、モデムや専用線を用いることができる。
例えば、拠点から広告する経路をユーザがリアルタイムに制御できないネットワークでは、ユーザ端末10が出張先でVM(B)にアクセスする場合、札幌経由でアクセスするか、福岡経由でアクセスするかは、札幌や福岡の拠点にVM(B)にアクセスするためのグローバルIPアドレスを割り振り、ユーザ端末10がグローバルIPアドレスを切り替えて、アクセスする必要がある。このようなネットワークの一例としては、例えばインターネットや広告する経路のアドレスをネットワーク事業者に申し込まなければならないIP−VPN等がある。
また、拠点から広告する経路をユーザがリアルタイムに制御できるネットワークでは、ユーザ端末10が出張先でVM(B)にアクセスする場合に、札幌のルータ4経由でアクセスするか、福岡のルータ14でアクセスするかは、ユーザが広告する経路によって変更可能である。このようなネットワークの一例としては、例えば、広告する経路のアドレス情報を制限されていないIP−VPNサービスや、ユーザがIPレイヤを構築するEthernet−VPN、インターネットVPN等がある。
(システム構成等)
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示された構成要素と同一であることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
また、上記実施形態に係るクラウドコントローラが実行する処理をコンピュータが実行可能な言語で記述した管理プログラムを作成することもできる。この場合、コンピュータが管理プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる管理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された管理プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。なお、管理プログラムにより実行される各処理は、仮想マシン上で動作させることにより実行するようにしてもよい。
図20は、管理プログラムを実行するコンピュータを示す図である。図20に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図20に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、管理プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明した要求受付部33aと同様の情報処理を実行する要求受付手順と、マイグレーション実行部33bと同様の情報処理を実行するマイグレーション実行手順と、アドレス設定部33cと同様の情報処理を実行するアドレス設定手順とが記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、管理プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
また、例えば、一般的なクラウドコントローラに上記実施形態と同様の機能を実行させる場合には、クラウドコントローラが実行可能なプログラムに上記手順を記述し、クラウドコントローラに実行させることで、上記実施形態と同様の機能を実行させることもできる。つまり、クラウドコントローラのプロセッサが、上記手順が記述されたプログラムをメモリに展開して実行することで、同様の処理を実行することができる。また、L3スイッチなどに実行させる場合には、上記実施形態と同様の機能を実行させる回路を搭載したLSIを、L3スイッチに搭載させることで、同様の処理を実行することができる。
1 拠点(札幌)
2、12 データセンタ
3、13 CEルータ
4、14 ルータ
5、15 OVS
11 拠点(福岡)
20 ネットワーク
21 仮想L2ネットワーク
22 ネットワークセグメント
30 クラウドコントローラ
31 通信制御部
32 記憶部
32a ルータ管理テーブル
33 制御部
33a 要求受付部
33b マイグレーション実行部
33c アドレス設定部

Claims (7)

  1. 第1の拠点および第2の拠点にそれぞれ設置される複数のネットワーク装置と、前記ネットワーク装置が通信を中継する仮想マシンを管理する管理装置とを有し、各ネットワーク装置が同一ネットワークセグメント内で同一のIP(Internet Protocol)アドレスが設定された通信システムであって、
    前記管理装置が、
    前記第1の拠点で動作する仮想マシンを前記第2の拠点へマイグレーションさせるマイグレーション実行部と、
    前記マイグレーション実行部によってマイグレーションが実行された後に、前記同一ネットワークセグメント内で同一のIPアドレスが設定された各ネットワーク装置のうち前記第2の拠点におけるネットワーク装置に対して、前記マイグレーションした仮想マシンを中継対象の仮想マシンとして設定する設定部と、
    を有し、
    前記ネットワーク装置が、
    前記中継対象とする仮想マシンのアドレス情報を記憶する記憶部と、
    仮想マシンから当該ネットワーク装置のMAC(Media Access Control)アドレスを問い合わせるアドレス要求を受信する受信部と、
    前記受信部によって受信された前記アドレス要求に含まれる送信元のアドレス情報が前記記憶部に記憶されている場合に、前記送信元の仮想マシンに対して、当該ネットワーク装置のMACアドレスを応答する応答部と、
    を有することを特徴とする通信システム。
  2. 前記設定部は、前記第1の拠点におけるネットワーク装置の記憶部に記憶された仮想マシンのアドレス情報から前記マイグレーションした仮想マシンのアドレス情報を削除し、前記第の拠点におけるネットワーク装置の記憶部に前記マイグレーションした仮想マシンのアドレス情報を追加することを特徴とする請求項1に記載の通信システム。
  3. 前記ネットワーク装置が、前記同一ネットワークセグメント内で前記ネットワーク装置と同一のIPアドレスが設定されている他のネットワーク装置が検出された場合に、前記IPアドレスの競合による異常処理を抑止する抑止実行部をさらに有することを特徴とする請求項1または2に記載の通信システム。
  4. 前記設定部は、前記同一ネットワークセグメント内で同一のIPアドレスが設定された複数のネットワーク装置同士を同一のグループに属するものと設定し、
    前記ネットワーク装置が、
    同一のグループに属する他のネットワーク装置から、前記他のネットワーク装置が前記中継対象とする仮想マシンのアドレス情報と優先度を含む同期情報を取得する同期実行部と、
    前記同期実行部によって取得された同期情報および前記記憶部のいずれにも含まれないアドレス情報を有する未確認の仮想マシンが、前記同一ネットワークセグメント内に接続された場合に、前記優先度が高いネットワーク装置を特定する特定部と、をさらに有し、
    前記応答部は、前記特定部によって前記優先度が高いと特定された場合に、前記未確認の仮想マシンから送信された前記アドレス要求に対して、前記ネットワーク装置のMACアドレスを応答することを特徴とする請求項1〜3のいずれか一つに記載の通信システム。
  5. 第1の拠点で動作する仮想マシンを第2の拠点へマイグレーションするマイグレーション実行部と、
    前記マイグレーション実行部によってマイグレーションが実行された後に、同一ネットワークセグメント内で同一のIPアドレスが設定された各ネットワーク装置のうち前記第2の拠点におけるネットワーク装置であって、前記仮想マシンから受信したMACアドレスを問い合わせるアドレス要求に含まれる送信元のアドレス情報を記憶している場合に送信元の仮想マシンに対して当該ネットワーク装置のMACアドレスを応答するネットワーク装置に対して、前記マイグレーションした仮想マシンを中継対象の仮想マシンとして設定させる設定部と、
    を有することを特徴とする管理装置。
  6. 第1の拠点および第2の拠点にそれぞれ設置される複数のネットワーク装置と、前記ネットワーク装置が通信を中継する仮想マシンを管理する管理装置で実行される管理方法であって、
    前記管理装置が、第1の拠点で動作する仮想マシンを第2の拠点へマイグレーションするマイグレーション実行工程と、
    前記管理装置が、前記マイグレーション実行工程によってマイグレーションが実行された後に、同一ネットワークセグメント内で同一のIPアドレスが設定された各ネットワーク装置のうち前記第2の拠点におけるネットワーク装置に対して、前記マイグレーションした仮想マシンを中継対象の仮想マシンとして設定させる設定工程と、
    前記ネットワーク装置が、仮想マシンから当該ネットワーク装置のMACアドレスを問い合わせるアドレス要求を受信する受信工程と、
    前記ネットワーク装置が、前記受信工程によって受信された前記アドレス要求に含まれる送信元のアドレス情報が前記中継対象とする仮想マシンのアドレス情報を記憶する記憶部に記憶されている場合に、前記送信元の仮想マシンに対して、当該ネットワーク装置のMACアドレスを応答する応答工程と、
    を含んだことを特徴とする管理方法。
  7. 第1の拠点で動作する仮想マシンを第2の拠点へマイグレーションするマイグレーション実行ステップと、
    前記マイグレーション実行ステップによってマイグレーションが実行された後に、同一ネットワークセグメント内で同一のIPアドレスが設定された各ネットワーク装置のうち前記第2の拠点におけるネットワーク装置であって、前記仮想マシンから受信したMACアドレスを問い合わせるアドレス要求に含まれる送信元のアドレス情報を記憶している場合に送信元の仮想マシンに対して当該ネットワーク装置のMACアドレスを応答するネットワーク装置に対して、前記マイグレーションした仮想マシンを中継対象の仮想マシンとして設定させる設定ステップと、
    をコンピュータに実行させることを特徴とする管理プログラム。
JP2013126103A 2013-06-14 2013-06-14 通信システム、管理装置、管理方法および管理プログラム Active JP5813699B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013126103A JP5813699B2 (ja) 2013-06-14 2013-06-14 通信システム、管理装置、管理方法および管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013126103A JP5813699B2 (ja) 2013-06-14 2013-06-14 通信システム、管理装置、管理方法および管理プログラム

Publications (2)

Publication Number Publication Date
JP2015002438A JP2015002438A (ja) 2015-01-05
JP5813699B2 true JP5813699B2 (ja) 2015-11-17

Family

ID=52296717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013126103A Active JP5813699B2 (ja) 2013-06-14 2013-06-14 通信システム、管理装置、管理方法および管理プログラム

Country Status (1)

Country Link
JP (1) JP5813699B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3229405B1 (en) 2015-12-31 2020-07-15 Huawei Technologies Co., Ltd. Software defined data center and scheduling and traffic-monitoring method for service cluster therein
JP6556875B2 (ja) * 2015-12-31 2019-08-07 華為技術有限公司Huawei Technologies Co.,Ltd. ソフトウェアディファインドデータセンタ及びそこにおけるサービスクラスタの配置方法
CN112948057B (zh) * 2021-03-08 2023-07-21 中国联合网络通信集团有限公司 虚拟机迁移控制方法、云管理平台、sdn管理器

Also Published As

Publication number Publication date
JP2015002438A (ja) 2015-01-05

Similar Documents

Publication Publication Date Title
JP5980725B2 (ja) ネットワーク装置、中継管理方法、中継管理プログラムおよび通信システム
US9935920B2 (en) Virtualization gateway between virtualized and non-virtualized networks
CN114946166B (zh) 在包括云边缘位置的异构计算环境中的动态资源移动的方法和系统
CN115004661B (zh) 通信服务提供商网络内托管的云计算实例的移动性
CN114902182B (zh) 通信服务提供商网络中的云计算
EP4049139B1 (en) Latency-based placement of cloud compute instances within communications service provider networks
WO2012132808A1 (ja) 仮想マシン管理システム、及び仮想マシン管理方法
CN102412978A (zh) 一种针对虚拟主机进行网络配置的方法和系统
JP5980724B2 (ja) ネットワーク装置、中継管理方法、中継管理プログラムおよび通信システム
JP5813699B2 (ja) 通信システム、管理装置、管理方法および管理プログラム
JP2014195178A (ja) 情報処理装置、送信制御方法および送信制御プログラム
JP6013980B2 (ja) アドレス割当装置およびアドレス割当プログラム
JP6039517B2 (ja) 管理装置、通信システム、管理方法、および、管理プログラム
CN108881482B (zh) 一种流量迁移方法、装置及系统
JP2015035034A (ja) 仮想ホストのライブマイグレーション方法およびネットワーク装置
JP6009415B2 (ja) 通信システム、管理装置、管理方法、および、管理プログラム
JP5960650B2 (ja) 情報処理装置、通信システム、管理方法、および、管理プログラム
JP5964786B2 (ja) 管理装置、通信システム、管理方法、および、管理プログラム
US11595347B1 (en) Dual-stack network addressing in cloud provider network edge locations
JP5952229B2 (ja) 管理装置、経路情報生成方法および経路情報生成プログラム
JP5972838B2 (ja) 管理装置、通信システム、管理方法、および、管理プログラム
Nagafuchi et al. Routing optimization for live VM migration between datacenters
JP6013981B2 (ja) 通信システム、管理装置、管理方法および管理プログラム
JP5940502B2 (ja) ルータ、通信システム、管理方法、および、管理プログラム
JP2015001827A (ja) 管理装置、管理方法、管理プログラムおよび通信システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150916

R150 Certificate of patent or registration of utility model

Ref document number: 5813699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150