(57)【要約】【課題】外部の装置との通信の負荷及び当該装置のストレージ容量の削減を効果的に行うことができる通信装置を提供する。【解決手段】通信装置１０１は、システムにおける複数のＥＣＵ１０４が接続されたネットワークに流れる通信データに基づいて、システムの稼働状態を判定する判定部３０９と、判定された稼働状態に対応するサンプリング方法に従って、通信データのサンプリングを行う制御部３１０と、サンプリングされた通信データを、システムの外部の装置に送信する送受信部３０１と、を備える。【選択図】図３
2019146145.tif 000002
【特許請求の範囲】
【請求項１】
システムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、前記システムの稼働状態を判定する判定部と、
前記判定された稼働状態に対応するサンプリング方法に従って、前記通信データのサンプリングを行う制御部と、
前記サンプリングされた通信データを、前記システムの外部の装置に送信する送信部と、
を備える通信装置。
【請求項２】
前記通信装置は、さらに、記憶部を備え、
前記制御部は、前記サンプリングを行った通信データを前記記憶部に格納する、
請求項１に記載の通信装置。
【請求項３】
前記サンプリング方法では、前記複数の電子制御ユニットのうちの１以上の電子制御ユニットから構成されるグループごとにサンプリング割合が定められ、
前記制御部は、前記グループごとの前記通信データについて、当該グループに定められたサンプリング割合に応じてサンプリングを行う、
請求項１又は２に記載の通信装置。
【請求項４】
前記ネットワークにおいて、前記複数の電子制御ユニットは、前記システム内のＣＡＮバスによって互いに接続され、
前記グループは、同じＣＡＮバスに接続された前記１以上の電子制御ユニットから構成される、
請求項３に記載の通信装置。
【請求項５】
前記グループは、前記通信データに含まれる同じ機能に関連するメッセージを送信する前記１以上の電子制御ユニットから構成される、
請求項３又は４に記載の通信装置。
【請求項６】
前記判定部は、さらに、前記ネットワークの状態が正常か否かを判定し、当該判定の結果にも基づいて、前記システムの稼働状態を判定する、
請求項１〜５のいずれか１項に記載の通信装置。
【請求項７】
前記判定部は、さらに、前記ネットワークの状態が正常か否かを判定し、
前記制御部は、前記ネットワークの状態が正常か否かに応じて、前記サンプリング方法を変更する、
請求項１〜５のいずれか１項に記載の通信装置。
【請求項８】
前記判定部は、前記通信データに含まれるメッセージが正常か否かを判定することで、前記ネットワークの状態が正常か否かを判定する、
請求項６又は７に記載の通信装置。
【請求項９】
前記ネットワークにおいて、前記複数の電子制御ユニットは、前記システム内のＣＡＮバスによって互いに接続され、
前記判定部は、前記ネットワークにおけるＣＡＮバスが正常か否かを判定することで、前記ネットワークの状態が正常か否かを判定する、
請求項６〜８のいずれか１項に記載の通信装置。
【請求項１０】
システムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、前記システムの稼働状態を判定し、
前記判定された稼働状態に対応するサンプリング方法に従って、前記通信データのサンプリングを行い、
前記サンプリングされた通信データを、前記システムの外部の装置に送信する、
通信方法。
【請求項１１】
システムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、前記システムの稼働状態を判定する処理と、
前記判定された稼働状態に対応するサンプリング方法に従って、前記通信データのサンプリングを行う処理と、
前記サンプリングされた通信データを、前記システムの外部の装置に送信する処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部の装置との通信を行う通信装置、通信方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来、車載ネットワークに接続される電子制御ユニット（ＥＣＵ：Electronic Control Unit）から得た情報を、車内の通信モジュールを介して外部サーバへ送信し、サーバで車両の故障解析を行うリモート診断システムが開発されている。また近年、自動車の車載ネットワークへの攻撃（ハッキング）に対して、ＥＣＵから得た情報を外部サーバへ送信し、収集、分析することで、攻撃者による不正なメッセージの送信等の攻撃の検知を行うなど、車両情報を車内で蓄積し、外部サーバへ送信することの重要性が高まっている。しかし、このような分析等のために、車両からサーバ装置等へ、車載ネットワークのバスに流れる全てのメッセージに係る情報を送信するには、かなり大きな通信帯域が必要となる。
【０００３】
特許文献１には、複数の電子制御ユニットの一部から送信するデータ量の総和が所定の値を超えないように、サーバ装置から送信されるデータ出力パターンに従って、送信するデータ量を変更させる通信方法が記載されている。これにより、車両とサーバ装置との通信の負荷及びサーバ装置のストレージ容量の削減が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１７３９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の通信方法においては、データ出力パターンは車両の状態に依らずにサーバから送信されるため、例えば車両の状態が停車中であるのに対して、停車中であることによってほぼ０となっている車速を表す車両データの量を増加させるなど、車両の状態に依っては値の変化の少ない車両データを大量にサーバ装置等の車両の外部の装置へ送信する可能性がある。このため、車両の外部の装置との通信の負荷及び当該装置のストレージ容量の削減を効果的に行うことが難しいという課題がある。
【０００６】
本発明の目的は、外部の装置との通信の負荷及び当該装置のストレージ容量の削減を効果的に行うことができる通信装置等を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の一態様に係る通信装置は、システムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、前記システムの稼働状態を判定する判定部と、前記判定された稼働状態に対応するサンプリング方法に従って、前記通信データのサンプリングを行う制御部と、前記サンプリングされた通信データを、前記システムの外部の装置に送信する送信部と、を備える。
【０００８】
また、上記目的を達成するために本発明の一態様に係る情報処理方法は、システムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、前記システムの稼働状態を判定し、前記判定された稼働状態に対応するサンプリング方法に従って、前記通信データのサンプリングを行い、前記サンプリングされた通信データを、前記システムの外部の装置に送信する。
【０００９】
また、上記目的を達成するために本発明の一態様に係るプログラムは、システムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、前記システムの稼働状態を判定する処理と、前記判定された稼働状態に対応するサンプリング方法に従って、前記通信データのサンプリングを行う処理と、前記サンプリングされた通信データを、前記システムの外部の装置に送信する処理と、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、外部の装置との通信の負荷及び当該装置のストレージ容量の削減を効果的に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態における通信システムの構成図である。
【図２】図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。
【図３】図３は、実施の形態における通信装置の構成図である。
【図４】図４は、実施の形態における転送リストの一例を示す図である。
【図５Ａ】図５Ａは、実施の形態における正常時の走行状態に対応する走行状態パターンの一例を示す図である。
【図５Ｂ】図５Ｂは、実施の形態における正常時の走行状態に対応する走行状態パターンの他の一例を示す図である。
【図６】図６は、実施の形態における異常時の走行状態に対応する走行状態パターンの一例を示す図である。
【図７】図７は、実施の形態におけるグループの他の一例を示す図である。
【図８】図８は、実施の形態における正常時の走行状態に対応する走行状態パターンの他の一例を示す図である。
【図９】図９は、実施の形態におけるサンプリング方法の決定方法の一例を示すフローチャートである。
【図１０】図１０は、実施の形態におけるサンプリング方法の決定方法の他の一例を示すフローチャートである。
【図１１】図１１は、実施の形態における通信装置の動作の一例を示すフローチャートである。
【図１２】図１２は、他の実施の形態における通信システムの構成図である。
【発明を実施するための形態】
【００１２】
（実施の形態）
以下、本発明の実施の形態における通信システムについて図面を参照しながら説明する。
【００１３】
［１．１  通信システム１０の構成］
図１は、実施の形態における通信システム１０の構成図である。なお、図１には、通信システム１０に接続されるサーバ装置１１についても示されている。
【００１４】
通信システム１０は、例えば、車両に搭載された車載ネットワークである。なお、以下では、車載ネットワークをネットワークとも呼ぶ場合もある。通信システム１０は、例えば、ＣＡＮ（Controller Area Network）プロトコルに従って通信する車載ネットワークの一例であり、制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器が搭載された車両におけるネットワークである。通信システム１０は、図１に示すように、通信装置１０１、外部通信ＥＣＵ１０２、監視ＥＣＵ１０３、複数のＥＣＵ１０４及びＣＡＮバス１０５を備える。ここで、ＥＣＵとは、電子制御ユニット（Electronic Control Unit）を意味する。なお、通信装置１０１についても一種のＥＣＵである。
【００１５】
複数のＥＣＵ１０４は、例えば、操舵制御ＥＣＵ、ステアリングＥＣＵ、エンジンＥＣＵ、ブレーキＥＣＵ、ドア開閉センサＥＣＵ、ウィンドウ開閉センサＥＣＵ等であるが、特に限定されない。
【００１６】
通信装置１０１及び各ＥＣＵは、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行される制御プログラム（ソフトウェアとしてのコンピュータプログラム）を記憶することができる。例えばプロセッサが、制御プログラム（コンピュータプログラム）に従って動作することにより、通信装置１０１及び各ＥＣＵは各種機能を実現することになる。通信装置１０１及び各ＥＣＵは、ＣＡＮプロトコルに従って車両内のＣＡＮバス１０５を介して通信データの授受を行い得る。
【００１７】
通信装置１０１及び各ＥＣＵは、ＣＡＮバス１０５に対して、ＣＡＮのプロトコルに従った通信データを送受信する。例えば、通信装置１０１及び各ＥＣＵは、ＣＡＮバス１０５から他のＥＣＵが送信した通信データを受信し、また、他のＥＣＵに送信したい内容を含む通信データを生成してＣＡＮバス１０５に送信する。具体的には、通信装置１０１及び各ＥＣＵは、受信した通信データの内容に応じた処理を行い、また、通信装置１０１及び各ＥＣＵに接続されている機器、センサ等の状態を示すデータ又は他のＥＣＵへの指示値（制御値）等のデータを含む通信データを生成して送信する。生成された通信データには、ＣＡＮＩＤが含まれており、通信装置１０１及び各ＥＣＵは、自身に対して予め定められたＣＡＮＩＤを含む通信データのみを受信することができるため、目的のＥＣＵへと通信データを送信することができる。
【００１８】
通信システム１０において、車載ネットワークを構成する通信装置１０１、外部通信ＥＣＵ１０２、監視ＥＣＵ１０３及び複数のＥＣＵ１０４が、ＣＡＮバス１０５によって接続されている。図１の例では、複数のＣＡＮバス１０５ａ、１０５ｂ及び１０５ｃが、通信装置１０１を介してそれぞれ接続されている。なお、車載ネットワークはＣＡＮに限定される必要はなく、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）やＦｌｅｘＲａｙ（登録商標）に基づく通信ネットワークであってもよい。
【００１９】
車載ネットワークでは、通信装置１０１、外部通信ＥＣＵ１０２、監視ＥＣＵ１０３及び複数のＥＣＵ１０４などの各構成要素が通信データ（例えばＣＡＮコマンド）を送受信することで、様々な機能を実現している。例えば、先進運転者支援システム（ＡＤＡＳ：Advanced Drive Assistance System）の一機能である駐車支援機能、車線維持支援機能又は衝突回避支援機能などは、ステアリング、アクセル又はブレーキなどのアクチュエータが電子制御化され、車載ネットワークを流れる通信データによりその制御が行われる。
【００２０】
通信装置１０１は、外部通信ＥＣＵ１０２、監視ＥＣＵ１０３及び複数のＥＣＵ１０４が接続されたＣＡＮバス１０５と接続され、ＣＡＮバス１０５から通信データを受信して、受信した通信データをＣＡＮＩＤによって指定されたＣＡＮバス１０５へ転送する。通信装置１０１は、ゲートウェイとも呼ばれる場合がある。通信装置１０１は、通信データをサンプリングする機能を有する。サンプリングとは、通信データを一定の割合で抽出することを意味する。通信データの抽出の仕方については特に限定されない。例えば、ある１つのＣＡＮバス１０５に流れる通信データをサンプリングする場合、当該ＣＡＮバス１０５には、通信データとして複数のＣＡＮＩＤについてのデータがランダムな順序で流れており、各ＣＡＮＩＤについて同じ割合で抽出される。サンプリングされた通信データにおいて、特定のＣＡＮＩＤについてのデータだけが偏って抽出されてしまうことを抑制するためである。なお、通信データを抽出する量については、サンプリング割合によって定められる。例えば、サンプリング割合が１００％の場合には、通信データが１００％（全て）抽出される（つまり、通信データが減らされない（間引かれない））。また、例えば、サンプリング割合が５０％の場合には、通信データが５０％（半分）抽出される（つまり、通信データが半分に減らされる（半分間引かれる））。
【００２１】
外部通信ＥＣＵ１０２は、システム（車両）の外部の装置として例えばサーバ装置１１と、インターネット等といった広域ネットワークを介して通信する外部通信機能を有する。外部通信ＥＣＵ１０２は、分析機能を有するサーバ装置１１に対して、通信装置１０１が記録する通信データを送信する。
【００２２】
サーバ装置１１は、様々な車両における通信システム１０における外部通信ＥＣＵ１０２と通信する。サーバ装置１１は、例えば、同種の複数の車両の各車載ネットワークで授受されたメッセージに係る情報を、各車両から受信して収集し、分析するコンピュータ等である。
【００２３】
監視ＥＣＵ１０３は、車載ネットワークの状態が正常か否かを監視するＥＣＵである。監視ＥＣＵ１０３は、複数のＣＡＮバス１０５から通信データを受信して、受信した通信データが正常か否かを判定し、判定結果を通信装置１０１へ通知する。通信装置１０１は判定結果を受信し、正常ではないと判定されたＣＡＮバス１０５の通信データを１００％のサンプリング割合で抽出し、通信データを全てサーバ装置１１へ送信する。監視ＥＣＵ１０３は、例えば、異常を判定するための判定ルールを保持しており、通信データを判定ルールに照らし合わせることで、異常か否かを判定することができる。なお、通信装置１０１は、監視ＥＣＵ１０３が有する機能を備えていてもよい。
【００２４】
複数のＥＣＵ１０４は、ＣＡＮプロトコルに従ってＣＡＮバス１０５を介してメッセージの授受を行う。例えば、センサに接続されたＥＣＵ１０４から、センサで取得された情報に基づくデータを含むメッセージが周期的にＣＡＮバス１０５に送信される。メッセージが送信される周期は例えば数百ミリ秒等である。また、複数のＥＣＵ１０４には、車両内のアクチュエータの制御内容を決定して制御するＥＣＵ１０４が含まれる。例えば、当該ＥＣＵ１０４が授受する通信データから、車両の走行状態を推定することが可能となる。
【００２５】
例えば、複数のＥＣＵ１０４のうち同じ目的を達成するためのＥＣＵ１０４については同じＣＡＮバス１０５に接続され得る。例えば、ＡＤＡＳに関連するＥＣＵ１０４についてはＣＡＮバス１０５ａに接続され、パワートレインに関連するＥＣＵ１０４についてはＣＡＮバス１０５ｂに接続され、車両のボディ（ドア又はワイパー等）に関連するＥＣＵ１０４についてはＣＡＮバス１０５ｃに接続される。
【００２６】
通信システム１０では、ＣＡＮプロトコルに従って各ＥＣＵがメッセージとしてのデータフレーム等といったフレームの授受を行う。ＣＡＮプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。ここでは、通信データを含むメッセージとしてのデータフレームに着目して説明を行う。
【００２７】
［１．２  データフレームフォーマット］
以下、ＣＡＮプロトコルに従ったネットワークで用いられるフレームの１つであるデータフレームについて説明する。
【００２８】
図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、ＣＡＮプロトコルで規定される標準ＩＤフォーマットにおけるデータフレームを示している。データフレームは、ＳＯＦ（Start Of Frame）、ＩＤフィールド、ＲＴＲ（Remote Transmission Request）、ＩＤＥ（Identifier Extension）、予約ビット「ｒ」、ＤＬＣ（Data Length Code）、データフィールド、ＣＲＣ（Cyclic Redundancy Check）シーケンス、ＣＲＣデリミタ「ＤＥＬ」、ＡＣＫ（Acknowledgement）スロット、ＡＣＫデリミタ「ＤＥＬ」、及び、ＥＯＦ（End Of Frame）の各フィールドで構成される。ここでは、ＳＯＦ、ＲＴＲ、ＩＤＥ、予約ビット「ｒ」、ＤＬＣ、ＣＲＣシーケンス、ＣＲＣデリミタ「ＤＥＬ」、ＡＣＫスロット、ＡＣＫデリミタ「ＤＥＬ」、及び、ＥＯＦについての説明は省略する。
【００２９】
ＩＤフィールドは、１１ｂｉｔで構成される、データの種類を示す値であるＩＤ（ＣＡＮＩＤとも称する）を格納するフィールドである。複数のノードが同時に送信を開始した場合、このＩＤフィールドで通信調停を行うために、ＩＤが小さい値を持つフレームが高い優先度となるよう設計されている。
【００３０】
データフィールドは、最大６４ｂｉｔで構成され、データを格納するフィールドである。
【００３１】
通信データを送信する各ＥＣＵは、車載ネットワーク（通信システム１０）の仕様として予め定められた種類のデータをデータフィールドに格納し、その種類のデータに対応して予め定められたＣＡＮＩＤをＩＤフィールドに格納することでデータフレームを構築して送信することになる。車両メーカ等により、車載ネットワーク（通信システム１０）の仕様として、通信データに用いられるＣＡＮＩＤと、対応するデータの構成等とが、予め定められている。
【００３２】
［１．３  通信装置１０１の構成］
続いて、通信装置１０１の詳細な構成を説明する。
【００３３】
図３は、実施の形態における通信装置１０１の構成図である。通信装置１０１は、図３に示すように、送受信部３０１、転送部３０２、記憶部３０３、判定部３０９及び制御部３１０を備える。
【００３４】
通信装置１０１は、具体的には図示されていないマイクロプロセッサ、及びＲＡＭ、ＲＯＭ、ハードディスクなどから構成される。前記ＲＡＭ、ＲＯＭ、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、通信装置１０１はその機能を果たす。
【００３５】
なお、通信装置１０１の送受信部３０１、転送部３０２、記憶部３０３、判定部３０９及び制御部３１０等の各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、１以上の機能ブロック、又は各機能ブロックの一部を含むように１チップ化されてもよい。また、監視ＥＣＵ１０３が有する機能ブロックと通信装置１０１が有する各機能ブロックとが１チップ化されてもよい。
【００３６】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００３７】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【００３８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【００３９】
最後に、各機能ブロックは、ソフトウェアで実現されてもよいし、ＬＳＩとソフトウェアの組み合わせで実現されてもよい。また、ソフトウェアは耐タンパ化されていてもよい。
【００４０】
（１）送受信部３０１
送受信部３０１は、外部通信ＥＣＵ１０２と接続される。送受信部３０１は、ＣＡＮバス１０５に流れる通信データを受信した後、車両の外部の装置へ受信した通信データを送信し、あるいは、車両の外部の装置から送信された通信データを受信した後、ＣＡＮバス１０５に対して受信した通信データを送信する。送受信部３０１は、サンプリングされた通信データを、車両の外部の装置に送信する送信部の一例である。
【００４１】
（２）転送部３０２
転送部３０２は、送受信部３０１で受信した通信データを、転送リスト３０４（後述する）に基づき転送すべきＣＡＮバス１０５を決定し、送受信部３０１を介して、決定したＣＡＮバス１０５へ通信データを送信（転送）する。
【００４２】
（３）記憶部３０３
記憶部３０３は、通信データに付与されているＣＡＮＩＤと当該通信データを転送する転送先のＣＡＮバス１０５とが対となった転送リスト３０４と、車載ネットワークの状態（例えば各ＣＡＮバス１０５）が異常な状態か否かを表す異常検知フラグ３０５と、走行状態に対応するサンプリング方法として走行状態に応じたサンプリング割合を記載した走行状態パターン３０６と、車両の現在の走行状態３０７と、各ＣＡＮバス１０５のそれぞれについての通信データである通信ログ３０８と、を記憶する。転送リスト３０４の一例を図４に示す。
【００４３】
図４は、実施の形態における転送リスト３０４の一例を示す図である。
【００４４】
図４に示すように、転送リスト３０４は、通信データに付与されているＣＡＮＩＤと、当該通信データを転送する転送先のＣＡＮバス１０５が対となった転送リストを記憶している。図４の例では、ＣＡＮＩＤが「０ｘ０１１」の通信データをＣＡＮバス１へ転送し、ＣＡＮＩＤが「０ｘ０２１」及び「０ｘ０３１」の通信データをＣＡＮバス２へ転送し、ＣＡＮＩＤが「０ｘ０４１」の通信データをＣＡＮバス３へ転送することを示している。以下では、ＣＡＮバス１はＣＡＮバス１０５ａであり、ＣＡＮバス２はＣＡＮバス１０５ｂであり、ＣＡＮバス３はＣＡＮバス１０５ｃであるとする。
【００４５】
異常検知フラグ３０５は、ＣＡＮバス１０５ごとに対応付けられ、ＣＡＮバスごとに正常か否かを示す複数のフラグであり、例えば、対応するＣＡＮバス１０５が正常な場合は０の値をとり、異常な場合は１の値をとる。例えば、監視ＥＣＵ１０３が通信データの正常・異常判定を行い、ＣＡＮバス１０５ａとＣＡＮバス１０５ｃが異常、ＣＡＮバス１０５ｂが正常と判定された場合、監視ＥＣＵ１０３はその旨を通信装置１０１へ通知する。通信装置１０１は、監視ＥＣＵ１０３から受信した通知に従い、異常と判定されたＣＡＮバス１０５ａとＣＡＮバス１０５ｃに対応する異常検知フラグを１にし、正常と判定されたＣＡＮバス１０５ｂに対応する異常検知フラグを０にする。
【００４６】
走行状態パターン３０６は、通信データのサンプリング方法を示すものであり、様々な走行状態に応じて様々な走行状態パターン３０６が予め定義されている。走行状態は、ＣＡＮバス１０５から受信する通信データの内容（車速、ＡＤＡＳ機能のＯＮ及びＯＦＦ又はネットワークの状態の正常及び異常の判定結果等）に対応するように定義されている。走行状態パターン３０６の例を図５Ａ、図５Ｂ及び図６に示す。
【００４７】
図５Ａは、実施の形態における正常時の走行状態に対応する走行状態パターンの一例を示す図である。
【００４８】
図５Ａには、車両の走行状態として、車両が停車中であり、かつ、車載ネットワークの状態に異常がないときの走行状態パターン３０６が示されている。具体的には、車速が０ｋｍ/ｈで、ＡＤＡＳ機能が全てＯＦＦ（クルーズコントロール（ＣＣ）及びパーキングアシスト（ＰＡ）などが全てＯＦＦ（ＣＣフラグ、ＰＡフラグ＝０））であり、各ＣＡＮバス１０５に異常がない（異常検知フラグ＝０）場合の、停車中（異常なし）という状態名の走行状態パターン３０６が示されている。
【００４９】
図５Ｂは、実施の形態における正常時の走行状態に対応する走行状態パターンの他の一例を示す図である。
【００５０】
図５Ｂには、車両の走行状態として、車両が高速でクルーズコントロール発動中であり、かつ、車載ネットワークの状態に異常がないときの走行状態パターン３０６が示されている。具体的には、車速が８０ｋｍ/ｈ以上で、クルーズコントロール（ＣＣ）が発動中（ＣＣフラグ＝１）で、前方に車両が存在（前方車有無フラグ＝１）し、各ＣＡＮバス１０５に異常がない（異常検知フラグ＝０）場合の、高速でクルーズコントロール発動中（異常なし）という状態名の走行状態パターン３０６が示されている。
【００５１】
図６は、実施の形態における異常時の走行状態に対応する走行状態パターン３０６の一例を示す図である。
【００５２】
図６には、車両の走行状態として、車両が停車中であり、かつ、車載ネットワークの状態に異常があるときの走行状態パターン３０６が示されている。具体的には、車速が０ｋｍ/ｈで、ＡＤＡＳ機能が全てＯＦＦ（クルーズコントロール（ＣＣ）及びパーキングアシスト（ＰＡ）などが全てＯＦＦ（フラグ＝０））であり、ＣＡＮバス１（ＣＡＮバス１０５ａ）及びＣＡＮバス３（ＣＡＮバス１０５ｃ）に異常がある（異常検知フラグ＝１）場合の、停車中（ＣＡＮバス１、ＣＡＮバス３異常あり）という状態名の走行状態パターン３０６が示されている。
【００５３】
走行状態パターン３０６が示すサンプリング方法では、複数のＥＣＵ１０４のうちの１以上のＥＣＵ１０４から構成されるグループごとにサンプリング割合が定められる。例えば、車載ネットワークにおいて、複数のＥＣＵ１０４は、車両内のＣＡＮバス１０５によって互いに接続され、当該グループは、同じＣＡＮバス１０５に接続された１以上のＥＣＵ１０４から構成される。つまり、ＣＡＮバス１０５ａについてのグループ、ＣＡＮバス１０５ｂについてのグループ及びＣＡＮバス１０５ｃについてのグループについて、それぞれサンプリング割合が定められる。
【００５４】
サンプリング割合は、様々な走行状態に応じて予め定められた様々な走行状態パターン３０６において、重要度の高い通信データを多く車両の外部の装置へ送信するよう（サンプリング割合が大きくなるよう）、また、重要度の低い通信データの車両の外部の装置への送信量を少なくするよう（サンプリング割合が小さくなるよう）、ＣＡＮバス１０５毎に定義されている。通信装置１０１の送受信部３０１にて受信される全ての通信データは、走行状態パターン３０６に定義されているサンプリング割合に従い、ＣＡＮバス１０５毎にサンプリングされる。
【００５５】
例えば、車両停車中で、かつ、ＡＤＡＳ機能がＯＦＦのときには（具体的には、図５Ａの走行状態パターン３０６に示される車両条件では）、車速又はエンジン回転数などの走行系の通信データの値は、あまり変化しない。つまり、車速又はエンジン回転数など、変化の少ない通信データは意味のある情報を多く含まないと言える。言い換えると、この場合には、ＡＤＡＳに関連するＥＣＵ１０４が接続されたＣＡＮバス１０５ａ、及び、パワートレインに関連するＥＣＵ１０４が接続されたＣＡＮバス１０５ｂには、意味のある通信データが流れていないと言える。一方、ドアの開閉状態を表す情報又はドアロックの状態を表す情報など、ボディ関係の通信データは変化がある可能性がある。言い換えると、この場合には、車両のボディに関連するＥＣＵ１０４が接続されたＣＡＮバス１０５ｃには、意味のある通信データが流れていると言える。つまり、車両が停車中の状態では、走行系の通信データが送信されるＣＡＮバス１０５ａ及び１０５ｂより、ボディ系の通信データが送信されるＣＡＮバス１０５ｃの通信データをサーバ装置１１に送信する方が、通信データを解析する上で有益であると言える。このように、走行状態パターン３０６は、車両の走行状態に応じて意味のある通信データを多く含むＣＡＮバス１０５のサンプリング割合が大きくなるように定義されている。
【００５６】
また、サンプリング割合は、異常検知フラグ３０５の値に応じても定義される。攻撃者による不正なメッセージの送信等の攻撃の検知、及び、攻撃か否かの判断手法の確立のため、正常ではないＣＡＮバス１０５、つまり、異常検知フラグ３０５の値が１のＣＡＮバス１０５の通信データは、全て抽出されて、全ての通信データをサーバ装置１１に送信するよう定義される。例えば、図６に示すように、異常検知フラグ３０５の値が１のＣＡＮバス１０５ａ及び１０５ｃのサンプリング割合は１００％となっている。
【００５７】
現在の走行状態３０７は、後述する判定部３０９が、送受信部３０１が受信した通信データから判定した、車載ネットワークの正常又は異常の状態も含んだ車両の現在の状態を示す情報である。詳細は後述するが、受信する通信データが変化して、判定された現在の走行状態３０７が、複数の走行状態パターン３０６の中から前回選択された走行状態パターン３０６における車両条件を満たさない場合は、前回選択された走行状態パターン３０６が、複数の走行状態パターン３０６の中から現在の走行状態３０７に対応するものに更新される。
【００５８】
通信ログ３０８は、ＣＡＮバス１０５毎の通信データであり、走行状態パターン３０６にて定義されるサンプリング割合に従ってサンプリングされた通信データが記憶部３０３に記録される。なお、少なくともサーバ装置１１へサンプリングが行われた通信データが送信されればよく、記憶部３０３のストレージ容量が大きくなってしまうが、記憶部３０３にはサンプリング前の通信データが記憶されてもよい。
【００５９】
（４）判定部３０９
判定部３０９は、システム（車両）における複数のＥＣＵ１０４が接続されたネットワークに流れる通信データに基づいて、システムの稼働状態（具体的には、車両の走行状態（現在の走行状態３０７））を判定する。また、判定部３０９は、当該ネットワークの状態が正常か否かを判定する。具体的には、判定部３０９は、送受信部３０１を介して受信する、監視ＥＣＵ１０３による車載ネットワークの状態（具体的にはＣＡＮバス１０５）の正常・異常の判定結果から、各ＣＡＮバス１０５が正常か異常かを判定する。例えば、判定部３０９は、通信データに含まれるメッセージが正常か否かを判定することで、ネットワークの状態が正常か否かを判定する。また、例えば、判定部３０９は、ネットワークにおけるＣＡＮバス１０５が正常か否かを判定することで、ネットワークの状態が正常か否かを判定する。なお、もともとは監視ＥＣＵ１０３がこれらの判定を行っており、判定部３０９は、監視ＥＣＵ１０３からこれらの判定結果を受信するため、判定部３０９もこれらの判定を行うことができる。また、判定部３０９は、送受信部３０１を介して受信する通信データから判定した現在の走行状態３０７が、選択された走行状態パターン３０６における車両条件を満たしているかを判定する。
【００６０】
（５）制御部３１０
制御部３１０は、上記（１）〜（４）の各手段を管理、制御する。例えば、制御部３１０は、ＣＡＮバス１０５から受信した通信データ及び異常検知フラグ３０５に応じて判定部３０９に判定された現在の走行状態３０７に対応する走行状態パターン３０６を複数の走行状態パターン３０６の中から選択する。なお、複数の走行状態パターン３０６の中から現在の走行状態３０７に対応する走行状態パターン３０６を選択することで、前回選択した走行状態パターン３０６が異なる走行状態パターン３０６へ切り替わることを走行状態パターン３０６の更新とも呼ぶ。制御部３１０は、更新等された最新の走行状態パターン３０６に定義されているサンプリング割合に従って、各ＣＡＮバス１０５を流れる通信データをサンプリングし、サンプリングした通信データを、通信ログ３０８としてＣＡＮバス１０５毎に記憶部３０３に格納する。
【００６１】
［１．４  グループの他の例］
なお、走行状態パターン３０６で定義されているサンプリング割合は、ＣＡＮバス１０５のそれぞれに対応するグループごとに定められたが、これに限らない。これについて、図７及び８を用いて説明する。
【００６２】
図７は、実施の形態におけるグループの他の一例を示す図である。図８は、実施の形態における正常時の走行状態に対応する走行状態パターンの他の一例を示す図である。
【００６３】
例えば、サンプリング割合が定められるグループは、同じＣＡＮバス１０５に接続されたＥＣＵ１０４だけで構成されなくてもよく、例えば、図７に示すグループＥのようなグループであってもよい。また、図７に示すグループＣ及びＤのように、同じＣＡＮバス１０５に接続されたＥＣＵ１０４であっても、異なるグループに属するようにグループ分けがされてもよい。例えば、サンプリング割合が定められるグループは、通信データに含まれる同じ機能に関連するメッセージ（例えば同じＣＡＮＩＤ、又は、関連するＣＡＮＩＤについてのデータ）を送信する１以上のＥＣＵ１０４から構成されてもよい。例えば、グループＥにおけるＣＡＮバス１０５ｂに接続されたＥＣＵ１０４とＣＡＮバス１０５ｃに接続されたＥＣＵ１０４とは、同じ機能に関連するメッセージを送信する。同じ機能に関連するメッセージを送信するＥＣＵとは、例えば、舵角センサＥＣＵ及びパワーステアリングＥＣＵ等であり、これらは共にステアリングに関連するメッセージを送信するため、同じグループに属する。そして、サンプリング割合は、図８に示すように、走行状態パターン３０６において、ＣＡＮバス１０５のそれぞれに対応するように定められたグループごとではなく、このようなグループＡ〜Ｅごとに定義されてもよい。
【００６４】
なお、以下では、グループをＣＡＮバス１０５のそれぞれに対応するように定められたグループとして説明する。
【００６５】
［１．５  通信システム１０の動作］
次に、通信システム１０が、ＣＡＮバス１０５から受信した通信データを用いて、車両の走行状態に応じてＣＡＮバス１０５ごとに通信データをサンプリングし、サーバ装置１１へ送信する場合の一例について、図９から図１１を用いて説明する。
【００６６】
まずは、サンプリング方法の決定方法について図９を用いて説明する。
【００６７】
図９は、実施の形態におけるサンプリング方法の決定方法の一例を示すフローチャートである。
【００６８】
まず、通信装置１０１は、ステップＳ９０１において、送受信部３０１により、監視ＥＣＵ１０３、及び複数のＥＣＵ１０４から送信される通信データを受信する。例えば、監視ＥＣＵ１０３から送信される通信データには、ネットワークの状態が正常か否かの判定結果（具体的には各ＣＡＮバス１０５が正常か否かの判定結果）が含まれ、また、複数のＥＣＵ１０４から送信される通信データには車両の走行状態を判定するためのデータが含まれる。
【００６９】
次いで、ステップＳ９０２において、判定部３０９は、監視ＥＣＵ１０３から送信される通信データに、ＣＡＮバス１０５の異常を示す通知が含まれているか判定する。判定部３０９が通信データにＣＡＮバス１０５の異常を示す通知が含まれていると判定した場合（ステップＳ９０２でＹＥＳ）、つまり、ネットワークの状態が異常である場合、ステップＳ９０３に進み、異常を示す通知が含まれていないと判定した場合（ステップＳ９０２でＮＯ）、ステップＳ９０４に進む。
【００７０】
ステップＳ９０３において、通信装置１０１の制御部３１０は、異常の通知があったＣＡＮバス１０５に対応する異常検知フラグ３０５の値を１にする。
【００７１】
一方で、ステップＳ９０４において、通信装置１０１の制御部３１０は、異常の通知がないＣＡＮバス１０５に対応する異常検知フラグ３０５の値を０にする。
【００７２】
次いで、ステップＳ９０５において、判定部３０９は、複数のＥＣＵ１０４から受信した通信データと異常検知フラグ３０５の値から車両の走行状態（現在の走行状態３０７）を判定する。例えば、判定部３０９は、複数のＥＣＵ１０４から受信した通信データと異常検知フラグ３０５の値から、車両が走行中であるか、停車中であるか、車載ネットワークの状態が正常か異常かなどの現在の走行状態３０７を判定する。
【００７３】
ステップＳ９０６において、判定部３０９は、現在の走行状態３０７が、前回選択した走行状態パターン３０６における車両条件を満たしているか判定する。判定部３０９は、現在の走行状態３０７が当該車両条件を満たしていないと判定した場合（ステップＳ９０６でＮＯ）、ステップＳ９０７に進み、現在の走行状態３０７が当該車両条件を満たしていると判定した場合（ステップＳ９０６でＹＥＳ）、ステップＳ９０８に進む。
【００７４】
ステップＳ９０７において、制御部３１０は、複数の走行状態パターン３０６の中から、現在の走行状態３０７が車両条件を満たす走行状態パターン３０６を選択する、つまり、走行状態パターン３０６を更新する。
【００７５】
例えば、以前判定された走行状態が、車速が８０ｋｍ／ｈ以上、ＣＣフラグが１、前方車有無フラグが１、各ＣＡＮバス１０５の異常検知フラグ３０５が０を示し、図９に示すフローチャートの開始時点で図５Ｂに示す走行状態パターン３０６が選択されているとする。そして、車両の走行状態が変わり、ステップＳ９０６において現在の走行状態３０７が、車速が０ｋｍ／ｈ、ＣＣフラグが０、ＰＡフラグが０、各ＣＡＮバス１０５の異常検知フラグ３０５が０を示す場合、現在の走行状態３０７が図５Ｂに示す走行状態パターン３０６における車両条件を満たさない。このため、ステップＳ９０７において、現在の走行状態３０７を満たす走行状態パターン３０６として、複数の走行状態パターン３０６の中から図５Ａに示す走行状態パターン３０６に更新される。
【００７６】
そして、ステップＳ９０８において、制御部３１０は、通信データのサンプリング方法を決定する。具体的には、制御部３１０は、選択されている走行状態パターン３０６が示すサンプリング割合が定義されたサンプリング方法を決定する。言い換えると、制御部３１０は、走行状態パターン３０６において定義されているサンプリング割合で各ＣＡＮバス１０５に流れる通信データをサンプリングするサンプリング方法を決定する。
【００７７】
なお、これまでの説明では、車載ネットワークの状態（ＣＡＮバス１０５が正常か否かの状態）も車両の走行状態の一部としていたが、車両の走行状態には、車載ネットワークの状態が含まれていなくてもよい。この場合、走行状態パターン３０６には、異常検知フラグ３０５についての情報が含まれなくなる。それに伴い、図６に示すような、車載ネットワークに異常がある場合の走行状態パターン３０６が存在しなくなる。また、この場合、判定部３０９は、ネットワークの状態が正常か否かの判定の結果には基づかないで、車両の走行状態を判定することになる。この場合のサンプリング方法の決定方法について図１０を用いて説明する。
【００７８】
図１０は、実施の形態におけるサンプリング方法の決定方法の他の一例を示すフローチャートである。
【００７９】
まず、通信装置１０１は、ステップＳ９０１において、送受信部３０１により、監視ＥＣＵ１０３、及び複数のＥＣＵ１０４から送信される通信データを受信する。例えば、監視ＥＣＵ１０３から送信される通信データには、ネットワークの状態が正常か否かの判定結果（具体的には各ＣＡＮバス１０５が正常か否かの判定結果）が含まれ、また、複数のＥＣＵ１０４から送信される通信データには車両の走行状態を判定するためのデータが含まれる。
【００８０】
次いで、ステップＳ１００１において、判定部３０９は、複数のＥＣＵ１０４から受信した通信データから車両の走行状態（現在の走行状態３０７）を判定する。例えば、判定部３０９は、複数のＥＣＵ１０４から受信した通信データから、車両が走行中であるか、停車中であるかなどの現在の走行状態３０７を判定する。なお、図９に示すステップＳ９０５では、判定部３０９は、異常検知フラグ３０５の値にも基づいて現在の走行状態３０７を判定し、例えば、異常検知フラグ３０５の値から車載ネットワークの状態が正常か異常かなどの現在の走行状態３０７も判定していた。つまり、図１０に示すステップＳ１００１においては、判定部３０９は、ネットワークの状態が正常か否かの判定の結果には基づかないで、車両の走行状態を判定する。
【００８１】
ステップＳ１００２において、判定部３０９は、現在の走行状態３０７が、前回選択した走行状態パターン３０６における車両条件を満たしているか判定する。判定部３０９は、現在の走行状態３０７が当該車両条件を満たしていないと判定した場合（ステップＳ１００２でＮＯ）、ステップＳ１００３に進み、現在の走行状態３０７が当該車両条件を満たしていると判定した場合（ステップＳ１００２でＹＥＳ）、ステップＳ１００４に進む。
【００８２】
ステップＳ１００３において、制御部３１０は、複数の走行状態パターン３０６の中から、現在の走行状態３０７が車両条件を満たす走行状態パターン３０６を選択する、つまり、走行状態パターン３０６を更新する。
【００８３】
そして、ステップＳ１００４において、制御部３１０は、通信データのサンプリング方法を決定する。具体的には、制御部３１０は、選択されている走行状態パターン３０６が示すサンプリング割合が定義されたサンプリング方法を決定する。言い換えると、制御部３１０は、走行状態パターン３０６において定義されているサンプリング割合で各ＣＡＮバス１０５に流れる通信データをサンプリングするサンプリング方法を決定する。
【００８４】
次いで、ステップＳ１００５において、判定部３０９は、監視ＥＣＵ１０３から送信される通信データに、ＣＡＮバス１０５の異常を示す通知が含まれているか判定する。判定部３０９が通信データにＣＡＮバス１０５の異常を示す通知が含まれていると判定した場合（ステップＳ１００５でＹＥＳ）、つまり、ネットワークの状態が異常である場合、ステップＳ１００６に進み、異常を示す通知が含まれていないと判定した場合（ステップＳ１００５でＮＯ）、サンプリング方法の決定処理が終了する。
【００８５】
ステップＳ１００６において、制御部３１０は、ステップＳ１００４において決定したサンプリング方法を変更する。具体的には、制御部３１０は、決定したサンプリング方法における各ＣＡＮバス１０５のサンプリング割合のうち、異常のあるＣＡＮバス１０５についてのサンプリング割合を変更する。例えば、制御部３１０は、異常のあるＣＡＮバス１０５についてのサンプリング割合を１００％にする。具体的には、ステップＳ１００４において決定されたサンプリング方法における各ＣＡＮバス１０５のサンプリング割合が図５Ａに示すものであった場合に、ＣＡＮバス１０５ａ及び１０５ｃに異常があったときには、ＣＡＮバス１０５ａ及び１０５ｃのサンプリング割合を１００％に変更する。つまり、この場合、最終的には、各ＣＡＮバス１０５のサンプリング割合が図６に示すようなサンプリング割合となるサンプリング方法が決定される。
【００８６】
このように、車載ネットワークに異常がある場合の走行状態パターン３０６を準備しなくてもよく、ネットワークの状態に異常がある場合に、決定したサンプリング方法における当該異常に対応するグループのサンプリング割合を変更することで、サンプリング方法を変更してもよい。
【００８７】
次に、決定されたサンプリング方法（若しくは決定後に変更されたサンプリング方法）に応じた通信装置１０１の動作について図１１を用いて説明する。
【００８８】
図１１は、実施の形態における通信装置１０１の動作の一例を示すフローチャートである。
【００８９】
まず、ステップＳ１１１１において、制御部３１０は、判定された走行状態に対応するサンプリング方法（つまり、決定された、若しくは、決定後変更されたサンプリング方法）に従って、通信データのサンプリングを行う。具体的には、制御部３１０は、現在の走行状態３０７に対応する走行状態パターン３０６において定義されるＣＡＮバス１０５ごとのサンプリング割合に従い、各ＣＡＮバス１０５から送受信部３０１が受信する通信データのサンプリングを行う。
【００９０】
次いで、ステップＳ１１１２において、制御部３１０は、サンプリングを行った通信データとして通信ログ３０８を、ＣＡＮバス１０５ごとに記憶部３０３に記憶する。
【００９１】
そして、ステップＳ１１１３において、送受信部３０１は、サンプリングされた通信データを、サーバ装置１１に送信する。
【００９２】
なお、ステップＳ１１１３での処理が開始されるタイミングは特に限定されない。例えば、所定の時間ごとに行われてもよいし、サーバ装置１１からの要求に応じて行われてもよい。
【００９３】
［１．６  まとめ］
以上のように本実施の形態に係る通信装置１０１は、システム（車両）における複数のＥＣＵ１０４が接続されたネットワークに流れる通信データに基づいて、システム（車両）の稼働（走行）状態を判定する判定部３０９と、判定された稼働（走行）状態に対応するサンプリング方法に従って、通信データのサンプリングを行う制御部３１０と、サンプリングされた通信データを、システム（車両）の外部の装置（サーバ装置１１）に送信する送信部（送受信部３０１）と、を備える。
【００９４】
これによれば、車両等の稼働（走行）状態に応じて重要度の低い通信データについてはあまり抽出されないように（大きく間引かれるように）サンプリングをすることができ、重要度の高い通信データについては多く抽出されるように（あまり間引かれない（若しくは全く間引かない）ように）サンプリングをすることができる。つまり、車両等の稼働（走行）状態に応じて、重要度の高い通信データについてはデータ量をあまり減らさない（若しくは全く減らさない）ようにしつつ、重要度の低い通信データについてはデータ量を減らして車両の外部の装置へ送信されるため、外部の装置との通信の負荷及び当該装置のストレージ容量の削減を効果的に行うことができる。なお、車両等の外部の装置に送信された通信データは、故障解析又はサイバー攻撃の攻撃解析に活用することができる。
【００９５】
また、通信装置１０１は、さらに、記憶部３０３を備え、制御部３１０は、サンプリングを行った通信データを記憶部３０３に格納してもよい。
【００９６】
これによれば、記憶部３０３には、サンプリングされた通信データが保持されるため、記憶部３０３のストレージ容量を削減できる。
【００９７】
また、上記サンプリング方法では、複数のＥＣＵ１０４のうちの１以上のＥＣＵ１０４から構成されるグループごとにサンプリング割合が定められ、制御部３１０は、グループごとの通信データについて、当該グループに定められたサンプリング割合に応じてサンプリングを行ってもよい。
【００９８】
これによれば、例えば、ボディ関連のＥＣＵ１０４の通信データについては、車両の走行中には重要度は低く車両の停車中には重要度が高く、また、パワートレイン関連のＥＣＵ１０４の通信データについては、車両の走行中には重要度は高く車両の停車中には重要度が低いといったように、車両の走行状態によって各グループの通信データの重要度がそれぞれ異なる場合があるため、グループごとに通信データのサンプリングを効果的に行うことができる。
【００９９】
また、ネットワークにおいて、複数のＥＣＵ１０４は、システム（車両）内のＣＡＮバス１０５によって互いに接続され、グループは、同じＣＡＮバス１０５に接続された１以上のＥＣＵ１０４から構成されてもよい。
【０１００】
例えば、一般的に同じＣＡＮバス１０５に接続された１以上のＥＣＵ１０４は、それぞれ同じような機能を有していることが多く、取り扱う通信データも同じようなものになることが多い。したがって、同じＣＡＮバス１０５に接続された１以上のＥＣＵ１０４から構成されるグループごとに通信データのサンプリングを効果的に行うことができる。
【０１０１】
また、グループは、通信データに含まれる同じ機能に関連するメッセージを送信する１以上のＥＣＵ１０４から構成されていてもよい。
【０１０２】
これによれば、同じ機能に関連するメッセージを送信する１以上のＥＣＵ１０４から構成されるグループごとに通信データのサンプリングを効果的に行うことができる。
【０１０３】
また、判定部３０９は、さらに、ネットワークの状態が正常か否かを判定し、当該判定の結果にも基づいて、システム（車両）の稼働（走行）状態を判定してもよい。
【０１０４】
これによれば、ネットワークの状態が正常か否かの判定結果にも応じて車両の走行状態が判定されるため、サンプリング方法は、当該判定結果にも対応したものとなる。したがって、ネットワークの状態が正常か否かにも応じて通信データをサンプリングすることができる。
【０１０５】
また、判定部３０９は、さらに、ネットワークの状態が正常か否かを判定し、制御部３１０は、ネットワークの状態が正常か否かに応じて、サンプリング方法を変更してもよい。
【０１０６】
これによれば、ネットワークの状態が正常か否かの判定結果に応じてサンプリング方法が変更されるため、ネットワークの状態が正常か否かにも応じて通信データをサンプリングすることができる。
【０１０７】
具体的には、判定部３０９は、通信データに含まれるメッセージが正常か否かを判定することで、ネットワークの状態が正常か否かを判定してもよい。また、ネットワークにおいて、複数のＥＣＵ１０４は、車両内のＣＡＮバス１０５によって互いに接続され、判定部３０９は、ネットワークにおけるＣＡＮバス１０５が正常か否かを判定することで、ネットワークの状態が正常か否かを判定してもよい。
【０１０８】
＜他の実施の形態等＞
以上のように、本発明に係る技術の例示として実施の形態を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施の形態に含まれる。
【０１０９】
（１）本発明の実施の形態において、監視ＥＣＵ１０３がＣＡＮバス１０５を介して、通信装置１０１へ不正な通信データを検知した旨を通知する際に、通信データにメッセージ認証コード（ＭＡＣ：Message Authentication Code）を付与して送信する構成でもよい。
【０１１０】
（２）本発明の実施の形態において、監視ＥＣＵ１０３は、ＣＡＮバス１０５が正常の旨と異常の旨の両方を周期的に通信装置１０１へ通知することを想定しているが、異常を検知した時のみ通知するなど、イベント的に通知してもよい。
【０１１１】
（３）本発明の実施の形態において、通信装置１０１は、ＣＡＮバス１０５の正常・異常を監視ＥＣＵ１０３からの通知を周期的に受信することを想定しているが、異常の旨の通知が一定時間受信できなければ正常と判断するなど、未着等を利用して判定してもよい。
【０１１２】
（４）本発明の実施の形態において、通信装置１０１は、物理的には一つのＥＣＵを想定しているが、論理的に独立した機能モジュール（ソフトウェア）として監視ＥＣＵ１０３などの別のＥＣＵに実装される構成でもよい。
【０１１３】
（５）本発明の実施の形態において、通信装置１０１は、中継・転送機能を含む１つのＥＣＵを想定しているが、中継・転送機能は中継ＥＣＵなどの別のＥＣＵに実装される構成でもよい。
【０１１４】
（６）本発明の実施の形態において、監視ＥＣＵ１０３によって正常ではないと判定されたＣＡＮバス１０５の通信データは、サンプリングせず（つまり、サンプリング割合１００％）でサーバ装置１１に送信することを想定しているが、正常と判定されたＣＡＮバス１０５と同様、サンプリングするように定義されてもよい。
【０１１５】
（７）本発明の実施の形態において、通信装置１０１と監視ＥＣＵ１０３は、物理的には一つのＥＣＵに実装されており、論理的に独立した機能モジュール（ソフトウェアなど）として実装される構成でもよい。
【０１１６】
（８）本発明の実施の形態において、ＣＡＮ通信の代わりに、ＣＡＮＦＤ（CAN with Flexible Data rate）、ＴＴＣＡＮ（Time Triggered CAN）、Ｅｔｈｅｒｎｅｔ、ＬＩＮ（Local Interconnect Network）、ＭＯＳＴ（Media Oriented Systems Transport）又はＦｌｅｘＲａｙなどの通信方式を用いる構成でもよい。
【０１１７】
（９）通信装置１０１を構成する構成要素の一部又は全部は、通信装置１０１に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０１１８】
（１０）本発明の実施の形態において、監視ＥＣＵ１０３は、ＣＡＮバス１０５を介して通信装置１０１へ通信データの正常又は異常を検知した結果を通知したが、これに限らない。これについて図１２を用いて説明する。
【０１１９】
図１２は、他の実施の形態における通信システム１０ａの構成図である。
【０１２０】
実施の形態における通信システム１０では、通信データの送受信には上述したように、ＣＡＮバス１０５が用いられる。また、車載ネットワークの状態が正常であるか否かの監視ＥＣＵ１０３による判定結果の送受信についても、ＣＡＮバス１０５が用いられる。これに対して、通信システム１０ａでは、車載ネットワークの状態が正常であるか否かの監視ＥＣＵ１０３による判定結果の送受信は、ＣＡＮバス１０５とは異なる専用線１０６を介した通信が用いられる。例えば、専用線１０６は、外部と接続されないような通信線であり、外部からの攻撃に強い通信線である。
【０１２１】
これによれば、監視ＥＣＵ１０３による判定結果の送受信にＣＡＮバス１０５が用いられた場合にＣＡＮバス１０５に不正なノードが接続されて不正な情報がＣＡＮバス１０５に送信されたときには、当該判定結果が不正に書き換えられるおそれがある。そこで、当該判定結果の送受信は、例えば外部からの攻撃に強い専用線１０６を介した通信が用いられることで、当該判定結果が不正に書き換えられることを抑制できる。
【０１２２】
（１１）本発明は、通信装置１０１として実現できるだけでなく、通信装置１０１を構成する各構成要素が行うステップ（処理）を含む通信方法として実現できる。
【０１２３】
具体的には、当該通信方法は、図９及び図１１に示すように、システム（車両）における複数のＥＣＵ１０４が接続されたネットワークに流れる通信データに基づいて、システム（車両）の稼働（走行）状態を判定し（ステップＳ９０５）、判定された稼働（走行）状態に対応するサンプリング方法に従って、通信データのサンプリングを行い（ステップＳ１１１１）、サンプリングされた通信データを、システム（車両）の外部の装置に送信する（ステップＳ１１１３）。
【０１２４】
また、例えば、本発明は、これらのステップをコンピュータに実行させるためのコンピュータプログラムとして実現できる。また、例えば、これらのステップは、当該コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１２５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１２６】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１２７】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１２８】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１２９】
（１２）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１３０】
（１３）上記実施の形態では、本発明の適用例として車両（自動車）に搭載される車載ネットワークにおけるセキュリティ対策への適用について説明したが、本発明の適用範囲はこれに限られない。例えば、本発明は、自動車に限らず、建機、農機、船舶、鉄道又は飛行機などのモビリティにも適用してもよい。例えば、判定部３０９は、自動車等の車両に限らず、建機、農機、船舶、鉄道又は飛行機などのシステムにおける複数の電子制御ユニットが接続されたネットワークに流れる通信データに基づいて、当該システムの稼働状態を判定してもよい。また、制御部３１０は、判定された稼働状態に対応するサンプリング方法に従って、通信データのサンプリングを行ってもよい。また、送信部（送受信部３０１）は、サンプリングされた通信データを、当該システムの外部の装置に送信してもよい。
【産業上の利用可能性】
【０１３１】
本発明は、自動車、建機、農機、船舶、鉄道又は飛行機などにおけるネットワークに流れる通信データをサーバ装置へ転送する装置に適用できる。
【符号の説明】
【０１３２】
１０、１０ａ  通信システム
１１  サーバ装置
１０１  通信装置
１０２  外部通信ＥＣＵ
１０３  監視ＥＣＵ
１０４  ＥＣＵ
１０５、１０５ａ、１０５ｂ、１０５ｃ  ＣＡＮバス
１０６  専用線
３０１  送受信部
３０２  転送部
３０３  記憶部
３０４  転送リスト
３０５  異常検知フラグ
３０６  走行状態パターン
３０７  現在の走行状態
３０８  通信ログ
３０９  判定部
３１０  制御部
【図１】
2019146145.tif 000003
【図２】
2019146145.tif 000004
【図３】
2019146145.tif 000005
【図４】
2019146145.tif 000006
【図５Ａ】
2019146145.tif 000007
【図５Ｂ】
2019146145.tif 000008
【図６】
2019146145.tif 000009
【図７】
2019146145.tif 000010
【図８】
2019146145.tif 000011
【図９】
2019146145.tif 000012
【図１０】
2019146145.tif 000013
【図１１】
2019146145.tif 000014
【図１２】
2019146145.tif 000015