JP2010140340A - 履歴時刻補正方法、プログラムおよび履歴時刻補正装置 - Google Patents

履歴時刻補正方法、プログラムおよび履歴時刻補正装置 Download PDF

Info

Publication number
JP2010140340A
JP2010140340A JP2008317163A JP2008317163A JP2010140340A JP 2010140340 A JP2010140340 A JP 2010140340A JP 2008317163 A JP2008317163 A JP 2008317163A JP 2008317163 A JP2008317163 A JP 2008317163A JP 2010140340 A JP2010140340 A JP 2010140340A
Authority
JP
Japan
Prior art keywords
time
virtual
history
physical
program
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.)
Pending
Application number
JP2008317163A
Other languages
English (en)
Inventor
Koichi Kondo
晃一 近藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008317163A priority Critical patent/JP2010140340A/ja
Publication of JP2010140340A publication Critical patent/JP2010140340A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】仮想計算機から出力される履歴情報における履歴時刻を補正することを目的とする。
【解決手段】物理計算機100で実行されている仮想計算機10から、システム内業務履歴情報を取得し、統合管理サーバ200が、仮想OS141から、仮想OS時刻を含む稼動性能情報を取得し、物理OS150から、物理OS時刻を含む稼動性能情報を取得し、2つの稼動性能情報の相関係数を算出し、相関係数が所定の値以上であれば、仮想OS時刻を、物理OS時刻に対応付け、対応付けされた物理OS時刻を、ログ日時とすることを特徴とする。
【選択図】図2

Description

本発明は、履歴時刻補正方法、プログラムおよび履歴時刻補正装置の技術に関する。
近年、IT(Information Technology)システムの高度化・複雑化に伴い、計算機システムで使用されるサーバ数が増加し、運用管理コストや管理負荷が増大してきている。また、サーバにはピーク時の負荷での応答性能などを保証するよう余裕を持ったリソースの搭載が必要とされる。しかしながら、サーバの全稼動時間から見ると有効にリソースを活用しているとは言い難い場合が多い。
そこで、システムリソースの有効活用によるコスト削減や運用負荷の低減に対するニーズが高まってきている。
このようなニーズに対する技術の1つとして、サーバ仮想化技術がある。サーバ仮想化技術は、1台の物理的なサーバのリソースを分割して何台もの仮想的なサーバ(仮想サーバ)を動作させる技術である。
特許文献1には、複数の仮想計算機が物理計算機上で動作する計算機システムにおいて、NTP(Network Time Protocol)サーバから時刻情報を取得した上で、仮想計算機と物理計算機のそれぞれのOS(Operating System)が備え個別に動いている時計の時刻差分を格納する時刻差分テーブルとログを取得するログ取得部を備え、時刻差分テーブルに格納された時刻差分に基づいて、各仮想計算機から取得したログのタイムスタンプを修正し、仮想計算機のログを物理計算機の時間体系に統一させた上で取得する計算機システム、ログ収集方法およびコンピュータプログラムが開示されている。
特開2006−285875号公報
このような仮想計算機は物理計算機と変わらない動作をすることができる。仮想計算機には、物理計算機と同じようにOSやアプリケーションをインストールすることができる。物理計算機の物理OS上で動く仮想計算機のアプリケーションが、物理計算機に備わっている物理的なリソースを分割し、仮想的なリソースである仮想リソースとして、それぞれの仮想計算機に割り当てる。仮想計算機上の仮想OSは、割り当てられた仮想リソースを使用して作動する。
計算機システムにおいては、計算機システム上で動作している業務プログラムに不正な操作やデータの改ざん等が行われていないかをチェックする監査の目的や、または障害発生時や保守時の現象の解析の目的で、業務プログラムのログ(業務履歴ログ)を収集する必要が生じる。
また、仮想OSおよび物理OSは、それぞれ時計を備え、個別に動いている。仮想OSや、物理OSから取得した業務履歴ログの解析には、時刻が重要な要素となるが、各OS上の時計は個別に動いており時計の精度も高くないことなどから、同一の物理計算機上の物理OS、仮想OSにおけるそれぞれの時計の時刻が同一時刻を示し続けることは容易ではない。
そのため、複数の仮想計算機上で業務プログラムが連携して動作する計算機システムの場合、個々の仮想計算機の業務プログラムの業務履歴ログだけでは、不正な操作やデータの改ざん等が行われていないかをチェックする監査や、障害や保守時の解析ができなく、各仮想計算機の業務履歴ログを収集し時間体系順に並べかえた計算機システム内の業務履歴ログが必要となる。
計算機の内蔵時計の多くは構成部品として水晶を用いており、その水晶の品質のばらつきの問題で通常でもプラスマイナス10万分の1秒から1万分の1秒(1秒あたり)以内のずれが生じる。さらに、水晶は熱による影響を受けやすく、計算機内の温度が高くなるほど内蔵時計の時刻のずれが発生する。こうして、物理計算機においても内蔵時計は1日数秒は前後することが多い。
さらに、物理計算機で実行されている物理OS、および仮想計算機で実行されている仮想OSでは、それぞれ時計アプリケーションが作動しており、それぞれの時計アプリケーションが内蔵時計(水晶時計)を規準として時刻を刻んでいる。物理計算機の物理リソースを割り当てられて動作する仮想計算機は、物理計算機の物理リソースを、複数の仮想計算機で使用することから他の仮想計算機の使用状況により影響を受けることがあり、物理リソースの負荷が高くなると仮想計算機の動作が遅くなったり、場合によっては、時刻が飛ぶことが多々ある。例えば、動作していない仮想計算機は、リソースの有効活用のために仮想計算機を完全に停止することがしばしば行われる。このようなときは、仮想OSで実行されている時計アプリケーションも停止してしまうため、物理OSや、他の仮想OSで作動している時計アプリケーションが刻んでいる時刻との間にズレが生じてしまう。
このようにして、仮想計算機が刻んでいる仮想OS時計は、物理計算機が刻んでいる物理OS時計と比べても時刻にズレが生じやすい。
仮想計算機の業務履歴ログは、仮想OS時計の時刻と共に保存される。複数の仮想計算機の業務履歴ログを収集し、各仮想計算機における業務履歴ログを作成する場合、各仮想計算機の仮想OS時計に時刻の差異が生じていると、それぞれの業務履歴ログの発生の順序が実際の動作と異なることがあり、監査や障害解析の役に立たなくなることがある。
そこで、特許文献1では、NTPサーバから時刻を取得し内蔵時計の時間を合わせる時刻補正ツールを使用して、各仮想計算機の内蔵時計の時刻に差異が発生しないようにしている。
しかし、分、秒単位に業務履歴ログが出力される計算機システムの場合、業務履歴ログが出力される毎に時刻補正ツールがNTPサーバから時刻を取得し内蔵時計を合わせるのでは、時刻補正ツールの動作自体がシステムに高負荷となり、業務に支障をきたすなどの問題が発生しやすく、適用は困難である。
このような背景に鑑みて本発明がなされたのであり、本発明は、仮想計算機から出力される履歴情報における履歴時刻を補正することを目的とする。
前記課題を解決するため、本発明は、物理計算機で実行されている仮想計算機から、履歴時刻を含む履歴情報を取得して、前記履歴時刻の補正を行う履歴時刻補正装置による履歴時刻補正方法であって、前記物理計算機では、前記仮想計算機のOSである仮想OSが実行されており、前記履歴時刻補正装置が、前記仮想OSを実行している前記仮想計算機の稼動状況を、当該仮想OSで計時されている仮想OS時刻を用いて監視した時系列の監視データである第1の機器情報と、前記仮想OSを実行している前記仮想計算機の稼動状況を、基準時刻を用いて監視した時系列の監視データである第2の機器情報と、の相関係数を算出し、前記相関係数が所定の値以上であれば、前記第1の機器情報における仮想OS時刻を、前記第2の機器情報における基準時刻に、対応付け、前記仮想OS時刻に基づく前記履歴時刻を、当該仮想OS時刻と対応付けされた前記基準時刻に基づくものとすることを特徴とする。
その他の手段については、実施形態中において適宜記載する。
本発明によれば、仮想計算機から出力される履歴情報における履歴時刻を補正することができる。
次に、本発明を実施するための最良の形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。なお、本実施形態において、プログラムが動作主体となっている場合、そのプログラムがコンピュータに対象となる処理を行わせていることを示すものとする。
《システム》
図1は、本実施形態に係る計算機システムの構成例を示す図である。各装置の詳細な説明は、図2で後記する。
計算機システム1は、ネットワーク400を介して互いに接続された物理計算機100、統合管理サーバ200(履歴時刻補正装置)およびNTPサーバ300を有してなる。
物理計算機100は、複数の仮想計算機10(仮想計算機α11、仮想計算機β12、仮想計算機γ13、・・・)を実行しており、各仮想計算機10において情報を処理している計算機である。統合管理サーバ200は、物理計算機100で実行されている仮想計算機10から収集した業務履歴ログ164〜166(図3で後記:請求項における履歴情報)の時刻合わせを行う機能を有している。NTPサーバ300は、各仮想計算機10へ一定時間(本実施形態では60分)毎に時刻情報を送り、各仮想計算機10では、NTPサーバ300から受け取った時刻情報に従って一定時間毎に時刻補正を行っている。なお、NTPサーバ300は、省略可能である。
図2は、本実施形態に係る計算機システムの詳細な構成例を示す図である。なお、図2において、図1と同様の構成要素については、同一の符号を付して説明を省略する。また、図2において、仮想計算機γ13に関するリソースおよびプログラム構成は、仮想計算機α11、仮想計算機β12と同様であるため、図3で詳細な説明を行うこととし、図2では省略してある。
ここで、NTPサーバ300は、通信インタフェース301を介して、ネットワーク400に接続している。
(物理計算機)
物理計算機100は、バスを介して接続されているメモリ101、記憶装置102、CPU(Central Processing Unit)103および通信インタフェース104を有してなる。メモリ101は、RAM(Random Access Memory)などの揮発性記憶装置からなり、記憶装置102は、HD(Hard Disk)や、フラッシュメモリなどの不揮発性記憶装置からなる。さらに、物理計算機100には、画面表示を行うためのディスプレイ105が接続されている。
物理計算機100はメモリ101上に仮想化システム管理プログラム152を有し、この仮想化システム管理プログラム152は、メモリ101上に仮想計算機α11(図1)、仮想計算機β12(図1)、・・・などの仮想計算機10を作成することができる。この際、メモリ101に空きがある限り、仮想化システム管理プログラム152は複数の仮想計算機10を作成することができる。仮想化システム管理プログラム152は、リソース割当制御プログラム153を用いてメモリ101内に仮想計算機α用メモリ110、仮想計算機β用メモリ120などの仮想計算機用メモリ140を作成し、それぞれを対応する各仮想計算機10(図1)に割り当てる。この際、リソース割当制御プログラム153は、メモリ101に空きがある限り複数の仮想計算機用メモリ140を作成し、割り当てることができる。
同様に、リソース割当制御プログラム153は、記憶装置102内に仮想計算機α用記憶領域161、仮想計算機β用記憶領域162などの仮想計算機用記憶領域167を作成し、それぞれを対応する仮想計算機10に割り当てる。この際、記憶装置102に空き領域がある限り、複数の仮想計算機用記憶領域167を割り当てることができる。
さらに、リソース割当制御プログラム153は、CPU103上に仮想計算機α用CPU171、仮想計算機β用CPU172などの仮想計算機用CPU173を作成し、それぞれを対応する仮想計算機10に割り当てる。この際、リソース割当制御プログラム153は、CPU103に空きがある限り、複数の仮想計算機10用のCPU173を割り当てることができる。
こうして仮想化システム管理プログラム152は、仮想計算機用メモリ140、仮想計算機用記憶領域167、仮想計算機用CPU173を使用し、物理計算機100と同様の動作をする仮想計算機10を設定することができる。
仮想OS141の1つである仮想OSα111、仮想OSα111用のプログラム113、時刻補正ツールプログラム(以下、時刻補正ツール114(144)と記載)は、仮想計算機α用記憶領域161に格納されていた各プログラムが、仮想計算機α用メモリ110上に展開され、仮想計算機α用CPU171によって実行されることにより具現化する。仮想OSα111は、仮想OSα111における時刻を計時する仮想OS時計112(142)を有している。仮想計算機α11は、仮想計算機α用メモリ110上で時刻補正ツール144およびプログラム113を動作させる。プログラム113の詳細は、図3で後記する。
同様に、仮想OS141の1つである仮想OSβ121、仮想OSβ121用のプログラム123、時刻補正ツール124(144)は、仮想計算機β用記憶領域162に格納されていた各プログラムが、仮想計算機β用メモリ120上に展開され、仮想計算機β用CPU172によって実行されることにより具現化する。そして、仮想OSβ121は、仮想OSβ121における時刻を計時する仮想OS時計122(142)を有している。仮想計算機β12は、仮想計算機β用メモリ120上で時刻補正ツール124(144)およびプログラム123を動作させる。プログラム123の詳細は、図3で後記する。
仮想計算機α用メモリ110や、仮想計算機β用メモリ120で実行されている時刻補正ツール144は、一定時間毎(本実施形態では60分毎)にNTPサーバ300(図1)より時刻情報を取得して仮想OS時計142の時刻を合わせる。こうして、時刻補正ツール144は各仮想OS141の仮想OS時計142の時刻を合わせる。なお、仮想OS時計142によって、計時される時刻を仮想OS時刻と記載する。
また、物理OS150は、仮想OS141とは異なるOSであり、仮想化システム管理プログラム152や、時刻補正ツール154(144)や、プログラム155を実行する機能を有する。物理OS150は、基準時刻としての物理OSにおける時刻(物理OS時刻)を計時する物理OS時計151を有している。
プログラム155は、図3において後記する。物理計算機100の構成については、図3を参照して、さらに詳細に説明する。
なお、物理OS150、時刻補正ツール154(144)およびプログラム155は、記憶装置102に格納されている各プログラムが、メモリ101に展開され、CPU103によって実行されることにより具現化する。
ここで、時刻補正ツール154(144)は、一定時間毎(本実施形態では60分毎)にNTPサーバ300(図1)より時刻を取得して物理OS時計151の時刻を合わせる。こうして、時刻補正ツール154(144)は、物理OS150が有する物理OS時計151の時刻を合わせる。なお、物理OS時計151で計時される時刻を物理OS時刻と記載する。
しかし、同一の物理計算機100上で複数の仮想計算機10が動作する場合、時刻補正ツール144が、例えば60分毎にNTPサーバ300から時刻情報を取得し、それぞれの物理OS時計151、仮想OS時計142の時刻を合わせたとしても、同一の物理計算機100のリソースを複数の仮想計算機10に割り当てるため時刻の差異が生じるのは避けられない。つまり、前記したように、リソースの有効活用のために動作していない仮想計算機10を完全に停止することがしばしば行われる。このようなときは、仮想OS141で実行されている時計アプリケーションも停止してしまうため、物理OS150や、他の仮想OS141で作動している時計アプリケーションが刻んでいる時刻との間にズレが生じてしまう。要するに、NTPサーバ300から時刻情報を取得する60分の間に、仮想計算機10が完全に停止した状況が生じると、結果として仮想OS時計142の時刻のズレが生じてしまうことになる。
(統合管理サーバ)
統合管理サーバ200は、仮想計算機10における業務履歴ログ164〜166(図3)の時刻合わせを行う機能を有しており、バスを介して接続されているメモリ201、記憶装置202(記憶部)、CPU(Central Processing Unit)203および通信インタフェース204を有してなる。メモリ201は、RAM(Random Access Memory)などの揮発性記憶装置からなり、記憶装置202は、HD(Hard Disk)や、フラッシュメモリなどの不揮発性記憶装置からなる。さらに、統合管理サーバ200には、画面表示を行うためのディスプレイ205が接続されている。
メモリ201には、物理計算機100で実行されている仮想OS141や、物理OS150とは、別のOSである物理OS210が記憶装置202より展開され、CPU203によって実行されて具現化している。この物理OS210内にも、物理OS時計211を有している。また、一定時間(本実施形態では、60分)毎にNTPサーバ300より取得した時刻情報に従って物理OS時計211の時刻(物理OS時刻)を合わせる時刻補正ツール212、そして、図4で詳細に説明するプログラム213が、記憶装置202より展開され、CPU203によって実行されることによって具現化している。
(物理計算機の詳細)
図3は、本実施形態に係る物理計算機の詳細な構成の例を示す図である。なお、図3において、図2に記載の通信インタフェース104およびCPU103は、省略されており、仮想OS141における仮想OS時計142、および物理OS150における物理OS時計151も省略されている。その他の構成要素において、図2と同様の構成要素については、図2と同一の符号を付して説明を省略する。
仮想計算機α用メモリ110には、図2のプログラム113として、業務履歴収集プログラム145、稼動性能収集プログラム146および業務プログラムA115などが展開され、仮想計算機α用CPU171(図2)によって実行されている。
同様に、仮想計算機β用メモリ120には、図2のプログラム123として、業務履歴収集プログラム145および稼動性能収集プログラム146、業務プログラムB125などが展開され、仮想計算機β用CPU172(図2)によって実行されている。
また、図2において省略されていた仮想計算機γ用メモリ130には、仮想OS141の1つである仮想OSγ131、時刻補正ツール134(144)、業務履歴収集プログラム145、および稼動性能収集プログラム146、業務プログラムA115などが展開され、仮想計算機γ用CPU(図示せず)によって実行されている。
仮想計算機α用メモリ110に展開されている業務履歴収集プログラム145は、業務プログラムA115が、操作や動作の結果について仮想OSα111向けに出力する業務履歴ログを収集し、仮想計算機α用記憶領域161内へ蓄積する(図3の符号164)。
仮想計算機α用メモリ110に展開されている稼動性能収集プログラム146は、仮想OSα111を介して、仮想計算機α11が使用している仮想計算機α用メモリ110、仮想計算機α用記憶領域161、仮想計算機α用CPU171などの、仮想計算機α11に関するリソースの稼動性能情報を一定時間(本実施形態では1分)毎に収集し、統合管理サーバ200の稼動性能管理プログラム223(図4)へ送信する。このとき、統合管理サーバ200の稼動性能管理プログラム223(図4)は、受信した稼動性能情報を記憶装置202内へ蓄積する(図4の符号252:第1の機器情報)。
業務プログラムA115は、仮想計算機α11における業務を提供するアプリケーションプログラムである。
仮想計算機β用メモリ120に展開されている業務履歴収集プログラム145は、業務プログラムB125が。操作や動作の結果について仮想OSβ121向けに出力する業務履歴ログを収集し、仮想計算機β用記憶領域162内へ蓄積する(図3の符号165)。
仮想計算機β用メモリ120に展開されている稼動性能収集プログラム146は、仮想OSβ121を介して、仮想計算機β12が使用している仮想計算機β用メモリ120、仮想計算機β用記憶領域162、仮想計算機β用CPU172などのリソースの稼動性能情報を一定時間(本実施形態では1分)毎に収集し、統合管理サーバ200の稼動性能管理プログラム223(図4)へ送信する。このとき、統合管理サーバ200の稼動性能管理プログラム223(図4)は、受信した稼動性能情報を記憶装置202内へ蓄積する(図4の符号252)。
業務プログラムB125は、仮想計算機β12における業務を提供するアプリケーションプログラムである。
仮想計算機γ用メモリ130に展開されている業務履歴収集プログラム145は、業務プログラムA115が、操作や動作の結果について仮想OSγ131向けに出力する業務履歴ログを収集し、仮想計算機γ用記憶領域163内へ蓄積する(符号166)。
仮想計算機γ用メモリ130に展開されている稼動性能収集プログラム146は、仮想OSγ131を介して、仮想計算機γ13が使用している仮想計算機γ用メモリ130、仮想計算機γ用記憶領域163、仮想計算機γ用CPU(図示せず)など、リソースの稼動性能情報を一定時間(本実施形態では1分)毎に収集し、統合管理サーバ200の稼動性能管理プログラム223(図4)へ送信する。統合管理サーバ200の稼動性能管理プログラム223(図4)は、受信した稼動性能情報を、記憶装置202内へ蓄積する(図4の符号252)。なお、ここでは、仮想計算機γ13(図1)において仮想計算機α11と同じ業務プログラムA115が実行されているものとする。
仮想OS稼動性能収集プログラム156は、仮想化システム管理プログラム152を介して、仮想化システム管理プログラム152が割り当てた各仮想計算機10の仮想計算機用メモリ140や、記憶装置102における仮想計算機用記憶領域167、仮想計算機用CPU173(図2)などのリソースの稼動性能情報を一定時間(本実施形態では、1分)毎に収集し、統合管理サーバ200の稼動性能管理プログラム223(図4)へ送信する。統合管理サーバ200の稼動性能管理プログラム223は、受信した稼動性能情報を記憶装置202(図4)内へ稼動性能情報253(第2の機器情報)として蓄積する。なお、仮想OS稼動性能収集プログラム156は、記憶装置102からメモリ101に展開され、CPU103(図2)が実行することによって具現化する。
つまり、稼動性能収集プログラム146が、仮想OS141内からみたリソースの使用状況を収集するのに対し、仮想OS稼動性能収集プログラム156は、仮想OS141外からみた各仮想計算機10におけるリソースの使用状況を収集する。
(統合管理サーバの詳細)
図4は、本実施形態に係る統合管理サーバの詳細な構成の例を示す図である。なお、図4において、図2に示されている通信インタフェース204およびCPU203は、省略されており、物理OS210および物理OS時計211も省略されている。その他の構成要素において、図2と同様の構成要素については、図2と同一の符号を付して説明を省略する。
業務履歴管理プログラム221は、各仮想計算機用記憶領域167に格納されている業務履歴ログ164〜166を収集し、記憶装置202内へシステム内業務履歴ログ251として格納する。業務履歴管理プログラム221内の補正時刻生成プログラム222(時刻補正部)は、各仮想計算機10におけるリソースの使用状況の情報である稼動性能情報252,253を取得し、OS時刻マッピングテーブル254を作成し、作成したOS時刻マッピングテーブル254を記憶装置202に格納させる。ここで、符号252は、仮想計算機用メモリ140における稼動性能収集プログラム146が収集した稼動性能情報であり、符号253は、仮想計算機用メモリ140外における仮想OS稼動性能収集プログラム156が収集した稼動性能情報である。
さらに、業務履歴管理プログラム221は、記憶装置202に格納されているOS時刻マッピングテーブル254を用いて、システム内業務履歴ログ251の時刻を補正する。さらに、業務履歴管理プログラム221は、補正した業務履歴ログをディスプレイ205に補正後業務履歴ログ画面261として表示する。
また、稼動性能管理プログラム223(稼動性能管理部)は、記憶装置202内に格納されている稼動性能情報252の情報をディスプレイ205に稼動性能グラフ262として表示する。
なお、図2における統合管理サーバ200のプログラム213は、業務履歴管理プログラム221、稼動性能管理プログラム223および補正時刻生成プログラム222であり、これらのプログラム221〜223は、記憶装置202からメモリ201に展開され、CPU203(図2)によって実行されて具現化する。
《業務履歴ログ》
図5および図6は、本実施形態に係る業務履歴ログの例を示す図であり、図5は、物理計算機における各仮想計算機用記憶領域に格納されている業務履歴ログを示し、図6は、統合管理サーバにおけるシステム内業務履歴ログを示している。
図5に示す業務履歴ログ164は、各仮想計算機10における業務履歴収集プログラム145が、業務プログラムで行われた操作の履歴や、動作完了や、障害発生など仮想OS141に対して出力するログの内容を格納している。図5では、例として仮想計算機α11から取得された業務履歴ログ164を示している。
業務履歴ログ164には、ログ日時(カラム501:請求項における履歴時刻)が含まれる他、業務履歴ログ164の出力元となっている業務プログラム名(出力元:カラム502)、業務履歴ログの種類(カラム503)、業務履歴ログ164のメッセージ(業務ログメッセージ:カラム504)、業務履歴ログ164が出力された仮想計算機10名(カラム505)が含まれる。
カラム501のログ日時は、ログが出力された仮想OS時計142における日時情報が記録される。カラム502の業務履歴ログ164の出力元には、該当するログを出力した業務プログラムの名称、(ここでは「業務プログラムA」、「業務プログラムB」)などが記録される。カラム503の業務履歴ログ164の種類は、該当するログの内容が示す状態である。「異常」はエラーの発生を、「警告」はプログラムの動作を止めるものではないが正常の動作と異なる状態の発生を、「情報」は動作の正常終了の発生などを示す。なお、図5の例では、「情報」のみが登録されている。カラム504の業務履歴ログメッセージは、該当するログが出力されたときに、仮想計算機10がシステム管理者に向けて出力したメッセージの内容である。
図6に示すシステム内業務履歴ログ251は、統合管理サーバ200の業務履歴管理プログラム221が、各仮想計算機10から取得した業務履歴ログ164〜166(図3)をまとめて生成した業務履歴ログである。システム内業務履歴ログ251は、各仮想計算機10から集められた業務履歴ログ164〜166が、ログ日時に関して昇順となるよう格納されている。なお、図6における各カラム601〜605は、図5のカラム501〜505と対応するため、説明を省略する。
《稼動性能収集処理》
図7は、本実施形態に係る稼動性能収集処理の流れを示すフローチャートである。
図7は、稼動性能収集プログラム146が各仮想OS141から仮想化システム管理プログラム152によって割り当てられたCPU使用量などのリソースの稼動状況(稼動性能情報252)を収集する処理である。
まず、稼動性能収集プログラム146が起動されると、稼動性能収集プログラム146は、稼動性能情報252を収集する間隔をそれぞれの仮想OS141上で設定されている図示しない設定ファイルから取得する(S101)。
次に、稼動性能収集プログラム146は、仮想OS時計142の時刻(仮想OS時刻)を取得する(S102)。
そして、稼動性能収集プログラム146は、図示しない入力装置を介して、稼動性能収集プログラム146の停止指示が入力されたか否かを判定する(S103)。
ステップS103の結果、停止指示が入力された場合(S103→Yes)、稼動性能収集プログラム146は、処理を終了する。
ステップS103の結果、停止指示が入力されていない場合(S103→No)、稼動性能収集プログラム146は、ステップS102で仮想OS141より取得した仮想OS時刻(現在の仮想OS時刻)と、前回、稼動性能情報252を取得した仮想OS時刻との差が、ステップS101で取得した稼動性能情報252を収集する間隔以上であるか否かを判定することによって、現在の仮想OS時刻が稼動性能情報252を収集する時刻であるか否かを判定する(S104)。なお、初回時であれば、ステップS104は「Yes」となる。
ステップS104の結果、現在の仮想OS時刻が、稼動性能情報252の収集時刻ではない場合(S104→No)、稼動性能収集プログラム146は一定時間待機した(S107)後、ステップS102へ処理を戻す。
ステップS104の結果、現在の仮想OS時刻が、稼動性能情報252の収集時刻である場合(S104→Yes)、稼動性能収集プログラム146は、仮想OS141からCPU使用量などといったリソースの使用状況の情報である稼動性能情報252(第1の機器情報)を取得する(S105)。
そして、稼動性能収集プログラム146は、統合管理サーバ200の稼動性能管理プログラム223へネットワーク400を介して取得した稼動性能情報252を送信した(S106)後、稼動性能収集プログラム146は、ステップS107の処理を行う。
稼動性能情報252を送信された統合管理サーバ200の稼動性能管理プログラム223は、受信した稼動性能情報252を記憶装置202へ格納する。
図8は、本実施形態に係る稼動性能情報の例を示す図であり、(a)は、仮想OSαにおける稼動性能情報を示し、(b)は、仮想OSβにおける稼動性能情報を示し、(c)は、仮想OSγにおける稼動性能情報を示している。
図8(a),(b),(c)におけるカラムの構造は共通であるので、各カラムには、同一の符号を付して、まとめて説明する。
稼動性能情報252には、収集日時(カラム801)が含まれる他、CPU使用量(カラム802)、CPU使用率(カラム803)、メモリ使用率(カラム804)、ディスク使用率(カラム805)などが含まれる。
カラム801の収集日時は、稼動性能情報252が稼動性能収集プログラム146により収集された時点の仮想OS時刻が記録される。カラム802のCPU使用量は、該当する仮想計算機10が使用している仮想計算機用CPU173の使用量であり、単位はMHzである。カラム803のCPU使用率は、該当する仮想計算機10が使用している仮想計算機用CPU173の全体に対する割合であり、単位は%である。カラム804のメモリ使用率は、該当する仮想計算機10が使用している仮想計算機用メモリ140の全体に対する割合であり、単位は%である。カラム805のディスク使用率は、該当する仮想計算機10が使用しているディスク(仮想計算機用記憶領域167)の全体に対する割合であり、単位は%である。この他にも、メモリ使用量などが収集され、格納されてもよい。仮想OS141のCPU使用量の取得、メモリ使用量の取得、仮想OS141のCPU使用率の算出、メモリ使用率の算出は既存の技術であるため、詳細な説明を省略する。
図9および図10は、本実施形態に係る稼動性能情報252のうちのCPU使用量と、収集日時との関係を示したグラフの例である。
図9および図10において、縦軸は、CPU使用量を示し、横軸は時刻(日時)を示す。
図9は、図7で収集した稼動性能情報252のうちCPU使用量を収集した時刻順にプロットしたものであり、図10は、図9においてプロットした点を線で結ぶことによってグラフ化したものである。このように稼動性能情報252は、前記仮想計算機10の稼動状況(CPU使用量)を、当該仮想OSで計時されている仮想OS時刻を用いて監視した時系列の監視データである。物理OSからみた稼動性能情報253も同様である。
統合管理サーバ200の稼動性能管理プログラム223は、図9および図10に示すグラフを稼動性能グラフ262(図4)としたディスプレイ205に描画させてもよい。
図10のような稼動性能グラフをディスプレイ205に描画することにより、システム管理者は仮想計算機10のCPU使用量の推移をグラフとして確認することができる。
さらに、稼動性能管理プログラム223は、稼動性能情報252のCPU使用量だけでなく、CPU使用率や、メモリ使用率や、ディスク使用率や、メモリ使用量なども同様に稼動性能グラフとしてディスプレイ205上に表示させることができるが、ここでは省略する。
《仮想OS稼動性能収集処理》
次に、図1〜図4を参照しつつ、図11に沿って物理OS150側からみたリソース状況の情報(稼動性能情報253:第2の機器情報)を収集する仮想OS稼動性能収集処理を説明する。
図11は、本実施形態に係る物理OSからみた稼動性能収集処理の流れを示す
まず、仮想OS稼動性能収集プログラム156が起動されると、仮想OS稼動性能収集プログラム156は、稼動性能情報253を収集する間隔を物理OS150上に保存されている設定ファイルから取得する(S201)。
次に、仮想OS稼動性能収集プログラム156は、物理OS150から物理OS時刻を取得する(S202)。
続いて、仮想OS稼動性能収集プログラム156は、図示しない入力装置を介して、仮想OS稼動性能収集プログラム156の停止指示が入力されたか否かを判定する(S203)。
ステップS203の結果、停止指示が入力された場合(S203→Yes)、仮想OS稼動性能収集プログラム156は、処理を終了する。
ステップS203の結果、停止指示が入力されていない場合(S203→Yes)、仮想OS稼動性能収集プログラム156は、ステップS202で物理OS150より取得した物理OS時刻(現在の物理OS時刻)と、前回、稼動性能情報253を取得した物理OS時刻との差が、ステップS201で取得した稼動性能情報253を収集する間隔以上であるか否かを判定することによって、現在の物理OS時刻が稼動性能を収集する時刻であるか否かを判定する(S204)。なお、初回時であれば、ステップS204は「Yes」となる。
ステップS204の結果、現在の物理OS時刻が、稼動性能情報253の収集時刻ではない場合(S204→No)、仮想OS稼動性能収集プログラム156は一定時間停止した(S209)後、ステップS202へ処理を戻す。
ステップS204の結果、現在の物理OS時刻が、稼動性能情報253の収集時刻である場合(S204→Yes)、仮想OS稼動性能収集プログラム156は、仮想化システム管理プログラム152から実行されている仮想OS数を取得する(S205)。
次に、仮想OS稼動性能収集プログラム156は、すべての仮想OS141の稼動性能情報253を取得したか否かを判定する(S206)。具体的には、後記するステップS207の処理を行う毎に、ステップS205で取得した仮想OS141数から1減算していき、ステップS206の段階で仮想OS141数が「0」となっているか否かを判定する。
ステップS206の結果、すべての仮想OS141の稼動性能情報253を取得している場合(S206→Yes)、仮想OS稼動性能収集プログラム156は一定時間待機した(S209)後、ステップS202へ処理を戻す。
ステップS206の結果、すべての仮想OS141の稼動性能情報253を取得していない場合(S206→No)、すなわち、取得していない仮想OS141がある場合、仮想OS稼動性能収集プログラム156は、仮想化システム管理プログラム152からCPU使用量などといったリソースの使用状況の情報である仮想OS141の稼動性能情報253(第2の機器情報)を取得する(S207)。ステップS207が、図7のステップS105と異なる点は、図7のステップS105では、仮想OS141から稼動性能情報252を取得したが、ステップS207では、仮想化システム管理プログラム152から稼動性能情報253を収集することである。このとき、仮想OS稼動性能収集プログラム156は、収集対象となる仮想OS141を仮想OS141の識別子の昇順などの規準で選択する。また、ステップS207で取得される稼動性能情報253のデータ構造は、図8で示したデータ構造と同じである。ただし、収集日時(カラム801)には稼動性能情報253を収集した時点における物理OS時刻が登録される。ここで、CPU使用量などのリソースの使用状況の情報は、既存の技術であるため、詳細な説明を省略する。
次に、仮想OS稼動性能収集プログラム156は、ステップS207で収集した稼動性能情報253(つまり、物理OS150からみた仮想OS141のリソース使用状況の情報)を統合管理サーバ200へ送信する(S208)。その後、仮想OS稼動性能収集プログラム156は、ステップS206へ処理を戻す。
《CPU使用量のグラフ》
図12は、本実施形態に係る各仮想OSにおけるCPU使用量のグラフであり、(a)は、仮想OSαのCPU使用量、(b)は、仮想OSβのCPU使用量、(c)は、仮想OSγのCPU使用量を示す。
なお、図12(a),(b),(c)において、煩雑になるのを避けるため図示していないが、すべてのグラフに関し、横軸が時刻を示し、縦軸がCPU使用量を示している。また、図12(a),(b),(c)において、上段のグラフが各仮想OS141からみた各仮想OS141のCPU使用量(図7の処理で取得された稼動性能情報252におけるCPU使用量)であり、下段のグラフが物理OS150からみた各仮想OS141のCPU使用量(図11の処理で取得された稼動性能情報253におけるCPU使用量)である。以下、稼動性能情報252におけるCPU使用量を仮想OSからみたCPU使用量と記載し、稼動性能情報253におけるCPU使用量を物理OSからみたCPU使用量と記載することとする。
図12に示すように、仮想OS141からみた仮想OS141のCPU使用量のグラフと、物理OS150からみた仮想OS141のCPU使用量のグラフとは、形状が異なっている。これは、前記した理由によって物理OS時刻と、仮想OS時刻との間にズレが生じているためである。
このことを図13を参照して、詳細に説明する。
図13は、仮想OSαにおけるCPU使用量のグラフを示す図であり、(a)は、仮想OSαからみた仮想OSαのCPU使用量を示すグラフであり、(b)は、物理OSからみた仮想OSαのCPU使用量を示すグラフである。つまり、図13(a),(b)は、それぞれ図12(a)の上段および下段のグラフを示している。図13のグラフは、横軸が時刻を示しており、縦軸がCPU使用量を示している。
仮想OSα111からみた仮想OSα111のCPU使用量は、前記した仮想OS141の特性、すなわちリソースの有効活用のために、稼動していない仮想OS141は時計機能も含めて完全に停止することにより時間の連続性が保証されない場合がある。すなわち、点1302と、点1303との間のようにCPU使用量も不連続にしか取得できない場合がある。
図13では2つのグラフの横軸の時間軸を同一の時刻としてCPU使用量を描画しているが、仮想OSα111における仮想OS時刻と、物理OS時刻が同一である保証はなく、例えば、グラフの上下の20:10分に相当するCPU使用量1301,1311を比較しても、この2つのCPU使用量1301,1311は同一の瞬間のCPU使用量とは限らない。他の時刻20:11,20:20,20:25,20:30についても同様である。
そこで、このような物理OS時刻と、仮想OS時刻との間のズレを補正するため、本実施形態では、統合管理サーバ200が、図6の処理で収集した稼動性能情報252(仮想OS141からみた稼動性能情報252)に含まれるCPU使用量と、図11の処理で収集した稼動性能情報253(物理OS150からみた稼動性能情報253)に含まれるCPU使用量について、相関関係を求める。そして、統合管理サーバ200が、相関度の高い、つまり相関係数が大きくなるCPU使用量のデータ群を算出し、その2点間の時刻から物理OS時刻と仮想OS時刻とのマッピングを行う。なお、CPU使用量の代わりに、メモリ使用量など時間と共に推移し、かつ各仮想計算機10において絶対量を示す(つまり、仮想OS141からみても、物理OS150からみても同じ値となる)情報を用いることもできる。
《業務履歴管理処理》
図1〜図4を参照しつつ、図14に沿って業務履歴管理処理の説明を行う。
図14は、本実施形態に係る業務履歴管理処理の流れを示すフローチャートである。
図14は、まず、業務履歴管理プログラム221が補正時刻生成プログラム222を呼び出し、稼動性能管理プログラム223から仮想OS141からみたCPU使用量、および物理OS150からみた仮想OS141のCPU使用量を稼動性能情報252,253から取得し、仮想OS141からみたCPU使用量と物理OS150からみた仮想OS141のCPU使用量の相関関係を求め、OS時刻マッピングテーブル254を生成する処理手順を示したフローチャートである。
なお、本実施形態において、図14の処理は、所定時間(本実施形態では1時間)毎に行われる処理であるが、管理者の入力開始指示によって開始される処理でもよい。
まず、業務履歴管理プログラム221は、空のOS時刻マッピングテーブル254を生成する。
次に、業務履歴管理プログラム221は、稼動性能情報252,253に、前回のログ時刻の補正から1時間分のデータが存在しているか否かを判定する(S301)。つまり、業務履歴管理プログラム221は、前回のログ時刻の補正時から1時間分の稼動性能情報252,253がたまったか否かを判定する。ここで、前回のログ時刻の補正時から1時間分の稼動性能情報252,253がたまったか否かを判定するのは、各仮想OS141は、それぞれ時刻補正ツール144を用いて、60分毎にNTPサーバ300から時刻情報を取得し、それぞれの仮想OS時計142の時刻を合わせることを想定しているからである。これにより、物理OS時計151の時刻と、各仮想OS時計142の時刻は、1時間以上のずれがないことになる。なお、1時間に1回程度なら、時刻補正ツール144の動作自体が計算機システム1に高負荷となることはなく、業務に支障をきたすことはない。
ステップS301の結果、稼動性能情報252,253に、前回のログ時刻の補正から1時間分のデータが存在していない場合(S301→No)、業務履歴管理プログラム221は、一定時間待機した(S304)後、ステップS301へ処理を戻す。
ステップS301の結果、稼動性能情報252,253に、前回のログ時刻の補正から1時間分のデータが存在している場合(S301→Yes)、業務履歴管理プログラム221は、相関関係をチェックする時間帯における物理OS150からみた仮想OS141のCPU使用量と、仮想OS141からみた仮想OS141のCPU使用量を取得する(S302)。
そして、業務履歴管理プログラム221は、取得した物理OS150からみた仮想OS141のCPU使用量の集合(以後、物理収集結果256と呼ぶ)、仮想OS141から収集した仮想OS141のCPU使用量の集合(以後、仮想収集結果255と呼ぶ)および2つのCPU使用量の相関関係をチェックする時間帯を引数として補正時刻生成処理を開始する(S303)。ステップS303の処理については、図15を参照して後記する。
《補正時刻生成処理》
次に、図1〜図4および図13を参照しつつ、図15に沿って補正時刻生成処理を説明する。
図15は、本実施形態に係る補正時刻生成処理の流れを示すフローチャートである。
図15では、補正時刻生成プログラム222が、仮想OS141からみた仮想OS141のCPU使用量、および物理OS150からみた仮想OS141のCPU使用量の相関関係からOS時刻マッピングテーブル254(図17で後記)を生成する処理を説明する。
仮想OS141からみたCPU使用量は、稼動性能収集プログラム146によって1分毎に稼動性能情報252として収集されている。この際、稼動性能収集プログラム146は収集した稼動性能情報252と共に、稼動性能収集プログラム146が動作している仮想計算機10における仮想OS時刻を対にして格納している。仮想OS時刻は、前記したように通常の時刻に対して前後したり、時刻が飛ぶことが多々ある。従って、稼動性能収集プログラム146は、1分ごとに稼動性能情報252を収集しているが、仮想OS時刻が前後したり飛んだりするため、稼動性能情報252も時間が飛んだ際は収集できず、常に連続したデータとは限らない(図13(a)参照)。
このような仮想OS時刻を補正するため、まず、補正時刻生成プログラム222は、仮想収集結果255から時間が連続したCPU使用量の連続データを取得する(S401)。時間が連続したCPU使用量の連続データとは、図13(a)における符号1321および符号1322で示す範囲である。ここでは、符号1321を連続データとした例で説明する。
次に、補正時刻生成プログラム222は、物理収集結果256において、ステップS401で取得した連続データと相関関係をチェックする開始時刻を「0分」に設定する(S402)。
次に、補正時刻生成プログラム222は、チェック開始時刻より取得した連続データと同数のチェックデータ(CPU使用量)を図14のステップS303の段階で引数として渡された物理収集結果256から取得する(S403)。つまり、ここで、連続データとは、仮想OS141からみた仮想OS141のCPU使用量であり、チェックデータとは、物理OS150からみた仮想OS141のCPU使用量である。図13を参照して説明すると、図13(a)における符号1321の範囲にあるCPU使用量のデータを連続データとするときは、図13(b)の符号1331から2個分のデータをチェックデータとする。同様に、図13(a)における符号1322の範囲にあるCPU使用量のデータを連続データとするときは、図13(b)における符号1331から14個分のデータをチェックデータとする。
次に、補正時刻生成プログラム222は、ステップS403で取得した仮想収集結果255の連続データと、物理収集結果256のチェックデータとの相関係数を算出する(S404)。また、相関係数とは2つの変量の相関関係の強弱の程度、関係の向きを計量化したものであり、本実施形態では「ピアソンの積率相関係数」を用いて相関係数を算出するものとする。「ピアソンの積率相関係数」以外の算出方法を用いて相関係数を算出してもよいことは、当然である。
そして、補正時刻生成プログラム222は、ステップS405で求めた相関係数の絶対値と、仮想収集結果255における連続データの開始時刻と、物理収集結果256のチェックデータの開始時刻を引数として、登録判定処理を開始する(S405)。登録判定処理では、ステップS404で算出した相関係数が十分大きいか否かを判定することにより、OS時刻マッピングテーブル254へ登録を行うか否かの判定を行うための情報を出力する。なお、ステップS405の処理については、図16を参照して後記する。
次に、補正時刻生成プログラム222は、ステップS405における登録判定処理の結果を用いて、OS時刻マッピングテーブル254への登録条件を満たすか否かを判定する(S406)。
ステップS406の結果、登録条件を満たさない場合(S406→No)、つまり、ステップS404で算出した相関係数が十分な値ではなく、チェックした仮想収集結果255の連続データと物理収集結果256のチェックデータのCPU使用量の値の推移に高い相関関係が見られない場合など、補正時刻生成プログラム222は、物理収集結果256におけるチェック開始時刻を1分進める(S409)。図13(b)を参照して説明すると、チェック開始が符号1331からであったものを、符号1332をチェック開始時刻、つまりチェックデータの開始とする。そして、補正時刻生成プログラム222は、時刻をずらした物理収集結果256のチェックデータと、再度仮想収集結果255の連続データと高い相関関係があるかチェックを行うべく、ステップS403へ処理を戻す。
ステップS406の結果、登録条件を満たす場合(S406→Yes)、つまり、仮想収集結果255の連続データと、高い相関関係のある物理収集結果256のチェックデータが見つかった場合など、補正時刻生成プログラム222は、仮想収集結果255の連続データの開始時刻(図12(a)の符号1301の時刻)と、物理収集結果256のチェック開始時刻(図12(b)の符号1331の時刻)とは同時刻であると判定し、仮想収集結果255の連続データのデータ数分、OS時刻マッピングテーブル254(図17で後記)の仮想OS141の時刻欄へ物理OS時刻を記録する(S407)。つまり、補正時刻生成プログラム222は、図13(a)における符号1301の時刻を、図13(b)における符号1331の時刻とし、図13(a)における符号1302の時刻を、図13(b)の符号1332の時刻として補正する。
そして、補正時刻生成プログラム222は、取得した仮想収集結果255におけるすべてのCPU使用量についてOS時刻マッピングテーブル254へマッピングしたか否かを判定する(S408)。
ステップS408の結果、仮想収集結果255におけるすべてのCPU使用量が、OS時刻マッピングテーブル254へマッピングされていない場合(S408→No)、補正時刻生成プログラム222は、ステップS401へ処理を戻し、新たな仮想収集結果255の連続データに関して、ステップS401〜ステップS409の処理を行う
ステップS408の結果、仮想収集結果におけるすべてのCPU使用量についてOS時刻マッピングテーブル254へマッピングした場合(S408→Yes)、補正時刻生成プログラム222は、図14のステップS303へリターンする。
《登録判定処理》
次に、図1〜図4を参照しつつ、図16に沿って、図15のステップS405における登録判定処理を説明する。
図16は、本実施形態に係る登録判定処理の流れを示すフローチャートである。
まず、補正時刻生成プログラム222は、図15のステップS405で引数として渡された相関係数の絶対値(図15のステップS405から渡された引数)が予め設定してある閾値以上であるか否かを判定する(S501)。相関係数は−1から1までの値を取り、絶対値が1に近いほど相関関係が強い。一般に相関係数の強さを評価する場合、絶対値が0.7以上の場合に強い相関があると言える。つまり、通常絶対値0.7を閾値とする。しかし、もともと同一のCPU使用量を、仮想OS141上からみた場合と物理OS150上からみた場合の比較であるため、値が近く相関関係が高い場合が多いはずなので、本実施形態では相関係数の絶対値が0.9以上の場合に、相関係数の値が大きいとする。つまり、絶対値0.9を閾値とする。なお、閾値が0.9に限らないことは当然である。
以下、「相関係数」とは「相関係数の絶対値」を示すこととする。
ステップS501の結果、相関係数が閾値以上である場合(S501→Yes)、補正時刻生成プログラム222は、仮想収集結果255の連続データと、物理収集結果256のチェックデータ間に高い相関関係があったとして、物理収集結果256のチェック開始時刻をチェックデータのマッピング開始時刻とする(S502)。つまり、図13を参照して説明すると、図13(b)における符号1331の時刻と、図13(a)における符号1301の時刻は一致しているとし、符号1331の時刻をマッピング開始時刻とする。そして、補正時刻生成プログラム222は、OS時刻マッピングテーブル254への登録条件を満たすと判定し(S503)、図15のステップS405にリターンする、この場合、図15のステップS406は「Yes」が選択される。
ステップS501の結果、相関係数が閾値未満である場合(S501→No)、補正時刻生成プログラム222は、物理収集結果256のチェックデータの最終時刻がチェック時間帯の最終時刻であるか判定する(S504)。ここで、チェック時間帯とは、図14のステップS302で取得した物理収集結果256に格納されているデータが示す時間である。本実施形態では、60分となる。ステップS504では、チェックデータの最終時刻が、チェック時間帯の最終時刻である場合、つまり、物理収集結果256における最後のデータである場合、その時間以降の物理収集結果256がないため、補正時刻生成プログラム222は、それ以上、物理収集結果256におけるチェック開始時刻を1分進めて再度相関関係を求めることができないためである。
ステップS504の結果、チェックデータの最終時刻がチェック時間帯の最終時刻でなない場合(S504→No)、物理収集結果256にまだチェックすべきデータが存在するので、補正時刻生成プログラム222は、保存している相関係数の値が、図15のステップS404で算出した相関係数の値より大きいか否かを判定する(S505)。ここで、保存している相関係数とは、後記するステップS506の処理で保存している相関係数である。これは、相関係数が閾値に届かないものの、高い値を示しているチェックデータと、連続データとのペアを保存しておき、物理収集結果256におけるデータのすべての相関係数を算出しても、閾値以上を示すチェックデータと、連続データとのペアが存在しない場合に、保存しておいたチェックデータと、連続データとのペアを時刻補正に用いる目的で行われる。登録判定処理が、初めて実行された場合など、保存している相関係数がない場合、補正時刻生成プログラム222は、保存している相関係数の値を0としておく。つまり、保存している相関係数がない場合、補正時刻生成プログラム222は、ステップS505で「Yes」と判定する。
ステップS505の結果、相関係数が保存している相関係数(前の時間に求めた相関係数)の値以下であった場合(S505→No)、補正時刻生成プログラム222は、前の時間の物理収集結果256のチェック開始時刻(保存しているチェック開始時刻)の方が仮想収集結果255の連続データと物理収集結果256のチェックデータと時刻のマッピングを取るのにふさわしいと判定する。このため、補正時刻生成プログラム222は、前の時間に求めた相関係数およびその相関係数を求めた際の物理収集結果256のチェック開始時刻を、そのまま保存しておく必要がある。つまり、ステップS505で「No」が選択された場合、補正時刻生成プログラム222は、なにも処理を行わずに、補正時刻生成プログラム222は、OS時刻マッピングテーブル254への登録条件を満たさないと判定し(S507)、図15のステップS405にリターンする。この場合、図15のステップS406は「No」が選択される。
ステップS505の結果、相関係数が保存している相関係数の値より大きい場合(S505→Yes)、補正時刻生成プログラム222は、図15のステップS404で算出した相関係数と、物理収集結果256のチェック開始時刻をマッピング候補時刻として記憶装置202に保存する(S506)。そして、補正時刻生成プログラム222は、OS時刻マッピングテーブル254への登録条件を満たさないと判定し(S507)、図15のステップS405にリターンする、この場合、図15のステップS406は「No」が選択される。
ステップS504の結果、チェックデータの最終時刻がチェック時間帯の最終時刻である場合(S504→Yes)、ステップS506で保存していたマッピング候補時刻をチェックデータのマッピング開始時刻とする(S508)。つまり、補正時刻生成プログラム222は、物理収集結果256のすべてのデータに関し相関係数を算出しても、閾値以上を示す値が算出されなかったので、保存しておいた連続データと、チェックデータとを用いて仮想OS時刻の補正を行う。そして、補正時刻生成プログラム222は、OS時刻マッピングテーブル254への登録条件を満すと判定し(S503)、図15のステップS405にリターンする、この場合、図15のステップS406は「Yes」が選択される。
業務履歴管理プログラム221および補正時刻生成プログラム222は、図14〜図16で示したフローチャートでの処理手順を物理計算機100で実行されている各仮想OS141のそれぞれについて実行し、算出された仮想収集結果255と物理収集結果256のCPU使用量について相関関係を求め、物理OS時刻と各仮想OS時刻のマッピングを行い、OS時刻マッピングテーブル254を完成させる。こうして、統合管理サーバ200は、時刻の補正を行うデータを求める。
このように、仮想OS141からみたCPU使用量と、物理OS150からみた仮想OS141のCPU使用量の相関関係を求め、対応する(相関係数が高い値を示す)それぞれの仮想OS時刻、物理OS時刻を対応付けてOS時刻マッピングテーブル254へ出力する。
《OS時刻マッピングテーブル》
図17は、本実施形態に係るOS時刻マッピングテーブルの例を示す図である。
OS時刻マッピングテーブル254は、各仮想OS141からみたCPU使用量と、物理OS150からみたそれぞれの仮想OS141のCPU使用量の相関関係を求め、相関関係の高かったCPU使用量における対の時刻をマッピングし、テーブル化したものである。
OS時刻マッピングテーブル254には、仮想OSα111、仮想OSβ121および仮想OSγ131の時刻(仮想OS時刻:カラム1702〜1704)が、物理OS150の時刻(物理OS時刻:カラム1701)と対応付けられて保存されている。
例えば、レコード1711では、仮想OSα111の時刻「08/08/05 20:22」、仮想OSβ121の時刻「08/08/05 20:17」および仮想OSγ131の時刻「08/08/05 20:36」が、物理OS150の時刻「08/08/05 20:17」に対応することを示している。つまり、仮想OSα111において「08/08/05 20:22」に取得された業務履歴ログの収集日時は、物理OS150の時刻「08/08/05 20:17」に相当することを意味している。他の仮想OS141についても同様である。
なお、仮想OS141の時刻におけるハイフン(「−」)は、仮想OS時刻が、時刻飛びなどを起こしており、物理OS時刻に相当するCPU量を仮想OS141上で収集できず、存在しないことを示している。さらに、仮想OS141の時刻におけるハイフン(「−」)は、収集時には、物理OS時刻に対応する仮想OS時刻が取得されたものの、マッピングの結果、他の物理OS時刻と対応付けられたため、該当する仮想OS時刻が空欄となってしまったことも示している。例えば、欄1712のハイフン(「−」)は、仮想OS時刻の収集時において「08/08/05 20:21」の仮想OS時刻が取得されていたが、マッピングの結果、この仮想OS時刻は、行1713に示すように「08/08/05」の物理OS時刻と対応付けられたため、欄1712は空欄となったことを示している。
つまり、仮想OS141の時刻におけるハイフン(「−」)は、リソースの有効利用のために仮想計算機10が完全に停止しており、CPU使用量を含む稼動性能情報252が存在しないか、補正時刻生成プログラム222が、高い相関関係を示す物理OS時刻を検出することができなかったことを示している。
《システム内業務履歴ログへの補正時刻追加処理》
次に、図1〜図4を参照しつつ、図18に沿ってシステム内業務履歴ログ251へ補正時刻を追加する処理を説明する。
図18は、本実施形態に係るシステム内業務履歴ログへの補正時刻追加処理の流れを示すフローチャートである。
図18では、業務履歴管理プログラム221が、補正時刻生成プログラム222によって生成されたOS時刻マッピングテーブル254を用いて、システム内業務履歴ログ251に補正時刻を追加する。なお、図18の処理は、図14〜図16の処理が行われた後、行われてもよいし、システム管理者の開始指示が図示しない入力装置を介して入力された際に行われてもよいし、予め設定されている一定時間毎に行われてもよい。
まず、業務履歴管理プログラム221は、補正時刻が追加されていない取得可能なシステム内業務履歴ログ251があるか否かを判定する(S601)。
ステップS601の結果、補正時刻が追加されていない取得可能なシステム内業務履歴ログ251がない場合(S601→No)、業務履歴管理プログラム221は、処理を終了する。
ステップS601の結果、補正時刻が追加されていない取得可能なシステム内業務履歴ログ251がある場合(S601→Yes)、業務履歴管理プログラム221は記憶装置202から図6に示すシステム内業務履歴ログ251を取得する(S602)。
次に、業務履歴管理プログラム221は、OS時刻マッピングテーブル254(図17)から、仮想計算機10名とログ日時に相当する物理OS150の時刻(カラム1701)を取得する(S603)。具体的には、業務履歴管理プログラム221は、システム内業務履歴ログ251において処理の対象となっているレコードの仮想計算機10名を取得すると、取得した仮想計算機10名で実行している仮想OS141に仮想OS141名を問い合わせる。そして、業務履歴管理プログラム221は、問い合わせの結果、取得した仮想OS141名と、仮想計算機10名に対応しているログ日時をキーとして、OS時刻マッピングテーブル254を検索し、対応している物理OS150の時刻を取得する。
そして、業務履歴管理プログラム221は、システム内業務履歴ログ251に補正後時刻のフィールドを追加し、この追加した補正後時刻のフィールドに取得した物理OS150の時刻を書き込む(S604)ことにより、図19で後記する補正後システム内業務履歴ログを生成する。
その後、業務履歴管理プログラム221は、ステップS601へ処理を戻す。業務履歴管理プログラム221は、ステップS601の取得可能なシステム内業務履歴ログ251がなくなるまで、システム内業務履歴ログ251への補正時刻追加処理を繰り返す。
《補正後システム内業務履歴ログ》
図19は、本実施形態に係る補正後システム内業務履歴ログの例を示す図である。
補正後システム内業務履歴ログは、図6に示すシステム内業務履歴ログに補正後日時のフィールド(カラム1901)が追加された構成である。その他のフィールドは、図6と同様であるので、同一の符号を付して説明を省略する。前記したように、補正後日時には、OS時刻マッピングテーブル254において、対象となる仮想OS141に係るログ日時に対応する物理OS150の時刻が登録される。
このように、業務履歴管理プログラム221は、追加した補正後日時で並びかえた補正後システム内業務履歴ログを統合管理サーバ200のディスプレイ205に表示することで、システム管理者は、物理OS時刻で一元的な時系列の業務履歴ログを閲覧することができ、管理を一元化することが可能となる。
なお、本実施形態では、図6に示すシステム内業務履歴ログ251に補正後日時のフィールドを追加したが、これに限らず、図6に示すシステム内業務履歴ログ251のログ日時を、対応する物理OS時刻で置換してもよい。
また、本実施形態では物理OS時刻を基準時刻として、仮想OS時刻と対応付ける構成としたが、これに限らず、例えば、外部装置から時刻を取得し、これを基準時刻としてもよい。
なお、本実施形態では、非ブレード構造の物理計算機100を想定しているが、ブレード構造を有していてもよい。ブレード構造の場合、ブレード毎に仮想計算機10が実行されるが、仮想計算機10で動作する時計もブレード毎に設置される。ブレード上の時計は個々に作動するため、それぞれの時計が計時する時刻にズレが生じてくる。そこで、物理計算機100で実行されている物理OS時計151や、特定のブレードにおける時計を規準とし、他のブレードで計時されている時刻を合わせるようにしてもよい。
《別の実施形態1》
次に、図4を参照しつつ、図20および図21に沿って、本実施形態に係る別の実施形態1を説明する。
ここでは、仮想OS141からみたCPU使用量と、物理OS150からみた仮想OS141のCPU使用量の相関関係を求める際、高い相関が出ない場合の対応策として、CPU使用量の変局点を抽出し、CPU使用量の変局点のみのグラフで相関関係を求める方法について説明する。
図20は、本実施形態に係る変局点を説明するための図であり、(a)は、変局点以外の点を含むグラフ、(b)は、変局点のみの点を含むグラフを示す。
図20(a),(b)において、横軸は時刻を示し、縦軸はCPU使用量を示す。
ここで、変局点とは、CPU使用量が前の値からの変位の向きが変わる点である。つまり、変局点とは、増加していたCPU使用量が減少に転じた点、または増加していたCPU使用量が増加も減少もなく変化しなかった点である。減少傾向からも同様で、図20(a)における黒い点で示したCPU使用量の値が変局点である。
変局点でない白い点で示したCPU使用量のデータを省き、残ったCPU使用量の値を線で繋いだグラフが図20(b)に示すグラフである。このように変局点のみで描画したグラフは、CPU使用量の値の変化を顕著に表すことができ、高い相関係数を示すことが可能になる場合が多い。
図21は、本実施形態に係る変局点の抽出処理の流れを示すフローチャートである。
なお、図14〜図16の処理において高い相関を示すCPU使用量が検出されなかった場合、図21の処理を、図14におけるステップS301とステップS302との間で行うことにより、変局点を除いたデータを用いて相関係数の算出を再度行うものである。また、図21の処理は、仮想OS141からみた仮想OS141のCPU使用量、物理OS150からみた仮想OS141のCPU使用量の両方に対して行うものとする。また、図21の処理を行う際には、図16のステップS506では、ステップS501の閾値よりも低い閾値を設定し、補正時刻生成プログラム222は、この設定した閾値未満であれば保存しないこととしてもよい。
まず、変局点抽出部としての業務履歴管理プログラム221は、稼動性能情報252,253から時間の早い順にCPU使用量を取得し、取得したCPU使用量を「チェック点1」、「チェック点2」とする(S701)。つまり、CPU使用量のデータにおける最初のデータを「チェック点1」とし、2番目のデータを「チェック点2」とする。
対象とするデータの先頭のデータは無条件に変局点とするため、業務履歴管理プログラム221は、「チェック点1」を変局点とする(S702)。
次に、業務履歴管理プログラム221は、取得可能なCPU使用量があるか否かを判定する(S703)。つまり、「チェック点2」のデータが、最後のデータでないか否かを判定する。
ステップS703の結果、取得可能なCPU使用量がない場合(S703→No)、業務履歴管理プログラム221は、以下の処理において変局点リストに該当するCPU使用量および時刻以外のデータを物理収集結果256および仮想収集結果255から除外し(S716)、図14のステップS302へ処理をリターンする。つまり、業務履歴管理プログラム221は、変局点となっているデータを抽出し、新たな稼動性能情報252,253を生成する。
ステップS703の結果、取得可能なCPU使用量がある場合(S703→Yes)、業務履歴管理プログラム221は、「チェック点2」の次のCPU使用量を取得し、「チェック点3」とする(S704)。ここまでで、業務履歴管理プログラム221は、3つの連続したデータを取得する。
そして、業務履歴管理プログラム221は、「チェック点2」から「チェック点1」を引いた結果を「結果1」とし、この「結果1」の値が正値、負値、0(ゼロ)値のいずれであるのかを判定する(S705)。つまり、業務履歴管理プログラム221は、「チェック点2」のCPU使用量から、「チェック点1」のCPU使用量を引いた値が正値、負値、0(ゼロ)値のいずれであるのかを判定する。
ステップS705の結果、負値であると判定した場合(S705→負)、業務履歴管理プログラム221は、「結果1」を−1とする(S706)。
ステップS705の結果、0(ゼロ)値であると判定した場合(S705→0)、業務履歴管理プログラム221は、「結果1」を0(ゼロ)とし(S707)、ステップS705の結果、正値であると判定した場合(S705→正)、業務履歴管理プログラム221は、「結果1」を1とする(S708)。
ステップS706、ステップS707またはステップS708の後、業務履歴管理プログラム221は、「チェック点3」から「チェック点2」を引いた結果を「結果2」とし、この「結果2」の値が正値、負値、0(ゼロ)値のいずれであるのかを判定する(S709)。つまり、業務履歴管理プログラム221は、「チェック点3」のCPU使用量から、「チェック点2」のCPU使用量を引いた値が正値、負値、0(ゼロ)値のいずれであるのかを判定する。
ステップS709の結果、負値であると判定された場合(S709→負)、業務履歴管理プログラム221は、「結果2」を−1とする(S710)。
ステップS709の結果、0(ゼロ)値であると判定した場合(S709→0)、業務履歴管理プログラム221は、「結果2」を0(ゼロ)とし(S711)、ステップS709の結果、正値であると判定した場合(S709→正)、業務履歴管理プログラム221は、「結果2」を1とする(S712)。
次に、業務履歴管理プログラム221は、「結果1」と「結果2」とを比較し、「結果1」と「結果2」とが同じ値であるか否かを判定する(S713)。
ステップS713の結果、「結果1」と、「結果2」との値が同じである場合(S713→Yes)、「チェック点1」と、「チェック点2」を結んだ線、および「チェック点2」と、「チェック点3」を結んだ線は、傾きの方向が同じであるため、「チェック点2」は変局点ではない。従って、業務履歴管理プログラム221は、「チェック点2」を変局点とすることなくステップS715へ処理を進める。
ステップS713の結果、「結果2」と、「結果2」との値が同じではない場合(S713→No)、「チェック点1」と、「チェック点2」を結んだ線、および「チェック点2」と、「チェック点3」を結んだ線は、傾きの方向が異なっているため、「チェック点2」は変局点である。従って、業務履歴管理プログラム221は、「チェック点2」を変局点とし(S714)、該当するCPU使用量および時刻情報の組を変局点リストに記憶する。ステップS713で「No」が選択されるのは、「チェック点2」から「チェック点1」を減算した結果と、「チェック点3」から「チェック点2」を減算した結果とで、数の正負を示す符号が変化している場合である。
そして、業務履歴管理プログラム221は、「チェック点2」を新たな「チェック点1」とし、「チェック点3」を新たな「チェック点2」として(S715)、ステップS703へ処理を戻し、ステップS703で取得可能なCPU使用量がなくなるまで変局点の抽出処理を繰り返す。
なお、図21の説明は、稼動性能情報252,253から変局点を抽出する方法の一例であり、例えば業務履歴管理プログラム221が微分係数が0となる点、もしくは、微分係数が0ではない値から、0となる点などを使用してもよい。
このように変局点に該当する各CPU使用量を使用して、業務履歴管理プログラム221および補正時刻生成プログラム222は、図14〜図16で示した処理手順にてOS時刻マッピングテーブル254を生成する処理を行う。変局点以外のデータを含む処理で高い相関関係が得られない場合でも、変局点に該当するデータのみを使用することで高い相関関係を得る可能性が高くなり、OS時刻マッピングテーブル254を得られる可能性を高くすることができる。
《別の実施形態2》
図22〜図24に沿って、本実施形態に係る別の実施形態2を説明する。
前記した実施形態では、システム内業務履歴ログ251に補正時刻を追加し、仮想OS141から出力されるシステム内業務履歴ログ251を、物理OS時刻により、一元的な系列順として並びかえる例を示したが、本発明における仮想OS時刻の補正は、システム内業務履歴ログ251だけではなく、仮想計算機10におけるWeb/AP(Application)サーバへのアクセス数や、データベース167容量の推移や、ERP(Enterprise Planning Package)プログラム148およびグループウェア149における利用者数などの情報(以下、履歴情報257と記載する)についても適用できる。
図22は、本実施形態に係る物理計算機の構成例を示す図である。
図22において、図3と同様の構成要素については同一の符号を付して説明を省略する。
図22の物理計算機100aが、図3の物理計算機100と異なる点は以下の点である。まず、仮想計算機α用メモリ110aにおいて、業務プログラムA115の代わりにWeb/APサーバプログラム147が実行されている。また、仮想計算機β用メモリ120aにおいて、業務プログラムB125の代わりにWeb/APサーバプログラム147およびERPプログラム148が実行されている。さらに、仮想計算機γ用メモリ130aにおいて、業務プログラムA115の代わりにWeb/APサーバプログラム147や、グループウェア149が実行されている。さらに、仮想計算機α用記憶領域161aにはデータベース167が格納されている。また、仮想計算機α用メモリ110aには、データベース容量の推移などのデータベースに関する履歴情報257を出力するデータベース管理プログラム170が実行されている。なお、図22において、図3における業務履歴種集プログラム145が省略されている。
複数の仮想OS141上で動作するWeb/APサーバプログラム147や、データベース管理プログラム170などのアプリケーションは、それぞれの接続可能セッション数やデータベース容量などの推移について、システム負荷を把握する面から適切に管理する必要がある。しかし、これらのアプリケーションを仮想OS141上で動作させる場合、それぞれのアプリケーションにおけるシステムリソース使用量や履歴情報257などは仮想OS時刻に基づいて記録される。従って、前記した理由により、異なる仮想OS141上で実行されている同じ種類のアプリケーションの履歴情報257を対比させた際、対比した履歴情報257それぞれが同一の時間に記録されたものであるとは限らない。そこで、本実施形態では、前記した実施形態と同様にCPU使用量などの稼動性能情報252,253を用いて、仮想OS時刻と、物理OS時刻とのマッピングを行い、このマッピングを用いてWeb/APサーバプログラム147へのアクセス数などの履歴情報257における仮想OS時刻を補正する。
図23は、本実施形態に係る統合管理サーバの構成例を示す図である。
なお、図23において図4と同様の構成要素については、同一の符号を付して説明を省略する。
図23の統合管理サーバ200aが、図4の統合管理サーバ200と異なる点は以下の点である。
まず、メモリ201aにおいて業務履歴管理プログラム221の代わりに、履歴情報257の管理を行う履歴情報管理プログラム224が実行されている。そして、記憶装置202aには、システム内業務履歴ログ251の代わりに履歴情報257が格納されている。また、ディスプレイ205には、時刻を補正された補正後履歴情報グラフ263が表示されている。
履歴情報管理プログラム224は、各仮想計算機10で実行されているWeb/APサーバプログラム147や、データベース管理プログラム170などから、時刻情報と対応付けられた接続可能セッション数やデータベース容量の情報を取得し、記憶装置202aの履歴情報257に格納する。履歴情報には、時刻情報(請求項における履歴時刻)、接続可能セッション数やデータベース容量の情報、情報の送信元となっている仮想計算機10の情報とが対応付けられて格納されている。
なお、図22の物理計算機100aのハードウェア構成、図23の統合管理サーバ200aのハードウェア構成、およびその他の計算機システム1の装置については、図2と同様であるため図示および説明を省略する。さらに、本実施形態に係る処理は、システム内業務履歴ログ251が、履歴情報257に置き換わる以外は、前記した実施形態と同様であるため処理の説明も省略する。
《履歴情報の時刻補正の結果》
図24は、本実施形態に係る履歴情報グラフの例を示す図であり、(a)は、時刻補正前、(b)は、時刻補正後の例を示す。
なお、図24において、横軸は時刻を示し、縦軸はWeb/APサーバプログラム147に対する同時接続ユーザ数の合計を示す。
図24は、履歴情報管理プログラム224により、収集されたWeb/APサーバプログラム147の接続ユーザ数をグラフ表示したものである。
ここで、図24(a)における線2403は、仮想計算機β12上で動作するWeb/APサーバプログラム147への接続中のユーザ数のグラフである。また、図24(a)における線2402は仮想計算機α11上で動作するWeb/APサーバプログラム147への接続ユーザ数に、同一時刻の仮想計算機β12上におけるWeb/APサーバプログラム147への接続中のユーザ数を加算したグラフである。さらに、図24(a)における線2401は、仮想計算機γ13上で動作するWeb/APサーバプログラム147への接続中のユーザ数に、同一時刻の仮想計算機β12と仮想計算機α11上におけるWeb/APサーバプログラム147への接続中のユーザ数を加算したグラフである。各グラフ間における縦の線は、同一時刻のデータであることを示している。
また、線2404は、この計算機システム1に設定された最大同時接続ユーザ数を表す閾値を示し、線2402の各点が、線2404を越えない限り、接続を要求したユーザに対するすべての処理が保証されるよう性能設計がされている。
図24(a)に示すグラフのように、それぞれの仮想OS時刻に従ってグラフ表示した場合は同時に接続しているユーザ数の合計(線2402)は、最大同時接続ユーザ数(線2404)を超えておらず、問題があるようには見えない。
しかし、図24(b)のグラフのように、物理OS時刻で補正した場合、各線における値が横方向(時間軸方向)にずれる。ここで、線2401a,2402a,2403aは、図24(a)における線2401,2402,2403における仮想OS時刻が補正されることにより、時間軸方向にずれた線である。
図24(b)における各線2401a,2402a,2403aに示すように物理OS150上の時刻のマッピングに合わせて前後することで、その時々の接続ユーザ数の合計が図24(a)のグラフとは異なってくる。例えば、グラフ中の時刻20:22ではシステム上の最大同時接続ユーザ数(線2404)の値を超えており、その他にも時刻20:20や時刻20:30などでも最大同時接続ユーザ数(線2404)に近い値となっていることが分かる。
このように複数の仮想計算機上のアプリケーションの履歴情報257についても、仮想OS時刻を物理OS時刻に補正するなどしてグラフ表示することにより、例えば、以下のことが分かる。図24(a)における時刻20:22のように、時刻補正前では最大同時接続ユーザ数(線2404)の線を越えていない状態でも、時刻補正により、図24(b)に示すように実際には最大同時接続ユーザ数(線2404)を超えた状態となっており、接続できなくなるユーザが生じていることが分かる。これにより、この計算機システム1のリソースや性能などの見直しを図らなければならない状態であることを、システム管理者は読み取ることができるようになる。
同様に、アプリケーションのリソース使用量や履歴情報について、仮想OS141から取得したCPU使用量と物理OS150から取得したCPU使用量の相関関係から生成したOS時刻マッピングテーブル254を用いて、リソース使用量や履歴情報に補正後時刻を追加し、補正後時刻で並びかえてグラフ表示することにも適用できる。
また、システム内業務履歴ログ251やアプリケーションのシステムリソース使用量、履歴情報だけでなく、タイムスタンプを持つファイルや受送信日時を有する電子メールなどについても適用できる。
本実施形態によれば、物理計算機100の内蔵時計の時刻とは異なる時刻の内蔵時計を有する仮想計算機10上で動作する仮想計算機10上の業務プログラムの業務履歴ログを、分、秒単位に業務履歴ログが出力されNTPサーバ300を利用した時刻合わせでは時間を合わせきれない場合でも物理計算機100の内蔵時計の時間体系に統一させた上で取得できる。つまり、システム内業務履歴ログ251や、仮想計算機10におけるWeb/APサーバへのアクセス数や、データベース167容量の推移や、ERP(Enterprise Planning Package)プログラム148およびグループウェア149における利用者数などの情報における時刻を補正することができる。これにより、仮想計算機10から出力される業務履歴ログを一元的な時系列順にした管理が可能となる。
本実施形態に係る計算機システムの構成例を示す図である。 本実施形態に係る計算機システムの詳細な構成例を示す図である。 本実施形態に係る物理計算機の詳細な構成の例を示す図である。 本実施形態に係る統合管理サーバの詳細な構成の例を示す図である。 物理計算機における各仮想計算機用記憶領域に格納されている業務履歴ログの構成例を示す図である。 統合管理サーバにおけるシステム内業務履歴ログの構成例を示す図である。 本実施形態に係る稼動性能収集処理の流れを示すフローチャートである。 本実施形態に係る稼動性能情報の例を示す図であり、(a)は、仮想OSαにおける稼動性能情報を示し、(b)は、仮想OSβにおける稼動性能情報を示し、(c)は、仮想OSγにおける稼動性能情報を示している。 本実施形態に係る稼動性能情報のうちのCPU使用量と、収集日時との関係を示したグラフの例である。 本実施形態に係る稼動性能情報のうちのCPU使用量と、収集日時との関係を示したグラフの例である。 本実施形態に係る物理OSからみた稼動性能収集処理の流れを示すフローチャートである。 本実施形態に係る各仮想OSにおけるCPU使用量のグラフであり、(a)は、仮想OSαのCPU使用量、(b)は、仮想OSβのCPU使用量、(c)は、仮想OSγのCPU使用量を示す。 仮想OSαにおけるCPU使用量のグラフを示す図であり、(a)は、仮想OSα111からみた仮想OSαのCPU使用量を示すグラフであり、(b)は、物理OS150からみた仮想OSαのCPU使用量を示すグラフである。 本実施形態に係る業務履歴管理処理の流れを示すフローチャートである。 本実施形態に係る補正時刻生成処理の流れを示すフローチャートである。 本実施形態に係る登録判定処理の流れを示すフローチャートである。 本実施形態に係るOS時刻マッピングテーブルの例を示す図である。 本実施形態に係るシステム内業務履歴ログへの補正時刻追加処理の流れを示すフローチャートである。 本実施形態に係る補正後システム内業務履歴ログの例を示す図である。 本実施形態に係る変局点を説明するための図であり、(a)は、変局点以外の点を含むグラフ、(b)は、変局点のみの点を含むグラフを示す。 本実施形態に係る変局点の抽出処理の流れを示すフローチャートである。 本実施形態に係る物理計算機の構成例を示す図である。 本実施形態に係る統合管理サーバの構成例を示す図である。 本実施形態に係る履歴情報グラフの例を示す図であり、(a)は、時刻補正前、(b)は、時刻補正後の例を示す。
符号の説明
1 計算機システム
100 物理サーバ
141 仮想OS
142 仮想OS時計
146 稼動性能収集プログラム
150 物理OS
151 物理OS時計
156 仮想OS稼動性能収集プログラム
164〜166 業務履歴ログ
200 統合管理サーバ(時刻補正装置)
221 業務履歴管理プログラム(変局点抽出部)
222 補正時刻生成プログラム(時刻補正部)
223 稼動性能管理プログラム(稼動性能管理部)
251 システム内業務履歴ログ
252,253 稼動性能情報
254 OS時刻マッピングテーブル

Claims (10)

  1. 物理計算機で実行されている仮想計算機から、履歴時刻を含む履歴情報を取得して、前記履歴時刻の補正を行う履歴時刻補正装置による履歴時刻補正方法であって、
    前記物理計算機では、前記仮想計算機のOSである仮想OSが実行されており、
    前記履歴時刻補正装置が、
    前記仮想OSを実行している前記仮想計算機の稼動状況を、当該仮想OSで計時されている仮想OS時刻を用いて監視した時系列の監視データである第1の機器情報と、
    前記仮想OSを実行している前記仮想計算機の稼動状況を、基準時刻を用いて監視した時系列の監視データである第2の機器情報と、の相関係数を算出し、
    前記相関係数が所定の値以上であれば、前記第1の機器情報における仮想OS時刻を、前記第2の機器情報における基準時刻に、対応付け、
    前記仮想OS時刻に基づく前記履歴時刻を、当該仮想OS時刻と対応付けされた前記基準時刻に基づくものとする
    ことを特徴とする履歴時刻補正方法。
  2. 前記基準時刻は、前記物理計算機で実行されている前記仮想OS以外のOSである物理OSで計時されている時刻である
    ことを特徴とする請求項1に記載の履歴時刻補正方法。
  3. 前記第1の機器情報と、前記第2の機器情報は、時系列の量的データであり、
    前記履歴時刻補正装置が、
    前記第1の機器情報および前記第2の機器情報を構成する点の増減関係を基に、変局点となっている点を抽出し、
    前記変局点となっている点で、新たな第1の機器情報および第2の機器情報を生成した後、前記第1の機器情報と、前記第2の機器情報と、の相関係数を算出する
    ことを特徴とする請求項1に記載の履歴時刻補正方法。
  4. 前記履歴情報は、前記仮想OSにおけるログ情報、前記仮想計算機へのアクセスシステム管理者数、前記仮想計算機で実行されているアプリケーションの使用人数または前記仮想計算機に設定されているデータベースの容量である
    ことを特徴とする請求項1に記載の履歴時刻補正方法。
  5. 前記稼動状況は、前記仮想計算機におけるCPU使用量またはメモリ使用量である
    ことを特徴とする請求項1に記載の履歴時刻補正方法。
  6. 請求項1から請求項5のいずれか一項に記載の履歴時刻補正方法をコンピュータに実行させることを特徴とするプログラム。
  7. 物理計算機で実行されている仮想計算機から、履歴時刻を含む履歴情報を取得して、前記履歴時刻の補正を行う履歴時刻補正装置であって、
    前記物理計算機では、前記仮想計算機のOSである仮想OSが実行されており、
    前記仮想OSを実行している前記仮想計算機の稼動状況を、当該仮想OSで計時されている仮想OS時刻を用いて監視した時系列の監視データである第1の機器情報と、
    前記仮想OSを実行している前記仮想計算機の稼動状況を、基準時刻を用いて監視した時系列の監視データである第2の機器情報と、の相関係数を算出し、
    前記相関係数が所定の値以上であれば、前記第1の機器情報における仮想OS時刻を、前記第2の機器情報における基準時刻に、対応付ける時刻補正部と、
    前記仮想OS時刻に基づく前記履歴時刻を、当該仮想OS時刻と対応付けされた前記基準時刻に基づくものとする履歴管理部と
    を有することを特徴とする履歴時刻補正装置。
  8. 前記基準時刻は、前記物理計算機で実行されている前記仮想OS以外のOSである物理OSで計時されている時刻である
    ことを特徴とする請求項7に記載の履歴時刻補正装置。
  9. 前記第1の機器情報と、前記第2の機器情報は、時系列の量的データであり、
    前記第1の機器情報および前記第2の機器情報を構成する点の増減関係を基に、変局点となっている点を抽出し、
    前記変局点となっている点で、新たな第1の機器情報および第2の機器情報を生成する変局点抽出部をさらに有し
    前記時刻補正部は、前記第1の機器情報と、前記第2の機器情報と、の相関係数を算出する機能を
    をさらに有することを特徴とする請求項7に記載の履歴時刻補正装置。
  10. 前記履歴情報は、前記仮想OSにおけるログ情報、前記仮想計算機へのアクセスシステム管理者数、前記仮想計算機で実行されているアプリケーションの使用人数または前記仮想計算機に設定されているデータベースの容量である
    ことを特徴とする請求項7に記載の履歴時刻補正装置。
JP2008317163A 2008-12-12 2008-12-12 履歴時刻補正方法、プログラムおよび履歴時刻補正装置 Pending JP2010140340A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008317163A JP2010140340A (ja) 2008-12-12 2008-12-12 履歴時刻補正方法、プログラムおよび履歴時刻補正装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008317163A JP2010140340A (ja) 2008-12-12 2008-12-12 履歴時刻補正方法、プログラムおよび履歴時刻補正装置

Publications (1)

Publication Number Publication Date
JP2010140340A true JP2010140340A (ja) 2010-06-24

Family

ID=42350422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008317163A Pending JP2010140340A (ja) 2008-12-12 2008-12-12 履歴時刻補正方法、プログラムおよび履歴時刻補正装置

Country Status (1)

Country Link
JP (1) JP2010140340A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012161146A1 (ja) * 2011-05-24 2012-11-29 インテリジェントウイルパワー株式会社 バーチャルマシン提供システム
WO2012161147A1 (ja) * 2011-05-24 2012-11-29 インテリジェントウイルパワー株式会社 バーチャルマシン提供システム
US9104495B2 (en) 2012-12-11 2015-08-11 International Business Machines Corporation Shared resource segmentation
JP2015172964A (ja) * 2015-05-25 2015-10-01 インテリジェントウィルパワー株式会社 バーチャルマシン提供システム
JP7322715B2 (ja) 2020-01-09 2023-08-08 株式会社デンソー 電子制御装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012161146A1 (ja) * 2011-05-24 2012-11-29 インテリジェントウイルパワー株式会社 バーチャルマシン提供システム
WO2012161147A1 (ja) * 2011-05-24 2012-11-29 インテリジェントウイルパワー株式会社 バーチャルマシン提供システム
JP2012243254A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
JP2012243255A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
CN103562871A (zh) * 2011-05-24 2014-02-05 Tiwc株式会社 虚拟机提供系统
US9104495B2 (en) 2012-12-11 2015-08-11 International Business Machines Corporation Shared resource segmentation
US9582336B2 (en) 2012-12-11 2017-02-28 International Business Machines Corporation Shared resource segmentation
JP2015172964A (ja) * 2015-05-25 2015-10-01 インテリジェントウィルパワー株式会社 バーチャルマシン提供システム
JP7322715B2 (ja) 2020-01-09 2023-08-08 株式会社デンソー 電子制御装置

Similar Documents

Publication Publication Date Title
KR101351688B1 (ko) 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
US20120053925A1 (en) Method and System for Computer Power and Resource Consumption Modeling
US9286735B1 (en) Generating cumulative wear-based indicators for vehicular components
US11003563B2 (en) Compliance testing through sandbox environments
WO2012101933A1 (ja) 運用管理装置、運用管理方法、及びプログラム
US10862984B2 (en) Methods and apparatus to monitor usage of virtual computing environments
JP2013050950A (ja) 分散環境におけるトランザクション別に区別されたメトリックの効率的収集
CN102216908A (zh) 支援执行对应于检测事件的动作的系统、支援执行对应于检测事件的动作的方法、支援装置以及计算机程序
US9852007B2 (en) System management method, management computer, and non-transitory computer-readable storage medium
US20120317069A1 (en) Throughput sustaining support system, device, method, and program
US11042823B2 (en) Business management system
JP2010140340A (ja) 履歴時刻補正方法、プログラムおよび履歴時刻補正装置
US20130333045A1 (en) Security level visualization device
US20160006640A1 (en) Management computer, allocation management method, and non-transitory computer readable storage medium
CN105227405A (zh) 监控方法及系统
US10771359B2 (en) System capacity heatmap
JP2014229176A (ja) 情報管理装置及び情報管理方法
US8291059B2 (en) Method for determining a business calendar across a shared computing infrastructure
KR101219364B1 (ko) 기관 서버와 업무 서버 간의 연계 서비스에 대한 모니터링 방법 및 모니터링 서버, 그 기록매체
WO2013013137A1 (en) Conflicting expert systems
TWI590052B (zh) 資料儲存裝置監測技術
US20050080892A1 (en) Method for predicting a development over time of a system quantity
Xue et al. Fill-in the gaps: Spatial-temporal models for missing data
JP2007265244A (ja) ウェブシステムの性能監視装置
CN115480924A (zh) 作业数据的处理方法及装置、存储介质、电子设备