(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】データ・センターのネットワークにおけるデータ再配置管理
(51)【国際特許分類】
G06F 11/14 20060101AFI20241106BHJP
G06N 20/00 20190101ALI20241106BHJP
G06F 9/50 20060101ALI20241106BHJP
【FI】
G06F11/14 658
G06N20/00
G06F9/50 150Z
(21)【出願番号】P 2022513200
(86)(22)【出願日】2020-07-23
(86)【国際出願番号】 EP2020070789
(87)【国際公開番号】W WO2021037450
(87)【国際公開日】2021-03-04
【審査請求日】2022-12-23
(32)【優先日】2019-08-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】クロズル、トーマス
(72)【発明者】
【氏名】ルーガー、エリック
(72)【発明者】
【氏名】パンカンティ、シャラートチャンドラ
【審査官】坂東 博司
(56)【参考文献】
【文献】米国特許出願公開第2014/0173229(US,A1)
【文献】米国特許出願公開第2011/0282982(US,A1)
【文献】米国特許出願公開第2015/0331752(US,A1)
【文献】米国特許出願公開第2019/0250998(US,A1)
【文献】米国特許出願公開第2019/0171966(US,A1)
【文献】米国特許出願公開第2019/0188089(US,A1)
【文献】米国特許出願公開第2018/0227240(US,A1)
【文献】米国特許出願公開第2018/0077080(US,A1)
【文献】米国特許出願公開第2020/0379807(US,A1)
【文献】米国特許出願公開第2017/0220281(US,A1)
【文献】中国特許出願公開第110109779(CN,A)
【文献】中国特許出願公開第110134742(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14
G06N 20/00
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
システムであって、該システムは、
1つまたは複数のコンピュータ可読プログラムを記憶するメモリと、
前記メモリに動作可能に結合されたプロセッサであって、前記コンピュータ可読プログラム
を実行する前記プロセッサと
を備えており、
前記コンピュータ可読プログラムは、
データ・センターのネットワークに関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正することを前記プロセッサに実行させ、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、並びに、
前記マイクロサービス・アプリケーションの前記グループに基づいて前記データの前記再配置を最適化するための機械学習モデルを生成することを前記プロセッサに実行させ、ここで、前記機械学習モデルは、前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて、前記データ復旧スキームに加えられる修正と、前記データ復旧要件との間の関係を識別する、
前記システム。
【請求項2】
前記コンピュータ可読プログラムは、
前記データ復旧スキームを修正して、修正されたデータ復旧スキームを生成することを前記プロセッサにさらに実行させ、ここで、前記修正されたデータ復旧スキームは、前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、
前記コンピュータ可読プログラムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定することを前記プロセッサにさらに実行させ、
前記コンピュータ可読プログラムは、
前記修正されたデータ復旧スキームが前記パフォーマンス・データを改善し、前記データ復旧要件を満たすと予測される
と評価コンポーネントが判定したことに基づいて、前記修正されたデータ復旧スキームに従って前記データの前記再配置を実行することを前記プロセッサにさらに実行させる、
請求項1に記載のシステム。
【請求項3】
前記パフォーマンス・データは、前記ネットワークの少なくとも1つのデータ・センターにさらに関し、
前記
コンピュータ可読プログラムは、
前記少なくとも1つのデータ・センターにさらに基づいて前記データの前記
再配置を最適化するための機械学習モデルを生成する
ことを前記プロセッサにさらに実行させ、ここで、前記機械学習モデルは、前記少なくとも1つのデータ・センターの前記パフォーマンス・データに基づいて、前記データ復旧スキームに加えられる第2の修正と、前記データ復旧要件との間の関係を識別する
、
請求項
1又は2に記載のシステム。
【請求項4】
前記コンピュータ可読プログラムは、
1つまたは複数の初期データ復旧スキームを分析し、そして、該分析されたデータ復旧スキームによって指定された各データ・センターペアの初期状態を設定することを前記プロセッサに実行させ、ここで、前記データ・センターペアば、プライマリ・データ・センターおよびセカンダリ・データ・センターを備えている、
請求項1~3のいずれか1項に記載のシステム。
【請求項5】
システムであって、該システムは、
コンピュータ可読プログラムを記憶するメモリと、
前記メモリに動作可能に結合されたプロセッサであって、前記コンピュータ可読プログラムを実行する前記プロセッサと
を備え
ており、
前記コンピュータ可読プログラムは、
データ・センターのネットワーク
に関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームへの修正を決定するための機械学習モデルを生成する
ことを前記プロセッサに実行させ、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは
前記データ・センターの前記ネットワーク内でのデータの
再配置を指示
するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができ、前記機械学習モデルは、前記パフォーマンス・データに基づいて前記データ復旧スキームへの前記修正と前記データ復旧要件との間の関係を識別する、
前記コンピュータ可読プログラムは、
前記パフォーマンス・データに基づいて前記データ・センターの前記ネットワークからセカンダリ・データ・センター候補を除外することを前記プロセッサに実行させ、
前記コンピュータ可読プログラムは、
前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて前記データの前記再配置を最適化するための機械学習モデルの第1の部分を生成することを前記プロセッサにさらに実行させる
前記システム。
【請求項6】
前記パフォーマンス・データは、前記ネットワークの少なくとも1つのデータ・センターにさらに関し、
前記
コンピュータ可読プログラムは、
前記少なくとも1つのデータ・センターの前記パフォーマンス・データにさらに基づいて前記データの前記
再配置を最適化するための前記機械学習モデルの第2の部分を生成する
ことを前記プロセッサにさらに実行させる
請求項
5に記載のシステム。
【請求項7】
前記
コンピュータ可読プログラムは、
前記データ復旧スキームを修正して、修正されたデータ復旧スキームを生成する
ことを前記プロセッサにさらに実行させ、
ここで、前記修正されたデータ復旧スキームは、前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、
前記
コンピュータ可読プログラムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定する
ことを前記プロセッサにさらに実行させる、
請求項
5に記載のシステム。
【請求項8】
コンピュータ実装方法であって、プロセッサに動作可能に結合されたシステム
が、
データ・センターのネットワーク
に関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームへの修正を決定するための機械学習モデルを生成すること
、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは
前記データ・センターの前記ネットワーク内でのデータの
再配置を指示
するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができ、前記機械学習モデルは、前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて、前記データ復旧スキームに加えられる修正と、前記データ復旧要件との間の関係を識別する、
前記ネットワークのデータ・センター平均利用可能帯域幅に基づいてデータ・センターをソートすること、
前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて前記データの前記再配置を最適化するための機械学習モデルの第1の部分を生成すること
を含む、前記コンピュータ実装方法。
【請求項9】
前記システムが、
前記ネットワークのデータ・センター平均利用可能帯域幅に基づいてデータ・センターをソートすること
をさらに含む、請求項
8に記載のコンピュータ実装方法。
【請求項10】
前記システムが、
前記パフォーマンス・データに基づいて前記ネットワークからセカンダリ・データ・センター候補を除外すること、
をさらに含む、請求項
9に記載のコンピュータ実装方法。
【請求項11】
前記システムが、
前記少なくとも1つのデータ・センターの前記パフォーマンス・データにさらに基づいて前記データの前記
再配置を最適化するための前記機械学習モデルの第2の部分を生成すること
をさらに含む、請求項
8~10のいずれか1項に記載のコンピュータ実装方法。
【請求項12】
前記修正
が、修正されたデータ復旧スキームを生成
することを含み、
前記
システムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定する
こと
をさらに含む、請求項
11に記載のコンピュータ実装方法。
【請求項13】
前記データの前記再配置が、クラウド・コンピューティング環境を介して実行される、請求項8~12のいずれか1項に記載のコンピュータ実装方法。
【請求項14】
コンピュータ実装方法であって、プロセッサに動作可能に結合されたシステム
が、
データ・センターのネットワーク
に関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正すること、
ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは
前記データ・センターの前記ネットワーク内でのデータの
再配置を指示
するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、並びに、
前記マイクロサービス・アプリケーションの前記グループに基づいて前記データの前記再配置を最適化する為の機械が機械学習モデルを生成すること
を含む、コンピュータ実装方法。
【請求項15】
前記システムが、
ターゲット・アプリケーション・レイテンシに対する平均アプリケーション・レイテンシの比率に応じて、マイクロサービス・グループをソートすること、ここで、該ソートすることが、1つまたは複数のサービス・レベル目標ターゲットを達成しないマイクロサービス・グループの後に、1つまたは複数のサービス・レベル目標ターゲットを達成しないリスクのあるマイクロサービス・グループが続くように、マイクロサービス・グループをソートすること
をさらに含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
前記システムが、
前記パフォーマンス・データに基づいて前記データ・センターの前記ネットワークからセカンダリ・データ・センター候補を除外すること、
をさらに含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
前記システムが、
前記システムによって、前記少なくとも1つのデータ・センターにさらに基づいて前記データの前記
再配置を最適化するための第2の機械学習モデルを生成すること
をさらに含む、請求項
14~16のいずれか1項に記載のコンピュータ実装方法。
【請求項18】
前記修正することが、修正されたデータ復旧スキームを生成するために、前記機械学習モデルおよび前記第2の機械学習モデルに基づき、
前記システムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定すること
をさらに含む、請求項1
7に記載のコンピュータ実装方法。
【請求項19】
前記データの前記再配置が、クラウド・コンピューティング環境を介して実行される、請求項14~16のいずれか1項に記載のコンピュータ実装方法。
【請求項20】
データ・センターのネットワーク内でデータを適応的に分配するためのコンピュータ・プログラムであって、請求項8~13のいずれか1項に記載のコンピュータ実装方法をシステムに実行させる、前記コンピュータ・プログラム。
【請求項21】
データ・センターのネットワーク内でデータを適応的に分配するためのコンピュータ・プログラムであって
、請求項14~19のいずれか1項に記載のコンピュータ実装方法をシステムに実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本主題の開示は、1つまたは複数のデータ・センター・ネットワークにおけるデータ再配置の管理に関し、より詳細には、1つまたは複数のデータ・センターのネットワーク内でのデータの分配を指示することができる1つまたは複数のデータ復旧スキームの最適化に関する。
【背景技術】
【0002】
一次ソースが危険にさらされた場合に、データ復旧スキームを利用して一次ソースからデータを複製および転送することによって、データの復旧を容易にすることができる。従来のデータベースの復旧は、事前に決定された、時間の経過と共に静的なままの、直接的なソースからターゲットへのデータベースの複製として設計されている。たとえば、従来のデータ復旧スキームは、データが主に供給または実行あるいはその両方が行われるプライマリ・データ・センターに関連する1つまたは複数の動作障害に応じて、プライマリ・データ・センターから1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を指示することができる。1つまたは複数のセカンダリ・データ・センターは、データ復旧スキームを実行する前に、事前に決定することができる。さらに、セカンダリ・データ・センターが事前に決定されると、再配置先としてのそれらのステータスは、典型的には、プライマリ・データ・センターの動作全体を通じて不変のままである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、従来のデータ復旧スキームは、時間の経過と共に変化し得るデータまたはデータ・センターあるいはその両方の複数の特性を考慮していない場合がある。たとえば、データを実行するための動作要件、または1つまたは複数のデータ・センターのパフォーマンス特性、あるいはその両方は、データ復旧スキームの確立後に変化し得る。静的なセカンダリ・データ・センターをデータ再配置の対象にすることにより、従来のデータ復旧スキームは、当初の設計よりも実行効率が大幅に低下し得る。
【0004】
以下に、本発明の1つまたは複数の実施形態の基本的な理解を提供するための概要を提示する。この概要は重要な要素または必須の要素を特定するものではなく、特定の実施形態のいかなる範囲または特許請求の範囲のいかなる範囲を線引きするものでもない。その唯一の目的は、後で提示するより詳細な説明の前置きとして、概念を簡略化した形で提示することにある。本明細書に記載の1つまたは複数の実施形態では、1つまたは複数のデータ復旧スキームを最適化することができるシステム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせについて説明する。
【0005】
一実施形態によれば、システムが提供される。このシステムは、コンピュータ実行可能コンポーネント(プログラム)を記憶するメモリを含むことができる。このシステムはまた、メモリに動作可能に結合され、メモリに記憶されたコンピュータ実行可能コンポーネントを実行することができるプロセッサを含むことができる。コンピュータ実行可能コンポーネントは、データ・センターのネットワークによって示されるパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正することができるデータ管理コンポーネントを含むことができる。データ復旧スキームはネットワーク内でのデータの再配置を指示することができる。そのようなシステムの利点は、所与のネットワーク・データ・センターの測定されたパフォーマンス特性に適応したデータ復旧スキームの生成であり得る。
【0006】
いくつかの例では、データ管理コンポーネントは、修正されたデータ復旧スキームを生成するために、データ復旧スキームを修正することができる。また、このシステムは、修正されたデータ復旧スキームが、データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、データ復旧要件を満たすと予測されるか否かを判定するために、修正されたデータ復旧スキームを分析することができる評価コンポーネントを含むことができる。さらに、このシステムは、修正されたデータ復旧スキームがパフォーマンス・データを改善し、データ復旧要件を満たすと予測されると評価コンポーネントが判定したことに基づいて、修正されたデータ復旧スキームに従ってデータの再配置を実行することができる再配置コンポーネントを含むことができる。そのようなシステムの利点は、提案された変更の自律的な評価により反復的な最適化処理を可能にできることであり得る。
【0007】
一実施形態によれば、システムが提供される。このシステムは、コンピュータ実行可能コンポーネントを記憶するメモリを含むことができる。このシステムはまた、メモリに動作可能に結合され、メモリに記憶されたコンピュータ実行可能コンポーネントを実行することができるプロセッサを含むことができる。コンピュータ実行可能コンポーネントは、データ・センターのネットワークによって示されるパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームへの修正を決定するための機械学習モデルを生成することができるデータ管理コンポーネントを含むことができる。データ復旧スキームは、ネットワーク内でのデータの再配置を指示することができる。そのようなシステムの利点は、システムの自律的な性質により、データの機密性を維持しつつ、データ復旧スキームへの調整も可能にできることであり得る。
【0008】
いくつかの例では、パフォーマンス・データは、データ・センターの場所、ネットワークの帯域幅、ネットワークのレイテンシ、データによって使用される帯域幅、データの実行中に示されるレイテンシ、およびデータの再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含むことができる。また、データ復旧要件は、データ・センターの場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含むことができる。そのようなシステムの利点は、データ・センターのネットワークの容量によって実現できるデータ復旧スキームを用いて、レイテンシ・ターゲットなどの1つまたは複数のターゲット・サービス・レベル目標の達成を向上できることであり得る。
【0009】
一実施形態によれば、コンピュータ実装方法が提供される。このコンピュータ実装方法は、プロセッサに動作可能に結合されたシステムによって、データ・センターのネットワークによって示されるパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームへの修正を決定するための機械学習モデルを生成することを含むことができる。データ復旧スキームは、ネットワーク内でのデータの再配置を指示することができる。そのようなコンピュータ実装方法の利点は、データまたはデータ・センターあるいはその両方の動作特性に基づいて、データ再配置先(たとえば、セカンダリ・データ・センター)を容易に変更する、または改変する、あるいはその両方を行うことができることであり得る。
【0010】
いくつかの例では、パフォーマンス・データは、データ内に含まれるマイクロサービス・アプリケーションのグループと、ネットワークの少なくとも1つのデータ・センターとに関するものとすることができる。また、このコンピュータ実装方法は、システムによって、マイクロサービス・アプリケーションのグループのパフォーマンス・データに基づいてデータの再配置を最適化するための機械学習モデルの第1の部分を生成することを含むことができる。さらに、このコンピュータ実装方法は、システムによって、少なくとも1つのデータ・センターのパフォーマンス・データにさらに基づいてデータの再配置を最適化するための機械学習モデルの第2の部分を生成することを含むことができる。そのようなコンピュータ実装方法の利点は、であり得る。
【0011】
一実施形態によれば、コンピュータ実装方法が提供される。このコンピュータ実装方法は、プロセッサに動作可能に結合されたシステムによって、データ・センターのネットワークによって示されるパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正することを含むことができる。データ復旧スキームはネットワーク内でのデータの再配置を指示することができる。そのようなコンピュータ実装方法の利点は、データ復旧スキームの実行中のネットワーク利用率が高まることであり得る。
【0012】
いくつかの例では、修正することは、修正されたデータ復旧スキームを生成するために、第1の機械学習モデルおよび第2の機械学習モデルに基づくことができる。また、このコンピュータ実装方法は、システムによって、修正されたデータ復旧スキームが、データ復旧スキームと比較してパフォーマンス・データを改善し、データ復旧要件を満たすと予測されるか否かを判定するために、修正されたデータ復旧スキームを分析することを含むことができる。そのようなコンピュータ実装方法の利点により、機械学習の原理を活用して、この方法の効率を継続的に向上させることができる。
【0013】
一実施形態によれば、データ・センターのネットワーク内でデータを適応的に分配するためのコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、プログラム命令を具現化したコンピュータ可読記憶媒体を含むことができる。プログラム命令は、プロセッサによって実行可能であり、プロセッサによって、データ・センターのネットワークによって示されるパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正することをプロセッサに行わせることができる。データ復旧スキームはネットワーク内でのデータの再配置を指示することができる。そのようなコンピュータ・プログラム製品の利点は、リアルタイムまたはほぼリアルタイムに測定される変化するパフォーマンス特性に基づいて、データ再配置スキームを継続的に分析する、または適応化の対象とする、あるいはその両方を行うことができるということであり得る。
【0014】
いくつかの例では、パフォーマンス・データは、データ内に含まれるマイクロサービス・アプリケーションのグループと、ネットワークの少なくとも1つのデータ・センターとに関するものとすることができる。さらに、プログラム命令は、プロセッサによって、マイクロサービス・アプリケーションのグループに基づいてデータの再配置を最適化するための第1の機械学習モデルを生成することをプロセッサにさらに行わせることができる。また、プログラム命令は、プロセッサによって、少なくとも1つのデータ・センターにさらに基づいてデータの再配置を最適化するための第2の機械学習モデルを生成することをプロセッサに行わせることができる。そのようなコンピュータ・プログラム製品の利点は、所与のデータ・センターのネットワークにおける様々な変化に自律的に順応することができるデータ復旧システムを実現することであり得る。
【図面の簡単な説明】
【0015】
【
図1】本明細書に記載の1つまたは複数の実施形態による、1つまたは複数のデータ・センターのネットワーク内での1つまたは複数のデータ復旧スキームを最適化することができる例示的かつ非限定的なシステムのブロック図である。
【
図2】本明細書に記載の1つまたは複数の実施形態による、1つまたは複数のプライマリ・データ・センターから1つまたは複数のセカンダリ・データ・センターへのデータの
再配置を容易にすることができる例示的かつ非限定的なデータ・センター・ネットワークのブロック図である。
【
図3】本明細書に記載の1つまたは複数の実施形態による、1つまたは複数のデータ復旧スキームを評価して1つまたは複数のデータ復旧要件が満たされているか否かを判定することができる例示的かつ非限定的なシステムのブロック図である。
【
図4】本明細書に記載の1つまたは複数の実施形態による、データ内に含まれる1つまたは複数のマイクロサービスのグループに関するパフォーマンス・データに基づいて1つまたは複数のデータ復旧スキームを修正することができる例示的かつ非限定的なシステムのブロック図である。
【
図5】本明細書に記載の1つまたは複数の実施形態による、所与のデータ復旧スキームによって管理されるデータ・センター・ネットワーク内に含まれる1つまたは複数のデータ・センターに関するパフォーマンス・データに基づいて1つまたは複数のデータ復旧スキームを修正することができる例示的かつ非限定的なシステムのブロック図である。
【
図6】本明細書に記載の1つまたは複数の実施形態による、1つまたは複数の修正されたデータ復旧スキームに従って1つまたは複数のデータ・センター・ネットワーク間でデータを
再配置することができる例示的かつ非限定的なシステムのブロック図である。
【
図7】本明細書に記載の1つまたは複数の実施形態による、1つまたは複数のデータ復旧スキームによって指示される、1つまたは複数のプライマリ・データ・センターから1つまたは複数のセカンダリ・データ・センターへのデータの
再配置を容易にすることができる例示的かつ非限定的なデータ・センター・ネットワークの図である。
【
図8】本明細書に記載の1つまたは複数の実施形態による、対象データまたは1つまたは複数のデータ・センター・ネットワークあるいはその両方に関連するパフォーマンス・データまたはデータ復旧要件あるいはその両方に基づいて
再配置効率を高めるように1つまたは複数のデータ復旧スキームを修正することを容易にすることができる例示的かつ非限定的な方法の流れ図である。
【
図9】本明細書に記載の1つまたは複数の実施形態による、対象データまたは1つまたは複数のデータ・センター・ネットワークあるいはその両方に関連するパフォーマンス・データまたはデータ復旧要件あるいはその両方に基づいて
再配置効率を高めるように1つまたは複数のデータ復旧スキームを修正することを容易にすることができる例示的かつ非限定的な方法の流れ図である。
【
図10】本明細書に記載の1つまたは複数の実施形態による、対象データまたは1つまたは複数のデータ・センター・ネットワークあるいはその両方に関連するパフォーマンス・データまたはデータ復旧要件あるいはその両方に基づいて
再配置効率を高めるように1つまたは複数のデータ復旧スキームを修正することを容易にすることができる例示的かつ非限定的な方法の流れ図である。
【
図11】本明細書に記載の1つまたは複数の実施形態による、対象データまたは1つまたは複数のデータ・センター・ネットワークあるいはその両方に関連するパフォーマンス・データまたはデータ復旧要件あるいはその両方に基づいて
再配置効率を高めるように1つまたは複数のデータ復旧スキームを修正することを容易にすることができる例示的かつ非限定的な方法の流れ図である。
【
図12】本明細書に記載の1つまたは複数の実施形態によるクラウド・コンピューティング環境を示す図である。
【
図13】本明細書に記載の1つまたは複数の実施形態による抽象化モデル・レイヤを示す図である。
【
図14】本明細書に記載の1つまたは複数の実施形態を容易にすることができる例示的かつ非限定的な動作環境のブロック図である。
【発明を実施するための形態】
【0016】
以下の詳細な説明は例示的なものにすぎず、実施形態を限定すること、または実施形態の応用もしくは使用を限定すること、あるいはその両方を意図したものではない。さらに、前述の背景技術もしくは発明の概要のセクション、または発明を実施するための形態のセクションに提示したいかなる明示または暗示した情報によっても束縛されることを意図していない。
【0017】
以下、図面を参照して1つまたは複数の実施形態を説明し、図面全体を通して、同様の要素を指すために同様の参照番号を使用する。以下の説明では、説明の目的で、1つまたは複数の実施形態のより完全な理解を提供するために、多数の具体的な詳細を記載している。しかしながら、様々な場合において、これらの具体的な詳細がなくても1つまたは複数の実施形態を実践できることは明らかである。
【0018】
データ復旧スキームの従来の実装に関する問題を考慮に入れて、本開示は、データの以前の実行に関する過去のパフォーマンス・データ、またはデータ・センターの特性、あるいはその両方に基づいてデータ復旧スキームを適応させることによって、これらの問題のうちの1つまたは複数に対する解決策を生み出すように実装することができる。有利なことに、本明細書に記載の1つまたは複数の実施形態は、1つまたは複数の定義されたデータ復旧要件を最適化するように1つまたは複数の初期データ復旧スキームを修正することができる。たとえば、1つまたは複数の実施形態は、1つまたは複数のユーザ定義の要件を満たしつつ、1つまたは複数のサービス・レベル目標(「SLO:service level objective」)を最適化することができる。
【0019】
本発明の様々な実施形態は、所与のネットワークにおける所与のデータまたはデータ・センターあるいはその両方によって示されるパフォーマンス・データに基づいた1つまたは複数のデータ復旧スキームの効率的かつ効果的で自律的な(たとえば、人間による直接的な指示のない)適応化を容易にするコンピュータ処理システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせを対象とすることができる。1つまたは複数の実施形態は、確立されたサービス・レベル合意(「SLA:service level agreement」)、または経験したネットワーク利用率、あるいはその両方に応じて、時間と共に変化し得る適応的なデータ復旧スキームを生成することができる。たとえば、1つまたは複数の実施形態は、データ・センターのネットワーク全体で示されるパフォーマンス・データを分析し、パフォーマンス・データに基づいて、たとえば、SLO、目標復旧時間(「RTO:recovery time object」)、または目標復旧時点(「RPO:recovery point objective」)、あるいはそれらの組み合わせを最適化するようにデータ復旧スキームを適応させることができるシステム、コンピュータ実装方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせに関するものとすることができる。
【0020】
コンピュータ処理システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせは、ハードウェアまたはソフトウェアあるいはその両方を利用して、本質的に高度に専門的な問題(たとえば、適応的なデータ復旧スキームの生成または実行あるいはその両方)であって、抽象的な問題ではなく、人間による一連の精神活動として実行することができない問題を解決する。データ復旧スキームによって管理することができる膨大な量のデータを、個人または複数の個人は、本明細書に記載の実施形態と同じ速度または効率あるいはその両方で、容易に監視および分析することができない。さらに、本明細書に記載の1つまたは複数の実施形態の自律的な性質によって、データまたはデータ分配(disbursement)あるいはその両方の機密性を維持することができる。
【0021】
図1は、所与のネットワークのデータまたは1つまたは複数のデータ・センターあるいはその両方の実行によって示されるパフォーマンス・データに基づいて1つまたは複数のデータ復旧スキームを修正することができる例示的かつ非限定的なシステム100のブロック図を示す。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。本発明の様々な実施形態におけるシステム(たとえば、システム100および同様のもの)、装置、または処理の態様は、1つまたは複数のマシン内に具現化された、たとえば、1つまたは複数のマシンに関連付けられた1つまたは複数のコンピュータ可読媒体(または複数の媒体)に具現化された、1つまたは複数のマシン実行可能コンポーネントを構成することができる。そのようなコンポーネントは、1つまたは複数のマシン、たとえば、コンピュータ、コンピューティング・デバイス、仮想マシンなどによって実行された場合に、マシンに記載の動作を実行させることができる。
【0022】
図1に示すように、システム100は、1つまたは複数のサーバ102、1つまたは複数のネットワーク104、入力デバイス106、またはデータ・センター108、あるいはそれらの組み合わせを含むことができる。サーバ102は、データ管理コンポーネント110を含むことができる。データ管理コンポーネント110は、通信コンポーネント112または初期化コンポーネント114あるいはその両方をさらに含むことができる。また、サーバ102は、少なくとも1つのメモリ116を含むか、または別の方法でメモリ116に関連付けることができる。サーバ102はシステム・バス118をさらに含むことができ、システム・バス118は様々なコンポーネントに結合することができ、たとえば、データ管理コンポーネント110および関連コンポーネント、メモリ116、またはプロセッサ120、あるいはそれらの組み合わせなどであるが、これらに限定されない。
図1にはサーバ102を示しているが、他の実施形態では、様々なタイプの複数のデバイスを
図1に示す特徴に関連付けるか、または特徴を含めることができる。さらに、サーバ102は、1つまたは複数のクラウド・コンピューティング環境と通信することができる。
【0023】
1つまたは複数のネットワーク104は、セルラー・ネットワーク、ワイド・エリア・ネットワーク(WAN)(たとえば、インターネット)またはローカル・エリア・ネットワーク(LAN)を含むがこれらに限定されない有線および無線ネットワークを含むことができる。たとえば、サーバ102は、たとえば、セルラー、WAN、ワイヤレス・フィデリティ(Wi-Fi)、Wi-Max、WLAN、Bluetoothテクノロジー、それらの組み合わせ、および/または同様のものを含むが、これらに限定されない、実質的に全ての所望の有線または無線技術を使用して、1つまたは複数の入力デバイス106またはデータ・センター108あるいはその両方と通信することができる(逆も同様である)。さらに、図示した実施形態では、データ管理コンポーネント110を1つまたは複数のサーバ102上に設けることができるが、システム100のアーキテクチャはそのように限定されないことを理解されたい。たとえば、データ管理コンポーネント110、あるいはデータ管理コンポーネント110の1つまたは複数のコンポーネントは、他のコンピュータ・デバイス、たとえば、他のサーバ・デバイス、クライアント・デバイスなどに配置することができる。
【0024】
1つまたは複数の入力デバイス106は、1つまたは複数のコンピュータ化されたデバイスを含むことができ、これには、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯電話(たとえば、スマート・フォン)、コンピュータ化されたタブレット(たとえば、プロセッサを含むもの)、スマート・ウォッチ、キーボード、タッチ・スクリーン、マウス、それらの組み合わせ、および/または同様のものを含めることができるが、これらに限定されない。システム100のユーザは、1つまたは複数の入力デバイス106を利用してシステム100にデータを入力することによって、そのデータを(たとえば、直接接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方を介して)サーバ102またはデータ・センター108あるいはその両方と共有することができる。たとえば、1つまたは複数の入力デバイス106は、(たとえば、直接接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方を介して)通信コンポーネント112にデータを送信することができる。また、1つまたは複数の入力デバイス106は、システム100によって生成された1つまたは複数の出力をユーザに提示することができる1つまたは複数のディスプレイを含むことができる。たとえば、1つまたは複数のディスプレイには、カソード・チューブ・ディスプレイ(「CRT」)、発光ダイオード・ディスプレイ(「LED」)、エレクトロルミネセント・ディスプレイ(「ELD」)、プラズマ・ディスプレイ・パネル(「PDP」)、液晶ディスプレイ(「LCD」)、有機発光ダイオード・ディスプレイ(「OLED」)、それらの組み合わせ、および/または同様のものを含めることができるが、これらに限定されない。
【0025】
システム100のユーザは、1つまたは複数の入力デバイス106または1つまたは複数のネットワーク104あるいはその両方を利用して、1つまたは複数の設定またはコマンドあるいはその両方をシステム100に入力することができる。たとえば、本明細書に記載の様々な実施形態では、システム100のユーザは、1つまたは複数の入力デバイス106を介して、サーバ102または関連コンポーネントあるいはその両方を動作させるまたは操作するあるいはその両方を行うことができる。また、システム100のユーザは、1つまたは複数の入力デバイス106を利用して、サーバ102または関連コンポーネントあるいはその両方によって生成された1つまたは複数の出力(たとえば、表示、データ、可視化(visualizations)、または同様のもの、あるいはそれらの組み合わせ)を表示することができる。さらに、1つまたは複数の実施形態では、1つまたは複数の入力デバイス106は、クラウド・コンピューティング環境内に含める、またはこれに動作可能に結合する、あるいはその両方を行うことができる。
【0026】
1つまたは複数のデータ・センター108は、1つまたは複数のデータ復旧スキームによって管理されるデータを記憶する、実行する、共有する、または別の方法で操作する、あるいはそれらの組み合わせを行うことができる。たとえば、1つまたは複数のデータ・センター108は、所与のデータを記憶する、処理する、または配信する、あるいはそれらの組み合わせを行うために使用することができる1つまたは複数のコンピュータ・サーバを含むことができる。様々な実施形態では、システムは、1つまたは複数のプライマリ・データ・センター108および1つまたは複数のセカンダリ・データ・センター108を含む複数のデータ・センター108を含むことができる。1つまたは複数のプライマリ・データ・センター108は、所与のデータの記憶、処理、または配信、あるいはそれらの組み合わせを最初に担当するデータ・センター108とすることができる。1つまたは複数のセカンダリ・データ・センター108は、所与のデータの再配置の対象となるデータ・センター108とすることができる。さらに、複数のデータ・センター108は、直接的な電気接続または1つまたは複数のネットワーク104あるいはその両方を介して、互いに通信する、またはデータを共有する、あるいはその両方を行うことができる。
【0027】
1つまたは複数の実施形態では、システム100のユーザは、1つまたは複数の入力デバイス106を介して、データ・センター108のうちの1つまたは複数をプライマリ・データ・センター108として指定することができる。同様に、ユーザは、1つまたは複数の入力デバイス106を介して、データ・センター108のうちの1つまたは複数をセカンダリ・データ・センター108として指定することができる。たとえば、通信コンポーネント112は、1つまたは複数の入力デバイス106との直接的な電気接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方を介して、1つまたは複数のデータ・センターの指定を受信することができ、またはそれらの指定をデータ管理コンポーネント110の関連コンポーネントと共有することができ、あるいはその両方を行うことができる。これにより、データ管理コンポーネント110は、ユーザ定義の指定に基づいて初期データ復旧スキームを生成することができる。たとえば、データ管理コンポーネント110は、ユーザによってプライマリとして指定された1つまたは複数のデータ・センター108から、ユーザによってセカンダリとして指定された1つまたは複数のデータ・センター108へのデータの複製または再配置あるいはその両方を記述したデータ復旧スキームを生成することができる。さらに、システム100のユーザは、1つまたは複数の入力デバイス106を利用して、初期データ復旧スキームを生成するときにデータ管理コンポーネント110によって考慮される1つまたは複数のSLA、SLO、RPO、またはRTO、あるいはそれらの組み合わせを定義することができる。
【0028】
いくつかの実施形態では、システム100のユーザは、1つまたは複数の入力デバイス106を介して(たとえば、通信コンポーネント112、または1つまたは複数のネットワーク104、あるいはその両方を介して)データ管理コンポーネント110に初期データ復旧スキームを提供することができる。様々な実施形態では、システム100のユーザは、1つまたは複数の入力デバイス106を利用して、1つまたは複数のデータ・センター108をプライマリ・データ・センター108として指定し、1つまたは複数のデータ復旧要件を入力することができる。すると、初期化コンポーネント114は、1つまたは複数の他のデータ・センター108をセカンダリ・データ・センター108として自律的に指定して、データ管理コンポーネント110が初期データ復旧スキームを生成するのを容易にすることができる。
【0029】
たとえば、初期化コンポーネント114は、1つまたは複数のネットワーク104を介してアクセス可能なデータ・センター108を評価して、利用可能なデータ・センター108ペアのリストを生成することができ、各データ・センター108ペアは、1つまたは複数の指定されたプライマリ・データ・センター108を1つまたは複数の利用可能な他のデータ・センター108に関連付けたもの(たとえば、それによって利用可能なセカンダリ・データ・センター108として指定される)を含むことができる。次に、初期化コンポーネント114は、システム100のユーザによって定義された1つまたは複数のデータ復旧要件に基づいて、利用可能リストからデータ・センター108ペアを除外することができる。たとえば、初期化コンポーネント114は、所与のデータ・センター108がプライマリ・データ・センター108と同じ施設またはインフラストラクチャあるいはその両方の一部であることに基づいて、それらのデータ・センター108を潜在的に利用可能なセカンダリ・データ・センター108として除外することができる。プライマリ・データ・センター108の施設またはインフラストラクチャあるいはその両方とは別のセカンダリ・データ・センター108を指定することにより、データ管理コンポーネント110は、プライマリ・データ・センター108の施設またはインフラストラクチャあるいはその両方が危険にさらされた場合のデータ復旧を容易にすることができるデータ復旧スキームを生成することができる。
【0030】
他の例では、初期化コンポーネント114は、所与のデータ・センター108が(たとえば、システム100のユーザによって定義される)許容されない地理に位置していることに基づいて、それらのデータ・センター108を潜在的に利用可能なセカンダリ・データ・センター108として除外することができる。たとえば、システム100のユーザは、あらゆるデータ再配置が制限される地理的境界を定義することができ(たとえば、特定の自治体、国、地域、または国、あるいはそれらの組み合わせにデータ再配置を制限することができ)、すると、地理的境界外に位置するデータ・センター108を、セカンダリ・データ・センター108指定の候補として除外することができる。これにより、初期化コンポーネント114は、1つまたは複数のユーザ定義のデータ復旧要件と競合するセカンダリ・データ・センター108候補を除外して、ユーザのニーズ、または1つまたは複数の管理規則への準拠、あるいはその両方を促進することができる。
【0031】
1つまたは複数の実施形態では、初期化コンポーネント114は、所与のデータ・センター108のパフォーマンス容量と、データ復旧スキームの1つまたは複数のターゲット・パフォーマンス目標とに基づいて、それらのデータ・センター108を潜在的に利用可能なデータ・センター108としてさらに除外することができる。たとえば、初期化コンポーネント114は、データ復旧スキームの実行中に1つまたは複数のレイテンシSLOを達成できない可能性があるセカンダリ・データ・センター108候補を除外することができる。様々な実施形態では、初期化コンポーネント114は、帯域幅(たとえば、データ・センター108の平均利用可能帯域幅)に基づいて、残りのセカンダリ・データ・センター108候補をソートすることができる。これにより、初期化コンポーネント114は、1つまたは複数の所与のプライマリ・データ・センター108に対してセカンダリ・データ・センター108として指定することができる利用可能なデータ・センター108のリストを生成することによって、初期データ復旧スキームの生成を容易にすることができる。たとえば、データ管理コンポーネント110は、1つまたは複数の初期データ復旧スキームを生成する際に、利用可能なデータ・センター108のリストを分析し、それらのデータ・センター108のうちの1つまたは複数をセカンダリ・データ・センター108として指定することができる。
【0032】
図2は、本明細書に記載の1つまたは複数の実施形態による、3つのデータ・センター108を含む例示的かつ非限定的なシステム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
図2は3つのデータ・センター108を示しているが、システム100のアーキテクチャはそのように限定されない。たとえば、3つより少ないまたは多いデータ・センター108を含む実施形態も想定される。
【0033】
図2に示すように、データ・センター108は、1つまたは複数の直接的な電気接続、または1つまたは複数のネットワーク104、あるいはその両方を介して、互いまたはサーバ102あるいはその両方と通信することができる。
図2では、1つまたは複数のデータ復旧スキームによる管理の対象となるデータを複数の円で示している。1つまたは複数の実施形態では、データは1つまたは複数のマイクロサービスを含むことができる。さらに、1つまたは複数のマイクロサービスは、マイクロサービスの機能または要件あるいはその両方に基づいてグループに分けることができる。様々な実施形態では、同じグループのマイクロサービスは、データ復旧スキームを介して一緒に
再配置することができる。たとえば、
図2では2つのマイクロサービスのグループを示しており、第1のマイクロサービスのグループを白い円で表し、第2のマイクロサービスのグループを黒い円で表している。また、マイクロサービスの各グループを1つまたは複数のそれぞれのデータベースに関連付けて、それらの機能を促進することができる。1つまたは複数のマイクロサービスのグループは、プライマリ・データ・センター108に最初に記憶し、処理し、または実行し、あるいはそれらの組み合わせを行うことができる。たとえば、
図2は、データ復旧スキームを実行する前のシステム100を示しており、左側のデータ・センター108はプライマリ・データ・センター108として指定され(たとえば、それによって、2つのマイクロサービスのグループを含む)、下側および右側のデータ・センター108は、セカンダリ・データ・センター108として指定されている。
【0034】
様々な実施形態では、データ管理コンポーネント110は(たとえば、通信コンポーネント112または初期化コンポーネント114あるいはその両方を介して)、データ(たとえば、1つまたは複数のマイクロサービス)および1つまたは複数のデータ・センター108に関するパフォーマンス・データ、または1つまたは複数のデータ復旧要件(たとえば、システム100のユーザ、または1つまたは複数のSLA、あるいはその両方によって定義されるもの)、あるいはその両方を収集することができる。1つまたは複数のデータ・センター108に関するパフォーマンス・データは、たとえば、データ・センター108の場所(たとえば、所与のデータ・センター108の住所、自治体、地域、国、大陸、もしくは領土(territory)、またはそれらの組み合わせ)、ワーク・グループの指定(たとえば、所与のデータ・センター108と提携している1つまたは複数の組織)、1つまたは複数のデータ・センター108間の最大割当帯域幅、1つまたは複数のデータ・センター108間の平均ネットワーク・レイテンシ、所与のデータ・センター108の動作容量もしくは特徴またはその両方、データ・センター108間の距離、所与のデータ・センター108をサポートするための固定費用もしくは経常費用またはその両方、それらの組み合わせ、ならびに/あるいは同様のものを記述することができるが、これらに限定されない。データ(たとえば、1つまたは複数のマイクロサービス・グループ)に関するパフォーマンス・データは、たとえば、ターゲット・アプリケーション・レイテンシ(たとえば、指定されたセカンダリ・データ・センター108にデータを再配置する、またはデータ更新を配信する、あるいはその両方を行うための最大時間)、コロケーション・グループ指定(たとえば、ターゲット・セカンダリ・データ・センター108を記述する1つまたは複数の要件)、アンチ・コロケーション・グループ(たとえば、潜在的なセカンダリ・データ・センター108候補をフィルタリングするために使用することができる1つまたは複数の要件)、平均使用帯域幅(たとえば、1日などの一定期間にわたる所与のマイクロサービス・グループのデータベース全体で測定された合計使用帯域幅)、平均アプリケーション・レイテンシ(たとえば、所与のマイクロサービス・グループのデータベース全体で測定された最大レイテンシ)、それらの組み合わせ、ならびに/あるいは同様のものを記述することができるが、これらに限定されない。様々な実施形態では、1つまたは複数のデータ・センター108またはデータあるいはその両方に関するパフォーマンス・データを定期的に測定する、または更新する、あるいはその両方を行うことによって、最近のパフォーマンス履歴を取り込むことができる。
【0035】
図3は、本明細書に記載の1つまたは複数の実施形態による、評価コンポーネント302をさらに含む例示的かつ非限定的なシステム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。1つまたは複数の実施形態では、評価コンポーネント302は、1つまたは複数のデータ復旧スキームを分析して、所与のデータ復旧スキームが1つまたは複数のターゲット・パフォーマンス目標を達成すると予測されるか否かを判定することができる。たとえば、評価コンポーネント302は、1つまたは複数の初期データ復旧スキームを分析して、データ復旧スキームへの将来の修正によりパフォーマンスの向上が実現されるか否かを判定するために利用することができる1つまたは複数のベースライン・メトリックを生成することができる。
【0036】
1つまたは複数の実施形態では、評価コンポーネント302は、ことができる。たとえば、評価コンポーネント302は、ペアの所与のデータ・センター108間の推定使用帯域幅に関する評価カウンタをゼロの値にリセットすることができる。次に、評価コンポーネント302は、所与のデータ・センター108ペアの使用帯域幅を、管理されるマイクロサービス・グループごとに更新することができる。たとえば、評価コンポーネント302は、推定使用帯域幅を平均使用帯域幅の値(たとえば、所与のマイクロサービス・グループのデータベースによって使用される合計帯域幅)だけ増加させることができる。続いて、評価コンポーネント302は、1つまたは複数のSLOターゲットを満たすことができないマイクロサービス・グループの量(amount)をカウントすることができる。たとえば、評価コンポーネント302は、所与のマイクロサービス・グループの平均アプリケーション・レイテンシがターゲット・アプリケーション・レイテンシよりも大きい場合(たとえば、測定されたアプリケーション・レイテンシがターゲットSLOよりも大きい場合)、未達成のSLOターゲットをカウントすることができる。さらに、評価コンポーネント302は、指定されたデータ・センター108間のトラフィックの多いエリアを識別することができる。たとえば、評価コンポーネント302は、推定使用帯域幅を最大割当帯域幅で割った値(たとえば、所与のデータ・センター108間で使用される所与の帯域幅のパーセンテージ)として、帯域幅使用率を計算することができる。また、評価コンポーネント302は、上記の関数に基づいて1つまたは複数の評価値を求めることができる。たとえば、評価コンポーネント302は、1つまたは複数のSLOターゲットを達成しないマイクロサービス・グループのパーセンテージとして、未達成のSLOの比率を計算することができる。他の例では、評価コンポーネント302は、平均帯域幅使用率を帯域幅使用率の平均からの二乗偏差として計算することができる(たとえば、これは、所与のデータ復旧スキームによって管理される1つまたは複数のデータ・センター108ペアの帯域幅の分布を記述することができる)。
【0037】
図4は、本明細書に記載の1つまたは複数の実施形態による、データ最適化コンポーネント402をさらに含む例示的かつ非限定的なシステム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。様々な実施形態では、データ最適化コンポーネント402は、データ(たとえば、マイクロサービス・グループ)の
再配置を最適化するための1つまたは複数の機械学習モデルを生成することができ、機械学習モデルは、1つまたは複数のマイクロサービスのグループのパフォーマンス・データに基づいて、初期データ復旧スキームへの1つまたは複数の修正と、1つまたは複数のデータ復旧要件との間の1つまたは複数の関係を識別することができる。
【0038】
1つまたは複数の実施形態では、データ最適化コンポーネント402は、データ管理コンポーネント110によって実施することができる初期データ復旧スキームへの1つまたは複数の修正を識別して、修正されたデータ復旧スキームを生成することができる。すると、評価コンポーネント302は、修正されたデータ復旧スキームを評価して1つまたは複数の評価値を計算することができ、これらを初期データ復旧スキームの評価値と比較して、修正によりデータ復旧スキームの効率が向上するか否かを判定することができる。さらに、潜在的な修正の識別、および修正されたデータ復旧スキームの評価を、データ最適化コンポーネント402または評価コンポーネント302あるいはその両方によって反復的に実行して、データ管理コンポーネント110によって所与のデータ復旧スキームを最適化することができる。
【0039】
たとえば、様々な実施形態において、データ最適化コンポーネント402は、分析の対象となるデータ復旧スキーム(たとえば、初期データ復旧スキーム)を複製することから最適化の反復を開始し、識別された修正によってデータ復旧スキームの有効性が向上しなくなったときに機械学習モデルを取り出すようにすることができる。その際、データ最適化コンポーネント402は、平均アプリケーション・レイテンシがターゲット・アプリケーション・レイテンシの定義された閾値(たとえば、ユーザ定義の閾値)よりも大きいマイクロサービス・グループをフィルタリングすることから1つまたは複数の機械学習モデルの生成を開始することができる。たとえば、定義された閾値がターゲット・アプリケーション・レイテンシの90%である場合、データ最適化コンポーネント402は、平均アプリケーション・レイテンシがターゲット・アプリケーション・レイテンシの90%よりも大きい所与のデータ復旧スキームのマイクロサービス・グループをフィルタリングすることができる。
【0040】
1つまたは複数の実施形態では、データ最適化コンポーネント402はさらに、ターゲット・アプリケーション・レイテンシに対する平均アプリケーション・レイテンシの比率に応じて、マイクロサービス・グループをソートすることができる。たとえば、データ最適化コンポーネント402は、1つまたは複数のSLOターゲットを達成しないマイクロサービス・グループの後に、1つまたは複数のSLOターゲットを達成しないリスクのあるマイクロサービス・グループが続くように、マイクロサービス・グループをソートすることができる。また、データ最適化コンポーネント402は、1つまたは複数のSLOターゲットを達成しない、または達成しないリスクがあると識別されたマイクロサービス・グループに対して新たな再配置先(たとえば、代替のセカンダリ・データ・センター108)を指示することができる1つまたは複数の修正を決定することができる。たとえば、データ最適化コンポーネント402は、所与のプライマリ・データ・センターおよびマイクロサービス・グループに対して利用可能なセカンダリ・データ・センター108候補のリストを生成する、または分析する、あるいはその両方を行うことができる。さらに、データ最適化コンポーネント402は、所与のデータ・センター108に関連する場所情報、コロケーション・グループ指定、またはアンチ・コロケーション・グループ情報、あるいはそれらの組み合わせに基づいて、セカンダリ・データ・センター108候補を除外することができる。たとえば、セカンダリ・データ・センター108候補のリストを絞り込んで、定義された地理的境界内のもののみを含めることができる。また、データ最適化コンポーネント402は、プライマリ・データ・センター108とペアリングされると、レイテンシが1つまたは複数のSLOターゲットを満たさなくなるセカンダリ・データ・センター108候補を除外することができる。たとえば、データ最適化コンポーネント402は、ターゲット・アプリケーション・レイテンシが平均ネットワーク・レイテンシにレイテンシ補正値を掛けた値よりも小さいセカンダリ・データ・センター108候補を除外することができ、レイテンシ補正値は、平均アプリケーション・レイテンシを所与のデータ・センター108のペアリングに関する平均ネットワーク・レイテンシで割った値として計算することができる(たとえば、レイテンシ補正値は、ネットワーク・レイテンシとアプリケーション・レイテンシとの差異の補正値とすることができる)。
【0041】
また、データ最適化コンポーネント402は、推定アプリケーション・レイテンシが既存のアプリケーション・レイテンシよりも悪いであろうセカンダリ・データ・センター108候補を除外することができる。たとえば、データ最適化コンポーネント402は、所与の平均アプリケーション・レイテンシが平均ネットワーク・レイテンシにレイテンシ補正値を掛けた値よりも小さいセカンダリ・データ・センター108候補を除外することができる。さらに、データ最適化コンポーネント402は、残りのセカンダリ・データ・センター108候補を帯域幅使用率に基づいてソートすることができる。たとえば、データ最適化コンポーネント402は、ネットワーク負荷を最小化しながら所望のアプリケーション・レイテンシを達成するように残りのセカンダリ・データ・センター108候補をソートすることができる。
【0042】
これにより、データ最適化コンポーネント402は、結果として得られたセカンダリ・データ・センター108候補のリストに基づいて1つまたは複数のターゲット・セカンダリ・データ・センター108を変更することによって、所与のデータ復旧スキームを調整することができる。たとえば、データ最適化コンポーネント402は、機械学習モデルから元のターゲット・セカンダリ・データ・センター108再配置先を除外することができる(たとえば、元のデータ・センター108のペアリングについて、データ最適化コンポーネント402は、推定使用帯域幅の値を平均使用帯域幅の量だけ減少させることができる)。これにより、データ最適化コンポーネント402は、種々のセカンダリ・データ・センター108候補から、所与のマイクロサービス・グループの新たなセカンダリ・データ・センター108への再配置を決定し、または対応するアプリケーション・レイテンシを、平均ネットワーク・レイテンシにレイテンシ補正値を掛けた値に調整し、あるいはその両方を行うことができる。
【0043】
さらに、データ管理コンポーネント110は、新たなデータ・センター108のペアリング(たとえば、所与のプライマリ・データ・センター108を新たに識別された代替のセカンダリ・データ・センター108とペアにしたもの)を実施することができ、対応する推定使用帯域幅の値を測定された平均使用帯域幅の量だけ増加させることができる。これにより、データ管理コンポーネント110は、1つまたは複数の修正されたデータ復旧スキームを生成することができる。さらに、評価コンポーネント302は、1つまたは複数の修正されたデータ復旧スキームを分析して、1つまたは複数の評価値を決定することができる。また、評価コンポーネント302は、1つまたは複数の修正されたデータ復旧スキームの評価値を、データ復旧スキームの1つまたは複数の前のバージョン(たとえば、1つまたは複数の初期データ復旧スキーム)の評価値と比較して、データ最適化コンポーネント402によって決定された1つまたは複数の修正によって評価値が改善されるか否かを判定することができる(たとえば、データ最適化コンポーネント402によって決定された修正によって、未達成のSLOターゲットの比率、または平均帯域幅使用率、あるいはその両方が減少するか否かを判定する)。
【0044】
所与の修正によって評価値が改善される場合、データ管理コンポーネント110は、修正後のデータ復旧スキームを取っておく、または利用する、あるいはその両方を行うことができる。所与の修正によって評価値が改善されない場合、データ管理コンポーネント110は修正をロール・バックすることができ、データ最適化コンポーネント402は、新たに識別された種々の代替のセカンダリ・データ・センター108から他のセカンダリ・データ・センター108を利用する1つまたは複数の新たな修正を識別することができる(たとえば、その際、最適化処理のさらなる反復において、評価コンポーネント302によって新たな修正を同様に分析することができる)。
【0045】
図5は、本明細書に記載の1つまたは複数の実施形態による、データ・センター最適化コンポーネント502をさらに含む例示的かつ非限定的なシステム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。様々な実施形態では、データ・センター最適化コンポーネント502は、データ・センター108のパフォーマンス・データにさらに基づいてデータ復旧スキームを介してデータの
再配置を最適化するための1つまたは複数の機械学習モデルを生成することができ、機械学習モデルは、1つまたは複数のデータ・センター108のパフォーマンス・データに基づいて、データ復旧スキーム(たとえば、初期データ復旧スキーム)への修正と、1つまたは複数のデータ復旧要件との間の1つまたは複数の関係を識別することができる。1つまたは複数の実施形態では、データ・センター最適化コンポーネント502は、データ最適化コンポーネント402によって生成された1つまたは複数の機械学習モデルにさらに貢献することができる。
【0046】
1つまたは複数の実施形態では、データ・センター最適化コンポーネント502は、1つまたは複数の評価値を改善することができるデータ復旧スキームへの1つまたは複数の修正を決定する際に、トラフィックの多いデータ・センター108を識別し、または(たとえば、データ最適化コンポーネント402によって生成される)1つまたは複数の機械学習モデルにおいてトラフィックを考慮し、あるいはその両方を行うことができる。たとえば、データ・センター最適化コンポーネント502はさらに、セカンダリ・データ・センター108候補をフィルタリングして、帯域幅使用率が平均帯域幅使用率よりも大きいデータ・センター108を除外することができる。また、データ・センター最適化コンポーネント502はさらに、帯域幅使用率に基づいてセカンダリ・データ・センター108候補をソートすることができる。また、データ・センター最適化コンポーネント502は、平均アプリケーション・レイテンシに基づいてマイクロサービス・グループをソートすることができる。
【0047】
これにより、データ・センター最適化コンポーネント502は、データ・センター108で発生したデータ・トラフィック、または1つまたは複数のマイクロサービス・グループが経験したアプリケーション・レイテンシ、あるいはその両方に基づいてさらに絞り込まれたセカンダリ・データ・センター108候補のリストに基づいて所与のデータ復旧スキームへの修正を識別することにさらに貢献することができる。たとえば、データ最適化コンポーネント402は、トラフィックの多いデータ・センター108再配置先を機械学習モデルから除外して、単一のセカンダリ・データ・センター108が過剰な数のプライマリ・データ・センター108またはマイクロサービス・グループあるいはその両方とペアにされないようにすることができる。これにより、データ・センター最適化コンポーネント502は、データ最適化コンポーネント402によって生成された1つまたは複数の修正の識別をさらに洗練して、評価値を改善することができる所与のデータ復旧スキームへの修正を特定することができる。本明細書で説明するように、評価コンポーネント302は、データ最適化コンポーネント402またはデータ・センター最適化コンポーネント502あるいはその両方によって識別された修正のいずれかを分析して、所与の修正により、所与のデータ復旧スキームの以前のバージョンと比較してデータ復旧スキームの評価値を改善することができるか否かを確認することができる。
【0048】
図6は、本明細書に記載の1つまたは複数の実施形態による、
再配置コンポーネント602をさらに含む例示的かつ非限定的なシステム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。様々な実施形態では、
再配置コンポーネント602は、データ最適化コンポーネント402またはデータ・センター最適化コンポーネント502あるいはその両方によって識別された修正により、以前に確立されたデータ復旧スキームの効率を向上させることができると評価コンポーネント302が判定したことに応答して、1つまたは複数の修正されたデータ復旧スキームを実行することができる。たとえば、
再配置コンポーネント602は、修正されたデータ復旧スキームに従って、1つまたは複数のマイクロサービス・グループをプライマリ・データ・センター108から1つまたは複数のターゲット・セカンダリ・データ・センター108に複製する、または転送する、あるいはその両方を行うことができる。さらに、1つまたは複数の実施形態では、
再配置コンポーネント602は、1つまたは複数のプライマリ・データ・センター108からデータを削除することができる。
【0049】
図7は、本明細書に記載の1つまたは複数の実施形態による、
再配置コンポーネント602によって
再配置されたデータを含む例示的かつ非限定的なシステム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。たとえば、
図7は、
再配置コンポーネント602によって修正されたデータ復旧スキームを実行した後の
図2のシステム100を示している。
図7に示すように(たとえば、
図7に示す破線矢印で描いたように)、第1のマイクロサービス・グループを下側のセカンダリ・データ・センター108に
再配置することができ、第2のマイクロサービス・グループを右側のセカンダリ・データ・センター108に
再配置することができる。様々な実施形態では、データ最適化コンポーネント402またはデータ・センター最適化コンポーネント502あるいはその両方によって開発された1つまたは複数の機械学習モデルに基づいて、第1のマイクロサービス・グループを下側のセカンダリ・データ・センター108とペアにすることができ、第2のマイクロサービス・グループを右側のセカンダリ・データ・センター108とペアにすることができる。これにより、
再配置コンポーネント602によって実行されたデータ復旧スキームは、最近または過去あるいはその両方に示され、測定されたパフォーマンス・データ(たとえば、マイクロサービス・グループまたはデータ・センター108あるいはその両方に関するもの)に基づいてセカンダリ・データ・センター108へのデータの
再配置を指示することができる。
【0050】
図8は、本明細書に記載の1つまたは複数の実施形態による、データ復旧スキームへの1つまたは複数の修正の生成を容易にすることができる例示的かつ非限定的な方法800の流れ図を示す。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0051】
802において、方法800は、プロセッサ120に動作可能に結合されたシステム100によって(たとえば、通信コンポーネント112または初期化コンポーネント114あるいはその両方を介して)、データ・センター108のネットワーク104内でのデータの再配置を指示することができる1つまたは複数のデータ復旧スキームを確立することを含むことができる。たとえば、1つまたは複数のデータ復旧スキームは、1人または複数のユーザによって1つまたは複数の入力デバイス106を介してシステム100に入力することができる。様々な実施形態では、1つまたは複数のデータ復旧スキームは、システム100によって(たとえば、初期化コンポーネント114を介して)、1つまたは複数の指定されたプライマリ・データ・センター108、ネットワーク104の所与のデータまたはデータ・センター108あるいはその両方のパフォーマンス・データ、またはユーザ定義のデータ復旧要件、あるいはそれらの組み合わせに基づいて、最初に生成することができる。1つまたは複数のデータ復旧スキームは、本明細書で説明するように、1つまたは複数のプライマリ・データ・センター108から1つまたは複数のセカンダリ・データ・センター108へのデータの複製または転送あるいはその両方を記述することができる。
【0052】
804において、方法800は、システム100によって(たとえば、データ最適化コンポーネント402またはデータ・センター最適化コンポーネント502あるいはその両方を介して)、データ・センター108のネットワーク104によって示されるパフォーマンス・データ、または1つまたは複数のデータ復旧要件、あるいはその両方に基づいて、802の1つまたは複数のデータ復旧スキームへの1つまたは複数の修正を決定するための1つまたは複数の機械学習モデルを生成することを含むことができる。たとえば、1つまたは複数の修正は、1つまたは複数のプライマリ・データ・センター108、またはデータ内に含まれるマイクロサービス・グループ、あるいはその両方とペアになるセカンダリ・データ・センター108再配置先の変更とすることができる。1つまたは複数の機械学習モデルは、本明細書に記載の様々な実施形態によれば、SLAターゲットを達成し、またはネットワーク104の利用率を高め、あるいはその両方を行うために、マイクロサービス・グループの過去の動作、または1つまたは複数のデータ・センター108の過去の動作、あるいはその両方を特徴付ける測定されたパフォーマンス・データに基づいて修正を識別することができる。たとえば、1つまたは複数の修正は、1つまたは複数のターゲットSLOを満たさないパフォーマンス・データを示したデータ・センター108のペアリングの改変に関するものとすることができ、それによって、修正により、データ復旧スキームの実行中に示される未達成のSLOターゲットの数の削減を試みることができる。他の例では、1つまたは複数の修正は、トラフィックの多いセカンダリ・データ・センター108に依存するデータ・センター108のペアリングの改変に関するものとすることができ、それによって、修正により、ネットワーク104の利用率の向上を試みることができる。
【0053】
図9は、本明細書に記載の1つまたは複数の実施形態による、データ復旧スキームへの1つまたは複数の修正の生成を容易にすることができる例示的かつ非限定的な方法900の流れ図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0054】
902において、方法900は、プロセッサ120に動作可能に結合されたシステム100によって(たとえば、通信コンポーネント112または初期化コンポーネント114あるいはその両方を介して)、データ・センター108のネットワーク104内でのデータの再配置を指示することができる1つまたは複数のデータ復旧スキームを確立することを含むことができる。たとえば、1つまたは複数のデータ復旧スキームは、1人または複数のユーザによって1つまたは複数の入力デバイス106を介してシステム100に入力することができる。様々な実施形態では、1つまたは複数のデータ復旧スキームは、システム100によって(たとえば、初期化コンポーネント114を介して)、1つまたは複数の指定されたプライマリ・データ・センター108、ネットワーク104の所与のデータまたはデータ・センター108あるいはその両方のパフォーマンス・データ、またはユーザ定義のデータ復旧要件、あるいはそれらの組み合わせに基づいて、最初に生成することができる。1つまたは複数のデータ復旧スキームは、本明細書で説明するように、1つまたは複数のプライマリ・データ・センター108から1つまたは複数のセカンダリ・データ・センター108へのデータの複製または転送あるいはその両方を記述することができる。
【0055】
904において、方法900は、システム100によって(たとえば、データ最適化コンポーネント402を介して)、1つまたは複数のマイクロサービス・アプリケーションのグループのパフォーマンス・データに基づいてデータの再配置を最適化するための1つまたは複数の機械学習モデルの1つまたは複数の第1の部分を生成することを含むことができる。たとえば、機械学習モデルは、データの再配置中に達成されるSLAターゲットの数を増加させることができるデータ復旧スキームへの1つまたは複数の修正を決定することができる。さらに、機械学習モデルは、データ復旧スキームによる管理の対象となるデータ内に含まれる1つまたは複数のマイクロサービス・グループの過去の動作に関するパフォーマンス・データに基づいて開発することができる。たとえば、1つまたは複数の機械学習モデルは、1つまたは複数のマイクロサービス・グループの代替の再配置先としてデータ復旧スキームで指定されたセカンダリ・データ・センター108以外の1つまたは複数のセカンダリ・データ・センター108を識別することができる。
【0056】
906において、方法900は、システム100によって(たとえば、データ・センター最適化コンポーネント502を介して)、ネットワーク104に動作可能に結合された少なくとも1つのデータ・センター108のパフォーマンス・データにさらに基づいてデータの再配置を最適化するための1つまたは複数の機械学習モデルの1つまたは複数の第2の部分を生成することを含むことができる。たとえば、機械学習モデルは、ネットワーク104の利用率を向上させるようにデータ復旧スキームへの1つまたは複数の修正の決定をさらに洗練することができる。たとえば、1つまたは複数の機械学習モデルは、大量のデータ・トラフィックを示した1つまたは複数のセカンダリ・データ・センター104を識別することができ、これにより、システム100は(たとえば、データ管理コンポーネント110を介して)、データ復旧スキームを修正して、所与のプライマリ・データ・センター108を十分に活用されていないセカンダリ・データ・センター108とペアにすることによって、SLOターゲットを満たしつつ、データ・センター108のネットワーク104をより効率的に利用することが可能になる。
【0057】
図10は、本明細書に記載の1つまたは複数の実施形態による、データ復旧スキームへの1つまたは複数の修正の生成を容易にすることができる例示的かつ非限定的な方法1000の流れ図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0058】
1002において、方法1000は、プロセッサ120に動作可能に結合されたシステム100によって(たとえば、通信コンポーネント112または初期化コンポーネント114あるいはその両方を介して)、データ・センター108のネットワーク104内でのデータの再配置を指示することができる1つまたは複数のデータ復旧スキームを確立することを含むことができる。たとえば、1つまたは複数のデータ復旧スキームは、1人または複数のユーザによって1つまたは複数の入力デバイス106を介してシステム100に入力することができる。様々な実施形態では、1つまたは複数のデータ復旧スキームは、システム100によって(たとえば、初期化コンポーネント114を介して)、1つまたは複数の指定されたプライマリ・データ・センター108、ネットワーク104の所与のデータまたはデータ・センター108あるいはその両方のパフォーマンス・データ、またはユーザ定義のデータ復旧要件、あるいはそれらの組み合わせに基づいて、最初に生成することができる。1つまたは複数のデータ復旧スキームは、本明細書で説明するように、1つまたは複数のプライマリ・データ・センター108から1つまたは複数のセカンダリ・データ・センター108へのデータの複製または転送あるいはその両方を記述することができる。
【0059】
1004において、方法1000は、システム100によって(たとえば、データ最適化コンポーネント402、データ・センター最適化コンポーネント502、または評価コンポーネント302、あるいはそれらの組み合わせを介して)、データ・センター108のネットワーク104によって示されるパフォーマンス・データ、および1つまたは複数のデータ復旧要件に基づいて1つまたは複数のデータ復旧スキームを修正することを含むことができる。たとえば、方法1000は、SLOターゲットの達成、またはネットワーク104の利用率、あるいはその両方を向上させることができるデータ復旧スキームへの1つまたは複数の修正を識別することができる1つまたは複数の機械学習モデルを生成することを含むことができる。さらに、様々な実施形態では、方法1000は、1つまたは複数の識別された修正を評価して、所与の修正の実施により、意図された改善が実現されると予測されるか否かを判定することを含むことができる。さらに、所与の修正は、所与のデータに関して測定されたパフォーマンス・データ(たとえば、平均使用帯域幅、平均アプリケーション・レイテンシ、ターゲット・アプリケーション・レイテンシ、コロケーション・グループ、またはアンチ・コロケーション・グループ、あるいはそれらの組み合わせ)、またはデータ・センター108のうちの1つまたは複数に関して測定されたパフォーマンス・データ(たとえば、地理的な配置もしくは提携先の割り当てまたはその両方、最大割当帯域幅、または平均ネットワーク・レイテンシ、あるいはそれらの組み合わせ)、あるいはその両方に基づくことができる。これにより、方法1000は、1つまたは複数のデータ復旧要件(たとえば、1つまたは複数のターゲットSLO、ターゲット・アプリケーション・レイテンシ、またはターゲット・データ・センター108の場所、あるいはそれらの組み合わせ)を満たしながらデータ復旧スキームの効率を高めるために、データまたはデータ・センター108あるいはその両方の動作に基づいて1つまたは複数のデータ復旧スキームを適応させることができる。
【0060】
図11は、本明細書に記載の1つまたは複数の実施形態による、データ復旧スキームへの1つまたは複数の修正の生成を容易にすることができる例示的かつ非限定的な方法1100の流れ図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0061】
1102において、方法1100は、プロセッサ120に動作可能に結合されたシステム100によって(たとえば、通信コンポーネント112または初期化コンポーネント114あるいはその両方を介して)、データ・センター108のネットワーク104内でのデータの再配置を指示することができる1つまたは複数のデータ復旧スキームを確立することを含むことができる。たとえば、1つまたは複数のデータ復旧スキームは、1人または複数のユーザによって1つまたは複数の入力デバイス106を介してシステム100に入力することができる。様々な実施形態では、1つまたは複数のデータ復旧スキームは、システム100によって(たとえば、初期化コンポーネント114を介して)、1つまたは複数の指定されたプライマリ・データ・センター108、ネットワーク104の所与のデータまたはデータ・センター108あるいはその両方のパフォーマンス・データ、またはユーザ定義のデータ復旧要件、あるいはそれらの組み合わせに基づいて、最初に生成することができる。1つまたは複数のデータ復旧スキームは、本明細書で説明するように、1つまたは複数のプライマリ・データ・センター108から1つまたは複数のセカンダリ・データ・センター108へのデータの複製または転送あるいはその両方を記述することができる。
【0062】
1104において、方法1100は、システム100によって(たとえば、データ最適化コンポーネント402を介して)、データ内に含まれる1つまたは複数のマイクロサービス・アプリケーションのグループのパフォーマンス・データに基づいてデータの再配置を最適化するための1つまたは複数の機械学習モデルを生成することを含むことができる。たとえば、機械学習モデルは、データの再配置中に達成されるSLAターゲットの数を増加させることができるデータ復旧スキームへの1つまたは複数の修正を決定することができる。さらに、機械学習モデルは、1つまたは複数のマイクロサービス・グループの過去の動作に関するパフォーマンス・データ(たとえば、平均使用帯域幅、平均アプリケーション・レイテンシ、ターゲット・アプリケーション・レイテンシ、コロケーション・グループ、またはアンチ・コロケーション・グループ、あるいはそれらの組み合わせ)に基づいて開発することができる。たとえば、1つまたは複数の機械学習モデルは、1つまたは複数のマイクロサービス・グループの代替の再配置先としてデータ復旧スキームで指定されたセカンダリ・データ・センター108以外の1つまたは複数のセカンダリ・データ・センター108を識別することができる。様々な実施形態において、1つまたは複数の機械学習モデルは、1つまたは複数のマイクロサービス・グループの過去の動作の測定されたパフォーマンス・データに基づいて、1つまたは複数の所与のプライマリ・データ・センター108とペアにする代替のセカンダリ・データ・センター108を識別することができる。さらに、1つまたは複数の機械学習モデルは、閾値量(threshold amount)のSLOターゲットを達成できないと判定されたデータ再配置の調整を優先することができる。
【0063】
1106において、方法1100は、システム100によって(たとえば、データ・センター最適化コンポーネント502を介して)、データ・センター108のネットワーク104の少なくとも1つのデータ・センター108のパフォーマンス・データにさらに基づいてデータの再配置を最適化するための1つまたは複数の第2の機械学習モデルを生成することを含むことができる。たとえば、1つまたは複数の第2の機械学習モデルは、ネットワーク104の利用率を向上させるようにデータ復旧スキームへの1つまたは複数の修正の決定をさらに洗練することができる。たとえば、1つまたは複数の機械学習モデルは、大量のデータ・トラフィックを示した1つまたは複数のセカンダリ・データ・センター104を識別することができ、これにより、システム100は(たとえば、データ管理コンポーネント110を介して)、データ復旧スキームを修正して、所与のプライマリ・データ・センター108を十分に活用されていないセカンダリ・データ・センター108とペアにすることによって、SLOターゲットを満たしつつ、データ・センター108のネットワーク104をより効率的に利用することが可能になる。様々な実施形態では、1つまたは複数の第2の機械学習モデルは、本明細書に記載の様々な実施形態によれば、所与のデータ・センター108による平均帯域幅使用量、または所与のデータ・センター108の合計帯域幅容量、あるいはその両方をさらに分析して、利用可能なセカンダリ・データ・センター108間でワークロードを効率的に分散させることができる。
【0064】
1108において、方法1100は、システム100によって(たとえば、データ管理コンポーネント110を介して)、第1または第2あるいはその両方の機械学習モデルに基づいて1つまたは複数のデータ復旧スキームを修正して、修正されたデータ復旧スキームを生成することを含むことができる。たとえば、方法1100は、第1または第2あるいはその両方の機械学習モデルによって識別される1つまたは複数の修正に従って、シミュレーション環境内で、1つまたは複数のデータ復旧スキームを修正することを含むことができる。データ・センター108の所与のネットワーク104のシミュレーション内でデータ復旧スキームを修正することにより、方法1000は、所与の修正されたデータ復旧スキームの成功性をネットワーク104全体で実施する前に予測することができる。
【0065】
1110において、方法1100は、システム100によって(たとえば、評価コンポーネント302を介して)、1つまたは複数の修正されたデータ復旧スキームを分析して、修正されたデータ復旧スキームが、元のデータ復旧スキームと比較してパフォーマンス・データを改善し、1つまたは複数のデータ復旧要件(たとえば、SLOターゲット、レイテンシ要件、または場所要件、あるいはそれらの組み合わせ)を満たすと予測されるか否かを判定することを含むことができる。たとえば、1110における分析は、本明細書に記載の様々な実施形態に従って1つまたは複数の評価値を決定することを含むことができる。以前に確立されたベンチマークよりも評価値を改善すると予測される修正は、ネットワーク104内で実施することができ、一方、評価値が減少する、または評価値が無影響のままになると予測される修正は、ネットワーク104内で実施されないようにすることができる。様々な実施形態において、方法1100の特徴1104、1106、1108、または1110、あるいはそれらの組み合わせは、全ての可能性が機械学習モデルによって探索されるまで、または評価値を改善すると予測される修正が識別されるまで、あるいはその両方となるまで、何度も繰り返すことができる。
【0066】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載した教示の実装形態はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られていないまたは今後開発される他の任意のタイプのコンピューティング環境と共に実装することが可能である。
【0067】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとのやり取りによって迅速にプロビジョニングおよび解放することができる、設定可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つのデプロイメント・モデルとを含み得る。
【0068】
特徴は以下の通りである。
【0069】
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービスのプロバイダとの人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
【0070】
ブロード・ネットワーク・アクセス:能力はネットワークを介して利用することができ、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
【0071】
リソース・プーリング:プロバイダのコンピューティング・リソースをプールして、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当ておよび再割り当てされるマルチ・テナント・モデルを使用して複数のコンシューマにサービス提供する。一般にコンシューマは、提供されるリソースの正確な位置に対して何もできず、知っているわけでもないが、より高い抽象化レベル(たとえば、国、州、またはデータ・センターなど)では位置を特定可能であり得るという点で位置非依存の感覚がある。
【0072】
迅速な弾力性:能力を迅速かつ弾力的に、場合によっては自動的にプロビジョニングして素早くスケール・アウトし、迅速に解放して素早くスケール・インすることができる。コンシューマにとって、プロビジョニング可能な能力は無制限であるように見えることが多く、任意の時間に任意の数量で購入することができる。
【0073】
測定されるサービス:クラウド・システムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適したある抽象化レベルでの計量機能を活用して、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、管理、および報告して、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
【0074】
サービス・モデルは以下の通りである。
【0075】
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能性のある例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション機能を含む、基盤となるクラウド・インフラストラクチャを管理も制御もしない。
【0076】
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御する。
【0077】
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマがデプロイして動作させることが可能な、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御し、場合によっては選択したネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)を限定的に制御する。
【0078】
デプロイメント・モデルは以下の通りである。
【0079】
プライベート・クラウド:クラウド・インフラストラクチャは組織専用に運用される。これは組織または第三者によって管理され得、構内または構外に存在し得る。
【0080】
コミュニティ・クラウド:クラウド・インフラストラクチャはいくつかの組織によって共有され、共通の懸念(たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理され得、構内または構外に存在し得る。
【0081】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界団体に対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
【0082】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(たとえば、クラウド間の負荷分散のためのクラウド・バースティング)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を合成したものである。
【0083】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味論的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0084】
ここで
図12を参照すると、例示的なクラウド・コンピューティング環境1200が示されている。図示のように、クラウド・コンピューティング環境1200は1つまたは複数のクラウド・コンピューティング・ノード1202を含み、これらを使用して、たとえば、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話1204、デスクトップ・コンピュータ1206、ラップトップ・コンピュータ1208、または自動車コンピュータ・システム1210、あるいはそれらの組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信し得る。ノード1202は相互に通信し得る。これらは、たとえば、上述のプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組み合わせなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境1200は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを維持管理する必要がない、インフラストラクチャ・アズ・ア・サービス、プラットフォーム・アズ・ア・サービス、またはソフトウェア・アズ・ア・サービス、あるいはそれらの組み合わせを提供することが可能になる。
図12に示したコンピューティング・デバイス1204~1210のタイプは例示的なものにすぎないことが意図されており、コンピューティング・ノード1202およびクラウド・コンピューティング環境1200は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能接続(たとえば、Webブラウザを使用)あるいはその両方を介して任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
【0085】
ここで
図13を参照すると、クラウド・コンピューティング環境1200(
図12)によって提供される機能的抽象化レイヤのセットが示されている。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
図13に示したコンポーネント、レイヤ、および機能は例示的なものにすぎないことが意図されており、本発明の実施形態はこれらに限定されないことを事前に理解されたい。図示のように、以下のレイヤおよび対応する機能が提供される。
【0086】
ハードウェアおよびソフトウェア・レイヤ1302は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム1304、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ1306、サーバ1308、ブレード・サーバ1310、ストレージ・デバイス1312、ならびにネットワークおよびネットワーキング・コンポーネント1314が含まれる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1316およびデータベース・ソフトウェア1318を含む。
【0087】
仮想化レイヤ1320は抽象化レイヤを提供し、抽象化レイヤから、仮想エンティティの以下の例、すなわち、仮想サーバ1322、仮想ストレージ1324、仮想プライベート・ネットワークを含む仮想ネットワーク1326、仮想アプリケーションおよびオペレーティング・システム1328、ならびに仮想クライアント1330が提供され得る。
【0088】
一例では、管理レイヤ1332は、下記の機能を提供し得る。リソース・プロビジョニング1334は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計量および価格決定1336は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する会計または請求とを提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマおよびタスクの同一性検証だけでなく、データおよび他のリソースに対する保護も提供する。ユーザ・ポータル1338は、コンシューマおよびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理1340は、サービス・レベルが満たされるような、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル合意(SLA)の計画および履行1342は、SLAに従って将来要求されると予想されるクラウド・コンピューティング・リソースの事前手配および調達を提供する。
【0089】
ワークロード・レイヤ1344は、クラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤから提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション1346、ソフトウェア開発およびライフサイクル管理1348、仮想教室教育配信1350、データ分析処理1352、取引処理1354、およびデータ復旧1356を含む。本発明の様々な実施形態は、
図12および
図13を参照して説明したクラウド・コンピューティング環境を利用して、ネットワーク104を介して様々なデータ・センター108のパフォーマンス・データを分析し、パフォーマンス・データに基づいて1つまたは複数のデータ復旧スキームを修正し、または修正されたデータ復旧スキームを実施し、あるいはそれらの組み合わせを行うことができる。
【0090】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリー・スティック(登録商標)、フロッピー(登録商標)・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
【0091】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組み合わせを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
【0092】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいは、Smalltalk(登録商標)、C++、または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。一部の実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
【0093】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
【0094】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、それらの命令がコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行された場合に、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実装するための手段が生成されるようなマシンを生成し得る。また、これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの組み合わせに特定の方法で機能するように指示することが可能なコンピュータ可読記憶媒体に記憶して、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為の態様を実装する命令を含む製造品を構成するようにし得る。
【0095】
また、コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることによって、それらの命令がコンピュータ、他のプログラム可能装置、または他のデバイス上で実行された場合に、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為が実装されるようなコンピュータ実装処理を生成し得る。
【0096】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。一部の代替的実装形態では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には実質的に同時に実行され得、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を実行するか、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。
【0097】
本明細書に記載の様々な実施形態の追加のコンテキストを提供するために、
図14および以下の説明は、本明細書に記載の実施形態の様々な実施形態を実装することができる適切なコンピューティング環境1400の一般的な説明を提供することを意図したものである。上記では1つまたは複数のコンピュータ上で実行することができるコンピュータ実行可能命令の一般的な文脈で実施形態を説明してきたが、他のプログラム・モジュールと組み合わせて、またはハードウェアおよびソフトウェアの組み合わせとして、あるいはその両方で、実施形態を実装することもできることを当業者は理解するであろう。
【0098】
一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含む。また、当業者であれば、本発明の方法が、シングル・プロセッサまたはマルチ・プロセッサ・コンピュータ・システム、ミニコンピュータ、メインフレーム・コンピュータ、モノのインターネット(「IoT」)デバイス、分散コンピューティング・システム、ならびにパーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロプロセッサ・ベースのまたはプログラム可能な家電製品、および同様のものを含む他のコンピュータ・システム構成で実践することができ、これらのそれぞれは、1つまたは複数の関連するデバイスに動作可能に結合することができることを理解するであろう。
【0099】
本明細書の実施形態の例示した実施形態は、通信ネットワークを介してリンクされたリモート処理デバイスによって特定のタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラム・モジュールは、ローカルおよびリモート両方のメモリ・ストレージ・デバイスに配置することができる。
【0100】
コンピューティング・デバイスは、典型的には様々な媒体を含み、これには、コンピュータ可読記憶媒体、機械可読記憶媒体、または通信媒体、あるいはそれらの組み合わせを含めることができ、これらの2つの用語は、本明細書では以下のように互いに異なって使用する。コンピュータ可読記憶媒体または機械可読記憶媒体は、コンピュータがアクセスできる任意の利用可能な記憶媒体とすることができ、揮発性媒体および不揮発性媒体、リムーバブル媒体および非リムーバブル媒体の両方を含む。限定ではなく例として、コンピュータ可読記憶媒体または機械可読記憶媒体は、コンピュータ可読命令または機械可読命令、プログラム・モジュール、構造化データまたは非構造化データなどの情報を記憶するための任意の方法または技術に関連して実装することができる。
【0101】
コンピュータ可読記憶媒体は、ランダム・アクセス・メモリ(「RAM」)、読み取り専用メモリ(「ROM」)、電気的消去可能プログラム可能読み取り専用メモリ(「EEPROM」)、フラッシュ・メモリまたは他のメモリ技術、コンパクト・ディスク読み取り専用メモリ(「CD-ROM」)、デジタル・バーサタイル・ディスク(「DVD」)、Blu-rayディスク(「BD」)または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気ストレージ・デバイス、ソリッド・ステート・ドライブまたは他のソリッド・ステート・ストレージ・デバイス、あるいは所望の情報を記憶するために使用することができる他の有形もしくは非一過性またはその両方である媒体を含むことができるが、これらに限定されない。これに関して、ストレージ、メモリ、またはコンピュータ可読媒体に適用される本明細書での「有形」または「非一過性」という用語は、修飾語として、伝播する一過性の信号自体のみを除外するように理解されるべきであり、伝播する一過性の信号自体のみではない全ての標準的なストレージ、メモリ、またはコンピュータ可読媒体に対する権利を放棄しない。
【0102】
コンピュータ可読記憶媒体は、媒体によって記憶された情報に関する様々な動作のために、1つまたは複数のローカルまたはリモート・コンピューティング・デバイスによって、たとえば、アクセス要求、クエリ、または他のデータ取得プロトコルを介してアクセスすることができる。
【0103】
通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラム・モジュール、または他の構造化または非構造化データを、搬送波または他の転送メカニズムなど、変調されたデータ信号などのデータ信号内に具現化し、任意の情報配信媒体または転送媒体を含む。「変調されたデータ信号(modulated data signal or signals)」という用語は、情報を1つまたは複数の信号内に符号化するような方式でその特性の1つまたは複数が設定または変更された信号を指す。例として、限定ではないが、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、および音響、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。
【0104】
再び
図14を参照すると、本明細書に記載の態様の様々な実施形態を実装するための例示的な環境1400はコンピュータ1402を含み、コンピュータ1402は、処理ユニット1404、システム・メモリ1406、およびシステム・バス1408を含む。システム・バス1408は、システム・メモリ1406を含むがこれに限定されないシステム・コンポーネントを処理ユニット1404に結合する。処理ユニット1404は、様々な市販のプロセッサのいずれかとすることができる。処理ユニット1404として、デュアル・マイクロプロセッサおよび他のマルチプロセッサ・アーキテクチャも利用することができる。
【0105】
システム・バス1408はいくつかのタイプのバス構造のいずれかとすることができ、これはさらに、様々な市販のバス・アーキテクチャのいずれかを使用するメモリバス(メモリ・コントローラの有無を問わない)、周辺バス、およびローカル・バスに相互接続することができる。システム・メモリ1406は、ROM1410およびRAM1412を含む。基本入力/出力システム(「BIOS」)を、たとえば、ROM、消去可能プログラム可能読み取り専用メモリ(「EPROM」)、EEPROMなどの不揮発性メモリに記憶することができ、このBIOSは、起動中などにコンピュータ1402内の要素間で情報を転送するのに役立つ基本的なルーチンを含む。また、RAM1412は、データをキャッシュするためのスタティックRAMなどの高速RAMを含むことができる。
【0106】
コンピュータ1402は、内部ハード・ディスク・ドライブ(「HDD」)1414(たとえば、EIDE、SATA)、1つまたは複数の外部ストレージ・デバイス1416(たとえば、磁気フロッピー(登録商標)・ディスク・ドライブ(「FDD」)、メモリー・スティック(登録商標)またはフラッシュ・ドライブ・リーダー、メモリー・カード・リーダーなど)、および光ディスク・ドライブ1420(たとえば、CD-ROMディスク、DVD、BDなどに読み書きできるもの)をさらに含む。内部HDD1414は、コンピュータ1402内に配置されているように図示しているが、内部HDD1414は、適切なシャーシ(図示せず)内で外部使用するように構成することもできる。また、環境1400には図示していないが、HDD1414に加えて、またはHDD1414の代わりに、ソリッド・ステート・ドライブ(「SSD」)を使用することができる。HDD1414、外部ストレージ・デバイス1416、および光ディスク・ドライブ1420は、それぞれ、HDDインターフェース1424、外部ストレージ・インターフェース1426、および光学ドライブ・インターフェース1428によってシステム・バス1408に接続することができる。HDDインターフェース1424は、ユニバーサル・シリアル・バス(「USB」)および電気電子技術者協会(「IEEE」)1394インターフェース技術の少なくとも一方または両方を含むことができる。他の外部ドライブ接続技術は、本明細書に記載の実施形態の企図の範囲内にある。
【0107】
ドライブおよびそれらに関連付けられたコンピュータ可読記憶媒体は、データ、データ構造、コンピュータ実行可能命令などの不揮発性記憶を提供する。コンピュータ1402の場合、ドライブおよび記憶媒体は、適切なデジタル・フォーマットでの任意のデータの記憶に対応する。上記のコンピュータ可読記憶媒体の説明では、それぞれのタイプのストレージ・デバイスに言及しているが、コンピュータによって読み取り可能な他のタイプの記憶媒体は、現在存在するか今後開発されるかにかかわらず、例示的な動作環境で使用することもでき、さらに、そのような記憶媒体は、本明細書に記載の方法を実行するためのコンピュータ実行可能命令を含むことができるということを当業者には理解されたい。
【0108】
オペレーティング・システム1430、1つまたは複数のアプリケーション・プログラム1432、他のプログラム・モジュール1434、およびプログラム・データ1436を含む多くのプログラム・モジュールをドライブおよびRAM1412に記憶することができる。オペレーティング・システム、アプリケーション、モジュール、またはデータ、あるいはそれらの組み合わせの全部または一部をRAM1412にキャッシュすることもできる。本明細書に記載のシステムおよび方法は、様々な市販のオペレーティング・システムまたはオペレーティング・システムの組み合わせを利用して実装することができる。
【0109】
コンピュータ1402は、任意選択によりエミュレーション技術を含むことができる。たとえば、ハイパーバイザー(図示せず)または他の仲介物が、オペレーティング・システム1430のためのハードウェア環境をエミュレートすることができ、エミュレートされるハードウェアは、任意選択により、
図14に示すハードウェアとは異なることができる。そのような実施形態では、オペレーティング・システム1430は、コンピュータ1402でホストされる複数の仮想マシン(「VM」)のうちの1つのVMを含むことができる。さらに、オペレーティング・システム1430は、Java(
登録商標)ランタイム環境または.NETフレームワークなどのランタイム環境をアプリケーション1432に提供することができる。ランタイム環境は、ランタイム環境を含む任意のオペレーティング・システム上でアプリケーション1432が動作することを可能にする一貫した実行環境である。同様に、オペレーティング・システム1430はコンテナをサポートすることができ、アプリケーション1432はコンテナの形態にすることができ、コンテナは、たとえば、コード、ランタイム、システム・ツール、システム・ライブラリ、およびアプリケーションの設定を含む、軽量でスタンドアロンの実行可能なソフトウェアのパッケージである。
【0110】
さらに、コンピュータ1402は、トラステッド・プロセッシング・モジュール(「TPM」)などのセキュリティ・モジュールを用いて有効化することができる。たとえば、TPMの場合、ブート・コンポーネントは、時間的に次のブート・コンポーネントをハッシュ化し、結果が保護された値と一致するのを待ってから、次のブート・コンポーネントをロードする。この処理は、コンピュータ1402のコード実行スタック内の任意のレイヤで行うことができ、たとえば、アプリケーション実行レベルまたはオペレーティング・システム(「OS」)カーネル・レベルで適用され、それによって、任意のコード実行レベルでのセキュリティが可能になる。
【0111】
ユーザは、1つまたは複数の有線/無線入力デバイス、たとえば、キーボード1438、タッチ・スクリーン1440、およびマウス1442などのポインティング・デバイスを介して、コマンドおよび情報をコンピュータ1402に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、赤外線(「IR」)リモート・コントロール、無線周波数(「RF」)リモート・コントロール、または他のリモート・コントロール、ジョイスティック、仮想現実コントローラもしくは仮想現実ヘッドセットまたはその両方、ゲーム・パッド、スタイラス・ペン、画像入力デバイス、たとえば、カメラ、ジェスチャ・センサ入力デバイス、視線移動センサ(vision movement sensor)入力デバイス、感情または顔検出デバイス、バイオメトリック入力デバイス、たとえば、指紋もしくは虹彩スキャナ、または同様のものを含めることができる。これらおよび他の入力デバイスは、システム・バス1408に結合することができる入力デバイス・インターフェース1444を介して処理ユニット1404に接続されることが多いが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース、BLUETOOTH(登録商標)インターフェースなどの他のインターフェースによって接続することができる。
【0112】
モニタ1446または他のタイプのディスプレイ・デバイスもまた、ビデオ・アダプタ1448などのインターフェースを介してシステム・バス1408に接続することができる。モニタ1446に加えて、コンピュータは、典型的には、スピーカー、プリンタなどの他の周辺出力デバイス(図示せず)を含む。
【0113】
コンピュータ1402は、リモート・コンピュータ1450などの1つまたは複数のリモート・コンピュータへの有線通信または無線通信あるいはその両方を介した論理接続を使用して、ネットワーク化された環境で動作することができる。リモート・コンピュータ1450は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサ・ベースの娯楽機器、ピア・デバイスまたは他の一般的なネットワーク・ノードとすることができ、典型的には、コンピュータ1402に関連して説明している要素の多くまたは全てを含むが、簡潔にするために、メモリ/ストレージ・デバイス1452のみを示している。図示した論理接続は、ローカル・エリア・ネットワーク(「LAN」)1454、またはワイド・エリア・ネットワーク(「WAN」)1456などのより大規模なネットワーク、あるいはその両方への有線/無線接続を含む。そのようなLANおよびWANネットワーキング環境は、オフィスおよび企業では一般的であり、イントラネットなどの企業規模のコンピュータ・ネットワークを容易にし、これらは全て、インターネットなどのグローバル通信ネットワークに接続することができる。
【0114】
LANネットワーキング環境で使用される場合、コンピュータ1402は、有線または無線あるいはその両方の通信ネットワーク・インターフェースまたはアダプタ1458を介してローカル・ネットワーク1454に接続することができる。アダプタ1458は、LAN1454への有線または無線通信を容易にすることができ、LAN1454もまた、無線モードでアダプタ1458と通信するために、LAN1454上に配置された無線アクセス・ポイント(「AP」)を含むことができる。
【0115】
WANネットワーキング環境で使用される場合、コンピュータ1402はモデム1460を含むことができ、または、たとえば、インターネットを経由するなど、WAN1456を介して通信を確立するための他の手段を介して、WAN1456上の通信サーバに接続することができる。モデム1460は、内蔵または外付けであり、有線または無線デバイスとすることができ、入力デバイス・インターフェース1444を介してシステム・バス1408に接続することができる。ネットワーク化された環境では、コンピュータ1402またはその一部に関連して示したプログラム・モジュールは、リモートのメモリ/ストレージ・デバイス1452に記憶することができる。図示したネットワーク接続は例であり、コンピュータ間に通信リンクを確立する他の手段を使用できることは理解されよう。
【0116】
LANまたはWANネットワーキング環境のいずれかで使用される場合、コンピュータ1402は、上記の外部ストレージ・デバイス1416に加えて、またはその代わりに、クラウド・ストレージ・システムまたは他のネットワークベースのストレージ・システムにアクセスすることができる。一般に、コンピュータ1402とクラウド・ストレージ・システムとの間の接続は、LAN1454またはWAN1456を介して、たとえば、それぞれアダプタ1458またはモデム1460によって、確立することができる。コンピュータ1402を関連するクラウド・ストレージ・システムに接続すると、外部ストレージ・インターフェース1426は、アダプタ1458またはモデム1460あるいはその両方の助力を得て、クラウド・ストレージ・システムによって提供されるストレージを他のタイプの外部ストレージのように管理することができる。たとえば、外部ストレージ・インターフェース1426は、クラウド・ストレージ・ソースへのアクセスを、それらのソースがコンピュータ1402に物理的に接続されているかのように、提供するよう構成することができる。
【0117】
コンピュータ1402は、無線通信で動作可能に配置された任意の無線デバイスまたはエンティティ、たとえば、プリンタ、スキャナ、デスクトップまたはポータブルあるいはその両方のコンピュータ、ポータブル・データ・アシスタント、通信衛星、無線検出可能なタグに関連付けられた任意の機器または場所(たとえば、キオスク、新聞の売店、商品棚など)、および電話と通信するように動作することができる。これには、ワイヤレス・フィデリティ(「Wi-Fi」)およびBLUETOOTH(登録商標)無線技術を含めることができる。したがって、通信は、従来のネットワークのように事前定義された構造にすることができ、または単純に少なくとも2つのデバイス間のアドホック通信にすることもできる。
【0118】
上記で説明したものは、システム、コンピュータ・プログラム製品、およびコンピュータ実装方法の単なる例を含む。当然ながら、本開示を説明する目的で、コンポーネント、製品、またはコンピュータ実装方法、あるいはそれらの組み合わせの考えられる全ての組み合わせを説明することは不可能であるが、当業者であれば、本開示の多数のさらなる組み合わせおよび並べ替えが可能であることを認識することができる。さらに、「含む(includes)」、「有する(has)」、「所有する(possesses)」という用語および同様のものを詳細な説明、特許請求の範囲、付属物、および図面で使用する限りにおいて、そのような用語は、「備える(comprising)」が請求項において移行語として使用された場合に解釈されるときの、「備える」という用語と同様に包括的なものとする。様々な実施形態の説明は例示の目的で提示しているが、網羅的であることも、開示した実施形態に限定されることも意図したものではない。記載した実施形態の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、実際の適用、もしくは市場で見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示した実施形態を理解できるようにするために選択している。
【0119】
本発明を以下にまとめる。
[項1]
システムであって、該システムは、
1つまたは複数のコンピュータ可読プログラムを記憶するメモリと、
前記メモリに動作可能に結合されたプロセッサであって、前記コンピュータ可読プログラム実行する前記プロセッサと
を備えており、
前記コンピュータ可読プログラムは、
データ・センターのネットワークに関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正することを前記プロセッサに実行させ、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、並びに、
前記マイクロサービス・アプリケーションの前記グループに基づいて前記データの前記再配置を最適化するための機械学習モデルを生成することを前記プロセッサに実行させ、ここで、前記機械学習モデルは、前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて、前記データ復旧スキームに加えられる修正と、前記データ復旧要件との間の関係を識別する、
前記システム。
[項2]
前記コンピュータ可読プログラムは、
前記データ復旧スキームを修正して、修正されたデータ復旧スキームを生成することを前記プロセッサにさらに実行させ、ここで、前記修正されたデータ復旧スキームは、前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、
前記コンピュータ可読プログラムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定することを前記プロセッサにさらに実行させ、
前記コンピュータ可読プログラムは、
前記修正されたデータ復旧スキームが前記パフォーマンス・データを改善し、前記データ復旧要件を満たすと予測されると前記評価コンポーネントが判定したことに基づいて、前記修正されたデータ復旧スキームに従って前記データの前記再配置を実行することを前記プロセッサにさらに実行させる、
項1に記載のシステム。
[項3]
前記パフォーマンス・データは、前記ネットワークの少なくとも1つのデータ・センターにさらに関し、
前記コンピュータ可読プログラムは、
前記少なくとも1つのデータ・センターにさらに基づいて前記データの前記再配置を最適化するための機械学習モデルを生成することを前記プロセッサにさらに実行させ、ここで、前記機械学習モデルは、前記少なくとも1つのデータ・センターの前記パフォーマンス・データに基づいて、前記データ復旧スキームに加えられる第2の修正と、前記データ復旧要件との間の関係を識別する、
項1又は2に記載のシステム。
[項4]
前記コンピュータ可読プログラムは、
1つまたは複数の初期データ復旧スキームを分析し、そして、該分析されたデータ復旧スキームによって指定された各データ・センターペアの初期状態を設定することを前記プロセッサに実行させ、ここで、前記データ・センターペアば、プライマリ・データ・センターおよびセカンダリ・データ・センターを備えている、
項1~3のいずれか1項に記載のシステム。
[項5]
システムであって、該システムは、
コンピュータ可読プログラムを記憶するメモリと、
前記メモリに動作可能に結合されたプロセッサであって、前記コンピュータ可読プログラムを実行する前記プロセッサと
を備えており、
前記コンピュータ可読プログラムは、
データ・センターのネットワークに関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームへの修正を決定するための機械学習モデルを生成することを前記プロセッサに実行させ、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができ、前記機械学習モデルは、前記パフォーマンス・データに基づいて前記データ復旧スキームへの前記修正と前記データ復旧要件との間の関係を識別する、
前記コンピュータ可読プログラムは、
前記パフォーマンス・データに基づいて前記データ・センターの前記ネットワークからセカンダリ・データ・センター候補を除外することを前記プロセッサに実行させ、
前記コンピュータ可読プログラムは、
前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて前記データの前記再配置を最適化するための機械学習モデルの第1の部分を生成することを前記プロセッサにさらに実行させる
前記システム。
[項6]
前記パフォーマンス・データは、前記ネットワークの少なくとも1つのデータ・センターにさらに関し、
前記コンピュータ可読プログラムは、
前記少なくとも1つのデータ・センターの前記パフォーマンス・データにさらに基づいて前記データの前記再配置を最適化するための前記機械学習モデルの第2の部分を生成することを前記プロセッサにさらに実行させる
項5に記載のシステム。
[項7]
前記コンピュータ可読プログラムは、
前記データ復旧スキームを修正して、修正されたデータ復旧スキームを生成することを前記プロセッサにさらに実行させ、ここで、前記修正されたデータ復旧スキームは、前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、
前記コンピュータ可読プログラムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定することを前記プロセッサにさらに実行させる、
項5に記載のシステム。
[項8]
コンピュータ実装方法であって、プロセッサに動作可能に結合されたシステムが、
データ・センターのネットワークに関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームへの修正を決定するための機械学習モデルを生成すること、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができ、前記機械学習モデルは、前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて、前記データ復旧スキームに加えられる修正と、前記データ復旧要件との間の関係を識別する、
前記ネットワークのデータ・センター平均利用可能帯域幅に基づいてデータ・センターをソートすること、
前記パフォーマンス・データに基づいて前記ネットワークからセカンダリ・データ・センター候補を除外すること、
前記マイクロサービス・アプリケーションのグループの前記パフォーマンス・データに基づいて前記データの前記再配置を最適化するための機械学習モデルの第1の部分を生成すること
を含む、前記コンピュータ実装方法。
[項9]
前記システムが、
前記ネットワークのデータ・センター平均利用可能帯域幅に基づいてデータ・センターをソートすること
をさらに含む、項8に記載のコンピュータ実装方法。
[項10]
前記システムが、
前記パフォーマンス・データに基づいて前記ネットワークからセカンダリ・データ・センター候補を除外すること、
をさらに含む、項9に記載のコンピュータ実装方法。
[項11]
前記少なくとも1つのデータ・センターの前記パフォーマンス・データにさらに基づいて前記データの前記再配置を最適化するための前記機械学習モデルの第2の部分を生成することと
をさらに含む、項8~10のいずれか1項に記載のコンピュータ実装方法。
[項12]
前記修正することは、修正されたデータ復旧スキームを生成することを含み、
前記システムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定すること
をさらに含む、項11に記載のコンピュータ実装方法。
[項13]
前記データの前記再配置が、クラウド・コンピューティング環境を介して実行される、項8~12のいずれか1項に記載のコンピュータ実装方法。
[項14]
コンピュータ実装方法であって、プロセッサに動作可能に結合されたシステムが、
データ・センターのネットワークに関連付けられたパフォーマンス・データとデータ復旧要件とに基づいてデータ復旧スキームを修正すること、ここで、前記データ・センターは、所与のデータの記憶、処理もしくは配信またはそれらの組み合わせを最初に担当する1つまたは複数のプライマリ・データ・センターと、前記所与のデータの再配置の対象となる1つまたは複数のセカンダリ・データ・センターとを備えており、前記パフォーマンス・データは、前記データ内に含まれるマイクロサービス・アプリケーションのグループに関するものであり、前記データ・センターの場所、前記ネットワークの帯域幅、前記ネットワークのレイテンシ、前記データによって使用される帯域幅、前記データの実行中に示されるレイテンシ、および前記データの前記再配置中に示されるレイテンシからなるグループから選択される少なくとも1つのメンバーを含み、前記データ復旧要件は、前記データ・センターの前記場所、およびサービス・レベル目標からなる第2のグループから選択される少なくとも1つの第2のメンバーを含み、前記データ復旧スキームは前記データ・センターの前記ネットワーク内でのデータの再配置を指示するものであり、前記1つまたは複数のプライマリ・データ・センターから前記1つまたは複数のセカンダリ・データ・センターへのデータの複製または転送あるいはその両方を記述することができる、並びに、
前記マイクロサービス・アプリケーションの前記グループに基づいて前記データの前記再配置を最適化する為の機械が機械学習モデルを生成すること
を含む、コンピュータ実装方法。
[項15]
前記システムが、
ターゲット・アプリケーション・レイテンシに対する平均アプリケーション・レイテンシの比率に応じて、マイクロサービス・グループをソートすること、ここで、該ソートすることが、1つまたは複数のサービス・レベル目標ターゲットを達成しないマイクロサービス・グループの後に、1つまたは複数のサービス・レベル目標ターゲットを達成しないリスクのあるマイクロサービス・グループが続くように、マイクロサービス・グループをソートすること
をさらに含む、項14に記載のコンピュータ実装方法。
[項16]
前記システムが、
前記パフォーマンス・データに基づいて前記データ・センターの前記ネットワークからセカンダリ・データ・センター候補を除外すること、
をさらに含む、項15に記載のコンピュータ実装方法。
[項17]
前記システムが、
前記システムによって、前記少なくとも1つのデータ・センターにさらに基づいて前記データの前記再配置を最適化するための第2の機械学習モデルを生成すること
をさらに含む、項14~16のいずれか1項に記載のコンピュータ実装方法。
[項18]
前記修正することが、修正されたデータ復旧スキームを生成するために、前記機械学習モデルおよび前記第2の機械学習モデルに基づき、
前記システムは、
前記修正されたデータ復旧スキームを分析して、前記修正されたデータ復旧スキームが、前記データ復旧スキームと比較して改善されたパフォーマンス・データを達成し、前記データ復旧要件を満たすと予測されるか否かを判定すること
をさらに含む、項15に記載のコンピュータ実装方法。
[項19]
前記データの前記再配置が、クラウド・コンピューティング環境を介して実行される、項14~16のいずれか1項に記載のコンピュータ実装方法。
[項20]
データ・センターのネットワーク内でデータを適応的に分配するためのコンピュータ・プログラムであって、項8~13のいずれか1項に記載のコンピュータ実装方法をシステムに実行させる、前記コンピュータ・プログラム。
[項21]
データ・センターのネットワーク内でデータを適応的に分配するためのコンピュータ・プログラムであって、項14~19のいずれか1項に記載のコンピュータ実装方法をシステムに実行させる、前記コンピュータ・プログラム。