(57)【特許請求の範囲】
【請求項１】
ネットワークデバイスであり、
第１キューおよび第２キューを含む複数のキューを有するメモリと、
非任意ネットワークにおいて前記ネットワークデバイスと他のネットワークデバイスとの間で共有されるクロック信号に基づいて第１優先タイミング信号および第２優先タイミング信号を生成するタイミングモジュールと、
（ｉ）前記第１キューからの第１保護データを転送し、（ｉｉ）第１フレームが前記第１キューに含まれることを示す第１フレーム信号と、前記第１優先タイミング信号とに基づきデブロック信号を生成するデブロックシェーパーと、
（ｉ）前記第２キューからの第２保護データおよび非保護データのうち一方を転送し、（ｉｉ）第２フレームが前記第２キューに含まれることを示す第２フレーム信号と、前記第２優先タイミング信号とに基づき第１ブロック信号を生成するブロックシェーパーと、
前記デブロック信号および前記第１ブロック信号に基づき選択信号を生成し、前記第１フレームまたは前記第２フレームを選択する選択モジュールと
を備えるネットワークデバイス。
【請求項２】
前記クロック信号は、第２ネットワークデバイスにおけるクロックに基づき生成され、
前記クロック信号は、前記第２ネットワークデバイスから前記ネットワークデバイスにより受信される、請求項１に記載のネットワークデバイス。
【請求項３】
前記第１キューに格納された前記第１保護データが（ｉ）周期的送信時間間隔において割り当てられた所定の帯域幅、および（ｉｉ）所定の最大レイテンシを有するように前記タイミングモジュールは、前記第１優先タイミング信号および前記第２優先タイミング信号を生成する、請求項１または２に記載のネットワークデバイス。
【請求項４】
前記選択信号に基づき前記第１フレームおよび前記第２フレームのうち一方を出力するマルチプレクサと、
前記ネットワークデバイスからの前記第１フレームおよび前記第２フレームのうち前記一方を第２ネットワークデバイスに出力するイグレスモジュールと
をさらに備える請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項５】
前記選択信号に基づき前記複数のキューからの前記第１フレームおよび前記第２フレームを転送するマルチプレクサをさらに備える
請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項６】
前記デブロックシェーパーは、
前記第１フレーム信号および前記第１優先タイミング信号に基づきパス信号を生成するロジックモジュールと、
（ｉ）前記パス信号に基づき前記第１フレームを転送し、（ｉｉ）前記パス信号に基づき前記デブロック信号を生成するデータパスモジュールと
を有する、請求項１から５のいずれか１項に記載のネットワークデバイス。
【請求項７】
前記データパスモジュールは、前記パス信号および前記第１フレームのサイズに基づき前記デブロック信号を生成する、請求項６に記載のネットワークデバイス。
【請求項８】
前記タイミングモジュールは、（ｉ）周期的送信時間間隔内の、前記第１フレームを送信するための割り当て期間を決定し、（ｉｉ）前記クロック信号および前記割り当て期間に基づき前記第１フレームの送信の開始時間を決定し、（ｉｉｉ）前記開始時間に基づき前記第１優先タイミング信号を生成する、請求項１から７のいずれか１項に記載のネットワークデバイス。
【請求項９】
前記ブロックシェーパーは、
前記第２フレーム信号および前記第２優先タイミング信号に基づき第２パス信号を生成するロジックモジュールと、
（ｉ）前記第２パス信号に基づき前記第２フレームを転送し、（ｉｉ）前記パス信号に基づき前記第１ブロック信号を生成するデータパスモジュールと
を有する、請求項１から５のいずれか１項に記載のネットワークデバイス。
【請求項１０】
前記データパスモジュールは、前記第２パス信号および前記第２フレームのサイズに基づき前記第１ブロック信号を生成する、請求項９に記載のネットワークデバイス。
【請求項１１】
前記タイミングモジュールは、（ｉ）周期的送信時間間隔内の、前記第１フレームを送信するための割り当て期間を決定し、（ｉｉ）前記クロック信号および前記割り当て期間に基づき前記第１フレームの送信の開始時間を決定し、（ｉｉｉ）前記開始時間に基づき前記第２優先タイミング信号を生成し、前記第２フレームのマルチプレクサへの転送をブロックする、請求項１から１０のいずれか１項に記載のネットワークデバイス。
【請求項１２】
前記タイミングモジュールは、（ｉ）周期的送信時間間隔内の、前記第２フレームを送信するための割り当て期間を決定し、（ｉｉ）前記クロック信号および前記割り当て期間に基づき前記第２フレームの送信の開始時間を決定し、（ｉｉｉ）前記開始時間に基づき前記第２優先タイミング信号を生成する、請求項１から１０のいずれか１項に記載のネットワークデバイス。
【請求項１３】
前記デブロックシェーパーおよび前記ブロックシェーパーを有するイグレスモジュールをさらに備える
請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項１４】
前記クロック信号とは独立して動作可能であり、（ｉ）前記第１キューからの前記第１保護データを前記デブロックシェーパーへ、または（ｉｉ）前記第２キューからの前記非保護データを前記ブロックシェーパーへ転送し、前記第１フレームおよび前記第２フレームのうち一方と関連付けられたクレジットをカウントするカウンタに基づき第２ブロック信号を生成する第２ブロックシェーパーをさらに備え、
前記選択モジュールは、前記カウンタのカウント値に基づき前記選択信号を生成する、請求項１から１３のいずれか１項に記載のネットワークデバイス。
【請求項１５】
前記デブロックシェーパーおよび前記ブロックシェーパーを有するイグレスモジュールと、
（ｉ）トーカーモードで動作する際に前記デブロックシェーパーを有効化し、（ｉｉ）ブリッジモードで動作する際に前記ブロックシェーパーを有効化する起動モジュールと
をさらに備える請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項１６】
前記起動モジュールは、（ｉ）前記ブリッジモードで動作する際に前記デブロックシェーパーを無効化し、（ｉｉ）前記トーカーモードで動作する際に前記ブロックシェーパーを無効化する、請求項１５に記載のネットワークデバイス。
【請求項１７】
イグレスモジュールをさらに備え、
前記イグレスモジュールは、
前記ブロックシェーパーと、
（ｉ）前記複数のキューの第３キューからの第３保護データおよび第２非保護データのうち一方を転送し、（ｉｉ）第３フレームが前記複数のキューの前記第３キューにあることを示す第３フレーム信号と、前記第２優先タイミング信号とに基づき第２ブロック信号を生成する第２ブロックシェーパーと
を有する請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項１８】
イグレスモジュールをさらに備え、
前記イグレスモジュールは、
前記ブロックシェーパーと、
（ｉ）前記複数のキューの第３キューからの第３保護データおよび第２非保護データのうち一方を転送し、（ｉｉ）第３フレームが前記複数のキューの前記第３キューにあることを示す第３フレーム信号と、前記タイミングモジュールが生成する第３優先タイミング信号とに基づき第２ブロック信号を生成する第２ブロックシェーパーと
を有する、請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項１９】
前記デブロックシェーパーおよび前記ブロックシェーパーと、（ｉ）前記第１キューからの前記第１保護データを前記デブロックシェーパーへ、または（ｉｉ）前記第２キューからの前記非保護データを前記ブロックシェーパーへ転送する第２ブロックシェーパーとを有するイグレスモジュールと、
動作モードに基づき前記第２ブロックシェーパーを有効化する起動モジュールと
をさらに備える、請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項２０】
前記ネットワークデバイスがトーカーモード、ブリッジモード、および時間トランスレータモードのうちどのモードで動作しているかに基づき、前記起動モジュールは前記第２ブロックシェーパーを有効化する、請求項１９に記載のネットワークデバイス。
【請求項２１】
前記選択信号に基づき前記複数のキューからのデータを選択する第１マルチプレクサと、
カットスルーモジュールの出力に基づき（ｉ）前記第１マルチプレクサの出力および（ｉｉ）イングレスモジュールの出力から選択する第２マルチプレクサと
をさらに備える請求項１から３のいずれか１項に記載のネットワークデバイス。
【請求項２２】
ホスト制御モジュール、トーカー、およびブリッジのうち１つからデータを受信し、（ｉ）受信した前記データを前記複数のキューのそれぞれへパースするか、（ｉｉ）前記複数のキューをバイパスして、前記受信したデータを前記第２マルチプレクサへ転送するかを決定する前記イングレスモジュールをさらに備える、請求項２１に記載のネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本開示は、２０１２年３月８日に提出された米国実用新案登録第１３／４１５，１１２号公報、２０１１年３月１０日に提出された米国仮特許出願第６１／４５１，５２５号、２０１１年３月１４日に提出された米国仮特許出願第６１／４５２，４８２号、および２０１１年１０月２８日に提出された米国仮特許出願第６１／５５２，６４８号の利益を主張する。同出願の開示内容は、それら全体が参照により本明細書に組み込まれる。
【０００２】
本開示はネットワークに関し、特に非任意ネットワークにおけるデータソースおよびブリッジのレイテンシに関する。
【背景技術】
【０００３】
本明細書における背景技術の説明は本開示の背景を一般的に提示することを目的とする。この背景技術のセクションで説明される範囲での本願発明の発明者による発明、および提出時において従来技術として認められ得ない説明の態様は、明示または黙示を問わず本開示に対する先行技術として認められない。
【０００４】
データ通信ネットワークは、複数のトーカー（データのソース）、および複数のレシーバを含み得る。トーカーおよびレシーバのうちそれぞれの間のデイジーチェーンでは、いくつかのブリッジが接続され得る。データ通信ネットワークは任意ネットワーク（非設計ネットワークとも呼ぶ）または非任意ネットワーク（設計ネットワークとも呼ぶ）であり得る。任意ネットワークは例えば、複数の異なるネットワークデバイス（例えば、コンピュータ、携帯電話、テレビ、プリンタ、および電子タブレット）を含み得る、ネットワーク内の様々なポイントをランダムな時間に適宜接続および切断する、住居におけるローカルエリアネットワーク（ＬＡＮ）である。ネットワークデバイスは、任意ネットワークで送信されているデータの優先レベルに関わらずいつでも接続および切断され得る。
【０００５】
非任意ネットワークは例えば、乗り物内の自動車のネットワークまたは製造組み立てラインのネットワークである。一般的には、非任意ネットワークのネットワークデバイスは固定されており、非任意ネットワークへの接続が行われているということがなく、および／または非任意ネットワークからの切断が行われているということがない。ネットワークデバイスは非任意ネットワークに接続され、および／または非任意ネットワークから切断され得るが、非任意ネットワークへの接続が行われている、または非任意ネットワークからの切断が行われているネットワークデバイスとの通信は、優先度の高いデータの送信期間においては防がれる。これらの送信期間において、優先度の高いデータは、非任意ネットワークのネットワークデバイス間で送信される。
【０００６】
例えばＩｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ（ＩＥＥＥ）８０２．１Ｑａｖに準拠して動作する非任意のＥｔｈｅｒｎｅｔ（登録商標）ネットワークは、トーカー（またはソース）、複数のブリッジ、およびリスナー（またはレシーバ）を含み得る。トーカーは、周期的送信時間間隔のうち割り当てられた送信期間において、優先度の高いデータをブリッジを介してリスナーへ送信してもよい。優先度の高いデータとは例えば、レイテンシが短いことが要求されるクラスＡまたはクラスＢデータのことを指す。レイテンシという用語は、非任意ネットワークで１回以上のホップを介して優先度の高いフレームを送信するまでの時間を指す。１回のホップのレイテンシは、高い優先度のフレームの最後のビットが当該ホップに関連するネットワークデバイスによって受信されてから、当該最後のビットが当該ネットワークデイバスから送信されるまでの時間として計測される。簡潔に説明すると、１回のホップのレイテンシは、ネットワークデバイスによる最後のビットの受信から、当該ネットワークデバイスによる当該最後のビットの送信までの時間として計測される。１回のホップは、非任意ネットワークのトーカー（エンド局）またはブリッジのことを指し得る。
【０００７】
非任意ネットワークにおいて送信されるデータは例えば、３つの優先レベルのうち１つを有し得る。クラスＡデータは、優先レベルの最も高いオーディオビデオブリッジング（ＡＶＢ）データを含み得る。ＡＶＢデータはオーディオデータおよび／またはビデオデータを含み得るが、ＡＶＢデータは、制御データ、ユーザデータ、リファレンスデータ、または他のタイプのデータも含み得る。優先レベルの最も高いデータは、所定の帯域幅および所定の最大レイテンシが与えられ得る。このことにより、クラスＡデータが割り当てられた期間において送信されること、および、所定の回数のホップでの、および／またはエンド局間のクラスＡデータの送信に関するレイテンシが、所定の最大レイテンシより短くなることが確実になる。クラスＢデータは、次に優先レベルの最も高いＡＶＢデータであってよい。非ＡＶＢデータは最も低い優先レベルを有し得る。一般的に、優先度のより高いデータは、優先度のより低いデータよりも早く送信される。
【０００８】
ネットワークデバイスが割り当てられた送信期間において非任意ネットワークへの接続を試みた場合、非任意ネットワークとの接続は拒否され得る。データ送信アクティビティがない期間、および／または、クラスＢよりも優先レベルの低いデータの送信が行われている期間において、接続は確立され得る。
【０００９】
Ｆａｓｔ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＦＥ）とは、１００メガビット／秒（Ｍｂｉｔｓ／ｓ）でのデータ送信を指す。Ｇｉｇａｂｙｔｅ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＧＥ）とは、１ギガビット／秒（Ｇｂｉｔｓ／ｓ）での送信を指す。第１世代のＥｔｈｅｒｎｅｔ（登録商標）ネットワークのＩＥＥＥ８０２．１ＡＶＢ規格（ＦＥまたはＧＥの送信速度に関して）によると、クラスＡデータフレームは、７回のホップを２ミリ秒（ｍｓ）より短い時間で通過し、クラスＢデータフレームは、７回のホップを５０ｍｓより短い時間で通過しなければならない。クラスＡフレームおよびクラスＢフレームは有線または無線の接続で送信され得るが、従来の非任意ネットワークは、無線接続で送信されるデータに関して第１世代のクラスＡの基準を満たすことが出来ない。無線接続でデータを送信するのにかかる時間は、有線接続でデータを送信するのにかかる時間より長い。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
第２世代ネットワークのＩＥＥＥ８０２．１ＡＶＢのゴール１によると、クラスＡフレームはＧＥの送信速度で３２回のホップを１２５μ秒より短い時間で通過しなければならない。第２世代ネットワークのＡＶＢのゴール２によると、クラスＡフレームは、ＦＥの送信速度の５回のホップを１００μ秒以下の時間で通過しなければならない。従来の非任意ネットワークは、有線接続によりＧＥの速度で送信を行った場合、第２世代のレイテンシのゴール２を達成することが出来る。従来の非任意ネットワークは、有線接続によりＦＥの速度で送信を行った場合、第２世代のレイテンシのゴール２を満たしことが出来ず、有線接続によりＧＥの速度で送信を行った場合、第２世代のレイテンシのゴール１を満たすことも出来ない。
【課題を解決するための手段】
【００１１】
複数のキューを有するメモリを含むネットワークデバイスが提供される。キューは、第１キューおよび第２キューを含む。タイミングモジュールは、第１優先タイミング信号および第２優先タイミング信号のうち少なくとも一方を生成する。第１優先タイミング信号および第２優先タイミング信号は、クロック信号に基づいて生成される。クロック信号は、非任意ネットワークにおいてネットワークデバイスと他のネットワークデバイスとの間で共有される。
【００１２】
ネットワークデバイスはさらに、デブロックシェーパーおよびブロックシェーパーのうち少なくとも１つを含む。デブロックシェーパーは、（ｉ）第１キューからの第１保護データを転送し、（ｉｉ）第１フレーム信号、および第１優先タイミング信号に基づきデブロック信号を生成する。第１フレーム信号は第１フレームが第１キューに含まれることを示す。ブロックシェーパーは、（ｉ）第２キューからの第２保護データおよび非保護データのうち一方を転送し、（ｉｉ）第２フレーム信号、および第２優先タイミング信号に基づき第１ブロック信号を生成する。第２フレーム信号は、第２フレームが第２キューに含まれることを示す。選択モジュールは、デブロック信号または第１ブロック信号に基づき選択信号を生成し、第１フレームまたは第２フレームを選択する。
【００１３】
本開示の適用可能な領域は、発明を実施するための形態、特許請求の範囲、および図面から明らかとなる。詳細な説明および特定の例は、例示のみを目的としており、本開示の範囲を限定することを目的としていない。
【図面の簡単な説明】
【００１４】
本開示は、発明を実施するための形態および添付の図面から、より完全に理解されるであろう。
【図１】図１は、輻輳が発生した場合および発生しなかった場合のフレーム送信タイミングを示すタイミング図である。
【図２Ａ】図２Ａは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｂ】図２Ｂは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｃ】図２Ｃは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｄ】図２Ｄは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｅ】図２Ｅは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｆ】図２Ｆは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｇ】図２Ｇは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図２Ｈ】図２Ｈは、干渉フレームおよびクラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図３Ａ】図３Ａは、クラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図３Ｂ】図３Ｂは、クラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図３Ｃ】図３Ｃは、クラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図３Ｄ】図３Ｄは、クラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図３Ｅ】図３Ｅは、クラスＡフレームのブリッジを介した伝送を示す、ブリッジの機能ブロック図である。
【図４】図４は、フレームの並列受信に関連するレイテンシを示すタイミング図である。
【図５】図５は、フレームの調整された送信に関連するレイテンシを示すタイミング図である。
【図６】図６は、クラスＡに割り当てられた期間および対応する周期的送信時間間隔を示すタイミング図である。
【図７】図７は、本開示に係る非任意ネットワークの機能ブロック図である。
【図８】図８は、本開示に係るトーカーの機能ブロック図である。
【図９】図９は、本開示に係るブリッジの機能ブロック図である。
【図１０】図１０は、本開示に係るネットワークデバイスの機能ブロック図である。
【図１１】図１１は、本開示に係る時間非認識ブロックシェーパーの機能ブロック図である。
【図１２】図１２は、本開示に係る、時間非認識ブロックシェーパーのカウント値を経時的に示すグラフである。
【図１３】図１３は、本開示係るデブロックシェーパーの機能ブロック図である。
【図１４】図１４は、本開示に係る時間認識ブロックシェーパーの機能ブロック図である。
【図１５】図１５は、本開示に係るフレームサイズベースのブロックシェーパーの機能ブロック図である。
【図１６Ａ】図１６Ａは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。
【図１６Ｂ】図１６Ｂは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。
【図１６Ｃ】図１６Ｃは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。
【図１６Ｄ】図１６Ｄは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。
【図１６Ｅ】図１６Ｅは、本開示に係るブリッジを介したフレームサイズベースのデータ伝送を示す、ブリッジの機能ブロック図である。
【図１７】図１７は、本開示に係るクラスＡに割り当てられた期間におけるブロックウィンドウを示すタイミング図である。
【図１８Ａ】図１８Ａは、本開示に係るデータブロック方法を示す。
【図１８Ｂ】図１８Ｂは、本開示に係るデータブロック方法を示す。
【発明を実施するための形態】
【００１５】
上述の説明は本質的に例示に過ぎず、本開示、その適用例または利用例を限定することを意図していない。本開示の幅広い教示は、様々な形態で実現が可能である。よって本開示は特定の例を含むが、本開示の本質的な範囲はそれらによって限定されるべきではない。なぜなら添付の図面、本明細書、および特許請求項から他の変形例が明らかとなるからである。説明を明確にすべく、図面において同様の要素は同様の参照番号を用いて識別される。本明細書で用いられるように、Ａ、Ｂ、およびＣのうち少なくとも１つといった表現は、非排他的な論理ＯＲを用いて論理（Ａ  ｏｒ  Ｂ  ｏｒ  Ｃ）を意味するものとして解釈されるべきである。方法の１以上の工程は、本開示の原理から逸脱することなく、異なる順序で（または同時に）実行されてもよい。
【００１６】
本明細書で用いるモジュールという用語は、特定用途向け集積回路（ＡＳＩＣ）、電子回路、組み合せ論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コードを実行するプロセッサ（共有、専用、またはグループ）、説明される機能を実現する適した他のハードウェアコンポーネント、或いはシステムオンチップなどにおけるこれらのいくつかまたは全ての組み合わせを言及してもよく、これらの一部であってもよく、若しくはこれらを含んでもよい。モジュールという用語は、プロセッサによって実行されるコードを格納するメモリ（共有、専用、グループ）を含んでもよい。
【００１７】
上記で用いたコードという用語は、ソフトウェア、ファームウェア、および／またはマイクロコードを含んでもよく、プログラム、ルーチン、機能、クラス、および／またはオブジェクトを指してもよい。上記で用いた共有という用語は、複数のモジュールからのいくつか、または全てのコードが、単一の（共有）プロセッサを用いて実行され得ることを意味する。加えて、複数のモジュールからのいくつか、または全てのコードは、単一の（共有）メモリに格納されてもよい。上記で用いたグループという用語は、単一のモジュールからのいくつかの、または全てのコードが、１グループの複数のプロセッサを用いて実行され得ることを意味する。加えて、単一のモジュールからのいくつか、または全てのコードは、１グループの複数のメモリに格納されてもよい。
【００１８】
加えて以下の説明において、様々な変数ラベルおよび変数値を開示する。それら変数ラベルおよび変数値は単に例として示される。変数ラベルは任意で用いられ、それぞれ異なるアイテムを識別する、または指すのに用いられ得る。例えば、フレーム数またはキュー数を指すのに変数ラベルｎを用い得る。変数値も任意で用いられ得、適用例毎に異なるものを指し得る。
【００１９】
さらに以下の説明において、「第１」、「第２」、および「第３」などの用語を用いる。これらの用語は何らかの１つのデバイス、または信号などを特定的に指すものではない。同じデバイス、または信号などを指すのに、状況に応じてそれらの用語のうち１以上を用いることが出来る。
【００２０】
ギガバイトＥｔｈｅｒｎｅｔ（登録商標）（ＧＥ）ネットワーク
ＧＥネットワークは、１ホップあたり０．５１２μ秒の送信レイテンシで６４バイトの最小フレームサイズを有し得る。平均の（または通常の）サイズのＥｔｈｅｒｎｅｔ（登録商標）フレームは３００バイトであり得、最大フレームサイズは１５２２バイトであり得る。３００バイトのＥｔｈｅｒｎｅｔ（登録商標）フレームは、対応する３２０バイトに等しい送信時間を有し得、２０バイトの時間は、Ｅｔｈｅｒｎｅｔ（登録商標）のプリアンブル（１秒および０秒の繰り返しパターン、および／またはフレーム区切りの始まり）、およびフレーム間ギャップ（ＩＦＧ）に対応する。ＩＦＧとは、連続するデータフレーム間の時間のギャップを指す。トーカーからの３２０バイトの送信に関連するレイテンシは２．５６μ秒である。データが例えばＣＡＴ５ｅケーブル上で送信される際のネットワーク局（またはノード）間の送信回線遅延は、ケーブル１００メートル（ｍ）あたり、およそ５３８ナノ秒（ｎｓ）である。
【００２１】
図１において、輻輳が発生した場合および発生しなかった場合のフレーム送信タイミングを示すタイミング図である１０が示されている。示される、ネットワークデバイス間で送信されるデータブロック１〜８はそれぞれデータフレーム（以下、フレームと呼ぶ）を含んでよい。各フレームは３００バイトを有し得る。フレームはＦＥ速度で送信されてよい。フレームは周期的な送信時間間隔１４に送信される。周期的な送信時間間隔１４は８キロヘルツ（ｋＨｚ）の信号に対し例えば１２５μ秒の長さであり得る。フレームはクラスＡデータを含み得る。クラスＡデータとはＧＥにおける優先レベルの最も高いデータを指し得る。クラスＡデータは各周期的送信時間間隔に送信されてもよい。データブロック１〜８は輻輳が発生しなかった（つまり干渉フレームがない）場合のものと、輻輳が発生した（つまり干渉フレームがある）場合のものが示されている。各周期的送信時間間隔に送信され得る最大フレーム数は、例えば８である。
【００２２】
第１時間ライン１８は、干渉フレームがないデータブロック１〜８を有する。データブロック１〜８のそれぞれは、クラスＡフレーム（例えば３００バイト）、プリアンブル、およびフレーム間ギャップ（ＩＦＧ）を含み得る。プリアンブルおよびＩＦＧは、対応する２０バイトの時間を有し得る。第２時間ライン２０は、干渉フレームブロック２２と共にデータブロック１〜８を有する。干渉フレームブロック２２は、干渉フレーム、プリアンブル、およびＩＦＧを含み得る。干渉フレームとは、クラスＡフレームの送信の準備が出来る前に、および／または出来ている時に送信の準備が出来ており、結果的にクラスＡフレームの送信を遅延させるフレームを指す。干渉フレームは、例えば１５２２バイトのデータを有する最大サイズＧＥフレームであってよい。干渉フレームブロック２２のプリアンブルおよびＩＦＧは対応する２０バイトの時間を有し得る。干渉フレームブロック２２が原因となり、データブロック１〜８および対応するクラスＡフレームは、遅延期間２４だけ遅延させられる。クラスＡフレームおよび干渉フレームのサイズが小さければ小さい程、クラスＡフレームの送信までのレイテンシが短くなる。メディアアクセスコントローラ（ＭＡＣ）遅延２６によって示されるＭＡＣの遅延が原因となり８フレームの送信も遅延させられ得る。
【００２３】
クラスＡフレームのＩＦＧは、時間非認識ブロックシェーパーによって定められ得る。時間非認識ブロックシェーパーは周期的送信時間間隔に亘りフレームを割り振る。フレームの割り振りにより、連続するフレーム間にフレーム間ギャップ（データを含まない期間）が形成される。ブロックシェーパーの例は図７〜１１、および１３〜１５に示される。時間非認識ブロックシェーパーとは、グランドマスタークロックに基づいて動作しないブロックシェーパーを指す。グランドマスタークロックは、非任意ネットワーク内の複数のネットワークデバイスにより共有されるグローバルクロック信号を生成するクロックである。時間非認識ブロックシェーパーの例は、図１０および１１に示す。グランドマスタークロックに基づき実行される送信は、図７および１０にさらに詳細に説明する。
【００２４】
トーカーは、周期的送信時間間隔において送信されるクラスＡフレームの数に基づきデータをバーストしてもよい。クラスＡデータが周期的送信時間時間間隔に亘り割り振られるのを防ぐべく、クラスＡデータの時間非認識ブロックシェーパーは無効化させられてよい。これにより、干渉フレームに関連する遅延を最小化することが出来る。なぜなら、干渉フレームの送信が開始され得るＩＦＧが存在しないからである。
【００２５】
タイプＩ送信におけるレイテンシの例
輻輳が発生しブロックシェーバーを用いないデータ送信を、タイプＩデータ送信と呼ぶ。単純なネットワークは、トーカー、Ｎ個の２ポートブリッジ（単一の入力ポートおよび単一の出力ポートを有するブリッジ）、およびリスナーを含み得る。制御フレームがブリッジの１つを介しトーカーからリスナーへと通過する時間について、図２Ａ〜２Ｈを参照し説明する。図２Ａ〜２Ｈは、輻輳が発生しブロックシェーパーを用いない、ブリッジ４０を通過するデータ伝送を示す。干渉フレーム４２およびクラスＡフレームのブリッジ４０を通過する伝送が示される。クラスＡフレームはブロックシェーパーを用いず順次送信される。干渉フレーム４２は、クラスＡフレームの送信の前に送信される最大サイズの干渉フレームである。
【００２６】
ブリッジ４０は、メモリ４６を有するイングレスモジュール４４、キュー４８、マルチプレクサ５０、および出力ポート５２を含む。以下のブリッジレイテンシの値は、ＩＥＥＥ１７２２に準拠しイングレスの時間基準面またはレイテンシの開始から計測され得る。
【００２７】
図２Ａにおいて、干渉フレーム４２がブリッジ４０に到着し、その後にクラスＡフレームが続く。時間ｔ０に、アップストリームのネットワークデバイス（例えばトーカーまたはブリッジ）からの干渉フレーム４２の最初のビットがブリッジ４０によって受信される。図２Ｂにおいて、干渉フレーム４２はメモリ４６により受信され格納されている。干渉フレーム４２は受信された後、クラスＡフレームのうちの最初のフレームの最初のビットが受信される。このことは、干渉フレームが関連する１５４２バイトのレイテンシを有するので、ｔ＝１２．３３６μ秒に起こる。干渉フレーム４２は、例えば、１５２２バイト、並びにプリアンブルおよびＩＦＧと関連する２０バイトの時間を有し得る。図２Ｃにおいて、干渉フレーム４２は、メモリ４６から、優先度の低いデータおよび／または非ＡＶＢデータと関連付けられた複数のキュー４８のうち１つへと転送されている。ｔ＝１３．３６０μ秒において、第１制御フレームの１２８バイトが受信される。この時間は、干渉フレーム４２を受信する１２．３３６μ秒の時間に１２８バイトを処理する時間、または１．０２４μ秒を加算した時間に等しい。図２Ｄに示されるように、最初のクラスＡフレームの最初のビットが受信された後の２つのスロットタイム（またはブリッジ４０のクロックサイクル）において、干渉フレーム４２の最初のビットがブリッジ４０から送信される。第１のクラスＡフレーム５７はその後、キュー４８の最初のキューに格納されてよい。
【００２８】
図２Ｄにおいて第２のクラスＡフレームの第１ビット６０は、ブリッジ４０によって受信されている。このことは、干渉フレーム４２を受信する時間である１２．３３６μ秒に第１のクラスＡフレームと関連する時間である３２０バイトを加算した時間に等しいｔ＝１４．８９６μ秒に起こる。図２Ｅにおいて第３のクラスＡフレームの第１のビット６２が受信されている。このことは、干渉フレームを受信する時間である１２．３３６μ秒にクラスＡフレームに関連する３２０バイトの時間の２倍を加算した時間に等しいｔ＝１７．４５６μ秒に起こる。
【００２９】
図２Ｆにおいて、第１のクラスＡフレームの第１のビット６４がブリッジ４０から送信されている。このことは、干渉フレームを受信する時間（または開始時間）である１２．３３６μ秒に５つのクラスＡフレームを処理する時間および第６のクラスＡフレームの７０バイトの時間（または干渉フレームの送信時間）である１３．３６０μ秒を加算した時間に等しいｔ＝２５．６９６μ秒に起こる。５つのクラスＡフレームの処理時間および第６のクラスＡフレームの７０バイトは、第１のクラスＡフレームの開始時間に等しい。
【００３０】
図２Ｇにおいて、クラスＡフレームの最後のビット６６がブリッジ４０により受信される。このことは、第６のフレームの残りの処理時間と、第７および第８フレームの処理時間とを加算したｔ＝３２．６５６μ秒に起こる。図２Ｈにおいて、クラスＡフレームの最後のビットがブリッジ４０から送信される。このことは、開始時間である１３．３６μ秒に干渉フレームおよびクラスＡフレームの送信時間である３２．６５６μ秒を加算した時間であるｔ＝４６．０１６μ秒に起こる。４６．０１６μ秒の時間ｔは、ブリッジ４０に最初のビットが入ってからブリッジ４０から最後のビットが出るまでの時間である（最初のビットの受信−最後のビットの送信時間と呼ぶ）。ブリッジ４０の受信時間に等しいトーカー送信時間を二重にカウントすることを避けるべく、最初のビットの受信−最後のビットの送信時間ではなく、ブリッジ４０に最後のビットが入ってからブリッジ４０を最後のビットが出るまでの時間（最後のビットの受信−最後のビットの送信時間）を考慮する。
【００３１】
最後のビットの受信−最後のビットの送信時間は、４６．０１６μ秒の時間ｔから、干渉フレームの送信時間である１２．２２６μ秒を減算し、８つクラスＡフレームの送信時間である２０．４８μ秒を減算し、プリアンブルおよびＩＦＧ時間の２０バイトを加算した１３．３６μ秒となる。最後のビットの受信−最後のビットの送信時間は、最後のクラスＡのビットの受信時間から最後のクラスＡのビットの送信時間を減算することによって求められてもよく、この場合も１３．３６μ秒となる。
【００３２】
クラスＡフレームに関するブリッジ４０の最大レイテンシは、ブリッジ４０の遅延時間ｔｂｒｉｄｇｅに、最大サイズの干渉フレームを受信する時間ｔＭＡＸＩＮＴを加算し、ブリッジ４０と、例えば他のネットワークデバイスとの間のケーブルの送信時間ｔＣａｂｌｅを加算した時間に等しい。ケーブルの送信時間ｔＣａｂｌｅは、１００ｍケーブルに関して求められてもよい。
【００３３】
５つのネットワークデバイス（１つのトーカーおよび４つのブリッジ）のデイジーチェーン上でＧＥで８つの３００バイトのクラスＡフレームを送信する際の最大レイテンシは、以下のように求められ得る。２つのスロットタイムのブリッジの遅延、および１５２２バイトである最大の非ＡＶＢデータで、最大レイテンシは、１．０２４μ秒（ｔｂｒｉｄｇｅ）に１２．３３６μ秒（ｔＭＡＸＩＮＴ）を加算し、０．５３８μ秒（ｔＣａｂｌｅ）を加算した１３．８９８μ秒となる。これは、最後のビットの受信−最後のビットの送信時間である１３．３６μ秒に０．５３８μ秒のケーブル遅延時間を加算した時間に等しい。
【００３４】
タイプＩＩ送信におけるレイテンシの例
図３Ａ〜３Ｅは、輻輳が発生せずブロックシェーパーを用いないブリッジ４０を介したクラスＡフレームの伝送を示す。輻輳が発生せずブロックシェーパーを用いないデータ送信を、タイプＩＩ送信と呼ぶ。ブリッジ４０は、メモリ４６を有するイングレスモジュール４４、キュー４８、マルチプレクサ５０、および出力ポート５２を含む。図３Ａにおいて、８つのクラスＡフレームがブリッジ４０に到着する。第１のクラスＡフレームの最初のビットがブリッジ４０に受信される。この時点が時間ｔ０である。図３Ｂにおいて、第１のクラスＡフレームの第１フレーム７０は既に受信され、第２のクラスＡフレームの最初のビットがブリッジ４０によって受信されている。第２のクラスＡフレーム７１の最初のビットは、例えば、第１のクラスＡフレームの最初のビットを受信した後、３２０バイトの時間である。このことは、２．５６μ秒である時間ｔにおいて起こる。
【００３５】
図３Ｃにおいて、第１のクラスＡフレーム７０が第１キューに格納されている。第１のクラスＡフレーム７０の最初のビットは、ブリッジ４０から送信されてもよい。このことは、第２のクラスＡフレーム７１の最初のビットの受信の２つのスロット後に、または３．５８４μ秒に等しい時間において起こる。この時間において、第２のクラスＡフレーム７１の１２８バイトがブリッジ４０に格納される。図３Ｄにおいて、最後のクラスＡフレームの最後のビット７４がブリッジ４０により受信されている。このことは、それまでの時間３．５８４μ秒に残りのフレームの受信時間である１６．７３６μ秒を加算した時間である２０．３２μ秒の時間ｔにおいて起こる。
【００３６】
図３Ｅにおいて、最後のクラスＡフレームの最後のビットがブリッジ４０から送信されている。このことは、第１のクラスＡフレームに関連する遅延時間である３．５８４μ秒にトーカーからブリッジ４０へのクラスＡフレームの送信時間である２０．３２μ秒を加算した時間である２３．９０４μ秒に等しい時間ｔにおいて起こる。２３．９０４μ秒は、ブリッジ４０の最初のビットの受信−最後のビットの送信時間である。最後のビットの受信−最後のビットの送信時間は、最初のビットの受信−最後のビットの送信時間である２３．９０４μ秒から送信時間である２０．４８μ秒を減算することにより求めてもよく、３．５８４μ秒となる。最後のビットの受信−最後のビットの送信時間は、最後のクラスＡフレームの最後のビットが受信された時間から最後のクラスＡフレームの最後のビットがブリッジ４０から送信された時間を減算した時間にも等しい。
【００３７】
タイプＩＩ送信におけるブリッジ４０の最大レイテンシは、ブリッジ４０の遅延期間ｔＢｒｉｄｇｅに最大サイズのクラスＡフレームを受信する時間ｔＭＡＸＦｒａｍｅを加算し、ケーブル遅延期間ｔＣａｂｌｅを加算して求めてもよい。２つのスロットタイムのブリッジ遅延および３００バイトの最大のクラスＡフレームサイズで、最大レイテンシは、１．０２４μ秒（ｔＢｒｉｄｇｅ）に２．５６μ秒（ｔＭＡＸＦｒａｍｅ）を加算し、０．５３８μ秒（ｔＣａｂｌｅ）を加算した４．１２２μ秒となる。最大レイテンシは、最後のビットの受信−最後のビットの送信時間である３．５８４μ秒に０．５３８μ秒のケーブル遅延時間を加算した時間に等しい。
【００３８】
図２Ａ〜３Ｅに示される最大レイテンシに基づくと、輻輳に関連するレイテンシは、輻輳が発生しない場合のレイテンシより長い。非任意ネットワークにおいて、輻輳を発生させることなく送信を行うことが出来る。
【００３９】
タイプＩＩ送信におけるＧＥマージンを求める例
一例として、ＧＥ制御フレームは２５６ペイロードバイトを有し、５００μ秒あたり３２の制御フレームが送信され得る。制御フレームのそれぞれは、２２バイトのオーバーヘッドを有し得、２０バイトのＩＦＧを有し得る。各制御フレームのトーカーからの送信に関連する遅延期間は、輻輳が発生しない場合において、２．３８４μ秒（または２９８バイト×８ビット×１ナノ秒）となる。プリアンブルまたはＩＦＧなしで制御フレームのトーカーからの送信に関連する遅延期間は、輻輳が発生しない場合において、２．２２４μ秒（または２７８バイト×８ビット×１ナノ秒）である。トーカーから３２のフレームを送信する時間は、輻輳がない場合において、７６．２８８μ秒（または２．３８４μ秒×３２）である。ＩＦＧがない場合、レイテンシは７２．８μ秒である。このため、ＧＥのレイテンシは、１００μ秒以下の時間でトーカーから３２のフレームを送信しなければならないＡＶＢ第２世代の基準を満たす。ＧＥを用いてデータを送信するネットワークは、輻輳がある場合の１００μ秒の基準を満たす。
【００４０】
制御フレームのうち１つを送信する時間（２７８バイト）である２．２２４μ秒にブリッジが制御フレームを処理する時間（例えば、２つの５１２ビットの時間に等しい１．０２４μ秒）を加算した時間に基づくと、１ホップのレイテンシは３．２４８μ秒となる。４回のブリッジホップでは、レイテンシは１２．９９２μ秒となる。その結果、輻輳がない場合において、トーカーから制御フレームを送信する時間、および４つのブリッジが制御フレームを処理する時間を含む合計の送信時間は、１５．２１６μ秒となる。このため、ＧＥのレイテンシは、５回を超えるホップで１００μ秒以下の時間で制御フレームを送信しなければならないＡＶＢ第２世代の基準を、８４μ秒（残された時間）を超えるマージンを残して満たす。ＧＥにおいて８４μ秒のマージンは、周期的送信時間間隔内でデータの他のフレームを送信するのに用いることが出来る。この送信は干渉フレームなしで実行され得、トーカーのイグレスモジュールが受信し、トーカーから送信される制御フレームの調整された送信に基づく。調製された送信タイミングなしでは、マージンは短くなる。
【００４１】
ＡＶＢ第２世代のトーカーの最大レイテンシは、トーカーのメディアアクセスコントローラの内部遅延期間ｔＭＡＣ、最大サイズの干渉フレームを送信する時間ｔＭＡＸ、クラスＡデータを送信する時間ｔＡ、および１００メートルのケーブルを介してビットを送信する時間ｔｃａｂｌｅを合計することにより計算される。それぞれが２０バイトのプリアンブルおよびＩＦＧ、および１５２２バイトに等しいＭＡＣ遅延を有する８つの３００バイトのクラスＡフレームを送信することを想定すると、トーカーの最大レイテンシは、３３．８６６μ秒であり、このうち、ｔＭＡＣ＝０．５１２μ秒、ｔＭＡＸ＝１２．３３６μ秒、ｔＡ＝２０．４８μ秒、ｔｃａｂｌｅ＝０．５３８μ秒である。３３．８６６μ秒である最大レイテンシは、トーカーから最後のフレームの最後のビットを、トーカーのダウンストリームにあるネットワークデバイス、またはノード（例えばブリッジ、またはレシーバ）へ転送するまでの合計時間である。最大レイテンシは、シェーパーを用いずに計算される（つまり、ＩＦＧおよび制御フレームが周期的送信時間間隔に亘り割り振られない）。
【００４２】
タイプＩＩ送信のＦＥマージンを求める例
一例として、ＦＦ制御フレームは１２８バイトのデータを有する。８つの制御フレームが、例えば５００μ秒である周期的送信時間間隔毎に送信され得る。制御フレームのそれぞれは、２０バイトのプリアンブルおよび／またはＩＦＧ時間で送信され得る。よって制御フレームを送信する時間は、１３．６μ秒（または１７０バイト×８ビット×１０ナノ秒）となる。８つのフレームのレイテンシは、１３６０バイトの時間（または１７０バイト×８フレーム）となる。その結果、８つのフレームを送信する時間は１０８．８μ秒（または、１３．６μ秒×８フレーム）となる。８つのフレームを送信する時間は、要求される１００μ秒よりも長くなる。ＦＥのＡＶＢ第２世代の送信において、レイテンシは５回のホップで１００μ秒以下であることが求められる。このため、図５に示される（以下にさらに説明される）ようにフレームの調整された送信が行われる。この調整により、５回を超えるホップでのレイテンシは、いずれのホップでも輻輳がなかった場合において１００μ秒となる。よってＦＥを用いた際に、周期的送信時間間隔内で輻輳を引き起こし得る他のデータフレームの送信に用いることが出来る残されたマージンはゼロである。１以上のビットの干渉により８つのフレームを送信する時間はさらに長くなる。その結果、ＦＥを用いた８つのデータフレームの従来の送信は、ＡＶＢ第２世代のレイテンシに関する基準を満たさない。
【００４３】
続く図４および５は、トーカー、４つのブリッジ、およびリスナーを含むネットワークに関するタイミング図を示す。トーカーからデータが送信され、４つのブリッジを通過し、リスナーにより受信される。ブリッジは格納および転送ブリッジである（つまり、ブロックシェーパーは用いられない）。図４は、８つのフレームＡ〜Ｈの並列受信（つまり同じ期間内での受信）に関連するレイテンシを示すタイミング図である１００である。８つのフレームＡ〜Ｈは、周期的送信時間間隔１０４（例えば、１２５μ秒）内でトーカーにより受信され送信される。ネットワークのレイテンシ１０６は、８つのフレームＡ〜Ｈの最後のビットがトーカーから送信されてから、第８のフレームＨの最後のビットがリスナーによって受信されるまでの時間として計測される。８つのフレームＡ〜Ｈは並列受信されるが、８つのフレームＡ〜Ｈは、トーカーおよびブリッジから順次送信される。トーカーからの送信は、トーカーイグレスと呼ぶ。ブリッジからの送信はブリッジイグレスと呼ぶ。
【００４４】
図５は、調整された送信におけるレイテンシを示すタイミング図である１１０である。調製された送信とは、連続するフレームのペアの間にＩＦＧが含まれる所定の期間毎のフレームの順次の送信を指す。８つのフレームＡ〜Ｈは周期的送信時間間隔１０４（例えば１２５μ秒）内にトーカーによって受信および送信される。レイテンシ１１２は、第８のフレームＨの最後のビットがトーカーから送信されてから、第８のフレームＨの最後のフレームがリスナーにより受信されるまでの時間として計測されるので、調整された送信のレイテンシ１１２は、並列送信のレイテンシ１０６よりも短い。
【００４５】
１２８バイトの各フレームのレイテンシは、トーカーがフレームを送信する時間に４つのブリッジのそれぞれがフレームを受信し転送するまでの遅延時間を加算した時間に等しい。一例として、トーカーの送信時間は、１５０バイトの時間、または１２．０μ秒（１５０バイト×８ビット×１０ナノ秒）である。１５０バイトの時間は、１２８バイトにオーバーヘッドの２２バイト（例えばプリアンブルおよびＩＦＧ）を加算したものである。各ブリッジがフレームを処理する時間は１０．００μ秒（およそ２つの５１２ビットの時間）となる。トーカーからのフレームの送信、および１つのブリッジを介するフレームの処理に関連するレイテンシは、１２．０μ秒に１０．００μ秒を加算した２２．００μ秒である。その結果、トーカーからのフレームの送信、および４つのブリッジを介するフレームの処理に関連するレイテンシは、１００．００μ秒（１２．０μ秒＋４×２２．００μ秒）であり、１００μ秒の基準と等しい。輻輳がある場合、レイテンシはさらに長くなり、レイテンシに関する基準を満たさなくなる。時間非認識のシステムにおいて輻輳は通常の状態であるので、従来のＦＥシステムはレイテンシに関する基準を満たさない。以下に開示する実施例では、トーカーおよびブリッジの送信を制御し、１００μ秒の基準より短いＦＥのレイテンシを実現する。
【００４６】
以下に説明する実施例は、非任意ネットワーク（以下、ネットワークと呼ぶ）を対象とする。ネットワークは例えば、自動車のネットワーク、製造施設のネットワーク、および／または組み立てラインネットワークであってもよい。ネットワークは、トーカー、ブリッジ、レシーバ、および時間トランスレータデバイスなどの様々なネットワークデバイスを含み得る。各ネットワークデバイスはトーカー、ブリッジ、レシーバ、および時間トランスレータデバイスのいずれかとしてラベル付けされているが、ネットワークデバイスのそれぞれが、トーカー、ブリッジ、レシーバ、および／または時間トランスレータデバイスとして動作し得る。ネットワークデバイス間のインタフェース、ケーブル、および／または媒体は、コントローラエリアネットワーク（ＣＡＮ）、および／または、ＦｌｅｘＲａｙインタフェースおよびバス、カテゴリー（ＣＡＴ）５の通信ケーブル、または他の適したインタフェース、ケーブル、および／または媒体を含み得る。
【００４７】
データはネットワークを介し、エンド局と呼ぶ２つのネットワークデバイス間で送信される。データは、第１のネットワークデバイスまたは第１のエンド局（例えばトーカー）から最後のネットワークデバイスまたは最後のエンド局（例えばレシーバ）へ１つの方向へ送信されているものとして説明するが、データ送信はネットワーク内の何れの局によって開始されてもよく、ネットワーク内の何れの局によって受信されてもよい。データは異なる複数の対応する優先レベルを有し得、それら優先レベルに基づいて送信されてよい。
【００４８】
優先レベルは、例えば保護されたクラスＡのＡＶＢデータ（クラスＡデータと呼ぶ）、保護されたクラスＢのＡＶＢデータ（クラスＢデータ）、および保護されていない非ＡＶＢデータを含んでよい。保護されたデータは所定の帯域幅（つまり周期的送信時間間隔内の割り当てられた期間）、および所定の最大レイテンシ（または所定の最大レイテンシ）を有し得る。特定の優先レベルの保護データは、ネットワーク内の１つのネットワークデバイス毎に所定の最大レイテンシを有し、および／または、局間の合計の最大レイテンシを有し得る。
【００４９】
クラスＡデータは、最も高い優先レベルを有し、最も短いレイテンシを有し得、第１の所定の帯域幅（つまり、周期的送信時間間隔内の第１の割り当て期間）および第１の所定の最大レイテンシが与えられる。クラスＡデータは制御データを含み得る。一例として、自動車のネットワークへの適用例において、クラスＡデータは、乗り物のエンジンを制御する、またはブレーキを動作させるのに用いられるデータであってよい。クラスＢデータは、２番目に高い優先レベルを有し、クラスＡデータより長いレイテンシを有し得、第２の所定の帯域幅、および／または所定の最大レイテンシを与えられる。一例として、自動車のネットワークの適用例において、クラスＢデータはエンターテイメントシステムのデータを含んでよい。非ＡＶＢデータは最も低い優先レベルを有し、所定の帯域幅が与えられず、および／または所定の最大レイテンシが与えられない。ネットワークにおいて、データは、それぞれが複数の優先レベルのうち特定の優先レベルと関連付けられた所定のサイズのバーストとして送信されてよい。バーストは、周期的送信時間間隔の間の割り当てられた時間に起こり得る。一例として、クラスＡデータはネットワークデバイスのイグレスモジュール（トーカー、時間トランスレータデバイス、および／またはブリッジ）から１２５μ秒の周期的送信時間間隔のそれぞれの間の４０μ秒間、送信される、
【００５０】
図６は、クラスＡに割り当てられた期間またはウィンドウ、および対応する周期的送信時間間隔を示すタイミング図である１１８である。クラスＡデータはトーカーから、周期的送信時間間隔の割り当てられた時間ウィンドウ内で送信される。割り当てられた時間のそれぞれは、開始時間ｔ０を有する。図６において、２つの例示的な割り当てられた時間ウィンドウ１２０、１２２、および対応する周期的送信時間間隔１２４、１２６が示されている。各周期的送信時間間隔はサイクルとも呼ぶ。２つの周期的送信時間間隔１２４、１２６のサイクルは、ｎおよびｎ＋１でラベル付けされている。
【００５１】
あくまで例としてではあるが、ＦＥの基準は、５００μ秒（周期的送信時間間隔）毎に１２８バイトの８つのフレームを送信することを含む。各周期的送信時間間隔内のクラスＡデータに割り当てられた時間ウィンドウ（短いレイテンシデータとも呼ぶ）は１０８．８μ秒であり得る。８つのフレームに関しては、この時間には、１２８バイトのデータに関連付けられた時間および２２バイトのオーバーヘッドデータ、および／または、プリアンブルデータおよびＩＦＧに関連付けられた２０バイトの時間が含まれ得る。バーストウィンドウが１０８．８μ秒であるので、他のデータ（短くないレイテンシデータとも呼ぶ）に与えられるのは３９１．２μ秒となる。
【００５２】
他の例として、ＧＥの基準は、５００μ秒毎に２５６バイトの３２のフレームを送信することを含む。各周期的送信時間間隔内のクラスＡデータに割り当てられた時間ウィンドウは７６．２８８μ秒であり得る。３２のフレームに関しては、この時間には、２５６バイトのデータに関連付けられた時間および２２バイトのオーバーヘッドデータ、および／または、プリアンブルデータおよびＩＦＧに関連付けられた２０バイトの時間が含まれ得る。バーストウィンドウが７６．２８８μ秒であるので、他のデータ（短くないレイテンシデータとも呼ぶ）に与えられるのは４２３．７１２μ秒となる。
【００５３】
ＡＶＢ第２世代の基準を満たすには、クラスＡデータは、ＦＥおよびＧＥの両方に関し、１００μ秒以下の遅延で５回以上のホップで送信されなければならない。本明細書ではＦＥおよびＧＥが開示されるが、本明細書で開示される実施例は、他の送信速度にも適用することが出来る。また主にＥｔｈｅｒｎｅｔ（登録商標）ネットワークに関して実施例を説明するが、当該実施例は、他のネットワークにも適用することが出来る。
【００５４】
図７は、非任意ネットワーク１５０を示す。非任意ネットワーク１５０は、１以上のトーカー（３つのトーカー１５２、１５４、１５６が示されている）、１以上のブリッジ（２つのブリッジ１５８、１６０が示されている）、およびリスナー１６２を含む。トーカー１５２、１５４、１５６はリスナー１６２へデータを送信するので、ソースとも呼ぶ。リスナー１６２はトーカー１５２、１５４、１５６からデータを受信するので、レシーバとも呼ぶ。トーカー１５２、１５４、１５６およびブリッジ１５８、１６０はそれぞれ、イグレスモジュール１６４、１６６、１６８、１７０、１７２を含んでよい。ブリッジ１５８、１６０は正確なタイミングのプロトコル（ＰＴＰ）を実現するＩＥＥＥ８０２．１ＡＳに準拠してよい。ブリッジ１５８、１６０は、エンド局（例えば、トーカー１５２、１５４、１５６およびリスナー１６２）間のネットワークデバイスのデイジーチェーンを形成する。イグレスモジュール１６４、１６６、１６８、１７０、１７２はそれぞれ、シェーパー１７４、１７６、１７８、１８０、１８２、および／またはタイミングモジュール１８４、１８６、１８８、１９０、１９２を含んでよい。
【００５５】
シェーパー１７４、１７６、１７８、１８０、１８２は、ブロックシェーパー、および／またはデブロックシェーパーを含んでよい。ブロックシェーパーは、時間非認識ブロックシェーパー、および時間認識ブロックシェーパー（ＴＡＢＳ）を含んでよい。時間非認識ブロックシェーパー、時間認識ブロックシェーパー、およびデブロックシェーパーの例は、図１０、１１、および１３〜１５に示されている。時間認識ブロックシェーパーは、グランドマスタークロック２００により生成されるグローバルクロック信号に基づいて動作する。グランドマスタークロック２００は、ネットワーク１５０のネットワークデバイスの何れに位置していてもよい。グローバルクロック信号は、ネットワーク１５０のネットワークデバイスのいずれによって共有されていてもよい。一例として、グランドマスタークロック２００はトーカー１５４内に示されているが、他のトーカー１５２、１５６のうちの１つ、ブリッジ１５８、１６０のうちの１つ、リスナー１６２、またはネットワーク１５０に接続された他のネットワークデバイスに位置してもよい。
【００５６】
時間認識ブロックシェーパーは優先度の高くないデータ（例えばクラスＡ以外のデータ、またはクラスＢデータ、および／または非ＡＶＢデータ）の送信の開始を遅延させ得る。この遅延は、優先度が最も高いデータ（クラスＡデータ）の送信タイミングに基づいて実行されてもよい。クラスＡデータおよびクラスＡ以外のデータの送信タイミングは、優先タイミング信号を生成するタイミングモジュール１８４、１８６、１８８、１９０、１９２によって決められてよい。各優先タイミング信号は、対応するデータの送信が許可される、または許可されないウィンドウを示してよい。クラスＡ以外のデータ（またはクラスＢデータ、および／または非保護データ）に関して生成された優先タイミング信号は、各周期的送信時間間隔内の割り当てられた期間に基づいて生成されてよい。優先度が最も高いデータ（クラスＡデータ）は、それぞれの割り当てられた期間に送信される。これにより、クラスＡバーストが他のデータ（優先度が最も高くはないデータ）の送信によって干渉されないようイグレスモジュールの出力をアイドル状態に確実にしておくことが出来る。
【００５７】
グランドマスタークロック２００を含むネットワークデバイス、またはネットワーク１５０内の他のネットワークデバイスのうちの１つは、時間管理モジュール２０２を含んでよい。グランドマスタークロック２００を有するネットワークデバイス、および／または時間管理モジュール２０２はマスターデバイスと呼んでもよい。グランドマスタークロック２００、および／または時間管理モジュール２０２を有さないデバイスは、スレーブデバイスと呼んでもよい。時間管理モジュール２０２は、グランドマスタークロック２００、および／または時間間隔モジュール２０４を含んでよい。時間間隔モジュール２０４は、周期的送信時間間隔（つまり周期的送信時間間隔の長さ）、および、各周期的送信時間間隔の開始時間ｔ０を設定してよい。グローバルクロック信号、周期的送信時間間隔、および周期的送信時間間隔の開始時間ｔ０は、管理情報ベース（ＭＩＢ）モジュール、および／または単純な管理ネットワークプロトコル（ＳＭＮＰ）を用いて複数のネットワークデバイス間で共有されてもよい。
【００５８】
トーカー（例えばトーカー１５２）に最も近いブリッジ（例えばブリッジ１５８）は、時間トランスレータデバイスとして動作してもよい。時間認識ブロックシェーパーを有さないトーカーと、時間認識ブロックシェーパーを有するブリッジとの間には時間トランスレータデバイスが組み込まれてもよい。ブリッジは単一の入力ポートおよび単一の出力ポートを有してもよく、またはブリッジのポートのうち２つは、他のポートが無効にされている間、有効にされてもよい。ブリッジのイグレスモジュールがポートを有効化および無効化してもよい。時間トランスレータデバイスとして動作する際、ブリッジは単一の入力ポートが有効化され、単一の出力ポートが有効化される。また、時間トランスレータデバイスとして動作する際（時間トランスレータモードでの動作とも呼ぶ）、ブリッジは、クラスＡフレームの時間認識デブロックを実行し、および／または非クラスＡフレームの時間認識ブロックを実行し、クラスＡフレーム、および／または非クラスＡフレームの送信タイミングを調整する。このことは図１０、および対応する時間トランスレータモードの動作を参照し以下により詳細に説明される。
【００５９】
リスナー１６２はブリッジ１５８、１６０を介してトーカー１５２、１５４、１５６からデータを受信する。リスナー１６２はリスナー制御モジュール２１０を含んでよい。リスナー制御モジュール２１０は、トーカー１５２、１５４、１５６から受信したデータに基づき、動作し、および／またはネットワークの１以上のセンサ、モータ、アクチュエータ、または他のデバイスをモニタリングする、または動作させる。
【００６０】
トーカー１５２、１５４、１５６、ブリッジ１５８、１６０、および／またはリスナー１６２は、有線、または無線接続、および／または媒体を介して互いに通信を行ってよい。無線接続、および／または媒体は、ＩＥＥＥ規格８０２．１１、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｈ、８０２．１１ｎ、８０２．１６、および８０２．２０などに準拠してもよい。
【００６１】
図８は、図７のネットワークのトーカー１５２、１５４、１５６のうちの（参照符号が２２０の）１つの例を示す。トーカー２２０は、ホスト制御モジュール２２２およびインタフェースモジュール２２４を含んでよい。ホスト制御モジュール２２２は、例えばプロセッサを含んでよく、インタフェースモジュール２２４へ異なる複数の優先レベルのデータを提供してよい。データは、クラスＡデータ、クラスＢデータ、および非ＡＶＢデータを含んでよい。インタフェースモジュール２２４は、例えばネットワークインタフェースカードまたは他の適したインタフェースであってよい。インタフェースモジュール２２４は、トーカーイングレスモジュール２２６およびトーカーイグレスモジュール２２８を含む。
【００６２】
トーカーイングレスモジュール２２６は、例えばトーカーパースモジュール２３０およびトーカーメモリ２３２を含んでよい。トーカーパースモジュール２３０はデータのパケット２３４をホスト制御モジュール２２２から受信し、パケット２３４をパースし、パケット２３４のフレームに与えられたヘッダに基づき記述子２３６を生成してよい。各記述子２３６は、対応するパケットおよび／またはフレームのサイズ、周期的送信時間間隔の開始時間、周期的送信時間間隔の長さ、並びに／或いはソース、および／または宛先のアドレスを含んでよい。受信される各パケットは、所定の数のデータフレームを含んでよい。パケット２３４および記述子２３６は、トーカーメモリ２３２に格納されてもよく、トーカーイグレスモジュール２２８への記述子信号に与えられてもよい。
【００６３】
トーカーイグレスモジュール２２８は、トーカーシェーパー２４０（例えば、図７のトーカーシェーパー１７４、１７６、１７８）、およびトーカータイミングモジュール２４２（例えば、図７のトーカータイミングモジュール１８４、１８６、１８８のうちの１つ）を含む。トーカーシェーパー２４０は、トーカータイミングモジュール２４２からの優先タイミング信号に基づき動作する。トーカーイングレスモジュール２２６および／またはトーカーイグレスモジュール２２８はメディアアクセスコントローラ（ＭＡＣ）を含んでよい。
【００６４】
図９は、図７のブリッジ１５８、１６０のうちの（参照符号が２５０の）１つの例を示す。ブリッジ２５０は、入力ポート１〜Ｎ、ブリッジイングレスモジュール２５２、ブリッジイグレスモジュール２５４、および出力ポート１〜Ｍを含む。ポートＮ、Ｍはそれぞれ入力ポートおよび出力ポートとしてラベル付けされているが、ポートＮ、Ｍのそれぞれは、入力ポートおよび／または出力ポートをして動作してもよい。また、ポートＮ、Ｍのそれぞれは、ブリッジイングレスモジュール２５２、および／またはブリッジイグレスモジュール２５４へ接続されてもよい。加えて、ブリッジ２５０は、任意の数の入力ポートおよび出力ポートを含んでよい。
【００６５】
ブリッジイングレスモジュール２５２は、ブリッジパースモジュール２５６およびブリッジメモリ２５８を含む。ブリッジパースモジュール２５６は、トーカー、ブリッジ、および／または時間トランスレータデバイスからデータを受信してもよい。ブリッジパースモジュール２５６は、受信したパケット２６０をパースし、パケット２６０のフレームに与えられたヘッダに基づき記述子２６２を生成してもよい。各記述子２６２は、対応するパケットおよび／またはフレームのサイズ、周期的送信時間間隔の開始時間、周期的送信時間間隔の長さ、並びに／或いはソース、および／または宛先のアドレスを含んでよい。受信される各パケットは、所定の数のデータフレームを含んでよい。パケット２６０および記述子２６２は、ブリッジメモリ２５８に格納されてもよく、ブリッジイグレスモジュール２５４への記述子信号に与えられてもよい。ブリッジイグレスモジュール２５４は、ブリッジシェーパー２６４（例えば、図７のブリッジシェーパー１８０、１８２）、および、ブリッジタイミングモジュール２６６（例えば、図７のブリッジタイミングモジュール１９０、１９２のうちの１つ）を含む。ブリッジシェーパー２６４は、ブリッジタイミングモジュール２６６からの優先タイミング信号に基づいて動作する。ブリッジイングレスモジュール２５２および／またはブリッジイグレスモジュール２５４はＭＡＣを含んでよい。
【００６６】
図１０は、ネットワークデバイス２７０を示す。ネットワークデバイス２７０は、イングレスモジュール２７２を有するデータブロックシステム２７１を含み、かつ、イグレスネットワーク２７６を有するイグレスモジュール２７４を含む。図７のネットワーク１５０のトーカー１５２、１５４、１５６およびブリッジ１５８、１６０のそれぞれは、ネットワークデバイス２７０と置き換えられてもよく、および／または、イングレスモジュール２７２および／またはイグレスモジュール２７４を含んでもよい。ネットワークデバイス２７０は、トーカー、ブリッジ、および時間トランスレータデバイスとして動作してもよいので、トーカーモード、ブリッジモード、および時間トランスレータモードを含む。
【００６７】
イングレスモジュール２７２は、トーカー、ブリッジ、および／または時間トランスレータデバイスのホスト制御モジュールからデータフレーム（以下、フレームとも呼ぶ）を受信する。イングレスモジュール２７２はフレームをパースし、イグレスモジュール２７４の各キューへフレームを提供する。イグレスネットワーク２７６は、単一の出力ポート（例えば図９の出力ポートＭのうちの１つ）と関連付けられてもよい。イグレスモジュール２７４は、他の出力ポート用に同様のイグレスネットワークを含んでもよい。イグレスネットワーク２７６は、それぞれ優先レベルを有するキュー１−Ｘを含む。イグレスネットワーク２７６は、任意の数の、各優先レベルのキューを含んでよい。一例として、イグレスモジュール２７４は、クラスＡデータを受信する１以上のクラスＡキュー２７８、クラスＢデータを受信する１以上のクラスＢキュー２８０、および非ＡＶＢデータを受信する１以上の非ＡＶＢキュー２８２を含む。キュー１−Ｘのそれぞれは、レジスタとして動作してよく、各優先レベルのフレームを格納してもよい。
【００６８】
またイグレスネットワーク２７６は、タイミングモジュール２９０、時間認識デブロックシェーパー２９２（図１０にデブロックシェーパーｆＤとして示すＴＡＤＳ／以下、デブロックシェーパーとも呼ぶ）、時間非認識ブロックシェーパー２９４（図１０にブロックシェーパーｆＱとして示す）、時間認識ブロックシェーパー２９６（図１０にブロックシェーパーｆＢとして示すＴＡＢＳ）、選択モジュール２９８、起動モジュール３００、および第１マルチプレクサ３０２を含む。時間非認識ブロックシェーパー２９４および時間認識ブロックシェーパー２９６は、個別にブロックシェーパーと呼ぶ、および／または総じてブロックシェーパーと呼ぶ。デブロックシェーパー２９２およびブロックシェーパー２９４、２９６はそれぞれシェーパーモジュールとも呼ぶ。
【００６９】
タイミングモジュール２９０は、デブロックシェーパー２９２および時間認識ブロックシェーパー２９６のそれぞれに関し、優先タイミング信号を生成する。各優先タイミング信号は、デブロックシェーパー２９２および時間認識ブロックシェーパー２９６がデータの通過を許可するか、または選択モジュール２９８がデータを選択するのをブロックする時間ウィンドウを設定する。デブロックシェーパー２９２に関して生成された優先タイミング信号は、デブロックシェーパー２９２がクラスＡフレームの第１マルチプレクサ３０２への通過をブロックしない時間を示してもよい。時間認識ブロックシェーパー２９６に関して生成された優先タイミング信号は、時間認識ブロックシェーパー２９６がクラスＢキューおよび非ＡＶＢキューに含まれるデータをブロックする時間を示してもよい。時間認識ブロックシェーパー２９６はそれぞれ同じ優先タイミング信号を受信してもよく、または異なる優先タイミング信号を受信してもよい。
【００７０】
ネットワークデバイス２７０は、任意の数のデブロックシェーパーおよびブロックシェーパーを含んでもよい。デブロックシェーパーおよびブロックシェーパーの数は、クラスＡキュー、クラスＢキュー、および非ＡＶＢキューの数に応じてもよい。クラスＡキューはそれぞれ対応するデブロックシェーパーを有してもよい。デブロックシェーパーおよび対応する送信パスによって、優先度の低い他の送信パスの干渉が防がれるので、レイテンシのレベルは最も低くなる。
【００７１】
デブロックシェーパー２９２を用いて、適切な時間に例えばトーカーおよび／または時間トランスレータデバイスからデータが確実に送られるようにすることが出来る。トーカーモードで動作する際、ネットワークデバイス２７０はクラスＡバーストの前にクラスＡキュー２７８のクラスＡフレームをアップロードする。クラスＡバーストは、クラスＡキュー２７８からのクラスＡフレームを転送し、周期的送信時間間隔内の所定の期間、ネットワークデバイス２７０からクラスＡフレームを送信することを含む。デブロックシェーパー２９２は、クラスＡバーストがいつ開始するのかを制御し、さらに、クラスＡバーストの間、クラスＡフレームの送信タイミングを制御する。クラスＡバーストの間、時間認識ブロックシェーパー２９６は非クラスＡフレーム（例えばクラスＢフレームまたは非ＡＶＢデータ）の送信をブロックし、非クラスＡキューをアイドル状態とする。
【００７２】
クラスＡキュー２７８およびクラスＢキュー２８０はそれぞれ、対応する時間非認識ブロックシェーパー（例えば、時間非認識ブロックシェーパー２９４のうちの１つ）を有してよい。クラスＢキュー２８０および非ＡＶＢキュー２８２はそれぞれ、対応する時間認識ブロックシェーパー（例えば、時間認識ブロックシェーパー２９６のうちの１つ）を有してよい。時間非認識ブロックシェーパー２９４はデブロックシェーパー２９２および時間認識ブロックシェーパー２９６のそれぞれと直列で接続される。時間非認識ブロックシェーパー２９４を用いて、フレーム送信のペースを保ってもよく、ＩＥＥＥ８０２．１Ｑａｖに準拠してもよい。時間認識ブロックシェーパー２９６は、クラスＡフレームの送信期間、選択モジュール２９８がクラスＢキュー２８０および非ＡＶＢキュー２８２に含まれるフレームを選択するのをブロックする。これにより、クラスＡフレームの他のフレームとの干渉を防ぐことが出来、クラスＡフレームのレイテンシを最小化出来る。
【００７３】
時間非認識ブロックシェーパー２９４は選択モジュール２９８に対して、デブロックシェーパー２９２および時間認識ブロックシェーパー２９６と並列動作してよい。例えば、クラスＡデータは、デブロックシェーパー２９２、および時間非認識ブロックシェーパー２９４のうちの対応する１つに基づき、クラスＡキュー２７８から第１マルチプレクサ３０２へと通過してもよい。クラスＢデータは、時間非認識ブロックシェーパー２９４および時間認識ブロックシェーパー２９６のうちそれぞれの対応する１つに基づき、クラスＢキュー２８０から第１マルチプレクサ３０２へ通過してもよい。
【００７４】
キュー１〜Ｘ、デブロックシェーパー２９２、およびブロックシェーパー２９４、２９６のそれぞれは関連付けられた送信パスを有する。各送信パスは、キュー１〜Ｘのうち対応する１つを含み、デブロックシェーパー２９２およびブロックシェーパー２９４、２９６のうち１以上を含み得る。デブロックシェーパー２９２およびブロックシェーパー２９４、２９６のそれぞれは、対応するデブロック信号およびブロック信号を生成する。デブロック信号およびブロック信号は、選択モジュール２９８により受信され、あるフレームが対応するキューにあり、第１マルチプレクサ３０２へ転送される準備が出来る時間を示す。
【００７５】
フレームはキューにあってもよく、対応するデブロック信号またはブロック信号は、キューにフレームがないこと、および／またはフレームが選択される準備が出来ていないことを示してもよい。デブロック信号またはブロック信号は、対応する優先タイミング信号に基づいて、フレームがないこと、および／またはフレームが送信される準備が出来ていないことを示してもよい。これにより、不適切な時間におけるフレーム送信がブロックされる。一例として、クラスＢフレームがクラスＢキュー２８０にあるとき、時間認識ブロックシェーパー２９６のうち１つが、ブロック信号を生成してもよい。ブロック信号は、クラスＢフレームがクラスＢキュー２８０にないことを示し、これにより例えばクラスＡフレームの送信期間の前に、および／または間に、選択モジュール２９８がクラスＢフレームを選択するのをブロックしてもよい。これにより、クラスＡフレームの送信干渉を防ぐことが出来る。
【００７６】
選択モジュール２９８は、第１マルチプレクサ３０２により受信される選択信号を生成し、第１マルチプレクサ３０２は当該選択信号に基づきキュー１〜Ｘを選択する。選択モジュール２９８はストリクトスタイルセレクタであってもよい。ストリクトスタイルセレクタは、次に高い優先レベルのキューからのフレームの送信が許可される前に、複数のフレームを有する最も優先レベルの高いキューに含まれる全てのフレームの送信を許可する。このことは、ストリクトセレクタがフレームがキューにあるかどうかを判断することを含め、キューの状態を直接的にモニタリングしている時に起こる。
【００７７】
以下の実施例において、キュー１〜Ｘの状態を選択モジュール２９８が直接モニタリングする代わりに、選択モジュール２９８は、デブロックシェーパー２９２および／またはブロックシェーパー２９４、２９６から受信するデブロック信号またはブロック信号をモニタリングする。選択モジュール２９８はその後、デブロック信号またはブロック信号に基づいて、キューからのフレームの通過を許可する選択信号を生成する。デブロックシェーパー２９２、およびブロックシェーパー２９４、２９６は、選択モジュール２９８がキュー１〜Ｘにあるフレームを直接的に「見る」ことを防ぐ。
【００７８】
起動モジュール３００は、ネットワークデバイス２７０の動作モードに基づきデブロックシェーパー２９２およびブロックシェーパー２９４、２９６を有効化および無効化する。例えば、トーカーモードおよび／または時間トランスレータモードで動作している際、デブロックシェーパー２９２が有効化されてもよい。クラスＡフレームのレイテンシを短くするべく時間非認識ブロックシェーパー２９４を無効化してもよい。時間認識ブロックシェーパー２９６は有効化されてもよい。一実施例において、時間認識ブロックシェーパー２９６が無効化される。他の例において、ブリッジモードで動作している際、デブロックシェーパー２９２が無効化され、ブロックシェーパー２９４、２９６が有効化されてもよい。
【００７９】
他の例として、ネットワークデバイス２７０がプロオーディオ環境で用いられている場合、時間非認識ブロックシェーパー２９４が有効化され、デブロックシェーパー２９２が無効化されてもよい。さらに他の例において、自動車のネットワーク環境においてクラスＡフレームが送信される際、時間非認識ブロックシェーパー２９４が無効化され、デブロックシェーパー２９２が有効化されてもよい。これにより、クラスＡフレームのレイテンシが短くなり、さらに、所定の帯域幅に関する基準、および最大フレームのレイテンシに関する基準を満たすことが出来る。
【００８０】
時間トランスレータモードで動作しているとき、ネットワークデバイス２７０はデブロックを行うべくトーカーの出力に接続されてもよい。ネットワークデバイス２７０は、時間トランスレータデバイスとして構成されてもよく、時間非認識トーカーの出力において組み込まれ、デブロックを行い、クラスＡフレームの送信タイミングを調整してもよい。ネットワークデバイス２７０は、単一の入力ポートおよび単一の出力ポートを有効化し、他のポートは無効化してもよい。このことは、トーカーがデブロックシェーパー、および／または時間認識ブロックシェーパーを含まない時に、クラスＡフレームが適切な時間に確実に送信されるように実行されてもよい。適切な時間のクラスＡフレームの送信とは、周期的送信時間間隔の所定の開始時間ｔ０でのクラスＡフレームの送信の開始、および周期的送信時間間隔の所定のクラスＡバーストウィンドウの間の適切な時間のクラスＡフレームの送信を含む。
【００８１】
またイグレスモジュール２７４は、カットスルーモードで動作してもよく、カットスルーモジュール３１０および第２マルチプレクサ３１２を含んでもよい。カットスルーモジュール３１０および第２マルチプレクサ３１２を用いて、最も優先度の高いフレーム（例えば、クラスＡフレーム）のレイテンシをさらに最小化する。カットスルーモジュール３１０は、（参照番号が３１３の）グローバルクロック信号を受信し、当該信号に基づき動作することにより時間を認識して動作してもよい。カットスルーモジュール３１０は時間認識カットスルーシェーパー（ＴＡＣＳ）とも呼ぶ。
【００８２】
カットスルーモジュール３１０は、ネットワークデバイス２７０の出力３１４（例えば出力ポート）でのアクティビティをモニタリングし、クラスＡフレームがイングレスモジュール２７２から、クラスＡキュー２７８、対応するデブロックシェーパー２９２、および／または時間非認識ブロックシェーパー２９４、および第１マルチプレクサ３０２をバイパスして、第２マルチプレクサ３１２へ通過することを許可してもよい。出力３１４でのアクティビティは示されたように直接モニタリングされてもよく、または、カットスルーモジュール３１０は選択モジュール２９８および／またはイグレスモジュール２７４により生成されるラインアクティビティ信号を受信してもよい。ラインアクティビティ信号は、出力においてデータ送信アクティビティがあるかどうかを示してもよい。
【００８３】
カットスルーモジュール３１０は、第１マルチプレクサ３０２の出力３１５、およびイングレスモジュール２７２のデータ出力３１６のうち１つを選択すべく第２選択信号を生成する。第２マルチプレクサ３１２は第２選択信号を受信し、第２選択信号に基づき出力３１５または出力３１６からクラスＡフレームを転送する。出力３１６からのクラスＡフレームの送信は、タイプＩＩＩデータ送信とも呼ぶ。
【００８４】
カットスルーモジュール３１０が行うバイパスは、イングレスモジュール２７２が、送信されるパケットのクラスＡフレームを受信する前、および／または、クラスＡフレームの全てのビットを受信する前に起こってもよい。クラスＡデータの所定の数のバイト（例えば６４バイト）がイングレスモジュールにより受信された後、当該バイトは、イングレスモジュール２７２から第２マルチプレクサ３１２へ渡されてもよい。所定の数のバイトは、例えばヘッダデータと関連付けられてもよい。ヘッダデータは、ソースおよびターゲットのアドレス、フレームサイズ、データタイプ、並びに／或いは、他のパケットおよび／またはフレームの情報を含んでもよい。
【００８５】
クラスＡバーストの間、時間認識ブロックシェーパー２９６はクラスＡ以外のデータフレームをブロックするので、出力３１４はアイドル状態にあり、クラスＡフレームは、第２マルチプレクサ３１２を介して直接出力３１４に渡され得る。これにより、クラスＡキュー２７８、および対応するシェーパー２９２、２９４へのフレームの格納に関連するレイテンシをなくすことが出来る。
【００８６】
カットスルーモジュール３１０が有効化され、クラスＡフレームのバイパスに用いられた場合、ブリッジにおけるクラスＡフレームの最大レイテンシは、ブリッジの遅延時間ｔＢｒｉｄｇｅにカットスルーポイント（例えば第２マルチプレクサ）に関連する遅延時間ｔＣｕｔを加算し、ケーブル最大送信時間ｔＣａｂｌｅを加算した時間に等しい。一例として、２つのスロットタイムのブリッジの遅延（または１．０２４μ秒）、および、１スロットタイムのカットスルーの遅延時間（０．５１２μ秒）により、最大ケーブル送信時間ｔＣａｂｌｅが０．５３８μ秒であれば最大レイテンシは２．０７４μ秒となる。このレイテンシは送信されているクラスＡフレームのサイズに関わらず定まる。なぜならクラスＡのビットは、全てのクラスＡのビットがブリッジによって受信される前、および／またはクラスＡのビットがイングレスモジュール２７２から出力される際にブリッジから送信されるからである。タイプＩＩＩ送信に関連するレイテンシは、タイプＩ送信（例えば、１３．８９８μ秒）およびタイプＩＩ送信（例えば、４．１２２μ秒）に関連するレイテンシよりも短い。
【００８７】
カットスルーモジュール３１０は、イングレスモジュール２７２に対し、クラスＡフレームをクラスＡキューへ提供する代わりに、クラスＡフレームを第２マルチプレクサ３１２へバイパスするようシグナリングしてもよい。カットスルーモジュール３１０は、示されるようにイグレスモジュール２７４に位置付けられる代わりに、イングレスモジュール２７２に組み込まれてもよい。
【００８８】
図１１は、時間非認識ブロックシェーパー３２０を示す。時間非認識ブロックシェーパー３２０は図１０の時間非認識ブロックシェーパー２９４のいずれか１つに置き換わってもよい。時間非認識ブロックシェーパー３２０はグローバルクロック信号に基づいて動作しなくてもよい。時間非認識ブロックシェーパー３２０はローカルクロック３２１に基づいて動作してもよい。ローカルクロック３２１は、グローバルクロック信号とは独立したクロック信号を生成してもよい。時間非認識ブロックシェーパー３２０は送信の前にデータフレームを割り振り、選択モジュール２９８が保護データを有するキュー２７８、２８０に含まれるフレームを「見る」ことを防ぐ。このことは、連続的なデータフレームの各ペアの間にＩＦＧを提供することを含む。
【００８９】
時間非認識ブロックシェーパー３２０は、第１カウンタ３２２およびキューモニタリグンモジュール３２４を含む。第１カウンタ３２２はモニタリングされているキュー３２６（例えば、キュー２７８、２８０のうちの１つ）のクレジットをカウントする。キューモニタリグンモジュール３２４は、キュー３２６にフレームがあるかどうかをモニタリングし、フレームがキュー３２６にあり、キュー３２６から第１マルチプレクサ３０２へ通過することを許可されていない場合には第１カウンタ３２２の値を増加させる。キューモニタリグンモジュール３２４は、フレームが第１マルチプレクサ３０２に渡される場合には、第１カウンタ３２２の値を減少させる。第１カウンタ３２２は、キュー３２６と関連付けられた第１カウント値の最大値である上限を有し得る。また第１カウンタ３２２は、キュー３２６と関連付けられた第１カウント値の最小値である下限を有し得る。
【００９０】
図１２は、時間非認識ブロックシェーパー３２０のカウント値を経時的に示すグラフ３３０である。フレームがキューから第１マルチプレクサ３０２へ通過することを許可されていない場合の第１カウント値の増加は、第１線分３３２によって表されている。干渉により（つまり、１以上のキュー１〜Ｘに含まれるフレームが送信されていることにより）フレームは通過を許可されないかもしれない。その後、第１カウント値は上限３３４に達し、現在のカウント値が維持される。フレームはその後、第１マルチプレクサ３０２へ通過することを許可され、第１の垂直の線分３３６により表されるように、第１カウント値が減少させられる。その後、フレームがキュー３２６から第１マルチプレクサ３０２へ渡されない場合、線分３３８により表されるように第１カウント値は再び増加させられる。
【００９１】
キューにフレームが含まれなくなると第１カウント値は線分３４０により表されるようにゼロにリセットされてよい。第１カウント値がゼロになった後にフレームがキュー３２６に到達し送信され、干渉がない場合、第１カウント値が下限３４２まで減少されてもよい。送信すべきフレームがキューにない場合、線分３４４に表されるようにカウント値はゼロへ増加させられてもよい。上述した増加および減少は、ローカルクロック３２１、所定の時間間隔、および／または（参照符号が３４６の）ライン状況信号に基づいてもよい。
【００９２】
ライン状況信号３４６は、データがイグレスモジュール２７４から送信されているかどうかを示してもよい。ライン状況信号３４６は、第１マルチプレクサ３０２の出力、または第２マルチプレクサ３１２の出力を示してもよく、並びに／或いは、選択モジュール２９８および／またはイグレスモジュール２７４により生成されてもよい。
【００９３】
キューモニタリグンモジュール３２４は第１カウンタ３２２の第１カウント値に基づき、第１ブロック信号３５０を生成する。第１ブロック信号３５０は、イングレスモジュール２７２からの記述子信号３５２に基づいて生成されてもよい。記述子信号３５２は、キュー３２６にフレームがあるときを示してもよい。データは、キュー３２６から、キューモニタリグンモジュール３２４を介し、（参照符号が３５４の）対応するデブロックシェーパーまたは時間認識ブロックシェーパーへ、そして第１マルチプレクサ３０２へと渡される。
【００９４】
図１０〜１３にはデブロックシェーパー３６０が示されている。デブロックシェーパー３６０は、図１０のネットワークデバイス２７０のデブロックシェーパー２９２または他のデブロックシェーパーに置き換わってもよい。デブロックシェーパー３６０は、クラスＡデータがキュー３６２から第１マルチプレクサ３０２へ転送されること、および／または、イグレスモジュール２７４およびネットワークデバイス２７０から送信されることが許可される時間ウィンドウまで、対応する優先レベルの最も高いキュー３６２（例えばキュー２７８）のデータをブロックする。デブロックシェーパー３６０は、ロジックモジュール３６４およびデータパスモジュール３６６を含む。ロジックモジュール３６４は、第１優先タイミング信号３６８（最優先ゴー信号）および第１フレーム信号ＰＫＴ１を受信する。第１優先タイミング信号３６８は、クラスＡフレームの送信がいつ許可されるのかを示してもよい。第１フレーム信号ＰＫＴ１はデータパスモジュール３６６により生成されてもよく、キュー３６２にフレームがあるときを示してもよい。
【００９５】
ロジックモジュール３６４は、示されるようにＮＡＮＤゲートおよび／または他の適したロジックデバイスを含んでもよい。ＮＡＮＤゲートは、第１優先タイミング信号３６８および第１フレーム信号ＰＫＴ１を受信してもよく、第１パス信号ＰＡＳＳ１を生成してもよい。第１パス信号ＰＡＳＳ１は、クラスＡフレームがいつ、キュー３６２から第１マルチプレクサ３０２へ通過することを許可されるのかを示してもよい。データパスモジュール３６６は第１パス信号ＰＡＳＳ１に基づいてデブロック信号３７０を生成し、記述子信号３５２および／またはライン状況信号３４６に基づいてデブロック信号３７０を生成してもよい。
【００９６】
図１０〜１４には、時間認識ブロックシェーパー３８０が示されている。時間認識ブロックシェーパー３８０は、図１０の時間認識ブロックシェーパー２９６のうちいずれか１つに置き換わってもよい。時間認識ブロックシェーパー３８０は、クラスＡデータが第１マルチプレクサ３０２へ転送される、および／またはネットワークデバイス２７０から送信される間、対応するキュー３８２（例えばキュー２８０、２８２のうち１つ）に含まれるデータをブロックする。時間認識ブロックシェーパー３８０は、ロジックモジュール３８４およびデータパスモジュール３８６を含む。
【００９７】
ロジックモジュール３８４は、第２優先タイミング信号３８８（ブロック最低優先信号とも呼ぶ）および第２フレーム信号ＰＫ２を受信する。第２優先タイミング信号３８８は、クラスＢフレームおよび／または非ＡＶＢフレームの送信がいつ許可されないかを示す。第２フレーム信号ＰＫＴ２はデータパスモジュール３８６により生成されてもよく、キュー３８２にいつフレームがあるのかを示してもよい。
【００９８】
ロジックモジュール３８４は、非反転入力３９０および反転入力３９２で示されるＮＡＮＤゲート、および／または他の適したロジックデバイスを含んでよい。非反転入力は、第２フレーム信号ＰＫＴ２を受信してもよい。反転入力３９２は、第２優先タイミング信号３８８を受信してもよい。ロジックモジュール３８４は第２パス信号ＰＡＳＳ２を生成する。第２パス信号ＰＡＳＳ２は、クラスＢフレームおよび／または非ＡＶＢフレームがいつキュー３８２から第１マルチプレクサ３０２へと通過することを許可されるのかを示す。データパスモジュール３８６は、第２パス信号ＰＡＳＳ２に基づき第２ブロック信号３９４を生成し、記述子信号３５２および／またはライン状況信号３４６に基づき第２ブロック信号３９４を生成してもよい。
【００９９】
図１０〜１５には、フレームサイズベースブロックシェーパー４００が示されている。フレームサイズベースブロックシェーパー４００は、図１０の時間認識ブロックシェーパー２９６のうちいずれか１つに置き換わってもよい。フレームサイズベースブロックシェーパー４００はロジックモジュール３８４を含み、かつ、第２カウンタ４０４を有するデータパスモジュール４０２を含む。ロジックモジュールは、第２優先タイミング信号３８８および第２フレーム信号ＰＫＴ２を受信し、第２パス信号ＰＡＳＳ２を生成する。データパスモジュールはキュー３８２にフレームがあるかどうかに基づいて、第２フレーム信号ＰＫＴ２を生成する。データパスモジュール４０２は、第２パス信号ＰＡＳＳ２、第２カウンタ４０４の第２カウント値、記述子信号３５２、グローバルクロック信号３１３、および／またはライン状況信号３４６に基づいて第２ブロック信号４０６を生成する。
【０１００】
図１０〜１５において、データパスモジュール４０２は、ヘッドオブラインフレームのサイズ、および次のクラスＡバーストまでに残っている時間に基づき、ヘッドオブラインフレームが第１マルチプレクサ３０２へ通過することを許可する。ヘッドオブラインフレームとは、キューから第１マルチプレクサ３０２へ転送される次のフレームを指す。
【０１０１】
非クラスＡキュー２８０、２８２のうちのいずれか１つに含まれるデータは、次のクラスＡバーストウィンドウの前にブロックされ得る。例えば、非クラスＡキューは、次のクラスＡバーストウィンドウの前に送信される準備が出来ているヘッドオブラインフレーム（例えば１５２２バイト）を有し得る。クラスＡバーストウィンドウの開始の前にヘッドオブラインフレームを完全に送信出来ない場合、ブロックシェーパーはヘッドオブラインフレームの送信をブロックしてもよい（遅延させてもよい）。（図１５の）非クラスＡキューに含まれるフレームよりも少ないバイト（例えば６４バイト）を有する非クラスＡキューのうちの他の１つに含まれるフレームは、より小さなフレームは、次のクラスＡバーストウィンドウの前に送信され得るので、マルチプレクサへ通過することが許可されてもよい。
【０１０２】
第２カウンタ４０４は、所定の最大フレームサイズ（例えば１５２２）に等しいカウント値からカウントを開始してもよく、ブロックウィンドウの開始において減少させられてもよい。キュー３８２に含まれるヘッドオブラインフレームのバイトの数が第２カウント値よりも大きい場合、第２カウンタ４０４を用いて、対応するキュー３８２がフレームを渡すことをゲートオフしてもよい。クラスＡバーストウィンドウの前に完全に送信され得るヘッドオブラインフレームを有する非クラスＡキューは、ブロックされなくてもよい。このことは、図１６Ａ〜１６Ｅ、および１７を参照しさらに説明する。
【０１０３】
図１６Ａ〜１６Ｅには、ブリッジ４１０を介したフレームサイズベースのデータ伝送が示されている。ブリッジ４１０は図７のブリッジ１５８、１６０のうちの１つであってもよい。ブリッジ４１０は、メモリ４１４を有するイングレスモジュール４１２、クラスＡキュー４１６、クラスＢキュー４１７、第１非ＡＶＢキュー４１８、第２非ＡＶＢキュー４１９（例えば図１０のキュー１〜Ｘ）、マルチプレクサ４２０（図１０の第１マルチプレクサ３０２）、および出力ポート４２２を含む。第１非ＡＶＢキュー４１８は、管理データを格納してよく、第２非ＡＶＢキュー４１９はレガシーデータを格納してよい。ブリッジ４１０は図１０のネットワークデバイス２７０と同様に構成されてもよい。図１６Ａ〜１６Ｅには示されていないが、ブリッジ４１０は、キュー４１６〜４１９のうちのそれぞれとマルチプレクサ４２０との間にフレームサイズベースブロックシェーパー（例えば図１５のフレームサイズベースブロックシェーパー４００）を含んでもよい。
【０１０４】
図１６Ａにおいて、時間ｔ０から例えば１６μ秒を減算した時間における、またはクラスＡバースト期間の１６μ秒前のブリッジ４１０の状態が示されている。時間ｔ０とは、クラスＡバースト期間の開始時間を指す。クラスＢフレーム４３０は、クラスＢキュー４１７に格納されている。管理フレームｎ、ｍは、第１非ＡＶＢキュー４１８に格納されている。レガシーフレーム４３１は、第２非ＡＶＢキュー４１９に格納されている。クラスＢフレーム４３０は、時間非認識ブロックシェーパーによってゲートされ（またはシェーピングされ）、時間ｔ０の１６μ秒前において送信されるのが防がれる。その結果、管理フレームｎのブリッジ４１０からの送信が開始され得る。
【０１０５】
図１６Ｂにおいて、時間ｔ０の例えば３．６６４μ秒前のブリッジ４１０の状態が示されいる。この時間において、管理フレームｎのブリッジ４１０からの送信は完了している。３．６６４μ秒は、１６μ秒から、管理フレームｎが送信される１２．３３６μ秒を減算した時間である。この時間において、クラスＢフレームは、送信される準備が出来ており、２つのフレームを送信するクレジットを有し得る。クラスＢデータの３００バイトのフレームを送信する時間は、２．５６μ秒（プリアンブルおよび／またはＩＦＧの時間である２０バイトを含む）である。時間ｔ０までには３．６６４μ秒あるので、１つのフレームの送信が許可される。送信の準備が出来ているクラスＢの他のフレームはブロックされる。
【０１０６】
図１６Ｃにおいて、時間ｔ０の例えば１．１０４μ秒前のブリッジ４１０の状態が示されている。時間ｔ０までには１．１０４μ秒あるので、クラスＢフレーム４３０および第２の非ＡＶＢフレームｍがブロックされる。レガシーフレーム４３１は例えば、６４バイトの長さである。プリアンブルおよびＩＦＧの時間である２０バイトを含んだレガシーフレーム４３１のうち１つを送信する時間は、０．６７２μ秒であり、１．１０４μ秒よりも短い。このため、フレーム４３１のうちの１つは、マルチプレクサ４２０へ通過することが許可される。
【０１０７】
図１６Ｄにおいて、時間ｔ０の例えば０．４３２μ秒前のブリッジ４１０の状態が示されている。ｔ０までの時間は０．６７２μ秒よりも短いので残りのフレームはブロックされる。このことにより、出力ポート４２２はｔ０においてアイドル状態となる。図１６Ｅにおいて、クラスＡフレームがブリッジ４１０に到達し、クラスＡキュー４１６へ格納されること、および、他のキュー４１７〜４１９に格納されるフレームによる干渉なしでブリッジ４１０へ送信されることが許可される。時間認識ブロックシェーパーは、時間ｔ０から所定の期間が経つとクラスＢキュー４１７および非ＡＶＢキュー４１８〜４１９をリリースしてもよい（つまり、ブロックを解除してもよい）。データがクラスＡキュー４１６にあり、出力ポート４２２から送信されている際、選択モジュール２９８がキュー４１７〜４１９の選択を防ぐので、キュー４１７〜４１９がリリースされ得る。このため、クラスＡフレームのバーストは、クラスＡキュー４１６に格納されているクラスＡフレームなくなるまで継続される。キュー４１７〜４１９に含まれるフレームは、クラスＡキュー４１６が空になると送信され得る。
【０１０８】
時間ｔ０（クラスＡバーストの開始）において出力ポート４２２がアイドル状態となるよう非クラスＡキュー４１７〜４１９のうちのそれぞれに対し時間認識ブロックシェーパーを用い、非クラスＡキュー４１７〜４１９に含まれるフレームのヘッドオブラインサイズを考慮することにより、時間の効率的な利用が実現される。時間ｔ０の前に送信され得る非クラスＡフレームは、優先度に基づき送信される。
【０１０９】
図１７は、クラスＡに割り当てられた期間におけるブロックウィンドウタイミングを示すタイミング図である４５０を示す。クラスＡデータとの干渉を防ぐべく、ブロックウィンドウを用いて、定められたサイズを有するフレームの送信を防ぎ得る。サイズは所定のものであるか、上述したように記述子信号（例えば記述子信号３５２）に含まれる記述子に基づき決められる。上述した優先タイミング信号、および／またはキューの選択は、ブロックウィンドウ、およびライン状況信号に基づいて実行され得る。
【０１１０】
図１７において、８つのデータブロック１〜８の送信時間に関して２つのブロックウィンドウ４５２、４５４が示されている。第１ブロックウィンドウ４５２は、最小サイズの干渉フレーム（例えば２５６バイト）と関連付けられている。第２ブロックウィンドウ４５４は、最大サイズの干渉フレーム（例えば１５００バイト）と関連付けられている。第１ブロックウィンドウ４５２は、最小サイズフレームを送信する時間ＭＩＮＴ（例えば２３．８４μ秒）、およびクラスＡフレームのうちの少なくとも７つ、および８番目のクラスＡフレームの一部を送信する時間を含む。第２ブロックウィンドウ４５４は、最大サイズフレームを送信する時間ＭＡＸＴ（例えば１２３．３６μ秒）、およびクラスＡフレームのうちの少なくとも７つ（またはクラスＡフレームの数−１）、および８番目（または最後）のクラスＡフレームの一部を送信する時間を含む。クラスＡ以外のデータが通過を許可される（ブロックが解除される）までの遅延、および各キューから図１０の第１マルチプレクサ３０２へクラスＡ以外のデータが実際に転送される時間を最小化するべく、ブロックウィンドウ４５２、４５４は、クラスＡバースト期間の最後までは続かない。
【０１１１】
各ブロックウィンドウは、対応するマージン期間（例えばＭａｒｇｉｎＭｉｎ、ＭａｒｇｉｎＭａｘ）を含む。最小サイズフレーム以下のサイズの非クラスＡフレームは、マージン期間ＭａｒｇｉｎＭｉｎ（例えば３６７．３６μ秒）に送信され得る。最大サイズフレーム以下のサイズの非クラスＡフレームは、マージン期間ＭａｒｇｉｎＭａｘ（例えば２６７．８４μ秒）に送信され得る。これらのマージンは、他のトラフィックまたは最大サイズ（例えば１５２２バイト）のフレームを含む非クラスＡフレームの送信に関する判断を行う際に用い得る境界を定める。
【０１１２】
図１０のネットワークデバイス２７０は、様々な方法を用いて動作し得る。例示的な方法は、図１８Ａおよび図１８Ｂの方法である。図１８Ａおよび１８Ｂは、データブロック方法を示す。以下のタスクは主に図１０〜１６Ｅの実施例に関連して説明されるが、それらタスクは、本開示の他の実施例に適用すべく容易に修正が可能である。また、以下のタスクは特定の数のデブロックシェーパー、時間非認識ブロックシェーパー、時間認識ブロックシェーパー、およびフレームに関して説明されるが、それらの数がそれぞれ異なるものであっても当該方法を容易に修正することが出来る。タスクは繰り返して実行され得る。方法は５００から始まる。
【０１１３】
５０２において、イングレスモジュール２７２がフレームを受信する。フレームは、ホスト制御モジュール、トーカー、ブリッジ、および／または時間トランスレータデバイスから受信してもよい。５０４において、イングレスモジュール２７２はフレームをパースする。イングレスモジュール２７２はフレームがクラスＡフレームかどうかを判断してもよい。フレームがクラスＡフレームである場合、５０６のタスクが実行されてもよく、そうでなければ５３４のタスクが実行される。
【０１１４】
５０６において、イグレスモジュール２７４は、カットスルーモードが有効化されているかどうかを判断してよい。カットスルーモードが有効化されている場合、５０８のタスクが実行され、そうでなければ５１６のタスクが実行される。５０８において、クラスＡキュー２７８、時間非認識ブロックシェーパー２９４、デブロックシェーパー２９２、および第１マルチプレクサ３０２がバイパスされ、第１マルチプレクサ３０２からではなく、イングレスモジュール２７２からフレームを選択すべく第２選択信号を生成する。クラスＡフレームは第２マルチプレクサ３１２へ転送される。５１０において、クラスＡフレームが、イグレスモジュール２７４および／またはネットワークデバイス２７０から転送される。方法は５１２で終了する。
【０１１５】
５１６において、イングレスモジュール２７２はクラスＡフレームをクラスＡキュー２７８へパースする。デブロックシェーパー３６０のデータパスモジュール（例えばデータパスモジュール３６６）、イングレスモジュール２７２、および／またはイグレスモジュール２７４が第１フレーム信号（例えばＰＫＴ１）を生成してもよい。第１フレーム信号は、クラスＡフレームがクラスＡキューにあることを示す。
【０１１６】
５１８において、イグレスモジュール２７４は、時間非認識ブロックが有効化されているかどうかを判断してよい。時間非認識ブロックが有効化されている場合、５２０のタスクが実行され、そうでなければ５２４のタスクが実行される。５２０において、時間非認識ブロックシェーパー２９４の第１カウンタ３２２は、第１カウント値を生成してよい。第１カウント値は、図１１および１２で説明したように生成されてもよい。５２２において、キューモニタリングモジュール（例えばキューモニタリグンモジュール３２４）は、第１カウント値に基づき第１ブロック信号（例えば第１ブロック信号３５０）を生成する。
【０１１７】
５２４において、イグレスモジュール２７４は時間認識デブロックが有効化されているかどうかを判断してもよい。時間認識ブロックが有効化されている場合、５２６のタスクが実行され、そうでなければ５５４のタスクが実行される。５２６において、タイミングモジュール２９０は第１優先タイミング信号３６８を生成する。第１優先タイミング信号３６８は、上述したようにいつクラスＡフレームが第１マルチプレクサ３０２へ通過することを許可されるのかを示す。５２８において、時間認識デブロックシェーパー３６０のロジックモジュール３６４は、第１優先タイミング信号３６８に基づき第１パス信号ＰＡＳＳ１を生成する。５３２において、データパスモジュール３６６は、第１パス信号ＰＡＳＳ１に基づきデブロック信号３７０を生成する。
【０１１８】
５３４において、イングレスモジュール２７２は、非クラスＡフレームを非クラスＡキュー２８０、２８２のそれぞれへパースする。時間認識ブロックシェーパー２９６のデータパスモジュール（例えばデータパスモジュール３８０、４００）は、非クラスＡキュー２８０、２８２のうち対応する１つにおけるフレームの存在を示すフレーム信号をそれぞれ生成してよい。このことには、図１４に関連して説明した第２フレーム信号ＰＫＴ２の生成が含まれてもよい。
【０１１９】
５３６において、イグレスモジュール２７４はフレームはクラスＢフレームかどうかを判断してもよい。フレームがクラスＢフレームである場合、５３８のタスクが実行され、そうでなければ５４４のタスクが実行される。５３６のタスクは実際には実行されなくてもよい。５３８および５４４のタスクは、クラスＢキューにクラスＢフレームがあるかどうかに基づいて実行されてもよい。
【０１２０】
５３８において、イグレスモジュール２７４は時間非認識ブロックが有効化されているかどうかを判断してよい。時間非認識ブロックが有効化されている場合、５４０のタスクが実行され、そうでなければ５４４のタスクが実行される。５４０において、時間非認識ブロックシェーパーは、クラスＢフレームの第２カウント値を生成する。５４２において、時間非認識ブロックシェーパーのキューモニタリングモジュールは、第２カウント値に基づき第２ブロック信号を生成する。
【０１２１】
５４４において、イグレスモジュール２７４は時間認識ブロックが有効化されているかどうかを判断する。時間認識ブロックが有効化されている場合、５４６のタスクが実行され、そうでなければ５５４のタスクが実行される。５４６において、タイミングモジュール２９０は、優先タイミング信号（例えば第２優先タイミング信号３８８）を生成する。優先タイミング信号は非クラスＡフレームがいつブロックされるのかを示してよい。５４８において、時間認識ブロックシェーパーのデータパスモジュールは、５４６で生成された優先タイミング信号に基づきパス信号（例えば第２パス信号ＰＡＳＳ２）を生成する。
【０１２２】
５５０において、時間認識ブロックシェーパーのデータパスモジュールは、記述子信号３５２に基づきヘッドオブラインフレームのサイズを判断してもよい。２以上の時間認識ブロックシェーパーが用いられる場合、時間認識ブロックシェーパーは単一のデータパスモジュールを共有してもよく、並びに／或いはデータパスモジュールは互いに通信を行い、ヘッドオブラインフレームの優先レベルおよびサイズに基づき非クラスＡフレームの通過を調整してもよい。ヘッドオブラインの非クラスＡフレームのサイズをモニタリングし、クラスＡバースト間、および／または次のクラスＡバーストの前の送信に「適合する」非クラスＡフレームを出来るだけ多く転送するようにイグレスモジュール２７４および／または時間認識ブロックシェーパーが構成されている場合、５５０のタスクを実行してもよい。次のクラスのバーストの前に送信が完了するサイズのクラスＢフレームは転送され、その後、次に最も大きなサイズのヘッドオブラインフレームが続く。次のクラスＡバーストの前に送信され得る最も大きなサイズのヘッドオブフレームは、他の非クラスＡフレームの前に送信されてもよい。
【０１２３】
５５２において、時間認識ブロックシェーパーは、パス信号、および／または対応する優先レベル、および／またはヘッドオブラインフレームのサイズに基づき、第３ブロック信号を生成してよい。
【０１２４】
５５４において、選択モジュール２９８は、第１ブロック信号、デブロック信号、第２ブロック信号、および／または第３ブロック信号に基づき第１選択信号を生成する。５５６において、第１マルチプレクサ３０２はキュー１〜Ｘのうちの第１選択信号に基づき選択された１つからのフレームを送信する。第２選択信号は、イングレスモジュール２７２からではなく、第１マルチプレクサ３０２から出力されたフレームを選択するよう生成される。
【０１２５】
５５８において、イグレスモジュール２７４は、キュー１〜Ｘにさらにフレームがあるかどうかを判断してよい。キュー１〜Ｘにフレームがない場合、方法は５６０において終了し、そうでなければ５６２のタスクが実行されてよい。５６２において、イグレスモジュール２７４は残りのフレームがクラスＡフレームであるかどうかを判断してよい。残りのフレームがクラスＡフレームである場合、５１２のタスクが実行され、そうでなければ５６４のタスクが実行される。５６４において、残りのフレームはクラスＢフレームである場合、５３８のタスクが実行され、そうでなければ５４４のタスクが実行される。
【０１２６】
上述したタスクは例示であり、タスクは適用例に応じて、順次、同期して、同時に、継続的に、重複する期間内で、または異なる順序で実行されてもよい。またいずれのタスクも実施例に応じて、および／またはイベントの順序に応じて、実行しなくてよいか、または飛ばしてもよい。
【０１２７】
上述した技術は、ネットワーク内のエンド局間のレイテンシを最小化するよう設計、管理、および制御された非任意ネットワークを含む。上述した実施例を用いることにより、非任意ネットワークは、１００μ秒以下というＦＥのＡＶＢ第２世代の５回のホップに関するレイテンシの基準を満たすことが出来る。レイテンシは、トーカーの送信時間に、４つのブリッジに関する処理遅延時間を加算した時間に等しい。一例として、制御フレームを送信する時間は、制御データの１２８バイトおよびオーバーヘッドの２２バイトを含む１５０バイトに関し、干渉フレームがない場合において、１２．０μ秒である。４つのブリッジの１つの処理遅延時間は例えば、送信時間の１２μ秒、およびおよそ２つの５１２ビットの時間であるブリッジ遅延の１０．０μ秒を含んだ２２．０μ秒である。合計のレイテンシは、１２．０μ秒の送信時間および８８．０μ秒（２２．０μ秒×４）のブリッジ処理遅延時間を含んだ１００．０μ秒である。
【０１２８】
本明細書で開示した装置および方法は、１以上のプロセッサにより実行される１以上のコンピュータプログラムによって実行され得る。コンピュータプログラムは、非一時的な有形のコンピュータ可読媒体に格納された、プロセッサ実行可能命令を含む。コンピュータプログラムは格納されたデータも含む。非一時的な有形のコンピュータ可読媒体の非限定的な例は、不揮発性メモリ、磁気記憶装置、および光学記憶装置を含む。
【図１】
0005939489.tif 000002
【図２Ａ】
0005939489.tif 000003
【図２Ｂ】
0005939489.tif 000004
【図２Ｃ】
0005939489.tif 000005
【図２Ｄ】
0005939489.tif 000006
【図２Ｅ】
0005939489.tif 000007
【図２Ｆ】
0005939489.tif 000008
【図２Ｇ】
0005939489.tif 000009
【図２Ｈ】
0005939489.tif 000010
【図３Ａ】
0005939489.tif 000011
【図３Ｂ】
0005939489.tif 000012
【図３Ｃ】
0005939489.tif 000013
【図３Ｄ】
0005939489.tif 000014
【図３Ｅ】
0005939489.tif 000015
【図４】
0005939489.tif 000016
【図５】
0005939489.tif 000017
【図６】
0005939489.tif 000018
【図７】
0005939489.tif 000019
【図８】
0005939489.tif 000020
【図９】
0005939489.tif 000021
【図１０】
0005939489.tif 000022
【図１１】
0005939489.tif 000023
【図１２】
0005939489.tif 000024
【図１３】
0005939489.tif 000025
【図１４】
0005939489.tif 000026
【図１５】
0005939489.tif 000027
【図１６Ａ】
0005939489.tif 000028
【図１６Ｂ】
0005939489.tif 000029
【図１６Ｃ】
0005939489.tif 000030
【図１６Ｄ】
0005939489.tif 000031
【図１６Ｅ】
0005939489.tif 000032
【図１７】
0005939489.tif 000033
【図１８Ａ】
0005939489.tif 000034
【図１８Ｂ】
0005939489.tif 000035