(57)【要約】【課題】他の通信装置と通信可能に構成された通信装置において、アプリケーションが追加された場合であっても、車両の異常発生時に使用者が複数のアプリケーションの機能を良好に引き継ぐことができるようにする。【解決手段】ゲートウェイＥＣＵは、複数のアプリケーションを備えるＥＣＵにアプリケーションが追加される度に、アプリケーションが機能制限した場合における他のアプリケーションへの影響の程度を表す影響度を含む影響度情報を取得するように構成される。ゲートウェイＥＣＵは、Ｓ２７０で、予め設定された機能制限条件が成立する場合に、影響度に従って複数のアプリケーションのうちの少なくとも１つのアプリケーションを機能制限する際の順序を表す制限順序を設定するように構成され、制限順序に応じて、機能制限する少なくとも１つのアプリケーションに、順次、機能制限するよう指示するように構成される。【選択図】図６
2020077233.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、少なくとも１つの他の通信装置と通信可能に構成された通信装置（１０）であって、
当該通信装置および前記他の通信装置のうちの複数のアプリケーションを備える少なくとも１つの通信装置にアプリケーションが追加される度に、該アプリケーションが機能制限した場合における他のアプリケーションへの影響の程度を表す影響度を取得するように構成された取得部（Ｓ２１０、Ｓ２２０）と、
予め設定された機能制限条件が成立する場合に、前記影響度に従って前記複数のアプリケーションのうちの少なくとも１つのアプリケーションを機能制限する際の順序を表す制限順序を設定するように構成された順序設定部（Ｓ３１０、Ｓ２７０）と、
前記制限順序に応じて、機能制限する少なくとも１つのアプリケーションに、順次、機能制限するよう指示するように構成された制限指示部（Ｓ３７０）と、
を備える通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記取得部は、前記影響度の少なくとも一部として、アプリケーションが機能制限した際の車両の危険度を複数に区分し、アプリケーションが該複数の区分の何れに属するかを示す安全ランクを取得するように構成され、
前記順序設定部は、前記安全ランクに従って前記制限順序を設定する
ように構成された通信装置。
【請求項３】
請求項１または請求項２に記載の通信装置であって、
前記取得部は、前記複数のアプリケーション毎に、アプリケーションを機能制限する際の作動内容と、前記影響度と、を取得する
ように構成された通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記取得部は、前記複数のアプリケーションに入力されるデータの種別を特定するための入力ＩＤ毎に、前記作動内容と、前記影響度と、を取得する
ように構成された通信装置。
【請求項５】
請求項３または請求項４に記載の通信装置であって、
前記取得部は、前記複数のアプリケーションの作動モード毎に、前記作動内容と、前記影響度と、を取得する
ように構成された通信装置。
【請求項６】
請求項１から請求項５までのいずれか１項に記載の通信装置であって、
前記取得部は、少なくとも、アプリケーションが出力するデータの種別を特定するための出力ＩＤと、アプリケーションが入力するデータの種別を特定するための入力ＩＤとを取得するように構成され、
前記順序設定部は、機能制限する少なくとも１つのアプリケーションについての出力ＩＤを、前記入力ＩＤとする他のアプリケーションを探索し、探索された他のアプリケーションを機能制限するアプリケーションに設定する手順を繰り返し、該機能制限するアプリケーションについての制限順序を設定する
ように構成された通信装置。
【請求項７】
請求項１から請求項６までのいずれか１項に記載の通信装置であって、
前記制限順序に応じて、機能制限しようとするアプリケーションについて使用者の同意を求めるように構成された同意要求部（Ｓ３５０）をさらに備え、
前記制限指示部は、前記使用者の同意が得られた場合に、同意が得られたアプリケーションを機能制限するように指示する
ように構成された通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、他の通信装置と通信可能に構成された通信装置に関する。
【背景技術】
【０００２】
車両において上記の通信装置が搭載された構成が知られている。例えば、下記特許文献１には、通信装置においてデータの送受信を行う通信ポートに異常が検出された際に、その異常の内容に応じて車両に搭載されたアプリケーション等の機能制限を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０６２３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記の通信装置では、スマートフォンのように、アプリケーションを自由に追加できるようにしたいという要求がある。しかしながら、上記特許文献１の技術では、車両へのアプリケーションの追加が想定されていない。単に、アプリケーションを自由に追加できるようにすると、車両に何らかの異常が検出された際に、追加された複数のアプリケーションが自律的に同時に停止する等の機能制限を行う可能性が高まる。
【０００５】
アプリケーションが機能制限を行う場合には、多くの場合、機能制限されるアプリケーションの機能を使用者が引き継ぐ必要があると考えられる。ところが、発明者の詳細な検討の結果、複数のアプリケーションが同時に機能制限を行う場合には、使用者がアプリケーションの機能の全てを引き継ぐことが難しくなるという課題が見出された。
【０００６】
本開示の１つの局面は、他の通信装置と通信可能に構成された通信装置において、アプリケーションが追加された場合であっても、車両の異常発生時に使用者が複数のアプリケーションの機能を良好に引き継ぐことができるようにすることにある。
【課題を解決するための手段】
【０００７】
本開示の一態様は、車両に搭載され、少なくとも１つの他の通信装置と通信可能に構成された通信装置（１０）であって、取得部（Ｓ２１０、Ｓ２２０）と、順序設定部（Ｓ３１０、Ｓ２７０）と、制限指示部（Ｓ３７０）と、を備える。取得部は、当該通信装置および他の通信装置のうちの複数のアプリケーションを備える少なくとも１つの通信装置にアプリケーションが追加される度に、アプリケーションが機能制限した場合における他のアプリケーションへの影響の程度を表す影響度を取得するように構成される。
【０００８】
順序設定部は、予め設定された機能制限条件が成立する場合に、影響度に従って複数のアプリケーションのうちの少なくとも１つのアプリケーションを機能制限する際の順序を表す制限順序を設定するように構成される。制限指示部は、制限順序に応じて、機能制限する少なくとも１つのアプリケーションに、順次、機能制限するよう指示するように構成される。
【０００９】
このような構成によれば、アプリケーションが機能制限した場合における他のアプリケーションへの影響の程度を表す影響度に従って、アプリケーションを機能制限する際の順序である制限順序を設定し、この制限順序に応じて順次アプリケーションの機能制限を行う。この際、影響度はアプリケーションが追加される度に取得され、アプリケーションが追加された場合であっても、その都度、制限順序を設定できる。
【００１０】
よって、同時に多数のアプリケーションが機能制限されることを抑制することができる。そして、アプリケーションが追加された場合であっても、異常発生時に使用者が複数のアプリケーションの機能を良好に引き継ぐ、すなわち、使用者が複数のアプリケーションの機能を手動で実行することができる。
【図面の簡単な説明】
【００１１】
【図１】通信システムの構成を示すブロック図である。
【図２】影響度送信処理のフローチャートである。
【図３】各アプリが送信する影響度情報の一例を示す図である。
【図４】影響度記録処理のフローチャートである。
【図５】影響度データベースの内容の一例を示す図である。
【図６】順序設定処理のフローチャートである。
【図７】制限順序の設定手順の一例を示す図である。
【図８】制限指示処理のフローチャートである。
【図９】制限実行処理のフローチャートである。
【図１０】各処理の実施時期を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、本開示の一態様の実施形態を説明する。
［１．背景］
近年、車両においては、車両外部の任意の装置と車両内の通信装置とが車両内の通信装置の通信ポートを利用して通信を行うように構成されており、今後、車両内の通信装置には、スマートフォンのように車両出荷後にアプリケーション（以下では、アプリ、或いはＡＰＰとも表記）が追加されるようになることが予想される。このようになると、車両においては、複数のアプリが動的に連携することによって、自動運転等の安全に関連した高度な機能を実現することが求められる。
【００１３】
この場合、車両が走行中に、車両外部の任意の装置と継続的に通信を行うことも予想される。車両の走行中に通信ポートなどの通信異常が発生した場合に、各アプリが自律的に停止等の機能制限を実施すると、使用者、特にドライバに対して機能制限する機能の引継ぎがうまくできない可能性がある。例えば、自動運転のアプリにおいて、ブレーキ制御のアプリと操舵のアプリとが同時に停止すると、これらのアプリの機能を手動で実行すべきドライバに負担がかかる。したがって、各アプリが他のアプリとの関係で、どのような機能制限を行うかを予め準備することが好ましいが、使用者がどのようなアプリをインストールするかによって各アプリが他のアプリに与える影響が動的に変化するため、全てのケースに対応した適切な順序で機能制限を行うプログラムを準備しておくことは不可能である。
【００１４】
また、複数のアプリが同時に影響を受けることにより、ドライバに対しそれぞれのアプリから多数の警告が通知されパニックになる可能性もある。このような事情を鑑みて、動的なアプリ連携を行う車両システムにおいて、通信ポートなどの通信異常が発生しても、適切な順番で安全に機能制限を行う仕組みが必要であるとの認識が得られ、この仕組みを実現するために本実施形態の構成が想到されている。
【００１５】
［１−１．構成］
図１に示す通信システム１は、乗用車等の車両に搭載され、通信システム１を構成するＥＣＵ等の任意の装置にアプリが追加された場合であっても、異常発生時に車両のドライバ等の使用者が複数のアプリの機能を良好に引き継ぐことができるように工夫されている。
【００１６】
図１に示す通信システム１は、ゲートウェイＥＣＵ１０を備える。ＥＣＵは、Electronic Control Unitの略である。通信システム１は、外部通信装置２０と、第１ＥＣＵ３０と、第２ＥＣＵ４０と、を備えてもよい。
【００１７】
ゲートウェイＥＣＵ１０、第１ＥＣＵ３０、および第２ＥＣＵ４０等の各ＥＣＵ１０，３０，４０は、通信線を介して互いに通信可能に構成された通信装置である。通信システム１は、ゲートウェイＥＣＵ１０をマスタとし、第１ＥＣＵ３０および第２ＥＣＵ４０をスレーブとするマスタ・スレーブ方式で、アプリおよび通信ポートの機能制限に関する管理を行う。
【００１８】
すなわち、ゲートウェイＥＣＵ１０は、アプリおよび通信ポートの機能制限を指示し、外部通信装置２０、第１ＥＣＵ３０、および第２ＥＣＵ４０は、この指示に従って作動する。なお、機能制限とは、アプリや装置が有する機能のうちの少なくとも一部の機能を主としてゲートウェイＥＣＵ１０が停止させることを示す。
【００１９】
各ＥＣＵ１０，３０，４０は、それぞれ、ＣＰＵ１１，３１，４１と、例えば、ＲＡＭまたはＲＯＭ等の半導体メモリ（以下、メモリ１２，３２，４２）と、を有するマイクロコンピュータを備える。各ＥＣＵ１０，３０，４０は、接続された他の装置と通信するための通信モジュールとして構成された通信部１３，３３，４３をそれぞれ備える。
【００２０】
各ＥＣＵ１０，３０，４０の各機能は、ＣＰＵ１１，３１，４１が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ１２，３２，４２が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。
【００２１】
なお、非遷移的実体的記録媒体とは、記録媒体のうちの電磁波を除く意味である。また、各ＥＣＵ１０，３０，４０は、１つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。
【００２２】
ゲートウェイＥＣＵ１０は、マスタ制御部１５、および任意のアプリ１９の各機能部を備える。マスタ制御部１５としては、順序設定部１６、影響度記録部１７、および制限指示部１８の各機能部をさらに備える。
【００２３】
順序設定部１６は、後述する順序設定処理を実施する。影響度記録部１７は、後述する影響度記録処理を実施する。制限指示部１８は、後述する制限指示処理を実施する。
第１ＥＣＵ３０および第２ＥＣＵ４０は、スレーブ制御部３５，４５、および任意のアプリ３８，３９，４８，４９の各機能部を備える。スレーブ制御部３５，４５としては、影響度送信部３６，４６、および制限実行部３７，４７の各機能部をさらに備える。
【００２４】
影響度送信部３６，４６は、後述する影響度送信処理を実施する。制限実行部３７，４７は、後述する制限指示処理を実施する。なお、アプリ１９，３８，３９，４８，４９は、インストールされたアプリに応じて異なる任意の作動を行う。
【００２５】
各ＥＣＵ１０，３０，４０に含まれる各部の機能を実現する手法はソフトウェアに限るものではなく、その一部または全部の機能は、一つあるいは複数のハードウェアを用いて実現されてもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は、デジタル回路、またはアナログ回路、あるいはこれらの組合せによって実現されてもよい。
【００２６】
外部通信装置２０は、第１ＥＣＵ３０および第２ＥＣＵ４０が接続された通信線とは異なる通信線で、ゲートウェイＥＣＵ１０と通信可能に構成された通信装置である。ただし、外部通信装置２０は、ゲートウェイＥＣＵ１０と通信可能に構成されていれば、第１ＥＣＵ３０、第２ＥＣＵ４０等の他の装置と通信可能に接続されていてもよい。また、外部通信装置２０は、基地局６１等の車両の外部の装置と通信するための複数の通信ポート２４Ａ，２４Ｂを備えており、何れかの通信ポート２４Ａ，２４Ｂを利用して、無線でのデータ通信を媒介する基地局６１と無線通信可能に構成される。
【００２７】
外部通信装置２０は、インターネット網６２およびインターネット網６２に接続された無線の基地局６１を介して、任意のサーバ装置６３と通信可能に構成される。サーバ装置６３は、例えば、通信システム１を備える車両が自動運転を行う際に必要となる地図情報等の任意の情報を提供する機能、外部通信装置２０の通信ポート２４Ａ，２４Ｂのセキュリティに関する情報を当該通信システム１に送信する機能、等を備える。
【００２８】
外部通信装置２０は、ＣＰＵ２１と、例えば、ＲＡＭまたはＲＯＭ等の半導体メモリ２２と、を有するマイクロコンピュータを備える。外部通信装置２０は、ゲートウェイＥＣＵ１０と通信するための通信モジュールとして構成された通信部２３をさらに備える。
【００２９】
外部通信装置２０は、障害判断部２６、および通信ポート制御部２７の各機能部を備える。障害判断部２６は、複数の通信ポート２４Ａ，２４Ｂの障害の有無を検知する。障害の有無は、例えば、通信ポート２４Ａ，２４Ｂを用いた通信が予め設定された時間内に完了するか否かによって判断してもよい。また、通信ポート２４Ａ，２４Ｂのセキュリティに問題がある旨をサーバ装置６３等から受信した場合に、障害があると判断してもよい。外部通信装置２０は、障害判断部２６にて障害があると判断された場合、障害の通知をゲートウェイＥＣＵ１０に送る。
【００３０】
通信ポート制御部２７は、ゲートウェイＥＣＵ１０から制限指示を受けた場合に、指定された通信ポート２４Ａ，２４Ｂの作動に制限を加える。通信ポート２４Ａ，２４Ｂの作動の制限には、通信ポート２４Ａ，２４Ｂを用いたデータの送受信を停止させる場合と、データの受信または送信のみを停止させる場合とが含まれる。
【００３１】
［１−２．処理］
［１−２−１．影響度送信処理］
次に、スレーブＥＣＵ３０，４０のＣＰＵ３１，４１がそれぞれ実行する影響度送信処理について、図２のフローチャートを用いて説明する。影響度送信処理は、例えば、車両の電源が投入され、スレーブＥＣＵ３０，４０が起動すると開始され、その後、スレーブＥＣＵ３０，４０が実行する他の処理とは並行して繰り返し実施される処理である。
【００３２】
影響度送信処理では、図２に示すように、まず、Ｓ１１０で、スレーブＥＣＵ３０，４０は、自らに搭載されたアプリ３８，３９，４８，４９の起動、またはアプリの作動モードの変更があったか否かを判定する。作動モードとは、アプリケーションが複数の機能を備える場合において、複数の機能のうちの少なくとも１つを選択的に実行する場合に、当該選択されうる個々の機能を示す。
【００３３】
例えば、アプリが車両の速度や時刻等の周囲の環境に応じて異なる処理を実施する場合に、それぞれの処理を示す。より具体的には、ナビゲーション装置の表示を行うアプリであれば、昼用の表示態様と夜用の表示態様が選択的に実行され、これらの表示態様がそれぞれの作動モードに該当する。
【００３４】
Ｓ１１０でアプリの起動またはアプリの作動モードの変更があったと判定した場合には、Ｓ１２０へ移行し、スレーブＥＣＵ３０，４０は、アプリから影響度情報を取得する。影響度情報とは、あるアプリが機能制限した場合の作動内容、および機能制限した場合における他のアプリへの影響の程度を表す情報である。
【００３５】
影響度情報は、本開示の影響度および作動内容に相当する。影響度情報には、アプリが機能制限した場合に、影響を受ける範囲、影響を受ける部位、影響を受ける通信内容等が含まれる。より詳細には、影響度情報には、図３に示すようなデータ、すなわち、安全ランク、アプリの種別、影響を受ける通信ＩＤおよび通信ポート、アプリ処置、通信ポートに対する処置を示すｐｏｒｔ処置、影響を与える通信ＩＤが含まれる。なお、影響を受ける通信ＩＤは、本開示での入力ＩＤに相当し、影響を与える通信ＩＤは、本開示での出力ＩＤに相当する。
【００３６】
安全ランクとは、当該アプリが停止する等の機能制限された際の車両の危険度を複数に区分し、当該アプリが複数の区分の何れに属するかを示す。車両の危険度とは、アプリが機能制限した場合に車両の安全性に与える影響の程度を示す。ここでは、車両の危険度が高くなるほど安全ランクの数値を高く設定し、安全ランクの最低値を１とし、安全ランクの最高値を４とする。なお、安全ランクは、アプリ毎に予め設定されている。
【００３７】
影響を受ける通信ＩＤとは、アプリが機能制限した場合に、このアプリが受信できなくなるデータの種別を特定する値を表す。アプリ処置およびｐｏｒｔ処置は、アプリおよび通信ポートが機能制限する場合の作動内容を示す。作動内容には、機能制限する対象およびその制限の程度が記述されている。詳細は下記にて示す。
【００３８】
アプリ処置としては、図３に示す例では、使用者に対して音や画像でメッセージを送ることを「通知」と表記している。また、アプリの一部の機能を停止させることを「縮退」と表記し、アプリの全ての機能を停止させることを「停止」と表記している。
【００３９】
ｐｏｒｔ処置としては、図３に示す例では、通信ポート２４Ａ，２４Ｂを無効にする処置、すなわち、通信ポート２４Ａ，２４Ｂを用いたデータの送受信ができなくなるように設定する処置を「無効」と表記している。なお、データの送信を許可し、受信のみを制限する処置を、例えば「縮退」として実施してもよい。
【００４０】
影響を与える通信ＩＤとは、アプリが機能制限した場合に、このアプリが送信できなくなるデータの種別を表す。影響度情報には、アプリ毎に図３に示す表における少なくとも１行分のデータが含まれ、アプリの作動モードが複数ある場合には、作動モードの数分の行数のデータが含まれる。
【００４１】
続いて、Ｓ１３０で、スレーブＥＣＵ３０，４０は、取得した影響度情報をゲートウェイＥＣＵ１０に送信し、その後、図２の影響度送信処理を終了する。本処理で送信した影響度情報は、ゲートウェイＥＣＵ１０にて記録される。
【００４２】
一方、Ｓ１１０でアプリの起動およびアプリの作動モードの変更がないと判定した場合には、Ｓ１４０へ移行し、スレーブＥＣＵ３０，４０は、アプリが終了したか否かを判定する。
【００４３】
Ｓ１４０でアプリが終了したと判定した場合には、Ｓ１５０へ移行し、スレーブＥＣＵ３０，４０は、当該アプリに関する影響度情報を削除する要求である削除要求をゲートウェイＥＣＵ１０に送信した後、図２の影響度送信処理を終了する。本処理で送信した削除要求に従って、ゲートウェイＥＣＵ１０では当該アプリに関する影響度情報が削除される。
【００４４】
一方、Ｓ１４０でアプリが終了していないと判定した場合には、図２の影響度送信処理を終了する。
［１−２−２．影響度記録処理］
次に、ゲートウェイＥＣＵ１０が実行する影響度記録処理について、図４のフローチャートを用いて説明する。影響度記録処理は、例えば、ゲートウェイＥＣＵ１０が起動すると開始され、その後、ゲートウェイＥＣＵ１０が実行する他の処理とは並行して繰り返し実施される処理である。
【００４５】
影響度記録処理では、まず、Ｓ２１０で、ゲートウェイＥＣＵ１０は、スレーブＥＣＵ３０，４０から影響度情報または削除要求を受信したか否かを判定する。
Ｓ２１０で影響度情報または削除要求を受信したと判定した場合には、Ｓ２２０へ移行し、ゲートウェイＥＣＵ１０は、影響度データベースを更新する。ここで、影響度データベースは、メモリ１２内において複数の影響度情報が記録されたデータベースであり、例えば、図５に示すように、複数のスレーブＥＣＵ３０，４０から収集された影響度情報が含まれる。
【００４６】
この処理で、ゲートウェイＥＣＵ１０は、影響度情報を受信した場合には、影響度データベースに影響度情報を追記し、削除要求を受信した場合には、影響度データベースから該当するアプリに関する影響度情報を削除する。この処理が終了すると、図４の影響度記録処理を終了する。
【００４７】
ゲートウェイＥＣＵ１０は、Ｓ２１０で影響度情報または削除要求を受信していないと判定した場合には、図４の影響度記録処理を終了する。
［１−２−３．順序設定処理］
次に、ゲートウェイＥＣＵ１０が実行する順序設定処理について、図６のフローチャートを用いて説明する。順序設定処理は、例えば、ゲートウェイＥＣＵ１０が起動すると開始され、その後、ゲートウェイＥＣＵ１０が実行する他の処理とは並行して繰り返し実施される処理である。
【００４８】
順序設定処理では、まず、Ｓ２６０で、ゲートウェイＥＣＵ１０は、順序計算要求を受信したか否かを判定する。順序計算要求は、後述する制限指示処理にて送信される要求であって、複数のアプリを機能制限する際の順序である制限順序を計算し、制限順序の計算結果を応答するよう求める要求である。順序計算要求は、障害が発生した通信ポートの番号とともに受信される。
【００４９】
Ｓ２６０で順序計算要求を受信していないと判定した場合には、図６の順序設定処理を終了する。また、Ｓ２６０で順序計算要求を受信したと判定した場合には、Ｓ２７０へ移行し、ゲートウェイＥＣＵ１０は、影響度データベースに基づきアプリの制限順序を設定する。この処理では、（１）障害が生じた部位に応じて障害が伝播する複数のアプリの関係を示すツリーを影響度データベースに基づいて生成し、（２）影響度が低いアプリから障害が伝播するアプリを並べた順序を制限順序として設定する。
【００５０】
例えば、外部通信装置２０が通信ポート２４Ａ，２４Ｂとして、port10001、port10002を備えているとする。この場合、障害が発生した通信ポートの番号として、port10001に通信障害が発生したとすると、下記のような処理を行う。上記（１）のツリーを生成する処理として、port10001の障害が直接的に影響を与えるアプリを検索すると、図５の［Ａ］に示すように、port10001を受信ポートとして利用するアプリである「自動運転用地図」が特定される。
【００５１】
次に、「自動運転用地図」によって出力されるデータを入力とするアプリを検索する。すなわち、「自動運転用地図」での影響を与える通信ＩＤは、0x01と0x04とであるから、0x01または0x04を、影響を受ける通信ＩＤとするアプリを影響度データベースから検索する。この結果、port10001の障害が間接的に影響を与えるアプリが検索される。
【００５２】
すると、0x01を影響を受ける通信ＩＤとする「ナビ表示」と0x04を影響を受ける通信ＩＤとする「自動運転」とが探索される。このように、「影響を与える通信ＩＤ」が「影響を受ける通信ＩＤ」となるアプリを順に辿る処理を繰り返して、さらに間接的に障害の影響を受けるアプリを検索することでツリーを生成する。
【００５３】
障害の影響が何れのアプリにも伝播しなくなるまで、もしくは障害が影響を与えるアプリとして既に抽出されたアプリが再度抽出された時点でツリーを生成することを打ち切る。すると、図７に示すようなツリーが得られる。このツリーでは、port10001の障害の影響が伝播するアプリが、安全ランク毎に整列して配置される。
【００５４】
次に、上記（２）の制限順序を設定する処理では、下記の手順で処理を行う。
≪１≫ {安全ランク１のアプリ}、｛安全ランク２のアプリ｝、…、｛安全ランク４のアプリ｝というように、安全ランクが低い順に安全ランクの最大値まで、制限を行うアプリを順に選択する。
【００５５】
≪２≫安全ランクが等しいアプリ同士の制限順序は以下のように決める。
(a)より高ランクのアプリの停止に直接影響するアプリの制限順序は最後尾とする。最後尾とするアプリが複数ある場合は、このアプリが制限されたときに影響するアプリ数が多いものを、より後の順位とする。
【００５６】
(b) より高ランクのアプリの制限に直接影響するアプリの制限順序は、(a)の条件に該当するアプリの直前とする。(b)に該当するアプリが複数ある場合は、このアプリが制限されたときに影響するアプリ数が多いものを、より後の順位とする。
【００５７】
(c) より高ランクのアプリの通知に直接影響するアプリの制限順序は、(b) の条件に該当するアプリの直前とする。(c) に該当するアプリが複数ある場合は、このアプリが制限されたときに影響するアプリ数が多いものを、より後の順位とする。
【００５８】
(d)上記の(a)〜(c)をランク最低のアプリまで繰り返す。
port10001に通信障害が発生した場合の例では、アプリの制限順序は、１．ナビ表示、２．自動運転用地図、３．自動運転、４．エンジン制御、５．ブレーキ制御、と設定される。上記(a)〜(d)の手順を実施することによって、より安全への影響が大きいアプリに対する機能制限を遅らせ、かつ他のアプリと同時に機能制限されないようにすることで、車両全体への安全への影響が及びにくくなるようにしている。
【００５９】
図６に戻り、続いて、Ｓ２８０で、ゲートウェイＥＣＵ１０（順序設定部１６）は、制限順序を制限指示部１８に送信した後、図６の順序設定処理を終了する。
［１−２−４．制限指示処理］
ゲートウェイＥＣＵ１０が実行する制限指示処理について、図８のフローチャートを用いて説明する。制限指示処理は、例えば、ゲートウェイＥＣＵ１０が起動すると開始され、その後、ゲートウェイＥＣＵ１０が実行する他の処理とは並行して繰り返し実施される処理である。
【００６０】
制限指示処理では、まず、Ｓ３１０で、ゲートウェイＥＣＵ１０は、外部通信装置２０の障害判断部２６から障害の通知があるか否かを判定する。Ｓ３１０で障害判断部２６から障害の通知がないと判定した場合には、図８の制限指示処理を終了する。
【００６１】
一方、Ｓ３１０で障害判断部２６から障害の通知があると判定した場合には、Ｓ３２０へ移行し、ゲートウェイＥＣＵ１０（制限指示部１８）は、障害が発生した通信ポートの番号と、順序計算要求とを順序設定部１６に送信する。
【００６２】
続いて、Ｓ３３０で、ゲートウェイＥＣＵ１０は、制限順序を受信したか否かを判定する。Ｓ３３０で制限順序を受信していないと判定した場合には、Ｓ３３０に戻る。一方、Ｓ３３０で制限順序を受信したと判定した場合には、Ｓ３４０へ移行し、ゲートウェイＥＣＵ１０は、全てのアプリに対する制限が終了したか否かを判定する。なお、ここでの制限には、使用者に対して行う通知が含まれる。
【００６３】
Ｓ３４０で全てのアプリに対する制限が終了したと判定した場合には、図８の制限指示処理を終了する。一方、Ｓ３４０で全てのアプリに対する制限が終了していないと判定した場合には、Ｓ３５０へ移行し、ゲートウェイＥＣＵ１０は、機能制限するアプリを選択し、機能を制限することに対する同意を使用者に求めるための要求である同意要求を送信する。同意要求は、車両におけるディスプレイに同意を求めるメッセージとして表示され、車両における予め設定されたスイッチを使用者が操作することによって、ゲートウェイＥＣＵ１０に使用者が同意した旨が入力される。
【００６４】
続いて、Ｓ３６０で、ゲートウェイＥＣＵ１０は、選択されたアプリの機能制限について同意が得られたか否かを判定する。なお、選択されたアプリの全てについて同意を求める必要はなく、同意を求める必要がないアプリについては、Ｓ３５０およびＳ３６０を省略してもよい。また、同意を求めてから予め設定された時間（例えば１０秒程度）が経過すると、使用者の同意が無くても同意が得られたとみなして処理を進めてもよい。
【００６５】
また、例えば、安全ランクが高いアプリに対しては同意を求め、安全ランクが低いアプリに対しては同意を求めることを省略してもよい。また、作動内容として通知のみを行う際には同意を求める必要はない。このようにすれば、安全への影響が少ない機能制限については、使用者に対する煩雑な手続きを軽減させることができる。
【００６６】
ゲートウェイＥＣＵ１０は、Ｓ３６０で同意が得られていないと判定した場合には、Ｓ３６０に戻る。一方、Ｓ３６０で同意が得られたと判定した場合には、Ｓ３７０へ移行し、ゲートウェイＥＣＵ１０は、当該アプリを指定して制限指示を送信する。制限指示には通知のみを行う場合が含まれる。なお、Ｓ３７０の詳細は後述する。
【００６７】
続いて、Ｓ３８０で、ゲートウェイＥＣＵ１０は、当該アプリを制限済アプリに設定し、Ｓ３４０に戻る。制限済アプリであるか否かの設定は、例えば、メモリ１２内の所定の領域においてフラグを立てることで管理される。
【００６８】
［１−２−５．制限実行処理］
スレーブＥＣＵ３０，４０が実行する制限実行処理について、図９のフローチャートを用いて説明する。制限実行処理は、例えば、スレーブＥＣＵ３０，４０が起動すると開始され、その後、スレーブＥＣＵ３０，４０が実行する他の処理とは並行して繰り返し実施される処理である。
【００６９】
制限実行処理では、まず、Ｓ４１０で、スレーブＥＣＵ３０，４０は、自らにインストールされたアプリを指定した制限指示を受信したかであるか否かを判定する。
Ｓ４１０で自己のアプリを指定した制限指示を受信したと判定した場合には、Ｓ４２０へ移行し、指定されたアプリの作動を制限指示に含まれる作動内容に従って制限する。この処理が終了すると、図９の制限実行処理を終了する。
【００７０】
一方、Ｓ４１０で自己のアプリを指定した制限指示を受信していないと判定した場合には、図９の制限実行処理を終了する。
［１−２−６．各処理の実施時期］
上記各処理の実施時期を図１０のシーケンス図を用いて簡単に説明する。
【００７１】
図１０のＳ１に示すように、まず、アプリの機能制限を行う準備として、スレーブＥＣＵ３０，４０が各アプリの影響度情報をゲートウェイＥＣＵ１０に送信し、影響度情報を受けたゲートウェイＥＣＵ１０は、影響度データベースに影響度情報を記録させる。
【００７２】
そして、図１０のＳ２に示すように、ゲートウェイＥＣＵ１０は、外部通信装置２０から通信ポートの障害の通知を受けると、障害が生じた通信ポートの番号に基づいて影響度データベースを参照し、制限順序を設定する。続いて、上述のＳ３７０に相当する処理を実施する。すなわち、図１０のＳ３に示すように、制限順序が１番目のアプリに対する機能制限の作動内容を、影響度データベースを参照することで取得し、作動内容を含む制限指示を、スレーブＥＣＵ３０，４０に送信する。すると、スレーブＥＣＵ３０，４０は、機能制限を実施する。なお、スレーブＥＣＵ３０，４０は、機能制限を実施した旨をゲートウェイＥＣＵ１０に送信してもよい。この場合、ゲートウェイＥＣＵ１０は、機能制限を実施した旨を受けてから、次のアプリに対する制限指示を送信してもよい。
【００７３】
続いて、図１０のＳ４に示すように、制限順序が２番目のアプリに対して、Ｓ３と同様の処理を行う。ただし、Ｓ４では、Ｓ３の処理に加えて、必要に応じて、アプリがデータの送受信に利用する通信ポートの無効化が実施される。
【００７４】
このように、通信システム１は、Ｓ３，Ｓ４に相当する処理を、制限を行うアプリの数だけ実施する。
［１−３．効果］
以上詳述した実施形態によれば、以下の効果を奏する。
【００７５】
（１ａ）通信システム１は、車両に搭載され、複数の他の通信装置として、外部通信装置２０、第１ＥＣＵ３０、第２ＥＣＵ４０、サーバ装置６３と通信可能に構成されたゲートウェイＥＣＵ１０を備え、ゲートウェイＥＣＵ１０は、マスタ制御部１５を備える。マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、複数のアプリケーションを備えるＥＣＵ３０，４０にアプリケーションが追加される度に、アプリケーションが機能制限した場合における他のアプリケーションへの影響の程度を表す影響度を含む影響度情報を取得するように構成される。影響度情報は、複数のアプリケーションを備える少なくとも１つの通信装置から取得される。
【００７６】
マスタ制御部１５は、Ｓ２７０，Ｓ３１０で、予め設定された機能制限条件が成立する場合に、影響度に従って複数のアプリケーションのうちの少なくとも１つのアプリケーションを機能制限する際の順序を表す制限順序を設定するように構成される。マスタ制御部１５は、Ｓ３７０で、制限順序に応じて、機能制限する少なくとも１つのアプリケーションに、順次、機能制限するよう指示するように構成される。
【００７７】
このような構成によれば、アプリケーションが機能制限した場合に、影響度に従って、アプリケーションを機能制限する順序である制限順序を設定し、この制限順序に従って順次アプリケーションの機能制限を行う。この際、影響度はアプリケーションが追加される度に取得され、追加されたアプリケーションを加味して制限順序が設定されるので、アプリケーションが追加された場合であっても、その都度、制限順序を設定できる。よって、同時に多数のアプリケーションの機能制限が開始されることを抑制することができる。そして、アプリケーションが追加された場合であっても、異常発生時に使用者が複数のアプリケーションの機能を良好に引き継ぐことができる。
【００７８】
（１ｂ）マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、影響度の少なくとも一部として、アプリケーションが機能制限した際の車両の危険度を複数に区分し、アプリケーションが複数の区分の何れに属するかを示す安全ランクを取得するように構成される。マスタ制御部１５は、Ｓ２７０，Ｓ３１０で、安全ランクに従って制限順序を設定する。
【００７９】
このような構成によれば、安全ランクに応じて制限順序を設定するので、車両の安全性への影響を与えにくいようにすることができる。本実施形態の構成では、安全ランクが低いものから順に機能制限し、また、安全ランクが高いもの同士を機能制限する時期を離すようにしているので、複数のアプリケーションを機能制限する際に使用者に良好に機能を引き継ぐことができるよって、車両の安全性を確保することができる。
【００８０】
（１ｃ）マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、複数のアプリケーション毎に、アプリケーションを機能制限する際の作動内容と、影響度と、を取得する。
このような構成によれば、アプリケーションを機能制限する際の作動内容を、アプリケーション毎に個別に設定することができる。
【００８１】
（１ｄ）マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、複数のアプリケーションに入力されるデータの種別を特定するための入力ＩＤ毎、すなわち影響を受ける通信ＩＤ毎に、作動内容と、影響度と、を取得するように構成される。この構成によれば、アプリケーションが受信するデータの通信ＩＤに応じて、アプリケーションを機能制限する際の作動内容を設定することができる。
一例として、マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、作動内容として、アプリケーションがデータの受信に利用する通信ポートを表す受信ポートに対して受信を制限する処置を取得するように構成される。また、マスタ制御部１５は、Ｓ３７０で、少なくとも１つのアプリケーションを機能制限する際に、受信ポートに対して受信を制限する処置を指示する。このような構成によれば、アプリケーションが受信に利用する受信ポートに対して受信を制限する処置を行うので、アプリケーションに悪影響を及ぼす可能性があるデータが受信されることを抑制することができる。
【００８２】
（１ｅ）マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、複数のアプリケーションの作動モード毎に、作動内容と、影響度と、を取得する。
このような構成によれば、アプリケーションの作動モード毎に作動内容を設定できるので、アプリケーションの利用態様に応じたきめ細かな機能制限を設定することができる。
【００８３】
（１ｆ）マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、少なくとも、アプリケーションが出力するデータの種別を特定するための出力ＩＤと、アプリケーションが入力するデータの種別を特定するための入力ＩＤとを取得するように構成される。また、マスタ制御部１５は、Ｓ２７０，Ｓ３１０で、機能制限する少なくとも１つのアプリケーションについての出力ＩＤを、入力ＩＤとする他のアプリケーションを探索し、探索された他のアプリケーションを機能制限するアプリケーションに設定する手順を繰り返し、該機能制限するアプリケーションについての制限順序を設定するように構成される。
このような構成によれば、機能制限するアプリケーションの影響が伝播するアプリケーションを出力ＩＤおよび入力ＩＤを用いて良好に探索し、機能制限することができる。
【００８４】
（１ｇ）マスタ制御部１５は、Ｓ３５０で、制限順序に応じて、機能制限しようとするアプリケーションについて使用者の同意を求めるように構成される。マスタ制御部１５は、使用者の同意が得られた場合に、Ｓ３７０で、同意が得られたアプリケーションを機能制限するように指示する。
このような構成によれば、使用者の同意が得られた場合にそのアプリケーションを機能制限することができるよって、使用者への機能の引継ぎを確実に行うことができる。
【００８５】
（１ｆ）マスタ制御部１５は、Ｓ２１０，Ｓ２２０で、影響度として、アプリケーションがデータの受信に利用する通信ポートを表す受信ポートと、当該アプリケーションが出力するデータの種別を特定するための通信ＩＤとを取得するように構成される。また、マスタ制御部１５は、Ｓ２７０，Ｓ３１０で、受信ポートに障害が発生した場合に、受信ポートが対応する通信ＩＤにて特定されるデータを利用するアプリケーションを機能制限するアプリケーションに設定するように構成される。
このような構成によれば、通信ＩＤを用いて機能制限するアプリケーションの影響を受ける他のアプリケーションを特定することができるので、当該他のアプリケーションを機能制限するアプリケーションに設定することができる。
【００８６】
［２．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００８７】
（２ａ）上記実施形態では、障害判断部２６が通信ポートの障害を判断して通知し、この通知を受けたゲートウェイＥＣＵ１０がアプリの機能制限を行うよう構成したが、これに限定されるものではない。例えば、通信ポートの障害以外の、予め設定された機能制限条件が成立する場合に、機能制限を行ってもよい。機能制限条件が成立する場合とは、例えば、複数のアプリのうちの何れかのアプリに影響を与えうる任意の条件が成立したとき、データ品質・精度の異常が発生したとき、他の車両が侵入等の被害を受けた旨のクラック情報などの通信障害の虞がある場合等が該当する。
【００８８】
（２ｂ）上記実施形態では、スレーブＥＣＵ３０，４０のアプリの機能制限を行う処理について説明したが、ゲートウェイＥＣＵ１０のアプリの機能制限を行ってもよい。この場合、スレーブ制御部３５，４５に相当する機能をゲートウェイＥＣＵ１０に搭載しておき、ゲートウェイＥＣＵ１０にて上記実施形態の各処理を実施するとよい。
【００８９】
（２ｃ）上記実施形態では、ゲートウェイＥＣＵ１０にアプリ１９が備える構成について説明したが、ゲートウェイＥＣＵ１０にアプリ１９が備えられている必要はない。
（２ｄ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
【００９０】
（２ｅ）上述した通信システム１の他、当該通信システム１の構成要素となる通信装置、当該通信システム１を構成する装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、機能制限方法など、種々の形態で本開示を実現することもできる。
【００９１】
[３．実施形態の構成と本開示の構成との対応関係]
上記実施形態におけるゲートウェイＥＣＵ１０は本開示での通信装置に相当する。また、ゲートウェイＥＣＵ１０が実行する処理のうちのＳ２１０、Ｓ２２０の機能部は本開示での取得部に相当し、Ｓ３１０、Ｓ２７０の機能部は本開示での順序設定部に相当する。また、Ｓ３７０の機能部は本開示での制限指示部に相当し、Ｓ３５０の機能部は本開示での同意要求部に相当する。
【符号の説明】
【００９２】
１…通信システム、１０…ゲートウェイＥＣＵ、１１，２１，３１，４１…ＣＰＵ、１２，２２，３２，４２…メモリ、１３，２３，３３，４３…通信部、１５…マスタ制御部、１６…順序設定部、１７…影響度記録部、１８…制限指示部、１９，３８，３９，４８，４９…アプリ、２０…外部通信部、２４Ａ，２４Ｂ…通信ポート、２６…障害判断部、２７…通信ポート制御部、３０…第１ＥＣＵ、３５，４５…スレーブ制御部、３６，４６…影響度送信部、３７，４７…制限実行部、６３…サーバ装置。
【図１】
2020077233.tif 000003
【図２】
2020077233.tif 000004
【図３】
2020077233.tif 000005
【図４】
2020077233.tif 000006
【図５】
2020077233.tif 000007
【図６】
2020077233.tif 000008
【図７】
2020077233.tif 000009
【図８】
2020077233.tif 000010
【図９】
2020077233.tif 000011
【図１０】
2020077233.tif 000012