(57)【要約】【課題】サーバから依頼された処理を実行可能な車載制御装置の制御装置であって、当該処理によって意図せずバッテリ不足となることを回避できる制御装置を提供する。【解決手段】サーバから処理の実行の要求を取得する第１の取得部と、バッテリへの電力供給の状態を、前記バッテリを管理する車載制御装置から取得する第２の取得部と、前記バッテリへの電力供給の状態に応じて、前記サーバから要求された前記処理の実行の可否を判定する判定処理を実行する制御部と、を備える、制御装置。【選択図】図２
2019036017.tif 000002
【特許請求の範囲】
【請求項１】
サーバから処理の実行の要求を取得する第１の取得部と、
バッテリへの電力供給の状態を、前記バッテリを管理する車載制御装置から取得する第２の取得部と、
前記バッテリへの電力供給の状態に応じて、前記サーバから要求された前記処理の実行の可否を判定する判定処理を実行する制御部と、を備える、制御装置。
【請求項２】
前記制御部は前記判定処理において、前記バッテリが電力供給を受けている場合に前記処理を実行可と判定し、
前記制御部は、前記処理を実行可能な車載制御装置に前記処理の実行を指示する、請求項１に記載の制御装置。
【請求項３】
前記第２の取得部は前記バッテリの蓄電量をさらに取得し、
前記制御部は前記判定処理において、前記バッテリが電力供給を受けていない場合には、前記バッテリの蓄電量が規定された閾値以上である場合に前記処理を実行可と判定する、請求項１または請求項２に記載の制御装置。
【請求項４】
前記制御部は前記判定処理において、前記バッテリが電力供給を受けていない場合には、前記処理の実行後の前記バッテリの予測蓄電量が規定された閾値以上である場合に前記処理を実行可と判定する、請求項１または請求項２に記載の制御装置。
【請求項５】
前記サーバから複数の処理の実行の要求を取得した場合に、前記制御部は前記判定処理において、前記バッテリが電力供給を受けていない場合には、前記複数の処理それぞれの実行後の前記バッテリの予測蓄電量と規定された閾値との比較に基づいて、前記複数の処理それぞれの実行の可否を判定する、請求項１または請求項２に記載の制御装置。
【請求項６】
前記制御部は、前記複数の処理のうちの、前記バッテリの予測蓄電量が前記閾値以上である１つの処理を実行可と判定する、請求項５に記載の制御装置。
【請求項７】
前記制御部は、前記複数の処理のうちの２以上の処理について、当該２以上の処理の実行後の前記バッテリの予測蓄電量が前記閾値以上である場合に、前記２以上の処理を実行可と判定する、請求項５に記載の制御装置。
【請求項８】
前記制御部は、ユーザインタフェースを制御する車載制御装置に、前記処理の実行後の前記バッテリの予測蓄電量の、前記ユーザインタフェースでの出力を指示し、
前記制御部は前記判定処理において、前記バッテリが電力供給を受けていない場合には、前記出力の後に前記処理の実行を指示するユーザ操作を受け付けた場合に前記処理を実行可と判定する、請求項１または請求項２に記載の制御装置。
【請求項９】
前記サーバから複数の処理の実行の要求を取得した場合であって、前記バッテリが電力供給を受けていない場合には、
前記制御部は、ユーザインタフェースを制御する車載制御装置に、前記複数の処理それぞれの実行後の前記バッテリの予測蓄電量の、前記ユーザインタフェースでの出力を指示し、
前記制御部は前記判定処理において、前記出力の後に、前記複数の処理のうちの実行する処理の選択と当該処理の実行とを指示するユーザ操作を受け付けた場合に、前記選択された処理を実行可と判定する、請求項１または請求項２に記載の制御装置。
【請求項１０】
前記ユーザインタフェースにおいて、前記予測蓄電量は、電力量を示す値、前記バッテリの全容量に対する割合、および航続距離、のうちの少なくとも１つで表される、請求項８または請求項９に記載の制御装置。
【請求項１１】
前記制御部は、前記予測蓄電量に加えて、前記処理に要する時間と、前記処理の実行によってユーザが得ることのできる報酬とのうちの少なくとも１つを、前記ユーザインタフェースで出力させる、請求項８〜請求項１０のいずれか１項に記載の制御装置。
【請求項１２】
前記制御部は、前記サーバからの前記要求が所定条件を満たす場合には前記判定処理を実行することなく前記処理を実行可と判定し、前記所定条件を満たさない場合に前記判定処理を実行して前記処理の実行の可否を判定する、請求項１〜請求項１１のいずれか１項に記載の制御装置。
【請求項１３】
前記所定条件は、少なくとも、前記サーバからの前記要求を受信したタイミングに関する条件と、前記バッテリの蓄電量に関する条件と、を満たすことである、請求項１２に記載の制御装置。
【請求項１４】
制御装置による車載制御装置の制御方法であって、
サーバから処理の実行の要求を取得するステップと、
バッテリへの電力供給の状態を、前記バッテリを管理する車載制御装置から取得するステップと、
前記バッテリへの電力供給の状態に応じて、前記サーバから要求された前記処理の実行の可否を判定するステップと、を備える、制御方法。
【請求項１５】
制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータを、
サーバから処理の実行の要求を取得する第１の取得部と、
バッテリへの電力供給の状態を、前記バッテリを管理する車載制御装置から取得する第２の取得部と、
前記バッテリへの電力供給の状態に応じて、前記サーバから要求された前記処理の実行の可否を判定する判定処理を実行する制御部、として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は制御装置、制御方法、およびコンピュータプログラムに関し、特に、車載の制御装置、その制御方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ＥＣＵ（Electronic  Control  Unit）が多数搭載されている。
【０００３】
さらに、自動運転技術などの車両の高機能化に伴って、ＥＣＵも高機能化が見込まれる。そのため、ＥＣＵでも、一般的なコンピュータと同様の処理が可能になると見込まれる。
【０００４】
ＥＣＵの高機能化を鑑みて、ＥＣＵによって分散処理システムを構成する技術が提案されている（たとえば特許文献１）。特許文献１に開示された車載端末（ＥＣＵ）は走行中にサーバから処理の実行を依頼される車載端末であって、処理に必要なプログラムおよびデータをＥＣＵに予め格納させておき、走行中にサーバから処理の実行の依頼を受けると、当該プログラムを実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３４８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＥＣＵは車載機器を制御するため、走行中にはＥＣＵの処理負荷が高く、分散処理が不可能な場合がある。そのため、停車中に分散処理を実行することが考えられる。
【０００７】
一方で、停車中に分散処理を実行すると、分散処理によるバッテリ電力の消費のために、その後の走行に必要な電力が不足し、走行できない場合もある。
【０００８】
本発明のある局面における目的は、サーバから依頼された処理を実行可能な車載制御装置の制御装置であって、当該処理によって意図せずバッテリ不足となることを回避できる制御装置、制御方法、およびコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００９】
ある実施の形態に従うと、制御装置は、サーバから処理の実行の要求を取得する第１の取得部と、バッテリへの電力供給の状態を、バッテリを管理する車載制御装置から取得する第２の取得部と、バッテリへの電力供給の状態に応じて、サーバから要求された処理の実行の可否を判定する判定処理を実行する制御部と、を備える。
【００１０】
他の実施の形態に従うと、制御方法は制御装置による車載制御装置の制御方法であって、サーバから処理の実行の要求を取得するステップと、バッテリへの電力供給の状態を、バッテリを管理する車載制御装置から取得するステップと、バッテリへの電力供給の状態に応じて、サーバから要求された処理の実行の可否を判定するステップと、を備える。
【００１１】
他の実施の形態に従うと、コンピュータプログラムは制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、サーバから処理の実行の要求を取得する第１の取得部と、バッテリへの電力供給の状態を、バッテリを管理する車載制御装置から取得する第２の取得部と、バッテリへの電力供給の状態に応じて、サーバから要求された処理の実行の可否を判定する判定処理を実行する制御部、として機能させる。
【発明の効果】
【００１２】
この発明によると、車載制御装置がサーバから依頼された処理を実行することによって、意図せずバッテリ不足となることを回避できる。
【図面の簡単な説明】
【００１３】
【図１】分散処理システムの全体構成図である。
【図２】ゲートウェイの内部構成を示すブロック図である。
【図３】ＥＣＵの内部構成を示すブロック図である。
【図４】サーバの内部構成を示すブロック図である。
【図５】第１の実施の形態にかかるゲートウェイでの制御処理の一例を示すシーケンス図である。
【図６】第２の実施の形態にかかるゲートウェイでの制御処理の一例を示すシーケンス図である。
【図７】第３の実施の形態にかかるゲートウェイでの制御処理の一例を示すシーケンス図である。
【図８】ユーザインタフェースの画面例を示す図である。
【図９】第４の実施の形態にかかるゲートウェイでの制御処理の一例を示すシーケンス図である。
【図１０】第５の実施の形態にかかるゲートウェイでの制御処理の一例を示すシーケンス図である。
【図１１】ユーザインタフェースの画面例を示す図である。
【図１２】第６の実施の形態にかかるゲートウェイでの制御処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
［実施の形態の説明］
本実施の形態には、少なくとも以下のものが含まれる。すなわち、
（１）本実施の形態に含まれる制御装置は、サーバから処理の実行の要求を取得する第１の取得部と、バッテリへの電力供給の状態を、バッテリを管理する車載制御装置から取得する第２の取得部と、バッテリへの電力供給の状態に応じて、サーバから要求された処理の実行の可否を判定する判定処理を実行する制御部と、を備える。
車載制御装置においてサーバから要求された処理が実行されることによって、当該車載制御装置を、分散処理システムの演算処理能力のリソースとして活用することができる。これにより、新たにサーバ等の演算装置を設けることなく、既存の車両に搭載されている車載制御装置を利用して分散処理が可能となるために、分散処理システムを容易に構築することができる。さらに、判定処理の基準を適切に設定することによって、車載制御装置で処理を実行することによる電力消費によって、バッテリ残量が車両の走行に必要な量よりも不足するという事態を防止することができる。
【００１５】
（２）好ましくは、制御部は判定処理において、バッテリが電力供給を受けている場合に処理を実行可と判定し、制御部は、当該処理を実行可能な車載制御装置に処理の実行を指示する。
これにより、車載制御装置でサーバから要求された処理を実行することによる電力消費によって、バッテリ残量が車両の走行に必要な量よりも不足するという事態を防止することができる。
【００１６】
（３）好ましくは、第２の取得部はバッテリの蓄電量をさらに取得し、制御部は判定処理において、バッテリが電力供給を受けていない場合には、バッテリの蓄電量が規定された閾値以上である場合に処理を実行可と判定する。
閾値を適切に設定することによって、車載制御装置がサーバから要求された処理を実行することによる電力消費によって、蓄電量が車両の走行に必要な量よりも不足するという事態を防止することができるとともに、処理を実行可と判定する機会を増加させることができる。そのため、当該車載制御装置が分散処理システムの演算処理能力のリソースとして利用できる可能性が高くなり、分散処理システムの構築を容易にできる。
【００１７】
（４）好ましくは、制御部は判定処理において、バッテリが電力供給を受けていない場合には、処理の実行後のバッテリの予測蓄電量が規定された閾値以上である場合に処理を実行可と判定する。
車載制御装置がサーバから要求された処理の実行に要する消費電力量を用いて当該処理の実行の可否を判定するため、蓄電量が車両の走行に必要な量よりも不足するという事態を、より防止することができる。
【００１８】
（５）好ましくは、サーバから複数の処理の実行の要求を取得した場合に、制御部は判定処理において、バッテリが電力供給を受けていない場合には、複数の処理それぞれの実行後のバッテリの予測蓄電量と規定された閾値との比較に基づいて、複数の処理それぞれの実行の可否を判定する。
サーバから複数の処理の実行が要求された場合であっても、バッテリに対する負荷を考慮して実行可能な分散処理を選択することができる。
【００１９】
（６）好ましくは、制御部は、複数の処理のうちの、バッテリの予測蓄電量が閾値以上である１つの処理を実行可と判定する。
これにより、バッテリに対する負荷を考慮して実行可能な分散処理を選択することができる。
【００２０】
（７）好ましくは、制御部は、複数の処理のうちの２以上の処理について、当該２以上の処理の実行後のバッテリの予測蓄電量が閾値以上である場合に、２以上の処理を実行可と判定する。
これにより、バッテリに対する負荷を考慮して実行可能な分散処理を選択することができる。
【００２１】
（８）好ましくは、制御部は、ユーザインタフェースを制御する車載制御装置に、処理の実行後のバッテリの予測蓄電量の、ユーザインタフェースでの出力を指示し、制御部は判定処理において、バッテリが電力供給を受けていない場合には、当該出力の後に処理の実行を指示するユーザ操作を受け付けた場合に、処理を実行可と判定する。
ユーザは、サーバから要求された処理による消費電力量に基づいて当該処理を実行するか否かを判断して指示することができるため、ユーザの使い勝手を向上させることができる。
【００２２】
（９）好ましくは、サーバから複数の処理の実行の要求を取得した場合であって、バッテリが電力供給を受けていない場合には、制御部は、ユーザインタフェースを制御する車載制御装置に、複数の処理それぞれの実行後のバッテリの予測蓄電量の、ユーザインタフェースでの出力を指示し、制御部は判定処理において、当該出力の後に、複数の処理のうちの実行する処理の選択と当該処理の実行とを指示するユーザ操作を受け付けた場合に、選択された処理を実行可と判定する。
ユーザは、サーバから要求された複数の処理それぞれについての当該処理による消費電力量に基づいて当該処理を実行するか否かを判断して指示することができるため、ユーザの使い勝手を向上させることができる。
【００２３】
（１０）好ましくは、ユーザインタフェースにおいて、予測蓄電量は、電力量を示す値、バッテリの全容量に対する割合、および航続距離、のうちの少なくとも１つで表される。
予測蓄電量がこのように表示されることによって、ユーザは、予測蓄電量を把握しやすくなり、サーバから要求された処理の実行の可否を判断しやすくなる。
【００２４】
（１１）好ましくは、制御部は、予測蓄電量に加えて、処理に要する時間と、処理の実行によってユーザが得ることのできる報酬とのうちの少なくとも１つを、ユーザインタフェースで出力させる。
このような情報が提示されることによって、ユーザは、様々な情報に基づいてサーバから要求された処理の実行の可否を判断することができる。
【００２５】
（１２）好ましくは、制御部は、サーバからの要求が所定条件を満たす場合には判定処理を実行することなく処理を実行可とし、所定条件を満たさない場合に判定処理を実行して処理の実行の可否を判定する。
所定条件が用いられることによって、サーバから要求された処理の実行の可否の判定を容易にすることができる。
【００２６】
（１３）好ましくは、所定条件は、少なくとも、サーバからの要求を受信したタイミングに関する条件と、バッテリの蓄電量に関する条件と、を満たすことである。
上記条件が適切に設定されていることによって、処理の実行によって車両の走行に必要な蓄電量が不足するという事態を防止することができるとともに、当該処理が実行中であるために車両が走行できない、という事態も防止することができる。
【００２７】
（１４）本実施の形態に含まれる制御方法は、（１）〜（１３）のいずれか１つに記載の制御装置において車載制御装置を制御する方法である。
かかる制御方法は、上記（１）〜（１３）の制御装置と同様の効果を奏する。
【００２８】
（１５）本実施の形態に含まれるコンピュータプログラムは、コンピュータを、（１）〜（１３）のいずれか１つに記載の制御装置として機能させる。
かかるコンピュータプログラムは、上記（１）〜（１３）の制御装置と同様の効果を奏する。
【００２９】
［実施の形態の詳細］
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００３０】
＜第１の実施の形態＞
〔システムの全体構成〕
図１は、第１の実施形態にかかる分散処理システム（以下、単にシステムとも言う）の全体構成図である。分散処理システムは、分散処理を実行するシステムを指す。
【００３１】
図１を参照して、本実施の形態にかかるシステムは、広域通信網２を介して通信可能な１または複数の車両１と、サーバ５と、を含む。車両１は、分散処理システムにおける演算処理能力のリソースとして機能する。サーバ５は、予め登録されたユーザが所有する１または複数の車両１と広域通信網２を介して通信可能である。車両１およびサーバ５は、さらに、広域通信網２を介してユーザインタフェース９とも通信可能である。ユーザインタフェース９は、たとえば、スマートフォンやタブレットなどのユーザの携帯可能な通信端末装置である。
【００３２】
サーバ５は、処理用のプログラムを保存する。当該プログラムは、異なるコンピュータによって実行可能な複数のプログラムからなる、分散処理可能なプログラムである。以降の説明において、上記処理用のプログラムを「全体プログラム」、全体プログラムを構成する上記複数のプログラムのそれぞれを「分散処理用プログラム」とも称する。サーバ５からの要求に応じてＥＣＵ３０が分散処理用プログラムを実行することを、分散処理を実行する、とも称する。
【００３３】
車両１には、車内通信線で接続された複数のＥＣＵ３０Ａ，３０Ｂ，…，３０Ｅ（これらを総称してＥＣＵ３０とも称する）およびゲートウェイ１０を含む車内ネットワーク（通信ネットワーク）４と、無線通信部１５と、各ＥＣＵ３０によりそれぞれ制御される各種の車載機器と、が搭載されている。車載機器は、バッテリ（ＢＡＴ）６を含む。車載機器に、ディスプレイ、スピーカ、カーナビゲーション装置等のユーザインタフェース７が含まれていてもよい。
【００３４】
ＥＣＵ３０Ａは、バッテリ６を管理するＥＣＵであって、バッテリ６の蓄電量（バッテリ残量とも言う）などのバッテリ状態を管理する。
ＥＣＵ３０Ｃは、車両１にユーザインタフェース７が搭載されている場合に、当該ユーザインタフェース７を制御するためのＥＣＵである。
ＥＣＵ３０Ｂ，３０Ｄ，３０Ｅは、それぞれ、その他の車載機器を制御するためのＥＣＵであって、いずれかのＥＣＵ（またはすべてのＥＣＵ）が、サーバ５から要求された処理（以下、分散処理とも称する）を実行可能な処理能力を有する。分散処理を実行可能な処理能力を有するＥＣＵは、たとえば、ＡＤＡＳ（Advanced  Driver  Assistance  System：高度運転支援システム）ＥＣＵや、自動運転ＥＣＵなどの、カメラ画像やレーダのデータ等を処理する能力を持つＥＣＵである。
【００３５】
無線通信部１５は、携帯電話網などの広域通信網２に通信可能に接続され、車内通信線によりゲートウェイ１０に接続されている。無線通信部１５は、たとえば、車載の専用通信端末である。その他、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートＰＣ（Personal  Computer）等の装置であってもよい。
【００３６】
ゲートウェイ１０は、広域通信網２を介してサーバ５やユーザインタフェース９などの車外装置から無線通信部１５が受信した情報を、車内通信線を介してＥＣＵ３０に送信する。また、ゲートウェイ１０は、ＥＣＵ３０から取得した情報を無線通信部１５に送信し、無線通信部１５は、その情報をサーバ５やユーザインタフェース９などの車外装置に送信する。
【００３７】
複数のＥＣＵ３０同士は、車内通信線を介して情報を送受信する。複数のＥＣＵの中にはゲートウェイ１０が含まれる。
【００３８】
なお、本実施の形態では、ゲートウェイ１０が無線通信部１５を介して車外装置と通信を行うが、ゲートウェイ１０が無線通信の機能を有する場合には、ゲートウェイ１０自身がサーバ５やユーザインタフェース９などの車外装置と無線通信を行う構成としてもよい。
【００３９】
〔ゲートウェイの内部構成〕
図２は、ゲートウェイ１０の内部構成を示すブロック図である。
図２に示すように、ゲートウェイ１０は、ＣＰＵ１１、ＲＡＭ（Random  Access  Memory）１２、記憶部１３、および車内通信部１４などを備える。ゲートウェイ１０は、無線通信部１５と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
【００４０】
ＣＰＵ１１は、記憶部１３に記憶された一または複数のプログラムをＲＡＭ１２に読み出して実行することにより、ゲートウェイ１０を本分散処理システムにおける制御装置として機能させる。
ＣＰＵ１１は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、ＣＰＵ１１は複数のＣＰＵ群を代表するものであってもよい。この場合、ＣＰＵ１１の実現する機能は、複数のＣＰＵ群が協働して実現するものである。ＲＡＭ１２は、ＳＲＡＭ（Static  ＲＡＭ）またはＤＲＡＭ（Dynamic  ＲＡＭ）等のメモリ素子で構成され、ＣＰＵ１１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００４１】
ＣＰＵ１１が実現するコンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送によって譲渡することもできる。
この点は、後述のＥＣＵ３０のＣＰＵ３１（図３参照）が実行するコンピュータプログラム、および、後述のサーバ５のＣＰＵ５１（図４参照）が実行するコンピュータプログラムについても同様である。
【００４２】
記憶部１３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子などにより構成されている。記憶部１３は、ＣＰＵ１１が実行するプログラムおよび実行に必要なデータ等を記憶する。さらに、記憶部１３は、サーバ５からダウンロードされた、いずれかのＥＣＵ３０が実行する分散処理用のプログラムや当該プログラムに関する情報を一時的に記憶してもよい。
【００４３】
車内通信部１４には、車両１に配設された車内通信線を介して複数のＥＣＵ３０が接続されている。車内通信部１４は、たとえばＣＡＮ（Controller  Area  Network）の規格に応じて、ＥＣＵ３０との通信（ＣＡＮ通信とも称する）を行う。車内通信部１４の採用する通信規格はＣＡＮに限定されず、ＣＡＮＦＤ（ＣＡＮ  with  Flexible  Data  Rate）、ＬＩＮ（Local  Interconnect  Network）、Ｅｔｈｅｒｎｅｔ（登録商標）、またはＭＯＳＴ（Media  Oriented  Systems  Transport：ＭＯＳＴは登録商標）等の規格であってもよい。複数の車内通信線の中には、通信規格の異なるものが含まれていてもよい。
車内通信部１４は、ＣＰＵ１１から与えられた情報を対象のＥＣＵ３０へ送信するとともに、ＥＣＵ３０から受信した情報をＣＰＵ１１に与える。車内通信部１４は、上記の通信規格だけでなく、車内ネットワーク４に用いる他の通信規格によって通信してもよい。
【００４４】
無線通信部１５は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部１５は、携帯電話網等の広域通信網２に接続されることにより車外装置との通信が可能である。
無線通信部１５は、図示しない基地局により形成される広域通信網２を介して、ＣＰＵ１１から与えられた情報をサーバ５等の車外装置に送信するとともに、車外装置から受信した情報をＣＰＵ１１に与える。
【００４５】
図２に示す無線通信部１５に代えて、車両１内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、ＵＳＢ（Universal  Serial  Bus）またはＲＳ２３２Ｃ等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置とサーバ５等の車外装置とが広域通信網２を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ１０の通信経路により、車外装置とゲートウェイ１０とが通信可能になる。
【００４６】
〔ＥＣＵの内部構成〕
図３は、ＥＣＵ３０の内部構成を示すブロック図である。
図３に示すように、ＥＣＵ３０は、ＣＰＵ３１、ＲＡＭ３２、記憶部３３、および通信部３４などを備える。ＥＣＵ３０は、車両１に搭載された対象機器を個別に制御する車載制御装置である。
【００４７】
ＣＰＵ３１は、記憶部３３に予め記憶された一または複数のプログラムをＲＡＭ３２に読み出して実行することにより実現される機能として、通常処理部３１１と、分散処理部３１２とを有する。通常処理部３１１で表されたＣＰＵ３１の機能は、当該ＥＣＵ３０が担当する対象機器の動作を制御する。分散処理部３１２で表されたＣＰＵ３１の機能は、当該ＥＣＵ３０を本分散処理システムにおける演算処理能力のリソースとして機能させ、サーバ５から要求された分散処理を実行する。ＣＰＵ３１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ３１による制御は、複数のＣＰＵ群が協働することによる制御であってもよい。
ＲＡＭ３２は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００４８】
記憶部３３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部３３は、ＣＰＵ３１が読み出して実行するプログラムを格納する。プログラムは、車内の制御対象である対象機器を制御するための情報処理をＣＰＵ３１に実行させるためのコンピュータプログラムや当該プログラムを実行する際に用いるデータである制御プログラムなどのほか、分散処理用プログラムも含まれる。
【００４９】
通信部３４には、車両１に配設された車内通信線を介してゲートウェイ１０が接続されている。通信部３４は、たとえばＣＡＮ、Ｅｔｈｅｒｎｅｔ、またはＭＯＳＴ等の規格に応じて、ゲートウェイ１０との通信を行う。
通信部３４は、ＣＰＵ３１から与えられた情報をゲートウェイ１０へ送信するとともに、ゲートウェイ１０から受信した情報をＣＰＵ３１に与える。
【００５０】
〔サーバの内部構成〕
図４は、サーバ５の内部構成を示すブロック図である。
図４に示すように、サーバ５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、記憶部５４、および通信部５５などを備える。
【００５１】
ＣＰＵ５１は、ＲＯＭ５２に予め記憶された一または複数のプログラムをＲＡＭ５３に読み出して実行することにより、各ハードウェアの動作を制御し、サーバ５を分散処理システムにおけるサーバとして機能させる。ＣＰＵ５１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ５１の実現する機能は、複数のＣＰＵ群が協働して実現するものであってもよい。
ＲＡＭ５３は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ５１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００５２】
記憶部５４は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部５５は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網２に接続されて当該通信処理を実行する。通信部５５は、ＣＰＵ５１から与えられた情報を、広域通信網２を介して外部装置に送信するとともに、広域通信網２を介して受信した情報をＣＰＵ５１に与える。
【００５３】
〔ゲートウェイの機能構成〕
ゲートウェイ１０は、本分散処理システムにおける制御装置として機能して、演算処理能力のリソースであるＥＣＵ３０での分散処理の実行を制御する。図２を参照して、ゲートウェイ１０のＣＰＵ１１は当該制御を実現するための機能として、処理制御部１１１を含む。
【００５４】
ゲートウェイ１０の実行する制御は、サーバ５から分散処理の要求を受ける処理と、バッテリ６への電力供給の状態に応じて分散処理の実行の可否を判定する判定処理と、を含む。そのため、処理制御部１１１は、第１取得部１１２と、第２取得部１１３と、判定部１１４と、を含む。
【００５５】
第１取得部１１２で表されたＣＰＵ１１の機能（以下、第１取得部１１２）は、サーバ５からの分散処理の実行の要求を取得する。サーバ５からの分散処理の実行の要求は、無線通信部１５が受信する。第１取得部１１２は、無線通信部１５から入力される信号より、サーバ５からの分散処理の実行の要求を取得する。分散処理の実行の要求は、サーバ５からの分散処理の実行を指示するコマンドの受信であってもよいし、サーバ５からの分散処理用プログラムの受信であってもよい。
【００５６】
第２取得部１１３で表されたＣＰＵ１１の機能（以下、第２取得部１１３）は、バッテリ６への電力供給の状態を取得する。バッテリ６への電力供給の状態は、バッテリ６への電力供給の有無を含む。
【００５７】
バッテリ６への電力供給がある状態は、たとえば、バッテリ６が図示しない充電装置に接続されていることを指す。または、バッテリ６への電力供給ある状態は、バッテリ６に対して充電動作が行われている状態であってもよい。
【００５８】
第２取得部１１３は、バッテリ６を管理するＥＣＵ３０ＡがＣＡＮ通信で送信する情報であるフレームを取得する。ＥＣＵ３０Ａからのフレームには、バッテリ６が図示しない充電装置に接続されているか否かを示すデータ、または、バッテリ６に対して充電動作が行われているか否かを示すデータが含まれる。第２取得部１１３は、ＥＣＵ３０Ａから取得したフレームに含まれる上記データを参照することによって、バッテリ６への電力供給の有無を特定する。
【００５９】
なお、バッテリ６への電力供給の有無は、ゲートウェイ１０以外の装置で特定されてもよい。この場合、第２取得部１１３は、当該装置からバッテリ６への電力供給の状態を取得する。バッテリ６への電力供給の有無を特定する装置は、ＥＣＵ３０Ａであってもよいし、バッテリ６自身であってもよい。
【００６０】
判定部１１４で表されたＣＰＵ１１の機能（以下、判定部１１４）は、当該車両１が停車状態においてサーバ５から分散処理の実行が要求された場合に、判定処理を実行する。判定部１１４は、たとえば、ボデー系制御用ＥＣＵ（ボデーＥＣＵ）、パワートレイン制御用ＥＣＵ（パワートレインＥＣＵ）、配電制御ＥＣＵ、スマートキーからの電子信号を用いたユーザ認証を実行するＥＣＵ（スマートキー認証ＥＣＵ）、などから取得したフレームに含まれる車両１の状態を示すデータを参照することによって、分散処理の実行の可否を判定可能である。
【００６１】
処理制御部１１１で表されたＣＰＵ１１の機能（以下、処理制御部１１１）は、判定処理の結果にしたがって、ＥＣＵ３０で分散処理用プログラムの実行を開始させる。判定結果が分散処理が実行可能である場合、処理制御部１１１は分散処理の実行の指示を含むフレームを生成し、車内通信部１４に対象のＥＣＵ３０に送信させる。また、第１取得部１１２がサーバ５から受信した分散処理用プログラムが記憶部１３に記憶されている場合、処理制御部１１１は、車内通信部１４に、上記指示とともにＥＣＵ３０に対して当該プログラムを送信させる。
【００６２】
〔制御フロー〕
図５は、本実施の形態にかかるシステムにおいて、ゲートウェイ１０で実行される制御処理の一例を表したフローチャートである。図５のフローチャートで表された処理は、ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶されている制御用のプログラムをＲＡＭ１２上に読み出して実行し、図２に示された各機能を発揮することによって実現される。
【００６３】
図５を参照して、ゲートウェイ１０のＣＰＵ１１は、停車状態においてサーバ５から分散処理の要求を受信すると（ステップＳ１０１）、以降の判定処理を実行する。当該要求を受信したＣＰＵ１１は、バッテリ６が電力供給を受けているか否を特定する。バッテリ６が電力供給を受けていることが特定された場合（ステップＳ１０３でＹＥＳ）、ＣＰＵ１１は、分散処理の実行が可能と判定する（ステップＳ１０５）。この場合、ＣＰＵ１１は、分散処理を実行するＥＣＵ３０に対して、分散処理の実行を指示して（ステップＳ１０７）、一連の処理を終了する。
【００６４】
バッテリ６が電力供給を受けていることが特定されなかった場合、または、電力供給を受けていないことが特定された場合（ステップＳ１０３でＮＯ）、ＣＰＵ１１は、分散処理の実行が不可と判定する（ステップＳ１０９）。この場合、ＣＰＵ１１は、上記ステップＳ１０７をスキップして、一連の処理を終了する。
【００６５】
〔第１の実施の形態の効果〕
本実施の形態にかかるシステムでは、車両１に搭載されている分散処理用プログラムを実行可能な能力を有するＥＣＵ３０を、分散処理システムの演算処理能力のリソースとして活用することができる。車両１に搭載されているＥＣＵ３０を分散処理システムの演算処理能力のリソースとして活用することによって、新たにサーバ等の演算装置を設けることなく、既存の車両１のＥＣＵ３０を利用して分散処理が可能となる。そのため、分散処理システムを容易に構築することができる。
【００６６】
車両１の停車中にサーバ５からの要求に応じてＥＣＵ３０が分散処理用プログラムを実行する場合、当該処理のためにバッテリ６の電力を消費する。そのため、ＥＣＵ３０が分散処理の実行のために消費する電力が大きい場合には、バッテリ残量が車両１の走行に必要な量よりも不足する可能性もある。
【００６７】
これに対して、本システムでは、上記の制御が実行されることによって、停車状態においてサーバ５から分散処理が要求された場合に、バッテリ６が電力供給を受けている場合にはＥＣＵ３０が分散処理を実行し、そうでない場合にはＥＣＵ３０は分散処理を実行しない。これにより、バッテリ６が電力供給を受けていない状況下でＥＣＵ３０が分散処理を実行することによってバッテリ残量が車両の走行に必要な量よりも不足する、という事態を防止することができる。
【００６８】
＜第２の実施の形態＞
第１の実施の形態にかかるシステムでは、車両１が停車状態において、バッテリ６が電力供給を受けていない場合にはＥＣＵ３０において分散処理を実行しない。これにより、上記のようにバッテリ残量が車両の走行に必要な量よりも不足するという事態を防止することができる一方で、分散処理が実現されないという課題もある。
【００６９】
そこで、第２の実施の形態以降において、判定処理は、車両１が停車状態においてバッテリ６が電力供給を受けていない場合であっても分散処理を実行可能とする許可条件Ｃを設定し、当該条件を満たす場合には分散処理を実行可能と判定することを含む。許可条件Ｃは制御装置であるゲートウェイ１０に予め記憶されており、一例として、図２に示されるように記憶部１３に記憶されている。
【００７０】
第２の実施の形態にかかるシステムでは、許可条件Ｃは、バッテリ残量が所定量以上であることである。そのため、判定部１１４は、上記所定量に相当する閾値Ｔｈ１を記憶している。閾値Ｔｈ１は、たとえば、通常の分散処理に必要な電力量が消費された場合であっても、その後のバッテリ残量が車両１の走行に必要な蓄電量を満たしていると想定される電力量に相当する値であって、たとえば、バッテリ６の最大蓄電量の８０％である。閾値Ｔｈ１は、予め判定部１１４に記憶されていてもよいし、ユーザやカーメーカーなどによって設定されてもよい。
【００７１】
第２の実施の形態において、第２取得部１１３は、さらに、ＥＣＵ３０Ａからバッテリ残量を取得する。判定部１１４は、車両１が停車中の状態においてバッテリ６が電力供給を受けていない場合であっても、バッテリ残量が閾値Ｔｈ１以上である場合には、分散処理の実行が可能と判定する。バッテリ６が電力供給を受けていない場合であり、かつ、バッテリ残量が閾値Ｔｈ１未満である場合には、判定部１１４は、分散処理の実行が不可と判定する。
【００７２】
図６は、第２の実施の形態にかかるシステムにおいてゲートウェイ１０で実行される制御処理の一例を表したフローチャートである。図６のフローチャートで表された処理もまた、ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶されている制御用のプログラムをＲＡＭ１２上に読み出して実行し、図２に示された各機能を発揮することによって実現される。なお、図６において、図５のフローチャートと同じステップ番号が付された処理は、図５に示された処理と同じである。そのため、ここでの説明を繰り返さない。
【００７３】
図６を参照して、ゲートウェイ１０のＣＰＵ１１は、バッテリ６が電力供給を受けていると特定されなかった場合（ステップＳ１０３でＮＯ）、バッテリ残量が閾値Ｔｈ１以上であるか否かを判定する。バッテリ残量が閾値Ｔｈ１以上である場合（ステップＳ２０１でＹＥＳ）、ＣＰＵ１１は、分散処理の実行が可能と判定する（ステップＳ１０５）。この場合、ＣＰＵ１１は、分散処理を実行するＥＣＵ３０に対して、分散処理の実行を指示して（ステップＳ１０７）、一連の処理を終了する。
【００７４】
バッテリ６が電力供給を受けていると特定されなかった場合であって（ステップＳ１０３でＮＯ）、かつ、バッテリ残量が閾値Ｔｈ１未満である場合（ステップＳ２０１でＮＯ）、ＣＰＵ１１は、分散処理の実行が不可と判定する（ステップＳ１０９）。この場合、ＣＰＵ１１は、上記ステップＳ１０７をスキップして、一連の処理を終了する。
【００７５】
第２の実施の形態にかかるシステムにおいて上記の制御が実行されることによって、車両１が停車中の状態においてサーバ５から分散処理が要求された場合に、バッテリ６が電力供給を受けていない場合であっても、バッテリ残量が一定量以上である場合にはＥＣＵ３０が分散処理を実行する。閾値Ｔｈ１を適切に設定することによって、ＥＣＵ３０が分散処理を実行することで消費した電力量によって、バッテリ残量が車両の走行に必要な量よりも不足するという事態を防止することができるとともに、分散処理を実行可能と判定する機会を増加させることができる。そのため、当該車両１に搭載されているＥＣＵ３０が分散処理システムの演算処理能力のリソースとして用いられる可能性が高くなり、分散処理システムの構築を容易にできる。
【００７６】
＜第３の実施の形態＞
第３の実施の形態にかかるシステムでは、許可条件Ｃは、分散処理実行後のバッテリ６の蓄電量の予測量（以下、バッテリ予測残量と称する）が所定量以上であることである。そのため、判定部１１４は、上記所定量に相当する閾値Ｔｈ２を記憶している。閾値Ｔｈ２は、たとえば、車両１の走行に必要な電気量、または、当該電気量に安全代（マージン）を加えた電気量に相当する値である。閾値Ｔｈ２もまた、予め判定部１１４に記憶されていてもよいし、ユーザやカーメーカーなどによって設定されてもよい。
【００７７】
第３の実施の形態にかかるシステムにおいて、第２取得部１１３は、ＥＣＵ３０Ａからバッテリ残量を取得する。そして、判定部１１４は、バッテリ予測残量ＰＭを算出する。一例として、判定部１１４は、分散処理による消費電力量Ｐを取得し、バッテリ残量ＰＣから除する（ＰＭ＝ＰＣ−Ｐ）。判定部１１４が消費電力量Ｐを取得することは、消費電力量Ｐを算出することであってもよいし、サーバ５から消費電力量Ｐを示す情報を受信することであってもよい。
【００７８】
消費電力量Ｐは、一例として、予め記憶しているプログラムの単位サイズあたりのＥＣＵ３０での消費電力ｐを、サーバ５から受信した分散処理用プログラムのサイズＳに消費電力ｐを乗じて得られる（Ｐ＝ｐ×Ｓ）。
【００７９】
第３の実施の形態において、判定部１１４は、バッテリ６が電力供給を受けていない場合に、バッテリ予測残量ＰＭを算出する。そして、バッテリ予測残量ＰＭが閾値Ｔｈ２以上である場合には、分散処理の実行が可能と判定する。バッテリ６が電力供給を受けていない場合であり、かつ、バッテリ予測残量ＰＭが閾値Ｔｈ２未満である場合、判定部１１４は、分散処理の実行が不可と判定する。
【００８０】
図７は、第３の実施の形態にかかるシステムにおいてゲートウェイ１０で実行される制御処理の一例を表したフローチャートである。図７のフローチャートで表された処理もまた、ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶されている制御用のプログラムをＲＡＭ１２上に読み出して実行し、図２に示された各機能を発揮することによって実現される。なお、図７においても、図５のフローチャートと同じステップ番号が付された処理は、図５に示された処理と同じである。そのため、ここでの説明を繰り返さない。
【００８１】
図７を参照して、ゲートウェイ１０のＣＰＵ１１は、バッテリ６が電力供給を受けていると特定されなかった場合（ステップＳ１０３でＮＯ）、バッテリ予測残量ＰＭを算出する（ステップＳ３０１）。バッテリ予測残量ＰＭが閾値Ｔｈ２以上である場合（ステップＳ３０３でＹＥＳ）、ＣＰＵ１１は、分散処理の実行が可能と判定する（ステップＳ１０５）。この場合、ＣＰＵ１１は、分散処理を実行するＥＣＵ３０に対して、分散処理の実行を指示して（ステップＳ１０７）、一連の処理を終了する。
【００８２】
バッテリ６が電力供給を受けていると特定されなかった場合であって（ステップＳ１０３でＮＯ）、かつ、バッテリ予測残量ＰＭが閾値Ｔｈ２未満である場合（ステップＳ３０３でＮＯ）、ＣＰＵ１１は、分散処理の実行が不可と判定する（ステップＳ１０９）。この場合、ＣＰＵ１１は、上記ステップＳ１０７をスキップして、一連の処理を終了する。
【００８３】
第３の実施の形態にかかるシステムにおいて上記の制御が実行されることによって、車両１が停車中の状態においてサーバ５から分散処理が要求された場合に、バッテリ６が電力供給を受けていない場合であっても、分散処理の実行後に予測されるバッテリ残量（バッテリ予測残量）が一定量以上である場合にはＥＣＵ３０が分散処理を実行する。本実施の形態にかかるシステムでは、分散処理に要する消費電力量を用いて分散処理の実行の可否を判定するため、バッテリ残量が車両の走行に必要な量よりも不足するという事態を、より防止することができる。
【００８４】
＜第４の実施の形態＞
第４の実施の形態にかかるシステムでは、許可条件Ｃは、ユーザの許可があることである。そのため、判定部１１４は、上記のバッテリ予測残量を算出して、ユーザに提示する。判定部１１４でのバッテリ予測残量の算出は、第３の実施の形態にかかるシステムと同様である。
【００８５】
バッテリ予測残量の提示は、一例として、当該車両１のユーザの携帯するスマートフォンなどのユーザインタフェース９によって行われる。そのため、処理制御部１１１は、ユーザインタフェース９へのアクセス情報を予め記憶しておく。当該アクセス情報は、ユーザによって設定されてもよい。
【００８６】
処理制御部１１１は、判定部１１４において算出されたバッテリ予測残量をユーザインタフェース９に表示するための情報を生成し、無線通信部１５に、広域通信網２を介してユーザインタフェース９に送信させる。
【００８７】
車両１にディスプレイなどのユーザインタフェース７が含まれている場合、上記のユーザインタフェース９に替えて、または、加えて、ユーザインタフェース７によってバッテリ予測残量を提示してもよい。この場合、処理制御部１１１は、判定部１１４において算出されたバッテリ予測残量を示すデータを含むフレームを生成し、車内通信部１４にユーザインタフェース７を制御するＥＣＵ３０Ｃに送信させるとともに、表示を指示する。
【００８８】
図８は、ユーザインタフェース９に表示されるバッテリ予測残量を示す画面の一例を表した図である。図８を参照して、表示画面は、分散処理に関する情報を表示する領域Ｃ１１と、当該分散処理の実行を指示するためのボタンＣ１２と、実行しないことを指示するためのボタンＣ１３と、を含む。
【００８９】
分散処理に関する情報は、たとえば、消費電力量を示す情報や、分散処理に要する時間を示す情報を含む。図８の画面例においては、消費電力を示す情報は、分散処理に必要な消費電力量のバッテリ残量に対する割合（２０％）である。
【００９０】
好ましくは、領域Ｃ１１は、バッテリ予測残量の表示Ｃ１１１を含む。表示Ｃ１１１は、分散処理実行前のバッテリ残量と、分散処理実行後のバッテリ予測残量との表示を含む。図例では、バッテリ残量が８０％であり、バッテリ予測残量が６０％である。表示Ｃ１１１は、たとえば、図示されたように、蓄電量に応じてセグメント数や面積や長さなどが異なる画像である。なお、バッテリ予測残量の表示Ｃ１１１は、図８に示されたように、バッテリ６の全容量（満充電した場合の電気量）に対する蓄電量の割合で表されてもよいし、電力量で表されてもよいし、当該蓄電量で走行可能な最大距離（航続距離）で表されてもよいし、これらのうちの２つ以上での表示が含まれてもよい。これは、以降の実施の形態においても同様である。バッテリ予測残量がこのように表示されることによって、ユーザは、バッテリ予測残量を把握しやすくなり、分散処理の実行の可否を判断しやすくなる。
【００９１】
これらの消費電力を示す情報をユーザインタフェース９に表示させるために、処理制御部１１１は消費電力量Ｐを算出する。消費電力量Ｐの算出は、一例として、第３の実施の形態にかかるシステムと同様の方法である。また、処理制御部１１１は、分散処理に要する時間Ｔを算出する。時間Ｔは、一例として、予め記憶している、プログラムの単位サイズあたりのＥＣＵ３０での処理時間ｔを、サーバ５から受信した分散処理用プログラムのサイズＳに乗じて得られる（Ｔ＝ｔ×Ｓ）。
【００９２】
第４の実施の形態において、判定部１１４は、当該画面をユーザインタフェース９に表示させた後に、ユーザから実行が指示された場合に、分散処理の実行が可能と判定する。実行の指示は、一例として、ユーザインタフェース９から受信する。ユーザインタフェース９は、図８の画面においてボタンＣ１２またはボタンＣ１３が操作（タッチ、または押下）されると、操作されたボタンを示す情報を広域通信網２を介してゲートウェイ１０に送信する。判定部１１４は、無線通信部１５から入力された信号が、ユーザインタフェース９からボタンＣ１２が操作されたことを示す情報を受信したことを示す信号である場合に、分散処理の実行が可能と判定する。
【００９３】
好ましくは、分散処理に関する情報は、当該分散処理を実行することによって演算処理能力のリソースとなるＥＣＵ３０を搭載した車両１のユーザに与えられる報酬（インセンティブ）に関する情報を含む。報酬は、たとえば、金員や、特定の得点と変換可能なポイント、物品、などである。処理制御部１１１は、サーバ５から当該情報を受信して、当該情報を含む画面をユーザインタフェース９に表示するための情報を生成し、無線通信部１５に、広域通信網２を介してユーザインタフェース９に送信させる。
【００９４】
図９は、第４の実施の形態にかかるシステムにおいてゲートウェイ１０で実行される制御処理の一例を表したフローチャートである。図９のフローチャートで表された処理もまた、ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶されている制御用のプログラムをＲＡＭ１２上に読み出して実行し、図２に示された各機能を発揮することによって実現される。なお、図９においても、図５のフローチャートと同じステップ番号が付された処理は、図５に示された処理と同じである。そのため、ここでの説明を繰り返さない。
【００９５】
図９を参照して、ゲートウェイ１０のＣＰＵ１１は、バッテリ６が電力供給を受けていると特定されなかった場合（ステップＳ１０３でＮＯ）、バッテリ予測残量ＰＭを算出する（ステップＳ４０３）。ＣＰＵ１１は、当該車両１のユーザと関連付けて予め記憶しているユーザインタフェース９に、バッテリ予測残量ＰＭを含む、図８のような画面を表示させるための情報を送信する（ステップＳ４０５）。
【００９６】
その後、分散処理の実行を指示するユーザ操作が入力されると（ステップＳ４０７でＹＥＳ）、ＣＰＵ１１は、分散処理の実行が可能と判定する（ステップＳ１０５）。たとえば、ユーザインタフェース９から当該ユーザ操作がなされたことを示す情報が送信される。この場合、ＣＰＵ１１は、分散処理を実行するＥＣＵ３０に対して分散処理の実行を指示して（ステップＳ１０７）、一連の処理を終了する。
【００９７】
第４の実施の形態にかかるシステムでは、ユーザが車両１を駐車している間にサーバ５から分散処理の実行が要求されると、当該ユーザの携帯するスマートフォンなどのユーザインタフェース９に、図８の画面が表示されることが想定される。ユーザは、図８の画面を見ることによって、車両１の走行予定（距離等）などとバッテリ予測残量とを比較したり、車両１の走行予定（発車時刻）などと処理時間とを比較したり、それらと報酬とのバランスを考慮したりして、当該分散処理の実行の可否を判断することができる。
【００９８】
第４の実施の形態にかかるシステムにおいて上記の制御が実行されることによって、車両１が停車中の状態においてサーバ５から分散処理が要求された場合に、バッテリ６が電力供給を受けていない場合であっても、当該処理による消費電力量に基づいてユーザが許可した場合にはＥＣＵ３０が分散処理を実行する。このため、ユーザの使い勝手を向上させることができる。
【００９９】
このとき、図８に示されたように、分散処理による消費電力量のみならず、処理時間や報酬などもユーザインタフェース９によってユーザに提示されることで、ユーザは、様々な情報に基づいて分散処理の実行の可否を判断することができる。
【０１００】
＜変形例＞
上記の例では、車両１が停車中の状態においてサーバ５から分散処理が要求された場合に、バッテリ６が電力供給を受けていない場合には、すべての分散処理についてユーザによる実行の可否の判断および操作が必要となる。そのため、ユーザによっては煩雑に感じる場合もある。そこで、変形例にかかるシステムでは、許可条件Ｃがユーザによって設定される条件である事前条件を含み、当該事前条件を満たす場合には判定処理を実行することなく実行可能と判定する。
【０１０１】
事前条件は、少なくとも、分散処理が要求される時刻が含まれる時間帯（第１条件）と、バッテリ残量の閾値Ｔｈ１（第２条件）とを含む。第１条件は、分散処理が実行可能なＥＣＵ３０が他の処理を行っていない時間帯が想定される。他の処理を行っていない時間帯は、車両１が走行していない時間帯を含み、たとえば、０：００〜５：００および９：００〜１７：００の時間帯である。第２条件は、上記のように、たとえばバッテリ６の最大蓄電量の８０％である。なお、ここでは、第２条件とするバッテリ残量の閾値が第２の実施の形態における制御処理で用いられた閾値Ｔｈ１と同じものとしているが、異なる閾値であってもよい。
【０１０２】
判定部１１４は、第１条件が満たされ、かつ、第２条件が満たされる場合には、判定処理を実行することなく分散処理を実行可能と判定する。たとえば、上の例の場合、サーバ５から分散処理の実行が要求された時刻が上記時間帯に属し、かつ、サーバ５から要求された時点におけるバッテリ残量が８０％以上である場合、判定部１１４は、判定処理を実行することなく分散処理を実行可能と判定する。
【０１０３】
事前条件は、上記第１条件および第２条件に加えて、分散処理の依頼者を特定する情報（第３条件）や、単位処理時間あたりの報酬量（第４条件）などを含んでもよい。第３条件に関して、判定部１１４は、第１条件および第２条件を満たすことに加えて、たとえば、サーバ５が特定の依頼者に関連付けられたサーバであった場合に、判定処理を実行することなく分散処理を実行可能と判定する。第４条件に関して、判定部１１４は、第１条件および第２条件を満たすことに加えて、たとえば、単位処理時間あたりの報酬額が事前条件で規定された金額以上である場合に、判定処理を実行することなく分散処理を実行可能と判定する。
【０１０４】
変形例にかかるシステムでは、ゲートウェイ１０のＣＰＵ１１は、図９に示されたように、サーバ５から分散処理の要求を受信すると（ステップＳ１０１）、まず、事前条件を満たすか否かを確認する。そして、事前条件を満たす場合には（ステップＳ４０１でＹＥＳ）、判定処理の実行をスキップして、分散処理の実行を指示する（ステップＳ１０７）。事前条件を満たさない場合に（ステップＳ４０１でＮＯ）、ステップＳ４０３以降の判定処理を実行する。
【０１０５】
変形例にかかるシステムにおいて上記の制御が実行されることによって、ユーザが設定した事前条件を満たす場合には、ユーザが実行の要否を確認することなく分散処理が実行される。ユーザによる車両１の使用予定などに応じて予め事前条件を設定しておくことで、実行を指示するユーザ操作を抑えることができ、ユーザの使い勝手をより向上させることができる。
【０１０６】
＜第５の実施の形態＞
第５の実施の形態にかかるシステムでは、許可条件Ｃは、バッテリ予測残量が所定量以上であることであって、サーバ５から複数の分散処理の実行が要求された場合に、その中から許可条件Ｃを満たす分散処理を実行可能と判定する。判定部１１４でのバッテリ予測残量の算出は、第３の実施の形態にかかるシステムと同様である。ここでは、上記所定量に相当する閾値が第３の実施の形態にかかるシステムと同じ閾値Ｔｈ２とするが、他の閾値であってもよい。
【０１０７】
第５の実施の形態において、判定部１１４は、車両１が停車中の状態においてバッテリ６が電力供給を受けていない場合に、各分散処理についてのバッテリ予測残量を算出する。一例として、判定部１１４は、当該複数の分散処理のうちの、バッテリ予測残量が閾値Ｔｈ２以上となる分散処理を実行可能と判定する。
【０１０８】
該当する分散処理が複数ある場合、一例として、判定部１１４は、該当する複数の分散処理のうちの、消費電力量が最大の分散処理を実行可能と判定する。これにより、分散処理システムにより大きく貢献することができる。または、消費電力量が最小の分散処理を実行可能と判定してもよい。これにより、当該処理を実行するＥＣＵの負荷を小さくすることができる。
【０１０９】
なお、分散処理を実行可能な複数のＥＣＵが当該車両１に搭載されている場合、判定部１１４は、該当する複数の分散処理のうちの、併せて処理した後のバッテリ予測残量が閾値Ｔｈ２以上となる複数の分散処理を実行可能と判定してもよい。これにより、分散処理システムにより大きく貢献することができる。
【０１１０】
図１０は、第５の実施の形態にかかるシステムにおいてゲートウェイ１０で実行される制御処理の一例を表したフローチャートである。図１０のフローチャートで表された処理もまた、ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶されている制御用のプログラムをＲＡＭ１２上に読み出して実行し、図２に示された各機能を発揮することによって実現される。なお、図１０についても、図５のフローチャートと同じステップ番号が付された処理は、図５に示された処理と同じである。そのため、ここでの説明は繰り返さない。
【０１１１】
図１０を参照して、ゲートウェイ１０のＣＰＵ１１は、サーバ５から複数の分散処理の実行の要求を受信すると（ステップＳ５０１）、バッテリ６が電力供給を受けていると特定されなかった場合（ステップＳ１０３でＮＯ）、要求された各分散処理について、バッテリ予測残量を算出する（ステップＳ５０３）。
【０１１２】
複数の分散処理のうち、バッテリ予測残量が閾値Ｔｈ２以上の分散処理がある場合（ステップＳ５０５でＹＥＳ）、当該分散処理の実行が可能と判定する（ステップＳ１０５）。バッテリ予測残量が閾値Ｔｈ２以上である分散処理が複数ある場合、ＣＰＵ１１は、一例としてその中から消費電力量が最大となる分散処理を選択する（ステップＳ５０７）。そして、ＣＰＵ１１は、選択した分散処理の実行が可能と判定する（ステップＳ１０５）。ＣＰＵ１１は、分散処理を実行するＥＣＵ３０に対して、分散処理の実行を指示して（ステップＳ１０７）、一連の処理を終了する。
【０１１３】
サーバ５から要求された複数の分散処理のうちに、バッテリ予測残量が閾値Ｔｈ２以上である分散処理が１つもない場合には（ステップＳ５０５でＮＯ）、ＣＰＵ１１は、いずれの分散処理も実行が不可と判定する（ステップＳ１０９）。この場合、ＣＰＵ１１は、上記ステップＳ１０７をスキップして、一連の処理を終了する。
【０１１４】
第５の実施の形態にかかるシステムにおいては、バッテリ６が電力供給を受けていると特定された場合に（ステップＳ１０３でＹＥＳ）、一例として、ＣＰＵ１１は、サーバ５から実行を要求された複数の分散処理のうちの消費電力量が最大となる分散処理を選択する（ステップＳ５０７）。そして、ＣＰＵ１１は、選択した分散処理の実行が可能と判定する（ステップＳ１０５）。なお、分散処理を実行可能な複数のＥＣＵが当該車両１に搭載されている場合であって、サーバ５から要求された分散処理の数が当該ＥＣＵの数以下である場合に、ＣＰＵ１１は、ステップ５０７をスキップして、ステップＳ１０５で、サーバ５から実行を要求された複数の分散処理すべてを実行可能と判定してもよい。
【０１１５】
上記ステップＳ５０１でサーバ５から複数の分散処理Ａ，Ｂ，Ｃの実行の要求を受信し、上記ステップＳ５０３で分散処理Ａ〜Ｃについて下のようにバッテリ予測残量が算出されたとする。
分散処理Ａ：１４００［Ｗｈ］（消費電力量１００［Ｗｈ］）
分散処理Ｂ：１４５０［Ｗｈ］（消費電力量５０［Ｗｈ］）
分散処理Ｃ：１１００［Ｗｈ］（消費電力量４００［Ｗｈ］）
【０１１６】
バッテリ６が電力供給を受けていない場合、閾値Ｔｈ２が１２００［Ｗｈ］であるときには、上記ステップＳ５０５で分散処理Ｃの実行が不可と判定される。処理Ａ，Ｂについては、上記ステップＳ５０７で消費出力量が最大となる分散処理Ａが選択され、実行可能と判定される。
【０１１７】
バッテリ６が電量供給を受けている場合、上記ステップＳ５０７で消費出力量が最大となる分散処理Ｃが選択され、実行可能と判定される。このように、第５の実施の形態にかかるシステムでは、車両１が停車中の状態において複数の分散処理の実行が要求された場合に、バッテリに対する負荷を考慮して実行可能な分散処理を選択することができる。
【０１１８】
また、他の例として、分散処理を実行可能な複数のＥＣＵが車両１に搭載されている場合には、各ＥＣＵ３０が、バッテリ予測残量の合計が一定量以上を満たす複数の分散処理を実行してもよい。これにより、より多くの分散処理を同時に実行でき、分散処理システムに大きく貢献することができる。
【０１１９】
＜第６の実施の形態＞
第６の実施の形態にかかるシステムでは、許可条件Ｃは、ユーザの許可があることであって、判定処理では、サーバ５から複数の分散処理の実行が要求された場合に、その中から許可条件Ｃを満たす分散処理が実行可能と判定される。そのため、判定部１１４は、サーバ５から実行が要求された複数の分散処理それぞれについてバッテリ予測残量を算出して、ユーザに提示する。判定部１１４でのバッテリ予測残量の算出は、第３の実施の形態にかかるシステムと同様である。処理制御部１１１でのバッテリ予測残量の提示は、第４の実施の形態にかかるシステムと同様である。
【０１２０】
図１１（Ａ）〜図１１（Ｃ）は、それぞれ、ユーザインタフェース９に表示されるバッテリ予測残量を示す画面の一例を表した図である。これら画面は、サーバ５から以下の分散処理Ａ，Ｂ，Ｃの実行が要求された場合に、ユーザインタフェース９に表示される画面である。詳しくは、図１１（Ａ）はいずれの分散処理も選択されていない状態、図１１（Ｂ）は分散処理Ａが選択された状態、図１１（Ｂ）は分散処理Ａと分散処理Ｂとの両方が選択された状態を示している。
分散処理Ａ：消費電力量２０％、処理時間３０分、報酬１０００円
分散処理Ｂ：消費電力量１０％、処理時間１０分、報酬５００円
分散処理Ｃ：消費電力量５０％、処理時間９０分、報酬５００円
【０１２１】
図１１（Ａ）を参照して、表示画面は、分散処理に関する情報を表示する領域Ｃ２１と、複数の分散処理（図例では分散処理Ａ，Ｂ，Ｃ）それぞれを選択するためのボタンＣ２２〜Ｃ２４と、１または複数の選択された分散処理の実行を指示するためのボタンＣ２３と、実行しないことを指示するためのボタンＣ２６と、を含む。分散処理に関する情報はたとえば、第４の実施の形態と同様である。
【０１２２】
好ましくは、図８の画面例と同様に、領域Ｃ２１は、バッテリ予測残量の表示Ｃ２１１を含む。図１１（Ａ）に示される、いずれの分散処理も選択されていない状態で、表示Ｃ２１１は、バッテリ残量を示す。図例では、バッテリ残量が８０％である。表示Ｃ２１１は、たとえば、図示されたように、蓄電量に応じてセグメント数や面積や長さなどが変化する画像である。
【０１２３】
図１１（Ｂ）を参照して、分散処理Ａが選択されると、表示Ｃ２１１は、バッテリ残量（８０％）から消費電力量２０％を除いたバッテリ予測残量（６０％）に変化する。図１１（Ｃ）を参照して、分散処理Ａと分散処理Ｂとが選択されると、表示Ｃ２１１は、バッテリ残量（８０％）から消費電力量２０％および消費電力量１０％を除いたバッテリ予測残量（５０％）に変化する。このように分散処理の選択に応じてバッテリ予測残量が表示されることで、ユーザは、バッテリ予測残量を考慮して実行する分散処理を選択し易くなる。また、図示されたように、バッテリ量が上記のような画像で表されることで、ユーザはバッテリ予測残量を一目で把握することができる。
【０１２４】
第６の実施の形態においても、第４の実施の形態と同様に、判定部１１４は当該画面をユーザインタフェース９に表示させた後にユーザから実行する分散処理が選択され、当該処理の実行が指示された場合に、選択された分散処理の実行が可能と判定する。分散処理の選択および実行の指示は、第４の実施の形態と同様である。
【０１２５】
図１２は、第６の実施の形態にかかるシステムにおいてゲートウェイ１０で実行される制御処理の一例を表したフローチャートである。図１０のフローチャートに表された処理もまた、ゲートウェイ１０のＣＰＵ１１が記憶部１３に記憶されている制御用のプログラムをＲＡＭ１２上に読み出して実行し、図２に示された各機能を発揮することによって実現される。なお、図１２においても、図５のフローチャートと同じステップ番号が付された処理は、図５に示された処理と同じである。そのため、ここでの説明を繰り返さない。
【０１２６】
図１２を参照して、ゲートウェイ１０のＣＰＵ１１は、車両１が停車中の状態においてサーバ５から複数の分散処理の実行の要求を受信すると（ステップＳ６０１）、バッテリ６が電力供給を受けていると特定されなかった場合（ステップＳ１０３でＮＯ）、要求された各分散処理について、バッテリ予測残量を算出する（ステップＳ６０３）。ＣＰＵ１１は、当該車両１のユーザと関連付けて予め記憶しているユーザインタフェース９に、各分散処理のバッテリ予測残量を含む、図１１（Ａ）〜図１１（Ｃ）のような画面を表示させるための情報を送信する（ステップＳ６０５）。
【０１２７】
その後、分散処理の選択および実行を指示するユーザ操作が入力されると（ステップＳ６０７でＹＥＳ）、ＣＰＵ１１は、選択された分散処理の実行が可能と判定する（ステップＳ１０５）。この場合、ＣＰＵ１１は、分散処理を実行するＥＣＵ３０に対して分散処理の実行を指示して（ステップＳ１０７）、一連の処理を終了する。
【０１２８】
第６の実施の形態にかかるシステムにおいて上記の制御が実行されることによって、サーバ５から分散処理が要求された場合に、バッテリ６が電力供給を受けていない場合であっても、ユーザが実行を許可した分散処理についてＥＣＵ３０が実行する。これにより、ユーザは、サーバ５から実行が要求された複数の分散処理の中から実行する分散処理を選択して指示することができるため、ユーザの使い勝手を向上させることができる。
【０１２９】
このとき、図１１に示されたように、各分散処理による消費電力量や、実行に要する時間や、報酬などの情報がユーザインタフェース９によってユーザに提示されるため、ユーザは、これらの情報に基づいて実行する分散処理を選択することができる。
【０１３０】
＜変形例＞
なお、第６の実施の形態の制御処理においても、第４の実施の形態での制御処理と同様に、事前条件を満たさない場合に判定処理を実行し、満たす場合には判定処理を実行せずに分散処理の実行可と判定してもよい。これにより、実行する分散処理を選択したり、実行を指示したりするユーザ操作を抑えることができ、ユーザの使い勝手をより向上させることができる。
【０１３１】
＜他の例１＞
なお、上の説明では、第４の実施の形態での制御処理および第６の実施の形態での制御処理において、変形例として事前条件を用いるものとしている。これにより、これら実施の形態にかかるシステムにおいて必要とされる、分散処理の実行を指示したり、実行する分散処理を選択したりするユーザ操作を抑え、ユーザの使い勝手を向上させることができるためである。
【０１３２】
しかしながら、これら実施の形態４，６のみに限定されず、上記したいずれの実施の形態においても事前条件が用いられてもよい。たとえば、第１の実施の形態の制御処理においては、ステップＳ１０１でサーバ５から分散処理の実行の要求を受信した場合、ＣＰＵ１１は、事前条件が満たされる場合、つまり、少なくとも、受信時刻が所定の時間帯に属し（第１条件）、かつ、バッテリ残量が閾値Ｔｈ１以上である場合（第２条件）、ステップＳ１０３の判定処理を実行することなく、ステップＳ１０５で当該処理を実行可能と判定してよい。
【０１３３】
実施の形態４，６以外の実施の形態にかかるシステムにおいて事前条件が用いられることによって、事前条件を満たすことが判定されると判定処理を不要とすることができる。それ故、制御処理を容易にすることができる。
【０１３４】
＜他の例２＞
以上の説明では、上記の制御処理が、すべて、ゲートウェイ１０のＣＰＵ１１によって行われているものとしている。しかしながら、上の例は一例に過ぎず、分散処理システム上のいずれの装置で行われてもよい。すなわち、分散処理システムにおける制御装置はゲートウェイ１０に限定されず、他の装置であってもよい。他の例として、サーバ５側で制御処理の少なくとも一部が実行されてもよい。この場合、分散システムにおける制御装置は、サーバ５とゲートウェイ１０とが協働して実現される。たとえば、図４に示されたように、サーバ５のＣＰＵ５１は、取得部５１２、および判定部１１４に相当する判定部５１３で表された機能を有する。取得部５１２は、ゲートウェイ１０の第２取得部１１３で取得されたバッテリ６への電力供給状態をゲートウェイ１０から受信する。判定部５１３は判定処理を実行する。サーバ５は、判定部５１３での判定処理の結果にしたがって、ゲートウェイ１０に対して分散処理の実行の要求を行う。
【０１３５】
サーバ５側で制御処理を実行する場合であっても、上記した各実施の形態と同様に制御処理を実現することができる。サーバ５側で制御処理を実行することによって、サーバ５からゲートウェイ１０への要求を判定結果に基づいて行うことができるため、分散処理システム全体での通信を抑えることができる。
【０１３６】
開示された特徴は、１つ以上のモジュールによって実現される。たとえば、当該特徴は、回路素子その他のハードウェアモジュールによって、当該特徴を実現する処理を規定したソフトウェアモジュールによって、または、ハードウェアモジュールとソフトウェアモジュールとの組み合わせによって実現され得る。
【０１３７】
上述の動作をコンピュータに実行させるための、１つ以上のソフトウェアモジュールの組み合わせであるプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１３８】
なお、本開示にかかるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
【０１３９】
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１４０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４１】
１  車両
２  広域通信網
４  車内ネットワーク
５  サーバ
６  バッテリ
７  ユーザインタフェース
９  ユーザインタフェース
１０  ゲートウェイ
１１  ＣＰＵ
１２  ＲＡＭ
１３  記憶部
１４  車内通信部
１５  無線通信部
３０  ＥＣＵ
３１  ＣＰＵ
３２  ＲＡＭ
３３  記憶部
３４  通信部
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  記憶部
５５  通信部
１１１  処理制御部（制御部）
１１２  第１取得部
１１３  第２取得部
１１４  判定部（制御部）
３１１  通常処理部
３１２  分散処理部
５１２  取得部
５１３  判定部（制御部）
Ｃ１１，Ｃ２１  領域
Ｃ１２，Ｃ１３，Ｃ２２〜Ｃ２６  ボタン
Ｃ１１１，Ｃ２１１  表示
【図１】
2019036017.tif 000003
【図２】
2019036017.tif 000004
【図３】
2019036017.tif 000005
【図４】
2019036017.tif 000006
【図５】
2019036017.tif 000007
【図６】
2019036017.tif 000008
【図７】
2019036017.tif 000009
【図８】
2019036017.tif 000010
【図９】
2019036017.tif 000011
【図１０】
2019036017.tif 000012
【図１１】
2019036017.tif 000013
【図１２】
2019036017.tif 000014