(57)【要約】      （修正有）【課題】移動体の置かれた状態に応じて移動体内のネットワークの通信フローの動的な経路選択を可能とするネットワーク制御方法及び装置を提供する。【解決手段】移動体に搭載されるネットワークにおいて移動体の状態別に通信フローの情報を予め記憶部１１に記憶しておき、移動体の状態を検出し、記憶部１１を参照して、検出した状態に対応する少なくとも一つの通信フローを選択し、選択した通信フローの複数の経路の中から各経路のコストの計算結果に基づき少なくとも一つの経路を決定する。【選択図】図１２
2020120225.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載されるネットワークに関して前記移動体の状態別に通信フローの情報を予め記憶する記憶部と、
前記移動体の状態を検出する状態検出部と、
前記記憶部を参照して、前記移動体の状態に対応する少なくとも一つの通信フローを選択する通信フロー選択部と、
選択された前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する経路決定部と、
を備えたことを特徴とするネットワーク制御装置。
【請求項２】
前記経路決定部は、前記状態検出部による前記移動体の状態の変化の検出に応答して、変化した状態に対応する通信フローの経路を決定する、ことを特徴とする請求項１に記載のネットワーク制御装置。
【請求項３】
前記記憶部には、前記移動体の状態別に通信フローのコスト情報が設定されており、
前記通信フロー選択部は、前記通信フローの前記コスト情報を優先度として、前記優先度の高い通信フローから順に、前記移動体の前記状態に対応する通信フローを選択する、ことを特徴とする請求項２に記載のネットワーク制御装置。
【請求項４】
前記経路決定部は、選択された前記通信フローに対して前記状態に対応して設定された前記コスト情報を、前記通信フローの各経路のコストの計算に用いる、ことを特徴とする請求項３に記載のネットワーク制御装置。
【請求項５】
前記経路決定部は、前記経路が決定済みの前記通信フローのコストを、前記経路を含み前記状態に対応する他の通信フローの経路のコストに加算する、ことを特徴とする請求項３又は４に記載のネットワーク制御装置。
【請求項６】
前記経路決定部は、選択された前記通信フローに関して主経路を決定し、続いて前記通信フローの副経路を決定する、ことを特徴とする請求項１乃至５のいずれか１項に記載のネットワーク制御装置。
【請求項７】
前記状態検出部は、
前記移動体の移動の有無、
前記移動体の周辺環境、
前記移動体の操作モード、
前記操作の内容、
のいずれか１つ又は複数の組み合わせに基づき、前記移動体の状態を決定する、ことを特徴とする請求項１乃至６のいずれか１項に記載のネットワーク制御装置。
【請求項８】
前記通信フローの各経路のコスト計算を予め完了させておき、
前記経路決定部は、前記移動体の状態が変化した際、変化した状態に対応する通信フローに関して、コスト計算が完了済みの経路計算結果を参照して、経路を決定する、ことを特徴とする請求項１乃至７のいずれか１項に記載のネットワーク制御装置。
【請求項９】
移動体に搭載されるネットワークに関して前記移動体の状態別に通信フローの情報を予め記憶部に記憶しておき、
前記移動体の状態を検出し、
前記記憶部を参照して、検出した状態に対応する少なくとも一つの通信フローを選択し、
選択した前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する、ことを特徴とするネットワーク制御方法。
【請求項１０】
移動体の状態を検出する処理と、
前記移動体に搭載されるネットワークに関して前記移動体の状態別に通信フローの情報を予め記憶している記憶部を参照して、検出した状態に対応する少なくとも一つの通信フローを選択する処理と、
選択した前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク制御装置及び方法とプログラムに関する。
【背景技術】
【０００２】
自動車、車両、船舶、航空機等の移動体において、ＥＣＵ(Electronic Control Unit）とセンサデバイス等、各種機器を接続する通信ネットワークとして、例えば高帯域化やクラウド接続等の観点からイーサネット（Ｅｔｈｅｒｎｅｔ：登録商標）を具備する事例が増加している。車載イーサネットでは、例えば通信速度１Ｇｂｐｓ（Giga bit per second）の１０００ＢＡＳＥ−Ｔ１や１００Ｍｂｐｓ（Mega bit per second）の１００ＢＡＳＥ−Ｔ１等も利用されている。
【０００３】
移動体のうち自動車では、自動運転技術の向上等により、各種センサデバイスのデータ量は増大する傾向にある。
【０００４】
また、ネットワーク上に流れるデータの遅延や欠落等により、移動体の制御が正常に行われず、搭乗者等に被害が出ることを未然に防ぐため、特に重要なデータは、通信経路の多重化（冗長化）等により信頼度を向上させることが求められる。
【０００５】
イーサネット上のＩＰ（Internet Protocol）ネットワークのルーティング・プロトコルの一つであるＯＳＰＦ（Open Shortest Path First）では、ルータやレイヤ３スイッチのポートに設定したコスト値を使って最適な経路を判断する。そして、最適な経路（主経路）で障害が起こったときは副経路に切り替える。なお、特許文献１には、ＯＳＰＦ  ＥＣＭ(Open Shortest Path First Equal Cost Multi path)やＭＰＬＳ  ＴＥ(Multi Protocol Label Switching Traffic Engineering）では、各端末のトラヒックの受信状況に応じた制御は困難であるという問題点が指摘され、主経路、副経路のマルチパス経路を含むネットワーク内の状態変化により、トラヒックを主経路中で廃棄するような事象が発生しても副経路中のトラヒックを用いてトラヒック全体を迅速に復元させ、受信端末のトラヒックの受信性能を向上できるようにした構成が開示されている。
【０００６】
また、ＩＰネットワークのルーティング・プロトコルの１つであるＲＩＰ（Routing Information Protocol）では、メトリック（ホップ（hop）数）がより少ない経路情報を最適経路として使用する。ＲＩＰ等において、ホップ（hop）数は、ネットワーク層（ＯＳＩ(Open System Interconnection）参照モデルにおける７階層の内の第３層）上で経路選択（ルーティング）機能を有する機器（ルータなど）を通過する回数のことを指し、データリンク層や物理層（ＯＳＩ参照モデルにおける７階層の内の第２層や第１層）のレベルで転送や中継を行う機器（リピータ、ブリッジ、レイヤ２スイッチ等）は、カウントしない。
【０００７】
上記のように、ＩＰフローの経路を決める際、送信元あるいは、ネットワーク分岐点から宛先ノードに到達するまでに複数のルートが存在する場合、ホップ数や、ノード間をつなぐリンク（回線）の回線速度（ポート間の通信速度）を数値化することで、最も良い経路を選択している。また、冗長経路を決定する際も、主経路を決定したうえで、副経路の決定にあたり、ホップ（hop）数や回線速度を、主経路と同様に数値化し、最も良い経路を副経路として選択することとなる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第５４１８９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以下に関連技術の分析を与える。
【００１０】
前述の特許文献１にも記載されているように、ＯＳＰＦ  ＥＣＭでは、リンクコストに従いマルチパス経路を静的に生成している。また、ＭＰＬＳ  ＴＥでは、ネットワークトポロジー、リンクコスト、リンクに流れているトラヒック量に従い、マルチパス経路を動的に生成しているが、ネットワークの途中のノードからマルチパスを生成することができず、各端末のトラヒックの受信状況に応じた制御は困難である。
【００１１】
移動体の状態や移動体が置かれた環境、移動体での操作（手動、自動、半自動操作）等により、車載ネットワーク等移動体内のネットワーク上を流れるデータや経路の特性が変化する場合がある。このため、ホップ数やノード間のリンクの回線速度に基づき、フローの経路を決めるだけでは、フローにとって必ずしも最適な経路がとられるとは限らない。
【００１２】
なお、特許文献１には、移動体の状態（例えば移動の有無、走行状態、移動体の置かれた環境、移動体で為された操作のモードや操作内容等のいずれか又は組み合わせ）に応じて移動体内のネットワークを流れる通信フローの動的な経路選択を可能とするという課題の認識は記載されていない（また、該課題を解決できると当業者が認識できる程度に具体例又は説明はいっさい記載されていない）。
【００１３】
移動体の置かれた環境や状態に応じて移動体内のネットワークを流れる通信フローの動的な経路選択の実現が望まれる（本発明者による知見）。
【００１４】
本発明は、上記課題の認識に基づき創案されたものであって、その目的は、移動体の状態に応じて、移動体に搭載されたネットワークの通信フローの動的な経路選択を可能とするネットワーク制御装置、方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の一つの形態によれば、移動体に搭載されるネットワークに関して前記移動体の状態別に通信フローの情報を予め記憶する記憶部と、
前記移動体の状態を取得し、前記記憶部を参照して、取得した状態に対応する少なくとも一つの通信フローを選択する通信フロー選択部と、
選択された前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する経路決定部を備えた、ことを特徴とするネットワーク制御装置が提供される。
【００１６】
本発明の他の一つの形態によれば、移動体に搭載されるネットワークに関して前記移動体の状態別に通信フローの情報を予め記憶部に記憶しておき、
前記移動体の状態を取得し、
前記記憶部を参照して、取得した状態に対応する少なくとも一つの通信フローを選択し、
選択した前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する、ネットワーク制御方法が提供される。
【００１７】
本発明のさらに他の一つの形態によれば、移動体の状態を取得する処理と、
前記移動体に搭載されるネットワークに関して前記移動体の状態別に通信フローの情報を予め記憶している記憶部を参照して、取得した状態に対応する少なくとも一つの通信フローを選択する処理と、
選択した前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する処理と、をコンピュータに実行させるプログラムが提供される。
【００１８】
本発明のさらに他の形態によれば、上記プログラムを記憶したコンピュータ読み出し可能な記録媒体（（例えばＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory)、又は、EEPROM(Electrically Erasable and Programmable ROM））等の半導体ストレージ、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等のnon-transitory computer readable recording medium）が提供される。
【発明の効果】
【００１９】
本発明によれば、例えば移動体の状態に応じて移動体内のネットワークを流れる通信フローの動的な経路選択を可能としている。
【図面の簡単な説明】
【００２０】
【図１】本発明の例示的な実施形態を説明する図である。
【図２】本発明の例示的な実施形態を説明する図である。
【図３】本発明の例示的な実施形態を説明する図である。
【図４】本発明の例示的な実施形態の具体例１を説明する図である。
【図５】本発明の例示的な実施形態の状態別データフローコスト、経路コストを説明する図である。
【図６】本発明の例示的な実施形態の主経路計算結果を説明する図である。
【図７】本発明の例示的な実施形態の副経路計算結果を説明する図である。
【図８】本発明の例示的な実施形態の具体例２を説明する図である。
【図９】本発明の例示的な実施形態の状態別データフローコスト、経路コストを説明する図である。
【図１０】本発明の例示的な実施形態の主経路計算結果を説明する図である。
【図１１】本発明の例示的な実施形態の副経路計算結果を説明する図である。
【図１２】本発明の例示的な実施形態を説明する図である。
【図１３】本発明の例示的な実施形態においてコンピュータ実装例を説明する図である。
【発明を実施するための形態】
【００２１】
以下では、はじめに本発明の基本形態を説明し、つづいて例示的な実施形態について以下に説明する。図１２は、本発明の基本的な一形態のネットワーク制御方法を説明する図である。このネットワーク制御方法は、例えば、移動体に搭載されるネットワークに接続されるネットワーク制御装置（コントローラ（プロセッサ））で実行するようにしてもよい。
【００２２】
移動体に搭載されるネットワークに関して、記憶部１１に、移動体の状態別に通信フローの情報（状態別通信フロー情報）を記憶しておく。
【００２３】
移動体の状態を検出する（ステップＳ１）。
【００２４】
次に、記憶部１１を参照して、検出した状態に対応する少なくとも一つの通信フローを選択する（ステップＳ２）。その際、検出した状態に対応する通信フローが複数ある場合、予め通信フローに設定された優先度等にしたがって所定の順番で通信フローを選択するようにしてもよい。あるいは、予め通信フローに設定されたコスト等にしたがって、所定の値以上のコストの通信フローを選択するようにしてもよい。
【００２５】
次に、選択した前記通信フローの複数の経路の中から各経路のコストの計算結果に基づき、少なくとも一つの経路を決定する（ステップＳ３）。
【００２６】
ステップＳ１では、移動体の状態の変化を検出し、ステップＳ２、３では、状態の変化の検出に応答して、変化した状態に対応する少なくとも一つの通信フローを選択し、該通信フローの経路を動的に決定するようにしてもよい。
【００２７】
記憶部１１には、前記状態別通信フロー情報として、移動体の状態別に通信フローのコスト情報を設定するようにしてもよい。
【００２８】
通信フローに対して状態別に設定されたコストについて、同じ値を、
ステップＳ２では、通信フローの選択時の優先度として用い、
ステップＳ３では、状態に対応して選択された通信フローの各経路のコスト計算に、コストとして用いる、ようにしてもよい。
【００２９】
すなわち、ステップＳ２において、通信フローのコスト情報を、該通信フロー優先度として扱い、前記取得した状態に対応する通信フローが複数ある場合、優先度の高い通信フローから順に選択するようにしてもよい。例えば、通信フローに設定されたコストが高いほど、該通信フローは高優先度となる。この場合、ステップＳ３において、選択された前記通信フローの経路のコストの計算に、選択された前記通信フローに対して該状態に対応して設定されたコスト情報（優先度）を含めるようにしてもよい。
【００３０】
ステップＳ３において、経路が決定済みの通信フローのコストを、前記状態に対応する他の通信フローにおいて、決定済みの前記経路を含む経路のコストに加算するようにしてもよい。
【００３１】
ステップＳ３において、選択された前記通信フローに関して主経路を決定し、続いて前記通信フローの副経路（冗長経路）を決定するようにしてもよい。
【００３２】
ステップＳ３において、前記状態に対応する通信フローの経路の決定にあたり、前記通信フロー自身のコストと、前記通信フローの前記経路が経由する中継ノード数（ホップ数）、中継ノード間の回線コスト、及び、前記経路が、前記状態に対応する他の通信フローの既に決定済みの経路を含む場合には、前記他の通信フローのコスト、に基づき、前記通信フローの前記経路のコストを計算し、合計コストが最小の経路を、前記通信フローの最適経路として決定するようにしてもよい。
【００３３】
例えば、前記状態に対応する通信フローの主経路の決定にあたり、前記通信フロー自身のコストと、前記通信フローの前記主経路が経由する中継ノード数、中継ノード間の回線コスト、及び、前記主経路が、前記状態に対応する他の通信フローの既に決定済みの主経路を含む場合には、前記他の通信フローのコスト、に基づき、前記通信フローの前記主経路のコストを計算するようにしてもよい。
【００３４】
また、前記状態に対応する通信フローの副経路の決定にあたり、前記通信フロー自身のコストと、前記通信フローの前記経路が経由する中継ノード数、中継ノード間の回線コスト、及び、前記副経路が、前記状態に対応する１又は複数の前記通信フローの既に決定済みの経路（主経路、副経路）を含む場合には、前記１又は複数の前記通信フローの合計コスト、に基づき、前記通信フローの前記副経路のコストを計算するようにしてもよい。
【００３５】
ステップＳ１において、例えば、
・移動体の移動の有無、
・移動体の周辺環境、
・移動体の操作モード、
・操作の内容、
のいずれか１つ又は複数の組み合わせに基づき、移動体の状態を決定するようにしてもよい。
【００３６】
前記通信フローの各経路のコスト計算を予め完了させておき、ステップＳ３において、前記移動体の状態が変化した際、前記状態に対応する通信フローに関して、コスト計算が完了済みの経路計算結果を参照して、経路を決定するようにしてもよい。この場合、例えば、サーバ、クラウド等で事前に前記通信フローの各経路のコスト計算を完了させておき、前記移動体の状態が変化した際、前記移動体がサーバ、クラウド等にアクセスしてコスト計算が完了済みの経路計算結果を取得し、前記状態に対応する通信フローの経路を決定するようにしてもよい。
【００３７】
前記記憶部に記憶される前記移動体の状態別に通信フローのコスト情報を可変に設定自在としてもよい。
【００３８】
ステップＳ２、３において、副経路に使用する通信フローを選択するにあたり、通信フローのコストが所定の閾値以上又は、所定の閾値以下の通信フローから副経路を決定するようにしてもよい。
【００３９】
検出された状態が移動体の故障等、予め定められた事態に該当する場合、優先度が所定の閾値以下の通信フローの通信を制限するようにしてもよい。
【００４０】
次に、図１を参照して、本発明の例示的な一実施形態を説明する。なお、図１では、一実施形態として、移動体を自動車（自家用車）とし、移動体に搭載されるネットワークとしてイーサネット（車載イーサネット）が例示されているが、移動体は自動車に制限されるものでなく、鉄道車両、船舶、航空機等であってよいことは勿論である。
【００４１】
図１を参照すると、センサ１（４０Ａ）は前方監視カメラ、センサ２（４０Ｂ）は左前方監視カメラ、センサ３（４０Ｃ）は後方監視カメラ、センサ４（４０Ｄ）は左後方監視カメラである。中継ノード１（３０Ａ）、中継ノード２（３０Ｂ）、中継ノード３（３０Ｃ）はイーサネットに接続するレイヤ２相当のスイッチあるいは、レイヤ３相当のスイッチ（ルータ）で構成される。以下では、単に説明の簡単のため、中継ノードをレイヤ２（データリンク層）のスイッチとして説明する。
【００４２】
各中継ノード１、２、３は、データリンク層でＭＡＣ（Media Access Control）アドレスに基づき、ポートから受信したフレームの宛先を判断して、該当するポートに転送を行う。
【００４３】
中継ノード１（３０Ａ）には、センサ１、２（４０Ａ、４０Ｂ）、中継ノード２、３（３０Ｂ、３０Ｃ）が接続されている。中継ノード２（３０Ｂ）には、ＥＣＵ２０、中継ノード１、３（３０Ａ、３０Ｃ）が接続されている。中継ノード３（３０Ｃ）には、センサ３、４（４０Ｃ、４０Ｄ）、中継ノード１、２（３０Ａ、３０Ｂ）が接続されている。
【００４４】
中継ノード１、２（３０Ａ、３０Ｂ）間のイーサネットリンク１（回線）の通信速度は１Ｇｂｐｓ、中継ノード１、３（３０Ａ、３０Ｃ）間のイーサネットリンク２、中継ノード２、３（３０Ｂ、３０Ｃ）間のイーサネットリンク３の通信速度は１００Ｍｂｐｓである。なお、図１では、単に図面の簡単のため、１つのＥＣＵが示されているが、車種等によっては一台で１００個以上のＥＣＵを車載する場合もある。
【００４５】
ネットワーク制御装置１０は、移動体の状態（例えば通信フロー等の切替えが必要な状態）に対応させて、状態別に、通信フローのコストを記憶装置（不図示）に保持する。送信元と宛先間の通信フローのコストは、該通信フローに含まれる各リンクの通信速度、経由する中継ノード数（ホップ数）に基づき設定される。なお、以下では、中継ノードがレイヤ２スイッチである場合にも、経由する中継ノード数をホップ数という。
【００４６】
ネットワーク制御装置１０は、各種センサ、ＥＣＵ、あるいは、ＧＰＳ（Global Positioning System）受信機等から情報を取得する。ネットワーク制御装置１０は、各種センサ、ＥＣＵ、あるいは、ＧＰＳ受信機等からの情報に基づき、車両（移動体）の現在の状態を導出する。
【００４７】
ネットワーク制御装置１０は、車載ネットワークにおいて送信元（例えばセンサ）と宛先（例えばＥＣＵ）間の通信フローのうち、車両の状態に対応した通信フローに対して、該通信フローに含まれる各リンクの通信速度、経由する中継ノード数（ホップ数）に基づきコストを計算し、経路の合計コストが最小の経路を最適経路として選択する。
【００４８】
例えば図１において、車両の変化後の状態に対応する通信フローが、センサ１からＥＣＵ２０間の通信フローに対応する場合、通信フローには、
経路１：センサ１−中継ノード１―中継ノード２−ＥＣＵ２０（リンク１の通信速度１Ｇｂｐｓ、ホップ数＝２）、
経路２：センサ１−中継ノード１―中継ノード３―中継ノード２−ＥＣＵ２０（リンク２、３の通信速度１００Ｍｂｐｓ、ホップ数＝３）が含まれる。  
【００４９】
ネットワーク制御装置１０では、経路１、経路２のうち、中継ノード間のリンクの通信速度（回線速度）、経由する中継ノード数（ホップ数）に基づくコスト計算の結果、経路１を選択する。
【００５０】
ネットワーク制御装置１０は、センサ１（４０Ａ）と、ＥＣＵ２０間の通信フローの経路１上の中継ノード１、２（３０Ａ、３０Ｂ）に対して、センサ１（４０Ａ）からのイーサネットフレームを受信すると、１Ｇｂｐｓのイーサネットインターフェース（ネットワークインタフェースカード（Network Interface: NIC）のポート）に転送するように、経路設定をそれぞれ実施する。
【００５１】
特に制限されないが、ネットワーク制御装置１０から各中継ノードに設定される経路設定情報は、例えば、ＯｐｅｎＦｌｏｗのフローエントリと同様、マッチ条件とアクションを含む構成としてもよい。例えば中継ノード１に設定される経路設定情報のマッチ条件は、送信元ＭＡＣアドレス：センサ１（４０Ａ）のＭＡＣアドレス、宛先ＭＡＣアドレス：ＥＣＵ２０のＭＡＣアドレスである。このマッチ条件と照合したときのアクションは、リンク１（１Ｇｂｐｓのイーサネット）に接続するポートへの転送となる。あるいは、各中継ノードに設定される経路設定情報は、ＭＡＣアドレスとポートの対応を規定したＭＡＣアドレステーブルに準拠するものであってもよい（この場合、中継ノードでは、レイヤ２スイッチで自律的に行われるＭＡＣアドレスの学習は行わない）。各中継ノードが、ネットワークの経路情報（ルーティングテーブル）を参照して宛先を決めるレイヤ３のスイッチの場合、マッチ条件は、例えば送信元ＩＰアドレスと宛先ＩＰアドレスとなり、マッチ条件と照合したときのアクションは、受信パケットを、宛先ＩＰアドレスに対応するネットワークに接続するインタフェース（ポート）に転送する動作となる（この場合、ネットワーク制御装置１０から経路設定情報が設定される中継ノード（レイヤ３スイッチ）では、車載ネットワークに関して、レイヤ３スイッチで自律的に行われるルーティングテーブルの更新等は行わなくてもよい）。
【００５２】
図２は、ネットワーク制御装置１０の構成の一例を模式的に例示する図である。ネットワーク制御装置１０は、後述されるように、メモリ（プログラムを記憶する）に接続されたプロセッサから構成され、例えば以下の処理を実行するようにしてもよい。
【００５３】
モニタ部１０１は、ＥＣＵ、車載センサに接続するＥＣＵ、ステアリングＥＣＵ、ブレーキＥＣＵ、ＧＰＳ（Global Positioning System）受信機、所定の端子間電圧（電源電圧）、電源電流、周囲温度（ambient temperature）、加速度、ジャイロセンサ等からの状態（走行の有無や走行状態）、ステアリング操作、環境データ、現在位置等の情報を取得するようにしてもよい。
【００５４】
状態検出部１０２は、モニタ部１０１で取得した情報に基づき、例えば経路決定の契機となる状態を検出する。なお、経路決定の契機となる状態（例えばステアリングセンサからの操舵角から、直進から左折走行への状態変化等）と、モニタ部１０１で取得される情報との対応を予めメモリ（テーブル）に記憶しておき、状態検出部１０２は、モニタ部１０１で取得した情報と該メモリ（テーブル）を検索して、経路決定の契機となる状態（状態の識別番号）を検出するようにしてもよい。状態検出部１０２は、車両の移動の有無、
車両の周辺環境、操作モード（手動、自動、半自動）、操作の内容のいずれか１つ又は複数の組み合わせに基づき、車両の状態を決定するようにしてもよい。あるいは、状態検出部１０２は、モニタ部１０１で取得した情報（の組み合わせ）に基づき、教師有り学習モデル（分類モデル）等に基づき、状態を判別するようにしてもよい。
【００５５】
通信フロー選択部１０３は、状態検出部１０２で検出された状態（例えば左折への状態変化）に関連するセンサ等からのデータの優先度を決定し、センサとＥＣＵ２０間の通信フローに関して、状態毎の通信フローのコスト（通信フロー選択時の優先度としても参照される）を記憶したメモリ（記憶装置）１０６を参照して、検出された状態（状態の変化が検出された場合、変化後の状態）に対応する通信フローを選択する。なお、検出された状態に対応する通信フローが複数ある場合、該通信フローに設定されたコスト（優先度）の値が高いものから順に選択するようにしてもよい。
【００５６】
例えば、検出された状態が左折走行（直進走行から左折走行への状態変化）のとき、図１のセンサ２（左前方監視センサ）（４０Ｂ）、センサ４（左後方監視センサ）（４０Ｄ）からのデータが高優先となる。このため、センサ２（左前方監視センサ）（４０Ｂ）とＥＣＵ２０、センサ４（左後方監視センサ）（４０Ｄ）とＥＣＵ２０をエンドポイントとする通信フローが選択される。
【００５７】
経路決定部１０４は、状態に対応する各通信フローについて、メモリ１０７に記憶保持されたネットワーク構成情報、経路コスト情報等を参照して、通信フローのコスト、経由する中継ノード数に対応するコスト、各経路に含まれるリンク（中継ノード間の回線）の通信速度に対応するコスト等に基づき合計コストを計算し、合計コストが最小の経路を最適な経路として決定する。なお、ネットワーク構成情報は、例えば図１のネットワーク（イーサネット）の接続情報（ネットワークトポロジ）、各ノード、中継ノードのポート接続情報、対向する中継ノードのポート間のリンクの通信速度の情報等を含むようにしてもよい。
【００５８】
経路設定部１０５は、経路決定部１０４で決定された経路に対応する経路設定情報を対応する経路上の各中継ノードに設定する。
【００５９】
その後、上記各中継ノードは、ネットワーク制御装置１０から設定された経路設定情報に基づき、受信フレームをスイッチングする。すなわち、各中継ノードはポートから受信したフレームを、該経路設定情報に設定された転送先ポートに転送する。
【００６０】
図２のネットワーク制御装置１０は、ＳＤＮ（Software Defined Network）コントローラとして実装するようにしてもよい。ただし、ＳＤＮの一つであるＯｐｅｎＦｌｏｗのプロトコルでのフローエントリの変更は、パケットを受信したＯｐｅｎＦｌｏｗスイッチにおいて該パケットヘッダの情報とマッチするフローエントリが存在せず、該パケット（ファーストパケット）をＯｐｅｎＦｌｏｗコントローラに転送し、ＯｐｅｎＦｌｏｗコントローラにてフロー計算結果に基づきフローエントリを生成しFlow Modifyメッセージで該スイッチに設定することで行われる（新たなフロー毎にフローエントリを生成する）。これに対して、本実施形態では、ネットワーク制御装置１０が、例えば車両の状態（状態変化）をトリガーとして、通信フローの経路を決定し、中継ノードに経路設定情報を設定している。
【００６１】
例えば図３に示すように、車両１のネットワーク制御装置１０は、基地局２００、コアネットワーク２１０、インターネット等のＷＡＮ（Wide Area Network）２３０を介してクラウド（データセンタ）２４０のサーバ２４１に通信接続し、サーバ２４１において、状態別の前記通信フローのコスト（優先度）情報を可変に設定する構成としてもよい。あるいは、車両１のネットワーク制御装置１０はＷＬＡＮ（Wireless Local Area Network）のアクセスポイント（ＡＰ）２２１を介してＷＬＡＮ２２０経由でＷＡＮ２３０を介してクラウド（データセンタ）２４０のサーバ２４１に通信接続するようにしてもよい。クラウド（データセンタ）２４０のサーバ２４１は、車両１のネットワーク構成情報等を記憶保持する構成としてもよい。また、サーバ２４１側で、車両１のネットワークに関して通信フローの経路のコスト計算を予め完了させておき、車両１の状態が変化した際、車両１のネットワーク制御装置１０の経路決定部１０４では、サーバ２４１からコスト計算が完了済みの経路情報を取得して最小コストの経路を決定するようにしてもよい。
【００６２】
なお、上記手順で決定された経路を主経路とし、以下の実施形態で説明するように、冗長経路も同様に決定するようにしてもよい。
【００６３】
本発明の実施形態によれば、車両（移動体）の状態を通信フロー（データフロー）毎に数値化し、車載ネットワークの通信フローの経路及び冗長化を決定する際のパラメータとする。車両の状態や置かれた環境、入力された操作内容が変化した場合、その状態、環境もしくは操作内容に応じてデータの優先度を決定し、当該優先度を用いて、通信経路と冗長経路を決定する。車両の状態や置かれた環境が、緊急と判断された場合、低優先度のデータを一時的に遮断し、高優先度のデータの上限帯域および当該データを送受信する中継ノード等の性能制限を緩めるようにしてもよい。
【００６４】
以下では、図４等を参照して、車両が前進走行中から左折走行への状態変化に伴う車載ネットワークにおける通信フローの選択と経路変更を例に説明する。図４は、車両が直進走行時の状態（「状態１」という）の車載イーサネットワークの一例を車両に重ねて模式的に例示した図である。なお、図４では、簡易化のため、図１のネットワーク制御装置１０は示されていない。また、各要素に参照符号は付与していない。なお、ネットワーク制御装置１０はいずれかのＥＣＵ内に備えた構成としてもよい。
【００６５】
前述したように、通信フローで用いる経路は、各経路のコストを基づき決定する。コストは、経路のリンクの通信速度（回線速度）や経由する中継ノードの数等に基づき求められる。ある通信フローの経路として使用された回線には、各通信フローに定義されたコストが加算され、次の通信フローの経路を計算するときに参照される。
【００６６】
図４において、センサｘ（ｘ＝１〜８）は、データを送信する送信ノードであり、制御1（ECU１）はデータの宛先ノードである。
【００６７】
送信元ノードであるセンサｘと宛先ノードである制御１の組合せを通信フローｘとする。なお、通信フローは「データフロー」とも称呼される。
【００６８】
各通信フローは、車両の状態（１〜Ｎ）に応じて、そのコストが予め定義されている。
【００６９】
図５（Ａ）は、送信/宛先ノードによる通信フロー、各状態におけるコストの組合せの一例を表で示した図である。通信フロー１（センサ１−＞制御ＥＣＵ１）では、状態１におけるコストは２０、状態２におけるコストは１０である。図５（Ａ）の例では、通信フロー２（センサ２−＞制御ＥＣＵ１）では、状態１におけるコストは１０、状態２におけるコストは２０である。
【００７０】
中継ノード１〜５は、送信データを次段へ転送することで、宛先ノードへ中継する。
【００７１】
中継ノードを１つ経由するたびに、コストが加算される。
【００７２】
通信フローｘの経路（中継ノード経由）は複数存在する。図４の例では、中継ノードｉ（ｉ＝１〜５）を整数ｉで表した場合、通信フロー１の経路として、以下の７本の経路がある（図６参照）。
【００７３】
１→５、
１→２→５、
１→３→５、
１→３→４→５、
１→３→４→２→５、
１→２→４→５、
１→２→４→３→５  
【００７４】
中継ノード間は、通信速度１Ｇｂｐｓ又は１００Ｍｂｐｓのイーサネットリンク（回線）で接続されている。
【００７５】
１Ｇｂｐｓのイーサネットリンク（回線）を経由する場合はコストが１つ加算される。
【００７６】
１００Ｍｂｐｓのイーサネットリンク（回線）を経由する場合はコストが１０加算される。
【００７７】
図５（Ｂ）に、経路コストの一例を示す。中継ノード１→２間の回線（１Ｇｂｐｓ）のコストは１、中継ノード１→３間の回線（１００Ｍｂｐｓ）のコストは１０、中継ノード１→５間の回線（１Ｇｂｐｓ）のコストは１である。
【００７８】
移動体の状態は、移動体に入力された操作内容や、移動体が備えたセンサ情報、移動体の動作モード、移動体が存在する位置/環境などから一意に決定される。
【００７９】
図４等を参照して、実施形態のネットワーク制御装置１０の動作の例を説明する。なお、以下では、ネットワーク制御装置１０が動作主体であることが自明である場合、動作主体は適宜省略する。
【００８０】
現在の移動体の状態を特定し、各通信フローのコストを参照する。経路の算出は、コスト(優先度)が高い通信フローから行っていく。
【００８１】
以下では、図４の状態1：前進走行時を例に説明する。
【００８２】
まず、各通信フローの主経路を決定する。図６は、主経路の計算を説明する図である。
【００８３】
図５（Ａ）の状態別通信フローコストから、はじめに、状態１に対応する通信フローのうち、コスト（優先度）の最も高い通信フロー１（コスト／優先度：２０）の主経路を算出する。ホップ（ｈｏｐ）数、回線速度、通信フロー１自身のコスト（図５（Ａ）のコスト（優先度））に基づき、通信フロー１が取り得る各経路の内、コストが最小の経路：「１→５」を、通信フロー１の主経路として採用する（図６の通信フロー１の破線で囲んだ「１→５」）。
【００８４】
図６の通信フロー１の経路：１→５のコスト（合計コスト）は、通信フロー１自身のコスト（＝２０）にホップ（ｈｏｐ）数（＝１）を乗算し、これに経路合計コスト（＝１）を加算した値（＝２１）となる。通信フロー１の経路：１→２→５のコスト（合計コスト）は、通信フロー１自身のコスト（＝２０）にホップ（ｈｏｐ）数（＝２）を乗算した結果（＝２０×２）に、経路合計コスト（＝２）を加算した値（＝４２）となる。
【００８５】
なお、この時点では（通信フロー１の主経路：１→５を決定する時）、選択済みの通信フロー（主経路が決定された通信フロー）は存在しないため、図６の「選択済み通信フローコスト」（値は０）であり、等価的に、通信フロー１の各経路の合計コストに加算されていない。
【００８６】
通信フロー１の主経路として経路１→５を決定すると、経路１→５（中継ノード１→５）の各回線には、通信フロー１のコスト：２０を加算しておく。すなわち、図６において、例えば通信フロー２の経路：１→５の「選択済み通信フローコスト」の欄には、２０が設定されている。このため、通信フロー２の経路：１→５のコストは、通信フロー２自身のコスト（＝１０）×（ホップ数（＝１））＋経路合計コスト（＝１）＋選択済み通信フローコスト（＝２０）＝３１となる。また、通信フロー３の経路：２→１→５の「選択済み通信フローコスト」にも、通信フロー１のコスト：２０が設定されている。これは、経路：１→５が、通信フロー１と通信フロー２（又は３）の当該経路と共有されるため、経路：１→５（中継ノード１→５間）のリンク（回線）の通信フロー当たりの帯域が減少することを反映したものともいえる（リンクの帯域減少は該リンクのコストの上昇に対応する）。このため、通信フロー３の経路：２→１→５の合計コストは、通信フロー３自身のコスト（＝２０）×（ホップ数（＝２））＋経路合計コスト（＝２）＋選択済み通信フローコスト（＝２０）＝６２となる。
【００８７】
合計コストを目的関数とし該目的関数を最小化する経路を最適経路と決定する。合計コストに加算される選択済みの通信フローのコスト（優先度）は、経路最適化の目的関数（合計コスト）のペナルティ関数（係数）に対応させることができる。
【００８８】
次に、通信フロー３（コスト／優先度：２０）の主経路を算出する。ホップ（ｈｏｐ）数、回線速度、自通信フローのコスト、選択済み通信フローのコストから、通信フロー３が取り得る各経路の内コストが最小の経路：２→５を、通信フロー３の主経路として採用する。
【００８９】
経路２→５の各回線（中継ノード２→５間の回線）には通信フロー３のコスト２０を加算しておく。図６において、通信フロー４の経路：２→５の「選択済み通信フローコスト」の欄には、２０が加算されている。以降、残りの通信フローの主経路も同様に決定していく。
【００９０】
次に、各通信フローの副経路(冗長経路)を決定する。図７は、副経路の計算を説明する図である。なお、図７において、通信フロー１、２の経路：１→５、通信フロー３、４の経路：２→５等、通信フロー１、２、３、４等のそれぞれの主経路として決定された経路の欄の背景を灰色で塗りつぶして示してある。
【００９１】
副経路を使用する通信フローの基準は、
・通信フロー自身のコスト(優先度)がある閾値α（所定値）より高い場合、又は、
・算出された経路の合計コストがある閾値β（所定値）よりも低い場合である。
【００９２】
特に制限されないが、本実施形態では、閾値αを２０とし、通信フローのコスト(優先度)が２０以上の通信フローを対象とする。
【００９３】
コスト（優先度）が閾値α（＝２０）を超える通信フローとして、まず、通信フロー１の副経路を算出する。
【００９４】
経由する中継ノードの数、中継ノード間の回線速度、該通信フロー自身のコスト、選択済み通信フローのコストから、合計コストが最小の経路：１→３→５を、通信フロー１の副経路として採用する。なお、図７において、通信フロー１の経路：１→２→５の「選択済み通信フローコスト」は、主経路として経路：２→５が選択された通信フロー３自身のコスト：３０と通信フロー４自身のコスト：１０を合計した値：２０＋１０＝３０に設定され、該経路の合計コストは、通信フロー１自身のコスト（＝２０）×（ホップ数（＝２））＋経路合計コスト（＝２）＋選択済み通信フローコスト（＝３０）＝７２となる。また、通信フロー１において主経路として選択された経路：１→５の「選択済み通信フローコスト」は、通信フロー１自身のコスト：２０と通信フロー２自身のコスト：１０を合計した値：２０＋１０＝３０に設定されている。なお、図７では、該当する例は示されていないが、副経路の計算にあたり、「選択済み通信フローコスト」には、当該副経路を含む経路が副経路として既に決定された通信フロー自身のコストがさらに加算される。
【００９５】
次に、通信フローのコスト（優先度）が閾値α（＝２０）を超える通信フロー３の副経路を算出する。
【００９６】
経由する中継ノードの数、中継ノード間の回線速度、自通信フローのコスト、「選択済み通信フローコスト」から、通信フロー３が取り得る各経路の内コストが最小の経路：２→４→５を、通信フロー３の副経路として採用する。経路２→４→５の各回線には通信フロー３自身のコスト：２０を加算しておく。
【００９７】
以上の手順を以て、状態1：前進走行時における各通信フローの経路が決定される。図４には、状態1における主経路、副回路の計算結果を太実線、破線で示してある。
【００９８】
次に、移動体の状態が、図４の状態１から変化し、図８の状態２：左折走行時になった場合を説明する。図５乃至図７を参照して説明した前進走行時と同様に、ネットワーク制御装置１０は、状態２の通信フローの主経路、副経路を決定していく。なお、以下では、ネットワーク制御装置１０が動作主体であることが自明である場合、動作主体は省略する。
【００９９】
車両の走行における前進走行時は、進路確認、衝突防止などの観点から車体前方に備えられているセンサ１、３が高優先でデータを流すことが望ましく、次点で車体前方左右に備えられているセンサ２、４が高優先となる。車体後方に備えられているセンサ５、６、７、８は、後方監視のためデータを流す必要があるが、前方センサほどのデータ量や信頼性を求める必要はない。
【０１００】
しかし、左折走行時は、左側の進路確認、衝突/巻き込み防止などの観点から移動体左側に備えられているセンサ２、６が高優先でデータを流すことが望ましい。次点で車体左側前後方に備えられているセンサ１、５が高優先となる。対して、車体右側に備えられているセンサ３、４、７、８は、右側監視のためデータを流す必要があるが、左側センサほどのデータ量や信頼性を求める必要はない。
【０１０１】
まず、図８におけるセンサ２とＥＣＵ間の通信フロー２の主経路を決定する。状態２の優先度の高い通信フロー２（コスト／優先度：２０）（図９（Ａ）参照）の主経路を算出する。なお、図９（Ｂ）は経路コストであり、図５（Ｂ）と同じである。
【０１０２】
図１０は、主経路の計算を説明する図である。通信フロー２の経路のうち、経由する中継ノード数（ホップ数）、回線速度、通信フロー２自身のコストに基づき、通信フロー２が取り得る各経路の内、コストが最小の経路：１→５を、通信フロー２の主経路として採用する。なお、この時点で、既に選択済みの通信フロー１があるため、「選択済み通信フローコスト」の欄には、通信フローごとのコストが加算される。経路：１→５の各回線には、通信フロー１のコスト２０を加算しておく。以降、残りの通信フローの主経路も同様に決定していく。
【０１０３】
次に、通信フロー２（コスト／優先度：２０）の副経路を算出する。図１１は、主経路の計算を説明する図である。なお、図１１において、通信フロー１、２の経路：１→５、通信フロー５の経路：２→５、通信フロー６の経路：３→５等、通信フロー１、２、５、６等のそれぞれの主経路として決定された経路の欄の背景を灰色で塗りつぶして示してある。ホップ（ｈｏｐ）数、回線速度、自通信フローのコスト、選択済み通信フローのコストから、通信フロー２が取り得る各経路の内コストが最小の経路：１→３→５を、通信フロー２の副経路として採用する。経路１→５の各回線には、通信フロー２のコスト２０を加算しておく。以降、残りの通信フローの副経路も同様に決定していく。図８には、状態２の主経路計算結果を太実線で示してある。
【０１０４】
このように、移動体の状態（置かれた状態、操作内容等）に応じて、通信フローの優先度は変化する。本実施形態によれば、各状態における各通信フローの優先度(コスト)を定義しておき、状態の変化時に、各通信フローのコストを加え、再度、経路を計算することで、移動体の制御に必要な通信の変化に柔軟に対応することができる。その結果、制御の信頼性を向上することができる。
【０１０５】
図４、図８の移動体１は、車内ネットワークを管理し、無線通信機能を備え携帯網、及びWAN（Wide Area Network）等を介して車両とクラウド（図３の２４０）とを接続するコネクテッドゲートウェイでも良い。この場合、各通信フローの状態別コスト(優先度)をクラウド経由で遠隔で変更する構成としてもよい。
【０１０６】
あるいは、クラウド（図３の２４０）側で、移動体１の状態別の経路計算を全て（又は一部）完了させておき、移動体１では、移動体１の状態の変化時に、クラウド（図３の２４０）側で完了した経路計算を参照して、変化した状態に対応した経路の決定を行うようにしてもよい。
【０１０７】
図４、図８の移動体１（車両）において、緊急事態発生時(例えば衝突の危険性がある、あるいは、移動体故障時等)に、予め定められた閾値γを下回る優先度の通信フローの通信を停止させ、閾値γを上回る優先度の通信フローの通信にリソースを集中させるようにしてもよい。
【０１０８】
この場合、例えば、所定の閾値γを上回る優先度の通信フローについて、例えば、
・低優先の通信フローを停止したことでできた余剰帯域や電力を活用して、ネットワーク帯域を増加させる、
・通信フローの送受信ノードのクロック周波数を増加させ、制御間隔を高精度化する、
・空き経路を追加で利用し、冗長経路を増やすなどしてデータ転送帯域を増加し、転送頻度と信頼性を向上させる等、
の少なくともいずれか１つを行うことで、緊急事態を回避するための制御を行うようにしてもよい。
【０１０９】
図１３は、ネットワーク制御装置１０をコンピュータ１１０で構成した例を説明する図である。プロセッサ（ＣＰＵ（Central Processing Unit）、データ処理装置）１１１と、半導体メモリ（例えばＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、又は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROＭ）等）、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等の少なくともいずれかを含むメモリ１１２と、ネットワークインタフェースカード（ＮＩＣ）１１３を備えている。メモリ１１２に、上記実施形態で説明したネットワーク制御装置１０の機能を実現するプログラムを記憶しておき、プロセッサ１１１が、該プログラムを読み出して実行することで、例えば、図２のモニタ部１０１、状態検出部１０２、通信フロー選択部１０３、経路決定部１０４、経路設定部１０５の各処理を実行するようにしてもよい。
【０１１０】
なお、上記の特許文献１の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１１１】
１    車両（移動体）
１０  ネットワーク制御装置
１１  記憶部
２０  ＥＣＵ
３０Ａ〜３０Ｃ  中継ノード１〜中継ノード３
４０Ａ〜４０Ｄ  センサ１〜センサ４
１０１  モニタ部  
１０２  状態検出部
１０３  通信フロー選択部
１０４  経路決定部
１０５  経路設定部
１０６、１０７  メモリ（記憶装置）
１１０  コンピュータ
１１１  プロセッサ
１１２  メモリ
１１３  ネットワークインタフェースカード（ＮＩＣ）
２００  基地局
２１０  コアネットワーク
２２０  ＷＬＡＮ
２２１  ＷＬＡＮアクセスポイント
２３０  ＷＡＮ
２４０  クラウド（データセンタ）
２４１  サーバ
【図１】
2020120225.tif 000003
【図２】
2020120225.tif 000004
【図３】
2020120225.tif 000005
【図４】
2020120225.tif 000006
【図５】
2020120225.tif 000007
【図６】
2020120225.tif 000008
【図７】
2020120225.tif 000009
【図８】
2020120225.tif 000010
【図９】
2020120225.tif 000011
【図１０】
2020120225.tif 000012
【図１１】
2020120225.tif 000013
【図１２】
2020120225.tif 000014
【図１３】
2020120225.tif 000015