(57)【要約】【課題】駆動システムの駆動状態に応じた電子機器へのプログラム書換を行う。【解決手段】情報処理装置は、取得部と、書換制御部と、を備える。取得部は、複数の電子機器を備えた駆動システムの駆動状態を取得する。書換制御部は、駆動状態に基づいて、複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する。【選択図】図３
2020057355.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子機器を備えた駆動システムの駆動状態を取得する取得部と、
前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する書換制御部と、
を備える情報処理装置。
【請求項２】
前記書換制御部は、
前記駆動状態と、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能か否かと、に基づいて、書換対象の前記電子機器へのプログラム書換を制御する、
請求項１に記載の情報処理装置。
【請求項３】
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御する、
請求項２に記載の情報処理装置。
【請求項４】
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、書換対象の前記電子機器へのプログラム書換完了後に、再起動を実行するように該電子機器を制御する、
請求項３に記載の情報処理装置。
【請求項５】
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、機能制限が解除された解除状態となるように、機能制限された制限状態にある書込対象外の前記電子機器を制御する、
請求項３または請求項４に記載の情報処理装置。
【請求項６】
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、前記駆動状態が駆動停止中を示すまで、プログラム書換の実行を待機するように書換対象の前記電子機器を制御する、
請求項２〜請求項５の何れか１項に記載の情報処理装置。
【請求項７】
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御し、該電子機器へのプログラム書換が完了し且つ前記駆動状態が駆動停止中を示すまで、再起動の実行を待機するように該電子機器を制御する、
請求項２〜請求項５の何れか１項に記載の情報処理装置。
【請求項８】
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、書換対象の前記電子機器へのプログラム書換の実行中、機能制限された制限状態となるように書換対象外の前記電子機器を制御する、
請求項２〜請求項７の何れか１項に記載の情報処理装置。
【請求項９】
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御し、該電子機器へのプログラム書換が完了したときに、再起動を実行するように該電子機器を制御する、
請求項２〜請求項８の何れか１項に記載の情報処理装置。
【請求項１０】
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御する、
請求項２〜請求項９の何れか１項に記載の情報処理装置。
【請求項１１】
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御し、該電子機器へのプログラム書換が完了したときに、再起動を実行するように該電子機器を制御する、
請求項１０に記載の情報処理装置。
【請求項１２】
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、書換対象の前記電子機器へのプログラム書換の実行中、機能制限された制限状態となるように書換対象外の前記電子機器を制御する、
請求項１０または請求項１１に記載の情報処理装置。
【請求項１３】
前記書換制御部は、
書換対象の前記電子機器に電力が供給されていない場合、プログラム書換実行前に、該電子機器への電力供給を開始するように電力供給部を制御する、
請求項２〜請求項１２の何れか１項に記載の情報処理装置。
【請求項１４】
複数の電子機器を備えた駆動システムの駆動状態を取得する処理と、
前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する処理と、
をコンピュータに実行させるためのプログラム。
【請求項１５】
駆動システムに搭載され、複数の電子機器と、前記電子機器と通信可能な情報処理装置と、を備えた情報処理システムであって、
前記情報処理装置は、
前記駆動システムの駆動状態を取得する取得部と、
前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する書換制御部と、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）などの電子機器を複数備え、これらの複数の電子機器によって駆動する駆動システムが知られている。また、特定の電子機器のプログラムを書換えるシステムとして、プログラム書換対象外の電子機器を、車載ネットワークへのデータ送信停止状態へ移行させた後に、プログラム書換対象の電子機器においてプログラムの書き換えを実行する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２８５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術では、駆動システムの駆動状態に拘らず、書換対象外の電子機器の機能を制限しており、プログラム書換中の駆動システムの駆動が制限される場合があった。
【０００５】
本開示が解決しようとする課題は、駆動システムの駆動状態に応じた電子機器へのプログラム書換を行うことができる、情報処理装置、プログラム、および情報処理システムを提供することである。
【課題を解決するための手段】
【０００６】
本開示の情報処理装置は、取得部と、書換制御部と、を備える。取得部は、複数の電子機器を備えた駆動システムの駆動状態を取得する。書換制御部は、前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する。
【０００７】
本開示のプログラムは、複数の電子機器を備えた駆動システムの駆動状態を取得する処理と、前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する処理と、をコンピュータに実行させるためのプログラムである。
【０００８】
本開示の情報処理システムは、駆動システムに搭載され、複数の電子機器と、前記電子機器と通信可能な情報処理装置と、を備えた情報処理システムであって、前記情報処理装置は、取得部と、書換制御部と、を備える。取得部は、複数の電子機器を備えた駆動システムの駆動状態を取得する。書換制御部は、前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する。
【発明の効果】
【０００９】
本開示に係る情報処理装置、プログラム、および情報処理システムによれば、プログラム書換中の駆動システムの駆動制限を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施の形態に係る情報処理システムの模式図である。
【図２】図２は、第１の実施の形態に係る情報処理装置のハードウェア構成図である。
【図３】図３は、第１の実施の形態および第２の実施の形態に係る移動体の機能ブロック図である。
【図４Ａ】図４Ａは、第１の実施の形態に係る駆動情報のデータ構成を示す模式図である。
【図４Ｂ】図４Ｂは、第１の実施の形態に係る制御情報のデータ構成を示す模式図である。
【図５】図５は、第１の実施の形態に係る情報処理の手順のフローチャートである。
【図６】図６は、第２の実施の形態に係る制御情報のデータ構成を示す模式図である。
【図７】図７は、第２の実施の形態に係る情報処理の手順のフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本開示に係る情報処理装置、プログラム、および情報処理システムの実施の形態について説明する。
【００１２】
（第１の実施の形態）
図１は、本実施の形態の情報処理システム１の一例を示す模式図である。本実施の形態では、情報処理システム１は、移動体２に搭載されている。
【００１３】
移動体２は、駆動システムの一例である。駆動システムは、少なくとも一部が駆動可能な装置である。駆動システムは、例えば、地面に対して移動不可能な非移動体、地面に対して移動可能な移動体、の何れであってもよい。
【００１４】
非移動体は、例えば、地面に対して固定され、少なくとも一部が駆動するロボットなどである。移動体は、例えば、車両（自動二輪車、自動四輪車）、船舶、飛翔体（飛行機、ヘリコプター、飛行船、ドローン）などである。
【００１５】
本実施の形態では、駆動システムが、移動体２である場合を一例として説明する。移動体２は、人による運転操作を介して進行する移動体、および、人による運転操作を介さずに自動的に進行（自律進行）可能な移動体、の何れであってもよい。また、本実施の形態では、移動体２が、車両である場合を一例として説明する。また、本実施の形態では、移動体２の駆動が、車両の走行を意味する場合を、一例として説明する。なお、移動体２の駆動は、移動体２の少なくとも一部の機能が動作することを示せばよく、走行に限定されない。
【００１６】
情報処理システム１は、情報処理装置１０と、複数の電子機器２０と、を備える。情報処理装置１０と複数の電子機器２０とは、サブネットワーク３を介して通信可能に接続されている。
【００１７】
サブネットワーク３は、移動体２内に配置されたネットワークである。移動体２が車両である場合、サブネットワーク３は、車載ネットワークと称される場合がある。移動体２内には、複数のサブネットワーク３が配置されていてもよい。図１には、一例として、サブネットワーク３Ａおよびサブネットワーク３Ｂの２つのサブネットワーク３が移動体２内に配置された形態を示した。しかし、移動体２内に配置されるサブネットワーク３の数は、２つに限定されない。
【００１８】
電子機器２０は、移動体２に搭載された各種の機構を制御する。
【００１９】
移動体２に搭載された機構は、例えば、移動体２のエンジン、モータ、メータ、トランスミッション、ブレーキ、ランプ、パワーステアリング、エアコディショナー、オーディオ、ナビゲーション、等である。すなわち、機構には、移動体２の駆動に関わる機構が含まれる。なお、機構は、移動体２などの駆動システムに搭載され、電子機器２０によって制御される機構であればよく、これらに限定されない。
【００２０】
電子機器２０には、コントローラが搭載されている。コントローラは、該コントローラに予めインストールされているプログラムを実行することで、予め定められた機構に対する制御処理を実行する。電子機器２０は、例えば、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）である。具体的には、電子機器２０は、エンジン制御装置、ストップ・スタート制御装置、トランスミッション制御装置、エアバッグ制御装置、パワーステアリング制御装置、ナビゲーション制御装置、車線維持制御装置、車間距離制御装置、などである。
【００２１】
例えば、電子機器２０は、サブネットワーク３を介した他の電子機器２０とのデータ通信などにより、移動体２に搭載された各機構を制御する。電子機器２０によって機構が制御されることで、移動体２は駆動する。すなわち、移動体２は、複数の電子機器２０が連携してエンジン、モータ、またはアクセルなどの機構を制御することで、駆動する。
【００２２】
なお、移動体２の駆動に関する機構を制御する電子機器２０は、移動体２が予め定めた正常な駆動条件で駆動するように、該機構を制御する。正常な駆動条件とは、例えば、駆動範囲、駆動力、制限速度、車間距離、車線維持、などの、予め定めた規則を満たす条件である。正常な駆動条件は、例えば、安全規則などの予め定められた規則に従った条件とすればよい。正常な駆動条件は、移動体２の製造時などに予め設定すればよい。また、正常な駆動条件は、ユーザによる操作指示などによって、適宜変更可能としてもよい。
【００２３】
図１には、情報処理システム１が、複数の電子機器２０として、電子機器２０Ａ〜電子機器２０Ｈを備えた形態を一例として示した。しかし、情報処理システム１が備える電子機器２０の数は、これらに限定されない。
【００２４】
情報処理装置１０は、複数の電子機器２０の各々へのプログラム書換を制御する（詳細後述）。本実施の形態では、情報処理装置１０を、情報処理システム１に含まれるゲートウェイ装置（以下、ＧＷと略称する場合がある）に搭載した形態を、一例として説明する。
【００２５】
ＧＷは、情報処理システム１内の、複数のサブネットワーク３（サブネットワーク３Ａ、サブネットワーク３Ｂ）間の通信の中継、および、情報処理システム１と移動体２の外部の外部装置３０との間の通信の中継などを実行する。すなわち、本実施の形態では、情報処理装置１０は、情報処理システム１におけるＧＷとしての機能に加えて、電子機器２０のプログラム書換を制御する。
【００２６】
情報処理装置１０と外部装置３０とは、無線通信などにより外部ネットワーク４を介して通信可能に接続されている。外部ネットワーク４は、移動体２の外部に設けられたネットワークである。なお、情報処理システム１は、外部装置３０を更に備えた構成であってもよい。すなわち、移動体２は、外部装置３０を更に搭載した構成であってもよい。
【００２７】
本実施の形態では、外部装置３０は、移動体２の外部に設けられた形態を、一例として説明する。
【００２８】
次に、ハードウェア構成を説明する。
【００２９】
図２は、情報処理装置１０のハードウェア構成図の一例である。
【００３０】
情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１Ａ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１Ｂ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１Ｃ、およびＩ／Ｆ１１Ｄ等がバス１１Ｅにより相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
【００３１】
ＣＰＵ１１Ａは、本実施の形態の情報処理装置１０を制御する演算装置である。ＲＯＭ１１Ｂは、ＣＰＵ１１Ａによる各種処理を実現するプログラム等を記憶する。ＲＡＭ１１Ｃは、ＣＰＵ１１Ａによる各種処理に必要なデータを記憶する。Ｉ／Ｆ１１Ｄは、データを送受信するためのインターフェースである。
【００３２】
本実施の形態の情報処理装置１０で実行される情報処理を実行するためのプログラムは、ＲＯＭ１１Ｂ等に予め組み込んで提供される。なお、本実施の形態の情報処理装置１０で実行されるプログラムは、情報処理装置１０にインストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供するように構成してもよい。
【００３３】
次に、情報処理装置１０の機能的構成を説明する。
【００３４】
図３は、情報処理装置１０を搭載した移動体２の機能ブロック図の一例である。
【００３５】
移動体２は、上述したように、複数の電子機器２０と、情報処理装置１０と、を備える。また、移動体２は、出力部１２と、センサ１４と、電力供給部１６と、を備える。
【００３６】
出力部１２、センサ１４、および電力供給部１６は、情報処理装置１０とデータまたは信号を授受可能に接続されている。
【００３７】
出力部１２は、各種情報を出力する。出力部１２は、例えば、各種情報を、外部ネットワーク４を介して外部装置３０などの機器へ送信する通信機能、各種情報を表示する表示機能、各種情報を示す音を出力する音出力機能、などを備える。出力部１２が表示機能を備える場合、出力部１２は、例えば、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、投影装置、またはライトなどを備える。出力部１２が音出力機能を備える場合、出力部１２は、スピーカを備える。
【００３８】
センサ１４は、移動体２の情報を観測するセンサである。本実施の形態では、センサ１４は、移動体２の駆動状態を観測する。駆動状態は、駆動中または駆動停止中を示す情報である。センサ１４は、観測結果として、駆動状態を情報処理装置１０へ出力する。
【００３９】
駆動中とは、移動体２が駆動中であることを示す。詳細には、駆動中とは、移動体２における、駆動可能な機構が駆動中であることを示す。移動体２が車両である場合、駆動中とは、移動体２のエンジンの駆動などによってタイヤが回転駆動することで、移動体２が走行中であることを示す。本実施の形態では、駆動中とは、移動体２が走行中であることを示す場合を、一例として説明する。
【００４０】
駆動停止中とは、移動体２における、駆動可能な機構が停止中であることを示す。移動体２が車両である場合、駆動停止中とは、移動体２のエンジンシの停止およびブレーキの駆動等によって、移動体２が走行を停止（すなわち駆動停止）した状態であることを意味する。本実施の形態では、駆動停止中とは、移動体２が走行を停止した状態を示す場合を、一例として説明する。
【００４１】
センサ１４は、例えば、慣性計測装置（ＩＭＵ：Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）、速度センサ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等である。ＩＭＵは、移動体２の三軸加速度および三軸角速度などを得る。
【００４２】
電力供給部１６は、複数の電子機器２０の各々へ電力を供給する。電力供給部１６は、情報処理装置１０または移動体２に設けられた機構などの制御によって、電子機器２０へ電力を供給する。
【００４３】
次に、情報処理装置１０の機能的構成を説明する。情報処理装置１０は、制御部４０と、第１通信部４２と、第２通信部４４と、記憶部４６と、を備える。制御部４０と、第１通信部４２と、第２通信部４４と、記憶部４６とは、バスＢを介してデータまたは信号を授受可能に接続されている。
【００４４】
第１通信部４２は、外部ネットワーク４を介して外部装置３０と通信する。第２通信部４４は、サブネットワーク３を介して複数の電子機器２０の各々と通信する。
【００４５】
記憶部４６は、各種データを記憶する。記憶部４６は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部４６は、情報処理装置１０の外部に設けられた記憶装置であってもよい。また、記憶部４６は、移動体２の外部に設けられた記憶装置であってもよい。また、記憶部４６は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムまたは各種情報を、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）およびインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部４６を、複数の記憶媒体から構成してもよい。
【００４６】
制御部４０は、情報処理装置１０を制御する。なお、本実施の形態では、制御部４０は、ＧＷとしての機能を実現するための処理を実行する共に、電子機器２０へのプログラム書換制御を行う。
【００４７】
制御部４０は、受信部４０Ａと、特定部４０Ｂと、取得部４０Ｃと、書換制御部４０Ｄと、を備える。
【００４８】
受信部４０Ａ、特定部４０Ｂ、取得部４０Ｃ、および書換制御部４０Ｄの一部または全ては、例えば、ＣＰＵ１１Ａ（図２参照）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００４９】
受信部４０Ａは、書換情報を受信する。書換情報は、プログラムを書換える対象の電子機器２０の識別情報と、プログラムと、書換指示信号と、を含む。識別情報を、以下では、ＩＤと称して説明する場合がある。また、プログラムを書換える対象の電子機器２０を、以下では、書換対象の電子機器２０と称して説明する場合がある。また、プログラムを書換える対象となっていない電子機器２０を、書換対象外の電子機器２０と称して説明する場合がある。
【００５０】
「プログラムを書換える」とは、電子機器２０にインストールされているプログラムの少なくとも一部を書換える事を意味する。具体的には、「プログラムを書換える」とは、少なくとも一部が修正または変更された新たなプログラムを電子機器２０にインストールすることを意味する。電子機器２０にインストールする新たなプログラムは、書換情報に含まれるプログラムである。
【００５１】
本実施の形態では、受信部４０Ａは、第１通信部４２を介して外部装置３０から、書換情報を受信する。なお、受信部４０Ａは、記憶部４６から書換情報を読取ることで、書換情報を受信してもよい。
【００５２】
特定部４０Ｂは、書換情報に含まれる識別情報によって示される書換対象の電子機器２０へのプログラム書換の実行中に、移動体２が正常駆動可能であるか否かを特定する。
【００５３】
正常駆動可能とは、移動体２が、上述した正常な駆動条件を満たす駆動を実行可能であることを示す。一方、正常駆動不可能とは、移動体２が、上述した正常な駆動条件を満たす駆動を実行不可能であることを示す。
【００５４】
ここで、上述したように、移動体２は、複数の電子機器２０が連携して駆動に関する機構を制御することで、駆動する。また、プログラム書換の実行中の電子機器２０は、移動体２に搭載された機構の制御を実行することは困難である。これは、プログラム書換の実行中の電子機器２０は、サブネットワーク３を介したデータ送信の少なくとも一部を実行することが困難なためである。このため、書換対象の電子機器２０へのプログラム書換の実行中に、移動体２が駆動すると、移動体２の駆動に関する機構が正常に制御されず、移動体２が正常駆動することが困難となる場合がある。
【００５５】
そこで、本実施の形態では、特定部４０Ｂは、書換対象の電子機器２０へのプログラム書換の実行中に、移動体２が正常駆動可能であるか否かを特定する。
【００５６】
本実施の形態では、特定部４０Ｂは、駆動情報４６Ａを用いて、正常駆動可能であるか否かを特定する。
【００５７】
図４Ａは、駆動情報４６Ａのデータ構成の一例を示す模式図である。駆動情報４６Ａは、電子機器２０のＩＤと、正常駆動可否情報と、を対応付けた情報である。
【００５８】
正常駆動可否情報は、対応するＩＤによって識別される電子機器２０へのプログラム書換の実行中に、該電子機器２０の搭載された移動体２が正常に駆動可能であるか否を示す情報である。
【００５９】
具体的には、正常駆動可否情報は、正常駆動可能、または正常駆動不可能を示す情報である。正常駆動可能とは、対応するＩＤによって識別される電子機器２０へのプログラム書換の実行中であっても、移動体２が正常駆動可能であることを示す。正常駆動不可能とは、対応するＩＤによって識別される電子機器２０へのプログラム書換の実行中は、移動体２が正常に駆動することが不可能であることを示す。
【００６０】
制御部４０は、移動体２に搭載された電子機器２０の各々のＩＤに対応する正常駆動可否情報を、予め駆動情報４６Ａに登録すればよい。駆動情報４６Ａは、ユーザによる操作指示などによって適宜変更可能としてもよい。また、制御部４０は、第１通信部４２を介して外部装置３０などから駆動情報４６Ａを受信し、記憶部４６へ記憶してもよい。また、駆動情報４６Ａは、移動体２の製造時に、記憶部４６へ記憶されてもよい。
【００６１】
図３に戻り、説明を続ける。次に、取得部４０Ｃについて説明する。取得部４０Ｃは、センサ１４から駆動状態の観測結果を取得することで、駆動状態を取得する。すなわち、取得部４０Ｃは、移動体２が駆動中（すなわち、走行中）であるか、あるいは停止中であるか、を示す駆動状態をセンサ１４から取得する。
【００６２】
次に、書換制御部４０Ｄについて説明する。書換制御部４０Ｄは、取得部４０Ｃで取得した駆動状態に基づいて、書換対象の電子機器２０へのプログラム書換を制御する。
【００６３】
すなわち、書換制御部４０Ｄは、取得部４０Ｃで取得した駆動状態が駆動中を示すか停止中を示すかに応じて、受信部４０Ａで受信した書換情報に含まれるＩＤによって識別される電子機器２０へのプログラム書換を制御する。
【００６４】
例えば、書換制御部４０Ｄは、取得部４０Ｃで取得した駆動状態が停止中を示す場合、プログラム書換を実行するように書換対象の電子機器２０を制御する。一方、書換制御部４０Ｄは、取得部４０Ｃで取得した駆動状態が駆動中を示す場合、プログラム書換の実行を待機するように書換対象の電子機器２０を制御する。
【００６５】
なお、書換制御部４０Ｄは、以下の方法により、プログラム書換を実行するように電子機器２０を制御すればよい。例えば、書換制御部４０Ｄは、受信部４０Ａで受付けた書換情報に含まれるプログラムと、書換指示とを、第２通信部４４およびサブネットワーク３を介して書換対象の電子機器２０へ出力する。該プログラムおよび該書換指示を受付けた電子機器２０のプロセッサは、受付けたプログラムへの書換を実行することで、書換情報に含まれるプログラムに書換えられる。これらの処理により、書換制御部４０Ｄは、プログラム書換を実行するように電子機器２０を制御すればよい。
【００６６】
また、書換制御部４０Ｄが、書換情報に含まれるプログラムを、書換対象の電子機器２０へインストールする処理を実行することで、プログラム書換を実行してもよい。なお、プログラム書換を実行するように電子機器２０を制御する方法は、限定されない。なお、以下では、「プログラム書換を実行するように電子機器２０を制御する」ことを、単に、「プログラム書換を実行する」と称して説明する場合がある。
【００６７】
なお、書換制御部４０Ｄは、以下の方法により、プログラム書換の実行を待機するように書換対象の電子機器２０を制御すればよい。例えば、書換制御部４０Ｄは、受信部４０Ａで受付けた書換情報に含まれるプログラムと、書換指示とを、書換対象の電子機器２０へ出力するタイミングを、取得部４０Ｃで取得した駆動状態が駆動停止中を示すタイミングとなるまで待機する。そして、書換制御部４０Ｄは、駆動停止中を示すタイミングとなったときに、該プログラムと書換指示とを、書換対象の電子機器２０へ出力すればよい。
【００６８】
また、書換制御部４０Ｄは、書換情報に含まれるプログラムを、書換対象の電子機器２０へインストールする処理を、取得部４０Ｃで取得した駆動状態が駆動停止中を示すタイミングとなるまで待機してもよい。なお、プログラム書換の実行を待機するように電子機器２０を制御する方法は、限定されない。なお、以下では、「プログラム書換の実行を待機するように電子機器２０を制御する」ことを、単に、「プログラム書換の実行を待機する」と称して説明する場合がある。
【００６９】
書換制御部４０Ｄは、移動体２の駆動状態と、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能か否かと、に基づいて、書換対象の電子機器２０へのプログラム書換を制御することが好ましい。
【００７０】
以下、移動体２の駆動状態と、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能か否かと、の各組合せに応じた、書換制御部４０Ｄの制御について具体的に説明する。
【００７１】
本実施の形態では、書換制御部４０Ｄは、制御情報４６Ｂを用いて、以下の処理を実行する。制御情報４６Ｂは、予め記憶部４６に記憶すればよい。
【００７２】
図４Ｂは、制御情報４６Ｂのデータ構成の一例を示す模式図である。制御情報４６Ｂは、駆動状態と、正常駆動可否情報と、制御内容と、を対応付けた情報である。書換制御部４０Ｄは、制御情報４６Ｂにおける、駆動状態および制御駆動可否情報に対応する制御内容の制御を実行する。
【００７３】
まず、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能と特定された場合を説明する。この場合、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を実行する。
【００７４】
このように、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能であると特定される場合には、書換制御部４０Ｄは、該電子機器２０へのプログラム書換を実行する。このため、書換制御部４０Ｄは、移動体２の正常な駆動条件を満たす駆動を維持しつつ、書換対象の電子機器２０へのプログラム書換を実行することができる。
【００７５】
ここで、制御部４０の処理などにより、移動体２に搭載された複数の電子機器２０の内の少なくとも１つが、機能制限された制限状態となっている場合がある。
【００７６】
制限状態とは、電子機器２０の少なくとも一部の機能が制限された状態を示す。具体的には、制限状態とは、サブネットワーク３を介したデータ送信の少なくとも一部が制限された状態、または、供給される電力量が予め定めた値以下に制限された状態を示す。
【００７７】
例えば、移動体２のアイドリング時などには、制御部４０の処理などにより、パワーステアリング制御装置または車線維持制御装置などの電子機器２０は、サブネットワーク３を介した他の電子機器２０などへのデータまたは信号の送信を停止することで、パワーステアリング制御または車線維持制御などの実行を停止する場合がある。この停止した状態が、制限状態の一例に相当する。一方、供給される電力量が予め定めた値以下に制限された状態は、省電力モードと称される場合がある。省電力モードの状態は、例えば、移動体２が信号待ちなどの停止中にエンジンを停止したアイドリングストップの状態などである。すなわち、電子機器２０の少なくとも一部が制限状態にある場合、移動体２は、駆動を停止した状態となる。
【００７８】
そこで、書換制御部４０Ｄは、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能である場合、機能制限が解除された解除状態となるように書換対象外の電子機器２０を制御してもよい。
【００７９】
このように、書換制御部４０Ｄが、書込対象外の電子機器２０を解除状態に制御することで、書込対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能であると特定される場合には、書込対象外の電子機器２０が正常に機能する。このため、この場合、書換制御部４０Ｄは、移動体２の正常な駆動条件を満たす駆動が制限されることを抑制することができる。
【００８０】
次に、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合を説明する。この場合、書換制御部４０Ｄは、駆動状態が駆動停止中を示すまで、プログラム書換の実行を待機する。
【００８１】
また、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合、書換制御部４０Ｄは、特定のメッセージを、出力部１２へ出力することが好ましい。このメッセージは、例えば、電子機器２０へのプログラム書換を移動体２の駆動停止後に実行することを示すメッセージである。
【００８２】
例えば、書換制御部４０Ｄは、該メッセージを出力部１２へ表示する。また、書換制御部４０Ｄは、該メッセージを示す音声を出力部１２から出力する。移動体２に乗車したユーザは、これらのメッセージを視認または視聴することで、該メッセージを確認することができる。また、書換制御部４０Ｄは、該メッセージを、出力部１２および外部ネットワーク４を介して、予め定めたユーザによって操作される端末装置へ送信してもよい。端末装置を操作するユーザは、該端末装置で受信した該メッセージを確認することで、移動体２の電子機器２０へのプログラム書換を移動体２の停止後に実行することを把握することができる。
【００８３】
次に、移動体２の駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合を説明する。
【００８４】
この場合、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を実行すると共に、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換の実行中、機能制限された制限状態となるように、書換対象外の電子機器２０を制御する。機能制限の定義は、上述したため、ここでは説明を省略する。
【００８５】
このように、書換制御部４０Ｄは、移動体２が駆動停止中である場合、書換対象外の電子機器２０を、サブネットワーク３へのデータ送信停止などの制限状態にすることで、移動体２が走行などの駆動を行う事を抑制しつつ、書換対象の電子機器２０へのプログラム書換を実行することができる。
【００８６】
また、書換対象外の電子機器２０を制限状態にすることで、書換対象外の電子機器２０がサブネットワーク３へデータ送信することが抑制され、書換対象の電子機器２０へのプログラム書換の実行中のサブネットワーク３の通信速度低下を抑制することができる。このため、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を、書換時間の遅延を抑制した状態で実行することができる。
【００８７】
また、移動体２の駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合、書換制御部４０Ｄは、所定のメッセージを出力部１２へ出力することが好ましい。
【００８８】
このメッセージは、例えば、電子機器２０へのプログラム書換の実行と、書換の実行中に移動体２の駆動が制限されることを示すメッセージである。例えば、書換制御部４０Ｄは、該メッセージを出力部１２へ表示する。また、書換制御部４０Ｄは、該メッセージを示す音声を出力部１２から出力する。移動体２に乗車したユーザは、これらのメッセージを視認または視聴することで、該メッセージを確認することができる。また、書換制御部４０Ｄは、該メッセージを、出力部１２および外部ネットワーク４を介して、予め定めたユーザによって操作される端末装置へ送信してもよい。
【００８９】
次に、移動体２の駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能であると特定されたと場合を説明する。
【００９０】
この場合、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を実行する。
【００９１】
すなわち、移動体２が駆動停止中であり、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能である場合には、書換制御部４０Ｄは、該電子機器２０へのプログラム書換を実行する。
【００９２】
なお、書換制御部４０Ｄは、駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能である場合には、以下の処理を実行することが好ましい。具体的には、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換の実行中、機能制限された制限状態となるように、書換対象外の電子機器２０を制御することが好ましい。
【００９３】
ここで、制御部４０または移動体２に搭載された各種の機構の制御などにより、移動体２に搭載された複数の電子機器２０の内の少なくとも１つが、電力供給を遮断された状態となっている場合がある。
【００９４】
そこで、書換制御部４０Ｄは、書換対象の電子機器２０に電力が供給されていない場合、プログラム書換実行前に、該電子機器２０への電力供給を開始するように電力供給部１６を制御することが好ましい。電力供給部１６は、書換制御部４０Ｄに制御によって、電力供給対象の電子機器２０への電力供給を開始または再開する。
【００９５】
次に、制御部４０が実行する情報処理の手順を説明する。
【００９６】
図５は、本実施の形態の制御部４０が実行する情報処理の手順の一例を示す、フローチャートである。
【００９７】
まず、受信部４０Ａが、書換情報を受信したか否かを判断する（ステップＳ１００）。ステップＳ１００で否定判断すると（ステップＳ１００：Ｎｏ）、本情報処理を終了する。ステップＳ１００で肯定判断すると（ステップＳ１００：Ｙｅｓ）、ステップＳ１０２へ進む。
【００９８】
ステップＳ１０２では、特定部４０Ｂが、移動体２の正常駆動可否を特定する（ステップＳ１０２）。詳細には、特定部４０Ｂは、ステップＳ１００で受信した書換情報に含まれるＩＤに対応する正常駆動可否情報を、駆動情報４６Ａから読取る。この処理により、特定部４０Ｂは、ステップＳ１００で受信した書換情報に含まれるＩＤによって識別される書換対象の電子機器２０がプログラム書換中であっても、移動体２が正常駆動可能であるか否かを特定する。
【００９９】
次に、取得部４０Ｃが、移動体２の駆動状態を取得する（ステップＳ１０４）。取得部４０Ｃは、センサ１４から駆動状態の観測結果を取得する。
【０１００】
次に、書換制御部４０Ｄは、ステップＳ１０４で取得した駆動状態の観測結果に基づいて、移動体２が駆動中か否かを判断する（ステップＳ１０６）。
【０１０１】
移動体２が駆動中と判断された場合（ステップＳ１０６：Ｙｅｓ）、ステップＳ１０８へ進む。ステップＳ１０８では、書換制御部４０Ｄは、ステップＳ１０２で特定した正常駆動可否が、正常駆動可能を示すか否を判断する（ステップＳ１０８）。正常駆動可能を示すと判断した場合（ステップＳ１０８：Ｙｅｓ）、ステップＳ１１０へ進む。
【０１０２】
ステップＳ１１０では、書換制御部４０Ｄは、書換対象外の電子機器２０を、解除状態に制御する（ステップＳ１１０）。すなわち、書換制御部４０Ｄは、ステップＳ１００で受信したＩＤによって特定される書換対象の電子機器２０以外の電子機器２０を、機能制限が解除された解除状態となるように制御する。
【０１０３】
次に、書換制御部４０Ｄは、書換対象の電子機器２０に電力が供給されているか否かを判断する（ステップＳ１１２）。電力供給中である場合（ステップＳ１１２：Ｙｅｓ）、後述するステップＳ１１６へ進む。電力が供給されていない場合（ステップＳ１１２：Ｎｏ）、ステップＳ１１４へ進む。
【０１０４】
ステップＳ１１４では、書換制御部４０Ｄは、書換対象の電子機器２０への電力供給を開始するように電力供給部１６を制御する（ステップＳ１１４）。ステップＳ１１４の処理によって、書換対象の電子機器２０へ電力が供給される。そして、ステップＳ１１６へ進む。
【０１０５】
ステップＳ１１６では、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ１１６）。そして、プログラム書換が完了したか否かを判断する（ステップＳ１１８）。ステップＳ１１８で否定判断すると（ステップＳ１１８：Ｎｏ）、ステップＳ１１６へ戻る。一方、プログラム書換が完了したと判断すると（ステップＳ１１８：Ｙｅｓ）、上記ステップＳ１００へ戻る。
【０１０６】
一方、上記ステップＳ１０８で、書換制御部４０Ｄが、正常駆動不可能を示すと判断した場合（ステップＳ１０８：Ｎｏ）、ステップＳ１２０へ進む。
【０１０７】
ステップＳ１２０では、書換制御部４０Ｄは、メッセージを出力部１２へ出力する（ステップＳ１２０）。該メッセージは、上述したように、電子機器２０へのプログラム書換を移動体２の駆動停止後に実行することなどを示す。
【０１０８】
次に、書換制御部４０Ｄは、移動体２が駆動を停止したか否かを判断する（ステップＳ１２２）。ステップＳ１２２では、書換制御部４０Ｄは、新たにセンサ１４から取得した駆動状態の観測結果が駆動停止中を示すか否かを判別することで、ステップＳ１２２の判断を行う。書換制御部４０Ｄは、ステップＳ１２２で肯定判断するまで（ステップＳ１２２：Ｙｅｓ）、否定判断（ステップＳ１２２：Ｎｏ）を繰返す。ステップＳ１２２で肯定判断すると（ステップＳ１２２：Ｙｅｓ）、後述するステップＳ１４２へ進む。
【０１０９】
一方、上記ステップＳ１０６において、移動体２が駆動停止中と判断された場合（ステップＳ１０６：Ｎｏ）、ステップＳ１２４へ進む。
【０１１０】
ステップＳ１２４では、書換制御部４０Ｄは、ステップＳ１０２で特定した正常駆動可否が、正常駆動可能を示すか否を判断する（ステップＳ１２４）。正常駆動可能を示すと判断した場合（ステップＳ１２４：Ｙｅｓ）、ステップＳ１２６へ進む。
【０１１１】
ステップＳ１２６では、書換制御部４０Ｄは、書換対象外の電子機器２０を、機能制限された制限状態に制御する（ステップＳ１２６）。
【０１１２】
次に、書換制御部４０Ｄは、書換対象の電子機器２０に電力が供給されているか否かを判断する（ステップＳ１２８）。電力供給中である場合（ステップＳ１２８：Ｙｅｓ）、後述するステップＳ１３２へ進む。電力が供給されていない場合（ステップＳ１２８：Ｎｏ）、ステップＳ１３０へ進む。
【０１１３】
ステップＳ１３０では、書換制御部４０Ｄは、書換対象の電子機器２０への電力供給を開始するように電力供給部１６を制御する（ステップＳ１３０）。そして、ステップＳ１３２へ進む。
【０１１４】
ステップＳ１３２では、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ１３２）。そして、書換制御部４０Ｄは、プログラム書換が完了したか否かを判断する（ステップＳ１３４）。ステップＳ１３４で肯定判断すると（ステップＳ１３４：Ｙｅｓ）、ステップＳ１３６へ進む。
【０１１５】
ステップＳ１３６では、書換制御部４０Ｄは、ステップＳ１２６で制限状態に制御した電子機器２０を解除状態に制御する（ステップＳ１３６）。そして、上記ステップＳ１００へ戻る。
【０１１６】
一方、ステップＳ１３４で否定判断すると（ステップＳ１３４：Ｎｏ）、ステップＳ１３８へ進む。
【０１１７】
ステップＳ１３８では、書換制御部４０Ｄは、移動体２が駆動を開始したか否かを判断する（ステップＳ１３８）。書換制御部４０Ｄは、新たにセンサ１４から取得した駆動状態の観測結果が駆動中を示すか否かを判別することで、ステップＳ１３８の判断を行う。ステップＳ１３８で否定判断すると（ステップＳ１３８：Ｎｏ）、上記ステップＳ１３２へ戻る。ステップＳ１３８で肯定判断すると（ステップＳ１３８：Ｙｅｓ）、ステップＳ１４０へ進む。
【０１１８】
ステップＳ１４０では、書換制御部４０Ｄは、ステップＳ１２６で制限状態に制御した電子機器２０を解除状態に制御する（ステップＳ１４０）。そして、上記ステップＳ１３２へ戻る。
【０１１９】
一方、ステップＳ１２４で、正常駆動不可能を示すと判断した場合（ステップＳ１２４：Ｎｏ）、ステップＳ１４２へ進む。
【０１２０】
ステップＳ１４２では、書換制御部４０Ｄは、メッセージを出力部１２へ出力する（ステップＳ１４２）。ステップＳ１４２では、書換制御部４０Ｄは、電子機器２０へのプログラム書換の実行と、書換の実行中に移動体２の駆動が制限されること、などを示すメッセージを出力部１２へ出力する。
【０１２１】
次に、書換制御部４０Ｄは、書換対象外の電子機器２０を、機能制限された制限状態に制御する（ステップＳ１４４）。
【０１２２】
次に、書換制御部４０Ｄは、書換対象の電子機器２０に電力が供給されているか否かを判断する（ステップＳ１４６）。電力供給中である場合（ステップＳ１４６：Ｙｅｓ）、後述するステップＳ１５０へ進む。電力が供給されていない場合（ステップＳ１４６：Ｎｏ）、ステップＳ１４８へ進む。
【０１２３】
ステップＳ１４８では、書換制御部４０Ｄは、書換対象の電子機器２０への電力供給を開始するように電力供給部１６を制御する（ステップＳ１４８）。そして、ステップＳ１５０へ進む。
【０１２４】
ステップＳ１５０では、書換制御部４０Ｄは、移動体２の駆動制限を開始する（ステップＳ１５０）。例えば、書換制御部４０Ｄは、移動体２の走行に関する制御を行う電子機器２０、および、移動体２の走行に関与する機構に対して、移動体２の走行を制限するための指示信号を送信する。この指示信号の送信により、移動体２は、駆動を制限される。
【０１２５】
ステップＳ１５２では、書換制御部４０Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ１５２）。そして、書換制御部４０Ｄは、プログラム書換が完了したか否かを判断する（ステップＳ１５４）。ステップＳ１５４で否定判断すると（ステップＳ１５４：Ｎｏ）、上記ステップＳ１５２へ戻る。
【０１２６】
ステップＳ１５４で肯定判断すると（ステップＳ１５４：Ｙｅｓ）、ステップＳ１５６へ進む。ステップＳ１５６では、書換制御部４０Ｄは、ステップＳ１５０で開始した移動体２の駆動制限を解除する（ステップＳ１５６）。ステップＳ１５６の処理によって、移動体２は、駆動、すなわち走行可能な状態となる。
【０１２７】
次に、書換制御部４０Ｄは、ステップＳ１４４で制限状態に制御した電子機器２０を解除状態に制御する（ステップＳ１５８）。そして、上記ステップＳ１００へ戻る。
【０１２８】
以上説明したように、本実施の形態の情報処理装置１０は、取得部４０Ｃと、書換制御部４０Ｄと、を備える。取得部４０Ｃは、複数の電子機器２０を備えた移動体２（駆動システム）の駆動状態を取得する。書換制御部４０Ｄは、駆動状態に基づいて、複数の電子機器２０に含まれる、プログラムの書換対象の電子機器２０へのプログラム書換を制御する。
【０１２９】
ここで、従来では、移動体２の駆動状態に係らず、書換対象外の電子機器２０の機能を制限した上で、書換対象の電子機器２０へのプログラム書換を実行していた。このため、書換対象外の電子機器２０に、移動体２の駆動制御に関わる電子機器２０が含まれる場合、移動体２が正常な駆動条件を満たす駆動を行うことが困難となる場合があった。
【０１３０】
一方、本実施の形態の情報処理装置１０は、移動体２の駆動状態に基づいて、書換対象の電子機器２０へのプログラム書換を実行する。
【０１３１】
このため、本実施の形態の情報処理装置１０では、移動体２の駆動状態に応じて、書換対象の電子機器２０へのプログラム書換の実行およびプログラム書換の待機などを行うことができる。例えば、本実施の形態の情報処理装置１０では、プログラム書換の実行中であっても移動体２が正常な駆動条件を満たす駆動を行う事が可能な場合には、移動体２が駆動中であっても、書換対象外の電子機器２０の機能を制限することなく、書換対象の電子機器２０へのプログラム書換を実行することができる。
【０１３２】
従って、本実施の形態の情報処理装置１０は、プログラム書換中の移動体２（駆動システム）の駆動制限を抑制することができる。
【０１３３】
（第２の実施の形態）
本実施の形態では、書換対象の電子機器２０へのプログラム書換および該電子機器２０の再起動を制御する形態を説明する。なお、本実施の形態において、第１の実施の形態と同一の構成および機能には、同じ符号を付与し、詳細な説明を省略する場合がある。
【０１３４】
本実施の形態の情報処理システム１は、情報処理装置１０に代えて情報処理装置１１を備える（図３参照）。
【０１３５】
情報処理装置１１は、制御部４１と、第１通信部４２と、第２通信部４４と、記憶部４７と、を備える。情報処理装置１１は、制御部４０および記憶部４６に代えて、制御部４１および記憶部４７を備える。
【０１３６】
記憶部４７は、各種データを記憶する。本実施の形態では、記憶部４７は、駆動情報４６Ａと、制御情報４７Ｂと、を記憶する。すなわち、記憶部４７は、第１の実施の形態の制御情報４６Ｂに代えて、制御情報４７Ｂを記憶する。制御情報４７Ｂの詳細は後述する。
【０１３７】
制御部４１は、受信部４０Ａと、特定部４０Ｂと、取得部４０Ｃと、書換制御部４１Ｄと、を備える。すなわち、制御部４１は、第１の実施の形態の書換制御部４０Ｄに代えて、書換制御部４１Ｄを備える。
【０１３８】
書換制御部４１Ｄは、書換制御部４０Ｄと同様に、取得部４０Ｃで取得した駆動状態に基づいて、書換対象の電子機器２０へのプログラム書換を制御する。
【０１３９】
ここで、本実施の形態では、情報処理システム１に設けられた複数の電子機器２０の各々のメモリ領域が、プログラムの書換領域と、実行領域と、を含む形態を想定する。書換領域は、メモリ領域における、電子機器２０にインストールされているプログラムの書換時に用いる領域である。実行領域は、電子機器２０にインストールされているプログラムの実行時に該プログラムを展開して実行するために用いる領域である。
【０１４０】
電子機器２０のプログラムの書換を実行した後に、書換えられたプログラムを該電子機器２０の実行領域に展開して実行可能な状態（すなわち有効な状態）とするためには、電子機器２０の再起動が必要である。電子機器２０のメモリ領域が、書換領域と実行領域とを含む場合、電子機器２０は、メモリ領域における書換領域を用いたプログラムの書換実行中であっても、メモリ領域における実行領域で、インストール済の（書換え前の）プログラムに応じた処理を実行可能である。
【０１４１】
そこで、本実施の形態では、書換制御部４１Ｄは、移動体２の駆動状態と、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能か否かと、に基づいて、書換対象の電子機器２０へのプログラム書換および該電子機器２０の再起動を制御する。再起動は、リブートと称される場合もある。
【０１４２】
以下、移動体２の駆動状態と、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能か否かと、の各組合せに応じた、書換制御部４１Ｄの制御について具体的に説明する。
【０１４３】
本実施の形態では、書換制御部４１Ｄは、制御情報４７Ｂを用いて、以下の処理を実行する。制御情報４７Ｂは、予め記憶部４７に記憶すればよい。
【０１４４】
図６は、制御情報４７Ｂのデータ構成の一例を示す模式図である。制御情報４７Ｂは、駆動状態と、正常駆動可否情報と、制御内容と、を対応付けた情報である。書換制御部４１Ｄは、制御情報４７Ｂにおける、駆動状態および制御駆動可否情報に対応する制御内容の制御を実行する。
【０１４５】
まず、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能と特定された場合を説明する。この場合、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換を実行する。そして、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換完了後に、再起動を実行するように該電子機器２０を制御する。
【０１４６】
書換制御部４１Ｄは、以下の方法により、再起動を実行するように該電子機器２０を制御する。例えば、書換制御部４１Ｄは、再起動指示を、第２通信部４４およびサブネットワーク３を介して書換対象の電子機器２０へ出力する。該再起動指示を受付けた電子機器２０のプロセッサは、当該電子機器２０を再起動することで、再起動を実行する。これらの処理により、書換制御部４１Ｄは、再起動を実行するように電子機器２０を制御する。
【０１４７】
なお、書換制御部４１Ｄが、書換対象の電子機器２０の再起動を実行することで、再起動を実行するように該電子機器２０を制御してもよい。なお、再起動を実行するように電子機器２０を制御する方法は、限定されない。以下では、「再起動を実行するように電子機器２０を制御する」ことを、単に、「再起動を実行する」と称して説明する場合がある。
【０１４８】
このように、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能であると特定された場合には、書換制御部４１Ｄは、該電子機器２０へのプログラム書換を実行し、プログラム書換の実行後に、該電子機器２０の再起動を実行する。このため、書換制御部４１Ｄは、移動体２の正常な駆動条件を満たす駆動を維持しつつ、書換対象の電子機器２０へのプログラム書換を効率よく実行することができる。
【０１４９】
なお、書換制御部４１Ｄは、第１の実施の形態の制御部４０と同様に、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能である場合、機能制限が解除された解除状態となるように書換対象外の電子機器２０を制御してもよい。
【０１５０】
次に、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合を説明する。
【０１５１】
この場合、書換制御部４１Ｄは、プログラム書換を実行するように書換対象の電子機器２０を制御し、該電子機器２０へのプログラム書換が完了し且つ駆動状態が駆動停止中を示すまで、再起動の実行を待機するように該電子機器２０を制御する。
【０１５２】
例えば、書換制御部４１Ｄは、プログラム書換が完了した電子機器２０へ再起動指示を出力するタイミングを、取得部４０Ｃで取得した駆動状態が駆動停止中を示すタイミングとなるまで待機する。そして、書換制御部４１Ｄは、駆動停止中を示すタイミングとなったときに、再起動指示を、プログラム書換が完了した電子機器２０へ出力すればよい。
【０１５３】
このように、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合には、書換制御部４１Ｄは、移動体２の駆動状態が駆動停止中となるまで待機することなく、先行して、プログラム書換を実行するように書換対象の電子機器２０を制御する。そして、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換が完了した後に、移動体２の駆動状態が駆動停止中を示したときに、該電子機器２０の再起動を実行する。
【０１５４】
このため、書換制御部４１Ｄは、移動体２の駆動状態が駆動停止中を示すまで待機することなく、先行して書換対象の電子機器２０へのプログラム書換を実行することができる。このため、書換制御部４１Ｄは、効率よく電子機器２０へのプログラム書換を実行することができる。
【０１５５】
なお、移動体２の駆動状態が駆動中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合、書換制御部４１Ｄは、プログラム書換が完了したときに、特定のメッセージを出力部１２へ出力することが好ましい。
【０１５６】
このメッセージは、移動体２の停止を促す第１のメッセージ、または、移動体２が停止した時に電子機器２０の再起動を実行すること示す第２のメッセージである。
【０１５７】
例えば、第１のメッセージは、電子機器２０へのプログラム書換が完了したことを示す情報と、書換を完了したプログラムを有効にするために移動体２の停止を促す事を示す情報と、を含む。具体的には、第１のメッセージは、“電子機器２０のプログラム書換が完了しました。書換を完了したプログラムを有効にするために、移動体２を停止させてください”等である。
【０１５８】
また、例えば、第２のメッセージは、電子機器２０へのプログラム書換が完了したことを示す情報と、移動体２が停止した時に電子機器２０の再起動を実行することを示す情報と、を含む。具体的には、第２のメッセージは、“電子機器２０のプログラム書換が完了しました。移動体２が停止したら、電子機器２０の再起動を実行します”等である。
【０１５９】
書換制御部４１Ｄは、書換を実行したプログラムの内容に応じて、第１のメッセージまたは第２のメッセージを出力部１２へ出力すればよい。例えば、書換制御部４１Ｄは、書換を実行したプログラムが緊急性の高い内容を示す場合、第１のメッセージを出力部１２へ出力する。また、書換制御部４１Ｄは、書換を実行したプログラムが緊急性の低い内容を示す場合、第２のメッセージを出力部１２へ出力する。緊急性の高低の判断は、書換を実行したプログラムに対する予め定めた判断基準を用いて行えばよい。
【０１６０】
次に、移動体２の駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合を説明する。
【０１６１】
この場合、書換制御部４１Ｄは、プログラム書換を実行するように書換対象の電子機器２０を制御し、該電子機器２０へのプログラム書換が完了したときに、再起動を実行するように該電子機器２０を制御する。このため、書換制御部４１Ｄは、効率よく電子機器２０へのプログラム書換を実行することができる。
【０１６２】
ここで、書換制御部４１Ｄが電子機器２０の再起動実行中に、移動体２が駆動を再開する場合がある。そこで、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換が完了した後に、移動体２の駆動制限を開始してもよい。第１の実施の形態の書換制御部４０Ｄと同様に、書換制御部４１Ｄは、移動体２の走行に関する制御を行う電子機器２０、および、移動体２の走行に関与する機構に対して、移動体２の走行を制限するための指示信号を送信する。この指示信号の送信により、移動体２は、駆動、すなわち走行を制限される。そして、書換制御部４１Ｄは、駆動制限を開始した後に、再起動を実行するように該電子機器２０を制御し、再起動が完了した後に、移動体２の駆動制限を解除してもよい。
【０１６３】
なお、書換制御部４１Ｄは、第１の実施の形態の書換制御部４０Ｄと同様に、書換対象の電子機器２０へのプログラム書換の実行中、機能制限された制限状態となるように、書換対象外の電子機器２０を制御してもよい。
【０１６４】
また、移動体２の駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動不可能と特定された場合、書換制御部４１Ｄは、所定のメッセージを出力部１２へ出力することが好ましい。
【０１６５】
このメッセージは、例えば、電子機器２０へのプログラム書換の実行と、プログラム書換後に電子機器２０の再起動が完了するまで移動体２の駆動が制限されること、を示すメッセージである。具体的には、このメッセージは、例えば、“電子機器２０のプログラム書換を実行します。書換が反映されるまで、移動体２の走行が制限されます”等である。
【０１６６】
次に、移動体２の駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能であると特定されたと場合を説明する。
【０１６７】
この場合、書換制御部４１Ｄは、プログラム書換を実行するように書換対象の電子機器２０を制御し、該電子機器２０へのプログラム書換が完了したときに、再起動を実行するように該電子機器２０を制御する。
【０１６８】
すなわち、移動体２が駆動停止中であり、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能である場合には、書換制御部４０Ｄは、該電子機器２０へのプログラム書換を実行し、実行完了後に、該電子機器２０の再起動を実行する。このため、書換制御部４１Ｄは、効率よく電子機器２０へのプログラム書換を実行することができる。
【０１６９】
なお、書換制御部４１Ｄは、駆動状態が駆動停止中を示し、且つ、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能である場合には、第１の実施の形態の書換制御部４０Ｄと同様に、書換対象の電子機器２０へのプログラム書換の実行中、機能制限された制限状態となるように、書換対象外の電子機器２０を制御することが好ましい。
【０１７０】
また、書換制御部４１Ｄは、第１の実施の形態の書換制御部４０Ｄと同様に、書換対象の電子機器２０に電力が供給されていない場合、プログラム書換実行前に、該電子機器２０への電力供給を開始するように電力供給部１６を制御することが好ましい。
【０１７１】
次に、制御部４１が実行する情報処理の手順を説明する。
【０１７２】
図７は、本実施の形態の制御部４１が実行する情報処理の手順の一例を示す、フローチャートである。
【０１７３】
制御部４１は、第１の実施の形態のステップＳ１００〜ステップＳ１１８と同様にして（図５参照）、ステップＳ２００〜ステップＳ２１８の処理を実行する。
【０１７４】
具体的には、受信部４０Ａが、書換情報を受信したか否かを判断する（ステップＳ２００）。ステップＳ２００で否定判断すると（ステップＳ２００：Ｎｏ）、本情報処理を終了する。ステップＳ２００で肯定判断すると（ステップＳ２００：Ｙｅｓ）、ステップＳ２０２へ進む。ステップＳ２０２では、特定部４０Ｂが、移動体２の正常駆動可否を特定する（ステップＳ２０２）。次に、取得部４０Ｃが、移動体２の駆動状態を取得する（ステップＳ２０４）。
【０１７５】
次に、書換制御部４１Ｄは、ステップＳ２０４で取得した駆動状態の観測結果に基づいて、移動体２が駆動中か否かを判断する（ステップＳ２０６）。移動体２が駆動中と判断された場合（ステップＳ２０６：Ｙｅｓ）、ステップＳ２０８へ進む。ステップＳ２０８では、書換制御部４１Ｄは、ステップＳ２０２で特定した正常駆動可否が、正常駆動可能を示すか否を判断する（ステップＳ２０８）。正常駆動可能を示すと判断した場合（ステップＳ２０８：Ｙｅｓ）、ステップＳ２１０へ進む。
【０１７６】
ステップＳ２１０では、書換制御部４１Ｄは、書換対象外の電子機器２０を、解除状態に制御する（ステップＳ２１０）。次に、書換制御部４１Ｄは、書換対象の電子機器２０に電力が供給されているか否かを判断する（ステップＳ２１２）。電力供給中である場合（ステップＳ２１２：Ｙｅｓ）、後述するステップＳ２１６へ進む。電力が供給されていない場合（ステップＳ２１２：Ｎｏ）、ステップＳ２１４へ進む。
【０１７７】
ステップＳ２１４では、書換制御部４１Ｄは、書換対象の電子機器２０への電力供給を開始するように電力供給部１６を制御する（ステップＳ２１４）。そして、ステップＳ２１６へ進む。ステップＳ２１６では、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ２１６）。そして、プログラム書換が完了したか否かを判断する（ステップＳ２１８）。ステップＳ２１８で否定判断すると（ステップＳ２１８：Ｎｏ）、ステップＳ２１６へ戻る。一方、プログラム書換が完了したと判断すると（ステップＳ２１８：Ｙｅｓ）、ステップＳ２２０へ進む。
【０１７８】
ステップＳ２２０では、書換制御部４１Ｄは、ステップＳ２１６〜ステップＳ２１８の処理によりプログラム書換を完了した電子機器２０の再起動を実行する（ステップＳ２２０）。次に、書換制御部４１Ｄは、該電子機器２０の再起動が完了したか否かを判断する（ステップＳ２２２）。再起動が未完了と判断した場合（ステップＳ２２２：Ｎｏ）、ステップＳ２２０へ戻る。再起動が完了したと判断した場合（ステップＳ２２２：Ｙｅｓ）、上記ステップＳ２００へ戻る。
【０１７９】
一方、上記ステップＳ２０８で、書換制御部４１Ｄが、正常駆動不可能を示すと判断した場合（ステップＳ２０８：Ｎｏ）、ステップＳ２２４へ進む。
【０１８０】
ステップＳ２２４では、書換制御部４１Ｄは、書換対象外の電子機器２０を、解除状態に制御する（ステップＳ２２４）。次に、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ２２６）。そして、書換制御部４１Ｄは、プログラム書換が完了したか否かを判断する（ステップＳ２２８）。ステップＳ２２８で否定判断すると（ステップＳ２２８：Ｎｏ）、ステップＳ２２６へ戻る。一方、プログラム書換が完了したと判断すると（ステップＳ２２８：Ｙｅｓ）、ステップＳ２３０へ進む。
【０１８１】
ステップＳ２３０では、書換制御部４１Ｄは、メッセージを出力部１２へ出力する（ステップＳ２３０）。該メッセージは、上述したように、移動体２の停止を促す第１のメッセージ、または、移動体２が停止した時に電子機器２０の再起動を実行すること示す第２のメッセージである。
【０１８２】
次に、書換制御部４１Ｄは、移動体２が駆動を停止したか否かを判断する（ステップＳ２３２）。ステップＳ２３２の判断は、上記第１の実施の形態のステップＳ１２２と同様である（図５参照）。書換制御部４１Ｄは、ステップＳ２３２で肯定判断するまで（ステップＳ２３２：Ｙｅｓ）、否定判断（ステップＳ２３２：Ｎｏ）を繰返す。ステップＳ２３２で肯定判断すると（ステップＳ２３２：Ｙｅｓ）、後述するステップＳ２６８へ進む。
【０１８３】
一方、上記ステップＳ２０６において、移動体２が駆動停止中と判断された場合（ステップＳ２０６：Ｎｏ）、ステップＳ２３４へ進む。
【０１８４】
ステップＳ２３４では、書換制御部４１Ｄは、ステップＳ２０２で特定した正常駆動可否が、正常駆動可能を示すか否を判断する（ステップＳ２３４）。正常駆動可能を示すと判断した場合（ステップＳ２３４：Ｙｅｓ）、ステップＳ２３６へ進む。そして、書換制御部４１Ｄは、第１の実施の形態のステップＳ１２６〜ステップＳ１３４と同様にして（図５参照）、ステップＳ２３６〜ステップＳ２４４の処理を実行する。
【０１８５】
詳細には、書換制御部４１Ｄは、書換対象外の電子機器２０を、機能制限された制限状態に制御する（ステップＳ２３６）。
【０１８６】
次に、書換制御部４１Ｄは、書換対象の電子機器２０に電力が供給されているか否かを判断する（ステップＳ２３８）。電力供給中である場合（ステップＳ２３８：Ｙｅｓ）、後述するステップＳ２４２へ進む。電力が供給されていない場合（ステップＳ２３８：Ｎｏ）、ステップＳ２４０へ進む。ステップＳ２４０では、書換制御部４１Ｄは、書換対象の電子機器２０への電力供給を開始するように電力供給部１６を制御する（ステップＳ２４０）。そして、ステップＳ２４２へ進む。
【０１８７】
ステップＳ２４２では、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ２４２）。そして、書換制御部４１Ｄは、プログラム書換が完了したか否かを判断する（ステップＳ２４４）。ステップＳ２４４で肯定判断すると（ステップＳ２４４：Ｙｅｓ）、ステップＳ２４６へ進む。
【０１８８】
ステップＳ２４６では、書換制御部４１Ｄは、ステップＳ２３６で制限状態に制御した電子機器２０を解除状態に制御する（ステップＳ２４６）。
【０１８９】
そして、書換制御部４１Ｄは、ステップＳ２４２〜ステップＳ２４４の処理によりプログラム書換を完了した電子機器２０の再起動を実行する（ステップＳ２４８）。次に、書換制御部４１Ｄは、該電子機器２０の再起動が完了したか否かを判断する（ステップＳ２５０）。再起動が未完了と判断した場合（ステップＳ２５０：Ｎｏ）、ステップＳ２４８へ戻る。再起動が完了したと判断した場合（ステップＳ２５０：Ｙｅｓ）、上記ステップＳ２００へ戻る。
【０１９０】
一方、ステップＳ２４４で否定判断すると（ステップＳ２４４：Ｎｏ）、ステップＳ２５２へ進む。
【０１９１】
ステップＳ２５２では、書換制御部４１Ｄは、移動体２が駆動を開始したか否かを判断する（ステップＳ２５２）。書換制御部４１Ｄは、新たにセンサ１４から取得した駆動状態の観測結果が駆動中を示すか否かを判別することで、ステップＳ２５２の判断を行う。ステップＳ２５２で否定判断すると（ステップＳ２５２：Ｎｏ）、上記ステップＳ２４２へ戻る。ステップＳ２５２で肯定判断すると（ステップＳ２５２：Ｙｅｓ）、ステップＳ２５４へ進む。
【０１９２】
ステップＳ２５４では、書換制御部４１Ｄは、ステップＳ２３６で制限状態に制御した電子機器２０を解除状態に制御する（ステップＳ２５４）。そして、上記ステップＳ２４２へ戻る。
【０１９３】
一方、ステップＳ２３４で、正常駆動不可能を示すと判断した場合（ステップＳ２３４：Ｎｏ）、ステップＳ２５６へ進む。
【０１９４】
ステップＳ２５６では、書換制御部４１Ｄは、メッセージを出力部１２へ出力する（ステップＳ２５６）。ステップＳ２５６では、書換制御部４１Ｄは、電子機器２０へのプログラム書換の実行と、プログラム書換後に電子機器２０の再起動が完了するまで移動体２の駆動が制限されること、などを示すメッセージを出力部１２へ出力する。
【０１９５】
次に、書換制御部４１Ｄは、書換対象外の電子機器２０を、機能制限された制限状態に制御する（ステップＳ２５８）。次に、書換制御部４１Ｄは、書換対象の電子機器２０に電力が供給されているか否かを判断する（ステップＳ２６０）。電力供給中である場合（ステップＳ２６０：Ｙｅｓ）、後述するステップＳ２６４へ進む。電力が供給されていない場合（ステップＳ２６０：Ｎｏ）、ステップＳ２６２へ進む。
【０１９６】
ステップＳ２６２では、書換制御部４１Ｄは、書換対象の電子機器２０への電力供給を開始するように電力供給部１６を制御する（ステップＳ２６２）。そして、ステップＳ２６４へ進む。
【０１９７】
ステップＳ２６４では、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換を実行する（ステップＳ２６４）。そして、書換制御部４１Ｄは、プログラム書換が完了したか否かを判断する（ステップＳ２６６）。ステップＳ２６６で否定判断すると（ステップＳ２６６：Ｎｏ）、上記ステップＳ２６４へ戻る。
【０１９８】
ステップＳ２６６で肯定判断すると（ステップＳ２６６：Ｙｅｓ）、ステップＳ２６８へ進む。ステップＳ２６８では、書換制御部４１Ｄは、移動体２の駆動制限を開始する（ステップＳ２６８）。例えば、書換制御部４１Ｄは、移動体２の走行に関する制御を行う電子機器２０、および、移動体２の走行に関与する機構に対して、移動体２の走行を制限するための指示信号を送信する。この指示信号の送信により、移動体２は、駆動、すなわち走行を制限される。
【０１９９】
次に、書換制御部４１Ｄは、ステップＳ２６４〜ステップＳ２６６の処理によりプログラム書換を完了した電子機器２０の再起動を実行する（ステップＳ２７０）。次に、書換制御部４１Ｄは、該電子機器２０の再起動が完了したか否かを判断する（ステップＳ２７２）。再起動が未完了と判断した場合（ステップＳ２７２：Ｎｏ）、ステップＳ２７０へ戻る。再起動が完了したと判断した場合（ステップＳ２７２：Ｙｅｓ）、ステップＳ２７４へ進む。
【０２００】
ステップＳ２７４では、書換制御部４１Ｄは、ステップＳ２６８で開始した移動体２の駆動制限を解除する（ステップＳ２７４）。
【０２０１】
次に、書換制御部４１Ｄは、ステップＳ２５８で制限状態に制御した電子機器２０を解除状態に制御する（ステップＳ２７６）。そして、上記ステップＳ２００へ戻る。
【０２０２】
以上説明したように、本実施の形態の情報処理装置１１の書換制御部４１Ｄは、移動体２の駆動状態と、書換対象の電子機器２０へのプログラム書換の実行中に移動体２が正常駆動可能か否かと、に基づいて、書換対象の電子機器２０へのプログラム書換および該電子機器２０の再起動を制御する。
【０２０３】
このため、本実施の形態では、書換制御部４１Ｄは、書換対象の電子機器２０へのプログラム書換の実行中に移動体２（駆動システム）が正常駆動不可能な場合であっても、電子機器２０へのプログラム書換を、移動体２の駆動が停止するまで待機することなく先行して実行することが可能となる。そして、書換制御部４１Ｄは、プログラム書換完了後に、移動体２の駆動状態に応じて、再起動を実行するように該電子機器２０を制御することができる。
【０２０４】
従って、本実施の形態の情報処理装置１１は、上記第１の実施の形態の効果に加えて、効率よく電子機器２０のプログラム書換を実行することができる。
【０２０５】
なお、上記実施の形態では、情報処理装置１０または情報処理装置１１を、情報処理システム１に含まれるゲートウェイ装置（ＧＷ）に搭載した形態を一例として説明した。しかし、情報処理装置１０または情報処理装置１１は、情報処理システム１に含まれる複数の電子機器２０の内の１つに搭載した形態であってもよい。この場合、情報処理装置１０または情報処理装置１１を搭載した電子機器２０を、更に、外部ネットワーク４を介して外部装置３０と通信可能な構成とすればよい。また、情報処理装置１０または情報処理装置１１は、電子機器２０およびゲートウェイ装置とは別体として構成してもよい。この場合、情報処理システム１は、情報処理装置１０または情報処理装置１１と、複数の電子機器２０と、ゲートウェイ装置と、を備えた構成とすればよい。また、情報処理装置１０または情報処理装置１１とゲートウェイ装置とを別体として構成する場合、情報処理システム１は、ゲートウェイ装置を備えない構成であってもよい。
【０２０６】
また、本実施の形態では、情報処理装置１０または情報処理装置１１を、移動体２に搭載した形態を一例として説明した。しかし、情報処理装置１０または情報処理装置１１を、移動体２の外部に搭載した構成としてもよい。この場合、情報処理装置１０または情報処理装置１１は、移動体２に搭載された複数の電子機器２０の各々と、外部ネットワーク４を介して通信可能な構成とすればよい。
【０２０７】
なお、上述した実施の形態における、上記情報処理を実行するためのプログラムは、上記各機能部を含むモジュール構成となっており、実際のハードウェアとしては、例えば、ＣＰＵ（プロセッサ回路）がＲＯＭまたはＨＤＤから情報処理プログラムを読み出して実行することにより、上述した各機能部がＲＡＭ（主記憶）上にロードされ、上述した各機能部がＲＡＭ（主記憶）上に生成されるようになっている。なお、上述した各機能部の一部または全部を、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）またはＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの専用のハードウェアを用いて実現することも可能である。
【０２０８】
なお、上記には、実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態は、発明の範囲または要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０２０９】
なお、本開示は以下のような構成も取ることができる。
（１）
複数の電子機器を備えた駆動システムの駆動状態を取得する取得部と、
前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する書換制御部と、
を備える情報処理装置。
（２）
前記書換制御部は、
前記駆動状態と、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能か否かと、に基づいて、書換対象の前記電子機器へのプログラム書換を制御する、
上記（１）に記載の情報処理装置。
（３）
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御する、
上記（２）に記載の情報処理装置。
（４）
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、書換対象の前記電子機器へのプログラム書換完了後に、再起動を実行するように該電子機器を制御する、
上記（３）に記載の情報処理装置。
（５）
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、機能制限された制限状態にある書込対象外の記電子機器について、機能制限が解除された解除状態となるように制御する、
上記（３）または上記（４）に記載の情報処理装置。
（６）
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、前記駆動状態が駆動停止中を示すまで、プログラム書換の実行を待機するように書換対象の前記電子機器を制御する、
上記（２）〜上記（５）の何れか１つに記載の情報処理装置。
（７）
前記書換制御部は、
前記駆動状態が駆動中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御し、該電子機器へのプログラム書換が完了し且つ前記駆動状態が駆動停止中を示すまで、再起動の実行を待機するように該電子機器を制御する、
上記（２）〜上記（５）の何れか１つに記載の情報処理装置。
（８）
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、書換対象の前記電子機器へのプログラム書換の実行中、機能制限された制限状態となるように書換対象外の前記電子機器を制御する、
上記（２）〜上記（７）の何れか１つに記載の情報処理装置。
（９）
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動不可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御し、該電子機器へのプログラム書換が完了したときに、再起動を実行するように該電子機器を制御する、
上記（２）〜上記（８）の何れか１つに記載の情報処理装置。
（１０）
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御する、
上記（２）〜上記（９）の何れか１つに記載の情報処理装置。
（１１）
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、プログラム書換を実行するように書換対象の前記電子機器を制御し、該電子機器へのプログラム書換が完了したときに、再起動を実行するように該電子機器を制御する、
上記（１０）に記載の情報処理装置。
（１２）
前記書換制御部は、
前記駆動状態が駆動停止中を示し、且つ、書換対象の前記電子機器へのプログラム書換の実行中に前記駆動システムが正常駆動可能である場合、書換対象の前記電子機器へのプログラム書換の実行中、機能制限された制限状態となるように書換対象外の前記電子機器を制御する、
上記（１０）または上記（１１）に記載の情報処理装置。
（１３）
前記書換制御部は、
書換対象の前記電子機器に電力が供給されていない場合、プログラム書換実行前に、該電子機器への電力供給を開始するように電力供給部を制御する、
上記（２）〜上記（１２）の何れか１つに記載の情報処理装置。
（１４）
複数の電子機器を備えた駆動システムの駆動状態を取得する処理と、
前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する処理と、
をコンピュータに実行させるためのプログラム。
（１５）
駆動システムに搭載され、複数の電子機器と、前記電子機器と通信可能な情報処理装置と、を備えた情報処理システムであって、
前記情報処理装置は、
前記駆動システムの駆動状態を取得する取得部と、
前記駆動状態に基づいて、前記複数の電子機器に含まれる、プログラムの書換対象の電子機器へのプログラム書換を制御する書換制御部と、
を備える情報処理システム。
【符号の説明】
【０２１０】
１  情報処理システム
２  移動体
１０、１１  情報処理装置
２０  電子機器
４０Ｃ  取得部
４０Ｄ、４１Ｄ  書換制御部
【図１】
2020057355.tif 000003
【図２】
2020057355.tif 000004
【図３】
2020057355.tif 000005
【図４Ａ】
2020057355.tif 000006
【図４Ｂ】
2020057355.tif 000007
【図５】
2020057355.tif 000008
【図６】
2020057355.tif 000009
【図７】
2020057355.tif 000010