【手続補正書】
【提出日】平成24年1月25日(2012.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物理プロセッサとメモリを備えた物理計算機で実行されて、複数の仮想プロセッサを提供する仮想化プログラムであって、
第１の仮想マシンマネージャが、ユーザプログラムを実行可能な第１の仮想プロセッサを生成する手順と、
前記第１の仮想プロセッサ上で実行される第２の仮想マシンマネージャが、前記ユーザプログラムを実行可能な第２の仮想プロセッサを生成する手順と、
前記第２の仮想マシンマネージャが、前記ユーザプログラムの実行の際の第１の仮想プロセッサの状態を規定する第１の制御情報を前記メモリに設定する手順と、
前記第２の仮想マシンマネージャが、前記第２の仮想マシンマネージャの実行の際の前記第１の仮想プロセッサの状態を規定する第２の制御情報を前記メモリに設定する手順と、
前記第１の仮想マシンマネージャが、前記第２の仮想マシンマネージャまたは前記ユーザプログラムの実行の際の前記物理プロセッサの状態を規定する第３の制御情報を前記メモリに設定する手順と、
前記第１の仮想マシンマネージャが、前記第１の仮想プロセッサに前記ユーザプログラムを実行させる場合に前記第１の制御情報を参照し、前記第１の仮想プロセッサに前記第２の仮想マシンマネージャを実行させる場合に、前記第２の制御情報を参照する手順と、
前記第１の仮想マシンマネージャが、前記参照した前記第１の制御情報または第２の制御情報に基づいて前記第３の制御情報を更新する手順と、
前記第１の仮想マシンマネージャが、前記物理プロセッサに対して、前記第２の仮想マシンマネージャまたは前記ユーザプログラムを前記第３の制御情報に基づいて実行するように要求する第１の制御命令を発行する手順と、
を前記物理プロセッサに実行させる、
ことを特徴とする仮想化プログラム。
【請求項２】
請求項１に記載の仮想化プログラムであって、
更に、前記第１の仮想マシンマネージャが、前記物理プロセッサから受信した第１の仮想マシンマネージャの呼び出しに基づいて、前記第２の仮想マシンマネージャと、前記ユーザプログラムと、のいずれを実行するかを判定する手順を、前記物理プロセッサに実行させ、
前記第１の仮想マシンマネージャが前記第３の制御情報を更新する手順は、
前記第１の仮想マシンマネージャが、前記判定の結果に基づいて、前記第１の制御情報と、第２の制御情報と、のいずれに基づいて前記第３の制御情報を更新するのか、を判定する手順、を含む、
ことを特徴とする仮想化プログラム。
【請求項３】
請求項２に記載の仮想化プログラムであって、
更に、前記第２の仮想マシンマネージャが、前記第１の仮想プロセッサで前記第１の制御命令を受付可能か否かを確認する第３の制御命令を発行する手順を、前記物理プロセッサに実行させ、
前記第１の仮想マシンマネージャが、前記第２の仮想マシンマネージャと、前記ユーザプログラムのいずれを実行するかを判定する手順は、
前記第１の仮想マシンマネージャの呼び出しの要因が、前記第２の仮想マシンマネージャからの前記第３の制御命令であるときに、予め設定された応答可否情報を参照する手順と、
応答可否情報に応じて、前記第３の制御命令に対する応答を決定する手順と、を含む
ことを特徴とする仮想化プログラム。
【請求項４】
請求項３に記載の仮想化プログラムであって、
更に、前記第１の仮想マシンマネージャが、前記第１の仮想プロセッサに対する設定要求を受信する手順と、
前記第１の仮想マシンマネージャが、前記設定要求に基づいて前記応答可否情報を設定する手順と、を前記物理プロセッサに実行させる、
ことを特徴とする仮想化プログラム。
【請求項５】
請求項３に記載の仮想化プログラムであって、
更に、前記第２の仮想マシンマネージャが、前記第１の仮想マシンマネージャから前記第３の制御命令に対する応答を受信する手順と、
前記第２の仮想マシンマネージャが、前記第３の制御命令に対する応答に基づいて前記第１の制御命令が前記第１の仮想プロセッサにて受付可能であると判定した場合に、前記第１の仮想プロセッサに対して前記第１の制御命令を受付可能に設定する命令を発行する手順と、を前記物理プロセッサに実行させる、
ことを特徴とする仮想化プログラム。
【請求項６】
請求項２に記載の仮想化プログラムであって、
前記第１の仮想マシンマネージャが、前記第２の仮想マシンマネージャと、前記ユーザプログラムのいずれを実行するかを判定する手順は、
前記第１の仮想マシンマネージャの呼び出しの要因が、前記第２の仮想マシンマネージャから前記第１の制御情報に対して前記第１の仮想プロセッサの動作状態を反映させる第４の制御命令である場合に、
前記第１の仮想マシンマネージャが前記物理プロセッサに対して、前記第３の制御情報に前記物理プロセッサの動作状態を反映させる第４の制御命令を発行し、
前記第１の仮想マシンマネージャが前記物理プロセッサの動作状態を反映した前記第３の制御情報を参照し、
前記第１の仮想マシンマネージャが、前記参照した第３の制御情報に基づいて、前記第１の制御情報を更新した後に、前記第２の仮想マシンマネージャの実行を判定する手順、
を含む、
ことを特徴とする仮想化プログラム。
【請求項７】
請求項１に記載の仮想化プログラムであって、
前記第１の仮想マシンマネージャが前記第１の仮想プロセッサを生成する手順は、前記第１の仮想プロセッサを複数生成する手順を含み、
前記第３の制御情報を前記メモリに設定する手順は、前記第１の仮想プロセッサ毎に、前記第３の制御情報をそれぞれ前記メモリに設定する手順を含み、
前記第１の仮想マシンマネージャが前記物理プロセッサに対して前記第１の制御命令を発行する手順は、前記複数の第３の制御情報のうちの一つを選択するように要求する第２の制御命令を発行する手順を含む、
ことを特徴とする仮想化プログラム。
【請求項８】
物理プロセッサとメモリを備えた物理計算機上で複数の仮想プロセッサを提供する仮想化計算機システムであって、
前記物理プロセッサ上で動作して、ユーザプログラムを実行可能な第１の仮想プロセッサを提供する、第１の仮想マシンマネージャと、
前記第１の仮想プロセッサ上で動作して、前記ユーザプログラムを実行可能な第２の仮想プロセッサを提供する、第２の仮想マシンマネージャと、を備え、
前記第２の仮想マシンマネージャは、
前記ユーザプログラムの実行の際の第１の仮想プロセッサの状態を規定する第１の制御情報と、前記第２の仮想マシンマネージャの実行の際の前記第１の仮想プロセッサの状態を規定する第２の制御情報と、を格納する仮想プロセッサ制御部を有し、
前記第１の仮想マシンマネージャは、
前記第２の仮想マシンマネージャまたは前記ユーザプログラムの実行の際の前記物理プロセッサの状態を規定する第３の制御情報を前記メモリに格納する物理プロセッサ制御部と、
前記第１の仮想プロセッサに前記ユーザプログラムを実行させる場合に前記第１の制御情報を参照し、前記第１の仮想プロセッサに前記第２の仮想マシンマネージャを実行させる場合に前記第２の制御情報を参照し、前記参照した前記第１の制御情報または前記第２の制御情報に基づいて前記物理プロセッサ制御部に格納された前記第３の制御情報を更新する更新部と、
前記物理プロセッサに、前記第２の仮想マシンマネージャまたは前記ユーザプログラムを前記第３の制御情報に基づいて実行するように命令する第１の命令発行部と、を有する、
ことを特徴とする仮想計算機システム。
【請求項９】
請求項８に記載の仮想計算機システムであって、
前記第１の仮想マシンマネージャは、更に、
前記物理プロセッサから受信する前記第１の仮想マシンマネージャの呼び出しに基づいて、前記第２の仮想マシンマネージャと、前記ユーザプログラムと、のいずれを実行するかを判定する判定部と、
前記判定の結果に基づいて、前記第１の制御情報と第２の制御情報の何れかを選択する選択部と、を有し、
前記更新部は、
前記選択された第１の制御情報または第２の制御情報に基づいて、前記第３の制御情報を更新する、
ことを特徴とする仮想計算機システム。
【請求項１０】
請求項９に記載の仮想計算機システムであって、
前記第１の命令発行部は、
前記第２の仮想マシンマネージャが、前記第１の仮想プロセッサで前記第１の制御命令を受付可能か否かを確認する第３の制御命令を発行し、
前記判定部は、
前記第１の仮想マシンマネージャの呼び出しの要因が、前記第２の仮想マシンマネージャからの前記第３の制御命令であるときに、予め設定された応答可否情報を参照し、
前記応答可否情報に応じて、前記第３の制御命令に対する応答を決定する、
ことを特徴とする仮想計算機システム。
【請求項１１】
請求項１０に記載の仮想計算機システムであって、
前記第１の仮想マシンマネージャは、更に、
前記第１の仮想プロセッサに対する設定要求に基づいて前記応答可否情報を設定する応答可否情報設定部を有する、
ことを特徴とする仮想計算機システム。
【請求項１２】
請求項１０に記載の仮想計算機システムであって、
前記第２の仮想マシンマネージャは、更に、                                        前記第１の制御命令が前記第１の仮想プロセッサにて受付可能である場合に、前記第１の仮想プロセッサに対して前記第１の制御命令を受付可能に設定する命令を発行する第２の命令発行部、を有する、
ことを特徴とする仮想計算機システム。
【請求項１３】
請求項９に記載の仮想計算機システムであって、
前記判定部は、
前記第１の仮想マシンマネージャの呼び出しの要因が、前記第２の仮想マシンマネージャから前記第１の制御情報に対して前記第１の仮想プロセッサの動作状態を反映させる第４の制御命令である場合に、
前記第１の仮想マシンマネージャが前記物理プロセッサに対して、前記第３の制御情報に前記物理プロセッサの動作状態を反映させる第４の制御命令を発行し、
前記第１の仮想マシンマネージャが前記物理プロセッサの動作状態を反映した前記第３の制御情報を参照し、
前記第１の仮想マシンマネージャが、前記参照した第３の制御情報に基づいて、前記第１の制御情報を更新した後に、前記第２の仮想マシンマネージャの実行を判定する、
ことを特徴とする仮想計算機システム。
【請求項１４】
請求項８に記載の仮想計算機システムであって、
前記第１の仮想マシンマネージャは、
前記第１の仮想プロセッサを複数生成し、
前記物理プロセッサ制御部は、
前記第１の仮想プロセッサ毎に、前記第３の制御情報をそれぞれ前記メモリに格納し、
前記第１の命令発行部は、
前記物理プロセッサに対して、前記複数の第３の制御情報のうちの一つを選択して前記第２の仮想マシンマネージャまたは前記ユーザプログラムの実行を行うように命令する、  ことを特徴とする仮想計算機システム。
【請求項１５】
物理プロセッサとメモリを備えた物理計算機上で複数の仮想プロセッサを提供する仮想計算機システムにおける計算機システム制御方法であって、
前記第１の仮想マシンマネージャが、前記ユーザプログラムを実行可能な第１の仮想プロセッサを生成し、
前記第１の仮想プロセッサ上で実行される第２の仮想マシンマネージャが、前記ユーザプログラムを実行可能な第２の仮想プロセッサを生成し、
前記第２の仮想マシンマネージャが、前記ユーザプログラムの実行の際の第１の仮想プロセッサの状態を規定する第１の制御情報を前記メモリに設定し、
前記第２の仮想マシンマネージャが、前記第２の仮想マシンマネージャの実行の際の前記第１の仮想プロセッサの状態を規定する第２の制御情報を前記メモリに設定し、
前記第１の仮想マシンマネージャが、前記第２の仮想マシンマネージャまたは前記ユーザプログラムの実行の際の前記物理プロセッサの状態を規定する第３の制御情報を前記メモリに設定し、
前記第１の仮想マシンマネージャが、前記参照した情報に基づいて前記第３の制御情報を更新する、
ことを特徴とする計算機システム制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明は、物理プロセッサとメモリを備えた物理計算機で実行されて、複数の仮想プロセッサを提供する仮想化プログラムであって、第１の仮想マシンマネージャが、ユーザプログラムを実行可能な第１の仮想プロセッサを生成する手順と、前記第１の仮想プロセッサ上で実行される第２の仮想マシンマネージャが、前記ユーザプログラムを実行可能な第２の仮想プロセッサを生成する手順と、前記第２の仮想マシンマネージャが、前記ユーザプログラムの実行の際の第１の仮想プロセッサの状態を規定する第１の制御情報を前記メモリに設定する手順と、前記第２の仮想マシンマネージャが、前記第２の仮想マシンマネージャの実行の際の前記第１の仮想プロセッサの状態を規定する第２の制御情報を前記メモリに設定する手順と、前記第１の仮想マシンマネージャが、前記第２の仮想マシンマネージャまたは前記ユーザプログラムの実行の際の前記物理プロセッサの状態を規定する第３の制御情報を前記メモリに設定する手順と、前記第１の仮想マシンマネージャが、前記第１の仮想プロセッサに前記ユーザプログラムを実行させる場合に前記第１の制御情報を参照し、前記第１の仮想プロセッサに前記第２の仮想マシンマネージャを実行させる場合に、前記第２の制御情報を参照する手順と、前記第１の仮想マシンマネージャが、前記参照した前記第１の制御情報または第２の制御情報に基づいて前記第３の制御情報を更新する手順と、前記第１の仮想マシンマネージャが、前記物理プロセッサに対して、前記第２の仮想マシンマネージャまたは前記ユーザプログラムを前記第３の制御情報に基づいて実行するように要求する第１の制御命令を発行する手順と、を前記物理プロセッサに実行させる。