JP2002520950A - ミドルウェアベース・リアルタイム通信システム - Google Patents

ミドルウェアベース・リアルタイム通信システム

Info

Publication number
JP2002520950A
JP2002520950A JP2000559677A JP2000559677A JP2002520950A JP 2002520950 A JP2002520950 A JP 2002520950A JP 2000559677 A JP2000559677 A JP 2000559677A JP 2000559677 A JP2000559677 A JP 2000559677A JP 2002520950 A JP2002520950 A JP 2002520950A
Authority
JP
Japan
Prior art keywords
real
time
network
protocol
traffic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000559677A
Other languages
English (en)
Inventor
ファン,ジャンドン
チェン,ドンフィ
Original Assignee
ハネウエル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ハネウエル・インコーポレーテッド filed Critical ハネウエル・インコーポレーテッド
Publication of JP2002520950A publication Critical patent/JP2002520950A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/626Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6445Admission control
    • H04L2012/6448Medium Access Control [MAC]
    • H04L2012/6454Random, e.g. Ethernet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6464Priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 従来のイーサネット・ネットワークを介して決定性の、すなわち予測可能な通信サービスを提供するリアルタイム・イーサネットを実施するためのミドルウェア手法が記述される。本発明は、ネットワーク・インターフェース・デバイスおよびデバイス・ドライバの上方にあり、しかしシステム移送サービスおよび/またはユーザ・アプリケーションの下方にある。ミドルウェアは、ネットワーク上へのデータ・パケットの認可をスケジュールして制御し、データ・パケットのリアルタイム制約を、それらが認可されたときに保証する。本発明は、リアルタイム・データの伝送中のデータ・ストリームの衝突を妨げ、それでも、帯域幅の利用を改良するためのソフトまたは非リアルタイム・データの伝送中の衝突を許すことができる。本発明はさらに、スケジューリング決定にサービス品質定義を組み込むことによって帯域幅利用を最適化することができる。

Description

【発明の詳細な説明】
【0001】 本特許文書の開示の一部は、著作権保護を受けている素材を含む。著作権所有
者は、特許開示の任意の1つによるそのままの複写に対し、それが米国特許商標
庁特許ファイルまたは記録に現れるときには異議をもたず、しかしその他の場合
にはいかなる無断転載も禁ずる。
【0002】 (発明の分野) 本発明は、ネットワーク・データ通信に関し、特に、リアルタイム・イーサネ
ットを実施するためのミドルウェア手法に関する。
【0003】 (発明の背景) コンピュータ・ネットワークは、ビジネスおよび産業を通じて広く普及してい
る。それらは、一箇所で、または複数の場所にわたって複数のコンピュータをリ
ンクするために使用されている。
【0004】 ネットワークは、あるコンピュータから別のコンピュータへデータを伝送する
ため、すなわちトラフィックのための通信チャネルを提供する。ネットワークの
用途は無限にあり、単一データまたはファイル転送、遠隔オーディオまたはビデ
オ、マルチメディア会議、工業用制御などが挙げられる。
【0005】 おそらく、最も普及しているネットワーク・プロトコルはイーサネット、すな
わちコンピュータ通信またはコンピュータ間ファイル転送に対する高速端末用の
ローカル・エリア・ネットワーク仕様である。イーサネット通信プロトコルは、
データ通信チャネルまたはバス、典型的にはツイスト・ペアまたは同軸ケーブル
にわたるデータ転送を可能にし、かつそれに対処する。
【0006】 イーサネット通信プロトコルは、ローカル・エリア・ネットワーク(LAN)
を介する通信に関するIEEE802.3標準として標準化された。このプロト
コルは、1持続性、キャリア検知多重アクセス/衝突検出(CSMA/CD)プ
ロトコルを組み込み、これは、共有ネットワークの1つまたは複数のノードが、
もしそれらが伝送するデータ・パケットを有すると、チャネルを監視し、チャネ
ルがアイドル状態であることを検出するとすぐにそのパケットを伝送することが
できることを意味する。
【0007】 データ・パケットの「衝突」は、2つ以上のノードがネットワーク上で同時に
伝送し始める場合に生じる。衝突しているノードは、そのようなデータの衝突を
検出して、伝送するのを止め、ランダムに決定された時間枠だけ待機してから、
再び伝送を試みる。現行標準下では、ノードが、そのデータ・パケットを衝突を
起こさずに伝送することを試みて、16回不成功になった後に、障害が生成され
ることになる。
【0008】 軽い負荷の条件のもとでは、衝突はあまり頻繁ではなく、解決が早い。しかし
、負荷が重いと、アクセス時間が不確定になる可能性がある。あるアプリケーシ
ョンがデータ転送時の衝突およびその結果生じる遅延を比較的受けにくい一方、
あるアプリケーションは、時間感受性があり、そのためデータ・パケットの衝突
が望ましくない、さらには受け入れることができない。そのような時間感受性ま
たはリアルタイム適用分野の例としては、遠隔ビデオや、工業プロセス機器の制
御が挙げられる。いくつかの適用分野で、衝突を回避し、正常な送信および受信
を保証することを必要とされることが、イーサネットに様々な改良をもたらして
きた。
【0009】 1つのイーサネット改良は、IEEE802.4(トークン・バス)または8
02.5(トークン・リング)の下で標準化されているトークンベース・プロト
コルである。これら2つの標準の基本的な相違点は、それぞれがアドレス指定す
るように設計されているネットワーク・トポロジにある。トークン・バスは、ノ
ードが論理的リングを形成するネットワークをアドレス指定する。トークン・リ
ングは、ノードが物理的リングを形成するネットワークをアドレス指定する。
【0010】 トークンベース・プロトコルは、ネットワークをたどってあらゆるノードに渡
される「トークン」を生成する。これらのプロトコルは、ノードがトークンを所
持している状態にあるときにのみデータ伝送を可能にし、各ノードが、データを
伝送するために、固定された時間を与えられる。この伝送時間はさらに、様々な
優先順位レベルに関係する複数のセグメントまたはタイマに分割される。これら
の優先順位レベルは、様々なデータ・ストリームに対し、その重要度および時間
感受性に応じて割り当てることができる。ノードは、所与の優先順位レベルのデ
ータのみを、その当該のタイマ中に伝送することができる。この手法の下では、
リアルタイム・データに、衝突の起こらない帯域幅の一部分を保証することがで
きる。しかし、このトークンベース・プロトコルのいくつかは、他のノードがそ
れらの帯域幅を完全に、さらには任意に使用するかどうかにかかわらず、所与の
ノードに帯域幅のその固定された割当分のみを与えることがある。
【0011】 これらのトークンベース・プロトコルに対する改良も提案されてきた。一例と
して、トークンベース・プロトコルを利用するUNIXプラットフォームで実施
されるソフトウェア指向リアルタイム・イーサネットに関するアカデミック・プ
ロトタイプが提案されている(Chitra Venkatramani「Th
e Design,Implementation and Evaluati
on of RETHER:A Real−Time Ethernet Pr
otocol」Ph.D.Dissertation,State Unive
rsity of New York,January 1997参照のこと)
。しかし、RETHERは単に、任意のノードによって送信すべきリアル・タイ
ム・トラフィックがそれ以上存在しないときに、非リアル・タイム・トラフィッ
クを行いうるにすぎない。ネットワーク上のトラフィックのタイプによっては、
これが、非リアル・タイム・トラフィックに関するオーバーヘッドを渡すトーク
ンによる低いネットワーク・スループットおよび利用をもたらし、激しいリアル
・タイム・トラフィックをサポートしなかった。
【0012】 別の従来の解決策は、ハードウェア・ベースのものである。この手法の下では
、データ・パケット衝突はハードウェアによって回避される。このハードウェア
ベースの解決策は、厳しい性能および信頼性要件に見合うように、航空機産業な
どのいくつかの重要なリアルタイム適用分野に必要である。しかし、そのような
解決策は、メーカ独自の、ベンダ依存のものであり、それがこの解決策を実施す
ることを困難にし、費用のかかるものにしている。ハードウェアベースの解決策
は、多くの既存のイーサネット・ネットワークに不適合である可能性があり、コ
ストのかかる複雑な変更を必要とする。さらに、これらのハードウェア解決策は
衝突を防止するが、システム全体のリアルタイム・トラフィックのスケジューリ
ングを提供しない。どちらの解決策も、既存のハードウェアまたはソフトウェア
の変更を必要とする。
【0013】 したがって、衝突を防止するため、および既存のイーサネット・ネットワーク
で実施することができ、各種のCOTS(commercial−off−th
e−shelf)ハードウェアおよびアプリケーションに適合するイーサネット
を介するリアルタイム・トラフィックを保証するための効率の良い決定性サービ
スが求められている。そのような解決策は、プロセス制御ネットワーク、時間感
受性マルチメディア、およびインターネット・アプリケーションに必要とされる
【0014】 (発明の概要) リアルタイム・イーサネットを実施するためのミドルウェア手法は、データの
パケットを伝送することを望む複数のノードを有する従来のイーサネット・ネッ
トワークを介するリアル・タイム・トラフィックと非リアル・タイム・トラフィ
ックの両方に関する決定性の、すなわち予測可能な通信サービスを提供する。ミ
ドルウェアは、ネットワーク・インターフェース・デバイスおよびデバイス・ド
ライバの上方にあり、しかしシステム転送サービスおよび/またはユーザ・アプ
リケーションの下方にあるコンピュータ・ソフトウェアを備える。本発明は、イ
ーサネットを実施する既存のハードウェアに対する変更を必要としないミドルウ
ェア・リアルタイム・イーサネット、すなわちMRTEを提供する。
【0015】 一実施態様では、イーサネット帯域幅が複数のサイクルに分割される。各サイ
クル中、衝突が生じる可能性がないように、例えばトークンを渡すことによって
決定性スケジューリング・プロトコルを使用して、リアル・タイム・データ・パ
ケット・トラフィックに関する第1の時間間隔が用意される。第2の時間間隔中
、標準キャリア検知、多重アクセス、衝突検出イーサネット・プロトコルが、非
リアル・タイム・トラフィックに使用される。これら2つの時間間隔を使用する
ことによって、リアル・タイム・トラフィックと非リアル・タイム・トラフィッ
クの間で帯域幅が共用され、両方が所望の帯域幅を受け取ることを保証する。
【0016】 一実施形態では、別々の待ち行列が決定性スケジューリングに使用されて、(
1)サービスを伝送することを認可されたときにリアルタイム・トラフィックを
保証することができるように、(2)非リアルタイム・トラフィックを提供する
ことができるように、かつ(3)イーサネット帯域幅利用を最適化することがで
きるように、各ノードでのパケット待ち行列化および伝送の順序を決定する。
【0017】 サービス品質、QoS、により、ネットワーク帯域幅利用可能性とネットワー
ク伝送品質の間のオンライン・トレードオフを行うことが可能になる。QoSの
例としては、(1)あるタイム・スロット中にソフトまたは非リアルタイム・ト
ラフィックによってイーサネットが共用されるときのパケット衝突の程度、(2
)終端間パケット伝送待ち時間が挙げられる。
【0018】 QoSが用いられるとき、毎秒30フレームのビデオなどの周期性データに、
優先順位または重要度を与えることができ、例えば1行で最大4フレームの累積
損失ファクタを廃棄することができる。より高い優先順位のタスクまたはデータ
・ストリームが処理された後に帯域幅が十分に残っている場合、ビデオがリアル
・タイム待ち行列に受け入れられることになり、少なくとも毎秒5フレームが送
信される。他のタスクが削除される、または減少される場合、このフレーム率は
増大する。
【0019】 ソフトウェア構造化が、イーサネット・ネットワーク・デバイスおよびデバイ
ス・ドライバの上方にあり、システム転送ソフトウェアおよび/またはユーザ・
アプリケーションの下方にあるリアルタイム・イーサネット・ミドルウェアのホ
スティングを可能にする。そのようなソフトウェア・ホストの具体的な例は、M
icrosoft(登録商標)NT(登録商標)ベースのパーソナル・コンピュ
ータ・プラットフォーム上でデバイス・ドライバ・キット(DDK)を備えるM
icrosoft(登録商標)ネットワーク・デバイス・インターフェース仕様
(NDIS)である。選択される特定のハードウェアに応じて、多くの他のソフ
トウェア・ホストが利用可能である。
【0020】 衝突回避モジュールは、伝送がトラフィック衝突を生じないことを保証する。
衝突回避モジュールは、イーサネット・トラフィックが衝突するのを防止する能
力を与える衝突回避プロトコルを実装している。これは非決定性イーサネット挙
動の問題の1つの解決策である。そのようなプロトコルの具体的な例は、トーク
ンベース・プロトコルであり、これによってイーサネット・ノード間で循環する
トークンが、任意の時点でどのノードがパケットを伝送するかを決定する。時分
割多重接続(TDMA)、時分割多重化(TDM)を使用する技法の様々な例な
ど他の衝突回避プロトコルを本発明と共に使用することができる。プロトコルま
たは標準は、任意の所与の時間での2つ以上のノードによるデータ伝送間の競合
を回避するための機構を提供する。
【0021】 一実施形態では、衝突回避プロトコルは、望みに応じて、決定性スケジューリ
ング・モジュールによってイネーブルする、またはディスエーブルするように切
換え可能である。これにより、本発明は、リアルタイム・トラフィックの衝突が
ないことを保証し、それでもソフトおよび非リアルタイム・トラフィックの衝突
を許すことができるようになる。そのような混合モード操作は、ソフトおよび非
リアルタイム・トラフィックに割り振られた時間枠中の負荷に応じて、より大き
な帯域幅の利用をもたらすことができる。軽い負荷のCSMA/CDシステムは
、衝突回避プロトコルで動作するシステムよりも効率が良くなる場合がある。
【0022】 衝突回避プロトコルはアクティブであるが、伝送するノードの完全な回転に関
して設定される時間に制限がある。トークンベース・プロトコルの場合には、ト
ークンは、この制限された時間、またはトークン回転時間中に戻らなければなら
ない。
【0023】 各衝突回避プロトコル(トークン・ベースまたはTDMA)ごとに、決定性ス
ケジューリング・モジュールが、トラフィックをスケジュールするためにあるア
ルゴリズムを使用し、デッドラインが終了する前に伝送が行われることを保証す
る。
【0024】 本発明のさらなる実施態様では、個々のブリッジまたはノードに対する帯域幅
の割振りが、ネットワーク中の他のブリッジまたはノードによる帯域幅の活用が
不十分なことに基づいて増大する。
【0025】 本発明の利点は、IEEE802.3標準に適合したままであることである。
そのような適合により、本発明を、ハードウェアの変更を必要とせずに、したが
って開放型システムを維持したままで多数の標準イーサネット・ネットワークで
実施することができるようになる。
【0026】 本発明のさらなる利点は、性質上、モジュラ方式であることである。したがっ
て、本発明は、様々な衝突回避プロトコルと、決定性スケジューリング・アルゴ
リズムと、QoS折衝および適合方針およびアルゴリズムとを使用して実施する
ことができる。
【0027】 ソフトウェア手法と同様、本発明はまた、リアルタイム・イーサネット用の任
意のCOTSイーサネット・カードおよびドライバの使用を可能にする。特定の
ベンダ・イーサネット・カードおよびドライバの使用は、アプリケーションにト
ランスペアレントであり、そのため本発明をベンダ相互操作性があり、システム
構成柔軟性があり、ネットワーク・ユーザに対して低コストなものにする。
【0028】 (実施形態の説明) 下記の詳細な説明では、本明細書の一部分を成し、本発明が実施され得る特定
の実施形態を例示するために示されている、付随の図面への参照が行われる。こ
れらの実施形態は、当技術分野の専門家が本発明を実施できるようにするのに十
分な程度の詳細で説明される。また、本発明の趣旨および範囲を逸脱することな
く、他の実施形態を利用することができ、構造上、論理上、電気上の変更を行い
得ることを理解されたい。したがって、下記の詳細な説明は、限定として理解さ
れるべきものではなく、本発明の範囲は、添付の請求項の範囲によって定義され
ている。図中の同じの番号は、同じコンポーネントを指し、このことは、使用の
コンテキストから明白となる。
【0029】 図1は、本発明を組み込んだイーサネット・ネットワークの概念図を示してい
る。イーサネット・ネットワーク100はイーサネット・チャネル110を備え
ている。イーサネット・ネットワーク100はさらに、イーサーネット・チャネ
ル110を通じてデータを受信および送信するため、ドロップ130を介してイ
ーサネット・チャネル110に接続された2つまたはそれより多くのノード12
0を含んでいる。ノード120は、アプリケーション層140、ミドルウェア・
リアルタイム・イーサネット(MRTE)層150、およびイーサネット・プロ
トコル層160を含んでいる。アプリケーション層140とMRTE層150は
直接通信を行い、MRTE層150とイーサネット・プロトコル層160は直接
通信を行うが、アプリケーション層140とイーサネット・プロトコル層160
は、MRTE層150を介してのみ通信を行う。
【0030】 図2Aは、ノード120の層のより詳細を示している。詳細には、MRTE層
150は論理的に、他のノードに送信するためにアプリケーション層140内で
生成されたデータ・トラフィックまたはパケットのための、一対の待ち行列を含
んでいる。第1待ち行列は、リアルタイムでの送信のために受け入れらた情報パ
ケットを待ち行列に入れるためのリアルタイム待ち行列152からなる。言い換
えれば、この待ち行列内のパケットは、ネットワーク障害がない限り、衝突なし
に送信されることが保証されている。リアルタイム待ち行列152は、トラフィ
ックを重要度に基づいてソートしている。第2待ち行列は、受信ノードにとって
価値をもつのにリアルタイムで宛先に着信する必要のないデータ・パケットに対
する非リアルタイム待ち行列を含んでいる。第2待ち行列154は、先入れ先出
し法によってソートされている。待ち行列は、適切なソフトウェアと物理的に別
個であることも、組み合わされていることも可能である。これらの待ち行列は両
方とも、先入れ先出し法スケジューリング・アルゴリズムをもった標準イーサネ
ット衝突待ち行列162に入る。アプリケーション層140内のアプリケーショ
ンは、望みに応じて、これらの待ち行列のいずれかにデータを割り振る。
【0031】 任意の反復時間サイクルごとに、第1時間枠の間にネットワーク上での衝突が
回避されたリアルタイム待ち行列内のパケットに対する決定性スケジュールを実
施し、第2時間枠の間に非リアルタイム待ち行列154から得られた非リアルタ
イム・パケットを標準イーサネット・プロトコルに送信させるように、MRTE
層150は帯域幅パーティション・スキームが実装されている。
【0032】 図2Bでは、MRTE層150をより詳細に表わしたノードが示され、詳細に
は、リアルタイム待ち行列が、衝突回避を提供するのにどのように管理されてい
るかを示している。アプリケーション層140では、アプリケーション205が
サービス・プロバイダ210と連結されている。実際には、アプリケーション2
05は、データ・パケットの最終的ソース(送信者)または宛先(受信者)とし
て動作する。サービス・プロバイダ210は、アプリケーション205とMRT
E層150の間のインターフェースとしての役割を果たす。
【0033】 MRTE層150はさらに、QoS適応サービス215と決定性スケジューリ
ング・サービス220に分割されており、一実施形態では、この両方が、ソフト
ウェア・モジュールまたはオブジェクト内に実装される。QoS適応サービス2
15は、QoSマネージャ225およびQoS適応アルゴリズム230を含む。
QoSマネージャ225およびそれに関連するQoS適応アルゴリズム230は
、非リアルタイム・データ・トラフィックの所用時間を変更したり、非リアルタ
イム・トラフィックのための帯域幅とのバランスで、優先度の高いリアルタイム
・トラフィックに対して衝突の起きない十分な帯域幅の提供を確実に行うために
、低重要度のトラフィックをサスペンドするなどの、QoSに基づいた交渉およ
び適応を行う。
【0034】 決定性スケジューリング・サービス250は、衝突解決プロトコル235、M
RTEプロトコル240、ならびにMRTEスケジューラ245およびそれに関
連する決定性スケジューリング・アルゴリズム250およびMRTEリポジトリ
225を含む。決定性スケジューリング・サービス220はさらに、イーサネッ
ト・プロトコル層160に対してMRTE層をホストまたはインターフェースす
るソフトウェア構造化260を含む。MRTEプロトコル240は、衝突解決プ
ロトコル235の助けを借りて、データ・パケットの衝突を回避する仲裁を実施
する。データ・パケット送信の役割を果たしているイーサネット構成ごとに1つ
のプロトコルが存在する。MRTEスケジューラ245は、決定性スケジューリ
ング・アルゴリズム250の助けを借りて、スケジューリング分析を提供して、
個々のノード間での分散スケジューリングを調整する。イーサネット構成ごとに
1つのスケジューリング・アルゴリズムが存在する。MRTEスケジューラ24
5は、大域的なスケジューリング情報のローカル・イメージを格納するために、
MRTEリポジトリ255を使用する。
【0035】 イーサネット・プロトコル層160は、イーサネット・チャネル110への物
理的接続および通信のためのイーサネット・カード(図示せず)をサポートする
、イーサネット・ドライバ265を含む。図2Bは、サービス・プロバイダ21
0をMRTEプロトコル240へ、次にソフトウェア構造化260へ、次にイー
サネット・ドライバ265へと接続する、両方向データ・フローを描いている。
図2Bはさらに、MRTEプロトコル240を衝突解決プロトコル235および
MRTEスケジューラ245に接続する制御フローを描いている。MRTEスケ
ジューラはさらに、アプリケーション205、QoSマネージャ225、および
決定性スケジューリング・アルゴリズム250とのフロー通信を制御する。決定
性スケジューリング・アルゴリズムは、QoSマネージャ225との通信のフロ
ーを制御する。QoSマネージャはさらに、アプリケーション205およびQo
S適応アルゴリズム230との通信のフローを制御する。
【0036】 図2Bに描かれる様々なコンポーネントはさらに、表1に示されるとおり、ソ
フトウェア・オブジェクトとして表わすことができる。個々のソフトウェア・オ
ブジェクトは、アプリケーション・プログラミング・インターフェース(API
)コールを介して通信を行う。各オブジェクトと関連付けられたコールが、図1
でリストされている。
【表1】
【0037】 ネットワークへのアドミッション制御は、2つの方法のうちの1つで開始する
ことができる。アドミッションは、アプリケーションによって要求され得る、ま
たはスケジューラ割り込みによって開始され得る。図3および4は、アドミッシ
ョンを制御する上での様々なコンポーネントの動作を描いている。
【0038】 図3は、アプリケーション要求に応答する動作を描いている。アプリケーショ
ン205は、ネットワークを介してデータを送信する要望を示すため、MRTE
サービス・プロバイダにAdmit()コールを行う。MRTEサービス・プロ
バイダ210の方は、MRTEスケジューラ245にAdmit()コールを転
送する。次にMRTEスケジュールが、アドミッションの要求が保留中であるこ
とを示すために、MRTEプロトコル240にGetPermission()
コールを呼び出す。
【0039】 図4は、スケジューラ割り込みに応答する動作を描いている。割り込みは、選
択された衝突回避プロトコルによって指示される形式で、最初にMRTEプロト
コル240によって受信される。トークンに基づくプロトコルの場合は、割り込
みはソフトウェア構造化260から受信されて、個々のノードによるトークンの
受信を示す。TDMAに基づくプロトコルの場合は、割り込みはTDMAタイマ
(図示せず)によって生成されて、タイムスロットが個々のノードによるデータ
送信に対して適切であることを示す。割り込みを受信すると、MRTEプロトコ
ル240は、MRTEスケジューラ245にIndicatePermissi
on()コールを行う。MRTEスケジューラは次に、ネットワーク状況情報を
得るためにMRTEリポジトリ255にGet()コールを行う。MRTEスケ
ジューラ245は次に、決定性スケジューリング・アルゴリズムにSchedu
le()コールを行う。MRTEリポジトリ255は、ネットワーク状況をMR
TEスケジューラ245に提供するために、Update()コールを発行し、
これが次にMRTEスケジューラ245によって発行されたUpdate()コ
ールを介してMRTEプロトコル240に転送される。
【0040】 ネットワーク状況情報でMRTEプロトコル240を更新すると、MRTEス
ケジューラ245は、ネットワークへのアドミッションが可能になったことを合
図するため、MRTEサービス・プロバイダ210にIndicateAdmi
t()コールを行う。MRTEサービス・プロバイダ210は次に、Indic
ateAdmit()コールをアプリケーション205に転送する。
【0041】 図5は、QoSマネージャ225の一般的動作を表わす流れ図である。一実施
形態は、この動作はソフトウェア内にC++言語で実装され、その動作を記述す
るのに使用される論理ブロックと正確に一致することも、一致していないことも
可能な複数のオブジェクトを含む。当技術分野で周知のとおり、他の実施形態で
は、別の言語ならびに異なるプログラミング・スタイルおよびハードウェアまた
はファームウェアを使用することができる。QoSマネージャは、開始ブロック
またはボックス510、動作ボックス515、525、535、550、555
、565、および判断ボックス520、530、540、545、560によっ
て表わされている。QoSマネージャ225の初期化は、開始ボックス510で
の新しいトラフィック・セッションの着信によって示されている。他のノードに
送信されるべき既知の数または周波数およびサイズのパケットを含んだ着信セッ
ションは、動作ボックス515で、QoS領域内でスケジュールされる。セッシ
ョンがスケジュール可能であるかどうかについて、判断ボックス520で決定さ
れる。セッションがスケジュール可能な場合、フローは、そのセッションのアド
ミッションのために動作ボックス550に移る。
【0042】 この時点でセッションがスケジュール可能ではない場合、動作ボックス525
で他のセッションのQoSが削減され得る。この処理は、サービスを受けている
特定のアプリケーションに高度に依存している。当技術分野で周知のとおり、通
常、どのアプリケーションでもそれに関連して、容易にQoSに適応可能な、多
数の異なるレベルの重要度をもったデータが存在する。アドミッションの判断は
判断ボックス530で行われることになる。セッションがスケジュール可能であ
る場合、そのセッションのアドミッションのために、フローが動作ボックス55
0に移る。スケジュール可能性処理およびアドミッション処理に関するさらなる
詳細を下記に提供する
【0043】 この時点でセッションがスケジュール可能でない場合、QoSマネージャ22
5は、重要度のより低いセッションをサスペンドすることができる。次にアドミ
ッション判断が、判断ボックス540で行われる。セッションがスケジュール可
能な場合、そのセッションのアドミッションのために、フローは動作ボックス5
50に移る。
【0044】 この時点でセッションがスケジュール可能な場合、そのセッションのために、
より高いQoSを使用してスケジューリングが再交渉されるべきかどうかについ
て、判断ボックス545で決定されなければならない。再交渉が必要な場合、ス
ケジューリング分析を繰り返すために、フローは動作ボックス515に移る。再
交渉が必要ではない場合、待ち行列に入れるために、フローは判断ボックス56
0に移る。
【0045】 動作ボックス550でトラフィック・セッションのアドミッションが行われる
と、このセッションは動作ボックス555によって送信される。動作ボックス5
55によってセッションが送信されると、判断ボックス560が、アドミッショ
ンが行われていない、または待ちセッションが存在するかどうか評価することに
なる。待ちセッションが存在する場合、フローは動作ボックス565に転送され
て、そこで最も重要度の高い待ちセッションが選択される。フローは次に、動作
ボックス515に転送され、スケジューリング分析を繰り返す。待ちセッション
が存在しない場合、この処理は新しいセッションが着信するまで終了となる。
【0046】 図6は、MRTEスケジューラ245の一般的動作を表わす流れ図である。M
RTEスケジューラは、開始ボックス610、動作ボックス615、625、6
30、635、および判断ボックス620によって表わされている。要求は、動
作ボックス615で決定性スケジューリング・アルゴリズム250にしたがって
分析される。動作ボックス615でスケジュール可能性の決定を行うと、MRT
Eスケジューラ245は、すでにアドミッションの行われたトラフィックに悪影
響を及ぼすことなしに、その要求を保証できるかどうか判断しなければならない
【0047】 悪影響なしにその要求を認可することができる場合、MRTEスケジューラ2
45は、そのトラフィックがどのようにフラグメント化しているか、動作ボック
ス630でMRTEプロトコル240に知らせる。次にMRTEスケジューラ2
45は、動作ボックス635で要求を認可する。悪影響なしに、その要求が認可
できない場合、MRTEスケジューラ245は、動作ボックス625でその要求
を拒否することになる。要求が認可される、あるいは拒否されると、この処理は
終了する。
【0048】 図7は、MRTEプロトコル240の一般的動作を表わしている流れ図である
。MRTEプロトコルは、開始ボックス710、動作ボックス715、720、
730、735、750、755、および判断ボックス725、740、745
、760によって表わされている。MRTEプロトコル240は、開始ボックス
710で初期化によって示されるとおり、ネットワーク・アドミッションの処理
を開始する。MRTEプロトコル240が初期化されると、動作ボックス715
で示されるとおり、衝突解決プロトコル235からシステム構成情報が収集され
る。MRTEプロトコル240は次に、動作ボックス720でユーザ要求および
システム割り込みを待つ。判断ボックス725で、1つまたは両方の待ち状態が
満たされているかどうかについて、判断が行われる。両方が満たされている場合
、フローは動作ボックス730に転送されて、ネットワーク占有を認可する。
【0049】 動作ボックス720の両方の待ち状態が満たされていない場合、MRTEプロ
トコル240は、ユーザ要求が受信されているか、判断ボックス745で判断す
る。受信されていない場合、フローは動作ボックス720に戻って、待ち続ける
。ユーザ要求が受信されている場合、MRTEプロトコル240は次に、動作ボ
ックス750で送信およびアドミッション要求を事前処理する。次にそれは、動
作ボックス755でシステム割り込みを待つ。システム割り込みが受信されると
、フローは動作ボックス730に転送されて、ネットワーク占有を認可する。
【0050】 動作ボックス730でいずれかの経路でのネットワーク占有が認可されると、
MRTEプロトコル240は、動作ボックス735でデータを送信し、アドミッ
ション要求を処理して、ネットワーク占有を解放する。次にそれは、他の送信要
求が保留中であるか、判断ボックス740で判断することになる。送信要求が保
留中である場合、フローは事前処理のために動作ボックス750に移る。保留中
の送信要求がない場合、フローは動作ボックス720に転送されて、さらなる要
求およびシステム割り込みを待つ。
【0051】 図8は、MRTEプロトコル240の割り込み取り扱いの流れ図である。MR
TEプロトコル240は、開始ボックス810、動作ボックス830、840、
850、855、860、865、875、880、および判断ボックス815
、820、825、835、845、870で表わされている。この処理は、開
始ボックス810で割り込みの受信とともに開始され、MRTEプロトコルは次
に、その割り込みがトークン・パケットまたは衝突解決プロトコル235からの
TDMA割り込みのいずれであるかを判断ボックス815で判断する。衝突解決
プロトコル235からの割り込みである場合、MRTEプロトコル240は、ア
ドミッション要求が現在、判断ボックス820で保留中であるかどうかを判断す
る。
【0052】 割り込みが衝突解決プロトコル235からではない場合、MRTEプロトコル
240は、その割り込みが、MRTEシステム状況情報を含んだMRTEプライ
ベート・データ・パケットであるかどうか、判断ボックス845で判断する。そ
れがMRTEプライベート・データである場合、MRTEプロトコル240は、
そのシステム状況を更新する。MRTEプライベート・データではない場合、M
RTEプロトコル240は、それが妥当な着信MRTEデータ・パケットである
かどうか判断する。それが妥当なデータ・パケットである場合、MRTEプロト
コル240は、動作ボックス875で、そのパケットをMRTEサービス・プロ
バイダ210上に渡す。その割り込みが妥当なMRTEデータ・パケットでない
場合、MRTEプロトコル240は、本発明によっては定義されていない、関与
した上部層のプロトコルにそのパケットを渡す。
【0053】 判断ボックス820で保留中のアドミッション要求が存在する場合、MRTE
プロトコル240は、IndicatePermission()APIコール
を行って、MRTEスケジューラ245を動作ボックス855で呼び出すことに
なる。MRTEスケジューラ245を呼び出した後、または保留中のアドミッシ
ョン要求が存在しない場合、フローは、保留中のMRTE送信要求が存在するか
どうか判断するために判断ボックス825に移る。送信要求が保留中である場合
、MRTEプロトコルは、動作ボックス860でMRTE同期メッセージ・パケ
ットを送信する。同期パケットを送信した後、保留中の送信要求が存在しない場
合、フローは動作ボックス830に移る。
【0054】 動作ボックス830で、MRTEプロトコル240は、タイマおよび非同期メ
ッセージ待ち行列をチェックする。使用可能な時間および非同期メッセージ待ち
行列に基づいて、MRTEプロトコル240は、送信時間が使用可能であるかど
うか、また非同期メッセージの準備ができているか、判断ボックス835で判断
する。時間が使用可能で、非同期データ・パケットの送信準備ができている場合
、MRTEプロトコル240は、動作ボックス865で非同期データ・パケット
を送信し、次に動作ボックス840でイーサネット占有を解放する。時間が使用
可能ではなく、送信準備のできた非同期データ・パケットが存在しない場合、M
RTEプロトコル240は単に、動作ボックス840でイーサネット占有を解放
する。
【0055】 図9は、MRTEスケジューラ245のアドミッション制御処理の流れ図であ
り、開始ボックス910、動作ボックス915、925、930、935、94
0、および判断ボックス920を含んでいる。この処理は、MRTEプロトコル
240からのIndicatePermission()コールの受信によって
開始される。初期化が行われると、MRTEスケジューラ245は、動作ボック
ス915で、Get()コールを使用してMRTEリポジトリ255からネット
ワーク状況情報を得る。MRTEスケジューラ245は次に、920で決定性ス
ケジューリング・アルゴリズム250に対してSchedule()コールを行
うことによって、送信要求をスケジュールすることができるかどうか判断する。
その要求をスケジュールすることができない場合、MRTEスケジューラ245
は動作ボックス940で、MRTEサービス・プロバイダ210に、940でI
ndicateReceive()コールを使用することによってアドミッショ
ン障害を示して報告を行う。スケジューリングおよびアドミッション制御アルゴ
リズムは、トークンに基づくものまたはTDMAなどの異なるプロトコルに基づ
いて、決定性スケジューリング・ポリシー・クラス内にカプセル化されている。
【0056】 決定性スケジューリング・アルゴリズム250が送信要求をスケジュールでき
ると判断した場合、MRTEスケジューラ245は、Update()コールを
使用して動作ボックス925でMRTEリポジトリ255を更新する。MRTE
スケジューラ245は次に、動作ボックス930で、Update()コールを
使用して動作状況情報でMRTEプロトコル240を更新する。最後に、MRT
Eスケジューラ245は、動作ボックス935で、IndicateRecei
ve()コールを使用してアドミッション成功を示して、MRTEサービス・プ
ロバイダ210に報告を行う。
【0057】 考慮すべき2つのトラフィック・モデルが存在する。第1は、周期的または同
期メッセージ・ストリームである。各ノード120ごとに、このトラフィック・
モデルに含まれるファクタは、その周期(Pj)、メッセージ長または送信時間
(Mj)、期限(Dj)、QoS(Qj)、および重要度または重要性のレベル
(Cj)であり、ここで「j」は個々のメッセージ・ストリームを表わすものと
する。第2のトラフィック・モデルは、非周期的または非同期メッセージ・スト
リームである。各ノード120ごとに、このトラフィック・モデルに含まれるフ
ァクタは、周期(Pj)を除外して、周期的モデルの場合と同じである。
【0058】 一実施形態では、決定性スケジューリング・アルゴリズム250は、一実施形
態で要求がスケジュール可能であるかどうか判断するのに、一組の方定式を使用
する。関係のある方程式は下記のとおりである。
【数3】 ただし、下記の追加の定義が適用される: TTRT:目標トークン・ローテーション・タイム TRT:リアルタイム・トラフィックを送信するためのタイム・インターバル TNRT:ソフト・トラフィックまたは非リアルタイム・トラフィックを送信する
ためのタイム・インターバル I:ノード数 J:データ・ストリーム数 Hi:個別ノードIのトークン保持タイム Oj:データ・ストリームj送信のソフトウェア・オーバーヘッド n:ノードの総数 mi:Hi内での送信のためのリアルタイム・パケットの総数 方程式1、2、3を前提として、方程式4が真である場合、新しい要求はスケジ
ュール可能である。
【0059】 (結論) データのパケットを送信することを要望している複数のノードをもった従来の
イーサネット・ネットワークを介して、リアルタイムおよび非リアルタイムの両
方に対して、決定性、すなわち予測可能な、通信サービスを提供するリアルタイ
ム・イーサネットを実施するためのミドルウェア手法を説明してきた。このミド
ルウェアは、ネットワーク・インターフェース・デバイスおよびデバイス・ドラ
イバの上層で、ただしシステム伝送サービスおよび/またはユーザ・アプリケー
ションより下層に常駐するコンピュータ・ソフトウェアを含む。本発明は、イー
サネットを実施する既存のハードウェアに対する変更を必要としないミドルウェ
ア・リアルタイム・イーサネットまたはMRTEを提供する。各ノード上でのパ
ケット待ち行列入れおよび送信の順序を決定する決定性スケジューリングのため
に、別個の待ち行列が使用されて、(1)送信サービスのためにアドミッション
が行われると、リアルタイム・トラフィックを保証することが可能で、(2)非
リアルタイム・トラフィックに対するサービスを行うことが可能で、(3)イー
サネット帯域幅の使用が最適化できるようにする。クオリティ・オブ・サービス
またはQoSが、ネットワーク帯域幅の使用可能度とネットワーク送信の質の間
でのオンライン・トレードオフを行うことを可能にする。QoSの例は、(1)
あるタイム・スロットの間でのソフト・トラフィックまたは非リアルタイム・ト
ラフィックによってイーサネットが共有されるときの、パケット衝突の程度、お
よび(2)終端間パケット送信待ち時間の量を含む。
【0060】 QoSが使用されるとき、毎秒30フレームでのビデオなどの周期的データに
、優先順位または重要度、ならびに、例えば最高で連続4フレームまで廃棄する
などの、累積的ロス・ファクタを与えることができる。より高い優先順位のタス
クまたはデータ・ストリームが取り扱われた後に、十分な帯域幅が残っている場
合、少なくとも毎秒5フレームを送信する形で、ビデオがリアルタイム待ち行列
に受け入れられる。他のタスクが削除または削減された場合、このフレーム・レ
ートは増加する。
【0061】 ソフトウェア構造化が、イーサネット・ネットワーク・デバイスおよびデバイ
ス・ドライバより上層で、システム・トランスポート・ソフトウェアおよび/ま
たはアプリケーションよりも下層に、リアルタイム・ミドルウェアをホストする
ことを可能にする。こうしたソフトウェア・ホストの特定の例は、マイクロソフ
ト(登録商標)NT(登録商標)に基づくパーソナル・コンピュータ上の、デバ
イス・ドライバ・キット(DDK)を備えたマイクロソフト((登録商標)ネッ
トワーク・デバイス・インターフェース・スペシフィケーション(NDIS)で
ある。選択された特定のハードウェアにより、他の多くのソフトウェア・ホスト
が使用可能である。
【0062】 リアルタイム・イーサネット・ミドルウェアは、2つの主要機能モジュール、
衝突回避モジュールおよび決定性スケジューリング・モジュールを含む。衝突回
避モジュールは、非決定性イーサネット動作の問題の一原因であるイーサネット
・トラフィックの衝突を防ぐための機能を与える衝突回避プロトコルを実装して
いる。こうしたプロトコルの特定の例はトークンに基づくプロトコルである。そ
れによって、イーサネット・ノード間を回っているトークンが、任意の時点でど
のノードがパケットを送信すべきかを決定する。時間分割多重を使用する技術で
ある時間分割多重アクセス(TDMA)の様々な実装など、他の衝突回避プロト
コルを本発明とともに使用することができる。プロトコルまたは規格は、任意の
時点で複数のノードによるデータ送信間の競合を回避するメカニズムを提供する
だけでよい。どちらの実施形態も、リアルタイム処理制御、マルチメディアおよ
びインターネット・アプリケーション、ならびにリアルタイム・トラフィックの
着信に依存する可能性のある他のアプリケーションのために役立つ。
【0063】 決定性スケジューリング・モジュールは、分散システム全体の中で、一組のリ
アルタイム・トラフィックが、終端間送信待ち時間など、そのタイミング制約に
関して保証され得るかどうかを判断する。
【0064】 一実施形態では、衝突回避プロトコルは、決定性スケジューリング・モジュー
ルによる要望に応じて、使用可能または使用不可となるように切り替え可能であ
る。これは、本発明がリアルタイム・トラフィックの衝突が起きないことを保証
しながらも、ソフト・トラフィックおよび非リアルタイム・トラフィックの衝突
を許すことを可能にする。こうした混合モードの動作は、ソフト・トラフィック
および非リアルタイム・トラフィックに割り当てられた時間枠の間でのロードに
より、より大きな帯域幅の使用されることになる可能性がある。軽くロードされ
たCSMA/CDシステムは、衝突回避プロトコル上で動作しているシステムよ
り効率的であり得る。
【0065】 衝突回避プロトコルが活動している間、送信を行うノードの完全なローテーシ
ョンのために設定された時間は制約されている。トークンに基づくプロトコルの
場合、トークンは、この制約された時間、つまりトークン・ローテーション時間
内に戻らなければならない。
【0066】 本発明の別の実施形態では、個々のブリッジまたはノードに対する帯域幅の割
り当ては、ネットワーク内の他のブリッジまたはノードが帯域幅を十分に使用し
ていないことに基づいて増加される。
【0067】 本発明を様々な実施形態との関係で説明したが、その意図は、本発明をそうし
た実施形態の1つに限定することではない。前述の説明を検討するれば、当技術
分野の専門家には、他の多くの実施形態が明らかになる。本発明の一実施形態で
は、QoSモジュールが除外される。本発明のモジュール性のため、システムは
、それをユーザが要望するなら、ある程度後になってからQoSモジュールを受
け入れることができる。
【0068】 本発明の別の実施形態では、複数のローカル・イーサネット・ネットワークを
一緒にブリッジすることができる。ネットワーク間の各ブリッジが、メッセージ
またはデータのストリームを受け入れ、スケジュールを行うことになる。個々の
ブリッジによって保持されるデータ・ストリームは、ブリッジがトークンに基づ
くプロトコルでトークンを所有しているときなど、ブリッジが送信を指定された
ときに送信されることになる。ブリッジがすべてのより優先順位の高いメッセー
ジを送信した後に、データを送信するのに十分な帯域幅があるかどうかに基づい
て、新しいデータ・ストリームは拒否され得る。任意の時間枠で衝突が起きない
ことを保証するため、すべてのブリッジは、その時間枠の間、衝突回避プロトコ
ルのモードで動作していなければならない。
【図面の簡単な説明】
【図1】 本発明を組み込む複数のノードを有するイーサネット・ネットワークのブロッ
ク図である。
【図2A】 図1のイーサネット・ノードのソフトウェア・アーキテクチャのブロック図で
ある。
【図2B】 いくつかの部分をより詳細に提供する図2のソフトウェア・アーキテクチャの
ブロック図である。
【図3】 ネットワークに入る認可を求めるアプリケーション要求に応答するノードの振
舞いを示す図である。
【図4】 ネットワークに入る認可を付与するスケジューラ割込みに応答するノードの振
舞いを示す図である。
【図5】 本発明の一実施形態のQoS管理機能の振舞いを示す流れ図である。
【図6】 本発明のスケジューラの振舞いを示す流れ図である。
【図7】 本発明のMRTEプロトコルの振舞いを示す流れ図である。
【図8】 本発明のMRTEプロトコルの割込みハンドラを示す流れ図である。
【図9】 本発明のスケジューラの認可制御プロセスを示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 GA03 HA08 HB01 HB19 KX13 5K032 AA01 BA04 CA17 CC12 DA07 DB20

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 衝突検出ベースの通信ネットワークでリアル・タイム・トラ
    フィックを通信するにあたって、 非リアル・タイム・トラフィックとは別にリアル・タイム・トラフィックを待
    ち行列化するステップと、 決定性スケジューリング・プロトコルを使用しながら、通信サイクルの第1の
    時間間隔中にリアル・タイム・トラフィックを送信するステップと、 通信サイクルの第2の時間間隔中に非リアル・タイム・トラフィックを送信す
    るステップと を含む衝突検出ベースの通信ネットワークでリアル・タイム・トラフィックを通
    信する方法。
  2. 【請求項2】 コンピュータに請求項1の諸ステップを実施させるための命
    令を格納している機械可読媒体。
  3. 【請求項3】 衝突検出ベースの通信ネットワークでリアル・タイム・トラ
    フィックを通信するにあたって、 送信するためのリアル・タイム・トラフィックを有することを示す通信ネット
    ワークに結合されたノードでの要求を受信するステップと、 リアル・タイム・トラフィックに関して所与のサービス品質を提供することが
    できるかどうか判定するステップと、 前記サービス品質を提供することができない場合に、非リアル・タイム・トラ
    フィックに付与された通信サイクル当たりの第1の時間を調節するステップと、 リアル・タイム・トラフィック要求を受け入れるステップと を含む衝突検出ベースの通信ネットワークでリアル・タイム・トラフィックを通
    信する方法。
  4. 【請求項4】 コンピュータに請求項3の諸ステップを実施させるための命
    令を格納している機械可読媒体。
  5. 【請求項5】 さらに、 非リアル・タイム・トラフィックとは別にリアル・タイム・トラフィックを待
    ち行列化するステップと、 決定性スケジューリング・プロトコルを使用しながら、通信サイクルの第1の
    時間中にリアル・タイム・トラフィックを送信するステップと、 通信サイクルの第2の時間中に非リアル・タイム・トラフィックを送信するス
    テップと を含む請求項3に記載の方法。
  6. 【請求項6】 コンピュータに請求項5の諸ステップを実施させるための命
    令を格納している機械可読媒体。
  7. 【請求項7】 リアル・タイム・トラフィックを待ち行列化する第1の待ち
    行列と、 非リアル・タイム・トラフィックを待ち行列化する第2の待ち行列と、 決定性プロトコルを使用して、通信サイクル当たりの第1の時間枠中に通信ネ
    ットワークを介して送信するためにリアル・タイム・トラフィックをスケジュー
    ルし、通信サイクル当たりの第2の時間枠中に通信ネットワークを介して送信す
    るために非リアル・タイム・トラフィックを提供するスケジューラと を備える衝突検出ベースの通信ネットワークに結合されたノード。
  8. 【請求項8】 さらに、ノードによって生成されたトラフィックのタイプに
    基づいて第1および第2の時間枠を変更するサービス品質管理機能を備える請求
    項7に記載のノード。
  9. 【請求項9】 衝突検出ベースの通信ネットワークがイーサネットを備え、
    衝突回避プロトコルが、トークンリングまたは時分割プロトコルを備える請求項
    7に記載のノード。
  10. 【請求項10】 イーサネット実施ハードウェアによって結合された複数の
    ノードを備える通信ネットワークであって、各ノードが、 ハードウェアに対して決定性プロトコルを使用して、通信サイクルの第1の期
    間中にリアル・タイム・トラフィックを提供し、通常のイーサネット伝送に関し
    て、ハードウェアに対して通信サイクルの第2の期間中に非リアル・タイム・ト
    ラフィックを提供するソフトウェア・モジュールのミドルウェア・セットを備え
    、それにより全てのノードが、各期間中に同じプロトコルを使用して動作する通
    信ネットワーク。
  11. 【請求項11】 ネットワーク・デバイスと、デバイス・ドライバと、シス
    テム・ネットワーク移送ソフトウェアと、ユーザ・アプリケーションとを含むイ
    ーサネット・ネットワークで、リアルタイムおよび非リアルタイム・データ・パ
    ケットを伝送するための通信プロトコルであって、 ネットワーク・デバイスおよびデバイス・ドライバの上方にあり、システム・
    ネットワーク移送ソフトウェアまたはユーザ・アプリケーションの下方にある通
    信プロトコルをホスティングするためのソフトウェア構造化モジュールと、 イーサネット・ネットワークで伝送するためのデータ・パケットの認可のスケ
    ジュール可能性および順序を決定するための決定性スケジューリング・モジュー
    ルと、 決定性スケジューリング・モジュールによって必要とされるイーサネット・デ
    ータ・パケット間での衝突を防止する衝突回避プロトコル・モジュールと を備える通信プロトコル。
  12. 【請求項12】 衝突回避プロトコル・モジュールがトークン・ベースのも
    のである請求項11に記載の通信プロトコル。
  13. 【請求項13】 衝突回避プロトコル・モジュールが、時分割多重接続ベー
    スのものである請求項11に記載の通信プロトコル。
  14. 【請求項14】 決定性スケジューリング・モジュールが、リアルタイム・
    データ・パケットの衝突を妨げ、非リアルタイム・データ・パケットの衝突を許
    す請求項11に記載の通信プロトコル。
  15. 【請求項15】 さらに、 イーサネット・ネットワーク利用可能性とイーサネット・ネットワーク伝送品
    質の間のオンライン・トレードオフを行うためのサービス品質モジュールを備え
    る請求項11に記載の通信プロトコル。
  16. 【請求項16】 TTRTをターゲット・トークン回転時間とし、 TkTを、リアルタイム・トラフィックを伝送するための時間間隔とし、 TNRTを、ソフトまたは非リアルタイム・トラフィックを伝送するための時間
    間隔とし、 Iをノード数とし、 jをデータ・ストリーム数とし、 Hiを、個々のノードIのトークン保持時間とし、 Ojを、データ・ストリームjを伝送するソフトウェア・オーバーヘッドとし
    、 nをノードの総数とし、 miを、Hi中に伝送するためのリアルタイム・パケットの総数とし、リアルタ
    イム・データ・パケットは、式4が所与の式1、2、および3を調整するように
    評価する場合にスケジュール可能であるとして、式 【数1】 に従って、決定性スケジューリング・モジュールが、リアルタイム・データ・パ
    ケットのスケジュール可能性を決定する請求項11に記載の通信プロトコル。
  17. 【請求項17】 決定性スケジューリング・アルゴリズムを備えるリアルタ
    イムおよび非リアルタイム・データ・パケットを伝送するためのイーサネット・
    ネットワーク用の通信プロトコルであって、決定性スケジューリング・アルゴリ
    ズムが、 リアルタイム・パケットと非リアルタイム・データ・パケットのどちらの伝送
    も保証し、 リアルタイム・データ・パケットの伝送を、そのようなパケットが他のデータ
    ・パケットの伝送と競合しない場合にのみ可能にし、 イーサネット・ネットワークの利用を最適化する 通信プロトコル。
  18. 【請求項18】 決定性スケジューリング・アルゴリズムが、式 【数2】 を備え、ここで、 TTRTをターゲット・トークン回転時間とし、 TkTを、リアルタイム・トラフィックを伝送するための時間間隔とし、 TNRTを、ソフトまたは非リアルタイム・トラフィックを伝送するための時間
    間隔とし、 Iをノード数とし、 jをデータ・ストリーム数とし、 Hiを、個別のノードIのトークン保持時間とし、 Ojを、データ・ストリームjを伝送するソフトウェア・オーバーヘッドとし
    、 nをノードの総数とし、 miを、Hi中に伝送するためのリアルタイム・パケットの総数とし、それによ
    りリアルタイム・データ・パケットは、式4が所与の式1、2、および3を調整
    するように評価する場合にのみ伝送を許される請求項17に記載の通信プロトコ
    ル。
  19. 【請求項19】 リアルタイムおよび非リアルタイム・データ・パケットを
    伝送するためのイーサネット・ネットワーク用の通信プロトコルであって、前記
    イーサネット・ネットワークが、ネットワーク・デバイスと、デバイス・ドライ
    バと、システム移送ソフトウェアと、ユーザ・アプリケーションとを含み、 ネットワーク・デバイスおよびデバイス・ドライバの上方にあり、システム移
    送ソフトウェアおよびユーザ・アプリケーションの下方にある通信プロトコルを
    ホスティングするためのソフトウェア構造化手段と、 イーサネット・ネットワークにわたって伝送するためのデータ・パケットの認
    可をスケジュールするための決定性スケジューリング手段と、 決定性スケジューリング手段によって必要とされるイーサネット・データ・パ
    ケット間の衝突を防止するための衝突回避プロトコル手段とを備える通信プロト
    コル。
  20. 【請求項20】 決定性スケジューリング手段が、リアルタイム・データ・
    パケットの衝突を妨げ、非リアルタイム・データ・パケットの衝突を許す請求項
    19に記載の通信プロトコル。
  21. 【請求項21】 さらに、 イーサネット・ネットワーク利用可能性とイーサネット・ネットワーク伝送品
    質の間のオンライン・トレードオフを行うためのサービス品質手段を備える請求
    項19に記載の通信プロトコル。
JP2000559677A 1998-07-10 1999-06-22 ミドルウェアベース・リアルタイム通信システム Withdrawn JP2002520950A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/113,732 US6483846B1 (en) 1998-07-10 1998-07-10 Middleware-based real-time communication system
US09/113,732 1998-07-10
PCT/US1999/014083 WO2000003521A1 (en) 1998-07-10 1999-06-22 Middleware-based real-time communication system

Publications (1)

Publication Number Publication Date
JP2002520950A true JP2002520950A (ja) 2002-07-09

Family

ID=22351166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000559677A Withdrawn JP2002520950A (ja) 1998-07-10 1999-06-22 ミドルウェアベース・リアルタイム通信システム

Country Status (6)

Country Link
US (1) US6483846B1 (ja)
EP (1) EP1097551B1 (ja)
JP (1) JP2002520950A (ja)
CA (1) CA2336829A1 (ja)
DE (1) DE69931052T2 (ja)
WO (1) WO2000003521A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10624089B2 (en) 2016-11-14 2020-04-14 Mitsubishi Electric Corporation Network system and communication method
US10680849B2 (en) 2015-11-24 2020-06-09 Mitsubishi Electric Corporation Built-in apparatus, communication method, and computer readable medium
US11018986B2 (en) 2017-09-21 2021-05-25 Kabushiki Kaisha Toshiba Communication apparatus, communication method, and computer program product

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080002735A1 (en) * 1997-04-01 2008-01-03 Paradox Security Systems Ltd. Device network
US6651107B1 (en) * 1999-09-21 2003-11-18 Intel Corporation Reduced hardware network adapter and communication
US6693914B1 (en) * 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US7564873B1 (en) * 1999-12-10 2009-07-21 Cox Communications, Inc. Method and apparatus for providing in-band messaging within a video on demand environment
US20020138842A1 (en) * 1999-12-17 2002-09-26 Chong James I. Interactive multimedia video distribution system
US6892250B2 (en) * 2000-02-09 2005-05-10 Seagate Technology Llc Command queue processor
EP1146702A3 (de) * 2000-04-10 2006-03-01 Siemens Aktiengesellschaft Kommunikationsvorrichtung und Kommunikationssystem zum integrierten Übertragen von ersten Daten mit Echtzeitanforderung und zweiten Daten ohne Echtzeitanforderung
US6901080B1 (en) * 2000-04-10 2005-05-31 Siemens Communoications, Inc. System and method for providing an intermediary layer for VoIP call pipe establishment
DE10030358A1 (de) 2000-06-21 2002-01-03 Heidenhain Gmbh Dr Johannes Verfahren und Vorrichtung zur seriellen Datenübertragung zwischen einem Positionsmesssystem und einer Verarbeitungseinheit
JP3584859B2 (ja) * 2000-06-29 2004-11-04 日本電気株式会社 パケットスケジューリング装置
DE10058524A1 (de) * 2000-11-24 2002-06-13 Siemens Ag System und Verfahren zur parallelen Übertragung von echtzeitkritischen und nicht echtzeitkritischen Daten über schaltbare Datennetze, insbesondere Ethernet
DE10059646B4 (de) * 2000-12-01 2005-06-30 Siemens Ag Übertragung von Nachrichten über eine Busstruktur
US7542474B2 (en) * 2001-02-26 2009-06-02 Sony Corporation Method of and apparatus for providing isochronous services over switched ethernet including a home network wall plate having a combined IEEE 1394 and ethernet modified hub
US7463647B2 (en) * 2001-02-26 2008-12-09 Sony Corporation Method of and apparatus for providing reserved bandwidth to ethernet devices over switched ethernet including a home network wall plate having a combined IEEE 1394 and ethernet modified hub
US7411966B2 (en) 2001-03-16 2008-08-12 Siemens Aktiengesellschaft Method and system for coupling data networks
DE10121323B4 (de) * 2001-05-02 2008-09-11 Siemens Ag Schadensverhütungsverfahren und Maschine mit einer korrespondierenden Schadensverhütung
DE10129572A1 (de) * 2001-06-20 2003-01-09 Siemens Ag Datenpfadselektiereinrichtung
US7043557B2 (en) * 2001-06-29 2006-05-09 Hewlett-Packard Development Company, L.P. Low power scheduling for multimedia systems
US6775722B2 (en) * 2001-07-05 2004-08-10 Zarlink Semiconductor V. N. Inc. Efficient data retrieval from input coupling queues
US7136392B2 (en) * 2001-08-31 2006-11-14 Conexant Systems, Inc. System and method for ordering data messages having differing levels of priority for transmission over a shared communication channel
WO2003028320A1 (de) * 2001-09-26 2003-04-03 Siemens Aktiengesellschaft Verfahren zum betrieb eines isochronen, zyklischen kommunikationssystems
EP1430643B1 (de) * 2001-09-26 2011-10-26 Siemens Aktiengesellschaft Verfahren zur übertragung von echtzeit-datentelegrammen in einem zyklischen kommunikationssystem
CN100450071C (zh) * 2001-10-31 2009-01-07 西门子公司 用于在基于碰撞识别的通信网络中实时数据交换的通信方法、相应的存储媒体和通信网络
US7380016B1 (en) * 2002-06-28 2008-05-27 Sarao Jeremy A Deterministic triggering over an ethernet network
US7970924B2 (en) * 2001-12-14 2011-06-28 Cognex Technology And Investment Corporation Deterministic triggering over an ethernet network
SE524599C2 (sv) * 2002-01-18 2004-08-31 Ericsson Telefon Ab L M Metod, system och datorprogramprodukt för att anordna tjänstekvalitet QoS
DE10211097B4 (de) * 2002-03-14 2005-06-23 Kress, Wolfram Verfahren zum multidirektionalen Austausch von Datensätzen
US20050216938A1 (en) * 2002-05-14 2005-09-29 Thales Avionics, Inc. In-flight entertainment system with wireless communication among components
US7013318B2 (en) * 2002-05-29 2006-03-14 Raytheon Company Method and system for encapsulating cells
US20040010587A1 (en) * 2002-07-09 2004-01-15 Arturo Altamirano Method and apparatus for displaying real time graphical and digital wellbore information responsive to browser initiated client requests via the internet
DE10243850A1 (de) * 2002-09-20 2004-04-01 Siemens Ag Verfahren zur Übertragung von Datentelegrammen in einem geschalteten, zyklischen Kommunikationssystem
DE10249851A1 (de) * 2002-10-25 2004-05-13 Elektro Beckhoff Gmbh Unternehmensbereich Industrie Elektronik Verfahren, Schnittstelleneinheit und Knoten zur parallelen Nutzung eines Kommunikationsnetzwerkes für Echtzeitanwendungen und Nicht-Echtzeitanwendungen
US7711772B2 (en) 2002-11-15 2010-05-04 Schlumberger Technology Corporation Web-based system and method for electronic data delivery
US7376141B2 (en) * 2002-12-17 2008-05-20 Raytheon Company Method and system for encapsulating variable-size packets
DE10305828A1 (de) * 2003-02-12 2004-09-02 Siemens Ag Deterministisches Kommunikationssystem
DE10308953A1 (de) * 2003-02-28 2004-09-09 Siemens Ag Kommunikation in einem Datennetz
US7324522B2 (en) * 2003-09-18 2008-01-29 Raytheon Company Encapsulating packets into a frame for a network
US20050100023A1 (en) * 2003-11-07 2005-05-12 Buckwalter Paul B. Isochronous audio network software interface
KR100582905B1 (ko) * 2003-12-24 2006-05-23 한국전자통신연구원 이동통신 시스템에서 실시간 트래픽 전송을 위한 패킷스케줄링 방법 및 이를 구현하는 프로그램이 저장된기록매체
KR20050104666A (ko) * 2004-04-29 2005-11-03 삼성전자주식회사 실시간 서비스를 위한 이더넷 mac 적응 장치와 그데이터 전송 방법
US8849892B2 (en) * 2004-06-10 2014-09-30 Verizon Patent And Licensing Inc. Method and system for brokering messages in a distributed system
US7453885B2 (en) * 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
DE102005002743A1 (de) 2005-01-17 2006-07-27 Siemens Ag Automatisierungssystem
US7387755B2 (en) * 2005-03-21 2008-06-17 Praxair Technology, Inc. Method of making a ceramic composite
US7613205B1 (en) * 2006-03-24 2009-11-03 Trend Micro Incorporated Token-assignment networks over ethernet and methods therefor
US8315274B2 (en) * 2006-03-29 2012-11-20 Honeywell International Inc. System and method for supporting synchronous system communications and operations
CN101627580B (zh) * 2007-01-29 2013-07-24 西门子公司 网络组件,这种网络组件的操作方法,具有这种网络组件的自动化系统,用这种网络组件在自动化系统中传输数据的方法
DE102008019287B4 (de) * 2008-04-16 2010-07-22 Eads Deutschland Gmbh Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks
US8566491B2 (en) 2011-01-31 2013-10-22 Qualcomm Incorporated System and method for improving throughput of data transfers using a shared non-deterministic bus
DE102011076357B4 (de) * 2011-05-24 2014-10-16 Airbus Operations Gmbh Netzwerk, insbesondere für ein Luft- und Raumfahrzeug, Verfahren und Luft- und Raumfahrzeug
DE102012204536A1 (de) 2012-03-21 2013-05-08 Siemens Aktiengesellschaft Netzwerk und Verfahren zur Übertragung von Daten über ein gemeinsames Übertragungsmedium
DE102012011413B4 (de) * 2012-06-08 2020-07-23 Robert Bosch Gmbh Vorrichtung und verfahren füreine maschine
DE102014200471B4 (de) * 2014-01-14 2022-09-29 Bayerische Motoren Werke Aktiengesellschaft Energiesparende Datenkommunikation
FR3019340B1 (fr) 2014-03-28 2016-03-25 Voox Composant electronique a reponse determeniste
US9705700B2 (en) * 2014-10-21 2017-07-11 Cisco Technology, Inc. Sparse graph coding scheduling for deterministic Ethernet
DE102016215742A1 (de) * 2016-08-23 2018-03-01 Robert Bosch Gmbh Gateway und Verfahren zur Anbindung eines Datenquellensystems an ein IT-System
US11356900B2 (en) * 2019-07-03 2022-06-07 Sony Group Corporation Reserving future channel time for handling of real time application (RTA) packets on wireless local area network
CN111541622A (zh) * 2020-04-17 2020-08-14 西安万像电子科技有限公司 数据传输方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086426A (en) 1987-12-23 1992-02-04 Hitachi, Ltd. Communication network system having a plurality of different protocal LAN's
GB2264845B (en) 1992-02-28 1995-09-20 Texas Instruments Ltd Local area network adaptive circuit for multiple network types
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
US5761430A (en) 1996-04-12 1998-06-02 Peak Audio, Inc. Media access control for isochronous data packets in carrier sensing multiple access systems
US5940399A (en) * 1996-06-20 1999-08-17 Mrv Communications, Inc. Methods of collision control in CSMA local area network
US6111888A (en) * 1997-05-27 2000-08-29 Micro Motion, Inc. Deterministic serial bus communication system
US6172984B1 (en) * 1997-06-19 2001-01-09 Siemens Information And Communication Networks, Inc. System and method for reducing the latency for time sensitive data over CSMA/CD networks
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6256317B1 (en) * 1998-02-19 2001-07-03 Broadcom Homenetworking, Inc. Packet-switched multiple-access network system with distributed fair priority queuing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10680849B2 (en) 2015-11-24 2020-06-09 Mitsubishi Electric Corporation Built-in apparatus, communication method, and computer readable medium
US10624089B2 (en) 2016-11-14 2020-04-14 Mitsubishi Electric Corporation Network system and communication method
US11018986B2 (en) 2017-09-21 2021-05-25 Kabushiki Kaisha Toshiba Communication apparatus, communication method, and computer program product

Also Published As

Publication number Publication date
DE69931052T2 (de) 2006-11-02
WO2000003521A1 (en) 2000-01-20
DE69931052D1 (de) 2006-06-01
EP1097551A1 (en) 2001-05-09
US6483846B1 (en) 2002-11-19
CA2336829A1 (en) 2000-01-20
EP1097551B1 (en) 2006-04-26

Similar Documents

Publication Publication Date Title
JP2002520950A (ja) ミドルウェアベース・リアルタイム通信システム
US7028204B2 (en) Method and apparatus for ethernet prioritized device clock synchronization
JP2592213B2 (ja) データ処理システム及び情報伝送方法
US5479404A (en) System for network wide bandwidth allocation
US6205150B1 (en) Method of scheduling higher and lower priority data packets
Varadarajan et al. EtheReal: A host-transparent real-time Fast Ethernet switch
US4642758A (en) File transfer scheduling arrangement
JP2868178B2 (ja) 所定のサービス品質でのデータ要素の伝送を保証する方法及び装置
US7158531B2 (en) Method and apparatus implementing a multimedia digital network
US5485460A (en) System and method for running multiple incompatible network protocol stacks
US7039061B2 (en) Methods and apparatus for retaining packet order in systems utilizing multiple transmit queues
US5553073A (en) Token ring network
JPH04233356A (ja) 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法
JPH0732398B2 (ja) バス・アクセス制御方法
US5119374A (en) Method of and system for implementing multiple levels of asynchronous priority in FDDI networks
US20010040896A1 (en) Method and device for communicating between a first and a second network
US5155725A (en) Adaptive token release mechanism for ring networks
KR20000006114A (ko) 네트워크인터페이스를제공하기위한방법및장치
Hanssen et al. Real-time communication protocols: an overview
JP2023502796A (ja) マルチコアシステムオンチップ処理アーキテクチャーにおいてデータを処理する方法、マルチコアシステムオンチップデバイス及び記憶媒体
EP0459756A2 (en) Fiber distributed data interface network
Sha et al. Analysis of dual-link networks for real-time applications
JPH09247192A (ja) リアルタイム通信方式
Rossler et al. Applying quality of service architectures to the field-bus domain
Moraes et al. Probabilistic timing analysis of the h-BEB collision resolution algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060517

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081020