(57)【特許請求の範囲】
【請求項１】
所定の通信プロトコルを用いる上位ネットワークと、前記上位ネットワークとは異なる通信プロトコルを用いる２つ以上の下位ネットワークとに接続されるゲートウェイ装置であって、
前記上位ネットワークにおいて送受信される上位データは、ヘッダとペイロードとから構成され、
それぞれの前記下位ネットワークに接続され、前記下位ネットワークにおいて送受信される下位データを受信する複数の通信ポートと、
前記複数の通信ポートのそれぞれとソース識別子とを関連付けて記憶する記憶部と、
上位データを生成し前記上位ネットワークに送信する制御部とを備え、
前記制御部が生成する前記上位データのペイロードは、前記通信ポートが受信した前記下位データの少なくとも一部を含み、
前記制御部が生成する前記上位データのヘッダは、当該通信ポートに関連付けられた前記ソース識別子を含む、ゲートウェイ装置。
【請求項２】
請求項１に記載のゲートウェイ装置において、
前記上位ネットワークで使用される通信プロトコルはインターネットプロトコルであり、
前記上位データはＩＰパケットであり、
前記ソース識別子は、前記下位データを受信した前記通信ポートに関連付けられたＩＰアドレスであり、
前記制御部は、生成する前記ＩＰパケットのヘッダに設けられた送信元ＩＰアドレス格納領域に前記下位データを受信した通信ポートに関連付けられたＩＰアドレスを格納する、ゲートウェイ装置。
【請求項３】
請求項２に記載のゲートウェイ装置において、
前記記憶部には、前記下位データに含まれる宛先識別子と送信先ＩＰアドレスとの関連付けを定義する宛先テーブルがさらに記憶され、
前記制御部は、前記下位ネットワークから下位データを受信すると、当該下位データに含まれる前記宛先識別子に関連付けられた送信先ＩＰアドレスを特定し、生成する前記ＩＰパケットのヘッダに設けられた送信先ＩＰアドレス格納領域に、前記特定した送信先ＩＰアドレスを格納する、ゲートウェイ装置。
【請求項４】
請求項３に記載のゲートウェイ装置において、
前記下位データは、下位ヘッダと下位ペイロードとから構成され、
前記宛先識別子は下位ヘッダに含まれ、
前記制御部は、前記下位ネットワークから下位データを受信すると、当該下位データの下位ヘッダに含まれる宛先識別子に関連付けられた送信先ＩＰアドレスを特定する、ゲートウェイ装置。
【請求項５】
請求項３に記載のゲートウェイ装置において、
前記宛先テーブルには、前記宛先識別子に関連付けられた伝送優先度がさらに定義されており、
前記ＩＰパケットのヘッダには、前記上位ネットワークにおける当該ＩＰパケットの伝送処理の優先度を格納する優先度格納領域が設定されており、
前記制御部は、前記優先度格納領域に、前記受信した下位データに含まれる前記宛先識別子に関連付けられた前記伝送優先度を格納する、ゲートウェイ装置。
【請求項６】
請求項５に記載のゲートウェイ装置において、
前記宛先テーブルに記憶される前記伝送優先度は、すべて最優先を示す情報が設定されるゲートウェイ装置。
【請求項７】
請求項３に記載のゲートウェイ装置において、
前記上位ネットワークに属する機器の時刻情報を取得し、当該機器のＩＰアドレスと関連づけて前記記憶部に保存する時刻取得部と、
タイムスタンプを生成するタイムスタンプ生成部とをさらに備え、
前記タイムスタンプ生成部は、前記下位ネットワークから下位データを受信すると、当該下位データに含まれる宛先識別子および前記宛先テーブルに基づき、当該下位データの送信先のＩＰアドレスを特定し、当該下位データを受信した時刻、および前記記憶部に保存された当該送信先のＩＰアドレスに関連づけられた時刻情報に基づき、送信先の機器にあわせた前記タイムスタンプを生成し、
前記制御部は、前記タイムスタンプを前記生成するＩＰパケットのペイロードに書き込む、ゲートウェイ装置。
【請求項８】
請求項３に記載のゲートウェイ装置において、
前記宛先テーブルには、前記通信ポートごとに前記送信先ＩＰアドレスと前記宛先識別子との関連付けが定義されており、
前記ＩＰパケットのヘッダには送信先ＩＰアドレス格納領域が設定され、
前記制御部は、前記下位データを受信した通信ポートにおける、前記宛先識別子に関連付けられた前記送信先ＩＰアドレスを、前記送信先ＩＰアドレス格納領域に格納する、ゲートウェイ装置。
【請求項９】
請求項２に記載のゲートウェイ装置において、
前記制御部は、生成する前記ＩＰパケットのヘッダに設けられた送信先ＩＰアドレス格納領域に、所定のマルチキャストアドレスを格納するゲートウェイ装置。
【請求項１０】
請求項１に記載のゲートウェイ装置において、
前記記憶部は、前記複数の通信ポートのそれぞれと転送処理の割合とを関連付けて定義する処理割合テーブルをさらに記憶し、
前記制御部は、前記下位データに基づく前記上位データの生成および送信を、当該下位データを受信した前記通信ポートに関連付けられた前記転送処理の割合で実行する、ゲートウェイ装置。
【請求項１１】
請求項１に記載のゲートウェイ装置において、
前記上位ネットワークで使用される通信プロトコルはＴＣＰまたはＵＤＰであり、
前記ソース識別子はポート番号であり、
前記制御部は、生成する上位データのヘッダに設けられた送信先ポート番号または送信元ポート番号の格納領域に当該通信ポートに関連付けられたポート番号を格納する、ゲートウェイ装置。
【請求項１２】
請求項１に記載のゲートウェイ装置において、
前記上位ネットワークで使用される通信プロトコルはＩＥＥＥ８０２．３であり、
前記ソース識別子はＭＡＣアドレスであり、
前記制御部は、生成する上位データのヘッダに設けられた送信元ＭＡＣアドレス格納領域に当該通信ポートに関連付けられたＭＡＣアドレスを格納する、ゲートウェイ装置。
【請求項１３】
請求項１に記載のゲートウェイ装置と接続される前記上位ネットワークに属する演算装置であって、
前記ゲートウェイ装置から前記上位データを受信する演算装置受信部と、
受信した前記上位データを構成する前記ヘッダに含まれる前記ソース識別子に基づき、受信した前記ペイロードの処理を決定する受信データ処理決定部を備える、演算装置。
【請求項１４】
請求項１３に記載の演算装置であって、
前記受信データ処理決定部は、前記ソース識別子に基づき前記ペイロードを処理するコンピュータプログラムを決定する、または、前記ペイロードを処理するコンピュータプログラムに前記ソース識別子をパラメータとして入力する、演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ装置、および演算装置に関する。
【背景技術】
【０００２】
自動車に搭載される多数の電子制御ユニットは、機器の特性や要求される通信速度などに基づき、接続されるネットワークが決定される。異なるネットワーク間の通信には、ゲートウェイ装置が利用される。
特許文献１には、各ネットワークのパケットデータの速度の違いなどに関わらず、パケットデータの送受信の遅延を低減することのできる通信ゲートウェイ装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７１６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、いずれのネットワークから送信されたデータであるかを容易に判別することができない。
【課題を解決するための手段】
【０００５】
本発明にかかるゲートウェイ装置は、所定の通信プロトコルを用いる上位ネットワークと、上位ネットワークとは異なる通信プロトコルを用いる２つ以上の下位ネットワークとに接続される。上位ネットワークにおいて送受信される上位データは、ヘッダとペイロードとから構成される。本発明にかかるゲートウェイ装置は、それぞれの下位ネットワークに接続され、下位ネットワークにおいて送受信される下位データを受信する複数の通信ポートと、複数の通信ポートのそれぞれとソース識別子とを関連付けて記憶する記憶部と、上位データを生成し上位ネットワークに送信する制御部とを備える。制御部が生成する上位データのペイロードは、通信ポートが受信した下位データの少なくとも一部を含み、制御部が生成する上位データのヘッダは、当該通信ポートに関連付けられたソース識別子を含む。
本発明にかかる演算装置は、請求項１に記載のゲートウェイ装置と接続される上位ネットワークに属する。本発明にかかる演算装置は、ゲートウェイ装置から上位データを受信する演算装置受信部と、受信した上位データを構成するヘッダに含まれるソース識別子に基づき、受信したペイロードの処理を決定する受信データ処理決定部を備える。
【発明の効果】
【０００６】
本発明によれば、いずれのネットワークから送信されたデータであるかを容易に判別することができる。
【図面の簡単な説明】
【０００７】
【図１】ゲートウェイ装置１およびゲートウェイ装置１に接続される複数のネットワークの構成を示す図
【図２】宛先テーブル８の一例を示す図
【図３】送信元テーブル９の一例を示す図
【図４】ＥＣＵ１１〜１３の構成を示す図
【図５】データ転送プログラムの動作を示すフローチャート
【図６】データ転送の動作例を示す遷移図
【図７】第２の実施の形態における宛先テーブル８ａの一例を示す図
【図８】第３の実施の形態におけるゲートウェイ装置１およびＥＣＵ１１〜１３の間で行われる時刻同期の処理フローを示す図
【図９】第４の実施の形態における処理割合テーブル８０１の一例を示す図
【図１０】第５の実施の形態における送信元テーブル９ａの一例を示す図
【図１１】第５の実施の形態におけるＥＣＵ１１〜１３の構成を示す図
【図１２】第６の実施の形態における送信元テーブル９ａの一例を示す図
【発明を実施するための形態】
【０００８】
（第１の実施の形態）
以下、図１〜６を参照して、ゲートウェイ装置の第１の実施の形態を説明する。
ゲートウェイ装置は、自動車に搭載され、自動車の内部に存在する複数の異種ネットワーク間、すなわち異なる通信プロトコルを使用するネットワーク同士を接続する。
図１は、ゲートウェイ装置１およびゲートウェイ装置１に接続される複数のネットワークの構成を示す図である。
【０００９】
（ネットワークの構成）
ゲートウェイ装置１に接続されるネットワークは、図示左側の第１ネットワーク１００と、図示右側の第２ネットワーク２００に大別される。第１ネットワーク１００に属する機器は、たとえば、車外の様子を撮影するカメラや障害物までの距離を測定するレーザスキャナ、および車内機器の情報を統括する装置などであり、多量の情報を扱う機器である。第２ネットワーク２００に属する機器は、たとえば、パワーウインドウモジュールやワイパーモジュールなどであり、比較的少量の情報を扱う機器である。
【００１０】
第１ネットワーク１００は、ＯＳＩ参照モデルの第１層および第２層としてＩＥＥＥ８０２．３、第３層としてインターネットプロトコル、第４層としてＴＣＰおよびＵＤＰを用いる。換言すると、第１ネットワーク１００はインターネットプロトコルが使用されるＩＰネットワークである。第１ネットワーク１００は、電子制御ユニット（以降、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と呼ぶ）であるＥＣＵ１１と、ＥＣＵ１２と、ＥＣＵ１３を含む。ＩＰネットワークである第１ネットワーク１００に属するＥＣＵ１１〜１３にはそれぞれＩＰアドレスが設定されており、ＥＣＵ１１のＩＰアドレスは「１９２．１６８．１．１」、ＥＣＵ１２のＩＰアドレスは「１９２．１６８．１．２」、ＥＣＵ１３のＩＰアドレスは「１９２．１６８．１．３」である。以下では、第１ネットワーク１００において送受信されるデータを「ＩＰパケット」や「上位データ」とも呼ぶ。
【００１１】
第２ネットワーク２００は、ＣＡＮ１ネットワーク２０１と、ＣＡＮ２ネットワーク２０２と、ＬＩＮネットワーク２０３と、ＦｌｅｘＲａｙネットワーク２０４と、ＭＯＳＴネットワーク２０５とから構成される。ＣＡＮ１ネットワーク２０１、およびＣＡＮ２ネットワーク２０２では、いずれも通信プロトコルとしてＣＡＮ（ＣｏｎｔｒｏｌｌｅｒＡｒｅａ Ｎｅｔｗｏｒｋ）が使用される。ＬＩＮネットワーク２０３では、通信プロトコルとしてＬＩＮ（ＬｏｃａｌＩｎｔｅｒｃｏｎｎｅｃｔ Ｎｅｔｗｏｒｋ）が使用される。ＦｌｅｘＲａｙネットワーク２０４では、通信プロトコルとしてＦｌｅｘＲａｙが使用される。ＭＯＳＴネットワーク２０５では、通信プロトコルとしてＭＯＳＴ（ＭｅｄｉａＯｒｉｅｎｔｅｄ ＳｙｓｔｅｍｓＴｒａｎｓｐｏｒｔ）が使用される。以下では、ＣＡＮ１ネットワーク２０１、ＣＡＮ２ネットワーク２０２、ＬＩＮネットワーク２０３、ＦｌｅｘＲａｙネットワーク２０４、およびＭＯＳＴネットワーク２０５のそれぞれを「下位ネットワーク」とも呼ぶ。以下では、下位ネットワークにおいて送受信されるデータを「下位データ」とも呼ぶ。第２ネットワーク２００を構成するネットワーク、すなわち全ての下位ネットワークは、ＯＳＩ参照モデルの第３層としてインターネットプロトコルを使用していない、非ＩＰネットワークである。
【００１２】
ＣＡＮ１ネットワーク２０１は、ＥＣＵ２１と、ＥＣＵ２２と、ＥＣＵ２３と、後述するＣＡＮ１コントローラ３とから構成される。ＣＡＮ２ネットワーク２０２は、ＥＣＵ３１と、ＥＣＵ３２と、ＥＣＵ３３と、後述するＣＡＮ２コントローラ４とから構成される。ＬＩＮネットワーク２０３は、ＥＣＵ４１と、ＥＣＵ４２と、ＥＣＵ４３と、後述するＬＩＮコントローラ５とから構成される。ＦｌｅｘＲａｙネットワーク２０４は、ＥＣＵ５１と、ＥＣＵ５２と、ＥＣＵ５３と、後述するＦｌｅｘＲａｙコントローラ６とから構成される。ＭＯＳＴネットワーク２０５は、ＥＣＵ６１と、ＥＣＵ６２と、ＥＣＵ６３と、後述するＭＯＳＴコントローラ７とから構成される。
第１ネットワーク１００および第２ネットワーク２００には、上述した装置以外が含まれてもよい。
【００１３】
（ゲートウェイ装置）
ゲートウェイ装置１は、制御部２と、記憶部２ａと、ＣＡＮ１コントローラ３と、ＣＡＮ２コントローラ４と、ＬＩＮコントローラ５と、ＦｌｅｘＲａｙコントローラ６と、ＭＯＳＴコントローラ７とを備える。以下では、ＣＡＮ１コントローラ３と、ＣＡＮ２コントローラ４と、ＬＩＮコントローラ５と、ＦｌｅｘＲａｙコントローラ６と、ＭＯＳＴコントローラ７とをまとめて、コントローラ３〜７と呼ぶ。
【００１４】
制御部２は、ＣＰＵ、ＲＡＭ、および後述するプログラムを記憶するＲＯＭを備える。ＣＰＵは、ＲＯＭに保存されたプログラムをＲＡＭに展開して実行する。制御部２は、記憶部２ａ、およびコントローラ３〜７と信号線により接続される。制御部２は、不図示の通信ポートを介して後述する第１ネットワーク１００と接続される。コントローラ３〜７が第２ネットワーク２００から受信したデータは、制御部２に入力される。制御部２は、コントローラ３〜７から受信したデータが後述する条件に合致すると、そのデータを第１ネットワーク１００に送信する。以下では、制御部２がコントローラ３〜７から受信したデータを第１ネットワーク１００に送信する処理を「転送」と呼ぶ。この転送処理は後に詳しく説明する。
【００１５】
記憶部２ａは不揮発性メモリであり、記憶部２ａには後述する第２ネットワーク２００から後述する第１ネットワーク１００に転送するデータの宛先を示す宛先テーブル８、およびコントローラ３〜７の第１ネットワーク１００における識別子を示す送信元テーブル９が保存される。宛先テーブル８、および送信元テーブル９については後に詳述する。
コントローラ３〜７はいずれも、後述する第２ネットワーク２００との物理的な接続口、およびデータの送受信に必要な計算を行うマイクロコンピュータを備える。
ＣＡＮ１コントローラ３は、ＣＡＮ１ネットワーク２０１を構成する機器の１つであり、ＣＡＮ１ネットワーク２０１を構成する他の機器とデータを送受信する。ＣＡＮ１コントローラ３は、ゲートウェイ装置１をＣＡＮ１ネットワーク２０１に接続する通信ポートとみなすことができる。
【００１６】
ＣＡＮ２コントローラ４は、ＣＡＮ２ネットワーク２０２を構成する機器の１つであり、ＣＡＮ２ネットワーク２０２を構成する他の機器とデータを送受信する。ＣＡＮ２コントローラ４は、ゲートウェイ装置１をＣＡＮ２ネットワーク２０２に接続する通信ポートとみなすことができる。
ＬＩＮコントローラ５は、ＬＩＮネットワーク２０３を構成する機器の１つであり、ＬＩＮネットワーク２０３を構成する他の機器とデータを送受信する。ＬＩＮコントローラ５は、ゲートウェイ装置１をＬＩＮネットワーク２０３に接続する通信ポートとみなすことができる。
【００１７】
ＦｌｅｘＲａｙコントローラ６は、ＦｌｅｘＲａｙネットワーク２０４を構成する機器の１つであり、ＦｌｅｘＲａｙネットワーク２０４を構成する他の機器とデータを送受信する。ＦｌｅｘＲａｙコントローラ６は、ゲートウェイ装置１をＦｌｅｘＲａｙネットワーク２０４に接続する通信ポートとみなすことができる。
ＭＯＳＴコントローラ７は、ＭＯＳＴネットワーク２０５を構成する機器の１つであり、ＭＯＳＴネットワーク２０５を構成する他の機器とデータを送受信する。ＭＯＳＴコントローラ７は、ゲートウェイ装置１をＭＯＳＴネットワーク２０５に接続する通信ポートとみなすことができる。
【００１８】
（ＩＰアドレス）
制御部２には、第１ネットワーク１００と通信を行うためにＩＰアドレスとして「１９２．１６８．１．１００」が設定される。
ＣＡＮ１コントローラ３、ＣＡＮ２コントローラ４、ＬＩＮコントローラ５、ＦｌｅｘＲａｙコントローラ６、ＭＯＳＴコントローラ７には、送信元テーブル９によりＩＰネットワークにおける識別子であるＩＰアドレスとして「１９２．１６８．０．１」、「１９２．１６８．０．２」、「１９２．１６８．０．３」、「１９２．１６８．０．４」、「１９２．１６８．０．５」がそれぞれ関連付けられる。
コントローラ３〜７に関連付けられるＩＰアドレスは、それぞれのコントローラ、およびそのコントローラが属する第２ネットワーク２００を指し示すために使用されるものであり、コントローラ３〜７がこのＩＰアドレスを用いて通信を行うことはない。すなわち、このＩＰアドレスは仮想的なものである。
【００１９】
（送受信されるデータの構造）
第１ネットワーク１００、および第２ネットワーク２００は通信プロトコルが異なるため、送受信されるデータの構造も異なる。しかし、いずれの通信プロトコルを使用して送受信されるデータも、送受信されるデータは通信の制御に必要な「ヘッダ」と、通信の制御には寄与しない「ペイロード」から構成される。たとえば「ヘッダ」には、データの送信先を示す情報や、データの分類を示す情報、送受信のエラーを検出するための情報が含まれる。
前述の上位データ、および下位データは、いずれもヘッダとペイロードから構成される。
【００２０】
コントローラ３〜７は、第２ネットワーク２００から受信したデータをヘッダ部とペイロード部に分離して制御部２に送信する。
以下では、第１ネットワーク１００において送受信されるデータ、すなわちＩＰパケットのヘッダをＩＰヘッダ、ＩＰパケットのペイロードをＩＰペイロードと呼ぶ。以下では、ＣＡＮ１ネットワーク２０１およびＣＡＮ２ネットワーク２０２において送受信されるデータのヘッダをＣＡＮヘッダ、同データのペイロードをＣＡＮペイロードと呼ぶ。
【００２１】
（宛先テーブル）
宛先テーブル８は、制御部２がコントローラ３〜７が受信したデータを転送するか否かの判断、および転送する際の送信先の決定のために参照されるテーブルである。
図２は、宛先テーブル８の一例を示す図である。宛先テーブル８は、通信ポート、宛先識別子、送信先ＩＰアドレスの３つの項目から構成される。「通信ポート」は、ゲートウェイ装置１の第２ネットワーク２００に対する通信ポートを示しており、これら通信ポートはすなわちコントローラ３〜７である。「宛先識別子」は、第２ネットワーク２００から受信したデータのヘッダに含まれる文字列である。「送信先ＩＰアドレス」は、転送するデータの送り先であり、第１ネットワーク１００に属する機器のいずれかを示すＩＰアドレスである。
【００２２】
制御部２は、コントローラ３〜７からデータを受信すると、データを送信したコントローラを特定し、そのコントローラに対応する宛先識別子がそのデータのヘッダに含まれるか否かを判断する。宛先識別子がヘッダに含まれる場合は、制御部２はその宛先識別子と関連付けられた送信先ＩＰアドレスにそのデータを送信する。宛先識別子がヘッダに含まれない場合は、制御部２はそのデータを破棄する。
たとえば、制御部２がＣＡＮ１コントローラ３から受信したデータのヘッダに「Ａ１」が含まれると、制御部２はそのデータを第１ネットワーク１００の「１９２．１６８．１．１」宛に送信する。同様に、ＣＡＮ１コントローラ３から受信したデータのヘッダに「Ａ２」が含まれると、制御部２はそのデータを第１ネットワーク１００の「１９２．１６８．１．２」宛に送信する。
【００２３】
ただし、前述のとおり宛先識別子は通信ポートごとに区別される。換言すると、宛先識別子の名前空間は通信ポートごとに異なる。たとえば、ＣＡＮ２ネットワーク２０２からＣＡＮ２コントローラ４が受信したデータのヘッダに、ＣＡＮ２コントローラ４に関連付けられた宛先識別子である「Ｂ１」、「Ｂ２」、「Ｂ３」のいずれも含まれない場合は、そのデータは破棄される。
【００２４】
（送信元テーブル）
送信元テーブル９は、制御部２が第２ネットワーク２００から第１ネットワーク１００へ転送するデータにおいて、ヘッダに格納する送信元ＩＰアドレスを決定するために参照するテーブルである。
図３は、送信元テーブル９の一例を示す図である。送信元テーブル９は、通信ポートと送信元ＩＰアドレスとから構成される。「通信ポート」は、ゲートウェイ装置１の第２ネットワーク２００に対する通信ポートを示しており、これら通信ポートはすなわちコントローラ３〜７である。「送信元ＩＰアドレス」は、第１ネットワーク１００へ転送するデータにおいて、ヘッダの送信元ＩＰアドレスを示す領域に格納されるＩＰアドレスである。
【００２５】
制御部２は、コントローラ３〜７が第２ネットワーク２００から受信したデータを第１ネットワーク１００に転送する際に、当該データを制御部２に送信したコントローラを特定する。制御部２は、送信元テーブル９を参照して、特定したコントローラに関連付けられたＩＰアドレスを特定する。制御部２は、転送するデータのヘッダにおける送信元ＩＰアドレスを示す領域に、そのＩＰアドレスを格納して第１ネットワーク１００に送信する。たとえば、ＣＡＮ１コントローラ３が受信したデータを転送する場合は、そのデータのヘッダにおける送信元ＩＰアドレス格納領域に「１９２．１６８．０．１」を格納する。
【００２６】
（ＥＣＵの構成）
第１ネットワーク１００に属するＥＣＵ１１〜１３の構成を説明する。
図４は、ＥＣＵ１１〜１３の構成を示す図である。
ＥＣＵ１１〜１３は、ＥＣＵ制御部１５１と、ＥＣＵ通信部１５２と、ＥＣＵ記憶部１５３とを備える。ＥＣＵ制御部１５１は、ＣＰＵ、ＲＡＭ、およびＲＯＭを備える。ＥＣＵ通信部１５２は、第１ネットワーク１００に属する他のＥＣＵおよびゲートウェイ装置１と通信を行う。ＥＣＵ記憶部１５３は不揮発性メモリであり、ＥＣＵ記憶部１５３には受信データ処理プログラム１５４と送信元テーブル９とが保存される。ＥＣＵ制御部１５１のＣＰＵが、受信データ処理プログラム１５４をＲＡＭに展開して実行する。
【００２７】
ＥＣＵ制御部１５１は、ＥＣＵ通信部１５２がゲートウェイ装置１からＩＰパケットを受信すると、そのＩＰパケットのヘッダに含まれる送信元ＩＰアドレスを抽出する。そしてＥＣＵ制御部１５１は、当該ＩＰアドレスと受信したＩＰパケットを受信データ処理プログラム１５４に入力する。換言すると、受信データ処理プログラム１５４には、送信元ＩＰアドレスが引数として入力される。
【００２８】
受信データ処理プログラム１５４は、ゲートウェイ装置１により第２ネットワーク２００から転送されたからデータを処理する。第２ネットワーク２００から転送されたデータは、ＥＣＵ２１〜６３のいずれかが生成したデータである。受信データ処理プログラム１５４は、引数として与えられた送信元ＩＰアドレスに基づき、受信したデータがどのネットワークから発信されたものであるかを判別する。具体的には、ＣＡＮ１ネットワーク２０１、ＣＡＮ２ネットワーク２０２、ＬＩＮネットワーク２０３、ＦｌｅｘＲａｙネットワーク２０４、ＭＯＳＴネットワーク２０５のいずれから送信されたＩＰパケットであるかを判別する。受信データ処理プログラム１５４は、判別したデータの送信元ネットワークに基づき受信したＩＰパケットのペイロードの処理を決定する。受信データ処理プログラム１５４は、必要に応じて送信元テーブル９を参照し、引数として入力された送信元ＩＰアドレスに関連付けられた通信ポートの名称、および送信元ネットワークの名称を特定する。
【００２９】
（データ転送のフローチャート）
制御部２は、コントローラ３〜７からデータを受信すると、ＲＯＭに保存されているデータ転送プログラムをＲＡＭに展開して実行する。前述のとおり、コントローラ３〜７から受信するデータは、ヘッダとペイロードに分離されている。また、制御部２は、いずれのコントローラからデータを受信したのかを特定可能である。
図５は、データ転送プログラムの動作を示すフローチャートである。以下に示す各ステップの実行主体は、制御部２のＣＰＵである。
【００３０】
ステップＳ３０１において、宛先テーブル８を参照し、データを送信した通信ポートに対応する宛先識別子を特定してステップＳ３０２に進む。たとえば、ＬＩＮコントローラ５が制御部２にデータを送信した場合には、宛先識別子として「Ｃ１」、「Ｃ２」、「Ｃ３」が特定される。
【００３１】
ステップＳ３０２において、受信したデータのヘッダにステップＳ３０１において特定した宛先識別子が含まれるか否かを判断する。具体的には、プロトコルごとにヘッダの以下の領域に格納されているデータに基づき判断する。プロトコルがＣＡＮの場合はＣＡＮ  ＩＤ、プロトコルがＦｌｅｘＲａｙの場合はフレームＩＤ、プロトコルがＬＩＮの場合はＰｒｏｔｅｃｔｅｄＩＤ、プロトコルがＭＯＳＴの場合はヘッダ部分にデータ種別を格納するフィールドが含まれていないためＴａｒｇｅｔＡｄｄｒｅｓｓとＳｏｒｃｅＡｄｄｒｅｓｓとの組み合わせを用いて判断する。宛先識別子が含まれていると判断する場合はステップＳ３０３に進み、宛先識別子が含まれていないと判断する場合は、ステップＳ３０７に進む。
【００３２】
ステップＳ３０３において、宛先テーブル８を参照し、ステップＳ３０２においてヘッダに含まれていると判断した宛先識別子に関連付けられた送信先ＩＰアドレスを取得する。たとえば、ヘッダに「Ｃ２」が含まれていた場合は送信先ＩＰアドレスとして「１９２．１６８．１．２」を取得する。次にステップＳ３０４に進む。
ステップＳ３０４において、送信元テーブル９を参照し、データを送信したコントローラに関連付けられた送信元ＩＰアドレスを取得する。たとえば、ＬＩＮコントローラからデータを受信した場合には、送信元ＩＰアドレスとして「１９２．１６８．０．３」を取得する。次にステップＳ３０５に進む。
【００３３】
ステップＳ３０５において、ＩＰパケットを作成する。このＩＰパケットのヘッダにおいて、送信先ＩＰアドレスを格納する領域にはステップＳ３０３において取得したＩＰアドレスを設定し、送信元ＩＰアドレスを格納する領域にはステップＳ３０４において取得したＩＰアドレスを設定する。このＩＰパケットのペイロードには、受信したデータのヘッダとペイロードをそのまま含める。換言すると、本ステップでは第２ネットワーク２００から受信したデータをＩＰパケットにカプセル化する。次にステップＳ３０６に進む。
【００３４】
ステップＳ３０６において、ステップＳ３０５において作成したＩＰパケットを第１ネットワーク１００に送信する。以上で図４に示すフローチャートの動作を終了する。
受信したデータのヘッダに宛先識別子が含まれていないと判断された場合に実行されるステップＳ３０７において、受信データを破棄して図４に示すフローチャートの動作を終了する。
【００３５】
（動作例）
図６は、データ転送の動作例を示す遷移図である。図５では、ＣＡＮ２ネットワーク２０２に属するＥＣＵ３１が、第１ネットワーク１００への転送対象となるデータを送信した場合の遷移図が示されている。ここで、宛先テーブル８は、図２に示した値が格納されており、送信元テーブル９には図３に示した値が格納されているものとする。以下、図６に示したステップ番号、および図５のフローチャートに付したステップ番号を併用して説明する。
ＥＣＵ３１からＣＡＮヘッダの一部であるＣＡＮＩＤが「Ｂ１」、ペイロードが「ＸＹＺ」であるデータが送信されると、ＣＡＮ２コントローラ４が当該データを取得する（図６のＳ５０１）。ＣＡＮ２コントローラ４は制御部２に当該データを送信する（図６のＳ５０２）。
【００３６】
制御部２は、宛先テーブル８を参照し、ＣＡＮ２コントローラ４に関連付けられた宛先識別子として、「Ｂ１」、「Ｂ２」、「Ｂ３」を特定する（図５のＳ３０１）制御部２は、そのうちの１つである「Ｂ１」がヘッダに含まれると判断し（図５のＳ３０２：ＹＥＳ）、Ｂ１に関連付けられた送信先ＩＰアドレスである「１９２．１６８．１．１」を取得する（図５のＳ３０３）。続いて制御部２は送信元テーブル９を参照し、ＣＡＮ２コントローラ４に関連付けられた送信元ＩＰアドレスである「１９２．１６８．０．２」を取得する（図５のＳ３０４）。制御部２は、これらの情報に基づきＩＰパケットのヘッダを生成し、ＩＰパケットのペイロードにはＣＡＮＩＤである「Ｂ１」、およびＣＡＮペイロードである「ＸＹＺ」を格納する（図５のＳ３０５）。制御部２は、生成したＩＰパケットを第１ネットワーク１００に送信し（図５のＳ３０６）、そのパケットがＥＣＵ１３に到達する（図６のＳ５０３）。
【００３７】
ＥＣＵ１３のＥＣＵ制御部１５１は、ＥＣＵ通信部１５２がＩＰパケットを受信するとそのＩＰパケットから送信元ＩＰアドレスを抽出する。ＥＣＵ制御部１５１は、受信データ処理プログラム１５４をＲＡＭに読み込んで実行させ、このプログラムに引数として抽出した送信元ＩＰアドレスを与える。
【００３８】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）ゲートウェイ装置１は、所定の通信プロトコルを用いる上位ネットワーク、すなわち第１ネットワーク１００と、上位ネットワークとは異なる通信プロトコルを用いる２つ以上の下位ネットワーク、すなわちＣＡＮ１ネットワーク２０１と、ＣＡＮ２ネットワーク２０２と、ＬＩＮネットワーク２０３と、ＦｌｅｘＲａｙネットワーク２０４と、ＭＯＳＴネットワーク２０５とに接続される。上位ネットワークにおいて送受信される上位データ、すなわちＩＰパケットは、ヘッダとペイロードとから構成される。ゲートウェイ装置１は、それぞれの下位ネットワークに接続され、下位ネットワークにおいて送受信される下位データを受信する複数の通信ポート、すなわちコントローラ３〜７と、複数の通信ポートのそれぞれとソース識別子とを関連付けて定義する送信元テーブル９を記憶する記憶部２ａと、上位データを生成し上位ネットワークに送信する制御部２とを備える。制御部２が生成する上位データのペイロードは、通信ポートが受信した下位データを含む。制御部２が生成する上位データのヘッダは、当該通信ポートに関連付けられたソース識別子を含む。
ゲートウェイ装置１をこのように構成したので、上位データ、すなわちＩＰパケットを受信したＥＣＵ１１〜１３は、ヘッダに含まれるソース識別子、すなわち送信元ＩＰアドレスにより、受信した上位データがいずれの下位ネットワークから送信されたデータであるかを容易に判別できる。
【００３９】
（２）上位ネットワーク、すなわち第１ネットワーク１００で使用される通信プロトコルはインターネットプロトコルである。上位データはＩＰパケットである。ソース識別子は、下位データを受信した通信ポートに関連付けられたＩＰアドレスである。制御部２は、生成するＩＰパケットのヘッダに設けられた送信元ＩＰアドレス格納領域に、下位データを受信した通信ポートに関連付けられたＩＰアドレスを格納する。
送信元ＩＰアドレスは、規格化されたＩＰヘッダの構成物なので、このＩＰパケットを受信したＥＣＵ１１〜１３は送信元ＩＰアドレスを容易に取り出すことができる。すなわち、ＥＣＵ１１〜１３は、受信したデータの送信元ネットワークを容易に判別できる。
【００４０】
（３）記憶部２ａには、下位データに含まれる宛先識別子と送信先ＩＰアドレスとの関連付けを定義する宛先テーブル８がさらに記憶される。制御部２は、下位ネットワークから下位データを受信すると、当該下位データに含まれる宛先識別子に関連付けられた送信先ＩＰアドレスを特定し、生成するＩＰパケットのヘッダに設けられた送信先ＩＰアドレス格納領域に、特定した送信先ＩＰアドレスを格納する。
そのためゲートウェイ装置１は、宛先テーブル８において宛先識別子と関連付けられた特定のＩＰアドレスを有するＥＣＵに、受信した下位データを転送することができる。
【００４１】
（４）下位データは、下位ヘッダと下位ペイロードとから構成される。宛先識別子は下位ヘッダに含まれる。制御部２は、下位ネットワークから下位データを受信すると、当該下位データの下位ヘッダに含まれる宛先識別子に関連付けられた送信先ＩＰアドレスを特定する。
制御部２は、下位データの転送において、それぞれのプロトコルにおいて規定されている下位ヘッダの特定の領域に格納されている情報に基づき送信先ＩＰアドレスを特定することができるため、処理が簡便である。宛先識別子が下位ペイロードに含まれる場合は、下位ペイロードのデータフォーマットが規格では規定されていないため処理が煩雑になるが、本実施の形態によればそのような不都合がない。
【００４２】
（５）宛先テーブル８には、通信ポート、すなわちコントローラ３〜７ごとに送信先ＩＰアドレスと宛先識別子との関連付けが定義されている。ＩＰパケットのヘッダには送信先ＩＰアドレス格納領域が設定される。制御部２は、下位データを受信した通信ポートにおける、宛先識別子に関連付けられた送信先ＩＰアドレスを、送信先ＩＰアドレス格納領域に格納する。
そのため、第２ネットワーク２００を構成する個別のネットワークにおいて、宛先識別子を整合させる必要がなく設定が簡便である。換言すると、第２ネットワーク２００を構成するネットワークごとに、宛先識別子と送信先ＩＰアドレスとの関連付けを自由に設定できる。すなわち、宛先識別子の名前空間は通信ポートごとに異なるので、下位ネットワークのそれぞれで設定した宛先識別子が衝突する恐れがない。
【００４３】
（６）演算装置、すなわちＥＣＵ１１〜１３は、ゲートウェイ装置１から上位データ、すなわちＩＰパケットを受信する演算装置受信部１５２と、受信した上位データを構成するヘッダに含まれるソース識別子に基づき、受信したペイロードの処理を決定する受信データ処理決定部、すなわちＥＣＵ制御部１５１を備える。
そのためＥＣＵ１１〜１３は、受信したＩＰパケットのヘッダを読み込むことで、ペイロードの処理を決定することができる。
【００４４】
（７）ＥＣＵ１１〜１３の受信データ処理決定部、すなわちＥＣＵ制御部１５１は、ソース識別子に基づき、ペイロードを処理するコンピュータプログラム、すなわち受信データ処理プログラム１５４にソース識別子をパラメータとして入力する。
そのためＥＣＵ１１〜１３は、ペイロードの送信元ネットワークを示す情報を受信データ処理プログラム１５４にパラメータとして入力し、ペイロードの処理を容易にさせることができる。受信データ処理プログラム１５４は、ペイロードの送信元ネットワークの情報に基づきペイロードの概要を把握し、ペイロードに含まれる下位ヘッダに基づき下位ペイロードの詳細を把握することができる。
【００４５】
上述した第１の実施の形態を以下のように変形させてもよい。
（変形例１）
上述した第１の実施の形態では、コントローラ３〜７が下位データを下位ヘッダと下位ペイロードに分離し、制御部２が下位ヘッダから宛先識別子を抽出した。しかし、制御部２とコントローラ３〜７の役割分担はこれに限定されない。ゲートウェイ装置１を構成する制御部２とコントローラ３〜７が全体としてこれらの役割を実行すればよい。
たとえば、コントローラ３〜７は受信した下位データをそのまま制御部２に送信し、制御部２が下位データを下位ヘッダと下位ペイロードに分離してもよい。また、下位データを受信したコントローラ３〜７がその下位データから宛先識別子を抽出し、抽出した宛先識別子と下位データを制御部２に送信してもよい。
【００４６】
（変形例２）
上述した第１の実施の形態では、宛先テーブル８において、通信ポート、すなわちコントローラ３〜７ごとに送信先ＩＰアドレスと宛先識別子との関連付けが定義されていた。しかし宛先テーブル８は、通信ポート、すなわちコントローラ３〜７ごとに区別することなく、宛先識別子と送信先ＩＰアドレスとの関連付けを同一にしてもよい。たとえば、宛先識別子「ＡＡＡ」が、いずれのコントローラ３〜７において受信された場合でも同一の送信先ＩＰアドレスと関連付けられてもよい。
【００４７】
（変形例３）
上述した第１の実施の形態では、制御部２は受信した下位データ、すなわち下位ヘッダと下位ペイロードをＩＰペイロードに格納した。しかし、ＩＰペイロードには下位ヘッダを含めなくてもよく、ペイロードの少なくとも一部を含めばよい。
（変形例４）
上述した第１の実施の形態では、宛先識別子は、下位データのヘッダに格納された。しかし、宛先識別子は下位データのペイロードに格納されてもよい。
【００４８】
（変形例５）
上述した第１の実施の形態では、制御部２は、受信したＣＡＮヘッダに含まれる宛先識別子に基づき、作成するＩＰヘッダの送信先ＩＰアドレス格納領域にＩＰアドレスを設定した。しかし、制御部２は作成するＩＰヘッダの送信先ＩＰアドレス格納領域に、予め定めた所定のＩＰアドレスを設定してもよい。予め定めたＩＰアドレスは、特定の機器に割り当てられたＩＰアドレスだけを指すユニキャストアドレスでもよいし、複数の機器が属するグループに割り当てられたＩＰアドレスであるマルチキャストアドレスでもよい。
この変形例５によれば、次の作用効果が得られる。
【００４９】
（１）制御部２は、生成するＩＰパケットのヘッダに設けられた送信先ＩＰアドレス格納領域に、所定のマルチキャストアドレスを格納する。
そのため、ゲートウェイ装置１は、マルチキャストアドレスにより特定される複数のＥＣＵに、第２ネットワーク２００から受信した下位データを転送することができる。
【００５０】
（変形例６）
第１の実施の形態では、宛先テーブル８において宛先識別子と送信先ＩＰアドレスが関連付けられた。しかし、宛先テーブル８において宛先識別子と送信先ＭＡＣアドレスが関連付けられてもよい。この場合は、たとえば以下のように構成を変更すればよい。
送信元テーブル９において、通信ポートと送信元ＭＡＣアドレスとを関連付けて定義する。宛先テーブル８において、宛先識別子と送信先ＭＡＣアドレスとを関連付けて定義する。
【００５１】
制御部２は、コントローラ３〜７から受信した下位データのヘッダに、宛先テーブル８においてそのコントローラに関連付けられた宛先識別子が含まれる場合は、その宛先識別子に関連付けられた送信先ＭＡＣアドレスを特定する。続いて制御部２は、そのデータを送信したコントローラに関連付けられた送信元ＭＡＣアドレスを特定する。さらに制御部２は、次のようなＭＡＣフレームを作成する。すなわち、作成するＭＡＣフレームのヘッダにおいて、送信先ＭＡＣアドレス格納領域に特定した送信先ＭＡＣアドレスが格納され、送信元ＭＡＣアドレス格納領域に特定した送信元ＭＡＣアドレスが格納される。作成するＭＡＣフレームのペイロードには受信した下位データが格納される。制御部２は、作成したＭＡＣフレームを第１ネットワーク１００に送出する。
さらに、第１ネットワークに接続するＥＣＵに付与されたＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）を宛先識別子と関連付けてもよい。
【００５２】
（変形例７）
第１ネットワーク１００、および第２ネットワーク２００の構成は第１の実施の形態の構成に限定されない。
第２ネットワーク２００は、少なくとも２つの非ＩＰネットワークから構成されればよい。たとえば、第１の実施の形態よりも多い６つ以上の非ＩＰネットワークから構成されてもよいし、第２ネットワーク２００がＬＩＮネットワーク２０３とＭＯＳＴネットワーク２０５のみから構成されてもよい。また、第２ネットワーク２００が第１の実施の形態で示した以外の通信プロトコルを使用するネットワークを含んでもよい。
【００５３】
第１ネットワーク１００はＴＣＰ／ＩＰネットワークから構成されればよく、構成されるネットワーク数、および接続される機器数を問わない。たとえば、ＥＣＵ１１のＩＰアドレスが「１９２．１６８．１．１／２４」、ＥＣＵ１２のＩＰアドレスが「１９２．１６８．２．２／２４」、ＥＣＵ１３のＩＰアドレスが「１９２．１６８．３．３／２４」に設定されることにより、第１ネットワーク１００が３つのＴＣＰ／ＩＰネットワークから構成されてもよい。さらに、コントローラ３〜７の仮想ＩＰアドレスのネットワークアドレスは、第１ネットワーク１００と同一でもよい。
【００５４】
（第２の実施の形態）
図７を参照して、ゲートウェイ装置の第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、宛先テーブル８に転送するＩＰパケットの優先度が併せて定義されている点で、第１の実施の形態と異なる。
【００５５】
（構成）
本実施の形態において、ゲートウェイ装置１の記憶部２ａには、第１の実施の形態における宛先テーブル８に代えて宛先テーブル８ａが記憶される。
宛先テーブル８は、制御部２がコントローラ３〜７が受信したデータを転送するか否かの判断、転送する際の送信先、および生成するＩＰパケットに付与する優先度の決定のために参照されるテーブルである。
【００５６】
図７は、宛先テーブル８ａの一例を示す図である。宛先テーブル８ａは、通信ポート、宛先識別子、送信先ＩＰアドレス、優先度値の４つの項目から構成される。「通信ポート」、「宛先識別子」、および「送信先ＩＰアドレス」は、第１の実施の形態と同様である。「優先度値」は、ＩＰパケットに付与される優先度を示す値であり、値が大きいほど第１ネットワーク１００における伝送処理が優先されることを示す。この優先度値は、たとえば、ＩＰヘッダのＴＯＳ（ＴｙｐｅＯｆ Ｓｅｒｖｉｃｅ）を示す領域における先頭の３ビットに格納される値であり、「０」が最も優先度が低く、「７」が最も優先度が高い。
【００５７】
（データ転送のフローチャート）
第２の実施の形態では、第１の実施の形態における動作から、ステップＳ３０３およびステップＳ３０５の動作を変更する。
ステップＳ３０３において、宛先テーブル８を参照し、ステップＳ３０２においてヘッダに含まれていると判断した宛先識別子に関連付けられた送信先ＩＰアドレス、および優先度値を取得する。たとえば、ＣＡＮ１コントローラ３から受信したＣＡＮヘッダに「Ａ２Ｈ」が含まれていた場合は、送信先ＩＰアドレスとして「１９２．１６８．１．２」を、優先度値として「７」を取得する。
【００５８】
ステップＳ３０５において、ＩＰパケットを作成する。このＩＰパケットのヘッダにおいて、送信先ＩＰアドレスを格納する領域にはステップＳ３０３において取得したＩＰアドレスを設定し、送信元ＩＰアドレスを格納する領域にはステップＳ３０４において取得したＩＰアドレスを設定し、ＩＰヘッダのＴＯＳを示す領域における先頭の３ビットに取得した優先度値を設定する。このＩＰパケットのペイロードには、受信したデータのヘッダとペイロードをそのまま含める。
【００５９】
上述した実施の形態によれば、次の作用効果が得られる。
（１）ゲートウェイ装置１の宛先テーブル８ａには、宛先識別子に関連付けられた伝送優先度が定義される。ＩＰパケットのヘッダには、上位ネットワークにおける当該ＩＰパケットの伝送処理の優先度を格納する優先度格納領域が設定されている。制御部２は、優先度格納領域に、受信した下位データに含まれる宛先識別子に関連付けられた伝送優先度を格納する。
そのため制御部２は、制御部２から第１ネットワーク１００に送信されるＩＰパケットの優先順位、および第１ネットワーク１００における不図示のルータにおいて処理されるＩＰパケットの優先順位を宛先識別子に基づき設定できる。
【００６０】
（第２の実施の形態の変形例）
上述した第２の実施の形態では、宛先テーブル８ａに記憶される優先度は任意に設定された。しかし、宛先テーブル８ａに記憶される優先度は、すべて最優先を示す情報が設定されてもよい。たとえば、優先度が「０」〜「７」で設定される場合に、宛先テーブル８ａに記憶される優先度は、すべて最優先を示す「７」が設定される。
この変形例によれば、次の作用効果が得られる。
【００６１】
（１）宛先テーブル８ａに記憶される優先度は、すべて最優先を示す情報が設定される。
そのため、ゲートウェイ装置１が第２ネットワーク２００から第１ネットワーク１００に転送するパケットには、その他のパケット、たとえば、ＥＣＵ１１〜１３同士で送受信されるＩＰパケットよりも高い優先度が設定される。すなわち第１ネットワーク１００において、その他のパケットよりもゲートウェイ装置１が転送するパケットの方が優先的に送信先に送信される。
【００６２】
（第３の実施の形態）
図８を参照して、ゲートウェイ装置の第３の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、ゲートウェイ装置が転送するデータにタイムスタンプを付与する点で、第１の実施の形態と異なる。
【００６３】
（構成）
本実施の形態では、制御部２のＲＯＭに保存されているプログラムが異なる。本実施の形態における制御部２のＲＯＭに保存されているプログラムは、第１の実施の形態における処理に加えて次に説明する時刻の記録、およびタイムスタンプの付与を行う。
本実施の形態では、第１ネットワーク１００に属するＥＣＵ１１〜１３は、所定時間ごとに、後述する時刻同期パケットをゲートウェイ装置１に送信する。
【００６４】
（時刻同期の処理フロー）
図８は、ゲートウェイ装置１およびＥＣＵ１１〜１３の間で行われる時刻同期の処理フローを示す図である。ただし図７ではＥＣＵ１１〜１３を代表してＥＣＵ１３を記載している。以下、図８のステップ番号を用いて説明する。
ＥＣＵ１３は定期的に、ＩＰパケットである時刻同期パケット７００を送信する。時刻同期パケット７００のヘッダには、送信元ＩＰアドレスとしてＥＣＵ１３のＩＰアドレスである「１９２．１６８．１．３」が格納される。時刻同期パケット７００のペイロードには、ＥＣＵ１３のクロック情報とシーケンス番号が格納される。例えばＥＣＵ１３の時刻ＴＭ１にて時刻同期パケット７００を生成する場合、時刻同期パケット７００のクロック情報ＴＭ１、およびシーケンス番号として「１」が格納される（Ｓ７１０）。シーケンス番号は、ＥＣＵ１３から時刻同期パケット７００が送出される度にカウントアップされる。シーケンス番号を参照することで時刻同期パケット７００の送信エラー等が検出可能となる。  
【００６５】
ゲートウェイ装置１が時刻同期パケット７００をゲートウェイ装置１の時刻ＴＳ１にて受信すると、ゲートウェイ装置１の制御部２は以下の情報を記憶部２ａに記録する。すなわち制御部２は、時刻同期パケットの送信元ＩＰアドレスである「１９２．１６８．１．３」、時刻同期パケットに含まれるクロック情報「ＴＭ１」、シーケンス番号「１」およびゲートウェイ装置の受信時刻「ＴＳ１」を関連付けて記録する。ゲートウェイ装置１が同一の送信元ＩＰアドレスから時刻同期パケット７００を受信するたびに、制御部２により、記憶部２ａに記録されたこれらの情報が更新される。
【００６６】
ゲートウェイ装置１が、ゲートウェイ装置１の時刻ＴＳ２にて、ヘッダにＥＣＵ１３のＩＰアドレスに関連付けられた宛先識別子である「Ｂ３」を含み、ペイロードが「ＸＹＺ」である下位データを第２ネットワーク２００から受信すると、ゲートウェイ装置１は、第１の実施の形態で説明した事項に加えて以下の処理を行う。すなわち、ＩＰペイロードに、データ発生時刻としてＴＭ１＋（ＴＳ２−ＴＳ１）を含め、シーケンス番号として記憶部２ａにＥＣＵ１３のＩＰアドレスと関連付けられて記憶されているシーケンス番号を含める。したがって、ゲートウェイ装置１が生成するＩＰパケットのペイロードには、データ発生時刻情報と、シーケンス番号と、宛先識別子と、下位ペイロードとが含まれる。このＩＰパケットを、本実施の形態では時刻情報付き転送パケット７０１と呼ぶ。ゲートウェイ装置１は、時刻情報付き転送パケット７０１を第１ネットワーク１００に送出する（Ｓ７１１）。
【００６７】
ここで、ＥＣＵ１３とゲートウェイ装置１のクロック時刻の経過違いがある場合、たとえばＥＣＵ１３のクロックが１進む場合にゲートウェイ装置１のクロックが２進む場合には、ＥＣＵ１３のクロック時刻に対応するように補正した値が設定されるものとする。
時刻情報付き転送パケット７０１を受信したＥＣＵ１３は、時刻情報付き転送パケット７０１に含まれるデータ発生時刻情報を参照し、ＩＰペイロードに含まれる下位ペイロードを処理する。
この第３の実施の形態によれば、次の作用効果が得られる。
【００６８】
（１）ゲートウェイ装置１は、上位ネットワークに属する機器の時刻情報を取得し、当該機器のＩＰアドレスと関連づけて記憶部に保存する時刻取得部、すなわち制御部２と、タイムスタンプ、すなわちデータ発生時刻情報を生成するタイムスタンプ生成部、すなわち制御部２とを備える。タイムスタンプ生成部、すなわち制御部２は、下位ネットワークから下位データを受信すると、当該下位データに含まれる宛先識別子および宛先テーブルに基づき、当該下位データの送信先のＩＰアドレスを特定し、当該下位データを受信した時刻、および記憶部に保存された当該送信先のＩＰアドレスに関連づけられた時刻情報に基づき、送信先の機器にあわせたタイムスタンプを生成する。制御部２は、タイムスタンプを生成するＩＰパケットのペイロードに書き込む。
【００６９】
時刻情報付き転送パケット７０１を受信したＥＣＵ１３は、時刻情報付き転送パケット７０１に含まれるデータ発生時刻を参照することで、当該データの発生時刻を取得することが可能となる。それによりＥＣＵ１３のアプリケーションにてデータ発生時刻による処理補正を実行することが可能となり、より高精度なデータ処理が可能となる。
また、ＥＣＵ１１〜１３の時刻情報、およびゲートウェイ装置１の時刻情報を変更しないため、時間の巻き戻り等の問題が発生しない。さらに、ゲートウェイ装置１はＥＣＵのＩＰアドレスとＥＣＵの時刻情報を関連付けて記憶部２ａに記憶するため、複数のＥＣＵの時刻情報を個別に管理し、それぞれのＥＣＵに適切なタイムスタンプ、すなわちデータ発生時刻情報を付与できる。
【００７０】
（第３の実施の形態の変形例１）
上述した第３の実施の形態では、ゲートウェイ装置１がＥＣＵ１１〜１３の時刻情報を取得し、その時刻情報にあわせたデータ発生時刻を付した時刻情報付き転送パケット７０１を生成した。しかし、ゲートウェイ装置１はＥＣＵ１１〜１３の時刻情報を考慮せずにゲートウェイ装置１の時刻情報のみに基づきデータ発生時刻を付与し、ＥＣＵ１１〜１３がゲートウェイ装置１の時刻情報と当該ＥＣＵの時刻情報の差分に基づき、そのデータ発生時刻を修正してもよい。この場合は、時刻同期パケットがゲートウェイ装置１から送信される。
【００７１】
（第３の実施の形態の変形例２）
上述した第３の実施の形態では、ゲートウェイ装置１はＥＣＵのＩＰアドレスとＥＣＵの時刻情報を関連付けて記憶部２ａに記憶した。しかし、ＥＣＵの時刻情報をＥＣＵのＩＰアドレスと関連付けることなく記憶部２ａに記憶してもよい。この場合は、特定のＥＣＵに送信する転送データのみに、当該ＥＣＵの時刻情報にあわせたデータ発生時刻情報を付与する。
【００７２】
（第３の実施の形態の変形例３）
上述した第３の実施の形態とは異なる方法により、ＥＣＵ１１〜１３の時刻をゲートウェイ装置１に伝達してもよい。たとえば、既存の規格化された時刻同期方式である、ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）、ｇＰＴＰ（ｇｅｎｅｒａｌｉｚｅｄ  Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）などを用いてＥＣＵ１１〜１３の時刻をゲートウェイ装置１に伝達してもよい。たとえばＮＴＰを用いる場合は、ＥＣＵ１１〜１３、およびゲートウェイ装置１を以下のように構成すればよい。
【００７３】
以下の例ではＥＣＵ１１〜１３は同様の機能を備えるので、代表してＥＣＵ１１を用いて説明する。
ＥＣＵ１１はＮＴＰサーバの機能を備え、ゲートウェイ装置１はＮＴＰクライアントの機能を備える。ゲートウェイ装置１は、ゲートウェイ装置１の制御に用いるマスター時計だけでなく、各ＥＣＵと同期させる同期用時計を備える。すなわちゲートウェイ装置１は、ＥＣＵ１１用同期時計と、ＥＣＵ１２用同期時計と、ＥＣＵ１３用同期時計を備える。ゲートウェイ装置１は、ＮＴＰクライアントとしてＥＣＵ１１にアクセスし、ＥＣＵ１１用同期時計をＥＣＵ１１の時計と同期させる。ゲートウェイ装置１は、ＥＣＵ１１に送信する時刻情報付き転送パケット７０１には、ＥＣＵ１１用同期時計を用いてタイムスタンプ、すなわちデータ発生時刻情報を付与する。
【００７４】
（第４の実施の形態）
図９を参照して、本発明によるゲートウェイ装置の第４の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、ゲートウェイ装置が送信元のネットワークごとに転送作業の優先度を設定する点で、第１の実施の形態と異なる。
【００７５】
（構成）
ゲートウェイ装置１の記憶部２ａには、処理割合テーブル８０１がさらに記憶される。処理割合テーブル８０１は、ゲートウェイ装置１が第２ネットワークから送信されるデータの処理割合の上限を示したものである。
ゲートウェイ装置１の制御部２は、一定時間内に転送処理を行うデータ数を、処理割合テーブル８０１に応じて振り分ける。
【００７６】
図９は、処理割合テーブル８０１の一例を示す図である。処理割合テーブル８０１は、「通信ポート」と「処理割合」の２つのフィールドから構成される。「通信ポート」は、図２などと同様に、コントローラ３〜７に対応するフィールドである。「処理割合」は、第２ネットワーク２００から送出されるデータに対して、ゲートウェイ装置１が処理する割合をしている値が格納されるフィールドである。
ゲートウェイ装置１の制御部２は、一定時間内に処理するデータを、処理割合に応じて振り分ける。図９の例では、たとえば１秒間に１００件のデータ転送が可能な場合に、ＣＡＮ１コントローラ３がＣＡＮ１ネットワーク２０１から受信したデータを最大で３５件転送する。
【００７７】
上述した実施の形態によれば、次の作用効果が得られる。
（１）記憶部２ａには、複数の通信ポートのそれぞれと転送処理の割合とを関連付けて定義する処理割合テーブル８０１が記憶される。制御部２は、下位データに基づく上位データの生成および送信を、当該下位データを受信した通信ポートに関連付けられた転送処理の割合で実行する。
そのため、第２ネットワークに接続するある一つのネットワークから送出されるデータが増大し、第２ネットワークに接続する他のネットワークから送出されるデータの処理が滞ることがない。
【００７８】
（第４の実施の形態の変形例１）
上述した第４の実施の形態における、ゲートウェイ装置１によるデータ処理量の振り分けは、特定の条件の場合にのみ適用されてもよい。特定の条件とは、たとえば以下の２つの場合である。１つ目の場合は、ゲートウェイ装置１のＣＰＵの負荷が予め設定された値を超えた場合となった場合である。２つ目の場合は、第２ネットワークに接続するネットワークのうち予め定めたネットワークに対して当該ネットワークを流れるデータ量が、特定の閾値を超えた場合である。
【００７９】
（第４の実施の形態の変形例２）
上述した第４の実施の形態では、第２ネットワークに接続するネットワークに対してそれぞれの処理の割合を定義していた。しかし、第２ネットワークに接続するネットワークに対して優先度をつけて、当該優先度の高いネットワークから送出されたデータを順に処理しても良い。その場合は、優先度の低いネットワークから送出されたデータが、長時間処理されなくなる恐れがある。そのため、一つのネットワークから送出されたデータを一度に処理する上限値等を設定おくと良い。
【００８０】
（第５の実施の形態）
図１０〜１１を参照して、本発明によるゲートウェイ装置の第４の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、ＴＣＰヘッダの送信先ＴＣＰポートを用いて転送元ネットワークを示す点が、第１の実施の形態と異なる。
【００８１】
（構成）
ゲートウェイ装置１の記憶部２ａは、送信元テーブル９に代えて、送信元テーブル９ａを備える。送信元テーブル９ａには、第２ネットワーク２００からデータを受信したコントローラと、送信先ＴＣＰポートの関連付けが定義されている。
図１０は、送信元テーブル９ａの一例を示す図である。送信元テーブル９ａは、通信ポートと送信先ＴＣＰポートとから構成される。「通信ポート」は、ゲートウェイ装置１の第２ネットワーク２００に対する通信ポートを示しており、これら通信ポートはすなわちコントローラ３〜７である。「送信先ＴＣＰポート」は、ＴＣＰヘッダの送信先ＴＣＰポートを示す領域に格納されるポート番号である。たとえば、ＣＡＮ１コントローラ３が受信し第１ネットワーク１００に転送されるデータのＴＣＰヘッダには、宛先ＴＣＰポートとして「５０００１」が指定される。
【００８２】
図１１は、ＥＣＵ１１〜１３の構成を示す図である。
ＥＣＵ１１〜１３のＥＣＵ記憶部１５３には、受信データ処理プログラム１５４と送信元テーブル９に代わって、受信データ処理プログラム１５４ａ〜ｅと送信元テーブル９ａが保存される。受信データ処理プログラム１５４ａ〜ｅは、それぞれ特定の第２ネットワーク２００から転送されたデータの処理を行う。その対応は、受信データ処理プログラム１５４ａ〜ｅの順に、ＣＡＮ１ネットワーク２０１、ＣＡＮ２ネットワーク２０２、ＬＩＮネットワーク２０３、ＦｌｅｘＲａｙネットワーク２０４、ＭＯＳＴネットワーク２０５、である。
【００８３】
（動作）
制御部２は、受信した下位ヘッダに宛先テーブル８に示された宛先識別子が含まれると、送信元テーブル９ａを用いてそのデータを受信した通信ポートに関連付けられたＴＣＰポートを特定する。そして制御部２は、作成するＴＣＰパケットのヘッダにおいて送信先ＴＣＰポート格納領域に、特定したＴＣＰポート番号を格納して送信する。たとえば、ＣＡＮ１コントローラ３が受信し第１ネットワーク１００に転送されるデータのＴＣＰヘッダには、宛先ＴＣＰポートとして「５０００１」が指定される。
【００８４】
ＥＣＵ１１〜１３のＥＣＵ制御部１５１は、送信元テーブル９ａを参照し、受信データ処理プログラム１５４ａ〜ｅのそれぞれを、関連付けられたＴＣＰポートで待ち受けさせる。たとえば、受信データ処理プログラム１５４ａは前述のとおりＣＡＮ１ネットワーク２０１に対応するので、送信元テーブル９ａが図１０の例に示すとおりであれば、５０００１番ポートで待ち受けさせる。
【００８５】
ＥＣＵ１１〜１３のＥＣＵ通信部１５２がゲートウェイ装置１からＴＣＰパケットを受信すると、ＥＣＵ制御部１５１は、受信したＴＣＰパケットの送信先ＴＣＰポート格納領域に格納されたポート番号を抽出する。ＥＣＵ制御部１５１は、抽出したポート番号において待ち受け状態にあったプログラムに、受信したＴＣＰパケットのペイロードを入力して処理させる。たとえば、抽出したポート番号が５０００１の場合は、ＴＣＰポート５０００１番で待ち受け状態にあった受信データ処理プログラム１５４ａに、受信したＴＣＰパケットのペイロードを入力して処理させる。
【００８６】
上述した第５の実施の形態によれば、次の作用効果が得られる。
（１）上位ネットワーク、すなわち第１ネットワーク１００で使用される通信プロトコルはＴＣＰである。ソース識別子は、送信先ＴＣＰポート番号である。ゲートウェイ装置１の制御部２は、生成する上位データのヘッダに設けられた送信先ポート番号の格納領域に当該通信ポートに関連付けられたポート番号を格納する。
そのため、ＥＣＵ１１〜１３は、受信したＴＣＰパケットのヘッダに含まれる送信先ポート番号により、受信したＴＣＰパケットのペイロードが、いずれの下位ネットワークから送信されたデータであるかを容易に判別できる。
【００８７】
（２）ＥＣＵ１１〜１３の受信データ処理決定部、すなわちＥＣＵ制御部１５１は、ソース識別子、送信先ＴＣＰポート番号に基づき、ペイロードを処理するコンピュータプログラムを決定する。
そのため、第２ネットワーク２００を構成するそれぞれのネットワークから送信されたデータを、個別のプログラム、すなわち受信データ処理プログラム１５４ａ〜ｅに処理させることができる。
【００８８】
（第５の実施の形態の変形例）
上述した第５の実施の形態では、ＴＣＰヘッダの送信先ＴＣＰポートを用いて、転送されたデータを送信したネットワークを示した。しかし、転送されたデータを送信したネットワークを示す方法はこれに限定されない。ＴＣＰヘッダの送信元ＴＣＰポート番号を用いて転送元ネットワークを示してもよいし、ＴＣＰではなくＵＤＰのヘッダを用いてもよい。
たとえばＴＣＰヘッダの送信元ＴＣＰポートを用いる場合は、送信元テーブル９ａにおいて、通信ポートと送信先ＴＣＰポートの関係を定義すればよい。
【００８９】
（第６の実施の形態）
図１２を参照して、本発明によるゲートウェイ装置の第５の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、データリンク層のデータフレームの送信元ＭＡＣアドレスを用いて転送元ネットワークを示す点が、第１の実施の形態と異なる。
【００９０】
（構成）
ゲートウェイ装置１の記憶部２ａは、送信元テーブル９に代えて、送信元テーブル９ｂを備える。送信元テーブル９ｂには、第２ネットワーク２００からデータを受信したコントローラと、送信元ＭＡＣアドレスの関連付けが定義されている。このＭＡＣアドレスは、コントローラ３〜７の仮想的なＭＡＣアドレスと考えることもできる。
図１２は、送信元テーブル９ｂの一例を示す図である。送信元テーブル９ｂは、通信ポートと送信元ＭＡＣアドレスとから構成される。「通信ポート」は、ゲートウェイ装置１の第２ネットワーク２００に対する通信ポートを示しており、これら通信ポートはすなわちコントローラ３〜７である。「送信元ＭＡＣアドレス」は、ＴＣＰヘッダの送信先ＴＣＰポートを示す領域に格納されるポート番号である。たとえば、ＣＡＮ１コントローラ３が受信し第１ネットワーク１００に転送されるデータフレームには、送信元ＭＡＣアドレスとして「02:00:00:00:00:01」が指定される。
【００９１】
（動作）
制御部２は、受信した下位ヘッダに宛先テーブル８に示された宛先識別子が含まれると、送信元テーブル９ｂを用いてそのデータを受信した通信ポートに関連付けられたＭＡＣアドレスを特定する。そして制御部２は、作成するデータフレームのヘッダにおいて送信元ＭＡＣアドレス格納領域に、特定したＭＡＣアドレスを格納して送信する。たとえば、ＣＡＮ１コントローラ３が受信し第１ネットワーク１００に転送されるデータフレームのヘッダには、ＭＡＣアドレスとして「02:00:00:00:00:01」が指定される。
【００９２】
ＥＣＵ１１〜１３のＥＣＵ通信部１５２がゲートウェイ装置１からデータフレームを受信すると、ＥＣＵ制御部１５１は、受信したデータフレームの送信元ＭＡＣアドレス格納領域に格納されたＭＡＣアドレスを抽出する。ＥＣＵ制御部１５１は、受信データ処理プログラム１５４をＲＡＭに読み込んで実行させ、このプログラムに引数として抽出したＭＡＣアドレスを与える。
【００９３】
上述した第６の実施の形態によれば、次の作用効果が得られる。
（１）上位ネットワーク、すなわち第１ネットワーク１００で使用される通信プロトコルはＩＥＥＥ８０２．３である。ソース識別子はＭＡＣアドレスである。制御部２は、生成する上位データのヘッダに設けられた送信元ＭＡＣアドレス格納領域に当該通信ポートに関連付けられたＭＡＣアドレスを格納する。
そのため、データフレームを受信したＥＣＵ１１〜１３は、ヘッダの送信元ＭＡＣアドレス格納領域に格納されたＭＡＣアドレスにより、受信したデータフレームのペイロードが、いずれの下位ネットワークから送信されたデータであるかを容易に判別できる。
【００９４】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上述した各実施の形態および変形例では、ゲートウェイ装置１は自動車に搭載されるとしたが、建設機械に搭載されてもよい。たとえば、鉱山開発用の自動運転ダンプトラックに搭載されてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００９５】
１  …  ゲートウェイ装置
２  …  制御部
３  …  ＣＡＮ１コントローラ
４  …  ＣＡＮ２コントローラ
５  …  ＬＩＮコントローラ
６  …  ＦｌｅｘＲａｙコントローラ
７  …  ＭＯＳＴコントローラ
８  …  宛先テーブル
９  …  送信元テーブル
１００  …  第１ネットワーク
１５２  …  ＥＣＵ通信部
１５２  …  演算装置受信部
１５３  …  ＥＣＵ記憶部
１５４  …  受信データ処理プログラム
７００  …  時刻同期パケット
７０１  …  時刻情報付き転送パケット
８０１  …  処理割合テーブル
【図１】
0006532789.tif 000002
【図２】
0006532789.tif 000003
【図３】
0006532789.tif 000004
【図４】
0006532789.tif 000005
【図５】
0006532789.tif 000006
【図６】
0006532789.tif 000007
【図７】
0006532789.tif 000008
【図８】
0006532789.tif 000009
【図９】
0006532789.tif 000010
【図１０】
0006532789.tif 000011
【図１１】
0006532789.tif 000012
【図１２】
0006532789.tif 000013