JP5377775B1 - システム管理装置、ネットワークシステム、システム管理方法およびプログラム - Google Patents

システム管理装置、ネットワークシステム、システム管理方法およびプログラム Download PDF

Info

Publication number
JP5377775B1
JP5377775B1 JP2012543392A JP2012543392A JP5377775B1 JP 5377775 B1 JP5377775 B1 JP 5377775B1 JP 2012543392 A JP2012543392 A JP 2012543392A JP 2012543392 A JP2012543392 A JP 2012543392A JP 5377775 B1 JP5377775 B1 JP 5377775B1
Authority
JP
Japan
Prior art keywords
network
machine
physical
machines
physical machines
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
JP2012543392A
Other languages
English (en)
Other versions
JPWO2014045413A1 (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of JP5377775B1 publication Critical patent/JP5377775B1/ja
Publication of JPWO2014045413A1 publication Critical patent/JPWO2014045413A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Abstract

第1算出部(130)は、複数の物理マシンの1つが他の物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、物理マシンの組み合わせごとに算出する。取得部(121)は、新たに稼働させる仮想マシンが、複数の物理マシンのいずれかで既に稼働している仮想マシンのうち、いずれと通信を行うことが許可されているかを表す通信許可情報を取得する。第2算出部(140)は、ネットワーク距離と、通信許可情報とに基づいて、複数の物理マシンの1つが新たな仮想マシンを稼働させた場合に、通信が許可された仮想マシンと新たな仮想マシンが通信を行うことによるネットワークシステムの負荷の大きさを表すネットワークコストを、複数の物理マシンごとに算出する。決定部(122)は、算出されたネットワークコストを用いて、新たな仮想マシンを複数の物理マシンのうち、いずれの物理マシンで稼働させるかを決定する。

Description

本発明の実施形態は、システム管理装置、ネットワークシステム、システム管理方法およびプログラムに関する。
クラウドコンピューティングは、データセンタに用意されたITリソースを、利用者がサービスとして利用する技術である。クラウドコンピューティングは、ITリソースの提供形態に応じて、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)に分類される。SaaSは、アプリケーションソフトウェアをサービスとして提供するものであり、PaaSは、アプリケーションソフトウェアの開発環境や実行環境をサービスとして提供するものである。また、IaaSは、データセンタのネットワークシステムに接続されている物理マシン上で、利用者の要求に応じて仮想マシンを稼働させ、その仮想マシンのリソースをサービスとして提供するものである。
クラウドコンピューティングの技術により、ITリソースの利用者にとって、初期投資の低減が見込めることや、利用するITリソースを必要量に応じて容易に増減できるといった利点が得られる。その反面、クラウドコンピューティングの技術は、複数の利用者がデータセンタのITリソースを共用するため、性能などの非機能要件への対応が弱いことが指摘されている。IaaSにおいては、利用者の要求に応じて新たに仮想マシンを稼働させる際に、データセンタのネットワークシステムに接続されている複数の物理マシンのうち、どの物理マシンで仮想マシンを稼働させることがシステム全体として効率がよいかを考慮することが、非機能要件への対応の観点で重要となる。すなわち、新たな仮想マシンを稼働させる物理マシンの選択によって、特定の箇所にネットワークの負荷が集中してしまったり、互いに通信を必要とする仮想マシンが遅延の大きなネットワーク経路を介して通信を行うような配置となってしまったりすることで、ネットワークシステム全体で必要とされる性能が満たせなくなる等の問題が生じる虞がある。このため、仮想マシンの配置がシステム全体として効率的な配置となるように、新たな仮想マシンを稼働させるのに最適な物理マシンを決定する技術の提供が望まれている。
特開2005−115653号公報 特開2011−180889号公報 特開2007−272263号公報
本発明が解決しようとする課題は、新たな仮想マシンを稼働させるのに最適な物理マシンを決定することができるシステム管理装置、ネットワークシステム、システム管理方法およびプログラムを提供することである。
実施形態のシステム管理装置は、仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理する。このシステム管理装置は、第1算出部と、取得部と、第2算出部と、決定部と、を備える。第1算出部は、複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する。取得部は、新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報であって、前記第1マシンを稼働させる際にユーザが指定する前記通信許可情報を取得する。第2算出部は、前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する。決定部は、複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する。
図1は、実施形態のネットワークシステムの構成図である。 図2は、システム管理装置の機能的な構成を示すブロック図である。 図3は、通信許可情報の一例を示す図である。 図4は、負荷情報の一例を示す図である。 図5は、ネットワーク距離の一例を示す図である。 図6は、第1算出部の処理手順を示すフローチャートである。 図7は、ネットワークコストの一例を示す図である。 図8は、第2算出部の処理手順を示すフローチャートである。 図9は、負荷情報の他の例を示す図である。 図10は、ネットワーク距離の他の例を示す図である。 図11は、ネットワークコストの他の例を示す図である。 図12は、通信許可情報の他の例を示す図である。 図13は、ポートごとの重みの一例を示す図である。 図14は、ネットワークコストの他の例を示す図である。 図15は、システム管理装置のハードウェア構成の一例を示す図である。
以下、実施形態のシステム管理装置、ネットワークシステム、システム管理方法およびプログラムを、図面を参照して説明する。
(第1の実施形態)
図1は、本実施形態に係るネットワークシステムの構成図である。このネットワークシステムは、ネットワークを介して通信可能に接続された複数の物理マシンを備える。図1の例では、物理マシン1、物理マシン2、物理マシン3および物理マシン4の4つの物理マシンがネットワークを介して通信可能に接続されている。
物理マシン1はLAN(Local Area Network)51に接続され、物理マシン2はLAN52に接続されている。LAN51とLAN52は、WAN(Wide Area Network)50を介して接続されている。物理マシン3および物理マシン4は、LAN53に接続されている。LAN51とLAN53は、ルータ15を介して接続されている。LAN53には、物理マシン3と物理マシン4のほか、ネットワークシステムの全体を管理するシステム管理装置100が接続されている。なお、図1に示すネットワークシステムの構成はあくまで一例であり、物理マシンの数や接続形態は任意に選択することができる。
物理マシン1〜4は、それぞれ仮想マシン(以下、VMという。)を稼働させるためのリソースを提供する。図1の例では、VM10とVM11とVM12の3つのVMが、物理マシン1で稼働している。VM10〜12は、仮想スイッチ11を介してネットワークに接続された形態となる。また、物理マシン2では、VM20とVM21とVM22の3つのVMが稼働している。VM20〜22は、仮想スイッチ12を介してネットワークに接続された形態となる。また、物理マシン3では、VM30とVM31とVM32の3つのVMが稼働している。VM30〜32は、仮想スイッチ13を介してネットワークに接続された形態となる。また、物理マシン4では、VM40とVM41とVM42の3つのVMが稼働している。VM40〜42は、仮想スイッチ14を介してネットワークに接続された形態となる。
図2は、システム管理装置100の機能的な構成を示すブロック図である。システム管理装置100は、図2に示すように、通信部110、管理部120、第1算出部130および第2算出部140を備える。
通信部110は、ネットワーク上の物理マシン1〜4、物理マシン1〜4で稼働されるVM10〜12,20〜22,30〜32,40〜42、およびネットワーク機器(図1の例では、ルータ15やLAN51〜53上のネットワークスイッチ等)と通信を行う。
管理部120は、ネットワークシステムを維持、運営する上で必要な各種の管理を行うものであり、主として、VM管理、構成情報管理および稼働情報取得を行う。VM管理とは、VMの立ち上げ、変更、消去等を行う機能である。構成情報管理とは、ネットワークシステムの現在の構成、すなわち、現在どの物理マシンでどのVMが稼働しているかを表す構成情報を管理する機能である。稼働情報取得とは、現在の各物理マシンのCPU(Central Processing Unit)やストレージ等のリソース使用率を表す稼働情報を、各物理マシンから取得する機能である。
また、管理部120は、本実施形態において特徴的な機能として、取得部121と決定部122を有する。
取得部121は、ネットワークシステムで新たに稼働させるVM(以下、新VMという。)が、ネットワーク上の物理マシン1〜4で既に稼働されているVM10〜12,20〜22,30〜32,40〜42のうち、いずれのVMと通信を行うことが許可されているかを表す通信許可情報を取得する。なお、通信許可情報の具体例は後述する。
決定部122は、第2算出部140によって物理マシン1〜4ごとに算出された後述のネットワークコストを用いて、ネットワーク上の物理マシン1〜4のうち、いずれの物理マシンで新VMを稼働させるかを決定する。
第1算出部130は、ネットワーク上の物理マシン1〜4のそれぞれが他の物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、物理マシン1〜4のうちの2つの物理マシンの組み合わせごとに算出する。
例えば、第1算出部130は、任意のタイミングで、ネットワーク上の物理マシン1〜4やネットワーク機器の通信に関わる負荷の状態を表す負荷情報を取得してこれを保持する。そして、第1算出部130は、第2算出部140からネットワーク距離の取得要求を受け取ると、保持している負荷情報から、2つの物理マシンの組み合わせごとに例えば一定期間内の負荷の平均または最大値等を算出し、算出した値を2つの物理マシン間のネットワーク距離とする。そして、第1算出部130は、第2算出部140からの取得要求に対する応答として、算出したネットワーク距離を第2算出部140に返す。なお、負荷情報およびネットワーク距離の具体例は後述する。
第2算出部140は、第1算出部130によって2つの物理マシンの組み合わせごとに算出されたネットワーク距離と、管理部120の取得部121が取得した通信許可情報とに基づいて、ネットワーク上の物理マシン1〜4のいずれかが新VMを新たに稼働させた場合に、既に稼働しているVM10〜12,20〜22,30〜32,40〜42のうち、通信が許可されたVMと新VMが通信を行うことによるネットワークシステムの負荷の大きさを表すネットワークコストを、物理マシン1〜4ごとに算出する。
例えば、第2算出部140は、管理部120からネットワークコストの取得要求を受け取ると、管理部120から通信許可情報と構成情報を取得するとともに、第1算出部130に対してネットワーク距離の取得要求を出し、この取得要求に対する応答として、第1算出部130から2つの物理マシンの組み合わせごとに算出されたネットワーク距離を受け取る。そして、第2算出部140は、物理マシン1〜4のうち、ネットワークコストを算出する対象となる物理マシンを選択するとともに、通信許可情報と構成情報とに基づいて、新VMが通信を行うことを許可されているVMが稼働している物理マシン、つまり通信相手となり得る全ての物理マシンを特定する。そして、第2算出部140は、ネットワークコストを算出する対象として選択した物理マシンと、通信相手となり得る物理マシンとして特定された全ての物理マシンとの間のネットワーク距離を合算することで、選択した物理マシンに関するネットワークコストを算出する。
第2算出部140は、ネットワークコストを算出する対象となる物理マシンを切り替えながら上記の処理を繰り返し、物理マシン1〜4のそれぞれについてネットワークコストを算出する。そして、第2算出部140は、管理部120からの取得要求に対する応答として、算出したネットワークコストを管理部120に返す。第2算出部140が算出したネットワークコストは、管理部120の決定部122が新VMを稼働させる物理マシンを決定する際の1つの指標として用いられる。なお、ネットワークコストの具体例は後述する。
次に、図1に示すネットワークシステムにおいて、物理マシン1〜4のいずれかで新VM_Aを新たに稼働させる場合と、物理マシン1〜4のいずれかで新VM_Bを新たに稼働させる場合との2つの事例を例示しながら、本実施形態のシステム管理装置100の動作について詳しく説明する。
図3は、管理部120の取得部121が取得する通信許可情報の一例を示す図である。通信許可情報は、上述したように、新VMが、既に稼働されているVM10〜12,20〜22,30〜32,40〜42のうちのどのVMと通信を行うことが許可されているかを表す情報である。このような通信許可情報は、例えば、新VMに対して適用されるファイアウォールのルールから取得することができる。ファイアウォールのルールは、例えば、新VMを稼働させる際にユーザが指定する、あるいは、システム管理装置100が複数のテンプレートをメニューとして用意し、そのメニューの中からユーザが適用したいテンプレートを選択することにより作成される。新VMに適用されるファイアウォールのルールには、新VMの通信相手を制限する情報が含まれており、その情報を抽出することによって、新VMの通信許可情報を得ることができる。なお、取得部121は、ファイアウォールとは別の情報としてユーザ等が作成した情報を、通信許可情報として取得するようにしてもよい。
図3(a)は、新VM_Aに対して適用されるファイアウォールのルールから取得した通信許可情報を表形式で表したものである。図3(a)の表では、○が付されたカラムに対応するVMが、新VM_Aが通信を行うことを許可されたVMであることを示し、○が付されていないカラムに対応するVMが、新VM_Aが通信を行うことを許可されていないVMであることを示している。つまり、図3(a)に示す通信許可情報は、新VM_Aが、VM10、VM21、VM22、VM41およびVM42と通信を行うことが許可されていることを表している。
図3(b)は、新VM_Bに対して適用されるファイアウォールのルールから取得した通信許可情報を表形式で表したものである。図3(b)の表では、○が付されたカラムに対応するVMが、新VM_Bが通信を行うことを許可されたVMであることを示し、○が付されていないカラムに対応するVMが、新VM_Bが通信を行うことを許可されていないVMであることを示している。つまり、図3(b)に示す通信許可情報は、新VM_Bが、VM11およびVM32と通信を行うことが許可されていることを表している。
なお、IaaSにおけるファイアウォールのルールの設定の仕方として「セキュリティグループ」のような技術もあるが、「セキュリティグループ」のような技術を用いてファイアウォールのルールを設定した場合でも、ルールを分解すれば個々のVMとの間で通信を許可するか否かが示されるので、図3(a)および図3(b)に示したような表形式で表される通信許可情報を得ることができる。
図4は、第1算出部130が保持する負荷情報の一例を示す図である。第1算出部130は、上述したように、ネットワーク上の2つの物理マシン間のネットワーク距離を算出するために、ネットワーク上の物理マシン1〜4やネットワーク機器の通信に関わる負荷の状態を表す負荷情報を取得して、これを保持する。ここで、ネットワーク距離の算出に用いる負荷情報としては、例えば、2つの物理マシン間でパケットが往復するのに要する時間、つまり、2つの物理マシン間で通信を行う際に発生するアクションから応答までの遅延時間を用いることができる。
具体的には、第1算出部130は、ある物理マシンがpingを打ち、他の物理マシンから応答が返ってくるまでの時間を他の全ての物理マシンごとに計測する処理を、ネットワーク上の全ての物理マシン1〜4に対して実行させる。そして、第1算出部130は、上記の計測結果を全ての物理マシン1〜4から収集し、負荷情報として保持する。
図4は、第1算出部130が物理マシン1から取得する負荷情報の一例であり、物理マシン1からpingを打ち、物理マシン2〜4のそれぞれから応答が返ってくるまでの時間(ms)を計測した結果を表形式で表している。図4では、4回の計測を行った例を示しているが、計測回数は必ずしも4回である必要はない。また、この計測は、新VMを稼働させることが要求される前に、例えば一定間隔で定期的に実行させるようにしてもよいし、新VMを稼働させる要求があってから実行させるようにしてもよい。
第1算出部130は、図4に示すような負荷情報をネットワーク上の全ての物理マシン1〜4からそれぞれ取得して保持する。そして、第1算出部130は、第2算出部140からネットワーク距離の取得要求を受け取ると、保持している負荷情報を用いて、ネットワーク上の2つの物理マシン間のネットワーク距離を、2つの物理マシンの組み合わせごとに算出する。
負荷情報からネットワーク距離を算出する方法としては、様々な方法が考えられる。例えば、負荷情報として保持する値(図4の例ではpingの応答時間(遅延時間))の最大値を2つの物理マシン間のネットワーク距離とする方法がある。この場合、図4に例示した負荷情報を用いると、物理マシン1と物理マシン2との間のネットワーク距離は24、物理マシン1と物理マシン3との間のネットワーク距離は4、物理マシン1と物理マシン4との間のネットワーク距離は3となる。また、負荷情報として保持する値の平均値を2つの物理マシン間のネットワーク距離としてもよい。この場合、図4に例示した負荷情報を用いると、物理マシン1と物理マシン2との間のネットワーク距離は21、物理マシン1と物理マシン3との間のネットワーク距離は2.75、物理マシン1と物理マシン4との間のネットワーク距離は2.5となる。他にも、例えば、負荷情報として保持する値の最小値を2つの物理マシン間のネットワーク距離とする方法や、負荷情報として保持する値に重みを付けて新しいデータほど重視する方法等が考えられる。
第1算出部130は、上述した方法によって2つの物理マシンの組み合わせごとにネットワーク距離を算出する。図5は、第1算出部130が算出したネットワーク距離の一例を示す図である。図5の例は、負荷情報として図4に示した遅延時間を用い、その最大値をネットワーク距離として算出した例であり、物理マシン1〜4のうちの2つの物理マシンの組み合わせごとのネットワーク距離を表形式で表したものである。第1算出部130は、第2算出部140からの取得要求に応じて、図5に示すような2つの物理マシンの組み合わせごとのネットワーク距離を算出する。そして、第1算出部130は、第2算出部140からの取得要求に対する応答として、算出したネットワーク距離を第2算出部140に返す。
図6は、第1算出部130の処理手順を示すフローチャートである。第1算出部130は、まず、任意のタイミングでネットワーク上の各物理マシン1〜4から負荷情報を取得し、取得した負荷情報を保持する(ステップS101)。そして、第1算出部130は、第2算出部140からネットワーク距離の取得要求を受け取ると(ステップS102)、ステップS101で取得した負荷情報を用いて、物理マシン1〜4のうちの2つの物理マシンの組み合わせごとにネットワーク距離を算出する(ステップS103)。そして、第1算出部130は、ステップS102で受け取った取得要求に対する応答として、ステップS103で算出したネットワーク距離を第2算出部140に返す(ステップS104)。
第2算出部140は、上述したように、管理部120から取得した通信許可情報および構成情報と、第1算出部130から取得したネットワーク距離とに基づいて、新VMを稼働させた場合のネットワークコストを、ネットワーク上の物理マシン1〜4ごとに算出する。
まず、第2算出部140が、図3(a)に示した通信許可情報と、図5に示したネットワーク距離とを用いて、新VM_Aを稼働させた場合のネットワークコストを算出する方法について説明する。図3(a)に示した通信許可情報から、新VM_Aは、VM10が稼働している物理マシン1と、VM21およびVM22が稼働している物理マシン2と、VM41およびVM42が稼働している物理マシン4との間で通信する可能性があることが分かる。
ここで、新VM_Aを物理マシン1で稼働させる場合を考えると、新VM_AがVM10と通信する際は、物理マシン1と他の物理マシンとの間での通信は行われず、新VM_AがVM21またはVM22と通信する際は、物理マシン1と物理マシン2との間で通信が行われ、新VM_AがVM41またはVM42と通信する際は、物理マシン1と物理マシン4との間で通信が行われることになる。したがって、新VM_Aを物理マシン1で稼働させた場合のネットワークコストは、物理マシン1と物理マシン2との間のネットワーク距離と、物理マシン1と物理マシン4との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン1と物理マシン2との間のネットワーク距離は24、物理マシン1と物理マシン4との間のネットワーク距離は3であるので、新VM_Aを物理マシン1で稼働させた場合のネットワークコストは27となる。
また、新VM_Aを物理マシン2で稼働させる場合は、新VM_AがVM10と通信する際に、物理マシン2と物理マシン1との間で通信が行われ、新VM_AがVM21またはVM22と通信する際は、物理マシン2と他の物理マシンとの間での通信は行われず、新VM_AがVM41またはVM42と通信する際は、物理マシン2と物理マシン4との間で通信が行われることになる。したがって、新VM_Aを物理マシン2で稼働させた場合のネットワークコストは、物理マシン2と物理マシン1との間のネットワーク距離と、物理マシン2と物理マシン4との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン2と物理マシン1との間のネットワーク距離は24、物理マシン2と物理マシン4との間のネットワーク距離は32であるので、新VM_Aを物理マシン2で稼働させた場合のネットワークコストは56となる。
また、新VM_Aを物理マシン3で稼働させる場合は、新VM_AがVM10と通信する際に、物理マシン3と物理マシン1との間で通信が行われ、新VM_AがVM21またはVM22と通信する際は、物理マシン3と物理マシン2との間で通信が行われ、新VM_AがVM41またはVM42と通信する際は、物理マシン3と物理マシン4との間で通信が行われることになる。したがって、新VM_Aを物理マシン3で稼働させた場合のネットワークコストは、物理マシン3と物理マシン1との間のネットワーク距離と、物理マシン3と物理マシン2との間のネットワーク距離と、物理マシン3と物理マシン4との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン3と物理マシン1との間のネットワーク距離は4、物理マシン3と物理マシン2との間のネットワーク距離は32、物理マシン3と物理マシン4との間のネットワーク距離は1であるので、新VM_Aを物理マシン3で稼働させた場合のネットワークコストは37となる。
また、新VM_Aを物理マシン4で稼働させる場合は、新VM_AがVM10と通信する際に、物理マシン4と物理マシン1との間で通信が行われ、新VM_AがVM21またはVM22と通信する際は、物理マシン4と物理マシン2との間で通信が行われ、新VM_AがVM41またはVM42と通信する際は、物理マシン4と他の物理マシンとの間での通信は行われない。したがって、新VM_Aを物理マシン4で稼働させた場合のネットワークコストは、物理マシン4と物理マシン1との間のネットワーク距離と、物理マシン4と物理マシン2との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン4と物理マシン1との間のネットワーク距離は3、物理マシン4と物理マシン2との間のネットワーク距離は32であるので、新VM_Aを物理マシン4で稼働させた場合のネットワークコストは35となる。
次に、第2算出部140が、図3(b)に示した通信許可情報と、図5に示したネットワーク距離とを用いて、新VM_Bを稼働させた場合のネットワークコストを算出する方法について説明する。図3(b)に示した通信許可情報から、新VM_Bは、VM11が稼働している物理マシン1と、VM32が稼働している物理マシン3との間で通信する可能性があることが分かる。
ここで、新VM_Bを物理マシン1で稼働させる場合を考えると、新VM_BがVM11と通信する際は、物理マシン1と他の物理マシンとの間での通信は行われず、新VM_BがVM32と通信する際は、物理マシン1と物理マシン3との間で通信が行われることになる。したがって、新VM_Bを物理マシン1で稼働させた場合のネットワークコストは、物理マシン1と物理マシン3との間のネットワーク距離である。図5に示した例では、物理マシン1と物理マシン3との間のネットワーク距離は4であるので、新VM_Bを物理マシン1で稼働させた場合のネットワークコストは4となる。
また、新VM_Bを物理マシン2で稼働させる場合は、新VM_BがVM11と通信する際に、物理マシン2と物理マシン1との間で通信が行われ、新VM_BがVM32と通信する際は、物理マシン2と物理マシン3との間で通信が行われることになる。したがって、新VM_Bを物理マシン2で稼働させた場合のネットワークコストは、物理マシン2と物理マシン1との間のネットワーク距離と、物理マシン2と物理マシン3との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン2と物理マシン1との間のネットワーク距離は24、物理マシン2と物理マシン3との間のネットワーク距離は32であるので、新VM_Bを物理マシン2で稼働させた場合のネットワークコストは56となる。
また、新VM_Bを物理マシン3で稼働させる場合は、新VM_BがVM11と通信する際に、物理マシン3と物理マシン1との間で通信が行われ、新VM_BがVM32と通信する際は、物理マシン3と他の物理マシンとの間での通信は行われない。したがって、新VM_Bを物理マシン3で稼働させた場合のネットワークコストは、物理マシン3と物理マシン1との間のネットワーク距離である。図5に示した例では、物理マシン3と物理マシン1との間のネットワーク距離は4であるので、新VM_Bを物理マシン3で稼働させた場合のネットワークコストは4となる。
また、新VM_Bを物理マシン4で稼働させる場合は、新VM_BがVM11と通信する際に物理マシン4と物理マシン1との間で通信が行われ、新VM_BがVM32と通信する際は、物理マシン4と物理マシン3との間で通信が行われることになる。したがって、新VM_Bを物理マシン4で稼働させた場合のネットワークコストは、物理マシン4と物理マシン1との間のネットワーク距離と、物理マシン4と物理マシン3との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン4と物理マシン1との間のネットワーク距離は3、物理マシン4と物理マシン3との間のネットワーク距離は1であるので、新VM_Bを物理マシン4で稼働させた場合のネットワークコストは4となる。
図7は、第2算出部140が算出したネットワークコストの一例を示す図であり、図7(a)は、新VM_Aを稼働させた場合のネットワークコスト、図7(b)は、新VM_Bを稼働させた場合のネットワークコストをそれぞれ表形式で表している。
第2算出部140は、管理部120からのネットワークコストの取得要求に応じて、図7(a)や図7(b)に示すような物理マシン1〜4ごとのネットワークコストを算出し、管理部120からの取得要求に対する応答として、算出した物理マシン1〜4ごとのネットワークコストを管理部120に返す。
第2算出部140から管理部120に送られたネットワークコストは、管理部120の決定部122が新VMを物理マシン1〜4のうちのいずれの物理マシンで稼働させるかを決定する際の1つの指標として用いられる。例えば、決定部122は、第2算出部140から物理マシン1〜4ごとのネットワークコストを取得すると、この物理マシン1〜4ごとのネットワークコストと、各物理マシン1〜4のリソース使用率等を用いて、新VMを稼働させる物理マシンの適性度を表すトータルコストを求め、トータルコストが最も低い物理マシンを、新VMを稼働させる物理マシンとして決定する。
図8は、第2算出部140の処理手順を示すフローチャートである。第2算出部140は、管理部120からネットワークコストの取得要求を受け取ると(ステップS201)、管理部120から、通信許可情報と構成情報とを取得する(ステップS202)。次に、第2算出部140は、第1算出部130に対して、ネットワーク距離の取得要求を出す(ステップS203)。そして、第2算出部140は、ステップS203の取得要求に対する応答として第1算出部130から送られたネットワーク距離を取得すると(ステップS204)、ステップS202で取得した通信許可情報および構成情報と、ステップS204で取得したネットワーク距離とに基づいて、物理マシン1〜4ごとのネットワークコストを算出する(ステップS205)。そして、第2算出部140は、ステップS201で受け取った取得要求に対する応答として、ステップS205で算出したネットワークコストを管理部120に返す(ステップS206)。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態に係るシステム管理装置100は、ネットワーク上の物理マシン1〜4のうちの2つの物理マシンの組み合わせごとにネットワーク距離を算出し、このネットワーク距離と通信許可情報とを用いて、物理マシン1〜4ごとのネットワークコストを算出し、このネットワークコストを1つの指標として用いて、物理マシン1〜4のうち、新VMを稼働させる物理マシンを決定するようにしている。したがって、本実施形態に係るシステム管理装置100によれば、ネットワーク上の各物理マシン1〜4の現在の状態だけでなく、新VMを稼働させた際にどのような通信を行うかを想定して新VMを稼働させるのに最適な物理マシンを決定することができ、システム全体としてより効率的な配置で新VMを稼働させることができる。
従来の技術としては、例えば、全ての物理マシンの現在の稼動情報から最適なVMの配置を想定し、再配置を行うものがある。しかし、この従来技術では、実際にVMを物理マシンのいずれかで稼動させてからでないと稼動情報を収集することができず、VMを稼働させる前に最適配置の想定をすることができない。そのため、最適な配置が想定できたとしても、稼動しているVMを物理マシン間で移動させるライブマイグレーションと呼ばれる非常にコストの高い作業を行う必要がある。これに対して、本実施形態では、新VMを稼働させるのに最適な物理マシンを、新VMを稼働させる前に決定することができるので、ライブマイグレーションのようなコストの高い作業を行うことなく、システム全体としてより効率的なVMの配置を実現することができる。
また、他の従来技術としては、ネットワーク上の全ての物理マシンの稼働情報に基づいて、新VMを稼働させる物理マシンを決定するものがある。この従来技術によれば、リソースに余裕がある物理マシンで新VMを稼動させることができ、物理マシンの使用リソースの平滑化をはかることが可能である。しかし、この従来技術では、新VMが稼働した後に通信を行うことについては考慮せずに、新VMを稼働させる物理マシンを決定するため、ネットワーク経路的に通信する相手と非常に遠い位置に新VMが配置されてしまい、システム全体として無駄なネットワークトラフィックを発生させてしまうことがあった。これに対して、本実施形態では、新VMが稼働した後の通信を考慮して最適な物理マシンを決定するため、システム全体としてより効率的な配置で新VMを稼働させることができる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、第1算出部130がネットワーク距離を算出するために取得する負荷情報が、第1の実施形態と異なるものである。すなわち、第1の実施形態の第1算出部130は、2つの物理マシン間で通信を行う際に発生する遅延時間を負荷情報として取得したが、第2の実施形態の第1算出部130は、2つの物理マシン間で通信を行う際に利用するネットワーク経路上のネットワーク機器の帯域使用量を負荷情報として取得する。その他の構成は、第1の実施形態と共通である。
以下、第1の実施形態と共通の構成については説明を省略し、第1の実施形態との相違点についてのみ説明する。なお、以下では、第2の実施形態の第1算出部130を、第1の実施形態と区別するために第1算出部130Aと表記する。
第1算出部130Aは、ネットワーク上の2つの物理マシンの組み合わせごとに、2つの物理マシン間のネットワーク経路を特定する。そして、第1算出部130Aは、任意のタイミングで、各ネットワーク経路上にあるネットワーク機器(図1の例では、ルータ15やLAN51〜53上のネットワークスイッチ等)から現在の帯域使用量をそれぞれ取得し、負荷情報として保持する。
図9は、第1算出部130Aが保持する負荷情報の一例を示す図である。図9の例では、物理マシン1が接続されているLAN51上のネットワークスイッチをネットワーク機器N1、LAN51とLAN53との間のルータ15をネットワーク機器N2、物理マシン3および物理マシン4が接続されているLAN53上のネットワークスイッチをネットワーク機器N3、物理マシン2が接続されているLAN52上のネットワークスイッチをネットワーク機器N4と表記し、各ネットワーク機器N1〜N4から取得した帯域使用量を表形式で表している。図9では、各ネットワーク機器N1〜N4の帯域使用量を異なるタイミングで4回取得した場合の例を示しているが、帯域使用量を取得する回数は必ずしも4回である必要はない。また、帯域使用量の取得は連続して行うようにしてもよいし、新VMを稼働させることが要求される前に一定間隔で定期的に行う、あるいは、新VMを稼働させる要求があってから行うようにしてもよい。
第1算出部130Aは、図9に示すような負荷情報をネットワーク上の各ネットワーク機器N1〜N4からそれぞれ取得して保持する。そして、第1算出部130Aは、第2算出部140からネットワーク距離の取得要求を受け取ると、保持している負荷情報を用いて、ネットワーク上の2つの物理マシン間のネットワーク距離を、2つの物理マシンの組み合わせごとに算出する。
例えば、第1算出部130Aは、負荷情報として保持するネットワーク機器の帯域使用量の最大値を用い、ネットワーク機器の最大帯域から帯域使用量の最大値を減算して、帯域残量を求める。なお、ネットワーク機器の最大帯域は、例えば、ネットワーク機器をシステムに組み込む前に事前に計測して保持しておけばよい。そして、第1算出部130Aは、2つの物理マシン間のネットワーク経路上にある全てのネットワーク機器について帯域残量を求めたら、全てのネットワーク機器の帯域残量の逆数の和を、2つの物理マシン間のネットワーク距離として算出する。例えば、物理マシン1と物理マシン3との間のネットワーク経路上にあるネットワーク機器は、ネットワーク機器N1とネットワーク機器N2とネットワーク機器N3である。図9に例示した負荷情報を用いた場合、ネットワーク機器N1の帯域残量は20、ネットワーク機器N2の帯域残量は70、ネットワーク機器N3の帯域残量は93であるので、物理マシン1と物理マシン3との間のネットワーク距離は、1/20+1/70+1/93≒0.075となる。
第1算出部130Aは、上述した方法によって2つの物理マシンの組み合わせごとにネットワーク距離を算出する。図10は、第1算出部130Aが算出したネットワーク距離の一例を示す図である。図10の例は、負荷情報として図9に示したネットワーク機器N1〜N4の帯域使用量を用いた例であり、物理マシン1〜4のうちの2つの物理マシンの組み合わせごとのネットワーク距離を表形式で表したものである。第1算出部130Aは、第2算出部140からの取得要求に応じて、図10に示すような2つの物理マシンの組み合わせごとのネットワーク距離を算出し、第2算出部140に返す。
図11は、第2算出部140が、図3に示した通信許可情報と図10に示したネットワーク距離とに基づいて算出したネットワークコストの一例を示す図であり、図11(a)は、新VM_Aを稼働させた場合のネットワークコスト、図11(b)は、新VM_Bを稼働させた場合のネットワークコストをそれぞれ表形式で表している。
上述したように、2つの物理マシン間のネットワーク経路上にある全てのネットワーク機器の帯域残量の逆数の和を、2つの物理マシン間のネットワーク距離とすることにより、帯域をほとんど使い尽くしているネットワーク機器が一つでもある場合は、ネットワーク距離の値が非常に大きくなる。そのため、そのようなネットワーク機器を通るネットワーク経路を使用する物理マシンで新VMを稼働させる場合のネットワークコストが非常に大きくなる。その結果、システム全体としてネットワークリソースをより有効活用できるように、新VMを稼働させる物理マシンが決定されることになる。
なお、以上の例では、第1算出部140が、2つの物理マシン間のネットワーク経路上の全てのネットワーク機器の帯域残量の逆数の和を、2つの物理マシン間のネットワーク距離として算出したが、他の方法でネットワーク距離を算出するようにしてもよい。例えば、2つの物理マシン間のネットワーク経路上の全てのネットワーク機器の帯域使用量の和を、2つの物理マシン間のネットワーク距離として算出する、あるいは、2つの物理マシン間のネットワーク経路上の全てのネットワーク機器の帯域使用量の最大値を、2つの物理マシン間のネットワーク距離とすることもできる。
以上のように、本実施形態によれば、2つの物理マシン間のネットワーク経路上にあるネットワーク機器の帯域使用量を用いて、2つの物理マシン間のネットワーク距離を算出するようにしているので、第1の実施形態の効果に加えて、さらに、ネットワークリソースの稼働状態も反映させて新VMを稼働させるのに最適な物理マシンを決定することができ、システム全体としてより効率的な配置で新VMを稼働させることができる。
なお、2つの物理ホスト間のネットワーク距離を算出するために用いる負荷情報や、その負荷情報を用いてネットワーク距離を算出する方法は、第1の実施形態と第2の実施形態で開示した2つの例に限られるものではなく、他にも様々な形態やそれらの組み合わせを用いることができる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、取得部121が取得する通信許可情報と、この通信許可情報を用いて第2算出部140がネットワークコストを算出する方法が、第1の実施形値と異なるものである。すなわち、第1の実施形態の取得部121は、新VMに適用されるファイアウォールのルールから、新VMが通信を行うことを許可されたVMを表す通信許可情報を取得したが、第3の実施形態の取得部121は、新VMに適用されるファイアウォールのルールから、さらに通信に使用するポート番号が指定された通信許可情報を取得する。また、第1の実施形態の第2算出部140は、ネットワークコストを算出する対象の物理マシンと、通信許可情報で通信が許可されたVMが稼働している全ての物理マシンとの間のネットワーク距離を合算してネットワークコストを算出したが、第3の実施形態の第2算出部140は、ネットワークコストを算出する対象の物理マシンと、通信許可情報で通信が許可されたVMが稼働している全ての物理マシンとの間のネットワーク距離に、通信許可情報で指定されたポート番号に応じた重みを乗算した値を合算してネットワークコストを算出する。その他の構成は、第1の実施形態と共通である。
以下、第1の実施形態と共通の構成については説明を省略し、第1の実施形態との相違点についてのみ説明する。なお、以下では、第3の実施形態の取得部121を、第1の実施形態と区別するために取得部121Aと表記し、第3の実施形態の第2算出部140を、第1の実施形態と区別するために第2算出部140Aと表記する。
図12は、取得部121Aが取得する通信許可情報の一例を示す図であり、新VM_Cに対して適用されるファイアウォールのルールから取得した通信許可情報を表形式で表したものである。図12の表では、数値が記載されたカラムに対応するVMが、新VM_Aが通信を行うことを許可されたVMであることを示し、記載された数値が、このVMと通信を行う際に使用するポートとして指定されたポート番号を示している。つまり、図12に示す通信許可情報は、新VM_Cが、VM11およびVM32と通信を行うことが許可されており、VM11と通信を行う場合はポート番号80のポートを使用し、VM32と通信を行う場合はポート番号22のポートを使用することを表している。
図13は、ポートごとの重みの一例を示す図である。第2算出部140Aは、図13に示すようなポートごとの重みが記述された情報を保持しており、ネットワークコストを算出する際に利用する。すなわち、第2算出部140Aは、2つの物理サーバ間のネットワーク距離に対して通信に使用するポートの番号に対応する重みを乗算し、その値を合算してネットワークコストを算出する。
ポートごとの重みは、各ポートで一般的に使用されるプロトコルで一般的にどのくらい大きなデータが使用されるかという測定値を元に決定される。図13の例では、ポート番号80のポートは主にHTTP(Hyper Text Transfer Protocol)で使われ、データ量が非常に大きいことが多いため、重みの値が大きくなっている。また、ポート番号53のポートはDNS(Domain Name System)であり、大きなデータが流れることは少ないため、重みの値は小さくなっている。これらの重みは、例えば、実際にシステムを運用して統計的に計算すればよい。また、これらの重みを人が経験的に設定するようにしてもよい。人が経験的に設定する場合は、どのくらいの応答速度が要求されるかという観点も含めて重みを設定してもよい。例えば、高速な応答を必要とするポートほど重みの値を大きくすることが考えられる。
ここで、第2算出部140Aが、図12に示した通信許可情報と、図13に示したポートごとの重みの情報と、図5に示したネットワーク距離とを用いて、新VM_Cを稼働させた場合のネットワークコストを算出する方法について説明する。図12に示した通信許可情報から、新VM_Cは、VM11が稼働している物理マシン1と、VM32が稼働している物理マシン3との間で通信する可能性があることが分かる。また、新VM_Cが物理マシン1と通信する場合はポート番号80のポートが使用され、新VM_Cが物理マシン3と通信する場合はポート番号22のポートが使用されることが分かる。
ここで、新VM_Cを物理マシン1で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン1と他の物理マシンとの間での通信は行われず、新VM_CがVM32と通信する際は、物理マシン1と物理マシン3との間で通信が行われることになる。したがって、新VM_Cを物理マシン1で稼働させた場合のネットワークコストは、物理マシン1と物理マシン3との間のネットワーク距離にポート番号22に対応する重みを乗算した値である。図5に示した例では、物理マシン1と物理マシン3との間のネットワーク距離は4であり、図13に示した例では、ポート番号22に対応する重みの値は0.3であるので、新VM_Cを物理マシン1で稼働させた場合のネットワークコストは1.2となる。
また、新VM_Cを物理マシン2で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン2と物理マシン1との間で通信が行われ、新VM_CがVM32と通信する際は、物理マシン2と物理マシン3との間で通信が行われることになる。したがって、新VM_Cを物理マシン2で稼働させた場合のネットワークコストは、物理マシン2と物理マシン1との間のネットワーク距離にポート番号80に対応する重みを乗算した値と、物理マシン2と物理マシン3との間のネットワーク距離にポート番号22に対応する重みを乗算した値とを合算して算出することができる。図5に示した例では、物理マシン2と物理マシン1との間のネットワーク距離は24、物理マシン2と物理マシン3との間のネットワーク距離は32であり、図13に示した例では、ポート番号80に対応する重みの値は0.8、ポート番号22に対応する重みの値は0.3であるので、新VM_Cを物理マシン2で稼働させた場合のネットワークコストは28.8となる。
また、新VM_Cを物理マシン3で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン3と物理マシン1との間で通信が行われ、新VM_CがVM32と通信する際は、物理マシン3と他の物理マシンとの間での通信は行われないことになる。したがって、新VM_Cを物理マシン3で稼働させた場合のネットワークコストは、物理マシン3と物理マシン1との間のネットワーク距離にポート番号80に対応する重みを乗算した値である。図5に示した例では、物理マシン3と物理マシン1との間のネットワーク距離は4であり、図13に示した例では、ポート番号80に対応する重みの値は0.8であるので、新VM_Cを物理マシン3で稼働させた場合のネットワークコストは3.2となる。
また、新VM_Cを物理マシン4で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン4と物理マシン1との間で通信が行われ、新VM_CがVM32と通信する際は、物理マシン4と物理マシン3との間で通信が行われることになる。したがって、新VM_Cを物理マシン4で稼働させた場合のネットワークコストは、物理マシン4と物理マシン1との間のネットワーク距離にポート番号80に対応する重みを乗算した値と、物理マシン4と物理マシン3との間のネットワーク距離にポート番号22に対応する重みを乗算した値とを合算して算出することができる。図5に示した例では、物理マシン4と物理マシン1との間のネットワーク距離は3、物理マシン4と物理マシン3との間のネットワーク距離は1であり、図13に示した例では、ポート番号80に対応する重みの値は0.8、ポート番号22に対応する重みの値は0.3であるので、新VM_Cを物理マシン4で稼働させた場合のネットワークコストは2.7となる。
図14は、第2算出部140Aが算出したネットワークコストの一例を示す図であり、新VM_Cを稼働させた場合のネットワークコストを表形式で表している。第2算出部140Aは、管理部120からのネットワークコストの取得要求に応じて、図14に示すような物理マシン1〜4ごとのネットワークコストを算出し、管理部120からの取得要求に対する応答として、算出した物理マシン1〜4ごとのネットワークコストを管理部120に返す。
以上のように、本実施形態によれば、新VMが通信を行う際に使用するポート番号に応じた重みをネットワーク距離に乗算してネットワークコストを算出するようにしているので、第1の実施形態の効果に加えて、さらに、通信のデータ量や必要とする応答速度などを加味して新VMを稼働させるのに最適な物理マシンを決定することができ、システム全体としてより効率的な配置で新VMを稼働させることができる。
なお、ネットワーク距離に対して重み付けする方法としては、通信に使用するポート番号に応じた重み付けに限らず、例えば、上述したセキュリティグループの情報等、新VMに適用されるファイアウォールのルールに含まれる他の情報を用いて重み付けを行うようにしてもよい。
以上、第1乃至第3の実施形態を説明したが、これらの実施形態に係るシステム管理装置100の各機能は、例えば、システム管理装置100において所定のプログラムを実行することにより実現することができる。この場合、システム装置100は、例えば図15に示すように、CPU(Central Processing Unit)101などの制御装置、ROM(Read Only Memory)102やRAM(Random Access Memory)103などの記憶装置、ネットワークに接続して通信を行う通信I/F104、各部を接続するバス105などを備えた、通常のコンピュータを利用したハードウェア構成となる。
実施形態に係るシステム管理装置100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、実施形態に係るシステム管理装置100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態に係るシステム管理装置100で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、実施形態に係るシステム管理装置100で実行されるプログラムを、ROM102等に予め組み込んで提供するように構成してもよい。
実施形態に係るシステム管理装置100で実行されるプログラムは、システム管理装置100の各機能を実現する処理部(通信部110、管理部120(取得部121、決定部122)、第1算出部130、第2算出部140)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU101(プロセッサ)が上記記録媒体からプログラムを読み出して実行することにより、上述した各処理部が主記憶装置上にロードされ、上述した各処理部が主記憶装置上に生成されるようになっている。なお、実施形態に係るシステム管理装置100は、上述した各処理部の一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
なお、実施形態に係るシステム管理装置100は、上述した各処理部を1つの装置で実現する必要はなく、上述した各処理部を複数の装置に分散させて実現する構成であってもよい。
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (9)

  1. 仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理するシステム管理装置であって、
    複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する第1算出部と、
    新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報であって、前記第1マシンを稼働させる際にユーザが指定する前記通信許可情報を取得する取得部と、
    前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する第2算出部と、
    複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する決定部と、を備えるシステム管理装置。
  2. 前記第2算出部は、前記ネットワークコストを算出する対象の前記物理マシンと前記第1マシンが通信を行うことを許可されている前記第2マシンが稼働している前記物理マシンとの間の前記ネットワーク距離を合算して、前記ネットワークコストを算出する、請求項1に記載のシステム管理装置。
  3. 前記取得部は、通信に使用するポート番号が指定された前記通信許可情報を取得し、
    前記第2算出部は、前記ネットワークコストを算出する対象の前記物理マシンと前記第1マシンが通信を行うことを許可されている前記第2マシンが稼働している前記物理マシンとの間の前記ネットワーク距離に、前記通信許可情報で指定されたポート番号に応じた重みを乗算した値を合算して、前記ネットワークコストを算出する、請求項1に記載のシステム管理装置。
  4. 前記第1算出部は、前記物理マシンの1つが他の前記物理マシンと通信を行うことで発生する遅延時間を用いて、前記ネットワーク距離を算出する、請求項1に記載のシステム管理装置。
  5. 前記第1算出部は、前記物理マシンの1つが他の前記物理マシンと通信を行う際に利用するネットワーク経路上のネットワーク機器から該ネットワーク機器の帯域使用量を取得し、取得した前記帯域使用量を用いて、前記ネットワーク距離を算出する、請求項1に記載のシステム管理装置。
  6. 前記取得部は、前記第1マシンを稼働させる際にユーザが指定する、前記第1マシンに対して適用されるファイアウォールのルールから、前記第1マシンの通信相手を制限する情報を抽出することにより、前記通信許可情報を取得する、請求項1に記載のシステム管理装置。
  7. 仮想マシンを稼働させる複数の物理マシンと、システム管理装置と、がネットワークを介して通信可能に接続されたネットワークシステムであって、
    前記システム管理装置は、
    複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する第1算出部と、
    新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報であって、前記第1マシンを稼働させる際にユーザが指定する前記通信許可情報を取得する取得部と、
    前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する第2算出部と、
    複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する決定部と、を備えるネットワークシステム。
  8. 仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理するシステム管理装置において実行されるシステム管理方法であって、
    前記システム管理装置の第1算出部が、複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出するステップと、
    前記システム管理装置の取得部が、新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報であって、前記第1マシンを稼働させる際にユーザが指定する前記通信許可情報を取得するステップと、
    前記システム管理装置の第2算出部が、前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出するステップと、
    前記システム管理装置の決定部が、複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定するステップと、を含むシステム管理方法。
  9. 仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理するコンピュータに、
    複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する機能と、
    新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報であって、前記第1マシンを稼働させる際にユーザが指定する前記通信許可情報を取得する機能と、
    前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する機能と、
    複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する機能と、を実現させるためのプログラム。
JP2012543392A 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム Active JP5377775B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/074271 WO2014045413A1 (ja) 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP5377775B1 true JP5377775B1 (ja) 2013-12-25
JPWO2014045413A1 JPWO2014045413A1 (ja) 2016-08-18

Family

ID=49955020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012543392A Active JP5377775B1 (ja) 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム

Country Status (4)

Country Link
US (1) US9148355B2 (ja)
JP (1) JP5377775B1 (ja)
CN (1) CN103827827B (ja)
WO (1) WO2014045413A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117916714A (zh) * 2021-08-31 2024-04-19 瑞典爱立信有限公司 用于vm调度的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141635A (ja) * 2010-01-06 2011-07-21 Hitachi Ltd ホスト間通信を使用した仮想サーバのデータの通信方法
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム
JP2011221581A (ja) * 2010-04-02 2011-11-04 Hitachi Ltd 計算機システムの管理方法、計算機システム管理端末および計算機管理システム
JP2012099062A (ja) * 2010-11-05 2012-05-24 Hitachi Ltd サービス連携システムおよび情報処理システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000268004A (ja) 1999-03-18 2000-09-29 Hitachi Ltd 分散計算機環境におけるオブジェクトの最適分散配置方法
US7454457B1 (en) * 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
JP3861087B2 (ja) 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
JP4519098B2 (ja) 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
US8130756B2 (en) * 2007-07-13 2012-03-06 Hewlett-Packard Development Company, L.P. Tunnel configuration associated with packet checking in a network
JP4906686B2 (ja) * 2007-11-19 2012-03-28 三菱電機株式会社 仮想マシンサーバサイジング装置及び仮想マシンサーバサイジング方法及び仮想マシンサーバサイジングプログラム
JP2010146420A (ja) 2008-12-22 2010-07-01 Hitachi Ltd 余剰資源管理システム、その管理方法、及びサーバ装置
JP5338906B2 (ja) * 2009-06-01 2013-11-13 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
US7937438B1 (en) * 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
JP2011186821A (ja) 2010-03-09 2011-09-22 Nec Corp 仮想化環境管理システム、装置、方法及びプログラム
JP2011186809A (ja) 2010-03-09 2011-09-22 Nippon Telegr & Teleph Corp <Ntt> アプリケーション割当図生成装置および方法
JP5556507B2 (ja) 2010-08-30 2014-07-23 富士通株式会社 仮想マシン管理プログラム、仮想マシン管理方法、および仮想マシン管理装置
WO2012155947A1 (en) * 2011-05-13 2012-11-22 Telefonaktiebolaget L M Ericsson (Publ) Allocation of virtual machines in datacenters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141635A (ja) * 2010-01-06 2011-07-21 Hitachi Ltd ホスト間通信を使用した仮想サーバのデータの通信方法
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム
JP2011221581A (ja) * 2010-04-02 2011-11-04 Hitachi Ltd 計算機システムの管理方法、計算機システム管理端末および計算機管理システム
JP2012099062A (ja) * 2010-11-05 2012-05-24 Hitachi Ltd サービス連携システムおよび情報処理システム

Also Published As

Publication number Publication date
JPWO2014045413A1 (ja) 2016-08-18
US20140089497A1 (en) 2014-03-27
US9148355B2 (en) 2015-09-29
CN103827827A (zh) 2014-05-28
CN103827827B (zh) 2017-05-17
WO2014045413A1 (ja) 2014-03-27

Similar Documents

Publication Publication Date Title
EP3028406B1 (en) Profile-based sla guarantees under workload migration in a distributed cloud
KR101603928B1 (ko) 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지
US20120304175A1 (en) Network performance monitor for virtual machines
US10541878B2 (en) Client-space network monitoring
JP6097235B2 (ja) 負荷分散システム、負荷分散装置及び負荷分散方法
US10469352B2 (en) Method and apparatus for available bandwidth measurement
JP6558374B2 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム
Rawadi et al. Providing local cloud services to mobile devices with inter-cloudlet communication
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
JP6754115B2 (ja) 選択装置、装置選択方法、プログラム
US20140136659A1 (en) Timeout Value Adaptation
CN106412075A (zh) 一种基于云计算的资源配置方法及装置
JP5377775B1 (ja) システム管理装置、ネットワークシステム、システム管理方法およびプログラム
Centofanti et al. Latency-Aware Kubernetes Scheduling for Microservices Orchestration at the Edge
US11652738B2 (en) Systems and methods for utilizing segment routing over an internet protocol data plane for latency metrics reduction
JP2018032245A (ja) 計算機システム及びリソース制御方法
JP6399127B2 (ja) システム管理装置、システム管理方法、プログラム、情報処理システム
Agache et al. Cloudtalk: Enabling distributed application optimisations in public clouds
Guo et al. GeoScale: Providing geo-elasticity in distributed clouds
CN108206838B (zh) 一种负载均衡系统、方法及装置
JP6339978B2 (ja) リソース割当管理装置およびリソース割当管理方法
JP6399128B2 (ja) 選択装置、装置選択方法、プログラム
US11973666B1 (en) Systems and methods for using blockchain to manage service-level agreements between multiple service providers
Skowroński et al. A quality attributes approach to defining reactive systems solution applied to cloud of sensors
CN112118579B (zh) 资源分配方法以及装置

Legal Events

Date Code Title Description
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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130924

R150 Certificate of patent or registration of utility model

Ref document number: 5377775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350