WO2010071020A1 - 情報処理装置、プログラム更新方法および情報処理システム - Google Patents
情報処理装置、プログラム更新方法および情報処理システム Download PDFInfo
- Publication number
- WO2010071020A1 WO2010071020A1 PCT/JP2009/070239 JP2009070239W WO2010071020A1 WO 2010071020 A1 WO2010071020 A1 WO 2010071020A1 JP 2009070239 W JP2009070239 W JP 2009070239W WO 2010071020 A1 WO2010071020 A1 WO 2010071020A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update
- divided data
- data
- program
- update target
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
更新対象プログラム31を構成するN個の分割データ0~N-1の状態を管理するための管理フラグ32を、不揮発性記憶装置13に記録し、管理フラグ32を参照して更新対象分割データを指定し、更新用データ35を用いて更新対象分割データを更新する情報処理装置において、更新対象プログラム31の更新が中断された場合、更新再開時に管理フラグ32を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを更新対象分割データとして指定することとした。
Description
本発明は、プログラムの更新方法に関する。
従来、差分を用いてデータの更新を行うための技術として、例えば、差分展開における旧ファイルの参照状況および新ファイルの更新状況を不揮発メモリに蓄積し、どこまで差分展開が実行されたのかを逐次把握しておくことで、中断時点からの再開を可能とする技術がある(特許文献1を参照)。
また、データの退避を行う技術として、システムメモリに設けた分割領域の容量が不均一な場合にも、システムメモリから不揮発メモリへ退避すべき未退避のデータ量を、電源オフ時に退避可能なデータ量以下に常に抑制するための技術(特許文献2を参照)、および、携帯端末の表示画面を複数に分割して夫々の分割エリアにアプリケーションを割り当て、ある分割エリアからフォーカスが移動した場合に、その分割エリアで表示されていた最終画面を保存し、その分割エリアに割り当てられていたアプリケーションの実行を中断してデータを退避する技術がある(特許文献3を参照)。
一般に、情報処理装置では、プログラムを最新の状態に保つために、プログラムの更新が行われる。また、プログラム更新の利便性を向上させるために、プログラムの更新情報を情報処理装置に随時通知し、更新プログラムがある場合には情報処理装置が自動でプログラムを更新する技術がある。しかし、このようなプログラム更新処理では、情報処理装置の電源断等によって、プログラム更新処理が中断されてしまう場合がある。特に、自動的なプログラム更新は、ユーザにとって更新処理の開始のタイミングが予測困難であるため、更新途中での更新処理中止が発生し易い。特に、電源断等によって突然更新が中断された場合、中断位置を把握することは困難であるため、次回起動時には再度最初からプログラムの更新を行う必要がある。
特に、HDD(Hard Disk Drive)等を搭載していない機器のプログラム更新においては、更新プログラムを一旦不揮発性記憶装置にダウンロードして保存しておくことが出来ないため、電源断等によって更新プログラムが消えてしまい、再度データのダウンロードからやり直しを行う必要がある。このような状態は、時間が掛かることに加え、通信コストの面からも不利なものであった。
本発明は、上記した問題に鑑み、情報処理装置におけるプログラムの更新が中断された場合にも、中断された位置の近傍からの更新再開を可能とすることを課題とする。
本発明は、上記した課題を解決するために、更新対象のプログラムを複数の分割データに分割して、これらの分割データの更新状況を管理しながら、分割データ毎に更新を行い、更新再開の際に管理のための情報を参照することで、情報処理装置におけるプログラムの更新が中断された場合にも、中断された位置の近傍からの更新再開を可能にした。
詳細には、本発明は、更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段と、前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段と、前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段と、前記更新用データを用いて前記更新対象分割データを更新する更新手段と、を備え、前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、情報処理装置である。
ここで、更新対象プログラムとは、情報処理装置にインストールされているプログラムのうち、新たな更新プログラムによる置き換えの対象となるプログラムである。また、本発明において、更新対象プログラムは、複数の分割データからなり、例えば、分割データは、前記更新対象プログラムを所定のデータサイズ毎に区切ることで分割されたデータであってもよい。分割データを、更新対象プログラムを所定のサイズで区切って分割したデータとすることで、分割データを退避したり更新用データを一時的に保存したりする領域の確保が容易となり、また、後述する差分を抽出したり、差分に基づいて更新用データを生成したりする処理が容易になる。但し、分割データは、決まったデータサイズ毎に区切られず、夫々が異なるデータサイズを有してもよい。また、分割データは、更新対象プログラムが記録されている記憶装置におけるアドレスやセクタに基づいて区切られたデータであってもよいし、予め更新対象プログラムにおいて設定された独自の単位で区切られたデータであってもよい。
分割データは、更新対象プログラムの更新処理に際して、分割データ管理情報を用いて管理される。分割データ管理情報は、複数の分割データの夫々の状態を管理するための情報であり、更新対象プログラム更新処理の進行に従って更新され、更新対象分割データを指定する際に参照される。
本発明は、分割データ管理情報を、更新対象プログラム更新処理の進行に従って不揮発性記憶装置に記録することで、更新対象プログラムの更新処理が電源断等の理由により中断した場合にも、更新処理の再開時に、前回中断した分割データから更新を再開することが出来る。特に、本発明では、更新に用いられる更新プログラムに比べてデータサイズの小さい分割データ管理情報が不揮発性記憶装置に記録されるため、更新プログラムを保持するのに十分な容量の不揮発性記憶装置を備えないような情報処理装置においても、更新プログラムの先頭からダウンロードする必要なく、中断位置の近傍から更新用データの取得および更新を再開することが出来る。また、中断位置の近傍から更新用データの取得が再開されるため、ネットワーク越しにデータを取得するような場合にも、通信コストの面で従来の技術に比べて有利である。
また、本発明に係る情報処理装置は、前記更新対象プログラムと、該更新対象プログラムを置き換える更新プログラムとの差分を取得する差分取得手段を更に備え、前記更新用データ取得手段は、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新用データを生成することで、前記更新用データを生成してもよい。取得された差分を用いて更新用データを生成することで、外部から取得するデータ量を抑制し、更新処理に要するリソースや時間、コスト等を抑制することが出来る。
また、本発明に係る情報処理装置は、前記更新手段による更新の前に、更新対象分割データを所定の退避領域へ退避する分割データ退避手段を更に備えてもよい。分割データ退避手段を備えることで、更新対象分割データを更新するために消去したタイミングや、更新対象分割データを更新用データで上書きしているタイミングで、電源断等による更新中断が発生した場合にも、退避されたデータを用いて、更新を再開することが可能となる。
また、前記情報記録手段は、前記複数の分割データの夫々が、更新が行われていない状態、前記分割データ退避手段による退避が行われた状態、および前記更新手段による更新が完了した状態、の3つの状態を少なくとも含む複数の状態のうち何れの状態であるかを判別するための情報を、前記分割データ管理情報として記録してもよい。
この場合、更新対象分割データ指定手段は、これらの状態を示す情報を参照することで、更新対象プログラムが更新中であるか否か、および更新中である場合にはどこまで更新が進んでいるかを判断することが出来る。例えば、分割データが先頭から順次更新される場合には、更新対象分割データ指定手段は、退避状態を示す情報が設定されている分割データ、または未処理状態を示す情報が設定されている分割データのうちの先頭の分割データを、前回中断時に更新中であった分割データとして判断することが出来、また、更新対象分割データ指定手段は、この分割データを、更新再開の際の最初の更新対象分割データとして指定することが出来る。
また、本発明は、複数の情報処理装置を備える情報処理システムとしても把握することが可能である。例えば、本発明は、更新プログラムを保持するマスタ装置と、前記更新プログラムを用いた更新の対象となる更新対象プログラムを保持するスレーブ装置であって、前記更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段、前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段、前記更新対象プログラムと、該更新対象プログラムを置き換える前記更新プログラムとの差分を取得する差分取得手段、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段、および前記更新用データを用いて前記更新対象分割データを更新する更新手段を備え、前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、スレーブ装置と、を備える情報処理システムである。
情報処理システムをこのような構成とすることによって、本発明では、更新プログラムを保持するのに十分な容量の不揮発性記憶装置を備えないような情報処理装置をスレーブ装置とし、更新プログラムを保持するのに十分な容量の不揮発性記憶装置を備えるような情報処理装置をマスタ装置とすることで、十分な容量の不揮発性記憶装置を備えないような情報処理装置においても、更新プログラムの先頭からダウンロードする必要なく、中断位置の近傍から更新用データの取得および更新を再開することを可能としている。
更に、本発明は、コンピュータが実行する方法、又はコンピュータを上記各手段として機能させるためのプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本発明によって、情報処理装置におけるプログラムの更新が中断された場合にも、中断された位置の近傍からの更新再開が可能となる。
本発明に係る情報処理装置、プログラム更新方法およびプログラムの実施の形態について、図面に基づいて説明する。
図1は、本実施形態に係る車載機、および該車載機に含まれる情報処理装置のプログラムを更新するシステムの概略を示す図である。車載機1は、ユーザに対して情報を表示し、ユーザからの入力を受け付けるタッチパネルディスプレイ2、タッチパネルディスプレイ2からのユーザ入力に応じて、タッチパネルディスプレイ2に地図画像等を表示させることでナビゲーションを行うためのナビゲーション装置3、CD(Compact Disc)やラジオ放送波等のソースから音響信号を生成して車内に設置されたスピーカを介してユーザに音響を提供するオーディオ装置4、DVD(Digital Versatile Disc)から映像信号および音響信号を生成してタッチパネルディスプレイ2およびスピーカから出力するDVDデッキ5、受信されたデジタル放送波に基づく映像信号および音響信号を生成してタッチパネルディスプレイ2およびスピーカから出力することでユーザにデジタルテレビ放送を視聴させるDTV装置6、等の各情報処理装置を備え、これらの装置は互いに通信可能に接続されている。
車載機1に備えられる各情報処理装置は、夫々が専用または汎用のプロセッサ、ROM、RAM(Random Access Memory)等を有し、ROMまたはRAMに展開されたプログラムをプロセッサが実行することで、夫々の情報処理装置が有する機能を、ユーザまたは接続された他の情報処理装置へ提供するコンピュータである。そして、本実施形態において、各情報処理装置による機能提供のために実行されるプログラムは、ネットワークを介して更新可能となっている。
プログラムの更新は、サーバ9に保存された更新プログラム91をネットワーク経由でダウンロードし、従前のプログラムを書き換える(通常、上書きされる)ことで行われる。ここで、本実施形態における車載機1には携帯電話端末7接続用のインターフェースが設けられており、車載機1は、このインターフェースを介して接続された携帯電話端末7を用いて、インターネット等のネットワーク越しにサーバ9に接続して更新プログラム91をダウンロードする。なお、車載機1に設けられる携帯電話端末7接続用のインターフェースは、USB(Universal Serial Bus)等の有線インターフェースであってもよいし、Bluetooth等の無線インターフェースであってもよい。
以下、車載機1に備えられた情報処理装置のうち、HDDを有さないタッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5およびDTV装置6のプログラム更新処理について説明する。本実施形態では、HDD搭載機器であるナビゲーション装置3が更新処理におけるマスタとして動作し、HDD非搭載機器であるタッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5およびDTV装置6は、夫々スレーブとして動作する。但し、マスタであるナビゲーション装置3についても、他の情報処理装置と同様、管理フラグ32によって管理される分割データを順次更新する、以下に説明する更新処理の流れと概略同様の更新処理を行うことが可能である。
図2は、本実施形態に係る更新処理においてマスタとして動作するナビゲーション装置3並びにスレーブとして動作する情報処理装置(例えば、DVDデッキ5)の構成の概略、および更新対象プログラム31並びに管理フラグ32のデータ構成の概略を示す図である。はじめに、車載機に備えられた各装置のうち、HDDが搭載されているナビゲーション装置3は、ネットワーク経由で、サーバ9に未適用の更新プログラム91があるか否かを確認し、あればこの更新プログラム91をダウンロードしてHDDに保存する。ダウンロードされる更新プログラム91には、ナビゲーション装置3自身に適用される更新プログラム91の他、車載機に接続されたナビゲーション装置以外の装置、即ち、タッチパネルディスプレイ2、オーディオ装置4、DVDデッキ5、DTV装置6等のスレーブへ適用される更新プログラム91も含まれる。
ここで、本実施形態において、車載機に備えられたナビゲーション装置3以外の装置は、HDDを備えないため、更新プログラム91の全体を自装置に保存してから更新処理を行うことが出来ない。このため、本実施形態では、HDD搭載機器であるナビゲーション装置3がマスタとして動作し、DVDデッキ5等のHDD非搭載機器はスレーブとして動作することで、マスタに保存された更新プログラム91とスレーブにインストールされている更新対象プログラム31との差分のみをスレーブにダウンロードすることとしている。
このようにすることで、HDD等大容量の不揮発性記憶装置を備えない装置においても、プログラムの更新を行うことが出来る。なお、本実施形態では、DVDデッキ5等のスレーブ装置がネットワークへの接続機能を有さないため、更新プログラム91を一旦マスタであるナビゲーション装置へダウンロードして、ここから更新対象プログラム31と更新プログラム91との差分データ33を取得することとしているが、実施の形態によっては、更新対象プログラム31がインストールされた装置が直接サーバ9に接続することで更新プログラム91や差分データ33を取得することとしてもよい。例えば、本実施形態におけるナビゲーション装置5は、携帯電話端末7を制御してネットワークに接続する機能を有するため、スレーブとして動作することなく直接サーバ9に接続して自装置用の更新プログラム91または差分データ33を取得することが出来る。
スレーブである情報処理装置は、CPU(Central Processing Unit)11、RAM12およびEEPROM(Electrically Erasable and Programmable Read Only Memory)13を備えるコンピュータである。スレーブのEEPROM13には、スレーブが自装置の各種機能(例えば、スレーブがDVDデッキ5である場合には、DVDの再生機能)を提供するためのプログラムであって、本実施形態における更新処理による更新の対象となる更新対象プログラム31と、更新対象プログラム31の更新状況を管理するための管理フラグ32(本発明の分割データ管理情報に相当)と、マスタからダウンロードされた差分データ33と、更新対象プログラム31に含まれる分割データの退避データ34と、が記録される。また、スレーブのRAM12には、更新対象プログラム31に含まれる分割データを置換するための更新用データ35が保持される。
本実施形態において、更新対象プログラム31は、所定のデータサイズ毎に分割されることで、先頭から0からN-1のインデックスが付されたN個の分割データに区分けされている。これらの分割データは、後述する更新処理における更新単位である。また、管理フラグ32は、これら複数の分割データの夫々について、分割データの状態を示すフラグである。管理フラグ32は、分割データと同数(N個)用意され、対応する分割データと同一のインデックス(0~N-1)が付される。本実施形態では、更新対象プログラム31を、分割データ単位で更新し、更新の進捗を、管理フラグ32を用いて管理することで、中断された更新処理を適切な位置から再開することを可能としている。
図3は、本実施形態においてスレーブとして機能する情報処理装置の機能構成を示す図である。本実施形態に係るスレーブは、ROMまたはRAM12に展開されたプログラムをプロセッサが実行することで、更新対象プログラム31を構成する複数の分割データの状態を管理するための管理フラグ32をEEPROM13に記録する情報記録部22と、管理フラグ32を参照して、更新の対象となる更新対象分割データを指定する更新対象分割データ指定部23と、更新対象分割データの更新前に、更新対象分割データを退避領域へ退避する分割データ退避部24と、更新対象プログラム31と更新プログラム91との差分データ33を取得する差分取得部25と、現在の更新対象分割データに差分データ33を反映することで、更新対象分割データを更新するための更新用データ35を生成する更新用データ取得部26と、更新用データ35を用いて更新対象分割データを更新する更新部27と、を備える情報処理装置として機能する。
なお、本実施形態において、情報記録部22は、管理フラグ0~N-1に、対応する分割データの更新が行われていない状態を示す「未処理」フラグ、対応する分割データが分割データ退避部24によって退避された状態を示す「退避済」フラグ、および対応する分割データの更新部27による更新が完了した状態を示す「更新済」フラグ、の何れかを設定する。
図4および図5は、本実施形態に係る情報処理装置の更新処理の流れを示すフローチャートである。本フローチャートに示された処理は、現在情報処理装置にインストールされているプログラムが最新のプログラムでなく、サーバ9に更新プログラム91があることがナビゲーション装置3によって検知され、更にマスタとして動作するナビゲーション装置3によって、スレーブ用の更新プログラム91がダウンロードされた場合に開始される。より具体的には、マスタは、スレーブとしての情報処理装置から収集した、情報処理装置上のプログラム(更新対照プログラム31)のバージョン情報と、サーバ9にアップロードされた更新プログラム91のバージョン情報とを比較することで、サーバ9にダウンロードすべき更新プログラム91があるか否かを判断し、バージョン情報が情報処理装置上のプログラムに比べて新しい更新プログラム91がある場合には、この更新プログラム91をダウンロードする。
なお、本実施形態では、上述の通りスレーブ装置がネットワークへの接続機能を有さないため、バージョン情報の比較および更新プログラム91のダウンロードはマスタであるナビゲーション装置が行っているが、実施の形態によっては、更新対象プログラム31がインストールされた装置が直接サーバ9に接続することでバージョン情報の比較および差分データ33の取得を行うこととしてもよい。なお、本フローチャートに示された処理の順序は一例であり、本発明の範囲を逸脱しない範囲で、実施の形態に応じて適宜処理順序を変更することも可能である。
ステップS101では、マスタからのプログラム更新要求が受信される。この時点で、更新処理におけるマスタであるナビゲーション装置3は、サーバ9にスレーブ用の更新プログラム91があることを検知し、この更新プログラム91をダウンロードしてナビゲーション装置3のHDD(図示は省略する)に保存している。また、マスタに対して複数の情報処理装置がスレーブとして接続されている場合、マスタは、スレーブとして動作する情報処理装置に対してプログラム更新要求を送信する前に、ダウンロードされた更新プログラム91が何れのスレーブ用の更新プログラム91であるかを判断する必要がある。なお、本実施形態では、更新プログラム91とともに、更新対象機器の一覧表をダウンロードすることで、ダウンロードした更新プログラム91が、何れの情報処理装置のための更新プログラム91であるかを判断することが出来る。より具体的には、マスタは、マスタが予め保持しているスレーブユニット管理テーブルの型番と、更新対象機器の一覧表(型番の一覧表)とを照合することで、ダウンロードされたプログラムが、何れの情報処理装置のための更新プログラム91であるかを判断する。スレーブとして動作する情報処理装置は、更新プログラム91をHDDに保存したナビゲーション装置3から送信されたプログラム更新要求を受信し、以降のプログラム更新処理を開始する。その後、処理はステップS102へ進む。
ステップS102では、プログラム更新処理が中断されているか否かが判定される。更新対象分割データ指定部23は、全ての管理フラグを参照することで、プログラム更新処理が中断されているか否かを判定する。より具体的には、全ての管理フラグに「更新済」または「未処理」が設定されている場合、これはプログラム更新処理が開始されていないか、正常に完了したことを示しているため、更新対象分割データ指定部23は、プログラム更新処理の中断はないと判定する。プログラム更新処理の中断がないと判定された場合、処理はステップS103へ進む。
これに対して、何れかの管理フラグに「退避済」が設定されている場合、これはプログラム更新処理において、後述する退避処理が完了してから退避された分割データの更新が完了するまでの間(後述するステップS115からS118の間)に、電源断等の原因によってプログラム更新処理が中断されたことを示している。このため、更新対象分割データ指定部23は、プログラム更新処理が中断されていると判定する。また、「退避済」が設定されている管理フラグはないが、「更新済」フラグと「未処理」フラグが混在している場合、これはプログラム更新処理において、全ての分割データについて更新が完了していない状態で、電源断等の原因によってプログラム更新処理が中断されたことを示している。このため、更新対象分割データ指定部23は、プログラム更新処理が中断されていると判定する。プログラム更新処理が中断されていると判断された場合、処理はステップS107へ進む。
ステップS103からステップS106では、更新対象プログラム31の全体、即ち分割データ0から分割データN-1までの分割データを順次更新するための初期化処理が行われる。より詳細には、ステップS102でプログラム更新処理の中断がないと判定された場合、はじめに、情報記録部22は、全ての管理フラグを「未処理」に設定することで、管理フラグを初期化する(ステップS103)。これは、この後の処理において管理フラグを順次「退避済」または「更新済」へ変更することで、更新処理の進行度合いを把握可能とするためである。
そして、差分取得部25は、差分データ33を消去し(ステップS104)、マスタであるナビゲーション装置3から、更新対象プログラム31と更新プログラム91との差分データ33をダウンロードする(ステップS105)。即ち、本実施形態では、更新プログラム91の全体ではなく、差分データ33のみをダウンロードするため、DVDデッキ5のような更新対象プログラム31がインストールされた装置が、大きな容量の記憶装置を有する必要がない。なお、差分データは、更新対象プログラムと更新プログラムとの実行ファイルを機械語で比較して差分を抽出することで得られる。より具体的には、マスタは、情報処理装置上の更新対象プログラム31と、この更新対象プログラム31に比べてバージョン情報が新しい更新プログラム91とを、対象となっている分割データごとに比較して、差分を抽出する。
更に、更新対象分割データ指定部23は、更新対象分割データを管理するための変数であるインデックスiに、0を設定する(ステップS106)。インデックスiは、分割データiを現在の更新対象分割データとして示すためのインデックスであり、本実施形態では、分割データ0から順次更新が行われるため、iには0が設定される。その後、処理はステップS108へ進む。
ステップS107では、中断された更新処理の再開における最初の更新対象分割データが設定される。即ち、ステップS102でプログラム更新処理が中断されていると判定された場合、更新対象分割データ指定部23は、「退避済」が設定されている分割データがある場合には、その分割データの番号を、「退避済」が設定されている分割データがない場合には、「未処理」が設定されている分割データのうち最も上位の分割データの番号を、インデックスiに設定することで、更新対象分割データを決定する。その後、処理はステップS108へ進む。
ステップS108およびステップS120では、プログラム更新処理が終了したか否かが判定され、終了したと判定された場合には、マスタへの完了通知が行われる。更新対象分割データ指定部23は、インデックスiと、更新対象プログラム31に含まれる分割データの数とを比較することで、全ての分割データについて更新が完了したか否かを判定する(ステップS108)。即ち、本実施形態ではN個の分割データが存在するため、1ずつ加算されることで分割データを先頭から順に更新対象分割データを指定するインデックスiがNより小さい間は、更新処理が完了していないことを示し、インデックスiがN以上となった場合には、更新処理が完了したことを示す。インデックスiがN以上である場合、スレーブである情報処理装置は、マスタであるナビゲーション装置3へ、プログラムの更新処理が完了したことを通知し(ステップS120)、本フローチャートに示された処理は終了する。インデックスiがNより小である場合、処理はステップS109へ進む。
ステップS109では、更新対象分割データに対応する差分データ33の有無が判定される。更新用データ取得部26は、マスタからダウンロードされた差分データ33を参照し、更新対象分割データ、即ち分割データiの更新に用いられる差分データ33があるか否かを判定する。対応する差分データ33が無い場合、分割データiの更新は不要であるため、処理はステップS118へ進む。対応する差分データ33が有る場合、処理はステップS110へ進む。
ステップS110からステップS112では、更新対象分割データに対応する管理フラグが、「退避済」であるか否かが判定され、判定の結果に従って、分割データiまたは退避データ34に基づいて、更新用データ35が生成される。更新用データ取得部26は、更新対象分割データに対応する管理フラグ、即ち管理フラグiが、「退避済」に設定されているか否かを判定する(ステップS110)。管理フラグiが「退避済」に設定されている場合、更新対象である分割データiは後述するステップS116の処理において消去されているか、または更新途中で破損している可能性があるため、更新用データ取得部26は、退避データ34に差分データ33をマージすることで、分割データiを更新するための更新用データ35を生成し、RAM12に保存する(ステップS112)。ステップS112における処理の後、処理はステップS116へ進む。これに対して、管理フラグiが「退避済」に設定されていない場合、更新対象である分割データiは更新される前の状態であるため、更新用データ取得部26は、分割データiに差分データ33をマージすることで、更新用データ35を生成し、RAM12に保存する(ステップS111)。ステップS111における処理の後、処理はステップS113へ進む。
ステップS113からステップS115では、更新対象分割データの退避処理が行われる。分割データ退避部24は、EEPROM13の退避領域に記録された古い退避データ34を消去し(ステップS113)、分割データiを退避領域にコピーする(ステップS114)。そして、情報記録部22は、管理フラグiに、分割データiの退避が完了したことを示す「退避済」のフラグを、管理フラグiに設定する(ステップS115)。その後、処理はステップS116へ進む。
ステップS116およびステップS117では、更新対象分割データが更新される。更新部27は、EEPROM13に記録された分割データiを消去し(ステップS116)、消去された領域に、RAM12に用意された更新用データ35を書き込むことで、分割データiを更新する(ステップS117)。その後、処理はステップS118へ進む。
ステップS118およびステップS119では、管理フラグiが「更新済」に設定され、インデックスiに1加算される。ステップS109において分割データiは更新不要であると判断された場合、および、ステップS110からステップS117の処理で分割データiの更新が完了した場合、情報記録部22は、分割データiに対応する管理フラグiを、「更新済」に設定する(ステップS118)。そして、更新対象分割データ指定部23は、インデックスiに1加算する(インデックスiをインクリメントする)ことで、更新済みとなった分割データの次の分割データを、新たな更新対象分割データとして指定する(ステップS119)。その後、処理はステップS108へ進む。
即ち、ステップS108からステップS119に示された処理は、全ての分割データについて差分データ33の有無が確認され、更新が完了するか、または更新処理が電源断等の原因によって中断されるまで、繰り返される。全ての分割データについて更新が完了すると、スレーブである情報処理装置は、マスタであるナビゲーション装置3へ、プログラムの更新処理が完了したことを通知し(ステップS120)、本フローチャートに示された処理は終了する。
本実施形態によれば、情報処理装置におけるプログラムの更新が、突然の電源断等によって中断された場合にも、中断された位置の近傍から更新を再開することが可能となる。より具体的には、更新途中で電源断等によって中断された場合にも、図4および図5のフローチャートに示した処理によれば、何れかの管理フラグが「退避済」に設定されているか、または「更新済」の管理フラグと「未処理」の管理フラグとが同時に存在することで、中断時に更新途中であった分割データを把握し、ここから更新を再開することが出来る。また、分割データの消去または上書きの前には、分割データは退避され、「退避済」フラグによってこのことが示されるため、更新対象プログラム内の分割データが破損または消去されている場合にも、退避データ34を用いて更新を再開することが出来る。
なお、管理フラグが全て「更新済」となるか、または全て「未処理」となるのは、更新が開始されていない場合、または更新が全て完了した場合であるため、更新処理は先頭の分割データから開始されてよい(ステップS102を参照)。
1 車載機
3 ナビゲーション装置
31 更新対象プログラム
32 管理フラグ
22 情報記録部
23 更新対象分割データ指定部
24 分割データ退避部
25 差分取得部
26 更新用データ取得部
27 更新部
91 更新プログラム
3 ナビゲーション装置
31 更新対象プログラム
32 管理フラグ
22 情報記録部
23 更新対象分割データ指定部
24 分割データ退避部
25 差分取得部
26 更新用データ取得部
27 更新部
91 更新プログラム
Claims (12)
- 更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段と、
前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段と、
前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段と、
前記更新用データを用いて前記更新対象分割データを更新する更新手段と、を備え、
前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、情報処理装置。 - 前記更新対象プログラムと、該更新対象プログラムを置き換える更新プログラムとの差分を取得する差分取得手段を更に備え、
前記更新用データ取得手段は、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新用データを生成する、
請求項1に記載の情報処理装置。 - 前記更新手段による更新の前に、更新対象分割データを所定の退避領域へ退避する分割データ退避手段を更に備える、
請求項1または2に記載の情報処理装置。 - 前記情報記録手段は、前記複数の分割データの夫々が、更新が行われていない状態、前記分割データ退避手段による退避が行われた状態、および前記更新手段による更新が完了した状態、の3つの状態を少なくとも含む複数の状態のうち何れの状態であるかを判別するための情報を、前記分割データ管理情報として記録する、
請求項3に記載の情報処理装置。 - コンピュータによって、
更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録ステップと、
前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定ステップと、
前記更新対象分割データを更新するための更新用データを取得する更新用データ取得ステップと、
前記更新用データを用いて前記更新対象分割データを更新する更新ステップと、が実行され、
前記更新対象分割データ指定ステップでは、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データが特定され、特定された分割データが前記更新対象分割データとして指定される、プログラム更新方法。 - 前記コンピュータによって、
前記更新対象プログラムと、該更新対象プログラムを置き換える更新プログラムとの差分を取得する差分取得ステップが更に実行され、
前記更新用データ取得ステップでは、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新用データが生成される、
請求項5に記載のプログラム更新方法。 - 前記コンピュータによって、
前記更新ステップにおける更新の前に、更新対象分割データを所定の退避領域へ退避する分割データ退避ステップが更に実行される、
請求項5または6に記載のプログラム更新方法。 - 前記情報記録ステップでは、前記複数の分割データの夫々が、更新が行われていない状態、前記分割データ退避ステップでの退避が行われた状態、および前記更新ステップでの更新が完了した状態、の3つの状態を少なくとも含む複数の状態のうち何れの状態であるかを判別するための情報が、前記分割データ管理情報として記録される、
請求項7に記載のプログラム更新方法。 - 更新プログラムを保持するマスタ装置と、
前記更新プログラムを用いた更新の対象となる更新対象プログラムを保持するスレーブ装置であって、
前記更新対象プログラムを構成する複数の分割データの状態を管理するための分割データ管理情報を、不揮発性記憶装置に記録する情報記録手段、
前記分割データ管理情報を参照して、前記複数の分割データのうち更新の対象となる更新対象分割データを指定する更新対象分割データ指定手段、
前記更新対象プログラムと、該更新対象プログラムを置き換える前記更新プログラムとの差分を取得する差分取得手段、
現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新対象分割データを更新するための更新用データを取得する更新用データ取得手段、および
前記更新用データを用いて前記更新対象分割データを更新する更新手段を備え、
前記更新対象分割データ指定手段は、前記更新対象プログラムの更新が中断された場合、更新再開時に前記分割データ管理情報を参照することで更新中断時に未更新であった分割データを特定し、特定された分割データを前記更新対象分割データとして指定する、スレーブ装置と、
を備える情報処理システム。 - 前記スレーブ装置は、
前記更新対象プログラムと、該更新対象プログラムを置き換える更新プログラムとの差分を取得する差分取得手段を更に備え、
前記更新用データ取得手段は、現在の更新対象分割データに、前記差分のうち該更新対象分割データに相当する部分を反映することで、前記更新用データを生成する、
請求項9に記載の情報処理システム。 - 前記スレーブ装置は、
前記更新手段による更新の前に、更新対象分割データを所定の退避領域へ退避する分割データ退避手段を更に備える、
請求項9または10に記載の情報処理システム。 - 前記情報記録手段は、前記複数の分割データの夫々が、更新が行われていない状態、前記分割データ退避手段による退避が行われた状態、および前記更新手段による更新が完了した状態、の3つの状態を少なくとも含む複数の状態のうち何れの状態であるかを判別するための情報を、前記分割データ管理情報として記録する、
請求項11に記載の情報処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008322220A JP2010146257A (ja) | 2008-12-18 | 2008-12-18 | 情報処理装置、プログラム更新方法および情報処理システム |
JP2008-322220 | 2008-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010071020A1 true WO2010071020A1 (ja) | 2010-06-24 |
Family
ID=42268693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/070239 WO2010071020A1 (ja) | 2008-12-18 | 2009-12-02 | 情報処理装置、プログラム更新方法および情報処理システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2010146257A (ja) |
WO (1) | WO2010071020A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021192280A (ja) * | 2017-10-12 | 2021-12-16 | 日立Astemo株式会社 | 情報更新装置、情報更新方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5323151B2 (ja) * | 2011-08-31 | 2013-10-23 | 三菱電機株式会社 | プログラム書き換えシステム及びプログラム書き換え方法 |
KR101925085B1 (ko) * | 2012-11-06 | 2019-02-27 | 주식회사 아이리버 | Ota를 이용한 휴대용 기기의 펌웨어 업그레이드 방법 |
US9237384B2 (en) | 2013-02-14 | 2016-01-12 | Sonos, Inc. | Automatic configuration of household playback devices |
US9319409B2 (en) | 2013-02-14 | 2016-04-19 | Sonos, Inc. | Automatic configuration of household playback devices |
KR20150093002A (ko) * | 2014-02-06 | 2015-08-17 | 한국전자통신연구원 | 선박자동식별시스템의 소프트웨어 자동 업데이트 방법 |
JP6390644B2 (ja) * | 2016-03-02 | 2018-09-19 | 住友電気工業株式会社 | プログラム更新システム、プログラム更新方法及びコンピュータプログラム |
JP2018013837A (ja) * | 2016-07-19 | 2018-01-25 | 株式会社デンソー | データ書き換え装置、データ書き換えプログラム |
JP6795389B2 (ja) * | 2016-12-16 | 2020-12-02 | 株式会社Subaru | 車載用データ更新装置 |
JP7087334B2 (ja) * | 2017-10-13 | 2022-06-21 | 株式会社デンソー | 電子制御装置 |
JP7035610B2 (ja) * | 2018-02-22 | 2022-03-15 | 株式会社ノーリツ | 通信システム、中継装置、及び、温水機器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124403A (ja) * | 1996-10-24 | 1998-05-15 | Hitachi Ltd | ブロック消去型フラッシュメモリの書込み方法 |
JP2004199121A (ja) * | 2002-12-16 | 2004-07-15 | Fujitsu Ltd | 差分更新方法、プログラム及び装置 |
JP2005078502A (ja) * | 2003-09-02 | 2005-03-24 | Nec Corp | 携帯端末ソフトウェアの差分書き換えシステム,方法,携帯端末およびプログラム |
WO2006132065A1 (ja) * | 2005-06-10 | 2006-12-14 | Pioneer Corporation | ナビゲーション装置、データ更新方法、およびデータ更新プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3613159B2 (ja) * | 2000-09-13 | 2005-01-26 | 日本電気株式会社 | ソフトウェア更新装置、ソフトウェア更新システム、その更新方法、及び更新プログラムを記録した記録媒体 |
JP4599953B2 (ja) * | 2004-09-15 | 2010-12-15 | 株式会社デンソー | プログラム書き換えシステム及び車両コンピュータシステム |
-
2008
- 2008-12-18 JP JP2008322220A patent/JP2010146257A/ja active Pending
-
2009
- 2009-12-02 WO PCT/JP2009/070239 patent/WO2010071020A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124403A (ja) * | 1996-10-24 | 1998-05-15 | Hitachi Ltd | ブロック消去型フラッシュメモリの書込み方法 |
JP2004199121A (ja) * | 2002-12-16 | 2004-07-15 | Fujitsu Ltd | 差分更新方法、プログラム及び装置 |
JP2005078502A (ja) * | 2003-09-02 | 2005-03-24 | Nec Corp | 携帯端末ソフトウェアの差分書き換えシステム,方法,携帯端末およびプログラム |
WO2006132065A1 (ja) * | 2005-06-10 | 2006-12-14 | Pioneer Corporation | ナビゲーション装置、データ更新方法、およびデータ更新プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021192280A (ja) * | 2017-10-12 | 2021-12-16 | 日立Astemo株式会社 | 情報更新装置、情報更新方法 |
JP7280319B2 (ja) | 2017-10-12 | 2023-05-23 | 日立Astemo株式会社 | 情報更新装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2010146257A (ja) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010071020A1 (ja) | 情報処理装置、プログラム更新方法および情報処理システム | |
CN106802813B (zh) | 用于空中固件升级的方法、装置及车辆 | |
JP4671198B2 (ja) | 情報処理装置 | |
EP1821506A2 (en) | Mobile terminal and software update method | |
US20150317150A1 (en) | Information processing apparatus capable of updating firmware, control method therefor, and storage medium storing control program therefor | |
JP2006277472A (ja) | 情報処理装置 | |
CN102609290A (zh) | 电子产品的软件升级方法 | |
JPWO2019207729A1 (ja) | 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム | |
JP2008197811A (ja) | 情報処理装置 | |
WO2010067737A1 (ja) | 情報処理装置およびプログラム更新方法 | |
JP2009053993A (ja) | ファイルシステム管理装置 | |
JP2000350185A (ja) | 制御プログラム送信方法及び制御プログラムダウンロード方法 | |
EP2187306A1 (en) | Image processing apparatus and control method thereof | |
WO2015117331A1 (zh) | 一种实现固件升级的方法和移动终端 | |
CN108810631A (zh) | 开机广告的播放方法、装置、电子设备及计算机存储介质 | |
JP2010021743A (ja) | 撮像装置、撮像装置のハイバネーション制御方法 | |
JP2010127899A (ja) | ナビゲーションシステム | |
JP2007133601A (ja) | ソフトウェアパッケージ、システム管理装置および車載用情報機器 | |
JP4788128B2 (ja) | 実行環境整備システム、実行環境整備装置および実行環境整備方法 | |
KR100495015B1 (ko) | 백업/복원이 용이한 백업장치 및 백업방법 | |
JP4931144B2 (ja) | テレビ受信機 | |
KR20090021695A (ko) | 플래쉬 메모리 롤백 시스템 및 그 방법 | |
JP5855781B2 (ja) | カーナビゲーションシステム | |
JP6209854B2 (ja) | 情報処理システム | |
KR20040083236A (ko) | 메모리의 프로그램 업그레이드 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09833324 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09833324 Country of ref document: EP Kind code of ref document: A1 |