(57)【特許請求の範囲】
【請求項１】
クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持する方法であって、
ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、
前記ソースクラウドコンピューティング環境内の前記顧客アプリケーションに関連する前記性能メトリックに基づいて、前記ソースクラウドコンピューティング環境の複数の性能パラメータを計算することと、
重み付きの形で前記ソースクラウドコンピューティング環境の前記複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせることと、
ターゲットクラウドコンピューティング環境内の前記顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、
前記ターゲットクラウドコンピューティング環境内の前記顧客アプリケーションに関連する前記性能メトリックに基づいて、前記ターゲットクラウドコンピューティング環境の複数の性能パラメータを計算することと、
重み付きの形で前記ターゲットクラウドコンピューティング環境の前記複数の性能パラメータをターゲットＣＣＡＳに組み合わせることと、
前記ソースＣＣＡＳと前記ターゲットＣＣＡＳとを比較することと、
比較結果に基づいて前記ターゲットクラウドコンピューティング環境を選択すること、
を含む方法。
【請求項２】
前記性能メトリックは、処理能力メトリック、メモリメトリック、およびネットワーキングメトリックを含む、請求項１に記載の方法。
【請求項３】
使用可能な処理能力の分数としての前記顧客アプリケーションによって消費される実際の処理能力に基づいて前記処理能力メトリックを計算すること
をさらに含む、請求項２に記載の方法。
【請求項４】
前記処理能力メトリックは、処理のタイプ、スケジューラ優先順位、および同時に実行されるタスクの個数のうちの１つまたは複数にさらに基づく、請求項３に記載の方法。
【請求項５】
前記処理能力メトリックは、事前定義の期間にわたって平均をとられる、請求項４に記載の方法。
【請求項６】
前記顧客アプリケーションのために割り振られるメモリタイプの重み付き組合せに基づいて前記メモリメトリックを計算することであって、前記メモリタイプは、メインメモリ、フラッシュメモリ、ローカルメモリ、およびネットワークメモリのうちの１つまたは複数を含む、計算すること
をさらに含む、請求項３に記載の方法。
【請求項７】
前記割り振られるメモリタイプは、事前定義の期間にわたって平均をとられる前記ソースクラウドコンピューティング環境での実際の割振りを表す、請求項６に記載の方法。
【請求項８】
より高速のメモリタイプは、より低速のメモリタイプに対して相対的により大きい重み付け値を割り当てられる、請求項６に記載の方法。
【請求項９】
クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持するコンピューティングデバイスであって、
命令を格納するように構成されたメモリと、
前記命令に関連して移行モジュールを実行するように構成された処理ユニットであって、前記移行モジュールは、
ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定し、
前記ソースクラウドコンピューティング環境内の前記顧客アプリケーションに関連する前記性能メトリックに基づいて、前記ソースクラウドコンピューティング環境の複数の性能パラメータを計算し、
重み付きの形で前記ソースクラウドコンピューティング環境の前記複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせ、
ターゲットクラウドコンピューティング環境内の前記顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定し、
前記ターゲットクラウドコンピューティング環境内の前記顧客アプリケーションに関連する前記性能メトリックに基づいて、前記ターゲットクラウドコンピューティング環境の複数の性能パラメータを計算し、
重み付きの形で前記ターゲットクラウドコンピューティング環境の前記複数の性能パラメータをターゲットＣＣＡＳに組み合わせ、
前記ソースＣＣＡＳと前記ターゲットＣＣＡＳとを比較し、
比較結果に基づいて前記ターゲットクラウドコンピューティング環境を選択する
ように構成される、処理ユニットと
を含むコンピューティングデバイス。
【請求項１０】
前記ターゲットクラウドコンピューティング環境内の前記性能メトリックは、シミュレーションに基づいて判定される、請求項９に記載のコンピューティングデバイス。
【請求項１１】
前記ソースクラウドコンピューティング環境および前記ターゲットクラウドコンピューティング環境内の前記性能パラメータは、各環境に関連する信頼性要因を表す信頼性パラメータをさらに含む、請求項９に記載のコンピューティングデバイス。
【請求項１２】
前記ターゲットクラウドコンピューティング環境内の前記性能メトリックは、前記ターゲットクラウドコンピューティング環境での顧客の所望の性能に基づいて重みを付けられる、請求項９に記載のコンピューティングデバイス。
【請求項１３】
前記移行モジュールは、
前記ターゲットクラウドコンピューティング環境での性能を検証するために、前記ターゲットクラウドコンピューティング環境への前記顧客アプリケーションの移行後に前記ターゲットクラウドコンピューティング環境の前記複数の性能パラメータを計算し、前記移行後に計算した複数の性能パラメータに基づいて前記ターゲットＣＣＡＳを計算する
ようにさらに構成される、請求項９に記載のコンピューティングデバイス。
【請求項１４】
前記移行モジュールは、
複数のターゲットクラウドコンピューティング環境の前記ターゲットＣＣＡＳを計算し、
前記顧客に複数の候補クラウドコンピューティング環境オファーを提供する
ようにさらに構成される、請求項９に記載のコンピューティングデバイス。
【請求項１５】
前記移行モジュールは、
別個の重み付け要因に基づいて複数のターゲットクラウドコンピューティング環境構成の前記ターゲットＣＣＡＳを計算し、
前記顧客に複数のターゲットクラウドコンピューティング環境パッケージオファーを提供する
ようにさらに構成される、請求項９に記載のコンピューティングデバイス。
【請求項１６】
コンピュータに、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持するための方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記方法は、
ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、
前記ソースクラウドコンピューティング環境内の前記顧客アプリケーションに関連する前記性能メトリックに基づいて、前記ソースクラウドコンピューティング環境の複数の性能パラメータを計算することと、
重み付きの形で前記前記ソースクラウドコンピューティング環境の複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせることと、
ターゲットクラウドコンピューティング環境内の前記顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、
前記ターゲットクラウドコンピューティング環境内の前記顧客アプリケーションに関連する前記性能メトリックに基づいて、前記ターゲットクラウドコンピューティング環境の複数の性能パラメータを計算することと、
重み付きの形で前記ターゲットクラウドコンピューティング環境の前記複数の性能パラメータをターゲットＣＣＡＳに組み合わせることと、
前記ソースＣＣＡＳと前記ターゲットＣＣＡＳとを比較することと、
比較結果に基づいて前記ターゲットクラウドコンピューティング環境を選択すること、
とを含む、コンピュータ読み取り可能な記録媒体。
【請求項１７】
前記性能メトリックは、処理能力メトリック、メモリメトリック、およびネットワーキングメトリックを含む、請求項１６に記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記方法は、
前記性能メトリックを、複数の顧客アプリケーションについて判定することと、
前記重み付けを、個々の顧客アプリケーションに基づいて判定することとを含む、請求項１６に記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記方法は、
前記性能パラメータを正規化すること
をさらに含む、請求項１６に記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記性能パラメータは、パーセンテージとして正規化される、請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書でそうではないと示されない限り、このセクションで説明される内容は、本願の特許請求の範囲に対する従来技術ではなく、このセクションに含まれることによって従来技術であると認められるものではない。
【０００２】
ネットワーキング技術およびデータストレージ技術の進歩に伴って、ますます多数のコンピューティングサービスが、さまざまなレベルでのコンピューティングリソースへのアクセスを可能にすることができるクラウドベースのデータセンタによってユーザまたは顧客に提供されつつある。クラウドベースのサービスプロバイダは、システム展開および運営に関するある範囲の解決策を個人および組織に提供することができる。顧客の必要度、データセンタの能力、および関連するコストに依存して、顧客に提供されるサービスを、サーバ待ち時間、ストレージ限度またはクォータ、処理能力、スケーラビリティ要因、バックアップ保証、アップタイム保証、リソース使用量報告、および類似物などの態様を記述するサービスレベルアグリーメント（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ、ＳＬＡ）によって定義することができる。
【０００３】
クラウドベースのサービスの成功は、ますます多くのアプリケーションが、クラウドに移動しようとしていることを意味する。顧客（またはテナント）は、通常、性能、コスト、責任、および類似物などのサービスパラメータを維持しながら、アプリケーションをあるサービスプロバイダから別のサービスプロバイダに移動するオプションを有することを好む。サービスプロバイダは、アプリケーションの性能およびサービスレベルを維持すながら、アプリケーションをあるサイトから別のサイトに移動するオプションを有することを好む可能性がある。
【０００４】
サーバ処理、メモリ、およびネットワーキングなどのコアサービスパラメータは、異なるサービスプロバイダによってさまざまな形で実施される可能性がある。実際に、あるサービスプロバイダのコンピューティング環境が、別のサービスプロバイダの環境のコピーである場合は、ありそうにない。オリジナルサービスプロバイダでのアプリケーション応答時間などのパラメータの測定は、単純なプロセスである可能性があるが、アプリケーションを移行するためにシステムリソース割振りをどのように計画すべきかに関するいかなるガイダンスも、新しいサービスプロバイダに提供するものではない。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示は、同等のまたは異なるリソース混合物（ｒｅｓｏｕｒｃｅ  ｍｉｘ）を有するクラウドサービスの間での転送時にクラウドサーバがアプリケーショ性能を維持することを可能にする技術を全般的に説明するものである。
【０００６】
いくつかの例によれば、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持する方法は、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ  Ａｐｐｌｉｃａｂｉｌｉｔｙ  Ｓｃｏｒｅ、ＣＣＡＳ）に組み合わせることと、ソースＣＣＡＳに基づいて顧客アプリケーションのターゲットクラウドコンピューティング環境を適合させることとを含むことができる。
【０００７】
他の例によれば、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持するコンピューティングデバイスは、命令を格納するように構成されたメモリと、命令に関連して移行モジュールを実行するように構成された処理ユニットとを含むことができる。移行モジュールは、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する複数の性能メトリックを判定し、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算し、重み付きの形で複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせ、ソースＣＣＡＳに基づいて顧客アプリケーションのターゲットクラウドコンピューティング環境を適合させることができる。
【０００８】
さらなる例によれば、コンピュータ可読記憶媒体は、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持する命令をその上に格納されるものとすることができる。命令は、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせることと、ソースＣＣＡＳに基づいて顧客アプリケーションのターゲットクラウドコンピューティング環境を適合させることとを含むことができる。
【０００９】
前述の要約は、例示的であるのみであって、いかなる形でも限定的であることは意図されていない。上で説明された例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および次の詳細な説明を参照することによって明白になろう。
【００１０】
本開示の前述および他の特徴は、添付図面と共に解釈される以下の説明および添付された特許請求の範囲からより十分に明白になろう。これらの図面が、本開示による複数の実施形態のみを示し、したがって、その範囲について限定的と考えられてはならないことを理解して、本開示を、添付図面の使用を介してさらなる特定性および詳細を伴って説明する。
【図面の簡単な説明】
【００１１】
【図１】クラウドコンピューティング環境の間の転送時のアプリケーション性能の維持を実施できる、例のシステムを示す図である。
【図２】クラウドコンピューティング環境の間の転送時にアプリケーション性能を維持する一例を示す図である。
【図３】クラウドコンピューティング環境の間の転送時にアプリケーション性能を維持するもう１つの例を示す図である。
【図４】ソースクラウドコンピューティング環境およびターゲットクラウドコンピューティング環境ならびにＣＣＡＳ比較に基づいて判定される移行に関する１つまたは複数のオプションについてＣＣＡＳをどのように計算できるのかを概念的に示す図である。
【図５】クラウドコンピューティング環境の間で転送される時のアプリケーション性能の維持の例に使用できる汎用コンピューティングデバイスを示す図である。
【図６】図５のデバイス５００などのコンピューティングデバイスによって実行できる例の方法を示す流れ図である。
【図７】本明細書で説明される少なくともいくつかの実施形態に従ってすべて配置された、例のコンピュータプログラム製品を示すブロック図である。
【発明を実施するための形態】
【００１２】
次の詳細な説明では、本明細書の一部を形成する添付図面を参照する。図面では、文脈がそうではないと規定しない限り、同様の記号が、通常は同様の構成要素を識別する。発明を実施するための形態、図面、および特許請求の範囲で説明される例示的実施形態は、限定的であることを意味するものではない。本明細書で提示される主題の趣旨または範囲から逸脱せずに、他の実施形態を利用することができ、他の変更を行うことができる。全般的に本明細書で説明され、図面に図示される本開示の態様を、さまざまな異なる構成で配置し、置換し、組み合わせ、分離し、設計することができ、そのすべてが本明細書で明示的に企図されていることが、たやすく理解されるであろう。
【００１３】
本開示は、全般的には、なかんずく、クラウドサービスの間での転送時のアプリケーション性能を維持することに関する方法、装置、システム、デバイス、およびコンピュータプログラム製品についての説明となる。
【００１４】
短く言うと、新しいサービスプロバイダがリソースの異なる混合物を有する場合であっても、アプリケーションを移行するために、使用されるリソースを追跡し、新しいクラウドベースのサービスプロバイダで提供されるコンピューティングリソース全体の類似するレベルを保証する技術を提示する。移行されるアプリケーションによって使用中のコンピューティングリソースと、使用されまたは消費されるコンピューティング能力のレベルとを識別することができる。コンピューティングリソースのそれぞれに、関連するサービスレベルに従ってスコアを割り当てることができる。たとえば、アプリケーション処理およびネットワーキング状況に対する影響による個々のスコアの重み付きの組合せとして生成される全体的なスコアを、移行されるアプリケーションが類似する性能レベルを受け取ることを保証するために既存のサービスプロバイダと新しいサービスプロバイダとの間でのサービスレベルの比較に使用することができる。加えて、個々のスコアおよび全体的なスコアを、新しいサービスプロバイダによって、類似する性能レベルを提供するためにそのリソースを正しく割り振るのに使用することができる。
【００１５】
図１に、本明細書で説明される少なくともいくつかの実施形態に従って配置された、クラウドコンピューティング環境の間の転送時のアプリケーション性能の維持を実施できる、例のシステムを示す。
【００１６】
図で１００と示されているように、サービスプロバイダ１０２（クラウド１）は、個々の顧客もしくは企業顧客１０８および１０９のためにさまざまなアプリケーション、データストレージ、データ処理、または匹敵するサービスなどのサービスをホスティングすることができる。サービスプロバイダ１０２は、サービスを提供する１つまたは複数のデータセンタを含むことができ、１つもしくは複数のサーバ１０４および／またはファイヤウォール、ルータ、その他などの１つもしくは複数の特殊目的デバイス１０６を使用することができる。顧客にサービスを提供するために、サービスプロバイダ１０２は、複数のサーバ、特殊目的デバイス、物理データストアまたは仮想データストアなどを使用することができる。したがって、顧客のためにサービスプロバイダ１０２によってホスティングされるアプリケーションまたはサービスプロバイダ１０２によって格納されるデータは、ハードウェアコンポーネントおよびソフトウェアコンポーネントの複雑なアーキテクチャを伴う可能性がある。顧客（ホスティングされるアプリケーションまたはデータの所有者）に提供されるサービスレベルを、サービスプロバイダ１０２によって特定の形で実施され得るサーバ処理、メモリ、およびネットワーキングなどの複数のサービスパラメータに基づいて決定することができる。
【００１７】
クラウドベースのサービスプロバイダは、異なるアーキテクチャを有する可能性があり、類似するサービスであるが別個のパラメータを有するサービスを提供する場合がある。たとえば、データストレージ容量、処理能力、サーバ待ち時間、および類似する態様は、クラウドごとに異なる可能性がある。さらに、サービスパラメータは、提供されるサービスに依存して変化する可能性がある。クラウドを比較することの重荷を減らし、移行されるアプリケーションに異なるサービスプロバイダによって類似するレベルの性能を提供できることを保証するために、いくつかの例の実施形態による重み付きスコアベースのシステムを使用することができる。
【００１８】
図中の１００では、移行プロセスにおいて、サービスプロバイダ１０２（クラウド１）をソースクラウドとすることができ、サービスプロバイダ１１２（クラウド２）をターゲットクラウドとすることができる。サービスプロバイダ１０２に似て、サービスプロバイダ１１２も、サービスを提供するために１つまたは複数のサーバ１１４および１つまたは複数の特殊目的デバイス１１６を使用することができる。性能レベル判定およびスコアリングを、サービスプロバイダ１０２のサーバ１０４のうちの１つ、サービスプロバイダ１１２のサーバ１１４のうちの１つ、または別のクラウド１１０の１つまたは複数のサーバ１１８上で実行されるサードパーティサービスによって管理し、実行することができる。
【００１９】
図２に、本明細書で説明される少なくともいくつかの実施形態に従って配置された、クラウドコンピューティング環境の間の転送時にアプリケーション性能を維持する一例を示す。
【００２０】
前に議論したように、サーバ処理、メモリ、およびネットワーキングなどのサービスパラメータは、異なるサービスプロバイダによってさまざまな形で実施される可能性がある。いくつかの例の実施形態によれば、クラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）メトリックは、クラウドコンピューティング構成状態と、顧客アプリケーションが必要とするまたは顧客アプリケーションに適切なサービスレベルおよびコンピューティング性能を提供する能力とを示す定量的な値を提供することができる。ＣＣＡＳメトリックは、類似するサービスレベルおよびアプリケーション性能を提供できる、異なるクラウドコンピューティング環境の比較を可能にすることができる。さらに、ＣＣＡＳは、任意のクラウドコンピューティング環境構成を任意の他のオプションの構成と比較することを可能にするスコアリングスケールを提供することができる。したがって、スコアリングスケールを、クラウドコンピューティング環境の間で移行すべきか否かの判断およびターゲットサービスプロバイダが類似する性能レベルを保証するためにシステムリソースをどのように割り振るべきかの判断を行うことを可能にするツールとして使用することができる。この判断は、事前定義のルールに基づいて自動的または顧客によって手動で行うことができる。
【００２１】
図２に示されているように、図２００は、いくつかの例の実施形態による移行援助システムの１つの例の実施態様を示す。１つまたは複数の顧客アプリケーション２２６を、１つまたは複数のサーバ２２０によって管理されるソースクラウドコンピューティング環境２２２でホスティングすることができる。クラウドコンピューティング環境２２２は、使用可能な処理能力、実際の処理能力、異なるデータストレージオプションの組合せ（ローカル、リモート、高速アクセス、分散など）、および／またはネットワーク能力（帯域幅、待ち時間、アップタイム保証など）に基づいて、顧客アプリケーション２２６に性能レベルを提供することができる。
【００２２】
移行モジュール、クラウドコンピューティング管理アプリケーション、または類似するシステムの一部として提供されるＣＣＡＳツール２３８は、ソースクラウドコンピューティング環境２２２の個々のメトリックを識別し、メトリックの個々のスコアを計算し、個々のスコアの重み付きの組合せに基づいて全体的なスコア（ＣＣＡＳ）を判定することができる。ソースクラウドコンピューティング環境２２２のＣＣＡＳを、１つまたは複数のサーバ２３０によって管理されるターゲットクラウドコンピューティング環境２３２での期待される性能レベルのベンチマークとして使用することができる。
【００２３】
ターゲットクラウドコンピューティング環境２３２のＣＣＡＳを、ターゲットクラウドコンピューティング環境によって提供される仕様またはターゲットクラウドコンピューティング環境上で動作する実際のシミュレーションに基づいて計算することができる。同一のＣＣＡＳを達成するために、ターゲットシステム内で複数のオプションを有することが可能である場合がある。シミュレーションを動作させる場合には、包括的なテストケースを使用することができ、あるいは、より正確な比較のために、アプリケーション２２６の実際の動作条件をエミュレートする特定のシナリオを使用して（アプリケーション２３６）、ターゲットクラウドコンピューティング環境２３２での性能レベルを判定することができる。
【００２４】
したがって、クラウドコンピューティングサービスの間での転送時のアプリケーション性能の維持は、次の２つのステージから開始することができる：起点サービスプロバイダでの性能レベルに基づく起点ＣＣＡＳの計算（１）およびターゲットサービスプロバイダでの（シミュレートされたまたは期待される）性能レベルに基づくターゲットＣＣＡＳオプションの計算。ＣＣＡＳツール２３８は、起点ＣＣＡＳおよびターゲットＣＣＡＳを比較し、ターゲットスコアがソーススコアと一致しまたはこれを超えるかどうかを判定することができる（この判定に基づいて、移行を自動的に開始することができる）。いくつかの例の実施形態では、顧客が移行に関する判断を行えるように、結果は、サードパーティエンティティ（たとえば、サーバ２２８上で実行される移行サービス）によって顧客に提供される。
【００２５】
他の例の実施形態では、ソースＣＣＡＳと一致するかこれを超える１つまたは複数の構成が識別されるまで、ターゲットＣＣＡＳの個々のスコアの重み付けを調整することができる。さらに他の例の実施形態では、ソースクラウドコンピューティング環境２２２およびターゲットクラウドコンピューティング環境２３２は、あるサービスプロバイダの異なるサイトとすることができ、そのサービスプロバイダが、ＣＣＡＳツール２３８を動作させて、ターゲットサイトへの顧客アプリケーションの移行が性能レベルに対して悪影響を有するかどうかを判定することができる。
【００２６】
図３に、本明細書で説明される少なくともいくつかの実施形態に従って配置された、クラウドコンピューティング環境の間の転送時のアプリケーション性能を維持するもう１つの例を示す。
【００２７】
アプリケーション性能を維持するシステムの異なる構成が、図３００に示されている。１つまたは複数のサーバ３２０によって管理されるソースクラウドコンピューティング環境３２２は、アプリケーション３２６をホスティングすることができる。図２で２００と示されたシナリオとは異なって、ターゲットクラウドコンピューティング環境３３２のサーバ３３０は、ＣＣＡＳツール３３８を動作させ、ソースクラウドコンピューティング環境３２２から性能レベル情報を受信することができる。ＣＣＡＳツール３３８は、それ自体のクラウド（ターゲットクラウドコンピューティング環境３３２）から性能レベル情報（ＣＣＡＳ値）を受け取り、ソースクラウドコンピューティング環境３２２での性能レベルと一致しまたはこれを超えることができるかどうかを判定することができる。
【００２８】
代替案では、ＣＣＡＳツール３３８は、少なくとも同一レベルの性能を提供できるように、重み付け値を調整し、そのアプリケーション３３６が移行されつつある顧客に提供できるコンピューティングリソース割振りの１つまたは複数の組合せを判定することができる。
【００２９】
図４に、本明細書で説明される少なくともいくつかの実施形態に従って配置された、ソースクラウドコンピューティング環境およびターゲットクラウドコンピューティング環境ならびにＣＣＡＳ環境に基づいて判定される移行に関する１つまたは複数のオプションについてＣＣＡＳをどうのように計算できるのかを概念的に示す。
【００３０】
図中の４００に示されているように、移行ツール、性能管理ツール、または類似するエンティティは、処理能力４４２、メモリ４４４、およびネットワーキング４４６のスコアをソースクラウド４４０から受け取り、重み付きの形で組み合わせ（４４８）、ソースＣＣＡＳ  ４６２をもたらすことができる。移行経路の反対側では、処理能力４５２、メモリ４５４、およびネットワーキング４５６のスコアを、ターゲットクラウド４５０から受け取り、重み付きの形で組み合わせ（４５８）、ターゲットＣＣＡＳ  ４６０をもたらすことができる。ソースＣＣＡＳ  ４６２およびターゲットＣＣＡＳ  ４６０を比較して（４６４）、ターゲットクラウド４５０での性能レベルをソースクラウド４４０の性能レベルと一致させることができるかどうかを判定することができる。同一のまたは類似する性能レベルを、異なるリソース割振りを使用して提供することができるので、複数のオプション４６６を、比較結果から判定し、顧客に提供することができる。ソースクラウド性能レベルとの一致のためにリソース割振りを調整できるように、オプション４６６をターゲットクラウド４５０にフィードバックすることもできる。
【００３１】
性能レベルおよび、それに関するＣＣＡＳを、クラウドサーバコンピューティング要素すなわち処理能力、メモリストレージ効率、およびネットワーキングによって判定することができる。処理能力パラメータは、割り振られるプロセッサのタイプ（コンピューティングシステム内に複数のタイプの処理コアがある場合がある）ならびにクラウドコンピューティング環境サーバによって特定のタスク（１つまたは複数）および／またはアプリケーション（１つまたは複数）に割り振られる時間に依存する可能性がある。メモリストレージ効率パラメータは、処理時間に対する異なるタイプのメモリ要素の影響に焦点を合わせることができる。たとえば、クラウドコンピューティング環境内のデータストレージは、メインメモリ（ＤＲＡＭのうちでアプリケーションを実行している間にプロセッサによって使用される部分）、フラッシュメモリ（使用可能なストレージの一部とすることができる高速の使用可能なメモリ）、ローカルストレージ（アプリケーションを走行させるコンピュータにローカルに接続された相対的に大きいメモリ／ディスクボリューム、動作クセシビリティはネットワーキング性能に依存しない）、およびネットワークメモリ（任意のクラウドサーバに配置された事実上無制限の量のメモリ／ディスク、アクセシビリティはネットワーキング性能に直接に依存する）を含むことができる。ネットワーキングパラメータは、クラウドコンピューティング環境の処理手段とメモリストレージに格納されたデータとの間の接続と定義することができる。ネットワーキングパラメータは、応答時間に関するクラウドコンピューティング性能に関するものとすることができる。
【００３２】
全体的なメトリックＣＣＡＳを、各クラウドコンピューティング要素（それに関してこの項が定義されなかった要素）のスコアリングスケールを提供することと、各クラウドコンピューティング要素にアプリケーション性能に対する影響に従って重み付け係数を割り当てることとに基づいて定義することができる。処理能力パラメータＰＲを、アプリケーションによって使用される実際の処理能力（ＡＰＰ）と定義することができ、このＡＰＰは、使用可能な処理能力（ＰＰ）の分数であり、システムの処理能力によって乗算される。このパラメータを、使用量％および利用されるＰＰによって、次式として定義することができる。
［１］    ＰＲ＝ΣＡＰＰｉ／ＰＰｉ［％］＊ＰＰｉ
ここで、ｉは、特定のタイムスロットを指す。
【００３３】
起点クラウドコンピューティング環境のサーバは、使用される処理のタイプ（サーバだけではなく、システムがヘテロジニアスアーキテクチャを有する場合があるので、プロセスが動作しつつある実際のＣＰＵ）、スケジューラ優先順位、および何個のタスクが同時に動作しつつあるのかを報告することができる。これを使用して、処理能力（ＰＰ）を計算することができる。平均値と最大値との両方を計算できるように、レポートを２〜３秒おきに生成することができる。
【００３４】
異なるＣＰＵが、異なるタイムスロットｉに利用される場合がある。ＰＰを、ＭＩＰＳ（百万命令毎秒）単位または事前定義のベンチマークレポートで測定することができる。ヘテロジニアスマルチコアアーキテクチャでは、異なるタイプのコアおよび特定のアクセラレーションハードウェアがある場合もある。アクセラレーションハードウェアが使用される場合には、その同等のＭＩＰＳを報告することができる。上記のパラメータを、オペレーティングシステムによってＣＣＡＳツールに報告することができる。
【００３５】
他の例の実施形態では、スコアリングパラメータＰＲを、既存の処理リソースがベンチマークタスクについて既知とすることができる標準時間までベンチマークタスクを実行するのに要する時間を測定することによって判定することができる。このオプションについて、ＰＰを、標準時間と定義することができ、ＡＰＰを、既存のクラウドコンピューティング環境処理リソースによってタスクを実行するのに費やされた実際の時間と定義することができる。
【００３６】
メモリストレージパラメータ（ＭＲ）を、各メモリタイプのパラメータのリストとして定義することができる。各パラメータを、すべてのメモリタイプに関する割り振られたメモリの総量（ＴＭ）からの特定のタイプのメモリ（たとえば、メインメモリ（ＭＭ）、フラッシュメモリ（ＦＭ）、ローカルメモリ（ＬＭ）、およびネットワークメモリ（ＮＭ））のパーセンテージ量と定義することができる。
［２］  ＴＭ＝Σ（ＭＭ，ＦＭ，ＬＭ，ＮＭ）
【００３７】
メモリパラメータは、メモリ割振り分布を提供することができる。しかし、所望のメモリ分布は、異なるアプリケーションについて異なる可能性がある。たとえば、大きいサイズのデータベースを管理するアプリケーションは、大きいローカルメモリを活用する可能性があるが、最適配送ルートを提供するアプリケーションは、より大きいメインメモリを好む可能性がある。このパラメータが、実際のメモリ分布がアプリケーションにとってより有益である可能性があるメモリ分布とどのように整列されるのかを表すことを可能にするために、追加の計算を実行することができる。メモリ分布平均値を計算することができ、ここで、各タイプのメモリは、その重み付け値（Ｍｗ（ａ））を有する。各メモリタイプの重み付け値は、アプリケーションに従って事前に決定することができる。たとえば、より高速のメモリは、より大きい重みを有することができる。
【００３８】
【数１】
0006019139.tif 000002
【００３９】
ネットワーキング性能を、内部ネットワーキング構成および外部ネットワーキング構成に分割することができる。内部ネットワーキングは、クラウドコンピューティングサービスプロバイダの物理インフラストラクチャおよび仮想インフラストラクチャ内のコンピューティング要素のネットワーキングに関するものとすることができる。外部ネットワーキングは、クラウドコンピューティングサービスプロバイダの物理インフラストラクチャに顧客（１つまたは複数）を接続するネットワーキング物理インフラストラクチャに関するものとすることができる。
【００４０】
内部ネットワーキングパラメータ（ＩＮＲ）を、実際の平均ネットワーク帯域幅（ＡＮＢＷ）とクラウドコンピューティングサービスプロバイダによって特定のサービスに割り振られる最大帯域幅とのパーセンテージ単位の比と定義することができる。
【００４１】
【数２】
0006019139.tif 000003
【００４２】
外部ネットワーキングパラメータ（ＥＮＲ）を、実際の平均ネットワーク応答時間（ＡＲＴ）と同一のアプリケーションについて期待される標準応答時間（ＲＴＳ（ａ））とのパーセンテージ単位の比と定義することができる。
【００４３】
【数３】
0006019139.tif 000004
【００４４】
いくつかの例の実施形態では、重み付けレベル（Ｎｗｉ）および（Ｎｗｅ）を、特定のアプリケーションに従って、それぞれ内部ネットワーキング能力および外部ネットワーキング能力について提供することができる。ネットワーキングパラメータ値を、それぞれの値の加重平均として計算することができる。
【００４５】
【数４】
0006019139.tif 000005
【００４６】
全体的なスコアＣＣＡＳを、式［１］から［６］までで説明されたパラメータの平均値として計算することができる。
［７］    ＣＣＡＳ［％］＝Ａｖｅｒａｇｅ（ＰＲ，ＭＲ，ＮＲ）
【００４７】
いくつかの例の実施形態では、追加のパラメータ（ＬＲ）を使用して、クラウドコンピューティング環境の信頼性スコアを表すことができる。ＬＲは、特定のアプリケーションに依存しない可能性があるが、他のパラメータは依存する。
【００４８】
前に議論したように、各パラメータの関連性は、異なるアプリケーションについて異なる可能性がある。たとえば、大きいサイズのデータベースを管理するアプリケーションは、おそらくは、メモリ性能パラメータを他のパラメータより重要と考える可能性があるが、多数のクライアントが同時に動作することを可能にするアプリケーションは、最も重要なパラメータとしてネットワーキング性能を好む可能性がある。
【００４９】
特定のクライアント要件への準拠をパラメータ内で反映するために、ＣＣＡＳを、各パラメータの重み付きの値（Ｒｗ（ａ））を考慮に入れて計算することができる、上にリストした平均値を使用して計算することができる。各パラメータタイプの重み付け値は、アプリケーションに従って事前に決定することができる。
【００５０】
【数５】
0006019139.tif 000006
【００５１】
性能レベルの判定および比較で処理能力パラメータ、データストレージ（メモリ）パラメータ、およびネットワーキングパラメータを使用する例の実施形態が説明されるが、実施形態は、これに限定されない。例の実施態様はまた、サーバ待ち時間、ストレージ限度またはクォータ、スケーラビリティ要因、バックアップ保証、アップタイム保証、リソース使用量報告、自動並列化、および類似物を使用して、本明細書で説明される原理を使用してクラウドコンピューティングアプリカビリティスコアを判定することもできる。
【００５２】
図５に、クラウドコンピューティング環境の間で転送される時のアプリケーション性能の維持の例に使用できる汎用コンピューティングデバイス５００を示す。たとえば、コンピューティングデバイス５００を、図１のサーバ１０４、１１４、または１１８として使用することができる。例の基本的な構成５０２では、コンピューティングデバイス５００は、通常、１つまたは複数のプロセッサ５０４およびシステムメモリ５０６を含むことができる。メモリバス５０８を、プロセッサ５０４とシステムメモリ５０６との間の通信に使用することができる。基本的な構成５０２は、図５では、内側の破線内のコンポーネントによって示される。
【００５３】
所望の構成に応じて、プロセッサ５０４を、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはその任意の組合せを含むがこれらに限定されない任意のタイプとすることができる。プロセッサ５０４は、（レベル）キャッシュメモリ５１２などの一つ又は複数のレベルのキャッシング、プロセッサコア５１４、およびレジスタ５１６を含むことができる。例のプロセッサコア５１４は、算術論理ユニット（ＡＬＵ）、浮動点少数ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはその任意の組合せを含むことができる。例のメモリコントローラ５１８を、プロセッサ５０４と共に使用することもでき、あるいは、いくつかの実施態様では、メモリコントローラ５１８を、プロセッサ５０４の内部部分とすることができる。
【００５４】
所望の構成に応じて、システムメモリ５０６を、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリ、その他など）、またはその任意の組合せを含むがこれに限定されない任意のタイプのメモリとすることができる。システムメモリ５０６は、通常、オペレーティングシステム５２０、１つまたは複数のアプリケーション５２２、およびプログラムデータ５２４を含む。アプリケーション５２２は、移行モジュール５２６を含むクラウド管理アプリケーションを含むことができ、この移行モジュール５２６は、本明細書で説明されるソースクラウドおよびターゲットクラウドでの移行されるアプリケーションのために、個々の性能レベルの重み付きスコアならびに全体的なスコアを判定することができる。プログラムデータ５２４は、他のデータの中でも、本明細書で説明される性能データ５２８または類似物を含むことができる。
【００５５】
コンピューティングデバイス５００は、追加の特徴または機能性ならびに基本的な構成５０２と任意の所望の装置およびインターフェースとの間の通信を容易にするための追加のインターフェースを有することができる。たとえば、バス／インターフェースコントローラ５３０を使用して、基本的な構成５０２と１つまたは複数のデータストレージ装置５３２との間のストレージインターフェースバス５３４を介する通信を容易にすることができる。データストレージ装置５３２は、１つまたは複数の取外し式ストレージ装置５３６、１つまたは複数の非取外し式ストレージ装置５３８、またはその組合せとすることができる。取外し式ストレージ装置および非取外し式ストレージ装置の例は、２〜３例を挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスク装置、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブを含む。例のコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のための任意の方法または技術で実施される、揮発性および不揮発性の、取外し式および非取外し式の媒体を含むことができる。
【００５６】
システムメモリ５０６、取外し式ストレージ装置５３６、および非取外し式ストレージ装置５３８は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、ソリッドステートドライブ、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージ装置、あるいは所望の情報を格納するのに使用でき、コンピューティングデバイス５００によってアクセスできる任意の他の媒体を含むが、これに限定はされない。そのようなすべてのコンピュータ記憶媒体を、コンピューティングデバイス５００の一部とすることができる。
【００５７】
コンピューティングデバイス５００は、さまざまなインターフェース装置（たとえば、１つまたは複数の出力デバイス５４２、１つまたは複数の周辺インターフェース５４４、および１つまたは複数の通信デバイス５６６）から基本的な構成５０２へのバス／インターフェースコントローラ５３０を介する通信を容易にするインターフェースバス５４０を含むこともできる。例の出力デバイス５４２の一部は、１つまたは複数のＡ／Ｖポート５５２を介してディスプレイまたはスピーカなどのさまざまな外部装置へ通信するように構成できる、グラフィックス処理ユニット５４８およびオーディオ処理ユニット５５０を含む。１つまたは複数の例の周辺インターフェース５４４は、１つまたは複数のＩ／Ｏポート５５８を介して入力装置（たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など）または他の周辺装置（たとえば、プリンタ、スキャナなど）などの外部装置と通信するように構成できる、シリアルインターフェースコントローラ５５４またはパラレルインターフェースコントローラ５５６を含むことができる。例の通信デバイス５６６は、１つまたは複数の通信ポート５６４を介するネットワーク通信リンク上での１つまたは複数の他のコンピューティングデバイス５６２との通信を容易にするように配置できる、ネットワークコントローラ５６０を含む。１つまたは複数の他のコンピューティングデバイス５６２は、データセンタのサーバ、顧客機器、または匹敵するデバイスを含むことができる。
【００５８】
ネットワーク通信リンクは、通信媒体の１つの例とすることができる。通信媒体を、通常、搬送波または他のトランスポート機構などの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって具現化することができ、通信媒体は、任意の情報配信媒体を含むことができる。「変調されたデータ信号」は、信号内で情報を符号化する形でその特性のうちの１つまたは複数を設定されまたは変更された信号とすることができる。限定ではなく例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体と、音響、ラジオ周波数（ＲＦ）、マイクロ波、赤外線（ＩＲ）、および他の無線媒体などの無線媒体とを含むことができる。本明細書で使用される時に、用語コンピュータ可読媒体は、記憶媒体と通信媒体との両方を含むことができる。
【００５９】
コンピューティングデバイス５００を、汎用サーバ、特殊化されたサーバ、メインフレーム、または上記機能のいずれかを含む類似するコンピュータの一部として実施することができる。コンピューティングデバイス５００を、ラップトップコンピュータ構成と非ラップトップコンピュータ構成との両方を含むパーソナルコンピュータとして実施することもできる。
【００６０】
例の実施形態は、クラウドサーバの間での転送時にアプリケーション性能を維持する方法をも含むことができる。これらの方法を、本明細書で説明される構造を含む任意の個数の形で実施することができる。１つのそのような形は、本開示で説明されるタイプのデバイスの機械動作によるものとすることができる。もう１つのオプションの形は、方法の個々の動作のうちの１つまたは複数が、動作のいくつかを実行する１つまたは複数の人間のオペレータに関連して実行されることとすることができ、他の動作は、機械によって実行され得る。これらの人間のオペレータは、お互いと同一の位置に配置される必要はないが、それぞれは、プログラムの一部を実行する機械だけを有するものとすることができる。他の例では、人間の対話を、機械自動化できる事前に選択された判断基準によるなど、自動化することができる。
【００６１】
図６は、本明細書で説明される少なくともいくつかの実施形態に従って配置された、図５のデバイス５００などのコンピューティングデバイスによって実行できる例の方法を示す流れ図である。例の方法は、ブロック６２２、６２４、６２６、６２８、および／または６３０のうちの１つまたは複数によって示されるように、１つまたは複数の動作、機能、またはアクションを含むことができる。ブロック６２２から６３０で説明される動作を、コンピューティングデバイス６１０のコンピュータ可読媒体６２０などのコンピュータ可読媒体内にコンピュータ実行可能命令として格納することもできる。
【００６２】
クラウドサーバの間の転送時にアプリケーション性能を維持する例のプロセスは、ブロック６２２「個々のパラメータに基づいて現在のＣＣＡＳを計算する」から開始することができ、ここで、ソースクラウドサーバ（たとえば、図１のサーバ１０４）、ターゲットクラウドサーバ（たとえば、図１のサーバ１１４）、またはサードパーティサーバ（たとえば、図１のサーバ１１８）上で実行される移行モジュールまたはアプリケーション（たとえば、図５の移行モジュール５２６）は、ソースクラウドベースのサービスプロバイダでのアプリケーションのクラウドコンピューティングアプリカビリティスコアを計算することができる。スコアは、まず、処理能力、ストレージ容量（またはメモリ）、およびネットワーク容量（たとえば、帯域幅）などの性能パラメータを識別することと、これらのパラメータの個々のスコアを判定することと、システム性能に対する影響に基づいて個々のパラメータに重み付け値を割り当てることと、重み付けされたスコアをソースサービスプロバイダに関する全体的なスコアに組み合わせることとによって判定され得る。
【００６３】
ブロック６２２に、ブロック６２４「ターゲットＣＣ環境（１つまたは複数）のＣＣＡＳ（１つまたは複数）を計算する」が続くことができ、ここで、移行モジュール５２６は、ブロック６２２で実行された計算に似て、１つまたは複数のターゲットサービスプロバイダの個々のスコアおよび全体的なスコアを判定することができる。ブロック６２４に、オプションのブロック６２６「ＣＣＡＳ計算の重み付け値を調整する」が続くことができ、ここで、本明細書で議論されるように、ソースサービスプロバイダでの現在の性能レベルと一致するかこれを超えるために、重み付け値を、ターゲットサービスプロバイダのうちの１つまたは複数の全体スコア計算で調整することができる。
【００６４】
オプションのブロック６２６に、ブロック６２８「ＣＣＡＳ計算結果に基づいてターゲットＣＣ環境を判定する」が続くことができ、ここで、移行モジュール５２６は、アプリケーションを移行する先の１つまたは複数の適切なターゲットサービスプロバイダを判定し、顧客が、複数のターゲットサービスプロバイダまたはサービスパッケージの中で選択することを可能にすることができる。他の実施形態では、このプロセスを使用して、単一のターゲットサービスプロバイダでのサービスパラメータの最適混合物を判定するか、あるサービスプロバイダ内のサイト間転送について性能レベル一致を検証することができる。ブロック６２８に、オプションのブロック６３０「移行を実行する」が続くことができ、ここで、本明細書で議論するように、ＣＣＡＳ（１つまたは複数）を使用して行われた判定に基づいて、ターゲットサービスプロバイダまたはサイトへの移行を実行することができる。
【００６５】
上で説明されたプロセスに含まれるブロックは、例示のためのものである。クラウドサーバ間の転送時のアプリケーション性能の維持を、より少数のブロックまたは追加のブロックを有する類似するプロセスによって実施することができる。いくつかの例では、ブロックを、異なる順序で実行することができる。いくつかの他の例では、さまざまなブロックを除去することができる。さらなる他の例では、さまざまなブロックを追加のブロックに分割し、または一緒により少数のブロックに組み合わせることができる。
【００６６】
図７に、本明細書で説明される少なくともいくつかの実施形態に従って配置された、例のコンピュータプログラム製品のブロック図を示す。
【００６７】
いくつかの例では、図７に示されているように、コンピュータプログラム製品７００は、たとえばプロセッサによって実行された時に、本明細書で説明される機能性を提供することができる１つまたは複数の機械可読命令７０４を含むこともできる信号担持媒体７０２を含むことができる。したがって、たとえば、図５のプロセッサ５０４を参照すると、移行モジュール５２６は、本明細書で説明されるように、クラウドサーバ間の転送時のアプリケーション性能の維持に関連するアクションを実行するために媒体７０２によってプロセッサ５０４に伝えられる命令７０４に応答して、図７に示されたタスクのうちの１つまたは複数に着手することができる。これらの命令のうちのいくつかは、たとえば、本明細書で説明される実施形態に従って、個々のパラメータに基づいて現在のＣＣＡＳを計算する命令、ターゲットクラウドコンピューティング環境（１つまたは複数）のＣＣＡＳ（１つまたは複数）を計算する命令、ＣＣＡＳ計算の重み付け値を調整する命令、およびＣＣＡＳ比較結果に基づいてターゲットクラウドコンピューティング環境を判定する命令を含むことができる。
【００６８】
いくつかの実施態様では、図７に示された信号担持媒体７０２は、ハードディスクドライブ、ソリッドステートドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、メモリ、その他などであるがこれに限定されないコンピュータ可読媒体７０６を包含することができる。いくつかの実施態様では、信号担持媒体７０２は、メモリ、読み書き可能（Ｒ／Ｗ）ＣＤ、Ｒ／Ｗ  ＤＶＤその他などであるがこれに限定されない記録可能媒体７０８を包含することができる。いくつかの実施態様では、信号担持媒体７０２は、デジタルおよび／またはアナログの通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）などであるがこれに限定されない通信媒体７１０を包含することができる。したがって、たとえば、プログラム製品７００を、ＲＦ信号担持媒体によってプロセッサ５０４の１つまたは複数のモジュールに伝えることができ、ここで、信号担持媒体７０２は、無線通信媒体７１０（たとえば、ＩＥＥＥ  ８０２．１１標準規格に準拠する無線通信媒体）によって伝えられる。
【００６９】
いくつかの例によれば、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持する方法は、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせることと、ソースＣＣＡＳに基づいて顧客アプリケーションのターゲットクラウドコンピューティング環境を適合させることとを含むことができる。
【００７０】
他の実施形態によれば、性能メトリックは、処理能力メトリック、メモリメトリック、およびネットワーキングメトリックを含むことができ、方法は、使用可能な処理能力の分数としての顧客アプリケーションによって消費される実際の処理能力に基づいて処理能力メトリックを計算することをさらに含むことができる。処理能力メトリックは、処理のタイプ、スケジューラ優先順位、および同時に実行されるタスクの個数のうちの１つまたは複数にさらに基づくものとすることができる。処理能力メトリックは、事前定義の期間にわたって平均をとられるものとすることができる。方法は、顧客アプリケーションのために割り振られるメモリタイプの重み付き組合せに基づいてメモリメトリックを計算することであって、メモリタイプは、メインメモリ、フラッシュメモリ、ローカルメモリ、およびネットワークメモリのうちの１つまたは複数を含む、計算することをも含むことができる。
【００７１】
さらなる例によれば、割り振られるメモリタイプは、事前定義の期間にわたって平均をとられるソースクラウドコンピューティング環境での実際の割振りを表すことができる。より高速のメモリタイプは、より低速のメモリタイプに対して相対的により大きい重み付け値を割り当てられるものとすることができる。ネットワーキングメトリックは、ソースクラウドコンピューティング環境内の、消費されるネットワーク帯域幅と割り振られるネットワーク帯域幅との比に基づく内部ネットワーキングメトリックと、ソースクラウドコンピューティング環境のサービスプロバイダと顧客との間の通信の、実際のネットワーク応答時間と標準的な期待されるネットワーク応答時間との比に基づく外部ネットワーキングパラメータとを含むことができる。内部ネットワーキングメトリックおよび外部ネットワーキングメトリックは、重み付けされた形で組み合わされ、事前定義の期間にわたって平均をとられるものとすることができる。
【００７２】
さらなる他の例によれば、ターゲットクラウドコンピューティング環境を選択することは、ターゲットクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ターゲットクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをターゲットＣＣＡＳに組み合わせることと、ソースＣＣＡＳとターゲットＣＣＡＳとを比較することとを含むことができる。ターゲットクラウドコンピューティング環境内の性能メトリックは、シミュレーションに基づいて判定されるものとすることができ、ソースクラウドコンピューティング環境およびターゲットクラウドコンピューティング環境内の性能パラメータは、各環境に関連する信頼性要因を表す信頼性パラメータをさらに含むことができる。
【００７３】
さらなる例によれば、ターゲットクラウドコンピューティング環境内の性能メトリックは、ターゲットクラウドコンピューティング環境での顧客の所望の性能に基づいて重みを付けられるものとすることができる。方法は、ターゲットクラウドコンピューティング環境での性能を検証するために、ターゲットクラウドコンピューティング環境への顧客アプリケーションの移行に続いてターゲットＣＣＡＳを計算することをも含むことができる。方法は、複数のターゲットクラウドコンピューティング環境のターゲットＣＣＡＳを計算することと、顧客に複数の候補クラウドコンピューティング環境オファーを提供することと、別個の重み付け要因に基づいて複数のターゲットクラウドコンピューティング環境構成のターゲットＣＣＡＳを計算することと、顧客に複数のターゲットクラウドコンピューティング環境パッケージオファーを提供することとをさらに含むことができる。性能メトリックは、複数の顧客アプリケーションについて判定されるものとすることができ、重み付けは、個々の顧客アプリケーションに基づいて判定されるものとすることができる。方法は、性能パラメータを正規化することを含むことができ、性能パラメータは、パーセンテージとして正規化される。
【００７４】
他の例によれば、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持するコンピューティングデバイスは、命令を格納するように構成されたメモリと、命令に関連して移行モジュールを実行するように構成された処理ユニットとを含むことができる。移行モジュールは、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する複数の性能メトリックを判定し、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算し、重み付きの形で複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせ、ソースＣＣＡＳに基づいて顧客アプリケーションのターゲットクラウドコンピューティング環境を適合させることができる。
【００７５】
いくつかの例によれば、性能メトリックは、処理能力メトリック、メモリメトリック、およびネットワーキングメトリックを含むことができる。移行モジュールは、使用可能な処理能力の分数としての顧客アプリケーションによって消費される実際の処理能力に基づいて処理能力メトリックを計算することもできる。処理能力メトリックは、処理のタイプ、スケジューラ優先順位、および同時に実行されるタスクの個数のうちの１つまたは複数にさらに基づくものとすることができる。処理能力メトリックは、事前定義の期間にわたって平均をとられるものとすることができる。移行モジュールは、さらに、顧客アプリケーションのために割り振られるメモリタイプの重み付き組合せに基づいてメモリメトリックを計算することができ、メモリタイプは、メインメモリ、フラッシュメモリ、ローカルメモリ、およびネットワークメモリのうちの１つまたは複数を含む。割り振られるメモリタイプは、事前定義の期間にわたって平均をとられるソースクラウドコンピューティング環境での実際の割振りを表すことができ、より高速のメモリタイプは、より低速のメモリタイプに対して相対的により大きい重み付け値を割り当てられるものとすることができる。
【００７６】
さらなる例によれば、ネットワーキングメトリックは、ソースクラウドコンピューティング環境内の、消費されるネットワーク帯域幅と割り振られるネットワーク帯域幅との比に基づく内部ネットワーキングメトリックと、ソースクラウドコンピューティング環境のサービスプロバイダと顧客との間の通信の、実際のネットワーク応答時間と標準的な期待されるネットワーク応答時間との比に基づく外部ネットワーキングパラメータとを含むことができる。内部ネットワーキングメトリックおよび外部ネットワーキングメトリックは、重み付けされた形で組み合わされ、事前定義の期間にわたって平均をとられるものとすることができる。移行モジュールは、ターゲットクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ターゲットクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをターゲットＣＣＡＳに組み合わせることと、ソースＣＣＡＳとターゲットＣＣＡＳとを比較することとによってターゲットクラウドコンピューティング環境を選択することができる。
【００７７】
さらに他の例によれば、ターゲットクラウドコンピューティング環境内の性能メトリックは、シミュレーションに基づいて判定されるものとすることができる。ソースクラウドコンピューティング環境およびターゲットクラウドコンピューティング環境内の性能パラメータは、各環境に関連する信頼性要因を表す信頼性パラメータをさらに含むことができる。ターゲットクラウドコンピューティング環境内の性能メトリックは、ターゲットクラウドコンピューティング環境での顧客の所望の性能に基づいて重みを付けられるものとすることができる。移行モジュールは、ターゲットクラウドコンピューティング環境での性能を検証するために、ターゲットクラウドコンピューティング環境への顧客アプリケーションの移行に続いてターゲットＣＣＡＳを計算することもできる。
【００７８】
さらなる他の例によれば、移行モジュールは、複数のターゲットクラウドコンピューティング環境のターゲットＣＣＡＳを計算し、顧客に複数の候補クラウドコンピューティング環境オファーを提供することができる。移行モジュールは、さらに、別個の重み付け要因に基づいて複数のターゲットクラウドコンピューティング環境構成のターゲットＣＣＡＳを計算し、顧客に複数のターゲットクラウドコンピューティング環境パッケージオファーを提供することができる。性能メトリックは、複数の顧客アプリケーションについて判定されるものとすることができ、重み付けは、個々の顧客アプリケーションに基づいて判定されるものとすることができる。移行モジュールは、性能パラメータを正規化することもでき、性能パラメータは、パーセンテージとして正規化される。
【００７９】
さらなる例によれば、コンピュータ可読記憶媒体は、クラウドコンピューティング環境の間での転送時にアプリケーション性能を維持する命令をその上に格納されるものとすることができる。命令は、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ソースクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをソースクラウドコンピューティングアプリカビリティスコア（ＣＣＡＳ）に組み合わせることと、ソースＣＣＡＳに基づいて顧客アプリケーションのターゲットクラウドコンピューティング環境を適合させることとを含むことができる。
【００８０】
他の実施形態によれば、性能メトリックは、処理能力メトリック、メモリメトリック、およびネットワーキングメトリックを含むことができ、命令は、使用可能な処理能力の分数としての顧客アプリケーションによって消費される実際の処理能力に基づいて処理能力メトリックを計算することを含むことができる。処理能力メトリックは、処理のタイプ、スケジューラ優先順位、および同時に実行されるタスクの個数のうちの１つまたは複数にさらに基づくものとすることができる。処理能力メトリックは、事前定義の期間にわたって平均をとられるものとすることができる。命令は、顧客アプリケーションのために割り振られるメモリタイプの重み付き組合せに基づいてメモリメトリックを計算することであって、メモリタイプは、メインメモリ、フラッシュメモリ、ローカルメモリ、およびネットワークメモリのうちの１つまたは複数を含む、計算することをも含むことができる。
【００８１】
さらなる例によれば、割り振られるメモリタイプは、事前定義の期間にわたって平均をとられるソースクラウドコンピューティング環境での実際の割振りを表すことができる。より高速のメモリタイプは、より低速のメモリタイプに対して相対的により大きい重み付け値を割り当てられるものとすることができる。ネットワーキングメトリックは、ソースクラウドコンピューティング環境内の、消費されるネットワーク帯域幅と割り振られるネットワーク帯域幅との比に基づく内部ネットワーキングメトリックと、ソースクラウドコンピューティング環境のサービスプロバイダと顧客との間の通信の、実際のネットワーク応答時間と標準的な期待されるネットワーク応答時間との比に基づく外部ネットワーキングパラメータとを含むことができる。内部ネットワーキングメトリックおよび外部ネットワーキングメトリックは、重み付けされた形で組み合わされ、事前定義の期間にわたって平均をとられるものとすることができる。
【００８２】
さらなる他の例によれば、ターゲットクラウドコンピューティング環境を選択することは、ターゲットクラウドコンピューティング環境内の顧客アプリケーションに関連するのはどの複数の性能メトリックかを決定することと、ターゲットクラウドコンピューティング環境内の顧客アプリケーションに関連する性能メトリックに基づいて複数の性能パラメータを計算することと、重み付きの形で複数の性能パラメータをターゲットＣＣＡＳに組み合わせることと、ソースＣＣＡＳとターゲットＣＣＡＳとを比較することとを含むことができる。ターゲットクラウドコンピューティング環境内の性能メトリックは、シミュレーションに基づいて判定されるものとすることができ、ソースクラウドコンピューティング環境およびターゲットクラウドコンピューティング環境内の性能パラメータは、各環境に関連する信頼性要因を表す信頼性パラメータをさらに含むことができる。
【００８３】
さらなる例によれば、ターゲットクラウドコンピューティング環境内の性能メトリックは、ターゲットクラウドコンピューティング環境での顧客の所望の性能に基づいて重みを付けられるものとすることができる。命令は、ターゲットクラウドコンピューティング環境での性能を検証するために、ターゲットクラウドコンピューティング環境への顧客アプリケーションの移行に続いてターゲットＣＣＡＳを計算することをも含むことができる。命令は、複数のターゲットクラウドコンピューティング環境のターゲットＣＣＡＳを計算することと、顧客に複数の候補クラウドコンピューティング環境オファーを提供することと、別個の重み付け要因に基づいて複数のターゲットクラウドコンピューティング環境構成のターゲットＣＣＡＳを計算することと、顧客に複数のターゲットクラウドコンピューティング環境パッケージオファーを提供することとをさらに含むことができる。性能メトリックは、複数の顧客アプリケーションについて判定されるものとすることができ、重み付けは、個々の顧客アプリケーションに基づいて判定されるものとすることができる。命令は、性能パラメータを正規化することを含むことができ、性能パラメータは、パーセンテージとして正規化される。
【００８４】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（たとえば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組み合わせを選択することができる。
【００８５】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（たとえば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（たとえば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。
【００８６】
本開示は、さまざまな態様の例示であることを意図された、本願で説明される特定の実施形態に関して限定されてはならない。当業者に明白であるように、多数の修正形態および変形形態を、その趣旨および範囲から逸脱せずに作ることができる。本開示の範囲内の機能的に同等の方法および装置は、本明細書に列挙された方法および装置に加えて、前述の説明から当業者に明白であろう。そのような修正形態および変形形態は、添付の特許請求の範囲に含まれることが意図されている。本開示は、添付の特許請求の範囲が権利を与えられる同等物の全範囲と共に、添付の特許請求の範囲の用語によってのみ限定されなければならない。本開示が、特定の方法、試薬、化合物合成物、または生体系に限定されず、これらの方法、化合物、または合成物が、もちろん変化し得ることを理解されたい。本明細書で使用される用語法が、特定の実施形態を説明するのみのためのものであって、限定的であることを意図されていないことをも理解されたい。
【００８７】
さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、ソリッドステートドライブなどの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００８８】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（たとえば、ガントリーシステムの位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。
【００８９】
通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的に接続可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００９０】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００９１】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。
【００９２】
さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００９３】
加えて、本開示の特徴または態様が、Ｍａｒｋｕｓｈ  ｇｒｏｕｐに関して説明される場合に、当業者は、本開示が、これによってＭａｒｋｕｓｈ  ｇｒｏｕｐの任意の個々のメンバまたはメンバのサブグループに関しても説明されることを認めるであろう。
【００９４】
当業者によって理解されるように、書かれた説明を提供することに関してなど、すべてにおいて、本明細書で開示されるすべての範囲は、任意のすべての可能な部分範囲およびその部分範囲の組合せをも包含する。すべてのリストされた範囲を、少なくとも等しい半分、１／３、１／４、１／５、１／１０などに分割された同一の範囲を十分に記述し、可能にするものとしてたやすく認めることができる。非限定的な例として、本明細書で述べられる各範囲を、下側１／３、中央１／３、および上側１／３などにたやすく分解することができる。やはり当業者によって理解されるように、「ｕｐ  ｔｏ（まで）」、「ａｔ  ｌｅａｓｔ（少なくとも）」、「ｇｒｅａｔｅｒ  ｔｈａｎ（より大きい）」、「ｌｅｓｓ  ｔｈａｎ（より小さい）」、および類似物などのすべての言葉は、具陳された数を含み、その後に上で述べたように部分範囲に分割され得る範囲を指す。最後に、当業者によって理解されるように、範囲は、各個々のメンバを含む。したがって、たとえば、１〜３個の細胞を有する群は、１個、２個、または３個の細胞を有する群を指す。同様に、１〜５個の細胞を有する群は、１個、２個、３個、４個、または５個の細胞を有する群を指すなどである。
【００９５】
さまざまな態様および実施形態を本明細書で開示したが、他の態様および実施形態が、当業者に明白であろう。本明細書で開示されたさまざまな態様および実施形態は、例示のためのものであって、限定的であることは意図されておらず、真の範囲および趣旨は、次の特許請求の範囲によって示される。
【図１】
0006019139.tif 000007
【図２】
0006019139.tif 000008
【図３】
0006019139.tif 000009
【図４】
0006019139.tif 000010
【図５】
0006019139.tif 000011
【図６】
0006019139.tif 000012
【図７】
0006019139.tif 000013