JP2022103072A - エッジ自動および適応処理アクティブ化 - Google Patents

エッジ自動および適応処理アクティブ化 Download PDF

Info

Publication number
JP2022103072A
JP2022103072A JP2021190702A JP2021190702A JP2022103072A JP 2022103072 A JP2022103072 A JP 2022103072A JP 2021190702 A JP2021190702 A JP 2021190702A JP 2021190702 A JP2021190702 A JP 2021190702A JP 2022103072 A JP2022103072 A JP 2022103072A
Authority
JP
Japan
Prior art keywords
edge
event
network
activation function
image
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
JP2021190702A
Other languages
English (en)
Inventor
ギム バーナット フランセスク
Guim Bernat Francesc
クマール カルティク
Kumar Karthik
エイチ.ウォーヘイビー リタ
H Wouhaybi Rita
イー.カランザ マルコス
E Carranza Marcos
マルティネス‐スペッソト セザール
Martinez-Spessot Cesar
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 JP2022103072A publication Critical patent/JP2022103072A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0116Measuring and analyzing of parameters relative to traffic conditions based on the source of data from roadside infrastructure, e.g. beacons
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0133Traffic data processing for classifying traffic situation
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0137Measuring and analyzing of parameters relative to traffic conditions for specific applications
    • G08G1/0141Measuring and analyzing of parameters relative to traffic conditions for specific applications for traffic information dissemination
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/052Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/052Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed
    • G08G1/054Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed photographing overspeeding vehicles
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096716Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information does not generate an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096733Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place
    • G08G1/096741Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place where the source of the transmitted information selects which information to transmit to each vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096775Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096783Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a roadside individual element
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/164Centralised systems, e.g. external to vehicles
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/188Capturing isolated or intermittent images triggered by the occurrence of a predetermined event, e.g. an object reaching a predetermined position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/46Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Atmospheric Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】従来技術の問題を解決する。【解決手段】方法、システム、および使用事例の様々な態様が、イベント発生に基づく調整動作を含む。方法は、取り込んだ画像を処理して、イベントが発生したかどうかを決定することを含むことがある。方法は、画像の属性を選択される基準と比較することによって、イベントが発生したことを検出することと、イベントを検出することに応答して、アクティブ化機能をネットワークインターフェースコンポーネント(NIC)に送信することとを含むことがある。NICは、エッジアプライアンス、遠隔画像キャプチャデバイス、または同等物におけるような、遠隔デバイスにあることがある。アクティブ化機能は、例えば、アクセラレータをアクティブ化するために、イベントに対応するビットストリームをアクティブ化することがある。【選択図】図1

Description

エッジコンピューティング(edge computing)は、一般的なレベルで、ネットワークの「エッジ」または「エッジ」の集合により近い場所でのコンピューティングおよびリソースの実装(implementation)、調整(coordination)および使用(use)を指す。この構成の目的は、オーナーシップの総費用を改善し、アプリケーションおよびネットワークの待ち時間を削減し、ネットワークバックホールトラフィック(backhaul traffic)および関連するエネルギ消費を削減し、サービス能力を向上させ、(特に従来のクラウドコンピューティングに比べて)セキュリティまたはデータプライバシー要件の遵守を改善することである。エッジコンピューティング演算(edge computing operations)を実行することができるコンポーネント(「エッジノード(edge nodes)」)は、システムアーキテクチャまたはアドホックサービスが必要とするどんな場所にも(例えば、高性能計算データセンタまたはクラウドインストレーション、指定されたエッジノードサーバ、エンタープライズサーバ、道端(road side)サーバ、テレコム中央局、またはエッジサービスを消費するローカルもしくはピアのエッジにあるデバイス(local or peer at-the-edge device)にも)存在することができる。
エッジコンピューティングに適用されてきたアプリケーションは、(例えば、電気通信またはインターネットサービスを運用するための)従来のネットワーク機能の仮想化ならびに(例えば、5Gネットワークサービスをサポートするための)次世代の機能およびサービスの導入を含むが、これらに限定されない。エッジコンピューティングを広く利用すると予想される使用事例は、多くのネットワークおよび計算集約的サービスの中でも、コネクテッド自動運転車、サーベイランス、モノのインターネット(IoT)デバイスデータ分析、ビデオ符号化および分析、場所認識サービス、スマートシティにおけるデバイス感知を含む。
エッジコンピューティングは、幾つかのシナリオにおいて、多くのタイプのストレージおよびコンピューティングリソースの間のアプリケーションおよび協調されたサービスインスタンス(coordinated service instances)のオーケストレーション(組織化)(orchestration)および管理(management)を提供するために、クラウドのような分散サービスを提供またはホストする。エッジコンピューティングは、エンドポイントデバイス、クライアント、およびゲートウェイが、ネットワークのエッジにより近い場所でネットワークリソースおよびアプリケーションにアクセスしようとするときに、IoTおよびFog/分散ネットワーク構成のために開発された既存の使用事例および技術と緊密に統合されることも期待される。
集約的計算演算がもはやネットワークのコアにあるデータセンタでは主として行われない計算(compute)の新しい時代が現れてきている。むしろ5Gおよび新しいタイプのファブリック(例えば、ネットワークアーキテクチャ)のような新しいデータ転送技術を用いて、計算リソースは、従来のデータセンタから離れた場所に配置されることがある。例えば、計算リソースは、セルタワー、基地局、および中央局において、両方で利用可能なことがある。更に、(例えば、ネットワークのコアから離れた)それらの遠隔配置を考慮すると、計算演算を行う計算デバイスの多くは、太陽電池(光電池)、風力タービン、または配電グリッド(power distribution1 grid)への接続よりも小さく信頼性の低い電力供給を提供することがある他の電源から電力を得ることがある。よって、遠隔計算場所における計算能力は、電力の利用可能性に伴って変動し、一定のレベルの性能(例えば、目標待ち時間、目標スループット、および/または、計算リソースのユーザ(クライアント)と計算リソースのプロバイダとの間のサービスレベル契約において指定されることがある他の性能メトリックスのような、目標サービス品質)を保証することができないことに繋がる。
必ずしも縮尺通りに描かれていないが図面において、同等の番号は、類似のコンポーネント(構成要素)を異なる視点で記載することがある。異なる末尾の文字を有する同等の番号は、類似のコンポーネントの異なるインスタンスを表わすことがある。図面は、概して、限定としてではなく、一例として、この文書で論じる様々な実施形態を図示している。
エッジコンピューティングのためのエッジクラウド構成の概要を図示している。
エンドポイント、エッジクラウド、およびクラウドコンピューティング環境の間の操作レイヤーを図示している。
エッジコンピューティングシステムにおけるネットワーキングおよびサービスのための例示的なアプローチを図示している。
複数のエッジノードおよび複数のテナントの間で作動するエッジコンピューティングシステムにおける仮想エッジ構成の展開を図示している。
エッジコンピューティングシステム内にコンテナを展開する様々な計算構成を図示している。
エッジコンピューティングシステム内のアプリケーションへのモバイルアクセスを含む計算および通信の使用事例を図示している。
エッジコンピューティングシステム内の計算ノードで展開される計算のための例示的なコンポーネントの概要を提示している。
エッジコンピューティングシステムにおけるコンピューティングデバイス内の例示的なコンポーネントの更なる概要を提示している。
幾つかの実施形態に従ったソフトウェアを配布するための例示的なソフトウェア配布プラットフォームを図示している。
幾つかの実施形態に従ったクラウドサービスまたはエッジサービスのためのアーキテクチャトポロジーを図示している。
幾つかの実施形態に従ったネットワークアーキテクチャ構成を図示している。
幾つかの実施形態に従ったイベント検出に基づくデータフローを示す図を図示している。 幾つかの実施形態に従ったイベント検出に基づくデータフローを示す図を図示している。
幾つかの実施形態に従ったイベント検出システムのための例示的な展開を図示している。 幾つかの実施形態に従ったイベント検出システムのための例示的な展開を図示している。
幾つかの実施形態に従ったイベント検出技術を実装するためのアーキテクチャを図示している。
幾つかの実施形態に従ったイベント発生に基づいて作動を調整するための技術を示すフローチャートを図示している。
以下の実施形態は、一般に、イベント発生(event occurrence)に基づいてエッジネットワークにおける作動(operations)を調整することに関する。イベント発生は、例えば、画像キャプチャデバイス(例えば、カメラ)からの画像(イメージ)に基づいて、限定的な処理デバイス(例えば、システム・オン・チップ(SoC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の処理回路のような、集積回路)を使用して識別されることがある。
一例において、エッジサーバは、イベントを処理するために使用され、それは、しばしば不要である、有意の追加的なデータ移動時間、プロセッサ使用を必要とする。些細な計算および有意な通信のためにエッジサーバにデータを送信することは、往復待ち時間を増加させる。エッジサーバは、リソースが制約されており、特に高負荷時には、ボトルネックとなることがあり、単一の障害点を表すこともある。急速に成長しているような都市に展開するとき、デバイスフットプリント(例えば、物理的なスペースの利用可能性)を考慮すると、より多くのサーバを追加することによって水平方向にスケーリングすることは困難な場合がある。高負荷時には、任意の多数の接続されたクライアントが存在することで、遅延は、連続的な待ち時間加算(a cascade of latency adders)を引き起こすことがある。
対照的に、本明細書に記載するシステムおよび方法は、イベントを処理するために、分散ピア・ツー・ピアまたはイベントベースの決定を使用する。これらのシステムおよび方法は、システムの複雑さおよびそれらのアーキテクチャのスケーラビリティに関して利点を提供する。更に、本明細書に記載するシステムおよび方法は、第三者アプリケーションに関連する関連技術的実装において使用されることがある。
図1は、「エッジクラウド(edge cloud)」として以下の例の多くにおいて言及される処理レイヤー(層)を含む、エッジコンピューティングのための構成の概要を示すブロック図100である。図示のように、エッジクラウド110は、アクセスポイントまたは基地局140、ローカル処理ハブ150、または中央局120(central office)のような、エッジ場所に共配置され、従って、複数のエンティティ、デバイス、および機器インスタンスを含むことがある。エッジクラウド110は、クラウドデータセンタ130よりも、エンドポイント(消費者および生産者)データソース160(例えば、自律車両161、ユーザ機器162、ビジネスおよび産業機器163、ビデオキャプチャデバイス164、ドローン165、スマートシティおよびビルディングデバイス166、センサおよびIoTデバイス167など)により一層近く配置される。エッジクラウド110のエッジで提供される計算(compute)、メモリ(memory)、およびストレージリソース(storage resources)は、エンドポイントデータソース160によって使用されるサービスおよび機能のための超低待ち時間応答時間を提供するのに重要であり、エッジクラウド110からクラウドデータセンタ130に向かうネットワークバックホールトラフィック(network backhaul traffic)も削減し、よって、他の利益の中でも、エネルギ消費および全体的なネットワーク利用を向上させる。
計算、メモリ、およびストレージ(storage)は、希少なリソースであり、一般に、エッジ場所に依存して減少する(例えば、中央局でよりも、基地局でよりも、消費者エンドポイントデバイスで利用可能な処理リソースがより少ない)。しかしながら、エッジ場所がエンドポイント(例えば、ユーザ機器(UE))に近ければ近いほど、そのスペースおよび電力はより多く制約されることが多い。従って、エッジコンピューティングは、地理的におよびネットワークアクセス時間においてより近く配置されるより多くのリソースの分配(distribution)を通じて、ネットワークサービスに必要とされるリソースの量を減らそうと試みる。このようにして、エッジコンピューティングは、必要に応じて、計算リソースをワークロードデータに持ち込むか、或いはワークロードデータを計算リソースに持ち込もうと試みる。
以下は、複数の潜在的な展開(デプロイ)(deployment)をカバーし、幾つかのネットワーク操作者(operators)またはサービスプロバイダがそれらの独自のインフラストラクチャにおいて有することがある制約に対処する、エッジクラウドアーキテクチャの態様を記載する。これらは、例えば、基地局レベルでのエッジは、複数テナントのシナリオにおいてより制約された性能および能力を有することがあることの故の)エッジ場所に基づく構成のバリエーション;エッジ場所、場所の階層、または一群の場所に利用可能な計算、メモリ、ストレージ、ファブリック(fabric)、アクセラレーション(acceleration)、または同等のリソースのタイプに基づく構成;サービス、セキュリティ、および管理およびオーケストレーション能力(orchestration capabilities);ならびにエンドサービスの有用性および性能を達成するための関連する目的を含む。これらの展開は、待ち時間、距離、およびタイミング特性に依存して、「ニアエッジ(近エッジ)(near edge)」、「クロースエッジ(近接エッジ)(close edge)」、「ローカルエッジ(局所エッジ)(local edge)」、「ミドルエッジ(中央エッジ)(middle edge)」または「ファーエッジ(遠エッジ)(far edge)」レイヤーと考えられることがあるネットワークレイヤーにおける処理を達成することがある。
エッジコンピューティングは、コンピューティングが、典型的には、基地局、ゲートウェイ、ネットワークルータ、またはデータを生成し且つ消費するエンドポイントデバイスにより一層近い他のデバイスで実装される計算プラットフォーム(例えば、x86またはARM計算ハードウェアアーキテクチャ)の使用を通じて、ネットワークの「エッジ」で或いはネットワークの「エッジ」により近く実行される、発展中のパラダイムである。例えば、エッジゲートウェイサーバは、接続されたクライアントデバイスのための低待ち時間使用事例(例えば、自律運転またはビデオサーベイランス)についてリアルタイムで計算を実行するために、メモリおよびストレージリソースのプールを備えることがある。或いは、一例として、基地局は、バックホールネットワーク(backhaul networks)を介してデータを更に通信することなく、接続されたユーザ機器のためのサービスワークロードを直接処理するために、計算および加速リソースで増強されてよい。或いは、別の例として、中央局ネットワーク管理ハードウェアは、仮想化ネットワーク機能を実行し且つ接続されたデバイスのためのサービスおよび消費者機能の実行のための計算リソースを提供する標準化された計算ハードウェアに置き換えられてよい。エッジコンピューティングネットワーク内では、計算リソースがデータに「移動される」サービス内のシナリオ、ならびにデータが計算リソースに「移動される」シナリオが存在してよい。或いは、一例として、基地局計算、加速、およびネットワークリソースは、コーナー事例(corner case)、緊急事態を管理するために、或いは有意に長い実装ライフサイクルに亘って展開されるリソースの長寿を提供するために、休止状態容量(dormant capacity)(加入、要求に応じた容量)をアクティブ化することによって必要に応じてワークロード需要をスケーリングするためのサービスを提供することができる。
図2は、エンドポイント、エッジクラウド、およびクラウドコンピューティング環境の間の操作レイヤーを図示している。具体的には、図2は、ネットワークコンピューティングの複数の例示的なレイヤーの中のエッジクラウド110を利用する計算上の使用事例205の例を描いている。これらのレイヤーは、エッジクラウド110にアクセスしてデータ作成、分析、およびデータ消費アクティビティを行うエンドポイント(デバイスおよび物)レイヤー200で開始する。エッジクラウド110は、物理的に近接したエッジシステム内に配置されたゲートウェイ、オンプレミス(on-premise)サーバ、またはネットワーク機器(ノード215)を有するエッジデバイスレイヤー210;基地局、無線処理ユニット、ネットワークハブ、地域データセンタ(DC)、またはローカルネットワーク機器(機器225)を包含するネットワークアクセスレイヤー220;および(詳細には図示されていないが、層212内の)任意の機器、デバイス、またはそれらの間に配置されるノードのような、複数のネットワークレイヤーに跨がってよい。エッジクラウド110内のおよび様々なレイヤー間のネットワーク通信は、描写していない接続アーキテクチャおよび技術を介するものを含めて、任意の数の有線または無線媒体を介して生じることがある。
ネットワーク通信距離および処理時間制約に起因する待ち時間の例は、エッジデバイスレイヤー210での5ミリ秒未満の、エンドポイントレイヤー200の中にあるときの1ミリ秒(ms)未満から、ネットワークアクセスレイヤー220でノードと通信するときの10~40ミリ秒の範囲であることがある。エッジクラウド110の外側には、コアネットワーク230およびクラウドデータセンタ240レイヤーがあり、各レイヤーは、増加する待ち時間(例えば、コアネットワークレイヤ230での50~60msの間からクラウドデータセンタレイヤーでの100ms以上)を有する。結果として、少なくとも50~100ms以上の待ち時間を有する、コアネットワークデータセンタ235またはクラウドデータセンタ245における動作は、使用事例205の多くのタイムクリティカル機能(time critical functions)を達成することができない。これらの待ち時間値の各々は、例示および対照の目的のために提供され、他のアクセスネットワーク媒体および技術の使用は、待ち時間を更に低減することがあることが理解されるであろう。幾つかの例において、ネットワークのそれぞれの部分は、ネットワークソースおよび宛先(destination)に対する「クロースエッジ」、「ローカルエッジ」、「ニアエッジ」、「ミドルエッジ」または「ファーエッジ」レイヤーとして分類されることがある。例えば、コアネットワークデータセンタ235またはクラウドデータセンタ245の観点から、中央局またはコンテンツデータネットワークは、(使用事例205のデバイスおよびエンドポイントと通信するときに高い待ち時間値を有する、クラウドに「近い」)「ニアエッジ」レイヤー内に位置すると考えられてよいのに対し、アクセスポイント、基地局、オンプレミスサーバ、またはネットワークゲートウェイは、(使用事例205のデバイスおよびエンドポイントと通信するときに低い待ち時間値を有する、クラウドから「遠い」)「ファーエッジ」レイヤー内に位置すると考えられてよい。「クロース」、「ローカル」、「ニア」、「中央」または「ファー」エッジを構成するような特定のネットワークレイヤーの他のカテゴリ化は、ネットワークレイヤー200~240のいずれかのネットワークレイヤーのソースから測定されるような、待ち時間、距離、ネットワークホップの数、または他の測定可能な特性に基づいてよい。
様々な使用事例205は、エッジクラウドを利用する複数のサービスの故に、入力ストリーム(incoming streams)からの使用圧力の下でリソースにアクセスすることがある。低い待ち時間で結果を達成するために、エッジクラウド110内で実行されるサービスは、(a)優先度(スループットまたは待ち時間)およびサービス品質(QoS)(例えば、自律自動車のトラフィックは、応答時間要件に関して温度センサよりも高い優先度を有することがあり、或いは、性能感度/ボトルネックは、アプリケーションに依存して、計算/アクセラレータ、メモリ、ストレージ、またはネットワークリソースに存在することがある)、(b)信頼性および弾力性(例えば、幾つかの入力ストリームは、ミッションクリティカルな信頼性で作用され、トラフィック経路指定(ルーティング)される必要があるのに対し、幾つかの他の入力ストリームは、アプリケーションに依存して、時折の障害に耐えることがある)、および(c)物理的制約(例えば、電力、冷却、およびフォームファクタ)に関して、様々な要件を均衡させる。
これらの使用事例のエンドツーエンドサービスビューは、サービスフローの概念を含み、取引(トランザクション)に関連付けられる。取引は、サービスを消費するエンティティについての全体的なサービス要件、ならびにリソース、ワークロード、ワークフロー、およびビジネス機能およびビジネスレベル要件についての関連サービスを詳述する。記載された「条件(terms)」で実行されるサービスは、サービスのライフサイクルの間の取引についてのリアルタイムおよびランタイムの契約遵守を保証するような方法において、各レイヤーで管理されてよい。取引のコンポーネントがSLAへの合意を欠くとき、システム全体(取引のコンポーネント)は、(1)SLA違反の影響を理解し、(2)取引SLA全体を再開するためにシステム内の他のコンポーネントを増強し、且つ(3)修正措置を実施する能力を提供してよい。
従って、これらのバリエーションおよびサービス機能を念頭に置いて、エッジクラウド110内のエッジコンピューティングは、使用事例205の複数のアプリケーション(例えば、物体トラッキング、ビデオサーベイランス、接続された車両など)にサービス提供および応答する能力をリアルタイムまたはほぼリアルタイムで提供することがあり、これらの複数のアプリケーションのための超低待ち時間要件を満たすことがある。これらの利点は、待ち時間または他の制約の故に従来のクラウドコンピューティングを利用することができない、全く新しいクラス(等級)のアプリケーション(仮想ネットワーク機能(VNF)、サービスとしての機能(FaaS)、サービスとしてのエッジ(EaaS)、標準プロセスなど)を可能にする。
しかしながら、エッジコンピューティングの利点の故に、以下の注意点がある。エッジに配置されるデバイスは、しばしば、リソースが制約され、従って、エッジリソースの使用に対する圧力がある。典型的には、これは、複数のユーザ(テナント)およびデバイスによる使用のためのメモリおよびストレージリソースのプーリング(pooling)を通じて対処される。エッジは、電力および冷却が制約されることがあり、従って、電力使用量は、殆どの電力を消費しているアプリケーションによって説明される必要がある。これらのプールされるリソースには固有の電力性能のトレードオフがあることがある。何故ならば、それらの多くは、より多くの電力がより大きなメモリ帯域幅を必要とする新興のメモリ技術を使用する可能性が高いからである。同様に、ハードウェアおよび信頼できる機能の信頼の元のセキュリティの改良も必要とされる。何故ならば、エッジ場所は、無人であることがあり、(例えば、第三者の場所に収容されているときに)許可されたアクセスを必要とすることさえあるからである。そのような問題は、特にネットワーク使用が動的に変動し、マルチステークホルダ、使用事例およびサービスの構成が変化するときに、サービスおよびアプリケーションが多くのユーザによって要求される、マルチテナント、マルチオーナー、またはマルチアクセス設定においてエッジクラウド110内で拡大される。
より一般的なレベルで、エッジコンピューティングシステムは、クライアントおよび分散コンピューティングデバイスから協調を提供する、エッジクラウド110(ネットワークレイヤー200~240)内で作動する従前に議論したレイヤーにおける任意の数の展開を包含するように記載されることがある。1つ以上のエッジゲートウェイノード、1つ以上のエッジアグリゲーションノード(エッジ凝集ノード)、および1つ以上のコアデータセンタは、電気通信サービスプロバイダ(「電話会社(telco)」または「TSP」)、モノのインターネットサービスプロバイダ、クラウドサービスプロバイダ(CSP)、エンタープライズエンティティ、または任意の他の数のエンティティによって、或いはそれらの代わりに、エッジコンピューティングシステムの実装を提供するために、ネットワークのレイヤーに亘って分散されてよい。エッジコンピューティングシステムの様々な実装および構成は、例えば、サービス目標を満たすように組織化される(orchestrated)ときに、動的に提供されてよい。
本明細書で提供される例と一致して、クライアント計算ノードは、データの生産者または消費者として通信することができる任意のタイプのエンドポイントコンポーネント、デバイス、アプライアンス、または他のモノとして具体されてよい。更に、エッジコンピューティングシステムで使用されるようなラベル「ノード(node)」または「デバイス(device)」は、そのようなノードまたはデバイスがクライアントまたはエージェント/ミニオン/フォロワの役割で作動することを必ずしも意味せず、むしろ、エッジコンピューティングシステムにおける任意のノードまたはデバイスは、エッジクラウド110を促進または使用するための離散的なまたは接続されたハードウェアまたはソフトウェア構成を含む、個々のエンティティ、ノードまたはサブシステムを指す。
よって、エッジクラウド110は、エッジゲートウェイノード、エッジアグリゲーションノード、またはネットワークレイヤー210~230中の他のエッジ計算ノードによっておよびそれらの中で作動させられる機能的構成およびネットワークコンポーネントから形成される。従って、エッジクラウド110は、本明細書で議論される、無線アクセスネットワーク(RAN)が可能なエンドポイントデバイス(例えば、モバイルコンピューティングデバイス、IoTデバイス、スマートデバイスなど)に近接して配置される、エッジコンピューティングおよび/またはストレージリソースを提供する、任意のタイプのネットワークとして具現されてよい。言い換えると、エッジクラウド110は、ストレージおよび/または計算能力も提供しながら、モバイルキャリアネットワーク(例えば、GMS(Global System for Mobile Communications)ネットワーク、LTE(Long-Term Evolution)ネットワーク、5G/6Gネットワークなど)を含むサービスプロバイダコアネットワークへの進入ポイントとして機能するエンドポイントデバイスおよび従来のネットワークアクセスポイントに接続する「エッジ」として想定されてよい。他のタイプおよび形態のネットワークアクセス(例えば、Wi-Fi、長距離無線、光ネットワークを含む有線ネットワーク)も、そのような3GPPキャリアネットワークの代わりに或いはそれらとの組み合わせにおいて利用されてよい。
エッジクラウド110のネットワークコンポーネントは、サーバ、マルチテナントサーバ、アプライアンスコンピューティングデバイス、および/または任意の他のタイプのコンピューティングデバイスであってよい。例えば、エッジクラウド110は、ハウジング、ケースまたはシェルを含む自己完結(self-contained)処理システムであるアプライアンスコンピューティングデバイスであってよい。幾つかの場合において、エッジデバイスは、特定の目的(例えば、交通信号灯)のためにネットワーク内に提示されるが、他の目的のために利用されることがある処理または他の能力を有するデバイスである。そのようなエッジデバイスは、他のネットワーク化されたデバイスから独立してよく、その主要な目的に適したフォームファクタを有するハウジングを備えてよいが、その主要なタスクと干渉しない他の計算タスクのために利用可能であってよい。エッジデバイスは、モノのインターネットデバイスが含む。アプライアンスコンピューティングデバイスは、デバイス温度、振動、リソース利用、更新、電力問題、物理的およびネットワークセキュリティなどのような、局所的な問題を管理するためのハードウェアおよびソフトウェアコンポーネントを含んでよい。アプライアンスコンピューティングデバイスを実装するための例示的なハードウェアが図7Bと関連して記載される。エッジクラウド110は、1つ以上のサーバおよび/または1つ以上のマルチテナントサーバを含んでもよい。そのようなサーバは、仮想マシンを配置するためのハイパーバイザ(hypervisor)、コンテナを実装するオペレーティングシステムなどのような、仮想コンピューティング環境を実装してよい。そのような仮想コンピューティング環境は、1つ以上のアプリケーションが1つ以上の他のアプリケーションから分離されている間に実行することがある実行環境を提供する。
図3において、(モバイルデバイス、コンピュータ、自律車両、ビジネスコンピューティング機器、産業処理機器の形態における)様々なクライアントエンドポイント310は、エンドポイントネットワーク集合(network aggregation)のタイプに特有の要求および応答を交換する。例えば、クライアントエンドポイント310は、オンプレミスネットワークシステム332を通じて要求および応答322を交換することによって、有線ブロードバンドネットワークを介してネットワークアクセスを得ることがある。モバイルコンピューティングデバイスのような幾つかのクライアントエンドポイント310は、アクセスポイント(例えば、セルラネットワークタワー)334を通じて要求および応答324を交換することによって、無線ブロードバンドネットワークを介してネットワークアクセスを得ることがある。自律車両のような幾つかのクライアントエンドポイント310は、街頭に配置されたネットワークシステム336を通じて、無線車両ネットワークを介して要求および応答326のためのネットワークアクセスを得ることがある。しかしながら、ネットワークアクセスのタイプに関係なく、TSPは、エッジクラウド110内に集合ポイント342、344を展開して、トラフィックおよび要求を集合させることがある。よって、エッジクラウド110内で、TSPは、例えば、エッジ集合ノード340で、様々な計算およびストレージリソースを展開して、要求されるコンテンツを提供することがある。エッジ集合ノード340およびエッジクラウド110の他のシステムは、クラウドまたはデータセンタ360に接続され、それはバックホールネットワーク350を使用して、ウェブサイト、アプリケーション、データベースサーバなどのためのクラウド/データセンタからのより高い待ち時間要求を満たす。単一のサーバフレームワークに展開されるインスタンスを含む、エッジ集合ノード340および集合ポイント342、344の追加的なまたは統合されたインスタンスは、エッジクラウド110またはTSPインフラストラクチャの他の領域内に存在することもある。
図4は、複数のエッジノードおよび複数のテナントの間で作動させられるエッジコンピューティングシステムを横切る仮想エッジ構成の展開(deployment)およびオーケストレーション(組織化)を図示している。具体的には、図4は、様々な仮想エッジインスタンスにアクセスする様々なクライアントエンドポイント410(例えば、スマートシティ/ビルディングシステム、モバイルデバイス、コンピューティングデバイス、ビジネス/ロジスティクスシステム、産業システムなど)のための要求および応答を満たすために、エッジコンピューティングシステム400における第1のエッジノード422および第2のエッジノード424の協調を描いている。ここで、仮想エッジインスタンス432、434は、ウェブサイト、アプリケーション、データベースサーバなどについてのより高い待ち時間要求のためのクラウド/データセンタ440へのアクセスを伴う、エッジクラウドにおけるエッジ計算能力および処理を提供する。しかしながら、エッジクラウドは、複数のテナントまたはエンティティのための複数のエッジノードの間の処理の調整を可能にする。
図4の例において、これらの仮想エッジインスタンスは、エッジ格納、コンピューティング、およびサービスの第1の組み合わせを提供する、第1のテナント(テナント1)に提供される第1の仮想エッジ432と、エッジ格納、コンピューティング、およびサービスの第2の組み合わせを提供する、第2の仮想エッジ434とを含む。仮想エッジインスタンス432、434は、エッジノード422、424の間に分散され、要求および応答が同じまたは異なるエッジノードから満たされるシナリオを含むことがある。分散されているが協調された態様で作動するエッジノード422、424の構成は、エッジプロビジョニング機能450(edge provisioning functions)に基づいて生じる。複数のテナントの間で、アプリケーションおよびサービスのための協調された動作を提供するエッジノード422、424の構成は、オーケストレーション機能460に基づいて生じる。
410内のデバイスの一部は、テナント1がテナント1「スライス」内で機能することがある一方で、テナント2がテナント2スライス内で機能することがある(そして、更なる例では、追加またはサブテナントが存在することがあり、各テナントが、特定のハードウェア機能に至るまで、特定の権利を与えられ、特定の機能セットに取引的に結び付けられることさえある)マルチテナントデバイスであることが理解されるべきである。信頼されたマルチテナントデバイスは、更に、鍵とスライスの組み合わせが「信頼の根」(RoT:root of trust)またはテナント固有のRoTとみなされるように、テナント固有の暗号鍵を含んでよい。更に、単一のDICE(Device Identity Composition Engine)ハードウェア構築ブロックを使用して、(フィールドプログラマブルゲートアレイ(FPGA)のような)デバイス能力をレイヤー化するためのレイヤー化された信頼されたコンピューティングベースコンテキストを構築することがあるように、DICEアーキテクチャを使用して動的に構成されて計算されてよい。RoTを信頼されたコンピューティングコンテキストのために使用して、マルチテナント性をサポートするために有用な「ファンアウト(fan-out)」を可能にしてよい。マルチテナント環境内で、それぞれのエッジノード422、424は、ノード毎に複数のテナントに割り当てられるローカルリソースについてのセキュリティ構成強制ポイント(security feature enforcement point)として作動することがある。更に、(例えば、インスタンス432、434における)テナントランタイムおよびアプリケーション実行は、潜在的に複数の物理ホスティングプラットフォームに跨がるリソースの仮想エッジ抽象化を作成するセキュリティ構成のための強制ポイントとして役立つことがある。最後に、オーケストレーションエンティティにおけるオーケストレーション機能460は、テナント境界に沿ってリソースを整理する(marshalling)ためのセキュリティ構成強制ポイントとして作動することがある。
エッジコンピューティングノードは、リソース(メモリ、中央処理装置(CPU)、グラフィックス処理装置(GPU)、割り込みコントローラ、入出力(I/O)コントローラ、メモリコントローラ、バスコントローラなど)を分割してよく、ここで、それぞれの区画(partitionings)は、RoT能力を含んでよく、ここで、DICEモデルに従ったレイヤー化およびファンアウトが、エッジノードに更に適用されてよい。コンテナ、FaaSエンジン、サーブレット、サーバ、または他の計算抽象化から構成されるクラウドコンピューティングノードを、DICEレイヤー化およびファンアウト構造に従ってパーティション化して、それぞれについてのRoTコンテキストをサポートしてよい。従って、それぞれのRoTに跨がるデバイス410、422および440は、全ての要素を端から端にリンクするテナント固有の仮想信頼セキュアチャネル(virtual trusted secure channel)を確立することができるように、分散信頼コンピューティングベース(DTCT:distributed trusted computing base)の確立を調整してよい。
更に、コンテナは、従前のエッジノードからそのコンテンツを保護するデータまたはワークロード固有の鍵を有する場合があることが理解されるであろう。コンテナの移動(migration)の一部として、ソースエッジノードでのポッドコントローラが、ターゲットエッジノードポッドコントローラから移動鍵(migration key)を取得してよく、ここで、移動鍵は、コンテナ固有のキーを包む(wrap)ために使用される。コンテナ/ポッドがターゲットエッジノードに移動させられるとき、解く鍵(unwrapping key)はポッドコントローラに曝され、次に、ポッドコントローラは、包まれた鍵を解読する。次に、鍵を使用して、コンテナ固有のデータに対する操作を実行してよい。移動機能(migration functions)は、(上述のように)適切に認証されたエッジノードおよびポッドマネージャによってゲート処理されて(gated)よい。
更なる例では、エッジコンピューティングシステムが拡張されて、マルチ所有者、マルチテナント環境における、コンテナ(コードおよび所要の依存性を提供する、収容された展開可能なソフトウェアユニット)の使用を通じて、複数のアプリケーションのオーケストレーションを提供する。マルチテナントオーケストレータ(orchestrator)は、図4の信頼「スライス」概念のプロビジョニングおよびライフサイクルに関連する鍵管理、信頼アンカ管理(trust anchor management)、および他のセキュリティ機能を実行するために使用されてよい。例えば、エッジコンピューティングシステムは、複数の仮想エッジインスタンス(およびクラウドまたはリモートデータセンタ)からの様々なクライアントエンドポイントについての要求および応答を満たすように構成されてよい。これらの仮想エッジインスタンスの使用は、複数のテナントおよび複数のアプリケーション(例えば、拡張現実(AR)/仮想現実(VR)、エンタープライズアプリケーション、コンテンツ配信、ゲーム、計算オフロード)を同時にサポートすることがある。更に、仮想エッジインスタンス内に複数のタイプのアプリケーション(例えば、通常のアプリケーション、待ち時間に敏感なアプリケーション、待ち時間クリティカルなアプリケーション、ユーザプレーンアプリケーション、ネットワーキングアプリケーションなど)が存在することがある。仮想エッジインスタンスは、異なる地理的場所にある複数の所有者のシステム(または、複数の所有者によって共有または共同管理されるそれぞれのコンピューティングシステムおよびリソース)に亘って跨がってよい。
例えば、各エッジノード422、424は、例えば、1つ以上のコンテナのグループを提供するコンテナ「ポッド」426、428の使用を伴う、コンテナの使用を実装してよい。1つ以上のコンテナポッドを使用する設定において、ポッドコントローラまたはオーケストレータは、ポッド内のコンテナの局所制御およびオーケストレーションに関与する。それぞれのエッジスライス432、434のために提供される様々なエッジノードリソース(例えば、六角形で描かれたストレージ、計算、サービス)は、各コンテナのニーズに従って区画化される(partitioned)。
コンテナポッドの使用に伴い、ポッドコントローラは、コンテナおよびレソースの区画化および割当を監視する。ポッドコントローラは、例えば、SLA契約に基づく鍵性能インジケータ(KPI)ターゲットを受信することによって、どの時間期間に亘って物理リソースをどのように最良に区画化するかについてコントローラに命令するオーケストレータ(例えば、オーケストレータ460)からの命令を受信する。ポッドコントローラは、ワークロードを完了してSLAを満たすために、どのコンテナがどのリソースをどのくらいの期間必要とするかを決定する。ポッドコントローラは、コンテナを作成すること、それにリソースおよびアプリケーションを提供すること、分散アプリケーション上で一緒に作動する複数のコンテナ間の中間結果を調整すること、ワークロードが終了するときにコンテナを解体すること、および同等のことのような、コンテナライフサイクル操作を管理する。更に、ポッドコントローラは、認証結果が満たされるまで、適切なテナントがデータのプロビジョニングまたはコンテナへのワークロードを認証するか或いは防止するまでリソースの割り当てを防止する、セキュリティ役割を果たすことがある。
また、コンテナポッドの使用では、テナント境界は依然として存在し得るが、コンテナの各ポッドの文脈において存在し得る。各テナント固有のポッドコントローラがテナント固有のポッドコントローラを有するならば、典型的なリソース不足状態を回避するためにリソース割当要求を統合する共有ポッドコントローラが存在するであろう。ポッドおよびポッドコントローラの証明(attestation)および信頼性(trustworthiness)を確実にするために、更なる制御が提供されることがある。例えば、オーケストレータ460は、証明検証を実行するローカルポッドコントローラに証明検証ポリシーを提供することがある。証明が第1のテナントポッドコントローラのためのポリシーを満たすが、第2のテナントポッドコントローラのためのポリシーを満たさないならば、第2のポッドは、それを満たす異なるエッジノードに移動させられ得る。代替的に、第1のポッドは第2のポッドを実行する前に実行することが可能であり、異なる共有ポッドコントローラが第2のポッドを実行する前にインストールされて呼び出される。
図5は、エッジコンピューティングシステム内にコンテナを展開する追加的な計算構成を図示している。簡略化された例として、システム構成510、520は、ポッドコントローラ(例えば、コンテナマネージャ511、521、およびコンテナオーケストレータ531)が、(構成510内の)計算ノード(515)を介した実行を通じてコンテナ化されたポッド、機能、およびサービスとしての機能を起動させる(launch)ように或いは(構成520内の)計算ノードを介した実行通じてコンテナ化された仮想化されたネットワーク機能を別々に実行するように構成される、設定を描いている。この構成は、(計算ノード537を使用する)システム構成530における複数のテナントの使用のために適合され、ここで、コンテナ化されたポッド(例えば、ポッド512)、機能(例えば、機能513、VNF522、536)、およびサービスとしての機能インスタンス(例えば、FaaSインスタンス514)は、(仮想化されたネットワーク機能の実行とは別に)それぞれのテナントに固有の仮想マシン(例えば、テナント532、533のためのVM534、535)内で起動される。この構成は、コンテナ542、543、またはコンテナベースのオーケストレーションシステム541によって調整されるような、計算ノード544上での様々な機能、アプリケーションおよび機能の実行を提供する、システム構成540内での使用のために更に適合される。
図5に示すシステム構成は、VM、コンテナ、および機能を、アプリケーション構成に関して等しく扱うアーキテクチャを提供する(そして、その結果としてのアプリケーションは、これら3つの成分の組み合わせである)。各成分は、ローカルバックエンドとしての1つ以上の加速器(FPGA、ASIC)成分の使用を含むことがある。このようにして、アプリケーションは、オーケストレータによって調整された複数のエッジ所有者を横断して分割されることができる。
図5のコンテキストにおいて、ポッドコントローラ/コンテナマネージャ、コンテナオーケストレータ、および個々のノードは、セキュリティ強制ポイント(security enforcement point)を提供することがある。しかしながら、テナントに割り当てられたレソースが別のテナントに割り当てられたリソースとは異なる場合には、テナント隔離が組織化されることがあるが、エッジ所有者は、リソース割当がテナント境界を越えて共有されないように協力する。或いは、リソース割当は、テナント境界を越えて隔離されることができる。何故ならば、テナントは、サブスクリプションを介して或いは取引/契約ベースで「使用」を可能にし得るからである。これらのコンテキストでは、仮想化、コンテナ化、エンクレーブ、およびハードウェア区画化スキームが、占有(tenancy)を強制するためにエッジ所有者によって使用されることがある。他の隔離環境は、裸金属(専用)機器、仮想機械、コンテナ、コンテナ上の仮想機械、またはそれらの組み合わせを含みことがある。
更なる例では、ソフトウェア画定または制御されたシリコンハードウェア、および他の構成可能なハードウェアの態様が、アプリケーション、機能、およびサービスをエッジコンピューティングシステムと統合することがある。ソフトウェア画定シリコンは、何らかのリソースまたはハードウェア成分が契約またはサービスレベル合意を満たす能力を保証するために、その成分が(例えば、ハードウェア構成自体内でのアップグレード、再構成、または新機能の提供によって)それ自体またはワークロードの一部を修正する能力に基づいて、使用されることができる。
本明細書で議論するエッジコンピューティングシステムおよび構成は、移動性を含む様々なソリューション、サービス、および/または使用事例において適用可能である場合があることが理解されるべきである。一例として、図6は、エッジクラウド110を実装するエッジコンピューティングシステム600内のアプリケーションへのモバイルアクセスを含む、簡略化された車両計算および通信使用事例を示している。この使用事例において、それぞれのクライアント計算ノード610は、道路の横断中にエッジゲートウェイノード620と通信する対応する車両内に位置する車両内計算システム(例えば、車両内ナビゲーションおよび/または娯楽報道番組システム)として具現されることがある。例えば、エッジゲートウェイノード620は、道路に沿って、道路の交差点に、または道路近くの他の場所に配置されることがある、他の別個の機械的なユーティリティを有する構造に組み込まれた、道路側キャビネットまたは他の筐体内に配置されることがある。それぞれの車両が道路に沿って横断するにつれて、そのクライアント計算ノード610と特定のエッジゲートウェイデバイス620との間の接続は、クライアント計算ノード610のための一貫した接続およびコンテキストを維持するように伝搬することがある。同様に、モバイルエッジノードが、優先順位の高いサービスで或いは(例えば、ドローンの場合における)基本サービスのためのスループットまたは待ち時間解決条件に従って集合することがある。それぞれのエッジゲートウェイデバイス620は、ある量の処理および格納能力を含み、よって、クライアント計算ノード610のためのデータの処理および/または格納は、エッジゲートウェイデバイス620のうちの1つ以上のエッジゲートウェイデバイスで実行されてよい。
エッジゲートウェイデバイス620は、通信基地局642(例えば、セルラネットワークの基地局)にまたは内に配置された計算サーバ、アプライアンスまたはコンポーネントとして例示的に具現された、1つ以上のエッジリソースノード640と通信することがある。上述のように、それぞれのエッジリソースノード640は、ある量の処理および格納能力を含み、よって、クライアント計算ノード610のためのデータの何らかの処理および/または格納は、エッジリソースノード640で実行されることがある。例えば、緊急性または重要性の低いデータの処理は、エッジリソースノード640によって実行されることがある一方で、より高い緊急性または重要性のデータの処理は、(例えば、各コンポーネントの能力、または緊急性または重要性を示す要求内の情報に依存して)エッジゲートウェイデバイス620によって実行されることがある。データアクセス、データ位置または待ち時間に基づいて、作業は、処理優先順位が処理アクティビティの間に変化するときに、エッジリソースノードで継続することがある。同様に、構成可能なシステムまたはハードウェアリソース自体を(例えば、ローカルオーケストレータを通じて)アクティブ化させて、新たな需要を満たすための追加リソースを提供する(例えば、計算リソースをワークロードデータに適合させる)ことができる。
エッジリソースノード640は、コアデータセンタ650と通信し、コアデータセンタ650は、中央場所(例えば、セルラ通信ネットワークの中央局)に配置された計算サーバ、アプライアンス、および/または他のコンポーネントを含むことがある。コアデータセンタ650は、エッジリソースノード640およびエッジゲートウェイデバイス620によって形成されるエッジクラウド110動作のために、グローバルネットワーククラウド660(例えば、インターネット)へのゲートウェイを提供することがある。更に、幾つかの例において、コアデータセンタ650は、ある量の処理および格納能力を含んでよく、よって、クライアント計算デバイスについてのデータの何らかの処理および/または格納は、コアデータセンタ650で実行されてよい(例えば、低い緊急性もしくは重要性または高い複雑性の処理)。
エッジゲートウェイノード620またはエッジリソースノード640は、ステートフル(処理状態を把握する)(stateful)アプリケーション632および地理的分配されたデータベース634(geographic distributed database)の使用を提供することがある。アプリケーション632およびデータベース634は、エッジクラウド110のレイヤーで水平方向に分布されているように図示されているが、アプリケーションのリソース、サービス、または他のコンポーネントは、(クライアント計算ノード610で実行されるアプリケーションの一部、エッジゲートウェイノード620またはエッジリソースノード640で実行される他の部分などを含む)エッジクラウドを通じて垂直方向に分散されてよいことが理解されるであろう。更に、前述のように、サービス目的と義務を満たすために、任意のレベルでピア関係が存在することができる。更に、特定のクライアントまたはアプリケーションについてのデータは、変化する条件に基づいて(例えば、車両移動に従う加速リソース利用可能性などに基づいて)エッジからエッジへ移動することができる。例えば、アクセスの「減衰速度」に基づいて、継続する次の所有者またはデータもしくは計算アクセスがもはや実行可能でないときを識別するために、予測を行うことができる。これらのサービスおよびその他のサービスは、取引をコンプライアントおよびロスのない状態に維持するために必要とされる作業を完了するために利用されてよい。
更なるシナリオでは、移動が機能するために、アプリケーションおよびワークロードを有するコンテナが再構成、再編成、再解釈される必要がないように、コンテナ636(またはコンテナのポッド)は、エッジノード620から他のエッジノード(例えば、620、640など)にフレキシブルに移動されられることがある。しかしながら、そのような設定では、幾つかの修正または「掻き混ぜ(スウィズリング)(swizzling)」変換操作が適用されることがある。例えば、ノード640における物理的ハードウェアは、エッジゲートウェイノード620とは異なってよく、従って、コンテナの底エッジを構成するハードウェア抽象化レイヤー(HAL:hardware abstraction layer)は、ターゲットエッジノードの物理的レイヤーに再マッピングされる。これはコンテナネイティブフォーマットから物理ハードウェアフォーマットへのHALのバイナリ変換のような、何らかの形態の遅延バインディング技術を含むことがあり、或いはマッピングインターフェースおよび操作を含むことがある。ポッドコントローラを使用して、異なるハードウェア環境への/からの移動を含むコンテナライフサイクルの一部としてインターフェースマッピングを駆動させてよい。
図6が包含するシナリオは、エッジノードがそれをホストするプラットフォームに沿って他の地理的場所に移動するときに、車両(自動車/トラック/路面電車/列車においてホストされるエッジノードまたは他の移動ユニットのような様々なタイプのモバイルエッジノードを利用することがある。車両間通信では、個々の車両が、(例えば、キャッシュ、報告、データ集合などを行うために)他の車両のためのネットワークエッジノードとして作動することさえある。従って、様々なエッジノードにおいて提供されるアプリケーションコンポーネントは、個々のエンドポイントデバイスまたはエッジゲートウェイノード620での幾つかの機能または操作、エッジリソースノード640での幾つかの他の機能または操作、およびコアデータセンタ650またはグローバルネットワーククラウド660における他の機能または操作の間の協調を含む、静的またはモバイル設定において分散される場合があることが理解されるであろう。
更なる構成において、エッジコンピューティングシステムは、それぞれの実行可能なアプリケーションおよび機能の使用を通じてFaaSコンピューティング能力を実装することがある。ある例では、開発者が、1つ以上の計算機能を表す機能コード(例えば、ここでは「コンピュータコード(computer code)」)を書き込み、機能コードは、例えば、エッジノードまたはデータセンタによって提供されるFaaSプラットフォームにアップロードされる。例えば、サービス使用事例またはエッジ処理イベントのようなトリガが、FaaSプラットフォームで機能コードの実行を開始する。
FaaSの例では、コンテナを使用して、機能コード(例えば、第三者によって提供されるアプリケーション)が実行される環境を提供する。コンテナは、プロセス、ドッカー(Docker)またはクバネット(Kubernetes)コンテナ、仮想マシンなどのような、任意の隔離された実行エンティティであってよい。エッジコンピューティングシステム内では、様々なデータセンタ、エッジ、(モバイルを含む)エンドポイントデバイスが、要求に応じてスケーリングされる機能を「スピンアップする(spin up)」(例えば、機能アクションをアクティブ化させる且つ/或いは割り当てる)ために使用される。機能コードは、物理的インフラストラクチャ(例えば、エッジコンピューティングノード)デバイスおよび下に位置する仮想化コンテナで実行される。最後に、コンテナは、実行を完了することに応答してインフラストラクチャ上で「スピンダウン(spun down)」(非アクティブ化(deactivated)または割当解除(deallocated))される。
FaaSの更なる態様は、サービスとしてエッジコンピューティングをサポートするそれぞれの機能(Edge-as-a-Serviceまたは「EaaS」)のサポートを含め、サービス様式においてエッジ機能の展開を可能にすることがある。FaaSの追加的な構成は、顧客(例えば、コンピュータコード開発者)のコードが実行時されるときにのみ顧客が支払うことを可能にする粒状請求書コンポーネント(granular billing component)、1つ以上の機能による再利用のためのデータを格納する共通データストレージ、個々の機能間のオーケストレーションおよび管理、機能実行管理、並列化(parallelism)、統合(consolidation)、コンテナおよび機能メモリスペースの管理、機能のために利用可能な加速リソースの調整、および(初期化、展開または設定を必要とする「コールド」に対する、既に展開されている或いは作動させられている「ウォーム」コンテナを含む)コンテナ間の機能の分散を含んでよい。
エッジコンピューティングシステム600は、エッジプロビジョニングノード644(edge provisioning node)を含むことができるか、或いはエッジプロビジョニングノード644と通信することができる。エッジプロビジョニングノード644は、図7Bの例示的なコンピュータ読取可能命令782のようなソフトウェアを、本明細書に記載する方法のいずれかを実施するために、様々な受信者に配布する(distribute)ことができる。例示的なエッジプロビジョニングノード644は、ソフトウェア命令(例えば、コード、スクリプト、実行可能バイナリ、コンテナ、パッケージ、圧縮ファイル、および/またはそれらの派生物)を他のコンピューティングデバイスに格納および/または送信することができる、任意のコンピュータサーバ、ホームサーバ、コンテンツ配信ネットワーク、仮想サーバ、ソフトウェア配布システム、中央施設、ストレージデバイス、ストレージノード、データ施設、クラウドサービスなどによって実装されてよい。例示的なエッジプロビジョニングノード644のコンポーネントは、クラウド内に、ローカルエリアネットワーク内に、エッジネットワーク内に、ワイドエリアネットワーク内に、インターネット上に、および/または受信者(receiving party(parties))と通信的に結合された任意の他の場所に配置されてもよい。受信者は、エッジプロビジョニングノード644を所有および/または操作するエンティティの顧客、クライアント、提携者、ユーザなどであってよい。例えば、エッジプロビジョニングノード644を所有および/または操作するエンティティは、図7Bの例示的なコンピュータ読取可能命令782のようなソフトウェア命令の開発者、販売者、および/またはライセンス提供者(またはその顧客および/または消費者)であってよい。受領者は、使用および/または再販売および/またはサブライセンスのためにソフトウェア命令を購入および/またはライセンスする消費者、サービスプロバイダ、ユーザ、小売業者、OEM業者などであってよい。
ある例において、エッジプロビジョニングノード644は、1つ以上のサーバおよび1つ以上のストレージデバイスを含む。ストレージデバイスは、以下に記載するように、図7Bの例示的なコンピュータ読取可能命令782のようなコンピュータ読取可能命令をホストする。上述のエッジゲートウェイデバイス620と同様に、エッジプロビジョニングノード644の1つ以上のサーバは、ベースステーション642または他のネットワーク通信エンティティと通信する。幾つかの例において、1つ以上のサーバは、商業取引の一部として要求者にソフトウェア命令を送信する要求に応答する。ソフトウェア命令の配信、販売、および/またはライセンスについての支払いは、ソフトウェア配布プラットフォームの1つ以上のサーバによって、および/または第三者支払いエンティティを介して処理されることがある。サーバは、購入者および/またはライセンス提供者が、エッジプロビジョニングノード644からコンピュータ読取可能命令782をダウンロードすることを可能にする。例えば、図7Bの例示的なコンピュータ読取可能命令782に対応することがあるソフトウェア命令は、本明細書に記載する方法を実施するためにコンピュータ読取可能命令782を実行することになる例示的なプロセッサプラットフォームにダウンロードされることがある。
幾つかの例において、コンピュータ読取可能命令782を実行するプロセッサプラットフォームは、異なる地理的場所、法的管轄などに物理的に配置されることができる。幾つかの例において、エッジプロビジョニングノード644の1つ以上のサーバは、ソフトウェア命令(例えば、図7Bの例示的なコンピュータ読取可能命令782)に対する更新を定期的に提供、送信、および/または強制して、改良、パッチ、アップデートなどが配布されて、エンドユーザデバイスで実装されるソフトウェア命令に適用されることを確実にする。幾つかの例では、コンピュータ読取可能命令782の異なるコンポーネントが、異なるソースからおよび/または異なるプロセッサプラットフォームに配信されることができる。例えば、異なるライブラリ、プラグイン、コンポーネント、および他のタイプの計算モジュールが、コンパイルされるか或いは解釈されるかに拘わらず、異なるソースからおよび/または異なるプロセッサプラットフォームに配布されることができる。例えば、ソフトウェア命令の一部(例えば、それ自体は実行可能でないスクリプト)は、第1のソースから配布されてよい一方で、(スクリプトを実行することができる)インタープリタ(interpreterは)、第2のソースから配布されてよい。
更に別の例では、本発明のエッジコンピューティングシステムおよび環境を参照して議論するコンピューティングノードまたはデバイスのいずれも、図7Aおよび図7Bに示すコンポーネントに基づいて満たされることができる。それぞれのエッジ計算ノードは、あるタイプのデバイス、アプライアンス、コンピュータ、または他のエッジ、ネットワーキング、またはエンドポイントコンポーネントと通信することができる他の「モノ」として具体化されることがある。例えば、エッジ計算デバイスは、パーソナルコンピュータ、サーバ、スマートフォン、モバイル計算デバイス、スマートアプライアンス、車載型計算システム(例えば、ナビゲーションシステム)、外側ケース、シェル等を有する内蔵型デバイス、または記載の機能を実行することができる他のデバイスまたはシステムとして具体化されることがある。
図7Aに示す単純化された例において、エッジ計算ノード700は、(本明細書では「計算回路構成」とも呼ぶ)計算エンジン702、入出力(I/O)サブシステム708、データストレージ710、通信回路構成サブシステム712、および任意的な1つ以上の周辺デバイス714を含む。他の例において、それぞれの計算デバイスは、コンピュータに典型的に見られるもの(例えば、ディスプレイ、周辺デバイスなど)のような、他のまたは追加のコンポーネントを含むことがある。更に、幾つかの例では、例示的なコンポーネントのうちの1つ以上は、別のコンポーネントに組み込まれることがあり、或いは別の方法で別のコンポーネントの一部を形成することがある。
計算ノード700は、様々な計算機能を実行することができる任意のタイプのエンジン、デバイス、またはデバイスの集合として具体化されることがある。幾つかの例において、計算ノード700は、集積回路、埋め込みシステム、フィールドプログラマブルゲートアレイ(FPGA)、システム・オン・チップ(SOC)、または他の集積システムまたはデバイスのような、単一デバイスとして具体化されてよい。例示的な例において、計算ノード700は、プロセッサ704およびメモリ706を含むか、或いはプロセッサ704およびメモリ706として具現化される。プロセッサ704は、本明細書に記載の機能を遂行する(例えば、アプリケーションを実行する)ことができる任意のタイプのプロセッサとして具体化されることができる。例えば、プロセッサ704は、マルチコアプロセッサ、マイクロコントローラ、処理ユニット、特殊化されたまたは特殊目的の処理ユニット、または他のプロセッサまたは処理/制御回路として具体化されてよい。
幾つかの例において、プロセッサ704は、FPGA、特定用途向け集積回路(ASIC)、再構成可能なハードウェアまたはハードウェア回路構成、または本明細書に記載の機能の実行を容易にする他の特殊化されたハードウェアとして具体化されてよく、それらを含んでよく、或いはそれらに結合されてよい。また、幾つかの例において、プロセッサ704は、データ処理ユニット(DPU)としても知られている特殊化されたx-処理ユニット(xPU)、インフラストラクチャ処理ユニット、またはネットワーク処理ユニット(NPU)として具体化されることがある。そのようなxPUは、スタンドアロン回路または回路パッケージとして具体化されてよく、SOC内に統合されてよく、或いは(例えば、SmartNICまたは拡張SmartNIC内の)ネットワーク回路構成、加速回路構成、ストレージデバイス、またはAIハードウェア(例えば、GPUまたはプログラムされたFPGA)と統合されてよい。そのようなxPUは、CPUまたは汎用処理ハードウェアの外部で、1つ以上のデータストリームを処理し、(マイクロサービスをホストすること、サービス管理またはオーケストレーションを遂行すること、サーバまたはデータセンタハードウェアを編成すること(organizing)または管理すること、サービスメッシュを管理すること、またはテレメトリを収集することおよび配布することのような)データストリームのための特定のタスクおよびアクションを遂行する、プログラミングを受信するように設計されてよい。しかしながら、プロセッサ704のxPU、SOC、CPU、および他のバリエーションは、互いに協調して動作して、計算ノード700内でならびに計算ノード700の代わりに、多くのタイプの動作および命令を実行する場合があることが理解されるであろう。
メモリ706は、本明細書に記載の機能を実行することができる任意のタイプの揮発性(例えば、ダイナミックランダムアクセスメモリ(DRAM)など)または不揮発性メモリまたはデータストレージとして具体化されてよい。揮発性メモリは、媒体によって格納されるデータの状態を維持するために電力を必要とする記憶媒体であってよい。揮発性メモリの非限定的な例は、DRAMまたはスタティックランダムアクセスメモリ(SRAM)のような、様々なタイプのランダムアクセスメモリ(RAM)を含んでよい。メモリモジュールにおいて使用されることがあるDRAMの1つの特定のタイプは、同期ダイナミックランダムアクセスメモリ(SDRAM)である。
ある実施形態において、メモリデバイスは、NANDまたはNOR技術に基づくもののような、ブロックアドレス指定可能メモリデバイスである。メモリデバイスは、三次元クロスポイントメモリデバイス(例えば、Intel(登録商標)3D XPoint(TM)メモリ)、または他のバイトアドレス指定可能な場所書き込み可能な不揮発性メモリデバイスを含んでもよい。メモリデバイスは、ダイ自体および/またはパッケージ化されたメモリ製品を参照することがある。幾つかの例において、3Dクロスポイントメモリ(例えば、Intel(登録商標)3D XPoint(TM)メモリ)は、メモリセルがワード線とビット線との交点に位置し、個々にアドレス指定可能であり、ビットストレージがバルク抵抗の変化に基づく、トランジスタレス積重ね可能スクロスポイントアーキテクチャを含んでよい。幾つかの例では、メモリ706の全部または一部がプロセッサ704に統合されてよい。メモリ706は、1つ以上のアプリケーション、アプリケーションによって操作されるデータ、ライブラリ、およびドライバのような、動作中に使用される様々なソフトウェアおよびデータを格納することがある。
計算回路構成702は、計算回路構成702(例えば、プロセッサ704および/またはメインメモリ706)を用いた入出力操作を容易にする回路構成および/またはコンポーネントおよび計算回路構成702の他のコンポーネントとして具体化されることがある、I/Oサブシステム708を介して計算ノード700の他のコンポーネントと通信的に結合される。例えば、I/Oサブシステム708は、メモリコントローラハブ、入力/出力制御ハブ、集積センサハブ、ファームウェアデバイス、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレースなど)、および/または入出力動作を容易にする他のコンポーネントおよびサブシステムとして具体化されてよく、或いはさもなければそれらを含んでよい。幾つかの例において、I/Oサブシステム708は、システム・オン・チップ(SoC)の一部を形成してよく、プロセッサ704、メモリ706、および計算回路構成702の他のコンポーネントのうちの1つ以上と共に、計算回路構成702に組み込まれてよい。
1つ以上の例示的なデータストレージデバイス710は、例えば、メモリデバイスおよび回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、または他のデータストレージデバイスのような、データの短期または長期格納のために構成された任意のタイプのデバイスとして具体化されてよい。個々のデータストレージデバイス710は、データストレージデバイス710のためのデータおよびファームウェアコードを格納するシステムパーティションを含んでよい。個々のデータストレージデバイス710は、例えば、計算ノード700のタイプに応じて、オペレーティングシステムのためのデータファイルおよび実行可能物(executables)を格納する1つ以上のオペレーティングシステムパーティションを含んでもよい。
通信回路構成712は、計算回路構成702と別の計算デバイス(例えば、実装エッジコンピューティングシステムのエッジゲートウェイ)との間のネットワークを通じた通信を可能にすることができる任意の通信回路、デバイス、またはそれらの集合として具体化されてよい。通信回路構成712は、任意の1つ以上の通信技術(例えば、有線または無線通信)および関連するプロトコル(例えば、3GPP 4Gまたは5G標準のようなセルラネットワーキングプロトコル、IEEE802.11/Wi-Fi(登録商標)のようなワイヤレスローカルエリアネットワークプロトコル、ワイヤレスワイドエリアネットワークプロトコル、イーサネット、Bluetooth(登録商標)、Bluetooth Low Energy、例えば、IEEE802.15.4またはZigBee(登録商標)のようなIoTプロトコル、低電力ワイドエリアネットワーク(LPWAN)または低電力ワイドエリア(LPWA)プロトコルなど)を使用して、そのような通信を行う、ように構成されてよい。
例示的な通信回路構成712は、ホストファブリックインターフェース(HFI)とも呼ばれるネットワークインターフェースコントローラ720を含む。NIC720は、1つ以上のアドインボード、ドーターカード、ネットワークインターフェースカード、コントローラチップ、チップセット、または他の計算デバイス(例えば、エッジゲートウェイノード)と接続するために計算ノード700によって使用されることがある他のデバイスとして具体化されてよい。幾つかの例において、NIC720は、1つ以上のプロセッサを含むシステム・オン・チップ(SoC)の一部として具体化されてよく、或いは1つ以上のプロセッサも含むマルチチップパッケージ上に含められてよい。幾つかの例において、NIC720は、両方ともNIC720に対してローカルであるローカルプロセッサ(図示せず)および/またはローカルメモリ(図示せず)を含んでよい。そのような例において、NIC720のローカルプロセッサは、本明細書で議論する計算回路構成702の機能のうちの1つ以上を実行することができてよい。追加的にまたは代替的に、そのような例において、NIC720のローカルメモリは、ボードレベル、ソケットレベル、チップレベル、および/または他のレベルでクライアント計算ノードの1つ以上のコンポーネントに統合されてよい。
更に、幾つかの例において、それぞれの計算ノード700は、1つ以上の周辺デバイス714を含んでよい。そのような周辺デバイス714は、計算ノード700の特定のタイプに応じて、オーディオ入力デバイス、ディスプレイ、他の入出力デバイス、インターフェースデバイス、および/または他の周辺デバイスのような、計算デバイスまたはサーバに見出される任意のタイプの周辺デバイスを含んでよい。更なる例において、計算ノード700は、エッジコンピューティングシステムまたは同様の形態のアプライアンス、コンピュータ、サブシステム、回路構成、または他のコンポーネントにおいて(クライアントであれ、ゲートウェイであれ、或いは集合ノードであれ)それぞれのエッジ計算ノードによって具体化されてよい。
より詳細な例において、図7Bは、本明細書に記載する技術(例えば、操作、プロセス、方法、および方法論)を実装するためにエッジ計算ノード750内に存在することがあるコンポーネントの一例のブロック図を示している。このエッジコンピューティングノード750は、(例えば、モバイルデバイス、基地局、サーバ、ゲートウェイなどのような)コンピューティングデバイスとしてまたはその一部として実装されるときの、ノード700のそれぞれのコンポーネントのより近接した図を提供する。エッジコンピューティングノード750は、本明細書で参照するハードウェアまたはロジック(論理)コンポーネントの任意の組み合わせを含んでよく、エッジ通信ネットワークまたはそのようなネットワークの組み合わせと共に使用可能な任意のデバイスを含んでよく或いはそれと結合してよい。コンポーネントは、集積回路(IC)、その部分、離散的電子デバイス、または他のモジュール、命令セット、プログラマブルロジックまたはアルゴリズム、ハードウェア、ハードウェアアクセラレータ、ソフトウェア、ファームウェア、またはエッジコンピューティングノード750に適合されるそれらの組み合わせとして、或いはより大きなシステムのシャーシ内に他の方法で組み込まれるコンポーネントとして実装されてよい。
エッジコンピューティングデバイス750は、マイクロプロセッサ、マルチコアプロセッサ、マルチスレッドプロセッサ、超低電圧プロセッサ、埋め込みプロセッサ、xPU/DPU/IPU/NPU、特定目的処理ユニット、特殊処理ユニット、または他の既知の処理要素であってもよい、プロセッサ752の形態の処理回路構成を含んでよい。プロセッサ752は、プロセッサ752および他のコンポーネントが単一の集積回路に形成されるシステム・オン・チップ(SoC)の一部、または、Santa Clara,CaliforniaのIntel Corporation製のEdison(TM)またはGalileo(TM)SoCボードのような単一パッケージであってよい。一例として、プロセッサ752は、Quark(TM)、Atom(TM)、i3、i5、i7、i9、またはMCUクラスのプロセッサのような、Intel(登録商標)Architecture Core(TM)ベースのCPUプロセッサ、またはIntel(登録商標)から入手可能な別のそのようなプロセッサを含んでよい。しかしながら、Sunnyvale,CaliforniaのAdvanced Micro Devices,Inc.(AMD(登録商標))から入手可能なもの、Sunnyvale,CaliforniaのMIPS Technologies,Inc.製のMIPS(登録商標)ベースの設計、ARM Holdings,Ltd.または彼らの顧客もしくは彼らのライセンシ享受者もしくは採用者からライセンスされたARM(登録商標)ベースの設計のような、任意の数の他のプロセッサが使用されてよい。プロセッサは、Apple(登録商標)Inc.製のA5-A13プロセッサ、Qualcomm(登録商標)Technologies,Inc.製のSnapdragon(TM)プロセッサ、Texas Instruments,Inc.製のOMAP(TM)プロセッサのようなユニットを含むことがある。プロセッサ752および付随する回路構成は、図7Bに示される全ての要素よりも少ない数の要素を含む限定されたハードウェア構成または複数の構成を含む、単一のソケットフォームファクタ、複数のソケットフォームファクタ、または様々な他のフォーマットで提供されてよい。
プロセッサ752は、インターコネクト(相互接続)756(例えば、バス)を通じてシステムメモリ754と通信することがある。任意の数のメモリデバイスを使用して所与の量のシステムメモリを提供することがある。一例として、メモリ754は、DDRまたはモバイルDDR標準(例えば、LPDDR、LPDDR2、LPDR3、またはLPDDR4)のようなJeing Electron Devices Engineering Council(JEDEC)設計に従ったランダムアクセスメモリであってよい。特定の例において、メモリコンポーネントは、DDR SDRAMのためのJESD79F、DDR2 SDRAMのためのJESD79-2F、DDR3 SDRAMのためのJESD79-3F、DDR4 SDRAMのためのJESD79-4A、低電力DDR(LPDR)のためのJESD209、LDDR2のためのJESD209-2、LDDR3のためのJESD209-3、およびLDDR4のためのJESD209-4のような、JEDECによって公表されたDRAM標準に準拠してよい。そのような標準(および類似の標準)は、DDRベースの標準と呼ばれることがあり、そのような標準を実装するストレージデバイスの通信インターフェースは、DDRベースのインターフェースと呼ばれることがある。様々な実装において、個々のメモリデバイスは、単一ダイパッケージ(SDP)、デュアルダイパッケージ(DDP)、またはクワッドダイパッケージ(Q17P)のような、任意の数の異なるパッケージタイプであってよい。これらのデバイスは、幾つかの例において、マザーボード上に直接はんだ付けされて、より低いプロファイルのソリューションを提供することがある一方で、他の例において、デバイスは、1つ以上のメモリモジュールとして構成され、1つ以上のメモリモジュールは、次いで、所与のコネクタによってマザーボードに結合される。他のタイプのメモリモジュール、例えば、microDIMMまたはMiniDIMMを含むが、これらに限定されない、異なる種類のデュアルインラインメモリモジュール(DIMM)のような、任意の数の他のメモリ実装が使用されることがある。
データ、アプリケーション、オペレーティングシステムなどのような情報の永続的な記憶を提供するために、ストレージ758がインターコネクト756を介してプロセッサ752に結合することもある。ある例において、ストレージ758は、ソリッドステートディスクドライブ(SSDD)を介して実装されることがある。ストレージ758のために使用されることがある他のデバイスは、SecureDigital(SD)カード、microSDカード、eXtreme Digital(XD)ピクチャカード、および同等物のようなフラッシュメモリカード、およびユニバーサルシリアルバス(USB)フラッシュドライブを含む。ある例において、メモリデバイスは、カルコゲナイドガラス、マルチ閾値レベルNANDフラッシュメモリ、NORフラッシュメモリ、単一またはマルチレベル相変化メモリ(PCM)、抵抗メモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)、反強誘電体メモリ、メモリスタ技術を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)、金属酸化物ベース、酸素空孔ベースおよび導電ブリッジランダムアクセスメモリ(CB-RAM)を含む抵抗メモリ、またはスピントラクトルク(STT)-MRAM、スピントロニック磁気接合メモリベースのデバイス、磁気トンネル接合(MTJ)ベースのデバイス、DW(ドメインウォール)およびSOT(スピンオービット移動)ベースのデバイス、サイリスタベースのメモリデバイス、または任意の上記もしくは他のメモリの組み合わせを使用するメモリデバイスであってよく、或いはそれらを含んでよい。
低電力実装において、ストレージ758は、プロセッサ752に関連付けられたオンダイメモリまたはレジスタであってよい。しかしながら、幾つかの例において、ストレージ758は、マイクロハードディスクドライブ(HDD)を用いて実装されてよい。更に、上述の技術に加えてまたはその代わりに、ストレージ758のために、とりわけ、抵抗変化メモリ、相変化メモリ、ホログラフィックメモリ、または化学メモリのような、多くの新しい技術が使用されてよい。
コンポーネントは、インターコネクト756を通じて通信することがある。インターコネクト756は、業界標準アーキテクチャ(ISA)、拡張ISA(EISA)、周辺コンポーネントインターコネクト(PCI)、周辺コンポーネントインターコネクト拡張(PCIx)、PCIエクスプレス(PCIe)、または任意の数の他の技術を含む任意の数の技術を含む、任意の数の技術を含むことがある。インターコネクト756は、例えば、SoCベースのシステムで使用される専有バスであってよい。とりわけ、インター-インテグレーテッド回路(I2C)インターフェース、シリアル周辺インターフェース(SPI)インターフェース、ポイント・ツー・ポイント・インターフェース、およびパワーバスのような、他のバスシステムが含まれることがある。
インターコネクト756は、接続されたエッジデバイス762との通信のために、プロセッサ752をトランシーバ766に結合することがある。トランシーバ766は、とりわけ、Bluetooth(登録商標)Special Interest GroupまたはZigBee(登録商標)標準によって定義されるような、Bluetooth(登録商標)低エネルギ(BLE)標準を使用して、IEEE802.15.4標準の下の2.4ギガヘルツ(GHz)伝送のような、任意の数の周波数およびプロトコルを使用することがある。特定のワイヤレス通信プロトコルのために構成された任意の数の無線機(radios)が、接続されたエッジデバイス762への接続のために使用されることがある。例えば、ワイヤレスローカルエリアネットワークLAN(WLAN)ユニットを使用して、Institute of Electrical and Electronics Engineers(IEEE)802.11標準に従ってWi-Fi(登録商標)通信を実装することがある。更に、例えば、セルラまたは他のワイヤレスワイドエリアプロトコルに従ったワイヤレスワイドエリア通信が、ワイヤレスワイドエリアネットワーク(WWAN)ユニットを介して発生することがある。
ワイヤレスネットワークトランシーバ766(または複数のトランシーバ)は、異なる範囲での通信のために複数の標準または無線機を使用して通信することがある。例えば、エッジコンピューティングノード750は、電力を節約するために、Bluetooth Low Energy(BLE)に基づくローカルトランシーバ、または別の低電力無線機を使用して、例えば、約10メートル内で、閉じたデバイスと通信することがある。例えば、約50メートル内で、より遠くに接続されたエッジデバイス762は、ZigBee(登録商標)または他の中間電力無線機を通じて到達することがある。両方の通信技術は、異なる電力レベルで単一の無線機を通じて行われてよく、別個のトランシーバ、例えば、BLEを使用するローカルトランシーバおよびZigBee(登録商標)を使用する別個のメッシュトランシーバを通じて行われてよい。
ワイヤレスネットワークトランシーバ766(例えば、無線トランシーバ)は、ローカルまたはワイドエリアネットワークプロトコルを介してエッジクラウド795内のデバイスまたはサービスと通信するために含められてよい。ワイヤレスネットワークトランシーバ766は、とりわけ、IEEE802.15.4またはIEEE802.15.4g標準に従う低電力ワイドエリア(LPWA)トランシーバであってよい。エッジコンピューティングノード750は、Semtech and LoRa Allianceによって開発されたLoRaWAN(TM)(Long Range Wide Area Network)を使用して、広域に亘って通信することがある。本明細書に記載される技術は、これらの技術に限定されないが、Sigfoxのような長距離、低帯域幅通信、および他の技術を実装する任意の数の他のクラウドトランシーバと共に使用されてよい。更に、IEEE802.15.4e仕様で記載されるタイムスロット化されたチャネルホッピング(time-slotted channel hopping)のような他の通信技術が使用されてよい。
本明細書に記載されるように、ワイヤレスネットワークトランシーバ766のために言及されるシステムに加えて、任意の数の他の無線通信およびプロトコルが使用されてよい。例えば、トランシーバ766は、高速通信を実現するために拡散スペクトラム(SPA/SAS)通信を使用するセルラトランシーバを含んでよい。更に、中速通信用のWi-Fi(登録商標)ネットワークやネットワーク通信の提供のような、任意の数の他のプロトコルが使用されてよい。トランシーバ766は、本開示の最後で更に詳細に説明するロングタームエボリューション(LTE)および第5世代(5G)通信システムのような、任意の数の3GPP(第3世代パートナーシッププロジェクト)仕様と互換性のある無線機を含むことがある。ネットワークインターフェースコントローラ(NIC)768は、エッジクラウド795のノードに或いは接続されたエッジデバイス762のような他のデバイスに有線通信を提供するために含められてよい。有線通信は、イーサネット接続を提供してよく、或いは、とりわけ、コントローラエリアネットワーク(CAN)、ローカルインターコネクトネットワーク(LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUS、またはPROFINETのような、他のタイプのネットワークに基づいてよい。第2のネットワークへの接続を可能にするために、追加のNIC768、例えば、イーサネットを通じてクラウドへの通信を提供する第1のNIC768、および別のタイプのネットワークを通じて他のデバイスへの通信を提供する第2のNIC768が含まれてよい。
デバイスから別のコンポーネントまたはネットワークへの様々なタイプの適用可能な通信を考慮すると、デバイスによって使用される適用可能な通信回路構成は、コンポーネント764、766、768、または770のいずれか1つ以上を含んでよく、或いはそれらのいずれか1つ以上によって具体化されることがある。従って、様々な例において、通信(例えば、受信、送信など)のための適用可能な手段は、そのような通信回路構成によって具体化されることがある。
エッジコンピューティングノード750は、1つ以上の人工知能(AI)アクセラレータ、ニューラル計算スティック、ニューロモルフィックハードウェア、FPGA、GPUの構成、xPU/DPU/IPU/NPUの構成、1つ以上のSoC、1つ以上のCPU、1つ以上のデジタル信号プロセッサ、専用ASIC、または1つ以上の特殊化されたタスクを達成するように設計された他の形態の特殊化されたプロセッサまたは回路構成によって具現化されることがある、加速回路構成764を含むことがあり、或いはそれに結合されることがある。これらのタスクは、(機械学習、訓練、推論、および分類演算を含む)AI処理、ビジュアルデータ処理、ネットワークデータ処理、物体検出、ルール分析、または同等物を含むことがある。これらのタスクは、本明細書の他の場所で議論されるサービス管理およびサービス操作のための特定のエッジコンピューティングタスクを含むこともある。
インターコネクト756は、プロセッサ752を、追加のデバイスまたはサブシステムを接続するために使用されるセンサハブまたは外部インターフェース770に結合することがある。デバイスは、加速度計、レベルセンサ、流量センサ、光学光センサ、カメラセンサ、温度センサ、グローバルナビゲーションシステム(例えば、GPS)センサ、圧力センサ、気圧センサ、および同等物のような、センサ772を含むことがある。更に、ハブまたはインターフェース770を使用して、エッジコンピューティングノード750を、電力スイッチ、弁アクチュエータ、可聴音発生器、視覚警告デバイス、および同等物のような、アクチュエータ774に接続することがある。
幾つかの任意的な例では、様々な入出力(I/O)デバイスが、エッジコンピューティングノード750内に存在してよく、或いはそれに接続されてよい。例えば、ディスプレイまたは他の出力デバイス784が、センサ読取値またはアクチュエータ位置のような情報を示すために含められてよい。入力を受け入れるために、タッチスクリーンまたはキーパッドのような入力デバイス786が含められてよい。出力デバイス784が、バイナリ状態スインジケータ(例えば、発光ダイオード(LED))およびマルチキャラクタビジュアル出力のような単純なビジュアル出力、またはディスプレイスクリーン(例えば、液晶ディスプレイ(LCD)スクリーン)のようなより複雑な出力を含む、任意の数の形態のオーディオまたはビジュアルディスプレイを含むことがあり、文字、グラフィックス、マルチメディアオブジェクト、および同等物の出力は、エッジコンピューティングノード750の動作から作成または生成される。ディスプレイまたはコンソールハードウェアを本システムの脈絡において使用して、エッジコンピューティングシステムの出力を提供し且つ入力を受信し、エッジコンピューティングシステムのコンポーネントまたはサービスを管理し、エッジコンピューティングコンポーネントまたはサービスの状態を識別し、或いは任意の他の数の管理または監督機能またはサービス使用事例を実行してよい。
バッテリ776は、エッジコンピューティングノード750に電力を供給することがあるが、エッジコンピューティングノード750が固定位置に取り付けられる例において、バッテリ776は、電気グリッドに結合された電源を有することがあり、或いは、バッテリ776は、バックアップとしてまたは一時的な能力のために使用されることがある。バッテリ776は、リチウムイオンバッテリ、または亜鉛空気バッテリ、アルミニウム空気バッテリ、リチウム空気バッテリ、および同等物のような、金属空気バッテリであってよい。
バッテリモニタ/充電器778が含まれるならば、それはバッテリ776の充電状態(SoCh)をトラッキング(追跡)するために、エッジコンピューティングノード750に含められることがある。バッテリモニタ/充電器778は、バッテリ776の健康状態(SoH)および機能状態(SoF)のような、故障予測を提供するために、バッテリ776の他のパラメータをモニタリング(監視)するために使用されることがある。バッテリモニタ/充電器778は、Linear Technologies製のLTC4020またはLTC2990、Phoenix ArizonaのON Semiconductor製のADT7488A、またはDallas,TexasのTexas Instruments製のUCD90xxxファミリのような、バッテリモニタリング集積回路を含んでよい。バッテリモニタ/充電器778は、インターコネクト756を通じてバッテリ776に関する情報をプロセッサ752に通信することがある。バッテリモニタ/充電器778は、プロセッサ752がバッテリ776の電圧またはバッテリ776からの電流の流れを直接的にモニタリングすることを可能にするアナログデジタル変換器(ADC)を含んでもよい。バッテリパラメータを用いて、送信周波数、メッシュネットワーク動作、感知周波数、および同等物のような、エッジコンピューティングノード750が行うことがあるアクション(行為)を決定してよい。
電力ブロック780、またはグリッドに結合された他の電源をバッテリモニタ/充電器778と結合させて、バッテリ776を充電してよい。幾つかの例において、電力ブロック780は、例えば、エッジコンピューティングノード750内のループアンテナを通じてワイヤレスに電力を得るために、ワイヤレス電力受信機と置き換えられてよい。とりわけ、Milpitas,CaliformiaのLinear Technologies製のLTC4020チップのような、ワイヤレスバッテリ充電回路が、バッテリモニタ/充電器778に含められてよい。特定の充電回路は、バッテリ776のサイズ、故に、必要な電流に基づいて選択されてよい。充電は、とりわけ、Airfuel Allianceによって公表されたAirfuel標準、Wireless Power Consortiumによって公表されたQiワイヤレス充電標準、またはAlliance for Wireless Powerによって公表されたRezence充電標準を使用して行われることがある。
ストレージ758は、本明細書に記載される技術を実施するためのソフトウェア、ファームウェア、またはハードウェアコマンドの形態の命令782を含んでよい。そのような命令782は、メモリ754およびストレージ758に含まれるコードブロックとして示されているが、コードブロックのいずれも、例えば、特定用途向け集積回路(ASIC)に組み込まれたハードワイヤード回路と置き換えられてよいことが理解されるであろう。
一例において、メモリ754、ストレージ758、またはプロセッサ752を介して提供される命令782は、プロセッサ752に指示してエッジコンピューティングノード750内で電子操作を実行させるコードを含む非一時的な機械読取可能媒体760として具体化されることがある。プロセッサ752は、インターコネクト756を通じて非一時的な機械読取可能媒体760にアクセスすることがある。例えば、非一時的な機械読取可能媒体760は、ストレージ758について記載したデバイスによって具体化されてよく、或いは光ディスク、フラッシュドライブ、または任意の数の他のハードウェアデバイスのような特定のストレージユニットを含んでよい。非一時的な機械読取可能媒体760は、例えば、上述の動作および機能のフローチャートおよびブロック図に関して記載したように、プロセッサ752に指示して動作の特定のシーケンスまたはフローを実行する命令を含んでよい。本明細書中で使用されるとき、「機械読取可能媒体(machine-readable medium)」および「コンピュータ読取可能媒体(computer-readable medium)」という用語は、互換性がある。
また、特定の例において、プロセッサ752上の命令782は、(別個にまたは機械読取可能媒体760の命令782との組み合わせにおいて)信頼される実行環境(TEE)790の実行または作動を構成することがある。一例において、TEE790は、命令の安全な実行およびデータへの安全なアクセスのために、プロセッサ752にアクセス可能な保護された領域として作動する。TEE790の様々な実装、およびプロセッサ752またはメモリ754内の付随する安全な領域は、例えば、Intel(登録商標)ソフトウェアガード拡張(SGX)またはARM(登録商標)TrustZone(登録商標)ハードウェアセキュリティ拡張、Intel(登録商標)Management Engine(ME)、またはIntel(登録商標)Converged Security Manageability Engine(CSME)の使用を通じて提供されることがある。セキュリティ強化、ハードウェア信頼ルート(hardware roots-of-trust)、および信頼されたまたは保護された動作の他の態様が、TEE790およびプロセッサ752を通じてデバイス750内に実装されてよい。
更なる例において、機械読取可能媒体は、機械による実行のための命令を格納、符号化または搬送することができ、機械に本開示の方法論のうちのいずれか1つ以上を実行させるか、或いはそのような命令によって利用されるまたは関連するデータ構造を格納、符号化または搬送することができる、任意の有形媒体も含む。従って、「機械読取可能媒体」は、ソリッドステートメモリ、および光学および磁気媒体を含んでよいが、これらに限定されない。機械読取可能媒体の具体的な例は、一例として、半導体メモリデバイス(例えば、電気的にプログラム可能な読出専用メモリ(EPROM)、電気的に消去可能なプログラマブル読出専用メモリ(EEPROM)、フラッシュメモリデバイス、内部ハードディスクおよび取り外し可能ディスクのような磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むが、これらに限定されない、不揮発性メモリを含む。機械読取可能媒体によって具現化される命令は、多数の転送プロトコルのうちの任意の1つ(例えば、ハイパーテキスト転送プロトコル(HTTP))を利用するネットワークインターフェースデバイスを介して伝送媒体を使用して通信ネットワークを通じて送信または受信されてよい。
機械読取可能媒体は、非一時的フォーマットにおいてデータをホストすることができるストレージデバイスまたは他のデバイスによって提供されてよい。一例において、機械読取可能媒体に格納または他の方法で提供される情報は、命令それ自体または命令が導出されることがあるフォーマットのような命令を表すことがある。命令が導出されることがあるこのフォーマットは、ソースコード、(例えば、圧縮または暗号化された形態の)符号化された命令(例えば、複数のパッケージに分割された)パッケージ化された命令、および同等物を含むことがある。機械読取可能媒体内の命令を表す情報は、処理回路構成によって、本明細書で議論される動作のいずれかを実装するための命令に処理されてよい。例えば、情報から命令を導出すること(例えば、処理回路構成によって処理すること)は、(例えば、ソースコード、オブジェクトコードなどから)コンパイルすること、解釈すること、ロードすること、組織化すること(例えば、動的または静的にリンクすること)、符号化すること、復号化すること、暗号化すること、暗号化を解除すること、パッケージングすること、パッケージング解除すること、またはその他の方法で情報を命令に操作することを含むことがある。
一例において、命令の導出は、機械読取可能媒体によって提供される何らかの中間または予め処理されたフォーマットから命令を生成するための、(例えば、処理回路構成による)情報のアセンブリ、コンパイル、または解釈を含んでよい。情報は、複数の部分で提供されるとき、命令を作成するために、結合、開梱、および修正されることがある。例えば、情報は、1つ以上のリモートサーバ上の複数の圧縮されたソースコードパッケージ(またはオブジェクトコードまたはバイナリ実行可能コードなど)内にあってよい。ソースコードパッケージは、ネットワークを通じた送信中に暗号化され、必要に応じて解読され、復元され、アセンブルされ(例えば、リンクされ)、ローカルマシンで(例えば、ライブラリ、スタンドアロン実行可能物などに)コンパイルまたは解釈され、そして、ローカルマシンによって実行されることがある。
図7Cは、図7Bの例示的なコンピュータ読取可能命令782のようなソフトウェアを、例示的なプロセッサプラットフォーム796または例示的な接続されたエッジデバイスのような1つ以上のデバイスに配布するための例示的なソフトウェア配布プラットフォーム792(software distribution platform)を示している。例示的なソフトウェア配布プラットフォーム792は、他のコンピューティングデバイス(例えば、第三者、本明細書に開示されている例示的な接続されたエッジデバイス)にソフトウェアを格納および送信することができる任意のコンピュータサーバ、データ施設、クラウドサービスなどによって実装されることがある。例示的な接続されたエッジデバイスは、顧客、クライアント、デバイス(例えば、サーバ)の管理、第三者(例えば、ソフトウェア配布プラットフォーム796を所有および/または操作するエンティティの顧客)であることがある。例示的な接続されたエッジデバイスは、商用および/またはホームオートメーション環境で作動することがある。幾つかの例において、第三者は、図7Bの例示的なコンピュータ読取可能命令782のようなソフトウェアの開発者、販売者、および/またはライセンス提供者である。第三者は、使用および/または再販売および/またはサブライセンスのためにソフトウェアを購入および/またはライセンスする消費者、ユーザ、小売業者、OEM業者などであることがある。幾つかの例において、配布されるソフトウェアは、1つ以上のユーザインターフェース(UI)および/またはグラフィカルユーザインターフェース(GUI)を表示させて、互いから地理的および/または論理的に分離された1つ以上のデバイス(例えば、接続されたエッジデバイス)(例えば、配水制御(例えば、ポンプ)、配電制御(例えば、リレー)などに関与する物理的に分離されたIoTデバイス)を識別する。
図7Cの図示の例において、ソフトウェア配布プラットフォーム792は、1つ以上のサーバと、1つ以上のストレージデバイスとを含む。ストレージデバイスは、上述のように、例示的なコンピュータ読取可能命令に対応することがあるコンピュータ読取可能命令782を格納する。例示的なソフトウェア配布プラットフォーム792の1つ以上のサーバは、インターネットおよび/または上述の例示的なネットワークのうちのいずれか1つ以上に対応することがあるネットワーク794と通信する。幾つかの例において、1つ以上のサーバは、商業取引の一部としてソフトウェアを要求者に送信する要求に応答する。ソフトウェアの配信、販売、および/またはライセンス提供についての支払いは、ソフトウェア配布プラットフォームの1つ以上のサーバによって、および/または第三者支払いエンティティを介して処理されることがある。サーバは、購入者および/またはライセンス提供者が、ソフトウェア配布プラットフォーム792からコンピュータ読取可能命令782をダウンロードすることを可能にする。例えば、例示的なコンピュータ読取可能命令に対応することがあるソフトウェアは、例示的なプロセッサプラットフォーム796(例えば、例示的な接続されたエッジデバイス)にダウンロードされてよく、プロセッサプラットフォーム796は、本明細書に記載される技術を実施するためにコンピュータ読取可能命令782を実行することになる。幾つかの例において、ソフトウェア配布プラットフォーム792の1つ以上のサーバは、例示的なコンピュータ読取可能命令782の要求および送信が通過しなければならない1つ以上のセキュリティドメインおよび/またはセキュリティデバイスに通信可能に接続される。幾つかの例において、ソフトウェア配布プラットフォーム792の1つ以上のサーバは、改良、パッチ、更新などが配布され、エンドユーザデバイスにおいてソフトウェアに適用されることを確実にするために、ソフトウェア(例えば、図7Bの例示的なコンピュータ読取可能命令782)に対する更新を定期的に提供、送信、および/または強制する。
図7Cの図示の例において、コンピュータ読取可能命令782は、特定のフォーマットでソフトウェア配布プラットフォーム792のストレージデバイスに格納される。コンピュータ読取可能命令のフォーマットは、特定のコード言語(例えば、Java、JavaScript、Python、C、C#、SQL、HTMLなど)、および/または特定のコード状態(例えば、コンパイルされていないコード(例えば、ASCII)、解釈されたコード、リンクされたコード、実行可能コード(例えば、バイナリ)など)を含むが、これらに限定されない。幾つかの例において、ソフトウェア配布プラットフォーム792に格納されるコンピュータ読取可能命令782は、例示的なプロセッサプラットフォーム796に送信されるときに、第1のフォーマットにある。幾つかの例において、第1のフォーマットは、特定のタイプのプロセッサプラットフォーム796が実行することができる実行可能バイナリである。しかしながら、幾つかの例において、第1のフォーマットは、例示的なプロセッサプラットフォーム796上での実行を可能にするために第1のフォーマットを第2のフォーマットに変換する1つ以上の準備タスクを必要とする、コンパイルされていないコードである。例えば、受信プロセッサプラットフォーム796は、プロセッサプラットフォーム796上で実行可能な第2のフォーマットにおいて実行可能コードを生成するために、コンピュータ読取可能命令782を第1のフォーマットにおいてコンパイルすることを必要とする場合がある。更に他の例において、第1のフォーマットは、解釈コードであり、解釈コードは、プロセッサプラットフォーム796に到達後に、命令の実行を容易にするようインタープリター(interpreter)によって解釈される。
上述のように、本明細書に記載のシステムおよび方法は、イベント発生に基づいてエッジネットワークにおける動作の調整を提供する。イベント発生は、例えば、画像キャプチャデバイス(例えば、カメラ)からの画像(イメージ)に基づいて、制限された処理デバイス(例えば、システム・オン・チップ(SoC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の処理回路構成のような、集積回路)を使用して識別されることがある。
上述のように、エッジネットワークにおける動作は、イベント発生に基づいて調整されてよい。集積回路(例えば、システム・オン・チップ(SoC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の処理回路構成)のような限定された処理デバイスを用いて、イベントが発生したかどうかを評価してよい。イベントは、センサデータに基づいて検出されてよい。センサデータを得るために、制限された処理デバイスは、画像キャプチャデバイス(例えば、カメラ)、温度センサ、熱センサ、電力レベルセンサ、加速度計、ジャイロスコープ、運動検出器、近接検出器などのような、センサの一部であってよく、或いはセンサに接続されてよい。
一例において、センサは、センサデータを取り込んでよく(例えば、画像キャプチャデバイスは、画像または一連の画像を取り込んでよく)、センサデータは、イベントが発生したかどうかを決定するために、限定された処理デバイスの回路構成を用いて評価されてよい。イベントは、以下に更に記載されるように、物体の外観または消失、物体の運動、周囲条件などを含むことがある。
一例では、イベントが発生したと決定されるときに、限定された処理デバイスは、遠隔デバイス(例えば、別の画像キャプチャデバイス、ピアデバイス、エッジデバイス、オーケストレータ、サーバ、車両、ユーザデバイスなど)にデータを送信すること、画像を更に処理すること、取り込まれる画像のフレームレート、周波数、またはサイズを変更すること、および同等のことのような、追加操作を実行してよい。イベント検出は、制限された処理デバイスによって使用される電力レベルの変化、能動コンポーネントの変化(例えば、通信コンポーネントまたはプロセッサをアクティブ化させること(activating))、デバイス(例えば、エッジデバイス)との通信セッションの確立、または同等のことを引き起こす(トリガする)ことがある。
一例では、イベントが発生したと決定さるとき、制限された処理デバイスは、制限された処理デバイスに通信的に接続されたNICをトリガして、アクティブ化機能(activation function)(例えば、NICのロジックまたはハードウェア部分)を使用して、アクティブ化メッセージ(activation message)をハードウェアコンポーネントに送信してよい。一例において、アクティブ化機能によってアクティブ化されるハードウェアコンポーネントは、限定された処理デバイスから離れたデバイスにあってよい。アクティブ化機能およびNICは、スタンドアロンであってよく、或いはエッジネットワークインフラストラクチャの一部であってよい。ハードウェアコンポーネントは、アクティブ化メッセージを受信するときにアクティブ化されてよい。ハードウェアコンポーネントは、別のセンサ(例えば、第2の画像キャプチャデバイス)、エッジサーバコンポーネント、または同等物を含んでよい。
図8は、幾つかの実施形態に従ったクラウドまたはエッジサービスのためのアーキテクチャトポロジー800の例を示している。例示的なアーキテクチャトポロジー800は、本明細書に記載されるシステムおよび方法から逸脱することなく変更されることがある、任意のコンポーネントおよび構成を示している。
例示的なアーキテクチャトポロジー800は、(便宜のために単一ブロックとして示される)サイドリンク通信802、デバイス間通信(例えばC-V2X 804)、モバイルネットワークオペレータ(MNO)ネットワーク806、およびクラウドサービス808を介して通信するデバイス(例えば、接続された自動車、接続されたセンサ、接続されたドローンなど)を含む。
例示的なアーキテクチャトポロジー800は、接続されたカメラ、接続された自動車、接続されたセンサ、接続されたドローンなどに跨がる展開、およびクライアント間または車両クライアント間通信が、安全、ユーザ体験などのようなベクトルに沿ったユーザ体験を向上させることがある使用事例を容易にするために使用されることがある。
リアルタイムインフラストラクチャ使用のための例示的なアーキテクチャトポロジー800を構成する際の技術的挑戦の1つは、秒未満の応答時間を生成することである。例えば、危険に速度を上げる自動車、および、例えば、曲がり角の周囲を取り込む街路カメラからの画像、自動車または運転手に戻すスピードの通信などを含む、自動車に戻す直ぐに使用可能な応答の必要性を考慮する。これらの通信は、少ない待ち時間のリアルタイム応答を必要とする。そのようなネットワークにおけるエッジコンピューティングおよびエッジへのプッシュ計算能力は、これらの少ない待ち時間要件の緩和を提供するが、依然として欠点を有する。例えば、エッジサーバへのプッシュ機能性は、エッジサーバへの通信を含み、エッジサーバでは、エッジで計算を実行し、次に、クライアントデバイスに戻す情報またはデータの転送および経路指定する、リソースの競合(contention)がある。これらのトリップおよび処理ステップの各々は、最終的な通信を遅らせることがある。
図9は、幾つかの実施形態に従ったネットワークアーキテクチャ構成900Aおよび900Bを示している。サーバベースのネットワークが第1の構成900に見出され、ピア・ツー・ピアベースのネットワークが第2の構成902に示されている。これらの構成は独立して示されているが、それらは、例えば、接続されていることによって、或いはハイブリッド構成において、幾つかのサーバベースのネットワークコンポーネントおよび幾つかのピア・ツー・ピアベースのネットワークコンポーネントと共に使用されてよい。
エッジコンピューティングは、エッジネットワーク内のエッジデバイスに計算能力をプッシュすることを含む。例えば、エッジデバイスは、より迅速なまたはより局所化された処理のために、ユーザデバイス、車両などの近くに配置されることがある。エッジコンピューティングは、少ない待ち時間要件に従って情報を処理するために使用されることがあるが、十分に高速ではないことがある。例えば、エッジサーバへのプッシュ機能性は、リソースについての競合があることがある構成900に示されるように、エッジサーバへの通信を含む。エッジデバイスでの計算の実行、およびクライアントデバイスに戻す情報/データの転送および経路指定に伴い、更なる遅延が発生することがある。
サーバベースのネットワークの更なる問題は、些細な演算についてエッジサーバおよびエッジデバイスに依存することを含む。何故ならば、有意な通信は、往復待ち時間を増加させることがあるからである。エッジサーバは、構成900に示されるように、リソースが制約されることがあり、特に高負荷時にはボトルネックとなること、ならびに単一の故障点および通信ボトルネックとなることがある。最小限のエッジサーバ対クライアント比率があるときにだけ、オフロード機構が成功することがある。高負荷時には、任意の多数の接続されたクライアントの故に、遅延は、遅延加算器のカスケードを生じさせて、構成900の使用を妨げることがある。
構成902に示されているようなピア・ツー・ピアクライアントネットワークは、単一の故障点または集中化されたボトルネックを有さず、増加したまたは任意の数のデバイスにスケーリングされてよい。構成902のピア・ツー・ピア「計算および通信」能力は、クライアントデバイス、ならびにより広いエッジネットワーク使用事例に適用されてもよい。クライアントデバイスがクライアントインフラストラクチャの一部として展開されるとき、構成902は、クライアントデバイスに使用されてよい。カメラ、ドローン、接続された自動車などの接続されたクライアントは、既存のインフラストラクチャを検出する能力を備えてよい。例えば、ArizonaのChandler市を運転しているカナダからの自動車は、安全なポイント・ツー・ポイント・チャネルが定義されたデータを受信できるように、ローカルのピア・ツー・ピアネットワークに自分自身を登録することができてよい。この例において、自動車は、(例えば、悪意のあるユーザを避けるために)都市のワイヤレスネットワークをブロードキャストしたり或いは妨害したりしないが、信頼される証明書に基づいてインフラストラクチャからの入力または画像を受信することができてよい。構成902におけるようなピア・ツー・ピア・ネットワークに関連する更なる詳細は、以下に記載される。一例では、ピアデバイスが、クラウドネイティブ(cloud-native mesh)メッシュにマッピングされてよい。
図10~図11は、幾つかの実施形態に従ったイベント検出に基づくデータフローを示す図を示している。図10の図1000は、(単一のデバイスとして収容されてよい)画像キャプチャデバイス1002を有する、FPGAのような、限定された処理能力を有するデバイスを含む例示的な構成を示している。FPGAは、画像キャプチャデバイス1002によって取り込まれた画像を処理して、画像内の車両の速度を決定することがある。FPGAは、車両(または画像中に識別される任意の他の車両)の速度が第1の速度より低い第1の状態、速度が第1の速度より上であるが第2の速度より下である第2の状態、および速度が第2の速度より上である第3の状態のような、複数の状態を含んでよい。これらの閾値または範囲は、FPGAの動作を制御するために使用されてよい。FPGAは、画像に基づいて状態を検出することがある。状態は、FPGAによって取られるべき更なる動作についての第1のビットストリームを示すことがある。例えば、第1の状態において、FPGAは、低電力で動作してよく、イベント変化の監視を継続してよく、或いはエッジデバイスまたは車両と通信しないか或いは通信を控えてよい。第2の状態では、第2のビットストリームが、第2の画像キャプチャデバイスからの画像を処理することのような、デバイス構成または動作の変化を示すことがある。第3の状態は、第3のビットストリームがアクティブ化されるべきであることを示してよい。第3のビットストリームは、(例えば、CPUまたはGPUのようなプロセッサによる)更なる処理のために、アクティブ化機能(activation function)をエッジサーバ1004のような別のデバイスに送信させてよい。別の例において、アクティブ化機能は、例えば、第2の画像キャプチャデバイス1006をアクティブ化させて、画像をキャプチャするために、画像をより頻繁にキャプチャするために、より高い解像度で画像をキャプチャするために、特定の方向を目指すように第2の画像キャプチャデバイス1006に指示するために、或いは他のことのために、第2の画像キャプチャデバイス1006に送信されてよい。
アクティブ化機能は、第1の画像キャプチャデバイス1002、第2の画像キャプチャデバイス1006、またはエッジサーバ1004内のソフトウェアスタックに送信されてよい。ソフトウェアスタックは、第1の画像キャプチャデバイス1002によって検出された特定のイベントのために使用されるべきビットストリームをアクティブ化させてよい。一例において、ビットストリームは、画像を別のカメラ(例えば、第2の画像キャプチャデバイス1006)から引き出させ、更なる処理(例えば、歩行者検出または物体検出を行うこと)を開始させてよい。幾つかの例において、ビットストリームは、V2X通信を使用して車両に情報を送信させてよい。
一例において、ソフトウェアスタックは、実行される必要がなく、従って、休止状態、または低電力またはより低い電力状態であってよい。ソフトウェアスタックは、イベント検出に基づいてアクティブ化機能によって起動されて(woken up)よい。
図11は、ひとたびアクティブ化機能が使用されると、アーキテクチャ1100がどのように変更されることがあるかを示している。画像キャプチャデバイス1102は、イベント(例えば、60mphのような閾値速度を超えて移動している車両が検出されるかどうか)を検出するために、システム・オン・チップ(SoC)またはFPGAを含んでよい。ひとたびイベントが検出されると、アクティブ化機能が画像キャプチャデバイス1102によってエッジアプライアンスに送信される。
一例では、エッジアプライアンス上のNIC(例えば、エッジサーバ1104)上のNICは、受信したアクティブ化機能を使用してシステムのどの要素がアクティブ化されるべきかを決定するロジックを含んでよい。例えば、NICは、ビットストリーム2を実行するAIアクセラレータをアクティブ化させてよく、ビットストリーム2は、処理のために、画像キャプチャデバイス1102または第2の画像キャプチャデバイス1006からデータを引き出し始めるために使用されることがある。プラットフォームとは無関係のネットワークインターフェースを備えるアクセラレータが使用されてよい。NICは、幾つかの例において、エッジサーバ1104のCPUをアクティブ化させてよい。一例において、NICは、ビットストリーム2が完了した後にアクションを実行することに関与する対応するアプリケーションをアクティブ化させてよい。
図12~図13は、幾つかの実施形態に従ったイベント検出システムのための例示的な展開を示している。図12は、(例えば、FPGAとエッジサーバとを備える画像キャプチャデバイスを含む)エッジ展開1204を備えた、車両1202および歩行者1206を伴うシナリオ1200を示している。図13は、車両1308、歩行者1310、または物体1312(例えば、ゴミ箱のような静止物体)を検出するために使用されることがある、第1のカメラ1302、第2のカメラ1304、および第3のカメラ1306を有する、エッジ展開を備えるシナリオ1300を示している。
図12~図13の展開は、NICまたはSmartNIC上のアクティブ化機能(例えば、ロジックまたはハードウェア)を含んでよい。アクティブ化機能は、他のピアクライアントに(例えば、第2のカメラ1304をアクティブ化させるために第1のカメラ1302のNICから第2のカメラ1304に)アクティブ化メッセージを送信するために使用されてよい。アクティブ化機能は、クライアント(例えば、第1のカメラ1302)から受信した情報に基づいて、どのピアデバイスまたは他のデバイスをアクティブ化させるかを決定してよい。アクティブ化機能は、CPUまたはエッジアプライアンスの外側のNIC上に実装されてよい(例えば、NICは、スタンドアロンまたはNIC+インフラストラクチャであってよい)。一例において、アクティブ化機能は、既存のイーサネットまたはネットワークプロトコルの一部であってよい。
図13では、例えば、第1のカメラ1302は、イベントを検出し、そのイベントに関する情報をNICのロジック上のアクティブ化機能に送信してよい。NICは、イベント情報に基づくデータを(アクティブ化機能を介して)第2のカメラ1304または第3のカメラ1306に伝搬することがあり、あるいは他のアプリケーションにさえ伝搬することがある。この例において、第1のカメラ1302は、アクティブ化機能が他のカメラをアクティブ化させたことを知らないことがある。(例えば、第1のカメラ1302上の)NICがイベントを処理した後に、アクティブ化機能は、第2のカメラ1304または第3のカメラ1306のNICSにネットワークメッセージを送信してよい。
別の例では、NICのアクティブ化機能を使用して、コンテナ内で実行されることがある配布サービスメッシュ内のクラウドネイティブアプリケーションのような、エッジアプリケーションをアクティブ化させてよい。アクティブ化機能は、NICがセンサからイベントに関する情報を受信したことに応答して、アプリケーションをアクティブ化させてよい。アクティブ化ルールは、NIC上で設定されてよい。
図12~図13のエッジ展開例は、観察されたアクション(例えば、イベント)に基づくアクティブ化機能を使用して、処理のような、更なるリソースをアクティブ化させる。例えば、シナリオ1200における速度トラップは、車両1202が速度を上げていること(例えば、閾値を超える速度を有すること)を検出し、ローカルカメラを始動させて(トリガして)、登録された車両または歩行者1206のデバイスに車両1202に関する画像または情報を送信してよく、その場合、登録された車両またはデバイスは、速度を上げている車両120の傍受経路(intercept path)内にある。傍受経路内の登録された車両またはデバイスは、この情報を受信し、それらのローカルリソース(例えば、カメラ、マイクロホン、レーダなど)を使用して、更なるデータを生成してよい。このデータは、車両1202が登録された車両またはデバイスに近づく際の車両1202の挙動に関する更なる情報を含んでよい。更なるデータは、車両1202の挙動の局所的な高度分析または予測を実行するために使用されてよい。登録された自動車またはデバイスは、分析論(analytics)または予測を使用して、登録された車両の運転者または歩行者1206に対して警告が発せられるべきかどうかの決定を行ってよい。(例えば、エッジ展開1204からのV2X通信を使用して)車両1202にその速度を警告すること、傍受経路内に歩行者1206が存在することまたは同等のことを警告するために、措置を講じられてよい。
接続されたピア・ツー・ピアアクティブ化機能およびブロードキャストリスト能力は、管理者がルール(例えば、検出されるべきイベント)またはアクティブ化機能を登録するために、インターフェースを使用してよい。ルール、イベント、またはアクティブ化機能は、車両の閾値速度、検出された物体の閾値数(例えば、単一の歩行者、道路内の破片など)、または同等のもののような、アクティブ化が発生すべきときのための既存の信号に対する定義された閾値を含んでよい。指定されたルールは、周囲条件に従うことがある。例えば、周囲温度が閾値(例えば、華氏10度)を下回るときに、または降水量が閾値(例えば、2インチ)を上回るときに、速度閾値が使用されてよい。
ルールは、単一の街路または準地域に特有のものであってよい。一例において、ルールは、P2Pの場合、局所センサによって作用されてよく、例えば、地域が、洪水を経験している街路を有することがあり、そこでは、行為ルールは、洪水がない少数の街路とは異なることがある。対照的に、集中型(centralized)エッジサーバを使用することは、この種の集中的な特殊化された意思決定のために、有意なメタデータ転送(例えば、センサ情報)を必要とし、その結果、追加の待ち時間および遅延が生じる。エッジ展開1204は、意味のあるエンド・ツー・エンド行為を取るための時間を短縮するために非集中型(decentralized)アプローチを使用することがある。エッジ展開1204は、カメラを使用してローカルピアツーピアセンサ入力のセットに基づいて、適応および自動機能を登録することがある。一例では、センサが、温度センサ、熱センサ、電力センサ(例えば、バッテリレベルインジケータまたは電圧出力)、加速度計、ジャイロスコープ、圧力センサ、近接センサ、画像キャプチャデバイス、ガス検出器、運動検出器、または同等物を含むことがある。
シナリオ1300は、車両1308が動いている例を含み、歩行者1310は、傍受経路内に存在してよく、或いは傍受経路内に移動してよく、物体1312は、車両1308の傍受経路内にあってよい。
一例では、クライアント(例えば、画像キャプチャデバイス1302、1304、または1306)は、イベントをアクティブ化機能に関連付けるロジックを有してよい。クライアントは、クライアントによって実行される分析を使用してイベントを検出してよい。イベントは、車両1308の速度が特定の閾値を超えることを決定することを含んでよい。アクティブ化機能は、それぞれの特定のクライアントピアまたはエッジサーバに対応してよい。
図示の例において、第1の画像キャプチャデバイス1302は、車両1308が速度Xで進行していることを識別する。第1の画像キャプチャデバイス1302は、車速がA<X<Bの間にあるときにトリガするように定義されたルールと、第2の画像キャプチャデバイス1304または第3の画像キャプチャデバイス1306に送信して道路分割(road segmentation)を開始する対応するアクティブ化機能とを有する。
第1の画像キャプチャデバイス1302は、第2の画像キャプチャデバイス1304または第3の画像キャプチャデバイス1306に(例えば、安全なチャネルを使用して)アクティブ化機能を送信する。第2の画像キャプチャデバイス1304または第3の画像キャプチャデバイス1306は、自動的に道路分割を実行すること、または第2の画像キャプチャデバイス1304または第3の画像キャプチャデバイス1306のうちの一方の画像キャプチャデバイスの画像キャプチャ範囲内にあることがある物体13012または歩行者1310のような物体を識別することを自動的に開始してよい。第2の画像キャプチャデバイス1304または第3の画像キャプチャデバイス1306は、物体または歩行者の識別が行われるイベントのために定義された更なるルールを有してよい。これらのイベントは、生成されるべき対応するアクティブ化機能をトリガすることがある。一例において、アクティブ化機能は、識別された要素(例えば、物体1312または歩行者1310)を(移動して現在は新しい位置にあることがある)車両1308に伝搬させるためのV2X通信を含んでよい。車両1308は、ブレーキをかけること、急ハンドルをきること(swerving)、運転手に警告することなどのような行為を取るかどうかの更なる決定を行うことがある。アクティブ化機能は、例えば、歩行者1310に動くように警告するために、歩行者1310のデバイスに送信されてよい。
シナリオ1300において、アクティブ化機能は、特定のタイプの問題について示されているが、他のイベントおよびアクティブ化機能が使用されてよい。例えば、エッジ(例えば、エッジサーバ)の次のレベルまで情報を生成すること、(例えば、車両1308の速度が危険であるとき、または道路から物体1312を除去するために)当局に警告すること、通行料を支払うこと、近接トリガをアクティブ化すること(例えば、車両1308が運転者の家に近づいたときに、照明を点灯すること)、または同等のことのような、他の行為がトリガされてよい。
一例では、エッジ展開(例えば、画像キャプチャデバイス、エッジサーバ、センサ、または同等物の構成)を使用して、イベントパターンを識別してよい。イベントパターンは、交通パターン、物体パターン、歩行者パターン、天気パターン、これらのパターンの1つ以上の組み合わせ、または同等のことを含んでよい。例えば、シナリオ1300に示される特定の交差点は、車両または歩行者の挙動を観察して、行動パターンを学習することがある。パターンは、エッジ展開の動作を更に最適化するために使用されてよい。例えば、交通量の多い時間帯は車両であり、歩行者が識別されてよく、全ての3つの画像キャプチャデバイス1302、1304、および1306は、交通量の多い時間帯に特定の周波数または解像度で画像を生成するようにアクティブ化されてよい。
他の例示的なパターン検出および最適化が使用されてよい。例えば、第3の画像キャプチャデバイス1306は、道路の側面にボールを有する子供を観察することがある。これは車両が対応する上で極めて予測不可能なリスクと考えられる。第3の画像キャプチャデバイス1306は、特定の日数に亘ってこのイベントを覚えていることがある。イベントが、例えば、イベントのメタデータに基づいて繰り返されるとき、第3の画像キャプチャデバイス1306は、繰り返されたイベントにパターンとしてフラグを立ててよい。パターンのメタデータは、第1の画像キャプチャデバイス1302または第2の画像キャプチャデバイス1304(またはエッジサーバ)と共有されてよい。
パターンは、場所、日付(例えば、月~金)、時間(例えば、15:00~20:00)、物体(例えば、子供)、信頼レベル(例えば、高い)、または事故リスク(例えば、高い)のような、イベントの詳細を含んでよい。車両がタイムフレーム内にその場所にいるときに、車両はイベントについての警告を受けるために「高リスク」チャネルに加入されてよい。車両が同じイベント(例えば、ボールを有する子供)を観察するとき、車両は第3の画像キャプチャデバイス1306に通知することによってパターンイベントを強化してよく、それは格納されたパターンデータを更新してよい。インシデントがパターンでないとき、第3の画像キャプチャデバイス1306は、それがパターンとして期限切れになるまで、時間の経過に亘ってイベントのエージング(ageing)を開始し、第3の画像キャプチャデバイス1306は、あたかもそのイベントがパターンとして遭遇されなかったかのように進行してよい。
一例では、道路粗さ(road roughness)が(例えば、周囲条件として)考慮されてよい。クライアントデバイスは、車両からの情報(例えば、加速度計およびジャイロスコープのような車両センサから来る道路データ)を受信してよく、道路粗さ分析が最新情報を用いて実施されてよい。道路粗さ分析は、道路が(例えば、洪水に起因して)損傷した後に、または(予測に起因する車両への警告として)道路が損傷する前に、車両事故を防止するために使用されてよい。
同様に、画像キャプチャデバイスまたは車両は、特定の場所に近い速度を上げる自動車のような、他の車両の特定の無謀な挙動を監視してよい。これらのパターンは、キャプチャされ、予測されることがある。例えば、街路が金曜日および土曜日の深夜に無謀な運転を経験するとき、クライアントデバイスは、パターンが発生したことを検出し、そのパターンが継続する可能性が高いと決定してよい。予測された挙動は、速度を上げる無謀な車両を監視するために、その地域内の歩行者に伝達されてよい。
一年の特定の部分の間の景勝地ドライブのような、追加のパターンが検出され、報告されてよい。例えば、特定の街路は、特に花の開花を伴う春の色または秋の間の葉群のショーを有することがある。これらのパターンは、一年の指定された時に基づいて検出され、訪問者と共有されてよい。
図14は、幾つかの実施形態に従ったイベント検出技術を実装するためのアーキテクチャ1400を示している。アーキテクチャ1400は、FPGAを有するカメラのような、クライアント1402を示している。クライアント1402は、インターフェース1404と、クライアント1402のメモリに格納されることがあるアクセス可能な(例えば、イベントを検出するための)アクティブ化ルール1406とを含んでよい。
クライアント1402は、例えば、アクティブ化ルール1406に従ってアクティブ化機能生成を生成および管理することに関与するロジックを含んでよい。それは以下の要素を含む。すなわち、インターフェース1404を使用して、イベント検出、アクティブ化機能の使用、または画像処理の異なる要素を構成してよい。
例えば、インターフェース1404のうちの1つのインターフェースを使用して、特定のアクティブ化機能ルールを登録してよい。このインターフェースは、インフラストラクチャ所有者によって(一例では、排他的に)アクセスされてよい。このインターフェースは、所要の信任状で実行されてよい。このインターフェースは、(例えば、所有者によって提供されるような)ルールを識別し、必要に応じて機能を更新または削除するために使用されてよい。
インターフェースは、イベントタイプを識別してよい。イベントタイプは、(例えば、アクティブ化機能を介して)クライアント1402において実行される特定のアルゴリズムによって提供されてよい。アルゴリズムは、幾つかの例では、FPGAまたはAtomタイプの計算要素において実行されてよい。他の例において、アルゴリズムは、任意の他のコンピューティング要素によって実行されてよい。イベントは、例えば、CAR_SPEED_DETECTEDと呼ばれることがあり、それはアルゴリズムによって生成されて、(例えば、車の速度を検出するために)アクティブ化ルールに送信されてよい。
アクティブ化機能に関連する閾値またはルール定義は、インターフェースで適用されてよい。閾値またはルール定義は、アルゴリズムによって提供されるデータの入力を使用するブールルールであってよい。一例では、1つのフィールドのみが提供される。他の例では、複数のフィールドが使用されることがある。
インターフェースは、ルールに関連付けられたアクティブ化機能識別子を作成または変更するために使用されてよい。インターフェースは、ルールが行使されるときにアクティブ化機能が伝播されるピアのセットを作成または変更するために使用されてよい。ピアは、セルラV2X、他の画像キャプチャデバイス、またはエッジデバイス(例えば、サーバ、更なるエッジ接続されたデバイス、または同等物)を使用する車両のような、他の資産であってよい。インターフェースは、ピアのセットの異なるレベルに亘る伝搬を制限する機構を含むように使用されてよい(例えば、何らかのことが特定のポイントで起きるならば、伝搬は特定のポイントからの特定の距離に制限される)。
一例において、インターフェース1404は、ロジックがアクティブ化機能を伝播することがあるピアのリストのために公開鍵のセットを登録するためのインターフェースを含んでよい。このインターフェースは、インフラストラクチャ所有者にのみアクセス可能であってよい。このインターフェースは、ピア(例えば、ピアのリスト中の各ピア)の識別子、データを保護するために使用されるべき非対称鍵、または同等のものを定義するために使用されてよい。インターフェースは、公開鍵を登録するために登録局(RA)または認証局(CA)として使用されてよい。公開鍵は、暗号化された公開鍵暗号化のための鍵であってよい。秘密鍵がピアによる秘密として保持されてよく、公開鍵は、ピアデバイスに送信される或いはピアデバイスから送信されるデータを復号化するために使用されてよい。ひとたび登録されると、インターフェースは、患者データを復号化するための公開鍵を持つデジタル証明書を使用してよい。証明書は有効日または有効時刻を有してよい。インターフェースは、公開鍵暗号インフラストラクチャからの取消機構を使用することなどによって、ピアデータへのアクセスまたは通信を取り消すために使用されてよい。公開鍵は、本明細書で使用されるセキュリティまたは暗号手法のために使用されてよい。
一例において、インターフェース1404は、アクティブ化機能を特定のクライアントに送信するために使用されることがあるピアクライアントによってアクセス可能なインターフェースを含んでよい。このインターフェースは、アクティブ化機能識別子(例えば、ID)、アクティブ化機能に関連するパラメータまたはデータの任意のセット、または同等物を定義するために使用されてよい。パラメータのセットは、場所Yで速度Xで車両を検出することを含んでよい。
クライアント1402は、計算要素上で実行されるアルゴリズムから来るイベントを処理して、適切なアクティブ化機能を生成するために使用されてよい、アクティブ化ロジックを含む。ロジックは、一例として、メッセージを生成するためにピア通信ロジックを使用してよい。
図15は、幾つかの実施形態に従ったイベント発生に基づく動作を調整するための技術1500を示すフローチャートを示している。技術1500は、集積回路のような処理回路構成を含む画像キャプチャデバイス(例えば、カメラ)のようなネットワーク化されたデバイスによって実行されてよい。一例において、集積回路は、フィールドプログラマブルゲートアレイ(FPGA)を含んでよい。
技術1500は、取り込まれた画像を処理してイベントが発生したか否かを決定する動作1502を含む。取り込まれた画像は、ネットワーク化されたデバイスのキャプチャデバイス(例えば、カメラ)によって生成されてよい。取り込まれた画像は、処理回路構成が、履歴画像に基づいてパターンを確立する動作、および直前の画像において取り込まれた状態がそのパターンを示すことを決定する動作を実行することに応答して、処理されてよい。パターンは、幾つかの例において、機械学習を使用して識別されてよい。幾つかの例において、動作1502は、温度センサ、バッテリ、周囲光センサ、熱センサ、加速度計、ジャイロスコープなどのセンサデータのような、画像キャプチャ処理を置き換えたり或いは補強したりする、あらゆる種類のセンサデータを処理してよい。
技術1500は、画像の属性を選択される基準と比較することによってイベントが発生したことを検出するための動作1504を含む。一例において、選択される基準は、デバイスでの周囲条件に基づいて処理回路構成によって選択される。例えば、周囲条件は、天候、時刻、または同等のものに対応することがある。幾つかの例において、天候または時刻は、車両を停止させるのを困難にさせることがある。従って、選択される基準は、周囲条件が停止の際に困難を引き起こすときの停止距離の減少を含んでよい。一例において、選択される基準は、物体(例えば、車両、歩行者、ボールのような特定の物体、または同等物)または閾値(例えば、車両の速度、雨量など)の存在を含んでよい。
技術1500は、イベントが発生したことの検出に応答して、イベントに対応する情報をアクティブ化機能に送信して、イベントに対応するアクセラレータをアクティブ化する動作1506を含む。アクティブ化機能は、例えば、エッジアプライアンスにおけるネットワークインターフェースコンポーネントの(例えば、プロセッサとメモリとを有するコンピューティングデバイスのようなエッジデバイスの)一部であってよい。アクティブ化機能は、例えば、アクセラレータをアクティブ化するために遠隔デバイスにネットワークメッセージを送信することがビットストリームに対応するように、イベントに対応するビットストリームをアクティブ化してよい。ネットワークメッセージは、第2のデバイスをアクティブ化させて(例えば、第2のデバイスのカメラをアクティブ化させて)第2の画像を取り込むために、第2のデバイスに送信されてよい。ネットワークメッセージは、画像上で画像処理動作を実行するために、メモリとプロセッサとを含むコンピュータデバイスのようなエッジデバイスに送信されてよい。
特定の例において、画像キャプチャデバイスは、カメラであり、イベントを検出することは、画像内の自動車および歩行者の検出を含む。この特定の例において、アクティブ化機能は、第2のカメラに、タイムフレーム内の多数の画像キャプチャを増加させる。
一例において、技術1500は、ルール識別子、イベントタイプ、アクティブ化機能に関連する閾値、ルールに関連するアクティブ化機能識別子、およびネットワークメッセージを伝搬するためのピアのセットを含む、特定のアクティブ化機能ルールを登録することを含んでよい。一例において、技術1500は、(例えば、イベントが発生したことが検出されたときに通信するための)ピアデバイスのセットのための公開鍵のセットを登録することを含んでよい。
この明細書に記載する機能ユニットまたは能力は、それらの実装の独立性をより具体的に強調するために、コンポーネントまたはモジュールとして言及されるか或いはラベル付けされる場合があることが理解されるべきである。そのようなコンポーネントは、任意の数のソフトウェアまたはハードウェア形態によって具体化されることがある。例えば、コンポーネントまたはモジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップのような既製の半導体、トランジスタ、または他の離散コンポーネントを含む、ハードウェア回路として実装されることがある。コンポーネントまたはモジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理デバイス、または同等物のような、プログラマブルハードウェアデバイスにおいて実装されることもある。コンポーネントまたはモジュールはまた、様々なタイプのプロセッサによって実行されるためのソフトウェアにおいて実装されてもよい。実行可能コードの識別されたコンポーネントまたはモジュールは、例えば、オブジェクト、手順、または機能として組織化されることがある、コンピュータ命令の1つ以上の物理的または論理的ブロックを含むことがある。それにも拘わらず、識別されたコンポーネントまたはモジュールの実行可能物は、物理的に一緒に配置される必要はなく、異なる場所に格納される異なる命令を含むことがあり、異なる命令は、論理的に結合されるときに(例えば、ワイヤを通じて、ネットワークを通じて、1つ以上のプラットフォームを使用して、ワイヤレスに、ソフトウェアコンポーネントを介して、または同等のことを介して論理的に結合されることを含む)、コンポーネントまたはモジュールを含み、コンポーネントまたはモジュールのための記載された目的を達成する。
実際には、実行可能なコードのコンポーネントまたはモジュールは、単一の命令または多くの命令であることがあり、幾つかの異なるコードセグメントに亘って、異なるプログラム間で、幾つかのメモリデバイスまたは処理システムに亘って分散されることさえある。特に、(コード書き換えおよびコード分析のような)記載するプロセスの幾つかの態様は、コードが(例えば、センサまたはロボットに埋め込まれたコンピュータ内に)展開されたものとは異なる(例えば、データセンタ内のコンピュータ内の)処理システム上で行われることがある。同様に、動作データは、本明細書では、コンポーネントまたはモジュール内で識別および図示されることがあり、任意の好適な形態で具体化されることがあり、任意の好適なタイプのデータ構造内で組織化されることがある。動作データは、単一のデータセットとして収集されることがあり、或いは異なるストレージデバイスを含む異なる場所に亘って分散されることがあり、少なくとも部分的には、システムまたはネットワーク上の単なる電子信号として存在することがある。コンポーネントまたはモジュールは、受動的または能動的であってよく、所望の機能を実行するように作動可能なエージェントを含む。
本明細書に記載する方法、システム、およびデバイスの実施形態の更なる例は、以下の非限定的な実装を含む。以下の非限定的な実装の各々は、それ自体に基づくことがあり、または、以下にまたは本開示を通じて提供される他の例のうちの1つ以上との任意の置換または組み合わせにおいて組み合わせられることがある。
これらの非限定的な例の各々は、それ自体に基づくことがあり、或いは他の例のうちの1つ以上との置換または組み合わせにおいて組み合わせることがある。
例1は、イベント発生に基づいて動作を調整するデバイスであり、デバイスは、画像を取り込む画像キャプチャコンポーネントと、処理回路構成であって、画像キャプチャコンポーネントによって取り込まれる画像を処理して、イベントが発生したかどうかを決定する動作、画像の属性を選択される基準と比較することによって、イベントが発生したことを検出する動作、および、イベントを検出することに応答して、イベントに対応する情報をエッジアプライアンス内のネットワークインターフェースコンポーネント(NIC)のアクティブ化機能に送信して、イベントに対応するビットストリームをアクティブ化させる動作を実行する、処理回路構成とを含み、アクティブ化機能は、実行されるときに、ネットワークメッセージを送信して、ビットストリームに対応するアクセラレータをアクティブ化させる。
例2において、例1の主題事項は、処理回路構成が、集積回路である、ことを含む、
例3において、例2の主題事項は、集積回路が、フィールドプログラマブルゲートアレイ(FPGA)である、ことを含む。
例4において、例1~3の主題事項は、選択される基準が、デバイスでの周囲条件に基づいて処理回路構成によって選択される、ことを含む。
例5において、例1~4の主題事項は、アクティブ化機能が、ネットワークメッセージを第2のデバイスに送信して、第2の画像を取り込むために第2のデバイスをアクティブ化させる、ことを含む。
例6において、例1~5の主題事項は、アクティブ化機能が、画像に対する処理動作を実施するために、ネットワークメッセージを、メモリとプロセッサとを含むエッジデバイスに送信する、ことを含む。
例7において、例1~6の主題事項は、処理回路構成が履歴画像に基づいてパターンを確立する動作、および直前の画像に取り込まれた状態がパターンを示すことを決定する動作を実行することに応答して、取り込まれる画像が処理される、ことを含む。
例8において、例1~7の主題事項は、処理回路構成が、ルール識別子、イベントタイプ、アクティブ化機能に関連する閾値、ルールに関連するアクティブ化機能識別子、およびネットワークメッセージを伝搬させるピアのセットを含む、特定のアクティブ化機能ルールを登録する動作を更に実行する、ことを含む。
例9において、例1~8の主題事項は、処理回路構成が、ピアデバイスのセットのための公開鍵のセットを登録する動作を更に実行する、ことを含む。
例10において、例1~9の主題事項は、選択される基準が、物体または閾値の存在を含む、ことを含む。
例11において、例1~10の主題事項は、画像キャプチャコンポーネントが、カメラであり、イベントを検出することが、画像内の自動車および歩行者の検出を含み、アクティブ化機能が、第2のカメラにタイムフレーム内の画像キャプチャの数を増加させる、ことを含む。
例12は、イベント発生に基づいて動作を調整する装置であり、装置は、画像を取り込む手段と、イベントが発生したかどうかを決定するために、カメラによって取り込まれる画像を処理する手段と、画像の属性を選択される基準と比較することによって、イベントが発生したことを検出する手段と、イベントを検出することに応答して、イベントに対応する情報をエッジアプライアンス内のネットワークインターフェースコンポーネント(NIC)のアクティブ化機能に送信して、イベントに対応するビットストリームをアクティブ化させる手段とを含み、アクティブ化機能は、実行されるときに、ビットストリームに対応するアクセラレータをアクティブ化させる。
例13において、例12の主題事項は、選択される基準が、物体または閾値の存在を含む、ことを含む。
例14において、例12~13の主題事項は、ルール識別子、イベントタイプ、アクティブ化機能に関連する閾値、ルールに関連するアクティブ化機能識別子、およびネットワークメッセージを伝搬させるピアのセットを含む、特定のアクティブ化機能ルールを登録する手段を含む。
例15において、例12~14の主題事項は、画像キャプチャデバイスでの周囲条件に基づいて選択される基準を選択する手段を含む。
例16は、イベント発生に基づいて動作を調整する方法であり、方法は、センサコンポーネントを用いてセンサデータを取り込むことと、画像キャプチャデバイスの処理回路構成を用いて、センサデータを処理して、イベントが発生したかどうかを決定することと、センサデータの属性を選択される基準と比較することによって、イベントが発生したことを検出することと、イベントを検出することに応答して、イベントに対応する情報をエッジアプライアンス内のネットワークインターフェースコンポーネント(NIC)のアクティブ化機能に送信して、イベントに対応するビットストリームをアクティブ化させることとを含み、アクティブ化機能は、実行されるときに、ネットワークメッセージを送信して、ビットストリームに対応するアクセラレータをアクティブ化させる。
例17において、例16の主題事項は、センサコンポーネントでの周囲条件に基づいて選択される基準を選択することを含む。
例18において、例16~17の主題事項は、ネットワークメッセージを送信することが、ネットワークメッセージを第2のセンサコンポーネントに送信して、第2のセンサコンポーネントをアクティブ化させて、更なるセンサデータを取り込むことを含む、ことを含む。
例19において、例16~18の主題事項は、センサからの前のセンサデータを用いて、以前に確立されたパターンが発生したことを識別することに応答して、取り込まれるセンサデータを処理することを含む。
例20において、例16~19の主題事項は、ルール識別子、イベントタイプ、アクティブ化機能に関連する閾値、ルールに関連するアクティブ化機能識別子、およびネットワークメッセージを伝搬させるピアのセットを含む、特定のアクティブ化機能ルールを登録することを含む。
例21は、イベント発生に基づいて動作を調整するデバイスであり、デバイスは、画像キャプチャコンポーネントと、遠隔画像キャプチャデバイスで識別されるイベントに応答してアクティブ化機能からネットワークメッセージを受信するネットワークインターフェースコンポーネント(NIC)と、処理回路構成とを含み、処理回路構成は、ネットワークメッセージに基づいて、イベントに対応するビットストリームをアクティブ化させて、ビットストリームに対応するデバイスにあるアクセラレータをアクティブ化させる動作、アクセラレータを用いて画像キャプチャコンポーネントによって取り込まれる画像を処理する動作、取り込まれる画像の属性を選択される基準と比較することによって、第2のイベントが発生したことを検出する動作、および、取り込まれる画像内で識別される車両にV2X通信メッセージを送信する動作を実行する。
例22において、例21の主題事項は、V2X通信メッセージが、車両についての危険な動作条件を識別する、ことを含む。
例23において、例21~22の主題事項は、処理回路構成が、デバイスの第2のアクティブ化機能を実行して、V2X通信メッセージを生成するためにアクセラレータをアクティブ化させる動作を更に実行する、ことを含む。
例24において、例21~23の主題事項は、処理回路構成が、第2のイベントを検出することに基づいて、V2X通信メッセージを第3の画像キャプチャデバイスに送信する動作を更に実行する、ことを含む。
例25において、例21~24の主題事項は、処理回路構成が、フィールドプログラマブルゲートアレイ(FPGA)である、ことを含む。
例26は、イベント発生に基づいて動作を調整する方法であり、方法は、センサを用いてセンサデータを取り込むことと、処理回路構成を用いて、取り込まれるセンサデータを用いてイベントが発生したことを決定することと、イベントに対応する情報をNICに送信することと、NICのアクティブ化機能で、イベントに対応する情報に基づいてアクティブ化させるリソース(例えば、ピアデバイス、センサコンポーネント、またはアプリケーション)を決定することと、ネットワークメッセージを送信してリソースをアクティブ化させることとを含む。
例27において、リソースは、遠隔センサまたはエッジサーバである。
例28は、命令を含む少なくとも1つの機械読取可能媒体であり、命令は、処理回路構成によって実行されるときに、処理回路構成に例1~27のいずれかを実施する動作を実行させる。
例29は、例1~27のいずれかを実装する手段を含む装置である。
例30は、例1~27のいずれかを実装するシステムである。
例31は、例1~27のいずれかを実装する方法である。
別の例示的な実装は、例1~27の動作または本明細書に記載する他の主題事項を引き起こす或いは実行するためのそれぞれのエッジ処理デバイスおよびノードを含む、エッジコンピューティングシステムである。
別の例示的な実装は、例1~27の動作または本明細書に記載する他の主題事項を引き起こす或いは実行するように動作可能なクライアントエンドポイントノードである。
別の例示的な実装は、例1~27の動作または本明細書に記載の他の主題事項を引き起こす或いは実行するように動作可能な、エッジコンピューティングシステム内にある或いはエッジコンピューティングシステムに結合される、集合ノード、ネットワークハブノード、ゲートウェイノード、またはコアデータ処理ノードである。
別の例示的な実装は、例1~27の動作または本明細書に記載する他の主題事項を引き起こす或いは実行するように動作可能な、エッジコンピューティングシステム内にある或いはエッジコンピューティングシステムに結合される、アクセスポイント、基地局、道端(roadside)ユニット、道路脇(street side)ユニット、またはオンプレミス(on-premise)ユニットである。
別の例示的な実装は、例1~27の動作または本明細書に記載する他の主題事項を引き起こす或いは実行するように動作可能な、エッジコンピューティングシステム内にある或いはエッジコンピューティングシステムに結合される、エッジプロビジョニングノード、サービスオーケストレーションノード、アプリケーションオーケストレーションノード、またはマルチテナント管理ノードである。
別の例示的な実装は、例1~27の動作または本明細書に記載する他の主題事項を引き起こす或いは実行するように動作可能な、エッジコンピューティングシステム内にある或いはエッジコンピューティングシステムに結合される、エッジプロビジョニングサービス、アプリケーションまたはサービスオーケストレーションサービス、仮想マシン展開、コンテナ展開、機能展開、およびコンピュータ管理を作動させる、エッジノードである。
別の例示的な実装は、例1~27の動作または本明細書に記載する他の主題事項を引き起こす或いは実行するように動作可能な、ネットワーク機能、加速機能、加速ハードウェア、ストレージハードウェア、または計算ハードウェアリソースの態様を含む、エッジコンピューティングシステムである。
別の例示的な実装は、例1~27または本明細書に記載する他の主題事項を使用して、本明細書で議論する使用事例を引き起こす或いは実行するように動作可能な、クライアント移動性、車両間(V2V)、車両対あらゆるもの(V2X)、または車両対インフラストラクチャ(V2I)のシナリオをサポートするために、並びにETSI MEC仕様に従って任意に任意的に作動するために適合される、エッジコンピューティングシステムである。
別の例示的な実装は、例1~27または本明細書に記載する他の主題事項を用いて、本明細書で議論する使用事例を引き起こす或いは実行するように動作可能な、3GPP 4G/LTEまたは5Gネットワーク能力に従った構成を含む、モバイルワイヤレス通信のために適合される、エッジコンピューティングシステムである。
別の例示的な実装は、例1~27または本明細書に記載する他の主題事項を用いて、本明細書で議論する使用事例を引き起こす或いは実行するように動作可能な、集合ノード、ネットワークハブノード、ゲートウェイノード、またはコアデータ処理ノードとして、エッジコンピューティングネットワークまたはエッジコンピューティングシステムのレイヤーにおいて作動可能であり、「クロースエッジ(近接エッジ)」、「ローカルエッジ(局所エッジ)」、エンタープライズエッジ、オンプレミスエッジ、「ニアエッジ(近エッジ)」、「ミドルエッジ(中央エッジ)」または「ファーエッジ(遠エッジ)」ネットワークレイヤーにおいて作動可能であり、或いは共通の待ち時間、タイミング、または距離特性を有するノードのセットにおいて作動可能である。
別の例示的な実装は、例1~27または本明細書に記載する他の主題事項を用いて、本明細書で議論する使用事例を引き起こす或いは実行するためにエッジコンピューティングシステムにおいて作動可能な、ネットワーク化ハードウェア、加速ハードウェア、ストレージハードウェア、または計算ハードウェアであり、その上に実装される能力を備える。
別の例示的な実装は、例1~27または本明細書に記載する他の主題事項を用いて、計算オフロード、データキャッシング、ビデオ処理、ネットワーク機能仮想化、無線アクセスネットワーク管理、拡張現実、仮想現実、産業自動化、小売サービス、製造動作、スマートビルディング、エネルギ管理、自律運転、車両支援、車両通信、モノのインターネット動作、物体検出、音声認識、ヘルスケアアプリケーション、ゲームアプリケーション、または加速コンテンツ処理のうちの1つ以上から提供される使用事例を実行するように構成される、エッジコンピューティングシステムである。
別の例示的な実装は、1つ以上のプロセッサと、命令を含む1つ以上のコンピュータ読取可能媒体とを含み、命令は、1つ以上のプロセッサによって実行されるときに、例1~27または本明細書に記載する他の主題事項を用いて、1つ以上のプロセッサに本明細書で議論する使用事例を引き起こす或いは実行させる、エッジコンピューティングシステムのデバイスである。
別の例示的な実装は、例1~27または本明細書に記載する他の主題事項を使用して、電子デバイスの1つ以上のプロセッサによる命令の実行後に、エッジコンピューティングシステムの電子デバイスに、本明細書で議論する使用事例を引き起こす或いは実行させる命令を含む、1つ以上のコンピュータ読取可能記憶媒体である。
別の例示的な態様は、例1~27または本明細書に記載する他の主題事項を使用して、本明細書で議論する使用事例を引き起こす或いは実行するための手段、ロジック、モジュール、または回路構成を含む、エッジコンピューティングシステムのデバイスである。
これらの実装は、特定の例示的態様を参照して記載されたが、様々な修正および変更が、本開示のより広い範囲から逸脱せずに、これらの態様になされる場合があることが明らかであろう。本明細書に記載する構成およびプロセスの多くを組み合わせまたは並列実装で使用して、より大きな帯域幅/スループットを提供し、サービス対象のエッジシステムに利用可能にされることができるエッジサービス選択をサポートすることができる。従って、明細書および図面は、限定的な意味においてではなく、例示的な意味において考えられるべきである。本明細書の一部を構成する添付の図面は、限定の目的でなく、例示の目的で、主題事項が実施されることがある特定の態様を示している。図示の態様は、当業者が本明細書に開示される教示を実施することを可能にするのに十分な程に詳細に記載されている。構造的および論理的置換および変更が本開示の範囲から逸脱せずに行われることがあるように、他の態様が利用され、そこから導き出されてよい。従って、この詳細な説明は、限定的な意味で解釈されるべきではなく、様々な態様の範囲は、添付の特許請求の範囲が権利を有する均等物の全範囲と共に、添付の特許請求の範囲によってのみ定義される。
発明的な主題事項のそのような態様は、単に便宜のために、並びに、1つよりも多くが実際には開示されている場合に、この出願の範囲を任意の単一の態様または発明的概念に限定することを意図せずに、個別におよび/または集合的に本明細書において言及されることがある。従って、特定の態様が本明細書図示され且つ記載されているが、同じ目的を達成するために計算された任意の構成が、図示の特定の態様と置き換えられてよいことが理解されるべきである。この開示は、様々な態様のありとあらゆる適合または変形をカバーすることを意図している。本明細書に具体的に記載されていない上記態様および他の態様の組み合わせは、上記の記載を検討した後に当業者に明らかであろう。
本明細書に記載する方法の例は、少なくとも部分的に、機械またはコンピュータ実装されてよい。いくつかの例は、上記の例において記載したような方法を実施するために電子デバイスを構成するように動作可能な命令で符号化されたコンピュータ読取可能媒体または機械読取可能媒体を含んでよい。そのような方法の実装は、マイクロコード、アセンブリ言語コード、高レベル言語コード、または同等物のような、コードを含んでよい。そのようなコードは、様々な方法を実行するためのコンピュータ読取可能命令を含んでよい。コードは、コンピュータプログラム製品の部分を形成してよい。さらに、一例において、コードは、例えば、実行中にまたは他のときに、1つ以上の揮発性、非一時的、または不揮発性の有形コンピュータ読取可能媒体上に、有形に格納されてよい。これらの有形のコンピュータ読取可能媒体の例は、ハードディスク、取り外し可能な磁気ディスク、取り外し可能な光ディスク(例えば、コンパクトディスクおよびデジタルビデオディスク)、磁気カセット、メモリカードまたはスティック、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、および同等物を含むが、これらに限定されない。

Claims (25)

  1. イベント発生に基づいて動作を調整するデバイスであって、
    画像を取り込む画像キャプチャコンポーネントと、
    処理回路構成であって、
    前記画像キャプチャコンポーネントによって取り込まれる前記画像を処理して、イベントが発生したかどうかを決定する動作、
    前記画像の属性を選択される基準と比較することによって、前記イベントが発生したことを検出する動作、および
    前記イベントを検出することに応答して、前記イベントに対応する情報をエッジアプライアンス内のネットワークインターフェースコンポーネント(NIC)のアクティブ化機能に送信して、前記イベントに対応するビットストリームをアクティブ化させる動作を実行する、
    処理回路構成とを含み、
    前記アクティブ化機能は、実行されるときに、ネットワークメッセージを送信して、前記ビットストリームに対応するアクセラレータをアクティブ化させる、
    デバイス。
  2. 前記処理回路構成は、集積回路である、請求項1に記載のデバイス。
  3. 前記集積回路は、フィールドプログラマブルゲートアレイ(FPGA)である、請求項2に記載のデバイス。
  4. 前記選択される基準は、当該デバイスでの周囲条件に基づいて前記処理回路構成によって選択される、請求項1に記載のデバイス。
  5. 前記アクティブ化機能は、前記ネットワークメッセージを第2のデバイスに送信して、第2の画像を取り込むために前記第2のデバイスをアクティブ化させる、請求項1に記載のデバイス。
  6. 前記アクティブ化機能は、前記画像に対する処理動作を実施するために、前記ネットワークメッセージを、メモリとプロセッサとを含むエッジデバイスに送信する、請求項1に記載のデバイス。
  7. 前記取り込まれる画像は、前記処理回路構成が、履歴画像に基づいてパターンを確立する動作、および直前の画像に取り込まれた状態が前記パターンを示すことを決定する動作を実行することに応答して、処理される、請求項1に記載のデバイス。
  8. 前記処理回路構成は、ルール識別子、イベントタイプ、前記アクティブ化機能に関連する閾値、前記ルールに関連するアクティブ化機能識別子、および前記ネットワークメッセージを伝搬させるピアのセットを含む、特定のアクティブ化機能ルールを登録する動作を更に実行する、請求項1に記載のデバイス。
  9. 前記処理回路構成は、ピアデバイスのセットのための公開鍵のセットを登録する動作を更に実行する、請求項1に記載のデバイス。
  10. 前記選択される基準は、物体または閾値の存在を含む、請求項1に記載のデバイス。
  11. 前記画像キャプチャコンポーネントは、カメラであり、前記イベントを検出することは、前記画像内の自動車および歩行者の検出を含み、前記アクティブ化機能は、第2のカメラにタイムフレーム内の画像キャプチャの数を増加させる、請求項1に記載のデバイス。
  12. イベント発生に基づいて動作を調整するデバイスであって、
    画像キャプチャデバイスと、
    遠隔デバイスで識別されるイベントに応答してアクティブ化機能からネットワークメッセージを受信するネットワークインターフェースコンポーネント(NIC)と、
    処理回路構成とを含み、
    前記処理回路構成は、
    前記ネットワークメッセージに基づいて、前記イベントに対応するビットストリームをアクティブ化させて、前記ビットストリームに対応する当該デバイスにあるアクセラレータをアクティブ化させる動作、
    前記アクセラレータを用いて前記画像キャプチャデバイスによって取り込まれる画像を処理する動作、
    前記取り込まれる画像の属性を選択される基準と比較することによって、第2のイベントが発生したことを検出する動作、および
    前記取り込まれる画像内で識別される車両にV2X通信メッセージを送信する動作を実行する、
    デバイス。
  13. 前記V2X通信メッセージは、前記車両についての危険な動作条件を識別する、請求項12に記載のデバイス。
  14. 前記処理回路構成は、当該デバイスの第2のアクティブ化機能を実行して、前記V2X通信メッセージを生成するためにアクセラレータをアクティブ化させる動作を更に実行する、請求項12に記載のデバイス。
  15. 前記処理回路構成は、前記第2のイベントを検出することに基づいて、前記V2X通信メッセージを第3の画像キャプチャデバイスに送信する動作を更に実行する、請求項12に記載のデバイス。
  16. 前記処理回路構成は、フィールドプログラマブルゲートアレイ(FPGA)である、請求項12~15のうちのいずれか1項に記載のデバイス。
  17. イベント発生に基づいて動作を調整する方法であって、
    センサコンポーネントを用いてセンサデータを取り込むことと、
    前記画像キャプチャデバイスの処理回路構成を用いて、前記センサデータを処理して、イベントが発生したかどうかを決定することと、
    前記センサデータの属性を選択される基準と比較することによって、前記イベントが発生したことを検出することと、
    前記イベントを検出することに応答して、前記イベントに対応する情報をエッジアプライアンス内のネットワークインターフェースコンポーネント(NIC)のアクティブ化機能に送信して、前記イベントに対応するビットストリームをアクティブ化させることとを含み、
    前記アクティブ化機能は、実行されるときに、ネットワークメッセージを送信して、前記ビットストリームに対応するアクセラレータをアクティブ化させる、
    方法。
  18. 前記センサコンポーネントでの周囲条件に基づいて前記選択される基準を選択することを更に含む、請求項17に記載の方法。
  19. 前記ネットワークメッセージを送信することは、前記ネットワークメッセージを第2のセンサコンポーネントに送信して、前記第2のセンサコンポーネントをアクティブ化させて、更なるセンサデータを取り込むことを含む、請求項17に記載の方法。
  20. 前記センサからの前のセンサデータを用いて、以前に確立されたパターンが発生したことを識別することに応答して、前記取り込まれるセンサデータを処理することを含む、請求項17に記載の方法。
  21. 前記アクティブ化機能は、前記ネットワークメッセージを、メモリとプロセッサとを含むエッジデバイスに送信して、前記画像に対する画像処理動作を実施する、請求項17に記載の方法。
  22. ルール識別子、イベントタイプ、前記アクティブ化機能に関連する閾値、前記ルールに関連するアクティブ化機能識別子、および前記ネットワークメッセージを伝搬させるピアのセットを含む、特定のアクティブ化機能ルールを登録することを更に含む、請求項17に記載の方法。
  23. ピアデバイスのセットのための公開鍵のセットを登録することを更に含む、請求項17に記載の方法。
  24. イベント発生に基づいて動作を調整するための装置であって、請求項17~23のうちのいずれか1項に記載の方法を実行するための手段を含む、装置。
  25. クライアントデバイスでの動作を調整するための命令を含む少なくとも1つの機械読取可能媒体であって、前記命令は、前記クライアントデバイスのプロセッサによって展開されて実行されるときに、前記プロセッサに請求項17~23のうちのいずれか1項に記載の方法の動作を実行させる、少なくとも1つの機械読取可能媒体。
JP2021190702A 2020-12-26 2021-11-25 エッジ自動および適応処理アクティブ化 Pending JP2022103072A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/134,291 US20210117697A1 (en) 2020-12-26 2020-12-26 Edge automatic and adaptive processing activations
US17/134,291 2020-12-26

Publications (1)

Publication Number Publication Date
JP2022103072A true JP2022103072A (ja) 2022-07-07

Family

ID=75492407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021190702A Pending JP2022103072A (ja) 2020-12-26 2021-11-25 エッジ自動および適応処理アクティブ化

Country Status (4)

Country Link
US (1) US20210117697A1 (ja)
EP (1) EP4020424A1 (ja)
JP (1) JP2022103072A (ja)
KR (1) KR20220093030A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017212249A1 (de) * 2017-07-18 2019-01-24 Robert Bosch Gmbh Verfahren und Vorrichtungen für Teilnehmer übergreifende Kommunikation
CN112581590B (zh) * 2020-12-28 2021-06-08 广东工业大学 一种5g安防救援网联的无人机云边端协同控制方法
US20220400124A1 (en) * 2021-06-14 2022-12-15 Mellanox Technologies Ltd. Network devices assisted by machine learning
CN114723781B (zh) * 2022-03-07 2022-10-28 北京拙河科技有限公司 基于相机阵列的目标追踪方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120162431A1 (en) * 2010-12-23 2012-06-28 Scott Riesebosch Methods and systems for monitoring traffic flow
DE102016000532B4 (de) * 2016-01-21 2019-04-25 Jenoptik Robot Gmbh Verfahren und Vorrichtung zum Betreiben eines Verkehrsüberwachungsgerätes, Verkehrsüberwachungsgerät und Verkehrsüberwachungssystem
US11757857B2 (en) * 2017-01-23 2023-09-12 Ntt Research, Inc. Digital credential issuing system and method
DE112017008311T5 (de) * 2017-12-29 2020-09-17 Intel Corporation Technologien zur internet-der-dinge-schlüsselverwaltung
US11017539B2 (en) * 2018-04-30 2021-05-25 Intel Corporation Object tracking and identification using intelligent camera orchestration

Also Published As

Publication number Publication date
KR20220093030A (ko) 2022-07-05
US20210117697A1 (en) 2021-04-22
EP4020424A1 (en) 2022-06-29

Similar Documents

Publication Publication Date Title
US11218546B2 (en) Computer-readable storage medium, an apparatus and a method to select access layer devices to deliver services to clients in an edge computing system
EP4020880A1 (en) Method, apparatus and machine-readable storage to verify trained models in an edge environment
EP3972295A1 (en) Geofence-based edge service control and authentication
US20210119962A1 (en) Neutral host edge services
EP4020424A1 (en) Edge automatic and adaptive processing activations
EP4155933A1 (en) Network supported low latency security-based orchestration
US20210144202A1 (en) Extended peer-to-peer (p2p) with edge networking
US20230164241A1 (en) Federated mec framework for automotive services
EP4156637A1 (en) Software defined networking with en-route computing
EP4155752A1 (en) Connected device region identification
US20230189319A1 (en) Federated learning for multiple access radio resource management optimizations
CN115525421A (zh) 用于促进服务代理的方法和装置
EP4109387A1 (en) Morphing computer vision pipeline
EP3975028A1 (en) One-touch inline cryptographic data processing
KR20220088306A (ko) 트러스트 크리덴셜의 자동 에스컬레이션
CN116339906A (zh) 动态边缘执行的协作管理
US20230216849A1 (en) Attestation verifier role delegation
US20230342478A1 (en) Attestation for bidirectional elastic workload migration in cloud-to-edge settings
US20230045110A1 (en) Import of deployable containers and source code in cloud development environment
US20230027152A1 (en) Upgrade of network objects using security islands
US20240160717A1 (en) Attestation-as-a-service for confidential computing
US20230020182A1 (en) Technologies for source degradation detection and auto-tuning of cameras
US20240022550A1 (en) Systems and methods for key access distribution and management
US20240195789A1 (en) Cryptographic data processing using a dma engine
CN117121006A (zh) 用于机密计算的证明即服务