(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6152425
(24)【登録日】2017年6月2日
(45)【発行日】2017年6月21日
(54)【発明の名称】リアルタイムメッセージの送信方法およびリアルタイムメッセージを送信するためのコンピュータネットワーク
(51)【国際特許分類】
H04L 12/44 20060101AFI20170612BHJP
【FI】
H04L12/44 B
H04L12/44 D
【請求項の数】19
【全頁数】17
(21)【出願番号】特願2015-542116(P2015-542116)
(86)(22)【出願日】2013年11月18日
(65)【公表番号】特表2016-503615(P2016-503615A)
(43)【公表日】2016年2月4日
(86)【国際出願番号】AT2013050224
(87)【国際公開番号】WO2014075122
(87)【国際公開日】20140522
【審査請求日】2015年11月17日
(31)【優先権主張番号】A50522/2012
(32)【優先日】2012年11月16日
(33)【優先権主張国】AT
(73)【特許権者】
【識別番号】509261854
【氏名又は名称】エフティーエス コンピューターテクニク ジーエムビーエイチ
(74)【代理人】
【識別番号】100080816
【弁理士】
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【弁理士】
【氏名又は名称】内田 潔人
(74)【代理人】
【識別番号】100119415
【弁理士】
【氏名又は名称】青木 充
(72)【発明者】
【氏名】シュタイナー、ヴィルフリート
(72)【発明者】
【氏名】バウアー、ギュンター
(72)【発明者】
【氏名】レーバーニッヒ、シュテファン
【審査官】
速水 雄太
(56)【参考文献】
【文献】
特表2013−531402(JP,A)
【文献】
米国特許出願公開第2013/0179528(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/44
(57)【特許請求の範囲】
【請求項1】
コンピュータネットワーク内でメッセージを送信するための方法であって、前記コンピュータネットワークは、複数の計算機ノード(101,102,103,104)を有し、前記計算機ノード(101,102,103,104)は、一つまたは複数のアクティブノード(201)を介して相互接続されており、前記各計算機ノード(101,102,103,104)は、通信線路(301,302,303,304)を介してアクティブノード(201)に接続されており、さらに前記計算機ノード(101,102,103,104)は、メッセージの少なくとも一部をリアルタイムメッセージ(402)の形式で交換し、
一定の持続時間の規定のCM時間インターバル(CMI)が前記リアルタイムメッセージ(402)に割り当てられており、
前記リアルタイムメッセージ(402)に対してCM時間インターバル(CMI)内で使用可能な帯域幅が、規定のリアルタイム帯域幅に制限されている送信方法において、
さらに、計算機ノード(101,103)によりタイムトリガされるメッセージ(401,403;401,403,404)が送信され、
規定のスケジュールに従って、前記タイムトリガされるメッセージ(401,403;401,403,404)が、前記計算機ノード(101,103)により周期的に送信され、
前記タイムトリガされるメッセージ(401,403;401,403,404)の持続期間(P;P1,P2)は、前記CM時間インターバル(CMI)の持続時間の関数であり、
異なる計算機ノード(101,103)により同一のアクティブノード(201)に送信される、タイムトリガされるメッセージ(401,403;401,403,404)の送信時点は、当該タイムトリガされるメッセージ(401,403;401,403,404)が、異なる計算機ノード(101,103)から異なる時点(601,602;601,602,602’)で、すなわちオーバラップしない時間インターバルで前記アクティブノード(201)によって受信されるように互いに位相が時間的にずらされており、
前記タイムトリガされるメッセージ(401,403;401,403,404)とリアルタイムメッセージ(402)によりCM時間インターバル(CMI)内で占有される帯域幅の合計は、前記リアルタイム帯域幅の値を上回らない、ことを特徴とする方法。
【請求項2】
前記タイムトリガされるメッセージ(401,403;401,403,404)は、少なくとも2つの計算機ノード(101,103)から送信される、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記タイムトリガされるメッセージ(401,403;401,403,404)の持続期間(P;P1,P2)は、CM時間インターバル(CMI)の整数倍である、ことを特徴とする請求項1または2に記載の方法。
【請求項4】
タイムトリガされるメッセージの持続期間は、CM時間インターバル(CMI)を整数で除算した持続時間に等しい、ことを特徴とする請求項1または2に記載の方法。
【請求項5】
タイムトリガされるメッセージ(401,403;401,403,404)の全ては、同一の持続期間(P)により送信される、ことを特徴とする請求項1から4のいずれか一項に記載の方法。
【請求項6】
少なくとも2つの計算機ノード(101,103)は、タイムトリガされるメッセージ(401,403;401,403,404)を異なる持続期間(P1,P2)により送信する、ことを特徴とする請求項1から4のいずれか一項に記載の方法。
【請求項7】
同一の持続期間(P)によるタイムトリガされるメッセージ(401,403)の送信時点は、異なる計算機ノード(101,103)からの2つの連続するタイムトリガされるメッセージの送信時点が、正確に一つまたは少なくとも一つの時間フレームだけ分離されるように選択されており、前記時間フレームは、前記持続期間(P)を計算機ノードの数により除算したものに等しい、請求項1から6のいずれか一項に記載の方法。
【請求項8】
異なる計算機ノード(101,103)の2つ以上のタイムトリガされるメッセージの送信がCM時間インターバル(CMI)内で行われるようにスケジュールが規定し、当該スケジュールはさらに、n番目のタイムトリガされるメッセージの送信時点が、最も早くても(n−1)番目のメッセージの送信時点に(n−1)番目のメッセージの送信持続時間を加えた時間の経過後に発生するように規定し、ここでn=2,3,4...である、ことを特徴とする請求項1から7のいずれか一項に記載の方法。
【請求項9】
リアルタイムメッセージの2つ以上の互いに異なるクラスが前記ネットワーク内で送信され、これらの異なるクラスは、それぞれのクラスのメッセージに割り当てられたCM時間インターバル(CMI)において少なくとも異なっている、ことを特徴とする請求項1から8のいずれか一項に記載の方法。
【請求項10】
タイムトリガされるメッセージとして送信される特定のクラスのリアルタイムメッセージは、これらのリアルタイムメッセージのCM時間インターバル(CMI)の関数である持続期間を伴って送信される、ことを特徴とする請求項9に記載の方法。
【請求項11】
リアルタイムメッセージの少なくとも一部は、タイムトリガされるメッセージとして送信される、ことを特徴とする請求項9または10に記載の方法。
【請求項12】
特定のクラスのリアルタイムメッセージの少なくとも一部は、タイムトリガされるメッセージとして送信される、ことを特徴とする請求項9から11のいずれか一項に記載の方法。
【請求項13】
タイムトリガされる異なるメッセージ(401,403)は、それぞれ、異なるCM時間インターバル(CMI)の開始時に送信される、ことを特徴とする請求項1から12のいずれか一項に記載の方法。
【請求項14】
リアルタイムメッセージに対して使用可能な帯域幅は、タイムトリガされるリアルタイムメッセージとタイムトリガされないリアルタイムメッセージとの間で任意に割り当て可能である、ことを特徴とする請求項1から13のいずれか一項に記載の方法。
【請求項15】
タイムトリガされるメッセージは、少なくともリアルタイムメッセージの優先度またはそれより高い優先度を有する、ことを特徴とする請求項1から14のいずれか一項に記載の方法。
【請求項16】
同一の計算機ノードにより送信されるタイムトリガされるメッセージは、同一の識別特性、例えば同一のストリームIDを有する、ことを特徴とする請求項1から15のいずれか一項に記載の方法。
【請求項17】
CM時間インターバルの長さは、125マイクロ秒または250マイクロ秒である、ことを特徴とする請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記規定のリアルタイム帯域幅は、CM時間インターバル(CMI)内の帯域幅の最大で75%に制限されている、ことを特徴とする請求項1から17のいずれか一項に記載の方法。
【請求項19】
メッセージを送信するための請求項1から18のいずれか一項に記載の方法を実施するためのコンピュータネットワークであって、前記コンピュータネットワークは、複数の計算機ノード(101,102,103,104)を有し、前記計算機ノード(101,102,103,104)は、一つまたは複数のアクティブノード(201)を介して相互接続されており、前記各計算機ノード(101,102,103,104)は、通信線路(301,302,303,304)を介してアクティブノード(201)に接続されており、前記計算機ノード(101,102,103,104)は、前記メッセージの少なくとも一部をリアルタイムメッセージ(402)の形式で交換し、一定の持続時間の規定のクラス測定時間インターバルが、前記リアルタイムメッセージ(402)に割り当てられており、前記リアルタイムメッセージ(402)に対してCM時間インターバル内で使用可能な帯域幅は、規定のリアルタイム帯域幅に制限されているコンピュータネットワークにおいて、
タイムトリガされるメッセージ(401,403;401,403,404)を送信するように構成された少なくとも2つの計算機ノード(101,103)が設けられており、
規定のスケジュールに従って、前記タイムトリガされるメッセージ(401,403;401,403,404)は、前記少なくとも2つの計算機ノード(101,103)により周期的に送信され、
前記タイムトリガされるメッセージ(401,403;401,403,404)の持続期間(P;P1,P2)は、前記CM時間インターバル(CMI)の持続時間の関数であり、
異なる計算機ノード(101,103)によって同一のアクティブノード(201)に送信されるタイムトリガされるメッセージ(401,403;401,403,404)の送信時点は、当該タイムトリガされるメッセージ(401,403;401,403,404)が、異なる計算機ノード(101,103)から異なる時点(601,602;601,602,602’)で、すなわちオーバラップしない時間インターバルで前記アクティブノード(201)によって受信されるように互いに位相がシフトされており、
前記タイムトリガされるメッセージ(401,403;401,403,404)とリアルタイムメッセージ(402)とによりCM時間インターバル(CMI)内で占有される帯域幅の合計は、前記リアルタイム帯域幅の値を上回らない、ことを特徴とするコンピュータネットワーク。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータネットワーク内でメッセージを送信するための方法に関するものである。ここで前記コンピュータネットワークは、一つまたは複数のアクティブノード(aktive Komponenten)を介して相互接続された複数の計算機ノードを有し、各計算機ノードは、通信線路を介してアクティブノードと接続されており、前記計算機ノードは、前記メッセージの少なくとも一部をリアルタイムメッセージの形式で交換し、一定の持続時間の所定のクラス測定時間インターバルが前記リアルタイムメッセージに割り当てられており、前記リアルタイムメッセージに対してCM時間インターバル内で使用可能な帯域幅が、規定のリアルタイム帯域幅に制限されている。
【0002】
本発明はさらにメッセージを送信するための上記方法を実施するためのコンピュータネットワークに関するものである。ここで前記コンピュータネットワークは、一つまたは複数のアクティブノードを介して相互接続された複数の計算機ノードを有し、各計算機ノードは、通信線路を介してアクティブノードと接続されており、前記計算機ノードは、メッセージの少なくとも一部をリアルタイムメッセージの形式で交換し、一定の持続時間の規定のクラス測定時間インターバルが、前記リアルタイムメッセージに割り当てられており、前記リアルタイムメッセージに対してCM時間インターバル内で使用可能な帯域幅が、規定のリアルタイム帯域幅に制限されている。
【背景技術】
【0003】
コンピュータ技術では、個々のコンピュータを一つのコンピュータネットワークにネットワーク化するための種々の規格が確立されている。これらの規格は、コンピュータネットワーク内で動作するアプリケーションの要求に従う。アプリケーションの特別のクラスがリアルタイムシステムである。このリアルタイムシステムでは、ネットワーク内でのメッセージの送信の持続時間が主要な特性である。リアルタイムシステムとして適切なコンピュータネットワークに対する規格例として、ここではSAE AS6802規格を挙げておく。リアルタイムシステムに対する例として、飛行機に搭載された制御システム、産業用製造装置での制御システム、および、産業用ロボットがある。
【0004】
コンピュータネットワークにおけるメッセージの送信時間、すなわち待ち時間を最小にするためのコスト的に有効な一つの方法は、時間制御されたメッセージ送信、すなわちタイムトリガ通信を実現することである。タイムトリガされたメッセージ送信では、ネットワークによって一つのコンピュータネットワークを形成するように接続された全てのコンピュータまたはコンピュータ群が同期され、この同期されたコンピュータがローカルクロックを実現する。このローカルクロックは、リアルタイムでの各時点において、計算可能な時間値誤差しか異なっていない。したがって、同期されたコンピュータは、時間的について共通の参照点を有し、この参照点は計算可能であり、多くの場合、例えばマイクロ秒範囲の小さな誤差を受ける。
【0005】
さらに、タイムトリガされた通信では、通信プラン、いわゆる「スケジュール」が開発されている。このスケジュールは、同期された時間内のどの時点で、どのコンピュータがどのメッセージをネットワークに供給するかを記述する。これにより、コンピュータがメッセージをコンピュータネットワークに供給する時点が、別のコンピュータがメッセージを前記コンピュータネットワークに供給する時点から十分に離れていることが保証され、これにより一つのコンピュータのメッセージと別のコンピュータのメッセージとが同一の時点でネットワークのリソースを占有することがなくなる。ネットワーク自体は、アクティブノード、例えばブリッジまたはスイッチを含むことができる。この場合、スケジュールは、メッセージをさらに転送すべき時点も含むことができる。SAE AS6802規格は、タイムトリガされるメッセージの送信を、イーサネット(登録商標)(IEEE 802.3)に基づくネットワークにおいてどのように実現することができるかを記述する。
【0006】
リアルタイムシステムの重要性がますます増大するため、今や産業界は、既存のITネットワーク規格をリアルタイム適性のあるものにしようと試みている。とりわけ、IEEE802.1Q規格には、バージョンIEEE802.1-2011から始まって、制限された数のメッセージに対するリアルタイム応答を保証する機能が拡充されている。これらの機能は、「オーディオ・ビデオ・ブリッジング」(AVB)の概念の下に共通してまとめられる。
【0007】
IEEE802.1Q-2011では、以下の機能および構成によってリアルタイム応答が達成される。
【0008】
(a)リアルタイムメッセージには、ネットワークにおいて高度の優先度、さらには最高度の優先度が割り当てられる。
【0009】
(b)リアルタイムメッセージは、あらかじめ定められた非同期期間により送信される。
【0010】
(c)リアルタイムメッセージに対して使用可能な帯域幅は、制限され、規定されている。
【0011】
上記ポイント(a)〜(c)から、リアルタイムメッセージの待ち時間を計算することができ、パラメータ(優先度、期間および帯域幅)の適切な選択により十分に満足のいくリアルタイム応答を達成することができる。完全を期すために、IEEE802.1Q-2011は、タイムトリガされるメッセージ送信を実現するものではないが、IEEE802.1Qでのタイムトリガ能力が、現在のIEEE802.1Qbv標準化プロジェクトにおいて開発されていることを述べておく。
【0012】
ここでは、IEEE802.1Q-2011による構成に対する例として、いわゆるサービスクラスA「SRクラスA」を挙げておく。SRクラスAに対してIEEE802.1Q-2011は、以下の事実上の構成を定義する:(a)優先度が3にセットされる、(b)クラス測定インターバル(CMI)(以下、一般的にCM時間インターバルとも称する)が125マイクロ秒にセットされる、そして(c)SRクラスAに対する最大帯域幅が75%にセットされる。このようなセットアップの際に、IEEE802.1作業部会の計算によれば、2ミリ秒の保証された待ち時間がネットワーク内で達成され、このネットワーク内には最大で6つのブリッジ(スイッチまたはスターカップラとも称する)が、一つのリアルタイムメッセージの送信者と受信者との間に許容される。
【0013】
相応してAVBプロトコルを実現するコンピュータは、125マイクロ秒ごとに(SRクラスAに対して)特定のIDを備える一つのメッセージを送信してよい。例えば従来技術を示す
図1に示すように、2つのコンピュータ101,102がメッセージをブリッジ201に、AVBプロトコルに従って送信する場合、2つのコンピュータ101,102はそれぞれ自身のために動作し、共同して動作しない。したがって、コンピュータ101,102は、同一の時点でブリッジ201に到着するメッセージを送信することができる。最悪の場合、2つのコンピュータがメッセージを周期的に送信する場合には、このことはコンピュータ101,102の全てのメッセージに対して当てはまる。
【0014】
CM時間インターバルは、帯域幅パラメータの計算時間を定義する。AVBでは、ストリームに対する帯域幅がブリッジにおいて動的に予約される。このことは、例えば一人の通話者が自分のブリッジにおいて、125マイクロ秒ごとに、長さnnバイトのxx個のメッセージを送信するという内容を伴うストリームS1を通知する場合、
(nn+42)×8×xx/125μs=bbbビット/秒
(42バイトはヘッダ等に対するオーバヘッド)の帯域幅が生じる、ことを意味する。したがって、CMI(この場合は125μs)は、一つのストリームに対して要求される帯域幅を計算するためのインターバルを規定する。
【0015】
しかしながら、このセットアップの直接的な結論は、SRクラスAの最小長を備える最大で13のイーサネット(商標登録)メッセージ(イーサネット(登録商標)では「フレーム」とも称する)を各ポートに対して使用することができるというものである。なぜなら、そうでないと、最大帯域幅に対する75%制限を上回ることとなるからである。(最小のイーサネット(登録商標)フレームは、84バイトの場合には6.72μsの長さを有し、125μsのCMIにおいて75%帯域幅では93.75μsの使用可能時間が得られる。93.75μs/6.72μsから100Mビット/秒の帯域幅においては最大で13の最小イーサネット(商標登録)フレームが生じる。)
【発明の概要】
【発明が解決しようとする課題】
【0016】
本発明の課題は、例えばIEEE802.1Q-2011(または将来のIEEE802.1Q規格)を実現する分散型コンピュータネットワーク、またはこの規格で仕様規定されたのと類似の仕様に基づく分散型コンピュータネットワークにおいて、利用可能な時間単位内に送信されるリアルタイムメッセージの数を増やすことのできる方法を提供することである。とりわけ本発明の課題は、タイムトリガされないリアルタイムメッセージ、例えばAVBメッセージの待ち時間を増大すること無しに上記目標を達成することである。
【課題を解決するための手段】
【0017】
この課題は、冒頭に述べた方法を使用して本発明に従い、タイムトリガされるメッセージが計算機ノードによりさらに送信され、規定のスケジュールに従って、タイムトリガされるメッセージが前記計算機ノードにより周期的に送信され、前記タイムトリガされるメッセージの持続期間は、CM時間インターバルの期間の関数であり、異なる計算機ノードにより同一のアクティブノードに送信されるタイムトリガされるメッセージの送信時点は、異なる計算機ノードからの当該タイムトリガされるメッセージが異なる時点で前記アクティブノードにより受信されるように、すなわち互いにオーバラップしない時間インターバルで受信されるように互いに位相がずらされており、一つのCM時間インターバル内で前記タイムトリガされるメッセージとリアルタイムメッセージとにより占有される帯域幅の合計が、リアルタイム帯域幅の大きさを上回らない、ことによって解決される。
【0018】
この課題はさらに、冒頭に述べたコンピュータネットワークにより本発明に従って、タイムトリガされるメッセージを送信するように構成された少なくとも2つの計算機ノードが設けられており、規定のスケジュールに従って、前記少なくとも2つの計算機ノードのタイムトリガされるメッセージが周期的に送信され、前記タイムトリガされるメッセージの持続期間は、CM時間インターバルの持続期間の関数であり、異なる計算機ノードから同一のアクティブノードに送信されるタイムトリガされるメッセージの送信時点は、異なる計算機ノードからの当該タイムトリガされるメッセージが異なる時点で前記アクティブノードにより受信されるように、すなわち互いにオーバラップしない時間インターバルで受信されるように互いに位相シフトされており、一つのCM時間インターバル内で前記タイムトリガされるメッセージとリアルタイムメッセージとにより占有される帯域幅の合計が、リアルタイム帯域幅を上回らない、ことによって解決される。
【発明を実施するための形態】
【0019】
基本的に、通信線路を介する通信のために使用可能な最大伝送速度は、「ポート伝送速度」と称される。例えばイーサネット(登録商標)における「ポート伝送速度」は、10Mビット/秒、100Mビット/秒、1Gビット/秒またはそれ以上である。
【0020】
リアルタイム帯域幅は、この「ポート伝送速度」のスペースを規定し(例えば%で)、このスペースはリアルタイムメッセージのために使用可能である。
【0021】
本発明は、タイムトリガされるメッセージとタイムトリガされないリアルタイムメッセージの帯域幅の合計が、タイムトリガされないリアルタイムメッセージに対して元々設けられた規定のリアルタイム帯域幅よりも小さいか、または等しいようにする。したがって、タイムトリガされるメッセージとタイムトリガされないリアルタイムメッセージは、タイムトリガされないリアルタイムメッセージに対して通常は使用可能である「ポート伝送速度」のパーセンテージを分け合う。
【0022】
したがって、本発明は、「通常の」リアルタイムメッセージ、例えばタイムトリガされずに通信されるAVBメッセージと、新たに導入されたタイムトリガされるメッセージないしタイムトリガされるリアルタイムメッセージとを区別する。
【0023】
導入された方法により、スケーラブルな多数のリアルタイムメッセージを、一つのアクティブノード、例えばブリッジのポートに割り当てることができる。
【0024】
このことは、コンピュータネットワーク内で送信されるメッセージの一部に対してはタイムトリガされる通信を実現することにより達成され、ここではタイムトリガスケジュールのために設定された特別の仕様も、タイムトリガされないリアルタイムメッセージ、例えばAVBメッセージに対して設定された帯域幅仕様も両方とも維持しなければならない。したがって、タイムトリガされるメッセージが、AVBメッセージのように出現する。結果として本発明は、標準イーサネット(登録商標)コンピュータネットワークを、帯域幅使用率の改善のために拡張し、再構成するために使用することができる。
【0025】
本発明は、例えばIEEE802.1Q-2011に基づくネットワークにおいてタイミングパフォーマンスを改善することができる。具体的には、メッセージを同期して送信するために使用される方法が導入され、これにより、例えばIEEE802.1Q-2011規格に従い、ちょうど一人のネットワーク加入者に割り当てられた帯域幅を、本方法を使用して、複数のネットワーク加入者により協調し分け合うことができる。この方法により、IEEE802.1Q-2011だけに基づくネットワークにおいて可能であるよりも多数のメッセージに対して、待ち時間特性を保証することができる。
【0026】
したがって、本発明は、例えばIEEE802.1Q-2011(または将来のIEEE802.1Q規格)を実現する分散型コンピュータネットワークにおいて、どのようにしてリアルタイムメッセージの数を増やすことのできるかを記述する革新的方法を開示する。この方法は、タイムトリガされる通信を実現し、IEEE802.1Q-2011規格に記述されるリアルタイムメッセージの一部、例えばSRクラスAメッセージの一部が、タイムトリガのやり方で通信される。さらにこの方法は、タイムトリガのやり方では送信されないリアルタイムメッセージの待ち時間特性が、タイムトリガによって不利な影響を受けないようにすることを保証するためには、タイムトリガされるメッセージのスケジュールをどのように組むべきかを開示する。ここで本発明によればタイムトリガは、(複数の)エンドシステム内で、すなわち(複数の)コンピュータ内で実施され、ブリッジで実施されるのではない。
【0027】
少なくとも2つの計算機ノードのタイムトリガされるメッセージが送信されると有利である。
【0028】
同様に通信の理想的なシーケンスに対しては、タイムトリガされるメッセージの持続期間が一つのCM時間インターバルの整数倍であると有利である。
【0029】
タイムトリガされるメッセージの持続期間が、一つのCM時間インターバルを整数で除算した期間に等しくなるようにすることもできる。
【0030】
本発明の一実施形態では、タイムトリガされる全てのメッセージが、同一の持続期間で送信される。
【0031】
本発明の別の一実施形態では、少なくとも2つのノードコンピュータにより制御されるタイムトリガされるメッセージが、異なる持続期間で送信される。
【0032】
同一の持続期間を備えるタイムトリガされるメッセージの送信時点が、異なるノードコンピュータからの2つの連続するタイムトリガされるメッセージの送信時点が正確に一つのまたは少なくとも一つの時間インターバルだけ互いに離れているように選択されると有利である。ここで前記時間インターバルは、持続期間をノードコンピュータの数により除算したものに等しい。
【0033】
例えば、2つのノードコンピュータがタイムトリガされるメッセージを送信する場合、異なるノードコンピュータからの2つの連続するメッセージは、持続期間の半分だけ互いに時間的にシフトされる。持続期間がCM時間インターンバルの長さの2倍である場合、2つのメッセージ(すなわちそれらの送信時点)はちょうど一つのCM時間インターバルだけ離されている。
【0034】
異なるノードコンピュータの2つ以上のタイムトリガされるメッセージが一つのCM時間インターバル内で送信されるように規定するスケジュールに対しては、さらに、n番目のタイムトリガメッセージの送信時点が、最も早くても(n−1)番目のメッセージの送信時点に(n−1)番目のメッセージの送信持続時間を加えた時間の経過後に発生するように規定するのが有利である。ここでn=2,3,4...である。
【0035】
さらに、リアルタイムメッセージの2つ以上の異なるクラスをネットワーク内において送信することができ、このような異なるクラスは、それぞれのクラスのメッセージに割り当てられたCM時間インターバルにおいて少なくとも異なっている。
【0036】
本発明は、タイムトリガされるメッセージとして送信される特定のクラスのリアルタイムメッセージを、これらのリアルタイムメッセージのCM時間インターバルの関数である持続期間により送信することができる。
【0037】
しばしば、ないし一般的に、異なるクラスのメッセージは、それらの優先度においても異なっている。しかし、タイムトリガされるメッセージに、対応のリアルタイムメッセージと同一の、またはそれより高い優先度を割り当てることもできる(すなわち、リアルタイムメッセージがタイムトリガされるメッセージとして送信される場合、そのタイムトリガされるリアルタイムメッセージには、それがタイムトリガされないメッセージとして有することになる優先度と同一の、またはそれより高い優先度が割り当てられる)。
【0038】
具体的には本発明では、リアルタイムメッセージの少なくとも一部がタイムトリガされるメッセージとして送信される。このことはとりわけ、通常はタイムトリガされるメッセージとして送信されないこれらリアルタイムメッセージのうちの少なくとも一部が、タイムトリガされる(リアルタイム)メッセージとして送信されることを意味する。ネットワーク内で通信されるリアルタイムメッセージではない、すなわちとりわけ標準イーサネット(登録商標)メッセージである他のメッセージは、通常、タイムトリガされるメッセージとしては通信されず、本発明の枠内でも通信されない。
【0039】
さらに所定のクラスのリアルタイムメッセージの少なくとも一部を、タイムトリガされるメッセージとして送信することができる。
【0040】
例えばAVBクラス「SRクラスA」のリアルタイムメッセージがタイムトリガされるメッセージとして送信される場合、CM時間インターバルCMIの持続時間は125マイクロ秒であり、タイムトリガされるメッセージとして送信されるクラス「SRクラスA」のAVBメッセージ(「TT−SRクラスAメッセージ」、すなわち「タイムトリガされるSRクラスAメッセージ」)は相応に、この値の関数、例えば整数倍、すなわち例えば125マイクロ秒の1倍、2倍、3倍等または125マイクロ秒を整数で除算した持続期間で送信される。
【0041】
例えば(追加的にまたはその代わりに)AVBクラス「SRクラスN」のメッセージがタイムトリガされるメッセージ(「TTSRクラスBメッセージ」)として送信される場合、持続期間は、SRクラスBメッセージに対する対応のCM時間インターバル、すなわち250マイクロ秒に基づいて計算される。
【0042】
メッセージの送信は、特に簡単には、タイムトリガされるメッセージがCM時間インターバルの開始時に送信されるようにスケジュールすることができる。
【0043】
最後に、リアルタイムメッセージに対して使用可能な帯域幅も同様に、タイムトリガされるリアルタイムメッセージとタイムトリガされないリアルタイムメッセージとの間で任意に分割できると有利である。
【0044】
すでに上に述べたように、タイムトリガされるメッセージが、少なくとも(タイムトリガされない)リアルタイムメッセージの優先度またはより高い優先度を有すると有利である。
【0045】
例えばタイムトリガされるメッセージとして送信されるSRクラスA/SRクラスBのAVBメッセージは、SRクラスA/SRクラスBと同一の、またはそれより高い優先度を有する。しかし、タイムトリガされる全てのメッセージに、タイムトリガされない(AVB)リアルタイムメッセージよりも高い優先度を割り当てることもできる。
【0046】
最後に、同一の計算機ノードにより送信されるタイムトリガされるメッセージが、同一の識別特性、例えば同一のストリームID(StreamID)を含むようにすることも有利である。
【0047】
典型的なCM時間インターバルの長さは、125マイクロ秒および/または250マイクロ秒である。
【0048】
さらに通常は、規定のリアルタイム帯域幅が、一つのCM時間インターバル内でリアルタイムメッセージに対して使用可能な帯域幅の最大で75%に制限されている。
【0049】
以下、本発明を、例としての実施例に基づき詳細に説明する。
【図面の簡単な説明】
【0050】
【
図1】3つの計算機ノード、例えばコンピュータとブリッジを有するコンピュータネットワークを示す図であり、ここでブリッジはIEEE802.1Q規格を実現する。
【
図2】2つのメッセージがブリッジにより、ほぼ同一の時点で受信されるデータフローチャートを示す図であり、ここでブリッジはメッセージを記憶し、メッセージを連続的に転送する。
【
図3】4つの計算機ノードと一つのブリッジを有するコンピュータネットワークを示す図であり、ここでブリッジはIEEE802.1Qを実現し、3つの計算機ノードのうちの2つがタイムトリガされる通信を実現する。
【
図4】タイムトリガされるメッセージが2つの計算機ノードによって、クラス測定インターバル(CMI)の持続時間の2倍に等しい期間で送信されるようにスケジュールされた、タイムトリガされるメッセージのためのスケジュールを示す図である。
【
図5】一つのタイムトリガされるメッセージと一つのタイムトリガされないメッセージがそれぞれ一つのブリッジによってほぼ同一の時点で受信されるデータフローチャートを示す図である。
【
図6】3つの異なるメッセージがタイムトリガされないメッセージとして送信されるデータフローチャートを示す図である。
【
図7】タイムトリガされるメッセージが2つの計算機ノードから異なる期間により送信される、タイムトリガされるメッセージに対するスケジュールを示す図である。
【
図8】3つのタイムトリガされるメッセージと一つのタイムトリガされないメッセージが通信されるデータフローチャートを示す図である。
【
図9】4つの異なるメッセージがタイムトリガされないメッセージとして送信されるデータフローチャートを示す図である。
【
図10】タイムトリガされるリアルタイムメッセージとタイムトリガされないリアルタイムメッセージとの間での帯域幅の割り当てを概略的に示す図である。
【
図11】ブリッジの内部動作を概略的に示す図である。
【実施例】
【0051】
以下の具体的な例は、新規の方法の多数の可能な実施形態の一例である。
【0052】
図1は、従来技術から公知のコンピュータネットワークの一例を示す。このコンピュータネットワークは、3つの計算機ノード101,102,104を有し、これらの計算機ノードは、ブリッジ201の形のアクティブノードを介してメッセージを相互に交換する。このために計算機ノード101,102,104は通信線路を介して、好ましくは図示のような双方向通信線路301,302,304を介して前記ブリッジ201に接続されている。ブリッジ201は、IEEE802.1Q-2011規格を実現する。すなわちこのブリッジは、前記規格に対応し、または前記規格に従って動作する。交換される全てのメッセージは、イーサネット(登録商標)メッセージである。
【0053】
一つのアクティブノード(ないし能動素子、aktive Komponente)は、「ネットワークの知識(Wissen des Netzwerks)」と記憶方法を備える。このアクティブノードは、どこにメッセージを転送しなければならないかを知っている。一つの受動素子は例えばハブであって良く、メッセージを記憶せず、メッセージを正しくアドレスすることもしない。このようなハブは到来するメッセージを「一斉送信」するだけである。このようなアクティブノードは典型的にはいわゆる「ブリッジ」またはスイッチ、もしくは例えば相応の機能を備えるルータである。
【0054】
図2は、
図1のコンピュータネットワークのための通信方法を示す。ここではコンピュータネットワークはタイムトリガされる何れの通信も実施しないという前提が基礎とされる。この場合、一つの計算機ノード101と一つの計算機ノード102がメッセージ401,402をほぼ同一の時点で送信することがあり得、そのため両方のメッセージ401,402が第3の計算機ノード104にアドレスされる。この第3の計算機ノード104は一つの通信線路304だけを介して前記ブリッジ201に接続されているから、メッセージ401,402はブリッジ201により連続的に計算機ノード104に送信されなければならない。
図2の例では、最初にメッセージ401が送信され、その後に初めてメッセージ402が送信される。結果として、メッセージ401は待ち時間501を有し、メッセージ402は待ち時間502を有する。ここでこの待ち時間(時間単位で測定される)は、ブリッジ201におけるメッセージの受信開始の時点601からブリッジ201によるメッセージの転送完了までで測定される。規格IEEE802.1Qは、リアルタイムメッセージに対して、ブリッジ201での受信の間にオーバラップして良いメッセージの数が制限されていることを保証する。したがって、リアルタイムメッセージの送信待ち時間は、すでにIEEE802.1Q-2011コンピュータネットワークにおいて決定することができる。しかしこの解決手段の欠点は、送信できるリアルタイムメッセージの数が制限されていることである。
【0055】
図3は、本発明により拡張されたネットワークを示す。このネットワークは、通信線路301,302,303,304を介してブリッジ201に接続された4つの計算機ノード101,102,103,104を有する。このコンピュータネットワークでは、2つの計算機ノード101,103がタイムトリガされる通信を実施する。すなわちこれらの計算機ノードはタイムトリガされるメッセージを送信する。
【0056】
図4は、
図3に示されたコンピュータネットワークの計算機ノード101,103のためのスケジュールを示す。時間軸が
図4によれば時間期間に分割されており、各時間期間はCM時間インターバルCMI(以下、クラス測定インターバルCMIとも称する)の長さに相当する長さを有する。選択された例では4つのインターバルがそれぞれ125μsの持続時間により表されている。そしてスケジュールは、計算機ノードがメッセージを周期的に期間Pにより送信することを記述する。この期間Pは、この場合、クラス測定インターバルCMIの長さの2倍である。用語「クラス測定インターバルCMI」は、ここではIEEE802.1Q-2011規格に定義され、例えばSRクラスAの場合、CMIは125マイクロ秒にセットされるさらにスケジュールは、計算機ノード101,103がそれらのメッセージ401,403をそれぞれタイムディレイして、すなわち、一つのCMIクラス測定インターバルの長さを有する位相シフトにより送信するようにする。
【0057】
実質的に、一つのCM時間インターバル内でタイムトリガされる周期的なメッセージ401,403は、このような時間インターバルの任意のポイントで送信することができる(ここでノード101の種々のメッセージ401とノード103の種々のメッセージ403は、異なるCMI時間窓内の同一のポイントで常に発生する)。好ましくは、メッセージ401,40
3は、図示のようにCMIの開始時に送信される。これは、本発明の特に簡単で信頼性のある実施方法である。
【0058】
図4のスケジュール内には図示されていない、タイムトリガされないリアルタイムメッセージ402、例えばAVBメッセージは、非同期に「一つのCM時間インターバル内のタイムトリガされるメッセージの周辺で」送信される。この点で重要なことは、帯域幅制限である。なぜなら本発明によれば、タイムトリガされるメッセージとタイムトリガされないメッセージに対する帯域幅の総数が、リアルタイムメッセージに対して使用可能な規定の最大リアルタイム帯域幅を超えてはならないからである。
【0059】
SRクラスA形式のタイムトリガされないリアルタイムメッセージに対しては、使用可能な帯域幅の例えば75%を使用することができる。すなわち一つのCM時間インターバルCMI内では使用可能な帯域幅の実質的に75%しか、および/またはSRクラスAメッセージに対しては125マイクロ秒の75%を意味することになる使用可能時間しか使用が許可されない。本発明によりタイムトリガされる(リアルタイム)メッセージが付加的に導入されると、タイムトリガされないメッセージとタイムトリガされるメッセージとが、使用可能な帯域幅のこの75%を分け合う。この場合、この制限された帯域幅を、タイムトリガされるメッセージとタイムトリガされないメッセージとの間でどのように分割するかという比は実質的に任意である。
【0060】
一つのCM時間インターバルCMI内の「残りの」期間は、例えばメッセージ401が送信された後、75%までAVBメッセージにより、すなわちリアルタイムメッセージにより満たすことができ、残りの25%は、例えば標準イーサネット(登録商標)メッセージである(ベストエフォートトラフィック)。この模式的概観が
図10に図示されている。
【0061】
図5は、
図3に図示され、
図4のスケジュールに従って構築されたコンピュータネットワークの通信挙動を示す。ここでデータフローチャートの左部分は、
図2のデータフローチャートに正確に対応する。計算機ノード102はタイムトリガのやり方では通信しないから、
図5の左側に示されるように一つの可能なシナリオは、計算機ノード102の一つのメッセージが、タイムトリガされて通信する計算機ノード101のメッセージ401とほぼ同一の時点601で、ブリッジ201の形のアクティブノードに到着することである。メッセージ401は、例えば
図4の一番左に示されるメッセージ401である。
【0062】
対応してブリッジ201は、メッセージ401,402を連続的に通信チャネル(通信線路)304を介して計算機ノード104に送信する。
【0063】
メッセージ401は待ち時間501を有し、メッセージ402は待ち時間502を有する。
【0064】
この場合、ブリッジ201は、どの順序で2つのメッセージ401,402が送信されるかをランダムに選択するができる。またはブリッジ201は自分のスケジュールを有しており、このスケジュールが、近似的に同時に到着するメッセージをどの順序で送信すべきかを規定する。
【0065】
さらに
図5は右側に、時点601より後の期間CMIである時点602を示す。ここには、IEEE802.1Q-2011規格だけの場合と比較した本発明および本発明の方法の利点が示されている。この右部分でブリッジ201は、2つの計算機ノード102,103からほぼ同一の時点602で(タイムトリガされない)メッセージ402と(タイムトリガされる)メッセージ403を受信する。しかし、計算機ノード101のメッセージ401もほぼ同一の時点で受信することは不可能である。なぜなら、
図4に示すように、タイムトリガされる通信のスケジュールが、計算機ノード101のメッセージ401を、次のCMIでしか再度供給しないからである。したがって、両方のメッセージ401,403ではなくメッセージ401またはメッセージ403だけがメッセージ402と同一の時点で衝突する(すなわち現れる)ことになるため、付加的なメッセージ403は、
図2にメッセージ402に対して図示された通信シナリオに関連する付加的な待ち時間を生じさせない。なぜなら、
図5の右部分から分かるように、メッセージ403が待ち時間503を有し、メッセージ402が待ち時間502を有するからである(メッセージ401とメッセージ403が同一の長さを有することを前提として)。したがって、
図5は例として、本発明によれば、例えば3つのメッセージ401,402,403がある場合、
図2により2つのメッセージしか存在しない箇所では、タイムトリガされないメッセージ402の待ち時間が損なわれないことを示す。したがって、
図5は、タイムトリガされる通信により、リアルタイムメッセージの既存の待ち時間特性に影響することなく、より多くのリアルタイムメッセージをどのようにして送信することができるかを示す。
【0066】
ブリッジの形のアクティブノードは、メッセージを記憶し、これらを連続的に転送する。本発明によれば、タイムトリガされるメッセージをスケジュールすることにより、タイムトリガされるメッセージが前記ブリッジによってほぼ同時に、またはオーバラップする時間窓内で受信されることが不可能となる。さらに本発明により、
図5に例として示された状況において、タイムトリガされないメッセージは、タイムトリガされる一つのメッセージによってだけそれぞれ遅延され得るが、タイムトリガされないメッセージが、2つまたはそれ以上のタイムトリガされるメッセージによって遅延されることは、本発明により
図5に図示の状況ではあり得ない。
【0067】
一般的に、タイムトリガされないメッセージは、タイムトリガされる最大数のメッセージによってだけ遅延されると結論づけることができ、この最大数はスケジュールから生じる。例えばN個のタイムトリガされるメッセージが直接連続してスケジュールされる場合、このことは、ブリッジがこのN個のタイムトリガされるリアルタイムメッセージを直接連続して受信することを意味する。スケジュールが、引き続きタイムトリガされないメッセージが十分に長い時間の間スケジュールされるよう規定していれば、タイムトリガされないメッセージを処理することができる。したがって、タイムトリガされるメッセージによるタイムトリガされないリアルタイムメッセージの遅延は、タイムトリガされるリアルタイムメッセージのスケジュールに基づいて計算することができる。
【0068】
用語「同時に」または「ほぼ同時に」とは、ブリッジによる2つのメッセージの転送時点が互いに影響し合う場合、すなわち一方のメッセージの転送が、他方のメッセージによって遅延され得る場合、前記2つのメッセージは「同時に」または「ほぼ同時に」受信されることを意味すると理解すべきである。これは、メッセージのブリッジ(アクティブノード)への「同時の」、「ほぼ同時の」または「ほぼ同時点での」転送と呼ばれる。
【0069】
本発明をさらにより良く理解するために、
図6は、3つの異なるメッセージ401,402,403が同様に送信されるデータフローチャートを示す。しかし
図5とは異なり、
図6では3つ全てのメッセージ401,402,403がタイムトリガされない。したがって、
図6が示すように、3つ全てのメッセージ401,402,403がブリッジによりほぼ同時点で、またはオーバラップする時間窓601で受信されることが可能である。
図6に示されるように最悪の場合、メッセージ403は、2つのメッセージ401,402によって2つのメッセージ401,402の長さの持続時間だけ遅延される。
【0070】
ここで
図6は、一例としてのシナリオだけを示す。メッセージはタイムトリガされず、優先度も付与されていないので、ブリッジによるメッセージの送信順序は決定されていない。したがって、待ち時間に関しては、最悪の場合、3つのメッセージ401,402,403の何れか一つが2つのメッセージにより遅延され得ることを前提としなければならない。
【0071】
図7は、本発明によりタイムトリガされるメッセージ401,403に対する別のスケジュールを示す。このスケジュールでは、タイムトリガされるメッセージ401,403が、2つの計算機ノードにより、一方の計算機ノードのメッセージ403がCM時間インターバル(クラス測定インターバル)CMIの期間P2により送信され、他方の計算機ノードのメッセージ401が、クラス測定インターバルCMIの持続期間の2倍である期間P1により送信されるようにスケジュールされている。
【0072】
このスケジュールはさらに、異なってタイムトリガされるメッセージ401,403に対する時点が、異なってタイムトリガされるメッセージ401,403が一つのクラス測定インターバルCMI内で発生することに基づき、これらタイムトリガされるメッセージ401,403が衝突しないようにスケジュールされている、すなわち、これらが同時には発生しないようにスケジュールされていることを規定する。この目的のために例えば、タイムトリガされるメッセージ403の期間は、タイムトリガされるメッセージ401の持続時間のちょうど経過後に、または早くとも経過後に開始するように規定されている。
【0073】
さらに好ましくは、2つのメッセージ401,403が、クラス測定インターバルCMIの開始時に前後して(nacheinander、引き続いて)発生するよう規定されている。
【0074】
図8は、
図7のスケジュールが実現されているデータフローチャートを示す。
図8によれば、3つのタイムトリガされるメッセージ401,403,404と、一つのタイムトリガされないメッセージ402が通信される。タイムトリガされるメッセージ403は、クラス測定インターバルCMIと同一の期間を有し、第2と第3のタイムトリガされるメッセージ401,404はそれぞれ、一つのCMIの2倍に等しい期間を有する。メッセージ401とメッセージ404は、一期間長の半分だけオフセットされて、すなわちクラス測定インターバルCMIの長さだけオフセットされて送信される。
【0075】
タイムトリガされないメッセージ402に対しては、これがクラス測定インターバルCMIの期間で送信されることが前提となる。
図8の左側に示されるように、ブリッジはほぼ同一の時点601でタイムトリガされないメッセージ402とタイムトリガされるメッセージ401を受信し、これにタイムトリガされるメッセージ403が、
図7のスケジュールにより規定される時点601’で続く。これら3つのメッセージはブリッジにより、これらメッセージ401,402,403に対する待ち時間501,502,503により転送される。メッセージの図示の順序は単なる例として用いられるが、メッセージ401,402,403の最大待ち時間(図示の例ではメッセージ403に対する最大待ち時間)が、2つのメッセージの長さであることが良く分かる。
【0076】
図8の右側は、クラス測定インターバルCMIの長さだけ遅延されて時点601の後にある時点602で、タイムトリガされないメッセージ402とタイムトリガされるメッセージ404が、ブリッジによってほぼ同時点に受信され、それにタイムトリガされるメッセージ403が(時点602’で)、
図7のスケジュールにより規定されるように続いていることを示す。ここでもメッセージ402,403,404の最大待ち時間、図示の場合、メッセージ403に対する最大待ち時間は、2つのメッセージの長さである。
【0077】
図9は、4つのメッセージ401,402,403,404が同様に通信されるが、4つ全てのメッセージが公知のようにタイムトリガされないデータフローチャートを比較のために示す。
図8とは異なり
図9は(
図6と同じように)、4つ全てのメッセージ401,402,403,404がブリッジによってほぼ同時点に受信されるシナリオを示す。このようなシナリオが考えられるのは、メッセージがタイムトリガされないからである。図示のようにこの場合の最大待ち時間は、図示の例ではメッセージ404に対する最大待ち時間は、3つのメッセージの長さであり、したがって、最大待ち時間は、
図8に図示の場合よりも長い。
【0078】
図10は、125μsインターバルが、タイムトリガされ、かつイベントトリガされる通信に対するサブインターバルに分割されている例を示す。この例では、通信線路の帯域幅の75%の全てをAVB通信のために使用できることが前提とされる。これは各125μsインターバルにおいて93.25μsの値に相当する。この93.25μsインターバルの各々において、長さxの一つのインターバルだけがタイムトリガされる通信に対して使用され、一方、93.25−xの長さを備える残りのインターバルはイベントトリガされる通信に対して使用される。
【0079】
最後に
図11は、ブリッジ201の内部機能原理を模式的に示す。ブリッジ201は、到来する通信線路1101を介してメッセージを入力ポート1201で受信する。このブリッジは、到来するメッセージを優先度に従って分類し、これらに一つまたは複数のポート1301の論理待ち行列1401,1402,1403を割り当てる。この例では一つのポート1301とこのような3つの待ち行列1401,1402,1403が図示されている。ポートごとに待ち行列のそれぞれ一つには、一義的な優先度が割り当てられている。
図11は、上昇的優先度の割り当ての例を示し、待ち行列1401(最低優先度)、待ち行列1402、待ち行列1403(最高優先度)である。これらの優先度は、ポート1301を介して通信リンク1501に送信すべき次のメッセージを選択する際に考慮される。
【符号の説明】
【0080】
101,102,
103,104 計算機ノード
201 ブリッジ(Bridge)、アクティブノード
301,302,303,304 通信線路
401,402,403,404 メッセージ
501,502,503,504 待ち時間(Latenz)
601,601’,602
、602’ 時点
1101 通信線路
1201 入力ポート
1301 ポート
1401,1402,1403 待ち行列(Queue)
1501 通信リンク
CMI CM時間インターバル
P,P1,P2 期間