上述したように、TSNは、デバイス(例えば、エンドデバイス、ステーション、アクセスポイント、ブリッジ、サーバ等)間でデータを交換できるようにこれらのデバイスのネットワークに実装され得る。(例えば、802.11Qccに対応する)集中TSN管理モデルにおいて、TSNドメイン内の通信(例えば、有線または無線のいずれか)は、高い信頼度でスケジューリングされる。TSNエンドデバイス(例えば、ステーション、トーカ、リスナ等)およびネットワーク要素(例えば、ブリッジ、アクセスポイント(AP)、クライアントデバイス等)は、中央ネットワーク構成(CNC)エンティティによるグローバル時間認識スケジュールに従って動作する。グローバル時間認識スケジュール(グローバルスケジュールとも称される)は、スケジューリングの実装の前にネットワーク内で動作する全てのデバイスにより知られているスケジュールである。
ネットワークの各デバイスは、グローバル時間認識スケジュールに従ってデータを交換する。例えば、第1のステーション(例えば、送信デバイス、トーカ等)は、特定の保護ウィンドウ中にリンクを介して第2のステーション(例えば、受信デバイス、リスナ等)とデータを交換するようにスケジューリングされる。特定の保護ウィンドウが発生した場合、第1のステーションは、TSNデータフレームを第2のステーションへ送信する。TSNデータフレームの取得に応答して、第2のステーションは、確認応答(ACK)を第1のデバイスへ送信する。いくつかの例において、第1のステーションが閾値時間量内にACKを取得しなかった場合、第1のステーションは、ACKが受信されるか、保護ウィンドウが終了するまで、TSNデータフレームの送信を繰り返す。保護ウィンドウの長さは、以前の観察および/または統計分析に基づく最悪のケースシナリオに対応する、予め設定された時間量である。予め設定された時間量により、ある確実性割合内で、TSNデータフレームが保護ウィンドウ内でリスナおよびACKにより取得されることが保証される。
従来のネットワーク要素およびネットワークデバイスは、(例えば、時間認識スケジューリングオペレーションに関する)TSN要件に固有の無線リンク性能を測定するためのメカニズムを有していない。したがって、グローバル時間認識スケジュールは、再送信のためにより多くの冗長性および/または時間を必要とし得る悪いチャネル条件でもデータ交換の成功を(例えば、ある確実性割合で)保証するのに十分長い長さを有する保護ウィンドウを含む。しかしながら、そのような大きい保護ウィンドウ期間は、再送信のための冗長性または時間がより少ない良好なチャネル条件では非効率的である。さらに、従来のネットワーク要素には、保護ウィンドウ期間が十分長くない場合、および/または、TSNネットワーク内に任意の他の課題が発生した場合/ときに強調表示するためのメカニズムが存在しない。
本明細書において開示される例は、ネットワーク内の動的無線リンク条件を考慮するために、リンク性能をモニタリングして、不規則性およびエラーを強調表示し、および/または、(例えば、保護ウィンドウの長さを増加または減少させることにより)グローバルスケジュールを動的に調節する。本明細書において開示される例は、トーキンングデバイス(例えば、データを送信するデバイス)およびリスニングデバイスにおけるリンク性能測定の実行と、CNCへの測定値の送信とを含む。トーキンングデバイスにおけるリンク性能測定は、本明細書において、送信(Tx)時間バッファ(TxTBuf)と称され、リスニングデバイスにおけるリンク性能測定は、本明細書において、受信(Rx)時間バッファ(RxTBuf)と称される。トーキングステーションは、保護ウィンドウの終了の時間(TX_Twe)と、ACKが取得された時間(Tx_Tdone)との間の差を決定することにより、TxTBufを計算する(例えば、TxTBuf=TX_Twe-Tx_Tdone[マイクロ秒])。リスニングステーションは、保護ウィンドウの終了の時間(RX_Rwe)と、ACKが送信された時間(R_Tdone)との間の差を決定することにより、RxTBuf(例えば、RxTBuf=RX_Rwe-Rx_Tdone[マイクロ秒])を計算する。伝送エラーが存在しない場合、TxTBufおよびRxTBufは、同様(例えば、閾値時間量内)であるべきである。しかしながら、伝送エラーが存在するか、保護ウィンドウが十分長くない場合、TxTBufは、RxTBufとは著しく異なることがあり、TxTBufは、0または負であることがあり、および/または、RxTBufは、負であることがある。本明細書において開示される例を用いて、CNCは、リンク性能測定を処理して、報告を生成し、伝送エラーを軽減し、および/または保護ウィンドウ期間を調節することで、ネットワークをより効率的なものにしたり、性能を向上させたりできる。本明細書において開示される例はIEEE規格802.11Qbvと併せて説明されるが、本明細書において開示される例は、グローバル時間認識スケジュールに対応する任意の規格(例えば、802.11、802.1等)と併せて説明され得る。
いくつかの例において特定のサービスへの明確なインタフェースを提供することにより、アプリケーション開発からの基礎となる通信インフラストラクチャを抽象化するために、リアルタイムアプリケーションミドルウェアサービスが用いられる。例えば、データ分散サービス(DDS)は、複数の業界(例えば、自動車、ロボット工学、医療、航空電子工学等)に及ぶ、リアルタイムミッションクリティカルアプリケーションのためのスケーラブルな決定的リアルタイムデータ移送を提供する通信ミドルウェア仕様標準化の例である。DDSにより、QoS契約が定義され、および/または、アプリケーションがリアルタイムでの決定的なデータ配信の実現に影響力を及ぼし得ることが保証される。
従来のサービスは、アプリケーション層におけるデータ配信、QoS保証および/またはデータ移送のためのインタフェースを提供するが、QoS保証が満たされることを保証できない。なぜなら、そのような従来のサービスでは、期待されるQoS保証を提供するために必要となる基礎となるネットワークリソースが制御されないからである。したがって、アプリケーション層におけるQoS保証は、ネットワーク層において無視され得る。
本明細書において開示される例は、DDSドメイン(例えば、DDS層)内のデータ交換をTSNドメイン(例えば、TSN層)内の配信にマッピングすることを含む。例えば、本明細書において開示される例は、DDSトピック(例えば、DDSドメイン内のデバイス間のアプリケーションインタラクションの基本的手段)をTSNドメインのタイムクリティカルTSNトラフィックストリームにマッピングする。本明細書において開示される例は、DDSトピックをTSNストリーム構成パラメータに関連付けることで、QoS保証が満たされることを保証する。本明細書において開示される例はさらに、TSN層コンポーネントとネゴシエートして、QoS保証を満たすデータストリームをセットアップすることにより、マッピングを解釈して、かつ、TSNネットワークを構成して、QoS保証が満たされることを保証するTSN構成サービス(TCS)を提供する。本明細書において開示される例は、TSNサービスと併せて説明されるが、ミドルウェアを含む任意のサービス(例えば、プロセス制御統一アーキテクチャのためのオブジェクトリンキングおよび組み込み(OPC-UA))と併せて用いられ得る。
図1は、データ送信を容易にするための例示的なTSN環境100である。例示的なTSN環境100は、例示的なステーション102a-102bと、例示的なアクセスポイント104と、例示的なネットワーク106と、例示的なサーバ108と、例示的なデータ収集器110と、例示的な中央ネットワーク構成エンティティ(CNC)112と、例示的なDDS層114と、例示的なTCS層116と、例示的な集中型ユーザ構成エンティティ(CUC)118とを含む。例示的な環境100は、TSN環境であるが、グローバル時間認識スケジュールを利用するあらゆる環境、またはミドルウェアを含むあらゆる環境に対応し得る。加えて、例示的な環境100は、2つのステーション102a、102bと、AP104と、サーバ108とを含むが、ネットワーク106を介して任意の数のAP、ブリッジ、サーバ等に接続された任意の数のステーションを含み得る。
図1の例示的なSTA102a、102bは、TSN対応型および/またはWiFi対応型のコンピューティングデバイスである。例示的なSTA102a、102bは、例えば、コンピューティングデバイス、ポータブルデバイス、モバイルデバイス、携帯電話、スマートフォン、タブレット、ゲーミングシステム、テレビ、センサ、モノのインターネット(IoT)デバイスもしくはセンサ、エッジデバイス、ロボット機器、自動車用コンピュータ、医療機器、航空電子工学機器、および/または任意の他のTSNおよび/またはWiFi対応デバイスであってよい。例示的なSTA102a、102bは、(例えば、データを送信および/または受信するための)例示的な無線アーキテクチャ、および/または、(例えば、1つまたは複数のアプリケーションを実装した)他のプロセッサを含む。さらに後述するように、例示的なSTA102a、102bは、例示的なデータ収集器110、例示的なCNC112、例示的なDDS層114、例示的なTCS層116および/または例示的なCUC118の全部または一部を含み得る。本明細書において開示される例では、例示的なSTA102aは、パブリッシャおよび/またはトーカに対応し、例示的なSTA102bは、加入者および/またはリスナに対応する。しかしながら、いずれのデバイス102aも、パブリッシャ/トーカおよび/または加入者/リスナのいずれかとして実装され得る。
図1の例示的なAP104は、例示的なSTA102a、102bが例示的なネットワーク106にアクセスすること、および/または互いに接続することを可能にするデバイスである。例示的なAP104は、ルータ、モデム-ルータ、ブリッジ、および/または、ネットワークへの接続を提供する任意の他のデバイスであってよい。ルータは、無線通信リンクをSTAに提供する。ルータは、モデムを介して有線接続を通じてネットワークにアクセスする。モデム-ルータは、モデムおよびルータの機能を組み合わせている。例示的なAP104は、例示的なデータ収集器110、例示的なCNC112、例示的なDDS層114、例示的なTCS層116および/または例示的なCUC118、(例えば、ソフトウェアを実装した)追加のプロセッサ、および/または、(例えば、データを送信および/または受信するための)無線アーキテクチャの全部または一部を含み得る。
図1の例示的なネットワーク106は、データを交換する相互接続されたシステムのシステムである。例示的なネットワーク106は、インターネット、電話ネットワーク、ローカルエリアネットワーク(LAN)、ケーブルネットワークおよび/または無線ネットワークなどであるがこれらに限定されない、任意のタイプのパブリックネットワークまたはプライベートネットワークを用いて実装され得る。ネットワーク106を介した通信を可能にするために、例示的なAP104および/またはサーバ108は、イーサネット(登録商標)、デジタル加入者線(DSL)、電話回線、同軸ケーブルまたは任意の無線接続等への接続を可能にする通信インタフェースを含む。
さらに後述するように、図1の例示的なサーバ108は、リンク性能をモニタリングし、DDS層からネットワーク層へのQoS保証を保証し、および/またはデータストリームを例示的なTCS層116とネゴシエートするための例示的なCNC112、例示的なTCS層116および/または例示的なCUC118の全部または一部を実装し得るコンピューティングデバイスである。
図1の例示的なデータ収集器110は、グローバル時間認識スケジュールにおいて特定されるウィンドウ中にデータ交換を実行するデバイスに実装され得るコンポーネントである。例示的なデータ収集器110は、ウィンドウの終了に対応する時間と、確認応答とに基づいて、リンク性能情報(例えば、データ、メトリック等)を収集する。例えば、データ収集器110が送信デバイス(例えば、転送ブリッジ、AP104および/またはトーキングSTA102a)に実装される場合、データ収集器110は、ACKが受信された時間に基づいて、TxTBufを決定する(例えば、TxTBuf=TX_Twe-Tx_Tdone[マイクロ秒])。データ収集器が受信デバイス(例えば、転送ブリッジ、AP104および/またはリスニングSTA102b)に実装される場合、データ収集器110は、ACKが送信された時間に基づいて、RxTBufを決定する(例えば、RxTBuf=RX_Rwe-Rx_Tdone[マイクロ秒])。加えて、ACKが保護ウィンドウ内に送信および/または受信されなかった場合、例示的なデータ収集器110は、伝送エラーにフラグを立て得る。例示的なデータ収集器110は、決定されたリンク性能情報を例示的なCNC112へ送信する。例示的なデータ収集器110は、全てのデータ交換の後に、1つまたは複数の予め設定された数のデータ交換の後に、および/または、トリガに基づき、決定されたリンク性能情報を送信し得る(例えば、エラーが特定された場合、CNC112は、リンク性能情報等を要求する)。データ収集器110がトリガに基づいてリンク性能情報のみを送信する場合、データ収集器110は、エラーが発生したときには複数の前のリンク性能測定を送信してよく、または、エラーに対応するリンク性能情報のみを送信してよい。データ収集器110がエラーに対応するリンク性能情報のみを送信する場合、リンク性能情報は、他のコンテキスト情報(例えば、エラーより前のデータ交換の成功回数のインジケーション)を含み得る。図2Aと併せて例示的なデータ収集器110をさらに後述する。
図1の例示的なCNC112は、トーカデバイス(例えば、STA102a)およびリスナデバイス(STA102b)からの取得したリンク性能メトリックを処理する。例示的なCNC112は、リンク性能メトリックを処理して、同じリンク(例えば、STA102aとSTA102bとの間でデータを交換する試みがなされる同じウィンドウ)に対応するRx時間バッファおよびTx時間バッファを特定し得る。このように、CNC112は、例えば、(例えば、再送信および/またはデータ送信の遅延および/またはACKに対応する)Tx時間バッファ値の閾値範囲内にRx時間バッファ値がない場合、エラーまたは不規則性を特定できる。加えて、CNC112は、リンク性能メトリックを処理して、任意の他の不規則性を特定し得る(例えば、Tx時間バッファまたはRx時間バッファが負である場合、または、リンク性能メトリックがエラーを含むかそうでなければ特定する場合)。いくつかの例において、CNC112は、取得したリンク性能メトリックに基づいてジッタ測定値を生成する。例えば、CNC112は、取得したTx時間バッファ情報および/またはRx時間バッファ情報のヒストグラムを生成し得る。例示的なCNC112は、処理したリンク性能メトリックに基づく(例えば、特定されたエラー、不規則性、および/またはジッタヒストグラムを含む)報告を生成し得る。CNC112は、報告をユーザインタフェースに出力してよく、および/または、報告は、後の時点でのさらなる統計分析のために用いられてよい。いくつかの例において、CNC112は、報告、特定されたエラー、および/または特定された不規則性に基づいて、エラーを軽減し得る。例えば、閾値数のエラーまたは不規則性が特定された場合、CNC112は、スケジュールを調節して、(例えば、性能を向上させ、および/またはエラーを低減するために)保護ウィンドウの期間を延ばし得る。加えて、CNC112は、ヒストグラムに基づいて、および/または、エラーまたは不規則性が閾値時間量または閾値数のデータ交換内に発生しなかった場合、スケジュールを調節して、(例えば、データ交換の効率および/または量を向上させるために)保護ウィンドウの期間を短縮し得る。CNC112は、単一のデバイス(例えば、STA102a、102b、AP104またはサーバ108)に実装されてもよく、異なるデバイスにCNC112の各部分が実装される分散型システムの一部であってよい。図2Bと併せて例示的なCNC112をさらに後述する。
図1の例示的なDDS層114は、トピックを用いてデータを公開および/またはサブスクライブする通信ミドルウェアサービスである。トピックは、単一のデータタイプについての、および/またはサンプルの分散および利用可能性についての情報の単位である。トピックは、名称と、タイプと、QoSポリシのセットとにより定義され得る。DDS層114は、広告出版物をサブスクライブするデバイスへ、ネットワークを通じてデータ値(例えば、サンプル)を転送する。DDS層114は、データを公開するためのデータライタ、および/またはデータをサブスクライブするためのデータリーダを含む。パブリッシャ側で、例示的なDDS層114は、タイムセンシティブネットワークプロファイル(TSNプロファイル)を含むトピックデータを含めるために、QoSポリシデータ構造をオーバーロードする。TSNプロファイル(TSNトラフィックプロファイルとも称される)は、最大データユニットサイズ(例えば、データパケットの最大サイズ)、パケット間到達時間(例えば、公開されたデータが周期的である場合には、最小媒体アクセスコントローラサービスデータユニット(MSDU)到着時間間隔、または、データが非周期的である場合には、データイベント間の最小間隔)、レイテンシ限度(例えば、許容される最小レイテンシ)、プロキシデマンドリソース(PDR)または他の信頼性値(例えば、レイテンシ限度内の期待パケット配信率)および/またはジッタ値(例えば、許容されるレイテンシ内の最小ジッタ)を含み得る。DDS層114は、オーバーロードQoSポリシ(QoSポリシデータ構造とも称される)を例示的なTCS層116へ送信する。オーバーロードQoSポリシの送信に応答して、DDS層114のデータライタは、さらに後述するように、データライタマッピングへのTSNデータドライバを取得する。DDS層114のデータライタは、このマッピングを用いてこのマッピングのTSNデータドライバへトピックを送信することで、トピックがQoS保証に従って送信されることを保証する。DDS層114は、単一のデバイス(例えば、STA102a、102b、AP104またはサーバ108)に実装されてもよく、異なるデバイスにDDS層114の各部分が実装される分散型システムの一部であってよい。図4Aと併せて例示的なDDS層114をさらに後述する。
図1の例示的なTCS層116は、DDS層114において特定されるQoSストリームに基づいて、DSS層114のトピックをデータストリームにマッピングする。例示的なTCS層116は、DDS層114のデータライタから送信されるQoSポリシからTSNプロファイルを抽出して格納する。このように、データライタに対応するトピックを加入者がサブスクライブする場合、TCS層116は、CNC112および/またはCUC118とネゴシエートすることで、TSNプロファイルに含まれるQoS保証を満たすデータストリームをセットアップできる。加入者がパブリッシャをサブスクライブし、QoS保証を満たすデータストリームが確立された後に、DDS層114におけるトピックが、TCS層116のデータライタへ送信され、その結果、TCS層116のデータライタは、確立されたストリームを介して、トピックをTCS層116内のデータリーダへ送信できる。TCS層116内のデータリーダは、トピックをDDS層114内のデータリーダへ送信する。TCS層116は、単一のデバイス(例えば、STA102a、102b、AP104またはサーバ108)に実装されてもよく、異なるデバイスにTCS層116の各部分が実装される分散型システムの一部であってよい。図4Bと併せて例示的なTCS層116をさらに後述する。
図2Aは、図1のデータ収集器110の例示的な実装のブロック図である。例示的なデータ収集器110は、例示的なコンポーネントインタフェース200、例示的なクロック202、例示的なスケジュールコントローラ204、例示的なデータパケットコントローラ206、例示的なフラグ生成器208および例示的なリンク性能計算器210を含む。
図2Aの例示的なコンポーネントインタフェース200は、データ収集器110を実装しているデバイスの他のコンポーネントとインタフェース接続する。例えば、データ収集器110を実装しているデバイスは、データパケットを送信および/または受信するための無線アーキテクチャを含み得る。したがって、例示的なコンポーネントインタフェース200は、無線アーキテクチャを用いて受信されるデータパケットを取得でき、および/または、無線アーキテクチャにデータパケットを送信するよう命令(例えば、送信するようにさせることが)できる。
図2Aの例示的なクロック202は、時間を追跡する。モニタリングされた時間は、(a)保護ウィンドウがいつ発生したか、(b)ACKがいつ受信されたか、および/または(c)ACKがいつ送信されたかを決定するために用いられ得る。上述したように、ACKが受信および/または送信された時間は、RxTBuf値および/またはTxTBuf値を決定するために用いられる。
図2Aの例示的なスケジュールコントローラ204は、クロック202の時間をモニタリングして、グローバル時間認識スケジュールに基づき、データ交換用の保護ウィンドウがいつ発生したかを決定する。例えば、スケジュールコントローラ204は、グローバル時間認識スケジュールを処理して、どの保護ウィンドウがデータ交換に対応するかと、保護ウィンドウがいつ発生したかとを決定する。また、例示的なスケジュールコントローラ204は、前に取得されたグローバルスケジュールに基づいて、保護ウィンドウの終了を特定する。いくつかの例において、スケジュールコントローラ204は、例示的なクロック202からのタイミング情報にアクセスするための、および/または、(例えば、メモリまたはストレージデバイスからの)グローバルスケジュールに対応するデータにアクセスするための回路を含む。いくつかの例において、スケジュールコントローラ204は、例示的なクロック202からのタイミング情報にアクセスするための、および/または、(例えば、メモリまたはストレージデバイスからの)グローバルスケジュールに対応するデータにアクセスするためのコードである。
図2Aの例示的なデータパケットコントローラ206は、データパケットを生成する。例えば、データパケットコントローラ206は、トーカとして実装された場合、TSNデータフレームを生成し、コンポーネントインタフェース200に対し、保護ウィンドウ中に無線アーキテクチャを介してTSNデータフレームを送信するよう命令し得る。加えて、データパケットコントローラ206は、リスナとして実装された場合、TSNデータフレームが受信されたときにACKを生成し得る。また、データパケットコントローラ206は、ACKが受信または送信された時間を記録し得る。いくつかの例において、データパケットコントローラ206は、(a)データをデータパケットおよび/またはACKへ生成および/または編成するための、および/または(b)生成されたデータを別のコンポーネントからの命令に基づいて送信および/または格納するための回路を含む。いくつかの例において、データパケットコントローラ206は、(a)データをデータパケットおよび/またはACKへ生成および/または編成するための、および/または(b)生成されたデータを別のコンポーネントからの命令に基づいて送信および/または格納するためのコードである。
図2Aの例示的なフラグ生成器208は、データ交換エラーに対応するフラグを生成する。例えば、フラグ生成器208は、ACKおよび/またはTSNデータフレームが保護ウィンドウ内に取得されなかった場合、フラグを生成し得る。フラグは、報告を生成し、課題を軽減し、および/または、グローバルスケジュールを調節することにより効率を向上させるために、例示的なCNC112に提供され得る。いくつかの例において、フラグ生成器208は、エラーにフラグを立てるための回路を含む。いくつかの例において、フラグ生成器208は、エラーにフラグを立てるためのコードである。
図2Aの例示的なリンク性能計算器210は、Tx時間バッファおよび/またはRx時間バッファを計算する。上述したように、Tx時間バッファおよびRx時間バッファは、リンク性能を表す。リンク性能計算器210は、保護ウィンドウの終了の時間(TX_Twe)と、ACKが取得された時間(Tx_Tdone)との間の差を決定することによりTx時間バッファ(例えば、TxTBuf=TX_Twe-Tx_Tdone[マイクロ秒])を計算するための減算器を含み得る。例示的なリンク性能計算器210は、保護ウィンドウの終了の時間(RX_Rwe)と、ACKが送信された時間(R_Tdone)との間の差を決定することにより、RxTBuf(例えば、RxTBuf=RX_Rwe-Rx_Tdone[マイクロ秒])を計算する。例示的なリンク性能計算器210は、コンポーネントインタフェース200に、実装しているデバイスの無線アーキテクチャを用いて、計算された時間バッファをCNC112へ送信するよう命令する。いくつかの例において、リンク性能計算器210は、時間バッファを計算するための回路を含む。いくつかの例において、リンク性能計算器210は、時間バッファを計算するためのコードである。
図2Bは、図1のCNC112の例示的な実装のブロック図である。例示的なCNC112は、例示的なコンポーネントインタフェース220、例示的な報告生成器22、例示的なデータオーガナイザ224および例示的な課題軽減器226を含む。
図2Bの例示的なコンポーネントインタフェース220は、CNC112を実装しているデバイスの他のコンポーネントとインタフェース接続する。例えば、CNC112を実装しているデバイスは、データパケットを送信および/または受信するための無線アーキテクチャを含み得る。したがって、例示的なコンポーネントインタフェース220は、無線アーキテクチャを用いて受信されるデータパケットを取得でき、および/または、無線アーキテクチャにデータパケットを送信するよう命令(例えば、送信するようにさせることが)できる。
図2Bの例示的な報告生成器222は、取得されたリンク性能情報に基づく報告をトーキングデバイスおよびリスニングデバイス(例えば、例示的なSTA102a、102b、例示的なAP104)に対して生成する。報告生成器222は、報告内の(例えば、取得されたエラー、閾値よりも大きい対応するTxTBufとRxTBufとの間の差、TxTBufまたはRxTBufのいずれかが負である等、に対応する)エラーおよび/または不規則性を含み得る。加えて、報告生成器222は、報告内のデータオーガナイザ224により生成されるジッタ測定値を含み得る。いくつかの例において、報告生成器222は、報告を生成するための回路を含む。いくつかの例において、報告生成器222は、報告を生成するためのコードである。
図2Bの例示的なデータオーガナイザ224は、取得されたリンク性能メトリック(例えば、Tx時間バッファおよびRx時間バッファ)に基づいて、ジッタ測定値を計算する。例えば、データオーガナイザ224は、取得されたリンク性能メトリックのヒストグラムとしてジッタ測定値を計算し得る。ジッタ測定値は、複数のデータ交換についてのリンク性能を表すためのリンク性能メトリックの値を含む。例示的なデータオーガナイザ224は、報告に含めるために、生成されたジッタ測定値を例示的な報告生成器22へ送信する。いくつかの例において、データオーガナイザ224は、データを編成するための回路を含む。いくつかの例において、データオーガナイザ224は、データを編成するためのコードである。
図2Bの例示的な課題軽減器226は、生成された報告に基づいて、課題を軽減し、および/またはグローバル時間認識スケジュールを調節する。例えば、エラーまたは不規則性が存在する場合、例示的な軽減器226は、(例えば、冗長性および/または再送信を含めるよう、または増加させるよう対応するデバイスに要求することにより)特定されたエラーまたは不規則性に基づいて課題を軽減するために、対応するデバイスへコマンドを送信し得る。いくつかの例において、例示的な軽減器226は、ジッタ測定値および/またはあらゆるエラーおよび/または不規則性に基づいて、保護ウィンドウの長さを調節する。例えば、最も小さいTx時間バッファが1ミリ秒であることを特定するエラーおよび/または不規則性およびジッタ測定値が存在しない場合、課題軽減器226は、保護ウィンドウの長さを1ミリ秒だけ減少させ得る。1つまたは複数のエラーまたは不規則性が存在する場合、課題軽減器226は、保護ウィンドウの長さを増加させ得る。いくつかの例において、課題軽減器226は、課題を軽減するための回路を含む。いくつかの例において、課題軽減器226は、課題を軽減させるためのコードである。
図3Aは、第1のデバイス(例えば、例示的なSTA102a)と第2のデバイス(例示的なSTA102b)との間のTSNデータ交換用の例示的な保護ウィンドウ302を示す例示的なタイミング図300である。例示的なタイミング図300は、例示的な保護ウィンドウ302、例示的な保護ウィンドウ開始時刻304、例示的な保護ウィンドウ終了時刻306、例示的なTSNデータフレーム308および例示的なACK310を含む。
上述したように、TSNネットワーク内のデバイスは、グローバルスケジュールについて予め知識を有している。したがって、保護ウィンドウ開始時刻304のすぐ後に、例示的なSTA102aのデータ収集器110は、TSNデータフレーム308を例示的なSTA102bへ送信する。STA102bがTSNデータフレーム308を受信した後に、例示的なSTA102bのデータ収集器110は、例示的なACK310を送信する。ACK310の送信後に、例示的なSTA102bは、保護ウィンドウ306の終了とACK310が送信された時間との間の差に基づいて、Rx時間バッファを計算する。例示的なSTA102aがACK310を受信した後に、例示的なSTA102aのデータ収集器110は、保護ウィンドウ306の終了とACK310が受信された時間との間の差に基づいて、Tx時間バッファを計算する。
図3Bは、第1のデバイス(例えば、例示的なSTA102a)と第2のデバイス(例示的なSTA102b)との間のTSNデータ交換用の例示的な保護ウィンドウ313を示す例示的なタイミング図312である。例示的なタイミング図312は、失敗したACK314を含む。
図3Bの例示的なタイミング図312に示されるように、例示的なSTA102aは、TSNデータフレームを送信し、例示的なSTA102bは、データフレームの取得に応答して、ACKを送信する。しかしながら、STA102aは、ACKを決して受信しない。図3Bの図示された例において、STA102aは、TSNデータフレームを再送信しないので、STA102aのデータ収集器110は、ACKが受信された時間に対応する時間をタイムアウトさせる。なぜなら、ACKは、決して受信されていないからである。このように、Tx時間バッファは、0または負の数で終了する。ACKが送信されたので、Rx時間バッファは、依然として正である。STA102aがTSNデータフレームを再送信できた場合、保護フレームの終了後にSTA102aがACKを取得し、それにより負のTx時間バッファがもたらされることが可能である。そのような例において、STA102aのデータ収集器110は、ACKが受信された旨のインジケーションと共に(またはACKが受信されなかった旨のインジケーション無しで)負のTx時間バッファを送信し得る。
図4Aは、図1のDDS層114の例示的な実装のブロック図である。例示的なDDS層114は、例示的なコンポーネントインタフェース220、例示的なデータマニピュレータ402、例示的なマッピングストレージ408および例示的なデータライタ406を含む。
図4Aの例示的なコンポーネントインタフェース400は、DDS層114を実装しているデバイスの他のコンポーネントとインタフェース接続する。例えば、DDS層114を実装しているデバイスは、データパケットを送信および/または受信するための無線アーキテクチャを含み得る。したがって、例示的なコンポーネントインタフェース400は、無線アーキテクチャを用いて受信されるデータパケットを取得でき、および/または、無線アーキテクチャにデータパケットを送信するよう命令(例えば、送信するようにさせることが)できる。加えて、例示的なコンポーネントインタフェース400は、アプリケーションからデータ(例えば、TSNプロファイル)、命令、トピック等を取得できる。
例示的なデータマニピュレータ402は、ネットワークベースQoS保証を定義するTSNプロファイルを含めるために、特定のDDS QoSポリシデータ構造をオーバーロードする。例示的なデータマニピュレータ402は、無線アーキテクチャにオーバーロードDDS QoSポリシデータ構造を例示的なTCS層116へ送信させるよう、コンポーネントインタフェース400に命令する。このように、例示的なTCS層116は、TSNデータライタをDDS層114の例示的なデータライタ406にマッピングできる。
図4Aの例示的なマッピングストレージ408は、TSNデータライタをDDSデータライタマッピングに格納する。マッピングが生成された後に、TCS層116は、TSNデータライタをDDSデータライタマッピングへ送信する。コンポーネントインタフェース400は、実装しているデバイスの無線アーキテクチャを介してマッピングを取得し、マッピングストレージ408への格納のためにマッピングをマッピングストレージ408へ送信する。
図4Aの例示的なデータライタ406は、データライタ406を実装したパブリッシュデバイスに加入者がサブスクライブした場合、トピックを送信する。QoSネットワーク保証が満たされることを保証するために、データライタ406は、格納されたマッピングにアクセスして、対応するTSNデータライタを特定し、特定されたTSNデータライタへトピックを送信する。このように、TSNデータライタは、さらに後述するように、TSN層を介してQoS保証を満たす確立されたストリームを介して、トピックを送信できる。
図4Bは、図1のTCS層116の例示的な実装のブロック図である。例示的なTCS層116は、例示的なコンポーネントインタフェース410、例示的なデータ抽出器412、例示的なプロファイルストレージ414、例示的なマップ生成器416、例示的なストリームネゴシエータ418、例示的なタイムセンシティブネットワークデータライタ(TSNデータライタ)420および例示的なタイムセンシティブネットワークデータリーダ(TSNデータリーダ)422を含む。上述したように、TCS層116のコンポーネントは、図1のネットワークの複数のデバイスにわたって分散され得る。例えば、コンポーネントインタフェース410、データ抽出器412、プロファイルストレージ414、マップ生成器416およびTSNデータライタ420は、図1のSTA102aに実装されてよく、コンポーネントインタフェース410、プロファイルストレージ414、ストリームネゴシエート418およびTSNデータリーダ422は、STA102bに実装されてよい。
図4Aの例示的なコンポーネントインタフェース410は、TCS層116を実装しているデバイスの他のコンポーネントとインタフェース接続する。例えば、TCS層116を実装しているデバイスは、トピックを送信および/または受信するための無線アーキテクチャを含み得る。したがって、例示的なコンポーネントインタフェース410は、無線アーキテクチャを用いて受信されるトピックを取得でき、および/または、無線アーキテクチャにトピックを送信するよう命令(例えば、送信するようにさせることが)できる。
図4Bの例示的なデータ抽出器412は、取得されたQoSポリシ情報からTSNプロファイルを抽出する。TSNプロファイルは、トピックの送信についてパブリッシュデバイスのアプリケーション層が望むネットワークQoS保証に対応する。例示的なデータ抽出器412は、抽出されたTSNプロファイルを例示的なプロファイルストレージ414に格納する。
図4Bの例示的なマップ生成器416は、QoSポリシ情報が取得されたDDS層114のデータライタ406にTSNデータライタ420をマッピングする。例示的なマップ生成器416は、TCS層116のTSNデータライタ420のマッピングをDDS層114のデータライタ406へ送信するよう、(例えば、コンポーネントインタフェース410を介して)無線アーキテクチャに命令する。このように、DDS層114は、トピックをTSNデータライタ420へ送信して、TCS層116における確立されたチャネルを介してTSNデータリーダ422へ送信する。
図4Bの例示的なストリームネゴシエータ418は、例示的なCNC112および/または例示的なCUC118とネゴシエートして、TSNプロファイルのQoS保証を満たすデータストリームをTCS層116に確立する。例えば、ストリームネゴシエータ418は、加入者が(例えば、例示的なプロファイルストレージ414内のTSNプロファイルにアクセスすることにより)サブスクライブを試みているトピックに対応するTSNプロファイルを取得する。ストリームネゴシエータ418は、TSNプロファイルの詳細を用いて要求を(例えば、コンポーネントインタフェース410を介して実装しているデバイスの無線アーキテクチャを用いて)例示的なCNC112および/または例示的なCUC118へ送信して、TSNプロファイルの詳細(例えば、QoS保証)を満たすストリームをスケジューリングする。TSNプロファイルの詳細を満たすストリームをストリームネゴシエータ418がネゴシエートできない場合、ストリームネゴシエータ418は、エラーメッセージをサブスクライブSTA(例えば、STA102b)へ送信する。
図4Bの例示的なTSNデータリーダ422は、確立されたストリームを介して、例示的なTSNデータライタ420からトピックを取得する。データストリームが取得された後に、TSNデータリーダ422は、サブスクライブデバイスのDDS層におけるデータリーダへトピックを送信する。このように、加入者はトピックを取得し、QoS保証が満たされる。
図5は、タイムセンシティブネットワーク内のアプリケーションミドルウェアサービスからのQoS保証の確実性を示す例示的な図、500である。例示的な図、500は、図1の例示的なパブリッシャ(例えば、STA102aにより実装される)、例示的な加入者(例えば、STA102bにより実装される)、例示的なCNC112、例示的なデータ分散サービスドメイン(DDSドメイン)(または層)114、例示的なタイムセンシティブネットワーク構成サービスドメイン(TCSドメイン)(例えば、層)116および例示的なCNC118を含む。例示的な図、500は、図4Aの例示的なデータライタ406、例示的なTSNデータライタ420、例示的なTSNデータリーダ422をさらに含む。例示的な図、500は、例示的なタイムセンシティブネットワークドメイン(TSN)ドメイン(例えば、層)502、例示的なデータリーダ504および例示的なタイムセンシティブネットワークデータストリーム(TSNデータストリーム)506をさらに含む。
図5の例示的なパブリッシャ102aは、トピックAを公開する参加者を登録するための、パブリッシャ102a上で動作するアプリケーションからの命令を受信する。命令は、アプリケーションにより生成されるTSNプロファイルをさらに含む。命令の受信に応答して、パブリッシャ102aは、TSNプロファイルを含むQoSポリシを例示的なTCSドメイン116のTSNデータライタ420へ送信する。TCSドメイン116は、パブリッシャ102aのデータライタ406へのTSNデータライタ420のマッピングを生成し、マッピングをDDSドメイン114内のパブリッシャ102aのデータライタ406へ送信する。
加入者102bのアプリケーションが、それがトピックAのサブスクライブを望んでいると判断した場合、アプリケーションは、対応する加入者側QoS保証(例えば、要求されたQoS)と共に命令を送信する。加入者側QoS保証がパブリッシャQoS保証と一致していないとSTA102bが判断した場合、加入者102は、トピックAをサブスクライブしない。加入者側QoS保証がパブリッシャQoS保証と一致しているとSTA102bが判断した場合、加入者102bは、TCSドメイン116をサブスクライブするための要求を送信する。TCSドメイン116は、TSNプロファイルを取得し、TSNドメイン502内のCNC112および/またはCUC118とネゴシエートする。ネゴシエーションが成功した場合、CNC112は、TSNストリーム506を生成して、トピックAについてTSNデータライタ420およびTSNデータリーダ422に接続する。
TSNストリーム506が確立された後に、STA102aのDDSドメイン114がアプリケーションから取得する任意のトピックが、データライタ406からTSNデータライタ420へ送信される。このように、TSNデータライタ420は、TSNストリーム506を介してトピックを例示的なTSNデータリーダ422へ送信でき、TSNデータリーダ422は、トピックを加入者102bのDDSドメイン114内のデータリーダ504へ送信できる。このように、トピックは、DDSドメイン114からのQoS保証を保証しつつ、TSNデータストリーム506を介して送信される。
図1のデータ収集器110、CNC112、DDS層114およびTCS層116を実装する例示的な方式が図2A、図2B、図4Aおよび/または図4Bに示されているが、図2A、図2B、図4Aおよび/または図4Bに示される要素、処理および/またはデバイスのうちの1つまたは複数は、任意の他の態様で結合、分割、再配置、省略、除外および/または実装され得る。さらに、図2A、図2B、図4Aおよび/または図4Bの例示的なコンポーネントインタフェース200、例示的なクロック202、例示的なスケジュールコントローラ204、例示的なデータパケットコントローラ206、例示的なフラグ生成器208、例示的なリンク性能計算器210、例示的なコンポーネントインタフェース220、例示的な報告生成器222、例示的なデータオーガナイザ224、例示的な課題軽減器226、例示的なコンポーネントインタフェース400、例示的なデータマニピュレータ402、例示的なマッピングデータライタ406、例示的なマッピングストレージ408、例示的なコンポーネントインタフェース410、例示的なデータ抽出器412、例示的なプロファイルストレージ414、例示的なマップ生成器416、例示的なストリームネゴシエータ418、例示的なTSNデータライタ420、例示的なTSNデータリーダ422、および/または、より一般的には、例示的なデータ収集器110、例示的なCNC113、例示的なDDS層114、および/または例示的なTCS層116は、ハードウェア、ソフトウェア、ファームウェア、および/または、ハードウェア、ソフトウェアおよび/またはファームウェアの任意の組み合わせにより実装され得る。したがって、例えば、図2A、図2B、図4Aおよび/または図4Bの例示的なコンポーネントインタフェース200、例示的なクロック202、例示的なスケジュールコントローラ204、例示的なデータパケットコントローラ206、例示的なフラグ生成器208、例示的なリンク性能計算器210、例示的なコンポーネントインタフェース220、例示的な報告生成器222、例示的なデータオーガナイザ224、例示的な課題軽減器226、例示的なコンポーネントインタフェース400、例示的なデータマニピュレータ402、例示的なマッピングデータライタ406、例示的なマッピングストレージ408、例示的なコンポーネントインタフェース410、例示的なデータ抽出器412、例示的なプロファイルストレージ414、例示的なマップ生成器416、例示的なストリームネゴシエータ418、例示的なTSNデータライタ420、例示的なTSNデータリーダ422、および/または、より一般的には、例示的なデータ収集器110、例示的なCNC113、例示的なDDS層114、および/または例示的なTCS層116のいずれも、1つまたは複数のアナログ回路もしくはデジタル回路、論理回路、プログラマブルプロセッサ、プログラマブルコントローラ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラム可能型論理デバイス(PLD)および/またはフィールドプログラマブルロジックデバイス(FPLD)により実装され得る。純粋にソフトウェアおよび/またはファームウェアの実装を包含するように本特許の装置またはシステムの請求項のいずれかを読む場合、図2A、図2B、図4Aおよび/または図4Bの例示的なコンポーネントインタフェース200、例示的なクロック202、例示的なスケジュールコントローラ204、例示的なデータパケットコントローラ206、例示的なフラグ生成器208、例示的なリンク性能計算器210、例示的なコンポーネントインタフェース220、例示的な報告生成器222、例示的なデータオーガナイザ224、例示的な課題軽減器226、例示的なコンポーネントインタフェース400、例示的なデータマニピュレータ402、例示的なマッピングデータライタ406、例示的なマッピングストレージ408、例示的なコンポーネントインタフェース410、例示的なデータ抽出器412、例示的なプロファイルストレージ414、例示的なマップ生成器416、例示的なストリームネゴシエータ418、例示的なTSNデータライタ420、例示的なTSNデータリーダ422、および/または、より一般的には、例示的なデータ収集器110、例示的なCNC113、例示的なDDS層114、および/または例示的なTCS層116のうちの少なくとも1つは、ソフトウェアおよび/またはファームウェアを含む、例えば、メモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、ブルーレイディスク等、非一時的コンピュータ可読ストレージデバイスまたはストレージディスクを含むように、本明細書により明示的に定義される。さらになお、図2A、図2B、図4Aおよび/または図4Bの例示的なデータ収集器110、例示的なCNC113、例示的なDDS層114および/または例示的なTCS層116は、図2A、図2B、図4Aおよび/または図4Bに示されるものに加えて、またはそれらの代わりに、1つまたは複数の要素、処理および/またはデバイスを含んでよく、および/または、示される要素、処理およびデバイスのいずれかまたは全てのうちの2つ以上を含んでよい。本明細書において用いられる場合、「通信する」という文言は、その変形を含み、1つまたは複数の中間コンポーネントを通じた直接通信および/または間接通信を包含し、直接の物理的な(例えば、有線)通信および/または常時通信を必要としないが、むしろ、周期的な間隔、スケジューリングされた間隔、非周期的な間隔および/または1回限りのイベントでの選択的な通信を追加的に含む。
図1の例示的なデータ収集器110、例示的なCNC113、例示的なDDS層114および/または例示的なTCS層116を実装するための例示的なハードウェアロジック、機械可読命令、ハードウェア実装ステートマシンおよび/またはそれらの任意の組み合わせを表すフローチャートが、図6Aから図10に示される。機械可読命令は、図12から図15に関連して後述される例示的なプロセッサプラットフォーム1210、1310、1410、1510に示されるプロセッサ1212、1312、1412、1512などのコンピュータプロセッサおよび/またはプロセッサ回路による実行のための1つまたは複数の実行可能プログラムまたは実行可能プログラムの一部であってよい。プログラムは、プロセッサ1212、1312、1412、1512に関連付けられたCD-ROM、フロッピーディスク、ハードドライブ、DVD、ブルーレイディスクまたはメモリなどの非一時的コンピュータ可読記憶媒体に格納されたソフトウェアにおいて具現化されてよいが、プログラム全体および/またはその一部は、代替的に、プロセッサ1012以外のデバイスにより実行されてよく、および/または、ファームウェアまたは専用ハードウェアにおいて具現化されてよい。さらに、図6Aから図10に示されるフローチャートを参照して例示的なプログラムが説明されているが、例示的なデータ収集器110、例示的なCNC113、例示的なDDS層114および/または例示的なTCS層116を実装する多くの他の方法が、代替的に用いられ得る。例えば、ブロックの実行順序が変更されてよく、および/または、説明されたブロックのうちのいくつかが、変更されてもよく、除外されてもよく、組み合わされてもよい。加えて、または代替的に、ブロックのいずれかまたは全てが、ソフトウェアまたはファームウェアを実行することなく、対応するオペレーションを実行するように構築された1つまたは複数のハードウェア回路(例えば、ディスクリート回路および/または集積型のアナログおよび/またはデジタル回路、FPGA、ASIC、比較器、演算増幅器(オペアンプ)、論理回路等)により実装され得る。プロセッサ回路は、異なるネットワーク位置、および/または1つまたは複数のデバイス(例えば、単一の機械内のマルチコアプロセッサ、サーバラックにわたって分散された複数のプロセッサ等)のローカルに分散され得る。
本明細書において説明される機械可読命令は、圧縮形式、暗号化形式、細分化された形式、コンパイル形式、実行可能な形式、パッケージ化された形式等のうちの1つまたは複数で格納され得る。本明細書において説明される機械可読命令は、機械実行可能命令を作成、製造および/または生成するために利用され得るデータまたはデータ構造(例えば、命令の各部分、コード、コードの表現等)として格納され得る。例えば、機械可読命令は、(例えば、クラウド内、エッジデバイス内等の)ネットワークまたはネットワーク集合の同じまたは異なる位置に位置する1つまたは複数のストレージデバイスおよび/またはコンピューティングデバイス(例えば、サーバ)において細分化および格納され得る。機械可読命令は、コンピューティングデバイスおよび/または他の機械が機械可読命令を直接読めるように、解釈できるように、および/または実行できるようにすべく、インストール、修正、改変、更新、結合、補完、構成、復号、圧縮解除、アンパック、分散、再配置、コンパイル等のうちの1つまたは複数を必要とし得る。例えば、機械可読命令は、別個のコンピューティングデバイス上で個々に圧縮、暗号化および格納された複数の部分に格納され得る。これらの部分は、復号、圧縮解除および結合された場合、本明細書において説明されるもののようなプログラムを共に形成し得る1つまたは複数の機能を実装する実行可能命令のセットを形成する。
別の例において、機械可読命令は、プロセッサ回路により読まれ得るが、特定のコンピューティングデバイスまたは他のデバイス上で当該命令を実行すべくライブラリ(例えば、動的リンクライブラリ(DLL))、ソフトウェア開発キット(SDK)、アプリケーションプログラミングインタフェース(API)等の追加を必要とする状態で、格納され得る。別の例において、機械可読命令および/または対応するプログラムが全体としてまたは部分的に実行され得る前に、機械可読命令は、構成(例えば、設定の格納、データの入力、ネットワークアドレスの記録等)される必要があり得る。したがって、本明細書において用いられる場合、機械可読媒体は、機械可読命令および/またはプログラム(格納されたか、またはそうでなければ休止もしくは送信中である場合)の特定の形式または状態にかかわらず、機械可読命令および/またはプログラムを含み得る。
本明細書において説明される機械可読命令は、あらゆる過去、現在または将来の命令言語、スクリプト言語、プログラミング言語等により表され得る。例えば、機械可読命令は、C、C++、Java(登録商標)、C#、Perl、Python、JavaScript(登録商標)、ハイパーテキストマークアップ言語(HTML)、構造化クエリ言語(SQL)、Swift等の言語のいずれかを用いて表され得る。
上述したように、図6Aから図10の例示的な処理は、ハードディスクドライブ、フラッシュメモリ、リードオンリメモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および/または任意の期間にわたって(例えば、長期間にわたって、永続的に、短期間にわたって、一時的にバッファリングするために、および/または情報のキャッシュのために)情報が格納される任意の他のストレージデバイスまたはストレージディスクなど、非一時的コンピュータおよび/または機械可読媒体に格納された実行可能命令(例えば、コンピュータおよび/または機械可読命令)を用いて実装され得る。本明細書において用いられる場合、非一時的コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読ストレージデバイスおよび/またはストレージディスクを含み、伝搬信号を除外し、かつ、送信媒体を除外するように、明確に定義される。
「含む(including)」および「備える(comprising)」(ならびにそれらの全ての形態および時制)は、本明細書において、オープンエンドの用語として用いられている。したがって、任意の形態の「含む(include)」または「備える(comprise)」(例えば、comprises、includes、comprising、including、having等)を、請求項がプリアンブルとして、または任意の種類の請求項の記載内で使用するときはいつでも、追加の要素、用語等が、対応する請求項または記載の範囲から外れることなく存在し得ることが理解されるべきである。本明細書において用いられる場合において、「少なくとも(at least)」という文言は、例えば請求項のプリアンブルにおいて、移行用語として用いられるときは、「備える(comprising)」および「含む(including)」という用語がオープンエンドであるのと同じように、オープンエンドである。「および/または(and/or)」という用語は、例えば、A、Bおよび/またはCなどの形態で用いられた場合、(1)、Aだけ、(2)Bだけ、(3)、Cだけ、(4)AとB、(5)AとC、(6)BとC、および(7)AとBとCなど、A、B、Cの任意の組み合わせまたはそれらのサブセットを指す。構造、構成要素、項目、オブジェクトおよび/または物を説明する文脈で本明細書において用いられる場合、「AおよびBのうちの少なくとも1つ」という文言は、(1)少なくとも1つのA、(2)少なくとも1つのB、および(3)少なくとも1つのAおよび少なくとも1つのBのいずれかを含む実装を指すように意図されている。同様に、構造、構成要素、項目、オブジェクトおよび/または物を説明する文脈で本明細書において用いられる場合、「AまたはBのうちの少なくとも1つ」という文言は、(1)少なくとも1つのA、(2)少なくとも1つのB、および(3)少なくとも1つのAおよび少なくとも1つのBのいずれかを含む実装を指すように意図されている。処理、命令、動作、アクティビティおよび/または段階の実行(performance)または実行(execution)を説明する文脈で本明細書において用いられる場合、「AおよびBのうちの少なくとも1つ」という文言は、(1)少なくとも1つのA、(2)少なくとも1つのB、および(3)少なくとも1つのAおよび少なくとも1つのBのいずれかを含む実装を指すように意図されている。同様に、処理、命令、動作、アクティビティおよび/または段階の実行(performance)または実行(execution)を説明する文脈で本明細書において用いられる場合、「AまたはBのうちの少なくとも1つ」という文言は、(1)少なくとも1つのA、(2)少なくとも1つのB、および(3)少なくとも1つのAおよび少なくとも1つのBのいずれかを含む実装を指すように意図されている。
本明細書において用いられる場合、単数の指示語(例えば、「a」、「an」、「first(第1の)」、「second(第2の)」等)は、複数を除外しない。「a」または「an」という用語を伴うエンティティは、本明細書において用いられる場合、当該エンティティのうちの1つまたは複数を指す。「a」(または「an」)、「1つまたは複数の」および「少なくとも1つの」という用語は、本明細書において同じ意味で用いられ得る。さらに、個々に列挙されていても、複数の手段、要素または方法の動作は、例えば、単一のユニットまたはプロセッサにより実装され得る。加えて、個々の特徴が異なる例または請求項に含まれ得るが、これらは、場合によっては組み合わされてよく、異なる例または請求項に含まれていることは、特徴の組み合わせが実現可能および/または有利ではないことを示唆していない。
図6Aおよび図6Bは、リンク性能情報(例えば、メトリック)を収集するために図2Aの例示的なデータ収集器110(例えば、例示的なSTA102a、102b、例示的なAP104、ブリッジ、および/またはデータ交換に関与する任意の他のデバイスのうちのいずれか1つに実装される)により実行され得る例示的な機械可読命令600を表す例示的なフローチャートを示す。図6Aおよび図6Bのフローチャートは図1の環境100における図2Aの例示的なデータ収集器110と併せて説明されるが、命令は、任意の環境において収集される任意のデータにより実行され得る。
ブロック602において、例示的なコンポーネントインタフェース200は、データ収集器110を実装したデバイスの無線アーキテクチャを介して、CNC112からデータ交換スケジュールを取得する。データ交換スケジュールは、ネットワークに参加している全てのデバイスにより知られているグローバルスケジュールである。グローバルスケジュールは、特定のデバイス(例えば、グローバルスケジュールにおいて定義される)がデータを交換できる保護ウィンドウを含む。ブロック604において、クロック202は、実装しているデバイスについてのデータ交換に対応する特定のウィンドウがいつ発生したかを、スケジュールコントローラ204がクロックおよびスケジュールに基づいて判断できるように開始される。
ブロック606において、例示的なスケジュールコントローラ204は、現在時刻が情報交換用の保護ウィンドウに対応しているかどうかをクロック202に基づいて判断する。現在時刻が保護ウィンドウに対応していないと例示的なスケジュールコントローラ204が判断した場合(ブロック606:いいえ)、保護ウィンドウに対応する時間が発生するまで、制御はブロック606に戻る。現在時刻が保護ウィンドウに対応していると例示的なスケジュールコントローラ204が判断した場合(ブロック606:はい)、例示的なスケジュールコントローラ205は、データ交換スケジュールに基づいて、保護ウィンドウの終了に対応する時間を決定する(ブロック608)。
ブロック610において、例示的なスケジュールコントローラ204は、実装しているデバイス(例えば、データ収集器110を実装しているデバイス)が保護ウィンドウのトーカまたはリスナとしてスケジューリングされているかどうかを判断する。実装しているデバイスがトーカとしてスケジューリングされていると例示的なスケジュールコントローラ204が判断した場合(ブロック610:トーカ)、制御は、さらに後述するブロック622へと続く。実装しているデバイスがリスナとしてスケジューリングされていると例示的なスケジュールコントローラ204が判断した場合(ブロック610:リスナ)、例示的なデータパケットコントローラ206は、トーキンングデバイスからのデータパケットが、実装しているデバイスの無線アーキテクチャにより受信されたかどうかを判断する(ブロック612)。
トーキンングデバイスからのデータパケットが、実装しているデバイスの無線アーキテクチャにより受信されなかったと例示的なデータパケットコントローラが判断した場合(ブロック612:いいえ)、例示的なスケジュールコントローラ204は、保護ウィンドウが終了しているかどうかを(例えば、スケジュールおよびクロック202に基づいて)判断する(ブロック614)。保護ウィンドウが終了していないと例示的なスケジュールコントローラ204が判断した場合(ブロック614:いいえ)、制御はブロック612に戻る。保護ウィンドウが終了していると例示的なスケジュールコントローラ204が判断した場合(ブロック614:はい)、例示的なフラグ生成器208はデータ交換のエラーにフラグを立て(ブロック616)、制御はブロック620へと続く。
トーキンングデバイスからのデータパケットが、実装しているデバイスの無線アーキテクチャにより受信されたと例示的なデータパケットコントローラが判断した場合(ブロック612:はい)、例示的なデータパケットコントローラ206は、ACKパケットを移行させるよう、実装しているデバイスの無線アーキテクチャに(例えば、コンポーネントインタフェース200を介して)命令し、例示的なクロック202を用いてACK送信時刻を決定する(ブロック618)。ブロック620において、例示的なリンク性能計算器210は、ACK送信時刻と、保護ウィンドウの終了とに基づいて、Rx時間バッファ(例えば、RxTBuf=RX_Rwe-Rx_Tdone)を計算する。
実装しているデバイスがトーカとしてスケジューリングされていると例示的なスケジュールコントローラ204が判断した場合(ブロック610:トーカ)、例示的なデータパケットコントローラ206は、コンポーネントインタフェース200を介して、実装しているデバイスの無線アーキテクチャを用いて、データパケット(例えば、TSNデータフレーム)をリスニングデバイスへ送信する(ブロック622)。ブロック624において、例示的なデータパケットコントローラ206は、ACKが、コンポーネントインタフェース200を介して、実装しているデバイスの無線アーキテクチャにおけるリスニングデバイスから受信されているかどうかを判断する。ACKが受信されたと例示的なデータパケットコントローラ206が判断した場合(ブロック624:はい)、制御は、さらに後述するブロック632へと続く。
ACKが受信されなかったと例示的なデータパケットコントローラ206が判断した場合(ブロック624:いいえ)、例示的なスケジュールコントローラ204は、保護ウィンドウが終了しているかどうかを(例えば、スケジュールおよびクロック202に基づいて)判断する(ブロック626)。保護ウィンドウが終了していないと例示的なスケジュールコントローラ204が判断した場合(ブロック626:いいえ)、例示的なデータパケットコントローラ206は、(例えば、コンポーネントインタフェース200を介して)実装しているデバイスの無線アーキテクチャに、データパケット(例えば、TSNデータフレーム)をリスニングデバイスへ再送信させ、制御はブロック628に戻る。保護ウィンドウが終了していると例示的なスケジュールコントローラ204が判断した場合(ブロック626:はい)、例示的なフラグ生成器208はデータ交換のエラーにフラグを立て(ブロック630)、制御はブロック632へと続く。
ACKが受信されたと例示的なデータパケットコントローラ206が判断した場合(ブロック624:はい)、例示的なデータパケットコントローラ206は、例示的なクロック202を用いて、ACK受信時間を決定する(ブロック631)。ブロック632において、例示的なリンク性能計算器210は、ACK送信が受信された時間と、保護ウィンドウの終了とに基づいて、Tx時間バッファを計算する(例えば、TxTBuf=TX_Twe-Tx_Tdone)。ブロック634において、例示的なデータパケットコントローラ206は、時間バッファデータが例示的なCNC112へ送信されるべきかどうかを判断する。例えば、各データ交換後に、閾値回数のデータ交換の後に、エラーにフラグが立てられた場合に、データ収集器110は、時間バッファデータを送信し得る。決定された時間バッファデータをデータ収集器110がいつ送信するかの決定は、ユーザおよび/または製造者の優先度に基づき得る。時間バッファデータが送信されるべきではないと例示的なデータパケットコントローラ206が判断した場合(ブロック634:いいえ)、制御はブロック638へと続く。
時間バッファデータが送信されるべきではないと例示的なデータパケットコントローラ206が判断した場合(ブロック634:はい)、例示的なデータパケットコントローラ206は、実装しているデバイスの無線アーキテクチャを用いて、バッファデータを(例えば、コンポーネントインタフェース200を介して)CNCへ送信する(ブロック636)。時間バッファデータは、フラグが立てられたエラー、および/または任意の他の関連する情報を含み得る。ブロック638において、例示的なスケジュールコントローラ204は、スケジュールがデータ交換用の後続の保護ウィンドウを含んでいるかどうかを判断する。スケジュールがデータ交換用の後続の保護ウィンドウを含んでいると例示的なスケジュールコントローラ204が判断した場合(ブロック638:はい)、制御はブロック606に戻る。スケジュールがデータ交換用の後続の保護ウィンドウを含んでいないと例示的なスケジュールコントローラ204が判断した場合(ブロック638:いいえ)、制御は終了する。
図7は、時間バッファ情報(例えば、メトリック)を処理するために図2BのCNC112(例えば、例示的なSTA102a、102b、例示的なAP104、ブリッジ、サーバ108、および/またはデータ交換に関与する任意の他のデバイスのうちのいずれか1つにより実装される)により実行され得る例示的な機械可読命令700を表す例示的なフローチャートを示す。図7のフローチャートは図1の環境100における図2Bの例示的なCNC112と併せて説明されるが、命令は、任意の環境において収集される任意のCNCにより実行され得る。
ブロック702において、例示的なコンポーネントインタフェース220は、データ交換に含まれる、1つまたは複数のデバイス(例えば、STA102a、102b、AP104、ブリッジ等のうちの1つまたは複数)からの時間バッファデータを取得する。ブロック704において、例示的な報告生成器222は、バッファ時間データに対応する報告を開始する。ブロック706において、例示的なデータオーガナイザ224は、同じ保護ウィンドウ内の同じデータ交換に対応するRx時間バッファおよびTx時間バッファを特定する。
ブロック708において、例示的なデータオーガナイザ224は、Rx時間バッファと対応するTx時間バッファとの間の差が閾値内であるかどうかを判断する。上述したように、エラーが発生しなかった場合、Tx時間バッファおよび対応するRx時間バッファは、近い(例えば、閾値内)はずである。エラー、またはACKの再送信が存在する場合、Rx時間バッファおよびTx時間バッファは、近くなくなる(例えば、閾値外)。したがって、Rx時間バッファと対応するTx時間バッファとの間の差が閾値内であると例示的なデータオーガナイザ224が判断した場合(ブロック708:はい)、報告生成器222は、報告における差に対応する情報を示す(ブロック710)。
時間712において、例示的なデータオーガナイザ224は、時間バッファデータが負のTx時間バッファを含んでいるかどうかを判断する。上述したように、負のTx時間バッファは、保護ウィンドウが終了した後に、送信デバイスがACKを受信していないこと(例えば、このことには、時間バッファデータ内のエラーとしてフラグが立てられる)、または、送信デバイスがACKを受信していることのいずれかに対応する。時間バッファデータが負のTx時間バッファを含んでいると例示的なデータオーガナイザ224が判断した場合(ブロック712:はい)、例示的な報告生成器222は、負のTx時間バッファに対応する情報を報告において示す(ブロック714)。
ブロック716において、例示的なデータオーガナイザ224は、時間バッファ測定値のヒストグラム(またはヒストグラムに対応するデータ構造)を作成することにより、ジッタ測定値を生成する。ブロック718において、例示的な報告生成器222は、ジッタ測定値を報告に含める。ブロック720において、例示的なコンポーネントインタフェース220は、報告を出力し、および/または、課題軽減器226は、報告に基づいて、(例えば、冗長性および/または再送信を増加させることにより)ネットワーク課題を軽減し、(例えば、保護ウィンドウの長さを減少させることにより)効率を改善し、および/または、(例えば、保護ウィンドウの長さを増加させることにより)性能を改善する。例示的なコンポーネントインタフェース220は、ユーザインタフェースに、および/または別のデバイスまたはコンポーネントに報告を(例えば、有線接続または無線接続を介して)出力し得る。
図8は、トピックの送信がQoS保証を順守していることを保証するために図4AのDDS層114(例えば、例示的なSTA102a、102b、例示的なAP104、ブリッジ、および/またはパブリッシャとして動作する任意の他のデバイスのうちのいずれか1つに実装される)により実行され得る例示的な機械可読命令800を表す例示的なフローチャートを示す。図7のフローチャートは図1の環境100における図4Aの例示的なDDS層114と併せて説明されるが、命令は、任意の環境において収集される任意のDDS層により実行され得る。
ブロック802において、データマニピュレータ402は、トピックを公開するための実装しているデバイスのアプリケーションからの命令がコンポーネントインタフェース400を介して取得されているかどうかを判断する。トピックを公開するための命令が取得されていないとデータマニピュレータ402が判断した場合(ブロック802:いいえ)、制御は終了する。トピックを公開するための命令が取得されているとデータマニピュレータ402が判断した場合(ブロック802:はい)、例示的なデータマニピュレータ402は、命令からのQoSポリシデータ構造を特定する(ブロック804)。ブロック806において、例示的なデータマニピュレータ402は、TSNプロファイルをQoSポリシデータ構造に含める(例えば、TSNプロファイルを有するQoSポリシデータ構造をオーバーロードする)。アプリケーションは、コンポーネントインタフェース400を介してTSNプロファイルをDDS層114に提供する。
ブロック808において、データマニピュレータ402は、オーバーロードされたQoSポリシデータ構造を(例えば、コンポーネントインタフェース400を介して、実装しているデバイスの無線アーキテクチャを用いて)TCS層136へ送信する。ブロック810において、例示的なマッピングストレージ408は、TCS層116からのマッピングを取得し(例えば、コンポーネントインタフェース400を介して)、格納する。マッピングは、データライタ406をTCS層116におけるTSNデータライタ420にマッピングする。このように、データライタ406は、(例えば、サブスクライブデバイスのDDS層内のデータリーダへの直接送信の代わりに)TSNデータライタ420を介してデータをサブスクライブデバイスへ送信する。
ブロック812において、例示的なデータライタ406は、トピックがコンポーネントインタフェース400を介してアプリケーションから取得されているかどうかを判断する。トピックが取得されていないとデータライタ406が判断した場合(ブロック812:いいえ)、制御は終了する。トピックが取得されているとデータライタ406が判断した場合(ブロック812:はい)、例示的なデータライタ406は、マッピングに基づいて、トピックをTCS層116のTSNデータライタ420へ送信する(ブロック814)。
図9は、トピックの送信がQoS保証を順守していることを保証するために図4BのTCS層116(例えば、例示的なSTA102a、102b、例示的なAP104、ブリッジ、および/または任意の他のTSNデバイスのうちの1つまたは複数)により実行され得る例示的な機械可読命令800を表す例示的なフローチャートを示す。図9のフローチャートは図1の環境100における図4Bの例示的なTCS層116と併せて説明されるが、命令は、任意の環境において収集される任意のTCS層により実行され得る。
ブロック900において、例示的なデータ抽出器412は、QoSポリシが(例えば、コンポーネントインタフェース410と、実装しているデバイスの無線アーキテクチャとを介して)パブリッシュデバイスのDDS層114から取得されているかどうかを判断する。QoSポリシが取得されていないと例示的なデータ抽出器412が判断した場合(ブロック902:いいえ)、制御は終了する。QoSポリシが取得されていると例示的なデータ抽出器412が判断した場合(ブロック902:はい)、例示的なデータ抽出器412は、QoSポリシデータ構造からTSNプロファイルを抽出する(ブロック904)。ブロック906において、例示的なプロファイルストレージ414は、TSNプロファイルを格納する。ストレージ414は、TSNプロファイルを抽出するデバイスに含まれてよく、および/または、異なるデバイスに含まれてよい。
ブロック908において、例示的なマップ生成器416は、QoSポリシが取得されたDDS層114のデータライタ406にTCS層116のTSNデータライタ420をマッピングする。ブロック910において、例示的なマップ生成器416は、コンポーネントインタフェース410を用いて、実装しているデバイスの無線アーキテクチャを介して、マッピングをDDS層114のデータライタ406へ送信する。ブロック912において、例示的なストリームネゴシエータ418は、加入者からパブリッシャのトピックへの要求が(例えば、コンポーネントインタフェース410を介して)リスナから取得されているかどうかを判断する。例示的なストリームネゴシエータ418は、パブリッシャからQoSポリシを取得するデバイスとは異なるデバイスに実装され得る。
加入者からの要求が取得されていないと例示的なストリームネゴシエータ418が判断した場合(ブロック912:いいえ)、制御は終了する。加入者からの要求が取得されていると例示的なストリームネゴシエータ418が判断した場合(ブロック912:はい)、例示的なストリームネゴシエータ418は、トピックに対応するTSNプロファイル(例えば、プロファイルストレージ414に格納されたTSNプロファイル)を読み取る(ブロック914)。ブロック916において、例示的なストリームネゴシエータ418は、CNC112および/またはCUC118とネゴシエートして、(例えば、TSNプロファイルにおいて定義されるQoS保証を満たすために)TSNプロファイルに基づくトピックのTSNストリームを確立する。ブロック918において、例示的なストリームネゴシエータ418は、ストリームのセットアップが成功したかどうか(例えば、ストリームネゴシエータ418がストリームを確立してQoS保証を満たすことができたかどうか)を判断する。
データストリームのセットアップが成功したと例示的なストリームネゴシエータ418が判断した場合(ブロック918:はい)、例示的なTCS層116は、図10と併せてさらに後述するように、確立されたTSNストリーム(例えば、図5の例示的なTSNストリーム506)を介して、パブリッシャからのトピックを加入者へ送信する(ブロック920)。データストリームのセットアップが成功しなかったと例示的なストリームネゴシエータ418が判断した場合(ブロック918:いいえ)、例示的なストリームネゴシエータ418は、失敗したストリーム接続インジケーションを(例えば、コンポーネントインタフェース410を介して)加入者のDDS層114へ送信する(ブロック922)。
図10は、図9のブロック920と併せてさらに上述したように、確立されたTSNストリームを介してトピックを送信するために図4BのTCS層116(例えば、例示的なSTA102a、102b、例示的なAP104、ブリッジ、および/または任意の他のTSNデバイスのうちの1つまたは複数)により実行され得る例示的な機械可読命令920を表す例示的なフローチャートを示す。図10のフローチャートは図1の環境100における図4Bの例示的なTCS層116と併せて説明されるが、命令は、任意の環境において収集される任意のTCS層により実行され得る。
ブロック1002において、例示的なTSNデータライタ420は、トピックが(例えば、コンポーネントインタフェース410を介して)パブリッシャのDDS層114のデータライタ406から取得されているかどうかを判断する。トピックが取得されていないと例示的なTSNデータライタ420が判断した場合(ブロック1002:いいえ)、制御は終了する。トピックが取得されていると例示的なTSNデータライタ420が判断した場合(ブロック1002:はい)、例示的なTSNデータライタ420は、確立されたTSNストリーム(例えば、図5の例示的なTSNデータストリーム506)を介して、トピックをTSNデータリーダ422(異なるデバイスに実装され得る)へ送信する(ブロック1004)。ブロック1006において、例示的なTSNデータリーダ422は、確立されたTSNストリームを用いて、TSNデータライタ420からトピックを取得する。ブロック1008において、例示的なTSNデータリーダ422は、トピックを加入者デバイスのDDS層114内のデータリーダ(例えば、図5の例示的なデータリーダ504)へ送信する。
図11Aおよび図11Bは、本明細書において説明されるリンク性能測定に対応するデータを含むように規格(例えば、TSN規格)から調節され得る例示的なデータパケット(要素とも称される)および/または要素タイプ定義を示す。図11Aは、例示的なサブ要素1102を含む例示的な送信ストリーム/カテゴリ測定要求要素1100、および、平均エラー閾値サブ要素1108と、例示的な連続エラー閾値サブ要素1110と、例示的な遅延閾値サブ要素1112と、例示的な測定カウントサブ要素1114と、例示的なトリガタイムアウトサブ要素1116とを含む例示的な違反インジケータおよびトリガ報告データパケット1104を含む。図11Aは、TSS定義1120を含む例示的な測定タイプテーブル1118をさらに含む。図11Bは、例示的な送信ストリーム/カテゴリ測定報告要素1122、例示的な報告理由サブ要素1124、例示的な平均時間バッファ値サブ要素1126、例示的なRx時間バッファサブ要素1128、例示的なイベントタイプテーブル1130および例示的なTSSイベントタイプ1132を含む。図11Aおよび図11Bはリンク性能情報を示すための例示的な方式を含んでいるが、リンク性能情報は、任意のデータパケットおよび/または任意の構成で示され得る。
図11Aの例示的な送信ストリーム/カテゴリ測定要求要素1100は、例示的なオプションサブ要素1102を含む。いくつかの例において、時間バッファ情報は、オプションサブ要素1102に含まれ得る。例えば、オプションサブ要素1102は、Tx時間バッファ報告フィールド、Tx時間バッファトリガ報告フィールド、Rx時間バッファトリガ報告フィールド、Rx時間バッファ報告フィールド、Tx時間バッファ違反インジケータ報告フィールドおよび/またはRx時間バッファ違反インジケーション報告フィールドを含み得る。
図4Aの例示的な違反インジケータおよびトリガ報告データパケット1104は、デバイスがバッファ時間データをいつ報告するかに対応する様々なフィールド(例えば、サブ要素)を含む。例示的なトリガ条件サブ要素1106は、時間バッファデータがいつCNC112へ送信されるべきかに対応する値を含む。平均エラー閾値サブ要素1108は、平均トリガ条件の閾値として用いられる破棄されたMSDUの数を表す値を含む。例示的な連続エラー閾値サブ要素1110は、連続するトリガ条件の閾値として用いられる破棄されたMSDUの数を表す値を含む。例示的な遅延閾値サブ要素1112は、遅延したMSDU範囲(例えば、MSDU送信遅延を表す値を含み、そこで、またはそこよりも上で、MSDUが、遅延したMSDUカウントの閾値に向かってカウントされる)と、遅延したMSDUカウント(例えば、送信遅延ヒストグラム内のビンの下限を表す値を含む)とを含む。例示的な測定カウントサブ要素1114は、MSDUの数(平均トリガ条件の平均破棄カウントを計算するために用いられ得る)を含む。例示的なトリガタイムアウトサブ要素1116は、100個の時間ユニット(TU)の単位で表される値を含む。当該TU中、トリガ条件が満たされた後は、測定STAがさらなるトリガ送信ストリーム/カテゴリ測定報告を生成しない。
図11Aの例示的な測定タイプテーブル1118は、測定報告の測定タイプに対応する。したがって、CNC112は、対応する値に基づいて、測定タイプを特定できる。測定タイプテーブル1118において、TSS1120の測定タイプは、10と定義される。しかしながら、測定タイプは、テーブル1118内の任意の数として定義され得る。
図11Bの例示的な送信ストリーム/カテゴリ測定報告要素1122は、例示的な報告理由サブ要素1124および例示的な平均時間バッファ値1126を含む。報告理由サブ要素1124は、Rx時間バッファを含めるために、例示的なRx時間バッファサブフィールド1128を含む。例示的な平均時間バッファ値1126は、前に計算された時間バッファの平均を含む。
例示的なイベントタイプテーブル1130は、802.11v仕様において特定され得るイベントタイプを含む。イベントテーブル1130は、「4」に対応するTSSイベントタイプを含む。いくつかの例において、TSSイベントタイプは、TSSイベント要求要素および/またはTSSイベント応答要素に含まれる。TSSイベント要求要素は、トラフィック識別子および時間バッファ閾値を含み得る。TSSイベント応答は、トラフィック番号および測定時間バッファ値を含み得る。
図12は、図2Aのデータ収集器110を実装するための図6Aおよび図6Bの命令を実行するように構築された例示的なプロセッサプラットフォーム1200のブロック図である。プロセッサプラットフォーム1200は、例えば、サーバ、ステーション、ブリッジ、アクセスポイント、パーソナルコンピュータ、ワークステーション、自己学習機械(例えば、ニューラルネットワーク)、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、パーソナルデジタルアシスタント(PDA)、インターネット機器、ゲーム機、ヘッドセットもしくは他のウェアラブルデバイスまたは任意の他のタイプのコンピューティングデバイスであり得る。
図示された例のプロセッサプラットフォーム1200は、プロセッサ1212を含む。図示された例のプロセッサ1212は、ハードウェアである。例えば、プロセッサ1212は、1つまたは複数の集積回路、論理回路、マイクロプロセッサ、GPU、DSP、または任意の所望の系統もしくは製造者のコントローラにより実装され得る。ハードウェアプロセッサは、半導体ベース(例えば、シリコンベース)のデバイスであってよい。この例において、プロセッサは、図2Aのコンポーネントインタフェース200、クロック202、スケジュールコントローラ204、データパケットコントローラ206、フラグ生成器208およびリンク性能計算器210を実装する。
図示された例のプロセッサ1212は、ローカルメモリ1213(例えば、キャッシュ)を含む。図示された例のプロセッサ1212は、バス1218を介して、揮発性メモリ1214と不揮発性メモリ1216とを含むメインメモリと通信する。揮発性メモリ1214は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ラムバスダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリデバイスにより実装され得る。不揮発性メモリ1216は、フラッシュメモリおよび/または任意の他の所望のタイプのメモリデバイスにより実装され得る。メインメモリ1214、1216へのアクセスは、メモリコントローラにより制御される。
図示された例のプロセッサプラットフォーム1200は、インタフェース回路1220も含む。インタフェース回路1220は、イーサネット(登録商標)インタフェース、ユニバーサルシリアルバス(USB)、ブルートゥース(登録商標)インタフェース、近距離無線通信(NFC)インタフェースおよび/またはPCIエクスプレスインタフェースなど、任意のタイプのインタフェース規格により実装され得る。
図示された例において、1つまたは複数の入力デバイス1222は、インタフェース回路1220に接続される。入力デバイス1222は、ユーザがデータおよび/またはコマンドをプロセッサ1212に入力することを可能にする。入力デバイスは、例えば、音声センサ、マイク、カメラ(静止画または動画用)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボールおよび/または音声認識システムにより実装され得る。
1つまたは複数の出力デバイス1224も、図示された例のインタフェース回路1220に接続される。出力デバイス1224は、例えば、ディスプレイデバイス(例えば、発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ(LCD)、ブラウン管ディスプレイ(CRT)、インプレーススイッチング(IPS)ディスプレイ、タッチスクリーン等)、触覚出力デバイス、プリンタおよび/またはスピーカにより実装され得る。したがって、図示された例のインタフェース回路1220は、典型的には、グラフィックスドライバカード、グラフィックスドライバチップおよび/またはグラフィックスドライバプロセッサを含む。
図示された例のインタフェース回路1220は、ネットワーク1226を介して外部機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にするための、送信機、受信機、送受信機、モデム、レジデンシャルゲートウェイ、無線アクセスポイントおよび/またはネットワークインタフェースなどの通信デバイスも含む。通信は、例えば、イーサネット(登録商標)接続、デジタル加入者線(DSL)接続、電話回線接続、同軸ケーブルシステム、衛星システム、有視界無線システム、セルラ電話システム等を介し得る。
図示された例のプロセッサプラットフォーム1200は、ソフトウェアおよび/またはデータを格納するための1つまたは複数の大容量ストレージデバイス1228も含む。そのような大容量ストレージデバイス1228の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、独立ディスク冗長アレイ(RAID)システムおよびデジタル多用途ディスク(DVD)ドライブを含む。
図12の機械実行可能命令1232は、大容量ストレージデバイス1228に、揮発性メモリ1214に、不揮発性メモリ1216に、および/または、CDまたはDVDなどの取り外し可能な非一時的コンピュータ可読記憶媒体に格納され得る。
図13は、図2BのCNC112を実装するための図7の命令を実行するように構築された例示的なプロセッサプラットフォーム1300のブロック図である。プロセッサプラットフォーム1300は、例えば、サーバ、ステーション、ブリッジ、アクセスポイント、パーソナルコンピュータ、ワークステーション、自己学習機械(例えば、ニューラルネットワーク)、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、パーソナルデジタルアシスタント(PDA)、インターネット機器、ゲーム機、ヘッドセットもしくは他のウェアラブルデバイスまたは任意の他のタイプのコンピューティングデバイスであり得る。
図示された例のプロセッサプラットフォーム1300は、プロセッサ1312を含む。図示された例のプロセッサ1312は、ハードウェアである。例えば、プロセッサ1312は、1つまたは複数の集積回路、論理回路、マイクロプロセッサ、GPU、DSP、または任意の所望の系統もしくは製造者のコントローラにより実装され得る。ハードウェアプロセッサは、半導体ベース(例えば、シリコンベース)のデバイスであってよい。この例において、プロセッサは、図2Bのコンポーネントインタフェース220、例示的な報告生成器222、例示的なデータオーガナイザ234および例示的な課題軽減器226を実装する。
図示された例のプロセッサ1312は、ローカルメモリ1313(例えば、キャッシュ)を含む。図示された例のプロセッサ1312は、バス1318を介して、揮発性メモリ1314と不揮発性メモリ1316とを含むメインメモリと通信する。揮発性メモリ1314は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ラムバスダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリデバイスにより実装され得る。不揮発性メモリ1316は、フラッシュメモリおよび/または任意の他の所望のタイプのメモリデバイスにより実装され得る。メインメモリ1314、1316へのアクセスは、メモリコントローラにより制御される。
図示された例のプロセッサプラットフォーム1300は、インタフェース回路1320も含む。インタフェース回路1320は、イーサネット(登録商標)インタフェース、ユニバーサルシリアルバス(USB)、ブルートゥース(登録商標)インタフェース、近距離無線通信(NFC)インタフェースおよび/またはPCIエクスプレスインタフェースなど、任意のタイプのインタフェース規格により実装され得る。
図示された例において、1つまたは複数の入力デバイス1322は、インタフェース回路1320に接続される。入力デバイス1322は、ユーザがデータおよび/またはコマンドをプロセッサ1312に入力することを可能にする。入力デバイスは、例えば、音声センサ、マイク、カメラ(静止画または動画用)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボールおよび/または音声認識システムにより実装され得る。
1つまたは複数の出力デバイス1324も、図示された例のインタフェース回路1320に接続される。出力デバイス1324は、例えば、ディスプレイデバイス(例えば、発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ(LCD)、ブラウン管ディスプレイ(CRT)、インプレーススイッチング(IPS)ディスプレイ、タッチスクリーン等)、触覚出力デバイス、プリンタおよび/またはスピーカにより実装され得る。したがって、図示された例のインタフェース回路1320は、典型的には、グラフィックスドライバカード、グラフィックスドライバチップおよび/またはグラフィックスドライバプロセッサを含む。
図示された例のインタフェース回路1320は、ネットワーク1326を介して外部機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にするための、送信機、受信機、送受信機、モデム、レジデンシャルゲートウェイ、無線アクセスポイントおよび/またはネットワークインタフェースなどの通信デバイスも含む。通信は、例えば、イーサネット(登録商標)接続、デジタル加入者線(DSL)接続、電話回線接続、同軸ケーブルシステム、衛星システム、有視界無線システム、セルラ電話システム等を介し得る。
図示された例のプロセッサプラットフォーム1300は、ソフトウェアおよび/またはデータを格納するための1つまたは複数の大容量ストレージデバイス1328も含む。そのような大容量ストレージデバイス1328の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、独立ディスク冗長アレイ(RAID)システムおよびデジタル多用途ディスク(DVD)ドライブを含む。
図13の機械実行可能命令1332は、大容量ストレージデバイス1328に、揮発性メモリ1314に、不揮発性メモリ1316に、および/または、CDまたはDVDなどの取り外し可能な非一時的コンピュータ可読記憶媒体に格納され得る。
図14は、図4AのDDS層114を実装するための図8の命令を実行するように構築された例示的なプロセッサプラットフォーム1400のブロック図である。プロセッサプラットフォーム1400は、例えば、サーバ、ステーション、ブリッジ、アクセスポイント、パーソナルコンピュータ、ワークステーション、自己学習機械(例えば、ニューラルネットワーク)、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、パーソナルデジタルアシスタント(PDA)、インターネット機器、ゲーム機、ヘッドセットもしくは他のウェアラブルデバイスまたは任意の他のタイプのコンピューティングデバイスであり得る。
図示された例のプロセッサプラットフォーム1400は、プロセッサ1412を含む。図示された例のプロセッサ1412は、ハードウェアである。例えば、プロセッサ1412は、1つまたは複数の集積回路、論理回路、マイクロプロセッサ、GPU、DSP、または任意の所望の系統もしくは製造者のコントローラにより実装され得る。ハードウェアプロセッサは、半導体ベース(例えば、シリコンベース)のデバイスであってよい。この例において、プロセッサは、図4Aの例示的なコンポーネントインタフェース400、例示的なデータマニピュレータ402および例示的なデータライタ406を実装する。
図示された例のプロセッサ1412は、ローカルメモリ1413(例えば、キャッシュ)を含む。図14において、例示的なローカルメモリ1413は、マッピングストレージ408を実装する。図示された例のプロセッサ1412は、バス1418を介して、揮発性メモリ1414と不揮発性メモリ1416とを含むメインメモリと通信する。揮発性メモリ1414は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ラムバスダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリデバイスにより実装され得る。不揮発性メモリ1416は、フラッシュメモリおよび/または任意の他の所望のタイプのメモリデバイスにより実装され得る。メインメモリ1414、1416へのアクセスは、メモリコントローラにより制御される。
図示された例のプロセッサプラットフォーム1400は、インタフェース回路1420も含む。インタフェース回路1420は、イーサネット(登録商標)インタフェース、ユニバーサルシリアルバス(USB)、ブルートゥース(登録商標)インタフェース、近距離無線通信(NFC)インタフェースおよび/またはPCIエクスプレスインタフェースなど、任意のタイプのインタフェース規格により実装され得る。
図示された例において、1つまたは複数の入力デバイス1422は、インタフェース回路1420に接続される。入力デバイス1422は、ユーザがデータおよび/またはコマンドをプロセッサ1412に入力することを可能にする。入力デバイスは、例えば、音声センサ、マイク、カメラ(静止画または動画用)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボールおよび/または音声認識システムにより実装され得る。
1つまたは複数の出力デバイス1424も、図示された例のインタフェース回路1420に接続される。出力デバイス1424は、例えば、ディスプレイデバイス(例えば、発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ(LCD)、ブラウン管ディスプレイ(CRT)、インプレーススイッチング(IPS)ディスプレイ、タッチスクリーン等)、触覚出力デバイス、プリンタおよび/またはスピーカにより実装され得る。したがって、図示された例のインタフェース回路1420は、典型的には、グラフィックスドライバカード、グラフィックスドライバチップおよび/またはグラフィックスドライバプロセッサを含む。
図示された例のインタフェース回路1420は、ネットワーク1426を介して外部機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にするための、送信機、受信機、送受信機、モデム、レジデンシャルゲートウェイ、無線アクセスポイントおよび/またはネットワークインタフェースなどの通信デバイスも含む。通信は、例えば、イーサネット(登録商標)接続、デジタル加入者線(DSL)接続、電話回線接続、同軸ケーブルシステム、衛星システム、有視界無線システム、セルラ電話システム等を介し得る。
図示された例のプロセッサプラットフォーム1400は、ソフトウェアおよび/またはデータを格納するための1つまたは複数の大容量ストレージデバイス1428も含む。そのような大容量ストレージデバイス1428の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、独立ディスク冗長アレイ(RAID)システムおよびデジタル多用途ディスク(DVD)ドライブを含む。
図14の機械実行可能命令1432は、大容量ストレージデバイス1428に、揮発性メモリ1414に、不揮発性メモリ1416に、および/または、CDまたはDVDなどの取り外し可能な非一時的コンピュータ可読記憶媒体に格納され得る。
図15は、図4BのTCS層116を実装するための図9および/または図10の命令を実行するように構築された例示的なプロセッサプラットフォーム1500のブロック図である。プロセッサプラットフォーム1500は、例えば、サーバ、ステーション、ブリッジ、アクセスポイント、パーソナルコンピュータ、ワークステーション、自己学習機械(例えば、ニューラルネットワーク)、モバイルデバイス(例えば、携帯電話、スマートフォン、iPad(登録商標)などのタブレット)、パーソナルデジタルアシスタント(PDA)、インターネット機器、ゲーム機、ヘッドセットもしくは他のウェアラブルデバイスまたは任意の他のタイプのコンピューティングデバイスであり得る。
図示された例のプロセッサプラットフォーム1500は、プロセッサ1512を含む。図示された例のプロセッサ1512は、ハードウェアである。例えば、プロセッサ1512は、1つまたは複数の集積回路、論理回路、マイクロプロセッサ、GPU、DSP、または任意の所望の系統もしくは製造者のコントローラにより実装され得る。ハードウェアプロセッサは、半導体ベース(例えば、シリコンベース)のデバイスであってよい。この例において、プロセッサ(例えば、または、複数のデバイスに実装される場合には複数のプロセッサ)は、図4Bの例示的なコンポーネントインタフェース410、例示的なデータ抽出器412、例示的なマップ生成器416、例示的なストリームネゴシエータ418、例示的なTSNデータライタ420および例示的なTSNデータリーダ422を実装する。
図示された例のプロセッサ1512は、ローカルメモリ1513(例えば、キャッシュ)を含む。図15において、例示的なローカルメモリ1513は、プロファイルストレージ414を実装する。図示された例のプロセッサ1512は、バス1518を介して、揮発性メモリ1514と不揮発性メモリ1516とを含むメインメモリと通信する。揮発性メモリ1514は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ラムバスダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリデバイスにより実装され得る。不揮発性メモリ1516は、フラッシュメモリおよび/または任意の他の所望のタイプのメモリデバイスにより実装され得る。メインメモリ1514、1516へのアクセスは、メモリコントローラにより制御される。
図示された例のプロセッサプラットフォーム1500は、インタフェース回路1520も含む。インタフェース回路1520は、イーサネット(登録商標)インタフェース、ユニバーサルシリアルバス(USB)、ブルートゥース(登録商標)インタフェース、近距離無線通信(NFC)インタフェースおよび/またはPCIエクスプレスインタフェースなど、任意のタイプのインタフェース規格により実装され得る。
図示された例において、1つまたは複数の入力デバイス1522は、インタフェース回路1520に接続される。入力デバイス1522は、ユーザがデータおよび/またはコマンドをプロセッサ1512に入力することを可能にする。入力デバイスは、例えば、音声センサ、マイク、カメラ(静止画または動画用)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボールおよび/または音声認識システムにより実装され得る。
1つまたは複数の出力デバイス1524も、図示された例のインタフェース回路1520に接続される。出力デバイス1524は、例えば、ディスプレイデバイス(例えば、発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ(LCD)、ブラウン管ディスプレイ(CRT)、インプレーススイッチング(IPS)ディスプレイ、タッチスクリーン等)、触覚出力デバイス、プリンタおよび/またはスピーカにより実装され得る。したがって、図示された例のインタフェース回路1520は、典型的には、グラフィックスドライバカード、グラフィックスドライバチップおよび/またはグラフィックスドライバプロセッサを含む。
図示された例のインタフェース回路1520は、ネットワーク1526を介して外部機械(例えば、任意の種類のコンピューティングデバイス)とのデータ交換を容易にするための、送信機、受信機、送受信機、モデム、レジデンシャルゲートウェイ、無線アクセスポイントおよび/またはネットワークインタフェースなどの通信デバイスも含む。通信は、例えば、イーサネット(登録商標)接続、デジタル加入者線(DSL)接続、電話回線接続、同軸ケーブルシステム、衛星システム、有視界無線システム、セルラ電話システム等を介し得る。
図示された例のプロセッサプラットフォーム1500は、ソフトウェアおよび/またはデータを格納するための1つまたは複数の大容量ストレージデバイス1528も含む。そのような大容量ストレージデバイス1528の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、独立ディスク冗長アレイ(RAID)システムおよびデジタル多用途ディスク(DVD)ドライブを含む。
図15の機械実行可能命令1532は、大容量ストレージデバイス1528に、揮発性メモリ1514に、不揮発性メモリ1516に、および/または、CDまたはDVDなどの取り外し可能な非一時的コンピュータ可読記憶媒体に格納され得る。
前述の記載から、データ送信を容易にする例示的な方法、装置および製造品が開示されてきたことが理解されよう。開示された方法、装置および製造品は、リンク性能データを測定してデータ交換スケジュールを調節することで、性能を改善し、および/または効率を向上させる。加えて、開示された方法、装置および製造品は、アプリケーションからのQoS保証がネットワークのTSN層において満たされることを保証することにより、コンピューティングデバイスの効率を改善する。したがって、開示された方法、装置および製造品は、コンピュータの機能における1つまたは複数の改善点に関する。
データ送信を容易にするための例示的な方法、装置、システムおよび製造品が、本明細書において開示される。さらに、例およびそれらの組み合わせは、以下のものを含む。
例1は、データ交換用のウィンドウの終了に対応する第1の時刻を決定するためのスケジュールコントローラと、上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定するためのデータパケットコントローラと、上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算するためのリンク性能計算器と、上記リンク性能をネットワーク構成エンティティへ送信するためのインタフェースとを備える装置を含む。
例2は、例1に記載の装置を含み、上記スケジュールコントローラは、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定する。
例3は、例1から2に記載の装置を含み、上記データパケットコントローラは、リスニングデバイスのためのデータフレームを生成し、上記インタフェースは、上記データフレームを上記リスニングデバイスへ送信し、上記リスニングデバイスから上記確認応答を取得し、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する。
例4は、例1から3に記載の装置を含み、上記データパケットコントローラは、データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成し、上記インタフェースは、上記確認応答を上記トーキンングデバイスへ送信し、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する。
例5は、例1から4に記載の装置を含み、上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てるためのフラグ生成器をさらに含む。
例6は、例1から5に記載の装置を含み、上記リンク性能計算器は、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算する。
例7は、例1から6に記載の装置を含み、上記インタフェースは、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させるために、上記リンク性能を上記ネットワーク構成エンティティへ送信する。
例8は、実行された場合、少なくとも、データ交換用のウィンドウの終了に対応する第1の時刻を決定することと、上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定することと、上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算することと、上記リンク性能をネットワーク構成エンティティへ送信することとを1つまたは複数のプロセッサに実行させる命令を備えるコンピュータ可読記憶媒体を含む。
例9は、例8に記載のコンピュータ可読記憶媒体を含み、上記命令は、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定することを上記1つまたは複数のプロセッサに実行させる。
例10は、例8から9に記載のコンピュータ可読記憶媒体を含み、上記命令は、リスニングデバイスのためのデータフレームを生成することと、上記データフレームを上記リスニングデバイスへ送信することと、上記リスニングデバイスから上記確認応答を取得することとを上記1つまたは複数のプロセッサに実行させ、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する。
例11は、例8から10に記載のコンピュータ可読記憶媒体を含み、上記命令は、データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成することと、上記確認応答を上記トーキンングデバイスへ送信することとを上記1つまたは複数のプロセッサに実行させ、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する。
例12は、例8から11に記載のコンピュータ可読記憶媒体を含み、上記命令は、上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てることを上記1つまたは複数のプロセッサに実行させる。
例13は、例8から12に記載のコンピュータ可読記憶媒体を含み、上記命令は、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算することを上記1つまたは複数のプロセッサに実行させる。
例14は、例8から13に記載のコンピュータ可読記憶媒体を含み、上記命令は、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させるために上記リンク性能を上記ネットワーク構成エンティティへ送信することを上記1つまたは複数のプロセッサに実行させる。
例15は、1つまたは複数のプロセッサを用いて命令を実行することにより、データ交換用のウィンドウの終了に対応する第1の時刻を決定する段階と、上記1つまたは複数のプロセッサを用いて命令を実行することにより、上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定する段階と、上記1つまたは複数のプロセッサを用いて命令を実行することにより、上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算する段階と、上記リンク性能をネットワーク構成エンティティへ送信する段階とを備える方法を含む。
例16は、例15に記載の方法を含み、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定する段階をさらに含む。
例17は、例15から16に記載の方法を含み、リスニングデバイスのためのデータフレームを生成する段階と、上記データフレームを上記リスニングデバイスへ送信する段階と、上記リスニングデバイスから上記確認応答を取得する段階であって、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する、取得する段階とをさらに含む。
例18は、例15から17に記載の方法を含み、データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成する段階と、上記確認応答を上記トーキンングデバイスへ送信する段階であって、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する、送信する段階とをさらに含む。
例19は、例15から18に記載の方法を含み、上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てる段階をさらに含む。
例20は、例15から19に記載の方法を含み、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算する段階をさらに含む。
例21は、例15から20に記載の方法を含み、上記ネットワーク構成エンティティへの上記リンク性能の上記送信は、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させることである。
例22は、データ交換用のウィンドウの終了に対応する第1の時刻を決定するための手段と、上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定するための手段と、上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算するための手段と、上記リンク性能をネットワーク構成エンティティへ送信するための手段とを備える装置を含む。
例23は、例22に記載の装置を含み、上記第1の時刻を決定するための上記手段は、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定する。
例24は、例22から23に記載の装置を含み、上記第1の時刻を決定するための上記手段は、リスニングデバイスのためのデータフレームを生成し、上記送信するための手段は、上記データフレームを上記リスニングデバイスへ送信し、上記リスニングデバイスから上記確認応答を取得し、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する。
例25は、例22から24に記載の装置を含み、上記第1の時刻を決定するための上記手段は、データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成し、上記送信するための手段は、上記確認応答を上記トーキンングデバイスへ送信し、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する。
例26は、例22から25に記載の装置を含み、上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てるための手段をさらに含む。
例27は、例22から26に記載の装置を含み、上記計算するための手段は、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算する。
例28は、例22から27に記載の装置を含み、上記送信するための手段は、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させるために、上記リンク性能を上記ネットワーク構成エンティティへ送信する。
例29は、パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定するためのデータ抽出器と、タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングするためのマップ生成器と、サブスクライブデバイスが上記トピックをサブスクライブする場合、上記タイムセンシティブネットワークデータライタとタイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートするためのネゴシエータであって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエータと、上記タイムセンシティブネットワークデータストリームを介して上記パブリッシュデバイスの上記データライタからの上記トピックを上記タイムセンシティブネットワークデータリーダへ送信するための上記タイムセンシティブネットワークデータライタと、上記トピックを上記サブスクライブデバイスのデータリーダへ送信するための上記タイムセンシティブネットワークデータリーダとを備えるシステムを含む。
例30は、例29に記載のシステムを含み、上記データ抽出器は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出することにより、上記サービス品質保証を決定し、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む。
例31は、例29から30に記載のシステムを含み、上記パブリッシュデバイスから上記サービス品質保証を取得するためのインタフェースをさらに含む。
例32は、例29から31に記載のシステムを含み、上記マップを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを上記タイムセンシティブネットワークデータライタへ送信させるためのインタフェースをさらに含む。
例33は、例29から32に記載のシステムを含み、上記ネゴシエータは、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートする。
例34は、例29から33に記載のシステムを含み、上記サービス品質保証を格納するためのストレージをさらに含み、上記ネゴシエータは、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合に上記ストレージにアクセスする。
例35は、例29から34に記載のシステムを含み、上記ネゴシエータは、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続することにより、上記タイムセンシティブネットワークデータストリームをネゴシエートする。
例36は、例29から35に記載のシステムを含み、上記システムは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される。
例37は、実行された場合、少なくとも、パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定することと、タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングすることと、サブスクライブデバイスが上記トピックをサブスクライブする場合、上記タイムセンシティブネットワークデータライタとタイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートすることであって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエートすることと、上記タイムセンシティブネットワークデータストリームを介して、上記パブリッシュデバイスの上記データライタからの上記トピックを上記タイムセンシティブネットワークデータリーダへ送信することと、上記トピックを上記サブスクライブデバイスのデータリーダへ送信することとを1つまたは複数のプロセッサに実行させる命令を備えるコンピュータ可読記憶媒体を含む。
例38は、例37に記載のコンピュータ可読記憶媒体を含み、上記命令は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出することにより上記サービス品質保証を決定することであって、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む、決定することを上記1つまたは複数のプロセッサに実行させる。
例39は、例37から38に記載のコンピュータ可読記憶媒体を含み、上記命令は、上記パブリッシュデバイスから上記サービス品質保証を取得することを上記1つまたは複数のプロセッサに実行させる。
例40は、例37から39に記載のコンピュータ可読記憶媒体を含み、上記命令は、上記マップを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを上記タイムセンシティブネットワークデータライタへ送信させることを上記1つまたは複数のプロセッサに実行させる。
例41は、例37から40に記載のコンピュータ可読記憶媒体を含み、上記命令は、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートすることを上記1つまたは複数のプロセッサに実行させる。
例42は、例37から41に記載のコンピュータ可読記憶媒体を含み、上記命令は、上記サービス品質保証を格納することを上記1つまたは複数のプロセッサに実行させ、上記命令は、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合にストレージにアクセスすることを上記1つまたは複数のプロセッサに実行させる。
例43は、例37から42に記載のコンピュータ可読記憶媒体を含み、上記命令は、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続することにより、上記タイムセンシティブネットワークデータストリームをネゴシエートすることを上記1つまたは複数のプロセッサに実行させる。
例44は、例37から43に記載のコンピュータ可読記憶媒体を含み、上記1つまたは複数のプロセッサは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される。
例45は、1つまたは複数のプロセッサを用いて命令を実行することにより、パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定する段階と、上記1つまたは複数のプロセッサを用いて命令を実行することにより、タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングする段階と、サブスクライブデバイスが上記トピックをサブスクライブする場合、上記1つまたは複数のプロセッサを用いて命令を実行することにより、上記タイムセンシティブネットワークデータライタとタイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートする段階であって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエートする段階と、上記タイムセンシティブネットワークデータストリームを介して、上記パブリッシュデバイスの上記データライタからの上記トピックを上記タイムセンシティブネットワークデータリーダへ送信する段階と、上記トピックを上記サブスクライブデバイスのデータリーダへ送信する段階とを備える方法を含む。
例46は、例45に記載の方法を含み、上記サービス品質保証を決定する上記段階は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出する段階であって、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む、抽出する段階を有する。
例47は、例45から46に記載の方法を含み、上記パブリッシュデバイスから上記サービス品質保証を取得する段階をさらに含む。
例48は、例45から47に記載の方法を含み、上記マッピングを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを上記タイムセンシティブネットワークデータライタへ送信させる段階をさらに含む。
例49は、例45から48に記載の方法を含み、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートする段階をさらに含む。
例50は、例45から49に記載の方法を含み、上記サービス品質保証を格納するためのストレージをさらに含み、上記ネゴシエートするための手段は、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合に上記ストレージにアクセスする。
例51は、例45から50に記載の方法を含み、上記タイムセンシティブネットワークデータストリームをネゴシエートする上記段階は、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続する段階を含む。
例52は、例45から51に記載の方法を含み、上記1つまたは複数のプロセッサは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される。
例53は、パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定するための手段と、タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングするための手段と、サブスクライブデバイスが上記トピックをサブスクライブする場合、タイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートするための手段であって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエートするための手段と、上記タイムセンシティブネットワークデータストリームを介して上記パブリッシュデバイスの上記データライタからの上記トピックを送信するための第2の手段へ送信するための手段と、上記トピックを上記サブスクライブデバイスのデータリーダへ送信するための、上記送信するための第2の手段とを備えるシステムを含む。
例54は、例53に記載のシステムを含み、上記決定するための手段は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出することにより、上記サービス品質保証を決定し、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む。
例55は、例53から54に記載のシステムを含み、上記パブリッシュデバイスから上記サービス品質保証を取得するための手段をさらに含む。
例56は、例53から55に記載のシステムを含み、上記マッピングを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを、送信するための手段へ送信させるための第3の手段をさらに含む。
例57は、例53から56に記載のシステムを含み、上記ネゴシエートするための手段は、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートする。
例58は、例53から57に記載のシステムを含み、上記サービス品質保証を格納するための手段をさらに含み、上記ネゴシエートするための手段は、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合に、格納するための手段にアクセスする。
例59は、例53から58に記載のシステムを含み、上記ネゴシエートするための手段は、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続することにより、上記タイムセンシティブネットワークデータストリームをネゴシエートする。
例60は、例53から59に記載のシステムを含み、上記システムは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される。
特定の例示的な方法、装置および製造品が本明細書において開示されてきたが、本特許が包含する範囲は、これらに限定されない。逆に、本特許は、本特許の特許請求の範囲に公正に含まれる全ての方法、装置および製造品を包含する。
以下の特許請求の範囲は、ここに、この参照により、この発明を実施するための形態に組み込まれ、各請求項は、本開示の別個の実施形態として独立している。
[他の考えられる項目]
(項目1)
データ交換用のウィンドウの終了に対応する第1の時刻を決定するためのスケジュールコントローラと、
上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定するためのデータパケットコントローラと、
上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算するためのリンク性能計算器と、
上記リンク性能をネットワーク構成エンティティへ送信するためのインタフェースと
を備える装置。
(項目2)
上記スケジュールコントローラは、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定する、項目1に記載の装置。
(項目3)
上記データパケットコントローラは、リスニングデバイスのためのデータフレームを生成し、
上記インタフェースは、
上記データフレームを上記リスニングデバイスへ送信し、
上記リスニングデバイスから上記確認応答を取得し、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する、
項目1に記載の装置。
(項目4)
上記データパケットコントローラは、データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成し、
上記インタフェースは、上記確認応答を上記トーキンングデバイスへ送信し、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する、
項目1に記載の装置。
(項目5)
上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てるためのフラグ生成器をさらに備える、項目1に記載の装置。
(項目6)
上記リンク性能計算器は、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算する、項目1に記載の装置。
(項目7)
上記インタフェースは、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させるために、上記リンク性能を上記ネットワーク構成エンティティへ送信する、項目1に記載の装置。
(項目8)
実行された場合、少なくとも、
データ交換用のウィンドウの終了に対応する第1の時刻を決定することと、
上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定することと、
上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算することと、
上記リンク性能をネットワーク構成エンティティへ送信することと
を1つまたは複数のプロセッサに実行させる命令
を備えるコンピュータ可読記憶媒体。
(項目9)
上記命令は、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定することを上記1つまたは複数のプロセッサに実行させる、項目8に記載のコンピュータ可読記憶媒体。
(項目10)
上記命令は、
リスニングデバイスのためのデータフレームを生成することと、
上記データフレームを上記リスニングデバイスへ送信することと、
上記リスニングデバイスから上記確認応答を取得することであって、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する、取得することと
を上記1つまたは複数のプロセッサに実行させる、
項目8に記載のコンピュータ可読記憶媒体。
(項目11)
上記命令は、
データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成することと、
上記確認応答を上記トーキンングデバイスへ送信することであって、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する、送信することと
を上記1つまたは複数のプロセッサに実行させる、
項目8に記載のコンピュータ可読記憶媒体。
(項目12)
上記命令は、上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てることを上記1つまたは複数のプロセッサに実行させる、項目8に記載のコンピュータ可読記憶媒体。
(項目13)
上記命令は、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算することを上記1つまたは複数のプロセッサに実行させる、項目8に記載のコンピュータ可読記憶媒体。
(項目14)
上記命令は、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させるために上記リンク性能を上記ネットワーク構成エンティティへ送信することを上記1つまたは複数のプロセッサに実行させる、項目8に記載のコンピュータ可読記憶媒体。
(項目15)
1つまたは複数のプロセッサを用いて命令を実行することにより、データ交換用のウィンドウの終了に対応する第1の時刻を決定する段階と、
上記1つまたは複数のプロセッサを用いて命令を実行することにより、上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定する段階と、
上記1つまたは複数のプロセッサを用いて命令を実行することにより、上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算する段階と、
上記リンク性能をネットワーク構成エンティティへ送信する段階と
を備える方法。
(項目16)
前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定する段階をさらに備える、項目15に記載の方法。
(項目17)
リスニングデバイスのためのデータフレームを生成する段階と、
上記データフレームを上記リスニングデバイスへ送信する段階と、
上記リスニングデバイスから上記確認応答を取得する段階であって、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する、取得する段階と
をさらに備える、項目15に記載の方法。
(項目18)
データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成する段階と、
上記確認応答を上記トーキンングデバイスへ送信する段階であって、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する、送信する段階と
をさらに備える、項目15に記載の方法。
(項目19)
上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てる段階をさらに備える、項目15に記載の方法。
(項目20)
上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算する段階をさらに備える、項目15に記載の方法。
(項目21)
上記ネットワーク構成エンティティへの上記リンク性能の上記送信は、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させることである、項目15に記載の方法。
(項目22)
データ交換用のウィンドウの終了に対応する第1の時刻を決定するための手段と、
上記ウィンドウ中の確認応答送信に対応する第2の時刻を決定するための手段と、
上記第1の時刻と上記第2の時刻とに基づいてリンク性能を計算するための手段と、
上記リンク性能をネットワーク構成エンティティへ送信するための手段と
を備える装置。
(項目23)
上記第1の時刻を決定するための上記手段は、前に取得されたグローバルスケジュールに基づいて上記第1の時刻を決定する、項目22に記載の装置。
(項目24)
上記第1の時刻を決定するための上記手段は、リスニングデバイスのためのデータフレームを生成し、
上記送信するための手段は、
上記データフレームを上記リスニングデバイスへ送信し、
上記リスニングデバイスから上記確認応答を取得し、上記第2の時刻は、上記確認応答が上記リスニングデバイスからいつ取得されたかに対応する、
項目22に記載の装置。
(項目25)
上記第1の時刻を決定するための上記手段は、データフレームの取得に応答して、上記確認応答をトーキンングデバイスに対して生成し、
上記送信するための手段は、上記確認応答を上記トーキンングデバイスへ送信し、上記第2の時刻は、上記確認応答がいつ送信されたかに対応する、
項目22に記載の装置。
(項目26)
上記確認応答が上記ウィンドウ内に受信されなかった場合、上記確認応答が上記ウィンドウ内に送信されなかった場合、または、データフレームが上記ウィンドウ内に取得されなかった場合のうちの少なくとも1つにおいてエラーにフラグを立てるための手段をさらに備える、項目22に記載の装置。
(項目27)
上記計算するための手段は、上記第1の時刻と上記第2の時刻との間の差に基づいて上記リンク性能を計算する、項目22に記載の装置。
(項目28)
上記送信するための手段は、エラーを軽減すること、または上記ウィンドウの長さを調節することのうちの少なくとも一方を行って性能または効率を向上させるために、上記リンク性能を上記ネットワーク構成エンティティへ送信する、項目22に記載の装置。
(項目29)
パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定するためのデータ抽出器と、
タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングするためのマップ生成器と、
サブスクライブデバイスが上記トピックをサブスクライブする場合、上記タイムセンシティブネットワークデータライタとタイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートするためのネゴシエータであって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエータと、
上記タイムセンシティブネットワークデータストリームを介して上記パブリッシュデバイスの上記データライタからの上記トピックを上記タイムセンシティブネットワークデータリーダへ送信するための上記タイムセンシティブネットワークデータライタと、
上記トピックを上記サブスクライブデバイスのデータリーダへ送信するための上記タイムセンシティブネットワークデータリーダと
を備えるシステム。
(項目30)
上記データ抽出器は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出することにより、上記サービス品質保証を決定し、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む、項目29に記載のシステム。
(項目31)
上記パブリッシュデバイスから上記サービス品質保証を取得するためのインタフェースをさらに備える、項目30に記載のシステム。
(項目32)
上記マップを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを上記タイムセンシティブネットワークデータライタへ送信させるためのインタフェースをさらに備える、項目29に記載のシステム。
(項目33)
上記ネゴシエータは、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートする、項目29に記載のシステム。
(項目34)
上記サービス品質保証を格納するためのストレージをさらに備え、上記ネゴシエータは、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合に上記ストレージにアクセスする、項目29に記載のシステム。
(項目35)
上記ネゴシエータは、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続することにより、上記タイムセンシティブネットワークデータストリームをネゴシエートする、項目29に記載のシステム。
(項目36)
上記システムは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される、項目29に記載のシステム。
(項目37)
実行された場合、少なくとも、
パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定することと、
タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングすることと、
サブスクライブデバイスが上記トピックをサブスクライブする場合、上記タイムセンシティブネットワークデータライタとタイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートすることであって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエートすることと、
上記タイムセンシティブネットワークデータストリームを介して、上記パブリッシュデバイスの上記データライタからの上記トピックを上記タイムセンシティブネットワークデータリーダへ送信することと、
上記トピックを上記サブスクライブデバイスのデータリーダへ送信することと
を1つまたは複数のプロセッサに実行させる命令
を備えるコンピュータ可読記憶媒体。
(項目38)
上記命令は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出することにより上記サービス品質保証を決定することであって、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む、決定することを上記1つまたは複数のプロセッサに実行させる、項目37に記載のコンピュータ可読記憶媒体。
(項目39)
上記命令は、上記パブリッシュデバイスから上記サービス品質保証を取得することを上記1つまたは複数のプロセッサに実行させる、項目38に記載のコンピュータ可読記憶媒体。
(項目40)
上記命令は、上記マップを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを上記タイムセンシティブネットワークデータライタへ送信させることを上記1つまたは複数のプロセッサに実行させる、項目37に記載のコンピュータ可読記憶媒体。
(項目41)
上記命令は、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートすることを上記1つまたは複数のプロセッサに実行させる、項目37に記載のコンピュータ可読記憶媒体。
(項目42)
上記命令は、上記サービス品質保証を格納することを上記1つまたは複数のプロセッサに実行させ、上記命令は、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合にストレージにアクセスすることを上記1つまたは複数のプロセッサに実行させる、項目37に記載のコンピュータ可読記憶媒体。
(項目43)
上記命令は、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続することにより、上記タイムセンシティブネットワークデータストリームをネゴシエートすることを上記1つまたは複数のプロセッサに実行させる、項目37に記載のコンピュータ可読記憶媒体。
(項目44)
上記1つまたは複数のプロセッサは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される、項目37に記載のコンピュータ可読記憶媒体。
(項目45)
1つまたは複数のプロセッサを用いて命令を実行することにより、パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定する段階と、
上記1つまたは複数のプロセッサを用いて命令を実行することにより、タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングする段階と、
サブスクライブデバイスが上記トピックをサブスクライブする場合、上記1つまたは複数のプロセッサを用いて命令を実行することにより、上記タイムセンシティブネットワークデータライタとタイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートする段階であって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエートする段階と、
上記タイムセンシティブネットワークデータストリームを介して、上記パブリッシュデバイスの上記データライタからの上記トピックを上記タイムセンシティブネットワークデータリーダへ送信する段階と、
上記トピックを上記サブスクライブデバイスのデータリーダへ送信する段階と
を備える方法。
(項目46)
上記サービス品質保証を決定する上記段階は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出する段階であって、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む、抽出する段階を有する、項目45に記載の方法。
(項目47)
上記パブリッシュデバイスから上記サービス品質保証を取得する段階をさらに備える、項目46に記載の方法。
(項目48)
上記マッピングを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを上記タイムセンシティブネットワークデータライタへ送信させる段階をさらに備える、項目45に記載の方法。
(項目49)
上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートする段階をさらに備える、項目45に記載の方法。
(項目50)
上記サービス品質保証を格納するためのストレージをさらに含み、上記ネゴシエートするための手段は、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合に上記ストレージにアクセスする、項目45に記載の方法。
(項目51)
上記タイムセンシティブネットワークデータストリームをネゴシエートする上記段階は、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続する段階を含む、項目45に記載の方法。
(項目52)
上記1つまたは複数のプロセッサは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される、項目45に記載の方法。
(項目53)
パブリッシュデバイスのアプリケーションからのトピックに対応するサービス品質保証を決定するための手段と、
タイムセンシティブネットワークデータライタを上記パブリッシュデバイスのデータライタにマッピングするための手段と、
サブスクライブデバイスが上記トピックをサブスクライブする場合、タイムセンシティブネットワークデータリーダとの間のタイムセンシティブネットワークデータストリームをネゴシエートするための手段であって、上記タイムセンシティブネットワークデータストリームは、上記サービス品質保証を順守している、ネゴシエートするための手段と、
上記タイムセンシティブネットワークデータストリームを介して上記パブリッシュデバイスの上記データライタからの上記トピックを送信するための第2の手段へ送信するための手段と、
上記トピックを上記サブスクライブデバイスのデータリーダへ送信するための、上記送信するための第2の手段と
を備えるシステム。
(項目54)
上記決定するための手段は、サービス品質ポリシからタイムセンシティブネットワークプロファイルを抽出することにより、上記サービス品質保証を決定し、上記タイムセンシティブネットワークプロファイルは、上記サービス品質保証を含む、項目53に記載のシステム。
(項目55)
上記パブリッシュデバイスから上記サービス品質保証を取得するための手段をさらに備える、項目54に記載のシステム。
(項目56)
上記マッピングを上記パブリッシュデバイスへ送信して、上記パブリッシュデバイスに上記トピックを、送信するための手段へ送信させるための第3の手段をさらに備える、項目53に記載のシステム。
(項目57)
上記ネゴシエートするための手段は、上記トピックをサブスクライブするための上記サブスクライブデバイスからの要求の取得に応答して、上記タイムセンシティブネットワークデータストリームをネゴシエートする、項目53に記載のシステム。
(項目58)
上記サービス品質保証を格納するための手段をさらに含み、上記ネゴシエートするための手段は、上記タイムセンシティブネットワークデータストリームをネゴシエートする場合に、格納するための手段にアクセスする、項目53に記載のシステム。
(項目59)
上記ネゴシエートするための手段は、ユーザ構成エンティティまたは中央ネットワーク構成エンティティのうちの少なくとも一方とインタフェース接続することにより、上記タイムセンシティブネットワークデータストリームをネゴシエートする、項目53に記載のシステム。
(項目60)
上記システムは、タイムセンシティブネットワーク構成サービスドメインに実装され、上記データリーダおよび上記データライタは、データ分散サービスドメインに実装される、項目53に記載のシステム。