説明

データ伝送システム

【課題】データリンク層レベルでの遅延保証を可能とする。
【解決手段】複数のノードが論理的なリング型ネットワークを形成するデータ伝送システムであって、各ノードは、固定長のフレームを送信するものであり、上流ノードから受信したフレームを下流ノードへ転送するとともに、あらかじめ定められたタイミングで自ノードからのフレームを送信する。これにより、フレームの最悪遅延時間が、ノード間伝送遅延の和の2倍未満となることが保証され、遅延保証が可能となる。各ノードのフレーム送信タイミングは、隣接する上流ノードのフレームを転送した次のタイミングとして決定することができる。また、フレーム送信タイミングを送信順序テーブルとしてあらかじめ定めておき、これにしたがってフレームの送信を行っても良い。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ伝送システムに関し、特に遅延保証を可能とするデータ伝送システムに関する。
【背景技術】
【0002】
近年、自動車などを構成する各部の機構が電動化され電子制御化される傾向にある。このように、操作情報を電気信号に置き換え、コンピュータで制御することにより機器を操縦するシステムはXbyWireと呼ばれる。例えば、ブレーキやスロットル、ステアリングといった従来は機械的な結合で操作されていた機構が、モータを利用した機構に置き換えられる。このような電気信号(制御データ)の通信では、ミリ秒オーダー以下のリアルタイム性の確保が必要となる。
【0003】
また、このような車載ネットワークに種々の機器が接続されることが予想される。例えば、車載カメラは画像データを送信するものであるので、大容量のデータが送信される。さらに、車載カメラの安全支援等の用途が増えるに従い搭載数が増えることが予想され、それらの映像を伝送するためにさらなる広帯域が求められる。
【0004】
今後予想されるこのような状況において、XbyWireに代表される厳しいリアルタイム性が要求されるトラフィックと、映像など比較的リアルタイム性が低いものの広帯域が要求されるトラフィックの混在を可能とし、かつ、各リアルタイム性を満足するデータ伝送システムが必要とされる。
【0005】
このような要求に応えるために、本発明者は、データリンク層よりも上の層におけるリアルタイム性を確保する発明を出願済みである(特許文献1)。
【特許文献1】特開2007−74218号公報
【特許文献2】特許第3163998号
【特許文献3】特開2006−304241号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1はネットワークインタフェースまでの送出のリアルタイム性を保証する技術である。あるノードから送信されたデータの伝送遅延を保証するデータリンク層レベル以下の技術がなかった。
【0007】
そこで、本発明は、データリンク層レベルでの遅延保証を実現することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、以下の構成によって上記目的を達成する。
【0009】
本発明は、複数のノードが論理的なリング型ネットワークを形成するデータ伝送システムであって、各ノードは、固定長のフレームを送信するものであり、上流ノードから受信したフレームを下流ノードへ転送するとともに、あらかじめ定められたタイミングで自ノードからのフレームを送信することを特徴とする。
【0010】
論理的なリング型ネットワークには、ネットワークが物理的にリング型になっているネットワーク以外のネットワークも含まれる。すなわち、各ノードがデータの受信は上流ノードから行い、データの送信は下流ノードへ行い、全体として通信路がリング型となって
いるネットワークであれば、物理的形態を問わずに含むものである。なお、以下本明細書中では「リング型ネットワーク」の語は、このような論理的な意味で用いる。
【0011】
本データ伝送システムでは、固定長のフレームを採用するとともに、各ノードのフレーム送信タイミングがあらかじめ定められている。したがって、あるノードにおいてフレームの送信要求があってから、そのフレームがネットワーク内の他のノード(送信先ノード)に送信されるまでの時間の最大値(最悪遅延時間)は、送信タイミングが来るまでの待ち時間と、ネットワーク全体にフレームが送信される転送時間との合計として求められる。これらはいずれも固定された値であるため、本データ伝送システムにおいては、この最悪遅延時間以内でのデータの送信が保証されることになる。
【0012】
ここで、各ノードのフレーム送信タイミングは、あらかじめ定められた他ノードからのフレームを転送したタイミングの次のタイミングとすることが好適である。例えば、上流ノードからのフレームを受信してこのフレームを下流ノードに転送した次のタイミングで、自ノードからデータを送信することができる。
【0013】
この方法によれば、簡単な制御方法でフレーム送出順序を管理することができる。
【0014】
また、各ノードのフレーム送信タイミングは、送信順序テーブルとしてあらかじめ定義されており、この送信順序テーブルにしたがってフレームの送信を行うことも好適である。ここで、送信順序テーブルにおいて、1周期(サイクル)における各ノードのフレーム送信回数が同じであれば、各ノードに与えられる通信帯域(単位時間あたりに送信可能なデータ量)が均等になる。一方、必要とする通信帯域が多いノードほど、1周期内における送信回数を多く定めれば、そのようなノードに広い通信帯域を与えることができる。
【0015】
なお、本発明は、上記手段の少なくとも一部を有するデータ伝送システムとして捉えることができる。また、本発明は、上記処理の少なくとも一部を含むデータ伝送方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0016】
本発明によれば、データリンク層レベルでの遅延保証が可能となる。
【発明を実施するための最良の形態】
【0017】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0018】
(第1の実施形態)
<システム概要>
図1に本実施形態に係るデータ伝送システムの概要図を示す。図1Aに示すように、本データ伝送システム1は、複数のノード2をリング状に接続したリング型のネットワークを形成している。各ノードは固定長のフレームを隣接するノードに対して送信する。定常状態においては、図1Aに示すように、リング中を複数の固定長のフレームが同時に流れることになる。
【0019】
1つのノードについて着目すると、図1Bに示すように、隣接ノードからのフレームを受信し、必要があればそのフレームを自ノードで処理するとともにさらに下流の隣接ノードに対して送信する。各ノードは、ネットワーク内を流れる全ての通信に係る全てのフレームを受信・送信する。したがって、このようなリング型のネットワークでは、通信回線のビジー/アイドルの判定が容易である。また、フレームの衝突を回避できる。
【0020】
自ノードが送信したフレームは、ネットワーク内の全てのノードによって転送されて自ノードまで戻ってくる。したがって、自ノードが送信したフレームが1周して戻ってきたことを確認することで、ネットワーク内の全てのノードがこのフレームを受信したことを確認できる。1周して戻ってきたフレームは、送信元のノードが破棄することで、ネットワーク内から取り除かれる。
【0021】
図1Aにはリング型のネットワークトポロジーを示したが、本実施形態では論理的にリング型になっていれば、実際の物理的なトポロジーについてはどのようなものでも採用できる。
【0022】
基本的には、ノード間の接続に全二重可能な媒体を採用することで、どのような接続形態でもリング型の通信を実現することは可能である。図2に、採用可能な物理的なトポロジーの例を示した。図2に示すように、物理的なトポロジーとして、リング型(図2A)、スター型(図2B)、バス型(図2C)、ディジーチェーン型(図2D,E)を採用して、論理的にリング型のネットワークを形成可能である。
【0023】
リンクを半二重とすることも可能であるが、リング型以外では半二重の場合には通信効率が落ちる。ただし、バス型は同時に1ノードしか通信できないので、リンクが全二重であっても通信効率が悪い。また、複数の中継を行う箇所(スター型のハブ、ディジーチェーンの途中等)がある場合には、その部分が通信速度のボトルネックとなりうる(特にスター型のハブ)。
【0024】
このように、物理的なトポロジーはどのような形態であっても良いものの、物理的にもリング型となっていることが好適である。したがって、以下では、特に断りのない限り物理的なトポロジーもリング型であるとして説明する。
【0025】
図3は、各ノード2の機能構成を示す図である。各ノード2は、受信インタフェース21、送信インタフェース22およびフレームスケジューラ23を備える。
【0026】
<処理フロー>
図4に、各ノードのフレーム制御処理の流れを示すフローチャートを示す。以下、このフローチャートに基づいて、各ノードの動作について説明する。
【0027】
まず各ノードは、受信インタフェース21を介して、隣接ノードからのフレームを受信する(S10)。受信されたフレームは、フレームスケジューラ23に渡される。受信フレームを自ノードにて処理する必要があれば、上位層に渡して処理を行う。また、フレームスケジューラ23は、受信フレームを次の送信タイミングで隣接する下流ノードへ転送する(S12)。
【0028】
フレームスケジューラ23は、ステップS12で処理した受信フレームの送信元ノードが、隣接する上流ノードであるか否かを判定する(S14)。ステップS12で処理した受信フレームの送信元ノードが隣接する上流ノード以外である場合(S14−NO)には、ステップS10に戻ってフレームの受信を行う。なお、ステップS14の判定と、ステップS10での受信処理は、どちらを先に行っても、また同時に行っても構わないが、図4では便宜上この順序で示している。また、フレームの転送(S12)と、次のフレームの受信(S14の後のS10)も並行して行われるが、図4では順次行われるものとして示している。
【0029】
一方、ステップS12で処理した受信フレームの送信元ノードが隣接する上流ノードである場合(S14−YES)は、ステップS16に進んでフレームの受信を行う。ここで
は受信するフレームは、自ノードが以前に送信したフレームとなる。自ノードが送信したフレームがネットワークを1周して戻ってきたことを確認することで、そのフレームが全ノードに送信されたことが分かる。なお、ここで受信するフレームが自ノードを送信元としない場合には、何らかの通信エラーが発生したと考えられるので、エラー処理を行う。ここでは、エラー処理の詳細についての説明は省略する。
【0030】
次に、フレームスケジューラ23は、送信バッファから、次に送信すべきデータを取得し、送信インタフェース22を介してこのデータを隣接する下流ノードへ送信する(S18)。なお、送信データがフレームの固定長よりも大きい場合には、分割して送信する。また、送信すべきデータ送信バッファ内にない場合であっても、ダミーデータの送信を行う。
【0031】
この後、ステップS10へと戻って、再び隣接ノードからのフレーム受信を続行する。
【0032】
図4のフローチャートに基づくフレーム送信制御処理を、図5を参照して具体的な動作例にしたがって説明する。図5では、各フレームにその送信元のノードが付されている。また、送信元が同じであるが内容が異なるフレームを区別できるように、異なるフレームは網掛けを変えて示している。
【0033】
まず、図5Aに示すように、ノードA,B,C,Dがそれぞれ、ノードB,A,D,Cを送信元とするフレームを転送したとする。この時点で、隣接する上流ノードを送信元とするフレームを転送したノードは、ノードBおよびノードDである。
【0034】
したがって、次の送信タイミングを示す図5Bでは、ノードBおよびノードDは、送信バッファから取得した新たなフレームを送信する。ノードA,Cは直近に受信したノードC,Aを送信元とするフレームを転送する。
【0035】
図5Bでは、ノードA,B,C,Dはそれぞれ、ノードC,B,A,Dを送信元とするフレームを送信する。ここでは、隣接する上流ノードを送信元とするフレームを転送したノードは存在しない。したがって、図5Cでは、各ノードは図5Bで受信したフレームをそのまま転送する。
【0036】
図5Cでは、ノードA,B,C,Dはそれぞれ、ノードD,C,B,Aを送信元とするフレームを送信する。この時点で、隣接する上流ノードを送信元とするフレームを転送したノードは、ノードAおよびノードCである。
【0037】
したがって、次の送信タイミングを示す図5Dでは、ノードAおよびノードCは、送信バッファから取得した新たなフレームを送信する。ノードB,Dは直近に受信したノードD,Bを送信元とするフレームを転送する。
【0038】
なお、図4,5では、ネットワーク内の全ノードがフレーム送出を開始した後の状態を元に説明しているが、このネットワークで最初にフレーム送出を開始するときは、例えば、以下のようにすればよい。例えば、ネットワーク内のマスターノード(特定のノード)が、あらかじめ定められた送信順序に応じた制御データを逐次送信すればよい。図5の例では、ノードAが、送信元がノードA,B,C,Dであるという情報を格納したフレームを最初に順次送信すれば良い。
【0039】
<実施形態による作用/効果>
このようなフレーム送信処理を行うことで、あるノードから送出されたフレームがネットワーク内の全ノードに到達するのに要する時間(到達遅延)は、各ノード間の伝送遅延
の和とみなすことができる。また、送信要求があってから実際に送信されるまで時間である送信待ち時間の最大は、上記の到達遅延時間と等しくなる。したがって、上位層から見た場合に、送信すべきデータが1フレームのペイロードに収まる場合には、最大の遅延は各ノード間の伝送遅延の和の2倍未満と算出できる。
【0040】
したがって、上位層ではそれに基づいた送出データのトラフィック管理を行うことにより、送信データの到達遅延保証が可能となる。なお、上位層におけるトラフィック管理は、特開2007−74218号公報(特許文献1)において本発明者が開示しているので、ここでの説明は省略する。
【0041】
<変形例>
上記の説明では、隣接する上流のノードを送信元とするフレームを転送した次のタイミングを自ノードのフレーム送信タイミングとしているが、隣接する上流ノードに限られるものではない。すなわち、あらかじめ定められた他のノードを送信元とするフレームを転送した次のタイミングを、自ノードのフレーム送信タイミングとしても良い。
【0042】
また、図5などからも分かるように、自ノードのフレーム送信タイミングを、自ノードが以前に送信したフレームがネットワークを1周して自ノードに戻ってくるタイミングに等しくなるように設定することができる。このような場合は、各ノードのフレーム送信タイミングは、自ノードが以前に送信したフレームがネットワークを1周して自ノードに戻ってくるタイミング(このフレームを受信するタイミング)の次のタイミングであると表現できる。
【0043】
(第2の実施形態)
本実施形態では、各ノードにおけるフレーム送信タイミングを送信順序テーブルによって定義する。
【0044】
<送信順序テーブル>
送信順序テーブルの一例を図6に示す。図6は、1サイクル(周期)において、第1のタイミングでノードAが送信し、第2のタイミングでノードBが送信し、第3のタイミングでノードCが送信し、第4のタイミングでノードDが送信することを示している。なお、各ノードにおける送信タイミングは、ノード間の伝送遅延分だけずれる。例えば、ノードBは、ノードAがフレームを送信してから、このフレームを受信し転送した後に、自ノードからフレームを送信する。
【0045】
図6の送信順序テーブルに従えば、送信ノードをA,B,C,Dとするフレームが、この順序でリング型ネットワーク内を周回することになる。すなわち、図5と同様の送信が行われることになる。
【0046】
なお、1サイクル内において各ノードが得られる送信タイミングは、1回のみである必要はない。図7に示すように、1サイクル内において各ノードが複数回の送信タイミングを得られるような、送信順序テーブルを利用しても良い。
【0047】
<最悪転送遅延時間の算出>
このような送信順序テーブルを適宜定義することで、最悪転送遅延時間などを制御することができる。
【0048】
1サイクルあたりに送信されるフレーム数をNとする。また、1秒間にいくつのサイクルがリング内を回るかを表すサイクル周波数をH(Hz)とする。また、1フレームのフレーム長をL(バイト)とする。
【0049】
フレーム長は、ネットワーク内で送信されるデータ長に合わせて設計することが好ましい。小さいデータが頻繁に送信される場合にはフレーム長Lを小さく、大きいデータが頻繁に送信される場合にはフレーム長Lを大きくすることが好適である。
【0050】
例えば、L=128バイトとすることができる。この場合、ネットワーク帯域が1Gbpsであれば、1秒あたりに1000000個のフレームが各ノードから送信される。そして、NとHの関係は、N×H=1000000を満たす範囲で適宜設定可能である。例えば、N=125個・H=8kHzや、N=4個・H=250kHzなどとすることができる。
【0051】
さて、あるフレームがネットワーク内を1周する、すなわち、ネットワーク内の全ノードまで展開される時間(1サイクルの所要時間)をTとする。すると、あるフレームが送信元ノードから実際に送信されてから送信先ノードまで送信されるのに要する時間は、T未満となる。
【0052】
また、あるノードでフレームの送信要求があってから実際に送信されるまでには、送信タイミングが得られるまでの待ち時間が発生する。この待ち時間Mは、そのノードに割り当てられたフレームの間隔の最大値より小さくなる。フレーム間隔の最大値は、1サイクルに1回の送信タイミングしか与えられていない場合に、上記のTと等しくなる。
【0053】
したがって、あるノードで送信要求があってから、そのフレームが送信先のノードまでに到達するのに要する最長時間(最悪転送遅延時間)Wは、W<T+M=2Tとなる。
【0054】
最悪転送遅延時間として、8μsが要求される場合には、T=4μs以下とする必要がある。すなわち、H=250kHz以上とする必要があることが分かる。このように、必要とするリアルタイム性に合わせて、送信順序テーブルを適宜設計することができる。
【0055】
<通信帯域の割り当て>
次に、具体的な送信順序テーブルを用いて、各ノードに割り当てる通信帯域を容易に設定可能であることを説明する。
【0056】
図8は、ノード数が4であり、1サイクルあたり8個のフレーム送出として定義された送信順序テーブルである。ここでは、4つのノードにはそれぞれ均等にフレーム送出機会が与えられており、したがって各ノードに割り当てられる通信帯域は均等になる。例えば、ネットワーク帯域を1Gbpsとすると、各ノードに与えられる帯域は、1Gbps/8×2=256Mbpsとなることが分かる。
【0057】
各ノードに割り当てる通信帯域を変える場合には、必要とする通信帯域が多いノードに対して1サイクル内におけるフレーム送出機会を多く与えればよい。図9は、このように各ノードに与えるフレーム送出機会に差を設けた場合であり、1サイクルあたり、ノードAは4回、ノードBは2回、ノードC,Dは1回のフレーム送出機会を与えられている。
【0058】
この場合、ノードAは、1Gbps/8×4=512Mbpsの通信帯域が与えられる。ノードBは、1Gbps/8×2=256Mbpsの通信帯域が与えられる。ノードC,Dには、1Gbps/8=128Mbpsの通信帯域が与えられる。
【0059】
<実施形態の作用・効果>
本実施形態においても、ネットワーク内における伝送遅延の最大値が決まり、送信データの到達遅延保証が可能となる。また、送信順序テーブルを用いて送信順序を管理するた
め、より柔軟な送信順序を設定することが可能である。例えば、ノードごとに割り当てる通信帯域を変えることを容易に行える。
【図面の簡単な説明】
【0060】
【図1】本実施形態に係るデータ伝送システムの論理的ネットワークトポロジーを示す図である。
【図2】本実施形態に係るデータ伝送システムに採用可能な物理的なネットワークトポロジーの例を示す図である。
【図3】各ノードの機能構成を示す図である。
【図4】第1の実施形態における、フレーム送信制御処理の流れを示すフローチャートである。
【図5】第1の実施形態における具体的なフレーム送信制御の例を説明する図である。
【図6】第2の実施形態における送信順序テーブルの例を示す図である。
【図7】第2の実施形態における送信順序テーブルの例を示す図である。
【図8】第2の実施形態における送信順序テーブルの例を示す図である。
【図9】第2の実施形態における送信順序テーブルの例を示す図である。
【符号の説明】
【0061】
1 データ伝送システム
2 ノード
21 受信インタフェース(I/F)
22 送信インタフェース(I/F)
23 フレームスケジューラ

【特許請求の範囲】
【請求項1】
複数のノードが論理的なリング型ネットワークを形成するデータ伝送システムであって、
各ノードは、
固定長のフレームを送信するものであり、
上流ノードから受信したフレームを下流ノードへ転送するとともに、
あらかじめ定められたタイミングで自ノードからのフレームを送信する
ことを特徴とするデータ伝送システム。
【請求項2】
各ノードのフレーム送信タイミングは、あらかじめ定められた他ノードからのフレームを転送したタイミングの次のタイミングである
ことを特徴とする請求項1に記載のデータ伝送システム。
【請求項3】
各ノードのフレーム送信タイミングは、送信順序テーブルとしてあらかじめ定義されており、
各ノードは該送信順序テーブルにしたがってフレームの送信を行う
ことを特徴とする請求項1に記載のデータ伝送システム。
【請求項4】
前記送信順序テーブルには、必要とする通信帯域が多いノードほど、1周期内における送信回数が多く定められている
ことを特徴とする請求項3に記載のデータ伝送システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate