(57)【要約】  １０ＳＰＥネットワークノードは、プロセッサと、メモリと、プロセッサに、他のノードに送信されるデータを生成させるように構成されたメモリ内の命令と、ネットワークスタックと、を含む。ネットワークスタックは、帯域幅共有方式に基づいて、１０ＳＰＥネットワーク上での伝送サイクルの送信スロットのデータの伝送を遅延させるように構成された、回路を含む。【選択図】  図５
2021525473.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
メモリと、
前記プロセッサに、他のノードに送信されるデータを生成させるように構成された、前記メモリ内の命令と、及び
ネットワークスタックとを有する１０ＳＰＥネットワークノードであって、
前記ネットワークスタックは、
１つ以上の伝送サイクルで前記データを送信することであって、所与の伝送サイクルが、データを送信するために前記１０ＳＰＥネットワークノードの各々について少なくとも１つの送信スロットを含む、送信することと、
帯域幅共有方式に基づいて、第２の送信スロットまで第１の伝送サイクルの第１の送信スロットのデータの伝送を遅延させることと、
を行わせるように構成された回路を含む、
１０ＳＰＥネットワークノード。
【請求項２】
前記回路は、伝送サイクルのカウントに基づいて、前記第１の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項１に記載の１０ＳＰＥネットワークノード。
【請求項３】
前記回路は、前記１０ＳＰＥネットワークノードについての送信スロットのカウントに基づいて、前記第１の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項１又は２に記載の１０ＳＰＥネットワークノード。
【請求項４】
前記回路は、クレジット計算方式に基づいて、前記第１の送信スロットのデータの伝送を遅延させるように更に構成されており、データを送信することは複数のクレジットを要し、クレジットが経時的に増える、請求項１〜３のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項５】
前記伝送サイクルは、前記１０ＳＰＥネットワークの複数の送信スロットを含む、請求項１〜４のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項６】
前記第１の送信スロット及び第２のスロットは異なるサイズのものである、請求項１〜５のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項７】
前記回路は、別の１０ＳＰＥネットワークノードがデータを以前に送信していることに基づいて、前記第２の送信スロットまで前記第１の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項１〜６のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項８】
前記回路は、前記１０ＳＰＥネットワークノードが前記他のノードのうちの１つよりも低い優先度を有することに基づいて、前記第２の送信スロットまで前記第１の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項１〜７のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項９】
前記命令は、前記プロセッサに、前記他のノードでの無活動の判定に基づいて、前記第２の送信スロットまで第１の伝送サイクルの第１の送信スロットのデータの伝送を遅延させるように更に構成されている、請求項１〜８のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項１０】
前記回路は、前記プロセッサによって実行される命令によって実装されている、請求項１〜９のいずれかに記載の１０ＳＰＥネットワークノード。
【請求項１１】
方法であって、
他のノードに送信されるデータを生成するステップと、
１つ以上の伝送サイクルで前記データを送信するステップであって、所与の伝送サイクルが、データを送信するために１０ＳＰＥネットワークノードの各々について少なくとも１つの送信スロットを含む、送信するステップと、
帯域幅共有方式に基づいて、第２の送信スロットまで第１の伝送サイクルの第１の送信スロットのデータの伝送を遅延させるステップと、を含む、方法。
【請求項１２】
伝送サイクルのカウントに基づいて、前記第１の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項１１に記載の方法。
【請求項１３】
前記１０ＳＰＥネットワークノードについての送信スロットのカウントに基づいて、前記第１の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項１１又は１２に記載の方法。
【請求項１４】
クレジット計算方式に基づいて、前記第１の送信スロットのデータの伝送を遅延させるステップを更に含み、データを送信するステップが複数のクレジットを要し、クレジットが経時的に増える、請求項１１〜１３のいずれかに記載の方法。
【請求項１５】
前記伝送サイクルは、前記１０ＳＰＥネットワークの複数の送信スロットを含む、請求項１１〜１４のいずれかに記載の方法。
【請求項１６】
前記第１の送信スロット及び第２のスロットは異なるサイズのものである、請求項１１〜１５のいずれかに記載の方法。
【請求項１７】
別の１０ＳＰＥネットワークノードがデータを以前に送信していることに基づいて、前記第２の送信スロットまで前記第１の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項１１〜１６のいずれかに記載の方法。
【請求項１８】
前記１０ＳＰＥネットワークノードが前記他のノードのうちの１つよりも低い優先度を有することに基づいて、前記第２の送信スロットまで前記第１の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項１１〜１７のいずれか一項に記載の方法。
【請求項１９】
前記他のノードによる無活動の判定に基づいて、前記第２の送信スロットまで第１の伝送サイクルでの第１の送信スロットのデータの伝送を遅延させるステップを更に含む、請求項１１〜１８のいずれかに記載の方法。
【請求項２０】
前記方法は、プロセッサによって実行される命令によって実装される、請求項１１〜１９のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権）
本出願は、２０１８年５月２５日に出願された米国仮特許出願第６２／６７６，７７８号に対する優先権を主張し、その内容は参照によりそれらの全体が本明細書に組み込まれる。
【０００２】
（発明の分野）
本開示は、イーサネット通信に関し、より具体的には、シングルツイストペアイーサネット、１０ＳＰＥ、又は１０ＢＡＳＥ−Ｔ１Ｓとしても知られる、ＩＥＥＥ８０２．３ｃｇ標準に従うＰＨＹ層衝突回避（ＰＨＹ  Ｌａｙｅｒ  Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ、ＰＬＣＡ）対応ネットワーク上でのシェーピングトラフィックに関する。
【背景技術】
【０００３】
１０ＳＰＥは、修正及び開発下で現在提案されている標準である。１０ＳＰＥは、イーサネット・ローカル・エリア、アクセス、及びメトロポリタン・エリア・ネットワークを定義する。イーサネットは、選択された動作速度で指定され、共通の媒体アクセス制御（ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ、ＭＡＣ）仕様及び管理情報ベース（ｍａｎａｇｅｍｅｎｔ  ｉｎｆｏｒｍａｔｉｏｎ  ｂａｓｅ、ＭＩＢ）を使用する。衝突検出付き搬送波感知多重アクセス（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ／Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ、ＣＳＭＡ／ＣＤ）ＭＡＣプロトコルは、共有媒体（半二重）動作、及び全二重動作を指定する。速度固有の媒体独立インターフェース（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ、ＭＩＩ）は、選択された物理層エンティティ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  ｅｎｔｉｔｙ、ＰＨＹ）に対するアーキテクチャ及び任意選択的な実装インターフェースを提供する。物理層は、動作速度、伝送媒体、及びサポートされたリンク長に関して指定された変調を用いて、伝送のためのフレームをエンコードし、受信したフレームをデコードする。他の指定された能力としては、制御及び管理プロトコル、並びに選択されたツイストペアＰＨＹタイプにわたる電力の提供を含む。
【０００４】
１０ＳＰＥは、ＩＥＥＥ標準８０２．３への追加及びその適切な修正を指定して、動作のための１０Ｍｂ／ｓ物理層（ＰＨＹ）仕様及び管理パラメータ、並びに、単一の平衡化されたツイストペア銅ケーブル上に、電力の関連する任意選択的な提供を加える。
【発明の概要】
【０００５】
本開示の実施形態は、１０ＳＰＥネットワークノードを含み得る。ｎｏｄは、プロセッサと、メモリと、プロセッサに、他のノードに送信されるデータを生成させるように構成された、メモリ内の命令と、を含み得る。ノードは、１つ以上の伝送サイクルでデータを送信するように構成された回路を含むネットワークスタックを含み得る。所与の伝送サイクルは、データを送信するための１０ＳＰＥネットワークノードの各々について少なくとも１つの送信スロットを含み得る。回路は、帯域幅共有方式に基づいて、第２の送信スロットまで第１の伝送サイクルの第１の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、伝送サイクルのカウントに基づいて、第１の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、１０ＳＰＥネットワークノードについての送信スロットのカウントに基づいて、第１の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、クレジット計算方式に基づいて、第１の送信スロットのデータの伝送を遅延させるように更に構成され得、データを送信することが複数のクレジットを要し、クレジットが経時的に増える。上記の実施形態のいずれかと組み合わせて、伝送サイクルは、１０ＳＰＥネットワークの複数の送信スロットを含み得る。上記の実施形態のいずれかと組み合わせて、第１の送信スロット及び第２のスロットは、異なるサイズであり得る。上記の実施形態のいずれかと組み合わせて、回路は、データを以前に送信している別の１０ＳＰＥネットワークノードに基づいて、第２の送信スロットまで第１の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、他のノードのうちの１つよりも低い優先度を有する１０ＳＰＥネットワークノードに基づいて、第２の送信スロットまで第１の送信スロットのデータの伝送を遅延させるように更に構成され得る。上記の実施形態のいずれかと組み合わせて、命令は、プロセッサに、他のノードによる無活動の判定に基づいて、第２の送信スロットまで第１の伝送サイクルの第１の送信スロットのデータの伝送の遅延をもたらすように更に構成され得る。上記の実施形態のいずれかと組み合わせて、回路は、プロセッサによって実行される命令によって実装され得る。
【０００６】
本開示の実施形態は、製造物品を含み得る。物品は、プロセッサによってロード及び実行されると、上記実施形態のいずれかの回路の動作を実装する命令を含み得る。
【０００７】
本開示の実施形態は、上記実施形態のノードのいずれかを含む、電子デバイス、コンピュータ、ネットワークカード、モバイルデバイス、又はサーバを含み得る。本開示の実施形態は、上記実施形態のいずれかの２つ以上のノードを含むネットワークを含み得る。
【０００８】
本開示の実施形態は、上記実施形態のノード、実行時の命令、回路、電子デバイス、コンピュータ、ネットワークカード、モバイルデバイス、ネットワーク、又はサーバのいずれかによって行われる方法を含み得る。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施形態による、例示的な１０ＳＰＥネットワークの図である。
【図２】本開示の実施形態による、例示的な伝送サイクルの図である。
【図３】本開示の実施形態による、例示的な伝送サイクルのタイミングの図である。
【図４】本開示の実施形態による、所与のノードがその伝送機会を取らない、送信又はバスサイクルの図である。
【図５】本開示の実施形態による、ＡＣＰ方式に従って伝送機会を取らないノードの図である。
【図６】本開示の実施形態による、ＡＣＴ方式に従って伝送機会を取らないノードの図である。
【図７】本開示の実施形態による、ＣＢＳ方式に従って伝送機会を取らないノードの図である。
【図８】本開示の実施形態による、図７の動作のクレジット値の図である。
【図９】本開示の実施形態による、クレジット方式を実装するためのデジタル回路の図である。
【図１０】本開示の実施形態による、１つを超える識別子を所与のノードに割り当てる図である。
【図１１】本開示の実施形態による、多数のサイズのデータ送信の図である。
【発明を実施するための形態】
【００１０】
図１は、本開示の実施形態による、例示的な１０ＳＰＥネットワーク１００の図である。ネットワーク１００は、任意の好適な数及び種類のノードを含み得る。例えば、ネットワーク１００は、ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃを含み得る。これらのノードは、ネットワーク１２０において互いに通信するように構成され得る。ネットワーク１２０は、任意の好適な様式で実装され得る。
【００１１】
ノード１０２は、マスターノードであり得る。ノード１０２は、ネットワーク内の他のノードの代わりに、ネットワークアロケーション、割り当て、又は他の管理タスクを行うことによって、マスターノードとして機能し得る。そのようなタスクは、ネットワーク管理アプリケーション１１２によってノード１０２で行われ得る。
【００１２】
ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃは各々、ネットワークドライバ又はスタック１０６で実装され得る。スタック１０６は、ＰＨＹ層１０８を含み得る。ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃは各々、１つ以上のエンドユーザアプリケーション１１０、プロセッサ１１４、及びメモリ１１６で実装され得る。エンドユーザアプリケーション１１０、ネットワーク管理アプリケーション１１２、及びネットワークドライバ又はスタック１０６は、ソフトウェア、ライブラリ、機能、スクリプト、アプリケーション、コード、又はプロセッサ１１４による実行のための他の命令を含み得る。命令は、それぞれのメモリ１１６上に記憶され得る。命令は、プロセッサ１１４によって実行されると、ユーザアプリケーション１１０、ネットワーク管理アプリケーション１１２、及びネットワークドライバ又はスタック１０６に、本開示の機能を行わせ得る。メモリ１１６は、長期記憶又は短期記憶に関わらず、任意の好適な実装の１つ以上のメモリ要素によって実装され得る。プロセッサ１１４は、任意の好適なプロセッサ、コア、又はマイクロコントローラのうちの１つ以上によって実装され得る。
【００１３】
ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃは、コンピュータ、ラップトップ、サーバ、仮想マシン、モバイルデバイス、又は自動車電子制御ユニット（ｅｌｅｃｔｒｏｎｉｃ  ｃｏｎｔｒｏｌ  ｕｎｉｔ、ＥＣＵ）などの任意の好適な電子デバイスを実装し得る。ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃは各々、エンドユーザアプリケーション１１０の異なる実装を含み得る。エンドユーザアプリケーション１１０は、エンドユーザアプリケーション１１０の他のもの又はノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃの他のものとの通信を必要とし得る。そのような通信は、例えば、ネットワーク１２０において１０ＳＰＥを使用して行われ得る。
【００１４】
特定の数のノードが図１に示されているが、ネットワーク１００は、１０ＳＰＥ対応ノードの任意の好適な数及び組み合わせを含み得る。
【００１５】
各ノードは、トラフィックシェーピングを行うように構成され得る。一実施形態では、そのようなシェーピングは、デジタルロジックを使用してハードウェアで実行され得る。別の実施形態では、ファームウェアもトラフィックを観察及びシェーピングすることができるように、各ノードのハードウェアにフックが実装され得る。シェーピングトラフィックは、タイムセンシティブノードについての帯域幅公平性又は優先順位付けを施行するように行われ得る。
【００１６】
ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃ間の通信は、以下の特徴で示される伝送サイクル及びフレームを使用して行われ得る。ノード１０２、１０４Ａ、１０４Ｂ、１０４Ｃの各々は、以下の実施形態に従うフレームを使用して互いに通信するように構成され得る。
【００１７】
図２は、本開示の実施形態による、例示的な伝送サイクルの図２００である。伝送サイクルは、図１のネットワーク１００についてであり得る。
【００１８】
伝送サイクル２０２Ａの第１のインスタンスは、ネットワークの各ノードについて送信スロットを含み得る。第Ｎのノードがネットワーク内にある場合、第Ｎの送信スロットは、所与の伝送サイクルに含まれ得る。例えば、伝送サイクル２０２Ａは、送信スロット２１０、２１２、２１４を含み得る。そのような各送信スロットは、所与のノードに割り当てられ得る。送信スロットは、伝送サイクルに固有の識別子（０．．．Ｎ−１）で識別され得る。識別子は、データパケットの送信者を識別し得る。各送信スロットは、特定の量までのデータ２０６を含み得る。以下で更に考察されるように、いくつかの実施形態では、割り当てられた送信スロットは、いかなるデータも有しない場合がある。識別子は、データ２０６に含まれ得る。識別子は、データの送信者を識別し得る。様々な実施形態では、送信スロットは、以下で更に詳細に考察される条件下で、所与のノードについて省略され得る。送信スロット２１０、２１２、２１４は、サイレンス２０８の期間によって分離され得る。各伝送サイクル２０２は、ビーコン２０４によって開始され得る。ビーコン２０４は、伝送サイクルが始まっていることを示すために、好適なピースの情報を含み得る。伝送サイクル２０２Ａが終わり得、別の伝送サイクル２０２Ｂが始まり得る。所与の伝送サイクル２０２での個々のノードによる関与は、伝送サイクル間で変わり得る。
【００１９】
伝送サイクル２０２を受信すると、所与のノードがそれを解析し得る。ビーコン２１６は、その伝送サイクル２０２を判定するために分析され得る。サイレンス２０８又はデータがないことは、伝送サイクル２０２の別個のデータ部分が次に受信されることを判定するように解釈され得る。データ２０６は、所与のノードへの、又は所与のノードからのデータが含まれるかどうかを判定するように分析され得る。所与のノードは、それ自体のデータ２０６を伝送サイクルに挿入し得る。
【００２０】
伝送サイクルは、ネットワーク内のトラフィックをシェーピングするように、ＰＬＣＡの使用を反映し得る。ＰＬＣＡは、ＩＥＥＥ  Ｐ８０２．３ｃｇで指定され得る。ＰＬＣＡは、ネットワーク内のノードにアクセス公平性を提供し得る。アクセス公平性は、各ノードが所与の伝送サイクル２０２でネットワークにアクセスする能力を含み得る。しかしながら、ＰＬＣＡは、ノード間で帯域幅公平性又は優先順位付けを提供しない。アクセス公平性が提供されても、所与のノードが他のノードよりも多くのデータをそれらのパケットに挿入し得るため、帯域幅公平性が提供されない場合がある。更に、アクセス公平性は、ノード間のいかなる優先順位付けも提供しない場合がある。本開示の実施形態は、ノード間で帯域幅公平性及び優先順位付けを提供し得る。ＰＬＣＡ及びその強化は、ネットワークスタック内で実行するためのデジタルロジック又は命令で実装され得る。ＰＬＣＡ及びその強化は、トラフィックを観察及びシェーピングするためのファームウェアについてのフックを含み得る。
【００２１】
衝突ベースのネットワークのほとんどの実装では、最大帯域幅利用は、６０％のみであり得る。更に、決定的な挙動を伴うことなく、安全性が重要なアプリケーションに使用されない場合がある。代わりに、ＰＬＣＡで、ノード１０２などのマスターノードは、物理層上のネットワークアクセスを体系化し得る。これは、衝突を防ぎ、決定的な挙動を提供し、かつ帯域幅を十分に使用し得る。
【００２２】
図２では、それぞれのノードの各ＰＨＹは、データ２０６に含まれる静的ＩＤ（０．．．Ｎ−１）を割り当てられ得る。マスターノードは、「０」のＩＤを有し得る。マスターノードは、新しい伝送サイクルを開始するビーコン２０４を送信し得る。受信すると、他のノードの各々は、それぞれのＰＨＹハードウェア又はソフトウェアを通して、それぞれの送信スロット２１０、２１２、２１４内でデータを送信する機会を有し得る。一実施形態では、ノードは、それぞれの送信スロット２１０、２１２、２１４でデータを送信する機会を見送るか又は手放し得る。他のノードは、サイレンス２０８が所与の閾値を超える場合、所定のノードがデータを送信するその機会をスキップしたことを認識するように構成され得る。次いで、次の送信スロットが始まり得る。
【００２３】
図３は、本開示の実施形態による、例示的な伝送サイクルのタイミングの図３００である。伝送サイクル又はバスサイクルを完了するための最小及び最大時間が計算され得る。
【００２４】
完全な伝送サイクルを完了するために必要な最小時間は、
最小バスサイクル時間＝ｔビーコン＋Ｎ*ｔサイレンスとして与えられ得、
ｔビーコンは、ビーコンが発行されるのに必要な時間であり、ｔサイレンスは、１対の送信スロット間のサイレンスに必要な時間であり、Ｎは、ノード又は送信スロットの数である。そのような最小時間は、全てのノードがそれらのそれぞれの送信スロットを使用するためにそれらの機会を手放した場合に生じる。
【００２５】
完全な伝送サイクルを完了するのに必要な最大時間は、
最大バスサイクル時間＝ｔビーコン＋Ｎ*ｔサイレンス＋Ｎ*ｔＭＴＵとして与えられ得、
ｔビーコンは、ビーコンが発行されるのに必要な時間であり、ｔサイレンスは、１対の送信スロット間のサイレンスに必要な時間であり、ｔＭＴＵは、最長許容データ長さ（最大伝送ユニット（ｍａｘｉｍｕｍ  ｔｒａｎｓｍｉｓｓｉｏｎ  ｕｎｉｔ、ＭＴＵ））を送信するために必要とされる時間であり、Ｎは、ノード又は送信スロットの数である。そのような最大時間は、全てのノードがそのデータを送信するために送信スロット間で最大時間を使用し、（したがって、正規の量のサイレンスを取り）、全てのノードがデータを送信するためにそれらの送信スロットを使用し、かつ全てのノードがそれらのそれぞれの送信スロットで最大量のデータを送信した場合に生じる。一実施形態では、ＭＴＵは、６４バイト長さであり得る。所与のノードが、送信前に、（例えば）ナノ秒未満、サイレンスタイムアウト期間の継続時間を待機し得るため、サイレンスタイムアウト期間がこの計算に含まれ得る。
【００２６】
本開示の実施形態は、より大きいパケット、帯域幅過剰消費、より低い優先度、又はベストエフォートトラフィックを有するノードが様々な伝送サイクルで伝送機会（ｔｒａｎｓｍｉｔ  ｏｐｐｏｒｔｕｎｉｔｉｅｓ、ＴＯ）を手放すことを可能にすることによって、ＰＬＣＡにおける改善を提供し得る。更に、本開示の実施形態は、より多くの伝送機会を受信するようにタイムセンシティブトラフィックをノードに提供することによって、ＰＬＣＡにおける改善を提供し得る。ＴＯを手放すための個々のノードについてのポリシーは、マスターノードによって設定され得、個々のノードによって実装され得る。より多くの伝送機会をノードに提供するためのポリシーは、多数の識別子を単一のノードに割り当てることによって、マスターノードによって提供され得る。
【００２７】
一実施形態では、ノードは、アプリケーション制御ＰＬＣＡ（ａｐｐｌｉｃａｔｉｏｎ  ｃｏｎｔｒｏｌｌｅｄ  ＰＬＣＡ、ＡＣＰ）方式に従ってＴＯを手放し得る。別の実施形態では、ノードは、アプリケーション制御時分割多重化アルゴリズム（ａｐｐｌｉｃａｔｉｏｎ  ｃｏｎｔｒｏｌｌｅｄ  ｔｉｍｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅｘｉｎｇ  ａｌｇｏｒｉｔｈｍ、ＡＣＴ）に従ってＴＯを手放し得る。更に別の実施形態では、ノードは、クレジットベースのシェーピング（ｃｒｅｄｉｔ−ｂａｓｅｄ  ｓｈａｐｉｎｇ、ＣＢＳ）方式に従ってＴＯを手放し得る。更なる実施形態では、ＡＣＰ又はＡＣＴは、ＣＢＳ方式を使用して実装され得る。
【００２８】
図４は、本開示の実施形態による、所与のノードがその伝送機会を取らない、伝送又はバスサイクル４０２の図である。ビーコン２０４は、伝送サイクル４０２で発行され得る。ノード０は、そのＴＯを取り、データ４０４を伝送し得る。ノード１は、そのＴＯを取らず、したがって、データ４０６を伝送せず、サイレンス４１２のみを残し得る。サイレンス４１２が最大サイレンス期間経過した後、ノード２は、そのＴＯを取り、データ４０８を伝送し得る。後に、ノードＮ−１は、そのＴＯを取り、データ４１０を送信し得る。サイレンス４１４は、様々な送信スロット間で生じ得る。別のサイクルが始まり、マスターノードからのビーコン２０４で開始し得る。
【００２９】
図５は、本開示の実施形態による、ＡＣＰ方式に従って伝送機会を取らないノードの図である。
【００３０】
ＡＣＰでは、遅延される所与のノードは、送信スロットを実際に使用する前に、特定の数の伝送機会を待機し得る。所与のノードが単一の識別子を割り当てられる場合、この技術は、時間のオフセットを除いて、ＡＣＴと同様であり得る。しかしながら、所与のノードが多数の識別子を割り当てられる場合、所与のノードは、単一の識別子を割り当てられた別のノードよりも速いＡＣＰ待機期間を過ごし得る。そのような多数の識別子は、単一の伝送サイクル内で所与のノードについて多数の送信スロットを手放し得る。
【００３１】
エミュレートされたキャリアセンス（ｃａｒｒｉｅｒ  ｓｅｎｓｅ、ＣＲＳ）５０２が、帯域幅抑制信号として使用され得る。エミュレートされたＣＲＳ５０２は、ノードでの所与のコントローラが、バスが現在使用されていると信じ、ノードが伝送しないように、バス上でキャリアをエミュレートし得る。エミュレートされたＣＲＳ５０２は、各ノードについてローカルに生成され得、ノード上のソフトウェア又は回路によって使用され得、ハードウェアを伝送するために発行され得る。したがって、所与のノードがそのＴＯを取らないとき、所与のノードは、エミュレートされたＣＲＳ５０２をそれ自体の機器に発行し得る。エミュレートされたＣＲＳ５０２は、ハードウェアに入力される実際のＣＲＳ信号ラインをエミュレートし得る。エミュレートされたＣＲＳ５０２は、実際のＣＲＳ信号ラインで論理的にＯＲされ得る。
【００３２】
ビーコン５１２は、伝送サイクル５２０の開始時に送信され得る。データは、ノード０（５１４）、ノード１（５１６）、及びノード２（５１８）についての送信スロットで送信され得る。
【００３３】
図５では、エミュレートされたＣＲＳ５０２がノード１（５１６）について示され得る。エミュレートされたＣＲＳ５０２が（例えば、高）活性化されるとき、ノード１（５１６）は、５１０に示されるように、そのＴＯを手放し得る。エミュレートされたＣＲＳ５０２が（例えば、低）不活性化されるとき、ノード１（５１６）は、５０８に示されるように、そのＴＯを取り得る。したがって、図５では、ノード１（５１６）は、その最初のＴＯを取り、その次の２つのＴＯを手放し、その第４のＴＯを取り得る。
【００３４】
図６は、本開示の実施形態による、ＡＣＴ方式に従って伝送機会を取らないノードの図である。ビーコン６１２は、伝送サイクル６２０の開始時に送信され得る。データは、ノード０（６１４）、ノード１（６１６）、及びノード２（６１８）についての送信スロットで送信され得る。
【００３５】
エミュレートされたＣＲＳ６０２は、伝送サイクルでのビーコン６１２の使用に対応するビーコン信号６０４と共に示されている。
【００３６】
ＡＣＴにより、ノードは、再び伝送する前に特定の数のビーコン６０４が通過するまで待機し得る。ＡＣＴ及びＡＣＰは、例えば、所与のノードが大きいパケットを送信した後、又はノードがより低い優先度のトラフィックを有する場合に、所与のノードについて行われ得る。一実施形態では、所与のサイクルで送信するネットワーク内のノードがない場合、ノードは、適所に別の方法で帯域幅制限に関係なく次のＴＯを取り得る。所与のノード上の帯域幅抑制は、エミュレートされたＣＲＳ６０２で行われ得る。上記のように、ＣＲＳは、ノードの部分がネットワーク又はバスが利用できないと信じ、送信されるデータが遅延又は保持されるように、バス上にキャリア信号を含み得る。エミュレートされたＣＲＳ６０２は、実際のＣＲＳ信号と組み合わせて使用され得る。
【００３７】
図６では、エミュレートされたＣＲＳ６０２が、例えば、ノード１について活性（高）になると、ノード１は、ビーコン６０４パルスについてその送信スロット６１６を手放し得る。エミュレートされたＣＲＳ６０２が活性のままである場合、ノード１（６１６）は、別のビーコン６０４パルスについてその送信スロット６１６を手放し続け得る。例えば、データは、スロット６２２、６２８でノード１について送信され得るが、スロット６２４、６２６で省略され得、代わりに、サイレンスが使用され得る。
【００３８】
伝送サイクル６２０が、サイクルの単一のインスタンスでノード１について多数の送信スロットを含んだ場合、これらの多数の送信スロットは、ＣＲＴ６０２が活性化されたときに単一のビーコン６０４パルスについて手放され得る。
【００３９】
図７は、本開示の実施形態による、ＣＢＳ方式に従って伝送機会を取らないノードの図である。
【００４０】
ＣＢＳ方式は、所与のノードがそれぞれの送信スロットでそのデータを送信するために、特定の数のクレジット又は他のユニットを必要とし得る。クレジットは、経時的に増え得る。データを送信することは、特定の数のクレジットを減らし得る。ノードは、初期数のクレジットで初期化され得る。異なるノードは、異なる数の初期クレジット、クレジットアクルーアルレート、又はデータを送信するクレジットのコストを割り当てられ得る。
【００４１】
ビーコン７１２は、伝送サイクル７２０の開始時に送信され得る。データ７０６は、ノード０（７１４）、ノード１（７１６）、及びノード２（７１８）についての送信スロットで送信され得る。エミュレートされたＣＲＳ７０２が、そのＴＯ７２２を使用するか又はそのＴＯ７２４を手放す所与のノードに影響を与えるために使用され得る。
【００４２】
図８は、本開示の実施形態による、図７の動作のクレジット値の図である。
【００４３】
上で考察されたように、ＣＢＳでは、パケットを送信する能力は、クレジットを通して確立され得る。送信するのに利用可能なクレジットが不十分である場合、ノードは、ＴＯを取らない場合がある。クレジットは、経時的に補充され得るか、又はネットワーク上に低いトラフィック使用がある場合、それは復元され得る。クレジットは、データを送信するときに消費され得る。
【００４４】
トレース８０２は、経時的に所与のノードについてのクレジットのカウンタの値を示し得る。時間は、ノードで送信又は受信される全体のバイトで測定され得る。飽和高値（ｓａｔｕｒａｔｅｄ  ｈｉｇｈ、ＳＨ）８０４は、増え得るクレジットの最大数の限界を示し得る。伝送バイト（ｔｒａｎｓｍｉｔ  ｂｙｔｅ、ＴＢ）８０６は、ノードが特定のサイズのデータを送信するときのクレジットの減少を示し得る。受信バイト（ｒｅｃｅｉｖｅ  ｂｙｔｅ、ＲＢ）８１０は、経時的なクレジットの増加を示し得る。例えば、バイトを送信した後、バイトを送信するのに必要なクレジットを再充填するために、７つのサイクルを要し得る。一実施形態では、クレジットの初期数（ｉｎｉｔｉａｌ  ｎｕｍｂｅｒ、ＩＮ）は、ＳＨ８０４に設定され得る。トレース８１２は、ＳＨ８０４が存在しなかった場合のトレース８０２についてのクレジットの連続した傾斜又は上昇を反映している。
【００４５】
下限（ｌｏｗｅｒ  ｌｉｍｉｔ、ＬＭ）８０６は、トレース８０２がＬＭ８０６に達すると、追加のバイトを送信することが抑制又は遅延され得る限界を示し得る。抑制又は遅延は、エミュレートされたＣＲＳによって行われ得る。一実施形態では、ノードは、ＬＭ８０６に達すると、追加の送信が抑制される前に伝送されている途中のパケットを完了させることを可能にされ得る。これは、例えば、８１４、８１６で示されている。
【００４６】
飽和低値（ｓａｔｕｒａｔｅｄ  ｌｏｗ、ＳＬ）８０８は、追加のクレジットを送信することが帯域幅共有でノードに対して保持されない、最小数のクレジットを表し得る。例えば、（クレジットを表す）トレース８０２がかろうじてＬＭ８０６よりも上であり、したがって、データパケット８１６が送信されることが可能な間に、特に大きいデータセグメントが送信される場合に、ＳＬ８０８に達し得る。ＳＬ８０８は、したがって、絶対的な最小値を表し得る。例えば、（クレジットを表す）トレース８０２が負の量のクレジットを有することが可能でない場合がある。別の例では、（クレジットを表す）トレース８０２は、ＳＬ８０８よりも更に不利にされない場合がある。トレース８０２の平坦部分は、バス上にトラフィックがない（すなわち、サイレンス）ときにクレジットが一定であることを表し得る。したがって、クレジットは、クレジットが蓄積されていない場合、そのような状況で増加又は減少しない。
【００４７】
（クレジットを表す）トレース８０２がＬＭ８０６よりも上に上昇すると、データが再び設定され得る。例えば、８２２で、送信が無効にされ得るが、データパケットが完了し、ノードが経時的にクレジットを回復すると、８２０で、送信が再び有効にされ得る。
【００４８】
トレース８０２及びクレジットの数が、特定の状況でＩＮにリセットされ得る。例えば、バスが全体の伝送サイクルについて空であった場合、（クレジットを表す）トレース８０２は、ＩＮクレジット値に設定され得る。別の例では、他の（しかし全てではない）ノードが伝送サイクル内でそれらのＴＯを手放す場合、（クレジットを表す）トレース８０２は、ＩＮに設定され得る。
【００４９】
例えば、ＳＨ８０４若しくはＩＮを上昇若しくは低下させること、ＴＢ８０９のサイズを減少若しくは増加させること、ＲＢ８１０を増加若しくは減少させること、ＬＭ８０６を低下若しくは上昇させること、又はＳＬ８０８を上昇若しくは低下させることによって、所与のノードが、より高い又はより低い優先度を割り当てられ得る。更に、所与のノードは、より多くの条件でそのクレジットカウントをＩＮに復元することによって、より高い優先度を割り当てられ得る。所与のノードは、より少ない条件でそのクレジットカウントをＩＮに復元することによって、より低い優先度を割り当てられ得る。例えば、所与のノードが、クレジットカウントをＩＮに復元するために２つの空の伝送サイクルを必要とすることによって、その優先度を低下させられ得るか、又は１つ以上の他のノードが伝送サイクル内でそれらのＴＯを手放した場合にクレジットカウントを復元することによって、その優先度を上昇させられ得る。
【００５０】
一実施形態では、ＣＢＳは、ＡＣＰ又はＡＣＴを実装するために使用され得る。例えば、ＴＯを取ることは、特定の数のクレジットを差し引き得るか、又はＴＯを手放すことは、特定の数の再生クレジットに値し得る。別の例では、伝送サイクルを見送ることは、特定の量の再生クレジットに値し得るか、又は再生レートは、伝送サイクルの長さに関連し得る。更に別の例では、ビーコンの受信は、特定の量のクレジットを再生するために使用され得る。
【００５１】
公平共有の帯域幅アロケーションは、ＡＣＰ、ＡＣＴ、又はＡＣＰ若しくはＡＣＴを実装するＣＢＳによって行われ得る。例えば、所与のノードが、より低い優先度、送信されるベストエフォートデータを有するか、又は大きいパケットを最近送信した場合、所与のノードは、それが受信したスロットの数及びそれが受信したビーコンの数をカウントし得る。そのようなより低い優先度ノードは、例えば、それが受信する２つ、３つ又はそれ以上のビーコン毎に、１つのデータパケットのみを送信するように制限され得る。同様に、より低い優先度ノードは、例えば、利用可能な２つ、３つ又はそれ以上の送信スロット毎に、１つのデータパケットのみを送信するように制限され得る。これらのカウントは、ＡＣＰ若しくはＡＣＴの純粋なカウントによって実装され得るか、又はＡＣＰ若しくはＡＣＴを実装するＣＢＳについてのクレジット方式に変換され得る。
【００５２】
マスターノードは、既存のトラフィック、トラフィックトレンド、データ使用、ユーザ設定、又は任意の他の好適なポリシーに基づいて、優先度を様々なノードに割り当て得る。更に、所与のノードは、これらのファクターに基づいて、それ自体の優先度を判定し得る。ＡＣＰ、ＡＣＴ、又はＣＢＳの様々な態様に使用される特定の値は、マスターノードによって判定され得るが、それぞれのノードによって実装され得る。それぞれのノードは、ソフトウェアをファームウェア又はネットワークハードウェアとインターフェース接続することによって、ポリシーを実装し得る。
【００５３】
図９は、本開示の実施形態による、ＣＢＳ方式を実装するための回路９００の図である。回路９００のインスタンスは、各ノードで実装され得る。
【００５４】
様々なイベント９２０が、回路９００によって受信され得る。これらのイベントは、ＲＢ（受信バイト）、ＴＥ（伝送パケットエンド（ｔｒａｎｓｍｉｔ  ｐａｃｋｅｔ  ｅｎｄ））、ＢＮ（ビーコン（ｂｅａｃｏｎ））、ＴＢ（伝送バイト（Ｔｒａｎｓｍｉｔ  ｂｙｔｅ））、ＴＯ（伝送機会（ｔｒａｎｓｍｉｔ  ｏｐｐｏｒｔｕｎｉｔｙ））、ＥＣ（空サイクル（ｅｍｐｔｙ  ｃｙｃｌｅ））イベントを含み得る。レジスタ９２２、９２４、９２６、９２８、９３０、９３２は、所与のイベントに関連する、正又は負のクレジット値を含み得る。所与のイベントの値は、値を蓄積し、その結果を飽和ロジック９１４に提供し得る、加算器回路９１２に提供され得る。飽和ロジック９１４は、ＳＨ及びＳＬの値についてレジスタ９０２、９０４から値を読み取り、これらの値の間にあるようにクレジット移動を制限するように構成され得る。クレジットロジック９１６は、割り込み、初期化、高優先度メッセージ、ノードの優先度の増加、又は他の基準の際に、クレジットのＩＮ値を復元させるように構成され得る。
【００５５】
クレジットロジック９１６によって生成されるクレジット値は、ＴＯが手放され得る、レジスタ９０８に記憶される閾値に対して９１０で比較され得る。
【００５６】
決定９３８は、代わりにソフトウェア又はファームウェアで行われ得る。受信されたバイト、伝送イベント、伝送バイト、ＴＯ、ビーコン、及び他のイベントがカウントされ、ソフトウェアに報告され得る。ソフトウェアは、伝送機会が手放されるべきかどうかを判定するために、これらの値を使用し得る。これは、９３４で示されるようなＧＰＩＯピンによって通信され得る。そのようなファームウェアは、プロセッサ又はマイクロコントローラによる実行のための命令によって実装され得る。
【００５７】
加えて、決定９３８は、ファームウェア及びハードウェアの組み合わせで行われ得る。例えば、回路９００の出力は、所与のノードが高優先度データを送信することを受信されるメッセージに対して評価され得る。そのような場合、ＴＯを手放す決定９３８は、ファームウェア又はソフトウェアによって優先され得る。別の例では、回路９００の出力は、伝送バスが他のノードによって利用されていないという判定に対して評価され得る。伝送バスが他のノードによって利用されていない場合、ＴＯを手放す決定９３８は、ファームウェア又はソフトウェアによって優先され得る。
【００５８】
ロジック９１０の出力は、ＧＰＩＯピン９３４でＯＲされ得る。ＧＰＩＯピン９３４は、パケットを強制するか、又はパケットを優先するためのメッセージが受信されたかどうかを反映し得る。ＯＲゲート９４０の出力は、それ自体が、ロジック９１０を無視し、ＧＰＩＯピン９３４を単独で使用するようにソフトウェア信号９４６に基づいて、ＧＰＩＯピン９３４で多重化され得る。マルチプレクサ９４２の出力は、決定９３８を手放し得る。
【００５９】
図１０は、本開示の実施形態による、１つより大きい識別子を所与のノードに割り当てる図である。
【００６０】
ノード１（１００２）は、送信スロット０を割り当てられ得る。ノード２（１００４）は、送信スロット１及び３を割り当てられ得る。ノード３（１００６）は、送信スロット２を割り当てられ得る。したがって、ノード２（１００４）は、ノード３（１００６）よりも多くのＴＯについての機会を与えられ得る。これらの追加の送信スロットは、ＡＣＴ、ＡＣＰ、若しくはＣＢＳとは独立し得るか、又はＡＣＴ、ＡＣＰ、若しくはＣＢＳと共に使用され得る。ビーコン１００８は、各伝送サイクルを開始し得る。
【００６１】
この方式では、より高い優先度を有するノード、又はそれにも関わらず省略され得るより高い優先度についての機会を必要とするノードは、送信スロットについての多数のＰＬＣＡ識別子を割り当てられ得る。
【００６２】
図１１は、本開示の実施形態による、データ伝送の異なるサイズを示す。２つの例、相対的なＭＴＵサイズが示されている。「大きい」ＭＴＵが、標準サイズのＭＴＵであり得、一方、短縮ＭＴＵは、例えば、標準的なＭＴＵの時間の半分又は４分の１であり得る。より多くの並べ替え及び比較的より大きい又はより小さいサイズが使用され得る。サイズは、マスターノードによって指定され得る。
【００６３】
所与の送信スロットは、大きいＭＴＵ１１０２で比較的より大きく指定され得るか、又は小さいＭＴＵ１１０６で比較的より小さく指定され得る。集合的に、１つ以上の大きいＭＴＵ１１０２の使用は、比較的より大きい最大バスサイクル時間１１０４を手放し得る。逆に、１つ以上の小さいＭＴＵ１１０２の使用は、比較的より短い最大バスサイクル時間１１０８を手放し得る。一実施形態では、所与のサイクルの全ての送信スロットは、同じＭＴＵ長さであり得る。別の実施形態では、所与のサイクルの送信スロットは、所与のノードに従って変わり得る。
【００６４】
例えば、図１０で多数の識別子を割り当てられたノードは、小さいＭＴＵ１１０６を与えられ得る。他のノードは、大きいＭＴＵ１１０２を与えられ得る。
【図１】
2021525473.tif 000003
【図２】
2021525473.tif 000004
【図３】
2021525473.tif 000005
【図４】
2021525473.tif 000006
【図５】
2021525473.tif 000007
【図６】
2021525473.tif 000008
【図７】
2021525473.tif 000009
【図８】
2021525473.tif 000010
【図９】
2021525473.tif 000011
【図１０】
2021525473.tif 000012
【図１１】
2021525473.tif 000013
【国際調査報告】
2021525473.tif 000014
2021525473.tif 000015
2021525473.tif 000016