JP4577384B2 - 管理マシン、管理システム、管理プログラム、および、管理方法 - Google Patents

管理マシン、管理システム、管理プログラム、および、管理方法 Download PDF

Info

Publication number
JP4577384B2
JP4577384B2 JP2008065858A JP2008065858A JP4577384B2 JP 4577384 B2 JP4577384 B2 JP 4577384B2 JP 2008065858 A JP2008065858 A JP 2008065858A JP 2008065858 A JP2008065858 A JP 2008065858A JP 4577384 B2 JP4577384 B2 JP 4577384B2
Authority
JP
Japan
Prior art keywords
server
information
application
algorithm
selection
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.)
Expired - Fee Related
Application number
JP2008065858A
Other languages
English (en)
Other versions
JP2009223497A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008065858A priority Critical patent/JP4577384B2/ja
Priority to US12/397,931 priority patent/US8572621B2/en
Publication of JP2009223497A publication Critical patent/JP2009223497A/ja
Application granted granted Critical
Publication of JP4577384B2 publication Critical patent/JP4577384B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、アプリケーションの管理マシン、管理システム、管理プログラム、および、管理方法に関する。
特許文献1には、各サーバの記憶容量に関するデータと各仮想マシンの記憶容量に関するデータとを読み出して、当該データに基づいて仮想マシンをサーバに最適配置する仮想マシン管理サーバが記載されている。
特許文献2には、ボリュームリストが適切であるかどうかを判定する際に、単純な多数決または加重当方方式などの、いくつかの異なるアルゴリズムを使用するボリュームマネージャが記載されている。
特許文献3には、複数台の資源提供者端末に、同じ処理を割り振り、処理された結果を多数決で評価して、正しい演算結果を判断する上位管理サーバが記載されている。
特開2005−115653号公報 特表2003−515813号公報 特開2003−16043号公報
上述の技術はいずれも、複数の配置アルゴリズムの各々の結果を考慮して、アプリケーションをサーバに配置するものではなかった。このため、種々の性能要因を考慮したアプリケーションの再配置を行うことが困難であった。本発明の目的は、上述した課題を解決する管理マシン、管理システム、管理プログラム、および、管理方法を提供することである。
本発明の管理マシンは、第1及び第2のアプリケーションを配置された第1のサーバから、AP情報および第1のサーバ情報を取得する取得部と、前記AP情報、前記第1のサーバ情報及び第1のアルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、第2のサーバを選択する第1の選択結果と、前記AP情報、前記第1のサーバ情報及び第2のアルゴリズムの実行結果によって、第2の選択結果を得て、前記選択結果の何れかに従って、前記第1または前記第2のアプリケーションを前記第2のサーバに再配置する選択部、を備える。
本発明の管理プログラムは、コンピュータに、第1及び第2のアプリケーションを配置された第1のサーバから、AP情報および第1のサーバ情報を取得する取得処理と、前記AP情報、前記第1のサーバ情報及び第1のアルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、第2のサーバを選択する第1の選択結果と、前記AP情報、前記第1のサーバ情報及び第2のアルゴリズムの実行結果によって、第2の選択結果を得て、前記選択結果の何れかに従って、前記第1または前記第2のアプリケーションを前記第2のサーバに再配置する選択処理、を実行させる。
本発明の管理方法は、コンピュータが、第1及び第2のアプリケーションを配置された第1のサーバから、AP情報および第1のサーバ情報を取得する取得行程と、前記AP情報、前記第1のサーバ情報及び第1のアルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、第2のサーバを選択する第1の選択結果と、前記AP情報、前記第1のサーバ情報及び第2のアルゴリズムの実行結果によって、第2の選択結果を得て、前記選択結果の何れかに従って、前記第1または前記第2のアプリケーションを前記第2のサーバに再配置する選択行程、を備える。
本発明によれば、種々の環境要因に適応したアプリケーションの再配置を行うことが可能となる。
図1は、本発明の第1実施形態にかかる管理システム10の構成例を示す。管理システム10は、管理マシン20と、管理マシン20に接続された複数台のサーバ30(例えば、第1のサーバ31、第2のサーバ32、第3のサーバ33、...)と端末11とを備える。
管理マシン20は、選択部21、取得部22、時計23、論理表60、閾値表70、再配置表80、ディスク構成表90を備える。選択部21、取得部22または時計23は、コンピュータである管理マシン20のプロセッサーが、図示しない主記憶装置に格納されている管理プログラム29を読み込んで実行することで機能する。ハードウェアが、同等な機能を実現していてもよい。論理表60、閾値表70、再配置表80及びディスク構成表90は、図示しない主記憶装置または外部記憶装置に格納されたデータである。それらは、データベースとして構成されていても良い。
サーバ30は、モニタ36、ディスク35を備える。サーバ30は、モニタ36の制御下で、プログラムであるアプリケーション40を実行する。この場合、アプリケーション40はサーバ30に配置されている状態である。通常複数のアプリケーション40がサーバ30に配置されている。例えば、第1のアプリケーション41、第2のアプリケーション42が、第1のサーバ31に配置されている。
管理マシン20は、管理システム10の資源状況、性能状況等の種々の要因に基づいて、アプリケーション40をどのサーバ30に配置するかを判断し、必要に応じて配置変更(再配置)を行う。
アプリケーション40は、例えば、VM50(Virtual Machine:仮想マシン)である。従って、第1のアプリケーション41は第1のVM51、第2のアプリケーション42は第2のVM52である。
各VM50の仮想ディスク55はサーバ30のディスク35に割り当てられている。即ち、各VM50の仮想ディスク55への入出力は、サーバ30のディスク35への入出力に変換されて実行される。図2は、この割り当ての一例を示している。この例では、第1のサーバ31は装置アドレスa番、b番の2台のディスク35を備える。第1のVM51、第2のVM52の各々は、仮想装置アドレス1番、2番の2台の仮想ディスク55を備える。この例では、第1のVM51の仮想ディスク55の1番はディスク35のa番に、仮想ディスク55の2番はディスク35のb番に割り当てられている。第2のVM52の仮想ディスク55の1番はディスク35のa番に、仮想ディスク55の2番はディスク35のb番に割り当てられている。
ディスク35や仮想ディスク55の資源状況、負荷状況を個別に管理するときには、上述の対応関係を把握することが必要である。この為、ディスク構成表90が、ディスク35と仮想ディスク55との対応関係を記憶する。図6は上述の割り当て例に基づくディスク構成表90の例である。
なお、ディスク35と仮想ディスク55の対応関係は上記の例に限られない。対応関係がディスク構成表90に格納されていれば良い。例えば、各VM50の仮想ディスク55構成が同一でないときは、ディスク構成表90は、仮想ディスク名92に代えて、VM50の識別子と仮想ディスク名92の対を記憶すればよい。
図3は論理表60の構成例を示す。論理表60は、アルゴリズムID61、仮想資源名62、属性63、アルゴリズム66を格納する。属性63はフラグ64と適用時刻65を包含する。
アルゴリズムID61は、アルゴリズム66の管理システム10内で一意な識別子である。仮想資源名62は、VM50が有する各種資源の管理システム10内で一意な名称である。仮想資源名62は、CPU(Central Processing Unit)、メモリ、ディスク(全体)、通信装置などである。個別の仮想ディスク55(1番または2番など)の仮想資源名62は、仮想ディスク(1番)等といった仮想ディスク名92である。
フラグ64は、アルゴリズム66が有効であるか無効であるかを示す。適用時刻65は、アルゴリズム66を使用する時間帯を示す。これらの属性63の値は、例えば管理システム10の管理者が端末11等を使って論理表60に設定する。管理者は、属性63の値を設定することで、管理システム10が使用するアルゴリズム66を適切に選択することが出来る。
選択部21は、アルゴリズム66を実行して、あるサーバ30に配置されているVM50と、当該VM50を再配置する別のサーバ30を選択して、その選択結果を再配置表80(移動対象82、移動先85)に出力する。例えば、選択部21は、第1のサーバ31に配置されている第1のVM51及び第2のVM52から第2のVM52を、第2のサーバ32に再配置する候補として選択し、その選択結果を再配置表80に出力する。
アルゴリズム66は、仮想資源名62対応に分類されている。アルゴリズム66は、仮想資源名62対応に複数あっても良い。例えば、仮想資源名62「メモリ」に対して、第1のアルゴリズム67、第2のアルゴリズム68、第3のアルゴリズム69が存在しても良い。
一つのアルゴリズム66は、対応する仮想資源名62の資源の情報に基づいて、再配置の候補となるVM50、および、再配置先のサーバ30の選択を行って、その選択結果を出力するように記述されている。選択部21は、複数のアルゴリズム66を実行して、各々のアルゴリズム66に従って得られた選択結果を、再配置表80に蓄積し、蓄積された何れかの選択結果に基づいてVM50の再配置を行う。
なお、アルゴリズム66の記述方法は何でも良い。アルゴリズム66は、ある種のスクリプト言語で記述されたプログラムとして論理表60に格納されていても良いし、サブルーチンとして図示しない主記憶装置や外部記憶装置に記憶され、そのエントリアドレスが論理表60に格納されていても良い。
アルゴリズム66の例には、以下のものがある。
1)使用メモリ量が最大のVM50を、空きメモリ量が最大のサーバ30に再配置せよ。
2)使用メモリ量が最大のVM50を、空きメモリ量変動率が最低のサーバ30に再配置せよ。
3)使用メモリ量変動率が最大のVM50を、空きメモリ量が最大のサーバ30に再配置せよ。
4)使用メモリ変動率が最大のVM50を、空きメモリ量変動率が最低のサーバ30に再配置せよ。
5)仮想ディスク55へのIO発行数が最大のVM50を、ディスク35へのIO発行数が最低のサーバ30に再配置せよ。
6)仮想ディスク55へのIO発行数が最大のVM50を、ディスク35へのIO発行数変動率が最低のサーバ30に再配置せよ。
7)仮想ディスク55へのIO発行数変動率が最大のVM50を、ディスク35へのIO発行数が最低のサーバ30に再配置せよ。
8)仮想ディスク55へのIO発行数変動率が最大のVM50を、ディスク35へのIO発行数変動率が最低のサーバ30に再配置せよ。
9)CPU使用率が最大のVM50を、CPU使用率が最低のサーバ30に再配置せよ。
10)CPU使用率が最大のVM50を、CPU使用率変動率が最低のサーバ30に再配置せよ。
なお、仮想ディスク55に関するアルゴリズム66は、仮想ディスク55全体に対するものと、個別の仮想ディスク55(1番または2番など)に対するものとが存在する。また、ある値の変動率とは、その値の単位時間あたりの変化量を指す。
アルゴリズム66は、同じ仮想資源名62についての複数条件の組み合わせをVM50の選択条件として包含していても良い。例えば、アルゴリズム66は、「使用メモリ量が5GB以上のVM50の中で、使用メモリ量変動率が最大」というVM50の選択条件を包含していても良い。
図4は閾値表70の構成例を示す。例えば管理者が、管理システム10の運転に先立ち閾値表70の内容を設定する。閾値表70は、実資源名71対応に閾値72を包含する。
実資源名71はサーバ30が有する各種資源の管理システム10内で一意の名称である。実資源名71は、CPU、メモリ、ディスク(全体)、通信装置などである。個別のディスク35(a番またはb番など)の実資源名71は、ディスク(a番)等といったディスク名91である。
閾値72には、実資源名71対応に再配置を行うかどうかを判断する為の基準値が格納されている。再配置は、サーバ30の負荷が高いときに行われる。閾値72は、サーバ30の負荷が高いことを判断する為の基準値である。
メモリに対する閾値72は、メモリ使用率(%)、空きメモリ量変動率(MB/秒)等である。ディスク35に対する閾値72は、IO発行数(回/秒)、IO転送量(MB/秒)、IO転送時間(IOビジー時間;m秒/秒)等である。CPUに対する閾値72はCPU使用率(%)等がある。
図5は再配置表80の構成例を示す。再配置表80は、選択部21がアルゴリズム66を実行して、再配置の候補となるVM50と再配置先サーバ30を選択した選択結果を格納する記憶域である。再配置表80は、選択番号81、アルゴリズムID61、選択結果(移動対象82、異動先85)を含む。移動対象82は、再配置の候補となるVM50が配置されているサーバ30の識別子(サーバID83)、当該VM50の識別子(VMID84)を包含する。移動先85は、再配置の候補となるVM50の配置変更先のサーバ30のサーバID83を包含する。
選択部21は、アルゴリズム66を選択して実行するために、サーバ30から、当該サーバ30の資源に関する情報(サーバ情報A0)や当該サーバ30に配置されているVM50の資源に関する情報(AP情報B0)を必要とする。サーバ30内に配置されたVM50が実行される過程で、モニタ36が、サーバ情報A0およびAP情報B0を収集する。この収集は、実行ログ取得などのよく知られた手法で行うことが出来る。
取得部22が、これらのサーバ情報A0、AP情報B0をモニタ36から取得して、選択部21に送信する。
図7はサーバ情報A0の構成例を示す。サーバ情報A0は当該情報を収集したサーバ30のサーバID83とサーバ30の各資源対応の情報を包含する。各資源対応の情報には以下のものが有る。メモリ対応の情報は、実装メモリ量(MB)、空きメモリ量(MB)、空きメモリ量変動率(MB/秒)等である。ディスク35対応の情報は、IO発行数(回/秒)、IO転送量(MB/秒)、IO転送時間(IOビジー時間;m秒/秒)等である。ディスク35対応の情報は、ディスク35全体に対するものと、個別のディスク35(a番またはb番など)に対するものとが存在する。CPU対応の情報は、CPU使用率等である。
図8はAP情報B0の構成例を示す。AP情報B0は、当該情報を収集したサーバ30に配置されているVM50対応のエントリを繰り返して包含する。各エントリは、対応VM50のVMID84、VM50の優先度B1とVM50の各資源対応の情報を包含する。各資源対応の情報には以下のものが有る。メモリ対応の情報は、実装メモリ量(MB)、使用メモリ量(MB)、使用メモリ量変動率(MB/秒)等である。仮想ディスク55対応の情報は、IO発行数(回/秒)、IO転送量(MB/秒)、IO転送時間(IOビジー時間;m秒/秒)等である。仮想ディスク55対応の情報は、全体に対するものと、個別の仮想ディスク55(1番または2番など)に対するものとが存在する。CPU対応の情報は、CPU使用率等である。
図9は選択部21のフローチャートである。選択部21は、取得部22を経由して、管理マシン20に接続されている全サーバ30からサーバ情報A0とAP情報B0を受信する(S1)。
選択部21は、第n番目(最初は第1番目)のサーバ30のサーバ情報A0と閾値表70との比較を行い、閾値72を越えている資源の実資源名71を取得する(S2)。例えば、同部は、サーバ情報A0に格納されている空きメモリ量と実装メモリ量からメモリ使用率を算出して、この算出値が閾値72のメモリ使用量を越えているかを判断する。越えていれば、同部は、実資源名71として「メモリ」を取得する。更に同部は、サーバ情報A0に格納されているディスク35のa番のIO発行数がディスク35のa番の閾値72のIO発行数を越えているかを判断する。越えていれば、同部は、実資源名71として「ディスク35のa番」を取得する。同部は、他の資源についても同様な処理を行う。
同部は、閾値72を越えている実資源名71取得した場合(S3でY)、その実資源名71が個別のディスク35のものであると(S4でY)、ディスク名91を仮想ディスク名92に変換する(SC)。即ち、同部は、実資源名71を仮想資源名62に変換するのである。個別のディスク35の負荷を調整するためには、どの仮想ディスク55の負荷を調整すればいいかを、選択部21が把握するためである。同部は、この変換に於いて、第n番目のサーバ30のサーバID83とディスク名91をキーとしてディスク構成表90を検索して仮想ディスク名92を得る。
実資源名71が個別のディスク35のものでないとき(S4でN)、実資源名71と仮想資源名62は同じである為、この変換は不要である。同部は、実資源名71をそのまま仮想資源名62として使用する。
選択部21は、取得した仮想資源名62をキーに論理表60を検索して、当該仮想資源名62に対応するアルゴリズム66をすべて取得する(S5)。
同部は、属性63を確認して、当該アルゴリズム66の実行が適切かを判断する(S6)。具体的には、同部は、フラグ64が「有効」を示し、かつ、時計23が示す現時刻が適用時刻65の範囲内である場合に、実行が適切と判断する。そうでなければ、同部は、実行が適切でないと判断する。
実行が適切であると判断した(S6でY)場合、選択部21は、シーケンス番号を生成して選択番号81として再配置表80に設定し、さらに、論理表60から得た当該アルゴリズム66のアルゴリズムID61を再配置表80に格納する(S7)。
同部は、当該アルゴリズム66を実行して、その選択結果を再配置表80に格納する(S8)。図10は、アルゴリズム66の実行フローチャート例である。なお、ステップS6で、実行が適切である(S6でY)と判断されたアルゴリズム66が複数ある場合は、選択部21は、アルゴリズム66ごとにステップS7、S8を繰り返す。例えば、同部が、図3の論理表60例において、仮想資源名62「メモリ」のアルゴリズム66をすべて(アルゴリズムID61が1乃至4)を実行が適切と判断した場合が該当する。
実行が適切でないと判断した(S6でN)場合、選択部21は、ステップS7、S8を実行しない。
閾値72を越えている実資源名71のすべてについてステップS4乃至S8の実行を終えるまで(S9でN)、選択部21は、ステップS4からの処理を繰り返す。閾値72を越えている実資源名71がない場合(S3でN)、あるいは、閾値72を越えている実資源名71のすべてについてステップS4乃至S8の実行を終えた(S9でY)場合、選択部21は、全サーバ30について処理を終えたかを判断する(SA)。
終えていなければ(SAでN)、同部は、次のサーバ30のデータを取得(nをインクリメント)して(SB)、ステップS2から実行する。
終えていれば(SAでY)、選択部21は、再配置表80に蓄積された、実行アルゴリズム66の選択結果の一覧を、端末11に出力する(SD)。同部は、当該表示を参照した管理者が入力した一つまたは複数の選択番号81を端末11から受信し(SE)、当該選択番号81の選択結果に基づく、VM50の再配置を行う(SF)。
再配置は、例えば以下のような手順で行われる。選択部21が、再配置表80の移動対象82欄のサーバID83のサーバ30(例えば第1のサーバ31)に、移動対象82欄のVMID84(例えば第1のVM51の識別子)と異動先85欄のサーバID83(例えば第2のサーバ32の識別子)を送信する。これを受信した第1のサーバ31は、第1のVM51の構成や実行状態の情報を第2のサーバ32に送信すると共に、第1のサーバ31内から消去する。第2のサーバ32は、第1のVM51の構成や実行状態の情報を第1のサーバ31から受信して、これを第2のサーバ32内に記憶すると共に実行対象として管理する。以上で、選択部21は、第1のVM51を第1のサーバ31から第2のサーバ32へ再配置したことになる。再配置の手順はこれに限られない。例えば、選択部21が、第1のVM51の構成や実行状態の情報を第1のサーバ31から受信して、これを第2のサーバ32に送信するようにしても良い。
図10は、アルゴリズム66の実行フローチャート例である。ここでは、「使用メモリ量が最大のVM50を、空きメモリ量が最大のサーバ30に再配置せよ」というアルゴリズム66を例として取り上げる。他のアルゴリズム66についても、実行フローチャートは同様である。
選択部21は、第n番目のサーバ30のサーバ情報A0のサーバID83を取り出して、再配置表80の移動対象82欄のサーバID83に格納する(S11)。同部は、AP情報B0の各VM50対応のエントリを走査して、使用メモリ量の値が最大のエントリを特定する。同部は、当該エントリのVMID84を再配置表80の移動対象82欄のVMID84に格納する(S12)。
選択部21は、全サーバ30(第n番目のサーバ30を除く)のサーバ情報A0を走査して、空きメモリ量が最大のサーバ情報A0を特定する(S13)。同部は、特定したサーバ情報A0の空きメモリ量から、特定したAP情報B0エントリのVM50の使用メモリ量を差し引いて、再配置後の空きメモリ量を見積もる。更に、同部は、特定したサーバ情報A0の実装メモリ量を参照して再配置後のメモリ使用率を見積もる(S14)。
再配置後のメモリ使用率が閾値表70の閾値72以下であれば(S15でY)、選択部21は、特定したサーバ情報A0からサーバID83を取り出して、再配置表80の移動先85欄のサーバID83に格納する(S16)。
再配置後のメモリ使用率が閾値表70の閾値72を超過すれば(S15でN)、選択部21は、再配置表80の移動先85欄のサーバID83にNull値を格納する(S17)。これは、選択部21が、当該アルゴリズム66の実行によって、適切な選択結果を生成できなかったことを意味する。
なお、上記の説明で、アルゴリズム66は、サーバ情報A0やAP情報B0として資源の使用状況を考慮していたが、アルゴリズム66はこれに限られない。アルゴリズム66は、実装メモリ量、CPU性能値、接続ディスクの台数などのサーバ30やVM50の構成情報を参照するようにしても良い。また、アルゴリズム66は、優先度B1のような、資源の割り当て基準値を参照しても良い。
また、選択部21は、図9のフローにおいて実行するアルゴリズム66の最大数を制限しても良い。
さらに、アプリケーション40はVM50に限られない。アプリケーション40は、一般のバッチジョブやオンラインジョブでも構わない。この場合、アプリケーション40は、仮想ディスク55に代えて、ファイルをディスク35上に備えても良い。
本実施形態の管理システム10は、種々の性能要因を考慮して、アプリケーション40の再配置を適切に行うことができる。管理システム10が、複数のアルゴリズム66の各々の再配置案(再配置候補となるアプリケーション40の選択結果)を端末11に表示して、管理者に実行案を選択させるからである。また、アルゴリズム66が、複数の資源の各々に対応して、複数の測定値ごとに存在することが可能だからである。さらに、管理システム10が、アルゴリズム66の属性63を判断して実行を制御するからである。
次に、本発明の第2実施形態について説明する。
図11は、第2実施形態の選択部21のフローチャートである。本図のステップS31乃至S3Cは図9のS1乃至SCと同じである。
本実施形態の選択部21は、全サーバ30についてアルゴリズム66の実行を終えると(S3AでY)、再配置表80を走査して、選択結果が一致するアルゴリズム66がいくつあるかを選択結果ごとにカウントする(S3D)。同部は、当該カウント値が最大値となる選択結果に基づいて再配置を実行する(S3E)。本実施形態は、他の点では第1実施形態と同じである。
本実施形態の管理システム10は、管理者の介入を不要にして、種々の性能要因を考慮して、アプリケーション40の再配置を適切に行うことができる。選択部21が、複数のアルゴリズム66による選択結果から、多数決論理により適切な選択結果を選択して、再配置を実行するからである。
次に、本発明の第3実施形態について説明する。
本実施形態の論理表60は、各アルゴリズム66対応に「重み」を記憶する。本実施形態の選択部21のフローチャートは、図11とほぼ同様である。但し、選択部21は、再配置表80を走査して、選択結果が一致するアルゴリズム66の数をカウントする(S3D)代わりに、アルゴリズム66の重みを加算する。そして、同部は、当該カウント値が最大値となる選択結果に基づいて再配置を実行する(S3E)代わりに、重み加算値が最大値となる選択結果に基づいて再配置を実行する。本実施形態は、他の点では第2実施形態と同じである。
本実施形態の管理システム10は、管理者の介入を不要にしてアプリケーション40の再配置を適切に行ううえで、資源の軽重を考慮することが可能となる。これにより、競合の激しい資源の判断を重視した再配置を行うことが可能となる。例えば、管理システム10の構成やアプリケーション40の性質に起因して、メモリ資源の競合が激しいことが予想されるときには、メモリ関連のアルゴリズム66の「重み」を増してメモリの状況を重視した再配置をさせることが可能となる。各アルゴリズム66が「重み」を有するからである。
図12によれば、本発明の管理マシン20は、第1及び第2のアプリケーション41、42を配置された第1のサーバ31から、AP情報B0および第1のサーバ情報A0を取得する取得部22を備える。
さらに、管理マシン20は、AP情報B0、第1のサーバ情報A0および第1のアルゴリズム67の実行結果によって、第1または第2のアプリケーション41、42、および、第2のサーバ32を選択する第1の選択結果を得る選択部21を備える。選択部21は、AP情報B0、第1のサーバ情報A0及び第2のアルゴリズム68の実行結果によって、第2の選択結果も得て、選択結果の何れかに従って、第1または第2のアプリケーション41、42を第2のサーバ32に再配置する。
図1は、本発明の第1実施形態にかかる管理システム10の構成例を示す。 図2は、仮想ディスク55のディスク35への割り当ての一例を示している。 図3は論理表60の構成例を示す。 図4は閾値表70の構成例を示す。 図5は再配置表80の構成例を示す。 図6は上述の割り当て例に基づくディスク構成表90の例である。 図7はサーバ情報A0の構成例を示す。 図8はAP情報B0の構成例を示す。 図9は選択部21のフローチャートである。 図10は、アルゴリズム66の実行フローチャート例である。 図11は、第2実施形態の選択部21のフローチャートである。 図12は、管理マシン20の構成を示す。
符号の説明
10 管理システム
11 端末
20 管理マシン
21 選択部
22 取得部
23 時計
29 管理プログラム
30 サーバ
31 第1のサーバ
32 第2のサーバ
33 第3のサーバ
35 ディスク
36 モニタ
40 アプリケーション
41 第1のアプリケーション
42 第2のアプリケーション
50 VM
51 第1のVM
52 第2のVM
55 仮想ディスク
60 論理表
61 アルゴリズムID
62 仮想資源名
63 属性
64 フラグ
65 適用時刻
66 アルゴリズム
67 第1のアルゴリズム
68 第2のアルゴリズム
69 第3のアルゴリズム
70 閾値表
71 実資源名
72 閾値
80 再配置表
81 選択番号
82 移動対象
83 サーバID
84 VMID
85 移動先
90 ディスク構成表
91 ディスク名
92 仮想ディスク名
A0 サーバ情報
B0 AP情報
B1 優先度

Claims (12)

  1. サーバが備える複数種類の資源の各々対応に定義され、対応する前記資源の使用量若しくはその変動量(使用量等)に基づいて1つのアプリケーションおよび1つのサーバを選択する為のアルゴリズム、または、1つの前記資源の複数種類の使用量等の各々対応に定義され、対応する種類の使用量等に基づいて1つのアプリケーションおよび1つのサーバを選択する為のアルゴリズム、を複数格納する論理表と、
    第1及び第2のアプリケーションを配置された第1のサーバから、当該サーバに配置されたアプリケーション毎の前記資源の使用量等を含むAP情報および当該サーバの前記資源の使用量等を含む第1のサーバ情報を取得する取得部と、
    前記AP情報、前記第1のサーバ情報及び第1の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、第2のサーバを選択する第1の選択結果と、前記AP情報、前記第1のサーバ情報及び第2の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、前記第2サーバを選択する第2の選択結果と、前記AP情報、前記第1のサーバ情報及び第3の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、前記第2のサーバを選択する第3の選択結果を得て、前記第1、前記第2及び前記第3の選択結果の多数決に基づいて決定された前記選択結果に従って、前記第1または前記第2のアプリケーションを前記第2のサーバに再配置する選択部、を備える管理マシン。
  2. 前記アプリケーションが有する複数の資源の各々に対応して、前記アルゴリズムとその属性を格納する前記論理表を備え、
    前記第1のサーバ情報から決定される前記資源、および前記属性に基づいて、前記論理表から、前記AP情報を使用する前記第1及び前記第2のアルゴリズムを選択して実行する前記選択部を備える請求項1の管理マシン。
  3. 前記資源の1つに対応する、前記第1及び前記第2のアルゴリズムを選択して実行する前記選択部を備える、請求項2の管理マシン。
  4. 前記資源の1つ(第1の前記資源)に対応する前記第1のアルゴリズム及び、前記第1の前記資源以外の前記資源の1つに対応する前記第2のアルゴリズムを選択して実行する前記選択部を備える、請求項2または3の管理マシン。
  5. 前記第2のサーバ及び第3のサーバから第2及び第3のサーバ情報を取得する前記取得部と、
    前記第2及び前記第3のサーバ情報を使用する、前記第1及び前記第2のアルゴリズムを実行して、前記第1または前記第2のアプリケーション、及び、前記第2のサーバを選択する前記選択部、を備える請求項1乃至4の何れかの管理マシン。
  6. 請求項1乃至5の何れかの管理マシンおよび前記第1および第2の前記サーバから構成される管理システム。
  7. コンピュータに、サーバが備える複数種類の資源の各々対応に定義され、対応する前記資源の使用量若しくはその変動量(使用量等)に基づいて1つのアプリケーションおよび1つのサーバを選択する為のアルゴリズム、または、1つの前記資源の複数種類の使用量等の各々対応に定義され、対応する種類の使用量等に基づいて1つのアプリケーションおよび1つのサーバを選択する為のアルゴリズム、を論理表に複数格納する格納処理と、
    第1及び第2のアプリケーションを配置された第1のサーバから、当該サーバに配置されたアプリケーション毎の前記資源の使用量等を含むAP情報および当該サーバの前記資源の使用量等を含む第1のサーバ情報を取得する取得処理と、
    前記AP情報、前記第1のサーバ情報及び第1の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、第2のサーバを選択する第1の選択結果と、前記AP情報、前記第1のサーバ情報及び第2の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、前記第2のサーバを選択する第2の選択結果と、前記AP情報、前記第1のサーバ情報及び第3の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、前記第2のサーバを選択する第3の選択結果を得て、前記第1、前記第2及び前記第3の選択結果の多数決に基づいて決定された前記選択結果に従って、前記第1または前記第2のアプリケーションを前記第2のサーバに再配置する選択処理、を実行させる管理プログラム。
  8. 前記アプリケーションが有する複数の資源の各々に対応して、前記アルゴリズムとその属性を格納する前記論理表を備える前記コンピュータに、
    前記第1のサーバ情報から決定される前記資源、および前記属性に基づいて、前記論理表から、前記AP情報を使用する前記第1及び前記第2のアルゴリズムを選択して実行する前記選択処理を実行させる請求項7の管理プログラム。
  9. 前記コンピュータに、前記資源の1つに対応する、前記第1及び前記第2のアルゴリズムを選択して実行する前記選択処理を実行させる、請求項8の管理プログラム。
  10. 前記コンピュータに、前記資源の1つ(第1の前記資源)に対応する前記第1のアルゴリズム及び前記第1の前記資源以外の前記資源の1つに対応する前記第2のアルゴリズムを選択して実行する前記選択処理を実行させる、請求項8または9の管理プログラム。
  11. 前記コンピュータに、前記第2のサーバ及び第3のサーバから第2及び第3のサーバ情報を取得する前記取得処理と、
    前記第2及び前記第3のサーバ情報を使用する、前記第1及び前記第2のアルゴリズムを実行して、前記第1または前記第2のアプリケーション、及び、前記第2のサーバを選択する前記選択処理、を実行させる請求項7乃至10の何れかの管理プログラム。
  12. コンピュータが、
    サーバが備える複数種類の資源の各々対応に定義され、対応する前記資源の使用量若しくはその変動量(使用量等)に基づいて1つのアプリケーションおよび1つのサーバを選択する為のアルゴリズム、または、1つの前記資源の複数種類の使用量等の各々対応に定義され、対応する種類の使用量等に基づいて1つのアプリケーションおよび1つのサーバを選択する為のアルゴリズム、を論理表に複数格納する格納工程と、
    第1及び第2のアプリケーションを配置された第1のサーバから、当該サーバに配置されたアプリケーション毎の前記資源の使用量等を含むAP情報および当該サーバの前記資源の使用量等を含む第1のサーバ情報を取得する取得行程と、
    前記AP情報、前記第1のサーバ情報及び第1の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、第2のサーバを選択する第1の選択結果と、前記AP情報、前記第1のサーバ情報及び第2の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、前記第2のサーバを選択する第2の選択結果と、前記AP情報、前記第1のサーバ情報及び第3の前記アルゴリズムの実行結果によって、前記第1または前記第2のアプリケーション、および、前記第2のサーバを選択する第3の選択結果を得て、前記第1、前記第2及び前記第3の選択結果の多数決に基づいて決定された前記選択結果に従って、前記第1または前記第2のアプリケーションを前記第2のサーバに再配置する選択行程、を備える管理方法。
JP2008065858A 2008-03-14 2008-03-14 管理マシン、管理システム、管理プログラム、および、管理方法 Expired - Fee Related JP4577384B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008065858A JP4577384B2 (ja) 2008-03-14 2008-03-14 管理マシン、管理システム、管理プログラム、および、管理方法
US12/397,931 US8572621B2 (en) 2008-03-14 2009-03-04 Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008065858A JP4577384B2 (ja) 2008-03-14 2008-03-14 管理マシン、管理システム、管理プログラム、および、管理方法

Publications (2)

Publication Number Publication Date
JP2009223497A JP2009223497A (ja) 2009-10-01
JP4577384B2 true JP4577384B2 (ja) 2010-11-10

Family

ID=41064404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008065858A Expired - Fee Related JP4577384B2 (ja) 2008-03-14 2008-03-14 管理マシン、管理システム、管理プログラム、および、管理方法

Country Status (2)

Country Link
US (1) US8572621B2 (ja)
JP (1) JP4577384B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5541289B2 (ja) * 2009-10-09 2014-07-09 日本電気株式会社 仮想サーバシステム、その自律制御サーバ、そのデータ処理方法およびコンピュータプログラム
WO2011135637A1 (en) 2010-04-30 2011-11-03 Hitachi,Ltd. Computer system and control method thereof
JP2013178592A (ja) * 2010-05-06 2013-09-09 Hitachi Ltd 情報処理システムの運用管理装置および運用管理方法
TWI533146B (zh) * 2011-11-10 2016-05-11 財團法人資訊工業策進會 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
KR20130074401A (ko) * 2011-12-26 2013-07-04 삼성전자주식회사 계층적 스케줄러를 갖는 멀티코어 기반의 컴퓨팅 장치 및 계층적 스케줄 방법
JP6031462B2 (ja) * 2014-02-12 2016-11-24 日本電信電話株式会社 仮想マシン配置装置及び方法及びプログラム
US9830190B1 (en) * 2014-02-28 2017-11-28 Ca, Inc. Maintaining repository of virtual machine state information
JP6207463B2 (ja) * 2014-05-28 2017-10-04 Kddi株式会社 Itシステムにおけるサーバの性能の抽象化方法および資源管理方法
US9992304B2 (en) 2014-10-13 2018-06-05 At&T Intellectual Property I, L.P. Relocation of applications to optimize resource utilization
JP2015111434A (ja) * 2015-01-15 2015-06-18 株式会社日立製作所 計算機システム及びその制御方法
EP4168892B1 (en) * 2020-06-18 2024-05-15 Microsoft Technology Licensing, LLC Deployment of variants built from code
WO2022172385A1 (ja) * 2021-02-12 2022-08-18 日本電信電話株式会社 リソース割当更新装置、リソース割当更新方法、プログラム、及び仮想マシン/コンテナ制御システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006344068A (ja) * 2005-06-09 2006-12-21 Canon Inc 情報処理システム、及び該システムにおけるジョブの割り当て方法
JP2007133654A (ja) * 2005-11-10 2007-05-31 Internatl Business Mach Corp <Ibm> リソースのプロビジョニング方法
JP2007219963A (ja) * 2006-02-20 2007-08-30 Nec Engineering Ltd 情報配信サーバ装置
JP2007536657A (ja) * 2004-05-08 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシン・コンピュータ・プログラムの動的マイグレーション
JP2008024095A (ja) * 2006-07-19 2008-02-07 Toyota Infotechnology Center Co Ltd 車載システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3006551B2 (ja) * 1996-07-12 2000-02-07 日本電気株式会社 複数コンピュータ間の業務分散システム、業務分散方法および業務分散プログラムを記録した記録媒体
JPH1185547A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd 仮想クラスタ構成方法
US6615256B1 (en) 1999-11-29 2003-09-02 Microsoft Corporation Quorum resource arbiter within a storage network
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
JP3861087B2 (ja) 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
US7437730B2 (en) * 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
JP2006309691A (ja) * 2005-03-28 2006-11-09 Hitachi Ltd リソース割当管理装置およびリソース割当方法
US7941537B2 (en) * 2005-10-03 2011-05-10 Genband Us Llc System, method, and computer-readable medium for resource migration in a distributed telecommunication system
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US8024737B2 (en) * 2006-04-24 2011-09-20 Hewlett-Packard Development Company, L.P. Method and a system that enables the calculation of resource requirements for a composite application
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
JP5110315B2 (ja) * 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
US8255915B1 (en) * 2006-10-31 2012-08-28 Hewlett-Packard Development Company, L.P. Workload management for computer system with container hierarchy and workload-group policies
US9189265B2 (en) * 2006-12-21 2015-11-17 Vmware, Inc. Storage architecture for virtual machines
US8010654B2 (en) * 2006-12-21 2011-08-30 International Business Machines Corporation Method, system and program product for monitoring resources servicing a business transaction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536657A (ja) * 2004-05-08 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシン・コンピュータ・プログラムの動的マイグレーション
JP2006344068A (ja) * 2005-06-09 2006-12-21 Canon Inc 情報処理システム、及び該システムにおけるジョブの割り当て方法
JP2007133654A (ja) * 2005-11-10 2007-05-31 Internatl Business Mach Corp <Ibm> リソースのプロビジョニング方法
JP2007219963A (ja) * 2006-02-20 2007-08-30 Nec Engineering Ltd 情報配信サーバ装置
JP2008024095A (ja) * 2006-07-19 2008-02-07 Toyota Infotechnology Center Co Ltd 車載システム

Also Published As

Publication number Publication date
US20090235250A1 (en) 2009-09-17
JP2009223497A (ja) 2009-10-01
US8572621B2 (en) 2013-10-29

Similar Documents

Publication Publication Date Title
JP4577384B2 (ja) 管理マシン、管理システム、管理プログラム、および、管理方法
US8261266B2 (en) Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application
JP5400482B2 (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
US20150220370A1 (en) Job scheduling apparatus and method therefor
JP6083290B2 (ja) 分散処理システム
JP4636625B2 (ja) 仮想ネットワークシステムのnic接続制御方法と仮想ネットワークのnic接続制御システムおよびプログラム
JPWO2008102739A1 (ja) 仮想サーバシステム及び物理サーバ選択方法
JP4801761B2 (ja) データベース管理方法およびシステム並びにその処理プログラム
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
JP4957256B2 (ja) システム構成変更ルール生成システム、方法およびプログラム
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
JP2015022756A (ja) 資源割り当て方法及び資源割り当てシステム
US8973000B2 (en) Determining multiprogramming levels
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
JP2016110248A (ja) 仮想化実行装置、仮想化システム、および、リソース最適化方法
CN110231981B (zh) 服务调用方法及装置
JP5043166B2 (ja) 計算機システム、データ検索方法及びデータベース管理計算機
JP5655939B2 (ja) スケジューリング方法、およびスケジューリングシステム
JPH1027167A (ja) 並列計算機の負荷分散方法
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
JP2015146148A (ja) 仮想マシン管理装置、仮想マシン管理方法、及び、仮想マシン管理プログラム
JP6374059B2 (ja) コンピュータ資源配分決定方法、コンピュータ資源配分決定方法プログラムおよび制御用コンピュータ
JP2017182160A (ja) 監視制御プログラム,監視制御装置および監視制御方法
JP2016099972A (ja) プロセスマイグレーション方法及びクラスタシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100624

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees