(57)【要約】      （修正有）【課題】信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行う。【解決手段】プログラム記憶領域として磁気抵抗メモリ（ＭＲＡＭ）１６を有し、第１の通信速度で通信可能な第１の通信バスＸに接続された第１の情報処理装置＃１〜＃９と、プログラム記憶領域として不揮発性メモリ３６を有し、第１の通信バスＸの通信速度に比して低い第２の通信速度で通信可能な第２の通信バスＹ１〜Ｙ９を介して第１の情報処理装置＃１〜＃９に接続された第２の情報処理装置＃１１〜＃９２とを備え、第２の情報処理装置＃１１〜＃９２の実行プログラムが更新される際に、先ず外部から第１の通信バスＸを介して入力された更新プログラムを磁気抵抗メモリ１６に格納した後、第２の通信バスＹ１〜Ｙ９を介して第２の情報処理装置に出力する。【選択図】図１
2011215771.tif 000002
【特許請求の範囲】
【請求項１】
プログラム記憶領域として磁気抵抗メモリ（ＭＲＡＭ）を有し、第１の通信速度で通信可能な第１の通信バスに接続された第１の情報処理装置と、
プログラム記憶領域として不揮発性メモリを有し、前記第１の通信速度に比して低い第２の通信速度で通信可能な第２の通信バスを介して前記第１の情報処理装置に接続された一以上の第２の情報処理装置と、を備え、
前記第２の情報処理装置の実行プログラムが更新される際に、
先ず外部から前記第１の通信バスを介して入力された更新プログラムを前記第１の情報処理装置が有する磁気抵抗メモリに格納し、該磁気抵抗メモリに格納された更新プログラムを前記第２の通信バスを介して前記第２の情報処理装置に出力することを特徴とする、
情報処理システム。
【請求項２】
前記不揮発性メモリは、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）である、
請求項１に記載の情報処理システム。
【請求項３】
前記第１の情報処理装置は、外部から入力された圧縮データを伸長するデータ伸長手段を備える、請求項１又は２に記載の情報処理システム。
【請求項４】
前記第１の情報処理装置は、外部から入力された暗号化データを復号するデータ復号手段を備える、請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
車両に搭載され、前記第１の情報処理装置及び前記一以上の第２の情報処理装置は、車載機器の制御のための情報処理を行う、
請求項１ないし４のいずれか１項に記載の情報処理システム。
【請求項６】
請求項５に記載の情報処理システムと、
前記第２の情報処理装置の実行プログラムを含むデータを前記第１の通信バスを介して前記第１の情報処理装置に出力する書き込み装置と、
を備える車両制御用プログラム管理システム。
【請求項７】
前記書き込み装置は、車外設備に設置される、
請求項６に記載の車両制御用プログラム管理システム。
【請求項８】
プログラム記憶領域として磁気抵抗メモリ（ＭＲＡＭ）を有し、第１の通信速度で通信可能な第１の通信バスに接続された第１の情報処理装置と、プログラム記憶領域として不揮発性メモリを有し、前記第１の通信速度に比して低い第２の通信速度で通信可能な第２の通信バスを介して前記第１の情報処理装置に接続された一以上の第２の情報処理装置と、を備える情報処理システムのプログラム更新方法であって、
前記第２の情報処理装置の実行プログラムが更新される際に、
外部から前記第１の通信バスを介して入力された更新プログラムを前記第１の情報処理装置が有する磁気抵抗メモリに格納する第１のステップと、
該磁気抵抗メモリに格納された更新プログラムを前記第２の通信バスを介して前記第２の情報処理装置に出力する第２のステップと、
前記第２の情報処理装置に出力された更新プログラムを前記不揮発性メモリに格納する第３のステップと、
を実行することを特徴とする、情報処理システムのプログラム更新方法。
【請求項９】
前記第２の情報処理装置は、圧縮データを伸長するデータ伸長手段を有し、
前記第１のステップにおいて、外部から前記第１の通信バスを介して圧縮データが入力され、
前記第２のステップは、前記磁気抵抗メモリに格納された、圧縮された更新プログラムを伸長して、前記第２の通信バスを介して前記第２の情報処理装置に出力するステップである、
請求項８に記載の情報処理システムのプログラム更新方法。
【請求項１０】
前記第２の情報処理装置は、暗号化データを復号するデータ復号手段を有し、
前記第１のステップにおいて、外部から前記第１の通信バスを介して暗号化データが入力され、
前記第２のステップは、前記磁気抵抗メモリに格納された、暗号化された更新プログラムを復号して、前記第２の通信バスを介して前記第２の情報処理装置に出力するステップである、
請求項８又は９に記載の情報処理システムのプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに通信可能な複数の情報処理装置を含む情報処理システムに関し、特に、外部から情報処理装置の実行プログラムが更新されることが想定される情報処理システムに関する。
【背景技術】
【０００２】
従来、例えば車両に搭載される制御システム等、複数の情報処理装置が互いに通信を行って種々の情報処理を行う情報処理システムが実用化されている。このような情報処理システムでは、外部から与えられる更新プログラムを情報処理装置にインストールする手段が講じられていることが望ましい。
【０００３】
特許文献１には、プログラム記憶手段として磁気抵抗メモリ（ＭＲＡＭ、特許文献１では「薄膜磁性体メモリ」と記載されている）を有し、外部からプログラムをロードする際の転送時間を短縮した演算処理装置について記載されている。
【０００４】
磁気抵抗メモリは、磁化が固定された強磁性層と磁化が可変な強磁性層の間を薄い絶縁層で仕切った構造となっており、磁化が可変な強磁性層の磁化方向を変化させて抵抗値を切り替えることによって、２値信号を表現している。この抵抗値は２つの磁性層の磁気方向が異なる場合に高くなり、磁気方向が一致する場合に低くなる。磁気抵抗メモリは、不揮発性メモリでありながら高速転送や高集積化が可能であるという利点を有している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１０９００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来特許文献１に記載の演算処理装置を、複数の情報処理装置を有する情報処理システムに適用すると、以下のような問題が生じうる。
【０００７】
磁気抵抗メモリは、上記のような利点を有しているが、従来の不揮発性メモリに比してコスト面や情報記憶の信頼性において劣るのが現状である。従って、情報処理システムにおいて、コストの増大や信頼性の低下を招く場合がある。
【０００８】
また、高速転送を行うためには、比較的高価な高速バスを備える必要がある。従って、磁気抵抗メモリを有する複数の情報処理装置の実行プログラムを高速に更新しようとすると、これらの情報処理装置の全てを高速バスに接続させる必要が生じる。これでは、更にコストの増大を招いてしまう。
【０００９】
本発明はこのような課題を解決するためのものであり、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことが可能な情報処理システムを提供することを、主たる目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための本発明の第１の態様は、
プログラム記憶領域として磁気抵抗メモリ（ＭＲＡＭ）を有し、第１の通信速度で通信可能な第１の通信バスに接続された第１の情報処理装置と、
プログラム記憶領域として不揮発性メモリを有し、前記第１の通信速度に比して低い第２の通信速度で通信可能な第２の通信バスを介して前記第１の情報処理装置に接続された一以上の第２の情報処理装置と、を備え、
前記第２の情報処理装置の実行プログラムが更新される際に、
先ず外部から前記第１の通信バスを介して入力された更新プログラムを前記第１の情報処理装置が有する磁気抵抗メモリに格納し、該磁気抵抗メモリに格納された更新プログラムを前記第２の通信バスを介して前記第２の情報処理装置に出力することを特徴とする、
情報処理システムである。
【００１１】
この本発明の第１の態様によれば、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことができる。
【００１２】
本発明の第１の態様において、
前記不揮発性メモリは、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）であることが望ましい。
【００１３】
また、本発明の第１の態様において、
前記第１の情報処理装置は、外部から入力された圧縮データを伸長するデータ伸長手段を備えることが望ましい。
【００１４】
また、本発明の第１の態様において、
前記第１の情報処理装置は、外部から入力された暗号化データを復号するデータ復号手段を備えることが望ましい。
【００１５】
また、本発明の第１の態様は、
車両に搭載され、前記第１の情報処理装置及び前記一以上の第２の情報処理装置は、車載機器の制御のための情報処理を行うものとすると、好適である。
【００１６】
本発明の第２の態様は、
車両に搭載された本発明の第１の態様の情報処理システムと、
前記第２の情報処理装置の実行プログラムを含むデータを前記第１の通信バスを介して前記第１の情報処理装置に出力する書き込み装置と、
を備える車両制御用プログラム管理システムである。
【００１７】
本発明の第２の態様において、前記書き込み装置は、例えば車外設備に設置される。
【００１８】
本発明の第３の態様は、
プログラム記憶領域として磁気抵抗メモリ（ＭＲＡＭ）を有し、第１の通信速度で通信可能な第１の通信バスに接続された第１の情報処理装置と、プログラム記憶領域として不揮発性メモリを有し、前記第１の通信速度に比して低い第２の通信速度で通信可能な第２の通信バスを介して前記第１の情報処理装置に接続された一以上の第２の情報処理装置と、を備える情報処理システムのプログラム更新方法であって、
前記第２の情報処理装置の実行プログラムが更新される際に、
外部から前記第１の通信バスを介して入力された更新プログラムを前記第１の情報処理装置が有する磁気抵抗メモリに格納する第１のステップと、
該磁気抵抗メモリに格納された更新プログラムを前記第２の通信バスを介して前記第２の情報処理装置に出力する第２のステップと、
前記第２の情報処理装置に出力された更新プログラムを前記不揮発性メモリに格納する第３のステップと、
を実行することを特徴とする、情報処理システムのプログラム更新方法である。
【００１９】
この本発明の第３の態様によれば、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことができる。
【００２０】
本発明の第３の態様において、
前記第２の情報処理装置は、圧縮データを伸長するデータ伸長手段を有し、
前記第１のステップにおいて、外部から前記第１の通信バスを介して圧縮データが入力され、
前記第２のステップは、前記磁気抵抗メモリに格納された、圧縮された更新プログラムを伸長して、前記第２の通信バスを介して前記第２の情報処理装置に出力するステップであることが望ましい。
【００２１】
本発明の第３の態様において、
前記第２の情報処理装置は、暗号化データを復号するデータ復号手段を有し、
前記第１のステップにおいて、外部から前記第１の通信バスを介して暗号化データが入力され、
前記第２のステップは、前記磁気抵抗メモリに格納された、暗号化された更新プログラムを復号して、前記第２の通信バスを介して前記第２の情報処理装置に出力するステップであることが望ましい。
【発明の効果】
【００２２】
本発明によれば、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことが可能な情報処理システムを提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１実施例に係る情報処理システム１のシステム構成例である。
【図２】第１実施例の情報処理システム１が、各情報処理装置の実行プログラムを更新する際に実行する処理の流れを示すフローチャートである。
【図３】第１実施例において、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが実行する処理の流れを示すフローチャートである。
【図４】第１実施例において、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎｋnが実行する処理の流れを示すフローチャートである。
【図５】各情報処理装置の実行プログラムを更新する際に、第１実施例に係る情報処理装置＃１が有するＭＲＡＭ１６に記憶されるデータの推移を示す図である。
【図６】第１実施例における各構成要素の処理の変化を示すタイミングチャートである。
【図７】本発明の第２実施例に係る情報処理システム２のシステム構成例である。
【図８】第２実施例の情報処理システム２が、各情報処理装置の実行プログラムを更新する際に実行する処理の流れを示すフローチャートである。
【図９】第２実施例において、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが実行する処理の流れを示すフローチャートである。
【図１０】第２実施例において、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎｋnが実行する処理の流れを示すフローチャートである。
【図１１】各情報処理装置の実行プログラムを更新する際に、第２実施例に係る情報処理装置＃１が有するＭＲＡＭ１６に記憶されるデータの推移を示す図である。
【図１２】第２実施例における各構成要素の処理の変化を示すタイミングチャートである。
【図１３】本発明の第３実施例に係る情報処理システム３のシステム構成例である。
【図１４】第３実施例の情報処理システム３が、各情報処理装置の実行プログラムを更新する際に実行する処理の流れを示すフローチャートである。
【図１５】第３実施例において、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが実行する処理の流れを示すフローチャートである。
【図１６】第３実施例において、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎｋnが実行する処理の流れを示すフローチャートである。
【図１７】各情報処理装置の実行プログラムを更新する際に、第３実施例に係る情報処理装置＃１が有するＭＲＡＭ１６に記憶されるデータの推移を示す図である。
【図１８】第３実施例における各構成要素の処理の変化を示すタイミングチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２５】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係る情報処理システム１について説明する。情報処理システム１は、互いに通信可能な複数の情報処理装置を有するシステムである。また、情報処理システム１は、車両に搭載され、種々の車載機器制御を行う車載制御システム等に好適に適用される。
【００２６】
［構成］
図１は、本発明の第１実施例に係る情報処理システム１のシステム構成例である。情報処理システム１は、主要な構成として、情報処理装置＃ｎと（ｎ＝１〜９）、これらに接続された情報処理装置＃ｎｋnと（ｋn＝１〜２）、を備える。なお、これらの情報処理装置の個数及び接続関係についてはあくまで一例であり、本発明の適用上、特段の制限はない。例えばｋnは１〜２であるものとするが、１であってもよいし、３以上であってもよい。また、ｎが９であることも単なる一例である。
【００２７】
情報処理装置＃１〜＃９は、それぞれ、ＣＰＵ１０と、高速通信装置１２と、通信装置１４と、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）１６と、を有するＭＣＵ（Micro  Control  Unit）として構成される。なお、ここではいずれの情報処理装置であるかを示す符号（＃ｎ）は省略している。
【００２８】
また、情報処理装置＃１ｋ1〜＃９ｋ9は、それぞれＣＰＵ３０と、通信装置３２と、ＳＲＡＭ（Static  Random  Access  Memory）３４と、フラッシュメモリ３６と、を有するＭＣＵとして構成される。なお、ここではいずれの情報処理装置であるかを示す符号（＃ｎｋn）は省略している。
【００２９】
情報処理装置＃１と、情報処理装置＃１１及び＃１２は、ローカル通信バスＹ１によって接続されており、ＦｌｅｘＲａｙ等の通信プロトコルを用いて通信可能となっている。
【００３０】
同様に、情報処理装置＃２と、情報処理装置＃２１及び＃２２は、ローカル通信バスＹ２によって接続されており、情報処理装置＃９と、情報処理装置＃９１及び＃９２は、ローカル通信バスＹ９によって接続されており、ＦｌｅｘＲａｙ等の通信プロトコルを用いて通信可能となっている。
【００３１】
なお、図示していないが、情報処理装置＃１に接続される情報処理装置＃１１と情報処理装置＃１２、情報処理装置＃２に接続される情報処理装置＃２１と情報処理装置＃２２、情報処理装置＃９に接続される情報処理装置＃９１と情報処理装置＃９２、が互いに通信可能であってもよい。その他、図示していない如何なる通信接続の追加も許容される。
【００３２】
また、情報処理装置＃１、情報処理装置＃２、…情報処理装置＃９は、外部通信バスＸによって書き込み装置９０と接続される。外部通信バスＸは、ローカル通信バスＹ１〜Ｙ９に比して高速に通信可能となっている。例えば、外部通信バスＸは２０［Ｍｂｐｓ］で通信可能であり、ローカル通信バスＹｎは１０［Ｍｂｐｓ］で通信可能である。
【００３３】
情報処理システム１が車載制御システムである場合、各情報処理装置は、車載機器の制御のための情報処理を行う。例えば、情報処理装置＃１がエンジン制御を行うための上位の情報処理（例えば目標回転数の演算等）を行い、情報処理装置＃１１がエンジンの点火時期制御のための情報処理を行い、情報処理装置＃１２は変速機制御のための情報処理を行う、等の態様で用いられる。
【００３４】
書き込み装置９０は、情報処理システム１が車載制御システムである場合、例えばディーラー店や修理店に設置されるコンピュータ装置である。この場合、自動車メーカーから制御システムの更新案内が手紙やＥメール等でユーザーに届けられ、ユーザーがディーラー店等まで車両を運転し、そこで書き込み装置９０が外部通信線Ｘに接続されて制御システムの更新サービスが行われる。
【００３５】
また、これに限らず、書き込み装置９０は、無線インターネット装置を含むものであってもよい。この場合、書き込み装置９０は、車両に搭載され、常時外部通信線Ｘに接続されている。そして、自動車メーカーが運営する情報サーバからインターネット及び無線通信網を介して書き込み装置９０に更新プログラムが提供される。書き込み装置９０は、更新プログラムを受信すると、受信した更新プログラムに基づいて自動的にプログラムの更新を行う。
【００３６】
なお、情報処理システム１と、書き込み装置９０を併せたものが、特許請求の範囲における車両制御用プログラム管理システムに相当する。
【００３７】
［処理の流れ］
以下、書き込み装置９０によって各情報処理装置の実行プログラム（以下、必要に応じて、図面等においてアプリケーション・プログラム、アプリ等と表記する）が更新される際の処理の流れについて説明する。
【００３８】
（全体の処理）
図２は、本実施例の情報処理システム１が、各情報処理装置の実行プログラムを更新する際に実行する処理の流れを示すフローチャートである。本フローは、情報処理システム１と書き込み装置９０の協働によって実行される。
【００３９】
まず、変数ｎの初期値を１とする（Ｓ１００）。
【００４０】
そして、情報処理装置＃ｎを介して情報処理装置＃ｎ１の実行プログラムを書き換え（Ｓ１０２）、変数ｎを１増加させる（Ｓ１０４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ１０６）。
【００４１】
次に、変数ｎの初期値を再度１とする（Ｓ１１０）。
【００４２】
そして、情報処理装置＃ｎを介して情報処理装置＃ｎ２の実行プログラムを書き換え（Ｓ１１２）、変数ｎを１増加させる（Ｓ１１４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ１１６）。
【００４３】
次に、変数ｎの初期値を再度１とする（Ｓ１２０）。
【００４４】
そして、情報処理装置＃ｎの実行プログラムを書き換え（Ｓ１２２）、変数ｎを１増加させる（Ｓ１２４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ１２６）。
【００４５】
係るフローにおいて、変数ｎは、例えば書き込み装置９０内部のレジスタ等において設定される。そして、「情報処理装置＃ｎを介して情報処理装置＃ｎ１の実行プログラムを書き換える」という処理は、例えば、書き込み装置９０が情報処理装置＃ｎのアドレスを指定して、情報処理装置＃ｎ１の実行プログラムであるラベルを付したデータを外部通信バスＸに出力することによって実現される。
【００４６】
（情報処理装置＃ｎの処理）
図３は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが実行する処理の流れを示すフローチャートである。
【００４７】
まず、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ１用のブートプログラム及び更新プログラムを受信する（Ｓ２００）。
【００４８】
次に、受信した情報処理装置＃ｎ１用のブートプログラム及び更新プログラムをＭＲＡＭ１６に書き込む（Ｓ２０２）。
【００４９】
そして、ＭＲＡＭ１６に書き込まれた情報処理装置＃ｎ１用の更新プログラムを、通信装置１４を用いて（ローカル通信バスＹｎを介して）、情報処理装置＃ｎ１に送信する（Ｓ２０４）。
【００５０】
更に、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ２用のブートプログラム及び更新プログラムを受信する（Ｓ２１０）。係る処理に先立って、情報処理装置＃ｎ１用の更新プログラムの処理を終了したことを示す通知を書き込み装置９０に送信してもよい。
【００５１】
次に、受信した情報処理装置＃ｎ２用のブートプログラム及び更新プログラムをＭＲＡＭ１６に書き込む（Ｓ２１２）。
【００５２】
そして、ＭＲＡＭ１６に書き込まれた情報処理装置＃ｎ２用の更新プログラムを、通信装置１４を用いて（ローカル通信バスＹｎを介して）、情報処理装置＃ｎ２に送信する（Ｓ２１４）。
【００５３】
更に、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ用の更新プログラムを受信し（Ｓ２２０）、ＭＲＡＭ１６に書き込む（Ｓ２２２）。
【００５４】
（情報処理装置＃ｎｋnの処理）
図４は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎｋnが実行する処理の流れを示すフローチャートである。
【００５５】
まず、情報処理装置＃ｎｋnは、情報処理装置＃ｎから更新プログラムを受信する（Ｓ３００）。受信した更新プログラムは、ＳＲＡＭ３４に書き込まれる（Ｓ３０２）。
【００５６】
次に、ＳＲＡＭ３４に書き込んだ更新プログラムをフラッシュメモリ３６に書き込み（Ｓ３０４）、読み出しデータとの比較を行う（Ｓ３０６；ベリファイ処理）。読み出しデータと書き込みデータが一致しなければ、再度Ｓ３０４以下の処理を実行する（Ｓ３０８）。
【００５７】
そして、全データを書き込み完了した後に、本フローを終了する（Ｓ３１０）。
【００５８】
（ＭＲＡＭ１６の記憶データ推移）
図５は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが有するＭＲＡＭ１６に記憶されるデータの推移を示す図である。図示するように、実行プログラム更新前の状態（１）において、ＭＲＡＭ１６には情報処理装置＃ｎの旧実行プログラム（アプリケーション）及び情報処理装置＃ｎのブートプログラムが記憶されている。情報処理装置＃ｎは、これらのデータを読み出して種々の情報処理を行っている。
【００５９】
実行プログラムの更新が開始された後の状態（２）において、ＭＲＡＭ１６には情報処理装置＃ｎ１の実行プログラム（アプリケーション）及びブートプログラムと、情報処理装置＃ｎのブートプログラムが記憶されている。
【００６０】
更に、実行プログラムの更新が開始された後の状態（３）において、ＭＲＡＭ１６には情報処理装置＃ｎ２の実行プログラム（アプリケーション）及びブートプログラムと、情報処理装置＃ｎのブートプログラムが記憶されている。
【００６１】
そして、実行プログラムの更新が終了した後の状態（４）において、ＭＲＡＭ１６には情報処理装置＃ｎの新たな実行プログラム（アプリケーション）及び情報処理装置＃ｎのブートプログラムが記憶されている。情報処理装置＃ｎは、これらのデータを読み出して種々の情報処理を行う。
【００６２】
（タイミングチャート）
図６は、各情報処理装置の実行プログラムを更新する際における、外部通信バスＸによって伝送されるデータ、情報処理装置＃１のＣＰＵ１０が実行する処理、ローカル通信バスＹ１によって伝送されるデータ、情報処理装置＃１１のＣＰＵ１０が実行する処理、及び情報処理装置＃１２のＣＰＵ１０が実行する処理の変化を示すタイミングチャートである。
【００６３】
図示するように、情報処理装置＃１のＣＰＵ１０は、外部通信バスＸを介して情報処理装置＃１１のブートプログラムが入力されると、これをＭＲＡＭ１６に書き込み、実行する。
【００６４】
情報処理装置＃１１のブートプログラムが実行されると、外部通信バスＸを介してＭＲＡＭ１６に書き込まれた情報処理装置＃１１の実行プログラムが、ローカル通信バスＹ１に出力される。なお、ＭＲＡＭ１６の入力バスと出力バスを別系統にし、実行プログラムがブロック単位で区分されていれば、書き込みと読み出しを並行して行うことが可能となる。
【００６５】
情報処理装置＃１１のＣＰＵ１０は、ローカル通信バスＹ１を介して入力された実行プログラムによってフラッシュメモリ３６を更新し、更新が終了するとローカル通信バスＹ１に完了通知を出力する。完了通知を受信した情報処理装置＃１のＣＰＵ１０は、情報処理装置＃１１の実行プログラムに関する更新完了通知を外部通信バスＸに出力する。
【００６６】
外部通信バスＸを介して情報処理装置＃１１の実行プログラムに関する更新完了通知を受信した書き込み装置９０は、情報処理装置＃１２のブートプログラムを外部通信バスＸに出力する。以下、情報処理装置＃１１に関する更新処理と同様の処理が実行される。
【００６７】
そして、情報処理装置＃１２に関する更新処理が終了すると、書き込み装置９０は、情報処理装置＃１の実行プログラムを外部通信バスＸに出力する。情報処理装置＃１のＣＰＵ１０は、入力された実行プログラムによってＭＲＡＭ１６を更新し、完了通知を外部通信バスＸに出力する。
【００６８】
なお、書き込み装置９０から外部通信バスＸを介して情報処理装置＃１１の実行プログラムが情報処理装置＃１に入力された後、情報処理装置＃１２のブートプログラムが情報処理装置＃１に入力されるまでの間に、情報処理装置＃２１や情報処理装置＃３１の実行プログラムを情報処理装置＃２や情報処理装置＃３に伝送してもよい。
【００６９】
以上説明した本実施例の情報処理システム１によれば、情報処理装置＃ｎｋnの実行プログラムを更新する際に、ＭＲＡＭ１６をバッファとして用いているため、書き込み装置９０からの情報転送を高速に行うことができる。また、情報処理装置＃ｎｋnにおいてはプログラムメモリとしてフラッシュメモリを採用しているため、コストの増大や信頼性の低下を抑制することができる。
【００７０】
従って、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことができる。
【００７１】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係る情報処理システム２について説明する。情報処理システム２は、互いに通信可能な複数の情報処理装置を有するシステムである。また、情報処理システム２は、車両に搭載され、種々の車載機器制御を行う車載制御システム等に好適に適用される。
【００７２】
［構成］
図７は、本発明の第２実施例に係る情報処理システム２のシステム構成例である。情報処理システム２は、主要な構成として、情報処理装置＃ｎと（ｎ＝１〜９）、これらに接続された情報処理装置＃ｎｋnと（ｋn＝１〜２）、を備える。なお、これらの情報処理装置の個数及び接続関係についてはあくまで一例であり、本発明の適用上、特段の制限はない。例えばｋnは１〜２であるものとするが、１であってもよいし、３以上であってもよい。また、ｎが９であることも単なる一例である。
【００７３】
情報処理装置＃１〜＃９は、それぞれ、ＣＰＵ１０と、高速通信装置１２と、通信装置１４と、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）１６と、書き込み装置９０から入力された圧縮データを伸長するデータ伸長部１８（ＣＰＵ１０の一機能であってもよい）と、を有するＭＣＵ（Micro  Control  Unit）として構成される。なお、ここではいずれの情報処理装置であるかを示す符号（＃ｎ）は省略している。
【００７４】
また、情報処理装置＃１ｋ1〜＃９ｋ9は、それぞれＣＰＵ３０と、通信装置３２と、ＳＲＡＭ（Static  Random  Access  Memory）３４と、フラッシュメモリ３６と、を有するＭＣＵとして構成される。なお、ここではいずれの情報処理装置であるかを示す符号（＃ｎｋn）は省略している。
【００７５】
各情報処理装置の接続関係や処理内容については第１実施例と同様であるため、説明を省略する。
【００７６】
書き込み装置９０は、第１実施例で説明した構成に加え、送信データを圧縮するデータ圧縮部９２を備える。そして、圧縮化された更新プログラム等を情報処理システム２に送信する。
【００７７】
書き込み装置９０は、情報処理システム２が車載制御システムである場合、例えばディーラー店や修理店に設置されるコンピュータ装置である。また、これに限らず、書き込み装置９０は、無線インターネット装置を含むものであってもよい。
【００７８】
なお、情報処理システム２と、書き込み装置９０を併せたものが、特許請求の範囲における車両制御用プログラム管理システムに相当する。
【００７９】
［処理の流れ］
以下、書き込み装置９０によって各情報処理装置の実行プログラム（以下、必要に応じて、図面等においてアプリケーション・プログラム、アプリ等と表記する）が更新される際の処理の流れについて説明する。
【００８０】
（全体の処理）
図８は、本実施例の情報処理システム２が、各情報処理装置の実行プログラムを更新する際に実行する処理の流れを示すフローチャートである。本フローは、情報処理システム２と書き込み装置９０の協働によって実行される。
【００８１】
まず、書き込み装置９０は、送信するデータが圧縮データでない場合、データを圧縮する処理を行う（Ｓ４００、Ｓ４０２）。
【００８２】
次に、変数ｎの初期値を１とする（Ｓ４１０）。
【００８３】
そして、情報処理装置＃ｎを介して情報処理装置＃ｎ１の実行プログラムを書き換え（Ｓ４１２）、変数ｎを１増加させる（Ｓ４１４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ４１６）。
【００８４】
次に、変数ｎの初期値を再度１とする（Ｓ４２０）。
【００８５】
そして、情報処理装置＃ｎを介して情報処理装置＃ｎ２の実行プログラムを書き換え（Ｓ４２２）、変数ｎを１増加させる（Ｓ４２４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ４２６）。
【００８６】
次に、変数ｎの初期値を再度１とする（Ｓ４３０）。
【００８７】
そして、情報処理装置＃ｎの実行プログラムを書き換え（Ｓ４３２）、変数ｎを１増加させる（Ｓ４３４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ４３６）。
【００８８】
係るフローにおいて、変数ｎは、例えば書き込み装置９０内部のレジスタ等において設定される。そして、「情報処理装置＃ｎを介して情報処理装置＃ｎ１の実行プログラムを書き換える」という処理は、例えば、書き込み装置９０が情報処理装置＃ｎのアドレスを指定して、情報処理装置＃ｎ１の実行プログラムであるラベルを付したデータを外部通信バスＸに出力することによって実現される。
【００８９】
（情報処理装置＃ｎの処理）
図９は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが実行する処理の流れを示すフローチャートである。
【００９０】
まず、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ１用のブートプログラム及び更新プログラムを受信する（Ｓ５００）。
【００９１】
次に、受信した情報処理装置＃ｎ１用のブートプログラム及び更新プログラムをＭＲＡＭ１６に書き込む（Ｓ５０２）。
【００９２】
更に、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ２用のブートプログラム及び更新プログラムを受信する（Ｓ５０４）。
【００９３】
次に、受信した情報処理装置＃ｎ２用のブートプログラム及び更新プログラムをＭＲＡＭ１６に書き込む（Ｓ５０６）。
【００９４】
そして、ＭＲＡＭ１６に書き込まれた情報処理装置＃ｎ１用の更新プログラムを伸長しながら、通信装置１４を用いて（ローカル通信バスＹｎを介して）、情報処理装置＃ｎ１に送信する（Ｓ５１０）。
【００９５】
ここで、更新プログラムは、圧縮データとしてＭＲＡＭ１６に保管されているが、ブロック毎に伸長され、バッファレジスタに一時的に格納されてからローカル通信バスＹｎに出力される。情報処理装置＃ｎのデータ伸長部１８は、バッファレジスタからローカル通信バスＹｎにブロック単位の更新プログラムが出力されたのを確認してから、次のブロックの更新プログラムを伸長してバッファレジスタに格納する。
【００９６】
なお、これに限らず、Ｓ５０２及びＳ５０６において更新プログラムをＭＲＡＭ１６に保管する前にデータ伸長を行い、伸長された状態で更新プログラムをＭＲＡＭ１６に保管するものとしてもよい。この場合、Ｓ５１０の処理や後述のＳ５１２の処理は、伸長しながら送信するのではなく、単に送信するものとなる。
【００９７】
次に、ＭＲＡＭ１６に書き込まれた情報処理装置＃ｎ２用の更新プログラムを伸長しながら、通信装置１４を用いて（ローカル通信バスＹｎを介して）、情報処理装置＃ｎ２に送信する（Ｓ５１２）。
【００９８】
なお、Ｓ５００〜Ｓ５１２の処理は、後に図１２で説明するように、ブロック単位で順序を入れ替えながら実行されてもよい。
【００９９】
更に、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ用の更新プログラムを受信し（Ｓ５２０）、ＭＲＡＭ１６に書き込む（Ｓ５２２）。
【０１００】
（情報処理装置＃ｎｋnの処理）
図１０は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎｋnが実行する処理の流れを示すフローチャートである。
【０１０１】
まず、情報処理装置＃ｎｋnは、情報処理装置＃ｎから更新プログラムを受信する（Ｓ６００）。受信した更新プログラムは、ＳＲＡＭ３４に書き込まれる（Ｓ６０２）。
【０１０２】
次に、ＳＲＡＭ３４に書き込んだ更新プログラムをフラッシュメモリ３６に書き込み（Ｓ６０４）、読み出しデータとの比較を行う（Ｓ６０６；ベリファイ処理）。読み出しデータと書き込みデータが一致しなければ、再度Ｓ６０４以下の処理を実行する（Ｓ６０８）。
【０１０３】
そして、全データを書き込み完了した後に、本フローを終了する（Ｓ６１０）。
【０１０４】
（ＭＲＡＭ１６の記憶データ推移）
図１１は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃１が有するＭＲＡＭ１６に記憶されるデータの推移を示す図である。図示するように、実行プログラム更新前の状態（１）において、ＭＲＡＭ１６には情報処理装置＃１の旧実行プログラム（アプリケーション）及び情報処理装置＃１のブートプログラムが記憶されている。情報処理装置＃１は、これらのデータを読み出して種々の情報処理を行っている。
【０１０５】
実行プログラムの更新が開始された後の状態（２）において、ＭＲＡＭ１６には情報処理装置＃１１の実行プログラム（アプリケーション）及びブートプログラムと、情報処理装置＃１２の実行プログラム（アプリケーション）及びブートプログラムと、情報処理装置＃１のブートプログラムが記憶されている。
【０１０６】
そして、実行プログラムの更新が終了した後の状態（３）において、ＭＲＡＭ１６には情報処理装置＃１の新たな実行プログラム（アプリケーション）及び情報処理装置＃１のブートプログラムが記憶されている。情報処理装置＃１は、これらのデータを読み出して種々の情報処理を行う。
【０１０７】
このように、第２実施例の情報処理システム２では、書き込み装置９０から圧縮データを受信するため、複数の情報処理装置のための実行プログラム及びブートプログラムをＭＲＡＭ１６に格納しうる。このため、書き込み装置９０との通信時間の低減を図ることができる。
【０１０８】
（タイミングチャート）
図１２は、各情報処理装置の実行プログラムを更新する際における、外部通信バスＸによって伝送されるデータ、情報処理装置＃１のＣＰＵ１０が実行する処理、ローカル通信バスＹ１によって伝送されるデータ、情報処理装置＃１１のＣＰＵ１０が実行する処理、及び情報処理装置＃１２のＣＰＵ１０が実行する処理の変化を示すタイミングチャートである。
【０１０９】
図示するように、情報処理装置＃１のＣＰＵ１０及びデータ伸長部１８は、外部通信バスＸを介して情報処理装置＃１１及び１２のブートプログラムが入力されると、これをＭＲＡＭ１６に書き込む。そして、情報処理装置＃１１及び１２のブートプログラムを実行する。
【０１１０】
情報処理装置＃１１及び１２のブートプログラムが実行されると、外部通信バスＸを介してＭＲＡＭ１６に書き込まれた情報処理装置＃１１及び１２の実行プログラムが、ブロック単位で伸長されて、ローカル通信バスＹ１に出力される。ここで、ＭＲＡＭ１６の入力バスと出力バスを別系統にし、実行プログラムがブロック単位で区分されていれば、書き込みと読み出しを並行して行うことが可能となる。
【０１１１】
なお、前述のように、更新プログラムをＭＲＡＭ１６に保管する前にデータ伸長を行い、伸長された状態で更新プログラムをＭＲＡＭ１６に保管する場合、ＭＲＡＭ１６に書き込まれた更新プログラムは、伸長する手順を行うことなくローカル通信バスＹ１に出力される。
【０１１２】
情報処理装置＃１１のＣＰＵ１０は、ローカル通信バスＹ１を介して入力された実行プログラムによってフラッシュメモリ３６を更新し、更新が終了するとローカル通信バスＹ１に完了通知を出力する。完了通知を受信した情報処理装置＃１のＣＰＵ１０は、情報処理装置＃１１の実行プログラムに関する更新完了通知を外部通信バスＸに出力する。
【０１１３】
情報処理装置＃１２のＣＰＵ１０は、ローカル通信バスＹ１を介して入力された実行プログラムによってフラッシュメモリ３６を更新し、更新が終了するとローカル通信バスＹ１に完了通知を出力する。完了通知を受信した情報処理装置＃１のＣＰＵ１０は、情報処理装置＃１２の実行プログラムに関する更新完了通知を外部通信バスＸに出力する。
【０１１４】
外部通信バスＸを介して情報処理装置＃１１及び１２の実行プログラムに関する更新完了通知を受信した書き込み装置９０は、情報処理装置＃１の実行プログラムを外部通信バスＸに出力する。情報処理装置＃１のＣＰＵ１０は、入力された実行プログラムによってＭＲＡＭ１６を更新し、完了通知を外部通信バスＸに出力する。
【０１１５】
なお、書き込み装置９０から外部通信バスＸを介して情報処理装置＃１１の実行プログラムが情報処理装置＃１に入力された後、情報処理装置＃１２のブートプログラムが情報処理装置＃１に入力されるまでの間に、情報処理装置＃２１や情報処理装置＃３１の実行プログラムを情報処理装置＃２や情報処理装置＃３に伝送してもよい。
【０１１６】
以上説明した本実施例の情報処理システム２によれば、第１実施例と同様、情報処理装置＃ｎｋnの実行プログラムを更新する際に、ＭＲＡＭ１６をバッファとして用いているため、書き込み装置９０からの情報転送を高速に行うことができる。また、情報処理装置＃ｎｋnにおいてはプログラムメモリとしてフラッシュメモリを採用しているため、コストの増大や信頼性の低下を抑制することができる。
【０１１７】
従って、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことができる。
【０１１８】
また、第１実施例に比して、圧縮データを受信するため、書き込み装置９０との通信時間の低減を図ることができる。
【０１１９】
＜第３実施例＞
以下、図面を参照し、本発明の第３実施例に係る情報処理システム３について説明する。情報処理システム３は、互いに通信可能な複数の情報処理装置を有するシステムである。また、情報処理システム３は、車両に搭載され、種々の車載機器制御を行う車載制御システム等に好適に適用される。
【０１２０】
［構成］
図１３は、本発明の第３実施例に係る情報処理システム３のシステム構成例である。情報処理システム３は、主要な構成として、情報処理装置＃ｎと（ｎ＝１〜９）、これらに接続された情報処理装置＃ｎｋnと（ｋn＝１〜２）、を備える。なお、これらの情報処理装置の個数及び接続関係についてはあくまで一例であり、本発明の適用上、特段の制限はない。例えばｋnは１〜２であるものとするが、１であってもよいし、３以上であってもよい。また、ｎが９であることも単なる一例である。
【０１２１】
情報処理装置＃１〜＃９は、それぞれ、ＣＰＵ１０と、高速通信装置１２と、通信装置１４と、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）１６と、書き込み装置９０から入力された圧縮データを伸長するデータ伸長部１８及び暗号化データを復号するデータ復号部２０（これらはＣＰＵ１０の一機能であってもよい）と、を有するＭＣＵ（Micro  Control  Unit）として構成される。なお、ここではいずれの情報処理装置であるかを示す符号（＃ｎ）は省略している。
【０１２２】
また、情報処理装置＃１ｋ1〜＃９ｋ9は、それぞれＣＰＵ３０と、通信装置３２と、ＳＲＡＭ（Static  Random  Access  Memory）３４と、フラッシュメモリ３６と、を有するＭＣＵとして構成される。なお、ここではいずれの情報処理装置であるかを示す符号（＃ｎｋn）は省略している。
【０１２３】
各情報処理装置の接続関係や処理内容については第１実施例及び第２実施例と同様であるため、説明を省略する。
【０１２４】
書き込み装置９０は、第２実施例で説明した構成に加え、送信データを暗号化するデータ暗号化部９４を備える。そして、圧縮及び暗号化された更新プログラム等を情報処理システム３に送信する。
【０１２５】
書き込み装置９０は、情報処理システム３が車載制御システムである場合、例えばディーラー店や修理店に設置されるコンピュータ装置である。また、これに限らず、書き込み装置９０は、無線インターネット装置を含むものであってもよい。
【０１２６】
なお、情報処理システム３と、書き込み装置９０を併せたものが、特許請求の範囲における車両制御用プログラム管理システムに相当する。
【０１２７】
［処理の流れ］
以下、書き込み装置９０によって各情報処理装置の実行プログラム（以下、必要に応じて、図面等においてアプリケーション・プログラム、アプリ等と表記する）が更新される際の処理の流れについて説明する。
【０１２８】
（全体の処理）
図１４は、本実施例の情報処理システム３が、各情報処理装置の実行プログラムを更新する際に実行する処理の流れを示すフローチャートである。本フローは、情報処理システム３と書き込み装置９０の協働によって実行される。
【０１２９】
まず、書き込み装置９０は、送信するデータが圧縮データでない場合、データを圧縮する処理を行う（Ｓ７００、Ｓ７０２）。
【０１３０】
また、送信するデータが暗号化されていない場合、データを暗号化する処理を行う（Ｓ７０４、Ｓ７０６）。
【０１３１】
次に、変数ｎの初期値を１とする（Ｓ７１０）。
【０１３２】
そして、情報処理装置＃ｎを介して情報処理装置＃ｎ１の実行プログラムを書き換え（Ｓ７１２）、変数ｎを１増加させる（Ｓ７１４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ７１６）。
【０１３３】
次に、変数ｎの初期値を再度１とする（Ｓ７１８）。
【０１３４】
そして、情報処理装置＃ｎを介して情報処理装置＃ｎ２の実行プログラムを書き換え（Ｓ７２０）、変数ｎを１増加させる（Ｓ７２２）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ７２４）。
【０１３５】
次に、変数ｎの初期値を再度１とする（Ｓ７３０）。
【０１３６】
そして、情報処理装置＃ｎの実行プログラムを書き換え（Ｓ７３２）、変数ｎを１増加させる（Ｓ７３４）。そして、変数ｎが９を超えたらこれらの処理を終了する（Ｓ７３６）。
【０１３７】
係るフローにおいて、変数ｎは、例えば書き込み装置９０内部のレジスタ等において設定される。そして、「情報処理装置＃ｎを介して情報処理装置＃ｎ１の実行プログラムを書き換える」という処理は、例えば、書き込み装置９０が情報処理装置＃ｎのアドレスを指定して、情報処理装置＃ｎ１の実行プログラムであるラベルを付したデータを外部通信バスＸに出力することによって実現される。
【０１３８】
（情報処理装置＃ｎの処理）
図１５は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎが実行する処理の流れを示すフローチャートである。
【０１３９】
まず、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ１用のブートプログラム及び更新プログラムを受信する（Ｓ８００）。
【０１４０】
次に、受信した情報処理装置＃ｎ１用のブートプログラム及び更新プログラムをＭＲＡＭ１６に書き込む（Ｓ８０２）。
【０１４１】
更に、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ２用のブートプログラム及び更新プログラムを受信する（Ｓ８０４）。
【０１４２】
次に、受信した情報処理装置＃ｎ２用のブートプログラム及び更新プログラムをＭＲＡＭ１６に書き込む（Ｓ８０６）。
【０１４３】
そして、ＭＲＡＭ１６に書き込まれた情報処理装置＃ｎ１用の更新プログラムを復号及び伸長しながら（いずれが先でも構わない）、通信装置１４を用いて（ローカル通信バスＹｎを介して）、情報処理装置＃ｎ１に送信する（Ｓ８１０）。
【０１４４】
ここで、更新プログラムはブロック毎に復号及び伸長され、バッファレジスタに一時的に格納されてからローカル通信バスＹｎに出力される。情報処理装置＃ｎのデータ伸長部１８及びデータ復号部２０は、バッファレジスタからローカル通信バスＹｎにブロック単位の更新プログラムが出力されたのを確認してから、次のブロックの更新プログラムを復号及び伸長してバッファレジスタに格納する。
【０１４５】
次に、ＭＲＡＭ１６に書き込まれた情報処理装置＃ｎ２用の更新プログラムを伸長しながら、通信装置１４を用いて（ローカル通信バスＹｎを介して）、情報処理装置＃ｎ２に送信する（Ｓ８１２）。
【０１４６】
なお、Ｓ８００〜Ｓ８１２の処理は、後に図１８で説明するように、ブロック単位で順序を入れ替えながら実行されてもよい。
【０１４７】
更に、情報処理装置＃ｎは、高速通信装置１２を用いて（外部通信バスＸを介して）、情報処理装置＃ｎ用の更新プログラムを受信し（Ｓ８２０）、ＭＲＡＭ１６に書き込む（Ｓ８２２）。
【０１４８】
（情報処理装置＃ｎｋnの処理）
図１６は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃ｎｋnが実行する処理の流れを示すフローチャートである。
【０１４９】
まず、情報処理装置＃ｎｋnは、情報処理装置＃ｎから更新プログラムを受信する（Ｓ９００）。受信した更新プログラムは、ＳＲＡＭ３４に書き込まれる（Ｓ９０２）。
【０１５０】
次に、ＳＲＡＭ３４に書き込んだ更新プログラムをフラッシュメモリ３６に書き込み（Ｓ９０４）、読み出しデータとの比較を行う（Ｓ９０６；ベリファイ処理）。読み出しデータと書き込みデータが一致しなければ、再度Ｓ９０４以下の処理を実行する（Ｓ９０８）。
【０１５１】
そして、全データを書き込み完了した後に、本フローを終了する（Ｓ９１０）。
【０１５２】
（ＭＲＡＭ１６の記憶データ推移）
図１７は、各情報処理装置の実行プログラムを更新する際に、情報処理装置＃１が有するＭＲＡＭ１６に記憶されるデータの推移を示す図である。図示するように、実行プログラム更新前の状態（１）において、ＭＲＡＭ１６には情報処理装置＃１の旧実行プログラム（アプリケーション）及び情報処理装置＃１のブートプログラムが記憶されている。情報処理装置＃１は、これらのデータを読み出して種々の情報処理を行っている。
【０１５３】
実行プログラムの更新が開始された後の状態（２）において、ＭＲＡＭ１６には情報処理装置＃１１の実行プログラム（アプリケーション）及びブートプログラムと、情報処理装置＃１２の実行プログラム（アプリケーション）及びブートプログラムと、情報処理装置＃１のブートプログラムが記憶されている。
【０１５４】
そして、実行プログラムの更新が終了した後の状態（３）において、ＭＲＡＭ１６には情報処理装置＃１の新たな実行プログラム（アプリケーション）及び情報処理装置＃１のブートプログラムが記憶されている。情報処理装置＃１は、これらのデータを読み出して種々の情報処理を行う。
【０１５５】
このように、第３実施例の情報処理システム３では、書き込み装置９０から圧縮されたデータを受信するため、複数の情報処理装置のための実行プログラム及びブートプログラムをＭＲＡＭ１６に格納しうる。このため、書き込み装置９０との通信時間の低減を図ることができる。また、書き込み装置９０から暗号化されたデータを受信するため、書き込み装置９０との通信におけるセキュリティ性を高めることができる。
【０１５６】
（タイミングチャート）
図１８は、各情報処理装置の実行プログラムを更新する際における、外部通信バスＸによって伝送されるデータ、情報処理装置＃１のＣＰＵ１０が実行する処理、ローカル通信バスＹ１によって伝送されるデータ、情報処理装置＃１１のＣＰＵ１０が実行する処理、及び情報処理装置＃１２のＣＰＵ１０が実行する処理の変化を示すタイミングチャートである。
【０１５７】
図示するように、情報処理装置＃１のＣＰＵ１０、データ伸長部１８、及びデータ復号部２０は、外部通信バスＸを介して情報処理装置＃１１及び１２のブートプログラムが入力されると、これを復号及び伸長してＭＲＡＭ１６に書き込む。そして、情報処理装置＃１１及び１２のブートプログラムを実行する。
【０１５８】
情報処理装置＃１１及び１２のブートプログラムが実行されると、外部通信バスＸを介してＭＲＡＭ１６に書き込まれた情報処理装置＃１１及び１２の実行プログラムが、ブロック単位で復号及び伸長されて、ローカル通信バスＹ１に出力される。なお、ＭＲＡＭ１６の入力バスと出力バスを別系統にし、実行プログラムがブロック単位で区分されていれば、書き込みと読み出しを並行して行うことが可能となる。
【０１５９】
情報処理装置＃１１のＣＰＵ１０は、ローカル通信バスＹ１を介して入力された実行プログラムによってフラッシュメモリ３６を更新し、更新が終了するとローカル通信バスＹ１に完了通知を出力する。完了通知を受信した情報処理装置＃１のＣＰＵ１０は、情報処理装置＃１１の実行プログラムに関する更新完了通知を外部通信バスＸに出力する。
【０１６０】
情報処理装置＃１２のＣＰＵ１０は、ローカル通信バスＹ１を介して入力された実行プログラムによってフラッシュメモリ３６を更新し、更新が終了するとローカル通信バスＹ１に完了通知を出力する。完了通知を受信した情報処理装置＃１のＣＰＵ１０は、情報処理装置＃１２の実行プログラムに関する更新完了通知を外部通信バスＸに出力する。
【０１６１】
外部通信バスＸを介して情報処理装置＃１１及び１２の実行プログラムに関する更新完了通知を受信した書き込み装置９０は、情報処理装置＃１の実行プログラムを外部通信バスＸに出力する。情報処理装置＃１のＣＰＵ１０は、入力された実行プログラムによってＭＲＡＭ１６を更新し、完了通知を外部通信バスＸに出力する。
【０１６２】
なお、書き込み装置９０から外部通信バスＸを介して情報処理装置＃１１の実行プログラムが情報処理装置＃１に入力された後、情報処理装置＃１２のブートプログラムが情報処理装置＃１に入力されるまでの間に、情報処理装置＃２１や情報処理装置＃３１の実行プログラムを情報処理装置＃２や情報処理装置＃３に伝送してもよい。
【０１６３】
以上説明した本実施例の情報処理システム３によれば、第１実施例と同様、情報処理装置＃ｎｋnの実行プログラムを更新する際に、ＭＲＡＭ１６をバッファとして用いているため、書き込み装置９０からの情報転送を高速に行うことができる。また、情報処理装置＃ｎｋnにおいてはプログラムメモリとしてフラッシュメモリを採用しているため、コストの増大や信頼性の低下を抑制することができる。
【０１６４】
従って、信頼性の低下とコストの増大を抑制しつつ、複数の情報処理装置の実行プログラムの更新を高速に行うことができる。
【０１６５】
また、第１実施例に比して、圧縮及び暗号化されたデータを受信するため、書き込み装置９０との通信時間の低減を図ることができ、係る通信におけるセキュリティ性を高めることができる。
【０１６６】
なお、第３実施例において、更新プログラムをＭＲＡＭ１６に保管する前にデータ伸長及び復号を行い、伸長及び復号された状態で更新プログラムをＭＲＡＭ１６に保管するものとしてもよい。
【０１６７】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１６８】
例えば、書き込み装置９０から単に暗号化されたデータを受信し、復号のみを行ってＭＲＡＭ１６やフラッシュメモリ３６に格納するものであってもよい。
【符号の説明】
【０１６９】
１、２、３  情報処理システム
１０、３０  ＣＰＵ
１２        高速通信装置
１４、３２  通信装置
１６        ＭＲＡＭ
１８        データ伸長部
２０        データ復号部
３４        ＳＲＡＭ
３６        フラッシュメモリ
９０        書き込み装置
９２        データ圧縮部
９４        データ暗号化部
＃１等      情報処理装置
Ｘ          高速通信バス
Ｙ１〜Ｙ９  ローカル通信バス
【図１】
2011215771.tif 000003
【図２】
2011215771.tif 000004
【図３】
2011215771.tif 000005
【図４】
2011215771.tif 000006
【図５】
2011215771.tif 000007
【図６】
2011215771.tif 000008
【図７】
2011215771.tif 000009
【図８】
2011215771.tif 000010
【図９】
2011215771.tif 000011
【図１０】
2011215771.tif 000012
【図１１】
2011215771.tif 000013
【図１２】
2011215771.tif 000014
【図１３】
2011215771.tif 000015
【図１４】
2011215771.tif 000016
【図１５】
2011215771.tif 000017
【図１６】
2011215771.tif 000018
【図１７】
2011215771.tif 000019
【図１８】
2011215771.tif 000020