JP2004287852A - Upgrading method of software, and computer program - Google Patents

Upgrading method of software, and computer program Download PDF

Info

Publication number
JP2004287852A
JP2004287852A JP2003079176A JP2003079176A JP2004287852A JP 2004287852 A JP2004287852 A JP 2004287852A JP 2003079176 A JP2003079176 A JP 2003079176A JP 2003079176 A JP2003079176 A JP 2003079176A JP 2004287852 A JP2004287852 A JP 2004287852A
Authority
JP
Japan
Prior art keywords
software
version
version upgrade
customized
flag
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.)
Pending
Application number
JP2003079176A
Other languages
Japanese (ja)
Inventor
Junichi Kondo
純一 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Solutions Corp filed Critical Toshiba Solutions Corp
Priority to JP2003079176A priority Critical patent/JP2004287852A/en
Publication of JP2004287852A publication Critical patent/JP2004287852A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an upgrading method that can safely upgrade components of software such as a customized program module. <P>SOLUTION: A software execution environment 9 of a computer 1 has a flag 14 for indicating whether a component of software such as a program module is customized or not. Meantime, an upgrade kit 31 has software components upgrading the version to be introduced to the execution environment, a version upgrade program 33, and flags 37 for indicating whether or not each software component is compatible with a customized software component in the software execution environment 9. The upgrade program 33 compares the flags 14 of the execution environment 9 and the flags 37 of the upgrade kit 31, and in consideration of the comparison results, determines whether or not to execute an upgrade. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータにインストールされたソフトウェアのバージョンアップ方法およびコンピュータプログラムに関する。
【0002】
【従来の技術】
コンピュータにインストールされているソフトウェアのバージョンアップは、更新内容をプログラムモジュールの単位で書き替えることによって行われることが一般である。この際、既存のプログラムモジュールのバージョンが、これから置き換えようとしているプログラムモジュールのバージョンよりも低いことの確認を行うことが安全上必須である。
【0003】
近年、このソフトウェアのバージョンアップ時のバージョン確認作業は、バージョンアップキットに含まれているプログラムによって自動化されていることが多い。さらに、この種のプログラムでは、バージョン確認作業で既存のプログラムモジュールのバージョンが不当であることを確認した場合に、バージョンアップの実行を不可とすることで、バージョンアップの信頼性向上を実現している(たとえば特許文献1を参照)。
【0004】
【特許公報1】
特開2001−318795号公報
【0005】
【発明が解決しようとする課題】
ところで、ソフトウェアは、製品として提供されたパッケージそのままのかたち(標準)で使用されるケース以外に、ユーザの要望に応じてソフトウェア提供者がプログラムモジュールの一部に変更(カスタマイズ)を施したうえで使用されるケースがある。このようにカスタマイズされたプログラムモジュールを含むコンピュータ内のソフトウェア実行環境に対して、不用意にパッケージ標準のバージョンアップキットを適用してバージョンアップを実行させてしまった場合、バージョンアップキットに上記のようなバージョン確認機能が組み込まれていたとしても、カスタマイズされた既存のプログラムモジュールのバージョン番号が、バージョンアップキットに含まれている同一名のプログラムモジュールのバージョン番号よりも低ければ、そのままバージョンアップの手順が実行されてしまい、カスタマイズされたプログラムモジュールが標準のプログラムモジュールに変更されてしまう、あるいは、標準のプログラムモジュールがカスタマイズされたプログラムモジュールに変更されてしまう、という問題があった。
【0006】
本発明は、このような課題を解決するためになされたものであり、カスタマイズされたプログラムモジュールなどのソフトウェアの構成要素のバージョンアップを安全に実施することのできるソフトウェアのバージョンアップ方法およびコンピュータプログラムを提供することを目的としている。
【0007】
【課題を解決するための手段】
かかる目的を達成するために、本発明にかかるソフトウェアのバージョンアップ方法は、コンピュータのソフトウェア実行環境に、前記実行環境に含まれるソフトウェア構成要素がカスタマイズされたものであるか否かを示す第1のフラグを設けておき、バージョンアップキットに、前記実行環境に含まれるソフトウェア構成要素に対して置き換えられるバージョンアップ用のソフトウェア構成要素がカスタマイズされたものであるか否かを示す第2のフラグを設けておき、前記コンピュータの処理演算部にて、前記第1のフラグと前記第2のフラグとを比較し、この比較結果を加味して、前記バージョンアップキットによるバージョンアップの実行の可否を判定することを特徴とする。
【0008】
この発明によれば、カスタマイズされたプログラムモジュールなどのソフトウェアの構成要素から標準のソフトウェアの構成要素への更新、さらには標準のソフトウェアの構成要素からカスタマイズされたソフトウェアの構成要素への更新といった、不当なバージョンアップを防止することができる。
【0009】
また、本発明は、好ましくは、前記コンピュータの処理演算部にて、前記第1のフラグと前記第2のフラグとを比較し、この比較結果と前記ソフトウェアの複数の構成要素間の依存関係を加味して前記バージョンアップキットによるバージョンアップの実行の可否を判定するようにしても構わない。
【0010】
これにより、依存関係を有する複数のプログラムモジュールの一部がバージョンアップされることによる複数のプログラムモジュール間の整合性の破壊を阻止することができる。
【0011】
さらに、本発明は、好ましくは、前記コンピュータの処理演算部にて、前記第1のフラグと前記第2のフラグとを比較し、この比較結果と前記ソフトウェアの複数の構成要素間の依存関係、およびバージョンの新旧の正当性の判定結果とを加味して前記バージョンアップキットによるバージョンアップの実行の可否を判定するようにしてもよい。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
【0013】
図1は、本発明にかかるソフトウェアのバージョンアップ方法の実施の一形態を示す図である。
【0014】
同図に示すように、コンピュータ1は、CPU(Central Processing Unit)2、メインメモリ3、入力装置4、表示装置5、ハードディスクドライブなどのランダムアクセス可能な不揮発性記憶装置6、CD−ROMドライブなどの記憶媒体読み込み装置7、およびこれらを接続するバス8などで構成されている。
【0015】
このコンピュータ1の不揮発性記憶装置6にはソフトウェア実行環境9が構築されている。このソフトウェア実行環境9は、ソフトウェアの構成要素であるプログラムモジュールP1−1、P2−1およびデータベースD1−1と、これらソフトウェアの構成要素に関する管理情報11とで構成されている。ソフトウェアの構成要素とは、実行時に呼び出されるソフトウェアの単位、あるいは、ソフトウェアのバージョンアップが行われる際に更新が行われるソフトウェアの単位である。
【0016】
管理情報11は、ソフトウェアの構成要素の名前12とバージョン番号13、このソフトウェアの構成要素がカスタマイズされたものであるか否かを示すフラグ14、そしてこのソフトウェアの構成要素と依存関係を持つソフトウェアの構成要素である関連モジュールの名前15とで構成されている。
【0017】
ソフトウェア・パッケージ製品のインストールキット21は、ソフトウェアの構成要素であるプログラムモジュールP1−1、P2−1およびデータベースD1−1と、これらソフトウェアの構成要素をコンピュータ1のソフトウェア実行環境9に導入するとともに上記の管理情報11の初期設定を行うインストールプログラム22とで構成されている。このインストールプログラム22による管理情報11の初期設定ではフラグ14の値はすべてカスタマイズ無しを示す値たとえば”0”とされる。このフラグ14の値は、ソフトウェア・パッケージ製品のインストール後にソフトウェアの構成要素のカスタマイズが行われた際に、カスタマイズ有りを示す値たとえば”1”に手作業などにより書き換えることが可能となっている。
【0018】
ソフトウェア・パッケージ製品のバージョンアップキット31は、過去のバージョンのソフトウェアの構成要素に対して更新内容を含む新しいバージョン番号のソフトウェアの構成要素であるプログラムモジュールP1−2、P2−2およびデータベースD1−2と、バージョンアップチェック用管理情報32と、ユーザにより指定されたバージョンアップ先のコンピュータ1の既存のソフトウェア実行環境9への自バージョンアップキット31の適用によるバージョンアップの可否をチェックし、適用が可であることを確認して、コンピュータ1の既存のソフトウェア実行環境9にバージョンアップキット31内の新しいバージョン番号のソフトウェアの構成要素を導入するバージョンアッププログラム33とで構成されている。
【0019】
これらソフトウェア・パッケージ製品のインストールキット21およびバージョンアップキット31は、たとえばCD−ROMなどの記憶媒体によりユーザに提供され、たとえば記憶媒体読み込み装置7によりコンピュータ1に読み込まれる。
【0020】
バージョンアップチェック用管理情報32は、バージョンアップ対象であるソフトウェアの構成要素の名前35とその既存バージョン番号36、このソフトウェアの構成要素がカスタマイズされたものであるか否かを示すフラグ37、そしてこのソフトウェアの構成要素と依存関係を持つ他のソフトウェアの構成要素である関連モジュールの名前38とで構成されている。
【0021】
ソフトウェア提供者によって提供されるソフトウェア・パッケージ製品のバージョンアップキット31には、コンピュータ1の標準のソフトウェア実行環境9、すなわちカスタマイズされたソフトウェアの構成要素を含まないソフトウェア実行環境に適用される標準バージョンアップキットと、カスタマイズされたソフトウェアの構成要素を含むカスタマイズド・ソフトウェア実行環境に適用されるカスタマイズド・バージョンアップキットとがある。
【0022】
標準バージョンアップキット31の中のバージョンアップチェック用管理情報32のフラグ37の値は、図1に示したように、すべてカスタマイズ無しの値たとえば”0”に設定されている。図2は、カスタマイズド・バージョンアップキット31Aの構成例を示している。この場合、カスタマイズされたソフトウェアの構成要素である”P2”という名前のプログラムモジュールP2−2のフラグ37の値はカスタマイズ有りの値たとえば”1”に設定されている。
【0023】
次に、本実施形態のバージョンアップ方法を説明する。図3は、バージョンアップキット31のバージョンアッププログラム33の基本的な処理手順を示すフローチャートである。
【0024】
コンピュータ1のCPU2は、記憶媒体読み込み装置7などを通じて、CD−ROMなどの記憶媒体からバージョンアップキット31のバージョンアッププログラム33を読み込んでメインメモリ3にロードし、当該バージョンアッププログラム33を実行することによって、以下のバージョンアップ手順を実行する。
【0025】
まず、コンピュータ1の既存のソフトウェア実行環境9から管理情報11を読み出すとともに、バージョンアップキット31からバージョンアップチェック用管理情報32を読み出し、各々の照合によりバージョンアップの実行の可否のチェックが行われる。より詳細には、バージョンアップしようとしている一つ一つのソフトウェアの構成要素について以下の判定が行われる。
【0026】
まず、バージョンアップしようとしている最初のソフトウェアの構成要素について、管理情報11のバージョン番号13と、バージョンアップチェック用管理情報32の既存バージョン番号36とが一致しているか否かをチェックすることによって、バージョンの新旧の関係の正当性を判定する(ステップ302)。一致していればバージョンの新旧の関係が正しいこと(古いバージョンから新しいバージョンへの更新であること)を判定し、次のステップ304のチェックに移行する。不一致の場合は古いバージョンのバージョンアップキット31が適用されたことを示すメッセージをユーザにたとえば視覚的に通知して(ステップ303)、バージョンアップ手順を終了する。
【0027】
バージョンの新旧の関係が正しいことを判定した場合、次に、処理対象であるソフトウェアの構成要素について、管理情報11のフラグ14の値とバージョンアップチェック用管理情報32のフラグ37の値とが一致しているか否かをチェックする(ステップ304)。標準のソフトウェアの構成要素どうし、もしくは、カスタマイズされたソフトウェアの構成要素どうしのバージョンアップである場合には、管理情報11のフラグ14の値とバージョンアップチェック用管理情報32のフラグ37の値とは一致するので、この場合は次のステップ306のチェックに移行する。フラグ14、37の値が不一致の場合は、たとえば、不適切なバージョンアップが試みられたことをその理由とともにユーザにたとえば視覚的に通知して(ステップ305)、バージョンアップ手順を終了する。
【0028】
次に、バージョンアップチェック用管理情報32から、処理対象であるソフトウェアの構成要素と依存関係を持つ他のソフトウェアの構成要素である関連モジュールの名前38の有無を調べ、関連モジュールの名前38があるならば、この関連モジュールであるソフトウェアの構成要素がカスタマイズされたものであるかどうかを、管理情報11に基づいて判定する(ステップ306)。関連モジュールの名前38が記述されていない場合、または関連モジュールであるソフトウェアの構成要素がカスタマイズされたものではない場合には、今回の処理対象であるソフトウェアの構成要素のバージョンアップは正当であるものと見なしてステップ301へ移行し、次のソフトウェアの構成要素についての処理に移行する。
【0029】
また、関連モジュールであるソフトウェアの構成要素がカスタマイズされたものである場合には、次に、そのカスタマイズされた関連モジュールであるソフトウェアの構成要素の新しいバージョンのソフトウェアの構成要素がバージョンアップキット31に用意されているかどうかをバージョンアップチェック用管理情報32に基づいて調べる(ステップ307)。該当する新しいバージョンのソフトウェアの構成要素がバージョンアップキット31に用意されているならば、今回の処理対象であるソフトウェアの構成要素のバージョンアップは正当であるものと見なして、次のソフトウェアの構成要素についての処理に移行する。該当する新しいバージョンのソフトウェアの構成要素がバージョンアップキット31に用意されていなければ、このままバージョンアップを行うと依存関係を有する複数のソフトウェアの構成要素の整合性が壊れる旨をユーザにたとえば視覚的に通知して(ステップ308)、バージョンアップ手順を終了する。
【0030】
バージョンアップしようとしている全てのソフトウェアの構成要素のバージョアップが正当であることが以上の処理で判定されたならば(ステップ301のYES)、バージョンアップキット31に収録されている新しいバージョン番号のソフトウェアの構成要素で、コンピュータ1の既存のソフトウェア実行環境9のソフトウェアの構成要素を更新するとともに、管理情報11の更新を行う(ステップ309)。
【0031】
次に、バージョンアップの可否判定の具体例を示す。
【0032】
図4は、コンピュータ1の標準のソフトウェア実行環境41に標準バージョンアップキット51を適用した場合である。
【0033】
標準のソフトウェア実行環境41には、ソフトウェアの構成要素としてプログラムモジュールP1−1、プログラムモジュールP2−1、データベースD1−1が存在している。これらのソフトウェアの構成要素の名前12は”P1””P2””D1”、バージョン番号13はすべて”1”、フラグ14の値はすべてカスタマイズ無しを示す”0”とされ、関連モジュールの名前15はいずれも無しとなっている。
【0034】
一方、標準バージョンアップキット51には、バージョンアップ用のソフトウェアの構成要素として2つのプログラムモジュールP1−2、P2−2とデータベースD1−2が収録されている。これらのソフトウェアの構成要素の名前35は”P1””P2””D2”、既存バージョン番号36はすべて”1”、フラグ37の値はすべてカスタマイズ無しを示す”0”とされ、関連モジュールの名前38はいずれも無しとなっている。
【0035】
このケースでは、標準のソフトウェア実行環境41の2つのプログラムモジュールP1−2、P2−2およびデータベースD1−2と、標準バージョンアップキット51の2つのプログラムモジュールP1−2、P2−2およびデータベースD1−2との間において、バージョンの新旧の関係がいずれも正当であることが判定されるとともに、管理情報11のフラグ14の値とバージョンアップチェック用管理情報32のフラグ37の値がすべてカスタマイズ無しを示す”0”の値で一致している。
【0036】
この結果、標準バージョンアップキット51は、コンピュータ1の既存のソフトウェア実行環境に適合したバージョンアップキットであることが判定され、標準バージョンアップキット51のプログラムモジュールP1−2、P2−2、データベースD1−2で、コンピュータ1の既存の標準ソフトウェア実行環境41の更新が行われるとともに、管理情報11の更新が行われる。
【0037】
図5は、コンピュータ1のカスタマイズされたソフトウェア実行環境42にカスタマイズド・バージョンアップキット52を適用した場合である。
【0038】
コンピュータ1のカスタマイズされたソフトウェア実行環境42には、ソフトウェアの構成要素としてプログラムモジュールP1−1、プログラムモジュールP2−1、データベースD1−1が存在しており、これらのソフトウェアの構成要素の名前12は”P1””P2””D1”、バージョン番号13はすべて”1”である。プログラムモジュールP2−1のフラグ14の値はカスタマイズ有りを示す”1”、プログラムモジュールP1−1およびデータベースD1−1のフラグ14の値はカスタマイズ無しを示す”0”である。関連モジュールの名前15はいずれも無しである。
【0039】
一方、カスタマイズド・バージョンアップキット52には、バージョンアップ用のソフトウェアの構成要素として2つのプログラムモジュールP1−2、P2−2が含まれている。これらのソフトウェアの構成要素の名前35は”P1””P2”、既存バージョン番号36はすべて”1”である。プログラムモジュールP2−2のフラグ37の値はカスタマイズ有りを示す”1”、プログラムモジュールP1−2のフラグ37の値はカスタマイズ無しを示す”0”である。関連モジュールの名前38はいずれも無しである。
【0040】
このケースでは、カスタマイズド・バージョンアップキット52の2つのプログラムモジュールP1−2、P2−2とも、バージョンの新旧の関係が正当であることが判定されるとともに、管理情報11のフラグ14の値とバージョンアップチェック用管理情報32のフラグ37の値が、プログラムモジュールP1−1とプログラムモジュールP1−2との間では”0”で、さらにプログラムモジュールP2−1とプログラムモジュールP2−2との間では”1”でそれぞれ一致している。
【0041】
この結果、カスタマイズド・バージョンアップキット52は、コンピュータ1のカスタマイズされたソフトウェア実行環境42に適合したバージョンアップキットであることが判定され、カスタマイズド・バージョンアップキット52のプログラムモジュールP1−2、P2−2でコンピュータ1のソフトウェア実行環境42の更新が行われるとともに、管理情報11の更新が行われる。
【0042】
図6は、コンピュータ1の標準のソフトウェア実行環境41に誤ってカスタマイズド・バージョンアップキット52を適用しようとした場合である。
【0043】
この場合は、バージョンの新旧の関係が正当であることが判定されるものの、標準のソフトウェア実行環境41のプログラムモジュールP2−1のフラグ14の値が”0”で、カスタマイズド・バージョンアップキット52のプログラムモジュールP2−2のフラグ14の値が”1”であるため、この場合は、バージョンアップの実行は不可となる。
【0044】
同様に、コンピュータ1のカスタマイズされたソフトウェア実行環境42に誤って標準バージョンアップキット51を適用しようとした場合は、ソフトウェア実行環境42のプログラムモジュールP1−1のフラグ14の値が”1”で、標準バージョンアップキット51のプログラムモジュールP1−2のフラグ14の値が”0”であるため、この場合もバージョンアップの実行は不可となる。
【0045】
図7は、コンピュータ1のカスタマイズされたソフトウェア実行環境42にカスタマイズド・バージョンアップキット52を適用した場合で、かつ依存関係をもつ複数のプログラムモジュールが存在する場合の例である。
【0046】
コンピュータ1のカスタマイズされたソフトウェア実行環境42には、ソフトウェアの構成要素としてプログラムモジュールP1−1、プログラムモジュールP2−1、データベースD1−1が存在しており、これらのソフトウェアの構成要素の名前12は”P1””P2””D1”、バージョン番号13はすべて”1”である。プログラムモジュールP1−1、P2−1のフラグ14の値はそれぞれカスタマイズ有りを示す”1”、データベースD1−1のフラグ14の値はカスタマイズ無しを示す”0”である。また、プログラムモジュールP1−1の関連モジュールの名前15には”P2”が、プログラムモジュールP2−1の関連モジュールの名前15には”P1”がそれぞれ記述され、プログラムモジュールP1−1とプログラムモジュールP2−1とは互いに依存関係を有するものとされている。
【0047】
一方、カスタマイズド・バージョンアップキット52には、バージョンアップ用のソフトウェアの構成要素として1つのプログラムモジュールP1−2が含まれている。このソフトウェアの構成要素の名前35は”P1”、既存バージョン番号36は”1”、フラグ37の値はカスタマイズ有りを示す”1”、そして関連モジュールの名前38として”P2”が記述されている。
【0048】
この場合、コンピュータ1のカスタマイズされたソフトウェア実行環境42において、名前が”P2”であるプログラムモジュールP2−1のフラグ14を見ると、このプログラムモジュールP2−1はカスタマイズされたものであることが分かる。そして、このカスタマイズされたプログラムモジュールP2−1に対するバージョンアップ用のプログラムモジュールはカスタマイズド・バージョンアップキット52には含まれていないことから、この場合もバージョンアップの実行は不可であることが判定される。
【0049】
このように、本実施形態のバージョンアップ方法によれば、カスタマイズされたソフトウェアの構成要素から標準のソフトウェアの構成要素への更新、さらには標準のソフトウェア構の成要素からカスタマイズされたソフトウェアの構成要素への更新といった、不当なバージョンアップを防止することができる。また、依存関係を有する複数のプログラムモジュールの一部がのみがバージョンアップされることによって、依存関係を有する複数のプログラムモジュール間の整合性の破壊を阻止することができる。
【0050】
本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0051】
【発明の効果】
以上説明したように、本発明によれば、カスタマイズされたプログラムモジュールなどのソフトウェアの構成要素から標準のソフトウェアの構成要素への更新、さらには標準のソフトウェアの構成要素からカスタマイズされたソフトウェアの構成要素への更新といった、不当なバージョンアップを防止することができる。
【図面の簡単な説明】
【図1】本発明にかかるソフトウェアのバージョンアップ方法の実施の一形態を示す図である。
【図2】カスタマイズされたソフトウェアの構成要素を含むカスタマイズド・ソフトウェア実行環境に適用されるカスタマイズド・バージョンアップキットの構成を示す図である。
【図3】バージョンアッププログラムの処理手順を示すフローチャートである。
【図4】コンピュータの標準のソフトウェア実行環境に標準バージョンアップキットを適用した場合のバージョンアップの可否判定を示す図である。
【図5】コンピュータのカスタマイズされたソフトウェア実行環境にカスタマイズド・バージョンアップキットを適用した場合のバージョンアップの可否判定を示す図である。
【図6】コンピュータの標準のソフトウェア実行環境にカスタマイズド・バージョンアップキットを適用しようとした場合のバージョンアップの可否判定を示す図である。
【図7】コンピュータのカスタマイズされたソフトウェア実行環境にカスタマイズド・バージョンアップキットを適用した場合で、かつ依存関係をもつ複数のプログラムモジュールが存在する場合のバージョンアップの可否判定を示す図である。
【符号の説明】
1・・・・コンピュータ、6・・・・不揮発性記憶装置、9・・・・ソフトウェア実行環境、P1−1,P2−1,P1−2,P2−2・・・・プログラムモジュール、D1−1・・・・データベース、11・・・・管理情報、13・・・・バージョン番号、14・・・・フラグ、15・・・・関連モジュールの名前、31・・・・バージョンアップキット、32・・・・バージョンアップチェック用管理情報、33・・・・バージョンアッププログラム、36・・・・既存バージョン番号、37・・・・フラグ、38・・・・関連モジュールの名前、41・・・・標準のソフトウェア実行環境、42・・・・カスタマイズされたソフトウェア実行環境、51・・・・標準バージョンアップキット、52・・・・カスタマイズド・バージョンアップキット。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for upgrading software installed in a computer and a computer program.
[0002]
[Prior art]
In general, the version of software installed in a computer is updated by rewriting the updated contents in units of program modules. At this time, it is essential for safety to confirm that the version of the existing program module is lower than the version of the program module to be replaced.
[0003]
In recent years, the version confirmation work at the time of version upgrade of this software is often automated by a program included in the version upgrade kit. Furthermore, in this type of program, if the version check operation confirms that the version of the existing program module is invalid, the version upgrade cannot be executed, thereby improving the reliability of version upgrade. (See, for example, Patent Document 1).
[0004]
[Patent Publication 1]
JP 2001-318795 A
[Problems to be solved by the invention]
By the way, in addition to the case where software is used in the form of a package provided as a product as it is (standard), the software provider changes (customizes) a part of the program module according to the user's request. There are cases used. If a careless application of the package standard version upgrade kit to the software execution environment in the computer containing the program module customized in this way causes the version upgrade to be executed, If the version number of an existing customized program module is lower than the version number of the program module of the same name included in the version upgrade kit even if the Is executed and the customized program module is changed to the standard program module, or the standard program module is changed to the customized program module. Cormorants, there is a problem in that.
[0006]
The present invention has been made in order to solve such a problem, and has provided a software version upgrade method and a computer program capable of safely performing version upgrade of software components such as customized program modules. It is intended to provide.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a software version upgrade method according to the present invention provides a software execution environment for a computer, which indicates whether or not a software component included in the execution environment is customized. A flag is provided, and a second flag is provided in the version upgrade kit to indicate whether or not the software component for version replacement to be replaced with the software component included in the execution environment is customized. The processing operation unit of the computer compares the first flag with the second flag, and determines whether or not the version upgrade can be executed by the version upgrade kit in consideration of the comparison result. It is characterized by the following.
[0008]
According to the present invention, an update from a software component such as a customized program module to a standard software component or an update from a standard software component to a customized software component is performed. Version upgrade can be prevented.
[0009]
Preferably, in the present invention, the processing operation unit of the computer compares the first flag with the second flag, and determines a result of the comparison and a dependency between a plurality of components of the software. In addition, it may be determined whether or not the version upgrade can be performed by the version upgrade kit.
[0010]
Thus, it is possible to prevent the consistency between the plurality of program modules from being broken due to the version upgrade of a part of the plurality of program modules having the dependency.
[0011]
Further, in the present invention, preferably, the processing operation unit of the computer compares the first flag and the second flag, and determines a result of the comparison with a dependency between a plurality of components of the software. The determination as to whether or not the version upgrade can be executed by the version upgrade kit may be made in consideration of the result of the determination as to whether the version is new or old.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0013]
FIG. 1 is a diagram showing an embodiment of a software version upgrade method according to the present invention.
[0014]
As shown in FIG. 1, a computer 1 includes a CPU (Central Processing Unit) 2, a main memory 3, an input device 4, a display device 5, a non-volatile storage device 6 such as a hard disk drive and the like, a CD-ROM drive, and the like. And a bus 8 for connecting these.
[0015]
A software execution environment 9 is constructed in the nonvolatile storage device 6 of the computer 1. The software execution environment 9 includes program modules P1-1 and P2-1, which are components of software, and a database D1-1, and management information 11 regarding these components of software. The component of software is a unit of software called at the time of execution, or a unit of software updated when software is upgraded.
[0016]
The management information 11 includes a name 12 and a version number 13 of a component of the software, a flag 14 indicating whether or not the component of the software is customized, and information of a software having a dependency relationship with the component of the software. And the name 15 of the related module which is a constituent element.
[0017]
The installation kit 21 of the software package product introduces the program components P1-1 and P2-1 and the database D1-1, which are the components of the software, and introduces these components of the software into the software execution environment 9 of the computer 1 and the above-mentioned components. And an installation program 22 for initial setting of the management information 11. In the initial setting of the management information 11 by the installation program 22, the values of the flags 14 are all values indicating no customization, for example, "0". The value of the flag 14 can be manually rewritten to a value indicating the presence of customization, for example, “1” when the software component is customized after the installation of the software package product.
[0018]
The software package product version upgrade kit 31 includes program modules P1-2 and P2-2 and a database D1-2, which are components of software of a new version number including updated contents of components of software of a previous version. And the version upgrade check management information 32 and whether or not the version upgrade is possible by applying the version upgrade kit 31 to the existing software execution environment 9 of the computer 1 of the version upgrade destination specified by the user is checked and applicable. And a version upgrade program 33 that introduces software components of a new version number in the version upgrade kit 31 into the existing software execution environment 9 of the computer 1.
[0019]
The install kit 21 and the upgrade kit 31 of the software package product are provided to the user by a storage medium such as a CD-ROM, and are read into the computer 1 by the storage medium reading device 7, for example.
[0020]
The version-up check management information 32 includes a name 35 of the component of the software to be upgraded, its existing version number 36, a flag 37 indicating whether or not the component of the software is customized, It is composed of a component of the software and a name 38 of a related module which is a component of another software having a dependency.
[0021]
The software package product version upgrade kit 31 provided by the software provider includes a standard software version 9 applied to the standard software execution environment 9 of the computer 1, that is, a software version environment that does not include the components of the customized software. There are kits and customized version upgrade kits that are applied to a customized software execution environment that includes components of the customized software.
[0022]
As shown in FIG. 1, the values of the flags 37 of the version upgrade check management information 32 in the standard version upgrade kit 31 are all set to values without customization, for example, “0”. FIG. 2 shows a configuration example of the customized version upgrade kit 31A. In this case, the value of the flag 37 of the program module P2-2 named "P2", which is a component of the customized software, is set to a value with customization, for example, "1".
[0023]
Next, a version upgrade method of the present embodiment will be described. FIG. 3 is a flowchart showing a basic processing procedure of the version upgrade program 33 of the version upgrade kit 31.
[0024]
The CPU 2 of the computer 1 reads the upgrade program 33 of the upgrade kit 31 from a storage medium such as a CD-ROM via the storage medium reading device 7 and loads the upgrade program 33 into the main memory 3 to execute the upgrade program 33. The following version upgrade procedure.
[0025]
First, the management information 11 is read from the existing software execution environment 9 of the computer 1, and the management information 32 for version upgrade check is read from the version upgrade kit 31. More specifically, the following determination is made for each component of the software to be upgraded.
[0026]
First, by checking whether or not the version number 13 of the management information 11 and the existing version number 36 of the management information 32 for version-up check match for the first software component to be upgraded, The validity of the new and old versions is determined (step 302). If they match, it is determined that the relationship between the new and old versions is correct (update from an old version to a new version), and the process proceeds to the next step 304 check. If they do not match, a message indicating that the old version upgrade kit 31 has been applied is visually notified to the user, for example (step 303), and the version upgrade procedure ends.
[0027]
If it is determined that the relationship between the new and old versions is correct, then the value of the flag 14 of the management information 11 and the value of the flag 37 of the version-up check management information 32 for the components of the software to be processed are one. It is checked whether or not they match (step 304). When the components of the standard software or the components of the customized software are upgraded, the value of the flag 14 of the management information 11 and the value of the flag 37 of the version-up check management information 32 are different. Since they match, in this case, the process proceeds to the next step 306. If the values of the flags 14 and 37 do not match, for example, the user is visually notified that an inappropriate version upgrade has been attempted together with the reason, for example (step 305), and the version upgrade procedure ends.
[0028]
Next, from the version upgrade check management information 32, it is checked whether there is a name 38 of a related module which is a component of another software having a dependency relationship with a component of the software to be processed, and the name 38 of the related module is found. Then, it is determined based on the management information 11 whether or not the component of the software as the related module is customized (step 306). If the name 38 of the related module is not described, or if the component of the software as the related module is not customized, the version upgrade of the component of the software to be processed this time is valid. Then, the process moves to step 301, and the process moves to the next component of the software.
[0029]
If the component of the software as the related module is customized, then the software component of the new version of the component of the software as the customized module is added to the version upgrade kit 31. It is checked whether it is prepared based on the version up check management information 32 (step 307). If the corresponding new version of the software component is prepared in the version upgrade kit 31, the software component to be processed this time is regarded as valid and the next software component is considered as valid. The process moves to. If the components of the new version of the software are not prepared in the version upgrade kit 31, the user is visually notified, for example, that the integrity of the components of the software having a dependency relationship will be broken if the version is upgraded as it is. A notification is issued (step 308), and the version upgrade procedure ends.
[0030]
If it is determined by the above processing that the version upgrade of all the software components to be upgraded is valid (YES in step 301), the software of the new version number included in the version upgrade kit 31 With the components described above, the software components of the existing software execution environment 9 of the computer 1 are updated, and the management information 11 is updated (step 309).
[0031]
Next, a specific example of determining whether version upgrade is possible will be described.
[0032]
FIG. 4 shows a case where the standard version upgrade kit 51 is applied to the standard software execution environment 41 of the computer 1.
[0033]
In the standard software execution environment 41, a program module P1-1, a program module P2-1, and a database D1-1 exist as software components. The names 12 of the components of the software are "P1", "P2", "D1", the version numbers 13 are all "1", the values of the flags 14 are all "0" indicating no customization, and the names 15 of the related modules. Are none.
[0034]
On the other hand, the standard version upgrade kit 51 includes two program modules P1-2 and P2-2 and a database D1-2 as components of software for version upgrade. The names 35 of these software components are "P1""P2""D2", the existing version numbers 36 are all "1", the values of flags 37 are all "0" indicating no customization, and the names of related modules. 38 is none.
[0035]
In this case, the two program modules P1-2 and P2-2 and the database D1-2 of the standard software execution environment 41, and the two program modules P1-2 and P2-2 and the database D1- of the standard version upgrade kit 51. It is determined that the relationship between the new version and the old version is valid, and the value of the flag 14 of the management information 11 and the value of the flag 37 of the version-up check management information 32 all indicate no customization. The values match with the value "0" shown.
[0036]
As a result, it is determined that the standard version upgrade kit 51 is a version upgrade kit suitable for the existing software execution environment of the computer 1, and the program modules P1-2 and P2-2 of the standard version upgrade kit 51 and the database D1- In step 2, the existing standard software execution environment 41 of the computer 1 is updated, and the management information 11 is updated.
[0037]
FIG. 5 shows a case where the customized version upgrade kit 52 is applied to the customized software execution environment 42 of the computer 1.
[0038]
In the customized software execution environment 42 of the computer 1, a program module P1-1, a program module P2-1, and a database D1-1 exist as software components, and the names 12 of these software components are “P1”, “P2”, “D1”, and the version numbers 13 are all “1”. The value of the flag 14 of the program module P2-1 is "1" indicating that there is customization, and the value of the flag 14 of the program module P1-1 and the database D1-1 is "0" indicating no customization. None of the related module names 15 are present.
[0039]
On the other hand, the customized version upgrade kit 52 includes two program modules P1-2 and P2-2 as components of software for version upgrade. The names 35 of these software components are "P1" and "P2", and the existing version numbers 36 are all "1". The value of the flag 37 of the program module P2-2 is “1” indicating that there is customization, and the value of the flag 37 of the program module P1-2 is “0” indicating no customization. The name 38 of the related module is none.
[0040]
In this case, it is determined that the relationship between the new and old versions of the two program modules P1-2 and P2-2 of the customized version upgrade kit 52 is valid, and the value of the flag 14 of the management information 11 is The value of the flag 37 of the version-up check management information 32 is “0” between the program module P1-1 and the program module P1-2, and between the program module P2-1 and the program module P2-2. "1" matches each other.
[0041]
As a result, it is determined that the customized version upgrade kit 52 is a version upgrade kit suitable for the customized software execution environment 42 of the computer 1, and the program modules P1-2, P2 of the customized version upgrade kit 52 are determined. At -2, the software execution environment 42 of the computer 1 is updated, and the management information 11 is updated.
[0042]
FIG. 6 shows a case where the customized version upgrade kit 52 is erroneously applied to the standard software execution environment 41 of the computer 1.
[0043]
In this case, although the relationship between the new and old versions is determined to be valid, the value of the flag 14 of the program module P2-1 of the standard software execution environment 41 is "0" and the customized version upgrade kit 52 Since the value of the flag 14 of the program module P2-2 is "1", the version upgrade cannot be executed in this case.
[0044]
Similarly, when the standard version upgrade kit 51 is erroneously applied to the customized software execution environment 42 of the computer 1, the value of the flag 14 of the program module P1-1 of the software execution environment 42 is "1", and Since the value of the flag 14 of the program module P1-2 of the standard version upgrade kit 51 is "0", the version upgrade cannot be executed in this case as well.
[0045]
FIG. 7 shows an example in which the customized version upgrade kit 52 is applied to the customized software execution environment 42 of the computer 1 and a plurality of program modules having a dependency exist.
[0046]
In the customized software execution environment 42 of the computer 1, a program module P1-1, a program module P2-1, and a database D1-1 exist as software components, and the names 12 of these software components are “P1”, “P2”, “D1”, and the version numbers 13 are all “1”. The value of the flag 14 of each of the program modules P1-1 and P2-1 is "1" indicating that there is customization, and the value of the flag 14 of the database D1-1 is "0" indicating that there is no customization. Also, “P2” is described in the name 15 of the related module of the program module P1-1, and “P1” is described in the name 15 of the related module of the program module P2-1. It is assumed that -1 has a mutual dependency.
[0047]
On the other hand, the customized version upgrade kit 52 includes one program module P1-2 as a component of the software for version upgrade. The name 35 of the component of this software is "P1", the existing version number 36 is "1", the value of the flag 37 is "1" indicating that there is customization, and "P2" is described as the name 38 of the related module. .
[0048]
In this case, in the customized software execution environment 42 of the computer 1, when the flag 14 of the program module P2-1 whose name is "P2" is seen, it is found that the program module P2-1 is a customized one. . Since the version upgrade program module for the customized program module P2-1 is not included in the customized version upgrade kit 52, it is determined that the version upgrade cannot be executed in this case as well. You.
[0049]
As described above, according to the version upgrade method of the present embodiment, the update of the customized software components to the standard software components, and further the customized software components from the standard software components Unauthorized version upgrade, such as updating to, can be prevented. Further, by upgrading only a part of the plurality of program modules having the dependency, it is possible to prevent the consistency between the plurality of program modules having the dependency from being broken.
[0050]
The present invention is not limited only to the above-described embodiment, and it goes without saying that various changes can be made without departing from the spirit of the present invention.
[0051]
【The invention's effect】
As described above, according to the present invention, a software component such as a customized program module is updated to a standard software component, and further, a software component customized from a standard software component is customized. Unauthorized version upgrade, such as updating to, can be prevented.
[Brief description of the drawings]
FIG. 1 is a diagram showing an embodiment of a software version upgrade method according to the present invention.
FIG. 2 is a diagram showing a configuration of a customized version upgrade kit applied to a customized software execution environment including components of customized software.
FIG. 3 is a flowchart illustrating a processing procedure of a version upgrade program.
FIG. 4 is a diagram showing a determination as to whether version upgrade is possible when a standard version upgrade kit is applied to a standard software execution environment of a computer.
FIG. 5 is a diagram showing a determination as to whether version upgrade is possible when a customized version upgrade kit is applied to a customized software execution environment of a computer.
FIG. 6 is a diagram showing a determination as to whether version upgrade is possible when an attempt is made to apply a customized version upgrade kit to a standard software execution environment of a computer.
FIG. 7 is a diagram showing whether version upgrade can be performed when a customized version upgrade kit is applied to a customized software execution environment of a computer and a plurality of program modules having a dependency exist.
[Explanation of symbols]
1 ... computer, 6 ... non-volatile storage device, 9 ... software execution environment, P1-1, P2-1, P1-2, P2-2 ... program module, D1- 1 ... database, 11 ... management information, 13 ... version number, 14 ... flag, 15 ... name of related module, 31 ... version upgrade kit, 32 ··· Version upgrade check management information, 33 ··· Upgrade program, 36 ··· Existing version number, 37 ··· Flag, 38 ··· Name of related module, 41 ··· Standard software execution environment, 42 Customized software execution environment, 51 Standard version upgrade kit, 52 Customized version Ppukitto.

Claims (4)

コンピュータのソフトウェア実行環境に、前記実行環境に含まれるソフトウェア構成要素がカスタマイズされたものであるか否かを示す第1のフラグを設けておき、
バージョンアップキットに、前記実行環境に含まれるソフトウェア構成要素に対して置き換えられるバージョンアップ用のソフトウェア構成要素がカスタマイズされたものであるか否かを示す第2のフラグを設けておき、
前記コンピュータの処理演算部にて、前記第1のフラグと前記第2のフラグとを比較し、この比較結果を加味して、前記バージョンアップキットによるバージョンアップの実行の可否を判定することを特徴とするソフトウェアのバージョンアップ方法。
In a software execution environment of a computer, a first flag indicating whether or not a software component included in the execution environment is customized is provided.
The version upgrade kit is provided with a second flag indicating whether or not the software component for version replacement that is replaced with the software component included in the execution environment is customized,
The processing operation unit of the computer compares the first flag and the second flag, and determines whether or not the version upgrade can be executed by the version upgrade kit in consideration of the comparison result. How to upgrade software.
前記コンピュータの処理演算部にて、前記第1のフラグと前記第2のフラグとを比較し、この比較結果と前記ソフトウェアの複数の構成要素間の依存関係を加味して前記バージョンアップキットによるバージョンアップの実行の可否を判定することを特徴とする請求項1に記載のソフトウェアのバージョンアップ方法。In the processing operation unit of the computer, the first flag and the second flag are compared, and a version according to the version upgrade kit is added in consideration of a result of the comparison and a dependency between a plurality of components of the software. 2. The software version upgrade method according to claim 1, wherein it is determined whether or not the upgrade can be performed. 前記コンピュータの処理演算部にて、前記第1のフラグと前記第2のフラグとを比較し、この比較結果と前記ソフトウェアの複数の構成要素間の依存関係、およびバージョンの新旧の正当性の判定結果とを加味して前記バージョンアップキットによるバージョンアップの実行の可否を判定することを特徴とする請求項1に記載のソフトウェアのバージョンアップ方法。A processing operation unit of the computer compares the first flag with the second flag, and determines a result of the comparison with a dependency between a plurality of components of the software, and whether the version is new or old. 2. The software version upgrade method according to claim 1, wherein it is determined whether or not the version upgrade can be executed by the version upgrade kit in consideration of the result. ソフトウェア構成要素がカスタマイズされたものであるか否かを示す第1のフラグを有するコンピュータのソフトウェア実行環境のバージョンアップを、前記実行環境に含まれるソフトウェア構成要素に対して置き換えられるバージョンアップ用のソフトウェア構成要素がカスタマイズされたものであるか否かを示す第2のフラグを有するバージョンアップキットを用いてコンピュータに実行させるプログラムであって、
前記第1のフラグと前記第2のフラグとを比較する手段と、
この比較結果を加味して前記バージョンアップキットによるバージョンアップの実行の可否を判定する手段と
してコンピュータを機能させることを特徴とするコンピュータプログラム。
Version upgrade software that replaces the version of the software execution environment of the computer having a first flag indicating whether the software component is customized or not with respect to the software component included in the execution environment A program to be executed by a computer using a version upgrade kit having a second flag indicating whether a component is customized or not,
Means for comparing the first flag with the second flag;
A computer program that causes a computer to function as means for determining whether or not to execute the version upgrade using the version upgrade kit in consideration of the comparison result.
JP2003079176A 2003-03-20 2003-03-20 Upgrading method of software, and computer program Pending JP2004287852A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003079176A JP2004287852A (en) 2003-03-20 2003-03-20 Upgrading method of software, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003079176A JP2004287852A (en) 2003-03-20 2003-03-20 Upgrading method of software, and computer program

Publications (1)

Publication Number Publication Date
JP2004287852A true JP2004287852A (en) 2004-10-14

Family

ID=33293363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003079176A Pending JP2004287852A (en) 2003-03-20 2003-03-20 Upgrading method of software, and computer program

Country Status (1)

Country Link
JP (1) JP2004287852A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140688A (en) * 2005-11-15 2007-06-07 Ricoh Co Ltd Program distribution server, program distribution method and program distribution program and its recording medium
JP2011170768A (en) * 2010-02-22 2011-09-01 Fuji Xerox Co Ltd System and device for information, introduction processing device and program
JP2012068831A (en) * 2010-09-22 2012-04-05 Canon Inc Information processing apparatus and method of updating program in the same
JP2012137849A (en) * 2010-12-24 2012-07-19 Brother Ind Ltd Device, terminal device, server, program and update method for firmware

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140688A (en) * 2005-11-15 2007-06-07 Ricoh Co Ltd Program distribution server, program distribution method and program distribution program and its recording medium
JP4732864B2 (en) * 2005-11-15 2011-07-27 株式会社リコー Program distribution server, program distribution method, program distribution program and recording medium thereof
JP2011170768A (en) * 2010-02-22 2011-09-01 Fuji Xerox Co Ltd System and device for information, introduction processing device and program
JP2012068831A (en) * 2010-09-22 2012-04-05 Canon Inc Information processing apparatus and method of updating program in the same
JP2012137849A (en) * 2010-12-24 2012-07-19 Brother Ind Ltd Device, terminal device, server, program and update method for firmware

Similar Documents

Publication Publication Date Title
KR100675518B1 (en) Modular bios update mechanism
US8938735B2 (en) Bootstrapper and software download manager
KR101137157B1 (en) Efficient patching
KR101176752B1 (en) Efficient patching
US9027014B2 (en) Updating firmware compatibility data
US6598223B1 (en) Method and system for installing and testing build-to-order components in a defined configuration computer system
EP2549380B1 (en) Information processing device, virtual machine generation method, and application software distribution system
TW556114B (en) System and method for installing window installer service without rebooting
CN102521081B (en) Repair destroyed software
US20060271924A1 (en) Method and apparatus for automating updates to dependencies
US20110173643A1 (en) USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM
US8954949B2 (en) Smart patch delivery system
US8312446B2 (en) Dependency management when upgrading application components
CN110471690B (en) Loading method and device for SO file of dynamic link library and storage medium
US10664598B1 (en) Firmware security patch deployment
WO2019128075A1 (en) Application management method for terminal, application server and terminal
US20070226726A1 (en) Method and system for revising installation software
US20050262163A1 (en) Information processing device and method, recording medium and program,
JP2006520973A (en) System and method for determining when an EJB compiler needs to be run
US20060129520A1 (en) System and method for automatically updating a program in a computer
US20060136892A1 (en) Embedded agent for self-healing software
JP2004287852A (en) Upgrading method of software, and computer program
CN114780173B (en) Method for loading plug-in application, computing device and storage medium
JPH11134178A (en) Interrelated check system by information on number of versions of load module and program storage medium
ApS MOSEK Licensing Guide

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080919

A131 Notification of reasons for refusal

Effective date: 20090203

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20090406

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090512