(57)【要約】  複数の仮想マシンが動作する情報処理装置は、第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する。
2013030939.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンが動作する情報処理装置であって、
第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、
前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する情報処理装置。
【請求項２】
前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーするメモリ管理部を有し、
前記対応情報処理部は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項１記載の情報処理装置。
【請求項３】
前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項１又は２記載の情報処理装置。
【請求項４】
複数の仮想マシンが動作する情報処理装置が実行するメモリダンプ採取方法であって、
第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化し、
前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する処理を実行するメモリダンプ採取方法。
【請求項５】
前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーする処理を前記情報処理装置が実行し、
前記無効化する処理は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項４記載のメモリダンプ採取方法。
【請求項６】
前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項４又は５記載のメモリダンプ採取方法。
【請求項７】
複数の仮想マシンが動作する情報処理装置に、
第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化し、
前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する処理を実行させるプログラム。
【請求項８】
前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーする処理を前記情報処理装置に実行させ、
前記無効化する処理は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項７記載のプログラム。
【請求項９】
前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項７又は８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、メモリダンプ採取方法、及びプログラムに関する。
【背景技術】
【０００２】
オペレーティングシステム（ＯＳ（Operating System））は、致命的なエラーが検知されると、パニック処理を実行し、緊急停止する。この場合、オペレーティングシステムは、使用していたメモリの内容のメモリダンプをハードディスクに保存して、システムを再起動する。メモリダンプは、致命的なエラーの原因調査等に用いられる。【０００３】
物理マシン（コンピュータ）とＯＳとが一対一に対応する場合、ＯＳごとのドメインは、独立性が高い。したがって、或るドメインにおいてパニックが発生しても他のドメインが影響を受ける可能性は小さかった。【０００４】
一方、近年では、コンピュータの仮想化技術が普及している。仮想化技術を利用すれば、一つの物理マシン上に、複数の仮想マシン（ドメイン）を起動することができる。それぞれのドメインでは、個別にオペレーティングシステムを動作させることができる。すなわち、一つの物理マシン上で、複数のオペレーティングシステムを動作させることができる。【０００５】
仮想化環境においては、ドメインに特殊な役割が割り当てられる場合がある。例えば、「サービスドメイン」は、他のドメインに対して仮想化されたデバイスに関するサービスを提供し、「ゲストドメイン」はサービスドメインにより提供されるサービスを利用する。このような仮想化環境において、或るゲストドメインでパニックが発生した場合、該パニックがサービスドメインの問題に起因する可能性もある。【０００６】
図１は、サービスドメインの障害によってゲストドメインにパニックが発生した場合の例を示す図である。図１では、ハイパーバイザによって、サービスドメイン、ゲストドメインＡ、及びゲストドメインＢの三つのドメイン（仮想マシン）が起動されている。なお、ハイパーバイザとは、コンピュータを仮想化し、複数のＯＳの並列実行を可能とするソフトウェアである。ハイパーバイザは、ソフトウェアによって実現される仮想的なコンピュータ（仮想マシン）を起動し、仮想マシン上でＯＳを動作させる。【０００７】
例えば、サービスドメインがゲストドメインＢに対してサービスを提供中に、サービスドメインにおいて障害（Ｓ１）が発生したとする。当該障害の影響によって、ゲストドメインＢにおいてパニックが発生した場合（Ｓ２）、ゲストドメインＢが使用しているメモリの内容がメモリダンプとして保存される（Ｓ３）。【０００８】
しかし、図１のケースでは、サービスドメインのメモリダンプも採取されないと、ゲストドメインＢのパニックの真の原因を特定することは困難である。ゲストドメインＢのメモリダンプを解析したとしても、サービスドメインにおける障害の発生を検出することができないかもしれない。また、当該障害の発生を検出できたとしても、当該障害の原因を特定するのは困難であると考えられる。【０００９】
そこで、従来、図２に示されるような方法で、サービスドメインのメモリダンプが採取されていた。【００１０】
図２は、サービスドメインのメモリダンプの採取方法を説明するための図である。図２において、ステップＳ１〜Ｓ３は、図１と同様である。【００１１】
図２では、ゲストドメインＢにおけるパニックの発生を受けて、ユーザは、サービスドメインを手動でパニックさせる（Ｓ４）。その結果、サービスドメインが使用しているメモリの内容がメモリダンプとして保存される（Ｓ５）。【００１２】
しかし、図２の方法では、サービスドメインがゲストドメインＢ以外のゲストドメイン（図２では、ゲストドメインＡ）にもサービスを提供していた場合、ゲストドメインＡに対するサービスの提供が停止されてしまうという問題があった。【００１３】
そこで、ライブダンプ技術を利用して、サービスドメインのオペレーティングシステムが稼働状態のままで、メモリダンプの採取も行われている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００５−１２２３３４号公報
【特許文献２】特開２００１−２２９０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、ライブダンプ技術を利用してメモリダンプを採取する場合、メモリダンプ採取中に、採取対象のメモリの内容が動作中のドメイン（サービスドメイン）により更新されてしまう可能性がある。すなわち、ライブダンプ技術を利用して採取されたメモリダンプの内容は、サービスドメインの障害発生時におけるサービスドメインのメモリの内容と異なる可能性がある。したがって、採取されたメモリダンプは、データの整合性が失われて解析不能な状態であったり、原因を特定するための重要な情報が失われた状態であったりすることがあり、パニックの原因を調査するための資料として有効でないことがあった。【００１６】
そこで、１側面では、仮想マシンにおけるパニックの原因調査に有効なメモリダンプを採取できる可能性を高めることのできる情報処理装置、メモリダンプ採取方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【００１７】
そこで上記課題を解決するため、複数の仮想マシンが動作する情報処理装置は、第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する。
【発明の効果】
【００１８】
仮想マシンにおけるパニックの原因調査に有効なメモリダンプを採取できる可能性を高めることができる。
【図面の簡単な説明】
【００１９】
【図１】サービスドメインの障害によってゲストドメインにパニックが発生した場合の例を示す図である。
【図２】サービスドメインのメモリダンプの採取方法を説明するための図である。
【図３】本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。
【図４】本発明の実施の形態の情報処理装置のソフトウェア構成例を示す図である。
【図５】ゲストドメインにパニックが発生した際に実行される処理手順の一例を説明するためのシーケンス図である。
【図６】パニックの発生したドメインのメモリダンプの採取処理の一例を説明するための図である。
【図７】ドメイン関係情報記憶部の構成例を示す図である。
【図８】サービスドメインのメモリダンプの採取処理の一例を説明するための図である。
【図９】アドレス変換バッファの無効化に応じたトラップの発生の一例を説明するための図である。
【図１０】アドレス変換バッファの再設定処理の一例を説明するための図である。
【図１１】トラップの検知に応じてハイパーバイザが実行する処理手順の一例を説明するためのフローチャートである。
【図１２】アドレス変換バッファの第一の構成例を示す図である。
【図１３】ＴＬＢ及びＲＲを用いたアドレス変換の手順の一例を説明するための図である。
【図１４】アドレス変換バッファの第二の構成例を示す図である。
【図１５】ＴＬＢを用いたアドレス変換の手順の一例を説明するための図である。
【発明を実施するための形態】
【００２０】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図３において、情報処理装置１０は、ＣＰＵ１０４ａ、１０４ｂ、及び１０４ｃ等の複数のＣＰＵ１０４を有する。後述されるように、各ＣＰＵ１０４は、各仮想マシンに割り当てられる。なお、情報処理装置１０は、必ずしも複数のＣＰＵ１０４を備えていなくてもよい。例えば、一つのマルチコアプロセッサによって、複数のＣＰＵ１０４が代替されてもよい。この場合、各プロセッサコアが、各仮想マシンに割り当てられればよい。
【００２１】
情報処理装置１０は、更に、補助記憶装置１０２、主記憶装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。ＣＰＵ１０４及びこれらハードウェアは、バスＢによって接続されている。
【００２２】
情報処理装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２３】
主記憶装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、主記憶装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２４】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２５】
図４は、本発明の実施の形態の情報処理装置のソフトウェア構成例を示す図である。図４において、情報処理装置１０は、ハイパーバイザ１１、及びドメイン１２ａ〜ドメイン１２ｃの複数のドメイン１２を有する。ハイパーバイザ１１及びドメイン１２は、情報処理装置１０にインストールされたプログラム（仮想化プログラム）がＣＰＵ１０４に実行させる処理によって実現される。
【００２６】
ハイパーバイザ１１は、コンピュータを仮想化し、複数のＯＳ１３（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の並列実行を可能とする。ハイパーバイザ１１は、ソフトウェアによって実現される仮想的なコンピュータ（仮想マシン）を作り出し、仮想マシン上でＯＳ１３を動作させる。なお、本実施の形態では、仮想マシンの実行単位を「ドメイン１２」と呼ぶ。図４では、ドメイン１２ａ、ドメイン１２ｂ、及びドメイン１２ｃの三つの仮想マシンの実行単位（ドメイン１２）が実行されている状態が示されている。
【００２７】
本実施の形態において、ドメイン１２ａ、ドメイン１２ｂ、及びドメイン１２ｃは、相互に役割又は立場が異なる。ドメイン１２ａは、仮想Ｉ／Ｏや仮想コンソールなどの仮想環境サービスを他のドメイン１２に提供するドメイン１２である。ドメイン１２ｂ及びドメイン１２ｃは、ドメイン１２ａによって提供されるサービスを利用するドメイン１２である。
【００２８】
各ドメイン１２の、以上のような、役割又は立場の違いの把握を容易にするため、本実施の形態においては、ドメイン１２ａを「サービスドメイン１２ａ」という。また、ドメイン１２ｂ、ドメイン１２ｃを、それぞれ「ゲストドメイン１２ｂ」、「ゲストドメイン１２ｃ」という。各ドメイン１２を区別しない場合、単に、ドメイン１２という。
【００２９】
各ドメイン１２には、ハードウェア資源として、ＣＰＵ１０４ａ、１０４ｂ、又は１０４ｃの他に、メモリ１３０ａ〜１３０ｃ及びディスク１２０ａ〜１２０ｃ等が、ハイパーバイザ１１によって割り当てられる。メモリ１３０ａ〜１３０ｃは、それぞれ、主記憶装置１０３における一部の記憶領域である。各ドメイン１２には、主記憶装置１０３において相互に重複しない記憶領域が、メモリ１３０ａ、１３０ｂ、又は１３０ｃとして割り当てられる。ディスク１２０ａ〜１２０ｃは、それぞれ、補助記憶装置１０２における一部の記憶領域である。各ドメイン１２には、補助記憶装置１０２において相互に重複しない記憶領域が、ディスク１２０ａ、１２０ｂ、又は１２０ｃとして割り当てられる。
【００３０】
各ＣＰＵ１０４は、アドレス変換バッファ１４を有する。アドレス変換バッファ１４は、ＯＳ１３がメモリ１３０にアクセスする際に指定するアドレス（仮想アドレス又は中間アドレス）を、物理アドレスに変換するためのマッピング情報（対応情報）を記憶する。仮想アドレス（Ｖｉｒｔｕａｌ  Ａｄｄｒｅｓｓ）とは、ＯＳ１３が使用する仮想アドレス空間におけるアドレス（以下、「仮想アドレスＶＡ」又は単に「ＶＡ」と表記する。）である。中間アドレス（Ｒｅａｌ  Ａｄｄｒｅｓｓ）は、オペレーティングシステムにとっての（又はオペレーティングシステムから見た場合の）物理アドレスに相当するアドレス（以下、「中間アドレスＲＡ」又は単に「ＲＡ」と表記する。）である。物理アドレス（Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）とは、主記憶装置１０３における物理的なアドレス（以下、「物理アドレスＰＡ」又は単に「ＰＡ」と表記する。）である。
【００３１】
各ドメイン１２のオペレーティングシステム（ＯＳ１３）は、パニック通知部１３１、メモリダンプ採取部１３２、及び仮想・中間アドレス変換バッファ１３３（以下、「ＴＳＢ１３３」という。）等を含む。パニック通知部１３１は、当該ドメイン１２に障害が発生しパニック処理を実行した際に、当該パニックをハイパーバイザ１１に通知する。障害とは、致命的なエラーが検知され、安全に復旧できなくなった状態をいう。パニック処理を実行したＯＳ１３は、緊急停止する。
【００３２】
メモリダンプ採取部１３２は、パニックの発生に応じ、当該ドメイン１２のメモリ１３０の内容（メモリダンプ）を当該ドメイン１２のディスク１２０に保存（記憶）する。但し、後述されるように、メモリダンプ採取部１３２は、他のドメイン１２のメモリ１３０の内容に関して、メモリダンプを採取する場合もある。
【００３３】
ＴＳＢ１３３（Translation Storage Buffer）は、仮想アドレスＶＡと中間アドレスＲＡとのマッピング情報を保持する。ＴＳＢ１３３は、例えば、各ドメイン１２のメモリ１３０を用いて実現可能である。
【００３４】
なお、図４では、各ドメイン１２のハードウェア資源、又は各ドメイン１２のソフトウェア資源（ＯＳ１３及びＯＳ１３に含まれる構成要素）に関して、対応するドメイン１２の符号の末尾と同じアルファベット（ａ〜ｃ）が付されている。当該ハードウェア資源及び当該ソフトウェア資源に関して、ドメイン１２を区別しない場合で言及する場合、当該アルファベットは省略される。
【００３５】
一方、ハイパーバイザ１１は、ドメイン関係判定部１１１、ドメイン関係情報記憶部１１２、アドレス変換バッファ処理部１１３、ダンプ採取要求部１１４、トラップ処理部１１５、メモリ管理部１１６、及びアドレス変換表１１７等を含む。
【００３６】
ドメイン関係判定部１１１は、或るドメイン１２に対するサービスドメイン１２を判定する。すなわち、本実施の形態では、便宜上、ドメイン１２ａをサービスドメインとしているが、サービスドメインとしての地位は、ドメイン１２間において相対的なものである。ドメイン関係情報記憶部１１２は、ドメイン１２ごとに、当該ドメイン１２のサービスドメイン１２を示す情報を記憶する。アドレス変換バッファ処理部１１３は、アドレス変換バッファ１４に記憶されたマッピング情報のクリア若しくは無効化又は再設定等を行う。ダンプ採取要求部１１４は、或るドメイン１２（例えば、ゲストドメイン１２ｃ）に対して、他のドメイン１２（例えば、サービスドメイン１２ａ）に関するメモリダンプの採取を要求する。トラップ処理部１１５は、各ドメイン１２のＣＰＵ１０４より通知されるトラップに応じた処理を実行する。トラップとは、例外の発生をハードウェアからソフトウェアに通知すること、また、該通知において通知される情報をいう。メモリ管理部１１６は、各ドメイン１２のメモリ１３０に関する処理を行う。
【００３７】
アドレス変換表１１７は、中間アドレスＲＡと物理アドレスＰＡとのマッピング情報（対応情報）を記憶する。アドレス変換表１１７が記憶する情報は、ハイパーバイザ１１によって生成及び管理される。
【００３８】
なお、図４において、メモリプール１３０ｐは、主記憶装置１０３において、いずれのドメイン１２にも割り当てられていない記憶領域である。
【００３９】
以下、情報処理装置１０が実行する処理手順について説明する。図５は、ゲストドメインにパニックが発生した際に実行される処理手順の一例を説明するためのシーケンス図である。
【００４０】
例えば、ゲストドメイン１２ｂのＯＳ１３ｂにおいて、致命的なエラーが検出されてパニックが発生したとする（Ｓ１０１）。この場合、パニック通知部１３１ｂは、ハイパーバイザＡＰＩ（Application Program Interface）を介して、「パニック」というステータス情報を、ハイパーバイザ１１に通知する（Ｓ１０２）。当該ステータス情報には、ゲストドメイン１２ｂの識別情報（ドメイン番号）が含まれる。続いて、メモリダンプ採取部１３２ｂは、メモリダンプの採取処理を実行する（Ｓ１０３）。すなわち、メモリ１３０ｂの内容のスナップショットがディスク１２０ｂに保存される。
【００４１】
図６は、パニックの発生したドメインのメモリダンプの採取処理の一例を説明するための図である。図６中、図５に対応する処理には、図５と同一のステップ番号が付与されている。
【００４２】
図６では、ゲストドメイン１２ｂにおいてパニックが発生し（Ｓ１０１）、パニックの通知（Ｓ１０２）、及びメモリダンプの採取（Ｓ１０３）が行われる様子が示されている。
【００４３】
なお、メモリダンプの採取後、ゲストドメイン１２ｂは、ハイパーバイザ１１に対して再起動命令を入力する。その結果、ゲストドメイン１２ｂは、緊急停止した後、再起動される。
【００４４】
図５に戻る。「パニック」というステータス情報を通知されたハイパーバイザ１１のドメイン関係判定部１１１は、ゲストドメイン１２ｂに対してサービスを提供しているドメイン１２（すなわち、サービスドメイン）を特定する（Ｓ１０４）。サービスドメインの特定は、ドメイン関係情報記憶部１１２を参照して行われる。
【００４５】
図７は、ドメイン関係情報記憶部の構成例を示す図である。図７において、ドメイン関係情報記憶部１１２は、各ドメイン１２のドメイン番号ごとに、当該ドメイン１２のサービスドメインのドメイン番号を記憶する。図７において、「ドメイン１２ａ」、「ドメイン１２ｂ」、「ドメイン１２ｃ」は、順番に、サービスドメイン１２ａ、ゲストドメイン１２ｂ、ゲストドメイン１２ｃのドメイン番号を示す。なお、図７では、便宜上、ドメイン１２ａ」、「ドメイン１２ｂ」、「ドメイン１２ｃ」といった文字列によって、ドメイン番号が表現されている。
【００４６】
ドメイン関係判定部１１１は、通知されたステータス情報からドメイン番号を抽出し、当該ドメイン番号に対するサービスドメインのドメイン番号を、ドメイン関係情報記憶部１１２より取得する。図７に基づけば、「ドメイン１２ｂ」に対して、「ドメイン１２ａ」が取得される。すなわち、サービスドメイン１２ａが、ゲストドメイン１２ｂのサービスドメインとして特定される。ドメイン関係判定部１１１は、特定されたサービスドメイン１２ａのドメイン番号を、アドレス変換バッファ処理部１１３に送信（通知）する。ここで特定されたサービスドメイン１２ａが、以降の処理においてメモリダンプの採取対象とされるドメイン１２である。
【００４７】
続いて、ハイパーバイザ１１のアドレス変換バッファ処理部１１３は、サービスドメイン１２ａのＣＰＵ１０４ａにおけるアドレス変換バッファ１４ａの内容をクリア（消去）する（Ｓ１０５）。すなわち、アドレス変換バッファ１４ａが無効化される。
【００４８】
続いて、ハイパーバイザ１１のダンプ採取要求部１１４は、パニックが発生したゲストドメイン１２ｂ及びサービスドメイン１２ａ以外のドメイン１２に対して、ハイパーバイザＡＰＩを介して、サービスドメイン１２ａのメモリダンプの採取要求を送信する（Ｓ１０６）。この際、サービスドメイン１２ａのメモリ１３０ａの物理アドレスＰＡの範囲が指定される。すなわち、各ドメイン１２に対してメモリ１３０を割り当てるのは、ハイパーバイザ１１である。したがって、ハイパーバイザ１１は、各ドメイン１２のメモリ１３０物理アドレスＰＡの範囲を知っている。本実施の形態において、パニックが発生したゲストドメイン１２ｂ及びサービスドメイン１２ａ以外のドメイン１２は、ゲストドメイン１２ｃである。したがって、ゲストドメイン１２ｃに対して、サービスドメイン１２ａのメモリダンプの採取要求が送信される。
【００４９】
続いて、ゲストドメイン１２ｃのメモリダンプ採取部１３２ｃは、指定された物理アドレスＰＡの範囲の主記憶装置１０３の領域（すなわち、メモリ１３０ａ）の内容のスナップショットをディスク１２０ｃにコピーし、メモリダンプとして保存する（Ｓ１０７）。
【００５０】
図８は、サービスドメインのメモリダンプの採取処理の一例を説明するための図である。図８中、図５に対応する処理には、図５と同一のステップ番号が付与されている。
【００５１】
ハイパーバイザ１１のダンプ採取要求部１１４は、ゲストドメイン１２ｃのメモリダンプ採取部１３２ｃに、サービスドメイン１２ａのメモリダンプの採取要求を送信する（Ｓ１０６）。当該採取要求には、メモリ１３０ａの物理アドレスＰＡの範囲（図８では、Ｘ番地からＹ番地まで）が指定される。当該採取要求に応じ、メモリダンプ採取部１３２ｃは、当該範囲の主記憶装置１０３の領域（すなわち、メモリ１３０ａ）の内容のスナップショットをディスク１２０ｃにコピーし、メモリダンプとして保存する（Ｓ１０７−１、Ｓ１０７−２）。すなわち、サービスドメイン１２ａにおける仮想アドレスＶＡではなく、物理アドレスＰＡによってメモリダンプの範囲が指定されるため、メモリダンプ採取部１３２ｃは、他のドメインのメモリ領域であっても、主記憶装置１０３においてメモリダンプとして保存する範囲を特定することができる。
【００５２】
図５に戻る。ステップＳ１０７で保存されるメモリダンプは、ゲストドメイン１２ｂにおいてパニックが発生した時のメモリ１３０ａの状態を示すものである。すなわち、アドレス変換バッファ１４ａが無効化されることにより、サービスドメイン１２ａは、それまでアクセス可能であったメモリ１３０ａに対してアクセスできなくなる（Ｓ１０８）。ＣＰＵ１０４ａは、ＯＳ１３ａによって指定される仮想アドレスＶＡから物理アドレスＰＡへの変換に失敗するからである。したがって、メモリ１３０ａの内容は、更新されずに保護される。その結果、ゲストドメイン１２ｂにおいてパニックが発生した時のメモリ１３０ａの状態を示すメモリダンプが採取される。
【００５３】
ＣＰＵ１０４ａは、アドレス変換に失敗すると、当該アドレス変換の失敗を示すトラップを生成し、当該トラップをハイパーバイザ１１に通知する。ハイパーバイザ１１のトラップ処理部１１５は、当該トラップを検知する（Ｓ１０９）。
【００５４】
図９は、アドレス変換バッファの無効化に応じたトラップの発生の一例を説明するための図である。図９中、図５に対応する処理には、図５と同一のステップ番号が付与されている。
【００５５】
図９に示されるように、ハイパーバイザ１１のアドレス変換バッファ処理部１１３は、ドメイン関係判定部１１１から送信されたサービスドメイン１２ａのドメイン番号に基づいて、サービスドメイン１２ａのＣＰＵ１０４ａのアドレス変換バッファ１４ａをクリアする（Ｓ１０５）。アドレス変換バッファ１４ａのクリア（無効化）により、サービスドメイン１２のＣＰＵ１０４ａは、メモリ１３０ａのデータにアクセスしようとしても、アドレス変換に失敗してしまう（Ｓ１０８）。そこで、ＣＰＵ１０４ａは、アドレス変換失敗を示すトラップを生成する。ハイパーバイザ１１のトラップ処理部１１５は、当該トラップを検知する（Ｓ１０９）。
【００５６】
図５に戻る。トラップ処理部１１５は、トラップの通知元がＣＰＵ１０４ａであることに基づいて、アドレス変換に失敗したドメイン１２は、サービスドメイン１２ａであることを特定する。すなわち、ハイパーバイザ１１は、各ＣＰＵ１０４と、各ドメイン１２との対応を知っている。また、トラップには、アドレス変換に失敗したアドレス（ＶＡ又はＲＡ）が含まれている。トラップ処理部１１５は、アドレス変換表１１７を参照して、当該アドレスを物理アドレスＰＡに変換し、変換後の物理アドレスＰＡをメモリ管理部１１６に通知する。メモリ管理部１１６は、主記憶装置１０３において当該物理アドレスＰＡに位置するデータ（例えば、当該物理アドレスＰＡが含まれるページ）を、メモリプール１３０ｐにおける空き領域にコピーする（Ｓ１１０）。すなわち、サービスドメイン１２ａにおいてアクセスされようとしていたデータが、メモリプール１３０ｐにコピーされる。
【００５７】
なお、トラップに含まれているアドレスがＶＡであるかＲＡであるかは、アドレス変換バッファ１４の構成によって異なる。また、トラップ処理部１１５による、物理アドレスＰＡへの変換方法は、トラップに含まれているアドレスがＶＡであるかＲＡであるかによって異なる。アドレス変換バッファ１４の構成及びトラップに含まれているアドレスの物理アドレスＰＡへの変換の詳細については後述される。
【００５８】
続いて、ハイパーバイザ１１のアドレス変換バッファ処理部１１３は、アクセス対象のアドレス（ＶＡ又はＲＡ）と、コピー先の物理アドレスＰＡとのマッピング情報をアドレス変換バッファ１４ａに再設定する（Ｓ１１１）。すなわち、アクセス対象に対応する物理アドレスＰＡが、メモリプール１３０ｐにおけるコピー先とされる。続いて、アドレス変換バッファ処理部１１３は、サービスドメイン１２ａのＣＰＵ１０４ａに、アドレス変換バッファ１４ａの再設定の完了を通知し、メモリアクセスの再実行を指示する（Ｓ１１２）。
【００５９】
サービスドメイン１２ａは、トラップ生成後、ステップＳ１１２における通知を受信するまで、アクセスに失敗したデータに関するメモリアクセスを待機している（Ｓ１１３）。ハイパーバイザ１１からのアドレス変換バッファ１４ａの再設定の完了の通知に応じ、サービスドメイン１２ａはメモリ１３０ａへのアクセスを再開する（Ｓ１１４）。この際、アクセスに失敗したデータに対応する物理アドレスＰＡは、アドレス変換バッファ１４ａに記録されている。したがって、当該データに関するアドレス変換は成功する。
【００６０】
図１０は、アドレス変換バッファの再設定処理の一例を説明するための図である。図１０中、図５に対応する処理には、図５と同一のステップ番号が付与されている。
【００６１】
ハイパーバイザ１１のトラップ処理部１１５は、検知されたトラップに含まれているアドレス（ＶＡ又はＲＡ）を、アドレス変換表１１７を参照して物理アドレスＰＡに変換する（Ｓ１１０−１）。続いて、トラップ処理部１１５は、変換後の物理アドレスＰＡをメモリ管理部１１６に通知する（Ｓ１１０−２）。当該物理アドレスＰＡは、Ｎ番地であるとする。メモリ管理部１１６は、メモリ１３０ａのＮ番地に係るデータを、メモリプール１３０ｐの空き領域（図１０では、Ｍ番地）にコピーする（Ｓ１１０−３）。続いて、アドレス変換バッファ処理部１１３は、コピー先のＭ番地と、アクセスに失敗したアドレス（ＶＡ又はＲＡ）とのマッピング情報をアドレス変換バッファ１４ａに再設定する（Ｓ１１１）。アドレス変換バッファ１４ａの再設定の完了後、アドレス変換バッファ処理部１１３は、アドレス変換バッファ１４の再設定の完了通知をサービスドメイン１２のＣＰＵ１０４ａに送信する（Ｓ１１２）。当該通知に応じ、ＣＰＵ１０４ａは、メモリアクセスを再試行する。すなわち、ＣＰＵ１０４ａは、メモリプール１３０ｐ内のＭ番地へのアクセスに成功する。このように、ＣＰＵ１０４ａは、メモリ１３０ａ内のＮ番地ではなく、メモリプール１３０ｐ内のＭ番地にアクセスすることになる。その結果、サービスドメイン１２ａは、メモリ１３０ａの内容を更新せずに処理を継続することができる。すなわち、サービスドメイン１２ａは、メモリプール１３０ｐにコピーされたデータに対して読み書きを行うことにより、処理を継続することができる。
【００６２】
図５に戻る。ステップＳ１１４の後、サービスドメイン１２ａにおけるメモリアクセスに関して、メモリプール１３０ｐにコピーされ、マッピング情報がアドレス変換バッファ１４ａに設定されたアドレスに対するアクセスは成功し（Ｓ１１５）、そうでないアドレスについては、アドレス変換に失敗する（Ｓ１１６）。アドレス変換に失敗した場合、改めてトラップが生成され、ステップＳ１０９以降が繰り返される。したがって、サービスドメイン１２ａによる処理は、完全に停止することなく継続することができる。すなわち、サービスドメイン１２ａは、サービスの提供を継続することができる。
【００６３】
一方、ゲストドメイン１２ｃのメモリダンプ採取部１３２ｃは、サービスドメイン１２ａのメモリ１３０ａのメモリダンプの採取（ディスク１２０ｃへの保存）が終了すると、メモリダンプの採取の完了通知をハイパーバイザ１１に送信する（Ｓ１１７）。
【００６４】
ハイパーバイザ１１のメモリ管理部１１６は、当該完了通知の受信後は、メモリプール１３０ｐへのデータのコピーは行わない。具体的には、当該完了通知の受信後に、サービスドメイン１２ａにおいてアドレス変換失敗のトラップが発生した場合、メモリ管理部１１６は、アクセス対象とされたデータのメモリ１３０ａにおける物理アドレスＰＡを、アドレス変換バッファ処理部１１３に通知する。アドレス変換バッファ処理部１１３は、当該物理アドレスＰＡと、アクセス対象とされたデータのアドレス（ＶＡ又はＲＡ）とのマッピング情報を、アドレス変換バッファ１４ａに設定する。したがって、この場合、メモリ１３０ａ内のデータがアクセスされることになる。メモリ１３０ａのメモリダンプの採取は完了しているため、メモリ１３０ａが更新されたとしても、メモリダンプへの影響は無い。
【００６５】
なお、ゲストドメイン１２ｃによるメモリダンプの採取処理と、ステップＳ１０８以降とは並列的に実行される。
【００６６】
続いて、トラップの検知に応じてハイパーバイザ１１が実行する処理を、より一般化して説明する。
【００６７】
図１１は、トラップの検知に応じてハイパーバイザが実行する処理手順の一例を説明するためのフローチャートである。
【００６８】
ハイパーバイザ１１のトラップ処理部１１５は、トラップを検知すると（Ｓ２０１）、トラップの種別を判定する（Ｓ２０２）。トラップの種別は、トラップに含まれている情報に基づいて判定可能である。当該トラップの種別が、アドレス変換失敗以外のトラップである場合（Ｓ２０３でＮｏ）、トラップ処理部１１５は、当該トラップの種別に対応した処理を実行する（Ｓ２０４）。
【００６９】
一方、当該当トラップの種別が、アドレス変換失敗である場合（Ｓ２０３でＹｅｓ）、トラップ処理部１１５は、当該トラップに含まれている情報に基づいて、トラップを生成したＣＰＵ１０４の番号を判定し、当該ＣＰＵ１０４に対応するドメイン１２を特定する（Ｓ２０５）。
【００７０】
当該ドメイン１２が、サービスドメインでない場合、又は当該ＣＰＵ１０４のアドレス変換バッファ１４がクリア（無効化）されていない場合（Ｓ２０６でＮｏ）、アドレス変換失敗トラップに対する一般対応処理が行われる（Ｓ２０７）。当該一般対応処理の詳細については、後述される。
【００７１】
一方、当該ドメイン１２が、サービスドメインであり、かつ、当該ドメイン１２のＣＰＵ１０４のアドレス変換バッファ１４がクリア（無効化）されている場合（Ｓ２０６でＹｅｓ）、トラップ処理部１１５は、当該トラップに含まれるアドレス（ＶＡ又はＲＡ）に対応するアドレス（ＰＡ）（ここでは、Ｎ番地とする。）を特定する。トラップ処理部１１５は、特定された物理アドレスＰＡを、ハイパーバイザ１１のメモリ管理部１１６に通知する（Ｓ２０８）。
【００７２】
当該ドメイン１２が、他のドメイン１２のサービスドメインであるか否かは、ドメイン関係情報記憶部１１２を参照して判定可能である。すなわち、当該ドメイン１２のドメイン番号が、サービスドメインとしてドメイン関係情報記憶部１１２に記憶されていれば、当該ドメイン１２は、サービスドメインである。また、当該トラップに含まれるアドレスに対応するアドレス（ＰＡ）は、アドレス変換表１１７を参照して計算される。
【００７３】
続いて、メモリ管理部１１６は、通知されたＮ番地が属するドメインを判定する（Ｓ２０９）。なお、ハイパーバイザ１１（メモリ管理部１１６）は、各ドメイン１２のメモリ１３０又はメモリプール１３０ｐの物理アドレスの範囲を知っている。したがって、メモリ管理部１１６は、Ｎ番地が、いずれのドメイン１２のメモリ１３０内であるか、又はメモリプール１３０ｐ内であるかを判定することができる。
【００７４】
Ｎ番地がメモリプール１３０ｐ内である場合（Ｓ２１０でＹｅｓ）、ステップＳ２０７（アドレス変換失敗トラップに対する一般対応処理）が実行される。
【００７５】
Ｎ番地がメモリプール１３０ｐ外である場合（Ｓ２１０でＮｏ）、メモリ管理部１１６は、Ｎ番地のデータを、メモリプール１３０ｐの空き領域（ここでは、Ｍ番地とする。）にコピーし、コピー先のＭ番地をアドレス変換バッファ処理部１１３に通知する（Ｓ２１１）。アドレス変換バッファ処理部１１３は、通知されたＭ番地と、ＣＰＵ１０４ａがアクセスに失敗したアドレスとのマッピング情報をアドレス変換バッファ１４に再設定する（Ｓ２１２）。続いて、アドレス変換バッファ処理部１１３は、アドレス変換バッファ１４の再設定の完了をサービスドメイン１２ａに通知する（Ｓ２１３）。
【００７６】
続いて、アドレス変換バッファ１４の具体的な構成例について説明する。図１２は、アドレス変換バッファの第一の構成例を示す図である。
【００７７】
図１２において、アドレス変換バッファ１４は、仮想・物理アドレス変換バッファ１４１（以下、「ＴＬＢ１４１」という。）及び中間・物理アドレス変換バッファ１４２（以下、「ＲＲ１４２」という。）を含む。ＴＬＢ（Translation Lookaside Buffer）１４１は、仮想アドレスＶＡと物理アドレスＰＡとのマッピング情報を保持する。ＲＲ（Range Register）１４２は、ドメイン１２上のＯＳ１３にとっての物理アドレスに相当する中間アドレスＲＡと物理アドレスＰＡとのマッピング情報を保持する。
【００７８】
アドレス変換バッファ１４が、図１２に示される構成を有する場合、仮想アドレスＶＡから物理アドレスＰＡへの変換は、図１３に示されるような手順で実行される。
【００７９】
図１３は、ＴＬＢ及びＲＲを用いたアドレス変換の手順の一例を説明するための図である。
【００８０】
ＣＰＵ１０４は、まず、アクセス対象の仮想アドレスＶＡに関して、ＴＬＢ１４１を探索する（Ｓ３０１）。ＴＬＢ１４１によって、仮想アドレスＶＡから物理アドレスＰＡへの変換が成功すると（Ｓ３０２でＹｅｓ）、ＣＰＵ１０４は、変換後の物理アドレスＰＡに対してアクセスする。
【００８１】
一方、ＴＬＢ１４１による仮想アドレスＶＡから物理アドレスＰＡへの変換に失敗すると（Ｓ３０２でＮｏ）、ＣＰＵ１０４は、トラップを生成し、当該トラップをＯＳ１３に通知する。当該トラップには、仮想アドレスＶＡが指定されている。ＯＳは、当該トラップに応じ、当該トラップに指定されている仮想アドレスＶＡに関して、ＴＳＢ１３３を探索する（Ｓ３０４）。ＴＳＢ１３３によって、仮想アドレスＶＡは、中間アドレスＲＡへ変換される。なお、本実施の形態において、ＴＳＢ１３３は、クリア（無効化）の対象ではないため、ＴＳＢ１３３による変換は成功する。ＯＳ１３は、変換後の中間アドレスにアクセスを行う。当該アクセスに応じ、ＣＰＵ１０４は、変換後の中間アドレスに関して、ＲＲ１４２を探索する（Ｓ３０５）。ＲＲ１４２による中間アドレスＲＡから物理アドレスＰＡへの変換が成功すると（Ｓ３０６でＹｅｓ）、ＣＰＵ１０４は、変換後の物理アドレスＰＡにアクセスする。
【００８２】
一方、ＴＳＢ１３３による変換又はＲＲ１４２による変換に失敗すると（Ｓ３０５でＮｏ、又はＳ３０６でＮｏ）、ＣＰＵ１０４は、アドレス変換失敗のトラップを生成する。（Ｓ３０７）。
【００８３】
したがって、アドレス変換バッファ１４が、ＴＬＢ１４１及びＲＲ１４２を含む場合、図５又は図９のステップＳ１０５において、アドレス変換バッファ１４のクリア（無効化）は、ＴＬＢ１４１及びＲＲ１４２の双方に関して行われる。すなわち、ハイパーバイザ１１のアドレス変換バッファ処理部１１３は、ＴＬＢ１４１をクリアする。また、アドレス変換バッファ処理部１１３は、ＲＲ１４２をクリアする。
【００８４】
そうすることにより、仮想アドレスＶＡから物理アドレスＰＡの変換は失敗し、図１３のステップＳ３０７においてトラップが生成されることになる。
【００８５】
当該トラップには、中間アドレスＲＡが含まれる。したがって、この場合、図１０のステップＳ１１０−１において、トラップ処理部１１５は、当該中間アドレスＲＡに関して、アドレス変換表１１７を探索することにより、物理アドレスＰＡを取得することができる。アドレス変換表１１７は、中間アドレスＲＡと物理アドレスＰＡとのマッピング情報を記憶するからである。
【００８６】
また、図５又は図１０のステップＳ１１１における、アドレス変換バッファ１４の再設定処理において、アドレス変換バッファ処理部１１３は、当該中間アドレスＲＡに対して、コピー先の物理アドレスＰＡを、ＲＲ１４２ａに設定する。ここで、ＴＬＢ１４１ａに対する設定は行われなくてもよい。図１３のステップＳ３０２でＮｏであっても、ステップＳ３０６でＹｅｓとなり、アドレス変換に成功するからである。
【００８７】
更に、アドレス変換バッファ１４が、図１２に示される構成を有する場合、図１１のステップＳ２０８において、トラップ処理部１１５は、トラップから中間アドレスＲＡを抽出する。トラップ処理部１１５は、当該中間アドレスＲＡに対応する物理アドレスＰＡをアドレス変換表１１７より取得する。トラップ処理部１１５は、当該中間アドレスＲＡ及び当該物理アドレスＰＡのマッピング情報をＲＲ１４２に設定する。その結果、ＣＰＵ１０４は、当該物理アドレスＰＡにアクセス可能となる。
【００８８】
次に、アドレス変換バッファ１４の第二の構成例について説明する。図１４は、アドレス変換バッファの第二の構成例を示す図である。図１４中、図１２と同一部分には同一符号を付し、その説明は省略する。第二の構成例において、アドレス変換バッファ１４は、ＲＲ１４２を含まない。
【００８９】
アドレス変換バッファ１４が、図１４に示される構成を有する場合、仮想アドレスＶＡから物理アドレスＰＡへの変換は、図１５に示されるような手順で実行される。
【００９０】
図１５は、ＴＬＢを用いたアドレス変換の手順の一例を説明するための図である。図１５中、図１３と同一ステップには同一ステップ番号を付し、その説明は、適宜省略する。
【００９１】
図１５に示されるように、アドレス変換バッファ１４が、図１４に示される構成を有する場合、ＴＬＢ１４１によって、仮想アドレスＶＡから物理アドレスＰＡへの変換に失敗すると（Ｓ３０２でＮｏ）、ＣＰＵ１０４は、アドレス変換失敗のトラップを生成する。（Ｓ３０７）。
【００９２】
したがって、アドレス変換バッファ１４が、図１４に示される構成を有する場合、アドレス変換バッファ１４のクリア（無効化）は、ＴＬＢ１４１に関して行われればよい。そうすることにより、仮想アドレスＶＡから物理アドレスＰＡへの変換は失敗し、図１５のステップＳ３０７においてトラップが生成されることになる。
【００９３】
当該トラップには、仮想アドレスＶＡが含まれる。したがって、この場合、図１０のステップＳ１１０−１において、トラップ処理部１１５は、まず、サービスドメイン１２ａのＴＳＢ１３３ａを参照して、当該仮想アドレスＶＡを中間アドレスＲＡに変換する。その後、トラップ処理部１１５は、当該中間アドレスＲＡに関して、アドレス変換表１１７を探索することにより、物理アドレスＰＡを取得する。
【００９４】
また、図５又は図１０のステップＳ１１１における、アドレス変換バッファ１４の再設定処理において、アドレス変換バッファ処理部１１３は、当該仮想アドレスＶＡに対して、コピー先の物理アドレスＰＡを、ＴＬＢ１４１ａに設定する。
【００９５】
更に、アドレス変換バッファ１４が、図１４に示される構成を有する場合、図１１のステップＳ２０８において、トラップ処理部１１５は、トラップから仮想アドレスＶＡを抽出する。トラップ処理部１１５は、当該仮想アドレスＶＡに対応する中間アドレスＲＡを、トラップの生成元のドメイン１２のＴＳＢ１３３より取得する。続いて、トラップ処理部１１５は、当該中間アドレスＲＡに対応する物理アドレスＰＡをアドレス変換表１１７より取得する。トラップ処理部１１５は、当該仮想アドレスＶＡ及び当該物理アドレスＰＡのマッピング情報をＴＬＢ１４１に設定する。その結果、ＣＰＵ１０４は、当該物理アドレスＰＡにアクセス可能となる。
【００９６】
上述したように、本実施の形態によれば、或るドメイン１２におけるパニックの発生に応じて、当該ドメイン１２に対するサービスドメイン１２のアドレス変換バッファ１４が無効化される。したがって、サービスドメイン１２のメモリ１３０へのアクセスが抑止され、当該メモリ１３０が更新されない状態が維持される。そのような状況において、当該メモリ１３０に関するメモリダンプが採取される。その結果、サービスドメイン１２のメモリ１３０に関して、パニック発生時のスナップショットをメモリダンプとして採取することができる。すなわち、パニックの原因調査に有効なメモリダンプを採取できる可能性を高めることができる。
【００９７】
また、サービスドメイン１２においてメモリアクセスが発生した場合は、アクセス対象のデータが、いずれのドメイン１２にも割り当てられていないメモリプール１３０ｐにコピーされる。コピー先の物理アドレスＰＡは、サービスドメイン１２のアドレス変換バッファ１４に設定される。その結果、サービスドメイン１２は、アクセス対象のデータにアクセスすることができ、処理を継続することができる。すなわち、サービスドメイン１２によるサービスの提供を停止することなく、サービスドメイン１２のメモリ１３０に関するメモリダンプを採取することができる。
【００９８】
なお、本実施の形態は、サービスドメイン１２が複数である場合においても有効である。すなわち、複数のそれぞれのサービスドメイン１２に対して、本実施の形態において説明した処理が実行されればよい。この場合、各サービスドメイン１２のメモリダンプを採取するドメイン１２は、一つでもよいし、複数でもよい。また、パニックが発生したドメイン１２以外でメモリダンプの採取対象とされるドメイン１２は、サービスドメイン１２に限定されなくてもよい。
【００９９】
なお、本実施の形態において、アドレス変換バッファ１４は、対応情報記憶部の一例である。アドレス変換バッファ処理部１１３は、対応情報処理部の一例である。メモリダンプ採取部１３２は、保存部の一例である。
【０１００】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０１】
１０          情報処理装置
１１          ハイパーバイザ
１２          ドメイン
１３ａ、１３ｂ、１３ｃ    ＯＳ
１４          アドレス変換バッファ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        主記憶装置
１０４、１０４ａ、１０４ｂ、１０４ｃ    ＣＰＵ
１０５        インタフェース装置
１１１          ドメイン関係判定部
１１２          ドメイン関係情報記憶部
１１３          アドレス変換バッファ処理部
１１４          ダンプ採取要求部
１１５          トラップ処理部
１１６          メモリ管理部
１１７          アドレス変換表
１２０ａ、１２０ｂ、１２０ｃ    ディスク
１３０ａ、１３０ｂ、１３０ｃ    メモリ
１３０ｐ      メモリプール
１３１          パニック通知部
１３２          メモリダンプ採取部
１３３          仮想・中間アドレス変換バッファ（ＴＳＢ）
１４１          仮想・物理アドレス変換バッファ（ＴＬＢ）
１４２          中間・物理アドレス変換バッファ（ＲＲ）
Ｂ            バス
【図１】
2013030939.tif 000003
【図２】
2013030939.tif 000004
【図３】
2013030939.tif 000005
【図４】
2013030939.tif 000006
【図５】
2013030939.tif 000007
【図６】
2013030939.tif 000008
【図７】
2013030939.tif 000009
【図８】
2013030939.tif 000010
【図９】
2013030939.tif 000011
【図１０】
2013030939.tif 000012
【図１１】
2013030939.tif 000013
【図１２】
2013030939.tif 000014
【図１３】
2013030939.tif 000015
【図１４】
2013030939.tif 000016
【図１５】
2013030939.tif 000017
【手続補正書】
【提出日】平成26年2月25日(2014.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の仮想マシンが動作する情報処理装置であって、
第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化する対応情報処理部と、
前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する保存部とを有する情報処理装置。
【請求項２】
前記第二の仮想マシンにおける、当該第二の仮想マシンに割り当てられているメモリ領域のデータへのアクセスに際し、前記対応情報が無効化されていることに基づいて発生するトラップに応じ、該データを、いずれの仮想マシンにも割り当てられていないメモリ領域にコピーするメモリ管理部を有し、
前記対応情報処理部は、前記コピー先の物理アドレスを前記対応情報記憶部に記憶する請求項１記載の情報処理装置。
【請求項３】
前記第二の仮想マシンは、前記第一の仮想マシンに対してサービスを提供する仮想マシンである請求項１又は２記載の情報処理装置。
【請求項４】
複数の仮想マシンが動作する情報処理装置が実行するメモリダンプ採取方法であって、
第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化し、
前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する処理を実行するメモリダンプ採取方法。
【請求項５】
複数の仮想マシンが動作する情報処理装置に、
第一の仮想マシンにおけるパニックの発生に応じ、前記第一の仮想マシンの処理に関連する処理を行う第二の仮想マシンが使用する、対応情報記憶部に記憶された仮想アドレスと物理アドレスとの対応情報を無効化し、
前記第二の仮想マシンに割り当てられているメモリ領域の内容を記憶装置に保存する処理を実行させるプログラム。
【国際調査報告】
2013030939.tif 000018
2013030939.tif 000019
2013030939.tif 000020
2013030939.tif 000021