(57)【要約】【課題】データ転送の遅延をネットワーク全体として低減させる。【解決手段】ゲートウェイ装置５には複数のＣＡＮバス１，２，３が接続されている。ゲートウェイ装置５は、あるＣＡＮバスから他のＣＡＮバスにメッセージを転送する機能を有する。ゲートウェイ装置５が複数のＣＡＮバスにメッセージを転送するには、ソウトウェア処理により一バスごとに転送処理を行う。ルーティングテーブル１４は、この場合のメッセージの転送の順序として、当該転送の対象となるメッセージより送信の優先度の高いメッセージが転送先となるＣＡＮバスを占有する時間が長いバス順となるようにしている。【選択図】図１
2013126119.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で同一メッセージを複数のバスに転送する場合には一バスごとに転送処理を行うゲートウェイ装置において、
前記バスに接続されているいずれかのノードから送信されたメッセージを受信する受信手段と、
前記メッセージの識別表示ごとに当該メッセージの転送先となる前記バス及び複数の前記バスに同一のメッセージを転送する場合の転送の順序を記録している記録手段と、
前記受信手段で受信した前記メッセージの前記識別表示について前記記録手段を参照して当該識別表示に対応する前記転送先のバスを決定する決定手段と、
前記決定手段で決定された前記転送先のバスに転送メッセージを送信する送信手段と、
を備え、
前記記録手段は、前記転送の順序として、当該転送の対象となるメッセージより送信の優先度の高いメッセージが前記転送先となるバスを占有する時間が長いバス順となるように記録している、
ことを特徴とするゲートウェイ装置。
【請求項２】
前記記録手段は、前記転送の対象となるメッセージより送信の優先度の高いメッセージが前記転送先となるバスを占有する時間が複数のバスで等しい場合は、バス負荷率が高いバスの順に転送するように記録している、ことを特徴とする請求項１に記載のゲートウェイ装置。
【請求項３】
ゲートウェイ装置と複数のバスとがネットワーク上で接続されているネットワークシステムにおいて、
前記ゲートウェイ装置は、請求項１又は２に記載のゲートウェイ装置である、
ことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上で同一メッセージを複数のバスに転送する場合には一バスごとに転送処理を行うゲートウェイ装置及び当該ゲートウェイ装置を含むネットワークシステムに関する。
【背景技術】
【０００２】
車両内のネットワークにＣＡＮ（Controller Area Network）通信が広く利用されている。ＣＡＮ通信では、送信するメッセージごとに当該メッセージのＩＤ番号により送信の優先度が設定されており、バス送信時に送信要求が同時に発生した場合は当該優先度に基づき調停がなされ、ＩＤ番号の小さいメッセージから送信される。
また、バスが複数存在する場合は、バス間のデータを中継するゲートウェイ装置を設けることが一般的である。ゲートウェイ装置はメッセージを受信すると、受信・送信バスの情報を記録したルーティングテーブル（ゲートウェイ装置が備えている）に従って送信先のバスへの転送処理（ルーティング処理）を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８‐３０６６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＣＡＮ通信のバス（ＣＡＮバス）を複数備えたネットワークでは、ゲートウェイ装置が１つのバス（ＣＡＮバス以外のバスも含む）から受信したメッセージを２つ以上のＣＡＮバスに転送する場合がある。
この場合に、ルーティング処理をソフトウェア処理により実施すると、複数のバスへのメッセージの転送を同時に処理することはできず、一バスごとに処理を行うことになるため、ソフトウェア遅延が発生し、処理の順番が遅いバスほどゲートウェイ装置における遅延時間が長くなってしまう。
【０００５】
この場合の処理の順番はバス負荷率（ある期間内でバスを使用している時間の割合）が高いＣＡＮバスの順とするのが一般的である。
しかしながら、ＣＡＮバスごとに送信対象となるメッセージのＩＤ番号の分布は異なっているために、あるＣＡＮバスにゲートウェイ装置で転送するメッセージよりも優先されるメッセージの数と当該ＣＡＮバスでのバス負荷率との間に相関関係はなく、ルーティング処理における処理の順番はバス負荷率の高い順とすることは、システム全体のデータ転送の早期完了の観点からは必ずしも全てのメッセージについて最適であるとはいえないという不具合がある。
本発明の目的は、データ転送の遅延をネットワーク全体として低減させることができるようにすることである。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、ネットワーク上で同一メッセージを複数のバスに転送する場合には一バスごとに転送処理を行うゲートウェイ装置において、前記バスに接続されているいずれかのノードから送信されたメッセージを受信する受信手段と、前記メッセージの識別表示ごとに当該メッセージの転送先となる前記バス及び複数の前記バスに同一のメッセージを転送する場合の転送の順序を記録している記録手段と、前記受信手段で受信した前記メッセージの前記識別表示について前記記録手段を参照して当該識別表示に対応する前記転送先のバスを決定する決定手段と、前記決定手段で決定された前記転送先のバスに転送メッセージを送信する送信手段と、を備え、前記記録手段は、前記転送の順序として、当該転送の対象となるメッセージより送信の優先度の高いメッセージが前記転送先となるバスを占有する時間が長いバス順となるように記録している、ことを特徴とするゲートウェイ装置である。
【０００７】
（２）この場合に、前記記録手段は、前記転送の対象となるメッセージより送信の優先度の高いメッセージが前記転送先となるバスを占有する時間が複数のバスで等しい場合は、バス負荷率が高いバスの順に転送するように記録している、ことを特徴とする、ようにしてもよい。
（３）本発明の別の態様は、ゲートウェイ装置と複数のバスとがネットワーク上で接続されているネットワークシステムにおいて、前記ゲートウェイ装置は、（１）又は（２）のゲートウェイ装置である、ことを特徴とするネットワークシステムである。
【発明の効果】
【０００８】
本発明の態様によれば、データ転送の遅延をネットワーク全体として低減させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態であるネットワークシステムの全体構成を示すブロック図である。
【図２】本発明の一実施の形態であるネットワークシステムのルーティングテーブルの説明図である。
【図３】本発明の一実施の形態であるネットワークシステムのゲートウェイ装置が実行するメッセージの転送処理のフローチャートである。
【図４】本発明の一実施の形態であるネットワークシステムで送受信されるメッセージの一例を説明する説明図である。
【図５】本発明の一実施の形態であるネットワークシステムのゲートウェイ装置の動作を説明するタイミングチャートである。
【図６】比較例であるゲートウェイ装置の動作を説明する説明図である。
【図７】本発明の一実施の形態であるネットワークシステムのゲートウェイ装置の動作を説明する説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施の形態について説明する。
図１は、本発明の一実施の形態であるネットワークシステムの全体構成を示すブロック図である。このネットワークシステムは、例えば車両に搭載されるシステムであり、複数のバス１，２，３を備えている。各バス１，２，３は、この例では、ＣＡＮ（Controller Area Network）通信でデータの送受信を行うＣＡＮバスである。各ＣＡＮバス１，２，３は、ゲートウェイ装置５にそれぞれ接続されている。もちろん、ゲートウェイ装置５には、ＣＡＮ通信以外の通信プロトコルで通信を行うバスが接続されていてもよい。各ＣＡＮバス１，２，３にはそれぞれ１つ以上のノード６が接続されている。各ノード６は、エンジン・コントロール・ユニット（ＥＣＵ）などの制御装置やセンサ等である。なお、図１においては各ノード６に当該ノード６の識別番号を付している
ゲートウェイ装置５は、マイクロコンピュータにより動作して、メッセージ受信手段１１、メッセージ転送先設定手段１２、メッセージ送信手段１３の各機能を実現し、また、ルーティングテーブル１４を備えている。
【００１１】
メッセージ受信手段１１は、ＣＡＮバス１，２，３のいずれかのノード６から送信されたメッセージを受信する受信手段となる。
ルーティングテーブル１４は、図２に示すように、ネットワークシステム１でやりとりするメッセージの識別表示となるＩＤ番号ごとに当該メッセージの転送先となるＣＡＮバスの特定及び複数のＣＡＮバスに同一のメッセージを転送する場合のＣＡＮバス間の転送の順序を記録している記録手段となる。
【００１２】
メッセージ転送先設定手段１２は、メッセージ受信手段１１で受信したメッセージのＩＤ番号についてルーティングテーブル１４を参照して当該ＩＤ番号に対応するメッセージの転送先となるＣＡＮバスを決定する決定手段となる。
メッセージ送信手段１３は、メッセージ転送先設定手段１２で決定された転送先のＣＡＮバスに転送するメッセージを送信する送信手段となる。
【００１３】
図２は、ルーティングテーブル１４の説明図である。図２に示すルーティングテーブル１４の例では、“１００”、“１５０”、“３００”のＩＤ番号のメッセージについて、ゲートウェイ装置５がメッセージを受信すべきＣＡＮバスである“受信バス”、最初にメッセージを転送すべきＣＡＮバスである“転送先バス１”、次にメッセージを転送すべきＣＡＮバスである“転送先バス２”が互いに関連付けられて記録されている（ＣＡＮバスは符号のみ表示）。例えば、ＩＤ番号“１００”のメッセージについては、“受信バス”がＣＡＮバス１、最初にメッセージを転送すべき“転送先バス１”がＣＡＮバス３、次にメッセージを転送すべき“転送先バス２”がＣＡＮバス２である。
【００１４】
図３は、ゲートウェイ装置５が実行するメッセージの転送処理のフローチャートである。ゲートウェイ装置５はメッセージの転送処理（ルーティング処理）をソフトウェア処理により実行する。図３の処理は、周期的な繰り返し処理で行われる場合と、ノード６にそれぞれ内蔵されているＣＡＮコントローラ（図示せず）がメッセージを受信した際に起動する割り込み処理によって実施される場合が考えられる。まず、メッセージ受信手段１１によりメッセージを受信すると(ステップＳ１)、当該メッセージのＩＤ番号を取得し、当該ＩＤ番号によりルーティングテーブル１４からルーティング情報を検索する(ステップＳ２)。次に、ルーティングテーブル１４の情報により当該メッセージの受信したＣＡＮバス以外のＣＡＮバスへの転送の有無を判断する(ステップＳ３)。メッセージの受信したＣＡＮバス以外のＣＡＮバスへの転送が必要なルーティング対象のメッセージであったときは(ステップＳ３のＹ)、メッセージを転送すべき各ＣＡＮバスへの転送処理順序をルーティングテーブル１４の情報により決定する(ステップＳ４)。もちろん、メッセージを転送すべきＣＡＮバスが一つであれば、当該ＣＡＮバスにのみメッセージが転送される。そして、転送対象のＣＡＮバスの送信メッセージボックス（図示せず）に保存し、送信設定する(ステップＳ５)。この状態ではメッセージは送信待ちの状態となり、ＣＡＮバスにおける調停に従い優先権を取得した時点でメッセージが目的のＣＡＮバスに転送される。
【００１５】
次に、かかるメッセージの転送処理について具体例により詳細に説明する。ＣＡＮ通信では、送信するメッセージごとに当該メッセージのＩＤ番号により送信の優先度が設定されており、バス送信時に送信要求が同時に発生した場合は当該優先度に基づき調停がなされ、ＩＤ番号の数値の小さいメッセージから送信される。
ここで使用されているＣＡＮ通信の通信プロトコルには、次のような特徴がある。
【００１６】
（１）マルチマスタ：ＣＡＮバスが空いていれば全てのノード６がメッセージを送信することができる。
（２）マルチキャスト：全てのノード６はメッセージを同時に受信する。
（３）システム柔軟性：メッセージの内容はメッセージに対応付けられたＣＡＮバス内で固有の識別表示であるＩＤ番号により定義され、このＩＤ番号により送信元と受信元のデバイスが特定される。
【００１７】
（４）衝突検出方法：メッセージに付加されるＩＤ番号がネットワークシステム上の優先順位も定義し、複数のノード６が同時にメッセージを送信しようとすると、バス調停により優先順位の高いＩＤ番号（番号が小さいほど優先度が高い）のメッセージが送信権を取得し、優先順位の低いＩＤ番号のメッセージは送信を中止する。
【００１８】
前述のとおり、図３の処理は、周期的な繰り返し処理で行われる場合と、ノード６にそれぞれ内蔵されているＣＡＮコントローラ（図示せず）がメッセージを受信した際に起動する割り込み処理によって実施される場合が考えられるが、周期的な繰り返し処理で行われる場合には、周期の短いものに高い優先度を割り付けている。
【００１９】
図４は、本ネットワークシステムで送受信されるメッセージの一例を説明する説明図である。図４においては、複数のメッセージについて、その「ＩＤ番号」、「周期（msec）」（メッセージを周期的な繰り返し処理で送信する場合の周期）、「データフィールド」（何バイトのデータが送信されるかを示す）を示している。また、ＣＡＮバス１，２，３それぞれについて各メッセージにつき、送信メッセージ、ゲートウェイ転送メッセージ、これらのメッセージの送信なし、の別を、二重丸、一重丸、“−”により示している。送信メッセージは、ＣＡＮバス１，２又は３により送信されるメッセージである。ゲートウェイ転送メッセージは、ゲートウェイ装置５によりＣＡＮバス１，２，３のうちの１又は複数に転送されるメッセージである。送信メッセージの二重丸にカッコ書きで付記されている数字はどのノード６から送信されるか、そのノード６の番号である（図１参照）。ＣＡＮバス１、ＣＡＮバス２、ＣＡＮバス３の文字の下にカッコ書きで付記されている５％、１２．５％、１５．５％の各値は、バス負荷率（ある期間内でバスを使用している時間の割合）であり、この例では、メッセージ長を２５０μsecとして算出した値である。また、前述のとおり、ＩＤ番号の数値の小さいメッセージほど送信の優先度が高い。さらに、周期の短いメッセージほど高い優先度を割り付けている。よって、図４は、上に表示されるメッセージほど送信の優先度が高い。
【００２０】
まず、図４の各ＩＤ番号のメッセージは、二重丸の付されたＣＡＮバスに送信される。この例では、二重丸にカッコ書きで付記されている数字はどのノード６から送信されるか、そのノード６の番号であるから、ＩＤ番号が“１００”、“１５０”、“３００”のメッセージにおいては、それぞれノード番号が“１１”、“１２”、“１３”のノード６からＣＡＮバス１に送信され、いずれもゲートウェイ装置５により転送されてＣＡＮバス２、ＣＡＮバス３に転送されることになる。
【００２１】
ＩＤ番号が“１００”のメッセージは本例で最も優先度が高いため、各ＣＡＮバスにおける調停では常に優先され、転送先のＣＡＮバスにおいて送信待ちとなれば、他のメッセージが送信中に別のノード６のメッセージが送信開始待ちになった場合でもバス調停に勝つ。よって、送信中の他のメッセージの送信完了と同時にＩＤ番号が“１００”のメッセージの送信が開始される。
【００２２】
ＩＤ番号が“１５０”のメッセージは、ＣＡＮバス３においてはゲートウェイ装置５が転送する他のメッセージを除いて最も優先度が高い。そのため、ＩＤ番号が“１００”のメッセージと同様に、転送先のＣＡＮバス３において送信待ちになったとき、別のメッセージが送信中の場合は送信中の別のメッセージの送信完了と同時にＩＤ番号が“１５０”のメッセージの送信が開始される。一方、ＣＡＮバス２においては、ゲートウェイ装置５が転送する他のメッセージを除いて最も優先度が低いため、別のノード６のメッセージが送信開始待ちになった場合にはバス調停に負け、送信開始待ちになった全てのメッセージが送信完了しなければ送信が開始されず、ゲートウェイ装置５における転送遅延時間が長くなってしまう。
【００２３】
このような状況は、バス負荷率に応じた確率で発生するため、ＣＡＮバス内の優先度が低いメッセージの転送においては調停負けが発生する確率の高いＣＡＮバスほどゲートウェイ装置５の遅延を小さくすることが必要となる。
【００２４】
前述のとおり、ルーティング処理をソフトウェア処理により実施する場合は、図５のタイミングチャートに示すように、１つのＣＡＮバスごとに順次処理を行うためソフトウェア遅延が発生し、処理の順番が遅いＣＡＮバスほどゲートウェイ装置５における遅延時間が長くなってしまう。すなわち、図５の例では、ゲートウェイ装置５は、（１）のタイミングで、メッセージを送信するＣＡＮバス（この例でＣＡＮバス１）からメッセージを受信し、（２）のタイミングでメッセージの転送先、転送順を決定し、この決定により、（３）のタイミングで１つ目のＣＡＮバス（この例でＣＡＮバス３）に送信し、さらに、（４）のタイミングで２つ目のＣＡＮバス（この例でＣＡＮバス２）に送信している。
【００２５】
したがって、転送するメッセージより優先度の高いメッセージが転送するメッセージの例えば送信周期内に転送先のＣＡＮバスを占有する時間が長いＣＡＮバスの順にルーティング処理を行う必要がある。図２に示すルーティングテーブル１４の例では、このようなルーティング処理を行えるような設定としている（ＩＤ番号が“１５０”、“３００”のメッセージの場合）。
【００２６】
より詳細な具体例について説明する。図４のＩＤ番号“１５０”のメッセージにおいては、ＣＡＮバス１でメッセージの送信が行われ、ＣＡＮバス２，３にメッセージを転送することになる。そして、ＩＤ番号“１５０”のメッセージより高い優先度のメッセージが、転送するメッセージの送信周期である１０msec内に転送先のＣＡＮバスを占有する時間は次のようになる。メッセージ長を２５０μsecとすると、ＣＡＮバス２では、１０msec周期の高い優先度のメッセージが４つあるため（ＩＤ番号が“１００”〜“１３０”の４つ）、“２５０×４＝１０００μsec”となる。ＣＡＮバス３では、１０msec周期の高い優先度のメッセージが１つだけなので（ＩＤ番号が“１００”の１つ）、“２５０×１＝２５０μsec”となる。よって、バス負荷率が低くてもＣＡＮバス２の方をＣＡＮバス３に優先させてメッセージの転送処理をする方が有利となる。
【００２７】
このようなファイル転送の順番とすることで、ゲートウェイ装置５でのファイルの転送処理中に転送先のＣＡＮバスにおいて他のノード６がメッセージの送信を開始しようとした場合のメッセージの転送遅延時間を少なくすることができる。
【００２８】
例えば、２つのＣＡＮバスにメッセージを転送する場合に、２つ目のＣＡＮバスへのメッセージの転送処理中に転送先のＣＡＮバスで高い優先度のメッセージの送信要求が発生した場合に、バス負荷率の高いＣＡＮバスの順番にメッセージを転送する場合は、図６の比較例に示すようにネットワークシステム全体として転送に要する時間が大きくなってしまうが、本実施形態のように、転送するメッセージより優先度の高いメッセージが転送するメッセージの例えば送信周期内に転送先のＣＡＮバスを占有する時間が長いＣＡＮバスの順にルーティング処理を行うようにルーティングテーブル１４を設定しておけば、図７に示すようにＣＡＮバス２、ＣＡＮバス３における転送に要する時間の合計を図６の例より小さくすることができる。
【００２９】
すなわち、図６、図７の例について詳細に説明すると、まず、横方向には時間経過を示している。メッセージを受信する「受信バス」となるＣＡＮバス１でＩＤ番号が“１５０”のメッセージの送信がなされる。「ゲートウェイ処理時間」は図５の（１）〜（４）に対応してゲートウェイ装置５での各処理時間を（１）〜（４）で示している。そして、ＣＡＮバス２，３におけるメッセージの転送に要する時間を「転送に要する時間」として示している。
【００３０】
図６の例では、ゲートウェイ装置５で“（３）１つ目の転送先バスへの送信処理”を行った直後に、バス負荷率の高いＣＡＮバス３においてＩＤ番号が“１５０”のメッセージの転送を開始している。そして、その後に転送先であるＣＡＮバス２の他ノード６でメッセージの送信を開始する（その開始時刻を“他ノード送信要求時刻”として示している）。この場合に送信するのは、“１１０”、“１２０”、“１３０”のＩＤ番号のメッセージであるが、これらのメッセージはＩＤ番号が“１５０”のメッセージよりＩＤ番号が小さく、送信の優先度が高い。そのため、ゲートウェイ装置５で“（４）２つ目の転送先バスへの送信処理”がなされても、ただちにＩＤ番号が“１５０”のメッセージの転送は開始されず、“１１０”、“１２０”、“１３０”のＩＤ番号のメッセージの送信後に開始される。そのため、ＩＤ番号が“１５０”のメッセージの「転送に要する時間」は長くなっている。
【００３１】
これに対し、図７の本実施形態の場合は、転送するメッセージより優先度の高いメッセージが転送するメッセージの例えば送信周期内に転送先のＣＡＮバスを占有する時間が長いＣＡＮバスの順にルーティング処理を行うようにルーティングテーブル１４を設定しているので、ゲートウェイ装置５で“（３）１つ目の転送先バスへの送信処理”を行った直後に、ＣＡＮバス２においてＩＤ番号が“１５０”のメッセージの転送を開始している。そして、その後に転送先であるＣＡＮバス３の他ノード６でメッセージの送信を開始する（その開始時刻を“他ノード送信要求時刻”として示している）。この場合に送信するのも、“１６０”以下のＩＤ番号のメッセージであるが、これらのメッセージはＩＤ番号が“１５０”のメッセージよりＩＤ番号が大きく、送信の優先度が低い。そのため、ゲートウェイ装置５で“（４）２つ目の転送先バスへの送信処理”がなされた時点ですでに送信を開始しているＩＤ番号が“１６０”のメッセージの送信が終了すると、優先的にＩＤ番号が“１５０”のメッセージの転送を行い、その終了後にＩＤ番号が“１７０”以下の各メッセージの送信を開始している。そのため、ＩＤ番号が“１５０”のメッセージの「転送に要する時間」は短縮されている。
【００３２】
一方、ＩＤ番号が“３００”のメッセージにおいて同様に送信周期の１００msec以内に高い優先度のメッセージが占有する時間は次のようになる。ＣＡＮバス２では、１００msec内に１０msecの周期のメッセージが１０回送信され、ＩＤ番号が“３００”のメッセージより優先度が高いメッセージはＩＤ番号が“１００”〜“１５０”の５つであるため、“２５０×５×１０＝１２５００μsec”が、ＩＤ番号“３００”のメッセージより高い優先度のメッセージが、１００msec内に転送先のＣＡＮバスを占有する時間になる。また、ＣＡＮバス３では、１００msec内に１０msecの周期のメッセージが１０回送信され、ＩＤ番号が“３００”のメッセージより優先度が高いメッセージはＩＤ番号が“１００”、“１５０”〜“１９０”の６つであるため、“２５０×６×１０＝１５０００μsec”となる。よって、この場合はＣＡＮバス３からメッセージの転送を行うのが有利となる。
【００３３】
また、ＩＤ番号が“１００”のメッセージにおいては、ＩＤ番号“１００”のメッセージより高い優先度のメッセージが、１００msec内に転送先のＣＡＮバスを占有する時間は、ＣＡＮバス２と３とで等しくなる。この場合は、ＣＡＮバスのバス負荷率が高いＣＡＮバスの方が他のメッセージの送信中に当たってしまう確率が高くなるので、バス負荷率が高いＣＡＮバスを優先して、この例ではＣＡＮバス３からメッセージの転送を行う（図２参照）。
【符号の説明】
【００３４】
１    ＣＡＮバス
２    ＣＡＮバス
３    ＣＡＮバス
５    ゲートウェイ装置
１４  ルーティングテーブル
【図１】
2013126119.tif 000003
【図２】
2013126119.tif 000004
【図３】
2013126119.tif 000005
【図４】
2013126119.tif 000006
【図５】
2013126119.tif 000007
【図６】
2013126119.tif 000008
【図７】
2013126119.tif 000009