(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-20
(54)【発明の名称】マルチクラウド・クロック・スピード調節方法、システム、およびプログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20240912BHJP
G06F 9/48 20060101ALI20240912BHJP
【FI】
G06F9/50 120Z
G06F9/48 300F
G06F9/48 300G
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024509294
(86)(22)【出願日】2022-07-13
(85)【翻訳文提出日】2024-02-15
(86)【国際出願番号】 CN2022105439
(87)【国際公開番号】W WO2023045515
(87)【国際公開日】2023-03-30
(32)【優先日】2021-09-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100091568
【氏名又は名称】市位 嘉宏
(72)【発明者】
【氏名】シヴァクマール、ガンディー
(72)【発明者】
【氏名】マキュラ、ルーク、ピーター
(72)【発明者】
【氏名】パテル、クーシャル エス
(72)【発明者】
【氏名】パテル、サーベシュ エス
(57)【要約】
マルチクラウド・クロック・スピードの調節方法が提供される。特定のジョブを実施するためのマルチクラウド認知コンピューティング環境において様々なクラウド・ベース認知システムからのコンテナのサービスのためにCPUクロックをインポーズし、または再調節し、あるいはその両方を行う。具体的には、対応するコンテナを識別し、モニタし、命令の実行を調節する必要性を検出し、コンテナ毎のクロック・データを集めて、対応するコンテナのクロック・スピードを調節する。
【特許請求の範囲】
【請求項1】
コンピュータ実行方法であって、
マルチクラウド分散型コンピューティング・システム内で指定のジョブが実施されるように、前記指定のジョブを完了させるための命令を実行するために、関与しているサービスおよび対応するコンテナを識別することと、
前記ジョブを実施している間にハードウェア抽象化層によって発行された状態変更通知(SCN)がないか前記対応するコンテナをモニタすることと、
SCNおよび要求される応答時間に基づいて、前記対応するコンテナのうちの第1のコンテナのための前記命令の実行を調整する必要性を検出することと、
調節のための許される範囲内の選択されたクロック・スピードに前記第1のコンテナのクロック・スピードを調節することと
を含む、コンピュータ実行方法。
【請求項2】
前記指定のジョブのための緊急要件に応答して、コンテナ構造および構成パラメータを含むコンテナ情報をリクエストすること
をさらに含み、
前記リクエストすることが、前記第1のコンテナを含む前記対応するコンテナ内のバックグラウンド・プログラムによって呼び出されたシステム・コール・ゲートを介して実施される、
請求項1に記載のコンピュータ実行方法。
【請求項3】
前記コンテナ情報が、現在のクロック・スピード、最大クロック・スピード、別のハードウェア上の許される最大クロック・スピード、基本オペレーティング・システム情報、およびCPUコアが前記第1のコンテナにどれだけ配分されるかについてのカウントを含み、
前記コンテナ情報にさらに基づく場合、実行を調整する前記必要性を検出する、
請求項2に記載のコンピュータ実行方法。
【請求項4】
前記マルチクラウド分散型コンピューティング・システムの中央認知サブシステムに前記コンテナ情報をプッシュすること
をさらに含み、
前記中央認知サブシステムが、前記コンテナ情報に基づいて前記第1のコンテナの前記クロック・スピードを調節する、
請求項2に記載のコンピュータ実行方法。
【請求項5】
前記対応するコンテナをモニタすることが、現在のコンテナ情報を周期的に集めることを含み、
前記命令の実行を調整する必要性を検出することが、前記現在のコンテナ情報にさらに基づく、
請求項1に記載のコンピュータ実行方法。
【請求項6】
前記クロック・スピードの調節の前記許される範囲を確立するために、現在のハードウェアに従って、前記関与しているサービスに利用可能なクロック・スピードを決定すること
をさらに含む、請求項1に記載のコンピュータ実行方法。
【請求項7】
コンピュータ・プログラム製品であって、プロセッサによって実行されたとき、
マルチクラウド分散型コンピューティング・システム内で指定のジョブが実施されるように、前記指定のジョブを完了させるための命令を実行するために、関与しているサービスおよび対応するコンテナを識別することと、
前記ジョブを実施している間にハードウェア抽象化層によって発行された状態変更通知(SCN)がないか前記対応するコンテナをモニタすることと、
SCNおよび要求される応答時間に基づいて、前記対応するコンテナのうちの第1のコンテナのための前記命令の実行を調整する必要性を検出することと、
調節のための許される範囲内の選択されたクロック・スピードに前記第1のコンテナのクロック・スピードを調節することと
を含む方法を前記プロセッサに実施させる命令のセットを格納したコンピュータ可読ストレージ媒体を備える、コンピュータ・プログラム製品。
【請求項8】
前記指定のジョブのための緊急要件に応答して、コンテナ構造および構成パラメータを含むコンテナ情報をリクエストすること
を含む方法を前記プロセッサにさらに実施させ、
前記リクエストすることが、前記第1のコンテナを含む前記対応するコンテナ内のバックグラウンド・プログラムによって呼び出されたシステム・コール・ゲートを介して実施される、
請求項7に記載のコンピュータ・プログラム製品。
【請求項9】
前記コンテナ情報が、現在のクロック・スピード、最大クロック・スピード、別のハードウェア上の許される最大クロック・スピード、基本オペレーティング・システム情報、およびCPUコアが前記第1のコンテナにどれだけ配分されるかについてのカウントを含み、
前記コンテナ情報にさらに基づく場合、実行を調整する前記必要性を検出する、
請求項8に記載のコンピュータ・プログラム製品。
【請求項10】
前記マルチクラウド分散型コンピューティング・システムの中央認知サブシステムに前記コンテナ情報をプッシュすること
を含む方法を前記プロセッサにさらに実施させ、
前記中央認知サブシステムが、前記コンテナ情報に基づいて前記第1のコンテナの前記クロック・スピードを調節する、
請求項8に記載のコンピュータ・プログラム製品。
【請求項11】
前記対応するコンテナをモニタすることが、現在のコンテナ情報を周期的に集めることを含み、
前記命令の実行を調整する必要性を検出することが、前記現在のコンテナ情報にさらに基づく、
請求項7に記載のコンピュータ・プログラム製品。
【請求項12】
前記クロック・スピードの調節の前記許される範囲を確立するために、現在のハードウェアに従って、前記関与しているサービスに利用可能なクロック・スピードを決定すること
を含む方法を前記プロセッサにさらに実施させる、請求項7に記載のコンピュータ・プログラム製品。
【請求項13】
コンピュータ・システムであって、
プロセッサ・セットと、
コンピュータ可読ストレージ媒体と
を備え、
前記プロセッサ・セットが、前記コンピュータ可読ストレージ媒体に格納されたプログラム命令を実行するために構築される、置かれる、接続される、またはプログラムされる、あるいはその組合せであり、
前記プログラム命令が、前記プロセッサ・セットによって実行されたとき、
マルチクラウド分散型コンピューティング・システム内で指定のジョブが実施されるように、前記指定のジョブを完了させるための命令を実行するために、関与しているサービスおよび対応するコンテナを識別すること、
前記ジョブを実施している間にハードウェア抽象化層によって発行された状態変更通知(SCN)がないか前記対応するコンテナをモニタすること、
SCNおよび要求される応答時間に基づいて、前記対応するコンテナのうちの第1のコンテナのための前記命令の実行を調整する必要性を検出すること、および
調節のための許される範囲内の選択されたクロック・スピードに前記第1のコンテナのクロック・スピードを調節すること
を含む方法を前記プロセッサ・セットに実施させる、コンピュータ・システム。
【請求項14】
前記指定のジョブのための緊急要件に応答して、コンテナ構造および構成パラメータを含むコンテナ情報をリクエストすること
を含む方法を前記プロセッサ・セットにさらに実施させ、
前記リクエストすることが、前記第1のコンテナを含む前記対応するコンテナ内のバックグラウンド・プログラムによって呼び出されたシステム・コール・ゲートを介して実施される、請求項13に記載のコンピュータ・システム。
【請求項15】
前記コンテナ情報が、現在のクロック・スピード、最大クロック・スピード、別のハードウェア上の許される最大クロック・スピード、基本オペレーティング・システム情報、およびCPUコアが前記第1のコンテナにどれだけ配分されるかについてのカウントを含み、
前記コンテナ情報にさらに基づく場合、実行を調整する前記必要性を検出する、
請求項14に記載のコンピュータ・システム。
【請求項16】
前記マルチクラウド分散型コンピューティング・システムの中央認知サブシステムに前記コンテナ情報をプッシュすること
を含む方法を前記プロセッサ・セットにさらに実施させ、
前記中央認知サブシステムが、前記コンテナ情報に基づいて前記第1のコンテナの前記クロック・スピードを調節する、
請求項14に記載のコンピュータ・システム。
【請求項17】
前記対応するコンテナをモニタすることが、現在のコンテナ情報を周期的に集めることを含み、
前記命令の実行を調整する必要性を検出することが、前記現在のコンテナ情報にさらに基づく、
請求項13に記載のコンピュータ・システム。
【請求項18】
前記クロック・スピードの調節の前記許される範囲を確立するために、現在のハードウェアに従って、前記関与しているサービスに利用可能なクロック・スピードを決定すること
を含む方法を前記プロセッサにさらに実施させる、請求項13に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、マルチクラウド・システムの分野に関し、より詳細には、マルチクラウド環境における分散型認知システムに関する。
【背景技術】
【0002】
ビッグ・データ・プラットフォームによって可能にされる認知モデルは、しばしば、認知エンティティと呼ばれる。認知エンティティは、過去を思い出し、人間と対話し、継続的に学習し、将来に目を向けることによって応答処理を洗練させるようにデザインされる。認知能力は、時間および状況、またはコンテキストを考慮することによって、人間のニーズの自動化を向上させる。さらに、認知エンティティは、ユーザの照会に動的に応答し、これにより、ユーザ満足感が改善される。現代の認知システムは、予め定義された研究分野の範囲内の特定の能力に焦点を合わせている。例えば、一部の認知エンティティは、セキュリティ処理、認証、および権限付与用に開発される。その一方で、他の認知エンティティは、視覚認識および文書処理用に開発される。強化された協調システムが、分散型認知システム内の複数の特殊な認知エンティティをしばしば必要とする。
【0003】
分散型認知システムは、特殊なジョブを実施するように訓練された、複数のモデルの合成物に関連付けられている。特殊なジョブは、音声テキスト化、音声認識サービス、または文字認識、あるいはその組合せなどの研究分野に関係することがある。したがって、分散型認知システムは、特定のバックボーン能力に依存する異なるクラウド・ホスティング環境に展開された複数の認知サービスに関係することがある。集中型認知インターフェースによって一緒に接続された異なるクラウド・ホスティング環境からのサービスを組み込んだマルチクラウド統合アーキテクチャは、基礎をなす分散型認知システムを伴うわかりやすい認知ソリューションを提供するために、しばしば用意される。
【発明の概要】
【0004】
本発明の態様によれば、以下の動作を(必ずしも以下の順序ではなく)実施する方法、コンピュータ・プログラム製品、またはシステム、あるいはその組合せがある。(i)マルチクラウド分散型コンピューティング・システム内で指定のジョブが実施されるように、指定のジョブを完了させるための命令を実行するために、関与しているサービスおよび対応するコンテナを識別すること、(ii)ジョブを実施している間にハードウェア抽象化層によって発行された状態変更通知(SCN:state change notification)がないか対応するコンテナをモニタすること、(iii)SCNおよび要求される応答時間に基づいて、対応するコンテナのうちの第1のコンテナのための命令の実行を調整する必要性を検出すること、ならびに(iv)調節のための許される範囲内の選択されたクロック・スピードに第1のコンテナのクロック・スピードを調節すること。
【0005】
本発明の別の態様によれば、指定のジョブのための緊急要件に応答して、コンテナ構造および構成パラメータを含むコンテナ情報をリクエストする動作を実施する方法、コンピュータ・プログラム製品、またはシステム、あるいはその組合せがある。リクエストすることは、第1のコンテナを含む対応するコンテナ内のバックグラウンド・プログラムによって呼び出されたシステム・コール・ゲートを介して実施される。
【0006】
本発明のさらに別の態様によれば、マルチクラウド分散型コンピューティング・システムの中央認知サブシステムにコンテナ情報をプッシュする動作を実施する方法、コンピュータ・プログラム製品、またはシステム、あるいはその組合せがある。中央認知サブシステムは、コンテナ情報に基づいて第1のコンテナのクロック・スピードを調節する。
【図面の簡単な説明】
【0007】
【
図1】本発明による、システムの第1の実施形態で使用されるクラウド・コンピューティング・ノードの図である。
【
図2】本発明による、クラウド・コンピューティング環境(「第1の実施形態のシステム」とも呼ばれる)の実施形態の図である。
【
図3】第1の実施形態のシステムで使用される抽象化モデル層の図である。
【
図4】少なくとも部分的に第1の実施形態のシステムによって実施される第1の実施形態の方法を示すフローチャートである。
【
図5】少なくとも部分的に、しかし第1の実施形態のシステムで実施される第2の実施形態の方法を示すフローチャートである。
【
図6】第1の実施形態のシステムの第1の機械ロジック(例えば、ソフトウェア)部分を示すブロック図である。
【
図7】第1の実施形態のシステムの第2の機械ロジック(例えば、ソフトウェア)部分を示すブロック図である。
【発明を実施するための形態】
【0008】
特定のジョブを実施するためのマルチクラウド認知コンピューティング環境において様々なクラウド・ベース認知システムからのコンテナのサービスのためにCPUクロックをインポーズすること、または再調節すること、あるいはその両方を行うこと。特定のジョブは、緊急実施要件を有する。ジョブの処理中、命令の実行を調整する必要性は、特定のジョブの実施をサポートするコンテナ毎のクロック・データを集めることを含む、既存の緊急識別プロセスを通じて識別される。
【0009】
この発明を実施するための形態セクションは、以下のサブ・セクションに分割される。(i)ハードウェアおよびソフトウェア環境、(ii)実施形態の例、(iii)さらなるコメントまたは実施形態あるいはその両方、ならびに(iv)定義。
【0010】
I.ハードウェアおよびソフトウェア環境
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0011】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納可能な有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のいずれかの適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD(R))、メモリ・スティック、フロッピー(R)・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述のいずれかの適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、一過性の信号自体であると解釈されるべきではない。
【0012】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてもよい。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0013】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語、もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、または、部分的にユーザのコンピュータ上で、スタンド・アロンのソフトウェア・パッケージとして、あるいは、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行してもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。一部の実施形態では、例えば、プログラムマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化にすることによって、コンピュータ可読プログラム命令を実行してもよい。
【0014】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行可能であることが理解されよう。
【0015】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作を実行するための手段を作り出すべく、機械を生み出すために、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作の態様を実行する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体にさらに格納されてもよく、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の様式で機能するように指図可能である。
【0016】
コンピュータ可読プログラム命令は、さらに、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/動作を実行するべく、コンピュータ実行処理を生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイスで一連の動作ステップを実施するために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0017】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の中の各ブロックは、指定の論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表してもよい。一部の代替実装形態では、ブロックに記された機能は、図に記された順序とは無関係に行われてもよい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、時には、含まれる機能に依って逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、および、ブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定の機能もしくは動作を行うか、または、専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実行可能であることがさらに指摘されることになる。
【0018】
本開示は、クラウド・コンピューティングについての詳細な説明を含んでいるが、本明細書で列挙される教示の実装形態は、クラウド・コンピューティング環境に限定されないことが予め理解されている。むしろ、本発明の実施形態は、現在知られているか、後で開発される、他のいずれかのタイプのコンピューティング環境と併用して実施可能である。
【0019】
クラウド・コンピューティングは、最低限の管理努力またはサービスの提供者との対話で素早く提供および解放可能な、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
【0020】
特性は以下の通りである。
【0021】
オンデマンド・セルフサービス:クラウド利用者は、サービスの提供者との人間対話を必要とせず、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に提供することができる。
【0022】
ブロード・ネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、異種混合のシンまたはシック・クライアント・プラットフォーム(例えば、モバイル・フォン、ラップトップ、およびPDA)による使用を促進する標準メカニズムを通じてアクセスされる。
【0023】
リソース・プーリング:提供者のコンピューティング・リソースは、マルチ・テナント・モデルを使用して複数の利用者をサーブするためにプールされ、種々の物理および仮想リソースが、要求に応じて動的に割り当てられ、再割り当てされる。利用者には一般に、提供されるリソースの正確な位置についての制御権も知識もなく、抽象化のより高いレベル(例えば、国、州、またはデータセンタ)で位置を指定でき得るという点で位置独立の意味がある。
【0024】
迅速な弾力性:能力は、素早くスケール・アウトするために迅速かつ伸縮自在に、場合によっては自動的に提供され、素早くスケール・インするために迅速に解放可能である。利用者には、提供するために利用可能な能力は無制限であるように見えることが多く、いつでも任意の量で購入可能である。
【0025】
測定されるサービス:クラウド・システムは、サービスのタイプに適したいくつかの抽象化レベル(例えば、ストレージ、処理、帯域幅、および有効なユーザ・アカウント)で計量能力を活用することによって、リソース使用量を自動的に制御し、最適化する。リソース使用量は、監視、制御、およびレポートされ、利用されるサービスの提供者および利用者双方に透明性をもたらすことができる。
【0026】
サービス・モデルは以下の通りである。
【0027】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で動く提供者のアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースのeメール)などの、シン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、ことによると個々のアプリケーション能力を含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わないが、限定的なユーザ固有アプリケーション構成設定を例外とする可能性がある。
【0028】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、提供者によってサポートされるプログラミング言語およびツールを使用して制作された利用者制作または獲得アプリケーションを、クラウド・インフラストラクチャ上に展開することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャの管理も制御も行わないが、展開されたアプリケーション、および場合によっては、アプリケーション・ホスティング環境構成に対する制御を行う。
【0029】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、ならびに、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを利用者が展開して動かすことができる他の基本的なコンピューティング・リソースを提供することである。利用者は、基礎をなすクラウド・インフラストラクチャの管理も制御も行わないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によっては、選択されたネットワーキング構成要素(例えば、ホスト・ファイアウォール)の限定的な制御を行う。
【0030】
展開モデルは以下の通りである。
【0031】
プライベート・クラウド:クラウド・インフラストラクチャは、組織のためにだけ運用される。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスで存在してもよい。
【0032】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、懸念(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス考慮)を共有してきた特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスで存在してもよい。
【0033】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模業界団体に対して利用可能にされ、クラウド・サービスを売る組織によって所有される。
【0034】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意のエンティティのままであるが、データおよびアプリケーション移植を可能にする標準または独自の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって一緒に結びつけられた2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成物である。
【0035】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、およびセマンティック相互運用性に焦点を置いたサービス指向のものである。クラウド・コンピューティングの中心には、相互接続ノードのネットワークを含むインフラストラクチャがある。
【0036】
図1をここで参照すると、クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの1つの例にすぎず、本明細書に記載の本発明の実施形態の用途または機能の範囲について何らかの限定を示唆することを意図するものではない。それにもかかわらず、クラウド・コンピューティング・ノード10には、上述された機能のいずれかの実行または実施あるいはその両方を行う能力がある。
【0037】
クラウド・コンピューティング・ノード10には、数多くの他の汎用もしくは専用コンピューティング・システム環境もしくは構成で動作可能な、コンピュータ・システム/サーバ12がある。コンピュータ・システム/サーバ12を伴う使用に適し得る、よく知られたコンピューティング・システム、環境、または構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などを含むがこれらに限定されない。
【0038】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行される、プログラム・モジュールなどの、コンピュータ・システム実行可能命令の一般的な文脈で説明されてもよい。一般に、プログラム・モジュールは、特定のタスクを実施するか、特定の抽象データ型を実行する、ルーチン、プログラム、オブジェクト、構成要素、ロジック、データ構造などを含んでもよい。コンピュータ・システム/サーバ12は、通信ネットワークを通じてリンクされたリモート処理デバイスでタスクが実施される、分散型クラウド・コンピューティング環境で実践されてもよい。分散型クラウド・コンピューティング環境では、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム・ストレージ媒体にプログラム・モジュールが置かれてもよい。
【0039】
図1に示されているように、クラウド・コンピューティング・ノード10におけるコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形で示されている。コンピュータ・システム/サーバ12の構成要素は、1つまたは複数のプロセッサまたは処理ユニット16、システム・メモリ28、および、システム・メモリ28を含む様々なシステム構成要素をプロセッサ16に連結するバス18を含んでもよいがこれらに限定されない。
【0040】
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、および、様々なバス・アーキテクチャのいずれかを使用したプロセッサまたはローカル・バスを含む、バス構造のいくつかのタイプのいずれかのうちの1つまたは複数を表す。限定ではなく例として、このようなアーキテクチャは、インダストリ・スタンダート・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。
【0041】
コンピュータ・システム/サーバ12は、典型的には、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ12によってアクセス可能な、いずれかの利用可能な媒体でもよく、揮発性媒体および不揮発性媒体の両方、取外し可能媒体および取外し不能媒体の両方を含む。
【0042】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、他の取外し可能/取外し不能な、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでもよい。ほんの一例として、取外し不能な不揮発性磁気媒体(図示されていないが、典型的には「ハード・ドライブ」と呼ばれる)を読み書きするために、ストレージ・システム34が提供されることが可能である。図示されていないが、取外し可能な不揮発性磁気ディスク(例えば、「フロッピー(R)・ディスク」)を読み書きするための磁気ディスク・ドライブ、および、CD-ROM、DVD-ROM、または他の光媒体など、取外し可能な不揮発性光ディスクを読み書きするための光ディスク・ドライブが提供されることが可能である。このような例では、1つまたは複数のデータ媒体インターフェースによって、それぞれがバス18に接続可能である。下記でさらに描写および説明されるように、メモリ28は、本発明の実施形態の機能を行うように構成された、プログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
【0043】
プログラム/ユーティリティ40は、プログラム・モジュール42のセット(少なくとも1つ)を有し、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、限定ではなく例として、メモリ28に格納されてもよい。オペレーティング・システム、1つもしくは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそのいくつかの組合せは、ネットワーキング環境の実装形態を含んでもよい。プログラム・モジュール42は一般に、本明細書に記載のような本発明の実施形態の機能または方法あるいはその両方を実行する。
【0044】
コンピュータ・システム/サーバ12は、さらに、キーボード、ポインティング・デバイス、ディスプレイ24などの1つもしくは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つもしくは複数のデバイス、または、コンピュータ・システム/サーバ12が1つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデム等)、あるいはその組合せと通信することができる。このような通信は、入出力(I/O)インターフェース22を介して行われることが可能である。さらに、コンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなど、1つまたは複数のネットワークと通信可能である。描写されたように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他の構成要素と通信する。図示されていないが、他のハードウェアまたはソフトウェア構成要素あるいはその両方が、コンピュータ・システム/サーバ12と併用して使用可能であることを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム等を含むがこれらに限定されない。
【0045】
図2をここで参照すると、例証的なクラウド・コンピューティング環境50が描写されている。図示のように、クラウド・コンピューティング環境50は、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラー電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなど、クラウド利用者によって使用されるローカル・コンピューティング・デバイスが通信し得る1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。ノード10は、以上に記載のような、プライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組合せなど、1つまたは複数のネットワーク内で物理的または仮想的にグループ化されてもよい(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウド利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを提供することができる。
図2に示されたコンピューティング・デバイス54A~Nのタイプは、例証にすぎないことが意図され、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、(例えば、ウェブ・ブラウザを使用して)任意のタイプのネットワークまたはネットワーク・アドレス可能接続あるいはその両方を介して、任意のタイプのコンピュータ化デバイスと通信可能であることが理解されている。
【0046】
図3をここで参照すると、クラウド・コンピューティング環境50(
図2)によって提供される機能抽象化層のセットが示されている。
図3に示された構成要素、層、および機能は、例示にすぎないことが意図され、本発明の実施形態は、これらに限定されないことを予め理解されたい。描写されたように、以下の層および対応する機能が提供される。
【0047】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ、ストレージ・デバイス、ネットワークおよびネットワーキング構成要素を含む。一部の実施形態では、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェアを含む。
【0048】
仮想化層62は、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントという、仮想エンティティの例がそこから提供される抽象化層を提供する。
【0049】
1つの例では、管理層64は、下記に記載の機能を提供してもよい。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を行う。計量および価格設定は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、および、これらのリソースの利用量に対する請求またはインボイスを行う。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド利用者およびタスクの本人確認、ならびに、データおよび他のリソースの保護を行う。ユーザ・ポータルは、利用者およびシステム・アドミニストレータに、クラウド・コンピューティング環境へのアクセス権を提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの配分および管理を行う。サービス・レベル・アグリーメント(SLA)計画および実行は、SLAに従って将来の要件が予期されるクラウド・コンピューティング・リソースの事前配置、および調達を行う。
【0050】
ワークロード層66は、クラウド・コンピューティング環境が利用される機能の例を提供する。この層から提供されるワークロードおよび機能の例は、この発明を実施するための形態セクションの以下のサブ・セクションにおいて、下記で詳細に論じられるような、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想クラスルーム教育配信、データ分析処理、トランザクション処理、ならびに本発明による機能(機能ブロック66aを参照)を含む。
【0051】
本明細書に記載のプログラムは、プログラムが本発明の特定の実施形態で実施される用途に基づいて識別される。しかし、本明細書のどの特定のプログラム用語体系も便宜上使用されているにすぎず、したがって、本発明は、このような用語体系によって識別または示唆あるいはその両方が行われたいずれかの特定の用途における使用に単に限定されるべきではないことを理解されたい。
【0052】
本発明の様々な実施形態の説明は、例証のために提示されてきたが、網羅的であること、または、開示された実施形態に限定されることを意図するものではない。記載の実施形態の範囲から逸脱することなく、多くの変更形態および変形形態が当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実用的用途、もしくは市場で見つかる技術に対する技術的改善を最もうまく説明するように、または、本明細書で開示された実施形態を他の当業者が理解できるように、選ばれた。
【0053】
II.実施形態の例、およびさらなるコメントまたは実施形態あるいはその両方
クラウド・ホスティング環境のそれぞれは、その個々の能力をハードウェア抽象化層の上に展開しており、様々なサービスおよびユーザが活動を実施するために使用可能な共通の結集されたソリューションを提供する。ビジネス・ロジックおよびAPIは、クラウド環境に形成されたコンテナ/ストアにサービス・インスタンスとして常駐可能である。サービス・インスタンスは、ハードウェア抽象化層(HAL:hardware abstraction layer)の上で稼働し、分散型認知システムにおける上層サービスの管理のサポートの際にクラウド・サービス・プロバイダのHALを使用して、柔軟性、拡張可能性、および高可用性特徴を提供する。
【0054】
本発明の一部の実施形態は、マルチクラウドにおけるクロックを同期するための自動化ソリューションを対象とする。クラウド・ホスティング環境のそれぞれは、その個々の能力をハードウェア抽象化層の上に展開しており、様々なサービスおよびユーザが活動を実施するために使用可能な共通の結集されたソリューションを提供する。ビジネス・ロジックおよびAPIは、クラウド環境に形成されたコンテナ/ストアにサービス・インスタンスとして常駐可能である。サービス・インスタンスは、ハードウェア抽象化層(HAL)の上で稼働し、分散型認知システムにおける上層サービスの管理のサポートの際にクラウド・サービス・プロバイダのHALを使用して、柔軟性、拡張可能性、および高可用性特徴を提供する。
【0055】
本発明の一部の実施形態は、マルチクラウド分散型認知システムと共に作動することになる装置を提供することを対象とし、認識されたイベントの性質に基づいて、関与しているサービスにおけるコンテナのCPUクロックをインポーズする方式を提供する。方法は、命令を実行できるハードウェア能力が完全に異なる、異なるクラウドに、様々なサービスが展開されるように、異なるクラウド・ホスト環境で稼働している異種のサービス全てを集中型認知システムが制御することを含んでもよい。
【0056】
本発明の一部の実施形態は、マルチクラウド・サービス環境における関連したコンテナがあるサービスのプロセス情報を集める集中型コントローラと共に稼働するバックグラウンド・プロセス・インスタンスを対象とする。
【0057】
図4は、本発明による、マルチクラウド分散型認知コンピューティング環境400を示している。マルチクラウド分散型認知コンピューティング環境は、クラウド・サブシステム410、420、430、コンテナ411、421、425、431、クラウド・サービス412、422、426、432、クロック・マネージャ414、424、428、434、緊急トリガ・モジュール450、および分散型認知サブシステム440を含む。
【0058】
図6は、本発明による方法動作のうちの少なくともいくつかを実施するためのソフトウェアを含む、コンテナ411および分散型認知サブシステム440の例の詳細な図を示すブロック図である。マルチクラウド分散型認知コンピューティング環境は、通信ネットワーク620、クロック・データ・コレクタ602、ハードウェア干渉APIエンジン604、最大クロック収集モジュール606、SCN検出器およびアップデート・エンジン608、サービス・インスタンス・コレクション(UUID/REQ/割り込み)610、メタデータ・マッパ612、サービス対クロック要件マップ614、認知APIコネクタ616、ハードウェア抽象層618、コンテナSCNマネージャおよびメタデータ・アップデート・エンジン622、クロック・データ・コレクタ624、緊急要件識別子モジュール626、コントリビュータ・サービス・セレクタ628、有効性マネージャ630、コンテナ・クロック・インポージング・ロジック632、クロック・スピード・モジュール634、ならびに通信API636をさらに含む。
【0059】
図7は、中心に置かれたクロック・マネージャ702と、ノード706、708、および710を含む様々な認知コンピューティング・システムからのノードのセット704として示されたコンテナとの間の、システム700内の通信経路を示すブロック図である。一部の実施形態によれば、システム700は、マルチクラウド分散型認知コンピューティング環境400内のサブシステムであり、クロック・マネージャは、分散型認知サブシステム440内にある。
【0060】
図5は、本発明による方法を描写したフローチャート550を示している。
図6および
図7は、マルチクラウド分散型認知コンピューティング環境400におけるネットワーク620を介して通信するコンテナ411および分散型認知サブシステム440のソフトウェア構成要素を示している。ソフトウェアは、フローチャート550の方法動作のうちの少なくともいくつかを実施する。この方法および関連付けられたソフトウェアが、
図5(方法動作ブロックについて)および
図6(ソフトウェア・ブロックについて)を広範囲に参照しながら、以下の段落にわたってここから論じられる。
図6のソフトウェア構成要素が格納される1つの物理ロケーションは、ストレージ・ブロック60a(
図3参照)内にある。
【0061】
処理は、ステップS555で始まり、プログラム構成要素が、ジョブを処理する必要性が切迫していることを識別する。この例では、緊急トリガ・モジュール450が、マルチクラウド分散型認知コンピューティング環境400(
図4)におけるジョブを実施する必要性が切迫していることを指示する。マルチクラウド分散型認知コンピューティング環境には、様々なコンテナ常駐プロセスを上層が呼び出すことによって投入された多くの異なるジョブ・リクエストがある。異なるクラウド・ベース認知サービスまたはサブシステムあるいはその両方によって、ジョブ毎に複数のタスクがサーブされてもよい。特定のタスクに切迫したタスクまたは緊急タスクとしてフラグが立てられたとき、要求される応答時間までに、または目標応答時間の受け入れ可能な期間内に、特定のタスクが完了したことを確認するために、この切迫したタスクの処理に特定の注意が向けられることが可能である。
【0062】
本発明の一部の実施形態によれば、機械学習モデルを実行するジョブは、切迫したタスクであると考えられ、本明細書で論じられるように、緊急ハンドリングのためにフラグを立てられる。制御および同期されたスピードで機械学習モデルが実行された場合、モデル性能が改善されることが認識されている。
【0063】
処理は、ステップS560に進み、分散型認知サブシステムは、緊急要件を含むジョブについてのリクエストを投入する。この例では、緊急要件は、要求される応答時間を含む。ジョブは、様々なクラウド・ベース認知サブシステムの間で分割されるタスクのセットとして実施され、各認知サブシステム内の1つまたは複数のコンテナによって実施されることになる。少なくともジョブが切迫しているという理由によって、ジョブは、様々なクラウド・ベース認知サブシステムにまたがって実施されることになる。
【0064】
処理は、ステップS565に進み、分散型認知サブシステムは、マルチクラウド環境におけるコンテナのセットを識別する。例えば、分散型認知サブシステム440は、切迫したジョブを実施するために、コンテナ411、421、425、および431(
図4)を含む、認知クラウド・サブシステム410、420、および430を選択する。この例では、ジョブは、クラウド・サービス412、422、426、および432によって提供される特定のサービスを要求するタスクに分割可能である。
【0065】
処理は、ステップS570に進み、プログラム構成要素は、コンテナ毎のコンテナ・インフラストラクチャ情報を集める。コンテナ・インフラストラクチャ情報は、(i)内部動作スピード、ならびに(ii)関連付けられたコンテナの物理的特性およびハードウェア配分にプロセス情報が基づく場合の現在の能力、(iii)コンテナが現在動作しているクロック・スピード、(iv)基本OS情報、または(v)コンテナに配分されたCPUコア、あるいはその組合せを含んでもよいがこれらに限定されない。この例では、分散型認知サブシステムと共に稼働するバックグラウンド・プロセスは、関連コンテナのためのイベントのポーリングを始める前に、初期プロセス情報およびデータ構造に着手する。
【0066】
処理は、ステップS575に進み、分散型認知サブシステムは、ジョブの実施中にコンテナのセットによって受け取られた状態変更通知(SCN)をモニタする。ハードウェア抽象化層(HAL)は、様々なコンテナによって受け取られたSCNを発行する。SCNは、現在のクロック・スピードおよび最大許容クロック・スピードなどを有する進行中のインフラストラクチャ情報の収集をサポートする。本発明の一部の実施形態によれば、システム・コール・ゲートの責務は、どのコンテナにも移行することなく(並列に)、現在のクロック・スピード、最大クロック・スピード、または別のハードウェア上での許される最大クロック・スピード、あるいはその組合せについてのプロセス情報を収集することである。プロセス情報はコール・ゲートから集められ、分散型認知サブシステム440などの集中型認知システムにプッシュされる。プロセス情報は、予め定義された期間に従って最初に集められた後、または定期的な間隔の後、周期的に集められる。
【0067】
処理は、ステップS580に進み、プログラム構成要素は、切迫したジョブの実行を調整する必要性を検出する。サービスが稼働しているコンテナのためのクロックのサポートにおいて、調整する必要性は、寄与しているサービスおよびそのそれぞれのコンテナのいずれかが、より高いクロック・スピードで動作する能力がないときに、アプリケーションがイベントの配列をアップデートする可能性に対処する。
【0068】
処理は、ステップS585に進み、プログラム構成要素は、コンテナのセットのクロック・スピードの調節の範囲を決定する。この例では、分散型認知サブシステムは、コンテナベースのクロック・マネージャと共に、クロック・スピードを考慮して調節される必要がある1つまたは複数のプロセスを識別し、対応するコンテナから調節のための許される範囲を集める。調節レベルを導き出すと、要求されるまたはおよその応答時間の観点で、特定のクロック・スピードが選択される。
【0069】
処理は、ステップS590に進み、プログラム構成要素は、要求される応答時間を満たすことを考慮してコンテナ・クロック・スピードを調節する。コンテナのセットは、選択されたクロック・スピードに従って、インポーズされたクロック・スピードで動作させられる。指名された最大スピードをサポートしないコンテナによって提供された特定のサービスの場合、サービス・ベースのスピードは、この状況下で最大利益を得るように誘導可能である。このようなケースでは、サービス・レベルのクロック・スピードが選択され、同じコンテナにおいて新しいクロック・スピードで稼働しているクライアント・インスタンスへの帯域内または帯域外メッセージが共有される。このように、クライアント・インスタンスは、コール・ゲート割り込みを呼び出して、コンテナのための選択されたクロック・スピードをインポーズし、コンテナが、システム・ハードウェア・クロックを適宜変更するように内部でトリガする。
【0070】
マルチクラウド分散型認知システムは、事前の機能を提供する一様な認知インターフェースを形成するために、様々な異なるクラウド・ホスティング環境から生じたクラウド・サービスを含んでもよい。内部では、サービス・インスタンスは、異なるクラウド・ホスティング環境によって提供されるが、サービスは、これらが単一の管理コントローラに集められたとき、単一のサービス・プロバイダによって提供されているかのようにふるまうことが予想される。例えば、マルチクラウド分散型認知システムのサービスは、カスタマイズされた分散型認知システムを作り出すために、様々な競合するクラウド・サービス・プロバイダから収集されることがある。各クラウド・サービス・プロバイダは、画像処理、分析、または拡張機能、あるいはその組合せなど、よく知られたまたは広く普及したあるいはその両方の特徴/サービスを有していることがあるので、各クラウド・ホスティング環境の明らかな強みが、エンド・ユーザの利益のためにマルチクラウド分散型認知システムに適用されることが可能である。
【0071】
本発明の一部の実施形態によれば、様々なクラウド・ホスティング環境からのサービス・インスタンスは、リクエスト-応答アーキテクチャを管理する集中型プラットフォームを使用して、認証または接続あるいはその両方が行われる。異なるコンテナまたは異なるクラウド・ホスティング環境あるいはその両方にサービス・インスタンスが展開された場合、サービス・インスタンスは、異種のCPUクロック・スピードで作動していることになる。サービスのクロック・スピードが異なるので、単一の外部ジョブを実施するとき、これらのマルチクラウド・エンティティのクロック・スピードを制御することは可能ではない。ユーザの観点では、認知システムは単一のタスクを実施しているが、等しくない内部クロックでハンドリングされており、出力の遅延を引き起こす。関与しているサービス全てのために、同種のクロック・スピードに達するように、マルチクラウド・サービスにおいて外部エンティティがCPUクロックをインポーズすることができる方式は現在存在しない。サービスの一部が、処理を高速化するために利用可能なインフラストラクチャを有しているときでも、サービスの一部は、より遅い処理スピードで稼働しているので、クラウド・ホスティング環境全体のマルチクラウド・サービスにおけるCPUクロックにインポーズできないことは、認知システムの緊急検出能力にインパクトを及ぼす。CPUクロックの発見またはインポーズあるいはその両方を行える能力における通信ギャップおよびラグは、本発明の実施形態によって対処される。
【0072】
(i)内部動作スピードと、(ii)関連付けられたコンテナの物理特性およびハードウェア配分にプロセス情報が基づく場合の現在の能力とを含むプロセス情報を決定するためにハードウェア抽象化層で利用可能なメカニズムがある。これらのメカニズムは、コンテナが動作可能な最大スピードについてのプロセス情報をさらに決定する。本発明の一部の実施形態は、システムによって伝搬された緊急コンテキストに基づいて動的クロック・スピードをインポーズするために、プロセス情報を集中型認知システムに渡す。分散型マルチクラウドにおけるサービスは、CPUクロック調整が重要な役割を果たす緊急状況の中で、特定の限られた方式で動作するべきである。
【0073】
本発明の一部の実施形態は、マルチクラウド分散型認知システムと共に作動することになる方法、システム、または装置、あるいはその組合せを提供し、認識されたイベントの性質に基づいて、関与しているサービスにおける様々なコンテナのCPUクロックをインポーズ可能な方式を提供する。本発明の一部の実施形態は、異なるクラウド・ホスティング環境で稼働している異種のサービス全てを集中型認知システムが制御することを対象とする。サービスは、マルチクラウド分散型認知システムにおける、命令を実行できるハードウェア能力が完全に異なる、異なるクラウド環境に展開可能である。
【0074】
本発明の一部の実施形態は、マルチクラウド・プレーンにおけるコンテナがあるサービス毎にプロセス情報を集めるように、集中型コントローラと共に動作する。個々のサービスは、クライアント・インスタンスを稼働させることになり、追加のデーモンが、プロセスの一部として開始および維持されることになり、認識されたイベントの予め定義された監視のために、固有のコンテナ構造についてのプロセス情報が調べられることになる。(i)コンテナが現在動作しているクロック・スピード、(ii)基本OS情報、および(iii)コンテナに配分されたCPUコアを含む、固有のコンテナ構造の特定の構成パラメータに関する調査が行われる。さらに、予め定義された期間のサイクル、または定期的な間隔の後、同じ情報がさらにキャプチャされ、したがって、最新の有効な情報が利用可能である。
【0075】
本発明の一部の実施形態によれば、認識されたイベントは、ハードウェア抽象化層によって生成され、コンテナ・システムによって受け取られた、状態変更通知(SCN)でもよい。クラウド・サービス・プロバイダのハードウェア抽象化層は、実際の実行ハードウェア・マッピングの間でコンテナが全体的に移動されたときにSCNを開始する。このようなケースでは、コンテナからの認識されたイベントは、デーモン・プログラムで実施されたバックグラウンド・プロセスで収集され、集中型認知システムと共有される。認識されたイベントがバックグラウンド・プロセスを駆動したとき、コントローラ・エンティティは、現在のハードウェア向けのサービスのために使用可能な、可能なクロック・レベルの調査を送る。クロック・スピードおよび他の相互関連情報といったプロセス情報は、サービス・インスタンスには知られていないので、サービス・オブジェクトと共に稼働するデーモンは、コンテナ(およびサービス)が稼働しているシステムの物理的特性を含むプロセス情報をリクエストするシステム・コール・ゲートを呼び出す。例えば、STTシステムは、どのくらいのスピードで入力テキストを解釈しているか知らないはずであるが、その一方で、プロセス情報は、バックボーン・インフラストラクチャには非常に特有なものである。システム・コール・ゲートの責務は、コンテナを移行することなく(並列に)、現在のクロック・スピード、最大クロック・スピード、または別のハードウェア上での許される最大クロック・スピード、あるいはその組合せについてのプロセス情報を収集することである。このプロセス情報は、コール・ゲートから集められ、集中型認知システムにプッシュされる。
【0076】
プロセス情報、具体的には、HAシステムにおける実際のコンテナ移行がなくても役立てられることが可能な、可能な最大クロック・スピード、現在のクロック、または許されるクロック、あるいはその組合せなどの、コンテナの物理的なハードウェア・クロック情報を受け取ると、処理エンティティは、ジョブ・リクエストを投入すると同時に分散型認知システムによる緊急識別に基づくクロック・スピードをトリガすることができる。
【0077】
本発明の一部の実施形態によれば、プロセス情報は、分散型マルチクラウド認知システムに寄与しているプレーン内のサービスの全てから集められることに留意されたい。
【0078】
集中型認知マネージャがそれぞれのサービス全てのためのマッパを維持し、クラウド・オーケストレーション境界内の対応するコンテナを移行している間にトリガされた割り込みをハンドリングしているときに、バックグラウンド・プロセスは稼働している。トランザクションへのアップデートは、全体として、システムの通常動作中いつでも、プロセス情報を関連させるように実施される。分散型認知システムによって伝搬された既存の緊急識別プロセスが、実行を調整する必要性を識別したとき、特定のジョブに関与しているサービスのクロックをインポーズおよび再調節するために、メッセージが集中型認知システムに送られる。特定のジョブは、コンテナ常駐プロセスを呼び出す上層のジョブ投入リクエストである。
【0079】
例えば、緊急計算がサービスx、y、およびzに必要なとき、制御マネージャは、クロックを考慮して調節される必要があるプロセスを識別し、クロック調節のための許される範囲を集める。導き出された調節レベルに基づいて、およその応答時間を考慮して、特定のクロック・スピードが選択される。指名された最大スピードを特定のサービスがサポートしていない場合、この状況から最大利益を得るように、サービス・ベースのスピードが誘導されることが可能である。このようなケースでは、サービス・レベルのクロック・スピードが選択され、同じコンテナにおいて新しいクロック・スピードで稼働しているクライアント・インスタンスへの帯域内または帯域外メッセージが共有される。クライアント・インスタンスは、コール・ゲート割り込みを呼び出して、クロック・スピードをインポーズし、コンテナが、システム・ハードウェア・クロックの変更を内部でトリガする。
【0080】
したがって、クロック・スピードは、マルチクラウド分散型認知システムのための集中型エンティティによってインポーズされ、したがって、集中型コントローラは、超高速解決を必要とする一部のリクエストに切迫感をセットすることができる。サービスが稼働しているコンテナのクロック・スピードは、(認証された手段を介して)外部エンティティによって制御され、切迫したタスク中にユーザ要件を満たすことをサポートする際の緊急計算のケースで、システムがより速く作動することを可能にする。さらに、このトリガは一時的なものであり、マルチクラウド認知システムにとってより良いユーザ応答を行うことに役立てつつ、コンテナまたは任意の他のテナント上の通常活動にインパクトを及ぼさないように緊急事態の時にしかインポーズされない。
【0081】
本発明の一部の実施形態は、異なるクラウド・ホスティング環境で稼働する異種のサービスを制御する集中型認知システムを対象とする。認知システムにおける異種のサービスは、集中型コントローラからの命令を実行できるハードウェア能力が異なる、異なるクラウド環境に展開される。集中型コントローラと共に稼働しているバックグラウンド・プロセスは、コンテナのためのイベントのポーリングを始める前に、初期プロセス情報およびデータ構造に着手する。バックグラウンド・プロセスは、デーモンによって稼働され、マルチクラウド・プレーンにおけるコンテナ・サービス全てからプロセス情報を集める。個々のサービスは、(コンテナ・ライブラリのような)クライアント・インスタンスを追加のデーモンとして稼働させている。デーモンは、ライブラリ機能へのハードウェア・インターフェース設備を有するコンテナ・クラスにおけるライブラリ・サービスとして維持される。コンテナ・ライブラリ・プロセスは、固有のコンテナ構造についてのデータを収集し、イベントの予め定義された監視のためにコンテナを調べる。ACTIVATION_EVENT LISTは、ハードウェア抽象化層によって生成され、コンテナ・システムによって受け取られた、SCNを含む。ハードウェア抽象化層は、MOVEまたはMIGRATEアクションがトリガされたとき、コンテナのためのSCNを開始する。SCNは、コンテナ・ハードウェア・マッピングのためにコンテナ管理プレーンから受け取られる。コンテナからのイベントは、さらなる処理のために関連付けられる。
【0082】
本発明の一部の実施形態によれば、集中型認知システムがイベントについて通知されたとき、集中型コントローラは、現在のハードウェアのためのサービスのために使用可能な、可能なクロック・レベルの調査を送る。クロック・スピードおよび他の相互関連情報は、情報がバックボーン・インフラストラクチャに非常に特有なものなので、サービス・インスタンスには知られていない。例えば、STTシステムは、どのくらいのスピードで入力テキストを解釈しているかに関するデータを有していないはずである。サービス・オブジェクトと共に稼働するデーモンは、システム・コール・ゲートを呼び出すために使用される。コール・ゲートは、コンテナ(およびサービス)が稼働しているシステムの物理的特性を調査する。追加として、コール・ゲートは、コンテナを移行することなく(並列に)、現在のクロック・スピード、最大クロック・スピード、または別のハードウェア上での許される最大クロック・スピード、あるいはその組合せを含むプロセス情報を収集する。情報は、コール・ゲートから収集され、集中型認知システムにプッシュされる。
【0083】
本発明の一部の実施形態は、上層ジョブ投入リクエストからのコンテナ常駐プロセスのリクエストされたジョブに関するプロセス情報について、分散型マルチクラウド認知システムに寄与しているサービスをモニタすることを対象とする。HAシステムにおける実際のコンテナ移行がなくても役立てられることが可能な、可能な最大クロック・スピード、現在のクロック、または許されるクロック、あるいはその組合せなど、物理ハードウェア・クロック情報を含むコンテナについてのプロセス情報が決定されたとき、プロセス情報は、分散型認知システムの緊急識別に基づくクロック・スピードをトリガするために、集中型処理エンティティによって使用される。集中型認知マネージャにおいて稼働するプロセスは、それぞれのサービス全てのためのマッパを維持し、クラウド・オーケストレーション境界内のコンテナを移行させている間にトリガされた割り込みをハンドリングする。既存の緊急識別プロセスが、実行を調整する必要性を識別したとき、特定のジョブに関与しているサービスのクロックをインポーズおよび再調節するために、メッセージが集中型認知システムに送られる。調節レベルを導き出すと、およその応答時間を考慮して、特定のクロック・スピードが選択される。特定のサービスが、指名された最大スピードをサポートしないケースでは、サービス・ベースのスピードは、この状況から最大利益を得るように誘導可能である。したがって、サービス・レベルのクロック・スピードが選択されてもよく、同じコンテナにおいて新しいクロック・スピードで稼働しているクライアント・インスタンスへの帯域内または帯域外メッセージが共有される。クライアント・インスタンスは、コール・ゲート割り込みを呼び出して、コンテナのためのクロック・スピードをインポーズし、コンテナが、システム・ハードウェア・クロックの変更を内部でトリガする。
【0084】
本発明の実施形態は、分散型クラウド・データ・センタにおけるライブVM移行のためのオンデマンド・クロック同期以上のもの、および、相互接続デバイスのヘテロジニアス・ネットワーク全体の分析をオンデマンドで実施可能な分散型認知コンピュータ・システム(CCS)の作成を対象とする。
【0085】
本発明の一部の実施形態は、マルチクラウド分散型認知システムと共に作動することになる装置を提供するための方法を決定すること、および、認識されたイベントの性質に基づいて、関与しているサービスにおけるコンテナのCPUクロックをインポーズ可能な方式を提供することを対象とする。
【0086】
本発明の一部の実施形態は、異なるクラウドで稼働している異種のサービス全てを集中型認知システムが制御することを対象とし、これらのサービスは、命令を実行できるハードウェア能力が完全に異なる、異なるクラウドに展開される。
【0087】
本発明の一部の実施形態は、マルチクラウド・プレーンにおけるコンテナがあるサービス全てについてのプロセス情報を集める、集中型コントローラと共に稼働するプロセス・インスタンスを対象とする。
【0088】
本発明の一部の実施形態は、マルチクラウド・クロックの集中型インポージングを対象とする。
【0089】
本発明の一部の実施形態は、関与しているサービスにおけるコンテナのCPUクロックが、認識されたイベントの性質に基づいてインポーズされることが可能な方式を提供することを対象とする。
【0090】
本発明の一部の実施形態は、異なるクラウドで稼働している異種のサービス全てを集中型認知システムが制御することを対象とし、これらのサービスは、命令を実行できるハードウェア能力が完全に異なる、異なるクラウドに展開される。
【0091】
本発明の一部の実施形態は、単一の外部ジョブの実施に関与しているマルチクラウド・エンティティのクロック・スピードを制御可能な方式を提供することを対象とする。本発明の一部の実施形態は、関与しているサービス全てのための同種のクロック・スピードを得るために、マルチクラウド・サービスにおけるCPUクロックを外部エンティティがインポーズ可能な方式を提供する。
【0092】
本発明の一部の実施形態は、プロセス情報が集中型認知システムに渡されることが可能な手段の提供、および、ジョブ・リクエストを投入している間に分散型認知システムによって伝搬された緊急コンテキストに基づく動的クロック・スピードのインポージングを対象とする。
【0093】
本発明の一部の実施形態は、5Gおよびクラウド・ユーザ空間などのマルチユーザ・プレーンのケースで非常に必要とされている、クラウド・サービス処理における緊急処理についての、リアルタイムのより良い方式を提供することを対象とする。
【0094】
本発明の一部の実施形態は、全体的なユーザ体験を獲得するのに役立つ特定のタスクの動作スピードを制御することによって、時間重視の結果を改善することを対象とする。
【0095】
本発明の一部の実施形態は、基礎をなすコンテナのより良いクロック・スピードおよびハードウェア・ロジックを有する機械学習モデル(MLM:machine learning model)の属性が、分散型認知システムにおいて寄与しているサービス全てのための最適化された応答時間を得るためにタイム・クリティカルなMLMが実行されることが可能なメカニズムを対象とする。
【0096】
本発明の一部の実施形態は、集中型クロック・スピードをインポーズすることによって、異なる非対称クロッキング・ハードウェアが一緒に作動できるようにすることを対象とし、集中型クロック・スピードにより、全ハイブリッド・クラウド・システムは、ハードウェアに互換性がなかったとしても、より多くの仮想マシンをクラウドの一部として獲得し、コンテナ化された環境をシームレスに動作させることができる。
【0097】
本発明の一部の実施形態は、(i)5Gおよびクラウド・ユーザ空間のようなマルチユーザ・プレーンのケースで非常に必要とされている、クラウド・サービス処理における緊急処理についての、リアルタイムのより良い方式を提供すること、(ii)全体的なユーザ体験を獲得するのに役立つ特定のタスクの動作スピードを制御することによって、時間重視の結果をより良くする方式を提供すること、(iii)基礎をなすコンテナのより良いクロック・スピードおよびハードウェア・ロジックを有するMLMの属性が、分散型システムにおいて寄与しているサービス全てのための最適化された応答時間を得るためにタイム・クリティカルなMLMが実行されることが可能なメカニズムを提供すること、(iv)認知システム毎に物事を済ませるために、外部で認証されたエンティティからマルチクラウド・インフラストラクチャと通信する方式を提供すること、または(v)複数のクラウド・サービスを使用して集中型ソリューションを構築しつつ、柔軟性を提供し、可能性を追加すること、あるいはその組合せという、特徴、特性、または利点、あるいはその組合せのうちの1つまたは複数を含んでもよい。
【0098】
III.定義
本発明:用語「本発明」によって表現される主題が、特許請求の範囲が提出されたときの特許請求の範囲によって、または、特許審査後、最終的に発行し得る特許請求の範囲によってカバーされる、絶対的指示ととられるべきではなく、用語「本発明」は、本明細書の開示が潜在的に新しいと考えられる全体的な感じを読者が得るのを助けるために使用されるが、この理解は、用語「本発明」の使用によって指示されるように、暫定的かつ仮のものであり、関係情報が明らかにされたとき、および特許請求の範囲が修正される可能性があるときの、特許審査中の変更を条件とする。
【0099】
実施形態:上記の「本発明」の定義を参照-類似の注意が、用語「実施形態」に適用される。
【0100】
および/または:包括的なまたはであり、例えば、A、B「および/または」Cは、AまたはBまたはCのうちの少なくとも1つが真であり、適用可能であることを意味する。
【0101】
含む(including)/含む(include)/含む(includes):別途明示的に言及のない限り、「含むが必ずしもこれらに限定されない」を意味する。
【0102】
ユーザ/サブスクライバ:(i)一人の個人の人間、(ii)ユーザもしくはサブスクライバとしてふるまうのに十分な知能を有する人工知能エンティティ、または(iii)関係のあるユーザもしくはサブスクライバのグループ、あるいはその組合せを含むが必ずしもこれらに限定されない。
【0103】
モジュール/サブモジュール:モジュールが、(i)単一の局所的近傍にある、(ii)広いエリアにわたって分散されている、(iii)より大きいソフトウェア・コード内の単一の近傍にある、(iv)単一のソフトウェア・コード内にある、(v)単一のストレージ・デバイス、メモリ、もしくは媒体内にある、(vi)機械的に接続されている、(vii)電気的に接続されている、または(viii)データ通信で接続されている、あるいはその組合せであるかに関わらず、一部の種類の機能を実施するように動作的に作動するハードウェア、ファームウェア、またはソフトウェア、あるいはその組合せのいずれかのセット。
【0104】
コンピュータ:デスクトップ・コンピュータ、メインフレーム・コンピュータ、ラップトップ・コンピュータ、フィールド・プログラマブル・ゲート・アレイ(FPGA)ベースのデバイス、スマートフォン、パーソナル・デジタル・アシスタント(PDA)、ボディ・マウント型または挿入型コンピュータ、組み込みデバイス式コンピュータ、特定用途向け集積回路(ASIC)ベースのデバイスを含むがこれらに限定されない、重要なデータ処理または機械可読命令読み取り能力あるいはその両方を有する任意のデバイス。
【手続補正書】
【提出日】2024-04-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ
の情報処理による方法であって、
マルチクラウド分散型コンピューティング・システム内で指定のジョブが実施されるように、前記指定のジョブを完了させるための命令を実行するために、関与しているサービスおよび対応するコンテナを識別することと、
前記ジョブを実施している間にハードウェア抽象化層によって発行された状態変更通知(SCN)がないか前記対応するコンテナをモニタすることと、
SCNおよび要求される応答時間に基づいて、前記対応するコンテナのうちの第1のコンテナのための前記命令の実行を調整する必要性を検出することと、
調節のための許される範囲内の選択されたクロック・スピードに前記第1のコンテナのクロック・スピードを調節することと
を含む、
方法。
【請求項2】
前記指定のジョブのための緊急要件に応答して、コンテナ構造および構成パラメータを含むコンテナ情報をリクエストすること
をさらに含み、
前記リクエストすることが、前記第1のコンテナを含む前記対応するコンテナ内のバックグラウンド・プログラムによって呼び出されたシステム・コール・ゲートを介して実施される、
請求項1に記載の
方法。
【請求項3】
前記コンテナ情報が、現在のクロック・スピード、最大クロック・スピード、別のハードウェア上の許される最大クロック・スピード、基本オペレーティング・システム情報、およびCPUコアが前記第1のコンテナにどれだけ配分されるかについてのカウントを含み、
前記コンテナ情報にさらに基づく場合、実行を調整する前記必要性を検出する、
請求項2に記載の
方法。
【請求項4】
前記マルチクラウド分散型コンピューティング・システムの中央認知サブシステムに前記コンテナ情報をプッシュすること
をさらに含み、
前記中央認知サブシステムが、前記コンテナ情報に基づいて前記第1のコンテナの前記クロック・スピードを調節する、
請求項2に記載の
方法。
【請求項5】
前記対応するコンテナをモニタすることが、現在のコンテナ情報を周期的に集めることを含み、
前記命令の実行を調整する必要性を検出することが、前記現在のコンテナ情報にさらに基づく、
請求項1に記載の
方法。
【請求項6】
前記クロック・スピードの調節の前記許される範囲を確立するために、現在のハードウェアに従って、前記関与しているサービスに利用可能なクロック・スピードを決定すること
をさらに含む、請求項1に記載の
方法。
【請求項7】
請求項1~6の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項8】
請求項7に記載の前記コンピュータ・プログラムを、コンピュータ可読ストレージ媒体に記憶した、ストレージ媒体。
【請求項9】
請求項1~6の何れか1項に記載の方法を、コンピュータ・ハードウェアによって実行する、コンピュータ・システム。
【国際調査報告】