JP2013089166A - 通信装置、通信方法、および、通信プログラム - Google Patents

通信装置、通信方法、および、通信プログラム Download PDF

Info

Publication number
JP2013089166A
JP2013089166A JP2011231699A JP2011231699A JP2013089166A JP 2013089166 A JP2013089166 A JP 2013089166A JP 2011231699 A JP2011231699 A JP 2011231699A JP 2011231699 A JP2011231699 A JP 2011231699A JP 2013089166 A JP2013089166 A JP 2013089166A
Authority
JP
Japan
Prior art keywords
movement
virtual machine
server
arrangement
candidate
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.)
Granted
Application number
JP2011231699A
Other languages
English (en)
Other versions
JP5768651B2 (ja
Inventor
Toshihiko Kurita
敏彦 栗田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011231699A priority Critical patent/JP5768651B2/ja
Priority to US13/602,531 priority patent/US9135047B2/en
Publication of JP2013089166A publication Critical patent/JP2013089166A/ja
Application granted granted Critical
Publication of JP5768651B2 publication Critical patent/JP5768651B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データセンタ内の回線を効率的に利用する。
【解決手段】通信装置は、受信部、相関度算出部、候補算出部、移動負荷算出部、送信部を備える。受信部は、データセンタで動作する各仮想マシンについて、単位時間に送受信されるデータの量である通信量を、送信元と宛先に関連付けた観測結果を受信する。相関度算出部は、通信量が大きいほど送信元と宛先の間の相関度が大きくなるように相関度を算出する。候補算出部は、相関度が大きい仮想マシンの組み合わせを優先的に同一のサーバに配置した配置候補を算出する。移動負荷算出部は、配置候補と同じ配置にするための仮想マシンの移動がネットワークへかける負荷の大きさである移動負荷を求める。移動負荷が閾値以下のとき、配置候補と同じ配置にするために移動させる仮想マシンに移動先のサーバを指示する移動指示メッセージが生成される。送信部は移動指示メッセージを送信する。
【選択図】図1

Description

本発明は、複数の通信装置を含むネットワークにおける通信に関する。
近年、ネットワークと仮想マシン(Virtual Machine、VM)を用いたクラウドコンピューティングが普及してきている。クラウドコンピューティングに用いられるデータセンタには複数のサーバが設置されることがあり、仮想マシンはサーバ中で動作する。さらに1つのサーバ中で複数の仮想マシンが動作することもある。データセンタで仮想マシンを配置もしくは移動する場合、管理を容易にするなどの目的により、同一のテナントで使用される仮想マシンがなるべく同一の物理サーバに配置されることがある。また、物理サーバを有効活用するために、1つの物理サーバになるべく多くの仮想マシンが配置されることもある。仮想マシンはアプリケーションを実行するために用いるデータや、アプリケーションの実行結果を他の仮想マシンやサーバなどとの間で送受信する。このため、1つのデータセンタ中の複数の仮想マシンの間での通信が発生することがある。さらに、データセンタAに設置されているサーバで動作している仮想マシンが、データセンタAとは異なるデータセンタBに設置されているサーバで動作する仮想マシンと通信する場合もある。
関連する技術として、仮想マシンがネットワークセグメントを越えて物理サーバ間を移動できるようにする方法が提案されている。この方法を用いて空調や照明などの設備が共通する物理サーバに優先的に仮想マシンを配置することにより、効率的に電力消費を削減することが提案されている。さらに、異なる物理マシンで実行されている2つの仮想マシンの間で一定以上の通信量を伴う通信の回数が閾値を越えたとき、これらの2つの仮想マシンが同じ物理マシンで実行されるように配置を決定する方法も提案されている。
特開2010−26699号公報 特開2010−140134号公報
クラウドコンピューティングの普及に伴い、データセンタ内で送受信されるデータ量やデータセンタ間で送受信されるデータ量が急増してきているため、通信量の増大に対応できるようなシステムが求められている。しかし、特定の物理サーバに優先的に仮想サーバを配置する方法では、データセンタ内で発生する通信について考慮していない。このため、仮想サーバが複数の物理サーバに分けて配置された場合、仮想サーバの配置によっては、物理サーバを結ぶネットワークを経由するデータの量が多くなることや、送信元と宛先の間を中継する中継装置の数が多くなることがある。このような場合、データセンタ内の回線を効率的に利用できなくなってしまう。また、一定以上の通信量を伴う通信の回数が閾値を越えた2つの仮想マシンが同じ物理マシンで実行されるように配置を決定する方法でも、仮想サーバの配置を変更するために発生する通信については考慮されていない。このため、仮想サーバを移動させるための処理が重すぎて、かえってデータセンタ内の通信を圧迫してしまうおそれもある。
本発明は、データセンタ内の回線を効率的に利用できる通信方法を提案することを目的とする。
実施形態に係る通信装置は、受信部、相関度算出部、候補算出部、移動負荷算出部、および、送信部を備える。受信部は、複数のサーバを備えるデータセンタで動作する複数の仮想マシンの各々について、単位時間に送受信されるデータの量である通信量を前記データの送信元と宛先に関連付けた観測結果を受信する。相関度算出部は、前記通信量が大きいほど前記送信元と前記宛先の間の相関度が大きくなるように相関度を算出する。候補算出部は、前記相関度が相対的に大きい仮想マシンの組み合わせを優先的に同一のサーバに配置した配置候補を算出する。移動負荷算出部は、前記複数の仮想マシンの配置を前記配置候補に合わせるための仮想マシンの移動に起因するデータの送受信が前記データセンタ中のネットワークにかける負荷の大きさである移動負荷を算出する。さらに、移動負荷算出部は、前記移動負荷が閾値以下である場合、前記配置候補と同じ配置にするために移動させる仮想マシンに、移動先のサーバを指示する移動指示メッセージを生成する。送信部は、前記移動指示メッセージを送信する。
データセンタ内の回線を効率的に利用できる。
実施形態に係る通信方法の例を示す図である。 管理サーバの構成の例を示す図である。 相関度テーブルの例を示す図である。 外部トラフィック量テーブルの例を示す図である。 移動コストテーブルの例を示す図である。 サーバおよび管理サーバのハードウェア構成の例を示す図である。 データセンタ中のネットワークの例を示す図である。 ネットワーク情報の例を示す図である。 初期値データの例を示す図である。 相関度テーブルの例を示す図である。 仮想マシンの配置方法の例を説明する図である。 相関度の計算結果の例を示す図である。 相関度の計算結果の例を示す図である。 相関度の計算結果の例を示す図である。 仮想マシンの配置の例を示す図である。 各サーバに配置された配置グループ同士の相関度の例を示す図である。 配置候補の算出方法の例を説明するフローチャートである。 仮想マシンの配置の例を示す図である。 仮想スイッチで保持されるテーブルの例を示す。 通知メッセージのフォーマットの例を示す図である。 移動コストテーブルの例を示す図である。 等価な配置候補の例を示す図である。 得られた総移動コストの値の例を示す図である。 移動指示メッセージのフォーマットの例を示す図である。 データセンタの運用中の管理サーバの動作の例を説明するフローチャートである。 非対称のネットワークの例を示す図である。 仮想マシンVM1〜VM16の外部トラフィック量の例を示す図である。 第2の実施形態にかかる方法での仮想マシンの配置の例を示す図である。 仮想マシンの配置の例を示す図である。 リンク毎トラフィックテーブルの例を示す図である。 省電力指示メッセージのフォーマットの例を示す図である。 省電力箇所検出部の動作の例を説明するフローチャートである。 データセンタの運用中の管理サーバの動作の例を説明するフローチャートである。
図1に、実施形態に係る通信方法の例を示す。図1の例では、データセンタに3台のサーバ10(10a〜10c)と2つのスイッチ20(20a、20b)、管理サーバ30が含まれているものとする。サーバ10には、複数の仮想マシンを設置することができる。ここでは、最初はサーバ10aに仮想マシンVM1とVM2が設置され、サーバ10cに仮想マシンVM3が設置されているものとする。各々のサーバ10では、仮想スイッチ5(5a〜5c)が動作する。個々の仮想スイッチ5では、接続されている仮想マシンの通信量を、データの送信元と宛先に対応付けて観測し、仮想マシンの通信の状況を管理サーバ30に通知する。例えば、仮想スイッチ5aは、仮想マシンVM1とVM2について、各々の仮想マシンが行っている通信で送受信されるデータ量を示す情報を、データの送信元と宛先に対応付けて管理サーバ30に通知する(矢印A)。同様に、仮想スイッチ5bおよび5cも、矢印BおよびCに示すように、管理サーバ30への通知を行う。
管理サーバ30は、通知された情報から、仮想マシンの間の相関度を計算する。以下の説明で「相関度」は、2台の仮想マシンの間の通信量の指標とする数値であるものとし、相関度が大きいほど、2台の仮想マシンの間の通信量が多いことを示すものとする。管理サーバ30は、相関度の大きな仮想マシン同士がなるべく同じサーバ10に配置される場合の配置を、配置候補として算出する。従って、配置候補では、異なるサーバに配置されている仮想マシンVM同士の相関度がなるべく小さくなるように調整されているともいえる。
次に、管理サーバ30は、求めた配置候補どおりに仮想マシンを配置する際の仮想マシンの移動に伴って発生するデータの送受信が、データセンタ中のネットワークにかける負荷(移動負荷)を計算する。移動負荷が閾値未満であれば、管理サーバ30は、配置候補に従って、仮想マシンを移動させる。例えば、配置候補では、サーバ10aに仮想マシンVM1、VM2が配置され、サーバ10bに仮想マシンVM3が配置されるとする。移動負荷が閾値よりも小さい場合、管理サーバ30は、矢印Dに示す指示メッセージを仮想マシンVM3に送信することにより、仮想マシンVM3をサーバ10cからサーバ10bに移動させる。一方、移動負荷が閾値以上であれば、管理サーバ30は、配置候補に従って仮想マシンを移動させるために発生する負荷が大きいため、配置候補どおりに仮想マシンを配置してもネットワークの負荷を軽減できないと判断する。そこで、管理サーバ30は仮想マシンの配置を変更しない。
このため、図1に示す方法を用いることにより、データセンタ内の回線が効率的に利用される。さらに、管理サーバ30が、移動負荷を閾値と比較した上で仮想マシンの移動を行うため、仮想サーバを移動させるための処理が重すぎてデータセンタ内の通信を圧迫してしまう状況を回避することもできる。
<装置構成>
図2は、管理サーバ30の構成の例を示す。管理サーバ30は、受信部31、送信部32、移動負荷算出部40、移動コストテーブル41、配置設計部50、相関度テーブル54、外部トラフィック量テーブル55、記憶部60を備える。さらに、オプションとして、管理サーバ30は、省電力箇所検出部33を備えることもできる。
受信部31はサーバ10から送信されたデータ等を受信する。例えば、受信部31は、各仮想マシンで行われている通信により送受信されているデータの量を特定するために用いられる情報を受信する。以下の説明では、各仮想マシンで行われている通信で送受信されているデータの量を特定するために用いられる情報を「トラフィック情報」と記載することがある。トラフィック情報には、データセンタ内で行われる通信の情報の他に、データセンタの外部に位置する外部通信装置との間で仮想マシンが行う通信(外部トラフィック)の情報が含まれる。
送信部32は、管理サーバ30からサーバ10に向けて送信される制御情報やデータ等を送信する。例えば、送信部32は、仮想マシンを移動させるための制御メッセージを、移動させる対象の仮想マシンが配置されているサーバ10に向けて送信する。
配置設計部50は、相関度算出部51、候補算出部52、外部トラフィック取得部53を備える。相関度算出部51は、サーバ10から得られたトラフィック情報を用いて、2台の仮想マシンの間の相関度を計算する。仮想マシンの運用が開始される前に仮想マシンの配置を決定する場合、相関度算出部51は、初期値データ62に記録されているトラフィック情報を用いて相関度を計算する。相関度算出部51の計算結果は、相関度テーブル54に記録される。図3に相関度テーブル54の例を示す。図3は、仮想マシンVM1〜VM4の4台の仮想マシンが動作している場合に計算される相関度の例を示している。送信元の仮想マシンの番号と宛先の仮想マシンの番号が交わった欄に記載されている値が、送信元の仮想マシンと宛先の仮想マシンの間の相関度である。従って、仮想マシンVM1〜VM4が動作している場合、VM1とVM2の間、VM1とVM3の間、VM1とVM4の間、VM2とVM3の間、VM2とVM4の間、VM3とVM4の間の双方向の通信についての12種類の相関度が計算される。相関度の計算方法については後で詳しく説明する。
候補算出部52は、相関度テーブル54とネットワーク情報61を用いて、配置候補を計算する。以下の記載で、配置候補は、相関度の高い仮想マシン同士をなるべく同一のサーバ10に配置した場合の配置である。配置候補の通りに仮想マシンを配置するために行われる仮想マシンの移動に起因するネットワークへの負荷が一定以下の場合、その配置候補が仮想マシンの配置として採用され得る。ネットワーク情報61は、データセンタ中のネットワークのトポロジーを特定するための情報である。候補算出部52は、ネットワーク情報61により、サーバ10間の接続の状況を特定することができる。ネットワーク情報61には、例えば、サーバ10の各々が接続されているスイッチを特定する情報や同一のセグメントに含まれるサーバ10を特定する情報、各サーバ10についてのゲートウェイ装置からのホップ数などが含まれる。候補算出部52は、配置候補を求めるとき、相関度の大きな仮想マシン同士がなるべく同じサーバ10に配置されるようにし、同じサーバ10に配置できない場合でも、できるだけ同じセグメント内のサーバ10に配置されるようにする。候補算出部52の動作については、後で詳しく説明する。
外部トラフィック取得部53は、受信部31を介してサーバ10から受信したトラフィック情報から、各仮想マシンの外部トラフィック量を抽出して、得られた値を外部トラフィック量テーブル55に記録する。以下、ネットワーク上を単位時間当たりに流れるデータ量を「トラフィック」と記載することがある。また、以下の説明では、特定の回線を1秒に流れるデータ量をbps(Bits Per Second)で示すものとする。図4に外部トラフィック量テーブル55の例を示す。
移動負荷算出部40は、現在の仮想マシンの配置状況を記憶している。移動負荷算出部40は、候補算出部52で得られた配置候補と現在の仮想マシンの配置状況を比較することにより、配置候補に従って仮想マシンを配置するために移動される仮想マシンを特定する。移動負荷算出部40は、配置候補に従って配置を変更するために移動される仮想マシンの各々について、仮想マシンの移動により発生するネットワークへの負荷を表す移動コストを計算する。移動コストの計算方法については後述する。なお、移動コストの値が高いことは、仮想マシンを移動させる際にネットワークにかかる負担が大きいことを示す。移動負荷算出部40は得られた移動コストを移動コストテーブル41に記録する。移動コストテーブル41の例を図5に示す。移動負荷算出部40は、配置候補ごとに、移動コストの総和である移動負荷(総移動コスト)を求める。さらに、移動負荷算出部40は、予め移動閾値を記憶しており、求めた移動負荷が移動閾値未満の場合に、配置候補どおりに仮想マシンを配置することを決定する。なお、移動負荷算出部40は、移動負荷が移動閾値以下の場合に、配置候補を採用するように設定されても良い。なお、移動閾値は、配置候補に沿って仮想マシンの配置を変更することにより減らすことができるネットワーク中のトラフィックが、仮想マシンを移動することによって発生するトラフィックよりも大きくなる値に設定されるものとする。
省電力箇所検出部33は、仮想マシンが配置されていないサーバ10を、省電力モードに設定する対象として検出する。以下の説明では、仮想マシンが配置されていないサーバ10を「省電力サーバ」と記載することがある。また、省電力箇所検出部33は、いずれのサーバ10にもデータの中継を行っていないスイッチ20も、電力消費を抑える対象として検出する。省電力箇所検出部33は、省電力サーバやデータを中継していないスイッチ20の電力消費の設定を省電力モードにすることを要求する省電力指示メッセージを生成する。送信部32は、省電力指示メッセージを宛先に向けて送信する。なお、省電力モードは、消費電力量を低減することができる任意のモードとすることができる。例えば、省電力モードはスリープモード、休止モードなどであっても良い。また、DVS(Dynamic Voltage Scaling)/ALR(Adaptive Link Rate)機能を持つサーバ10やスイッチ20において、トラフィックに応じてパラメータ制御を行うことにより、消費電力を低減させた状態も、省電力モードに含まれる。
記憶部60は、ネットワーク情報61と初期値データ62を格納する他、管理サーバ30の処理で得られたデータなどを適宜、記憶する。また、現在の仮想マシンの配置状況が記憶部60に記録されていても良く、その場合、移動負荷算出部40は、移動コストの計算の際に、配置状況を記憶部60から取得する。
図6は、サーバ10および管理サーバ30のハードウェア構成の例を示す。サーバ10と管理サーバ30のいずれも、Central Processing Unit(CPU)71、メモリ72、入力装置73、出力装置74、バス75、外部記憶装置76、媒体駆動装置77、ネットワーク接続装置79を備える。例えば、サーバ10と管理サーバ30のいずれもコンピュータにより実現される場合がある。
管理サーバ30では、CPU71は、プログラムを実行することにより、移動負荷算出部40、配置設計部50、省電力箇所検出部33として動作する。メモリ72は、記憶部60として動作する他、移動コストテーブル41、相関度テーブル54、外部トラフィック量テーブル55を格納する。また、管理サーバ30は、ネットワーク情報61や初期値データ62などのデータを、ネットワーク80もしくは可搬記憶媒体78から取得することもできる。ネットワーク接続装置79は、受信部31および送信部32として動作する。
一方、サーバ10では、CPU71は仮想スイッチ5や仮想マシンとして動作する。また、ネットワーク接続装置79は、他のサーバ10や管理サーバ30との間で通信を行う際のインタフェースとして動作する。
入力装置73は、例えば、ボタン、キーボードやマウスなどであり、オペレータは、入力装置73を用いて管理サーバ30にネットワーク情報61や初期値データ62を入力できる。出力装置74は、ディスプレイなどとして実現される。バス75は、CPU71、メモリ72、入力装置73、出力装置74、外部記憶装置76、媒体駆動装置77、ネットワーク接続装置79の間を、相互にデータの受け渡しが行えるように接続する。外部記憶装置76は、プログラムやデータなどを格納し、適宜、格納している情報をCPU71などに提供する。媒体駆動装置77は、メモリ72や外部記憶装置76のデータを可搬記憶媒体78に出力することができ、また、可搬記憶媒体78からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体78は、フロッピイディスク、Magneto-Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
<第1の実施形態>
図7は、データセンタ中のネットワークの例を示す。図7に示すネットワークには、SW1〜SW3の3台のスイッチ20と、SV1〜SV4の4台のサーバ10が含まれている。SV1とSV2はSW1に接続されており、SV3とSV4はSW2に接続されている。さらに、SW3は、SW1、SW2、ゲートウェイ(GW)に接続されているものとする。
図8は、ネットワーク情報61の例を示す。図8は、図7のネットワークに含まれている管理サーバ30が保持するネットワーク情報61の例を示している。ネットワーク情報61は、各サーバ10について、ゲートウェイを起点としたときのホップ数とゲートウェイからサーバ10に至るまでに経由するスイッチ20が記録されている。候補算出部52は、例えば、SV1とSV2のように、経由するスイッチ20の組み合わせが一致するサーバ10同士を、同一のセグメントに位置するサーバ10同士であると認識することができる。さらに、ネットワーク情報61には、各サーバ10で動作できる仮想マシンの最大数(配置最大値)や、各サーバ10で動作する仮想スイッチなどの情報も含まれる。図8の例では、SV1〜SV4のいずれのサーバ10でも、4台までの仮想マシンを配置することができる。さらに、ネットワーク情報61には、各サーバ10に割り当てられたアドレス情報が含まれていても良い。
以下、図7で示すネットワークにおいて第1の実施形態で行われる動作を、運用開始前の配置の決定が行われる場合の動作、運用状況の監視、配置候補の再計算と仮想マシンの配置を変更するために行われる動作に分けて説明する。以下の例では、VM1〜VM16の16台の仮想マシンが配置される場合について説明する。
〔運用開始前の配置の決定〕
まず、相関度算出部51が、初期値データ62に含まれているトラフィック情報を用いて、仮想マシン同士の相関度を求める。相関度Pは次式で求められるものとする。
P=a×x+b×y+c×z
ここで、a、b、cは係数であり、相関度算出部51に予め記憶されている値であるものとする。また、xは帯域パラメータ、yは頻度パラメータ、zは継続時間パラメータである。帯域パラメータ(x)は、個々の仮想マシンで行われる通信に使用される帯域(bps)Xの値を、通信に使用される帯域の最大値Xmaxで除算することにより正規化した値である。すなわち、x=X/Xmaxであり、xは0〜1の間の値をとる。
yは個々の通信について単位時間あたりに発生する回数Yを求め、得られたYの最大値(Ymax)でYを除算することにより正規化された値(y=Y/Ymax)である。また、zは、個々の通信について継続時間の平均値Zを求め、得られたZの最大値(Zmax)でZを除算することにより正規化された値(z=Z/Zmax)である。従って、yとzも0〜1の値をとる。仮想マシンの運用が開始される前のx、y、zの値は、オペレータが経験則に基づいて計算で見積ってもよく、また、簡単な予備実験で得られた実測値に基づいて算出してもよい。初期値データ62の例を図9に示す。図9のテーブルには、送信元の仮想マシン(SrcVM)と宛先の仮想マシン(DstVM)に対応付けて、x、y、zのパラメータが記録されている。
係数のa、b、cの値は、優先したいパラメータの影響を大きくできるように、実装に応じて、もしくは、経験則に基づいて、オペレータが任意に設定することができる。例えば、通信に使用される帯域が及ぼす影響を重視して相関度を求める場合、a=1,b=0,c=0に設定される場合がある。また、各パラメータを例えば金銭的価値に与える影響の大きさを反映する値に設定することもできる。なお、値が0である係数との積を計算されているパラメータの大きさは、相関度の計算に考慮されていないことになる。
例えば、通信帯域の係数(a)、通信の発生頻度の係数(b)、通信の継続時間の係数(c)の値がそれぞれ、a=6、b=5、c=5であるとする。この場合に、相関度算出部51は、VM1とVM2の相関度P2−1
2−1=a×x+b×y+c×z=6×1+5×0.8+5×1=15
と計算する。なお、Pの添え字の最初の数字は送信元の仮想マシンの番号であり、ハイフンの後の数字は宛先の仮想マシンの番号を表すものとする。同様に相関度算出部51は、他の仮想マシンの組み合わせについても相関度を計算し、相関度テーブル54に記録する。相関度テーブル54の例を図10に示す。
次に、配置候補の算出方法の例を説明する。相関度の計算が終わると、候補算出部52は、以下の手順により配置候補を算出できる。運用前は、仮想マシンの配置が行われていないので、仮想マシンの移動は発生しない。このため、算出された配置候補に沿って仮想マシンが配置される。
(1)候補算出部52は、相関度テーブル54を参照して、相関度が最も大きい仮想マシンの組み合わせを抽出し、ネットワーク中の1つのサーバ10に配置する。例えば、図10の例では、VM1とVM2の間の相関度はP1−2=15であり、他の仮想マシンの組み合わせについて得られた相関度よりも大きい。そこで、候補算出部52は、VM1とVM2をSV1〜SV4から選択した1つのサーバ10に配置する。図11(a)の例では、VM1とVM2がSV1に配置されている。
(2)候補算出部52は、手順(1)で配置した2つの仮想マシンを1つのグループ(配置グループ)とみなし、配置グループと配置されていない仮想マシンとの間の相関度を求める。ここで、ある仮想マシンを宛先としたときの配置グループと仮想マシン間の相関度は、配置グループに含まれている仮想マシンの各々が送信元として宛先の仮想マシンに通信するときの相関度の総和である。一方、ある仮想マシンを送信元としたときの配置グループと仮想マシン間の相関度は、送信元の仮想マシンが配置グループに含まれている仮想マシンの各々に通信するときの相関度の総和である。例えば、図11(a)の場合は、VM1とVM2が配置グループである。そこで、候補算出部52は、配置グループに含まれている仮想マシンを送信元とし、VM3を宛先とした場合のVM3と配置グループの間の相関度は、図10の値を用いて、P1−3+P2−3=14+14=28とする。図12に配置グループと未配置の仮想マシンとの間の相関度の計算結果の例を示す。図12の例では、配置グループにVM1とVM2が含まれている。
(3)候補算出部52は、配置グループが配置されているサーバ10に新たな仮想マシンを配置できる場合、配置グループとの間の相関度が最も大きな仮想マシンを、配置グループと同じサーバ10に配置する。この例では、SV1には4つの仮想マシンを配置することができるので、候補算出部52は図11(b)に示すように、VM3をSV1に配置する。
(4)新たな仮想マシンを配置すると、配置された仮想マシンを配置グループに加えて、配置グループと未配置の仮想マシンとの間の相関度を求める。計算方法は、手順(2)と同様である。例えば、VM4を宛先とした場合のVM4と配置グループの間の相関度は、図10の値を用いて、P1−4+P2−4+P3−4=13+13+13=39となる。図13(a)に配置グループと配置されていない仮想マシンとの間の相関度の計算結果の例を示す。
(5)配置グループが配置されているサーバ10に仮想マシンを配置できなくなるまで、手順(3)(4)の処理と同様の処理が繰り返される。ここでは、VM4がSV1に配置される。さらに、配置グループと配置されていない仮想マシンとの間の相関度は図13(b)のとおりに求められる。
(6)配置グループが配置されているサーバ10に仮想マシンを配置できなくなると、候補算出部52は、配置グループとの相関度が最も大きい仮想マシンを、配置グループが配置されているサーバからのホップ数がなるべく小さいサーバに配置する。このとき、候補算出部52は、ネットワーク情報61を確認し、配置グループが配置されているサーバ10と同じセグメントに配置されているサーバ10に優先的に仮想マシンを配置する。図13(b)の例では、配置グループと仮想マシンVM5の相関度が最も大きい。さらに、図7、図8に示すように、配置グループが配置されているサーバSV1と同じセグメントにサーバSV2があり、サーバSV2には仮想マシンの配置が可能である。そこで、候補算出部52は、仮想マシンVM5をサーバSV2に配置する。
(7)候補算出部52は、手順(6)で配置した仮想マシンとの相関度が最も大きい仮想マシンを、手順(6)で仮想マシンを配置したサーバ10に配置する。図13(b)の例では、配置されていない仮想マシンの中で、VM5との相関度が最大の仮想マシンはVM6である。そこで、候補算出部52は、仮想マシンVM6をサーバSV2に配置する。候補算出部52は、手順(2)と同様にサーバSV2に配置された配置グループと未配置の仮想マシンとの間の相関度を求める。また、サーバSV1に配置されている配置グループとサーバSV2に配置されている配置グループの間の相関度も求める。サーバSV1に配置されている配置グループが送信元、サーバSV2に配置されている配置グループが宛先である場合の両者の間の相関度は、
1−5+P2−5+P3−5+P4−5+P1−6+P2−6+P3−6+P4−6
=12+12+12+12+11+11+11+11=92
で表される。
(8)候補算出部52は、さらに、仮想マシンを配置しているサーバ10に仮想マシンを配置できなくなるまで、手順(3)(4)の処理と同様の処理を繰り返す。また、仮想マシンを配置しているサーバ10に仮想マシンを配置できなくなると手順(6)、(7)と同様の処理を行う。その結果、
サーバSV1に配置された仮想マシン:VM1〜VM4
サーバSV2に配置された仮想マシン:VM5〜VM8
サーバSV3に配置された仮想マシン:VM9〜VM12
サーバSV4に配置された仮想マシン:VM13〜VM16
となる。仮想マシンVM1〜VM16の配置を図15に示す。このとき、各サーバに配置された配置グループ同士の相関度は図16に示すようになる。図15と図16から、本実施形態にかかる方法によって、相関度の高い配置グループ同士がなるべく同一セグメントに配置されるように配置が行われる。
手順(1)〜(8)で説明した方法は配置候補の算出方法の1つであり、配置候補の算出方法は実装に応じて変更される場合がある。例えば、手順(1)〜(8)の説明では、外部トラフィック量を考慮していないが、相関度が同じ仮想マシンの組み合わせが複数ある場合は、外部トラフィック量の多いものを優先的に配置することもできる。この場合、外部へのトラフィック量を予めオペレータが予測して初期値データ62に入力しておくものとする。
図17は、配置候補の算出方法の例を説明するフローチャートである。図17の例では、新たな仮想マシンを追加することができる配置グループを「基準グループ」と記載している。また、図17に示す方法では、候補算出部52は、任意の方法で選択された仮想マシンの1つを最初の基準グループのメンバーとして、基準グループとの相関度が大きい仮想マシンから順に配置を決定する。なお、図17の例では、スイッチ20の番号は、サーバ10に接続されているスイッチ20のほうが、サーバ10に接続されずにスイッチ20同士を接続しているスイッチ20よりも小さな番号になるように設定されている場合に用いられる方法を示している。
まず、候補算出部52は、基準グループのメンバーと基準スイッチを決定し、基準グループを基準スイッチに接続されているサーバに配置する(ステップS1)。ここでは、候補算出部52は、付された番号が最小の仮想マシンを最初の基準グループのメンバーとし、付された番号が最小のスイッチ20を基準スイッチとする。候補算出部52は、基準グループとの間の相関度(P)が最も大きい仮想マシンを選択する(ステップS2)。基準グループとの間の相関度が最大の仮想マシンが複数存在する場合、候補算出部52は、外部トラフィック量が多い仮想マシンを選択する(ステップS3でYes、ステップS4)。一方、基準グループとの間の相関度が最大の仮想マシンが1つの場合、ステップS4の処理は行われない(ステップS3でNo)。候補算出部52は、選択した仮想マシンを基準スイッチの配下のサーバ10に配置する(ステップS5)。このとき、候補算出部52は、なるべく、基準グループが配置されているサーバ10に、選択した仮想マシンを配置する。候補算出部52は、配置が終わっていない仮想マシンがあるかを確認し、全ての仮想マシンの配置が終わった場合、処理を終了する(ステップS6でNo)。
まだ配置されていない仮想マシンがある場合、候補算出部52は、基準スイッチに接続されているサーバ10には最大数の仮想マシンが配置済みであるかを確認する(ステップS7)。最大数の仮想マシンが配置済みである場合、候補算出部52は、現在の基準スイッチに付された番号より1つ大きな番号が付されたスイッチを新たな基準スイッチにする(ステップS7でYes、ステップS8)。ここで、候補算出部52は、サーバに接続されているスイッチの最大数よりも基準スイッチの番号が大きい場合は、エラーであると判定して、処理を終了する(ステップS9でYes、ステップS10)。一方、基準スイッチの番号がサーバに接続されているスイッチの最大数以下の場合、候補算出部52は、基準グループを更新してステップS2以降の処理を繰り返す(ステップS9でNo、ステップS11)。ステップS7において、最大数の仮想マシンが配置されていないと判定された場合も、候補算出部52は、基準グループを更新してステップS2以降の処理を繰り返す(ステップS7でNo、ステップS11)。
〔運用状況の監視と移動コストの計算〕
図18は、仮想マシンの配置の例を示す。以下、運用中の仮想マシンの配置が図18のとおりである場合を例として、管理サーバ30が個々のサーバ10から通信の状況を把握するために行う動作の例を説明する。図18の例では、仮想マシンの配置は、
サーバSV1に配置された仮想マシン:VM1、VM2、VM7、VM8
サーバSV2に配置された仮想マシン:VM3、VM4、VM5、VM6
サーバSV3に配置された仮想マシン:VM9、VM10、VM13、VM14
サーバSV4に配置された仮想マシン:VM11、VM12、VM15、VM16
となっている。
各仮想スイッチ5(5a〜5d)は、その仮想スイッチ5に接続されている仮想マシンで行われている通信について、通信帯域(X)、通信の発生頻度(Y)、通信の平均継続時間(Z)を、データの送信元と宛先の組み合わせごとに求める。さらに、仮想スイッチ5は、接続されている個々の仮想マシンについて、仮想マシンを他のサーバ10に移動する場合に発生するトラフィック量(U)を求める。以下の記載では、仮想マシンを移動する場合に発生するトラフィック量のことを「移動トラフィック量」と記載することがある。移動トラフィック量は、仮想マシンが占有するメモリ量であり、仮想マシンの移動に伴って移動されるデータの量を表す。なお、仮想マシンの移動は、任意のライブマイグレーション技術が用いられても良く、仮想スイッチ5は、使用されるライブマイグレーションの方法に応じて、移動トラフィック量を計算するものとする。さらに、仮想スイッチ5は、個々の仮想マシンについて存続時間(V)も予測する。存続時間(V)の計算方法は実装に応じて決定される。例えば、存続時間(V)は、通信の平均時間の半分の時間として計算される場合がある。
図18の例では、仮想スイッチ5aは、仮想マシンVM1、VM2、VM7、VM8の各々で行われている通信や、VM1、VM2、VM7、VM8の各々が移動する場合に発生する移動トラフィックなどを求める。同様に、仮想スイッチ5bは、サーバSV2に配置されている仮想マシンVM3、VM4、VM5、VM6に関する値を求め、仮想スイッチ5cは、サーバSV3に配置されている仮想マシンVM9、VM10、VM13、VM14に関する値を求める。また、仮想スイッチ5dは、サーバSV4に配置されている仮想マシンVM11、VM12、VM15、VM16に関する値を求める。なお、各仮想スイッチ5は、宛先アドレスがゲートウェイのポートに設定されている通信を、外部へのトラフィックとして観測するものとする。
図19(a)と図19(b)に、仮想スイッチ5aで保持されるテーブルの例を示す。仮想スイッチ5は、通信帯域、通信の発生頻度、通信の平均継続時間などのトラフィック情報や、仮想マシンの移動トラフィック、存続時間などの情報を、管理サーバ30に通知する。
図20に、トラフィック情報や仮想マシンの移動トラフィック、存続時間などの情報の通知に用いられる通知メッセージのフォーマットの例を示す。図20は、通信帯域(X)を通知するために、各サーバ10から管理サーバ30宛に送信されるメッセージの例を示している。通知メッセージには、宛先アドレスフィールド、送信元アドレスフィールド、データ種別フィールド、データ数フィールド、データフィールドが含まれる。宛先IP(Internet Protocol)アドレスは管理サーバ30のアドレスであり、送信元IPアドレスは、メッセージを送信するサーバ10のアドレスである。以下の説明では、管理サーバ30のIPアドレスは192.168.1.1、サーバSV1のIPアドレスは192.168.1.100であるものとする。データ種別フィールドには、そのメッセージにより通知される情報を特定する情報が記録される。この例では、通信帯域が通知されているので、Xが記録される。なお、複数の種類のデータが1つのメッセージで送信される場合、データ種別フィールドには送受信されるデータの種別と、データが記録されている位置などを特定するための情報を含むこともできるものとする。
データ数フィールドには、データフィールド中に格納されているデータの数が記録される。この例では8個のデータがデータフィールドに含まれることを示している。各データはデータの宛先(DstVM)の仮想マシンの識別子、データの送信元(SrcVM)の仮想マシンの識別子に対応付けられている。この例では、宛先仮想マシンと送信元仮想マシンの識別子に、宛先と送信元の間で送受信されるデータのトラフィック(Mbps)が対応付けられている。例えば、データ#1は、仮想マシンVM2からVM1への通信では5Mbpsの帯域が使用されていることを示している。さらに、仮想スイッチ5は、同様の通知メッセージを用いて、その他の情報も管理サーバ30に送信することができる。
管理サーバ30の受信部31は、サーバ10から通知メッセージを受信すると、移動負荷算出部40に出力する。移動負荷算出部40は、通知メッセージ中のデータ種別フィールドの内容を確認する。移動負荷算出部40は、通知メッセージ中に仮想マシンの移動トラフィック、存続時間など、仮想マシンの移動に関連する情報が含まれている場合、それらの情報を抽出し、仮想マシンの識別子に関連付けて記憶する。
受信部31から入力された通知メッセージ中に、通信帯域などの各通信についての情報が含まれている場合、移動負荷算出部40は、通知メッセージを相関度算出部51と外部トラフィック取得部53に出力する。相関度算出部51は、移動負荷算出部40から入力された通知メッセージに含まれているデータのうち、送信元と宛先がいずれもデータセンタ内の仮想マシンである通信に関するデータを取得する。相関度算出部51は、通信帯域、通信の発生頻度、通信の平均継続時間などの個々の通信に関する情報を、個々の通信の送信元と宛先の組み合わせに対応付けて記憶する。外部トラフィック取得部53は、データの送信元と宛先のいずれかが外部通信装置もしくはゲートウェイのポートである通信に関するデータを取得する。外部トラフィック取得部53は、取得したデータを仮想マシンに関連付けて、外部トラフィック量テーブル55に記録する。
ここで説明したような運用状況の確認、通知などは、例えば、10分ごとや1時間ごとなどの一定期間ごとに行われるものとする。なお、運用状況の確認の頻度は、管理サーバ30やサーバ10の処理負荷やネットワークの負荷などに応じて任意に設定されるものとする。
次に、移動コストの計算について説明する。「移動コスト」は、ある仮想マシンについて、現在配置されているサーバ10から他のサーバ10へのライブマイグレーションを行うときに、ネットワークにかかる負荷である。移動コストが大きいことは、その仮想マシンを移動させる際に用いられるトラフィック量が大きいことや、金銭的コストがかかるなど、仮想マシンの移動に起因する負担が大きいことを示す。移動負荷算出部40は、通知メッセージに含まれている情報を用いて、各仮想マシンについて、次式から移動コストQを計算する。
Q=d×u+e×v
ここで、d、eは係数であり、移動負荷算出部40に記憶されているものとする。また、uは移動トラフィックパラメータ、vは残存時間パラメータである。移動トラフィックパラメータ(u)は、各仮想マシンについて移動する場合に発生する移動トラフィック量(bps)Uの値を、移動トラフィック量の最大値Umaxで除算することにより正規化した値である。すなわち、u=U/Umaxであり、uは0〜1の間の値をとる。また、vは、個々の仮想マシンについて残存時間の平均値Vを求め、得られた最大値(Vmax)でVを除算することにより正規化された値(v=V/Vmax)である。従って、vも0〜1の値をとる。係数のd、eの値は、優先したいパラメータの影響を大きくできるように、実装に応じて、もしくは、経験則に基づいて、オペレータが任意に設定することができる。例えば、ライブマイグレーションに使用される帯域が及ぼす影響を重視して相関度を求める場合、d=1,e=0に設定される場合がある。また、各パラメータを例えば金銭的価値に与える影響の大きさを反映する値に設定することもできる。なお、値が0である係数との積が求められているパラメータは、移動コストの計算に考慮されていないことになる。移動負荷算出部40は、算出した移動コストを移動コストテーブル41に記録する。図21に、移動コストテーブル41の例を示す。
〔配置候補の再計算と運用中の仮想マシンの配置の変更〕
通知メッセージにより新たな運用状況が通知されると、相関度算出部51は、最新の情報に基づいて相関度を計算しなおす。相関度の計算方法は、前述のとおりである。相関度算出部51は、最新の相関度の値を用いて相関度テーブル54を更新する。また、移動負荷算出部40も新たなデータが通知メッセージにより通知されれば、移動コストを再計算して、移動コストテーブル41を更新する。
以下、運用中の仮想マシンの配置は図18のとおりであるが、仮想マシンVM1〜VM16の間の通信状況から計算された最新の相関度は図10に示すとおりである場合に行われる動作の例を説明する。すなわち、相関度テーブル54は図10のように更新されたものとする。また、最新の移動コストテーブル41は、図21のとおりであるものとする。
相関度テーブル54が更新されると、候補算出部52は、新たな配置候補を算出する。配置候補の計算方法は、手順(1)〜(8)で説明した方法と同様である。ただし、運用中に配置候補が再計算された場合は、運用前に配置候補が計算された場合とは異なり、すでに仮想マシンが配置されているため、仮想マシンの移動が発生する。そこで、管理サーバ30は、計算した結果を用いて仮想マシンを配置する前に、配置候補に沿って仮想マシンを配置するために発生する通信がネットワークにかける負担を以下の手順により見積もり、採用する配置を決定する。
(11)候補算出部52は、計算した配置候補と、ネットワーク情報61から、データセンタ内のネットワークを効率化できる可能性がある全ての配置候補を求める。例えば、候補算出部52は、前述の手順(1)〜(8)により、図15に示す配置候補を計算したとする。すると、候補算出部52は、ネットワーク情報61から、ネットワークの対称性を考慮すると、計算した配置候補と等価な配置候補があるかを確認する。ここでは、データセンタ内のネットワークは図7と図8で示すとおりであるため、配置される仮想マシンの組み合わせ(配置グループ)を、次の3種類の方法で交換しても等価の配置候補が得られる。
(a)サーバSV1とサーバSV2での交換
(b)サーバSV3とサーバSV4での交換
(c)サーバSV1とサーバSV2の組み合わせと、サーバSV3とサーバSV4の組み合わせでの交換
従って、2の3乗である8通りの等価な配置候補が考えられる。
図22は、等価な配置候補の例を示す図である。図22のパターン1は、図15に示す計算結果である。パターン2では、パターン1でサーバSV1に配置されている仮想マシンの組み合わせがサーバSV2に配置され、パターン1でサーバSV2に配置されている仮想マシンの組み合わせがサーバSV1に配置されている。パターン3では、パターン1でサーバSV3に配置されている仮想マシンの組み合わせがサーバSV4に配置され、パターン1でサーバSV4に配置されている仮想マシンの組み合わせがサーバSV3に配置されている。パターン4では、サーバSV1、SV2ではパターン2と同様に仮想マシンが配置され、サーバSV3、SV4ではパターン3と同様に仮想マシンが配置されている。
パターン5では、パターン1でサーバSV1、SV2に配置されている仮想マシンがサーバSV3、SV4に配置され、パターン1でサーバSV3、SV4に配置されている仮想マシンがサーバSV1、SV2に配置されている。同様に、パターン6では、パターン2でサーバSV1、SV2に配置されている仮想マシンがサーバSV3、SV4に配置され、パターン2でサーバSV3、SV4に配置されている仮想マシンがサーバSV1、SV2に配置されている。パターン7では、パターン3でサーバSV1、SV2に配置されている仮想マシンがサーバSV3、SV4に配置され、パターン3でサーバSV3、SV4に配置されている仮想マシンがサーバSV1、SV2に配置されている。パターン8では、パターン4でサーバSV1、SV2に配置されている仮想マシンがサーバSV3、SV4に配置され、パターン4でサーバSV3、SV4に配置されている仮想マシンがサーバSV1、SV2に配置されている。
(12)候補算出部52は、手順(11)で得られた全ての配置候補を移動負荷算出部40に出力する。移動負荷算出部40は、入力された各配置候補と、現在の配置を比較して、移動する対象の仮想マシンを特定する。さらに、候補算出部52は、移動する仮想マシンの各々について求められた移動コストの総和(総移動コスト)を求める。
例えば、図18に示す配置からパターン1に変更する場合、移動する仮想マシンは、VM3、VM4、VM7、VM8、VM11、VM12、VM13、VM14である。そこで、図18に示す配置からパターン1に変更する場合の総移動コストは、
VM3+QVM4+QVM7+QVM8+QVM11+QVM12+QVM13+QVM14
=3+4+7+8+11+12+13+14=72
となる。
配置候補がパターン2であれば、移動する仮想マシンは、VM1、VM2、VM5、VM6、VM11、VM12、VM13、VM14である。そこで、図18に示す配置からパターン2に変更する場合の総移動コストは、
VM1+QVM2+QVM5+QVM6+QVM11+QVM12+QVM13+QVM14
=1+2+5+6+11+12+13+14=64
である。候補算出部52は、他のパターンについても同様の方法により総移動コストを求める。図18に示す配置からパターン1〜8に変更する場合に発生する総移動コストを求めて得られた値の例を図23に示す。この例では、総移動コストは、仮想マシンの移動に伴って発生するデータの送受信が、データセンタ中のネットワークにかける負荷の指標である。従って、この例では、総移動コストは、移動負荷の指標であるといえる。
(13)移動負荷算出部40は、各配置候補について総移動コストを算出すると、総移動コストが最小であるパターンを認識する。総移動コストが最小である配置候補の総移動コストが予め記憶している移動閾値以下であれば、移動負荷算出部40は、総移動コストが最小の配置候補に従って仮想マシンを配置することを決定する。図23の例では、パターン2のときの総移動コストが最小値となっている。そこで、移動負荷算出部40は、パターン2のときの総移動コストが移動閾値以下であれば、パターン2に従って仮想マシンを配置する。ここで移動閾値が80である場合、パターン2での総移動コスト=64は移動閾値より小さい。そこで、移動負荷算出部40は、パターン2に示す配置に仮想マシンを配置することを決定する。
(14)移動負荷算出部40は、配置を変更する仮想マシンに対して移動先のサーバ10を特定する移動指示メッセージを送信する。図24に移動指示メッセージのフォーマットの例を示す。移動指示メッセージには、宛先アドレスフィールド、送信元アドレスフィールド、移動仮想マシンフィールド、移動先サーバフィールドが含まれる。宛先アドレスフィールドには、移動させる対象の仮想マシンが配置されているサーバ10のアドレスが記録される。送信元アドレスフィールドには、管理サーバ30のアドレスが記録される。移動仮想マシンフィールドには、移動させる対象の仮想マシンに割り振られた識別子が記録される。移動先サーバフィールドには、移動仮想マシンフィールドに記載された識別子で識別される仮想マシンの移動先のサーバ10に対応付けられた番号が記録される。図24は、仮想マシンVM1をサーバSV1からSV2に移動させるときに用いられるメッセージの例である。宛先アドレスはサーバSV1のアドレス(192.168.1.100)であり、移動させる対象の仮想マシンの識別子はVM1、移動先のサーバ10はSV2である。移動負荷算出部40は、VM1の他にも、VM2、VM5、VM6、VM11、VM12、VM13、VM14に対して同様の移動指示メッセージを送信することにより、仮想マシンを移動させる。その結果、図22のパターン2に示すように仮想マシンVMが配置される。
図25は、データセンタの運用中の管理サーバ30の動作の例を説明するフローチャートである。図25の例では、相関度算出部51はタイマを備えているものとする。相関度算出部51は、定期割りこみタイマをスタートさせ、タイムアウトするまで待機する(ステップS21、S22)。相関度算出部51は相関度テーブル54を更新し、候補算出部52は、更新された相関度テーブル54を用いて配置候補を求める(ステップS23)。このとき、候補算出部52はネットワーク情報61も確認し、ネットワークの対称性に基づいて等価な配置候補も求める。移動負荷算出部40は、得られた配置候補の各々について、現在の配置パターンから変更する場合の総移動コストを算出する(ステップS24)。移動負荷算出部40は、得られた総移動コストの最小値を特定し、最小値が移動閾値以下であるかを確認する(ステップS25)。最小値が移動閾値以下であれば、移動負荷算出部40は仮想マシンの移動を行う(ステップS25でYes、ステップS26)。一方、最小値が移動閾値より大きい場合、ステップS21以降の処理を繰り返す(ステップS25でNo)。なお、図25は一例であり、例えば、ステップS25では移動閾値より小さい場合に仮想マシンの移動を行うように変形される場合もある。また、非対称のネットワークの場合、ステップS23では1つの配置候補が求められ、ステップS25では求められた配置候補について計算された総移動コストと移動閾値が比較される。
以上説明したように、本実施形態に係る方法を用いることにより、総移動コストが移動閾値以下の場合、データセンタ内の回線が効率的に利用されるように、仮想マシンの配置が変更される。従って、データセンタ内の通信が効率化される。さらに、総移動コストが移動閾値よりも大きい配置候補に沿った仮想マシンの配置が行われないため、仮想サーバを移動させるための処理が重すぎてデータセンタ内の通信を圧迫してしまう状況を回避することもできる。
このように、本実施形態にかかる方法が用いられるデータセンタでは、データセンタの回線を有効に活用できるため、本実施形態にかかる方法を用いないデータセンタに比べて、比較的スペックの低い機器を用いてデータセンタを構築することができる。また、本実施形態にかかる方法を用いないデータセンタに比べて、本実施形態に係るデータセンタでは、使用する機器の数を減らすことが可能な場合もありえる。従って、データセンタを設計、運用する際のコストを削減することができる。
<第2の実施形態>
第2の実施形態では、非対称のネットワークにおいて、外部トラフィック量を重視して配置候補を決定する場合の例について説明する。なお、第2の実施形態においても、配置候補が算出された後で、仮想マシンを配置候補に沿って配置するかを決定する方法は第1の実施形態と同様である。また、移動コストの計算方法や運用状況の監視方法も第1の実施形態と同様である。なお、各仮想スイッチ5は、宛先アドレスがゲートウェイのポートに設定されている通信を、外部へのトラフィックとして観測するものとする。
図26は、非対称のネットワークの例を示す。データセンタ内のネットワークは、ゲートウェイを介して外部ネットワークに接続されている。ここで、外部ネットワークの例として、イントラネットやインターネットが挙げられる。図26のネットワークには、サーバSV5〜SV8の4つのサーバが含まれているものとする。スイッチSW4はゲートウェイに接続されており、サーバSV5にも接続されている。従って、ゲートウェイからサーバSV5までのホップ数は2である。サーバSV6とSV7は、スイッチSW5に接続されており、いずれもゲートウェイからのホップ数は3である。サーバSV8は、スイッチSW6に接続されており、SW4〜SW6を介してゲートウェイに接続されているので、ゲートウェイを起点にしたときのホップ数は4である。さらに、いずれのサーバにも4つまでの仮想マシンを配置することができるものとする。
図27は、仮想マシンVM1〜VM16の外部トラフィック量の例を示す。本実施形態では、運用前に仮想マシンの配置を決定する段階から外部トラフィック量を用いるので、図27に示すデータが初期値データ62に含まれているものとする。なお、初期値データ62は、第1の実施形態と同様に、オペレータが計算や簡易実験などで設定した値を記録することができる。候補算出部52は、ネットワーク情報61を参照して、データセンタの外部へのトラフィックが多い仮想マシンをゲートウェイからのホップ数の小さいサーバ10に配置する。ここでは外部トラフィックの値が図27に示すとおりであるので、外部トラフィックが比較的大きい仮想マシンVM13〜VM16は、サーバSV5(ホップ数2)に配置される。一方、外部トラフィックが比較的小さい仮想マシンVM1〜VM4は、サーバSV8(ホップ数4)に配置される。その他の仮想マシンVM5〜VM12は、サーバSV6もしくはSV7(ホップ数3)に配置される。
図28に、第2の実施形態にかかる方法での仮想マシンの配置の例を示す。なお、ゲートウェイがネットワークの最上位の階層に置かれ、さらにゲートウェイに直接接続されているサーバ10が含まれているネットワークでは、外部トラフィック量が最大の仮想マシンは、ゲートウェイに直接接続されているサーバ10に配置される。
運用が開始された後は、第1の実施形態で述べた方法により、外部トラフィック取得部53は、外部トラフィック量を監視して、外部トラフィック量テーブル55を更新する。運用が開始された後は、候補算出部52は、外部トラフィック量テーブル55の値に基づいて配置候補を求める。候補算出部52が求めた配置候補に配置を変更する場合の総移動コストの値が移動閾値以下の場合、配置候補に応じて仮想マシンの配置が変更される。
本実施形態によると、外部トラフィック量が多い仮想マシンほどゲートウェイからのホップ数の小さいサーバに配置されるため、データセンタの内部のネットワークを効率的に利用できる。さらに、総移動コストに基づいて仮想マシンを移動するかが決定されるため、仮想サーバを移動させるための処理による輻輳も避けられる。
<第3の実施形態>
本実施形態では、仮想マシンが配置されていないサーバ10が有る場合、そのサーバ10を省電力モードに設定することにより、データセンタ内の消費電力を低下させる方法について述べる。なお、仮想マシンを配置する方法、および、仮想マシンの配置を変更する方法は、第1もしくは第2の実施形態で説明した方法と同様である。なお、本実施形態では、管理サーバ30は、省電力箇所検出部33を備えるものとする。
仮想マシンの移動により、図29に示すように仮想マシンが配置されたとする。また、ここで、矢印A〜Cで示すように、以下の通信が行われているものとする。
A:仮想マシンVM4と外部通信装置の間の通信
B:仮想マシンVM1とVM3の間の通信
C;仮想マシンVM1とVM2の間の通信
省電力箇所検出部33は、移動負荷算出部40、相関度テーブル54、外部トラフィック量テーブル55、ネットワーク情報61などにアクセスすることにより、通信が行われている箇所を特定する。省電力箇所検出部33は特定した結果を、リンク毎トラフィックテーブルに記録する。
図30は、リンク毎トラフィックテーブルの例を示す。リンク毎トラフィックテーブルは省電力箇所検出部33に保持されている。図30の例では、縦の欄は出力元の装置、横の欄は入力先の装置を表す。縦の欄が出力元の装置で、横の欄が入力先の装置となっているセルに、それぞれの装置の間でトラフィックが発生しているかが記録される。ここでは、トラフィックが発生している場合、セルの値が1に設定され、トラフィックが発生していない場合は0(図30では見やすくするために空欄とする)であるものとする。
省電力箇所検出部33は、仮想マシンVM4と外部通信装置の間の通信があることを外部トラフィック量テーブル55から認識する。また、省電力箇所検出部33は、移動負荷算出部40にアクセスして仮想マシンVM4がサーバSV5に配置されていることを認識する。そこで、ネットワーク情報61を参照することにより、省電力箇所検出部33は、スイッチSW4から出力されたデータがサーバSV5に入力されることと、サーバSV5から出力されたデータがスイッチSW4に入力されることを認識する。そこで、省電力箇所検出部33は、記憶しているテーブル中の(Out,In)=(スイッチSW4,サーバSV5)のセルと、(Out,In)=(サーバSV5,スイッチSW4)のセルの値を1に設定する。さらに、仮想マシンVM4の通信先が外部装置であることから、ゲートウェイとスイッチSW4の間でも通信が発生しているので、(Out,In)=(スイッチSW4,ゲートウェイ)と、(Out,In)=(ゲートウェイ,スイッチSW4)のセルの値も1に設定される。同様に、図29のトラフィックの全てについても処理された結果、リンク毎トラフィックテーブルは図30のようになる。
省電力箇所検出部33は、リンク毎トラフィックテーブルの縦と横の欄の全てが0となっている装置があるかをチェックする。図30の場合、スイッチSW6とサーバSV8では、縦と横の全ての欄の値が0になっている。すると、省電力箇所検出部33は、スイッチSW6とサーバSV8は通信に使用されていないと判断する。そこで。省電力箇所検出部33は、使用されていないことを特定した装置に、省電力指示メッセージを送信する。省電力指示メッセージのフォーマットの例を図31に示す。図31に示す省電力指示メッセージは、送信元アドレスフィールド、宛先アドレスフィールド、要求動作フィールドを備える。送信元アドレスフィールドには管理サーバ30のアドレスが記録され、宛先アドレスフィールドには、省電力箇所検出部33によって特定された装置のアドレスが記録される。なお、個々の装置のアドレスは予めネットワーク情報61に記録されているものとする。要求動作フィールド=1は、省電力モードの設定指示、要求動作フィールド=0は、省電力モードの解除指示を意味するものとする。省電力箇所検出部33は、省電力指示メッセージを生成して、送信部32に出力する。送信部32は、宛先に向けて省電力指示メッセージを送信する。
ネットワーク中の各装置は、要求動作フィールド=1に設定された省電力指示メッセージを受信すると省電力モードに移行する。一方、要求動作フィールド=0に設定された省電力指示メッセージを受信すると、ネットワーク中の各装置は、省電力モードを解除する。
図32は、省電力箇所検出部33の動作の例を説明するフローチャートである。省電力箇所検出部33は、リンク毎トラフィックテーブルにトラフィックの状況を反映させる(ステップS31)。省電力箇所検出部33は、リンク毎トラフィックテーブル中で、縦と横の欄の全てが0となっている装置があるかをチェックする(ステップS32)。リンク毎トラフィックテーブル中で、縦と横の欄の全てが0となっている装置が無い場合、省電力箇所検出部33は処理を終了する(ステップS32でNo)。リンク毎トラフィックテーブル中で、縦と横の欄の全てが0である装置を特定できた場合、省電力箇所検出部33は、省電力指示メッセージを生成し、送信部32を介して特定した装置に送信する(ステップS32でYes、ステップS33)。
図33は、データセンタの運用中の管理サーバの動作の例を説明するフローチャートである。ステップS41〜S46は、図25を参照しながら説明したステップS21〜S26と同様である。省電力箇所検出部33は、トラフィックを収容していない装置があるかを確認する(ステップS47)。トラフィックを収容していない装置が特定できた場合、管理サーバ30は、特定した装置に省電力指示メッセージを送信する(ステップS47でYes、ステップS48)。トラフィックを収容していない装置が特定できない場合、管理サーバ30は、ステップS41以降の処理を繰り返す。
<その他>
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
例えば、相関度や移動コストの計算式は、実装に応じて変形されることがある。例えば、相関度P=x×y×z、移動コストQ=u×vと変形されてもよい。
また、以上の説明で示したテーブルに含まれている情報要素の種類やメッセージのフォーマットは一例であり、実装に応じて変形されることがある。
第3の実施形態は、第1もしくは第2の実施形態と組み合わせて実施される。さらに、第3の実施形態では非対称なネットワークでの例を用いて説明したが、対称なネットワークでも第3の実施形態で述べた方法を用いることができる。
また、第2の実施形態において、配置候補を求める際に、外部トラフィック量と相関度を併用するように変形することもできる。例えば、図28のサーバSV6とSV7のように、ゲートウェイからのホップ数が同一のサーバ10が複数ある場合、相関度が大きい仮想マシン同士がなるべく同一のサーバ10に配置されるようにすることができる。例えば、図28の場合、相関度算出部51は仮想マシンVM5〜VM12の相関度を求め、得られた相関度に基づいて、第1の実施形態で説明した方法と同様にして、VM5〜VM12をサーバSV6とSV7に配置できる。
5 仮想スイッチ
10 サーバ
20 スイッチ
30 管理サーバ
31 受信部
32 送信部
33 省電力箇所検出部
40 移動負荷算出部
41 移動コストテーブル
50 配置設計部
51 相関度算出部
52 候補算出部
53 外部トラフィック取得部
54 相関度テーブル
55 外部トラフィック量テーブル
60 記憶部
61 ネットワーク情報
62 初期値データ
71 CPU
72 メモリ
73 入力装置
74 出力装置
75 バス
76 外部記憶装置
77 媒体駆動装置
78 可搬記憶媒体
79 ネットワーク接続装置
80 ネットワーク

Claims (9)

  1. 複数のサーバを備えるデータセンタで動作する複数の仮想マシンの各々について、単位時間に送受信されるデータの量である通信量を前記データの送信元と宛先に関連付けた観測結果を受信する受信部と、
    前記通信量が大きいほど前記送信元と前記宛先の間の相関度が大きくなるように相関度を算出する相関度算出部と、
    前記相関度が相対的に大きい仮想マシンの組み合わせを優先的に同一のサーバに配置した配置候補を算出する候補算出部と、
    前記複数の仮想マシンの配置を前記配置候補に合わせるための仮想マシンの移動に起因するデータの送受信が前記データセンタ中のネットワークにかける負荷の大きさである移動負荷を算出するとともに、前記移動負荷が閾値以下である場合、前記配置候補と同じ配置にするために移動させる仮想マシンに、移動先のサーバを指示する移動指示メッセージを生成する移動負荷算出部と、
    前記移動指示メッセージを送信する送信部
    を備えることを特徴とする通信装置。
  2. 前記移動負荷算出部は、
    前記移動負荷が前記閾値以下の場合、前記複数の仮想マシンの配置を前記配置候補と同一の配置にすることを決定して前記移動指示メッセージを生成し、
    前記移動負荷が閾値より大きい場合は、前記複数の仮想マシンの配置を前記配置候補と同一の配置にしないことを決定して、前記複数の仮想マシンのいずれに宛てた移動指示メッセージも生成しない
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記移動負荷算出部は、前記複数の仮想マシンの配置を前記配置候補に合わせるために移動される仮想マシンである移動仮想マシンの各々について、前記移動仮想マシンの移動により発生する負荷を表す移動コストを計算し、
    前記移動コストの総和を前記移動負荷とし、
    前記移動コストは、前記移動仮想マシンの移動により送受信されるデータの量である移動トラフィック量が大きいほど大きくなり、前記移動仮想マシンが残存する時間の長さが長いほど大きくなるように計算される
    ことを特徴とする請求項1もしくは2に記載の通信装置。
  4. 前記複数のサーバ同士の接続を特定する情報であるネットワーク情報を備え、
    前記候補算出部は、前記ネットワークに対称性がある場合、算出した第1の配置候補と等価な第2の配置候補を求めて、前記第1および第2の配置候補を前記移動負荷算出部に出力し、
    前記移動負荷算出部は、第1の配置候補について求められた第1の移動負荷が、第2の配置候補について求められた第2の移動負荷よりも小さい場合、前記第1の移動負荷を前記閾値と比較し、
    前記第1の移動負荷が前記閾値よりも小さい場合、前記複数の仮想マシンを前記第1の配置候補と同一の配置に配置することを決定して、前記移動指示メッセージを生成する
    ことを特徴とする請求項1〜3のいずれか1項に記載の通信装置。
  5. 前記複数のサーバから、前記仮想マシンが配置されていないサーバを、省電力モードに設定する省電力サーバとして検出するとともに、前記省電力モードに設定することを指示する省電力指示メッセージを生成する省電力箇所検出部をさらに備え、
    前記送信部は、前記省電力指示メッセージを前記省電力サーバに送信する
    ことを特徴とする請求項1〜4のいずれか1項に記載の通信装置。
  6. 前記相関度算出部は、第1の仮想マシンと第2の仮想マシンの間の相関度を、
    前記第1の仮想マシンと前記第2の仮想マシンの間の通信で送受信されるデータ量が多いほど大きな値とし、
    前記第1の仮想マシンと前記第2の仮想マシンの間で発生する通信の頻度が高いほど大きな値とし、
    前記第1の仮想マシンと前記第2の仮想マシンの間で発生する通信の継続時間が長いほど大きな値とする
    ことを特徴とする請求項1〜5のいずれか1項に記載の通信装置。
  7. 前記複数の仮想マシンの各々について、前記データセンタの外部に位置する外部通信装置との間で単位時間に送受信されるデータの量である外部トラフィック量を取得する外部トラフィック取得部と、
    前記複数のサーバの各々について、前記データセンタの外部に位置する外部通信装置の間の通信を中継するゲートウェイ装置から、前記データセンタ内の第1のサーバまでのホップ数である第1のホップ数と、前記ゲートウェイ装置から前記データセンタ内の第2のサーバまでのホップ数である第2のホップ数を記憶する記憶部
    をさらに備え、
    前記候補算出部は、前記ゲートウェイ装置から前記第1のサーバまでの第1のホップ数が、前記ゲートウェイ装置から前記第2のサーバまでの第2のホップ数よりも小さい場合、前記外部トラフィック量が大きい仮想マシンほど前記第1のサーバに配置されやすくなるように、前記配置候補を算出する
    ことを特徴とする請求項1〜6のいずれか1項に記載の通信装置。
  8. 複数のサーバを備えるデータセンタで動作する複数の仮想マシンの各々について、単位時間に送受信されるデータの量である通信量を前記データの送信元と宛先に関連付けた観測結果を受信し、
    前記通信量が大きいほど前記送信元と前記宛先の間の相関度が大きくなるように相関度を算出し、
    前記相関度が相対的に大きい仮想マシンの組み合わせを優先的に同一のサーバに配置した配置候補を算出し、
    前記複数の仮想マシンの配置を前記配置候補に合わせるための仮想マシンの移動に起因するデータの送受信が前記データセンタ中のネットワークにかける負荷の大きさである移動負荷を算出し、
    前記移動負荷が閾値以下である場合、前記配置候補と同じ配置にするために移動させる仮想マシンに、移動先のサーバを指示する移動指示メッセージを送信する
    ことを特徴とする通信方法。
  9. 複数のサーバを備えるデータセンタで動作する複数の仮想マシンの各々について、単位時間に送受信されるデータの量である通信量を前記データの送信元と宛先に関連付けた観測結果を受信し、
    前記通信量が大きいほど前記送信元と前記宛先の間の相関度が大きくなるように相関度を算出し、
    前記相関度が相対的に大きい仮想マシンの組み合わせを優先的に同一のサーバに配置した配置候補を算出し、
    前記複数の仮想マシンの配置を前記配置候補に合わせるための仮想マシンの移動に起因するデータの送受信が前記データセンタ中のネットワークにかける負荷の大きさである移動負荷を算出し、
    前記移動負荷が閾値以下である場合、前記配置候補と同じ配置にするために移動させる仮想マシンに、移動先のサーバを指示する移動指示メッセージを送信する
    処理を通信装置に実施させることを特徴とする通信プログラム。
JP2011231699A 2011-10-21 2011-10-21 通信装置、通信方法、および、通信プログラム Expired - Fee Related JP5768651B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011231699A JP5768651B2 (ja) 2011-10-21 2011-10-21 通信装置、通信方法、および、通信プログラム
US13/602,531 US9135047B2 (en) 2011-10-21 2012-09-04 Apparatus, method, and program for managing a plurality of virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011231699A JP5768651B2 (ja) 2011-10-21 2011-10-21 通信装置、通信方法、および、通信プログラム

Publications (2)

Publication Number Publication Date
JP2013089166A true JP2013089166A (ja) 2013-05-13
JP5768651B2 JP5768651B2 (ja) 2015-08-26

Family

ID=48137049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011231699A Expired - Fee Related JP5768651B2 (ja) 2011-10-21 2011-10-21 通信装置、通信方法、および、通信プログラム

Country Status (2)

Country Link
US (1) US9135047B2 (ja)
JP (1) JP5768651B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5575953B1 (ja) * 2013-06-07 2014-08-20 日本電信電話株式会社 情報システム間サービス提供装置、情報システム間サービス提供方法および情報システム間サービス提供プログラム
JP2015215799A (ja) * 2014-05-12 2015-12-03 富士通株式会社 制御装置、通信装置、および、通信方法
JP5930048B2 (ja) * 2012-08-30 2016-06-08 富士通株式会社 稼働管理装置、稼働管理方法、及び稼働管理プログラム
JP2016181092A (ja) * 2015-03-24 2016-10-13 日本電気株式会社 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置
JP7389351B2 (ja) 2020-03-23 2023-11-30 富士通株式会社 移動対象コンテナ決定方法および移動対象コンテナ決定プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294407B2 (en) 2013-06-26 2016-03-22 Vmware, Inc. Network device load balancing in a virtualized computing environment
US10554546B1 (en) * 2013-06-28 2020-02-04 EMC IP Holding Company LLC System modeling of data centers to drive cross domain characterization, automation, and predictive analytics
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
JP2016018387A (ja) * 2014-07-08 2016-02-01 富士通株式会社 情報処理システム、制御方法及び制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004088200A (ja) * 2002-08-23 2004-03-18 Toshiba Corp プロセスマイグレーション方法、通信システム、計算機
JP2010026699A (ja) * 2008-07-17 2010-02-04 Kddi Corp ネットワーク運用管理方法および装置
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
JP4961146B2 (ja) * 2006-02-20 2012-06-27 株式会社日立製作所 負荷分散方法およびシステム
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
WO2008146677A1 (ja) * 2007-05-24 2008-12-04 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法および仮想マシン管理プログラム
JP2010140134A (ja) 2008-12-10 2010-06-24 Hitachi Ltd 仮想マシン管理方法、プログラムおよび管理サーバ
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8244957B2 (en) * 2010-02-26 2012-08-14 Red Hat Israel, Ltd. Mechanism for dynamic placement of virtual machines during live migration based on memory
US8826292B2 (en) * 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004088200A (ja) * 2002-08-23 2004-03-18 Toshiba Corp プロセスマイグレーション方法、通信システム、計算機
JP2010026699A (ja) * 2008-07-17 2010-02-04 Kddi Corp ネットワーク運用管理方法および装置
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5930048B2 (ja) * 2012-08-30 2016-06-08 富士通株式会社 稼働管理装置、稼働管理方法、及び稼働管理プログラム
JP5575953B1 (ja) * 2013-06-07 2014-08-20 日本電信電話株式会社 情報システム間サービス提供装置、情報システム間サービス提供方法および情報システム間サービス提供プログラム
JP2015215799A (ja) * 2014-05-12 2015-12-03 富士通株式会社 制御装置、通信装置、および、通信方法
JP2016181092A (ja) * 2015-03-24 2016-10-13 日本電気株式会社 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置
JP7389351B2 (ja) 2020-03-23 2023-11-30 富士通株式会社 移動対象コンテナ決定方法および移動対象コンテナ決定プログラム

Also Published As

Publication number Publication date
US20130104128A1 (en) 2013-04-25
US9135047B2 (en) 2015-09-15
JP5768651B2 (ja) 2015-08-26

Similar Documents

Publication Publication Date Title
JP5768651B2 (ja) 通信装置、通信方法、および、通信プログラム
EP2304565B1 (en) Method and system for power management in a virtual machine environment withouth disrupting network connectivity
US8982734B2 (en) Methods, apparatus, and systems for routing information flows in networks using spanning trees and network switching element resources
JP5790312B2 (ja) 通信方法、通信装置、および、通信プログラム
US7962587B2 (en) Method and system for enforcing resource constraints for virtual machines across migration
WO2014082052A4 (en) Scaling computing clusters
JP5943431B2 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
CN106789751B (zh) 基于资源可用性的网络路由
WO2012100544A1 (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN102185774A (zh) 虚拟机无缝迁移的方法、管理器及系统
CN107251486A (zh) 一种扩展联动的方法、装置及系统
WO2014208661A1 (ja) 仮想マシン配置設計装置及び方法とシステム並びにプログラム
US9507625B2 (en) Apparatus and method for generating software defined network(SDN)-based virtual network according to user demand
KR20140006979A (ko) 모바일 장치와 연관된 네트워크 주소에 기초한 서비스 품질의 조정
CN108199962A (zh) 地址迁移方法、装置、网络设备及可读存储介质
CN106161270B (zh) 一种网络部署方法
US20140047260A1 (en) Network management system, network management computer and network management method
JP2015523747A (ja) コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム
KR20160078233A (ko) 네트워킹 디바이스에 대한 전력 및 성능을 관리하기 위한 기술
EP2924925A1 (en) Communication system, virtual-network management device, communication node, and communication method and program
CN108092810A (zh) 一种虚拟机管理方法、vtep设备及管理设备
JP2012039529A (ja) 電力特性利用通信網設定方法及びネットワーク装置
US9509559B2 (en) Bandwidth control apparatus, bandwidth control method, and bandwidth control program
JP5876425B2 (ja) 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム
WO2022268013A1 (zh) 一种数据传输方法及其相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150608

R150 Certificate of patent or registration of utility model

Ref document number: 5768651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees