【手続補正書】
【提出日】平成27年6月17日(2015.6.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
本明細書では、ベストモードを含む種々の実施形態を開示するため、任意のデバイス又はシステムの作成及び使用と、包含された任意の方法の実行を含めて、当業者がこれらの実施形態を実行できるように、実施例を使用した。特許性を有する範囲は、特許請求の範囲によって規定され、当業者であれば想起できる他の実施例を含みうる。そのような他の実施例は、請求の範囲の記載内容と異ならない構造要素を有するのであれば、又は請求の範囲の記載内容との有意な差異を有さない等価な構造要素を含むのであれば、特許請求の範囲に含まれる。
また、本発明は以下に記載する態様を含む。
（態様１）
ターゲットハードウェアプラットフォームにより実行される（３０５）ソフトウェアアプリケーション（２１０）の実行に使用される方法であって、
ターゲットハードウェアプラットフォームのハードウェア記述言語（ＨＤＬ）の記述を決定すること（３１０）、
ＨＤＬ記述に基づいてターゲットハードウェアプラットフォーム（３０５）と機能的に等価にプログラマブルハードウェアコンポーネント（３１５）を構成すること（３１５）、並びに
構成されたプログラマブルハードウェアコンポーネント（３１５）を使用してソフトウェアアプリケーション（２１０）を実行すること（３１５）
を含む方法。
（態様２）
ソフトウェアアプリケーション（２１０）の実行が、
構成されたハードウェアコンポーネントを使用して仮想マシン（ＶＭ）（２０５）を実行すること（３２０）、並びに
ＶＭ（２０５）を使用してソフトウェアアプリケーション（２１０）を実行すること（３２５）
を含み、
ターゲットハードウェアプラットフォーム（２１５）が第１のハードウェアプラットフォーム（２１５）であり、
ソフトウェアアプリケーション（２１０）が第２のハードウェアプラットフォームに関連付けられており、且つ
第２のハードウェアプラットフォームをエミュレートする仮想ハードウェアプラットフォームを提供するように、ＶＭ（２０５）を構成する、
態様１に記載の方法。
（態様３）
ソフトウェアアプリケーション（２１０）が第１のソフトウェアアプリケーション（２１０）であって、前記方法が、さらに、
構成されたプログラマブルハードウェアコンポーネント（３１５）を用いて第２のソフトウェアアプリケーション（４４５、６１０）を実行することであって、第２のソフトウェアアプリケーション（４４５、６１０）が、第１のソフトウェアアプリケーション（２１０）には含まれていない追加の機能性を含むこと、並びに
第１のソフトウェアアプリケーション（２１０）から第２のソフトウェアアプリケーション（４４５、６１０）へとデータを経路指定することであって、データがリクエスト及びコマンドの少なくとも一方を含むこと
を含む、態様１又は２に記載の方法。
（態様４）
プログラマブルハードウェアコンポーネントを構成すること（３１５）が、プログラマブルハードウェアコンポーネントをプログラムすること（３１５）である、態様１ないし３のいずれか一つに記載の方法。
（態様５）
さらに、ＨＤＬ記述にエミュレーションの加速を含めることを含み、エミュレーションの加速が、ターゲットハードウェアプラットフォーム（２１５）に対応する少なくとも一つのアセンブリ命令の実施を含む、態様１ないし４のいずれか一つに記載の方法。
（態様６）
仮想マシン（ＶＭ）（２０５）を用いたソフトウェアアプリケーション（２１０）の実行に使用される装置であって、
仮想マシン（ＶＭ）（２０５）とソフトウェアアプリケーション（２１０）とを記憶するように構成されている記憶装置、及び
前記記憶装置に連結されたプログラマブルハードウェアコンポーネント（３１５）であって、ターゲットハードウェアプラットフォーム（２１５）のハードウェア記述言語（ＨＤＬ）記述に基づいてプログラムされており、且つソフトウェアアプリケーション（２１０）を実行するようにプログラムされているプログラマブルハードウェアコンポーネント（３１５）
を備えており、ソフトウェアアプリケーション（２１０）が、ターゲットハードウェアプラットフォーム（２１５）及びＨＤＬ記述の少なくとも一方により実行されることについて認証されている、装置。
（態様７）
前記プログラマブルハードウェアコンポーネント（３１５）がターゲットハードウェアプラットフォームと機能的に等価である、態様６に記載の装置。
（態様８）
前記プログラマブルハードウェアコンポーネント（３１５）が、ＶＭ（２０５）を用いてソフトウェアアプリケーション（２１０）を実行するようにプログラムされている、態様６に記載の装置。
（態様９）
前記プログラマブルハードウェアコンポーネント（３１５）がターゲットハードウェアプラットフォームのＨＤＬ記述に基づいてプログラムされており、ソフトウェアアプリケーション（２１０）は、前記ＨＤＬ記述によって実行されることについて認証されており、且つこの認証が前記プログラマブルハードウェアコンポーネント（３１５）によるソフトウェアアプリケーション（２１０）の実行に適用可能である、態様６に記載の装置。
（態様１０）
前記プログラマブルハードウェアコンポーネント（３１５）がＨＤＬ記述に基づいてプログラムされており、ソフトウェアアプリケーション（２１０）は、前記ＨＤＬ記述によって実行されることについて認証されており、且つこの認証が前記プログラマブルハードウェアコンポーネント（３１５）によるソフトウェアアプリケーション（２１０）の実行に適用可能である、態様６に記載の装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ターゲットハードウェアプラットフォームにより実行されるソフトウェアアプリケーション（２１０）の実行に使用される方法であって、
ターゲットハードウェアプラットフォームのハードウェア記述言語（ＨＤＬ）の記述を決定すること、
ＨＤＬ記述に基づいてターゲットハードウェアプラットフォームと機能的に等価にプログラマブルハードウェアコンポーネントを構成すること、
前記プログラマブルハードウェアコンポーネントが、ネイティブ仮想化レイヤが、第１の仮想Ｉ／Ｏ装置及び第２の仮想Ｉ／Ｏ装置間のデータを経路指定するよう構成されるよう実行すること、
並びに
構成されたプログラマブルハードウェアコンポーネントを使用してソフトウェアアプリケーション（２１０）を実行すること
を含む方法。
【請求項２】
ソフトウェアアプリケーション（２１０）の実行が、
構成されたハードウェアコンポーネントを使用して仮想マシン（ＶＭ）（２０５）を実行すること、並びに
ＶＭ（２０５）を使用してソフトウェアアプリケーション（２１０）を実行すること
を含み、
ターゲットハードウェアプラットフォーム（２１５）が第１のハードウェアプラットフォームであり、
ソフトウェアアプリケーション（２１０）が第２のハードウェアプラットフォームに関連付けられており、且つ
第２のハードウェアプラットフォームをエミュレートする仮想ハードウェアプラットフォームを提供するように、ＶＭ（２０５）を構成する、
請求項１に記載の方法。
【請求項３】
ソフトウェアアプリケーション（２１０）が第１のソフトウェアアプリケーションであって、前記方法が、さらに、
構成されたプログラマブルハードウェアコンポーネントを用いて第２のソフトウェアアプリケーションを実行することであって、第２のソフトウェアアプリケーションが、第１のソフトウェアアプリケーションには含まれていない追加の機能性を含むこと、並びに
第１のソフトウェアアプリケーションから第２のソフトウェアアプリケーションへとデータを経路指定することであって、データがリクエスト及びコマンドの少なくとも一方を含むこと
を含む、請求項１又は２に記載の方法。
【請求項４】
プログラマブルハードウェアコンポーネントを構成することが、プログラマブルハードウェアコンポーネントをプログラムすることである、請求項１ないし３のいずれか一項に記載の方法。
【請求項５】
さらに、ＨＤＬ記述にエミュレーションの加速を含めることを含み、エミュレーションの加速が、ターゲットハードウェアプラットフォーム（２１５）に対応する少なくとも一つのアセンブリ命令の実施を含む、請求項１ないし４のいずれか一項に記載の方法。
【請求項６】
仮想マシン（ＶＭ）（２０５）を用いたソフトウェアアプリケーション（２１０）の実行に使用される装置であって、
仮想マシン（ＶＭ）（２０５）とソフトウェアアプリケーション（２１０）とを記憶するように構成されている記憶装置、及び
前記記憶装置に連結されたプログラマブルハードウェアコンポーネントであって、ターゲットハードウェアプラットフォーム（２１５）のハードウェア記述言語（ＨＤＬ）記述に基づいてプログラムされており、第１の仮想Ｉ／Ｏ装置及び第２の仮想Ｉ／Ｏ装置間のデータを経路指定するよう構成されたネイティブ仮想化レイヤを実行し、且つソフトウェアアプリケーション（２１０）を実行するようにプログラムされているプログラマブルハードウェアコンポーネント
を備えており、ソフトウェアアプリケーション（２１０）が、ターゲットハードウェアプラットフォーム（２１５）及びＨＤＬ記述の少なくとも一方により実行されることについて認証されている、装置。
【請求項７】
前記プログラマブルハードウェアコンポーネントがターゲットハードウェアプラットフォームと機能的に等価である、請求項６に記載の装置。
【請求項８】
前記プログラマブルハードウェアコンポーネントが、ＶＭ（２０５）を用いてソフトウェアアプリケーション（２１０）を実行するようにプログラムされている、請求項６に記載の装置。
【請求項９】
前記プログラマブルハードウェアコンポーネントがターゲットハードウェアプラットフォームのＨＤＬ記述に基づいてプログラムされており、ソフトウェアアプリケーション（２１０）は、前記ＨＤＬ記述によって実行されることについて認証されており、且つこの認証が前記プログラマブルハードウェアコンポーネントによるソフトウェアアプリケーション（２１０）の実行に適用可能である、請求項６に記載の装置。
【請求項１０】
前記プログラマブルハードウェアコンポーネントがＨＤＬ記述に基づいてプログラムされており、ソフトウェアアプリケーション（２１０）は、前記ＨＤＬ記述によって実行されることについて認証されており、且つこの認証が前記プログラマブルハードウェアコンポーネントによるソフトウェアアプリケーション（２１０）の実行に適用可能である、請求項６に記載の装置。