(57)【要約】      （修正有）【課題】データが送信されるタイミングを補正する。【解決手段】情報処理システム１において、情報処理装置１０が通信可能に接続される車載ネットワークで利用される中継装置２０は、情報処理装置からデータを受信する受信部２２と、受信部により受信されたデータを、他の情報処理装置に転送する転送部２３と、受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、情報処理装置がデータを送信するタイミングを補正する補正部２４とを有する。【選択図】図３
2019047163.tif 000002
【特許請求の範囲】
【請求項１】
第１の車載装置、及び第２の車載装置が通信可能に接続される車載ネットワークで利用される車載中継装置であって、
前記第１の車載装置からデータを受信する受信部と、
前記受信部により受信されたデータを、前記第２の車載装置に転送する転送部と、
前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の車載装置がデータを送信するタイミングを補正する補正部と、
を有する車載中継装置。
【請求項２】
前記補正部は、前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差が所定の閾値以上の場合、当該差の情報を含む補正要求を前記第１の車載装置に送信する、
請求項１に記載の車載中継装置。
【請求項３】
前記補正部は、
前記受信部により受信されたデータの優先度が所定の優先度以上である場合、前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の車載装置がデータを送信するタイミングを補正し、
前記受信部によりデータの優先度が所定の優先度以上でない場合、前記第１の車載装置がデータを送信するタイミングを補正しない、
請求項１または２に記載の車載中継装置。
【請求項４】
前記補正部は、前記受信部によりデータの優先度が所定の優先度以上でなく、かつ前記車載中継装置のバッファの空き容量が所定の閾値以下の場合、所定の中断時間の指定を含む、データ送信の中断要求を前記第１の車載装置に返信する、
請求項３に記載の車載中継装置。
【請求項５】
前記補正部は、前記受信部により受信されたデータの通信プロトコル、前記受信部により受信されたデータの送信元の通信アドレス、及び前記受信部により受信されたデータの宛先の通信アドレスの少なくとも一つに基づいて、前記受信部により受信されたデータの優先度を判定する、
請求項３または４に記載の車載中継装置。
【請求項６】
前記受信部は、他の車載中継装置から、同期タイミングを示すデータを受信し、
前記補正部は、前記受信部により前記同期タイミングを示すデータが受信されたタイミングと、当該データに対して規定されている同期タイミングとの差に基づいて、前記他の車載中継装置を、前記車載中継装置と同期させる、
請求項１乃至５のいずれか一項に記載の車載中継装置。
【請求項７】
第１の情報処理装置、及び第２の情報処理装置が通信可能に接続されるネットワークで利用される中継装置と、前記第１の情報処理装置とを有する情報処理システムであって、
前記中継装置は、
前記第１の情報処理装置からデータを受信する受信部と、
前記受信部により受信されたデータを、前記第２の情報処理装置に転送する転送部と、
前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の情報処理装置がデータを送信するタイミングを補正する補正部と、
を有し、
前記第１の情報処理装置は、
所定のタイミングでデータを送信する送信部と、
前記データを送信するタイミングを補正する要求を受信する受信部と、
前記受信部により受信された要求に従い、前記データを送信するタイミングを補正する制御部と、
を有する、情報処理システム。
【請求項８】
第１の情報処理装置、及び第２の情報処理装置が通信可能に接続されるネットワークで利用される中継装置であって、[0]
第１の情報処理装置からデータを受信する受信部と、
前記受信部により受信されたデータを、第２の情報処理装置に転送する転送部と、
前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の情報処理装置がデータを送信するタイミングを補正する補正部と、
を有する中継装置。
【請求項９】
所定のタイミングでデータを送信する送信部と、
前記データを送信するタイミングを補正する要求を受信する受信部と、
前記受信部により受信された要求に従い、前記データを送信するタイミングを補正する制御部と、
を有する情報処理装置。
【請求項１０】
第１の情報処理装置、及び第２の情報処理装置が通信可能に接続されるネットワークで利用される中継装置が、
第１の情報処理装置からデータを受信するステップと、
受信したデータを、第２の情報処理装置に転送するステップと、
前記受信するステップによりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の情報処理装置がデータを送信するタイミングを補正するステップと、
を実行する情報処理方法。
【請求項１１】
第１の情報処理装置、及び第２の情報処理装置が通信可能に接続されるネットワークで利用される中継装置に、
第１の情報処理装置からデータを受信するステップと、
受信したデータを、第２の情報処理装置に転送するステップと、
前記受信するステップによりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の情報処理装置がデータを送信するタイミングを補正するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載中継装置、情報処理システム、中継装置、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の装置間で通信を行うシステムにおいて、送信フレームの衝突を防ぐために各装置が時刻を同期し、所定のタイミングでデータを送信する技術が知られている（例えば、特許文献１乃至３を参照）。このような技術を用いた規格として、例えば、ＦｌｅｘＲａｙ、ＴＴＥｈｅｒｎｅｔ、及びＴＳＮ（Time-Sensitive Networking）等が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−００５２１４号公報
【特許文献２】国際公開第２０１１／０６７８０９号
【特許文献３】特開２０１１−１０９４５２号公報
【特許文献４】特開２０１７−０７４８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、時刻を同期するための仕組みが比較的複雑であること等の問題がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、データが送信されるタイミングを比較的容易に補正できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
発明の実施形態の車載中継装置は、第１の車載装置、及び第２の車載装置が通信可能に接続される車載ネットワークで利用される車載中継装置であって、前記第１の車載装置からデータを受信する受信部と、前記受信部により受信されたデータを、前記第２の車載装置に転送する転送部と、前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の車載装置がデータを送信するタイミングを補正する補正部と、を有する。
【０００７】
これによれば、車載中継装置は、車載装置からのデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、車載装置がデータを送信するタイミングを補正する。したがって、データが送信されるタイミングを比較的容易に補正できる。
【０００８】
また、上述の実施形態において、前記補正部は、前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差が所定の閾値以上の場合、当該差の情報を含む補正要求を前記第１の車載装置に送信してもよい。
【０００９】
これによれば、車載中継装置は、車載装置からのデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差が所定の閾値以上の場合、車載装置がデータを送信するタイミングを補正する。したがって、データが送信されるタイミングを比較的容易に補正できる。
【００１０】
また、上述の実施形態において、前記補正部は、前記受信部により受信されたデータの優先度が所定の優先度以上である場合、前記受信部によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、前記第１の車載装置がデータを送信するタイミングを補正し、前記受信部によりデータの優先度が所定の優先度以上でない場合、前記第１の車載装置がデータを送信するタイミングを補正しなくてもよい。
【００１１】
これによれば、車載中継装置は、例えば、優先度が比較的高いデータについて、車載装置が当該データを送信するタイミングを補正する。したがって、優先度が比較的高いデータが送信されるタイミングを比較的容易に補正できる。
【００１２】
また、上述の実施形態において、前記補正部は、前記受信部によりデータの優先度が所定の優先度以上でなく、かつ前記車載中継装置のバッファの空き容量が所定の閾値以下の場合、所定の中断時間の指定を含む、データ送信の中断要求を前記第１の車載装置に返信してもよい。
【００１３】
これによれば、車載中継装置は、例えば、優先度が比較的低いデータについて、バッファの空き容量が少ない場合は、送信を中断させる。したがって、優先度が比較的高いデータについて、パケットロスが発生する可能性を低減することができる。
【００１４】
また、上述の実施形態において、前記補正部は、前記受信部により受信されたデータの通信プロトコル、前記受信部により受信されたデータの送信元の通信アドレス、及び前記受信部により受信されたデータの宛先の通信アドレスの少なくとも一つに基づいて、前記受信部により受信されたデータの優先度を判定してもよい。
【００１５】
これによれば、車載中継装置は、例えば、優先度が比較的高いデータについて、車載装置が当該データを送信するタイミングを補正する。したがって、優先度が比較的高いデータが送信されるタイミングを比較的容易に補正できる。
【００１６】
また、上述の実施形態において前記受信部は、他の車載中継装置から、同期タイミングを示すデータを受信し、前記補正部は、前記受信部により前記同期タイミングを示すデータが受信されたタイミングと、当該データに対して規定されている同期タイミングとの差に基づいて、前記他の車載中継装置を、前記車載中継装置と同期させてもよい。
【００１７】
これによれば、複数の車載中継装置にて各車載装置の送信タイミングを補正する。したがって、各車載中継装置の処理負荷を分散できる。
【００１８】
また、他の実施形態は、情報処理システム、中継装置、情報処理装置、情報処理方法、及びプログラムにより実現される。
【発明の効果】
【００１９】
データが送信されるタイミングを比較的容易に補正できる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る情報処理システムの構成例を示す図である。
【図２】実施形態に係る情報処理装置、及び中継装置のハードウェア構成例を示す図である。
【図３】実施形態に係る情報処理装置、及び中継装置の機能ブロック図の一例を示す図である。
【図４】実施形態に係る中継装置の処理の一例を示すフローチャートである。
【図５】スケジューリングデータの一例を示す図である。
【図６】実施形態に係る情報処理装置の周期的な送信時処理の一例を示すフローチャートである。
【図７】実施形態に係る情報処理装置の送信タイミングの補正要求受信時の処理の一例を示すフローチャートである。
【図８】第２の実施形態に係る情報処理システムの構成例を示す図である。
【図９】第２の実施形態に係る中継装置２０の機能ブロック図の一例を示す図である。
【図１０】第２の実施形態に係る中継装置２０の同期処理の一例を示すフローチャートである。
【図１１】同期タイミングデータ２１２の一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面に基づいて本発明の実施形態を説明する。
【００２２】
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システム１の構成例を示す図である。図１において、情報処理システム１は、情報処理装置１０−１、１０−２、・・・、１０−Ｎ（以下で、それぞれを区別する必要がない場合は、単に「情報処理装置１０」と称する。）、及び中継装置２０を有する。なお、情報処理システム１は、複数の中継装置２０を有してもよい。
【００２３】
情報処理装置１０−１、１０−２、・・・、１０−Ｎは、少なくとも１以上の中継装置２０を介して、例えば、車載ＬＡＮ（Local Area Network）、ＬＡＮ、無線ＬＡＮ、インターネット、ＬＴＥ（Long Term Evolution）乃至５Ｇ（5th Generation）等の携帯電話網等のネットワークにより接続される。
【００２４】
以下では、情報処理システム１の一例として、情報処理装置１０の一例である車載装置が、中継装置２０の一例である車載中継装置を介して、イーサネット（登録商標）を用いた車載ＬＡＮ（車載イーサネット）により接続された車載システムを例に説明する。
【００２５】
しかしながら、開示の技術は、工場等における機器制御用ネットワークシステム、センサ等をクラウド等に接続するＩｏＴ（Internet of Things）システム等、各種のネットワークシステムである情報処理システム１における各種端末、及び各種中継装置等に適用可能である。
【００２６】
情報処理装置１０は、例えば、センサ、車載ＥＣＵ（Electronic Control Unit）等の車載装置等である。
【００２７】
中継装置２０は、例えば、車載装置が通信可能に接続された車載ネットワークで利用される車載中継装置である。より具体的には、中継装置２０は、レイヤ２スイッチ（スイッチ）、レイヤ３スイッチ、またはルータ等の車載中継装置である。中継装置２０は、ＣｏＳ、ＴｏＳ、またはＤｉｆｆＳｅｒｖ等を用いたＱｏＳ機能を有していてもよい。
【００２８】
＜ハードウェア構成＞
図２は、実施形態に係る情報処理装置１０、及び中継装置２０のハードウェア構成例を示す図である。以下では、中継装置２０を例として説明する。図２の中継装置２０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ（Central Processing Unit）１０４、インタフェース装置１０５等を有する。
【００２９】
中継装置２０での処理を実現する情報処理プログラムは、例えば、記録媒体１０１によって提供される。情報処理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、情報処理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３０】
メモリ装置１０３は、例えば、ＲＡＭ（Random access memory）であり、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って中継装置２０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。なお、インタフェース装置１０５は、例えば、中継装置２０に設けられた複数のネットワークポートに対して、それぞれ設けられる。
【００３１】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００３２】
情報処理装置１０のハードウェア構成は、中継装置２０と同様でもよい。なお、情報処理装置１０は、インタフェース装置１０５を一つのみ備える構成としてもよい。
【００３３】
＜機能構成＞
次に、図３を参照し、実施形態に係る情報処理装置１０、及び中継装置２０の機能構成について説明する。図３は、実施形態に係る情報処理装置１０、及び中継装置２０の機能ブロック図の一例を示す図である。
【００３４】
≪情報処理装置≫
情報処理装置１０は、送信部１１、受信部１２、及び制御部１３を有する。送信部１１、受信部１２、及び制御部１３は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵに実行させる処理により実現される機能を表す。
【００３５】
送信部１１は、例えば、固定周期等の所定のタイミングで、データを、中継装置２０を介して他の情報処理装置１０宛てに送信する。
【００３６】
受信部１２は、他の情報処理装置１０から送信されたデータを受信する。また、受信部１２は、データを送信するタイミングを補正（修正、変更）する要求を、中継装置２０から受信する。
【００３７】
制御部１３は、受信部１２により受信された要求に従い、以降において送信部１１からデータを送信するタイミングを補正する。
【００３８】
≪中継装置≫
中継装置２０は、記憶部２１を有する。記憶部２１は、例えば、補助記憶装置１０２等を用いて実現される。記憶部２１は、スケジューリングデータ２１１等を記憶する。スケジューリングデータ２１１に記憶されるデータについては後述する。
【００３９】
中継装置２０は、受信部２２、転送部２３、及び補正部２４を有する。受信部２２、転送部２３、及び補正部２４は、中継装置２０にインストールされた１以上のプログラムが、中継装置２０のＣＰＵ１０４に実行させる処理により実現される機能を表す。
【００４０】
受信部２２は、他の中継装置２０等を介して、または他の中継装置２０等を介さずに直接、情報処理装置１０（「第１の車載装置」）からデータを受信する。転送部２３は、受信部２２により受信されたデータを、宛先として指定された他の情報処理装置１０（「第２の車載装置」）に転送する。
【００４１】
補正部２４は、受信部２２によりデータが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、当該データの送信元である情報処理装置１０が、以降にデータを送信するタイミングを補正する。
【００４２】
＜処理＞
≪中継装置２０の処理≫
次に、図４、及び図５を参照して、第１の実施形態に係る中継装置２０の処理について説明する。図４は、第１の実施形態に係る中継装置２０の処理の一例を示すフローチャートである。図５は、スケジューリングデータ２１１の一例を示す図である。
【００４３】
ステップＳ１において、受信部２２は、データのパケットを情報処理装置１０から受信する。
【００４４】
続いて、補正部２４は、受信したパケットのクラスが、所定の優先度以上のクラスであるか否かを判定する（ステップＳ２）。ここで、補正部２４は、Ｅｔｈｅｒｎｅｔヘッダに含まれる３ビットのＣｏＳ（Class of Service）フィールドを用いて、パケットのクラスを判定してもよい。または、補正部２４は、ＴｏＳ（Type of Service）」やＤｉｆｆＳｅｒｖ（Differentiated Services）」などのＱｏＳプロトコルに従い、ＩＰヘッダの所定のフィールドを用いて、パケットのクラスを判定してもよい。
【００４５】
なお、例えば、全ての情報処理装置１０が、優先度が高いパケットのみを送信する場合は、ステップＳ２の処理は行わずに、後述するステップＳ３以降の処理を行うようにしてもよい。
【００４６】
所定の優先度以上のクラスでない場合（ステップＳ２でＮＯ）、後述するステップＳ７の処理に進む。すなわち、所定の優先度以上のクラスでない場合は、補正部２４による送信タイミングの補正は行われない。
【００４７】
所定の優先度以上のクラスである場合（ステップＳ２でＹＥＳ）、補正部２４は、スケジューリングデータ２１１を参照し、当該パケットに対して規定された情報処理装置１０の送信タイミング（すなわち、中継装置２０の「受信タイミング」）を取得する（ステップＳ３）。
【００４８】
図５に示す例では、スケジューリングデータ２１１には、情報処理装置ＩＤ、通信ＩＤ、周期、及びオフセットの項目が記憶されている。
【００４９】
情報処理装置ＩＤは、情報処理装置１０の識別情報である。情報処理装置ＩＤは、例えば、情報処理装置１０のＭＡＣアドレス、またはＩＰアドレス等の通信アドレスでもよい。通信ＩＤは、データの送信元の情報処理装置１０のアプリケーション等の識別情報である。通信ＩＤは、例えば、トランスポート層以上の通信プロトコル、または宛先のポート番号等でもよい。なお、中継装置２０がデータリンク層でフレームの宛先を判断して転送を行うレイヤ２スイッチである場合や、各情報処理装置１０において所定の優先度以上のクラスのパケットを送信するアプリケーションが一つのみである場合は、通信ＩＤの項目は含まれなくてもよい。
【００５０】
周期は、情報処理装置１０のアプリケーションが、データを送信する周期である。オフセットは、基準となる所定のタイミング（所定の時刻等）と、情報処理装置１０のアプリケーションがデータを送信するタイミングのうち、当該所定のタイミング以降で、当該所定のタイミングに最も近いタイミングとの差である。
【００５１】
図５に示す例では、情報処理装置ＩＤが「１０１」、通信ＩＤが「００１」のアプリケーションは、周期が３０ｍｓ、オフセットが０ｍｓである。そのため、当該アプリケーションからは、基準となる所定のタイミングから、０ｍｓ、３０ｍｓ、６０ｍｓ、・・・等を経過した各送信タイミングで、データが送信されることがスケジューリングされている。また、情報処理装置ＩＤが「１０１」、通信ＩＤが「００２」のアプリケーションは、周期が４０ｍｓ、オフセットが１０ｍｓである。そのため、当該アプリケーションからは、基準となる所定のタイミングから、１０ｍｓ、５０ｍｓ、９０ｍｓ、・・・等を経過した各送信タイミングで、データが送信されることがスケジューリングされている。
【００５２】
スケジューリングデータ２１１に記憶されるデータは、例えば、情報処理システム１に含まれる中継装置２０において輻輳が発生しないように設計されたスケジューリングを実現するデータが、工場出荷時等に予め設定されていてもよい。
【００５３】
ステップＳ３において、補正部２４は、当該パケットの送信元の通信アドレスと、通信プロトコルまたは宛先のポート番号等から、当該パケットに対する情報処理装置ＩＤ、及び通信ＩＤを判定する。そして、補正部２４は、スケジューリングデータ２１１において当該情報処理装置ＩＤ、及び当該通信ＩＤに対応付けて記憶されている周期、及びオフセットに基づいて算出される各送信タイミングのうち、現在時刻と最も近い送信タイミングを取得する。
【００５４】
続いて、補正部２４は、ステップＳ３で取得した送信タイミングと、当該パケットを受信したタイミングとの差を算出する（ステップＳ４）。ここで、補正部２４は、例えば、基準となる所定のタイミングから現在時刻までの経過時間から当該オフセットを減算した値を当該周期にて除算した余りの値と、当該余りの値から当該周期を減算した値とを算出する。そして、算出した２つの値のうち、絶対値の小さい方の値を、送信タイミングと当該パケットを受信したタイミングとの差としてもよい。
【００５５】
続いて、補正部２４は、ステップＳ４で算出した差の絶対値が、所定の閾値（例えば、２ｍｓ）以上であるか否かを判定する（ステップＳ５）。
【００５６】
所定の閾値以上でなければ（ステップＳ５でＮＯ）、後述するステップＳ７の処理に進む。
【００５７】
所定の閾値以上であれば（ステップＳ５でＹＥＳ）、補正部２４は、ステップＳ４で算出した差の分、次回以降の送信タイミングを補正するための補正要求を、情報処理装置１０に送信する（ステップＳ６）。
【００５８】
続いて、転送部２３は、ステップＳ１で受信したパケットを、宛先の情報処理装置１０に送信（転送）する（ステップＳ７）。
【００５９】
＜変形例１＞
ステップＳ２において、補正部２４は、受信したパケットのクラスを、ＣｏＳ等に基づいて判定する代わりに、またはＣｏＳ等に加えて、例えば、トランスポート層以上等の通信プロトコル、データの送信元の通信アドレス、及び宛先の通信アドレス等の各項目のうち１以上に基づいて判定してもよい。ここで、通信アドレスには、例えば、ＭＡＣアドレス、ＩＰアドレス、ポート番号、データを受信した中継装置２０の物理ポート等の少なくとも１つが含まれてもよい。
【００６０】
この場合、補正部２４は、例えば、自動運転に必要なセンサの情報を送信する情報処理装置１０が接続された物理ポートから受信されたデータや、自動運転に関する制御を行う情報処理装置１０が接続された物理ポート宛てのデータは、所定の優先度以上のクラスであると判定するようにしてもよい。
【００６１】
＜変形例２＞
補正部２４は、情報処理装置１０から受信したデータのパケットが、所定の優先度以上のクラスでない場合、中継装置２０における輻輳によるパケットロスを防止するため、以下の処理を行うようにしてもよい。
【００６２】
情報処理装置１０から受信したデータのパケットが、所定の優先度以上のクラスでなく、かつ中継装置２０におけるバッファの空き容量が第１の閾値以下の場合、補正部２４は、所定の中断時間の指定を含むＰａｕｓｅフレーム（「データ送信の中断要求」の一例。）を当該情報処理装置１０に送信する。そして、Ｐａｕｓｅフレームを受信した情報処理装置１０の制御部１３は、当該Ｐａｕｓｅフレームで指定された時間だけ、送信部１１によるデータの送信を中断させる。
【００６３】
また、補正部２４は、中継装置２０におけるバッファの空き容量が第１の閾値よりも大きい第２の閾値以上となった場合、中断時間を０に指定したＰａｕｓｅフレームを当該情報処理装置１０に送信する。そして、当該Ｐａｕｓｅフレームを受信した情報処理装置１０の制御部１３は、送信部１１によるデータの送信を再開させる。
【００６４】
≪情報処理装置１０の処理≫
（周期的な送信時の処理）
次に、図６を参照して、実施形態に係る情報処理装置１０の周期的な送信時の処理について説明する。図６は、実施形態に係る情報処理装置１０の周期的な送信時処理の一例を示すフローチャートである。
【００６５】
なお、以下の説明では、情報処理装置１０の送信部１１は、例えば、車両の前方を計測するレーダ等のセンサにより計測したデータ等を、所定の周期で、中継装置２０を介して所定の他の情報処理装置１０に送信するものとする。
【００６６】
ステップＳ２１において、送信部１１は、所定の周期のタイマ等により、予め設定されている所定の周期の送信タイミングとなったことを検知する。
【００６７】
続いて、送信部１１は、センサにより計測したデータ等を含む、所定の優先度以上のクラスのパケットを生成する（ステップＳ２２）。
【００６８】
続いて、送信部１１は、生成したパケットを、中継装置２０を介して、所定の他の情報処理装置１０に送信する（ステップＳ２３）。
【００６９】
なお、送信部１１は、例えば、死活等の診断用のアプリケーションによるデータや、情報処理装置１０のソフトウェアを更新するためのアプリケーション等によるデータを、周期的なタイミングで送信してもよい。また、例えば、ユーザの操作等のイベントに応じたデータを、当該イベントが発生したタイミングで送信してもよい。
【００７０】
この場合、これらのデータが、一定程度の遅延が許容されるデータである場合、送信部１１は、これらのデータを、所定の優先度以上ではないクラスのパケットにより、中継装置２０を介して所定の他の情報処理装置１０に送信してもよい。
【００７１】
（送信タイミングの補正要求受信時の処理）
次に、図７を参照して、実施形態に係る情報処理装置１０が、送信タイミングの補正要求を中継装置２０から受信した際の処理について説明する。図７は、実施形態に係る情報処理装置１０の送信タイミングの補正要求受信時の処理の一例を示すフローチャートである。
【００７２】
ステップＳ３１において、受信部１２は、送信タイミングの補正要求を中継装置２０から受信する。
【００７３】
続いて、制御部１３は、次回以降の送信タイミングを、受信した補正要求に従って補正する（ステップＳ３２）。ここで、補正要求には、ステップＳ４で中継装置２０により算出された差の値が含まれている。制御部１３は、例えば、前回の送信タイミングにてセットした所定の周期のタイマから、当該差の値を減算する。そして、送信部１１は、当該タイマにより、ステップＳ２１で、予め設定されている所定の周期の送信タイミングとなったことを検知する。これにより、情報処理装置１０における次回以降の送信タイミングが補正される。
【００７４】
［第２の実施形態］
第１の実施形態では、１以上の中継装置２０を有する情報処理システム１において、一の中継装置２０が、情報処理システム１における各情報処理装置１０の送信タイミングを補正する例について説明した。第２の実施形態では、複数の中継装置２０が、それぞれ、自装置に直接接続されている各情報処理装置１０の送信タイミングを補正するとともに、一の中継装置２０が他の中継装置２０にて管理されているタイミングを補正して同期させる例について説明する。第２の実施形態によれば、複数の中継装置２０にて各情報処理装置１０の送信タイミングを補正するため、各中継装置２０の処理負荷を分散できる。
【００７５】
なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では、第１の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。
【００７６】
＜システム構成＞
図８は、第２の実施形態に係る情報処理システム１の構成例を示す図である。図８において、情報処理システム１は、中継装置２０−１、２０−２、２０−３、２０−４（以下で、それぞれを区別する必要がない場合は、単に「中継装置２０」と称する。）及び情報処理装置１０−１乃至１０−１４（以下で、それぞれを区別する必要がない場合は、単に「情報処理装置１０」と称する。）、中継装置２０を有する。なお、中継装置２０、及び情報処理装置１０の数は図８の例に限定されない。
【００７７】
図８において、中継装置２０−１には、情報処理装置１０−１乃至１０−４、及び中継装置２０−２がケーブル等により直接接続されている。中継装置２０−２には、情報処理装置１０−５乃至１０−７、及び中継装置２０−１、２０−３、２０−４が直接接続されている。中継装置２０−３には、情報処理装置１０−８乃至１０−１０、及び中継装置２０−２が直接接続されている。中継装置２０−４には、情報処理装置１０−１１乃至１０−１４、及び中継装置２０−２が直接接続されている。
【００７８】
以下では、中継装置２０−３に直接接続されている情報処理装置１０−１０が、先進運転支援システム（ＡＤＡＳ、Advanced Driving Assistant System）等の自動運転に関する制御を行う車載ＥＣＵであるとする。そして、情報処理装置１０−１０が直接接続されている中継装置２０−３は、例えば、Ｅｔｈｅｒｎｅｔ ＡＶＢ（Audio Video Bridging）等の時刻同期機能を実現するハードウェアを備えているとする。この場合、中継装置２０−３が、中継装置２０−３に直接接続された中継装置２０−２のタイミングを調整し、中継装置２０−２が、中継装置２０−２に接続された中継装置２０−３以外の中継装置２０−１、２０−４のタイミングを調整する階層構造での補正を行ってもよい。
【００７９】
＜機能構成＞
次に、図９を参照し、第２の実施形態に係る中継装置２０の機能構成について説明する。図９は、第２の実施形態に係る中継装置２０の機能ブロック図の一例を示す図である。
【００８０】
≪中継装置≫
第２の実施形態に係る中継装置２０の記憶部２１は、スケジューリングデータ２１１等に加え、同期タイミングデータ２１２を記憶する。同期タイミングデータ２１２に記憶されるデータについては後述する。
【００８１】
＜処理＞
≪中継装置２０の処理≫
第２の実施形態に係る複数の中継装置２０は、それぞれ、図４に示す第１の実施形態の処理と同様の処理により、自装置に直接接続されている各情報処理装置１０の送信タイミングを補正する。
【００８２】
図１０、及び図１１を参照して、第２の実施形態に係る中継装置２０−３が、他の中継装置２０−２を同期させる処理について説明する。図１０は、第２の実施形態に係る中継装置２０の同期処理の一例を示すフローチャートである。図１１は、同期タイミングデータ２１２の一例を示す図である。
【００８３】
以下では、中継装置２０−３が、中継装置２０−２を、自装置である中継装置２０−３に同期させる例について説明する。
【００８４】
ステップＳ２０１において、中継装置２０−３の受信部２２は、パケットを中継装置２０−２から受信する。
【００８５】
続いて、中継装置２０−３の受信部２２は、受信したパケットが、同期タイミングを示すデータを含むか否かを判定する（ステップＳ２０２）。ここで、同期タイミングを示すデータは、例えば、データリンク層のフレームにて送信されるようにしてもよい。
【００８６】
同期タイミングを示すデータを含まない場合（ステップＳ２０２でＮＯ）、中継装置２０−３の転送部２３は、受信部２２により受信されたパケットを、宛先の情報処理装置１０または宛先の中継装置２０に送信（転送）し（ステップＳ３）、処理を終了する。
【００８７】
同期タイミングを示すデータを含む場合（ステップＳ２０２でＹＥＳ）、中継装置２０−３の補正部２４は、同期タイミングデータ２１２を参照し、中継装置２０−２に対して規定された同期タイミングを取得する（ステップＳ２０４）。
【００８８】
図１１に示す例では、同期タイミングデータ２１２には、中継装置ＩＤ、周期、及びオフセットの項目が記憶されている。同期タイミングデータ２１２に記憶されるデータは、工場出荷時等に、予め設定されていてもよい。
【００８９】
中継装置ＩＤは、中継装置２０の識別情報である。中継装置ＩＤは、例えば、中継装置２０のＭＡＣアドレス等の通信アドレス、または物理ポート番号でもよい。
【００９０】
周期は、他の中継装置２０が、同期タイミングを示すパケットを送信する周期である。周期として、当該他の中継装置２０が送信タイミングを管理している各情報処理装置１０がデータを送信する周期の最小公倍数の値が設定されてもよい。この場合、例えば、中継装置２０−２が送信タイミングを管理している情報処理装置１０−５、１０−６、１０−７の送信周期が、それぞれ５０ｍｓ、２０ｍｓ、３０ｍｓである場合、これらの最小公倍数である３００ｍｓが、中継装置２０−２の周期として設定される。
【００９１】
オフセットは、基準となる所定のタイミングと、他の中継装置２０が同期タイミングを示すパケットを送信するタイミングのうち、当該所定のタイミング以降で、当該所定のタイミングに最も近いタイミングとの差である。
【００９２】
図１１に示す例では、情報処理装置ＩＤが「２０２」の中継装置２０は、周期が３０００ｍｓ、オフセットが０ｍｓである。そのため、当該中継装置２０からは、基準となる所定のタイミングから、３秒ごとに、同期タイミングを示すパケットが送信されることがスケジューリングされている。
【００９３】
ステップＳ２０４において、中継装置２０−３の補正部２４は、当該パケットの送信元の通信アドレス等から、当該パケットに対する中継装置ＩＤを判定する。そして、同期タイミングデータ２１２において当該中継装置ＩＤに対応付けて記憶されている周期、及びオフセットに基づいて算出される各同期タイミングのうち、現在時刻と最も近い送信タイミングを取得する。
【００９４】
続いて、中継装置２０−３の補正部２４は、ステップＳ２０４で取得した同期タイミングと、当該パケットを受信したタイミングとの差を算出する（ステップＳ２０５）。ここで、中継装置２０−３の補正部２４は、例えば、基準となる所定のタイミングから現在時刻までの経過時間から当該オフセットを減算した値を当該周期にて除算した余りの値と、当該余りの値から当該周期を減算した値とを算出する。そして、算出した２つの値のうち、絶対値の小さい方の値を、同期タイミングと当該パケットを受信したタイミングとの差としてもよい。
【００９５】
続いて、中継装置２０−３の補正部２４は、ステップＳ２０５で算出した差の絶対値が、所定の閾値（例えば、２ｍｓ）以上であるか否かを判定する（ステップＳ２０６）。
【００９６】
所定の閾値以上でなければ（ステップＳ２０６でＮＯ）、処理を終了する。
【００９７】
所定の閾値以上であれば（ステップＳ２０６でＹＥＳ）、中継装置２０−３の補正部２４は、ステップＳ２０５で算出した差の分、タイミングを補正するための補正要求を、中継装置２０−２に送信し（ステップＳ２０７）、処理を終了する。
【００９８】
そして、補正要求を受信した中継装置２０−２の補正部２４は、補正要求にて指定された差の分、自装置で管理している、上述した「基準となる所定のタイミング」を補正する。これにより、中継装置２０−３と中継装置２０−２とが同期される。
【００９９】
＜変形例＞
上述した例では、各情報処理装置１０と各中継装置２０とが、車載イーサネットにて接続される例について説明した。開示の技術は、車載イーサネットとＣＡＮ（Controller Area Network）等、複数の異なるネットワークシステムをゲートウェイにて接続するシステムにも適用可能である。この場合、第１の実施形態のように、一の中継装置２０が、ゲートウェイを介してＣＡＮに接続された各ＥＣＵの送信タイミングを補正するようにしてもよい。または、ゲートウェイに、上述した中継装置２０の補正部２４の機能を設けてもよい。あるいは、ゲートウェイに、第２の実施形態に係る中継装置２０の補正部２４の機能を設けてもよい。
【０１００】
＜実施形態の効果＞
例えば、各ＥＣＵを同期させずに、車載イーサネット等により複数のＥＣＵ間で周期的な通信を行う場合、エラー等が発生した場合に、再現試験のために発生時の通信環境を再現することが困難な場合があるという問題がある。また、例えば、ベストエフォート型の車載イーサネット等の場合、輻輳が発生すると、パケットロス等により、期待した時間内に受信側のＥＣＵで受信できない場合があるという問題がある。
【０１０１】
一方、ＦｌｅｘＲａｙ、ＴＴＥｈｅｒｎｅｔ、及びＴＳＮ（Time-Sensitive Networking）等の規格に準拠した製品を使用する場合、各ＥＣＵが比較的厳密に同期する仕組みである等により、ハードウェア等のコストが比較的高いという問題がある。
【０１０２】
上述した各実施形態によれば、例えば、各情報処理装置１０から送信されるデータの送信周期、及びデータサイズが予め分かっている場合に、中継装置２０においてパケットロスが発生しないスケジュールを予め設計し、中継装置２０に設定しておく。そして、中継装置２０が、当該スケジュールに従って、各情報処理装置１０の送信タイミングを補正する。これにより、中継装置２０にてパケットロスが発生しない通信システムを実現できる。
【０１０３】
＜まとめ＞
上述した実施形態によれば、中継装置２０は、データが受信されたタイミングと、当該データに対して規定されている受信タイミングとの差に基づいて、情報処理装置１０がデータを送信するタイミングを補正する。これにより、データが送信されるタイミングを比較的容易に補正できる。
【０１０４】
上述した実施形態における中継装置２０の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）等の集積回路により実現してもよい。中継装置２０の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。
【０１０５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０６】
１  情報処理システム
１０  情報処理装置（「車載装置」）
１１  送信部
１２  受信部
１３  制御部
２０  中継装置（「車載中継装置」）
２１  記憶部
２１１  スケジューリングデータ
２１２  同期タイミングデータ
２２  受信部
２３  転送部
２４  補正部
【図１】
2019047163.tif 000003
【図２】
2019047163.tif 000004
【図３】
2019047163.tif 000005
【図４】
2019047163.tif 000006
【図５】
2019047163.tif 000007
【図６】
2019047163.tif 000008
【図７】
2019047163.tif 000009
【図８】
2019047163.tif 000010
【図９】
2019047163.tif 000011
【図１０】
2019047163.tif 000012
【図１１】
2019047163.tif 000013