JP5682070B2 - 統合制御装置及び統合制御方法 - Google Patents

統合制御装置及び統合制御方法 Download PDF

Info

Publication number
JP5682070B2
JP5682070B2 JP2012041947A JP2012041947A JP5682070B2 JP 5682070 B2 JP5682070 B2 JP 5682070B2 JP 2012041947 A JP2012041947 A JP 2012041947A JP 2012041947 A JP2012041947 A JP 2012041947A JP 5682070 B2 JP5682070 B2 JP 5682070B2
Authority
JP
Japan
Prior art keywords
live migration
information
migration
network
virtual machine
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
JP2012041947A
Other languages
English (en)
Other versions
JP2013179456A (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
Osaka University NUC
Original Assignee
Nippon Telegraph and Telephone Corp
Osaka University NUC
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, Osaka University NUC filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012041947A priority Critical patent/JP5682070B2/ja
Publication of JP2013179456A publication Critical patent/JP2013179456A/ja
Application granted granted Critical
Publication of JP5682070B2 publication Critical patent/JP5682070B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ライブマイグレーションとトラヒックエンジニアリングとを統合的に制御する統合制御装置及び統合制御方法に関する。
近年、クラウドコンピューティングを利用したリソースの提供が盛んに行われている。クラウドコンピューティングを利用したリソースの提供においては、クラウド事業者がリソースを管理し、必要に応じてユーザにリソースを割り当てる。クラウド事業者が管理するリソースの集合体であるクラウドは、データセンタ(Data Center)を単位として構成されることが多い。しかし、複数のデータセンタを統合して、複数のデータセンタ全体を一つのクラウドとみなして運用することによって、さらに柔軟かつ効率的なリソースの運用が実現されると期待される。例えば、地理的に分散した複数のデータセンタをまとめて、一つのリソースプールとして扱うと同時に安全な接続性を実現する技術として、バーチャル・クラウド・プール(Virtual Cloud Pool)が提案されている。
また、クラウド事業者が、仮想技術を用いてリソースを提供する場合には、リソースの利用効率を高めリソース構成を柔軟に調整するため、ライブマイグレーションが利用される。ライブマイグレーションは、使用中の仮想マシンの動作を停止させることなく、他の仮想マシンに処理内容を移行させ、継ぎ目無くサービスを提供することを可能にする技術である。ライブマイグレーションの効率をさらに向上させ、多様な環境で効率的なライブマイグレーションを実現するため、様々な提案がされている。例えば、広域ネットワーク(WAN)を介したライブマイグレーションにおいて、メモリ内容だけでなく、ファイルシステムやネットワーク接続も併せて移行させるための技術が提案されている。
さらに、情報を転送するネットワークの利用効率を高めるために、トラヒックエンジニアリングが行われている。トラヒックエンジニアリングは、ネットワークリソースの使用率とネットワーク性能を最適化することを目的とする。例えば、情報を迅速に転送するためには最短経路に沿って転送することが好ましい。しかし、すべての情報を最短経路に沿って転送させた場合、輻輳が生じることがある。トラヒックエンジニアリングは、このような不都合を防止し、情報の転送経路を最適化する。例えば、OSPF(Open Shortest Path First)の重み付けの最適化によるトラヒックエンジニアリングの手法が提案されている。
T. Wood他 "CouldNet: Dynamic Pooling of Cloud Resources by Live WAN Migration of Virtual Machines," in International Conference on Virtual Execution Environments (VEE), Mar. 2011. R. Bradford他 "Live Wide-Area Migration of Virtual Machines Including Local Persistent State," in Proceedings of the 3rd International Conference on Virtual Execution Environments (VEE ’07), pp. 169-179, June 2007. Bernard Fortz他 "Internet Traffic Engineering by Optimizing OSPF Weights," in Proceedings of the INFOCOM 2000, 19th Annual Joint Conference of the IEEE Computer and Communications Societies, pp. 519-528, March 2000.
しかしながら、従来の技術においては、ライブマイグレーションとトラヒックエンジニアリングは独立して行われていた。そのため、ライブマイグレーションによって適切な性能をもった仮想マシンがユーザに割り当てられても、ライブマイグレーション後にネットワークを転送される情報量に対してネットワークが最適化されていないことがありうる。また、情報転送経路を最適化した後に、ライブマイグレーションが行われ、最適な情報転送経路が変わることもありうる。このような場合、ライブマイグレーションとトラヒックエンジニアリングによって、かえってクラウドコンピューティングの性能が低下することも考えられる。
そこで、ライブマイグレーションとトラヒックエンジニアリングとを独立に制御することによるクラウドコンピューティングの性能の低下を抑制し、クラウドコンピューティングの性能を向上させることが望まれる。
開示の技術は、上記に鑑みてなされたものであって、ライブマイグレーションとトラヒックエンジニアリングとを独立に制御することによるクラウドコンピューティングの性能の低下を抑制し、クラウドコンピューティングの性能を向上させることを可能にする統合制御装置及び統合制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ライブマイグレーションの対象である仮想マシンの情報と、当該仮想マシンに接続されるネットワークの情報とを取得し、取得した前記仮想マシンの情報およびネットワークの情報と、所定の制御目標とに基づき、混合整数線形計画法を用いて最適解となる、ライブマイグレーションによる前記仮想マシンの移行先と、ライブマイグレーション後の前記ネットワーク内の情報転送経路とを決定し、決定に基づいて、前記ライブマイグレーションの実行及び前記ネットワーク内の情報転送経路の更新を制御することを特徴とする。
開示する統合制御装置及び統合制御方法は、ライブマイグレーションとトラヒックエンジニアリングとを独立に制御することによるクラウドコンピューティングの性能の低下を抑制し、クラウドコンピューティングの性能を向上させることを可能にするという効果を奏する。
図1は、実施例1に係る統合制御装置の概要を示す図である。 図2−1は、実施例1に係る統合制御装置が記憶する制御情報の一例を示す図である。 図2−2は、実施例1に係る統合制御装置が記憶する制御対象の情報の一例を示す図である。 図3は、実施例1に係る統合制御装置が、ライブマイグレーション制御装置から受信する情報の一例を示す図である。 図4−1は、実施例1に係る統合制御装置が、トラヒックエンジニアリング制御装置から受信する情報の一例を示す図である。 図4−2は、ネットワークトポロジについて説明するための図である。 図5は、実施例1に係る統合制御装置による処理の流れの一例を示す図である。 図6は、実施例1に係る統合制御装置、ライブマイグレーション制御装置、トラヒックエンジニアリング制御装置間での実行制御の処理シーケンスの一例を示す図である。 図7は、実施例2に係る統合制御装置の構成の一例を示す図である。 図8は、実施例2に係る統合制御装置による実行制御処理の流れの一例を示す図である。 図9は、実施例2に係る統合制御装置、ライブマイグレーション制御装置、トラヒックエンジニアリング制御装置間での実行制御の処理シーケンスの一例を示す図である。 図10は、ネットワーク内の情報転送経路を説明するための図である。 図11−1は、実施例2に係るルータが保持するラベルテーブルの一例を示す図である。 図11−2は、実施例2に係るルータが保持するラベルテーブルの他の例を示す図である。 図12は、実施例2に係るルータの構成の一例を示す図である。 図13は、実施例2に係る予約パケットの構成の一例を示す図である。 図14は、実施例3に係る統合制御装置の構成の一例を示す図である。 図15は、実施例3に係る統合制御装置における処理の流れの一例を示す図である。 図16は、統合制御装置による一例の処理を実行するプログラムである統合制御プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。
以下に、開示する統合制御装置及び統合制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は適宜組み合わせることができる。
図1を参照し、実施例1に係る統合制御装置の概要について説明する。図1は、実施例1に係る統合制御装置の概要を示す図である。図1中、統合制御装置100は、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300と接続される。統合制御装置100は、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300各々から、ライブマイグレーションの対象となる仮想マシンの情報及びトラヒックエンジニアリングの対象となるネットワークの情報を取得し、取得した情報に基づき、ライブマイグレーション及びトラヒックエンジニアリングを統合的に制御する。
ライブマイグレーション制御装置200は、統合制御装置100及びリソース400と接続される。図1中、リソース400は、データセンタDC1とデータセンタDC2とを備える。データセンタDC1内には、仮想マシン(Virtual Machine)VM1,VM2が構築されている。また、データセンタDC2内には、仮想マシンVM3,VM4が構築されている。データセンタDC1及びデータセンタDC2は、ユーザに対して適切な資源を提供するため、適宜仮想的に構成が変更され、必要に応じて一つ又は複数の仮想マシンが構築される。なお、図1においては、便宜的に、リソース400が二つのデータセンタを備え、各データセンタにおいて二つの仮想マシンが構築されているものとしたが、リソース400が備えるデータセンタの数及び各データセンタに構築される仮想マシンの数は、図示される数に限定されるものではない。また、ライブマイグレーションにおいては、各データセンタに適宜新しい仮想マシンが構築され、既存の仮想マシンが再構築されることがある。
ライブマイグレーション制御装置200は、データセンタDC1及びDC2を制御する。具体的には、データセンタDC1及びDC2内の仮想マシンの処理状況や負荷状況を検出する。ライブマイグレーション制御装置200は、特定の仮想マシンに負荷が集中している等、処理効率の低下を検出すると、適切に負荷が分散され処理効率が向上するように、ライブマイグレーションを実行する。例えば、処理能力の低い仮想マシンVM1に負荷が集中し、他方、処理能力の高い仮想マシンVM4が使用されておらず、停止した状態であるとする。この場合、ライブマイグレーションにより、仮想マシンVM1の処理内容、具体的にはメモリ内容を仮想マシンVM4に移行させて処理を引き継がせる。また、ライブマイグレーション制御装置200は、仮想マシンVM1に負荷が集中している一方、他のデータセンタDC2に対する負荷が低い場合、データセンタDC2内に新たに仮想マシンを構築して、仮想マシンVM1の処理内容を新しく構築した仮想マシンに引き継がせることもできる。ライブマイグレーション制御装置200は、このようにして、負荷を分散し、処理効率を向上させる。
また、ライブマイグレーション制御装置200は、ライブマイグレーションを実行すると決定した場合、統合制御装置100にライブマイグレーション(LM)通知を送信する。また、ライブマイグレーション制御装置200は、統合制御装置100からの要求に応じて、ライブマイグレーションの対象となる仮想マシンの情報を統合制御装置100に送信する。
トラヒックエンジニアリング制御装置300は、統合制御装置100及びネットワーク500と接続される。トラヒックエンジニアリング制御装置300は、ネットワーク500内の情報転送経路やルータの使用率を検出し、検出結果に応じて、情報転送経路を更新する。すなわち、トラヒックエンジニアリング制御装置300は、ネットワーク500におけるトラヒックエンジニアリングを実行する。また、トラヒックエンジニアリング制御装置300は、統合制御装置100からの要求に応じて、ネットワーク500の情報を統合制御装置100に送信する。
リソース400は、ライブマイグレーション制御装置200及びネットワーク500と接続される。リソース400は、ユーザ端末700からの要求に応じてユーザに割り当てられる。そして、リソース400は、ネットワーク500及び外部ネットワーク(NW)600を介して、ユーザに対するサービスに利用される。ユーザに対して割り当てられるリソース400内の資源、例えば、仮想マシンは、利用状況や負荷状況に応じて、適宜ライブマイグレーション等により変更される。
ネットワーク500は、トラヒックエンジニアリング制御装置300と、リソース400と、外部ネットワーク600と接続される。外部ネットワーク600はさらに、ユーザ端末700と接続される。ネットワーク500は、ユーザ端末700から送信される要求や情報を、外部ネットワーク600を介して受信し、受信した要求や情報をリソース400に転送する。また、リソース400から送信される情報を、外部ネットワーク600に転送する。さらに、リソース400内の仮想マシン等から送信される情報を他の仮想マシン等に転送する。
ネットワーク500内には、複数のルータが配置される。図1の例では、5つのルータR1,R2,R3,R4,R5を示す。ただし、ネットワーク500を構成するルータの数は図示される数に限られるものではない。ルータは、予め定められた情報転送経路に沿って、情報を転送する。また、各ルータは、情報転送経路に関する情報を保持する。そして、各ルータは、トラヒックエンジニアリング制御装置300からの命令に応じて、適宜保持する情報転送経路の情報を更新する。なお、ネットワーク500の種類は特に限定されず、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)等であってよい。
外部ネットワーク600は、ネットワーク500及びユーザ端末700と接続される。外部ネットワーク600は、ネットワーク500を介してリソース400とユーザ端末700との間の情報を転送する。なお、外部ネットワーク600の種類は特に限定されず、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)等であってよい。
ユーザ端末700は、外部ネットワーク600と接続される。ユーザ端末700のユーザは、ネットワーク500及び外部ネットワーク600を介して、リソース400との間で情報をやり取りし、リソース400により提供されるサービスを利用する。
[実施例1に係る統合制御装置の構成]
次に、統合制御装置100の構成について図1を参照して説明する。図1中、統合制御装置100は、通信部101と、記憶部110と、制御部120とを備える。通信部101は、統合制御装置100と、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300との間での情報の通信を実行する。記憶部110は、統合制御装置100内での処理に使用する情報及び処理の結果生成される情報等を記憶する。制御部120は、統合制御装置100におけるライブマイグレーションとトラヒックエンジニアリングとの統合制御処理を制御する。
[記憶部に格納する情報]
記憶部110は、制御情報記憶部111と制御対象記憶部112とを備える。制御情報記憶部111は、統合制御装置100がライブマイグレーション及びトラヒックエンジニアリングの制御内容を決定する際に用いる制御情報を記憶する。制御情報は、例えば、制御目標及び当該制御目的を達成するための目的関数、制約条件等を含む。制御目標とは、例えば、ユーザとデータセンタ間での遅延を最小化すること、ネットワーク資源の利用効率を最大化すること、等である。制御目標に対応づけて、当該制御目標を達成するために最も適したライブマイグレーションの移行先及びトラヒックエンジニアリングによる情報転送経路を最適解として算出するための目的関数、制約条件等を格納する。
なお、実施例1では、制御目標、目的関数及び制約条件等の制御情報を予め制御情報記憶部111に格納するものとして説明するが、制御情報は、制御の目的に応じて、統合制御装置100を操作するオペレータが適宜設定してもよい。また、ライブマイグレーションが実行される時間帯に合わせて、制御条件記憶部111から制御目標が自動的に選択され、それに応じた目的関数及び制約条件に基づいて、移行先や情報転送経路が決定されるものとしてもよい。さらに、仮想マシンを利用するユーザごとに、制御目標を設定するように構成してもよい。また、ここでは、目的関数及び制約条件は、混合整数線形計画法に基づいて設定するものとするが、利用する方法は、混合整数線形計画法に限られず、例えば、非線形計画法を利用してもよい。また、利用する計画法の種類に応じて、制御情報記憶部111に格納される情報は適宜変更されてよい。
図2−1を参照して、制御情報記憶部111に格納される制御情報の一例を説明する。図2−1は、実施例1に係る統合制御装置100が記憶する制御情報の一例を示す図である。図2−1に示す例では、目標IDに対応付けて、制御目標、目的関数及び制約条件が格納されている。例えば、目標ID「01」に対応づけて、制御目標である「ユーザ/データセンタ(DC)間の遅延の最小化」が格納されている。そして、制御目標を達成する最適解を導くための目的関数として「min:cx」、制約条件として「Ax=b,x≧0」等が格納されている。また、この時点で選択されている制御目標を示すフラグが記憶されている。図2−1の例では、目標ID「01」の制御情報が選択されていることが、フラグ「1」により示されている。
次に、図2−2を参照して、制御対象記憶部112に格納される制御対象の情報の一例を説明する。図2−2は、実施例1に係る統合制御装置100が記憶する制御対象の情報の一例を示す図である。図2−2に示すように、制御対象記憶部112には、統合制御の対象であるリソース400及びネットワーク500に関する情報が格納される。例えば、データセンタDC1について、当該データセンタを一意に識別する識別子(ID:Identifier)「DC001」と対応付けて、当該データセンタを管理する管理者ID「M001」や、当該データセンタの場所「東京」などが記憶される。また、データセンタDC1内の仮想マシンそれぞれの性能が記憶される。例えば、リソースID「VM001」の仮想マシンについて、メモリ容量「16GB」、CPUコアクロック「3GHz」等が記憶される。
また、ネットワーク500に関する情報として、ネットワーク500を構成するルータの情報が記憶される。図2−2の例では、複数のネットワークについての情報を示す。図2−2では、ネットワークIDに対応づけて、当該ネットワークを構成するルータのIDが格納される。例えば、ネットワークID「NW001」に対応付けて、複数のルータのルータID「R001」「R002」等が格納される。また、各ルータの性能に関する情報が格納される。例えば、ルータID「R001」のルータについて、帯域(物理帯域保証通信速度、最大通信速度)「250kbps,1Mbps」や、遅延(最大遅延時間、平均遅延時間)「10s,5s」が記憶される。なお、図2−2に示す制御対象情報は、統合制御の開始時に、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300の各々から適宜送信され、統合制御装置100に格納されるものとしてもよい。また、仮想マシンの構成が変更されたり、ネットワークの構成が変更されたりした場合に、自動的にライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300から情報が送信され、制御対象記憶部112に記憶されるものとしてもよい。また、統合制御装置100からの要求に応じて、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300から送信され、制御対象記憶部112に記憶されるものとしてもよい。
[制御部の構成]
図1を参照し、制御部120の構成について説明する。制御部120は、情報取得部121と、条件決定部122と、実行制御部123と、を備える。情報取得部121は、通信部101を介して、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300の各々から、ライブマイグレーションの対象となる仮想マシンの情報とトラヒックエンジニアリングの対象となるネットワーク500の情報とを取得する。より具体的には、情報取得部121は、ライブマイグレーションの対象となる仮想マシンに対するトラヒック量や、ライブマイグレーションによる当該仮想マシンの移行先候補、移行先候補のデータセンタの位置等を、ライブマイグレーション制御装置200から受信する。また、情報取得部121は、ライブマイグレーションの対象である仮想マシンに接続され、トラヒックエンジニアリングの対象となるネットワーク内の構成情報であるネットワークトポロジ、当該ネットワークの通信帯域や伝送遅延等を、トラヒックエンジニアリング制御装置300から受信する。
図3、図4−1及び図4−2を参照し、ライブマイグレーション制御装置200及びネットワークエンジニアリング制御装置300から、統合制御装置100に送信される情報について説明する。図3は、実施例1に係る統合制御装置100が、ライブマイグレーション制御装置200から受信する情報の一例を示す図である。図4−1は、実施例1に係る統合制御装置100が、トラヒックエンジニアリング制御装置300から受信する情報の一例を示す図である。図4−2は、図4−1に示すネットワークトポロジについて説明するための図である。
図3の例では、ライブマイグレーション制御装置200は、ライブマイグレーションの対象となる仮想マシンのIDと、当該仮想マシンに対するトラヒック量と、当該仮想マシンの移行先候補となる仮想マシンのIDと、を対応付けて送信する。例えば、図3に示す情報では、ライブマイグレーションの対象となる仮想マシンのID「VM001」と、当該仮想マシンに対するトラヒック量「30Mbit/s」と、当該仮想マシンの移行先候補である仮想マシンのID「VM010」と「VM020」とが対応付けられている。なお、図3の例では、仮想マシンIDによって当該仮想マシンが配置されるデータセンタも識別できるものとするが、仮想マシンIDとは別に、当該仮想マシンが構築されているデータセンタのIDも対応づけて情報を構成してもよい。また、図3では、ライブマイグレーションによる仮想マシンの移行先は、既に構築されているが停止している仮想マシンとしたが、ライブマイグレーション制御装置200は、移行先候補として、仮想マシンのIDではなく、新たに仮想マシンを構築できるデータセンタのIDを送信してもよい。この場合は、ライブマイグレーション時に、移行先として決定されたデータセンタ内に仮想マシンが新たに構築される。
他方、トラヒックエンジニアリング制御装置300から送信される情報は、例えば、図
4−1に示すように、ネットワークIDと、当該ネットワーク内のネットワークトポロジと、通信帯域、遅延等とを対応づけたものである。図4−1の例では、ネットワークID「NW001」で識別されるネットワークに、ネットワークトポロジとして、「R1−R2−R3−R4」、「R1−R5−R6−R4」、「R1−R7−R8−R4」が対応付けられている。ネットワークトポロジは、ネットワーク内の構成要素間の接続関係や依存関係を示す情報である。図4−1に示すネットワークトポロジは、図4−2に示すように、ルータR1〜R8が接続されていることを示す。また、図4−1の例では、ネットワークID「NW001」に、通信帯域「1Gbyte/s」が対応付けられている。さらに、ネットワークID「NW001」に各ルータでの遅延「R1:0.1s」等及び各ルータ間での遅延「R1−R2:0.5s」等が対応付けられている。
条件決定部122は、情報取得部121がライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300から取得した情報並びに制御情報記憶部111及び制御対象記憶部112に記憶された情報に基づいて、ライブマイグレーションの対象となる仮想マシンの移行先及びライブマイグレーション後の情報転送経路を決定する。具体的には、条件決定部122は、混合整数線形計画法を利用して、移行先及び情報転送経路を決定する。
すなわち、条件決定部122は、混合整数線形計画法を用いて、制約条件及び目的関数に情報取得部121が取得した各情報を適用して、最適解を算出する。例えば、条件決定部122は、ライブマイグレーションの対象となる仮想マシンの移行先候補の処理能力や、移行先候補のデータセンタの位置、ライブマイグレーションの対象となる仮想マシンに対するトラヒック量等に基づいて、制約条件及び目的関数を用いて最適解を導出する。また、条件決定部122は、ネットワーク500の通信帯域や遅延等に基づいて、最適解を導出する。そして、条件決定部122は、最適解に基づいて、移行先及び情報転送経路を決定する。
実行制御部123は、条件決定部122が決定した内容に基づいて、ライブマイグレーション及びトラヒックエンジニアリングを実行するよう、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300に命令を送信し、実行処理を制御する。
[実施例1に係る統合制御装置の処理の流れ]
次に、図5を参照し、実施例1に係る統合制御装置100による処理の流れを説明する。図5は、実施例1に係る統合制御装置100による処理の流れの一例を示す図である。まず、統合制御装置100は、ライブマイグレーションの対象となる仮想マシン及びトラヒックエンジニアリングの対象となるネットワークに関する情報を受信する(ステップS101)。次に、統合制御装置100は、受信した情報に基づいて、混合整数線形計画法を用いて、最適解となる、ライブマイグレーションの移行先及びライブマイグレーション後の情報転送経路を決定する(ステップS102)。そして、統合制御装置100は、決定した移行先へのライブマイグレーションを実行し、決定した情報転送経路へ、ネットワーク内の情報転送経路を変更するよう実行を制御する(ステップS103)。そして、処理を終了する。
[実施例1に係る統合制御処理の流れ]
次に図6を参照し、実施例1に係る統合制御装置100、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300間での処理シーケンスの一例を説明する。図6は、実施例1に係る統合制御装置100、ライブマイグレーション制御装置200、トラヒックエンジニアリング装置300間での処理シーケンスの一例を示す図である。図6に示す例では、ライブマイグレーション制御装置200からのライブマイグレーション(LM)通知を受信することによって、統合制御装置100の統合制御処理が開始するものとして説明する。
ライブマイグレーション制御装置200は、リソース400の処理状況及び負荷状況を検出し、例えば、特定の仮想マシンにかかる負荷が所定の閾値を超えたと判定した場合に、LM通知を送信する(図6の(1))。
ライブマイグレーション制御装置200からのLM通知を受信した統合制御装置100は、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300に、情報を送信するよう求める要求を送信する(図6の(2−1)、(2−2))。要求に応じて、ライブマイグレーション制御装置200は、ライブマイグレーションの対象である仮想マシンの情報(図3参照)を、統合制御装置100に送信する(図6の(3−1))。また、トラヒックエンジニアリング制御装置300も、トラヒックエンジニアリングの対象であるネットワークの情報(図4−1参照)を、統合制御装置100に送信する(図6の(3−2))。情報を受信した統合制御装置100は、各情報に基づいて混合整数線形計画法を用いて、最適解となるライブマイグレーションの移行先及びライブマイグレーション後の情報転送経路を決定する。そして、決定した内容に基づいてライブマイグレーション及びトラヒックエンジニアリングを実行するよう、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300に制御命令を送信する(図6の(4−1)、(4−2))。
なお、実施例1では、ライブマイグレーション制御装置200が、ライブマイグレーションの実行を決定し、統合制御装置100に通知するものとした。しかし、統合制御装置100による統合制御は、ライブマイグレーション制御装置200からのLM通知をトリガとして開始される場合に限られず、オペレータの制御命令の入力に応じて開始されてもよい。または、所定の期間ごとに統合制御装置100が、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300に対して情報送信を要求する通知を発行し、受信した情報に基づいてライブマイグレーションの要否を判定した上で、統合制御を行うものとしてもよい。
また、ライブマイグレーション及びトラヒックエンジニアリングの実行に係る判定は、統合制御装置100のみが実行するように構成してもよい。つまり、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300は、ライブマイグレーションやトラヒックエンジニアリングの実行に関する判定は行わないよう構成してもよい。この場合、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300は、リソースの処理状況及びネットワークの使用状況に関する情報を、継続的に統合制御装置100に送信する。そして、統合制御装置100は、受信した情報に基づいてライブマイグレーションの実行の要否やトラヒックエンジニアリングの実行の要否について判定する。統合制御装置100は、ライブマイグレーションの実行が必要であると判定した場合、上記の、移行先や情報転送経路の決定処理を実行する。このように、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300は、統合制御装置100に情報を送信するのみで、処理実行の要否判断は行わないように構成してもよい。そして、統合制御装置100の命令に基づいて、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300が、ライブマイグレーション及びトラヒックエンジニアリングを実行するものとしてもよい。
[実施例1に係る統合制御装置の効果]
上記のように、実施例1に係る統合制御装置100は、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300の各々からライブマイグレーションの情報とトラヒックエンジニアリングの情報とを取得して、取得した情報に基づき、ライブマイグレーションによる仮想マシンの移行先及びライブマイグレーション後の情報転送経路を決定する。そして、統合制御装置100は決定した内容に基づいて、ライブマイグレーション制御装置200及びトラヒックエンジニアリング制御装置300によるライブマイグレーション及びトラヒックエンジニアリングを制御する。このため、ライブマイグレーションとトラヒックエンジニアリングとを統合的に制御することが可能になる。
また、実施例1に係る統合制御装置100は、ライブマイグレーションを考慮してトラヒックエンジニアリングによる経路変更内容を決定している。このため、ライブマイグレーションによってネットワーク内を行き来する情報量に変化が生じても、ライブマイグレーションの完了後、最適な情報転送経路を通じて情報を送信することができる。
また、実施例1に係る統合制御装置100は、トラヒックエンジニアリングを考慮してライブマイグレーションによる移行先を決定している。このため、情報転送経路を考慮して適切な移行先を決定することができる。ライブマイグレーションによって仮想マシンの場所が大きく変化しても、適切に情報を送信することができる。
上記の通り、実施例1に係る統合制御装置100は、ライブマイグレーションの情報とトラヒックエンジニアリングの情報とを取得して、両方の情報を元に、ライブマイグレーションによる仮想マシンの移行先及びネットワーク内の情報転送経路を決定する。したがって、ライブマイグレーション後の情報転送経路が、ライブマイグレーションを考慮して最適化される。実施例2では、さらに、ライブマイグレーションの実行処理と、トラヒックエンジニアリングの実行処理とを同期させる。そして、実施例2においては、移行先マシンが起動され処理を開始するときには、新しい情報転送経路が確立されているように、ライブマイグレーションとトラヒックエンジニアリングのタイミングを調整する。
[実施例2に係る統合制御装置の構成]
図7を参照し、実施例2に係る統合制御装置800の構成の一例を説明する。図7は、実施例2に係る統合制御装置800の構成の一例を示す図である。図7においては、ライブマイグレーション制御装置及びトラヒックエンジニアリング制御装置に接続されるリソース、ネットワーク等については図示を省略する。また、統合制御装置800中、実施例1に係る統合制御装置100と同様の機能部については説明を省略する。
図7中、統合制御装置800は、ライブマイグレーション制御装置210及びトラヒックエンジニアリング制御装置310に接続される。統合制御装置800は、通信部801、記憶部810及び制御部820を備える。通信部801は、統合制御装置800と外部との通信を実行する。すなわち、通信部801は、統合制御装置800とライブマイグレーション制御装置210及びトラヒックエンジニアリング制御装置310との間での情報の送受信を実行する。
記憶部810は、統合制御装置800内での処理に使用される情報及び処理の結果生成される情報等を記憶する。記憶部810は、制御情報記憶部811及び制御対象記憶部812を備える。制御情報記憶部811及び制御対象記憶部812の機能は、実施例1に係る制御情報記憶部111及び制御対象記憶部112と同様である。
制御部820は、情報取得部121と、条件決定部122と、命令生成部124と、命令送信部125と、タイミング制御部126とを備える。情報取得部121及び条件決定部122の動作及び機能は、実施例1と同様である。以下、命令生成部124、命令送信部125及びタイミング制御部126について説明する。なお、実施例2の命令生成部124、命令送信部125及びタイミング制御部126は、実施例1の実行制御部123に対応する。
命令生成部124は、条件決定部122が決定したライブマイグレーションによる仮想マシンの移行先及びライブマイグレーション後の情報転送経路に基づいて、命令を生成する。具体的には、命令生成部124は、ライブマイグレーション(LM)実行命令と、移行先マシン起動命令と、予約ラベルテーブル作成命令と、ラベルテーブル更新命令と、を生成する。
ライブマイグレーション実行命令は、ライブマイグレーション制御装置210に対して、ライブマイグレーションの対象である仮想マシンのメモリ内容を、移行先マシン(すなわち、移行先マシンが構築されるデータセンタ)に移動させるよう指示する命令である。移行先のデータセンタに移行先マシンとして新たに仮想マシンを構築する場合は、ライブマイグレーション実行命令は、移行先マシンの構築命令も含む。ライブマイグレーション制御装置210は、ライブマイグレーション実行命令を受信すると、ライブマイグレーションの対象である仮想マシンに対して、メモリ内容を移行先に移行させるよう指示する命令を送信する。この際も、新たに移行先として仮想マシンを構築する場合は、送信される命令は、移行先マシンの構築命令を含む。
移行先マシン起動命令は、ライブマイグレーション制御装置210に対して、ライブマイグレーションの移行先マシンを起動するよう指示する命令である。ライブマイグレーション制御装置210は、移行先マシン起動命令を受信すると、ライブマイグレーションによる移行先の仮想マシンに対して、起動命令を送信する。また、ライブマイグレーション制御装置210は、移行先マシンの起動後、移行元マシンの停止を指示する命令を移行元マシンに送信する。
ライブマイグレーションにおいては、まず、対象仮想マシンのメモリ内容を移行先に移行させ、その後、移行先のマシンを起動させて移行元の仮想マシンを停止させる。実施例2では、ライブマイグレーションの実行とトラヒックエンジニアリングの実行とのタイミングを同期させるため、ライブマイグレーションを、メモリ内容の移動と、移行先マシンの起動との2段階に分離して実行するよう構成している。なお、実施例2では、ライブマイグレーションにおいてメモリ内容を移動させるものとして説明するが、その他、仮想マシンが接続されるネットワーク等の環境に応じて、ファイルシステム等他の情報も移動させてもよい。また、移行先として新たに仮想マシンを構築する場合は、メモリ内容の移動の段階において、移行先マシンの構築も行う。
予約ラベルテーブル作成命令とは、トラヒックエンジニアリング制御装置310に対して、予約ラベルテーブルを生成するよう指示する命令である。予約ラベルテーブルは、条件決定部122により決定された情報転送経路を規定するテーブルである。ネットワーク内の各ルータは、情報転送経路を規定するラベルテーブルを保持する。予約ラベルテーブルは、このラベルテーブルを更新するものである。予約ラベルテーブルの詳細については後述する。トラヒックエンジニアリング制御装置310は、予約ラベルテーブル作成命令を受信すると、制御対象であるネットワーク内のルータに対して予約ラベルテーブルの生成を指示する命令を送信する。例えば、トラヒックエンジニアリング制御装置310は、条件決定部122により決定された情報転送経路の情報を含む予約パケットを生成し、送信する。なお、ルータによる予約ラベルテーブルの作成の詳細についても後述する。
ラベルテーブル更新命令とは、トラヒックエンジニアリング制御装置310に対して、各ルータが保持するラベルテーブルを予約ラベルテーブルに更新するよう指示する命令である。トラヒックエンジニアリング制御装置310は、ラベルテーブル更新命令を受信すると、制御対象であるネットワーク内のルータに対してラベルテーブルを予約ラベルテーブルに更新するよう指示する命令を送信する。例えば、トラヒックエンジニアリング制御装置310は、ルータに切替パケットを送信することで、ルータが保持するラベルテーブルを更新させる。ラベルテーブルの詳細についても後述する。
命令送信部125は、命令生成部124が生成した各命令を、後述するタイミング制御部126から指示されるタイミングで、ライブマイグレーション制御装置210及びトラヒックエンジニアリング制御装置310に送信する。
タイミング制御部126は、命令送信部124に対して、命令の送信タイミングを指示する。具体的には、タイミング制御部126は、ライブマイグレーション制御装置210へのライブマイグレーション実行命令の送信タイミングと、トラヒックエンジニアリング制御装置310への予約ラベルテーブル作成命令の送信タイミングとを同期させるよう指示を出す。また、タイミング制御部126は、ライブマイグレーション制御装置210への移行先マシン起動命令の送信タイミングと、トラヒックエンジニアリング制御装置310へのラベルテーブル更新命令の送信タイミングとを同期させるよう指示を出す。
具体的には、タイミング制御部126は、命令生成部124からライブマイグレーション実行命令と予約ラベルテーブル作成命令を生成したことを通知されると、命令送信部125にライブマイグレーション実行命令と予約ラベルテーブル作成命令を送信するよう指示する。そして、ライブマイグレーション制御装置210からのライブマイグレーション実行完了通知と、トラヒックエンジニアリング制御装置310からの予約ラベルテーブル作成完了通知とを受信すると、タイミング制御部126は、命令送信部125に対して、移行先マシン起動命令とラベルテーブル更新命令とを送信するよう指示する。
[実施例2に係る統合制御装置における処理の概要]
次に図8を参照し、実施例2に係る統合制御装置800における実行制御処理の概要について説明する。図8は、実施例2に係る統合制御装置による実行制御処理の流れの概要を示す図である。実施例2に係る統合制御装置800は、実施例1と同様、ライブマイグレーションの対象である仮想マシンに関する情報と、当該仮想マシンに接続されるネットワークに関する情報を取得する(ステップS201)。次に、取得した情報に基づいて、混合整数線形計画法を用いて最適解を導出し、ライブマイグレーションの移行先と、ライブマイグレーション後の情報転送経路を決定する(ステップS202)。次に、統合制御装置800は、ライブマイグレーションの対象となる仮想マシンのメモリ内容をステップS202において決定された移行先に移動させ、ネットワーク内の各ルータに、ステップS202において決定された情報転送経路を規定する予約ラベルテーブルを作成させる(ステップS203:処理段階A)。次に、統合制御装置800は、移行先マシンを起動させ、ネットワーク内の各ルータが保持するラベルテーブルをステップS203において作成した予約ラベルテーブルに更新させる(ステップS204:処理段階B)。そして、統合制御装置800は実行制御処理を終了する。
[実施例2に係る統合制御装置と他の装置との間での処理シーケンス]
さらに、図9を参照し、実施例2に係る統合制御装置800と他の装置との間での処理シーケンスについて説明する。図9は、実施例2に係る統合制御装置800、ライブマイグレーション制御装置210及びトラヒックエンジニアリング制御装置310間での実行制御の処理シーケンスの一例を示す図である。図9には、情報取得部121が情報を受信し、条件決定部122が移行先及びライブマイグレーション後の情報転送経路を決定し、命令生成部124が命令を生成した後の処理の流れの一例を示す。図9に示すように、まず、統合制御装置800(命令送信部125)は、ライブマイグレーション制御装置210に対して、命令生成部124が生成したライブマイグレーション(LM)実行命令を送信する(図9の(1−1))。同時に、統合制御装置800は、トラヒックエンジニアリング制御装置310に対して、予約ラベルテーブル作成命令を送信する(図9の(1−2))。なお、ライブマイグレーション実行命令の送信と予約ラベルテーブル作成命令の送信とは完全に同時である必要はなく、実質的に同期していればよい。
ライブマイグレーション制御装置210は、ライブマイグレーション実行命令を受信すると、ライブマイグレーションの対象である仮想マシンに対して、メモリ内容を移行先に移動させるよう指示するライブマイグレーション実行命令を送信する(図9の(2−1))。命令を受信した仮想マシンは、メモリ内容の移動を開始し、移動が完了すると、ライブマイグレーション制御装置210に対してライブマイグレーション実行完了通知を送信する(図9の(3−1))。
他方、トラヒックエンジニアリング制御装置310は、予約ラベルテーブル作成命令を受信すると、トラヒックエンジニアリングの対象であるネットワーク内の各ルータ(ラベルエッジルータ(LER)、ラベルスイッチルータ(LSR)等、詳細は後述)に予約ラベルテーブルを作成するよう指示する予約ラベルテーブル作成命令を送信する(図9の(2−2))。命令を受信したルータは、指示に従って、予約ラベルテーブルを作成する。ネットワーク内のすべてのルータが予約ラベルテーブルの作成を完了すると、トラヒックエンジニアリング制御装置310に、予約ラベルテーブル作成完了通知を送信する(図9の(3−2))。
ライブマイグレーション制御装置210は、仮想マシンからライブマイグレーション実行完了通知を受信すると、統合制御装置800に対して、ライブマイグレーション実行完了通知を送信する(図9の(4−1))。同様に、トラヒックエンジニアリング制御装置310は、すべてのルータが予約ラベルテーブルの作成を完了したことを示す予約ラベルテーブル作成完了通知を受信すると、統合制御装置800に対して、予約ラベルテーブル作成完了通知を送信する(図9の(4−2))。ここまでが処理段階Aである。
統合制御装置800は、ライブマイグレーション実行完了通知をライブマイグレーション制御装置210から受信し、かつ、予約ラベルテーブル作成完了通知をトラヒックエンジニアリング制御装置310から受信すると、次の処理(処理段階B)に進む。すなわち、統合制御装置800は、ライブマイグレーション制御装置210に対して、移行先マシン起動命令を送信する(図9の(5−1))。また、統合制御装置800は、トラヒックエンジニアリング制御装置310に対して、ラベルテーブル更新命令を送信する(図9の(5−2))。具体的には、タイミング制御部126は、ライブマイグレーション実行完了通知および予約ラベルテーブル作成完了通知の受信を検出すると、命令送信部125に対して、移行先マシン起動命令とラベルテーブル更新命令を送信するよう指示する。なお、移行先マシン起動命令の送信とラベルテーブル更新命令の送信も完全に同時である必要はなく、実質的に同期していればよい。
移行先マシン起動命令を受信したライブマイグレーション制御装置210は、移行先の仮想マシンに対して起動命令を送信する(図9の(6−1))。移行先の仮想マシンは、起動命令を受信すると、起動処理を開始する。そして、起動が完了すると、移行先の仮想マシンは、ライブマイグレーション制御装置210に対して、起動完了通知を送信する(図9の(7−1))。この後、ライブマイグレーション制御装置210は、移行元の仮想マシンを停止させる(図示せず)。
他方、ラベルテーブル更新命令を受信したトラヒックエンジニアリング制御装置310は、ネットワーク内のルータに対して、ラベルテーブルを予約ラベルテーブルに更新するよう指示するラベルテーブル更新命令を送信する(図9の(6−2))。命令を受信したルータは、ラベルテーブルを予約ラベルテーブルに更新する。すべてのルータがラベルテーブルの更新処理を完了すると、トラヒックエンジニアリング装置310にラベルテーブル更新完了通知が送信される(図9の(7−2))。
起動完了通知を受信したライブマイグレーション制御装置210は、統合制御装置800に対して、移行先マシン起動完了通知を送信する(図9の(8−1))。同様に、トラヒックエンジニアリング制御装置310は、ラベルテーブル更新完了通知を受信すると、統合制御装置800に対して、ラベルテーブル更新完了通知を送信する(図9の(8−2))。これによって、処理を終わる。
[ネットワーク内での経路の設定]
次に、図10乃至図11を参照し、ネットワーク内での情報転送経路の設定及び更新の処理について説明する。ここでは、MPLS(Multi-Protocol Label Switching)技術を用いて、転送処理及びルーティング処理を行うものとする。ただし、本実施例は、GMPLS(Generalized Multi-Protocol Label Switching)や、オープンフロー(Open Flow)を用いたルーティングにも同様に適用することができる。
ここでは、トラヒックエンジニアリングの対象となるネットワークが図10のように構成されているとする。図10は、実施例2に係るネットワーク内の情報転送経路を説明するための図である。図10中、「VM」は仮想マシン(Virtual Machine)を指し、「LER」はラベルエッジルータ(Label Edge Router)を指し、「LSR」はラベルスイッチルータ(Label Switch Router)を指す。ラベルエッジルータとは、ネットワークと外部との境界に位置するルータであり、外部からネットワークに入来するパケットにラベルを付してネットワーク内の次のルータに転送する。ラベルスイッチルータとは、ネットワークの内部に位置するルータであり、ラベルが付されたパケットを受信し、自己が保持するラベルテーブルを参照してパケットに所定の処理を施した上で、隣接するルータに転送するルータである。
[ラベルテーブルを用いたルーティング]
ラベルテーブルを用いたパケットのルーティングについて、図10を参照しさらに詳細に説明する。図10中、仮想マシンVM1,VM2がルータLER1に接続される。また、仮想マシンVM3,VM4がルータLER2に接続される。ルータLER1,LER2は、ルータLSR3に接続される。ルータLSR3は、ルータLSR4,LSR6に接続される。ルータLSR4は、ルータLSR5に接続され、ルータLSR5は、ルータLER8に接続される。また、ルータLSR6は、ルータLSR7に接続され、ルータLSR7は、ルータLER8,LER9に接続される。ルータLER8は、外部ネットワークNW−A,NW−Bに接続される。ルータLER9は、外部ネットワークNW−Bに接続される。外部ネットワークNW−Aには、クライアントCL1が接続している。また、外部ネットワークNW−Bには、クライアントCL2が接続している。
ここで、各ルータは、予め入来パケットの転送経路を定めたラベルテーブルを保持する。例えば、ルータLER1は、図11−1に示すラベルテーブルを保持する。図11−1は、実施例2に係るルータが保持するラベルテーブルの一例を示す図である。図11−1に示すように、ラベルテーブルには、入来するパケットの行き先(DA:Destination Address)に対応付けて、次の転送先ルータ(NHOP:Next Hop)と、入来パケットのラベルに対して実行する処理の内容(ACTION)と、入来するパケットに付加するラベル(LABEL(OUT))とが格納される。図11−1に示すラベルテーブルの1行目は、入来するパケットの行き先が、クライアント「CL1」であれば、次の転送先ルータは「LSR3」であることが示されている。「NHOP」は次のホップ(Next Hop)を意味する。また、入来するパケットの行き先が、クライアント「CL1」であれば、当該パケットのラベルに対する処理は、ラベルを付け替えること(「SWAP&PUSH」)であることが示されている。また、付与するラベルは「L1」であることが示されている。
ルータLER1が、図11−1に示すラベルテーブルを保持しているとすると、行き先アドレスを「CL1」とする入来パケットは、ラベル「L1」を付与され、次にルータ「LSR3」に転送される。ルータ「LSR3」は、例えば、図11−2に示すラベルテーブルを参照して、当該パケットの転送処理を実行する。図11−2は、実施例2に係るルータが保持するラベルテーブルの他の例を示す図である。図11−2に示すラベルテーブルの1行目には、ラベル「L1」を持つパケットの次の転送先は、「LSR4」であり、ラベルを付け替えて(SWAP)、「L2」にすることが規定されている。ルータ「LSR3」は、このラベルテーブルを参照して、入来パケットのラベル「L1」を「L2」に付け替え、次の転送先であるルータ「LSR4」に転送する。ラベルは、外部からネットワークにパケットが入ったとき、ラベルエッジルータによって付与され、パケットが外部ネットワークへと転送されるときは、ラベルエッジルータが、ラベルを削除して、外部ネットワークに対応した行き先アドレスのみを残す。このようにして、各ルータは、自己の保持するラベルテーブルを参照して入来パケットを転送する。
実施例2では、仮想マシンのライブマイグレーションに伴う、最適な情報転送経路の変動に応じて、各ルータが保持するラベルテーブルを更新する。例えば、図10の例において、仮想マシンVM1を仮想マシンVM4にライブマイグレーションすることを考える。この時点で、仮想マシンVM1に処理が集中している一方で、仮想マシンVM4は利用されておらず停止しているとする。そして、仮想マシンVM1からクライアントCL1へのパケットは、「LER1−LSR3−LSR4−LSR5−LER8」という経路(図10の矢印A)で転送されるように、ラベルテーブルが設定されているとする。また、仮想マシンVM3からクライアントCL2へのパケットは、「LER2−LSR3−LSR6−LSR7−LER9」という経路(図10の矢印B)で転送されるように、ラベルテーブルが設定されているとする。このとき、仮想マシンVM1の処理を仮想マシンVM4に移行させて、仮想マシンVM3からクライアントCL2への情報経路に重なる経路「LER2−LSR3−LSR6−LSR7−LER8」(図8の矢印C)を通じて転送するようにラベルテーブルを設定すると、「LER2−LSR3−LSR6−LSR7」において輻輳が発生する可能性がある。そこで、輻輳を防止するよう、仮想マシンVM4からクライアントCL1へのパケットは、「LER2−LSR3−LSR4−LSR5−LER8」という経路(図10の矢印D)を通って転送されるようにラベルテーブルを更新することができる。
[ラベルテーブルの更新]
ラベルテーブルの更新は、条件決定部122によって決定された情報転送経路に基づき、トラヒックエンジニアリング制御装置310から各ルータに予約ラベルテーブル作成命令及びラベルテーブル更新命令を送信することによって実行される。次に、予約ラベルテーブルの作成及びラベルテーブルの更新につき、説明する。
図12は、実施例2に係るルータの構成の一例を示す図である。図12に示すルータは、ラベルエッジルータ又はラベルスイッチルータ、例えば、図10に示すルータLER1またはLSR3等に相当する。ここでは、ネットワークと外部との境界に位置するラベルエッジルータはトラヒックエンジニアリング制御装置310と接続され、ラベルスイッチルータはトラヒックエンジニアリング制御装置310と接続されていないものとする。その他の構成はラベルエッジルータもラベルスイッチルータも同様である。
図12に示すように、ルータ(LSR,LER)は、記憶部10と、制御部20と、入出力部30と、を備える。記憶部10は、ラベルテーブル11を備える。また、記憶部10は、予約ラベルテーブル12が作成されると、ラベルテーブル11とは別に、予約ラベルテーブル12を保持する。制御部20は、経路判定部21と、予約ラベルテーブル作成部22と、テーブル更新部23とを備える。
ラベルテーブル11は、上述のようにルータ(LSR,LER)を介して転送されるパケットの転送先を規定するテーブルである(図11−1、図11−2参照)。また、予約ラベルテーブル12は、トラヒックエンジニアリング制御装置310からの予約ラベルテーブル作成命令をルータ(LSR,LER)が受信した際に、予約ラベルテーブル作成命令に含まれる情報に従って作成される更新用のラベルテーブルである。以下、予約ラベルテーブル作成命令は、予約パケットとして送信されるものとして説明する。
経路判定部21は、入出力部30を介して入力パケットを受信すると、ラベルテーブル11を参照して入力パケットの転送先を判定し、ラベルテーブル11に格納された情報に基づいて、ラベルの付与、削除等を実行する。経路判定部21が処理したパケットは、入出力部30を介して、ラベルテーブル11に規定された転送先に転送される。
予約ラベルテーブル作成部22は、入出力部30を介して予約パケットを受信すると、予約パケットに格納された情報に基づき、予約ラベルテーブルを作成し、記憶部10に格納する(予約ラベルテーブル12)。
図13を参照して予約パケットについて説明する。図13は、実施例2に係る予約パケットの構成の一例を示す図である。図13に示すように、予約パケットは、パケットの送信元アドレス(SA:Sender Address)と、宛先アドレス(DA:Destination Address)と、指定転送経路とを対応づけて保持する。図13の例では、仮想マシン「VM4」を送信元とする、クライアント「CL1」宛のパケットは、ルータ「R2−R3−R6−R7−R8」によって構成される経路を通じて転送されることが規定されている。予約パケットは、経路変更または経路設定が必要なパケットの情報を適宜保持する。
予約パケットを受信した予約ラベルテーブル作成部22は、自ルータを経路に含む情報を参照して、予約ラベルテーブルを作成する。予約ラベルテーブルは、図11−1乃至図11−2に示すラベルテーブルと同様の構成である。作成した予約ラベルテーブルは記憶部10に格納される(予約ラベルテーブル12)。予約ラベルテーブル12の作成が完了すると、予約ラベルテーブル作成部22は、設定したラベルの情報及び予約ラベルテーブルを設定したことを示す情報を予約パケットに付与して、予約パケットを隣接するルータに転送する。
テーブル更新部23は、入出力部30を介して、ラベルテーブル更新命令すなわち切替パケットを受信すると、ラベルテーブル11を、予約ラベルテーブル12で置き換えることによって、ラベルテーブル11を更新する。テーブル更新部23は、ラベルテーブル11の更新が完了すると、更新完了を示す情報を切替パケットに付与して、切替パケットを隣接するルータに転送する。
予約パケット及び切替パケットは、トラヒックエンジニアリング制御装置310によって情報転送経路の末端に位置するラベルエッジルータに送信される。そして、ラベルエッジルータからラベルスイッチルータを介して順次転送される。予約パケットまたは切替パケットが、転送経路の最後のラベルエッジルータに到達すると、転送経路上のすべてのルータにおける予約ラベルテーブル作成処理、またはラベルテーブル更新処理が完了したことになる。転送経路の最後のラベルエッジルータは、他のルータから予約パケットまたは切替パケットを受信すると、予約パケットまたは切替パケットが転送されてきた方向と反対の方向に、予約応答パケットまたは切替応答パケットを作成して送り返す。予約応答パケットまたは切替応答パケットを、最初に予約パケットまたは切替パケットを転送したルータが受信すると、トラヒックエンジニアリング制御装置310に対して、予約応答パケットまたは切替応答パケットを送信する。予約応答パケット及び切替応答パケットは、図9に示した予約ラベルテーブル作成完了通知(図9、(3−2)参照)及びラベルテーブル更新完了通知(図9、(7−2)参照)の一例である。
なお、ここでは、予約応答パケット及び切替応答パケットが処理完了通知の機能を果たすものとして構成したが、予約パケット及び切替パケットを受信したルータそれぞれが、処理を完了すると完了通知をブロードキャストし、ラベルエッジルータが、各ルータからの完了通知を順次トラヒックエンジニアリング制御装置310に転送するように構成してもよい。処理が完了したことを示す通知の態様は、特に限定されない。
[実施例2の統合制御装置の効果]
上記のように、実施例2に係る統合制御装置800は、ライブマイグレーションとトラヒックエンジニアリングの処理内容を統合的に決定し、制御する。このため、ライブマイグレーション後の情報転送経路を最適化することができ、クラウドコンピューティングの性能を向上させることができる。
また、上記のように、実施例2に係る統合制御装置800は、トラヒックエンジニアリング制御装置310に予約ラベルテーブルの作成を命令し、予約ラベルテーブルの作成が完了した後にラベルテーブルを更新させる。このため、情報転送経路の更新を迅速に完了させ更新後の情報転送経路を確立することができる。
また、上記のように、実施例2に係る統合制御装置800は、ライブマイグレーション制御装置210によるライブマイグレーションの実行制御と、トラヒックエンジニアリング制御装置310による予約ラベルテーブルの作成の制御とを同期させる。また、実施例2に係る統合制御装置800は、ライブマイグレーション制御装置210による移行先仮想マシンの起動処理制御と、トラヒックエンジニアリング制御装置310によるラベルテーブル更新処理制御とを同期させる。このため、ライブマイグレーションの処理とトラヒックエンジニアリングの処理とを並行して実行させることができ、それぞれの処理の完了タイミングのずれを抑制することができる。例えば、トラヒックエンジニアリングにより更新された後の情報転送経路が確立されていない状態で移行先マシンが起動することが防止できる。また、例えば、移行先マシンが起動していない段階で情報転送経路が確立されてしまうことが防止できる。したがって、ライブマイグレーションとトラヒックエンジニアリングとの統合制御により、クラウドコンピューティングの性能をさらに向上させることができる。
上記実施例1、2は、ライブマイグレーションの対象となる仮想マシンの数については特に限定せずに構成した。次に、実施例3として、同時にライブマイグレーションの対象となる仮想マシンが複数存在する場合の統合制御について説明する。
ライブマイグレーションの対象となる仮想マシンが複数存在する場合、当該仮想マシンが構築されているデータセンタの処理能力や、当該仮想マシンが接続されるネットワークの転送処理能力によって、同時にライブマイグレーションを行うことができない場合がある。実施例3に係る統合制御装置は、このような場合におけるライブマイグレーションとトラヒックエンジニアリングの統合制御を実現する。
[実施例3に係る統合制御装置の構成]
図14を参照し、実施例3に係る統合制御装置の構成の概要について説明する。図14は、実施例3に係る統合制御装置900の構成の一例を示す図である。図14に示すように、実施例3に係る統合制御装置900は、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320と接続される。ライブマイグレーション制御装置220はリソース420と接続され、トラヒックエンジニアリング制御装置320はネットワーク520と接続される。リソース420は、ネットワーク520と接続される。ネットワーク520は外部ネットワーク620と接続され、外部ネットワーク620はさらにユーザ端末720と接続される。
統合制御装置900は、通信部901、記憶部910及び制御部920を備える。通信部901の機能は、実施例1の通信部101と同様である。また、記憶部910の機能は、実施例1の記憶部110と同様である。記憶部910は、制御情報記憶部911及び制御対象記憶部912を備える。制御情報記憶部911及び制御対象記憶部912の機能は、実施例1の制御情報記憶部111及び制御対象記憶部112と同様である。
制御部920は、情報取得部921、条件決定部922、同時実行判定部923、組合せ決定部924、実行順序決定部925、命令生成部926、命令送信部927及びタイミング制御部928を備える。情報取得部921及び条件決定部922の動作及び機能は、実施例1の情報取得部121及び条件決定部122(図1参照)の動作及び機能と同様である。ただし、実施例3では、情報取得部921は、ライブマイグレーション制御装置220から、複数の仮想マシンのライブマイグレーションに関する情報を取得し、条件決定部922は、複数の仮想マシンのライブマイグレーションによる移行先、及び複数のライブマイグレーション後の情報転送経路を決定する。
同時実行判定部923は、すべてのライブマイグレーションを同時に実行可能か否か、を判定する。例えば、同時実行判定部923は、制御対象記憶部912に格納された情報等に基づき、各データセンタの処理能力やネットワークの転送処理能力等の制約に照らして、すべてのライブマイグレーションを同時に実行できるか否かを判定する。
組合せ決定部924は、同時実行判定部923が、すべてのライブマイグレーションを同時に実行することはできないと判定した場合に、同時にライブマイグレーションを実行することができる仮想マシンの組合せを決定する。例えば、各データセンタの処理能力やネットワークの転送処理能力に基づき、同時にライブマイグレーションを実行することができる仮想マシンの組合せを決定する。ここでは、組合せ決定部924は、同時にライブマイグレーションを実行した場合に、ライブマイグレーションにより移動されるデータ間で輻輳が発生しないように、すなわち、ライブマイグレーションに要する時間ができるだけ短縮できるように、混合整数線形計画法を用いて、組合せを決定する。なお、各組合せに含まれる仮想マシンの数は特に限定されない。例えば、一度に一つの仮想マシンのライブマイグレーションしか実行できない場合は、一つの仮想マシンを組合せとして決定してもよい。また、複数の仮想マシンのライブマイグレーションを同時に実行できる場合は、複数の仮想マシンの組を組合せとして決定してもよい。
実行順序決定部925は、組合せ決定部924が決定した組合せについてライブマイグレーションの実行順序を決定する。ここでは、実行順序決定部925は、ライブマイグレーションを実行した場合に、先にライブマイグレーションを実行した仮想マシンが移行したことにより輻輳が発生しないように、実行順序を決定する。例えば、実行順序決定部925は、混合整数線形計画法を用いて、ライブマイグレーションを実行する仮想マシンの処理量や、当該仮想マシンに対するトラヒック量、移行先マシンの位置、ネットワークの構成等を考慮して、最適解を導出する。そして、ライブマイグレーションを実行する組合せの順序を決定する。
命令生成部926は、組合せ決定部924が決定した組合せ及び実行順序決定部925が決定した実行順序に基づき、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320に送信する命令を生成する。例えば、組合せ決定部924及び実行順序決定部925により、仮想マシンVM1及びVM2のライブマイグレーションを同時に実行し、実行終了後、次に、仮想マシンVM3及びVM4のライブマイグレーションを同時に実行する、と決定されたとする。この場合、命令生成部926は、仮想マシンVM1及びVM2のライブマイグレーションの実行を指示するライブマイグレーション実行命令と、仮想マシンVM3及びVM4のライブマイグレーションの実行を指示するライブマイグレーション実行命令とをそれぞれ生成する。また、命令生成部926は、仮想マシンVM1及びVM2の移行先マシンの起動及び仮想マシンVM1及びVM2の停止を命じる命令を生成する。さらに、命令生成部926は、仮想マシンVM3及びVM4の移行マシンの起動及び仮想マシンVM3及びVM4の停止を命じる命令を生成する。
また、命令生成部926は、条件決定部922が決定した情報転送経路のうち、仮想マシンVM1及びVM2並びにその移行先マシンを宛先または送信元とする情報の転送経路を規定する予約ラベルテーブルを作成するよう指示する予約ラベルテーブル作成命令(予約パケット)を生成する。さらに、命令生成部926は、仮想マシンVM1及びVM2並びにその移行先マシンに対するトラヒックの転送経路を規定する予約ラベルテーブルでラベルテーブルを更新するよう指示するラベルテーブル更新命令(切替パケット)を生成する。命令生成部926は、さらに、条件決定部922が決定した情報転送経路のうち、仮想マシンVM3及びVM4並びにその移行先マシンを宛先または送信元とする情報の転送経路を規定する予約ラベルテーブルを作成するよう指示する予約ラベルテーブル作成命令(予約パケット)を生成する。さらに、命令生成部926は、仮想マシンVM3及びVM4並びにその移行先マシンに対するトラヒックの転送経路を規定する予約ラベルテーブルでラベルテーブルを更新するよう指示するラベルテーブル更新命令(切替パケット)を生成する。
命令送信部927は、後述するタイミング制御部928からの指示に従い、命令生成部926が生成した命令をライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320に送信する。
タイミング制御部928は、命令生成部926が各命令を生成すると、命令送信部927に対して、実行順序決定部925が決定した順序に従い、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320に対して、ライブマイグレーション実行命令及び予約ラベルテーブル作成命令を送信するよう指示する。また、タイミング制御部928は、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320各々から、ライブマイグレーション実行完了通知及び予約ラベルテーブル作成完了通知を受信すると、命令送信部927に対して、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320に対して、移行先マシン起動命令及びラベルテーブル更新命令を送信するよう指示する。
[実施例3に係る統合制御装置の処理の流れ]
実施例3に係る統合制御装置900における処理の流れを、図15を参照して説明する。図15は、実施例3に係る統合制御装置900における処理の流れの一例を示す図である。まず、情報取得部921は、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320から各々、ライブマイグレーション対象となる複数の仮想マシンの情報及びトラヒックエンジニアリングの対象となるネットワークの情報を取得する(ステップS1501)。次に、条件決定部922は、情報取得部921が取得した情報に基づき、混合整数線形計画法を用いて、最適解となる移行先及びライブマイグレーション後の情報転送経路を決定する(ステップS1502)。ここまでの処理は、実施例1及び2と同様である。
次に、同時実行判定部923は、ライブマイグレーションの対象となる複数の仮想マシンの情報及び条件決定部922が決定した移行先の情報、記憶部910内の制御対象記憶部911に格納された制御対象情報等に基づき、すべてのライブマイグレーションを同時に実行することができるか否かを判定する(ステップS1503)。同時実行判定部923が、すべてのライブマイグレーションを同時に実行することはできないと判定した場合(ステップS1503、否定)、次に、組合せ決定部924が、同時実行可能な仮想マシンの組合せを決定する(ステップS1504)。ここで、組合せの数をn(nは1以上の自然数)とする。次に、実行順序決定部925が、n個の組合せについてライブマイグレーション及びトラヒックエンジニアリングを実行する順序を決定する(ステップS1505)。
命令生成部926は、組合せ決定部924が決定した組合せと実行順序決定部925が決定した実行順序に基づき、1番目の組合せ「k」を選択する(ステップS1506、S1507、k=1)。そして、命令生成部926は、組合せ決定部924が決定した組合せと実行順序決定部925が決定した実行順序に基づき、1番目にライブマイグレーション及びトラヒックエンジニアリングを実行する仮想マシンの組合せに対応した、ライブマイグレーション実行命令、予約ラベルテーブル作成命令、移行先マシン起動命令及びラベルテーブル更新命令を作成する(ステップS1508)。そして、タイミング制御部928からの指示に基づき、命令送信部927は、1番目の組合せ用のライブマイグレーション実行命令及び予約ラベルテーブル作成命令をそれぞれ、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320に送信し、該当する仮想マシンからのメモリ内容の移動と、各ルータでの予約ラベルテーブルの作成を実行させる(ステップS1509)。ステップS1509における処理は、実施例2について説明した処理段階Aにおける処理と同様である(図9参照)。
メモリ内容の移動と予約ラベルテーブルの作成が完了し、ライブマイグレーション制御装置220及びトラヒックエンジニアリング制御装置320から完了通知が送信されると、次に、タイミング制御部928からの指示に基づき、1番目の組合せに対応した、移行先マシン起動命令及びラベルテーブル更新命令を、命令送信部927が送信する。そして、移行先マシンの起動とラベルテーブルの更新が実行される(ステップS1510)。ステップS1510における処理は、実施例2について説明した処理段階Bにおける処理と同様である(図9参照)。
1番目の組合せに対するライブマイグレーション及びトラヒックエンジニアリングが完了すると、命令生成部926は、次の組合せがあるか否かを判定する(ステップS1511)。次の組合せがあると判定すると(ステップS1511、否定)、次の組合せを選択するためk=k+1と設定し(ステップS1512)、ステップS1507に戻って次の組合せを選択し、命令生成部926が次の組合せに対応する命令を生成する。次の組合せがない、すなわち、すべての組合せについてライブマイグレーション及びトラヒックエンジニアリングの実行を完了したと判定すると(ステップS1511、肯定)、処理を終了する。
ステップS1503において、同時実行判定部923が、すべてのライブマイグレーションを同時に実行することができると判定した場合(ステップS1503、肯定)には、組合せ決定部924は、ライブマイグレーションの対象となるすべての仮想マシンの集合を、ライブマイグレーションを同時実行する仮想マシンの組合せとして設定する(ステップS1513,k=n=1)。命令生成部926は、設定した組合せを選択し(ステップS1507)、組合せに対応した命令を生成する(ステップS1508)。そして、統合制御装置900は、ステップS1509以降の処理を実行する。
なお、上記実施例3では、ライブマイグレーションを仮想マシンの組合せごとに、複数回に分けて実行するものとした。そして、ライブマイグレーションの実行時に、当該ライブマイグレーションの対象となる仮想マシン及びその移行先マシンを宛先または送信元とするパケットの情報転送経路についてトラヒックエンジニアリングを実行するものとして説明した。しかし、場合によっては、複数の仮想マシンのライブマイグレーションの結果として、ライブマイグレーションの対象となった仮想マシン及びその移行先マシン以外の処理装置を宛先または送信元とするパケットについても、情報転送経路を変更することが望ましい場合が考えられる。このような場合には、ライブマイグレーション後の情報転送経路の決定時(図15、ステップS1502)において、ライブマイグレーション対象である仮想マシン及びその移行先マシン以外を宛先または送信元とするパケットの情報転送経路が決定される。これらの情報転送経路については、すべてのライブマイグレーションが終了した後(例えば、図15のステップS1511の後)に、まとめてトラヒックエンジニアリング制御装置320に予約ラベルテーブル作成命令及びラベルテーブル更新命令を送信して、更新処理を行うものとしてもよい。
また、上記実施例3では、組合せを選択するごとに、当該組合せに対応した命令を生成するものとして説明した。しかし、本実施例はこれに限定されず、例えば、ライブマイグレーション及びトラヒックエンジニアリングの実行前に、すべての組合せに対応する命令を命令生成部926に生成させておき、その後、1番目の組合せについてのライブマイグレーション及びトラヒックエンジニアリングを実行するものとしてもよい。また、命令の生成は他の組合せについてライブマイグレーション等が実行されている間に行うものとしてもよい。
また、上記実施例3では、仮想マシンの組合せについてライブマイグレーションの実行順序を決定し、決定した順序に基づいてライブマイグレーション及びトラヒックエンジニアリングを実行するものとしたが、組合せ数や予想される輻輳の程度等によっては、実行順序を決定せずに、ランダムに組合せを選択して順次実行するものとしてもよい。
また、上記実施例3では、ライブマイグレーションとトラヒックエンジニアリングをそれぞれの組合せについて同期的に実行するものとしたが、各組合せについてライブマイグレーションが完了した後に、当該組合せに関係するトラヒックエンジニアリングを実行するものとしてもよい。
[実施例3に係る統合制御装置の効果]
上記のように、実施例3に係る統合制御装置900は、複数のライブマイグレーションを実行する場合、すべてのライブマイグレーションを同時実行できるか否かを判定する。同時実行できないと判定した場合、統合制御装置900は、同時実行できる組合せを決定し、組合せごとにライブマイグレーション及びトラヒックエンジニアリングを実行する。このため、データセンタやネットワークの性能上の制約により、ライブマイグレーションを同時に実行できない場合であっても、適切にライブマイグレーション及びトラヒックエンジニアリングを統合制御することができ、クラウドコンピューティングの性能を向上させることができる。
また、上記のように、実施例3に係る統合制御装置900は、複数のライブマイグレーションを実行する場合、すべてのライブマイグレーションを同時実行できるか否かを判定する。そして、同時実行できないと判定した場合、統合制御装置900は、同時に実行した場合に、最も短時間でライブマイグレーションを完了することができる組合せを決定し、組合せごとにライブマイグレーション及びトラヒックエンジニアリングを実行する。このため、データセンタやネットワークの性能上の制約により、ライブマイグレーションを同時に実行できない場合であっても、適切にライブマイグレーション及びトラヒックエンジニアリングを統合制御することができる。さらに、ライブマイグレーションに要する時間を削減することができ、クラウドコンピューティングの性能を向上させることができる。
また、上記のように、実施例3に係る統合制御装置900は、複数のライブマイグレーションを実行する場合、すべてのライブマイグレーションを同時実行できるか否かを判定する。そして、同時実行できないと判定した場合、統合制御装置900は、同時にライブマイグレーションを実行した場合に発生する輻輳が最も少ない仮想マシンの組合せを決定する。そして、統合制御装置900は、組合せごとにライブマイグレーション及びトラヒックエンジニアリングを実行する。このため、ライブマイグレーション中に発生する輻輳を抑制し、ライブマイグレーションに要する時間を削減することができ、クラウドコンピューティングの性能を向上させることができる。
また、上記のように、実施例3に係る統合制御装置900は、複数のライブマイグレーションを実行する場合、すべてのライブマイグレーションを同時実行できるか否かを判定する。そして、同時実行できないと判定した場合、統合制御装置900は、同時にライブマイグレーションを実行することができる仮想マシンの複数の組合せを決定する。そして、統合制御装置900は、複数の組合せについて、順次ライブマイグレーションを実行した場合に、先にライブマイグレーションを実行した仮想マシンに対するトラヒックにより輻輳が生じる可能性が最も低い順序を、混合整数線形計画法を用いて決定する。このため、仮想マシンの複数の組合せについて、順次ライブマイグレーションを実行する場合であっても、ライブマイグレーションが完了した仮想マシンに対するトラヒックが、まだライブマイグレーションが完了していない仮想マシンの処理に与える影響を抑制することができ、クラウドコンピューティングの性能を向上させることができる。
これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されてもよい。以下に、その他の実施例を説明する。
[インタークラウド環境]
例えば、実施例1の統合制御装置100を、インタークラウドサーバとして構成してもよい。その場合、ライブマイグレーション制御装置200を、クラウド事業者Xが管理する複数のデータセンタによって構成されるクラウドの管理を行う管理装置として構成してもよい。また、トラヒックエンジニアリング制御装置300を、クラウド事業者Yが管理するネットワークによって構成されるクラウドの管理を行う管理装置として構成してもよい。このように構成することで、異なる事業者が運営するクラウドを統合してユーザに提供するインタークラウドシステムにおいて、各リソース間の動作を統合的に制御して、ユーザに提供することが可能となる。
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、図1に示す例では、記憶部110を統合制御装置100の内部に配置したが、記憶部110を統合制御装置100の外部装置としてネットワーク経由で接続するようにしてもよい。また、例えば、図1に示す例において、実行制御部123をライブマイグレーション実行制御部とトラヒックエンジニアリング実行制御部とに分離してもよく、また、図14に示す例において、命令送信部927とタイミング制御部928とを統合してもよい。
[プログラム]
図16は、インタークラウドサーバによる一連の処理を実行するプログラムである統合制御プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。図16に例示するように、コンピュータ3000は、例えば、メモリ3010と、CPU(Central Processing Unit)3020と、ハードディスクドライブ3080と、ネットワークインタフェース3070とを有する。コンピュータ3000の各部はバス3100によって接続される。
メモリ3010は、図16に例示するように、ROM3011及びRAM3012を含む。ROM3011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。
ここで、図16に例示するように、ハードディスクドライブ3080は、例えば、OS3081、アプリケーションプログラム3082、プログラムモジュール3083、プログラムデータ3084を記憶する。すなわち、開示の技術に係る統合制御プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール3083として、例えばハードディスクドライブ3080に記憶される。例えば、制御部120の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュール3083が、ハードディスクドライブ3080に記憶される。
また、記憶部110に記憶されるデータのように、統合制御プログラムによる情報処理に用いられるデータは、プログラムデータ3084として、例えばハードディスクドライブ3080に記憶される。そして、CPU3020が、ハードディスクドライブ3080に記憶されたプログラムモジュール3083やプログラムデータ3084を必要に応じてRAM3012に読み出し、各種の手順を実行する。
なお、リソース管理プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ハードディスクドライブ3080に記憶される場合に限られない。例えば、プログラムモジュール3083やプログラムデータ3084は、着脱可能な記憶媒体に記憶されてもよい。この場合、CPU3020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、更新プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。この場合、CPU3020は、ネットワークインタフェース3070を介して他のコンピュータにアクセスすることで各種データを読み出す。
[その他]
なお、本実施例で説明した統合制御プログラムは、インターネット等のネットワークを介して配布することができる。また、統合制御プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
100 統合制御装置
101 通信部
110 記憶部
111 制御情報記憶部
112 制御対象記憶部
120 制御部
121 情報取得部
122 条件決定部
123 実行制御部
124 命令生成部
125 命令送信部
126 タイミング制御部
200 ライブマイグレーション制御装置
300 トラヒックエンジニアリング制御装置
400 リソース
500 ネットワーク
600 外部ネットワーク
700 ユーザ端末

Claims (7)

  1. ライブマイグレーションの対象である仮想マシンの情報と、当該仮想マシンに接続されるネットワークの情報とを取得する情報取得部と、
    前記情報取得部が取得した前記仮想マシンの情報及びネットワークの情報と、所定の制御目標とに基づき、混合整数線形計画法を用いて最適解となる、ライブマイグレーションによる前記仮想マシンの移行先と、ライブマイグレーション後の前記ネットワーク内の情報転送経路とを決定する条件決定部と、
    前記条件決定部の決定に基づいて、前記ライブマイグレーションの実行及び前記ネットワーク内の情報転送経路の更新を制御する実行制御部と、
    を備え
    前記ネットワーク内の情報転送経路は、前記ネットワーク内に配置される複数の情報転送装置が保持するテーブルによって制御され、
    前記実行制御部は、
    前記ライブマイグレーションによる前記仮想マシンの資源の移動と、前記条件決定部が決定した前記情報転送経路を規定する予約テーブルの作成とを並行して実行させ、
    前記資源の移動及び前記予約テーブルの作成の完了後に、前記移行先の仮想マシンの起動と、前記情報転送装置が保持するテーブルの前記予約テーブルへの更新とを並行して実行させるよう制御することを特徴とする統合制御装置。
  2. 前記実行制御部は、前記ライブマイグレーションの実行と、前記ネットワーク内の情報転送経路の更新とが同期するように制御することを特徴とする請求項1に記載の統合制御装置。
  3. 前記条件決定部はさらに、ライブマイグレーションの対象となる複数の仮想マシンから、所定の制約を満たす仮想マシンを順次選択し、
    前記実行制御部は、前記条件決定部が選択した仮想マシンのライブマイグレーションを順次実行させるよう制御することを特徴とする請求項1または2に記載の統合制御装置。
  4. 前記条件決定部はさらに、ライブマイグレーションの対象となる複数の仮想マシンから、同時にライブマイグレーションを行った場合に最もライブマイグレーションの実行時間が短くなる仮想マシンの組合せを導出し、
    前記実行制御部は、前記条件決定部が導出した組合せに基づいて、ライブマイグレーションを実行させるよう制御することを特徴とする請求項1または2に記載の統合制御装置。
  5. 前記条件決定部はさらに、ライブマイグレーションの対象となる複数の仮想マシンから、同時にライブマイグレーションを行った場合に最もライブマイグレーションの実行時間が短くなる仮想マシンの組合せを複数導出し、
    前記条件決定部は、導出した複数の仮想マシンの組合せを実行する順序を、ネットワーク上の輻輳の発生を最も抑制できる順序に決定し、
    前記実行制御部は、前記条件決定部が決定した順序に基づいて、仮想マシンの複数の組合せのライブマイグレーションの実行を制御することを特徴とする請求項1または2に記載の統合制御装置。
  6. 前記条件決定部は、前記情報取得部が取得した、前記仮想マシンに対するトラヒック量及び前記ネットワーク内の構成要素間の接続関係と、前記所定の制御目標とに基づき、混合整数線形計画法を用いて、前記移行先の仮想マシンと前記情報転送経路とを決定することを特徴とする請求項1に記載の統合制御装置。
  7. 統合制御装置で実行される統合制御方法であって、
    ライブマイグレーションの対象である仮想マシンの情報と、当該仮想マシンに接続されるネットワークの情報とを取得する情報取得工程と、
    前記情報取得工程において取得した前記仮想マシンの情報及びネットワークの情報と、所定の制御目標とに基づき、混合整数線形計画法を用いて最適解となる、ライブマイグレーションによる前記仮想マシンの移行先と、ライブマイグレーション後の前記ネットワーク内の情報転送経路とを決定する条件決定工程と、
    前記条件決定工程における決定に基づいて、前記ライブマイグレーションの実行及び前記ネットワーク内の情報転送経路の更新を制御する実行制御工程と、
    を含み、
    前記ネットワーク内の情報転送経路は、前記ネットワーク内に配置される複数の情報転送装置が保持するテーブルによって制御され、
    前記実行制御工程は、
    前記ライブマイグレーションによる前記仮想マシンの資源の移動と、前記条件決定工程により決定した前記情報転送経路を規定する予約テーブルの作成とを並行して実行させ、
    前記資源の移動及び前記予約テーブルの作成の完了後に、前記移行先の仮想マシンの起動と、前記情報転送装置が保持するテーブルの前記予約テーブルへの更新とを並行して実行させるよう制御する
    ことを特徴とする統合制御方法。
JP2012041947A 2012-02-28 2012-02-28 統合制御装置及び統合制御方法 Active JP5682070B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012041947A JP5682070B2 (ja) 2012-02-28 2012-02-28 統合制御装置及び統合制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012041947A JP5682070B2 (ja) 2012-02-28 2012-02-28 統合制御装置及び統合制御方法

Publications (2)

Publication Number Publication Date
JP2013179456A JP2013179456A (ja) 2013-09-09
JP5682070B2 true JP5682070B2 (ja) 2015-03-11

Family

ID=49270730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012041947A Active JP5682070B2 (ja) 2012-02-28 2012-02-28 統合制御装置及び統合制御方法

Country Status (1)

Country Link
JP (1) JP5682070B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9166865B2 (en) * 2012-11-07 2015-10-20 International Business Machines Corporation Mobility operation resource allocation
WO2015117636A1 (en) * 2014-02-04 2015-08-13 Nokia Solutions And Networks Oy Service scaling in communications
KR101585413B1 (ko) 2014-05-22 2016-01-14 숭실대학교산학협력단 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법
CN106656905B (zh) * 2015-10-28 2020-02-21 新华三技术有限公司 防火墙集群实现方法及装置
JP6897136B2 (ja) 2017-02-10 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP6640768B2 (ja) * 2017-02-22 2020-02-05 日本電信電話株式会社 通信方法及び通信システム
JP2019020945A (ja) * 2017-07-14 2019-02-07 富士通株式会社 並列処理制御装置およびジョブスワッププログラム
JP6965845B2 (ja) * 2018-08-15 2021-11-10 日本電信電話株式会社 通信システムおよび移動方法
WO2023157168A1 (ja) * 2022-02-17 2023-08-24 日本電信電話株式会社 通信システム、統合コントローラ及び切替方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5375403B2 (ja) * 2009-07-23 2013-12-25 富士通株式会社 仮想マシン移動制御プログラム,仮想マシン移動制御方法および仮想マシン移動制御装置
JP5446040B2 (ja) * 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法

Also Published As

Publication number Publication date
JP2013179456A (ja) 2013-09-09

Similar Documents

Publication Publication Date Title
JP5682070B2 (ja) 統合制御装置及び統合制御方法
US10263889B2 (en) Data forwarding method, device, and system in software-defined networking
US10003571B2 (en) Method and apparatus for implementing communication between virtual machines
US9900221B2 (en) Controlling a topology of a network
EP2813032B1 (en) Balancing of forwarding and address resolution in overlay networks
EP2817926B1 (en) Delegate forwarding and address resolution in fragmented network
JP5835846B2 (ja) ネットワークシステム及び仮想ノードのマイグレーション方法
US8990808B2 (en) Data relay device, computer-readable recording medium, and data relay method
US9083709B2 (en) Virtual internet protocol migration and load balancing
JP2017059991A (ja) ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム
WO2017032300A1 (zh) 一种数据传输方法、虚拟网络管理装置及数据传输系统
JP2014230057A (ja) 管理プログラム、管理装置、およびネットワークシステム
US20160285734A1 (en) Cloud-environment provision system, route control method, and medium
JP5976603B2 (ja) 統合制御装置および統合制御方法
Lo et al. Virtual network migration on real infrastructure: A PlanetLab case study
US11374820B2 (en) Centralized controller-based dynamic network bandwidth allocation and management
WO2021083228A1 (zh) 报文转发方法、装置及计算机存储介质
WO2014133025A1 (ja) 通信システム、上位コントローラ、ネットワークの制御方法及びプログラム
JP6261001B2 (ja) 経路制御システムおよびその方法
Zhang et al. Towards efficiently migrating virtual networks in cloud-based data centers
WO2021238763A1 (zh) 一种路由管理方法、设备及系统
JP6540299B2 (ja) 仮想ネットワーク管理システム、仮想ネットワーク管理装置、仮想ネットワーク管理方法及びプログラム
Lai et al. Dual migration for improved efficiency in cloud service
JP2011211428A (ja) ネットワークの管理システム及びネットワークにおける停止ノードの再稼働方法
JP2017005405A (ja) 制御装置、通信システム、制御方法、および、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141120

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: 20141224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141225

R150 Certificate of patent or registration of utility model

Ref document number: 5682070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250