IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

<>
  • 特開-ワークロード管理 図1
  • 特開-ワークロード管理 図2
  • 特開-ワークロード管理 図3
  • 特開-ワークロード管理 図4
  • 特開-ワークロード管理 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025004766
(43)【公開日】2025-01-15
(54)【発明の名称】ワークロード管理
(51)【国際特許分類】
   G06F 8/60 20180101AFI20250107BHJP
【FI】
G06F8/60
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024101361
(22)【出願日】2024-06-24
(31)【優先権主張番号】18/340,940
(32)【優先日】2023-06-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】ミシュラ,スーバギャ
(72)【発明者】
【氏名】シャルマ,プラギャ
(72)【発明者】
【氏名】グプタ,ニレシュ
(72)【発明者】
【氏名】ダルミア,リトゥ プラモッド
(72)【発明者】
【氏名】レイ,アニルッダ
(72)【発明者】
【氏名】バハニア,マニッシュ
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB01
5B376AB12
5B376EA17
(57)【要約】      (修正有)
【課題】炭素排出量を削減しながらクラウドベースワークロードをより効率的に最適化する。
【解決手段】方法は、ワークロードを処理する候補実行環境のセットを特定するステップと、ワークロードの処理についての推奨情報を生成するステップと、を含む。推奨情報は、候補実行環境のセットのうちのそれぞれの候補実行環境について候補実行環境に関連する炭素強度値を示す実行情報に基づき候補実行環境のセットから選択された第1の実行環境に関連する。方法はまた、推奨情報を示す第1のインジケータを出力するステップを含む。
【選択図】図5
【特許請求の範囲】
【請求項1】
1つ以上のプロセッサにより実行されるワークロード管理の方法であって、前記方法は、
ワークロードを処理する候補実行環境のセットを特定するステップと、
前記ワークロードの処理についての推奨情報を生成するステップであって、前記推奨情報は、前記候補実行環境のセットのうちのそれぞれの候補実行環境について前記候補実行環境に関連する炭素強度値を示す実行情報に基づき前記候補実行環境のセットから選択された第1の実行環境に関連する、前記生成するステップと、
前記推奨情報を示す第1のインジケータを出力するステップと、
を含む、方法。
【請求項2】
前記方法はさらに、
前記ワークロードに関連するガバナンスポリシーを受信するステップ
を含み、
前記ワークロードは、バッチジョブを含むか、
前記候補実行環境のセットは、前記ガバナンスポリシーに基づき特定されるか、
前記候補実行環境のセットのうちのそれぞれの前記候補実行環境は、異なるクラウドコンピューティング環境であるか、
前記候補実行環境のセットは、複数の候補実行環境を含むか、
その組み合わせか、
である、請求項1に記載の方法。
【請求項3】
前記方法はさらに、
前記候補実行環境のセットについて前記実行情報を判断するステップと、
前記候補実行環境のセットのうちのそれぞれの候補実行環境について、前記候補実行環境に関連する前記実行情報を判断するステップであって、前記候補実行環境に関連する前記実行情報は、
前記候補実行環境について予測される炭素強度値か、
前記候補実行環境へ前記ワークロードを転送することに関連する転送エネルギーコストであって、前記候補実行環境のロケーション、前記第1の実行環境と前記候補実行環境との間の距離、ネットワーク情報、またはその組み合わせに基づく、前記転送エネルギーコストか、
前記候補実行環境における前記ワークロードの処理の継続時間に関連する継続時間、前記候補実行環境の電力使用効果値、またはその組み合わせに基づく炭素強度平均値か、
その組み合わせか、
を示す、前記候補実行環境に関連する前記実行情報を判断するステップと、
前記実行情報に基づき前記候補実行環境のセットから前記第1の実行環境を選択するステップであって、前記第1の実行環境はさらに、前記候補実行環境のセットに関連するスケジューリング情報、過去のワークロードのスケジューリングデータ、またはその組み合わせに基づき選択される、前記選択するステップと、
を含む、請求項1に記載の方法。
【請求項4】
前記候補実行環境のセットのうちのそれぞれの候補実行環境について、前記候補実行環境に関連する前記実行情報を判断するステップは、複数の処理開始時間のうちのそれぞれの時間について前記炭素強度平均値を判断するステップを含み、
前記推奨情報は、
前記ワークロードを含む複数のワークロードか、
前記候補実行環境のセットか、
前記候補実行環境のセットのうちのそれぞれの候補実行環境に関連するスケジューリング情報か、
前記候補実行環境のセットのうちのそれぞれの候補実行環境についての、
前記候補実行環境の前記炭素強度値、
前記候補実行環境のインフラストラクチャコスト、
前記候補実行環境のプロビジョニング時間、
前記候補実行環境に関連するサービスレベル合意もしくはレイテンシ、または
その組み合わせか、
コスト閾値またはエネルギー効率閾値か、
天候予測か、
その組み合わせか、
に基づき生成される、請求項3に記載の方法。
【請求項5】
前記方法はさらに、
前記ワークロードの処理のための前記第1の実行環境の承諾を示す第2のインジケータを受信するステップと、
前記第2のインジケータに基づき、
第1の時間における前記第1の実行環境での前記ワークロードの前記処理を示す前記ワークロードのスケジュールを生成するステップ、および
前記ワークロードを前記ワークロードのストレージロケーションから前記第1の実行環境へ転送するステップと、
を含む、請求項1に記載の方法。
【請求項6】
前記方法はさらに、
前記第1の実行環境を前記ワークロードの前記処理のためにプロビジョニングするステップと、
前記第1の実行環境による前記ワークロードの前記処理を開始するステップと、
を含む、請求項1に記載の方法。
【請求項7】
前記方法はさらに、
前記ワークロードが第2の時間に第2の実行環境で処理されるようにスケジューリングされていることを示すスケジューリング情報を受信するステップと、
前記候補実行環境のセットから前記第1の実行環境を選択するステップと、
前記ワークロードを前記第2の実行環境から前記第1の実行環境へ転送するステップと、
前記第1の実行環境による前記ワークロードの処理を開始するステップと、
を含む、請求項1に記載の方法。
【請求項8】
ワークロード管理のためのシステムであって、前記システムは、
メモリと、
前記メモリに通信可能に接続された1つ以上のプロセッサと、
を含み、前記1つ以上のプロセッサは、
ワークロードの処理をする候補実行環境のセットを特定することと、
前記ワークロードの処理についての推奨情報を生成することであって、前記推奨情報は、前記候補実行環境のセットのうちのそれぞれの候補実行環境について前記候補実行環境に関連する炭素強度値を示す実行情報に基づき前記候補実行環境のセットから選択された第1の実行環境に関連する、前記生成することと、
前記推奨情報を示す第1のインジケータを出力することと、
をするように構成される、システム。
【請求項9】
前記ワークロードは、バッチジョブを含み、
前記候補実行環境のセットは、ガバナンスポリシーに基づき特定され、
前記候補実行環境のセットのうちのそれぞれの前記候補実行環境は、異なるクラウドコンピューティング環境であり、
前記候補実行環境のセットは、複数の候補実行環境を含む、請求項8に記載のシステム。
【請求項10】
前記1つ以上のプロセッサは、前記候補実行環境のセットのうちのそれぞれの候補実行環境について、前記候補実行環境について予測される炭素強度値を受信するように構成される、請求項8に記載のシステム。
【請求項11】
前記1つ以上のプロセッサは、前記候補実行環境のセットのうちのそれぞれの候補実行環境について、前記候補実行環境へ前記ワークロードを転送することに関連する転送エネルギーコストを判断するように構成され、前記転送エネルギーコストは、前記候補実行環境のロケーション、前記第1の実行環境と前記候補実行環境との間の距離、ネットワーク情報、またはその組み合わせに基づく、請求項8に記載のシステム。
【請求項12】
前記1つ以上のプロセッサは、前記候補実行環境のセットのうちのそれぞれの候補実行環境について、前記候補実行環境における前記ワークロードの処理の継続時間に関連する継続時間、前記候補実行環境の電力使用効果値、またはその組み合わせに基づき炭素強度平均値を判断するように構成される、請求項8に記載のシステム。
【請求項13】
前記実行環境のセットのうちのそれぞれの候補実行環境について前記実行情報を判断するために、前記1つ以上のプロセッサはさらに、複数の処理開始時間のうちのそれぞれの時間について前記炭素強度平均値を判断するように構成される、請求項12に記載のシステム。
【請求項14】
前記1つ以上のプロセッサは、前記実行情報に基づき、前記候補実行環境のセットから前記第1の実行環境を選択するように構成され、前記第1の実行環境はさらに、前記候補実行環境のセットに関連するスケジューリング情報と、過去のワークロードスケジューリングデータとに基づき選択される、請求項8に記載のシステム。
【請求項15】
前記推奨情報は、前記候補実行環境のセットのうちのそれぞれの候補実行環境についての、
前記候補実行環境の前記炭素強度値と、
前記候補実行環境のインフラストラクチャコストと、
前記候補実行環境のプロビジョニング時間と、
前記候補実行環境に関連するサービスレベル合意またはレイテンシと、
に基づき生成される、請求項8に記載のシステム。
【請求項16】
1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサにアプリケーションポートフォリオ管理のための動作を実行させる命令を記憶している、非一時的コンピュータ可読ストレージ媒体であって、前記動作は、
ワークロードの処理をする候補実行環境のセットを特定することと、
前記ワークロードの処理についての推奨情報を生成することであって、前記推奨情報は、前記候補実行環境のセットのうちのそれぞれの候補実行環境について前記候補実行環境に関連する炭素強度値を示す実行情報に基づき前記候補実行環境のセットから選択された第1の実行環境に関連する、前記生成することと、
前記推奨情報を示す第1のインジケータを出力することと、
を含む、非一時的コンピュータ可読ストレージ媒体。
【請求項17】
前記動作はさらに、
前記候補実行環境のセットについて前記実行情報を判断することと、
前記候補実行環境のセットのうちのそれぞれの候補実行環境について、前記候補実行環境に関連する前記実行情報を判断することであって、前記候補実行環境に関連する前記実行情報は、
前記候補実行環境について予測される炭素強度値と、
前記候補実行環境へ前記ワークロードを転送することに関連する転送エネルギーコストであって、前記候補実行環境のロケーション、前記第1の実行環境と前記候補実行環境との間の距離、ネットワーク情報、またはその組み合わせに基づく、前記転送エネルギーコストと、
前記候補実行環境における前記ワークロードの処理の継続時間に関連する継続時間、前記候補実行環境の電力使用効果値、またはその組み合わせに基づく炭素強度平均値と、
を示す、前記候補実行環境に関連する前記実行情報を判断することと、
を含む、請求項16に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項18】
前記推奨情報は、
前記ワークロードを含む複数のワークロードと、
前記候補実行環境のセットと、
前記候補実行環境のセットのうちのそれぞれの候補実行環境に関連するスケジューリング情報と、
前記候補実行環境のセットのうちのそれぞれの候補実行環境についての、
前記候補実行環境の前記炭素強度値、
前記候補実行環境のインフラストラクチャコスト、
前記候補実行環境のプロビジョニング時間、
前記候補実行環境に関連するサービスレベル合意もしくはレイテンシ、または
その組み合わせと、
コスト閾値またはエネルギー効率閾値と、
天候予測と、
に基づき生成される、請求項16に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項19】
前記動作はさらに、
前記ワークロードの処理のための前記第1の実行環境の承諾を示す第2のインジケータを受信することと、
前記第2のインジケータに基づき、
第1の時間における前記第1の実行環境での前記ワークロードの前記処理を示す前記ワークロードのスケジュールを生成すること、および
前記ワークロードを前記ワークロードのストレージロケーションから前記第1の実行環境へ転送することと、
前記第1の実行環境を前記ワークロードの前記処理のためにプロビジョニングすることと、
前記第1の実行環境による前記ワークロードの前記処理を開始することと、
を含む、請求項16に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項20】
前記動作はさらに、
前記ワークロードが第2の時間に第2の実行環境で処理されるようにスケジューリングされていることを示すスケジューリング情報を受信することと、
前記候補実行環境のセットから前記第1の実行環境を選択することと、
前記ワークロードを前記第2の実行環境から前記第1の実行環境へ転送することと、
前記第1の実行環境による前記ワークロードの処理を開始することと、
を含む、請求項16に記載の非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全般的に分散コンピューティング環境に関し、特に、分散コンピューティング環境内のワークロードなどの、ワークロードの管理に関する。
【背景技術】
【0002】
クラウドコンピューティングは、現代のビジネスに不可欠なものとなっており、オンデマンドのコンピューティングリソースおよびコスト効果の高いソリューションを提供している。クラウドコンピューティングは、インターネット上でアクセス可能なソフトウェア、ストレージ、および処理能力などのコンピューティングサービスを提供することを含み得る。ユーザは、ローカルサーバまたはパーソナルコンピュータに頼らずに、サードパーティプロバイダにより維持されるリモートサーバの当該リソースにアクセスすることができる。ユーザは使用量を調整し、必要な分に対してのみ支払いをすることができるため、これによってより大きな柔軟性、拡張性、およびコスト削減が可能となる。しかしながら、クラウドコンピューティングの需要が増大した結果、エネルギー消費および炭素排出量が大幅に増加した。
【0003】
データセンターおよびクラウドコンピューティングにより消費されるエネルギーは、世界の温室効果ガス排出の大きな要因である。エネルギー効率の高いコンピューティングのための既存のソリューションは、主としてエネルギー効率の向上およびコストの削減に重点を置いている。例として、そのようなシステムは、仮想化、コンソリデーション、およびワークロード管理などの手法を使用してリソースの割り当てを最適化し、エネルギー消費を削減することもある。しかしながら、そのようなシステムは典型的には、電力網のリアルタイムの炭素強度を考慮せず、外部要因と内部要因との統合を欠くことがある。そのようなシステムは、規制要件とガバナンスポリシーとの統合など、外部要因と内部要因との統合も欠いている。さらに、バッチジョブのタイミングをシフトまたは変更する時はバッチの相互依存関係を考慮する必要があるが、既存のソリューションではこれに十分な対処がなされていない。具体的には、バッチジョブには複雑な相互依存関係があることが多く、正常に完了するよう徹底するには特定のタイミングおよびシーケンシングが必要なこともある。既存のシステムは、計算ワークロードを最適化する時にこうした相互依存関係を考慮しないことがあり、その結果、パフォーマンスが最適ではなくなりエネルギー消費が増大することがある。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、炭素排出量を削減し、ガバナンスポリシーを遵守するスケジューリングのためのワークロード管理などのワークロード管理を目的とした、新しい革新的なシステムおよび方法を提示する。例示として、ワークロード管理のために構成されたコンピューティングデバイスなどのシステムが、ワークロードの処理をする候補実行環境のセットを特定してもよい。例として、コンピューティングデバイスは、ワークロードの処理をする候補実行環境のセットを特定してもよい。特定の実装において、候補実行環境のセットは、ワークロードに関連するガバナンスポリシーに基づき特定されてもよい。コンピューティングデバイスは、複数のガバナンスコントロール文書内で特定されるスケジューリングエンティティおよびプロビジョニングエンティティに基づき特定され得る対応するガバナンスコントロールに基づき、許可されるロケーションを判断してもよい。コンピューティングデバイスは、ワークロードの処理についての推奨情報を、それぞれの候補実行環境に関連する炭素強度値に基づき生成してもよい。特定の実装において、ワークロードはバッチジョブを含んでもよい。
【0005】
コンピューティングデバイスは、ワークロードの処理についての推奨情報を生成してもよい。例として、コンピューティングデバイスは、ワークロードの処理についての推奨情報を生成してもよい。推奨情報は、候補実行環境のセットから選択された第1の実行環境に関連してもよい。選択は、それぞれの候補実行環境に関連する炭素強度値を示す実行情報に基づいてもよい。実行情報は、候補実行環境について予測される炭素強度値、候補実行環境へのワークロードの転送に関連する転送エネルギーコスト、候補実行環境を用いてワークロードを実行することに関わる炭素強度平均値、またはその組み合わせを示してもよい。コンピューティングデバイスは、実行情報に基づき、候補実行環境のセットから第1の実行環境を選択してもよい。選択は、候補実行環境のセットに関連するスケジューリング情報、過去のワークロードスケジューリングデータ、またはその組み合わせに基づいてもよい。特定の実装において、候補実行環境のセットのうちのそれぞれの候補実行環境について、候補実行環境に関連する実行情報を判断することは、複数の処理開始時間のうちのそれぞれの時間について炭素強度平均値を判断することを含んでもよい。推奨情報は、ワークロードを含む複数のワークロードか、候補実行環境のセットか、候補実行環境のセットのうちのそれぞれの候補実行環境に関連するスケジューリング情報か、コスト閾値またはエネルギー効率閾値か、天候予測か、その組み合わせか、に基づき生成されてもよい。
【0006】
コンピューティングデバイスは、推奨情報を示す第1のインジケータを生成または出力してもよい。例として、コンピューティングデバイスは、推奨情報を示す第1のインジケータを出力してもよい。特定の実装において、コンピューティングデバイスは、第1の実行環境がワークロードを処理するために許容され得ることを確認する第2のインジケータを受信してもよい。確認に基づき、コンピューティングデバイスは、ワークロードが第1の実行環境にていつ処理されるべきかを示すスケジュールを生成してもよい。特定の実装において、スケジュールに基づき、コンピューティングデバイスは、(ワークロードをストレージロケーションから第1の実行環境に転送することなどにより)指定時間に実行されるようワークロードを第1の実行環境に転送してもよい。
【0007】
そのようなシステムは、クラウドコンピューティング環境においてワークロードを処理する組織にいくつかの利点を提供し得る。候補実行環境のセットを特定し、炭素強度値およびその他実行情報に基づき推奨情報を生成することにより、システムは、組織がそのワークロードをどこで処理するかについて十分な情報に基づく決定を下すことを可能にし得る。これは、組織がそのカーボンフットプリントおよびエネルギーコストを削減するのに役立つかもしれず、その一方で、ワークロードのパフォーマンスおよび信頼性を向上させられる可能性もある。さらに、または代わりに、システムは、ガバナンスポリシーおよびその他要件に準拠してワークロードが実行されるよう徹底するために、スケジューリング情報およびその他コントロールを提供してもよい。全体として、システムは、組織がクラウドコンピューティング環境におけるワークロードの処理を最適化するための有益なツールを提供する。
【0008】
特定の側面において、ワークロード管理のための方法が、1つ以上のプロセッサにより実行される。方法は、ワークロードの処理をする候補実行環境のセットを特定するステップを含む。方法は、ワークロードの処理についての推奨情報を生成するステップも含む。推奨情報は、候補実行環境のセットのうちのそれぞれの候補実行環境について候補実行環境に関連する炭素強度値を示す実行情報に基づき候補実行環境のセットから選択された、第1の実行環境に関連する。方法はさらに、推奨情報を示す第1のインジケータを出力するステップを含む。
【0009】
特定の側面において、ワークロード管理のためのシステムは、メモリと、メモリに通信可能に結合された1つ以上のプロセッサとを含む。1つ以上のプロセッサは、ワークロードの処理をする候補実行環境のセットを特定するように構成される。1つ以上のプロセッサは、ワークロードの処理についての推奨情報を生成するようにも構成される。推奨情報は、候補実行環境のセットのうちのそれぞれの候補実行環境について候補実行環境に関連する炭素強度値を示す実行情報に基づき候補実行環境のセットから選択された、第1の実行環境に関連する。1つ以上のプロセッサはさらに、推奨情報を示す第1のインジケータを出力するように構成される。
【0010】
別の特定の側面において、非一時的コンピュータ可読ストレージ媒体が、1つ以上のプロセッサにより実行されるとワークロード管理のための動作を1つ以上のプロセッサに実行させる命令を記憶する。動作は、ワークロードの処理をする候補実行環境のセットを特定することを含む。動作は、ワークロードの処理についての推奨情報を生成することも含む。推奨情報は、候補実行環境のセットのうちのそれぞれの候補実行環境について候補実行環境に関連する炭素強度値を示す実行情報に基づき候補実行環境のセットから選択された、第1の実行環境に関連する。動作はさらに、推奨情報を示す第1のインジケータを出力することを含む。
【0011】
前述の事項は、本開示の特徴および技術的利点に関するいくぶん大まかな概要であり、以下の詳細な説明をより深く理解できるようにするためのものである。以下、本開示の特許請求の範囲の主題を構成するさらなる特徴および利点が記載される。当業者には当然のことながら、開示されている構想および具体的な側面は、本開示と同じ目的を遂行するために他の構造を変更または設計するための基礎として容易に利用され得る。同じく当業者には当然のことながら、そのような等価な構成は、添付の特許請求の範囲に記載される開示の範囲から逸脱するものではない。以下の記載を添付の図面に関連して考慮することにより、編成および動作方法の両方について本願明細書において開示されている新規特徴が、さらなる目的および利点とともにより深く理解されるであろう。なお、当然のことながら、それぞれの図面は例示および説明を目的として示されるものでしかなく、本開示の限定を定義するものとして意図されてはいない。
【0012】
以下、本開示がより包括的に理解されるよう、添付の図面と併せて解釈される下記の記載を参照する。
【0013】
当然のことながら、図面は必ずしも一定の縮尺ではなく、開示される諸側面が概略的に部分図として例示されることもある。特定の事例では、開示される方法および装置の理解に必須でない詳細、または他の詳細をわかりにくくする詳細が省略されていることもある。言うまでもなく、当然のことではあるが、本開示は本願明細書において例示される特定の側面に限定されない。
【図面の簡単な説明】
【0014】
図1】1つ以上の側面による、ワークロード管理をサポートするシステムの例のブロック図である。
図2】1つ以上の側面による、転送エネルギーコストを計算するプロセスの例を示す。
図3】1つ以上の側面による、炭素強度平均値を計算するプロセスの例を示す。
図4】1つ以上の側面による、ワークロード管理をサポートするシステムの別の例のブロック図である。
図5】1つ以上の側面による、ワークロード管理のための方法の例のフロー図である。
【発明を実施するための形態】
【0015】
本開示の諸側面は、クラウドベースワークロードの管理などのワークロード管理をサポートするシステム、方法、装置、およびコンピュータ可読ストレージ媒体を提供する。本願明細書に記載されるクラウドベースワークロードの管理の手法は、ガバナンスポリシーおよび炭素強度値に基づきクラウドコンピューティング環境を特定および推奨することにより、改善されたワークロードスケジューリングを提供する。ワークロードについての推奨情報を生成する手法は、候補実行環境のセットおよび対応するガバナンスコントロールを特定することと、実行情報、スケジューリング情報、および過去のワークロードスケジューリングデータを分析することと、許可されるそれぞれのロケーションのデータ転送指標およびバッチ実行指標などの指標を判断することとを含む。これらの指標に基づき、推奨実行環境を示す第1のインジケータが出力されてもよい。さらに、予測される炭素排出量を最小化しながら、タイミング、コスト、およびレイテンシの要件を考慮したスケジュールが生成されてもよい。ワークロードは、推奨実行環境へ処理のために転送(自動的に転送される、承認後に転送されるなど)されてもよい。クラウドコンピューティング環境の推奨においてリアルタイムカーボンシステムおよびガバナンスポリシーシステムを使用することで、炭素排出量を削減しながらクラウドベースワークロードをより効率的に最適化することが可能になる。
【0016】
一部の実装において、システムは、上述した問題の1つ以上を軽減または解決する形でワークロードスケジューリングの推奨を決定するように構成されてもよい。システムは、クラウドベースワークロードについてスケジュールなどの推奨を決定するために、リアルタイムカーボンシステムおよびガバナンスポリシーシステムと統合されるように構成されてもよい。例として、システムは、ワークロードについての対応するガバナンスポリシーおよびクラウドコンピューティング環境の炭素強度値に基づき、特定のワークロードのために特定のクラウドコンピューティング環境を選択および推奨してもよい。コンピューティングデバイスは、受信された1つ以上のワークロードのための候補実行環境のセット、およびワークロードについての対応するガバナンスコントロールを特定してもよい。システムは、ワークロードについての推奨情報を決定するように構成された推奨エンジンを含んでもよい。推奨情報は、ワークロードのために対応する実行環境を特定してもよい。例として、推奨情報は、ワークロードのスケジュールを特定してもよい。推奨情報は、実行情報、スケジューリング情報、および過去のワークロードスケジューリングデータに基づき生成されてもよい。データ転送指標およびバッチ実行指標などの指標が、候補実行環境について判断されてもよい。さらに推奨情報は、予測される炭素排出量を最小化しながら、タイミング、コスト、およびレイテンシの要件を考慮に入れるように決定されてもよい。ワークロードの推奨実行環境を特定する第1のインジケータが推奨の中に含まれてもよい。システムは、(ワークロードを自動的に転送するなど)処理のためにワークロードを推奨実行環境に転送してもよい。
【0017】
図1を参照する。1つ以上の側面によるワークロード管理をサポートするシステムの例がシステム100として示されている。図1に示されているように、システム100は、コンピューティングデバイス102、1つ以上のネットワーク160、コンピューティングデバイス154、コンピューティングデバイス156、コンピューティングデバイス158、およびデータベース161を含む。一部の実装においてシステム100は、非限定的な例として、1つ以上のクライアントデバイス、追加のデータベースもしくはデータソース、またはその組み合わせなど、図1に示されていない追加のコンポーネントを含んでもよい。
【0018】
コンピューティングデバイス102は、1つ以上のワークロード管理動作をサポートするように構成されてもよい。コンピューティングデバイス102は、非限定的な例として、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、パーソナルコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルデバイス(例えばスマートフォン、タブレット、携帯情報端末(PDA:personal digital assistant)、ウェアラブルデバイス、および同様のもの)、サーバ、バーチャルリアリティ(VR:virtual reality)デバイス、オーグメンテッドリアリティ(AR:augmented reality)デバイス、エクステンデッドリアリティ(XR:extended reality)デバイス、車両(またはそのコンポーネント)、娯楽システム、その他コンピューティングデバイス、またはその組み合わせを含んでも、またはそれに相当してもよい。一部の実装において、コンピューティングデバイス152は、1つ以上のパーソナルコンピューティングデバイスまたはエンタープライズコンピューティングデバイスにより実装されてもよい。特定の実装において、コンピューティングデバイス152は、コンピューティングデバイス144、156、158と同じ分散コンピューティング環境などの分散コンピューティング環境の一部として実装されてもよい。例として、特定の実装においてコンピューティングデバイス152は、分散コンピューティング環境の実行環境180、182、184(コンピューティングデバイス154、156、158により実装される実行環境180、182、184など)内で実行されるワークロードをスケジューリングするように構成されてもよい。
【0019】
コンピューティングデバイス102は、1つ以上のプロセッサ104、メモリ106、1つ以上の通信インターフェース135を含む。他の一部の実装において、コンポーネントのうちの1つ以上は任意選択とされてもよく、追加のコンポーネント1つ以上がコンピューティングデバイス102に含まれてもよく、またはその両方であってもよい。なお、コンピューティングデバイス102を参照して記載される機能性は、限定としてではなく例示目的で示されており、本願明細書に記載される例示的な機能性は、他のタイプのコンピューティングリソースのデプロイメントを介して提供されてもよい。例として、一部の実装において、コンピューティングデバイス102に関連して記載されるコンピューティングリソースおよび機能性は、複数のサーバまたはその他コンピューティングデバイスを使用する分散システムにおいて提供されてもよく、または1つ以上のネットワーク160のうちの1つなどのネットワーク上でアクセス可能なクラウドベースの環境により提供されるコンピューティングリソースおよび機能性を使用するクラウドベースシステムにおいて提供されてもよい。例示として、コンピューティングデバイス102を参照して本願明細書に記載される1つ以上の動作が、1つ以上のサーバ、またはコンピューティングデバイス154、コンピューティングデバイス156、もしくはコンピューティングデバイス158など1つ以上のクライアントと通信するクラウドベースシステムにより実行されてもよい。
【0020】
1つ以上のプロセッサ104は、本開示の諸側面に従うコンピューティングデバイス102の動作を促進するように構成された、1つ以上のマイクロコントローラ、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、1つ以上の処理コアを有する中央処理ユニット(CPU:central processing unit)、または他の回路構成およびロジックを含んでもよい。メモリ106は、ランダムアクセスメモリ(RAM:random access memory)デバイス、読み取り専用メモリ(ROM:read only memory)デバイス、消去可能プログラマブルROM(EPROM:erasable programmable ROM)、電気的消去可能プログラマブルROM(EEPROM:electrically erasable programmable ROM)、1つ以上のハードディスクドライブ(HDD:hard disk drive)、1つ以上のソリッドステートドライブ(SSD:solid state drive)、フラッシュメモリデバイス、ネットワークアクセス可能ストレージ(NAS:network accessible storage)デバイス、またはデータを永続的な状態もしくは非永続的な状態で記憶するように構成された他のメモリデバイスを含んでもよい。コンピューティングデバイス102の動作および機能性を促進するように構成されたソフトウェアは、命令108としてメモリ106に記憶されてもよく、この命令は、1つ以上のプロセッサ104により実行されると、より詳しく後述されるように、コンピューティングデバイス102に関して本願明細書に記載されている動作を1つ以上のプロセッサ104に実行させる。
【0021】
メモリ106は、1つ以上のエンジンを記憶するように構成されてもよい。1つ以上のエンジンは、炭素強度抽出エンジン172、ディスカバリエンジン174、推奨エンジン176、炭素削減エンジン178、またはその組み合わせを含んでもよい。コンピューティングデバイス102は、炭素強度抽出エンジン172、ディスカバリエンジン174、推奨エンジン176、炭素削減エンジン178のそれぞれを含むものとして記載されるが、他の実装では、炭素強度抽出エンジン172、ディスカバリエンジン174、推奨エンジン176、炭素削減エンジン178のうちの1つ以上は、任意選択であってもよく、且つ/またはコンピューティングデバイス102に含まれなくてもよい。
【0022】
炭素強度抽出エンジン172は、ガバナンスコントロールを統合し、ワークロードについて許可されるロケーション(許可されるコンピューティング環境、許可される実行環境、および同様のものなど)を特定するように構成されてもよい。以下でさらに説明されるように、炭素強度抽出エンジン172は、特定されたロケーションの1つ以上においてワークロードを実行することに関わる炭素強度値、転送エネルギーコスト、および炭素強度平均値など、1つ以上のワークロードの実行情報を特定しても、または別の形で決定してもよい。
【0023】
ディスカバリエンジン174は、実行されるワークロード、ワークロードの依存関係、スケジューリング情報、およびガバナンスポリシーを特定するように構成されてもよい。例として、ディスカバリエンジン174は、実行されるバッチジョブ(定期的に実行されるバッチジョブなど)を、対応する依存関係(バッチジョブの実行を完了するために必要な前提条件またはその他要求されるコンピューティングサービスなど)とともに特定するように構成されてもよい。ディスカバリエンジン174は、バッチジョブが実行される必要がある時間、バッチジョブの実行が完了する必要がある時間、バッチジョブが実行不可能な時間、および同様のものなど、バッチジョブのスケジューリング情報も特定してもよい。特定の実装において、ディスカバリエンジン174は、アプリケーションランドスケープ(特定のエンティティ、ユーザ、部門、および同様のもののためのアプリケーションランドスケープなど)を判断するように構成されてもよい。アプリケーションランドスケープは、上述されたバッチジョブ情報、上述された相互依存関係、バッチジョブに関するデータ量(受信および送信されるデータ量など)、要求されるコードベースライン、および要求されるインフラストラクチャを含んでもよい。ディスカバリはさらに、対応する1つ以上のデータ主権ルール、適用されるポリシー、および好適なロケーションを特定することを含んでもよい。特定の実装において、ディスカバリエンジン174は、関連する1人以上の担当者、管理者、開発者、および同様の者に対する質問などの質問を使用して、上記の情報を特定してもよい。さらなる実装または代わりの実装において、上述の情報などの対応する情報を特定する1つ以上の文書検索ツール、テキスト検索ツール、自然言語検索ツール、メタデータ分析ツール、およびデータ合成ツールなどの1つ以上のツールが、対応するポリシーを特定するために使用されてもよい。
【0024】
推奨エンジン176は、ワークロード(ディスカバリエンジン174により特定されたワークロード、1人以上のユーザまたはその他1つ以上のコンピューティングプロセスから受信されたワークロード、および同様のものなど)の実行についての1つ以上の推奨を特定するように構成されてもよい。特定の実装において、推奨エンジン176は、複数のワークロードのそれぞれのために対応する実行環境を特定してもよい。特定の実装において、推奨エンジン176はさらに、特定された実行環境内の1つ以上の実行時間を特定してもよい。特定の実装において、推奨エンジン176は、1つ以上のワークロードのために対応する複数の実行環境を生成してもよい。推奨エンジン176は、特定のワークロードについてディスカバリエンジン174により特定された要件を満たし、且つ(炭素強度抽出エンジン172により判断されるか、または別の形で特定される情報などに基づき)ワークロードの実行からの総炭素放出を最小化する、炭素最適化されたスケジューリング時間を決定する1つ以上のルールエンジンを利用するように構成されてもよい。推奨エンジン176は、(ユーザ、監視用コンピューティングプロセス、および同様のものによる)過去の承認情報に基づき、以前に承認されたスケジューリング時間およびリージョンがあるワークロードなど過去の情報を考慮することができる。特定の実装において推奨エンジン176は、(定期的に繰り返されるワークロードなどについて)ワークロードスケジュールの恒久的なシフトを推奨してもよい。さらに後述するように、特定の実装において推奨エンジン176は、繰り返すワークロードのマスタスケジュールを維持しており、そのスケジュールを定期的に(毎週、毎日など)更新してもよい。炭素削減エンジン178は、推奨エンジン176から推奨を受信し、推奨実行環境が使用された場合の絶対的な炭素削減(所定のベースラインに対する削減、現在の構成に対する削減)を判断するように構成されてもよい。
【0025】
特定の実装において推奨エンジン176はさらに、推奨エンジン176からの推奨を自動的に実装するように構成されてもよい。特定の実装において、推奨は、ユーザまたは監視用コンピュータプロセスから承認を受けると自動的に実装されてもよい。さらなる実装または代わりの実装において、推奨は、そのような承認を受けずに自動的に実装されてもよい。推奨の自動的な実装は、ワークロードおよびスケジューリングの更新(一時的な更新、恒久的な更新など)を含んでもよい。推奨を自動的に実装することはさらに、ワークロードが1つのリージョン(1つのクラウドコンピューティング施設など)から別のリージョンへシフトされる場合にワークロードをプロビジョニングおよび転送することなどによる、クラウドプロビジョニングを含んでもよい。さらに、または代わりに、推奨の自動的な実装は、スケジューリングされた時間などのスケジューリングされた時間における1つ以上の推奨実行環境内での自動化されたワークロード実行を含んでもよい。
【0026】
炭素削減エンジン178は、推奨エンジン176から推奨を受信し、推奨実行環境が使用された場合の絶対的な炭素削減(所定のベースラインに対する削減、現在の構成に対する削減)を判断するように構成されてもよい。
【0027】
さらに、メモリ106は、データおよび情報を記憶するように構成されてもよい。例としてメモリ106は、実行情報114、ワークロード110、ガバナンスポリシー112、スケジューリング情報116、第1のインジケータ118、および第2のインジケータ120を記憶しても、または示してもよい。
【0028】
ワークロード110は、バッチジョブ122を含む。バッチジョブ122は、特定の時間に実行されるようにスケジューリングされるか、または特定のイベントによりトリガされるなど、ユーザインタラクションなしで実行されるコンピューティングプロセスを含んでもよい。クラウドコンピューティング環境またはその他実行環境において、バッチジョブ122は、データセットの処理、シミュレーションの実行、コミュニケーションの送信、および同様のものなどの様々なタスクを実行するために使用されてもよい。バッチジョブ122は、Kubernetes、Apache Hadoop、Apache Spark、および同様のものなどの様々なツールおよびフレームワークを使用して管理およびスケジューリングされてもよい。
【0029】
特定の実装においてコンピューティングデバイス102は、ワークロード110に関するガバナンスポリシー112を受信してもよい。ガバナンスポリシー112は、複数のクラウドコンピューティング環境またはそれらの組み合わせを含み得る、候補実行環境180、182、184のセットを特定するために使用されてもよい。コンピューティングデバイス102は、ワークロード110についての対応するガバナンスコントロールを特定してもよく、ガバナンスコントロールに基づきワークロード110について許可されるロケーションを判断してもよい。候補実行環境180、182、184のセットは、許可されるロケーションにある実行環境として特定されてもよい。コントロールを特定するために、コンピューティングデバイス102は、複数のガバナンスコントロール文書の中からスケジューリングエンティティおよびプロビジョニングエンティティを決定してもよく、文書のエンティティと、ワークロード110に関連する対応するエンティティとを照合してもよい。特定の実装において、スケジューリングエンティティは、実行環境内のコンピューティングリソースをスケジューリングおよび管理するためのソフトウェアコンポーネントまたはその他メカニズムを含んでもよい。スケジューリングエンティティは、様々なユーザおよびワークロードにリソースを割り当てることを担当してもよい。特定の実装において、スケジューリングエンティティは、ガバナンスポリシーの中で特定されてもよく、対応するワークロード110についての1つ以上の要件(スケジューリング期限またはタイミング要件など)を含んでもよい。スケジューリングエンティティの例には、ジョブスケジューラ、ワークロードマネージャ、およびリソースマネージャが含まれ得る。プロビジョニングエンティティは、実行環境の物理的なインフラストラクチャ(物理的なコンピューティングリソースなど)をプロビジョニングおよび管理するソフトウェアコンポーネントまたはその他メカニズムを含んでもよい。例として、スケジューリングエンティティは、実行環境をサポートするために必要なサーバ、ストレージデバイス、およびその他ハードウェアリソースのプロビジョニングおよび管理を担当してもよい。特定の実装において、プロビジョニングエンティティは、ガバナンスポリシー内で特定されてもよく、対応するワークロード110についての1つ以上の要件(最小リソース要件など)を含んでもよい。プロビジョニングエンティティの例には、仮想化マネージャ、ストレージマネージャ、およびネットワークマネージャが含まれ得る。
【0030】
実行情報114は、炭素強度値124、転送エネルギーコスト126、および炭素強度平均値128を含む。特定の実装において、実行情報114は、実行環境について予測される炭素強度値124、実行環境に対する転送エネルギーコスト126、実行環境の炭素強度平均値128、またはその組み合わせを示してもよい。炭素強度値124は、対応する実行環境内でのワークロード110の実行について予測される炭素強度の合計を示してもよい。転送エネルギーコスト126は、実行のためにワークロード110を対応する実行環境に転送するための予測エネルギー使用量を示してもよい。炭素強度平均値128は、対応する実行環境内でワークロード110を実行している間の平均炭素強度の見込みを示してもよい。特定の実装において、炭素強度値124は、実行環境に対する転送エネルギーコスト126と実行環境の炭素強度平均値128とを組み合わせることなどにより、転送エネルギーコスト126および炭素強度平均値128に基づき判断されてもよい。
【0031】
特定の実装において、コンピューティングデバイス102は、候補実行環境180、182、184のそれぞれにおいてワークロード110を実行するために要求される平均エネルギー消費を判断することにより、転送エネルギーコスト126を判断する。コンピューティングデバイス102は、ワークロード110についてデータ転送の継続時間も判断してもよい。例としてコンピューティングデバイス102は、2つ以上の候補実行環境180、182、184の異なる組み合わせ(別々の時間にワークロード110を実行するために使用される候補実行環境180、182、184など)を考慮してもよい。さらなる実装または代わりの実装において、コンピューティングデバイス102は、ワークロード110の現在のストレージロケーションと候補実行環境180、182、184との間のデータ転送の、異なる組み合わせを考慮してもよい。転送の継続時間に基づき、コンピューティングデバイス102は、それぞれの候補実行環境180、182、184でのデータ転送中のワークロード110の実行に関わる炭素強度の第1の指標を計算してもよい。次にコンピューティングデバイス102は、2つ以上の候補実行環境180、182、184間のデータ転送ネットワーク経路上にあるデータセンターによるエネルギー消費に関わる炭素強度の第2の指標を判断してもよい。次にコンピューティングデバイス102は、炭素強度の第1および第2両方の指標に基づき(第1および第2の指標を合計することなどにより)、総データ転送エネルギーコスト126を計算してもよい。
【0032】
スケジューリング情報116は、ワークロード110、他のワークロード、またはその組み合わせの実行時間に関する情報を示してもよい。特定の実装において、スケジューリング情報116は、1つ以上のワークロード110の実行時間および対応する実行環境180、182、184を示してもよい。さらなる実装または代わりの実装において、スケジューリング情報116は、実行環境180、182、184に関する情報を含んでもよい。例としてスケジューリング情報116は、実行環境180、182、184のうちの1つ以上の、利用可能性に関する時間、価格表、メンテナンス時間枠、および同様のものを含んでもよい。
【0033】
第1のインジケータ118は、ワークロード110のための推奨に関する情報を含んでもよい。例として第1のインジケータ118は、コンピューティングデバイス102により決定された推奨情報130を含んでもよい。特定の実装において、推奨情報130は、候補実行環境180、182、184のセットから選択された第1の実行環境180に関連してもよい。例として推奨情報130は、ワークロード110の全部または一部を実行するために第1の実行環境180が使用されるべきであることを示してもよい。さらに、または代わりに、特定の実装において推奨情報130は、ワークロード110が第1の実行環境180内で実行されるべき特定の時間を推奨してもよい。コンピューティングデバイス102は、ワークロードを実行することの環境への影響を軽減するため、ガバナンスポリシーを遵守するため、またはその組み合わせのために、候補実行環境中にワークロードを分散させる推奨を決定するように構成されてもよい。例としてコンピューティングデバイス102は、ワークロード110の処理についての推奨情報130を生成するように構成されてもよい。
【0034】
第2のインジケータ120は、別のコンピューティングデバイスから受信されてもよい。例として第2のインジケータ120は、別のコンピューティングデバイス上でのユーザのアクションに応答して受信されてもよい。特定の実装において第2のインジケータ120は、推奨情報130に関するユーザフィードバック(ユーザフィードバックのメタデータまたは指示など)を示してもよい。例として第2のインジケータ120は、ワークロード110を実行するために第1の実行環境180を使用することの承認など、推奨情報130の全部または一部の承認または拒否を含んでもよい。或る特定の実装において、第2のインジケータ120は、ワークロード110の識別子、推奨情報130、ならびにワークロード110および推奨情報130に対応する承認インジケータ(真のブール値など)を含んでもよい。
【0035】
1つ以上の通信インターフェース135は、1つ以上の通信プロトコルまたは通信規格(例えばイーサネットプロトコル、伝送制御プロトコル/インターネットプロトコル(TCP/IP:transmission control protocol/internet protocol)、電気電子技術者協会(IEEE:Institute of Electrical and Electronics Engineers)802.11プロトコル、IEEE802.16プロトコル、第3世代(3G:3rd Generation)通信規格、第4世代(4G:4th Generation)/ロングタームエボリューション(LTE:long term evolution)通信規格、第5世代(5G:5th Generation)通信規格、および同様のもの)に従い確立された有線またはワイヤレスの通信リンクを介してコンピューティングデバイス102を1つ以上のネットワーク136に通信可能に結合するように構成されてもよい。一部の実装においてコンピューティングデバイス102は、1つ以上のディスプレイデバイス、キーボード、スタイラス、1つ以上のタッチスクリーン、マウス、トラックパッド、マイクロフォン、カメラ、1つ以上のスピーカ、触覚フィードバックデバイス、またはユーザがコンピューティングデバイス102から情報を受け取ることまたはコンピューティングデバイス102に情報を提供することを可能にする他のタイプのデバイスを含む、1つ以上の入出力(I/O:input/output)デバイスを含む。一部の実装において、コンピューティングデバイス102は、モニタ、ディスプレイ(例えば液晶ディスプレイ(LCD:liquid crystal display)または同様のもの)、タッチスクリーン、プロジェクタ、バーチャルリアリティ(VR)ディスプレイ、オーグメンテッドリアリティ(AR)ディスプレイ、エクステンデッドリアリティ(XR)ディスプレイ、または同様のものなどのディスプレイデバイスに結合される。他の一部の実装において、ディスプレイデバイスは、コンピューティングデバイス102に含まれるか、またはコンピューティングデバイス102に統合される。他の一部の実装において、コンピューティングデバイス102は、それぞれのディスプレイデバイスを含むかまたはそれぞれのディスプレイデバイスに結合された1つ以上のクライアントデバイスに、通信可能に結合される。
【0036】
通信ネットワークなどの1つ以上のネットワーク160は、コンピューティングデバイス102と、他のコンポーネント、サーバ/プロセッサ、および/またはデバイスとの間のデータの通信を促進してもよい。例として、1つ以上のネットワーク160は、コンピューティングデバイス102と、コンピューティングデバイス154、コンピューティングデバイス156、コンピューティングデバイス185、データベース161、またはその任意の組み合わせとの間のデータの通信も促進してもよい。1つ以上のネットワーク160は、有線ネットワーク、ワイヤレスネットワーク、またはその組み合わせを含んでもよい。例として、1つ以上のネットワーク136は、PC-PC間の直接接続、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、モデム-モデム間の接続、インターネット、イントラネット、エクストラネット、ケーブル伝送システム、セルラ通信ネットワーク、上記の任意の組み合わせ、またはその他2つ以上の電子デバイスが通信ネットワークの中で通信することを可能にする、現在既知の、または後に開発される任意の通信ネットワークなど、任意のタイプの通信ネットワークを含み得る。
【0037】
コンピューティングデバイス154、156、158は、ユーザまたは個人に関連する1つ以上のコンピューティングデバイスとされてもよい。例えばコンピューティングデバイス154、156、158は、非限定的な例として、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、パーソナルコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルデバイス(例えばスマートフォン、タブレット、携帯情報端末(PDA)、ウェアラブルデバイス、および同様のもの)、サーバ、バーチャルリアリティ(VR)デバイス、オーグメンテッドリアリティ(AR)デバイス、エクステンデッドリアリティ(XR)デバイス、車両(またはそのコンポーネント)、娯楽システム、その他コンピューティングデバイスのうちの1つ以上、またはその組み合わせにより実装されてもよい。さらなる実装または代わりの実装において、コンピューティングデバイス154、156、158は、サーバコンピューティングデバイス、クラウドコンピューティングデバイス、仮想化コンピューティングデバイス、および同様のものなどの1つ以上のエンタープライズコンピューティングデバイスにより実装されてもよい。一部の実装において、それぞれのコンピューティングデバイス154、156、158は、コンピューティングデバイス102を参照して記載された1つ以上のコンポーネントを含んでもよく、コンピューティングデバイス102を参照して記載された1つ以上の動作を設定されてもよく、またはその組み合わせであってもよい。
【0038】
コンピューティングデバイス154、156、158は、1つ以上の分散コンピューティング環境を実装してもよい。分散コンピューティング環境は、1人以上のユーザにオンデマンドコンピューティングサービスを提供するように構成されたコンピューティング環境を含んでもよい。例として分散コンピューティング環境は、1人以上のパブリックユーザにコンピューティングサービスを提供するために利用可能でありパブリックアクセス可能な、1つ以上のコンピューティング環境を含んでもよい。特定の実装において分散コンピューティング環境は、クラウドコンピューティング環境、仮想化コンピューティング環境、ベアメタルコンピューティング環境、および同様のものを含んでもよい。特定の実装において分散コンピューティング環境は、1つ以上のサーバコンピューティングデバイスなどの1つ以上のコンピューティングデバイスにより実装されてもよい。コンピューティングデバイスは、互いに同じロケーション(同じ建物内、同じサーバラック内、および同様のロケーションなど)にあってもよい。さらに、または代わりに、コンピューティングデバイスは、別々のロケーション(別々の建物内、別々の地理的ロケーション、および同様のロケーションなど)にあってもよい。コンピューティングサービスを提供するために、分散コンピューティング環境は、実行のために受信されたワークロードに、コンピューティングリソース(処理リソース、メモリリソース、ストレージリソース、グラフィックス処理リソース、ネットワークリソース、および同様のものなど)を割り当ててもよい。特定の実装において、コンピューティングリソースは、同時に複数のワークロードに割り当てられてもよい(仮想化コンピューティング環境内などで)。さらなる実装または代わりの実装において、コンピューティングリソースは、一度に単一のワークロードに割り当てられてもよい(ベアメタルコンピューティング環境内などで)。特定の実装において、複数のコンピューティングデバイス(同じロケーションの複数のデバイス、別々のロケーションの複数のデバイス、またはその組み合わせなど)が、同時に(同じワークロードのためなど)ユーザにコンピューティングサービスを提供するために使用されてもよい。特定の実装において、受信されたワークロードは、実行される1つ以上のソフトウェアプロセス(バッチジョブ、APIリクエスト、ソフトウェアサービス、および類似のプロセスなど)を含んでもよい。具体的には、分散コンピューティング環境は、受信されたワークロードを実行するように構成された1つ以上の実行環境180、182、184を含んでもよい。特定の実装において、実行環境180、182、184は、コンピューティングデバイス144、156、158のうちの1つ以上により実装されてもよい。例として、実行環境180、182、184に上述のコンピューティングリソースが割り当てられてもよい。特定の実装において、分散コンピューティング環境内の1つ以上の実行環境は、複数のコンピューティングデバイス(コンピューティングデバイス154、156、158のうちの2つ以上など)により実装されてもよい。
【0039】
データベース161は、記憶されたデータを維持し、それに対するアクセスを提供するように構成された、1つ以上のデータベースまたはその他ストレージデバイスを含んでもよい。一部の実装において、データベース161は、プロセッサと、プロセッサにより実行されるとプロセッサに本願明細書に記載の動作を実行させる命令を記憶するメモリとを含んでもよい。データベース161は、過去のバッチジョブスケジュール、過去のバッチジョブ構成、過去のバッチジョブスケジューリングの承認情報、ガバナンスポリシー、分散コンピューティング環境の利用可能なリージョン、分散コンピューティング環境の電力網情報、分散コンピューティング環境のカーボンフットプリントの計算、分散コンピューティング環境のコスト情報、および同様のものなどの情報を含むナレッジコーパスなど、データ(例えば情報)を記憶するように構成されたものであってもよい。情報は、データベース161に記憶されるものとして記載されているが、他の実装では、データベース161に記憶されるデータはさらに、または代わりに、コンピューティングデバイス102などのコンピューティングデバイス、例えばコンピューティングデバイス102のメモリ106に記憶されてもよい。
【0040】
動作中、コンピューティングデバイス102は、ワークロード管理に関連する1つ以上の動作を実行してもよい。例として、コンピューティングデバイス102は、ワークロード110を処理する候補実行環境180、182、184のセットを特定するように構成されてもよい。第1の実行環境180が、候補実行環境180、182、184のセットについての実行情報114に基づき選択されてもよい。例として、コンピューティングデバイス102は、候補実行環境180、182、184のセットのうちの少なくともサブセットの実行環境それぞれについてなど、候補実行環境180、182、184のセットについての実行情報114を判断してもよい。実行情報114は、炭素強度値124、転送エネルギーコスト126、炭素強度平均値、またはその組み合わせを含んでもよい。次にコンピューティングデバイス102は、実行情報114を使用して、ワークロード110のために少なくとも1つの第1の実行環境180を選択してもよい。コンピューティングデバイス102は、少なくとも1つの第1の実行環境に基づき推奨情報130を決定してもよい。例として、推奨情報130は、ワークロード110を実行する少なくとも1つの実行環境を特定してもよく、ワークロード110が実行されるべき時間を特定してもよい。コンピューティングデバイス102は、推奨情報130を示す第1のインジケータ118を出力するように構成されてもよい。第1のインジケータ118は、推奨情報130の全部または一部を含むメッセージ、通知、またはその他指示として出力されてもよい。特定の実装において、第1のインジケータ118に応答して承認が受信されてもよい(ユーザなどから)。コンピューティングデバイス102はさらに、スケジュールに基づき1つ以上の実行環境間でワークロード110を転送するように構成されてもよい。これらの動作の特定の実装について、以下により詳しく記載される。
【0041】
具体的には、コンピューティングデバイス102は、ワークロード110の処理をする候補実行環境180、182、184のセットを特定するように構成されてもよい。候補実行環境180、182、184のセットは、複数のクラウドコンピューティング環境またはその組み合わせを含んでもよい。候補実行環境180、182、184は、1つ以上のコンピューティングデバイス154、156、158により実装されてもよい。例として、候補実行環境180、182、184のセットは、1つ以上のオンプレミスデータセンター、パブリッククラウド、プライベートクラウド、ハイブリッドクラウド、エッジコンピューティング環境、および/または他の分散コンピューティング環境を含んでもよい。
【0042】
特定の実装において、ガバナンスポリシー112が、候補実行環境180、182、184のセットを決定するために使用されてもよい。例として、コンピューティングデバイス102は、ワークロード110に関するガバナンスポリシー112を受信しても、または別の形で特定してもよい。次にコンピューティングデバイス102は、ガバナンスポリシー112に基づき許可されるロケーションを特定してもよく、許可されるロケーションに基づき候補実行環境180、182、184のセットを特定してもよい。一部の実装において、ガバナンスポリシーを特定するために、固有表現認識(NER:Named Entity Recognition)モデルなどのモデルを、スケジューリングエンティティおよびプロビジョニングエンティティなどのエンティティを特定するためガバナンスポリシーのコーパスに対して訓練できる。訓練プロセスは、トークン化、レンマ化、ラベル付け、およびモデルフィッティングを含んでもよい。モデルが訓練されると、モデルが使用されて、ガバナンスポリシーからスケジューリングエンティティおよびプロビジョニングエンティティが抽出されてもよい。スケジューリングエンティティは、データ分類、アプリ/データ主権要件、サービスレベル合意、ビジネスクリティカルプロセス、許可される実行リージョン、許可される最大レイテンシ、コスト閾値を含んでもよい。プロビジョニングエンティティは、必要なプロビジョニングプロセスおよび承認(特定のワークロードの割り振りを承認する必要があるユーザなど)、ワークロードの実行に使用されるオペレーティングシステム、アプリケーション、ファームウェアのパッチ適用スケジュール、多要素認証要件、ハードウェア資産レジスタ、情報資産レジスタ、ロギングおよびログ保持要件、ならびにインシデント対応計画要件を含んでもよい。リージョン、スケジューリング時間などのような詳細を含むバッチのリストを持つ抽出されたエンティティを付加することにより、コンプライアンスおよびリスク管理のためにガバナンスポリシーを特定および分析できる。
【0043】
特定の実装において、候補実行環境180、182、184のセットを特定するために追加の考慮事項が用いられてもよい。例としてコンピューティングデバイス102は、利用可能性、コスト、パフォーマンス、ユーザプリファレンス、またはその組み合わせなどの様々な要因を分析することにより、ワークロード110を処理する候補実行環境180、182、184のセットを特定してもよい。
【0044】
第1の実行環境180が、候補実行環境180、182、184のセットについての実行情報114に基づき選択されてもよい。例として、コンピューティングデバイス102は、候補実行環境180、182、184のセットのうちの少なくともサブセットの実行環境それぞれについてなど、候補実行環境180、182、184のセットについての実行情報114を判断してもよい。次にコンピューティングデバイス102は、実行情報114を使用して、ワークロード110のために少なくとも1つの第1の実行環境180を選択してもよい。
【0045】
図2を参照する。図2は、本開示の或る側面による、転送エネルギーコストを計算する動作200を示す。具体的には、動作200は、転送エネルギーコスト126を判断するためにコンピューティングデバイス102により実行されてもよい。動作200において、コンピューティングデバイス102は、実行中にバッチプロセスにおいて使用される種々のサービスの平均エネルギー消費202を計算してもよい。例として、特定の実行環境は、ワークロードにより(ワークロード内の特定のバッチジョブなどにより)使用されるプロセスの平均エネルギー消費を判断するために使用できるカーボンフットプリント計算器または類似のアプリケーションプログラミングインターフェース(API:application programming interface)を提供してもよい。ワークロードのデータ量、ロケーションとロケーションとの間の距離、およびロケーションとロケーションとの間のネットワーク帯域幅に基づき、コンピューティングデバイス102は、特定されたロケーションとロケーションとの間のワークロード110のデータ転送を完了するために要求される一方向の時間を反映する、転送時間204を判断してもよい。コンピューティングデバイス102は、転送に関わるエネルギー消費率206を判断してもよい。次に、転送エネルギー消費の合計208が、エネルギー消費率206およびワークロード110の総データ量に基づき判断されてもよい。コンピューティングデバイス102は、データ転送中の転送炭素強度210を判断してもよい。転送炭素強度210は、選択されたロケーションとロケーションとの間の実際のデータ転送を実行するために使用され得るネットワーク経路上にあるデータセンターの、リアルタイムの炭素強度情報に基づき判断されてもよい。1つ以上のデータセンターの炭素強度が、データ転送のためのネットワーク経路上にある1つ以上のデータセンターに関する電力網の平均MOER(Marginal Operating Emissions Rate:限界CO排出量)値に基づき判断されてもよい。コンピューティングデバイス102は、転送エネルギーコスト126として、転送エネルギー消費の合計208および転送炭素強度210に基づきデータ転送中の(往復の転送などに関する)炭素排出量の合計を判断してもよい。
【0046】
図1に戻る。特定の実装において、炭素強度平均値128を判断するために、コンピューティングデバイス102は候補実行環境180、182、184にてそれぞれのワークロード110を実行するためのエネルギー使用量の指標を判断してもよい。エネルギー使用量は、候補実行環境180、182、184の電力使用効果(PUE:power usage effectiveness)値に基づき判断されてもよい。さらにコンピューティングデバイス102は、候補実行環境180、182、184の炭素強度の予想を判断してもよい。エネルギー使用量の指標および炭素強度の予想に基づき、コンピューティングデバイス102は炭素強度平均値128を判断してもよい。特定の実装において、様々な時間帯における特定のロケーションのエネルギー使用値など、特定のロケーションについての複数の指標が含まれてもよい。
【0047】
図3を参照する。図3は、本開示の或る側面による、炭素強度平均値を計算する動作300を示す。具体的には、動作300は、炭素強度平均値128を判断するためにコンピューティングデバイス102により実行されてもよい。コンピューティングデバイス102は、ワークロード実行エネルギー302を判断してもよく、これにより、ワークロード110を実行するために使用されるコンピューティングハードウェアによるエネルギー使用量を評価してもよい。ワークロード実行エネルギー302は、平均エネルギー消費202と同様に、ワークロード110により利用される1つ以上のサービスを分析するカーボンフットプリント計算器またはAPIなどに基づき判断されてもよい。コンピューティングデバイス102は、候補実行環境180、182、184の動作非効率性などを含めるためにワークロード110の絶対的な実行エネルギー304を判断してもよい。例として、絶対的な実行エネルギー304は、ワークロード実行エネルギー302に、候補実行環境180、182、184のPUE値(データベース161またはWattTime(登録商標)APIなどのAPIから受信されてもよい)を乗じることにより判断されてもよい。コンピューティングデバイス102は、候補実行環境により利用されるエネルギーの炭素強度の見込みを含めるために炭素強度予想306を判断してもよい。各ロケーションに関わる炭素強度は、様々なエネルギー源が(太陽エネルギーまたは風力エネルギーについては時間帯または天候の変化などに基づき)より多くの、またはより少ないエネルギーを提供するので、それぞれのロケーションについて時間とともに変化し得る。炭素強度予想306は、こうした変化を考慮に入れるように判断されてもよい。特定の実装において、炭素強度予想306は、データベース161またはWattTime(登録商標)APIなどのAPIから受信されてもよい。平均炭素強度308が、ワークロード110の実行時間および炭素強度予想306などに基づき、ワークロード110について判断されてもよい。コンピューティングデバイス102は、絶対的な実行エネルギー304と平均炭素強度308とを乗じることなどにより、絶対的な実行エネルギー304および平均炭素強度308に基づく炭素強度平均値128を判断してもよい。
【0048】
図1に戻る。コンピューティングデバイス102は、実行情報114に基づき、候補実行環境180、182、184のセットから第1の実行環境を選択してもよい。選択は、候補実行環境180、182、184のセットに関連するスケジューリング情報116、過去のワークロード110のスケジューリングデータ、またはその組み合わせに基づいてもよい。特定の実装において、候補実行環境180、182、184のセットのうちのそれぞれの候補実行環境について、候補実行環境に関連する実行情報114を判断することは、複数の処理開始時間のうちのそれぞれの時間について炭素強度平均値128を判断することを含んでもよい。例として、特定の実行環境のエネルギー源は一日の中で異なることもあり、当該の各時間帯において炭素強度が異なることもある。そのような事例において、異なる時間帯における別々の炭素強度平均値128が判断されてもよく、同じく、異なる時間帯におけるワークロード110の実行について対応する炭素強度値124が決定されてもよい。
【0049】
推奨情報130は、ワークロード110を含む複数のワークロードに基づき生成されてもよい。例としてコンピューティングデバイス102は、複数のワークロードすべての動作要件に基づき、ワークロード110を含む複数のワークロードの総炭素強度を最小化するスケジュールを判断してもよい。さらなる実装または代わりの実装において、推奨情報130は、候補実行環境180、182、184の炭素強度、利用可能性予測、および同様のものに基づくなど、候補実行環境180、182、184のセットに基づき決定されてもよい。さらなる実装または代わりの実装において、推奨情報130は、候補実行環境180、182、184のセットに関連するスケジューリング情報116に基づき決定されてもよい。例としてスケジューリング情報116は、実行環境180、182、184のうちの1つ以上の、利用可能性に関する時間、価格表、メンテナンス時間枠、および同様のものを含んでもよい。さらなる実装または代わりの実装において、推奨情報130は、コスト閾値またはエネルギー効率閾値に基づき決定されてもよい。例として、ワークロード110または関連するガバナンス文書は、コスト閾値(最大コストなど)、エネルギー効率閾値(最大エネルギー使用量または最大炭素強度など)を規定してもよく、推奨情報130は、特定された要件を遵守するように決定されてもよい。さらなる実装または代わりの実装において、推奨情報130は、天候予測(実行環境180、182、184のロケーションの1つ以上における天候予測など)に基づき決定されてもよい。例として、特定のロケーションのエネルギー源は、天候によって(太陽エネルギー源および風力エネルギー源の利用可能性の増減などに基づき)異なる場合がある。そのような事例において、推奨情報130は、天候予測に基づき予測される利用可能エネルギー源の変化に基づき、炭素強度を最小化するように決定されてもよい。推奨情報130は、さらに、または代わりに、候補実行環境の炭素強度値124、候補実行環境のインフラストラクチャコスト、候補実行環境のプロビジョニング時間、候補実行環境に関連するサービスレベル合意もしくはレイテンシ、またはその組み合わせなど、候補実行環境の1つ以上に関する情報に基づき決定されてもよい。
【0050】
一部の実装において、コンピューティングデバイス102は、マスタスケジュールおよび現在のワークロードの動作要件に基づき、要求されるワークロードの日次スケジュールを決定することにより、推奨情報130を決定してもよい。日次スケジュールを決定するために、ルールベースの推奨エンジンが使用されて、バッチ単位の時間的シフトの推奨(実行時間など)、時間的状態(temporal shape)の推奨(異なる時間に複数のロケーションにわたり実行するなど)、アクションなしの推奨、またはその組み合わせが提供されてもよい。マスタスケジュールは、毎週など定期的な間隔で更新されてもよく、更新プロセスは、モデル(ランダムフォレスト分類モデルなど)を使用して次週の炭素強度範囲を予測し、次に次週の予測に基づき時間的シフト、時間的状態、またはアクションなしの要件を判断することを伴ってもよい。さらに、ルールベースのパターン分析が用いられて、恒久的な状態(shaping)またはシフトの候補であるワークフローが特定されてもよい(継続的で、次週だけのものではないなど)。推奨を決定するための入力は、インフラストラクチャコスト、プロビジョニング時間、エネルギー効率閾値、エネルギー効率のトレードオフ、許可されるロケーションでのビジネス上の制約(SLAおよびレイテンシなど)、および天候予測などの要因を含んでもよい。推奨の主要な要因は、タイミング変更のためのバッチジョブの相互依存関係の考慮、ならびにインフラストラクチャのプロビジョニング時間およびデータ転送レイテンシを伴うSLAへの準拠を含んでもよい。推奨情報130は、最小エネルギー効率閾値よりも高いエネルギー効率を達成しながら、追加のインフラストラクチャコストが許可される最大コスト閾値内になるよう徹底するように決定されてもよい。最後に、コンプライアンス要件に応じて、新しいインフラストラクチャを実行後に保持または廃止することが推奨されてもよい。
【0051】
コンピューティングデバイス102は、推奨情報130を示す第1のインジケータ118を出力するように構成されてもよい。第1のインジケータ118は、推奨情報130の全部または一部を含むメッセージ、通知、またはその他指示として出力されてもよい。特定の指示において、第1のインジケータ118は、推奨情報130に対する承認(第1の実行環境180を使用してワークロード110を実行することの承認など)を(ユーザなどから)受けるためのボタンまたはその他メカニズムを含んでもよい。特定の実装において、コンピューティングデバイス102はさらに、第1の実行環境がワークロード110を処理するために許容され得ることを確認する第2のインジケータ120を受信してもよい。例として、ユーザは、第1のインジケータ118の中に含まれる推奨情報130を承諾してもよい。確認に基づき、コンピューティングデバイス102は、ワークロード110が第1の実行環境にていつ処理されるべきかを示すスケジュールを生成してもよい。特定の実装において、スケジュールに基づき、コンピューティングデバイス102は、(ワークロード110をストレージロケーションから第1の実行環境180に転送することなどにより)ワークロード110を指定時間に実行されるよう第1の実行環境180に転送してもよい。具体的には、実行情報114に基づきコンピューティングデバイス102は、ワークロード110を実行する時間および選択されたクラウドコンピューティング環境を特定する、上記で説明したスケジュールを決定してもよい。このスケジュールは、ワークロード110のタイミング要件を遵守し、ワークロード110を実行することにより生じる予測される炭素排出量を最小化するように決定されてもよい。
【0052】
よって、コンピューティングデバイス102は、スケジュールに基づき1つ以上の実行環境間でワークロード110を転送するように構成されてもよい。例としてコンピューティングデバイス102は、ワークロード110が第2の実行環境での処理のためにいつスケジューリングされ得るかを示すスケジューリング情報116を受信してもよい。コンピューティングデバイス102は、候補実行環境180、182、184のセットから第1の実行環境を選択してもよく、ワークロード110を第2の実行環境から第1の実行環境に転送してもよい。次にコンピューティングデバイス102は、第1の実行環境によるワークロード110の処理を開始してもよい。
【0053】
特定の実装において、コンピューティングデバイス102は、ガバナンスコントロールに基づきインフラストラクチャプロビジョニングを自動的且つ動的にプロビジョニングしてもよい。動的プロビジョニングは、用途に承認によるコントロールが要求される場合、承認プロセスを含んでもよい。関連する承認リクエストの受信側は、承認プロセスに関してパラメータ化されてもよい。動的プロビジョニングは、スケジューリングされた時間に対して実行環境においてスケジューリングされているダウンタイムがないよう徹底するために、オンプレミスプロセスのパッチスケジュールプロセスを含んでもよい。ガバナンスコントロールおよびプロビジョニングされるサービスのタイプに基づき、多要素認証チャレンジが含まれてもよい。対応するガバナンスポリシーがハードウェア資産レジスタまたは情報資産レジスタを維持することに言及している場合、動的プロビジョニングプロセスのためにレジスタへの書き込みプロセスが自動的に追加されてもよい。そのような事例において、レジスタのロケーションおよびレジスタに追加される詳細のタイプは、ワークロードのための設定ファイル、ガバナンスポリシー、動的プロビジョニングプロセス、またはその組み合わせによりコントロールされてもよい。ガバナンスコントロールに従い要求される場合、ロギングプロセスが動的プロビジョニングプロセスに追加されてもよい。ログの詳細レベル、ログファイルのフォーマット、および保持期間は、ワークロードのための構成ファイル、ガバナンスポリシー、動的プロビジョニングプロセス、またはその組み合わせによりパラメータ化またはコントロールされてもよい。新たにプロビジョニングされたデータストアに対するロールベースのアクセスコントロールポリシーが、動的プロビジョニングプロセスによる自動的な実施のために追加されてもよい。要求されるインシデント対応アクションが、ロールバック計画などに従い、動的プロビジョニングプロセスにより生成されてもよい。トリガに基づき、実行環境、ガバナンスポリシー、またはその組み合わせの要件に従って、プロビジョニングされたインフラストラクチャのクリーンアップ、すべてのアクティブユーザの非アクティブ化、すべてのアクティブ接続の強制終了、および同様のものなどのインシデント対応アクションが実行されてもよい。
【0054】
上述のように、システム100はワークロード管理をサポートする。システム100は、クラウドコンピューティング環境においてワークロードを処理する組織にいくつかの利点を提供し得る。候補実行環境のセットを特定し、炭素強度値およびその他実行情報に基づき推奨情報を生成することにより、システム100は、組織がそのワークロードをどこで処理するかについて十分な情報に基づく決定を下すことを可能にし得る。これは、組織がそのカーボンフットプリントおよびエネルギーコストを削減するのに役立つかもしれず、その一方で、ワークロードのパフォーマンスおよび信頼性を向上させられる可能性もある。さらに、または代わりに、システム100は、ガバナンスポリシーおよびその他要件に準拠してワークロードが実行されるよう徹底するために、スケジューリング情報およびその他コントロールを提供してもよい。全体として、システム100は、組織がクラウドコンピューティング環境におけるワークロードの処理を最適化するための有益なツールを提供する。
【0055】
図4を参照する。図4は、1つ以上の側面による、ワークロード管理をサポートするシステム400の別の例のブロック図である。システム400は、上述されたシステムのうちの1つ以上の、例示的な実装とされ得る。例としてシステム400は、システム100の例示的な実装とされてもよく、コンピューティングデバイス102により少なくとも部分的に実装されてもよい。
【0056】
システム400は、コンピューティングデバイス402を含む。コンピューティングデバイス402は、コンピューティングデバイス102を含んでも、またはそれに相当してもよい。コンピューティングデバイス402は、1つ以上の実行環境についての入力データ404を受信し、実行環境において実行されるワークロードについての出力データ406を生成するように構成されてもよい。
【0057】
入力データ404は、エネルギーデータ408、クライアントデータ410、クライアントアプリケーションランドスケープ411、クラウドサービスプロバイダデータ412、またはその組み合わせを含んでもよい。エネルギーデータ408は、WattTime(登録商標)APIなどのAPIを通じてアクセスされてもよく、電力使用量、電力網のエネルギー源、およびエネルギー価格についての情報を反映してもよい。クライアントデータ410は、ビジネスまたはITユーザからの情報に基づき決定されてもよく、バッチ、スケジューリングの柔軟性に関する条件、および依存関係を特定してもよい。一部の実装において、バッチは、ワークロード110またはバッチジョブ1122を含んでも、またはそれに相当してもよい。クライアントアプリケーションランドスケープ411は、データ量、要求される実行インフラストラクチャ、およびガバナンスポリシーを特定するためのツールベースのディスカバリを含んでもよい。クラウドサービスプロバイダデータ412は、バッチ実行に使用され得る実行環境のインフラストラクチャ情報を含んでもよい。
【0058】
コンピューティングデバイス402は、炭素強度抽出エンジン414、ディスカバリエンジン416、炭素強度計算器418、推奨エンジン419、炭素削減計算器421、およびナレッジコーパス422を含む。炭素強度抽出エンジン414は、炭素強度抽出エンジン172を含んでも、またはそれに相当してもよい。ディスカバリエンジン416は、ディスカバリエンジン174を含んでも、またはそれに相当してもよい。推奨エンジン419は、推奨エンジン176を含んでも、またはそれに相当してもよい。炭素削減計算器421は、炭素削減エンジン178を含んでも、またはそれに相当してもよい。
【0059】
ナレッジコーパス422は、ワークロード、実行環境、および同様のものに関する情報を含んでもよい。例としてナレッジコーパス422は、バッチジョブスケジュール、バッチジョブ構成、ガバナンスポリシー、クラウドサービスリージョン、クラウドサービス電力網、クラウドサービス炭素使用量、クラウドサービスコスト、またはその組み合わせを含んでもよい。ワークロードは、ワークロード110を含んでも、またはそれに相当してもよい。
【0060】
一部の実装において、ディスカバリエンジン416は、バッチジョブ、依存関係、スケジューリング情報、ガバナンスポリシー、またはその組み合わせを特定するための、質問およびツールベースのクライアントランドスケープディスカバリとして実装されてもよい。炭素強度抽出エンジン414は、ガバナンスコントロールを統合して許可されるロケーションを特定し、エネルギーデータ408を使用してバッチ(複数のワークロードを含むバッチなど)の許可される全リージョンの予想炭素強度値を抽出してもよい。炭素強度計算器418は、予想炭素強度値に基づき、ワークロードに関わるデータ転送のエネルギー使用量および炭素強度値を判断してもよい。炭素強度値は、ワークロードを実行した結果としてのスコープ3排出量(直接的および間接的な温室効果ガス排出量など)を考慮するように決定されてもよい。炭素強度計算器418は、さらに、または代わりに、ジョブの継続時間などに基づくワークロードに関わる炭素強度移動平均値、またはその組み合わせを決定してもよい。
【0061】
推奨エンジン419は、ガバナンスポリシーおよびスケジューリング制約に合う、炭素最適化されたスケジューリング時間およびリージョンを判断する、ルールエンジンを含んでもよい。炭素削減計算器421は、推奨エンジン419から推奨を受信してもよく、推奨されたワークロードスケジューリングが実装された場合などの、推奨に基づく炭素削減(絶対的な炭素削減など)を判断してもよい。
【0062】
コンピューティングデバイス402は、1つ以上のワークロード(クライアントアプリケーションランドスケープ411の中で特定された1つ以上のワークロードなど)の出力データ406を決定してもよい。特定の実装において、出力データ406は、ビジネスユーザなどのユーザから承認を受けるのに応答して生成されてもよい。ワークロードスケジューリングの更新438、クラウドインフラプロビジョニング440、自動化されたワークロード実行442、またはその組み合わせを含む出力データ406が生成されてもよい。ワークロードスケジューリングの更新438は、推奨された1つ以上の時間におけるワークロードのバッチスケジューリングの自動化された更新を含んでもよい。クラウドインフラプロビジョニング440は、ワークロードが新しいリージョンにシフトされる場合、ガバナンスポリシーに基づいた自動化された動的なインフラストラクチャプロビジョニングを含んでもよい。自動化されたワークロード実行442は、スケジューリングされた時間にワークロードの実行を自動的に実装することを含んでもよい。
【0063】
図5を参照する。図5は、1つ以上の側面による、ワークロード管理のための方法500の例のフロー図である。一部の実装において、方法500の動作は、1つ以上のプロセッサ(例えばコンピューティングデバイスまたはサーバの1つ以上のプロセッサ)により実行されると1つ以上のプロセッサに方法500の動作を実行させる命令として記憶されてもよい。一部の実装において、方法500は、図1のコンピューティングデバイス102、図4のコンピューティングデバイス402、またはその組み合わせなどのコンピューティングデバイスにより実行されてもよい。
【0064】
方法500は、502にて、ワークロードの処理をする候補実行環境のセットを特定することを含む。例として、候補実行環境のセットおよびワークロードは、候補実行環境180、182、184のセットおよびワークロード110を含んでも、またはそれらに相当してもよい。特定の実装において、候補実行環境のセットのうちのそれぞれの候補実行環境は、異なるクラウドコンピューティング環境である。特定の実装において、候補実行環境のセットは、複数の候補実行環境を含む。
【0065】
方法500は、ワークロードに関連するガバナンスポリシーを受信することも含んでもよい。特定の実装において、候補実行環境のセットは、ガバナンスポリシー112など、ワークロードに関連するガバナンスポリシーに基づき特定されてもよい。方法500は、複数のガバナンスコントロール文書内で特定されるスケジューリングエンティティおよびプロビジョニングエンティティに基づき特定され得る対応するガバナンスコントロールに基づき、許可されるロケーションを判断することを含んでもよい。方法500は、ワークロードの処理についての推奨情報130などの推奨情報を、それぞれの候補実行環境に関連する炭素強度値に基づき生成することを含んでもよい。例として、炭素強度値は、炭素強度値124を含んでも、またはそれに相当してもよい。特定の実装において、ワークロード110はバッチジョブ122を含んでもよい。
【0066】
方法500は、504にて、ワークロードの処理についての推奨情報を生成することを含む。例として、推奨情報は、推奨情報130を含んでも、またはそれに相当してもよい。推奨情報は、候補実行環境のセットのうちのそれぞれの候補実行環境について候補実行環境に関連する炭素強度値を示す実行情報に基づき候補実行環境のセットから選択された、第1の実行環境に関連してもよい。実行情報および炭素強度値は、それぞれ実行情報114および炭素強度値124を含んでも、またはそれらに相当してもよい。
【0067】
方法500は、506にて、推奨情報を示す第1のインジケータを出力することを含む。例として、第1のインジケータは、第1のインジケータ118を含んでも、またはそれに相当してもよい。
【0068】
特定の実装において、方法500は、候補実行環境のセットについて実行情報を判断することを含む。特定の実装において、方法500は、候補実行環境のセットのうちのそれぞれの候補実行環境について、候補実行環境に関連する実行情報を判断することを含む。特定の実装において、候補実行環境に関連する実行情報は、候補実行環境について予測される炭素強度値、候補実行環境へのワークロードの転送に関連する転送エネルギーコスト、炭素強度平均値、またはその組み合わせを示す。転送エネルギーコストおよび炭素強度平均値は、それぞれ転送エネルギーコスト126および炭素強度平均値128を含んでも、またはそれらに相当してもよい。転送エネルギーコストは、候補実行環境のロケーション、第1の実行環境と候補実行環境との間の距離、ネットワーク情報、またはその組み合わせに基づいてもよい。炭素強度平均値は、候補実行環境にてワークロードを処理する継続時間に関連する継続時間、候補実行環境の電力使用効果値、またはその組み合わせに基づいてもよい。特定の実装において、方法500はさらに、実行情報に基づき、候補実行環境のセットから第1の実行環境を選択することを含む。第1の実行環境はさらに、候補実行環境のセットに関連するスケジューリング情報、過去のワークロードスケジューリングデータ、またはその組み合わせに基づき選択されてもよい。
【0069】
一部の実装において、候補実行環境のセットのうちのそれぞれの候補実行環境について、候補実行環境に関連する実行情報を判断することは、複数の処理開始時間のうちのそれぞれの時間について炭素強度平均値を判断することを含む。特定の実装において、推奨情報は、ワークロードを含む複数のワークロード、候補実行環境のセット、候補実行環境180、182、184のセットのうちのそれぞれの候補実行環境に関連するスケジューリング情報、コスト閾値もしくはエネルギー効率閾値、天候予測、またはその組み合わせに基づき生成される。スケジューリング情報は、スケジューリング情報116を含んでも、またはそれに相当してもよい。さらに、または代わりに、推奨情報は、候補実行環境のセットのうちのそれぞれの候補実行環境についての、候補実行環境の炭素強度値、候補実行環境のインフラストラクチャコスト、候補実行環境のプロビジョニング時間、候補実行環境に関連するサービスレベル合意もしくはレイテンシ、またはその組み合わせに基づき生成されてもよい。
【0070】
特定の実装において、方法500は、ワークロードの処理のための第1の実行環境の承諾を示す第2のインジケータを受信することを含む。例として、第2のインジケータは、第2のインジケータ120を含んでも、またはそれに相当してもよい。一部の実装において、方法500はさらに、第2のインジケータに基づき、第1の時間における第1の実行環境でのワークロードの処理を示すワークロードのスケジュールを生成することと、ワークロードをワークロードのストレージロケーションから第1の実行環境へ転送することとを含む。スケジュールは、スケジューリング情報116を含んでも、またはそれに相当してもよい。
【0071】
特定の実装において、方法500は、ワークロードの処理のために第1の実行環境をプロビジョニングすることを含む。さらに方法500は、第1の実行環境によるワークロードの処理を開始することを含んでもよい。
【0072】
特定の実装において、方法500は、ワークロードが第2の時間に第2の実行環境にて処理されるようにスケジューリングされていることを示すスケジューリング情報を受信することを含む。例としてスケジューリング情報は、スケジューリング情報116を含んでも、またはそれに相当してもよい。第2の実行環境は、第2の実行環境182を含んでも、またはそれに相当してもよい。方法500は、候補実行環境のセットから第1の実行環境を選択することも含んでもよい。さらに、または代わりに、方法500は、第2の実行環境から第1の実行環境へのワークロードの転送をするか、または転送を開始すること、第1の実行環境によるワークロードの処理を開始すること、またはその組み合わせを含んでもよい。
【0073】
方法500は、ワークロードを実行することの環境への影響を軽減するため、ガバナンスポリシーを遵守するため、またはその組み合わせのために、候補実行環境中にワークロードを分散させる推奨を決定するように実行されてもよい。さらに、または代わりに、方法500は、クラウドコンピューティング環境におけるワークロードの処理に関して様々な利点を組織に提供し得る。炭素強度値およびその他実行情報を考慮することにより、方法500は、コンピューティングデバイスが候補実行環境のセットを特定することを可能にし、組織がそのワークロードをどこで処理するかについて十分な情報に基づく決定を下すのに役立つ推奨情報を生成する。このアプローチにより、組織は、レイテンシ、サービスレベル合意、およびインフラストラクチャコストなどの要因に基づき、それぞれのワークロードに最適な実行環境を選択し得るので、改善されたパフォーマンスおよび信頼性がもたらされ得る。さらに、または代わりに、方法500は、コンピューティングデバイスが、ガバナンスポリシーおよびその他要件に準拠してワークロードが実行されるよう徹底するために、スケジューリング情報およびその他コントロールを提供することを可能にする。このようにワークロードの処理を管理することにより、組織は、そのシステムの全体的なパフォーマンスおよび信頼性を向上させながら、組織のカーボンフットプリントおよびエネルギーコストを適切に削減し得る。
【0074】
なお、本開示の諸側面に従い他のタイプのデバイスおよび機能性が提供されてもよく、本願明細書における特定のデバイスおよび機能性の考察は、限定としてではなく例示目的で示されたものである。なお、図5の方法500の動作は、任意の順序で実行されてもよく、または1つの方法の動作が、図1のシステム100、図2の方法または動作200、図3の方法または動作300、図4のシステム400、またはその組み合わせを参照して記載された1つ以上の動作など、別の方法が実行される間に実行されてもよい。さらに、図5の方法の1つ以上の動作は、他の動作と組み合わされてもよく、繰り返されてもよく、任意選択であってもよく、またはその組み合わせであってもよいことに留意されたい。さらに、図5の方法500は、図4の動作の記載と一致する他の機能性または動作も含んでもよいことに留意されたい。
【0075】
当業者には当然のことながら、情報および信号は、異なる多様な技術および手法のいずれかを使用して表現され得る。例として、上記の記載全体で参照され得るデータ、命令、コマンド、情報、信号、ビット、記号、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光粒子、またはその任意の組み合わせにより表現され得る。
【0076】
図1図5に関して本願明細書に記載されたコンポーネント、機能ブロック、エンジン、およびモジュールは、ほかにも例はあるが、プロセッサ、電子デバイス、ハードウェアデバイス、電子コンポーネント、論理回路、メモリ、ソフトウェアコード、ファームウェアコード、またはその任意の組み合わせを含む。さらに、本願明細書において考察された特徴は、専用プロセッサ回路構成、実行可能命令、またはその組み合わせにより実装されてもよい。
【0077】
さらに、当業者には当然のことながら、本願明細書の開示に関連して記載された様々な例示の論理ブロック、モジュール、回路、およびアルゴリズムのステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせとして実装されてもよい。ハードウェアとソフトウェアとのこの交換可能性を明確に例示するために、様々な例示のコンポーネント、ブロック、モジュール、回路、およびステップが、全般的にそれらの機能性の観点から上述された。そのような機能性がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の用途、およびシステム全体に課される設計上の制約に依存する。当業者であれば、記載された機能性をそれぞれの特定の用途のために様々な形で実装できるが、実装に関わるそのような決定は、本開示の範囲からの逸脱を生じると解釈されるべきではない。さらに、当業者であれば、本願明細書に記載されているコンポーネント、方法、または相互作用の順序または組み合わせが単なる例であり、本開示の様々な側面のコンポーネント、方法、または相互作用が、本願明細書に例示および記載されたもの以外の形で組み合わされ、または実行され得ることが、容易にわかるであろう。
【0078】
本願明細書において開示された実装に関連して記載された様々な例示のロジック、論理ブロック、モジュール、回路、およびアルゴリズムのプロセスは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせとして実装されてもよい。ハードウェアとソフトウェアとの交換可能性は、機能性の観点から広く記載されており、上述された様々な例示のコンポーネント、ブロック、モジュール、回路、およびプロセスにおいて例示された。そのような機能性がハードウェアにおいて実装されるか、またはソフトウェアにおいて実装されるかは、特定の用途、およびシステム全体に課される設計上の制約に依存する。
【0079】
本願明細書において開示された諸側面に関連して記載された様々な例示のロジック、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアおよびデータ処理装置は、本願明細書に記載された機能を実行するように設計された汎用シングルチッププロセッサもしくは汎用マルチチッププロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはその他プログラマブルロジックデバイス、個別ゲートロジックもしくは個別トランジスタロジック、個別ハードウェアコンポーネント、またはその任意の組み合わせを用いて実装もしくは実行されてもよい。汎用プロセッサは、マイクロプロセッサ、または従来の任意のプロセッサ、コントローラ、マイクロコントローラ、もしくは状態機械とされてもよい。一部の実装において、プロセッサは、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わされた1つ以上のマイクロプロセッサ、またはそれに類するその他任意の構成など、コンピューティングデバイスの組み合わせとしても実装されてもよい。一部の実装において、特定のプロセスおよび方法は、所定の機能に特有の回路構成により実行されてもよい。
【0080】
1つ以上の側面において、記載された機能は、本明細書において開示された構造およびその構造的等価物、またはその任意の組み合わせを含むハードウェア、デジタル電子回路構成、コンピュータソフトウェア、ファームウェアにおいて実装されてもよい。さらに、本明細書に記載された主題の実装は、1つ以上のコンピュータプログラムとして、つまり、データ処理装置により実行されるよう、またはデータ処理装置の動作をコントロールするよう、コンピュータストレージ媒体上にエンコーディングされたコンピュータプログラム命令の1つ以上のモジュールとして、実装されてもよい。
【0081】
ソフトウェアにおいて実装される場合、機能はコンピュータ可読媒体上で1つ以上の命令またはコードとして記憶または送信されてもよい。本願明細書において開示された方法またはアルゴリズムのプロセスは、コンピュータ可読媒体上に存在し得る、プロセッサによる実行が可能なソフトウェアモジュールにおいて実装されてもよい。コンピュータ可読媒体は、コンピュータストレージ媒体と、コンピュータプログラムを或る場所から別の場所に転送できるとよい任意の媒体を含む通信媒体との両方を含む。ストレージ媒体は、コンピュータによりアクセスされ得る任意の利用可能な媒体とされてもよい。限定ではなく例として、かかるコンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、CD-ROMもしくはその他光学ディスクストレージ、磁気ディスクストレージもしくはその他磁気ストレージデバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用できコンピュータによりアクセスされ得るその他任意の媒体を含むことができる。さらに、任意の接続が、コンピュータ可読媒体と呼ばれるのに適していることもある。本願明細書で使用されるディスク(disk、disc)は、コンパクトディスク(CD:compact disc)、レーザディスク(disc)、光学ディスク(disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク(disk)、ハードディスク(disk)、ソリッドステートディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再現し、ディスク(disc)はレーザを用いてデータを光学的に再現する。上記のものの組み合わせも、コンピュータ可読媒体の範囲内に含められるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る機械可読媒体およびコンピュータ可読媒体上のコードおよび命令の1つ、または任意の組み合わせもしくはセットとして存在してもよい。
【0082】
当業者であれば、本開示において記載された実装に対する様々な変更を容易に理解できるであろう。本願明細書において定義された包括的な原理は、本開示の意図または範囲から逸脱することなく他の何らかの実装に応用され得る。よって、特許請求の範囲は、本願明細書において示された実装に限定されるよう意図されてはおらず、本願明細書において開示された当該開示事項、原理、および新規特徴と整合性のある最も広い範囲を与えられるものとする。
【0083】
さらに、当業者には当然のことながら、「上方(upper)」および「下方(lower)」という用語が図面について記載しやすくするために使用されることがあり、これは、正しい向きにされたページ上での図面の向きに対応する相対位置を示すものであり、実装された任意のデバイスの正しい向きを反映しないこともある。
【0084】
別々の実装の文脈で本明細書に記載されている特定の特徴が、単一の実装に組み合わされて実装されることも可能である。逆に、単一の実装の文脈で記載されている様々な特徴が、複数の実装において別々に、または任意の適した組み合わせの構成要素において実装されることも可能である。さらに、それぞれの特徴は、特定の組み合わせで動作するよう上述されていることもあり、当初そのように請求されていることさえもあるが、一部のケースでは、請求されている組み合わせの特徴1つ以上をその組み合わせから削除可能であり、請求されている組み合わせは、組み合わせの構成要素または組み合わせの構成要素の変形を対象とし得る。
【0085】
同じく、それぞれの動作は図面内に特定の順序で示されているが、これは、望ましい結果を実現するために、当該の動作が示されている特定の順序で、もしくは順番に実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。さらに図面は、プロセスのもう1つの例をフロー図の形態で概略的に示すこともある。しかしながら、示されていない他の動作が、概略的に示されたプロセスの例に組み込まれてもよい。例として、追加の1つ以上の動作が、例示された動作のいずれかの前、後、それと同時、またはその合間に実行されてもよい。特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実装における様々なシステムコンポーネントの分離は、すべての実装においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に統合されても、または複数のソフトウェア製品にパッケージ化されてもよい。さらに、他のいくつかの実装が、添付の特許請求の範囲に記載の範囲内にある。一部のケースにおいては、特許請求の範囲に記載されたアクションが別の順序で実行され、それでも所望の結果が実現され得る。
【0086】
特許請求の範囲を含め、本願明細書で使用されるとき、様々な専門用語は、特定の実装について記載することのみを目的としたものであり、実装を限定することは意図されていない。例として、本願明細書において使用されるとき、例えば構造、コンポーネント、動作などの要素を修飾するために使用される序数の用語(例えば「第1(first)」、「第2(second)」、「第3(third)」など)は、それ自体でその要素の別の要素に対するいかなる優先順位または順序をも示すものではなく、むしろ、単にその要素を、(序数の用語が使用されていることを別にすれば)同じ名称を有する別の要素と区別するものである。「結合された(coupled)」という用語は、接続されていることと定義されるが、必ずしも直接的ではなく、必ずしも機械的ではない。「結合された」2つの項目は、互いに分割できなくてもよい。「または(or)」という用語は、2つ以上の項目の列挙の中で使用される場合、列挙された項目のうちの任意の1つが単独で用いられてもよく、または列挙された項目のうちの2つ以上の任意の組み合わせが用いられてもよいことを意味する。例として、構成物がコンポーネントA、B、またはCを含むと記載されている場合、構成物は、Aのみ、Bのみ、Cのみ、AとBとの組み合わせ、AとCとの組み合わせ、BとCとの組み合わせ、またはAとBとCとの組み合わせを含んでよい。さらに、特許請求の範囲を含め、本願明細書において使用されるとき、「~のうちの少なくとも1つ(at least one of)」とある項目の列挙の中で使用される「または(or)」は、例として、「A、B、またはCのうちの少なくとも1つ(at least one of A,B,or C)」という列挙が、A、またはB、またはC、またはAB、またはAC、またはBC、またはABC(つまりAおよびBおよびC)、またはこれらを任意に組み合わせた、これらのうちの任意のものを意味するような、選言的列挙を示す。「実質的に(substantially)」という用語は、当業者には当然のことながら、必ずしも完全にではないがおおむね規定されたものであり、且つ規定されたものを含むと定義され、例えば、実質的に90度とは、90度を含み、実質的に平行とは、平行を含む。開示された任意の側面において、「実質的に」という用語は、規定されたもの「の[或るパーセンテージ]の範囲内(within[a percentage]of)」に置き換えられてもよく、このパーセンテージには、0.1パーセント、1パーセント、5パーセント、および10パーセントが含まれる。「約(approximately)」という用語は、規定されたもの「の10パーセントの範囲内(within 10 percent of)」に置き換えられてもよい。「および/または(and/or)」という語句は、およびまたはを意味する。
【0087】
本開示の諸側面およびそれらの利点が詳しく記載されたが、当然のことながら、これを考慮して、様々な変更、代用、および改変が、添付の特許請求の範囲により定義される本開示の意図から逸脱することなく行われ得る。さらに、本願の範囲は、本明細書に記載された処理、機械、製造物、物質の構成、手段、方法、およびプロセスの特定の実装に限定されることは意図されていない。当業者であれば本開示から容易にわかるように、本願明細書に記載された対応する諸側面と実質的に同じ機能を実行するかまたは実質的に同じ結果を実現する、現在存在するかまたは後に開発されるプロセス、機械、製造物、物質の構成、手段、方法、または動作が、本開示に従い利用されてもよい。したがって、添付の特許請求の範囲は、その範囲内に、かかるプロセス、機械、製造物、物質の構成、手段、方法、または動作を含むものとする。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-09-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項13
【補正方法】変更
【補正の内容】
【請求項13】
前記候補実行環境のセットのうちのそれぞれの候補実行環境について前記実行情報を判断するために、前記1つ以上のプロセッサはさらに、複数の処理開始時間のうちのそれぞれの時間について前記炭素強度平均値を判断するように構成される、請求項12に記載のシステム。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項16
【補正方法】変更
【補正の内容】
【請求項16】
1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサにワークロード管理のための動作を実行させる命令を記憶している、非一時的コンピュータ可読ストレージ媒体であって、前記動作は、
ワークロードの処理をする候補実行環境のセットを特定することと、
前記ワークロードの処理についての推奨情報を生成することであって、前記推奨情報は、前記候補実行環境のセットのうちのそれぞれの候補実行環境について前記候補実行環境に関連する炭素強度値を示す実行情報に基づき前記候補実行環境のセットから選択された第1の実行環境に関連する、前記生成することと、
前記推奨情報を示す第1のインジケータを出力することと、
を含む、非一時的コンピュータ可読ストレージ媒体。
【外国語明細書】