(57)【要約】【課題】電子制御ユニットに書き込まれるプログラムやデータの不正利用を防止可能なデータ書き込み装置を提供する。【解決手段】クライアント装置１３に対し、制御データのダウンロードを管理および制御し、公衆通信回線１２を介してクライアント装置１３にダウンロードされたデータを、クライアント装置１３に残存させることなく、電子制御ユニット１４の不揮発性メモリに書き込むデータ書き込み装置１０である。【選択図】図１
2013029085.tif 000002
【特許請求の範囲】
【請求項１】
エンジンを制御する電子制御ユニットの不揮発性メモリに、当該電子制御ユニットによるエンジン制御に用いられるデータを書き込むデータ書き込み装置であって、
通信回線を介して上記データをダウンロードするクライアント装置に対し、上記データのダウンロードを管理および制御すると共に、
上記ダウンロードの管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを、上記クライアント装置に残存させることなく、上記電子制御ユニットの不揮発性メモリに書き込むことを特徴とするデータ書き込み装置。
【請求項２】
上記データのダウンロードを管理および制御すべく、上記クライアント装置に指示する指示手段と、
上記ダウンロードの上記指示手段による管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを取得する取得手段と、
上記取得手段によって取得された上記データを、上記電子制御ユニットに出力する出力手段と、を備えることを特徴とする請求項１に記載のデータ書き込み装置。
【請求項３】
上記取得手段によって取得された上記データを記憶する記憶部と、
上記記憶部に記憶されている上記データを消去する消去手段と、をさらに備え、
上記出力手段は、上記記憶部に記憶されている上記データを上記電子制御ユニットに出力すると共に、
上記消去手段は、自身が上記記憶部に記憶されている上記データを消去すべきであるとあらかじめ定められた消去条件が満足された時、上記記憶部に記憶されている上記データを消去することを特徴とする請求項２に記載のデータ書き込み装置。
【請求項４】
上記消去手段は、上記取得手段による上記データの取得が開始または終了した時点から所定の時間が経過したことを上記消去条件として用いて、上記記憶部に記憶されている上記データを消去することを特徴とする請求項３に記載のデータ書き込み装置。
【請求項５】
エンジンを制御する電子制御ユニットの不揮発性メモリに、当該電子制御ユニットによるエンジン制御に用いられるデータを書き込むデータ書き込み方法であって、
通信回線を介して上記データをダウンロードするクライアント装置に対し、上記データのダウンロードを管理および制御すると共に、
上記ダウンロードの管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを、上記クライアント装置に残存させることなく、上記電子制御ユニットの不揮発性メモリに書き込むことを特徴とするデータ書き込み方法。
【請求項６】
請求項２〜４のいずれか１項に記載のデータ書き込み装置における各手段としてコンピュータを動作させるためのデータ書き込み用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、農業機械や建設機械等の作業機や、乗用車やトラック、バス等の車両用の電子制御ユニットが有する記録媒体へデータを書き込む際に用いられるデータ書き込み装置、データ書き込み方法およびデータ書き込み用プログラムに関するものである。
【背景技術】
【０００２】
従来、農業機械や建設機械といった作業機のエンジンを制御するための複数の電子制御ユニット（ＥＣＵ；Electronic Control Unit）を、通信ラインを介して接続し、相互にデータ通信できるようにしたエンジン制御装置が知られている（たとえば、特許文献１を参照）。
【０００３】
このエンジン制御装置では、複数の電子制御ユニットが通信ラインで連携されている。エンジン制御装置内での電子制御ユニット間通信の多重化や高速化によって、電子制御ユニット間の協調制御の容易化が図られている。また、１つの通信ラインに複数の電子制御ユニットを接続することによって、電子制御ユニット同士でデータのやり取りをする組み合わせが実現されている。
【０００４】
電子制御ユニットの各々は、フラッシュメモリやＥ２Ｐ−ＲＯＭといった、電源を切ってもデータが破壊されないという不揮発性の記憶手段を備えている。たとえば、１つ目の電子制御ユニットは、その記憶手段に燃料供給量設定用データを記憶している。この燃料供給量設定用データは、作業機のエンジン燃料供給装置の目標燃料供給量を演算するためのデータである。この１つ目の電子制御ユニットは、この燃料供給量設定用データを基に、作業機のエンジンの目標燃料供給量を制御している。
【０００５】
また、２つ目の電子制御ユニットは、作業機の作業特性に応じた制御特性のエンジン制御指令設定用データを記憶している。このエンジン制御指令設定用データは、作業機の指令エンジン回転数および指令エンジントルクを演算するためのデータである。この２つ目の電子制御ユニットは、このエンジン制御指令設定用データを基に、作業機のエンジンの指令エンジン回転数および指令エンジントルクを制御している。
【０００６】
上で述べたような電子制御ユニットの記憶手段であるフラッシュメモリやＥ２Ｐ−ＲＯＭにプログラムやデータを書き込むためには、電子制御ユニットに外部のフラッシュライタやＥ２Ｐ−ＲＯＭライタを接続することが必要となる。このフラッシュライタ等はたとえば、プログラムやデータが格納されているパーソナルコンピュータからそのプログラムやデータを取得し、その取得したプログラム等を電子制御ユニットのフラッシュメモリに書き込む機能を持つものが一般的である。
【０００７】
電子制御ユニットの記憶手段には、通常、その電子制御ユニットが搭載される作業機を利用者に納車する前の段階で、所定のプログラムやデータが書き込まれる。従来、各作業機に対し、電子制御ユニットのサプライヤより供給される電子制御ユニットを取り付け、さらに、上で述べたようなフラッシュライタ等を用いて、各作業機に対応したプログラムやデータを記憶手段に書き込む処理が行なわれる。
【０００８】
また、電子制御ユニットの記憶手段に書き込まれたプログラムを、バージョンアップやバグ修正、あるいは運転中に不具合が生じた場合に調整を行なうための修正を行なう必要が生じた場合であれば、フラッシュライタ等を用いて、新たなプログラムの書き込みが行われる。バージョンアップやバグ修正等のために、内容を随時更新できるよう、不揮発性メモリであるフラッシュメモリやＥ２Ｐ−ＲＯＭにプログラムやデータが記憶されている。
【０００９】
ところで、作業機が一旦市場に出てから、たとえば故障等によって電子制御ユニットに異常が生じた場合、その電子制御ユニットを新しいものに交換する必要がある。電子制御ユニットの記憶手段に書き込まれるプログラムやデータは、その電子制御ユニットが搭載される作業機の種類、性能、用途等の違いによって、当然のことながら、多種多様の種類のものが存在する。そして、交換後の新しい電子制御ユニットに対しては、交換前の電子制御ユニットと同様のプログラムやデータを書き込まなければならないことはいうまでもない。
【００１０】
このようなプログラムやデータの書き込み処理は、多くの場合、利用者による作業機の持込にてディーラや販売店等で行なわれる。具体的には、プログラムやデータの書き込み対象となる電子制御ユニットに、上で述べたようなフラッシュライタを接続し、そのフラッシュライタを用いた作業者による書き込み処理が行なわれる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−１５６１４０号公報（平成２１年７月１６日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、ディーラや販売店にて電子制御ユニットの書き込み処理が行われる場合において、上で述べたようなフラッシュライタやＥ２Ｐ−ＲＯＭライタが正規の使用者により使用されているかどうかの認証については、従来、十分に考慮されているとはいい難い状況にあった。
【００１３】
特に、盗難やなりすまし、替え玉等によるフラッシュライタ等の不正使用については、パスワード等による一般的な個人認証技術よりも、さらに強力な認証技術が求められている。
【００１４】
また、ディーラや販売店は、フラッシュライタ等を用いた書き込み処理を行なう際、電子制御ユニットのサプライヤからプログラムやデータの供給を受ける必要がある。このとき、電子制御ユニットのサプライヤから供給されるプログラム等は、パーソナルコンピュータに一旦格納させる必要がある。フラッシュライタへのプログラム等の転送は、上述したように、パーソナルコンピュータを用いて行なわれるからである。
【００１５】
この場合、このパーソナルコンピュータに一旦格納されたプログラム等が不正に抜き取られ、第三者の手に渡ってしまうおそれもあった。また、パーソナルコンピュータに格納されたプログラムやデータ等は、意図的に削除されない限り、そのパーソナルコンピュータにそのまま残存することになる。このようなプログラム等は無数の複製品を招くことにもつながる。
【００１６】
特に、電子制御ユニットのサプライヤからディーラや販売店へのプログラムやデータの供給を、インターネットというオープンなネットワークを介して行なった場合、そのプログラム等のセキュリティが非常に重要な事柄である。このため、サプライヤと各ディーラ等との間の通信には暗号技術が用いられることが普通である。通常、サプライヤは、プログラム等を暗号化して送信し、各ディーラ等は、その送信されたプログラム等を復号化することでそのプログラム等を利用する。ところが、各ディーラのパーソナルコンピュータは、正規の利用者以外の第三者が使用可能である場合、そのプログラムの不正な複製が行われるおそれがあった。すなわち、送信されたプログラムの復号化は各ディーラのパーソナルコンピュータ内で行われるため、パーソナルコンピュータに格納されたプログラム等は第三者に盗用される可能性があった。
【００１７】
このように、従来、電子制御ユニットのサプライヤから供給されるプログラムやデータが何らかの不正な手段によって持ち出されたり、盗難や紛失等の不測の事態が生じたりした場合には、そのプログラム等が不正に利用される可能性があった。
【００１８】
その結果、悪意を持った第三者がこのプログラム等を悪用することで、たとえば不正な電子制御ユニットを作製してしまうおそれがあった。
【００１９】
本発明は、このような課題に鑑みてなされたものであり、電子制御ユニットに書き込まれるプログラムやデータの不正利用を防止可能なデータ書き込み装置、データ書き込み方法およびデータ書き込み用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明に係るデータ書き込み装置は、エンジンを制御する電子制御ユニットの不揮発性メモリに、当該電子制御ユニットによるエンジン制御に用いられるデータを書き込むデータ書き込み装置であって、通信回線を介して上記データをダウンロードするクライアント装置に対し、上記データのダウンロードを管理および制御すると共に、上記ダウンロードの管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを、上記クライアント装置に残存させることなく、上記電子制御ユニットの不揮発性メモリに書き込む。
【００２１】
上記のデータ書き込み装置は、農業機械や建設機械等の作業機や、乗用車やトラック、バス等の車両用の電子制御ユニットが有する不揮発性メモリに、その電子制御ユニットがエンジンを制御する時に用いるデータを書き込むデータ書き込み装置である。
【００２２】
上記のデータ書き込み装置では、通信回線を介してデータをダウンロードするクライアント装置から電子制御ユニットの不揮発性メモリに書き込むためのデータを取得し、そのデータを電子制御ユニットの不揮発性メモリに書き込みを実行する。
【００２３】
上記のデータ書き込み装置は、電子制御ユニットの不揮発性メモリに書き込むデータをダウンロードするクライアント装置によるダウンロードを管理、制御する。たとえば、データ書き込み装置はクライアント装置に対し、（Ａ）データを複数の部分に分割し、各分割データを間欠的にダウンロードできるよう、通信回線を介してデータを送信するサーバ装置に対して要求させる、（Ｂ）データのダウンロード終了後、一時的にクライアント装置に保存されたデータを消去させる、（Ｃ）サーバ装置から送信されるデータを一時的に保存することなく、データ書き込み装置側に出力させる、といった管理および制御を行なう。
【００２４】
クライアント装置は、自身にダウンロードされたデータを、自身に残存させることなく、データ書き込み装置側に出力する。この時、クライアント装置は、ダウンロードされたデータを、一旦、クライアント装置に貯め、ある程度貯まった時点でデータ書き込み装置側に出力してもよいし、あるいは、ダウンロードしつつ、そのまま、データ書き込み装置側に出力してもよい。要は、クライアント装置にダウンロードされたデータが残存しなければよい。
【００２５】
このため、第三者がクライアント装置からデータを読み出すことが困難となり、第三者による不正利用を防止することができる。
【００２６】
したがって、たとえば、サーバ装置から供給されるデータを第三者が悪用し、不正な電子制御ユニットを作製してしまうことを防止することができる。
【００２７】
上記データのダウンロードを管理および制御すべく、上記クライアント装置に指示する指示手段と、上記ダウンロードの上記指示手段による管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを取得する取得手段と、上記取得手段によって取得された上記データを、上記電子制御ユニットに出力する出力手段と、を備えることが好ましい。
【００２８】
この場合、指示手段は、データのダウンロードを管理および制御すべく、クライアント装置に指示する。取得手段は、ダウンロードの指示手段による管理および制御の下で、通信回線を介してクライアント装置にダウンロードされたデータを取得する。出力手段は、取得手段によって取得されたデータを、電子制御ユニットに出力する。
【００２９】
上記取得手段によって取得された上記データを記憶する記憶部と、上記記憶部に記憶されている上記データを消去する消去手段と、をさらに備え、上記出力手段は、上記記憶部に記憶されている上記データを上記電子制御ユニットに出力すると共に、上記消去手段は、自身が上記記憶部に記憶されている上記データを消去すべきであるとあらかじめ定められた消去条件が満足された時、上記記憶部に記憶されている上記データを消去することが好ましい。
【００３０】
この場合、出力手段は、記憶部に記憶されているデータを電子制御ユニットに出力する。消去手段は、消去条件が満足されると、記憶部に記憶されているデータを消去する。
【００３１】
このため、出力手段によってデータが出力された後、記憶部にデータが残存することがない。
【００３２】
したがって、記憶部にデータが記憶された後にデータ書き込み装置が盗難等の被害にあっても、第三者が記憶部からデータを不正に読み取ることは困難となる。
【００３３】
上記消去手段は、上記取得手段による上記データの取得が開始または終了した時点から所定の時間が経過したことを上記消去条件として用いて、上記記憶部に記憶されている上記データを消去することが好ましい。
【００３４】
この場合、記憶部に記憶されているデータは、データの取得が開始または終了した時点から所定の時間が経過した後において、確実に消去されていることになる。
【００３５】
したがって、記憶部にデータが記憶された後にデータ書き込み装置が盗難等の被害にあっても、第三者が記憶部からデータを不正に読み取ることは困難となる。
【００３６】
本発明に係るデータ書き込み方法は、エンジンを制御する電子制御ユニットの不揮発性メモリに、当該電子制御ユニットによるエンジン制御に用いられるデータを書き込むデータ書き込み方法であって、通信回線を介して上記データをダウンロードするクライアント装置に対し、上記データのダウンロードを管理および制御すると共に、上記ダウンロードの管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを、上記クライアント装置に残存させることなく、上記電子制御ユニットの不揮発性メモリに書き込む。
【００３７】
上記のデータ書き込み方法は、農業機械や建設機械等の作業機や、乗用車やトラック、バス等の車両用の電子制御ユニットが有する不揮発性メモリに、その電子制御ユニットがエンジンを制御する時に用いるデータを書き込むデータ書き込み方法である。
【００３８】
上記のデータ書き込み方法では、通信回線を介してデータをダウンロードするクライアント装置から電子制御ユニットの不揮発性メモリに書き込むためのデータを取得し、そのデータを電子制御ユニットの不揮発性メモリに書き込みを実行する。
【００３９】
上記のデータ書き込み方法は、電子制御ユニットの不揮発性メモリに書き込むデータをダウンロードするクライアント装置によるダウンロードを管理、制御する。たとえば、データ書き込み装置はクライアント装置に対し、（Ａ）データを複数の部分に分割し、各分割データを間欠的にダウンロードできるよう、通信回線を介してデータを送信するサーバ装置に対して要求させる、（Ｂ）データのダウンロード終了後、一時的にクライアント装置に保存されたデータを消去させる、（Ｃ）サーバ装置から送信されるデータを一時的に保存することなく、データ書き込み装置側に出力させる、といった管理および制御を行なう。
【００４０】
クライアント装置は、自身にダウンロードされたデータを、自身に残存させることなく、データ書き込み装置側に出力する。この時、クライアント装置は、ダウンロードされたデータを、一旦、クライアント装置に貯め、ある程度貯まった時点でデータ書き込み装置側に出力してもよいし、あるいは、ダウンロードしつつ、そのまま、データ書き込み装置側に出力してもよい。要は、クライアント装置にダウンロードされたデータが残存しなければよい。
【００４１】
このため、第三者がクライアント装置からデータを読み出すことが困難となり、第三者による不正利用を防止することができる。
【００４２】
したがって、たとえば、サーバ装置から供給されるデータを第三者が悪用し、不正な電子制御ユニットを作製してしまうことを防止することができる。
【００４３】
なお、上記のデータ書き込み装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記各手段として動作させることにより上記のデータ書き込み装置をコンピュータにて実現させるデータ書き込み用プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００４４】
本発明のデータ書き込み装置は、以上のように、エンジンを制御する電子制御ユニットの不揮発性メモリに、当該電子制御ユニットによるエンジン制御に用いられるデータを書き込むデータ書き込み装置であって、通信回線を介して上記データをダウンロードするクライアント装置に対し、上記データのダウンロードを管理および制御すると共に、上記ダウンロードの管理および制御の下で、上記通信回線を介して上記クライアント装置にダウンロードされた上記データを、上記クライアント装置に残存させることなく、上記電子制御ユニットの不揮発性メモリに書き込む。
【００４５】
それゆえ、電子制御ユニットに書き込まれるプログラムやデータの不正利用を防止可能という効果を奏する。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施形態に係るデータ書き込み装置と、サーバ装置と、クライアント装置と、電子制御ユニットとの接続関係を示すブロック図である。
【図２】上記のデータ書き込み装置のメモリライタ装置の構成を示すブロック図である。
【図３】上記のデータ書き込み装置のドングル装置の構成を示すブロック図である。
【図４】上記の電子制御ユニットの構成を示すブロック図である。
【図５】上記のサーバ装置の構成を示すブロック図である。
【図６】上記のクライアント装置の構成を示すブロック図である。
【発明を実施するための形態】
【００４７】
本発明の一実施形態について図１〜図６に基づいて説明すれば、以下の通りである。
【００４８】
本発明の一実施の形態に係るデータ書き込み装置は、電子制御ユニットが有する不揮発メモリにプログラムやデータを書き込むときに、そのプログラム等が第三者に取得され、不正利用されてしまうことを防止するものである。
【００４９】
農業機械や建設機械等の作業機では、そのエンジンの燃料噴射制御や点火制御、排気浄化制御といった各種のエンジン制御は、マイクロコンピュータを備える電子制御ユニットにより統合的に行われるのが一般的である。この電子制御ユニットには、マイクロコンピュータにより実行される各種のプログラムやデータが設定されており、作業機やそのエンジンごとに最適なエンジン制御が実現されるように、各プログラムやデータの最適化がなされている。このようなプログラムやデータ（以下、「制御データ」と記す場合もある）は、電子制御ユニットに組み込まれた不揮発性メモリに記憶されている。
【００５０】
制御データは、たとえば、電子制御ユニットのサプライヤから作業機のディーラや販売店に供給される。ディーラ等は、自身が保有するパーソナルコンピュータ等のクライアント装置をインターネット等の公衆通信回線に接続する。このクライアント装置は、公衆通信回線との接続によって、その公衆通信回線に接続されている電子制御ユニットのサプライヤが保有するサーバ装置と通信可能となる。制御データは、このようなクライアント装置とサーバ装置との通信によって、サーバ装置からクライアント装置へダウンロードされることになる。
【００５１】
ここで、データ書き込み装置は、上で述べたような、サーバ装置からクライアント装置への制御データのダウンロードを、管理、制御する。具体的には、データ書き込み装置は、サーバ装置からクライアント装置へ制御データがダウンロードされるときに、その制御データがクライアント装置から抜き取られ、第三者による不正利用を招くことがないよう、クライアント装置によるダウンロードを管理、制御するものである。
【００５２】
データ書き込み装置は、サーバ装置からダウンロードされた制御データを、クライアント装置から取得する。この取得は、データ書き込み装置とクライアント装置との接続によって実現される。電子制御ユニットの書き込み処理が行なわれる場合には、データ書き込み装置は、制御データがダウンロード済みのクライアント装置と接続し、クライアント装置からその制御データを取得する。
【００５３】
その制御データの取得後、データ書き込み装置は、クライアント装置から離れ、今度は、電子制御ユニットと接続する。データ書き込み装置は、電子制御ユニットとの接続によって、クライアント装置から取得した制御データを電子制御ユニットの不揮発性メモリに書き込む処理を実行する。
【００５４】
ここで、データ書き込み装置は、クライアント装置から制御データを取得してから、電子制御ユニットに制御データを書き込むまでの間、当然のことながら、その制御データを自身の記憶メモリに一時的に保持することになる。このため、データ書き込み装置は、この間、記憶メモリに保持されている制御データの不正な読み出しを困難とする、高い耐タンパ性を有するものでもある。
【００５５】
このように、データ書き込み装置は、電子制御ユニットのサプライヤから供給される制御データを第三者による不正利用を困難とすることができ、不正な電子制御ユニットの作製を未然に防止することができる。
【００５６】
なお、データ書き込み装置は、農業機械や建設機械といった作業機のエンジン制御用電子制御ユニットの書き込み処理を行なうためのものに限定されるものではなく、乗用車や、トラック、バスといったような車両のエンジン制御用電子制御ユニットの書き込み処理を行なうものであってもよい。また、電子制御ユニットの用途は、作業機や車両のエンジン制御用に限定されるものではなく、盗難防止を図るためのセキュリティ用や空調制御用、ブレーキ制御用の電子制御ユニットであってもよい。いずれの車両、用途においても、同様に効果を奏することができる。以下、本発明の実施の形態では、作業機のエンジン制御用の電子制御ユニットに対して制御データの書き込み処理を実行するデータ書き込み装置を例に実施の形態として説明する。
【００５７】
（全体構成）
以下、図面を用いてデータ書き込み装置の構成について説明する。図１は、本発明の一実施形態に係るデータ書き込み装置と、サーバ装置と、クライアント装置と、電子制御ユニットとの接続関係を示すブロック図である。
【００５８】
図１に示すように、サーバ装置１１は、電子制御ユニット１４のサプライヤが保有し、管理するものである。サーバ装置１１は、公衆通信回線１２に接続されており、この公衆通信回線１２を介して、クライアント装置１３の各々と通信可能となっている。
【００５９】
サーバ装置１１は、電子制御ユニット１４に書き込まれる制御データをあらかじめ記憶している。その制御データは、電子制御ユニット１４が搭載される作業機の種類、性能、用途等の違いによって、多種多様の種類のものが存在しており、サーバ装置１１は、それらすべての種類の制御データを記憶し、供給することが可能となるように構成されている。
【００６０】
公衆通信回線１２は、双方向デジタル回線の環境を構築できるものであればよく、例えばインターネット、広帯域ＩＳＤＮ（Integrated Services Digital Network）の電話回線、都市型のＣＡＴＶネットワーク、一般公衆回線、無線回線、イーサネット（登録商標）等である。
【００６１】
クライアント装置１３は、電子制御ユニット１４のデータ書き込み処理を行なうディーラや販売店が保有し、管理するものである。クライアント装置１３は、たとえば、電子制御ユニット１４を搭載する作業機が持ち込まれ、その電子制御ユニット１４への制御データの書き込みが必要となったとき、公衆通信回線１２に接続されることになる。
【００６２】
クライアント装置１３は、公衆通信回線１２との接続によって、サーバ装置１１との通信が可能となり、サーバ装置１１から制御データをダウンロードする。また、クライアント装置１３による制御データのダウンロードは、データ書き込み装置１０によって管理、制御される。このため、クライアント装置１３が制御データをダウンロードするとき、データ書き込み装置１０は、クライアント装置１３に接続される。データ書き込み装置１０は、クライアント装置１３に接続されると、クライアント装置１３が制御データをダウンロードするときに用いるダウンロード処理プログラムを、クライアント装置１３に出力する。
【００６３】
クライアント装置１３は、このダウンロード処理プログラムを用いて、サーバ装置１１に記憶されている制御データをダウンロードする。
【００６４】
データ書き込み装置１０は、ドングル装置２０と、メモリライタ装置３０と、を備えている。ドングル装置２０は、自身を介してメモリライタ装置３０がクライアント装置１３に接続された場合に限り、クライアント装置１３とメモリライタ装置３０との間の通信を可能とするものである。
【００６５】
メモリライタ装置３０は、クライアント装置１３が制御データをダウンロードするときに用いるダウンロード処理プログラムをあらかじめ記憶している。メモリライタ装置３０は、クライアント装置１３との通信が可能になると、そのダウンロード処理プログラムを、クライアント装置１３に出力する。メモリライタ装置３０は、このダウンロード処理プログラムをクライアント装置１３に実行させることによって、クライアント装置１３による制御データのダウンロードを管理、制御することができる。
【００６６】
また、メモリライタ装置３０は、クライアント装置１３によりダウンロードされる制御データをクライアント装置１３から取得すると共に、その制御データを電子制御ユニット１４に書き込む処理を実行する。
【００６７】
先ず、メモリライタ装置３０は、クライアント装置１３から制御データを取得するときには、ドングル装置２０を介して、クライアント装置１３に接続される。
【００６８】
ここで、電子制御ユニット１４は、１つの作業機に搭載される他の電子制御ユニットとＣＡＮ（Controller  Area  Network）等の通信規格を介して相互に接続されている。電子制御ユニット１４を含む複数の電子制御ユニットは、各々が正常であることを示すデータや、車速やエンジン回転数等の制御に関する情報を含むデータ等を相互に送受信している。
【００６９】
メモリライタ装置３０は、制御データを電子制御ユニット１４に書き込むときには、上で述べたＣＡＮ等の外部入力端子に接続される。
【００７０】
電子制御ユニット１４は、自身に内蔵された不揮発性メモリに記憶されている制御データを用いて、作業機のエンジンのスロットル開度や燃料噴射量等を調節することによって、エンジン制御を行なうものである。
【００７１】
電子制御ユニット１４は、自身が接続されているＣＡＮを介して、データ書き込み装置１０のメモリライタ装置３０に接続され、メモリライタ装置３０から制御データが書き込まれる。その制御データは、電子制御ユニット１４に内蔵されている不揮発性メモリに記憶されることになる。
【００７２】
（データ書き込み装置１０）
次に、データ書き込み装置１０について説明する。
【００７３】
データ書き込み装置１０は、上述したように、ドングル装置２０と、メモリライタ装置３０と、を有している。
【００７４】
（ドングル装置２０）
図３に、ドングル装置２０の構成を示す。図３に示すように、ドングル装置２０は、認証情報記憶部２１と、接続制御部２２と、クライアント装置側ポート２３と、メモリライタ装置側ポート２４と、を有している。
【００７５】
クライアント装置側ポート２３は、クライアント装置１３のＵＳＢ（Universal Serial Bus）の入出力ポート１３９に接続される。クライアント装置側ポート２３とクライアント装置１３との接続は、クライアント装置１３のその他の通信ポートでもよいし、ＰＣＭＣＩＡまたはＳＤメモリカード等のスロットでも構わない。さらに、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）または赤外線インタフェース（ＩｒＤＡ）等の方法を採用することも可能である。
【００７６】
また、メモリライタ装置側ポート２４は、メモリライタ装置３０のドングル装置側入出力ポート３０１に接続される。
【００７７】
認証情報記憶部２１は、認証情報をあらかじめ記憶している。認証情報は、クライアント装置１３の固有の識別符号と整合するかどうかを判断することができて、改竄やなりすましを防止できることが必要とされる。たとえば、認証情報は、ドングル装置２０に固有の識別符号と、その識別符号に対応するパスワードを用いることができる。
【００７８】
また、認証情報記憶部２１は、認証情報を接続制御部２２に出力する。
【００７９】
接続制御部２２は、クライアント装置側ポート２３およびメモリライタ装置側ポート２４の各々の開閉状態を制御する。具体的には、接続制御部２２は、クライアント装置側ポート２３の開閉状態を切り替えることによって、ドングル装置２０とクライアント装置１３とを接続状態にすることができる。また、接続制御部２２は、メモリライタ装置側ポート２４の開閉状態を切り替えることによって、ドングル装置２０とメモリライタ装置３０とを接続状態にすることができる。すなわち、接続制御部２２は、クライアント装置１３とメモリライタ装置３０とを接続状態にすることができる。
【００８０】
また、接続制御部２２は、認証情報記憶部２１から認証情報を取得し、クライアント装置側ポート２３およびクライアント装置１３の入出力ポート１３９を介して、クライアント装置１３にその認証情報を出力する。そうすることにより、ドングル装置２０がクライアント装置１３に接続する正当性があることの証明を行なう。
【００８１】
接続制御部２２は、ドングル装置２０がクライアント装置１３に接続する正当性が証明されると、クライアント装置側ポート２３およびメモリライタ装置側ポート２４の各々を開状態とする。その結果、メモリライタ装置３０は、ドングル装置２０を介して、クライアント装置１３と接続されることになる。
【００８２】
（メモリライタ装置３０）
図２に、メモリライタ装置３０の構成を示す。図２に示すように、メモリライタ装置３０は、上記のドングル装置側入出力ポート３０１と、電子制御ユニット側入出力ポート３０２と、ダウンロード指示部（指示手段）３０３と、データ取得部（取得手段）３０４と、データ出力部（出力手段）３０５と、データ記憶部（記憶部）３０６と、データ消去部（消去手段）３０７と、タイマ３０８と、を有している。
【００８３】
ドングル装置側入出力ポート３０１は、ドングル装置２０のメモリライタ装置側ポート２４に接続されており、電子制御ユニット側入出力ポート３０２は、電子制御ユニット１４が接続されたＣＡＮの外部入力端子１４１に接続されている。
【００８４】
ダウンロード指示部３０３は、サーバ装置１１からクライアント装置１３への制御データのダウンロードを指示する。ダウンロード指示部３０３は、たとえば、次のような指示をクライアント装置１３に与える。
【００８５】
（Ａ）制御データを複数の部分に分割し、各分割データを間欠的にダウンロードできるよう、サーバ装置１１に対して要求すること。
【００８６】
たとえば、制御データをストリーミングデータとして、ストリーミング可能に構成されている。クライアント装置１３は、ダウンロード指示部３０３の指示により、このようなストリーミングデータを、所定の時間間隔毎にダウンロードすればよい。
【００８７】
（Ｂ）制御データのダウンロード終了後、一時的に保存された制御データを消去すること。
【００８８】
たとえば、クライアント装置１３は、サーバ装置１１から送られてきたストリーミングデータが貯まるまで待ち、その後、貯まったデータをデータ書き込み装置１０側に出力する。クライアント装置１３は、一度貯めたストリーミングデータを、データ書き込み装置１０側に出力した時点で消去する。
【００８９】
（Ｃ）サーバ装置１１から送信される制御データを一時的に保存することなく、データ書き込み装置１０側に出力すること。
【００９０】
たとえば、クライアント装置１３は、サーバ装置１１から送られてきたストリーミングデータを、上記（Ｂ）とは異なり、自身に貯めることなく、そのまま、データ書き込み装置１０側に出力してもよい。この場合、クライアント装置１３は、ストリーミングデータをダウンロードしつつ、同時にデータ書き込み装置１０側に出力する。このため、データ書き込み装置１０側へのデータ出力時間を短縮することができる。
【００９１】
データ取得部３０４は、クライアント装置１３によってダウンロードされた制御データを取得し、データ記憶部３０６に記憶する。
【００９２】
制御データは、サーバ装置１１から送信される際、暗号化されている。データ取得部３０４は、制御データを復号化することなく、暗号化されたままでデータ記憶部３０６に記憶する。このため、データ記憶部３０６に制御データが記憶された後にメモリライタ装置３０が盗難等の被害にあっても、第三者がデータ記憶部３０６から制御データを不正に読み取ることは困難となる。
【００９３】
また、上記の（Ａ）で述べたように、制御データが複数の部分に分割され、間欠的にダウンロードされる場合もある。この場合、制御データ全体のダウンロードが完了する以前にメモリライタ装置３０が盗難等の被害にあっても、データ記憶部３０６には制御データの一部しか記憶されていないことになる。したがって、第三者にデータ記憶部３０６から制御データが不正に読み取られることがない。
【００９４】
データ出力部３０５は、データ取得部３０４によって制御データがデータ記憶部３０６に記憶された後、その制御データを電子制御ユニット１４に出力する。制御データは、電子制御ユニット側入出力ポート３０２、ＣＡＮの外部入力端子１４１を介して、ＣＡＮに接続された電子制御ユニット１４に出力される。
【００９５】
データ記憶部３０６は、たとえば、ＤＲＡＭやＳＲＡＭといった半導体メモリ等の公知の記憶装置から適宜選択して用いることができる。
【００９６】
データ消去部３０７は、データ記憶部３０６に記憶されている制御データを消去する。データ消去部３０７は、たとえば、データ出力部３０５によってデータ記憶部３０６に記憶されている制御データのすべてが電子制御ユニット１４に出力された後、データ記憶部３０６の制御データを消去すればよい。また、データ消去部３０７は、メモリライタ装置３０と電子制御ユニット１４との通信状態が何かしらの原因で遮断された場合、その時点でデータ記憶部３０６の制御データの消去を行なってもよい。そうすることにより、データ記憶部３０６に長期に渡って制御データが残存することがなくなり、データ記憶部３０６からの制御データの不正な読み取りを防止することができる。
【００９７】
また、データ消去部３０７は、タイマ３０８を備えていてもよい。この場合、データ消去部３０７は、たとえば、データ取得部３０４による制御データのデータ記憶部３０６への記憶が終了した時点からタイマ３０８を用いて計測し、所定の時間経過後、強制的にデータ記憶部３０６の制御データを消去すればよい。そうすることにより、制御データがデータ記憶部３０６から所定の時間経過後、確実に消去されるので、データ記憶部３０６からの制御データの不正な読み取りの機会を減らすことができる。
【００９８】
もちろん、所定の時間が経過した時点で、データ出力部３０５による制御データの出力が継続している場合もあり得る。この場合、データ出力部３０５による制御データの出力が終了した時点で、データ消去部３０７はデータ記憶部３０６の制御データを消去すればよい。
【００９９】
また、データ消去部３０７は、データ取得部３０４による制御データのデータ記憶部３０６への記憶が開始した時点からタイマ３０８を用いて計測を開始しても構わない。
【０１００】
さらに、データ消去部３０７は、データ記憶部３０６である半導体メモリ等の実装状態に異常が生じた場合、その時点で、データ記憶部３０６の制御データを消去してもよい。たとえば、データ記憶部３０６の半導体メモリ等がメモリライタ装置３０から、第三者によって物理的にはがされたような場合である。データ消去部３０７は、データ記憶部３０６の実装状態を常時監視し、その異常を検知したとき、データ記憶部３０６の制御データを消去すればよい。
【０１０１】
（電子制御ユニット）
図４に、電子制御ユニット１４の構成を示す。図４に示すように、電子制御ユニット１４は、入出力回路１４３と、エンジン制御部１４４と、不揮発性メモリ１４５と、データ入力部１４６と、を有している。
【０１０２】
入出力回路１４３は、ＣＡＮ１４２に接続されており、外部入力端子１４１や、他の電子制御ユニット５１および５２との間において相互にデータ通信を行なう。
【０１０３】
データ入力部１４６は、外部入力端子１４１、ＣＡＮ１４２および入出力回路１４３を介して、データ書き込み装置１０のメモリライタ装置３０から出力されて来る制御データを受け取る。データ入力部１４６は、その制御データを不揮発性メモリに記憶する。
【０１０４】
制御データは、上述したように、サーバ装置１１から送信される際、暗号化されている。そして、データ書き込み装置１０のメモリライタ装置３０は、制御データを復号化することなく、暗号化されたままで電子制御ユニット１４に出力して来る。データ入力部１４６は、暗号化されている制御データを受け取ると、その制御データを復号化しつつ、不揮発性メモリ１４５に記憶する。
【０１０５】
このため、制御データは、ＣＡＮ１４２を介して送信されている間、暗号化されたままである。ＣＡＮ１４２から第三者が制御データを読み出したとしても、その制御データを不正に利用することは困難となる。
【０１０６】
不揮発性メモリ１４５は、電源を切ってもデータが破壊されないという不揮発性の特徴を有している。不揮発性メモリ１４５は、たとえば、フラッシュメモリ、Ｐ−ＲＯＭ、ＥＰ−ＲＯＭ、Ｅ２Ｐ−ＲＯＭを用いることができる。
【０１０７】
エンジン制御部１４４は、不揮発性メモリ１４５に記憶されている制御データを用いて、作業機のエンジンのスロットル開度や燃料噴射量等を調節することによって、エンジン制御を実行する。エンジン制御部１４４は、たとえば、入出力回路１４３を用いてＣＡＮ１４２に接続されている他の電子制御ユニット５１および５２とデータ通信を行ない、上記のエンジン制御を実行する。
【０１０８】
（サーバ装置１１）
図５に、サーバ装置１１の構成を示す。図５に示すように、サーバ装置１１は、各種プログラムの命令を処理するＣＰＵ１１１と、サーバ装置１１の制御プログラム等が格納されているＲＯＭ１１２と、ＣＰＵ１１１が行なう演算の途中結果等を一時的に記憶する、高速に書き込み読み出しが可能なＲＡＭ１１３と、外部との通信を行なう通信Ｉ／Ｆ装置１１４と、各種指示が入力される入力装置１１５と、多種多様な制御データを記憶する制御データＤＢ１１６と、ＨＤＤ１１７と、ディスプレイ装置１１８と、を有している。
【０１０９】
ＣＰＵ１１１は、ＲＯＭ１１２に格納されているプログラム、または、ＨＤＤ１１７に格納されているプログラムか、ＲＡＭ１１３に格納されたプログラムに従って各種の処理を実施する。また、ＣＰＵ１１１は、ＲＡＭ１１３による各処理に必要なデータを一時記憶する。ＣＰＵ１１１は、サーバ装置１１全体の制御を行なう。
【０１１０】
通信Ｉ／Ｆ装置１１４は、公衆通信回線１２との入出力を処理する。
【０１１１】
入力装置１１５は、たとえば、テンキー、キーボード等を備え、各種の指示やデータ等が入力される。入力装置１１５は、入力された各指示やデータをＲＡＭ１１３やＨＤＤ１１７に格納する。
【０１１２】
制御データＤＢ１１６は、クライアント装置１３にダウンロードされる制御データを記憶している。制御データＤＢ１１６は、電子制御ユニット１４が搭載される作業機の種類、性能、用途等の違いによる、多種多様の種類のものを記憶する。制御データＤＢ１１６は、たとえば磁気メモリ等を用いることができる。
【０１１３】
ＨＤＤ１１７は、磁気メモリ等で構成され、たとえば、ＣＰＵ１１１による各種の処理に必要なプログラム群であるソフトウェアを記憶する。なお、ＣＰＵ１１１による各種の処理のソフトウェアを構成するプログラムは、あらかじめコンピュータに専用のハードウェアで組み込んでもよいし、ＲＯＭ１１２やＨＤＤ１１７にあらかじめ組み込んで提供してもよい。
【０１１４】
ディスプレイ装置１１８は、各種情報（データ）を出力するものであり、たとえば、ＬＣＤ（液晶ディスプレイ）、ＰＤＰ（プラズマディスプレイパネル）、またはＣＲＴ（cathode-ray tube）ディスプレイ等の表示装置で構成される。
【０１１５】
（クライアント装置１３）
図６に、クライアント装置１３の構成を示す。図６に示すように、クライアント装置１３は、各種プログラムの命令を処理するＣＰＵ１３１と、クライアント装置１３の制御プログラム等が格納されているＲＯＭ１３２と、ＣＰＵ１３１が行なう演算の途中結果等を一時的に記憶する、高速に書き込み読み出しが可能なＲＡＭ１３３と、外部との通信を行なう通信Ｉ／Ｆ装置１３４と、各種指示が入力される入力装置１３５と、サーバ装置１１からダウンロードされた制御データを一時的に記憶するデータ一時記憶装置１３６と、ＨＤＤ１３７と、ディスプレイ装置１３８と、を有している。
【０１１６】
ＣＰＵ１３１は、ＲＯＭ１３２に格納されているプログラム、または、ＨＤＤ１３７に格納されているプログラムか、ＲＡＭ１３３に格納されたプログラムに従って各種の処理を実施する。また、ＣＰＵ１３１は、ＲＡＭ１３３による各処理に必要なデータを一時記憶する。ＣＰＵ１３１は、クライアント装置１３全体の制御を行なう。
【０１１７】
ここで、クライアント装置１３は、上述したように、データ書き込み装置１０のメモリライタ装置３０のダウンロード指示部３０３から、たとえば、次のような指示が与えられる。
【０１１８】
（Ａ）制御データを複数の部分に分割し、各分割データを間欠的にダウンロードできるよう、サーバ装置１１に対して要求すること。
【０１１９】
（Ｂ）制御データのダウンロード終了後、一時的に保存された制御データを消去すること。
【０１２０】
（Ｃ）サーバ装置１１から送信される制御データを一時的に保存することなく、データ書き込み装置１０側に出力すること。
【０１２１】
この場合、たとえば、データ書き込み装置１０は、クライアント装置１３が制御データをダウンロードするときに用いるダウンロード処理プログラムを、クライアント装置１３に出力する。クライアント装置１３は、そのダウンロード処理プログラムをＲＡＭ１３３やＨＤＤ１３７に記憶する。
【０１２２】
そして、ＣＰＵ１３１は、ＲＡＭ１３３やＨＤＤ１３７に記憶されているダウンロード処理プログラムに従って上記の各指示を実施する。
【０１２３】
通信Ｉ／Ｆ装置１３４は、公衆通信回線１２との入出力を処理する。
【０１２４】
入力装置１３５、たとえば、テンキー、キーボード等を備え、各種の指示やデータ等が入力される。入力装置１３５は、入力された各指示やデータをＲＡＭ１３３やＨＤＤ１３７に格納する。
【０１２５】
データ一時記憶装置１３６は、クライアント装置１３からダウンロードされた制御データを一時的に記憶している。データ一時記憶装置１３６は、たとえば磁気メモリ等を用いることができる。
【０１２６】
制御データは、サーバ装置１１から送信される際、暗号化されている。データ一時記憶装置１３６は、制御データを暗号化されたままで一時的に記憶する。このため、データ一時記憶装置１３６に制御データが記憶された後にクライアント装置１３が盗難等の被害にあっても、第三者がデータ一時記憶装置１３６から制御データを不正に読み取ることは困難となる。
【０１２７】
また、上記の（Ａ）で述べたように、制御データが複数の部分に分割され、間欠的にダウンロードされる場合もある。この場合、制御データ全体のダウンロードが完了する以前にクライアント装置１３が盗難等の被害にあっても、データ一時記憶装置１３６には制御データの一部しか記憶されていないことになる。したがって、第三者にデータ一時記憶装置１３６から制御データが不正に読み取られることがない。
【０１２８】
ＨＤＤ１３７は、磁気メモリ等で構成され、たとえば、ＣＰＵ１３１による各種の処理に必要なプログラム群であるソフトウェアを記憶する。なお、ＣＰＵ１３１による各種の処理のソフトウェアを構成するプログラムは、あらかじめコンピュータに専用のハードウェアで組み込んでもよいし、ＲＯＭ１３２やＨＤＤ１３７にあらかじめ組み込んで提供してもよい。
【０１２９】
ディスプレイ装置１３８は、各種情報（データ）を出力するものであり、たとえば、ＬＣＤ（液晶ディスプレイ）、ＰＤＰ（プラズマディスプレイパネル）、またはＣＲＴ（cathode-ray tube）ディスプレイ等の表示装置で構成される。
【０１３０】
以上説明したように、本発明の一実施形態に係るデータ書き込み装置によれば、電子制御ユニットのサプライヤから供給される制御データを第三者による不正利用を困難とすることができ、不正な電子制御ユニットの作製を未然に防止することができる。
【０１３１】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１３２】
最後に、データ書き込み装置１０のメモリライタ装置３０の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１３３】
すなわち、メモリライタ装置３０は、各機能を実現する制御プログラムの命令を実行するＣＰＵ、前記プログラムを格納したＲＯＭ、前記プログラムを展開するＲＡＭ、前記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）等を備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるメモリライタ装置３０の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、前記メモリライタ装置３０に供給し、そのコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１３４】
前記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやコンパクトディスク−ＲＯＭ／ＭＯ／ＭＤ／デジタルビデオディスク／コンパクトディスク−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／Ｅ−ＰＲＯＭ／Ｅ２−ＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系等を用いることができる。
【０１３５】
また、メモリライタ装置３０を通信ネットワークと接続可能に構成し、前記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、前記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１３６】
本発明のデータ書き込み装置によれば、電子制御ユニットに書き込まれるプログラムやデータの不正利用を防止可能なデータ書き込み装置、データ書き込み方法およびデータ書き込み用プログラムを提供することができるので、農業機械や建設機械等の作業機、乗用車や、トラック、バス等の車両等に適用して有益なものである。
【符号の説明】
【０１３７】
１０    データ書き込み装置
１１    サーバ装置
１２    公衆通信回線
１３    クライアント装置
１４    電子制御ユニット
２０    ドングル装置
３０    メモリライタ装置
３０１    ドングル装置側入出力ポート
３０２    電子制御ユニット側入出力ポート
３０３    ダウンロード指示部（指示手段）
３０４    データ取得部（取得手段）
３０５    データ出力部（出力手段）
３０６    データ記憶部（記憶部）
３０７    データ消去部（消去手段）
３０８    タイマ
【図１】
2013029085.tif 000003
【図２】
2013029085.tif 000004
【図３】
2013029085.tif 000005
【図４】
2013029085.tif 000006
【図５】
2013029085.tif 000007
【図６】
2013029085.tif 000008