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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7556654異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散
<>
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図1
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図2
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図3
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図4
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図5
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図6
  • 特許-異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】異なるコンピューティング・パラダイム内の計算されたコンピュート・グラビティに基づく計算作業負荷の分散
(51)【国際特許分類】
   G06F 9/50 20060101AFI20240918BHJP
【FI】
G06F9/50 150A
【請求項の数】 19
(21)【出願番号】P 2022540866
(86)(22)【出願日】2020-12-18
(65)【公表番号】
(43)【公表日】2023-03-13
(86)【国際出願番号】 IB2020062205
(87)【国際公開番号】W WO2021140394
(87)【国際公開日】2021-07-15
【審査請求日】2023-05-25
(31)【優先権主張番号】16/736,449
(32)【優先日】2020-01-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ボーマン、アーロン
(72)【発明者】
【氏名】ハマー、スティーブン
(72)【発明者】
【氏名】カノン、グレイ、フランクリン
(72)【発明者】
【氏名】クワトラ、シハル
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2011-070316(JP,A)
【文献】特表2019-521431(JP,A)
【文献】特開2018-147340(JP,A)
【文献】特表2014-501010(JP,A)
【文献】菊地 俊介 他,ノード間通信の優位性評価を目的としたFogコンピューティングテストベッドの構築に関する一検討,マルチメディア,分散,協調とモバイル(DICOMO2019)シンポジウム論文集 情報処理学会シンポジウムシリーズ Vol.2019 No.1 ,一般社団法人情報処理学会,2016年07月03日,第2019巻 第1号,第97頁-第104頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
(57)【特許請求の範囲】
【請求項1】
システムのインターネット内におけるクラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを、アルゴリズムのコンポーネント部分に対応する計算複雑性、コンピューティング・ノードの可用性、及びコンピューティング・ノードの計算作業負荷適合性に基づいて計算することと、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、前記アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させることと、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させることと
を含む方法。
【請求項2】
前記アルゴリズムの各々のコンポーネント部分に対応するそれぞれの計算作業負荷の結果を、計算を繰り返さずに前記結果を他のクライアント・コンピューティング・ノードに提供するコンテンツ配信ネットワーク・エッジ・サーバ上にキャッシュすることをさらに含む、請求項1に記載の方法。
【請求項3】
前記システムのインターネットの前記クラウド・コンピューティング・パラダイム内に配置された前記アルゴリズムのコンポーネント部分を識別することをさらに含む、請求項1に記載の方法。
【請求項4】
前記アルゴリズムのコンポーネント部分を前記システムのインターネット内にデプロイするための入力を受け取ることと、
前記システムのインターネット内にデプロイされる前記アルゴリズムの前記コンポーネント部分に関して、前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及び前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードの前記コンピュート・グラビティを計算することと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及び前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードに対応する前記コンピュート・グラビティに基づいて、前記アルゴリズムの前記コンポーネント部分をデプロイするために、前記システムのインターネット内の最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードを決定することと、
前記アルゴリズムの前記コンポーネント部分を、前記システムのインターネット内の前記最高コンピュート・グラビティ・スコアを有する前記コンピューティング・ノードにデプロイすることと
をさらに含む、請求項4に記載の方法。
【請求項6】
システムのインターネット内におけるクラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算することと、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させることと、
前記クラウド・コンピューティング・パラダイムのクラウド・コンテナを移動させて、異なるコンピューティング・パラダイム及びコンピューティング・ノードの間で分散された全計算作業負荷の結果を生成するために用いられる異なるコンピューティング・パラダイムとコンピューティング・ノードとの組み合わせである創発的クラウドを形成することと、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させることと
を含む方法。
【請求項7】
ラウド・コンピューティング・パラダイムの各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイムの各々のコンピューティング・ノード、及びコンテンツ配信ネットワーク・コンピューティング・パラダイムの各々のエッジ・コンピューティング・ノードを識別することと、
前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード、前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノード、及び前記コンテンツ配信ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノードの識別に基づいて、システムのインターネットを形成することと
前記システムのインターネット内における前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及び前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算することと、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させることと、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させることと
を含む方法。
【請求項8】
システムのインターネット内におけるクラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算することと、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させることと、
アルゴリズム転送パイプラインが、データを前処理して、目標のエッジ・コンピューティング・ノードによる計算のためのデータを準備することと、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させることと
を含む方法。
【請求項9】
前記クラウド・コンピューティング・パラダイム内のコンピューティング・ノードは、集中型古典的コンピュータ及び集中型量子コンピュータを含み、前記クライアント・ネットワーク・コンピューティング・パラダイム内のコンピューティング・ノードは、エッジ・コンピュータを含む、請求項1に記載の方法。
【請求項10】
前記アルゴリズムは、複雑な人工知能コンポーネントを有する人工知能アプリケーションである、請求項1に記載の方法。
【請求項11】
バス・システムと、
前記バス・システムに接続された、プログラム命令を格納するストレージ・デバイスと、
前記バス・システムに接続されたプロセッサと
を備え、
前記プロセッサは、
システムのインターネット内におけるクラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを、アルゴリズムのコンポーネント部分に対応する計算複雑性、コンピューティング・ノードの可用性、及びコンピューティング・ノードの計算作業負荷適合性に基づいて計算し、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、前記アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させ、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させる
ためのプログラム命令を実行する、
コンピュータ・システム。
【請求項12】
前記プロセッサは、
前記アルゴリズムの各々のコンポーネント部分に対応するそれぞれの計算作業負荷の結果を、計算を繰り返さずに前記結果を他のクライアント・コンピューティング・ノードに提供するコンテンツ配信ネットワーク・エッジ・サーバ上にキャッシュする
ためのプログラム命令をさらに実行する、請求項11に記載のコンピュータ・システム。
【請求項13】
前記プロセッサは、
前記システムのインターネットの前記クラウド・コンピューティング・パラダイム内に配置された前記アルゴリズムのコンポーネント部分を識別する
ためのプログラム命令をさらに実行する、請求項11に記載のコンピュータ・システム。
【請求項14】
前記プロセッサは、
前記アルゴリズムのコンポーネント部分を前記システムのインターネット内にデプロイするための入力を受け取り、
前記システムのインターネット内にデプロイされる前記アルゴリズムの前記コンポーネント部分に関して、前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及び前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードの前記コンピュート・グラビティを計算する
ためのプログラム命令をさらに実行する、請求項11に記載のコンピュータ・システム。
【請求項15】
前記プロセッサは、
前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及び前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードに対応する前記コンピュート・グラビティに基づいて、前記アルゴリズムの前記コンポーネント部分をデプロイするために、前記システムのインターネット内の最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードを決定し、
前記アルゴリズムの前記コンポーネント部分を、前記システムのインターネット内の前記最高コンピュート・グラビティ・スコアを有する前記コンピューティング・ノードにデプロイする
ためのプログラム命令をさらに実行する、請求項14に記載のコンピュータ・システム。
【請求項16】
バス・システムと、
前記バス・システムに接続された、プログラム命令を格納するストレージ・デバイスと、
前記バス・システムに接続されたプロセッサと
を備え、
前記プロセッサは、
システムのインターネット内におけるクラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算し、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させ、
前記クラウド・コンピューティング・パラダイムのクラウド・コンテナを移動させて、異なるコンピューティング・パラダイム及びコンピューティング・ノードの間で分散された全計算作業負荷の結果を生成するために用いられる異なるコンピューティング・パラダイムとコンピューティング・ノードとの組み合わせである創発的クラウドを形成し、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させる
ためのプログラム命令を実行する、コンピュータ・システム。
【請求項17】
バス・システムと、
前記バス・システムに接続された、プログラム命令を格納するストレージ・デバイスと、
前記バス・システムに接続されたプロセッサと
を備え、
前記プロセッサは、
ラウド・コンピューティング・パラダイムの各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイムの各々のコンピューティング・ノード、及びコンテンツ配信ネットワーク・コンピューティング・パラダイムの各々のエッジ・コンピューティング・ノードを識別し、
前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード、前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノード、及び前記コンテンツ配信ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノードの識別に基づいて、前記システムのインターネットを形成し、
前記システムのインターネット内における前記クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及び前記クライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算し、
前記システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、アルゴリズムの各々のコンポーネント部分を、前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散させ、
前記アルゴリズムの各々のコンポーネント部分の計算作業負荷を、処理のために、前記アルゴリズムの対応するコンポーネント部分を有する前記クラウド・コンピューティング・パラダイム及び前記クライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散させる
ためのプログラム命令を実行する、コンピュータ・システム。
【請求項18】
請求項1から請求項10までのいずれか1項に記載の方法をコンピュータに実行させるプログラム命令を含むコンピュータ・プログラム。
【請求項19】
請求項18に記載のコンピュータ・プログラムを格納したコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般にコンテンツ配信ネットワークに関し、より具体的には、複雑な人工知能コンポーネントを有する大規模アプリケーションの計算作業負荷を異なるコンピューティング・パラダイムのコンピューティング・ノードの間に分散させるために、システムのインターネット(Internet of Systems)の異なるコンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算することに関する。
【背景技術】
【0002】
コンテンツ配信ネットワークは、データ・コンテンツの高速配信をもたらすように連携する、地理的に分散したサーバ群を指す。コンテンツ配信ネットワークは、例えば、HTMLページ、ジャバスクリプト・ファイル、スタイルシート、画像、ビデオなどのようなデータ・コンテンツをロードするために必要なアセットの迅速な転送を可能にする。コンテンツ配信ネットワーク・サービスの人気は増大し続け、例えば、ソーシャル・メディア・ウェブサイトなどの主要なウェブサイトからのトラフィックを含む、大部分のウェブ・トラフィックは、現在、コンテンツ配信ネットワークによって供給される。
【0003】
コンテンツ配信ネットワークは、コンテンツをホストするものではなく、ウェブ・ホスティングの必要性を代替することはできないが、コンテンツ配信ネットワークは、ネットワーク・エッジでのコンテンツのキャッシュを支援し、このことがウェブサイトの性能を向上させる。多くのウェブサイトは、それらの性能ニーズを従来のホスティング・サービスに適合させることに苦労しているが、このことが、これらのウェブサイトがコンテンツ配信ネットワークを選択する理由である。ホスティング帯域を減らすためにキャッシングを利用すること、サービスの中断を防ぐために支援すること、及びセキュリティを向上させることによって、コンテンツ配信ネットワークは、伝統的なウェブ・ホスティングに関連付けられる問題の幾つかを解消するための人気のある選択となる。
【0004】
コンテンツ配信ネットワークは、異なるネットワークの間の交換ポイントにあるサーバに配置される。これらの交換ポイントは、異なるデータ・プロバイダが、それぞれのネットワーク上で発生するトラフィックへのアクセスを互いに提供するために接続する主要な場所である。コンテンツ配信ネットワーク・エッジ・サーバは、ネットワークの論理的末端又はエッジに存在するコンピュータである。エッジ・サーバは、異なるネットワークの間の接続部として機能することが多い。コンテンツ配信ネットワーク・エッジ・サーバの主要な目的は、データ・コンテンツを、要求中のクライアント・デバイスの可能な限り近くにキャッシュし、それにより、遅れを減らしてロード時間を改善することである。
【0005】
フォグ・コンピューティングは、エッジ・サーバを使用して、相当量の計算、ストレージ、及び通信を行うアーキテクチャである。フォグ・ネットワーキングは、制御プレーン及びデータ・プレーンから構成される。例えば、データ・プレーン上で、フォグ・コンピューティングは、データセンタ内のサーバと反対側のネットワークのエッジに常駐するコンピューティング・サービスを可能にする。クラウド・コンピューティングと比べると、フォグ・コンピューティングは、サービスのより良い質を達成するために、エンド・ユーザ及びクライアント・デバイスへの近接性、高密度の地理的分布及びローカル・リソースのプール化、遅延削減及びバックボーン帯域節約、及び、優れたユーザ体験をもたらすエッジ分析/ストリーム・マイニングに重きを置く。フォグ・コンピューティングは、エンドポイント・デバイスとクラウド・コンピューティング・データセンタとの間で、計算、ストレージ及びネットワーキング・サービスのオペレーションを容易にする。エッジ・コンピューティングは、典型的には、サービスがインスタンス化される場所を指すが、フォグ・コンピューティングは、通信、コンピューティング、ストレージ・リソース、及びサービスを、エンド・ユーザの制御下にあるデバイス及びシステム上に、又はその近くに、分散させることを意味する。
【0006】
複雑なデータ処理パイプラインを有する大規模コンピューティング・システムは、一般にハイブリッド・クラウド上で実行される。データ処理パイプラインは、直列に接続されたデータ処理デバイスのセットであり、1つのデバイスの出力が、直列の次のデバイスの入力となる。一時的なサービスが、ハイブリッド・クラウドを通して、データのペイロードを受け入れるステートレス・マイクロサービスとして利用可能である。例えば、ドッカー(Docker)を有するクバネティス(Kubernetes)のようなサービスとしてのプラットフォームは、これらの計算集約的なアプリケーションのための多くの計算リソースを提供する。高い入力/出力ネットワーク帯域、及び特別なハードウェア要件を必要とする他のコンピュータ・アルゴリズムは、従来のクバネティスが供給できない仮想マシンを有するサービス又は共用可能マシンとしてのインフラストラクチャを必要とする。しかし、従来のクラウド・コンピューティング・パラダイムは、ユーザの要求が高度な場合には破綻する。
【0007】
これらの高度なユーザ要求の場合において、配信元サーバは、コンテンツ配信ネットワーク・エッジ・サーバにより遮蔽される。エッジ・サーバは、サーバの静的コンテンツに対してウェブ・アクセラレーション層を提供する。しかし、人工知能に基づくアプリケーション及び他の動的コンテンツ生成プラットフォームは、毎日、ペタバイトのデータを作成する。情報量の多さは、特徴空間の組合せ爆発に代表される。数十億のリクエスト及び動的に生成されるデータの組み合わせは、コンテンツ配信ネットワーク・エッジ・コンピューティング及びハイブリッド・クラウド・コンピューティングを不十分なものにしている。
【発明の概要】
【0008】
1つの例示的な実施形態により、計算作業負荷を異なるコンピューティング・パラダイムのコンピューティング・ノードの間に分散させる、コンピュータ実施の方法が提供される。システムのインターネット内におけるクラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パタダイム内の各々のコンピューティング・ノードのコンピュート・グラビティが計算される。システムのインターネット内のそれぞれのコンピューティング・ノードの計算されたコンピュート・グラビティに基づいて、アルゴリズムの各々のコンポーネント部分が、クラウド・コンピューティング・パラダイム及びクライアント・ネットワーク・コンピューティング・パラダイムの適切なコンピューティング・ノードに分散される。アルゴリズムの各々のコンポーネント部分の計算作業負荷は、処理のために、アルゴリズムの対応するコンポーネント部分を有するクラウド・コンピューティング・パラダイム及びクライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのコンピューティング・ノードに分散される。他の例示的な実施形態により、計算作業負荷を異なるコンピューティング・パラダイムのコンピューティング・ノードの間に分散させるためのコンピュータ・システム及びコンピュータ・プログラム製品が提供される。
【0009】
種々の例示的な実施形態により、アルゴリズムの各々のコンポーネント部分に対応するそれぞれの計算作業負荷の結果は、計算を繰り返さずにその結果を他のクライアント・コンピューティング・ノードに提供するコンテンツ配信ネットワーク・エッジ・サーバ上にキャッシュされる。さらに、種々の例示的な実施形態は、システムのインターネットのクラウド・コンピューティング・パラダイム内に配置されたアルゴリズムのコンポーネント部分を識別する。さらに、種々の例示的な実施形態は、システムのインターネット内にデプロイされるアルゴリズムのコンポーネント部分に関して、アルゴリズムのコンポーネント部分をシステムのインターネット内にデプロイし、クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算するための入力を受け取る。次に、種々の例示的な実施形態は、クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード及びクライアント・ネットワーク・コンピューティング・パラダイム内の各々のコンピューティング・ノードに対応するコンピュート・グラビティに基づいて、アルゴリズムのコンポーネント部分をデプロイするために、システムのインターネット内の最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードを決定し、アルゴリズムのコンポーネント部分を、システムのインターネット内の最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードにデプロイする。
【0010】
結果として、種々の例示的な実施形態は、システムのインターネットの異なるコンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算することにより、アルゴリズムのコンポーネント部分の計算作業負荷を異なるコンピューティング・パラダイムのコンピューティング・ノードの間に分散させるための、データ処理の分野における技術的効果及び実際的アプリケーションを提供する。従って、種々の例示的な実施形態の利点は、異なるコンピューティング・パラダイム内のコンピューティング・ノードの作業負荷の低減、ネットワーク遅延の低減、作業負荷時間の低減、データ転送速度及び性能の向上、並びにユーザ要求に対する応答時間の低減を含む。
【図面の簡単な説明】
【0011】
次に、本発明の実施形態が、添付の図面を参照しながら、単なる例として説明されることになる。
【0012】
図1】例示的な実施形態を実施することができるデータ処理システムのネットワークの図解的な表現である。
図2】例示的な実施形態を実施することができるデータ処理システムの図である。
図3】例示的な実施形態を実施することができるクラウド・コンピューティング環境を示す図である。
図4】例示的な一実施形態によるクラウド・コンピューティング環境の抽象化層の一例を示す図である。
図5】例示的な一実施形態によるシステムのインターネットの一例を示す図である。
図6】例示的な一実施形態によるシステムのインターネット内に人工知能アプリケーションをデプロイするためのプロセスを示すフローチャートである。
図7】例示的な一実施形態によるシステムのインターネット内のコンピュート・グラビティに基づいて人工知能アプリケーションのコンポーネント部分の計算作業負荷を分散させるためのプロセスを示すフローチャートである。
【発明を実施するための形態】
【0013】
本発明は、システム、方法、もしくはコンピュータ・プログラム製品又はそれらの組み合わせを任意の可能な技術的詳細レベルで統合したものとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有する1つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
【0014】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【0015】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納するためにコンピュータ可読プログラム命令を転送する。
【0016】
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語、又は類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部がリモートコンピュータ上で実行される場合もあり、又は完全にリモートコンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、リモートコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個別化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【0017】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施できることが理解されるであろう。
【0018】
これらのコンピュータ可読プログラム命令を、コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令はまた、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス又はそれらの組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、その中に格納された命令を有するコンピュー可読媒体が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
【0019】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連のオペレーション・ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
【0020】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及びオペレーションを示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実施するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には1つのステップとして同時に、実質的に同時に、部分的に又は完全に時間的に重なる様式で達成されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方内のブロックの組み合わせは、指定された機能又はオペレーションを実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実施できることにも留意されたい。
【0021】
次に図を参照すると、特に、図1図5を参照すると、例示的な実施形態を実施することができるデータ処理環境の図が与えられる。図1~5は例として意図しただけのものであり、種々の実施形態を実施することができる環境に関する何らかの限定を主張するか又は暗示することを意図したものではないことを認識されたい。図示された環境に多くの修正を加えることができる。
【0022】
図1は、例示的な実施形態を実施することができるデータ処理システムのネットワークの図形表示を示す。ネットワーク・データ処理システム100は、コンピュータ、データ処理システム、及び、例えば、例示的な実施形態を実施することができるシステムのインターネットのような他のデバイス、のネットワークである。ネットワーク・データ処理システム100は、ネットワーク102を含み、ネットワーク102は、ネットワーク・データ処理システム100内で互いに接続されたコンピュータ、データ処理システム、及び他のデバイスの間の通信リンクを提供するために用いられる媒体である。ネットワーク102は、例えば、有線通信リンク、無線通信リンク、光ファイバ・ケーブルなどの接続を有するエッジ・サーバを含むコンテンツ配信ネットワークとすることができる。
【0023】
図示された例において、サーバ104及びサーバ106は、ストレージ108と共に、ネットワーク102に接続する。サーバ104及びサーバ106は、例えば、ネットワーク102への高速接続を有するサーバ・コンピュータとすることができる。さらに、サーバ104及びサーバ106は、例えば、人工知能データ・サービスなどのような1つ又は複数のサービスをクライアント・デバイスに供給することができる。さらに、サーバ104及びサーバ106は、それぞれ、クラウド・コンピューティング・パラダイム又は環境における集中型の古典コンピュータ及び量子コンピュータのような複数のサーバ・コンピュータを表すことができることに留意されたい。
【0024】
クライアント110、クライアント112、及びクライアント114もまたネットワーク102に接続する。クライアント110、112、及び114は、サーバ104及びサーバ106のクライアントである。クライアント110、112、及び114は、複数のクライアント側のコンピューティング・ノード又はクライアント・ネットワーク・コンピューティング・パラダイム若しくは環境内のデバイスを表す。この例において、クライアント110、112、及び114は、ネットワーク102への有線通信リンクを有するデスクトップ又はパーソナル・コンピュータとして示されている。しかし、クライアント110、112、及び114は単なる例であり、他のタイプのデータ処理システム、例えば、ネットワーク102への有線又は無線通信リンクを有する、ネットワーク・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、スマートフォン、スマート・ウォッチ、スマート・テレビジョン、スマート家電、スマート・ホーム、スマート車両、ゲーム・デバイス、キオスクなどを表すことができることに留意されたい。クライアント110、112、及び114のユーザは、サーバ104及びサーバ106によって提供されるサービスを要求するために、クライアント110、112、及び114を利用することができる。
【0025】
ストレージ108は、構造化形式又は非構造化形式の任意のタイプのデータを格納することができるネットワーク・ストレージ・デバイスである。さらに、ストレージ108は、複数のネットワーク・ストレージ・デバイスを表すことができる。さらに、ストレージ108は、人工知能アプリケーション又はコンピュータ・アルゴリズムを格納することができ、これらは、複数のコンポーネント部分、それぞれの人工知能アプリケーション又はコンピュータ・アルゴリズムの複数のコンポーネント部分の識別子及びネットワーク・アドレス、それぞれの人工知能アプリケーション又はアルゴリズムのそれぞれのコンポーネント部分の計算複雑性(computational complexity)及び計算要件などを有する。さらに、ストレージ108は、例えば、クライアント・デバイスのユーザに関連付けられるユーザ名、パスワード、及び生体データを含むことができる認証又は資格証明データなどの他のタイプのデータを格納することができる。
【0026】
さらに、ネットワーク・データ処理システム100は、任意の数の付加的なサーバ、クライアント、ストレージ・デバイス、及び図示されていない他のデバイスを含むことができることに留意されたい。ネットワーク・データ処理システム100内に配置されるプログラム・コードは、コンピュータ可読ストレージ媒体に格納することができ、コンピュータ又は他のデータ処理デバイスへ使用のためにダウンロードすることができる。例えば、プログラム・コードは、サーバ104上のコンピュータ可読ストレージ媒体に格納することができ、クライアント110上での使用のためにクライアント110へネットワーク102を通してダウンロードすることができる。
【0027】
図示された例において、ネットワーク・データ処理システム100は、例えば、インターネット、イントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、遠距離通信ネットワーク、又はそれらの任意の組み合わせなどの多くの異なるタイプの通信ネットワークとして実装することができる。図1は、単なる一例として意図したものであり、異なる例示的な実施形態に対するアーキテクチャ上の限定として意図したものではない。
【0028】
次に図2を参照すると、例示的な一実施形態によるデータ処理システムの図が描かれている。データ処理システム200は、例示的な実施形態のプロセスを実施するコンピュータ可読プログラム・コード又は命令を配置することができる、図1のサーバ104又はクライアント110のようなコンピュータの一例である。この例において、データ処理システム200は、プロセッサ・ユニット204、メモリ206、永続的ストレージ208、通信ユニット210、入力/出力(I/O)ユニット212、及びディスプレイ214の間の通信をもたらす通信ファブリック202を含む。
【0029】
プロセッサ・ユニット204は、メモリ206にロードすることができるソフトウェア・アプリケーション又はプログラムの命令を実行するように機能する。プロセッサ・ユニット204は、特定の実施に応じて、1つ又は複数のハードウェア・プロセッサ・デバイスのセットとすることができ、又は、マルチ・コア・プロセッサとすることができる。
【0030】
メモリ206及び永続的ストレージ208は、ストレージ・デバイス216の例である。コンピュータ可読ストレージ・デバイスは、例えば、限定なしに、データ、関数形式のコンピュータ可読プログラム・コード、及び/又は、他の適切な一時的ベース若しくは永続的ベースの情報などの情報を格納することができるハードウェアの任意の部分である。さらに、コンピュータ可読ストレージ・デバイスは、伝搬媒体を排除する。メモリ206は、これらの例において、例えば、ランダム・アクセス・メモリ(RAM)、又は、任意の他の適切な揮発性若しくは不揮発性ストレージ・デバイス、例えば、フラッシュ・メモリとすることができる。永続的ストレージ208は、特定の実施に応じて、種々の形態を取ることができる。例えば、永続的ストレージ208は、1つ又は複数のデバイスを含むことができる。例えば、永続的ストレージ208は、ディスク・ドライブ、ソリッド・ステート・ドライブ、書き換え可能光ディスク、書き換え可能磁気テープ、又はこれらのある組み合わせとすることができる。永続的ストレージ208によって用いられる媒体は、取り外し可能とすることができる。例えば、取り外し可能ハード・ドライブを永続的ストレージ208のために用いることができる。
【0031】
通信ユニット210は、この例においては、図1のネットワーク102のようなネットワークを介して、他のコンピュータ、データ処理システム、及びデバイスとの通信を提供する。通信ユニット210は、物理的及び無線通信リンクの両方の使用による通信を提供することができる。物理的通信リンクは、例えば、有線、ケーブル、ユニバーサル・シリアル・バス、又は、任意の他の物理的技術を利用して、データ処理システム200のための物理的通信リンクを確立することができる。無線通信リンクは、例えば、短波、高周波数、超高周波数、マイクロ波、ワイファイ(Wi-Fi)、ブルーツース(登録商標)技術、移動通信のためのグローバル・システム(GSM)、符号分割多重アクセス(CDMA)、第2世代(2G)、第3世代(3G)、第4世代(4G)、4Gロング・ターム・エボリューション(LTE)、LTEアドバンスト、第5世代(5G)、又は、任意の他の無線通信技術若しくは標準を利用して、データ処理システム200のための無線通信リンクを確立することができる。
【0032】
入力/出力ユニット212は、データ処理システム200に接続することができる他のデバイスとのデータの入力及び出力を可能にする。例えば、入力/出力ユニット212は、キーパッド、キーボード、マウス、マイクロフォン、及び/又は幾つかの他の適切な入力デバイスを通して、ユーザ入力のための接続を提供することができる。ディスプレイ214は、情報をユーザに表示するための機構を提供し、例えば、ユーザが、ユーザ・インタフェースを通してスクリーン上で選択を行うか又は入力データを作成することを可能にするタッチ・スクリーン機能を含むことができる。
【0033】
オペレーティング・システム、アプリケーション及び/又はプログラムのための命令は、通信ファブリック202を通してプロセッサ・ユニット204と通信するストレージ・デバイス216に配置することができる。この例示的な例において、命令は、永続的ストレージ208上に機能的な形態で存在する。これらの命令は、プロセッサ・ユニット204による実行のためにメモリ206にロードすることができる。種々の実施形態のプロセスは、メモリ206のようなメモリに配置することができるコンピュータ実施命令を用いて行うことができる。これらのプログラム命令は、プロセッサ・ユニット204内のプロセッサによって読み出し及び実行することができる、プログラム・コード、コンピュータ使用可能プログラム・コード、又はコンピュータ可読プログラム・コードと呼ばれる。プログラム命令は、種々の実施形態において、メモリ206又は永続的ストレージ208のような、種々の物理的コンピュータ可読ストレージ・デバイス上で具体化することができる。
【0034】
プログラム・コード218は、選択的に取り外し可能なコンピュータ可読媒体220上に機能的な形態で配置され、プロセッサ・ユニット204による実行のためにデータ処理システム200へロード又は転送することができる。プログラム・コード218及びコンピュータ可読媒体220は、コンピュータ・プログラム製品222を形成する。一例において、コンピュータ可読媒体220は、コンピュータ可読ストレージ媒体224又はコンピュータ可読信号媒体226とすることができる。コンピュータ可読ストレージ媒体224は、例えば、永続的ストレージ208の一部であるハード・ドライブなどのストレージ・デバイスへの転送のために、永続的ストレージ208の一部であるドライブ又は他のデバイスに挿入又は配置される光ディスク又は磁気ディスクを含むことができる。コンピュータ可読ストレージ媒体224はまた、ハード・ドライブ、サム・ドライブ、又はデータ処理システム200に接続されるフラッシュ・メモリのような永続的ストレージの形態を取ることができる。幾つかの場合において、コンピュータ可読ストレージ媒体224は、データ処理システム200から取り外し可能ではない場合がある。
【0035】
代替的に、プログラム・コード218は、コンピュータ可読信号媒体226を用いて、コンピュータ処理システム200へ転送することができる。コンピュータ可読信号媒体226は、例えば、プログラム・コード218を含む伝搬データ信号とすることができる。例えば、コンピュータ可読信号媒体226は、電磁気信号、光信号、及び/又は任意の他の適切なタイプの信号とすることができる。これらの信号は、無線通信リンク、光ファイバ・ケーブル、同軸ケーブル、有線、及び/又は任意の他の適切なタイプの通信リンクのような通信リンク上で送信することができる。換言すれば、通信リンク若しくは接続又はその両方は、例示的な例では、物理的なもの又は無線とすることができる。コンピュータ可読媒体220はまた、プログラム・コードを含む通信リンク又は無線送信のような非有形媒体の形態を取ることができる。
【0036】
幾つかの例示的な実施形態において、プログラム・コード218は、データ処理システム200内での使用のために、ネットワーク上で、コンピュータ可読信号媒体226を通して、別のデバイス又は処理システムから永続的ストレージ208にダウンロードすることができる。例えば、あるデータ処理システム内のコンピュータ可読ストレージ媒体に格納されているプログラム・コードを、ネットワーク上で、そのデータ処理システムからデータ処理システム200にダウンロードすることができる。プログラム・コード218を提供するデータ処理システムは、プログラム・コード218を格納し送信することができる、サーバ・コンピュータ、クライアント・コンピュータ、又は、いずれかの他のデバイスとすることができる。
【0037】
データ処理システム200に関して示される種々のコンポーネントは、種々の実施形態を実施することができる方式に対するアーキテクチャ上の限定をもたらすことを意図したものではない。種々の例示的な実施形態は、データ処理システム200に関して図示されたものに加えられる、又はその替わりの、コンポーネントを含むデータ処理システムで実施することができる。図2に示される他のコンポーネントは、図示された例示的な例から変更することができる。種々の実施形態は、プログラム・コードを実行することができる任意のハードウェア・デバイス又はシステムを用いて実施することができる。一例として、データ処理システム200は、無機コンポーネントと統合された有機コンポーネントを含むものとするか、若しくは、人を除く有機コンポーネントで全体的に構成されたものとするか、又は、これらの両方とすることができる。例えば、ストレージ・デバイスは、有機半導体で構成することができる。
【0038】
別の例として、データ処理システム200のコンピュータ可読ストレージ・デバイスは、データを格納することができる任意のハードウェア装置とすることができる。メモリ206、永続的ストレージ208、及びコンピュータ可読ストレージ媒体224は、有形形態の物理的ストレージ・デバイスの例である。
【0039】
別の例において、バス・システムは、通信ファブリック202を実装するために用いることができ、システム・バス又は入力/出力バスのような1つ又は複数のバスで構成することができる。当然のことながら、バス・システムは、バス・システムに取り付けられた種々のコンポーネント又はデバイスの間のデータ転送を提供する、任意の適切なタイプのアーキテクチャを用いて実装することができる。さらに、通信ユニットは、データを送信及び受信するために用いられるモデム又はネットワーク・アダプタのような、1つ又は複数のデバイスを含むことができる。さらに、メモリは、例えば、メモリ206、又は通信ファブリック202内に存在し得るインターフェース及びメモリ・コントローラ・ハブ内に見出されるようなキャッシュとすることができる。
【0040】
本開示は、クラウド・コンピューティングに関する詳細な説明を含むが、本明細書で列挙される教示の実装は、クラウド・コンピューティング環境に限定されないことが理解される。むしろ、例示的な実施形態は、現在知られているか又は将来開発される、任意の他のタイプのコンピューティング環境と組み合わせて実装することができる。クラウド・コンピューティングは、例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械、及びサービスなどの構成可能なコンピューティング・リソースの共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配信のモデルであり、サービスのプロバイダとの最小限の管理作業又は相互作用で迅速にプロビジョニング及びリリースを行うことができる。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・モデルを含むことができる。
【0041】
その特性は、例えば、オンデマンド・セルフ・サービス、広範なネットワーク・アクセス、リソース・プール化、迅速な弾力性、及び測定サービスを含むことができる。オンデマンド・セルフ・サービスは、クラウド利用者が、サーバ時間及びネットワーク・ストレージなどのコンピューティング能力を、サービス・プロバイダとの人間的な対話を必要とすることなく、必要に応じて自動的に、一方向的に提供することを可能にする。広範なネットワーク・アクセスは、ネットワーク上で利用可能であり、例えば、モバイル・フォン、ラップトップ、及びパーソナル情報端末などの異種のシン又はシック・クライアント・プラットフォームによる使用を促進する標準的な機構を通してアクセスされる性能を提供する。リソース・プール化は、プロバイダの計算リソースをプールし、マルチ・テナント・モデルを用いて複数の利用者に提供することを可能にするものであり、種々の物理的及び仮想リソースが要求に従って動的に割り当て又は再割り当てされる。利用者は、一般的に、提供されるリソースの正確な場所を制御したりその場所を知ることはないが、例えば、国、州、又はデータ・センタなどのより高いレベルの抽象度で場所を指定することができる場合がある点で、場所に依存しないと言える。迅速な弾力性は、迅速にスケール・アウトし、迅速にリリースしてスケール・インするように、急速かつ弾力的に、場合によっては自動的に、プロビジョニングすることができる能力を提供する。利用者にとって、プロビジョニングのために利用可能な能力は、多くの場合、無制限であり、いつでも任意の量を購入することができるように見える。測定サービスは、例えば、ストレージ、処理、帯域幅、及びアクティブ・ユーザ・アカウントなどのサービスのタイプに適した抽象度の計測能力を活用することによって、クラウド・システムがリソースの使用を自動的に制御し、最適化することを可能にする。リソースの使用を監視し、制御し、報告することで、利用するサービスのプロバイダ及び利用者の両方に透明性を提供することができる。
【0042】
サービス・モデルは、例えば、サービスとしてのソフトウェア(Software as a Service, SaaS)、サービスとしてのプラットフォーム(Platform as a Service, PaaS)、及び、サービスとしてのインフラストラクチャ(Infrastructure as a Service, IaaS)を含むことができる。サービスとしてのソフトウェアは、利用者に与えられる、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用するための能力である。このアプリケーションは、種々のクライアント・デバイスから、ウェブ・ブラウザ(例えば、ウェブ・ベースのe-メール)などのシン・クライアント・インターフェースを通して、アクセス可能である。利用者は、場合により限定されたユーザ特定のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション性能さえも含む、基盤となるクラウド・インフラストラクチャを管理又は制御しない。サービスとしてのプラットフォームは、プロバイダによってサポートされるプログラミング言語又はツールを用いて作成された、利用者が作成又は取得したアプリケーションをクラウド・インフラストラクチャ上にデプロイするために、利用者に提供される能力である。利用者は、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基盤となるクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーションと、場合によりアプリケーション・ホストティング環境の構成とを、制御する。サービスとしてのインフラストラクチャは、処理、ストレージ、ネットワーク、及び他の基本的計算リソースを提供して、利用者が、オペレーティング・システム及びアプリケーションを含むことができる任意のソフトウェアをデプロイして実行することができるようにする能力である。利用者は基盤となるクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに関する制御を有し、場合により、例えば、ホスト・ファイアウォールなどの選ばれたネットワーク・コンポーネントの限定された制御を有する。
【0043】
デプロイメント・モデルは、例えば、プライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、及びハイブリッド・クラウドを含むことができる。プライベート・クラウドは、1つの組織のためだけにオペレーションされるクラウド・インフラストラクチャである。プライベート・クラウドは、その組織又はサード・パーティによって管理することができ、オン・プレミス又はオフ・プレミスで存在することができる。コミュニティ・クラウドは、幾つかの組織によって共用されるクラウド・インフラストラクチャであり、例えば、ミッション、セキュリティ要件、ポリシ、及びコンプライアンス考慮などの関心事を共有する特定のコミュニティをサポートする。コミュニティ・クラウドは、その組織又はサード・パーティによって管理することができ、オン・プレミス又はオフ・プレミスで存在することができる。パブリッド・クラウドは、一般大衆又は大きな産業グループが利用できるようにされたクラウド・インフラストラクチャであり、クラウド・サービスを販売する組織によって所有される。ハイブリッド・クラウドは、例えば、プライベート・クラウド、コミュニティ・クラウド、及びパブリック・クラウドなど、2つ又はそれ以上のクラウドで構成されるクラウド・インフラストラクチャであり、これらのクラウドは、固有のエンティティとして存続するが、例えば、クラウドの間負荷分散のためのクラウド・バースティングのような、データ及びアプリケーションの可搬性を可能にする標準技術又は専有技術によって結合される。
【0044】
クラウド・コンピューティング環境は、無国籍、低結合、モジュール性、及び、意味相互運用性に焦点を当てたサービス志向性のものである。クラウド・コンピューティングの中心部には、相互接続されたノードのネットワークを備えたインフラストラクチャがある。
【0045】
次に図3を参照すると、例示的な実施形態を実施することができるクラウド・コンピューティング環境を示す図が描かれている。この例示的な例において、クラウド・コンピューティング環境300は、クラウド利用者によって使用される、例えば、携帯情報端末若しくはスマートフォン320A、デクトップ・コンピュータ320B、ラップトップ・コンピュータ320C、及び/又は自動車コンピュータ・システム320Nなどのローカル・コンピューティング・デバイスが通信することができる1つ又は複数のクラウド・コンピューティング・ノード310のセットを含む。クラウド・コンピューティング・ノード310は、例えば、図1のサーバ104及びサーバ106とすることができ、古典的コンピュータ及び量子コンピュータを含むことができる。ローカル・コンピューティング・デバイス320A~320Nは、例えば、図1のクライアント110~114とすることができる。
【0046】
クラウド・コンピューティング・ノード310は、互いに通信することができ、物理的に又は仮想的に、上記のプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はそれらの組み合わせのような、1つ又は複数のネットワークにグループ化することができる。このことは、クラウド利用者がローカル・コンピューティング・デバイス320A~320Nのようなローカル・コンピューティング・デバイス上にリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム若しくはソフトウェア又はその両方を、クラウド・コンピューティング環境300が提供することを可能にする。ローカル・コンピューティング・デバイス320A~320Nのタイプは、例示のみであることを意図したものであること、及び、クラウド・コンピューティング・ノード310及びクラウド・コンピューティング環境300は、任意のタイプのコンピュータ化されたデバイスと、任意のタイプのネットワーク若しくはネットワーク・アドレス可能接続又は両方により、例えばウェブ・ブラウザを用いて、通信することができることが理解される。
【0047】
次に図4を参照すると、例示的な一実施形態による抽象化モデル層を示す図が描かれている。この例示的な例に示される機能抽象化層のセットは、図3のクラウド・コンピューティング環境300のようなクラウド・コンピューティング環境によって提供することができる。図4に示されるコンポーネント、層、及び機能は、例示のみを意図したものであり、本発明の実施形態はそれらに限定されないことをあらかじめ理解されたい。図示されているように、以下の層及び対応する機能が与えられる。
【0048】
クラウド・コンピューティング環境400の抽象化層は、ハードウェア及びソフトウェア層402、仮想化層404、管理層406、及び作業負荷層408を含む。ハードウェア及びソフトウェア層402は、クラウド・コンピューティング環境のハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントは、例えば、メインフレーム410、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ412、サーバ414、ブレード・サーバ416、ストレージ・デバイス418、並びにネットワーク及びネットワーキング・コンポーネント420を含むことができる。幾つかの例示的な実施形態において、ソフトウェア・コンポーネントは、例えば、ネットワーク・アプリケーション・サーバ・ソフトウェア422及びデータベース・ソフトウェア424を含むことができる。
【0049】
仮想化層404は、仮想エンティティの以下の例、仮想サーバ426、仮想ストレージ428、仮想プライベート・ネットワークを含む仮想ネットワーク430、仮想アプリケーション及びオペレーティング・システム432、並びに仮想クライアント434を提供することができる抽象化層を与える。
【0050】
一例において、管理層406は下記の機能を提供することができる。リソース・プロビジョニング436は、クラウド・コンピューティング環境内でタスクを実行するのに利用される計算リソース及び他のリソースの動的調達を提供する。計量及び価格設定438は、クラウド・コンピューティング環境内でリソースが利用される際の原価管理、及び、これらのリソースの消費に関する請求書作成又はインボイス作成を提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド利用者及びタスクに関する本人確認、並びにデータ及び他のリソースの保護を提供する。ユーザ・ポータル440は、利用者及びシステム管理者に、クラウド・コンピューティング環境へのアクアスを与える。サービス・レベル管理442は、要求されたサービス・レベルに適合するようにクラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル協定(SLA)計画及び遂行444は、SLAに従って将来の要求が予想されるクラウド・コンピューティング・リソースに関する事前配置及びその調達をも提供する。
【0051】
作業負荷層408は、クラウド・コンピューティング環境を利用できる機能の例を与える。作業負荷層408によって提供することができる例示的な作業負荷及び機能は、マッピング及びナビゲーション446、ソフトウェア開発及びライフサイクル管理448、仮想教室教育配信450、データ分析処理452、取引処理454、及び計算作業負荷分散管理456を含むことができる。
【0052】
例えば、物のインターネット(Internet of Things)のようなフォグ・コンピューティング・グラビティ・コンポーネントは、コンピュータ・アルゴリズムのどの部分を異なるコンピューティング・パラダイムに分けることができるかを示唆することができる。コンピュータ・アルゴリズムのステップは、特殊化されたハードウェアなどで並行に実行することができることに留意されたい。例示的な実施形態は、例示的な実施形態がコンピュータ・アルゴリズム及び対応する静的データをクライアント・デバイス・エッジにプッシュして計算することができるように、フォグ・コンピューティング・グラビティを計算する。例えば、スイフト(Swift)、C#、又はジャバスクリプト(JavaScript)などの種々のプログラミング言語によるクライアント・デバイス・エッジへのアルゴリズムの可動化は、フォグ・コンピューティングのパイプラインを作成する。
【0053】
例示的な実施形態は、各々のクライアント側エッジ・コンピュータがアルゴリズムの計算作業負荷の一部分を実行することができるように、コンピュータ・アルゴリズム又はアルゴリズムの構成部分をクライアント・デバイス・エッジに分散し、次いで、計算作業負荷のその部分の結果を、他のクライアント・コンピュータが計算を繰り返さずに利用するように、コンテンツ配信ネットワーク・エッジ・サーバ上にキャッシュする。例示的な実施形態は、フォグ・コンピューティング・グラビティに基づいて、アルゴリズムを分割し、転送する。フォグ・コンピューティング・グラビティは、特定の計算作業負荷が特定のエッジ・コンピューティング・ノードに適合することに基づいて、その計算作業負荷をそのエッジ・コンピューティング・ノード又はデバイスに引き寄せるものである。
【0054】
例示的な実施形態は、高度に複雑な人工知能コンポーネントを有する大規模人工知能アプリケーション内で、コンテンツ配信ネットワーク・エッジ・コンピューティングとハイブリッド・クラウド・コンピューティングとを橋渡しする。例えば、仮想プロスポーツ・アプリケーションは、14を超える人工知能データ・インサイト・サービス及び特注の数学及び機械学習手法を利用することができる。毎日、100億を超えるユーザが、クライアント・エンド・ユーザから要求し、人工知能データによりサービスを受け取ることができる。現時点では、コンテンツ配信ネットワーク・エッジ・コンピューティング及びハイブリッド・クラウド・コンピューティングは、例えば、チーム・ラインアップを最適化すること、プレーヤのトレードを示唆すること、又はチームの価値を評価することの組み合わせの特徴空間のために、人工知能データ・インサイトをあらかじめ計算することができない。例示的な実施形態は、人工知能アプリケーション(又はコンピュータ・アルゴリズム)の適切な構成部分を、フォグ・コンピューティング・グラビティを介してクライアント側エッジ・コンピュータ・ノードに引き寄せることを可能にする。
【0055】
例示的な実施形態は、コンピュータ・アルゴリズムの他の構成部分を、計算の別のパラダイム、例えば、量子コンピューティングなどに移行させることができる。量子コンピューティングは、この文脈内では、特定の問題のための計算加速器である。例示的な実施形態は、クラウド・コンピューティング・パラダイム内の量子コンピュータを用いることによって、アプリケーション及びサポート・ベクトル・マシンの訓練を加速することができる。サポート・ベクトル・マシンは、分類及び回帰分析のために用いられるデータを分析する、関連する学習アルゴリズムを有する教師付き学習モデルである。ニューロモルフィック・コンピュータ・チップ、例えば、ツルー・ノース・チップ(True North chip)などが、人工知能アプリケーションのようなニューラル・ネットワークの処理を加速することができる。
【0056】
例示的な実施形態は、計算作業負荷を、異なるコンピューティング・パラダイムで構成されるシステムのインターネットの内部の、ホスト・クラウド・ベースの古典的コンピュータ、ホスト・クラウド・ベースの量子コンピュータ、及び、クライアント・ネットワーク・エッジ・コンピュータの間に分散させる。例示的な実施形態は、異なるコンピューティング・パラダイムのコンピュータからの作業負荷計算の結果をコンテンツ配信ネットワーク・エッジ・サーバ上にキャッシュし、計算を繰り返さずにその結果をクライアント・ネットワーク・コンピューティング・ノードに提供する。フォグ・コンピューティング・グラビティを計算するとき、例示的な実施形態は、コンピュータ・アルゴリズムの種々のコンポーネントに関連する計算の複雑性、コンピューティング・ノードの可用性、及び計算作業負荷を考慮して、どのコンピューティング・ノードに所与の計算作業負荷をタスク化すべきかを決定する。
【0057】
エッジ・コンピューティングは、データ・ソースのより近くで処理を行う。換言すれば、処理のために、データを遠隔のクラウド又は他の集中型システムに送る必要はない。処理のためにデータを集中型システムに送るのに要する距離及び時間を省くことにより、例示的な実施形態は、データ転送速度及び性能を向上させる。データ転送は、ユーザからの要求を含むことに留意されたい。
【0058】
フォグ・コンピューティングは、どのようにエッジ・コンピューティングが機能するかを定める標準である。フォグ・コンピューティングは、エッジ・コンピューティング・デバイスとクラウド・コンピューティング・デバイスとの間で、計算、ストレージ、及びネットワーク・サービスのオペレーションを容易にする。クラウド・コンピューティングは、インターネットを介して中心的に利用可能なユーティリティであるコンピューティング・リソースをサービスとして提供する。
【0059】
例示的な実施形態は、アルゴリズム転送パイプラインの発生を決定するために、コンピューティング・エッジ・ノードを含むフォグ・グラビティ・コンポーネントを利用する。アルゴリズム転送パイプラインは、データを前処理して、目標のエッジ・コンピューティング・ノード又はデバイスによる計算のデータを準備する。例示的な実施形態は、特定の演算器(例えば、人工知能アプリケーションのコンポーネント)を、エッジ・コンピューティング・デバイス上の別のコンピューティング・パラダイムのコンポーネントに移動させるために、アルゴリズム転送パイプライン接線(algorithm transport pipeline tangents)を利用する。換言すれば、アルゴリズム転送パイプライン接線は、根本的に異なるデータ表現を必要とする別のコンピューティング・パラダイムに、計算を転送する。例示的な実施形態は、コンテンツ配信ネットワーク・エッジ・サーバに適合する問題(即ち、計算作業負荷)に基づいて、アルゴリズム転送パイプラインの親和力を強化する。例示的な実施形態は、さらに、アルゴリズム転送パイプラインの親和力を、クラウド・コンピューティングに適合する問題(即ち、計算作業負荷)に基づいて、強化する。例示的な実施形態は、全体の計算問題(即ち、種々のコンピューティング・パラダイム及びエッジ・デバイスの間に分散された全体の計算作業負荷の結果)を解決するために用いられている異なるコンピューティング・パラダイム(例えば、異なるネットワーク)とエッジ・コンピューティング・デバイスとの組み合わせから、創発的クラウド(emergent cloud)を決定する。
【0060】
例示的な実施形態は、メモリ、チップ、コア、ディスクなどで構成される、システムのインターネットの各々のエンドポイント・デバイス上に、コンピュート・グラビティ方程式を配置する。例示的な実施形態は、各々の潜在的なアルゴリズム転送パイプラインに、クラウド上に配置されたアルゴリズム又はアルゴリズムの一部を引き寄せる力を割り当てる。さらに、クラウドは、すべてがシステムのインターネット内で実行されているアルゴリズムである、エッジ・サーバ上に配置されたアルゴリズムの集合体に引き寄せるグラビティを有する。コンピュート・グラビティ方程式の一例は、以下の通りである:
【数1】
ここで、“F”は力であり、“G”は、クライアント・コンピューティングの署名、ネットワーク帯域幅、要求の量、及びデータ・ペイロードのサイズに等しい重力定数であり、“m”は質量であり、“r”はネットワークの半径であり、さらに
【数2】
ここで、“x”は計算問題(例えば、幾つの計算があるか)を示し、“c”はコンピューティング・ノードのハードウェアを示し、“B”はコンピューティング・ノードまでのネットワークの帯域幅であり、“Vr”は要求の量であり、“P”はデータサイズであり、“S”は計算問題を解くために用いられるモデルの記号を取得する記号関数であり、“P”は問題重要度であり、一般的に、9.8m/sの物理的重力定数に似た定数である。例示的な実施形態は、問題重要度定数を、特定のコンピューティング・ノードに関する相対的重要度因子を作成するために、調節することができることに留意されたい。
【0061】
コンピュータ・ノードの能力と共に深層学習アルゴリズム(例えば、人工知能アプリケーション)に入力される、ベクトル・モデルの入力データ・スキーマは、計算の良好なモード(即ち、量子コンピューティングのようなコンピューティング・パラダイムのタイプ)についてソフトマックス(softmax)のクラス及び確率を提供する。ソフトマックスは、マルチクラス問題において各々のクラスに10進数の確率を割り当てる。それらの10進数の確率を足すと、1.0にならなければならない。ソフトマックスは、出力層の直前のニューラル・ネットワーク層を通して実装される。ソフトマックス層は、出力層と同じ数のノードを有しなければならない。ソフトマックスは、全ての可能なクラスについての確率を計算する。正解が1つしかない問題についての分類器を構築するとき、ソフトマックスは、未処理出力に適用される。ソフトマックスを適用することは、未処理出力の、分母中の全ての構成要素を考慮に入れるが、これは、ソフトマックス関数によって生成される種々の確率が相互に関連付けられることを意味する。
【0062】
ハイブリッド・クラウド内の各々のコンピューティング・ノードは、各々の人工知能アプリケーション・モデル又は機械学習パイプライン(例えば、人工知能アクリケーション・モデルの全体)の一部について、コンピュート・グラビティ・コンポーネント・スコアを計算する。勝利したコンピュート・グラビティ・コンポーネント(即ち、最高コンピュート・グラビティ・スコアを有するコンピューティング・エンドポイント・ノード)は、システムのインターネット内のそれらの場所に人工知能アクリケーション・モデルを引き寄せる。
【0063】
このように、例示的な実施形態は、計算作業負荷を異なるコンピューティング・パラダイムの間に分散させる技術的問題を克服する1つ又は複数の技術的解決策を提供する。結果として、これらの1つ又は複数の技術的解決策は、複雑な人工知能コンポーネントを有する大規模アプリケーションの計算作業負荷を、異なるコンピューティング・パラダイムのコンピューティング・ノードの間に分散させるために、システムのインターネットの異なるコンピューティング・パラダイム内の各々のコンピューティング・ノードのコンピュート・グラビティを計算することによって、データ処理の分野における技術的効果及び実際的アプリケーションを提供する。従って、例示的な実施形態の利点は、異なるコンピューティング・パラダイム内のコンピューティング・ノードの作業負荷の減少、ネットワーク遅延の減少、ロード時間の減少、データ転送速度及び性能の向上、並びに、ユーザ要求に対する応答時間の減少を含む。
【0064】
次に図5を参照すると、例示的な実施形態によるシステムのインターネットの一例を示す図が描かれている。システムのインターネット500は、図1のネットワーク・データ処理システム100のようなデータ処理システムのネットワークで実装することができる。システムのインターネット500は、異なるコンピューティング・パラダイム内の各々それぞれのコンピューティング・ノードに対応する計算されたコンピュート・グラビティに基づいて、複雑な人工知能コンポーネントを有する大規模アプリケーションの計算作業負荷を、システムのインターネット500内の異なるコンピューティング・パラダイムのコンピューティング・ノード間に分散させるためのネットワーク、ハードウェア、及び、ソフトウェアの組み合わせである。
【0065】
この例において、システムのインターネット500は、クラウド・コンピューティング・パラダイム502、クライアント・ネットワーク・コンピューティング・パラダイム504、及びコンテンツ配信ネットワーク506を含む。クラウド・コンピューティング・パラダイム502は、人工知能アプリケーション508、集中型古典的コンピュータ510、及び集中型量子コンピュータ512を含む。人工知能アプリケーション508は、任意のタイプの人工知能アクリケーション又はコンピュータ・アルゴリズムを表すことができる。集中型古典的コンピュータ510及び集中型量子コンピュータ512は、例えば、図1のサーバ104及びサーバ106とすることができる。また、集中型古典的コンピュータ510は、クラウド・コンピューティング・パラダイム502内の複数の古典的コンピュータを表すことができ、集中型量子コンピュータ512は、クラウド・コンピューティング・パラダイム502内の複数の量子コンピュータを表すことができることに留意されたい。
【0066】
クライアント・ネットワーク・コンピューティング・パラダイム504は、クライアント側エッジ・コンピュータ514及び他のクライアント・コンピュータ516を含む。クライアント側エッジ・コンピュータ514及び他のクライアント・コンピュータ516は、例えば、図1のクライアント110及びクライアント112とすることができる。さらに、クライアント側エッジ・コンピュータ514は、クライアント・ネットワーク・コンピューティング・パラダイム504内の複数のクライアント側エッジ・コンピューティング・ノードを表すことができ、他のクライアント・コンピュータ516は、クライアント・ネットワーク・コンピューティング・パラダイム504内の複数の他のクライアント・コンピューティング・ノードを表すことができることに留意されたい。
【0067】
コンテンツ配信ネットワーク506は、エッジ・サーバ518を含む。エッジ・サーバ518は、コンテンツ配信ネットワーク506の論理エッジとして存在し、異なるコンピューティング・パラダイムであるクラウド・コンピューティング・パラダイム502とクライアント・ネットワーク・コンピューティング・パラダイム504との間の接続ポイントとして機能する。
【0068】
人工知能アプリケーション508は、コンポーネント部分520を含む。コンポーネント部分520は、人工知能アプリケーションを含む複数の異なるソフトウェア・コンポーネントを表す。コンポーネント部分520の各々のコンポーネント部分は、異なるコンピューティング・リソースを必要とする異なる計算複雑性を持つ異なる機能を有する。
【0069】
例示的な実施形態は、異なるコンピューティング・パラダイム内のそれぞれのコンピューティング・ノードに対応する計算されたコンピュート・グラビティに基づいて、人工知能アプリケーション508の種々のコンポーネント部分を、システムのインターネット500内の異なるコンピューティング・パラダイムのコンピューティング・ノード間に分散させる。例えば、例示的な実施形態は、上記のコンピュート・グラビティ方程式などのコンピュート・グラビティ方程式を用いて、例えば、人工知能アプリケーション508のコンポーネント部分520の各々に対応する計算複雑性、コンピューティング・ノードの可用性、コンピューティング・ノードの計算作業負荷の適合性などに基づいて、集中型古典的コンピュータ510についてのコンピュート・グラビティ522、集中型量子コンピュータ512についてのコンピュート・グラビティ524、及びクライアント側エッジ・コンピュータ514についてのコンピュート・グラビティ526を計算する。
【0070】
集中型古典的コンピュータ510の計算されたコンピュート・グラビティ522、集中型量子コンピュータ512の計算されたコンピュート・グラビティ524、及び、クライアント側エッジ・コンピュータ514の計算されたコンピュート・グラビティ526に基づいて、例示的な実施形態は、コンポーネント部分520の特定のコンポーネント部分、例えば、人工知能コンポーネント部分528、人工知能コンポーネント部分530、及び、人工知能コンポーネント部分532を、それぞれ、集中型古典的コンピュータ510、集中型量子コンピュータ512、及びクライアント側エッジ・コンピュータ514に分散させる。さらに、集中型古典的コンピュータ510上に配置される人工知能コンポーネント部分528、集中型量子コンピュータ512上に配置される人工知能コンポーネント部分530、及びクライアント側エッジ・コンピュータ514上に配置される人工知能コンポーネント部分532などのコンポーネント部分520のどの特定のコンポーネント部分が、特定のコンピューティング・ノード上に配置されるかに基づいて、例示的な実施形態は、それぞれ集中型古典的コンピュータ510、集中型量子コンピュータ512、及びクライアント側エッジ・コンピュータ514の作業負荷534、作業負荷536、及び作業負荷538などの対応する計算作業負荷を、その特定のコンピューティング・ノードに分散させる。
【0071】
集中型古典的コンピュータ510、集中型量子コンピュータ512、及びクライアント側エッジ・コンピュータ514に分散されたそれぞれの計算作業負荷は、それぞれ結果540、結果542、及び結果544などの計算結果を生成する。例示的な実施形態は、コンテンツ配信ネットワーク506内のエッジ・サーバ518におけるキャッシュされた計算結果546のように、結果540、結果542、及び結果544をエッジ・サーバ上にキャッシュする。キャッシュされた計算結果546は、コンテンツ配信ネットワーク506内の複数の異なるエッジ・サーバ上に格納された複数のキャッシュされた計算結果を表すことに留意されたい。さらに、例示的な実施形態は、複数の異なるエッジ・サーバに格納された複数のキャッシュされた計算結果を、他のクライアント・コンピュータ516などの他のクライアント・コンピュータに提供し、他のクライアント・コンピュータが計算を繰り返す必要がないようにする。さらに、例示的な実施形態は、異なるコンピューティング・パラダイム及びコンピューティング・ノードの間に分散された全体の計算作業負荷の結果を生成するのに寄与した、集中型古典的コンピュータ510、集中型量子コンピュータ512、及びクライアント側エッジ・コンピュータ514で構成される創発的クラウドを形成することができる。
【0072】
次に図6を参照すると、例示的な一実施形態による、システムのインターネット内に人工知能アプリケーションをデプロイするためのプロセスを示すフローチャートが示されている。図6に示されるプロセスは、例えば、図2のデータ処理システムなどのコンピュータに実装することができる。
【0073】
プロセスは、コンピュータが、複数の異なるコンピューティング・パラダイム内の複数のコンピューティング・ノードのコンピュート・グラビティを計算するための入力を受け取るときに開始する(ステップ602)。コンピュータは、クラウド・コンピューティング・パラダイムの各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイムの各々のエッジ・コンピューティング・ノード、及びコンテンツ配信ネットワーク・コンピューティング・パラダイムの各々のエッジ・コンピューティング・ノードを識別する(ステップ604)。コンピュータは、クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノード、及び、コンテンツ配信ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノードの識別に基づいて、システムのインターネットを形成する(ステップ606)。
【0074】
次に、コンピュータは、人工知能アプリケーションのコンポーネント部分をシステムのインターネット内にデプロイするための入力を受け取る(ステップ608)。コンピュータは、システムのインターネット内にデプロイされる人工知能アプリケーションのコンポーネント部分に関して、クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノード、及びコンテンツ配信ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノードのコンピュート・グラビティを計算する(ステップ610)。コンピュータは、クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノード、及びコンテンツ配信ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノードに対応するコンピュート・グラビティに基づいて、人工知能アプリケーションのコンポーネント部分をデプロイするために、システムのインターネット内の最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードを決定する(ステップ612)。
【0075】
コンピュータは、人工知能アプリケーションのコンポーネント部分を、システムのインターネット内の最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードにデプロイする(ステップ614)。さらに、コンピュータは、クラウド・コンピューティング・パラダイムのクラウド・コンテナを移動させて、異なるコンピューティング・パラダイム及びコンピューティング・ノードの間で分散された全計算作業負荷の結果を生成するために用いられる異なるコンピューティング・パラダイムとコンピューティング・ノードとの組み合わせである創発的クラウドを形成する(ステップ616)。創発的クラウドは、最高コンピュート・グラビティ・スコアを有するコンピューティング・ノードを含むことに留意されたい。
【0076】
その後、コンピュータは、人工知能アプリケーションの別のコンポーネントをシステムのインターネットにデプロイするための入力が受け取られたかどうかに関して、判断を行う(ステップ618)。コンピュータが、人工知能アプリケーションの別のコンポーネントをシステムのインターネットにデプロイするための入力が受け取られたと判断する場合、ステップ618のはいが出力され、次いでプロセスはステップ610に戻り、そこでコンピュータは、システムのインターネットにデプロイされる人工知能アプリケーションの他のコンポーネントに関して、クラウド・コンピューティング・パラダイム内の各々のコンピューティング・ノード、クライアント・ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノード、及びコンテンツ配信ネットワーク・コンピューティング・パラダイム内の各々のエッジ・コンピューティング・ノードのコンピュート・グラビティを計算する。コンピュータが、人工知能アプリケーションの別のコンポーネントをシステムのインターネットにデプロイするために入力が受け取られなかったと判断する場合、ステップ618のいいえが出力され、次いでプロセスはその後終了する。
【0077】
次に図7を参照すると、例示的な実施形態による、コンピュート・グラビティに基づいて人工知能アプリケーションのコンポーネント部分の計算作業負荷をシステムのインターネット内に分散させるプロセスを示すフローチャートが示されている。図7に示されるプロセスは、例えば、図2のデータ処理システム200のようなコンピュータに実装することができる。
【0078】
プロセスは、コンピュータが、システムのインターネットのクラウド・コンピューティング・パラダイム内に配置された人工知能アプリケーション(又はアルゴリズム)のコンポーネント部分を識別するときに開始する(ステップ702)。コンピュータは、人工知能アプリケーションのコンポーネント部分に対応する計算複雑性、コンピュータの可用性、及びコンピュータの計算作業負荷適合性を考慮して、システムのインターネット内のクラウド・コンピューティング・パラダイムの各々の集中型古典的コンピュータ及び量子コンピュータ並びにクライアント・ネットワーク・コンピューティング・パラダイムの各々のエッジ・コンピュータのコンピュート・グラビティを計算する(ステップ704)。
【0079】
コンピュータは、それぞれのコンピュータの計算されたコンピュート・グラビティに基づいて、人工知能アプリケーションの各々のコンポーネント部分を、クラウド・コンピューティング・パラダイムの適切な集中型古典的コンピュータ、クラウド・コンピューティング・パラダイムの適切な集中型量子コンピュータ、又はクライアント・ネットワーク・コンピューティング・パラダイムの適切なエッジ・コンピュータに分散させる(ステップ706)。さらに、コンピュータは、人工知能アプリケーションの各々のコンポーネント部分の計算作業負荷を、処理のために、人工知能アプリケーションの対応するコンポーネント部分を有する、クラウド・コンピューティング・パラダイムのそれぞれの集中型古典的コンピュータ、クラウド・コンピューティング・パラダイムのそれぞれの集中型量子コンピュータ、又はクライアント・ネットワーク・コンピューティング・パラダイムのそれぞれのエッジ・コンピュータに分散させる(ステップ708)。
【0080】
コンピュータは、人工知能アプリケーションの各々のコンポーネント部分に対応するそれぞれの計算作業負荷の結果を、計算を繰り返さずにその結果を他のクライアント・コンピュータに提供するコンテンツ配信ネットワーク・エッジ・サーバ上にキャッシュする(ステップ710)。その後、プロセスは終了する。
【0081】
従って、本発明の例示的な実施形態は、複雑な人工知能コンポーネントを有する大規模アプリケーションの計算作業負荷を、異なるコンピューティング・パラダイム内の各々それぞれのコンピューティング・ノードに対応する計算されたコンピュート・グラビティに基づいて、システムのインターネット内の異なるコンピューティング・パラダイムのコンピューティング・ノードの間に分散させるためのコンピュータ実施の方法、コンピュータ・システム、及びコンピュータ・プログラム製品を提供する。本発明の様々な実施形態の説明は、例示の目的のために提示され、網羅的であること又は開示された実施形態に限定されることを意図したものではない。当業者には、説明された実施形態の範囲及び趣旨から逸脱しない多くの修正形及び変形が明白となるであろう。本明細書で用いられた用語は、実施形態の原理、市場で見出される技術に関する実際的応用又は技術的改善を最も良く説明するために、又は他の当業者が、本明細書で開示された実施形態を理解することを可能にするために、選択された。
図1
図2
図3
図4
図5
図6
図7