(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-31
(54)【発明の名称】イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法
(51)【国際特許分類】
H04L 47/56 20220101AFI20240124BHJP
H04L 47/24 20220101ALI20240124BHJP
【FI】
H04L47/56
H04L47/24
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023568760
(86)(22)【出願日】2021-12-08
(85)【翻訳文提出日】2023-07-24
(86)【国際出願番号】 JP2021046163
(87)【国際公開番号】W WO2022254759
(87)【国際公開日】2022-12-08
(32)【優先日】2021-05-31
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】Capronilaan 46, 1119 NS Schiphol Rijk, The Netherlands
(74)【代理人】
【識別番号】100110423
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100188514
【氏名又は名称】松岡 隆裕
(72)【発明者】
【氏名】マンガン、クリストフ
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030LA03
5K030LE14
(57)【要約】
本発明は、イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、送信すべきいくつかのタイムクリティカルなトラフィックフレームの中で、将来のタイムクリティカルなトラフィックフレーム(エクスプレスフレーム)の次の送信の時間を、タイムクリティカルなトラフィックフレームのそれぞれの優先度レベルに基づいて決定する、方法に関する。この次の送信時間の決定によって、種々のストリームに属し得るこのようなタイムクリティカルなトラフィックフレームの送信の公正なタイミングが可能になる。前述した次の送信時間の前に、非タイムクリティカルなトラフィックのプリエンプタブルフレームを送信することも可能になる。
【特許請求の範囲】
【請求項1】
イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、
a)送信すべき前記イーサネットフレームの中で、タイムクリティカルなトラフィックフレームと、前記タイムクリティカルなトラフィックフレームのそれぞれの優先度レベル(p(x)、p(y))とを特定することと、
b)各タイムクリティカルなトラフィックフレームの送信時間(TCiNextTx)のデータと、各タイムクリティカルなトラフィックフレームの送信継続時間(FrameDur(i))のデータとを取得することと、
c)前記それぞれのタイムクリティカルなトラフィックフレームの前記送信時間を比較して、昇順による前記送信時間のリストを決定することと、
d)前記リストの最上部における第1の送信時間を有する第1のフレームに対して、前記第1のフレームの前記第1の送信時間と送信継続時間との加算結果を決定することと、
e)前記リストにおける少なくとも1つの第2の送信時間が前記加算結果よりも小さいか否かを判定して、
小さくない場合は、タイムクリティカルなトラフィックフレームの次の送信時間を前記第1の送信時間として決定し、
小さい場合には、前記リストにおける前記第2の送信時間を有する第2のフレームの優先度が、前記第1のフレームの優先度よりも高いか否かを判定し、
高くない場合は、タイムクリティカルなトラフィックフレームの次の送信時間を前記第1の送信時間として決定し、
高い場合には、前記第1の送信時間を前記リストから取り除いて、前記リストにおける前記第1の送信時間に続く新しい送信時間を用いてd)及びe)を繰り返すことであって、前記新しい送信時間は、d)及びe)の前記繰返しの実施に対する前記第1の送信時間になることと、
f)前記リストの前記第1の送信時間のままである送信時間を有する前記タイムクリティカルなトラフィックフレームの前記次の送信時間をスケジューリングすることと、
を含む、方法。
【請求項2】
各タイムクリティカルなトラフィックフレームの前記送信継続時間データを、前記タイムクリティカルなトラフィックフレームのデータ構造内に与えられるフレーム記述子フィールドから取得する、請求項1に記載の方法。
【請求項3】
各タイムクリティカルなトラフィックフレームの前記優先度レベルを、前記タイムクリティカルなトラフィックフレームが属するトラフィッククラスに従って規定する、請求項1又は2に記載の方法。
【請求項4】
前記タイムクリティカルなトラフィックフレームを、それらの送信前に、前記タイムクリティカルなトラフィックフレームが属する前記トラフィッククラスにそれぞれ応じてFIFOキューに積み重ね、各キューは1つのトラフィッククラスに対応する、請求項3に記載の方法。
【請求項5】
前記タイムクリティカルなトラフィックフレームの前記送信時間(TCiNextTx)を、前記パケット交換ネットワークの共通クロックによって与えられる現在時刻に対して相対的に規定する、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記タイムクリティカルなトラフィックフレームを非タイムクリティカルなトラフィックフレームと区別し、前記非タイムクリティカルなトラフィックフレームを、送信すべきタイムクリティカルなトラフィックフレームがないときはいつでも送信されるプリエンプタブルトラフィックフレームとして特定し、f)において決定したタイムクリティカルなトラフィックフレームの前記次の送信時間は、現在時刻に対して相対的に、非タイムクリティカルなトラフィックフレームの少なくとも1つの最小サイズのフラグメントを送信できるか否かを規定する、請求項1~5のいずれか1項に記載の方法。
【請求項7】
f)までの前記方法の実施を、少なくとも、タイムクリティカルなトラフィックフレームを送信する度に始めて、新しいタイムクリティカルなトラフィックフレームの前記次の送信時間を規定する、請求項6に記載の方法。
【請求項8】
非タイムクリティカルなトラフィックフレームの前記1つの最小サイズのフラグメントは、ガードバンド間隔の継続時間に対応し、
前記次の送信時間が、f)において、前記ガードバンド間隔の開始の後に起こると決定された場合には、非タイムクリティカルなトラフィックのいかなる送信も延期し、
そうでない場合には、非タイムクリティカルなトラフィックフレームの少なくとも1つのフラグメントを送信する、請求項6又は7に記載の方法。
【請求項9】
コマンドレイテンシーに起因するオフセットを、非タイムクリティカルなトラフィックフレームの1つの最小サイズのフラグメントの送信の継続時間に加えて、前記ガードバンド間隔の前記継続時間を決定する、請求項8に記載の方法。
【請求項10】
前記ガードバンド間隔の前記開始前に送信コマンドを「保持」状態に設定して、タイムクリティカルなトラフィックフレームの前記次の送信時間が起きたときに非タイムクリティカルなトラフィックフレームのいかなる送信も防ぐ、請求項8又は9に記載の方法。
【請求項11】
前記タイムクリティカルなトラフィックフレームの送信の開始後に前記送信コマンドを「解放」状態に設定する、請求項10に記載の方法。
【請求項12】
命令を含むコンピュータープログラムであって、前記命令は、前記プログラムが処理回路によって実行されたときに、請求項1~11のいずれか1項に記載の方法を前記処理回路に行わせる、コンピュータープログラム。
【請求項13】
命令を含むコンピューター可読記憶媒体であって、前記命令は、処理回路によって実行されたときに、請求項1~11のいずれか1項に記載の方法を前記処理回路に行わせる、コンピューター可読記憶媒体。
【請求項14】
装置であって、
請求項1~11のいずれか1項に記載の方法を実施するように構成された処理回路(PROC、MEM)と、
前記パケット交換ネットワークに接続され、イーサネットフレームの送信が前記処理回路によってスケジューリングされたときに前記イーサネットフレームを送信するように前記処理回路によって操縦されるように構成された通信インターフェース(COM、EGP)と、
を備える、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イーサネットフレームの通信の管理に関する。
【背景技術】
【0002】
パケット交換ネットワークは、レイテンシー及び転送遅延変動を受ける可能性がない制御データの転送を可能にするレイヤー2特徴の導入により、産業制御応用のためにますます使用されてきている。
【0003】
例えば、低レイテンシーサンプリングデータ、(閉ループ)制御及び画像ストリーミング(例えば、プロセス制御)は、非常に厳格なレイテンシー要件を有する。制御ループの一部としての画像ストリーミング及び関連付けられた処理は、収束ネットワークにおいてベストエフォートトランスポートがもたらし得るよりも多大な要件を有する。
【0004】
同時に、ベストエフォートストリームはタイムクリティカルではなく、むしろタイムクリティカルストリームに対する干渉の一定の発生源を提供する。
【0005】
特に産業フィールドバス(例えば、EtherCAT、Ethernet Powerlink、TCnet、PROFINET等)の要件に対する交換Ethernetの適合のために、解決策が漸進的に開発されている。
【0006】
これらの解決策は全て、送信には制御されたスケジューリングが必要なタイムクリティカルなストリームに対するサポートを提供する標準的なイーサネットプロトコルへの特定の独自開発を加えることに依拠している。
【0007】
これらの適合によって用いられる共通のスキームは、時間ウィンドウにおける送信多重化の編成に基づいており、各ウィンドウは、特定のストリームタイプのために予約されている。時間ウィンドウの数及び反復周波数は、応用の要件に従って決定される。
【0008】
スケジューリングされたストリームを生成する(産業制御)応用には周期的アクティビティがあることを考えると、送信多重化は最終的には周期的なサイクルで編成され、各サイクルには、スケジューリングされた(低レイテンシーの)ストリームに対して予約された一連の時間ウィンドウが含まれ、送信機会の残りは、スケジューリングされていないストリームに充てられる。
図1にこの通信スキームが示され、送信多重化の周期的な編成を例示する。
【0009】
しかし、いくつかの環境では、他の制御応用の中にはレイテンシー又はジッター要件がそれほど厳しくないものもある。埋め込み自動車制御ネットワークは、これらの応用の1つである。これらの環境では、選択したトラフィック管理方法により、重要な制御ストリームに対するジッターの制限、レイテンシーの制限、及びゼロパケット損失が保証されるならば、スケジュールの計算及びトラフィックソースのネットワークとの同期によって要求される余分なネットワークエンジニアリングを回避することができる。
【0010】
ネットワーク全体にわたって予約され、ソースによってネットワークと交渉される所定のデータレートに従ったトラフィックシェーピングは、これらの性能目標を実現することに十分に適応された手法である。それにより、スケジューリングされたストリーム間の送信遅延限界及び公正性を保証する手段が得られる。
【0011】
スケジューリングされたストリームとスケジューリングされていないストリームとの間の干渉による潜在的なレイテンシーの原因を更に減らすために、プリエンプションメカニズムが導入される。
図2に示されるように、プリエンプションは、スケジューリングされていないストリームの送信機会とスケジューリングされたストリームの送信機会との間の移行時に起こる。
図2では、スケジューリングされていないフレームのフラグメンテーションによって保証されるスケジューリングされたフレーム送信を例示している。詳細には、このような移行時には、スケジューリングされたストリームの送信機会の開始が、スケジューリングされていないストリームの送信機会の終了と重なる可能性がある。そのような場合、スケジューリングされていないストリームのフレームの現在の送信が終了するまで、スケジューリングされたストリームのフレームは送信することができない。
【0012】
スケジューリングされていないフレームの残りの部分の送信機会をプリエンプトすることによって、スケジューリングされたストリームが更なる遅延を被ることを回避することが可能である。プリエンプション動作を促進するために、スケジューリングされていないストリームのフレームをフラグメンテーションして、スケジューリングされたストリームの送信機会が完了するまで、残りのフラグメント(複数の場合もある)の送信を遅延させることができる。
【0013】
スケジューリングされたストリームとスケジューリングされていないストリームとの間の効率的な相互動作を得る試みの中で、2つの規格が開発されている。
802.1Qbv:種々のトラフィッククラスに対する時間ウィンドウの予約に依拠してスケジューリングスキームを規定する。
802.3br(MAC部分用)及び802.1Qbu(ブリッジ管理部分用):通常は、スケジューリングされたストリームに属するいわゆる「エクスプレス」フレームの同時送信時に、いわゆる「プリエンプタブル」フレームに適用されるフラグメンテーションメカニズムを指定するプリエンプションスキームを規定する。
【0014】
802.1Qbvは、周期的なカレンダーテーブルに基づいている。周期的なカレンダーテーブルでは、エントリによって、種々のトラフィッククラスのストリームの送信用に予約された時間ウィンドウの開閉時間を規定する。スケジューリングされたストリームとスケジューリングされていないストリームとは、これらのトラフィッククラスに属する。802.1Qbvによって使用されるカレンダーテーブルの周期性によって、これらの規格は、周期的なスケジューリングされたストリームを最小のレイテンシーで転送するための適応されたフレームワークを提供する。これは、前述で引用した産業規格によって提供されるものと同様のサービスである。
【0015】
プリエンプション動作に関して、2つのMACサービスインターフェース、すなわち、プリエンプタブルMAC(pMAC)サービスインターフェースとエクスプレスMAC(eMAC)サービスインターフェースとは、プリエンプションプロトコルスタックを示す
図3に例示されるように、ブリッジの送信ポート又はエンドステーションの送信ポートにおいて1レベルのフレームプリエンプションを実施するように指定される。エクスプレストラフィックをプリエンプタブルトラフィックによって分散させることは、エクスプレスメディアアクセス制御(eMAC)及びプリエンプタブルMAC(pMAC)を共通の調整下位層(RS)サービスにリンクするMACマージ下位層によって実現される。
【0016】
プリエンプタブルとして特定されるトラフィッククラスの場合、送信に選択されるフレームは、pMACサービスインスタンスを使用して送信され、エクスプレスとして特定されるトラフィッククラスの場合、送信に選択されるフレームは、eMACサービスインスタンスを使用して送信される。
【0017】
プリエンプションは、プリエンプタブルフレームよりも高い優先度を有するエクスプレスフレームを使用して、エクスプレスフレームとプリエンプタブルフレームとの間でのみ行うことができる。プリエンプションが行われると、プリエンプトされたフレームの送信は、エクスプレスフレームが完全に送信されたときにのみ再開される。プリエンプタブルフレームは複数回プリエンプトすることができる。エクスプレスフレームを何らかの他のフレームによってプリエンプトすることはできないが、プリエンプタブルフレームは任意のエクスプレスフレームによってプリエンプトすることができる。
【0018】
MACマージ下位層は、エクスプレスフレームの送信がないときにプリエンプションプロセスを強制する1つのコマンドであるMM_CTL.requestプリミティブを提供する。これは、プリエンプタブルトラフィックの送信を保持(hold)又は解放(release)するMACクライアントからMACマージ下位層への要求を規定する。「保持」コマンドを設定することで、条件がプリエンプションを許可したときにプリエンプションが起こり、コマンドが「解放」に設定されるまでpMACフレームの送信の開始が防がれる。後者の場合、送信するパケットがeMACにないときには、MACマージ下位層はpMACからパケットを送信する。
【0019】
プリエンプトされると、フレームはフラグメントに分割され、MACマージ下位層によって再フォーマットされて、完全なフレームとしてイーサネットの物理層に送られる。これらの完全なフレームは、分割されたペイロードを送信し、プリエンプトされたフレームの最初、中間、及び最後のフラグメントが特定できるように種々のフォーマットを有する。フレームプリエンプションをサポートするポートは、次のいずれかによって置換される開始フレームデリミタ(SFD)バイトによってフレームを送信する。
エクスプレスフレームに対するSMD-E、
プリエンプタブルフレームの開始フラグメントに対するSMD-Sx、又は
プリエンプタブルフレームの継続フラグメントに対するSMD-Cx。
【0020】
図4に、対応するフレーム及びフラグメントのフォーマットを例示する。
【0021】
継続フラグメントは、1バイト短いプリアンブルを有し、フラグメントカウンターであるFCntバイトに場所を与える。中間及び最後のフラグメントは、部分的な4バイトCRCチェックサム(mCRC)で終了する。最後のフラグメントは、エクスプレスフレームの場合と同様に全体フレームのFCSによって終了する。
【0022】
最小の最終以外フラグメントのサイズ(FCSを除く)は、構成によって固定することができ、64バイトのイーサネット最小フレームサイズ要件との互換性を維持する。それは、値64×(1+n)-4(0≦n≦3)を取ることができる。フラグメンテーションによって、最小の最終以外フラグメントのサイズよりも小さいフラグメントが生成される場合には、フラグメンテーションを行うことはできない。この結果、64×2×(1+n)-4バイトよりも短いフレームは、フラグメンテーションすることができない。
【0023】
プリエンプションをサポートしない交換では、高優先度のフレームは、100Mbpsポート上で最大123.36μs、すなわち100Mbpsでの最大サイズのフレームの継続時間だけ、遅延する可能性がある。フレームプリエンプションが実施されると、プリエンプタブルフレーム干渉に起因する最大のエクスプレスフレームレイテンシーが10.16μsに低減される。
【0024】
この残存する遅延は、エクスプレスストリームタイミングの要件に応じて、性能に対する悪影響を潜在的に有する可能性がある。
【0025】
低優先度側のフレームによる高優先度側のフレームへの送信干渉の影響を緩和するために、高優先度側のフレームの送信が開始する前に、いわゆるガードバンドを提供することができる。
【0026】
プリエンプションが実施されると、最小の最終以外フラグメントのサイズが60バイトであるときに、このようなガードバンドの継続時間を、フラグメンテーション不可能なフレーム又はフラグメントの最大サイズ、例えば、123バイトに対応する最小値まで低減することができる。この場合、プリエンプション制御コマンドは、エクスプレスフレーム送信がスケジューリングされる前に、そのガードバンドに対応する時間を「保持する」ように設定しなければならない。
【0027】
図5に、HOLDコマンドを使用したプリエンプション制御によるこのようなガードバンド提供を例示する。プリエンプタブルフレームが2つのフラグメントに分割される一方で、エクスプレスフレームの送信は時間どおりにスケジューリングされる。
【0028】
IEEE TSN規格のフレームワークでは、プリエンプションとガードバンドの提供とのこの組み合わせは、エクスプレストラフィック送信が、これらのトラフィックの送信に対して予約される時間ウィンドウを明示的に規定する802.1Qbv規格に従って取り扱われる場合にのみ使用される。ガードバンドを個々のフレームの送信前に挿入することはできない。
【0029】
高優先度側のフレームのオンタイム送信を保証するガードバンドの実施態様を可能にする唯一のIEEE TSN規格は、802.1Qbvである。なぜならば、その送信選択メカニズムが基づく時間ウィンドウが、ガードバンドのインタイム挿入を可能にする時間基準に従って規定されるからである。そのような構成では、ガードバンドは、共通クロックに同期され、サイクルが共通の基本サイクルの倍数である周期的なトラフィックを保護するためにのみ、提供することができる。
【0030】
しかし、厳しい遅延制約はあるが、個々の独立したサイクルを伴う通信、又はより一般的には、共通のサイクルと同期していない種々のトラフィック形状を伴う通信を組み合わせる必要がある場合には、IEEE規格スイートでは何らの解決策も得られない。
【0031】
したがって、パケット交換ネットワークにおいてイーサネットフレームの送信をスケジューリングする状況において、タイムクリティカルなトラフィックフレームの公正な次の送信時間を、とりわけ、種々のタイムクリティカルなトラフィックストリームの優先度レベルを考慮して、解決すべき一般的問題として、決定することが求められ、任意選択で、可能な非タイムクリティカルなトラフィックフレームを送信すべき実施形態において、非タイムクリティカルなトラフィックフレーム(又は少なくともフレームフラグメント)のこのような送信が可能であるか否かを、タイムクリティカルなトラフィックフレームの次の送信時間を考慮して判定することが求められている。
【発明の概要】
【0032】
本発明は、上記状況を改善することを目的とする。そのために、
a)送信すべきイーサネットフレームの中で、タイムクリティカルなトラフィックフレームと、上記タイムクリティカルなトラフィックフレームのそれぞれの優先度レベルとを特定することと、
b)各タイムクリティカルなトラフィックフレームの送信時間(添付の図面においてはTCiNextTxで表される)のデータと、各タイムクリティカルなトラフィックフレームの送信継続時間(FrameDur(i)で表される)のデータとを取得することと、
c)それぞれのタイムクリティカルなトラフィックフレームの送信時間を比較して、昇順による上記送信時間のリストを決定することと、
d)リストの最上部における第1の送信時間を有する第1のフレームに対して、上記第1のフレームの上記第1の送信時間と送信継続時間との加算結果を決定することと、
e)上記リストにおける少なくとも1つの第2の送信時間が上記加算結果よりも小さいか否かを判定して、
小さくない場合は、タイムクリティカルなトラフィックフレームの次の送信時間を第1の送信時間として決定し、
小さい場合には、リストにおける上記第2の送信時間を有する第2のフレームの優先度が、第1のフレームの優先度よりも高いか否かを判定し、
高くない場合は、タイムクリティカルなトラフィックフレームの次の送信時間を第1の送信時間として決定し、
高い場合には、第1の送信時間をリストから取り除いて、リストにおける第1の送信時間に続く新しい送信時間を用いてd)及びe)を繰り返すことであって、上記新しい送信時間は、d)及びe)の繰返しの実施に対する第1の送信時間になることと、
f)リストの第1の送信時間のままである送信時間を有するタイムクリティカルなトラフィックフレームの次の送信時間をスケジューリングすることと、
を含む方法が提案される。
【0033】
一実施の形態において、各タイムクリティカルなトラフィックフレームの上記の送信継続時間データを、上記タイムクリティカルなトラフィックフレームのデータ構造内に与えられるフレーム記述子フィールドから取得する。
【0034】
実際には、フレームの長さはそのフィールドから分かっており、したがって、その送信継続時間は、その長さ及びリンク速度(通常、送信機デバイスの任意の出口ポートにおいて分かっている)に基づいて決定することができる。
【0035】
一実施の形態において、各タイムクリティカルなトラフィックフレームの上記の優先度レベルを、上記タイムクリティカルなトラフィックフレームが属するトラフィッククラス(TCiNextTxで表したもののうちの「TCi」)に従って規定する。
【0036】
例えば、クラスTCiを規定するストリームコンテキストは、通常は、イーサネットフレームのVLANタグにおける優先度コードポイントから得ることができる。このトラフィッククラスパラメーターTCiは、そのクラスパラメーターTCiに関係するフレームを送信すべき「契約上の」時間を規定する。そのトラフィッククラスTCiのこのようなフレームの次の送信時間は、以後及び添付図面においてTCiNextTxで表す。
【0037】
例えば、いくつかの実施の形態において、連続的なタイムクリティカルなトラフィックフレームを、同じ時間枠によって分離されたそれぞれの連続的な送信時間において送信すべきである(周期的なカレンダーテーブルに基づく規格802.1Qbvに関連して前述したように)。しかし、他のタイムクリティカルなトラフィックフレーム(例えば、いくつかのシグナリングフレーム)は、周期的にスケジューリングされていないストリームに関係する場合があるため、必ずしもサイクルに関係しない特定の時間に送信しなければならない。
【0038】
したがって、フレームが属するトラフィッククラスTCi、TCj等に基づいて、それらのそれぞれの優先度レベルを決定し、また、前述した方法により、タイムクリティカルなトラフィックフレームを送信する最も公正な次の送信時間を決定することが重要である。
【0039】
一実施の形態において、タイムクリティカルなトラフィックフレームを、それらの送信前に、タイムクリティカルなトラフィックフレームが属するトラフィッククラスにそれぞれ応じてFIFOキューに積み重ねることができ、各キューは1つのトラフィッククラスに対応する。
【0040】
以下で更に述べる
図6に示されるように、更にいくつかのFIFOキューを1つの同じトラフィッククラスに割り当てることができる。
【0041】
一実施の形態において、タイムクリティカルなトラフィックフレームの送信時間(TCiNextTx)を、パケット交換ネットワークの共通クロックによって与えられる現在時刻に対して相対的に規定することができる。
【0042】
実際には、トラフィッククラス期間は分かっており、共通のネットワーク時間は分かっているため、タイムクリティカルなトラフィックフレームのそれぞれの送信時間を最終的に決定することができる。
【0043】
タイムクリティカルなトラフィックフレームを、送信すべきタイムクリティカルなトラフィックフレームがないときはいつでも送信されるプリエンプタブルトラフィックフレームとして特定される非タイムクリティカルなトラフィックフレームと区別する一実施形態において、f)において決定したタイムクリティカルなトラフィックフレームの上記の次の送信時間は、現在時刻に対して相対的に、非タイムクリティカルなトラフィックフレームの少なくとも1つの最小サイズのフラグメントを送信できるか否かを規定する。
【0044】
この実施の形態において、f)までの方法の実施を、タイムクリティカルなトラフィックフレームを送信する度に始めて、新しいタイムクリティカルなトラフィックフレームの次の送信時間を規定する。
【0045】
この実施の形態によって、タイムクリティカルなトラフィックフレームの次の送信時間までの残りの時間に応じて、非タイムクリティカルなトラフィックフレームの少なくともフラグメントを送信できるか否かを十分早く判定することが可能になる。
【0046】
非タイムクリティカルなトラフィックフレームの上記の1つの最小サイズのフラグメントは、ガードバンド間隔(
図5を参照して上述)の継続時間に対応し、
次の送信時間が、f)において、上記ガードバンド間隔の開始の後に起こると決定された場合には、非タイムクリティカルなトラフィックのいかなる送信も延期し、
そうでない場合には、非タイムクリティカルなトラフィックフレームの少なくとも1つのフラグメントを送信する。
【0047】
この実施の形態において、例えば、コマンドレイテンシーに起因するオフセットを、非タイムクリティカルなトラフィックフレームの1つの最小サイズのフラグメントの送信の継続時間に加えて、ガードバンド間隔の適切な継続時間を決定することができる。
【0048】
このような実施の形態において、上記ガードバンド間隔(
図5に示す)の開始前に「保持」状態に設定される送信コマンドを規定して、タイムクリティカルなトラフィックフレームの上記次の送信時間が起きたときに非タイムクリティカルなトラフィックフレームのいかなる送信も防ぐことができる。
【0049】
ここで、表現「ガードバンド間隔の開始前」は、ガードバンド間隔の開始「直前」又はガードバンド間隔の開始時を意味する。
【0050】
また、この送信コマンドは、上記タイムクリティカルなトラフィックフレームの送信の開始(直)後(又は開始時)に「解放」状態に設定することができる。
【0051】
本発明はまた、命令を含むコンピュータープログラムであって、命令は、プログラムが処理回路によって実行されたときに、上記方法を処理回路に行わせる、コンピュータープログラムを目的とする。本発明はまた、命令を含むコンピューター可読記憶媒体であって、命令は、処理回路によって実行されたときに、上記方法を処理回路に行わせる、コンピューター可読記憶媒体を目的とする。
【0052】
本発明はまた、装置であって、
上記方法を実施するように構成された処理回路と、
パケット交換ネットワークに接続され、イーサネットフレームの送信が処理回路によってスケジューリングされたときに上記イーサネットフレームを送信するように処理回路によって操縦されるように構成された通信インターフェースと、
を備える、装置を目的とする。
【0053】
本発明の更なる詳細及び利点は、詳細な可能なかつ任意選択の実施形態から、及び添付の図面からも明らかとなろう。
【図面の簡単な説明】
【0054】
【
図1】送信多重化の周期的な編成を例示する図である。
【
図2】スケジューリングされていないフレームのフラグメンテーションにより保証されたスケジューリングされたフレーム送信を例示する図である。
【
図3】プリエンプションプロトコルスタックの例を例示する図である。
【
図4】フレーム及びフラグメントのフォーマットを示す図である。
【
図5】HOLDコマンドによるプリエンプション制御によって提供されるガードバンドを例示する図である。
【
図6】次のタイムクリティカルな送信時間を決定するための状況、特にその目的のための入力の例を例示する図である。
【
図7】タイムクリティカルなトラフィックフレームの次の送信時間の決定を考慮した、前述した方法のステップのいくつかを示すフローチャートである。
【
図8】本方法を行うためのデバイスの例を示す図である。
【発明を実施するための形態】
【0055】
以後に提示される実施形態において、本来は個々のフレーム又はフレームのバーストの送信選択に対して実施されるMACマージ下位層プリエンプション制御コマンドの管理を、一般的なスケジューリングスキームに統合することが提案される。
【0056】
提案されるメカニズムは、各トラフィックの優先度レベルと、フレーム/バーストスケジューリングスキームに共通の時間基準への同期とに基づいている。
【0057】
以後、「タイムクリティカルなトラフィック」とは、厳しい送信遅延及びジッター制約を有するトラフィックのことである。それらのフレームの送信時間は、アプリケーションの全ての参加者間の密な同期を保証するためにネットワークの全てのノード(エンドステーション及びブリッジ)間で共有される共通の時間基準を基準とする。タイムクリティカルなトラフィックの遅延及びジッター要件を強制するために、非タイムクリティカルなトラフィックとの送信干渉を回避しなければならない。
【0058】
したがって、タイムクリティカルなトラフィックは、優先度レベルによりエクスプレストラフィックとみなされるトラフィッククラスに属する。
【0059】
タイムクリティカルなトラフィックに関連付けられるいくつかのトラフィッククラスが存在する場合、或る優先度レベルのトラフィッククラスのフレームの送信が、より高い優先度レベルのトラフィッククラスの何らかのフレームの送信と干渉することはできない。
【0060】
したがって、タイムクリティカルなトラフィックフレームをエクスプレスフレームとして扱う。
【0061】
タイムクリティカルなトラフィックの各フレームは、ネットワーク時間と同じ時間基準で表される送信時間と関連付けられる。そして、タイムクリティカルなトラフィックのフレームは、その送信時間が満了したときに送信されると考えられる。
【0062】
以後、「非タイムクリティカルなトラフィック」は、反対に、優先度レベルによりプリエンプタブルトラフィックとみなされるトラフィッククラスに属し、それらのフレームの送信時間は必ずしも共通のネットワーク時間に関係しない。それらは、ここで詳述する必要はない送信選択メカニズムに従ってタイムクリティカルなトラフィックの送信がないときはいつでも送信される。
【0063】
また、保持コマンドスケジューリングを行い、その目標は、タイムクリティカルなフレームの送信前に十分な送信ガードバンドが提供されることが保証される時間に、MACマージ制御(MM_CTL.requestプリミティブ)コマンドを状態HOLDに設定することである。
【0064】
このいわゆる「保持コマンド」の設定時間は、ネットワーク時間を基準とし、次のタイムクリティカルなフレームの送信時間に基づいて固定される。
【0065】
この次のタイムクリティカルなフレームの送信時間の決定について以下に示す。
【0066】
第1のスケジューリング段階では、次のタイムクリティカルなフレームの送信時間を各トラフィッククラスに対して決定する:TCiNextTx。ここで、iはトラフィッククラスの識別子である。このパラメーター表現TCiNextTxでは、インデックスiによってトラフィッククラスの優先度レベルp(i)も決定される。
【0067】
各フレームの送信継続時間は、フレームに関連付けられるデータ構造(フレーム記述子)において入手可能である。送信に対するトラフィッククラスTCi候補(すなわち、送信時間がTCiNextTxである)のフレームのフレーム継続時間は、FrameDur(i)で表される。
【0068】
フレームはその送信前にキュー内に記憶される。これらのキューが編成される方法については、ここで詳述する必要はない。
【0069】
TCiNextTxを、
TCiのフレームが送信される(すなわち、MACサービス層に渡される)度に、又は
TCiのフレームを上位層から受け取る度に、
評価する。
【0070】
TCiNextTx自体の評価については、ここで詳述する必要はない。
【0071】
送信に利用できるトラフィッククラスiのフレームがない場合、すなわち、トラフィッククラスiのフレームを記憶する全てのキューが空である場合、TCiNextTxに「ヌル」値を割り当てる。
【0072】
図6に示されるように、非「ヌル」値を有する任意の優先度レベルの全てのタイムクリティカルなTCのTCiNextTxを、互いに比較して、それらの値の昇順によって順序付きリスト内に入れる。すなわち、このリスト内の各要素はインデックスoによって、TciNextTx[o]≦TcjNextTx[o+1]となるようにインデックス付けされる。
【0073】
このリスト内の各要素に対して、トラフィッククラスに対する送信のフレーム候補の送信継続時間が関連付けられる。すなわち、FrameDur(i)がTCiNextTxに関連付けられる。
【0074】
そして、次のタイムクリティカルなフレームの送信時間の決定が、
図7にも例示される以下のアルゴリズムを行うことによって得られる。
【0075】
すなわち、順序付きリストにおける第1の(すなわち最小の)TCxNextTxから始めて、トラフィッククラスxの送信に対するフレーム候補の送信時間の終わり(すなわち、TCxNextTx及びFrameDur(x)の合計)を計算する:TcxNextTxEnd。TCyNextTxがTCxNextTxEnd以下であり、その優先度レベルp(y)がp(x)よりも高いトラフィッククラスの場合、トラフィッククラスTCxの送信に対するフレーム候補の送信は、より高い優先度レベルのトラフィッククラスに属するフレームの送信と干渉するであろう。
【0076】
その場合は、次のタイムクリティカルなフレームの送信時間を、順序付きリストにおける次の要素によって繰り返す。そうでない場合は、TCxNextTxを、次のタイムクリティカルなフレームの送信時間として選択する。順序付きリストの最後の要素に達するまで、この選択プロセスを繰り返す。
【0077】
ここで、MACマージ下位層制御動作に関して、パラメーターHOLDTimeは、満了したときに(すなわち、現在時刻がHOLDTime以上であるときに)、MM_CTL.requestプリミティブのHOLDへの設定を引き起こす日付である。
【0078】
HOLDTimeは、減算TCxNextTx-HOLDOffsetの結果として計算される。ここで、
TCxNextTxは、送信すべき次のタイムクリティカルなフレームとして選択されたフレームの送信時間であり、前述のように決定される。
HOLDOffsetは、フラグメンテーション不可能なプリエンプタブルフレーム又は少なくともフラグメンテーション不可能な最後のフラグメントの送信が完了できるようにMM_CTL.requestプリミティブが十分に長いHOLDに予め設定されるように選択される継続時間である。
【0079】
そうすることによって、エクスプレスフレームの送信前に予約された送信ガードバンドが実施される。HOLDOffsetは、フラグメンテーション不可能なフレーム又は最後のフラグメントの構成可能な長さと伝送リンクのビットレートとから計算される。
【0080】
また、エクスプレスフレームの送信の開始時に、MM_CTL.requestプリミティブをRELEASEに設定する。
【0081】
図8に示されるように、エンドステーション等のデバイスDEVは、前述の方法を行うために、プロセッサPROCと、本発明によるコンピュータープログラムの命令データを少なくとも記憶するメモリMEMとを含む処理回路CIRを含むことができる。メモリMEMは、入ってくるフレームを一時的に記憶するFIFOキューとして配置されたメモリユニットを更に含むことができる。プロセッサPROCはメモリMEMにアクセスして、メモリ内に記憶された命令を読み出して実行することができる。また、エンドステーションDEVは、少なくとも、出口ポートEGPを有する通信インターフェースCOMと、インターフェースCOMが接続されたネットワークNTWのクロックと同期してプロセッサPROCが動作できるようにするクロックCLKとを更に含む。クロックCLKによって通常は、前述した時刻同期プロトコルの使用を保証することができる。
【0082】
したがって、本発明を、産業オートメーションネットワークにおいて生じる可能性があるタイムクリティカルなトラフィックと非タイムクリティカルなトラフィックとの組み合わせをサポートするパケット交換ネットワークにおいて使用することができる。
【0083】
本発明により、産業オートメーションエンドステーション(デバイス)におけるイーサネットTSNネットワークインターフェースの設計、及びネットワークの送信リソースの使用が最適化される。
【0084】
通常は、本発明は、タイムクリティカルなトラフィックと非タイムクリティカルなトラフィックとの組み合わせがサポートされる産業ネットワーク、自動車ネットワーク、及び航空宇宙ネットワーク等の埋め込み制御ネットワークにおいて適用することができる
【手続補正書】
【提出日】2023-07-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、
a)送信すべき前記イーサネットフレームの中で、タイムクリティカルなトラフィックフレームと、前記タイムクリティカルなトラフィックフレームのそれぞれの優先度レベ
ルとを特定することと、
b)各タイムクリティカルなトラフィックフレームの送信時
間のデータと、各タイムクリティカルなトラフィックフレームの送信継続時
間のデータとを取得することと、
c)前記それぞれのタイムクリティカルなトラフィックフレームの前記送信時間を比較して、昇順による前記送信時間のリストを決定することと、
d)前記リストの最上部における第1の送信時間を有する第1のフレームに対して、前記第1のフレームの前記第1の送信時間と送信継続時間との加算結果を決定することと、
e)前記リストにおける少なくとも1つの第2の送信時間が前記加算結果よりも小さいか否かを判定して、
小さくない場合は、タイムクリティカルなトラフィックフレームの次の送信時間を前記第1の送信時間として決定し、
小さい場合には、前記リストにおける前記第2の送信時間を有する第2のフレームの優先度が、前記第1のフレームの優先度よりも高いか否かを判定し、
高くない場合は、タイムクリティカルなトラフィックフレームの次の送信時間を前記第1の送信時間として決定し、
高い場合には、前記第1の送信時間を前記リストから取り除いて、前記リストにおける前記第1の送信時間に続く新しい送信時間を用いて
前記d)及び
前記e)を繰り返すことであって、前記新しい送信時間は、
前記d)及び
前記e)
の繰返しの実施に対する前記第1の送信時間になることと、
f)前記リストの前記第1の送信時間のままである送信時間を有する前記タイムクリティカルなトラフィックフレームの前記次の送信時間をスケジューリングすることと、
を含む、方法。
【請求項2】
各タイムクリティカルなトラフィックフレームの前記送信継続時間
のデータを、前記タイムクリティカルなトラフィックフレームのデータ構造内に与えられるフレーム記述子フィールドから取得する、請求項1に記載の方法。
【請求項3】
各タイムクリティカルなトラフィックフレームの前記優先度レベルを、前記タイムクリティカルなトラフィックフレームが属するトラフィッククラスに従って規定する、請求項1又は2に記載の方法。
【請求項4】
前記タイムクリティカルなトラフィックフレームを、それらの送信前に、前記タイムクリティカルなトラフィックフレームが属する前記トラフィッククラスにそれぞれ応じてFIFOキューに積み重ね、各キューは1つのトラフィッククラスに対応する、請求項3に記載の方法。
【請求項5】
前記タイムクリティカルなトラフィックフレームの前記送信時
間を、前記パケット交換ネットワークの共通クロックによって与えられる現在時刻に対して相対的に規定する、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記タイムクリティカルなトラフィックフレームを非タイムクリティカルなトラフィックフレームと区別し、前記非タイムクリティカルなトラフィックフレームを、送信すべきタイムクリティカルなトラフィックフレームがないときはいつでも送信されるプリエンプタブルトラフィックフレームとして特定し、
前記f)において決定したタイムクリティカルなトラフィックフレームの前記次の送信時間は、現在時刻に対して相対的に、非タイムクリティカルなトラフィックフレームの少なくとも1つの最小サイズのフラグメントを送信できるか否かを規定する、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記f)までの前記方法の実施を、少なくとも、タイムクリティカルなトラフィックフレームを送信する度に始めて、新しいタイムクリティカルなトラフィックフレームの前記次の送信時間を規定する、請求項6に記載の方法。
【請求項8】
非タイムクリティカルなトラフィックフレームの前記1つの最小サイズのフラグメントは、ガードバンド間隔の継続時間に対応し、
前記次の送信時間が、
前記f)において、前記ガードバンド間隔の開始の後に起こると決定された場合には、非タイムクリティカルなトラフィックのいかなる送信も延期し、
そうでない場合には、非タイムクリティカルなトラフィックフレームの少なくとも1つのフラグメントを送信する、請求項6又は7に記載の方法。
【請求項9】
コマンドレイテンシーに起因するオフセットを、非タイムクリティカルなトラフィックフレームの1つの最小サイズのフラグメントの送信の継続時間に加えて、前記ガードバンド間隔の前記継続時間を決定する、請求項8に記載の方法。
【請求項10】
前記ガードバンド間隔の前記開始
の前に送信コマンドを「保持」状態に設定して、タイムクリティカルなトラフィックフレームの前記次の送信時間が起きたときに非タイムクリティカルなトラフィックフレームのいかなる送信も防ぐ、請求項8又は9に記載の方法。
【請求項11】
前記タイムクリティカルなトラフィックフレームの送信の開始後に前記送信コマンドを「解放」状態に設定する、請求項10に記載の方法。
【請求項12】
命令を含むコンピュータープログラムであって、前記命令は、前記
コンピュータープログラムが処理回路によって実行されたときに、請求項1~11のいずれか1項に記載の方法を前記処理回路に行わせる、コンピュータープログラム。
【請求項13】
命令を含むコンピューター可読記憶媒体であって、前記命令は、処理回路によって実行されたときに、請求項1~11のいずれか1項に記載の方法を前記処理回路に行わせる、コンピューター可読記憶媒体。
【請求項14】
装置であって、
請求項1~11のいずれか1項に記載の方法を実施するように構成された処理回
路と、
前記パケット交換ネットワークに接続され、イーサネットフレームの送信が前記処理回路によってスケジューリングされたときに前記イーサネットフレームを送信するように前記処理回路によって操縦されるように構成された通信インターフェー
スと、
を備える、装置。
【国際調査報告】