(57)【特許請求の範囲】
【請求項１】
コンピュータの起動用システムプログラムをバージョンアップする方法であって，
現在起動している起動用システムプログラムとは別に，初期バージョンの起動用システムプログラムを記憶装置に格納しておき，
起動用システムプログラムのバージョンアップを行う際に，前記記憶装置の空き領域に前記初期バージョンの起動用システムプログラムの複製を作成し，
起動用システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを用いて，前記初期バージョンの起動用システムプログラムの複製を，最新バージョンの起動用システムプログラムに更新し，
起動する起動用システムプログラムを最新バージョンの起動用システムプログラムに切り替える
ことを特徴とするシステムプログラムのバージョンアップ方法。
【請求項２】
請求項１に記載のシステムプログラムのバージョンアップ方法において，
前記記憶装置に記憶されている現在起動している起動用システムプログラムからユーザの設定値を抽出し，抽出した設定値に基づいて最新バージョンにバージョンアップした起動用システムプログラムを設定する過程を有する
ことを特徴とするシステムプログラムのバージョンアップ方法。
【請求項３】
請求項１に記載のシステムプログラムのバージョンアップ方法において，
前記初期バージョンの起動用システムプログラムを前記記憶装置に圧縮して格納しておき，
前記初期バージョンの起動用システムプログラムの複製を作成する際には，圧縮された初期バージョンの起動用システムプログラムを解凍して複製を作成する
ことを特徴とするシステムプログラムのバージョンアップ方法。
【請求項４】
現在起動している起動用システムプログラムとは別に，初期バージョンの起動用システムプログラムを格納している記憶装置を備えるコンピュータの起動用システムプログラムをバージョンアップするためのプログラムであって，
前記記憶装置の空き領域に前記初期バージョンの起動用システムプログラムの複製を作成する処理と，
起動用システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを用いて，前記初期バージョンの起動用システムプログラムの複製を，最新バージョンの起動用システムプログラムに更新する処理と，
起動する起動用システムプログラムを最新バージョンの起動用システムプログラムに切り替える処理とを，
コンピュータに実行させるためのシステムプログラムのバージョンアップ用プログラム。
【請求項５】
現在起動している起動用システムプログラムとは別に，初期バージョンの起動用システムプログラムを格納している記憶装置を備えるコンピュータの起動用システムプログラムをバージョンアップするためのプログラムを記録した記録媒体であって，
前記記憶装置の空き領域に前記初期バージョンの起動用システムプログラムの複製を作成する処理と，
起動用システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを用いて，前記初期バージョンの起動用システムプログラムの複製を，最新バージョンの起動用システムプログラムに更新する処理と，
起動する起動用システムプログラムを最新バージョンの起動用システムプログラムに切り替える処理とを，
コンピュータに実行させるためのプログラムを記録した
ことを特徴とするシステムプログラムのバージョンアップ用プログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，情報機器のシステムプログラムの不具合を解消するため，または，システムプログラムに機能を新たに追加するために行うシステムプログラムのバージョンアップ技術に関し，特に情報機器のシステムプログラムのバージョンアップにおいて，現在のバージョンがどの段階のバージョンであっても，一つのバージョンアップファイルでの対応を可能としたシステムプログラムのバージョンアップ方法，システムプログラムのバージョンアップ用プログラムおよびシステムプログラムのバージョンアップ用プログラム記録媒体に関する。
【０００２】
【従来の技術】
近年，情報機器の発達に伴い，システム管理者を必要としない自律動作型の情報機器が増加している。自律動作型情報機器の例としては，アプライアンスサーバと呼ばれるネットワーク上で特定サービス（ファイル共有サービスなど）を提供するサーバが挙げられる。アプライアンスサーバは，目的のサービスに特化することでシステム管理を極限まで単純化し，サーバ管理者不在のオフィスでも手軽に導入できるという特長がある。
【０００３】
図１１は，アプライアンスサーバを利用したシステムの例を示す。このシステムは，アプライアンスサーバ１１１とクライアントＰＣ（パソコン）１１２ａ，，１１２ｂとがＬＡＮ１１３によって接続される構成になっている。アプライアンスサーバ１１１は，クライアントＰＣ１１２ａ，１１２ｂに対して，ファイル共有サービスその他の特定のサービスを行う。
【０００４】
このようなアプライアンスサーバなどの情報機器において，システムプログラムに不具合がある場合，もしくは機能を新たに追加する場合には，システムプログラムのバージョンアップが必要である。
【０００５】
バージョンアップは通常，バージョンアップ用システムプログラムが格納されたファイル（これをバージョンアップファイルという）を用いて行われる。バージョンアップの流れとしては，まず，不具合の発見または新機能の開発により，機器の作成側（以下，メーカという）がバージョンアップファイルを作成する。そのバージョンアップファイルは，メーカのホームページに掲載されたり，ＣＤ−ＲＯＭに記録されたりして，情報機器の利用側（以下，ユーザという）に配布される。ユーザは取得したファイルを情報機器にインストールしてバージョンアップを行う。
【０００６】
従来のバージョンアップでは，バージョンアップファイルを用いてユーザの現在のシステムプログラムを変更し，現在のバージョンから新しいバージョンにバージョンアップする。しかし，バージョンアップを繰り返していくと，すべてのユーザが毎回バージョンアップを行うわけではないので，ユーザごとにシステムプログラムのバージョンが多数存在することになる。そこで，メーカは，ユーザが格納するシステムプログラムの全バージョンにそれぞれ対応するように，バージョンアップファイルを作成／提供しなければならなかった。
【０００７】
バージョンアップファイルの作成／提供についての従来の方法を以下に示す。以下の記述において，初期バージョンをＶ1 とし，以降順に，Ｖ2 ，Ｖ3 ，…として，現在のバージョンアップ前の最新のバージョンをＶN ，バージョンアップ後の新しいバージョンをＶN+1 とする。
【０００８】
従来の技術（１）：図１２は，従来の技術（１）において提供されるバックアップファイルの例を示す図である。このバージョンアップ方式では，初期のバージョンＶ1 から最も新しいバージョンＶN+1 まで，一つずつバージョンを上げるファイルをメーカが作成し，ユーザに提供する。ＶN →ＶN+1 のバージョンアップを行うには，システムプログラムの現バージョンがＶN でなければならない。この技術の利点は，メーカがバージョンアップを作成するときに，常に最新のバージョンアップファイルだけを作成すればよいという点である。
【０００９】
従来の技術（２）：図１３は，従来の技術（２）において提供されるバックアップファイルの例を示す図である。このバージョンアップ方式では，メーカがそれぞれのバージョン（Ｖ1 〜ＶN ）からＶN+1 に変更するバージョンアップファイルを作成し，ユーザに提供する。この技術の利点は，ユーザが取得するバージョンアップファイルは，どのバージョンのシステムプログラムを用いているユーザでも常に一つで済むという点である。
【００１０】
従来の技術（３）：図１４は，従来の技術（３）において提供されるバックアップファイルの例を示す図である。このバージョンアップ方式では，従来の技術（１）で作成されている一つずつバージョンを上げるファイルを一つのファイルにまとめたものと，ユーザの現在のバージョンを判断してそのバージョンからのバージョンアップを実行するためのプログラムとを，ユーザに提供する。バージョンアップ時には，プログラムがユーザの現在のバージョンを調べ，どのバージョンからバージョンアップを行うかを判断する処理を行う。この技術の利点は，メーカがバージョンアップファイルを作成するときに，常に最新のバージョンアップファイルだけを作成すればよく，ユーザが必要なバージョンアップファイルを調べる必要がなく，取得するバージョンアップファイルは，どのユーザでも常に一つで済むという点である。
【００１１】
【発明が解決しようとする課題】
しかし，上記従来の技術には，それぞれ次のような問題点がある。
【００１２】
従来の技術（１）の問題点：ユーザは，自分でシステムプログラムの現在のバージョンを調べなくてはならない。また，現在のバージョンがＶN でなければ，現在のバージョンからＶN+1 まですべてのバージョンアップを行うためのバージョンアップファイルを取得しなければならず，その取得したすべてのバージョンアップファイルで，順にバージョンアップを行わなければならない。そのため，ユーザの負担が非常に大きく，またバージョンアップの手順にミスが生じやすいという問題がある。
【００１３】
従来の技術（２）の問題点：メーカは，新しいバージョンが作成される度に，Ｖ1 →ＶN+1 ，Ｖ2 →ＶN+1 ，…，ＶN →ＶN+1 と，これまでのＮ回のすべてのバージョンについて，バージョンアップファイルを作成しなくてはならない。また，ユーザは，自分でシステムプログラムの現在のバージョンを調べなければならず，メーカが提供しているすべてのバージョンアップファイルの中から，必要なファイルを自分で判断して取得しなくてはならない。そのため，バージョン番号が増えるに従ってメーカが用意しなければならないバージョンアップファイルの数が増加し，メーカの負担が大きくなる。また，ユーザも自分が使用している現在のバージョンを意識してバージョンアップを行う必要がある。
【００１４】
従来の技術（３）の問題点：メーカは，バージョンアップが必要になる度に，新しいバージョンアップファイルを作成するとともに，そのバージョンアップファイルとは別に，バージョンアップ時に自動的にユーザの現在のバージョンを調べ，どのバージョンからバージョンアップを行うかを判断するプログラムを作成しなくてはならない。
【００１５】
本発明は，上記問題点の解決を図り，ユーザのシステムプログラムに多数のバージョンが存在する場合においても，メーカは一つのバージョンアップファイルを作成すればよく，かつ，ユーザにとっても現在のバージョンを調べたり，バージョンアップを一度に複数回行ったりするような手間が発生しないシステムプログラムのバージョンアップ手段を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は，上記課題を解決するため，情報機器の記憶装置上に現在起動しているシステムプログラムとは別に，初期バージョンのシステムプログラムを常に保持しておき，バージョンアップを行うときには，初期バージョンのシステムプログラムの複製を記憶装置上の別の領域に作成し，その複製された初期バージョンのシステムプログラムに対してバージョンアップを行う。バージョンアップに成功した場合にのみ，そのバージョンアップ後のシステムプログラムで起動するように起動用のシステムプログラムを切り替える。以上により，初期から最新へのバージョンアップを行うことで，メーカが作成するバージョンアップファイルは常に一つで済むことになる。また，ユーザは現在起動しているシステムプログラムのバージョンを意識する必要がない。
【００１７】
すなわち，本発明は，現在起動しているシステムプログラムとは別に，初期バージョンのシステムプログラムを記憶装置に格納しておき，システムプログラムのバージョンアップを行う際には，システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを取得し，前記記憶装置の空き領域に前記初期バージョンのシステムプログラムの複製を作成し，前記初期バージョンのシステムプログラムの複製を，前記バージョンアップファイルを用いて最新バージョンのシステムプログラムに更新し，起動するシステムプログラムを最新バージョンのシステムプログラムに切り替えることを特徴とする。
【００１８】
現在起動しているシステムプログラムから新しいバージョンのシステムプログラムに引き継ぐ必要があるユーザの設定値がある場合には，前記記憶装置に記憶されている現在起動しているシステムプログラムからユーザの設定値を抽出し，抽出した設定値を最新バージョンにバージョンアップしたシステムプログラムに反映する。
【００１９】
初期バージョンのシステムプログラムを記憶装置に圧縮して格納しておき，初期バージョンのシステムプログラムの複製を作成する際には，圧縮された初期バージョンのシステムプログラムを解凍して複製を作成することにより，記憶装置における初期バージョンのシステムプログラムを記憶する領域を節減することができる。
【００２０】
以上の方法をコンピュータに実行させるためのプログラムを，バージョンアップファイルとともに，またはバージョンアップファイルとは別に，バージョンアッププログラムとしてコンピュータが読み取り可能な記録媒体に格納して提供したり，通信回線を介して提供することにより，簡易なシステムプログラムのバージョンアップを実現することが可能になる。
【００２１】
【発明の実施の形態】
図１は，本発明の構成例を示すブロック図である。処理装置１は，ＣＰＵおよびメモリからなる情報機器であり，記憶装置２は，処理装置１を制御するシステムプログラム等が格納されているハードディスク装置などの装置である。
【００２２】
処理装置１は，現在の起動用システムプログラムをバージョンアップファイル３に従って最新バージョンにバージョンアップするためのバージョンアッププログラム１０を動作させる。バージョンアッププログラム１０は，バージョンアップファイル取得部１１，インストール先判定部１２，システム領域操作部１３，インストール処理部１４，システム切替部１７の処理機能を実現する命令群によって作成されている。
【００２３】
記憶装置２には，初期バージョンのシステムプログラム（以下，システムＡと記す）と，現在の起動用システムプログラム（以下，システムＢと記す）が記憶されている。本発明のバージョンアップ処理中に作成されるシステムＡの複製（以下，システムＣと記す）は，記憶装置２上の空き領域に作成される。
【００２４】
バージョンアップファイル取得部１１は，初期バージョンＶ1 から最新バージョンＶN+1 へのバージョンアップを行うためのバージョンアップファイル（Ｖ1 →ＶN+1 ）３を取得する。インストール先判定部１２は，システムＣを作成するための記憶装置２上の連続した空き領域を検出する。システム領域操作部１３は，インストール先判定部１２が検出した領域にシステムＡを複製し，バージョンアップ前のシステムＣを作成する。インストール処理部１４は，バージョンアップファイル取得部１１が取得したバージョンアップファイル（Ｖ1 →ＶN+1 ）３を用いてシステムＣをバージョンアップする。システム切替部１７は，システムＢからバージョンアップされたシステムＣへ起動用システムプログラムを切り替え，その後システムの再起動を行う。
【００２５】
図２は，図１に示すバージョンアッププログラム１０の処理フローチャートである。図３は，本発明における記憶装置のシステム格納状態の遷移例を示す図である。以下，図２および図３に従って，バージョンアッププログラム１０の処理を説明する。なお，図３において，太枠で示される領域は起動用に設定されているシステムプログラムの領域を示している。この例では，現在起動中のシステムＢのバージョンがＶN であるが，現在起動中のシステムＢのバージョンが，どの段階のバージョンＶN-i （０≦ｉ≦Ｎ−１）であってもよい。
【００２６】
図３（ａ）に示すように，記憶装置２には，初期バージョンＶ1 のシステムＡと，現在起動中のバージョンＶN のシステムＢとが格納されており，これを最新バージョンＶN+1 にバージョンアップするものとする。
【００２７】
まず，ステップＳ１では，バージョンアップファイル取得部１１によって，初期バージョンＶ1 のシステムプログラムを最新バージョンＶN+1 に更新するためのデータが格納されているバージョンアップファイル（Ｖ1 →ＶN+1 ）３を外部から取得する。
【００２８】
ステップＳ２では，インストール先判定部１２によって，記憶装置２上の連続する空き領域を検出して，その領域をシステム領域操作部１３に通知する。ステップＳ３では，システム領域操作部１３が，その空き領域にシステムＡを複製してシステムＣを作成する。図３（ｂ）は，システムＡ（Ｖ1 ）を記憶装置２の空き領域に複製して，システムＣ（Ｖ1 ）を作成した状態を示している。
【００２９】
次に，ステップＳ４では，インストール処理部１４が，バージョンアップファイル取得部１１が取得したバージョンアップファイル（Ｖ1 →ＶN+1 ）３を用いて，システムＣ（Ｖ1 ）をバージョンアップする。初期バージョンＶ1 のシステムＣは，図３（ｃ）に示すように，最新バージョンＶN+1 にバージョンアップされることになる。
【００３０】
ステップＳ５では，システム切替部１７によって，起動用システムプログラムを，現在起動しているバージョンＶN のシステムＢからバージョンアップされた最新バージョンＶN+1 のシステムＣへ切り替える。これによって，記憶装置２の格納状態は，図３（ｄ）に示すようになる。記憶装置２において起動用システムプログラムを切り替える方法については，種々の方法が知られているので，ここでの詳細な説明は省略する。その後，ステップＳ６でシステムを再起動すれば，処理装置１は，最新バージョンＶN+1 のシステムＣで起動されることになる。
【００３１】
以上のように，システムプログラムのバージョンアップ処理が正常に終了した場合には，システム切替部１７において，起動用システムプログラムがシステムＢからバージョンアップされたシステムＣへ切り替えられるため，以降，起動されるシステムは最新バージョンＶN+1 となる。一方，例えばステップＳ４でバージョンアップの最中に，ハードウェアトラブルが発生し，バージョンアップ処理が途中で終了した場合，起動用システムプログラムは，まだ切り替えられていないので，その後のシステムの再起動では，バージョンアップ前と同様にシステムＢが用いられる。
【００３２】
常に記憶装置２上に初期バージョンＶ1 のシステムＡを保持しておき，バージョンアップの際には，システムＡを複製したシステムＣをバージョンアップすることで，メーカが作成するバージョンアップファイル３は，初期バージョンＶ1 から最新バージョンＶN+1 への１種類でよいことになる。また，特開平１１−３０６００７号公報に示されている方法と同様に，現在の起動用システムプログラム（システムＢ）のバージョンアップを行うのではなく，別のシステムプログラム（システムＣ）のバージョンアップを行い，それが正常に終了した場合にのみ起動用システムプログラムを切り替えるので，バージョンアップ中にハードウェアトラブルが発生しても，システムＢで起動することができる。ここでいうハードウェアトラブルとは，機器の電源切断，機器と記憶装置を接続するケーブルの切断，機器の故障などである。
【００３３】
図４は，現在起動中のシステムＢで設定されているシステムパラメータ等の設定値を，新しいバージョンのシステムＣに反映するための方法を説明する図である。システム設定部１６は，図１では図示を省略しているが，必要な場合にはインストール処理部１４とシステム切替部１７との間に設けられる。システム設定部１６は，図１のインストール処理部１４でシステムＣのバージョンアップが行われた後，現在の起動用システムプログラムであるシステムＢからユーザの設定値を抽出し，バージョンアップされたシステムＣへ抽出された設定値を書き込んで反映する。設定値の抽出方法としては，あらかじめ定められたアドレスから抽出する方法，特定のファイル名で定義されたファイルから読み出す方法などがある。
【００３４】
本発明では，初期バージョンのシステムプログラム（システムＡ）を，記憶装置２に常に保持し続ける。このシステムＡは，バージョンアップのときの更新の基準システムとして利用し，起動用としては使うことはない。そこで，このシステムプログラムを圧縮して記憶装置２に格納することで，記憶装置２の領域の無駄を削減することができる。
【００３５】
図５は，本発明におけるシステムＡの圧縮の効果を説明する図である。図中，太枠で示される領域は起動用に設定されているシステムプログラムの領域を示している。
【００３６】
図５（ａ）は，システムＡが圧縮されていない場合の記憶装置２のシステム格納状態の遷移例を示しているが，システムＡを圧縮しないで保持する場合には，システムＡの領域として，ほぼ現在の起動用システムＢの領域と同じ大きさの領域が使われることになる。
【００３７】
これに対し，図５（ｂ）に示すように，システムＡのファイルを圧縮して記憶装置２に格納しておき，バージョンアップのためにシステムＡを複製する際には，インストール先判定部１２によって検出した空き領域に，圧縮されているシステムＡをシステム領域操作部１３によって解凍し，圧縮前のシステムＡと同じ状態になるように複製（システムＣ）を作成する。このようにシステムＡを圧縮して保持すると，バージョンアップ時にシステムＡを解凍する必要があるため，システムＡを単純にコピーするだけの場合より時間がかかるが，常時，小さい領域でシステムＡを保持することができる。実際には，システムプログラムのバージョンアップなどが頻繁に行われることはなく，解凍時間が問題となることは考えられない。常時，記憶領域２の空き領域を多く確保できるほうが有用である。
【００３８】
図６は，本発明における不要なシステム削除の効果を説明する図である。図中，太枠で示される領域は，起動用に設定されているシステムプログラムの領域を示している。
【００３９】
図６（ａ）は，不要なシステム削除を行わない場合の記憶装置のシステム格納状態の遷移例を示す。本発明では，システムＡの複製を作成してバージョンアップを行っていくため，バージョンアップを繰り返すごとに，図６（ａ）に示すように記憶装置２に格納されるシステムプログラム数が増加する。
【００４０】
そこで，図６（ｂ）に示すように，バージョンＶN からバージョンＶN+1 にバージョンアップし，起動するシステムプログラムを切り替えて再起動した後に，システム領域操作部１３によって元のバージョンＶN のシステムを記憶装置２から削除する。こうすることによって，使用しないシステムプログラムを記憶装置２からなくし，システム領域の増大を避けることができる。つまり，バージョンアップごとに初期バージョン（Ｖ1 ）と最新のバージョンのシステムプログラム以外のシステムプログラムを削除するため，記憶装置２におけるシステム領域率がほとんど変化しない。
【００４１】
図７は，本発明の他の実施の形態のバージョンアップ処理フローチャート（２）である。図７の処理は，図２の処理にバージョンアップが成功したか否かを確認する処理を加えたものである。
【００４２】
バージョンアップ取得部１１がバージョンアップファイル（Ｖ1 →ＶN+1 ）３を外部から取得すると（ステップＳ１０），インストール先判定部１２は，記憶装置２上の連続する空き領域を検出し（ステップＳ１１），システム領域操作部１３は，その空き領域にシステムＡを複製してシステムＣを作成する（ステップＳ１２）。
【００４３】
次に，インストール処理部１４は，システムＣをステップＳ１０で取得したバージョンアップファイル（Ｖ1 →ＶN+1 ）３でバージョンアップし（ステップＳ１３），バージョンアップが成功したかどうかを確認する（ステップＳ１４）。成功しなければ，システムＣを削除し（ステップＳ１７），記憶装置２におけるシステムＣの領域を解放して処理を終了する。成功した場合には，システム切替部１７は，起動用システムプログラムをシステムＢからバージョンアップしたシステムＣへ切り替え（ステップＳ１５），システムを再起動する（ステップＳ１６）。
【００４４】
この処理では，インストール処理部１４でバージョンアップファイル３を用いてシステムＣのバージョンアップを行った後に，バージョンアップが正常に行われたかどうかを判定し，誤ったバージョンアップファイルを用いたため処理を途中で中止していないかを確認する。誤ったファイルとは，インストール済みのバージョンアップファイル，本機器バージョンアップ以外の用途のファイル，バグが存在するバージョンアップファイルなど，正常なバージョンアップが行われないファイルを指す。起動するシステムプログラムを切り替える前にバージョンアップが正常に行われたかを判定することで，正常に動作しないシステムプログラムで再起動することを避けることができる。確認の方法として，例えばチェックサムによる確認，システム切り替え前のテスト走行による確認，オペレータへの問い合わせによる確認などの方法を用いることもできる。
【００４５】
【実施例】
図８は，本発明の一実施例を示すブロック図である。処理装置１は，ＣＰＵおよびメモリからなる情報機器（コンピュータ）であり，この処理装置１で動作するシステムプログラムのバージョンアップのためのバージョンアッププログラム１００は，バージョンアップファイル取得部１０１，インストール先判定部１０２，システム領域操作部１０３，インストール処理部１０４，バージョンアップ終了判定部１０５，システム設定部１０６，システム切替部１０７を備えている。
【００４６】
処理装置１には，バージョンアップファイル３を外部記憶媒体や通信回線を介して入力するための入力インタフェース４が接続され，また，記憶装置２が接続されている。記憶装置２には，圧縮されている初期バージョンＶ1 のシステムプログラム（システムＡ）と，現在の起動用システムプログラム（システムＢ）が格納されている。
【００４７】
バージョンアップファイル取得部１０１は，Ｖ1 →ＶN+1 のバージョンアップを行うためのバージョンアップファイル（Ｖ1 →ＶN+1 ）３を，入力インタフェース４を通して取得する。インストール先判定部１０２は，システムＣを作成するための記憶装置２上の連続した空き領域を検出する。システム領域操作部１０３は，インストール先判定部１０２が検出した領域にシステムＡを解凍してシステムＣを作成する。インストール処理部１０４は，バージョンアップファイル取得部１０１が取得したバージョンアップファイル（Ｖ1 →ＶN+1 ）３を用いてシステムＣをバージョンアップする。バージョンアップ終了判定部１０５は，システムＣのバージョンアップが成功したか否かを確認する。システム設定部１０６は，現在の起動用システムプログラムであるシステムＢからユーザの設定値を抽出し，バージョンアップされたシステムＣへ抽出された設定値を反映する。システム切替部１０７は，システムＢからバージョンアップされたシステムＣへ起動するシステムプログラムを切り替え，その後システムの再起動を行う。
【００４８】
図９は，本実施例におけるバージョンアッププログラムの処理フローチャートである。バージョンアップの指示により，バージョンアップファイル（Ｖ1 →ＶN+1 ）３を外部から取得すると（ステップＳ２０），記憶装置２上の連続する空き領域を検出して（ステップＳ２１），その空き領域にシステムＡを解凍することにより，初期バージョンのシステムＡを複製したシステムＣを作成する（ステップＳ２２）。
【００４９】
次に，システムＣをステップＳ２０で取得したバージョンアップファイル（Ｖ1 →ＶN+1 ）３を用いてバージョンアップし（ステップＳ２３），バージョンアップが成功したかどうかを確認する（ステップＳ２４）。不成功であればステップＳ２９へ進み，システムＡを複製したシステムＣを記憶装置２から削除し，処理を終了する。
【００５０】
バージョンアップ成功であれば，システムＢからシステムＣに引き継ぐためのユーザの設定値を抽出してシステムＣに反映し（ステップＳ２５），起動用システムプログラムをシステムＢからバージョンアップされたシステムＣへ切り替える（ステップＳ２６）。その後，システムを最新バージョンＶN+1 のシステムＣで再起動し（ステップＳ２７），システムＢを記憶装置２から削除する（ステップＳ２８）。なお，システムＢの削除は，バージョンアップごとに行うのではなく，記憶装置２の空き領域の様子を見て，適宜行うようにしてもよい。
【００５１】
本発明の実施例における記憶装置のシステム格納状態の遷移例を，図１０に従って説明する。図中，太枠で示される領域は起動用に設定されているシステムプログラムの領域を示している。バージョンアップの処理に伴って，システムプログラムの格納状態は，図１０（ａ）〜（ｅ）に示すように変化する。
【００５２】
図１０（ａ）は，バージョンアップ前の記憶装置２のシステムプログラムの格納状態を示す。圧縮されたシステムＡ（Ｖ1 ）と，システムＢ（ＶN ）の二つのシステムが格納されている。図１０（ｂ）は，圧縮されたシステムＡ（Ｖ1 ）を解凍してシステムＣ（Ｖ1 ）を作成した状態を示す。図１０（ｃ）は，システムＣ（Ｖ1 ）をバージョンアップし，バージョンアップされたシステムＣ（ＶN+1 ）となった状態を示す。図１０（ｄ）は，システムＢ（ＶN ）からバージョンアップされたシステムＣ（ＶN+1 ）へ，起動用システムプログラムが切り替えられた状態を示す。図１０（ｅ）は，システムＢ（ＶN ）を削除し，バージョンアップ処理を終了した状態を示す。
【００５３】
上記バージョンアップファイル３を用いてバージョンアップするバージョンアッププログラム１００は，どの段階のバージョンアップであっても共通のものを用いることができる。
【００５４】
以上の説明において，初期バージョンＶ1 とは，最初に提供されたシステムプログラムのバージョンであり，その後のバージョンアップファイル作成の基準となるバージョンであるが，厳密な意味での最初のバージョンでなくてもよく，例えばシステムプログラムの大きな改変があった場合には，その改変後に最初に提供されたシステムプログラムのバージョンを初期バージョンとして扱うこともできる。
【００５５】
本実施例の特徴を列挙すると，以下のとおりである。
【００５６】
（付記１）コンピュータのシステムプログラムをバージョンアップする方法であって，
現在起動しているシステムプログラムとは別に，初期バージョンのシステムプログラムを記憶装置に格納しておき，
システムプログラムのバージョンアップを行う際には，システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを取得し，
前記記憶装置の空き領域に前記初期バージョンのシステムプログラムの複製を作成し，
前記初期バージョンのシステムプログラムの複製を，前記バージョンアップファイルを用いて最新バージョンのシステムプログラムに更新し，
起動するシステムプログラムを最新バージョンのシステムプログラムに切り替える
ことを特徴とするシステムプログラムのバージョンアップ方法。
【００５７】
（付記２）付記１に記載のシステムプログラムのバージョンアップ方法において，
前記記憶装置に記憶されている現在起動しているシステムプログラムからユーザの設定値を抽出し，抽出した設定値に基づいて最新バージョンにバージョンアップしたシステムプログラムを設定する過程を有する
ことを特徴とするシステムプログラムのバージョンアップ方法。
【００５８】
（付記３）付記１に記載のシステムプログラムのバージョンアップ方法において，
前記初期バージョンのシステムプログラムを前記記憶装置に圧縮して格納しておき，
前記初期バージョンのシステムプログラムの複製を作成する際には，圧縮された初期バージョンのシステムプログラムを解凍して複製を作成する
ことを特徴とするシステムプログラムのバージョンアップ方法。
【００５９】
（付記４）付記１に記載のシステムプログラムのバージョンアップ方法において，
バージョンアップ前に起動していたシステムプログラムを，バージョンアップ後に前記記憶装置から削除する過程を有する
ことを特徴とするシステムプログラムのバージョンアップ方法。
【００６０】
（付記５）付記１に記載のシステムプログラムのバージョンアップ方法において，
システムプログラムのバージョンアップが成功したか否かを判定し，成功しなかった場合には前記最新バージョンのシステムプログラムへの切り替えを行わない
ことを特徴とするシステムプログラムのバージョンアップ方法。
【００６１】
（付記６）  機器のシステムプログラムをバージョンアップする方式において，
現バージョンと初期バージョンを含めた複数のシステムプログラムを格納する手段と，
前記初期バージョンのシステムプログラムを複製する手段と，
バージョンアップ用のデータを用いて，初期バージョンのシステムプログラムを最新バージョンに変更する手段と，
起動するシステムプログラムを最新バージョンのシステムプログラムに切り替える手段とを具備する
ことを特徴とするシステムバージョンアップ方式。
【００６２】
（付記７）現在起動しているシステムプログラムとは別に，初期バージョンのシステムプログラムを格納している記憶装置を備えるコンピュータのシステムプログラムをバージョンアップするためのプログラムであって，
前記記憶装置の空き領域に前記初期バージョンのシステムプログラムの複製を作成する処理と，
システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを用いて，前記初期バージョンのシステムプログラムの複製を，最新バージョンのシステムプログラムに更新する処理と，
起動するシステムプログラムを最新バージョンのシステムプログラムに切り替える処理とを，
コンピュータに実行させるためのシステムプログラムのバージョンアップ用プログラム。
【００６３】
（付記８）現在起動しているシステムプログラムとは別に，初期バージョンのシステムプログラムを格納している記憶装置を備えるコンピュータのシステムプログラムをバージョンアップするためのプログラムを記録した記録媒体であって，
前記記憶装置の空き領域に前記初期バージョンのシステムプログラムの複製を作成する処理と，
システムプログラムを初期バージョンから最新バージョンへバージョンアップするためのデータが格納されたバージョンアップファイルを用いて，前記初期バージョンのシステムプログラムの複製を，最新バージョンのシステムプログラムに更新する処理と，
起動するシステムプログラムを最新バージョンのシステムプログラムに切り替える処理とを，
コンピュータに実行させるためのプログラムを記録した
ことを特徴とするシステムプログラムのバージョンアップ用プログラム記録媒体。
【００６４】
【発明の効果】
以上説明したように，本発明によれば，システムプログラムをバージョンアップするときには，常に初期バージョンＶ1 から最新バージョンＶN+1 へバージョンアップすることにより，メーカが作成するバージョンアップファイルは，初期バージョンＶ1 から最新バージョンＶN+1 へバージョンアップするデータが格納されたファイルの１種類でよくなり，バージョンアップファイルの作成および配布が簡易になる。また，ユーザにとっても，バージョンアップ時にどのバージョンアップファイルを適用するかを判断する必要がなくなり，簡単に最新バージョンへのバージョンアップを行うことができるようになる。特に，バージョンの確認がしにくいアプライアンスサーバ等の情報機器では，効果が大きい。
【図面の簡単な説明】
【図１】本発明の構成例を示すブロック図である。
【図２】本発明によるシステムプログラムバージョンアップ処理フローチャート（１）である。
【図３】本発明における記憶装置のシステム格納状態の遷移例を示す図である。
【図４】本発明における設定値反映方法を説明する図である。
【図５】本発明におけるシステムＡの圧縮の効果を説明する図である。
【図６】本発明における不要なシステム削除の効果を説明する図である。
【図７】本発明によるシステムプログラムバージョンアップ処理フローチャート（２）である。
【図８】本発明の一実施例を示すブロック図である。
【図９】本実施例におけるシステムプログラムバージョンアップ処理フローチャートである。
【図１０】本発明の実施例における記憶装置のシステム格納状態の遷移例を示す図である。
【図１１】アプライアンスサーバを利用したシステムの例を示す図である。
【図１２】従来の技術（１）において提供されるバックアップファイルの例を示す図である。
【図１３】従来の技術（２）において提供されるバックアップファイルの例を示す図である。
【図１４】従来の技術（３）において提供されるバックアップファイルの例を示す図である。
【符号の説明】
１    処理装置
１０  バージョンアッププログラム
１１  バージョンアップファイル取得部
１２  インストール先判定部
１３  システム領域操作部
１４  インストール処理部
１６  システム設定部
１７  システム切替部
２    記憶装置
３    バージョンアップファイル
４    入力インタフェース
１００  バージョンアッププログラム
１０１  バージョンアップファイル取得部
１０２  インストール先判定部
１０３  システム領域操作部
１０４  インストール処理部
１０５  バージョンアップ終了判定部
１０６  システム設定部
１０７  システム切替部
【図１】
0003977627.tif 000002
【図２】
0003977627.tif 000003
【図３】
0003977627.tif 000004
【図４】
0003977627.tif 000005
【図５】
0003977627.tif 000006
【図６】
0003977627.tif 000007
【図７】
0003977627.tif 000008
【図８】
0003977627.tif 000009
【図９】
0003977627.tif 000010
【図１０】
0003977627.tif 000011
【図１１】
0003977627.tif 000012
【図１２】
0003977627.tif 000013
【図１３】
0003977627.tif 000014
【図１４】
0003977627.tif 000015