クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの第1の部分を初期化するステップと、前記ユーザシステムへのサービスを可能にするステップと、前記コンピューティングリソースの第2の部分を初期化するステップと、を含む方法。前記コンピューティングリソースはホストシステムのコンピューティングリソースであり、前記方法は、前記ホストシステムの電源投入又は起動に応答して、前記コンピューティングリソースの第1の部分を、前記ユーザシステムへのサービスを可能にするのに必要なものとして識別し、次いで、前記第1の部分を初期化するステップを含む、請求項1に記載の方法。前記コンピューティングリソースの第1の部分を初期化するステップは、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたメモリの第1の部分を初期化するステップを含み、前記方法は、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記メモリの第2の部分を初期化するステップを含む、請求項1又は請求項2に記載の方法。コンピューティングリソースの第1の部分を初期化するステップは、前記クラウドコンピューティング環境においてアプリケーションを実行するための環境を前記ユーザシステムに提供するために、ハイパーバイザを初期化するステップを含む、請求項1又は請求項2に記載の方法。前記ハイパーバイザを初期化するステップは、カーネル、メモリ管理機能、及びドライバの少なくとも1つを初期化するステップを含む、請求項4に記載の方法。前記コンピューティングリソースの第1の部分を初期化するステップは、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたハードウェアリソースの第1の部分を初期化するステップを含み、前記方法は、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記ハードウェアリソースの第2の部分を初期化するステップを含む、請求項1又は請求項2に記載の方法。前記コンピューティングリソースの第1の部分を初期化するステップは、プロセッサ、入力/出力バスモジュール、ディスプレイアダプタ、キーボードアダプタ、及びマウスアダプタの1つを初期化するステップを含む、請求項1又は請求項2に記載の方法。前記コンピューティングリソースの前記第2の部分を初期化するステップは、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに行われる、請求項1、請求項2、請求項4、請求項5、請求項7、又は請求項9に記載の方法。クラウドコンピューティングサービスを前記ユーザシステムに提供するステップを含む、前記請求項のいずれかに記載の方法。前記コンピューティングリソースの第1の部分を初期化するステップは、ホストシステム内のプロセッサ及びメモリを初期化するステップを含み、前記ユーザシステムへのサービスを可能にするステップは、前記ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザを使用可能にするステップを含む、請求項1又は請求項2に記載の方法。前記タイプ1ハイパーバイザを使用可能にするステップは、前記プロセッサ及びメモリを初期化するステップの直後に前記タイプ1ハイパーバイザを使用可能にするステップを含む、請求項10に記載の方法。前記プロセッサ及びメモリの所定の部分を識別するステップを含み、前記プロセッサ及びメモリを初期化するステップは、前記タイプ1ハイパーバイザを使用可能にするステップに先立って、前記プロセッサ及びメモリの前記所定の部分を初期化するステップを含む、請求項10に記載の方法。前記プロセッサ及びメモリを初期化するステップは、第1のプロセッサ及び前記メモリの第1の部分を初期化するステップを含み、前記方法は、前記タイプ1ハイパーバイザを使用可能にするステップの後又はそれと同時に、第2のプロセッサ及び前記メモリの第2の部分を初期化するステップを含む、請求項10に記載の方法。前記タイプ1ハイパーバイザを使用可能にするステップの後又はそれと同時に、入力/出力バスモジュールを初期化するステップを含む、請求項10に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにサービスするステップを含む、請求項14に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムのためのゲストオペレーティングシステムを前記ホストシステム上に提供するステップを含む、請求項15に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための仮想マシンを提供するステップを含む、請求項15に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための作業負荷の実行をもたらすステップを含む、請求項17に記載の方法。クラウドコンピューティングサービスをユーザシステムに提供するように構成されたハイパーバイザと、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの第1の部分を初期化し、前記ユーザシステムへのサービスを可能にし、前記コンピューティングリソースの第2の部分を初期化する、ように構成されたプラットフォーム初期化モジュールと、を含むシステム。前記コンピューティングリソースはホストシステムのコンピューティングリソースであり、前記システムは、前記ホストシステムの電源投入又は起動に応答して、前記コンピューティングリソースの前記第1の部分を、前記ユーザシステムへのサービスを可能にするのに必要なものとして識別し、次いで、前記第1の部分を初期化するための手段を含む、請求項19に記載のシステム。前記プラットフォーム初期化モジュールは、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたメモリの第1の部分を初期化し、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記メモリの第2の部分を初期化するように構成される、請求項19又は請求項20に記載のシステム。前記プラットフォーム初期化モジュールは、前記クラウドコンピューティング環境においてアプリケーションを実行するための環境を前記ユーザシステムに提供するために、ハイパーバイザを初期化するように構成される、請求項19又は請求項20に記載のシステム。前記プラットフォーム初期化モジュールは、カーネル、メモリ管理機能、及びドライバの少なくとも1つを初期化するように構成される、請求項22に記載のシステム。前記プラットフォーム初期化モジュールは、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたハードウェアリソースの第1の部分を初期化し、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記ハードウェアリソースの第2の部分を初期化するように構成される、請求項19又は請求項20に記載のシステム。前記プラットフォーム初期化モジュールは、プロセッサ、入力/出力バスモジュール、ディスプレイアダプタ、キーボードアダプタ、及びマウスアダプタの1つを含むコンピューティングリソースの第1の部分を初期化するように構成される、請求項19又は請求項20に記載のシステム。前記プラットフォーム初期化機能は、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記コンピューティングリソースの前記第2の部分を初期化するように構成される、請求項19、請求項20、請求項22、請求項23、請求項25、又は請求項27に記載のシステム。前記ハイパーバイザは、クラウドコンピューティングサービスを前記ユーザシステムに提供するように構成される、請求項19から請求項26までのいずれかに記載のシステム。クラウドコンピューティング環境における制御を可能にするためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、それと共にコンピュータ可読プログラムコードが具体化されたコンピュータ可読ストレージ媒体を含み、前記コンピュータ可読プログラムコードは、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの第1の部分を初期化するように構成されたコンピュータ可読プログラムコードと、前記ユーザシステムへのサービスを可能にするように構成されたコンピュータ可読プログラムコードと、前記コンピューティングリソースの第2の部分を初期化するように構成されたコンピュータ可読プログラムコードと、を含むコンピュータプログラム製品。前記コンピューティングリソースはホストシステムのコンピューティングリソースであり、前記コンピュータプログラム製品は、前記ホストシステムの電源投入又は起動に応答して、前記コンピューティングリソースの前記第1の部分を、前記ユーザシステムへのサービスを可能にするのに必要なものとして識別し、次いで、前記第1の部分を初期化するように構成されたコンピュータ可読プログラムコードを含む、請求項28に記載のコンピュータプログラム製品。クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたメモリの第1の部分を初期化するように構成されたコンピュータ可読プログラムコードと、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記メモリの第2の部分を初期化するように構成されたコンピュータ可読プログラムコードと、を含む、請求項28又は請求項29に記載のコンピュータプログラム製品。前記クラウドコンピューティング環境においてアプリケーションを実行するための環境を前記ユーザシステムに提供するために、ハイパーバイザを初期化するように構成されたコンピュータ可読プログラムコードを含む、請求項28又は請求項29に記載のコンピュータプログラム製品。カーネル、メモリ管理機能、及びドライバの少なくとも1つを初期化するように構成されたコンピュータ可読プログラムコードを含む、請求項31に記載のコンピュータプログラム製品。クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたハードウェアリソースの第1の部分を初期化するように構成されたコンピュータ可読プログラムコードと、前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記ハードウェアリソースの第2の部分を初期化するように構成されたコンピュータ可読プログラムコードと、を含む、請求項28又は請求項29に記載のコンピュータプログラム製品。プロセッサ、入力/出力バスモジュール、ディスプレイアダプタ、キーボードアダプタ、及びマウスアダプタの1つを初期化するように構成されたコンピュータ可読プログラムコードを含む、請求項28又は請求項29に記載のコンピュータプログラム製品。前記ユーザシステムへのサービスを可能にした後及びそれと同時のいずれかに、前記コンピューティングリソースの前記第2の部分を前記初期化するように構成されたコンピュータ可読プログラムコードを含む、請求項28、請求項29、請求項31、請求項32、請求項34、又は請求項36に記載のコンピュータプログラム製品。クラウドコンピューティングサービスを前記ユーザシステムに提供するように構成されたコンピュータ可読プログラムコードを含む、請求項28から請求項35までのいずれかに記載のコンピュータプログラム製品。ホストシステム内のプロセッサ及びメモリを初期化するステップと、前記ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザを使用可能にするステップと、を含む方法。前記タイプ1ハイパーバイザを使用可能にするステップは、前記プロセッサ及びメモリを初期化するステップの直後に、前記タイプ1ハイパーバイザを使用可能にするステップを含む、請求項37に記載の方法。前記プロセッサ及びメモリの所定の部分を識別するステップを含み、前記プロセッサ及びメモリを初期化するステップは、前記タイプ1ハイパーバイザを使用可能にするステップに先立って、前記プロセッサ及びメモリの前記所定の部分を初期化するステップを含む、請求項37に記載の方法。前記プロセッサ及びメモリを初期化するステップは、第1のプロセッサ及び前記メモリの第1の部分を初期化するステップを含み、前記方法は、前記タイプ1ハイパーバイザを使用可能にするステップの後又はそれと同時に、第2のプロセッサ及び前記メモリの第2の部分を初期化するステップを含む、請求項37に記載の方法。前記タイプ1ハイパーバイザを使用可能にするステップの後又はそれと同時に、入力/出力バスモジュールを初期化するステップを含む、請求項37に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにサービスするステップを含む、請求項41に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムのためのゲストオペレーティングシステムを前記ホストシステム上に提供するステップを含む、請求項42に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための仮想マシンを提供するステップを含む、請求項42に記載の方法。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための作業負荷の実行をもたらすステップを含む、請求項44に記載の方法。ホストシステム内のプロセッサ及びメモリを初期化するように構成されたプラットフォーム初期化モジュールと、前記ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザと、を含むシステム。前記タイプ1ハイパーバイザを使用可能にすることは、前記プロセッサ及びメモリを前記初期化した直後に、前記タイプ1ハイパーバイザを使用可能にすることを含む、請求項46に記載のシステム。前記プロセッサ及びメモリの所定の部分を識別することを含み、プロセッサ及びメモリを初期化することは、前記タイプ1ハイパーバイザを使用可能にすることに先立って、前記プロセッサ及びメモリの前記所定の部分を初期化することを含む、請求項46に記載のシステム。プロセッサ及びメモリを初期化することは、第1のプロセッサ及び前記メモリの第1の部分を初期化することを含み、前記方法は、前記タイプ1ハイパーバイザを使用可能にした後又はそれと同時に、第2のプロセッサ及び前記メモリの第2の部分を初期化することを含む、請求項46に記載のシステム。前記タイプ1ハイパーバイザを使用可能にした後又はそれと同時に、入力/出力バスモジュールを初期化することを含む、請求項46に記載のシステム。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにサービスすることを含む、請求項50に記載のシステム。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムのためのゲストオペレーティングシステムを前記ホストシステム上に提供することを含む、請求項51に記載のシステム。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための仮想マシンを提供することを含む、請求項51に記載のシステム。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための作業負荷の実行をもたらすことを含む、請求項53に記載のシステム。クラウドコンピューティング環境において制御を可能にするためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、それと共にコンピュータ可読プログラムコードが具体化されたコンピュータ可読ストレージ媒体を含み、前記コンピュータ可読プログラムコードは、ホストシステム内のプロセッサ及びメモリを初期化するように構成されたコンピュータ可読プログラムコードと、前記ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザを使用可能にするように構成されたコンピュータ可読プログラムコードと、を含むコンピュータプログラム製品。前記プロセッサ及びメモリを初期化した直後に、前記タイプ1ハイパーバイザを使用可能にするように構成されたコンピュータ可読プログラムコードを含む、請求項55に記載のコンピュータプログラム製品。前記プロセッサ及びメモリの所定の部分を識別するように構成されたコンピュータ可読プログラムコードと、前記タイプ1ハイパーバイザを使用可能にすることに先立って、前記プロセッサ及びメモリの前記所定の部分を初期化するように構成されたコンピュータ可読プログラムコードと、を含む、請求項55に記載のコンピュータプログラム製品。第1のプロセッサ及び前記メモリの第1の部分を初期化するように構成されたコンピュータ可読プログラムコードと、前記タイプ1ハイパーバイザを使用可能にした後又はそれと同時に、第2のプロセッサ及び前記メモリの第2の部分を初期化するように構成されたコンピュータ可読プログラムコードとを含む、請求項55に記載のコンピュータプログラム製品。前記タイプ1ハイパーバイザを使用可能にした後又はそれと同時に、入力/出力バスモジュールを初期化するように構成されたコンピュータ可読プログラムコードを含む、請求項55に記載のコンピュータプログラム製品。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにサービスするように構成されたコンピュータ可読プログラムコードを含む、請求項59に記載のコンピュータプログラム製品。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムのためのゲストオペレーティングシステムを前記ホストシステム上に提供するように構成されたコンピュータ可読プログラムコードを含む、請求項60に記載のコンピュータプログラム製品。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための仮想マシンを提供するように構成されたコンピュータ可読プログラムコードを含む、請求項60に記載のコンピュータプログラム製品。前記タイプ1ハイパーバイザを使用して、前記ユーザシステムにより使用するための作業負荷の実行をもたらすように構成されたコンピュータ可読プログラムコードを含む、請求項62に記載のコンピュータプログラム製品。コンピュータプログラムであって、前記プログラムがコンピュータ上で実行されたとき、請求項1から請求項18まで又は請求項37から請求項45までのいずれかに記載の方法を実施するように適合されたプログラムコード手段を含む、コンピュータプログラム。クラウドコンピューティング環境においてユーザシステムにサービスを提供するホストシステムの複雑さを低減させる解決法が提供されることが好ましい。本発明の1つ又は複数の実施形態が、クラウドコンピューティング環境において制御を可能にするための方法を提供する。例えば、本方法を用いて、ホストシステムのハイパーバイザの制御が効率的に提供されるのを可能にすることができる。第1の態様によると、クラウドコンピューティング環境においてユーザシステムがサービスを可能にするとして識別されたコンピューティングリソースの第1の部分を初期化するステップと、ユーザシステムへのサービスを可能にするステップと、コンピューティングリソースの第2の部分を初期化するステップとを含む方法が提供される。1つの実施形態において、コンピューティングリソースはホストシステムのコンピューティングリソースであり、この方法は、ホストシステムの電源投入又は起動ブートに応答して、コンピューティングリソースの第1の部分を、ユーザシステムへのサービスを可能にするのに必要なものとして識別し、次いで、その第1の部分を初期化するステップを含む。1つの実施形態において、コンピューティングリソースの第1の部分を初期化するステップは、ホストシステム内のプロセッサ及びメモリを初期化するステップを含み、ユーザシステムへのサービスを可能にするステップは、ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザを使用可能にするステップを含む。好ましくは、クラウドコンピューティング環境におけるサービスが可能にされた後、ホストシステムにより、クラウドコンピューティングサービスを1つ又は複数のユーザシステムに提供することができる。第2の態様によると、クラウドコンピューティングサービスをユーザシステムに提供するように構成されたハイパーバイザと、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの第1の部分を初期化し、ユーザシステムへのサービスを可能にし、コンピューティングリソースの第2の部分を初期化するように構成されたプラットフォーム初期化モジュールとを含むシステムが提供される。第3の態様によると、クラウドコンピューティング環境における制御を可能にするためのコンピュータプログラム製品が提供され、このコンピュータプログラム製品は、その上にコンピュータ可読プログラムコードが具体化されたコンピュータ可読ストレージ媒体を含み、このコンピュータ可読プログラムコードは、クラウドコンピューティング環境におけるユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの第1の部分を初期化するように構成されたコンピュータ可読プログラムコードと、ユーザシステムへのサービスを可能にするように構成されたコンピュータ可読プログラムコードと、コンピューティングリソースの第2の部分を初期化するように構成されたコンピュータ可読プログラムコードとを含む。第4の態様によると、ホストシステム内のプロセッサ及びメモリを初期化するステップと、ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザを使用可能にするステップとを含む方法が提供される。ハイパーバイザは、プロセッサ及びメモリが初期化された直後に使用可能にすることができる。ハイパーバイザが使用可能にされた後、これらに限定されるものではないが、以前に初期化されていないメモリの部分、及び入力/出力バスモジュールといった、種々の他のコンピューティングリソースを初期化することができる。さらに、ハイパーバイザが使用可能にされた後、ハイパーバイザは、これに限定されるものではないが、ユーザシステムにより使用するためのゲストオペレーティングシステム及び仮想マシンを提供するといったサービスを、1つ又は複数のユーザシステムに提供することができる。第5の態様によると、ホストシステム内のプロセッサ及びメモリを初期化するように構成されたプラットフォーム初期化モジュールと、ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスをユーザシステムに提供するように構成されたタイプ1ハイパーバイザとを含むシステムが提供される。ここで本発明の好ましい実施形態を一例として添付図面を参照して説明する。本発明の実施形態による、クラウドコンピューティング環境においてハイパーバイザが効率的に制御を行うのを可能にする例示的な方法及びシステムが、本明細書で説明される。具体的には、ホストシステムの起動又は電源投入に応答して、ハイパーバイザが、クラウドコンピューティング環境を実装するホストシステムの制御を効率的に行うのを可能にするための例示的な方法及びシステムが、本明細書で説明される。一例においては、ホストシステムにより利用可能にされ、クラウドコンピューティング環境においてユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの部分を初期化するだけで、ハイパーバイザが、ホストシステムを効率的に制御することができる。識別されたコンピューティングリソースは、クラウドコンピューティング環境へのアクセスを可能にするのに必要とされる唯一のリソースであり得る。ユーザシステムへのクラウドコンピューティングサービスを可能にした後又はそれと同時に、コンピューティングリソースの別の部分を初期化することができる。このようにして、他のリソースが初期化される前に、識別されたコンピューティングリソースに優先権を与えることができる。識別されたコンピューティングリソースに初期化の優先権を与えることにより、ホストシステムは、ユーザシステムが、クラウドコンピューティング環境が提供するサービスに迅速かつ効率的にアクセスすることを可能にする。本発明の1つ又は複数の実施形態によると、BIOS層、UEFI層、及び/又はOpenFirmware層のようなファームウェア抽象化層を、ホストシステム内に含ませることはできない。現在開示されているシステムにおいては、ハイパーバイザが、プラットフォームの初期化が完了した後に制御を行うことができるため、本発明の実施形態によるシステム及び方法において、これらの層を不要にすることができる。ファームウェア抽象化層を含ませないことにより、そのような層の開発及び保守と関連した時間及び費用を無くすことができる。図1は、本発明の実施形態による、クラウドコンピューティング環境においてハイパーバイザ102が効率的に制御を行うことを可能にするためのシステム100のブロック図を示す。図1を参照すると、システム100は、1又は複数のユーザシステム106のためにクラウドコンピューティング環境を実装するホストシステム104を含むことができる。ホストシステム104は、ネットワーク108上でユーザシステム106と通信することができる。本発明の1つ又は複数の実施形態において、ホストシステム104は、各々が命令の読み出し及び実行を行うことができる1つ又は複数のプロセッサ例えばCPUを有し、かつ、クラウドコンピューティング環境においてユーザシステム106からの要求を処理する、1つ又は複数のサーバを含む。ホストシステム104は、種々のアプリケーションを実行することができ、アプリケーションサーバ、ウェブサーバ、及び/又はデータベースサーバとして働くことができる。ユーザシステム106は、ホストシステム104と通信するためのインターフェースを有する、デスクトップコンピュータ、ラップトップコンピュータ、汎用コンピュータ、スマートフォン、又はいずれかの他の適切なコンピューティングデバイスとすることができる。ユーザは、ユーザシステム106を介して、ホストシステム104上で、アプリケーションプログラムの実行といった種々のタスクを開始することができる。図1には単一のホストシステム104のみが示されるが、各々が直接結合を介して、又は1つ又は複数のネットワークを介して、互いに通信状態にある複数のホストシステムを実装できることが理解されるであろう。例えば、分散型ネットワークアーキテクチャを通じて、複数のホストシステムを相互接続することができる。本明細書でより詳細に説明されるように、単一のホストシステム104が、全体としてプロセスを実行するホストのクラスタを表すこともできる。ネットワーク108は、当業者には周知のいずれかの適切なタイプの通信ネットワークとすることができる。例えば、ネットワーク108は、イントラネット、エクストラネット、又はインターネットのようなインターネットワーク、又はそれらの組み合わせとすることができる。ネットワーク108は、無線、有線、及び/又は光ファイバリンクを含むことができる。ホストシステム104は、データにアクセスし、これをメモリ110内に格納することができる。メモリ110は、いずれかの適切なタイプのストレージとすることができ、ホストシステム104の内部又は外部にある、例えばハードディスクドライブ、テープ、又はストレージサブシステムなどの二次ストレージ要素を含むことができる。メモリ110内に格納できるデータのタイプは、例えば、ログファイル及びデータベースを含む。メモリ110は、単純化のため及び説明を簡単にするために提供されたものであり、範囲を限定するものと解釈されるべきではないことを理解すべきである。メモリ110は、ホストシステム104が用いる複数のメモリデバイスの形態を取ることができる。ホストシステム104は、ハイパーバイザ102及び複数の仮想マシン112を含む種々のアプリケーションを実行することができる。ハイパーバイザ102は、ホストシステム104のコンピューティングリソースへのアクセスを管理することができ、ホストシステム104上の仮想マシン112の同時操作をサポートするための仮想マシンモニタVMMとして働くことができる。各々の仮想マシン112は、特定のゲストオペレーティングシステム及びゲストオペレーティングシステムをターゲットにするように書かれたソフトウェアを実行するための複数のユーザセッションをサポートすることができる。例えば、別の仮想マシン112が別のオペレーティングシステムのインスタンスを実行している間、1つの仮想マシン112が特定のオペレーティングシステムのインスタンスを実行することが可能である。ハイパーバイザ102により、仮想マシン112を通じて、当業者に周知の任意の適切なタイプのオペレーティングシステムをサポートすることができる。ホストシステム104のコンピューティングリソースは、クラウドコンピューティングサービスをユーザシステム106に提供するのを可能にするために必要とされる、任意の適切なハードウェア、ソフトウェア、及び/又はファームウェアを含むことができる。ホストシステム104の動作例えばホストシステムの起動又は電源投入のために、及び、クラウドコンピューティング環境においてユーザシステム106へのサービスを可能にするために、これらのコンピューティングリソースの一部又は全てが必要になり得る。例示的なコンピューティングリソースとして、これらに限られるものではないが、メモリ110、1つ又は複数の入力/出力I/Oバスモジュール114、1つ又は複数のプロセッサ116、1つ又は複数のI/O通信モジュール117、ディスプレイアダプタ118、キーボードアダプタ120、マウスアダプタ122等が挙げられる。ユーザシステム106が、割り当てられた仮想マシン112を動作させるのを可能にするために、ハイパーバイザ102が、ホストシステム104上に常駐する、又はホストシステム104による使用のためにアクセス可能な、これらのコンピューティングリソース及び他のものを使用することができる。I/O通信モジュール117は、ネットワーク108との間で通信を受送信するように構成することができる。例えば、I/O通信モジュール117は、ユーザシステム106とホストシステム104との間のメッセージの通信を管理することができる。当業者により理解されるように、そのようなメッセージは、例えば、ホストシステム104によりユーザシステム106に提供されるクラウドコンピューティングサービスに関する情報を含むことができる。本発明の実施形態によると、ホストシステム104は、プラットフォーム初期化モジュール124を含むことができる。ホストシステム104を初期化してクラウドコンピューティングサービスをユーザシステム106の1つ又は複数に提供するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによりプラットフォーム初期化モジュール124を実装することができる。本発明の実施形態によると、起動又は電源投入中、ホストシステム104のコンピューティングリソースを初期化するためにプラットフォーム初期化モジュール124を用いることができる。ホストシステム104の起動又は電源投入に応答して初期化するために、他のコンピューティングリソースとは別に、コンピューティングリソースの一部分を、優先権を有するものとして識別することができる。コンピューティングリソースのこの部分は、クラウドコンピューティング環境におけるユーザシステム106へのサービスを可能にするために必要になり得る。ホストシステム104の起動又は電源投入に応答して、プラットフォーム初期化モジュール124は、識別されたコンピューティングリソースの1つ又は複数を初期化して、ユーザシステムへのサービスを効率的に提供可能にすることができる。識別されたコンピューティングリソースは、所定の順序で初期化することができる。識別されたコンピューティングリソースは、これらに限られるものではないが、メモリ112、I/Oバスモジュール114、プロセッサ116、ディスプレイアダプタ118、キーボードアダプタ120、マウスアダプタ122、種々の他のコンピューティングリソース等の全て又は一部を含むことができる。例えば、ユーザシステム106へのサービスを実施可能にした後又はそれと同時に、これに限られるものではないが、メモリ112の別の部分などの他のコンピューティングリソースを初期化することができる。図2は、本発明の1つ又は複数の実施形態によるホストシステム104のブロック図を示す。この例示的なブロック図においては、説明のために、図1に示されるホストシステム104について言及するが、図1の例への言及は、限定として解釈すべきではない。図2に示されるように、ホストシステム104は、クラウドコンピューティング環境において、ユーザシステム106に対して仮想マシン112の使用を提供するための複数の層及び機能を含むことができる。ホストシステム104は、プロセッサ例えば、CPU116、メモリコントローラ202及びメモリ110を有するハードウェア層200を含むことができる。プロセッサ116は、メモリ110との間のデータの読み書きを制御することができるメモリコントローラ202と対話することができる。メモリ110は複数のメモリモジュールを含むことができ、その各々が、これに限定されるものではないが、ランダムアクセスメモリRAMチップなどの複数のストレージデバイスを含むことができる。ハードウェア層200はまた、これらに限定されるものではないが、通信チャネル、I/Oポート、クロック、バスシステム、及びコントローラのような、他の適切なハードウェアを含むこともできる。プロセッサ116は、ハードウェア層200の上に常駐するプロセッササポートモジュール203によりサポートすることができる。ハイパーバイザ102はハードウェア層200の上に常駐し、仮想マシンの実行をサポートする。例えば、ハイパーバイザ102は、仮想マシンのゲストオペレーティングシステム204の実行をサポートすることができる。仮想化されたブートサービスモジュール205は、ゲストオペレーティングシステム204のためのブート機能及びサポートを提供することができる。さらに、ハイパーバイザ102は、ハードウェアリソースの共有、及び、利用可能なハードウェアリソースに基づいた制御規則の実施の両方を担うことができる。この例では、ハイパーバイザ102はタイプ1ハイパーバイザであり、従って、スーパーバイザモード又はベアメタル上の特権モードで実行される。ホストシステム104は、ハードウェアリソースの動作を制御するための、ハイパーバイザ102によって管理されるドライバスタック206を含むことができる。さらに、ホストシステム104は、これらに限定されるものではないが、advanceconfigurationandpowerinterfaceACPIテーブル及びシステム管理基本入力/出力システムsystemmanagementbasicinput/outputsystem、SMBIOSテーブル208のような、プラットフォームファームウェアテーブルを含むことができる。上述のように、本発明の実施形態による、クラウドコンピューティング環境においてハイパーバイザ102が制御を行うのを可能にするための例示的な方法が、添付図面を参照して説明される。これらの例示的な方法及びシステムを用いることにより、ホストシステムは、ホストシステムの起動又はスタートアップの後に、ユーザシステムが、クラウドコンピューティング環境が提供するサービスに迅速かつ効率的にアクセスするのを可能にすることができる。更なる説明のために、図3は、本発明の実施形態による、クラウドコンピューティング環境においてハイパーバイザが制御を行うのを可能にする例示的な方法のフローチャートを示す。この例示的な方法においては、説明のために、図1及び図2に示されるホストシステム104について言及するが、ホストシステム104への言及は、限定として解釈されるべきではない。図3を参照すると、本方法は、ホストシステムの電源を投入すること又はこれを起動すること300を含む。例えば、クラウドコンピューティングサービスを提供するために、図1及び図2に示されるホストシステム104の電源を投入することができる。ホストシステムの電源投入又は起動に応答して、クラウドコンピューティング環境における1つ又は複数のユーザシステムへのサービスを可能にするとして識別されたコンピューティングリソースの一部を初期化することができる302。コンピューティングリソースのこの部分は、コンピューティング環境においてハイパーバイザ102が制御を行うことを可能にするために必要とされるものとして、データ構造体において識別された部分とすることができる。プラットフォーム初期化モジュール124は、データ構造体において識別されたコンピューティングリソースのこの部分を初期化することができる。メモリ例えば、フラッシュメモリのような不揮発性メモリストアにおいて、メモリ、ハードウェアリソース、プロセッサ、入力/出力I/Oバスモジュール、ディスプレイアダプタ、キーボードアダプタ、マウスアダプタ、それらの組み合わせ、及びそれらの部分を、コンピューティング環境においてハイパーバイザ102が制御を行うのを可能にするために必要とされるものとして識別又は指定することができる。例えば、所定のサイズのメモリ110を、コンピューティング環境においてハイパーバイザ102が制御を行うのを可能にするのに必要とされるものとして識別することができる。ハイパーバイザは、クラウドコンピューティング環境においてアプリケーションを実行するための環境をユーザシステムに提供するように構成することができる。さらに、ハイパーバイザは、環境を提供するために、カーネル、メモリ管理機能、ドライバ、それらの組み合わせ、又は任意の適切なハードウェア、ソフトウェア、及び/又はファームウェアを含むことができる。プラットフォーム初期化モジュール124は、識別されたリソースを発見するためにデータ構造体にアクセスすることができる。一例において、電源投入又は起動後、クラウドコンピューティングリソースをユーザシステムに迅速かつ効率的に提供できるように、これらの識別されたリソースには、高い初期化の優先度を与えることができる。図3の方法は、1つ又は複数のユーザシステムへのサービスを可能にすること304を含む。例えば、識別されたリソースが初期化された後、ハイパーバイザ102を使用可能にして、ユーザシステム106により使用するための仮想マシン112を提供することができる。次いで、ホストシステム104は、クラウドコンピューティングサービスをユーザシステムの1つ又は複数に提供することができる306。例えば、ホストシステム104は、仮想マシン112をロードし、実行することができる。図3の方法は、コンピューティングリソースの別の部分を初期化すること308を含む。ユーザシステムへのサービスを可能にした後又はそれと同時に、コンピューティングリソースのこの他の部分を初期化することができる。例えば、クラウドコンピューティング環境がユーザシステムに提供されている間、メモリ、ハードウェアリソース、ソフトウェアリソース、ファームウェアリソース、及びそれらの組み合わせの他の部分を初期化することができる。ホストシステム104は、ホストシステム104のコンピューティングリソースの全て又は他の部分が利用可能になるまで、低下モード又は部分的に制限されたモードで動作することができる。図4は、本発明の実施形態による、クラウドコンピューティング環境においてハイパーバイザが制御を行うのを可能にする別の例示的な方法のフローチャートを示す。この例示的な方法においては、説明のために、図1及び図2に示されるホストシステム104に言及するが、ホストシステム104への言及は、限定であると解釈されるべきではない。図4の方法は、ホストシステムの電源を投入すること又はこれを起動すること400、及びプロセッサを初期化すること402を含むことができる。例えば、図1及び図2に示されるホストシステム104の電源を投入し、プロセッサ116を初期化することができる。図4の方法は、クラウドコンピューティング環境においてユーザシステムへのサービスを可能にするとして識別された所定のサイズのメモリを初期化することを含む。例えば、プラットフォーム初期化モジュール124は、RAMのサブセットを初期化することができる404。RAMは、例えば、図1及び図2に示されるメモリ110の指定された部分のような、所定のサイズのメモリとすることができる。RAMの識別された又は指定されたサイズは、ハイパーバイザの動作に十分な量とすることができる。一例において、このRAMの量は、百ギガバイトのメモリのシステムにおける数メガバイトとすることができる。図4の方法は、ハイパーバイザを初期化すること406を含む。例えば、ハイパーバイザの基本的なカーネル及びメモリ管理を初期化することができる。さらに、例えば、これに限定されるものではないが、I/Oバスチップのためのドライブをアクティブ化するなど、特定のドライバをアクティブ化することができる。図4の方法は、クラウドコンピューティング環境においてユーザシステムへのサービスを可能にするとして識別されたI/Oバスを初期化すること408を含む。I/Oバスの初期化は、識別されたI/Oバスの各々が初期化されるまで継続することができる。まだ初期化されていないRAM又は他のメモリの一部又は全てを初期化することができる410。この他のメモリの初期化は、ブロック408における識別されたI/Oバスの初期化又は本明細書で以下に説明されるような1つ又は複数のユーザデバイスの初期化の後で、又はそれと同時に行うことができる。このようにして、他のコンピューティングリソースに先立って、本発明の実施形態による、クラウドコンピューティングサービスの提供に必要とされるものとして識別されたコンピューティングリソースを初期化することができる。図4の方法は、クラウドコンピューティング環境においてユーザシステムへのサービスを可能にするとして識別された識別されたユーザデバイスを初期化すること412を含む。識別されたデバイスの各々が初期化されるまで、ユーザデバイスの初期化を継続することができる。そのようなデバイスは、ユーザシステムとの対話に直接関連するもの、従ってユーザとの対話を可能にするものとすることができる。さらに、そのようなデバイスは、システム構成によって決まり得る。例示的なデバイスは、これらに限定されるものではないが、ネットワークアダプタ、ディスプレイアダプタ、キーボードアダプタ、及びマウスアダプタを含む。加えて、初期化することができる他のデバイスは、例えば、これらに限定されるものではないが、DVDドライブ、ファイバチャネルアダプタ、付加的なネットワークアダプタ等を含む。クラウドコンピューティング環境においてユーザシステムへのサービスを可能にするとして識別されなかった他のユーザデバイスを初期化することができる414。これらの他のユーザデバイスの初期化は、ブロック412における1つ又は複数のユーザデバイスの初期化の後に又はそれと同時に行うことができる。このようにして、他のコンピューティングリソースに先立って、本発明の実施形態による、クラウドコンピューティングサービスの提供に必要とされるものとして識別されたコンピューティングリソースを初期化することができる。図4の方法は、1つ又は複数のユーザシステムへのサービスを可能にすること416を含む。例えば、識別されたリソースが初期化された後、ハイパーバイザ102を使用可能にして、ユーザシステム106により使用するための仮想マシン112を提供することができる。次いで、ホストシステム104は、クラウドコンピューティングサービスを1つ又は複数のユーザシステムに提供することができる418。1つ又は複数の実施形態によれば、プラットフォーム初期化モジュールは、プロファイル及び発見機能discoverfunctionを実装することができる。この機能により、クラウドコンピューティング環境においてハイパーバイザがサービスを提供するための制御を行うことが可能になる。プロファイルは、ホストシステムのメモリ内に格納することができ、クラウドコンピューティング環境へのアクセスを可能にするのに必要とされるコンピューティングリソースを識別又は指定することができる。このようにコンピューティングリソースを識別して、ホストシステムの起動又は電源投入後にコンピューティングリソースに初期化の優先権を与えるようにすることができる。例示的なプロファイルにおいて、コンピューティングリソースの各々を、CRITICAL重要である又はNOTCRITICAL重要でないものとして指定することができる。あるコンピューティングリソースがCRITICALとして指定された場合、そのコンピューティングリソースを初期化に利用できるはずであり、又は他の場合には、プラットフォーム初期化モジュールは、クラウドコンピューティングサービスをユーザシステムに提供するのを禁止する。さらに、CRITICALであるコンピューティングリソースが利用可能でない場合、エラー状態が生じ得る。コンピューティングリソースがNOTCRITICALとして指定された場合、コンピューティングリソースが、クラウドコンピューティングサービスをホストシステムに提供するのに直ちに利用可能である必要はない。NOTCRITICALであるコンピューティングリソースが利用可能でない場合、他のコンピューティングリソースの初期化プロセスを進行させることができ、NOTCRITICALであるコンピューティングリソースが利用可能でない場合でも、コンピューティングリソースをホストシステムに提供することができる。例示的なプロファイルを示す表は以下の通りである。表1に示されるように、2つのコンピューティングリソースが例示的なプロファイル:即ち、1GBのRAM、種々のタイプのディスプレイアダプタにより識別される。RAMは、CRITICALであるコンピューティングリソースとして指定される。プラットフォーム初期化モジュールは、発見機能を用いて、指定された1GBのRAMが利用可能であるかどうかを判定することができる。指定量のRAMが利用可能である場合、本発明の実施形態に従って、RAMを初期化することができる。指定量のRAMが利用可能でない場合、エラー状態が生じ得る。同じく表1に示されるプロファイルにおいて、ディスプレイアダプタがNOTCRITICALであるコンピューティングリソースとして指定される。プロファイルはまた、組み込みビデオが好ましいディスプレイアダプタであることも指定する。プラットフォーム初期化モジュールは、ホストシステム内のI/Oバスを走査して、組み込みビデオディスプレイアダプタを探すことができる。このディスプレイアダプタが見つかった場合、プラットフォーム初期化モジュールは、組み込みビデオディスプレイアダプタを初期化することができる。このディスプレイアダプタが見つからなかった場合、プラットフォーム初期化モジュールは、最初に、指定された代替案1を走査し、代替案が見つかった場合には、このディスプレイアダプタを初期化することができる。代替案1のディスプレイアダプタが見つからなかった場合、プラットフォーム初期化モジュールは、指定された代替案2を走査し、代替案2が見つかった場合、このディスプレイアダプタを初期化することができる。ディスプレイアダプタは、NOTCRITICALであるものとしてプロファイル内で指定されているので、指定されたディスプレイアダプタのいずれも見つからなかった場合、ディスプレイアダプタは初期化されない。プロファイル内で指定されたコンピューティングリソース、又は、見つからなかったために及びNOTCRITICALであるために初期化されなかったコンピューティングリソースを初期化した後、本発明の実施形態に従って、クラウドコンピューティングサービスをユーザシステムに提供することができる。図5は、本発明の実施形態による、クラウドコンピューティング環境においてハイパーバイザが制御を行うのを可能にするための別の例示的な方法を示すフローチャートを説明する。この方法においては、説明のために、図1及び図2に示されるホストシステム104について言及するが、ホストシステム104への言及は、限定であると解釈されるべきではない。図5の方法はまた、ホストシステムの電源を投入すること又はこれを起動すること500を含むことができる。図5の方法はまた、ホストシステム内のプロセッサ及びメモリを初期化すること502を含むことができる。例えば、ホストシステム104において1つ又は複数のプロセッサ、及びメモリの全体又は所定の部分を初期化することができる。図5の方法は、ホストシステム上に常駐し、かつ、クラウドコンピューティング環境においてクラウドコンピューティングサービスを1つ又は複数のユーザシステムに提供するように構成された、タイプ1ハイパーバイザを使用可能にすること504を含む。例えば、プロセッサ及びメモリを初期化した直後に、図1及び図2に示される、ハイパーバイザ102のようなタイプ1ハイパーバイザを使用可能にすることができる。図5の方法は、1つ又は複数の他のプロセッサ及び他のメモリ部分を初期化すること506を含むことができる。ハイパーバイザを使用可能にするのに、これらの他のプロセッサ及びメモリを必要としなかった可能性がある。このため、ハイパーバイザを使用可能にした後に、これらの他のプロセッサ及びメモリを初期化することができ、その結果、ホストシステムの起動又は電源投入の直後に、クラウドコンピューティングサービスをユーザシステムに提供することができる。さらに、ハイパーバイザを使用可能にした後、例えば1つ又は複数のI/Oバスモジュールを初期化することができる。別の例では、ハイパーバイザを初期化した後、ホストシステムにより、種々のアダプタを初期化するといった他の種々のシステムタスクを実行することができる。図5の方法は、タイプ1ハイパーバイザを使用して、ユーザシステムにサービスすることを含む。例えば、図1及び図2に示されるハイパーバイザ102は、ユーザシステム106が使用するためのゲストオペレーティングシステム204を管理し、提供することができる。別の例では、ハイパーバイザ102は、ユーザシステム106が使用するための仮想マシン112を提供することができる。各々の仮想マシンは、作業負荷を実行するように動作可能である。さらに、各々の仮想マシンは、例えば、これらに限定されるものではないが、ユーザシステムが使用するためのメールサーバ、ウェブサーバ、会計システム等を含むことができる。当業者であれば分かるように、本発明の態様は、システム、方法、又はコンピュータプログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコード等を含む、又はソフトウェアの態様とハードウェアの態様を組み合わせた実施形態の形を取ることができ、これらは全て、本明細書において、一般的に回路、モジュール又はシステムと呼ぶことができる。さらに、本発明の態様は、媒体内に具体化されたコンピュータ可読プログラムコードを有する、1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータプログラム製品の形を取ることができる。一例において、コンピュータプログラム製品の全て又は一部は、これに限定されるものではないが、図1及び図2に示されるホストシステム104のようなホストシステム上に常駐することができる。コンピュータプログラム製品は、メモリ110の全て又は一部の中に具体化することができる。1つ又は複数のコンピュータ可読媒体の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体これに限定されるものではないが、非一時的コンピュータ可読ストレージ媒体を含むとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光学、電磁気、赤外線若しくは半導体のシステム、装置、若しくはデバイス、又は上記のもののいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例非網羅的なリストとして、以下のもの:即ち、1つ又は複数の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み出し専用メモリROM、消去可能なプログラム可能読み出し専用メモリEPROM又はフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリCD-ROM、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせが挙げられる。本明細書の文脈においては、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって、又はこれらと関連して用いるためのプログラムを収容又は格納することができる任意の有形媒体とすることができる。コンピュータ可読信号媒体は、例えば、ベースバンド内に、又は搬送波の一部として、具体化されたコンピュータ可読プログラムコードをその中に有する、伝搬されるデータ信号を含むことができる。このような伝搬信号は、これらに限定されるものではないが、電磁気、光又はそれらのいずれかの適切な組み合わせを含む、種々の形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、かつ、命令実行システム、装置若しくはデバイスによって、又はこれらと関連して用いるためのプログラムを伝達し、伝搬し、又は搬送することができる任意のコンピュータ可読媒体とすることができる。コンピュータ可読媒体上に具体化されたプログラムコードは、これらに限定されるものではないが、無線、有線、光ファイバケーブル、RF等、又は上記のもののいずれかの適切な組み合わせを含む、任意の適切な媒体を用いて伝送することができる。本発明の態様の操作を実行するためのコンピュータプログラムコードは、Java商標、SmallTalk、C等のようなオブジェクト指向型プログラミング言語、及び、Cプログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。Java及び全てのJavaベースの商標及びロゴは、Oracle及び/又はその関連会社の商標又は登録商標である。プログラムコードは、全体がユーザのコンピュータ上で実行される場合もあり、独立型ソフトウェアパッケージとして、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は全体が遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカルエリアネットワークLAN若しくは広域ネットワークWANを含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある例えば、インターネットサービスプロバイダを用いたインターネットを通じて。本発明の態様を、本発明の実施形態による方法、装置システム及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して以下で説明する。例えば、本発明の態様を、図1及び図2のブロック図、並びに、図3、図4及び図5のフローチャートを参照して説明する。フローチャート図及び/又はブロック図の各ブロック、並びに、フローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータプログラム命令によって実施することができることが理解されるであろう。これらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施するための手段を生成するようにすることができる。これらのコンピュータプログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに特定の方式で機能するように指示することができるコンピュータ可読媒体内に格納して、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施する命令を含む製品を製造するようにすることもできる。コンピュータプログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、そのコンピュータ、他のプログラム可能装置、又は他のデバイス上で一連の動作ステップを行わせてコンピュータ実装プロセスを生成し、それにより、そのコンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施するためのプロセスを提供するようにすることもできる。図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータプログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実行するための1つ又は複数の実行可能命令を含む、モジュール、セグメント又はコードの一部を表すことができる。幾つかの代替的な実施において、ブロック内に記された機能は、図面内に記された順序以外の順序で行われる場合があることにも留意すべきである。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックは、ときには逆の順序で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェアベースのシステム、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。本明細書で用いられる用語は、特定の実施形態を説明するためのものにすぎず、本発明を限定することを意図したものではない。本明細書で用いられる場合、単数形1つのa、1つのan及びそのtheは、文脈が明らかにそうでないことを示さない限り、複数形を同様に含むことを意図したものである。含むcomprise及び/又は含んでいるcomprisingという用語は、本明細書で用いられる場合、記述された特徴、整数、ステップ、操作、要素、及び/又は構成要素の存在を指定するが、1つ又は複数の他の特徴、整数、ステップ、操作、要素、構成要素、及び/又はそれらのグループの存在又は付加を排除するものではないことがさらに理解されるであろう。以下の特許請求の範囲における全ての手段又はステップと機能との組み合わせミーンズ又はステッププラスファンクション要素の対応する構造、材料、動作及び等価物は、その機能を、明確に特許請求される他の特許請求された要素との組み合わせで実行するためのあらゆる構造、材料、又は動作を含むことが意図されている。本発明の説明は、例証及び説明を目的として提示されたものであり、網羅的であること、又は本発明を開示された形態に限定することを意図したものでもない。本発明の範囲及び趣旨から逸脱しない多くの修正及び変形が当業者には明らかとなるであろう。実施形態は、本発明の原理及び実際的用途を最も良く説明するために、そして、当業者が、企図した特定の用途に適した種々の修正を伴う種々の実施形態に関して本発明を理解できるように、選択され、説明された。