【手続補正書】
【提出日】平成20年10月3日(2008.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストコンピュータからのリソースを使用して動作する仮想マシン間でページを共有する方法であって、
仮想マシン間でページを共有するために第１の仮想マシンの一時ゲスト物理アドレスレンジを割り振るステップと、
前記ホストコンピュータ上の仮想化ソフトウェアが、前記第１の仮想マシンによって利用可能なページへのアクセス要求を第２の仮想マシンから受信するステップと、
保留中のＤＭＡ（直接メモリアクセス）転送を表示するために、保留アクセスの数を示す参照カウンタをインクリメントし、かつ、前記ページに関するゲスト物理アドレスからホスト物理アドレスへのマッピングが有効であり、ＤＭＡ排他ベクタが前記ページへのアクセスを認めることを検証するステップと、
前記ページを前記第１の仮想マシンの前記一時ゲスト物理アドレスレンジの一部分にマップするステップと、
前記第２の仮想マシンとホスト物理アドレスのあるレンジとの間で情報を転送するようにＤＭＡコントローラをセットアップすることにより、前記第１の仮想マシンによって利用可能な前記ページを、前記第２の仮想マシンがアクセスできるようにするステップと、
前記第２の仮想マシンによるページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップと、
前記参照カウンタがゼロにデクリメントされた場合に前記ページに対してＤＭＡコントローラが動作することを除外するようにＤＭＡ排他ベクタを設定することにより、前記ページに対する保留アクセスの前記参照カウンタをデクリメントするステップと、
前記参照カウンタがゼロである場合に前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップと
を含むことを特徴とする方法。
【請求項２】
前記第１の仮想マシンによって利用可能なページへのアクセス要求を第２の仮想マシンから受信するステップは、第１の仮想マシンにマップされているページをアクセスするための直接メモリアクセス（ＤＭＡ）要求を第２の仮想マシンから受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第２の仮想マシンによる前記ページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップは、ＤＭＡ操作が完了したという表示をホストハードウェアから受信し、完了メッセージを前記第１の仮想マシンから前記第２の仮想マシンに送信するステップを含み、
前記第２の仮想マシンは前記仮想化ソフトウェアに完了したことを通知することを特徴とする請求項１に記載の方法。
【請求項４】
前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップは、１つまたは複数のシャドウページテーブルおよび変換索引テーブルから前記ページのエントリをアンマップするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
仮想マシン間でページを共有するためのコンピュータシステムであって、
複数の仮想マシンが利用可能なハードウェアリソースを有するホストコンピュータと、
前記ホストコンピュータと、前記複数の仮想マシンの任意のものとの間のインターフェースを備える仮想化ソフトウェアと、
少なくとも１つのページリソースにアクセスを有する第１の仮想マシン、および第２の仮想マシンと、
仮想マシン間でページを共有するための、前記第１の仮想マシンの一時ゲスト物理アドレスレンジと、
ホストコンピュータメモリにアクセスできるホストプロセッサと
を備え、前記ホストコンピュータメモリは、実行されたときに、
前記仮想化ソフトウェアが、前記第１の仮想マシンによって利用可能なページへのアクセス要求を第２の仮想マシンから受信するステップと、
保留中のＤＭＡ（直接メモリアクセス）転送を表示ために保留アクセスの参照カウンタをインクリメントし、かつ、前記ページについてのゲスト物理アドレスからホスト物理アドレスへのマッピングが有効であり、ＤＭＡ排他ベクタが前記ページへのアクセスを認めることを検証するステップと、
前記ページを前記一時ゲスト物理アドレスレンジの一部分にマップするステップと、
前記第２の仮想マシンとホスト物理アドレスのあるレンジとの間で情報を転送するようにＤＭＡコントローラをセットアップすることにより、前記第１の仮想マシンによって利用可能な前記ページを、前記第２の仮想マシンがアクセスできるようにするステップと、
アクセス完了を前記仮想化ソフトウェアに通知するステップと、
前記参照カウンタがゼロにデクリメントされた場合に前記ページに対して前記ＤＭＡコントローラが動作することを除外するようにＤＭＡ排他ベクタを設定することにより、前記ページに対する保留アクセスの前記参照カウンタをデクリメントするステップと、
前記参照カウンタがゼロである場合に前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップと
を含む方法を実行することを特徴とするシステム。
【請求項６】
変換索引バッファおよびシャドウページテーブルのうちの少なくとも１つをさらに備え、
前記変換索引バッファおよび前記シャドウページテーブルのうちの前記少なくとも１つが、前記ページのマッピングを削除するステップの結果、更新されることを特徴とする請求項５に記載のシステム。
【請求項７】
前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップは、１つまたは複数の前記シャドウページテーブルおよび前記変換索引バッファから前記ページのエントリをアンマップするステップをさらに含むことを特徴とする請求項６に記載のシステム。
【請求項８】
前記第２の仮想マシンによる前記ページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップは、前記情報の転送が完了したという表示を前記ＤＭＡコントローラから受信し、完了メッセージを前記第１の仮想マシンから前記第２の仮想マシンに送信するステップを含み、
前記第２の仮想マシンが前記仮想化ソフトウェアに完了したことを通知することを特徴とする請求項５に記載のシステム。
【請求項９】
ホストコンピュータからのリソースを使用して動作する仮想マシン間でページを共有する方法を実行するためのコンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記方法は、
仮想マシン間でページを共有するために第１の仮想マシンの一時ゲスト物理アドレスレンジを割り振るステップと、
前記ホストコンピュータ上の仮想化ソフトウェアが、前記第１の仮想マシンによって利用可能なページへのアクセス要求を第２の仮想マシンから受信するステップと、
保留中のＤＭＡ（直接メモリアクセス）転送を表示ために保留アクセスの参照カウンタをインクリメントし、かつ、前記ページについてのゲスト物理アドレスからホスト物理アドレスへのマッピングが有効であり、ＤＭＡ排他ベクタが前記ページへのアクセスを認めることを検証するステップであって、前記参照カウンタは前記ページに対する他のアクセスのロックアウトするように働くものであるステップと、
前記ページを前記第１の仮想マシンの前記一時ゲスト物理アドレスレンジの一部分にマップするステップと、
前記第２の仮想マシンとホスト物理アドレスのあるレンジとの間で情報を転送するようにＤＭＡコントローラをセットアップすることにより、前記第１の仮想マシンによって利用可能な前記ページを、前記第２の仮想マシンがアクセスできるようにするステップと、
前記第２の仮想マシンによる前記ページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップと、
前記参照カウンタがゼロにデクリメントされた場合に前記ページに対して前記ＤＭＡコントローラが動作することを除外するようにＤＭＡ排他ベクタを設定することにより、前記ページに対する保留アクセスの前記参照カウンタをデクリメントするステップと、
前記参照カウンタがゼロである場合に前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップと
を含む方法であることを特徴とするコンピュータ可読記憶媒体。
【請求項１０】
第２の仮想マシンから、前記第１の仮想マシンによって利用可能なページへのアクセス要求を受信する前記ステップは、前記第１の仮想マシンにマップされている前記ページをアクセスするための直接メモリアクセス（ＤＭＡ）要求を前記第２の仮想マシンから受信するステップを含むことを特徴とする請求項９に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記第２の仮想マシンによるページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知する前記ステップは、ＤＭＡ操作が完了したという表示をホストハードウェアから受信し、完了メッセージを前記第１の仮想マシンから前記第２の仮想マシンに送信するステップを含み、
前記第２の仮想マシンが前記仮想化ソフトウェアに完了したことを通知することを特徴とする請求項９に記載のコンピュータ可読記憶媒体。