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