JP6079476B2 - 分析支援プログラム、分析支援装置、および分析支援方法 - Google Patents

分析支援プログラム、分析支援装置、および分析支援方法 Download PDF

Info

Publication number
JP6079476B2
JP6079476B2 JP2013133722A JP2013133722A JP6079476B2 JP 6079476 B2 JP6079476 B2 JP 6079476B2 JP 2013133722 A JP2013133722 A JP 2013133722A JP 2013133722 A JP2013133722 A JP 2013133722A JP 6079476 B2 JP6079476 B2 JP 6079476B2
Authority
JP
Japan
Prior art keywords
virtual machine
physical machine
machine
change
configuration
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
JP2013133722A
Other languages
English (en)
Other versions
JP2015011362A (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.)
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 JP2013133722A priority Critical patent/JP6079476B2/ja
Priority to US14/293,277 priority patent/US10169059B2/en
Publication of JP2015011362A publication Critical patent/JP2015011362A/ja
Application granted granted Critical
Publication of JP6079476B2 publication Critical patent/JP6079476B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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
    • 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/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、分析支援プログラム、分析支援装置、および分析支援方法に関する。
従来、物理マシン上で動作する仮想マシンが使用したハードウェア資源の使用状況を分析する技術がある。分析結果の精度をある程度維持するには、分析対象となるデータとして、使用状況をある程度の期間以上測定したデータが要求される。物理マシン上で仮想マシンが追加されたり削除されたりすることにより、物理マシンの構成が変更される。
関連する先行技術として、たとえば、新規に構築される情報処理システムの構成に類似した情報処理システムに該当する情報処理装置の性能データを選択し、性能データに基づいて性能測定の対象となる情報処理システムの性能測定を行う技術がある。また、入力項目として入力されるパラメータと、システムモデルDB(DataBase)内のモデルパターン、システム特性、機能特性および応答時間予測モデル情報に従い、Webシステムの性能を予測する技術がある。さらに、コンピュータ・システムに含まれる複数のサーバの各々のCPU(Central Processing Unit)使用率とコンピュータ・システムのユーザによるリクエスト頻度とを用いて、各サーバにおける平均遅延時間を推定する技術がある。さらに、仮想マシンの構成情報、リソースの稼働実績情報、およびリソースの不稼働情報に基づいて仮想マシンのリソースの適正値を算出し、算出したリソースの適正値に基づいて仮想マシンのマイグレーション指令をする技術がある。さらに、コンピュータ・システムを構成する構成要素が変更した構成変更後のCPU使用率、I/O負荷情報等を定期的に取得する技術がある。さらに、仮想マシンへの資源割り当て情報の履歴を有する技術がある。(たとえば、下記特許文献1〜6を参照。)
特開2005−165673号公報 特開2004−46734号公報 国際公開第2006/46297号 特開2010−277208号公報 特開2003−67352号公報 国際公開第2008/132924号
しかしながら、従来技術によれば、分析精度をある程度維持するデータが測定されていない仮想マシンの動作傾向を、他の仮想マシンの測定データを基に分析する場合、どの仮想マシンの測定データを基に分析すればよいのか判断することが難しい。
1つの側面では、本発明は、分析対象の仮想マシンと動作傾向が類似する仮想マシンを探索する分析支援プログラム、分析支援装置、および分析支援方法を提供することを目的とする。
本発明の一側面によれば、分析対象となる第1の仮想マシンが動作する第1の物理マシン上で第1の仮想マシン以外の仮想マシンが変更された変更前後の第1の物理マシンの構成を特定する第1の構成情報に基づいて、第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の物理マシンの構成を特定する第2の構成情報を参照して、第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索し、第2の物理マシンが探索された場合、変更前の第1の物理マシン上で動作する第1の仮想マシンの動作情報に基づいて、変更前の第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の第2の物理マシン上で動作する仮想マシンのうち第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する分析支援プログラム、分析支援装置、および分析支援方法が提案される。
本発明の一態様によれば、分析対象の仮想マシンと動作傾向が類似する仮想マシンを探索することができるという効果を奏する。
図1は、本実施の形態にかかる分析支援方法の動作例を示す説明図である。 図2は、クラウドシステムの接続例を示す説明図である。 図3は、分析装置のハードウェア構成例を示すブロック図である。 図4は、分析装置の機能構成例を示すブロック図である。 図5は、物理マシン構成情報の記憶内容の一例を示す説明図である。 図6は、仮想マシン構成情報の記憶内容の一例を示す説明図である。 図7は、動作情報ログの記憶内容の一例を示す説明図である。 図8は、構成変更記録の記憶内容の一例を示す説明図である。 図9は、類似ケース一覧の生成例を示す説明図である。 図10は、類似ケース一覧から類似度一覧の作成例を示す説明図である。 図11は、類似度の算出例を示す説明図である。 図12は、物理マシンの類似度の算出例を示す説明図である。 図13は、仮想マシンの類似度の算出例を示す説明図である。 図14は、標準類似度の算出例を示す説明図である。 図15は、類似仮想マシンの選択例を示す説明図である。 図16は、推定値の算出例を示す説明図である。 図17は、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンで分析する例を示す説明図である。 図18は、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンで分析する例を示す説明図である。 図19は、分析処理手順の一例を示すフローチャートである。 図20は、推定実行有無判断処理手順の一例を示すフローチャートである。 図21は、類似仮想マシン探索処理手順の一例を示すフローチャートである。 図22は、類似度算出処理手順の一例を示すフローチャートである。 図23は、物理マシンの類似度算出処理手順の一例を示すフローチャートである。 図24は、動作傾向の類似度算出処理手順の一例を示すフローチャートである。 図25は、仮想マシンの類似度算出処理手順の一例を示すフローチャートである。 図26は、重要度算出処理手順の一例を示すフローチャートである。 図27は、標準類似度算出処理手順の一例を示すフローチャートである。 図28は、動作傾向の標準類似度算出処理手順の一例を示すフローチャートである。 図29は、類似仮想マシン選択処理手順の一例を示すフローチャートである。 図30は、推定動作情報作成処理手順の一例を示すフローチャートである。
以下に図面を参照して、開示の分析支援プログラム、分析支援装置、および分析支援方法の実施の形態を詳細に説明する。
図1は、本実施の形態にかかる分析支援方法の動作例を示す説明図である。分析支援方法を実行する分析支援装置101は、システム100内の仮想マシンの動作情報を分析する処理を支援するコンピュータである。システム100は、物理マシンHostA〜HostZを含む。
物理マシンHostA〜HostZは、ハードウェア資源を用いて動作するコンピュータである。ハードウェア資源は、たとえば、CPU、メモリ、ディスク等である。物理マシンHostA〜HostZは、仮想マシンGuestA〜GuestDを動作させる。
仮想マシンGuestA〜GuestDは、物理マシンHostA〜HostZのいずれか上で動作する仮想的なコンピュータである。たとえば、仮想マシンGuestAと仮想マシンGuestBは、物理マシンHostA上で動作する仮想的なコンピュータである。仮想マシンGuestA〜GuestDの実体は、たとえば、プログラムやOSなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるために、仮想マシンに割り当てるハードウェア資源を指定する情報を含むものである。
仮想マシンで形成されるシステムを構築することにより、物理マシンで形成されるシステムよりも、ハードウェア資源を有効に活用することができる。システム100内の仮想マシンを分析する分析装置は、仮想マシンが使用したハードウェア資源の使用率を含む動作情報を用いて、仮想マシンの動作傾向を分析する。以下、分析の対象となる仮想マシンを、「分析対象仮想マシン」と呼称する。分析した結果を用いて、分析装置は、分析対象仮想マシンを移動した方がよいことを提案したり、物理マシンの増加を提案したりする。
ここで、仮想マシン、物理マシンの構成は、クラウド環境が増加することにより、仮想マシンの追加、移動、削除といった構成変化が頻繁に行われる環境に変化している。このような構成変化が起こると仮想マシンの動作情報の傾向も変化するため、変更前の仮想マシンの動作情報と変更後の仮想マシンの動作情報とを含めて分析すると、正しい分析結果が得られない可能性があり、分析精度が劣化する。一方、変更前の仮想マシンの動作情報を用いずに、変更後の仮想マシンの動作情報を用いて分析する場合、十分なデータ量が得られない可能性があり、分析精度が劣化する。
そこで、分析支援装置101は、分析対象仮想マシンが動作する物理マシンと変更前後の仮想マシンの構成が類似する他の物理マシン上の仮想マシンから変更前の動作情報が分析対象仮想マシンと類似する仮想マシンを探索する。これにより、分析支援装置101は、変更後の分析対象の動作傾向を表すであろう仮想マシンを検出する。
図1において、物理マシンHostAは、分析対象仮想マシンとなる仮想マシンGuestAと仮想マシンGuestBとを動作させており、構成変更により、仮想マシンGuestBが削除された状態である。仮想マシンGuestAは、仮想マシンに割り当てることが可能なCPU周波数のうち相対的に大きいCPU周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンGuestBは、仮想マシンに割り当てることが可能なCPU周波数のうち相対的に小さいCPU周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンの変更前後の物理マシンHostAの構成と、変更前後の物理マシンHostA上で動作する仮想マシンの構成と、を特定する情報は、第1の構成情報として、分析支援装置101がアクセス可能な記憶領域内にある。第1の構成情報の具体的な記憶内容の例については、図8で後述する。
また、物理マシンHostBは、仮想マシンGuestCと仮想マシンGuestDとを動作させており、構成変更により、仮想マシンGuestDが削除された状態である。また、仮想マシンGuestCは、仮想マシンに割り当てることが可能なCPU周波数のうち相対的に大きいCPU周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンGuestDは、仮想マシンに割り当てることが可能なCPU周波数のうち相対的に小さいCPU周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンの変更前後の物理マシンHostBの構成と、変更前後の物理マシンHostB上で動作する仮想マシンの構成と、を特定する情報は、第2の構成情報として、分析支援装置101がアクセス可能な記憶領域内にある。第2の構成情報の具体的な記憶内容の例については、図8で後述する。
分析支援装置101は、第2の構成情報を参照して、第1の構成情報に基づいて、分析対象仮想マシンが動作する物理マシンHostAと変更前後の構成が類似する第2の物理マシンを探索する。図1の例では、分析支援装置101は、第2の物理マシンとして、物理マシンHostBを検出する。具体的に、分析支援装置101は、変更前の物理マシンの構成として、仮想マシンGuestAの構成および仮想マシンGuestCの構成と、仮想マシンGuestBの構成と仮想マシンGuestDの構成と、がそれぞれ類似すると判断する。また、分析支援装置101は、変更前の物理マシンの構成として、仮想マシンGuestAの構成および仮想マシンGuestCの構成がそれぞれ類似すると判断する。より具体的な類似の判断例については、図9で後述する。
物理マシンHostBが探索された場合、分析支援装置101は、変更前後の第2の物理マシン上で動作する仮想マシンのうち第1の仮想マシンと変更前の動作情報が類似する第2の仮想マシンとなる類似仮想マシンを探索する。具体的に、分析支援装置101は、変更前の仮想マシンGuestAの動作情報に基づいて、変更前の物理マシンHostB上で動作する仮想マシンの動作情報を参照して、類似仮想マシンを探索する。
図1の例では、分析支援装置101は、変更前後の物理マシンHostB上で動作するGuestCの動作情報111_GCのうちの変更前の動作情報と、仮想マシンGuestAの動作情報111_GAのうちの変更前の動作情報とが類似すると判断する。図1上では、動作情報111_GCのうちの変更前の動作情報の変化の傾向と、動作情報111_GAのうちの変更前の動作情報の変化の傾向が一致していることを示す。より具体的な類似の判断例は、図10〜図15で後述する。
(クラウドシステムの説明)
次に、図1に示したシステム100をクラウドシステムに適用した場合について説明する。クラウドシステムでは、分析支援装置101を、仮想マシンを分析する装置に適用している。
図2は、クラウドシステムの接続例を示す説明図である。クラウドシステム200は、管理者端末201と、構成管理サーバ202と、クラウド環境203と、分析装置204と、を有する。管理者端末201〜分析装置204は、ネットワーク210によりそれぞれ接続される。構成管理サーバ202は、物理マシン構成情報211と、仮想マシン構成情報212とを有する。クラウド環境203は、物理マシンHostA〜HostZを含む。分析装置204は、動作情報ログ221を有する。
管理者端末201は、クラウドシステム200を管理する管理者によって操作される装置である。具体的に、管理者端末201は、管理者の操作によってクラウドシステム200内の、分析対象となる分析対象仮想マシンの分析要求を発行し、分析結果を表示する。
構成管理サーバ202は、クラウドシステム200の物理マシンHostA〜HostZを管理する装置である。具体的に、構成管理サーバ202は、物理マシンHostA〜HostZに対して、仮想マシンとなる仮想マシンの追加、仮想マシンの削除、仮想マシンの移動を指示する。物理マシンHostA〜HostZへの指示後、構成管理サーバ202は、物理マシン構成情報211と、仮想マシン構成情報212とを更新する。物理マシン構成情報211の記憶内容の一例については、図5で後述する。仮想マシン構成情報212の記憶内容の一例については、図6で後述する。
クラウド環境203は、物理マシンHostA〜HostZを有する。物理マシンHostA〜HostZは、それぞれ、仮想マシンを実行する。クラウド環境203に含まれる物理マシンHostA〜HostZは、クラウドシステム200に接続する利用者端末からアクセスされる。仮想マシンは、定期的に、動作情報として、CPU使用率と、メモリ使用率と、ディスクビジー率と、トランザクション数と、を収集して、分析装置204に格納する。
分析装置204は、動作情報ログ221に基づいて、クラウドシステム200におけるある仮想マシンの動作情報の分析を行う装置である。動作情報ログ221の記憶内容の一例は、図7で後述する。動作情報ログ221に分析を行えるだけの情報がない場合、分析装置204は、物理マシンHostA〜HostZ上で実行される仮想マシンのうち、分析対象仮想マシンに類似する類似仮想マシンを探索する。類似仮想マシンを検出できた場合、分析装置204は、類似仮想マシンに対して性能の分析を行う。
(分析装置204のハードウェア)
図3は、分析装置のハードウェア構成例を示すブロック図である。図3では、分析装置204のハードウェア構成例を説明する。図3において、分析装置204は、CPU301と、ROM(Read−Only Memory)302と、RAM(Random Access Memory)303と、を含む。また、分析装置204は、ディスクドライブ304およびディスク305と、通信インターフェース306と、を含む。また、CPU301〜通信インターフェース306はバス307によってそれぞれ接続される。
CPU301は、分析装置204の全体の制御を司る演算処理装置である。ROM302は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ304には、たとえば、磁気ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ304が磁気ディスクドライブである場合、ディスク305には、磁気ディスクを採用することができる。また、ディスクドライブ304がソリッドステートドライブである場合、ディスク305には、半導体素子メモリを採用することができる。
通信インターフェース306は、ネットワーク210と内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース306は、通信回線を通じてネットワーク210を介して他の装置に接続される。通信インターフェース306には、たとえば、モデムやLANアダプタなどを採用することができる。
また、構成管理サーバ202、物理マシンHostA〜HostZも、分析装置204と同様のハードウェア構成を有する。管理者端末201は、CPU、ROM、RAM、ディスクドライブ、ディスク、キーボード、マウスを有する。
(分析装置204の機能構成)
次に、分析装置204の機能構成について説明する。図4は、分析装置の機能構成例を示すブロック図である。分析装置204は、判断部401と、第1探索部402と、第2探索部403と、出力部404と、算出部405と、更新部406と、を含む。制御部となる判断部401〜更新部406は、記憶装置に記憶されたプログラムをCPU301が実行することにより、判断部401〜更新部406の機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したROM302、RAM303、ディスク305などである。
また、分析装置204は、構成情報群410と、動作情報ログ221とにアクセス可能である。構成情報群410は、物理マシン構成情報211と、仮想マシン構成情報212と、構成変更記録222とを含む。
第1の構成情報は、分析対象となる第1の仮想マシンが動作する第1の物理マシン上で第1の仮想マシン以外の仮想マシンが変更された変更前後の第1の物理マシンの構成を特定する情報である。また、第1の構成情報は、第1の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを含んでもよい。第1の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別は、構成変更記録222に記録される。さらに、第1の構成情報は、変更前後の第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源の量と、第1の物理マシンが有するハードウェア資源の量とを含んでもよい。仮想マシンそれぞれが実行するソフトウェアの種別は、仮想マシン構成情報212に記憶される。
第2の構成情報は、第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の物理マシンの構成を特定する情報である。また、第2の構成情報は、物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを含んでもよい。第2の構成情報は、変更前後の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源と、物理マシンが有するハードウェア資源の量と含む。
第1の仮想マシンの動作情報は、第1の仮想マシンが単位時間当たりに使用した第1の物理マシンのハードウェア資源の使用率を含む。ハードウェア資源の使用率は、CPU使用率、メモリ使用率、ディスクビジー率等である。
第2の物理マシン上で動作する仮想マシンの動作情報は、第2の物理マシン上で動作する仮想マシンが単位時間当たりに使用した第2の物理マシンのハードウェア資源の使用率を含む。
判断部401は、変更後の第1の物理マシン上で動作する第1の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間以上であるか否かを判断する。所定の期間としては、たとえば、1日、1週間等である。なお、判断結果は、RAM303、ディスク305などの記憶領域に記憶される。
第1探索部402は、第1の構成情報に基づいて、第2の構成情報を参照して、第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索する。また、第1探索部402は、判断部401によって変更後の第1の物理マシン上で動作する第1の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満であると判断された場合に、第2の物理マシンを探索してもよい。
また、第1探索部402は、第1の構成情報に基づいて、第2の構成情報を参照して、第1の物理マシンと変更内容の種別が一致し、かつ、第1の物理マシン上で変更された仮想マシンの構成と変更後の第1の物理マシンの構成とが類似する物理マシンを探索する。探索結果を用いることにより、第1探索部402は、第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索してもよい。
また、第1探索部402は、第1の構成情報に基づいて、第2の構成情報を参照して、次に示す3つの条件を満たす物理マシンを探索することにより、第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索してもよい。第1の条件は、変更前後の第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致することである。第2の条件は、変更前後の第1の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似することである。第3の条件は、第1の物理マシンが有するハードウェア資源の量が類似することである。
また、第1探索部402は、第1の構成情報に基づいて、更新部406が更新した第2の構成情報を参照して、第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索してもよい。なお、第2の物理マシンを特定する情報は、RAM303、ディスク305などの記憶領域に記憶される。
第2探索部403は、第1探索部402によって第2の物理マシンが探索された場合、変更前の第1の仮想マシンの動作情報に基づいて、変更前の第2の物理マシン上で動作する仮想マシンの動作情報を参照して、類似仮想マシンを探索する。
また、第2探索部403は、変更前後の第2の物理マシン上で動作する仮想マシンのうち第1の仮想マシンと動作情報が類似し、かつ、変更後の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間以上である類似仮想マシンを探索してもよい。なお、類似仮想マシンを特定する情報は、RAM303、ディスク305などの記憶領域に記憶される。
出力部404は、第2探索部403によって類似仮想マシンが探索された場合、変更後の第2の物理マシン上で動作する類似仮想マシンの動作情報を出力する。出力結果は、分析装置204内の、分析処理を行うプログラムに通知されてもよいし、管理者端末201に送信されてもよい。
算出部405は、第2探索部403によって類似仮想マシンが探索された場合、変更前の第1の仮想マシンの動作情報に含まれる使用率および変更前の類似仮想マシンの動作情報に含まれる使用率の差分を算出する。そして、算出部405は、差分と、変更後の第2の物理マシン上で動作する類似仮想マシンの動作情報に含まれる使用率とに基づいて、変更後の第1の仮想マシンの動作情報に含まれる利用率を算出する。
たとえば、算出部405は、変更前の第1の仮想マシンの動作情報に含まれる使用率の平均値から、変更前の類似仮想マシンの動作情報に含まれる使用率の平均値を減じた差を算出する。そして、算出部405は、変更後の第2の物理マシン上で動作する類似仮想マシンの動作情報に含まれる使用率に差を加えることにより、変更後の第1の仮想マシンの動作情報に含まれる利用率を算出する。
また、算出部405は、変更前の類似仮想マシンの動作情報に含まれる使用率の平均値から、変更前の第1の仮想マシンの動作情報に含まれる使用率を減じた差を算出する。そして、算出部405は、変更後の第2の物理マシン上で動作する類似仮想マシンの動作情報に含まれる使用率から差を減じることにより、変更後の第1の仮想マシンの動作情報に含まれる利用率を算出してもよい。また、算出部405は、後述する図16による手順により変更後の第1の仮想マシンの動作情報に含まれる利用率を算出してもよい。なお、算出した使用率は、RAM303、ディスク305などの記憶領域に記憶される。
更新部406は、物理マシン上で動作する仮想マシンの変更に応じて、変更後の物理マシンの構成に基づいて、第2の構成情報を更新する。
図5は、物理マシン構成情報の記憶内容の一例を示す説明図である。図5に示す物理マシン構成情報211は、レコード501−1〜レコード501−3を記憶する。
物理マシン構成情報211は、物理マシンIDと、CPU動作周波数と、CPUコア数と、メモリ量と、ディスク容量と、という5つのフィールドを含む。物理マシンIDフィールドには、物理マシンを識別するIDが格納される。CPU動作周波数フィールドには、物理マシンが有するCPUの動作周波数が格納される。CPUコア数フィールドには、物理マシンが有するCPUの個数が格納される。メモリ量フィールドには、物理マシンが有するメモリ量が格納される。ディスク容量フィールドには、物理マシンが有するディスク容量が格納される。
たとえば、レコード501−1は、IDがHostAとなる物理マシンが、動作周波数が3.0[GHz]のCPUを8個有するとともに、16[GB]のメモリと1[TB]のディスクを有することを示す。以下、HostXは、物理マシンであるとする。Xは、数字またはアルファベットで形成される文字列である。
図6は、仮想マシン構成情報の記憶内容の一例を示す説明図である。図6に示す仮想マシン構成情報212は、レコード601−1〜レコード601−7を記憶する。
仮想マシン構成情報212は、仮想マシンIDと、CPU動作周波数と、CPUコア数と、メモリ量と、ディスク容量と、仮想マシンの役割と、いう6つのフィールドを含む。仮想マシンIDフィールドには、仮想マシンを識別するIDが格納される。CPU動作周波数フィールドには、仮想マシンが要求するCPUの動作周波数が格納される。CPUコア数フィールドには、仮想マシンが要求するCPUの個数が格納される。メモリ量フィールドには、仮想マシンが要求するメモリ量が格納される。ディスク容量フィールドには、仮想マシンが要求するディスク容量が格納される。
仮想マシンの役割フィールドには、仮想マシンが実行するソフトウェアの種別によって決まる役割が格納される。仮想マシンの役割フィールドには、たとえば、以下の3つの識別子が格納される。第1の識別子は、仮想マシンがデータベースサーバソフトウェアを実行することにより、仮想マシンがデータベースサーバとして使用されることを示す“DBサーバ”である。第2の識別子は、仮想マシンがWebサーバソフトウェアを実行することにより、仮想マシンがWebサーバとして使用されることを示す“Webサーバ”である。第3の識別子は、仮想マシンがサーバ用アプリケーションを実行することにより、仮想マシンがアプリケーションサーバとして使用されることを示す“APサーバ”である。
たとえば、レコード601−1は、IDがGuest0であり、DBサーバとして使用される仮想マシンが、動作周波数が1[GHz]となるCPUを1個要求するとともに、1[GB]のメモリと500[GB]のディスクを要求することを示す。以下、GuestXは、仮想マシンであるとする。Xは、数字またはアルファベットで形成される文字列である。
図7は、動作情報ログの記憶内容の一例を示す説明図である。図7に示す動作情報ログ221は、レコード701−1〜レコード701−4を記憶する。動作情報ログ221は、時刻と、マシンIDと、CPU使用率と、メモリ使用率と、ディスクビジー率と、トランザクション数と、いう6つのフィールドを含む。
時刻フィールドには、動作情報を記録した日時を示す値が格納される。マシンIDフィールドには、動作情報の対象となる物理マシンまたは仮想マシンのIDが格納される。CPU使用率フィールドには、動作情報の対象となるマシンが使用したCPUの使用率を測定した値が格納される。メモリ使用率フィールドには、動作情報の対象となるマシンが使用したメモリの使用率を測定した値が格納される。
動作情報の対象が仮想マシンである場合、CPU使用率フィールドに格納される値は、物理マシン構成情報211に記憶された物理マシンのCPUコア数に対して仮想マシンがCPUを使用した割合である。または、CPU使用率フィールドに格納される値は、仮想マシン構成情報212に記憶された仮想マシンのCPUコア数に対して仮想マシンがCPUを使用した割合でもよい。メモリ使用率についても同様である。
ディスクビジー率フィールドには、動作情報の対象となるマシンがディスクにアクセスすることにより発生したアクセス待ちの割合が格納される。トランザクション数フィールドには、クラウド環境203にアクセスする利用者端末によってアクセスされた回数が格納される。
たとえば、レコード701−1は、時刻“2012/11/10 0:00”において、Guest1が、CPU使用率が40[%]であり、メモリ使用率が30[%]であり、ディスクビジー率が40[%]であり、トランザクション数が10であることを示す。
図8は、構成変更記録の記憶内容の一例を示す説明図である。図8に示す構成変更記録222は、レコード801−1〜レコード801−7を記憶する。
構成変更記録222は、ケースIDと、物理マシンID1と、仮想マシンIDリスト1と、物理マシンID2と、仮想マシンIDリスト2と、変更仮想マシンIDと、変更内容と、日時と、いう8つのフィールドを含む。ケースIDフィールドには、仮想マシンの構成が変更された状態を1つのケースとして、各ケースを識別するIDが格納される。物理マシンID1フィールドには、仮想マシンの構成が変更された際の物理マシンのIDが格納される。仮想マシンIDリスト1フィールドには、仮想マシンの構成が変更された際の物理マシンID1フィールドに格納された物理マシン上で動作する仮想マシンのIDの一覧が格納される。なお、仮想マシンIDリスト1フィールドには、仮想マシンの構成が変更された際の変更の対象となる仮想マシンのIDは含まれない。
物理マシンID2フィールドには、仮想マシンの構成が変更された際の物理マシンが格納される。物理マシンID2フィールドは、変更内容の種別が“移動”である場合に情報が格納される。仮想マシンIDリスト2フィールドには、仮想マシンの構成が変更された際の物理マシンID2フィールドに格納された物理マシン上で動作する仮想マシンのIDの一覧が格納される。なお、仮想マシンIDリスト2フィールドには、仮想マシンの構成が変更された際の変更の対象となる仮想マシンのIDは含まれない。
変更仮想マシンIDフィールドには、仮想マシンの構成が変更された際の変更の対象となる仮想マシンのIDが格納される。変更内容フィールドには、変更内容の種別が格納される。変更内容の種別として、仮想マシンが削除されたことを示す“削除”と、仮想マシンが追加されたことを示す“追加”と、仮想マシンがある物理マシンから他の物理マシンに移動されたことを示す“移動”と、がある。日時フィールドには、仮想マシンの構成が変更された時点の日時が格納される。
たとえば、レコード801−1は、HostA上でGuest0とGuest1とGuest2とが動作する状態において、2012/9/10 20:00に、Guest0が削除されたことを示す。また、レコード801−2は、HostA上でGuest1とGuest2とが動作する状態において、2012/10/10 15:00に、Guest3が追加されたことを示す。また、レコード801−5は、HostC上でGuest7とGuest9とが動作する状態において、2012/10/15 23:00に、Guest8が動作するHostDにGuest9が移動したことを示す。
なお、クラウド環境203内において、仮想マシンの構成変更は頻繁に発生するため、全ての仮想マシンの構成変更を記憶するとなると、構成変更記録222が記憶する記憶量が膨大となる。そこで、構成変更記録222は、各物理マシンの構成変更について、直近の10件ずつを記憶する等、限られたレコード数を記憶してもよい。新しい構成変更を記憶する理由として、クラウド環境203全体の環境変化が与える各仮想マシンの性能情報への影響を最小にするためである。クラウド環境203全体の環境変化として、たとえば、物理マシンの追加、物理マシンの削除、クラウド環境203内のネットワーク等の変更、経済活動の節目や利用者の推移によって変化する仮想マシンの稼働率等がある。
分析対象仮想マシンがGuestZ1である場合、前述した第1の構成情報は、レコード801−7と、レコード501−3と、レコード601−5〜レコード601−7となる。また、第2の物理マシンがHostAである場合、前述した第2の構成情報は、レコード801−2と、レコード501−1と、レコード601−2〜レコード601−4となる。
次に、図9〜図15を用いて、図5〜図8で説明した記憶内容から、類似仮想マシンを探索する手順について説明する。図9〜図15では、分析対象となる仮想マシンが、GuestZ1であるとして、説明を行う。
図9は、類似ケース一覧の生成例を示す説明図である。分析装置204は、構成変更記録222を参照して、次に示す情報が一致するケースを探索する。次に示す情報は、以下の(情報1)〜(情報6)である。
(情報1):物理マシンID1フィールドに格納された物理マシンの構成情報
(情報2):仮想マシンIDリスト1フィールドに格納された各仮想マシンの構成情報
(情報3):物理マシンID2フィールドに格納された物理マシンの構成情報
(情報4):仮想マシンIDリスト2フィールドに格納された各仮想マシンの構成情報
(情報5):変更仮想マシンIDフィールドに格納された仮想マシンの構成情報
(情報6):変更内容フィールドに格納された変更内容の種別
(情報1)について、クラウド環境203内の物理マシンの構成は、似たような構成となり易く、一般的には、高性能な構成と、中程度の性能となる構成と、低性能な構成と、いう3種類に大別され、一致する物理マシンが存在する可能性が高い。また、(情報1)〜(情報5)について、分析装置204は、完全一致でなく、たとえば、ハードウェア資源の量が一定の差以内であれば、一致すると判断してもよい。
たとえば、分析装置204は、比較元ケースとなるレコード801−7を参照して、GuestZ1がHostZに含まれることを特定する。そして、分析装置204は、レコード801−7の上述した6つのフィールドに格納された情報について、構成変更記録222のレコードのうち、上述した6つのフィールドに格納された情報が一致するレコードがあるかを探索する。
図9の例では、分析装置204は、レコード801−2におけるCase2と、レコード801−4におけるCase3とについて、(情報1)〜(情報6)が一致すると判断する。以下、レコード801−7とレコード801−2とについて、(情報1)〜(情報6)が一致すると判断する例を示す。
(情報1)について、分析装置204は、物理マシン構成情報を参照して、物理マシンID1フィールドに格納されたHostAの構成情報と、HostZの構成情報が同一であると判断する。同様に、(情報2)について、分析装置204は、仮想マシン構成情報を参照して、Guest1の構成情報とGuestZ1の構成情報とが同一であり、Guest2の構成情報とGuestZ2の構成情報とが同一であると判断する。(情報3)と(情報4)について、分析装置204は、レコード801−2およびレコード801−7それぞれについて、物理マシンID2フィールドと仮想マシンIDリスト2フィールドとに値が入っていないため、同一であると判断する。(情報5)について、分析装置204は、仮想マシン構成情報を参照して、Guest3の構成情報と、GuestZ3の構成情報とが同一であると判断する。(情報6)について、分析装置204は、レコード801−2の変更内容が“追加”であり、レコード801−7の変更内容が“追加”であるため、同一であると判断する。
(情報1)〜(情報6)が一致する場合、分析装置204は、探索して、一致するケースのケースIDを類似ケース一覧901に登録する。図9の例では、分析装置204は、レコード901−1に、“Case2”を格納し、レコード901−2に、“Case3”を格納する。
以下、比較元ケースの物理マシンID1フィールドまたは物理マシンID2フィールドにより特定される物理マシンを、「比較元物理マシン」と呼称する場合がある。さらに、比較元ケースの仮想マシンIDリスト1フィールドまたは仮想マシンIDリスト2フィールドにより特定される仮想マシンを、「比較元仮想マシン」と呼称する場合がある。また、(情報1)〜(情報6)が一致したケースを、「比較先候補ケース」と呼称する場合がある。さらに、比較先候補ケースの物理マシンID1フィールドまたは物理マシンID2フィールドにより特定される物理マシンを、「比較先候補物理マシン」と呼称する場合がある。さらに、比較先候補ケースの仮想マシンIDリスト1フィールドまたは仮想マシンIDリスト2フィールドにより特定される仮想マシンを、「比較先候補仮想マシン」と呼称する場合がある。
図10は、類似ケース一覧から類似度一覧の作成例を示す説明図である。分析装置204は、類似ケース一覧901と、物理マシン構成情報と、仮想マシン構成情報とを参照して、類似度一覧1001を作成する。
図10に示す類似度一覧1001は、候補Noと、ケースIDと、物理マシンID1と、仮想マシンID1と、仮想マシンID2と、類似度と、いう6つのフィールドを含む。ここで、仮想マシンIDフィールドの個数は、比較元ケースとなるケースIDの仮想マシンIDリスト1フィールドに格納された仮想マシンの個数に依存する。図10の例では、比較元ケースとなるケースIDが“CaseZ”であり、仮想マシンIDリスト1フィールドに格納された仮想マシンの個数が2個であるため、仮想マシンID1フィールドと、仮想マシンID2フィールドとを有する。また、物理マシンIDフィールドと仮想マシンIDフィールドの個数は、比較元となるケースIDの変更内容の種別にも依存する。
具体的に、比較元ケースとなるケースIDの変更内容の種別が“追加”、または“削除”であれば、物理マシンIDフィールドの個数は1個であり、仮想マシンIDフィールドの個数は仮想マシンIDリスト1フィールドに格納された仮想マシンの個数となる。一方、比較元となるケースIDの変更内容の種別が“移動”であれば、物理マシンIDフィールドの個数は2個である。そして、仮想マシンIDフィールドの個数は仮想マシンIDリスト1フィールドと仮想マシンIDリスト2フィールドとに格納された仮想マシンの個数の合計となる。
候補Noフィールドには、類似度一覧1001のレコードを識別するIDが格納される。ケースIDフィールドには、先頭のレコードでは、比較元となるケースIDが格納され、2番目以降のレコードでは、比較先候補となるケースIDが格納される。物理マシンID1フィールドには、ケースIDに対応する物理マシンのIDが格納される。仮想マシンID1フィールドには、ケースIDに対応する仮想マシンIDリストのうちの1番目の仮想マシンIDが格納される。仮想マシンID2フィールドには、ケースIDに対応する仮想マシンIDリストのうちの2番目の仮想マシンIDが格納される。類似度フィールドには、先頭のレコードでは、標準類似度が格納され、2番目以降のレコードでは、類似度が格納される。類似度については、図11で後述する。標準類似度については、図14で後述する。
まず、分析装置204は、“CaseZ”を候補No0として、レコード1001−1に格納する。レコード1001−1の内容として、分析装置204は、物理マシンID1フィールドに“HostZ”を格納し、仮想マシンID1フィールドに“GuestZ1”を格納し、仮想マシンID2フィールドに“GuestZ2”を格納する。
次に、分析装置204は、候補No1から順に、仮想マシンの役割が同じ仮想マシン同士を関連付ける。“CaseZ”の仮想マシンID1フィールドと仮想マシンID2フィールドに格納されたGuestZ1とGuestZ2との役割は、仮想マシン構成情報212によると、ともにWebサーバである。また、“Case2”の仮想マシンID1フィールドと仮想マシンID2フィールドに格納されたGuest1とGuest2との役割は、仮想マシン構成情報212によると、ともにWebサーバである。
したがって、以下に示す2つの関連付け方が存在する。第1の関連付け方は、図10の(A)で示すように、GuestZ1とGuest1とを関連付けるとともに、GuestZ2とGuest2とを関連付けることである。第2の関連付け方は、図10の(B)で示すように、GuestZ1とGuest2とを関連付けるとともに、GuestZ2とGuest1とを関連付けることである。分析装置204は、第1の関連付け方を、レコード1001−2で示す候補No1として類似度一覧1001に登録するとともに、第2の関連付け方を、レコード1001−3で示す候補No2として類似度一覧1001に登録する。
同様に、分析装置204は、Case3について、GuestZ1とGuest4とを関連付けるとともに、GuestZ2とGuest5とを関連付けたものをレコード1001−4で示す候補No3として類似度一覧1001に登録する。また、分析装置204は、Case3について、GuestZ1とGuest5とを関連付けるとともに、GuestZ2とGuest4とを関連付けたものをレコード1001−5で示す候補No4として類似度一覧1001に登録する。
図11は、類似度の算出例を示す説明図である。分析装置204は、類似度一覧1001のレコード1001−2〜レコード1001−5に対して、類似度を算出する。分析装置204は、下記(1)式を用いて類似度を算出する。
類似度=物理マシンの類似度(比較元物理マシン,比較先候補物理マシン)+Σ仮想マシンの類似度(比較元仮想マシンn,比較先候補仮想マシンn) …(1)
物理マシンの類似度は、図12で後述する。仮想マシンの類似度は、図13で後述する。nは、1から類似度一覧1001の仮想マシンIDフィールドの個数までの整数である。レコード1001−2を例にすると、分析装置204は、候補No1の類似度を、(1)式を用いて以下のように算出する。
候補No1の類似度=物理マシンの類似度(HostZ,HostA)+仮想マシンの類似度(GuestZ1,Guest1)+仮想マシンの類似度(GuestZ2,Guest2)
分析装置204は、算出した候補No1の類似度を、レコード1001−2の類似度フィールドに格納する。
図12は、物理マシンの類似度の算出例を示す説明図である。分析装置204は、下記(2)式を用いて、物理マシンの類似度を算出する。
物理マシンの類似度(比較元物理マシン,比較先候補物理マシン)=CPU使用率に対する動作傾向の類似度+メモリ使用率に対する動作傾向の類似度+ディスクビジー率に対する動作傾向の類似度 …(2)
動作傾向の類似度は、物理マシンが単位時間あたりに使用した物理マシンの資源の使用量について、比較元の物理マシンと比較先候補の物理マシンとで類似する度合を示す。動作傾向の類似度は、値が大きいほど類似することを示す。単位時間は、たとえば、1時間でもよいし、1日でもよい。また、日曜日から土曜日の1週間における各1時間での資源の使用率を比較元の物理マシンと比較先候補の物理マシンとで比較してもよい。日曜日から土曜日の1週間における各1時間での資源の使用率を比較する理由として、一般的に、業務内容は、1週間を単位として、平日と休日とで異なるためである。たとえば、あるデータベースサーバは、平日では、利用者端末からアクセスに対する処理を行うとともに、休日では、ストアドプロシージャによる週次処理を行う。
本実施の形態では、分析可能期間Tを1週間とする。そして、仮想マシンの構成が1週間以上継続した場合に、分析装置204は、動作傾向の類似度について、日曜日から土曜日の1週間における各1時間での使用量を比較元の物理マシンと比較先候補の物理マシンとで比較するものとする。仮想マシンの構成が1週間以内である場合、分析装置204は、動作傾向の類似度を算出せず、比較先候補の物理マシンを候補から外す。
以下、CPU使用率に対する動作傾向の類似度について、具体的な算出例を示す。メモリ使用率に対する動作傾向の類似度+ディスクビジー率に対する動作傾向の類似度については、CPU使用率に対する動作傾向の類似度と同一であるため、説明を省略する。
分析装置204は、仮想マシンの構成が1週間以上継続した場合に、図12のグラフ1200が示すように、比較元の物理マシンと比較先候補の物理マシンとで、日曜日から土曜日の1週間における各1時間でのCPUを比較する。グラフ1200は、比較元物理マシンのCPU使用率と時刻との関係と、比較先候補物理マシンのCPU使用率と時刻との関係と、を示す。
図12の例では、比較元の物理マシンを、サーバAとし、比較先候補の物理マシンを、サーバBとする。分析装置204は、動作情報ログ221から、サーバA、サーバBのそれぞれについて、単位時間当たりとして1時間当たりのCPU使用率を抽出する。抽出した結果は、表1201となる。表1201は、レコード1201−1〜レコード1201−6を有する。たとえば、レコード1201−1は、01:00において、サーバAのCPU使用率が10[%]であり、サーバBのCPU使用率が20[%]であることを示す。
そして、分析装置204は、1時間当たりのCPU使用率から、1時間当たりのCPU使用率の変化量を作成する。作成した結果は、表1202となる。表1202は、レコード1202−1〜レコード1202−5を有する。たとえば、レコード1201−1は、01:00から02:00までの時間帯において、サーバAのCPU使用率の変化量が10[%]であり、サーバBのCPU使用率の変化量が20[%]であることを示す。
続けて、分析装置204は、下記(3)式を用いて、動作傾向の類似度を算出する。
動作傾向の類似度=1/√Σ((各時間帯における比較元物理マシンの変化量−各時間帯における比較先候補物理マシンの変化量)^2) …(3)
(3)式は、時間帯に対する変化量を示すグラフにおいて、時間帯に対する比較元物理マシンの変化量を示す点と、時間帯に対する比較先候補の物理マシンの変化量を示す点の距離を分母とする式である。図12の例では、分析装置204は、(3)式を用いて、CPU使用率に対する動作傾向の類似度を以下のように算出する。
CPU使用率に対する動作傾向の類似度=1/√((10−20)^2+(20−20)^2+(40−20)^2+(−30−20)^2+(−30−0)^2+(−20−(−20))^2)=0.16
図13は、仮想マシンの類似度の算出例を示す説明図である。分析装置204は、下記(4)式を用いて、仮想マシンの類似度を算出する。
仮想マシンの類似度(比較元仮想マシン,比較先候補仮想マシン)=CPU重要度*CPU使用率に対する動作傾向の類似度+メモリ重要度*メモリ使用率に対する動作傾向の類似度+ディスク重要度*ディスクビジー率に対する動作傾向の類似度 …(4)
CPU使用率に対する動作傾向の類似度と、メモリ使用率に対する動作傾向の類似度と、ディスクビジー率に対する動作傾向の類似度との算出手順は、図12で説明した、物理マシンにおける、動作傾向の類似度の算出手順と同一であるため、説明を省略する。
CPU重要度と、メモリ重要度と、ディスク重要度とは、CPU、メモリ、ディスクのそれぞれが業務にどれだけ影響あるかという度合を示す。以下、CPU重要度と、メモリ重要度と、ディスク重要度とをまとめて、単に、「重要度」と呼称する。重要度を考慮することにより、業務に依存した動作傾向を評価することができる。
グラフ1301は、比較元仮想マシンと、比較先候補仮想マシン1と、比較先候補仮想マシン2とについて、時刻とCPU使用率との関係を示したグラフである。また、グラフ1302は、比較元仮想マシンと、比較先候補仮想マシン1と、比較先候補仮想マシン2とについて、時刻とメモリ使用率との関係を示したグラフである。さらに、グラフ1303は、比較元仮想マシンと、比較先候補仮想マシン1と、比較先候補仮想マシン2とについて、時刻とディスクビジー率との関係を示したグラフである。
グラフ1301の横軸と、グラフ1302の横軸と、グラフ1303の横軸とは、時刻を示す。グラフ1301の縦軸は、CPU使用率を示す。グラフ1302の縦軸は、メモリ使用率を示す。グラフ1303の縦軸は、ディスクビジー率を示す。また、グラフ1301と、グラフ1302と、グラフ1303とにおいて、実線が比較元仮想マシンを示し、点線が比較先候補仮想マシン1を示し、一点鎖線が比較先候補仮想マシン2を示す。
グラフ1301は、比較元仮想マシンのCPU使用率の時刻当たりの傾向は、比較先候補仮想マシン1のCPU使用率の時刻当たりの変動と類似しており、比較先候補仮想マシン2のCPU使用率の時刻当たりの変動と類似していないことを示す。一方、メモリ使用率とディスクビジー率とが業務に依存して傾向が変化しないため、グラフ1302とグラフ1303とが、各仮想マシンともに似たような傾向になることを示す。
グラフ1301〜グラフ1303から、CPU使用率と、メモリ使用率と、ディスクビジー率とのうち、業務に最も依存する動作情報は、CPU使用率となる。分析装置204は、下記(5)式を用いて、ハードウェア資源の重要度を算出する。
ハードウェア資源の重要度=トランザクション数とハードウェア資源の使用率との相関係数/Σ(トランザクション数と資源の使用率との相関係数) …(5)
ただし、相関係数の値が0未満で計算された場合、相関係数の値を0とする。たとえば、図13の例では、分析装置204は、以下のように、相関係数を算出する。
CPU使用率とトランザクション数との相関係数=0.9
メモリとトランザクション数との相関係数=0.8
ディスクとトランザクション数との相関係数=0
そして、分析装置204は、(5)式を用いて、それぞれの重要度を算出する。
CPU重要度:0.9/(0.9+0.8+0)=0.53
メモリ重要度:0.8/(0.9+0.8+0)=0.47
ディスク重要度:0/(0.9+0.8+0)=0
分析装置204は、重要度一覧1310に、各仮想マシンの重要度を格納する。図13に示す重要度一覧1310は、レコード1310−1と、レコード1310−2を記憶する。たとえば、レコード1301−1は、GuestZ1のCPU重要度が、0.53であり、メモリ重要度が0.47であり、ディスク重要度が0であることを示す。
図14は、標準類似度の算出例を示す説明図である。標準類似度は、類似判定する比較先候補仮想マシンの数が少ない場合に、類似度が低い仮想マシンが選択されないために用いる値である。具体的に、分析装置204は、類似度が標準類似度より大きい仮想マシンを選択する。分析装置204は、下記(6)式を用いて標準類似度を算出する。
標準類似度=物理マシンの標準類似度(比較元物理マシン)+Σ仮想マシンの標準類似度(比較元仮想マシンn) …(6)
nは、1から類似度一覧1001の仮想マシンIDフィールドの個数までの整数である。分析装置204は、下記(7)式を用いて物理マシンの標準類似度(比較元物理マシン)を算出する。
物理マシンの標準類似度(比較元物理マシン)=CPU使用率に対する動作傾向の標準類似度+メモリ使用率に対する動作傾向の標準類似度+ディスクビジー率に対する動作傾向の標準類似度 …(7)
また、分析装置204は、下記(8)式を用いて仮想マシンの標準類似度(比較元仮想マシン)を算出する。
仮想マシンの標準類似度(比較元仮想マシン)=CPU重要度*CPU使用率に対する動作傾向の標準類似度+メモリ重要度*メモリ使用率に対する動作傾向の標準類似度+ディスク重要度*ディスクビジー率に対する動作傾向の標準類似度 …(8)
CPU重要度と、メモリ重要度と、ディスク重要度との算出手順については、図13で示した重要度と同一であるため、説明を省略する。以下、動作傾向の標準類似度の算出手順について説明する。
分析装置204は、動作情報ログ221から、1週間ごとに各時間帯の変化量を算出する。図14では、CPU使用率に対する動作傾向の標準類似度を算出する例を示す。図14に示す表1401は、CPU使用率について、1週間ごとに各時間帯の変化量を示す。表1401は、レコード1401−1〜レコード1401−3を有する。分析装置204は、各時間帯の変化量について、それぞれ平均値と標準変化量とを算出する。ここで、標準変化量とは、平均値に標準偏差を加えた値である。
たとえば、レコード1401−1について、分析装置204は、1週目の00:00−01:00における変化量5[%]と、2週目の00:00−01:00における変化量10[%]と、…から、平均値は、6[%]と算出する。同様に、分析装置204は、1週目の00:00−01:00における変化量5[%]と、2週目の00:00−01:00における変化量10[%]と、…から標準偏差を求め、標準偏差と平均値との和から標準変化量7.5[%]を算出する。
続けて、分析装置204は、下記(9)式を用いて動作傾向の標準類似度を算出する。
動作傾向の標準類似度=1/√Σ((各時間帯における平均値−各時間帯における標準変化量)^2) …(9)
たとえば、図14の例では、分析装置204は、CPU使用率の動作傾向の標準類似度を(9)式を用いて以下のように算出する。
CPU使用率の動作傾向の標準類似度=1/√((6−7.5)^2+(13−16.3)^2+…+(23−28.6)^2+…)
図15は、類似仮想マシンの選択例を示す説明図である。分析装置204は、次に示す(条件1)、(条件2)をともに満たす候補先仮想マシンのうち、類似度が最も高い候補先仮想マシンを類似仮想マシンとして選択する。
(条件1)標準類似度<仮想マシンの類似度
(条件2)分析可能時間T≦構成変更後からの構成維持期間
構成維持期間とは、類似度を求めた仮想マシンについて再度構成が変更されるまでの期間である。構成が変わると動作傾向が変わるため、再度構成の変更があった場合、再度構成の変更後の動作情報を使用することができない。
分析装置204は、構成変更後からの構成維持期間を次の手順により算出する。初めに、分析装置204は、類似度を求めた仮想マシンのケースIDを取得する。次に、分析装置204は、取得したケースIDの変更内容の種別が“追加”または“削除”であれば物理マシンID1フィールドに格納された物理マシンを特定し、変更内容の種別が“移動”であれば物理マシンID2フィールドに格納された物理マシンを特定する。続けて、分析装置204は、特定した物理マシンにおいて、次に構成が変更されたケースを構成変更記録222から探索する。次に構成が変更されたケースが検出されれば、分析装置204は、検出されたケースと、類似度を求めたケースとの日時の差分を、構成変更後からの構成維持期間とする。一方、次に構成が変更されたケースが検出されなければ、分析装置204は、現在時刻と類似度を求めたケースとの日時の差分を、構成変更後からの構成維持期間とする。
類似度が同一の値となる候補先仮想マシンが複数あれば、分析装置204は、構成変更後からの構成維持期間がより長い候補先仮想マシンを選択してもよい。また、(条件1)と(条件2)とをともに満たす候補先仮想マシンがなければ、分析装置204は、類似仮想マシンを選択せずに終了する。
図15の例では、(条件1)について、分析装置204は、レコード1001−3とレコード1001−4について、類似度が標準類似度となる0.079以下であるため、Guest2とGuest4を候補先から除外する。そして、(条件2)について、分析装置204は、類似度が最も高い候補先仮想マシンとなるGuest5について、構成変更後からの構成維持期間を算出する。図15に示すグラフ1501が示す通り、Case3における構成変更後からの構成維持期間は、1週間以上であるため、分析装置204は、Guest5を類似仮想マシンとして選択する。
次に、本実施の形態における類似仮想マシンの動作情報を用いて算出した推定値を用いることによる効果を示す。具体的には、図16を用いて、本実施の形態にかかる類似仮想マシンの推定値を用いて分析する場合について説明する。
図16は、推定値の算出例を示す説明図である。グラフ1601は、分析対象仮想マシンとなるGuestZ1の時刻とCPU使用率の関係を示す。グラフ1601において、(y_Z1_1,t_Z1_1)から(y_Z1_2,t_Z1_2)までが構成変更前の構成維持期間である。グラフ1601は、(y_Z1_2,t_Z1_2)でGuestZ3が追加されるという構成変更が起こり、(y_Z1_2,t_Z1_2)以降においてCPUリソースが競合して、GuestZ1のCPU使用率が低下したことを示す。
グラフ1602は、類似仮想マシンとなるGuest5の時刻とCPU使用率の関係を示す。(y_5_1,t_5_1)から(y_5_2,t_5_2)までが構成変更前の構成維持期間である。また、(y_5_2,t_5_2)から(y_5_3,t_5_3)までが構成変更後からの構成維持期間である。グラフ1602は、(y_5_2,t_5_2)でGuest6が追加されるという構成変更が起こり、(y_5_2,t_5_2)以降においてCPUリソースが競合して、Guest5のCPU使用率が低下したことを示す。
分析装置204は、分析対象仮想マシンの構成変更前の構成維持期間の動作情報と、探索した類似仮想マシンの構成変更前の構成維持期間の動作情報とを用いて、下記(10)式に従って補正値(y,t)を算出する。
補正値(y,t)=類似仮想マシンの構成変更前の構成維持期間の動作情報(y,t)−分析対象仮想マシンの構成変更前の構成維持期間の動作情報(y,t) …(10)
ここで、yは曜日を示す。tは時刻を示す。また、類似仮想マシンの構成変更前の構成維持期間の動作情報が複数週分存在する場合、分析装置204は、各週の各曜日の各時刻に対する動作情報の平均値を、類似仮想マシンの構成変更前の構成維持期間の動作情報(y,t)とする。
表1603は、各週の各曜日の各時刻に対する補正値を示す。グラフ1604は、補正値の算出の様子を示すグラフである。グラフ1604において、実線が分析対象仮想マシンの構成変更前の構成維持期間の動作情報を示し、点線が類似仮想マシンの構成変更前の構成維持期間の動作情報を示す。グラフ1604では、類似仮想マシンの構成変更前の構成維持期間の動作情報(y,t)が、分析対象仮想マシンの構成変更前の構成維持期間の動作情報(y,t)より小さいため、補正値が負の値となる。
続けて、分析装置204は、補正値を用いて、下記(11)式に従って、分析対象仮想マシンの構成変更後からの構成維持期間の動作情報を推定した動作情報を作成する。
推定した動作情報(y,t)=類似仮想マシンの構成変更後からの構成維持期間の動作情報(y,t)−補正値(y,t) …(11)
表1605は、推定した動作情報として、各週の各曜日の各時刻に対する補正値を示す。グラフ1606は、推定した動作情報の様子を示すグラフである。グラフ1606において、実線が類似仮想マシンの動作情報を示し、点線が推定した動作情報を示す。グラフ1604で示したように、補正値は負の値となるため、推定値は、類似仮想マシンの構成変更後からの構成維持期間の動作情報より大きい値となる。
このように、分析対象仮想マシンと同じ構成情報、同じ構成変更を行い、かつ、構成変更前の動作情報の傾向が類似する仮想マシンで分析を行うことにより、分析対象仮想マシンの構成変更後のデータ量が少なくても、分析精度を良くすることができる。
また、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンであり、かつ、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンを探索すべき理由について図17および図18を用いて説明する。具体的には、図17を用いて、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンで分析する場合について説明する。また、図18を用いて、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンで分析する場合について説明する。
図17は、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンで分析する例を示す説明図である。図17の(A)では、分析対象仮想マシンとなるGuestAが、HostAからHostBに移動した例を示す。グラフ1701は、分析対象仮想マシンとなるGuestAの時刻とCPU使用率の関係を示す。グラフ1701において、(y_A_1,t_A_1)から(y_A_2,t_A_2)までが構成変更前の構成維持期間であり、(y_A_2,t_A_2)から(y_A_3,t_A_3)までが構成変更後からの構成維持期間である。グラフ1701は、(y_A_2,t_A_2)でGuestAが移動されるという構成変更が起こり、構成変更前の構成維持期間ではCPU資源を十分に使用できなかったGuestAが、構成変更後からはCPU資源を十分に使用できるようになったことを示す。
このとき、GuestAの構成変更後の構成維持期間が短く、動作情報ログ221の構成変更後のデータ量が少ないために分析が十分な精度で行えないとする。図17の例では、分析対象仮想マシンとなるGuestと同じ構成情報、同じ構成変更を行った仮想マシンとして、GuestEで分析する例を示す。
図17の(B)では、GuestEが、HostCからHostDに移動した例を示す。グラフ1702は、GuestEの時刻とCPU使用率の関係を示す。グラフ1702において、(y_E_1,t_E_1)から(y_E_2,t_E_2)までが構成変更前の構成維持期間であり、(y_E_2,t_E_2)から(y_E_3,t_E_3)までが構成変更後からの構成維持期間である。グラフ1702は、(y_E_2,t_E_2)でGuestEが移動されるという構成変更が起こり、構成変更前の構成維持期間ではCPU資源を十分に使用できなかったGuestEが、構成変更後からはCPU資源を十分に使用できるようになったことを示す。
分析対象仮想マシンと同じ構成情報について、HostCとHostBとは、追加される前から動作していたGuestDとGuestHとの構成が類似する。また、同じ構成変更について、追加されたGuestAとGuestEとの構成が類似する。しかしながら、GuestAとGuestEとは、(y_A_1,t_A_1)〜(y_A_2,t_A_2)のCPU使用率と、(y_E_1,t_E_1)〜(y_E_2,t_E_2)のCPU使用率とから判断できるように、構成変更前の動作情報の傾向が類似しない可能性がある。このように、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンの動作情報を、分析対象マシンの動作情報の代わりとして分析を行っても、分析精度が悪くなる。
図18は、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンで分析する例を示す説明図である。図18の(A)およびグラフ1801は、図17の(A)と同一であるため説明を省略する。
図18の(B)では、GuestFが、GuestEを動作するHostCに追加された例を示す。グラフ1802は、GuestEの時刻とCPU使用率の関係を示す。グラフ1802において、(y_E_1,t_E_1)から(y_E_2,t_E_2)までが構成変更前の構成維持期間であり、(y_E_2,t_E_2)から(y_E_3,t_E_3)までが構成変更後からの構成維持期間である。グラフ1802は、(y_E_2,t_E_2)でGuestFが追加されるという構成変更が起こる前において、GuestEは、CPU資源を十分に使用できており、GuestFが追加された後でもCPU資源を十分に使用できたことを示す。
GuestAとGuestEとは、(y_A_1,t_A_1)〜(y_A_2,t_A_2)のCPU使用率と、(y_E_1,t_E_1)〜(y_E_2,t_E_2)のCPU使用率とから判断できるように、構成変更前の動作情報の傾向が類似する。しかしながら、構成変更前において、GuestAは、CPU資源が十分に使用できなかったのに対し、GuestEは、CPU資源が十分に使用できたため、構成変更後では、GuestAとGuestEとの動作情報の傾向が類似しない。このように、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンの動作情報を、分析対象マシンの動作情報の代わりとして分析を行っても、分析精度が悪くなる。
以下、図19〜図30を用いて、図9〜図16を用いて説明した動作を行うフローチャートを示す。
図19は、分析処理手順の一例を示すフローチャートである。分析処理は、分析対象仮想マシンの性能分析を行う処理である。分析装置204は、管理者端末201から、仮想マシンに対する分析依頼を受信する(ステップS1901)。分析依頼があった仮想マシンを、「分析対象仮想マシン」とする。
次に、分析装置204は、推定実行有無判断処理を実行する(ステップS1902)。推定実行有無判断処理の詳細は、図20で後述する。続けて、分析装置204は、推定実行有無判断処理の処理結果から、推定を実行すべきか否かを判断する(ステップS1903)。推定を実行すべきである場合(ステップS1903:Yes)、分析装置204は、類似仮想マシン探索処理を実行する(ステップS1904)。類似仮想マシン探索処理は、図21で後述する。
次に、分析装置204は、類似仮想マシン探索処理の処理結果から、類似仮想マシンを選択したか否かを判断する(ステップS1905)。類似仮想マシンを選択した場合(ステップS1905:Yes)、分析装置204は、推定動作情報作成処理を実行する(ステップS1906)。推定動作情報作成処理は、図30で後述する。次に、分析装置204は、類似仮想マシンに対して、推定した動作情報を分析する(ステップS1907)。具体的な分析例は、回帰分析や相関分析等がある。一方、推定を実行しなくてよい場合(ステップS1903:No)、分析装置204は、分析対象仮想マシンに対して、動作情報を分析する(ステップS1908)。
ステップS1907、またはステップS1908の処理終了後、分析装置204は、管理者端末201に対して、分析結果を出力する(ステップS1909)。一方、類似仮想マシンを選択していない場合(ステップS1905:No)、分析装置204は、分析できないことを出力する(ステップS1910)。
ステップS1909、またはステップS1910の処理終了後、分析装置204は、分析処理を終了する。分析処理を実行することにより、分析装置204は、分析対象仮想マシンの構成変更後のデータ量が少なくても、分析精度の良い分析結果を出力することができる。
図20は、推定実行有無判断処理手順の一例を示すフローチャートである。推定実行有無判断処理は、分析依頼があった仮想マシンの動作情報を推定すべきか否かを判断する処理である。
分析装置204は、構成変更記録222のゲストIDリスト1とゲストIDリスト2とのいずれかに、分析対象仮想マシンのIDがある最新のケースを比較元ケースとして検索する(ステップS2001)。次に、分析装置204は、比較元ケースを検出したか否かを判断する(ステップS2002)。比較元ケースを検出した場合(ステップS2002:Yes)、分析装置204は、“現在時刻−検出した比較元ケースの日時”を計算して、計算結果として構成維持期間を求める(ステップS2003)。次に、分析装置204は、構成維持期間が分析可能期間Tより小さいか否かを判断する(ステップS2004)。構成維持期間が分析可能期間Tより小さい場合(ステップS2004:Yes)、分析装置204は、推定すべきであることを出力する(ステップS2005)。
一方、比較元ケースを検出していない場合(ステップS2002:No)、または、構成維持期間が分析可能期間T以上である場合(ステップS2004:No)、分析装置204は、推定しなくてよいことを出力する(ステップS2006)。なお、ステップS2002:Noとなる場合とは、たとえば、分析対象仮想マシンが動作する物理マシンにおいて、仮想マシンの構成が一度も変更していない場合である。
ステップS2005、またはステップS2006の処理終了後、分析装置204は、推定実行有無判断処理を終了する。推定実行有無判断処理を実行することにより、分析装置204は、分析対象仮想マシンの動作情報が十分にあれば、分析対象仮想マシンの動作情報を用いて分析を行うことにより分析精度を向上することができる。一方、分析対象仮想マシンの動作情報が十分になければ、分析装置204は、類似仮想マシンの動作情報を用いて分析を行うことにより分析精度を向上することができる。
図21は、類似仮想マシン探索処理手順の一例を示すフローチャートである。類似仮想マシン探索処理は、分析対象仮想マシンに類似する仮想マシンを探索する処理である。分析装置204は、物理マシン構成情報211と、仮想マシン構成情報212と、構成変更記録222とから、比較元ケースと図9で示した(情報1)〜(情報6)が一致する比較先候補ケースを探索する(ステップS2101)。
次に、分析装置204は、比較先候補ケースを検出したか否かを判断する(ステップS2102)。比較先候補ケースを検出した場合(ステップS2102:Yes)、分析装置204は、類似度算出処理を実行する(ステップS2103)。類似度算出処理は、図22で後述する。続けて、分析装置204は、標準類似度算出処理を実行する(ステップS2104)。標準類似度算出処理は、図27で後述する。次に、分析装置204は、類似仮想マシン選択処理を実行する(ステップS2105)。類似仮想マシン選択処理は、図29で後述する。ステップS2105の処理終了後、類似仮想マシン探索処理を終了する。
一方、比較先候補ケースを検出していない場合(ステップS2102:No)、分析装置204は、類似仮想マシン探索処理を終了する。ステップS2102:Noとなった場合、類似仮想マシンを選択していないことから、分析装置204は、ステップS1905では、Noのルートを実行することになる。類似仮想マシン探索処理を実行することにより、分析装置204は、動作情報が類似する仮想マシンを探索することができる。
図22は、類似度算出処理手順の一例を示すフローチャートである。類似度算出処理は、比較先候補ケースの類似度を算出する処理である。分析装置204は、類似度一覧1001のうちの比較先候補ケースの先頭のケースを選択する(ステップS2201)。次に、分析装置204は、選択したケースの各物理マシンについて、選択したケースの前回の構成変更のケースを検索する(ステップS2202)。続けて、分析装置204は、選択したケースの前回の構成変更のケースを検出したか否かを判断する(ステップS2203)。選択したケースの前回の構成変更のケースを検出した場合(ステップS2203:Yes)、分析装置204は、“選択したケースの日時−比較先ケースの前回の構成変更のケースの日時”を計算して、計算結果として、選択したケースの前回の構成変更からの構成維持期間を求める(ステップS2204)。
次に、分析装置204は、選択したケースの前回の構成変更からの構成維持期間が分析可能期間T以上か否かを判断する(ステップS2205)。選択したケースの前回の構成変更からの維持期間が分析可能期間T以上である場合(ステップS2205:Yes)、分析装置204は、選択したケースの各物理マシンに対して、物理マシンの類似度算出処理を実行する(ステップS2206)。物理マシンの類似度算出処理は、図23で後述する。次に、分析装置204は、選択したケースの各仮想マシンに対して、仮想マシンの類似度算出処理を実行する(ステップS2207)。仮想マシンの類似度算出処理は、図25で後述する。続けて、分析装置204は、“各物理マシンの類似度の和+各仮想マシンの類似度の和”を計算して、計算結果として選択したケースの類似度を求める(ステップS2208)。ステップS2208の処理は、(1)式に相当する。
選択したケースの前回の構成変更のケースを検出しなかった場合(ステップS2203:No)、または、選択したケースの前回の構成変更からの構成維持期間が分析可能期間T未満である場合(ステップS2205:No)、分析装置204は、選択したケースの類似度を“算出不可能”に設定する(ステップS2209)。
ステップS2208、またはステップS2209のいずれかの処理を実行終了後、分析装置204は、比較先候補ケースの全てを選択したか否かを判断する(ステップS2210)。選択していない比較先候補ケースがある場合(ステップS2210:No)、分析装置204は、次のケースを選択する(ステップS2211)。ステップS2211の処理終了後、分析装置204は、ステップS2202の処理に移行する。
比較先候補ケースの全てを選択した場合(ステップS2210:Yes)、分析装置204は、類似度算出処理を終了する。類似度算出処理を実行することにより、分析装置204は、比較先候補ケースの類似度を算出することができる。
図23は、物理マシンの類似度算出処理手順の一例を示すフローチャートである。物理マシンの類似度算出処理は、物理マシンの類似度を算出する処理である。分析装置204は、物理マシンのCPU使用率に対して、動作傾向の類似度算出処理を実行する(ステップS2301)。動作傾向の類似度算出処理は、図24で後述する。次に、分析装置204は、物理マシンのメモリ使用率に対して、動作傾向の類似度算出処理を実行する(ステップS2302)。続けて、分析装置204は、物理マシンのディスクビジー率に対して、動作傾向の類似度算出処理を実行する(ステップS2303)。
次に、分析装置204は、“CPU使用率の動作傾向の類似度+メモリ使用率の動作傾向の類似度+ディスクビジー率の動作傾向の類似度”を計算して、計算結果を、物理マシンの類似度として求める(ステップS2304)。ステップS2304の処理が、(2)式に相当する。ステップS2304の処理終了後、分析装置204は、物理マシンの類似度算出処理を終了する。物理マシンの類似度算出処理を実行することにより、分析装置204は、物理マシンの類似度を算出することができる。
図24は、動作傾向の類似度算出処理手順の一例を示すフローチャートである。動作傾向の類似度算出処理は、動作情報の類似度を算出する処理である。動作傾向の類似度算出処理がステップS2301〜ステップS2303の処理から呼ばれた場合、分析装置204は、動作傾向の類似度算出処理を実行することにより、物理マシンの動作情報の類似度を算出することになる。また、動作傾向の類似度算出処理が後述するステップS2503〜ステップS2505の処理から呼ばれた場合、分析装置204は、動作傾向の類似度算出処理を実行することにより、仮想マシンの動作情報の類似度を算出することになる。
分析装置204は、動作情報ログ221を参照して、選択したケースの前回の構成変更からの構成維持期間から、1週間における各時刻の動作傾向の平均値を算出する(ステップS2401)。ステップS2401の処理について、選択したケースとは、ステップS2201またはステップS2211の処理で選択したケースである。
次に、分析装置204は、選択したケースの各時刻の動作傾向の平均値から、選択したケースの各時間帯における変化量を算出する(ステップS2402)。続けて、分析装置204は、構成変更記録222を参照して、比較元ケースの前回の構成変更のケースを検索する(ステップS2403)。次に、分析装置204は、“比較元ケースの日時−比較元ケースの前回の構成変更のケースの日時”を計算して、計算結果を比較元ケースの前回の構成変更からの構成維持期間として求める(ステップS2404)。
続けて、分析装置204は、比較元ケースの前回の構成変更からの構成維持期間から、比較元ケースの1週間における各時刻の動作傾向の平均値を算出する(ステップS2405)。次に、分析装置204は、比較元ケースの各時刻の動作傾向の平均値から、比較元ケースの各時間帯における変化量を算出する(ステップS2406)。続けて、分析装置204は、“1/√Σ(選択したケースの各時間帯における変化量−比較元ケースの各時間帯における変化量)^2”を計算して、計算結果を動作傾向の類似度として求める(ステップS2407)。ステップS2407の処理終了後、分析装置204は、動作傾向の類似度算出処理を終了する。動作傾向の類似度算出処理を実行することにより、分析装置204は、動作情報の類似度を算出することができる。
図25は、仮想マシンの類似度算出処理手順の一例を示すフローチャートである。仮想マシンの類似度算出処理は、仮想マシンの類似度を算出する処理である。分析装置204は、重要度一覧1310を参照して、比較元ケースの仮想マシンの重要度が算出済か否かを判断する(ステップS2501)。比較元ケースの仮想マシンの重要度を算出していない場合(ステップS2501:No)、分析装置204は、重要度算出処理を実行する(ステップS2502)。重要度算出処理は、図26で後述する。
ステップS2502の処理終了後、または、比較元ケースの仮想マシンの重要度が算出済である場合(ステップS2501:Yes)、分析装置204は、仮想マシンのCPU使用率に対して、動作傾向の類似度算出処理を実行する(ステップS2503)。次に、分析装置204は、仮想マシンのメモリ使用率に対して、動作傾向の類似度算出処理を実行する(ステップS2504)。続けて、分析装置204は、仮想マシンのディスクビジー率に対して、動作傾向の類似度算出処理を実行する(ステップS2505)。
次に、分析装置204は、“CPU重要度*CPU使用率の動作傾向の類似度+メモリ重要度*メモリ使用率の動作傾向の類似度+ディスク重要度*ディスクビジー率の動作傾向の類似度”を計算して、計算結果を仮想マシンの類似度として求める(ステップS2506)。ステップS2506の処理は、(4)式に相当する。ステップS2506の処理終了後、分析装置204は、仮想マシンの類似度算出処理を終了する。仮想マシンの類似度算出処理を実行することにより、分析装置204は、仮想マシンの類似度を算出することができる。
図26は、重要度算出処理手順の一例を示すフローチャートである。重要度算出処理は、重要度を算出する処理である。分析装置204は、対象マシンの前回の構成変更からの構成維持期間から、比較元ケースの1週間における各時刻のCPU使用率、メモリ使用率、ディスクビジー率、トランザクション数それぞれの平均値を算出する(ステップS2601)。次に、分析装置204は、CPU使用率と、メモリ使用率と、ディスクビジー率とに対し、トランザクション数との相関係数を算出する(ステップS2602)。続けて、分析装置204は、動作傾向それぞれの相関係数から、CPU使用率、メモリ使用率、ディスクビジー率それぞれの重要度を算出する(ステップS2603)。具体的な算出手順は、(5)式となる。ステップS2603の処理終了後、分析装置204は、重要度算出処理を終了する。重要度算出処理を実行することにより、分析装置204は、重要度を算出することができる。
図27は、標準類似度算出処理手順の一例を示すフローチャートである。標準類似度算出処理は、標準類似度を算出する処理である。分析装置204は、比較元ケースの各物理マシンのCPU使用率に対して、動作傾向の標準類似度算出処理を実行する(ステップS2701)。動作傾向の標準類似度算出処理は、図28で後述する。次に、分析装置204は、比較元ケースの各物理マシンのメモリ使用率に対して、動作傾向の標準類似度算出処理を実行する(ステップS2702)。続けて、分析装置204は、比較元ケースの各物理マシンのディスクビジー率に対して、動作傾向の標準類似度算出処理を実行する(ステップS2703)。次に、分析装置204は、“CPU使用率の動作傾向の標準類似度+メモリ使用率の動作傾向の標準類似度+ディスクビジー率の動作傾向の標準類似度”を計算して、計算結果を各物理マシンの標準類似度として求める(ステップS2704)。ステップS2704の処理は、(7)式に相当する。
続けて、分析装置204は、比較元ケースの各仮想マシンのCPU使用率に対して、動作傾向の標準類似度算出処理を実行する(ステップS2705)。次に、分析装置204は、比較元ケースの各仮想マシンのメモリ使用率に対して、動作傾向の標準類似度算出処理を実行する(ステップS2706)。続けて、分析装置204は、比較元ケースの各仮想マシンのディスクビジー率に対して、動作傾向の標準類似度算出処理を実行する(ステップS2707)。次に、分析装置204は、“CPU重要度*CPU使用率の動作傾向の標準類似度+メモリ重要度*メモリ使用率の動作傾向の標準類似度+ディスク重要度*ディスクビジー率の動作傾向の標準類似度”を計算して、計算結果を各仮想マシンの標準類似度として求める(ステップS2708)。ステップS2708の処理は、(8)式に相当する。
続けて、分析装置204は、“各物理マシンの標準類似度+各仮想マシンの標準類似度”を計算して、計算結果を標準類似度として求める(ステップS2709)。ステップS2709の処理は、(6)式に相当する。ステップS2709の処理終了後、分析装置204は、標準類似度算出処理を終了する。標準類似度算出処理を実行することにより、分析装置204は、標準類似度を算出することができる。
図28は、動作傾向の標準類似度算出処理手順の一例を示すフローチャートである。動作傾向の標準類似度算出処理は、動作傾向の標準類似度を算出する処理である。分析装置204は、比較元ケースの前回の構成変更からの構成維持期間において、各時間帯における動作傾向の変化量を1週間ごとに算出する(ステップS2801)。次に、分析装置204は、各時間帯における動作傾向の変化量から、各時間帯における動作傾向の平均値および標準変化量を算出する(ステップS2802)。続けて、分析装置204は、“1/√Σ((各時間帯における動作傾向の平均値−各時間帯における動作傾向の標準変化量)^2)”を計算して、計算結果を動作傾向の標準類似度として求める(ステップS2803)。ステップS2803の処理は、(9)式に相当する。
ステップS2803の処理終了後、分析装置204は、動作傾向の標準類似度算出処理を終了する。動作傾向の標準類似度算出処理を実行することにより、分析装置204は、動作傾向の標準類似度を算出することができる。
図29は、類似仮想マシン選択処理手順の一例を示すフローチャートである。類似仮想マシン選択処理は、動作情報が分析対象仮想マシンと類似する類似仮想マシンを選択する処理である。
分析装置204は、類似度一覧1001の比較先候補ケースを、類似度が高い順に並び替えする(ステップS2901)。次に、分析装置204は、比較先候補ケースのうちの先頭のケースを選択する(ステップS2902)。続けて、分析装置204は、選択したケースの類似度が標準類似度より大きいか否かを判断する(ステップS2903)。選択したケースの類似度が標準類似度より大きい場合(ステップS2903:Yes)、分析装置204は、選択したケースの物理マシンの構成変更後からの構成維持期間を算出する(ステップS2904)。具体的な算出例は、図15で説明した通りである。
次に、分析装置204は、選択したケースの仮想マシンの構成変更後からの構成維持期間が分析可能期間T以上か否かを判断する(ステップS2905)。選択したケースの仮想マシンの構成変更後からの構成維持期間が分析可能期間T未満である場合(ステップS2905:No)、分析装置204は、比較先候補ケースのうちの次のケースを選択する(ステップS2906)。ステップS2906の処理終了後、分析装置204は、ステップS2903の処理に移行する。
一方、選択したケースの仮想マシンの構成変更後からの構成維持期間が分析可能期間T以上である場合(ステップS2905:Yes)、分析装置204は、選択したケースの仮想マシンを類似仮想マシンとして選択する(ステップS2907)。ステップS2907の処理終了後、分析装置204は、類似仮想マシン選択処理を終了する。
選択したケースの類似度が標準類似度以下である場合(ステップS2903:No)、分析装置204は、類似仮想マシンを選択せずに、類似仮想マシン選択処理を終了する。ステップS2903:Noとなった場合、類似仮想マシンを選択していないことから、分析装置204は、ステップS1905では、Noのルートを実行することになる。類似仮想マシン選択処理を実行することにより、分析装置204は、動作情報が分析対象仮想マシンと類似する類似仮想マシンを選択することができる。
図30は、推定動作情報作成処理手順の一例を示すフローチャートである。推定動作情報作成処理は、構成変更後からの構成維持期間の動作情報を推定した動作情報を作成する処理である。
分析装置204は、分析対象仮想マシンの構成変更前の構成維持期間の動作情報から、1週間における各時間帯の動作情報の平均値を算出する(ステップS3001)。次に、分析装置204は、類似仮想マシンの構成維持期間の動作情報から、1週間における各時間帯の動作情報の平均値を算出する(ステップS3002)。続けて、分析装置204は、各時間帯に対して、分析対象仮想マシンの動作情報の平均値と類似仮想マシンの動作情報の平均値との差分を補正値として算出する(ステップS3003)。ステップS3003の処理は、(10)式に相当する。
次に、分析装置204は、類似仮想マシンの構成変更後の動作情報を取得する(ステップS3004)。続けて、分析装置204は、類似仮想マシンの構成変更後の動作情報から、補正値を減じた推定値を推定した動作情報として作成する(ステップS3005)。ステップS3005の処理は、(11)式に相当する。ステップS3005の処理終了後、分析装置204は、推定動作情報作成処理を終了する。推定動作情報作成処理を実行することにより、分析装置204は、構成変更後からの構成維持期間の動作情報を推定した動作情報を作成することができる。
以上説明したように、分析装置204によれば、分析対象仮想マシンが動作する物理マシンと変更前後の仮想マシンの構成が類似する他の物理マシン上の仮想マシンから変更前の動作情報が分析対象仮想マシンと類似する仮想マシンを探索する。これにより、分析装置204によれば、変更後の物理マシン上で動作する分析対象の仮想マシンと似たような動作の傾向となる類似仮想マシンを探索することができ、分析精度を向上することができる。また、変更後の類似仮想マシンの使用率を測定した期間が所定の期間未満であっても、変更後の類似仮想マシンの使用率を測定した期間が変更後の分析対象仮想マシンの使用率を測定した期間より長かったとする。このとき、たとえば、分析装置204は、分析を一旦行わず、変更後の類似仮想マシンの使用率を測定した期間が所定の期間を超えた時点で分析してもよい。これにより、分析装置204は、分析対象仮想マシンのデータが十分に蓄積するまでの時間より早く、分析を行うことができる。
また、分析装置204によれば、類似仮想マシンが探索された場合、変更後の前記第2の物理マシン上で動作する類似仮想マシンの動作情報を出力してもよい。出力した結果を用いて分析することにより、分析装置204は、分析精度を向上することができる。
また、分析装置204によれば、変更後の分析対象仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満である場合に、類似仮想マシンの探索を行ってもよい。これにより、分析装置204、変更後の分析対象仮想マシンの動作情報が不足するときに限り、変更後の類似仮想マシンの動作情報を用いて分析するため、常に変更後の類似仮想マシンの動作情報を用いて分析する場合よりも分析精度を向上することができる。
また、分析装置204によれば、変更前の分析対象仮想マシンの動作情報と類似する仮想マシンのうち、変更後の第2の物理マシン上で動作する仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間以上の仮想マシンを類似仮想マシンとしてもよい。これにより、変更後の類似仮想マシンの動作情報のデータ量が十分にあるため、分析精度を向上することができる。
また、分析装置204によれば、変更前の分析対象仮想マシンおよび変更前の類似仮想マシンのハードウェア資源の使用率の差分と変更後の類似仮想マシンの使用率とに基づいて、変更後の分析対象仮想マシンの利用率を算出してもよい。これにより、分析装置204は、単に変更後の類似仮想マシンの使用率を用いて分析するより分析精度を向上することができる。
また、分析装置204によれば、第1の物理マシンと変更内容の種別が一致し、かつ、第1の物理マシン上で変更された仮想マシンの構成と変更後の第1の物理マシンの構成とが類似する物理マシンを探索してもよい。これにより、分析装置204は、変更前の変更されなかった仮想マシンの構成が類似するか否かを判断しなくてよくなるため、第2の物理マシンを探索する処理について処理量を減らすことができる。
また、分析装置204によれば、変更前後の第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致する物理マシンを探索してもよい。また、分析装置204によれば、変更前後の第1の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似する物理マシンを探索してもよい。また、分析装置204によれば、第1の物理マシンが有するハードウェア資源の量が類似する物理マシンを探索してもよい。これにより、分析装置204は、変更後の分析対象マシンの動作情報とより類似する仮想マシンを探索することができる。
また、分析装置204によれば、物理マシン上で動作する仮想マシンの変更に応じて、変更後の物理マシンの構成に基づいて、第2の構成情報を更新してもよい。これにより、分析装置204は、動作情報ログ221のデータ量を少なくして、記憶リソースを圧迫することを抑制することができる。
また、分析装置204によれば、分析対象仮想マシンと構成が類似し、かつ、分析対象仮想マシンと変更前の動作情報が類似する仮想マシンを類似仮想マシンとして探索してもよい。これにより、分析装置204は、仮想マシンの構成が類似する分、変更後の物理マシン上で動作する分析対象の仮想マシンに、より類似するような動作の傾向となる類似仮想マシンを探索することができる。
なお、本実施の形態で説明した分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分析支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索し、
前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する、
処理を実行させることを特徴とする分析支援プログラム。
(付記2)前記コンピュータに、
前記第2の仮想マシンが探索された場合、変更後の前記第2の物理マシン上で動作する前記第2の仮想マシンの動作情報を出力する、
処理を実行させることを特徴とする付記1に記載の分析支援プログラム。
(付記3)前記第1の仮想マシンの動作情報は、前記第1の仮想マシンが単位時間当たりに使用した前記第1の物理マシンのハードウェア資源の使用率を含み、
前記コンピュータに、
変更後の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満であるか否かを判断する、処理を実行させ、
前記第2の物理マシンを探索する処理は、
変更後の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間未満であると判断された場合、前記第1の構成情報に基づいて、前記第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする付記1または2に記載の分析支援プログラム。
(付記4)前記第2の物理マシン上で動作する仮想マシンの動作情報は、前記第2の物理マシン上で動作する仮想マシンが単位時間当たりに使用した前記第2の物理マシンのハードウェア資源の使用率を含み、
前記第2の仮想マシンを探索する処理は、
前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前後の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似し、かつ、変更後の前記第2の物理マシン上で動作する仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間以上である第2の仮想マシンを探索することを特徴とする付記3に記載の分析支援プログラム。
(付記5)前記コンピュータに、
前記第2の仮想マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる使用率および変更前の前記第2の物理マシン上で動作する前記第2の仮想マシンの動作情報に含まれる使用率の差分と、変更後の前記第2の物理マシン上で動作する前記第2の仮想マシンの動作情報に含まれる使用率とに基づいて、変更後の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる利用率を算出する、
処理を実行させることを特徴とする付記4に記載の分析支援プログラム。
(付記6)前記第1の構成情報は、前記第1の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
前記第2の構成情報は、前記物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
前記第2の物理マシンを探索する処理は、
前記第1の構成情報に基づいて、前記第2の構成情報を参照して、前記第1の物理マシンと変更内容の種別が一致し、かつ、前記第1の物理マシン上で変更された仮想マシンの構成と変更後の前記第1の物理マシンの構成とが類似する物理マシンを探索することにより、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする付記1〜5のいずれか一つに記載の分析支援プログラム。
(付記7)前記第1の構成情報は、変更前後の前記第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源の量と、前記第1の物理マシンが有するハードウェア資源の量とを含み、
前記第2の構成情報は、変更前後の前記物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源と、前記物理マシンが有するハードウェア資源の量とを含み、
前記第2の物理マシンを探索する処理は、
前記第1の構成情報に基づいて、前記第2の構成情報を参照して、変更前後の前記第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致し、変更前後の前記第1の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似し、前記第1の物理マシンが有するハードウェア資源の量が類似する物理マシンを探索することにより、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする付記1〜6のいずれか一つに記載の分析支援プログラム。
(付記8)前記コンピュータに、
前記物理マシン上で動作する仮想マシンの変更に応じて、変更後の前記物理マシンの構成に基づいて、前記第2の構成情報を更新する、処理を実行させ、
前記第2の物理マシンを探索する処理は、
前記第1の構成情報に基づいて、更新した前記第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする付記1〜7のいずれか一つに記載の分析支援プログラム。
(付記9)前記第2の仮想マシンを探索する処理は、
前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと構成が類似し、かつ、前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する、ことを特徴とする付記1〜8のいずれか一つに記載の分析支援プログラム。
(付記10)分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索し、
前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する、
処理を実行させる分析支援プログラムを記録したことを特徴とする記録媒体。
(付記11)分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索する第1探索部と、
前記第1探索部によって前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する第2探索部と、
を有することを特徴とする分析支援装置。
(付記12)分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索する第1探索部と、
前記第1探索部によって前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する第2探索部と、
を有するコンピュータを含むことを特徴とする分析支援装置。
(付記13)コンピュータが、
分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索し、
前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する、
処理を実行することを特徴とする分析支援方法。
100 システム
101 分析支援装置
200 クラウドシステム
204 分析装置
211 物理マシン構成情報
212 仮想マシン構成情報
221 動作情報ログ
222 構成変更記録
401 判断部
402 第1探索部
403 第2探索部
404 出力部
405 算出部
406 更新部

Claims (10)

  1. コンピュータに、
    分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索し、
    前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する、
    処理を実行させることを特徴とする分析支援プログラム。
  2. 前記コンピュータに、
    前記第2の仮想マシンが探索された場合、変更後の前記第2の物理マシン上で動作する前記第2の仮想マシンの動作情報を出力する、
    処理を実行させることを特徴とする請求項1に記載の分析支援プログラム。
  3. 前記第1の仮想マシンの動作情報は、前記第1の仮想マシンが単位時間当たりに使用した前記第1の物理マシンのハードウェア資源の使用率を含み、
    前記コンピュータに、
    変更後の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満であるか否かを判断する、処理を実行させ、
    前記第2の物理マシンを探索する処理は、
    変更後の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間未満であると判断された場合、前記第1の構成情報に基づいて、前記第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする請求項1または2に記載の分析支援プログラム。
  4. 前記第2の物理マシン上で動作する仮想マシンの動作情報は、前記第2の物理マシン上で動作する仮想マシンが単位時間当たりに使用した前記第2の物理マシンのハードウェア資源の使用率を含み、
    前記第2の仮想マシンを探索する処理は、
    前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前後の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似し、かつ、変更後の前記第2の物理マシン上で動作する仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間以上である第2の仮想マシンを探索することを特徴とする請求項3に記載の分析支援プログラム。
  5. 前記コンピュータに、
    前記第2の仮想マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる使用率および変更前の前記第2の物理マシン上で動作する前記第2の仮想マシンの動作情報に含まれる使用率の差分と、変更後の前記第2の物理マシン上で動作する前記第2の仮想マシンの動作情報に含まれる使用率とに基づいて、変更後の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に含まれる利用率を算出する、
    処理を実行させることを特徴とする請求項4に記載の分析支援プログラム。
  6. 前記第1の構成情報は、前記第1の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
    前記第2の構成情報は、前記物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
    前記第2の物理マシンを探索する処理は、
    前記第1の構成情報に基づいて、前記第2の構成情報を参照して、前記第1の物理マシンと変更内容の種別が一致し、かつ、前記第1の物理マシン上で変更された仮想マシンの構成と変更後の前記第1の物理マシンの構成とが類似する物理マシンを探索することにより、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする請求項1〜5のいずれか一つに記載の分析支援プログラム。
  7. 前記第1の構成情報は、変更前後の前記第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源の量と、前記第1の物理マシンが有するハードウェア資源の量とを含み、
    前記第2の構成情報は、変更前後の前記物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源と、前記物理マシンが有するハードウェア資源の量とを含み、
    前記第2の物理マシンを探索する処理は、
    前記第1の構成情報に基づいて、前記第2の構成情報を参照して、変更前後の前記第1の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致し、変更前後の前記第1の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似し、前記第1の物理マシンが有するハードウェア資源の量が類似する物理マシンを探索することにより、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする請求項1〜6のいずれか一つに記載の分析支援プログラム。
  8. 前記コンピュータに、
    前記物理マシン上で動作する仮想マシンの変更に応じて、変更後の前記物理マシンの構成に基づいて、前記第2の構成情報を更新する、処理を実行させ、
    前記第2の物理マシンを探索する処理は、
    前記第1の構成情報に基づいて、更新した前記第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索することを特徴とする請求項1〜7のいずれか一つに記載の分析支援プログラム。
  9. 分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索する第1探索部と、
    前記第1探索部によって前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する第2探索部と、
    を有することを特徴とする分析支援装置。
  10. コンピュータが、
    分析対象となる第1の仮想マシンが動作する第1の物理マシン上で前記第1の仮想マシン以外の仮想マシンが変更された変更前後の前記第1の物理マシンの構成を特定する第1の構成情報に基づいて、前記第1の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第2の構成情報を参照して、前記第1の物理マシンと変更前後の構成が類似する第2の物理マシンを探索し、
    前記第2の物理マシンが探索された場合、変更前の前記第1の物理マシン上で動作する前記第1の仮想マシンの動作情報に基づいて、変更前の前記第2の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第2の物理マシン上で動作する仮想マシンのうち前記第1の仮想マシンと動作情報が類似する第2の仮想マシンを探索する、
    処理を実行することを特徴とする分析支援方法。
JP2013133722A 2013-06-26 2013-06-26 分析支援プログラム、分析支援装置、および分析支援方法 Expired - Fee Related JP6079476B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013133722A JP6079476B2 (ja) 2013-06-26 2013-06-26 分析支援プログラム、分析支援装置、および分析支援方法
US14/293,277 US10169059B2 (en) 2013-06-26 2014-06-02 Analysis support method, analysis supporting device, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013133722A JP6079476B2 (ja) 2013-06-26 2013-06-26 分析支援プログラム、分析支援装置、および分析支援方法

Publications (2)

Publication Number Publication Date
JP2015011362A JP2015011362A (ja) 2015-01-19
JP6079476B2 true JP6079476B2 (ja) 2017-02-15

Family

ID=52117026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013133722A Expired - Fee Related JP6079476B2 (ja) 2013-06-26 2013-06-26 分析支援プログラム、分析支援装置、および分析支援方法

Country Status (2)

Country Link
US (1) US10169059B2 (ja)
JP (1) JP6079476B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432699B2 (en) 2014-06-26 2019-10-01 Vmware, Inc. Crowd-sourced operational metric analysis of virtual appliances
JP2016071562A (ja) * 2014-09-29 2016-05-09 富士通株式会社 判定プログラム、方法及び装置
JP6447258B2 (ja) * 2015-03-09 2019-01-09 富士通株式会社 管理プログラム、管理方法、および管理装置
US10623481B2 (en) * 2015-04-27 2020-04-14 Microsoft Technology Licensing, Llc Balancing resources in distributed computing environments
US10778664B1 (en) * 2015-05-14 2020-09-15 Amazon Technologies, Inc. Software asset management of computer systems and virtual instances for reporting and optimization
US9946564B2 (en) * 2015-06-23 2018-04-17 International Business Machines Corporation Adjusting virtual machine migration plans based on alert conditions related to future migrations
US9870307B2 (en) * 2016-02-01 2018-01-16 Linkedin Corporation Regression testing of software services
US9886366B2 (en) 2016-03-25 2018-02-06 Microsoft Technology Licensing, Llc Replay-suitable trace recording by service container
JP6699286B2 (ja) * 2016-03-28 2020-05-27 日本電気株式会社 スケジュール適用装置及びスケジュール適用方法、バックアップ装置、並びにコンピュータ・プログラム
JP6788178B2 (ja) * 2016-05-06 2020-11-25 富士通株式会社 設定支援プログラム、設定支援方法及び設定支援装置
JP6681369B2 (ja) * 2017-09-07 2020-04-15 株式会社日立製作所 性能管理システム、管理装置および性能管理方法
US11226953B2 (en) * 2018-10-10 2022-01-18 Bentley Systems, Incorporated Technique for generating a change cache database utilized to inspect changes made to a repository
US11822681B1 (en) * 2018-12-31 2023-11-21 United Services Automobile Association (Usaa) Data processing system with virtual machine grouping based on commonalities between virtual machines
US11455437B1 (en) 2019-10-15 2022-09-27 Bentley Systems, Incorporated Techniques for generating and retrieving change summary data and aggregated model version data for an infrastructure model
JP7549433B2 (ja) * 2020-08-27 2024-09-11 日立ヴァンタラ株式会社 リソース構成見積もりシステムおよびリソース構成見積もり方法
US20230004938A1 (en) * 2021-07-01 2023-01-05 Google Llc Detecting Inactive Projects Based On Usage Signals And Machine Learning

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4199444B2 (ja) 2001-08-30 2008-12-17 日本電気株式会社 パーティション構成変更方式、パーティション構成変更方法およびパーティション構成変更用プログラム
JP2004046734A (ja) 2002-07-15 2004-02-12 Fuji Electric Holdings Co Ltd Webシステム性能予測装置、Webシステム性能予測方法、及びプログラム
JP4384478B2 (ja) 2003-12-02 2009-12-16 新日鉄ソリューションズ株式会社 性能監視システム、管理サーバ装置、情報処理方法及びプログラム
JP4180638B2 (ja) 2004-10-28 2008-11-12 富士通株式会社 分析方法及び装置
WO2008132924A1 (ja) 2007-04-13 2008-11-06 Nec Corporation 仮想計算機システムおよびその最適化方法
US8175863B1 (en) * 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
JP5417908B2 (ja) * 2009-03-11 2014-02-19 日本電気株式会社 仮想マシン管理システム、仮想マシン管理方法、仮想マシン管理装置及び仮想マシン管理プログラム
JP2010277208A (ja) 2009-05-27 2010-12-09 Hitachi Ltd 仮想化システム制御方法および仮想化システム制御プログラム
JP2011118525A (ja) * 2009-12-01 2011-06-16 Hitachi Ltd サーバ管理装置とサーバ管理方法およびサーバ管理プログラム
US8631405B2 (en) * 2010-02-26 2014-01-14 Red Hat Israel, Ltd. Identification and placement of new virtual machines based on similarity of software configurations with hosted virtual machines
JP5448083B2 (ja) * 2010-03-11 2014-03-19 株式会社日立製作所 計算機モニタリングシステム及びプログラム
JP5742125B2 (ja) * 2010-07-21 2015-07-01 富士通株式会社 プログラム、情報生成装置及び情報生成方法
US9128742B1 (en) * 2010-11-19 2015-09-08 Symantec Corporation Systems and methods for enhancing virtual machine backup image data
JP5681527B2 (ja) * 2011-02-28 2015-03-11 パナソニックIpマネジメント株式会社 電力制御装置及び電力制御方法

Also Published As

Publication number Publication date
US10169059B2 (en) 2019-01-01
US20150007176A1 (en) 2015-01-01
JP2015011362A (ja) 2015-01-19

Similar Documents

Publication Publication Date Title
JP6079476B2 (ja) 分析支援プログラム、分析支援装置、および分析支援方法
Elmore et al. Characterizing tenant behavior for placement and crisis mitigation in multitenant dbmss
US20160306967A1 (en) Method to Detect Malicious Behavior by Computing the Likelihood of Data Accesses
US8171060B2 (en) Storage system and method for operating storage system
JP2016100005A (ja) リコンサイル方法、プロセッサ及び記憶媒体
JP2010507146A (ja) 分散システムの能力計画及びリソース最適化を行う方法と装置
JP6891611B2 (ja) 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
US10489074B1 (en) Access rate prediction in a hybrid storage device
Kecskemeti et al. Cloud workload prediction based on workflow execution time discrepancies
Rosas et al. Improving performance on data-intensive applications using a load balancing methodology based on divisible load theory
JP2009037369A (ja) データベースサーバへのリソース割当て方法
Moreira et al. Towards improvements on the quality of service for multi-tenant RDBMS in the cloud
KR102062332B1 (ko) 처리 시간에 민감한 워크로드에 대한 메모리 대역폭 할당 방법 및 장치
JP6763316B2 (ja) 性能要件推定プログラム、性能要件推定装置、および性能要件推定方法
Koch et al. SMiPE: estimating the progress of recurring iterative distributed dataflows
Will et al. Ruya: Memory-aware iterative optimization of cluster configurations for big data processing
US10839042B1 (en) Summarizing and querying data generated from multiple scenarios of a data-intensive simulation
Molka et al. Memory-aware sizing for in-memory databases
Sahu et al. An enhancement in clustering for sequential pattern mining through neural algorithm using web logs
Milios et al. Component aggregation for PEPA models: An approach based on approximate strong equivalence
JP2017182160A (ja) 監視制御プログラム,監視制御装置および監視制御方法
Lan et al. Predicting Response Time of Concurrent Queries with Similarity Models
JP7200577B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム。
JPWO2019059135A1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
Pattanshetti et al. Survey of performance modeling of big data applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170102

R150 Certificate of patent or registration of utility model

Ref document number: 6079476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees