(57)【要約】コンピュータシステムで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出するＯＳ異常停止検出部と、異常停止した仮想マシンのコンソール機能の復旧に必要なメモリ資源を、コンピュータシステム内で利用可能なメモリ資源の中から確保する、メモリ資源確保部と、異常停止した仮想マシンに確保されたメモリ資源を割り当て、コンソール機能が復旧したら、コンソール機能を用いて仮想マシンを正常終了させるコンソール獲得部と、を備える。
2014132466.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出するＯＳ異常停止検出部と、
異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータシステム内で利用可能なメモリ資源の中から確保する、メモリ資源確保部と、
異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させるコンソール獲得部と、を備えたソフトウェア安全停止システム。
【請求項２】
前記メモリ資源確保部は、
前記コンピュータシステムで実行される他の仮想マシンに割り当てられているメモリ資源の中から、異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を確保する、請求項１に記載のソフトウェア安全停止システム。
【請求項３】
前記メモリリークの原因となったソフトウェアを、前記仮想マシンで実行されていた他のソフトウェアや前記コンピュータシステムの外部に存在する連携コンポーネントから隔離する、ソフトウェア隔離部を備えた請求項１または２に記載のソフトウェア安全停止システム。
【請求項４】
前記コンソール機能の復旧後、前記仮想マシンを正常終了させる処理を自動で実行する、安全停止処理実行部を備えた請求項１から３のいずれか１項に記載のソフトウェア安全停止システム。
【請求項５】
前記安全停止処理実行部は、
ソフトウェアの異常状態の除去、データ不整合の解消、一時データの保存、異常停止直前のシステムの振る舞いに関する情報の収集、ログの記録、およびプロセスの正常終了処理のうちの少なくとも１つを自動で実行する、請求項１から４のいずれか１項に記載のソフトウェア安全停止システム。
【請求項６】
コンピュータシステムで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出する工程と、
異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータシステム内で利用可能なメモリ資源の中から確保する工程と、
異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させる工程と、を備えたソフトウェア安全停止方法。
【請求項７】
コンピュータを、
前記コンピュータで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出するＯＳ異常停止検出部と、
異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータ内で利用可能なメモリ資源の中から確保する、メモリ資源確保部と、
異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させるコンソール獲得部と、して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア安全停止システム、ソフトウェア安全停止方法、およびプログラムに関する。
【背景技術】
【０００２】
ソフトウェアの欠陥に起因したシステム障害の一例としてメモリリークがある。メモリリークは、ソフトウェアオブジェクトやデータのために割り当てられたメモリが適切に解放されず、空きメモリ領域の枯渇によりシステムが停止してしまう現象である。一般的なコンピュータシステムでは、メモリはオペレーティングシステム（ＯＳ）によって管理され、複数のソフトウェアによって共有されるため、一つのソフトウェアの欠陥でＯＳ全体が停止してしまうことがある。【０００３】
メモリリークによって異常停止したＯＳを復旧させるためには、コンピュータシステムの再起動が必要である。すなわち、コンピュータシステムの電源を落とし、再度コンピュータシステムを起動する。また、サーバ仮想化機能によって実現された仮想マシンでは、異常停止した仮想マシンを削除し、仮想マシンを再度作り直す。再起動や再生成によるＯＳの復旧では、異常停止時にハードディスクなどの永続性のあるストレージに保存されていなかったデータは消去される。すなわち、キャッシュやバッファなどの永続性のないストレージに保持されているデータは消去される。これにより、ユーザにとって重要なデータが失われるだけでなく、異常停止の原因を特定するための手掛かりとなる情報も失われる。さらに、異常状態のままコンピュータシステムの電源を落とすことにより、ソフトウェアが参照するデータに不整合が生じ、再起動時にコンピュータシステムを正常に起動できない場合がある。【０００４】
このように、メモリリークが起こると、上記のような不具合が発生するため、メモリリークを事前に回避する方法が一般的に採用されている。【０００５】
特許文献１に記載された携帯端末は、一定間隔でオペレーティングシステムの動作状況を監視し、メモリリークなどの不安定要因によりオペレーティングシステムが不安定状態になったと予測した場合に、予測された不安定状態に応じた所定の回避策を実行し、障害発生を未然に回避する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平２００８−００３７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１の携帯端末では、実際にメモリリークによるシステム障害が生じた際に、不具合の発生を回避することはできなかった。【０００８】
そこで、本発明の目的は、メモリリークによるシステム障害が生じた際に、不具合の発生を回避することである。
【課題を解決するための手段】
【０００９】
本発明に係るソフトウェア安全停止システムは、コンピュータシステムで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出するＯＳ異常停止検出部と、異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータシステム内で利用可能なメモリ資源の中から確保する、メモリ資源確保部と、異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させるコンソール獲得部と、を備える。
【発明の効果】
【００１０】
本発明によれば、メモリリークによるシステム障害が生じた際に、不具合の発生を回避することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１による、ソフトウェア安全停止システムの構成を示すブロック図。
【図２】本発明の実施の形態１による、ソフトウェア安全停止システムの動作のフローチャート。
【図３】本発明の実施の形態２による、ソフトウェア安全停止システムの構成を示すブロック図。
【図４】本発明の実施の形態３による、ソフトウェア安全停止システムの構成を示すブロック図。
【図５】本発明の実施例による、ソフトウェア安全停止システムの構成を示すブロック図。
【発明を実施するための形態】
【００１２】
実施の形態１．
次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
図１は、本発明の実施の形態１によるソフトウェア安全停止システム１０の構成を示すブロック図である。図１に示すように、ソフトウェア安全停止システム１０は、仮想マシン実行部１０１，１０２、ＯＳ異常停止検出部１０３、コンソール獲得部１０４、メモリ資源確保部１０５、仮想マシンメモリ割り当て情報記憶部１０６を備えている。
【００１３】
ソフトウェア安全停止システム１０は、ＣＰＵ(Central Processing Unit)、ＲＯＭ(Read Only Memory)やＲＡＭ(Random Access Memory)等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータによって構成されうる。なお、ソフトウェア安全停止システム１０は、単一のコンピュータにより構成されるものであっても、通信回線を介して互いに接続された複数のコンピュータにより構成されるものであってもよい。
【００１４】
仮想マシン実行部１０１，１０２、ＯＳ異常停止検出部１０３、コンソール獲得部１０４、メモリ資源確保部１０５は、ＣＰＵがＲＯＭ等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。仮想マシンメモリ割り当て情報記憶部１０６は、外部記憶装置により実装される。外部記憶装置は、ソフトウェア安全停止システム１０とネットワーク等を介して接続されていてもよい。
【００１５】
仮想マシン実行部１０１，１０２は、仮想マシンのＯＳの実行環境を提供する。
ＯＳ異常停止検出部１０３は、仮想マシン実行部１０１で発生したメモリリークを検出する。
コンソール獲得部１０４は、異常停止した仮想マシン実行部１０１へのメモリの追加割り当てを行い、メモリの追加により仮想マシン実行部１０１のコンソール機能が復旧したら、コンソールを用いてデータの保存やログの記録、ソフトウェアの異常状態を取り除く処置を行い、仮想マシンを正常終了させる。
メモリ資源確保部１０５は、仮想マシン実行部１０１のコンソール機能の獲得に必要なメモリ資源をソフトウェア安全停止システム１０内で利用可能なメモリ資源の中から確保する。
仮想マシンメモリ割り当て情報記憶部１０６は、各々の仮想マシン実行部に割り当てられているメモリ資源の量を格納する。
【００１６】
次に、ソフトウェア安全停止システム１０の動作について説明する。図２は、ソフトウェア安全停止システム１０の動作のフローチャートである。
仮想マシン実行部１０１で実行されているソフトウェアの欠陥により、仮想マシンでメモリリークによる障害が発生する（ステップＡ１）。
【００１７】
仮想マシン実行部１０１で障害が発生すると、ＯＳ異常停止検出部１０３が、仮想マシン実行部１０１の異常停止状態を検出する（ステップＡ２）。ＯＳ異常停止検出部１０３は、仮想マシン実行部１０１の異常停止状態を検出するため、常時ＯＳの死活状態を監視している。
【００１８】
仮想マシン実行部１０１が異常停止状態である場合、仮想マシン内のＯＳにはコンソールを用いてアクセスすることができない。メモリ資源確保部１０５は、ソフトウェア安全停止システム１０内に、仮想マシン実行部１０１のコンソール機能の復旧に必要な量の空きメモリがあるかどうかを確認する（ステップＡ３）。利用可能な空きメモリがある場合には（ステップＡ４；ＹＥＳ）、コンソール獲得部１０４が仮想マシン実行部１０１に必要な量のメモリを追加する（ステップＡ５）。
【００１９】
コンソール獲得部１０４は、メモリの追加割り当てにより仮想マシン実行部１０１のコンソール機能が復旧したら（ステップＡ６；ＹＥＳ）、コンソールを用いてデータの保存やログの記録、ソフトウェアの異常状態を取り除く処置を行い（ステップＡ７）、仮想マシンを正常終了させる（ステップＡ８）。
【００２０】
一方、仮想マシン実行部１０１に割り当て可能な空きメモリがない場合には（ステップＡ６；ＮＯ）、メモリ資源確保部１０５は、他の仮想マシン実行部１０２に割り当てられているメモリを流用できないか試みる（ステップＡ９）。他の仮想マシン実行部１０２からメモリを獲得できた場合（ステップＡ１０；ＹＥＳ）、メモリ資源確保部１０５は、仮想マシン実行部１０１にメモリを追加することによりコンソール機能の復旧を試みる（ステップＡ５）。
【００２１】
メモリ資源確保部１０５が他の仮想マシン実行部１０２からメモリを獲得できなかった場合（ステップＡ１０；ＮＯ）、またはメモリを追加しても仮想マシン実行部１０１のコンソール機能が復旧しなかった場合は（ステップＡ６；ＮＯ）、コンソール獲得部１０４は、仮想マシン実行部１０１を削除して終了する（ステップＡ１１）。
【００２２】
以上のように、本実施形態によれば、ソフトウェア安全停止システム１０は、メモリリークによって異常停止した仮想マシンへメモリを追加で割り当てることによってコンソールを獲得するため、獲得したコンソールを用いて仮想マシンを正常終了させることができる。
【００２３】
ソフトウェア安全停止システム１０は、異常停止した仮想マシンを削除せずに正常終了させるので、異常停止前に永続性のないストレージに保持されていたデータを、永続性のあるストレージに保存した上で仮想マシンを停止することができる。したがって、永続性のないストレージに保持されていたデータが、仮想マシンの削除によって消去されることを避けることができる。
【００２４】
また、ソフトウェア安全停止システム１０は、異常停止前のシステムの動作や状態に関する情報が、仮想マシンの削除によって失われるのを避けることができるため、異常停止の原因究明および問題解決を迅速化できる。
【００２５】
また、ソフトウェア安全停止システム１０は、仮想マシンの削除によってソフトウェアの利用するデータに不整合が生じることを避けることができる。
【００２６】
また、本実施の形態では、ソフトウェア安全停止システム１０は、異常停止した仮想マシンに割り当てるメモリが足りない場合には、他の仮想マシンに割り当てられているメモリ資源を流用するようにしたので、予め余剰メモリ資源を用意しなくても、異常停止した仮想マシンを安全に停止させることができる。
【００２７】
実施の形態２．
図３は、本発明の実施の形態２によるソフトウェア安全停止システム２０の構成を示すブロック図である。図１と同一の符号は、対応する構成要素を表している。図３に示すように、本発明の実施の形態２によるソフトウェア安全停止システム２０は、実施の形態１の構成に加え、ソフトウェア隔離部１０７を備えている。ソフトウェア隔離部１０７は、仮想マシン実行部１０１を用いて実行されるメモリリークの原因となるソフトウェアを他のソフトウェアから隔離する。
【００２８】
次に、図２を用いて、ソフトウェア安全停止システム２０の動作について説明する。ステップＡ２においてＯＳの異常停止状態が検出された際、ソフトウェア隔離部１０７は、メモリリークを発生させたソフトウェアを、仮想マシン実行部１０１で実行されていた他のソフトウェアやソフトウェア安全停止システム１０の外部に存在する連携コンポーネントから隔離するための処理を行う。
【００２９】
処理の内容は、メモリリークを発生させたソフトウェアの構成によって異なる。例えば、そのソフトウェアが負荷分散クラスタの構成をとっている場合は、ソフトウェア隔離部１０７は、ソフトウェアを負荷分散クラスタの対象から外すことにより、ソフトウェアを他のコンポーネントから隔離する。
【００３０】
また、そのソフトウェアがネットワーク機能を用いて他のコンピュータで動作するソフトウェアと通信する場合は、ソフトウェア隔離部１０７は、仮想マシン実行部１０１のネットワークインターフェースを無効にすることにより、ネットワークからこのソフトウェアを隔離する。このように、ソフトウェア隔離部１０７がメモリリークを発生させたソフトウェアを隔離し、メモリ追加割り当て時の障害リスクを低減した上で、ステップＡ３に進む。以降の動作は実施の形態１と同様である。
【００３１】
以上のように、本実施形態によれば、ソフトウェア安全停止システム２０は、メモリリークの原因となったソフトウェアを他のソフトウェアと隔離してからコンソールの獲得を試みるように構成されているため、メモリの追加割り当て後に再度メモリリークによって障害が発生するリスクを減らし、仮想マシンをより安全に停止させることができる。
【００３２】
実施の形態３．
図４は、本発明の実施の形態３によるソフトウェア安全停止システム３０の構成を示すブロック図である。図１と同一の符号は、対応する構成要素を表している。図４に示すように、本発明の実施の形態３によるソフトウェア安全停止システム３０は、実施の形態３の構成に加え、安全停止処理実行部１０８を備えている。安全停止処理実行部１０８は、コンソール獲得部１０４によってコンソール機能が獲得された際に、障害原因を究明するために必要な情報の収集やソフトウェアが利用する重要なデータを保存するための処理を自動で実行し、仮想マシンを安全に停止させる。
【００３３】
次に、図２を用いて、ソフトウェア安全停止システム２０の動作について説明する。ステップＡ６においてコンソール獲得部１０４によってコンソール機能が獲得された際、安全停止処理実行部１０８は、仮想マシン実行部１０１の安全停止のために必要な処理を自動的に実行するスクリプトをロードし、ロードしたスクリプトを他のプログラムよりも高い優先度で実行し、ソフトウェアを安全停止させて終了する。安全停止処理実行部１０８によって自動で実行される処理には、ソフトウェアの異常状態の除去、データ不整合の解消、一時データの保存、異常停止直前のシステムの振る舞いに関する情報の収集、ログの記録、プロセスの正常終了処理などが含まれる。
【００３４】
以上のように、本実施形態によれば、ソフトウェア安全停止システム３０は、異常停止した仮想マシンへのメモリの追加割り当てによってコンソール機能が獲得された際に、ソフトウェアを安全に停止するためのプログラムを自動で実行する。これにより人手による復旧処理のコストや操作ミスのリスクを削減し、より短時間で仮想マシンを安全に停止させることができる。
【実施例】
【００３５】
次に本発明の実施例について図面を参照して詳細に説明する。
図５は、本発明の実施例によるソフトウェア安全停止システム４０の構成を示すブロック図である。図５に示すように、ソフトウェア安全停止システム４０は、サーバコンピュータ５００とクライアントコンピュータ６００を備えている。【００３６】
サーバコンピュータ５００は、仮想マシン実行部５０１、ＯＳ異常停止検出部５０３、コンソール獲得部５０４、メモリ資源確保部５０５、仮想マシンメモリ割り当て情報記憶部５０６を備えている。また、仮想マシン実行部５０１は、アプリケーションソフトウェア５０７とキャッシュサーバ５０８を備えている。【００３７】
クライアントコンピュータ６００は、アプリケーションクライアント６０１を備えている。アプリケーションクライアント６０１は、ネットワーク通信によってアプリケーションソフトウェア５０７にアクセスし、処理を要求する。アプリケーションソフトウェア５０７は、例えばＨＴＴＰ（Hypertext Transfer Protocol）通信を利用したＷｅｂアプリケーションシステムなどである。アプリケーションクライアント６０１は、複数の異なるクライアントコンピュータからの処理を受け付けるようにしてもよい。【００３８】
アプリケーションソフトウェア５０７は、アプリケーションクライアント６０１から要求された処理を実行し、その処理の中でデータをキャッシュサーバ５０８に格納する。キャッシュサーバ５０８は、アプリケーションソフトウェア５０７で利用されるデータをメモリ上に格納する。キャッシュサーバ５０８に格納されたデータは、キーと値のペアからなるデータ構造（例えばハッシュテーブル）を有する。アプリケーションクライアント６０１は、キーを指定することにより、データの読み出しや書き込みを要求することができる。【００３９】
キャッシュサーバ５０８は、アプリケーションソフトウェア５０７の一部として機能し、アプリケーションソフトウェア５０７によって起動される。アプリケーションソフトウェア５０７は、キャッシュサーバ５０８に格納できるデータ量の上限値を起動時に設定する。この上限値は、仮想マシン実行部５０１が利用可能なメモリ量の範囲に収められる。【００４０】
ここで、アプリケーションソフトウェア５０７の欠陥により、キャッシュサーバ５０８で利用するメモリの上限値が適切に設定されない場合の、ソフトウェア安全停止システム４０の動作について説明する。【００４１】
例えば、キャッシュサーバ５０８で利用するメモリの上限値として仮想マシン実行部５０１に割り当てられたメモリ量を大きく上回る量が設定された場合、キャッシュサーバ５０８は、仮想マシン実行部５０１で利用できるメモリ量を越える量のデータをメモリに格納しようとする。このため、アプリケーションクライアント６０１から要求される処理量が一定量を越えると、メモリリークの問題が発生する。【００４２】
キャッシュサーバ５０８のメモリリークが発生すると、アプリケーションソフトウェア５０７、および仮想マシン実行部５０１で実行中のＯＳが異常停止する。この状態では、仮想マシン実行部５０１のコンソールにアクセスすることができなくなり、さらにネットワークを介して仮想マシン実行部５０１にアクセスすることもできなくなる。したがって、アプリケーションクライアント６０１からの処理要求は全てエラーとなる。このような場合、従来では、仮想マシン実行部５０１を削除して再生成する以外に復旧手段はなかった。【００４３】
本発明では、上記のようなメモリリーク発生時に、ＯＳ異常停止検出部５０３がメモリリークを検出し、メモリ資源確保部５０５がサーバコンピュータ５００上で利用可能なメモリ資源を調べる。サーバコンピュータ５００に余剰のメモリ資源があった場合、コンソール獲得部５０４は、このメモリ資源を仮想マシン実行部５０１に割り当てる。これにより、仮想マシン実行部５０１内で実行されていたプロセスの一部が復旧し、コンソール機能にアクセス可能となる。【００４４】
さらに、アプリケーションソフトウェア５０７およびキャッシュサーバ５０８の機能も回復する場合がある。しかし、一般的には異常停止によってプロセスがクラッシュしたり、ＯＳ異常停止前に仮想マシン実行部５０１が強制終了されたりするため、全ての機能が復旧することは保証されない。しかし、コンソール機能が復旧することにより、キャッシュサーバ５０８に格納されていたコンテンツの保存や、異常停止前のログ情報の収集などが可能となる。また、異常停止時の不整合状態を取り除き、キャッシュサーバ５０８、アプリケーションソフトウェア５０７、およびＯＳをそれぞれ正常な停止手続きにしたがって安全に停止させることが可能となる。【００４５】
この出願は、２０１３年２月２８日に出願された日本出願特願２０１３−３９０６１を基礎とする優先権を主張し、その開示の全てをここに取り込む。【００４６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【００４７】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）コンピュータシステムで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出するＯＳ異常停止検出部と、
異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータシステム内で利用可能なメモリ資源の中から確保する、メモリ資源確保部と、
異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させるコンソール獲得部と、を備えたソフトウェア安全停止システム。【００４８】
（付記２）前記メモリ資源確保部は、
前記コンピュータシステムで実行される他の仮想マシンに割り当てられているメモリ資源の中から、異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を確保する、付記１に記載のソフトウェア安全停止システム。【００４９】
（付記３）前記メモリリークの原因となったソフトウェアを、前記仮想マシンで実行されていた他のソフトウェアや前記コンピュータシステムの外部に存在する連携コンポーネントから隔離する、ソフトウェア隔離部を備えた付記１または２に記載のソフトウェア安全停止システム。【００５０】
（付記４）前記コンソール機能の復旧後、前記仮想マシンを正常終了させる処理を自動で実行する、安全停止処理実行部を備えた付記１から３のいずれか１項に記載のソフトウェア安全停止システム。【００５１】
（付記５）前記安全停止処理実行部は、
ソフトウェアの異常状態の除去、データ不整合の解消、一時データの保存、異常停止直前のシステムの振る舞いに関する情報の収集、ログの記録、およびプロセスの正常終了処理のうちの少なくとも１つを自動で実行する、付記１から４のいずれか１項に記載のソフトウェア安全停止システム。【００５２】
（付記６）コンピュータシステムで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出する工程と、
異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータシステム内で利用可能なメモリ資源の中から確保する工程と、
異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させる工程と、を備えたソフトウェア安全停止方法。【００５３】
（付記７）コンピュータを、
前記コンピュータで実行される仮想マシンのオペレーティングシステムがメモリリークによって異常停止したことを検出するＯＳ異常停止検出部と、
異常停止した前記仮想マシンのコンソール機能の復旧に必要なメモリ資源を、前記コンピュータ内で利用可能なメモリ資源の中から確保する、メモリ資源確保部と、
異常停止した前記仮想マシンに確保されたメモリ資源を割り当て、前記コンソール機能が復旧したら、前記コンソール機能を用いて前記仮想マシンを正常終了させるコンソール獲得部と、して機能させるためのプログラム。
【産業上の利用可能性】
【００５４】
本発明は、コンピュータシステムで実行される仮想マシンにおいて、メモリリークによるシステム障害が生じた際に、不具合の発生を回避することに適している。
【符号の説明】
【００５５】
１０，２０，３０，４０  ソフトウェア安全停止システム、１０１，１０２，５０１  仮想マシン実行部、１０３，５０３  ＯＳ異常停止検出部、１０４，５０４  コンソール獲得部、１０５，５０５  メモリ資源確保部、１０６，５０６  仮想マシンメモリ割り当て情報記憶部、１０７  ソフトウェア隔離部、１０８  安全停止処理実行部、５００  サーバコンピュータ、５０７  アプリケーションソフトウェア、５０８  キャッシュサーバ、６０１  アプリケーションクライアント、６００  クライアントコンピュータ
【図１】
2014132466.tif 000003
【図２】
2014132466.tif 000004
【図３】
2014132466.tif 000005
【図４】
2014132466.tif 000006
【図５】
2014132466.tif 000007
【国際調査報告】
2014132466.tif 000008
2014132466.tif 000009
2014132466.tif 000010
2014132466.tif 000011