(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-14
(45)【発行日】2023-07-25
(54)【発明の名称】PLCA対応10SPEネットワーク上でのシェーピングトラフィック
(51)【国際特許分類】
H04L 47/22 20220101AFI20230718BHJP
H04L 47/32 20220101ALI20230718BHJP
H04L 12/28 20060101ALI20230718BHJP
【FI】
H04L47/22
H04L47/32
H04L12/28 207
H04L12/28 200Z
(21)【出願番号】P 2020565363
(86)(22)【出願日】2019-05-21
(86)【国際出願番号】 US2019033204
(87)【国際公開番号】W WO2019226585
(87)【国際公開日】2019-11-28
【審査請求日】2022-05-16
(32)【優先日】2018-05-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-11-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】397050741
【氏名又は名称】マイクロチップ テクノロジー インコーポレイテッド
【氏名又は名称原語表記】MICROCHIP TECHNOLOGY INCORPORATED
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】ソスタワ、ベルンド
(72)【発明者】
【氏名】ミラー、マーチン
(72)【発明者】
【氏名】レンツェラー、マイケル
(72)【発明者】
【氏名】アヤール、ヴェンカトラマン
【審査官】浦口 幸宏
(56)【参考文献】
【文献】特開2002-185477(JP,A)
【文献】特開平4-233354(JP,A)
【文献】特開2009-105539(JP,A)
【文献】DON PANNELL,QUALITY OF SERVICE FOR PLCA,IEEE 802.1 Working Group, 21-25 May 2018 Interim Meeting,2018年05月24日,pp.1~37,https://www.ieee802.org/1/files/public/docs2018/new-TSN-pannell-QoS-for-PLCA-0518-v02.pdf
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
H04L 47/22
H04L 47/32
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
メモリと、
前記プロセッサに、他のノードに送信されるデータを生成させるように構成された、前記メモリ内の命令と、及び
ネットワークスタックとを有する10SPEネットワークノードであって、
前記ネットワークスタックは
回路を含み、前記回路は、
1つ以上の伝送サイクルで前記データを送信することであって、所与の伝送サイクルが、
長さが可変であって、データを送信するために
複数の前記10SPEネットワークノードの各々について少なくとも1つの送信スロットを含む、送信することと、
帯域幅共有方式に基づいて、第2の送信スロットまで第1の伝送サイクルの第1の送信スロットのデータの伝送を遅延させること
であって、前記回路は、伝送サイクルのカウントに基づいて、前記第1の送信スロットのデータの伝送を遅延させるように更に構成されている、遅延させることと、
クレジット計算方式に基づいて、前記第1の送信スロットのデータの伝送を遅延させることであって、データを送信することは複数のクレジットを要し、クレジットが経時的に増える、遅延させることと、
を行わせるように構成され
ている、
10SPEネットワークノード。
【請求項2】
前記回路は、前記10SPEネットワークノードについての送信スロットのカウントに基づいて、前記第1の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項
1に記載の10SPEネットワークノード。
【請求項3】
前記伝送サイクルは、前記10SPEネットワークの複数の送信スロットを含む、請求項
1に記載の10SPEネットワークノード。
【請求項4】
前記第1の送信スロット及び第2のスロットは異なるサイズのものである、請求項
1に記載の10SPEネットワークノード。
【請求項5】
前記回路は、別の10SPEネットワークノードがデータを以前に送信していることに基づいて、前記第2の送信スロットまで前記第1の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項
1に記載の10SPEネットワークノード。
【請求項6】
前記回路は、前記10SPEネットワークノードが前記他のノードのうちの1つよりも低い優先度を有することに基づいて、前記第2の送信スロットまで前記第1の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項
1に記載の10SPEネットワークノード。
【請求項7】
前記命令は、前記プロセッサに、前記他のノードでの無活動の判定に基づいて、前記第2の送信スロットまで第1の伝送サイクルの第1の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項
1に記載の10SPEネットワークノード。
【請求項8】
前記回路は、前記プロセッサによって実行される命令によって実装されている、請求項
1に記載の10SPEネットワークノード。
【請求項9】
方法であって、
他のノードに送信されるデータを生成するステップと、
1つ以上の伝送サイクルで前記データを送信するステップであって、所与の伝送サイクルが、
長さが可変であって、データを送信するために
複数の10SPEネットワークノードの各々について少なくとも1つの送信スロットを含む、送信するステップと、
帯域幅共有方式に基づいて、
伝送サイクルのカウントに基づいて、第2の送信スロットまで第1の伝送サイクルの第1の送信スロットのデータの伝送を遅延させるステップと、
クレジット計算方式に基づいて、前記第1の送信スロットのデータの伝送を遅延させるステップであって、データを送信するステップが複数のクレジットを要し、クレジットが経時的に増える、遅延させるステップと、
を含む、方法。
【請求項10】
前記10SPEネットワークノードについての送信スロットのカウントに基づいて、前記第1の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項
9に記載の方法。
【請求項11】
前記伝送サイクルは、前記10SPEネットワークの複数の送信スロットを含む、請求項
9に記載の方法。
【請求項12】
前記第1の送信スロット及び第2のスロットは異なるサイズのものである、請求項
9に記載の方法。
【請求項13】
別の10SPEネットワークノードがデータを以前に送信していることに基づいて、前記第2の送信スロットまで前記第1の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項
9に記載の方法。
【請求項14】
前記10SPEネットワークノードが前記他のノードのうちの1つよりも低い優先度を有することに基づいて、前記第2の送信スロットまで前記第1の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項
9に記載の方法。
【請求項15】
前記他のノードによる無活動の判定に基づいて、前記第2の送信スロットまで第1の伝送サイクルでの第1の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項
9に記載の方法。
【請求項16】
前記方法は、プロセッサによって実行される命令によって実装される、請求項
9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権)
本出願は、2018年5月25日に出願された米国仮特許出願第62/676,778号に対する優先権を主張し、その内容は参照によりそれらの全体が本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、イーサネット通信に関し、より具体的には、シングルツイストペアイーサネット、10SPE、又は10BASE-T1Sとしても知られる、IEEE802.3cg標準に従うPHY層衝突回避(PHY Layer Collision Avoidance、PLCA)対応ネットワーク上でのシェーピングトラフィックに関する。
【背景技術】
【0003】
10SPEは、修正及び開発下で現在提案されている標準である。10SPEは、イーサネット・ローカル・エリア、アクセス、及びメトロポリタン・エリア・ネットワークを定義する。イーサネットは、選択された動作速度で指定され、共通の媒体アクセス制御(media access control、MAC)仕様及び管理情報ベース(management information base、MIB)を使用する。衝突検出付き搬送波感知多重アクセス(Carrier Sense Multiple Access/Collision Detection、CSMA/CD)MACプロトコルは、共有媒体(半二重)動作、及び全二重動作を指定する。速度固有の媒体独立インターフェース(Media Independent Interface、MII)は、選択された物理層エンティティ(Physical Layer entity、PHY)に対するアーキテクチャ及び任意選択的な実装インターフェースを提供する。物理層は、動作速度、伝送媒体、及びサポートされたリンク長に関して指定された変調を用いて、伝送のためのフレームをエンコードし、受信したフレームをデコードする。他の指定された能力としては、制御及び管理プロトコル、並びに選択されたツイストペアPHYタイプにわたる電力の提供を含む。
【0004】
10SPEは、IEEE標準802.3への追加及びその適切な修正を指定して、動作のための10Mb/s物理層(PHY)仕様及び管理パラメータ、並びに、単一の平衡化されたツイストペア銅ケーブル上に、電力の関連する任意選択的な提供を加える。
【発明の概要】
【0005】
本開示の実施形態は、10SPEネットワークノードを含み得る。nodは、プロセッサと、メモリと、プロセッサに、他のノードに送信されるデータを生成させるように構成された、メモリ内の命令と、を含み得る。ノードは、1つ以上の伝送サイクルでデータを送信するように構成された回路を含むネットワークスタックを含み得る。所与の伝送サイクルは、データを送信するための10SPEネットワークノードの各々について少なくとも1つの送信スロットを含み得る。回路は、帯域幅共有方式に基づいて、第2の送信スロットまで第1の伝送サイクルの第1の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、伝送サイクルのカウントに基づいて、第1の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、10SPEネットワークノードについての送信スロットのカウントに基づいて、第1の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、クレジット計算方式に基づいて、第1の送信スロットのデータの伝送を遅延させるように更に構成され得、データを送信することが複数のクレジットを要し、クレジットが経時的に増える。上記の実施形態のいずれかと組み合わせて、伝送サイクルは、10SPEネットワークの複数の送信スロットを含み得る。上記の実施形態のいずれかと組み合わせて、第1の送信スロット及び第2のスロットは、異なるサイズであり得る。上記の実施形態のいずれかと組み合わせて、回路は、データを以前に送信している別の10SPEネットワークノードに基づいて、第2の送信スロットまで第1の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、他のノードのうちの1つよりも低い優先度を有する10SPEネットワークノードに基づいて、第2の送信スロットまで第1の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、命令は、プロセッサに、他のノードによる無活動の判定に基づいて、第2の送信スロットまで第1の伝送サイクルの第1の送信スロットのデータの伝送の遅延をもたらすように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、プロセッサによって実行される命令によって実装され得る。
【0006】
本開示の実施形態は、製造物品を含み得る。物品は、プロセッサによってロード及び実行されると、上記実施形態のいずれかの回路の動作を実装する命令を含み得る。
【0007】
本開示の実施形態は、上記実施形態のノードのいずれかを含む、電子デバイス、コンピュータ、ネットワークカード、モバイルデバイス、又はサーバを含み得る。本開示の実施形態は、上記実施形態のいずれかの2つ以上のノードを含むネットワークを含み得る。
【0008】
本開示の実施形態は、上記実施形態のノード、実行時の命令、回路、電子デバイス、コンピュータ、ネットワークカード、モバイルデバイス、ネットワーク、又はサーバのいずれかによって行われる方法を含み得る。
【図面の簡単な説明】
【0009】
【
図1】本開示の実施形態による、例示的な10SPEネットワークの図である。
【
図2】本開示の実施形態による、例示的な伝送サイクルの図である。
【
図3】本開示の実施形態による、例示的な伝送サイクルのタイミングの図である。
【
図4】本開示の実施形態による、所与のノードがその伝送機会を取らない、送信又はバスサイクルの図である。
【
図5】本開示の実施形態による、ACP方式に従って伝送機会を取らないノードの図である。
【
図6】本開示の実施形態による、ACT方式に従って伝送機会を取らないノードの図である。
【
図7】本開示の実施形態による、CBS方式に従って伝送機会を取らないノードの図である。
【
図8】本開示の実施形態による、
図7の動作のクレジット値の図である。
【
図9】本開示の実施形態による、クレジット方式を実装するためのデジタル回路の図である。
【
図10】本開示の実施形態による、1つを超える識別子を所与のノードに割り当てる図である。
【
図11】本開示の実施形態による、多数のサイズのデータ送信の図である。
【発明を実施するための形態】
【0010】
図1は、本開示の実施形態による、例示的な10SPEネットワーク100の図である。ネットワーク100は、任意の好適な数及び種類のノードを含み得る。例えば、ネットワーク100は、ノード102、104A、104B、104Cを含み得る。これらのノードは、ネットワーク120において互いに通信するように構成され得る。ネットワーク120は、任意の好適な様式で実装され得る。
【0011】
ノード102は、マスターノードであり得る。ノード102は、ネットワーク内の他のノードの代わりに、ネットワークアロケーション、割り当て、又は他の管理タスクを行うことによって、マスターノードとして機能し得る。そのようなタスクは、ネットワーク管理アプリケーション112によってノード102で行われ得る。
【0012】
ノード102、104A、104B、104Cは各々、ネットワークドライバ又はスタック106で実装され得る。スタック106は、PHY層108を含み得る。ノード102、104A、104B、104Cは各々、1つ以上のエンドユーザアプリケーション110、プロセッサ114、及びメモリ116で実装され得る。エンドユーザアプリケーション110、ネットワーク管理アプリケーション112、及びネットワークドライバ又はスタック106は、ソフトウェア、ライブラリ、機能、スクリプト、アプリケーション、コード、又はプロセッサ114による実行のための他の命令を含み得る。命令は、それぞれのメモリ116上に記憶され得る。命令は、プロセッサ114によって実行されると、ユーザアプリケーション110、ネットワーク管理アプリケーション112、及びネットワークドライバ又はスタック106に、本開示の機能を行わせ得る。メモリ116は、長期記憶又は短期記憶に関わらず、任意の好適な実装の1つ以上のメモリ要素によって実装され得る。プロセッサ114は、任意の好適なプロセッサ、コア、又はマイクロコントローラのうちの1つ以上によって実装され得る。
【0013】
ノード102、104A、104B、104Cは、コンピュータ、ラップトップ、サーバ、仮想マシン、モバイルデバイス、又は自動車電子制御ユニット(electronic control unit、ECU)などの任意の好適な電子デバイスを実装し得る。ノード102、104A、104B、104Cは各々、エンドユーザアプリケーション110の異なる実装を含み得る。エンドユーザアプリケーション110は、エンドユーザアプリケーション110の他のもの又はノード102、104A、104B、104Cの他のものとの通信を必要とし得る。そのような通信は、例えば、ネットワーク120において10SPEを使用して行われ得る。
【0014】
特定の数のノードが
図1に示されているが、ネットワーク100は、10SPE対応ノードの任意の好適な数及び組み合わせを含み得る。
【0015】
各ノードは、トラフィックシェーピングを行うように構成され得る。一実施形態では、そのようなシェーピングは、デジタルロジックを使用してハードウェアで実行され得る。別の実施形態では、ファームウェアもトラフィックを観察及びシェーピングすることができるように、各ノードのハードウェアにフックが実装され得る。シェーピングトラフィックは、タイムセンシティブノードについての帯域幅公平性又は優先順位付けを施行するように行われ得る。
【0016】
ノード102、104A、104B、104C間の通信は、以下の特徴で示される伝送サイクル及びフレームを使用して行われ得る。ノード102、104A、104B、104Cの各々は、以下の実施形態に従うフレームを使用して互いに通信するように構成され得る。
【0017】
図2は、本開示の実施形態による、例示的な伝送サイクルの
図200である。伝送サイクルは、
図1のネットワーク100についてであり得る。
【0018】
伝送サイクル202Aの第1のインスタンスは、ネットワークの各ノードについて送信スロットを含み得る。第Nのノードがネットワーク内にある場合、第Nの送信スロットは、所与の伝送サイクルに含まれ得る。例えば、伝送サイクル202Aは、送信スロット210、212、214を含み得る。そのような各送信スロットは、所与のノードに割り当てられ得る。送信スロットは、伝送サイクルに固有の識別子(0...N-1)で識別され得る。識別子は、データパケットの送信者を識別し得る。各送信スロットは、特定の量までのデータ206を含み得る。以下で更に考察されるように、いくつかの実施形態では、割り当てられた送信スロットは、いかなるデータも有しない場合がある。識別子は、データ206に含まれ得る。識別子は、データの送信者を識別し得る。様々な実施形態では、送信スロットは、以下で更に詳細に考察される条件下で、所与のノードについて省略され得る。送信スロット210、212、214は、サイレンス208の期間によって分離され得る。各伝送サイクル202は、ビーコン204によって開始され得る。ビーコン204は、伝送サイクルが始まっていることを示すために、好適なピースの情報を含み得る。伝送サイクル202Aが終わり得、別の伝送サイクル202Bが始まり得る。所与の伝送サイクル202での個々のノードによる関与は、伝送サイクル間で変わり得る。
【0019】
伝送サイクル202を受信すると、所与のノードがそれを解析し得る。ビーコン216は、その伝送サイクル202を判定するために分析され得る。サイレンス208又はデータがないことは、伝送サイクル202の別個のデータ部分が次に受信されることを判定するように解釈され得る。データ206は、所与のノードへの、又は所与のノードからのデータが含まれるかどうかを判定するように分析され得る。所与のノードは、それ自体のデータ206を伝送サイクルに挿入し得る。
【0020】
伝送サイクルは、ネットワーク内のトラフィックをシェーピングするように、PLCAの使用を反映し得る。PLCAは、IEEE P802.3cgで指定され得る。PLCAは、ネットワーク内のノードにアクセス公平性を提供し得る。アクセス公平性は、各ノードが所与の伝送サイクル202でネットワークにアクセスする能力を含み得る。しかしながら、PLCAは、ノード間で帯域幅公平性又は優先順位付けを提供しない。アクセス公平性が提供されても、所与のノードが他のノードよりも多くのデータをそれらのパケットに挿入し得るため、帯域幅公平性が提供されない場合がある。更に、アクセス公平性は、ノード間のいかなる優先順位付けも提供しない場合がある。本開示の実施形態は、ノード間で帯域幅公平性及び優先順位付けを提供し得る。PLCA及びその強化は、ネットワークスタック内で実行するためのデジタルロジック又は命令で実装され得る。PLCA及びその強化は、トラフィックを観察及びシェーピングするためのファームウェアについてのフックを含み得る。
【0021】
衝突ベースのネットワークのほとんどの実装では、最大帯域幅利用は、60%のみであり得る。更に、決定的な挙動を伴うことなく、安全性が重要なアプリケーションに使用されない場合がある。代わりに、PLCAで、ノード102などのマスターノードは、物理層上のネットワークアクセスを体系化し得る。これは、衝突を防ぎ、決定的な挙動を提供し、かつ帯域幅を十分に使用し得る。
【0022】
図2では、それぞれのノードの各PHYは、データ206に含まれる静的ID(0...N-1)を割り当てられ得る。マスターノードは、「0」のIDを有し得る。マスターノードは、新しい伝送サイクルを開始するビーコン204を送信し得る。受信すると、他のノードの各々は、それぞれのPHYハードウェア又はソフトウェアを通して、それぞれの送信スロット210、212、214内でデータを送信する機会を有し得る。一実施形態では、ノードは、それぞれの送信スロット210、212、214でデータを送信する機会を見送るか又は手放し得る。他のノードは、サイレンス208が所与の閾値を超える場合、所定のノードがデータを送信するその機会をスキップしたことを認識するように構成され得る。次いで、次の送信スロットが始まり得る。
【0023】
図3は、本開示の実施形態による、例示的な伝送サイクルのタイミングの
図300である。伝送サイクル又はバスサイクルを完了するための最小及び最大時間が計算され得る。
【0024】
完全な伝送サイクルを完了するために必要な最小時間は、
最小バスサイクル時間=tビーコン+N*tサイレンスとして与えられ得、
tビーコンは、ビーコンが発行されるのに必要な時間であり、tサイレンスは、1対の送信スロット間のサイレンスに必要な時間であり、Nは、ノード又は送信スロットの数である。そのような最小時間は、全てのノードがそれらのそれぞれの送信スロットを使用するためにそれらの機会を手放した場合に生じる。
【0025】
完全な伝送サイクルを完了するのに必要な最大時間は、
最大バスサイクル時間=tビーコン+N*tサイレンス+N*tMTUとして与えられ得、
tビーコンは、ビーコンが発行されるのに必要な時間であり、tサイレンスは、1対の送信スロット間のサイレンスに必要な時間であり、tMTUは、最長許容データ長さ(最大伝送ユニット(maximum transmission unit、MTU))を送信するために必要とされる時間であり、Nは、ノード又は送信スロットの数である。そのような最大時間は、全てのノードがそのデータを送信するために送信スロット間で最大時間を使用し、(したがって、正規の量のサイレンスを取り)、全てのノードがデータを送信するためにそれらの送信スロットを使用し、かつ全てのノードがそれらのそれぞれの送信スロットで最大量のデータを送信した場合に生じる。一実施形態では、MTUは、64バイト長さであり得る。所与のノードが、送信前に、(例えば)ナノ秒未満、サイレンスタイムアウト期間の継続時間を待機し得るため、サイレンスタイムアウト期間がこの計算に含まれ得る。
【0026】
本開示の実施形態は、より大きいパケット、帯域幅過剰消費、より低い優先度、又はベストエフォートトラフィックを有するノードが様々な伝送サイクルで伝送機会(transmit opportunities、TO)を手放すことを可能にすることによって、PLCAにおける改善を提供し得る。更に、本開示の実施形態は、より多くの伝送機会を受信するようにタイムセンシティブトラフィックをノードに提供することによって、PLCAにおける改善を提供し得る。TOを手放すための個々のノードについてのポリシーは、マスターノードによって設定され得、個々のノードによって実装され得る。より多くの伝送機会をノードに提供するためのポリシーは、多数の識別子を単一のノードに割り当てることによって、マスターノードによって提供され得る。
【0027】
一実施形態では、ノードは、アプリケーション制御PLCA(application controlled PLCA、ACP)方式に従ってTOを手放し得る。別の実施形態では、ノードは、アプリケーション制御時分割多重化アルゴリズム(application controlled time division multiplexing algorithm、ACT)に従ってTOを手放し得る。更に別の実施形態では、ノードは、クレジットベースのシェーピング(credit-based shaping、CBS)方式に従ってTOを手放し得る。更なる実施形態では、ACP又はACTは、CBS方式を使用して実装され得る。
【0028】
図4は、本開示の実施形態による、所与のノードがその伝送機会を取らない、伝送又はバスサイクル402の図である。ビーコン204は、伝送サイクル402で発行され得る。ノード0は、そのTOを取り、データ404を伝送し得る。ノード1は、そのTOを取らず、したがって、データ406を伝送せず、サイレンス412のみを残し得る。サイレンス412が最大サイレンス期間経過した後、ノード2は、そのTOを取り、データ408を伝送し得る。後に、ノードN-1は、そのTOを取り、データ410を送信し得る。サイレンス414は、様々な送信スロット間で生じ得る。別のサイクルが始まり、マスターノードからのビーコン204で開始し得る。
【0029】
図5は、本開示の実施形態による、ACP方式に従って伝送機会を取らないノードの図である。
【0030】
ACPでは、遅延される所与のノードは、送信スロットを実際に使用する前に、特定の数の伝送機会を待機し得る。所与のノードが単一の識別子を割り当てられる場合、この技術は、時間のオフセットを除いて、ACTと同様であり得る。しかしながら、所与のノードが多数の識別子を割り当てられる場合、所与のノードは、単一の識別子を割り当てられた別のノードよりも速いACP待機期間を過ごし得る。そのような多数の識別子は、単一の伝送サイクル内で所与のノードについて多数の送信スロットを手放し得る。
【0031】
エミュレートされたキャリアセンス(carrier sense、CRS)502が、帯域幅抑制信号として使用され得る。エミュレートされたCRS502は、ノードでの所与のコントローラが、バスが現在使用されていると信じ、ノードが伝送しないように、バス上でキャリアをエミュレートし得る。エミュレートされたCRS502は、各ノードについてローカルに生成され得、ノード上のソフトウェア又は回路によって使用され得、ハードウェアを伝送するために発行され得る。したがって、所与のノードがそのTOを取らないとき、所与のノードは、エミュレートされたCRS502をそれ自体の機器に発行し得る。エミュレートされたCRS502は、ハードウェアに入力される実際のCRS信号ラインをエミュレートし得る。エミュレートされたCRS502は、実際のCRS信号ラインで論理的にORされ得る。
【0032】
ビーコン512は、伝送サイクル520の開始時に送信され得る。データは、ノード0(514)、ノード1(516)、及びノード2(518)についての送信スロットで送信され得る。
【0033】
図5では、エミュレートされたCRS502がノード1(516)について示され得る。エミュレートされたCRS502が(例えば、高)活性化されるとき、ノード1(516)は、510に示されるように、そのTOを手放し得る。エミュレートされたCRS502が(例えば、低)不活性化されるとき、ノード1(516)は、508に示されるように、そのTOを取り得る。したがって、
図5では、ノード1(516)は、その最初のTOを取り、その次の2つのTOを手放し、その第4のTOを取り得る。
【0034】
図6は、本開示の実施形態による、ACT方式に従って伝送機会を取らないノードの図である。ビーコン612は、伝送サイクル620の開始時に送信され得る。データは、ノード0(614)、ノード1(616)、及びノード2(618)についての送信スロットで送信され得る。
【0035】
エミュレートされたCRS602は、伝送サイクルでのビーコン612の使用に対応するビーコン信号604と共に示されている。
【0036】
ACTにより、ノードは、再び伝送する前に特定の数のビーコン604が通過するまで待機し得る。ACT及びACPは、例えば、所与のノードが大きいパケットを送信した後、又はノードがより低い優先度のトラフィックを有する場合に、所与のノードについて行われ得る。一実施形態では、所与のサイクルで送信するネットワーク内のノードがない場合、ノードは、適所に別の方法で帯域幅制限に関係なく次のTOを取り得る。所与のノード上の帯域幅抑制は、エミュレートされたCRS602で行われ得る。上記のように、CRSは、ノードの部分がネットワーク又はバスが利用できないと信じ、送信されるデータが遅延又は保持されるように、バス上にキャリア信号を含み得る。エミュレートされたCRS602は、実際のCRS信号と組み合わせて使用され得る。
【0037】
図6では、エミュレートされたCRS602が、例えば、ノード1について活性(高)になると、ノード1は、ビーコン604パルスについてその送信スロット616を手放し得る。エミュレートされたCRS602が活性のままである場合、ノード1(616)は、別のビーコン604パルスについてその送信スロット616を手放し続け得る。例えば、データは、スロット622、628でノード1について送信され得るが、スロット624、626で省略され得、代わりに、サイレンスが使用され得る。
【0038】
伝送サイクル620が、サイクルの単一のインスタンスでノード1について多数の送信スロットを含んだ場合、これらの多数の送信スロットは、CRT602が活性化されたときに単一のビーコン604パルスについて手放され得る。
【0039】
図7は、本開示の実施形態による、CBS方式に従って伝送機会を取らないノードの図である。
【0040】
CBS方式は、所与のノードがそれぞれの送信スロットでそのデータを送信するために、特定の数のクレジット又は他のユニットを必要とし得る。クレジットは、経時的に増え得る。データを送信することは、特定の数のクレジットを減らし得る。ノードは、初期数のクレジットで初期化され得る。異なるノードは、異なる数の初期クレジット、クレジットアクルーアルレート、又はデータを送信するクレジットのコストを割り当てられ得る。
【0041】
ビーコン712は、伝送サイクル720の開始時に送信され得る。データ706は、ノード0(714)、ノード1(716)、及びノード2(718)についての送信スロットで送信され得る。エミュレートされたCRS702が、そのTO722を使用するか又はそのTO724を手放す所与のノードに影響を与えるために使用され得る。
【0042】
図8は、本開示の実施形態による、
図7の動作のクレジット値の図である。
【0043】
上で考察されたように、CBSでは、パケットを送信する能力は、クレジットを通して確立され得る。送信するのに利用可能なクレジットが不十分である場合、ノードは、TOを取らない場合がある。クレジットは、経時的に補充され得るか、又はネットワーク上に低いトラフィック使用がある場合、それは復元され得る。クレジットは、データを送信するときに消費され得る。
【0044】
トレース802は、経時的に所与のノードについてのクレジットのカウンタの値を示し得る。時間は、ノードで送信又は受信される全体のバイトで測定され得る。飽和高値(saturated high、SH)804は、増え得るクレジットの最大数の限界を示し得る。伝送バイト(transmit byte、TB)806は、ノードが特定のサイズのデータを送信するときのクレジットの減少を示し得る。受信バイト(receive byte、RB)810は、経時的なクレジットの増加を示し得る。例えば、バイトを送信した後、バイトを送信するのに必要なクレジットを再充填するために、7つのサイクルを要し得る。一実施形態では、クレジットの初期数(initial number、IN)は、SH804に設定され得る。トレース812は、SH804が存在しなかった場合のトレース802についてのクレジットの連続した傾斜又は上昇を反映している。
【0045】
下限(lower limit、LM)806は、トレース802がLM806に達すると、追加のバイトを送信することが抑制又は遅延され得る限界を示し得る。抑制又は遅延は、エミュレートされたCRSによって行われ得る。一実施形態では、ノードは、LM806に達すると、追加の送信が抑制される前に伝送されている途中のパケットを完了させることを可能にされ得る。これは、例えば、814、816で示されている。
【0046】
飽和低値(saturated low、SL)808は、追加のクレジットを送信することが帯域幅共有でノードに対して保持されない、最小数のクレジットを表し得る。例えば、(クレジットを表す)トレース802がかろうじてLM806よりも上であり、したがって、データパケット816が送信されることが可能な間に、特に大きいデータセグメントが送信される場合に、SL808に達し得る。SL808は、したがって、絶対的な最小値を表し得る。例えば、(クレジットを表す)トレース802が負の量のクレジットを有することが可能でない場合がある。別の例では、(クレジットを表す)トレース802は、SL808よりも更に不利にされない場合がある。トレース802の平坦部分は、バス上にトラフィックがない(すなわち、サイレンス)ときにクレジットが一定であることを表し得る。したがって、クレジットは、クレジットが蓄積されていない場合、そのような状況で増加又は減少しない。
【0047】
(クレジットを表す)トレース802がLM806よりも上に上昇すると、データが再び設定され得る。例えば、822で、送信が無効にされ得るが、データパケットが完了し、ノードが経時的にクレジットを回復すると、820で、送信が再び有効にされ得る。
【0048】
トレース802及びクレジットの数が、特定の状況でINにリセットされ得る。例えば、バスが全体の伝送サイクルについて空であった場合、(クレジットを表す)トレース802は、INクレジット値に設定され得る。別の例では、他の(しかし全てではない)ノードが伝送サイクル内でそれらのTOを手放す場合、(クレジットを表す)トレース802は、INに設定され得る。
【0049】
例えば、SH804若しくはINを上昇若しくは低下させること、TB809のサイズを減少若しくは増加させること、RB810を増加若しくは減少させること、LM806を低下若しくは上昇させること、又はSL808を上昇若しくは低下させることによって、所与のノードが、より高い又はより低い優先度を割り当てられ得る。更に、所与のノードは、より多くの条件でそのクレジットカウントをINに復元することによって、より高い優先度を割り当てられ得る。所与のノードは、より少ない条件でそのクレジットカウントをINに復元することによって、より低い優先度を割り当てられ得る。例えば、所与のノードが、クレジットカウントをINに復元するために2つの空の伝送サイクルを必要とすることによって、その優先度を低下させられ得るか、又は1つ以上の他のノードが伝送サイクル内でそれらのTOを手放した場合にクレジットカウントを復元することによって、その優先度を上昇させられ得る。
【0050】
一実施形態では、CBSは、ACP又はACTを実装するために使用され得る。例えば、TOを取ることは、特定の数のクレジットを差し引き得るか、又はTOを手放すことは、特定の数の再生クレジットに値し得る。別の例では、伝送サイクルを見送ることは、特定の量の再生クレジットに値し得るか、又は再生レートは、伝送サイクルの長さに関連し得る。更に別の例では、ビーコンの受信は、特定の量のクレジットを再生するために使用され得る。
【0051】
公平共有の帯域幅アロケーションは、ACP、ACT、又はACP若しくはACTを実装するCBSによって行われ得る。例えば、所与のノードが、より低い優先度、送信されるベストエフォートデータを有するか、又は大きいパケットを最近送信した場合、所与のノードは、それが受信したスロットの数及びそれが受信したビーコンの数をカウントし得る。そのようなより低い優先度ノードは、例えば、それが受信する2つ、3つ又はそれ以上のビーコン毎に、1つのデータパケットのみを送信するように制限され得る。同様に、より低い優先度ノードは、例えば、利用可能な2つ、3つ又はそれ以上の送信スロット毎に、1つのデータパケットのみを送信するように制限され得る。これらのカウントは、ACP若しくはACTの純粋なカウントによって実装され得るか、又はACP若しくはACTを実装するCBSについてのクレジット方式に変換され得る。
【0052】
マスターノードは、既存のトラフィック、トラフィックトレンド、データ使用、ユーザ設定、又は任意の他の好適なポリシーに基づいて、優先度を様々なノードに割り当て得る。更に、所与のノードは、これらのファクターに基づいて、それ自体の優先度を判定し得る。ACP、ACT、又はCBSの様々な態様に使用される特定の値は、マスターノードによって判定され得るが、それぞれのノードによって実装され得る。それぞれのノードは、ソフトウェアをファームウェア又はネットワークハードウェアとインターフェース接続することによって、ポリシーを実装し得る。
【0053】
図9は、本開示の実施形態による、CBS方式を実装するための回路900の図である。回路900のインスタンスは、各ノードで実装され得る。
【0054】
様々なイベント920が、回路900によって受信され得る。これらのイベントは、RB(受信バイト)、TE(伝送パケットエンド(transmit packet end))、BN(ビーコン(beacon))、TB(伝送バイト(Transmit byte))、TO(伝送機会(transmit opportunity))、EC(空サイクル(empty cycle))イベントを含み得る。レジスタ922、924、926、928、930、932は、所与のイベントに関連する、正又は負のクレジット値を含み得る。所与のイベントの値は、値を蓄積し、その結果を飽和ロジック914に提供し得る、加算器回路912に提供され得る。飽和ロジック914は、SH及びSLの値についてレジスタ902、904から値を読み取り、これらの値の間にあるようにクレジット移動を制限するように構成され得る。クレジットロジック916は、割り込み、初期化、高優先度メッセージ、ノードの優先度の増加、又は他の基準の際に、クレジットのIN値を復元させるように構成され得る。
【0055】
クレジットロジック916によって生成されるクレジット値は、TOが手放され得る、レジスタ908に記憶される閾値に対して910で比較され得る。
【0056】
決定938は、代わりにソフトウェア又はファームウェアで行われ得る。受信されたバイト、伝送イベント、伝送バイト、TO、ビーコン、及び他のイベントがカウントされ、ソフトウェアに報告され得る。ソフトウェアは、伝送機会が手放されるべきかどうかを判定するために、これらの値を使用し得る。これは、934で示されるようなGPIOピンによって通信され得る。そのようなファームウェアは、プロセッサ又はマイクロコントローラによる実行のための命令によって実装され得る。
【0057】
加えて、決定938は、ファームウェア及びハードウェアの組み合わせで行われ得る。例えば、回路900の出力は、所与のノードが高優先度データを送信することを受信されるメッセージに対して評価され得る。そのような場合、TOを手放す決定938は、ファームウェア又はソフトウェアによって優先され得る。別の例では、回路900の出力は、伝送バスが他のノードによって利用されていないという判定に対して評価され得る。伝送バスが他のノードによって利用されていない場合、TOを手放す決定938は、ファームウェア又はソフトウェアによって優先され得る。
【0058】
ロジック910の出力は、GPIOピン934でORされ得る。GPIOピン934は、パケットを強制するか、又はパケットを優先するためのメッセージが受信されたかどうかを反映し得る。ORゲート940の出力は、それ自体が、ロジック910を無視し、GPIOピン934を単独で使用するようにソフトウェア信号946に基づいて、GPIOピン934で多重化され得る。マルチプレクサ942の出力は、決定938を手放し得る。
【0059】
図10は、本開示の実施形態による、1つより大きい識別子を所与のノードに割り当てる図である。
【0060】
ノード1(1002)は、送信スロット0を割り当てられ得る。ノード2(1004)は、送信スロット1及び3を割り当てられ得る。ノード3(1006)は、送信スロット2を割り当てられ得る。したがって、ノード2(1004)は、ノード3(1006)よりも多くのTOについての機会を与えられ得る。これらの追加の送信スロットは、ACT、ACP、若しくはCBSとは独立し得るか、又はACT、ACP、若しくはCBSと共に使用され得る。ビーコン1008は、各伝送サイクルを開始し得る。
【0061】
この方式では、より高い優先度を有するノード、又はそれにも関わらず省略され得るより高い優先度についての機会を必要とするノードは、送信スロットについての多数のPLCA識別子を割り当てられ得る。
【0062】
図11は、本開示の実施形態による、データ伝送の異なるサイズを示す。2つの例、相対的なMTUサイズが示されている。「大きい」MTUが、標準サイズのMTUであり得、一方、短縮MTUは、例えば、標準的なMTUの時間の半分又は4分の1であり得る。より多くの並べ替え及び比較的より大きい又はより小さいサイズが使用され得る。サイズは、マスターノードによって指定され得る。
【0063】
所与の送信スロットは、大きいMTU1102で比較的より大きく指定され得るか、又は小さいMTU1106で比較的より小さく指定され得る。集合的に、1つ以上の大きいMTU1102の使用は、比較的より大きい最大バスサイクル時間1104を手放し得る。逆に、1つ以上の小さいMTU1102の使用は、比較的より短い最大バスサイクル時間1108を手放し得る。一実施形態では、所与のサイクルの全ての送信スロットは、同じMTU長さであり得る。別の実施形態では、所与のサイクルの送信スロットは、所与のノードに従って変わり得る。
【0064】
例えば、
図10で多数の識別子を割り当てられたノードは、小さいMTU1106を与えられ得る。他のノードは、大きいMTU1102を与えられ得る。