JP2005215841A - ソフトウエア修正機能付き携帯電話端末装置 - Google Patents
ソフトウエア修正機能付き携帯電話端末装置 Download PDFInfo
- Publication number
- JP2005215841A JP2005215841A JP2004019624A JP2004019624A JP2005215841A JP 2005215841 A JP2005215841 A JP 2005215841A JP 2004019624 A JP2004019624 A JP 2004019624A JP 2004019624 A JP2004019624 A JP 2004019624A JP 2005215841 A JP2005215841 A JP 2005215841A
- Authority
- JP
- Japan
- Prior art keywords
- software
- correction
- stored
- recovery
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】 ソフトウエアの更新時に、フラッシュROM装置2中のソフトウエアの書き換え途中で電源が落ちても、ソフトウエアを自動的に修復することができる携帯電話端末装置を提供する。
【解決手段】 フラッシュROM装置2に記憶された携帯電話を作動するソフトウエア中の要修正ソフトウエアのブロックをRAM装置4に記憶し、シフトウエア修正手段3がこのブロック中のソフトウエアをサーバからダウンロードされた修正データに基づいて修正し、この修正ソフトウエアをフラッシュROM装置2に書き込み、またこの書き込みが正常に終了しなかった場合には、リカバリ手段9がフラッシュROM装置2に記憶されたソフトウエアを修正ソフトウエアの書き込み前の状態に戻すリカバリ処理を実行する。
【選択図】 図1
【解決手段】 フラッシュROM装置2に記憶された携帯電話を作動するソフトウエア中の要修正ソフトウエアのブロックをRAM装置4に記憶し、シフトウエア修正手段3がこのブロック中のソフトウエアをサーバからダウンロードされた修正データに基づいて修正し、この修正ソフトウエアをフラッシュROM装置2に書き込み、またこの書き込みが正常に終了しなかった場合には、リカバリ手段9がフラッシュROM装置2に記憶されたソフトウエアを修正ソフトウエアの書き込み前の状態に戻すリカバリ処理を実行する。
【選択図】 図1
Description
本発明は、装置の各機能を実現するソフトウエアをユーザ自身が書き換えることができる携帯端末装置に関するものである。
近年携帯電話の機能が増大し、携帯電話の各機能を実現するためのソフトウエアの規模が大きくなっている。そのため、出荷する携帯電話のソフトウエアに不具合が生じることもあり、そのソフトウエアの不具合を修正するための方法が種々考えられている。
例えば、プログラムのデバッグ方法では、ホストコンピュータより実行形式プログラムに係るデータがダウンロードされ、該プログラムのデバッグを行なうエミュレータにおいて、ダウンロード時間の短縮を図る方法が提案されており、この方法ではプログラムの差分情報を適用する方法が示されている(例えば、特許文献1参照)。
また、オンライン中におけるロードモジュール入替方式では、論理IDと物理IDとを対応させたプログラム管理ファイルを設けるとともにロードモジュールを呼び出す時に論理IDを呼び出すように構成した方式が示されている(例えば、特許文献2参照)。
従来のプログラムのデバッグ方法では、修正されたソースプログラムを含めたロードモジュール全体の差分情報のみをダウンロードすることによりダウンロード時間の短縮を図ることについては記載されているものの、差分情報を利用したこの処理中に電源が切れた場合に、どのように修復するかといったことについては言及されていない。
また、従来のオンライン中におけるロードモジュール入替方式では、オンライン中の処理系でのモジュール入れ替え方式として、修復したかどうかをフラグ用いた技術について記載されているが、この処理中に電源が切れた場合、どのように修復するかといったことについては言及されていない。
本発明では、携帯電話などの組込系ソフトウエアにおいて、ソフトウエアの更新時、不揮発性のメモリ領域中のソフトウエアの書き換え途中で電源が落ちても、ソフトウエアを自動的に修復することができ、また、ユーザが店などに携帯電話などを持ち込まなくてもソフトウエアを元の状態に戻すことができる、ソフトウエアの更新を目的とするものである。
また、従来のオンライン中におけるロードモジュール入替方式では、オンライン中の処理系でのモジュール入れ替え方式として、修復したかどうかをフラグ用いた技術について記載されているが、この処理中に電源が切れた場合、どのように修復するかといったことについては言及されていない。
本発明では、携帯電話などの組込系ソフトウエアにおいて、ソフトウエアの更新時、不揮発性のメモリ領域中のソフトウエアの書き換え途中で電源が落ちても、ソフトウエアを自動的に修復することができ、また、ユーザが店などに携帯電話などを持ち込まなくてもソフトウエアを元の状態に戻すことができる、ソフトウエアの更新を目的とするものである。
この発明に係るソフトウエア修正機能付き携帯電話端末装置は、携帯電話を作動するソフトウエアが記憶され、又このソフトウエアの修正を行なう修正データが保存された不揮発性メモリと、
サーバからダウンロードされた前記修正データを前記不揮発性メモリに保存する保存手段と、
前記不揮発性メモリに記憶された前記ソフトウエア中の要修正ソフトウエアのブロックが記憶された記憶装置と、
前記ブロックを前記不揮発性メモリに記憶された前記ソフトウエア中から読み込み前記記憶装置に記憶し、又前記記憶装置に記憶された前記ブロック中のソフトウエアを前記修正データに基づいて修正し、この修正ソフトウエアを前記不揮発性メモリに書き込むソフトウエア修正手段と、
前記ソフトウエア修正手段による前記不揮発性メモリへの修正ソフトウエアの書き込みが終了したか否かの判定をするリカバリ要否判定手段と、
前記リカバリ要否判定手段により前記修正ソフトウエアの書き込みが終了したと判定されなかった場合には前記不揮発性メモリに記憶されたソフトウエアを前記修正ソフトウエアの書き込み前の状態に戻すリカバリ処理を実行するリカバリ手段と、を備えたものである。
サーバからダウンロードされた前記修正データを前記不揮発性メモリに保存する保存手段と、
前記不揮発性メモリに記憶された前記ソフトウエア中の要修正ソフトウエアのブロックが記憶された記憶装置と、
前記ブロックを前記不揮発性メモリに記憶された前記ソフトウエア中から読み込み前記記憶装置に記憶し、又前記記憶装置に記憶された前記ブロック中のソフトウエアを前記修正データに基づいて修正し、この修正ソフトウエアを前記不揮発性メモリに書き込むソフトウエア修正手段と、
前記ソフトウエア修正手段による前記不揮発性メモリへの修正ソフトウエアの書き込みが終了したか否かの判定をするリカバリ要否判定手段と、
前記リカバリ要否判定手段により前記修正ソフトウエアの書き込みが終了したと判定されなかった場合には前記不揮発性メモリに記憶されたソフトウエアを前記修正ソフトウエアの書き込み前の状態に戻すリカバリ処理を実行するリカバリ手段と、を備えたものである。
この発明は、以上説明したように、不揮発性メモリに記憶された携帯電話作動用のソフトウエアをサーバからダウンロードされた修正データに基づいて修正し、この修正ソフトウエアを前記不揮発性メモリに書き込み、書き込みが終了しなかった場合には不揮発性メモリに記憶されたソフトウエアを修正ソフトウエアの書き込み前の状態に戻すリカバリ処理を実行することにより、携帯電話端末装置のソフトウエアの更新処理をユーザ自身が実施することができる効果を奏する。また、この更新処理が正常に終了しない異常時にも携帯電話端末装置のソフトウエアを更新前の元の状態に自動的に復帰させることができる効果を奏する。
実施の形態1.
以下、この発明の実施の形態を図を参照して説明する。
図1は、実施の形態1のソフトウエア修正機能付き携帯電話端末装置の構成図である。図において、1は携帯電話端末装置である。2は携帯電話端末装置1を作動するソフトウエアが記憶されたフラッシュROM装置であり、フラッシュROM装置2は電源をオフしても消えない不揮発性メモリの一種である。3はフラッシュROM装置2に記憶されたソフトウエアを修正するためのソフトウエア修正手段である。ここで、ソフトウエアは携帯電話端末装置に命令する手順そのものを指すプログラムをも含めたものである。
以下、この発明の実施の形態を図を参照して説明する。
図1は、実施の形態1のソフトウエア修正機能付き携帯電話端末装置の構成図である。図において、1は携帯電話端末装置である。2は携帯電話端末装置1を作動するソフトウエアが記憶されたフラッシュROM装置であり、フラッシュROM装置2は電源をオフしても消えない不揮発性メモリの一種である。3はフラッシュROM装置2に記憶されたソフトウエアを修正するためのソフトウエア修正手段である。ここで、ソフトウエアは携帯電話端末装置に命令する手順そのものを指すプログラムをも含めたものである。
4はフラッシュROM装置2に記憶されたソフトウエアを修正するために、ソフトウエア修正手段3によりフラッシュROM装置2から読み込まれた修正を要するソフトウエアのブロックが記憶された記憶装置としてのRAM装置4である。
フラッシュROM装置2へのソフトウエアの書き込みは逐次可能であるが、消去はあるまとまったブロックと呼ぶ単位毎でしか行なえないという特徴がある。そのため、ソフトウエアの修正をする場合には、ブロック単位のソフトウエアをまとめて消した後に新たなソフトウエアを書き込む必要がある。
フラッシュROM装置2へのソフトウエアの書き込みは逐次可能であるが、消去はあるまとまったブロックと呼ぶ単位毎でしか行なえないという特徴がある。そのため、ソフトウエアの修正をする場合には、ブロック単位のソフトウエアをまとめて消した後に新たなソフトウエアを書き込む必要がある。
即ち、ソフトウエアの一部だけを書き換えるためには、修正するソフトウエアのブロックをRAM装置4に記憶しておき、このブロック中の要修正ソフトウエアに修正を入れることにより、フラッシュROM装置2への書き込みのイメージ(修正済みのソフトウエアのブロック)をRAM装置4上で作成してから、修正を入れなかった部分(元のままの部分)と修正を入れた部分(書換えた部分)とを含めたブロックとしてまとめてフラッシュROM装置2に書き込む。これにより、フラッシュROM装置2に記憶されたソフトウエアの修正が行なわれる。なお、フラッシュROM装置2から読み込まれた修正するためのソフトウエアのブロックはRAM装置4に記憶した後にフラッシュROM装置2から消去する。
5は最近の携帯電話端末装置1に搭載されているデータ通信をするための無線通信手段であり、例えば、パケット通信上でのTCP/IPや、HTTPなどのさまざまなプロトコルに対応するべき手段である。6はフラッシュROM装置2に記憶されたソフトウエアの修正を行なう修正データ(ソフトウエアを表す。以下同様。)を無線通信手段5を介してサーバから取り込むダウンロード手段である。
7はダウンロード手段6でダウンロードしたデータを電源断などがあっても消えないようにフラッシュROM装置2に一時的に保存する一時保存手段である。このように不揮発性メモリであるフラッシュROM装置2にダウンロードしたデータを保存すれば、電池の容量がなくなったり電池がはずされたりしても、メモリ内容、即ちフラッシュROM装置2にダウンロードしたデータは消えないので、ダウンロードデータは電池の状態に関係なくフラッシュROM装置2に保存されたままの状態となる。
ここで上述のソフトウエア修正手段3について再度説明すると、ソフトウエア修正手段3は、先にRAM装置4上に記憶された修正を必要とするソフトウエアのブロック中のソフトウエアを、ダウンロード手段6によりダウンロードされたソフトウエアの修正を行なう修正データ、即ち後述する差分データ(ソフトウエア)に基づいて修正を行なう。その後、この差分データを適用した後の修正ソフトウエアのイメージをRAM装置4上で作成し、この作成した修正ソフトウエアのイメージをフラッシュROM装置2に転送して書き込み記憶することによりフラッシュROM装置2に記憶されたソフトウエアを修正するものである。
8はフラッシュROM装置2に記憶されたソフトウエアを修正する処理中に電源断などでソフトウエアの修正が途中状態で終わってしまった状態なのかどうか、即ちフラッシュROM装置2に修正ソフトウエアのイメージを書き込むまでの処理が途中状態で終わってしまった状態なのかどうかを判定するリカバリ要否判定手段である。9はリカバリ要否判定手段8での判定結果に基づきフラッシュROM装置2の状態をソフトウエアの修正前の状態に戻すリカバリ処理を実行するリカバリ手段である。
次に動作について説明する。
図2は、ソフトウエアの更新処理手順を示すフローチャートである。
図を用いて、ソフトウエアの更新処理動作について説明する。まず、ダウンロード手段6がステップS101でソフトウエアの更新が必要か否かを判定する。この判定は、無線通信手段5を利用して、更新サービスをするサーバに自己のバージョン情報を送付した上で更新が必要かを問い合わせることにより判断してもかまわないし、ユーザが最新バージョン情報を入力して更新を必要とするかどうかを判断しても良いし、バージョン情報を表示して、ユーザが更新するかどうかを選択してもかまわない。あるいは、無線通信手段5を利用して、例えば、ソフトウエアの更新データを提供するサーバから最新バージョン情報を獲得して、移動機上で更新が必要化否かを判断してもかまわない。この判断には、最新のバージョンの情報と移動機のバージョンの情報が同じかどうかで判断するか、または、最新のバージョンの情報と移動機のバージョンの情報との大小関係で判断する。
図2は、ソフトウエアの更新処理手順を示すフローチャートである。
図を用いて、ソフトウエアの更新処理動作について説明する。まず、ダウンロード手段6がステップS101でソフトウエアの更新が必要か否かを判定する。この判定は、無線通信手段5を利用して、更新サービスをするサーバに自己のバージョン情報を送付した上で更新が必要かを問い合わせることにより判断してもかまわないし、ユーザが最新バージョン情報を入力して更新を必要とするかどうかを判断しても良いし、バージョン情報を表示して、ユーザが更新するかどうかを選択してもかまわない。あるいは、無線通信手段5を利用して、例えば、ソフトウエアの更新データを提供するサーバから最新バージョン情報を獲得して、移動機上で更新が必要化否かを判断してもかまわない。この判断には、最新のバージョンの情報と移動機のバージョンの情報が同じかどうかで判断するか、または、最新のバージョンの情報と移動機のバージョンの情報との大小関係で判断する。
ステップS101でソフトウエアの更新が必要となると、ダウンロード手段6がステップS102でダウンロード手段6を利用してファイル(ソフトウエアの修正を行なう修正データ)をダウンロードする。このダウンロードは、例えばダウンロード手段6が無線通信手段5を介してサーバに対して自己のソフトウエアのバージョン情報を送り、サーバから最新のソフトウエアにアップデートするためのファイル名や場所を示す情報などの必要なファイル情報をもらう。この操作は、サーバからファイルのリストを送付してもらい、その中から自己のバージョンにあったファイルを選択しても良いし、ユーザがバージョンの情報を見てファイルを選択するという方法でもかまわない。
ダウンロード手段6によりダウンロードされたファイルは、電源断などがあっても消えないように一時保存手段7がフラッシュROM装置2に記憶する。この記憶領域は不揮発性のメモリであれば、フラッシュROMでもバッテリバックアップのROMでもかまわない。
次に、ステップS103でダウンロードされたデータを解析してフラッシュROM装置2上のソフトウエアをソフトウエア修正手段3およびRAM装置4を利用して書き換える。即ち、ソフトウエア修正手段3およびRAM装置4を利用してフラッシュROM装置2上のソフトウエアの修正を行なう。具体的な書き換えの処理動作については後述する。
なお、ステップS103の書き換え処理の最後には、例えば、チェックサムをとるなどして正常に書き換えられたことを確認した後、ステップS104で再起動をする。
なお、ステップS103の書き換え処理の最後には、例えば、チェックサムをとるなどして正常に書き換えられたことを確認した後、ステップS104で再起動をする。
ステップS104で再起動された後、リカバリ要否判定手段8がステップS105で正常に書き換えられたか否を判定し、正常に書き換えられた場合には、例えばチェックサムが正しく、後述する書き換えの処理動作で書き換え完了の状態であれば、正常に書き換えが完了したと判定し、書き換えの処理は終了する。
一方、正常に書き換えが完了してないと判定された場合は、リカバリ処理が行なわれる。
一方、正常に書き換えが完了してないと判定された場合は、リカバリ処理が行なわれる。
次に、リカバリ手段9がステップS106でリカバリ処理を行なう。このリカバリ処理については後述する。ステップS107でリカバリ中のフラグやチェックサムなどを見て正しくリカバリ処理が行われたかどうかを判定し、正しくリカバリ処理が行われた判定された場合は更新処理を終了する。正常にリカバリ処理が行われなかったと判定された場合は、故障を示す情報を出して異常終了とする。
次に、ソフトウエアの書き換え処理動作について説明する。
図3は、ソフトウエアの書き換え処理の処理手順を示すフローチャートである。書き換え処理が開始されると、まず、ソフトウエア修正手段3がステップS201で書き換え中であることを示す書き換え中フラグを設定し、この設定した書き換え中フラグをフラッシュROM装置2に記憶する。電池を抜かれた場合など電源断の後に携帯電話端末装置1が再起動された時には、リカバリ要否判定手段がフラッシュROM装置2に記憶された書き換え中フラグを確認することによって、書き換えが正常に完了した通常の起動なのか、書き換え中になんらかの原因で起動がかかったのかを判断することができる。例えば、再起動時に、書き換え開始時に設定した書き換え中フラグが確認された場合には、書き換え処理が正規に終了しなかったと判断され、また書き換え中フラグが確認されなかった場合には、書き換え処理が正規に終了したと判断される。
図3は、ソフトウエアの書き換え処理の処理手順を示すフローチャートである。書き換え処理が開始されると、まず、ソフトウエア修正手段3がステップS201で書き換え中であることを示す書き換え中フラグを設定し、この設定した書き換え中フラグをフラッシュROM装置2に記憶する。電池を抜かれた場合など電源断の後に携帯電話端末装置1が再起動された時には、リカバリ要否判定手段がフラッシュROM装置2に記憶された書き換え中フラグを確認することによって、書き換えが正常に完了した通常の起動なのか、書き換え中になんらかの原因で起動がかかったのかを判断することができる。例えば、再起動時に、書き換え開始時に設定した書き換え中フラグが確認された場合には、書き換え処理が正規に終了しなかったと判断され、また書き換え中フラグが確認されなかった場合には、書き換え処理が正規に終了したと判断される。
次に、ソフトウエア修正手段3がステップS202で差分データを解析する。通常、フラッシュROM装置2は書き換え対象部分と書き換え非対象部分とがある。例えば、プログラムコード部は書き換え対象となり、ユーザデータは非書き換え対象となる。
差分データは、これまでフラッシュROM装置2に記憶されていたデータ(ソフトウエア)である旧版と新たにフラッシュROM装置2に記憶されるデータ(ソフトウエア)である新版とを比較して、新版に追加や書き換えることが必要となるデータを示すものであり、旧版と新版とを比較して、データを換えることのない不変の部分と内容は同じであるが配置されたアドレス(位置)がずれている部分と、データが新しく挿入される部分との情報の組み合わせにより決まる。不変の部分は、開始アドレスと終了アドレスの情報、開始アドレスとその開始アドレスからのサイズの情報で示される。また、新しく挿入されるべき情報は新規に挿入したソフトウエアそのものをデータとして表現する。
差分データは、これまでフラッシュROM装置2に記憶されていたデータ(ソフトウエア)である旧版と新たにフラッシュROM装置2に記憶されるデータ(ソフトウエア)である新版とを比較して、新版に追加や書き換えることが必要となるデータを示すものであり、旧版と新版とを比較して、データを換えることのない不変の部分と内容は同じであるが配置されたアドレス(位置)がずれている部分と、データが新しく挿入される部分との情報の組み合わせにより決まる。不変の部分は、開始アドレスと終了アドレスの情報、開始アドレスとその開始アドレスからのサイズの情報で示される。また、新しく挿入されるべき情報は新規に挿入したソフトウエアそのものをデータとして表現する。
次に、ソフトウエア修正手段3がステップS203で差分データの中で独立な部分に関してソフトウエアの書き換え領域即ちソフトウエアの修正領域を読み出す。ここで独立な部分とは、複数の領域間で位置がずれる、即ち、旧版から新版にコピーする領域に関して重なることがない領域のことで、旧版を書き換えてしまってもその書き換え前の情報を新版にコピーすることがないことを保証するものである。
言いかえると、独立な部分とは、ページ : 5旧版の情報から新版の情報を作成する時の基本的な部分で、新版を旧版から作成していく場合、新版を作成してメモリ上に書き込んでしまうと、旧版の情報は消えてしまうので、消えたあとで旧版の情報を利用したくてもそれができない。つまり、新版をある領域に書き込んだら、その書き込まれた領域にあった旧版の情報は使えなくなる。逆にいうと、書き込んだ後はその領域の情報を使わないことを保証する必要がある。独立な部分を示すには、全差分データを読み込んで解析しても良いし、保証することを示す情報を差分データの中に入れておいても良い。
ステップS203で書き換えの対象となる書き換え領域が読み出されると、ソフトウエア修正手段3がステップS204で、一旦書き換え領域をバックアップするためにフラッシュROM装置2に書き換え領域を退避する。即ち、書き換え領域をフラッシュROM装置2のバックアップ領域に記憶する。
続いて、ソフトウエア修正手段3はステップS205でリカバリフラグを設定する。リカバリフラグは、リカバリ処理中に電源断により携帯電話端末装置1が切れリカバリ処理が中断した後に、携帯電話端末装置1を再起動した時にリカバリ処理が中断したことを示すフラグであり、ソフトウエア修正手段3がステップS205で設定したリカバリフラグをフラッシュROM装置2に記憶する。
続いて、ソフトウエア修正手段3はステップS205でリカバリフラグを設定する。リカバリフラグは、リカバリ処理中に電源断により携帯電話端末装置1が切れリカバリ処理が中断した後に、携帯電話端末装置1を再起動した時にリカバリ処理が中断したことを示すフラグであり、ソフトウエア修正手段3がステップS205で設定したリカバリフラグをフラッシュROM装置2に記憶する。
次に、ソフトウエア修正手段3がステップS206で、差分適用を行なう。差分適用は、差分データを解析し、移動もなにもしない部分はそのままで、移動するべきものは元のデータから移動し、新しいデータに関しては挿入することにより生成イメージ、即ち修正ソフトウエアのイメージを作成し、この生成イメージをフラッシュROM装置2に書き込むことにより行なう。
次に、ソフトウエア修正手段3がステップS207で逆差分データを生成する。逆差分データは、フラッシュROM装置2に記憶されたデータ(ソフトウエア)を書き換え修正前のデータに復元する時に利用されるデータであり、旧版から新版に移動されたデータである。旧版から新版に移動したデータは新版から逆に旧版にもどすことにより、フラッシュROM装置2に記憶されたデータ(ソフトウエア)を書き換え修正前のデータに復元することができる。なお、旧版から新版に移動しなかったデータは新版から旧版に戻すことはなく逆差分データにはならない。
ここでデータを挿入した部分は無視してよく、逆に、移動やデータ挿入によって消えてしまったデータに関しては図3のステップS204でフラッシュROM装置2に退避させた書き換え領域(バックアップ領域)を参照した上で、バックアップ領域に記憶されたデータを逆差分データとして逆差分情報を生成する。これは、旧版から新版を作成する際に、新規に挿入されたデータを記載していたが、元に戻す時には挿入されたデータそのものがあっても意味がなく、逆に、旧版には存在したが、コピーや新規のデータによって消去された情報は必要になるためである。
ステップS208では、独立した部分の一つの処理を終えた段階で、全領域の書き換えが終了したかどうかを確認し、終了していなければ、テップS202からのステップを繰り返す。全部終了している場合には、リカバリ要否判定手段8がステップS209で、例えば、チェックサムなどによって正常に書き換えられていることを確認し、ステップS210で正常終了が確認された場合には、ステップS211で書き換え中フラグを消去して書き換え処理は終了する。
この書き換え処理終了時に、必要があれば、バックアップ領域や差分データを消してもかまわない。また、終了後の始めての起動のときに正常に起動が完了した段階で書き換え中フラグを消去しても構わない。
なお、ステップS210で正常終了でない場合には、後述するリカバリ処理に処理が進む。
なお、ステップS210で正常終了でない場合には、後述するリカバリ処理に処理が進む。
次に、リカバリ処理動作について説明する。
図4は、リカバリ処理の処理手順を示すフローチャートである。リカバリ処理は、書き換え処理中に電池脱などにより電源が切れて書き換え処理が正常に終了されなかった場合に行なわれる処理で、図3のステップS201で設定されフラッシュROM装置2に記憶された書き換え中フラグをリカバリ要否判定手段8が確認することにより、リカバリ処理の必要性を判定することができる。
図4は、リカバリ処理の処理手順を示すフローチャートである。リカバリ処理は、書き換え処理中に電池脱などにより電源が切れて書き換え処理が正常に終了されなかった場合に行なわれる処理で、図3のステップS201で設定されフラッシュROM装置2に記憶された書き換え中フラグをリカバリ要否判定手段8が確認することにより、リカバリ処理の必要性を判定することができる。
まず、リカバリ手段9がステップS301でリカバリフラグを探索する。リカバリフラグは、リカバリ処理が中断したことを示すフラグであり、図3のステップS205で設定されるものである。リカバリフラグが設定されリカバリが必要とされている部分は、既にフラッシュROM装置2は書き換えられ元にもどすための逆差分情報も作成されており、この逆差分情報を使って元にもどすのか、または逆差分情報は作成されていないが、旧版の元のデータはバックアップ領域に存在するのでこの旧版の元のデータを使ってフラッシュROM装置2の状態をソフトウエアの修正前の元の状態に戻すかのいずれかを行なう。
ステップS302でリカバリフラグが全くない場合は、リカバリ処理は必要ない状態であることを示すので、処理は終了する。このような場合は、図3におけるステップS201から205の最初のシーケンス中に電源が切られて書き換えを全く行っていない場合か、リカバリ処理が全て終わった後に書き換え中フラグを消去していないケースでステップS307からステップS308の間に電源が切られた場合のどちらかを示すものである。
ステップS302でリカバリフラグがあった場合は、リカバリ処理が必要であることを示しており、リカバリフラグは書き換えた部分に順番に設定されていくため、順番に見ていくことにより、どの独立領域が最終かを判定することができる。
ステップS303で、最終の領域であるかどうかを判定し、最終領域であれば、そこまでの領域は既にリカバリ処理済みであるか又は書き換えてないことを示し、その領域以降は修正が不要であることを示し、その領域はバックアップ領域に元にもどすためのデータとしてのコピーがあることを示している。
ステップS303で、最終の領域であるかどうかを判定し、最終領域であれば、そこまでの領域は既にリカバリ処理済みであるか又は書き換えてないことを示し、その領域以降は修正が不要であることを示し、その領域はバックアップ領域に元にもどすためのデータとしてのコピーがあることを示している。
ステップS303で最終領域であれば、ステップS306でバックアップ領域に存在するのでフラッシュROM装置2の状態をソフトウエアの修正前の元の状態に戻すために、旧版の元のデータを使って元にもどすコピーをしてフラッシュROM装置2に記憶されたソフトウエアの状態を元の状態に戻し、ステップS307でリカバリフラグを消去し、ステップS308で書き換え中フラグを消去してリカバリ処理を終える。
ステップS303で独立部分の最終領域でなければ、リカバリ処理は次の領域でも必要であることを示し、該当領域のバックアップがバックアップ領域にあるわけではないので、ステップS304で逆差分を適用し、元の状態に戻した上で、該当部分のリカバリフラグを消去して、再度ステップS301を実行する。
ステップS304における逆差分は、先に説明したように、旧版と新版とで内容が変わっていないために元の状態のままとする情報と、旧版から一部新版では内容が同じだがアドレスが変わっているために新版から元に戻すためのコピーを旧版に対して行なう情報と、新規のデータによって上書きされたり、コピーによって消去されたデータを元に戻すための旧版にあった元のデータの情報とからなる。これらは差分データとして保存されている情報で、アドレスの始点と終点をあたえる方式で、それぞれの情報を記述しても良いし、またアドレスの始点とサイズの情報を与える方式で記載してもかまわない。
以上のように本実施の形態によれば、携帯電話端末装置のソフトウエアの更新処理が携帯電話端末装置側ででき、又この更新処理が正常に終了しない異常時にも、携帯電話端末装置のソフトウエアを更新前の元の状態に自動的に復帰させることもできる。また、これらの処理は、ソフトエアを更新するサービスがあった場合などには、無線網が使えることにより、事後にサービス側に自動連絡するなどの処置を加えることができ、端末上に異常が発生したことをサービス側で把握することができる。
なお本実施の形態によれば、上述のようにソフトウエアの更新ができることから、携帯電話端末装置が発売され、ユーザが携帯電話を購入した後にソフトウエアの不具合が確認された場合でも、ユーザが店などに携帯電話などを持ち込まなくてもユーザ自身がソフトウエアの更新をすることができ、また、ソフトウエアの書き換え途中で電源が落ちてもソフトウエアの不具合を自動的に修正することができる効果が得られる。
なお本実施の形態によれば、上述のようにソフトウエアの更新ができることから、携帯電話端末装置が発売され、ユーザが携帯電話を購入した後にソフトウエアの不具合が確認された場合でも、ユーザが店などに携帯電話などを持ち込まなくてもユーザ自身がソフトウエアの更新をすることができ、また、ソフトウエアの書き換え途中で電源が落ちてもソフトウエアの不具合を自動的に修正することができる効果が得られる。
1 携帯電話端末装置、2 フラッシュROM装置、3 ソフトウエア修正手段、4 RAM装置、5 無線通信手段、6 ダウンロード手段、7 一時保存手段、8 リカバリ要否判定手段、9 リカバリ手段。
Claims (6)
- 携帯電話を作動するソフトウエアが記憶され、又このソフトウエアの修正を行なう修正データが保存された不揮発性メモリと、
サーバからダウンロードされた前記修正データを前記不揮発性メモリに保存する保存手段と、
前記不揮発性メモリに記憶された前記ソフトウエア中の要修正ソフトウエアのブロックが記憶された記憶装置と、
前記ブロックを前記不揮発性メモリに記憶された前記ソフトウエア中から読み込み前記記憶装置に記憶し、又前記記憶装置に記憶された前記ブロック中のソフトウエアを前記修正データに基づいて修正し、この修正ソフトウエアを前記不揮発性メモリに書き込むソフトウエア修正手段と、
前記ソフトウエア修正手段による前記不揮発性メモリへの修正ソフトウエアの書き込みが終了したか否かの判定をするリカバリ要否判定手段と、
前記リカバリ要否判定手段により前記修正ソフトウエアの書き込みが終了したと判定されなかった場合には前記不揮発性メモリに記憶されたソフトウエアを前記修正ソフトウエアの書き込み前の状態に戻すリカバリ処理を実行するリカバリ手段と、を備えたことを特徴とするソフトウエア修正機能付き携帯電話端末装置。 - 前記ソフトウエア修正手段は、前記修正ソフトウエアを前記不揮発性メモリに書き込み中であることを示す第1のフラグを前記不揮発性メモリに記憶し、
前記リカバリ要否判定手段手段は、起動時に前記不揮発性メモリに記憶された前記第1のフラグの有無により前記不揮発性メモリへの修正ソフトウエアの書き込みが終了したか否かを判定することを特徴とする請求項1記載のソフトウエア修正機能付き携帯電話端末装置。 - 前記修正データは、前記ブロック中のソフトウエアと前記修正データにより修正したソフトウエアとの差分情報であることを特徴とする請求項1記載のソフトウエア修正機能付き携帯電話端末装置。
- 前記ソフトウエア修正手段は、前記リカバリ手段によるリカバリ処理が中断したことを示す第2のフラグを前記不揮発性メモリに記憶し、
前記リカバリ要否判定手段手段は、起動時に前記不揮発性メモリに記憶された前記第2のフラグの有無によりリカバリ処理を実行するか否か判断し、
前記リカバリ手段は、前記リカバリ要否判定手段手段の判定結果に基づいてリカバリ処理を実行することを特徴とする請求項1記載のソフトウエア修正機能付き携帯電話端末装置。 - 前記ソフトウエア修正手段は、前記ブロック中のソフトウエアを前記修正データに基づいて修正した前記修正ソフトウエアの修正部分を逆差分データとして生成し、
前記リカバリ手段は、前記リカバリ処理が中断した時には前記逆差分データに基づいて前記不揮発性メモリに記憶されたソフトウエアを前記修正ソフトウエアの書き込み前の状態に戻すことを特徴とする請求項1記載のソフトウエア修正機能付き携帯電話端末装置。 - 前記リカバリ手段は、前記記憶装置に記憶された前記ブロックに基づいて前記不揮発性メモリに記憶されたソフトウエアを前記修正ソフトウエアの書き込み前の状態に戻すことを特徴とする請求項1記載のソフトウエア修正機能付き携帯電話端末装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004019624A JP2005215841A (ja) | 2004-01-28 | 2004-01-28 | ソフトウエア修正機能付き携帯電話端末装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004019624A JP2005215841A (ja) | 2004-01-28 | 2004-01-28 | ソフトウエア修正機能付き携帯電話端末装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005215841A true JP2005215841A (ja) | 2005-08-11 |
Family
ID=34903788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004019624A Withdrawn JP2005215841A (ja) | 2004-01-28 | 2004-01-28 | ソフトウエア修正機能付き携帯電話端末装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005215841A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249340A (ja) * | 2006-03-14 | 2007-09-27 | Fujitsu Ltd | ソフトウェアアップデート方法、アップデート管理プログラム、情報処理装置 |
JP2010044574A (ja) * | 2008-08-12 | 2010-02-25 | Sony Ericsson Mobilecommunications Japan Inc | 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム |
JP2010198387A (ja) * | 2009-02-25 | 2010-09-09 | Kyocera Corp | 電子機器 |
JP2010231349A (ja) * | 2009-03-26 | 2010-10-14 | Kyocera Corp | 電子機器 |
JP2012159965A (ja) * | 2011-01-31 | 2012-08-23 | Kyocera Document Solutions Inc | 画像形成装置 |
JP2013033498A (ja) * | 2006-09-01 | 2013-02-14 | Ricoh Co Ltd | 機器、プログラム更新方法、プログラム、及びプログラム更新システム |
US8665466B2 (en) | 2006-09-01 | 2014-03-04 | Ricoh Company, Ltd. | Image forming apparatus, program updating method and computer-readable storage medium |
JP2017134541A (ja) * | 2016-01-26 | 2017-08-03 | 富士通株式会社 | 情報処理装置及びソフトウェア更新方法 |
JP2019074847A (ja) * | 2017-10-13 | 2019-05-16 | 株式会社デンソー | 電子制御装置 |
JPWO2019159715A1 (ja) * | 2018-02-16 | 2020-12-03 | 日立オートモティブシステムズ株式会社 | 車両制御装置およびプログラム更新システム |
-
2004
- 2004-01-28 JP JP2004019624A patent/JP2005215841A/ja not_active Withdrawn
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249340A (ja) * | 2006-03-14 | 2007-09-27 | Fujitsu Ltd | ソフトウェアアップデート方法、アップデート管理プログラム、情報処理装置 |
US9098306B2 (en) | 2006-09-01 | 2015-08-04 | Ricoh Company, Ltd. | Image forming apparatus, program updating method and computer-readable storage medium |
JP2013033498A (ja) * | 2006-09-01 | 2013-02-14 | Ricoh Co Ltd | 機器、プログラム更新方法、プログラム、及びプログラム更新システム |
US8665466B2 (en) | 2006-09-01 | 2014-03-04 | Ricoh Company, Ltd. | Image forming apparatus, program updating method and computer-readable storage medium |
US8826263B2 (en) | 2008-08-12 | 2014-09-02 | Sony Corporation | Portable terminal, portable terminal control method, and portable terminal control program |
JP2010044574A (ja) * | 2008-08-12 | 2010-02-25 | Sony Ericsson Mobilecommunications Japan Inc | 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム |
JP2010198387A (ja) * | 2009-02-25 | 2010-09-09 | Kyocera Corp | 電子機器 |
JP2010231349A (ja) * | 2009-03-26 | 2010-10-14 | Kyocera Corp | 電子機器 |
JP2012159965A (ja) * | 2011-01-31 | 2012-08-23 | Kyocera Document Solutions Inc | 画像形成装置 |
JP2017134541A (ja) * | 2016-01-26 | 2017-08-03 | 富士通株式会社 | 情報処理装置及びソフトウェア更新方法 |
JP2019074847A (ja) * | 2017-10-13 | 2019-05-16 | 株式会社デンソー | 電子制御装置 |
JP7087334B2 (ja) | 2017-10-13 | 2022-06-21 | 株式会社デンソー | 電子制御装置 |
JPWO2019159715A1 (ja) * | 2018-02-16 | 2020-12-03 | 日立オートモティブシステムズ株式会社 | 車両制御装置およびプログラム更新システム |
JP7044859B2 (ja) | 2018-02-16 | 2022-03-30 | 日立Astemo株式会社 | 車両制御装置およびプログラム更新システム |
US11449329B2 (en) | 2018-02-16 | 2022-09-20 | Hitachi Astemo, Ltd. | Vehicle control device and program update system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7502813B2 (en) | Software update process using an extra memory block | |
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
JP4944686B2 (ja) | ソフトウェア更新方法および携帯端末装置 | |
CN101026848B (zh) | 移动终端和软件更新方法 | |
US8539471B2 (en) | Updating firmware of an electronic device | |
WO2010035596A1 (ja) | ファームウェア更新装置及び方法 | |
CN112416406B (zh) | 终端设备升级方法、装置、终端设备和介质 | |
JP4859465B2 (ja) | ソフトウェア更新方法および移動端末装置 | |
JP2005215841A (ja) | ソフトウエア修正機能付き携帯電話端末装置 | |
JP2004213201A (ja) | バージョンアップ方法 | |
JP2009009391A (ja) | 更新処理ソフトウェア自己更新方法および携帯端末装置 | |
JP2006518059A (ja) | フォールト・トレラントな更新エージェントを有するモバイルハンドセット | |
WO2005085997A2 (en) | Automatic backup store in firmware upgrades | |
CN106775874B (zh) | 终端设备的系统升级方法 | |
KR101085681B1 (ko) | 이동통신 단말기의 데이터 복구 시스템 및 방법 | |
JP2001331379A (ja) | フラッシュメモリ更新プログラムの書き換え方法及び装置 | |
JP5158883B2 (ja) | ファームウェア更新方法及びファームウェア更新装置 | |
JP2005242930A (ja) | 情報処理装置、プログラム更新方法、プログラム更新プログラム、およびプログラム更新プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2010079382A (ja) | ソフトウエア更新方法 | |
JP2008077474A (ja) | ファームウェア更新方法、電子機器、ファームウェア更新プログラム | |
JP5275105B2 (ja) | 電子機器 | |
JP2007133602A (ja) | 情報処理システムおよび車載装置 | |
JP6988636B2 (ja) | リプログラミング方法 | |
KR20080037299A (ko) | 역델타 파일 생성 방법 및 이를 이용한 펌웨어 복구 방법 | |
CN116243960A (zh) | 用于回滚的差分数据生成方法以及车辆控制器的回滚方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090129 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090407 |