(57)【要約】【課題】ソフトウェアの更新を効果的に行うように改良されたソフトウェア更新方法を提供する。【解決手段】ファイルサーバに、所定のバージョンのソフトウェアをバージョンアップさせるためのファイルを記憶するステップと、前記ファイルサーバに無線通信を介して接続され、所定のバージョンのソフトウェアがインストールされている無線通信端末に、前記ファイルサーバからバージョンアップのための複数のファイルを一括してダウンロードするステップと、前記無線通信端末に、前記インストールされているソフトウェアと、前記ダウンロードした複数のファイルとにより、前記インストールされている所定のバージョンのソフトウェアの更新を行わせるステップとを実行させる。【選択図】図１
2010140220.tif 000002
【特許請求の範囲】
【請求項１】
ファイルサーバに、所定のバージョンのソフトウェアをバージョンアップさせるためのファイルを記憶するステップと、
前記ファイルサーバに無線通信を介して接続され、所定のバージョンのソフトウェアがインストールされている無線通信端末に、前記ファイルサーバからバージョンアップのための複数のファイルを一括してダウンロードするステップと、
前記無線通信端末に、前記インストールされているソフトウェアと、前記ダウンロードした複数のファイルとにより、前記インストールされている所定のバージョンのソフトウェアの更新を行わせるステップと
をコンピュータに実行させるソフトウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア更新方法に関する。
【背景技術】
【０００２】
例えば、特許文献１は、リモートメンテナンス方式を開示する。
【特許文献１】特開２００４−１１０６１０
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであって、ソフトウェアの更新を効果的に行うように改良されたソフトウェア更新方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的のために、本発明にかかるソフトウェア更新方法は、ファイルサーバ（１０）に、所定のバージョンのソフトウェアをバージョンアップさせるためのファイル（１６）を記憶するステップ（１０６）と、前記ファイルサーバ（１０）に無線通信を介して接続され、所定のバージョンのソフトウェアがインストールされている無線通信端末（２０）に、前記ファイルサーバ（１０）からバージョンアップのための複数のファイル（１６）を一括してダウンロードするステップ（２２０）と、前記無線通信端末（２０）に、前記インストールされているソフトウェアと、前記ダウンロードした複数のファイル（１６）とにより、前記インストールされている所定のバージョンのソフトウェアの更新を行わせるステップ（２２８）とを有する。
なお、この部分の記載において付された符号は、本願発明の技術的範囲の限定を意図していない。
【発明の効果】
【０００５】
本発明にかかるソフトウェア更新方法によれば、ソフトウェアの更新を効果的に行うことができる。
【発明を実施するための最良の形態】
【０００６】
［本発明の背景］
本発明の理解を助けるために、まず、本発明がなされるに至った背景を説明する。
一般に、携帯電話や組み込み機器端末などの通信装置では、限られたメモリ資源を使用して、ソフトウェアのバージョンアップを行う必要がある。
大幅なソフトウェア変更や機能追加などが発生した場合、バージョンアップのためのファイルのサイズも大きくなるため、更新処理時にメモリ資源が不足する場合がある。
特に、屋外に設置された組み込み機器端末で、上記のようなメモリ資源不足が発生した場合、ユーザは、現地に赴いて、改修作業を行う必要がある。
本発明に係るソフトウェア更新方法は、このような不具合を解決できるように改良がなされている。
【０００７】
［ソフトウェア更新システム１］
図１（Ａ）は、本発明にかかるソフトウェア更新システム１の構成を示す図である。
図１（Ａ）に示すように、ソフトウェア更新システム１は、データ通信が可能な無線通信回線網１００に接続されたダウンロードサーバ１０と、ｎ台の無線通信端末２０−１〜２０−ｎとから構成される。
なお、ｎは１以上の整数を示し、全てのｎが同数であるとは限らない。
また、以下、無線通信端末２０−１〜２０−ｎなど、複数ある構成部分のいずれかを示すときには、単に、無線通信端末２０と記載することがある。
また、以下の各図において、実質的に同じ構成部分・処理には、同じ符号が付される。
ソフトウェア更新システム１は、これらの構成により、無線通信端末２０にインストールされているソフトウェアの更新を行う。
【０００８】
［ハードウェア構成］
図１（Ｂ）は、図１（Ａ）に示したダウンロードサーバ１０のハードウェア構成を例示する図である。
図１（Ｂ）に示すように、ダウンロードサーバ１０は、ＣＰＵ１０２、メモリ１０４、ハードディスクドライブ（ＨＤＤ）等の記憶装置１０６、ＬＡＮなどのネットワークに接続された外部のコンピュータ（図示せず）などとデータの送信および受信を行う有線通信装置１０８、無線通信回線網１００を介して無線通信端末２０とデータの送信および受信を行う無線通信装置１１０、および、キーボードおよび表示装置などを含む入出力装置１１２から構成される。
これらの構成要素は、システムバス１１４を介して互いに接続されている。
つまり、ダウンロードサーバ１０は、無線通信回線網１００を介して無線通信端末２０とデータ通信が可能なコンピュータとしての構成部分を有している。
【０００９】
図１（Ｃ）は、図１（Ａ）に示した無線通信端末２０のハードウェア構成例示する図である。
図１（Ｃ）に示すように、無線通信端末２０は、ダウンロードサーバ１０の構成に、ＲＴＣ（Real Time Clock）２００および端末機能部２０２を加えた構成を採る。
ＲＴＣ２００は、例えば、計時専用の半導体チップであり、時刻を他の構成部分に通知する。
端末機能部２０２は、例えば無線通信端末２０が携帯電話である場合には、携帯電話としての機能を実行するためのスピーカー、マイクなどを含む（図示せず）。
【００１０】
［ダウンロードサーバ１０のソフトウェア構成］
図２（Ａ）は、図１（Ａ）に示したダウンロードサーバ１０において実行されるファイル提供プログラム１４の構成、および、ダウンロードサーバ１０の記憶装置１０６に記憶されている差分ファイル１６を示す図である。
図２（Ａ）に示すように、ファイル提供プログラム１４は、ダウンロード部１４０および入出力部１４２から構成される。
【００１１】
ファイル提供プログラム１４は、例えば、記憶装置１０６（図１（Ｂ））などを介してメモリ１０４にロードされ、ダウンロードサーバ１０にインストールされたＯＳ（図示せず）上で、ダウンロードサーバ１０のハードウェア資源を具体的に利用して実行される。
ファイル提供プログラム１４は、これらの構成部分により、記憶装置１０６に記憶されている差分ファイル１６を、無線通信端末２０に対して提供する。
【００１２】
ダウンロード部１４０は、無線通信端末２０または入出力部１４２から、差分ファイル１６のダウンロード開始の要求を受け入れ、記憶装置１０６に記憶されている差分ファイル１６を取得し、無線通信装置１１０を介して、無線通信端末２０に送信する。
【００１３】
入出力部１４２は、ユーザにより入出力装置１１２を介して入力されたダウンロード開始の要求を、ダウンロード部１４０に対して出力する。
また、入出力部１４２は、ユーザにより入出力装置１１２を介して入力されたダウンロードにおける設定を受け入れ、ダウンロード部１４０の動作設定を行う。
具体的には、上記差分ファイル１６のダウンロード時に、一定の時間が経過した場合は処理を終了するタイムアウトなどの設定が行われる。
また、入出力部１４２は、ダウンロード部１４０による差分ファイル１６のダウンロードの進行状況を、入出力装置１１２を介してユーザに表示する。
【００１４】
差分ファイル１６は、ソフトウェアのバージョンを更新するためのファイルであり、複数のファイルから構成され、記憶装置１０６に記憶されている。
例えば、ソフトウェアをバージョン「００１」から「００５」にバージョンアップするためのファイルは、バージョン「００１」から「００３」にバージョンアップするためのファイル、および、バージョン「００３」から「００５」にバージョンアップするためのファイルなど、複数のファイルから構成される。
【００１５】
図２（Ｂ）は、差分ファイル１６の各ファイルに含まれているファイルの属性情報を示す図である。
図２（Ｂ）に示した具体例では、差分ファイル１６が、バージョン「００１」から「００３」へアップするためのファイルと、バージョン「００３」から「００５」にバージョンアップするためのファイルとから構成されている。
また、バージョン「００１」から「００３」へアップするためのファイルは、３つの分割ファイルから構成されており、バージョン「００３」から「００５」にバージョンアップするためのファイルは、２つの分割ファイルから構成されている。
なお、以下、バージョン「００１」から「００３」へバージョンアップし、さらに、バージョン「００３」から「００５」へアップすることなどを、ジャンプアップ更新と記述する。
各ファイル１〜５には、「ファイル番号」、「ファイル名」、「差分情報」、「ファイル枝番号」、「ジャンプアップ更新順序」、「ファイルサイズ」などの属性情報が含まれており、例えば、各ファイルのヘッダ情報に含まれている。
【００１６】
［無線通信端末２０のソフトウェア構成］
図３は、図１（Ａ）に示した無線通信端末２０において実行される更新プログラム２２の構成、および、無線通信端末２０の記憶装置１０６に記憶されている差分ファイル１６、進捗情報ファイル３００および更新対象ソフトウェア３０２を示す図である。
図３に示すように、更新プログラム２２は、ダウンロード部２２０、進捗情報管理部２２２、差分ファイル取得部２２４、記憶部２２６、更新部２２８および適用判断部２３０から構成される。
更新プログラム２２は、これらの構成部分により、記憶装置１０６に記憶されている更新対象ソフトウェア３０２の更新を行う。
【００１７】
ダウンロード部２２０は、無線通信端末２０の入出力装置１１２（図１（Ｃ））を介して、ダウンロード開始の要求を受け入れ、無線通信装置１１０を介して、ダウンロードサーバ１０に対して送信する。
また、ダウンロード部２２０は、ダウンロードサーバ１０から送信された差分ファイル１６を、無線通信装置１１０を介して受信し、記憶装置１０６に格納する。
また、ダウンロード部２２０は、上記ダウンロード完了後、進捗情報管理部２２２に対して、完了した旨を通知する。
進捗情報管理部２２２は、ダウンロード部２２０から、ダウンロード完了通知を受け入れると、記憶装置１０６（図１（Ｃ））に格納されている進捗情報ファイル３００を取得する。
【００１８】
図２（Ｃ）は、記憶装置１０６に格納されている進捗情報ファイル３００に含まれている進捗情報を示す図である。
図２（Ｃ）に示すように、進捗情報ファイル３００は「進捗番号」、「状態」、「進捗」、「ジャンプアップ更新状況」および「ファイル取得状況」などの進捗情報を含む。    
なお、初めてバージョンアップが開始される場合は、これらの情報はクリアされているが、バージョンアップの最中に、電源遮断等で処理が中断された後の場合は、既にこれらの情報は書き込まれている。
【００１９】
また、進捗情報管理部２２２（図３）は、進捗情報ファイル３００に含まれている進捗情報を、差分ファイル取得部２２４、更新部２２８および適用判断部２３０に出力する。
また、進捗情報管理部２２２は、差分ファイル取得部２２４および更新部２２８から入力された情報に基づいて、進捗情報ファイル３００を更新し、記憶装置１０６に書き込む。
【００２０】
差分ファイル取得部２２４は、進捗情報管理部２２２から入力された進捗情報に応じて、差分ファイル１６から取得すべきファイル（以下、有効なファイル）を検索し、取得する。
また、差分ファイル取得部２２４は、ファイル取得状況を、進捗情報管理部２２２に通知する。
また、差分ファイル取得部２２４は、差分ファイル１６を検索することにより、必要なジャンプアップ更新の回数を取得し、進捗情報管理部２２２に対して通知する。
【００２１】
具体的には、進捗情報ファイル３００の情報が未だ書き込まれていない場合は、差分ファイル取得部２２４は、差分ファイル１６から、「ジャンプアップ更新順序」が「１番目」であるファイルを全て取得し、枝番号（図２（Ｂ））を用いて復元し、記憶部２２６に出力する。
また、進捗情報ファイル３００の情報において、「ジャンプアップ更新順序」の「１番目」の更新が完了していた場合は、差分ファイル取得部２２４は、「ジャンプアップ更新順序」が「２番目」であるファイルを全て取得し、枝番号を用いて復元し、記憶部２２６に記憶する。
また、例えば、記憶部２２６に既に取得済みのファイルがある場合は、未取得のファイルのみ取得してもよい。
また、バージョン「００１」から「００３」へアップするためのファイルまたはバージョン「００３」から「００５」へアップするためのファイルそれぞれが、分割されていない場合には、上記復元処理は行われない。
【００２２】
記憶装置１０６は、差分ファイル取得部２２４から入力されたファイルを記憶する。
適用判断部２３０は、進捗情報管理部２２２から入力された進捗情報における「ファイル取得状況」を参照し、差分ファイル取得部２２４が上述した有効なファイルを取得し終えたか否かを判断する。
適用判断部２３０は、差分ファイル取得部２２４が上述した有効なファイルを取得し終えたと判断したときには、記憶部２２６に記憶されたファイルと、更新対象ソフトウェア３０２とを用いて、新バージョンへの更新が可能（適用可能）か否（適用不可）かを、適用前に判断する（適用判断）。
適用判断部２３０は、適用判断の結果、適用可能であると判断したときには、更新部２２８に対して適用可を通知する。
また、上記適用判断において、記憶部２２６に記憶されたファイルが、正当なファイルでないなどの理由で、適用不可であると判断したときには、更新部２２８に対して適用不可を通知する。
【００２３】
更新部２２８は、適用判断部２３０から適用可を示す情報が入力されると、進捗情報管理部２２２から入力された進捗情報に応じて、更新対象ソフトウェア３０２（旧イメージ）と、記憶部２２６に記憶されているファイルとを読み込み、新たなバージョンのソフトウェア（新イメージ）を作成する。
また、更新部２２８は、作成した新イメージを記憶装置１０６の更新対象領域に書込み、更新対象ソフトウェア３０２を更新する。
また、更新部２２８は、図２（Ｃ）に示した「状態」、「進捗」および「ジャンプアップ更新状況」などの進捗状況を進捗情報管理部２２２に出力する。
また、更新部２２８は、更新処理中に異常が発生した場合には、入出力装置１１２（図１（Ｃ））を介して、ユーザにエラーを表示してもよい。
また、更新部２２８は、更新処理中に異常が発生した場合には、更新処理を行った対象領域に旧イメージを上書きすることにより、バックアップを行ってもよい。
また、更新部２２８は、適用判断部２３０から適用不可を示す情報が入力されると、入出力装置１１２（図１（Ｃ））を介して、ユーザにエラーを表示し、更新処理を行わずに処理を終了する。
【００２４】
［システム全体動作］
図４は、図１（Ａ）に示したソフトウェア更新システム１の全体動作（Ｓ１０）を示すフローチャートである。
図４に示すように、ステップ１００（Ｓ１００）において、無線通信端末２０において実行される更新プログラム２２のダウンロード部２２０は、ダウンロード開始の要求をダウンロードサーバ１０に送信し、ダウンロードサーバ１０において実行されるファイル提供プログラム１４のダウンロード部１４０は、要求に従って、差分ファイル１６を、無線通信端末２０に送信する。
なお、上述したように、ダウンロード部１４０は、ダウンロード開始の要求を、ファイル提供プログラム１４の入出力部１４２から受け入れてもよい。
また、ダウンロード部２２０は、ダウンロードした差分ファイル１６を、記憶装置１０６に格納する。
ステップ１０２（Ｓ１０２）において、進捗情報管理部２２２は、記憶装置１０６から進捗情報ファイル３００を取得する。
【００２５】
ステップ１０４（Ｓ１０４）において、差分ファイル取得部２２４は、記憶装置１０６に記憶されている差分ファイル１６を検索する。
ステップ１０６（Ｓ１０６）において、差分ファイル取得部２２４は、有効なファイルがあるか否かを判断する。
有効なファイルがあるときには、更新プログラム２２は、Ｓ１０８の処理に進み、これ以外のときには、Ｓ１１４の処理に進む。
【００２６】
ステップ１０８（Ｓ１０８）において、差分ファイル取得部２２４は、有効なファイルを、差分ファイル１６から取得する。
ステップ１１０（Ｓ１１０）において、差分ファイル取得部２２４は、有効なファイルが、分割ファイルであるか否かを判断する。
有効なファイルが、分割ファイルであるときには、更新プログラム２２は、Ｓ１３０の処理に進み、これ以外のときには、Ｓ１１２の処理に進む。
ステップ１１２（Ｓ１１２）において、記憶部２２６は、取得したファイルを記憶する。
ステップ１１４（Ｓ１１４）において、適用判断部２３０は、取得したファイルと、更新対象ソフトウェア３０２とを用いて、新バージョンへの更新が可能か否かを、判断する。
新バージョンへの更新が可能である場合には、更新プログラム２２は、Ｓ１１６の処理に進み、これ以外のときには、処理を終了する。
【００２７】
ステップ１１６（Ｓ１１６）において、更新部２２８は、新イメージを作成する。
ステップ１１８（Ｓ１１８）において、更新部２２８は、新イメージを記憶装置１０６の更新対象の領域に書込み、進捗情報管理部２２２は、進捗情報ファイル３００を更新する。
ステップ１２０（Ｓ１２０）において、更新部２２８は、更新対象領域の全セクタに書込みが終了したか否かを判断する。
更新対象領域の全セクタに書込みが終了したときには、更新プログラム２２は、Ｓ１２２の処理に進み、これ以外のときには、Ｓ１１６の処理に戻る。
【００２８】
ステップ１２２（Ｓ１２２）において、進捗情報管理部２２２は、ジャンプアップ更新が必要か否かを判断する。
ジャンプアップ更新が必要であるときには、更新プログラム２２は、Ｓ１０４の処理に戻り、これ以外のときには、処理を終了する。
ステップ１３０（Ｓ１３０）において、差分ファイル取得部２２４は、有効なファイルを全て取得したか否かを判断する。
有効なファイルを全て取得したときには、Ｓ１３２の処理に進み、これ以外のときには、Ｓ１０４の処理に戻る。
ステップ１３２（Ｓ１３２）において、差分ファイル取得部２２４は、分割ファイルを結合して、復元する。
【００２９】
以上説明したように、本発明に係るソフトウェア更新システム１によれば、例えば無線通信端末２０にインストールされているソフトウェアのバージョンを「００１」から「００５」にバージョンアップする場合に、ファイルサイズの大きいファイルを一度に適用することがメモリ資源の制約上困難な場合でも、ファイルサイズの小さい複数のファイルを順次適用することにより、バージョンアップが可能となる。
また、バージョンアップに必要な複数のファイルを１度に全てダウンロードすることにより、通信費を削減することができる。
【図面の簡単な説明】
【００３０】
【図１】（Ａ）は、本発明にかかるソフトウェア更新システムの構成を示す図であり、（Ｂ）は、（Ａ）に示したダウンロードサーバのハードウェア構成を例示する図であり、（Ｃ）は、（Ａ）に示した無線通信端末のハードウェア構成例示する図である。
【図２】（Ａ）は、図１（Ａ）に示したダウンロードサーバにおいて実行されるファイル提供プログラムの構成、および、ダウンロードサーバの記憶装置に記憶されている差分ファイルを示す図であり、（Ｂ）は、差分ファイルの各ファイルに含まれているファイルの属性情報を示す図であり、（Ｃ）は、記憶装置に格納されている進捗情報ファイルに含まれている進捗情報を示す図である。
【図３】図１（Ａ）に示した無線通信端末において実行される更新プログラムの構成、および、無線通信端末の記憶装置に記憶されている差分ファイル、進捗情報ファイルおよび更新対象ソフトウェアを示す図である。
【図４】図１（Ａ）に示したソフトウェア更新システムの全体動作（Ｓ１０）を示すフローチャートである。
【符号の説明】
【００３１】
１・・・ソフトウェア更新システム、１０・・・ダウンロードサーバ、１００・・・無線通信回線網、１０２・・・ＣＰＵ、１０４・・・メモリ、１０６・・・記憶装置、１０８・・・有線通信装置、１１０・・・無線通信装置、１１２・・・入出力装置、１１４・・・システムバス、１４・・・ファイル提供プログラム、１４０・・・ダウンロード部、１４２・・・入出力部、１６・・・差分ファイル、２０・・・無線通信端末、２００・・・ＲＴＣ、２０２・・・端末機能部、２２・・・更新プログラム、２２０・・・ダウンロード部、２２２・・・進捗情報管理部、２２４・・・差分ファイル取得部、２２６・・・記憶部、２２８・・・更新部、２３０・・・適用判断部、３００・・・進捗情報ファイル、３０２・・・更新対象ソフトウェア
【図１】
2010140220.tif 000003
【図２】
2010140220.tif 000004
【図３】
2010140220.tif 000005
【図４】
2010140220.tif 000006