(57)【要約】  一般には、１つまたは複数の多次元パラメータを有するパラメータ化動的モデル（ＰＤＭ）を使用してクラウドネットワークまたは非クラウドネットワークからデータおよびアプリケーションをクラウドネットワークに移動するマイグレーションシステムおよび方法のための技術を提供する。一部の例では、ＰＤＭパラメータは、移行先クラウドがクラウドマイグレーションの成功のために満たす必要があると考えられるサービスレベル合意（ＳＬＡ）要件を表すことができる。ＰＤＭは、ＰＤＭにおいてパラメータの順序付けパラメータとして定義されている順序付けに従ってクラウド環境においてＰＤＭパラメータに作用するＰＤＭを実行するように構成されたモデル実行コード（ＭＥＣ）を含むことができる。このＰＤＭ−ＭＥＣ方式のマイグレーションシステムは、ＭＥＣコードの実行中におけるマイグレーション時のフォールトトレランスおよびエラー回復も含むことができる。
2015502616.tif 000002
【特許請求の範囲】
【請求項１】
クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装する方法であって、
ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各ＰＤＭパラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、
前記ＰＤＭによって定義された順序に従って前記ＰＤＭを実行することによって前記クラウドマイグレーションを実行することとを含む方法。
【請求項２】
ＰＤＭパラメータの各次元において、前記ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つを定義することをさらに含む請求項１に記載の方法。
【請求項３】
前記ＰＤＭパラメータの前記順序は、少なくとも１つのフォートトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義される請求項１に記載の方法。
【請求項４】
前記ＭＥＣは、前記ＰＤＭと前記ＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部である請求項３に記載の方法。
【請求項５】
前記フォールトトレランス定義および前記バックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義される請求項３に記載の方法。
【請求項６】
マイグレーション障害の場合に前記フォールトトレランス機能およびバックトラッキング機能によって前記ＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を可能にすることをさらに含む請求項３に記載の方法。
【請求項７】
前記順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含む請求項１に記載の方法。
【請求項８】
自動定義と手動定義とのうちの少なくとも一方によって前記複数のＰＤＭパラメータを決定することをさらに含む請求項１に記載の方法。
【請求項９】
ユーザが１つまたは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うことができるようにすることをさらに含む請求項８に記載の方法。
【請求項１０】
クラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つまたは複数の次元を定義することをさらに含む請求項１に記載の方法。
【請求項１１】
前記複数のＰＤＭパラメータは、移行元クラウドの運営者、移行先クラウドの運営者およびサードパーティサービス業者のうちの１者または複数者によって決定され、前記ＰＤＭが実行される請求項１に記載の方法。
【請求項１２】
前記ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義する請求項１に記載の方法。
【請求項１３】
前記ＰＤＭパラメータの次元は数値と論理値とのうちの１つまたは複数を含む請求項１に記載の方法。
【請求項１４】
前記少なくとも２つのＰＤＭパラメータは、異なる次元数を有する請求項１に記載の方法。
【請求項１５】
ユーザ要求に基づき、マイグレーション試行に関連付けられたエラー報告と最終報告のうちの少なくとも一方を提供することをさらに含む請求項１に記載の方法。
【請求項１６】
前記クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単数移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含む請求項１に記載の方法。
【請求項１７】
クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するためのコンピューティングデバイスであって、
命令を記憶するように構成されたメモリと、
前記命令と共にマイグレーションアプリケーションを実行するように構成された処理ユニットとを含み、前記マイグレーションアプリケーションは、
ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定し、
前記ＰＤＭによって定義された順序に従って前記ＰＤＭを実行するように構成されたコンピューティングデバイス。
【請求項１８】
前記マイグレーションアプリケーションは、
ＰＤＭパラメータの各次元において、前記ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つを定義するようにさらに構成された請求項１７に記載のコンピューティングデバイス。
【請求項１９】
前記ＰＤＭパラメータの前記順序は、少なくとも１つのフォートトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義される請求項１７に記載のコンピューティングデバイス。
【請求項２０】
前記ＭＥＣは、前記ＰＤＭと前記ＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部である請求項１９に記載のコンピューティングデバイス。
【請求項２１】
前記フォールトトレランス定義および前記バックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義される請求項１９に記載のコンピューティングデバイス。
【請求項２２】
前記マイグレーションアプリケーションは、マイグレーション障害の場合に前記フォールトトレランス機能およびバックトラッキング機能によって前記ＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を可能にするようにさらに構成された請求項１９に記載のコンピューティングデバイス。
【請求項２３】
前記順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含む請求項１７に記載のコンピューティングデバイス。
【請求項２４】
前記マイグレーションアプリケーションは、自動定義と手動定義とのうちの少なくとも一方によって前記複数のＰＤＭパラメータを決定するようにさらに構成された請求項１７に記載のコンピューティングデバイス。
【請求項２５】
前記マイグレーションアプリケーションは、１つまたは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うこと可能にするようにさらに構成された請求項２４に記載のコンピューティングデバイス。
【請求項２６】
前記マイグレーションアプリケーションは、クラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つまたは複数の次元を定義するようにさらに構成された請求項１７に記載のコンピューティングデバイス。
【請求項２７】
前記複数のＰＤＭパラメータは、移行元クラウドの運営者、移行先クラウドの運営者およびサードパーティサービス業者のうちの１者または複数者によって決定され、前記ＰＤＭが実行される請求項１７に記載のコンピューティングデバイス。
【請求項２８】
前記ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義する請求項１７に記載のコンピューティングデバイス。
【請求項２９】
前記ＰＤＭパラメータの次元は数値と論理値とのうちの１つまたは複数を含む請求項１７に記載のコンピューティングデバイス。
【請求項３０】
前記少なくとも２つのＰＤＭパラメータは、異なる次元数を有する請求項１７に記載のコンピューティングデバイス。
【請求項３１】
前記マイグレーションアプリケーションは、ユーザ要求に基づき、マイグレーション試行に関連付けられたエラー報告と最終報告のうちの少なくとも一方を提供するようにさらに構成された請求項１７に記載のコンピューティングデバイス。
【請求項３２】
前記クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単数移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含む請求項１７に記載のコンピューティングデバイス。
【請求項３３】
クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するための命令が記憶されたコンピュータ可読記憶媒体であって、前記命令は、
ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、
前記ＰＤＭによって定義された順序に従って前記ＰＤＭを実行することによって前記クラウドマイグレーションを実行することとを含むコンピュータ可読記憶媒体。
【請求項３４】
前記命令は、ＰＤＭパラメータの各次元において、前記ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つを定義することをさらに含む請求項３３に記載のコンピュータ可読記憶媒体。
【請求項３５】
前記ＰＤＭパラメータの前記順序は、少なくとも１つのフォートトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義される請求項３３に記載のコンピュータ可読記憶媒体。
【請求項３６】
前記ＭＥＣは、前記ＰＤＭと前記ＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部である請求項３５に記載のコンピュータ可読記憶媒体。
【請求項３７】
前記フォールトトレランス定義および前記バックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義される請求項３５に記載のコンピュータ可読記憶媒体。
【請求項３８】
前記命令は、マイグレーション障害の場合に前記フォールトトレランス機能およびバックトラッキング機能によって前記ＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を可能にすることをさらに含む請求項３５に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含む請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記命令は、自動定義と手動定義とのうちの少なくとも一方によって前記複数のＰＤＭパラメータを決定することをさらに含む請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記命令は、ユーザが１つまたは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うことができるようにすることをさらに含む請求項４０に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記命令は、クラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つまたは複数の次元を定義することをさらに含む請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記複数のＰＤＭパラメータは、移行元クラウドの運営者、移行先クラウドの運営者およびサードパーティサービス業者のうちの１者または複数者によって決定され、前記ＰＤＭが実行される請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義する請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記ＰＤＭパラメータの次元は数値と論理値とのうちの１つまたは複数を含む請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記少なくとも２つのＰＤＭパラメータは、異なる次元数を有する請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記命令は、ユーザ要求に基づき、マイグレーション試行に関連付けられたエラー報告と最終報告のうちの少なくとも一方を提供することをさらに含む請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単数移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含む請求項３３に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書において別段に記載のない限り、本項に記載の内容は、本願特許請求の範囲に対する先行技術ではなく、また本項に含めることによって先行技術であることを自認するものではない。
【０００２】
ネットワーキングおよびデータ処理技術の進歩に伴い、ますます多くのサービスがクラウド方式のサービスプロバイダを介して提供されている。サービスレベル合意（ＳＬＡ：Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）によって指定された要件に基づき、クラウドで顧客データを格納し、アプリケーションをホストすることができる。クラウド方式のサービスプロバイダの数と競合の増大に伴い、アプリケーションおよびデータのクラウド間マイグレーションが一般的に行われるようになっている。クラウド方式のサービス内でも、様々な目的のためにデータやアプリケーションを１つまたは複数のサーバ（サイト）から他のサーバ（サイト）に移動させることができる。
【０００３】
既存のクラウドから新しいクラウドへのアプリケーションの移動には、複数のパラメータのネゴシエーションが必要な場合がある。例えば、オンラインショッピングサイトを新しいクラウドに移行する場合、トランザクション処理ベンチマーク、データ冗長性、データセキュリティなどのパラメータが、特定の値と共に移行先クラウドで使用可能である必要があり得る。ＳＬＡのパラメータはクラウドごとに定義が異なっていたり、場合によってはまったく定義されていないこともあるため、ＳＬＡによるパフォーマンスレベルのネゴシエーションは、手間のかかる処理となる場合があり、また、正確な状況が常に得られるとは限らない場合がある。
【０００４】
また、クラウドによっては、他のクラウドのパフォーマンスを判定する責任を引き受けたがらないこともある。例えば、移行元クラウドはそのクラウドの顧客に１つまたは複数の移行先クラウドに関するパフォーマンス予測を提供するリスクを冒さない場合があり、また逆に、移行元クラウドはそのクラウドのパフォーマンス情報を、顧客を誘い出そうとする移行先クラウドに与えたがらない場合がある。したがって、従来の手法によるクラウド間のマイグレーションには、マイグレーションを自動化された信頼性の高い、柔軟性のあるものにすることが可能な機能がない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、クラウドマイグレーション用パラメータ化モデルを提供するための技術について概略的に述べる。
【課題を解決するための手段】
【０００６】
一部の例示的な実施形態によると、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ：ｐａｒａｍｅｔｅｒｉｚｅｄ  ｄｙｎａｍｉｃ  ｍｏｄｅｌ）を実装する方法は、ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパーメータを決定することと、ＰＤＭによって定義された順序に従ってＰＤＭを実行することによりクラウドマイグレーションを行うこととを含むことができる。
【０００７】
他の例示的な実施形態によると、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するコンピューティングデバイスは、命令を記憶するように構成されたメモリと、前記命令と共にマイグレーションアプリケーションを実行するように構成された処理ユニットとを含むことができる。マイグレーションアプリケーションは、ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定し、ＰＤＭによって定義された順序に従ってＰＤＭを実行してもよい。
【０００８】
他の例示的な実施形態によると、コンピュータ可読記憶媒体は、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するための命令が記憶されていてもよい。命令は、ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、ＰＤＭによって定義された順序に従ってＰＤＭを実行することによってクラウドマイグレーションを行うこととを含むことができる。
【０００９】
上記の概要は、例示的なものにすぎず、決して限定的であることを意図したものではない。図面および以下の詳細な説明を参照することにより、上述の例示的な態様、実施形態および特徴に加えて、他の態様、実施形態および特徴も明らかになるであろう。
【００１０】
本開示の上記およびその他の特徴は、以下の説明および添付の特許請求の範囲を添付図面と共に参照すれば十分に明らかになるであろう。図面は本開示によるいくつかの実施形態のみを図示するものであり、したがって本開示の範囲を限定するものと見なすべきではないことを了解した上で、添付図面により本開示についてさらに具体的かつ詳細に説明する。
【図面の簡単な説明】
【００１１】
【図１】クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装することができるシステムの一例を示す図である。
【図２】クラウドマイグレーションにおいて使用することができるパラメータ化動的モデルの一例およびＰＤＭパラメータの一例を概念的に示す図である。
【図３】サードパーティサービスが実行することができるモデル実行コードモジュールによるＰＤＭの実行を示す図である。
【図４】ＰＤＭパラメータの順序付けの一例を示す図である。
【図５】クラウドマイグレーション用ＰＤＭの実装のために使用可能な汎用コンピューティングデバイスを示す図である。
【図６】図５のデバイスなどのコンピューティングデバイスによって実行することができる方法の一例を示す流れ図である。
【図７】すべてが本明細書に記載の少なくとも一部の実施形態により構成された、コンピュータプログラム製品の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明では、本明細書の一部をなす添付図面を参照する。図面では、文脈により別様に示す場合を除き、同様の符号は典型的には同様のコンポーネントを示す。詳細な説明、図面および特許請求の範囲に記載の例示の実施形態は、限定的であることを意図するものではない。本明細書で示す主題の趣旨および範囲から逸脱することなく、他の実施形態も採用可能であり、他の変更も可能である。本明細書において一般的に述べ、図面に図示する本開示の態様は、様々な構成で配置、代替、組み合わせ、分離、および設計可能であり、それらはすべて本明細書で明示的に企図されていることが容易に理解されるであろう。
【００１３】
本開示は、特にクラウドマイグレーション用パラメータ化モデルの実装に関する方法、装置、システム、デバイスおよび／またはコンピュータプログラム製品を概略的に示す。
【００１４】
すなわち、１つまたは複数の多次元パラメータを有するパラメータ化動的モデル（ＰＤＭ）を使用して、クラウドネットワークまたは非クラウドネットワークからクラウドネットワークへデータおよびアプリケーションを移動するマイグレーションシステムおよび方法のための技術を示す。ＰＤＭパラメータは、移行先クラウドがクラウドマイグレーションの成功のために満たす必要があると考えられるサービスレベル合意（ＳＬＡ）要件を表すことができる。ＰＤＭは、ＰＤＭにおいて順序付けパラメータとして定義された順序付けに従い、クラウド環境においてＰＤＭパラメータに作用するＰＤＭを実行するように構成されたモデル実行コード（ＭＥＣ：Ｍｏｄｅｌ  Ｅｘｅｃｕｔｉｏｎ  Ｃｏｄｅ）モジュールを含み得る。このＰＤＭ−ＭＥＣ方式のマイグレーションシステムは、ＭＥＣコードの実行中においてマイグレーション時のフォールトトレランスまたはエラー回復を含むかまたは提供することも可能である。
【００１５】
図１に、本明細書に記載の少なくとも一部の実施形態により構成された、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装することができるシステムの一例を示す。
【００１６】
図１に示すように、図１００は、個人または法人顧客１０８および１０９のために様々なアプリケーション、データストレージ、データ処理、またはこれらと同等のものなどのサービスをホストすることができるサービスプロバイダ１０２（クラウド１）を示す。サービスプロバイダ１０２は、サービスを提供する１つまたは複数のサイト（サーバ群）を含むことができ、１つもしくは複数のサーバ１０４および／または、ファイアウォール、ルータなどの１つもしくは複数の特殊用途デバイス１０６を使用することができる。顧客にサービスを提供するために、サービスプロバイダ１０２は複数のサーバ、特殊用途デバイス、物理または仮想データストアなどを使用することができる。したがって、サービスプロバイダ１０２が顧客のためにホストするアプリケーションまたは格納するデータは、ハードウェアおよびソフトウェアコンポーネントの複合アーキテクチャを含み得る。顧客（ホストされるアプリケーションまたはデータの所有者）に提供されるサービスレベルは、サービスプロバイダ１０２が特定の方法で実装することができる、サーバ処理、メモリおよびネットワーキングなど多くのサービスパラメータに基づいて決定され得る。
【００１７】
クラウド方式のサービスプロバイダは、異種アーキテクチャを有することができ、同様のサービスを異なるパラメータと共に提供することができる。例えば、データ記憶容量、処理能力、サーバレイテンシおよび同様のパラメータなどは、クラウドごとに異なり得る。また、サービスパラメータは提供されるサービスによって異なっていてもよい。クラウド間（または非クラウドネットワークからクラウドへの）マイグレーションを自動化し、効率を向上させるために、フォールトトレランス機能およびバックトラッキング機能を備える一部の実施形態により、パラメータ化動的モデルを使用することができる。多次元パラメータを、パラメータの実行順序と共に、例えば優先度に応じて完全手動、完全自動、または半自動で定義することができる。モデル実行コード（ＭＥＣ）は、定義された要件の満足状態および移行元と移行先のクラウドのサービスレベルの比較に基づいて、シームレスな移行を確実なものにするようにＰＤＭで定義されているパラメータの順序に従ってマイグレーションを実行することができる。
【００１８】
図１００において、サービスプロバイダ１０２（クラウド１）はマイグレーション処理における移行元クラウドとすることができ、サービスプロバイダ１１２（クラウド２）は移行先クラウドとすることができる。サービスプロバイダ１０２と同様に、サービスプロバイダ１１２も１つまたは複数のサーバ１１４と１つまたは複数の特殊用途デバイス１１６を使用してそのサービスを提供することができる。サービスプロバイダ１０２のサーバ１０４の１つ、サービスプロバイダ１１２のサーバ１１４の１つ、または他のクラウド１１０の１つまたは複数のサーバ１１８上で実行されるサードパーティサービスによって、ＰＤＭの定義およびＭＥＣの実行を管理し、実行することができる。
【００１９】
図２に、本明細書に記載の少なくとも一部の実施形態により構成された、クラウドマイグレーションにおいて使用可能なパラメータ化動的モデルの一例とＰＤＭパラメータの一例を概念的に示す。
【００２０】
図２に示すように、図２００には、一部の例示の実施形態による、３つのパラメータ２２２、２２４、２２６と、各パラメータの３つの次元を備えるＰＤＭ２２０の一例を視覚化した図を示す。図２００にはさらに、レイテンシの例示のパラメータ２３０をその次元２３２、２３４および２３６と共に示す。例えば、次元２３２は例示のパラメータ２３０の上限（例えば１ミリ秒）を定義し、次元２３４はパラメータがクリティカルではないこと（フォールトトレランス機能と共に使用することができる）を規定し、パラメータ２３６はさらにフォールトトレランス規則（例えば「約０．９９ミリ秒の場合はスキップする」）を定義することができる。
【００２１】
ＰＤＭは、ｎ次元空間における複数の次元に区分化可能な複数のパラメータにわたって定義されるアプリケーションの要件を定義する際に柔軟性、堅牢性および精度を持たせ、それによってマイグレーションの必要に応じて任意の種類のアプリケーションの要件を定義することを実質的に可能にすることができる。各ＰＤＭパラメータは、マイグレーション処理のために定義する必要がある任意の制御ユニットまたは定義ユニットを表すことができる。パラメータによって、記憶域、レイテンシ、計算能力、パワーバックアップ、動作可能時間、および同様のサービスレベルを定義することができる。各パラメータは、複数の次元も有し得る。したがって、マイグレーションにかかわるパラメータの数および複雑度を表現することができる。一部の実施形態では、ＰＤＭはＮＸＮ次元モデルとすることができ、行列モデルまたは対称モデルである必要はない。
【００２２】
ＰＤＭにおけるパラメータは、それによって測定可能な要素を有する任意の単位を含むことができる。例えば、アプリケーションパラメータは１００ＧＢの最小記憶域を定義することができる。この場合、このパラメータは、ＭｉｎＳｐａｃｅ＝１００ＧＢと設定することができる。測定可能性は論理的なものであってもよく、数値的なもののみとは限らない。例えば、三重冗長性を必要とするアプリケーションの場合、パラメータはＴｒｉｐｌｅＤａｔａＲｅｄｕｎｄａｎｃｙ＝ＴＲＵＥと定義することができる。
【００２３】
実施形態によるシステムは、自動、手動または半自動でＰＤＭを定義させることによりプログラムすることができる。例えば、ホストされているアプリケーションがチケット予約のアプリケーションである場合、あるモジュールが必要最大記憶域、ピーク時負荷限度、トランザクション処理タイムアウトなどを自動的に決定してもよい。次に、これらを自動的にＰＤＭに取り込むことができる。この自動取り込みモジュールにおいて、ＰＤＭによって収集されたパラメータを上書きまたは微調整する手動ステップも含めることができる。
【００２４】
取り込み済みＰＤＭは、パラメータの実現の順序付けなどの実行データをさらに含んでもよい（例えば、ディスク記憶域は後で増やせるため、ｘ個のユニットのレイテンシ時間の方が最大可用ディスク記憶域よりも重要な要素である）。実行データは、モデル実行コード（ＭＥＣ）が使用する、ＰＤＭにおける他の種類のパラメータを基本的に定義または含むことができる。ＭＥＣをＰＤＭに含めることができ、移行先クラウド上、またはＰＤＭの要件を実施してＰＤＭで定められている順序づけに従ってアプリケーションを移行させようとするサードパーティサービス上で実行することができる。
【００２５】
図３に、本明細書に記載の少なくとも一部の実施形態により構成された、サードパーティサービスが実行可能なモデル実行コードモジュールによるＰＤＭの実行を示す。
【００２６】
このＭＥＣは、ＰＤＭにおいて実行データ（または順序定義）によって指示されている通りにＰＤＭを実行するように調整することができる。あるいは実行データは、ＭＥＣに記憶してもよい。ＭＥＣは様々な方法で設計することができる。例えば、シェルスクリプト、スクリプト、高水準プログラミング言語を使用してＭＥＣを作成してもよい。一例として、ＭＥＣはパラメータを獲得してそれを移行先の環境に適用することができる。パラメータの値が移行先の環境で満たされない場合、ＭＥＣは障害を返すことができる。他の実施形態では、ＭＥＣは、任意の時点でマイグレーション障害があった場合に、複数回の再試行または手動介入を行ってＰＤＭパラメータを再調整することを可能にする、フォールトトレランス機能およびバックトラッキング機能を含んでもよい。マイグレーション試行のエラー報告および最終報告は、マイグレーションアプリケーションまたはデータの所有者がカスタマイズ可能な方法で、ＭＥＣによって出力してもよい。
【００２７】
図３に示すように、図３００は、移行元クラウド３５２から、サードパーティマイグレーションシステム３４０によって管理されている移行先クラウド３５４へのアプリケーションのマイグレーションを概念的に示している。１つまたは複数のサーバ３４２によってマイグレーション用ＰＤＭを定義することができ、マイグレーション実行コードを実行することができる。ＰＤＭは多次元パラメータとして複合マイグレーション条件を含むことができる。前述のように、対称性は多次元ＰＤＭの要件である必要がない。図３００に示す例では、３つの例示のパラメータ（Ｐ１  ３４４，Ｐ２  ３４６およびＰ３  ３４８）が含まれている。パラメータＰ１  ３４４およびＰ２  ３４６はそれぞれ２つの次元を有し、３番目のパラメータＰ３  ３４８は単一の次元を有する。
【００２８】
実施形態によっては、パラメータはパフォーマンスパラメータと必ずしも一対一対応である必要がない。概念パラメータを作成することもできる。例えば、移行先クラウドにおけるモデル実行、実行の順序付け、エラー処理および報告、一時ファイル作成およびクリーンアップもパラメータとして取り込むことができる。実施形態によるＰＤＭとＭＥＣの組み合わせによって、マイグレーション処理中のデータとコードの分離を行ってもよい。また、この組み合わせにより、クラウドマイグレーションの問題を捕捉するために適用可能なＰＤＭ形式の柔軟性のあるデータ構造を実現する。
【００２９】
図４に、本明細書に記載の少なくとも一部の実施形態により構成された、ＰＤＭパラメータの順序付けの一例を示す。
【００３０】
図４の図４００に示すように、実行のためのＰＤＭパラメータの順序付けは、パラメータからパラメータ、次元から次元、または次元からパラメータとすることができる。図４００では、例示のパラメータＰ１  ４６２、Ｐ２  ４６４およびＰ３  ４６６がパイチャート形式で概念的に視覚化され、各パラメータの次元がパイチャートの区分で表されている。
【００３１】
一例によると、パラメータの順序は、Ｐ３  ４６６の次元Ｄ１からＰ１  ４６２の次元Ｄ３に続くステップ４７２を含んでいてもよい（次元から次元への順序）。他の例示のステップ４７４は、Ｐ１  ４６２の次元Ｄ４からＰ２  ４６４に続いてもよい（次元からパラメータへの順序）。
【００３２】
図５に、本明細書に記載の少なくとも一部の実施形態により構成された、クラウドマイグレーション用ＰＤＭを実装するために使用可能な汎用コンピューティングデバイス５００を示す。例えば、コンピューティングデバイス５００は図３の１つまたは複数のサーバ３４２として使用することができる。例示の基本構成５０２では、コンピューティングデバイス５００は１つまたは複数のプロセッサ５０４とシステムメモリ５０６とを含む。プロセッサ５０４とシステムメモリ５０４との間の通信のためにメモリバス５０８を使用することができる。この基本構成５０２は、図５において内側の破線内のコンポーネントで表されている。
【００３３】
所望の構成に応じて、プロセッサ５０４は任意の種類のものであってよく、これにはマイクロプロセッサ（μＰ）、マイクロコンピュータ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）またはこれらの任意の組み合わせが含まれるがこれらには限定されない。プロセッサ５０４は、レベルキャッシュメモリ５１２、プロセッサコア５１４およびレジスタ５１６などの１つまたは複数のキャッシュレベルを含むことができる。この例示のプロセッサコア５１４は、算術論理演算ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはこれらの任意の組み合わせを含むことができる。プロセッサ５０４と共に例示のメモリコントローラ５１８も使用することができ、または実施態様によってはメモリコントローラ５１８はプロセッサ５０４の内部コンポーネントであってもよい。
【００３４】
所望の構成に応じて、システムメモリ５０６はどのような種類であってもよく、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）またはこれらの任意の組み合わせを含むが、これらには限定されない。システムメモリ５０６は、オペレーティングシステム５２０、１つまたは複数のアプリケーション５２２、およびプログラムデータ５２４を含むことができる。アプリケーション５２２は、クラウド管理アプリケーション、マイグレーション管理アプリケーション、または同様のアプリケーションとすることができ、これには、入力の受信、本明細書に記載のようにマイグレーションの顧客要件を満たすパラメータ化動的モデルの開発、更新および実行を行うことができるモデル実行コード５２６が含まれる。プログラムデータ５２４は、特に本明細書に記載のＰＤＭ５２８などを含むことができる。
【００３５】
コンピューティングデバイス５００は、追加の機能または装備や、基本構成５０２と任意の所望のデバイスおよびインターフェースとの間の通信を容易にする追加のインターフェースを有してもよい。例えば、バス／インターフェースコントローラ５３０を使用して、基本構成５０２と１つまたは複数のデータ記憶装置５３２とのストレージインターフェースバス５３４を介した通信を容易にしてもよい。データ記憶装置５３２は、１つもしくは複数の取外し式ストレージデバイス５３６、１つもしくは複数の非取外し式ストレージデバイス５３８、またはこれらの組み合わせとすることができる。取外し式ストレージデバイスおよび非取外し式ストレージデバイスの例をいくつか挙げると、フレキシブルディスクドライブやハードディスクドライブ（ＨＤＤ）などの磁気ディスク、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、およびテープドライブなどがある。コンピュータ記憶媒体の例としては、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報の記憶のための任意の方法または技術で実装された揮発性および不揮発性媒体、取外し式および非取外し式媒体などがある。
【００３６】
システムメモリ５０６、取外し式ストレージデバイス５３６および非取外し式ストレージデバイス５３８は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、ソリッドステートドライブ、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくはその他の磁気ストレージデバイス、または所望の情報を記憶するために使用可能かつコンピューティングデバイス５００がアクセス可能な他の任意の媒体を含むが、これらには限定されない。このようなコンピュータ記憶媒体は、コンピューティングデバイス５００の一部であってもよい。
【００３７】
コンピューティングデバイス５００は、バス／インターフェースコントローラ５３０を介して様々なインターフェースデバイス（例えば１つまたは複数の出力装置５４２、１つまたは複数の周辺インターフェース５４４、および１つまたは複数の通信装置５６６）から基本構成５０２への通信を容易にするインターフェースバス５４０を含んでもよい。出力装置５４２の例としては、グラフィク処理ユニット５４８およびオーディオ処理ユニット５５０などがあり、これらを１つまたは複数のＡ／Ｖポート５５２を介してディスプレイまたはスピーカなどの様々な外部装置と通信するように構成することができる。１つまたは複数の例示の周辺インターフェース５４４は、シリアルインターフェースコントローラ５５４またはパラレルインターフェースコントローラ５５６を含んでもよく、これを入力装置（例えばキーボード、マウス、ペン、音声入力装置、タッチ入力装置など）などの外部装置またはその他の周辺装置（例えばプリンタ、スキャナなど）と１つまたは複数のＩ／Ｏポート５５８を介して通信するように構成することができる。例示の通信装置５６６は、ネットワークコントローラ５６０を含み、これを１つまたは複数の通信ポート５６４を介してネットワーク通信リンクで１つまたは複数の他のコンピューティングデバイス５６２と通信をしやすくするように構成することができる。１つまたは複数の他のコンピューティングデバイス５６２は、データセンターにおけるサーバ、顧客コンピュータおよび同等のデバイスを含むことができる。
【００３８】
ネットワーク通信リンクは、通信媒体の一例とすることができる。通信媒体は、典型的にはコンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータにより、搬送波またはその他の搬送機構などの変調データ信号の形で具現化可能であり、かつ、任意の情報配信媒体を含むことができる。「変調データ信号」は、信号内の情報を符号化するようにその特性の１つまたは複数が設定または変更された信号とすることができる。例えば、通信媒体は、有線接続、直接有線接続などの有線媒体、音響、高周波（ＲＦ）、マイクロ波、赤外線（ＩＲ）およびその他の無線媒体などの無線媒体を含むがこれらには限定されない。本明細書で使用するコンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含み得る。
【００３９】
コンピューティングデバイス５００は、上述の機能のいずれかを含む汎用または専用サーバ、メインフレーム、または同様のコンピュータの一部として実装可能である。コンピューティングデバイス５００は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実装することも可能である。
【００４０】
例示の実施形態は、クラウドマイグレーションにおける仮説およびスキーマレス構成管理のために要件メトリクスの対話型シミュレーションを実装する方法を含むことができる。これらの方法は、本明細書に記載の構造を含む任意の数の方法で実装することができる。そのような１つの方法は、本開示に記載の種類のデバイスの機械操作によるものであってもよい。他の任意的な方法は、方法の個々の操作のうちの１つまたは複数について、１人または複数の操作者が操作の一部を行い、他の操作を機械が行う組み合わせで行い得るものとすることもできる。このような操作者は、互いに１カ所に配置される必要はなく、各操作者をプログラムの一部を実行する機械のみと共に配置することができる。他の例では、機械により自動化可能な事前に選択された基準などによって、人間との対話を自動化することができる。
【００４１】
図６は、本明細書に記載の少なくとも一部の実施形態により構成され、図５のデバイス５００などのコンピューティングデバイスまたは図３の１つまたは複数のサーバ３４２によって実行可能なクラウドマイグレーション用パラメータ化動的モデルを提供する方法の一例を示す流れ図である。例示の方法は、ブロック６２２、６２４および／または６２６の１つまたは複数によって例示されるような１つまたは複数の操作、機能、または動作を含むことができる。ブロック６２２〜６２６に記載の操作は、コンピューティングデバイス６１０のコンピュータ可読媒体６２０などのコンピュータ可読媒体に、コンピュータ実行可能命令として記憶することもできる。
【００４２】
クラウドマイグレーション用パラメータ化動的モデルを提供する例示の処理は、ブロック６２２「ＰＤＭパラメータおよび実行データを定義する」から開始することができ、図２のパラメータ２２０などの多次元動的パラメータを、移行元クラウド、移行先クラウド、または図３のサーバ３４２などのサードパーティエンティティにおけるサーバ管理マイグレーションによって、実行データと共に定義することができる。
【００４３】
ブロック６２２に続いてブロック６２４「定義されたパラメータ順序に従ってＭＥＣを実行する」に進み、例えばＰＤＭにおいて順序パラメータによって定義された順序に従って、ＰＤＭパラメータを図５のＭＥＣ５２６により実行することができる。
【００４４】
ブロック６２４に続いてブロック６２６「エラー／障害が検出された場合、フォートトレランス規則／バックトラッキング規則を適用する」に進む。ブロック６２６では、ＰＤＭにおける定義に従ってフォールトトレランス処置およびバックトラッキング処置を行うことができる。例えば、パラメータをスキップしたり、マイグレーションを停止したり、警告を出したりなどすることができる。
【００４５】
上記の処理に含まれる各ブロックは例示のためのものである。クラウドマイグレーション用パラメータ化動的モデルの提供は、これよりも少ないブロックまたは追加のブロックを含む同様の処理によって実装することもできる。一部の例では、これらのブロックを異なる順序で実行してもよい。他の例では、様々なブロックを削除してもよい。さらに他の例では、様々なブロックを分割して増やしたり、組み合わせてブロックを少なくしたりすることもできる。
【００４６】
図７に、本明細書に記載の少なくとも一部の実施形態により構成された、例示のコンピュータプログラム製品７００のブロック図を示す。一部の例では、図７に示すように、コンピュータプログラム製品７００は、例えばプロセッサによって実行されると本明細書に記載の機能を実現可能な１つまたは複数の機械可読命令７０４も含む信号伝達媒体７０２を含むことができる。したがって、例えば図５のプロセッサ５０４を参照すると、モデル実行コード５２６は、媒体７０２によってプロセッサ５０４に伝達された命令７０４に応答して図７に示すタスクのうちの１つまたは複数のタスクを開始し、本明細書に記載のクラウドマイグレーション用パラメータ化動的モデルの提供に関連付けられた動作を行うことができる。これらの命令の一部は、本明細書に記載の一部の実施形態により、例えばＰＤＭパラメータおよび実行データを定義するための命令、定義されたパラメータ順序に従ってＭＥＣを実行する命令、ならびに、エラーまたは障害が検出された場合にフォールトトレランス規則および／またはバックトラッキング規則を適用する命令を含むことができる。
【００４７】
一部の実施態様では、図７に示す信号伝達媒体７０２は、ハードディスクドライブ、ソリッドステートドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、メモリなどのコンピュータ可読媒体７０６を包含し得るがこれらには限定されない。一部の実施形態では、信号伝達媒体７０２は、メモリ、読取り／書込み（Ｒ／Ｗ）ＣＤ、Ｒ／ＷＤＶＤなどの記録可能媒体７０８を包含するが、これらには限定されない。一部の実施態様では、信号伝達媒体７０２は、デジタルおよび／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）などの通信媒体７１０を包含し得るがこれらには限定されない。したがって、例えばプログラム製品７００は、ＲＦ信号伝達媒体によってプロセッサ５０４の１つまたは複数のもモジュールに伝達することができ、その場合、信号伝達媒体７０２は無線通信媒体７１０（例えばＩＥＥＥ８０２．１１に準拠した無線通信媒体）によって伝達される。
【００４８】
一部の例示の実施形態によると、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装する方法は、ＰＤＭによって、移行元クラウドから移行先クラウドにマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、ＰＤＭによって定義された順序に従ってＰＤＭを実行することによってクラウドマイグレーションを実行することとを含むことができる。
【００４９】
他の実施形態によると、この方法はＰＤＭパラメータの各次元において、ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つを定義することを含んでもよい。ＰＤＭパラメータの順序は、少なくとも１つのフォールトトレランス機能および少なくとも１つのバックトラッキング機能を備えるモデル実行コード（ＭＥＣ）によって定義することができる。ＭＥＣは、ＰＤＭとＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部であってもよい。フォールトトレランス定義およびバックトラッキング機能は、各ＰＤＭパーメータとＰＤＭパラメータ群とのうちの一方について定義してもよい。
【００５０】
他の実施形態によると、この方法は、マイグレーションが失敗した場合にフォールトトレランス機能およびバックトラッキング機能によってＰＤＭパラメータを再調整するために、複数回の再試行と手動介入のうちの一方を実行可能にすることも含み得る。順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含み得る。この方法は、さらに、自動定義と手動定義とのうちの少なくとも一方により前記複数のＰＤＭパラメータを決定すること、ユーザが、１つもしくは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うことができるようにすること、および／またはクラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つもしくは複数の次元を定義することを含み得る。
【００５１】
さらに他の例によると、移行元クラウド運営者、移行先クラウド運営者およびサードパーティサービス業者のうちの１者または複数者によって、複数のＰＤＭパラメータを決定することができ、ＰＤＭを実行することができる。ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義することができる。ＰＤＭパラメータの次元は、数値および論理値のうちの１つまたは複数を含むことができる。少なくとも２つのＰＤＭパラメータは、異なる次元数を有してもよい。さらに、この方法は、ユーザの要求に基づいて、マイグレーション試行に関連付けられたエラー報告と最終報告とのうちの少なくとも一方を提供することを含むことができる。クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単一移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含み得る。
【００５２】
他の例示の実施形態によると、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するコンピューティングデバイスは、命令を記憶するように構成されたメモリと、命令と共にマイグレーションアプリケーションを実行するように構成された処理ユニットとを含むことができる。マイグレーションアプリケーションは、ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定してもよく、ＰＤＭによって定義された順序に従ってＰＤＭを実行してもよい。
【００５３】
一部の例によると、マイグレーションアプリケーションは、ＰＤＭパラメータの各次元において、ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つをさらに定義してもよい。ＰＤＭパラメータの順序は、少なくとも１つのフォールトトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義することができる。ＭＥＣは、ＰＤＭとＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部とすることができる。フォールトトレランス定義およびバックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義してもよい。マイグレーションアプリケーションは、マイグレーション障害があった場合にフォールトトレランス機能およびバックトラッキング機能によりＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を実行可能にしてもよい。
【００５４】
他の例によると、順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含み得る。マイグレーションアプリケーションは、さらに、自動定義と手動定義とのうちの少なくとも一方により前記複数のＰＤＭパラメータを決定すること、１つもしくは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うことができるようにすること、および／またはクラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つもしくは複数の次元を定義することを行うことができる。移行元クラウド運営者、移行先クラウド運営者およびサードパーティサービス業者のうちの１者または複数者によって、前記複数のＰＤＭパラメータを決定することができ、ＰＤＭを実行することができる。
【００５５】
他の例によると、ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義することができる。ＰＤＭパラメータの次元は、数値および論理値のうちの１つまたは複数を含むことができる。少なくとも２つのＰＤＭパラメータは、異なる次元数を有する。マイグレーションアプリケーションは、さらに、ユーザの要求に基づいて、マイグレーション試行に関連付けられたエラー報告と最終報告とのうちの少なくとも一方を提供してもよい。さらに、クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単一移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含むことができる。
【００５６】
他の例示の実施形態によると、コンピュータ可読記憶媒体に、クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するための命令が記憶されていてもよい。これらの命令は、ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、ＰＤＭによって定義された順序に従ってＰＤＭを実行することによってクラウドマイグレーションを行うこととを含むことができる。
【００５７】
他の例によると、命令は、ＰＤＭパラメータの各次元において、ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つをさらに定義してもよい。ＰＤＭパラメータの順序は、少なくとも１つのフォールトトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義される。ＭＥＣは、ＰＤＭとＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部である。フォールトトレランス定義およびバックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義される。命令は、マイグレーション障害があった場合にフォールトトレランス機能およびバックトラッキング機能によりＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を実行可能にすることも含み得る。
【００５８】
他の例によると、順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含み得る。命令は、さらに、自動定義と手動定義とのうちの少なくとも一方により前記複数のＰＤＭパラメータを決定すること、ユーザが１つまたは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うことができるようにすること、および／またはクラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つまたは複数の次元を定義することを含むことができる。移行元クラウド運営者、移行先クラウド運営者およびサードパーティサービス業者のうちの１者または複数者によって前記複数のＰＤＭパラメータを決定することができ、ＰＤＭを実行することができる。
【００５９】
いくつかの例によると、ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義することができる。ＰＤＭパラメータの次元は、数値および論理値のうちの１つまたは複数を含むことができる。少なくとも２つのＰＤＭパラメータは、異なる次元数を有してもよい。命令は、さらに、ユーザの要求に基づいて、マイグレーション試行に関連付けられたエラー報告と最終報告とのうちの少なくとも一方を提供することを含んでもよい。クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単一移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含むことができる。
【００６０】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができる様々な達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組み合わせを選択することができる。
【００６１】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスの様々な実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。
【００６２】
本開示は、本出願に記載の特定の実施形態にのみ限定されるものではない。これらの実施形態は様々な態様を例示することを意図したものである。当業者には明らかなように、本開示の趣旨および範囲から逸脱することなく、多くの変更および変形態様が可能である。上記の説明から、本明細書に列挙されているものに加えて、本開示の範囲における機能的に同等の方法および装置が当業者には明らかであろう。そのような変更および変形態様は、添付の特許請求の範囲に含まれるものと意図されている。本開示は、添付の特許請求の範囲の記載と、そのような特許請求の範囲が権利を与えられる等価物の全範囲によってのみ限定されるべきである。本開示は、特定の方法、試薬、化合物組成または生体系に限定されず、これらは当然ながら異なり得ることを理解すべきである。本明細書で使用する用語は、特定の実施形態について説明するためだけのものにすぎず、限定的であることを意図したものではないことも理解すべきである。
【００６３】
さらに、本明細書に記載された主題のメカニズムを様々な形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピーディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、ソリッドステートドライブなどの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００６４】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、ガントリーシステムの位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。
【００６５】
通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、様々なコンポーネントをしばしば例示しており、これらのコンポーネントは、他の様々なコンポーネントに包含されるか、または他の様々なコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的に接続可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００６６】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００６７】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。
【００６８】
さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００６９】
さらに、本開示の特徴または態様がマーカッシュ群により記載される場合、それによって本開示がマーカッシュ群の任意の個々の要素または要素の部分集合についても説明されることが当業者にはわかるであろう。
【００７０】
当業者ならわかるように、例えば書面による説明を提供するなどのあらゆる目的において、本明細書で開示されているすべての範囲は、考えられるあらゆる部分範囲およびその部分範囲の組み合わせも含む。記載の範囲はすべて、少なくとも２等分、３等分、４等分、５等分、１０等分などに分割された同じ範囲を十分に説明し、可能にするものであることを容易に認識することができる。非限定的な例として、本明細書に記載の各範囲は、下３分の１、中間３分の１、上３分の１などに容易に分割可能である。また、当業者ならわかるように、「〜まで」、「少なくとも」、「〜を超える」、「〜未満」などすべての言語は、記載されている数を含み、前述のような部分範囲にその後分割可能な範囲を指す。最後に、当業者ならわかるように、範囲は、個々の要素のそれぞれを含む。したがって、例えば１〜３個のセルを有する群とは、１、２または３個のセルを有する群を指す。同様に、１〜５個のセルを有する群は、１、２、３、４または５個のセルを有する群を指す、という具合である。
【００７１】
本明細書では様々な態様および実施形態について説明したが、当業者には他の態様および実施形態も明らかであろう。本明細書で開示する様々な態様および実施形態は、例示のためのものであり、限定することを意図したものではなく、真の範囲および趣旨は以下の特許請求の範囲によって示される。
【図１】
2015502616.tif 000003
【図２】
2015502616.tif 000004
【図３】
2015502616.tif 000005
【図４】
2015502616.tif 000006
【図５】
2015502616.tif 000007
【図６】
2015502616.tif 000008
【図７】
2015502616.tif 000009
【手続補正書】
【提出日】平成26年6月16日(2014.6.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装する方法であって、
ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各ＰＤＭパラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、
前記ＰＤＭによって定義された順序に従って前記ＰＤＭを実行することによってクラウドマイグレーションを実行することとを含む方法。
【請求項２】
ＰＤＭパラメータの各次元において、前記ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つを定義することをさらに含む請求項１に記載の方法。
【請求項３】
前記ＰＤＭパラメータの前記順序は、少なくとも１つのフォートトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義される請求項１に記載の方法。
【請求項４】
前記ＭＥＣは、前記ＰＤＭと前記ＰＤＭとは異なるＭＥＣモジュールとのうちの一方の一部である請求項３に記載の方法。
【請求項５】
フォールトトレランス定義および前記バックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義される請求項３に記載の方法。
【請求項６】
マイグレーション障害の場合に前記フォールトトレランス機能およびバックトラッキング機能によって前記ＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を可能にすることをさらに含む請求項３に記載の方法。
【請求項７】
クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するためのコンピューティングデバイスであって、
命令を記憶するように構成されたメモリと、
前記命令と共にマイグレーションアプリケーションを実行するように構成された処理ユニットとを含み、前記マイグレーションアプリケーションは、
ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定し、
前記ＰＤＭによって定義された順序に従って前記ＰＤＭを実行するように構成されたコンピューティングデバイス。
【請求項８】
前記順序は、パラメータからパラメータへの連続と次元から次元への連続とのうちの少なくとも一方を含む請求項７に記載のコンピューティングデバイス。
【請求項９】
前記マイグレーションアプリケーションは、
自動定義と手動定義とのうちの少なくとも一方によって前記複数のＰＤＭパラメータを決定するようにさらに構成され、そして、
１つまたは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うこと可能にするようにさらに構成された請求項７に記載のコンピューティングデバイス。
【請求項１０】
前記マイグレーションアプリケーションは、クラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つまたは複数の次元を定義するようにさらに構成された請求項７に記載のコンピューティングデバイス。
【請求項１１】
前記複数のＰＤＭパラメータは、移行元クラウドの運営者、移行先クラウドの運営者およびサードパーティサービス業者のうちの１者または複数者によって決定され、前記ＰＤＭが実行される請求項７に記載のコンピューティングデバイス。
【請求項１２】
前記ＰＤＭパラメータは、サーバレイテンシ、記憶限度、割当て記憶容量、スケーラビリティファクタ、バックアップ保証、計算能力、パワーバックアップ、動作可能時間保証、ピーク期間負荷、トランザクション処理タイムアウト、同時利用上限ユーザ数、データロールバック容量、リアルタイムミラリング機能、資源利用状況報告機能、監査証跡機能、サポート機能、および／または並列コンピューティング環境のためのコードの自動並列化からなる組のうちの少なくとも１つを定義する請求項７に記載のコンピューティングデバイス。
【請求項１３】
前記ＰＤＭパラメータの次元は数値と論理値とのうちの１つまたは複数を含む請求項７に記載のコンピューティングデバイス。
【請求項１４】
前記少なくとも２つのＰＤＭパラメータは、異なる次元数を有する請求項７に記載のコンピューティングデバイス。
【請求項１５】
クラウドマイグレーション用パラメータ化動的モデル（ＰＤＭ）を実装するための命令が記憶されたコンピュータ可読記憶媒体であって、前記命令は、
ＰＤＭによって移行元クラウドから移行先クラウドへのマイグレーションのために満たすべきサービスレベル合意要件が定義され、各パラメータが１つまたは複数の次元を有する複数のＰＤＭパラメータを決定することと、
前記ＰＤＭによって定義された順序に従って前記ＰＤＭを実行することによって前記クラウドマイグレーションを実行することとを含むコンピュータ可読記憶媒体。
【請求項１６】
前記命令は、ＰＤＭパラメータの各次元において、前記ＰＤＭパラメータの条件付き限度、属性、優先順位、およびフォールトトレランス動作からなる組のうちの１つを定義することをさらに含む請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記ＰＤＭパラメータの前記順序は、少なくとも１つのフォートトレランス機能と少なくとも１つのバックトラッキング機能とを備えるモデル実行コード（ＭＥＣ）によって定義され、
前記フォールトトレランス定義および前記バックトラッキング機能は、各ＰＤＭパラメータとＰＤＭパラメータ群とのうちの一方について定義され、
前記命令は、マイグレーション障害の場合にフォールトトレランス機能およびバックトラッキング機能によって前記ＰＤＭパラメータを再調整するために、複数回の再試行と手動介入とのうちの一方を可能にすることをさらに含む請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記命令は、
自動定義と手動定義とのうちの少なくとも一方によって前記複数のＰＤＭパラメータを決定すること、
ユーザが１つまたは複数のＰＤＭパラメータの上書きと微調整とのうちの一方を行うことができるようにすること、
クラウド環境と非クラウド環境とのうちの一方における実測値に基づいて前記複数のＰＤＭパラメータの１つまたは複数の次元を定義すること、
をさらに含む請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、ユーザ要求に基づき、マイグレーション試行に関連付けられたエラー報告と最終報告のうちの少なくとも一方を提供することをさらに含む請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記クラウドマイグレーションは、単一移行元から複数移行先へのマイグレーション、複数移行元から単数移行先へのマイグレーション、および複数移行元から複数移行先へのマイグレーションのうちの１つを含む請求項１５に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2015502616.tif 000010
2015502616.tif 000011
2015502616.tif 000012