IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィの特許一覧

特表2024-507298イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器
<>
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図1
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図2
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図3
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図4
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図5
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図6
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図7
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図8
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図9
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図10
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図11
  • 特表-イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-16
(54)【発明の名称】イーサネットフレームの送信をスケジューリングするためにパケット交換ネットワークにおいて実施される方法、コンピュータプログラム及び機器
(51)【国際特許分類】
   H04L 47/6295 20220101AFI20240208BHJP
   H04L 47/2483 20220101ALI20240208BHJP
【FI】
H04L47/6295
H04L47/2483
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023574888
(86)(22)【出願日】2021-12-10
(85)【翻訳文提出日】2023-08-23
(86)【国際出願番号】 JP2021046656
(87)【国際公開番号】W WO2022254760
(87)【国際公開日】2022-12-08
(31)【優先権主張番号】21305723.5
(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ターム(参考)】
5K030GA02
5K030KX13
5K030KX18
5K030LC01
(57)【要約】
本発明は、イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、方法は、a)送信する各イーサネットフレームにおいて与えられる、上記イーサネットフレームが属するストリームに関するデータの識別情報に基づいて、上記イーサネットフレームの優先レベルを決定するステップであって、上記データはそれによって、連続した周期的バーストによって送信されるストリームに属し、第1の優先レベルを有するフレームと、レート制御されたストリームに属し、第2の優先レベルを有するフレームと、非タイムクリティカルなトラフィックストリームに属し、上記第1の優先レベル及び上記第2の優先レベルよりも低い第3の優先レベルを有するフレームとを区別するステップと、b)最高優先レベルを有するフレームの中から、送信候補のフレームが送信される最も近い次の時点を有する、上記候補フレームを決定するステップと、c)上記候補の送信終了時点を推定し、候補よりも高い優先度を有するフレームが、候補の送信終了時点より前に生じる次の送信時点を有していないかどうかをチェックし、最終的に候補を送信するステップとを含む、方法に関する。
【特許請求の範囲】
【請求項1】
イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、前記方法は、
a)送信する各イーサネットフレームにおいて与えられる、前記イーサネットフレームが属するストリームに関するデータの識別情報に基づいて、前記イーサネットフレームの優先レベルを決定することであって、前記データはそれによって、
連続した周期的バーストによって送信されるストリームに属し、第1のプライオリレベルを有するフレームと、
レート制御されたストリームに属し、第2のプライオリレベルを有するフレームと、
非タイムクリティカルなトラフィックストリームに属し、前記第1の優先レベル及び前記第2の優先レベルよりも低い第3の優先レベルを有するフレームと、
を区別することと、
b)最高優先レベルを有するフレームの中から、送信候補のフレームが送信される最も近い次の時点を有する、前記送信候補のフレームを決定することと、
c)前記送信候補のフレームの送信終了時点を推定し、前記送信候補のフレームよりも高い優先度を有するフレームが、前記送信候補のフレームの送信終了時点より前に生じる次の送信時点を有していないかどうかをチェックし、最終的に前記送信候補のフレームを送信することと、
を含む、方法。
【請求項2】
前記b)の後、前記最も近い次の送信時点が、前記パケット交換ネットワークの共通クロックによって与えられた現在の時点よりも後である場合、前記b)は、前記最高優先レベルのデクリメント(p=p-1)の結果として生じる優先レベルを用いて、前記b)において決定される前記最も近い次の送信時点が現在の時点よりも後である限り、繰り返される、請求項1に記載の方法。
【請求項3】
非タイムクリティカルなトラフィックストリームに属し、前記第3の優先レベルを有するフレームは、プリエンプティブルトラフィックに属し、前記第1の優先レベルのフレーム及び前記第2の優先レベルのフレームが送信されないときはいつでも送信可能であると特定され、
前記最も近い次の送信時点が現在の時点の後であるか否かを検定する前に、前記送信候補のフレームが、前記第3の優先レベルを有するフレームであるか否かが判断され、最終的に、前記送信候補のフレームは少なくとも部分的に送信されるものと定義される、請求項2に記載の方法。
【請求項4】
前記イーサネットフレームは、送信前に、それぞれ前記イーサネットフレームの優先レベルに依存してFIFOキューにスタックされ、各キューは1つの優先レベルに対応し、優先レベルpを有し、同じ優先レベルpを有するフレームのうち最も近い次の送信時点を有するキューの先頭フレームが、優先レベルpの全てのフレームのうちの次の送信候補フレームである、請求項1~3のいずれか1項に記載の方法。
【請求項5】
各ストリームが所定のバースト送信期間を有する、連続周期的バーストによって送信されるストリームに属するCBフレームを用いて前記b)を実施するために、前記CBフレームの次の送信時点は、前記最も近い次の送信時点を決定するために、前記CBフレームが関係する前記ストリームのそれぞれの前記所定のバースト送信期間に基づいて計算される、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記パケット交換ネットワークのサイクルの基本期間は、前記CBフレームが関係する前記ストリームの前記バースト送信期間のうち、最大公約数として決定され、それぞれの異なるバースト送信期間を有するそれぞれのストリームに属するCBフレームの次の送信時点は、1つのネットワークサイクル又は連続ネットワークサイクルの開始時点に対し決定される、請求項5に記載の方法。
【請求項7】
現在の時点が、少なくとも1つのCBフレームが属するバーストの推定される送信終了に未だ達していない場合、前記少なくとも1つのCBフレームが次のCBフレーム送信の候補として選択される、請求項5又は6に記載の方法。
【請求項8】
CBフレーム候補について、前記次のCBフレームの送信終了時点が、前記次のCBフレームの所与の長さに基づいて計算され、前記CBフレーム候補が属するバーストの、前記推定されるバースト送信の終了と比較され、前記CBフレーム候補は、前記CBフレーム候補の送信終了時点が、前記推定されるバースト送信の終了よりも前に生じる場合にのみ送信される、請求項7に記載の方法。
【請求項9】
前記第2の優先レベルは前記第1の優先レベルよりも低い、請求項1~8のいずれか1項に記載の方法。
【請求項10】
エクスプレスレート制御ストリームに属し、前記第2の優先レベルを有するRCフレームについて、RCフレームを送信する前に、前記RCフレームの送信終了時点が前記RCフレームの所与の長さに基づいて計算され、前記RCフレームは、前記送信終了時点が、前記RCフレームよりも高い優先レベルを有する任意のフレームについて決定された最も近い次の時点のうちの最も早いものの前に生じる場合にのみ送信されるように決定される、請求項9に記載の方法。
【請求項11】
前記送信終了時点は、前記RCフレームの所与の長さを、前記パケット交換ネットワークの送信レートで除算したものに基づいて計算され、それによって、前記送信終了時点までの前記RCフレームの送信の持続時間を定義する、請求項10に記載の方法。
【請求項12】
前記RCフレームの送信時に、前記送信されているRCフレームと同じストリームの次のRCフレームの次の送信時点が、前記送信されているRCフレームの前記所与の長さに基づいて計算され、前記最も近い次の時点の決定は、前記計算された次の送信時点を考慮に入れて更新される、請求項10又は11に記載の方法。
【請求項13】
ストリームのタイプ、
周期的バーストストリームの期間、
フレーム長、
のうちの少なくとも1つが、各フレームに示されるデータから導出可能であり、前記データはストリームコンテンツを定義する、請求項1~12のいずれか1項に記載の方法。
【請求項14】
処理回路によって実行されると、前記処理回路に、請求項1~13のいずれか1項に記載の方法を実行させる命令を含むコンピュータプログラム。
【請求項15】
請求項1~12のいずれか1項に記載の方法を実施するように構成された処理回路と、
前記パケット交換ネットワークに接続され、前記イーサネットフレームの送信が前記処理回路によってスケジューリングされるとき、前記処理回路によって、前記イーサネットフレームを送信する目的で操作されるように構成された通信インターフェースと、
を備える、機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業オートメーション(IA)ネットワーク等のネットワークの管理に関する。
【背景技術】
【0002】
IEC/IEEE60802共同規格は、IEEE802.1規格及びIEEE802.3規格のセットから選択した機能を定義することによって、産業オートメーション(IA)ネットワークのためのTSN(タイムセンシティブネットワーク)プロファイルを規定する。
【0003】
この選択は、IAネットワークにおいて遭遇する様々なタイプのトラフィックをサポートする必要性によって正当化される。これらのトラフィックタイプ及びそれらの基本性能は、以下のサブセクションにおいて記載する。
【0004】
以下に、いくつかのIEC/IEEE60802トラフィックタイプカテゴリについて述べる。
【0005】
TSNストリームに対するアプリケーション関連のトラフィックタイプのマッピングを容易にするために、産業オートメーション(IA)ネットワークにおいて見られる通信を特徴付ける4つのトラフィックタイプカテゴリをまず定義する。
【0006】
図1は、上から下に、
IA時間認識ストリーム、
IAストリーム、
IAトラフィックエンジニアリング型非ストリーム、
IA非ストリーム、
の特徴を示す。
【0007】
次に、IEC/IEEE60802トラフィックタイプを説明する。
【0008】
第1のタイプは、等時性トラフィックに関係する。これは、時間によりトリガーされる送信を用いて周期的に送信されるIA時間認識ストリームタイプのトラフィックである。リスナーには、個々の締め切り要件がある。サイクル時間は、通常、マイクロ秒~十ミリ秒の範囲にある。フレームサイズは、通常、500オクテット未満である。トーカーとリスナーとのペアは、作動クロックに同期される。ネットワークは、このトラフィックタイプの輻輳損失をゼロにするように設計される。このタイプのトラフィックは、通常、制御ループタスクで用いられる。
【0009】
第2のタイプのトラフィックはサイクル同期であり、時間によりトリガーされる送信を用いて周期的に送信されるIA時間認識ストリームトラフィックに関する。トーカーとリスナーとのペアには、個々のレイテンシー要件がある。サイクル時間は、通常、百マイクロ秒~百ミリ秒の範囲にある。フレームサイズには制約がない。トーカーとリスナーとのペアは、作動クロックに同期される。ネットワークは、このトラフィックタイプの輻輳損失をゼロにするように設計される。
【0010】
第3のタイプのトラフィックはサイクル非同期であり、周期的に送信され、アプリケーションクロックによって制限される、IAストリームタイプのトラフィックに関する。トーカーとリスナーとのペアには、個々のレイテンシー要件がある。サイクル時間は、通常、ミリ秒~秒の範囲にある。フレームサイズには制約がない。トーカーとリスナーとのペア間のデータ交換は、通常、作動クロックに依存しない。このトラフィックタイプは、通常、輻輳損失を許容する。ネットワークは、特定の数のフレーム又はデータサイズまで、損失なしでこのトラフィックタイプを扱うように設計される。
【0011】
第4のタイプのトラフィックは、アラーム及びイベントを管理するためのものであり、非周期的に送信されるIAトラフィックエンジニアリング型非ストリームタイプである。このトラフィックでは、ミリ秒~百ミリ秒の範囲の再送信時間を含む制限されたレイテンシーが予期される。アラーム又はイベントの送信元は、通常、このトラフィックに割り当てられる帯域幅を限定する。フレームサイズには制約がない。フレーム損失を低減するための再送信が予期される。ネットワークは、定義された期間にわたって、特定の数のフレーム又はデータサイズまで、フレームのバーストを含めてこれらのフレームを扱うように設計される。
【0012】
第5のタイプのトラフィックは、構成及び診断に関し、非周期的に送信されるIAトラフィックエンジニアリング型非ストリームタイプに対応する。このトラフィックでは、再送信時間を含めて、最大で数秒までの制限されたレイテンシーが予期される。構成又は診断フレームの送信元は、通常、このトラフィックに割り当てられる帯域幅を制限する。フレームサイズには制約がない。フレーム損失を低減するための再送信が予期される。ネットワークは、定義された期間にわたって、特定の数のフレーム又はデータサイズまで、フレームのバーストを含めてこれらのフレームを扱うように設計される。
【0013】
第6のタイプはネットワーク制御に関し、周期的に又は非周期的に送信することができるIAトラフィックエンジニアリング型非ストリームである。このトラフィックでは、再送信時間を含めて、制限されたレイテンシーが予期される。フレームサイズには制約がない。ネットワークは、定義された期間にわたって、特定の数のフレーム又はデータサイズまで、フレームのバーストを含めてこれらのフレームを扱うように設計される。このタイプには、ネットワーク制御フレームが含まれる。例えば、時間同期、ループ防止及びトポロジ検出がある。
【0014】
最後に、第7のタイプのトラフィックは、「ベストエフォート」としてスケジューリングされ、IA非ストリームタイプである。ネットワークは、これらのフレームが他のトラフィックタイプと干渉しないことを保証するように設計される。
【0015】
IEC/IEEE60802規格では、以下に示す、イーサネットネットワークにおいて利用可能な、トラフィックタイプ、トラフィックタイプカテゴリ及び優先度間のマッピングを提案している。
【表1】
【0016】
IEC/IEEE60802規格で選択されるIAネットワークのネットワークメカニズムは、主に、IEEE802.1で規定される様々なTSN規格で定義されるものである。サービス品質に関する限り、これらのメカニズムは、エンドステーションに対してではなく、ほぼブリッジ専用で定義される。
【0017】
しかしながら、エンドステーションは、それらのネットワークアクセスを通じて、ネットワーク内で提供されるメカニズムに準拠し、場合によってはこれらのメカニズムを拡張するトラフィックを生成しなくてはならない。
【0018】
特に、IEEE802.1Q規格で用いられる一般的なトラフィッククラスごとのキューイングモデルは、上記で説明した様々なトラフィックタイプをサポートするTSNストリームの様々なタイミング要件に関連付けられた挙動を完全に説明するのに十分でない。ストリームごとのキュー及びフレーム時間ごとの送信制御を導入しなくてはならない。
【0019】
これらの規格と追加のメカニズムとの組み合わせにより、全てのトラフィッククラスに対する統制のとれたネットワークアクセスをサポートする方法がもたらされる。
【0020】
この状況を克服するために、OPC UA FLCは、ストリームごとのキュー及び時間認識オフセット制御を組み込んだエンドステーションモデルを提案した(「OPC」は「オープンプラットフォーム通信」を表し、「UA」は「統合アーキテクチャ」を表し、「FLC」は「フィールドレベル通信」を表す)。
【0021】
これらの追加機能により、異なるサービス品質(QoS)要件をサポートしながら、ミドルウェア及びアプリケーションをイーサネットインターフェースから切り離すことができる。図2にこのモデルの要約を示す。
【0022】
実際には、エンドステーションは、複数のTSNストリームのソースとすることができ、異なるストリームのデータは、エンドステーションにおいて実行されているアプリケーション又はミドルウェアによって生成される。このモデルでは、図2に示すように、異なるストリームは異なるストリームごとのキューにマッピングされる。
【0023】
データフレームが送信時間の前にそれぞれのストリームごとのキューに加えられている限り、時間認識オフセット制御は、データフレームをトラフィックごとのクラスキューに解放することができ、次にこれを、標準化されたIEEE802.1Qメカニズムにより処理することができ、その一部を以下に示す。
【0024】
ストリームごとのキューからのフレーム、及び非時間認識トラフィックからのフレームが、エンドステーションの出力ポートにおいてキューイングされる(IEEE802.1Q-2018の8.6.8節参照)。エンドステーションの出力ポートは、トラフィックフローを管理するための8つのキューを有する。ストリームごとのキュー、及び非TSNストリームキューのそれぞれは、8つのトラフィッククラスごとのキューのうちの1つにマッピングされる。そして、トラフィッククラスごとのキューの使用は、VLAN-Tag(トラフィッククラス-優先度マッピング)における優先コードポイント(PCP)フィールドに基づく。PCP値は、ストリームのトラフィッククラス又は非時間認識トラフィック/フレームに関連付けられる。PCPフィールドとキューとの間のマッピングは、ネットワーク管理機能によって扱われる。
【0025】
送信選択アルゴリズムステージは、トラフィッククラスごとに、トラフィッククラスごとの送信選択アルゴリズムを適用して、対応するキューから送信されるフレームを選択する。IEEE802.1Q-2018の8.6.8.1節に定義される、厳密な優先送信選択アルゴリズムが用いられる。
【0026】
非時間認識データフレームも、異なるトラフィックごとのクラスキューにマッピングされる。必要なQoSのタイプ及びレベルに依存して、TSNストリームのデータフレームは、非時間認識トラフィックと異なるトラフィッククラスごとのキューを用いることができる。
【0027】
さらに、ゲート制御リストには、トラフィッククラスごとのキューの送信ゲート動作が記述されている。8つのトラフィッククラスごとの各キューは、IEEE802.1Q-2018の8.6.8.4節(ex-802.1Qbv)によりデータフレームが送信されるタイミング及びレートを制御することができるように、既知のタイムスケールに対しスケジューリングされる。図2に示すモデルにおいて、単一の送信ゲートがトラフィッククラスごとのキューごとに用いられる。802.1Qでは、最大で8つのトラフィッククラスが可能であり、最大で8つの送信ゲートが存在する可能性があり、ゲート制御リストによって制御される必要がある。
【0028】
送信選択を用いて、送信選択アルゴリズム及びゲート制御リストに基づいて、利用可能なフレームを選択し、プリエンプティブルMAC又はエクスプレスMACのいずれかに送達することができる。利用可能なデータフレームは、それらのトラフィッククラスのランクに従って選択される。このプロセスは、IEEE802.1Q-2018の8.6.8節に記載されている。TSNトーカーにおける送信選択は、ブリッジにおけるものと同様に動作する(この観点から、TSNトーカーは単一ポートブリッジであるかのようにみなすことができる)。
【0029】
MAC制御(「MAC」は「媒体アクセス制御」を表す)は、プリエンプティブルMAC(pMAC)、エクスプレスMAC(eMAC)及びMACマージサブレイヤと共に、エンドステーションの出力ポートにおけるフレームプリエンプション機能をサポートするのに用いられる。MACマージサブレイヤは、MACマージサブレイヤを用いて、eMAC及びpMACを単一の調整サブレイヤ(RS)サービス(IEEE802.1Q-2018の6.7.1節及びIEEE802.3の99.4節参照)に付加することによって、プリエンプティブルトラフィックを有する分散エクスプレストラフィックをサポートする。
【0030】
フレームプリエンプションがサポートされる場合、各PCP値には、プリエンプティブル性の値が「エクスプレス」であるか又は「プリエンプティブル」であるかを示すプリエンプションステータスが割り当てられる(IEEE802.1Q-2018の6.7.2節参照)。
【0031】
エクスプレスに対応するPCP値を有するフレームは、プリエンプティブルフレームの進行中の送信をプリエンプションし、エクスプレスフレームが、プリエンプティブルフレームの送信の完了を待機することに関するレイテンシーを回避することを可能にする。
【0032】
IEC/IEEE60802規格において定義されている様々なトラフィックタイプをサポートすることが可能なエンドステーションにおける出力ポート動作のモデルは、IEEE802.1Q規格及びOPC UA FLC規格に指定された様々なメカニズムのスタッキングに依存する。
【0033】
しかしながら、このスケジューリングアーキテクチャは、最初のアプローチではモジュール式であるが、最終的には複雑性が加わり、特にハードウェアの非効率的な実装につながる可能性がある。
【発明の概要】
【0034】
本発明は、上記状況を改善することを目的とする。
【0035】
そのために、本発明は、イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、
a)送信する各イーサネットフレームにおいて与えられる、イーサネットフレームが属するストリームに関するデータの識別情報に基づいて、イーサネットフレームの優先レベルを決定することであって、データはそれによって、
連続した周期的バーストによって送信されるストリームに属し、第1の優先レベルを有するフレームと、
レート制御されたストリームに属し、第2の優先レベルを有するフレームと、
非タイムクリティカルなトラフィックストリームに属し、第1の優先レベル及び第2の優先レベルよりも低い第3の優先レベルを有するフレームと、
を区別することと、
b)最高優先レベルを有するフレームの中から、送信候補のフレームが送信される最も近い次の時点を有する、候補フレームを決定することと、
c)候補の送信終了時点を推定し、候補よりも高い優先度を有するフレームが、候補の送信終了時点より前に生じる次の送信時点を有していないかどうかをチェックし、最終的に候補を送信することと、
を含む、方法を提案する。
【0036】
したがって、本発明は、様々なタイプのフレーム、例えば、以下に述べる図7における濃い灰色及び薄い灰色で示すような周期的バースト(「CBストリームバースト」)によって送信されるストリームに属するフレームの公平なスケジューリングを可能にするのに対し、周期バーストが送信されていないとき、他のタイプのフレーム(「レート制御型」フレームを表すRC、及び「ベストエフォート」フレーム(EF))を送信することができる。そのような内容は、ストリームの各タイプへの優先レベルの割り当てにより実行される。
【0037】
一実施の形態において、b)の後、上述した最も近い次の送信時点(以下に述べる図11において「MinNextTxTime」と呼ばれる)が、パケット交換ネットワークの共通クロックによって与えられた現在の時点(T)よりも後である(ステップS4)場合、b)は、最高優先レベルのデクリメント(p=p-1)の結果として生じる優先レベルを用いて、b)において決定される最も近い次の送信時点が現在の時点(T)よりも後である限り、繰り返される。
【0038】
したがって、候補フレームの送信時間が満了していない限り、より低い優先レベル、及び通常、第3の優先レベル(最も低いもの)のフレーム(又は非タイムクリティカルトラフィックがプリエンプティブルであるとき、フレームのフラグメント)を送信することが求められる。
【0039】
実際に、より高い優先レベルを有する候補フレームの送信時間がまもなく満了する場合、非タイムクリティカルトラフィックに属するフレーム(例えば、ベストエフォート「EF」ストリーム)は、そのようなフレームのフラグメントのみを送信するようにフラグメント化することができる。通常、最小サイズのフラグメントまでその種のフレームをフラグメント化し、それによって、
その種のフレーム(又はフレームフラグメント)の送信の持続時間、及び、
次に、上記で定義したように、ステップc)を実施するためのその送信終了時点、
を決定することが可能である。
【0040】
この推論は、場合によっては、レート制御型ストリームがプリエンプティブルである場合、それらにも適用することができる。
【0041】
したがって、図11(検定S3)に示すような一実施の形態において、非タイムクリティカルなトラフィックストリームに属し、このため最も低い(第3の)優先レベルを有するフレームは、プリエンプティブルトラフィックに属し、第1の優先レベル及び第2の優先レベルのフレームが送信されないときはいつでも送信可能であるものとして特定される。したがって、最も近い次の送信時点(MinNextTxTime)が現在の時点(T)の後であるか否かを検定する(S4)前に、候補が、第3の優先レベルを有するフレームであるか否かが判断され(検定3からの矢印OK)、最終的に、候補は少なくとも部分的に(すなわち、少なくとも候補のフラグメントが)送信されるものとして定義される。
【0042】
図12に示す一実施の形態において、イーサネットフレームは、送信前に、それぞれイーサネットフレームの優先レベルに依存してFIFOキューにスタックすることができ、このため、各キューは1つの優先レベルに対応し、優先レベルpを有し、同じ優先レベルpを有するフレームのうち最も近い次の送信時点(minNextTxTime)を有するキューの先頭フレームは、優先レベルpの全てのフレームのうちの次の送信候補フレームとして定義することができる。
【0043】
これまでのところ、フレームは周期的バーストストリームに属している(以後、「CBフレーム」と呼ぶ)ため、(各CBストリームが独自の所定のバースト送信期間を有する)連続周期的バーストによって送信されるストリームに属するCBフレームを用いてb)を実施するために、CBフレームの次の送信時点を、上述した最も近い次の送信時点を決定するために、CBフレームが関係するそれぞれのストリームの所定のバースト送信期間に基づいて計算することができる。
【0044】
実際に、周期的バーストストリームは、所定のスケジューリングされた時点に送信され、レイテンシーを一切許容できない。このため、それらのフレームは最高優先レベルを有する。
【0045】
したがって、それらの送信のスケジュールは厳密なタイミングに従うべきである。
【0046】
そのために、一実施の形態において、ネットワークのサイクルの基本期間(図7に示すようなCyclePer)は、CBフレームが関係するストリームのバースト送信期間のうち、最大公約数として決定され、それぞれの異なるバースト送信期間を有するそれぞれのストリームに属するCBフレームの次の送信時点は、1つのネットワークサイクル又は連続ネットワークサイクルの開始時点に対し決定される。
【0047】
さらに、CBフレームのバーストの送信は、他のフレームの送信の干渉を一切被るべきでない。
【0048】
そのために、一実施の形態において、現在の時点が、少なくとも1つのCBフレームが属するバーストの推定される送信終了に未だ達していない場合、少なくとも1つのCBフレームが次のCBフレーム送信の候補として選択される。
【0049】
したがって、この実施の形態において、CBフレーム候補について、次のCBフレームの送信終了時点が、次のCBフレームの所与の長さに基づいて計算され、CBフレーム候補が属するバーストの、推定されるバースト送信の終了と比較され、CBフレーム候補は、CBフレーム候補の送信終了時点が、推定されるバースト送信の終了よりも前に生じる場合にのみ送信される。
【0050】
CBストリームは、最高優先レベルを有する。CBストリームのキューが空である場合であっても、そのCBストリームのバーストの送信持続時間に対応する時間窓が、そのCBストリームの各期間サイクルにおいて予約される。
【0051】
上記で示したように、CBフレームは最高優先レベルを有する。したがって、中間の(第2の)優先レベル(第1の優先レベルよりも低い)を、レート制御型トラフィックフレーム(以後、RFフレームと呼ぶ)に割り当てることができる。
【0052】
一実施の形態において、エクスプレスレート制御ストリームに属し、第2の優先レベルを有するRCフレームについて、RCフレームを送信する前に、RCフレームの送信終了時点がRCフレームの所与の長さに基づいて計算され、RCフレームは、送信終了時点が、RCフレームよりも高い優先レベルを有する任意のフレームについて決定された最も近い次の時点のうちの最も早いものの前に生じる場合にのみ送信されるように決定される。
【0053】
RCフレームの上述した送信終了時点は、RCフレームの所与の長さを、ネットワークの送信レートで除算したものに基づいて計算され、それによって、送信終了時点までのRCフレームの送信の持続時間が定義される。
【0054】
一実施の形態において、このRCフレームの送信時に、送信されているRCフレームと同じストリームの次のRCフレームの次の送信時点が、送信されているRCフレームの所与の長さに基づいて計算される。次に、上述した最も近い次の時点の決定が、計算された次の送信時点を考慮に入れることによって更新される。ここで、一実施の形態において、送信されているRCフレームの所与の長さに基づいたRCフレームの次の送信時点を、このRCフレームが属するストリームの送信レートで除算したものを計算することを選択することができる。
【0055】
通常、フレーム長パラメータ(又は直接的に、フレーム送信持続時間)を、フレームのフレーム記述子フィールドに示すことができる。より一般的には、一実施の形態において、
ストリームのタイプ、
周期的バーストストリームの期間、
フレーム長、
のうちの少なくとも1つは、各フレームに示されるデータから導出可能であり、このデータはストリームコンテンツを定義する。
【0056】
通常、例えば、フレームのフィールドにおけるソース及び宛先のアドレスにより、ストリームを識別し、このストリームにインデックスを割り当てることが可能になる。新たな到来するフレームの分析により、そのようなアドレスを索出し、関連するストリームコンテキスト(周期的バースト送信又はレート制御型トラフィック等)を決定することが可能である。連続バーストによるフレームの送信の周期的タイミングが観測される場合、周期的バーストストリームの期間を決定することも可能である。
【0057】
本発明はまた、処理回路によって実行されると、処理回路に、上記で定義したよう方法を実行させる命令を含むコンピュータプログラムも目的とする。本発明はまた、そのようなコンピュータプログラムの命令を記憶する非一時的コンピュータ記憶媒体も目的とする。
【0058】
図6図8図9図10図11は、典型的に、そのようなプログラムの全体アルゴリズムを示すことができるフローチャートである。
【0059】
本発明はまた、
上記で定義した方法を実施するように構成された処理回路(以下に述べる図3の例において提示されるようなPROC、MEM)と、
パケット交換ネットワークに接続され、イーサネットフレームの送信が処理回路によってスケジューリングされるとき、処理回路によって、イーサネットフレームを送信する目的で操作されるように構成された通信インターフェース(COM、EGP)と、
を備える、機器も目的とする。
【0060】
本発明の更なる詳細及び利点は、詳細な可能なかつ任意選択の実施形態から、及び添付の図面からも明らかとなろう。
【図面の簡単な説明】
【0061】
図1】産業オートメーションネットワークにおけるストリームの特徴を示す図である。
図2】様々なQoS要件をサポートしながらの、エンドステーションにおいて実行されるミドルウェア及びアプリケーションの切り離しを示す図である。
図3】本発明の一実施形態によるデバイスの例を示す図である。
図4】FIFO(先入れ先出し)キューにおける異なるフレーム、及び関連する記述子フィールドを示す図である。
図5】様々なタイプのフレームについてストリームコンテキストを定義するパラメータを示す図である。
図6】CBストリームフレームの送信を実行するためのアルゴリズムのフローチャートの例である。
図7】周期的バースト送信の同じ期間を有しない2つの後続のCBストリームのそれぞれの形状の例を示す図である。
図8】エクスプレスRCストリームフレーム送信のために実施されるアルゴリズムの例のフローチャートである。
図9】プリエンプティブルRCストリームフレーム送信のために実施されるアルゴリズムの例のフローチャートである。
図10】EF(ベストエフォート)ストリームフレーム送信のために実施されるアルゴリズムの例のフローチャートである。
図11】異なるタイプBC、RC及びEFを有するフレームの送信をスケジューリングするために実施されるアルゴリズムの例のフローチャートである。
図12】優先レベルによってグループ化されるストリームごとのキューを示す図である。
【発明を実施するための形態】
【0062】
以下の実施形態に提示されているように、本発明は、例えば以下のような様々な規格のトラフィックタイプをサポートするのに必要とされる全ての機能を単一のスケジューリングエンジンに集中させることを可能にする。
・様々なIEC/IEEE60802トラフィックタイプ
・IAネットワークブリッジにおいて実施されるTSN規格QoSメカニズムとの適合性、
○802.1Q 8.6.8.4節、スケジューリングされたトラフィックの向上
○802.1Q 37節、拡張送信選択
・フレームプリエンプション/フラグメンテーションとの適合性
○802.1Q 6.7.2節、802.3 99.4節
・送信多重化の最適占有
【0063】
提案されるメカニズムは、IEC/IEEE60802規格(産業オートメーションネットワークのためのTSNプロファイル)に準拠する産業エンドステーションによって発せられるトラフィックをシェーピングするフレーム送信メカニズムを実施する。これは、ストリームの基本特性の組み合わせに基づいてストリーム送信機会及び個々のフレーム送信の双方を順序付ける単一のスケジューラに依存する。
【0064】
ストリームの基本特性は、典型的に、以下とすることができる。
・時間的挙動パラメータ:形状タイプ及びレート又は周期、並びに、
・送信リソースにアクセスする優先度。
【0065】
IEEE802規格において通常検討されるようなトラフィッククラスグループ化ストリームを操る代わりに、スケジューラは、エンドステーションによって扱われるストリーム数が限られていることを利用して、アプリケーション要件から導出された上記の特性に基づいてストリームを個々に扱う。
【0066】
提案されるスケジューラは、様々なIEEE802.1規格のそれぞれを実施する機能を分離するためのリソースを有する代わりに、様々なIEEE802.1規格(クレジットベースシェーピング、スケジューリングされたトラフィックの向上、拡張送信選択、非同期トラフィックシェーピング)に従ってトラフィック形状を生成することが可能な単一ストリームシェーピング機能である。
【0067】
このスケジューラは、場合によってはエンドステーションネットワークインターフェースのMACレイヤによって提供されるフレームプリエンプション機能と協働することも可能である。
【0068】
図3に示すように、エンドステーションDEVは、プロセッサPROCと、本発明によるコンピュータプログラムの少なくとも命令データを記憶するメモリMEMとを含む処理回路CIRを備えることができる。プロセッサPROCは、メモリMEMにアクセスして、メモリに記憶された命令を読み出し、実行することができる。さらに、エンドステーションDEVは、少なくとも、出力ポートEGPを有する通信インターフェースCOMと、プロセッサPROCが、インターフェースCOMが接続されたネットワークNTWのクロックと同期して動作することを可能にするためのクロックCLKとを更に備える。クロックCLKにより、IEEE802.1AS等の時間同期プロトコルを用いることが保証される。
【0069】
さらに、エンドステーションは、出力ポートEGP及び処理回路CIRの構成により、IEEE802.1Qに定義されている8つのトラフィッククラスに属するストリームを送信することが可能である。
【0070】
エンドステーションは、IEEE802.3 99.4節及び802.1Q 6.7.2節によるフレームプリエンプションをサポートするように更に構成される。さらに、エンドステーションは、IEEE802.1Q 37節による拡張送信選択、並びにIEEE802.1CB及び802.1CBdbによるストリーム識別をサポートする。
【0071】
エンドステーションによって送信されるさまざまなストリームに属するフレームは、ストリームごとの単位でキューイングされ、すなわち、ストリームごとに少なくとも1つのキューが提供される。
【0072】
以後、「ストリーム形状」という表現は、ストリームのフレームの送信の時間的挙動を定義する。ストリーム形状yは、以下に列挙するような様々なタイプのものである。
・周期的バースト(CB):CBストリームフレームは、グループ単位で折り返し送信される。折り返しフレームの各グループは「バースト」と呼ばれる。バーストは、ストリームごとに定義された期間に従って周期的に送信され、ストリームのために定義された最大バーストサイズよりも長くすることができない。送信機会は、それらの構成されたビットレートを達成するのに必要とされるときはいつでも、全てのサイクルにおいてCBストリームのために予約される。CBストリームバーストは、最小送信ジッターを受ける。
・レート制御型(RC):RCストリームフレームは、ストリームについて定義された最大ビットレートよりも高速にすることができないレートで1つずつ送信される。周期的(非同期、すなわち、そのサイクルがネットワーククロックに直接同期されていない)通信が、RCストリームにマッピングされる場合、RCストリームは、(ストリームサイクル期間と比較して最小の比率で)送信ジッターを受ける可能性がある。
・弾性公平(EF):EFストリームフレームは、全てのEFストリームが、自身に割り当てられた帯域幅全体の公平な配分を得ることを保証するように1つずつ送信される。
【0073】
IEEE802.1Q及びIEC/IEEE60802において定義されているトラフィッククラス優先レベルとの一貫性を保つために、8つのストリーム優先レベルを定義することができる。
【0074】
ストリームの「ストリームレート」は、ストリーム形状に依存してさまざまなパラメータを用いて定義される。
【0075】
CBストリームの場合、ストリームレートは、バーストサイクル及び最大許容可能バーストサイズによって定義される。これらのパラメータは、ストリームの最大ビットレートに変換することができる。
【0076】
RCストリームの場合、ストリームレートは、2つの連続したフレームの送信間の最小間隙を、それらのそれぞれの長さに基づいて決定するのに用いられる。これは、ストリームの理論最大ビットレートであり、ストリームがアイドル状態である間か、又は他のストリームの活動が低下して、多くの利用可能なリソースが残った場合に、超過する可能性がある。
【0077】
EFストリームの場合、ストリームレートを定義する方法は、全てのEFストリームに割り当てられる全体ビットレートの比率を割り当てることである。各EFストリームに割り当てられた帯域幅の配分は、この比率に従って重み付けされ、実際には、それらのEFストリームが全てアクティブであるときに割り当てられる。例えば、他のEFストリームの一部がアイドル状態であるとき、EFストリームが公平な配分よりも多くのリソースを用いられる場合がある。
【0078】
ストリームの「同期性」は、そのフレームの送信時点が、ネットワーククロック又は任意のローカル若しくはアプリケーションクロックと同期しているか否かを示す。
【0079】
「ストリームプリエンプティブル性」は、
ストリームがプリエンプティブであるか(又はエクスプレスであるか)、すなわち、フレームがエクスプレスMAC(eMAC)を通じて送信されるか、
又は、プリエンプティブルであるか、すなわち、フレームがプリエンプティブルMAC(pMAC)を通じて送信され、場合によっては、フレームの1つ又は少数のフラグメントのみを送信するために送信前にフラグメント化されるか、
を示す。
【0080】
このため、IEC/IEEE60802に定義される異なるトラフィックタイプをサポートするストリームは、以下の組み合わせによって特徴付けることができる。
・形状、
・優先レベル、
・レート、
・同期性、
・プリエンプティブル性
【0081】
以下の表は、各IEC/IEEE60802トラフィックタイプに関連付けられた組み合わせを列挙する。
【表2】
【0082】
所与のストリームのフレームは、ストリームごとのキューにおいてFIFO順で記憶される。ストリーム及びそのキューは、IEEE802.1CB-2017及びIEEE802.1CBdb-2021に定義されているストリーム識別機能のうちの1つを適用することによって得られる識別子によって一意に識別される。
【0083】
キューが空であるか否かを示すフラグは、各キューに関連付けられている。
【0084】
フレーム記述子は、キュー内に記憶される各フレームと関連付けられる。このフレーム記述子は、以下の情報を含む。
バイト単位で表されるフレーム長(以後「FrameLength」と呼ばれる変数によって指定される)、
ビット時間単位で表されるフレーム持続時間(以後「FrameDur」と呼ばれる変数によって指定される)。ビット時間は、送信リンクにおける1ビットの送信の持続時間である。フレーム持続時間は、フレームの送信によって必要とされる送信リンクの実際の占有と、使用される送信媒体について定義されるような、その関連MAC及び物理層オーバヘッドとを表す。
【0085】
これらのパラメータを図4に示す。フレームが関係するストリームの送信レートの知識により、第2のものは第1のものから導出することができる。
【0086】
図12に示すように、ストリームごとのキューは、優先レベルによってグループ化される。
【0087】
ここで、以下において、「ネットワークサイクル」は、(以後「CyclePer」と呼ばれる変数によって表される)基本期間によって定義される。この基本期間は、例えば、周期的バースト送信がそれぞれ200μs、800μsごと及び600μsごとにスケジューリングされなくてはならない場合、200μsとすることができる。
【0088】
以後、変数「TCycle」は、任意の時点において、現在のネットワークサイクルの開始時点を指定する。これは、現在の時点「T」を、変数CyclePer(上記で提示したように、基本ネットワークサイクルの期間)で除算したものの整数部分である。
【0089】
除算の余りがゼロに等しいとき、Tの対応する値は、新たなネットワークサイクルの開始をマーキングする。
【0090】
ストリームコンテキストは以下のパラメータを含む。
Type:ストリームがCBであるか、RCであるか、又はEFであるかを示すパラメータ。
Rate:以下の形態をとるパラメータ:
・CBストリームでは、ビット単位で表される2つのバースト間の期間、
・RC及びEFストリームでは、例えばビット/秒(例えば、Gb/s)単位で表されるストリームのビットレート、
Offset:CBストリームのみについて、サイクルの開始に対しCBストリームバーストの時間位置を示すパラメータ、
BurstLength:CBストリームのみについて、CBストリームバーストの最大持続時間を示すパラメータ、
NextTxTime:CBストリームについて次のバースト送信時点、又はRC若しくはEFストリームについて次のフレーム送信時点を示すパラメータ。
【0091】
これらのパラメータを図5に示す。
【0092】
CBストリームの場合、NextTxTimeは、TCycle+Period+Offsetの値により初期化される。TCycleは、ネットワークインターフェースがサイクル同期を(再)取得すると、現在のサイクルの開始を示すTの値である。パラメータ「Period」は、図5図6及び図7に示すように、(周期的ストリームに関する固定期間の後に連続して送信される)CBフレームに関する(ここで、「Period」はストリームiに関する)。
【0093】
NextTxTimeは、値「0」で初期化される。RCストリームキューステータスが空から非空に遷移するときはいつでも、TがNextTxTimeよりも大きい場合にNextTxTimeがTの現在の値で更新される。そうでない場合、NextTxTimeは変更されないままである。
【0094】
以後「ストリーム構成」と呼ばれるものは、アプリケーション通信要件を(以下に提示するような)所与のストリームのパラメータにマッピングする動作によって構成される。CBストリームは、異なるバーストの送信機会が重複しないように構成されていると想定される。
【0095】
ストリーム構成の結果として、ストリームコンテキストのパラメータが得られる。必ずしも本明細書においては、これらのパラメータの全てを詳述するわけではない。
【0096】
フレームを送信させる次のストリームを選択するためのメカニズムは以下のように動作する。
・優先レベルpごとに、送信キューにおける少なくとも1つのフレームを有する優先度のストリームのコンテキストにおいて記憶されるNextTxTimeパラメータを比較することによって、最小NextTxTime(minNextTxTime)が決定される。すなわち、優先度pのストリームに関連付けられたキューが空である場合、そのストリームのNextTxTimeパラメータはminNextTxTimeを決定するのに用いられない。
【0097】
優先レベルpの全てのストリームの全てのキューが空である場合、その優先レベルのストリームは送信の候補ではなく、minNextTxTimeは値「ヌル」をとる。
【0098】
pがCBストリームに関連付けられた優先レベルであるとき、CBストリームが決して空のキューを有しないとみなされ、このため、minNextTxTimeが決して値「ヌル」をとらないことに留意されたい。
【0099】
そのようなキューの例を図12に示す。
【0100】
minNextTxTimeに関連付けられたストリームのキュー先頭フレームは、優先度pの全てのストリームのうちの次の送信候補フレームである。
【0101】
MinNextTxTimeは以下の際に毎回評価される。
・優先レベルpのストリームiのフレームが送信され、ストリームiのキューは、フレームが送信されると、空でない。この場合、更新された値NextTxTime(i)がNextTxTime値のセットに加えられ、それに対し、MinNextTxTimeが計算されるか、又は、
・フレームが優先レベルpのストリームに関連付けられた空のキューに加えられるか、又は、
・優先レベルpのCBストリームのバースト終了時点に達する。
【0102】
スケジューリングプロセスの初期化時に、又はフレームが送信されていないとき、又はCBバーストの終了時に、MinNextTxTime値のリストは、優先レベルの降順で走査される。例えば、8つの優先レベルが定義されている場合には、優先レベル7から開始してレベル0まで走査される。
【0103】
ステップS1において、MinNextTxTimeが「ヌル」に等しい場合(対応するFIFOキューは通常空である)、プロセスは、次に低い優先レベルp←p-1を用いて再始動される。
【0104】
ステップS2において、MinNextTxTime値が「ヌル」と異なる場合、MinNextTxTimeに関連付けられたストリームコンテキストが読み出される。
【0105】
ステップS3において、TypeパラメータがCB又はRCに設定されている場合、次のステップS4が実施される。そうでない場合、以下のステップS5が実行される。
【0106】
ステップS4において、TがMinNextTxTimeよりも小さい場合、上記の一連の検定(ステップS1~S4)が、次に低い優先レベル(p←p-1)について再反復される。そうでない場合、動作は以下のステップS5において継続する。
【0107】
ステップS5において、MinNextTxTimeに関連付けられたストリームの送信プロセスが始動する。
【0108】
そのようなアルゴリズムを実行するための実施形態の例を図11に示す。この例において、送信される次のフレームが、CBストリーム又はRCストリームに関連していない(検定S3からの矢印NOK)場合、送信するフレームは、EFプリエンプティブルフレームであり、その種のプリエンプティブルトラフィックに固有のメカニズムに従って(すなわち、出力ポートがアイドル状態である場合、フラグメントによって)送信することができる。
【0109】
さらに、ネットワーク時間TがMinNextTxTimeに未だ達していない限り(ステップS4において検定される)、以下を有する可能なフレームの送信が求められる。
より低い優先レベル(p=p-1でデクリメントされる)、
以前に決定されたMinNextTxTimeの前に生じる次の送信時点。
【0110】
そうではなく、TがMinNextTxTimeに達している場合、送信時間が最小の次の送信時点である(かつ満了している)CB又はRCフレーム(又は、属するRCフレームがプリエンプティブルである場合、RCフレームのフラグメント)がステップS5において送信される。
【0111】
以下において、iは送信のために選択されたストリームの識別子を表し、すなわち、MinNextTxTimeに関連付けられたストリームを表す。ストリームiに付加されたストリームコンテキストに記憶されたパラメータは、インデックス「i」の表記を用いて識別される。
【0112】
CBストリームフレームの送信のために実施されるアルゴリズムの例は、図6に示すフローチャートによって表すことができる。
【0113】
NextTxTime(i)は、Period(i)だけ加算され(ステップS21)、これによりminNextTxTimeが再評価される(ステップS22)。
【0114】
バースト終了時点BurstTxEnd(i)は、Tの現在の値にBurstLength(i)を加えることによって計算される(ステップS23)。
【0115】
ストリームiに関連付けられたキューが空でない場合、各フレームの送信終了時点がその送信の前に評価される(S25)。フレーム送信終了時点は、フレームのフレーム持続時間(フレーム記述子によって与えられるFrameDur)をTの現在の値に加えることによって計算される。フレーム送信終了時点がBurstTxEnd(i)以降である場合、フレームは送信されず、エラーインジケーションが生成される(そしてキューが場合によってはフラッシュされる)。フレーム送信終了時点がBurstTxEnd(i)よりも前である場合、フレームが送信される。
【0116】
ストリームiに関連付けられたキューが空である場合、BurstTxEnd(i)に達するまで、RC又はEFフレーム等の他のタイプのフレームであっても、送信が行われない。フレームは、BurstTxEnd(i)に達する前にストリームiのキューに加えられる場合、その送信終了時点がBurstTxEnd(i)よりも前である場合に送信することができる。そうでない場合、エラーインジケーションが生成され、キューが場合によってはフラッシュされる。
【0117】
BurstTxEnd(i)に達しているとき(検定S24)、次の送信候補ストリームの選択が行われる(例えば、別のCBストリーム、又は以下で提示されるようなRC若しくはEFストリームのフレーム若しくはフレームフラグメント)。このとき、図6図8図9図10において、「送信候補ストリームの選択」という表現は、包括的には、送信候補として選択する次のストリーム選択に関する。
【0118】
図7に、同じ期間を有しない(Period1はPeriod2と異なる)2つの後続のCBストリームのそれぞれの形状の例を示す。図7において、CyclePerパラメータを、一実施形態において、Period1及びPeriod2間の最大公約数として解釈することができることに着目されたい。
【0119】
ここで、エクスプレスRCストリームフレーム送信について、実施されるアルゴリズムの例を、図8に示すフローチャートによって表すことができる。
【0120】
エクスプレスRCストリームは、CBストリームよりも低い優先レベルを有する。
【0121】
エクスプレスRCフレームを送信する前に、より高い優先レベルのフレームの未来の送信との干渉を回避するために、その送信終了時点が、フレーム記述子において示されるフレーム持続時間FrameDurを、Tの現在の値に加えることによって計算される。ステップS31において、フレームの送信終了時点がmink>p(minNextTxTime)よりも後である場合、フレームは送信されず、minTxTimeは更新されない。
【0122】
そうでない場合、フレームはエクスプレスMACを通じて送信される。
【0123】
ステップS32において、フレームの送信(の完了)時、NextTxTime(i)がFrameLength/Rate(i)(ビット時間で表される)だけ加算される。Queue(i)が空でない場合、NextTxTime(i)がminNextTxTimeの更新の計算に入力され(ステップS33)、次の送信候補ストリームの選択が実行される。
【0124】
プリエンプティブルRCストリームフレームの送信のために実施されるアルゴリズムの例は、図9に示すフローチャートによって表すことができる。
【0125】
プリエンプティブルRCストリームは、エクスプレスRCストリームよりも低い優先レベルを有する。
【0126】
プリエンプティブルRCストリームフレーム送信動作は、RCフレーム送信候補が、その送信がより高い優先レベルのフレームの未来の送信と干渉する場合であっても送信されることを除いて、エクスプレスRCストリームフレーム送信動作と大部分が類似している。その場合、干渉は、フレームプリエンプションを実施することによって回避される。すなわち、フレームは、最小サイズのフラグメントまで連続して送信されるようにより小さなフラグメントに切断することができる。これについては、フレームプリエンプションメカニズムの実施自体が本明細書の範囲内にないため、ここでは詳述されない。
【0127】
ここで、プリエンプティブルMAC(pMAC)が送信に利用可能である場合、すなわち、プリエンプティブルフレーム又はフレームフラグメントを保持していない場合、プリエンプティブルRCストリームフレームがpMACに転送され、NextTxTime(i)がFrameLength/Rate(i)(ビット時間で表される)だけ加算される。同じ条件下で、Queue(i)が空でない場合、NextTxTime(i)がminTxTimeの計算に入力され、次の送信候補ストリームの選択が実行される。
【0128】
プリエンプティブルMACが送信に利用可能でない場合、すなわち、プリエンプティブルフレーム又はフレームフラグメントを保持している場合、プリエンプティブルRCストリームフレームがpMACに転送されない。その場合、NextTxTime(i)は更新されず、minNextTxTimeは再評価されない。
【0129】
EFストリームフレームの送信(ベストエフォート)のために実施されるアルゴリズムの例は、図10に示すフローチャートによって表すことができる。
【0130】
EFストリームは、プリエンプティブルRCストリームのうちの1つよりも低い優先レベルを有する。
【0131】
送信されるEFストリームフレームの選択は、以下で説明するように、minTxTimeに関連付けられたストリーム識別子のみに基づく。
【0132】
EFストリームフレーム送信動作は、プリエンプティブルRCストリームフレーム送信動作と同一である。
【0133】
プリエンプティブルMAC(pMAC)が送信に利用可能である場合、すなわち、プリエンプティブルフレーム又はフレームフラグメントを保持していない場合、EFストリームフレームがpMACに転送され、NextTxTime(i)がFrameLength/Rate(i)だけ加算される。同じ条件下で、Queue(i)が空でない場合、NextTxTime(i)がminNextTxTimeの計算に入力され、次の送信候補ストリームの選択が実行される。
【0134】
プリエンプティブルMACが送信に利用可能でない場合、すなわち、プリエンプティブルフレーム又はフレームフラグメントを保持している場合、EFストリームフレームがpMACに転送されない。その場合、NextTxTime(i)は更新されず、minNextTxTimeは再評価されず、次の送信候補ストリームの選択が実行される。
【0135】
本発明の実施態様は、産業オートメーションネットワークにおいて遭遇する可能性があるような、タイムクリティカル及び非タイムクリティカル混合のトラフィックをサポートするパケット交換ネットワークにおいて標的とされ得る。
【0136】
これは、産業オートメーションエンドステーションデバイスにおけるイーサネットTSNネットワークインターフェースの設計を単純化する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2023-08-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
イーサネットフレームの送信をスケジューリングするようにパケット交換ネットワークにおいて実施される方法であって、前記方法は、
a)送信する各イーサネットフレームにおいて与えられる、前記イーサネットフレームが属するストリームに関するデータの識別情報に基づいて、前記イーサネットフレームの優先レベルを決定することであって、前記データはそれによって、
連続した周期的バーストによって送信されるストリームに属し、第1の優先レベルを有するフレームと、
レート制御されたストリームに属し、前記第1の優先レベルより低い第2の優先レベルを有するフレームと、
非タイムクリティカルなトラフィックストリームに属し、前記第1の優先レベル及び前記第2の優先レベルよりも低い第3の優先レベルを有するフレームと、
を区別することと、
b)最高優先レベルを有するフレームの中から、送信候補のフレームが送信される最も近い次の時点を有する、前記送信候補のフレームを決定することと、
c)前記送信候補のフレームの送信終了時点を推定し、前記送信候補のフレームよりも高い優先度を有するフレームが、前記送信候補のフレームの送信終了時点より前に生じる次の送信時点を有していないかどうかをチェックし、最終的に前記送信候補のフレームを送信することと、
を含む、方法。
【請求項2】
前記b)の後、前記最も近い次の送信時点が、前記パケット交換ネットワークの共通クロックによって与えられた現在の時点よりも後である場合、前記b)は、前記最高優先レベルのデクリメント(p=p-1)の結果として生じる優先レベルを用いて、前記b)において決定される前記最も近い次の送信時点が現在の時点よりも後である限り、繰り返される、請求項1に記載の方法。
【請求項3】
非タイムクリティカルなトラフィックストリームに属し、前記第3の優先レベルを有するフレームは、プリエンプティブルトラフィックに属し、前記第1の優先レベルのフレーム及び前記第2の優先レベルのフレームが送信されないときはいつでも送信可能であると特定され、
前記最も近い次の送信時点が現在の時点の後であるか否かを検定する前に、前記送信候補のフレームが、前記第3の優先レベルを有するフレームであるか否かが判断され、最終的に、前記送信候補のフレームは少なくとも部分的に送信されるものと定義される、請求項2に記載の方法。
【請求項4】
前記イーサネットフレームは、送信前に、それぞれ前記イーサネットフレームの優先レベルに依存してFIFOキューにスタックされ、前記イーサネットフレームは、1つの同じ優先レベルを有する同じキューにスタックされ、優先レベルpを有し、同じ優先レベルpを有するフレームのうち最も近い次の送信時点を有するキューの先頭フレームが、優先レベルpの全てのフレームのうちの次の送信候補フレームである、請求項1~3のいずれか1項に記載の方法。
【請求項5】
各ストリームが所定のバースト送信期間を有する、連続周期的バーストによって送信されるストリームに属するCBフレームを用いて前記b)を実施するために、前記CBフレームの次の送信時点は、前記最も近い次の送信時点を決定するために、前記CBフレームが関係する前記ストリームのそれぞれの前記所定のバースト送信期間に基づいて計算される、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記パケット交換ネットワークのサイクルの基本期間は、前記CBフレームが関係する前記ストリームの前記バースト送信期間のうち、最大公約数として決定され、それぞれの異なるバースト送信期間を有するそれぞれのストリームに属するCBフレームの次の送信時点は、1つのネットワークサイクル又は連続ネットワークサイクルの開始時点に対し決定される、請求項5に記載の方法。
【請求項7】
現在の時点が、少なくとも1つのCBフレームが属するバーストの推定される送信終了に未だ達していない場合、前記少なくとも1つのCBフレームが次のCBフレーム送信の候補として選択される、請求項5又は6に記載の方法。
【請求項8】
CBフレーム候補について、前記次のCBフレームの送信終了時点が、前記次のCBフレームの所与の長さに基づいて計算され、前記CBフレーム候補が属するバーストの、前記推定されるバースト送信の終了と比較され、前記CBフレーム候補は、前記CBフレーム候補の送信終了時点が、前記推定されるバースト送信の終了よりも前に生じる場合にのみ送信される、請求項7に記載の方法。
【請求項9】
エクスプレスレート制御ストリームに属し、前記第2の優先レベルを有するRCフレームについて、RCフレームを送信する前に、前記RCフレームの送信終了時点が前記RCフレームの所与の長さに基づいて計算され、前記RCフレームは、前記送信終了時点が、前記RCフレームよりも高い優先レベルを有する任意のフレームについて決定された最も近い次の時点のうちの最も早いものの前に生じる場合にのみ送信されるように決定される、請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記送信終了時点は、前記RCフレームの所与の長さを、前記パケット交換ネットワークの送信レートで除算したものに基づいて計算され、それによって、前記送信終了時点までの前記RCフレームの送信の持続時間を定義する、請求項に記載の方法。
【請求項11】
前記RCフレームの送信時に、前記送信されているRCフレームと同じストリームの次のRCフレームの次の送信時点が、前記送信されているRCフレームの前記所与の長さに基づいて計算され、前記最も近い次の時点の決定は、前記計算された次の送信時点を考慮に入れて更新される、請求項又は10に記載の方法。
【請求項12】
ストリームのタイプ、
周期的バーストストリームの期間、
フレーム長、
のうちの少なくとも1つが、各フレームに示されるデータから導出可能であり、前記データはストリームコンテンツを定義する、請求項1~11のいずれか1項に記載の方法。
【請求項13】
処理回路によって実行されると、前記処理回路に、請求項1~12のいずれか1項に記載の方法を実行させる命令を含むコンピュータプログラム。
【請求項14】
請求項1~12のいずれか1項に記載の方法を実施するように構成された処理回路と、
前記パケット交換ネットワークに接続され、前記イーサネットフレームの送信が前記処理回路によってスケジューリングされるとき、前記処理回路によって、前記イーサネットフレームを送信する目的で操作されるように構成された通信インターフェースと、
を備える、機器。
【国際調査報告】