(57)【要約】【課題】載情報処理装置を通じて実行される既存の情報処理に対する誤った改変を生じさせることなく、解析の対象とする車両データを高い柔軟性をもって取得することのできる車両データ取得システム、及び車両データ取得方法を提供する。【解決手段】車載情報処理装置２００の命令実行領域２３０の空き領域に、命令置換手段１１０及び置換命令１２０を動的に組み込む。命令置換手段１１０は、実行命令２２１の一部を命令実行領域２３０の空き領域に一時的に退避させる。また、命令置換手段１１０は、この退避させた実行命令２２１に代えて置換命令１２０を実行させることにより車両データを取得する。そして、退避させた命令を含めた一連の実行命令２２１を同車載情報処理装置２００に実行させる。【選択図】図１
2012221032.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された車載情報処理装置を通じて車両データを取得する車両データ取得システムであって、
前記車載情報処理装置の命令実行領域に車両データ取得のための置換命令と共々動的に組み込まれて、車載情報処理装置による実行命令の一部を空き領域に一時的に退避させるとともに、退避させた実行命令に代えて前記置換命令を実行させることにより車両データを取得した後、前記退避させた実行命令を含めた前記車載情報処理装置による一連の実行命令を同車載情報処理装置に実行させる命令置換手段を備える
ことを特徴とする車両データ取得システム。
【請求項２】
前記命令置換手段は、前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々読み込まれるものであって、
ａ．前記作業用メモリへの読み込みに伴って前記車載情報処理装置による実行命令の一部を空き領域のうちの前記置換命令が読み込まれたアドレスの次のアドレスに一時的に退避させる手段、及び
ｂ．前記退避させた実行命令の元のアドレスに、前記置換命令が読み込まれたアドレスへジャンプさせる第１のジャンプ命令を書き込む手段、及び
ｃ．前記一時的に退避させた実行命令の次のアドレスに、当該退避させた実行命令の元のアドレスの次のアドレスへジャンプさせる第２のジャンプ命令を書き込む手段、
をそれぞれ備えてなる
請求項１に記載の車両データ取得システム。
【請求項３】
前記命令置換手段及び前記置換命令は、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込まれる
請求項２に記載の車両データ取得システム。
【請求項４】
前記命令置換手段は、前記車載情報処理装置のオペレーティングシステムに対して外部から割り込み要求が発せられることにより、前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々同車載情報処理装置による実行命令の一部がソフトウェア割り込みとして登録された割り込みハンドラを生成するものである
請求項１に記載の車両データ取得システム。
【請求項５】
前記命令置換手段は、有線通信もしくは無線通信にて前記車載情報処理装置のオペレーティングシステムに対し割り込み要求を発生するプログラムであり、前記置換命令は、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込まれる
請求項４に記載の車両データ取得システム。
【請求項６】
請求項１〜５のいずれかに記載の車両データ取得システムにおいて、
前記車載情報処理装置による実行命令のどの命令を前記置換命令によって代行させるかその対応付けが予め登録された置換命令対応テーブルをさらに備え、
前記命令置換手段は、前記置換命令対応テーブルの参照のもとに前記一時的に退避させる前記車載情報処理装置による実行命令の一部を決定する
ことを特徴とする車両データ取得システム。
【請求項７】
前記置換命令対応テーブルは、前記一時的に退避させる前記車載情報処理装置による実行命令の一部の作業用メモリ中でのアドレスと該当する置換命令との対応テーブルとして設けられている
請求項６に記載の車両データ取得システム。
【請求項８】
前記車載情報処理装置は、前記命令置換手段による命令置換の実行の可否を車両の状態に応じて判断する
請求項１〜７のいずれか一項に記載の車両データ取得システム。
【請求項９】
前記車載情報処理装置は、車両が停車状態にあるとき、もしくは当該車載情報処理装置自身の処理負荷が低負荷状態にあるとき、前記命令置換手段による命令置換の実行を許可する
請求項８に記載の車両データ取得システム。
【請求項１０】
前記車載情報処理装置は、前記命令置換手段及び前記置換命令の正当性を判断する認証手段を備え、該認証手段により正当と判断された命令置換手段及び置換命令に対してのみ作業用メモリへの読み込みを許可する
請求項１〜９のいずれか一項に記載の車両データ取得システム。
【請求項１１】
車両に搭載された車載情報処理装置を通じて車両データを取得する車両データ取得方法であって、
前記車載情報処理装置の命令実行領域に車両データ取得のための置換命令と共々、命令の置換制御を行う命令置換手段を動的に組み込む第１の工程と、
該組み込んだ命令置換手段による制御のもと、車載情報処理装置による実行命令の一部を空き領域に一時的に退避させる第２の工程と、
この退避させた実行命令に代えて前記車載情報処理装置に前記置換命令を実行させることにより車両データを取得する第３の工程と、
前記組み込んだ命令置換手段による制御のもと、前記退避させた実行命令を含めた前記車載情報処理装置による一連の実行命令を同車載情報処理装置に実行させる第４の工程と、
を備える
ことを特徴とする車両データ取得方法。
【請求項１２】
前記第１の工程では、前記命令置換手段を、前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々読み込ませ、
前記第２の工程では、前記作業用メモリへの読み込みに伴って前記車載情報処理装置による実行命令の一部を空き領域のうちの前記置換命令が読み込まれたアドレスの次のアドレスに一時的に退避させ、
前記第３の工程、及び前記第４の工程では、前記退避させた実行命令の元のアドレスに前記置換命令が読み込まれたアドレスへジャンプさせる第１のジャンプ命令を書き込むとともに、前記一時的に退避させた実行命令の次のアドレスに当該退避させた実行命令の元のアドレスの次のアドレスへジャンプさせる第２のジャンプ命令を書き込み、前記第１のジャンプ命令の実行に伴って前記置換命令、及び前記一時的に退避させた実行命令を実行させるとともに、前記第２のジャンプ命令の実行に伴って前記退避させた実行命令に引き続く前記車載情報処理装置による本来の実行命令を実行させる
請求項１１に記載の車両データ取得方法。
【請求項１３】
前記命令置換手段及び前記置換命令を、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込む
請求項１２に記載の車両データ取得方法。
【請求項１４】
前記第１の工程では、前記車載情報処理装置のオペレーティングシステムに対して外部から割り込み要求を発生させることにより、前記命令置換手段を通じて前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々同車載情報処理装置による実行命令の一部がソフトウェア割り込みとして登録された割り込みハンドラを生成させ、
前記第２の工程及び前記第３の工程及び前記第４の工程では、前記オペレーティングシステムによる前記ソフトウェア割り込みの番号を引数としたソフトウェア割り込み命令に従って前記置換命令及び前記一時的に退避させた実行命令を実行させるとともに、この実行命令に引き続く前記車載情報処理装置による本来の実行命令を実行させる
請求項１１に記載の車両データ取得方法。
【請求項１５】
前記命令置換手段からは、有線通信もしくは無線通信にて前記車載情報処理装置のオペレーティングシステムに対し割り込み要求を発生させ、前記置換命令を、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込む
請求項１４に記載の車両データ取得方法。
【請求項１６】
請求項１１〜１５のいずれかに記載の車両データ取得方法において、
前記車載情報処理装置による実行命令のどの命令を前記置換命令によって代行させるかその対応付けが予め登録された置換命令対応テーブルを設け、
前記命令置換手段による前記一時的に退避させる前記車載情報処理装置による実行命令の一部の決定を前記置換命令対応テーブルの参照のもとに行わせる
ことを特徴とする車両データ取得方法。
【請求項１７】
前記置換命令対応テーブルを、前記一時的に退避させる前記車載情報処理装置による実行命令の一部の作業用メモリ中でのアドレスと該当する置換命令との対応テーブルとして生成する
請求項１６に記載の車両データ取得方法。
【請求項１８】
前記車載情報処理装置において、前記命令置換手段による命令置換の実行の可否を車両の状態に応じて判断させる
請求項１１〜１７のいずれか一項に記載の車両データ取得方法。
【請求項１９】
前記車載情報処理装置において、車両が停車状態にあるとき、もしくは当該車載情報処理装置自身の処理負荷が低負荷状態にあるとき、前記命令置換手段による命令置換の実行を許可する
請求項１８に記載の車両データ取得方法。
【請求項２０】
前記車載情報処理装置には前記命令置換手段及び前記置換命令の正当性を判断する認証手段を設け、該認証手段により正当と判断された命令置換手段及び置換命令に対してのみ作業用メモリへの読み込みを許可する
請求項１１〜１９のいずれか一項に記載の車両データ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された情報処理装置の動作を利用することによって車両データを取得する車両データ取得システム、及び車両データ取得方法に関する。
【背景技術】
【０００２】
一般に、車両に搭載されているナビゲーションシステムや各種制御装置等の車載情報処理装置の動作試験等に際しては、同情報処理装置にて実行されたプログラムを通じて取得される車両データに基づき車両状態の解析が行われる。そのため車載情報処理装置には、こうして取得される車両データを時系列で記憶する機能、いわゆるデータロギング機能が設けられている。ただし、車載情報処理装置を通じて取得したいデータは、対象とする不具合の内容等、解析の対象に応じて異なるため、こうしたロギング機能としても、取得するデータの種類や数などを解析の対象に応じて変更する必要がある。そして通常、そのようなロギング機能の変更は、データロギングを行うプログラムのソースコード自体を変更することによって行われる。しかし、このようなソースコードの変更は、当該プログラムに習熟している技術者だけが行うことのできる作業であるとともに、たとえ習熟している技術者にとっても、こうしたプログラムを正確に変更することは難しい作業である。
【０００３】
そこで従来、データロギング機能の変更を容易に行うことのできる技術が提案されており、その一例が特許文献１に記載されている。この特許文献１に記載のシステムは、基本的に、車両を制御する制御プログラムと、当該車両各部の診断を行いつつその診断データを含む車両データを記憶していくデータロギング機能を含む診断プログラムとを有している。そしてこれらプログラムのうち、診断プログラムは、車載情報処理装置に接続されたメンテナンス用の端末装置から故障情報に対応して送出される機能変更情報に基づき、記憶すべき車両データやその記憶条件が変更される。これによって、診断プログラムに対する知識がない技術者であれ、メンテナンス用の端末装置を車載情報処理装置に接続するだけで、故障箇所を特定するための車両データを簡単に収集することができるようになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８４９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、特許文献１に記載のシステムによれば、プログラムに習熟していない技術者が行う場合であれ、故障情報に応じた機能変換情報に基づき故障診断に有用な車両データがいわゆるログデータとして記憶されるようになる。また故障情報に応じた機能変換情報が予め用意されていることから、プログラムのソースコードを変更する際に不正確な改変を生じるおそれもなくなる。
【０００６】
しかし同システムにあって、上記診断プログラムは、制御プログラムが各制御に含まれている診断処理を実行（コール）してから記憶条件に基づき車両データを記憶する処理構造となっている。すなわち車両データは、制御プログラムによる処理結果毎に収集、記憶されることとなり、近年のプログラムの高度化、複雑化などに対する柔軟性の低下も避けられないものとなっている。
【０００７】
本発明は、このような実情に鑑みてなされたものであり、その目的は、車載情報処理装置を通じて実行される既存の情報処理に対する誤った改変を生じさせることなく、解析の対象とする車両データを高い柔軟性をもって取得することのできる車両データ取得システム、及び車両データ取得方法を提供することにある。
【課題を解決するための手段】
【０００８】
以下、上記課題を解決するための手段及びその作用効果について記載する。
請求項１に記載の発明は、車両に搭載された車載情報処理装置を通じて車両データを取得する車両データ取得システムであって、前記車載情報処理装置の命令実行領域に車両データ取得のための置換命令と共々動的に組み込まれて、車載情報処理装置による実行命令の一部を空き領域に一時的に退避させるとともに、退避させた実行命令に代えて前記置換命令を実行させることにより車両データを取得した後、前記退避させた実行命令を含めた前記車載情報処理装置による一連の実行命令を同車載情報処理装置に実行させる命令置換手段を備えることを要旨とする。
【０００９】
請求項１１に記載の発明は、車両に搭載された車載情報処理装置を通じて車両データを取得する車両データ取得方法であって、前記車載情報処理装置の命令実行領域に車両データ取得のための置換命令と共々、命令の置換制御を行う命令置換手段を動的に組み込む第１の工程と、該組み込んだ命令置換手段による制御のもと、車載情報処理装置による実行命令の一部を空き領域に一時的に退避させる第２の工程と、この退避させた実行命令に代えて前記車載情報処理装置に前記置換命令を実行させることにより車両データを取得する第３の工程と、前記組み込んだ命令置換手段による制御のもと、前記退避させた実行命令を含めた前記車載情報処理装置による一連の実行命令を同車載情報処理装置に実行させる第４の工程と、を備えることを要旨とする。
【００１０】
このような構成あるいは方法によれば、上記命令置換手段が、車両データ取得のための置換命令と共々、車載情報処理装置の命令実行領域に動的に組み込まれる。そして、この命令置換手段により、車載情報処理装置による実行命令のうち任意の位置の実行命令に代えて置換命令を実行させることができる。また、この置換命令の実行を通じて車両データが取得されて以降は、上記退避させた実行命令を含めた一連の実行命令が実行される。よって、置換命令を用いることによる車載情報処理装置を通じた車両データの取得を、より高い自由度のもとに行うことができるようになる。例えば、車載情報処理装置の情報処理部に含まれる各処理工程ごとにデータを取得するような構成の場合、各処理工程の結果に対応する車両データしか取得することができない。しかし本発明によれば、退避させた一部の実行命令に代えて置換命令を実行することによって、車載情報処理装置の動作状態をより詳細に示す車両データを取得することができるようになる。その結果、置換命令の実行を通じて取得される車両データであれ、車載情報処理装置の動作状態の解析を高い精度で行うために用いることのできる車両データとして取得されることができるようになる。このため、車載情報処理装置の不具合の原因究明などの精度などが向上するようになる。
【００１１】
また、命令置換手段は、実行命令の一部を命令実行領域の空き領域に退避させて置換命令の実行後には同一部の実行命令の処理を担保する。また、置換命令に代行させるべき一部の実行命令についても、その内容を改変等することなく命令実行領域の空き領域に退避するだけで済む。これによって、技術者等がソースコード等を直接変更するような作業が不要となるため、改変や修正が、ソースコードに不正確な改変等を生じるおそれが防止される。その結果、車両データ取得システムとしての信頼性も向上されるようになる。
【００１２】
請求項２に記載の発明は、請求項１に記載の発明車両データ取得システムにおいて、前記命令置換手段は、前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々読み込まれるものであって、ａ．前記作業用メモリへの読み込みに伴って前記車載情報処理装置による実行命令の一部を空き領域のうちの前記置換命令が読み込まれたアドレスの次のアドレスに一時的に退避させる手段、及びｂ．前記退避させた実行命令の元のアドレスに、前記置換命令が読み込まれたアドレスへジャンプさせる第１のジャンプ命令を書き込む手段、及びｃ．前記一時的に退避させた実行命令の次のアドレスに、当該退避させた実行命令の元のアドレスの次のアドレスへジャンプさせる第２のジャンプ命令を書き込む手段、をそれぞれ備えてなることを要旨とする。
【００１３】
請求項１２に記載の発明は、請求項１１に記載の車両データ取得方法において、前記第１の工程では、前記命令置換手段を、前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々読み込ませ、前記第２の工程では、前記作業用メモリへの読み込みに伴って前記車載情報処理装置による実行命令の一部を空き領域のうちの前記置換命令が読み込まれたアドレスの次のアドレスに一時的に退避させ、前記第３の工程、及び前記第４の工程では、前記退避させた実行命令の元のアドレスに前記置換命令が読み込まれたアドレスへジャンプさせる第１のジャンプ命令を書き込むとともに、前記一時的に退避させた実行命令の次のアドレスに当該退避させた実行命令の元のアドレスの次のアドレスへジャンプさせる第２のジャンプ命令を書き込み、前記第１のジャンプ命令の実行に伴って前記置換命令、及び前記一時的に退避させた実行命令を実行させるとともに、前記第２のジャンプ命令の実行に伴って前記退避させた実行命令に引き続く前記車載情報処理装置による本来の実行命令を実行させることを要旨とする。
【００１４】
このような構成あるいは方法によれば、車載情報処理装置は、上記命令置換手段による上記ａ〜ｃの手段あるいは上記第１〜第４の工程を通じて、実行命令、同実行命令の途中から置換命令にジャンプするための第１のジャンプ命令、車両データを取得するための置換命令、空き領域に一時的に退避された実行命令、第２のジャンプ命令、及び実行命令（本来、退避された実行命令の次に実行される命令）の順に実行させることができる。これにより、車両データを取得するための置換命令の実行を含んだ一連の処理として上記実行命令を実行することができる。
【００１５】
請求項３に記載の発明は、請求項２に記載の車両データ取得システムにおいて、前記命令置換手段及び前記置換命令は、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込まれることを要旨とする。
【００１６】
請求項１３に記載の発明は、請求項１２に記載の車両データ取得方法において、前記命令置換手段及び前記置換命令を、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込むことを要旨とする。
【００１７】
このような構成あるいは方法によれば、命令置換手段及び置換命令は、ＵＳＢメモリ等、外部記憶媒体との直接接続による有線通信や車両データの解析センター等との通信による無線通信を通じて車載情報処理装置に組み込まれる。このため、車載情報処理装置に対する命令置換手段及び置換命令の組み込みを、外部との有線通信や無線通信を通じて柔軟に行うことが可能となり、ひいては、それら組み込まれた命令置換手段及び置換命令によって取得できる車両データを柔軟に変更することが可能となる。
【００１８】
なお、置換命令の実行を通じて取得された車両データは、有線通信を通じて外部記憶媒体に送ることや、無線通信を通じて解析センター等に送ることも可能である。この場合には、記憶装置の容量に限られずに車両データは取得可能になるし、車載情報処理装置は、車両データをその解析等を行う手段に素早く送ることができるようになる。よって、車両データの解析による車両不具合などの試験や調査を、より速やかに行うことができるようにもなる。
【００１９】
請求項４に記載の発明は、請求項１に記載の車両データ取得システムにおいて、前記命令置換手段は、前記車載情報処理装置のオペレーティングシステムに対して外部から割り込み要求が発せられることにより、前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々同車載情報処理装置による実行命令の一部がソフトウェア割り込みとして登録された割り込みハンドラを生成するものであることを要旨とする。
【００２０】
請求項１４に記載の発明は、請求項１１に記載の車両データ取得方法において、  前記第１の工程では、前記車載情報処理装置のオペレーティングシステムに対して外部から割り込み要求を発生させることにより、前記命令置換手段を通じて前記車載情報処理装置の実行命令が読み込まれる作業用メモリの空き領域に前記置換命令と共々同車載情報処理装置による実行命令の一部がソフトウェア割り込みとして登録された割り込みハンドラを生成させ、前記第２の工程及び前記第３の工程及び前記第４の工程では、前記オペレーティングシステムによる前記ソフトウェア割り込みの番号を引数としたソフトウェア割り込み命令に従って前記置換命令及び前記一時的に退避させた実行命令を実行させるとともに、この実行命令に引き続く前記車載情報処理装置による本来の実行命令を実行させることを要旨とする。
【００２１】
このような構成あるいは方法によれば、車載情報処理装置のオペレーティングシステムに対して外部から割り込み要求が発せられると、上記作業用メモリの空き領域に割り込みハンドラが生成される。このため、車載情報処理装置は、ソフトウェア割り込み命令に従って、車両データを取得するための置換命令と上記一時的に退避させた実行命令とを、同車載情報処理装置により本来実行すべき実行命令の実行途中で実行することができる。そして、それら各命令の実行後には、上記退避させた実行命令に引き続く車載情報処理装置による本来の実行命令が実行される。このため、オペレーティングシステムによる割り込み機能を利用して、実行命令の一時的な退避、置換命令の実行、及び退避させた実行命令を含んだ一連の実行命令の実行といった処理を自動的に行うことが可能となる。これにより、実行命令の一時退避を通じて車両データを取得する上で、その自動化及び高精度化が図られるようになる。
【００２２】
請求項５に記載の発明は、請求項４に記載の車両データ取得システムにおいて、前記命令置換手段は、有線通信もしくは無線通信にて前記車載情報処理装置のオペレーティングシステムに対し割り込み要求を発生するプログラムであり、前記置換命令は、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込まれることを要旨とする。
【００２３】
請求項１５に記載の発明は、請求項１４に記載の車両データ取得方法において、前記命令置換手段からは、有線通信もしくは無線通信にて前記車載情報処理装置のオペレーティングシステムに対し割り込み要求を発生させ、前記置換命令を、有線通信もしくは無線通信にて外部から前記車載情報処理装置に組み込むことを要旨とする。
【００２４】
このような構成あるいは方法によれば、命令置換手段は、ＵＳＢメモリ等、外部記憶媒体との直接接続による有線通信や車両データを解析する解析センター等との通信による無線通信を通じて割り込み要求を発生させる。また、置換命令は、こうした無線通信や有線通信を通じて車載情報処理装置に組み込まれる。このため、割り込み要求の発生と置換命令の組み込みとを、外部との有線通信や無線通信を通じて柔軟に行うことが可能となり、ひいては、それら組み込まれた命令置換手段及び置換命令によって取得できる車両データを柔軟に変更することが可能となる。
【００２５】
なお、この場合にも、置換命令の実行を通じて取得された車両データは、有線通信を通じて外部記憶媒体に送ることや、無線通信を通じて解析センターに送ることも可能である。この場合には、記憶装置の容量に限られずに車両データは取得可能になるし、車載情報処理装置は、車両データをその解析等を行う手段に素早く送ることができるようになる。よって、車両データの解析による車両不具合などの試験や調査を、より速やかに行うことができるようにもなる。
【００２６】
請求項６に記載の発明は、請求項１〜５のいずれかに記載の車両データ取得システムにおいて、前記車載情報処理装置による実行命令のどの命令を前記置換命令によって代行させるかその対応付けが予め登録された置換命令対応テーブルをさらに備え、前記命令置換手段は、前記置換命令対応テーブルの参照のもとに前記一時的に退避させる前記車載情報処理装置による実行命令の一部を決定することを要旨とする。
【００２７】
請求項１６に記載の発明は、請求項１１〜１５のいずれかに記載の車両データ取得方法において、前記車載情報処理装置による実行命令のどの命令を前記置換命令によって代行させるかその対応付けが予め登録された置換命令対応テーブルを設け、前記命令置換手段による前記一時的に退避させる前記車載情報処理装置による実行命令の一部の決定を前記置換命令対応テーブルの参照のもとに行わせることを要旨とする。
【００２８】
このような構成あるいは方法によれば、命令置換手段は、置換命令対応テーブルを参照するだけで、置換命令によって代行させるべき実行命令、換言すれば、この置換命令によって取得すべき車両データを把握することができる。このため、例えば、命令置換手段を実現するプログラム等には、置換命令と置き換えるべき実行命令のアドレス等を示す情報を予め組み込む必要もない。よって、取得対象とする車両データや適用対象とするシステムに応じた汎用性の高い車両データの取得が可能となる。
【００２９】
また、本発明は、置換命令に代行させようとする実行命令が複数存在するときに適用して特に有効であり、この場合には、置換命令対応テーブルの参照をもとに、同代行させようとする実行命令の各命令列を容易に決定することが可能となる。
【００３０】
請求項７に記載の発明は、請求項６に記載の車両データ取得システムにおいて、前記置換命令対応テーブルは、前記一時的に退避させる前記車載情報処理装置による実行命令の一部の作業用メモリ中でのアドレスと該当する置換命令との対応テーブルとして設けられていることを要旨とする。
【００３１】
請求項１７に記載の発明は、請求項１６に記載の車両データ取得方法において、前記置換命令対応テーブルを、前記一時的に退避させる前記車載情報処理装置による実行命令の一部の作業用メモリ中でのアドレスと該当する置換命令との対応テーブルとして生成することを要旨とする。
【００３２】
このような構成あるいは方法によれば、命令置換手段は、置換命令対応テーブルに登録されている実行命令の一部の作業用メモリ中でのアドレスをもとに、退避すべき実行命令を把握することができる。よって、退避すべき実行命令を容易かつ的確に特定することができるようになる。
【００３３】
請求項８に記載の発明は、請求項１〜７のいずれか一項に記載の車両データ取得システムにおいて、前記車載情報処理装置は、前記命令置換手段による命令置換の実行の可否を車両の状態に応じて判断することを要旨とする。
【００３４】
請求項１８に記載の発明は、請求項１１〜１７のいずれか一項に記載の車両データ取得方法において、前記車載情報処理装置において、前記命令置換手段による命令置換の実行の可否を車両の状態に応じて判断させることを要旨とする。
【００３５】
このような構成あるいは方法によれば、車両のキー操作などによって判別できる車両の状態に応じて、命令置換手段による命令置換の実行の可否が判断される。これによって、実行命令に対する命令の置き換えの実行を、置き換え作業に適した車両の状態で行うことができるようにもなる。逆に言えば、実行命令に対する命令の置き換えの実行を、置き換え作業に適していない車両の状態では行わないようにしたりすることもできる。このことから、実行命令の置き換え作業を、車両の走行に影響を与えないように行うようにすることができるようになり、車両データの取得処理の安全性を高めることができるようになる。
【００３６】
請求項９に記載の発明は、請求項８に記載の車両データ取得システムにおいて、前記車載情報処理装置は、車両が停車状態にあるとき、もしくは当該車載情報処理装置自身の処理負荷が低負荷状態にあるとき、前記命令置換手段による命令置換の実行を許可することを要旨とする。
【００３７】
請求項１９に記載の発明は、請求項１８に記載の車両データ取得方法において、前記車載情報処理装置において、車両が停車状態にあるとき、もしくは当該車載情報処理装置自身の処理負荷が低負荷状態にあるとき、前記命令置換手段による命令置換の実行を許可することを要旨とする。
【００３８】
このような構成あるいは方法によれば、車両が停車状態にあることや車載情報処理装置自身の処理負荷が低負荷状態にあることを条件に、命令置換手段による命令置換の実行を許可する。このため、車両走行中であれば走行に影響を与えるおそれのある命令置換作業であれ、走行に影響を与えることを避けて同置き換え作業を行うことができるようになる。また同様に、車載情報処理装置自身に対する負荷が増大するおそれのある命令置換作業であれ、車載情報処理装置により実行される各種処理に影響を与えることを避けて同置き換え作業を行うことができるようになる。これによって、車両データの取得処理の安全性を、より高めることができるようになる。
【００３９】
請求項１０に記載の発明は、請求項１〜９のいずれか一項に記載の車両データ取得システムにおいて、前記車載情報処理装置は、前記命令置換手段及び前記置換命令の正当性を判断する認証手段を備え、該認証手段により正当と判断された命令置換手段及び置換命令に対してのみ作業用メモリへの読み込みを許可することを要旨とする。
【００４０】
請求項２０に記載の発明は、請求項１１〜１９のいずれか一項に記載の車両データ取得方法において、前記車載情報処理装置には前記命令置換手段及び前記置換命令の正当性を判断する認証手段を設け、該認証手段により正当と判断された命令置換手段及び置換命令に対してのみ作業用メモリへの読み込みを許可することを要旨とする。
【００４１】
命令置換手段及び置換命令は、車載情報処理装置によって本来実行すべき実行命令の置き換え作業や車両データの取得作業を実行するものであり、その正当性の検証が極めて重要となる。そこで、上記構成あるいは方法によるように、認証手段による認証を通じて正当であると判断された命令置換手段及び置換命令に対してのみ作業用メモリへの読み込みを許可することとすれば、正当性が確認された命令置換作業や置換命令の実行しか行われない。これにより、不正な命令置換作業や不正な置換命令の実行が行われることが抑制されるようになり、命令置換手段及び置換命令により車両データを取得可能とする上で、セキュリティー性能が高められるようになる。
【図面の簡単な説明】
【００４２】
【図１】本発明に係る車両データ取得システムを具体化した第１の実施の形態について、その概略構成を示すブロック図。
【図２】置き換え対象とする実行命令のアドレスと置換命令との対応関係の一例を示す置換命令対応テーブルの一例を示す図。
【図３】同実施の形態の命令置換手段による命令の置き換え動作について、その一例を示すブロック図。
【図４】同実施の形態の命令置換手段による命令の置き換え動作について、その一例を示すブロック図。
【図５】同実施の形態の命令置換手段による命令の置き換え動作について、その一例を示すブロック図。
【図６】図１に示す車載情報処理装置にて、命令置換手段及び置換命令及び置換命令対応テーブルの読み込み条件を示す図であって、（ａ）は車両キー状態に応じての読み込み条件を示す図、（ｂ）は（ａ）の読み込み条件のさらに詳細な条件を示す図。
【図７】読み込み手段による命令置換手段及び置換命令及び置換命令対応テーブルの読み込み処理の一例を示すフローチャート。
【図８】命令置換手段により実行される命令置換処理の一例を示すフローチャート。
【図９】（ａ）〜（ｄ）は、命令置換手段による命令置換手順の一例を示す図。
【図１０】（ａ）及び（ｂ）は、命令置換手段により置き換えられた命令列の配列態様の一例を示す図。
【図１１】本発明に係る車両データ取得システムを具体化した第２の実施の形態について、（ａ）〜（ｄ）は、命令置換手段による命令置換手順の一例を示す図。（ｅ）は、同実施の形態の命令置換手段により置き換えられた命令列の配列構造の一例を示す図。
【図１２】本発明に係る車両データ取得システムを具体化した第３の実施の形態について、その概略構成を示すブロック図。
【発明を実施するための形態】
【００４３】
（第１の実施の形態）
本発明に係る車両データ取得システムを具体化した第１の実施の形態について、図１〜図１０を参照して説明する。
【００４４】
図１に示すように、車両データ取得システムには、車両Ｃに搭載される車載情報処理装置２００を有している。車載情報処理装置２００は、車両Ｃの外部に設けられているデータ解析センタ１００との間でプログラムデータやログデータなどの各種データを授受する。
【００４５】
データ解析センタ１００は、車両Ｃに搭載されている各種制御装置等の情報処理装置から取得されたデータログを解析することによって、車両Ｃの動作状態等の試験や調査を行う。本実施の形態では、車載情報処理装置２００により実行される所定のバイナリから構成されて、かつ、車両Ｃに搭載された車載情報処理装置２００の作業用メモリである命令実行領域２３０に動的に組み込まれる命令置換手段１１０及び置換命令１２０が利用されることにより、車両Ｃにおいて車両データが取得できるようになっている。そして、データ解析センタ１００は、こうした車両データに基づいて車両Ｃの動作状態の試験等を行う。データ解析センタ１００が行う各種動作試験等には、車両Ｃの不具合や、同車両Ｃに搭載された車載情報処理装置２００に生じた不具合に係る試験や調査などが含まれる。データ解析センタ１００が解析に用いるデータログ２４１は、車載情報処理装置２００にて実行された置換命令１２０の動作に関連して取得、記憶された車両データが、時系列的に記録されることによって生成されたデータログである。すなわち本実施の形態では、車両Ｃの車載情報処理装置２００は、各種車両データから構成されるデータログ２４１を生成するデータログ機能を実現する。
【００４６】
データ解析センタ１００には、車載情報処理装置２００に設けられた作業用メモリ内の命令実行領域２３０に組み込むべき命令置換手段１１０及び置換命令１２０が保持されている。このうち、命令置換手段１１０は、車載情報処理装置２００により本来実行すべきプログラムとして命令実行領域２３０に組み込まれる実行命令２２１の一部を、命令実行領域２３０の空き領域に退避させるとともに同退避させた実行命令２２１に代えて車載情報処理装置２００に置換命令１２０を実行させる手段である。
【００４７】
また、置換命令１２０は、車載情報処理装置２００により実行されることによって、車載情報処理装置２００にて実行されているアプリケーションプログラム等を利用することにより取得される車両データ、例えば各種車両状態を示すデータや、プログラムの内部変数のデータなどのデータログ２４１を生成するデータログ機能を有している。
【００４８】
また、データ解析センタ１００は、車載情報処理装置２００による実行命令２２１のどの命令を置換命令１２０によって代行させるかその対応付けが予め登録された置換命令対応テーブル１３０を保持している。
【００４９】
この置換命令対応テーブル１３０には、例えば図２に示すように、一時的に退避させる車載情報処理装置２００による実行命令２２１の一部の作業用メモリ中でのアドレス、すなわち命令実行領域２３０内でのアドレスと該当する置換命令１２０との対応関係が登録されている。例えば、アドレス０ｘ８０１１＿４４３８に位置する実行命令２２１と置き換えるべき置換命令１２０として、ＯＳ等の状態を示すメモリ使用量や負荷率などを示す変数の車両データを出力させるためのバイナリである「置換命令Ａ．ｂｉｎ」が対応付けられている。また、アドレス０ｘ８２０４＿００００に位置する実行命令２２１と置き換えるべき置換命令１２０として、車載情報処理装置２００の動作状態を示すカウンタやクロックなどの変数の車両データを出力させるためのバイナリである「置換命令Ｂ．ｂｉｎ」が対応付けられている。この置換命令対応テーブル１３０は、車両Ｃの動作試験等の際に解析する対象などに応じて、データ解析センタ１００などで作成される。
【００５０】
そして、本実施の形態の命令置換手段１１０は、この置換命令対応テーブル１３０の参照を通じて、車載情報処理装置２００の命令実行領域２３０に組み込まれた実行命令２２１と置換命令１２０との置き換えを行う。なお、置換命令１２０を置き換える実行命令２２１のアドレスとしては、例えば、当該置き換え位置において車両Ｃの動作状態を解析することに適した車両データが取得できるアドレスが用いられる。また、車両データには、車両Ｃの走行状態に係るデータである速度、加速度、振動、および位置等や、エンジン制御等に係るデータなどが含まれる。なお、車両データには、車載情報処理装置２００の動作状態を示す変数、ＯＳ等の状態を示す変数、およびプログラム切換に係る変数が含まれる。
【００５１】
さらに、データ解析センタ１００には、図１に示すように、プログラムデータログ１４０が保持されるようになっている。プログラムデータログ１４０は、車載情報処理装置２００にて取得された車両データのデータログ２４１がデータ解析センタ１００に転送されることによって生成されたものである。すなわちデータ解析センタ１００には、車載情報処理装置２００にて取得されたデータログ２４１が、プログラムデータログ１４０として保持される。
【００５２】
そして、データ解析センタ１００では、プログラムデータログ１４０に基づき、車両Ｃの状態、例えば車載情報処理装置２００の動作状態が解析される。詳述すると、データ解析センタ１００は、車両データのデータログ２４１から構成されるプログラムデータログ１４０に含まれるデータが、どのような条件や状況にて車両Ｃにおいて取得されたものか判定することができる。このようなことから、データ解析センタ１００は、プログラムデータログ１４０に基づき車両Ｃの各種動作状態を解析することができるとともに、この解析を通じて、車両Ｃの状態、例えば車載情報処理装置２００の状態や、同車載情報処理装置２００で実行される各種プログラム等の動作状態などについても解析することができるようになっている。
【００５３】
また、データ解析センタ１００は、保持している命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を、ＵＳＢメモリなどの携帯型記憶装置３００に転送することができる。一方、データ解析センタ１００は、車両Ｃに記憶されたデータログ２４１を、携帯型記憶装置３００を介して取得することができる。すなわちデータ解析センタ１００が有する命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０は、携帯型記憶装置３００を介して車両Ｃの車載情報処理装置２００に転送されるようになっている。また、車両Ｃのデータログ２４１は、携帯型記憶装置３００を介して車両Ｃからデータ解析センタ１００に転送されるようになっている。
【００５４】
また、データ解析センタ１００は、車両Ｃの車載情報処理装置２００に転送する命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の正当性を保証するための秘密鍵１５０を有している。データ解析センタ１００は、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の転送に際し、秘密鍵１５０を用いて、それら命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０に対する電子署名を行う。そして、この電子署名を通じて作成した署名文を、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０とともに携帯型記憶装置３００に転送する。
【００５５】
一方、車両Ｃに搭載される車載情報処理装置２００は、同車両Ｃに搭載された各種情報機器装置の一例であるナビゲーションシステムを構成している。車載情報処理装置２００は、メモリやマイクロコンピュータを中心に構成されており、命令実行領域２３０に組み込まれている各種データ及びプログラムに基づき各種情報処理を実行する。
【００５６】
また、車載情報処理装置２００には、携帯型記憶装置３００に記憶されている命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を読み込むための読み込み手段２１０が設けられている。また同様に、車載情報処理装置２００には、同車載情報処理装置２００が実行すべき各種プログラムから構成される実行命令２２１が保持されるとともに、携帯型記憶装置３００から読み込まれた置換命令対応テーブル１３０等が一時的に記憶される記憶装置２２０が設けられている。さらに、車載情報処理装置２００には、命令置換手段１１０及び置換命令１２０が利用されることによって取得された車両データが保存されるログ保存領域２４０が設けられている。
【００５７】
なお、車載情報処理装置２００は、例えば、同車載情報処理装置２００への各種外部機器等の外部媒体の接続を可能にするインターフェースを備えており、本実施の形態では、ＵＳＢ規格の接続ポートを有する。車載情報処理装置２００は、例えば、車載情報処理装置２００への各種外部機器等の外部媒体の接続を可能にするインターフェースを備えており、本実施の形態では、ＵＳＢ規格の接続ポートを有する。これによって車載情報処理装置２００には、インターフェースを介してＵＳＢ規格の携帯型記憶装置３００、いわゆるＵＳＢメモリを接続することができるようになっている。よって車載情報処理装置２００は、インターフェースに接続された携帯型記憶装置３００に対する読み書き、いわゆるアクセスが可能になる。これによって車載情報処理装置２００は、ログ保存領域２４０等に保存されたデータを携帯型記憶装置３００に転送させたり、逆に携帯型記憶装置３００に記憶されたデータを命令実行領域２３０や記憶装置２２０に転送させたりすることができる。
【００５８】
読み込み手段２１０は、車両Ｃの走行状態や車載情報処理装置２００のＣＰＵ使用率等に基づく同車載情報処理装置２００の負荷を検出する手段を有している。すなわち、読み込み手段２１０は、イグニッションスイッチやアクセサリスイッチのオン／オフ状態に基づき、車両Ｃが停車状態及び走行状態のいずれの状態にあるかを検出する。また、読み込み手段２１０は、車載情報処理装置２００のＣＰＵ使用率や車両Ｃ内のコントロール・エリア・ネットワーク（ＣＡＮ）の使用率等を検出し、車載情報処理装置２００の負荷を検出する。そして、読み込み手段２１０は、こうした検出結果に基づき車両Ｃの状態が所定の状態を満たしたか否かを判断することにより、携帯型記憶装置３００に記憶されている命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを行う。このように、本実施の形態では、読み込み手段２１０による命令置換手段１１０や置換命令１２０の読み込み条件を規定することにより、読み込み後に実行可能となる命令置換手段１１０や置換命令１２０の実行条件を規定している。これにより、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みや実行に適した環境のもとで、車載情報処理装置２００にて処理すべき各種命令の実行を円滑に行うことが可能となっている。逆に車載情報処理装置２００は、車両Ｃの走行条件やキー操作や、インターフェースからの携帯型記憶装置３００の離脱などによって定まる所定の終了条件が成立したと判断すると、車両データを取得するための置換命令１２０を終了させる処理を実行する。そして車載情報処理装置２００は、置換命令１２０が終了した後、命令置換手段１１０、置換命令１２０を命令実行領域２３０から削除するとともに、置換命令対応テーブル１３０を記憶装置２２０から削除する。
【００５９】
さらに、本実施の形態の読み込み手段２１０は、正当な命令置換手段１１０及び置換命令１２０及び置換命令対応テーブル１３０のみを読み込み可能とすべく、命令置換手段１１０及び置換命令１２０及び置換命令対応テーブル１３０の正当性を判断する認証手段としても機能する。この読み込み手段２１０による認証に際しては、例えば、データ解析センタ１００から予め配布された公開鍵１６０が用いられる。この公開鍵１６０は、データ解析センタ１００が保有する秘密鍵１５０との一組の鍵として生成された鍵であり、例えば記憶装置２２０に予め保持されている。そして、読み込み手段２１０は、携帯型記憶装置３００に保持されている署名文を、公開鍵１６０を用いて所定の検証アルゴリズムにより検証する。読み込み手段２１０は、この検証の結果、署名文が正当なものであると検証できたときには、同署名文とともに転送されてきた命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０が正当なデータ解析センタ１００から転送されてきた正当なデータであると判断する。そして、読み込み手段２１０は、それら正当性が確認された携帯型記憶装置３００に保持されている命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを許可する。一方、読み込み手段２１０は、上記検証の結果、署名文が正当なものであるとことが検証できなかったときには、同署名文とともに転送されてきた命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０が不正なものであると判断する。よってこの場合、読み込み手段２１０は、携帯型記憶装置３００に保持されている命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを禁止する。したがって、本実施の形態では、正当性が検証されたデータしか車載情報処理装置２００内に読み込まれることがなく、不正なデータが車載情報処理装置２００内に組み込まれることが抑制されるようになる。これにより、車載情報処理装置２００の外部から所定のデータを同車載情報処理装置２００内に組み込む上で、車両データ取得システムとしてのセキュリティー性が高められている。
【００６０】
記憶装置２２０は、公知の記憶装置であり、不揮発性の記憶装置であるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や不揮発性のメモリ（ＥＥＰＲＯＭ等）などから構成されている。記憶装置２２０は、車載情報処理装置２００で実行される各種情報処理に用いる各種データやアプリケーションプログラム等によって構成される実行命令２２１を保持する領域を有している。また、記憶装置２２０には、携帯型記憶装置３００から読み込まれた置換命令対応テーブル１３０を一時的に保持する領域が設けられているとともに、その空き領域には上記公開鍵１６０が保持されている。
【００６１】
命令実行領域２３０は、上記実行命令２２１、命令置換手段１１０、及び置換命令１２０を組み込む領域として所定の空き領域を有している。また、ログ保存領域２４０には、命令実行領域２３０に組み込まれた命令置換手段１１０及び置換命令１２０の実行を通じて取得された車両データが時系列的に適宜保存されることにより、車両Ｃのデータログ２４１が蓄積される。
【００６２】
以下、このように構成される車両データ取得システム及び車両データ取得方法の作用を、図３〜図５を参照して説明する。
車載情報処理装置２００が起動すると、図３に示すように、記憶装置２２０に記憶されている或る実行命令２２１が命令実行領域２３０に組み込まれる。次いで、車載情報処理装置２００は、命令実行領域２３０に組み込まれている実行命令２２１を実行することにより、各種アプリケーションプログラム等を実行する。
【００６３】
そして、図４に示すように、車載情報処理装置２００のインターフェースに携帯型記憶装置３００が接続されると、まず、車載情報処理装置２００による実行命令２２１の実行が中断される。次いで、読み込み手段２１０は、携帯型記憶装置３００に命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０が保持されているか否かを調べる。
【００６４】
その後、読み込み手段２１０は、携帯型記憶装置３００に命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０が保持されていることを検出すると、携帯型記憶装置３００の認証を通じて命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の正当性を判定するとともに、車両Ｃの状態を判定する。
【００６５】
そして、読み込み手段２１０は、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０がデータ解析センタ１００から転送された正当なデータであり、かつ車両Ｃの走行条件やキー操作などから定まる所定の読み込み条件が成立したと判断すると、命令置換手段１１０及び置換命令１２０を命令実行領域２３０に転送する。同様に、読み込み手段２１０は、置換命令対応テーブル１３０を記憶装置２２０に転送する。その後、車載情報処理装置２００内での制御主体が、読み込み手段２１０から命令置換手段１１０へと移される。
【００６６】
命令置換手段１１０は、図５に示すように、記憶装置２２０に記憶されている置換命令対応テーブルをもとに、置換命令１２０に代行させるべき実行命令２２１の一部２２１ｘを、命令実行領域２３０の空き領域のうちの置換命令１２０が読み込まれたアドレスの次のアドレスに一時的に退避させる。そして、命令置換手段１１０は、退避させた実行命令２２１ｘに代えて車載情報処理装置２００に置換命令１２０を実行させるべく、第１のジャンプ命令１１１及び第２のジャンプ命令１１２をそれぞれ所定の位置に配置する。この結果、命令実行領域２３０では、一連の実行命令２２１の実行途中で命令実行領域２３０の空き領域に組み込まれた置換命令１２０が実行されるように、実行命令２２１が置き換えられることとなる。
【００６７】
こうして、車載情報処理装置２００による実行命令２２１の実行処理が行われることにより、実行命令２２１の実行途中で置換命令１２０が実行されるようになる。すなわち、置換命令１２０の実行を通じて車両データを取得することが可能となる。そして、置換命令１２０の実行を通じて取得された車両データが、ログ保存領域２４０に適宜保存されるようになる。
【００６８】
そして、車載情報処理装置２００は、車両Ｃの走行条件やキー操作や、インターフェースからの携帯型記憶装置３００の離脱などによって定まる所定の終了条件が成立したと判断すると、置換命令１２０を終了させる処理を実行する。すなわち、車載情報処理装置２００は、置換命令１２０が終了した後、当該置換命令１２０と命令置換手段１１０とを命令実行領域２３０から削除する。その後、車載情報処理装置２００は、置換命令１２０と置き換えた実行命令２２１ｘを、置換命令１２０を配置したアドレス、すなわち同実行命令２２１ｘが配置されていた元のアドレスに再配置する。これにより、命令実行領域２３０内に組み込まれた実行命令２２１は、同実行命令２２１が組み込まれた当初の状態に戻されることとなる。
【００６９】
次に、読み込み手段２１０による命令置換手段１１０及び置換命令１２０及び置換命令対応テーブル１３０の読み込み条件について、図６を参照して説明する。
図６（ａ）に、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込み条件の一例を示すように、ここでの例では、キー状態に基づく所定の読み込み条件が設定されている。所定の読み込み条件には、携帯型記憶装置３００に記憶された命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを実行しない条件として、イグニッションスイッチ（ＩＮＧ）が切れた状態である「ＯＦＦ」及び入った状態である「ＯＮ」であるか否かにかかわらず、アクセサリースイッチ（ＡＣＣ）が切れた状態である「ＯＦＦ」の場合が設定されている。また所定の読み込み条件には、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを実行する条件として、イグニッションスイッチが「ＯＦＦ」、かつ、アクセサリースイッチが「ＯＮ」の場合が設定されている。さらに所定の読み込み条件には、車両状態が「停車」であることを条件として命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを実行する条件として、イグニッションスイッチが「ＯＮ」、かつ、アクセサリースイッチも「ＯＮ」の場合が設定されている。
【００７０】
さらに、車両状態が「停車」であることを判断する一例の条件説明図を図６（ｂ）に示すように、本実施の形態では、車両Ｃの状態として、「停止」、「停車」、及び「走行中」の各車両状態を判別するための条件が予め規定されている。車両Ｃの「停止」は、例えばイグニッションスイッチが「ＯＦＦ」であることから判断される。車両Ｃの「停車」は、例えばイグニッションスイッチが「ＯＮ」であるとともに、パーキングブレーキが使用されている状態の「ＯＮ」であることや、車速が「０」ｋｍ／ｈであることから判断される。車両Ｃの「走行中」は、例えばイグニッションスイッチが「ＯＮ」であるとともに、パーキングブレーキが未使用であることや、車速が「０」ｋｍ／ｈではないことから判断される。これによって、所定の開始条件に車両状態が「停車」であることが含まれるような場合、その条件が適切に判断されるようになる。
【００７１】
次に、読み込み手段２１０による命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込み処理について、図７を参照して詳述する。なお、本読み込み処理は、携帯型記憶装置３００（ＵＳＢメモリ）が車載情報処理装置２００のインターフェースに接続されることによって開始される処理であり、上記第１の工程に相当する。また、本読み込み処理は、例えば、携帯型記憶装置３００の接続に応答する割り込みハンドラとして車載情報処理装置２００に予め登録されているプログラム等によって実行可能とされている。
【００７２】
図７に示すように、本読み込み処理が開始されると、まずステップＳ１０１において、上記インターフェースに接続が確認された携帯型記憶装置３００が正当なものであるか否か、換言すれば、同携帯型記憶装置３００に記憶された命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０が正当なデータであるか否かが判断される。
【００７３】
そして、携帯型記憶装置３００の正当性が確認されると、車両Ｃの状態に基づく読み込み条件が成立したか否かが判定される（ステップＳ１０１：ＹＥＳ、Ｓ１０２）。こうして、携帯型記憶装置３００に記憶されている命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０が正当なデータ解析センタ１００から転送された正当なデータであり、かつ、車両Ｃの状態に基づく読み込み条件が成立した時点で、命令置換手段１１０の実行バイナリが読み込まれる。すなわち、読み込み手段２１０は、携帯型記憶装置３００に記憶されている命令置換手段１１０の実行バイナリを読み込むとともに、この読み込んだ命令置換手段１１０の実行バイナリを命令実行領域２３０（作業用メモリ）の空き領域に配置する（ステップＳ１０２：ＹＥＳ、Ｓ１０３）。
【００７４】
また、読み込み手段２１０は、携帯型記憶装置３００に記憶されている置換命令１２０を構成するバイナリを同携帯型記憶装置３００から読み込むとともに、この読み込んだ置換命令１２０を構成するバイナリを命令実行領域２３０（作業用メモリ）の空き領域に配置する（ステップＳ１０４）。
【００７５】
さらに、本実施の形態の読み込み手段２１０は、携帯型記憶装置３００に記憶されている置換命令対応テーブル１３０を同携帯型記憶装置３００から読み込むとともに、この読み込んだ置換命令対応テーブル１３０を記憶装置２２０に配置する（ステップＳ１０５）。
【００７６】
そして、車載情報処理装置２００内での制御主体が読み込み手段２１０から命令置換手段１１０を実現するための実行バイナリへと移されることにより、本読み込み処理が終了する（ステップＳ１０６）。
【００７７】
次に、命令置換手段１１０により実行される命令置換処理について図８及び図９を参照して説明する。
図８に示すように、命令置換手段１１０はまず、ステップＳ２０１において、上記記憶装置２２０に配置した置換命令対応テーブル１３０を参照することにより、実行命令２２１の命令列のうちどの命令を置換命令１２０に対応付けるかを決定する。ここでは、命令実行領域２３０に組み込まれた命令列の配列態様の一例を図９（ａ）に示すように、例えば、実行命令２２１の一部２２１ｘが置換命令１２０に対応付ける命令として選択される。
【００７８】
そして、命令置換手段１１０は、図８に示すように、置換命令１２０に対応付ける命令として選択した実行命令２２１の一部２２１ｘを、命令実行領域２３０の空き領域のうちの置換命令１２０が読み込まれたアドレスの次のアドレスに一時的に退避させる（第２の工程：ステップＳ２０２）。これにより、図９（ｂ）に示すように、実行命令２２１ｘは、例えば置換命令１２０の後列に配置される。
【００７９】
そして、命令置換手段１１０は、図８に示すように、命令実行領域２３０の空き領域に一時的に退避させた実行命令２２１ｘの次のアドレスに、当該退避させた実行命令２２１ｘの元のアドレスの次のアドレスへジャンプさせる第２のジャンプ命令１１２を書き込む（ステップＳ２０３）。これにより、図９（ｃ）に示すように、第２のジャンプ命令１１２が、命令実行領域２３０の空き領域に一時的に退避させた実行命令２２１ｘの後列に配置される。
【００８０】
その後、命令置換手段１１０は、図８に示すように、命令実行領域２３０の空き領域に退避させた実行命令２２１ｘの元のアドレスに、置換命令１２０が読み込まれたアドレスへジャンプさせる第１のジャンプ命令１１１を書き込む（ステップＳ２０４）。これにより、図９（ｄ）に示すように、第１のジャンプ命令１１１が、命令実行領域２３０の空き領域に一時的に退避させた実行命令２２１ｘが元々配置されていた位置に配置される。
【００８１】
こうして、命令置換手段１１０による各命令の置き換えが終了すると、車載情報処理装置２００内での制御が、命令置換手段１１０による制御から実行命令２２１に基づく制御へと移される（ステップＳ２０５）。なお、本実施の形態では、ステップＳ２０３〜ステップＳ２０５での処理が、上記第３及び第４の工程に相当する。
【００８２】
こうして、命令置換手段１１０による置き換え処理が実行されることにより、例えば図１０（ａ）及び図１０（ｂ）に示すように、命令実行領域２３０に組み込まれた実行命令２２１の命令列は、上記置換命令対応テーブル１３０によって示される対応関係に応じて置き換えられる。
【００８３】
すなわち、アドレス０ｘ８０１１＿４４３８に配置されていた実行命令２２１ａは、命令実行領域２３０の空き領域のうち、例えば置換命令Ａ１２０ａの後列に配列されることとなる。そして、この実行命令２２１ａの元のアドレス０ｘ８０１１＿４４３８には、命令実行領域２３０の空き領域に組み込まれた置換命令Ａ１２０ａ（置換命令Ａ．ｂｉｎ）にジャンプさせる第１Ａジャンプ命令１１１ａが書き込まれる。また、命令実行領域２３０の空き領域に一時退避された実行命令２２１ａの後列には、アドレス０ｘ８０１１＿４４３８の次のアドレスにジャンプさせる第２Ａジャンプ命令１１２ａが書き込まれる。
【００８４】
同様に、アドレス０ｘ８２０４＿００００に配置されていた実行命令２２１ｂは、命令実行領域２３０の空き領域のうち、例えば置換命令Ｂ１２０ｂの後列に配列されることとなる。そして、この実行命令２２１ｂの元のアドレス０ｘ８２０４＿００００には、命令実行領域２３０の空き領域に組み込まれた置換命令Ｂ１２０ｂ（置換命令Ｂ．ｂｉｎ）にジャンプさせるための第１Ｂジャンプ命令１１１ｂが配置される。また、命令実行領域２３０の空き領域に一時退避された実行命令２２１ｂの後列には、アドレス０ｘ８２０４＿００００の次のアドレスにジャンプさせる第２Ｂジャンプ命令１１２ｂが書き込まれる。
【００８５】
そして、このように配列された実行命令２２１の実行処理が車載情報処理装置２００により開始されると、図１０（ａ）に矢印にて示すように、実行対象とする命令が実行命令２２１ａと置き換えられた第１Ａジャンプ命令１１１ａとなった時点で、実行対象とする命令が実行命令２２１の途中から置換命令Ａ１２０ａへと移行する。すなわち、車載情報処理装置２００にて本来実行すべきであった実行命令２２１ａに代えて、置換命令Ａ１２０ａが実行される。これにより、置換命令Ａ１２０ａの実行を通じてＯＳ等の状態を示すメモリ使用量や負荷率などを示す変数の車両データが取得され、この取得された車両データが上記ログ保存領域２４０に保存される。そして、置換命令Ａ１２０ａの実行後は、その次のアドレスに配置された実行命令２２１ａの実行後に第２Ａジャンプ命令１１２ａが実行されることによって、車載情報処理装置２００の実行対象とする命令が、実行命令２２１ａ以降の一連の実行命令２２１へと戻される。
【００８６】
また、図１０（ｂ）に矢印にて示すように、実行命令２２１の実行途中で第１Ｂジャンプ命令１１１ｂが実行されることにより、そのジャンプ先に配置された置換命令Ｂ１２０ｂが実行される。これにより、置換命令Ｂ１２０ｂの実行を通じて車載情報処理装置２００の動作状態を示すカウンタやクロックなどの変数の車両データが取得され、この取得された車両データもログ保存領域２４０に保存される。そして、置換命令Ｂ１２０ｂの実行後は、その次のアドレスに配置された実行命令２２１ｂの実行後に第２Ｂジャンプ命令１１２ｂが実行されることによって、実行対象とする命令が実行命令２２１ｂ以降の一連の実行命令２２１へと戻される。こうして、一連の実行命令２２１が実行されるようになるとともに、その実行途中で車両データを取得するための置換命令Ａ１２０ａや置換命令Ｂ１２０ｂが割り込み実行されるようになる。
【００８７】
以上説明したように、本実施の形態にかかる車両データ取得システム及び車両データ取得方法によれば、以下の効果が得られるようになる。
（１）命令置換手段１１０により、車載情報処理装置２００による実行命令２２１の一部２２１ｘ（２２１ａ、２２１ｂ）を命令実行領域２３０に退避させることとした。そして、この退避させた実行命令２２１ｘに代えて置換命令１２０を実行させることにより車両データを取得した後、退避させた実行命令２２１ｘを含めた一連の実行命令２２１を車載情報処理装置２００に実行させることとした。このため、実行命令２２１そのものを改変することなく、一連の実行命令２２１の実行途中での置換命令１２０の実行を通じて車両データを取得することが可能となる。これにより、車載情報処理装置２００により本来実行すべき実行命令２２１の処理精度を維持しつつ、車載情報処理装置２００の動作状態の解析のために必要な高精度な車両データを取得することができるようになる。
【００８８】
（２）命令置換手段１１０により、一部の実行命令２２１ｘを記憶装置２２０の空き領域に一時的に退避させるとともに、併せて、第１のジャンプ命令１１１及び第２のジャンプ命令１１２を所定の位置に配置した。このため、第１のジャンプ命令１１１によるジャンプを通じて実行命令２２１の実行途中で、置換命令１２０を車載情報処理装置２００に実行させることが可能になる。また、置換命令１２０及び一時退避させた実行命令２２１ｘの実行後には、第２のジャンプ命令１１２によるジャンプを通じて、実行命令２２１ｘ以降に配置されていた一連の実行命令２２１を実行させることが可能となる。これにより、置き換えるべき実行命令２２１の一時退避、並びに第１のジャンプ命令１１１及び第２のジャンプ命令１１２の特定の位置への配置といった簡易な処理によって、置換命令１２０の実行、ひいては、所望とする車両データの取得が可能となる。
【００８９】
（３）上記命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を、携帯型記憶装置３００と車載情報処理装置２００との間での有線通信にて外部から車載情報処理装置２００に組み込むこととした。このため、データ解析センタ１００で生成された命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を、携帯型記憶装置３００との有線通信を通じて命令実行領域２３０に動的に組み込むことが可能となる。これにより、車両Ｃや車載情報処理装置２００の状態の解析のために所望とする車両データを取得するために必要な命令置換手段１１０や置換命令１２０等を、車載情報処理装置２００に柔軟に転送することが可能となり、ひいては、置換命令１２０の実行を通じて取得可能な車両データを柔軟に変更することが可能となる。
【００９０】
（４）また、この場合には、置換命令１２０の実行を通じて取得された車両データを、有線通信を通じて車両Ｃから携帯型記憶装置３００に送ることも可能となる。したがって、ログ保存領域２４０の容量に限られずに車両データを取得することが可能となるとともに、車載情報処理装置２００は、車両データをその解析等を行うデータ解析センタ１００に素早く送ることができるようになる。よって、車両データの解析による車両不具合などの試験や調査を、より速やかに行うことができるようにもなる。
【００９１】
（５）上記車両データ取得システムにさらに、車載情報処理装置２００による実行命令２２１のどの命令を置換命令１２０によって代行させるかその対応付けが予め登録された置換命令対応テーブル１３０を備える構成とした。そして、この置換命令対応テーブル１３０の参照を通じて、命令実行領域２３０の空き領域に一時的に退避させる実行命令２２１の一部を決定した。このため、例えば、命令置換手段１１０を実現するバイナリ等には、置換命令１２０と置き換えるべき実行命令２２１のアドレス等を示す情報を組み込む必要もない。よって、取得対象とする車両データや適用対象とするシステムに応じた汎用性の高い車両データの取得が可能となる。またこれにより、置換命令対応テーブル１３０の参照をもとに、置換命令１２０と置き換えるべき実行命令２２１の命令列が複数存在したとしても、それら実行命令２２１の命令列の置き換えを容易に行うことが可能となる。
【００９２】
（６）上記置換命令対応テーブル１３０を、上記一時的に退避させる実行命令２２１の一部の命令実行領域２３０中でのアドレスと該当する置換命令１２０との対応テーブルとして構成した。これにより、命令置換手段１１０は、置換命令対応テーブル１３０に登録されているアドレスをもとに、一時退避すべき実行命令２２１を容易に把握することが可能となり、命令置換手段１１０による命令置換処理を円滑に行うことが可能となる。
【００９３】
（７）車載情報処理装置２００において、読み込み手段２１０による命令置換手段１１０及び置換命令１２０の読み込みを車両Ｃの状態に応じて行うことにより、命令置換手段１１０による置換命令１２０の実行の可否を車両Ｃの状態に応じて決定可能な構成とした。これによって、実行命令２２１に対する命令の置き換えを、車両Ｃの状態が置き換え作業に適した状態にあるときに行うことができるようになる。これにより、実行命令２２１の置き換え作業を、車両Ｃの走行に影響を与えないように行うようにすることができるようになり、車両データの取得処理にかかる安全性を高めることができるようになる。
【００９４】
（８）車両Ｃが停車状態にあるとき、もしくは車載情報処理装置２００の処理負荷が低負荷状態にあることを条件として、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を読み込み手段２１０に読み込ませることとした。このため、車両Ｃの走行中であれば走行に影響を与えるおそれのある命令置換作業が存在したとしても、車両Ｃの走行に影響を与えることを避けて同命令置換作業を行うことができるようになる。また同様に、車載情報処理装置２００自身に対する負荷が増大するおそれのある命令置換作業であれ、車載情報処理装置２００により実行される各種処理に影響を与えることを避けて同命令置換作業を行うことができるようになる。これによって、車両データの取得処理の信頼性を、より高めることができるようになる。
【００９５】
（９）読み込み手段２１０の認証機能により正当と判断された命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０に対してのみ、携帯型記憶装置３００からの読み込み、ひいては、命令実行領域２３０や記憶装置２２０への組み込みを許可することとした。これにより、不正な命令置換作業や不正な置換命令の実行が行われることが抑制されるようになり、命令置換手段１１０や置換命令１２０により車両データを取得可能とする上で、セキュリティー性が高められるようになる。
【００９６】
（第２の実施の形態）
以下、本発明にかかる車両データ取得システム及び車両データ取得方法を具体化した第２の実施の形態について、図１１を参照して説明する。なお、この第２の実施の形態は、車両データを取得するための置換命令１２０を、車載情報処理装置２００のオペレーティングシステムによるソフトウェア割り込みとして実行するものであり、その基本的な構成は、先の第１の実施の形態と共通になっている。よって、本実施の形態において、先の第１の実施の形態で示した各要素と同一の要素についてはそれぞれ同一の符号を付して示しており、それら要素についての重複する説明は割愛する。
【００９７】
図１１は、先の図９に対応する図として、この第２の実施の形態にかかる車両データ取得システム及び車両データ取得方法による命令置換手順の一例を示している。
図１１（ａ）に示すように、本実施の形態の命令実行領域２３０Ａのうち、実行命令２２１が組み込まれる領域の上層には、車載情報処理装置２００のオペレーティングシステムの一部を構成するＯＳ割り込み対応プログラム２５０が組み込まれている。また、このＯＳ割り込み対応プログラム２５０が組み込まれた領域の上層には、同ＯＳ割り込み対応プログラム２５０による割り込み処理に利用される割り込みベクター２６０が組み込まれている。
【００９８】
ＯＳ割り込み対応プログラム２５０は、車載情報処理装置２００のオペレーティングシステムによる割り込み機能を実現するプログラムであり、割り込みの発生要因に応じた所定の割り込み処理である割り込みハンドラを実行する。なお、取得すべき車両データが複数存在する場合、換言すれば、車両データの取得に用いる置換命令１２０が複数種存在する場合には、複数種の置換命令１２０毎に、車載情報処理装置２００のオペレーティングシステムによるソフトウェア割り込み番号「Ａ」〜「Ｘ」が用意される。また、本実施の形態では、例えば、置換命令１２０及び置換命令対応テーブル１３０が記憶された携帯型記憶装置３００が車載情報処理装置２００のインターフェースに接続されたことをもって、車載情報処理装置２００のオペレーティングシステムに対する割り込み要求が発生したとされる。なお、本実施の形態では、こうしたＯＳ割り込み対応プログラム２５０によって上記命令置換手段が実現されている。
【００９９】
一方、割り込みベクター２６０には、ＯＳ割り込み対応プログラム２５０によって実行される割り込み処理に必要な情報として、オペレーティングシステムによるソフトウェア割り込みが発生したときに処理すべき命令、すなわち割り込みハンドラの先頭のアドレスが格納される。
【０１００】
ここで、車載情報処理装置２００のオペレーティングシステムに割り込み要求が発生すると、ＯＳ割り込み対応プログラム２５０はまず、上記記憶装置２２０に配置した置換命令対応テーブル１３０の参照を通じて、実行命令２２１の命令列のうち、どの命令を置換命令１２０に対応付けるかを決定する。ここでは、図１１（ａ）に示されるように、例えば、置換命令１２０に対応付ける命令として、所定のアドレスに配置されている実行命令２２１ｘが選択される。
【０１０１】
そして、ＯＳ割り込み対応プログラム２５０は、図１１（ｂ）に示すように、置換命令１２０に対応付ける命令として選択した実行命令２２１の一部２２１ｘを、命令実行領域２３０Ａの空き領域のうち、置換命令１２０が読み込まれたアドレスの次のアドレスに一時的に退避させる。
【０１０２】
また、ＯＳ割り込み対応プログラム２５０は、同図１１（ｂ）に示すように、命令実行領域２３０Ａの空き領域に一時的に退避させた一部の実行命令２２１ｘの直前のアドレスに、置換命令対応テーブル１３０にて同実行命令２２１ｘに対応付けられていた置換命令１２０を配置する。そして、ＯＳ割り込み対応プログラム２５０は、例えば同置換命令１２０及び一部の実行命令２２１ｘに対して用意した引数「Ｘ」に対応した割り込みハンドラＸ２６１を生成する。
【０１０３】
その後、ＯＳ割り込み対応プログラム２５０は、図１１（ｃ）に示すように、この生成した割り込みハンドラＸ２６１の先頭のアドレスを、上記割り込みベクター２６０に登録する。
【０１０４】
次いで、ＯＳ割り込み対応プログラム２５０は、図１１（ｄ）に示すように、一時的に退避させた一部の実行命令２２１ｘの元のアドレスに、置換命令１２０に対応するソフトウェア割り込み番号「Ｘ」を引数としたソフトウェア割り込み命令２６２「ＳＷＩＸ」を配置する。本実施の形態ではこうして、上記一時退避された実行命令２２１の一部がソフトウェア割り込み命令に適宜置き換えられることにより、ソフトウェア割り込み命令と割り込みハンドラとが命令実行領域２３０Ａに適宜組み込まれるようになる。
【０１０５】
そして、命令実行領域２３０Ａに組み込まれている実行命令２２１が車載情報処理装置２００により実行されると、図１１（ｅ）に示すように、車載情報処理装置２００による実行対象がソフトウェア割り込み命令２６２である「ＳＷＩＸ」となった時点で、実行命令２２１の実行が一旦停止される。その後、ＯＳ割り込み対応プログラム２５０による割り込みベクター２６０の参照をもとに、ソフトウェア割り込み命令２６２「ＳＷＩＸ」に対応する割り込みハンドラＸ２６１が実行される。すなわち、置換命令１２０と同置換命令１２０の次のアドレスに配置されている一部の実行命令２２１ｘとが順に実行される。これにより、置換命令１２０の実行を通じて該当する車両データが取得されることとなる。
【０１０６】
そして、置換命令１２０及び一部の実行命令２２１ｘの実行後には、割り込みハンドラＸ２６１による割り込み処理が終了したとして、上記一旦停止したされた実行命令２２１の実行が再開される。すなわち、ソフトウェア割り込み命令２６２の次のアドレスに配置されている一連の実行命令２２１が実行されるようになる。なお、置換命令１２０の実行を通じて車両データを取得して以降は、割り込みハンドラＸ２６１やソフトウェア割り込み命令２６２が削除され、命令実行領域２３０Ａの空き領域に一時退避させた一部の実行命令２２１ｘが元のアドレスに戻される処理が行われる。
【０１０７】
以上説明したように、本実施の形態にかかる車両データ取得システム及び車両データ取得方法によれば、前記（１）、（３）〜（９）に準じた効果が得られるとともに、前記（２）に代えて以下の効果が得られるようになる。
【０１０８】
（２Ａ）上記命令置換手段による機能、すなわち、上記一部の実行命令２２１ｘの一時退避と、この一時退避させた一部の実行命令２２１ｘに代行する置換命令１２０の実行とを、車載情報処理装置２００のオペレーティングシステムとして設けられたＯＳ割り込み対応プログラム２５０によって実現した。このため、命令実行領域２３０Ａの空き領域への一部の実行命令２２１ｘの一時退避や置換命令１２０の配置等の処理を、ＯＳ割り込み対応プログラム２５０にて自動的に行うことが可能となる。これにより、実行命令２２１の一時退避を通じて車両データを取得する上で、その自動化及び高精度化が図られるようになり、より容易かつ的確に車両データを取得することができるようになる。
【０１０９】
（第３の実施の形態）
以下、本発明にかかる車両データ取得システム及び車両データ取得方法を具体化した第３の実施の形態について、図１２を参照して説明する。なお、この第３の実施の形態は、本実施の形態は、上記第１の実施の形態に対して、上記携帯型記憶装置３００に代えて、データ解析センタ１００に設けたセンタ通信部１７０と車両Ｃに設けた車両通信部２７０とによって各種データの送受信を行う点が相違するものとなっており、その基本的な構成は先の第１の実施の形態と共通になっている。よって、先の第１の実施の形態で示した各要素と同一の要素についてはそれぞれ同一の符号を付して示しており、それら要素についての重複する説明は割愛する。
【０１１０】
図１２に示すように、本実施の形態のデータ解析センタ１００にはセンタ通信部１７０が設けられるとともに、車両Ｃには車両通信部２７０が設けられており、これらセンタ通信部１７０と車両通信部２７０とは相互の無線通信が可能になっている。このため、センタ通信部１７０と車両通信部２７０との間での無線通信によって、データ解析センタ１００から車両Ｃに命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を転送することができるとともに、車両Ｃからデータ解析センタ１００にデータログ２４１を転送することができるようになっている。
【０１１１】
これによって、本実施の形態のデータ解析センタ１００は、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を必要に応じて車両Ｃに転送することにより、車両Ｃにおいてデータログ２４１を作成させることができるようになる。また、データ解析センタ１００は、車両Ｃで作成されたデータログ２４１を、迅速に取得することができるようになる。
【０１１２】
このように本実施の形態に係る車両データ取得システムは、前記（１）、（２）、（５）〜（９）に準じた効果が得られるとともに、前記（３）、（４）に代えて以下の効果が得られるようになる。
【０１１３】
（３Ａ）車両Ｃとデータ解析センタ１００との間での無線通信を通じて、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を車載情報処理装置２００に転送することができる。このため、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を、車載情報処理装置２００に予め設ける必要がない。これによって当初は車載情報処理装置２００には、実行命令２２１に必要とされる処理手順のみを設ける。命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０は、車両データの取得の必要に応じて、無線通信によって車載情報処理装置２００に追加することができるようになる。
【０１１４】
（４Ａ）車両データが、無線通信によって車両Ｃからデータ解析センタ１００に送られる。よって車載情報処理装置２００は、ログ保存領域２４０の容量に限られず車両データを取得可能になるし、車両データをデータ解析センタ１００に素早く送ることができるようになる。従って、車両データの解析による車両Ｃの不具合などの試験や調査を、より速やかに行うことができるようにもなる。
【０１１５】
なお、上記各実施の形態は、以下のような形態をもって実施することもできる。
・上記各実施の形態では、車両Ｃのデータログ２４１は、車両Ｃのログ保存領域２４０に生成される場合について例示した。しかしこれに限らず、車両Ｃのデータログ２４１は、記憶装置２２０や車載情報処理装置２００に接続された携帯型記憶装置３００に生成されてもよいし、通信によって適宜送られて直接にデータ解析センタ１００に生成されてもよい。例えば、車載情報処理装置２００を構成するインタプリタが、データログ２４１の作成先を変更することによって、各種のメモリ等にデータログを作成することができる。また命令置換手段１１０や置換命令１２０が、データログ２４１の作成先を指定するようにしてもよい。これによって、データログ２４１の生成先の柔軟性が向上することから、データログ２４１を記憶するための記憶容量の制約を回避することができるようなるなど、車両データ取得システムとしての構成の柔軟性が向上するようになる。
【０１１６】
・上記第１及び第２の実施の形態では、携帯型記憶装置３００に記憶されている置換命令対応テーブル１３０を、車両Ｃの記憶装置２２０に一旦記憶させることとした。これに限らず、置換命令対応テーブル１３０については車載情報処理装置２００内には読み込まないこととし、携帯型記憶装置３００に記憶されている置換命令対応テーブル１３０の参照を通じて、命令実行領域２３０の空き領域に退避すべき実行命令２２１を決定するようにしてもよい。
【０１１７】
・上記第１の実施の形態では、命令実行領域２３０内の実行命令２２１のうち２つの命令２２１ａ及び２２１ｂを命令実行領域２３０の空き領域に退避させるとともに、この退避させた命令２２１ａ及び２２１ｂに先立ち、置換命令Ａ１２０ａ及び置換命令Ｂ１２０ｂの２つの命令を実行させる場合について例示した。これに限らず、退避させる実行命令２２１の一部として一時退避させる命令の数や、同退避させた命令に先立ち実行させる置換命令１２０の数は、１つでも、３つ以上であってもよい。同様に、第２の実施の形態でも、命令実行領域２３０Ａに一時退避させる実行命令２２１の一部として一時退避させる命令の数や、命令実行領域２３０Ａ内に組み込む割り込みハンドラＸ２６１、ソフトウェア割り込み命令２６２、置換命令１２０の数は、取得しようとする車両データに応じて変更することができる。これにより、実行命令２２１に対する置き換え処理の向上し、より精度の高い動作解析が行えるようになる。また、命令実行領域２３０（以下、適宜命令実行領域２３０Ａも含む）に退避させる実行命令２２１の命令列や、車両データを取得するための置換命令１２０の種類は任意であり、取得しようとする車両データの種類に応じて変更することができる。これにより、取得可能な車両データの種類の拡充が図られるようになり、より豊富な車両データに基づく動作解析が行えるようになる。
【０１１８】
・上記各実施の形態では、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みに先立ち、秘密鍵１５０及び公開鍵１６０を利用した電子署名に基づき命令置換手段１１０及び置換命令１２０及び置換命令対応テーブル１３０の正当性を検証することとした。これに加えて、タイムスタンプを利用することにより、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の作成時刻や転送時刻等を証明可能な構成とすることもできる。これによって、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の転送元と作成時刻や転送時刻との特定を通じて、それら各データの認証精度を向上することが可能となる。また、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の認証に際しては、その正当性を確認することができればよく、各種認証技術を用いることができる。また例えば、データ解析センタ１００から車両Ｃに転送される命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を、読み込み専用のデータ、すなわち書き換え等の変更ができないデータ形式として生成することもできる。この場合であれ、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の転送途中での改ざん等の抑制を通じて、車両データ取得システム及び車両データ取得方法としてのセキュリティー性が高められるようになる。また、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０等を車載情報処理装置２００に組み込むことで車両データを取得する上では、それら各データに対する認証を行わないことも可能である。
【０１１９】
・上記各実施の形態では、車両Ｃが停車状態にあるとき、もしくは車載情報処理装置２００の処理負荷が低負荷状態にあるとき、読み込み手段２１０による命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを行うこととした。この他、車載情報処理装置２００による実行命令２２１の実行の停止を許容できる制限時間を規定し、この規定した制限時間内で命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みや実行命令２２１の置き換えを行うことをできるか否かを上記読み込み手段２１０に判断させるようにしてもよい。そして、規定時間の超過が予測されるとき、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みを行わないことも可能である。これにより、車載情報処理装置２００による実行命令２２１の円滑な実行を担保することができる。
【０１２０】
・上記各実施の形態では、読み込み手段２１０による命令置換手段１１０及び置換命令１２０の読み込みを車両Ｃの状態に応じて行うことにより、命令置換手段１１０による置換命令１２０の実行の可否を車両Ｃの状態に応じて決定可能な構成とした。これに限らず、読み込み手段２１０には携帯型記憶装置３００に記憶されている命令置換手段１１０及び置換命令１２０を無条件に読み込ませることとし、この読み込ませた命令置換手段１１０及び置換命令１２０の実行の可否を車載情報処理装置２００にて判断させるようにしてもよい。この場合にも、車両Ｃの状態に基づき命令置換手段１１０及び置換命令１２０の実行の許否が決定されることとなり、前記（７）及び（８）に準じた効果を得ることは可能である。またこの他、命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０の読み込みの許否を判断することなく、車両Ｃに転送されてきた命令置換手段１１０、置換命令１２０、及び置換命令対応テーブル１３０を無条件に読み込むことも可能である。
【０１２１】
・上記各実施の形態では、上記置換命令対応テーブル１３０を、上記一時的に退避させる実行命令２２１の一部の命令実行領域２３０中でのアドレスと該当する置換命令１２０との対応テーブルとして構成した。これに限らず、置換命令対応テーブル１３０の登録内容とは、命令実行領域２３０の空き領域に一時的に退避させるべき実行命令２２１と置換命令１２０との対応関係を判別できる情報であればよい。またこの他、命令実行領域２３０の空き領域に一時的に退避させるべき実行命令２２１の命令列を示す情報を、置換命令１２０に予め組み込むこととし、置換命令対応テーブル１３０を割愛することも可能である。この場合には、データ解析センタ１００から車両Ｃに転送すべきデータ量を削減することができ、データ解析センタ１００と車両Ｃとの間での通信速度の向上が図られるようになる。
【０１２２】
・上記第２の実施の形態では、データ解析センタ１００と車両Ｃとの間での各種データの送受信を、携帯型記憶装置３００を用いた有線通信により行うこととした。これに限らず、先の第３の実施の形態と同様、データ解析センタ１００にセンタ通信部１７０を設けるとともに車両Ｃに車両通信部２７０を設ける構成としてもよい。そして、それらセンタ通信部１７０と車両通信部２７０との間での無線通信を通じて、データ解析センタ１００と車両Ｃとの間での各種データの送受信を行うようにしてもよい。これにより、上記（３Ａ）及び（４Ａ）に準じた効果を得ることが可能となる。
【０１２３】
・上記各実施の形態では、車載情報処理装置２００のインターフェースが、ＵＳＢ規格のポートである場合について例示した。しかしこれに限らず、インターフェースは、データ授受が可能な装置を車載情報処理装置２００に接続させることができるものであればよく、各種の車載ＬＡＮや汎用ＬＡＮ、各種メモリの規格などに適合したインターフェースなどでもよい。これによっても、インターフェースと携帯型記憶装置３００の選択自由度が向上するため、車両データ取得システムとしての構成の柔軟性が向上するようになる。
【０１２４】
・上記各実施の形態では、携帯型記憶装置３００は、ＵＳＢメモリである場合について例示したが、これに限らず、携帯型記憶装置３００は、ＵＳＢのハードディスクや、ＵＳＢドライブでもよい。これによって、携帯型記憶装置３００についての採用可能性が向上する。
【０１２５】
・上記第１及び第３の実施の形態では、実行命令２２１の実行途中での置換命令１２０の割り込み処理を、第１のジャンプ命令１１１及び第２のジャンプ命令１１２を利用して実現した。また、上記第２の実施の形態では、実行命令２２１の実行途中での置換命令１２０の割り込み処理を、車載情報処理装置２００のオペレーティングシステムによる割り込み機能を利用して実現した。この他、実行命令２２１の一部を命令実行領域２３０の空き領域に一時的に退避させるとともに、この退避させた実行命令２２１に代えて置換命令１２０を実行させることが可能な手段であれば、上記命令置換手段として採用することができる。
【０１２６】
・上記各実施の形態では、車載情報処理装置２００は、ナビゲーションシステムである場合について例示した。しかしこれに限らず、車載情報処理装置２００は、車両Ｃにおいて、車両制御や運転支援、情報提供などを行う各種制御装置であればよい。これによって、車両Ｃにおいてこのような車両データ取得システムの採用可能性が向上するようになる。
【符号の説明】
【０１２７】
１００…データ解析センタ、１１０…命令置換手段、１１１、１１１ａ、１１１ｂ…第１のジャンプ命令、１１２、１１２ａ、１１２ｂ…第２のジャンプ命令、１２０、１２０ａ、１２０ｂ…置換命令、１３０…置換命令対応テーブル、１４０…プログラムデータログ、１５０…秘密鍵、１６０…公開鍵、１７０…センタ通信部、２００…車載情報処理装置、２１０…読み込み手段、２２０…記憶装置、２２１…実行命令、２２１ａ、２２１ｂ、２２１ｘ…実行命令の一部、２３０、２３０Ａ…命令実行領域、２４０…ログ保存領域、２４１…データログ、２５０…ＯＳ割り込み対応プログラム、２６０…割り込みベクター、２６１…割り込みハンドラ、２６２…ソフトウェア割り込み命令、２７０…車両通信部、３００…携帯型記憶装置、Ｃ…車両。
【図１】
2012221032.tif 000003
【図２】
2012221032.tif 000004
【図３】
2012221032.tif 000005
【図４】
2012221032.tif 000006
【図５】
2012221032.tif 000007
【図６】
2012221032.tif 000008
【図７】
2012221032.tif 000009
【図８】
2012221032.tif 000010
【図９】
2012221032.tif 000011
【図１０】
2012221032.tif 000012
【図１１】
2012221032.tif 000013
【図１２】
2012221032.tif 000014