JP2023047294A - ネットワークアプライアンスを使用したコンテンツ挿入 - Google Patents

ネットワークアプライアンスを使用したコンテンツ挿入 Download PDF

Info

Publication number
JP2023047294A
JP2023047294A JP2022130320A JP2022130320A JP2023047294A JP 2023047294 A JP2023047294 A JP 2023047294A JP 2022130320 A JP2022130320 A JP 2022130320A JP 2022130320 A JP2022130320 A JP 2022130320A JP 2023047294 A JP2023047294 A JP 2023047294A
Authority
JP
Japan
Prior art keywords
stream
content
rule
network appliance
network
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
JP2022130320A
Other languages
English (en)
Inventor
バハマツキー アレグザンダー
Bachmutsky Alexander
ギム ベルナート フランセスク
Guim Bernat Francesc
クマール カルティク
Kumar Karthik
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 JP2023047294A publication Critical patent/JP2023047294A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】ネットワークアプライアンスを使用してコンテンツ挿入を提供する。【解決手段】システム800は、ネットワークアプライアンスの動作コンテキストを監視するサービス品質回路と、ストリーム内のコンテンツ挿入スロットを識別し、ルールデータベースからルールを取得し、ストリームのコンテキストに基づいてルールの入力を決定する解析回路とインタフェース接続し、ルールの入力によってルールを実行するようにルール実行回路とインタフェース接続し、ルール実行によりコンテンツのストリームへの挿入を決定し、決定に応じて、ストリームに挿入可能なコンテンツを決定するサービス品質回路とインタフェース接続し、ストリームをネットワークアプライアンスのメモリデバイスにバッファリングする一方で、ネットワークアプライアンスの出口ポート上で、コンテンツ挿入スロット内の挿入可能なコンテンツを、デバイスに伝送する挿入回路と、を含む。【選択図】図8

Description

本明細書に記載の実施形態は、概してデータ変換及びネットワークシステムに関し、特にネットワークアプライアンスを使用してコンテンツ挿入を提供するシステムに関する。
エッジコンピューティングは、一般的なレベルでは、総所有コストを最適化し、アプリケーションの遅延を低減し、サービス能力を改善し、セキュリティ又はデータのプライバシー要件の遵守を改善するために、エンドポイントデバイス(例えば、消費者用コンピューティングデバイス、ユーザ機器等)により近い計算及び記憶リソースの遷移を示す。エッジコンピューティングは、いくつかのシナリオにおいて、多くのタイプの記憶及び計算リソースの間のアプリケーションのためのオーケストレーション及び管理を提供するクラウドのような分散サービスを提供し得る。その結果、エッジコンピューティングのいくつかの実装は「エッジクラウド(edge cloud)」又は「フォグ(fog)」と呼ばれている。この理由は、以前に大規模なリモートデータセンタでのみ利用可能であった強力な計算リソースが、エンドポイントに近づき、ネットワークの「エッジ」での消費者による使用に利用可能になったためである。
「モバイルエッジコンピューティング」としても知られるマルチアクセスエッジコンピューティング(multi-access edge computing, MEC)手法と統合するために、モバイルネットワーク設定におけるエッジコンピューティング用ユースケースが開発されている。MEC手法は、アプリケーション開発者及びコンテンツプロバイダがネットワークのエッジにおける動的なモバイルネットワーク設定において計算能力及び情報技術(information technology, IT)サービス環境にアクセスすることを可能にするために設計されている。MECシステム、プラットフォーム、ホスト、サービス及びアプリケーションの動作のための共通インタフェースを定義する試みとして、限られた標準が、欧州電気通信標準化機構(European Telecommunications Standards Institute, ETSI)の産業仕様作成グループ(industry specification group, ISG)により開発されている。
エッジコンピューティング、MEC及び関連技術は、従来のクラウドネットワークサービス及び広域ネットワーク接続で提供されているものよりも、低減した遅延、向上した応答性及び利用可能なコンピューティング能力を提供することを試みる。しかし、いくつかのモバイル使用及びデバイス処理用ユースケースへのモビリティ及び動的に開始されたサービスの統合は、特に多くの参加者(デバイス、ホスト、テナント、サービスプロバイダ、オペレータ)が関与する複雑なモビリティ設定において、オーケストレーション、機能協調及びリソース管理に制限及び課題をもたらしている。同様に、モノのインターネット(IoT)ネットワーク及びデバイスは、様々なエンドポイントから分散計算配置を提供するように設計されている。IoTデバイスは、ネットワーク上で通信し得る物理オブジェクト又は仮想化オブジェクトであり、センサ、アクチュエータ及び他の入出力コンポーネントを含んでもよく、これらは、実世界の環境においてデータを収集し或いはアクションを実行するために使用され得る。例えば、IoTデバイスは、建物、車両、パッケージ等のような日常のものに埋め込まれるか或いは取り付けられ、これらのモノの更なるレベルの人工的な知覚を提供する低電力エンドポイントデバイスを含み得る。近年、IoTデバイスがより一般的になっているので、これらのデバイスを使用するアプリケーションが急増している。
様々なエッジ、フォグ、MEC及びIoTのネットワーク、デバイス及びサービスの展開は、ネットワークのエッジにおいて且つエッジに向かって発生する多数の高度なユースケース及びシナリオを導入している。しかし、特に、より多くのタイプのコンピューティングシステム及び構成が展開されるにつれて、これらの高度なユースケースはまた、他の多くの問題の中でも、セキュリティ、処理及びネットワークリソース、サービス可能性及び効率に関連する多数の対応する技術的課題をもたらしている。1つのこのような課題は、メモリ(例えば、DRAMメモリ)、キャッシュメモリ(例えば、キャッシュ)又はレジスタ(例えば、CPU又はGPU)において表されるようなソフトウェアプログラム及びデータのセキュリティ及び信頼並びに動作状態に関するものである。
図面において、必ずしも縮尺通りに描かれていないが、異なる図において同様の番号は同様のコンポーネントを記述することがある。異なる文字の末尾を有する同様の番号は、同様のコンポーネントの互いに異なるインスタンスを表することがある。添付図面の図面において、いくつかの実施形態が限定ではなく一例として示されている。
エッジコンピューティングのためのエッジクラウド構成の概要を示す。 エンドポイント、エッジクラウド及びクラウドコンピューティング環境の間の動作レイヤを示す。 エッジコンピューティングシステムにおけるネットワーキング及びサービスのための例示的な手法を示す。 複数のエッジノード及び複数のテナントの間で動作するエッジコンピューティングシステムにおける仮想エッジ構成の展開を示す。 エッジコンピューティングシステムにおいてコンテナを展開する様々な計算配置を示す。 エッジコンピューティングシステムにおいて計算ノードに展開された計算のための例示的なコンポーネントの概要を提供する。 エッジコンピューティングシステムにおいてコンピューティングデバイス内の例示的なコンポーネントの更なる概要を提供する。 一実施形態による、図6Bの例示的なコンピュータ読み取り可能命令のようなソフトウェアを1つ以上のデバイスに分配するための例示的なソフトウェア分配プラットフォームを示す。 一実施形態による、ネットワークアプライアンスを使用したコンテンツ挿入を実施するためのシステムを示すブロック図である。 一実施形態による、ネットワークアプライアンスを使用したコンテンツ挿入を実施するための他のシステムを示すブロック図である。 一実施形態による、ネットワークアプライアンスを使用したコンテンツ挿入を実施するための方法を示すフローチャートである。
本明細書に記載のシステム及び方法は、ネットワークアプライアンスを使用したコンテンツ挿入を提供する。様々なデバイスからのオンラインビデオ及びストリーミング/視聴が人気を得るにつれて、ビデオ内の様々な位置に或いはビデオの間に表示される広告からの市場及び収益も増加している。歴史的に、ビデオコンテンツはサーバ側のコンテンツ配信ネットワーク(content delivery network, CDN)から取得され、広告コンテンツはサードパーティ広告サーバから別々に取得されている。クライアント側の実装では、広告の挿入はクライアント側、例えば、ビデオプレーヤ又は広告判定プラグインを有するブラウザにおいて行われる。しかし、近年、ユーザが広告遮断ソフトを採用することを述べているように、従来のクライアント側の広告挿入からサーバ側の広告挿入への移行が進んでいる。サーバ側の実装では、ビデオコンテンツ(例えば、フィルム、ムービー、テレビ番組、ビデオ放送等)は、専用サーバによって単一のストリームに一緒に結合された広告を有し、ストリームがサーバから提供されるときにそのストリームを視聴する接続デバイス/エンドユーザに送信される。このフローはサーバ側広告挿入(server side ad insertion, SSAI)と呼ばれる。SSAIは単一のストリームをエンドユーザに配信するので、広告はクライアントの広告遮断ソフトウェアによって遮断できない。
SSAIは複雑さをシステムに導入する。SSAIを実装するために複数の専用サーバが必要である。サーバは、CDNからのトラフィックストリームを傍受し、ストリーム内の広告マーカーが存在する位置に広告を挿入し、トラフィックをクライアントデバイスにルーティングする。達成される実際の機能は、比較的簡単なマージジョブである。その代わりに、SSAIは、典型的にはトラフィックのサードパーティサーバの傍受及び専用サーバを必要とする。これは、コンテンツと広告をマージするサードパーティによって課金される料金が存在するので、無駄であり、コスト効率が悪い。
さらに、SSAIは広告のパーソナライズを許容しない。広告はサーバにおいて挿入され、多数のクライアントデバイスにブロードキャストされるので、広告はエンドユーザにパーソナライズされない。さらに、これらのサーバは、ユーザ(異なるデバイスを使用してもよい)から離れて位置するので、集中型サーバが効果的でターゲットを絞った広告を提供することは、より困難になる。
また、SSAIはうまくスケーリングしない。SSAIの実装は、パーソナライズを提供するためにいくつかのサードパーティプロバイダを伴うことがある。このパーソナライズサードパーティは、需要の変動に対処し、スケーラビリティの高いアーキテクチャを提供しなければならない可能性がある。特に、ニュース速報、スポーツイベント及び人気テレビシリーズの需要における急激なピークに対処しなければならない放送局の例がある。他の例では、スポーツイベント中に、パーソナライズサーバは、例えば、ゲームの最後の数分間に多数の視聴者が放送に参加するときの殺到に対処しなければならない可能性がある。広告パーソナライズの必要性に駆られて、エッジ及びクラウドコンピューティングでの「ジャスト・イン・タイム」利用に進むにつれて、これらのサードパーティサーバはエンドユーザにより近いところに移動する必要がある可能性があり、例えば、エッジ展開の場合、中央局(central office)に配置される必要がある可能性がある。
また、SSAIは十分に適応可能ではない。ユーザが異なる位置の間で移動するとき、或いは、近い将来にコネクテッドカーが、例えば、車が異なる地域を通じて移動する際に後席のユーザのためにビデオをストリーミングするとき、広告挿入は、ターゲットの視聴者(子供、女性等)及び位置(近くのモール広告、食料、ガス割引クーポン等)を考慮に入れて、適応的且つ柔軟的になる必要がある。サードパーティサーバが傍受して広告と共にストリーミングすることは、過度に複雑になる。さらに、法執行機関又は他の当局による緊急通知又は傍受が必要になる可能性がある例があり、広告が無効にされる必要がある。サードパーティサーバはこれに対処できない。
必要とされるものは、既存のシステムよりもユーザに近く柔軟性のあるシステムである。本開示に記載のシステム及び方法は、データセンタインフラストラクチャ、特にネットワークアプライアンスに、サードパーティサーバの代わりに広告挿入を処理させることによって、課題の多くに対処する。ネットワークアプライアンスを使用することは、いくつかの利点を提供する。
ネットワークアプライアンスは、複雑さを低減する。広告マーカーが検出されたときに専用サーバに広告を挿入させる代わりに、これはネットワークアプライアンスによって容易に行われることができる。この理由は、ネットワークアプライアンスがエンドデバイスへのトラフィックを既に処理しているからである。これはまた、専用サーバの必要性及びこれらのサードパーティ企業によって課金される料金を排除することにより、総所有コスト(total cost of ownership, TCO)をかなり低減し、データセンタインフラストラクチャプロバイダにとって収益化の機会を提示する。
ネットワークアプライアンスはまた、よりローカライズされたパーソナライズを提供できる。ネットワークアプライアンスは、本質的に分配されており、エンドユーザにより近くにある。したがって、ネットワークアプライアンスは、広告プロバイダとのフック(hook)を持ち、より多くのパーソナライズされたコンテンツ及び効果的な広告を提供することが可能である。
ネットワークアプライアンスは、集中型サーバのインストールよりも良くスケーリングする。ネットワークアプライアンス及びデータセンタインフラストラクチャは、既にトラフィックの急増に対処しており、設計上これらに対処しなければならない。
ネットワークアプライアンスは、位置認識を提供する。ネットワークアプライアンス(及び基地局)は、携帯電話、コネクテッドカー等のようなモバイルエンドデバイスの位置認識に既に対応している。ネットワークアプライアンスは、適応的/柔軟的な広告挿入に同じように拡張するのに良い位置にある。
したがって、本文書では、コンテンツプロバイダからコンテンツを受信し、広告サーバから広告及び広告ポリシーを受信し、ユーザ追跡データを受信し、ポリシー及び追跡データを使用して、ネットワークアプライアンスを通じて送信される際に或いは通過する際に、パーソナライズされるか或いは焦点の合った広告をコンテンツに挿入し得る、拡張ネットワークアプライアンスデバイスについて説明する。これらの機能及び他の機能について、以下により詳細に説明する。
図1は、「エッジクラウド」として以下の例の多くで参照されている処理のレイヤを含む、エッジコンピューティングのための構成の概要を示すブロック図100である。図示のように、エッジクラウド110は、アクセスポイント又は基地局140、ローカル処理ハブ150又は中央局120のようなエッジ位置に同一配置され、したがって、複数のエンティティ、デバイス及び機器インスタンスを含んでもよい。エッジクラウド110は、クラウドデータセンタ130よりも、エンドポイント(消費者及び生産者)のデータソース160(例えば、自律車両161、ユーザ機器162、ビジネス及び産業機器163、ビデオキャプチャデバイス164、ドローン165、スマートシティ及びビルディングデバイス166、センサ及びIoTデバイス167等)により近くに位置する。エッジクラウド110におけるエッジで提供される計算、メモリ及び記憶リソースは、エンドポイントのデータソース160により使用されるサービス及び機能のために超低遅延の応答時間を提供し、エッジクラウド110からクラウドデータセンタ130へのネットワークバックホールトラフィックを低減するのに重要であり、したがって、他の利点の中でも、エネルギー消費及び全体的なネットワーク利用率を改善する。
計算、メモリ及び記憶は、希少なリソースであり、一般的に、エッジ位置に依存して減少する(例えば、基地局におけるものよりも、中央局におけるものよりも、消費者エンドポイントデバイスにおいて利用可能な処理リソースは少ない)。しかし、エッジ位置がエンドポイント(例えば、ユーザ機器(user equipment, UE))に近いほど、空間及び電力がしばしば制約される。したがって、エッジコンピューティングは、地理的に且つネットワークアクセス時間でより近くに位置するほど多くのリソースを分配することを通じて、ネットワークサービスに必要なリソースの量を低減することを試みる。このように、エッジコンピューティングは、必要に応じて、計算リソースを作業負荷データにもたらすか或いは作業負荷データを計算リソースにもたらすことを試みる。
以下に、複数の潜在的な展開をカバーし、いくつかのネットワークオペレータ又はサービスプロバイダが自身のインフラストラクチャにおいて有し得る制約に対処するエッジクラウドアーキテクチャの側面について説明する。これらは、エッジ位置に基づく構成の変更(例えば、基地局レベルのエッジが、マルチテナントシナリオにおいてより制約された性能及び能力を有し得るため)と、エッジ位置、位置の層又は位置のグループに利用可能な計算、メモリ、記憶、ファブリック、アクセラレーション等のリソースのタイプに基づく構成と、サービス、セキュリティ並びに管理及びオーケストレーション能力と、エンドサービスの可用性及び性能を達成するための関連する目的とを含む。これらの展開は、遅延、距離及びタイミング特性に依存して、「ニアエッジ(near Edge)」レイヤ、「クロースエッジ(close Edge)」レイヤ、「ローカルエッジ(local Edge)」レイヤ、「ミドルエッジ(middle Edge)」レイヤ又は「ファーエッジ(far Edge)」レイヤと考えられ得るネットワークレイヤにおける処理を達成し得る。
エッジコンピューティングは、典型的には、データを生成及び消費するエンドポイントデバイスにより近い基地局、ゲートウェイ、ネットワークルータ又は他のデバイスに実装された計算プラットフォーム(例えば、x86又はARM計算ハードウェアアーキテクチャ)の使用を通じて、ネットワークの「エッジ」において或いは「エッジ」により近くでコンピューティングが実行される展開パラダイムである。例えば、エッジゲートウェイサーバは、接続クライアントデバイスのための低遅延のユースケース(例えば、自動運転又はビデオ監視)についてリアルタイムで計算を実行するために、メモリ及び記憶リソースのプールを備えてもよい。或いは、一例として、基地局は、バックホールネットワークを介してデータを更に通信することなく、接続ユーザデバイスのためのサービス作業負荷を直接処理するために、計算及びアクセラレーションリソースで拡張されてもよい。或いは、他の例として、中央局のネットワーク管理ハードウェアは、仮想化ネットワーク機能を実行して接続デバイスのためにサービス及び消費者機能の実行のための計算リソースを提供する標準化計算ハードウェアに置き換えられてもよい。エッジコンピューティングネットワーク内では、計算リソースがデータに「移動」されるサービスにおけるシナリオと、データが計算リソースに「移動」されるシナリオとが存在し得る。或いは、一例として、基地局の計算、アクセラレーション及びネットワークリソースは、めったに発生しない厄介なケース(corner cases)、緊急事態を管理するために、或いは、かなり長い実施ライフサイクルに渡って展開リソースの長寿命化を提供するために、休止キャパシティ(サブスクリプション、オンデマンドのキャパシティ)をアクティベートすることにより、必要に応じて作業負荷需要をスケーリングするようにサービスを提供できる。
図2は、エンドポイント、エッジクラウド及びクラウドコンピューティング環境の間の動作レイヤを示す。具体的には、図2は、ネットワークコンピューティングの複数の例示的なレイヤの間でエッジクラウド110を利用する計算ユースケース205の例を示す。レイヤは、データ作成、解析及びデータ消費活動を行うためにエッジクラウド110にアクセスするエンドポイント(デバイス及びモノ)レイヤ200で始まる。エッジクラウド110は、複数のネットワークレイヤ、例えば、物理的に近接したエッジシステムに位置するゲートウェイ、オンプレミスサーバ又はネットワーク機器(ノード215)を有するエッジデバイスレイヤ210;基地局、無線処理ユニット、ネットワークハブ、地域データセンタ(data center, DC)又はローカルネットワーク機器(機器225)を含むネットワークアクセスレイヤ220;これらの間に位置するいずれかの機器、デバイス又はノード(レイヤ212、詳細には図示せず)にまたがってもよい。エッジクラウド110内及び様々なレイヤの間のネットワーク通信は、図示しない接続アーキテクチャ及び技術を介するものを含み、いずれかの数の有線又は無線媒体を介して行なわれてもよい。
ネットワーク通信距離及び処理時間の制約から生じる遅延の例は、エンドポイントレイヤ200の中ではミリ秒(ms)未満、エッジデバイスレイヤ210では5ms未満、ネットワークアクセスレイヤ220におけるノードと通信する場合には10~40msにすらなる範囲になり得る。エッジクラウド110の外側には、コアネットワーク230及びクラウドデータセンタ240のレイヤがあり、それぞれ遅延を増加させる(例えば、コアネットワークレイヤ230では50~60msの間、クラウドデータセンタのレイヤでは100ms以上)。その結果、コアネットワークデータセンタ235又はクラウドデータセンタ245における、少なくとも50~100ms以上の遅延を有する動作は、ユースケース205の多くの時間クリティカルな機能を達成できない。これらの遅延値のそれぞれは、例示及び対比の目的のために提供されており、他のアクセスネットワーク媒体及び技術の使用が遅延を更に低減し得ることが理解される。いくつかの例では、ネットワークの各部分は、ネットワーク送信元及び宛先に関して、「クロースエッジ」レイヤ、「ローカルエッジ」レイヤ、「ニアエッジ」レイヤ、「ミドルエッジ」レイヤ又は「ファーエッジ」レイヤとして分類されてもよい。例えば、コアネットワークデータセンタ235又はクラウドデータセンタ245の観点から、中央局又はコンテンツデータネットワークは、「ニアエッジ」レイヤ(クラウドに対して「ニア」にあり、ユースケース205のデバイス及びエンドポイントと通信する際に高い遅延値を有する)内に位置すると考えられてもよいが、アクセスポイント、基地局、オンプレミスサーバ又はネットワークゲートウェイは、「ファーエッジ」レイヤ(クラウドから「ファー」にあり、ユースケース205のデバイス及びエンドポイントと通信する際に低い遅延値を有する)内に位置すると考えられてもよい。「クロース」、「ローカル」、「ニア」、「ミドル」又は「ファー」エッジを構成するときの特定のネットワークレイヤの他の分類は、ネットワークレイヤ200~240のいずれかにおける送信元から測定される遅延、距離、ネットワークホップ数又は他の測定可能な特性に基づいてもよいことが理解される。
様々なユースケース205は、複数のサービスがエッジクラウドを利用するので、入来するストリームからの使用圧力の下でリソースにアクセスしてもよい。低遅延で結果を達成するために、エッジクラウド110内で実行されるサービスは、(a)優先度(スループット又は遅延)及びサービス品質(Quality of Service, QoS)(例えば、自律自動車についてのトラフィックは、応答時間要件に関して温度センサよりも高い優先度を有してもよく、或いは、アプリケーションに依存して、計算/アクセラレータ、メモリ、記憶又はネットワークリソースにおいて性能感度/ボトルネックが存在してもよい)、(b)信頼性及び弾性(例えば、いくつかの入力ストリームはミッションクリティカルな信頼性で作用され、トラフィックがルーティングされる必要があるが、いくつかの他の入力ストリームは、アプリケーションに依存して、時折の障害を許容してもよい)及び(c)物理的制約(例えば、電力、冷却及び形状因子)に関する様々な要件をバランスさせる。
これらのユースケースについてのエンドツーエンドのサービスビューは、サービスフローの概念を含み、トランザクションに関連する。トランザクションは、サービスを消費するエンティティについての全体的なサービス要件と、リソース、作業負荷、作業フロー並びにビジネス機能及びビジネスレベルの要件についての関連するサービスとを詳述する。記述された「条件」で実行されるサービスは、サービスのライフサイクルの間のトランザクションについてリアルタイムでランタイムの契約遵守を保証するように、各レイヤにおいて管理されてもよい。トランザクションにおける或るコンポーネントがその合意されたSLAを満たしていない場合、全体としてのシステム(トランザクションにおけるコンポーネント)は、(1)SLA違反の影響を理解し、(2)全体的なトランザクションSLAを回復するためにシステム内の他のコンポーネントを増強し、(3)修正するためのステップを実施するための能力を提供してもよい。
したがって、これらのバリエーション及びサービス機能を念頭に置くと、エッジクラウド110内のエッジコンピューティングは、リアルタイム又はほぼリアルタイムでユースケース205の複数のアプリケーション(例えば、オブジェクト追跡、ビデオ監視、コネクテッドカー等)にサービス提供して応答し、これらの複数のアプリケーションについての超低遅延要件を満たす能力を提供し得る。これらの利点は、遅延又は他の制限のため従来のクラウドコンピューティングを利用できない全く新しいクラスのアプリケーション(仮想ネットワーク機能(Virtual Network Function, VNF)、サービスとしての機能(Function as a Service, FaaS)、サービスとしてのエッジ(Edge as a Service, EaaS)、標準プロセス等)を可能にする。
しかし、エッジコンピューティングの利点には、以下の注意点がある。エッジに位置するデバイスは、しばしばリソースが制約され、したがって、エッジリソースの使用に圧力がかかる。典型的には、これは、複数のユーザ(テナント)及びデバイスによって使用されるためのメモリ及び記憶リソースのプールを通じて対処される。エッジは、電力及び冷却が制約される可能性があり、したがって、電力使用は、最も電力を消費しているアプリケーションによって占められる必要がある。これらのプールされたメモリリソースの多くは、より多くの電力がより大きいメモリ帯域幅を必要とする新興のメモリ技術を使用する可能性が高いので、これらのプールされたメモリリソースには固有の電力と性能とのトレードオフが存在する可能性がある。同様に、エッジ位置が無人である可能性があり、(例えば、サードパーティ位置に収容されている場合には)許可されたアクセスを必要とする可能性さえあるので、ハードウェアの改善されたセキュリティ及び信頼のある機能の信頼ルートも必要とされる。このような問題は、サービス及びアプリケーションが多数のユーザによって要求されるマルチテナント、マルチオーナー又はマルチアクセス設定において、エッジクラウド110において拡大される。この理由は、特に、ネットワーク使用が動的に変動し、複数のステークホルダ、ユースケース及びサービスの組成が変化するからである。
より一般的なレベルでは、エッジコンピューティングシステムは、クライアント及び分散コンピューティングデバイスからの協調を提供する、エッジクラウド110内で動作する上記のレイヤ(ネットワークレイヤ200~240)におけるいずれかの数の展開を包含するように記載されてもよい。1つ以上のエッジゲートウェイノード、1つ以上のエッジ集約ノード及び1つ以上のコアデータセンタは、ネットワークのレイヤの間に分散され、電気通信サービスプロバイダ(「電話会社」又は「TSP(telecommunication service provider)」)、モノのインターネットサービスプロバイダ、クラウドサービスプロバイダ(cloud service provider, CSP)、企業エンティティ又は他のいずれかの数のエンティティによって或いはこれらの代わりに、エッジコンピューティングシステムの実装を提供してもよい。エッジコンピューティングシステムの様々な実装及び構成は、サービス目標を満たすようにオーケストレーションされる場合のように、動的に提供されてもよい。
本明細書において提供される例に従って、クライアント計算ノードは、データの生産者又は消費者として通信できるいずれかのタイプのエンドポイントコンポーネント、デバイス、アプライアンス、又は他のものとして具現されてもよい。さらに、エッジコンピューティングシステムにおいて使用されるラベル「ノード」又は「デバイス」は、必ずしもこのようなノード又はデバイスがクライアント又はエージェント/ミニオン/フォロワーの役割で動作することを意味するのではなく、むしろ、エッジコンピューティングシステムにおけるノード又はデバイスのいずれかが、エッジクラウド110を促進又は使用するための離散的な或いは接続されたハードウェア又はソフトウェア構成を含む個々のエンティティ、ノード又はサブシステムを示す。
したがって、エッジクラウド110は、ネットワークレイヤ210~230の間で、エッジゲートウェイノード、エッジ集約ノード又は他のエッジ計算ノードによってその内部で動作が行われるネットワークコンポーネント及び機能的特徴から形成される。したがって、エッジクラウド110は、本明細書に記載の無線アクセスネットワーク(radio access network, RAN)可能なエンドポイントデバイス(例えば、モバイルコンピューティングデバイス、IoTデバイス、スマートデバイス等)に近接して位置するエッジコンピューティング及び/又は記憶リソースを提供するいずれかのタイプのネットワークとして具現されてもよい。言い換えると、エッジクラウド110は、エンドポイントデバイスと、従来のネットワークアクセスポイントとを接続する「エッジ」として想定されてもよい。従来のネットワークアクセスポイントは、記憶及び/又は計算能力も提供しつつ、モバイルキャリアネットワーク(例えば、GSM(Global System for Mobile Communications)ネットワーク、LTE(Long-Term Evolution)ネットワーク、5G/6Gネットワーク等)を含むサービスプロバイダコアネットワークへの入口点として機能する。他のタイプ及び形式のネットワークアクセス(例えば、Wi-Fi、光ネットワークを含む長距離無線、有線ネットワーク)もまた、このような3GPP(登録商標)キャリアネットワークの代わりに或いはこれと組み合わせて利用されてもよい。
エッジクラウド110のネットワークコンポーネントは、サーバ、マルチテナントサーバ、アプライアンスコンピューティングデバイス及び/又はいずれかの他のタイプのコンピューティングデバイスでもよい。例えば、エッジクラウド110は、ハウジング、シャーシ、ケース又はシェルを含む自己完結型の電子デバイスであるアプライアンスコンピューティングデバイスを含んでもよい。いくつかの状況では、ハウジングは、人によって持ち運びできるように、及び/又は輸送されることができるように、可搬性について寸法決めされてもよい。例示的なハウジングは、アプライアンスの内容物を部分的又は完全に保護する1つ以上の外面を形成する材料を含んでもよく、保護は、天候保護、危険な環境保護(例えば、EMI、振動、極端な温度)を含み、及び/又は水に沈めるのを可能にすることを含んでもよい。例示的なハウジングは、AC電力入力、DC電力入力、AC/DC又はDC/ACコンバータ、電力レギュレータ、変圧器、充電回路、バッテリ、有線入力及び/又は無線電力入力のような、静止型及び/又はポータブル実装のための電力を提供するための電力回路を含んでもよい。例示的なハウジング及び/又はその表面は、建物、電気通信構造(例えば、ポール、アンテナ構造等)及び/又はラック(例えば、サーバラック、ブレードマウント等)のような構造への取り付けを可能にするために、取り付けハードウェアを含んでもよく或いは取り付けハードウェアに接続してもよい。例示的なハウジング及び/又はその表面は、1つ以上のセンサ(例えば、温度センサ、振動センサ、光センサ、音響センサ、容量性センサ、近接センサ等)を支持してもよい。1つ以上のこのようなセンサは、アプライアンスの表面に含まれてもよし、表面によって担持されてもよく、或いは別法で表面に埋め込まれてもよく、及び/又は表面に取り付けられてもよい。例示的なハウジング及び/又はその表面は、推進ハードウェア(例えば、ホイール、プロペラ等)及び/又は関節式ハードウェア(例えば、ロボットアーム、旋回可能な付属物等)のような機械的接続を支持してもよい。いくつかの状況では、センサは、ユーザインタフェースハードウェア(例えば、ボタン、スイッチ、ダイヤル、スライダ等)のようないずれかのタイプの入力デバイスを含んでもよい。いくつかの状況では、例示的なハウジングは、その中に含まれるか、その中に担持されるか、その中に埋め込まれるか、及び/又はそれに取り付けられる出力デバイスを含む。出力デバイスは、ディスプレイ、タッチスクリーン、ライト、LED、スピーカー、I/Oポート(例えば、USB)等を含んでもよい。いくつかの状況では、エッジデバイスは、特定の目的(例えば、交通信号)のためにネットワークにおいて提示されるデバイスであるが、他の目的のために利用され得る処理及び/又は他のキャパシティを有してもよい。このようなエッジデバイスは、他のネットワーク接続デバイスから独立してもよく、その主な目的に適した形状因子を有するハウジングを備えてもよく、さらに、その主なタスクに干渉しない他の計算タスクに利用可能であってもよい。エッジデバイスは、モノのインターネットデバイスを含む。アプライアンスコンピューティングデバイスは、デバイス温度、振動、リソース利用、更新、電力問題、物理的及びネットワークセキュリティ等のような局所的な問題を管理するためのハードウェア及びソフトウェアコンポーネントを含んでもよい。アプライアンスコンピューティングデバイスを実装するための例示的なハードウェアについて、図6Bに関して説明する。エッジクラウド110はまた、1つ以上のサーバ及び/又は1つ以上のマルチテナントサーバを含んでもよい。このようなサーバは、オペレーティングシステムを含んでもよく、仮想コンピューティング環境を実現してもよい。仮想コンピューティング環境は、1つ以上の仮想マシン、1つ以上のコンテナ等を管理(発生(spawning)、展開、破棄等)するハイパーバイザを含んでもよい。このような仮想コンピューティング環境は、1つ以上のアプリケーション及び/又は他のソフトウェア、コード又はスクリプトが、1つ以上の他のアプリケーション、ソフトウェア、コード又はスクリプトから隔離されている間に実行し得る実行環境を提供する。
図3において、様々なクライアントエンドポイント310(モバイルデバイス、コンピュータ、自律ビークル、ビジネスコンピューティングデバイス、産業用処理機器の形式のもの)は、エンドポイントネットワーク集約のタイプに特有の要求及び応答を交換する。例えば、クライアントエンドポイント310は、オンプレミスネットワークシステム332を通じて要求及び応答322を交換することによって、有線ブロードバンドネットワークを介してネットワークアクセスを取得してもよい。モバイルコンピューティングデバイスのようないくつかのクライアントエンドポイント310は、アクセスポイント(例えば、セルラネットワークタワー)334を通じて要求及び応答324を交換することによって、無線ブロードバンドネットワークを介してネットワークアクセスを取得してもよい。自律ビークルのようないくつかのクライアントエンドポイント310は、街頭に位置するネットワークシステム336を通じて、無線車両ネットワークを介して要求及び応答326のためのネットワークアクセスを取得してもよい。しかし、ネットワークアクセスのタイプにかかわらず、TSPは、トラフィック及び要求を集約するために、エッジクラウド110内に集約ポイント342、344を展開してもよい。したがって、エッジクラウド30内で、TSPは、要求されたコンテンツを提供するために、エッジ集約ノード340におけるもののような、様々な計算及び記憶リソースを展開してもよい。エッジ集約ノード340及びエッジクラウド30の他のシステムは、クラウド又はデータセンタ360に接続され、クラウド又はデータセンタ360は、ウェブサイト、アプリケーション、データベースサーバ等のためのクラウド/データセンタからのより高い遅延要求を満たすために、バックホールネットワーク350を使用する。エッジ集約ノード340及び集約ポイント342、344の更なるインスタンス又は統合されたインスタンスは、単一のサーバフレームワーク上に展開されるものを含めて、エッジクラウド110又はTSPインフラストラクチャの他の領域内にも存在してもよい。
図4は、複数のエッジノード及び複数のテナント(例えば、ユーザ、プロバイダ)の間で動作が行われるエッジコンピューティングシステムを横切る仮想化されたコンテナベースのエッジ構成についての展開及びオーケストレーションを示す。具体的には、図4は、様々な仮想エッジインスタンスにアクセスする様々なクライアントエンドポイント410(例えば、スマートシティ/ビルディングシステム、モバイルデバイス、コンピューティングデバイス、ビジネス/ロジスティクスシステム、産業システム等)についての要求及び応答を満たすための、エッジコンピューティングシステム400における第1のエッジノード422及び第2のエッジノード424の協調を示す。ここで、仮想エッジインスタンス432、434は、ウェブサイト、アプリケーション、データベースサーバ等のためのより高い遅延要求のためにクラウド/データセンタ340にアクセスして、エッジクラウドにおいてエッジ計算能力及び処理を提供する。しかし、エッジクラウドは、複数のテナント又はエンティティのための複数のエッジノードの間での処理の協調を可能にする。
図4の例では、これらの仮想エッジインスタンスは、エッジ記憶、コンピューティング及びサービスの第1の組み合わせを提供する第1のテナント(テナント1)に提供される第1の仮想エッジ432と、エッジ記憶、コンピューティング及びサービスの第2の組み合わせを提供する第2の仮想エッジ434とを含む。仮想エッジインスタンス432、434は、エッジノード422、424の間に分散され、要求及び応答が同じ或いは異なるエッジノードから満たされるシナリオを含んでもよい。分散されているが協調した様式で動作するようなエッジノード422、424の構成は、エッジプロビジョニング機能450に基づいて行なわれる。複数のテナントの間で、アプリケーション及びサービスのための協調した動作を提供するためのエッジノード422、424の機能は、オーケストレーション機能460に基づいて行われる。
410内のデバイスのいくつかは、テナント1がテナント1「スライス」内で機能する一方で、テナント2がテナント2スライス内で機能するマルチテナントデバイスであることが理解されるべきである(更なる例では、更なるテナント又はサブテナントが存在してもよく、各テナントは、特定のハードウェア機能に至るまで、特に権限を与えられ、トランザクション上、特定の機能セットに結びつけられることさえあってもよい)。信頼されtaマルチテナントデバイスは、テナント固有の暗号鍵を更に含んでもよく、それにより、鍵とスライスとの組み合わせが「信頼のルート」(root of trust, RoT)又はテナント固有のRoTと考えられてもよい。さらに、RoTは、DICE(Device Identity Composition Engine)アーキテクチャを使用して動的に計算されて構成されてもよく、それにより、デバイス能力のレイヤ構成のためのレイヤ構成の信頼されたコンピューティングベースコンテキストを構築するために、単一のDICEハードウェア構築ブロックが使用されてもよい(フィールドプログラマブルゲートアレイ(Field Programmable Gate Array, FPGA)等)。RoTは、信頼されたコンピューティングコンテキストがマルチテナント性をサポートするために有用な「ファンアウト(fan-out)」を可能にするために更に使用されてもよい。マルチテナント環境内で、それぞれのエッジノード422、424は、ノード毎に複数のテナントに割り当てられるローカルリソースについてのセキュリティ機能強制ポイントとして動作してもよい。さらに、テナントのランタイム及びアプリケーション実行(例えば、インスタンス432、434におけるもの)は、潜在的に複数の物理ホスティングプラットフォームにまたがるリソースの仮想エッジ抽象化を作成するセキュリティ機能のための強制ポイントとして機能してもよい。最後に、オーケストレーションエンティティにおけるオーケストレーション機能460は、テナント境界に沿ってリソースを整列させる(marshalling)ためのセキュリティ機能強制ポイントとして動作してもよい。
エッジコンピューティングノードは、リソース(メモリ、中央処理装置(central processing unit, CPU)、グラフィックス処理装置(graphics processing unit, GPU)、割り込みコントローラ、入出力(input/output, I/O)コントローラ、メモリコントローラ、バスコントローラ等)を分割してもよく、それぞれの分割部分は、RoT能力を含んでもよく、DICEモデルによるファンアウト及びレイヤ構成がエッジノードに更に適用されてもよい。クラウドコンピューティングノードは、それぞれについてのRoTコンテキストをサポートするようにDICEレイヤ構成及びファンアウト構造に従って分割され得るコンテナ、FaaSエンジン、サーブレット、サーバ又は他の計算抽象化をしばしば使用する。したがって、デバイス410、422及び440にまたがるそれぞれのRoTは、全ての要素をエンドツーエンドでリンクするテナント固有の仮想的な信頼された安全なチャネルが確立できるように、分散信頼コンピューティングベース(distributed trusted computing base, DTCB)の確立を協調させてもよい。
さらに、コンテナは、以前のエッジノードからそのコンテンツを保護するデータ又は作業負荷固有の鍵を有してもよいことが理解される。コンテナのマイグレーションの一部として、ソースエッジノードにおけるポッドコントローラは、ターゲットエッジノードのポッドコントローラからマイグレーション鍵を取得してもよく、マイグレーション鍵は、コンテナ固有の鍵をラップする(wrap)ために使用される。コンテナ/ポッドがターゲットエッジノードにマイグレーションされると、ラップされていない鍵がポッドコントローラに対して公開され、次いで、ポッドコントローラがラップされた鍵を解読する。この時点で、鍵は、コンテナ固有のデータに対する動作を実行するために使用されてもよい。マイグレーション機能は、適切に認証されたエッジノード及び(上記の)ポッドマネージャによってゲートされてもよい。
更なる例では、エッジコンピューティングシステムは、マルチオーナー、マルチテナント環境におけるコンテナ(コード及び必要な依存性を提供するソフトウェアの収容された展開可能なユニット)の使用を通じて、複数のアプリケーションのオーケストレーションを提供するように拡張される。マルチテナントオーケストレータは、図4の信頼された「スライス」の概念のプロビジョニング及びライフサイクルに関連する鍵管理、信頼アンカー管理及び他のセキュリティ機能を実行するために使用されてもよい。例えば、エッジコンピューティングシステムは、複数の仮想エッジインスタンスから(且つ、クラウド又はリモートのデータセンタから)の様々なクライアントエンドポイントについて要求及び応答を満たすように構成されてもよい。これらの仮想エッジインスタンスの使用は、複数のテナント及び複数のアプリケーション(例えば、拡張現実(augmented reality, AR)/仮想現実(virtual reality, VR)、企業アプリケーション、コンテンツ配信、ゲーム、計算オフロード)を同時にサポートしてもよい。さらに、仮想エッジインスタンス内に複数のタイプのアプリケーション(例えば、通常のアプリケーション、遅延に敏感なアプリケーション、遅延にクリティカルなアプリケーション、ユーザプレーンのアプリケーション、ネットワーキングアプリケーション等)が存在してもよい。仮想エッジインスタンスはまた、異なる地理的位置おける複数の所有者のシステム(又は複数の所有者によって共同所有若しくは共同管理されるそれぞれのコンピューティングシステム及びリソース)にまたがってもよい。
例えば、各エッジノード422、424は、1つ以上のコンテナのグループを提供するコンテナ「ポッド」426、428の使用等によって、コンテナの使用を実装してもよい。1つ以上のコンテナポッドを使用する設定において、ポッドコントローラ又はオーケストレータは、ポッド内のコンテナのローカル制御及びオーケストレーションを担う。それぞれのエッジスライス432、434について提供される様々なエッジノードリソース(例えば、六角形で描かれている記憶、計算、サービス)は、各コンテナのニーズに従って分割される。
コンテナポッドの使用によって、ポッドコントローラは、コンテナ及びリソースの分割及び割り当てを監督する。ポッドコントローラは、SLA契約に基づくキーパフォーマンス指標(key performance indicator, KPI)ターゲットを受信することによって、物理リソースをどのように、どのくらいの継続時間で分割するのが最良かについてコントローラに命令するオーケストレータ(例えば、オーケストレータ460)からの命令を受信する。ポッドコントローラは、作業負荷を完了してSLAを満たすために、どのコンテナがどのリソースをどのくらいの期間に必要とするかを決定する。ポッドコントローラはまた、コンテナの作成、リソース及びアプリケーションのプロビジョニング、分散アプリケーションに対して一緒に動作する複数のコンテナの間の中間結果の調整、作業負荷が完了したときのコンテナの解体等のように、コンテナライフサイクル動作を管理する。さらに、ポッドコントローラは、正しいテナント認証までリソースの割り当てを防止するか、或いは、認証結果が満たされるまでコンテナへのデータ又は作業負荷のプロビジョニングを防止するセキュリティの役割を果たしてもよい。
また、コンテナポッドの使用によって、テナント境界は依然として存在し得るが、コンテナの各ポッドのコンテキストに存在し得る。それぞれのテナント固有のポッドがテナント固有のポッドコントローラを有する場合、典型的なリソーススターベーション状況を回避するためにリソース割り当て要求を統合する共有ポッドコントローラが存在する。ポッド及びポッドコントローラの認証及び信頼性を確保するために、更なる制御が提供されてもよい。例えば、オーケストレータ460は、認証検証を実行するローカルなポッドコントローラに認証検証ポリシーをプロビジョニングしてもよい。認証が、第1のテナントのポッドコントローラについてのポリシーを満たすが、第2のテナントのポッドコントローラについてのポリシーを満たさない場合、第2のポッドは、それを満たす異なるエッジノードにマイグレーションされてもよい。或いは、第1のポッドが実行するのを許容されてもよく、第2のポッドが実行する前に、異なる共有ポッドコントローラがインストールされて呼び出される。
図5は、エッジコンピューティングシステムにおいてコンテナを展開する更なる計算構成を示す。簡略化された例として、システム構成510、520は、ポッドコントローラ(例えば、コンテナマネージャ511、521及びコンテナオーケストレータ531)が、計算ノード(構成510における515)を介した実行を通じて、コンテナ化されたポッド、機能及びサービスとしての機能のインスタンスを起動するように、或いは、計算ノード(構成520における523)を介した実行を通じて、コンテナ化された仮想化ネットワーク機能を別々に実行するように適合された設定を示す。この構成は、システム構成530(計算ノード536を使用する)における複数のテナントの使用のために適合されており、コンテナ化されたポッド(例えば、ポッド512)、機能(例えば、機能513、VNF 522、536)及びサービスとしての機能のインスタンス(例えば、FaaSインスタンス514)が、それぞれのテナントに固有の仮想マシン(例えば、テナント532、533についてのVM 534、535)内で起動される(仮想化ネットワーク機能の実行は除く)。この構成は、コンテナベースのオーケストレーションシステム541によって協調されるように、計算ノード544上でコンテナ542、543又は様々な機能、アプリケーション及び関数の実行を提供するシステム構成540での使用のために更に適合される。
図5に示すシステム構成は、VM、コンテナ及び機能をアプリケーション組成に関して等しく扱うアーキテクチャを提供する(結果のアプリケーションは、これらの3つの成分(ingredient)の組み合わせである)。各成分は、ローカルバックエンドとして1つ以上のアクセラレータ(FPGA、ASIC)コンポーネントの使用を伴ってもよい。このように、アプリケーションは、オーケストレータによって協調されて、複数のエッジ所有者を横切って分割できる。
図5のコンテキストでは、ポッドコントローラ/コンテナマネージャ、コンテナオーケストレータ及び個々のノードは、セキュリティ実施ポイントを提供してもよい。しかし、テナント隔離がオーケストレーションされてもよく、或るテナントに割り当てられたリソースは、第2のテナントに割り当てられたリソースとは異なるが、エッジ所有者は、リソース割り当てがテナントの境界を越えて共有されないように協調する。或いは、テナントは、サブスクリプション、トランザクション/契約ベースを介して「使用」を許可することができるので、リソース割り当てはテナント境界を越えて隔離されてもよい。これらのコンテキストでは、仮想化、コンテナ化、エンクレーブ(enclave)及びハードウェア分割方式が、テナント性(tenancy)を実施するためにエッジ所有者によって使用されてもよい。他の隔離環境は、ベアメタル(専用)機器、仮想マシン、コンテナ、コンテナ上の仮想マシン又はこれらの組み合わせを含んでもよい。
更なる例では、ソフトウェア定義又は制御のシリコンハードウェア及び他の構成可能なハードウェアの側面は、エッジコンピューティングシステムをアプリケーション、機能及びサービスと統合してもよい。ソフトウェア定義シリコン(Software defined silicon, SDSi)は、いくつかのリソース又はハードウェア成分が、(例えば、ハードウェア構成自体の中でのアップグレード、再構成又は新機能の提供によって)自分自身又は作業負荷の一部を修正するその成分の能力に基づいて契約又はサービスレベル合意を満たすための能力を確保するために使用されてもよい。
更なる例では、ここでのエッジコンピューティングシステム及び環境を参照して議論された計算ノード又はデバイスのいずれかは、図6A及び6Bに示すコンポーネントに基づいて実施されてもよい。それぞれのエッジ計算ノードは、デバイス、アプライアンス、コンピュータ、又は他のエッジ、ネットワーキング若しくはエンドポイントコンポーネントと通信できる他の「モノ」のタイプとして具現されてもよい。例えば、エッジコンピューティングデバイスは、パーソナルコンピュータ、サーバ、スマートフォン、モバイル計算デバイス、スマートアプライアンス、車載計算システム(例えば、ナビゲーションシステム)、外装ケース、シェル等を有する自己完結型デバイス、又は記載の機能を実行できる他のデバイス若しくはシステムとして具現されてもよい。
図6Aに示す簡略化された例では、エッジ計算ノード600は、計算エンジン(本明細書では「計算回路」とも呼ばれる)602、入出力(I/O)サブシステム(本明細書では「I/O回路」とも呼ばれる)608、データストレージ(本明細書では「データ記憶回路」とも呼ばれる)610、通信回路サブシステム612、及び任意選択で1つ以上の周辺デバイス(本明細書では「周辺デバイス回路」とも呼ばれる)614を含む。他の例では、それぞれの計算デバイスは、コンピュータにおいて典型的に見られるもの(例えば、ディスプレイ、周辺デバイス等)のように、他のコンポーネント又は更なるコンポーネントを含んでもよい。さらに、いくつかの例では、例示的なコンポーネントの1つ以上は、他のコンポーネントに組み込まれてもよく、或いは、別法で他のコンポーネントの一部を形成してもよい。
計算ノード600は、様々な計算機能を実行できるいずれかのタイプのエンジン、デバイス又はデバイスの集合として具現されてもよい。いくつかの例では、計算ノード600は、集積回路、埋め込みシステム、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、システムオンチップ(system-on-a-chip, SOC)又は他の集積システム若しくはデバイスのような単一のデバイスとして具現されてもよい。例示的な例では、計算ノード600は、プロセッサ(本明細書では「プロセッサ回路」とも呼ばれる)604及びメモリ(本明細書では「メモリ回路」とも呼ばれる)606を含むか或いはこれらとして具現される。プロセッサ604は、本明細書に記載の機能を実行できる(例えば、アプリケーションを実行できる)いずれかのタイプのプロセッサとして具現されてもよい。例えば、プロセッサ604は、マルチコアプロセッサ、マイクロコントローラ、処理ユニット、特化された或いは特殊目的の処理ユニット、又は他のプロセッサ若しくは処理/制御回路として具現されてもよい。
いくつかの例では、プロセッサ604は、FPGA、特定用途向け集積回路(application specific integrated circuit, ASIC)、再構成可能ハードウェア若しくはハードウェア回路、又は本明細書に記載の機能の実行を容易にするための他の特化されたハードウェアとして具現されてもよく、これらを含んでもよく、或いは、これらに結合されてもよい。また、いくつかの例では、プロセッサ604は、データ処理ユニット(data processing unit, DPU)、インフラストラクチャ処理ユニット(infrastructure processing unit, IPU)又はネットワーク処理ユニット(network processing unit, NPU)としても知られる特化されたx-処理ユニット(x-processing unit, xPU)として具現されてもよい。このようなxPUは、スタンドアローン回路又は回路パッケージとして具現されてもよく、SOC内に統合されてもよく、或いは、(例えば、SmartNIC又は拡張SmartNICにおいて)ネットワーキング回路、アクセラレーション回路、記憶デバイス、記憶ディスク又はAIハードウェア(例えば、GPU又はプログラムされたFPGA)と統合されてもよい。このようなxPUは、CPU又は汎用処理ハードウェアの外部で、1つ以上のデータストリームを処理し、データストリームのための特定のタスク及びアクション(マイクロサービスのホスティング、サービス管理又はオーケストレーションの実行、サーバ又はデータセンタハードウェアの組織化又は管理、サービスメッシュの管理、又はテレメトリの収集及び分配等)を実行するためのプログラミングを受信、獲得及び/又は別法で取得するように設計されてもよい。しかし、プロセッサ604のxPU、SOC、CPU及び他のバリエーションは、互いに協調して動作して、計算ノード600内で、その代わりに多くのタイプの演算及び命令を実行してもよいことが理解される。
メモリ606は、本明細書に記載の機能を実行できるいずれかのタイプの揮発性(例えば、ダイナミックランダムアクセスメモリ(dynamic random access memory, DRAM)等)又は不揮発性メモリ又はデータストレージとして具現されてもよい。揮発性メモリは、媒体によって記憶されたデータの状態を維持するために電力を必要とする記憶媒体でもよい。揮発性メモリの非限定的な例は、DRAM又はスタティックランダムアクセスメモリ(static random access memory, SRAM)のような様々なタイプのランダムアクセスメモリ(random access memory, RAM)を含んでもよい。メモリモジュールにおいて使用され得るDRAMの1つの特定のタイプは、シンクロナスダイナミックランダムアクセスメモリ(synchronous dynamic random access memory, SDRAM)である。
一例では、メモリデバイス(例えば、メモリ回路)は、NAND又はNOR技術に基づくもの(例えば、シングルレベルセル(Single-Level Cell, SLC)、マルチレベルセル(Multi-Level Cell, MLC)、クワッドレベルセル(Quad-Level Cell, QLC)、トライレベルセル(Tri-Level Cell, TLC)又は他のNAND)のようないずれかの数のブロックアドレス指定可能なメモリデバイスである。いくつかの例では、メモリデバイスは、バイトアドレス指定可能なその場書き込み式の(write-in-place)三次元クロスポイントメモリデバイス、又は単一若しくはマルチレベル相変化メモリ(Phase Change Memory, PCM)若しくはスイッチ付き相変化メモリ(phase change memory with a switch, PCMS)のような他のバイトアドレス指定可能なその場書き込み式の不揮発性メモリ(non-volatile memory, NVM)デバイス、カルコゲナイド相変化材料(例えば、カルコゲナイドガラス)を使用するNVMデバイス、金属酸化物ベース、酸素空孔ベース及び導電性ブリッジランダムアクセスメモリ(Conductive Bridge Random Access Memory, CB-RAM)を含む抵抗変化メモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ(ferroelectric transistor random access memory, FeTRAM)、メモリスタ技術を組み込んだ磁気抵抗ランダムアクセスメモリ(magneto resistive random access memory, MRAM)、スピン移行トルク(spin transfer torque, STT)MRAM、スピントロニック磁気接合メモリベースのデバイス、磁気トンネリング接合(magnetic tunneling junction, MTJ)ベースのデバイス、DW(Domain Wall)及びSOT(Spin Orbit Transfer)ベースのデバイス、サイリスタベースのメモリデバイス、上記のいずれかの組み合わせ、又は他の適切なメモリを含む。メモリデバイスはまた、三次元クロスポイントメモリデバイス(例えば、Intel(登録商標)3D XPoint(商標)メモリ)又は他のバイトアドレス指定可能なその場書き込み式の(write-in-place)不揮発性メモリデバイスをも含んでもよい。メモリデバイスは、ダイ自体及び/又はパッケージ化されたメモリ製品を示してもよい。いくつかの例では、3Dクロスポイントメモリ(例えば、Intel(登録商標)3D XPoint(商標)メモリ)は、メモリセルがワード線とビット線との交点に位置し、個々にアドレス指定可能であり、ビット記憶がバルク抵抗の変化に基づくトランジスタのないスタッカブルなクロスポイントアーキテクチャを含んでもよい。いくつかの例では、メモリ606の全部又は一部がプロセッサ604に統合されてもよい。メモリ606は、1つ以上のアプリケーション、アプリケーションによって操作されるデータ、ライブラリ及びドライバのように、動作中に使用される様々なソフトウェア及びデータを記憶してもよい。
いくつかの例では、抵抗ベース及び/又はトランジスタのないメモリアーキテクチャは、或る量の相変化材料が少なくとも2つの電極の間に存在するナノメートルスケールの相変化メモリ(phase-change memory, PCM)デバイスを含む。例示的な相変化材料の一部は、異なる程度の結晶相及びアモルファス相を示し、その中で、少なくとも2つの電極の間の異なる程度の抵抗が測定できる。いくつかの例では、相変化材料はカルコゲニド系ガラス材料である。このような抵抗性メモリデバイスは、場合によっては、以前にそれらを通って流れた電流の履歴を記憶するメモリスティブデバイス(memristive device)と呼ばれる。記憶されたデータは、電気抵抗を測定することによって例示的なPCMデバイスから取り出され、その中で、結晶相は、比較的高い抵抗値を有するアモルファス相(例えば、論理「1」)と比較して、比較的低い抵抗値(例えば、論理「0」)を示す。
例示的なPCMデバイスは、長期間(例えば、室温で約10年)データを記憶する。例示的なPCMデバイスへの書き込み動作(例えば、論理「0」への設定、論理「1」への設定、中間抵抗値への設定)は、1つ以上の電流パルスを少なくとも2つの電極に印加することによって達成され、パルスは特定の電流の大きさ及び持続時間を有する。例えば、少なくとも2つの電極に印加される長い低電流パルス(SET)は、例示的なPCMデバイスを低抵抗の結晶状態にさせ、一方で、少なくとも2つの電極に印加される比較的短い高電流パルス(RESET)は、例示的なPCMデバイスを高抵抗のアモルファス状態にさせる。
いくつかの例では、PCMデバイスの実装は、メモリ内コンピューティング能力を可能にする非フォン・ノイマン型(non-von Neumann)コンピューティングアーキテクチャを容易にする。一般的に言えば、従来のコンピューティングアーキテクチャは、バスを介して1つ以上のメモリデバイスに通信可能に接続された中央処理装置(central processing unit, CPU)を含む。したがって、有限量のエネルギー及び時間がCPUとメモリとの間でデータを転送するために消費され、これはフォン・ノイマン型コンピューティングアーキテクチャの既知のボトルネックである。しかし、PCMデバイスは、メモリ内のいくつかのコンピューティング動作を実行することによって、CPUとメモリとの間のデータ転送を最小化し、場合によっては除去する。言い換えると、PCMデバイスは情報を記憶すると共に、計算タスクを実行する。このような非フォン・ノイマン型コンピューティングアーキテクチャは、10,000ビットを有するベクトルのような、超次元コンピューティングを容易にするための比較的高次元性を有するベクトルを実装してもよい。比較的大きいビット幅のベクトルは、人間の脳をモデル化したコンピューティングパラダイムを可能にし、これは、広いビットベクトルに類似した情報も処理する。
計算回路602は、I/Oサブシステム608を介して計算ノード600の他のコンポーネントと通信可能に結合され、I/Oサブシステム608は、計算回路602(例えば、プロセッサ604及び/又はメインメモリ606)若しくは計算回路602の他のコンポーネントとの入出力動作を容易にするための回路及び/又はコンポーネントとして具現されてもよい。例えば、I/Oサブシステム608は、メモリコントローラハブ、入出力制御ハブ、集積センサハブ、ファームウェアデバイス、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレース等)、及び/又は入出力動作を容易にするための他のコンポーネント及びサブシステムとして具現されてもよく、或いは、別法でこれらを含んでもよい。いくつかの例では、I/Oサブシステム608は、システムオンチップ(system-on-a-chip, SoC)の一部を形成し、プロセッサ604、メインメモリ606及び計算回路602の他のコンポーネントのうち1つ以上と共に、計算回路602に組み込まれてもよい。
1つ以上の例示的なデータ記憶デバイス610は、例えば、メモリデバイス、メモリ、回路、メモリカード、フラッシュメモリ、ハードディスクドライブ、ソリッドステートドライブ(solid-state drive, SSD)又は他のデータ記憶デバイス/ディスクのような、データの短期的又は長期的な記憶のために構成されたいずれかのタイプの物理デバイスのうち1つ以上として具現されてもよい。個々のデータ記憶デバイス/ディスク610は、データ記憶デバイス/ディスク610のためのデータ及びファームウェアコードを記憶するシステムパーティションを含んでもよい。個々のデータ記憶デバイス/ディスク610はまた、例えば、計算ノード600のタイプに依存して、オペレーティングシステム用のデータファイル及び実行可能プログラムを記憶する1つ以上のオペレーティングシステムパーティションを含んでもよい。
通信回路612は、計算回路602と他の計算デバイス(例えば、実装するエッジコンピューティングシステムのエッジゲートウェイ)との間のネットワークを通じた通信を可能にできるいずれかの通信回路、デバイス又はこれらの集合として具現されてもよい。通信回路612は、このような通信を実施するために、いずれか1つ以上の通信技術(例えば、有線又は無線通信)及び関連するプロトコル(例えば、3GPP 4G又は5G標準のようなセルラネットワーキングプロトコル、IEEE802.11/Wi-Fi(登録商標)のような無線ローカルエリアネットワークプロトコル、無線広域ネットワークプロトコル、イーサネット、Bluetooth(登録商標)、Bluetooth Low Energy、IEEE802.15.4又はZigBee(登録商標)のようなIoTプロトコル、低電力広域ネットワーク(low-power wide-area network, LPWAN)又は低電力広域(low-power wide-area, LPWA)プロトコル等)を使用するように構成されてもよい。
例示的な通信回路612は、ホストファブリックインタフェース(host fabric interface, HFI)とも呼ばれることがあるネットワークインタフェースコントローラ(network interface controller, NIC)620を含む。NIC620は、1つ以上のアドインボード、ドーターカード、ネットワークインタフェースカード、コントローラチップ、チップセット、又は他の計算デバイス(例えば、エッジゲートウェイノード)と接続するために計算ノード600によって使用され得る他のデバイスとして具現されてもよい。いくつかの例では、NIC620は、1つ以上のプロセッサを含むシステムオンチップ(system-on-a-chip, SoC)の一部として具現されてもよく、或いは、同様に1つ以上のプロセッサを含むマルチチップパッケージ上に含まれてもよい。いくつかの例では、NIC620は、双方ともNIC620に対してローカルであるローカルプロセッサ(図示せず)及び/又はローカルメモリ(図示せず)を含んでもよい。このような例では、NIC620のローカルプロセッサは、本明細書に記載の計算回路602の機能の1つ以上を実行することが可能でもよい。さらに或いは代替として、このような例では、NIC620のローカルメモリは、ボードレベル、ソケットレベル、チップレベル及び/又は他のレベルでクライアント計算ノードの1つ以上のコンポーネントに統合されてもよい。
さらに、いくつかの例では、それぞれの計算ノード600は、1つ以上の周辺デバイス614を含んでもよい。このような周辺デバイス614は、特定のタイプの計算ノード600に依存して、オーディオ入力デバイス、ディスプレイ、他の入出力デバイス、インタフェースデバイス及び/又は他の周辺デバイスのような、計算デバイス又はサーバに見られるいずれかのタイプの周辺デバイスを含んでもよい。更なる例では、計算ノード600は、エッジコンピューティングシステムにおけるそれぞれのエッジ計算ノード(クライアント、ゲートウェイ又は集約ノードでもよい)、又は同様の形式のアプライアンス、コンピュータ、サブシステム、回路若しくは他のコンポーネントによって具現されてもよい。
より詳細な例では、図6Bは、本明細書に記載の技術(例えば、動作、プロセス、方法及び方法論)を実施するためにエッジコンピューティングノード650に存在し得るコンポーネントの例のブロック図を示す。このエッジコンピューティングノード650は、コンピューティングデバイス(例えば、モバイルデバイス、基地局、サーバ、ゲートウェイ等)として或いはその一部として実装された場合、ノード600のそれぞれのコンポーネントのより詳しい図を提供する。エッジコンピューティングノード650は、本明細書で参照されるハードウェア又は論理コンポーネントのいずれかの組み合わせを含んでもよく、エッジ通信ネットワーク又はこのようなネットワークの組み合わせで使用可能ないずれかのデバイスを含んでもよく、或いはこれと結合してもよい。当該コンポーネントは、エッジコンピューティングノード650において適合された集積回路(integrated circuit, IC)、その一部、離散的電子デバイス、又は他のモジュール、命令セット、プログラム可能ロジック又はアルゴリズム、ハードウェア、ハードウェアアクセラレータ、ソフトウェア、ファームウェア、又はこれらの組み合わせとして、或いは、より大きいシステムのシャーシ内に別法で組み込まれたコンポーネントとして、実装されてもよい。
エッジコンピューティングデバイス650は、マイクロプロセッサ、マルチコアプロセッサ、マルチスレッドプロセッサ、超低電圧プロセッサ、埋め込みプロセッサ、xPU/DPU/IPU/NPU、特殊目的処理ユニット、特化した処理ユニット又は他の既知の処理要素でもよいプロセッサ652の形式の処理回路を含んでもよい。プロセッサ652は、プロセッサ652及び他のコンポーネントが単一の集積回路、又は例えば米国カリフォルニア州サンタクララのインテル社のEdison(商標)又はGalileo(商標)SoCボードのような単一のパッケージに形成されるシステムオンチップ(system on a chip, SoC)の一部でもよい。一例として、プロセッサ652は、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(商標)プロセッサのようなユニットを含んでもよい。プロセッサ652及び付随する回路は、制限されたハードウェア構成又は図6Bに示す全ての要素よりも少ないものを含む構成を含み、単一ソケット形状因子、複数ソケット形状因子又は多様な他のフォーマットで提供されてもよい。
プロセッサ652は、相互接続656(例えば、バス)を通じてシステムメモリ654と通信してもよい。所与の量のシステムメモリを提供するために、いずれかの数のメモリデバイスが使用されてもよい。例として、メモリD154は、DDR又はモバイルDDR標準(例えば、LPDDR、LPDDR2、LPDDR3又はLPDDR4)のような合同電子デバイスエンジニアリング評議会(Joint Electron Devices Engineering Council, JEDEC)設計によるランダムアクセスメモリでもよい。具体的な例では、メモリコンポーネントは、DDR SDRAMのためのJESD79F、DDR2 SDRAMのためのJESD79-2F、DDR3 SDRAMのためのJESD79-3F、DDR4 SDRAMのためのJESD79-4A、低電力DDR(Lowe Power DDR, LPDDR)のためのJESD209、LPDDR2のためのJESD209-2、LPDDR3のためのJESD209-3及びLPDDR4のためのJESD209-4のように、JEDECによって公布されたDRAM標準に準拠してもよい。このような標準(及び同様の標準)は、DDRベースの標準と呼ばれてもよく、このような標準を実装する記憶デバイスの通信インタフェースは、DDRベースのインタフェースと呼ばれてもよい。様々な実装では、個々のメモリデバイスは、単一ダイパッケージ(single die package, SDP)、デュアルダイパッケージ(dual die package, DDP)又はクワッドダイパッケージ(quad die package, Q17P)のような、いずれかの数の異なるパッケージタイプでもよい。これらのデバイスは、いくつかの例では、マザーボード上に直接はんだ付けされて、より低いプロファイルの解決策を提供してもよく、一方で、他の例では、これらのデバイスは、所与のコネクタによってマザーボードに接続される1つ以上のメモリモジュールとして構成される。他のタイプのメモリモジュール、例えばmicroDIMM又はMiniDIMMを含むがこれらに限定されない、異なる種類のデュアルインラインメモリモジュール(dual inline memory module, DIMM)のような、いずれかの数の他のメモリ実装が使用されてもよい。
データ、アプリケーション、オペレーティングシステム等のような情報の永続的な記憶を提供するために、ストレージ658はまた、相互接続656を介してプロセッサ652に結合してもよい。一例では、ストレージ658は、ソリッドステートディスクドライブ(slid-state disk drive, SSDD)を介して実装されてもよい。ストレージ658のために使用され得る他のデバイスは、セキュアデジタル(Secure Digital, SD)カード、マイクロSDカード、エクストリームデジタル(eXtreme Digital)XDピクチャカード等のようなフラッシュメモリカードと、ユニバーサルシリアルバス(Universal Serial Bus, USB)フラッシュドライブとを含む。一例では、メモリデバイスは、カルコゲナイドガラスを使用するメモリデバイス、複数閾値レベルのNANDフラッシュメモリ、NORフラッシュメモリ、単一若しくは複数レベルの相変化メモリ(Phase Change Memory, PCM)、抵抗性メモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ(ferroelectric transistor random access memory, FeTRAM)、反強誘電体メモリ、メモリスタ技術を組み込んだ磁気抵抗ランダムアクセスメモリ(magnetoresistive random access memory, MRAM)、金属酸化物ベース、酸素空孔ベース及び伝導性ブリッジランダムアクセスメモリ(conductive bridge Random Access Memory, CB-RAM)を含む抵抗性メモリ、又はスピン移行トルク(spin transfer torque, STT)-MRAM、スピントロニック磁気接合メモリベースのデバイス、磁気トンネル接合(magnetic tunneling junction, MTJ)ベースのデバイス、DW(Domain Wall)及びSOT(Spin Orbit Transfer)ベースのデバイス、サイリスタベースのメモリデバイス、又はこれらのいずれかの組み合わせ、又は他のメモリでもよく或いはこれらを含んでもよい。
低電力の実装では、ストレージ658は、プロセッサ652に関連付けられたオンダイメモリ又はレジスタでもよい。しかし、いくつかの例では、ストレージ658は、マイクロハードディスクドライブ(hard disk drive, HDD)を使用して実装されてもよい。さらに、ストレージ658のために、上記の技術に加えて或いはその代わりに、とりわけ抵抗変化メモリ、相変化メモリ、ホログラフィックメモリ又は化学メモリのように、いずれかの数の新たな技術が使用されてもよい。
コンポーネントは、相互接続656を通じて通信してもよい。相互接続656は、業界標準アーキテクチャ(industry standard architecture, ISA)、拡張ISA(extended ISA, EISA)、ペリフェラルコンポーネント相互接続(peripheral component interconnect, PCI)、ペリフェラルコンポーネント相互接続拡張(peripheral component interconnect extended, PCIx)、PCIエクスプレス(PCI express, PCIe)又はいずれかの数の他の技術を含む、いずれかの数の技術を含んでもよい。相互接続656は、例えば、SoCベースのシステムで使用される独自バスでもよい。とりわけ、インターインテグレーテッドサーキット(Inter-Integrated Circuit, I2C)インタフェース、シリアルペリフェラルインタフェース(Serial Peripheral Interface, SPI)インタフェース、ポイントツーポイントインタフェース及び電力バスのような他のバスシステムが含まれてもよい。
相互接続656は、接続エッジデバイス662との通信のために、プロセッサ652をトランシーバ666に結合してもよい。トランシーバ666は、とりわけBluetooth(登録商標)Special Interest Groupによって定義されたBluetooth(登録商標)低エネルギー(Bluetooth Low Energy BLE)標準又はZigBee(登録商標)標準を使用して、IEEE802.15.4標準のもとでの2.4ギガヘルツ(GHz)伝送のように、いずれかの数の周波数及びプロトコルを使用してもよい。特定の無線通信プロトコルのために構成されたいずれかの数の無線機が、接続エッジデバイス662への接続のために使用されてもよい。例えば、無線ローカルエリアネットワーク(wireless local area network, WLAN)ユニットが、IEEE(Institute of Electrical and Electronics Engineers)802.11標準に従ってWi-Fi(登録商標)通信を実装するために使用されてもよい。さらに、例えばセルラ又は他の無線広域プロトコルによる無線広域通信が、無線広域ネットワーク(wireless wide area network, WWAN)ユニットを介して行なわれてもよい。
無線ネットワークトランシーバ666(又は複数のトランシーバ)は、異なる範囲での通信のために、複数の標準又は無線機を使用して通信してもよい。例えば、エッジコンピューティングノード650は、電力を節約するために、Bluetooth低エネルギー(Bluetooth Low Energy)BLEに基づくローカルトランシーバ又は他の低電力無線機を使用して、例えば約10メートル以内で、近くのデバイスと通信してもよい。より遠方の、例えば約50メートル以内にある接続エッジデバイス662は、ZigBee(登録商標)又は他の中間電力の無線機を通じて到達されてもよい。双方の通信技術は、異なる電力レベルで単一の無線機を通じて行なわれてもよく、或いは、別個のトランシーバ、例えば、BLEを使用するローカルトランシーバ及びZigBee(登録商標)を使用する別個のメッシュトランシーバを通じて行われてもよい。
無線ネットワークトランシーバ666(例えば、無線トランシーバ)は、ローカル又は広域ネットワークプロトコルを介してクラウド(例えば、エッジクラウド695)内のデバイス又はサービスと通信するために含まれてもよい。無線ネットワークトランシーバ666は、とりわけ、IEEE802.15.4又はIEEE802.15.4g標準に従う低電力広域(low-power wide area, LPWA)トランシーバでもよい。エッジコンピューティングノード650は、Semtech及びLoRa Allianceによって開発されたLoraWAN(商標)(Long Range Wide Area Network)を使用して、広い範囲にわたって通信してもよい。本明細書に記載の技術は、これらの技術に限定されず、Sigfoxのような長距離、低帯域幅通信、及び他の技術を実装するいずれかの数の他のクラウドトランシーバと共に使用されてもよい。さらに、IEEE802.15.4e仕様に記載されている時間スロット化されたチャネルホッピングのような他の通信技術が使用されてもよい。
本明細書に記載の無線ネットワークトランシーバ666について言及されるシステムに加えて、いずれかの数の他の無線通信及びプロトコルが使用されてもよい。例えば、トランシーバ666は、高速通信を実装するためにスペクトラム拡散(spread spectrum, SPA/SAS)通信を使用するセルラトランシーバを含んでもよい。さらに、中速通信用のWi-Fi(登録商標)ネットワーク及びネットワーク通信の提供のように、いずれかの数の他のプロトコルが使用されてもよい。トランシーバ666は、本開示の最後に更に詳細に説明される、LTE(Long Term Evolution)及び第5世代(5G)通信システムのように、いずれかの数の3GPP(Third Generation Partnership Project)仕様と互換性のある無線機を含んでもよい。接続エッジデバイス662(例えばメッシュにおいて動作する)のようなエッジクラウド695のノード又は他のデバイスに有線通信を提供するために、ネットワークインタフェースコントローラ(network interface controller, NIC)668が含まれてもよい。有線通信は、イーサネット接続を提供してもよく、或いは、とりわけ、コントローラエリアネットワーク(Controller Area Network, CAN)、ローカル相互接続ネットワーク(Local Interconnect Network, LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUS又はPROFINETのような他のタイプのネットワークに基づいてもよい。第2のネットワークへの接続を可能にするために更なるNIC668が含まれてもよく、例えば、第1のNIC668がイーサネットを通じてクラウドへの通信を提供し、第2のNIC668が、他のタイプのネットワークを通じて他のデバイスへの通信を提供する。
デバイスから他のコンポーネント又はネットワークへの様々なタイプの適用可能な通信が与えられると、デバイスによって使用される適用可能な通信回路は、コンポーネント664、666、668又は670のうちいずれか1つ以上を含んでもよく、或いは、これによって具現されてもよい。したがって、様々な例において、通信(例えば、受信、送信等)のための適用可能な手段は、このような通信回路によって具現されてもよい。
エッジコンピューティングノード650は、アクセラレーション回路664を含んでもよく或いはこれに結合されてもよく、アクセラレーション回路664は、1つ以上の人工知能(artificial intelligence, AI)アクセラレータ、ニューラル計算スティック、神経形態ハードウェア、FPGA、GPUの配置、xPU/DPU/IPU/NPUの配置、1つ以上のSoC、1つ以上のCPU、1つ以上のデジタルシグナルプロセッサ、専用ASIC、又は1つ以上の特化したタスクを達成するように設計された他の形式の特化したプロセッサ若しくは回路によって具現化されてもよい。これらのタスクは、AI処理(機械学習、トレーニング、推論及び分類動作を含む)、ビジュアルデータ処理、ネットワークデータ処理、オブジェクト検出、ルール解析等を含んでもよい。これらのタスクはまた、本文書のどこかで論じたサービス管理及びサービス動作のための特定のエッジコンピューティングタスクを含んでもよい。
相互接続656は、プロセッサ652を、更なるデバイス又はサブシステムを接続するために使用されるセンサハブ又は外部インタフェース670に結合してもよい。デバイスは、加速度計、レベルセンサ、流量センサ、光学光センサ、カメラセンサ、温度センサ、グローバルナビゲーションシステム(例えば、GPS)センサ、圧力センサ、気圧センサ等のようなセンサ672を含んでもよい。ハブ又はインタフェース670は、電力スイッチ、弁アクチュエータ、可聴音生成器、視覚警告デバイス等のようなアクチュエータ674にエッジコンピューティングノード650を接続するために使用されてもよい。
いくつかの任意選択の例では、様々な入出力(I/O)デバイスがエッジコンピューティングノード650内に存在してもよく、或いは、エッジコンピューティングノード650に接続されてもよい。例えば、表示デバイス又は他の出力デバイス684が、センサの読み取り又はアクチュエータ位置のような情報を示すために含まれてもよい。入力を受け付けるために、タッチスクリーン又はキーパッドのような入力デバイス686が含まれてもよい。出力デバイス684は、エッジコンピューティングノード650の動作から生成又は発生された文字、グラフィックス、マルチメディアオブジェクト等の出力を有する、バイナリ状態インジケータ(例えば、発光ダイオード(light-emitting diode, LED))及びマルチキャラクタビジュアル出力のような単純なビジュアル出力、又は表示画面(例えば、液晶ディスプレイ(liquid crystal display, LCD)画面)のようなより複雑な出力を含む、いずれかの数の形式のオーディオ又はビジュアルディスプレイを含んでもよい。本システムのコンテキストでは、ディスプレイ又はコンソールハードウェアは、エッジコンピューティングシステムの出力を提供して入力を受け取るために、エッジコンピューティングシステムのコンポーネント又はサービスを管理するために、エッジコンピューティングコンポーネント又はサービスの状態を識別するために、或いは、いずれかの他の数の管理又は監督機能又はサービスユースケースを実施するために使用されてもよい。
バッテリ676は、エッジコンピューティングノード650に電力供給してもよいが、エッジコンピューティングノード650が固定位置に取り付けられる例では、電気グリッドに結合された電源を有してもよく、或いは、バッテリは、バックアップとして或いは一時能力のために使用されてもよい。バッテリ676は、リチウムイオン電池、又は亜鉛空気電池、アルミニウム空気電池、リチウム空気電池な等のような金属空気電池でもよい。
バッテリモニタ/充電器678がエッジコンピューティングノード650に含まれてもよく、含まれる場合、バッテリ676の充電状態(state of charge, SoCh)を追跡してもよい。バッテリモニタ/充電器678は、バッテリ676の健康状態(state of health, SoH)及び機能状態(state of function, SoF)のような障害予測を提供するために、バッテリ676の他のパラメータを監視するように使用されてもよい。バッテリモニタ/充電器678は、LTC4020又はLTC2990(Linear Technologies社製)、ADT7488A(アリゾナ州フェニックスのON Semiconductor社製)又はUCD90xxxファミリーからののIC(テキサス州ダラスのTexas Instruments社製)のようなバッテリ監視集積回路を含んでもよい。バッテリモニタ/充電器678は、相互接続656を通じてバッテリ676に関する情報をプロセッサ652に通信してもよい。バッテリモニタ/充電器678はまた、プロセッサ652がバッテリ676の電圧又はバッテリ676からの電流を直接監視することを可能にするアナログデジタル(analog-digital, ADC)変換器を含んでもよい。バッテリパラメータは、伝送周波数、メッシュネットワーク動作、センシング周波数等のように、エッジコンピューティングノード650が実行し得るアクションを決定するために使用されてもよい。
バッテリ676を充電するために、電力ブロック680、又はグリッドに結合された他の電源がバッテリモニタ/充電器678に結合されてもよい。いくつかの例では、電力ブロック680は、例えばエッジコンピューティングノード650内のループアンテナを通じて無線で電力を取得するために、無線電力受電機で置き換えられてもよい。とりわけカリフォルニア州ミルピタスのLinear TechnologiesからのLTC4020チップのような無線バッテリ充電回路が、バッテリモニタ/充電器678に含まれてもよい。具体的な充電回路は、バッテリ676のサイズ、したがって、必要とされる電流に基づいて選択されてもよい。充電は、とりわけAirfuel Allianceによって公布されたAirfuel標準、Wireless Power Consortiumによって公布されたQi無線充電標準、又はAlliance for Wireless Powerによって公布されたRezence充電標準を使用して実行されてもよい。
ストレージ658は、本明細書に記載の技術を実施するためのソフトウェア、ファームウェア、又はハードウェアコマンドの形式の命令682を含んでもよい。このような命令682は、メモリ654及びストレージ658に含まれるコードブロックとして示されているが、コードブロックのいずれかが、例えば、特定用途向け集積回路(application specific integrated circuit, ASIC)に組み込まれた配線接続回路で置き換えられてもよいことが理解され得る。
一例では、メモリ654、ストレージ658又はプロセッサ652を介して提供される命令682は、エッジコンピューティングノード650内で電子的動作を実行するプロセッサ652に指示するためのコードを含む非一時的な機械読み取り可能媒体660として具現されてもよい。プロセッサ652は、相互接続656を通じて非一時的な機械読み取り可能媒体660にアクセスしてもよい。例えば、非一時的な機械読み取り可能媒体660は、ストレージ658について記載されたデバイスによって具現されてもよく、或いは、光ディスク(例えば、デジタル多用途ディスク(digital versatile disk, DVD)、コンパクトディスク(compact disk, CD)、CD-ROM、ブルーレイディスク)、フラッシュドライブ、フロッピーディスク、ハードドライブ(例えば、SSD)、又は情報がいずれかの期間(例えば、長期間、永続的、短い場面、一時的なバッファリングのため及び/又はキャッシングのため)記憶されるいずれかの数の他のハードウェアデバイスを含む記憶デバイス及び/又は記憶ディスクのような特定の記憶ユニットを含んでもよい。非一時的な機械読み取り可能媒体660は、例えば、上記の動作及び機能のフローチャート及びブロック図に関して記載したように、アクションの特定のシーケンス又はフローを実行するようにプロセッサ652に指示する命令を含んでもよい。本明細書で使用される「機械読み取り可能媒体」及び「コンピュータ読み取り可能媒体」という用語は交換可能である。本明細書で使用される「非一時的なコンピュータ読み取り可能媒体」という用語は、いずれかのタイプのコンピュータ読み取り可能記憶デバイス及び/又は記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するように特に定義される。
また、特定の例では、プロセッサ652上の命令682は(別々に或いは機械読み取り可能媒体660の命令682と組み合わせて)、信頼された実行環境(trusted execution environment, TEE)690の実行又は動作を構成してもよい。一例では、TEE690は、命令の安全な実行及びデータへの安全なアクセスのために、プロセッサ652にアクセス可能な保護領域として動作する。例えば、Intel(登録商標)のSGX(Software Guard Extensions)又はARM(登録商標)のTrustZone(登録商標)ハードウェアセキュリティ拡張、Intel(登録商標)のME(Management Engine)又はIntel(登録商標)のCSME(Converged Security Manageability Engine)の使用を通じて、TEE690の様々な実装、及びプロセッサ652又はメモリ654内の付随する安全な領域が提供されてもよい。セキュリティ強化、ハードウェアのルートオブトラスト(roots-of-trust)及び信頼又は保護動作の他の側面は、TEE690及びプロセッサ652を通じてデバイス650に実装されてもよい。
図D1A及び図D1Bの図示の例は、それぞれ、計算ノード及びコンピューティングデバイスのための例示的なコンポーネントを含むが、本明細書に開示の例は、これらに限定されない。本明細書で使用される「コンピュータ」は、異なるタイプのコンピューティング環境において図D1A及び/又はD1Bの例示的なコンポーネントの一部又は全部を含んでもよい。例示的なコンピューティング環境は、参加するエッジコンピューティングデバイスのうち特定のものが異種又は同種のデバイスであるように、分散ネットワーキング構成におけるエッジコンピューティングデバイス(例えば、エッジコンピュータ)を含む。本明細書で使用される「コンピュータ」は、パーソナルコンピュータ、サーバ、ユーザ機器、アクセラレータ等を含んでもよい(これらのいずれかの組み合わせを含む)。いくつかの例では、分散ネットワーキング及び/又は分散コンピューティングは、図D1A及び/又はD1Bに示すようないずれかの数のこのようなエッジコンピューティングデバイスを含み、これらのそれぞれは、異なるサブコンポーネント、異なるメモリ容量、I/O能力等を含んでもよい。例えば、分散ネットワーキング及び/又は分散コンピューティングのいくつかの実装は特定の所望の機能に関連するので、本明細書に開示の例は、分散コンピューティングタスクの機能目的を満たすために、図D1A及び/又はD1Bに示すコンポーネントの異なる組み合わせを含む。いくつかの例では、「計算ノード」又は「コンピュータ」という用語は、図D1Aの例示的なプロセッサD104、メモリD106及びI/OサブシステムD108のみを含む。いくつかの例では、分散コンピューティングタスクの1つ以上の目的の機能は、データストレージ(例えば、例示的なデータストレージD110)、入力/出力能力(例示的な周辺デバイスD114)及び/又はネットワーク通信能力(例示的なNIC D120)を収容するデバイスのような、エッジネットワーク環境の異なる部分に位置する1つ以上の代替デバイス/構造に依存する。
いくつかの例では、分散コンピューティング及び/又は分散ネットワーキング環境(例えば、エッジネットワーク)で動作するコンピュータは、計算の無駄を低減するように、特定の目的の機能に適合するように構成される。例えば、コンピュータは、図D1A及びD1Bに開示されたコンポーネントのサブセットを含むので、このようなコンピュータは、別法では使用されないか及び/又は十分に利用されないコンピューティング構造を含むことなく、分散コンピューティング目的の機能の実行を満たす。したがって、本明細書で使用される「コンピュータ」という用語は、分散コンピューティングタスクの目的の機能を満たすことができ、及び/又は、別法で実行できる、図D1A及び/又は図D1Bの構造のいずれかの組み合わせを含む。いくつかの例では、コンピュータは、動的な需要に関連してダウンスケーリング又はアップスケーリングするように、対応する分散コンピューティング目的の機能に相応する方式で構成される。いくつかの例では、異なるコンピュータが、分散コンピューティング要求の1つ以上のタスクを処理するためにこれらの能力の観点から呼び出され及び/又は別法でインスタンス化され、それにより、タスクを満たすことができるいずれかのコンピュータが、このようなコンピューティングアクティビティを進行させる。
図6A及び図6Bの図示の例では、コンピューティングデバイスはオペレーティングシステムを含む。本明細書で使用される「オペレーティングシステム」は、図6Aの例示的なエッジ計算ノード600及び/又は図D1Bの例示的なエッジ計算ノード650のような例示的なコンピューティングデバイスを制御するためのソフトウェアである。例示的なオペレーティングシステムは、消費者ベースのオペレーティングシステム(例えば、Microsoft(登録商標)のWindows(登録商標)10、Google(登録商標)のAndroid(登録商標)OS、Apple(登録商標)のMac(登録商標)OS等)を含むが、これらに限定されない。例示的なオペレーティングシステムはまた、リアルタイムオペレーティングシステム、ハイパーバイザ等のような、業界に特化したオペレーティングシステムを含んでもよいが、これらに限定されない。第1のエッジ計算ノード上の例示的なオペレーティングシステムは、第2のエッジ計算ノード上の例示的なオペレーティングシステムと同じでもよく或いは異なってもよい。いくつかの例では、オペレーティングシステムは、特定の通信プロトコル及び/又はインタープリタのような、オペレーティングシステムにネイティブでない1つ以上の機能及び/又は動作を容易にするために、代替ソフトウェアを呼び出す。いくつかの例では、オペレーティングシステムは、オペレーティングシステムにネイティブではない様々な機能をインスタンス化する。いくつかの例では、オペレーティングシステムは、様々な程度の複雑性及び/又は能力を含む。例えば、第1のエッジ計算ノードに対応する第1のオペレーティングシステムは、動的な入力条件に対する応答の特定のパフォーマンス期待を有するリアルタイムオペレーティングシステムを含み、第2のエッジ計算ノードに対応する第2のオペレーティングシステムは、エンドユーザI/Oを容易にするためのグラフィカルユーザインタフェース能力を含む。
命令682は、多数の無線ローカルエリアネットワーク(wireless local area network, WLAN)転送プロトコル(例えば、フレームリレー、インターネットプロトコル(internet protocol, IP)、伝送制御プロトコル(transmission control protocol, TCP)、ユーザデータグラムプロトコル(user datagram protocol, UDP)、ハイパーテキスト転送プロトコル(hypertext transfer protocol, HTTP)等)のうちいずれか1つを利用して、無線ネットワークトランシーバ466を介して伝送媒体を使用して通信ネットワーク上で更に送信又は受信されてもよい。例示的な通信ネットワークは、ローカルエリアネットワーク(local area network, LAN)、広域ネットワーク(wide area network, WAN)、パケットデータネットワーク(例えば、インターネット)、移動電話ネットワーク、一般電話(Plain Old Telephone, POTS)ネットワーク及び無線データネットワークを含んでもよい。ネットワーク上での通信は、とりわけ、Wi-Fiとして知られるIEEE(Institute of Electrical and Electronics Engineers)802.11ファミリーの標準、IEEE802.16ファミリーの標準、IEEE802.15.4ファミリーの標準、LTE(Long Term Evolution)ファミリーの標準、UMTS(Universal Mobile Telecommunications System)ファミリーの標準、ピアツーピア(peer-to-peer, P2P)ネットワーク、次世代(next generation, NG)/5世代(5G)標準のような1つ以上の異なるプロトコルを含んでもよい。
本明細書で使用される「回路」という用語は、記載の機能を提供するように構成された、電子回路、論理回路、プロセッサ(共有、専用又はグループ)及び/又はメモリ(共有、専用又はグループ)、特定用途向け集積回路(Application Specific Integrated Circuit, ASIC)、フィールドプログラマブルデバイス(field-programmable device, FPD) (例えば、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、プログラマブルロジックデバイス(programmable logic device, PLD)、複合PLD (complex PLD, CPLD)、大容量PLD(high-capacity PLD, HCPLD)、構造化ASIC又はプログラマブルSoC)、デジタルシグナルプロセッサ(digital signal processor, DSP)等のようなハードウェアコンポーネントを示すか、これらの一部であるか、或いは、これらを含むことに留意する。いくつかの実施形態では、回路は、記載の機能の少なくともいくつかを提供するために、1つ以上のソフトウェア又はファームウェアプログラムを実行してもよい。「回路」という用語はまた、1つ以上のハードウェア要素(又は電気若しくは電子システムで使用される回路の組み合わせ)と、そのプログラムコードの機能を実行するために使用されるプログラムコードとの組み合わせを示してもよい。これらの実施形態では、ハードウェア要素とプログラムコードとの組み合わせは、特定のタイプの回路と呼ばれてもよい。
したがって、本明細書で使用される「プロセッサ回路」又は「プロセッサ」という用語は、演算若しくは論理演算のシーケンスを逐次的且つ自動的に実行できるか、或いは、デジタルデータを記録、記憶及び/又は転送できる回路を示すか、この一部であるか、或いはこれを含む。「プロセッサ回路」又は「プロセッサ」という用語は、1つ以上のアプリケーションプロセッサ、1つ以上のベースバンドプロセッサ、物理的な中央処理装置(central processing unit, CPU)、シングル若しくはマルチコアプロセッサ、及び/又はプログラムコード、ソフトウェアモジュール及び/又は機能的プロセスのようなコンピュータ実行可能命令を実行すること若しくは別法で動作させることができるいずれかの他のデバイスを示してもよい。
本明細書に記載の無線リンクのいずれかは、GSM(Global System for Mobile Communications)無線通信技術、GPRS(General Packet Radio Service)無線通信技術、EDGE(Enhanced Data Rates for GSM Evolution)無線通信技術及び/又は3GPP(Third Generation Partnership Project)無線通信技術、例えば、UMTS(Universal Mobile Telecommunications System)、FOMA(Freedom of Multimedia Access)、3GPP LTE(Long Term Evolution)、3GPP LTE Advanced(Long Term Evolution Advanced)、CDMA2000(Code division multiple access 2000)、CDPD(Cellular Digital Packet Data)、Mobitex、3G(Third Generation)、CSD(Circuit Switched Data)、HSCSD(High-Speed Circuit-Switched Data)、UMTS(3G)(Universal Mobile Telecommunications System(Third Generation))、W-CDMA(UMTS)(Wideband Code Division Multiple Access(Universal Mobile Telecommunications System))、HSPA(High Speed Packet Access)、HSDPA(High-Speed Downlink Packet Access)、HSUPA(High-Speed Uplink Packet Access)、HSPA+(High Speed Packet Access Plus)、UMTS-TDD(Universal Mobile Telecommunications System-Time-Division Duplex)、TD-CDMA(Time Division-Code Division Multiple Access)、TD-CDMA(Time Division-Synchronous Code Division Multiple Access)、3GPP Rel. 8(Pre-4G)(3rd Generation Partnership Project Release 8(Pre-4th Generation))、3GPP Rel. 9(3rd Generation Partnership Project Release 9)、3GPP Rel. 10(3rd Generation Partnership Project Release 10)、3GPP Rel. 11(3rd Generation Partnership Project Release 11)、3GPP Rel. 12(3rd Generation Partnership Project Release 12)、3GPP Rel. 13(3rd Generation Partnership Project Release 13)、3GPP Rel. 14(3rd Generation Partnership Project Release 14)、3GPP Rel. 15(3rd Generation Partnership Project Release 15)、3GPP Rel. 16(3rd Generation Partnership Project Release 16)、3GPP Rel. 17(3rd Generation Partnership Project Release 17)及び以降のリリース(Rel. 18、Rel. 19等)、3GPP 5G、5G、5G NR(5G New Radio)、3GPP 5G New Radio、3GPP LTE Extra、LTE-Advanced Pro、LTE LAA(Licensed-Assisted Access)、MuLTEfire、UTRA(UMTS Terrestrial Radio Access)、E-UTRA(Evolved UMTS Terrestrial Radio Access)、LTE Advanced(4G)(Long Term Evolution Advanced(4th Generation))、cdmaOne(2G)、CDMA2000(3G)(Code division multiple access 2000(Third generation))、EV-DO(Evolution-Data Optimized又はEvolution-Data Only)、AMPS(1G)(Advanced Mobile Phone System(1st Generation))、TACS/ETACS(Total Access Communication System/Extended Total Access Communication System)、D-AMPS(2G)(Digital AMPS(2nd Generation))、PTT(Push-to-talk)、MTS(Mobile Telephone System)、IMTS(Improved Mobile Telephone System)、AMTS(Advanced Mobile Telephone System)、OLT(ノルウェー語のOffentlig Landmobil Telefoni, Public Land Mobile Telephony)、MTD(Mobiltelefonisystem D又はMobile telephony system Dのスウェーデン語の略語)、Autotel/PALM (Public Automated Land Mobile)、ARP(フィンランド語のAutoradiopuhelin、「車用無線電話」)、NMT(Nordic Mobile Telephony)、Hicap(High capacity version of NTT(Nippon Telegraph and Telephone))、CDPD(Cellular Digital Packet Data)、Mobitex、DataTAC、iDEN(Integrated Digital Enhanced Network)、PDC(Personal Digital Cellular)、CSD(Circuit Switched Data)、PHS(Personal Handy-phone System)、WiDEN(Wideband Integrated Digital Enhanced Network)、iBurst、UMA(Unlicensed Mobile Access)、3GPP Generic Access Network又はGAN標準とも呼ばれる)、Zigbee、Bluetooth(登録商標)、WiGig(Wireless Gigabit Alliance)標準、一般的なmmWave標準(WiGig、IEEE802.11ad、IEEE802.11ay等のような10~300GHz以上で動作する無線システム)、300GHz及びTHz帯域以上で動作する技術、(3GPP/LTEベース又はIEEE802.11p若しくはIEEE802.11bd及び他の)V2B(Vehicle-to-Vehicle)及びV2X(Vehicle-to-X)及びV2I(Vehicle-to-Infrastructure)及びI2V(Infrastructure-to-Vehicle)通信技術、3GPPセルラV2X、インテリジェント輸送システム及び他のもの(典型的には5850MHz~5925MHz以上で動作する(典型的にはCEPT Report 71における変更提案に従って5935MHzまで対応可能))のようなDSRC(Dedicated Short Range Communications)通信システム、欧州のITS-G5システム(すなわち、IEEE802.11pベースのDSRCの欧州版、ITS-G5A(すなわち、5,875GHz~5,905GHzの周波数範囲での安全に関連するアプリケーションのためのITSに専用の欧州ITS周波数帯域でのITS-G5の動作)、ITS-G5B(すなわち、5,855GHz~5,875GHzの周波数範囲でのITSの安全に関連しないアプリケーションに専用の欧州ITS周波数帯域での動作)、ITS-G5C(すなわち、5,470GHz~5,725GHzの周波数範囲でのITSアプリケーションの動作)を含む)、700MHz帯域での日本におけるDSRC(715MHz~725MHzを含む)、IEEE802.11bdベースのシステム等を含むが、これらに限定されない無線通信技術及び/又は標準のうちいずれか1つ以上に従って動作してもよい。
本明細書に記載の側面は、専用ライセンススペクトル、アンライセンススペクトル、ライセンス免除スペクトル、(ライセンス)共有スペクトル(2.3~2.4GHz、3.4~3.6GHz、3.6~3.8GHz及び更なる周波数でのLSA(Licensed Shared Access)、3.55~3.7GHz及び更なる周波数でのSAS(Spectrum Access System)/CBRS(Citizen Broadband Radio System)等)を含む、いずれかのスペクトル管理方式のコンテキストで使用できる。適用可能なスペクトル帯域は、IMT(International Mobile Telecommunications)スペクトル及び他のタイプのスペクトル/帯域、例えば、国家割り当ての帯域(450~470MHz、902~928MHz(注:例えば米国での割り当て(FCC Part 15))、863~868.6MHz(注:例えば欧州連合での割り当て(ETSI EN 300 220))、915.9~929.7MHz(注:例えば日本での割り当て)、917~923.5MHz(注:例えば韓国での割り当て)、755~779MHz及び779~787MHz(注:例えば中国での割り当て)、790~960MHz、1710~2025MHz、2110~2200MHz、2300~2400MHz、2.4~2.4835GHz(注グローバル用途でのISM帯域であり、Wi-Fi技術ファミリー(11b/g/n/ax)によって使用され、Bluetoothによっても使用される)、2500~2690MHz、698~790MHz、610~790MHz、3400~3600MHz、3400~3800MHz、3800~4200MHz、3.55~3.7GHz(注:例えば市民ブロードバンド無線サービスのための米国での割り当て)、5.15~5.25GHz及び5.25~5.35GHz及び5.47~5.725GHz及び5.725~5.85GHz帯域(注:例えば米国での割り当て(FCC part 15)、4つのU-NII帯域で構成され、合計で500MHzスペクトルになる)、5.725~5.875GHz(注:例えばEUでの割り当て(ETSI EN 301 893))、5.47~5.65GHz(注:例えば韓国での割り当て)、5925~7085MHz及び5925~6425MHz帯域(注:それぞれUS及びEUで検討中である。次世代Wi-Fiシステムは、動作周波数帯域として6GHzスペクトルを含むことが想定されるが、2017年12月時点で、Wi-Fiシステムはこの帯域をまだ許容されていない点に留意する。規則は2019~2020年の期間に完了することが想定されている))、IMT-advancedスペクトル、IMT-2020スペクトル(3600~3800MHz、3800~4200MHz、3.5GHz帯域、700MHz帯域、24.25~86GHz範囲内の帯域等を含むことが想定される)、FCCの「Spectrum Frontier」5G initiativeで利用可能になったスペクトル(27.5~28.35GHz、29.1~29.25GHz、31~31.3GHz、37~38.6GHz、38.6~40GHz、42~42.5GHz、57~64GHz、71~76 GHz、81~86GHz及び92~94GHz等を含む)、5.9GHzのITS(Intelligent Transport Systems)帯域(典型的には5.85~5.925GHz)、並びにWiGig Band 1(57.24~59.40GHz)、WiGig Band 2(59.40~61.56GHz)及びWiGig Band 3(61.56~63.72GHz)及びWiGig Band 4(63.72~65.88GHz)、57~64/66 GHzのようなWiGigに現在割り当てられている63~64GHz(注:この帯域は、MGWS(Multi-Gigabit Wireless Systems)/WiGigについてのほぼグローバルな指定を有する。米国(FCC part 15)では14GHzスペクトルを割り当てており、EU(固定P2PについてのETSI EN 302 567及びETSI EN 301 217-2)は合計で9GHzスペクトルを割り当てている)、70.2GHz~71GHz帯域、65.88GHzと71GHzとの間のいずれかの帯域、76~81GHzのような自動車レーダー用途に現在割り当てられている帯域、並びに94~300GHz以上を含む将来の帯域を含む。さらに、当該方式は、特に400MHz及び700MHz帯域が有望な候補になっているTVホワイトスペース帯域(典型的には、790MHz以下)のような帯域において二次ベースで使用できる。セルラ用途の他に、PMSE(Program Making and Special Events)、医療、健康、手術、自動車、低遅延、ドローン等のアプリケーションのような垂直市場の特定のアプリケーションに対処されてもよい。
図7は、図6Bの例示的なコンピュータ読み取り可能命令682のようなソフトウェアを、例示的なプロセッサプラットフォーム710及び/又は例示的な接続エッジデバイスのような1つ以上のデバイスに分配するための例示的なソフトウェア分配プラットフォーム705を示す。例示的なソフトウェア分配プラットフォーム705は、他のコンピューティングデバイス(例えば、サードパーティ、例示的な接続エッジデバイス)にソフトウェアを記憶及び伝送できるいずれかのコンピュータサーバ、データファシリティ、クラウドサービス等によって実装されてもよい。例示的な接続エッジデバイスは、顧客、クライアント、管理デバイス(例えば、サーバ)、サードパーティ(例えば、ソフトウェア分配プラットフォーム705を所有及び/又は運営するエンティティの顧客)でもよい。例示的な接続エッジデバイスは、商用及び/又はホームオートメーション環境で動作してもよい。いくつかの例では、サードパーティは、図6Bの例示的なコンピュータ読み取り可能命令682のようなソフトウェアの開発者、販売者及び/又はライセンサである。サードパーティは、使用及び/又は再販売及び/又は再ライセンスのためにソフトウェアを購入及び/又はライセンスする消費者、ユーザ、小売業者、OEM業者等でもよい。いくつかの例では、分配されたソフトウェアは、1つ以上のユーザインタフェース(user interface, UI)及び/又はグラフィカルユーザインタフェース(graphical user interface, GUI)を表示させ、互いに地理的及び/又は論理的に分離された1つ以上のデバイス(例えば、接続エッジデバイス)(例えば、配水制御(例えば、ポンプ)、配電制御(例えば、中継器)等の役割をする物理的に分離されたIoTデバイス)を識別させる。
図7の例示的な例では、ソフトウェア分配プラットフォーム705は、1つ以上のサーバ及び1つ以上の記憶デバイスを含む。記憶デバイスは、コンピュータ読み取り可能命令682を記憶する。例示的なソフトウェア分配プラットフォーム705の1つ以上のサーバは、ネットワーク715と通信しており、ネットワーク715は、上記のインターネット及び/又は例示的なネットワークのうちいずれか1つ以上に対応してもよい。いくつかの例では、1つ以上のサーバは、商業取引の一部としてソフトウェアを要求者に伝送するための要求に応答する。ソフトウェアの配信、販売及び/又はライセンスに対する支払いは、ソフトウェア分配プラットフォームの1つ以上のサーバによって処理されてもよく、及び/又はサードパーティの支払いエンティティを介して処理されてもよい。サーバは、購入者及び/又はライセンサが、ソフトウェア分配プラットフォーム605からコンピュータ読み取り可能命令682をダウンロードすることを可能にする。例えば、例示的なコンピュータ読み取り可能命令に対応し得るソフトウェアは、例示的なプロセッサプラットフォーム700(例えば、例示的な接続エッジデバイス)にダウンロードされてもよく、例示的なプロセッサプラットフォーム700は、ネットワークアプライアンスにおいてコンテンツ挿入を実施するためにコンピュータ読み取り可能命令682を実行する。いくつかの例では、ソフトウェア分配プラットフォーム705の1つ以上のサーバは、例示的なコンピュータ読み取り可能命令682の要求及び伝送が通過しなければならない1つ以上のセキュリティドメイン及び/又はセキュリティデバイスに通信可能に接続される。いくつかの例では、ソフトウェア分配プラットフォーム705の1つ以上のサーバは、改良、パッチ、更新等が分配され、エンドユーザデバイスにおけるソフトウェアに適用されることを確保するために、ソフトウェア(例えば、図6Bの例示的なコンピュータ読み取り可能命令682)に対する更新を定期的に提供、伝送及び/又は強制する。
図7の図示の例では、コンピュータ読み取り可能命令682は、特定のフォーマットでソフトウェア分配プラットフォーム705の記憶デバイスに記憶される。コンピュータ読み取り可能命令のフォーマットは、特定のコード言語(例えば、Java、JavaScript、Python、C、C#、SQL、HTML等)及び/又は特定のコード状態(例えば、未コンパイルコード(例えば、ASCII)、インタープリタ型コード、リンクコード、実行可能コード(例えば、バイナリ)等)を含むが、これらに限定されない。いくつかの例では、ソフトウェア分配プラットフォーム705に記憶されたコンピュータ読み取り可能命令682は、例示的なプロセッサプラットフォーム710に伝送されるときに第1のフォーマットである。いくつかの例では、第1のフォーマットは、特定のタイプのプロセッサプラットフォーム710が実行できる実行可能バイナリである。しかし、いくつかの例では、第1のフォーマットは、未コンパイルコードであり、例示的なプロセッサプラットフォーム710上での実行を可能にするために、第1のフォーマットを第2のフォーマットに変換するための1つ以上の準備タスクを必要とする。例えば、受信側プロセッサプラットフォーム710は、第1のフォーマットでコンピュータ読み取り可能命令682をコンパイルし、プロセッサプラットフォーム710上で実行できる第2のフォーマットで実行可能コードを生成する必要があってもよい。更に他の例では、第1のフォーマットは、プロセッサプラットフォーム710に到達すると、命令の実行を容易にするためにインタープリタによって解釈されるインタープリタ型コードである。
図8は、一実施形態による、ネットワークアプライアンスを使用したコンテンツ挿入を実施するためのシステム800を示すブロック図である。図8は、アーキテクチャのコンポーネントのハイレベルな説明を提供する。図8は、アーキテクチャによって実行される挿入動作のより詳細な概略図を提供する。
様々な例は、コンテンツプロバイダから入来するストリームを傍受し、異なるルールに基づいてコンテンツを挿入できるインライン能力で強化されたネットワークアプライアンスを記載する。スイッチ、ルータ又はハブのようなネットワークアプライアンスは、「ラストマイル」でこれらのタスクを実行でき、これは、コンテンツがエンドユーザデバイスの比較的近くで挿入されることを意味する。
システム800は、複数のプラットフォーム802A、802B、802C(併せて802と呼ばれる)を含む。プラットフォーム802は、コンテンツ配信プロバイダ、クラウドサービスプロバイダ、広告主等によって運営されるハードウェア又はシステムでもよい。各プラットフォーム802は、1つ以上のアプリケーション804A、804B、804C(併せて804と呼ばれる)をホストする。アプリケーション804は、コンテンツ配信ネットワーク(content delivery network)データストリーム、広告又はインラインコンテンツ等のような特定のデータストリームタイプを伝送してもよい。入口ポートでのストリーム及び出口ポートでの対応する出力ストリームを示すために、異なる破線又は太線を使用してストリームが示されている。
図8に示す例では、3つのプラットフォームが存在し、それぞれがそれぞれのコンテンツを提供する。プラットフォーム802A及び802Bによって提供されるコンテンツは、ビデオ、オーディオ、又はライブ演奏若しくは録音演奏でもよい他のプレゼンテーションを含む。プラットフォーム802A及び802Bによって提供されるコンテンツは、スポーツゲーム、エピソードテレビ番組、ポッドキャスト、ライブストリームイベント、ニュース報道等を含むが、これらに限定されない、いずれかのタイプのパフォーマンスでもよい。プラットフォーム802Cは、広告又は他のインラインコンテンツをネットワークアプライアンス808に提供するために使用される。広告は、5秒、10秒又は30秒の広告、オーディオのみの広告、ビデオのみの広告、オーディオビジュアルプレゼンテーション、ライブ広告、インタラクティブゲーム要素、インタラクティブ仮想現実要素等を含むいずれかのタイプのものでもよい。公衆安全通知(例えば、雷警報、天気予報、空襲警報、警察の通知等)、公衆情報通知(例えば、投票への催促、休日時間の催促等)等のような他のインラインコンテンツがプラットフォーム802Cによって提供されてもよい。
ネットワークアプライアンス808は、ストリームテナント(又は当局のような他のエンティティ)によって定義できる異なるルールを含み、これらのルールに基づいてどのコンテンツが追加される必要があるかを定義する。ルールは、1)テナントによって直接提供されるルール(例えば、ユーザのタイプ=X及びストリームされるコンテンツ=Yである場合、コンテンツMEDIA_ADDXXを追加する)、2)ネットワークアプライアンスによって実行される解析に依存して挿入されるべきコンテンツを定義する適応ルール(例えば、ユーザのタイプXについてネットワークアプライアンスを通過するストリームタイプの60%がMEDIA_ADDXXである場合、コンテンツMEDIA_ADDXXを全てのユーザタイプXに追加する)、及びエンドポイントから提供されるメタデータに基づいて定義されるコンテキストルール(例えば、エンドポイントが所与の近隣Z又は所与のショッピングセンタUに位置する場合、コンテンツMEDIA_ADDZUを追加する)を含んでもよい。
ルールの組み合わせも使用されてもよい。例えば、(1)と(3)との組み合わせは、同じ位置(例えば、ショッピングセンタ)で、男性と女性又は美食家とスポーツファンに対して、異なる広告挿入アクションを提供できる。
ネットワークアプライアンスはまた、適応ルールの解析を提供し、実行される必要があるときにストリームのそれぞれにコンテンツ挿入を実行する役割を担う、対応する論理要素を含む。ルールはまた、挿入の頻度と、挿入がいつどのように行われる必要があるかを示す他のメトリックを指定できる。これは、このラストマイルの渋滞に依存して、追加される広告の品質又はタイプ(例えば、1Mbの低品質広告又は100Mbの高精細度広告)を決定し得るQoSメカニズムを含む。
潜在的なサイドチャネル攻撃と、実際のテナント(例えば、認可又は認証されたテナント)によって提供されていないルール又はコンテンツの登録とを軽減するために、アーキテクチャは、これらが真正なコンテンツプロバイダによって提供されていることを確保するために、コンテンツ及びルールの双方について認証を使用してもよい。
ネットワークアプライアンス808は、複数のテナントをホストしてもよい。各テナントは、以下のサービスを有してもよい。サービスは、配線接続ハードウェア、プログラマブルハードウェア等で実装され、仮想化されたハードウェアを通じてアクセスされてもよい。或いは、サービスは、複数のプロセッサ、メモリ、ストレージ等を含んでもよいハードウェアプラットフォーム上で実行する仮想オペレーティングシステム内で実行してもよい。ネットワークアプライアンスは、エッジ計算ノード400のようなエッジ計算デバイスに実装されてもよい。
コンテキストルール820、広告プロバイダルール822及び適応ルール824は、ネットワークアプライアンス808に登録されて記憶されてもよい。サービス品質(quality of service, QoS)ロジック826は、ネットワーク性能又は現在のネットワーク状態に基づいて広告を選択するために実装されてもよい。QoSロジック826は、QoS制約内で伝送でき、また様々なコンテキストルール820、広告プロバイダルール822又は適応ルール824を満たすことができる広告を選択してもよい。例えば、QoSロジック826は、配信がタイムリーであり、また提供される広告が有効なルールを満たすものであることを確保するために、ネットワーク性能が他のトラフィックで負荷がかかっているときに伝送するためのより低い忠実度の広告を選択してもよい。
認証サービス828は、プラットフォーム802又はアプリケーション804によって提供されるコンテンツを認証するために実装されてもよい。さらに、認証サービス828は、ルールが有効且つ真正であることを認証してもよい。
したがって、フローは、以下の通りでもよい。コンテンツプロバイダアプリケーション804A及び804Bは、ネットワークアプライアンス808の入口ポート806A、806B、806C(併せて806と呼ばれる)で受信されるデータストリームを生成する。データストリームは、バッファに入れられてもよく、或いは、バッファ812に一時的に記憶されてもよい。データストリームは、1人以上の受信者に向けられ、ネットワークアプライアンス808は、データ消費者に向けてデータストリームを出口ポート810A、810B(併せて810と呼ばれる)に伝送する。データストリーム、アプリケーション804又はプラットフォームは、認証サービス828によって検証されてもよい。
解析は、インライン解析コンポーネント814によって維持管理される。インライン解析コンポーネント814は、ネットワークアプライアンス808の性能メトリック、ネットワークアプライアンス808が接続されているネットワークのネットワークメトリック、ストリーム関連情報(例えば、ユーザのタイプ、ストリーミングされているコンテンツ、広告挿入メトリック等)等を監視又は解析してもよい。インライン解析コンポーネント814は、エンドポイント追跡コンポーネント816とインタフェース接続してもよい。エンドポイント追跡コンポーネント816は、エンドポイントデバイス(例えば、ユーザモバイルデバイス、自動車、デスクトップコンピュータ等)から情報を収集してもよい。位置、デバイスのタイプ、実行中のオペレーティングシステム又はアプリケーション等のような情報は、広告を選択するために様々なルールで使用されてもよい。
挿入ロジック818は、ルール、解析、追跡データ、QoS及び認証データをコンパイルし、ストリームに挿入すべき広告を決定するために使用される。広告が挿入され、ストリームが出口ポート810を通じて出力される。
ストリーム内の挿入位置は、ストリーム内に統合されたマーカー、時間間隔(例えば、10分毎)、データコンテキスト(例えば、ビデオストリーミングについてのIフレームの前)等のような様々なパラメータに基づくことができる。
図9は、一実施形態による、ネットワークアプライアンスを使用したコンテンツ挿入を実施するための他のシステム900を示すブロック図である。システム900は、プロセッサ404又は処理サブシステムを使用してもよいエッジ計算ノード400に実装されてもよい。プロセッサ404は、データ処理ユニット(data processing unit, DPU)、インフラストラクチャ処理ユニット(infrastructure processing unit, IPU)又はネットワーク処理ユニット(network processing unit, NPU)としても知られる特化されたx-処理ユニット(x-processing unit, xPU)として具現されてもよい。このようなxPUは、スタンドアローン回路又は回路パッケージとして具現されてもよく、SOC内に統合されてもよく、或いはネットワーク回路(例えば、SmartNIC又は拡張SmartNIC)、アクセラレーション回路、記憶デバイス、記憶ディスク又はAIハードウェア(例えば、GPU又はプログラムされたFPGA)と統合されてもよい。
図9に示す多くの部分は、図7において上記に説明したものと同様のもの又は同じものでもよい。これらのビルディングブロックのそれぞれは、テナント毎に「仮想化」される点に留意する。したがって、各テナントは、他のテナントから独立して、そのルール、サービス品質等を更新できる。
インタフェース938は、外部アクターが図9のコンポーネントにアクセスして、遠隔測定データを管理、構成、取得するために、或いは、他のタスクを実行するために提供される。1つのインタフェースは、コンテキストルール920、広告プロバイダルール922又は適応ルール924データベースにルールを登録するためのものである。登録されるルールは、ルールの一意の識別子(すなわち、ルールID)、ルールタイプ、ルール、ルールの入力、及びルールが実行される頻度を含むルールデータベース934に記憶されてもよい。ルールデータベース934は、広告識別子、広告サイズ、ルールに関連するテナントのテナント識別子等のような、他の制御データ、パラメータデータ又は状態データを記憶するために使用されてもよい。テナント識別子(テナントID)もまた、ルールデータベース934に記憶される。サービス品質(quality of service, QoS)926ロジックは、テナントとルールとの間の関連付けを保持する関連付けテーブル936にアクセスしてもよい。関連付けテーブル936はまた、広告及び広告のサイズを含んでもよい。このようなデータは、QoSロジックによって、ネットワークの状態、ネットワークアプライアンスの状態又は他の遠隔測定データに基づいて、挿入されるべき特定の広告を選択又は推奨するために使用されてもよい。テナントIDは、アプリケーションフローから取得され、ルールデータベース934に記憶される。
ルールデータベース934は、ルールIDを記憶する。ルールIDは、ルールの一意の識別子である。これはデータベース管理システム(database management system, DBMS)によって生成されてもよい。ルールIDは、例えば、ルールデータベース934内のルールテーブル内の主キーとして使用されてもよい。
ルールデータベース934に記憶されたルールは、いくつかの形式のうちの1つを取ってもよい。ルールは、1つ以上の入力を使用し、TRUE又はFALSE条件に分解する、マッチングロジックを有するブール式でもよい。ルールは、ネットワークアプライアンス(図示せず)内のプロセッサによって実行可能であり、条件を決定するための入力を受け付けるバイナリでもよい。バイナリは、ブール結果を生成してもよい。他の例では、ルールは、バイナリルールと同様に動作する加速バイナリ(例えば、FPGAを構成するためのビットストリーム)でもよい。
ルールデータベース934に記憶されたルール入力は、ルール実行中にルールによって使用される。入力は、インライン解析914によって生成された情報を含んでもよい。ネットワークアプライアンス908の仕様は、どの解析が取得できるかを提供しなければならない。入力はまた、エンドポイントから抽出できるコンテキスト情報を含んでもよい。例えば、エンドポイントは、地理位置をネットワークアプライアンス908に提供してもよい。ネットワークアプライアンス908の仕様は、ネットワークアプライアンス908によって理解できる、どの解析がエンドポイントによって伝送できるかを提供しなければならない。入力はまた、ストリーム関連情報(例えば、ユーザのタイプ、ストリーミングされているコンテンツ、広告が最後に挿入された時間等)を含んでもよい。
ルールデータベース934はまた、どのくらいの頻度でルールが実行されるかを示す頻度属性を含む。これは、インタフェース938を使用して調整されてもよい。
インタフェース938を使用して、広告のリストがルールに関連付けられてもよい。異なる重み及び特性を有する異なる広告がルールデータベース934に記憶され、それにより、QoSロジック926は、ルールがアサートされたとき、現在の負荷に基づいてピック及び選択できる。広告主又は他のコンテンツプロバイダは、優先度又は重要度によって重み付けされた挿入コンテンツを提供してもよい。優先度の重み付けに基づいて、挿入コンテンツは、より頻繁に選択されてもよく、或いは、他のコンテンツよりも優先されてもよい。QoSロジック926は、どの広告を使用するかを決定するときに重みを使用してもよい。QoSロジック926は、広告露出を拡大するために或いは繰り返しを最小化するために、特定のストリーム及び/又は特定のユーザに以前に挿入された広告に関するステートフル情報を含んでもよい。
関連付けテーブル936は、ルールID及びそのルールへの関連する広告のリストを記憶する。広告は異なるサービス品質のトレードオフを有してもよい。例えば、広告のリストは、異なるサイズ、異なるビデオ品質、異なるオーディオ品質等の広告を含んでもよい。関連付けテーブル936はまた、ビデオサイズ、ビデオ品質又はオーディオ品質の増加のために追加される有効ネットワーク帯域幅を記憶してもよい。これらのメトリックは、挿入する広告を選択するのを助けるためにQoSロジック926によって使用されてもよい。
QoSロジック926は、特定の挿入のためにどの広告が実際に選択されるかを決定する役割を担うものである。特定のルールについての挿入ロジック918からの要求に応じて、ネットワークアプライアンス908のどの出口910をストリームが通過しているかを識別する。ネットワークアプライアンステレメトリを使用して、これは、出口910が受けている利用可能な帯域幅の量又は輻輳のレベルを収集する。テレメトリに基づいて、QoSロジック926は、適切なサイズ、品質、長さ等を有する広告を識別する。QoSロジック826は、現在選択されている広告がサイズ、品質等のような適切なパラメータを満たさない場合に、広告再選択のプロセスをトリガしてもよい。
挿入ロジック918は、インライン解析ロジック914を使用して、ネットワークアプライアンスを横切る様々なストリームに対してインラインストリーミング解析を実行する役割を担う。インライン解析は、テナントの現在の負荷又は構成に依存して、異なる頻度で実行できる。ストリーム毎に、インライン解析ロジック914は、ストリームタイプに関連するルールを実行する役割を担う。挿入ロジック918は、ルールに必要な入力を収集する。これは、インライン解析ロジック914又はエンドポイント追跡916とインタフェース接続することを伴ってもよい。次いで、挿入ロジック918は、入力及び実行されるべきルールをルール実行ロジック932に提供する。ルール実行ロジック932が、コンテンツが追加される必要がある正の結果を生成する場合、広告のどのインスタンスが挿入される必要があるかを決定するためにQoSロジック926を使用する。広告又は他のコンテンツのインスタンスが識別されると、挿入ロジック918は、そのストリームのトラフィックを停止し、トラフィックをそのストリームのバッファ930に記憶する。ローカルにトラフィックを記憶する代わりに、挿入ロジック918は、ストリーミングを一時停止させる負荷又はストリームを記憶する負荷をコンテンツ配信プラットフォーム902A又は902Bに移動させる、よく確立された標準トラフィック管理技術(全てのトラフィックを停止させるXON/XOFF又は特定のストリームを停止させるより細かいもの等)を使用してもよい。次いで、挿入ロジック918は、コンテンツをストリームに挿入する。コンテンツが提供されると、挿入ロジック918はストリームバッファ930からストリームを再開する。
認証ロジック928は、テナントによって提供されたコンテンツ及びルールが信頼できることを確保する役割を担う。これを行うために、認証ロジック928は、認証信頼サービスのリスト及びこれらの対応する公開鍵を含む、スタートアップ時に構成されたロジックとインタフェース接続してもよい。公開鍵は、信頼されたサービスとの接続を確立するために使用される。
認証ロジック928はまた、提供される全てのルール及びコンテンツを認証する役目を担うロジックとインタフェース接続してもよい。提供される各ルール及びコンテンツについて、認証ロジックは、ルール又はコンテンツに関連する認証エンティティに連絡し、ルール又はコンテンツのためのハッシュを提供し、認証エンティティからの認証を要求してもよい。認証エンティティが肯定的な結果を提供した場合、ルール又はコンテンツがルールデータベース934に追加される。認証エンティティが否定的な結果を提供した場合、ルール又はコンテンツは追加されない。拒否が要求側のテナントに返信されてもよく、通知がインフラストラクチャ所有者(例えば、スイッチ管理者又は所有者)に送信されてもよい。
図10は、一実施形態による、ネットワークアプライアンスを使用したコンテンツ挿入を実施するための方法1000を示すフローチャートである。方法1000は、エッジ計算ノード650のようなデバイスによって実行されてもよい。
1002において、ネットワークトラフィックのストリームは、ネットワークアプライアンスにおいて入口ポートで受信される。様々な実施形態では、ネットワークアプライアンスは、スイッチ、ルータ又はハブのうち1つである。
1004において、コンテンツ挿入スロットがストリーム内で識別される。一実施形態では、コンテンツ挿入スロットは、ストリーム内の広告マーカーを使用して示される。
1006において、ルールがルールデータベースから取得される。一実施形態では、ルールデータベースは、コンテキストルール、広告プロバイダルール及び適応ルールを記憶する。
1008において、ルールの入力は、ストリームのコンテキストに基づいて決定される。一実施形態では、ルールの入力を決定することは、以前に挿入されたコンテンツに対して解析を実行することを含む。一実施形態では、ルールの入力を決定することは、ストリームを消費するデバイスに関する情報を取得することを含む。更なる実施形態では、デバイスに関する情報は、デバイスの位置を含む。
1010において、ルールは、ルールの入力によって実行され、ルールの実行は、コンテンツをストリームに挿入する決定をもたらす。一実施形態では、ルールを実行することは、ブール式を評価することを含む。他の実施形態では、ルールを実行することは、プロセッサ上でバイナリを実行することを含む。他の実施形態では、ルールを実行することは、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)をプログラムするためにビットストリームを使用することを含む。
1012において、ストリームに挿入するための挿入可能なコンテンツが決定される。一実施形態では、ストリームに挿入するための挿入可能なコンテンツを決定することは、現在のネットワーク性能メトリックを評価し、現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択することを含む。更なる実施形態では、現在のネットワーク性能メトリックは、ネットワークアプライアンスの出口ポートの利用可能な帯域幅を含む。更なる実施形態では、方法1000は、複数の広告から広告を選択することを含み、複数の広告はそれぞれ、対応する重みを有し、広告を選択することは、複数の広告の対応する重みに基づく。
1014において、コンテンツをストリームに挿入することを決定したことに応じて、挿入可能なコンテンツは、ネットワークアプライアンスの出口ポート上で伝送される。挿入可能なコンテンツは、ストリームをネットワークアプライアンスのメモリデバイスにバッファリングする一方で、ストリームを消費するデバイスにコンテンツ挿入スロット内で伝送される。
一実施形態では、ネットワークアプライアンスは複数のテナントをホストし、方法はテナント毎に実行される。更なる実施形態では、ルールの入力を決定することは、方法を実行するテナントに関する情報を取得することを含む。
一実施形態では、方法1000は、挿入可能なコンテンツが伝送された後に、バッファからストリームを再開することを含む。一実施形態では、方法1000は、挿入可能なコンテンツの認証を取得することを含む。一実施形態では、方法1000は、ルールの認証を取得することを含む。
実施形態は、ハードウェア、ファームウェア及びソフトウェアの1つ又は組み合わせで実装されてもよい。実施形態はまた、機械読み取り可能記憶デバイスに記憶された命令として実装されてもよく、これは、本明細書に記載の動作を実行するために少なくとも1つのプロセッサによって読み取られて実行されてもよい。機械読み取り可能記憶デバイスは、機械(例えば、コンピュータ)によって読み取り可能な形式で情報を記憶するためのいずれかの非一時的なメカニズムを含んでもよい。例えば、機械読み取り可能記憶デバイスは、読み取り専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random-access memory, RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス並びに他の記憶デバイス及び媒体を含んでもよい。
本明細書に記載の例は、モジュール、知的財産(intellectual property, IP)ブロック若しくはコア又はメカニズムのようなロジック又は多数のコンポーネントを含んでもよく、或いは、これらの上で動作してもよい。このようなロジック又はコンポーネントは、本明細書に記載の動作を実行するために、1つ以上のプロセッサに通信的に結合されたハードウェア、ソフトウェア又はファームウェアでもよい。ロジック又はコンポーネントは、ハードウェアモジュール(例えば、IPブロック)でもよく、したがって、指定の動作を実行できる有形のエンティティと考えられてもよく、特定の方式で構成又は配置されてもよい。一例では、回路は、IPブロック、IPコア、システムオンチップ(system-on-chip, SoC)等として、指定の方式で(例えば、内部的に或いは他の回路のような外部エンティティに対して)配置されてもよい。
一例では、1つ以上のコンピュータシステム(例えば、スタンドアローン、クライアント又はサーバコンピュータシステム)又は1つ以上のハードウェアプロセッサの全部又は一部は、指定の動作を実行するように動作するモジュールとして、ファームウェア又はソフトウェア(例えば、命令、アプリケーション部分又はアプリケーション)によって構成されてもよい。一例では、ソフトウェアは、機械読み取り可能媒体に存在してもよい。一例では、ソフトウェアは、モジュールの基礎となるハードウェアによって実行されると、ハードウェアに指定の動作を実行させる。したがって、ハードウェアモジュールという用語は、有形のエンティティを包含し、特定の方式で動作するように或いは本明細書に記載のいずれかの動作の一部又は全部を実行するように物理的に構築されるか、具体的に構成されるか(例えば、配線接続)或いは一時的に(例えば、過渡的に)構成される(例えば、プログラムされる)エンティティであると理解される。
モジュールが一時的に構成される例を考えると、モジュールのそれぞれはいずれかの時点でインスタンス化される必要はない。例えば、モジュールがソフトウェアを使用して構成された汎用ハードウェアプロセッサを含む場合、汎用ハードウェアプロセッサは、異なる時間にそれぞれ異なるモジュールとして構成されてもよい。したがって、ソフトウェアは、例えば、或る時点で特定のモジュールを構成し、異なる時点で異なるモジュールを構成するように、ハードウェアプロセッサを構成してもよい。モジュールはまた、本明細書に記載の方法論を実行するように動作するソフトウェア又はファームウェアモジュールでもよい。
IPブロック(IPコアとも呼ばれる)は、ロジック、セル又は集積回路の再利用可能なユニットである。IPブロックは、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、プログラマブルロジックデバイス(programmable logic device, PLD)、システムオンチップ(system on a chip, SoC)等の一部として使用されてもよい。これは、デジタル信号処理又は画像処理のような特定の目的のために構成されてもよい。例示的なIPコアは、中央処理装置(central processing unit, CPU)コア、集積グラフィックス、セキュリティ、入出力(I/O)制御、システムエージェント、グラフィックス処理装置(graphics processing unit, GPU)、人工知能、ニューラルプロセッサ、画像処理ユニット、通信インタフェース、メモリコントローラ、周辺デバイス制御装置、プラットフォームコントローラハブ等を含む。
[更なる注釈及び例]
例1は、ストリームを受信するための入口ポートと、出口ポートと、ストリームデータを記憶するためのメモリデバイスと、ネットワークアプライアンスの動作コンテキストを監視するためのサービス品質回路と、ストリーム内のコンテンツ挿入スロットを識別し、ルールデータベースからルールを取得し、ストリームのコンテキストに基づいてルールの入力を決定するように解析回路とインタフェース接続し、ルールの入力によってルールを実行するようにルール実行回路とインタフェース接続し、ルールの実行はコンテンツをストリームに挿入する決定をもたらし、コンテンツをストリームに挿入する決定に応じて、ストリームに挿入するための挿入可能なコンテンツを決定するようにサービス品質回路とインタフェース接続し、ストリームをネットワークアプライアンスのメモリデバイスにバッファリングする一方で、ネットワークアプライアンスの出口ポート上で、コンテンツ挿入スロット内の挿入可能なコンテンツを、ストリームを消費するデバイスに伝送するための挿入回路とを含むネットワークアプライアンスである。
例2において、例1の対象物は、ネットワークアプライアンスがスイッチ、ルータ又はハブのうち1つであることを含む。
例3において、例1~2の対象物は、コンテンツ挿入スロットがストリーム内の広告マーカーを使用して示されることを含む。
例4において、例1~3の対象物は、ルールデータベースがコンテキストルール、広告プロバイダルール及び適応ルールを記憶することを含む。
例5において、例1~4の対象物は、ルールの入力を決定するために、解析回路が以前に挿入されたコンテンツに対して解析を実行することを含む。
例6において、例1~5の対象物は、ルールの入力を決定するために、解析回路がエンドデバイスに関する情報を取得することを含む。
例7において、例6の対象物は、エンドデバイスに関する情報がエンドデバイスの位置を含むことを含む。
例8において、例1~7の対象物は、ネットワークアプライアンスが複数のテナントをホストし、挿入回路の動作がテナント毎に実行されることを含む。
例9において、例8の対象物は、ルールの入力を決定するために、解析回路が方法を実行するテナントに関する情報を取得することを含む。
例10において、例1~9の対象物は、ルールを実行するために、ルール実行回路がブール式を評価することを含む。
例11において、例1~10の対象物は、ルールを実行するために、ルール実行回路がプロセッサ上でバイナリを実行することを含む。
例12において、例1~11の対象物は、ルールを実行するために、ルール実行回路がフィールドプログラマブルゲートアレイ(FPGA)をプログラムするためにビットストリームを使用することを含む。
例13において、例1~12の対象物は、ストリームに挿入するための挿入可能なコンテンツを決定するために、サービス品質回路が、現在のネットワーク性能メトリックを評価し、現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択することを含む。
例14において、例13の対象物は、現在のネットワーク性能メトリックが、ネットワークアプライアンスの出口ポートの利用可能な帯域幅を含むことを含む。
例15において、例14の対象物は、サービス品質回路が、複数の広告から広告を選択し、複数の広告はそれぞれ対応する重みを有し、広告の選択は、複数の広告の対応する重みに基づくことを含む。
例16において、例1~15の対象物は、挿入回路が、挿入可能なコンテンツが伝送された後に、バッファからストリームを再開することを含む。
例17において、例1~16の対象物は、挿入回路が挿入可能なコンテンツの認証を取得することを含む。
例18において、例1~17の対象物は、挿入回路がルールの認証を取得することを含む。
例19は、ネットワークアプライアンスにおいて入口ポートでネットワークトラフィックのストリームを受信するステップと、ストリーム内のコンテンツ挿入スロットを識別するステップと、ルールデータベースからルールを取得するステップと、ストリームのコンテキストに基づいてルールの入力を決定するステップと、ルールの入力によってルールを実行するステップであり、ルールの実行はコンテンツをストリームに挿入する決定をもたらす、ステップと、ストリームに挿入するための挿入可能なコンテンツを決定するステップと、コンテンツをストリームに挿入する決定に応じて、ストリームをネットワークアプライアンスのメモリデバイスにバッファリングする一方で、ネットワークアプライアンスの出口ポート上で、コンテンツ挿入スロット内の挿入可能なコンテンツを、ストリームを消費するデバイスに伝送するステップとを含む方法である。
例20において、例19の対象物は、ネットワークアプライアンスがスイッチ、ルータ又はハブのうち1つであることを含む。
例21において、例19~20の対象物は、コンテンツ挿入スロットがストリーム内の広告マーカーを使用して示されることを含む。
例22において、例19~21の対象物は、ルールデータベースがコンテキストルール、広告プロバイダルール及び適応ルールを記憶することを含む。
例23において、例19~22の対象物は、ルールの入力を決定するステップが、以前に挿入されたコンテンツに対して解析を実行するステップを含むことを含む。
例24において、例19~23の対象物は、ルールの入力を決定するステップが、エンドデバイスに関する情報を取得するステップを含むことを含む。
例25において、例24の対象物は、エンドデバイスに関する情報がエンドデバイスの位置を含むことを含む。
例26において、例19~25の対象物は、ネットワークアプライアンスが複数のテナントをホストし、方法がテナント毎に実行されることを含む。
例27において、例26の対象物は、ルールの入力を決定するステップが、当該方法を実行するテナントに関する情報を取得するステップを含むことを含む。
例28において、例19~27の対象物は、ルールを実行するステップが、ブール式を評価するステップを含むことを含む。
例29において、例19~28の対象物は、ルールを実行するステップが、プロセッサ上でバイナリを実行するステップを含むことを含む。
例30において、例19~29の対象物は、ルールを実行するステップが、フィールドプログラマブルゲートアレイ(FPGA)をプログラムするためにビットストリームを使用するステップを含むことを含む。
例31において、例19~30の対象物は、ストリームに挿入するための挿入可能なコンテンツを決定するステップが、現在のネットワーク性能メトリックを評価するステップと、現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択するステップとを含むことを含む。
例32において、例31の対象物は、現在のネットワーク性能メトリックが、ネットワークアプライアンスの出口ポートの利用可能な帯域幅を含むことを含む。
例33において、例32の対象物は、複数の広告から広告を選択するステップであり、複数の広告はそれぞれ対応する重みを有し、広告の選択は、複数の広告の対応する重みに基づく、ステップを含む。
例34において、例19~33の対象物は、挿入可能なコンテンツが伝送された後に、バッファからストリームを再開するステップを含む。
例35において、例19~34の対象物は、挿入可能なコンテンツの認証を取得するステップを含む。
例36において、例19~35の対象物は、ルールの認証を取得するステップを含む。
例37は、機械によって実行されると、機械に例19~36の方法のいずれかの動作を実行させる命令を含む少なくとも1つの機械読み取り可能媒体である。
例38は、例19~36の方法のいずれかを実行するための手段を含む装置である。
例39は、ネットワークアプライアンスにおいて入口ポートでネットワークトラフィックのストリームを受信するための手段と、ストリーム内のコンテンツ挿入スロットを識別するための手段と、ルールデータベースからルールを取得するための手段と、ストリームのコンテキストに基づいてルールの入力を決定するための手段と、ルールの入力によってルールを実行するための手段であり、ルールの実行はコンテンツをストリームに挿入する決定をもたらす、手段と、ストリームに挿入するための挿入可能なコンテンツを決定するための手段と、コンテンツをストリームに挿入する決定に応じて、ストリームをネットワークアプライアンスのメモリデバイスにバッファリングする一方で、ネットワークアプライアンスの出口ポート上で、コンテンツ挿入スロット内の挿入可能なコンテンツを、ストリームを消費するデバイスに伝送するための手段と含む方法である。
例40において、例39の対象物は、ネットワークアプライアンスがスイッチ、ルータ又はハブのうち1つであることを含む。
例41において、例39~40の対象物は、コンテンツ挿入スロットがストリーム内の広告マーカーを使用して示されることを含む。
例42において、例39~41の対象物は、ルールデータベースがコンテキストルール、広告プロバイダルール及び適応ルールを記憶することを含む。
例43において、例39~42の対象物は、ルールの入力を決定するための手段が、以前に挿入されたコンテンツに対して解析を実行するための手段を含むことを含む。
例44において、例39~43の対象物は、ルールの入力を決定するための手段が、エンドデバイスに関する情報を取得するための手段を含むことを含む。
例45において、例44の対象物は、エンドデバイスに関する情報がエンドデバイスの位置を含むことを含む。
例46において、例39~45の対象物は、ネットワークアプライアンスが複数のテナントをホストし、方法がテナント毎に実行されることを含む。
例47において、例46の対象物は、ルールの入力を決定するための手段が、ネットワークアプライアンス上で実行するテナントに関する情報を取得するための手段を含むことを含む。
例48において、例39~47の対象物は、ルールを実行するための手段が、ブール式を評価するための手段を含むことを含む。
例49において、例39~48の対象物は、ルールを実行するための手段が、プロセッサ上でバイナリを実行するための手段を含むことを含む。
例50において、例39~49の対象物は、ルールを実行するための手段が、フィールドプログラマブルゲートアレイ(FPGA)をプログラムするためにビットストリームを使用するための手段を含むことを含む。
例51において、例39~50の対象物は、ストリームに挿入するための挿入可能なコンテンツを決定するための手段が、現在のネットワーク性能メトリックを評価するための手段と、現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択するための手段とを含むことを含む。
例52において、例51の対象物は、現在のネットワーク性能メトリックが、ネットワークアプライアンスの出口ポートの利用可能な帯域幅を含むことを含む。
例53において、例52の対象物は、複数の広告から広告を選択するための手段であり、複数の広告はそれぞれ対応する重みを有し、広告の選択は、複数の広告の対応する重みに基づく、手段を含む。
例54において、例39~53の対象物は、挿入可能なコンテンツが伝送された後に、バッファからストリームを再開するための手段を含む。
例55において、例39~54の対象物は、挿入可能なコンテンツの認証を取得することを含む。
例56において、例39~55の対象物は、ルールの認証を取得することを含む。
例57は、機械によって実行されると、機械に、ネットワークアプライアンスにおいて入口ポートでネットワークトラフィックのストリームを受信する動作と、ストリーム内のコンテンツ挿入スロットを識別する動作と、ルールデータベースからルールを取得する動作と、ストリームのコンテキストに基づいてルールの入力を決定する動作と、ルールの入力によってルールを実行する動作であり、ルールの実行はコンテンツをストリームに挿入する決定をもたらす、動作と、ストリームに挿入するための挿入可能なコンテンツを決定する動作と、コンテンツをストリームに挿入する決定に応じて、ストリームをネットワークアプライアンスのメモリデバイスにバッファリングする一方で、ネットワークアプライアンスの出口ポート上で、コンテンツ挿入スロット内の挿入可能なコンテンツを、ストリームを消費するデバイスに伝送する動作とを含む動作を実行させる命令を含む少なくとも1つの機械読み取り可能媒体である。
例58において、例57の対象物は、ネットワークアプライアンスがスイッチ、ルータ又はハブのうち1つであることを含む。
例59において、例57~58の対象物は、コンテンツ挿入スロットがストリーム内の広告マーカーを使用して示されることを含む。
例60において、例57~59の対象物は、ルールデータベースがコンテキストルール、広告プロバイダルール及び適応ルールを記憶することを含む。
例61において、例57~60の対象物は、ルールの入力を決定するための命令が、以前に挿入されたコンテンツに対して解析を実行するための命令を含むことを含む。
例62において、例57~61の対象物は、ルールの入力を決定するための命令が、エンドデバイスに関する情報を取得するための命令を含むことを含む。
例63において、例62の対象物は、エンドデバイスに関する情報がエンドデバイスの位置を含むことを含む。
例64において、例57~63の対象物は、ネットワークアプライアンスが複数のテナントをホストし、動作がテナント毎に実行されることを含む。
例65において、例64の対象物は、ルールの入力を決定するための命令が、当該方法を実行するテナントに関する情報を取得するための命令を含むことを含む。
例66において、例57~65の対象物は、ルールを実行するための命令が、ブール式を評価するための命令を含むことを含む。
例67において、例57~66の対象物は、ルールを実行するための命令が、プロセッサ上でバイナリを実行するための命令を含むことを含む。
例68において、例57~67の対象物は、ルールを実行するための命令が、フィールドプログラマブルゲートアレイ(FPGA)をプログラムするためにビットストリームを使用するための命令を含むことを含む。
例69において、例57~68の対象物は、ストリームに挿入するための挿入可能なコンテンツを決定するための命令が、現在のネットワーク性能メトリックを評価するための命令と、現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択するための命令とを含むことを含む。
例70において、例69の対象物は、現在のネットワーク性能メトリックが、ネットワークアプライアンスの出口ポートの利用可能な帯域幅を含むことを含む。
例71において、例70の対象物は、複数の広告から広告を選択するための命令であり、複数の広告はそれぞれ対応する重みを有し、広告の選択は、複数の広告の対応する重みに基づく、命令を含む。
例72において、例57~71の対象物は、挿入可能なコンテンツが伝送された後に、バッファからストリームを再開するための命令を含む。
例73において、例57~72の対象物は、挿入可能なコンテンツの認証を取得するための命令を含む。
例74において、例57~73の対象物は、ルールの認証を取得するための命令を含む。
例75は、複数のエッジコンピューティングノードを含むエッジコンピューティングシステムであり、複数のエッジコンピューティングノードは、例1~74のいずれかのバイオメトリックセキュリティ方法で構成される。
例76は、エッジコンピューティングシステムにおいて動作可能なエッジコンピューティングノードであり、例1~74のいずれかを実施するように構成された処理回路を含む。
例77は、例1~74のいずれかを実行するように構成された、エッジコンピューティングシステムにおいてサーバとして動作可能なエッジコンピューティングノードである。
例78は、例1~74のいずれかを実行するように構成された、エッジコンピューティングシステムにおいてクライアントとして動作可能なエッジコンピューティングノードである。
例79は、例1~74のいずれかを実行するように構成された、集約ノード、ネットワークハブノード、ゲートウェイノード又はコアデータ処理ノードとしてエッジコンピューティングネットワークのレイヤ内で動作可能なエッジコンピューティングノードである。
例80は、エッジコンピューティングシステムが例1~74のいずれかを実施することを可能にするように、通信ネットワークを提供又は動作するように構成されたネットワーキング及び処理コンポーネントを含むエッジコンピューティングネットワークである。
例81は、エッジコンピューティングシステムが例1~74のいずれかを実施することを可能にするように、通信ネットワークを提供又は動作するように構成されたネットワーキング及び処理コンポーネントを含むアクセスポイントである。
例82は、エッジコンピューティングシステムが例1~74のいずれかを実施することを可能にするように、通信ネットワークを提供又は動作するように構成されたネットワーキング及び処理コンポーネントを含む基地局である。
例83は、エッジコンピューティングシステムが例1~74のいずれかを実施することを可能にするように、通信ネットワークを提供又は動作するように構成されたネットワーキングコンポーネントを含む路側ユニットである。
例84は、公衆エッジコンピューティングネットワークとは異なるプライベート通信ネットワークにおいて動作可能なオンプレミスサーバであり、サーバは、エッジコンピューティングシステムが例1~74のいずれかを実施することを可能にするように構成される。
例85は、例1~74のずれかのバイオメトリックセキュリティ方法で構成されたネットワーキング及び処理コンポーネントを含む3GPP 4G/LTE移動無線通信システムである。
例86は、例1~74のずれかのバイオメトリックセキュリティ方法で構成されたネットワーキング及び処理コンポーネントを含む5Gネットワーク移動無線通信システムである。
例87は、例1~74のいずれかを実施するように構成されたエッジコンピューティングシステムに接続するように構成されたネットワーキング及び処理回路を含むユーザ機器デバイスである。
例88は、エッジコンピューティングシステムと計算動作を調整するように構成された処理回路を含むクライアントコンピューティングデバイスであり、エッジコンピューティングシステムは、例1~74のいずれかを実施するように構成される。
例89は、例1~74いずれかを実施するように構成された、エッジコンピューティングシステムにおいて動作可能なエッジプロビジョニングノードである。
例90は、例1~74いずれかを実施するように構成された、エッジコンピューティングシステムにおいて動作可能なサービスオーケストレーションノードである。
例91は、例1~74いずれかを実施するように構成された、エッジコンピューティングシステムにおいて動作可能なアプリケーションオーケストレーションノードである。
例92は、例1~74いずれかを実施するように構成された、エッジコンピューティングシステムにおいて動作可能なマルチテナント管理ノードである。
例93は、処理回路を含むエッジコンピューティングシステムであり、エッジコンピューティングシステムは、例1~74のいずれかを実施するように、1つ以上の機能及びサービスを動作させるように構成される。
例94は、例1~74いずれかのバイオメトリックセキュリティ方法で構成されたエッジコンピューティングシステム内で動作可能な、実装されたネットワーク機能を有するネットワーキングハードウェアである。
例95は、エッジコンピューティングシステムにおいて動作可能な、実装されたアクセラレーション機能を有するアクセラレーションハードウェアであり、アクセラレーション機能は、例1~74のいずれかを実施するように構成される。
例96は、エッジコンピューティングシステムにおいて動作可能な、実装された記憶能力を有する記憶ハードウェアであり、記憶ハードウェアは、例1~74のいずれかを実施するように構成される。
例97は、エッジコンピューティングシステムにおいて動作可能な、実装された計算能力を有する計算ハードウェアであり、計算ハードウェアは、例1~74のいずれかを実施するように構成される。
例98は、例1~74のいずれかを実施するように構成された、V2V(vehicle-to-vehicle)、V2X(vehicle-to-everything)又はV2I(vehicle-toinfrastructure)シナリオをサポートするように適合されたエッジコンピューティングシステムである。
例99は、1つ以上のETSI(European Telecommunications Standards Institute)MEC(Multi-Access Edge Computing)の仕様に従って動作するように適合されたエッジコンピューティングシステムであり、エッジコンピューティングシステムは、例1~74のいずれかを実施するように構成される。
例100は、1つ以上のマルチアクセスエッジコンピューティング(MEC)コンポーネントを動作させるように適合されたエッジコンピューティングシステムであり、MECコンポーネントは、ETSI(European Telecommunications Standards Institute)MEC(Multi-Access Edge Computing)の構成に従って、MECプロキシ、MECアプリケーションオーケストレータ、MECアプリケーション、MECプラットフォーム又はMECサービスのうち1つ以上から提供され、MECコンポーネントは、例1~74のいずれかを実施するように構成される。
例101は、例1~74のいずれかを実施するように構成された、マイクロサービスクラスタ、サイドカーを有するマイクロサービスクラスタ、又はサイドカーを有するリンクされたマイクロサービスクラスタを備えたエッジメッシュとして構成されたエッジコンピューティングシステムである。
例102は、例1~74のいずれかを実施するように構成された、専用ハードウェア、仮想マシン、コンテナ、コンテナ上の仮想マシンの間で提供される1つ以上の隔離環境を実施するように構成された回路を含むエッジコンピューティングシステムである。
例103は、例1~74のいずれかを実施するように構成された、エンタープライズサーバ、路側サーバ、ストリートキャビネットサーバ又は電気通信サーバとして動作するように構成されたエッジコンピューティングサーバである。
例104は、計算オフロード、データキャッシュ、ビデオ処理、ネットワーク機能仮想化、無線アクセスネットワーク管理、拡張現実、仮想現実、自動運転、ビークル支援、ビークル通信、産業自動化、小売サービス、製造操作、スマートビルディング、エネルギー管理、モノのインターネット動作、オブジェクト検出、音声認識、ヘルスケアアプリケーション、ゲームアプリケーション、又はアクセラレーションされたコンテンツ処理のうち1つ以上から提供されるユースケースで、例1~74のいずれかを実施するように構成されたエッジコンピューティングシステムである。
例105は、例1~74のいずれかを実施するように構成された、異なる地理的位置において複数の所有者によって動作されるノードを含むエッジコンピューティングシステムである。
例106は、それぞれのクラウドサービスを動作させるデータサーバを含むクラウドコンピューティングシステムであり、それぞれのクラウドサービスは、エッジコンピューティングシステムと協調して、例1~74のいずれかを実施するように構成される。
例107は、クラウドレット、エッジレット又はアプレットサービスを動作させるためのハードウェアを含むサーバであり、サービスは、エッジコンピューティングシステムと協調して、例1~74のいずれかを実施するように構成される。
例108は、例1~74のいずれかを実施するための少なくとも1つのプロセッサ及びメモリを有する1つ以上のデバイスを含む、エッジコンピューティングシステムにおけるエッジノードである。
例109は、エッジコンピューティングシステムにおけるエッジノードであり、エッジノードは、管理コンソールサービス、テレメトリサービス、プロビジョニングサービス、アプリケーション若しくはサービスオーケストレーションサービス、仮想マシンサービス、コンテナサービス、機能展開サービス若しくは計算展開サービス、又はアクセラレーション管理サービスの中から提供される1つ以上のサービスを動作させ、1つ以上のサービスは、例1~74のいずれかを実施するように構成される。
例110は、エッジコンピューティングシステムのネットワークレイヤの間に分散された分散エッジノードのセットであり、ネットワークレイヤは、例1~74のいずれかを実施するように構成された、クロースエッジ、ローカルエッジ、エンタープライズエッジ、オンプレミスエッジ、ニアエッジ、ミドルエッジ、エッジ又はファーエッジネットワークレイヤを含む。
例111は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに例1~74のいずれかを実行させる命令を含む1つ以上のコンピュータ読み取り可能媒体とを含むエッジコンピューティングシステムの装置である。
例112は、エッジコンピューティングシステムの電子デバイスに、電子デバイスの1つ以上のプロセッサによる命令の実行の際に、例1~74のいずれかを実行させる命令を含む1つ以上のコンピュータ読み取り可能記憶媒体である。
例113は、例1~74のいずれかを実行するために、エッジコンピューティングシステムにおいて通信される通信信号である。
例114は、エッジコンピューティングシステムにおいて通信されるデータ構造であり、データ構造は、例1~74のいずれかを実行するための、データグラム、パケット、フレーム、セグメント、プロトコルデータユニット(PDU)又はメッセージを含む。
例115は、エッジコンピューティングシステムにおいて通信される信号であり、信号は、例1~74のいずれかを実行するために、データグラム、パケット、フレーム、セグメント、プロトコルデータユニット(PDU)又はメッセージで符号化される。
例116は、エッジコンピューティングシステムにおいて通信される電磁信号であり、電磁信号は、コンピュータ読み取り可能命令を担持し、1つ以上のプロセッサによるコンピュータ読み取り可能命令の実行は、1つ以上のプロセッサに例1~74のいずれかを実行させる。
例117は、エッジコンピューティングシステムにおいて使用されるコンピュータプログラムであり、コンピュータプログラムは命令を含み、エッジコンピューティングシステムにおける処理要素によるプログラムの実行は、処理要素に例1~74のいずれかを実行させる。
例118は、例1~74のいずれかを実行するための手段を含むエッジコンピューティングシステムの装置である。
例119は、例1~74のいずれかを実行するためのロジック、モジュール又は回路を含むエッジコンピューティングシステムの装置である。
例120は、処理回路によって実行されると、処理回路に、例75~119のいずれかを実施するための動作を実行させる命令を含む少なくとも1つの機械読み取り可能媒体である。
例121は、例75~119のいずれかを実施するための手段を含む装置である。
例122は、例75~119のいずれかを実施するためのシステムである。
例123は、例75~119のいずれかを実施するための方法である。
上記の詳細な説明は、詳細な説明の一部を形成する添付の図面への参照を含む。図面は、例示として、実施され得る特定の実施形態を示す。これらの実施形態は、本明細書では「例」とも呼ばれる。このような例は、図示又は記載のものに加えて要素を含んでもよい。しかし、図示又は記載の要素を含む例も考えられる。さらに、特定の例(又はその1つ以上の側面)に関して、或いは、本明細書に図示又は記載の他の例(又はその1つ以上の側面)に関して、図示又は記載のこれらの要素(又はその1つ以上の側面)のいずれかの組み合わせ又は順列を使用する例も考えられる。
この文献で参照されている刊行物、特許及び特許文献は、あたかも個々に参照により組み込まれているかのように、全体として参照することにより援用する。この文献と参照により援用されるこれらの文献との間で一貫性がない使用がある場合、援用された文献における使用は、この文献での使用の補足と考えられるべきである。すなわち、妥協できない矛盾については、この文献における使用が支配する。
この文献において、単数形は、特許文献において一般的であるように、「少なくとも1つ」又は「1つ以上」のいずれかの他の例又は用法とは独立して、1つ又は1つより多くを含むために使用される。この文献において、「又は」という用語は、非排他的論理和を示すために使用され、それにより、「A又はB」は、特に指示がない限り、「AであるがBではない」、「BであるがAではない」及び「A及びB」を含む。添付の請求の範囲において、「含む(including)」及び「ここで(in which)」という用語は、それぞれの「含む(comprising)」及び「ここで(wherein)」という用語の平易な英語の等価なものとして使用される。また、以下の請求の範囲において、「含む(including)」及び「含む(comprising)」という用語は、オープンエンドであり、すなわち、請求項においてこのような用語の後に記載されているものに加えて、要素を含むシステム、デバイス、物品又はプロセスが、依然としてその請求項の範囲内に入ると考えられる。さらに、以下の請求の範囲において、「第1」、「第2」及び「第3」等の用語は、単にラベルとして使用されており、これらの対象物についての数値的順序を示唆することを意図するものではない。
上記の説明は例示であり限定的ではないことを意図している。例えば、上記の例(又はその1つ以上の側面)は、互いに組み合せて使用されてもよい。他の実施形態は、上記の説明を検討することで当業者等により使用されてもよい。要約は、読者が技術的開示の性質を迅速に確認することを可能にするためのものであり、請求の範囲の範囲又は意味を解釈又は限定するために使用されないという理解で提出される。また、上記の詳細な説明において、開示を合理化するために、様々な特徴が一緒にまとめられることがある。しかし、実施形態は特徴のサブセットを特徴とすることがあるので、特許請求の範囲は、本明細書に開示の全ての特徴を記載しないことがある。さらに、実施形態は、特定の例に開示されるものよりも少ない特徴を含んでもよい。したがって、以下の請求の範囲は、詳細な説明に組み込まれ、請求項は、別々の実施形態として独自に成立する。本明細書に開示の実施形態の範囲は、特許請求の範囲が権利を有する均等物の全範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。

Claims (26)

  1. ネットワークアプライアンスであって、
    ストリームを受信するための入口ポートと、
    出口ポートと、
    ストリームデータを記憶するためのメモリデバイスと、
    当該ネットワークアプライアンスの動作コンテキストを監視するためのサービス品質回路と、
    前記ストリーム内のコンテンツ挿入スロットを識別し、
    ルールデータベースからルールを取得し、
    前記ストリームのコンテキストに基づいて前記ルールの入力を決定するように解析回路とインタフェース接続し、
    前記ルールの前記入力によって前記ルールを実行するようにルール実行回路とインタフェース接続し、前記ルールの前記実行はコンテンツを前記ストリームに挿入する決定をもたらし、
    コンテンツを前記ストリームに挿入する前記決定に応じて、
    前記ストリームに挿入するための挿入可能なコンテンツを決定するように前記サービス品質回路とインタフェース接続し、
    前記ストリームを当該ネットワークアプライアンスのメモリデバイスにバッファリングする一方で、当該ネットワークアプライアンスの前記出口ポート上で、前記コンテンツ挿入スロット内の前記挿入可能なコンテンツを、前記ストリームを消費するデバイスに伝送するための挿入回路と
    を含むネットワークアプライアンス。
  2. 当該ネットワークアプライアンスは、スイッチ、ルータ又はハブのうち1つである、請求項1に記載のネットワークアプライアンス。
  3. 前記コンテンツ挿入スロットは、前記ストリーム内の広告マーカーを使用して示される、請求項1又は2に記載のネットワークアプライアンス。
  4. 前記ルールデータベースは、コンテキストルール、広告プロバイダルール及び適応ルールを記憶する、請求項1に記載のネットワークアプライアンス。
  5. 前記ルールの入力を決定するために、前記解析回路は、以前に挿入されたコンテンツに対して解析を実行する、請求項1に記載のネットワークアプライアンス。
  6. 前記ルールの入力を決定するために、前記解析回路は、エンドデバイスに関する情報を取得する、請求項1に記載のネットワークアプライアンス。
  7. エンドデバイスに関する情報は、前記エンドデバイスの位置を含む、請求項1に記載のネットワークアプライアンス。
  8. 当該ネットワークアプライアンスは、複数のテナントをホストし、挿入回路の動作は、テナント毎に実行される、請求項1に記載のネットワークアプライアンス。
  9. 前記ルールの入力を決定するために、前記解析回路は、当該方法を実行するテナントに関する情報を取得する、請求項1に記載のネットワークアプライアンス。
  10. 前記ルールを実行するために、前記ルール実行回路は、ブール式を評価する、請求項1に記載のネットワークアプライアンス。
  11. 前記ルールを実行するために、前記ルール実行回路は、プロセッサ上でバイナリを実行する、請求項1に記載のネットワークアプライアンス。
  12. 前記ルールを実行するために、前記ルール実行回路は、フィールドプログラマブルゲートアレイ(FPGA)をプログラムするためにビットストリームを使用する、請求項1に記載のネットワークアプライアンス。
  13. 前記ストリームに挿入するための挿入可能なコンテンツを決定するために、前記サービス品質回路は、
    現在のネットワーク性能メトリックを評価し、
    前記現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択する、請求項1に記載のネットワークアプライアンス。
  14. 現在のネットワーク性能メトリックは、前記ネットワークアプライアンスの出口ポートの利用可能な帯域幅を含む、請求項1に記載のネットワークアプライアンス。
  15. 前記サービス品質回路は、複数の広告から広告を選択し、前記複数の広告はそれぞれ対応する重みを有し、前記広告の前記選択は、前記複数の広告の前記対応する重みに基づく、請求項1に記載のネットワークアプライアンス。
  16. 前記挿入回路は、前記挿入可能なコンテンツが伝送された後に、バッファから前記ストリームを再開する、請求項1に記載のネットワークアプライアンス。
  17. 前記挿入回路は、前記挿入可能なコンテンツの認証を取得する、請求項1に記載のネットワークアプライアンス。
  18. 前記挿入回路は、前記ルールの認証を取得する、請求項1に記載のネットワークアプライアンス。
  19. ネットワークアプライアンスにおいて入口ポートでネットワークトラフィックのストリームを受信するステップと、
    前記ストリーム内のコンテンツ挿入スロットを識別するステップと、
    ルールデータベースからルールを取得するステップと、
    前記ストリームのコンテキストに基づいて前記ルールの入力を決定するステップと、
    前記ルールの前記入力によって前記ルールを実行するステップであり、前記ルールの前記実行はコンテンツを前記ストリームに挿入する決定をもたらす、ステップと、
    前記ストリームに挿入するための挿入可能なコンテンツを決定するステップと、
    コンテンツを前記ストリームに挿入する決定に応じて、前記ストリームを前記ネットワークアプライアンスのメモリデバイスにバッファリングする一方で、前記ネットワークアプライアンスの出口ポート上で、前記コンテンツ挿入スロット内の前記挿入可能なコンテンツを、前記ストリームを消費するデバイスに伝送するステップと
    を含む方法。
  20. ネットワークアプライアンスにおいて入口ポートでネットワークトラフィックのストリームを受信するための手段と、
    前記ストリーム内のコンテンツ挿入スロットを識別するための手段と、
    ルールデータベースからルールを取得するための手段と、
    前記ストリームのコンテキストに基づいて前記ルールの入力を決定するための手段と、
    前記ルールの前記入力によって前記ルールを実行するための手段であり、前記ルールの前記実行はコンテンツを前記ストリームに挿入する決定をもたらす、手段と、
    前記ストリームに挿入するための挿入可能なコンテンツを決定するための手段と、
    コンテンツを前記ストリームに挿入する決定に応じて、前記ストリームを前記ネットワークアプライアンスのメモリデバイスにバッファリングする一方で、前記ネットワークアプライアンスの出口ポート上で、前記コンテンツ挿入スロット内の前記挿入可能なコンテンツを、前記ストリームを消費するデバイスに伝送するための手段と
    を含む装置。
  21. 機械によって実行されると、前記機械に、
    ネットワークアプライアンスにおいて入口ポートでネットワークトラフィックのストリームを受信する動作と、
    前記ストリーム内のコンテンツ挿入スロットを識別する動作と、
    ルールデータベースからルールを取得する動作と、
    前記ストリームのコンテキストに基づいて前記ルールの入力を決定する動作と、
    前記ルールの前記入力によって前記ルールを実行する動作であり、前記ルールの前記実行はコンテンツを前記ストリームに挿入する決定をもたらす、動作と、
    前記ストリームに挿入するための挿入可能なコンテンツを決定する動作と、
    コンテンツを前記ストリームに挿入する決定に応じて、前記ストリームを前記ネットワークアプライアンスのメモリデバイスにバッファリングする一方で、前記ネットワークアプライアンスの出口ポート上で、前記コンテンツ挿入スロット内の前記挿入可能なコンテンツを、前記ストリームを消費するデバイスに伝送する動作と
    を含む動作を実行させる命令を含むプログラム。
  22. 前記ルールの入力を決定するための前記命令は、以前に挿入されたコンテンツに対して解析を実行するための命令を含む、請求項21に記載のプログラム。
  23. 前記ルールの入力を決定するための前記命令は、エンドデバイスに関する情報を取得するための命令を含む、請求項21に記載のプログラム。
  24. 前記エンドデバイスに関する前記情報は、前記エンドデバイスの位置を含む、請求項23に記載のプログラム。
  25. 前記ストリームに挿入するための挿入可能なコンテンツを決定するための前記命令は、
    現在のネットワーク性能メトリックを評価するための命令と、
    前記現在のネットワーク性能メトリックに基づいて挿入可能なコンテンツを選択するための命令と
    を含む、請求項21に記載のプログラム。
  26. 請求項21乃至25のうちいずれか1項に記載のプログラムを記憶した機械読み取り可能記憶媒体。
JP2022130320A 2021-09-24 2022-08-18 ネットワークアプライアンスを使用したコンテンツ挿入 Pending JP2023047294A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/484,107 US20220014579A1 (en) 2021-09-24 2021-09-24 Content injection using a network appliance
US17/484,107 2021-09-24

Publications (1)

Publication Number Publication Date
JP2023047294A true JP2023047294A (ja) 2023-04-05

Family

ID=79173215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022130320A Pending JP2023047294A (ja) 2021-09-24 2022-08-18 ネットワークアプライアンスを使用したコンテンツ挿入

Country Status (4)

Country Link
US (1) US20220014579A1 (ja)
EP (1) EP4156651A1 (ja)
JP (1) JP2023047294A (ja)
CN (1) CN115865836A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
US20220417319A1 (en) * 2021-06-28 2022-12-29 Dell Products L.P. System and method for edge analytics in a virtual desktop environment
US11757960B1 (en) 2022-02-23 2023-09-12 Iheartmedia Management Services, Inc. Disaster recovery in media broadcast system
US11943504B2 (en) * 2022-02-23 2024-03-26 Iheartmedia Management Services, Inc. Media broadcast content distribution system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2884717A1 (en) * 2013-12-12 2015-06-17 Avvasi, Inc. Systems for media policy decision and control and methods for use therewith

Also Published As

Publication number Publication date
CN115865836A (zh) 2023-03-28
EP4156651A1 (en) 2023-03-29
US20220014579A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
US20220116455A1 (en) Computational storage in a function-as-a-service architecture
US11831507B2 (en) Modular I/O configurations for edge computing using disaggregated chiplets
EP3975476A1 (en) Trust-based orchestration of an edge node
US20220116445A1 (en) Disintermediated attestation in a mec service mesh framework
US20210021431A1 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
US20220116755A1 (en) Multi-access edge computing (mec) vehicle-to-everything (v2x) interoperability support for multiple v2x message brokers
JP2023047294A (ja) ネットワークアプライアンスを使用したコンテンツ挿入
US20210144202A1 (en) Extended peer-to-peer (p2p) with edge networking
US20210011823A1 (en) Continuous testing, integration, and deployment management for edge computing
NL2033580B1 (en) End-to-end network slicing (ens) from ran to core network for nextgeneration (ng) communications
US20220014946A1 (en) Methods and apparatus for digital twin aided resiliency
US20210328933A1 (en) Network flow-based hardware allocation
EP4156637A1 (en) Software defined networking with en-route computing
US20220014947A1 (en) Dynamic slice reconfiguration during fault-attack-failure-outage (fafo) events
US20230376344A1 (en) An edge-to-datacenter approach to workload migration
US20210014301A1 (en) Methods and apparatus to select a location of execution of a computation
US20230119552A1 (en) Resource management mechanisms for stateful serverless clusters in edge computing
US20210320988A1 (en) Information centric network unstructured data carrier
US20210014047A1 (en) Methods, systems, apparatus, and articles of manufacture to manage access to decentralized data lakes
NL2033544B1 (en) Methods and apparatus to implement edge scalable adaptive-grained monitoring and telemetry processing for multi-qos services
KR20230043693A (ko) 정보 중심 네트워크에서의 스토리지 노드 모집
US20230319141A1 (en) Consensus-based named function execution
US20230020732A1 (en) Adaptable sensor data collection
US20230344804A1 (en) Methods and apparatus to increase privacy for follow-me services
US20230014064A1 (en) Decentralized reputation management in a named-function network