(57)【要約】【課題】携帯電話機等の移動機に対するバージョンアップ方法に関し、移動機又はコンピュータから効率良くバージョンアップを実行する。【解決手段】バージョンアップする改修移動機１と、バージョンアップ用移動機２又はバージョンアップ用コンピュータ３とをケーブル４，５により接続し、バージョンアップ用移動機２又はバージョンアップ用コンピュータ３は、新版ソフトウェアと旧版ソフトウェアとの差分データを圧縮符号化した差分圧縮データを保持し、改修移動機１のソフトウェアの版数と新版ソフトウェアの版数とを含む管理情報と、ブロック単位の差分圧縮データとをケーブル４，５を介して改修移動機１に転送し、この改修移動機１は、差分圧縮データを解凍して展開し、不揮発性メモリに順次書込む過程を含むものである。【選択図】      図１
2004213201.tif 000002
【特許請求の範囲】
【請求項１】
バージョンアップする改修移動機に対して、バージョンアップ用移動機又はバージョンアップ用コンピュータからケーブルを介してソフトウェアのバージョンアップを行うバージョンアップ方法に於いて、
前記バージョンアップ用移動機又はバージョンアップ用コンピュータは、新版ソフトウェアと旧版ソフトウェアとの差分圧縮データを保持し、前記改修移動機のソフトウェアの版数と前記新版ソフトウェアの版数とを含む管理情報と、ブロック単位の前記差分圧縮データとを前記ケーブルを介して前記改修移動機に転送し、該改修移動機は、前記差分圧縮データを解凍して展開し、不揮発性メモリに順次書込む過程を含む
ことを特徴とするバージョンアップ方法。
【請求項２】
前記バージョンアップ用移動機又は前記バージョンアップ用コンピュータは、前記改修移動機と前記ケーブルで接続して、ソフト改修プログラムを転送し、前記改修移動機は、前記バージョンアップ用移動機又は前記バージョンアップ用コンピュータからのブロック単位の前記差分圧縮データを順次受信して前記ソフト改修プログラムに従って解凍して展開したデータを前記不揮発性メモリの領域に書込む時に、該領域の旧版データを退避させて書込み、正常書込終了による前記ブロックの番号を記憶し、前記ブロック単位の差分圧縮データ又は前記書込過程に於けるエラー発生時に、退避させた旧版データを元に戻して、前記差分圧縮データの受信を開始し、前記記憶したブロック番号の次のブロック番号のデータから前記不揮発性メモリに対する書込処理を再開する過程を含むことを特徴とする請求項１記載のバージョンアップ方法。
【請求項３】
前記改修移動機の前記不揮発性メモリに格納する初期状態の複数のライブラリを、それぞれ空き領域を介在させて格納し、バージョンアップによるライブラリの増分を前記空き領域により吸収することを特徴とする請求項１又は２記載のバージョンアップ方法。
【請求項４】
複数のライブラリのそれぞれのバグ検出数を求め、該バグ検出数が少ないライブラリを前記不揮発性メモリのアドレスの若番側に、該バグ検出数が多いライブラリを前記不揮発性メモリのアドレスの老番側に格納することを特徴とする請求項３記載のバージョンアップ方法。
【請求項５】
前記バージョンアップ用移動機又は前記バージョンアップ用コンピュータは、複数世代の旧版ソフトウェアと新版ソフトウェアとのそれぞれの差分圧縮データと、版数情報を含む管理情報とを保持し、且つ前記差分圧縮データを、前記改修移動機に順次転送する為のブロック単位に保持したことを特徴とする請求項１乃至４記載のバージョンアップ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯電話機や携帯型情報通信機器（ＰＤＡ；Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の移動機の各種機能を実現する為のソフトウェアのバージョンアップを、同一又は類似機種の移動機又はコンピュータから容易に実施できるバージョンアップ方法に関する。
【０００２】
【従来の技術】
携帯電話機等の移動機は、各種の機能を実現する為のソフトウェアをＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性メモリに格納した構成を有するものであり、そのソフトウェアのバージョンアップや追加等の必要が生じた時は、バージョンアップ済みのソフトウェアを含む不揮発性メモリ、又は追加ソフトウェアを含む不揮発性メモリを、移動機に内蔵した不揮発性メモリと交換する方法が考えられる。しかし、内蔵メモリの交換は、移動機内部を開くから専門技術者による作業が必要となる問題がある。
【０００３】
そこで、移動機の内蔵の不揮発性メモリに格納されたソフトウェアの書換えや追加ソフトウェアの書込みを、コンピュータから行う方法が知られている。又移動機に対するソフトウェアのダウンロードの専用装置を設けることも考えられる。何れの場合も、移動機を、ダウンロード用のコンピュータ又は専用装置を設置している例えば営業所等に持参することになるが、比較的確実なバージョンアップが可能となる。
【０００４】
又移動機の無線通信機能を利用し、例えば、親機から新ソフトウェアをブロック毎に誤り訂正符号化して、移動通信ネットワークを介して移動機に送信し、移動機は、バージョンアップするソフトウェアを受信し、旧バージョンソフトウェアのメモリの格納領域に、受信した新バージョンソフトウェアを上書して、バージョンアップする方法が知られている（例えば、特許文献１参照）。又ネットワーク制御局から移動機に対して制御チャネルを介してパケット化した新バージョンのソフトウェアを送信し、移動機は、このパケットを制御チャネルを介して受信することにより、新バージョンのソフトウェアをダウンロードする方法が知られている（例えば、特許文献２参照）。
【０００５】
又ダウンロード用の外付け不揮発性メモリを移動機に接続し、ダウンロードプログラムを用いて、移動通信ネットワークを介してバージョンアップするソフトウェアを受信し、受信したソフトウェアを不揮発性メモリに一旦格納し、この新バージョンのソフトウェアの受信格納が完了すると、この不揮発性メモリから移動機の内蔵メモリにソフトウェアを書込むことにより、ソフトウェアのバージョンアップを行う方法も知られている（例えば、特許文献３参照）。
【０００６】
又移動機に於いて保持するメニューのバージョン情報と、受信したバージョン情報とを比較し、相違する場合は、情報センタにメニュー更新を要求し、それによって情報センタからバージョンの差に伴った差分データを移動機に送信し、移動機はこの差分データを受信してメニューを更新する手段も知られている（例えば、特許文献４参照）。このような差分データによりバージョンアップを図る為に、両方のバージョンのプログラムデータを先頭アドレスから比較し、最初に相違したアドレス以降のデータを抽出して差分データを作成し、情報センタには、最新のプログラムの全体データと、差分データとを保存し、端末装置のプログラムのバージョン情報に応じて全体データ或いは差分データを、情報センタから端末装置へ送信して、端末装置のプログラムを更新する手段も知られている（例えば、特許文献５参照）。
【０００７】
【特許文献１】
特開平９−２８４８３９号公報
【特許文献２】
特開平１１−１１０２２１号公報
【特許文献３】
特開２００２−２０７５９９号公報
【特許文献４】
特開平１１−１２０４８７号公報
【特許文献５】
特開２００２−２９７３９０号公報
【０００８】
【発明が解決しようとする課題】
移動機の無線通信機能を利用してソフトウェアのバージョンアップを行う前記特許文献１〜３に示されている方法は、移動機がネットワークを介して親局や制御局との間で無線通信が可能の位置であれば、ソフトウェアのバージョンアップを行うことが可能である。しかし、電波の伝搬状態は比較的大きく変動するから、電波の伝搬状態が良好でない場合は、再送処理を繰り返す必要が生じて、バージョンアップに要する時間が長くなる問題がある。又バージョンアップ用の専用装置は、移動機に対するソフトウェアのバージョンアップを効率良く実施できるが、専用装置は汎用コンピュータ等と相違して高価となり、且つ総ての営業所等に配置するにはコストアップとなる問題がある。
【０００９】
又移動機に対するソフトウェアのバージョンアップ過程に於いて、旧バージョンのソフトウェアが必要とするメモリ容量より、新バージョンアップのソフトウェアが必要とするメモリ容量が多い場合、他の空き容量がなければ、バージョンアップすることができなくなる。又空き容量が存在した時に、バージョンアップするソフトウェアを格納する為に、メモリ内の領域配置の変更の為の書換えの処理が必要となる問題がある。
【００１０】
又バージョンアップ過程に於いて、差分圧縮の技術を適用して、旧バージョンのソフトウェアと新バージョンのソフトウェアとの差分を転送することにより、バージョンアップに要する転送データ量を削減することが前述の特許文献４や特許文献５に示されるように提案されている。しかし、従来は、バージョンアップ過程に於いてエラーが発生すると、バージョンアップするソフトウェアの先頭からバージョンアップ処理を再開するものであった。従って、バージョンアップ過程に於けるエラー発生により、バージョンアップに要する時間が長くなる問題があった。又汎用のコンピュータ等に於けるソフトウェアについては、複数世代にわたる管理が可能となっているが、移動機についてはこのような世代管理は行われていない。その為、前述の差分を転送する場合に、バージョンによって差分が相違することになるが、これに対応することができないものであった。
【００１１】
本発明は、前述の従来の問題点を解決するもので、ソフトウェアのバージョンアップを行う改修移動機に対して、同一機種又は類似機種の移動機又はコンピュータからソフトウェアのバージョンアップを効率良く実施可能とすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明のバージョンアップ方法は、図１を参照して説明すると、バージョンアップする改修移動機１に対して、バージョンアップ用移動機２又はバージョンアップ用コンピュータ３からケーブル４，５を介してソフトウェアのバージョンアップを行うバージョンアップ方法であって、バージョンアップ用移動機２又はバージョンアップ用コンピュータ３は、新版ソフトウェアと旧版ソフトウェアとの差分圧縮データを保持し、改修移動機１のソフトウェアの版数と新版ソフトウェアの版数とを含む管理情報と、ブロック単位の差分圧縮データとをケーブル４，５を介して改修移動機１に転送し、この改修移動機１は、差分圧縮データを解凍して展開し、不揮発性メモリに順次書込む過程を含むものである。
【００１３】
又バージョンアップ用移動機２又はバージョンアップ用コンピュータ３は、改修移動機１とケーブル４，５で接続して、ソフト改修プログラムを転送し、改修移動機１は、バージョンアップ用移動機２又はバージョンアップ用コンピュータ３からのブロック単位の差分圧縮データを順次受信して、ソフト改修プログラムに従って解凍して展開したデータを不揮発性メモリの領域に書込む時に、この領域の旧版データを退避させて書込み、正常書込終了による前記ブロックの番号を記憶し、このブロック単位の差分圧縮データ又は書込過程に於けるエラー発生時に、退避させた旧版データを元に戻して、差分圧縮データの受信を開始し、前記記憶したブロック番号の次のブロック番号のデータから不揮発性メモリに対する書込処理を再開する過程を含むことができる。
【００１４】
又改修移動機１の不揮発性メモリに格納する初期状態の複数のライブラリを、それぞれ空き領域を介在させて格納し、バージョンアップによるライブラリの増分を前記空き領域により吸収することができる。又複数のライブラリのそれぞれのバグ検出数を求め、バグ検出数が少ないライブラリを不揮発性メモリのアドレスの若番側に、且つバグ検出数が多いライブラリを不揮発性メモリのアドレスの老番側に格納する。
【００１５】
又バージョンアップ用移動機２又は前記バージョンアップ用コンピュータ３は、複数世代の旧版ソフトウェアと新版ソフトウェアとのそれぞれの差分圧縮データと、版数情報を含む管理情報とを保持し、且つ差分圧縮データを、改修移動機１に順次転送する為のブロック単位に保持することができる。
【００１６】
【発明の実施の形態】
図１は本発明の原理説明図であり、ソフトウェアのバージョンアップを行う改修移動機１と、最新ソフトウェアを搭載しているバージョンアップ用移動機２との間をシリアル転送用のケーブル４により接続し、バージョンアップ用移動機２から改修移動機１に対して、最新ソフトウェアをシリアル転送して、ソフトウェアのバージョンアップを実施する。この場合のバージョンアップ用移動機２は、改修移動機１と同一機種又は類似機種とするものであり、この移動機２は、図示を省略したソフトウェア作成用のコンピュータ等から最新ソフトウェアを転送して格納した構成とする。従って、ソフトウェアのバージョンアップが必要となった時に、作成した最新バージョンのソフトウェアを格納したバージョンアップ用移動機２を各所に配付することにより、ユーザの移動機１に対するバージョンアップのサービスを容易に実施することができる。
【００１７】
又は改修移動機１と、最新ソフトウェアを搭載しているバージョンアップ用コンピュータ（ＰＣ）３との間をシリアル転送用のケーブル５により接続し、バージョンアップ用コンピュータ３から改修移動機１に対して最新ソフトウェアをシリアル転送して、ソフトウェアのバージョンアップを実施する。
【００１８】
この場合、旧版ソフトウェアと新版ソフトウェアとの差分データを更に圧縮符号化して、ケーブル４を介して改修移動機１に転送し、改修移動機１に於いて解凍及び差分展開を行って、不揮発性メモリ、即ち、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の書換え可能の不揮発性メモリに書込むことにより、新版ソフトウェアにバージョンアップするものである。何れの場合も、シリアル転送用のケーブル４，５により接続することにより、安定したバージョンアップ処理を行うことができる。
【００１９】
図２は本発明の第１の実施の形態の説明図であり、１はユーザが所有するソフトウェアのバージョンアップを行う改修移動機、２はＶＵ（バージョンアップ用）移動機、７はバージョンアップ用のソフトウェアを作成して保持するパーソナルコンピュータ（パソコン）、１１はＢｏｏｔ（ブート）プログラム、１２は旧プログラム、１３は新規プログラム、１５はロードモジュール（ＬＭ）、１７はパソコン７の制御処理部、１８は差分圧縮データ、１９は各種プログラム／管理データ、２１はＶＵ移動機２の各種プログラム、２２はプログラムの版数等を含む管理データ、２３は差分圧縮データを示す。又１）〜９）の経路によりバージョンアップの処理経路を示し、改修移動機１の旧プログラム１２と新規プログラム１３及びＶＵ移動機２の各種プログラム２１と管理データ２２と差分圧縮データ２３とは、前述の書換え可能の不揮発性メモリに格納する構成とする。
【００２０】
パソコン７の制御処理部１７により、新規ソフトウェアのロードモジュールＬＭを、１）バイナリ（Ｂｉｎａｒｙ）変換し、旧版ソフトウェアと新版ソフトウェアとについて、２）差分抽出し、抽出した差分を、３）圧縮符号化し、差分圧縮データ１８としてメモリに格納する。そして、新版ソフトウェアのバージョン等について、４）管理情報生成を行い、各種プログラム／管理データ１９としてメモリに格納する。
【００２１】
そして、パソコン７とＶＵ移動機２とをシリアルケーブルで接続し、５）ローダー（Ｌｏａｄｅｒ）により、パソコン７の各種プログラム２１と、管理データ２２と、差分圧縮データ２３とを転送して格納する。このＶＵ移動機２と改修移動機１とを図１について説明したようにシリアルケーブルにより接続し、６）改修移動機１に於いては、７）ブート（Ｂｏｏｔ）展開を行い、差分圧縮データについて、８）解凍と、９）差分展開とを行い、不揮発性メモリ内の旧プログラムを新規プログラムに書換えてバージョンアップを行う。
【００２２】
この場合のＶＵ移動機２から改修移動機１に対して転送する差分圧縮データは、予め設定したブロック単位で転送するものであり、ブロック対応にエラーチェックを行い、エラーを含まない新規プログラムとなるようにバージョンアップ処理を行う。又このブロック単位で不揮発性メモリに対するデータの書込みが正常終了した例えばブロック番号を記憶しておき、バージョンアップ処理過程で異常が発生した場合、正常終了した例えばブロック番号を記憶しているから、バージョンアップ処理再開による不揮発性メモリに対する書込処理は、正常終了したブロックの次から再開する。フラッシュメモリ等の不揮発性メモリは、書込処理時間が比較的長いから、正常終了したブロックの次のブロックから書込処理を再開することにより、エラーが発生した場合でも、バージョンアップに要する時間を短縮することができる。
【００２３】
図３は本発明の第２の実施の形態の説明図であり、１はソフトウェアのバージョンアップを行う改修移動機、３はバージョンアップ用コンピュータ（パソコン）、７はバージョンアップ用のソフトウェアを作成して保持するコンピュータ（パソコン）、１１はＢｏｏｔ（ブート）プログラム、１２は旧プログラム、１３は新規プログラム、１５はロードモジュール（ＬＭ）、１７はパソコン７の制御処理部、１８は差分圧縮データ、１９は各種プログラム／管理データ、３１は制御処理部、３２は書換えＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ；ダイナミック・リンク・ライブラリー）、３３は管理データ、３４は差分圧縮データを示す。又１）〜８）はバージョンアップの経路を示す。
【００２４】
バージョンアップ用コンピュータ（パソコン）３は、図２に於けるＶＵ移動機２に対応するもので、このパソコン３と、改修移動機１とをＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルで接続して、改修移動機１のソフトウェアのバージョンアップを行う場合を示す。又パソコン７は、図２に於けるパソコン７と同一の構成を有し、制御処理部１７の制御に従って、ソフトウェアの書換え用アプリケーションを実装したパソコン３に対して差分圧縮データを転送する。この差分圧縮データを、パソコン３から改修移動機１へ、図２について説明した場合と同様の処理過程によってバージョンアップ処理を実行する。
【００２５】
図４はメモリの説明図であり、旧版の複数のライブラリＡ．ＬＩＢ（Ｌｉｂｒａｒｙ），Ｂ．ＬＩＢ，Ｃ．ＬＩＢ，Ｄ．ＬＩＢ，・・・がメモリの連続したアドレスに格納されている場合、ライブラリＡ．ＬＩＢの変更により、バージョンアップ処理を行うと、旧版のメモリから、新版のメモリのように、ライブラリＡ．ＬＩＢの変更増分だけ、他のライブラリＢ．ＬＩＢ，Ｃ．ＬＩＢ，Ｄ．ＬＩＢ，・・・の格納アドレスを繰り下げることになる。即ち、ライブラリＡ．ＬＩＢの変更増分に従って、他のライブラリＢ．ＬＩＢ，Ｃ．ＬＩＢ，・・・を順次書換える必要が生じることになる。それにより、書換えに要する時間が増加する。通常フラッシュメモリ等の不揮発性メモリを用いるものであるから、書込みに要する時間が、ランダムアクセスメモリに比較して長く且つ書込電力を必要とすることから、消去した領域に書込むデータ量が多いと、長時間を要し、且つ消費電力が増加する。
【００２６】
そこで、本発明に於いては、図５に於ける旧版として示すように、予め各ライブラリＡ．ＬＩＢ，Ｂ．ＬＩＢ，Ｃ．ＬＩＢ，Ｄ．ＬＩＢ，・・・間に空き領域を形成してメモリに格納する。それにより、例えば、ライブラリＡ．ＬＩＢの変更による増分があっても、新版のメモリのように、空き領域を利用して増分を吸収できるから、メモリの更新量は少なくて済むことになる。
【００２７】
図６は更にメモリの更新量を低減する場合を示し、旧版として示すメモリのように、各ライブラリ間に空き領域を形成し、且つ後述のような処理により、割付順番を変更する。この場合、過去のバグ検出数等によりライブラリの改修の可能性を推測し、改修の可能性の高いライブラリを、メモリのアドレスの老番側に格納する。例えば、ライブラリＤ．ＬＩＢ，Ｃ．ＬＩＢ，Ａ．ＬＩＢ，Ｂ．ＬＩＢ，・・・の順番とした場合を示す。そして、例えば、アドレスの老番側のライブラリＡ．ＬＩＢの改修による変更増分があっても、新版のメモリのように、ライブラリＢ．ＬＩＢを繰り下げるだけで済むから、メモリの更新量は更に少なくなる。即ち、メモリの変更差分については、ライブラリ間に空き領域を形成しない図４が最も大きくなり、次にライブラリ間に空き領域を形成する図５が中程度となる。そして、更新する可能性の高いライブラリの割付けの順番をアドレスの老番側とする図６が最も小さくなる。
【００２８】
図７はメモリ内配置処理のフローチャートを示し、メモリに格納するライブラリ（ＬＩＢ）の数ｎの繰り返し処理を行ったか否か、即ち、ｉ＝１〜ｉ＝ｎまでの繰り返し処理を行ったか否かを判定し（Ａ１）、過去の実績からｉ番目のライブラリ（ＬＩＢ）のバグ検出数をカウントする（Ａ２）。そして、そのライブラリ（ＬＩＢ）が最初（ｉ＝１番目）か否かを判定し（Ａ３）、ｉ＝１番目のライブラリの場合、このライブラリを最若番に配置する（Ａ４）。又ｉ＝１でないライブラリ（ＬＩＢ）は、配置の並べ替え処理を行う（Ａ５）。そして、具体的なステップは図示を省略しているが、前述のステップ（Ａ２）〜（Ａ５）についてｉ＝１〜ｉ＝ｎまで繰り返すことにより、ライブラリ（ＬＩＢ）の配置の並べ替えが終了する。
【００２９】
前述のステップ（Ａ５）のライブラリ（ＬＩＢ）の配置の並べ替え処理は、図８に示すように、格納したライブラリ（ＬＩＢ）数分の繰り返し処理を行ったか否か、この場合、ｊ＝１〜ｊ＝ｉ−１までの繰り返し処理を行ったか否かを判定し（Ｂ１）、今回判定するｉ番目のライブラリのバグ検出数が過去に判定したｊ番目のライブラリのバグ検出数よりも小さいか否かを判定し（Ｂ２）、小さい場合は、ｉ番目のライブラリをｊ番目のライブラリの前に配置する（Ｂ３）。しかし、大きい場合は、配置しない。従って、ステップ（Ｂ２）に於いて、配置済みのライブラリ（ＬＩＢ）のバグ検出数より大きいライブラリ（ＬＩＢ）は、ステップ（Ｂ３）に於いて配置されないで、次の繰り返しによるステップ（Ｂ２）に於いて順番が回ってくると、再度比較される。
【００３０】
そして、ｉ−１番目のライブラリ（ＬＩＢ）まで比較済みか否かを判定し（Ｂ４）、比較済みでない場合は、最初のステップ（Ｂ１）に復帰し、比較済みの場合は、その時のｉ番目のライブラリ（ＬＩＢ）は、ステップ（Ｂ３）に於いて配置処理されたライブラリ（ＬＩＢ）のバグ検出数より大きいバグ検出数を有するライブラリであるから、アドレスの最老番に配置する（Ｂ５）。従って、バグ検出数が少ない順番にライブラリ（ＬＩＢ）が並べ替えられる。
【００３１】
このような処理により、図６に於ける旧版として示すようにライブラリを配置する。即ち、バグ検出数が多いライブラリについては改版する可能性が高いから、メモリのアドレスの最老番側に配置し、改版の可能性が低いと推定されるライブラリは、アドレスの若番側に配置する。それによって、他のライブラリの再配置の可能性が極めて低くなり、バージョンアップに要する時間の短縮に寄与することができる。
【００３２】
図９はロードモジュール変換ツールの説明図であり、４１はロードモジュールＬＭ１（プログラム）を格納したメモリ、４２はロードモジュールＬＭ２（データ）を格納したメモリ、４３は定義ファイル、４４はロードモジュール変換ツール、４５はバイナリ変換部、４６はロードモジュール（ＬＭ）マージ部、４７はバイナリデータを格納したメモリを示す。
【００３３】
先ず、（１）．定義ファイル４３は、変換対象ファイル名、変換対象アドレス範囲、変換除外アドレス範囲、出力ファイル名等を記述したもので、ロードモジュール変換ツール４４は、この定義ファイル４３を読込む。次に、（２）．読込んだ定義ファイル４３により指定されている情報を基に、新旧ロードモジュールファイルをバイナリ変換部４５によりバイナリデータに変換する。次に、（３）．ロードモジュールマージ部４６によりバイナリデータのマージを行う。それにより、メモリ４７に、バイナリデータが格納される。
【００３４】
図１０は差分圧縮ツールの説明図であり、６１は新ロードモジュール（バイナリデータ）を格納したメモリ、６２は旧ロードモジュール（バイナリデータ）を格納したメモリ、６３は差分抽出ツール、６４は分割・差分データを示す。差分抽出ツール６３により、新ロードモジュールと旧ロードモジュールとの差分をバイナリデータとして求め、圧縮処理により、分割・圧縮データ６４を求める。この場合、移動機に搭載し易いように、分割・圧縮データ６４は、例えば、２５６ｋバイト単位で分割することができる。
【００３５】
図１１はＶＵ移動機に対してバージョンアップ用のデータを格納する為の転送データ作成ツールの説明図であり、７１は新版ロードモジュール（ＬＭ）を格納したメモリ、７２はロードモジュール（ＬＭ）作成ツール、７３は複数世代（複数の版数）対応の差分データを、旧版差分１，旧版差分２，・・・として格納したメモリ、７４は定義ファイル、７５はロードモジュール（ＬＭ）作成ツール７２により作成された管理情報ロードモジュール（ＬＭ）、差分実データ１，差分実データ２，・・・を格納したメモリを示す。
【００３６】
この場合、図２に示すように、ＶＵ移動機２から改修移動機１に対するバージョンアップを行う場合の転送データの作成の場合を示し、ロードモジュール（ＬＭ）作成ツール７２は、先ず（１）．変換対象ファイル名，変換対象プログラム版数，変換ファイル数，分割ブロックサイズ等を定義ファイル７４から読込む。そして、（２）．新版ロードモジュール（ＬＭ）（バイナリ形式）をメモリ７１から読込み、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）生成を行い、（３）．メモリ７３から変換対象プログラム版数に従った差分データを読込み、各差分データのサイズを求める。そして、（４）．前述の処理で得られたデータと共に差分転送管理情報，版数対応の差分実データを、ＶＵ移動機２にロード可能の形式で出力してメモリ７５に格納する。
【００３７】
図１２は転送データ作成ツールの説明図であり、８１は新版ロードモジュール（ＬＭ）を格納したメモリ、８２はロードモジュール（ＬＭ）作成ツール、８３は最新版単純圧縮データ，旧版差分１，旧版差分２，・・・を格納したメモリ、８４は定義ファイル、８５は転送データを格納したメモリを示す。
【００３８】
この場合、図３に示すように、パソコン３から改修移動機１に対するバージョンアップを行う場合の転送データの作成の場合を示し、ロードモジュール（ＬＭ）作成ツール８２は、先ず（１）．変換対象ファイル名，変換対象プログラム版数，変換ファイル数，分割ブロックサイズ等を定義ファイル８４から読込み、次に、（２）．メモリ８１から新版ロードモジュール（ＬＭ）（バイナリ形式）を読込み、ＣＲＣを生成し、（３）．メモリ８３から差分データを読込み、各差分データのサイズを求め、（４）．前述の処理で得られたデータと共に差分転送管理情報，最新版ロードモジュール（ＬＭ）単純圧縮ファイル，版数対応の差分実データファイルをバイナリ形式でパソコン３にロードする。
【００３９】
図１３は転送データの説明図であり、図２に示すＶＵ移動機２から改修移動機１に対してバージョンアップする場合の転送データを示し、９１は移動機対応のファイル管理データ，差分管理データを含む管理情報、９２はプログラムの版数対応の差分情報ロードモジュール（ＬＭ）を示す。
【００４０】
図１４，図１５は管理ロードモジュールの説明図であり、図２に示すＶＵ移動機２から改修移動機１に対してバージョンアップする場合の管理情報を示し、格納ファイル数，最新書換えバージョン，最新プログラム版数，差分書込み完了後のＣＲＣ３２データ等を含むと共に、版数対応の差分用旧版プログラム版数，バージョンアップ移動機内の差分管理データ書込先ＲＯＭアドレス，バージョンアップ移動機内の差分実データの書込先ＲＯＭアドレスと、ファイル毎の差分管理データとを含む。このファイル毎の差分管理データは、図１５に示すように、該当ファイル内の差分ブロック数と、差分分割単位（バイト）と、第１番目の転送先ＲＯＭアドレスと、第１番目の差分ブロックサイズと、第１番目の差分を適用後のＣＲＣ３２データとを、差分ブロック数対応に格納する。このような構成により複数世代にわたり管理することができる。
【００４１】
図１６は図３に示すパソコン３から改修移動機１に対してバージョンアップする場合のファイル構成の説明図であり、階層型のディレクトリ構造によるファイル管理を示す。その管理ファイルの一例を図１７に示す。この管理ファイルは、格納ファイル数，最新書換えバージョン，最新プログラム版数，差分書込完了後のＣＲＣ３２データ，ソフト更新プログラムファイルサイズ，ソフト更新プログラムファイル名と、版数対応に、差分旧版プログラム版数と差分データファイル管理情報格納先オフセット値と差分情報ファイル格納ディレクトリ名と、ファイル毎の差分管理データとを含み、ファイル毎の差分管理データは、該当ディレクトリ内の差分ファイル数と、差分分割単位（バイト）と、差分情報ファイル毎の差分情報ファイルサイズと差分情報ファイル名と差分を適用後のＣＲＣ３２データとを含む内容を格納している。
【００４２】
図１８はＶＵ移動機２（図２参照）から改修移動機１に対するバージョンアップ処理を行う場合の追加したシリアルコマンドを示し、「コマンド」を省略して図示している。又Ｐ１，Ｐ２，・・・はパラメータを示す。又方向は、左向き矢印が改修移動機１からＶＵ移動機２方向、右向き矢印がＶＵ移動機２から改修移動機１方向を示す。
【００４３】
移動機版数通知シリアルは、改修移動機１からＶＵ移動機２に対して、ＣＲＣを含むバージョン情報を転送するもので、それにより、ＶＵ移動機２は、改修移動機１の版数を識別し、版数対応のデータを決定する。又新版数通知シリアルは、改修移動機１から受信したバージョン情報により、バージョンアップ対象と判定した時に、ＶＵ移動機２は、改修移動機１に対して最新のソフト版数と書換え版数とを送信する。チェック結果通知シリアルは、改修移動機１からＶＵ移動機２に対してチェック結果を送信する。書込データ送信シリアルは、ＶＵ移動機２から改修移動機１に対して、書込アドレス，書込後のＣＲＣデータ，送信サイズ，書込データを送信する。書込情報送信シリアルは、バージョンアップの全データを送信後、整合性確認の為の全システムエリアのＣＲＣ値を送信する。
【００４４】
全領域チェック結果通知シリアルは、改修移動機１からＶＵ移動機２に対して、チェック結果を送信する。バージョンアップ完了送信シリアルは、ＶＵ移動機２から改修移動機１に対してバージョンアップの終了を通知する。エラー通知シリアルは、改修移動機１とＶＵ移動機２とに於けるエラー発生時に、相手側へエラー通知する。それにより、表示画面にエラー有りを表示する。
【００４５】
図１９，図２０は、改修移動機に対してＶＵ移動機からバージョンアップする場合のシーケンス説明図であり、又図１８のパラメータＰ１を（  ）内に示す。先ず、ＶＵ移動機に於いて、１）電源投入し、改修移動機との間を、シリアルデータ転送を行う２）ケーブルで接続する。そして、３）改修移動機の電源を投入し、ソフト書込モードを起動し、ＶＵ移動機の４）１キー（テンキーの中の「１」を示すが、他のキーにより指定する方法とすることも可能である）押下を行ってソフト改修プログラム起動要求を行い、５）ソフト改修プログラムを改修移動機に転送する。
【００４６】
改修移動機は、ソフト改修プログラムを受信して、改修処理を起動し、改修移動機の電池電圧が正常動作を保証できる電圧か否かをチェックし、６）プロテクト領域（バージョンアップ対象領域以外の領域）のチェックサムを演算し、モード変更，復旧待ちモードとなり、７）改修移動機からＶＵ移動機に対して現バージョン情報を送出する（８０）。即ち、移動機版数通知シリアルコマンドが実行される。ＶＵ移動機は、改修移動機からのバージョン情報によりバージョンアップ対象か否かを判定し、対象外の移動機の場合は、処理を終了する。又バージョンアップ対象の移動機の場合は、改修移動機に対して８）新バージョン情報を通知する（Ｎ）。即ち、新版数通知シリアルコマンドを実行する。
【００４７】
改修移動機は、新バージョン情報を受信してＶＵ移動機に対してチェック結果を通知する（Ｃ）。即ち、チェック結果通知シリアルコマンドを実行する。ＶＵ移動機は、１０）ブロック毎に差分圧縮データを転送する（Ｗ）。即ち、書込データ送信シリアルコマンドを実行する。この場合、ＶＵ移動機から版数等を含む管理情報も転送する。改修移動機は、ソフト改修プログラムに従ってブロック単位の差分圧縮データを解凍して展開し、１１）ＲＯＭ書込みを行い、対象領域のＣＲＣ演算を行う。そして、１２）受信ＣＲＣ値と演算結果のＣＲＣ値とを比較し、その比較結果を、１３）ＶＵ移動機に通知する（Ｃ）。即ち、チェック結果通知シリアルコマンドを実行する。そして、この１０）〜１３）の処理を、１４）ブロック数だけ繰り返す。
【００４８】
そして、ＶＵ移動機が、最終ブロックのＣＲＣ通知を受信すると、改修移動機に対して、１５）書込状況チェックを送出する（Ｉ）。即ち、書込状況送信シリアルコマンドを実行する。改修移動機は、プロテクト領域（バージョンアップ対象領域以外の領域）についてのチェックサムを再計算し、書込みの前に求めたチェックサムと比較する。比較一致の場合は、バージョンアップによるプロテクト領域が影響を受けていないことが判る。又プログラム領域のチェックサムを求め、ＶＵ移動機から書込状況チェック通知で転送されたチェックサムと比較し、１６）その比較結果をＶＵ移動機へ転送する（Ｐ）。即ち、全領域チェック結果通知シリアルコマンドを実行する。ＶＵ移動機は、比較結果によりエラー無しと判定すると、１７）バージョンアップ終了を改修移動機に通知する（Ｚ）。即ち、バージョンアップ完了送信シリアルコマンドを実行する。１８）改修移動機は、それによって通常モードにモード変更する。
【００４９】
図２１〜図２３はパソコン（ＰＣ）から改修移動機に対してバージョンアップする場合のシーケンス説明図であり、図１８に示すシリアルコマンドに於けるパラメータＰ１を（  ）内で示す。なお、図１９，図２０に示すシーケンスと同様な処理でバージョンアップを行うものであるが、先ず、パソコンと改修移動機とをＵＳＢケーブルで接続し、バージョンアップ前に、移動機製造番号による機種が正しいか否か、通常モードか復旧待ちモードか否か、復旧書換え要求か否か、復旧書換え要求時は通常モードか否か、又バージョン確認を行った後に、パソコンから改修移動機に開始通知を行う。それ以降は、シリアル情報のパラメータＰ１も併記して示すように、図１９及び図２０に示すバージョンアップ動作シーケンスと同様のシーケンスでバージョンアップが行われるものであるから、重複した説明は省略する。
【００５０】
図２４及び図２５は、ＶＵ移動機から改修移動機に対してバージョンアップを行っている時のエラー発生時の動作シーケンスを示し、（Ｗ），（Ｅ），（Ｃ）は図１８に示すシリアルコマンドのパラメータＰ１を示す。ＶＵ移動機からＮ番目（ブロック単位で先頭からＮ番目のブロック）の差分圧縮データを改修移動機に転送する（Ｗ）。即ち、書込データ送信シリアルコマンドを実行する。改修移動機は、前回の（Ｎ−１）番目の差分圧縮データを正常に不揮発性メモリに書込み、その書込完了位置を‘Ｎ−１’に更新する。そして、差分圧縮データを解凍して展開し、旧データを退避させて、ＲＯＭ（不揮発性メモリ）に対して消去，書込みを行う。即ち、差分圧縮データの転送毎に、（転送回数−１）番目の書込完了位置の更新と、ＲＯＭ書込前に旧データの保存とを行う。例えば、このＲＯＭ書込時に、エラーが発生すると、退避した旧データを元に戻し、エラー発生通知をＶＵ移動機に送出する（Ｅ）。即ち、エラー通知シリアルコマンドを送出する。
【００５１】
ＶＵ移動機は、エラー発生通知により、再度バージョンアップの処理を開始する。即ち、１番目のブロックの差分圧縮データを改修移動機に転送し、改修移動機はＣＲＣ演算のみを行い、ＲＯＭ書込処理は行わない。そして、そのチェック結果をＶＵ移動機に通知し、ＶＵ移動機は、２番目のブロックの差分圧縮データを改修移動機に転送する。これを繰り返して、前回エラーが発生してＲＯＭに書込まれていないＮ番目のブロックの差分圧縮データを改修移動機が受信すると、書込完了位置を‘Ｎ−１’に更新し、差分圧縮データを解凍して展開し、旧データを退避させて、ＲＯＭに対して消去，書込みを行い、ＣＲＣ演算を行って、チェック結果をＶＵ移動機に通知する。そして、書込完了位置を‘Ｎ’とする。又Ｎ＋１番目以降の差分圧縮データについても同様の処理によりＲＯＭに書込む。従って、エラー発生時は、ＶＵ移動機は、パージョンアップの為の差分圧縮データを１番目から順次転送することになるが、改修移動機は、エラー発生時の書込完了位置を記憶しているから、前回の書込完了位置以降のブロックの差分圧縮データを受信する毎にＲＯＭ書込みを行うことになり、先頭からＲＯＭ書込みを繰り返す場合に比較して、所要時間を短縮することができる。
【００５２】
図２６及び図２７は、ＶＵ移動機から改修移動機に対するバージョンアップ時の動作シーケンス説明図であり、ＶＵ移動機の電源投入を行い（１）、それにより、「ＳＥＴ  ＴＥＥ  ＣＡＢＬＥ  ＡＮＤ  ＴＵＲＮ  ＯＮ  ＴＨＥ  ＡＮＯＴＨＥＲ  ＭＳ  ＴＨＥＮ  ＰＵＳＵ  １  ＫＥＹ」が、ＶＵ移動機の表示画面に表示される。そこで、ＶＵ移動機と改修移動機とを専用ケーブルで接続する（２）。そして、改修移動機の電源投入を行い（３）。それにより、改修移動機の発光ダイオードＬＥＤが一瞬点灯する。
【００５３】
次に、ＶＵ移動機の「１」キーを押下する（４）。その時、改修移動機の表示画面は空白画面となっている。そして、バージョンアップ処理が開始され、ＶＵ移動機の表示画面は、改修移動機の機種やバージョンのチェック画面、チェックＯＫにより差分圧縮データ割合の表示画面、終了画面に移行する。又改修移動機に於いては、発光ダイオードＬＥＤの点灯，消灯によるダウンロード中の状態を示し、表示画面は、最後に終了画面となる。そして、専用ケーブルを外し（５）、ＶＵ移動機と改修移動機とは電源をオフとする（６）。前述のように、ＶＵ移動機と改修移動機との表示画面により、操作手順を表示することができる。
【００５４】
図２８及び図２９は、パソコンから改修移動機に対するバージョンアップ時の動作シーケンス説明図であり、パソコンＰＣと改修移動機とをＵＳＢケーブルで接続し（１）、パソコンＰＣのソフト書換用アプリケーションの実行ボタン押下により、バージョンアップを開始する（２）。改修移動機は、ＬＥＤが２回点滅し、その後、点灯を継続する。又表示画面は空白画面となる。そして、パソコンＰＣからのデータ転送が終了すると、ＬＥＤ消灯となり、次にＬＥＤ点灯し、ＲＯＭに対する書換え処理中を、表示画面に表示し、終了により、「ＣＯＭＰＬＥＴＥＤ」を表示し、ＬＥＤは消灯する。そして、自動リセットにより待受画面となり、ＵＳＢケーブルを取り外して、バージョンアップ処理を終了する（３）。なお、移動機のＬＣＤ（液晶表示）画面と、ＬＥＤ（発光ダイオード）との配置構成の一例を図示しているが、他の配置構成とすることも可能であり、又ユーザインタフェースとしてのＬＥＤの点灯制御や表示画面の表示制御は、前述の実施の形態に限定されるものではない。
【００５５】
図３０はエラー表示の説明図であり、ＶＵ移動機から改修移動機に対してバージョンアップする場合のエラー発生時の表示の一例を示す。例えば、移動機種別の誤りや、チェックサムの比較によるエラー等の表示内容を示す。又他の各種のエラー発生時には、エラー種別が認識できるように表示することができる。
【００５６】
【発明の効果】
以上説明したように、本発明は、改修移動機に対して、バージョンアップ移動機又はパソコンからケーブルを介して、新版ソフトウェアと旧版ソフトウェアとの差分を更に圧縮したデータをブロック単位で転送し、又ソフトウェアの版数情報等を含む管理情報も転送し、改修移動機は、ソフト改修プログラムに従ってブロック単位の差分圧縮データを解凍して展開し、書換え可能の不揮発性メモリに順次書込むもので、又そのブロック単位で正常書込完了を記憶する。又エラー発生時は、正常書込完了のブロックの次のブロックから不揮発性メモリに対する書込みを行うものである。
【００５７】
従って、改修移動機のバージョンアップ処理は、携帯が容易なバージョンアップ移動機を用いることが可能であり、又パソコンからも実行することができるものであるから、柔軟性に富んだバージョンアップが可能となる。又ブロック単位で圧縮符号化して転送するから、転送データ量を削減して、バージョンアップに要する時間を短縮することができる。又エラー発生時に於いても、不揮発性メモリに対する書込みを、エラー発生ブロックから行うことにより、バージョンアップに要する時間を短縮することができる。例えば、同一のソフトウェアについて、従来の方法による場合のバージョンアップに要する時間は、平均的に約２３分を要したものが、本発明の実施の形態によれば、最短３分９秒で済み、平均で４分５９秒であった。
【００５８】
又旧版数対応に新版ソフトウェアとの差分圧縮データを保持して、改修移動機側の版数に対応した差分圧縮データをダウンロードすることが可能であり、１台のバージョンアップ移動機又はバージョンアップ用コンピュータにより、各種の版数の改修移動機に対応することができる。又不揮発性メモリのライブラリ対応の領域間に空きを形成し、更には、バグ検出数の多いライブラリをアドレスの老番側に配置することにより、バージョンアップ時の増分による他のライブラリの書換えが必要となる確率を低減して、バージョンアップに要する時間を短縮することができる利点がある。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の第１の実施の形態の説明図である。
【図３】本発明の第２の実施の形態の説明図である。
【図４】メモリの説明図である。
【図５】メモリの説明図である。
【図６】メモリの説明図である。
【図７】メモリ内配置処理のフローチャートである。
【図８】並べ替え処理のフローチャートである。
【図９】ロードモジュール変換ツールの説明図である。
【図１０】差分圧縮ツールの説明図である。
【図１１】転送データ作成ツールの説明図である。
【図１２】転送データ作成ツールの説明図である。
【図１３】転送データの説明図である。
【図１４】管理ロードモジュールの説明図である。
【図１５】管理ロードモジュールの説明図である。
【図１６】ファイル構成の説明図である。
【図１７】管理ファイルの説明図である。
【図１８】追加したシリアルコマンドの説明図である。
【図１９】バージョンアップ動作シーケンス説明図である。
【図２０】バージョンアップ動作シーケンス説明図である。
【図２１】バージョンアップ動作シーケンス説明図である。
【図２２】バージョンアップ動作シーケンス説明図である。
【図２３】バージョンアップ動作シーケンス説明図である。
【図２４】エラー発生時の動作シーケンス説明図である。
【図２５】エラー発生時の動作シーケンス説明図である。
【図２６】バージョンアップ時の動作シーケンス説明図である。
【図２７】バージョンアップ時の動作シーケンス説明図である。
【図２８】バージョンアップ時の動作シーケンス説明図である。
【図２９】バージョンアップ時の動作シーケンス説明図である。
【図３０】エラー表示の説明図である。
【符号の説明】
１  改修移動機
２  バージョンアップ用移動機（ＶＵ移動機）
３  バージョンアップ用コンピュータ（ＰＣ）
４，５  ケーブル
【図１】
2004213201.tif 000003
【図２】
2004213201.tif 000004
【図３】
2004213201.tif 000005
【図４】
2004213201.tif 000006
【図５】
2004213201.tif 000007
【図６】
2004213201.tif 000008
【図７】
2004213201.tif 000009
【図８】
2004213201.tif 000010
【図９】
2004213201.tif 000011
【図１０】
2004213201.tif 000012
【図１１】
2004213201.tif 000013
【図１２】
2004213201.tif 000014
【図１３】
2004213201.tif 000015
【図１４】
2004213201.tif 000016
【図１５】
2004213201.tif 000017
【図１６】
2004213201.tif 000018
【図１７】
2004213201.tif 000019
【図１８】
2004213201.tif 000020
【図１９】
2004213201.tif 000021
【図２０】
2004213201.tif 000022
【図２１】
2004213201.tif 000023
【図２２】
2004213201.tif 000024
【図２３】
2004213201.tif 000025
【図２４】
2004213201.tif 000026
【図２５】
2004213201.tif 000027
【図２６】
2004213201.tif 000028
【図２７】
2004213201.tif 000029
【図２８】
2004213201.tif 000030
【図２９】
2004213201.tif 000031
【図３０】
2004213201.tif 000032