JP5939489B2 - 非任意ネットワークに用いるデータブロックシステム - Google Patents

非任意ネットワークに用いるデータブロックシステム Download PDF

Info

Publication number
JP5939489B2
JP5939489B2 JP2013557864A JP2013557864A JP5939489B2 JP 5939489 B2 JP5939489 B2 JP 5939489B2 JP 2013557864 A JP2013557864 A JP 2013557864A JP 2013557864 A JP2013557864 A JP 2013557864A JP 5939489 B2 JP5939489 B2 JP 5939489B2
Authority
JP
Japan
Prior art keywords
frame
signal
module
shaper
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013557864A
Other languages
English (en)
Other versions
JP2014507917A (ja
Inventor
パンネル、ドナルド
Original Assignee
マーベル ワールド トレード リミテッド
マーベル ワールド トレード リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マーベル ワールド トレード リミテッド, マーベル ワールド トレード リミテッド filed Critical マーベル ワールド トレード リミテッド
Publication of JP2014507917A publication Critical patent/JP2014507917A/ja
Application granted granted Critical
Publication of JP5939489B2 publication Critical patent/JP5939489B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

[関連出願の相互参照]
本開示は、2012年3月8日に提出された米国実用新案登録第13/415,112号公報、2011年3月10日に提出された米国仮特許出願第61/451,525号、2011年3月14日に提出された米国仮特許出願第61/452,482号、および2011年10月28日に提出された米国仮特許出願第61/552,648号の利益を主張する。同出願の開示内容は、それら全体が参照により本明細書に組み込まれる。
本開示はネットワークに関し、特に非任意ネットワークにおけるデータソースおよびブリッジのレイテンシに関する。
本明細書における背景技術の説明は本開示の背景を一般的に提示することを目的とする。この背景技術のセクションで説明される範囲での本願発明の発明者による発明、および提出時において従来技術として認められ得ない説明の態様は、明示または黙示を問わず本開示に対する先行技術として認められない。
データ通信ネットワークは、複数のトーカー(データのソース)、および複数のレシーバを含み得る。トーカーおよびレシーバのうちそれぞれの間のデイジーチェーンでは、いくつかのブリッジが接続され得る。データ通信ネットワークは任意ネットワーク(非設計ネットワークとも呼ぶ)または非任意ネットワーク(設計ネットワークとも呼ぶ)であり得る。任意ネットワークは例えば、複数の異なるネットワークデバイス(例えば、コンピュータ、携帯電話、テレビ、プリンタ、および電子タブレット)を含み得る、ネットワーク内の様々なポイントをランダムな時間に適宜接続および切断する、住居におけるローカルエリアネットワーク(LAN)である。ネットワークデバイスは、任意ネットワークで送信されているデータの優先レベルに関わらずいつでも接続および切断され得る。
非任意ネットワークは例えば、乗り物内の自動車のネットワークまたは製造組み立てラインのネットワークである。一般的には、非任意ネットワークのネットワークデバイスは固定されており、非任意ネットワークへの接続が行われているということがなく、および/または非任意ネットワークからの切断が行われているということがない。ネットワークデバイスは非任意ネットワークに接続され、および/または非任意ネットワークから切断され得るが、非任意ネットワークへの接続が行われている、または非任意ネットワークからの切断が行われているネットワークデバイスとの通信は、優先度の高いデータの送信期間においては防がれる。これらの送信期間において、優先度の高いデータは、非任意ネットワークのネットワークデバイス間で送信される。
例えばInstitute of Electrical and Electronics Engineers(IEEE)802.1Qavに準拠して動作する非任意のEthernet(登録商標)ネットワークは、トーカー(またはソース)、複数のブリッジ、およびリスナー(またはレシーバ)を含み得る。トーカーは、周期的送信時間間隔のうち割り当てられた送信期間において、優先度の高いデータをブリッジを介してリスナーへ送信してもよい。優先度の高いデータとは例えば、レイテンシが短いことが要求されるクラスAまたはクラスBデータのことを指す。レイテンシという用語は、非任意ネットワークで1回以上のホップを介して優先度の高いフレームを送信するまでの時間を指す。1回のホップのレイテンシは、高い優先度のフレームの最後のビットが当該ホップに関連するネットワークデバイスによって受信されてから、当該最後のビットが当該ネットワークデイバスから送信されるまでの時間として計測される。簡潔に説明すると、1回のホップのレイテンシは、ネットワークデバイスによる最後のビットの受信から、当該ネットワークデバイスによる当該最後のビットの送信までの時間として計測される。1回のホップは、非任意ネットワークのトーカー(エンド局)またはブリッジのことを指し得る。
非任意ネットワークにおいて送信されるデータは例えば、3つの優先レベルのうち1つを有し得る。クラスAデータは、優先レベルの最も高いオーディオビデオブリッジング(AVB)データを含み得る。AVBデータはオーディオデータおよび/またはビデオデータを含み得るが、AVBデータは、制御データ、ユーザデータ、リファレンスデータ、または他のタイプのデータも含み得る。優先レベルの最も高いデータは、所定の帯域幅および所定の最大レイテンシが与えられ得る。このことにより、クラスAデータが割り当てられた期間において送信されること、および、所定の回数のホップでの、および/またはエンド局間のクラスAデータの送信に関するレイテンシが、所定の最大レイテンシより短くなることが確実になる。クラスBデータは、次に優先レベルの最も高いAVBデータであってよい。非AVBデータは最も低い優先レベルを有し得る。一般的に、優先度のより高いデータは、優先度のより低いデータよりも早く送信される。
ネットワークデバイスが割り当てられた送信期間において非任意ネットワークへの接続を試みた場合、非任意ネットワークとの接続は拒否され得る。データ送信アクティビティがない期間、および/または、クラスBよりも優先レベルの低いデータの送信が行われている期間において、接続は確立され得る。
Fast Ethernet(登録商標)(FE)とは、100メガビット/秒(Mbits/s)でのデータ送信を指す。Gigabyte Ethernet(登録商標)(GE)とは、1ギガビット/秒(Gbits/s)での送信を指す。第1世代のEthernet(登録商標)ネットワークのIEEE802.1AVB規格(FEまたはGEの送信速度に関して)によると、クラスAデータフレームは、7回のホップを2ミリ秒(ms)より短い時間で通過し、クラスBデータフレームは、7回のホップを50msより短い時間で通過しなければならない。クラスAフレームおよびクラスBフレームは有線または無線の接続で送信され得るが、従来の非任意ネットワークは、無線接続で送信されるデータに関して第1世代のクラスAの基準を満たすことが出来ない。無線接続でデータを送信するのにかかる時間は、有線接続でデータを送信するのにかかる時間より長い。
第2世代ネットワークのIEEE802.1AVBのゴール1によると、クラスAフレームはGEの送信速度で32回のホップを125μ秒より短い時間で通過しなければならない。第2世代ネットワークのAVBのゴール2によると、クラスAフレームは、FEの送信速度の5回のホップを100μ秒以下の時間で通過しなければならない。従来の非任意ネットワークは、有線接続によりGEの速度で送信を行った場合、第2世代のレイテンシのゴール2を達成することが出来る。従来の非任意ネットワークは、有線接続によりFEの速度で送信を行った場合、第2世代のレイテンシのゴール2を満たしことが出来ず、有線接続によりGEの速度で送信を行った場合、第2世代のレイテンシのゴール1を満たすことも出来ない。
複数のキューを有するメモリを含むネットワークデバイスが提供される。キューは、第1キューおよび第2キューを含む。タイミングモジュールは、第1優先タイミング信号および第2優先タイミング信号のうち少なくとも一方を生成する。第1優先タイミング信号および第2優先タイミング信号は、クロック信号に基づいて生成される。クロック信号は、非任意ネットワークにおいてネットワークデバイスと他のネットワークデバイスとの間で共有される。
ネットワークデバイスはさらに、デブロックシェーパーおよびブロックシェーパーのうち少なくとも1つを含む。デブロックシェーパーは、(i)第1キューからの第1保護データを転送し、(ii)第1フレーム信号、および第1優先タイミング信号に基づきデブロック信号を生成する。第1フレーム信号は第1フレームが第1キューに含まれることを示す。ブロックシェーパーは、(i)第2キューからの第2保護データおよび非保護データのうち一方を転送し、(ii)第2フレーム信号、および第2優先タイミング信号に基づき第1ブロック信号を生成する。第2フレーム信号は、第2フレームが第2キューに含まれることを示す。選択モジュールは、デブロック信号または第1ブロック信号に基づき選択信号を生成し、第1フレームまたは第2フレームを選択する。
本開示の適用可能な領域は、発明を実施するための形態、特許請求の範囲、および図面から明らかとなる。詳細な説明および特定の例は、例示のみを目的としており、本開示の範囲を限定することを目的としていない。
本開示は、発明を実施するための形態および添付の図面から、より完全に理解されるであろう。
図1は、輻輳が発生した場合および発生しなかった場合のフレーム送信タイミングを示すタイミング図である。 図2Aは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Bは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Cは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Dは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Eは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Fは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Gは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図2Hは、干渉フレームおよびクラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図3Aは、クラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図3Bは、クラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図3Cは、クラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図3Dは、クラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図3Eは、クラスAフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。 図4は、フレームの並列受信に関連するレイテンシを示すタイミング図である。 図5は、フレームの調整された送信に関連するレイテンシを示すタイミング図である。 図6は、クラスAに割り当てられた期間および対応する周期的送信時間間隔を示すタイミング図である。 図7は、本開示に係る非任意ネットワークの機能ブロック図である。 図8は、本開示に係るトーカーの機能ブロック図である。 図9は、本開示に係るブリッジの機能ブロック図である。 図10は、本開示に係るネットワークデバイスの機能ブロック図である。 図11は、本開示に係る時間非認識ブロックシェーパーの機能ブロック図である。 図12は、本開示に係る、時間非認識ブロックシェーパーのカウント値を経時的に示すグラフである。 図13は、本開示係るデブロックシェーパーの機能ブロック図である。 図14は、本開示に係る時間認識ブロックシェーパーの機能ブロック図である。 図15は、本開示に係るフレームサイズベースのブロックシェーパーの機能ブロック図である。 図16Aは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。 図16Bは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。 図16Cは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。 図16Dは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。 図16Eは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。 図17は、本開示に係るクラスAに割り当てられた期間におけるブロックウィンドウを示すタイミング図である。 図18Aは、本開示に係るデータブロック方法を示す。 図18Bは、本開示に係るデータブロック方法を示す。
上述の説明は本質的に例示に過ぎず、本開示、その適用例または利用例を限定することを意図していない。本開示の幅広い教示は、様々な形態で実現が可能である。よって本開示は特定の例を含むが、本開示の本質的な範囲はそれらによって限定されるべきではない。なぜなら添付の図面、本明細書、および特許請求項から他の変形例が明らかとなるからである。説明を明確にすべく、図面において同様の要素は同様の参照番号を用いて識別される。本明細書で用いられるように、A、B、およびCのうち少なくとも1つといった表現は、非排他的な論理ORを用いて論理(A or B or C)を意味するものとして解釈されるべきである。方法の1以上の工程は、本開示の原理から逸脱することなく、異なる順序で(または同時に)実行されてもよい。
本明細書で用いるモジュールという用語は、特定用途向け集積回路(ASIC)、電子回路、組み合せ論理回路、フィールドプログラマブルゲートアレイ(FPGA)、コードを実行するプロセッサ(共有、専用、またはグループ)、説明される機能を実現する適した他のハードウェアコンポーネント、或いはシステムオンチップなどにおけるこれらのいくつかまたは全ての組み合わせを言及してもよく、これらの一部であってもよく、若しくはこれらを含んでもよい。モジュールという用語は、プロセッサによって実行されるコードを格納するメモリ(共有、専用、グループ)を含んでもよい。
上記で用いたコードという用語は、ソフトウェア、ファームウェア、および/またはマイクロコードを含んでもよく、プログラム、ルーチン、機能、クラス、および/またはオブジェクトを指してもよい。上記で用いた共有という用語は、複数のモジュールからのいくつか、または全てのコードが、単一の(共有)プロセッサを用いて実行され得ることを意味する。加えて、複数のモジュールからのいくつか、または全てのコードは、単一の(共有)メモリに格納されてもよい。上記で用いたグループという用語は、単一のモジュールからのいくつかの、または全てのコードが、1グループの複数のプロセッサを用いて実行され得ることを意味する。加えて、単一のモジュールからのいくつか、または全てのコードは、1グループの複数のメモリに格納されてもよい。
加えて以下の説明において、様々な変数ラベルおよび変数値を開示する。それら変数ラベルおよび変数値は単に例として示される。変数ラベルは任意で用いられ、それぞれ異なるアイテムを識別する、または指すのに用いられ得る。例えば、フレーム数またはキュー数を指すのに変数ラベルnを用い得る。変数値も任意で用いられ得、適用例毎に異なるものを指し得る。
さらに以下の説明において、「第1」、「第2」、および「第3」などの用語を用いる。これらの用語は何らかの1つのデバイス、または信号などを特定的に指すものではない。同じデバイス、または信号などを指すのに、状況に応じてそれらの用語のうち1以上を用いることが出来る。
ギガバイトEthernet(登録商標)(GE)ネットワーク
GEネットワークは、1ホップあたり0.512μ秒の送信レイテンシで64バイトの最小フレームサイズを有し得る。平均の(または通常の)サイズのEthernet(登録商標)フレームは300バイトであり得、最大フレームサイズは1522バイトであり得る。300バイトのEthernet(登録商標)フレームは、対応する320バイトに等しい送信時間を有し得、20バイトの時間は、Ethernet(登録商標)のプリアンブル(1秒および0秒の繰り返しパターン、および/またはフレーム区切りの始まり)、およびフレーム間ギャップ(IFG)に対応する。IFGとは、連続するデータフレーム間の時間のギャップを指す。トーカーからの320バイトの送信に関連するレイテンシは2.56μ秒である。データが例えばCAT5eケーブル上で送信される際のネットワーク局(またはノード)間の送信回線遅延は、ケーブル100メートル(m)あたり、およそ538ナノ秒(ns)である。
図1において、輻輳が発生した場合および発生しなかった場合のフレーム送信タイミングを示すタイミング図である10が示されている。示される、ネットワークデバイス間で送信されるデータブロック1〜8はそれぞれデータフレーム(以下、フレームと呼ぶ)を含んでよい。各フレームは300バイトを有し得る。フレームはFE速度で送信されてよい。フレームは周期的な送信時間間隔14に送信される。周期的な送信時間間隔14は8キロヘルツ(kHz)の信号に対し例えば125μ秒の長さであり得る。フレームはクラスAデータを含み得る。クラスAデータとはGEにおける優先レベルの最も高いデータを指し得る。クラスAデータは各周期的送信時間間隔に送信されてもよい。データブロック1〜8は輻輳が発生しなかった(つまり干渉フレームがない)場合のものと、輻輳が発生した(つまり干渉フレームがある)場合のものが示されている。各周期的送信時間間隔に送信され得る最大フレーム数は、例えば8である。
第1時間ライン18は、干渉フレームがないデータブロック1〜8を有する。データブロック1〜8のそれぞれは、クラスAフレーム(例えば300バイト)、プリアンブル、およびフレーム間ギャップ(IFG)を含み得る。プリアンブルおよびIFGは、対応する20バイトの時間を有し得る。第2時間ライン20は、干渉フレームブロック22と共にデータブロック1〜8を有する。干渉フレームブロック22は、干渉フレーム、プリアンブル、およびIFGを含み得る。干渉フレームとは、クラスAフレームの送信の準備が出来る前に、および/または出来ている時に送信の準備が出来ており、結果的にクラスAフレームの送信を遅延させるフレームを指す。干渉フレームは、例えば1522バイトのデータを有する最大サイズGEフレームであってよい。干渉フレームブロック22のプリアンブルおよびIFGは対応する20バイトの時間を有し得る。干渉フレームブロック22が原因となり、データブロック1〜8および対応するクラスAフレームは、遅延期間24だけ遅延させられる。クラスAフレームおよび干渉フレームのサイズが小さければ小さい程、クラスAフレームの送信までのレイテンシが短くなる。メディアアクセスコントローラ(MAC)遅延26によって示されるMACの遅延が原因となり8フレームの送信も遅延させられ得る。
クラスAフレームのIFGは、時間非認識ブロックシェーパーによって定められ得る。時間非認識ブロックシェーパーは周期的送信時間間隔に亘りフレームを割り振る。フレームの割り振りにより、連続するフレーム間にフレーム間ギャップ(データを含まない期間)が形成される。ブロックシェーパーの例は図7〜11、および13〜15に示される。時間非認識ブロックシェーパーとは、グランドマスタークロックに基づいて動作しないブロックシェーパーを指す。グランドマスタークロックは、非任意ネットワーク内の複数のネットワークデバイスにより共有されるグローバルクロック信号を生成するクロックである。時間非認識ブロックシェーパーの例は、図10および11に示す。グランドマスタークロックに基づき実行される送信は、図7および10にさらに詳細に説明する。
トーカーは、周期的送信時間間隔において送信されるクラスAフレームの数に基づきデータをバーストしてもよい。クラスAデータが周期的送信時間時間間隔に亘り割り振られるのを防ぐべく、クラスAデータの時間非認識ブロックシェーパーは無効化させられてよい。これにより、干渉フレームに関連する遅延を最小化することが出来る。なぜなら、干渉フレームの送信が開始され得るIFGが存在しないからである。
タイプI送信におけるレイテンシの例
輻輳が発生しブロックシェーバーを用いないデータ送信を、タイプIデータ送信と呼ぶ。単純なネットワークは、トーカー、N個の2ポートブリッジ(単一の入力ポートおよび単一の出力ポートを有するブリッジ)、およびリスナーを含み得る。制御フレームがブリッジの1つを介しトーカーからリスナーへと通過する時間について、図2A〜2Hを参照し説明する。図2A〜2Hは、輻輳が発生しブロックシェーパーを用いない、ブリッジ40を通過するデータ伝送を示す。干渉フレーム42およびクラスAフレームのブリッジ40を通過する伝送が示される。クラスAフレームはブロックシェーパーを用いず順次送信される。干渉フレーム42は、クラスAフレームの送信の前に送信される最大サイズの干渉フレームである。
ブリッジ40は、メモリ46を有するイングレスモジュール44、キュー48、マルチプレクサ50、および出力ポート52を含む。以下のブリッジレイテンシの値は、IEEE1722に準拠しイングレスの時間基準面またはレイテンシの開始から計測され得る。
図2Aにおいて、干渉フレーム42がブリッジ40に到着し、その後にクラスAフレームが続く。時間tに、アップストリームのネットワークデバイス(例えばトーカーまたはブリッジ)からの干渉フレーム42の最初のビットがブリッジ40によって受信される。図2Bにおいて、干渉フレーム42はメモリ46により受信され格納されている。干渉フレーム42は受信された後、クラスAフレームのうちの最初のフレームの最初のビットが受信される。このことは、干渉フレームが関連する1542バイトのレイテンシを有するので、t=12.336μ秒に起こる。干渉フレーム42は、例えば、1522バイト、並びにプリアンブルおよびIFGと関連する20バイトの時間を有し得る。図2Cにおいて、干渉フレーム42は、メモリ46から、優先度の低いデータおよび/または非AVBデータと関連付けられた複数のキュー48のうち1つへと転送されている。t=13.360μ秒において、第1制御フレームの128バイトが受信される。この時間は、干渉フレーム42を受信する12.336μ秒の時間に128バイトを処理する時間、または1.024μ秒を加算した時間に等しい。図2Dに示されるように、最初のクラスAフレームの最初のビットが受信された後の2つのスロットタイム(またはブリッジ40のクロックサイクル)において、干渉フレーム42の最初のビットがブリッジ40から送信される。第1のクラスAフレーム57はその後、キュー48の最初のキューに格納されてよい。
図2Dにおいて第2のクラスAフレームの第1ビット60は、ブリッジ40によって受信されている。このことは、干渉フレーム42を受信する時間である12.336μ秒に第1のクラスAフレームと関連する時間である320バイトを加算した時間に等しいt=14.896μ秒に起こる。図2Eにおいて第3のクラスAフレームの第1のビット62が受信されている。このことは、干渉フレームを受信する時間である12.336μ秒にクラスAフレームに関連する320バイトの時間の2倍を加算した時間に等しいt=17.456μ秒に起こる。
図2Fにおいて、第1のクラスAフレームの第1のビット64がブリッジ40から送信されている。このことは、干渉フレームを受信する時間(または開始時間)である12.336μ秒に5つのクラスAフレームを処理する時間および第6のクラスAフレームの70バイトの時間(または干渉フレームの送信時間)である13.360μ秒を加算した時間に等しいt=25.696μ秒に起こる。5つのクラスAフレームの処理時間および第6のクラスAフレームの70バイトは、第1のクラスAフレームの開始時間に等しい。
図2Gにおいて、クラスAフレームの最後のビット66がブリッジ40により受信される。このことは、第6のフレームの残りの処理時間と、第7および第8フレームの処理時間とを加算したt=32.656μ秒に起こる。図2Hにおいて、クラスAフレームの最後のビットがブリッジ40から送信される。このことは、開始時間である13.36μ秒に干渉フレームおよびクラスAフレームの送信時間である32.656μ秒を加算した時間であるt=46.016μ秒に起こる。46.016μ秒の時間tは、ブリッジ40に最初のビットが入ってからブリッジ40から最後のビットが出るまでの時間である(最初のビットの受信−最後のビットの送信時間と呼ぶ)。ブリッジ40の受信時間に等しいトーカー送信時間を二重にカウントすることを避けるべく、最初のビットの受信−最後のビットの送信時間ではなく、ブリッジ40に最後のビットが入ってからブリッジ40を最後のビットが出るまでの時間(最後のビットの受信−最後のビットの送信時間)を考慮する。
最後のビットの受信−最後のビットの送信時間は、46.016μ秒の時間tから、干渉フレームの送信時間である12.226μ秒を減算し、8つクラスAフレームの送信時間である20.48μ秒を減算し、プリアンブルおよびIFG時間の20バイトを加算した13.36μ秒となる。最後のビットの受信−最後のビットの送信時間は、最後のクラスAのビットの受信時間から最後のクラスAのビットの送信時間を減算することによって求められてもよく、この場合も13.36μ秒となる。
クラスAフレームに関するブリッジ40の最大レイテンシは、ブリッジ40の遅延時間tbridgeに、最大サイズの干渉フレームを受信する時間tMAXINTを加算し、ブリッジ40と、例えば他のネットワークデバイスとの間のケーブルの送信時間tCableを加算した時間に等しい。ケーブルの送信時間tCableは、100mケーブルに関して求められてもよい。
5つのネットワークデバイス(1つのトーカーおよび4つのブリッジ)のデイジーチェーン上でGEで8つの300バイトのクラスAフレームを送信する際の最大レイテンシは、以下のように求められ得る。2つのスロットタイムのブリッジの遅延、および1522バイトである最大の非AVBデータで、最大レイテンシは、1.024μ秒(tbridge)に12.336μ秒(tMAXINT)を加算し、0.538μ秒(tCable)を加算した13.898μ秒となる。これは、最後のビットの受信−最後のビットの送信時間である13.36μ秒に0.538μ秒のケーブル遅延時間を加算した時間に等しい。
タイプII送信におけるレイテンシの例
図3A〜3Eは、輻輳が発生せずブロックシェーパーを用いないブリッジ40を介したクラスAフレームの伝送を示す。輻輳が発生せずブロックシェーパーを用いないデータ送信を、タイプII送信と呼ぶ。ブリッジ40は、メモリ46を有するイングレスモジュール44、キュー48、マルチプレクサ50、および出力ポート52を含む。図3Aにおいて、8つのクラスAフレームがブリッジ40に到着する。第1のクラスAフレームの最初のビットがブリッジ40に受信される。この時点が時間tである。図3Bにおいて、第1のクラスAフレームの第1フレーム70は既に受信され、第2のクラスAフレームの最初のビットがブリッジ40によって受信されている。第2のクラスAフレーム71の最初のビットは、例えば、第1のクラスAフレームの最初のビットを受信した後、320バイトの時間である。このことは、2.56μ秒である時間tにおいて起こる。
図3Cにおいて、第1のクラスAフレーム70が第1キューに格納されている。第1のクラスAフレーム70の最初のビットは、ブリッジ40から送信されてもよい。このことは、第2のクラスAフレーム71の最初のビットの受信の2つのスロット後に、または3.584μ秒に等しい時間において起こる。この時間において、第2のクラスAフレーム71の128バイトがブリッジ40に格納される。図3Dにおいて、最後のクラスAフレームの最後のビット74がブリッジ40により受信されている。このことは、それまでの時間3.584μ秒に残りのフレームの受信時間である16.736μ秒を加算した時間である20.32μ秒の時間tにおいて起こる。
図3Eにおいて、最後のクラスAフレームの最後のビットがブリッジ40から送信されている。このことは、第1のクラスAフレームに関連する遅延時間である3.584μ秒にトーカーからブリッジ40へのクラスAフレームの送信時間である20.32μ秒を加算した時間である23.904μ秒に等しい時間tにおいて起こる。23.904μ秒は、ブリッジ40の最初のビットの受信−最後のビットの送信時間である。最後のビットの受信−最後のビットの送信時間は、最初のビットの受信−最後のビットの送信時間である23.904μ秒から送信時間である20.48μ秒を減算することにより求めてもよく、3.584μ秒となる。最後のビットの受信−最後のビットの送信時間は、最後のクラスAフレームの最後のビットが受信された時間から最後のクラスAフレームの最後のビットがブリッジ40から送信された時間を減算した時間にも等しい。
タイプII送信におけるブリッジ40の最大レイテンシは、ブリッジ40の遅延期間tBridgeに最大サイズのクラスAフレームを受信する時間tMAXFrameを加算し、ケーブル遅延期間tCableを加算して求めてもよい。2つのスロットタイムのブリッジ遅延および300バイトの最大のクラスAフレームサイズで、最大レイテンシは、1.024μ秒(tBridge)に2.56μ秒(tMAXFrame)を加算し、0.538μ秒(tCable)を加算した4.122μ秒となる。最大レイテンシは、最後のビットの受信−最後のビットの送信時間である3.584μ秒に0.538μ秒のケーブル遅延時間を加算した時間に等しい。
図2A〜3Eに示される最大レイテンシに基づくと、輻輳に関連するレイテンシは、輻輳が発生しない場合のレイテンシより長い。非任意ネットワークにおいて、輻輳を発生させることなく送信を行うことが出来る。
タイプII送信におけるGEマージンを求める例
一例として、GE制御フレームは256ペイロードバイトを有し、500μ秒あたり32の制御フレームが送信され得る。制御フレームのそれぞれは、22バイトのオーバーヘッドを有し得、20バイトのIFGを有し得る。各制御フレームのトーカーからの送信に関連する遅延期間は、輻輳が発生しない場合において、2.384μ秒(または298バイト×8ビット×1ナノ秒)となる。プリアンブルまたはIFGなしで制御フレームのトーカーからの送信に関連する遅延期間は、輻輳が発生しない場合において、2.224μ秒(または278バイト×8ビット×1ナノ秒)である。トーカーから32のフレームを送信する時間は、輻輳がない場合において、76.288μ秒(または2.384μ秒×32)である。IFGがない場合、レイテンシは72.8μ秒である。このため、GEのレイテンシは、100μ秒以下の時間でトーカーから32のフレームを送信しなければならないAVB第2世代の基準を満たす。GEを用いてデータを送信するネットワークは、輻輳がある場合の100μ秒の基準を満たす。
制御フレームのうち1つを送信する時間(278バイト)である2.224μ秒にブリッジが制御フレームを処理する時間(例えば、2つの512ビットの時間に等しい1.024μ秒)を加算した時間に基づくと、1ホップのレイテンシは3.248μ秒となる。4回のブリッジホップでは、レイテンシは12.992μ秒となる。その結果、輻輳がない場合において、トーカーから制御フレームを送信する時間、および4つのブリッジが制御フレームを処理する時間を含む合計の送信時間は、15.216μ秒となる。このため、GEのレイテンシは、5回を超えるホップで100μ秒以下の時間で制御フレームを送信しなければならないAVB第2世代の基準を、84μ秒(残された時間)を超えるマージンを残して満たす。GEにおいて84μ秒のマージンは、周期的送信時間間隔内でデータの他のフレームを送信するのに用いることが出来る。この送信は干渉フレームなしで実行され得、トーカーのイグレスモジュールが受信し、トーカーから送信される制御フレームの調整された送信に基づく。調製された送信タイミングなしでは、マージンは短くなる。
AVB第2世代のトーカーの最大レイテンシは、トーカーのメディアアクセスコントローラの内部遅延期間tMAC、最大サイズの干渉フレームを送信する時間tMAX、クラスAデータを送信する時間t、および100メートルのケーブルを介してビットを送信する時間tcableを合計することにより計算される。それぞれが20バイトのプリアンブルおよびIFG、および1522バイトに等しいMAC遅延を有する8つの300バイトのクラスAフレームを送信することを想定すると、トーカーの最大レイテンシは、33.866μ秒であり、このうち、tMAC=0.512μ秒、tMAX=12.336μ秒、t=20.48μ秒、tcable=0.538μ秒である。33.866μ秒である最大レイテンシは、トーカーから最後のフレームの最後のビットを、トーカーのダウンストリームにあるネットワークデバイス、またはノード(例えばブリッジ、またはレシーバ)へ転送するまでの合計時間である。最大レイテンシは、シェーパーを用いずに計算される(つまり、IFGおよび制御フレームが周期的送信時間間隔に亘り割り振られない)。
タイプII送信のFEマージンを求める例
一例として、FF制御フレームは128バイトのデータを有する。8つの制御フレームが、例えば500μ秒である周期的送信時間間隔毎に送信され得る。制御フレームのそれぞれは、20バイトのプリアンブルおよび/またはIFG時間で送信され得る。よって制御フレームを送信する時間は、13.6μ秒(または170バイト×8ビット×10ナノ秒)となる。8つのフレームのレイテンシは、1360バイトの時間(または170バイト×8フレーム)となる。その結果、8つのフレームを送信する時間は108.8μ秒(または、13.6μ秒×8フレーム)となる。8つのフレームを送信する時間は、要求される100μ秒よりも長くなる。FEのAVB第2世代の送信において、レイテンシは5回のホップで100μ秒以下であることが求められる。このため、図5に示される(以下にさらに説明される)ようにフレームの調整された送信が行われる。この調整により、5回を超えるホップでのレイテンシは、いずれのホップでも輻輳がなかった場合において100μ秒となる。よってFEを用いた際に、周期的送信時間間隔内で輻輳を引き起こし得る他のデータフレームの送信に用いることが出来る残されたマージンはゼロである。1以上のビットの干渉により8つのフレームを送信する時間はさらに長くなる。その結果、FEを用いた8つのデータフレームの従来の送信は、AVB第2世代のレイテンシに関する基準を満たさない。
続く図4および5は、トーカー、4つのブリッジ、およびリスナーを含むネットワークに関するタイミング図を示す。トーカーからデータが送信され、4つのブリッジを通過し、リスナーにより受信される。ブリッジは格納および転送ブリッジである(つまり、ブロックシェーパーは用いられない)。図4は、8つのフレームA〜Hの並列受信(つまり同じ期間内での受信)に関連するレイテンシを示すタイミング図である100である。8つのフレームA〜Hは、周期的送信時間間隔104(例えば、125μ秒)内でトーカーにより受信され送信される。ネットワークのレイテンシ106は、8つのフレームA〜Hの最後のビットがトーカーから送信されてから、第8のフレームHの最後のビットがリスナーによって受信されるまでの時間として計測される。8つのフレームA〜Hは並列受信されるが、8つのフレームA〜Hは、トーカーおよびブリッジから順次送信される。トーカーからの送信は、トーカーイグレスと呼ぶ。ブリッジからの送信はブリッジイグレスと呼ぶ。
図5は、調整された送信におけるレイテンシを示すタイミング図である110である。調製された送信とは、連続するフレームのペアの間にIFGが含まれる所定の期間毎のフレームの順次の送信を指す。8つのフレームA〜Hは周期的送信時間間隔104(例えば125μ秒)内にトーカーによって受信および送信される。レイテンシ112は、第8のフレームHの最後のビットがトーカーから送信されてから、第8のフレームHの最後のフレームがリスナーにより受信されるまでの時間として計測されるので、調整された送信のレイテンシ112は、並列送信のレイテンシ106よりも短い。
128バイトの各フレームのレイテンシは、トーカーがフレームを送信する時間に4つのブリッジのそれぞれがフレームを受信し転送するまでの遅延時間を加算した時間に等しい。一例として、トーカーの送信時間は、150バイトの時間、または12.0μ秒(150バイト×8ビット×10ナノ秒)である。150バイトの時間は、128バイトにオーバーヘッドの22バイト(例えばプリアンブルおよびIFG)を加算したものである。各ブリッジがフレームを処理する時間は10.00μ秒(およそ2つの512ビットの時間)となる。トーカーからのフレームの送信、および1つのブリッジを介するフレームの処理に関連するレイテンシは、12.0μ秒に10.00μ秒を加算した22.00μ秒である。その結果、トーカーからのフレームの送信、および4つのブリッジを介するフレームの処理に関連するレイテンシは、100.00μ秒(12.0μ秒+4×22.00μ秒)であり、100μ秒の基準と等しい。輻輳がある場合、レイテンシはさらに長くなり、レイテンシに関する基準を満たさなくなる。時間非認識のシステムにおいて輻輳は通常の状態であるので、従来のFEシステムはレイテンシに関する基準を満たさない。以下に開示する実施例では、トーカーおよびブリッジの送信を制御し、100μ秒の基準より短いFEのレイテンシを実現する。
以下に説明する実施例は、非任意ネットワーク(以下、ネットワークと呼ぶ)を対象とする。ネットワークは例えば、自動車のネットワーク、製造施設のネットワーク、および/または組み立てラインネットワークであってもよい。ネットワークは、トーカー、ブリッジ、レシーバ、および時間トランスレータデバイスなどの様々なネットワークデバイスを含み得る。各ネットワークデバイスはトーカー、ブリッジ、レシーバ、および時間トランスレータデバイスのいずれかとしてラベル付けされているが、ネットワークデバイスのそれぞれが、トーカー、ブリッジ、レシーバ、および/または時間トランスレータデバイスとして動作し得る。ネットワークデバイス間のインタフェース、ケーブル、および/または媒体は、コントローラエリアネットワーク(CAN)、および/または、FlexRayインタフェースおよびバス、カテゴリー(CAT)5の通信ケーブル、または他の適したインタフェース、ケーブル、および/または媒体を含み得る。
データはネットワークを介し、エンド局と呼ぶ2つのネットワークデバイス間で送信される。データは、第1のネットワークデバイスまたは第1のエンド局(例えばトーカー)から最後のネットワークデバイスまたは最後のエンド局(例えばレシーバ)へ1つの方向へ送信されているものとして説明するが、データ送信はネットワーク内の何れの局によって開始されてもよく、ネットワーク内の何れの局によって受信されてもよい。データは異なる複数の対応する優先レベルを有し得、それら優先レベルに基づいて送信されてよい。
優先レベルは、例えば保護されたクラスAのAVBデータ(クラスAデータと呼ぶ)、保護されたクラスBのAVBデータ(クラスBデータ)、および保護されていない非AVBデータを含んでよい。保護されたデータは所定の帯域幅(つまり周期的送信時間間隔内の割り当てられた期間)、および所定の最大レイテンシ(または所定の最大レイテンシ)を有し得る。特定の優先レベルの保護データは、ネットワーク内の1つのネットワークデバイス毎に所定の最大レイテンシを有し、および/または、局間の合計の最大レイテンシを有し得る。
クラスAデータは、最も高い優先レベルを有し、最も短いレイテンシを有し得、第1の所定の帯域幅(つまり、周期的送信時間間隔内の第1の割り当て期間)および第1の所定の最大レイテンシが与えられる。クラスAデータは制御データを含み得る。一例として、自動車のネットワークへの適用例において、クラスAデータは、乗り物のエンジンを制御する、またはブレーキを動作させるのに用いられるデータであってよい。クラスBデータは、2番目に高い優先レベルを有し、クラスAデータより長いレイテンシを有し得、第2の所定の帯域幅、および/または所定の最大レイテンシを与えられる。一例として、自動車のネットワークの適用例において、クラスBデータはエンターテイメントシステムのデータを含んでよい。非AVBデータは最も低い優先レベルを有し、所定の帯域幅が与えられず、および/または所定の最大レイテンシが与えられない。ネットワークにおいて、データは、それぞれが複数の優先レベルのうち特定の優先レベルと関連付けられた所定のサイズのバーストとして送信されてよい。バーストは、周期的送信時間間隔の間の割り当てられた時間に起こり得る。一例として、クラスAデータはネットワークデバイスのイグレスモジュール(トーカー、時間トランスレータデバイス、および/またはブリッジ)から125μ秒の周期的送信時間間隔のそれぞれの間の40μ秒間、送信される、
図6は、クラスAに割り当てられた期間またはウィンドウ、および対応する周期的送信時間間隔を示すタイミング図である118である。クラスAデータはトーカーから、周期的送信時間間隔の割り当てられた時間ウィンドウ内で送信される。割り当てられた時間のそれぞれは、開始時間tを有する。図6において、2つの例示的な割り当てられた時間ウィンドウ120、122、および対応する周期的送信時間間隔124、126が示されている。各周期的送信時間間隔はサイクルとも呼ぶ。2つの周期的送信時間間隔124、126のサイクルは、nおよびn+1でラベル付けされている。
あくまで例としてではあるが、FEの基準は、500μ秒(周期的送信時間間隔)毎に128バイトの8つのフレームを送信することを含む。各周期的送信時間間隔内のクラスAデータに割り当てられた時間ウィンドウ(短いレイテンシデータとも呼ぶ)は108.8μ秒であり得る。8つのフレームに関しては、この時間には、128バイトのデータに関連付けられた時間および22バイトのオーバーヘッドデータ、および/または、プリアンブルデータおよびIFGに関連付けられた20バイトの時間が含まれ得る。バーストウィンドウが108.8μ秒であるので、他のデータ(短くないレイテンシデータとも呼ぶ)に与えられるのは391.2μ秒となる。
他の例として、GEの基準は、500μ秒毎に256バイトの32のフレームを送信することを含む。各周期的送信時間間隔内のクラスAデータに割り当てられた時間ウィンドウは76.288μ秒であり得る。32のフレームに関しては、この時間には、256バイトのデータに関連付けられた時間および22バイトのオーバーヘッドデータ、および/または、プリアンブルデータおよびIFGに関連付けられた20バイトの時間が含まれ得る。バーストウィンドウが76.288μ秒であるので、他のデータ(短くないレイテンシデータとも呼ぶ)に与えられるのは423.712μ秒となる。
AVB第2世代の基準を満たすには、クラスAデータは、FEおよびGEの両方に関し、100μ秒以下の遅延で5回以上のホップで送信されなければならない。本明細書ではFEおよびGEが開示されるが、本明細書で開示される実施例は、他の送信速度にも適用することが出来る。また主にEthernet(登録商標)ネットワークに関して実施例を説明するが、当該実施例は、他のネットワークにも適用することが出来る。
図7は、非任意ネットワーク150を示す。非任意ネットワーク150は、1以上のトーカー(3つのトーカー152、154、156が示されている)、1以上のブリッジ(2つのブリッジ158、160が示されている)、およびリスナー162を含む。トーカー152、154、156はリスナー162へデータを送信するので、ソースとも呼ぶ。リスナー162はトーカー152、154、156からデータを受信するので、レシーバとも呼ぶ。トーカー152、154、156およびブリッジ158、160はそれぞれ、イグレスモジュール164、166、168、170、172を含んでよい。ブリッジ158、160は正確なタイミングのプロトコル(PTP)を実現するIEEE802.1ASに準拠してよい。ブリッジ158、160は、エンド局(例えば、トーカー152、154、156およびリスナー162)間のネットワークデバイスのデイジーチェーンを形成する。イグレスモジュール164、166、168、170、172はそれぞれ、シェーパー174、176、178、180、182、および/またはタイミングモジュール184、186、188、190、192を含んでよい。
シェーパー174、176、178、180、182は、ブロックシェーパー、および/またはデブロックシェーパーを含んでよい。ブロックシェーパーは、時間非認識ブロックシェーパー、および時間認識ブロックシェーパー(TABS)を含んでよい。時間非認識ブロックシェーパー、時間認識ブロックシェーパー、およびデブロックシェーパーの例は、図10、11、および13〜15に示されている。時間認識ブロックシェーパーは、グランドマスタークロック200により生成されるグローバルクロック信号に基づいて動作する。グランドマスタークロック200は、ネットワーク150のネットワークデバイスの何れに位置していてもよい。グローバルクロック信号は、ネットワーク150のネットワークデバイスのいずれによって共有されていてもよい。一例として、グランドマスタークロック200はトーカー154内に示されているが、他のトーカー152、156のうちの1つ、ブリッジ158、160のうちの1つ、リスナー162、またはネットワーク150に接続された他のネットワークデバイスに位置してもよい。
時間認識ブロックシェーパーは優先度の高くないデータ(例えばクラスA以外のデータ、またはクラスBデータ、および/または非AVBデータ)の送信の開始を遅延させ得る。この遅延は、優先度が最も高いデータ(クラスAデータ)の送信タイミングに基づいて実行されてもよい。クラスAデータおよびクラスA以外のデータの送信タイミングは、優先タイミング信号を生成するタイミングモジュール184、186、188、190、192によって決められてよい。各優先タイミング信号は、対応するデータの送信が許可される、または許可されないウィンドウを示してよい。クラスA以外のデータ(またはクラスBデータ、および/または非保護データ)に関して生成された優先タイミング信号は、各周期的送信時間間隔内の割り当てられた期間に基づいて生成されてよい。優先度が最も高いデータ(クラスAデータ)は、それぞれの割り当てられた期間に送信される。これにより、クラスAバーストが他のデータ(優先度が最も高くはないデータ)の送信によって干渉されないようイグレスモジュールの出力をアイドル状態に確実にしておくことが出来る。
グランドマスタークロック200を含むネットワークデバイス、またはネットワーク150内の他のネットワークデバイスのうちの1つは、時間管理モジュール202を含んでよい。グランドマスタークロック200を有するネットワークデバイス、および/または時間管理モジュール202はマスターデバイスと呼んでもよい。グランドマスタークロック200、および/または時間管理モジュール202を有さないデバイスは、スレーブデバイスと呼んでもよい。時間管理モジュール202は、グランドマスタークロック200、および/または時間間隔モジュール204を含んでよい。時間間隔モジュール204は、周期的送信時間間隔(つまり周期的送信時間間隔の長さ)、および、各周期的送信時間間隔の開始時間tを設定してよい。グローバルクロック信号、周期的送信時間間隔、および周期的送信時間間隔の開始時間tは、管理情報ベース(MIB)モジュール、および/または単純な管理ネットワークプロトコル(SMNP)を用いて複数のネットワークデバイス間で共有されてもよい。
トーカー(例えばトーカー152)に最も近いブリッジ(例えばブリッジ158)は、時間トランスレータデバイスとして動作してもよい。時間認識ブロックシェーパーを有さないトーカーと、時間認識ブロックシェーパーを有するブリッジとの間には時間トランスレータデバイスが組み込まれてもよい。ブリッジは単一の入力ポートおよび単一の出力ポートを有してもよく、またはブリッジのポートのうち2つは、他のポートが無効にされている間、有効にされてもよい。ブリッジのイグレスモジュールがポートを有効化および無効化してもよい。時間トランスレータデバイスとして動作する際、ブリッジは単一の入力ポートが有効化され、単一の出力ポートが有効化される。また、時間トランスレータデバイスとして動作する際(時間トランスレータモードでの動作とも呼ぶ)、ブリッジは、クラスAフレームの時間認識デブロックを実行し、および/または非クラスAフレームの時間認識ブロックを実行し、クラスAフレーム、および/または非クラスAフレームの送信タイミングを調整する。このことは図10、および対応する時間トランスレータモードの動作を参照し以下により詳細に説明される。
リスナー162はブリッジ158、160を介してトーカー152、154、156からデータを受信する。リスナー162はリスナー制御モジュール210を含んでよい。リスナー制御モジュール210は、トーカー152、154、156から受信したデータに基づき、動作し、および/またはネットワークの1以上のセンサ、モータ、アクチュエータ、または他のデバイスをモニタリングする、または動作させる。
トーカー152、154、156、ブリッジ158、160、および/またはリスナー162は、有線、または無線接続、および/または媒体を介して互いに通信を行ってよい。無線接続、および/または媒体は、IEEE規格802.11、802.11a、802.11b、802.11g、802.11h、802.11n、802.16、および802.20などに準拠してもよい。
図8は、図7のネットワークのトーカー152、154、156のうちの(参照符号が220の)1つの例を示す。トーカー220は、ホスト制御モジュール222およびインタフェースモジュール224を含んでよい。ホスト制御モジュール222は、例えばプロセッサを含んでよく、インタフェースモジュール224へ異なる複数の優先レベルのデータを提供してよい。データは、クラスAデータ、クラスBデータ、および非AVBデータを含んでよい。インタフェースモジュール224は、例えばネットワークインタフェースカードまたは他の適したインタフェースであってよい。インタフェースモジュール224は、トーカーイングレスモジュール226およびトーカーイグレスモジュール228を含む。
トーカーイングレスモジュール226は、例えばトーカーパースモジュール230およびトーカーメモリ232を含んでよい。トーカーパースモジュール230はデータのパケット234をホスト制御モジュール222から受信し、パケット234をパースし、パケット234のフレームに与えられたヘッダに基づき記述子236を生成してよい。各記述子236は、対応するパケットおよび/またはフレームのサイズ、周期的送信時間間隔の開始時間、周期的送信時間間隔の長さ、並びに/或いはソース、および/または宛先のアドレスを含んでよい。受信される各パケットは、所定の数のデータフレームを含んでよい。パケット234および記述子236は、トーカーメモリ232に格納されてもよく、トーカーイグレスモジュール228への記述子信号に与えられてもよい。
トーカーイグレスモジュール228は、トーカーシェーパー240(例えば、図7のトーカーシェーパー174、176、178)、およびトーカータイミングモジュール242(例えば、図7のトーカータイミングモジュール184、186、188のうちの1つ)を含む。トーカーシェーパー240は、トーカータイミングモジュール242からの優先タイミング信号に基づき動作する。トーカーイングレスモジュール226および/またはトーカーイグレスモジュール228はメディアアクセスコントローラ(MAC)を含んでよい。
図9は、図7のブリッジ158、160のうちの(参照符号が250の)1つの例を示す。ブリッジ250は、入力ポート1〜N、ブリッジイングレスモジュール252、ブリッジイグレスモジュール254、および出力ポート1〜Mを含む。ポートN、Mはそれぞれ入力ポートおよび出力ポートとしてラベル付けされているが、ポートN、Mのそれぞれは、入力ポートおよび/または出力ポートをして動作してもよい。また、ポートN、Mのそれぞれは、ブリッジイングレスモジュール252、および/またはブリッジイグレスモジュール254へ接続されてもよい。加えて、ブリッジ250は、任意の数の入力ポートおよび出力ポートを含んでよい。
ブリッジイングレスモジュール252は、ブリッジパースモジュール256およびブリッジメモリ258を含む。ブリッジパースモジュール256は、トーカー、ブリッジ、および/または時間トランスレータデバイスからデータを受信してもよい。ブリッジパースモジュール256は、受信したパケット260をパースし、パケット260のフレームに与えられたヘッダに基づき記述子262を生成してもよい。各記述子262は、対応するパケットおよび/またはフレームのサイズ、周期的送信時間間隔の開始時間、周期的送信時間間隔の長さ、並びに/或いはソース、および/または宛先のアドレスを含んでよい。受信される各パケットは、所定の数のデータフレームを含んでよい。パケット260および記述子262は、ブリッジメモリ258に格納されてもよく、ブリッジイグレスモジュール254への記述子信号に与えられてもよい。ブリッジイグレスモジュール254は、ブリッジシェーパー264(例えば、図7のブリッジシェーパー180、182)、および、ブリッジタイミングモジュール266(例えば、図7のブリッジタイミングモジュール190、192のうちの1つ)を含む。ブリッジシェーパー264は、ブリッジタイミングモジュール266からの優先タイミング信号に基づいて動作する。ブリッジイングレスモジュール252および/またはブリッジイグレスモジュール254はMACを含んでよい。
図10は、ネットワークデバイス270を示す。ネットワークデバイス270は、イングレスモジュール272を有するデータブロックシステム271を含み、かつ、イグレスネットワーク276を有するイグレスモジュール274を含む。図7のネットワーク150のトーカー152、154、156およびブリッジ158、160のそれぞれは、ネットワークデバイス270と置き換えられてもよく、および/または、イングレスモジュール272および/またはイグレスモジュール274を含んでもよい。ネットワークデバイス270は、トーカー、ブリッジ、および時間トランスレータデバイスとして動作してもよいので、トーカーモード、ブリッジモード、および時間トランスレータモードを含む。
イングレスモジュール272は、トーカー、ブリッジ、および/または時間トランスレータデバイスのホスト制御モジュールからデータフレーム(以下、フレームとも呼ぶ)を受信する。イングレスモジュール272はフレームをパースし、イグレスモジュール274の各キューへフレームを提供する。イグレスネットワーク276は、単一の出力ポート(例えば図9の出力ポートMのうちの1つ)と関連付けられてもよい。イグレスモジュール274は、他の出力ポート用に同様のイグレスネットワークを含んでもよい。イグレスネットワーク276は、それぞれ優先レベルを有するキュー1−Xを含む。イグレスネットワーク276は、任意の数の、各優先レベルのキューを含んでよい。一例として、イグレスモジュール274は、クラスAデータを受信する1以上のクラスAキュー278、クラスBデータを受信する1以上のクラスBキュー280、および非AVBデータを受信する1以上の非AVBキュー282を含む。キュー1−Xのそれぞれは、レジスタとして動作してよく、各優先レベルのフレームを格納してもよい。
またイグレスネットワーク276は、タイミングモジュール290、時間認識デブロックシェーパー292(図10にデブロックシェーパーfとして示すTADS/以下、デブロックシェーパーとも呼ぶ)、時間非認識ブロックシェーパー294(図10にブロックシェーパーfとして示す)、時間認識ブロックシェーパー296(図10にブロックシェーパーfとして示すTABS)、選択モジュール298、起動モジュール300、および第1マルチプレクサ302を含む。時間非認識ブロックシェーパー294および時間認識ブロックシェーパー296は、個別にブロックシェーパーと呼ぶ、および/または総じてブロックシェーパーと呼ぶ。デブロックシェーパー292およびブロックシェーパー294、296はそれぞれシェーパーモジュールとも呼ぶ。
タイミングモジュール290は、デブロックシェーパー292および時間認識ブロックシェーパー296のそれぞれに関し、優先タイミング信号を生成する。各優先タイミング信号は、デブロックシェーパー292および時間認識ブロックシェーパー296がデータの通過を許可するか、または選択モジュール298がデータを選択するのをブロックする時間ウィンドウを設定する。デブロックシェーパー292に関して生成された優先タイミング信号は、デブロックシェーパー292がクラスAフレームの第1マルチプレクサ302への通過をブロックしない時間を示してもよい。時間認識ブロックシェーパー296に関して生成された優先タイミング信号は、時間認識ブロックシェーパー296がクラスBキューおよび非AVBキューに含まれるデータをブロックする時間を示してもよい。時間認識ブロックシェーパー296はそれぞれ同じ優先タイミング信号を受信してもよく、または異なる優先タイミング信号を受信してもよい。
ネットワークデバイス270は、任意の数のデブロックシェーパーおよびブロックシェーパーを含んでもよい。デブロックシェーパーおよびブロックシェーパーの数は、クラスAキュー、クラスBキュー、および非AVBキューの数に応じてもよい。クラスAキューはそれぞれ対応するデブロックシェーパーを有してもよい。デブロックシェーパーおよび対応する送信パスによって、優先度の低い他の送信パスの干渉が防がれるので、レイテンシのレベルは最も低くなる。
デブロックシェーパー292を用いて、適切な時間に例えばトーカーおよび/または時間トランスレータデバイスからデータが確実に送られるようにすることが出来る。トーカーモードで動作する際、ネットワークデバイス270はクラスAバーストの前にクラスAキュー278のクラスAフレームをアップロードする。クラスAバーストは、クラスAキュー278からのクラスAフレームを転送し、周期的送信時間間隔内の所定の期間、ネットワークデバイス270からクラスAフレームを送信することを含む。デブロックシェーパー292は、クラスAバーストがいつ開始するのかを制御し、さらに、クラスAバーストの間、クラスAフレームの送信タイミングを制御する。クラスAバーストの間、時間認識ブロックシェーパー296は非クラスAフレーム(例えばクラスBフレームまたは非AVBデータ)の送信をブロックし、非クラスAキューをアイドル状態とする。
クラスAキュー278およびクラスBキュー280はそれぞれ、対応する時間非認識ブロックシェーパー(例えば、時間非認識ブロックシェーパー294のうちの1つ)を有してよい。クラスBキュー280および非AVBキュー282はそれぞれ、対応する時間認識ブロックシェーパー(例えば、時間認識ブロックシェーパー296のうちの1つ)を有してよい。時間非認識ブロックシェーパー294はデブロックシェーパー292および時間認識ブロックシェーパー296のそれぞれと直列で接続される。時間非認識ブロックシェーパー294を用いて、フレーム送信のペースを保ってもよく、IEEE802.1Qavに準拠してもよい。時間認識ブロックシェーパー296は、クラスAフレームの送信期間、選択モジュール298がクラスBキュー280および非AVBキュー282に含まれるフレームを選択するのをブロックする。これにより、クラスAフレームの他のフレームとの干渉を防ぐことが出来、クラスAフレームのレイテンシを最小化出来る。
時間非認識ブロックシェーパー294は選択モジュール298に対して、デブロックシェーパー292および時間認識ブロックシェーパー296と並列動作してよい。例えば、クラスAデータは、デブロックシェーパー292、および時間非認識ブロックシェーパー294のうちの対応する1つに基づき、クラスAキュー278から第1マルチプレクサ302へと通過してもよい。クラスBデータは、時間非認識ブロックシェーパー294および時間認識ブロックシェーパー296のうちそれぞれの対応する1つに基づき、クラスBキュー280から第1マルチプレクサ302へ通過してもよい。
キュー1〜X、デブロックシェーパー292、およびブロックシェーパー294、296のそれぞれは関連付けられた送信パスを有する。各送信パスは、キュー1〜Xのうち対応する1つを含み、デブロックシェーパー292およびブロックシェーパー294、296のうち1以上を含み得る。デブロックシェーパー292およびブロックシェーパー294、296のそれぞれは、対応するデブロック信号およびブロック信号を生成する。デブロック信号およびブロック信号は、選択モジュール298により受信され、あるフレームが対応するキューにあり、第1マルチプレクサ302へ転送される準備が出来る時間を示す。
フレームはキューにあってもよく、対応するデブロック信号またはブロック信号は、キューにフレームがないこと、および/またはフレームが選択される準備が出来ていないことを示してもよい。デブロック信号またはブロック信号は、対応する優先タイミング信号に基づいて、フレームがないこと、および/またはフレームが送信される準備が出来ていないことを示してもよい。これにより、不適切な時間におけるフレーム送信がブロックされる。一例として、クラスBフレームがクラスBキュー280にあるとき、時間認識ブロックシェーパー296のうち1つが、ブロック信号を生成してもよい。ブロック信号は、クラスBフレームがクラスBキュー280にないことを示し、これにより例えばクラスAフレームの送信期間の前に、および/または間に、選択モジュール298がクラスBフレームを選択するのをブロックしてもよい。これにより、クラスAフレームの送信干渉を防ぐことが出来る。
選択モジュール298は、第1マルチプレクサ302により受信される選択信号を生成し、第1マルチプレクサ302は当該選択信号に基づきキュー1〜Xを選択する。選択モジュール298はストリクトスタイルセレクタであってもよい。ストリクトスタイルセレクタは、次に高い優先レベルのキューからのフレームの送信が許可される前に、複数のフレームを有する最も優先レベルの高いキューに含まれる全てのフレームの送信を許可する。このことは、ストリクトセレクタがフレームがキューにあるかどうかを判断することを含め、キューの状態を直接的にモニタリングしている時に起こる。
以下の実施例において、キュー1〜Xの状態を選択モジュール298が直接モニタリングする代わりに、選択モジュール298は、デブロックシェーパー292および/またはブロックシェーパー294、296から受信するデブロック信号またはブロック信号をモニタリングする。選択モジュール298はその後、デブロック信号またはブロック信号に基づいて、キューからのフレームの通過を許可する選択信号を生成する。デブロックシェーパー292、およびブロックシェーパー294、296は、選択モジュール298がキュー1〜Xにあるフレームを直接的に「見る」ことを防ぐ。
起動モジュール300は、ネットワークデバイス270の動作モードに基づきデブロックシェーパー292およびブロックシェーパー294、296を有効化および無効化する。例えば、トーカーモードおよび/または時間トランスレータモードで動作している際、デブロックシェーパー292が有効化されてもよい。クラスAフレームのレイテンシを短くするべく時間非認識ブロックシェーパー294を無効化してもよい。時間認識ブロックシェーパー296は有効化されてもよい。一実施例において、時間認識ブロックシェーパー296が無効化される。他の例において、ブリッジモードで動作している際、デブロックシェーパー292が無効化され、ブロックシェーパー294、296が有効化されてもよい。
他の例として、ネットワークデバイス270がプロオーディオ環境で用いられている場合、時間非認識ブロックシェーパー294が有効化され、デブロックシェーパー292が無効化されてもよい。さらに他の例において、自動車のネットワーク環境においてクラスAフレームが送信される際、時間非認識ブロックシェーパー294が無効化され、デブロックシェーパー292が有効化されてもよい。これにより、クラスAフレームのレイテンシが短くなり、さらに、所定の帯域幅に関する基準、および最大フレームのレイテンシに関する基準を満たすことが出来る。
時間トランスレータモードで動作しているとき、ネットワークデバイス270はデブロックを行うべくトーカーの出力に接続されてもよい。ネットワークデバイス270は、時間トランスレータデバイスとして構成されてもよく、時間非認識トーカーの出力において組み込まれ、デブロックを行い、クラスAフレームの送信タイミングを調整してもよい。ネットワークデバイス270は、単一の入力ポートおよび単一の出力ポートを有効化し、他のポートは無効化してもよい。このことは、トーカーがデブロックシェーパー、および/または時間認識ブロックシェーパーを含まない時に、クラスAフレームが適切な時間に確実に送信されるように実行されてもよい。適切な時間のクラスAフレームの送信とは、周期的送信時間間隔の所定の開始時間tでのクラスAフレームの送信の開始、および周期的送信時間間隔の所定のクラスAバーストウィンドウの間の適切な時間のクラスAフレームの送信を含む。
またイグレスモジュール274は、カットスルーモードで動作してもよく、カットスルーモジュール310および第2マルチプレクサ312を含んでもよい。カットスルーモジュール310および第2マルチプレクサ312を用いて、最も優先度の高いフレーム(例えば、クラスAフレーム)のレイテンシをさらに最小化する。カットスルーモジュール310は、(参照番号が313の)グローバルクロック信号を受信し、当該信号に基づき動作することにより時間を認識して動作してもよい。カットスルーモジュール310は時間認識カットスルーシェーパー(TACS)とも呼ぶ。
カットスルーモジュール310は、ネットワークデバイス270の出力314(例えば出力ポート)でのアクティビティをモニタリングし、クラスAフレームがイングレスモジュール272から、クラスAキュー278、対応するデブロックシェーパー292、および/または時間非認識ブロックシェーパー294、および第1マルチプレクサ302をバイパスして、第2マルチプレクサ312へ通過することを許可してもよい。出力314でのアクティビティは示されたように直接モニタリングされてもよく、または、カットスルーモジュール310は選択モジュール298および/またはイグレスモジュール274により生成されるラインアクティビティ信号を受信してもよい。ラインアクティビティ信号は、出力においてデータ送信アクティビティがあるかどうかを示してもよい。
カットスルーモジュール310は、第1マルチプレクサ302の出力315、およびイングレスモジュール272のデータ出力316のうち1つを選択すべく第2選択信号を生成する。第2マルチプレクサ312は第2選択信号を受信し、第2選択信号に基づき出力315または出力316からクラスAフレームを転送する。出力316からのクラスAフレームの送信は、タイプIIIデータ送信とも呼ぶ。
カットスルーモジュール310が行うバイパスは、イングレスモジュール272が、送信されるパケットのクラスAフレームを受信する前、および/または、クラスAフレームの全てのビットを受信する前に起こってもよい。クラスAデータの所定の数のバイト(例えば64バイト)がイングレスモジュールにより受信された後、当該バイトは、イングレスモジュール272から第2マルチプレクサ312へ渡されてもよい。所定の数のバイトは、例えばヘッダデータと関連付けられてもよい。ヘッダデータは、ソースおよびターゲットのアドレス、フレームサイズ、データタイプ、並びに/或いは、他のパケットおよび/またはフレームの情報を含んでもよい。
クラスAバーストの間、時間認識ブロックシェーパー296はクラスA以外のデータフレームをブロックするので、出力314はアイドル状態にあり、クラスAフレームは、第2マルチプレクサ312を介して直接出力314に渡され得る。これにより、クラスAキュー278、および対応するシェーパー292、294へのフレームの格納に関連するレイテンシをなくすことが出来る。
カットスルーモジュール310が有効化され、クラスAフレームのバイパスに用いられた場合、ブリッジにおけるクラスAフレームの最大レイテンシは、ブリッジの遅延時間tBridgeにカットスルーポイント(例えば第2マルチプレクサ)に関連する遅延時間tCutを加算し、ケーブル最大送信時間tCableを加算した時間に等しい。一例として、2つのスロットタイムのブリッジの遅延(または1.024μ秒)、および、1スロットタイムのカットスルーの遅延時間(0.512μ秒)により、最大ケーブル送信時間tCableが0.538μ秒であれば最大レイテンシは2.074μ秒となる。このレイテンシは送信されているクラスAフレームのサイズに関わらず定まる。なぜならクラスAのビットは、全てのクラスAのビットがブリッジによって受信される前、および/またはクラスAのビットがイングレスモジュール272から出力される際にブリッジから送信されるからである。タイプIII送信に関連するレイテンシは、タイプI送信(例えば、13.898μ秒)およびタイプII送信(例えば、4.122μ秒)に関連するレイテンシよりも短い。
カットスルーモジュール310は、イングレスモジュール272に対し、クラスAフレームをクラスAキューへ提供する代わりに、クラスAフレームを第2マルチプレクサ312へバイパスするようシグナリングしてもよい。カットスルーモジュール310は、示されるようにイグレスモジュール274に位置付けられる代わりに、イングレスモジュール272に組み込まれてもよい。
図11は、時間非認識ブロックシェーパー320を示す。時間非認識ブロックシェーパー320は図10の時間非認識ブロックシェーパー294のいずれか1つに置き換わってもよい。時間非認識ブロックシェーパー320はグローバルクロック信号に基づいて動作しなくてもよい。時間非認識ブロックシェーパー320はローカルクロック321に基づいて動作してもよい。ローカルクロック321は、グローバルクロック信号とは独立したクロック信号を生成してもよい。時間非認識ブロックシェーパー320は送信の前にデータフレームを割り振り、選択モジュール298が保護データを有するキュー278、280に含まれるフレームを「見る」ことを防ぐ。このことは、連続的なデータフレームの各ペアの間にIFGを提供することを含む。
時間非認識ブロックシェーパー320は、第1カウンタ322およびキューモニタリグンモジュール324を含む。第1カウンタ322はモニタリングされているキュー326(例えば、キュー278、280のうちの1つ)のクレジットをカウントする。キューモニタリグンモジュール324は、キュー326にフレームがあるかどうかをモニタリングし、フレームがキュー326にあり、キュー326から第1マルチプレクサ302へ通過することを許可されていない場合には第1カウンタ322の値を増加させる。キューモニタリグンモジュール324は、フレームが第1マルチプレクサ302に渡される場合には、第1カウンタ322の値を減少させる。第1カウンタ322は、キュー326と関連付けられた第1カウント値の最大値である上限を有し得る。また第1カウンタ322は、キュー326と関連付けられた第1カウント値の最小値である下限を有し得る。
図12は、時間非認識ブロックシェーパー320のカウント値を経時的に示すグラフ330である。フレームがキューから第1マルチプレクサ302へ通過することを許可されていない場合の第1カウント値の増加は、第1線分332によって表されている。干渉により(つまり、1以上のキュー1〜Xに含まれるフレームが送信されていることにより)フレームは通過を許可されないかもしれない。その後、第1カウント値は上限334に達し、現在のカウント値が維持される。フレームはその後、第1マルチプレクサ302へ通過することを許可され、第1の垂直の線分336により表されるように、第1カウント値が減少させられる。その後、フレームがキュー326から第1マルチプレクサ302へ渡されない場合、線分338により表されるように第1カウント値は再び増加させられる。
キューにフレームが含まれなくなると第1カウント値は線分340により表されるようにゼロにリセットされてよい。第1カウント値がゼロになった後にフレームがキュー326に到達し送信され、干渉がない場合、第1カウント値が下限342まで減少されてもよい。送信すべきフレームがキューにない場合、線分344に表されるようにカウント値はゼロへ増加させられてもよい。上述した増加および減少は、ローカルクロック321、所定の時間間隔、および/または(参照符号が346の)ライン状況信号に基づいてもよい。
ライン状況信号346は、データがイグレスモジュール274から送信されているかどうかを示してもよい。ライン状況信号346は、第1マルチプレクサ302の出力、または第2マルチプレクサ312の出力を示してもよく、並びに/或いは、選択モジュール298および/またはイグレスモジュール274により生成されてもよい。
キューモニタリグンモジュール324は第1カウンタ322の第1カウント値に基づき、第1ブロック信号350を生成する。第1ブロック信号350は、イングレスモジュール272からの記述子信号352に基づいて生成されてもよい。記述子信号352は、キュー326にフレームがあるときを示してもよい。データは、キュー326から、キューモニタリグンモジュール324を介し、(参照符号が354の)対応するデブロックシェーパーまたは時間認識ブロックシェーパーへ、そして第1マルチプレクサ302へと渡される。
図10〜13にはデブロックシェーパー360が示されている。デブロックシェーパー360は、図10のネットワークデバイス270のデブロックシェーパー292または他のデブロックシェーパーに置き換わってもよい。デブロックシェーパー360は、クラスAデータがキュー362から第1マルチプレクサ302へ転送されること、および/または、イグレスモジュール274およびネットワークデバイス270から送信されることが許可される時間ウィンドウまで、対応する優先レベルの最も高いキュー362(例えばキュー278)のデータをブロックする。デブロックシェーパー360は、ロジックモジュール364およびデータパスモジュール366を含む。ロジックモジュール364は、第1優先タイミング信号368(最優先ゴー信号)および第1フレーム信号PKT1を受信する。第1優先タイミング信号368は、クラスAフレームの送信がいつ許可されるのかを示してもよい。第1フレーム信号PKT1はデータパスモジュール366により生成されてもよく、キュー362にフレームがあるときを示してもよい。
ロジックモジュール364は、示されるようにNANDゲートおよび/または他の適したロジックデバイスを含んでもよい。NANDゲートは、第1優先タイミング信号368および第1フレーム信号PKT1を受信してもよく、第1パス信号PASS1を生成してもよい。第1パス信号PASS1は、クラスAフレームがいつ、キュー362から第1マルチプレクサ302へ通過することを許可されるのかを示してもよい。データパスモジュール366は第1パス信号PASS1に基づいてデブロック信号370を生成し、記述子信号352および/またはライン状況信号346に基づいてデブロック信号370を生成してもよい。
図10〜14には、時間認識ブロックシェーパー380が示されている。時間認識ブロックシェーパー380は、図10の時間認識ブロックシェーパー296のうちいずれか1つに置き換わってもよい。時間認識ブロックシェーパー380は、クラスAデータが第1マルチプレクサ302へ転送される、および/またはネットワークデバイス270から送信される間、対応するキュー382(例えばキュー280、282のうち1つ)に含まれるデータをブロックする。時間認識ブロックシェーパー380は、ロジックモジュール384およびデータパスモジュール386を含む。
ロジックモジュール384は、第2優先タイミング信号388(ブロック最低優先信号とも呼ぶ)および第2フレーム信号PK2を受信する。第2優先タイミング信号388は、クラスBフレームおよび/または非AVBフレームの送信がいつ許可されないかを示す。第2フレーム信号PKT2はデータパスモジュール386により生成されてもよく、キュー382にいつフレームがあるのかを示してもよい。
ロジックモジュール384は、非反転入力390および反転入力392で示されるNANDゲート、および/または他の適したロジックデバイスを含んでよい。非反転入力は、第2フレーム信号PKT2を受信してもよい。反転入力392は、第2優先タイミング信号388を受信してもよい。ロジックモジュール384は第2パス信号PASS2を生成する。第2パス信号PASS2は、クラスBフレームおよび/または非AVBフレームがいつキュー382から第1マルチプレクサ302へと通過することを許可されるのかを示す。データパスモジュール386は、第2パス信号PASS2に基づき第2ブロック信号394を生成し、記述子信号352および/またはライン状況信号346に基づき第2ブロック信号394を生成してもよい。
図10〜15には、フレームサイズベースブロックシェーパー400が示されている。フレームサイズベースブロックシェーパー400は、図10の時間認識ブロックシェーパー296のうちいずれか1つに置き換わってもよい。フレームサイズベースブロックシェーパー400はロジックモジュール384を含み、かつ、第2カウンタ404を有するデータパスモジュール402を含む。ロジックモジュールは、第2優先タイミング信号388および第2フレーム信号PKT2を受信し、第2パス信号PASS2を生成する。データパスモジュールはキュー382にフレームがあるかどうかに基づいて、第2フレーム信号PKT2を生成する。データパスモジュール402は、第2パス信号PASS2、第2カウンタ404の第2カウント値、記述子信号352、グローバルクロック信号313、および/またはライン状況信号346に基づいて第2ブロック信号406を生成する。
図10〜15において、データパスモジュール402は、ヘッドオブラインフレームのサイズ、および次のクラスAバーストまでに残っている時間に基づき、ヘッドオブラインフレームが第1マルチプレクサ302へ通過することを許可する。ヘッドオブラインフレームとは、キューから第1マルチプレクサ302へ転送される次のフレームを指す。
非クラスAキュー280、282のうちのいずれか1つに含まれるデータは、次のクラスAバーストウィンドウの前にブロックされ得る。例えば、非クラスAキューは、次のクラスAバーストウィンドウの前に送信される準備が出来ているヘッドオブラインフレーム(例えば1522バイト)を有し得る。クラスAバーストウィンドウの開始の前にヘッドオブラインフレームを完全に送信出来ない場合、ブロックシェーパーはヘッドオブラインフレームの送信をブロックしてもよい(遅延させてもよい)。(図15の)非クラスAキューに含まれるフレームよりも少ないバイト(例えば64バイト)を有する非クラスAキューのうちの他の1つに含まれるフレームは、より小さなフレームは、次のクラスAバーストウィンドウの前に送信され得るので、マルチプレクサへ通過することが許可されてもよい。
第2カウンタ404は、所定の最大フレームサイズ(例えば1522)に等しいカウント値からカウントを開始してもよく、ブロックウィンドウの開始において減少させられてもよい。キュー382に含まれるヘッドオブラインフレームのバイトの数が第2カウント値よりも大きい場合、第2カウンタ404を用いて、対応するキュー382がフレームを渡すことをゲートオフしてもよい。クラスAバーストウィンドウの前に完全に送信され得るヘッドオブラインフレームを有する非クラスAキューは、ブロックされなくてもよい。このことは、図16A〜16E、および17を参照しさらに説明する。
図16A〜16Eには、ブリッジ410を介したフレームサイズベースのデータ伝送が示されている。ブリッジ410は図7のブリッジ158、160のうちの1つであってもよい。ブリッジ410は、メモリ414を有するイングレスモジュール412、クラスAキュー416、クラスBキュー417、第1非AVBキュー418、第2非AVBキュー419(例えば図10のキュー1〜X)、マルチプレクサ420(図10の第1マルチプレクサ302)、および出力ポート422を含む。第1非AVBキュー418は、管理データを格納してよく、第2非AVBキュー419はレガシーデータを格納してよい。ブリッジ410は図10のネットワークデバイス270と同様に構成されてもよい。図16A〜16Eには示されていないが、ブリッジ410は、キュー416〜419のうちのそれぞれとマルチプレクサ420との間にフレームサイズベースブロックシェーパー(例えば図15のフレームサイズベースブロックシェーパー400)を含んでもよい。
図16Aにおいて、時間tから例えば16μ秒を減算した時間における、またはクラスAバースト期間の16μ秒前のブリッジ410の状態が示されている。時間tとは、クラスAバースト期間の開始時間を指す。クラスBフレーム430は、クラスBキュー417に格納されている。管理フレームn、mは、第1非AVBキュー418に格納されている。レガシーフレーム431は、第2非AVBキュー419に格納されている。クラスBフレーム430は、時間非認識ブロックシェーパーによってゲートされ(またはシェーピングされ)、時間tの16μ秒前において送信されるのが防がれる。その結果、管理フレームnのブリッジ410からの送信が開始され得る。
図16Bにおいて、時間tの例えば3.664μ秒前のブリッジ410の状態が示されいる。この時間において、管理フレームnのブリッジ410からの送信は完了している。3.664μ秒は、16μ秒から、管理フレームnが送信される12.336μ秒を減算した時間である。この時間において、クラスBフレームは、送信される準備が出来ており、2つのフレームを送信するクレジットを有し得る。クラスBデータの300バイトのフレームを送信する時間は、2.56μ秒(プリアンブルおよび/またはIFGの時間である20バイトを含む)である。時間tまでには3.664μ秒あるので、1つのフレームの送信が許可される。送信の準備が出来ているクラスBの他のフレームはブロックされる。
図16Cにおいて、時間tの例えば1.104μ秒前のブリッジ410の状態が示されている。時間tまでには1.104μ秒あるので、クラスBフレーム430および第2の非AVBフレームmがブロックされる。レガシーフレーム431は例えば、64バイトの長さである。プリアンブルおよびIFGの時間である20バイトを含んだレガシーフレーム431のうち1つを送信する時間は、0.672μ秒であり、1.104μ秒よりも短い。このため、フレーム431のうちの1つは、マルチプレクサ420へ通過することが許可される。
図16Dにおいて、時間tの例えば0.432μ秒前のブリッジ410の状態が示されている。tまでの時間は0.672μ秒よりも短いので残りのフレームはブロックされる。このことにより、出力ポート422はtにおいてアイドル状態となる。図16Eにおいて、クラスAフレームがブリッジ410に到達し、クラスAキュー416へ格納されること、および、他のキュー417〜419に格納されるフレームによる干渉なしでブリッジ410へ送信されることが許可される。時間認識ブロックシェーパーは、時間tから所定の期間が経つとクラスBキュー417および非AVBキュー418〜419をリリースしてもよい(つまり、ブロックを解除してもよい)。データがクラスAキュー416にあり、出力ポート422から送信されている際、選択モジュール298がキュー417〜419の選択を防ぐので、キュー417〜419がリリースされ得る。このため、クラスAフレームのバーストは、クラスAキュー416に格納されているクラスAフレームなくなるまで継続される。キュー417〜419に含まれるフレームは、クラスAキュー416が空になると送信され得る。
時間t(クラスAバーストの開始)において出力ポート422がアイドル状態となるよう非クラスAキュー417〜419のうちのそれぞれに対し時間認識ブロックシェーパーを用い、非クラスAキュー417〜419に含まれるフレームのヘッドオブラインサイズを考慮することにより、時間の効率的な利用が実現される。時間tの前に送信され得る非クラスAフレームは、優先度に基づき送信される。
図17は、クラスAに割り当てられた期間におけるブロックウィンドウタイミングを示すタイミング図である450を示す。クラスAデータとの干渉を防ぐべく、ブロックウィンドウを用いて、定められたサイズを有するフレームの送信を防ぎ得る。サイズは所定のものであるか、上述したように記述子信号(例えば記述子信号352)に含まれる記述子に基づき決められる。上述した優先タイミング信号、および/またはキューの選択は、ブロックウィンドウ、およびライン状況信号に基づいて実行され得る。
図17において、8つのデータブロック1〜8の送信時間に関して2つのブロックウィンドウ452、454が示されている。第1ブロックウィンドウ452は、最小サイズの干渉フレーム(例えば256バイト)と関連付けられている。第2ブロックウィンドウ454は、最大サイズの干渉フレーム(例えば1500バイト)と関連付けられている。第1ブロックウィンドウ452は、最小サイズフレームを送信する時間MINT(例えば23.84μ秒)、およびクラスAフレームのうちの少なくとも7つ、および8番目のクラスAフレームの一部を送信する時間を含む。第2ブロックウィンドウ454は、最大サイズフレームを送信する時間MAXT(例えば123.36μ秒)、およびクラスAフレームのうちの少なくとも7つ(またはクラスAフレームの数−1)、および8番目(または最後)のクラスAフレームの一部を送信する時間を含む。クラスA以外のデータが通過を許可される(ブロックが解除される)までの遅延、および各キューから図10の第1マルチプレクサ302へクラスA以外のデータが実際に転送される時間を最小化するべく、ブロックウィンドウ452、454は、クラスAバースト期間の最後までは続かない。
各ブロックウィンドウは、対応するマージン期間(例えばMarginMin、MarginMax)を含む。最小サイズフレーム以下のサイズの非クラスAフレームは、マージン期間MarginMin(例えば367.36μ秒)に送信され得る。最大サイズフレーム以下のサイズの非クラスAフレームは、マージン期間MarginMax(例えば267.84μ秒)に送信され得る。これらのマージンは、他のトラフィックまたは最大サイズ(例えば1522バイト)のフレームを含む非クラスAフレームの送信に関する判断を行う際に用い得る境界を定める。
図10のネットワークデバイス270は、様々な方法を用いて動作し得る。例示的な方法は、図18Aおよび図18Bの方法である。図18Aおよび18Bは、データブロック方法を示す。以下のタスクは主に図10〜16Eの実施例に関連して説明されるが、それらタスクは、本開示の他の実施例に適用すべく容易に修正が可能である。また、以下のタスクは特定の数のデブロックシェーパー、時間非認識ブロックシェーパー、時間認識ブロックシェーパー、およびフレームに関して説明されるが、それらの数がそれぞれ異なるものであっても当該方法を容易に修正することが出来る。タスクは繰り返して実行され得る。方法は500から始まる。
502において、イングレスモジュール272がフレームを受信する。フレームは、ホスト制御モジュール、トーカー、ブリッジ、および/または時間トランスレータデバイスから受信してもよい。504において、イングレスモジュール272はフレームをパースする。イングレスモジュール272はフレームがクラスAフレームかどうかを判断してもよい。フレームがクラスAフレームである場合、506のタスクが実行されてもよく、そうでなければ534のタスクが実行される。
506において、イグレスモジュール274は、カットスルーモードが有効化されているかどうかを判断してよい。カットスルーモードが有効化されている場合、508のタスクが実行され、そうでなければ516のタスクが実行される。508において、クラスAキュー278、時間非認識ブロックシェーパー294、デブロックシェーパー292、および第1マルチプレクサ302がバイパスされ、第1マルチプレクサ302からではなく、イングレスモジュール272からフレームを選択すべく第2選択信号を生成する。クラスAフレームは第2マルチプレクサ312へ転送される。510において、クラスAフレームが、イグレスモジュール274および/またはネットワークデバイス270から転送される。方法は512で終了する。
516において、イングレスモジュール272はクラスAフレームをクラスAキュー278へパースする。デブロックシェーパー360のデータパスモジュール(例えばデータパスモジュール366)、イングレスモジュール272、および/またはイグレスモジュール274が第1フレーム信号(例えばPKT1)を生成してもよい。第1フレーム信号は、クラスAフレームがクラスAキューにあることを示す。
518において、イグレスモジュール274は、時間非認識ブロックが有効化されているかどうかを判断してよい。時間非認識ブロックが有効化されている場合、520のタスクが実行され、そうでなければ524のタスクが実行される。520において、時間非認識ブロックシェーパー294の第1カウンタ322は、第1カウント値を生成してよい。第1カウント値は、図11および12で説明したように生成されてもよい。522において、キューモニタリングモジュール(例えばキューモニタリグンモジュール324)は、第1カウント値に基づき第1ブロック信号(例えば第1ブロック信号350)を生成する。
524において、イグレスモジュール274は時間認識デブロックが有効化されているかどうかを判断してもよい。時間認識ブロックが有効化されている場合、526のタスクが実行され、そうでなければ554のタスクが実行される。526において、タイミングモジュール290は第1優先タイミング信号368を生成する。第1優先タイミング信号368は、上述したようにいつクラスAフレームが第1マルチプレクサ302へ通過することを許可されるのかを示す。528において、時間認識デブロックシェーパー360のロジックモジュール364は、第1優先タイミング信号368に基づき第1パス信号PASS1を生成する。532において、データパスモジュール366は、第1パス信号PASS1に基づきデブロック信号370を生成する。
534において、イングレスモジュール272は、非クラスAフレームを非クラスAキュー280、282のそれぞれへパースする。時間認識ブロックシェーパー296のデータパスモジュール(例えばデータパスモジュール380、400)は、非クラスAキュー280、282のうち対応する1つにおけるフレームの存在を示すフレーム信号をそれぞれ生成してよい。このことには、図14に関連して説明した第2フレーム信号PKT2の生成が含まれてもよい。
536において、イグレスモジュール274はフレームはクラスBフレームかどうかを判断してもよい。フレームがクラスBフレームである場合、538のタスクが実行され、そうでなければ544のタスクが実行される。536のタスクは実際には実行されなくてもよい。538および544のタスクは、クラスBキューにクラスBフレームがあるかどうかに基づいて実行されてもよい。
538において、イグレスモジュール274は時間非認識ブロックが有効化されているかどうかを判断してよい。時間非認識ブロックが有効化されている場合、540のタスクが実行され、そうでなければ544のタスクが実行される。540において、時間非認識ブロックシェーパーは、クラスBフレームの第2カウント値を生成する。542において、時間非認識ブロックシェーパーのキューモニタリングモジュールは、第2カウント値に基づき第2ブロック信号を生成する。
544において、イグレスモジュール274は時間認識ブロックが有効化されているかどうかを判断する。時間認識ブロックが有効化されている場合、546のタスクが実行され、そうでなければ554のタスクが実行される。546において、タイミングモジュール290は、優先タイミング信号(例えば第2優先タイミング信号388)を生成する。優先タイミング信号は非クラスAフレームがいつブロックされるのかを示してよい。548において、時間認識ブロックシェーパーのデータパスモジュールは、546で生成された優先タイミング信号に基づきパス信号(例えば第2パス信号PASS2)を生成する。
550において、時間認識ブロックシェーパーのデータパスモジュールは、記述子信号352に基づきヘッドオブラインフレームのサイズを判断してもよい。2以上の時間認識ブロックシェーパーが用いられる場合、時間認識ブロックシェーパーは単一のデータパスモジュールを共有してもよく、並びに/或いはデータパスモジュールは互いに通信を行い、ヘッドオブラインフレームの優先レベルおよびサイズに基づき非クラスAフレームの通過を調整してもよい。ヘッドオブラインの非クラスAフレームのサイズをモニタリングし、クラスAバースト間、および/または次のクラスAバーストの前の送信に「適合する」非クラスAフレームを出来るだけ多く転送するようにイグレスモジュール274および/または時間認識ブロックシェーパーが構成されている場合、550のタスクを実行してもよい。次のクラスのバーストの前に送信が完了するサイズのクラスBフレームは転送され、その後、次に最も大きなサイズのヘッドオブラインフレームが続く。次のクラスAバーストの前に送信され得る最も大きなサイズのヘッドオブフレームは、他の非クラスAフレームの前に送信されてもよい。
552において、時間認識ブロックシェーパーは、パス信号、および/または対応する優先レベル、および/またはヘッドオブラインフレームのサイズに基づき、第3ブロック信号を生成してよい。
554において、選択モジュール298は、第1ブロック信号、デブロック信号、第2ブロック信号、および/または第3ブロック信号に基づき第1選択信号を生成する。556において、第1マルチプレクサ302はキュー1〜Xのうちの第1選択信号に基づき選択された1つからのフレームを送信する。第2選択信号は、イングレスモジュール272からではなく、第1マルチプレクサ302から出力されたフレームを選択するよう生成される。
558において、イグレスモジュール274は、キュー1〜Xにさらにフレームがあるかどうかを判断してよい。キュー1〜Xにフレームがない場合、方法は560において終了し、そうでなければ562のタスクが実行されてよい。562において、イグレスモジュール274は残りのフレームがクラスAフレームであるかどうかを判断してよい。残りのフレームがクラスAフレームである場合、512のタスクが実行され、そうでなければ564のタスクが実行される。564において、残りのフレームはクラスBフレームである場合、538のタスクが実行され、そうでなければ544のタスクが実行される。
上述したタスクは例示であり、タスクは適用例に応じて、順次、同期して、同時に、継続的に、重複する期間内で、または異なる順序で実行されてもよい。またいずれのタスクも実施例に応じて、および/またはイベントの順序に応じて、実行しなくてよいか、または飛ばしてもよい。
上述した技術は、ネットワーク内のエンド局間のレイテンシを最小化するよう設計、管理、および制御された非任意ネットワークを含む。上述した実施例を用いることにより、非任意ネットワークは、100μ秒以下というFEのAVB第2世代の5回のホップに関するレイテンシの基準を満たすことが出来る。レイテンシは、トーカーの送信時間に、4つのブリッジに関する処理遅延時間を加算した時間に等しい。一例として、制御フレームを送信する時間は、制御データの128バイトおよびオーバーヘッドの22バイトを含む150バイトに関し、干渉フレームがない場合において、12.0μ秒である。4つのブリッジの1つの処理遅延時間は例えば、送信時間の12μ秒、およびおよそ2つの512ビットの時間であるブリッジ遅延の10.0μ秒を含んだ22.0μ秒である。合計のレイテンシは、12.0μ秒の送信時間および88.0μ秒(22.0μ秒×4)のブリッジ処理遅延時間を含んだ100.0μ秒である。
本明細書で開示した装置および方法は、1以上のプロセッサにより実行される1以上のコンピュータプログラムによって実行され得る。コンピュータプログラムは、非一時的な有形のコンピュータ可読媒体に格納された、プロセッサ実行可能命令を含む。コンピュータプログラムは格納されたデータも含む。非一時的な有形のコンピュータ可読媒体の非限定的な例は、不揮発性メモリ、磁気記憶装置、および光学記憶装置を含む。

Claims (22)

  1. ネットワークデバイスであり、
    第1キューおよび第2キューを含む複数のキューを有するメモリと、
    非任意ネットワークにおいて前記ネットワークデバイスと他のネットワークデバイスとの間で共有されるクロック信号に基づいて第1優先タイミング信号および第2優先タイミング信号を生成するタイミングモジュールと、
    (i)前記第1キューからの第1保護データを転送し、(ii)第1フレームが前記第1キューに含まれることを示す第1フレーム信号と、前記第1優先タイミング信号とに基づきデブロック信号を生成するデブロックシェーパー
    (i)前記第2キューからの第2保護データおよび非保護データのうち一方を転送し、(ii)第2フレームが前記第2キューに含まれることを示す第2フレーム信号と、前記第2優先タイミング信号とに基づき第1ブロック信号を生成するブロックシェーパーと、
    前記デブロック信号および前記第1ブロック信号に基づき選択信号を生成し、前記第1フレームまたは前記第2フレームを選択する選択モジュールと
    を備えるネットワークデバイス。
  2. 前記クロック信号は、第2ネットワークデバイスにおけるクロックに基づき生成され、
    前記クロック信号は、前記第2ネットワークデバイスから前記ネットワークデバイスにより受信される、請求項1に記載のネットワークデバイス。
  3. 前記第1キューに格納された前記第1保護データが(i)周期的送信時間間隔において割り当てられた所定の帯域幅、および(ii)所定の最大レイテンシを有するように前記タイミングモジュールは、前記第1優先タイミング信号および前記第2優先タイミング信号を生成する、請求項1または2に記載のネットワークデバイス。
  4. 前記選択信号に基づき前記第1フレームおよび前記第2フレームのうち一方を出力するマルチプレクサと、
    前記ネットワークデバイスからの前記第1フレームおよび前記第2フレームのうち前記一方を第2ネットワークデバイスに出力するイグレスモジュールと
    をさらに備える請求項1から3のいずれか1項に記載のネットワークデバイス。
  5. 前記選択信号に基づき前記複数のキューからの前記第1フレームおよび前記第2フレームを転送するマルチプレクサをさらに備え
    請求項1からのいずれか1項に記載のネットワークデバイス。
  6. 前記デブロックシェーパーは、
    前記第1フレーム信号および前記第1優先タイミング信号に基づきパス信号を生成するロジックモジュールと、
    (i)前記パス信号に基づき前記第1フレームを転送し、(ii)前記パス信号に基づき前記デブロック信号を生成するデータパスモジュールと
    を有する、請求項1から5のいずれか1項に記載のネットワークデバイス。
  7. 前記データパスモジュールは、前記パス信号および前記第1フレームのサイズに基づき前記デブロック信号を生成する、請求項6に記載のネットワークデバイス。
  8. 前記タイミングモジュールは、(i)周期的送信時間間隔内の、前記第1フレームを送信するための割り当て期間を決定し、(ii)前記クロック信号および前記割り当て期間に基づき前記第1フレームの送信の開始時間を決定し、(iii)前記開始時間に基づき前記第1優先タイミング信号を生成する、請求項1から7のいずれか1項に記載のネットワークデバイス。
  9. 前記ブロックシェーパーは、
    前記第2フレーム信号および前記第2優先タイミング信号に基づき第2パス信号を生成するロジックモジュールと、
    (i)前記第2パス信号に基づき前記第2フレームを転送し、(ii)前記パス信号に基づき前記第1ブロック信号を生成するデータパスモジュールと
    を有する、請求項1からのいずれか1項に記載のネットワークデバイス。
  10. 前記データパスモジュールは、前記第2パス信号および前記第2フレームのサイズに基づき前記第1ブロック信号を生成する、請求項9に記載のネットワークデバイス。
  11. 前記タイミングモジュールは、(i)周期的送信時間間隔内の、前記第1フレームを送信するための割り当て期間を決定し、(ii)前記クロック信号および前記割り当て期間に基づき前記第1フレームの送信の開始時間を決定し、(iii)前記開始時間に基づき前記第2優先タイミング信号を生成し、前記第2フレームのマルチプレクサへの転送をブロックする、請求項1から10のいずれか1項に記載のネットワークデバイス。
  12. 前記タイミングモジュールは、(i)周期的送信時間間隔内の、前記第2フレームを送信するための割り当て期間を決定し、(ii)前記クロック信号および前記割り当て期間に基づき前記第2フレームの送信の開始時間を決定し、(iii)前記開始時間に基づき前記第2優先タイミング信号を生成する、請求項1から10のいずれか1項に記載のネットワークデバイス。
  13. 前記デブロックシェーパーおよび前記ブロックシェーパーを有するイグレスモジュールをさらに備え
    請求項1からのいずれか1項に記載のネットワークデバイス。
  14. 前記クロック信号とは独立して動作可能であり、(i)前記第1キューからの前記第1保護データを前記デブロックシェーパーへ、または(ii)前記第2キューからの前記非保護データを前記ブロックシェーパーへ転送し、前記第1フレームおよび前記第2フレームのうち一方と関連付けられたクレジットをカウントするカウンタに基づき第2ブロック信号を生成する第2ブロックシェーパーをさらに備え、
    前記選択モジュールは、前記カウンタのカウント値に基づき前記選択信号を生成する、請求項1から13のいずれか1項に記載のネットワークデバイス。
  15. 前記デブロックシェーパーおよび前記ブロックシェーパーを有するイグレスモジュールと、
    (i)トーカーモードで動作する際に前記デブロックシェーパーを有効化し、(ii)ブリッジモードで動作する際に前記ブロックシェーパーを有効化する起動モジュールと
    をさらに備える請求項1からのいずれか1項に記載のネットワークデバイス。
  16. 前記起動モジュールは、(i)前記ブリッジモードで動作する際に前記デブロックシェーパーを無効化し、(ii)前記トーカーモードで動作する際に前記ブロックシェーパーを無効化する、請求項15に記載のネットワークデバイス。
  17. イグレスモジュールをさらに備え、
    前記イグレスモジュールは、
    前記ブロックシェーパーと、
    (i)前記複数のキューの第3キューからの第3保護データおよび第2非保護データのうち一方を転送し、(ii)第3フレームが前記複数のキューの前記第3キューにあることを示す第3フレーム信号と、前記第2優先タイミング信号とに基づき第2ブロック信号を生成する第2ブロックシェーパーと
    を有する請求項1からのいずれか1項に記載のネットワークデバイス。
  18. イグレスモジュールをさらに備え、
    前記イグレスモジュールは、
    前記ブロックシェーパーと、
    (i)前記複数のキューの第3キューからの第3保護データおよび第2非保護データのうち一方を転送し、(ii)第3フレームが前記複数のキューの前記第3キューにあることを示す第3フレーム信号と、前記タイミングモジュールが生成する第3優先タイミング信号とに基づき第2ブロック信号を生成する第2ブロックシェーパーと
    を有する、請求項1からのいずれか1項に記載のネットワークデバイス。
  19. 前記デブロックシェーパーおよび前記ブロックシェーパー、(i)前記第1キューからの前記第1保護データを前記デブロックシェーパーへ、または(ii)前記第2キューからの前記非保護データを前記ブロックシェーパーへ転送する第2ブロックシェーパーを有するイグレスモジュールと、
    動作モードに基づき前記第2ブロックシェーパーを有効化する起動モジュールと
    をさらに備える、請求項1からのいずれか1項に記載のネットワークデバイス。
  20. 前記ネットワークデバイスがトーカーモード、ブリッジモード、および時間トランスレータモードのうちどのモードで動作しているかに基づき、前記起動モジュールは前記第2ブロックシェーパーを有効化する、請求項19に記載のネットワークデバイス。
  21. 前記選択信号に基づき前記複数のキューからのデータを選択する第1マルチプレクサと、
    カットスルーモジュールの出力に基づき(i)前記第1マルチプレクサの出力および(ii)イングレスモジュールの出力から選択する第2マルチプレクサと
    をさらに備える請求項1からのいずれか1項に記載のネットワークデバイス。
  22. ホスト制御モジュール、トーカー、およびブリッジのうち1つからデータを受信し、(i)受信した前記データを前記複数のキューのそれぞれへパースするか、(ii)前記複数のキューをバイパスして、前記受信したデータを前記第2マルチプレクサへ転送するかを決定する前記イングレスモジュールをさらに備える、請求項21に記載のネットワークデバイス。
JP2013557864A 2011-03-10 2012-03-08 非任意ネットワークに用いるデータブロックシステム Active JP5939489B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161451525P 2011-03-10 2011-03-10
US61/451,525 2011-03-10
US201161452482P 2011-03-14 2011-03-14
US61/452,482 2011-03-14
US201161552648P 2011-10-28 2011-10-28
US61/552,648 2011-10-28
US13/415,112 US8982896B2 (en) 2011-03-10 2012-03-08 Data blocking systems for non-arbitrary networks
PCT/US2012/028290 WO2012122382A1 (en) 2011-03-10 2012-03-08 Data blocking systems for non-arbitrary networks
US13/415,112 2012-03-08

Publications (2)

Publication Number Publication Date
JP2014507917A JP2014507917A (ja) 2014-03-27
JP5939489B2 true JP5939489B2 (ja) 2016-06-22

Family

ID=46795545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013557864A Active JP5939489B2 (ja) 2011-03-10 2012-03-08 非任意ネットワークに用いるデータブロックシステム

Country Status (6)

Country Link
US (3) US8982896B2 (ja)
EP (1) EP2684321B1 (ja)
JP (1) JP5939489B2 (ja)
KR (1) KR101918695B1 (ja)
CN (1) CN103493447B (ja)
WO (1) WO2012122382A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493447B (zh) 2011-03-10 2016-05-11 马维尔国际贸易有限公司 用于非任意网络的数据阻止系统
WO2012172389A1 (en) * 2011-06-15 2012-12-20 Freescale Semiconductor, Inc. Integrated circuit device and method of performing cut-through forwarding of packet data
US8838787B2 (en) * 2011-11-30 2014-09-16 Harman International Industries, Incorporated System for optimizing latency in an AVB network
US9219693B2 (en) 2012-02-22 2015-12-22 Marvell World Trade Ltd. Network devices with time aware medium access controller
US9882823B2 (en) * 2012-03-08 2018-01-30 Marvell World Trade Ltd. Systems and methods for blocking transmission of a frame in a network device
US9960872B2 (en) 2012-03-08 2018-05-01 Marvell International Ltd. Systems and methods for performing a soft-block of a queue based on a size of a remaining period of a guard band
US20230093388A1 (en) * 2012-07-05 2023-03-23 Accedian Networks Inc. Method for devices in a network to participate in an end-to-end measurement of latency
EP2696543A1 (en) * 2012-08-06 2014-02-12 Renesas Electronics Europe Limited Calculating credit for controlling data frame transmission
EP2896170B1 (en) 2012-09-11 2023-03-08 Marvell Asia Pte, Ltd. Method and apparatus for transmitting packets in accordance with ieee 802.1 qbv
US9538215B2 (en) * 2013-03-12 2017-01-03 Gamefly Israel Ltd. Maintaining continuity in media streaming
EP2827594A1 (en) * 2013-07-17 2015-01-21 Harman Becker Automotive Systems GmbH Digital device, network and method for streaming audio or video data
US10686709B2 (en) * 2014-07-14 2020-06-16 Qualcomm Incorporated Methods and apparatus for channel usage indication
JP2016100674A (ja) * 2014-11-19 2016-05-30 富士通株式会社 伝送装置
EP3057273B1 (en) * 2015-02-13 2019-03-27 Mitsubishi Electric R&D Centre Europe B.V. Method for a traffic shaping in a network
US9660927B2 (en) * 2015-04-22 2017-05-23 Accedian Networks Inc. Preemptive packet transmission
FR3036241B1 (fr) * 2015-05-12 2017-06-02 Peugeot Citroen Automobiles Sa Procede et dispositif de controle de la transmission de trames dans un reseau video bidirectionnel
EP3136678B1 (en) * 2015-08-27 2019-11-27 Tata Consultancy Services Limited System and method for real-time transfer of audio and/or video streams through an ethernet avb network
US10241748B2 (en) 2016-12-13 2019-03-26 EVA Automation, Inc. Schedule-based coordination of audio sources
US10255033B2 (en) 2016-12-13 2019-04-09 EVA Automation, Inc. Wireless coordination of audio playback
US10901684B2 (en) 2016-12-13 2021-01-26 EVA Automation, Inc. Wireless inter-room coordination of audio playback
JP7173267B2 (ja) * 2017-01-30 2022-11-16 富士通株式会社 パケット処理装置及びパケット処理方法
CN114860334B (zh) * 2022-04-24 2024-01-26 曙光信息产业(北京)有限公司 虚拟机启动风暴的处理方法、装置、设备及介质
US20230384855A1 (en) * 2022-05-25 2023-11-30 Advanced Micro Devices, Inc. Reducing system power consumption when capturing data from a usb device

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572703A (en) 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5822381A (en) 1995-05-05 1998-10-13 Silicon Graphics, Inc. Distributed global clock system
US7426206B1 (en) * 1998-06-11 2008-09-16 Synchrodyne Networks, Inc. Switching system and methodology having scheduled connection on input and output ports responsive to common time reference
US6038230A (en) 1998-07-22 2000-03-14 Synchrodyne, Inc. Packet switching with common time reference over links with dynamically varying delays
US6707791B1 (en) 1999-07-08 2004-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Internet protocol stack for real time applications
US6785236B1 (en) * 2000-05-28 2004-08-31 Lucent Technologies Inc. Packet transmission scheduling with threshold based backpressure mechanism
NO313778B1 (no) 2000-06-06 2002-11-25 Ontime Networks As Fremgangsmåte for å sikre aksess til et transmisjonsmedium ved et forhåndsbestemt tidspunkt og en tidsserver som benytterfremgangsmåten
JP3584859B2 (ja) 2000-06-29 2004-11-04 日本電気株式会社 パケットスケジューリング装置
US6707821B1 (en) * 2000-07-11 2004-03-16 Cisco Technology, Inc. Time-sensitive-packet jitter and latency minimization on a shared data link
JP2002164916A (ja) 2000-11-22 2002-06-07 Fujitsu Ltd 中継装置
US20020118692A1 (en) * 2001-01-04 2002-08-29 Oberman Stuart F. Ensuring proper packet ordering in a cut-through and early-forwarding network switch
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US6990079B2 (en) 2001-06-08 2006-01-24 International Business Machines Corporation Optimizing fragment sizes in frame relay networks
US7120113B1 (en) * 2001-07-16 2006-10-10 Juniper Networks, Inc. Systems and methods for limiting low priority traffic from blocking high priority traffic
US7254113B2 (en) * 2002-09-18 2007-08-07 Alcatel Lucent Partially preemptive burst scheduling model for an optical burst switching network
US7411971B2 (en) * 2003-09-09 2008-08-12 Avaya Inc. Systems and methods for the schedule alignment of packet flow
US7924711B2 (en) 2004-10-20 2011-04-12 Qualcomm Incorporated Method and apparatus to adaptively manage end-to-end voice over internet protocol (VolP) media latency
US7680053B1 (en) 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
WO2006130257A2 (en) 2005-04-22 2006-12-07 Axiometric, Llc Wireless communication system and related methods
US20060268692A1 (en) * 2005-05-31 2006-11-30 Bellsouth Intellectual Property Corp. Transmission of electronic packets of information of varying priorities over network transports while accounting for transmission delays
JP4279281B2 (ja) 2005-10-14 2009-06-17 日本電信電話株式会社 パケット通信品質制御装置およびパケット通信品質制御方法
WO2008138047A1 (en) 2007-05-11 2008-11-20 Audinate Pty Limited Systems, methods and computer-readable media for configuring receiver latency
US8379644B1 (en) 2006-06-30 2013-02-19 Marvell International Ltd. System and method of processing management frames
KR101298640B1 (ko) 2006-09-22 2013-09-16 삼성전자주식회사 전송 스트림 패킷을 전송하는 방법 및 장치
US7830796B2 (en) 2006-10-18 2010-11-09 Ericsson Ab Method and apparatus for traffic shaping
CN101364932B (zh) 2007-08-07 2011-12-07 创锐讯通讯科技(上海)有限公司 包交换网络的数据分段传输的方法
CN101414958B (zh) 2007-10-18 2011-02-09 华为技术有限公司 一种业务调度方法及装置
US8098778B2 (en) 2007-11-27 2012-01-17 Infineon Technologies Ag Controlled transmission of data in a data transmission system
WO2010022338A2 (en) 2008-08-22 2010-02-25 Marvell World Trade Ltd. Method and apparatus for integrating precise time protocol and media access control security in network elements
US8238250B2 (en) 2009-10-16 2012-08-07 Hei Tao Fung QoS-aware flow-based dynamic load balancing for link aggregation
EP2395404B2 (en) 2010-06-09 2021-02-24 ABB Power Grids Switzerland AG Secure clock synchronization
GB201101709D0 (en) 2011-02-01 2011-03-16 Transpacket As A method and a node arrangement for optimizing traffic processing in integrated hybrid networks
CN103493447B (zh) 2011-03-10 2016-05-11 马维尔国际贸易有限公司 用于非任意网络的数据阻止系统
US8838787B2 (en) 2011-11-30 2014-09-16 Harman International Industries, Incorporated System for optimizing latency in an AVB network
US9219693B2 (en) 2012-02-22 2015-12-22 Marvell World Trade Ltd. Network devices with time aware medium access controller
US9960872B2 (en) 2012-03-08 2018-05-01 Marvell International Ltd. Systems and methods for performing a soft-block of a queue based on a size of a remaining period of a guard band
US9882823B2 (en) 2012-03-08 2018-01-30 Marvell World Trade Ltd. Systems and methods for blocking transmission of a frame in a network device
US8937974B1 (en) 2012-05-02 2015-01-20 Marvell International Ltd. System and method for determining a margin of latency within a device
EP2896170B1 (en) 2012-09-11 2023-03-08 Marvell Asia Pte, Ltd. Method and apparatus for transmitting packets in accordance with ieee 802.1 qbv
US10484287B2 (en) 2013-05-15 2019-11-19 Avago Technologies International Sales Pte. Limited Support for distinguished minimum latency traffic guard band

Also Published As

Publication number Publication date
EP2684321B1 (en) 2017-09-20
WO2012122382A1 (en) 2012-09-13
KR101918695B1 (ko) 2018-11-14
KR20140015417A (ko) 2014-02-06
US9998389B2 (en) 2018-06-12
EP2684321A1 (en) 2014-01-15
CN103493447A (zh) 2014-01-01
JP2014507917A (ja) 2014-03-27
US20150188835A1 (en) 2015-07-02
US8982896B2 (en) 2015-03-17
US9246835B2 (en) 2016-01-26
US20160142332A1 (en) 2016-05-19
US20120230348A1 (en) 2012-09-13
CN103493447B (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
JP5939489B2 (ja) 非任意ネットワークに用いるデータブロックシステム
EP2896170B1 (en) Method and apparatus for transmitting packets in accordance with ieee 802.1 qbv
US9699091B2 (en) Apparatus and method for time aware transfer of frames in a medium access control module
JP6575772B2 (ja) ネットワークデバイス内のフレームの送信をブロックするためのシステムおよび方法
Thangamuthu et al. Analysis of ethernet-switch traffic shapers for in-vehicle networking applications
CN110870285B (zh) 在具有部分实时需求的数据网络中高性能数据传输的方法和执行该方法的装置
US10361962B2 (en) Packet processing technique for a communication network
US10965492B2 (en) Method for transmitting data packets, controller and system having a controller
JP4652314B2 (ja) イーサoamスイッチ装置
JP6152425B2 (ja) リアルタイムメッセージの送信方法およびリアルタイムメッセージを送信するためのコンピュータネットワーク
KR20210141678A (ko) 시간에 민감한 및 최선 노력의 데이터 패킷들에 대한 매체 액세스, 및 관련 시스템들, 방법들, 및 디바이스들
US20110026654A1 (en) Network device of high-precision synchronization type, network system, and frame transfer method
CN118612577A (zh) 一种数据传输方法、以太网设备及光无源交换系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160506

R150 Certificate of patent or registration of utility model

Ref document number: 5939489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250