(57)【要約】【課題】情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難な場合であっても、係る障害情報を収集することを可能とする。【解決手段】情報収集装置５０は、第一の情報処理装置６０が備える１以上のハードウェア装置６１−１乃至ｎ、及び、ハードウェア装置６１−１乃至ｎが実行するソフトウェア６２の仕様を仕様情報として検出する検出部５１と、係る仕様情報により定まる装置環境に限定して装置環境の動作を実現する仮想マシン７１を、所定の基準に基づいて第二の情報処理装置７０に構築したのち、仮想マシン７１を実行する仮想マシン生成実行部５２と、仮想マシン生成実行部５２が仮想マシン７１を実行中に、仮想マシン７１が保持する情報を、第二の情報処理装置７０から収集する収集部５３と、を備える。【選択図】      図５
2015161995.tif 000002
【特許請求の範囲】
【請求項１】
第一の情報処理装置が備える１以上のハードウェア装置、及び、前記１以上のハードウェア装置が実行するソフトウェアの仕様を仕様情報として検出する検出手段と、
前記仕様情報により定まる装置環境に限定して前記装置環境の動作を実現する仮想マシンを、所定の基準に基づいて第二の情報処理装置に構築したのち、前記仮想マシンを実行する仮想マシン生成実行手段と、
前記仮想マシン生成実行手段が前記仮想マシンを実行中に、前記仮想マシンが保持する情報を、前記第二の情報処理装置から収集する収集手段と、
を備える情報収集装置。
【請求項２】
前記検出手段は、前記装置環境を識別可能な第一の識別子を、前記仕様情報として検出し、
前記仮想マシン生成実行手段は、前記第一の識別子と、前記第一の識別子が識別可能な前記装置環境に限定して当該装置環境の動作を実現する仮想マシンを記述したソースコード情報と、を関連付けて記憶し、前記検出手段が検出した前記識別子に関連づけられた前記ソースコード情報を基に、前記仮想マシンを構築する、
請求項１に記載の情報収集装置。
【請求項３】
前記仮想マシン生成実行手段は、前記１以上のハードウェア装置の中で、情報収集を行う対象としない第一のハードウェア装置を識別可能な第二の識別子を外部から入手した場合、前記第一のハードウェア装置へ入力される情報が示す値から決定する、前記第一のハードウェア装置から出力される情報に関する期待値を使用すること、あるいは、前記第一のハードウェア装置に関する入出力をパススルーすることにより、前記仮想マシンを実行し、
前記収集手段は、前記第一のハードウェア装置を除く前記１以上のハードウェア装置に関して、前記仮想マシンが保持する情報を収集する、
請求項１または２に記載の情報収集装置。
【請求項４】
前記仮想マシン生成実行手段は、前記１以上のハードウェア装置の中で、外部から情報を入力することが可能な第二のハードウェア装置へ入力される情報を、前記第一の情報処理装置における前記第二のハードウェア装置に入力することにより、前記仮想マシンを実行し、
前記収集手段は、前記第二のハードウェア装置が保持する情報を収集する、
請求項１乃至３のいずれかに記載の情報収集装置。
【請求項５】
前記仮想マシン生成実行手段は、前記１以上のハードウェア装置が包含する、主記憶装置、拡張記憶装置、及び、画面出力制御装置が備える機能を、それぞれ、仮想主記憶装置、仮想拡張記憶装置、及び、仮想画面出力制御装置として、前記仮想マシンの中に構築し、
前記収集手段は、前記仮想主記憶装置、前記仮想拡張記憶装置、及び、前記仮想画面出力制御装置が保持する情報を収集する、
請求項１乃至４のいずれかに記載の情報収集装置。
【請求項６】
前記収集手段は、前記仮想主記憶装置から収集した情報を前記主記憶装置に格納し、前記仮想拡張記憶装置から収集した情報を前記拡張記憶装置に格納し、前記仮想画面出力制御装置から収集した情報を前記画面出力制御装置へ入力する、
請求項５に記載の情報収集装置。
【請求項７】
第二の情報処理装置、あるいは、第三の情報処理装置によって、
第一の情報処理装置が備える１以上のハードウェア装置、及び、前記１以上のハードウェア装置が実行するソフトウェアの仕様を仕様情報として検出し、
前記仕様情報により定まる装置環境に限定して前記装置環境の動作を実現する仮想マシンを、所定の基準に基づいて第二の情報処理装置に構築したのち、前記仮想マシンを実行し、
前記仮想マシンを実行中に、前記仮想マシンが保持する情報を、前記第二の情報処理装置から収集する、
情報収集方法。
【請求項８】
前記装置環境を識別可能な識別子を、前記仕様情報として検出し、
前記識別子と、前記識別子が識別可能な前記装置環境に限定して当該装置環境の動作を実現する仮想マシンを記述したソースコード情報と、を関連付けて記憶域に記憶し、前記検出手段が検出した前記識別子に関連づけられた前記ソースコード情報を基に、前記仮想マシンを構築する、
請求項７に記載の情報収集方法。
【請求項９】
第一の情報処理装置が備える１以上のハードウェア装置、及び、前記１以上のハードウェア装置が実行するソフトウェアの仕様を仕様情報として検出する検出処理と、
前記仕様情報により定まる装置環境に限定して前記装置環境の動作を実現する仮想マシンを、所定の基準に基づいて第二の情報処理装置に構築したのち、前記仮想マシンを実行する仮想マシン生成実行処理と、
前記仮想マシン生成実行処理が前記仮想マシンを実行中に、前記仮想マシンが保持する情報を、前記第二の情報処理装置から収集する収集処理と、
をコンピュータに実行させる、情報収集プログラム。
【請求項１０】
前記装置環境を識別可能な識別子を、前記仕様情報として検出する前記検出処理と、
前記識別子と、前記識別子が識別可能な前記装置環境に限定して当該装置環境の動作を実現する仮想マシンを記述したソースコード情報と、を関連付けて記憶域に記憶し、前記検出手段が検出した前記識別子に関連づけられた前記ソースコード情報を基に、前記仮想マシンを構築する前記仮想マシン生成実行処理と、
をコンピュータに実行させる、請求項９に記載の情報収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、動作中の情報処理装置の状態を示す情報を収集する情報収集装置等に関する。
【背景技術】
【０００２】
一般的な情報処理装置では、例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が動作中に障害が発生した場合、ＯＳが備えている情報収集機能が、係る障害を解析するための情報収集を行う。したがって、ＯＳの起動が完了する前に障害が発生した場合、係る情報収集機能が情報収集を行うことができないという問題がある。
【０００３】
この問題に対応することに関連する技術として、特許文献１には、計算機システムが、電源ＯＮからＯＳ起動前までに画面に出力する情報を採取する技術が開示されている。
【０００４】
また、特許文献２には、情報処理装置において、ＯＳを起動する前に行うブート処理を行う際に異常が発生した場合、メモリダンプを行うようにした技術が開示されている。
【０００５】
さらに、特許文献３には、ハイパーバイザによって構築された、仮想プロセッサ、仮想メモリ、及び、仮想ファームウェアを含む仮想マシンが、実コンピュータシステムをエミュレート及び／又はシミュレートするようにした技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2004-302720号公報
【特許文献２】特開2013-190883号公報
【特許文献３】特開2009-110518号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１が開示した技術は、計算機システムがＯＳ起動前までに画面に出力する情報を採取する技術である。しかしながら、障害の中には、画面に出力される情報からは解析することが困難である障害も多く存在するため、係る技術により収集した情報は、障害を解析するために十分な情報であるとはいえない。
【０００８】
また、特許文献２が開示した技術は、情報処理装置がブート処理を行う際に異常が発生した場合、メモリダンプを行うようにした技術である。しかしながら、障害の中には、メモリに格納された情報からは解析することが困難である障害も多く存在するため、係る技術により収集した情報は、障害を解析するために十分な情報であるとはいえない。
【０００９】
さらに、特許文献３が開示した技術は、仮想マシンが実コンピュータシステムをエミュレートするようにした技術である。しかしながら、実コンピュータシステムのシステム環境とほぼ等しい仮想化環境を構築することは一般的に困難である。したがって、係る仮想マシンを使用して障害を再現させることによって仮想マシンから収集した情報は、障害を解析するために十分な情報であるとはいえない。あるいは、係る仮想マシンを使用して障害を再現させること自体が困難である場合もある。
【００１０】
すなわち、特許文献１乃至３が開示した技術は、情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難であるような場合は、十分な障害解析を行うことができないという問題を解決することはできない。
【００１１】
本願発明の主たる目的は、この問題を解決した、情報収集装置、情報収集方法、及び、情報収集プログラムを提供することである。
【課題を解決するための手段】
【００１２】
本願発明に係る情報収集装置は、第一の情報処理装置が備える１以上のハードウェア装置、及び、前記１以上のハードウェア装置が実行するソフトウェアの仕様を仕様情報として検出する検出手段と、前記仕様情報により定まる装置環境に限定して前記装置環境の動作を実現する仮想マシンを、所定の基準に基づいて第二の情報処理装置に構築したのち、前記仮想マシンを実行する仮想マシン生成実行手段と、前記仮想マシン生成実行手段が前記仮想マシンを実行中に、前記仮想マシンが保持する情報を、前記第二の情報処理装置から収集する収集手段と、を備えることを特徴とする。
【００１３】
上記目的を達成する他の見地において、本願発明の情報収集方法は、第二の情報処理装置、あるいは、第三の情報処理装置によって、第一の情報処理装置が備える１以上のハードウェア装置、及び、前記１以上のハードウェア装置が実行するソフトウェアの仕様を仕様情報として検出し、前記仕様情報により定まる装置環境に限定して前記装置環境の動作を実現する仮想マシンを、所定の基準に基づいて第二の情報処理装置に構築したのち、前記仮想マシンを実行し、前記仮想マシンを実行中に、前記仮想マシンが保持する情報を、前記第二の情報処理装置から収集することを特徴とする。
【００１４】
また、上記目的を達成する更なる見地において、本願発明に係る情報収集プログラムは、第一の情報処理装置が備える１以上のハードウェア装置、及び、前記１以上のハードウェア装置が実行するソフトウェアの仕様を仕様情報として検出する検出処理と、前記仕様情報により定まる装置環境に限定して前記装置環境の動作を実現する仮想マシンを、所定の基準に基づいて第二の情報処理装置に構築したのち、前記仮想マシンを実行する仮想マシン生成実行処理と、前記仮想マシン生成実行処理が前記仮想マシンを実行中に、前記仮想マシンが保持する情報を、前記第二の情報処理装置から収集する収集処理と、をコンピュータに実行させることを特徴とする。
【００１５】
更に、本発明は、係る情報収集プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
【発明の効果】
【００１６】
本願発明は、情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難な場合であっても、係る障害情報を収集することを可能とする。
【図面の簡単な説明】
【００１７】
【図１】本願発明の第１の実施形態に係る情報収集システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係る情報収集装置のハードウェアの構成を示すブロック図である。
【図３】本願発明の第１の実施形態に係る情報収集システムの動作を示すフローチャートである。
【図４】本願発明の第１の実施形態に係る情報収集システムの変形例の構成を示すブロック図である。
【図５】本願発明の第２の実施形態に係る情報収集装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
＜第１の実施形態＞
図１は、第１の実施形態に係る情報収集システム１の構成を概念的に示すブロック図である。本実施形態に係る情報収集システム１は、情報収集装置１０、及び、情報処理装置２０を有している。
【００２０】
情報処理装置２０は、例えばサーバ装置等の装置である。情報処理装置２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、主記憶装置２２、拡張記憶制御装置２３、拡張記憶装置２４、画面出力制御装置２５を備えている。ＣＰＵ２１は、情報処理装置２０において行われる処理を実行する。主記憶装置２２は、ＣＰＵ２１が処理を行うために必要なデータを格納するメモリである。拡張記憶装置２４は、例えば磁気ディスク装置等の記憶装置であり、ＯＳ２６を格納している。ファームウェア２７は、情報処理装置２０が備える所定のメモリ（図示せず）に格納されている。
【００２１】
拡張記憶制御装置２３は、拡張記憶装置２４に対するデータの読み書きを制御する装置であり、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）等の装置である。ＨＢＡとしては、例えば、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）コントローラ、あるいは、ディスクアレイコントローラ等の装置がある。画面出力制御装置２５は、ＣＰＵ２１が処理を行う際に、情報処理装置２０の状態を示す情報を、例えばコンソール画面（図示せず）に出力するグラフィックスコントローラ等の装置である。係るグラフィックスコントローラとしては、例えば、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）ビデオカード等の装置がある。
【００２２】
情報収集装置１０は、情報処理装置２０が動作中に障害が発生した場合、係る障害を解析するために必要な情報を収集する装置である。情報収集装置１０は、例えばサーバ装置等の装置である。情報収集装置１０は、検出処理１１、仮想マシン生成実行処理１２、及び、収集処理１３を実行し、また、仮想マシン１４を構築している。尚、本実施形態においては、情報収集装置１０が仮想マシン１４を構築しているが、別の情報処理装置が仮想マシン１４を構築するようにしてもよい。
【００２３】
尚、検出処理１１、仮想マシン生成実行処理１２、及び、収集処理１３を実行するプログラムは、一般的なファームウェアと同様に、情報収集装置１０に内蔵されていてもよいし、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のブートデバイスに格納されて提供されてもよい。
【００２４】
また、検出処理１１、仮想マシン生成実行処理１２、及び、収集処理１３は、専用のＨＷ（ハードウェア）（電子回路）によっても実現することが可能である。すなわち、情報収集装置１０は、これらの処理と同等の機能を有するＨＷである、検出部、仮想マシン生成実行部、及び、収集部を備えたＨＷであってもよい。
【００２５】
本実施形態に係る情報収集装置１０のハードウェアの構成を図２に例示する。以下に説明する実行環境は、本実施形態だけでなく、後述する各実施形態においても採用可能である。
【００２６】
図２に示す通り、情報収集装置１０は、ＣＰＵ９０１、ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、ハードディスク９０４（記憶装置）、外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、及び、入出力インタフェース９０９を備え、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。入出力インタフェース９０９は、例えば、キーボード等の入力装置、モニタ等の出力装置を含む。尚、図２は、情報収集装置１０がこれらの構成要素を１つずつ備えた例を示しているが、情報収集装置１０がこれらの構成要素を複数備える場合もある。
【００２７】
そして、情報収集装置１０は、検出処理１１、仮想マシン生成実行処理１２、及び、収集処理１３をコンピュータプログラムとして提供されたのち、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行する。また、係るコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００２８】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００２９】
検出処理１１は、情報処理装置２０を参照し、情報処理装置２０が備えるハードウェア装置、ＯＳ２６、及び、ファームウェア２７の仕様を仕様情報として検出する。本実施形態の場合、係るハードウェア装置は、ＣＰＵ２１、主記憶装置２２、拡張記憶制御装置２３、拡張記憶装置２４、及び、画面出力制御装置２５である。
【００３０】
係る仕様情報は、例えば、ＣＰＵ２１のモデル名、主記憶装置２２の容量、拡張記憶装置２４が備える記憶デバイスの種別及びその容量、画面出力制御装置２５に関するデバイスの種別、及び、ＯＳ２６及びファームウェア２７のバージョン番号等を含む装置環境を示す情報である。検出処理１１は、この装置環境の内容を示す情報を、係る仕様情報として検出してもよい。あるいは、検出処理１１は、装置環境を識別可能な識別子を仕様情報として検出してもよい。尚、係る識別子は、個々のハードウェア装置及びソフトウェアに対して付与されていてもよいし、複数のハードウェア装置及びソフトウェアの組み合わせである装置環境に対して付与されていてもよい。
【００３１】
検出処理１１は、検出した係る仕様情報を、仮想マシン生成実行処理１２へ入力する。検出処理１１は、例えば、情報収集装置１０がＬｉｎｕｘ（登録商標）をＯＳとする装置である場合、「ｄｍｉｄｅｃｏｄｅ」コマンド、あるいは、「ｌｓｐｃｉ」コマンド等を利用することにより、この機能を実現する。
【００３２】
仮想マシン生成実行処理１２は、検出処理１１から入力された係る仕様情報に基づき、情報収集装置１０の中に、仮想マシン１４を構築する。仮想マシン１４は、情報処理装置２０が行う処理に関するエミュレーションを行うことができる仮想化基盤である。
【００３３】
仮想マシン生成実行処理１２は、装置環境を識別可能な識別子と、この識別子が識別する装置環境の動作を実現する仮想マシンを記述したソースコード情報を関連付けて記憶している。このソースコード情報は、技術者等により、個々のハードウェア装置及びソフトウェア、あるいは個々の装置環境に限定して作成された情報である。仮想マシン生成実行処理１２は、検出処理から入力された識別子に関連づけられたソースコード情報を基に、仮想マシン１４を構築する。
【００３４】
仮想マシン１４は、仮想ＣＰＵ１４０、仮想主記憶装置１４１、仮想拡張記憶制御装置１４２、仮想拡張記憶装置１４３、及び、仮想画面出力制御装置１４４を包含している。
【００３５】
仮想ＣＰＵ１４０は、ＣＰＵ２１が備える機能を、仮想マシン１４において実現する。仮想主記憶装置１４１は、主記憶装置２２が備える機能を、仮想マシン１４において実現する。仮想拡張記憶制御装置１４２は、拡張記憶制御装置２３が備える機能を、仮想マシン１４において実現する。拡張記憶制御装置１４３は、拡張記憶装置２４が備える機能を、仮想マシン１４において実現する。仮想画面出力制御装置１４４は、画面出力制御装置２５が備える機能を、仮想マシン１４において実現する。仮想ＯＳ１４５は、ＯＳ２６を仮想化したＯＳである。仮想ファームウェア１４６は、ファームウェア２７を仮想化したファームウェアである。
【００３６】
仮想マシン生成実行処理１２は、構築した仮想マシン１４を実行する。仮想マシン生成実行処理１２は、例えば、情報収集装置１０がＬｉｎｕｘをＯＳとする装置である場合、「ｑｅｍｕ−ｋｖｍ」コマンドを利用することにより、この機能を実現する。ｑｅｍｕ−ｋｖｍコマンドは、現実に存在する装置が備える機能に関するエミュレーションを実行する機能を有している。
【００３７】
仮想マシン生成実行処理１２は、ＣＰＵ２１、主記憶装置２２、拡張記憶制御装置２３、拡張記憶装置２４、及び、画面出力制御装置２５の少なくとも何れかの装置に関して、情報収集を行う対象としない指示を、システム管理者等から与えられる場合がある。この場合、仮想マシン生成実行処理１２は、当該装置に関してエミュレーションを行わずに、当該装置に入力されるデータから一意に決定する期待値である、当該装置から出力される出力データを使用する。あるいは、仮想マシン生成実行処理１２は、特に問題ない場合は、当該装置に関する入出力をパススルーしてもよい。
【００３８】
収集処理１３は、仮想マシン生成実行処理１２が仮想マシン１４を実行中に、仮想マシン１４が保持する情報を収集する。仮想マシン１４は、情報収集装置１０が備えるメモリに格納されたデータである。したがって、収集処理１３は、仮想マシン１４が保持する情報を、情報収集装置１０が備えるメモリの所定のアドレスから読み出すことができる。
【００３９】
収集処理１３は、仮想主記憶装置１４１の所定のアドレスに格納された情報、及び、仮想拡張記憶装置１４３の所定のアドレスに格納された情報を収集する。収集処理１３は、ユーザ等から指示された場合、仮想主記憶装置１４１から収集した情報を、主記憶装置２２に格納し、仮想拡張記憶装置１４３から収集した情報を、拡張記憶制御装置２３を経由して、拡張記憶制御装置２４へ格納する。
【００４０】
収集処理１３は、また、仮想画面出力装置１４４が出力した情報を、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式等の動画像、あるいは、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式等の静止画像として収集する。収集処理１３は、例えば、情報収集装置１０がＬｉｎｕｘをＯＳとする装置である場合、「ｖｉｒｔ−ｍａｎａｇｅｒ」コマンド等を利用することにより、この機能を実現する。収集処理１３は、ユーザ等から指示された場合、収集したこれらの動画像及び静止画像のデータを、画面出力制御装置２５へ入力する。画面出力制御装置２５は、入力されたこれらのデータを処理して、コンソール画面に出力する。
【００４１】
収集処理１３は、仮想マシン１４から収集した情報を、収集結果ファイル１３０として出力する。収集結果ファイル１３０を格納する格納先は、情報収集装置３０にローカル接続されたストレージ装置でもよいし、あるいは、情報収集装置３０が通信ネットワークを経由してアクセスできるストレージ装置でもよい。
【００４２】
次に図３のフローチャートを参照して、本実施形態に係る情報収集システム１の動作（処理）について詳細に説明する。
【００４３】
検出処理１１は、情報処理装置２０に関する仕様情報を検出する（ステップＳ１０１）。検出処理１１は、使用情報を、仮想マシン生成実行処理１２へ入力する（ステップＳ１０２）。仮想マシン生成実行処理１２は、係る仕様情報に基づき、情報収集装置１０に、仮想マシン１４を構築する（ステップＳ１０３）。
【００４４】
検出された全てのハードウェア装置に関して、情報収集を行なう場合（ステップＳ１０４でＮｏ）、仮想マシン生成実行処理１２は、検出された全てのハードウェア装置に関して、仮想マシン１４に関するエミュレーションを実行する（ステップＳ１０５）。収取処理１３は、検出された全てのハードウェア装置に関して、仮想マシン１４が保持する情報を収集する（ステップＳ１０６）。収取処理１３は、収集した情報を収集結果ファイル１３０として出力し（ステップＳ１０９）、全体の処理は終了する。
【００４５】
検出されたハードウェア装置のうち、何れかのハードウェア装置に関しては、情報収集を行わない場合（ステップＳ１０４でＹｅｓ）、仮想マシン生成実行処理１２は、当該ハードウェア装置を除く検出されたハードウェア装置に関して、仮想マシン１４に関するエミュレーションを実行する（ステップＳ１０７）。収集処理１３は、当該ハードウェア装置を除く検出されたハードウェア装置に関して、仮想マシン１４が保持する情報を収集し（ステップＳ１０８）、処理はステップＳ１０９へ進む。
【００４６】
本実施形態に係る情報収集システム１は、情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難な場合であっても、係る障害情報を収集することができる。その理由は、仮想マシン生成実行処理１２が、検出処理１１が検出した情報処理装置２０に関する仕様情報に基づいて、情報処理装置２０の装置環境に限定した仮想マシン１４を構築し、収集処理１３が、仮想マシン１４が保持する情報を収集するからである。
【００４７】
情報処理装置において、例えば、ＯＳの起動が完了する前に障害が発生した場合、ＯＳが備える情報収集機能が、障害解析のために必要な情報を収集することができない。このような場合、例えば、汎用的な仮想化基盤を使用して仮想マシンを構築し、その仮想マシンに係る障害を再現させたのち、仮想マシンから障害解析のために必要な情報を収集する方法が考えられる。しかしながら、実コンピュータシステムのシステム環境とほぼ等しい仮想化環境を構築することは、一般的に困難である。したがって、係る仮想マシンから収集した情報は、障害を解析するために十分な情報であるとはいえない。あるいは、係る仮想マシンに障害を再現させること自体が困難である場合もある。
【００４８】
これに対して、本実施形態に係る情報収集システム１では、検出処理１１が、情報処理装置２０に関する装置環境を示す仕様情報を検出する。そして、仮想マシン生成実行処理１２は、検出処理１１が検出した仕様情報に基づき、係る装置環境に限定した仮想マシン１４を構築する。仮想マシン１４は、情報処理装置２０に関する装置環境を熟知した技術者によって作成された、仮想マシン１４を構築するために必要なソースコード情報等を基に構築される。したがって、仮想マシン１４は、情報処理装置２０に関する装置環境を、汎用的な仮想化基盤と比較して、高い精度でエミュレーションすることができる。そして、収集処理１３は、仮想マシン１４が保持する情報を幅広く収集する。これにより、本実施形態に係る情報収集システム１は、情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難な場合であっても、係る障害情報を収集することができる。
【００４９】
また、情報処理装置２０がＯＳ２６を起動する際に使用するハードウェア装置の中の少なくとも何れかの装置について問題ないことが判明しているような場合、本実施形態に係る仮想マシン生成実行処理１２は、当該ハードウェア装置の種別を識別する情報を、ユーザ等により入力される。この場合、仮想マシン生成実行処理１２は、当該ハードウェア装置に関して、エミュレーションを行わず、出力情報に関する期待値を使用、あるいは、入出力をパススルーする。そして、収集処理１３は、当該ハードウェア装置を除くハードウェア装置に関して、仮想マシン１４から情報収集を行う。これにより、本実施形態に係る情報収集システム１は、情報収集装置１０が仮想マシン１４を使用して情報収集を行う際にかかる負荷を抑えることができる。
【００５０】
さらに、本実施形態に係る収集処理１３は、仮想主記憶装置１４１から収集した情報を主記憶装置２０にも格納する。収集処理１３は、仮想拡張記憶装置１４３から収集した情報を、拡張記憶装置２４にも格納する。収集処理１３は、仮想画面出力制御装置１４４から収集した情報を、画面出力制御装置２５にも入力する。これにより、ユーザは情報処理装置３０を使用して、仮想マシン１４から収集された情報の内容を確認できる。したがって、本実施形態に係る情報収集システム１は、ユーザが障害解析作業を行う際の効率を向上させることができる。
【００５１】
尚、本実施形態に係る情報収集システム１を使用するケースは、情報処理装置２０が動作中に発生した障害を解析する場合に限定されない。例えば、性能問題等の問題を解析するために必要な情報を収集するために、情報収集システム１を使用してもよい。
（第１の実施形態の変形例）
図４は、第１の実施形態に係る情報収集システムの変形例の構成を概念的に示すブロック図である。図４において、図１と同一の番号が付与された構成要素が備える機能は、第１の実施形態と同様であるため、これら構成要素に関する説明は省略する。
【００５２】
本実施形態に係る情報収集システム２は、情報収集装置３０、及び、情報処理装置４０を有している。
【００５３】
情報処理装置４０は、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）４８を備えている。ＢＭＣ４８は、情報処理装置４０に関して、例えば構成変更処理及び障害処理等のシステム制御全般に関する処理を行う。ＢＭＣ４８は、ＯＳ２６に依存せずに動作する。ＢＭＣ４８は、画面出力制御装置４５を備えている。
【００５４】
本変形例では、仮想マシン生成実行処理３２は、仮想マシン３４における仮想画面出力制御装置３４４に関するエミュレーションを行わずに、仮想画面出力制御装置３４４への入力情報は、そのまま、仮想画面出力制御装置３４４からの出力情報としてパススルーする。仮想マシン生成実行処理３２は、パススルーした係る出力情報を、画面出力制御装置４５へ入力する。
【００５５】
画面出力制御装置４５は、入力された情報を処理して、コンソール画面に出力する。画面出力制御装置４５は、また、ＢＭＣ４８により提供される、「Ｂｌｏｃｋ  Ｔｒａｎｓｆｅｒ  Ｉｎｔｅｒｆａｃｅ」等の通信方法を用いて、コンソール画面に出力した情報を、収集処理３３に送信する。
【００５６】
収集処理３３は、画面出力制御装置４５から入手した情報を、仮想マシン３４から収集した情報とともに、収集結果ファイル１３０として出力する。
【００５７】
本変形例に係る情報収集システム２は、情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難な場合であっても、係る障害情報を収集することができる。その理由は、仮想マシン生成実行処理３２が、検出処理１１が検出した情報処理装置４０に関する仕様情報に基づいて、情報処理装置４０の装置環境に限定した仮想マシン３４を構築し、収集処理３３が、仮想マシン３４が保持する情報を収集するからである。
【００５８】
また、本変形例に係る仮想マシン生成実行処理３２は、画面出力制御装置４５に関して、エミュレーションを行わず、仮想マシン３４からの出力情報を、実マシンである画面出力制御装置４５へ入力する。そして、収集処理３３は、画面出力制御装置４５から入手した情報を、仮想マシン３４から収集した情報と同様に処理する。したがって、本変形例に係る情報収集システム２は、実マシンである画面出力制御装置４５を有効活用することにより、情報収集装置１０が仮想マシン１４を使用して情報収集を行う際にかかる負荷を抑えることができる。
【００５９】
尚、本変形例に係る情報収集システム２が有効活用する実マシンは、画面出力制御装置４５に限定されない。情報収集システム２は、情報処理装置４０が包含する別の装置を有効活用してもよい。
【００６０】
＜第２の実施形態＞
図５は第２の実施形態の情報収集装置５０の構成を概念的に示すブロック図である。
【００６１】
本実施形態の情報収集装置５０は、検出部５１、仮想マシン生成実行部５２、及び、収集部５３を備えている。
【００６２】
検出部５１は、第一の情報処理装置６０が備える１以上、例えばｎ個のハードウェア装置６１−１乃至ｎ、及び、ハードウェア装置６１−１乃至ｎが実行するソフトウェア６２の仕様を仕様情報として検出する。
【００６３】
仮想マシン生成実行部５２は、第二の情報処理装置７０に、所定の基準に基づいて、仮想マシン７１を構築する。仮想マシン７１は、係る仕様情報により定まる装置環境に限定してその装置環境の動作を実現する仮想マシンである。仮想マシン生成実行部５２は、仮想マシン７１を構築したのち、仮想マシン７１を実行する。
【００６４】
収集部５１は、仮想マシン生成実行部５２が仮想マシン７１を実行中に、仮想マシン７１が保持する情報を、第二の情報処理装置７０から収集する。
【００６５】
本実施形態に係る情報収集装置５０は、情報処理装置において発生した障害を解析するために必要な障害情報を、当該情報処理装置から直接収集することが困難な場合であっても、係る障害情報を収集することができる。その理由は、仮想マシン生成実行部５２が、検出部５１が検出した第一の情報処理装置６０に関する仕様情報に基づいて、第一の情報処理装置６０の装置環境に限定した仮想マシン７１を構築し、収集部５３が、仮想マシン７１が保持する情報を収集するからである。
【００６６】
尚、検出部５１、仮想マシン生成実行部５２、及び、収集部５３は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。この場合のハードウェア環境は、図２に示した情報収集装置１０と同様である。
【００６７】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００６８】
１    情報収集システム
１０    情報収集装置
１１    検出処理
１２    仮想マシン生成実行処理
１３    収集処理
１３０    収集結果ファイル
１４    仮想マシン
１４０    仮想ＣＰＵ
１４１    仮想主記憶装置
１４２    仮想拡張記憶制御装置
１４３    仮想拡張記憶装置
１４４    仮想画面出力制御装置
１４５    仮想ＯＳ
１４６    仮想ファームウェア
２０    情報処理装置
２１    ＣＰＵ
２２    主記憶装置
２３    拡張記憶制御装置
２４    拡張記憶装置
２５    画面出力制御装置
２６    ＯＳ
２７    ファームウェア
２    情報収集システム
３０    情報収集装置
３２    仮想マシン生成実行処理
３３    収集処理
３４    仮想マシン
３４４    仮想画面出力制御装置
４０    情報処理装置
４５    画面出力制御装置
４８    ＢＭＣ
５０    情報収集装置
５１    検出部
５２    仮想マシン生成実行部
５３    収集部
６０    第一の情報処理装置
６１−１乃至ｎ    ハードウェア装置
６２    ソフトウェア
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記憶媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2015161995.tif 000003
【図２】
2015161995.tif 000004
【図３】
2015161995.tif 000005
【図４】
2015161995.tif 000006
【図５】
2015161995.tif 000007