(57)【特許請求の範囲】
【請求項１】
パケットスイッチタイプネットワークにおいて、データフレームを多重化する方法であって、
ネットワークの少なくとも一部は、
前記データフレームを受信する第１の複数の受信ポートと、
前記データフレームの少なくともブロックを送信する第２の複数の送信ポートと、
を有する１つ又は幾つかのスイッチを備え、
各フレームは、該フレームを送信する優先度のインデックスに関する情報を含むデータフィールドを含み、
各受信ポートにおいて各フレームの受信のタイムスタンプを付与するように、前記スイッチにクロックが提供され、各受信フレームを、該受信フレームのタイムスタンプとともに一時的に記憶するようにメモリ媒体が更に提供され、
該方法は、
ａ）それぞれの優先度のインデックスに関連付けられた複数のメモリバッファーを提供するステップであって、各バッファーは、同じ優先度のインデックスを有するフレームの１つのキューを含む、ステップと、
ｂ）前記受信フレームを、該受信フレームの優先度のインデックスに従って選択されたバッファーにおいてソートするステップと、
ｃ）各バッファーにおいて、前記キューの先頭の最も早い前記受信フレームから前記キューの末尾の最も遅い前記受信フレームまで、各バッファーにおいて前記フレームのキューを順序付けるために、それらのフレームのそれぞれのタイムスタンプに従って前記フレームをソートするステップと、
ｄ）送信する各フレーム又はフレームのブロックを、前記フレームの前記優先度のインデックスに従って決定された順序において、及び前記フレームの前記優先度のインデックスに関連付けられた前記キューにおける前記フレーム又は前記フレームのブロックの順序において、前記送信ポートにフィードするステップと、
を含む、方法。
【請求項２】
ステップａ）〜ｃ）は、各送信ポートについて実行され、ステップｄ）において、所与の送信ポートは、送信する連続フレーム又はフレームのブロックを、前記所与の送信ポートについての前記フレームの前記優先度のインデックス、及び前記フレームの前記優先度のインデックスに関連付けられた前記キューにおける前記フレーム又は前記フレームのブロックの順序に従って決定された順序において、フィードされる、
請求項１に記載の方法。
【請求項３】
所与の優先度インデックスに関連付けられた所与のバッファーのフレーム又はブロックは、前記所与のインデックスよりも高い優先度インデックスに関連付けられた全てのバッファーの送信が完了すると、送信される、
請求項１又は２に記載の方法。
【請求項４】
各バッファーは、該バッファーが含む前記フレーム又はブロックの送信後に空になり、各バッファーは、所定の最大数のフレームを格納する最大長を有する、
請求項３に記載の方法。
【請求項５】
ステップｄ）において、
ｄ１）同じ所与のバッファーの全てのフレーム及び／又はフレームのブロックが、一度に連続的に送信され、
ｄ２）次に、より低い優先度インデックスに関連付けられたバッファーの全てのフレーム及び／又はフレームのブロックが連続的に送信され、
ｄ３）次に、各バッファーのコンテンツが新たに受信されたフレーム又はフレームのブロックに置き換えられる、
請求項４に記載の方法。
【請求項６】
以前のフレーム又はブロックの送信ステップｄ１）及びｄ２）中に新たに受信されたフレームを記憶するのに一時メモリが用いられる、
請求項５に記載の方法。
【請求項７】
前記ブロックは、各ブロックを別個に送信するように、所与のフレームの所定のフラグメンテーションの結果として得られる、
請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記ネットワークは、ＩＥＥＥ８０２．１Ｑｂｖ標準規格に従うイーサネットネットワークである、
請求項１から７のいずれか１項に記載の方法。
【請求項９】
各キューは、スイッチ送信ポートの多重構成における関連付けられたトラフィッククラスに関連し、
それぞれのトラフィッククラスのフレーム又はブロックの送信について、割り当てられた時間ウィンドウが予約され、
同じ送信時間ウィンドウ内で、受信ポートにおいて最初に受信されたフレーム又はブロックに、送信の優先度が与えられる、
請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記クロックは、前記時間ウィンドウ内の送信オペレーションのタイミングを制御するように、前記送信ポートにおいて用いられる、
請求項９に記載の方法。
【請求項１１】
請求項１から１０のいずれか１項に記載の方法を実行するために、クロックカウンター、メモリ媒体及びネットワーク処理デバイスを備える、幾つかの受信ポート及び幾つかの送信ポートを備えるネットワークシステム。
【請求項１２】
幾つかの受信ポートにわたって受信されたフレームを受信する入力インターフェースと、
各受信フレームにタイムスタンプを付与するように、クロック入力を受信する処理回路と、
各フレームを、該フレームの送信の優先度のインデックスに対応するバッファー内に、該フレームの前記タイムスタンプに対応する前記バッファー内の順序において、一時的に記憶するように前記処理回路と協働するメモリとのリンクと、
フレーム又はフレームのブロックが属する前記バッファーと、前記バッファーにおける前記フレーム又はフレームのブロックの位置とに依拠した時点における送信のために前記フレーム又はフレームのブロックを送信ポートにフィードする出力インターフェースと、
を備える、
請求項１から１０のいずれか１項に記載の方法を実行するネットワーク処理デバイス。
【請求項１３】
プロセッサによって実行されると、請求項１から１０のいずれか１項に記載の方法を実行する命令を含む、コンピュータープログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネット（登録商標）等のパケット交換ネットワークに関する。
【背景技術】
【０００２】
最近に至るまで、イーサネットスイッチングは、ＦＩＦＯキュー及び転送優先度等のトラフィックシェーピング機能を伴わない、シンプルな多重化技術に基づいてきた。
【０００３】
「イーサネットＡＶＢ」標準規格スイートの一部である、ＩＥＥＥ８０２．１Ｑａｖ標準規格（「時間依存ストリームの転送及びキューイング（ＦＱＴＳＳ：Forwarding and Queuing for Time-Sensitive Streams）」）によって、レート制約のあるトラフィックを取り扱うのに、クラスごとのトラフィックシェーピングが導入されている。
【０００４】
イーサネットＴＳＮ（時間依存ネットワーク接続：Time Sensitive Networking）によって、別のトラフィックシェーピングスキーム、すなわち、８０２．１Ｑｂｖ（スケジューリングされたトラフィックの向上：Enhancements for scheduled traffic）が、スケジューリングされたトラフィックのサポートのために追加されている。この多重化機構は、異なるトラフィッククラスのために予約された時間ウィンドウにおける、スイッチ出力ポートの送信多重化を編成する。これにより、非常に限られた送信レイテンシーにしか耐えることができないフレームの送信のために、特定の時間位置において予約された時間間隔の正確な定義（この間隔の絶対開始時点及び絶対終了時点）が可能になる。
【０００５】
標準規格８０２．１Ｑｂｖは、既知の時間スケールに対してスケジューリングされたキューからの送信をサポートするブリッジ又はスイッチのために意図されている。この時間スケールは、スケジューリングされたトラフィックをサポートするドメインに属する全てのノード（スイッチ）によって共有される。ＰＴＰ（プレシジョンタイムプロトコル、ＩＥＥＥＰ１５５８）又はｇＰＴＰ（汎用化ＰＴＰ、ＩＥＥＥ８０２．１ＡＳ）等の特定のプロトコルを用いて、タイミング及び同期情報が配布される。
【０００６】
図１に示すように、送信ゲートが、各キューに関連付けられる。すなわち、ゲートの状態（Ｃ；ｏ）が、キューイングされたフレームを送信のために選択することができるか否かを示している。
【０００７】
所与のキューについて、ゲートは、以下の２つの状態のうちの一方にあるものとすることができる。
・オープン（ｏ）：キューイングされたフレームを、キューに関連付けられた送信選択機構に従って送信することができる。
・クローズ（Ｃ）：キューイングされたフレームは、送信のために選択されない。
【０００８】
キューは、ゲート制御リストが関連付けられる所与のポート内に位置する。ゲート制御リストは、ゲートオペレーションの順序付けられたリストを含む。各ゲートオペレーションにより、送信ゲート状態が変更される。
【０００９】
状態マシンが、ゲート制御リストの実行を制御する。
【００１０】
送信クラスキューのフレームは、関連付けられた送信ゲートがクローズ状態にある場合、又は次のゲートクローズイベントの前までにフレーム全体を送信する十分な時間がない場合、送信することができない。
【００１１】
ＩＥＥＥ８０２．１Ｑｂｖは、スイッチ送信ポートの送信リンク上で時間間隔を正確に予約する手段を提供する。これらの時間間隔は、所与のトラフィッククラスのスケジューリングされたフレームに専用である。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、同じトラフィッククラスに属するスケジューリングされたフレームが、異なる受信ポートからスイッチに入り、ターゲット送信ポート上で同じ時間ウィンドウ内で多重化される場合、送信ポート時間ウィンドウにおいて多重化規則を定義することができる機構は提供されていない。
【課題を解決するための手段】
【００１３】
本発明は、この状況を改善することを目的とする。そのために、本発明は、パケットスイッチタイプネットワークにおいて、データフレームを多重化する方法を目的とする。上記ネットワークの少なくとも一部（通常、サブネットワーク）は、
上記データフレームを受信する第１の複数の受信ポートと、
上記データフレームの少なくともブロックを送信する第２の複数の送信ポートと、
を有する１つ又は幾つかのスイッチを備える。各フレームは、そのフレームを送信する優先度のインデックスに関する情報を含むデータフィールドを含む。
【００１４】
より詳細には、各受信ポートにおいて各フレームの受信のタイムスタンプを付与するように、上記スイッチにクロックが提供され、各受信フレームを、その受信フレームのタイムスタンプとともに一時的に記憶するようにメモリ媒体が更に提供される。そして、本方法は、
ａ）それぞれの優先度のインデックスに関連付けられた複数のメモリバッファーを提供するステップであって、各バッファーは、同じ優先度のインデックスを有するフレームの１つのキューを含む、ステップと、
ｂ）受信フレームを、それらの受信フレームの優先度のインデックスに従って選択されたバッファーにおいてソートするステップと、
ｃ）各バッファーにおいて、キューの先頭の最も早い受信フレームからキューの末尾の最も遅い受信フレームまで、各バッファーにおいてフレームのキューを順序付けるために、それらのフレームのそれぞれのタイムスタンプに従ってフレームをソートするステップと、
ｄ）送信する各フレーム又はフレームのブロックを、フレームの優先度のインデックスに従って決定された順序において、及びフレーム優先度のインデックスに関連付けられたキューにおけるフレーム又はフレームのブロックの順序において、送信ポートにフィードするステップと、
を含む。
【００１５】
本発明の方法は、（必ずしも限定はしないが、）ＩＥＥＥ８０２．１Ｑｂｖのタイプの標準規格に従うイーサネットネットワークにおいて好都合であり得る。
【００１６】
有利には、以下のような状況下において、すなわち、
−各キューがスイッチ送信ポートの多重構成において、関連付けられたトラフィッククラスに関連することができる、
−次に、それぞれのトラフィッククラスのフレーム又はブロックの送信のために、割り当てられた時間ウィンドウが予約される、
状況下において、より詳細には、同じ送信時間ウィンドウ内で、受信ポートにおいて最初に受信されたフレーム又はブロックに送信の優先度が与えられる。
【００１７】
このために、上述の時間ウィンドウ内の送信オペレーションのタイミングを制御するように、送信ポートにおいて与えられたクロックを更に用いることができる。
【００１８】
その上、「フレームのブロック」という語は、それらのブロックが、標準規格ＩＥＥＥ８０２．３ｂｒ（インタースパーシングエクスプレストラフィック）において提供されるような、各ブロックを別個に送信するような所与のフレームの所定のフラグメンテーションの結果として得られる可能な一実施形態を指す。そのようなフラグメンテーションの特に有利な実施形態の更なる詳細が、本出願人の名義による、欧州特許出願公開第１５３０５２２１．２号において与えられている。
【００１９】
一実施形態では、ステップａ）〜ｃ）は、各送信ポートについて実行することができ、ステップｄ）において、所与の送信ポートは、送信する連続フレーム又はフレームのブロックを、所与の送信ポートについてのフレームの優先度のインデックスに従って、ただしフレームの優先度のインデックスに関連付けられたキューにおけるフレーム又はフレームのブロックの順序にも従って決定された順序おいて、フィードされる。
【００２０】
一実施形態では、所与の優先度インデックスに関連付けられた所与のバッファーのフレーム又はブロックは、所与のインデックスよりも高い優先度インデックスに関連付けられた全てのバッファーの送信が完了すると、送信される。
【００２１】
この実施形態では、各バッファーは、例えばこのバッファーが含むフレーム又はブロックの送信後に空にすることができ、各バッファーは、所定の最大数のフレームを格納する最大長を有することができる。
【００２２】
この実施形態により、最高優先度のバッファーの所定の数のフレームに優先度を与えることが可能になる（その数は、バッファー長に対応する）。
【００２３】
さらに、この実施形態では、ステップｄ）において、
ｄ１）同じ所与のバッファーの全てのフレーム及び／又はフレームのブロックが、一度に連続的に送信され、
ｄ２）次に、より低い優先度インデックスに関連付けられたバッファーの全てのフレーム及び／又はフレームのブロックが連続的に送信され、
ｄ３）次に、各バッファーのコンテンツが新たに受信されたフレーム又はフレームのブロックに置き換えられる、
ことが好ましい。
【００２４】
この実施形態では、以前のフレーム又はブロックの送信ステップｄ１）及びｄ２）中に新たに受信されたフレームを記憶するのに一時メモリを用いることができる。そのメモリは、上述の与えられたメモリ媒体の一部とすることができる。
【００２５】
しかしながら、代替的な一実施形態において、（フレームを読み出し、それらのＣＲＣをチェックし、優先度インデックスを読み出すために）受信ポートから受信されたフレームをチェックするように、メモリバッファーを単にメモリ媒体に提供することができる。次に、その変形の実施形態において、フレームの妥当性が確認されると、フレームは、更なるプロセスを何ら伴わずに送信ポートのバッファーに直接送信することができる。したがって、その場合、送信バッファー長（これはいかなる過負荷を回避するのにも十分長いと考えられる）の管理は必要ない。
【００２６】
その上、より包括的には、送信ポートの上述のメモリ媒体及びバッファーは、２つの別個のメモリブロックの形態とすることもできるし、代替的に、（以下に記載の「カットスルーモード」等において）同じハードウェアメモリユニットの一部とすることもできる。
【００２７】
本発明はまた、本発明による方法を実行するために、クロックカウンター、メモリ媒体及びネットワーク処理デバイスを備える、幾つかの受信ポート及び幾つかの送信ポートを備えるネットワークシステム（又はサブネットワークシステム）も目的とする。そのようなシステムの一例が、図３に示される。
【００２８】
また、本発明は
−幾つかの受信ポートにわたって受信されたフレームを受信する入力インターフェースと、
−各受信フレームにタイムスタンプを付与するように、クロック入力を受信する処理回路と、
−各フレームを、このフレームの送信の優先度のインデックスに対応するバッファー内に、このフレームのタイムスタンプに対応するバッファー内の順序において、一時的に記憶するように処理回路と協働するメモリとのリンクと、
−フレーム又はフレームのブロックが属するバッファーと、バッファーにおける上記フレーム又はフレームのブロックの位置とに依拠した時点における送信のために上記フレーム又はフレームのブロックを送信ポートにフィードする出力インターフェースと、
を備える、本発明による方法を実行するための（例えば図８に示されるような）ネットワーク処理デバイスを目的とする。
【００２９】
また、本発明は、プロセッサによって実行されるとき、本発明の方法を実行する命令を含む、コンピュータープログラム製品（又はそのようなコンピュータープログラム製品を格納する非一時的媒体）も目的としている。そのようなコンピュータープログラムの可能なアルゴリズムは、図９の実施形態の一例として示すフローチャートによって表すことができる。
【００３０】
本発明は、添付図面の図に、限定としてではなく例として示される。添付図面において、同様の参照符号は同様の要素を参照する。
【図面の簡単な説明】
【００３１】
【図１】標準規格８０２．１Ｑｂｖにおいて提案されるゲートを用いる送信選択を示す図である。
【図２】本発明によるデバイスの送信ポートにおけるフレーム送信順序付けの一例を示す図である。
【図３】本発明の実施形態の説明的な一例として、一般的な４ポートスイッチアーキテクチャを有するネットワークシステムを示す図である。
【図４】本発明の特定の実施形態を実行する、スケジューリングされたフレーム識別を示す図である。
【図５】実施形態の説明的な一例として、記憶及び転送モードにおけるスケジューリングされたフレームデータパスを示す図である。
【図６】図５の代替的な一実施形態、すなわち、「カットスルーフレーム転送」を示す図である。
【図７】本発明の一実施形態を実行する、クラスキューデータ構造を示す図である。
【図８】本発明の一実施形態による方法を実行する要素を備えるネットワーク処理デバイスを示す図である。
【図９】本発明の一実施形態による方法を実行するアルゴリズムの一例を示す図である。
【発明を実施するための形態】
【００３２】
本発明は、検討されるネットワーク又はサブネットワークにおける全てのノードに共通である基準クロックの存在を利用する機構を提案する。このクロックは、スイッチの受信ポート及び送信ポートにおいて利用可能である。受信ポートにおいて、クロックは、到来フレームのタイムスタンプを記録するのに用いられ、すなわち、各受信フレームに、このフレームの最初のビットが受信された時刻を関連付けるのに用いられる。送信ポートにおいて、このクロックは、８０２．１Ｑｂｖ送信ゲートオペレーションのタイミングを制御するのに用いられる。
【００３３】
関連付けられた時間ウィンドウ内の同じトラフィッククラスに属するスケジューリングされたフレームの送信順序は、クロックによって与えられたそれらのフレームのそれぞれのタイムスタンプの順序によって規定される。フレームタイムスタンプは、昇順にソートされる。したがって、図２に示すように、同じクラスに属するフレームは、異なる受信ポート上でのそれらのフレームの到来時刻の昇順に送信される。
【００３４】
連続フレームｆ１１、ｆ１２、ｆ１３が第１の受信ポート「Ｒｘポート１」において受信される一方で、他の連続フレームｆ２１、ｆ２２、ｆ２３及びｆ３１、ｆ３２、ｆ３３は、他の受信ポート、それぞれ「Ｒｘポート２」及び「Ｒｘポート３」によって受信される。
【００３５】
図２の説明的な例において、各フレームは、同じ送信ポート「Ｔｘポート」によって送信されることが意図される。
【００３６】
その上、各フレームは、特定のトラフィッククラスに属するものとしてラベリングされる。すなわち、各フレームは、送信の優先度のインデックス（すなわち、トラフィッククラスのインデックス）を含むデータフィールドを含む。各フレームは、その受信時に、受信タイムスタンプを割り当てられ、以下を特定するように読み出される。
−そのフレームのトラフィッククラス、及び、
−そのフレームを送信することが意図される送信ポート。
【００３７】
次に、各フレームは、そのトラフィッククラスに従って、特定のバッファー、ＳＦＣ１，ＳＦＣ２、ＳＦＣ３に格納される。さらに、各バッファーは、対応するスケジューリングされたフレームクラスに関連する。しかしながら、各バッファーにおいて、フレームは、それらのフレームのタイムスタンプに従って順序付けられる。したがって、例えば、第１のクラスフレームＳＦＣ１について、まず、フレームｆ２１が受信されている。その場合、このフレームは、そのバッファーの送信される第１のフレームとなり、次に、第２のフレームはｆ３２であり、その次がｆ１３である。次に、送信ポート「Ｔｘポート」は、バッファーＳＦＣ１の全てのフレームを送信し、次に、バッファーＳＦＣ２の全てのフレームを送信し、以下同様である。
【００３８】
この機構により、同じトラフィッククラス内で、フレームが多重化に起因して最小レイテンシーを受けることが保証され、したがって、スケジューリングされたトラフィックの低レイテンシー性が強化される。図３は、図示の例において４つのポートを有するスイッチアーキテクチャの一例を示している。より詳細には、提案される機構は、図３に示す一般的なデータパスに基づくスイッチにおいて実現することができる。フレーム識別及び転送モジュール１０は、Ｒｘポート１〜４にわたって、各受信フレームにタイムスタンプを割り当てるように、クロック１１と協働するか又はこのクロックを含む。モジュール１０は、メモリ媒体１２と協働するか又はこのメモリ媒体を備え、メモリ媒体１２は、以下を含む。
−本発明の一態様に従って、コンピュータープログラムの非一時的命令を記憶する非一時的メモリセクション、及び、
−受信フレームを、これらのフレームのそれぞれのタイムスタンプとともに一時的に記憶する一時的メモリセクション。
【００３９】
メモリ媒体１２は、各バッファーにおいてフレームのキューを一時的に記憶する、各送信ポートであるＴｘポート１〜４のメモリバッファーＳＦＣ１、ＳＦＣ２、ＳＦＣ３と協働するか又はこれらのメモリバッファーを含むことができ、各バッファーにおけるフレームは、これらのフレームのタイムスタンプに従って（キューの先頭の最も早く受信されたフレームから、キューの末尾における最も遅く受信されたフレームまで）順序付けられる。
【００４０】
メモリ１２の一時メモリセクションは、（フレームのタイムスタンプを伴うこれらのフレームの記録を、これらのフレームをバッファーに送信する前に編成するように）バッファーとは別個とすることもできるし、（各送信ポートについて）単にバッファー自体に対応することもできる。
【００４１】
図８を参照すると、フレーム識別及び転送モジュール１０は、本発明の方法を実行する処理ネットワークデバイスとして実現することができ、
−幾つかの受信ポートＲｘＰｉにわたって受信されたフレームＦＲを受信する入力インターフェース１１０と、
−各受信フレームにタイムスタンプを付与するように、クロック入力ＣＬＫを受信する処理回路１１１と、
−各フレームを、そのフレームの送信の優先度のインデックス（例えば、上述のフレームクラス）に対応するバッファー内に、（図２の例に示すように、）そのフレームのタイムスタンプに対応するバッファー内の順序において、一時的に記憶するように処理回路と協働するメモリ１２とのリンクと、
−フレーム又はフレームのブロックが属するバッファーと、バッファー内の上記フレーム又はこのフレームのブロックの位置とに依拠した時点における送信のために、上記フレーム又はフレームのブロックを送信ポートＴｘＰｎにフィードする出力インターフェース１１２と、
を備える。
【００４２】
ここで、特定の実施形態が以下に開示される。
【００４３】
ここで図４を参照すると、スケジューリングされたフレームは、通常、ＶＬＡＮ識別子及び優先レベルフィールドの組み合わせによって識別することができ、ＶＬＡＮ識別子及び優先レベルフィールドの双方は、フレームヘッダー内に位置する。したがって、これらのパラメーターの双方の組み合わせを用いて、スケジューリングされたフレームが属するトラフィッククラスを決定することができ、ひいては、これらのフレームが送信選択のために格納されるキューを決定することができる。したがって、さらに、フレームが一般的に含む電気通信データ、及び（フレームインテグリティチェックのために）ファイリングされたＦＣＳのために、各フレームは、情報フィールドを有しており、この情報フィールドにより、そのフレームを送信する優先度のインデックスを決定することが可能になる。
【００４４】
したがって、図５は、スケジューリングされたフレームのより完全なデータパスを示している。この実施形態の例において、スケジューリングされたフレームは、受信ポートにおける、それらのフレームの最初のバイトの受信時にタイムスタンプを記録される。これにより、フレームを、このフレームのクラスに対応するバッファー内で順序付けることが可能になる。さらに、タイムスタンプは、フレームデータに関連付けられ、これら双方は、好適な送信ポート（Ｔｘポート）に通信される。好適な送信ポートは、フレームの読み出し時に決定することができる。例えば、識別転送モジュールが、フレームが全ての送信ポートによってブロードキャストされるのか、又は、マルチキャスト送信のために幾つかの指定されたポートによって若しくは（ユニキャスト送信のために）特定の送信ポートによって送信されるべきなのかを決定するように、フレームのヘッダーフィールドを読み出すこと等ができる。
【００４５】
タイムスタンプの付与は、フレーム識別及び転送モジュール１０によって、又は、一変形形態として、受信ポートＲｘによって実行することができる。また、受信ポートＲｘは、到来フレームから抽出された入力情報をフレーム識別及び転送モジュール１０に提供する役割を担うこともできる。
【００４６】
加えて、Ｒｘポートにおいて受信オペレーションの２つのモードが可能である。
・記憶及び転送モード（図５）：受信されたフレームデータは、受信バッファー（例えば、メモリ１２の受信バッファー）に格納され、フレームＦＣＳがチェックされ（フレームインテグリティチェック）、その後、フレーム識別及び転送モジュール１０に問い合せが行われ、フレームが送信ポート（複数の場合もある）に転送される。
・カットスルーモード（図６）：受信フレームを識別する必要があるデータがＲｘポートに現れると即座に、フレーム識別及び転送モジュール１０の決定に従って、フレームデータが送信ポート（複数の場合もある）における（対応するバッファーにおける）指定されたクラスキューに転送される。
図５及び図６に示すように、フレーム識別及び転送モジュール１０は、ＲＸポートによって提供されたフレームデータを用いて、各フレームが意図されるＴｘポートと、フレームのトラフィッククラスとを決定する。この情報を用いて、選択された送信クラスキューにおけるフレームの格納が制御される。
【００４７】
クラスキューは、フレームバッファーとして構成され、Ｒｘポートから到来するフレームデータを書き込むとともに、クラスキューが属するＴｘポートを介して送信するためにフレームデータを読み出して提供することができる。
【００４８】
各クラスキューは、フレームブロック内に編成されたデュアルポートメモリである。各フレームブロックは、フレーム全体又はフレームのセグメントを含むことができる。本発明の関連のフレームセグメンテーション方法は、本出願人の名義による欧州特許出願公開第１５３０５２２１．２号において開示されているようなものとすることができる。この実施形態は、図７に示されている。各ブロックは、ブロック記述子に関連付けられる。ブロック記述子は、長さフィールド及びポインターフィールドを含む。長さフィールドは、フレームブロック内のフレームデータ記憶の実際の長さを示す。ポインターフィールドは、同じフレームのセグメントを含む次のフレームブロックへのポインターか、又は、フレームブロックがフレーム全体若しくはフレームの末尾のセグメントを含む場合には「フレームの終了（end-of-frame）」マーカーかのいずれかを含む。
【００４９】
また、クラスキューは、フレームバッファー内に格納された各フレームに関連付けられたタイムスタンプを格納するタイムスタンプキューも埋め込み、タイムスタンプは、それらの値の昇順にソートされる。新たなフレームがフレームバッファー内に格納される度に、タイムスタンプキューの要素は、ソートされる。
【００５０】
送信ポートは、８０２．１Ｑｂｖに記載の送信選択機構に従ってクラスキューを読み出す。
【００５１】
クラスキューは、ここでも本明細書には開示されない８０２．１Ｑｂｖ標準規格から既知であるもののような、対応する８０２．１Ｑｂｖゲートがオープンしているとき、送信のために選択される（すなわち、読み出される）。
【００５２】
選択されたクラスキュー内のフレームの読み出し順序は、本発明の主要な原理に従って、それらのフレームの関連付けられたタイムスタンプの順序によって与えられる。
【００５３】
図９は、本発明の一態様によるコンピュータープログラムの可能なアルゴリズムを表すフローチャートである。ステップＳ１において、フレームＴＲｉｊ、ＴＲｉｊ＋１等が、各受信ポートＲｘＰｉにおいて連続的に受信され（ステップＳ３）、ステップＳ２においてそれらのそれぞれのタイムスタンプＴＳｊとともに記憶される。ステップＳ４において、フレームは、（送信の優先度のインデックスを読み出した後に）それらのクラスに従ってソートされる。したがって、各送信ポートについて、（ステップＳ５において）Ｋ個のバッファーが構築され、各バッファーｋ（ただし、ｋ＝１〜Ｋ）において、フレーム（又はフレームのブロック）は、ステップＳ６においてそれぞれのフレームタイムスタンプに従ってソートされる。可能な説明的な一実施形態において、バッファーがステップＳ７において一杯である場合、クラス１に対応するバッファー（ステップＳ８におけるｋ＝１）について送信の優先が許可される。より詳細には、一実施形態において、ステップＳ９においてバッファーが空ではない場合、ステップＳ１０においてバッファーが含むフレームが送信される。バッファーが空である場合、次のクラスバッファーコンテンツ（ステップＳ１１におけるｋ＝２）が、バッファーが含むフレームを送信するためにチェックされ、ｋ＝Ｋとなるまで（ステップＳ１２）以下同様である。可能な一実施形態において、全てのバッファーが完全にフレームによって一杯となったとき、特定の優先ポリシーを実施することができる。例えば、バッファーの長さは異なるものとすることができ、すなわち、より高いクラスのフレームを、より低いクラスのフレームを送信する前に送信するように優先度を与えるように、より高いクラスバッファーをより長くすることができる。
【００５４】
当然ながら、スケジューリングされたフレームクラスに依拠する送信時点に割り当てられる時間ウィンドウは、さらに、上記で説明された標準規格である、標準規格ＩＥＥＥ８０２．３ｂｒに従って、各バッファー内のフレームの送信を統御することができる。
【００５５】
より詳細には、サイクリック時間ウィンドウ内で、上位クラスのバッファー内のエクスプレスフレームの送信に優先度が与えられる。下位クラスのバッファーのフレーム又はフレームのフラグメント（上記で「ブロック」と称されている）は、２つの時間ウィンドウの間の残存時間において送信することができる。しかしながら、図９の可能な実施形態において、上記で説明されたように、所定の長さを有するバッファーの使用における利点を取り入れることができ、それにより、上位クラスのバッファーが一時的に空であるときの下位クラスのフレームの送信も可能になる。より詳細には、可能な一実施形態において、上位クラスのバッファーの長さは、サイクリック時間ウィンドウの持続時間に少なくとも適合することができる。
【００５６】
したがって、本発明は、コンピュータープログラム製品（そのアルゴリズムが図９を参照して上記で説明された）に組み込むことができ、このコンピュータープログラム製品は、本明細書において説明した方法の実施を可能にする全ての特徴を含み、情報処理システム（例えば、ユーザー機器又はネットワーク要素）にロードされると、この情報処理システムに本発明を実行させる。本文脈におけるコンピュータープログラム手段又はコンピュータープログラムは、情報処理能力を有するシステムに特定の機能を直接又は別の言語への変換後に実行させるように意図された一組の命令の任意の言語、コード又は表記による任意の表現を意味する。そのようなコンピュータープログラムは、コンピューター可読媒体又はマシン可読媒体に記憶することができ、これによって、データ、命令、メッセージ又はメッセージパケット、及び他のマシン可読情報をこの媒体から読み出すことが可能になる。コンピューター可読媒体又はマシン可読媒体は、ＲＯＭ、フラッシュメモリ、ディスクドライブメモリ、ＣＤ−ＲＯＭ、及び他の永久記憶装置等の不揮発性メモリを含むことができる。加えて、コンピューター可読媒体又はマシン可読媒体は、例えば、ＲＡＭ、バッファー、キャッシュメモリ、及びネットワーク回路等の揮発性記憶装置を含むことができる。さらに、コンピューター可読媒体又はマシン可読媒体は、一時的状態媒体におけるコンピューター可読情報又はマシン可読情報を含むことができ、この一時的状態媒体は、有線ネットワーク又は無線ネットワークを含むネットワークリンク及び／又はネットワークインターフェース等であり、デバイスがそのようなコンピューター可読情報又はマシン可読情報を読み取ることを可能にするものである。
【００５７】
現在のところ、本発明の好ましい実施形態と考えられるものを図示及び説明してきたが、本発明の真の範囲から逸脱することなく、様々な他の変更を行うことができること及び等価なものに取り替えることができることが当業者によって理解されるであろう。加えて、本明細書において説明した中心の発明概念から逸脱することなく、特定の状況を本発明の教示に適合させるように多くの変更が行うことができる。さらに、本発明の一実施形態は、上記で説明した特徴の全てを含むとは限らない場合がある。したがって、本発明は、開示された特定の実施形態に限定されるものではなく、本発明は、上記で広く画定された本発明の範囲内に含まれる全ての実施形態を含むことが意図されている。
【図１】
0006516930.tif 000002
【図２】
0006516930.tif 000003
【図３】
0006516930.tif 000004
【図４】
0006516930.tif 000005
【図５】
0006516930.tif 000006
【図６】
0006516930.tif 000007
【図７】
0006516930.tif 000008
【図８】
0006516930.tif 000009
【図９】
0006516930.tif 000010