(57)【要約】  通信部は、端末装置から、端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する。判定部は、実装済アプリケーション情報で通知された実装済アプリケーションプログラムの入出力スケジュールと、端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを解析して、実装済アプリケーションプログラムと未実装アプリケーションプログラムとが端末装置で実行可能であるか否かを判定する。
2017098644.tif 000002
【特許請求の範囲】
【請求項１】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する通信部と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定部とを有する情報処理装置。
【請求項２】
前記判定部は、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する請求項１に記載の情報処理装置。
【請求項３】
前記通信部は、
前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置での前記実装済アプリケーションプログラムの実行スケジュールとを通知する実装済アプリケーション情報を受信し、
前記判定部は、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと前記実装済アプリケーションプログラムの実行スケジュールと、前記未実装アプリケーションプログラムの入出力スケジュールと前記未実装アプリケーションプログラムの実行スケジュールとを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する請求項１に記載の情報処理装置。
【請求項４】
前記判定部は、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析し、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムが前記実装済アプリケーションプログラムの実行スケジュール通りに実行され、前記未実装アプリケーションプログラムが前記未実装アプリケーションプログラムの実行スケジュール通りに実行される場合に、前記実装済アプリケーションプログラムの実行と前記未実装アプリケーションプログラムの実行が既定の時間枠内で完了するか否かを解析し、
前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われ、前記実装済アプリケーションプログラムの実行と前記未実装アプリケーションプログラムの実行が前記時間枠内で完了する場合に、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であると判定する請求項３に記載の情報処理装置。
【請求項５】
前記判定部は、
前記未実装アプリケーションプログラムの入出力スケジュールに時間幅が設定されているときに、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュールの時間幅の範囲内のいずれかのタイミングで行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する請求項１に記載の情報処理装置。
【請求項６】
前記判定部は、
前記実装済アプリケーションプログラムの入出力スケジュールに時間幅が設定されているときに、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの時間幅の範囲内のいずれかのタイミングで行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する請求項１に記載の情報処理装置。
【請求項７】
前記通信部は、
前記端末装置での前記実装済アプリケーションプログラムの実行スケジュールとして、前記実装済アプリケーションプログラムが実行されるタイミングと、前記実装済アプリケーションプログラムが前記端末装置で実行された際に測定された実行時間とを通知する実装済アプリケーション情報を受信する請求項３に記載の情報処理装置。
【請求項８】
前記通信部は、
前記判定部により前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であると判定された場合に、前記未実装アプリケーションプログラムを前記端末装置に送信する請求項１に記載の情報処理装置。
【請求項９】
コンピュータが、端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信し、
前記コンピュータが、前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する情報処理方法。
【請求項１０】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する受信処理と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定処理とをコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラム（以下、単にアプリケーションともいう）の更新に関する。
以下では、車載電子制御装置（以下、ＥＣＵ：Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔという）で実行されるアプリケーションの更新について説明する。
【背景技術】
【０００２】
自動車には、エンジンの点火時期やステアリングモータの制御を行うＥＣＵが搭載されている。従来、加速、操舵、制動に関わる安全クリティカルな制御を行うＥＣＵ（以下、制御系ＥＣＵという）は、車内ネットワークにのみ接続されており、車外ネットワークとは分離されていた。また、これらの制御系ＥＣＵに搭載されているアプリケーションの更新は日常的には行われず、サービスキャンペーンやリコール発生時にディーラでアプリケーションの更新を行う程度であった。【０００３】
しかし、今後は制御系ＥＣＵが接続されている車内ネットワークが車外ネットワークと接続され、ディーラ経費の削減等を目的としてクラウドネットワークからの無線通信を介して制御系ＥＣＵのアプリケーションの書換えが行われるようになる。さらに、安全運転支援システムや自動走行システムが提供する様々なレベルでの運転支援機能や、各ドライバの嗜好に対応する機能を実現するアプリケーションが制御系ＥＣＵに求められる。このため、スマートフォンへのアプリケーション追加と同様に、車の購入後もアプリケーションの改良やアップグレードなどによる制御系ＥＣＵのアプリケーションの上書き、追加、削除（以下、上書き、追加、削除をまとめて更新という）がクラウドネットワークから行われるようになると考えられる。【０００４】
制御系ＥＣＵにおけるアプリケーションの更新では、既存のアプリケーションが正常に動作することや、新しいアプリケーションを既定のタイミングで実行できることはもちろん、各アプリケーションが使用するセンサからのデータ入力タイミングやアクチュエータの制御タイミングも、アプリケーションに合わせて実現できるか否か考慮する必要がある。これらデータ入力タイミング及び制御タイミングを満足することで、アプリケーションの更新後もアプリケーション開発者が意図した制御を実現することができる。【０００５】
従来の制御系ＥＣＵでは、アプリケーションの実装パターンは仕向地やオプション毎に存在する程度で、その数が限られていた。このため、アプリケーションの更新を行う際には、新しいアプリケーションの開発毎に、更新対象の制御系ＥＣＵの実装パターンを全て網羅して前述のタイミング等を含めた検証を行い、更新可否を判定することが可能であった。【０００６】
しかし、前述のように多様な要求に応じて制御系ＥＣＵが出荷後にもカスタマイズされるようになると、検証が必要な実装パターンは膨大になる。そのうえ、カーメーカや新しいアプリケーションの開発者が、更新対象の制御系ＥＣＵに既に実装されているアプリケーションを全て把握しているとは限らない。このような未知のアプリケーションを含んだ制御系ＥＣＵ、すなわちアプリケーション開発段階では検証を行うことができない実装パターンの制御系ＥＣＵを新しいアプリケーションで更新すると、制御系ＥＣＵが異常状態となって車両の制御ができなくなり、車が動かなかったり、事故が発生したりする可能性がある。したがって、アプリケーションの更新前に、対象とする制御系ＥＣＵでのアプリケーション更新が可能であるか個別に判定する必要がある。【０００７】
アプリケーションの更新可否判定を行う方法として、例えば特許文献１では、アプリケーションのデッドライン、処理時間、制御系ＥＣＵ間の通信時間を考慮して判定を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−０２７０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら上記特許文献１では、制御系ＥＣＵに既に実装されているアプリケーションや新しいアプリケーションが使用する、センサからのデータ入力タイミングやアクチュエータの制御タイミングについては考慮されていない。したがって更新内容によっては所望のタイミングよりも一周期近く前のセンサからの古いデータをアプリケーションの演算に使用したり、所望のタイミングよりも一周期近く遅れた制御を行ったりする可能性がある。このような場合には、アプリケーション開発時に想定した車両の制御ができなくなるという課題がある。【００１０】
本発明は、前述の課題を解決することを主な目的としており、アプリケーションプログラムの更新後も、アプリケーションプログラムへの入力情報が適切なタイミングで入力され、アプリケーションプログラムの演算結果が適切なタイミングで出力されるようにすることを主な目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理装置は、
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する通信部と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定部とを有する。
【発明の効果】
【００１２】
本発明では、実装済アプリケーションプログラムの入出力スケジュールと、未実装アプリケーションプログラムの入出力スケジュールとを解析して、実装済アプリケーションプログラムと未実装アプリケーションプログラムとが端末装置で実行可能であるか否かを判定する。このため、本発明によれば、アプリケーションプログラムの更新後も、端末装置では、アプリケーションプログラムへの入力情報が適切なタイミングで入力され、アプリケーションプログラムの演算結果が適切なタイミングで出力される。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る車両用ネットワークシステムのハードウェア構成例を示す図。
【図２】実施の形態１に係るＥＣＵの機能構成例を示す図。
【図３】実施の形態１に係るサーバ装置の機能構成例を示す図。
【図４】実施の形態１に係るＥＣＵの起動条件と実行時間の例を示す。
【図５】実施の形態１に係るパラメータテーブルの例を示す図。
【図６】実施の形態１に係るアプリケーションＣによる更新前のタイムチャート図。
【図７】実施の形態１に係るサーバ装置の動作例を示すフローチャート図。
【図８】実施の形態１に係るＥＣＵの起動条件と実行時間の例（アプリケーションＡと関連付けられている情報の削除後）を示す図。
【図９】実施の形態１に係るパラメータテーブルの例（アプリケーションＡと関連付けられている情報の削除後）を示す図。
【図１０】実施の形態１に係るマージ後のパラメータテーブルの例を示す図。
【図１１】実施の形態１に係るアプリケーションＣによる更新後のタイムチャート図。
【図１２】実施の形態２に係る起動条件と実行時間の例を示す図。
【図１３】実施の形態２に係るサーバ装置の動作例を示すフローチャート図。
【図１４】実施の形態２に係るアプリケーションＣによる更新後のタイムチャート図。
【図１５】実施の形態３に係るＥＣＵの機能構成例を示す図。
【図１６】実施の形態３に係るパラメータテーブルの例を示す図。
【図１７】実施の形態３に係るアプリケーションＣによる更新前のタイムチャート図。
【図１８】実施の形態３に係る更新後の起動条件と実行時間の例を示す図。
【図１９】実施の形態３に係るアプリケーションＣによる更新後のタイムチャート図。
【発明を実施するための形態】
【００１４】
実施の形態１．
以下に、実施の形態１に係る車両用ネットワークシステムを説明する。
より具体的には、以下にて、アプリケーションのデッドラインや処理時間に加えて、制御系ＥＣＵに既に実装されているアプリケーションや新しいアプリケーションが使用する、センサからのデータ入力タイミングやアクチュエータの制御タイミングを考慮してアプリケーションの更新可否を判定する車両用ネットワークシステムを説明する。本実施の形態に係る車両用ネットワークシステムにより、アプリケーション更新後も高度な制御を実現することができる。
【００１５】
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る車両用ネットワークシステムのハードウェア構成例を示す。
車両用ネットワークシステムはＥＣＵ１０１とサーバ装置１０２で構成される。ＥＣＵ１０１とサーバ装置１０２は無線通信網１０３を介して接続している。ＥＣＵ１０１は車両に搭載されており、サーバ装置１０２は車両外に配置されている。ＥＣＵ１０１とサーバ装置１０２は、それぞれコンピュータである。
ＥＣＵ１０１はセンサＡ１０４、センサＢ１０５、センサＣ１０６、センサＤ１０７、アクチュエータＡ１０８、アクチュエータＢ１０９の６つのデバイスと接続している。ＥＣＵ１０１はハードウェアとして、センサインタフェース１８０１と、アクチュエータインタフェース１８０２と、メモリＡ１８０３とプロセッサＡ１８０４と送受信インタフェースＡ１８０５を備える。センサインタフェース１８０１は、センサＡ１０４〜センサＤ１０７から信号を取得するためのインタフェースである。アクチュエータインタフェース１８０２は、アクチュエータＡ１０８とアクチュエータＢ１０９を制御するためのインタフェースである。メモリＡ１８０３は、各種データ及びプログラムを記憶する。プロセッサＡ１８０４は、メモリＡ１８０３に記憶されているプログラムを実行する。送受信インタフェースＡ１８０５は、無線通信網１０３を介した通信を行うためのインタフェースである。
サーバ装置１０２は、ハードウェアとして、メモリＢ１８０６とプロセッサＢ１８０７と送受信インタフェースＢ１８０８を備える。
メモリＢ１８０６は、各種データ及びプログラムを記憶する。プロセッサＢ１８０７は、メモリＢ１８０６に記憶されているプログラムを実行する。送受信インタフェースＢ１８０８は、無線通信網１０３を介した通信を行うためのインタフェースである。
なお、ＥＣＵ１０１は端末装置の例に相当し、サーバ装置１０２は情報処理装置の例に相当する。
【００１６】
図２は、ＥＣＵ１０１の機能構成例を示す。
アプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１１５、更新要求情報送信部１１９は、プログラムにより実現される。これらプログラムは、メモリＡ１０８３に記憶され、プロセッサＡ１８０４が読み出して実行する。
また、パラメータテーブル１１７、データベース１１８、起動条件１２０、実行時間１２１はメモリＡ１８０３に記憶されている情報である。起動条件１２０と実行情報１２１の２つを合わせてシステム情報１１６と呼ぶ。
入力制御部１１３と出力制御部１１４は、プロセッサＡ１８０４で実行されると、実行内容に応じてセンサインタフェース１８０１やアクチュエータインタフェース１８０２へアクセスする。より具体的には、入力制御部１１３は、センサインタフェース１８０１を介して、センサＡ１０４〜センサＤ１０７の値を取得する。また、出力制御部１１４は、アクチュエータインタフェース１８０２を介して、制御情報を用いてアクチュエータＡ１０８とアクチュエータＢ１０９を制御する。
更新要求情報送信部１１９は、プロセッサＡ１８０４で実行されると、実行内容に応じて送受信インタフェースＡ１８０５へアクセスしてサーバ装置１０２と通信を行う。
【００１７】
図３は、サーバ装置１０２の機能構成例を示す。
アプリケーション更新判定部１２５は、プログラムにより実現される。アプリケーション更新判定部１２５を実現するプログラムはメモリＢ１８０６に記憶され、プロセッサＢ１８０７が読み出して実行する。アプリケーション更新判定部１２５は、プロセッサＢ１８０７で実行されると、実行内容に応じて送受信インタフェースＢ１８０８へアクセスしてＥＣＵ１０１と通信を行う。また、アプリケーション更新判定部１２５は、プロセッサＢ１８０７で実行されると、ＥＣＵ１０１がアプリケーションＣ１１２を実行できるか否かを判定する。アプリケーション更新判定部１２５は、通信部及び判定部の例に相当する。また、アプリケーション更新判定部１２５により行われる動作は、受信処理及び判定処理の例に相当する。
アプリケーションＣ１１２、新アプリケーション起動条件１２２、新アプリケーション実行時間１２３、新アプリケーションパラメータ情報１２４はメモリＢ１８０６に記憶されている情報である。
アプリケーションＣ１１２はＥＣＵ１０１へダウンロードされると、他のアプリケーションと同様にメモリＡ１０８３に記憶され、プロセッサＡ１０８４が読み出して実行する。
【００１８】
＊＊＊動作の説明＊＊＊
次に、ＥＣＵ１０１の動作概要を説明する。
図２に示すように、ＥＣＵ１０１にはアプリケーションＡ１１０とアプリケーションＢ１１１が実装済である。アプリケーションＡ１１０とアプリケーションＢ１１１は実装済アプリケーションプログラムの例に相当する。
アプリケーションＡ１１０とアプリケーションＢ１１１は、センサＡ１０４〜センサＤ１０７からの入力情報Ａ〜入力情報Ｄのデータを基に演算を行い、制御情報Ａと制御情報Ｂを生成する。入力情報Ａ〜入力情報Ｄは、アプリケーションＡ１１０とアプリケーションＢ１１１が演算に用いるデータである。制御情報Ａと制御情報Ｂは、アプリケーションＡ１１０とアプリケーションＢ１１１の演算結果である。
ＥＣＵ１０１は制御情報Ａと制御情報Ｂを用いてアクチュエータＡ１０８とアクチュエータＢ１０９を制御し、車両の制御を行う。
また、ＥＣＵ１０１は必要に応じてサーバ装置１０２から新しいアプリケーションＣ１１２をダウンロードし、アプリケーションＡ１１０やアプリケーションＢ１１１の機能を拡張したり、別の新しい機能を追加したりして、ドライバの好みに合った車両の制御を実現する。
【００１９】
次に、ＥＣＵ１０１の各機能を説明する。
【００２０】
アプリケーションＡ１１０は、起動するとデータベース１１８に格納されている入力情報Ａと入力情報Ｂを用いて演算処理を行い、制御情報Ａを算出し、データベース１１８に格納する。
【００２１】
アプリケーションＢ１１１は、起動するとデータベース１１８に格納されている入力情報Ｃを用いて演算処理を行い、制御情報Ｂを算出し、データベース１１８に格納する。
【００２２】
入力制御部１１３は、起動すると既定の入力タイミングでセンサＡ１０４〜センサＤ１０７から入力情報Ａ〜入力情報Ｄを取得し、取得した入力情報Ａ〜入力情報Ｄをデータベース１１８へ書込む。
入力情報Ａ〜入力情報Ｄは、アプリケーションＡ１１０及びアプリケーションＢ１１１の演算に用いられる。
【００２３】
出力制御部１１４は、起動すると既定の出力タイミングでデータベース１１８に格納されている制御情報Ａを用いてアクチュエータＡ１０８を制御し、制御情報Ｂを用いてアクチュエータＢ１０９を制御する。
制御情報ＡにはアプリケーションＡ１１０の演算結果が示され、制御情報ＢにはアプリケーションＢ１１１の演算結果が示される。出力制御部１１４が制御情報Ａを用いてアクチュエータＡ１０８を制御することによりアプリケーションＡ１１０の演算結果がアクチュエータＡ１０８に出力される。また、出力制御部１１４が制御情報Ｂを用いてアクチュエータＢ１０９を制御することによりアプリケーションＢ１１１の演算結果がアクチュエータＢ１０９に出力される。
【００２４】
ＯＳ１１５は、起動条件１２０に従ってアプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４を起動する。
なお、実施の形態１では、ＯＳ１１５は、入力制御部１１３と出力制御部１１４を実行可能な時間枠において、出力制御部１１４、入力制御部１１３の順に続けて実行する。入力制御部１１３と出力制御部１１４を実行可能な時間枠の経過後に、ＯＳ１１５は、アプリケーションＡ１１０とアプリケーションＢ１１１を実行する。
【００２５】
前述のように、システム情報１１６は、起動条件１２０と実行時間１２１を含む。
実行時間１２１は、開発者が設計時に測定あるいは見積もった実行時間の長さの最大値（最悪実行時間）である。実行時間１２１は、アプリケーションＡ１１０、アプリケーションＢ１１１の各々に対して定義されている。
起動条件１２０は、アプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４の各々に対して定義されている。起動条件１２０は、優先度、起動周期、起動オフセットで構成されている。
図４は、システム情報１１６の例を示す。
アプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４の優先度は夫々２、１、３、３である。ここで優先度は大きい値ほど高いものとする。起動周期は全て同じ時間ｔＣｙｃｌｅである。アプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４の起動オフセットは夫々時間ｔ１、ｔ１、ｔ０、ｔ０である。起動オフセットは、グローバルな周期時間（ここでは時間ｔＣｙｃｌｅ）の各周期開始時刻に対するオフセットを指す。また、アプリケーションＡ１１０、アプリケーションＢ１１１の実行時間１２１（最悪実行時間）は夫々時間ｔＡ、ｔＢである。
システム情報１１６には、ＥＣＵ１０１でのアプリケーションＡ１１０とアプリケーションＢ１１１の実行スケジュールが定義されている。より具体的には、システム情報１１６には、優先度の高いアプリケーションＡ１１０の実行が時刻ｔ１に開始され、アプリケーションＡ１１０の実行は最長で時間ｔＡの間継続するという実行スケジュールが定義されている。更に、システム情報１１６には、アプリケーションＡ１１０の実行が完了したら優先度の低いアプリケーションＢ１１０の実行が開始され、アプリケーションＢ１１１の実行は最長で時間ｔＢの間継続するという実行スケジュールが定義されている。
【００２６】
パラメータテーブル１１７では、入力情報の属性と制御情報の属性が記述される。
入力情報に対しては、属性として、デバイス、方向、入力タイミングと、その入力情報を使用するアプリケーションとが関連付けられる。また、制御情報に対しては、属性として、デバイス、方向、出力タイミングと、その制御情報を使用するアプリケーションとが関連付けられる。
パラメータテーブル１１７の例を図５に示す。
入力情報Ａ〜入力情報Ｃ、制御情報Ａ、制御情報Ｂの入出力タイミングは全て時間ｔ０である。この値も、起動オフセットと同様に各周期開始時刻に対する時間のオフセットを指す。入力情報Ｄは、使用するアプリケーションが存在しないため、入力タイミングは設定されていない。入力情報Ａ、入力情報Ｂ、制御情報ＡにはアプリケーションＡ１１０が、入力情報Ｃと制御情報ＢにはアプリケーションＢ１１１が関連付けられている。また、入力情報Ａ〜入力情報Ｄには夫々センサＡ１０４〜センサＤ１０７が関連付けられ、方向が入力方向であることがわかる。制御情報ＡにはアクチュエータＡ１０８、制御情報ＢにはアクチュエータＢ１０９が関連付けられ、方向が出力方向であることがわかる。ここでは各情報に対してアプリケーションが１つ関連付けられているが、例えば一行追加して、同じ入力情報Ａに対して、アプリケーションＢ１１１が、同じタイミングの時間ｔ０、または違うタイミングで関連付けられるようなものであってもよい。
パラメータテーブル１１７には、入出力スケジュールが定義されている。より具体的には、パラメータテーブル１１７には、入力情報Ａ〜入力情報Ｄが時刻ｔ０に入力され、制御情報Ａ及び制御情報Ｂに示される演算結果が時刻ｔ０に出力されるという入出力スケジュールが定義されている。
【００２７】
データベース１１８は、センサＡ１０４〜センサＤ１０７から取得した入力情報Ａ〜入力情報Ｄ、およびアクチュエータＡ１０８とアクチュエータＢ１０９を制御するための制御情報Ａと制御情報Ｂを格納する。
【００２８】
更新要求情報送信部１１９は、パラメータテーブル１１７と、システム情報１１６（起動条件１２０と実行時間１２１）と、更新したいアプリケーション名と更新種別（上書き、追加、削除）を、更新要求情報としてサーバ装置１０２へ送信する。
更新要求情報の送信のタイミングは、例えばアプリケーションＡ１１０が外部から更新用アプリケーションＣ１１２を利用可能であることを示す情報を受信して、更新要求情報送信部１１９に更新用アプリケーションＣ１１２の取得を要求する時点などが考えられる。更新要求の生成に関わる処理は本発明の対象外であるため詳細な説明は省略する。
更新要求情報は、前述のように、アプリケーションＡ１１０及びアプリケーションＢ１１１の入出力スケジュールが示されるパラメータテーブル１１７とアプリケーションＡ１１０及びアプリケーションＢ１１１の実行スケジュールが示されるシステム情報１１６とを含み、実装済アプリケーション情報の例に相当する。
【００２９】
図３に示すように、サーバ装置１０２は、アプリケーションＣ１１２、新アプリケーション起動条件１２２、新アプリケーション実行時間１２３、新アプリケーションパラメータ情報１２４、アプリケーション更新判定部１２５を備える。
【００３０】
アプリケーションＣ１１２は、アプリケーションＡ１１０の機能を拡張した高機能アプリケーションであり、ＥＣＵ１０１で実行されることを想定して開発されている。したがってアプリケーションＣ１１２をＥＣＵ１０１に実装する場合には、アプリケーションＡ１１０を上書き更新することになる。アプリケーションＣ１１２はＥＣＵ１０１上で起動すると、データベース１１８に格納されている入力情報Ａ、入力情報Ｂ、入力情報Ｄを用いて演算処理を行い、制御情報Ａを算出する。制御情報Ａは、データベース１１８に格納される。
アプリケーションＣ１１２は、ＥＣＵ１０１に未実装のアプリケーションプログラムであり、未実装アプリケーションプログラムの例に相当する。
【００３１】
新アプリケーション起動条件１２２は、アプリケーションＣ１１２がＥＣＵ１０１で実行される場合にＯＳ１１５が起動条件１２０として用いる情報である。ここでは、優先度、起動周期、起動オフセットはアプリケーションＡ１１０と同じとする。
【００３２】
新アプリケーション実行時間１２３は、アプリケーションＣ１１２がＥＣＵ１０１で実行される場合の最悪実行時間の見積もり値である。ここでは、新アプリケーション実行時間１２３は時間ｔＣとし、アプリケーションＡ１１０の実行時間ｔＡよりも長いものとする。
【００３３】
新アプリケーション起動条件１２２及び新アプリケーション実行時間１２３は、ＥＣＵ１０１におけるシステム情報１１６と同様な役割を持つ。つまり、新アプリケーション起動条件１２２及び新アプリケーション実行時間１２３には、アプリケーションＣ１１２の実行スケジュールが定義されている。より具体的には、新アプリケーション起動条件１２２及び新アプリケーション実行時間１２３には、アプリケーションＣ１１２の実行が時刻ｔ１に開始され、アプリケーションＣ１１２の実行は最長で時間ｔＣの間継続するという実行スケジュールが定義されている。
【００３４】
新アプリケーションパラメータ情報１２４は、アプリケーションＣ１１２が使用する入力情報Ａ、入力情報Ｂ、入力情報Ｄの入力タイミングと、制御情報Ａの出力タイミング、また夫々のデバイスと方向を指定する情報である。新アプリケーションパラメータ情報１２４で指定されている入力タイミング及び出力タイミングで入出力を行えば、アプリケーションＣ１１２によって正常な車両制御が可能であることが保証されている。ここでは、入力タイミング及び出力タイミングは時刻ｔ０に設定されているとする。
このように、新アプリケーションパラメータ情報１２４には、アプリケーションＣ１１２の入出力スケジュールが定義されている。より具体的には、新アプリケーションパラメータ情報１２４には、入力情報Ａ、入力情報Ｂ、入力情報Ｄが時刻ｔ０に入力され、制御情報Ａが時刻ｔ０に出力されるという入出力スケジュールが定義されている。
【００３５】
アプリケーション更新判定部１２５は、送受信インタフェースＢ１８０８を用いて、ＥＣＵ１０１の更新要求情報送信部１１９から実装済アプリケーション情報たる更新要求情報を受信する。
更に、アプリケーション更新判定部１２５は、更新要求情報と、新アプリケーション起動条件１２２、新アプリケーション実行時間１２３、新アプリケーションパラメータ情報１２４に基づき、アプリケーションＣ１１２によってＥＣＵ１０１を更新可能か否かを判定する。
より具体的には、アプリケーション更新判定部１２５は、更新要求情報で通知されたアプリケーションＢ１１１の入出力スケジュールと、新アプリケーションパラメータ情報１２４に定義されているアプリケーションＣ１１２の入出力スケジュールとを解析する。つまり、アプリケーション更新判定部１２５は、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１の入力情報の入力とアプリケーションＢ１１１の演算結果の出力がアプリケーションＢ１１１の入出力スケジュールの通りに行われる場合に、アプリケーションＣ１１２の入力情報の入力とアプリケーションＣ１１２の演算結果の出力がアプリケーションＣ１１２の入出力スケジュール通りに行われるか否かを解析する。更に、アプリケーション更新判定部１２５は、更新要求情報で通知されたアプリケーションＢ１１１の実行スケジュールと、新アプリケーション起動条件１２２及び新アプリケーション実行時間１２３に定義されているアプリケーションＣ１１２の実行スケジュールとを解析する。つまり、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１がアプリケーションＢ１１１の実行スケジュール通りに実行され、アプリケーションＣ１１２がアプリケーションＣ１１２の実行スケジュール通りに実行される場合に、アプリケーションＢ１１１の実行とアプリケーションＣ１１２の実行が既定の時間枠内（つまり、起動周期ｔＣｙｃｌｅ内）で完了するか否かを解析する。
そして、アプリケーション更新判定部１２５は、アプリケーションＣ１１２の入力情報の入力とアプリケーションＣ１１２の演算結果の出力がアプリケーションＣ１１２の入出力スケジュール通りに行われ、アプリケーションＢ１１１の実行とアプリケーションＣ１１２の実行が時間枠内（起動周期ｔＣｙｃｌｅ内）で完了する場合に、アプリケーションＢ１１１とアプリケーションＣ１１２とがＥＣＵ１０１で実行可能であり、アプリケーションＣ１１２によってＥＣＵ１０１を更新可能であると判定する。
また、アプリケーション更新判定部１２５は、プリケーションＢ１１１とアプリケーションＣ１１２とがＥＣＵ１０１で実行可能であり、アプリケーションＣ１１２によってＥＣＵ１０１を更新可能であると判定した場合に、送受信インタフェースＢ１８０８を用いて、アプリケーションＣ１１２をＥＣＵ１０１に送信する。また、アプリケーション更新判定部１２５は、図１０に示す情報もＥＣＵ１０１に送信する。
【００３６】
続いて、ＥＣＵ１０１をアプリケーションＣ１１２で更新する前の、ＥＣＵ１０１の動作を図６のタイムチャートを用いて説明する。
【００３７】
時刻ｔ０でＯＳ１１５は起動条件１２０に基づき出力制御部１１４を起動する。出力制御部１１４はパラメータテーブル１１７を参照し、時刻ｔ０のタイミングで出力方向の制御情報Ａと制御情報Ｂが存在していることを確認する。したがって、出力制御部１１４は制御情報Ａと制御情報Ｂをデータベース１１８から取得する。更に、出力制御部１１４は、制御情報Ａの値を用いて、パラメータテーブル１１７に記載されている対象デバイスであるアクチュエータＡ１０８を制御し、制御情報Ｂの値を用いて、パラメータテーブル１１７に記載されている対象デバイスであるアクチュエータＢ１０９を制御する。
出力制御部１１４の処理が完了すると、続いて、ＯＳ１１５が入力制御部１１３を起動する。入力制御部１１３はパラメータテーブル１１７を参照し、時刻ｔ０のタイミングで入力方向の入力情報Ａ〜入力情報Ｃが存在していることを確認する。したがって、入力制御部１１３はセンサＡ１０４〜センサＣ１０６にアクセスし、入力情報Ａ〜入力情報Ｃを取得する。更に、入力制御部１１３は入力情報Ａ〜入力情報Ｃをデータベース１１８に格納する。これで入力制御部１１３の処理が完了する。
【００３８】
次に、時刻ｔ１でＯＳ１１５は起動条件１２０に基づきアプリケーションＡ１１０を起動する。アプリケーションＡ１１０とアプリケーションＢ１１１の起動オフセットは同じ時間ｔ１だが、優先度が高いアプリケーションＡ１１０が先に起動する。
アプリケーションＡ１１０はデータベース１１８に格納された入力情報Ａと入力情報Ｂを用いて演算を行い、制御情報Ａを算出し、制御情報Ａをデータベース１１８に格納し、処理を終了する。
【００３９】
時刻ｔ２にアプリケーションＡ１１０の処理が完了すると、ＯＳ１１５がアプリケーションＢ１１１を起動する。
アプリケーションＢ１１１はデータベース１１８に格納された入力情報Ｃを用いて演算を行い、制御情報Ｂを算出し、制御情報Ｂをデータベース１１８に格納し、処理を終了する。
【００４０】
そして、時刻ｔ０から起動周期ｔＣｙｃｌｅが経過すると、時刻はｔ０にリセットされ、再び起動条件１２０に基づき出力制御部１１４が起動し、以降、同様の処理が繰り返される。
【００４１】
次に、サーバ装置１０２のアプリケーション更新判定部１２５がＥＣＵ１０１の更新要求情報送信部１１９から更新要求情報を受信したときの処理を、図７のフローチャートを用いて説明する。
なお、図７に示す処理手順は、情報処理方法及び情報処理プログラムの例に相当する。
【００４２】
アプリケーション更新判定部１２５は、ＥＣＵ１０１から受信した更新要求情報から、上書き対象のアプリケーションと関連付けられている部分を削除する（ステップＳ５０１）。
【００４３】
次に、アプリケーション更新判定部１２５は、削除処理を施したパラメータテーブル１１７の入力情報と制御情報の各タイミングとして設定された値と、新アプリケーションパラメータ情報１２４の入力情報と制御情報の各タイミングとして設定された値を抽出する（ステップＳ５０２）。
【００４４】
次に、アプリケーション更新判定部１２５は、同じタイミングの入力情報あるいは制御情報の数が、ＮＭａｘ以下であるか否かを判定する（ステップＳ５０３）。
ステップＳ５０３では、アプリケーション更新判定部１２５は、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１の入力情報の入力とアプリケーションＢ１１１の演算結果の出力がアプリケーションＢ１１１の入出力スケジュールの通りに行われる場合に、アプリケーションＣ１１２の入力情報の入力とアプリケーションＣ１１２の演算結果の出力がアプリケーションＣ１１２の入出力スケジュール通りに行われるか否かを判定している。
【００４５】
ステップＳ５０３において同じタイミングの入力情報及び制御情報の数がＮＭａｘ以下である場合には、アプリケーション更新判定部１２５は、削除処理を施したＥＣＵ１０１の起動条件１２０、実行時間１２１の情報と、新アプリケーション起動条件１２２、新アプリケーション実行時間１２３の情報と、各パラメータ情報とを用いて、各アプリケーションの開始時刻と終了時刻を算出する（ステップＳ５０４）。
次に、アプリケーション更新判定部１２５は、各アプリケーションの終了時刻が、そのアプリケーションが出力する制御情報の出力タイミングまたはそのアプリケーション自身の次の開始時刻のいずれかよりも、早いか否かを判定する（ステップＳ５０５）。
ステップＳ５０４及びステップＳ５０５では、アプリケーション更新判定部１２５は、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１がアプリケーションＢ１１１の実行スケジュール通りに実行され、アプリケーションＣ１１２がアプリケーションＣ１１２の実行スケジュール通りに実行される場合に、アプリケーションＢ１１１の実行とアプリケーションＣ１１２の実行が既定の時間枠内で完了するか否かを判定している。
【００４６】
ステップＳ５０５においてアプリケーションの終了時刻の方が早い場合には、アプリケーション更新判定部１２５は、新しいアプリケーションＣ１１２によるＥＣＵ１０１の更新が可能と判定し（ステップＳ５０６）、処理を終了する。
一方、同じタイミングの入力情報あるいは制御情報の数が、ＮＭａｘを超えていた場合、あるいはアプリケーションの終了時刻の方が遅い場合には、アプリケーション更新判定部１２５は、新しいアプリケーションＣ１１２によるＥＣＵ１０１の更新を不可と判定し（ステップＳ５０７）、処理を終了する。
【００４７】
次に、アプリケーションＡ１１０へのアプリケーションＣ１１２による上書き更新を目的としてＥＣＵ１０１がサーバ装置１０２に更新要求情報を送信した際の、アプリケーション更新判定部１２５による判定処理を説明する。
【００４８】
アプリケーション更新判定部１２５は、ＥＣＵ１０１から更新要求情報として図４と図５に示した情報を受信すると、上書き対象であるアプリケーションＡ１１０と関連付けられている情報を削除する。これにより、更新要求情報はそれぞれ図８と図９に示すようになる。図８及び図９では、ハッチングを施している行が削除された行である。
次に、アプリケーション更新判定部１２５は、図９のパラメータテーブル１１７の情報と、新アプリケーションパラメータ情報１２４を図１０のようにマージする。その結果、全６個の情報が、全て同じタイミングｔ０であることがわかる。ここで、ＮＭａｘの値は１０であるとする。６≦ＮＭａｘであるため、アプリケーション更新判定部１２５は、図８の起動条件１２０と実行時間１２１の情報と、図１０のパラメータテーブル１１７と、新アプリケーション起動条件１２２と新アプリケーション実行時間１２３の情報を用いて、図１１に示すようなタイムチャートを生成し、アプリケーションの開始時刻と終了時刻を求める。図１１のタイムチャートは、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１がアプリケーションＢ１１１の実行スケジュール通りに実行され、アプリケーションＣ１１２がアプリケーションＣ１１２の実行スケジュール通りに実行される場合のタイムチャートである。
図１１のタイムチャートから、アプリケーションＣ１１２の最悪実行時間は時間ｔＣであり、アプリケーションＡ１１０の時間ｔＡよりも長くなっている。しかしながら、アプリケーションＣ１１２とアプリケーションＢ１１１の終了時刻は次の出力タイミングｔ０よりも早く終了するため、アプリケーション更新判定部１２５は、アプリケーションＡ１１０をアプリケーションＣ１１２で上書き更新可能であると判定して処理を終了する。
【００４９】
＊＊＊実施の形態の効果の説明＊＊＊
このように、本実施の形態に係るサーバ装置１０２は、アプリケーションＣ１１２による更新前に、既存のアプリケーションＢ１１１と新しいアプリケーションＣ１１２が使用する入力情報や制御情報に求められる入出力タイミングを満たすか否か判定を行う。
これにより、実行時間や入出力タイミングを満たすことが確認された後でのみＥＣＵ１０１のアプリケーションの更新が行われるため、アプリケーションの開発者が意図した入力タイミングで入力情報をセンサから取得し、意図した出力タイミングで制御情報を用いてアクチュエータを制御することができる。
その結果、更新後にアプリケーションＣ１１２あるいは既存のアプリケーションＢ１１１が正常動作しないという状況を回避することができる。
【００５０】
また、アプリケーションＣ１１２の開発者は、開発段階でアプリケーションＢ１１１の情報を持っている必要はなく、アプリケーションＣ１１２のテスト時に使用した入出力タイミングの情報を、アプリケーションＣ１１２の正常動作を保証するタイミングとしてサーバ装置１０２に提供するだけでよい。
従って、アプリケーションＢ１１１の情報を取得してテストするという作業が不要になり、開発工数を削減することができる。つまり、膨大な実装パターンを網羅して動作検証を行う必要がなくなるため、検証にかかる開発工数を削減することができる。
【００５１】
なお、本実施の形態では、図７のステップＳ５０３において、同じ入出力タイミングに配置可能な情報を、数（ＮＭａｘ）で制限していた。これに代えて、入力情報の入力及び制御情報の出力にかかる時間を求めて、同じ入出力タイミングに配置可能な情報を入出力時間で制限するようにしてもよい。
【００５２】
また、本実施の形態では、アプリケーションの起動や終了等にかかるＯＳ１１５自身の処理時間や割込みが発生した場合の処理時間については説明していないが、アプリケーション更新判定部１２５は、これらの処理時間を考慮して更新可否の判定を行ってもよい。
【００５３】
実施の形態２．
以下に、実施の形態２に係る車両用ネットワークシステムを説明する。
なお、以下では、主に実施の形態１との差異を説明する。以下で説明していない事項は実施の形態１と同じである。
【００５４】
車両用ネットワークシステムの構成は実施の形態１と同じであるため、同一部分については説明を省略する。
【００５５】
実施の形態２におけるシステム情報１１６を図１２に示す。
図１２に示すように、本実施の形態では、入力制御部１１３、出力制御部１１４の起動周期は、ｔＣｙｃｌｅ／３である。
【００５６】
また、実施の形態２におけるサーバ装置１０２が備える新アプリケーションパラメータ情報１２４では、制御情報Ｄの入力タイミングとして、時間がｔ３〜ｔＣｙｃｌｅ（＝ｔ０）の範囲に設定されているものとする。したがって、入力情報Ｄの入力タイミングが時刻ｔ３であっても、時刻ｔ０であっても、アプリケーションＣ１１２の動作が保証されている。ここで、時刻ｔ３は、各アプリケーションの周期の開始から時間ｔＣｙｃｌｅ３分の２が過ぎた時刻であるものとする。このように、本実施の形態では、アプリケーションＣ１１２の入出力スケジュールに時間幅が設定されている。
本実施の形態では、アプリケーション更新判定部１２５は、未実装アプリケーションプログラムであるアプリケーションＣ１１２の入出力スケジュールに時間幅が設定されているときに、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１の入力情報の入力とアプリケーションＢ１１１の演算結果の出力がアプリケーションＢ１１１の入出力スケジュールの通りに行われる場合に、アプリケーションＣ１１２の入力情報の入力とアプリケーションＣ１１２の演算結果の出力がアプリケーションＣ１１２の入出力スケジュールの時間幅の範囲内のいずれかのタイミングで行われるか否かを解析する。
【００５７】
なお、本実施の形態では、アプリケーション更新判定部１２５に、ＮＭａｘの値として５が設定されているものとする。
【００５８】
次に、サーバ装置１０２のアプリケーション更新判定部１２５がＥＣＵ１０１の更新要求情報送信部１１９から更新要求情報を受信したときの処理を、図１３のフローチャートを用いて説明する。図１３において、図７と同一の処理には同一符号を付し、説明を省略する。
【００５９】
アプリケーション更新判定部１２５は、同じタイミングの入力情報及び制御情報の数がＮＭａｘを超過していると判定すると（ステップＳ５０３）、ＮＭａｘを超過しているタイミングの入力情報と制御情報のうち、まだ試していないタイミングへ変更可能なものがないか判定する（ステップＳ１００１）。
ここで変更可能なものが無ければ、アプリケーション更新判定部１２５は、アプリケーションＣ１１２によるＥＣＵ１０１の更新は不可と判定し（ステップＳ５０７）、処理を終了する。
一方、変更可能なものがあれば、アプリケーション更新判定部１２５は、該当する入力情報又は制御情報のタイミングを変更し（ステップＳ１００２）、再びステップＳ５０２に戻る。
【００６０】
次に、アプリケーションＡ１１０へのアプリケーションＣ１１２による上書き更新を目的としてＥＣＵ１０１がサーバ装置１０２に更新要求情報を送信した際の、アプリケーション更新判定部１２５による判定処理を実施の形態１と異なる部分についてのみ説明する。
【００６１】
全６個の情報の入出力タイミングが全て同じタイミングｔ０であり、ＮＭａｘの値が５であり、６＞ＮＭａｘであることから、アプリケーション更新判定部１２５は、これらの６個の情報のうち、タイミングの変更が可能なものがないか検索する。新アプリケーションパラメータ情報１２４によれば、入力情報Ｄの入力タイミングは時刻ｔ３〜ｔＣｙｃｌｅ（＝ｔ０）から選択できる。また、ＥＣＵ１０１から受信した起動条件１２０によれば、入力制御部１１３の起動周期はｔＣｙｃｌｅの１／３の長さである。これらより、時刻ｔ３（＝周期開始からｔＣｙｃｌｅの３分の２の長さ経過時点）においても、ＥＣＵ１０１上で入力制御部１１３を起動して入力情報Ｄを取得し、アプリケーションＣ１１２の演算に使用できることがわかる。そこで、アプリケーション更新判定部１２５は、入力情報Ｄのタイミングを時刻ｔ３に変更し、時刻ｔ０及び時刻ｔ３で入出力される情報を抽出する。この場合、タイミングｔ０の情報が５個、タイミングｔ３の情報が１個となり、時刻ｔ０及び時刻ｔ３のいずれでも入出力される情報の数はＮＭａｘ以下である。従って、アプリケーションＣ１１２によるＥＣＵ１０１の更新は不可とは判定されず、次のステップＳ５０４に進むことができる。
【００６２】
このようにしてアプリケーションＡ１１０をアプリケーションＣ１１２で上書き更新する場合のＥＣＵ１０１の動作を図１４のタイムチャートを用いて説明する。
時刻ｔ０で起動する入力制御部１１３と出力制御部１１４を実行可能な時間枠は、既に５つの入力情報と制御情報の入出力で使用されているため、入力情報Ｄは、時刻ｔ３にて入力制御部１１３が起動したときに取得される。時刻ｔ１に起動するアプリケーションＣ１１２は、直前の時刻ｔ３で取得した入力情報Ｄと、直前の時刻ｔ０で取得した入力情報Ａと入力情報Ｂの値を用いて演算を行うことになる。
【００６３】
このように制御情報Ｄの入力タイミングを時間幅で設定し、アプリケーションＣ１１２が使用する情報の入出力タイミングを時間幅の範囲内で複数選択可能とすることにより、１つの入力タイミングのみが設定されている場合よりも、アプリケーションの更新が可能と判定されやすくなり、アプリケーション更新の利便性を向上することができる。
【００６４】
また、アプリケーションＣ１１２の新アプリケーションパラメータ情報１２４にて、時刻ｔ３で取得した入力情報Ｄを用いてもアプリケーションＣ１１２が正常に動作することが保証されている。このため、アプリケーションＢ１１１とアプリケーションＣ１１２を実装したテストを行う必要はなく、開発工数を削減することができる。
【００６５】
なお、実施の形態２では、新アプリケーションパラメータ情報１２４に含まれる入力情報の入力タイミングが時間幅で設定されているものとしたが、新アプリケーションパラメータ情報１２４に制御情報が含まれる場合には、制御情報の出力タイミングを時間幅で設定してもよい。
また、ＥＣＵ１０１のパラメータテーブル１１７に含まれる入力情報の入力タイミング及び制御情報の出力タイミングを時間幅で設定してもよい。例えば、アプリケーションＢ１１１の入出力スケジュールに時間幅が設定されているときに、アプリケーション更新判定部１２５は、アプリケーションＣ１１２がＥＣＵ１０１に実装され、アプリケーションＢ１１１の入力情報の入力とアプリケーションＢ１１１の演算結果の出力がアプリケーションＢ１１１の入出力スケジュールの時間幅の範囲内のいずれかのタイミングで行われる場合に、アプリケーションＣ１１２の入力情報の入力とアプリケーションＣ１１２の演算結果の出力がアプリケーションＣ１１２の入出力スケジュール通りに行われるか否かを解析する。
【００６６】
また、実施の形態２では、入力情報の入力タイミングを範囲で設定したが、入力情報の入力タイミングや制御情報の出力タイミングを複数の離散値で設定するものであってもよい。この場合も、アプリケーション更新判定部１２５は、図１３に示したように動作する。
【００６７】
実施の形態３．
以下に、実施の形態３に係る車両用ネットワークシステムを説明する。
なお、以下では、主に実施の形態１との差異を説明する。以下で説明していない事項は実施の形態１と同じである。
【００６８】
本実施の形態に係るＥＣＵ１０１の機能構成例を図１５に示す。
図１５において、図２と同一の要素には同一符号を付している。
ＥＣＵ１０１には、アクチュエータＣ１３０１が接続されている。また、ＥＣＵ１０１は時間測定部１３０２を備える。他の要素は図２と同じであるため説明を省略する。
また、サーバ装置１０２の機能構成は図３と同じである。
【００６９】
実施の形態３における初期状態でのシステム情報１１６は図４と同じである。
【００７０】
実施の形態３におけるパラメータテーブル１１７を図１６に示す。図１６では、図５に対して制御情報Ｃの列が追加されているが、初期状態では使用するアプリケーションが存在しないため、出力タイミングも設定されていない。
【００７１】
時間測定部１３０２は、プログラムにより実現される。
時間測定部１３０２を実現するプログラムは、メモリＡ１０８３に記憶され、プロセッサＡ１８０４が当該プログラムを読み出して実行する。
時間測定部１３０２は、アプリケーションの実行時間を測定する。より具体的には、時間測定部１３０２は、ＯＳ１１５がアプリケーションを起動すると測定を開始し、アプリケーションの処理が終了すると測定を停止する。また、時間測定部１３０２は、実行時間の測定結果をシステム情報１１６に含まれる実行時間１２１の情報と比較する。
測定結果がシステム情報１１６に含まれる実行時間１２１の値以下の場合には測定結果は破棄される。一方、測定結果がシステム情報１１６の実行時間１２１の値よりも大きい場合には、時間測定部１３０２はシステム情報１１６の実行時間１２１の情報を、測定結果で更新する。
初期状態でシステム情報１１６に含まれる実行時間１２１は設計時に見積もった最悪実行時間であるが、見積もりミス等によって最悪実行時間が実際よりも短く算出されている可能性がある。このため、時間測定部１３０２によって実行時間１２１が測定結果で更新される。
【００７２】
本実施の形態では、アプリケーションＣ１１２は、アプリケーションＡ１１０やアプリケーションＢ１１１とは異なる機能を実現するアプリケーションである。このため、アプリケーションＣ１１２をＥＣＵ１０１に実装する場合には、アプリケーションＣ１１２はアプリケーションＡ１１０やアプリケーションＢ１１１を上書きせず、アプリケーションＣ１１２が新規にＥＣＵ１０１に追加される。
ＥＣＵ１０１上でアプリケーションＣ１１２が起動されると、アプリケーションＣ１１２は、データベース１１８に格納されている入力情報Ａ、入力情報Ｂ、入力情報Ｄを用いて演算処理を行い、制御情報Ｃを算出し、制御情報Ｃをデータベース１１８に格納する。
【００７３】
新アプリケーション起動条件１２２は、アプリケーションＣ１１２がＥＣＵ１０１で実行される場合に、ＯＳ１１５が起動条件１２０として用いる情報である。ここでは、優先度は０、起動周期はｔＣｙｃｌｅ、起動オフセットは時間ｔ０とする。
【００７４】
新アプリケーション実行時間１２３は、アプリケーションＣ１１２がＥＣＵ１０１で実行される場合の最悪実行時間の見積もり値であり、時間ｔＤとする。
【００７５】
新アプリケーションパラメータ情報１２４は、アプリケーションＣ１１２が使用する入力情報Ａ、入力情報Ｂ、入力情報Ｄの入力タイミングと、制御情報Ｃの出力タイミング、また夫々のデバイスと方向を指定する情報である。新アプリケーションパラメータ情報１２４の入出力タイミングで入出力を行えば、アプリケーションＣ１１２によって正常な車両制御が可能であることが保証されている。ここでは入出力タイミングは全て時間ｔ０に設定されているとする。
【００７６】
続いて、アプリケーションＣ１１２を追加する前の、ＥＣＵ１０１の動作を図１７のタイムチャートを用いて説明する。図１７において、図６と同一部分は説明を省略する。
【００７７】
時刻ｔ１でＯＳ１１５は起動条件１２０に基づきアプリケーションＡ１１０を起動する。そして時間測定部１３０２が実行時間の測定を開始する。
次いで時刻ｔ２にてアプリケーションＡ１１０が処理を終了すると、時間測定部１３０２は実行時間の測定を終了し、実行時間の測定結果とシステム情報１１６に含まれる実行時間１２１の値とを比較する。ここでは、実行時間の測定結果ｔＡ’（＝ｔ２−ｔ１）が、システム情報１１６に含まれる実行時間ｔＡよりも長いものとする。このため、時間測定部１３０２はシステム情報１１６の実行時間１２１の値を図１８に示すようにｔＡ’に更新して処理を終了する。
続いて時刻ｔ２に起動するアプリケーションＢ１１１での実行時間の測定結果ｔＢ’は、システム情報１１６の実行時間ｔＢよりも短いため、システム情報１１６の実行時間ｔＢは更新されない。
【００７８】
サーバ装置１０２のアプリケーション更新判定部１２５がＥＣＵ１０１の更新要求情報送信部１１９から更新要求情報を受信したときに実行する処理は図７と同じである。つまり、本実施の形態では、アプリケーションＡ１１０の実行時間として、時間測定部１３０２で測定された実行時間ｔＡ’を通知する更新要求情報を受信し、実行時間ｔＡ’を用いてアプリケーションＣ１１２の更新可否を判定する。
【００７９】
次に、システム情報１１６の実行時間１２１が更新された後に、アプリケーションＣ１１２による追加更新を目的としてＥＣＵ１０１がサーバ装置１０２に更新要求情報を送信した際の、アプリケーション更新判定部１２５による判定処理を説明する。
【００８０】
アプリケーション更新判定部１２５は、ＥＣＵ１０１から更新要求情報として図１６と図１８に示した更新要求情報を受信すると、上書き対象のアプリケーションはないことから、ＥＣＵ１０１から受信した情報は削除しない。また、アプリケーション更新判定部１２５は、図１６のパラメータテーブル１１７の情報と、新アプリケーションパラメータ情報１２４をマージする。その結果、アプリケーション更新判定部１２５は、全６個の情報が同じタイミングｔ０であり、６≦ＮＭａｘ（＝１０）であると判定する。
続いて、図１８の起動条件１２０と実行時間１２１の情報と、図１６のパラメータテーブル１１７と、新アプリケーション起動条件１２２と新アプリケーション実行時間１２３の情報と、新アプリケーションパラメータ情報１２４を用いて、図１９に示すようなタイムチャートを生成する。また、アプリケーション更新判定部１２５は、生成したタイムチャートから、アプリケーションの開始時刻と終了時刻を求める。
その結果、アプリケーションＣ１１２の終了時刻が、アプリケーションＣ１１２が出力する制御情報Ｃの出力タイミングｔ０よりも遅くなっているため、アプリケーション更新判定部１２５は、アプリケーションＣ１１２の追加更新を不可と判定して処理を終了する。
【００８１】
図１９のタイムチャートから明らかなように、アプリケーションＣ１１２は、時刻ｔ０での出力制御部１１４と入力制御部１１３の処理終了後から時刻ｔ１でアプリケーションＡ１１０が起動するまでの間にも実行することが可能である。このため、実行時間の余裕時間（アイドル時間）の観点でのみ判定を行った場合には更新可と判定され得る。しかし、仮にこのように出力タイミングを考慮せずに追加更新を行った場合、アプリケーションＣ１１２が出力する制御情報Ｃを用いたアクチュエータＣ１３０１の制御は次のアプリケーションＣ１１２が起動した後に行われることになる。よって、制御タイミングがほぼ一周期（ｔＣｙｃｌｅ）遅れてしまい、アプリケーションＣ１１２の開発者が意図するタイミングで出力されない。このため、ＥＣＵ１０１が正常に動作することは保証できず、高度な車両制御が行えない可能性がある。したがって、本実施の形態のように実行時間１２１に余裕があるか否かだけではなく、入出力タイミングを考慮してアプリケーションの更新可否判定を行うことが必要である。
換言すると、アプリケーション更新判定部１２５は、アプリケーションＡ１１０、アプリケーションＢ１１１、アプリケーションＣ１１２を実行スケジュール通りに実行した場合に、アプリケーションＡ１１０、アプリケーションＢ１１１、アプリケーションＣ１１２の実行が各制御情報の出力タイミングまでに完了するか否かを判定する。そして、アプリケーションＡ１１０、アプリケーションＢ１１１、アプリケーションＣ１１２の実行が各制御情報の出力タイミングまでに完了しない場合は、アプリケーション更新判定部１２５は、アプリケーションＣ１１２のＥＣＵ１０１への実装を許可しない。
【００８２】
また、初期状態のシステム情報１１６の実行時間ｔＡを用いてアプリケーションの更新可否判定を行うと、アプリケーション更新判定部１２５は、実際よりもアプリケーションＡ１１０の実行時間を短く見積もって判定を行うことになる。このため、アプリケーション更新判定部１２５は、アプリケーションＣ１１２の終了時刻が制御情報Ｃの出力タイミングよりも早いと判定し、誤ってアプリケーションＣ１１２を追加可能と判定してしまう可能性がある。本実施の形態のように、ＥＣＵ１０１上のアプリケーションの実行時間の測定結果の方が、設計時に見積もった最悪実行時間よりも長い場合には、測定結果を実行時間１２１として使用することでアプリケーションの追加可否判定を高精度に行うことができる。この結果、アプリケーションの追加後にＥＣＵ１０１でアプリケーションが正常に動作しないという状況を回避することができる。
【００８３】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、ＥＣＵ１０１及びサーバ装置１０２のハードウェア構成の補足説明を行う。
図１に示すプロセッサＡ１８０４及びプロセッサＢ１８０７は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサＡ１８０４及びプロセッサＢ１８０７は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
メモリＡ１８０３及びメモリＢ１８０６は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
送受信インタフェースＡ１８０５及び送受信インタフェースＢ１８０８は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
送受信インタフェースＡ１８０５及び送受信インタフェースＢ１８０８は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００８４】
また、ＥＣＵ１０１では、アプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４、ＯＳ１１５、更新要求情報送信部１１９、時間計測部１３０２の処理の結果を示す情報やデータや信号値や変数値が、メモリＡ１８０３、又は、プロセッサＡ１８０４内のレジスタ又はキャッシュメモリに記憶される。
また、アプリケーションＡ１１０、アプリケーションＢ１１１、入力制御部１１３、出力制御部１１４、ＯＳ１１５、更新要求情報送信部１１９、時間計測部１３０２を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
同様に、サーバ装置１０２では、アプリケーション更新判定部１２５の処理の結果を示す情報やデータや信号値や変数値が、メモリＢ１８０６、又は、プロセッサＢ１８０７内のレジスタ又はキャッシュメモリに記憶される。
また、アプリケーション更新判定部１２５を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００８５】
また、ＥＣＵ１０１及びサーバ装置１０２は、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路により実現されてもよい。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
【００８６】
＊＊＊付記＊＊＊
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
また、以上では、ＥＣＵにおけるアプリケーションの更新を説明したが、アプリケーションを実行できるのであれば、ＥＣＵ以外の機器におけるアプリケーションの更新にも本発明を適用することができる。
【符号の説明】
【００８７】
１０１  ＥＣＵ、１０２  サーバ装置、１０３  無線通信網、１０４  センサＡ、１０５  センサＢ、１０６  センサＣ、１０７  センサＤ、１０８  アクチュエータＡ、１０９  アクチュエータＢ、１３０１  アクチュエータＣ、１１０  アプリケーションＡ、１１１  アプリケーションＢ、１１２  アプリケーションＣ、１１３  入力制御部、１１４  出力制御部、１１５  ＯＳ、１１６  システム情報、１１７  パラメータテーブル、１１８  データベース、１１９  更新要求情報送信部、１２０  起動条件、１２１  実行時間、１２２  新アプリケーション起動条件、１２３  新アプリケーション実行時間、１２４  新アプリケーションパラメータ情報、１２５  アプリケーション更新判定部、１３０２  時間測定部、１８０１  センサインタフェース、１８０２  アクチュエータインタフェース、１８０３  メモリＡ、１８０４  プロセッサＡ、１８０５  送受信インタフェースＡ、１８０６  メモリＢ、１８０７  プロセッサＢ、１８０８  送受信インタフェースＢ。
【図１】
2017098644.tif 000003
【図２】
2017098644.tif 000004
【図３】
2017098644.tif 000005
【図４】
2017098644.tif 000006
【図５】
2017098644.tif 000007
【図６】
2017098644.tif 000008
【図７】
2017098644.tif 000009
【図８】
2017098644.tif 000010
【図９】
2017098644.tif 000011
【図１０】
2017098644.tif 000012
【図１１】
2017098644.tif 000013
【図１２】
2017098644.tif 000014
【図１３】
2017098644.tif 000015
【図１４】
2017098644.tif 000016
【図１５】
2017098644.tif 000017
【図１６】
2017098644.tif 000018
【図１７】
2017098644.tif 000019
【図１８】
2017098644.tif 000020
【図１９】
2017098644.tif 000021
【手続補正書】
【提出日】平成29年11月29日(2017.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する通信部と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを用いて、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定部とを有する情報処理装置。
【請求項２】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールと、前記端末装置での前記実装済アプリケーションプログラムの実行スケジュールとを通知する実装済アプリケーション情報を受信する通信部と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと前記実装済アプリケーションプログラムの実行スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを用いて、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析し、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムが前記実装済アプリケーションプログラムの実行スケジュール通りに実行され、前記未実装アプリケーションプログラムが前記未実装アプリケーションプログラムの実行スケジュール通りに実行される場合に、前記実装済アプリケーションプログラムの実行と前記未実装アプリケーションプログラムの実行が既定の時間枠内で完了するか否かを解析し、
前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われ、前記実装済アプリケーションプログラムの実行と前記未実装アプリケーションプログラムの実行が前記時間枠内で完了する場合に、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であると判定する判定部とを有する情報処理装置。
【請求項３】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する通信部と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールであって時間幅が設定されている入出力スケジュールとを用いて、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュールの時間幅の範囲内のいずれかのタイミングで行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定部とを有する情報処理装置。
【請求項４】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールであって時間幅が設定されている入出力スケジュールを通知する実装済アプリケーション情報を受信する通信部と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを用いて、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの時間幅の範囲内のいずれかのタイミングで行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定部とを有する情報処理装置。
【請求項５】
前記通信部は、
前記端末装置での前記実装済アプリケーションプログラムの実行スケジュールとして、前記実装済アプリケーションプログラムが実行されるタイミングと、前記実装済アプリケーションプログラムが前記端末装置で実行された際に測定された実行時間とを通知する実装済アプリケーション情報を受信する請求項２に記載の情報処理装置。
【請求項６】
前記通信部は、
前記判定部により前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であると判定された場合に、前記未実装アプリケーションプログラムを前記端末装置に送信する請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項７】
コンピュータが、端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信し、
前記コンピュータが、前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを用いて、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する情報処理方法。
【請求項８】
端末装置から、前記端末装置に実装済の実装済アプリケーションプログラムが演算に用いる入力情報が入力され、前記実装済アプリケーションプログラムの演算結果が出力される入出力スケジュールを通知する実装済アプリケーション情報を受信する受信処理と、
前記実装済アプリケーション情報で通知された前記実装済アプリケーションプログラムの入出力スケジュールと、前記端末装置に未実装の未実装アプリケーションプログラムが演算に用いる入力情報が入力され、前記未実装アプリケーションプログラムの演算結果が出力される入出力スケジュールとを用いて、
前記未実装アプリケーションプログラムが前記端末装置に実装され、前記実装済アプリケーションプログラムの入力情報の入力と前記実装済アプリケーションプログラムの演算結果の出力が前記実装済アプリケーションプログラムの入出力スケジュールの通りに行われる場合に、前記未実装アプリケーションプログラムの入力情報の入力と前記未実装アプリケーションプログラムの演算結果の出力が前記未実装アプリケーションプログラムの入出力スケジュール通りに行われるか否かを解析して、前記実装済アプリケーションプログラムと前記未実装アプリケーションプログラムとが前記端末装置で実行可能であるか否かを判定する判定処理とをコンピュータに実行させる情報処理プログラム。
【国際調査報告】
2017098644.tif 000022
2017098644.tif 000023
2017098644.tif 000024
2017098644.tif 000025