(57)【要約】【課題】仮想スイッチにおいてメッセージに含まれるデータの中身を判定してスイッチングを制御すること。【解決手段】仮想ネットワークの少なくとも１つの仮想スイッチに、受信メッセージを判定する判定データを設定する設定部と、受信メッセージに含まれる少なくとも一部のデータと判定データとを比較し、合致するか否かを判定する判定部と、判定部の判定結果に基づいて、仮想スイッチのスイッチングを制御する制御部と、を備える。【選択図】  図１
2017184052.tif 000002
【特許請求の範囲】
【請求項１】
仮想ネットワークの少なくとも１つの仮想スイッチ手段に、受信メッセージを判定する判定データを設定する設定手段と、
受信メッセージに含まれる少なくとも一部のデータと前記判定データとを比較し、合致するか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記仮想スイッチ手段のスイッチングを制御する制御手段と、
を備える通信処理装置。
【請求項２】
前記設定手段が設定する前記判定データは、前記仮想ネットワークに含まれる仮想ネットワークコントローラから前記仮想スイッチ手段に設定されるフローテーブルに含まれる、請求項１に記載の通信処理装置。
【請求項３】
前記判定手段と前記制御手段とは前記仮想スイッチ手段に含まれ、前記仮想スイッチ手段によるスイッチングの制御は前記フローテーブルに含まれる、請求項２に記載の通信処理装置。
【請求項４】
前記制御手段によるスイッチングの制御は、メッセージの遮断、メッセージのルート変更および他のメッセージ判定の少なくとも１つを含む、請求項１乃至３のいずれか１項に記載の通信処理装置。
【請求項５】
正常な受信メッセージまたは異常な受信メッセージの履歴に基づいて、前記判定データを生成する生成手段をさらに備える請求項１乃至４のいずれか１項に記載の通信処理装置。
【請求項６】
前記設定手段は、正常な受信メッセージまたは異常な受信メッセージの履歴に関連して、複数の前記仮想スイッチ手段に複数の前記判定データを設定する、請求項１乃至４のいずれか１項に記載の通信処理装置。
【請求項７】
前記通信処理装置は車載通信ネットワークに含まれ、前記受信メッセージはＣＡＮ(Controller Area Network)メッセージを含む、請求項１乃至６のいずれか１項に記載の通信処理装置。
【請求項８】
仮想ネットワークの少なくとも１つの仮想スイッチ手段に、受信メッセージを判定する判定データを設定する設定ステップと、
受信メッセージに含まれる少なくとも一部のデータと前記判定データとを比較し、合致するか否かを判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、前記仮想スイッチ手段のスイッチングを制御する制御ステップと、
を含む通信処理方法。
【請求項９】
仮想ネットワークの少なくとも１つの仮想スイッチ手段に、受信メッセージを判定する判定データを設定する設定ステップと、
受信メッセージに含まれる少なくとも一部のデータと前記判定データとを比較し、合致するか否かを判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、前記仮想スイッチ手段のスイッチングを制御する制御ステップと、
をコンピュータに実行させる通信処理プログラム。
【請求項１０】
仮想ネットワークの中を伝送されるメッセージを収集する収集手段と、
前記収集手段が収集した正常なメッセージの集合から正常な状態を表わすメッセージを確立する確立手段と、
前記伝送されるメッセージと前記正常な状態を表わすメッセージとを比較して、異常または異常予兆を判定する判定手段と、
前記判定手段の判定結果に基づいて、前記仮想ネットワークにおける仮想スイッチ手段のスイッチングを制御する制御手段と、
を備える通信処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信処理システム、通信処理装置、通信処理方法および通信処理プログラムに関する。
【背景技術】
【０００２】
上記技術分野において、特許文献１には、内部スイッチのフローテーブルにより経路の切り替えを行なう技術が開示されています。特許文献２には、車載用の通信ネットワークにおいて、ルーティングテーブルを参照して、ＣＡＮメッセージの中継要否や送信先のパスを決定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際出願公開ＷＯ２０１２／１６５４４６号公報
【特許文献２】国際出願公開ＷＯ２００８／１２６６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献に記載の技術では、フローテーブルで経路が切り替えられるのはメッセージの識別子や送信元および送信先の情報であって、仮想スイッチにおいてメッセージに含まれるデータの中身を判定してルーティングを制御することができなかった。
【０００５】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る通信処理装置は、
仮想ネットワークの少なくとも１つの仮想スイッチ手段に、受信メッセージを判定する判定データを設定する設定手段と、
受信メッセージに含まれる少なくとも一部のデータと前記判定データとを比較し、合致するか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記仮想スイッチ手段のスイッチングを制御する制御手段と、
を備える。
【０００７】
上記目的を達成するため、本発明に係る通信処理方法は、
仮想ネットワークの少なくとも１つの仮想スイッチ手段に、受信メッセージを判定する判定データを設定する設定ステップと、
受信メッセージに含まれる少なくとも一部のデータと前記判定データとを比較し、合致するか否かを判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、前記仮想スイッチ手段のスイッチングを制御する制御ステップと、
を含む。
【０００８】
上記目的を達成するため、本発明に係る通信処理プログラムは、
仮想ネットワークの少なくとも１つの仮想スイッチ手段に、受信メッセージを判定する判定データを設定する設定ステップと、
受信メッセージに含まれる少なくとも一部のデータと前記判定データとを比較し、合致するか否かを判定する判定ステップと、
前記判定ステップにおける判定結果に基づいて、前記仮想スイッチ手段のスイッチングを制御する制御ステップと、
をコンピュータに実行させる。
【０００９】
上記目的を達成するため、本発明に係る通信処理システムは、
仮想ネットワークの中を伝送されるメッセージを収集する収集手段と、
前記収集手段が収集した正常なメッセージの集合から正常な状態を表わすメッセージを確立する確立手段と、
前記伝送されるメッセージと前記正常な状態を表わすメッセージとを比較して、異常または異常予兆を判定する判定手段と、
前記判定手段の判定結果に基づいて、前記仮想ネットワークにおける仮想スイッチ手段のスイッチングを制御する制御手段と、
を備える。
【発明の効果】
【００１０】
本発明によれば、仮想スイッチにおいてメッセージに含まれるデータの中身を判定してスイッチングを制御することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る通信処理装置の構成を示すブロック図である。
【図２】本発明の第２実施形態に係る通信処理装置を含む車載用の通信処理システムにおける表示例を示す図である。
【図３Ａ】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイを含む車載用の通信処理システムの概要を示す図である。
【図３Ｂ】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイの概要を示す図である。
【図４Ａ】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイのログ収集処理および正常状態確立処理を示す図である。
【図４Ｂ】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイのログ収集処理および異常検出処理を示す図である。
【図５】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイの機能構成を示す図である。
【図６】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイの動作手順を示すシーケンス図である。
【図７Ａ】本発明の第２実施形態に係る自己学習型異常検出処理部の機能構成を示す図である。
【図７Ｂ】本発明の第２実施形態に係る通信ログデータベースの構成を示す図である。
【図７Ｃ】本発明の第２実施形態に係る異常判定データベースの構成を示す図である。
【図８Ａ】本発明の第２実施形態に係る仮想ネットワークコントローラの機能構成を示す図である。
【図８Ｂ】本発明の第２実施形態に係るフローテーブル生成テーブルの構成を示す図である。
【図９Ａ】本発明の第２実施形態に係る仮想ネットワークスイッチの機能構成を示す図である。
【図９Ｂ】本発明の第２実施形態に係るフローテーブル格納部の構成を示す図である。
【図１０】本発明の第２実施形態に係る通信処理装置としての車載ゲートウェイの処理手順を示すフローチャートである。
【図１１Ａ】本発明の第２実施形態に係るログ収集処理の手順を示すフローチャートである。
【図１１Ｂ】本発明の第２実施形態に係る正常状態確立処理の手順を示すフローチャートである。
【図１１Ｃ】本発明の第２実施形態に係る異常判定処理の手順を示すフローチャートである。
【図１２】本発明の第２実施形態に係る異常判定処理における仮想ネットワークの手順を示すフローチャートである。
【図１３】本発明の第３実施形態に係る異常判定データベースの異常処理テーブルの構成を示す図である。
【図１４】本発明の第３実施形態に係る異常判定処理における仮想ネットワークの手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１３】
［第１実施形態］
本発明の第１実施形態としての通信処理装置１００について、図１を用いて説明する。通信処理装置１００は、車載用の装置である。
【００１４】
図１に示すように、通信処理装置１００は、設定部１０１と、判定部１０２と、制御部１０３と、を含む。設定部１０１は、仮想ネットワークの少なくとも１つの仮想スイッチ部１１０に、受信メッセージを判定する判定データを設定する。判定部１０２は、受信メッセージに含まれる少なくとも一部のデータと判定データとを比較し、合致するか否かを判定する。制御部１０３は、判定部１０２の判定結果に基づいて、仮想スイッチ部１１０のスイッチングを制御する。
【００１５】
本実施形態によれば、想ネットワークの少なくとも１つの仮想スイッチに設定された設定データと、受信メッセージのデータとを比較するので、仮想スイッチにおいてメッセージに含まれるデータの中身を判定してスイッチィングを制御することができる。
【００１６】
［第２実施形態］
次に、本発明の第２実施形態に係る通信処理装置を含む車載用の通信処理システムについて説明する。本実施形態に係る通信処理装置を含む車載用の通信処理システムは、ＩＰ(Internet Protocol)アドレスで制御されない、例えばＣＡＮ(Controller Area Network)メッセージなどにおいて、車載通信ネットワークにおけるメッセージの制御を行なう。すなわち、仮想ネットワークの仮想スイッチにＣＡＮメッセージを判定する判定データを設定し、ＣＡＮメッセージに含まれる少なくとも一部のデータと判定データとを比較し、合致するか否かの判定結果に基づいて、仮想スイッチのスイッチングを制御する
【００１７】
本実施形態において、設定データは、正常な受信メッセージまたは異常な受信メッセージの履歴に基づいて生成される。また、仮想ネットワークコントローラから仮想スイッチに設定されるフローテーブルに含まれる。また、仮想スイッチによるスイッチングの制御もフローテーブルに含まれる。そして、スイッチングの制御としては、メッセージの遮断、メッセージのルート変更および他のメッセージ判定の少なくとも１つを含む。
【００１８】
《通信処理システム》
図２〜図３Ｂを参照して、本実施形態の通信処理装置を含む車載用の通信処理システムについて説明する。
【００１９】
（システム表示例）
図２は、本実施形態に係る通信処理装置を含む車載用の通信処理システムにおける表示部２１０における表示例を示す図である。この表示部２１０は、例えばカーナビゲーション用の表示画面であってもよい。
【００２０】
図２の左図には、本実施形態に係る通信処理装置を含む車載用の通信処理システムにおいて、ＣＡＮメッセージが正常な範囲内で所定の伝送がされていることを“正常です”というコメント２１１で表示している。なお、正常時には表示しなくてもよい。
【００２１】
図２の右上図においては、本実施形態に係る通信処理装置を含む車載用の通信処理システムにおいて、ＣＡＮメッセージが正常でないと判定されて、そのＣＡＮメッセージは仮想スイッチから診断部にも送信される。そして、診断部はＣＡＮメッセージの状態は異常に直接つながるものでないとの分析で、“近日中に車両検査をしてください”というコメント２１２を表示している。図２の右下図においては、本実施形態に係る通信処理装置を含む車載用の通信処理システムにおいて、ＣＡＮメッセージが異常であると判定される。そのＣＡＮメッセージは仮想スイッチで遮断されて、仮想スイッチから診断部に送信され、ＣＡＮメッセージの状態は異常に直接つながるものであるとの分析で、“緊急停止してください”というコメント２１２を表示している。
【００２２】
（システム概要）
図３Ａは、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０を含む車載用の通信処理システム２００の概要を示す図である。
【００２３】
車載通信ネットワークとしての通信処理システム２００には、車載ゲートウェイ３１０を介してメッセージをやり取りする、例えば、エンジン・駆動系のサブネットワーク、故障診断系のサブネットワーク、情報系のサブネットワーク、ボディ系のサブネットワーク、などが接続されている。これらの通信は、特に、ＣＡＮメッセージにより行なわれるのは通常である。なお、図３Ａの構成要素のそれぞれについては、詳説しない。
【００２４】
図３Ｂは、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０の概要を示す図である。図３Ｂは、車載ゲートウェイ３１０を構成するボード（あるいはチップ）に、どのような外部通信が接続されているかを示している。
【００２５】
大別して、ＣＡＮメッセージによるＣＡＮ接続３１１、車載カメラや路車間通信などからのイーサネット（登録商標）通信接続、ＰＣやタブレットなどとのＷｉ−Ｆｉ(Wireless-Fidelity)接続、外部通信機器からの基地局を介した３Ｇ通信接続、などが含まれる。本実施形態においては、ＩＰアドレスを用いないメッセージ通信の車載ゲートウェイ３１０による制御である。
【００２６】
《車載ゲートウェイの概要》
図４Ａ〜図６を参照して、本実施形態の通信処理装置としての車載ゲートウェイ３１０の構成および動作の概要を説明する。
【００２７】
（動作概要）
図４Ａは、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０のログ収集処理および正常状態確立処理の概要を示す図である。
【００２８】
車載ゲートウェイ３１０には、本実施形態に関連する機能として、ＣＡＮログ収集処理、自己学習型異常検出処理（ＡＳＩ:Automated Security Intelligence)、スイッチング処理（オープンフローコントローラおよびオープンフロースイッチ）、および、ＵＩ(User Interface)表示制御処理、が含まれている。
【００２９】
図４Ａは、正常なＣＡＮ通信が行なわれている場合を示している。ステップＳ４０１におけるＣＡＮログ収集処理では、ＣＡＮのDATA Frame とREMOTE Frame について、ＮＴＰ(Network Time Protocol)時刻情報とＣＡＮメッセージのＣＡＮＩＤ(CAN Identifier)およびＲＴＲ(Remote Transmission request)のbit情報を付与して記録する。ステップＳ４０２の自己学習型異常検出処理では、ＣＡＮフレームをＡＳＩが検査して正常状態を確立する。すなわち、自己学習型異常検出処理（ＡＳＩ）においては、正常状態におけるＣＡＮメッセージを収集してその集合から、ある時点の、あるいは、時系列の、正常状態のメッセージパターンを生成する。この正常状態のメッセージパターンと、受信されたＣＡＮメッセージの順序やタイミングや内容などを比較して、正常状態のメッセージパターンと所定の閾値以上にずれている場合や、ずれは少ないが異常に繋がる恐れのある場合などを、異常状態として判定するために使用される。
【００３０】
図４Ｂは、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０のログ収集処理および異常検出処理を示す図である。
【００３１】
図４Ｂは、異常なＣＡＮ通信が見付かった場合を示している。なお、異常なＣＡＮメッセージは、ある１つのＣＡＮメッセージの異常に留まらず、複数のＣＡＮメッセージの関係や異常に繋がると予想される状態も含む。ステップＳ４１２の自己学習型異常検出処理では、ＣＡＮフレームをＡＳＩが検査して確立された正常状態との比較から異常状態を判定する。すなわち、自己学習型異常検出処理（ＡＳＩ）においては、正常状態のメッセージパターンと、受信されたＣＡＮメッセージの順序やタイミングや内容などを比較する。そして、正常状態のメッセージパターンと所定の閾値以上にずれている場合や、ずれは少ないが異常に繋がる恐れのある場合などを、異常状態として判定する。そして、異常を検出した場合には、その異常が致命的な故障に繋がらないように、以降のＣＡＮメッセージの監視を、全ての仮想スイッチで行なうか／選択された仮想スイッチで行なうかなどを含めて、スイッチング処理（オープンフローコントローラおよびオープンフロースイッチ）に対して指示する。
【００３２】
ＣＡＮメッセージの監視を指示されたスイッチング処理のオープンフローコントローラは、ステップＳ４１３において、不正メッセージの通信を警告する。また、オープンフローコントローラは、オープンフロープロトコルに従って、ＣＡＮメッセージを監視して以後の経路を制御する監視用データを含むフローテーブルを生成してオープンフロースイッチに対して設定する。オープンフロースイッチは、ステップＳ４１４において、オープンフローコントローラから設定されたフローテーブルに従って、ＣＡＮメッセージのデータを監視用データにより監視して不正メッセージか否かを判定する。不正メッセージを受信したと判定した場合には、その不正メッセージを自己学習型異常検出処理に通知すると共に、ステップＳ４１５において、ＵＩ表示制御処理によって異常内容を運転手に提示する。
【００３３】
《車載ゲートウェイの機能構成》
図５は、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０の機能構成を示す図である。
【００３４】
車載ゲートウェイ３１０は、仮想ネットワーク部５０１と、通信ログ収集部５０２と、自己学習型異常検出処理部５０３と、異常情報収集部５０４と、異常情報表示指示部５０５と、を備える。
【００３５】
仮想ネットワーク部５０１は、仮想ネットワークコントローラ５１１と、仮想ネットワークスイッチ５１２とを有し、車載通信ネットワークを伝送されるメッセージの経路をソフトウェアにより制御する。通信ログ収集部５０２は、仮想ネットワークスイッチ５１２を通過するメッセージ、本例ではＣＡＮメッセージを通信ログとして収集する。なお、ＣＡＮメッセージの収集も、仮想ネットワークスイッチ５１２におけるフローテーブルの設定により簡単の通信ログ収集部５０２に転送することができる。
【００３６】
自己学習型異常検出処理部５０３は、通信ログ学習部５３１と、通信ログデータベース５３２と、異常処理設定部５３３と、を有する。通信ログ学習部５３１は、通信ログデータベース５３２に収集されたＣＡＮ通信ログに基づいて、正常状態を確立すると共に、正常状態に基づいて異常状態あるいは異常予兆状態を判定する。異常処理設定部５３３は、通信ログ学習部５３１における通信ログの分析で異常が発生した、あるいは、異常が発生しそうな場合に、観察すべきＣＡＮメッセージを仮想ネットワークスイッチ５１２に監視させるべく、仮想ネットワークコントローラ５１１に指示する。
【００３７】
異常情報収集部５０４は、仮想ネットワークスイッチ５１２がＣＡＮメッセージの監視により、異常があると判定した場合の異常情報を収集する。なお、異常情報の収集は、仮想ネットワークスイッチ５１２から直接であっても、仮想ネットワークコントローラ５１１を経由したものであってもよい。異常情報表示指示部５０５は、異常処理設定部５３３からの異常予測、あるいは、異常情報収集部５０４からの異常情報を表示するように、例えばカーナビゲーションなどの、異常報知装置に指示する。
【００３８】
（動作シーケンス）
図６は、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０の動作手順を示すシーケンス図である。
【００３９】
仮想ネットワークスイッチ５１２は、ステップＳ６０１において、ＣＡＮメッセージを受信し、通信ログ収集部５０２を介して、ＡＳＩ５０３に送信する。なお、破線は仮想ネットワークコントローラ５１１に通知してもよいことを示している。ＡＳＩ５０３は、ステップＳ６０３において、ログ情報を蓄積する。そして、ＡＳＩ５０３は、ステップＳ６０５において、蓄積されたログ情報を参照して、正常状態におけるＣＡＮメッセージの内容を確立する。
【００４０】
仮想ネットワークスイッチ５１２は、ステップＳ６１１において、ＣＡＮメッセージを受信し、通信ログ収集部５０２を介して、ＡＳＩ５０３に送信する。ＡＳＩ５０３は、ステップＳ６１３において、ログ情報を蓄積する。そして、ＡＳＩ５０３は、ステップＳ６１５において、収集したＣＡＮメッセージに正常状態との相違があるかを判定する。
【００４１】
正常状態との相違により異常状態、あるいは、異常予兆があると判定した場合、ＡＳＩ５０３は、ステップＳ６１７において、異常動作を判定するための処理を仮想ネットワーク部５０１が実施するように指示する。仮想ネットワークコントローラ５１１は、ステップＳ６１９において、異常動作を判定するためのフローテーブルを生成して、仮想ネットワークスイッチ５１２に送る。仮想ネットワークスイッチ５１２は、ステップＳ６２１において、異常動作を判定するためのフローテーブルを設定する。
【００４２】
仮想ネットワークスイッチ５１２は、ステップＳ６３１において、ＣＡＮメッセージを受信する。仮想ネットワークスイッチ５１２は、ステップＳ６３３において、フローテーブルの設定により、ＣＡＮメッセージの内容を検査して正常か異常かを判定する。正常の場合は、ステップＳ６０１やＳ６１１のように、受信したＣＡＮメッセージを通常の処理により通信ログ収集部５０２を介して、ＡＳＩ５０３に送信する。一方、異常の判定があれば、仮想ネットワークスイッチ５１２は、ステップＳ６３５において、異常情報を含むログ情報をＡＳＩ５０３に送信する共に、図示しない異常情報収集部５０４に送信する。
【００４３】
（自己学習型異常検出処理部の機能構成）
図７Ａは、本実施形態に係る自己学習型異常検出処理部５０３の機能構成を示す図である。なお、図７Ａにおいて、図５と同様の構成要素には同じ参照番号を付して、重複する説明を省略する。
【００４４】
自己学習型異常検出処理部５０３は、通信制御部７０１と、通信ログ受信部７０２と、通信ログ学習部５３１に含まれる通信ログ解析部７０３と、異常判定部７０５と、を備える。通信制御部７０１は、通信ログ収集部５０２からの通信ログの受信、および、仮想ネットワーク部５０１や異常情報表示指示部５０５への情報の送信、を制御する。通信ログ受信部７０２は、通信制御部７０１を介して通信ログ収集部５０２から通信ログを受信する。
【００４５】
通信ログ解析部７０３は、通信ログデータベース５３２に蓄積された通信ログを解析して、本実施形態においては、異常判定用のデータを生成して異常判定用データベース７０４に格納する。異常判定用データベース７０４は、異常判定部７０５が通信ログのＣＡＮメッセージに異常があるか否かを判定するための異常判定用データ、および、異常と判定した場合の処理を格納する。異常判定部７０５は、異常判定用データベース７０４に格納された異常判定用データに基づいてＣＡＮメッセージの異常を判定すると共に、異常と判定された場合に、異常判定用データベース７０４に格納された異常処理データに基づいて、異常処理設定部５３３に異常判定後の処理を選定する。
【００４６】
（通信ログデータベース）
図７Ｂは、本実施形態に係る通信ログデータベース５３２の構成を示す図である。通信ログデータベース５３２は、仮想ネットワークスイッチ５１２から通信ログ収集部５０２を介して受信さえた、通信ログを蓄積するために使用される。
【００４７】
通信ログデータベース５３２は、ＣＡＮメッセージの受信時刻７１１と、ＣＡＮＩＤ７１２と、フレーム種類７１３と、フレームデータ７１４と，を格納する。受信時刻７１１は、一般的なＮＴＰで得られる時刻情報とする。ＣＡＮＩＤ７１２は、ＣＡＮメッセージのArbitration FieldのIdentifierから得られる。また、フレーム種類７１３は、ＲＴＲのビットから得られる。また、図７Ｂでは、フレームデータ７１４として標準フォーマットを示したが、拡張フォーマットであってもよい。
【００４８】
（異常判定データベース）
図７Ｃは、本実施形態に係る異常判定用データベース７０４の構成を示す図である。異常判定用データベース７０４は、異常判定部７０５により、ＣＡＮメッセージの異常を判定する異常判定テーブル７２０と、その判定結果から処理を選択するために使用される異常処理テーブル７３０とを有する。
【００４９】
異常判定テーブル７２０は、メッセージ種類（内容や送信元、送信先を含む）７２１に対応して、何を判定するかの判定内容ＩＤ７２２と、その場合の正常状態７２３と、異常判定条件７２４と、を記憶する。正常状態７２３の情報には、例えば、メッセージ内容、メッセージ履歴、他メッセージとの関係（タイミングなど）、などが含まれる。異常判定条件７２４には、相違点、同一点、それらを勘案した異常可能性などの基準などが含まれる。
【００５０】
異常処理テーブル７３０は、異常と判定された異常判定ＩＤ７３１に対応付けて、異常判定結果７３２、異常種類７３３、異常発生予測（予兆）７３４、そして、異常判定情報７３５を記憶する。異常種類７３３としては、例えば、ＣＡＮメッセージのタイミングのずれ、所定時間に伝送されるデータ量の多さ、ＣＡＮメッセージの宛先ミス、などが含まれる。さらに、ＣＡＮメッセージのプロトコルに従う順序が標準と異なるなども含まれる。異常判定情報７３５には、異常判定用データと共に、異常種類などの対応する異常判定後の処理が記憶される。例えば、異常判定後の処理には、ＣＡＮメッセージの送信遮断、伝送ルートの変更、他のメッセージの判定、などが含まれる。伝送ルートの変更には、ＡＳＩ５０３や異常情報表示指示部５０５への伝送も含まれる。
【００５１】
（仮想ネットワークコントローラの機能構成）
図８Ａは、本実施形態に係る仮想ネットワークコントローラ５１１の機能構成を示す図である。
【００５２】
仮想ネットワークコントローラ５１１は、通信制御部８０１と、異常判定情報取得部８０２と、異常判定処理フルーテーブル生成部８０３と、オープンフロー制御部８０４と、新規ルーティング生成部８０５と、オプションとして、異常情報受信部８０６と、異常情報送信部８０７と、を備える。
【００５３】
通信制御部８０１は、ＡＳＩ５０３の異常処理設定部５３３、および、異常情報収集部５０４との通信を制御する。異常判定情報取得部８０２は、異常処理設定部５３３から異常判定情報を取得する。異常判定処理フルーテーブル生成部８０３は、フローテーブル生成テーブル８３１を有し、異常判定情報に基づいて仮想ネットワークスイッチ５１２に設定すべきフローテーブルを生成する。なお、本来は異常でない場合のフローテーブルの設定も行なうが、図８Ａでは省略されている。
【００５４】
オープンフロー制御部８０４は、仮想ネットワークスイッチ５１２とのコマンドやデータのやり取りを制御する。新規ルーティング生成部８０５は、仮想ネットワークスイッチ５１２に設定されたフローテーブルに合致しないＣＡＮメッセージを受信して、新規なルーティングを生成する。異常情報受信部８０６は、仮想ネットワークスイッチ５１２から異常情報を受信し、異常情報送信部８０７は、異常情報収集部５０４に送信する。
【００５５】
（フローテーブル生成テーブル）
図８Ｂは、本実施形態に係るフローテーブル生成テーブル８３１の構成を示す図である。フローテーブル生成テーブル８３１は、異常判定情報に含まれる異常判定結果の情報と、異常判定に基づいて今後どの処理（監視）を行なうかの情報とに基づいて、ＣＡＮメッセージの内容を監視する設定データを含む適正なフローテーブルを生成するために使用される。
【００５６】
フローテーブル生成テーブル８３１は、フローテーブルＩＤ８１１に対応付けて、生成するフローテーブルデータ８１２を記憶する。フローテーブルデータ８１２には、ＣＡＮＩＤに対して、アクション情報として、異常判定データ、異常時の処理、異常ＣＡＮメッセージの送信先などが記憶される。このフローテーブルが設定された場合に、ＣＡＮＩＤによって監視すべきＣＡＮメッセージであることが分かると、ＣＡＮメッセージのデータの観察が必要な少なくとも一部と、異常判定データとを比較して合致するか否かを判定する。合致すればＣＡＮメッセージに異常あり、あるいは、異常に繋がる恐れがあるとして、異常時の処理を実行する。そして、異常ＣＡＮメッセージを送るべき送信先があればそれを設定する。
【００５７】
（仮想ネットワークスイッチの機能構成）
図９Ａは、本実施形態に係る仮想ネットワークスイッチ５１２の機能構成を示す図である。
【００５８】
仮想ネットワークスイッチ５１２は、オープンフロー制御部９０１と、フローテーブル格納部９０２と、メッセージ判定部９０３と、オープンフロースイッチ部９０４と、異常判定部９０５と、異常処理実行部９０６と、正常メッセージ送信部９０７と、を備える。
【００５９】
オープンフロー制御部９０１は、仮想ネットワークコントローラ５１１とのコマンドおよびデータのやり取りを制御する。フローテーブル格納部９０２は、仮想ネットワークコントローラ５１１から送信されたフローテーブルを格納する。メッセージ判定部９０３は、ＣＡＮメッセージに含まれるＣＡＮＩＤをフローテーブルに設定されたＣＡＮＩＤと比較して、監視すべきＣＡＮメッセージか否かを判定する。フローテーブル格納部９０２に対応するフローテーブルが無ければ、仮想ネットワークコントローラ５１１に送って再ルーティングを要請する。オープンフロースイッチ部９０４は、ＣＡＮメッセージの送受信をスイッチングする。
【００６０】
異常判定部９０５は、監視すべきＣＡＮメッセージである場合に、フローテーブルの異常判定テーブルとＣＡＮメッセージの少なくとも一部を比較して合致するか否かを判定する。なお、判定方法は判定領域全体をシフトしながら同じデータパターンがあるかを判定する方法や、決められた領域を比較する方法などが含まれる。異常処理実行部９０６は、異常判定部９０５の判定の結果、異常があると判定された場合に、フローテーブルの異常時の処理や送信先などに基づいて、異常時の処理を実行する。正常メッセージ送信部９０７は、異常判定部９０５が正常であると判定した場合に、そのＣＡＮメッセージに対して通常の送信を行なう。
【００６１】
（フローテーブル格納部）
図９Ｂは、本発明の第２実施形態に係るフローテーブル格納部９０２の構成を示す図である。フローテーブル格納部９０２にはフローテーブルが格納されて、受信した各ＣＡＮメッセージに対して、仮想ネットワークスイッチ５１２によるスイッチングを判定するために使用される。
【００６２】
フローテーブル格納部９０２は、フローテーブルＩＤ９１１に対応付けて、フローテーブルデータとなるＣＡＮＩＤ９１２とアクション情報９１３と、使用されないフローテーブルを削除する削除用タイマ９１４と、を格納する。なお、フローテーブルデータの構成は、図８Ｂのフローテーブルデータ８１２と同様であるので、重複する説明を省略する。
【００６３】
《車載ゲートウェイの処理手順》
図１０は、本実施形態に係る通信処理装置としての車載ゲートウェイ３１０の処理手順を示すフローチャートである。このグローチャートは、車載ゲートウェイ３１０のプロセッサがメモリを使用して実行し、図５に機能構成部を実現する。なお、車載ゲートウェイ３１０を構成する機能構成部が単独でプロセッサを有する構成であってもよく、その場合には各機能構成部のプロセッサにより実行される。ただし、以下の説明では説明が煩雑になるので、車載ゲートウェイ３１０が実行主体として説明する。
【００６４】
車載ゲートウェイ３１０は、ステップＳ１００１において、ＣＡＮログ収集処理を実行する。車載ゲートウェイ３１０は、ステップＳ１００３において、正常状態確立処理を実行する。車載ゲートウェイ３１０は、ステップＳ１００５において、異常判定処理を実行する。車載ゲートウェイ３１０は、ステップＳ１００７において、処理の終了か否かを判定して、終了でなければステップＳ１００１に戻って、処理を継続する。
【００６５】
（ログ収集処理）
図１１Ａは、本実施形態に係るログ収集処理（Ｓ１００１）の手順を示すフローチャートである。
【００６６】
車載ゲートウェイ３１０は、ステップＳ１１１１において、ＥＣＵ(Electronic Control Unit)からのＣＡＮメッセージの受信を待つ。ＣＡＮメッセージの受信があれば、車載ゲートウェイ３１０は、ステップＳ１１１３において、ＣＡＮログ収集部でＣＡＮメッセージをキャプチャする。そして、車載ゲートウェイ３１０は、ステップＳ１１１５において、ＣＡＮログ収集部がＡＳＩにＣＡＮログを送信する。
【００６７】
（正常状態確立処理）
図１１Ｂは、本実施形態に係る正常状態確立処理（Ｓ１００３）の手順を示すフローチャートである。
【００６８】
車載ゲートウェイ３１０は、ステップＳ１１２１において、ＣＡＮログ収集部からのログ送信を待つ。ＣＡＮログ収集部からのログ送信があれば、車載ゲートウェイ３１０は、ステップＳ１１２３において、機械学習により正常状態を確立する。
【００６９】
（異常判定処理）
図１１Ｃは、本実施形態に係る異常判定処理（Ｓ１００５）の手順を示すフローチャートである。
【００７０】
車載ゲートウェイ３１０は、ステップＳ１１３１において、ＣＡＮログ収集部からのログ送信を待つ。ＣＡＮログ収集部からのログ送信があれば、車載ゲートウェイ３１０は、ステップＳ１１３３において、異常を認識したか否かを判定する。異常を認識した場合、車載ゲートウェイ３１０は、ステップＳ１１３５において、仮想ネットワークコントローラ５１１に対して異常の発生を連絡すると共に、ＣＡＮメッセージを監視するための情報を送信する。一方、異常を認識しなかった場合、車載ゲートウェイ３１０は、ステップＳ１１３７において、機械学習による正常状態を更新する処理を行なう。
【００７１】
（仮想ネットワークの手順）
図１２は、本実施形態に係る異常判定処理（Ｓ１００５）における仮想ネットワークの手順を示すフローチャートである。
【００７２】
仮想ネットワークコントローラ５１１は、ステップＳ１２１１において、ＡＳＩからの異常の連絡を待つ。異常の連絡があれば、仮想ネットワークコントローラ５１１は、ステップＳ１２１３において、対応するフローテーブルを生成して仮想ネットワークスイッチ５１２に送信する。そして、仮想ネットワークコントローラ５１１は、ステップＳ１２１５において、ＵＩ表示制御部に異常の表示を連絡する。
【００７３】
仮想ネットワークスイッチ５１２は、ステップＳ１２２１において、仮想ネットワークコントローラ５１１からの異常判定処理のフローテーブルを待つ。仮想ネットワークコントローラ５１１がステップＳ１２１３において送信したフローテーブルを受信すると、仮想ネットワークスイッチ５１２は、ステップＳ１２２３において、フローテーブルを更新して、異常判定によるスイッチング制御を開始する。
【００７４】
本実施形態によれば、車載ゲートウェイにおいて、収集されたＣＡＮメッセージの正常状態の確立に伴って設定された設定データと、ＣＡＮメッセージのデータとの比較に基づいてＣＡＮメッセージの伝送を仮想スイッチにおいてスイッチング制御するので、異常あるいは異常予兆を迅速および正確に判定し、適正な処理を行なうことができる。
【００７５】
［第３実施形態］
次に、本発明の第３実施形態に係る通信処理装置を含む車載用の通信処理システムについて説明する。本実施形態に係る通信処理装置を含む車載用の通信処理システムは、上記第２実施形態がメッセージに対する制御をそれぞれ単独に行なっていたのと比較して、対象のメッセージに関連するメッセージや異常あるいは異常予兆に関連するメッセージを含む複数のメッセージについて、それぞれの設定データに基づいて各スイッチングを制御する点で異なる。すなわち、本実施形態においては、正常な受信メッセージまたは異常な受信メッセージの履歴に関連して、複数の仮想スイッチに複数の前記設定データを設定する。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【００７６】
（異常判定テーブル）
図１３は、本実施形態に係る異常判定用データベース７０４の異常処理テーブル１３３０の構成を示す図である。なお、図１３において、図７Ｃと同様の構成要素には同じ参照番号を付して、重複する説明を省略する。
【００７７】
異常判定情報１３３５は、それぞれの異常判定ＩＤ７３１に対して複数あり、あるＣＡＮメッセージの異常に対応して、複数の処理を組み合わせることにより、より迅速な、かつ、異常の拡大を未然に防ぐことができる。
【００７８】
（仮想ネットワークの手順）
図１４は、本実施形態に係る異常判定処理（Ｓ１００５）における仮想ネットワークの手順を示すフローチャートである。図１４において、図１２と同様のステップには同じステップ番号を付して、重複する説明を省略する。
【００７９】
ＡＳＩから異常の連絡があれば、仮想ネットワークコントローラ５１１は、ステップＳ１４１３において、複数のＣＡＮメッセージに対応する複数種類のフローテーブルを生成して、それぞれの仮想ネットワークスイッチ５１２に送信する。
【００８０】
本実施形態によれば、車載用の通信処理システムにおける複雑なメッセージ発生や伝送を総体的に解析した結果からメッセージ間の関連を考慮した異常判定あるいは異常予兆判定ができる。
【００８１】
［他の実施形態］
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【００８２】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する通信処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷ(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体（non-transitory computer readable medium）は本発明の範疇に含まれる。
【図１】
2017184052.tif 000003
【図２】
2017184052.tif 000004
【図３Ａ】
2017184052.tif 000005
【図３Ｂ】
2017184052.tif 000006
【図４Ａ】
2017184052.tif 000007
【図４Ｂ】
2017184052.tif 000008
【図５】
2017184052.tif 000009
【図６】
2017184052.tif 000010
【図７Ａ】
2017184052.tif 000011
【図７Ｂ】
2017184052.tif 000012
【図７Ｃ】
2017184052.tif 000013
【図８Ａ】
2017184052.tif 000014
【図８Ｂ】
2017184052.tif 000015
【図９Ａ】
2017184052.tif 000016
【図９Ｂ】
2017184052.tif 000017
【図１０】
2017184052.tif 000018
【図１１Ａ】
2017184052.tif 000019
【図１１Ｂ】
2017184052.tif 000020
【図１１Ｃ】
2017184052.tif 000021
【図１２】
2017184052.tif 000022
【図１３】
2017184052.tif 000023
【図１４】
2017184052.tif 000024