JP2023004857A - ネットワークフローベースのハードウェア割り当て - Google Patents

ネットワークフローベースのハードウェア割り当て Download PDF

Info

Publication number
JP2023004857A
JP2023004857A JP2022044599A JP2022044599A JP2023004857A JP 2023004857 A JP2023004857 A JP 2023004857A JP 2022044599 A JP2022044599 A JP 2022044599A JP 2022044599 A JP2022044599 A JP 2022044599A JP 2023004857 A JP2023004857 A JP 2023004857A
Authority
JP
Japan
Prior art keywords
network
flow
processing
service
metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022044599A
Other languages
English (en)
Inventor
タイヤガチュル アキレシュ
Thyagaturu Akhilesh
ムスタファ ハッスナー
Moustafa Hassnaa
ガバラ ラバニヤ
Gubbala Lavanya
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2023004857A publication Critical patent/JP2023004857A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ネットワークフローベースのハードウェア割り当てのためのシステム、装置、方法、プログラム及び機械可読媒体を提供する。【解決手段】方法は、ワークロードを実行のために取得する。ここで、ワークロードは、処理コンポーネントとネットワークコンポーネントとを有するフローを含む。次に、ワークロードの実行中に、フローは繰り返しプロファイリングし、プロファイリングから取得されるネットワークメトリック及び処理メトリックに基づき次の実行中のネットワークサービス及び処理サービスを割り当てる。【選択図】図15

Description

本明細書において説明される実施形態は、概して、コンピュータハードウェアのパーティション化に関し、より具体的には、ネットワークフローベースのハードウェア割り当てに関する。
エッジコンピューティングでは、データおよび処理機能をこれらのサービスの消費者のより近くへ移動させる。エッジプラットフォームは、クライアントデバイスに物理的に近い位置での格納および処理を提供する。エッジ位置の例は、他の場所の中でも、自宅または企業内(例えば、ルータまたは他のネットワーキングデバイスの一部として)、車両サービスをサポートするための路側ユニット(RSU)、またはセルラ基地局内を含み得る。エッジコンピューティングプラットフォームの数および位置変化に起因して、格納、処理、機能および電力に関して、リソースが制約される傾向がある。エッジプラットフォームは、ハードウェアおよびソフトウェアにより実施されるリソースのパーティション化など、多くの場合には無関係のベンダから様々なサービスをホストするためのメカニズムを含むことが多い。
図面は、必ずしも縮尺通りには描かれておらず、図面において、同様の符号は、同様のコンポーネントを異なる視点で説明し得る。異なる添え字を有する同様の符号は、同様のコンポーネントの異なる例を表し得る。図面は、本明細書において説明される様々な実施形態を概して、限定としてではなく例として示している。
一実施形態によるネットワークフローベースのハードウェア割り当てのためのシステムを含む環境の一例のブロック図である。
一実施形態による例示的なアーキテクチャを示す。
一実施形態によるネットワーク特性の関連付けの一例を示す。
一実施形態によるネットワークサービスおよび処理サービスの割り当てのための学習エージェントの一例を示す。
一実施形態によるリアルタイムの学習およびテレメトリの一例を示す。
一実施形態による動作を学習するためのテレメトリ、アクションおよび報酬の一例を示す。
一実施形態によるフロー管理の一例を示す。
エッジコンピューティングのためのエッジクラウド構成の概要を示す。
エンドポイント中の動作層と、エッジクラウドと、クラウドコンピューティング環境とを示す。
エッジコンピューティングシステム内のネットワーキングおよびサービスのための例示的なアプローチを示す。
複数のエッジノードおよび複数のテナントの中で動作させられるエッジコンピューティングシステム内の仮想エッジ構成の展開を示す。
エッジコンピューティングシステムにコンテナを展開した様々な計算配置を示す。
エッジコンピューティングシステム内の計算ノードに展開された例示的な計算用コンポーネントの概要を提供する。
エッジコンピューティングシステムにおけるコンピューティングデバイス内の例示的なコンポーネントのさらなる概要を提供する。
ソフトウェアを配布するための例示的なソフトウェア配布プラットフォームを示す。
一実施形態による、ネットワークフローベースのハードウェア割り当てのための方法の一例のフロー図を示す。
1つまたは複数の実施形態が実装され得る機械の一例を示すブロック図である。
エッジプラットフォームが、大衆化ハードウェアアプローチへ向けて移行中である。ここでは、単一のエンティティがプラットフォームリソースを制御するわけではない。むしろ、サービス(例えば、ワークロード)が、リソース使用をネゴシエートすることにより、エッジプラットフォームリソースの公平かつ非集中的な分散がもたらされる。そのようなプラットフォーム内の接続性は、多様で高度に構成可能であり、多くの場合、ワークロードの実行に関して非同期である。従来の実装では、IEEE802.11規格ファミリ、セルラ規格、Ethernet(登録商標)、光接続性等に準拠したものなど、複数の接続性技術が利用可能である場合、接続性が静的な(例えば、不変の)方式でサービスに割り当てられる。
第3世代パートナーシッププロジェクト(3GPP(登録商標))5G規格ファミリと、エッジコンピューティングのニーズを駆り立てるモノのインターネット(IoT)サービスの成長とを伴う展開の増加がエッジコンピューティングに見え始めていることから、複数のテナント(例えば、電気通信会社、コンテンツサービスプロバイダ(CSP)または他のサービスプロバイダ)に属し、かつ、多様な独立のソフトウェアベンダ(ISV)およびサービスプロバイダからのマルチテナントアプリケーションをホスティングするエッジクラウド機能を提供するエッジプラットフォームを用いて効果的なエッジクラウドインフラストラクチャを形成するためのこのリソース大衆化に対するニーズがある。大衆化エッジが出現したことで、仮想マシン(VM)コンテナまたはアプリケーションに対するクラウドネイティブ方式でのリソースの固定割り当てが非効率になっている。
さらに、ネットワークサービス(例えば、ネットワークインタフェースであり、物理的であるか仮想的であるかを問わない)の固定割り当ては、非効率であり、多くの場合、サービスレベルアグリーメント(SLA)の準拠の妨げとなる。これらの課題に対処するために、インテリジェントフレームワークが用いられる。インテリジェントフレームワークは、ワークロードフローのリソース(例えば、処理またはネットワーク)特性を学習し、サービスプロバイダとサービス(例えば、5Gサービス、超高帯域幅、超低レイテンシ等)をネゴシエートし、大衆化エッジプラットフォーム内の処理リソース(例えば、ハードウェアアクセラレーション、動作頻度、格納等)をネゴシエートして、各ワークロードの専用ネットワークフローを動的方式でサポートする。これにより、ワークロードが、接続開始のための最適なネットワークサービスをリアルタイムでネゴシエートし、必要に応じてネットワークサービスを更新することが可能になる。
本明細書において説明されるシステムおよび技術は、同様の課題に対処するための他のアプローチとは異なる。例えば、本アプローチは、インテリジェントフレームワークを用いて、ワークロードトラフィックフロー特性を学習するネットワークサービスを選択し、ワークロード(例えば、アプリケーション、実行可能プログラム、VM、コンテナ等)がインスタンス化される前に、ネットワークサービスネゴシエーションを実行する。このアプローチは、エッジプラットフォーム接続性に対処するが、複数のネットワーク接続性オプションを有するエンドユーザデバイス(例えば、ユーザ機器(UE))に必ずしも対処するわけではない。むしろ、インテリジェントフレームワークは、リソース推定を提供することで、ワークロードをサポートし、ハードウェアを再構成し、サービスプロバイダ(例えば、5G接続性の事業者)とのネットワークサービス(例えば、高信頼性低レイテンシ通信(URLLC)、エンハンスドモバイルブロードバンド(EMBB)等)のネゴシエーションを容易にする。対照的に、UEデバイス技術では、異なる無線技術間で選択して、例えば、速度または省電力を最大化し得るが、これらのデバイスは概して、エッジプラットフォームにおけるケースと同様に、スループットについて競合する複数のテナントを有しない。
UE通信を用いた本アプローチを区別する別の態様は、対処中の問題の性質に対処する。典型的には、UEなどの単一のテナントデバイスが、単一のテナントの性能を最大化するよう試みる。これにより、つまり、マルチパスなど、この性能向上を容易するためのプロトコルにより、ネットワークを通じて通信を追跡することで、複数のリンクを介して、ソースとデスティネーションとの間の帯域幅およびレイテンシの最適化を確認し得る。しかしながら、これらの技術では通常、マルチパスTCPなどの技術認識プロトコルが必要となり。ゆえに、事前知識が必要となる。マルチパスは、ソースとデスティネーションデバイスとの間の複数のリンクを介した通信を効果的に管理するために用いられる。しかしながら、本明細書において説明される技術は、ワークロードをどのネットワークサービスに割り当てるかという異なる課題に対処する。したがって、本技術により、ワークロード用のサービスの選択の通知には多くのオプションが無くなる。例えば、8個のネットワークインタフェースを有するエッジノード上の2個の独立した物理ネットワーク接続をVMが必要とする場合、これらのネットワークインタフェースのうちのどの2個がVM用に選択されるべきであろうか?また、この状況は、これら8個のネットワークインタフェースがそれぞれのサービスプロバイダとのネゴシエーションに基づいて動作特性を変更した場合、より複雑になる。これらのタイプの選択決定は、現在のアプローチによって実行されない。
多くの大衆化エッジプラットフォームにおいて、ネットワークサービスは、指定されたQoS割り当てがないように大衆化される。したがって、様々なQoSサービスを提供する多数の接続が存在し得る。ゆえに、インテリジェントフレームワークは、ワークロード要求を満たすためのネゴシエーションエージェント、学習コンポーネントまたは割り当てフレームワークを含み得る。概して、本明細書では、所与の期間において最低コストについてのワークロード要求を満たし得るネットワークインタフェースは、「最良の」インタフェースと同義である。
以下のシナリオでは、エッジプラットフォームに関する少数の課題と、これらの課題に対処するためのインテリジェントフレームワークの後続の動作とを示す。セッションベースの要求を検討する。ここで、クラウド内およびエッジにおけるワークロードのネットワークフローについては、ハイパーテキスト転送プロトコル(HTTP)接続またはHTTPセキュア(HTTP)接続が優位になり得る。HTTPセッションの開始は、動的なインタフェース選択から利益を得る最も一般的に用いられているワークロードであることが多い。なぜなら、接続の確立が高頻度であり、短命であると共に、各セッションについて各々が独立している複数の5タプルフローIDを介して動作するからである。エンドツーエンドのHTTPまたはHTTPS接続続の各々がワークロードのセッション要件に基づいて確立される前に、インテリジェントフレームワークは、ネゴシエートし、プラットフォームリソースを再構成し、最良のインタフェースを選択する。
マイクロサービスの展開を検討する。ここで、VMまたはコンテナがエッジプラットフォーム上に展開される場合、オペレーティングシステム(OS)またはハイパーバイザは、所与のワークロードについてどのネットワークインタフェースを選択するかを決定しなければならない。エッジプラットフォームは、ネットワークインタフェースについてクラウドインフラストラクチャまたはデータセンタインフラストラクチャ内のものと同じサービスセット可用性を有しない。伝統的に、これらのネットワーク選択は、静的であり、予め構成される。本明細書において説明されるインテリジェントフレームワークは、VMまたはコンテナの要件を満たすための物理ネットワークインタフェースの最適なセットを、インテリジェントフレームワークにより学習されるワークロード要件およびネットワーク挙動に基づいて動的に選択する。
大衆化エッジプラットフォームの従量課金モデルを検討する。ここで、ワークロードが専用サービスを有するネットワークインタフェースを要求し、ネットワーク専用サービスに報酬を提供するときはいつでも、インテリジェントフレームワークは、アプリケーションがサービスについてネゴシエートすることを可能にする。インテリジェントフレームワークは、ランタイム中にサービスがネゴシエートされることを可能にするネットワークインタフェースを選択する。また、インテリジェントフレームワークは、専用プラットフォームリソースを有するネットワークフローをサポートするようにプラットフォームを再構成する。追加の詳細および例を以下で提供する。
図1は、一実施形態によるネットワークフローベースのハードウェア割り当てのためのシステムを含む環境の一例のブロック図である。示されるように、ワークロード120(例えば、アプリケーション、VM、コンテナ等)がフロー115を有する。フロー115は、エッジプラットフォーム105により管理されるネットワークサービス110(例えば、ネットワークインタフェースカード(NIC))を介して動作する
エッジプラットフォーム105は、コンピュータ可読媒体を含む。コンピュータ可読媒体は、エッジプラットフォームの処理回路により実行された場合にインテリジェントフレームワークを実装する命令を含む。したがって、命令は、実行のためにワークロード120を取得するように処理回路を構成する。ワークロード120は任意の数の態様で取得され得るが、典型的なアプローチは、(アプリケーションであれ、VMであれ、コンテナであれ、マイクロサービスであれ、他のワークロードであれ)ワークロードをインスタンス化するための要求の、またはスケジュールの受信を含む。ここで、ワークロード120に共通するのが、フロー115の存在である。この文脈において、フロー115は、ネットワーク通信を含む処理パイプラインである。フロー115の範囲は、変わり得る。例えば、フロー115は、ウェブページへのサービス提供またはマイクロサービス呼び出しの実行において共通しているように、単一のステートレスHTTPトランザクションを包含し得る。一例において、フロー115は、アプリケーションの実行の全体、またはアプリケーションの実行にわたる単一のセッションの全体を包含してよく、全体がいくつかのセッションを含んでよい。一例において、例えば、各フロー115がセッションベースであるか、各フロー115がネットワーク要求ベースであるように、全てのフロー115の範囲は、ワークロード120にわたって同じである。
やはりフロー115に共通するのが、処理コンポーネントとネットワークコンポーネントとの組み合わせである。したがって、各フロー115は、ネットワークサービス110を通じて別のデバイスへ伝送されるデータを生成するために、例えば、中央処理ユニット(CPU)時間、アクセラレータ(例えば、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、人工知能(AI)プロセッサ(例えば、ニューロモーフィックプロセッサ))時間、状態メモリ(例えば、ランダムアクセスメモリRAM)、ストレージ(例えば、ハードドライブ、ソリッドステートストレージ等)など、ある処理ハードウェアの使用を伴う。
処理回路は、ワークロード120を実行するように構成される。ワークロード120の実行中に、インテリジェントフレームワークは、割り当てられた処理およびネットワークリソース110の使用と、その結果の記録と、使用データの適用とを観察して、ワークロード120の現在の実行中に、またはワークロード120の次の実行中に、処理およびネットワークリソース110の選択を調整する。このプロファイリングおよび調整が、ワークロード120の実行中に繰り返される。
したがって、処理回路は、フロー115をプロファイリングして、ネットワークコンポーネントのネットワークメトリックと処理コンポーネントの処理メトリックとを決定するように構成される。ここで、ネットワークメトリックは、ネットワークサービス110の実行に関連して、使用のタイミング、帯域幅の消費、レイテンシの経験、パケットの低下または他のネットワークメトリックのいずれかを含み得る。同様に、処理メトリックは、CPUまたはアクセラレータの使用(例えば、電力消費、アイドル時間、用いられているコアの割合)、メモリの使用、ストレージの使用等のいずれであってもよい。メトリックは、処理またはネットワークサービス110がワークロード120に対して「正しいサイズ」であるかどうかを判断するために用いられる。理想的なのは、処理またはネットワークリソースをオーバーサブスクライブすることなく、速度、レイテンシ、帯域幅等についてのワークロード120の要件が満たされることである。したがって、利用可能であるよりも、または処理サービスにより処理されるよりも少ない帯域幅が用いられている(例えば、受信デバイスがより多く処理できないので)ことを示すネットワークメトリックは、より少ない処理リソースおよびより遅いネットワークインタフェースが問題なくワークロード120に割り当てられ得ることを示す。
一例において、プロファイリングは、予め定義された時間間隔で実行される。したがって、ワークロード120が実行されている間、ネットワークメトリックまたは処理メトリックの測定値が取得および記録される。一例において、プロファイリングは、イベントに応答して実行される。例えば、イベントは、リソース上での競合、ワークロード120を待機する閾値の超過等を含み得る。一例において、プロファイリングは、実行されるか、フロー115またはワークロード120に関するクエリの受信時である。
一例において、プロファイリングは、ネットワークサービス110を用いたフロー115の通信に識別情報をタグ付けすることを含む。ここで、IDタグにより、プロファイラは、フロー115の異なるアクティビティを相関させるべく、これらのアクティビティを追跡することが可能になる。したがって、識別情報は、フロー115へマッピングされ得る。一例において、識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである。このIDは、フロー115のネットワークコンポーネントの接続ベースの向きを反映している。
一例において、プロファイリングは、インタフェースプロファイルおよびランク付けデータベースを更新する。プロファイリングのメトリックを記録することにより、サービスのワークロード120への後続の割り当てのための処理が可能になる。一例において、インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである。一例において、インタフェースが、フローにより、インタフェースプロファイルおよびランク付けデータベースにランク付けされる。ここで、ネットワークメトリックおよび処理メトリックに基づき次の実行においてネットワークサービス110および処理サービスをフロー115に割り当てることは、最高ランクを有するインタフェースをフロー115について選択することを含む。一例において、インタフェースは、フロー115とフロー115について選択される処理サービスとの組み合わせに基づいてランク付けされる。図4の説明において以下に提供される表は、そのようなデータベースおよびランク付けの一例を示す。
処理回路は、ネットワークメトリックおよび処理メトリックに基づき次の実行においてネットワークサービス110(例えば、ネットワークインタフェースであり、物理的であるか仮想的であるかを問わない)および処理サービスをフロー115に割り当てるように構成される。ここで、次の実行は、ワークロード120の次のインスタンス化、ワークロード120の現在のインスタンス化中の次の動作(例えば、命令、接続等)、またはそれらの間の何らかの事項を含み得る。記録されたメトリックにより、インテリジェントフレームワークは、ワークロード120が実行されるときにフローからリソースへの割り当ての実行を追跡することが可能になる。したがって、ネットワーク110と処理サービスとに起因する複数の要因は、フロー115の実行に相関付けられる。次に、インテリジェントフレームワークは、フロー115の要件を満たすサービスに次のフローを一致させ得る。一例において、処理回路は、フロー115のネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービス110を選択することによりネットワークサービス110を割り当てるように構成される。 一例において、ネットワークメトリックは、帯域幅またはレイテンシである。
一例において、処理回路は、処理サービスのネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービス110を選択することによりネットワークサービス110および処理サービスを割り当てるように構成される。ここで、対応力がより小さい処理サービスにネットワークサービス110をオーバーサブスクライブする問題が対処される。したがって、1メガバイト毎秒(1Mbps)の出力のみができる処理サービスがワークロード120に割り当てられる場合、1ギガビット毎秒(1Gbps)のネットワークインタフェースをこのフローに割り当てることは、浪費であり、回避される。むしろ、処理サービス出力機能をネットワークサービス110出力機能に一致させるのが、概して、最も効率的である。
図2は、一実施形態による例示的なアーキテクチャを示す。アーキテクチャは、例えば、アプリケーション、仮想マシン、コンテナ等のワークロードをホストして、音声もしくはビデオの処理、格納もしくは配信、データの格納(例えば、キャッシュ、バックアップ等)または他のエッジサービスなど、様々なサービスを提供する。
アーキテクチャは、ハードウェアをホストワークロードに提供するために、ハイパーバイザのオペレーティングシステムなどの管理コンポーネントを含む。示されるようなハードウェアは、例えば、有線式または無線式のサービスプロバイダネットワーク(例えば、ISP1およびISP2として示されるフレームリレー物理接続)、無線電波媒体、有線Ethernet(登録商標)など、様々な物理媒体用の様々なインタフェース(IP1からIP8として示される)を含む。
左に示されているボックスは、ネットワークインタフェースハードウェアがワークロードに提供され得るサービスであることを示している。ワークロードには要件があり、インテリジェントフレームワークは、これらの要件を提供物と一致させる。破線は、エッジプラットフォーム内のインテリジェントフレームワーク205を示す。インテリジェントフレームワークは、テレメトリエージェント210、学習エージェント215および割り当てエージェント220を含む。動作において、インテリジェントフレームワーク205は、要件および学習特性に基づいて、ネットワークインタフェースをVM、コンテナまたはアプリケーションに割り当てる。インテリジェントフレームワークは、従量課金モデルを利用してネットワークインタフェース機能を動的に取得することにより、アプリケーションが要求および変化ならびに動作することを可能にする。
図3は、一実施形態によるネットワーク特性の関連付けの一例を示す。プラットフォームリソーステレメトリは、ワークロードについてサービス品質(QoS)およびサービスレベルアグリーメント(SLA)の仕様を満たすために、ネットワーク特性テレメトリと共に動作する。大容量を有する選択されたネットワークインタフェースがワークロードに割り当てられ、コンピューティングリソースが不十分であることを考慮する。このシナリオは、ネットワークリソースの割り当ての浪費をもたらす。したがって、利用可能な計算リソースを考慮しつつアプリケーション要件を満たすのに適切なネットワークインタフェースの動的割り当てが、オーバープロビジョニングを回避するために有用である。
図4は、一実施形態によるネットワークサービスおよび処理サービスの割り当てのための学習エージェントの一例を示す。示されているコンポーネントでは、各ワークロードは、どの接続性がそのワークロードのために「最良」であるかの学習に基づいて選択されるネットワークインタフェースを介して、エンドホストへトランスペアレントに接続し得る。
プラットフォームリソースが、所与のワークロードについて、動的に追跡および学習される。これは、どれくらいのネットワーキングリソースが「潜在的に」かつ「効果的に」利用され得るかを予測するために用いられる。一例において、プラットフォームリソースが、ソースIP:デスティネーションIP:送信元ポート:デスティネーションポート:IPタイプ[UDP,TCP]という5タプルを有する各フローへマッピングされるIDのタグ付けに基づいて学習される。5タプルフローIDは、エンドツーエンド接続をマッピングするために用いられる。なぜなら、ネットワークの挙動は、同じインタフェースを介した2つの異なるエンドツーエンド(E2E)接続の間で変化し得るからである。
ネットワーク特性報告は、複数の態様で実現され得る。例えば、定期的な時間間隔での定期的な報告を通じて、イベントベースの反応性報告を通じて、またはオンデマンドクエリベースの報告を通じて実現される。
学習された機能は、プラットフォームからバックエンドアプリケーションへのエンドツーエンドの接続性へ及ぶ。そのような考慮される特性は、とりわけ、基地局のスケジューリング、ケーブルモデムまたは光ネットワークユニットのスケジューリング、ゲートウェイまたはスイッチの挙動を含み得る。
インタフェースプロファイルおよびランク付けデータベースは、ネットワーク特性とアプリケーション要件とに関して動的に学習される機能を追跡する。そのようなデータベースの一例が、以下の表に示される。一例において、データベース内の各エントリの表現は、コンパクトな表現を含む約32ビット幅であり、このビット幅では、OSブート中に列挙され得るDRAM(または、例えばIntelプラットフォームのNANDといった永続的メモリ)内の数MBのスタティックメモリセルがあれば、各アプリケーションの多数のフローをホストするのに十分である。一例において、データベースは、2~3分毎に更新される。このレートによってデータベースのサイズが増えることはない。なぜなら、新しいデータで古いデータを上書きするからである。
学習された機能は、インタフェースランク付けプロファイルデータベースをポピュレートするために用いられ得る。このデータベースは、アプリケーションのためのエンドツーエンド接続の選択をトリガするために用いられ得る。
動的学習の解像度(例えば、推論にわたるパラメータ)とランク付けとは、5タプルIDに基づき得る。ここで、各5タプルIDは、全てのネットワークフローおよびインタフェースにわたって一意である。ワークロードにより必要とされる場合、インテリジェントフレームワークは、サービスのネゴシエーションとプラットフォームの再構成とをサービスプロバイダ(例えば、ネットワーク接続性を提供する事業者)に要求し得る。
Figure 2023004857000002
Figure 2023004857000003
Figure 2023004857000004
図5は、一実施形態によるリアルタイムの学習およびテレメトリの一例を示す。図示されているコンポーネントは、動作を学習するためのテレメトリ、アクションおよび報酬関数の一例を示す。これは、インテリジェントネットワークインタフェースの選択のための動的学習解決手段を実装するために、図6と組み合わされ得る。
教師あり補強学習は、ワークロード要件を継続的に学習するために用いられ得る。教師なし学習は、ネットワークインタフェース特性を学習することで、適切なネットワークインタフェースの選択を通じてワークロードのQoSを最大化するために用いられ得る。より具体的には、ネットワーク要件(例えば、処理メトリックまたは内部情報)を推定して上記の表2を生成するために、アプリケーションハードウェアプラットフォームリソース使用の履歴データが用いられ得る。
ネットワーク特性は、上記の表1において説明される機能を推定するために、様々な要因から学習され得る。ワークロードについて帯域幅割り当て、レイテンシ等を推定するために、物理層(例えば、受信信号強度、総電力等)またはネットワーク自体から、推論が(例えば、スイッチ、ゲートウェイまたはスケジューラに基づいて)導かれ得る。スケジューラまたはゲートウェイの情報は、所与のフローについてのネットワークインタフェースにおける観察済み帯域幅およびレイテンシ変化から学習され得る。例えば、基地局またはケーブルモデル終端システムにおいて、スケジューラは、学習エージェントにより推論され得る特定のトラフィックフロー(例えば、ビデオストリーミングサービス)を優先する。
図6に示されるように、報酬関数は、実際のアプリケーションQoS要件を比較し、最良のインタフェース選択を提供して、可能な限り多くのQoS要件を満たし得る。
図6は、一実施形態による動作を学習するためのテレメトリ、アクションおよび報酬の一例を示す。示されているニューラルネットワークは、所与の構成における入力データ(例えば、フロー、ネットワークサービスおよび処理サービスデータベース)およびフロー性能とやり取りする。性能は、データベース内でのランク付けを調整するためのパニッシュメントまたは報酬として用いられる。したがって、フローについての所与のサービス組み合わせの性能が不十分である場合、ニューラルネットワークは、この組み合わせのランク付けを下げるよう訓練される。これにより、この組み合わせがフローの次の実行のために選択される可能性がより小さくなることが保証される。
ここで示される報酬ベースの補強は、教師なし学習の形態である。概して、ニューラルネットワーク学習(例えば、修正または訓練)では、入力のセットが処理され、出力が実現され、適合度関数(例えば、誤差推定)が計算される。従来の訓練技術では、接続重み(シナプスと称されることが多いが、この用語は変わり得る)を修正することで、将来の実行時の入力のために、同じ入力があった場合に不正確な出力の可能性がより少なくなるように、かつ、所望の(例えば、正しい)出力の可能性がより多くなるようにという両方で戻すために、逆伝搬法が用いられる。重みが修正される度合いは、設計上の選択であり、この選択は、ニューラルネットワークの収束の速度および精度に影響を及ぼす。
図6に示される補強(例えば、報酬)学習において、報酬関数は、ブロック3の評価からの、ブロック1およびブロック2におけるニューラルネットワークの求められた精度を演算する。したがって、ブロック3は、ネットワークインタフェース上のアプリケーションのリアルタイムテレメトリを受け入れる予め訓練されたネットワークであり、出力(例えば、機能、メトリック等)を報酬関数に提供する。また、報酬関数は、ブロック1(プロセッササービスのアプリケーション状態の機能またはメトリック)およびブロック2(処理サービス上のアプリケーションについての、異なる分類がなされたネットワークサービスランク付け)の出力を受け入れる。したがって、報酬関数は、ブロック1およびブロック2の出力の期待される性能を、ブロック3により測定される実際の性能と比較し、それに応じて、重みブロック1およびブロック2を修正する。この配置により、インテリジェントエージェント性能の継続的な改善が提供される。これにより、ワークロードについての処理サービスとネットワークサービスとの間の選択の実際の性能を満たすための変化する条件に対処する。
図7は、一実施形態によるフロー管理の一例を示す。示されているフローは、上で説明されたコンポーネント間のやり取りの一例を示す。示されるように、ワークロードについての提供されたメトリックに基づいて、初期ネットワークサービス割り当てが実行され得る。学習(例えば、人工知能、統計分析等)エージェントは、処理およびネットワークサービスを通じたワークロードフローの性能を通じて、ワークロードの性能を観察する。これにより、フローと、処理サービスと、ネットワークサービスとのランク付けされた組み合わせがもたらされ、フローの次の実行が差し迫っている場合に処理またはネットワークサービス(またはそれらのペア)を迅速に選択することが可能になる。
図8は、エッジコンピューティングの構成の概要を示すブロック図である。この構成は、以下の例の多くにおいて「エッジクラウド」と称される処理の層を含む。示されるように、エッジクラウド810は、アクセスポイントまたは基地局840、ローカル処理ハブ850もしくは中央局820など、エッジ位置と同じ場所に位置しているので、複数のエンティティ、デバイスおよび機器インスタンスを含み得る。エッジクラウド810は、クラウドデータセンタ830よりもエンドポイント(消費者および生産者)データソース860(例えば、自律走行車861、ユーザ機器862、ビジネスおよび産業機器863、ビデオキャプチャデバイス864、ドローン865、スマートシティおよびビルディングデバイス866、センサならびにIoTデバイス867等)にはるかに近く位置している。エッジクラウド810内の各エッジにおいて提供される計算、メモリおよびストレージリソースは、エンドポイントデータソース860により用いられるサービスおよび機能について超低レイテンシ応答時間を提供するのに重要であると共に、エッジクラウド810からクラウドデータセンタ830に向かうネットワークバックホールトラフィックを低減するので、他の利益の中でもとりわけ、エネルギー消費および全体的なネットワーク使用が改善する。
計算、メモリおよびストレージは、欠乏しているリソースであり、概して、エッジ位置に応じて減る(例えば、消費者エンドポイントデバイスでは、基地局よりも、中央局よりも、利用可能な処理リソースが少ない)。しかしながら、エッジ位置がエンドポイント(例えば、ユーザ機器(UE))に近いほど、空間および電力がより制約されることが多い。したがって、エッジコンピューティングは、地理的にもネットワークアクセス時間においてもより近くに位置するより多くのリソースの分散を通じて、ネットワークサービスに必要なリソース量の低減を試みる。このように、エッジコンピューティングは、適切な場合には計算リソースをワークロードデータにもたらすことを試みるか、ワークロードデータを計算リソースにもたらす。
複数の潜在的な展開をカバーし、かつ、いくつかのネットワーク事業者またはサービスプロバイダがその独自のインフラストラクチャ内で有し得る制限に対処するエッジクラウドアーキテクチャの態様を以下で説明する。これらは、エッジ位置(マルチテナントシナリオでは、基地局レベルにおけるエッジが、例えば、より制約が多い性能および機能を有し得るので)に基づく構成と、エッジ位置、位置のティアもしくは位置のグループで利用可能な計算、メモリ、ストレージ、ファブリック、アクセラレーションまたは同様のリソースのタイプに基づく構成と、サービス機能、セキュリティ機能、管理機能およびオーケストレーション機能と、エンドサービスのユーザビリティおよび性能を実現するための関連する目的との変形を含む。これらの展開は、レイテンシ特性、距離特性およびタイミング特性に応じて「エッジ付近」層、「エッジ近傍」層、「ローカルエッジ」層、「中央エッジ」層または「エッジ遠位」層とみなされ得るネットワーク層内の処理を実現し得る。
エッジコンピューティングは、発展中のパラダイムである。このパラダイムでは、計算は、典型的には、データを生成および消費するエンドポイントデバイスにはるかに近い基地局、ゲートウェイ、ネットワークルータまたは他のデバイスにおいて実装される計算プラットフォーム(例えば、x86またはARM計算ハードウェアアーキテクチャ)の使用を通じて、ネットワークの「エッジ」において、または「エッジ」の近くで実行される。例えば、エッジゲートウェイサーバには、コネクテッドクライアントデバイスの低レイテンシユースケース(例えば、自律運転またはビデオ監視)の計算をリアルタイムで実行するためのメモリおよびストレージリソースのプールが備え付けられ得る。または、一例として、基地局が、バックホールネットワークを介してデータをさらに通信することなく、接続されているユーザ機器のサービスワークロードを直接処理するように、計算リソースおよびアクセラレーションリソースを用いて拡張され得る。または、別の例として、中央局ネットワーク管理ハードウェアが、仮想化ネットワーク機能を実行し、かつ、コネクテッドデバイスについてのサービスおよび消費者機能の実行のための計算リソースを提供する標準化された計算ハードウェアに置き換えられ得る。エッジコンピューティングネットワーク内には、計算リソースがデータへ「移動」されることになるサービスにおけるシナリオ、および、データが計算リソースへ「移動」されることになるシナリオが存在し得る。または、一例として、コーナーケース、緊急事態を管理すべく、または、著しく長く実装されているライフサイクルを介して展開されたリソースの寿命を提供すべく、基地局計算、アクセラレーションおよびネットワークリソースが、休止容量(サブスクリプション、オンデマンド容量)をアクティブ化することにより必要に応じてワークロード要求にスケーリングすべく、サービスを提供できる。
図9は、エンドポイント中の動作層と、エッジクラウドと、クラウドコンピューティング環境とを示す。具体的には、図9は、ネットワークコンピューティングの複数の例示層の中のエッジクラウド810を利用して、計算ユースケース905の例を示す。これらの層は、エンドポイント(デバイスおよびモノ)層900において始まる。エンドポイント層900は、エッジクラウド810にアクセスして、データ生成、データ解析およびデータ消費アクティビティを実行する。エッジクラウド810は、複数のネットワーク層に及び得る。複数のネットワーク層は、物理的に近接するエッジシステム内に位置するゲートウェイ、オンプレミスサーバまたはネットワーク機器(ノード915)を有するエッジデバイス層910、基地局、無線処理ユニット、ネットワークハブ、地域データセンタ(DC)またはローカルネットワーク機器(機器925)を包含するネットワークアクセス層920、およびそれらの間に(層912内であるが、詳細に示されていない)位置する任意の機器、デバイスまたはノードなどである。エッジクラウド810内および様々な層中のネットワーク通信は、図示されていない接続性アーキテクチャおよび技術を介してなど、任意の数の有線媒体または無線媒体を介して行われ得る。
ネットワーク通信距離および処理時間の制約から生じるレイテンシの例は、エンドポイント層900中の場合にはミリ秒(ms)よりも少ないという範囲から、エッジデバイス層910における5ms未満、さらに、ネットワークアクセス層920におけるノードとの通信する場合には10~40msという範囲に及び得る。エッジクラウド810の先には、コアネットワーク930およびクラウドデータセンタ940という層があり、各層では、レイテンシが増える(例えば、コアネットワーク層930における50~60msから、クラウドデータセンタ層における100ms以上まで)。結果として、コアネットワークデータセンタ935またはクラウドデータセンタ945における、少なくとも50~100ms以上というレイテンシでの動作では、ユースケース905の多くタイムクリティカルな機能を実現できないことになる。これらのレイテンシ値の各々は、例示および対照の目的で提供されている。他のアクセスネットワーク媒体および技術を用いればこれらのレイテンシをさらに低減し得ることが理解されよう。いくつかの例において、ネットワークのそれぞれの部分は、ネットワークソースおよびデスティネーションに対する「エッジ近傍」層、「ローカルエッジ」層、「エッジ付近」層、「中央エッジ」層または「エッジ遠位」層とカテゴリ化され得る。例えば、コアネットワークデータセンタ935またはクラウドデータセンタ945の観点から、中央局またはコンテンツデータネットワークは、「エッジ付近」(ユースケース905のデバイスおよびエンドポイントと通信している場合、高いレイテンシ値を有するクラウドの「近くの」)層内に位置しているとみなされてよく、一方、アクセスポイント、基地局、オンプレミスサーバまたはネットワークゲートウェイは、「エッジ遠位」(ユースケース905のデバイスおよびエンドポイントと通信している場合、低レイテンシ値を有するクラウドから「遠い」)層内に位置するとみなされてよい。「近傍」エッジ、「ローカル」エッジ、「付近」エッジ、「中央」エッジまたは「遠位」エッジを構成する特定のネットワーク層の他のカテゴリ化が、レイテンシ、距離、ネットワークホップの数、またはネットワーク層900~940のいずれかにおけるソースから測定される他の測定可能な特性に基づき得ることが理解されよう。
様々なユースケース905は、エッジクラウドを利用する複数のサービスに起因して、入ってくるストリームからの使用圧力下にあるリソースにアクセスし得る。低レイテンシでの結果を実現するために、エッジクラウド810内で実行されるサービスは、(a)優先度(スループットまたはレイテンシ)およびサービス品質(QoS)(例えば、自律走行車のトラフィックが、応答時間要件に関して、温度センサよりも高い優先度を有してよく、または、性能感度/ボトルネックが、アプリケーションに応じて、計算/アクセラレータ、メモリ、ストレージもしくはネットワークリソースに存在してよい)と、(b)信頼性および柔軟性(例えば、いくつかの入力ストリームは、ミッションクリティカルな信頼性に沿って動作させられる必要があり、トラフィックは、ミッションクリティカルな信頼性でルーティングされる必要があり、一方、いくつかの他の入力ストリームは、アプリケーションに応じて、偶発的な故障を許容するものであってよい)と、(c)物理的制約(例えば、電力、冷却およびフォームファクタ)とに関して、変化する要件のバランスを取る。
これらのユースケースのエンドツーエンドサービス図は、サービス-フローの概念を伴っており、トランザクションに関連付けられている。トランザクションは、サービスを消費するエンティティのサービス要件全体、およびリソース、ワークロード、ワークフローの関連付けられたサービス、ならびにビジネス機能要件およびビジネスレベル要件の詳細に示している。説明された「用語」を用いて実行されるサービスは、サービスのライフサイクル中にトランザクションについてリアルタイムおよびランタイムの契約準拠を保証する態様で、各層において管理され得る。トランザクション内のコンポーネントがSLAに対する同意を欠いている場合、全体としてのシステム(トランザクション内の各コンポーネント)は、(1)SLA違反の影響を理解する能力、(2)システム内の他のコンポーネントを拡張してトランザクションSLA全体を再開する能力、および(3)段階を実装して修復をするための能力を提供し得る。
したがって、これらの変形およびサービス特性を念頭に置いて、エッジクラウド810内のエッジコンピューティングは、ユースケース905(例えば、オブジェクト追跡、ビデオ監視、コネクテッドカー等)の複数のアプリケーションに対してサービス提供および応答をリアルタイムまたは準リアルタイムで行う能力を提供し、これら複数のアプリケーションの超低レイテンシ要件を満たし得る。これらの利点により、全体的な新しいクラスのアプリケーション(仮想ネットワーク機能(VNF)、サービスとしての機能(FaaS)、サービスとしてのエッジ(EaaS)、標準的処理等)が可能になるが、これらのアプリケーションは、レイテンシまたは他の制限に起因して従来のクラウドコンピューティングを活用できない。
しかしながら、エッジコンピューティングの利点には、以下の注意事項が伴う。エッジに位置するデバイスは、制約を受けるリソースであることが多く、したがって、エッジリソースの使用に対する圧力が存在する。典型的には、これは、複数のユーザ(テナントおよびデバイス)による使用のためのメモリおよびストレージリソースのプールを通じて対処される。エッジは、制約を受ける電力および冷却であってよく、したがって、最も多くの電力を消費しているアプリケーションによる消費電力を考慮する必要がある。これらのプールされたメモリリソースには固有の電力-性能のトレードオフが存在し得る。なぜなら、それらのメモリリソースの多くは、より多くの電力により大きいメモリ帯域幅が必要となる新たに出現したメモリ技術を用いる可能性があるからである。同様に、改善されたハードウェアのセキュリティおよび信頼の基点機能も必要とされる。なぜなら、エッジ位置は、無人であってよく、さらには、アクセスの許可が必要となり得るからである(例えば、サードパーティ位置に収容されている場合)。そのような課題が、マルチテナント設定、マルチオーナー設定またはマルチアクセス設定でのエッジクラウド810において拡大されている。これらの設定では、特に、ネットワーク使用が動的に変動し、複数のステークホルダ、ユースケースおよびサービスの組成が変化するので、多くのユーザにより、サービスおよびアプリケーションが要求される。
より汎用的なレベルにおいて、エッジコンピューティングシステムは、クライアントおよび分散コンピューティングデバイスからの調整を提供する、エッジクラウド810(ネットワーク層900~940)内で動作する前述の層における任意の数の展開を包含するように説明され得る。1つまたは複数のエッジゲートウェイノード、1つまたは複数のエッジ集約ノードおよび1つまたは複数のコアデータセンタが、ネットワークの層にわたって分散されることで、電気通信サービスプロバイダ(「telco」または「TSP」)、モノのインターネットサービスプロバイダ、クラウドサービスプロバイダ(CSP)、企業エンティティまたは任意の他の数のエンティティにより、またはそれらに代わって、エッジコンピューティングシステムの実装が提供され得る。エッジコンピューティングシステムの様々な実装および構成が、例えばサービスの目的を満たすためにオーケストレーションされた場合、動的に提供され得る。
本明細書において提供される例では一貫して、クライアント計算ノードが、任意のタイプのエンドポイントコンポーネント、デバイス、アプライアンス、またはデータの生産者もしくは消費者として通信できる他のモノとして具現化され得る。さらに、エッジコンピューティングシステム内で用いられる「ノード」または「デバイス」というラベルは、そのようなノードまたはデバイスがクライアントまたはエージェント/ミニオン/フォロワの役割で動作することを必ずしも意味せず、むしろ、エッジコンピューティングシステム内のノードまたはデバイスのいずれも、個々のエンティティ、ノードまたはサブシステムを指し、これらのエンティティ、ノードまたはサブシステムは、エッジクラウド810を容易にするか用いるための別個のまたは接続されているハードウェア構成またはソフトウェア構成を含む。
したがって、エッジクラウド810は、ネットワーク層910~930の中でもエッジゲートウェイノード、エッジ集約ノードまたは他のエッジ計算ノードによりそれらの内部で動作させられるネットワークコンポーネントおよび機能的特徴から形成される。したがって、エッジクラウド810は、本明細書において説明される無線アクセスネットワーク(RAN)対応エンドポイントデバイス(例えば、モバイルコンピューティングデバイス、IoTデバイス、スマートデバイス等)に近接して位置する、エッジコンピューティングまたはストレージリソースを提供する任意のタイプのネットワークとして具現化され得る。言い換えると、エッジクラウド810は、モバイルキャリアネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))ネットワーク、ロングタームエボリューション(LTE)ネットワーク、5G/6Gネットワーク等)を含むサービスプロバイダコアネットワークへの入力ポイントとして機能しつつ格納機能または計算機能も提供するエンドポイントデバイスおよび従来のネットワークアクセスポイントを接続する「エッジ」として想定され得る。他のタイプおよび形態のネットワークアクセス(例えば、光ネットワークを含むWi-Fi(登録商標)ネットワーク、長距離無線ネットワーク、有線ネットワーク)も、そのような3GPP(登録商標)キャリアネットワークの代わりに、またはそのような3GPP(登録商標)キャリアネットワークと組み合わせて利用され得る。
エッジクラウド810のネットワークコンポーネントは、サーバ、マルチテナントサーバ、アプライアンスコンピューティングデバイスまたは任意の他のタイプのコンピューティングデバイスであってよい。例えば、エッジクラウド810は、ハウジング、シャーシ、ケースまたはシェルを含む自己完結型電子デバイスであるアプライアンスコンピューティングデバイスを含み得る。いくつかの状況では、ハウジングは、輸送され得るか人間により搬送得るように、ポータビリティに合わせた大きさにされ得る。例示的なハウジングは、アプライアンスの内容物を部分的にまたは完全に保護する1つまたは複数の外部表面を形成する材料を含み得る。この保護は、天候に対する保護、危険環境に対する保護(例えば、EMI、振動、極端な温度)を含んでもよく、潜水を可能にしてもよい。例示的なハウジングは、静止的またはポータブルな実装に対して電力を提供するための電力回路を含み得る。この電力回路は、AC電力入力、DC電力入力、AC/DCまたはDC/ACコンバータ、電力調整器、変圧器、充電回路、バッテリ、有線入力または無線電力入力などである。例示的なハウジングまたはそれらの表面は、建物、電気通信構造物(例えば、ポール、アンテナ構造物等)またはラック(例えば、サーバラック、ブレードマウント等)などの構造物への取り付けを可能にする搭載ハードウェアを含んでもよく、そのような載ハードウェアに接続してもよい。例示的なハウジングまたはそれらの表面は、1つまたは複数のセンサ(例えば、温度センサ、振動センサ、光センサ、音響センサ、静電容量式センサ、近接センサ等)をサポートし得る。1つまたは複数のそのようなセンサは、表面に含まれてもよく、表面により保持されてもよく、そうでなければ表面に埋め込まれてもよく、アプライアンスの表面に搭載されてもよい。例示的なハウジングまたはそれらの表面は、推進ハードウェア(例えば、ホイール、プロペラ等)または関節ハードウェア(例えば、ロボットアーム、旋回可能アベンデージ等)など、機械接続性をサポートし得る。いくつかの状況では、センサは、ユーザインタフェースハードウェア(例えば、ボタン、スイッチ、ダイヤル、スライダ等)など、任意のタイプの入力デバイスを含み得る。いくつかの状況では、例示的なハウジングは、そのような入力デバイスに含まれるか、保持されるか、埋め込まれるか、取り付けられる出力デバイスを含む。出力デバイスは、ディスプレイ、タッチスクリーン、照明、LED、スピーカ、I/Oポート(例えば、USB)等を含み得る。いくつかの状況では、エッジデバイスは、特定の目的のためのネットワーク内に示されるデバイス(例えば、交通信号灯)であるが、他の目的で利用され得る処理または他の容量を有し得る。そのようなエッジデバイスは、他のネットワークデバイスから独立していてよく、その主たる目的に適したフォームファクタを有するハウジングが設けられてよく、さらに、その主たるタスクを妨げない他の計算タスクのために利用可能であってよい。エッジデバイスは、モノのインターネットデバイスを含む。アプライアンスコンピューティングデバイスは、例えば、デバイス温度、振動、リソース利用、更新、電力課題、物理セキュリティおよびネットワークセキュリティ等、局所的な課題を管理するためのハードウェアコンポーネントおよびソフトウェアコンポーネントを含み得る。アプライアンスコンピューティングデバイスを実装するための例示的なハードウェアを図13Bと併せて説明する。エッジクラウド810は、1つまたは複数のサーバまたは1つまたは複数のマルチテナントサーバも含み得る。そのようなサーバは、オペレーティングシステムを含んでよく、仮想コンピューティング環境を実装してよい。仮想コンピューティング環境は、1つまたは複数の仮想マシン、1つまたは複数のコンテナ等の管理(例えば、生成、展開、破壊等)をするハイパーバイザを含み得る。そのような仮想コンピューティング環境は、実行環境を提供する。この実行環境内では、1つまたは複数のアプリケーションまたは他のソフトウェア、コードまたはスクリプトが、1つまたは複数の他のアプリケーション、ソフトウェア、コードまたはスクリプトから分離されつつ、実行され得る。
図10において、(モバイルデバイス、コンピュータ、自律走行車、ビジネスコンピューティング機器、産業処理機器の形態の)様々なクライアントエンドポイント1010が、エンドポイントネットワーク集約のタイプに固有の要求および応答を交換する。例えば、クライアントエンドポイント1010は、オンプレミスネットワークシステム1032を通じて要求および応答1022を交換することにより、有線ブロードバンドネットワークを介してネットワークアクセスを取得し得る。モバイルコンピューティングデバイスなど、いくつかのクライアントエンドポイント1010は、アクセスポイント(例えば、セルラネットワークタワー)1034を通じて要求および応答1024を交換することにより、無線ブロードバンドネットワークを介してネットワークアクセスを取得し得る。自律走行車など、いくつかのクライアントエンドポイント1010は、道に位置するネットワークシステム1036を通じた無線車両ネットワークを介して、要求および応答1026のためにネットワークアクセスを取得し得る。しかしながら、ネットワークアクセスのタイプにかかわらず、TSPは、エッジクラウド810内に集約ポイント1042、1044を展開して、トラフィックおよび要求を集約し得る。したがって、エッジクラウド810内で、TSPは、様々な計算リソースおよびストレージリソースを例えばエッジ集約ノード1040において展開して、要求されたコンテンツを提供し得る。エッジクラウド810のエッジ集約ノード1040および他のシステムは、クラウドまたはデータセンタ1060に接続されている。クラウドまたはデータセンタ1060は、バックホールネットワーク1050を用いて、ウェブサイト、アプリケーション、データベースサーバ等についてのクラウド/データセンタからのより高レイテンシの要求を履行する。単一のサーバフレームワーク上に展開されたものを含む、エッジ集約ノード1040および集約ポイント1042、1044の追加のまたは統合されたインスタンスは、TSPインフラストラクチャのエッジクラウド810または他のエリア内にも存在し得る。
図11は、複数のエッジノードおよび複数のテナント(例えば、ユーザ、プロバイダ)の中で動作させられる、そのようなエッジノードを用いたエッジコンピューティングシステムにわたる仮想化されたコンテナベースのエッジ構成の展開およびオーケストレーションを示す。具体的には、図11は、様々な仮想エッジインスタンスにアクセスする様々なクライアントエンドポイント1110(例えば、スマートシティ/ビルディングシステム、モバイルデバイス、コンピューティングデバイス、ビジネス/ロジスティックシステム、産業システム等)についての要求および応答を履行するための、エッジコンピューティングシステム内の、第1のエッジノード1122および第2のエッジノード1124の調整を示す。ここで、仮想エッジインスタンス1132、1134は、ウェブサイト、アプリケーション、データベースサーバ等についてのより高レイテンシの要求のためにクラウド/データセンタ1140にアクセスすると共に、エッジクラウド内のエッジ計算機能および処理を提供する。しかしながら、エッジクラウドは、複数のテナントまたはエンティティのための複数のエッジノードの中の処理の調整を可能にする。
図11の例において、これらの仮想エッジインスタンスは、第1のテナント(テナント1)に提供され、エッジと、ストレージと、計算と、サービスとの第1の組み合わせを提供する第1の仮想エッジ1132、および、エッジと、ストレージと、計算とサービスとの第2の組み合わせを提供する第2の仮想エッジ1134を含む。仮想エッジインスタンス1132、1134は、エッジノード1122、1124中に分散されている。仮想エッジインスタンス1132、1134は、同じまたは異なるエッジノードからの要求および応答が履行されるシナリオを含み得る。分散されながらも調整された方式で動作するためのエッジノード1122、1124の構成は、エッジプロビジョニング機能1150に基づいて行われる。複数のテナント中でアプリケーションおよびサービスに調整された動作を提供するためのエッジノード1122、1124の機能は、オーケストレーション機能1160に基づいて行われる。
1110内のデバイスのいくつかがマルチテナントデバイスであり、マルチテナントデバイスにおいて、テナント1がテナント1「スライス」内で機能してよく、テナント2がテナント2スライス内で機能してよい(また、さらなる例において、追加のテナントまたはサブテナントが存在してよく、各テナントは、さらに、具体的に権利を与えられ、特定のハードウェア機能まで機能の特定のセットへトランザクションに関して連結されてよい)ことを理解されたい。信頼できるマルチテナントデバイスは、キーとスライスとの組み合わせが「信頼の基点」(RoT)またはテナント固有のRoTとみなされ得るように、テナント固有の暗号キーをさらに含み得る。デバイス機能の階層化用に層状の信頼できるコンピューティングベースコンテキスト(フィールドプログラマブルゲートアレイ(FPGA)など)を構築するために単一のDICE(デバイス識別組成エンジン)ハードウェア構成単位が用いられ得るように、RoTはさらに、DICEアーキテクチャを用いて構成され動的に計算され得る。RoTはさらに、マルチテナンシーをサポートするのに有用である「ファンアウト」を可能にするために、信頼できるコンピューティングコンテキストに用いられ得る。マルチテナント環境内で、それぞれのエッジノード1122、1124は、ノード毎に複数のテナントに割り当てられたローカルリソースのためのセキュリティ機能実施点として動作し得る。さらに、テナントランタイムおよびアプリケーション実行(例えば、インスタンス1132、1134でのもの)は、潜在的に複数の物理ホストプラットフォームに及ぶリソースの仮想エッジ抽象化を生成するセキュリティ機能のための実施点として機能し得る。最終的に、オーケストレーションエンティティにおけるオーケストレーション機能1160は、テナント境界に沿ってリソースをマーシャリングするためのセキュリティ機能実施点として動作し得る。
エッジコンピューティングノードは、リソース(メモリ、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、割込みコントローラ、入力/出力(I/O)コントローラ、メモリコントローラ、バスコントローラ等)をパーティション化し得る。それぞれのパーティション化は、RoT機能を含んでよく、DICEモデルによるファンアウトおよび階層化がエッジノードへさらに適用されてよい。クラウドコンピューティングノードは、RoTコンテキストをサポートするためにDICE階層化およびファンアウト構造に従ってパーティション化され得るコンテナ、FaaSエンジン、サーブレット、サーバまたは他の計算抽象化を用いることが多い。したがって、全ての要素をエンドツーエンドでリンクさせるテナント固有の仮想信頼セキュアチャネルが確立され得るように、それぞれのRoTスパニングデバイス1110、1122および1140は、分散型の信頼できるコンピューティングベース(DTCB)の確立を調整し得る。
さらに、コンテナが前のエッジノードからそのコンテンツを保護するデータまたはワークロードに固有のキーを有し得ることが理解されよう。コンテナの移行の一部として、ソースエッジノードにおけるポッドコントローラが、ターゲットエッジノードポッドコントローラから移行キーを取得し得る。ターゲットエッジノードポッドコントローラでは、コンテナ固有のキーをラッピングするために移行キーが用いられる。コンテナ/ポッドがターゲットエッジノードへ移行される場合、ラップ解除キーは、ラッピングキーを次に復号するポッドコントローラへ公開される。これらのキーは、ここで、コンテナ固有のデータに対して動作を実行するために用いられ得る。移行機能は、適切に証明されたエッジノードおよびポッドマネージャによりゲーティングされ得る(上で説明したとおり)。
さらなる例において、エッジコンピューティングシステムが、マルチオーナー、マルチテナント環境内のコンテナ(コードと必要な依存性とを提供するソフトウェアの含まれる展開可能なユニット)の使用を通じて複数のアプリケーションのオーケストレーションを提供するように拡張される。キー管理と、トラストアンカー管理と、図11における信頼できる「スライス」の概念のプロビジョニングおよびライフサイクルに関連する他のセキュリティ機能とを実行するために、マルチテナントオーケストレータが用いられ得る。例えば、エッジコンピューティングシステムは、複数の仮想エッジインスタンスからの(およびクラウドまたはリモートデータセンタからの)様々なクライアントエンドポイントについての要求および応答を履行するように構成され得る。これらの仮想エッジインスタンスを用いることで、複数のテナントおよび複数のアプリケーション(例えば、拡張現実(AR)/仮想現実(VR)、企業アプリケーション、コンテンツ配信、ゲーム計算オフロード)を同時にサポートし得る。さらに、仮想エッジインスタンス内には、複数のタイプのアプリケーション(例えば、通常のアプリケーション、レイテンシ感応性アプリケーション、レイテンシクリティカルなアプリケーション、ユーザプレーンアプリケーション、ネットワーキングアプリケーション等)が存在し得る。また、仮想エッジインスタンスは、異なり地理的位置における複数の所有者のシステム(または複数の所有者により共同所有または共同管理されるそれぞれのコンピューティングシステムおよびリソース)にわたって及び得る。
例えば、各エッジノード1122、1124は、例えば、1つまたは複数のコンテナのグループを提供するコンテナ「ポッド」1126、1128の使用と共に、コンテナの使用を実装し得る。1つまたは複数のコンテナポッドを用いる設定において、ポッドコントローラまたはオーケストレータは、ポッド内のコンテナの局所的な制御およびオーケストレーションを担う。それぞれのエッジスライス1132、1134のために提供される様々なエッジノードリソース(例えば、六角形で示されるストレージ、計算サービス)が、各コンテナのニーズに従ってパーティション化される。
コンテナポッドを用いて、ポッドコントローラは、コンテナおよびリソースのパーティション化および割り当てを監督する。ポッドコントローラは、例えば、SLA契約に基づく重要性能インジケータ(KPI)ターゲットを受信することにより、物理リソースの最良のパーティション化をどのように行うかと、どれくらいの期間かとに関してコントローラに命令するオーケストレータ(例えば、オーケストレータ1160)からの命令を受信する。ポッドコントローラは、ワークロードを完了させてSLAを満たすべく、どのコンテナがどのリソースを必要としているかと、どれくらいの期間かとを決定する。また、ポッドコントローラは、例えば、コンテナの生成、リソースおよびアプリケーションのプロビジョニング、分散アプリケーション上で共に動作する複数のコンテナ間の中間結果の調整、およびワークロードが完了した場合のコンテナの取り外し等、コンテナライフサイクル動作を管理する。さらに、ポッドコントローラは、正しいテナントが認証するまでリソースの割り当てを防ぐか、証明結果が満たされるまでコンテナへのデータまたはワークロードのプロビジョニングを防ぐセキュリティに関する役割を果たし得る。
また、コンテナポッドの使用と共に、テナント境界が、依然として、だがコンテナの各ポッドの文脈において、存在し得る。各テナント固有ポッドがテナント固有ポッドコントローラを有する場合、リソース割り当て要求を統合して典型的なリソース枯渇状況を回避する共有ポッドコントローラが存在する。さらに、ポッドおよびポッドコントローラの証明および信頼性を保証するために、制御が提供され得る。例えば、オーケストレータ1160は、証明検証を実行するローカルポッドコントローラに証明検証ポリシーをプロビジョニングし得る。証明が第2のテナントポッドコントローラではなく第1のテナントポッドコントローラについてのポリシーを満たしている場合、第2のポッドは、このポリシーを満たす異なるエッジノードへ移行され得る。代替的に、第1のポッドは、実行が可能になってよく、異なる共有ポッドコントローラが、インストールされ、第2のポッドの実行の前に呼び出される。
図12は、エッジコンピューティングシステム内にコンテナを展開した追加の計算配置を示す。簡略化された例として、システム配置1210、1220は、設定を示す。これらの設定では、コンテナ化されたポッドと、機能と、サービスとしての機能のインスタンスとを計算ノード(配置1210内の1215)を介した実行を通じて起動するように、または、計算ノード(配置1220内の1223)を介した実行を通じてコンテナ化された仮想化ネットワーク機能を別個に実行するように、ポッドコントローラ(例えば、コンテナマネージャ1211、1221)およびコンテナオーケストレータ1231が適合させられるこの配置は、(計算ノード1237を用いた)システム配置1230内の複数のテナントの使用のために適合させられる。システム配置1230では、(仮想化ネットワーク機能の実行の他に、)コンテナ化されたポッド(例えば、ポッド1212)、機能(例えば、機能1213、VNF1222、1236)およびサービスとしての機能のインスタンス(例えば、FaaSインスタンス1214)が、それぞれのテナントに固有の仮想マシン(例えば、テナント1232、1233のVM1234、1235)内で起動される。この配置は、コンテナベースオーケストレーションシステム1241により調整されるように、コンテナ1242、1243を提供するシステム配置1240内での使用のために、または計算ノード1244上の様々な機能、アプリケーションおよび機能の実行のために、さらに適合させられる。
図12に示されるシステム配置は、アプリケーション組成に関してVM、コンテナおよび機能を等しく扱うアーキテクチャを提供する(また、結果として生じるアプリケーションは、これら3つの構成要素の組み合わせである)。各構成要素は、ローカルバックエンドとしての1つまたは複数のアクセラレータ(FPGA、ASIC)コンポーネントの使用を伴い得る。このように、複数のアプリケーションが、複数のエッジ所有者にわたって分割されてよく、これはオーケストレータにより調整される。
図12の文脈において、ポッドコントローラ/コンテナマネージャ、コンテナオーケストレータおよび個々のノードは、セキュリティ実施点を提供し得る。しかしながら、テナントに割り当てられたリソースが第2のテナントに割り当てられたリソースとは別個のものである場合、テナントの分離がオーケストレーションされ得るが、エッジ所有者は、リソースの割り当てがテナント境界にわたって共有されないことを保証するために連携する。または、リソースの割り当ては、テナント境界にわたって分離され得る。なぜなら、テナントがサブスクリプションまたはトランザクション/契約を介して「使用」を可能にし得るからである。これらの文脈において、仮想化、コンテナ化、エンクレーブおよびハードウェアパーティション化スキームは、エッジ所有者がテナンシーを実施するために用いられ得る。他の分離環境は、ベアメタル(専用)機器、仮想マシン、コンテナ、コンテナ上の仮想マシン、またはそれらの組み合わせを含み得る。
さらなる例において、ソフトウェアにより定義または制御されるシリコンハードウェアおよび他の構成可能なハードウェアの態様が、エッジコンピューティングシステムによりアプリケーション、機能およびサービスと統合され得る。ソフトウェアにより定義されるシリコン(SDSi)は、契約またはサービスレベルアグリーメントを履行するというあるリソースまたはハードウェア構成要素の能力を、それ自体またはワークロードのある部分を(例えば、ハードウェア構成自体の内部の新しい機能のアップグレード、再構成またはプロビジョニングにより)修復するというこの構成要素の能力に基づいて保証するために用いられ得る。
さらなる例において、本エッジコンピューティングシステムおよび環境を参照して説明された計算ノードまたはデバイスのいずれも、図13Aおよび図13Bに示されるコンポーネントに基づいて実現され得る。それぞれのエッジ計算ノードは、他のエッジコンポーネント、ネットワーキングコンポーネントまたはエンドポイントコンポーネントと通信できる、あるタイプのデバイス、アプライアンス、コンピュータまたは他の「モノ」として具現化され得る。例えば、エッジ計算デバイスは、パーソナルコンピュータ、サーバ、スマートフォン、モバイル計算デバイス、スマートアプライアンス、車載計算システム(例えば、ナビゲーションシステム)、外側ケース、シェル等を有する自己完結型デバイス、または説明された機能を実行できる他のデバイスもしくはシステムとして具現化され得る。
図13Aに示される簡略化された例において、エッジ計算ノード1300が、計算エンジン(本明細書において、「計算回路」とも称される)1302、入力/出力(I/O)サブシステム1308、データストレージ1310、通信回路サブシステム1312、および任意選択的に、1つまたは複数の周辺デバイス1314を含む。他の例において、それぞれの計算デバイスが、典型的にはコンピュータ内で見られるもの(例えば、ディスプレイ、周辺デバイス等)など、他のまたは追加のコンポーネントを含み得る。さらに、いくつかの例において、例示的なコンポーネントのうちの1つまたは複数は、別のコンポーネントに組み込まれてもよく、そうでなければ別のコンポーネントの一部分を形成してもよい。
計算ノード1300は、様々な計算機能を実行できる任意のタイプのエンジン、デバイスまたはデバイス集合体として具現化され得る。いくつかの例において、計算ノード1300は、集積回路、埋め込み型システム、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)または他の統合されたシステムもしくはデバイスなど、単一のデバイスとして具現化され得る。例示的な例において、計算ノード1300は、プロセッサ1304およびメモリ1306を含むか、プロセッサ1304およびメモリ1306として具現化される。プロセッサ1304は、本明細書において説明された機能(例えば、アプリケーションの実行)を実行できる任意のタイプのプロセッサとして具現化され得る。例えば、プロセッサ1304は、マルチコアプロセッサ、マイクロコントローラ、処理ユニット、特殊もしくは専用処理ユニットまたは他のプロセッサもしくは処理/制御回路として具現化され得る。
いくつかの例において、プロセッサ1304は、FPGA、特定用途向け集積回路(ASIC)、再構成可能なハードウェアもしくはハードウェア回路、または本明細書において説明された機能の実行を容易にする他の特殊ハードウェアとして具現化されてもよく、それらを含んでもよく、それらに結合されてもよい。いくつかの例においても、プロセッサ1304は、データ処理ユニット(DPU)、インフラストラクチャ処理ユニット(IPU)またはネットワーク処理ユニット(NPU)としても知られる特殊x処理ユニット(xPU)として具現化され得る。そのようなxPUは、SoC内に統合されているか、ネットワーキング回路(例えば、SmartNICまたは拡張SmartNIC)、アクセラレーション回路、ストレージデバイスまたはAIハードウェア(例えば、GPUまたはプログラムされたFPGA)と統合されているスタンドアロン型の回路または回路パッケージとして具現化され得る。そのようなxPUは、プログラミングを受信して、1つまたは複数のデータストリームを処理し、このデータストリームについての特定のタスクおよびアクション(マイクロサービスのホスティング、サービス管理もしくはオーケストレーションの実行、サーバもしくはデータセンタハードウェアの編成もしくは管理、サービスメッシュの管理、またはテレメトリの収集および分散など)をCPUまたは汎用処理ハードウェアの外部で実行するように設計され得る。しかしながら、xPU、SoC、CPU、およびプロセッサ1304の他の変形が、計算ノード1300内で計算ノード1300に代わって多くのタイプの動作および命令を実行するために互いに協調して動作し得ることが理解されよう。
メモリ1306は、本明細書において説明された機能を実行できる任意のタイプの揮発性メモリもしくはデータストレージ(例えば、ダイナミックランダムアクセスメモリ(DRAM)等)または不揮発性メモリまたはデータストレージとして具現化され得る。揮発性メモリは、媒体により格納されるデータの状態を維持するために電力を必要とする記憶媒体であってよい。揮発性メモリの非限定的な例は、DRAMまたはスタティックランダムアクセスメモリ(SRAM)など、様々なタイプのランダムアクセスメモリ(RAM)を含み得る。メモリモジュール内で用いられ得るDRAMの具体的なタイプの1つが、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)である。
一例において、メモリデバイスは、NAND技術またはNOR技術に基づくものなど、ブロックアドレス指定可能メモリデバイスである。メモリデバイスは、3次元クロスポイントメモリデバイス(例えば、Intel(登録商標) 3D XPoint(商標)メモリ)または他のバイトアドレス指定可能所定位置書き込み型不揮発性メモリデバイスも含み得る。メモリデバイスは、ダイ自体またはパッケージメモリ製品を指し得る。いくつかの例において、3Dクロスポイントメモリ(例えば、Intel(登録商標) 3D XPoint(商標)メモリ)は、トランジスタ無しの積層可能クロスポイントアーキテクチャを含み得る。このアーキテクチャでは、メモリセルがワード線とビット線との交点に位置すると共に個々にアドレス指定可能であり、ビットストレージがバルク抵抗の変化に基づく。いくつかの例において、メモリ1306の全部または一部が、プロセッサ1304へ統合され得る。メモリ1306は、アプリケーション、ライブラリおよびドライバ上で動作させられる1つまたは複数のアプリケーション、データなど、動作中に用いられる様々なソフトウェアおよびデータを格納し得る。
計算回路1302は、I/Oサブシステム1308を介して、計算ノード1300の他のコンポーネントに通信可能に結合される。これらの他のコンポーネントは、計算回路1302を用いて(例えば、計算回路1302のプロセッサ1304またはメインメモリ1306および他のコンポーネントを用いて)入力/出力動作を容易にするための回路またはコンポーネントとして具現化され得る。例えば、I/Oサブシステム1308は、メモリコントローラハブ、入力/出力制御ハブ、統合センサハブ、ファームウェアデバイス、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、電線、ケーブル、光ガイド、プリント回路基板トレース等)、または入力動作/出力動作を容易にするための他のコンポーネントおよびサブシステムとして具現化されてもよく、そうでなければこれらを含んでよい。いくつかの例において、I/Oサブシステム1308は、システムオンチップ(SoC)の一部分を形成してよく、計算回路1302のプロセッサ1304、メモリ1306および他のコンポーネントのうちの1つまたは複数と共に計算回路1302へ組み込まれてよい。
1つまたは複数の例示的なデータストレージデバイス1310は、例えば、メモリデバイスおよび回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブまたは他のデータストレージデバイスなど、データの短期的または長期的な格納のために構成された任意のタイプのデバイスとして具現化され得る。個々のデータストレージデバイス1310は、データストレージデバイス1310のためのデータおよbファームウェアコードを格納するシステムパーティションを含み得る。個々のデータストレージデバイス1310は、例えば計算ノード1300のタイプに応じてオペレーティングシステムのためのデータファイルおよび実行ファイルを格納する1つまたは複数のオペレーティングシステムパーティションも含み得る。
通信回路1312は、計算回路1302と別の計算デバイスとの間のネットワークを介した通信を可能にすることができる任意の通信回路、デバイスまたはそれらの集合体(例えば、実装しているエッジコンピューティングシステムのエッジゲートウェイ)として具現化され得る。通信回路1312は、任意の1つまたは複数の通信技術(例えば、有線通信または無線通信)および関連付けられたプロトコル(例えば、3GPP(登録商標)4Gまたは5G規格などのセルラネットワーキングプロトコル、IEEE802.11/Wi-Fi(登録商標)などの無線ローカルエリアネットワークプロトコル、無線ワイドエリアネットワークプロトコル、Ethernet(登録商標)、Bluetooth(登録商標)、Bluetooth Low Energy、IEEE802.15.4もしくはZigBee(登録商標)などのIoTプロトコル、または低電力ワイドエリアネットワーク(LPWAN)プロトコルもしくは低電力ワイドエリア(LPWA)プロトコル等)を用いてそのような通信を実現するように構成され得る。
例示的な通信回路1312は、ホストファブリックインタフェース(HFI)とも称され得るネットワークインタフェースコントローラ(NIC)1320を含む。NIC1320は、1つまたは複数のアドイン基板、ドーターカード、ネットワークインタフェースカード、コントローラチップ、チップセット、または別の計算デバイスと接続するために計算ノード1300により用いられ得る他のデバイス(例えば、エッジゲートウェイノード)として具現化され得る。いくつかの例において、NIC1320は、1つまたは複数のプロセッサを含むシステムオンチップ(SoC)の一部として具現化されてもよく、1つまたは複数のプロセッサをやはり含むマルチチップパッケージに含まれてもよい。いくつかの例において、NIC1320は、ローカルプロセッサ(不図示)またはローカルメモリ(不図示)を含んでよく、これらは両方とも、NIC1320に対してローカルであるそのような例において、NIC1320のローカルプロセッサは、本明細書において説明された計算回路1302の機能のうちの1つまたは複数を実行でき得る。さらに、または代替的に、そのような例において、NIC1320のローカルメモリは、基板レベル、ソケットレベル、チップレベルまたは他のレベルで、クライアント計算ノードの1つまたは複数のコンポーネントへ統合され得る。
さらに、いくつかの例において、それぞれの計算ノード1300は、1つまたは複数の周辺デバイス1314を含み得る。そのような周辺デバイス1314は、計算ノード1300の具体的なタイプに応じて、オーディオ入力デバイス、ディスプレイ、他の入力/出力デバイス、インタフェースデバイスまたは他の周辺デバイスなど、計算デバイスまたはサーバ内で見られる任意のタイプの周辺デバイスを含み得る。さらなる例において、計算ノード1300は、エッジコンピューティングシステム内のそれぞれのエッジ計算ノード(クライアントノードであるか、ゲートウェイノードであるか、集約ノードであるかを問わず)または同様の形態のアプライアンス、コンピュータ、サブシステム、回路もしくは他のコンポーネントにより具現化され得る。
より詳細な例において、図13Bは、本明細書において説明された技術(例えば、動作、処理、方法および方法論)を実装するためのエッジコンピューティングノード1350内に存在し得るコンポーネントの一例のブロック図を示す。このエッジコンピューティングノード1350は、コンピューティングデバイス(例えば、モバイルデバイス、基地局、サーバ、ゲートウェイ等)として、またはその一部として実装された場合、ノード1300のそれぞれのコンポーネントのより近いビューを提供する。エッジコンピューティングノード1350は、本明細書において参照されたハードウェアコンポーネントまたは論理コンポーネントの任意の組み合わせを含んでよく、かつ、エッジ通信ネットワークまたはそのようなネットワークの組み合わせと共に使用可能な任意のデバイスを含んでもよく、この任意のデバイスと結合してもよい。これらのコンポーネントは、集積回路(IC)、その各部分、別個の電子デバイスもしくは他のモジュール、命令セット、プログラマブルロジックもしくはアルゴリズム、ハードウェア、ハードウェアアクセラレータ、ソフトウェア、ファームウェア、またはエッジコンピューティングノード1350内で適合させられたそれらの組み合わせとして、または、より大きいシステムのシャーシ内に別の手法で組み込まれたコンポーネントとして実装され得る。
エッジコンピューティングデバイス1350は、プロセッサ1352の形態の処理回路を含んでよい。プロセッサ1352は、マイクロプロセッサ、マルチコアプロセッサ、マルチスレッドプロセッサ、超低電圧プロセッサ、埋め込みプロセッサ、xPU/DPU/IPU/NPU、専用処理ユニット、特殊処理ユニットまたは他の既知の処理要素であってよい。プロセッサ1352は、プロセッサ1352および他のコンポーネントが、単一の集積回路内に、またはカリフォルニア州サンタクララのIntel CorporationのEdison(商標)もしくはGalileo(商標) SoC基板などの単一のパッケージ内に形成されるシステムオンチップ(SoC)の一部であってよい。一例として、プロセッサ1352は、Quark(商標)、Atom(商標)、i3、i5、i7、i9もしくはMCUクラスのプロセッサなどのIntel(登録商標) Architecture Core(商標)ベースのCPUプロセッサ、またはIntel(登録商標)から入手可能な別のそのようなプロセッサを含んでよい。しかしながら、カリフォルニア州サニーベールのAdvanced Micro Devices, Inc.(AMD(登録商標))、カリフォルニア州サニーベールのMIPS(登録商標) Technologies, Inc.のMIPSベースの設計、ARM(登録商標) Holdings, Ltd.からライセンスされるARMベースの設計またはそれらの顧客もしくはそれらのライセンシもしくは採用者から入手可能なものなど、任意の数の他のプロセッサが用いられ得る。
これらのプロセッサは、Apple(登録商標)Inc.のA5-A13プロセッサ、Qualcomm(登録商標)Technologies, Inc.のSnapdragon(商標)プロセッサ、またはTexas Instruments, Inc.のOMAP(商標)プロセッサなどのユニットを含み得る。プロセッサ1352および付随する回路が、シングルソケットフォームファクタ、マルチソケットフォームファクタ、または図13Bに示される全ての要素よりも少ない要素を含む1つまたは複数の制限されたハードウェア構成といった様々な他のフォーマットで提供され得る。
プロセッサ1352は、相互接続1356(例えば、バス)を介してシステムメモリ1354と通信し得る。任意の数のメモリデバイスを用いて、所与の量のシステムメモリを提供し得る。例として、メモリ1354は、DDRまたはモバイルDDRの規格(例えば、LPDDR、LPDDR2、LPDDR3またはLPDDR4)などの電子機器技術評議会(JEDEC)の設計に従ったランダムアクセスメモリ(RAM)であってよい。特定の例において、メモリコンポーネントは、JESD79F用のDDR SDRAM、DDR2 SDRAM用のJESD79-2F、DDR3 SDRAM用のJESD79-3F、DDR4 SDRAM用のJESD79-4A、低電力DDR(LPDDR)用のJESD209、LPDDR2用のJESD209-2、LPDDR3用のJESD209-3およびLPDDR4用のJESD209-4など、JEDECにより公表されるDRAM規格に準拠し得る。そのような規格(および同様の規格)は、DDRベース規格と称されることがあり、そのような規格を実装するストレージデバイスの通信インタフェースは、DDRベースインタフェースと称されることがある。様々な実装において、個々のメモリデバイスは、シングルダイパッケージ(SDP)、デュアルダイパッケージ(DDP)またはクアッドダイパッケージ(Q17P)など、任意の数の異なるパッケージタイプのものであってよい。いくつかの例では、これらのデバイスをマザーボード上へ直接はんだ付けしてより低いプロファイルの解決手段を提供し得るが、他の例では、デバイスは、結果として所与のコネクタによりマザーボードに結合する1つまたは複数のメモリモジュールとして構成される。例えば、限定されるわけではないがmicroDIMMまたはMiniDIMMを含む異なる種類のデュアルインラインメモリモジュール(DIMM)といった、他のタイプのメモリモジュールなど、任意の数の他のメモリ実装が用いられ得る。
例えば、データ、アプリケーションおよびオペレーティングシステム等の情報の永続的な格納を提供するために、ストレージ1358は、相互接続1356を介してプロセッサ1352にも結合し得る。一例において、ストレージ1358は、ソリッドステートディスクドライブ(SSDD)を介して実装され得る。ストレージ1358のために用いられ得る他のデバイスは、例えばセキュアデジタル(SD)カード、microSDカード、eXtreme Digital(XD)ピクチャカード等のフラッシュメモリカードと、ユニバーサルシリアルバス(USB)フラッシュドライブとを含む。一例において、メモリデバイスは、カルコゲナイドガラス、マルチ閾値レベルNANDフラッシュメモリ、NORフラッシュメモリ、シングルまたはマルチレベル相変化メモリ(PCM)、抵抗変化メモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)、反強誘電体メモリ、メモリスタ技術を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)、金属酸化物基と、酸素空孔基と、導電性ブリッジランダムアクセスメモリ(CB-RAM)もしくはスピントランスファトルク(STT)-MRAMとを含む抵抗変化メモリを用いるメモリデバイス、スピントロニック磁気接合メモリベースデバイス、磁気トンネル接合(MTJ)ベースデバイス、DW(磁壁)およびSOT(スピン軌道トランスファ)転送ベースデバイス、サイリスタベースメモリデバイス、または上記のもののいずれかの組み合わせ、もしくは他のメモリであってもよく、それらを含んでもよい。
低電力の実装において、ストレージ1358は、プロセッサ1352に関連付けられたオンダイメモリまたはレジスタであってよい。ただし、いくつかの例では、ストレージ1358は、マイクロハードディスクドライブ(HDD)を用いて実装され得る。さらに、とりわけ、抵抗変化メモリ、相変化メモリ、ホログラフィックメモリまたは化学メモリなどの説明された技術に加えて、またはそれらの代わりに、任意の数の新しい技術がストレージ1358に用いられ得る。
これらのコンポーネントは、相互接続1356を介して通信し得る。相互接続1356は、業界標準アーキテクチャ(ISA)、拡張ISA(EISA)、周辺コンポーネント相互接続(PCI)、周辺コンポーネント相互接続拡張(PCIx)、PCIエクスプレス(PCIe)を含む任意の数の技術、または任意の数の他の技術を含み得る。相互接続1356は、例えば、SoCベースのシステムにおいて用いられるプロプライエタリバスであってよい。とりわけ、集積回路間(I2C)インタフェース、シリアル周辺インタフェース(SPI)、ポイントツーポイントインタフェースおよび電力バスなど、他のバスシステムが含まれ得る。
相互接続1356は、接続されているエッジデバイス1362との通信のために、プロセッサ1352をトランシーバ1366に結合させ得る。トランシーバ1366は、とりわけ、Bluetooth(登録商標) Special Interest Groupにより定義されているBluetooth(登録商標) low energy(BLE)規格またはZigBee規格を用いた、IEEE802.15.4規格に基づく2.4ギガヘルツ(GHz)伝送など、任意の数の周波数およびプロトコルを用い得る。特定の無線通信プロトコル用に構成された任意の数の無線機が、接続されているエッジデバイス1362への接続のために用いられ得る。例えば、無線ローカルエリアネットワーク(WLAN)ユニットが、米国電気電子技術者協会(IEEE)802.11規格に従ってWi-Fi(登録商標)通信を実装するために用いられ得る。加えて、例えば、セルラまたは他の無線ワイドエリアプロトコルによる無線ワイドエリア通信が、無線ワイドエリアネットワーク(WWAN)ユニットを介して行われ得る。
無線ネットワークトランシーバ1366(または複数のトランシーバ)は、異なる範囲での通信のための複数の規格または無線機を用いて通信し得る。例えば、エッジコンピューティングノード1350は、Bluetooth Low Energy(BLE)または別の低電力無線に基づきローカルトランシーバを用いて、例えば、約10メートル以内の近接するデバイスと通信することで、電力を節約し得る。例えば約50メートル以内の、より遠い接続されているエッジデバイス1362が、ZigBee(登録商標)または他の中間電力無線機を介して到達され得る。両方の通信技術は、異なる電力レベルで単一の無線機を介して行われてもよく、例えば、BLEを用いるローカルトランシーバおよびZigBee(登録商標)を用いる別個のメッシュトランシーバといった別個の複数のトランシーバを介して行われてもよい。
ローカルエリアネットワークプロトコルまたはワイドエリアネットワークプロトコルを介してクラウド(例えば、エッジクラウド1395)内のデバイスまたはサービスと通信するために、無線ネットワークトランシーバ1366(例えば、無線トランシーバ)が含まれ得る。無線ネットワークトランシーバ1366は、とりわけ、IEEE802.15.4規格またはIEEE802.15.4g規格に従った低電力ワイドエリア(LPWA)トランシーバであってよい。エッジコンピューティングノード1350は、SemtechおよびLoRa Allianceにより開発されたLoRaWAN(商標)(長距離ワイドエリアネットワーク)を用いて、広域にわたって通信し得る。本明細書において説明された技術は、これらの技術に限定されないが、Sigfoxなどの長距離低帯域幅通信を実装する任意の数の他のクラウドトランシーバ、および他の技術と共に用いられ得る。さらに、IEEE802.15.4e仕様において説明されるタイムスロットチャネルホッピングなどの他の通信技術が用いられ得る。
本明細書において説明するように、無線ネットワークトランシーバ1366について言及されたシステムに加え、任意の数の他の無線通信およびプロトコルが用いられ得る。例えば、トランシーバ1366は、高速通信を実装するためにスペクトル拡散(SPA/SAS)通信を用いるセルラトランシーバを含み得る。さらに、ネットワーク通信の提供および中速通信のためのWi-Fi(登録商標)ネットワークなど、任意の数の他のプロトコルが用いられ得る。トランシーバ1366は、本開示の末尾でさらに詳細に説明されるようなロングタームエボリューション(LTE)通信システムおよび第5世代(5G)通信システムなどの任意の数の3GPP(登録商標)(第3世代パートナーシッププロジェクト)仕様と互換性がある無線機を含み得る。エッジクラウド1395のノード、または(例えば、メッシュ内で動作する)接続されているエッジデバイス1362などの他のデバイスに有線通信を提供するために、ネットワークインタフェースコントローラ(NIC)1368が含まれ得る。有線通信は、Ethernet(登録商標)接続を提供してもよく、幾多の中でもとりわけ、コントローラエリアネットワーク(CAN)、ローカル相互接続ネットワーク(LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUSまたはPROFINETなど、他のタイプのネットワークに基づいていてもよい。第2のネットワーク、例えば、Ethernet(登録商標)を介してクラウドに通信を提供する第1のNIC1368および別のタイプのネットワークを介して他のデバイスに通信を提供する第2のNIC1368への接続を可能にするために、追加のNIC1368が含まれ得る。
デバイスから別のコンポーネントまたはネットワークへの様々なタイプの適用可能な通信があるとすると、デバイスにより用いられる適用可能な通信回路は、コンポーネント1364、1366、1368または1370のうちのいずれか1つまたは複数を含んでもよく、それらにより具現化されてもよい。したがって、様々な例において、適用可能な通信(例えば、受信、伝送等)のための手段が、そのような通信回路により具現化され得る。
エッジコンピューティングノード1350は、アクセラレーション回路1364を含んでもよく、アクセラレーション回路1364に結合されてもよい。アクセラレーション回路1364は、1つまたは複数の人工知能(AI)アクセラレータ、ニューラル計算スティック、ニューロモーフィックハードウェア、FPGA、複数のGPUの配置、複数のxPU/DPU/IPU/NPUの配置、1つまたは複数のSoC、1つまたは複数のCPU、1つまたは複数のデジタル信号プロセッサ、専用ASIC、または1つまたは複数の特殊なタスクを実現するように設計された他の形態の特殊なプロセッサもしくは回路により具現化され得る。これらのタスクは、AI処理(機械学習、訓練、推論および分類動作を含む)、視覚データ処理、ネットワークデータ処理、オブジェクト検出またはルール解析等を含み得る。これらのタスクは、本明細書における他の箇所で説明されたサービス管理およびサービス動作についての特定のエッジコンピューティングタスクも含み得る。
相互接続1356は、追加のデバイスまたはサブシステムを接続するために用いられるセンサハブまたは外部インタフェース1370にプロセッサ1352を結合させ得る。これらのデバイスは、例えば、加速度計、レベルセンサ、流量センサ、光学光センサ、カメラセンサ、温度センサ、グローバルナビゲーションシステム(例えば、GPS)センサ、圧力センサおよび気圧センサ等のセンサ1372を含み得る。ハブまたはインタフェース1370はさらに、例えば、電力スイッチ、バルブアクチュエータ、可聴音生成器および視覚警告デバイス等のアクチュエータ1374にエッジコンピューティングノード1350を接続するために用いられ得る。
いくつかの任意選択的な例において、様々な入力/出力(I/O)デバイスが、エッジコンピューティングノード1350内に存在してもよく、エッジコンピューティングノード1350に接続されてもよい。例えば、センサの読み取り値またはアクチュエータの位置などの情報を示すために、ディスプレイまたは他の出力デバイス1384が含まれ得る。入力を受け入れるために、タッチスクリーンまたはキーパッドなどの入力デバイス1386が含まれ得る。出力デバイス1384は、任意の数の形態のオーディオディスプレイまたはビジュアルディスプレイを含み得る。これらのディスプレイは、バイナリステータスインジケータ(例えば、発光ダイオード(LED))および複数文字視覚出力などの単純な視覚出力、またはディスプレイスクリーン(例えば、液晶ディスプレイ(LCD)スクリーン)などのより複雑な出力を含み、文字、グラフィックスおよびマルチメディアオブジェクト等の出力は、エッジコンピューティングノード1350の動作から生成されるか生じる。本システムの文脈におけるディスプレイまたはコンソールハードウェアは、エッジコンピューティングシステムの出力の提供および入力の受信をすることで、エッジコンピューティングシステムのコンポーネントもしくはサービスを管理するために、エッジコンピューティングコンポーネントもしくはエッジコンピューティングサービスの状態を識別するために、または任意の他の数の管理(management)機能もしくは管理(administration)機能もしくはサービスユースケースを実行するために用いられ得る。
バッテリ1376は、エッジコンピューティングノード1350に電力を供給し得るが、エッジコンピューティングノード1350が固定位置に搭載される例では、電気グリッドに結合された電源を有してもよく、バックアップとして、または一時的な機能のために用いられてもよい。バッテリ1376は、リチウムイオン電池、または、例えば、亜鉛-空気バッテリ、アルミニウム-空気バッテリおよびリチウム-空気バッテリ等の金属-空気バッテリであってよい。
バッテリ1376(含まれる場合)の充電状態(SoCh)を追跡するために、エッジコンピューティングノード1350には、バッテリモニタ/充電器1378が含まれ得る。バッテリモニタ/充電器1378は、バッテリ1376の健全性(SoH)および機能性(SoF)など、故障予測を提供するためのバッテリ1376の他のパラメータを監視するために用いられ得る。バッテリモニタ/充電器1378は、Linear TechnologiesのLTC4020もしくはLTC2990、アリゾナ州フェニックスのON SemiconductorのADT7488A、またはテキサス州ダラスのTexas InstrumentsのUCD90xxxファミリからのICなど、バッテリ監視集積回路を含み得る。バッテリモニタ/充電器1378は、相互接続1356を介して、バッテリ1376に関する情報をプロセッサ1352へ伝達し得る。バッテリモニタ/充電器1378は、プロセッサ1352がバッテリ1376の電圧またはバッテリ1376からの電流を直接監視することを可能にするアナログ-デジタル(ADC)コンバータも含み得る。バッテリのパラメータは、例えば、伝送周波数、メッシュネットワーク動作およびセンシング周波数等、エッジコンピューティングノード1350が実行し得るアクションを決定するために用いられ得る。
バッテリ1376を充電するために、電力ブロック1380、またはグリッドに結合された他の電源が、バッテリモニタ/充電器1378と結合され得る。いくつかの例において、電力ブロック1380を無線受電器に置き換えることにより、無線で、例えば、エッジコンピューティングノード1350内のループアンテナを通じて、電力を取得し得る。バッテリモニタ/充電器1378には、とりわけ、カリフォルニア州ミルピタスのLinear TechnologiesのLTC4020チップなど、無線バッテリ充電回路が含まれ得る。特定の充電回路は、バッテリ1376のサイズ、およびしたがって、必要とされる電流に基づいて選択され得る。充電は、とりわけ、Airfuel Allianceにより公表されるAirfuel規格、ワイヤレスパワーコンソーシアムにより公表されるQi無線充電規格またはAlliance for Wireless Powerにより公表されるRezence充電規格を用いて実行され得る。
ストレージ1358は、本明細書において説明された技術を実装するためのソフトウェアコマンド、ファームウェアコマンドまたはハードウェアコマンドの形態の命令1382を含み得る。そのような命令1382がメモリ1354およびストレージ1358に含まれるコードブロックとして示されているが、コードブロックのいずれも、例えば、特定用途向け集積回路(ASIC)に内蔵されたハードワイヤード回路に置き換えられ得ることが理解され得る。
一例において、メモリ1354、ストレージ1358またはプロセッサ1352を介して提供される命令1382は、エッジコンピューティングノード1350内の電子的動作を実行するようプロセッサ1352に指示するためのコードを含む非一時的機械可読媒体1360として具現化され得る。プロセッサ1352は、相互接続1356を介して、非一時的機械可読媒体1360にアクセスし得る。例えば、非一時的機械可読媒体1360は、ストレージ1358について説明されたデバイスにより具現化されてもよく、光ディスク、フラッシュドライブまたは任意の数の他のハードウェアデバイスなど、特定のストレージユニットを含んでもよい。非一時的機械可読媒体1360は、例えば、上で示された動作および機能のフローチャートおよびブロック図に関して説明したとおり、アクションの特定のシーケンスまたはフローを実行するようプロセッサ1352に指示するための命令を含み得る。本明細書において用いられる場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は交換可能である。また、具体例において、プロセッサ1352上の命令1382は、(別個に、または機械可読媒体1360の命令1382との組み合わせで、)信頼できる実行環境(TEE)1390の実行または動作を構成し得る。一例において、TEE1390は、命令のセキュアな実行およびデータへのセキュアなアクセスのためにプロセッサ1352にアクセス可能な保護エリアとして動作する。TEE1390の様々な実装と、プロセッサ1352またはメモリ1354内の付随するセキュアなエリアとは、例えば、Intel(登録商標) Software Guard Extensions(SGX)またはARM(登録商標) TrustZone(登録商標)ハードウェアセキュリティ拡張、Intel(登録商標) Management Engine(ME)またはIntel(登録商標) Converged Security Manageability Engine(CSME)の使用を通じて提供され得る。セキュリティハードニングと、ハードウェアの信頼の基点と、信頼または保護される動作の他の態様が、TEE1390およびプロセッサ1352を通じてデバイス1350内で実装され得る。
図14は、例示的なプロセッサプラットフォーム1400または接続されているエッジデバイスなどの1つまたは複数のデバイスへ、図14の例示的なコンピュータ可読命令1482などのソフトウェアを分散させるための例示的なソフトウェア配布プラットフォーム1405を示す。例示的なソフトウェア配布プラットフォーム1405は、ソフトウェアを他のコンピューティングデバイス(例えば、サードパーティまたは接続されているエッジデバイス)に格納および伝送できる任意のコンピュータサーバ、データファシリティ、クラウドサービス等により実装され得る。例示的な接続されているエッジデバイスは、顧客、クライアント、管理デバイス(例えば、サーバ)、サードパーティ(例えば、ソフトウェア配布プラットフォーム1405を所有しているか動作させるエンティティの顧客)であってよい。例示的な接続されているエッジデバイスは、商用または自宅の自動化環境で動作し得る。いくつかの例において、サードパーティは、図14の例示的なコンピュータ可読命令1482などのソフトウェアの開発者、販売者またはライセンサである。サードパーティは、使用または再販売もしくはサブライセンスのためにソフトウェアを購入またはライセンスする消費者、ユーザ、小売業者、OEM等であってよい。いくつかの例において、配布されたソフトウェアは、1つまたは複数のユーザインタフェース(UI)またはグラフィカルユーザインタフェース(GUI)のディスプレイに、互いに地理的または論理的に分離した1つまたは複数のデバイス(例えば、接続されているエッジデバイス)(例えば、給水制御(例えば、ポンプ)、配電制御(例えば、リレー)等を担う物理的に分離した借り切られているIoTデバイス)を識別させる。
図14の示されている例において、ソフトウェア配布プラットフォーム1405は、1つまたは複数のサーバおよび1つまたは複数のストレージデバイスを含む。ストレージデバイスは、コンピュータ可読命令1482を格納する。コンピュータ可読命令1482は、図に示され本明細書において説明される例示的なコンピュータ可読命令に対応し得る。例示的なソフトウェア配布プラットフォーム1405の1つまたは複数のサーバは、ネットワーク1410と通信する。ネットワーク1410は、インターネットまたは本明細書において説明された例示的なネットワークのうちのいずれか1つまたは複数に対応し得る。いくつかの例において、1つまたは複数のサーバは、商用トランザクションの一部として要求当事者へソフトウェアを伝送するための要求に応答する。ソフトウェアの配信、販売またはライセンスに対する支払いは、ソフトウェア配布プラットフォームの1つまたは複数のサーバにより、またはサードパーティ支払いエンティティを介して処理され得る。サーバは、購入者またはライセンサがソフトウェア配布プラットフォーム1405からコンピュータ可読命令1482をダウンロードすることを可能にする。例えば、本明細書において説明された例示的なコンピュータ可読命令に対応し得るソフトウェアは、コンピュータ可読命令1482を実行して技術を実装する例示的なプロセッサプラットフォーム1400(例えば、例示的な接続されているエッジデバイス)へダウンロードされ得る。いくつかの例において、ソフトウェア配布プラットフォーム1405の1つまたは複数のサーバは、それを通じて例示的なコンピュータ可読命令1482の要求および伝送が渡されなければならない1つまたは複数のセキュリティドメインまたはセキュリティデバイスに通信可能に接続される。いくつかの例において、ソフトウェア配布プラットフォーム1405の1つまたは複数のサーバは、ソフトウェア(例えば、図14の例示的なコンピュータ可読命令1482)の更新を定期的に提供、伝送または強制することで、改善、パッチ、更新等がエンドユーザデバイスにおけるソフトウェアに配布および適用されることを保証する。
図14の示されている例において、コンピュータ可読命令1482は、ソフトウェア配布プラットフォーム1405のストレージデバイスに特定のフォーマットで格納される。コンピュータ可読命令のフォーマットは、限定されるわけではないが、特定のコード言語(例えば、Java(登録商標)、JavaScript(登録商標)、Python、C、C#、SQL、HTML等)または特定のコード状態(例えば、非コンパイルコード(例えば、ASCII)、解釈されたコード、リンクされたコード、実行可能コード(例えば、バイナリ)等)を含む。いくつかの例において、ソフトウェア配布プラットフォーム1405に格納されたコンピュータ可読命令1482は、例示的なプロセッサプラットフォーム1400へ伝送される場合、第1のフォーマットである。いくつかの例において、第1のフォーマットは、特定のタイプのプロセッサプラットフォーム1400が実行され得る実行可能バイナリである。しかしながら、いくつかの例では、第1のフォーマットは、第1のフォーマットを第2のフォーマットへ変換して例示的なプロセッサプラットフォーム1400上での実行を可能にするよう1つまたは複数の準備タスクに要求する非コンパイルコードである。例えば、受信側のプロセッサプラットフォーム1400は、コンピュータ可読命令1482を第1のフォーマットにコンパイルして、プロセッサプラットフォーム1400上で実行できる第2のフォーマットの実行可能コードを生成する必要があり得る。さらに他の例において、第1のフォーマットは、プロセッサプラットフォーム1400への到達時に、命令実行を容易にするようにインタプリタにより解釈される解釈されたコードである。
図15は、一実施形態による、ネットワークフローベースのハードウェア割り当てのための方法1500の一例のフロー図を示す。方法1500の動作は、上または下で説明されるもの(例えば、処理回路)など、計算ハードウェアにより実行される。
動作1505において、ワークロードが実行のために取得される。ここで、ワークロードは、フローを含む。フローは、処理コンポーネントおよびネットワークコンポーネントを含む。
動作1510において、ワークロードが実行される。ワークロードの実行中に、ワークロードが終了するまで、動作1515および1520が繰り返される。
動作1515において、フローは、ネットワークコンポーネントのネットワークメトリックと処理コンポーネントの処理メトリックとを決定するようにプロファイリングされる。一例において、プロファイリングは、予め定義された時間間隔で実行される。一例において、プロファイリングは、イベントに応答して実行される。一例において、プロファイリングは、実行されるか、フローまたはワークロードに関するクエリの受信時のものである。
一例において、プロファイリングは、ネットワークサービスを用いたフローの通信に識別情報をタグ付けすることを含む。次に、識別情報は、フローへマッピングされ得る。一例において、識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである。
一例において、プロファイリングは、インタフェースプロファイルおよびランク付けデータベースを更新する。一例において、インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである。一例において、インタフェースが、フローにより、インタフェースプロファイルおよびランク付けデータベースにランク付けされる。ここで、ネットワークメトリックおよび処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスをフローに割り当てることは、最高ランクを有するインタフェースをフローについて選択することを含む。一例において、インタフェースは、フローとフローについて選択される処理サービスとの組み合わせに基づいてランク付けされる。
動作1520において、ネットワークメトリックおよび処理メトリックに基づいて、ネットワークサービスおよび処理サービスが、次の実行においてフローに割り当てられる。一例において、ネットワークサービスは、ネットワークインタフェースカード(NIC)である。一例において、ネットワークサービスは、チャネルまたは仮想チャネルである。一例において、ネットワークサービスまたは処理サービスは、ハードウェアパーティション化である。
一例において、ネットワークメトリックに基づいてネットワークサービスを割り当てることは、フローのネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択することを含む。一例において、ネットワークメトリックは、帯域幅またはレイテンシである。
一例において、ネットワークサービスおよび処理サービスを割り当てることは、処理サービスのネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択することを含む。
図16は、本明細書において説明された技術(例えば、方法論)のうちのいずれか1つまたは複数が実行され得る例示的な機械1600のブロック図を示す。本明細書において説明される例は、機械1600内のロジックもしくは複数のコンポーネントまたはメカニズムを含んでもよく、それらにより動作してもよい。回路(例えば、処理回路)は、ハードウェア(例えば、単純な回路、ゲート、ロジック等)を含む、機械1600の有形のエンティティに実装された回路の集合である。回路構成要素は、経時的に柔軟になり得る。回路は、単独で、または組み合わせで、指定された動作を動作時に実行し得るメンバを含む。一例において、回路のハードウェアは、特定の動作を実行するように設計され得る(例えば、ハードワイヤード)。一例において、回路のハードウェアは、特定の動作の命令をエンコードするように物理的に修正された機械可読媒体(例えば、不変質量の粒子の磁気的、電気的に移動可能な配置等)を含む、可変的に接続された物理コンポーネント(例えば、実行ユニット、トランジスタ、単純な回路等)を含み得る。物理コンポーネントを接続する際に、ハードウェア構成要素の基礎となる電気特性が、例えば絶縁体から導体へ、またはその逆へ変更される。命令は、埋め込みハードウェア(例えば、実行ユニットまたはロードメカニズム)が、動作時に特定の動作の部分を実行するために可変接続を介してハードウェア内の回路のメンバを生成することを可能にする。したがって、一例において、機械可読媒体要素は、回路の一部であるか、デバイスが動作しているときに回路の他のコンポーネントに通信可能に結合される。一例において、物理コンポーネントのいずれも、1つよりも多くの回路の1つよりも多くのメンバ内で用いられ得る。例えば、動作中、実行ユニットは、ある時点で第1の回路構成の第1の回路内で用いられてよく、異なる時点で第1の回路構成内の第2の回路により、または第2の回路構成の第3の回路により再使用されてよい。機械1600に関するこれらのコンポーネントの追加の例を以下で説明する。
代替的な実施形態において、機械1600は、スタンドアロンデバイスとして動作してもよく、他の機械に接続(例えば、ネットワーク接続)されてもよい。ネットワーク接続された展開では、機械1600は、サーバクライアントネットワーク環境において、サーバマシン、クライアントマシン、またはその両方の能力で動作し得る。一例において、機械1600は、ピアツーピア(P2P)(または他の分散型)ネットワーク環境内のピアマシンとして機能し得る。機械1600は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはその機械によって取られるアクションを指定する命令(シーケンシャルまたはそれ以外)を実行できる任意の機械であってよい。さらに、単一の機械のみが示されているが、「機械」という用語は、クラウドコンピューティング、サービスとしてのソフトウェア(SaaS)、他のコンピュータクラスタ構成など、本明細書において説明された方法論のうちのいずれか1つまたは複数を実行するための1つの(または複数の)命令セットを個々にまたは共同で実行する機械の任意の集合を含むとも解釈されるものとする。
機械(例えば、コンピュータシステム)1600は、ハードウェアプロセッサ1602(例えば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、ハードウェアプロセッサコア、またはそれらの任意の組み合わせ)、メインメモリ1604、スタティックメモリ(例えば、ファームウェア、マイクロコード、基本入出力(BIOS)、統合拡張ファームウェアインタフェース(UEFI)等のメモリまたはストレージ)1606、大容量ストレージ1608(例えば、ハードドライブ、テープドライブ、フラッシュストレージまたは他のブロックデバイス)を含んでよく、それらのいくつかまたは全ては、インターリンク(例えば、バス)1630を介して互いに通信してよい。機械1600は、ディスプレイユニット1610、英数字入力デバイス1612(例えば、キーボード)、ユーザインタフェース(UI)ナビゲーションデバイス1614(例えば、マウス)をさらに含み得る。一例において、ディスプレイユニット1610、入力デバイス1612およびUIナビゲーションデバイス1614は、タッチスクリーンディスプレイであってよい。機械1600は、ストレージデバイス(例えば、ドライブユニット)1608と、信号生成デバイス1618(例えば、スピーカ)と、ネットワークインタフェースデバイス1620と、全地球測位システム(GPS)センサ、コンパス、加速度計または他のセンサなどの1つまたは複数のセンサ1616とをさらに含み得る。機械1600は、1つまたは複数の周辺デバイス(例えば、プリンタ、カードリーダ等)との通信または制御を行うためのシリアル(例えば、ユニバーサルシリアルバス(USB)、並列、または他の有線もしくは無線(例えば、赤外線(IR)、近距離無線通信(NFC)等)接続など、出力コントローラ1628を含み得る。
プロセッサ1602、メインメモリ1604、スタティックメモリ1606または大容量ストレージ1608のレジスタは、本明細書において説明された技術または機能のうちのいずれか1つまたは複数を具現化するかそれらにより利用されるデータ構造または命令1624(例えば、ソフトウェア)の1つまたは複数のセットを格納した機械可読媒体1622であってもよく、そのような機械可読媒体1622を含んでもよい。また、命令1624は、機械1600によるそれらの実行中、プロセッサ1602、メインメモリ1604、スタティックメモリ1606または大容量ストレージ1608のレジスタのいずれかの内部に、完全にまたは少なくとも部分的に存在し得る。一例において、ハードウェアプロセッサ1602、メインメモリ1604、スタティックメモリ1606または大容量ストレージ1608の1つまたは任意の組み合わせが、機械可読媒体1622を構成し得る。機械可読媒体1622が単一の媒体として示されているが、「機械可読媒体」という用語は、1つまたは複数の命令1624を格納するように構成された単一の媒体または複数の媒体(例えば、集中型もしくは分散型のデータベースまたは関連付けられたキャッシュおよびサーバ)を含み得る。
「機械可読媒体」という用語は、機械1600による実行のために命令を格納、エンコードもしくは搬送でき、かつ、本開示の技術のうちのいずれか1つまたは複数を機械1600に実行させ、または、そのような命令により用いられるか、そのような命令に関連付けられたデータ構造を格納、エンコードもしくは搬送できる任意の媒体を含み得る。非限定的な機械可読媒体の例は、ソリッドステートメモリ、光媒体、磁気媒体および信号(例えば、無線周波数信号、他の光子ベースの信号、音信号等)を含み得る。一例において、非一時的機械可読媒体は、不変(例えば、静止)質量を有する複数の粒子を有する機械可読媒体を含むので、組成物である。したがって、非一時的機械可読媒体は、一時的伝搬信号を含まない機械可読媒体である。非一時的機械可読媒体の具体例は、半導体メモリデバイス(例えば、電気的プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)およびフラッシュメモリデバイスなどの不揮発性メモリと、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、CD-ROMディスクおよびDVD-ROMディスクとを含み得る。
一例において、機械可読媒体1622に格納されるか、そうでなければ提供される情報は、命令1624を表してよく、命令1624は、命令1624自体、または命令1624が導出され得るフォーマットなどである。命令1624が導出され得るこのフォーマットは、ソースコード、(例えば、圧縮または暗号化された形式の)エンコードされた命令、または(例えば、複数のパッケージへ分割された)パッケージ化された命令等を含み得る。機械可読媒体1622内の命令1624を表す情報は、本明細書において説明された動作のいずれかを実装するために、処理回路により処理されて命令になり得る。例えば、この情報から命令1624を導出すること(例えば、処理回路による処理)は、この情報を命令1624へコンパイル(例えば、ソースコード、オブジェクトコード等から)、解釈、ロード、編成(例えば、動的にまたは静的にリンク)、エンコード、デコード、暗号化、暗号解除、パッケージング、アンパッケージングまたはそうでなければ操作することを含み得る。
一例において、命令1624の導出は、機械可読媒体1622により提供されるある中間フォーマットまたは前処理されたフォーマットから命令1624を生成するための、情報の(例えば、処理回路による)アセンブリ、コンパイルまたは解釈を含み得る。情報は、複数の部分で提供される場合、命令1624を生成するために組み合わされ、アンパックされ、修正され得る。例えば、情報は、1つまたはいくつかのリモートサーバ上の複数の圧縮されたソースコードパッケージ(またはオブジェクトコードもしくはバイナリ実行可能コード等)であってよい。ソースコードパッケージは、ネットワークを介して移行しているときに暗号化されてよく、必要な場合には、復号され、非圧縮され、組み立てられ(例えば、リンクされ)、ローカル機械において(例えば、ライブラリ、スタンドアロン実行ファイル等へ)コンパイルまたは解釈され、ローカル機械により実行されてよい。
命令1624はさらに、複数の転送プロトコル(例えば、フレームリレー、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)等)のいずれか1つを利用したネットワークインタフェースデバイス1620を介して、伝送媒体を用い、通信ネットワーク1626を介して伝送または受信され得る。例示的な通信ネットワークは、とりわけ、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パケットデータネットワーク(例えば、インターネット)、LoRa/LoRaWANもしくは衛星通信ネットワーク、携帯電話網(例えば、3G規格、4G LTE/LTE-A規格または5G規格に準拠したものなど、セルラネットワーク)、基本電話(POTS)ネットワーク、および無線データネットワーク(例えば、Wi-Fi(登録商標)として知られる米国電気電子技術者協会(IEEE)802.11規格ファミリ、WiMax(登録商標)として知られるIEEE802.16規格ファミリ、IEEE802.15.4規格ファミリ)、ピアツーピア(P2P)ネットワークを含み得る。一例において、ネットワークインタフェースデバイス1620は、通信ネットワーク1626に接続するための1つまたは複数の物理ジャック(例えば、Ethernet(登録商標)ジャック、同軸ジャックまたは電話ジャック)または1つまたは複数のアンテナ)を含み得る。一例において、ネットワークインタフェースデバイス1620は、単入力多出力(SIMO)技術、多入力多出力(MIMO)技術または多入力単出力(MISO)技術のうちの少なくとも1つを用いて無線通信するための複数のアンテナを含み得る。「伝送媒体」という用語は、機械1600による実行のための命令を格納、エンコードまたは搬送できる任意の無形の媒体を含むように解釈されるものとし、そのようなソフトウェアの通信を容易にするためのデジタルまたはアナログの通信信号または他の無形の媒体を含む。伝送媒体は、機械可読媒体である。
[追加の注記および例]
例1は、ネットワークフローベースのハードウェア割り当てのための装置であって、命令を有する機械可読媒体と、処理回路と備え、前記処理回路は、実行のためにワークロードを取得することであって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得することと、前記ワークロードの実行中に、繰り返し、実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定することと、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てることとを実行するように前記命令により動作中に構成される、装置である。
例2において、前記ネットワークサービスは、ネットワークインタフェースカード(NIC)である、例1に記載の主題。
例3において、前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、例1から2のいずれかに記載の主題。
例4において、前記ネットワークメトリックに基づいて前記ネットワークサービスを割り当てるために、前記処理回路は、前記フローの前記ネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択することを実行するように構成される、例1から3のいずれかに記載の主題。
例5において、前記ネットワークメトリックは、帯域幅またはレイテンシである、例4に記載の主題。
例6において、前記ネットワークサービスおよび前記処理サービスを割り当てるために、前記処理回路は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択するように構成される、例1から5のいずれかに記載の主題。
例7において、前記ネットワークサービスまたは前記処理サービスは、ハードウェアパーティションである、例1から6のいずれかに記載の主題。
例8において、前記フローをプロファイリングするために、前記処理回路は、前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けすることと、前記識別情報を前記フローへマッピングすることとを実行するように構成される、例1から7のいずれかに記載の主題。
例9において、前記識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである、例8に記載の主題。
例10において、前記処理回路は、予め定義された時間間隔で、イベントに応答して、またはクエリの受信時に前記フローをプロファイリングすることを実行するように構成される、例1から9のいずれかに記載の主題。
例11において、前記フローをプロファイリングするために、前記処理回路は、インタフェースプロファイルおよびランク付けデータベースを更新することを実行するように構成される、例1から10のいずれかに記載の主題。
例12において、前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、例11に記載の主題。
例13において、インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行において前記ネットワークサービスおよび前記処理サービスを前記フローに割り当てるために、前記処理回路は、最高ランクを有するインタフェースを前記フローについて選択するように構成される、例11から12のいずれかに記載の主題。
例14において、前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、例13に記載の主題。
例15は、ネットワークフローベースのハードウェア割り当てのための方法であって、実行のためにワークロードを取得する段階であって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得する段階と、前記ワークロードの実行中に、繰り返し、実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定する段階と、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てる段階とを備える、方法である。
例16において、前記ネットワークサービスは、ネットワークインタフェースカード(NIC)である、例15に記載の主題。
例17において、前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、例15から16のいずれかに記載の主題。
例18において、前記ネットワークメトリックに基づいて前記ネットワークサービスを割り当てる段階は、前記フローの前記ネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択する段階を有する、例15から17のいずれかに記載の主題。
例19において、前記ネットワークメトリックは、帯域幅またはレイテンシである、例18に記載の主題。
例20において、前記ネットワークサービスおよび前記処理サービスを割り当てる段階は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択する段階を有する、例15から19のいずれかに記載の主題。
例21において、前記ネットワークサービスまたは前記処理サービスは、ハードウェアパーティションである、例15から20のいずれかに記載の主題。
例22において、プロファイリングする前記段階は、前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けする段階と、前記識別情報を前記フローへマッピングする段階とを有する、例15から21のいずれかに記載の主題。
例23において、前記識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである、例22に記載の主題。
例24において、プロファイリングする前記段階は、予め定義された時間間隔で、イベントに応答して、またはクエリの受信時に実行される、例15から23のいずれかに記載の主題。
例25において、プロファイリングする前記段階は、インタフェースプロファイルおよびランク付けデータベースを更新する、例15から24のいずれかに記載の主題。
例26において、前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、例25に記載の主題。
例27において、インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび前記処理サービスを前記フローに割り当てる段階は、最高ランクを有するインタフェースを前記フローについて選択する段階を有する、例25から26のいずれかに記載の主題。
例28において、前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、例27に記載の主題。
例29は、ネットワークフローベースのハードウェア割り当てのための命令を備える少なくとも1つの機械可読媒体であって、前記命令は、処理回路により実行された場合、実行のためにワークロードを取得することであって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得することと、前記ワークロードの実行中に、繰り返し、実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定することと、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てることとを含む動作を前記処理回路に実行させる、少なくとも1つの機械可読媒体である。
例30において、前記ネットワークサービスは、ネットワークインタフェースカード(NIC)である、例29に記載の主題。
例31において、前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、例29から30のいずれかに記載の主題。
例32において、前記ネットワークメトリックに基づいて前記ネットワークサービスを割り当てる段階は、前記フローの前記ネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択する段階を有する、例29から31のいずれかに記載の主題。
例33において、前記ネットワークメトリックは、帯域幅またはレイテンシである、例32に記載の主題。
例34において、前記ネットワークサービスおよび前記処理サービスを割り当てる段階は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含む前記ネットワークサービスを選択する段階を有する、例29から33のいずれかに記載の主題。
例35において、前記ネットワークサービスまたは前記処理サービスは、ハードウェアパーティションである、例29から34のいずれかに記載の主題。
例36において、プロファイリングする前記段階は、前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けする段階と、前記識別情報を前記フローへマッピングする段階とを有する、例29から35のいずれかに記載の主題。
例37において、前記識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである、例36に記載の主題。
例38において、プロファイリングする前記段階は、予め定義された時間間隔で、イベントに応答して、またはクエリの受信時に実行される、例29から37のいずれかに記載の主題。
例39において、プロファイリングする前記段階は、インタフェースプロファイルおよびランク付けデータベースを更新する、例29から38のいずれかに記載の主題。
例40において、前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、例39に記載の主題。
例41において、インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび前記処理サービスを前記フローに割り当てる段階は、最高ランクを有するインタフェースを前記フローについて選択する段階を有する、例39から40のいずれかに記載の主題。
例42において、前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、例41に記載の主題。
例43は、ネットワークフローベースのハードウェア割り当てのためのシステムであって、実行のためにワークロードを取得するための手段であって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得するための手段と、前記ワークロードの実行中に、繰り返し、実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定するための適用手段と、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てるための適用手段とを備える、システムである。
例44において、前記ネットワークサービスは、ネットワークインタフェースカード(NIC)である、例43に記載の主題。
例45において、前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、例43から44のいずれかに記載の主題。
例46において、前記ネットワークメトリックに基づいて前記ネットワークサービスを割り当てるための前記手段は、前記フローの前記ネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択するための手段を有する、例43から45のいずれかに記載の主題。
例47において、前記ネットワークメトリックは、帯域幅またはレイテンシである、例46に記載の主題。
例48において、前記ネットワークサービスおよび前記処理サービスを割り当てるための前記手段は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択するための手段を有する、例43から47のいずれかに記載の主題。
例49において、前記ネットワークサービスまたは前記処理サービスは、ハードウェアパーティションである、例43から48のいずれかに記載の主題。
例50において、プロファイリングするための前記手段は、前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けするための手段と、前記識別情報を前記フローへマッピングするための手段とを有する、例43から49のいずれかに記載の主題。
例51において、前記識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである、例50に記載の主題。
例52において、プロファイリングする前記段階は、予め定義された時間間隔で、イベントに応答して、またはクエリの受信時に実行される、例43から51のいずれかに記載の主題。
例53において、プロファイリングする前記段階は、インタフェースプロファイルおよびランク付けデータベースを更新する、例43から52のいずれかに記載の主題。
例54において、前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、例53に記載の主題。
例55において、インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび前記処理サービスを前記フローに割り当てるための前記手段は、最高ランクを有するインタフェースを前記フローについて選択するための手段を有する、例53から54のいずれかに記載の主題。
例56において、前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、例55に記載の主題。
例57は、処理回路により実行された場合に例1から56のいずれかを実装するための動作を前記処理回路に実行させる命令を備える少なくとも1つの機械可読媒体である。
例58は、例1から56のいずれかを実装するための手段を備える装置である。
例59は、例1から56のいずれかを実装するためのシステムである。
例60は、例1から56のいずれかを実装するための方法である。
上記の詳細な説明は、詳細な説明の一部を形成する添付図面の参照を含む。図面は、例示として、実施され得る特定の実施形態を示す。これらの実施形態は、本明細書において「例」とも称される。そのような例は、図示または説明されたものに加えて、要素を含み得る。しかしながら、本発明者らは、図示または説明された要素のみが提供される例も想定している。さらに、本発明者らは、特定の例(またはそれらの1つまたは複数の態様)に関する、または本明細書において図示もしくは説明された他の例(またはそれらの1つまたは複数の態様)に関する、図示または説明された要素(またはそれらの1つまたは複数の態様)の任意の組み合わせまたは置き換えを用いた例も想定している。
本明細書において言及される全ての刊行物、特許および特許文献は、参照により、その全体が、参照により個々に組み込まれるかのように、本明細書に組み込まれる。本明細書と、参照によりそのように組み込まれる文書との用法に一貫性がない場合、組み込まれた参照文書における用法は、本明細書での用法に対して補足的なものとみなされるべきであり、相容れない不一致については、本明細書における用法が優先する。
本明細書において、「a」または「an」という用語は、特許文献において一般的なように、「少なくとも1つ」または「1つまたは複数」の任意の他の例または用法とは無関係に、1つまたは1つよりも多くを含むように用いられる。別段の記載がない限り、本明細書において、「または」という用語は、「AまたはB」が「BではなくA」、「AではなくB」および「AおよびB」を含むように、非排他的なまたはを指すために用いられる。添付の特許請求の範囲において、「含む(including)」および「その中で(in which)」という用語は、「備える(comprising)および」「ここで(wherein)」というそれぞれの用語の平易な英語での均等物として用いられる。また、以下の特許請求の範囲において、「含む」および「備える」という用語は、非限定的である。つまり、請求項におけるそのような用語の後に列挙されるものに加えて要素を含むシステム、デバイス、物品または処理は、依然として、その請求項の範囲に含まれているものとみなされる。さらに、以下の特許請求の範囲において、「第1の」、「第2の」および「第3の」等の用語は、ラベルとして用いられているに過ぎず、それらの対象に数値的な要件を課すようには意図されていない。
上記説明は、限定的なものではなく、例示的なものになるように意図されている。例えば、上述の例(またはそれらの1つまたは複数の態様)は、互いに組み合わせて用いられ得る。上記説明を考察すれば、当業者等は、他の実施形態を用い得る。要約書は、読み手が本技術的開示の性質を迅速に確認できるようにするためのものであり、特許請求の範囲または意味を解釈または限定するために用いられることはないという理解の下に提出される。また、上記の発明を実施するための形態では、本開示を簡素化するために、様々な特徴が共にグループ化されていることがある。これは、特許請求の範囲に記載されていない開示された特徴がいずれの請求項にも不可欠であることを意図としていると解釈されるべきではない。むしろ、発明の主題は、特定の開示された実施形態の全ての特徴よりも少ないものに存在し得る。したがって、以下の特許請求の範囲は、ここに、発明を実施するための形態に組み込まれ、各請求項が別個の実施形態として独立している。実施形態の範囲は、添付の特許請求の範囲を参照したうえで、そのような特許請求の範囲が権利を与えられる均等物の全範囲と共に決定されるべきである。
[他の考えられる項目]
(項目1)
ネットワークフローベースのハードウェア割り当てのための装置であって、
命令を有する機械可読媒体と、
処理回路と
を備え、
前記処理回路は、
実行のためにワークロードを取得することであって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得することと、
前記ワークロードの実行中に、繰り返し、
実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定することと、
前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てることと
を実行するように前記命令により動作中に構成される、
装置。
(項目2)
前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、項目1に記載の装置。
(項目3)
前記ネットワークサービスおよび前記処理サービスを割り当てるために、前記処理回路は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択するように構成される、項目1に記載の装置。
(項目4)
前記フローをプロファイリングするために、前記処理回路は、
前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けすることと、
前記識別情報を前記フローへマッピングすることと
を実行するように構成される、
項目1に記載の装置。
(項目5)
前記フローをプロファイリングするために、前記処理回路は、インタフェースプロファイルおよびランク付けデータベースを更新することを実行するように構成される、項目1に記載の装置。
(項目6)
前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、項目5に記載の装置。
(項目7)
インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行において前記ネットワークサービスおよび前記処理サービスを前記フローに割り当てるために、前記処理回路は、最高ランクを有するインタフェースを前記フローについて選択するように構成される、項目5に記載の装置。
(項目8)
前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、項目7に記載の装置。
(項目9)
ネットワークフローベースのハードウェア割り当てのための方法であって、
実行のためにワークロードを取得する段階であって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得する段階と、
前記ワークロードの実行中に、繰り返し、
実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定する段階と、
前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てる段階と
を備える、方法。
(項目10)
前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、項目9に記載の方法。
(項目11)
前記ネットワークサービスおよび前記処理サービスを割り当てる段階は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択する段階を有する、項目9に記載の方法。
(項目12)
プロファイリングする前記段階は、
前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けする段階と、
前記識別情報を前記フローへマッピングする段階と
を有する、
項目9に記載の方法。
(項目13)
プロファイリングする前記段階は、インタフェースプロファイルおよびランク付けデータベースを更新する、項目9に記載の方法。
(項目14)
前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、項目13に記載の方法。
(項目15)
インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび前記処理サービスを前記フローに割り当てる段階は、最高ランクを有するインタフェースを前記フローについて選択する段階を有する、項目13に記載の方法。
(項目16)
前記インタフェースは、前記フローと前記フローについて選択される前記処理サービスとの組み合わせに基づいてランク付けされる、項目15に記載の方法。
(項目17)
ネットワークフローベースのハードウェア割り当てのための命令を備える少なくとも1つの機械可読媒体であって、前記命令は、処理回路により実行された場合、
実行のためにワークロードを取得することであって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得することと、
前記ワークロードの実行中に、繰り返し、
実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定することと、
前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てることと
を含む動作を前記処理回路に実行させる、
少なくとも1つの機械可読媒体。
(項目18)
前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、項目17に記載の少なくとも1つの機械可読媒体。
(項目19)
前記ネットワークサービスおよび前記処理サービスを割り当てることは、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含む前記処理ネットワークサービスを選択することを有する、項目17に記載の少なくとも1つの機械可読媒体。
(項目20)
前記プロファイリングすることは、
前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けすることと、
前記識別情報を前記フローへマッピングすることと
を有する、
項目17に記載の少なくとも1つの機械可読媒体。
(項目21)
前記プロファイリングすることは、インタフェースプロファイルおよびランク付けデータベースを更新する、項目17に記載の少なくとも1つの機械可読媒体。
(項目22)
前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、項目21に記載の少なくとも1つの機械可読媒体。
(項目23)
インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび前記処理サービスを前記フローに割り当てることは、最高ランクを有するインタフェースを前記フローについて選択することを有する、項目21に記載の少なくとも1つの機械可読媒体。
(項目24)
前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、項目23に記載の少なくとも1つの機械可読媒体。

Claims (26)

  1. ネットワークフローベースのハードウェア割り当てのための装置であって、
    命令を有する機械可読媒体と、
    処理回路と
    を備え、
    前記処理回路は、
    実行のためにワークロードを取得することであって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得することと、
    前記ワークロードの実行中に、繰り返し、
    実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定することと、
    前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てることと
    を実行するように前記命令により動作中に構成される、
    装置。
  2. 前記ネットワークサービスは、ネットワークインタフェースカード(NIC)である、請求項1に記載の装置。
  3. 前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、請求項1または2に記載の装置。
  4. 前記ネットワークメトリックに基づいて前記ネットワークサービスを割り当てるために、前記処理回路は、前記フローの前記ネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択することを実行するように構成される、請求項1から3のいずれか一項に記載の装置。
  5. 前記フローをプロファイリングするために、前記処理回路は、
    前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けすることと、
    前記識別情報を前記フローへマッピングすることと
    を実行するように構成される、
    請求項1から4のいずれか一項に記載の装置。
  6. 前記フローをプロファイリングするために、前記処理回路は、インタフェースプロファイルおよびランク付けデータベースを更新することを実行するように構成される、請求項1から5のいずれか一項に記載の装置。
  7. 前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、請求項6に記載の装置。
  8. インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行において前記ネットワークサービスおよび前記処理サービスを前記フローに割り当てるために、前記処理回路は、最高ランクを有するインタフェースを前記フローについて選択するように構成される、請求項6または7に記載の装置。
  9. 前記インタフェースは、前記フローと前記フローについて選択される処理サービスとの組み合わせに基づいてランク付けされる、請求項8に記載の装置。
  10. ネットワークフローベースのハードウェア割り当てのための方法であって、
    実行のためにワークロードを取得する段階であって、前記ワークロードは、フローを含み、前記フローは、処理コンポーネントおよびネットワークコンポーネントを含む、取得する段階と、
    前記ワークロードの実行中に、繰り返し、
    実行時に前記フローをプロファイリングして、前記ネットワークコンポーネントのネットワークメトリックと前記処理コンポーネントの処理メトリックとを決定する段階と、
    前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび処理サービスを前記フローに割り当てる段階と
    を備える、方法。
  11. 前記ネットワークサービスは、ネットワークインタフェースカード(NIC)である、請求項10に記載の方法。
  12. 前記ネットワークサービスは、チャネル、仮想チャネルまたは帯域幅スライスである、請求項10または11に記載の方法。
  13. 前記ネットワークメトリックに基づいて前記ネットワークサービスを割り当てる段階は、前記フローの前記ネットワークコンポーネントを満たすための最小ネットワークメトリックを含むネットワークサービスを選択する段階を有する、請求項10から12のいずれか一項に記載の方法。
  14. 前記ネットワークメトリックは、帯域幅またはレイテンシである、請求項13に記載の方法。
  15. 前記ネットワークサービスおよび前記処理サービスを割り当てる段階は、前記処理サービスの前記ネットワークメトリックに関連する最大出力を満たすための最小ネットワークメトリックを含むネットワークサービスを選択する段階を有する、請求項10から14のいずれか一項に記載の方法。
  16. 前記ネットワークサービスまたは前記処理サービスは、ハードウェアパーティションである、請求項10から15のいずれか一項に記載の方法。
  17. プロファイリングする前記段階は、
    前記ネットワークサービスを用いた前記フローの通信に識別情報をタグ付けする段階と、
    前記識別情報を前記フローへマッピングする段階と
    を有する、
    請求項10から16のいずれか一項に記載の方法。
  18. 前記識別情報は、ソースアドレス、送信元ポート、デスティネーションポートまたは通信タイプを含むタプルである、請求項17に記載の方法。
  19. プロファイリングする前記段階は、予め定義された時間間隔で、イベントに応答して、またはクエリの受信時に実行される、請求項10から18のいずれか一項に記載の方法。
  20. プロファイリングする前記段階は、インタフェースプロファイルおよびランク付けデータベースを更新する、請求項10から19のいずれか一項に記載の方法。
  21. 前記インタフェースプロファイルおよびランク付けデータベース内のエントリは、長さが30ビットである、請求項20に記載の方法。
  22. インタフェースがフローにより前記インタフェースプロファイルおよびランク付けデータベースにランク付けされ、前記ネットワークメトリックおよび前記処理メトリックに基づき次の実行においてネットワークサービスおよび前記処理サービスを前記フローに割り当てる段階は、最高ランクを有するインタフェースを前記フローについて選択する段階を有する、請求項20または21に記載の方法。
  23. 前記インタフェースは、前記フローと前記フローについて選択される前記処理サービスとの組み合わせに基づいてランク付けされる、請求項22に記載の方法。
  24. 処理回路により実行された場合に請求項10から23のいずれか一項に記載の方法を前記処理回路に実行させる命令を備えるコンピュータプログラム。
  25. 請求項10から23のいずれか一項に記載の方法を実行するための手段を備えるシステム。
  26. 請求項24に記載のコンピュータプログラムを格納する、少なくとも1つの機械可読媒体。
JP2022044599A 2021-06-25 2022-03-18 ネットワークフローベースのハードウェア割り当て Pending JP2023004857A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/358,817 US20210328933A1 (en) 2021-06-25 2021-06-25 Network flow-based hardware allocation
US17/358,817 2021-06-25

Publications (1)

Publication Number Publication Date
JP2023004857A true JP2023004857A (ja) 2023-01-17

Family

ID=78082328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022044599A Pending JP2023004857A (ja) 2021-06-25 2022-03-18 ネットワークフローベースのハードウェア割り当て

Country Status (3)

Country Link
US (1) US20210328933A1 (ja)
JP (1) JP2023004857A (ja)
DE (1) DE102022203111A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220006650A1 (en) * 2019-03-25 2022-01-06 Micron Technology, Inc. Secure device communication

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11558239B1 (en) * 2021-08-31 2023-01-17 Cerner Innovation, Inc. Intelligent system for network and device performance improvement
US11606267B1 (en) * 2021-09-10 2023-03-14 Microsoft Technology Licensing, Llc Detecting and quantifying latency components in accessing cloud services
US11477300B1 (en) * 2021-10-18 2022-10-18 Verizon Patent And Licensing Inc. Method and system for application management service
US11755375B2 (en) * 2021-11-29 2023-09-12 Red Hat, Inc. Aggregating host machines into a single cloud node for workloads requiring excessive resources
US11870669B2 (en) * 2021-12-20 2024-01-09 Intel Corporation At-scale telemetry using interactive matrix for deterministic microservices performance

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608932B2 (en) * 2013-12-10 2017-03-28 International Business Machines Corporation Software-defined networking single-source enterprise workload manager
US10454844B2 (en) * 2017-03-08 2019-10-22 A10 Networks, Inc. Dynamic capacity planning for application delivery platform across multiple cloud deployment
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US10681117B2 (en) * 2018-05-15 2020-06-09 International Business Machines Corporation Automated dynamic load balancing across virtual network interface controller fast switchover devices
US20200241999A1 (en) * 2020-03-25 2020-07-30 Intel Corporation Performance monitoring for short-lived functions
US20220027249A1 (en) * 2020-07-23 2022-01-27 Vmware, Inc. Automated methods and systems for troubleshooting problems in a distributed computing system
US11663219B1 (en) * 2021-04-23 2023-05-30 Splunk Inc. Determining a set of parameter values for a processing pipeline

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220006650A1 (en) * 2019-03-25 2022-01-06 Micron Technology, Inc. Secure device communication

Also Published As

Publication number Publication date
US20210328933A1 (en) 2021-10-21
DE102022203111A1 (de) 2022-12-29

Similar Documents

Publication Publication Date Title
NL2029029B1 (en) Methods and apparatus to coordinate edge platforms
US20220116455A1 (en) Computational storage in a function-as-a-service architecture
EP3974980A1 (en) Methods, apparatus, and articles of manufacture for workload placement in an edge environment
EP3972295A1 (en) Geofence-based edge service control and authentication
EP3985511A1 (en) Orchestration of meshes
US20220116445A1 (en) Disintermediated attestation in a mec service mesh framework
US20210119962A1 (en) Neutral host edge services
US20210014303A1 (en) Methods and apparatus to manage quality of service with respect to service level agreements in a computing device
US20210328933A1 (en) Network flow-based hardware allocation
US20210144202A1 (en) Extended peer-to-peer (p2p) with edge networking
US20220116755A1 (en) Multi-access edge computing (mec) vehicle-to-everything (v2x) interoperability support for multiple v2x message brokers
US20230086899A1 (en) Unlicensed spectrum harvesting with collaborative spectrum sensing in next generation networks
EP4155933A1 (en) Network supported low latency security-based orchestration
US20230189319A1 (en) Federated learning for multiple access radio resource management optimizations
US20220014422A1 (en) Cross-layer automated fault tracking and anomaly detection
US20220116289A1 (en) Adaptive cloud autoscaling
US20230376344A1 (en) An edge-to-datacenter approach to workload migration
US20220116478A1 (en) Microservice latency reduction
US20220114032A1 (en) Infrastructure managed workload distribution
US20220014947A1 (en) Dynamic slice reconfiguration during fault-attack-failure-outage (fafo) events
US20220114010A1 (en) Cooperative management of dynamic edge execution
US11996992B2 (en) Opportunistic placement of compute in an edge network
US20220222584A1 (en) Heterogeneous compute-based artificial intelligence model partitioning
EP4109259A1 (en) Power-based adaptive hardware reliability on a device
US20240236017A1 (en) Automated node configuration tuning in edge systems