(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6395170
(24)【登録日】2018年9月7日
(45)【発行日】2018年9月26日
(54)【発明の名称】ネットワークにおけるデータフレームのトラフィックシェーピングの方法並びにそのデバイス及びコンピュータープログラム製品
(51)【国際特許分類】
H04L 12/875 20130101AFI20180913BHJP
H04L 12/951 20130101ALI20180913BHJP
【FI】
H04L12/875
H04L12/951
【請求項の数】10
【全頁数】17
(21)【出願番号】特願2017-514728(P2017-514728)
(86)(22)【出願日】2016年1月12日
(65)【公表番号】特表2017-532870(P2017-532870A)
(43)【公表日】2017年11月2日
(86)【国際出願番号】JP2016000114
(87)【国際公開番号】WO2016129205
(87)【国際公開日】20160818
【審査請求日】2017年3月15日
(31)【優先権主張番号】15305221.2
(32)【優先日】2015年2月13日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【弁理士】
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【弁理士】
【氏名又は名称】吉田 潤一郎
(72)【発明者】
【氏名】マンガン、クリストフ
【審査官】
菊地 陽一
(56)【参考文献】
【文献】
特開2002−016637(JP,A)
【文献】
特開2013−046389(JP,A)
【文献】
特開2005−218118(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/875
H04L 12/951
(57)【特許請求の範囲】
【請求項1】
電気通信ネットワークにおいて送信するデータフレームのトラフィックシェーピングの方法であって、前記送信するフレームは、
所定の時間ウィンドウ内で送信する必要があるエクスプレスフレームと、
前記時間ウィンドウ外の時刻に送信されるように意図されたノーマルフレームと、
に区別され、
送信処理対象の現在のノーマルフレームについて、該方法は、
前記ノーマルフレームをフラグメント化することができるか否かを判断するステップと、
フラグメント化することができる場合に、次の時間ウィンドウがオープンするまでの残りの時間が、前記ノーマルフレームの1つ又は幾つかのフラグメントを送信するのに十分であるか否かを判断するステップと、
十分である場合に、前記1つ又は幾つかのフラグメントを送信するステップと、
を含み、
幾つかのフローは送信処理されており、各フローは、連続したノーマルフレームと、以前のノーマルフレームの送信処理から残っている1つ又は幾つかのフラグメントがある場合にはそれらのフラグメントとを含み、
各フローの前記ノーマルフレーム及び、又は前記フラグメントは、メモリにキューイングされ、前記ノーマルフレーム及び、又は前記フラグメントはそれぞれの処理時点を割り当てられ、
現時刻が最小処理時点よりも大きい場合には、前記ステップを実施するために該現時刻がそれぞれの前記フローの全ての前記キューの中の最小処理時点と比較され、
前記ノーマルフレーム及び、又は前記フラグメントの前記処理時点は、フレーム又はフラグメントの各スケジューリングされた送信の際に、送信するフローの前記フレーム又は前記フラグメントの長さをそのフローの現在のビットレートによって除算することによって送信フロービットレートに基づいて推定された前記スケジューリングされた送信の継続時間だけ更新される、方法。
【請求項2】
前記現在のノーマルフレームをフラグメント化することができない場合には、次の時間ウィンドウがオープンするまでの残りの時間が前記現在のノーマルフレーム全体を送信するのに十分であるか否かが判断され、
十分である場合には、前記現在のノーマルフレーム全体が送信され、
十分でない場合には、次のステップまで待機状態となる、請求項1に記載の方法。
【請求項3】
前記現在のノーマルフレームをフラグメント化することができる場合には、次の時間ウィンドウがオープンするまでの残りの時間が少なくとも1つのフラグメントを送信するのに十分でない場合には、次のステップまで待機状態とする、請求項1または2に記載の方法。
【請求項4】
前記現在のノーマルフレームをフラグメント化することができる場合には、前記次のウィンドウがオープンするまでの前記残りの時間が完全なノーマルフレームの残りの部分を送信するのに十分であるか否かが更に判断され、
十分である場合に、前記完全なノーマルフレームの残りの部分の対応するフラグメントが送信され、
十分でない場合には、前記次のウィンドウがオープンするまでの前記残りの時間よりも少ない送信の全継続時間に対応する1つ又は幾つかのフラグメントが送信される、
請求項3に記載の方法。
【請求項5】
前記次のウィンドウがオープンするまでの前記残りの時間は、フラグメント又はノーマルフレームが送信されるリンクの能力に基づいて推定された該フラグメント又は該フレームを送信するのに要する時間と比較される、請求項1から4までのいずれか1項に記載の方法。
【請求項6】
ノーマルフレームは、その全長が最小フラグメントサイズの長さの少なくとも2倍である場合に、フラグメント化することができるとみなされる、請求項1から5までのいずれか1項に記載の方法。
【請求項7】
前記ノーマルフレームの全長は、送信されていないその残りのフラグメントを用いて更新される、請求項6に記載の方法。
【請求項8】
前記時間ウィンドウは、サイクリックタイムテーブルに連続的に規定される、請求項1から7までのいずれか1項に記載の方法。
【請求項9】
請求項1から8までのいずれか1項に記載の方法を実行するトラフィックシェーピング手段を有する、デバイス。
【請求項10】
コンピューターに、請求項1から8までのいずれか1項に記載の方法の手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、イーサネット(登録商標)等のパケット交換ネットワークに関する。
【背景技術】
【0002】
そのようなネットワークは、データ通信以外の領域においてますます多く用いられている。
産業ネットワークが、現在において、この用途の一例(例えば、冗長に関するプロフィネット(Profinet)標準、IEC標準:HSR、PRP、MRP)である。
これらの技術によってもたらされる発展は、主として、これらのネットワークの回復力の改善、すなわち、データ送信に影響を与えることなく、単一障害に対する保護を改善することに焦点を当てている。
【0003】
しかしながら、データ送信の厳密な時間特性の実施等の他の制約は、標準的なイーサネットを用いると実施することができない。より詳細に言えば、タイトに制限されたレイテンシー及び/又はジッターを必要とする制御/コマンドメッセージの送信は適切に対処されない。
輸送分野、主として航空学では、幾つかの解決策、すなわち、アビオニクス全二重交換イーサネット(AFDX(Avionics Full−Duplex Switched Ethernet)、プロトコルARINC664 パート7)及びTTEthernet(SAE AS6802)技術が開発及び標準化されてきた。双方の解決策は、パケット多重の編成にタイミング特性を追加することに依拠している。
【0004】
一例として、AFDXは、所与のフローのデータを送信することができる最大保証レートを固定する帯域幅割り当てギャップ(BAG)を定義している。すなわち、BAGは、BAGによるAFDXトラフィックシェーピングの2つの例を示す
図1に見て取ることができるように、フローが固定時間間隔内で送信することができるデータの量を設定する。各フローについてBAGレートを設定するとき、他のフローに十分な帯域幅を提供するように注意がなされ、総ビットレートはリンク能力を越えることができない。BAGによるシェーピングは、送信元でしか実行されず、多重化は、その後、下流ノードにおいて非同期に実行される。この技法は、ジッター及び転送遅延に対してタイトな制限を設けていない。
【0005】
第2の例として、TTEthernetは、ネットワークノードのタイトな同期に基づいており、3つのタイプのトラフィック、すなわち、タイムトリガー型(TT)、レート制約型(RC)及びベストエフォート型(BE)を定義している。
【0006】
TTメッセージが、領域全体にわたる同期クロックを利用する既定の静的なスケジュールに従ってネットワークを通じて送信される。これらのメッセージは、他の全てのメッセージタイプよりも優先度が高い。このスケジュールは、TTフレームが送信される各スイッチ出力ポートについて一組のTTウィンドウを規定する。タイムトリガー型メッセージの発生、時間遅延及び精度は、事前に規定され、保証される。
【0007】
あまり過酷でない決定性(determinism)及びリアルタイム要件を有する用途にはRCメッセージが用いられる。TTウィンドウ及び広い領域の同期クロックが、RCトラフィックを制御するシェーピングアルゴリズムの入力として用いられる。このアルゴリズムは、次のTTウィンドウが開始する前に各フレーム送信を終了することができるか否かを調べる。フレームが適合していない場合、送信機は、次のスケジューリングされたTTフレームの送信が開始するまでアイドル状態に留まる。このアイドル時間(「保護帯域」と呼ばれる)は、RCフレーム(及び、以下で説明するようにBEフレームも)がTTフレームと決して干渉しないことを保証する。これらのメッセージは、帯域幅が各用途について既定され、遅延及び時間的ずれが制限された範囲を有することを保証する。
【0008】
BEメッセージは、通常のイーサネットポリシーに従い、上記で説明した干渉回避メカニズムを用いて、残りのTTウィンドウにおいて送信される。これらのメッセージを送信することができるか否か、いつ送信することができるのか、どのような遅延が発生するのか、及びメッセージが受信者に到達するのか否かの保証はない。
【0009】
これらの3つのタイプのトラフィックは、TTEthernetフロースケジューリングを示す
図2に見て取ることができるように、サブサイクル(基準期間)に細分された回帰サイクルにおいて送信多重を編成するTDMA(時分割多元接続)方式に従ってタイムスロットを用いて割り当てられる。各トラフィックタイプに割り当てられたタイムスロットは、基準期間当たりのデータの量に対応し、それらの(時間)位置は、ネットワーク全体にわたって固定されている。
【0010】
パケットは、事前に規定された通信スケジュールに従って中継される。したがって、ローカルクロックが同期されているとき、通信スケジュールは同期して実行され、ネットワークにおける競合は回避される。したがって、タイムトリガー型通信は、2人以上の通信参加者がネットワークに同時点にアクセスする可能性を設計によって排除することができるので、強力な時間的分割(temporal partitioning:時間保護)を提供する。
【0011】
標準的なイーサネットベースのネットワークにわたってTTトラフィックをサポートする枠組みを提供するために、IEEE(802.1TSN作業グループ)は、現在、「タイムアウェアスケジューラ(Time Aware Scheduler)」と呼ばれる送信選択メカニズムを標準化している。この仕様は、「802.1Qbv−スケジューリングされたトラフィックのための拡張(Enhancements for Scheduled Traffic)」と呼ばれる802.1Q標準の修正を目的としている。この送信選択メカニズムは、各トラフィッククラスキューに関連付けられた送信ゲートに依拠している。すなわち、トラフィッククラスキューにおけるフレームは、送信ゲートが閉鎖状態にある場合又はそのキューに関連付けられた次のゲート閉鎖イベント前にそのフレームの全体を送信するのに利用可能な時間が十分でない場合には送信に利用可能でない。トラフィッククラスキューごとの「queueMaxSDU」パラメーターは、各キューの最大サービスデータユニットサイズを規定する。キューのこの最大サイズを越えるフレームは廃棄される。
【0012】
各ポートに関連付けられたゲート制御リストは、各ポートのトラフィッククラスキュー(
図3の#7、#6、…、#0)に関連付けられたゲートの送信ゲート状態を変更する。スケジューリングされたトラフィックの拡張をサポートしていない一実施態様では、全てのゲートは、常時開放状態にあると仮定される。状態マシンが、IEEE802.1Qbvに従った送信選択の原理を示す
図3に見て取ることができるようなキューごとのゲート状態の遷移の制御を担当する。
【0013】
しかしながら、多重化の編成のための固定スケジュールの導入によって、媒体へのアクセスに或る不公平が引き起こされる。すなわち、RCフロー及びBEフローのフレームは、フレーム全体を含むように十分長いタイムスロットにしか挿入することができないが、この長さは、それにもかかわらず可変である。これによって、追加の(常に不可避とは限らない)遅延及びジッターがRCフレームの送信にもたらされるとともにリンク上の帯域幅が浪費される。
【0014】
この課題を解決するために、IEEE802.3br(802.3の修正:「エクスプレストラフィックを散在させる仕様及び管理パラメーター(Specification and Management Parameters for Interspersing Express Traffic)」)は、いわゆる「エクスプレスフレーム」(低レイテンシーが保証されるフレームであり、通常、TTフレーム)の送信がスケジューリングされたときに衝突が発生せず、その結果、エクスプレストラフィックのレイテンシーが追加されないことを保証する、いわゆる「ノーマルフレーム」(優先度の低いフレームであり、通常、RCフレーム及びBEフレーム)のプリエンプションメカニズムを規定している。
【0015】
このメカニズムによって、エクスプレストラフィックのスケジュールを有するMACクライアントは、(エクスプレストラフィックデータパス及びノーマルトラフィックデータパスを示す
図4に見て取ることができるように)スケジューリングされたエクスプレストラフィックが到着する前にノーマルフレームをプリエンプトすることが可能になる。スケジューリングされたフレームは、到着すると、直ちに送信することができる。
【0016】
加えて、802.3br仕様は、ノーマルフレームの送信を停止してエクスプレスフレームに送信機会を与えることを可能にするホップごとのフラグメンテーション及び再組み立て方式を規定している。ノーマルフレームフラグメント及びエクスプレスフレームは、IEEE802.3brのフレームフォーマット及びフラグメントフォーマットに関係した
図5に示すように、それらのプリアンブル長及びいわゆる「開始フレームデリミター」(SFD)フィールドによって区別される。これによって、非エクスプレスフレーム(ノーマルフレーム)が十分長いタイムスロットの送信を待機しなくてよく、その結果、ノーマルフローに追加されるレイテンシーは限られたものとなり、リンク能力の使用がより良好なものとなる。
【0017】
どの時点においても単一のノーマルフレーム、すなわち、その送信時間スパンが1つ又は幾つかのTTウィンドウをカバーするフレームしかフラグメント化することができないということに留意すべきである。
図5において、MFCSは、非最終フラグメントのCRC(巡回冗長検査)である。ここで、その値は、送信されるフレームオクテットのFCS(フレーム検査シーケンス)とFFFF0000とをXORしたものと同じである。SMD−Ixは、ノーマルフレームの最初のフラグメント(初期フラグメント)等のそのノーマルフレームの先頭を示す一方、SMD−Cxは、そのフレームの非初期フラグメントを示す。説明の完全を期すために、MAC DA及びMAC SAはそれぞれ、宛先MACアドレス及び送信元MACアドレスである。「Ethertype」(イーサタイプ)は、イーサネットタイプ長フィールドを意味する。
図5の上側部分は、この場合、フラグメント化されたエクスプレスフレーム及びノーマルフレームを示しておらず、その下側部分は、ノーマルフレームの連続したフラグメントを示している。
【0018】
プリエンプトされた最小フラグメントサイズは64バイトである。したがって、128バイト未満の長さを有するパケットは、プリエンプトすることができない。非最終フラグメントは、8バイトの倍数の長さを有する。
【発明の概要】
【発明が解決しようとする課題】
【0019】
しかしながら、上記で説明した多重化メカニズムは、以下のことを保証していない。
エクスプレスフレームと比較して、ノーマルフレームに対する媒体への公平なアクセス、
他のノーマルフローと比較して、所与のフローに属するノーマルフレームに対する媒体への公平なアクセス、
ノーマルフレーム又はフラグメントを、それらの割り当てられたタイムスロット中にIEEE802.1Qbvに従って多重化して挿入することができること、
IEEE802.3brに従ってノーマルフレームをフラグメント化することができること。
この発明は、上記状況を改善することを目的としている。
【課題を解決するための手段】
【0020】
そのために、電気通信ネットワークにおいて送信するデータフレームのトラフィックシェーピングの方法であって、前記送信するフレームは、
所定の時間ウィンドウ内で送信する必要があるエクスプレスフレームと、
前記時間ウィンドウ外の時刻に送信されるように意図されたノーマルフレーム(以下で解説する
図9のステップb))と、
に区別される、方法が最初に提案される。
より詳細には、現在のノーマルフレームについて、該方法は、
前記ノーマルフレームをフラグメント化することができるか否かを判断するステップ(
図9のステップc))と、
フラグメント化することができる場合に、次の時間ウィンドウがオープンするまでの残りの時間が、前記ノーマルフレームの1つ又は幾つかのフラグメントを送信するのに十分であるか否かを判断するステップと、
十分である場合に、前記1つ又は幾つかのフラグメントを送信するステップと、
を含む。
【0021】
特定の実施の形態では、前記ノーマルフレームと、以前のノーマルフレームの処理から残っている1つ又は幾つかのフラグメントがある場合にはそれらのフラグメントとは、メモリにキューイングされ、それぞれの処理時点(processing instant)を割り当てられ、現時刻が最小処理時点よりも大きい場合には前記ステップを実施するために該現時刻が該最小処理時点と比較される(
図9のステップa))。
フレームの幾つかのフローがともに処理されているこの発明のより特定の実施の形態では、各フローは、連続したノーマルフレームと、以前のノーマルフレームの処理から残っている1つ又は幾つかのフラグメントがある場合にはそれらのフラグメントとを含む。各フローのこれらのノーマルフレーム及び/又はフラグメントは、メモリにそれぞれキューイングされ、それぞれの処理時点を割り当てられる。次に、現時刻がそれぞれの前記フローの全ての前記キューの中の最小処理時点よりも大きい場合には前記方法の前記ステップを実施するために該現時刻が該最小処理時点と比較される(
図9のステップa))。
【0022】
特定の実施の形態では、前記現在のノーマルフレームをフラグメント化することができない場合には、次の時間ウィンドウがオープンするまでの残りの時間が前記現在のノーマルフレーム全体を送信するのに十分であるか否かが判断され、
十分である場合には、前記現在のノーマルフレーム全体が送信され、
十分でない場合には、時間稼ぎステップが次の現時刻まで適用される。
【0023】
特定の実施の形態では、前記現在のノーマルフレームをフラグメント化することができる場合には、次の時間ウィンドウがオープンするまでの残りの時間が少なくとも1つのフラグメントを送信するのに十分であるか否かが判断され、
十分である場合には、少なくとも1つのフラグメントが送信され、
十分でない場合には、時間稼ぎステップが次の現時刻まで適用される。
【0024】
より詳細には、前記現在のノーマルフレームをフラグメント化することができる場合には、前記次のウィンドウがオープンするまでの前記残りの時間が完全なノーマルフレームの残りの部分を送信するのに十分であるか否かが更に判断され、
十分である場合に、前記完全なノーマルフレームの残りの部分の対応するフラグメントが送信され、
十分でない場合には、前記次のウィンドウがオープンするまでの前記残りの時間よりも少ない全継続時間に対応する1つ又は幾つかのフラグメントが送信される。
【0025】
特定の実施の形態では、前記次のウィンドウがオープンするまでの前記残りの時間は、フラグメント又はフレームが送信されるリンクの能力に基づいて推定された該フラグメント又は該ノーマルフレーム全体を送信するのに要する時間と比較される。
【0026】
その上、(前記キューイングされたフレーム及び/又はフラグメントに割り当てた)前記処理時点は、好ましくは、フレーム又はフラグメントの各スケジューリングされた送信の際に、送信フロービットレートに基づいて推定されたそのスケジューリングされた送信の継続時間だけ更新される。
【0027】
一実施の形態では、ノーマルフレームは、その全長が最小フラグメントサイズの長さの少なくとも2倍である場合に、フラグメント化することができるとみなされる。
【0028】
好ましくは、ノーマルフレームのその全長は、送信されていないその残りのフラグメントを用いて更新される(そのようなフレーム長を更新するステップは、
図9においてS15及びS18のラベルが付けられている)。
【0029】
一実施の形態では、前記時間ウィンドウは、(
図8の実施の形態の例に示すように)サイクリックタイムテーブル(cyclic timetable)に連続的に規定される。
【0030】
この発明は、この発明による方法を実行するトラフィックシェーピング手段(プロセッサ及び少なくとも1つのメモリ等)を有するデバイスも目的としている。
【0031】
この発明は、プロセッサによって実行されるとこの発明の方法を実行する命令を含むコンピュータープログラム製品も目的としている。
【0032】
この発明は、添付図面の図に、限定としてではなく例として示される。添付図面において、同様の参照符号は同様の要素を参照する。
【図面の簡単な説明】
【0033】
【
図1】BAGによるAFDXトラフィックシェーピングの2つの例を示す図である。
【
図2】TTEthernetフロースケジューリングを示す図である。
【
図3】IEEE802.1Qbvによる送信選択の原理を示す図である。
【
図4】エクスプレストラフィックデータパス及びノーマルトラフィックデータパスを示す図である。
【
図5】非フラグメント化されたエクスプレスフレーム及びノーマルフレーム、並びにノーマルフレームの連続したフラグメント(下側部分)を示す図である。
【
図6】この発明によるデバイスを含むことができる要素を備えるシステムを示す図である。
【
図7】この発明による方法を実行するためにトラフィックシェーピング手段を備えるこの発明によるデバイスの構造の一例を示す図である。
【
図8】前述の時間ウィンドウを規定するサイクリックタイムテーブルの一例を示す図である。
【
図9】この発明の実施の形態の一例による方法のステップを示す図である。
【発明を実施するための形態】
【0034】
以下の本明細書では、「エクスプレストラフィック」(又は「エクスプレスフレーム」)は、低レイテンシーのスケジューリングされたトラフィック(又はフレーム)又はTT(「タイムトリガー型」)トラフィック(又はフレーム)を示す一方、「ノーマルトラフィック」(又は「ノーマルフレーム」)は、レート制約型(RC)トラフィック、若しくはベストエフォート型(BE)トラフィック、又は他の任意の非エクスプレストラフィック(又はフレーム)を示す。
【0035】
この発明は、上記に列挙した条件を保証することを可能にする、フレームスケジューリング及びフラグメンテーションメカニズムを組み合わせたものを提案する。
【0036】
図6を参照すると、スケジューリング機能は、ネットワークNETのスイッチSWの出力ポートごとに設けられるデバイスDに配置することもできるし、端末T1、T2からデータ又は音声データを送信する端末局(T1、T2)にフレーム送信機能を有するデバイスDに配置することもできる。
図7に示すように、デバイスDの入力インターフェースINを通じて受信される各フロー(F1、…、Fi、…、Fm)の着信フレームは、ワーキングメモリMEMA内の独立したキュー(フローiについてはQ
i)にFIFO順序(「先入れ先出し」)で記憶される。デバイスDは、同期クロックデータCLK(ネットワーク又は同期された内部クロックから取得される)を用いてこの発明の方法を実行するプロセッサPROCを更に備える。さらに、デバイスDは、送信されるフレーム又はフラグメント(FR)にタイムスロットを割り当てる、
図8において詳述するタイムテーブルTSTを記憶するメモリMEMB(ワーキングメモリMEMAと同じメモリユニットとすることもできるし、異なるメモリユニットとすることもできる)を備える。最後に、送信するフレーム又はフラグメント(
図7では、FRで参照される)は、
図9を参照して以下で詳述するようにこの発明の実施によって、好都合な順序でデバイスの出力インターフェースOUTにおいて受信される。もちろん、デバイスDは、この発明の方法を実施するためにプロセッサPROCによって実行されるコンピュータープログラムコード命令(INST)を記憶する第3のメモリMEMCを(MEMA及びMEMBと同じメモリユニット又は異なるメモリユニットに)更に有することができる。
【0037】
デバイスDは、端末T1、T2又はスイッチSWの独立したチップ等の自律的なデバイスとして実施することもできるし、代替的にそのような端末又はスイッチ(又はより広く言えば、ネットワークの任意の要素)のハードウェアリソース(プロセッサ及び/又はメモリユニット等)を用いることもできる。
【0038】
図8を参照すると、タイムテーブルTSTは以下のように用いられる。
時刻は、出力ポートに取り付けられた送信リンク上の1ビットの継続時間に対応する単位で表される。ネットワーク内の全てのノードは、好ましくは、同じクロックで同期され、現時刻CLKの同じイメージを有する。現在の時刻値は、以下ではTとして示される。
【0039】
各フローiには、そのフローがノーマルであるか又はエクスプレスであるかを問わず、r
iで示すビットレートが関連付けられている。
すなわち、エクスプレスフローの反復する送信ウィンドウにおいて送信されるデータの量は、そのフローのビットレートを規定することを可能にし、
ノーマルフローには、ビットレート(最大、強制的か否かを問わない)を割り当てることができる。
全てのビットレートr
iの合計は、リンクの全能力よりも大きくあってはならない。簡単にするために、全てのリンクは、好ましくは、以下においてρで示す同じ能力を有する(ただし、任意選択的である)。
【0040】
各エクスプレスフローのフレームの送信は、周期パターンに従う。テーブルTST(有限長)は、スケジューリングされた全てのエクスプレスフローの一連の全ての連続した送信ウィンドウのオープン時刻及びクローズ時刻(それぞれ、t
ok及びt
ck)を含むことができる。これは、エクスプレスフレーム又はフラグメントが時間間隔[t
ok,t
ck]内で送信される一方、ノーマルフレーム又はフラグメントは、逆に、残された時間間隔[t
ck,t
ok+1]において送信されることを意味する(kはnを法とする)。ウィンドウは、オープンされているとき、そのウィンドウが提供されているエクスプレスフレームの送信を可能にすることができるように、各ウィンドウの継続時間は事前に計算されるという前提も置かれる。全てのエクスプレスウィンドウのオープン時刻及びクローズ時刻は、循環テーブルTSTに記憶される(k[n]は、
図8における円形矢印CIRCによって示されている)。実際には、テーブルの各エントリーは、ウィンドウkのオープン時刻及びクローズ時刻をそれぞれ表す対(t
ok,t
ck)である。テーブルの読み出しポインターがテーブルの最初の要素に巻き戻されるごとに、テーブルの深さに対応するオフセットがエントリーに追加される。この読み出しポインターは、現在の時刻値Tを考慮する。
【0041】
ノーマルフローの場合、各フローキューの先頭に記憶された各ノーマルフレームは、そのフレームの最初のビットが送信されることになっている理論的な時刻に対応する理論的な送信時刻(TT
i)に関連付けられている。TT
iは昇順にソートされ、最小のTT
i(
図9では、min(TT
i)で参照される)を有するノーマルフレーム又はフラグメントが、多重化に挿入される次のノーマルフレーム又はフラグメントの候補である。
【0042】
次に
図9を参照する。
Sは、送信される現在のノーマルフレーム又はフラグメントのサイズであり、
minfsは、IEEE802.3brによって規定された最小フラグメントサイズ(その仕様におけるその値の表記によれば「minFrag」)であり、
r
iは、フローiのビットレートであり、
ρは、(ここで説明する例では)リンクの平均能力であり、
Δtは、時間稼ぎステップS2の間の時間増分(例えば、1ビット送信の継続時間)であり、
TT
iは、この発明の方法による計算の前に、キューQ
iにおけるフレーム又はフラグメントFRの最初のビットが送信されることになっている理論的な時刻である。
【0043】
ノーマルフレーム又はフラグメントは、少なくとも以下の条件が満たされる場合に、多重化して挿入される(実際に送信される)。
a)T≧min(TT
i)であり(
図9におけるテストa)からの矢印「OK」)、かつ、
b)Tが現在の(t
ok,t
ck)ウィンドウに含まれず(
図9におけるテストb)からの矢印「KO」)、かつ、
c)S≧2*minfsである(
図9におけるテストc)からの矢印「OK」)。
「KO」はNOを表す。
【0044】
条件a)は、現時刻Tが、ノーマルフレームの検討を開始するようになったことを意味する。
条件a)が系統的に検証された場合、システムは、各ノーマルフローがr
iよりも大きなレートで送信されないことを保証する。RCフロー間のみの公平性が、それらのそれぞれのビットレートr
iによって表される重みに比例して達成される場合、条件a)を任意選択的なものとすることができることに留意すべきである。
【0045】
条件b)は、現時刻Tが時間ウィンドウk内(例えば、そのオープン時刻t
okとそのクローズ時刻t
ckとの間)にある場合にエクスプレスフレームの送信に優先度を与えるために、現時刻Tが時間ウィンドウk内にあるか否かが調べられることを意味する。
【0046】
条件c)は、(上記条件a)及びb)が達成された場合に)ノーマルフレームをフラグメント化することができるか否かが調べられることを意味する。ノーマルフレームをフラグメント化することができない場合(テストc)の出力における矢印KO)、時間稼ぎステップS2が、継続時間[t
ck,t
ok+1](k[n]は、「kはnを法とする」を意味する)がこのフラグメント化不能なノーマルフレームを送信するのに十分長くなるまで実行される。ノーマルフレームをフラグメント化することができる場合(テストc)の出力における矢印OK)、フラグメンテーションを良好で公平な条件で実行するために、更なるテスト及びステップが以下で詳述するように実施される。
【0047】
プロセスは、最初のステップS1、すなわち、
送信するノーマルフレーム又はフラグメントを検討し(アルゴリズムは、送信の処理を行うノーマルフレーム及びフラグメントに専用化されたルーチンを指し示す−フレーム全体又はフラグメントを送信するために、このルーチンの共通のステップはアルゴリズム最適化に用いられる)、
次に、各キューにおいてTT
iを計算し、
現在のインデックスkを有する現時刻ウィンドウを求めるために、テーブルTSTを参照し、
現時刻値Tを求めるためにクロックを参照する、
ステップから開始する。
【0048】
次に、ステップa)が実行される。すなわち、ノーマルフレーム又はフラグメントを送信する現在のTに達した場合、現在のウィンドウインデックスkを検討して、現時刻が時間ウィンドウkのクローズ後に含まれる(テストT3からの矢印OK)か否かが検証される。現時刻が時間ウィンドウkのクローズ後に含まれるということは、その後にウィンドウインデックスkを更新する必要があることを意味する(k[n]を用いたステップS4の増分)。次に、ステップb)が、優先権がエクスプレスフレームに与えられるか否かを判断するために実行される。優先権が与えられない場合(テストb)からの矢印KO)、ノーマルフレームをフラグメント化することができるか否かが判断される。フラグメント化することができない場合(テストc)からの矢印KO)、フレームをフラグメント化することができないという情報(テストc)からの点線矢印ラインKO)を用いてテストT6を実行することができる。テストT6において、次のウィンドウがオープンするt
okまでの残りの時間Tとリンク能力ρとを考慮しながら、完全なフレーム全体を送信することができるか否かが判断される。送信することができる場合(テストT6からの矢印OK)、フレームFRはステップS7において送信される。次のフレーム(又は後に見られるようなフラグメント)を送信するための次のスケジューリングされた時刻TT
iは、サイズSを有する新たなフレームを送信するフロービットレートr
iを考慮しながら、ステップS8において更新される。ステップS7において送信される最新のフラグメント(通常はその先頭)を読み出して、そのフラグメントがフレームの最後であったか否かを判断するために、テストT9が更に実行される。このアルゴリズムに従う本分岐では、完全なフレームがステップS7において送信されるので、テストT9の出力は「OK」であることになり、次の候補フレームが検討対象となり(ステップS10)、再びステップS1に関して処理される。
【0049】
テストT6によると完全なフレーム全体を送信することができない場合(フレームをフラグメント化することができないという情報を有する、テストT6からの点線矢印ラインKO)、フレーム全体を送信するのに十分長い新たな時間間隔[t
ck,t
ok+1]を待機するために、時間稼ぎステップがステップS2において実行される。
【0050】
フレームをフラグメント化することができる場合(ステップc)からの矢印OK)、フラグメンテーションが考慮され、テストT5において、次のウィンドウがオープンするまでの残された時間が、継続時間minfsを有するフラグメントを送信するのに十分長いか否かが調べられる。十分長い場合には(テストT5からの矢印OK)、フレーム全体を送信することができるか否かが(上記で説明したテストT6において)更に調べられる。フラグメントしか送信することができない場合(フレームをフラグメント化することができるという情報を有する、テストT6からの矢印KO)、テストT12において、次のウィンドウがオープンするまでの残りの時間が完全なフレームの残りの部分を送信するのに十分であるか否かが調べられる(テストT12の矢印「KO」。このテストT12の条件は、(t
ok−T)ρ≧S−minfsと記述することもでき、その場合、これは、次の送信フレーム又はフラグメントを妨害することなく、ステップS13において、長さS−minfsを有する少なくとも1つのフラグメント(完全なフレームを構築するための補完的なもの)を作成して送信することができることを意味する)。次に、スケジューリングされた時刻TT
iが、それに応じてステップS14において更新され、ステップS15において,検討対象となる次のフレームの長さも更新される。次に、そのフラグメントがフレームの最後であるか否かを調べることができる(テストT9)。通常、調べられるべきである。それでも、最後のステップ(
図9に図示せず)は、送信するフレームの最後に追加するFCS(フレーム検査シーケンス)を計算することからなることができるので、図示した例では、それを調べることが好ましい。
【0051】
(t
ok−T)ρ≦S−minfsである場合(テストT12からの矢印OKであるとともにテストT5において(t
ok−T)*ρ≧minfsである)である場合、これは、ステップS16において少なくとも1つのフラグメント(ただし、フレームを終了する最後のフラグメントではない)を作成して送信することができることを意味する。フラグメントの長さは、ステップS16において(t
ok−T)*ρによって与えられる。次に、スケジューリングされた時刻TT
iが、それに応じてステップS17において更新され、ステップS18において、検討対象となる次のフレームの長さも更新される。次に、そのフラグメントがフレームの最後であるか否かを調べることができる(テストT9)。ここでは、これは調べられることもあるし、調べられないこともある。調べられない場合(テストT9からの矢印KO)、次のフラグメントを用いてステップS1を再度実施するために、次のフラグメントがステップS11において検討対象となる。
【0052】
ステップS1が再度実施されるとき、(異なるフローF1、…、Fmの)キューQ1、…、Qm内のそれぞれの時刻TT
iは、ステップS8、S14及びS17のうちの1つにおいて更新されており、現時刻Tも、フラグメント又はフレームの送信中にステップS7、S13、S16のうちの1つにおいて進んでいることに留意すべきである。したがって、これらのパラメーターTT
i及びTは、必然的に更新され、(ステップS4においても更新することができる現在のウィンドウインデックスkとともに)ステップS1において用いられる準備がなされる。
【0053】
図9に示すアルゴリズムの主なステップを以下に列挙する。
a)If T≧min(TT
i)、及び
b)If Tが現在の(t
ok、t
ck)ウィンドウに含まれない、及び
c)If S≧2*minfs、
If (t
ok−T)*ρ≧minfs
If (t
ok−T)*ρ≧S
フレーム又は最終フラグメントを送信する
TT
i=TT
i+(S/r
i)
次のフレーム又はフラグメントの送信候補を選択する
Else
If (T+S/ρ)−t
ok≧minfs/ρ
長さ(t
ok−T)*ρのフラグメントを作成して送信する
TT
i=TT
i+((t
ok−T)*ρ/r
i)
S=S−(t
ok−T)*ρ
次のフラグメント又はフレームの送信候補を選択する
Else
長さ(S−minfs)のフラグメントを作成して送信する
TT
i=TT
i+((S−minfs)/r
i)
S=minfs
次のフラグメント又はフレームの送信候補を選択する
Endif
Endif
Endif
Else
If(T+S/ρ)<t
ok
フレーム又は最終フラグメントを送信する
TT
i=TT
i+(S/r
i)
次のフレーム又はフラグメントの送信候補を選択する
Endif
Endif
【0054】
この発明は、作業負荷(計算時間、プロセススケジューリング等)を時間において共有しなければならないいずれの領域にも適用することができる。それらの場合に、特定の変更は行われない。
【0055】
この発明は、様々な時間制約(厳しいリアルタイム性(例えば、臨界制御ループ)からより緩やかなレイテンシー及び同期(オーディオビデオトランスポート)並びにベストエフォート型に及ぶ)を有する用途の混合したものをサポートするネットワークにおいて適用することができる。
【0056】
この発明は、例えば、時間的制約のある制御ネットワーク(又はファクトリーオートメーション、若しくは自動車若しくは公共事業設備若しくは列車等における任意のネットワーク)において実施することができる。
【0057】
この発明は、標準的な実装問題(standard implementation problem)を解決するが、IEEE802.1TSN内の他の任意の「送信選択」メカニズムの標準化のサポートとして用いることができ、その場合、極低レイテンシー及びネットワーク負荷共有最適化をネットワークトラフィックシェーピングに提供する。
【0058】
図7に示すような並列キュー(Q1、…、Qm)における幾つかのフローの処理が上記で詳細に説明されてきた。しかしながら、この発明は、1つの単一フローの単一キューを用いて実行することもできる。その場合、このキューの各フレーム又は各フラグメントは、どのフラグメント又はフレームを
図9に示すステップの次の実施において処理するのかを判断するために、それらのステップの各実施の際に更新及び再配列することができる処理時刻TT
iを有する。
【0059】
この発明は、コンピュータープログラム製品に組み込むことができ、このコンピュータープログラム製品は、本明細書において説明した方法の実施を可能にする全ての特徴を含み、情報処理システム(例えば、ユーザー機器又はネットワーク要素)にロードされると、この情報処理システムにこの発明を実行させる。本文脈におけるコンピュータープログラム手段又はコンピュータープログラムは、情報処理能力を有するシステムに特定の機能を直接又は別の言語への変換後に実行させるように意図された一組の命令の任意の言語、コード又は表記による任意の表現を意味する。そのようなコンピュータープログラムは、コンピューター可読媒体又はマシン可読媒体に記憶することができ、これによって、データ、命令、メッセージ又はメッセージパケット、及び他のマシン可読情報をこの媒体から読み出すことが可能になる。コンピューター可読媒体又はマシン可読媒体は、ROM、フラッシュメモリ、ディスクドライブメモリ、CD−ROM、及び他の永久記憶装置等の不揮発性メモリを含むことができる。加えて、コンピューター可読媒体又はマシン可読媒体は、例えば、RAM、バッファー、キャッシュメモリ、及びネットワーク回路等の揮発性記憶装置を含むことができる。さらに、コンピューター可読媒体又はマシン可読媒体は、一時的状態媒体におけるコンピューター可読情報又はマシン可読情報を含むことができ、この一時的状態媒体は、有線ネットワーク又は無線ネットワークを含むネットワークリンク及び/又はネットワークインターフェース等であり、デバイスがそのようなコンピューター可読情報又はマシン可読情報を読み取ることを可能にするものである。
【0060】
現在のところ、この発明の好ましい実施の形態と考えられるものを図示及び説明してきたが、この発明の真の範囲から逸脱することなく、様々な他の変更を行うことができること及び等価なものに取り替えることができることが当業者によって理解されるであろう。加えて、本明細書において説明した中心の発明概念から逸脱することなく、特定の状況をこの発明の教示に適合させるように多くの変更が行うことができる。さらに、この発明の一実施の形態は、上記で説明した特徴の全てを含むとは限らない場合がある。したがって、この発明は、開示された特定の実施の形態に限定されるものではなく、この発明は、上記で広く画定されたこの発明の範囲内に含まれる全ての実施の形態を含むことが意図されている。
【0061】
当業者であれば、この発明の範囲から逸脱することなく、上記説明において開示された様々なパラメーターを変更することができ、開示された及び/又は請求項に記載された様々な実施の形態を組み合わせることができることを容易に理解するであろう。
【産業上の利用可能性】
【0062】
この発明は、多種の分野においてネットワークに適用可能である。