(57)【要約】【課題】  ソフトウェアプログラムを記憶するメモリの記憶領域を有効に使用可能とし、バージョンアップの回数が多数に及ぶ場合でも、１種類の更新用ファイルのリリースで済み、また、動作確認作業も、この１種類の更新用ファイルに対する動作確認作業のみとすることを可能とする。【解決手段】  ソフトウェアプログラムの更新処理に際して、ＮＡＮＤメモリ１１に、旧バージョン番号のソフトウェアプログラムと共に、ダウングレードファイル及び更新用ファイルを記憶する。そして、ダウングレードファイルを用いて、旧バージョン番号のソフトウェアプログラムを、一旦、最初期バージョン番号のソフトウェアプログラムにダウングレード処理し、このダウングレード処理したソフトウェアプログラムを、更新ファイルを用いて、最新バージョン番号のソフトウェアプログラムに更新処理する。【選択図】  図６
2009151426.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアプログラムを記憶する記憶手段と、
上記記憶手段に記憶されているソフトウェアプログラムを、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するダウングレード処理手段と、
上記ダウングレード処理手段によりダウングレード処理された、上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを取得する更新用ファイル取得手段と、
上記更新用ファイル取得手段により取得された更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する更新処理手段と
を有するソフトウェアプログラムの更新処理装置。
【請求項２】
請求項１に記載のソフトウェアプログラムの更新処理装置であって、
上記記憶手段に記憶されているソフトウェアプログラムを、複数回に渡って所定の上位のバージョン番号のソフトウェアプログラムに更新処理する場合、
上記記憶手段に記憶されているソフトウェアプログラムを、上記更新用ファイル取得手段で取得された複数の更新用ファイルに基づいて、上記更新処理手段が順に上位のバージョン番号のソフトウェアプログラムに更新処理し、
或いは、上記記憶手段に記憶されているソフトウェアプログラムを、上記ダウングレード処理手段により、上記ベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このベースバージョン番号のソフトウェアプログラムに対して、上記更新処理手段が、上記更新用ファイル取得手段で取得された複数の更新用ファイルに基づいて順に上位のバージョン番号のソフトウェアプログラムに更新処理すること
を特徴とするソフトウェアプログラムの更新処理装置。
【請求項３】
記憶手段に記憶されているソフトウェアプログラムを、ダウングレード処理手段が、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するステップと、
上記ステップにおいて上記ダウングレード処理手段によりダウングレード処理された、上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを、更新用ファイル取得手段が取得するステップと、
上記ステップにおいて上記更新用ファイル取得手段により取得された更新用ファイルに基づいて、更新処理手段が、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理するステップと
を有するソフトウェアプログラムの更新処理方法。
【請求項４】
記憶手段に記憶されているソフトウェアプログラムを、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するダウングレード処理手段としてコンピュータを機能させ、
コンピュータを上記ダウングレード処理手段として機能させることでダウングレード処理された上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを取得するように、更新用ファイル取得手段を制御する更新用ファイル取得制御手段としてコンピュータを機能させ、
コンピュータを上記更新用ファイル取得制御手段として機能させることで、上記更新用ファイル取得手段により取得された更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する更新処理手段としてコンピュータを機能させること
を特徴とするソフトウェアプログラムの更新処理プログラム。
【請求項５】
ソフトウェアプログラムを記憶する記憶手段と、
上記記憶手段に記憶されているソフトウェアプログラムを、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するダウングレード処理手段と、
無線通信を行うための無線通信手段と、
上記ダウングレード処理手段によりダウングレード処理された、上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを、所定のネットワーク上のサーバ装置から取得するように、上記無線通信手段を通信制御する更新用ファイル取得手段と、
上記更新用ファイル取得手段の通信制御により、上記無線通信手段を介して取得された更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する更新処理手段と
を有する携帯端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば携帯電話機、ＰＨＳ電話機（PHS：Personal Handyphone System）、ＰＤＡ装置（PDA：Personal Digital Assistant）、通信機能を備えた携帯ゲーム機、ノート型或いはデスクトップ型のパーソナルコンピュータ装置等に適用して好適なソフトウェアプログラムの更新処理装置、ソフトウェアプログラムの更新処理方法、ソフトウェアプログラムの更新処理プログラム、及び携帯端末装置に関し、特にソフトウェアプログラムを記憶するメモリの記憶領域が、当該ソフトウェアプログラムのバージョンアップが図られる毎に該バージョンアップ用の更新用ファイルで圧迫される不都合を防止したソフトウェアプログラムの更新処理装置、ソフトウェアプログラムの更新処理方法、ソフトウェアプログラムの更新処理プログラム、及び携帯端末装置に関する。
【背景技術】
【０００２】
今日において、携帯電話機等の携帯機器のソフトウェアプログラムの不具合の修正やアップデートを無線経由で迅速に行うＦＯＴＡ方式（FOTA：Firmware Over The Air）が知られている。このＦＯＴＡ方式においては、更新前のソフトウェアプログラムと更新後のソフトウェアプログラムとの違いを示す差分データ（＝更新用ファイル）を用い、該更新前のソフトウェアプログラムを修正することで、ソフトウェアプログラムのバージョンアップを図るようになっている。
【０００３】
しかし、最新バージョンのソフトウェアプログラムがリリースされた時点において、全てのユーザ携帯機器が、この最新バージョンの一つ前のバージョンのソフトウェアプログラムに更新済みであるとは限らない。このため、最新バージョンのソフトウェアプログラムをリリースする際には、今日までにリリースした全ての古いバージョンのソフトウェアプログラムを、それぞれ上記最新バージョンのソフトウェアプログラムにバージョンアップさせるための更新用ファイルをそれぞれ用意する必要があった。
【０００４】
すなわち、例えば最新バージョンのソフトウェアプログラムのバージョン番号がバージョンＶ５であり、このバージョンＶ５のソフトウェアプログラムをリリースする前にバージョンＶ１〜バージョンＶ４のソフトウェアプログラムが順にリリース済みであった場合、全てのユーザがバージョンＶ４のソフトウェアプログラムにバージョンアップ済みであるとは限らず、バージョンＶ２やバージョンＶ３までしかバージョンアップが済んでいないユーザも存在する。
【０００５】
このため、この例の場合における最新バージョンであるバージョンＶ５のソフトウェアプログラムをリリースする際には、バージョンＶ１のソフトウェアプログラムをバージョンＶ５のソフトウェアプログラムにバージョンアップするための更新用ファイル、バージョンＶ２のソフトウェアプログラムをバージョンＶ５のソフトウェアプログラムにバージョンアップするための更新用ファイル、バージョンＶ３のソフトウェアプログラムをバージョンＶ５のソフトウェアプログラムにバージョンアップするための更新用ファイル、バージョンＶ４のソフトウェアプログラムをバージョンＶ５のソフトウェアプログラムにバージョンアップするための更新用ファイルをそれぞれ用意する必要があった。
【０００６】
このように全てのバージョンのソフトウェアプログラムに対する更新用ファイルが必要となるため、ソフトウェアプログラムのバージョンアップが数多く行われると、現存するバージョン数に比例して更新用ファイルの数が増加すると共に、各更新用ファイル毎にそれぞれ動作確認作業を行う必要があることから、当該更新用ファイルの動作確認作業が増加する問題がある。
【０００７】
ここで、特許３９７７６２７号の特許公報（特許文献１）において、現在のバージョンがどの段階のバージョンであっても、１種類のバージョンアップファイルで対応可能としたシステムプログラムのバージョンアップ方法が開示されている。
【０００８】
このバージョンアップ方法の場合、現在起動しているシステムプログラムとは別に、初期バージョンのシステムプログラムを記憶装置に格納しておく。バージョンアップファイルとしては，システムプログラムを初期バージョンから最新バージョンへバージョンアップするものを用意する。そして、バージョンアップを行う際に、記憶装置の空き領域に初期バージョンのシステムプログラムの複製を作成し、初期バージョンのシステムプログラムの複製を、バージョンアップファイルを用いて最新バージョンのシステムプログラムに更新する。その後に、起動するシステムプログラムを最新バージョンのシステムプログラムに切り替える。
【０００９】
これにより、メーカ側では、初期バージョンから最新バージョンへバージョンアップする１種類のバージョンアップファイルのみ用意すれば良く、それまでリリースした各バージョンに対応する複数のバージョンアップファイルを用意する必要がなくなると共に、バージョンアップファイルの動作確認作業も、初期バージョンから最新バージョンへバージョンアップするバージョンアップファイルに対する動作確認作業のみとすることができる。
【００１０】
【特許文献１】特許３９７７６２７号公報（第５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献１に開示されているシステムプログラムのバージョンアップ方法の場合、初期バージョンのシステムプログラムを記憶装置に終始保存しておく必要がある。このため、記憶装置における上記初期バージョンのシステムプログラムを保存する領域は、言わばデッドスペースとなる問題がある（＝記憶装置の記憶領域が初期バージョンのシステムプログラムの保存で無駄に使用される問題がある。）。
【００１２】
具体的には、携帯電話機の内部メモリの記憶領域を１２８Ｍｂｙｔｅ、初期バージョンのシステムプログラムが４０Ｍｂｙｔｅ、最新バージョンのシステムプログラムが４０Ｍｂｙｔｅとすると、特許文献１に開示されているシステムプログラムのバージョンアップ方法の場合、当該内部メモリの１２８Ｍｂｙｔｅの全記憶領域のうち、８０Ｍｂｙｔｅ（初期バージョン４０Ｍｂｙｔｅ＋最新バージョン４０Ｍｂｙｔｅ）が使用され、残りが４０Ｍｂｙｔｅとなる。この残りの記憶領域はユーザ領域（ストレージ領域）として使用されることが多い。
【００１３】
このように、特許文献１に開示されているシステムプログラムのバージョンアップ方法の場合、本来は、ユーザ領域として８０Ｍｂｙｔｅが使用可能となるところを、初期バージョンのシステムプログラムを保存することで、ユーザ領域を４０Ｍｂｙｔｅまで減少させてしまう不都合がある。
【００１４】
本発明は、上述の課題に鑑みてなされたものであり、ソフトウェアプログラムを記憶するメモリの記憶領域を有効に使用可能とすることができ、バージョンアップの回数が多数に及ぶ場合でも、１種類の更新用ファイルのリリースで済み、また、動作確認作業も、この１種類の更新用ファイルに対する動作確認作業のみとすることができるような携帯端末装置の提供を目的とする。
【課題を解決するための手段】
【００１５】
本発明に係るソフトウェアプログラムの更新処理装置は、上述の課題を解決するための手段として、
ソフトウェアプログラムを記憶する記憶手段と、
上記記憶手段に記憶されているソフトウェアプログラムを、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するダウングレード処理手段と、
上記ダウングレード処理手段によりダウングレード処理された、上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを取得する更新用ファイル取得手段と、
上記更新用ファイル取得手段により取得された更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する更新処理手段と
を有する。
【００１６】
また、本発明に係るソフトウェアプログラムの更新処理方法は、上述の課題を解決するための手段として、
記憶手段に記憶されているソフトウェアプログラムを、ダウングレード処理手段が、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するステップと、
上記ステップにおいて上記ダウングレード処理手段によりダウングレード処理された、上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを、更新用ファイル取得手段が取得するステップと、
上記ステップにおいて上記更新用ファイル取得手段により取得された更新用ファイルに基づいて、更新処理手段が、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理するステップと
を有する。
【００１７】
また、本発明に係るソフトウェアプログラムの更新処理プログラムは、
記憶手段に記憶されているソフトウェアプログラムを、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するダウングレード処理手段としてコンピュータを機能させ、
コンピュータを上記ダウングレード処理手段として機能させることでダウングレード処理された上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを取得するように、更新用ファイル取得手段を制御する更新用ファイル取得制御手段としてコンピュータを機能させ、
コンピュータを上記更新用ファイル取得制御手段として機能させることで、上記更新用ファイル取得手段により取得された更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する更新処理手段としてコンピュータを機能させることで上述の課題を解決する。
【００１８】
また、本発明に係る携帯端末装置は、上述の課題を解決するための手段として、
ソフトウェアプログラムを記憶する記憶手段と、
上記記憶手段に記憶されているソフトウェアプログラムを、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理するダウングレード処理手段と、
無線通信を行うための無線通信手段と、
上記ダウングレード処理手段によりダウングレード処理された、上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを、所定のネットワーク上のサーバ装置から取得するように、上記無線通信手段を通信制御する更新用ファイル取得手段と、
上記更新用ファイル取得手段の通信制御により、上記無線通信手段を介して取得された更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する更新処理手段と
を有する。
【００１９】
このような本発明は、記憶手段に記憶されているソフトウェアプログラムのバージョンアップを図る際、当該記憶手段に記憶されているソフトウェアプログラムを、一旦、当該ソフトウェアプログラムのバージョン番号よりも所定の下位のバージョン番号であるベースバージョン番号のソフトウェアプログラムにダウングレード処理する。
【００２０】
また、このダウングレード処理された上記ベースバージョン番号のソフトウェアプログラムを、当該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイルを取得する。そして、この取得した更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムを、所定の上位のバージョン番号のソフトウェアプログラムに更新処理する。
【００２１】
本発明の場合、旧バージョン番号のソフトウェアプログラムを例えば最初期バージョン番号等のベースバージョン番号のソフトウェアプログラムにダウングレード処理するためのダウングレード処理プログラム、このベースバージョン番号のソフトウェアプログラムにダウングレード処理されたソフトウェアプログラムを、該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイル、及び上記更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムから上記上位のバージョン番号のソフトウェアプログラムに更新処理された該上位のバージョン番号のソフトウェアプログラムが記憶手段に記憶されることとなる。
【００２２】
ダウングレード処理プログラムや更新用ファイルのデータ量は、例えば数ｋｂｙｔｅ〜１Ｍｂｙｔｅ程度となり、例えば４０Ｍｂｙｔｅのソフトウェアプログラムのデータ量に対して、わずか数十分の一程度のデータ量となる。このため、最初期バージョン番号のソフトウェアプログラム（４０Ｍｂｙｔｅ）、及び最新バージョン番号のソフトウェアプログラム（４０Ｍｂｙｔｅ）を共に記憶手段に記憶する場合に比べ（計８０Ｍｂｙｔｅ）、記憶手段に記憶させるプログラム等のデータ量を大幅に削減することができる。従って、記憶領域の余領域をユーザ領域等に有効に使用可能とすることができる。
【００２３】
また、旧バージョン番号のソフトウェアプログラムを、一旦、ベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このダウングレード処理したソフトウェアプログラムを所定の上位のバージョン番号のソフトウェアプログラムに更新処理するようになっている。このため、リリースする更新用ファイルは、ベースバージョン番号のソフトウェアプログラムを、例えば最新バージョン番号等の上位のバージョン番号のソフトウェアプログラムに更新する、１種類の更新用ファイルのみとすることができる。
【００２４】
また、リリースする更新用ファイルを上記１種類の更新用ファイルのみとすることができるため、動作確認作業も、この１種類の更新用ファイルに対する動作確認作業のみとすることができる。
【発明の効果】
【００２５】
本発明は、記憶手段の記憶領域を圧迫することなく、ソフトウェアプログラムの更新処理を図ることができる。このため、記憶手段上に大きな記憶容量の余領域を確保することができ、この余領域をユーザ領域等に有効に使用可能とすることができる。
【００２６】
また、過去におけるバージョンアップの回数が多数に及ぶ場合でも、１種類の更新用ファイルのリリースのみで対応可能とすることができる。従って、最新バージョンのソフトウェアプログラムをリリースする際における更新用ファイルの動作確認作業も、この１種類の更新用ファイルに対する動作確認作業のみとすることができ、当該動作確認作業を大幅に軽減することができる。
【発明を実施するための最良の形態】
【００２７】
本発明は、例えばＣＤＭＡ通信方式(CDMA：Code Division Multiple Access)に対応した無線通信が可能な携帯電話機に適用することができる。
【００２８】
［携帯電話機の構成］
この本発明を適用した実施の形態となる携帯電話機は、図１に示すように無線基地局との間で上記ＣＤＭＡ通信方式に基づく音声通話、テレビ電話通話、電子メール、Ｗｅｂデータ（Web：World Wide Web）等の無線通信を行うアンテナ１及び通信回路２と、操作メニュー、電子メール、画像（静止画像及び動画像）等を表示するための表示部３と、所望のメニューの選択操作等を行うための操作部４と、受話音声等を出力するためのスピーカ部５と、送話音声等を集音するためのマイクロホン部６と、所望の被写体の静止画像や動画像を撮像するためのカメラ部７と、発着信等を光でユーザに通知するための発光部８（LED：Light Emitting Diode）とを有している。
【００２９】
また、この携帯電話機は、当該携帯電話機の筐体を振動させて発着信等をユーザに通知するためのバイブレーションユニット９と、現在時刻をカウントするタイマ１０と、通信プログラム、後述するソフトウェアプログラムの更新制御プログラムやユーザデータ等が記憶されたＮＡＮＤメモリ１１（NAND：NOT-AND）と、ＮＡＮＤメモリ１１から読み出された上記通信プログラム等が展開されるＳＤＲＡＭ１２（Synchronous Dynamic Random Access Memory）と、当該携帯電話機全体の動作を制御する制御部１４とを有している。
【００３０】
〔ＮＡＮＤメモリ〕
この携帯電話機は、図２に示すように、ＮＡＮＤメモリ１１に記憶されたソフトウェアプログラムをＳＤＲＡＭ１２上に展開して実行する、いわゆるＮＡＮＤブート方式に基づいてソフトウェアプログラムを実行するようになっている。
【００３１】
ＮＡＮＤメモリ１１に記憶されているソフトウェアプログラムを更新（バージョンアップ）する場合、図３（ａ）〜図３（ｃ）に示すように、所定のネットワーク上のサーバ装置から、古いバージョンのソフトウェアプログラムに対する最新バージョンのソフトウェアプログラムの差を示すプログラムとなる更新用ファイルをダウンロードし、この更新用ファイルに基づいて、ＮＡＮＤメモリ１１に記憶されている古いバージョンのソフトウェアプログラムを書き換えることでバージョンアップを図るようになっている。
【００３２】
ＮＡＮＤメモリ１１は、図４に示すように当該携帯電話機のメイン電源の投入時に読み込まれるブートプログラムが記憶されたブートプログラム格納領域２１と、例えばＣＤＭＡ通信プログラム等の所定のソフトウェアプログラムが記憶されるプログラム格納領域２２と、このプログラム格納領域２２に記憶されているソフトウェアプログラムを、初期バージョン（或いは所定の下位バージョン）にダウングレードするためのダウングレードファイルが記憶されるダウングレードファイル格納領域２３とを有している。
【００３３】
また、ＮＡＮＤメモリ１１は、プログラム格納領域２２に記憶されているソフトウェアプログラムを、最新バージョンのソフトウェアプログラムにバージョンアップするための更新用ファイルが記憶される更新用ファイル格納領域２４と、余領域であるユーザデータ領域２５とを有している。
【００３４】
ＮＡＮＤメモリ１１のプログラム格納領域２２には、上記ＣＤＭＡ通信プログラムの他、当該プログラム格納領域２２に記憶されている通信プログラムや、以下に説明する各種アプリケーションプログラムの更新処理（バージョンアップ）を図るための「更新制御プログラム」が記憶されている。また、このプログラム格納領域２２には、電子メールの作成や送受信を制御するための電子メール管理プログラム、カメラ部７の撮像制御を行うカメラ制御プログラム、ユーザのスケジュールが登録されたスケジュール帳の管理を行うためのスケジュール帳管理プログラム、電話帳の管理を行うための電話帳管理プログラム、音楽コンテンツの再生を行うための音楽プレーヤプログラム、所望のＷｅｂページの閲覧を行うためのＷｅｂブラウジングプログラム等の各種アプリケーションプログラムが記憶されるようになっている。
【００３５】
また、ＮＡＮＤメモリ１１のユーザデータ領域２５には、ユーザの所望のスケジュールが登録されるスケジュール帳、ユーザの知人や友人等のユーザ名、静止画像（顔写真等）、住所、電話番号、電子メールアドレス、生年月日等が登録された電話帳、音楽プレーヤプログラムに基づいて再生される音楽コンテンツ、カメラ制御プログラムのビューワ機能に基づいて再生される静止画像コンテンツ及び動画像コンテンツ、送受信された電子メールコンテンツ、電話及び電子メールの発着信履歴等が記憶されるようになっている。
【００３６】
［ソフトウェアプログラムの更新動作］
次に、このような構成を有する当該実施の形態の携帯電話機におけるソフトウェアプログラムの更新動作を説明する。図５のフローチャートに、当該実施の形態の携帯電話機におけるソフトウェアプログラムの更新動作の流れを示す。また、図６に、ソフトウェアプログラムの更新処理時における当該携帯電話機の要部のブロック図を示す。なお、この図６には、制御部１４が更新処理プログラムに基づいて動作した際の機能ブロックが図示されると共に、更新用ファイルのダウンロードを行うコミュニケーションシステムのブロック図も図示されている。
【００３７】
まず、一例ではあるが、制御部１４は、ユーザが手動で行ったソフトウェアプログラムの更新指示操作を検出した際に、ＮＡＮＤメモリ１１に記憶されている更新処理プログラムに基づいて、この図５のフローチャートに示す処理を開始する。或いは、制御部１４は、コミュニケーションセンターからソフトウェアプログラムの更新通知を受信した際に、ＮＡＮＤメモリ１１に記憶されている更新処理プログラムに基づいて、自動的に、この図５のフローチャートに示す処理を開始する。
【００３８】
ステップＳ１では、制御部１４が、上記更新処理プログラムに基づいて図６に示すダウングレード処理機能として動作することでＮＡＮＤメモリ１１を検索し、図４に示すダウングレードファイル格納領域２３にダウングレードファイルが記憶されているか否かを判別することで、プログラム格納領域２２に記憶されているソフトウェアプログラムを、ベースバージョン番号のソフトウェアプログラムにダウングレード処理する必要があるか否かを判別する。そして、ダウングレードファイル格納領域２３にダウングレードファイルが記憶されている場合、制御部１４は、ステップＳ２に処理を進め、ダウングレード処理機能４１として動作することで、ＮＡＮＤメモリ１１のプログラム格納領域２２に記憶されているソフトウェアプログラムを、上記ダウングレードファイルで指定されるベースバージョン番号のソフトウェアプログラムにダウングレード処理して処理をステップＳ３に進める。
【００３９】
これに対して、ダウングレードファイル格納領域２３にダウングレードファイルが記憶されていない場合、或いはダプログラム格納領域２２に記憶されているソフトウェアプログラムの上記ダウングレード処理が完了すると、制御部１４は、図６に示す更新用ファイル取得機能４３として動作することでステップＳ３に処理を進め、通信回路２を通信制御することで、当該携帯電話機のコミュニケーションネットワーク等のネットワーク３１に接続されているサーバ装置３３から、当該サーバ装置３３のデータベース３４に記憶されている更新用ファイルを基地局３２を介して取得して、処理をステップＳ４に進める。
【００４０】
上記更新用ファイル取得機能４３として動作している制御部１４は、サーバ装置３３から取得した更新用ファイルを、図４に示すＮＡＮＤメモリ１１の更新用ファイル格納領域２４に記憶制御する。また、この更新用ファイルには、ソフトウェアプログラムの次回の更新処理時のダウングレード処理で、該ソフトウェアプログラムをダウングレードする下位のバージョン番号であるベースバージョン番号を指定するダウングレードファイルが付加されている。制御部１４は、このダウングレードファイルをＮＡＮＤメモリ１１のダウングレードファイル格納領域２３に記憶制御する。
【００４１】
すなわち、過去に、一度でもソフトウェアプログラムの更新処理が行われた場合には、そのときの更新用ファイルと共にダウングレードファイルがＮＡＮＤメモリ１１に記憶される。反対に、過去に、一度もソフトウェアプログラムの更新処理が行われていない場合には、ソフトウェアプログラム格納領域２２に記憶されているソフトウェアプログラムは、最初期バージョン番号のソフトウェアプログラムのままであり、更新用ファイル及びダウングレードファイルはＮＡＮＤメモリ１１には記憶されていないこととなる。
【００４２】
このようなことから、制御部１４は、上記ステップＳ１において、ダウングレードファイルの有無を判別することで、ベースバージョン番号のソフトウェアプログラムへのダウングレード処理が必要であるか否かを判別している。そして、ＮＡＮＤメモリ１１上にダウングレードファイルが存在するということは、過去に何度かの更新処理が行われたことを意味するため、制御部１４は、ステップＳ２において、プログラム格納領域２２に記憶されているソフトウェアプログラムを、一旦、上記ダウングレードファイルで指定される、今回の更新処理のベースとするソフトウェアプログラムである、例えば最初期バージョン番号や中間バージョン番号等のベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このベースバージョン番号のソフトウェアプログラムを、上記ステップＳ４において、図６に示す更新処理機能４２として動作することで、上記更新用ファイルに基づいて例えば最新バージョン番号のソフトウェアプログラムに更新処理する。
【００４３】
これに対して、ＮＡＮＤメモリ１１上にダウングレードファイルが存在しないということは、今回の更新処理が最初の更新処理であることを意味するため、制御部１４は、ステップＳ３で上記サーバ装置３３から更新用ファイルを取得し、ステップＳ４において、この取得した更新用ファイルに基づいて、プログラム格納領域２２に記憶されているソフトウェアプログラムを例えば最新バージョン番号のソフトウェアプログラムに更新処理する。
【００４４】
このような更新処理を、図７（ａ）〜図７（ｆ）に示す具体例を用いて、さらに詳細に説明する。この図７（ａ）〜図７（ｆ）のうち、図７（ａ）〜図７（ｃ）は、プログラム格納領域２２に記憶されている最初期バージョン番号のソフトウェアプログラムであるバージョン番号Ｖ１のソフトウェアプログラムを、バージョン番号Ｖ３のソフトウェアプログラムに更新処理する場合の例を示しており、図７（ｄ）〜図７（ｆ）は、このバージョン番号Ｖ３のソフトウェアプログラムに更新処理されたソフトウェアプログラムを、さらにバージョン番号Ｖ４のソフトウェアプログラムに更新処理する場合の例を示している。
【００４５】
まず、例えば工場出荷時等のようにソフトウェアプログラムの更新処理が一度も行われていない場合、ＮＡＮＤメモリ１１は、図７（ａ）に示すようにバージョン番号Ｖ１のソフトウェアプログラムがプログラム格納領域２２に記憶されているだけで、ダウングレードファイル格納領域２３及び更新用ファイル格納領域２４には、ダウングレードファイル及び更新用ファイルは記憶されていない状態となっている。
【００４６】
このような状態において、バージョン番号Ｖ１からバージョン番号Ｖ３への更新処理を行う場合、図７（ｂ）に示すように、ＮＡＮＤメモリ１１の更新用ファイル格納領域２４にはサーバ装置３３から取得された更新用ファイル（Ｖ１→Ｖ３）が記憶され、また、ダウングレードファイル格納領域２３にはこの更新用ファイルに付加されているバージョン番号Ｖ３からバージョン番号Ｖ１へのダウングレード処理を行うためのダウングレードファイル（Ｖ３→Ｖ１）が記憶されることとなる。
【００４７】
制御部１４は、サーバ装置３３から取得した更新用ファイル（Ｖ１→Ｖ３）を用いてソフトウェアプログラムの更新処理を行うことで、図７（ｃ）に示すようにプログラム格納領域２２に記憶されているバージョン番号Ｖ１のソフトウェアプログラムを、バージョン番号Ｖ３のソフトウェアプログラムに更新処理する。
【００４８】
次に、バージョン番号Ｖ３からバージョン番号Ｖ４への更新処理を行う場合、制御部１４は、ダウングレードファイル格納領域２３に記憶されているダウングレードファイル（Ｖ３→Ｖ１）を用いて、図７（ｄ）に示すように、上記バージョン番号Ｖ３に更新処理されたソフトウェアプログラムを、この例の場合のベースバージョン番号であるバージョン番号Ｖ１のソフトウェアプログラムに、一旦、ダウングレード処理する。
【００４９】
次に、制御部１４は、図７（ｅ）に示すようにサーバ装置３３から、今回の更新処理に対応する更新用ファイル（Ｖ１→Ｖ４）、及びバージョン番号Ｖ４からバージョン番号Ｖ１へのダウングレード処理を行うためのダウングレードファイル（Ｖ４→Ｖ１）を取得する。そして、制御部１４は、上記ダウングレード処理により、一旦、バージョン番号Ｖ１に戻したソフトウェアプログラムを、図７（ｆ）に示すようにサーバ装置３３から取得した更新用ファイル（Ｖ１→Ｖ４）を用いて更新処理する。これにより、プログラム格納領域２２のソフトウェアプログラムは、この例における最新バージョン番号であるバージョン番号Ｖ４のソフトウェアプログラムに更新されることとなる。
【００５０】
なお、制御部１４は、次回の更新処理時も、上述と同様の動作を示し、プログラム格納領域２２のソフトウェアプログラムを、ダウングレードファイルで指示されるベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このダウングレード処理したソフトウェアプログラムに対して、上記更新用ファイルに対応する更新処理を施す。
【００５１】
このように、当該実施の形態の携帯電話機の場合、ソフトウェアプログラムの更新処理に際して、旧バージョン番号のソフトウェアプログラムを例えば最初期バージョン番号等のベースバージョン番号のソフトウェアプログラムにダウングレード処理するためのダウングレードファイル、このベースバージョン番号のソフトウェアプログラムにダウングレード処理されたソフトウェアプログラムを、該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイル、及び上記更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムから上位のバージョン番号のソフトウェアプログラムに更新処理された該上位のバージョン番号のソフトウェアプログラムをＮＡＮＤメモリ１１に記憶する。
【００５２】
ダウングレードファイルや更新用ファイルのデータ量は、例えば数ｋｂｙｔｅ〜１Ｍｂｙｔｅ程度となり、例えば４０Ｍｂｙｔｅのソフトウェアプログラムのデータ量に対して、わずか数十分の一程度のデータ量となる。このため、最新バージョン番号のソフトウェアプログラム（４０Ｍｂｙｔｅ）を、最初期バージョン番号のソフトウェアプログラム（４０Ｍｂｙｔｅ）と共にＮＡＮＤメモリ１１に記憶する場合に比べ（計８０Ｍｂｙｔｅ）、ＮＡＮＤメモリ１１に記憶させるプログラム等のデータ量を大幅に削減することができる（４０Ｍｂｙｔｅ＋数ｋｂｙｔｅ〜１Ｍｂｙｔｅ）。従って、ＮＡＮＤメモリ１１の余領域をユーザデータ領域２５等に有効に使用可能とすることができる。
【００５３】
また、旧バージョン番号のソフトウェアプログラムを、一旦、ベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このダウングレード処理したソフトウェアプログラムを所定の上位のバージョン番号のソフトウェアプログラムに更新処理するようになっている。このため、更新処理の際にメーカ側がリリースする更新用ファイルは、ベースバージョン番号のソフトウェアプログラムを、例えば最新バージョン番号等の上位のバージョン番号のソフトウェアプログラムに更新するための、１種類の更新用ファイルのみをリリースすればよいこととなる。
【００５４】
例えば、過去に更新処理が、「バージョン番号Ｖ１ → バージョン番号Ｖ２ → バージョン番号Ｖ３ → バージョン番号Ｖ４ → バージョン番号Ｖ５ → バージョン番号Ｖ６」の順に行われたとすると、図６に示すサーバ装置３３のデータベース３４には、本来であれば、図８（ａ）に示すように
バージョン番号Ｖ１ → バージョン番号Ｖ２
バージョン番号Ｖ１ → バージョン番号Ｖ３
バージョン番号Ｖ１ → バージョン番号Ｖ４
バージョン番号Ｖ１ → バージョン番号Ｖ５
バージョン番号Ｖ１ → バージョン番号Ｖ６
バージョン番号Ｖ２ → バージョン番号Ｖ３
バージョン番号Ｖ２ → バージョン番号Ｖ４
バージョン番号Ｖ２ → バージョン番号Ｖ５
バージョン番号Ｖ２ → バージョン番号Ｖ６
バージョン番号Ｖ３ → バージョン番号Ｖ４
バージョン番号Ｖ３ → バージョン番号Ｖ５
バージョン番号Ｖ３ → バージョン番号Ｖ６
バージョン番号Ｖ４ → バージョン番号Ｖ５
バージョン番号Ｖ４ → バージョン番号Ｖ６
バージョン番号Ｖ５ → バージョン番号Ｖ６
の各更新用ファイルを記憶しておく必要があり、これらを各ユーザの携帯電話機に記憶されているソフトウェアプログラムのバージョン番号に応じて、選択的に配信する必要がある。
【００５５】
しかし、当該実施の形態の携帯電話機の場合、ＮＡＮＤメモリ１１のソフトウェアプログラムを、一旦、ベースバージョン番号（上述の例の場合、バージョン番号Ｖ１）のソフトウェアプログラムにダウングレード処理した後に、最新バージョン番号のソフトウェアプログラムに更新処理するため、サーバ装置３３のデータベース３４に記憶しておく更新用ファイルも、図８（ｂ）に示すように、ベースバージョン番号から最新バージョン番号のソフトウェアプログラムに更新処理するための更新用ファイル（上述の例の場合、バージョン番号Ｖ１→バージョン番号Ｖ６）のみとすることができる。このため、サーバ装置３３のデータベース３４にかかる負担も大幅に軽減することができる。
【００５６】
また、リリースする更新用ファイルを上記１種類の更新用ファイルのみとすることができるため、動作確認作業も、この１種類の更新用ファイルに対する動作確認作業のみとすることができ、ソフトウェアプログラムの検証者の負担を大幅に軽減することができる。
【００５７】
〔連続更新処理動作〕
ここで、旧バージョン番号のソフトウェアプログラムを最新バージョン番号のソフトウェアプログラムに、一度に更新処理しようとした場合、更新用ファイルのデータ量が多くなり、ＮＡＮＤメモリ１１の記憶容量をオーバーしてしまうが、最初に旧バージョン番号のソフトウェアプログラムを中間バージョン番号のソフトウェアプログラムに更新処理し、次にこの中間バージョン番号のソフトウェアプログラムを最新バージョン番号のソフトウェアプログラムに更新処理する等のように、段階的な更新処理を行うことで、各更新処理で用いる更新用ファイルのデータ量がＮＡＮＤメモリ１１の記憶容量をオーバーする不都合を防止してソフトウェアプログラムの更新処理を円滑に実行可能な場合が、希にではあるが発生する。
【００５８】
具体的には、例えば、過去に「バージョン番号Ｖ１ → バージョン番号Ｖ２ → バージョン番号Ｖ３ → バージョン番号Ｖ４ → バージョン番号Ｖ５ → バージョン番号Ｖ６」の順に更新処理が行われた場合において、バージョン番号Ｖ１のソフトウェアプログラムをバージョン番号Ｖ６のソフトウェアプログラムに更新処理するための更新用ファイルのデータ量が、ＮＡＮＤメモリ１１の記憶容量以上であると、ＮＡＮＤメモリ１１に対して更新用ファイルを記憶することができず、ソフトウェアプログラムの更新処理が困難となる。
【００５９】
しかし、バージョン番号Ｖ１→バージョン番号Ｖ６のソフトウェアプログラムに、一度に更新処理しようとした場合は上述の理由から困難となるが、最初にバージョン番号Ｖ１のソフトウェアプログラムをバージョン番号Ｖ３のソフトウェアプログラムに更新処理し、次にこのバージョン番号Ｖ３のソフトウェアプログラムをバージョン番号Ｖ６のソフトウェアプログラムに更新処理する等のように、段階的に更新処理を行うと、各更新処理における各ソフトウェアプログラム間の差となるプログラムのデータ量が少なくなることで、該各更新処理で用いる更新用ファイルのデータ量がＮＡＮＤメモリ１１の記憶容量をオーバーすることなく、円滑な更新処理が可能となる場合がある。
【００６０】
このような事例は、過去における更新処理回数が多数に及び、旧バージョン番号のソフトウェアプログラムと最新バージョン番号のソフトウェアプログラムとの間の差となるプログラム量が増大した場合に、希に発生する。
【００６１】
当該実施の形態の携帯電話機の場合、ソフトウェアプログラムの更新処理を行う際に、上述のように、一旦、最初期バージョン番号等のベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このダウングレード処理により、例えばバージョン番号Ｖ１とされたソフトウェアプログラムを、最新バージョン番号であるバージョン番号Ｖ６のソフトウェアプログラムに、一度に更新処理するようになるため、上述の更新用ファイルがＮＡＮＤメモリ１１の記憶容量をオーバーする不都合が発生することが、多少ではあるが懸念される。
【００６２】
このような段階的な更新処理（連続更新処理）の必要性は、ソフトウェアプログラムの更新処理開始時において、制御部１４が、サーバ装置３３から通知された更新用ファイルのデータ量と、ＮＡＮＤメモリ１１の記憶容量（更新用ファイルの記憶用に確保可能な余領域の容量）とに基づいて判断する。
【００６３】
サーバ装置３３から通知された更新用ファイルのデータ量が、ＮＡＮＤメモリ１１の上記記憶容量をオーバーする場合、制御部１４は、段階的な更新処理（連続更新処理）を行う。
【００６４】
上述の例を用いて具体的に説明すると、バージョン番号Ｖ１→バージョン番号Ｖ６のソフトウェアプログラムに、一度に更新処理するための更新用ファイルのデータ量が、ＮＡＮＤメモリ１１の上記記憶容量をオーバーする場合、制御部１４は、例えば最初にバージョン番号Ｖ１のソフトウェアプログラムをバージョン番号Ｖ３のソフトウェアプログラムに更新処理し、次にこのバージョン番号Ｖ３のソフトウェアプログラムをバージョン番号Ｖ６のソフトウェアプログラムに更新処理する、連続更新処理を実行制御する。
【００６５】
この場合、制御部１４は、ステップＳ１からステップＳ４における最初の更新処理の際に、バージョン番号Ｖ１のソフトウェアプログラムをバージョン番号Ｖ３のソフトウェアプログラムに更新処理するための更新用ファイルを取得し、この更新用ファイルを用いて、バージョン番号Ｖ１にダウングレード処理したソフトウェアプログラムを、バージョン番号Ｖ３のソフトウェアプログラムに更新処理する。
【００６６】
次に、制御部１４は、図５のフローチャートのステップＳ５において、連続更新処理が必要であるか否かを判別し（この場合は、連続更新処理が必要であると判別することとなる）、必要でないと判別した場合（＝ソフトウェアプログラムの更新処理が一度で完了可能な場合）は、そのままこの図５のフローチャートに示す処理を終了し、連続更新処理が必要であると判別した場合は、ステップＳ３に処理を戻すことで、サーバ装置３３からバージョン番号Ｖ３のソフトウェアプログラムを、バージョン番号Ｖ６のソフトウェアプログラムに更新処理するための更新処理ファイルを取得し、この更新用ファイルを用いて、最初にバージョン番号Ｖ３のソフトウェアプログラムに更新処理したソフトウェアプログラムを、バージョン番号Ｖ６のソフトウェアプログラムに更新処理して、この図５のフローチャートに示す処理を終了する。
【００６７】
このように一度の更新処理を複数の更新処理に分割して実行することで、ＮＡＮＤメモリ１１の上記記憶容量の範囲内のデータ量の更新用ファイルを用いて、複数回に渡って更新処理を実行することができるため、円滑な更新処理を可能とすることができる。
【００６８】
なお、この例では、連続更新処理時において、「バージョン番号Ｖ１→バージョン番号Ｖ３」、及び「バージョン番号Ｖ３→バージョン番号Ｖ６」の計２回に分けてソフトウェアプログラムの更新処理を行うこととしたが、この更新処理の分割回数（連続処理回数）は、更新用ファイルのデータ量とＮＡＮＤメモリ１１の上記記憶容量に基づいて適宜決定すればよく、例えば「バージョン番号Ｖ１→バージョン番号Ｖ２」、「バージョン番号Ｖ２→バージョン番号Ｖ４」及び「バージョン番号Ｖ４→バージョン番号Ｖ６」の計３回に分けてソフトウェアプログラムの更新処理を行ってもよい。
【００６９】
また、このような連続更新処理を可能とする場合、上述の例で説明すると、図８（ｃ）に示すようにサーバ装置３３のデータベース３４には、一度に更新処理を行うための更新用ファイルである、バージョン番号Ｖ１のソフトウェアプログラムからバージョン番号Ｖ６のソフトウェアプログラムに更新処理を行うための更新用ファイル（Ｖ１→Ｖ６）の他、連続更新処理を行うための各更新用ファイルである、バージョン番号Ｖ１のソフトウェアプログラムからバージョン番号Ｖ３のソフトウェアプログラムに更新処理を行うための更新用ファイル（Ｖ１→Ｖ３）、及びバージョン番号Ｖ３のソフトウェアプログラムからバージョン番号Ｖ６のソフトウェアプログラムに更新処理を行うための更新用ファイル（Ｖ３→Ｖ６）が必要となる。しかし、この場合でも、図８（ａ）に示すように過去の更新処理に対応する全ての更新用ファイルをデータベース３４に保存しておくよりも、該サーバ装置３３のデータベース３４にかかる負担を遙かに軽減することができる（図８（ｃ）参照）。
【００７０】
［実施の形態の効果］
以上の説明から明らかなように、この実施の形態の携帯電話機は、ソフトウェアプログラムの更新処理に際して、旧バージョン番号のソフトウェアプログラムを例えば最初期バージョン番号等のベースバージョン番号のソフトウェアプログラムにダウングレード処理するためのダウングレードファイル、このベースバージョン番号のソフトウェアプログラムにダウングレード処理されたソフトウェアプログラムを、該ベースバージョン番号よりも上位のバージョン番号のソフトウェアプログラムにバージョンアップするための更新用ファイル、及び上記更新用ファイルに基づいて、上記ベースバージョン番号のソフトウェアプログラムから上位のバージョン番号のソフトウェアプログラムに更新処理された該上位のバージョン番号のソフトウェアプログラムをＮＡＮＤメモリ１１に記憶する。
【００７１】
ダウングレードファイルや更新用ファイルのデータ量は、例えば数ｋｂｙｔｅ〜１Ｍｂｙｔｅ程度となり、例えば４０Ｍｂｙｔｅのソフトウェアプログラムのデータ量に対して、わずか数十分の一程度のデータ量となる。このため、最新バージョン番号のソフトウェアプログラム（４０Ｍｂｙｔｅ）を、最初期バージョン番号のソフトウェアプログラム（４０Ｍｂｙｔｅ）と共にＮＡＮＤメモリ１１に記憶する場合に比べ（計８０Ｍｂｙｔｅ）、ＮＡＮＤメモリ１１に記憶させるプログラム等のデータ量を大幅に削減することができる（４０Ｍｂｙｔｅ＋数ｋｂｙｔｅ〜１Ｍｂｙｔｅ）。従って、ＮＡＮＤメモリ１１の余領域をユーザデータ領域２５等に有効に使用可能とすることができる。
【００７２】
また、旧バージョン番号のソフトウェアプログラムを、一旦、ベースバージョン番号のソフトウェアプログラムにダウングレード処理し、このダウングレード処理したソフトウェアプログラムを所定の上位のバージョン番号のソフトウェアプログラムに更新処理するようになっている。このため、更新用ファイルを配信するサーバ装置３３のデータベース３４には、ベースバージョン番号のソフトウェアプログラムを、例えば最新バージョン番号等の上位のバージョン番号のソフトウェアプログラムに更新するための、１種類の更新用ファイルのみを記憶しておけばよく、データベース３４にかかる負担を大幅に軽減することができる。
【００７３】
また、リリースする更新用ファイルを上記１種類の更新用ファイルのみとすることができるため、動作確認作業も、この１種類の更新用ファイルに対する動作確認作業のみとすることができ、ソフトウェアプログラムの検証者の負担を大幅に軽減することができる。
【００７４】
また、更新ファイルのデータ量が多く、ＮＡＮＤメモリ１１の記憶容量をオーバーする場合、一度の更新処理を複数の更新処理に分割して実行することで、ＮＡＮＤメモリ１１の上記記憶容量の範囲内のデータ量の更新用ファイルを用いて、複数回に渡って更新処理を実行することができ、円滑な更新処理を可能とすることができる。
【００７５】
また、このような連続更新処理を可能とする場合、サーバ装置３３のデータベース３４には、一度に更新処理を行うための更新用ファイルの他、連続更新処理を行うための各更新用ファイルがそれぞれ必要となるが、この場合でも、過去の更新処理に対応する全ての更新用ファイルをデータベース３４に保存しておくよりも、該データベース３４にかかる負担を遙かに軽減することができる。
【００７６】
［変形例］
上述の実施の形態の説明では、ダウングレード処理時には、現在のバージョン番号のソフトウェアプログラムを、ベースバージョン番号である最初期のバージョン番号のバージョン番号Ｖ１のソフトウェアプログラムにダウングレード処理することとしたが、サーバ装置３３から配信する更新ファイルに付加するダウングレードファイルにおいて、中間のバージョン番号をベースバージョン番号として指定することで、ダウングレード処理時に、この中間のバージョン番号のソフトウェアプログラムにダウングレード処理するようにしてもよい。
【００７７】
このようにすると、例えばバージョン番号Ｖ６への更新処理の後に、バージョン番号Ｖ７への更新処理が行われた場合、このバージョン番号Ｖ７の更新ファイルに付加したダウングレードファイルにおいて、バージョン番号Ｖ３へのダウングレード処理を指定することができる。そして、バージョン番号Ｖ３のソフトウェアプログラムからバージョン番号Ｖ７へのソフトウェアプログラムに更新処理可能とすることができる。このため、バージョン番号Ｖ１→バージョン番号Ｖ７の更新ファイルのデータ量よりも、バージョン番号Ｖ３→バージョン番号Ｖ７の更新ファイルのデータ量の方が、必然的に該更新ファイルのデータ量が少なくなるため、上述の連続更新処理を行うことなく、一度の更新処理でソフトウェアプログラムの更新処理を完了させることを可能とすることができ、ユーザが負担する通信費用の軽減を図ることができる。
【００７８】
また、上述の実施の形態の説明では、本発明を携帯電話機に適用することとしたが、本発明は、この他、ＰＨＳ電話機（PHS：Personal Handyphone System）、ＰＤＡ装置（PDA：Personal Digital Assistant）、通信機能を備えた携帯ゲーム機、ノート型或いはデスクトップ型のパーソナルコンピュータ装置等に適用してもよい。いずれの場合でも、上述と同じ効果を得ることができる。
【００７９】
最後に、上述の実施の形態は、本発明の一例である。このため、本発明は上述の実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。
【図面の簡単な説明】
【００８０】
【図１】本発明を適用した実施の形態となる携帯電話機のブロック図である。
【図２】実施の形態の携帯電話機が採用するＮＡＮＤブート方式の動作概要を示す図である。
【図３】実施の形態の携帯電話機におけるソフトウェアプログラムの更新処理の概要を示す図である。
【図４】実施の形態の携帯電話機に設けられているＮＡＮＤメモリの構成を示す図である。
【図５】実施の形態の携帯電話機におけるソフトウェアプログラムの更新処理の流れを示すフローチャートである。
【図６】実施の形態の携帯電話機におけるソフトウェアプログラムの更新処理時における機能ブロック図である。
【図７】実施の形態の携帯電話機におけるソフトウェアプログラムの更新処理時におけるダウングレード処理、及びダウングレード処理されたソフトウェアプログラムの更新処理を説明するための模式図である。
【図８】実施の形態の携帯電話機でサーバ装置のデータベースに記憶することが必要となる更新ファイルのファイル数と、従来、データベースに記憶することが必要とされていた更新ファイルのファイル数とを比較するための図である。
【符号の説明】
【００８１】
１  アンテナ、２  通信回路、３  表示部、４  操作部、５  スピーカ部、６  マイクロホン部、７  カメラ部、８  発光部（ＬＥＤ）、９  バイブレーションユニット、１０  タイマ、１１  ＮＡＮＤメモリ、１２  ＳＤＲＡＭ、１４  制御部、２１  ＮＡＮＤメモリのブートプログラム格納領域、２２  ＮＡＮＤメモリのプログラム格納領域、２３  ＮＡＮＤメモリのダウングレードファイル格納領域、２４  ＮＡＮＤメモリの更新用ファイル格納領域、２５  ＮＡＮＤメモリのユーザデータ領域、３１  ネットワーク、３２  基地局、３３  サーバ装置、３４  更新ファイルのデータベース、４１  制御部のダウングレード処理機能の機能ブロック、４２  制御部の更新処理機能の機能ブロック、４３  制御部の更新ファイル取得機能の機能ブロック
【図１】
2009151426.tif 000003
【図２】
2009151426.tif 000004
【図３】
2009151426.tif 000005
【図４】
2009151426.tif 000006
【図５】
2009151426.tif 000007
【図６】
2009151426.tif 000008
【図７】
2009151426.tif 000009
【図８】
2009151426.tif 000010