(57)【要約】【課題】優先順位の低いデータの送信完了までの待ち時間を減らす。【解決手段】ゲートウェイ装置１は、各ＢＵＳの将来の負荷率の変動を示す負荷周期の情報４０１と、ＢＵＳ１〜３を送信されるデータの優先順位の情報を含むＩＤ関連情報４０２とを記憶する記憶部４と、受信データの優先順位と、受信データの送信先ＢＵＳの負荷周期においてデータ送信が可能となる送信可能時刻とに基づいて、受信データを送信先ＢＵＳに送信する送信タイミングを決定するタイミング決定部２２２と、を備え、タイミング決定部２２２は、受信データの送信先ＢＵＳの負荷周期における送信可能時刻が、当該受信データより優先順位が高い受信データの送信タイミングより所定時間Ｐ以上早ければ、当該送信可能時刻を受信データの送信タイミングとして決定する。【選択図】図３
2018046509.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに車載機器のコントローラが接続された複数の伝送路を接続し、一の伝送路からの受信データを他の伝送路に送信するゲートウェイ装置であって、
各伝送路の将来の負荷率の変動を示す負荷周期の情報と、前記複数の伝送路を送信されるデータの優先順位の情報とを記憶する記憶部と、
前記受信データの優先順位と、前記受信データの送信先伝送路の負荷周期においてデータ送信が可能となる送信可能時刻とに基づいて、当該受信データを前記送信先伝送路に送信する送信タイミングを決定するタイミング決定部と、を備え、
前記タイミング決定部は、前記受信データの送信先伝送路の負荷周期における送信可能時刻が、当該受信データより優先順位が高い受信データの送信タイミングより所定時間以上早ければ、当該送信可能時刻を前記受信データの送信タイミングとして決定する
ことを特徴とするゲートウェイ装置。
【請求項２】
各伝送路に対応して設けられ、各伝送路からの受信データが一時的に格納される受信バッファを更に備え、
前記タイミング決定部は、前記受信バッファに格納された受信データから最も優先順位が高い受信データを選択し、当該最も優先順位が高い受信データの送信先伝送路の負荷周期における最先の送信可能時刻を前記送信タイミングとして決定することを特徴とする請求項１記載のゲートウェイ装置。
【請求項３】
各伝送路に対応して設けられ、各伝送路からの受信データが一時的に格納される受信バッファを更に備え、
前記タイミング決定部は、前記受信バッファに格納された各受信データについて、順次、送信先伝送路の負荷周期における最先の送信可能時刻を送信タイミングとして決定することを特徴とする請求項１記載のゲートウェイ装置。
【請求項４】
前記タイミング決定部は、前記受信データの決定した送信タイミングと、当該受信データより先に決定した受信データの送信タイミングとの間隔が所定時間より小さい場合、それらの受信データのうち、優先順位が低い受信データの送信タイミングを破棄して送信タイミングを決定し直す再決定処理を行うことを特徴とする請求項２または３記載のゲートウェイ装置。
【請求項５】
前記タイミング決定部は、前記受信データの決定した送信タイミングと、当該受信データより先に決定した受信データの送信タイミングの間隔が所定時間より小さい場合、それぞれの受信データについて、決定した送信タイミングから次の送信タイミングまでの遅延時間を算出し、それぞれの遅延時間を所定期間と比較して、いずれか一方の受信データの遅延時間が前記所定期間を上回る場合は、他方の受信データの送信タイミングを破棄して送信タイミングを決定し直す再決定処理を行う請求項２または３記載のゲートウェイ装置。
【請求項６】
双方の受信データの遅延時間が前記所定期間を上回る場合は、遅延時間が短い方の受信データの送信タイミングを破棄して送信タイミングを決定し直す再決定処理を行う請求項５記載のゲートウェイ装置。
【請求項７】
前記所定期間は、各送信先伝送路の負荷周期においてデータ送信が不可能な時間帯を示す送信不可能期間であることを特徴とする請求項５または６記載のゲートウェイ装置。
【請求項８】
前記再決定処理において、前記タイミング決定部は、送信タイミングを破棄した受信データの送信先伝送路の負荷周期において、破棄しなかった送信タイミングから所定時間経過後の送信可能時刻を選択し、当該送信可能時刻を送信タイミングとして決定することを特徴とする請求項４〜７のいずれか一項記載のゲートウェイ装置。
【請求項９】
各伝送路に対応して設けられ、前記受信データが送信先伝送路に送信されるまで一時的に格納される送信バッファと、
前記タイミング決定部によって決定された送信タイミングから所定時間を差し引いた時刻を格納時刻として決定し、当該格納時刻において、前記受信データを送信先伝送路に対応する送信バッファに格納する格納部と、を更に備えることを特徴とする請求項１〜８のいずれか一項に記載のゲートウェイ装置。
【請求項１０】
前記所定時間は、前記格納部が前記受信データを前記送信バッファに格納するのに要する時間と同じまたはそれより長い時間であることを特徴とする請求項９記載のゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ装置に関する。
【背景技術】
【０００２】
車載通信システムは、車両の各機器を制御する複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を通信速度の異なる複数の伝送路に接続し、複数の伝送路をゲートウェイ装置を介して接続したものである。ゲートウェイ装置は、異なる伝送路間でデータを転送する。すなわち、ゲートウェイ装置は、ある伝送路に接続されたＥＣＵから送信されたデータを受信して、受信データを送信先のＥＣＵが接続された他の伝送路に送信する。
【０００３】
データの中には、比較的優先度の高いデータと低いデータが存在する。ゲートウェイ装置は、データに含まれる優先順位の情報にしたがって、優先順位が上位のデータから転送処理を行う（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−３６３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、優先順位が上位のデータを先に転送処理を行っても、送信先の伝送路の負荷が高くデータ送信不可能な状態であれば、データ送信可能となるタイミングまで待機しなくてはならず、結局長い待機時間が生じることがある。一方、下位のデータの送信先の伝送路の方が、負荷の低い送信可能なタイミングが早く到来することもある。しかしながら、伝送路の負荷の状況に関係なく上位のデータが先に転送処理される。上位のデータの転送処理完了後には、下位のデータの送信先伝送路はデータ送信不可能な状態になっていることもある。この場合は、下位のデータは次の送信可能なタイミングが到来するまで待機しなくてはならない。このように、優先順位の低いデータは、待ち時間が長くなる傾向があった。
【０００６】
車両の運転や安全性に直接的に影響の無いデータは、優先順位が低くなることもある。しかしながら、例えば窓やオーディオ機器の操作データの待ち時間が長いと、ユーザの利便性や快適性に影響を与える恐れがあり、優先順位の低いデータの待ち時間を減らすことが求められている。
【課題を解決するための手段】
【０００７】
本発明は、
それぞれに車載機器のコントローラが接続された複数の伝送路を接続し、一の伝送路からの受信データを他の伝送路に送信する転送処理を行うゲートウェイ装置であって、
各伝送路の予測される負荷周期の情報と、前記複数の伝送路を送信されるデータの優先順位の情報とを記憶する記憶部と、
前記受信データの送信先伝送路の負荷周期における送信可能時刻と前記受信データの優先順位に基づいて、当該受信データを前記送信先伝送路に送信する送信タイミングを決定するタイミング決定部と、を備え、
前記タイミング決定部は、前記受信データの送信先伝送路において、当該受信データより優先順位が上位の受信データの送信タイミングより所定時間以上早い送信可能時刻が存在する場合、前記送信可能時刻を前記受信データの送信タイミングとして決定する、構成とした。
【発明の効果】
【０００８】
本発明によれば、優先順位の低いデータの送信完了までの待ち時間を減らすことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態にかかるゲートウェイ装置を含む車載通信システムの概略構成図である。
【図２】実施の形態にかかるゲートウェイ装置のハードウェア構成を示すブロック図である。
【図３】実施の形態にかかるゲートウェイ装置の機能構成を含むブロック図である。
【図４】負荷周期の情報の一例を示す図である。
【図５】受信バッファに受信データが格納されている状態の例を示す図である。
【図６】識別子関連情報の一例を示す図である。
【図７】転送管理テーブルの一例を示す図である。
【図８】送信タイミングの間隔が所定時間より小さい例を示す図である。
【図９】実施の形態にかかるゲートウェイ装置の処理を示すフローチャートである。
【図１０】図９のステップＳ０５の処理の詳細を示すフローチャートである。
【図１１】図９のステップＳ０５の処理の詳細を示すフローチャートであり、図１０の続きである。
【図１２】実施の形態にかかるゲートウェイ装置の転送処理の一例を示すタイムチャートである。
【図１３】比較例のゲートウェイ装置の転送処理の一例を示すタイムチャートである。
【図１４】同時刻に受信した２つのデータの転送処理のパターンを示す図である。
【図１５】図１１に代わり、変形例２にかかるゲートウェイ装置の処理を示すフローチャートである。
【図１６】変形例２のゲートウェイ装置の転送処理の一例を示すタイムチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を説明する。
図１は、本発明の実施の形態にかかるゲートウェイ装置１を用いた車載ネットワーク１００の概略構成図である。
【００１１】
図１に示すように、車両Ｖには複数のコントローラ（以下、「ＥＣＵ」と標記する）１〜６が設置されている。ＥＣＵ１〜６は、それぞれ、車両Ｖに搭載された各種の車載機器を制御するマイクロコンピュータである。車載機器は、例えば、エンジン、ブレーキ、パワーウィンドウ、オーディオ機器、空調装置等がある。車両Ｖを動作させる際にはＥＣＵ１〜６間でもデータを交換する必要があるため、車両Ｖには車載ネットワーク１００が構築されている。車載ネットワーク１００は、車両Ｖ内に敷設された伝送路である複数のＣＡＮバス（以下、「ＢＵＳ１、２、３」と標記する。）と、各ＢＵＳに接続されたゲートウェイ装置１を有する。ＢＵＳ１〜３にはそれぞれＥＣＵ１〜６が接続されている。具体的には、ＢＵＳ１にはＥＣＵ１、２が接続され、ＢＵＳ２にはＥＣＵ３、４が接続され、ＢＵＳ３にはＥＣＵ５、６が接続されている。
【００１２】
車載ネットワーク１００において、同じＢＵＳに接続されたＥＣＵ間でもデータの交換が行われるが、異なるＢＵＳに接続されたＥＣＵ間でもデータの交換が行われる。その場合は、データは送信元ＥＣＵが接続されたＢＵＳからゲートウェイ装置１に送信され、ゲートウェイ装置１が受信データを送信先ＥＣＵが接続されたＢＵＳに転送する。
【００１３】
本発明の実施の形態では、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信システムを用いた車載ネットワーク１００の例を説明する。ＣＡＮ通信システムでは、ＣＡＮフレームと呼ばれるデータが送受信される。ＣＡＮフレームのデータには、識別子（ＩＤ）が含まれている。データは、送信元ＥＣＵ、送信先ＥＣＵおよび優先順位等で分類され、その分類に応じたＩＤが付与される。優先順位は、送信元または送信先ＥＣＵが制御する車載機器の重要度やデータの内容の重要度に応じて決定される。
【００１４】
車載機器にはさまざまな種類があるが、例えば、エンジンまたはブレーキ等の運転や車両Ｖの安全性に直接的に関連のある機器は、重要度が高くなる傾向がある。そのため、これらの機器を制御するＥＣＵから送信されるデータは、優先順位が高くなる。また、あくまで一例であるが、オーディオ機器または空調装置等の運転や車両Ｖの安全性に直接的に関連しない機器は重要度が低くなり、これらを制御するＥＣＵから送信されるデータも優先順位が低くなることがある。
【００１５】
車両Ｖの運転中、ＢＵＳ１〜３の間では常に複数のデータの送受信が行われる。ＣＡＮ通信システムでは、データに優先順位を付けることで、重要度の高い車載機器のＥＣＵから送信されたデータが、常に優先して送信されるようになっている。例えば、同じＢＵＳ１に接続されているＥＣＵ１とＥＣＵ２から同時にデータが出力された場合、ＥＣＵ１のデータの優先順位が高ければ、ＥＣＵ１のデータが先にＢＵＳ１を送信される。ＢＵＳ１〜３がデータ送信に使用されている間は、他のデータを送信することはできない。ＥＣＵ２のデータは、ＥＣＵ１のデータ送信が完了してから送信される。
【００１６】
ゲートウェイ装置１においても、優先順位が高い（上位）データを優先して送信することが望ましい。しかしながら、上位のデータであっても、その送信先ＢＵＳが他のデータ送信に使用されていて送信不可能であれば、送信可能となるまで待機しなくてはならない。上位のデータが待機している間に、優先順位が低い（下位）データの送信先ＢＵＳが送信可能となるのであれば、下位のデータを先に送信した方が、効率が良い。そこで、本発明の実施の形態にかかるゲートウェイ装置１は、優先順位だけでなくＢＵＳ１〜３の状況も参照して各データを送信するタイミング（送信タイミング）を決定する。詳細については、ゲートウェイ装置１の構成とともに説明する。
【００１７】
図２は、ゲートウェイ装置１のハードウェア構成を示すブロック図である。図３は、ゲートウェイ装置１の機能構成を含むブロック図である。図２に示すように、ゲートウェイ装置１は、プロセッサ２、タイマ３、記憶部４、および入出力ポート（Ｉ／Ｏ）５を備え、これらが内部バス６を介して互いに接続されている。
【００１８】
入出力ポート５には、ＢＵＳ１〜３が接続されている。プロセッサ２は、ＭＰＵまたはＣＰＵ等で構成される。タイマ３はクロックまたはカウンタであり、時刻を出力する。記憶部４は、ＲＯＭ等の不揮発性メモリと、ＲＡＭ等の揮発性メモリを含む。プロセッサ２が記憶部４のＲＯＭに記憶されたプログラムをＲＡＭに読み出して実行することで、図３に示す機能構成を実現する。
【００１９】
図３に示すように、プロセッサ２は、負荷監視部２１および転送部２２を有する。なお、図３に図示されている受信バッファＲＢ１、ＲＢ２、ＲＢ３と送信バッファＴＢ１、ＴＢ２、ＴＢ３は、記憶部４のＲＡＭ上に構築されるものである。受信バッファＲＢ１、ＲＢ２、ＲＢ３と送信バッファＴＢ１、ＴＢ２、ＴＢ３は転送部２２の処理に関係するため、図３では記憶部４と別に図示している。
【００２０】
図３に示すように、記憶部４は、転送部２２での処理に必要なデータとして、負荷周期の情報４０１、ＩＤ関連情報４０２、転送管理テーブル４０３を記憶する。負荷周期の情報４０１は負荷監視部２１によって定期的に作成され保存される。ＩＤ関連情報４０２は予め作成され保存されている。転送管理テーブル４０３は、転送部２２での処理の際に、随時更新される。これらの情報の詳細については、負荷監視部２１および転送部２２とともに説明する。
【００２１】
負荷監視部２１は、ＢＵＳ１〜３のデータ送信の状況を常時監視している。ＢＵＳ１〜３間のデータ送信は定期的に行われる傾向があるため、ＢＵＳ１〜３はデータ送信に使用されている負荷が高い状態と、データ送信に使用されていない負荷が低い状態を一定の周期で繰り返す。そのため、データ送信の状況を監視することによって、将来の各時刻においてＢＵＳ１〜３がデータ送信に使用されるか否かを推定することができる。
【００２２】
負荷監視部２１は、ＢＵＳ１〜３のデータ送信の履歴を用いて、各ＢＵＳの将来の負荷率（占有率）の推定値を算出し、この負荷率を時系列でまとめて、負荷率の変動を示す負荷周期の情報４０１を作成する。
【００２３】
図４は、負荷監視部２１によって作成された負荷周期の情報４０１の一例を示す図である。図４に示すように、各ＢＵＳは、負荷率が所定値Ｒ以下となり、データが送信できる可能が高い時間帯（以下、「送信可能期間」という）と、負荷率が所定値Ｒ以上となり、データが送信できない可能性が高い時間帯（以下、「送信不可能期間」という）が交互に現れる。すなわち、負荷周期は、送信可能期間と送信不可能期間を一サイクルとするものである。図４において点線で丸囲みした部分が送信可能期間であり、そこに含まれる各時刻が送信可能時刻である。負荷周期のサイクルはＢＵＳ１〜３によってそれぞれ異なる。ＢＵＳ１は、一サイクルが比較的長く、送信可能期間と送信不可能期間の長さも同じくらいである。ＢＵＳ２は一サイクルが比較的短く、一サイクルの中の送信可能期間も比較的短い。ＢＵＳ３も一サイクルは比較的短いが、一サイクルの中の送信可能時間は比較的長い。
【００２４】
転送部２２は、負荷監視部２１によって作成された負荷周期の情報４０１を用いて、転送処理を行う。転送処理とは、ＢＵＳ１〜３のいずれかからの受信データを、送信先の他のＢＵＳ１〜３に送信するための処理である。具体的には、ＢＵＳ１〜３から送信され受信バッファＲＢ１〜ＲＢ３に一時的に格納された各受信データについて、送信タイミングを決定し、送信タイミングに基づいて格納時刻を決定し、格納時刻において送信先ＢＵＳ１〜３に対応する送信バッファＴＢ１〜ＴＢ３に格納する処理である。
【００２５】
転送部２２の具体的な説明の前に、受信バッファＲＢ１〜ＲＢ３および送信バッファＴＢ１〜ＴＢ３について説明する。図３に示すように、受信バッファＲＢ１〜ＲＢ３および送信バッファＴＢ１〜ＴＢ３は、ＢＵＳ１〜３それぞれに対応して設けられている。
【００２６】
図５は、受信バッファＲＢ１〜ＲＢ３に受信データが格納されている状態を示す図である。
受信バッファＲＢ１〜ＲＢ３および送信バッファＴＢ１〜ＴＢ３は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）のリングバッファである。リングバッファの一領域は、ＢＵＳ１〜３を送信されるデータの最大長と同じ大きさに予め設定され、一つの領域に一つの受信データが格納される。同じＢＵＳから送信された受信データは、対応する受信バッファに、受信した順序で格納される。そして、同じ受信バッファに格納されたデータは、格納した順序で読み出される。
【００２７】
図５の例では、ＩＤ００１〜００３のデータを、それぞれＢＵＳ１〜３から同時に受信し、ＩＤ００４のデータは、ＢＵＳ２から、ＩＤ００３の後で受信した場合を示している。ＩＤ００４は、ＩＤ００３の後列の領域に格納される。
【００２８】
送信バッファＴＢ１〜ＴＢ３も、受信バッファＲＢ１〜ＲＢ３と同様に、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）のリングバッファである。すなわち、同じ送信バッファに格納された受信データは、格納した順序で読み出されて対応するＢＵＳ１〜３に送信される。各送信バッファＴＢ１〜３に格納された受信データは、対応するＢＵＳ１〜３が送信可能な状態であればただちに送信される。対応するＢＵＳ１〜３が送信不可能な状態であれば、受信データはＢＵＳ１〜３が送信可能な状態となるまで待機する。
【００２９】
転送部２２の具体的な説明に移る。図３に示すように、転送部２２は、受信データ登録部２２１、タイミング決定部２２２、および格納部２２３を備える。
【００３０】
受信データ登録部２２１は、受信バッファＲＢ１〜ＲＢ３に受信データが格納されると、受信データを読み出して、受信データに含まれるＩＤを取得する。読み出した受信データは記憶部４に一時的に保存される。複数の受信バッファに同時に受信データが格納された場合、読み出す順序は適宜決定することができる。例えば、重要度の高い車載機器のＥＣＵが接続されたＢＵＳに対応する受信バッファから、読み出しを行うように設定しても良い。複数の受信バッファに非同時に受信データが格納された場合は、格納された順に読み出しを行う。例えば、図５の例では、受信データ登録部２２１は、ＩＤ００１〜ＩＤ００３を読み出した後に、ＩＤ００４の読み出しを行う。
【００３１】
受信データ登録部２２１は、続いて記憶部４のＩＤ関連情報４０２を参照する。
図６は、ＩＤ関連情報４０２の一例を示す図である。
ＩＤ関連情報４０２は、各ＩＤに関連し、かつ転送処理に必要な情報をまとめたものである。ＩＤ関連情報４０２は、例えば、各ＩＤに対応する送信の優先順位と送信先ＢＵＳの情報を含む。図６では、ＩＤ００１〜ＩＤ００４の４つのＩＤに関連する情報が表示されているが、ＩＤ００１の優先順位が最も高く、ＩＤ００４の優先順位が最も低い。また、ＩＤ００１の送信先がＢＵＳ１、ＩＤ００２の送信先はＢＵＳ２、ＩＤ００３の送信先はＢＵＳ３、ＩＤ００４の送信先がＢＵＳ１と表示されている。
【００３２】
さらに、受信データ登録部２２１は、受信データの情報を転送管理テーブル４０３に登録する。登録する受信データの情報は、受信データから取得したＩＤと、ＩＤ関連情報４０２から取得した優先順位および送信先ＢＵＳの情報である。
【００３３】
図７の（ａ）および（ｂ）は、それぞれ転送管理テーブル４０３の一例を示す図である。図７の（ａ）はＩＤ００１〜００３の受信データが転送管理テーブル４０３に登録された状態を示し、図７の（ｂ）はＩＤ００４の受信データが転送管理テーブル４０３に後から追加された状態を示す。
【００３４】
転送管理テーブル４０３は、受信データの転送処理に必要な情報を管理するテーブルである。転送管理テーブル４０３は、前記したＩＤ、優先順位、送信先ＢＵＳの情報に加えて、送信タイミング、格納時刻の情報が書き込まれる。詳細は後述するが、送信タイミングはタイミング決定部２２２によって、格納時刻は格納部２２３によって、それぞれ書き込まれる。
【００３５】
受信データ登録部２２１は、受信バッファＲＢ１〜ＲＢ３に格納された受信データの情報を、順次転送管理テーブル４０３に登録する。受信データの転送処理が完了すると、転送管理テーブル４０３からその受信データの情報が削除される。そのため、転送管理テーブル４０３は随時変更される。
【００３６】
図５に示したように、同時に受信バッファＲＢ１〜ＲＢ３に格納された受信データＩＤ００１〜ＩＤ００３は、転送管理テーブル４０３に同時に登録される。受信データ登録部２２１は、受信バッファＲＢ１〜ＲＢ３から受信データを読み出した順序で転送管理テーブル４０３への登録を行う。そのため、図７の（ａ）に示すように、優先順位が上位の受信データ（ＩＤ００１）が下位の受信データ（ＩＤ００２）よりも下に記載されることもある。また、図７の（ｂ）に示すように、後から受信し、受信バッファＲＢ１の後列に格納されたＩＤ００４は、転送管理テーブル４０３の一番下に追加登録される。
【００３７】
タイミング決定部２２２は、転送管理テーブル４０３に受信データが登録されると、各受信データについて、送信先ＢＵＳの負荷周期における送信可能時刻と受信データの優先順位に基づいて、送信タイミングを決定する。具体的には、以下の（ｉ）〜（ｉｖ）の処理を行う。
（ｉ）最も優先順位が高い受信データから送信タイミングの決定を行う
（ｉｉ）送信先ＢＵＳの負荷周期における最先の送信可能時刻を送信タイミングとして決定する
（ｉｉｉ）送信タイミングの間隔が所定時間Ｐより小さければ、下位の受信データの送信タイミングを破棄する
（ｉｖ）送信タイミングを破棄した受信データについて、送信タイミングの再決定処理を行う
以下、各処理の詳細について説明する。
【００３８】
（ｉ）最も優先順位が高い受信データから送信タイミングの決定を行う
受信バッファＲＢ１〜ＲＢ３に同時に受信データが格納されると、転送管理テーブル４０３に、それらの受信データの情報がほぼ時間差無く登録される。つまり、転送管理テーブル４０３に、まだ送信タイミングが書き込まれていない複数の受信データが存在することになる。タイミング決定部２２２は、それらの受信データの優先順位を比較して、最も優先順位が最も高い受信データを選択し、最も優先順位が高い受信データから送信タイミングを決定する。なお、転送管理テーブル４０３に１つしか受信データが無い場合は、その１つの受信データを最も優先順位が高い受信データとして選択する。
【００３９】
前記したように、優先順位が高い（上位）のデータの送信先ＢＵＳがすぐに送信可能とならない例もあるが、もちろん、上位のデータの送信先ＢＵＳがすぐに送信可能となることもある。その場合は、上位の受信データを下位の受信データの送信タイミングを先に決定していると、その間に上位の受信データの送信先ＢＵＳが送信不可能な状態になってしまう可能性もある。よって、タイミング決定部２２２は、転送管理テーブル４０３に登録された受信データのうち、優先順位が上位の受信データから送信タイミングを決定していく。
【００４０】
例えば、図７の（ａ）の例では、ＩＤ００１の受信データの優先順位が１位であるため、タイミング決定部２２２はＩＤ００１を選択する。
【００４１】
最も優先順位が高い受信データについて送信タイミングを決定した後は、転送管理テーブル４０３に登録され、まだ送信タイミングが決定されていない受信データの中で最も優先順位が高い受信データを選択する。このように常に最も優先順位が高い受信データを選択することで、全体として上位から下位へ順次送信タイミングの決定が行われる。ただし、途中で新たな受信データが受信バッファＲＢ１〜ＲＢ３に格納され、転送管理テーブル４０３に登録されることもある。その場合はその新たな受信データも含めて、最も優先順位が高い受信データを選択する。図７の（ｂ）の例では、ＩＤ００１の送信タイミングを決定した後に、ＩＤ００４が追加されているため、ＩＤ００２〜ＩＤ００４のなかで、最も優先順位が高いＩＤ００２を選択する。なお、後から追加された受信データが、ＩＤ００４ではなくＩＤ００１であれば、後から追加されたＩＤ００１の送信タイミングを先に決定することになる。
【００４２】
（ｉｉ）送信先ＢＵＳの負荷周期における最先の送信可能時刻を送信タイミングとして決定する
図８の（ａ）は、最先の送信可能時刻の選択の一例を示す図である。
タイミング決定部２２２は、選択した最も優先順位が高い受信データの送信先ＢＵＳを確認し、その送信先ＢＵＳの負荷周期の情報４０１を記憶部４から取得する。タイミング決定部２２２は、取得した負荷周期から最先の送信可能時刻を選択する。
【００４３】
その際、図８の（ａ）に示すように、タイミング決定部２２２は、タイマ３から出力される時刻を参照して、現在時刻（受信時刻）ｔ０から所定時間Ｐが経過する前の時刻を、予め除外する。所定時間Ｐは、受信データを送信バッファＴＢ１〜ＴＢ３に格納するのに要する時間である。受信データは送信バッファＴＢ１〜ＴＢ３への格納が完了しなければＢＵＳ１〜３に送信することができないため、送信タイミングは所定時間Ｐが経過した時刻以降の時刻を選択する必要がある。前記したように、送信バッファＴＢ１〜ＴＢ３の一領域は、データの最大長と同じ大きさに設定されているため、格納処理に要する時間は一定である。よって、格納処理に要する時間は予め所定時間Ｐとして決定され、記憶部４に記憶されている。
【００４４】
前記したように、送信可能時刻とは、負荷周期において負荷率が所定値Ｒ以下となる時刻である。この所定値Ｒも予め決定され、記憶部４に記憶されている。タイミング決定部２２２は、時刻ｔ０＋Ｐ以降の時刻で、かつ負荷率が所定値Ｒ以下となる時刻の中から、最先の時刻を選択して、その時刻を送信タイミングとして決定する。図８の（ａ）の例では、時刻ｔ０＋Ｐにおいて負荷率が所定値Ｒ以下となっている。タイミング決定部２２２は時刻ｔ０＋Ｐを送信タイミングとして決定する。
【００４５】
（ｉｉｉ）書き込み前と書き込み済みの送信タイミングの間隔Ｄが所定時間Ｐより小さければ、下位の受信データの送信タイミングを破棄する
図８の（ｂ）は、送信タイミングの間隔の算出と後述する送信タイミングの再決定処理の態様を示す図である。
タイミング決定部２２２は、決定した送信タイミングを転送管理テーブル４０３に書き込む。ただし、その書き込み前の送信タイミングよりも前に送信タイミングを決定し、転送管理テーブル４０３に書き込み済みの送信タイミングがある場合は、タイミング決定部２２２は、書き込みを行う前に、決定した送信タイミングと書き込み済みの送信タイミングとの間隔Ｄを算出する。この間隔Ｄが所定時間Ｐより小さくなる場合（間隔Ｄ＜所定時間Ｐ）は、それらの受信データの優先順位を比較して下位の受信データの送信タイミングを破棄する。
【００４６】
前記したようにタイミング決定部２２２は、すべての受信データについて、送信先ＢＵＳの最先の送信可能時刻の送信タイミングを決定していく。そのため、送信タイミング同士の間隔Ｄが小さくなることもある。この間隔Ｄが、所定時間Ｐ（送信バッファＴＢ１〜ＴＢ３への格納処理に要する時間）より小さくなると、後の送信タイミングを有する受信データを、決定した送信タイミングで送れなくなる可能性がある。
【００４７】
例えば、図８の（ｂ）では、ＩＤ００３とＩＤ００２の２つの受信データの送信タイミングを示している。ＩＤ００３の送信タイミングは時刻ｔ１０であり、ＩＤ００２の送信タイミングは時刻ｔ２０である。双方の受信データをｔ１０、ｔ２０で遅延なく送信先ＢＵＳに送信するためには、それぞれの送信タイミングから所定時間Ｐを差し引いた時刻から、送信先ＢＵＳへの格納を開始する必要がある。すなわち、ＩＤ００３は時刻ｔ１０−Ｐから、ＩＤ００２は時刻ｔ２０−Ｐから、それぞれ格納を開始する必要がある。ところが、ｔ１０とｔ２０の間隔Ｄは、所定時間Ｐより小さい。このため、図８の（ｂ）のハッチング部分に示すように、双方の格納処理を行う時間が重複してしまい、ＩＤ００２の格納を開始する時刻ｔ２０−Ｐまでに、ＩＤ００３の格納が完了しない。これによって、ＩＤ００２の受信データの送信に遅延が生じる可能性がある。
【００４８】
ＩＤ００２の方が上位の受信データであるため、ＩＤ００２を送信タイミングｔ２０に遅延なく送信できるようにする。すなわち、ＩＤ００２の送信タイミングｔ２０を、書き込み前か書き込み済みかに関わらず、維持し、下位のＩＤ００３の送信タイミングｔ１０は破棄する。
【００４９】
ここで、ＩＤ００３の送信タイミングｔ１０が書き込み前であれば、「破棄する」とは「転送管理テーブル４０３に書き込みを行わない」ことを意味する。ＩＤ００３の送信タイミングが書き込み済みであれば、「破棄する」とは「転送管理テーブル４０３から削除する」ことを意味する。この場合は、書き込み前のＩＤ００２の送信タイミングｔ２０は転送管理テーブル４０３に書き込む。
【００５０】
もし転送管理テーブル４０３に送信タイミングを書き込み済みの受信データが複数ある場合は、間隔Ｄの算出は、上位の受信データから順に行う。例えば、図７の（ｂ）に示したＩＤ００４については、ＩＤ００１〜ＩＤ００３の順に、送信タイミングの間隔Ｄの算出を行う。「間隔Ｄ＜所定時間Ｐ」となる書き込み済みの送信タイミングがあり、かつ書き込み済みの受信データの方が上位であれば、その時点で書き込み前の送信タイミングは破棄して、間隔Ｄの算出を終了する。
【００５１】
一方、「間隔Ｄ＜所定時間Ｐ」となる書き込み済みの送信タイミングがあり、かつ書き込み済みの受信データの方が下位であれば、書き込み済みの送信タイミングの方を破棄し、さらに下位の受信データがあれば再び間隔Ｄの算出を行う。もしさらに下位の受信データで「間隔Ｄ＜所定時間Ｐ」となるものがあれば、それらの送信タイミングは全て破棄する。
【００５２】
なお、（ｉ）で前記したように、タイミング決定部２２２は、上位の受信データから送信タイミングの決定を行う。そのため、途中で優先順位の高い受信データが転送管理テーブル４０３に登録されないかぎりは、破棄の対象となるのは、書き込み前の送信タイミングである。
【００５３】
（ｉｖ）送信タイミングを破棄した受信データについて、送信タイミングの再決定処理を行う
（ｉｉｉ）で送信タイミングを破棄した下位の受信データについて、タイミング決定部２２２は、送信タイミングを決定しなおす再決定処理を行う。その際、下位の受信データの送信タイミングが、上位の受信データの送信タイミングよりも後の時刻になるようにする。具体的には、タイミング決定部２２２は、記憶部４の負荷周期の情報４０１を参照して、（ｉｉｉ）で送信タイミングを破棄した下位の受信データの送信先ＢＵＳの負荷周期を、再度取得する。タイミング決定部２２２は、取得した送信先ＢＵＳの負荷周期から再度最先の送信可能時刻を選択する。
【００５４】
このとき、タイミング決定部２２２は、破棄しなかった送信タイミング、すなわち上位の受信データの送信タイミングから所定時間Ｐが経過する前の時刻を予め除外する。所定時間Ｐが経過する前の時刻を選択しても、その時刻までに下位の受信データの送信バッファへの格納を完了できないからである。図８の（ｂ）の例では、上位のＩＤ００２の送信タイミングｔ２０から所定時間Ｐが経過した時刻ｔ２０＋Ｐ以降の時刻から、最先の送信可能時刻を選択する。ＢＵＳ３は、ｔ２０＋Ｐの時刻においてＢＵＳ３の負荷率が所定値Ｒ以下となっているため、時刻ｔ２０＋Ｐが最先の送信可能時刻となる。
【００５５】
タイミング決定部２２２は、選択した最先の送信可能時刻を、送信タイミングとして再決定する。タイミング決定部２２２は、この再決定した送信タイミングについても、転送管理テーブル４０３に書き込む前に、書き込み済みの送信タイミングとの間隔Ｄの算出を行う。再び「間隔Ｄ＜所定時間Ｐ」となる書き込み済みの送信タイミングがあれば、優先順位の比較を行って、下位の受信データの送信タイミングを再決定する処理を繰り返す。
【００５６】
タイミング決定部２２２において、以上の（ｉ）〜（ｉｖ）の処理を行うことより、各受信データについて、上位の受信データの送信を阻害しない範囲で、最先の送信タイミングが決定される。これによって、下位の受信データであっても、その送信先ＢＵＳにおける送信タイミングが、上位の受信データの送信タイミングよりも所定時間Ｐ以上早ければ、上位の受信データよりも先に送信される。
【００５７】
格納部２２３は、転送管理テーブル４０３に書き込まれた送信タイミングから所定時間Ｐ（受信データを送信バッファＴＢ１〜ＴＢ３に格納するのに要する時間）を差し引いた時刻を、格納時刻として決定する。格納部２２３は、決定した格納時刻を転送管理テーブル４０３に書き込む。格納部２２３は、タイマ３から出力される時刻を参照し、格納時刻が到来したら、記憶部４に一時的に保存されていた受信データを、送信先ＢＵＳ１〜３に対応する送信バッファＴＢ１〜ＴＢ３に格納する。図８の（ｂ）の例であれば、ＩＰ００２は、送信タイミングｔ２０から所定時間Ｐを差し引いた時刻ｔ２０−Ｐが、格納時刻となる。ＩＰ００３は、再決定した送信タイミングｔ２０＋Ｐから所定時間Ｐを差し引いた時刻ｔ２０が格納時刻となる。
【００５８】
前記したように、送信バッファＴＢ１〜ＴＢ３はリングバッファであり、同じ送信バッファに格納された受信データは、格納した順序でしかＢＵＳ１〜３に送信することができない。受信バッファＲＢ１〜ＲＢ３に受信データが格納されてからすぐに、送信バッファＴＢ１〜ＴＢ３に格納を行うと、そこから送信タイミングまで、送信先ＢＵＳを同じとする上位の受信データを受信しても、その上位の受信データを優先して送信することができなくなってしまう。そこで、格納を送信タイミングにできるだけ近い時刻で行い、かつ送信タイミングには格納が完了し、遅延なくＢＵＳ１〜３に送信できるように、送信タイミングから所定時間Ｐを差し引いた時刻を格納時刻とする。
【００５９】
格納部２２３は、タイミング決定部２２２によって転送管理テーブル４０３に送信タイミングが書き込みされたら、順次格納時刻を決定し、転送管理テーブル４０３に書き込むが、タイミング決定部２２２によって、書き込み済みの送信タイミングが削除された場合は、格納時刻も削除する。タイミング決定部２２２によって再決定された送信タイミングが転送管理テーブル４０３に書き込まれた場合は、再決定した送信タイミングから格納時刻を決定しなおし、転送管理テーブル４０３に書き込む。
【００６０】
以下、ゲートウェイ装置１の転送部２２で実行される転送処理を説明する。図９は、転送処理を示すフローチャートである。ここでは、ＢＵＳ１〜３から同時にデータが送信され、対応する受信バッファＲＢ１〜ＲＢ３すべてに受信データが格納されている場合を前提として説明する。ただし、いずれか１つ、あるいは２つの受信バッファにのみ受信データが格納されている場合でも、特に説明している部分以外は、基本的には同様の処理を行う。なお、同時に、というのは、完全に同じ時刻だけでなく、わずかな時間差を置いて連続して受信した場合も含む。
【００６１】
ゲートウェイ装置１の受信バッファＲＢ１〜ＲＢ３に受信データが格納されると（ステップＳ０１：Ｙｅｓ）、受信データ登録部２２１は受信データを読み出し、受信データに含まれるＩＤを取得する（ステップＳ０２）。受信データ登録部２２１は、記憶部４のＩＤ関連情報４０２を参照して、受信データのＩＤに対応する優先順位および送信先ＢＵＳの情報を取得する（ステップＳ０３）。受信データ登録部２２１は、受信データの情報、すなわちＩＤと、優先順位および送信先ＢＵＳの情報を、記憶部４の転送管理テーブル４０３に登録する（ステップＳ０４）。
【００６２】
タイミング決定部２２２は、転送管理テーブル４０３に登録された受信データについて、送信タイミングを決定する処理を行う（ステップＳ０５）。図１０は、ステップＳ０５の送信タイミングの決定処理の詳細を示すフローチャートであり、図１１は図１０の続きのフローチャートである。
【００６３】
図１０に示すように、タイミング決定部２２２は、転送管理テーブル４０３に登録された受信データの優先順位を参照して、優先順位が最も高い受信データを選択する（ステップＳ５０１）。なお、転送管理テーブル４０３に一つしか受信データが登録されていない場合は、その受信データを優先順位が最も高い受信データとして選択する。
【００６４】
タイミング決定部２２２は、選択した受信データの送信先ＢＵＳの情報を確認し、記憶部４の負荷周期の情報４０１から、その送信先ＢＵＳの負荷周期を取得する（ステップＳ５０２）。タイミング決定部２２２は、取得した負荷周期において最先の送信可能時刻を選択し、この最先の送信可能時刻を送信タイミングとして決定する（ステップＳ５０３）。この際、タイマ３から出力される時刻を参照し、現在時刻から所定時間Ｐが経過する前の時刻は予め除外する。
【００６５】
既に転送管理テーブル４０３に書き込み済みの送信タイミングがある場合は（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０３で決定された書き込み前の送信タイミングと書き込み済みの送信タイミングの間隔Ｄを算出する（ステップ５０５）。間隔Ｄが所定時間Ｐより小さくなる書き込み済みの送信タイミングが無ければ（ステップＳ５０６：Ｎｏ）、図１１に示すように、タイミング決定部２２２は決定した送信タイミングを、転送管理テーブル４０３に書き込む（ステップＳ５１２）。
【００６６】
「間隔Ｄ＜所定時間Ｐ」となる書き込み済みの送信タイミングがあれば（ステップＳ５０６：Ｙｅｓ）、タイミング決定部２２２は、それぞれの受信データの優先順位を比較する（ステップＳ５０７）。比較の結果、書き込み前の送信タイミングの受信データの優先順位が低ければ（ステップＳ５０８：Ｙｅｓ）、タイミング決定部２２２は書き込み前の送信タイミングについて、書き込みは行わずに破棄する（ステップＳ５０９）。書き込み前の送信タイミングの受信データの優先順位が高ければ（ステップＳ５０８：Ｎｏ）、タイミング決定部２２２は書き込み済みの送信タイミングを転送管理テーブル４０３から削除し、書き込み前の送信タイミングについては転送管理テーブル４０３に書き込む（ステップＳ５１０）。
【００６７】
送信タイミングを破棄した下位の受信データについて、タイミング決定部２２２は、送信タイミングの再決定処理を行う（ステップＳ５１１）。具体的には、タイミング決定部２２２は、下位の受信データの送信先バスの負荷周期を再度取得し、取得した負荷周期から最先の送信可能時刻を選択し、その最先の送信可能時刻を送信タイミングとして再決定する。その際、破棄しなかった上位の受信データの送信タイミングから所定時間Ｐが経過する前の時刻は予め除外する。
【００６８】
ステップＳ５１０で再決定を行った後、図１０のステップＳ５０４に戻り、転送管理テーブル４０３に書き込み済みの送信タイミングがあれば（ステップＳ５０４：Ｙｅｓ）、間隔Ｄを算出し（ステップＳ５０５）、間隔Ｄが所定時間Ｐより小さくなる書き込み済みの送信タイミングがあれば（ステップＳ５０６：Ｙｅｓ）、再びステップＳ５０７〜５１０の処理を繰り返す。
【００６９】
ステップＳ５０３において決定された送信タイミングまたはステップＳ５１１において再決定された送信タイミング（書き込み前の送信タイミング）と、書き込み済みの送信タイミングの間隔がすべて所定時間Ｐ以上になったら（ステップＳ５０６：Ｎｏ）、タイミング決定部２２２は決定または再決定した送信タイミングを、転送管理テーブル４０３に書き込む（ステップＳ５１２）。
【００７０】
ステップＳ５１２の処理の後、転送管理テーブル４０３に、送信タイミングを決定していない受信データがあれば（ステップＳ５１３：Ｙｅｓ）、ステップＳ５０１に戻り、優先順位が最も高い受信データを選択して、順次送信タイミングを決定する処理を行う。すべての受信データの送信タイミングを決定したら（ステップＳ５１３：Ｎｏ）、ステップＳ０６に進む。
【００７１】
図９に戻り、格納部２２３は、転送管理テーブル４０３に書き込まれた送信タイミングから、所定時間Ｐを差し引いた時刻を格納時刻として決定し、転送管理テーブル４０３に書き込む（ステップＳ０６）。格納部２２３は格納時刻が到来すると、受信データを送信先ＢＵＳ１〜３に対応する送信バッファＴＢ１〜ＴＢ３に格納する（ステップＳ０７）。送信バッファＴＢ１〜ＴＢ３に格納された受信データは、送信先ＢＵＳが空き次第送信される。格納部２２３は、送信バッファＴＢ１〜ＴＢ３への格納が完了すると、転送管理テーブル４０３から受信データの情報を削除する（ステップＳ０８）。
【００７２】
本発明の実施の形態のゲートウェイ装置１を、図７の（ａ）に示したＩＤ００１、ＩＤ００２、ＩＤ００３の３つのデータの転送処理に適用した具体例を説明する。図１２は、本発明の実施の形態のゲートウェイ装置１における、受信時刻ｔ０で同時に受信したＩＤ００１、００２、００３の転送処理が完了するまでのタイムチャートである。図１３は、比較例のゲートウェイ装置における、ＩＤ００１、００２、００３の転送処理が完了するまでのタイムチャートである。なお、図１２および図１３のタイムチャートに図示されているグラフは、記憶部４に記憶されている負荷周期の情報４０１、すなわち推定値であり、ＩＤ００１、００２、００３を送信した際の実際のＢＵＳ１、２、３の負荷を示すものではない。
【００７３】
比較例のゲートウェイ装置の構成は、図示は省略するが、図３のゲートウェイ装置からタイミング決定部２２２を取り除いた構成となっている。また、記憶部４には負荷周期の情報４０１が記憶されていない。比較例のゲートウェイ装置は、送信先ＢＵＳの負荷周期に基づいた送信タイミングの決定を行わない。すなわち、比較例のゲートウェイ装置は、受信バッファＲＢ１〜ＲＢ３に受信データが格納されると、優先順位が高い受信データから順次、送信先ＢＵＳに対応する送信バッファＴＢ１〜ＴＢ３に格納する。
【００７４】
先に、図１３を参照して、比較例のゲートウェイ装置における転送処理を検討する。時刻ｔ０においてＩＤ００１、００２、００３を受信すると、最も優先順位が高いＩＤ００１を直ちに送信バッファＴＢ１へ格納する。時刻ｔ０から所定時間Ｐが経過した時刻ｔ１に、ＩＤ００１の格納が完了するが、この時点で送信先のＢＵＳ１は送信可能な状態ではない。したがって、ＩＤ００１については、ＢＵＳ１が送信可能となるタイミングｔ６まで、送信バッファＴＢ１において送信待機の状態となる。
【００７５】
ＩＤ００２については、ＩＤ００１の送信バッファＴＢ１への格納が完了した時刻ｔ１に、格納処理が開始される。ＩＤ００２については格納が完了した時刻ｔ２の直後にＢＵＳ２が送信可能な状態になるため、少しの待ち時間を経て、時刻ｔ３においてＢＵＳ２へ送信される。
【００７６】
ＩＤ００３は、ＩＤ００２の格納処理が完了した時刻ｔ２に格納処理が開始され、時刻ｔ４で格納処理が完了する。ＩＤ００３の送信先のＢＵＳ３は、受信時刻ｔ０では送信可能な状態であるが、格納が完了した時刻ｔ４では送信不可能な状態になってしまう。そのため、送信先ＢＵＳ３が次に送信可能な状態になる時刻ｔ５まで、送信バッファＴＢ３において待ち時間が生じる。
【００７７】
一方、本発明の実施の形態のゲートウェイ装置１では、タイミング決定部２２２が、各データの送信先ＢＵＳの負荷周期から、送信タイミングを決定する。図１２に示すように、タイミング決定部２２２は、ＩＤ００１、ＩＤ００２、ＩＤ００３について、それぞれの送信先ＢＵＳ１、２、３から、最先の送信可能時刻ｔ６、ｔ３、ｔ１を選択して送信タイミングとして決定する。時刻ｔ６、ｔ３、ｔ１それぞれの送信タイミングの間隔は所定時間Ｐ以上あるため、ここでは送信タイミングの再決定処理は行わない。優先順位が最も高いＩＤ００１よりも、下位のＩＤ００２、ＩＤ００３の方が送信タイミングが早い。
【００７８】
格納部２２３は、時刻ｔ６、ｔ３、ｔ１からそれぞれ所定時間Ｐを差し引いて、格納時刻ｔ６−Ｐ、ｔ３−Ｐ、ｔ１−Ｐを決定する。ＩＤ００３の格納時刻ｔ１−Ｐは受信時刻ｔ０と同じ時刻である。格納部２２３はただちにＩＤ００３を送信バッファＴＢ３へ格納する。送信バッファＴＢ３への格納完了後、ＩＤ００３は時刻ｔ１にＢＵＳ３に送信される。
【００７９】
続いて、格納部２２３はＩＤ００２、ＩＤ００１についても、それぞれ時刻ｔ３−Ｐ、ｔ６−Ｐでそれぞれ送信バッファＴＢ２、ＴＢ１に格納する。格納完了後、ＩＤ００２、ＩＤ００１は、時刻ｔ３、ｔ６でそれぞれＢＵＳ２、ＢＵＳ１に送信される。
【００８０】
このように、本発明の実施の形態のゲートウェイ装置１では、優先順位が最も低いＩＤ００３であっても、その送信先ＢＵＳ３において、ＩＤ００１、００２の送信タイミングよりも、所定時間Ｐ以上早い送信可能時刻ｔ１が存在する。そのため、上位のＩＤ００１、ＩＤ００２より先に、ＢＵＳ３に送信される。もちろん、上位のＩＤ００１、ＩＤ００２についても、それぞれの送信先ＢＵＳ１、２において最先のタイミングで送信される。図１３に図示した比較例と比べると、ＩＤ００１、００２については、送信が完了する時刻は変わらないが、ＩＤ００３については、送信完了時刻がｔ５からｔ１に早まっている。すなわち、優先順位が低い受信データについて送信までの待ち時間が減少している。
【００８１】
なお、図１２では、ＩＤ００１〜ＩＤ００３の受信データが、送信バッファＴＢ１〜ＴＢ３への格納完了後、待機時間無く送信先ＢＵＳに送信される例を示しているが、これはあくまで一例である。負荷周期の情報４０１に示される負荷率はあくまで推定値である。したがって、送信タイミングと実際にＢＵＳ１〜３が送信可能な状態となる時刻には、誤差が生じることがある。その場合は、送信バッファＴＢ１〜ＴＢ３の格納完了後、ＢＵＳ１〜３に送信されるまで、待機時間が生じることもある。
【００８２】
以上の通り、実施の形態では、
（１）それぞれに車載機器のＥＣＵ（コントローラ）１〜６が接続された複数のＢＵＳ（伝送路）１〜３を接続し、一のＢＵＳからの受信データを他のＢＵＳに送信するゲートウェイ装置１であって、
各ＢＵＳの将来の負荷率の変動を示す負荷周期の情報４０１と、ＢＵＳ１〜３を送信されるデータの優先順位の情報を含むＩＤ関連情報４０２とを記憶する記憶部４と、
受信データの優先順位と、受信データの送信先ＢＵＳの負荷周期においてデータ送信が可能となる送信可能時刻とに基づいて、受信データを送信先ＢＵＳに送信する送信タイミングを決定するタイミング決定部２２２と、を備え、
タイミング決定部２２２は、受信データの送信先ＢＵＳの負荷周期における送信可能時刻が、当該受信データより優先順位が高い受信データの送信タイミングより所定時間Ｐ以上早ければ、当該送信可能時刻を受信データの送信タイミングとして決定する構成とした。
【００８３】
優先順位が高い（上位）受信データを優先して送信しようとしても、その送信先ＢＵＳの負荷が高ければ送信できず、結局、送信先ＢＵＳが送信可能な状態になるまで待機しなくてはならない。このとき、優先順位が低い（下位）受信データの送信先ＢＵＳが先に送信可能な状態になっていたとしても、上位の受信データの送信のために待機している間に、下位の受信データの送信先ＢＵＳも、送信不可能な状態になってしまい、次に送信先ＢＵＳが送信可能な状態になるまで待機しなくてはならないことがある。このように、下位の受信データの待ち時間が長くなる傾向があった。
【００８４】
そこで、タイミング決定部２２２は、優先順位に加えて送信先ＢＵＳの負荷周期も参照して、送信タイミングを決定する。優先順位が低い受信データであっても、送信先ＢＵＳの負荷周期における送信可能時刻が、優先順位が高い受信データの送信タイミングより所定時間Ｐ以上早ければ、その送信可能時刻を送信タイミングとして決定される。すなわち、下位の受信データでも送信先ＢＵＳの状況によって、上位の受信データより先に送信することができる。結果として、優先順位が低いデータの送信完了までの待ち時間を減らすことができる。優先順位が低いデータが、例えば窓やオーディオ機器の操作データであった場合に、待ち時間を減らすことによって、ユーザの利便性および快適性を向上することができる。
【００８５】
（２）各ＢＵＳ１〜３に対応して設けられ、各ＢＵＳ１〜３からの受信データが一時的に格納される受信バッファＲＢ１〜ＲＢ３を更に備え、
タイミング決定部２２２は、受信バッファＲＢ１〜ＲＢ３に格納された受信データから最も優先順位が高い受信データを選択し、その最も優先順位が高い受信データの送信先ＢＵＳの負荷周期における、最先の送信可能時刻を送信タイミングとして決定する構成とした。
【００８６】
負荷周期のサイクルはＢＵＳ１〜３によってそれぞれ異なり、送信可能時刻が存在する時間帯もその長さも異なる。優先順位が高い受信データは、ＢＵＳ１〜３が送信可能となるタイミングを逃さずにすみやかに送信すべきである。タイミング決定部２２２は、受信バッファＲＢ１〜ＲＢ３に格納された受信データの中から優先順位が最も高い受信データを選択して送信タイミングを決定することで、全体としては、上位の受信データから順に送信タイミングを決定していくことができる。これによって、優先順位が高い受信データの送信タイミングをすみやかに決定することができる。
【００８７】
また、受信データを送信先ＢＵＳに送信するためには所定時間Ｐを要するので、決定した送信タイミング同士の間隔が近すぎれば、送信タイミングが後の受信データが送信タイミングで送信できなくなる可能性がある。その場合は、優先順位が低い受信データの送信タイミングを再決定する必要がある。タイミング決定部２２２が、優先順位が上位の受信データから下位の受信データから順に送信タイミングを決定していくことで、後から優先順位が高いデータを受信しない限りは、先に決定して転送管理テーブル４０３に書き込んだ送信タイミングを、削除する処理が生じない。
【００８８】
（３）タイミング決定部２２２は、受信データの決定した送信タイミングと、その受信データより先に決定した受信データの送信タイミングの間隔が所定時間Ｐより小さい場合、それらの受信データのうち、優先順位が低い受信データについて、送信タイミングを決定しなおす再決定処理を行う構成とした。
【００８９】
受信データを送信先ＢＵＳに送信するためには所定時間Ｐを要するので、決定した送信タイミング同士の間隔が近すぎれば、送信タイミングが後の受信データが、送信タイミングで送信できなくなる可能性がある。その場合は、優先順位が低い受信データの送信タイミングを再決定することで、優先順位が高い受信データを優先して送信することができる。
【００９０】
（４）再決定処理において、タイミング決定部２２２は、送信タイミングを破棄した下位の受信データの送信先ＢＵＳの負荷周期において、破棄しなかった上位の受信データの送信タイミングから所定時間Ｐ経過した時刻以降の送信可能時刻を選択し、その送信可能時刻を送信タイミングとして決定する構成とする。
【００９１】
下位の受信データについて再決定処理を行う際は、上位の受信データの送信タイミングから所定時間Ｐ経過した時刻以降の送信可能時刻に送信タイミングを再決定することで、上位の受信データの送信を阻害しない最も早いタイミングで、下位の受信データを送信することができる。
【００９２】
（５）各ＢＵＳ１〜３に対応して設けられ、受信データが送信先ＢＵＳに送信されるまで一時的に格納される送信バッファＴＢ１〜ＴＢ３と、
タイミング決定部２２２によって決定された送信タイミングから所定時間Ｐを差し引いた時刻を格納時刻として決定し、その格納時刻において、受信データを送信先ＢＵＳに対応する送信バッファＴＢ１〜ＴＢ３に格納する格納部２２３と、を更に備える構成とする。
【００９３】
受信後すぐに送信バッファＴＢ１〜ＴＢ３に格納してしまうと、後から同じＢＵＳを送信先とする優先順位の高いデータを受信しても、送信の順序を変更することができない。そこで、送信タイミングにできるだけ近い時間に送信バッファＴＢ１〜ＴＢ３に格納することで、後から優先順位の高いデータを受信した場合は、その受信データを優先して送信バッファＴＢ１〜ＴＢ３に格納することができる。
【００９４】
（６）所定時間Ｐは、格納部２２３が受信データを送信バッファＴＢ１〜ＴＢ３に格納するのに要する時間とする。
【００９５】
送信タイミングから、受信データを送信バッファＴＢ１〜ＴＢ３に格納する処理に要する時間である所定時間Ｐを差し引いた時刻に送信バッファＴＢ１〜ＴＢ３への格納を開始することで、送信タイミングにおいて送信バッファＴＢ１〜ＴＢ３への格納が完了し、ＢＵＳ１〜３へ遅滞なく受信データを送信することができる。
【００９６】
［変形例１］
前記した実施の形態では、受信バッファＲＢ１〜ＲＢ３に同時に受信データが格納され、それらの受信データの情報が転送管理テーブル４０３に登録されると、タイミング決定部２２２は、最も優先順位が高い受信データから送信タイミングの決定を行った。変形例１では、優先順位に関係なく、転送管理テーブル４０３に登録された各受信データについて、順次送信タイミングを決定する。順次というのは、優先順位には関係の無い順序にしたがったものであればよく、その順序は特定のものに限定されないが、例えば、転送管理テーブル４０３のリストの上から順に送信タイミングの決定を行う。
【００９７】
すなわち、図１０に図示したステップＳ５０１の処理の代わりに、タイミング決定部２２２は、転送管理テーブル４０３に登録され、送信タイミングがまだ書き込まれていない受信データのうち、リストの一番上に記載された受信データを選択して、送信タイミングを決定する。
【００９８】
例えば、図７（ａ）の例では、リストの記載順序であるＩＤ００２、ＩＤ００１、ＩＤ００３の順序で送信タイミングの決定が行われる。その他の処理については、前記した実施の形態と同様である。すなわち、タイミング決定部２２２は、決定した送信タイミングを転送管理テーブル４０３に書き込む前に、書き込み済みの送信タイミングとの間隔Ｄを算出し、間隔Ｄが所定時間Ｐより小さくなるようであれば、それぞれの受信データの優先順位を比較して、下位の受信データの送信タイミングを破棄して再決定処理を行う（図１０のステップＳ５０４〜Ｓ５１３）。これによって、変形例１においても、上位の受信データの送信タイミングが優先され、下位の受信データは、上位の受信データの送信を阻害しない範囲で、最先の送信タイミングが決定される。
【００９９】
以上の通り、変形例１では、
（７）タイミング決定部２２２は、受信バッファＲＢ１〜ＲＢ３に格納された各受信データについて、順次、送信先ＢＵＳの負荷周期における最先の送信可能時刻を送信タイミングとして決定し、各受信データの決定した送信タイミングと、その受信データより先に決定した受信データの送信タイミングとの間隔が所定時間Ｐより小さい場合、それらの受信データのうち、優先順位が低い受信データについて、送信タイミングを決定しなおす再決定処理を行う構成とした。
【０１００】
前記した実施の形態では、優先順位が上位の受信データから送信タイミングを決定することで、後から優先順位が高いデータを受信しない限りは、再決定処理の際に、先に決定して転送管理テーブル４０３に書き込んだ送信タイミングを削除する処理が生じないようにした。しかしながら、例えば、送信先ＢＵＳが同じとなるデータが少ない、またはＢＵＳごとに負荷周期が大きく異なる等、送信タイミングの間隔が近くなることが少ない場合には、再決定処理も発生しにくい。その場合は、優先順位に関係なく、転送管理テーブル４０３に登録された受信データについて順次送信タイミングを決定し、送信タイミングの間隔が近すぎるものが発生したときのみ優先順位を参照する。転送管理テーブル４０３に登録された受信データの優先順位を比較する処理を省くことで、全体の処理の数を減らすことができる。
【０１０１】
［変形例２］
前記した実施の形態および変形例１では、タイミング決定部２２２は、決定した送信タイミングを転送管理テーブル４０３に書き込む前に、書き込み済みの送信タイミングとの間隔Ｄを算出し、間隔Ｄが所定時間Ｐより小さくなるようであれば、それぞれの受信データの優先順位を比較して、下位の受信データの送信タイミングを破棄して、再決定処理を行った。すなわち、優先順位が異なる受信データの送信タイミングの間隔Ｄが小さくなる場合、あるいは送信タイミングが重なってしまうような場合は、上位の受信データの送信が優先され、下位の受信データの送信が後回しにされる。
【０１０２】
しかしながら、もし下位の受信データの送信先ＢＵＳが、破棄した送信タイミングの直後に送信不可能期間に入ってしまうと、次の送信可能期間まで長い遅延時間が生じる可能性がある。一方、上位の受信データの送信先ＢＵＳは、送信タイミングの後でも依然として送信可能期間である場合もある。そのような場合には、下位の受信データの送信を優先したほうが、受信データ全体の送信終了時刻が早くなることがある。
【０１０３】
ここで、具体例を示して検討する。図１４は、受信時刻ｔ３０でＩＤ００１、ＩＤ００２の２つの受信データを同時に受信した場合の、転送処理のパターンを示した図である。ＩＤ００１はＢＵＳ１が送信先であり、ＩＤ００２はＢＵＳ２が送信先である。図１４の例では、受信時刻ｔ３０から所定時間Ｐ経過した時刻ｔ３０＋Ｐにおいて、ＢＵＳ１、ＢＵＳ２とも送信可能期間（点線で丸囲みした部分）である。そのため、タイミング決定部２２２においては、ＩＤ００１、ＩＤ００２ともに、最先の送信可能時刻であるｔ３０＋Ｐが送信タイミングとして決定される。２つの送信タイミングの間隔は重なっているため、タイミング決定部２２２は、一方の受信データの送信タイミングを破棄して再決定する必要がある。前記した実施の形態および変形例１では、優先順位が下位のＩＤ００２の送信タイミングを破棄して再決定する。
【０１０４】
再決定処理において、タイミング決定部２２２は、破棄しなかったＩＤ００１の送信タイミングｔ３０＋Ｐから所定時間Ｐ経過後の時刻ｔ３０＋２Ｐ以降の最先の送信可能時刻を、次の送信タイミングとして決定する。すなわち、最短であれば、時刻ｔ３０＋２Ｐが次の送信タイミングとなる。ところが、時刻ｔ３０＋２Ｐにおいて、送信先ＢＵＳ２の負荷周期は送信不可能期間（点線で丸囲みされていない部分）に入ってしまっている。この送信不可能期間が終了するのは時刻ｔ５０であるため、ＩＤ００２の次の送信タイミングは時刻ｔ５０となる。このように、ＩＤ００２の方を再決定処理に回した場合、ＩＤ００２は負荷周期の最初の送信タイミングｔ３０＋Ｐと同じサイクル内では送信を完了することができず、そのサイクルの送信不可能期間が経過して次のサイクルの送信可能期間に入るまで待機しなくてはならない。
【０１０５】
一方、ＩＤ００１の送信先ＢＵＳ１は、時刻ｔ３０＋２Ｐにおいても送信可能期間である。つまり、ＩＤ００１の方を再決定処理に回した場合には、時刻ｔ３０＋２Ｐが次の送信タイミングとなり、多少の遅延はあっても同じサイクル内で送信を完了することができる。ＩＤ００１とＩＤ００２について、最初の送信タイミングから次の送信タイミングまでの時間（以降、「遅延時間」という）を比較すると、ＩＤ００１の方が、遅延時間が大幅に短い。ＩＤ００２の送信を優先し、ＩＤ００１の送信タイミングを再決定したほうが、全体的な送信終了時刻を早めることになる。
【０１０６】
受信データにはその重要度に応じて優先順位が定められているが、優先順位を必ずしも厳守しなくても良い場合もある。例えば、各受信データに優先順位が定められているものの、各受信データの重要度に大きな差が無い場合等が考えられる。そのような場合には、優先順位に縛られず、全体的な送信効率を優先したほうが良いこともある。このような観点に基づき、変形例２のゲートウェイ装置１では、再決定処理を行う対象を下位の受信データに限定せず、最初に決定した送信タイミングから次の送信タイミングまでの遅延時間の長さに応じて、再決定処理を行う受信データを決定する。
【０１０７】
遅延時間の長さの判断基準として、変形例２のゲートウェイ装置１の記憶部４には、ＢＵＳ１〜３それぞれの送信不可能期間の情報が保存されている。送信不可能期間の情報は、負荷監視部２１によって負荷周期の情報４０１と共に作成され、記憶部４に保存される。遅延時間が送信不可能期間より長くなるということは、負荷周期の最初の送信タイミングと同じサイクル内では送信できず、送信不可能期間が経過して次のサイクルの送信可能期間になるまで待機する必要があることを意味する。したがって、遅延時間と送信不可能期間を比較することで、下位の受信データであっても上位の受信データより送信を優先すべきか否かを判断することができる。
【０１０８】
変形例２のゲートウェイ装置１において、再決定処理を行う受信データを決定するための処理を説明する。図１５は、変形例２にかかるゲートウェイ装置１の処理を示すフローチャートである。図１５は、図１０および図１１に示したステップＳ０５の処理の詳細を示すフローチャートのうち、図１１の部分を差し替えたものである。変形例２の処理については、図１０および図１５を参照して説明する。なお、変形例２は、再決定処理を行う受信データを決定する処理（図１５のステップＳ５５７〜Ｓ５６６）のみが前記の実施の形態と異なるため、前記した実施の形態と同じ処理については詳細な説明は省略する。
【０１０９】
図１０に示すように、ゲートウェイ装置１のタイミング決定部２２２は、受信データの送信タイミングを決定（ステップＳ５０３）した後、既に転送管理テーブル４０３に書き込み済みの送信タイミングがある場合は（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０３で決定された書き込み前の送信タイミングと書き込み済みの送信タイミングの間隔Ｄを算出する（ステップ５０５）。「間隔Ｄ＜所定時間Ｐ」となる書き込み済みの送信タイミングがあれば（ステップＳ５０６：Ｙｅｓ）、図１５に示すように、タイミング決定部２２２は、各受信データについて次の送信タイミングを仮決めする（ステップＳ５５７）。この次の送信タイミングの仮決めの処理とは、送信タイミングを破棄せずに、前記の実施の形態で説明した再決定の処理を行うことである。具体的には、タイミング決定部２２２は、各受信データの送信先ＢＵＳの負荷周期の情報４０１を記憶部４から取得する。タイミング決定部２２２は、他方の受信データの送信タイミングから所定時間Ｐが経過する前の時刻を予め除外して、取得した送信先ＢＵＳの負荷周期から最先の送信可能時刻を選択して、次の送信タイミングとして仮決めする。
【０１１０】
さらに、タイミング決定部２２２は、それぞれの受信データについて、仮決めした次の送信タイミングから元の送信タイミングを差し引いて、遅延時間Ｗを算出する（ステップＳ５５８）。タイミング決定部２２２は、記憶部から各受信データの送信先ＢＵＳの送信不可能期間の情報を取得し、各受信データについて算出した遅延時間Ｗと、送信不可能期間Ｌとを比較する（ステップＳ５５９）。
【０１１１】
双方の受信データとも、遅延時間Ｗ＜送信不可能期間Ｌであれば（ステップＳ５６０：Ｙｅｓ）、どちらを再決定処理に回しても、元の送信タイミングと同じサイクル内で送信を完了することができるため、大きな遅延は生じない。この場合は、前記の実施の形態と同様に、優先順位が下位の受信データの送信タイミングを破棄する（ステップＳ５６１）。
【０１１２】
双方の受信データとも遅延時間Ｗ＜送信不可能期間Ｌで無い場合で（ステップＳ５６０：Ｎｏ）、一方の受信データが遅延時間Ｗ＞送信不可能期間Ｌであり、他方の受信データが遅延時間Ｗ＜送信不可能期間Ｌであれば（ステップＳ５６２：Ｙｅｓ）、一方の受信データを再決定処理に回すと、次のサイクルでしか送信を完了することができないが、他方の受信データは再決定処理に回しても元の送信タイミングと同じサイクル内で送信を完了することができる。この場合は、他方の受信データの送信タイミングを破棄する（ステップＳ５６３）。
【０１１３】
双方の受信データについて遅延時間Ｗ＞送信不可能期間Ｌであれば（ステップＳ５６２：Ｎｏ）、どちらを再決定処理に回しても、元の送信タイミングと同じサイクル内で送信することができない。この場合は、双方の遅延時間Ｗを比較して（ステップＳ５６４）、遅延時間Ｗが短い方の受信データの送信タイミングを破棄する（ステップＳ５６５）。これによって、遅延時間Ｗが長い受信データを先に送信することで、全体の送信終了時刻は早くなる。
【０１１４】
ステップＳ５６１、ステップＳ５６３、ステップＳ５６５において、単に送信タイミングを「破棄する」と説明しているが、詳細には、図１１のステップＳ５０９〜Ｓ５１０と同様の処理を行う。すなわち、転送管理テーブル４０３への書き込み前の送信タイミングであれば、「破棄する」とは転送管理テーブル４０３への書き込みを行わずに破棄することを意味する。一方、書き込み済みの送信タイミングであれば、「破棄する」とは転送管理テーブル４０３から削除し、代わりに書き込み前の送信タイミングを書き込むことを意味する。
【０１１５】
ステップＳ５６１、ステップＳ５６３、ステップＳ５６５において、送信タイミングを破棄した受信データについて、タイミング決定部２２２は、送信タイミングを再決定する（ステップＳ５６６）。再決定の処理については、前記の実施の形態と同様の処理を行っても良いが、ステップＳ５５７で仮決めした次の送信タイミングを送信タイミングとして再決定しても良い。
【０１１６】
変形例２のゲートウェイ装置１において、再決定処理を行う受信データを決定する処理の具体例を説明する。図１６は、図１４に示したＩＤ００１、ＩＤ００２に加えて、ＩＤ００３の３つの受信データを、時刻ｔ３０において同時に受信した場合の転送処理を示すフローチャートである。タイミング決定部２２２は、優先順位の高い順から送信タイミングの決定を行うため、ＩＤ００２の送信タイミングｔ３０＋Ｐを決定したとき、転送管理テーブル４０３にはＩＤ００１の送信タイミングｔ３０＋Ｐが書き込まれている。タイミング決定部２２２は、２つの送信タイミングの間隔Ｄの算出を行なう。２つの送信タイミングは同じであるため、間隔Ｄ＝０＜Ｐとなる。
【０１１７】
タイミング決定部２２２は、ＩＤ００１、ＩＤ００２それぞれについて、次の送信タイミングとして時刻ｔ３０＋２Ｐと時刻ｔ５０を仮決めする。タイミング決定部２２２はさらに、ＩＤ００１、ＩＤ００２それぞれの遅延時間Ｗを算出する。区別を付けやすくするために、ＩＤ００１の遅延時間をＷ１、ＩＤ００２の遅延時間をＷ２とする。後述するＩＤ００３の遅延時間はＷ３とする。Ｗ１、Ｗ２はそれぞれ以下のとおりである。
・Ｗ１＝（ｔ３０＋２Ｐ）−（ｔ３０＋Ｐ）
・Ｗ２＝ｔ５０−（ｔ３０＋Ｐ）
【０１１８】
タイミング決定部２２２は、記憶部４から、ＩＤ００１、ＩＤ００２のそれぞれの送信先ＢＵＳ１、２の送信不可能期間Ｌを取得する。区別を付けやすくするために、ＢＵＳ１の送信不可能期間をＬ１，ＢＵＳ２の送信不可能期間をＬ２とする。後述するＩＤ００３の送信不可能期間はＬ３とする。
【０１１９】
タイミング決定部２２２は、ＩＤ００１の遅延時間Ｗ１と送信不可能期間Ｌ１、ＩＤ００２の遅延時間Ｗ２と送信不可能期間Ｌ２をそれぞれ比較する。比較結果は以下の通りである。
・Ｗ１＝（ｔ３０＋２Ｐ）−（ｔ３０＋Ｐ）＜Ｌ１
・Ｗ２＝ｔ５０−（ｔ３０＋Ｐ）＞Ｌ２
【０１２０】
以上の比較結果から、ＩＤ００２を再決定処理に回した場合は、遅延時間が長くなるが、ＩＤ００１を再決定処理に回せば、比較的短い遅延時間で送信できることがわかる。このため、ＩＤ００１が再決定処理の対象となる。タイミング決定部２２２は、ＩＤ００１の書き込み済みの送信タイミングｔ３０＋Ｐを転送管理テーブル４０３から削除し、ＩＤ００２の送信タイミングｔ３０＋Ｐを書き込む。タイミング決定部２２２は、時刻ｔ３０＋２ＰをＩＤ００１の送信タイミングとして再決定する。
【０１２１】
続いて、タイミング決定部２２２は、ＩＤ００３についても送信タイミングを時刻ｔ３０＋Ｐと決定する。タイミング決定部２２２は、ＩＤ００３の送信タイミングを転送管理テーブル４０３に書き込む前に、書き込み済みのＩＤ００１、ＩＤ００２の送信タイミングとの間隔を算出する。ＩＤ００１とＩＤ００３の間隔Ｄ＝（ｔ３０＋２Ｐ）−（ｔ３０＋Ｐ）＝所定時間Ｐであるため、再決定処理の対象とはならない。ＩＤ００２とＩＤ００３については、間隔Ｄ＝０であるため、いずれかの送信タイミングを破棄する必要がある。
【０１２２】
タイミング決定部２２２は、ＩＤ００２、ＩＤ００３の次の送信タイミングｔ５０、ｔ４０を仮決めし、それぞれの遅延時間Ｗ２、Ｗ３を以下の通り算出する。
・Ｗ２＝ｔ５０−（ｔ３０＋Ｐ）
・Ｗ３＝ｔ４０−（ｔ３０＋Ｐ）
【０１２３】
タイミング決定部２２２は、記憶部４から、ＩＤ００２、ＩＤ００３のそれぞれの送信先ＢＵＳ２、３の送信不可能期間Ｌ２、Ｌ３を取得する。タイミング決定部２２２は、ＩＤ００２の遅延時間Ｗ２と送信不可能期間Ｌ２、ＩＤ００３の遅延時間Ｗ３と送信不可能期間Ｌ３をそれぞれ比較する。比較結果は以下の通りである。
・Ｗ２＝ｔ５０−（ｔ３０＋Ｐ）＜Ｌ１
・Ｗ３＝ｔ４０−（ｔ３０＋Ｐ）＞Ｌ２
【０１２４】
以上の比較結果から、ＩＤ００２、ＩＤ００３のいずれも、再決定処理に回した場合は、遅延時間Ｗ２、Ｗ３が送信不可能期間Ｌ２、Ｌ３よりも長くなる。この場合、タイミング決定部２２２は、ＩＤ００２、ＩＤ００３の遅延時間Ｗ２、Ｗ３同士を比較する。Ｗ２＞Ｗ３であるため、ＩＤ００３を再決定処理に回した方が、全体としての送信終了時刻が比較的早くなる。タイミング決定部２２２は、ＩＤ００３の送信タイミングｔ３０＋Ｐを転送管理テーブル４０３に書き込まずに破棄して、再決定処理を行う。タイミング決定部２２２は、時刻ｔ４０をＩＤ００３の送信タイミングとして再決定する。
【０１２５】
以上の通り、変形例２では、
（８）タイミング決定部２２２は、受信データの決定した送信タイミングと、その受信データより先に決定した受信データの送信タイミングの間隔Ｄが所定時間Ｐより小さい場合、それぞれの受信データについて、決定した送信タイミングから次の送信タイミングまでの遅延時間Ｗを算出し、それぞれの遅延時間Ｗを送信不可能期間（所定期間）Ｌと比較して、いずれか一方の受信データの遅延時間Ｗが送信不可能期間Ｌを上回る場合は、他方の受信データの送信タイミングを破棄して決定し直す再決定処理を行う構成とした。また、双方の受信データの遅延時間Ｗが送信不可能期間Ｌを上回る場合は、遅延時間Ｗが短い方の受信データの送信タイミングを破棄して送信タイミングを決定し直す構成とした。
【０１２６】
各受信データの重要度に大きな差が無い場合等、優先順位を必ずしも厳守しなくても良い場合には、再決定処理の対象とする受信データを各受信データの遅延時間Ｗの長さを基準として選択することにより、全体的な送信効率を向上させることができる。
【０１２７】
なお、ここでは遅延時間Ｗの長さを判断する基準となる所定期間として、各ＢＵＳの負荷周期における送信不可能期間Ｌを用いたが、これに限られず他の期間を基準としても良い。例えば、ある一定の期間を所定期間として予め定めておき、タイミング決定部２２２が、全てのＢＵＳ１〜３についてこの一定の期間と遅延時間を比較しても良い。
【０１２８】
また、ここでは前記の実施の形態に変形例２を適用する場合を説明したが、変形例２は変形例１にも適用可能である。すなわち、変形例１においては、タイミング決定部２２２が、各受信データについて優先順位に関係なく順次送信タイミングを決定し、決定した送信タイミングについて、転送管理テーブル４０３に書き込み済みの送信タイミングとの間隔Ｄを算出する。間隔Ｄが所定時間Ｐより小さくなるようであれば、その後の処理として、変形例２のステップＳ５５７〜Ｓ５６７の処理を行っても良い。
【０１２９】
さらに、図１５のステップＳ５６３において、双方の受信データについて遅延時間Ｗ＞送信不可能期間Ｌであれば（ステップＳ５６３：Ｎｏ）、双方の遅延時間Ｗを比較して、短い方の受信データの送信タイミングを破棄する例を説明したが、このような場合には、優先順位が高い受信データを優先して、下位の受信データの送信タイミングを破棄するようにしても良い。
【０１３０】
［変形例３］
前記した実施の形態では、所定時間Ｐを、受信データを送信バッファＴＢ１〜ＴＢ３に格納するのに要する時間としたが、厳密に同じ時間でなくても良い。所定時間Ｐは、余裕を見て、受信データを送信バッファＴＢ１〜ＴＢ３に格納するのに要する時間よりも若干長い時間としても良い。
【０１３１】
［変形例４］
負荷監視部２１は、負荷周期の情報４０１を作成するだけでなく、車載ネットワーク１００の異常を検出する機能を兼ね備えても良い。例えば、ＢＵＳ１〜３が占有されている時間が通常より長い場合には、ＢＵＳ１〜３に不正なＥＣＵが接続されている等の異常の可能性が考えられる。負荷監視部２１は、ＢＵＳ１〜３の使用状況を監視することで、車載ネットワーク１００の異常を検出する。異常を検出した場合は、外部の通信管理装置等に検出結果を送信しても良い。あるいは、ゲートウェイ装置１自体にスピーカやモニタを接続して、アラームを出力したり、警告を表示したりしても良い。
【０１３２】
［変形例５］
図１では、一例として、３つのＢＵＳ１〜３のそれぞれに、２つのＥＣＵが接続された例を示しているが、ＢＵＳの数や一つのＢＵＳに接続されるＥＣＵの数は、これに限定されるものではない。ＢＵＳおよびＥＣＵの数は、車両Ｖに搭載される車載機器の数に応じて適宜変更される。
【符号の説明】
【０１３３】
１  ゲートウェイ装置
２  プロセッサ
３  タイマ
４  記憶部
５  入出力ポート（Ｉ／Ｏ）
６  内部バス
２１  負荷監視部
２２  転送部
１００  車載ネットワーク
２２１  受信データ登録部
２２２  タイミング決定部
２２３  格納部
４０１  負荷周期の情報
４０２  ＩＤ関連情報
４０３  転送管理テーブル
Ｖ  車両
ＥＣＵ１〜６  コントローラ
ＲＢ１、ＲＢ２、ＲＢ３  受信バッファ
ＴＢ１、ＴＢ２、ＴＢ３  送信バッファ
ＢＵＳ１〜３  ＣＡＮバス
Ｒ  所定値
Ｐ  所定時間
【図１】
2018046509.tif 000003
【図２】
2018046509.tif 000004
【図３】
2018046509.tif 000005
【図４】
2018046509.tif 000006
【図５】
2018046509.tif 000007
【図６】
2018046509.tif 000008
【図７】
2018046509.tif 000009
【図８】
2018046509.tif 000010
【図９】
2018046509.tif 000011
【図１０】
2018046509.tif 000012
【図１１】
2018046509.tif 000013
【図１２】
2018046509.tif 000014
【図１３】
2018046509.tif 000015
【図１４】
2018046509.tif 000016
【図１５】
2018046509.tif 000017
【図１６】
2018046509.tif 000018