【誤訳訂正書】
【提出日】平成22年11月2日(2010.11.2)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが、プロセッサの動作周波数を測定する段階と、
コンピュータが、測定された前記動作周波数と、前記プロセッサが動作する有効な特定周波数とを比較する段階と、
コンピュータが、前記比較の結果に基づいて、前記プロセッサが仮想プロセッサであるか否かを決定する段階と、
を有する、方法。
【請求項２】
前記比較する段階は、
コンピュータが、前記測定された動作周波数が、前記有効な特定周波数に対する特定の範囲内にあるか否かを決定する段階を含む、
請求項１に記載の方法。
【請求項３】
前記プロセッサが仮想プロセッサであるか否かを決定する段階は、
コンピュータが、
前記測定された動作周波数が前記有効な特定周波数に対する前記特定の範囲内にある場合に前記プロセッサは仮想プロセッサでないと決定し、
そうでない場合に前記プロセッサは仮想プロセッサであると決定する段階をさらに含む、
請求項２に記載の方法。
【請求項４】
前記プロセッサの動作周波数を測定する段階は、
コンピュータが、その間の時間が既知であるインターバルの間に、前記プロセッサのクロックサイクルをカウントする段階と、
コンピュータが、前記インターバルの間にカウントされた前記プロセッサのクロックサイクルの個数を、前記インターバルの時間で割ることによって、前記プロセッサの動作周波数を計算する段階と、
を含む、
請求項３に記載の方法。
【請求項５】
前記プロセッサのクロックサイクルをカウントする段階は、
コンピュータが、前記プロセッサの第１のサイクルカウントを取得すべく、前記プロセッサへの命令を実行する段階と、
コンピュータが、リアルタイムクロックにアクセスして、前記インターバルの時間が経過するまで前記プログラムを待機またはループさせるべく命令を実行する段階と、
コンピュータが、前記インターバルが終了した後、前記プロセッサの第２のサイクルカウントを取得すべく、前記プロセッサへの命令を実行する段階と、
コンピュータが、前記第２のサイクルカウントと、前記第１のサイクルカウントとの差を算出する段階と、
を含む、
請求項４に記載の方法。
【請求項６】
前記有効な特定周波数を取得する段階をさらに有し、
前記有効な特定周波数を取得する段階は、
コンピュータが、前記プロセッサを識別する命令を実行して、前記プロセッサを識別する識別情報を取得する段階と、
コンピュータが、取得した前記識別情報を用いて、プロセッサの仕様の少なくとも一部を格納するテーブルに格納された情報の中から、前記プロセッサの前記有効な特定周波数を選択する段階と、
を含む、
請求項３から請求項５までの何れか一項に記載の方法。
【請求項７】
前記プロセッサが仮想プロセッサであるか否かを決定する手順は、
コンピュータが、前記測定された動作周波数と前記有効な特定周波数との差が予め定められた閾値を超える場合に、前記プロセッサは仮想プロセッサであると決定する手順を含む、
請求項１から請求項６までの何れか一項に記載の方法。
【請求項８】
コンピュータに、
プロセッサの動作周波数を測定する手順と、
測定された前記動作周波数と、前記プロセッサが動作する有効な特定周波数とを比較する手順と、
前記比較の結果に基づいて、前記プロセッサが仮想プロセッサであるか否かを決定する手順と、
を実行させるためのプログラム。
【請求項９】
前記比較する手順は、前記測定された動作周波数が、前記有効な特定周波数に対する特定の範囲内にあるか否かを決定する手順を含む、
請求項８に記載のプログラム。
【請求項１０】
前記プロセッサが仮想プロセッサであるか否かを決定する手順は、前記測定された動作周波数が、前記有効な特定周波数に対する前記特定の範囲内にある場合に、前記プロセッサは仮想プロセッサでないと決定し、そうでない場合に、前記プロセッサは仮想プロセッサであると決定する手順をさらに含む、
請求項９に記載のプログラム。
【請求項１１】
前記プロセッサの動作周波数を測定する手順が、
その間の時間が既知であるインターバルの間に、前記プロセッサのクロックサイクルをカウントする手順と、
前記インターバルの間にカウントされた前記プロセッサのクロックサイクルの個数を、前記インターバルの時間で割ることによって、前記プロセッサの動作周波数を計算する手順と、
を含む、
請求項１０に記載のプログラム。
【請求項１２】
前記プロセッサのクロックサイクルをカウントする手順は、
前記プロセッサの第１のサイクルカウントを取得すべく、前記プロセッサへの命令を実行する手順と、
リアルタイムクロックにアクセスして、前記インターバルの時間が経過するまで前記プログラムを待機またはループさせるべく命令を実行する手順と、
前記インターバルが終了した後、前記プロセッサの第２のサイクルカウントを取得すべく、前記プロセッサへの命令を実行する手順と、
前記第２のサイクルカウントと、前記第１のサイクルカウントとの差を算出する手順と、
を含む、
請求項１１に記載のプログラム。
【請求項１３】
コンピュータに、
前記有効な特定周波数を取得する手順をさらに実行させ、
前記有効な特定周波数を取得する手順は、
前記プロセッサを識別する命令を実行して、前記プロセッサを識別する識別情報を取得する手順と、
取得した前記識別情報を用いて、プロセッサの仕様の少なくとも一部を格納するテーブルに格納された情報の中から、前記プロセッサの前記有効な特定周波数を選択する手順と、
を含む、
請求項１０から請求項１２までの何れか一項に記載のプログラム。
【請求項１４】
前記プロセッサが仮想プロセッサであるか否かを決定する手順は、前記測定された動作周波数と前記有効な特定周波数との差が、予め定められた閾値を超える場合に、前記プロセッサは仮想プロセッサであると決定する手順を含む、
請求項８から請求項１３までの何れか一項に記載のプログラム。
【請求項１５】
プロセッサと、ストレージとを備えるシステムであって、
前記ストレージは、請求項８から請求項１４までの何れか一項に記載のプログラムを格納し、
前記プロセッサは、前記プログラムを前記システム上で実行させる、
システム。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】００２５
【訂正方法】変更
【訂正の内容】
【００２５】
これらの命令、または異なるアーキテクチャにおける同等のセットが使用されて仮想化環境が検出される。かかるＩＡ−３２の一実施例において、図３の高レベルプログラムは、図４に示すＩＡ−３２アーキテクチャの特有な命令を使用するプログラムとして実装される。仮想化を検出するプログラム処理は、まず、４１０において、上記のプログラムが、当該プログラムがその上で処理を実行しようとしているプロセッサから、実行された全ての基本クロックサイクルの値Ｔｃ１を、ＲＤＴＳＣのような命令を使用して要求することによって開始される（４８０）。次に、システムのリアルタイムクロック（ＲＴＣ）がアクセスされ（４２０）、処理は、リアルタイムクロックの既知の周期（ここではｎティックと称する）の間待機またはループを行う（４２５）。次に、プログラムは、実行されたプロセッサクロックサイクルの新たな現在値Ｔｃ２を読み出す（４３０）。２つの値の差を時間で割ることによって、すなわち（Ｔｃ２−Ｔｃ１）／ｎによって、測定周波数Ｆｍが得られる（４６０）。次に４９５において、ＣＰＵＩＤまたは類似の命令を使用してプロセッサの識別情報がアクセスされる。この情報は、処理４８０によって読み出し可能な、プロセッサ内のモデル特有レジスタ（ＭＳＲ）の複数のレジスタ値のセットとして与えられる。次に、取得された値の少なくとも一つまたはそれ以上が使用されて、プロセッサの仕様の一部として公開される所定のテーブル内にインデクスがつけられ（４５０）、可能な複数の所定周波数およびそれら周波数に対する許容範囲のセットが得られる。プログラムは４５０において、測定周波数Ｆｍに近似する特定周波数Ｆｓ、および、プロセッサに許容されるドリフトまたはバリエーションという点で関連する特定の範囲すなわち許容範囲を選択する。デルタ値は、テーブルから読み出されるか、またはプロセッサに特有の他のデータから既知である。次に、ＦｓとＦｍとの差の絶対値が計算されてデルタと比較される（４８０）。その絶対値がデルタを越える場合、プログラムは仮想マシンまたは仮想化プラットフォームで実行されている（４７０）。そうでない場合、プラットフォームは非仮想化の物理プラットフォームである（４９０）。