JPH0887410A - プログラム更新/回復方法 - Google Patents
プログラム更新/回復方法Info
- Publication number
- JPH0887410A JPH0887410A JP6223797A JP22379794A JPH0887410A JP H0887410 A JPH0887410 A JP H0887410A JP 6223797 A JP6223797 A JP 6223797A JP 22379794 A JP22379794 A JP 22379794A JP H0887410 A JPH0887410 A JP H0887410A
- Authority
- JP
- Japan
- Prior art keywords
- program
- file
- update
- computer
- name
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 プログラムの更新失敗時であっても、配布元
のコンピュータから改めて旧バージョンプログラムをフ
ァイル転送する必要がなくなり、旧バージョンプログラ
ムへの回復を迅速に行い、プログラム使用不可能状態を
短縮すること。 【構成】 配布されたプログラムのプログラム名称が組
込済みのプログラムのプログラム名称と同一である場
合、組込済み同一名称のプログラムのバックアップを自
身のシステム中に生成した後に前記組込済みのプログラ
ムを前記配布されたプログラムに更新し、前記更新結果
の確認において、更新できなかったプログラムモジュー
ルが存在した場合には、前記組込済みのプログラムを前
記生成したバックアップに基づいて更新前に回復する。
のコンピュータから改めて旧バージョンプログラムをフ
ァイル転送する必要がなくなり、旧バージョンプログラ
ムへの回復を迅速に行い、プログラム使用不可能状態を
短縮すること。 【構成】 配布されたプログラムのプログラム名称が組
込済みのプログラムのプログラム名称と同一である場
合、組込済み同一名称のプログラムのバックアップを自
身のシステム中に生成した後に前記組込済みのプログラ
ムを前記配布されたプログラムに更新し、前記更新結果
の確認において、更新できなかったプログラムモジュー
ルが存在した場合には、前記組込済みのプログラムを前
記生成したバックアップに基づいて更新前に回復する。
Description
【0001】
【産業上の利用分野】本発明は、ネットワーク等の伝送
手段を通して新バージョンプログラムを配布して更新
し、その更新に失敗した場合は旧バージョンプログラム
へ回復させるプログラムの更新/回復方法に関し、特に
旧バージョンプログラムに関与する範囲に関する回復対
象ファイル情報に基づいて生成したバックアップファイ
ルから旧バージョンプログラムを回復するプログラム更
新/回復方法に関する。
手段を通して新バージョンプログラムを配布して更新
し、その更新に失敗した場合は旧バージョンプログラム
へ回復させるプログラムの更新/回復方法に関し、特に
旧バージョンプログラムに関与する範囲に関する回復対
象ファイル情報に基づいて生成したバックアップファイ
ルから旧バージョンプログラムを回復するプログラム更
新/回復方法に関する。
【0002】
【従来の技術】従来において、ネットワーク内の特定の
コンピュータから他のコンピュータに対してプログラム
を配布し、他のコンピュータには配布した処理を実行さ
せるシステムがある。
コンピュータから他のコンピュータに対してプログラム
を配布し、他のコンピュータには配布した処理を実行さ
せるシステムがある。
【0003】このようなシステムにおいて、配布先のコ
ンピュータでは、旧バージョンプログラムをネットワー
クを通して配布された新バージョンプログラムに更新す
ることによって新バージョンプログラムへバージョンア
ップをした時、一部のプログラムモジュールは新バージ
ョンプログラムのプログラムモジュールに更新された
が、その他のプログラムモジュールについては何らかの
原因で更新に失敗して更新されない場合等がある。
ンピュータでは、旧バージョンプログラムをネットワー
クを通して配布された新バージョンプログラムに更新す
ることによって新バージョンプログラムへバージョンア
ップをした時、一部のプログラムモジュールは新バージ
ョンプログラムのプログラムモジュールに更新された
が、その他のプログラムモジュールについては何らかの
原因で更新に失敗して更新されない場合等がある。
【0004】このような場合に、当該プログラムを旧バ
ージョンに早急に回復させる必要があるが、従来は、配
布プログラムを一括管理している配布元から新ためて旧
バージョンのプログラムモジュールの転送を受けて旧バ
ージョンのプログラムモジュールに回復するという回復
方法が採られていた。
ージョンに早急に回復させる必要があるが、従来は、配
布プログラムを一括管理している配布元から新ためて旧
バージョンのプログラムモジュールの転送を受けて旧バ
ージョンのプログラムモジュールに回復するという回復
方法が採られていた。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来の回復方法にあっては、配布プログラムを一括管理し
ている配布元から改めて旧バージョンプログラムをファ
イル転送していることから、旧バージョンプログラムの
回復に要する時間が長くなり、バージョンの異なるプロ
グラムモジュールの混在によるプログラム使用不可能状
態が長時間化するという問題があった。
来の回復方法にあっては、配布プログラムを一括管理し
ている配布元から改めて旧バージョンプログラムをファ
イル転送していることから、旧バージョンプログラムの
回復に要する時間が長くなり、バージョンの異なるプロ
グラムモジュールの混在によるプログラム使用不可能状
態が長時間化するという問題があった。
【0006】一方また、配布元コンピュータと配布先コ
ンピュータとでソース言語レベルでは互換性があるが、
ロードモジュールレベルでは互換性がない場合、配布元
からソースモジュールを配布し、配布先では配布された
ソースモジュールからロードモジュールを生成し、該生
成したプログラムを実行させるようにする必要がある。
ンピュータとでソース言語レベルでは互換性があるが、
ロードモジュールレベルでは互換性がない場合、配布元
からソースモジュールを配布し、配布先では配布された
ソースモジュールからロードモジュールを生成し、該生
成したプログラムを実行させるようにする必要がある。
【0007】しかし、ソースモジュールの新バージョン
への更新には成功したが、ロードモジュールの更新には
失敗した場合は、配布元から改めてロードモジュールの
転送を受けることは不能であるため、配布先では配布元
から再度旧バージョンのソースモジュールの配布を受
け、その配布された旧バージョンのソースモジュールか
らロードモジュールを生成することになる。
への更新には成功したが、ロードモジュールの更新には
失敗した場合は、配布元から改めてロードモジュールの
転送を受けることは不能であるため、配布先では配布元
から再度旧バージョンのソースモジュールの配布を受
け、その配布された旧バージョンのソースモジュールか
らロードモジュールを生成することになる。
【0008】このため、前記に場合に比べさらに旧バー
ジョンプログラムの回復に要する時間が長くなり、バー
ジョンの異なるプログラムモジュールの混在によるプロ
グラム使用不可能状態が長時間化するという問題があっ
た。
ジョンプログラムの回復に要する時間が長くなり、バー
ジョンの異なるプログラムモジュールの混在によるプロ
グラム使用不可能状態が長時間化するという問題があっ
た。
【0009】本発明の目的は、新バージョンプログラム
への更新を失敗した場合に、旧バージョンプログラムへ
の回復を迅速に行い、プログラム使用不可能状態を短縮
することができるプログラム回復方法を提供することで
ある。
への更新を失敗した場合に、旧バージョンプログラムへ
の回復を迅速に行い、プログラム使用不可能状態を短縮
することができるプログラム回復方法を提供することで
ある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に本発明は、第2のコンピュータにおいて第1のコンピ
ュータから新たに配布されたプログラムのプログラム名
称が組込済みのプログラムのプログラム名称と同一であ
るか否かを判定し、同一である場合、組込済みの同一名
称のプログラムのバックアップファイルを生成した後、
前記組込済みのプログラムを新たに配布されたプログラ
ムに更新し、その更新結果の確認において、更新できな
かったプログラムモジュールが存在した場合には、前記
組込済みのプログラムを前記バックアップファイルの内
容に基づいて更新前に回復することを特徴とする。
に本発明は、第2のコンピュータにおいて第1のコンピ
ュータから新たに配布されたプログラムのプログラム名
称が組込済みのプログラムのプログラム名称と同一であ
るか否かを判定し、同一である場合、組込済みの同一名
称のプログラムのバックアップファイルを生成した後、
前記組込済みのプログラムを新たに配布されたプログラ
ムに更新し、その更新結果の確認において、更新できな
かったプログラムモジュールが存在した場合には、前記
組込済みのプログラムを前記バックアップファイルの内
容に基づいて更新前に回復することを特徴とする。
【0011】さらに、第1のコンピュータから新たなプ
ログラムを配布するに際し、配布するプログラムに関与
するプログラムファイルを示す回復対象ファイル情報を
新たなプログラムと共に送信し、この回復対象ファイル
情報を第2のコンピュータに保持させておき、第1のコ
ンピュータから新たなプログラムが配布されたとき第2
のコンピュータにおいては新たに配布されたプログラム
のプログラム名称が組込済みのプログラムのプログラム
名称と同一であるか否かを判定し、同一である場合、前
記保持しておいた回復対象ファイル情報に基づいて前記
組込済みプログラムと該組込済みプログラムに関与する
回復対象ファイル情報についてのバックアップファイル
を生成した後、前記組込済みのプログラムを新たに配布
されたプログラムに更新し、その更新結果の確認におい
て、更新できなかったプログラムモジュールが存在した
場合には、前記組込済みのプログラムと該組込済みプロ
グラムに関与する回復対象ファイル情報を前記バックア
ップファイルの内容に基づいて更新前に回復することを
特徴とする。
ログラムを配布するに際し、配布するプログラムに関与
するプログラムファイルを示す回復対象ファイル情報を
新たなプログラムと共に送信し、この回復対象ファイル
情報を第2のコンピュータに保持させておき、第1のコ
ンピュータから新たなプログラムが配布されたとき第2
のコンピュータにおいては新たに配布されたプログラム
のプログラム名称が組込済みのプログラムのプログラム
名称と同一であるか否かを判定し、同一である場合、前
記保持しておいた回復対象ファイル情報に基づいて前記
組込済みプログラムと該組込済みプログラムに関与する
回復対象ファイル情報についてのバックアップファイル
を生成した後、前記組込済みのプログラムを新たに配布
されたプログラムに更新し、その更新結果の確認におい
て、更新できなかったプログラムモジュールが存在した
場合には、前記組込済みのプログラムと該組込済みプロ
グラムに関与する回復対象ファイル情報を前記バックア
ップファイルの内容に基づいて更新前に回復することを
特徴とする。
【0012】
【作用】本発明によれば、配布元の第1のコンピュータ
から配布先の第2のコンピュータに配布されたプログラ
ムのプログラム名称が組込済みのプログラムのプログラ
ム名称と同一である場合、組込済み同一名称のプログラ
ムのバックアップファイルが生成される。この後、前記
組込済みのプログラムが新たに配布されたプログラムに
更新されるが、その更新結果の確認において、更新でき
なかったプログラムモジュールが存在した場合には、組
込済みのプログラムがバックアップファイルの内容に基
づいて更新前に回復される。
から配布先の第2のコンピュータに配布されたプログラ
ムのプログラム名称が組込済みのプログラムのプログラ
ム名称と同一である場合、組込済み同一名称のプログラ
ムのバックアップファイルが生成される。この後、前記
組込済みのプログラムが新たに配布されたプログラムに
更新されるが、その更新結果の確認において、更新でき
なかったプログラムモジュールが存在した場合には、組
込済みのプログラムがバックアップファイルの内容に基
づいて更新前に回復される。
【0013】従って、更新失敗時であっても、配布元の
第1のコンピュータから改めて旧バージョンプログラム
をファイル転送する必要がなくなり、プログラム使用不
可能状態を短縮することができる。
第1のコンピュータから改めて旧バージョンプログラム
をファイル転送する必要がなくなり、プログラム使用不
可能状態を短縮することができる。
【0014】また、第1のコンピュータから新たなプロ
グラムを配布するに際し、配布するプログラムに関与す
るプログラムファイルを示す回復対象ファイル情報を新
たなプログラムと共に送信される。この回復対象ファイ
ル情報は第2のコンピュータに保持させる。第2のコン
ピュータは、第1のコンピュータから新たなプログラム
が配布されたとき、新たに配布されたプログラムのプロ
グラム名称が組込済みのプログラムのプログラム名称と
同一であるか否かを判定し、同一である場合、前記保持
しておいた回復対象ファイル情報に基づいて更新失敗時
の回復対象となる組込済みプログラムについてのバック
アップファイルを生成する。
グラムを配布するに際し、配布するプログラムに関与す
るプログラムファイルを示す回復対象ファイル情報を新
たなプログラムと共に送信される。この回復対象ファイ
ル情報は第2のコンピュータに保持させる。第2のコン
ピュータは、第1のコンピュータから新たなプログラム
が配布されたとき、新たに配布されたプログラムのプロ
グラム名称が組込済みのプログラムのプログラム名称と
同一であるか否かを判定し、同一である場合、前記保持
しておいた回復対象ファイル情報に基づいて更新失敗時
の回復対象となる組込済みプログラムについてのバック
アップファイルを生成する。
【0015】この時、組込済みプログラムに関与する回
復対象ファイル情報のバックアップファイルも同時に生
成する。
復対象ファイル情報のバックアップファイルも同時に生
成する。
【0016】この後、組込済みのプログラムを新たに配
布されたプログラムに更新しようとするが、その更新結
果の確認において、更新できなかったプログラムモジュ
ールが存在した場合には、前記バックアップファイルの
内容に基づいて、組込済みのプログラムと該組込済みプ
ログラムに関与する回復対象ファイル情報を更新前の状
態に回復する。
布されたプログラムに更新しようとするが、その更新結
果の確認において、更新できなかったプログラムモジュ
ールが存在した場合には、前記バックアップファイルの
内容に基づいて、組込済みのプログラムと該組込済みプ
ログラムに関与する回復対象ファイル情報を更新前の状
態に回復する。
【0017】従って、配布先においてソースモジュール
からロードモジュールを生成して使用するようなシステ
ム構成にあっては、回復対象ファイル情報として、ソー
スモジュールのファイルの他に、ロードモジュールのフ
ァイルを指定しておくことにより、ソースモジュールか
らロードモジュールを改めて生成する必要がなくなり、
更新前の状態に迅速に回復させることができる。
からロードモジュールを生成して使用するようなシステ
ム構成にあっては、回復対象ファイル情報として、ソー
スモジュールのファイルの他に、ロードモジュールのフ
ァイルを指定しておくことにより、ソースモジュールか
らロードモジュールを改めて生成する必要がなくなり、
更新前の状態に迅速に回復させることができる。
【0018】
【実施例】以下、本発明を図面に示す一実施例に基づい
て詳細に説明する。
て詳細に説明する。
【0019】なお、実施例においては、コンピュータシ
ステムのOSとして、UNIXシステムの1つであるH
I−UXシステムを仮定して説明する。従って、本シス
テムにおけるファイルシステムでは、データおよびプロ
グラムが格納されているファイルは階層化したディレク
トリにより管理され、またディレクトリもファイルの一
種として扱われる。
ステムのOSとして、UNIXシステムの1つであるH
I−UXシステムを仮定して説明する。従って、本シス
テムにおけるファイルシステムでは、データおよびプロ
グラムが格納されているファイルは階層化したディレク
トリにより管理され、またディレクトリもファイルの一
種として扱われる。
【0020】図1は、本発明のプログラム更新/回復方
法を適用したコンピュータシステムの一実施例を示すシ
ステム構成図である。
法を適用したコンピュータシステムの一実施例を示すシ
ステム構成図である。
【0021】図1において、1はネットワーク上の他の
コンピュータシステムに組み込むプログラムを配布する
コンピュータシステム、2a〜2cはコンピュータシス
テム1によって配布されたプログラムを組み込み、組み
込んだプログラムを実行するコンピュータシステムであ
り、これらのコンピュータシステムは通信回線3で結合
されている。
コンピュータシステムに組み込むプログラムを配布する
コンピュータシステム、2a〜2cはコンピュータシス
テム1によって配布されたプログラムを組み込み、組み
込んだプログラムを実行するコンピュータシステムであ
り、これらのコンピュータシステムは通信回線3で結合
されている。
【0022】ここで、本実施例では、OSが提供してい
るコマンド等を使用するが、使用方法等はHI−UX関
連のマニュアルに詳細に記述されているため、本実施例
での具体的な使用方法等の詳細な説明は省略する。
るコマンド等を使用するが、使用方法等はHI−UX関
連のマニュアルに詳細に記述されているため、本実施例
での具体的な使用方法等の詳細な説明は省略する。
【0023】なお、本実施例で主に使用するコマンドと
その機能概略は、次の通りである。
その機能概略は、次の通りである。
【0024】(1)findコマンド:ファイルの検索 (2)cpioコマンド:ファイルのアーカイブおよびアン
アーカイブ (3)cpコマンド:ファイルのコピー (4)mkdirコマンド:ディレクトリの作成 まず、コンピュータシステム1には、プログラムprog1
のバージョン01版がディレクトリv01下にプログラム
本体11として組み込まれている。
アーカイブ (3)cpコマンド:ファイルのコピー (4)mkdirコマンド:ディレクトリの作成 まず、コンピュータシステム1には、プログラムprog1
のバージョン01版がディレクトリv01下にプログラム
本体11として組み込まれている。
【0025】また、プログラムprog1のバージョン02
版が開発されると、バージョン02版がディレクトリv0
2下にプログラム本体12として組み込まれる。
版が開発されると、バージョン02版がディレクトリv0
2下にプログラム本体12として組み込まれる。
【0026】なお、本例ではプログラムprog1のバージ
ョン01版の各プログラムモジュールは、ディレクトリ
v01下のfile1、file11、file12とに格納されている。
ョン01版の各プログラムモジュールは、ディレクトリ
v01下のfile1、file11、file12とに格納されている。
【0027】また、プログラムprog1のバージョン02
版の各プログラムモジュールは、ディレクトリv02下のf
ile1、file11、file12とに格納されている。
版の各プログラムモジュールは、ディレクトリv02下のf
ile1、file11、file12とに格納されている。
【0028】本実施例では、cpio(-o:アーカイブ)コ
マンドの実行によって、指定のパス名以降のアーカイブ
をファイルシステムから入手することができる。
マンドの実行によって、指定のパス名以降のアーカイブ
をファイルシステムから入手することができる。
【0029】また、cpio(-i:アンアーカイブ)コマン
ドの実行によって、入手したアーカイブをファイルシス
テムへコピーすることができる。
ドの実行によって、入手したアーカイブをファイルシス
テムへコピーすることができる。
【0030】例えば、図2に示すトリーについて「/…
/…/prog1/v01/prog1」を指定してcpioコマンド(-
o:アーカイブ)を実行すると、プログラム本体11の
アーカイブA1を入手することができる。
/…/prog1/v01/prog1」を指定してcpioコマンド(-
o:アーカイブ)を実行すると、プログラム本体11の
アーカイブA1を入手することができる。
【0031】また、アーカイブA1を入力としてディレ
クトリ「/…/…/prog1/v01」下でcpio(-id:アン
アーカイブ)コマンドを実行すると、アーカイブA1の
内容がディレクトリ「/…/…/prog1/v01」下にコピ
ーされる。
クトリ「/…/…/prog1/v01」下でcpio(-id:アン
アーカイブ)コマンドを実行すると、アーカイブA1の
内容がディレクトリ「/…/…/prog1/v01」下にコピ
ーされる。
【0032】アーカイブは、当該ノードがディレクトリ
かファイルかを示すモード61、当該ノードのノード名
称64とその長さを示すノード名称長62、当該ノード
がファイルである場合は格納しているデータ65とその
データ長を示すデータ長63およびその他の情報から構
成されている。
かファイルかを示すモード61、当該ノードのノード名
称64とその長さを示すノード名称長62、当該ノード
がファイルである場合は格納しているデータ65とその
データ長を示すデータ長63およびその他の情報から構
成されている。
【0033】図1に戻り、コンピュータシステム1は、
プログラムprog1のバージョン01版であるプログラム
本体11を例えばコンピュータシステム2aに配布する
場合、プログラム本体11のアーカイブA1と、プログ
ラム本体11の回復対象ファイル情報を内容とする回復
対象ファイルR1とをコンピュータシステム2aにファ
イル転送する。
プログラムprog1のバージョン01版であるプログラム
本体11を例えばコンピュータシステム2aに配布する
場合、プログラム本体11のアーカイブA1と、プログ
ラム本体11の回復対象ファイル情報を内容とする回復
対象ファイルR1とをコンピュータシステム2aにファ
イル転送する。
【0034】回復対象ファイル情報とは、後述の場合等
に有効であるが、あるサブファイルシステムにおいて当
該サブファイルシステムの回復が必要となった場合に、
どのファイルを回復するかをパス名で示したものであ
る。
に有効であるが、あるサブファイルシステムにおいて当
該サブファイルシステムの回復が必要となった場合に、
どのファイルを回復するかをパス名で示したものであ
る。
【0035】本実施例では、プログラムモジュールが格
納されている全ファイルを回復対象ファイル情報として
いる。
納されている全ファイルを回復対象ファイル情報として
いる。
【0036】例えば、プログラム本体11の回復対象フ
ァイル情報は、パス名「/…/…/prog1/v01/prog
1」を指定したfind(-type f)コマンドの実行によっ
て、プログラム本体11の全プログラムモジュールファ
イルのパス名である「prog1/file1」と「prog1/dir1
/file11」と「prog1/dir1/file12」のパス名を入手
できるが、本例では共通のディレクトリ下にある「file
11」と「file12」については、転送情報削減のために当
該共通のディレクトリ「prog1/dir1」を転送情報とし
ていることによって、パス名「prog1/file1」と「prog
1/dir1」とが回復対象ファイルR1の内容となってい
る。
ァイル情報は、パス名「/…/…/prog1/v01/prog
1」を指定したfind(-type f)コマンドの実行によっ
て、プログラム本体11の全プログラムモジュールファ
イルのパス名である「prog1/file1」と「prog1/dir1
/file11」と「prog1/dir1/file12」のパス名を入手
できるが、本例では共通のディレクトリ下にある「file
11」と「file12」については、転送情報削減のために当
該共通のディレクトリ「prog1/dir1」を転送情報とし
ていることによって、パス名「prog1/file1」と「prog
1/dir1」とが回復対象ファイルR1の内容となってい
る。
【0037】コンピュータシステム2aでは、アーカイ
ブA1と回復対象ファイルR1とがファイル転送された
時に、アーカイブA1を指定したcpio(-i:アンアーカ
イブ)コマンドを実行することによりコピーしたプログ
ラム本体21と、プログラム本体21とは別のパスでデ
ィレクトリbackupfileとをmkdirコマンドの実行により
生成し、ディレクトリbackupfile下にファイルprog1を
生成し、当該ファイルprog1に回復対象ファイルR1の
内容を格納した回復対象ファイル22を作成する。
ブA1と回復対象ファイルR1とがファイル転送された
時に、アーカイブA1を指定したcpio(-i:アンアーカ
イブ)コマンドを実行することによりコピーしたプログ
ラム本体21と、プログラム本体21とは別のパスでデ
ィレクトリbackupfileとをmkdirコマンドの実行により
生成し、ディレクトリbackupfile下にファイルprog1を
生成し、当該ファイルprog1に回復対象ファイルR1の
内容を格納した回復対象ファイル22を作成する。
【0038】また、コンピュータシステム2aでは、コ
ンピュータシステム1からプログラムprog1のバージョ
ン02版であるプログラム本体12のアーカイブA2と
プログラム本体12の回復対象ファイルR2とがファイ
ル転送された時、プログラム本体21と回復対象ファイ
ル22とに基づき、例えば、(1)プログラム本体21
と回復対象ファイル22とは別のパスでディレクトリba
ckupdataをmkdirコマンドで生成する、(2)回復対象
ファイル22で指定されているそれぞれのファイル(本
例では「prog1/file1」と「prog1/dir1」)につい
て、プログラム本体21のディレクトリprog1の親ディ
レクトリ下で「find %s -print|cpio -pd backupdata」
(ただし、%sは「prog1/file1」または「prog1/dir
1」)コマンドを実行する、という手順でバックアップ
データ23(プログラム本体21と同一内容)を生成
し、これをディレクトリbackupdata下に組み込む。
ンピュータシステム1からプログラムprog1のバージョ
ン02版であるプログラム本体12のアーカイブA2と
プログラム本体12の回復対象ファイルR2とがファイ
ル転送された時、プログラム本体21と回復対象ファイ
ル22とに基づき、例えば、(1)プログラム本体21
と回復対象ファイル22とは別のパスでディレクトリba
ckupdataをmkdirコマンドで生成する、(2)回復対象
ファイル22で指定されているそれぞれのファイル(本
例では「prog1/file1」と「prog1/dir1」)につい
て、プログラム本体21のディレクトリprog1の親ディ
レクトリ下で「find %s -print|cpio -pd backupdata」
(ただし、%sは「prog1/file1」または「prog1/dir
1」)コマンドを実行する、という手順でバックアップ
データ23(プログラム本体21と同一内容)を生成
し、これをディレクトリbackupdata下に組み込む。
【0039】図3は、コンピュータシステム1によるコ
ンピュータシステム2aに配布すべきプログラム本体1
2のアーカイブA2および回復対象ファイルR2の入手
から、コンピュータシステム2aにおけるこれら情報を
受信した後のプログラム本体21のプログラムモジュー
ルの更新までのフローチャートである。
ンピュータシステム2aに配布すべきプログラム本体1
2のアーカイブA2および回復対象ファイルR2の入手
から、コンピュータシステム2aにおけるこれら情報を
受信した後のプログラム本体21のプログラムモジュー
ルの更新までのフローチャートである。
【0040】以下、プログラム配布のためのアーカイブ
および回復対象ファイルの生成から、これら情報を受信
してのプログラム更新までの動作を図3のフローチャー
トに従って説明する。
および回復対象ファイルの生成から、これら情報を受信
してのプログラム更新までの動作を図3のフローチャー
トに従って説明する。
【0041】まず、コンピュータシステム1にプログラ
ムprog1のバージョン02版であるプログラム本体12
がディレクトリv02下に組み込まれると、コンピュータ
システム1はディレクトリv02下のディレクトリprog1以
降のアーカイブA2をcpio(-o:アーカイブ)コマンド
の実行により入手する(ステップ301)。
ムprog1のバージョン02版であるプログラム本体12
がディレクトリv02下に組み込まれると、コンピュータ
システム1はディレクトリv02下のディレクトリprog1以
降のアーカイブA2をcpio(-o:アーカイブ)コマンド
の実行により入手する(ステップ301)。
【0042】次に、ディレクトリv02下のディレクトリp
rog1に関する回復対象ファイルR2をfind(-type f -p
rint)コマンドの実行により入手し(ステップ30
2)、この後に、転送情報削減のために、入手した情報
を編集する(ステップ303)。
rog1に関する回復対象ファイルR2をfind(-type f -p
rint)コマンドの実行により入手し(ステップ30
2)、この後に、転送情報削減のために、入手した情報
を編集する(ステップ303)。
【0043】例えば、次のように編集する。
【0044】<入手情報> prog1/file1 prog1/dir1/file11 prog1/dir1/file12 <編集結果の回復対象ファイルR2> prog1/file1 prog1/dir1(入手情報とは「prog1/dir1」までが
共通であるため)。
共通であるため)。
【0045】次に、アーカイブA2と回復対象ファイル
R2とをコンピュータシステム2aへファイル転送する
(ステップ304)。
R2とをコンピュータシステム2aへファイル転送する
(ステップ304)。
【0046】コンピュータシステム2aは上記情報を受
信したらならば(ステップ305)、プログラム本体1
1のアーカイブA1と回復対象ファイルR1のファイル
転送を受けたときに組み込んであるプログラム本体21
と回復対象ファイル22とに基づき、プログラム本体2
1とは別のパスで、図1に示すバックアップデータ23
を生成する(ステップ306)。
信したらならば(ステップ305)、プログラム本体1
1のアーカイブA1と回復対象ファイルR1のファイル
転送を受けたときに組み込んであるプログラム本体21
と回復対象ファイル22とに基づき、プログラム本体2
1とは別のパスで、図1に示すバックアップデータ23
を生成する(ステップ306)。
【0047】本例では、回復対象ファイル22の内容が
「prog1/file1」と「prog1/dir1」であるため、プログ
ラム本体21と同一ディレクトリ構造でプログラム本体
21のプログラムモジュールのバックアップがバックア
ップデータ23として生成される。
「prog1/file1」と「prog1/dir1」であるため、プログ
ラム本体21と同一ディレクトリ構造でプログラム本体
21のプログラムモジュールのバックアップがバックア
ップデータ23として生成される。
【0048】次に、プログラム本体21のディレクトリ
prog1をワークディレクトリとしてアーカイブA2を入
力とするcpio(-id:アンアーカイブ)コマンドを実行
することにより、プログラム本体21のファイルfile
1、file11、file12の内容をプログラム本体12のファ
イルfile1、file11、file12の内容に更新する(ステッ
プ307)。
prog1をワークディレクトリとしてアーカイブA2を入
力とするcpio(-id:アンアーカイブ)コマンドを実行
することにより、プログラム本体21のファイルfile
1、file11、file12の内容をプログラム本体12のファ
イルfile1、file11、file12の内容に更新する(ステッ
プ307)。
【0049】次に、全ファイルへの格納が正常か否か、
すなわち全プログラムモジュールが正常に更新されたか
否かをリターン情報により確認する(ステップ30
8)。
すなわち全プログラムモジュールが正常に更新されたか
否かをリターン情報により確認する(ステップ30
8)。
【0050】確認の結果、正常リターンである場合は、
プログラム本体12の全プログラムモジュールの格納が
正常になされたと判断し、不要となったバックアップデ
ータ23を削除する(ステップ309)。
プログラム本体12の全プログラムモジュールの格納が
正常になされたと判断し、不要となったバックアップデ
ータ23を削除する(ステップ309)。
【0051】その後、回復対象ファイル22の内容を転
送されてきた回復対象ファイルR2の内容に更新する
(ステップ310)。
送されてきた回復対象ファイルR2の内容に更新する
(ステップ310)。
【0052】以上により、プログラム本体21と回復対
象ファイル22との実際の内容は、プログラム本体11
に関する内容からプログラム本体12に関する内容に更
新され、かつバックアッブデータ23は存在しないこと
になる。
象ファイル22との実際の内容は、プログラム本体11
に関する内容からプログラム本体12に関する内容に更
新され、かつバックアッブデータ23は存在しないこと
になる。
【0053】なお、cpio(-id:アンアーカイブ)コマ
ンドであるが、例えばプログラムprog1が実行中であっ
てfile1に格納されているプログラムモジュールが主記
憶装置上にロードされている(file1が使用中)ために
格納できなかった場合は、コマンドの実行終了時に、格
納できなかったファイル(この場合はfile1)のファイ
ル名称と共にその旨の連絡がなされる(異常リター
ン)。
ンドであるが、例えばプログラムprog1が実行中であっ
てfile1に格納されているプログラムモジュールが主記
憶装置上にロードされている(file1が使用中)ために
格納できなかった場合は、コマンドの実行終了時に、格
納できなかったファイル(この場合はfile1)のファイ
ル名称と共にその旨の連絡がなされる(異常リター
ン)。
【0054】図4は、コンピュータシステム2aにおけ
るアーカイブA2および回復対象ファイルR2を受信し
てからの以前配布されて組み込んであるプログラム本体
21の内容(本例ではプログラム本体21のfile1、fil
e11、file12の内容)を今配布されたプログラム本体1
2の内容に更新することに失敗した場合、プログラム本
体21の内容を更新前の内容に戻すためのプログラム回
復概念図である。
るアーカイブA2および回復対象ファイルR2を受信し
てからの以前配布されて組み込んであるプログラム本体
21の内容(本例ではプログラム本体21のfile1、fil
e11、file12の内容)を今配布されたプログラム本体1
2の内容に更新することに失敗した場合、プログラム本
体21の内容を更新前の内容に戻すためのプログラム回
復概念図である。
【0055】更新成功か否かの確認の結果(ステップ7
0)、異常リターンである場合は、格納できなかったフ
ァイルのファイル名を図4に示す更新時使用中ファイル
情報41に記憶しておく(ステップ100および図4に
示す手順)。
0)、異常リターンである場合は、格納できなかったフ
ァイルのファイル名を図4に示す更新時使用中ファイル
情報41に記憶しておく(ステップ100および図4に
示す手順)。
【0056】次に、バージョン01版のプログラムモジ
ュールとバージョン02版のプログラムモジュールとが
混在しているプログラム本体21のプログラムモジュー
ル格納ファイルを、バックアップデータ23により、バ
ージョン01版のプログラムモジュール格納ファイルも
含めすべてバージョン01版プログラムモジュール格納
ファイルとする。
ュールとバージョン02版のプログラムモジュールとが
混在しているプログラム本体21のプログラムモジュー
ル格納ファイルを、バックアップデータ23により、バ
ージョン01版のプログラムモジュール格納ファイルも
含めすべてバージョン01版プログラムモジュール格納
ファイルとする。
【0057】具体的には、ディレクトリbackupdataをワ
ークディレクトリとする「find . -print | cpio -pd p
directory(「pdirectory」はプログラム本体21のデ
ィレクトリprog1の親ディレクトリ)」コマンドを実行
する。
ークディレクトリとする「find . -print | cpio -pd p
directory(「pdirectory」はプログラム本体21のデ
ィレクトリprog1の親ディレクトリ)」コマンドを実行
する。
【0058】実行の結果、異常リターンの場合には、連
絡されたファイル名称を回復時使用中ファイル情報42
に記憶する(図4に示す手順)。
絡されたファイル名称を回復時使用中ファイル情報42
に記憶する(図4に示す手順)。
【0059】リターンが正常リターンの場合、または異
常リターンであるが更新時使用中ファイル情報41に記
憶しているファイル名称と回復時使用中ファイル情報4
2に記憶しているファイル名称とがすべて同一である場
合は、プログラム本体21が回復されたものと判断して
終了する(ステップ311)。
常リターンであるが更新時使用中ファイル情報41に記
憶しているファイル名称と回復時使用中ファイル情報4
2に記憶しているファイル名称とがすべて同一である場
合は、プログラム本体21が回復されたものと判断して
終了する(ステップ311)。
【0060】次に、回復対象ファイル情報の有効性につ
いて、下記の運用形態の場合で説明する。
いて、下記の運用形態の場合で説明する。
【0061】図1において、コンピュータシステム1と
2aとの間、またはコンピュータシステム2a〜2c同
士間でソース言語レベルでは互換性があるが、ロードモ
ジュールレベルでは互換性がない場合、コンピュータシ
ステム1はコンピュータシステム2a〜2cへソースモ
ジュールを転送して、各々のコンピュータシステム2a
〜2cは転送されたソースモジュールを自身のシステム
下のコンパイラでコンパイルしてロードモジュールを作
成する必要がある。
2aとの間、またはコンピュータシステム2a〜2c同
士間でソース言語レベルでは互換性があるが、ロードモ
ジュールレベルでは互換性がない場合、コンピュータシ
ステム1はコンピュータシステム2a〜2cへソースモ
ジュールを転送して、各々のコンピュータシステム2a
〜2cは転送されたソースモジュールを自身のシステム
下のコンパイラでコンパイルしてロードモジュールを作
成する必要がある。
【0062】このような場合、最初のプログラム配布時
に、コンピュータシステム1とコンピュータシステム2
a〜2cとの間で、例えば「file11とfile12にはprog1
のソースモジュールを格納し、file1にはprog1のロード
モジュールを格納する」のように、それぞれのプログラ
ムについてのサブファイル体系(トリー構造)を事前に
決めておく。
に、コンピュータシステム1とコンピュータシステム2
a〜2cとの間で、例えば「file11とfile12にはprog1
のソースモジュールを格納し、file1にはprog1のロード
モジュールを格納する」のように、それぞれのプログラ
ムについてのサブファイル体系(トリー構造)を事前に
決めておく。
【0063】または、このような詳細な取決めをするま
でもなく、最初のプログラム配布時に、単にサブファイ
ル体系(トリー構造)だけをコンピュータシステム1か
らコンピュータシステム2a〜2cへ転送し、コンピュ
ータシステム2a〜2cは転送されたサブファイル体系
(トリー構造)に従って、自身のファイルシステム下に
そのプログラムについてのサブファイル体系(トリー構
造)を生成する。
でもなく、最初のプログラム配布時に、単にサブファイ
ル体系(トリー構造)だけをコンピュータシステム1か
らコンピュータシステム2a〜2cへ転送し、コンピュ
ータシステム2a〜2cは転送されたサブファイル体系
(トリー構造)に従って、自身のファイルシステム下に
そのプログラムについてのサブファイル体系(トリー構
造)を生成する。
【0064】このような取決めの下で、プログラム配布
時にコンピュータシステム2a〜2cへ転送する情報と
して、ソースモジュールが格納されているファイル「fi
le11、file12」だけに関するアーカイブ、すなわち「pr
og1/dir1」以降のアーカイブをアーカイブAiとし、
また回復対象ファイル情報としてはロードモジュールを
格納しているファイル「file1」も含めた「prog1/file
1」と「prog1/dir1」とを回復対象ファイルRiとす
る。
時にコンピュータシステム2a〜2cへ転送する情報と
して、ソースモジュールが格納されているファイル「fi
le11、file12」だけに関するアーカイブ、すなわち「pr
og1/dir1」以降のアーカイブをアーカイブAiとし、
また回復対象ファイル情報としてはロードモジュールを
格納しているファイル「file1」も含めた「prog1/file
1」と「prog1/dir1」とを回復対象ファイルRiとす
る。
【0065】このようにした場合、上記のアーカイブA
iと回復対象ファイルRiを受信したコンピュータシス
テム2a〜2cは、前回のプログラム配布時に受信して
保持してある回復対象ファイル22(すなわち、回復対
象ファイルR(i−1))の内容である「prog1/file
1」と「prog1/dir1(すなわち、prog1/dir1/file11
とprog1/dir1/file12)」を基にバックアップデータ
23を生成する。
iと回復対象ファイルRiを受信したコンピュータシス
テム2a〜2cは、前回のプログラム配布時に受信して
保持してある回復対象ファイル22(すなわち、回復対
象ファイルR(i−1))の内容である「prog1/file
1」と「prog1/dir1(すなわち、prog1/dir1/file11
とprog1/dir1/file12)」を基にバックアップデータ
23を生成する。
【0066】その後、転送されたソースモジュール(フ
ァイルfile11、file12の内容)がプログラム本体21の
ファイルfile11、file12に格納され、これらのソースモ
ジュールから生成されたロードモジュールがプログラム
本体21のファイルfile1に格納される。この時点で、
プログラム本体21の旧バージョンのロードモジュール
は消失したわけであるが、これを旧バージョンに回復す
る場合、旧バージョンのロードモジュールをバックアッ
プデータ23として保持しているため、旧バージョンへ
の回復が容易に可能となる。
ァイルfile11、file12の内容)がプログラム本体21の
ファイルfile11、file12に格納され、これらのソースモ
ジュールから生成されたロードモジュールがプログラム
本体21のファイルfile1に格納される。この時点で、
プログラム本体21の旧バージョンのロードモジュール
は消失したわけであるが、これを旧バージョンに回復す
る場合、旧バージョンのロードモジュールをバックアッ
プデータ23として保持しているため、旧バージョンへ
の回復が容易に可能となる。
【0067】以上のように、本実施例においては、配布
元のコンピュータシステム1から配布先のコンピュータ
システム2a〜2cに配布されたプログラムのプログラ
ム名称が組込済みのプログラム本体21のプログラム名
称と同一である場合、組込済み同一名称のプログラム本
体21のバックアップデータ23(バックアップファイ
ル)が生成される。
元のコンピュータシステム1から配布先のコンピュータ
システム2a〜2cに配布されたプログラムのプログラ
ム名称が組込済みのプログラム本体21のプログラム名
称と同一である場合、組込済み同一名称のプログラム本
体21のバックアップデータ23(バックアップファイ
ル)が生成される。
【0068】この後、前記組込済みのプログラム本体2
1が新たに配布されたプログラム本体12に更新される
が、その更新結果の確認において、更新できなかったプ
ログラムモジュールが存在した場合には、組込済みのプ
ログラム本体21がバックアップデータ23に基づいて
更新前に回復される。
1が新たに配布されたプログラム本体12に更新される
が、その更新結果の確認において、更新できなかったプ
ログラムモジュールが存在した場合には、組込済みのプ
ログラム本体21がバックアップデータ23に基づいて
更新前に回復される。
【0069】従って、更新失敗時であっても、配布元の
コンピュータシステム1から改めて旧バージョンプログ
ラムをファイル転送する必要がなくなり、プログラム使
用不可能状態を短縮することができる。
コンピュータシステム1から改めて旧バージョンプログ
ラムをファイル転送する必要がなくなり、プログラム使
用不可能状態を短縮することができる。
【0070】また、コンピュータシステム1から新たな
プログラムを配布するに際し、配布するプログラム本体
12に関与するプログラムファイルを示す回復対象ファ
イル情報を新たなプログラム本体12と共に送信し、回
復対象ファイル情報を配布先のコンピュータ2a〜2c
に保持させ、配布先のコンピュータ2a〜2cでは、コ
ンピュータ1から新たなプログラム本体12が配布され
たとき、新たに配布されたプログラム本体12のプログ
ラム名称が組込済みのプログラム本体21のプログラム
名称と同一であるか否かを判定し、同一である場合、前
記保持しておいた回復対象ファイル情報に基づいて更新
失敗時の回復対象となる組込済みプログラム本体21に
ついてのバックアップデータ23を生成し、組込済みの
プログラム本体21を新たに配布されたプログラム本体
12に更新しようとした時、その更新結果の確認におい
て、更新できなかったプログラムモジュールが存在した
場合には、前記バックアップデータ23の内容に基づい
て、組込済みのプログラム本体21と該組込済みプログ
ラムに関与する回復対象ファイル情報を更新前の状態に
回復する。
プログラムを配布するに際し、配布するプログラム本体
12に関与するプログラムファイルを示す回復対象ファ
イル情報を新たなプログラム本体12と共に送信し、回
復対象ファイル情報を配布先のコンピュータ2a〜2c
に保持させ、配布先のコンピュータ2a〜2cでは、コ
ンピュータ1から新たなプログラム本体12が配布され
たとき、新たに配布されたプログラム本体12のプログ
ラム名称が組込済みのプログラム本体21のプログラム
名称と同一であるか否かを判定し、同一である場合、前
記保持しておいた回復対象ファイル情報に基づいて更新
失敗時の回復対象となる組込済みプログラム本体21に
ついてのバックアップデータ23を生成し、組込済みの
プログラム本体21を新たに配布されたプログラム本体
12に更新しようとした時、その更新結果の確認におい
て、更新できなかったプログラムモジュールが存在した
場合には、前記バックアップデータ23の内容に基づい
て、組込済みのプログラム本体21と該組込済みプログ
ラムに関与する回復対象ファイル情報を更新前の状態に
回復する。
【0071】従って、配布先においてソースモジュール
からロードモジュールを生成して使用するようなシステ
ム構成にあっては、回復対象ファイル情報として、ソー
スモジュールのファイルの他に、ロードモジュールのフ
ァイルを指定しておくことにより、ソースモジュールか
らロードモジュールを改めて生成する必要がなくなり、
更新前の状態に迅速に回復させることができる。
からロードモジュールを生成して使用するようなシステ
ム構成にあっては、回復対象ファイル情報として、ソー
スモジュールのファイルの他に、ロードモジュールのフ
ァイルを指定しておくことにより、ソースモジュールか
らロードモジュールを改めて生成する必要がなくなり、
更新前の状態に迅速に回復させることができる。
【0072】ところで、本発明は、上記実施例に限定さ
れるものではなく、次のような実施例も可能である。
れるものではなく、次のような実施例も可能である。
【0073】(1).コンピュータシステム1は、プロ
グラムの全モジュールについてのアーカイブをコンピュ
ータシステム2a〜2cに送信しているが、これを変更
のあったモジュール(ファイル)だけについてのアーカ
イブをコンピュータシステム2a〜2cに送信してもか
まわない。
グラムの全モジュールについてのアーカイブをコンピュ
ータシステム2a〜2cに送信しているが、これを変更
のあったモジュール(ファイル)だけについてのアーカ
イブをコンピュータシステム2a〜2cに送信してもか
まわない。
【0074】なおこの場合は、アーカイブ対応に当該モ
ジュール(ファイル)の親ディレクトリまでのパス名も
送信する。
ジュール(ファイル)の親ディレクトリまでのパス名も
送信する。
【0075】この場合、コンピュータシステム2a〜2
cは、それぞれのアーカイブについて、送信された対応
の親ディレクトリをワークディレクトリとしてアンアー
カイブを実行すればよい。
cは、それぞれのアーカイブについて、送信された対応
の親ディレクトリをワークディレクトリとしてアンアー
カイブを実行すればよい。
【0076】このようにすると、更新が複数回になる
が、更新に失敗した時点で更新を中止して回復できるよ
うになり、回復対象のファイルが一括更新での失敗の場
合より一般的に少なくなり、またバージョンの異なるプ
ログラムモジュールが混在する時間も短くなる。
が、更新に失敗した時点で更新を中止して回復できるよ
うになり、回復対象のファイルが一括更新での失敗の場
合より一般的に少なくなり、またバージョンの異なるプ
ログラムモジュールが混在する時間も短くなる。
【0077】(2).コンピュータシステム1は、プロ
グラムの全モジュールについてのアーカイブをコンピュ
ータシステム2a〜2cに送信しているが、これを変更
のあったモジュール(ファイル)だけについてのファイ
ルをコンピュータシステム2a〜2cに送信してもかま
わない。
グラムの全モジュールについてのアーカイブをコンピュ
ータシステム2a〜2cに送信しているが、これを変更
のあったモジュール(ファイル)だけについてのファイ
ルをコンピュータシステム2a〜2cに送信してもかま
わない。
【0078】なおこの場合は、ファイル対応に当該モジ
ュール(ファイル)までのパス名も送信する。
ュール(ファイル)までのパス名も送信する。
【0079】この場合、コンピュータシステム2a〜2
cは、それぞれのファイルについて、送信された当該フ
ァイルのパス名から当該ファイルの親ディレクトリ(当
該ファイルのパス名の直前のノード)を検索し、検索し
た親ディレクトリをワークディレクトリとしてcpコマン
ドを実行してモジュール(ファイル)単位でのコピーを
実行すればよい。
cは、それぞれのファイルについて、送信された当該フ
ァイルのパス名から当該ファイルの親ディレクトリ(当
該ファイルのパス名の直前のノード)を検索し、検索し
た親ディレクトリをワークディレクトリとしてcpコマン
ドを実行してモジュール(ファイル)単位でのコピーを
実行すればよい。
【0080】このようにすると、更新失敗時においては
上記と同一の効果が得られる。
上記と同一の効果が得られる。
【0081】(3).コンピュータシステム1は、親デ
ィレクトリが同一であるファイルについては当該親ディ
レクトリまでのパス名に編集して回復対象ファイルRi
の内容としているが、これを編集しないでそのままコン
ピュータシステム2a〜2cに送信してもかまわない。
ィレクトリが同一であるファイルについては当該親ディ
レクトリまでのパス名に編集して回復対象ファイルRi
の内容としているが、これを編集しないでそのままコン
ピュータシステム2a〜2cに送信してもかまわない。
【0082】(4).コンピュータシステム1は、回復
対象ファイルRiをコンピュータシステム2a〜2cに
送信しているが、これを送信しないようにして、コンピ
ュータシステム2a〜2c側は更新前のプログラム本体
21(旧バージョン)についてパス名をプログラム本体
21のディレクトリprog1の親ディレクトリに指定したf
ind(-print)コマンドを実行して更新前のプログラム
本体21(旧バージョン)の全ファイル名(パス名)を
入手し、転送されてきたアーカイブAiについてはアー
カイブAiを入力とするcpio(-tv)コマンドを実行し
てアーカイブAi中の全ファイル名(パス名)を入手す
る。そして、入手したそれぞれのファイル名(パス名)
について比較を行って、ファイル名(パス名)の一致す
るファイルだけについてバックアップデータ23を取得
してもよい。
対象ファイルRiをコンピュータシステム2a〜2cに
送信しているが、これを送信しないようにして、コンピ
ュータシステム2a〜2c側は更新前のプログラム本体
21(旧バージョン)についてパス名をプログラム本体
21のディレクトリprog1の親ディレクトリに指定したf
ind(-print)コマンドを実行して更新前のプログラム
本体21(旧バージョン)の全ファイル名(パス名)を
入手し、転送されてきたアーカイブAiについてはアー
カイブAiを入力とするcpio(-tv)コマンドを実行し
てアーカイブAi中の全ファイル名(パス名)を入手す
る。そして、入手したそれぞれのファイル名(パス名)
について比較を行って、ファイル名(パス名)の一致す
るファイルだけについてバックアップデータ23を取得
してもよい。
【0083】(5).新旧両バージョンのディレクトリ
構成およびファイル構成を同一としているが、実際には
同一でなくてもよい。
構成およびファイル構成を同一としているが、実際には
同一でなくてもよい。
【0084】例えば、更新前のプログラム本体21には
存在しないファイル「…/prog1/dir1/file13」がアーカ
イブAi中にはある場合は、プログラム本体21への更
新前に、上記「4.」の方法で更新前のプログラム本体
21(旧バージョン)の全ファイル名(パス名)と転送
されてきたアーカイブAi中の全ファイル名(パス名)
とを比較し、追加されている「…/prog1/dir1/file13」
を検出して保持しておく。
存在しないファイル「…/prog1/dir1/file13」がアーカ
イブAi中にはある場合は、プログラム本体21への更
新前に、上記「4.」の方法で更新前のプログラム本体
21(旧バージョン)の全ファイル名(パス名)と転送
されてきたアーカイブAi中の全ファイル名(パス名)
とを比較し、追加されている「…/prog1/dir1/file13」
を検出して保持しておく。
【0085】その後に、プログラム本体21のディレク
トリprog1をワークディレクトリとしてアーカイブAi
を入力とするcpio(-id:アンアーカイブ)コマンドを
実行することによってプログラム本体21のファイルfi
le1、file11、file12の内容をプログラム本体12のフ
ァイルfile1、file11、file12の内容に更新し、さらに
プログラム本体21の「…/prog1/dir1」ディレクトリ
下にファイルfile13をその内容を格納したまま追加す
る。
トリprog1をワークディレクトリとしてアーカイブAi
を入力とするcpio(-id:アンアーカイブ)コマンドを
実行することによってプログラム本体21のファイルfi
le1、file11、file12の内容をプログラム本体12のフ
ァイルfile1、file11、file12の内容に更新し、さらに
プログラム本体21の「…/prog1/dir1」ディレクトリ
下にファイルfile13をその内容を格納したまま追加す
る。
【0086】なお、アーカイブAiの内容に更新された
プログラム本体21を更新前の状態に回復する場合は、
バックアップデータ23を基にファイルfile1、file1
1、file12の内容を回復し、さらに保持している「…/pr
og1/dir1/file13」を基にファイル「…/prog1/dir1/fil
e13」を削除すればよい。
プログラム本体21を更新前の状態に回復する場合は、
バックアップデータ23を基にファイルfile1、file1
1、file12の内容を回復し、さらに保持している「…/pr
og1/dir1/file13」を基にファイル「…/prog1/dir1/fil
e13」を削除すればよい。
【0087】(6).更新に失敗した場合は回復を行う
が、更新の再試行には次のような方法等が考えられる。
が、更新の再試行には次のような方法等が考えられる。
【0088】適当な時間のタイマを設定しておいて、
このタイマのタイムアウトをきっかけとして、更新→回
復の動作を更新が成功するまで適当な回数繰り返す。
このタイマのタイムアウトをきっかけとして、更新→回
復の動作を更新が成功するまで適当な回数繰り返す。
【0089】当日の当該プログラムの運用が終了した
後に更新を行う。
後に更新を行う。
【0090】(7).ネットワーク構成をとらず、配布
元と配布先が1対1のシステム構成あってもよい。
元と配布先が1対1のシステム構成あってもよい。
【0091】以上のように他の実施例も示したが、どの
実施例を採用するかは、それぞれの実施例の特徴と当該
システムの運用または特徴とを考慮して最適な組み合わ
せを選択すればよい。
実施例を採用するかは、それぞれの実施例の特徴と当該
システムの運用または特徴とを考慮して最適な組み合わ
せを選択すればよい。
【0092】例えば、大半のモジュールが変更となった
場合には、当該バージョンアッププログラム全体をアー
カイブしてコンピュータシステム2a〜2cに送信し、
一部のモジュールが変更となった場合には、当該モジュ
ールだけに関する情報をコンピュータシステム2a〜2
cに送信する等のケース対応に動作する構成も考えられ
る。
場合には、当該バージョンアッププログラム全体をアー
カイブしてコンピュータシステム2a〜2cに送信し、
一部のモジュールが変更となった場合には、当該モジュ
ールだけに関する情報をコンピュータシステム2a〜2
cに送信する等のケース対応に動作する構成も考えられ
る。
【0093】
【発明の効果】以上説明したように本発明においては、
第2のコンピュータにおいて第1のコンピュータから新
たに配布されたプログラムのプログラム名称が組込済み
のプログラムのプログラム名称と同一であるか否かを判
定し、同一である場合、組込済みの同一名称のプログラ
ムのバックアップファイルを生成した後、前記組込済み
のプログラムを新たに配布されたプログラムに更新し、
その更新結果の確認において、更新できなかったプログ
ラムモジュールが存在した場合には、前記組込済みのプ
ログラムを前記バックアップファイルの内容に基づいて
更新前に回復するようにしたので、更新失敗時であって
も、配布元のコンピュータから改めて旧バージョンプロ
グラムをファイル転送する必要がなくなり、旧バージョ
ンプログラムへの回復を迅速に行い、プログラム使用不
可能状態を短縮することができる。
第2のコンピュータにおいて第1のコンピュータから新
たに配布されたプログラムのプログラム名称が組込済み
のプログラムのプログラム名称と同一であるか否かを判
定し、同一である場合、組込済みの同一名称のプログラ
ムのバックアップファイルを生成した後、前記組込済み
のプログラムを新たに配布されたプログラムに更新し、
その更新結果の確認において、更新できなかったプログ
ラムモジュールが存在した場合には、前記組込済みのプ
ログラムを前記バックアップファイルの内容に基づいて
更新前に回復するようにしたので、更新失敗時であって
も、配布元のコンピュータから改めて旧バージョンプロ
グラムをファイル転送する必要がなくなり、旧バージョ
ンプログラムへの回復を迅速に行い、プログラム使用不
可能状態を短縮することができる。
【0094】また、第1のコンピュータから新たなプロ
グラムを配布するに際し、配布するプログラムに関与す
るプログラムファイルを示す回復対象ファイル情報を新
たなプログラムと共に送信し、この回復対象ファイル情
報を第2のコンピュータに保持させておき、第1のコン
ピュータから新たなプログラムが配布されたとき第2の
コンピュータにおいては新たに配布されたプログラムの
プログラム名称が組込済みのプログラムのプログラム名
称と同一であるか否かを判定し、同一である場合、前記
保持しておいた回復対象ファイル情報に基づいて前記組
込済みプログラムについてのバックアップファイルを生
成した後、前記組込済みのプログラムを新たに配布され
たプログラムに更新し、その更新結果の確認において、
更新できなかったプログラムモジュールが存在した場合
には、前記組込済みのプログラムを前記バックアップフ
ァイルの内容に基づいて更新前に回復するようにしたの
で、配布先においてソースモジュールからロードモジュ
ールを生成して使用するようなシステム構成にあって
は、回復対象ファイル情報として、ソースモジュールの
ファイルの他に、ロードモジュールのファイルを指定し
ておくことにより、ソースモジュールからロードモジュ
ールを改めて生成する必要がなくなり、更新前の状態に
迅速に回復させることができる。
グラムを配布するに際し、配布するプログラムに関与す
るプログラムファイルを示す回復対象ファイル情報を新
たなプログラムと共に送信し、この回復対象ファイル情
報を第2のコンピュータに保持させておき、第1のコン
ピュータから新たなプログラムが配布されたとき第2の
コンピュータにおいては新たに配布されたプログラムの
プログラム名称が組込済みのプログラムのプログラム名
称と同一であるか否かを判定し、同一である場合、前記
保持しておいた回復対象ファイル情報に基づいて前記組
込済みプログラムについてのバックアップファイルを生
成した後、前記組込済みのプログラムを新たに配布され
たプログラムに更新し、その更新結果の確認において、
更新できなかったプログラムモジュールが存在した場合
には、前記組込済みのプログラムを前記バックアップフ
ァイルの内容に基づいて更新前に回復するようにしたの
で、配布先においてソースモジュールからロードモジュ
ールを生成して使用するようなシステム構成にあって
は、回復対象ファイル情報として、ソースモジュールの
ファイルの他に、ロードモジュールのファイルを指定し
ておくことにより、ソースモジュールからロードモジュ
ールを改めて生成する必要がなくなり、更新前の状態に
迅速に回復させることができる。
【0095】さらに、更新できなかったプログラムモジ
ュールが存在した場合には、そのプログラムファイル名
称を一時記憶しておき、バックアップファイルの内容に
基づいて更新前に回復するとき、回復対象のプログラム
ファイルが使用中であれば、その使用中のプログラムフ
ァイルの名称と前記一時記憶しておいたログラムファイ
ル名称とを比較し、同一であれば当該プログラムファイ
ルのプログラムは更新前に回復されたものとすることに
より、使用中であったプログラムファイルが未使用状態
になるのを待つ必要がなくなり、そのための時間が短縮
される。
ュールが存在した場合には、そのプログラムファイル名
称を一時記憶しておき、バックアップファイルの内容に
基づいて更新前に回復するとき、回復対象のプログラム
ファイルが使用中であれば、その使用中のプログラムフ
ァイルの名称と前記一時記憶しておいたログラムファイ
ル名称とを比較し、同一であれば当該プログラムファイ
ルのプログラムは更新前に回復されたものとすることに
より、使用中であったプログラムファイルが未使用状態
になるのを待つ必要がなくなり、そのための時間が短縮
される。
【図1】本発明を適用したネットワークシステムの一実
施例を示すシステム構成図である。
施例を示すシステム構成図である。
【図2】アーカイブ情報の構成を示す説明図である。
【図3】実施例におけるファイル更新/回復の手順を示
すフローチャートである。
すフローチャートである。
【図4】プログラムが更新前の状態に回復される様子を
示す概念図である。
示す概念図である。
1,2a〜2c…コンピュータシステム、3…通信回
線、11…プログラム本体(バージョン01)、12…プ
ログラム本体(バージョン02)、21…プログラム本体
(現行バージョン)、22…回復対象ファイル、23…バ
ックアップデータ(バージョン01)、41…更新時使用
中ファイル情報、42…回復時使用中ファイル情報、A
2…プログラム本体(バージョン02)のアーカイブ。
線、11…プログラム本体(バージョン01)、12…プ
ログラム本体(バージョン02)、21…プログラム本体
(現行バージョン)、22…回復対象ファイル、23…バ
ックアップデータ(バージョン01)、41…更新時使用
中ファイル情報、42…回復時使用中ファイル情報、A
2…プログラム本体(バージョン02)のアーカイブ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 紀平 篤志 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 勝田 貴子 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内
Claims (3)
- 【請求項1】 第1のコンピュータから第2のコンピュ
ータに配布され、第2のコンピュータに組込済みのプロ
グラムを第1のコンピュータから新たに配布されたプロ
グラムに更新するプログラム更新/回復方法において、 第1のコンピュータから新たに配布されたプログラムの
プログラム名称が組込済みのプログラムのプログラム名
称と同一であるか否かを判定し、同一である場合、組込
済みの同一名称のプログラムのバックアップファイルを
生成した後、前記組込済みのプログラムを新たに配布さ
れたプログラムに更新し、その更新結果の確認におい
て、更新できなかったプログラムモジュールが存在した
場合には、前記組込済みのプログラムを前記バックアッ
プファイルの内容に基づいて更新前に回復することを特
徴とするプログラム更新/回復方法。 - 【請求項2】 前記第1のコンピュータから新たなプロ
グラムを配布するに際し、配布するプログラムに関与す
るプログラムファイルを示す回復対象ファイル情報を新
たなプログラムと共に送信し、この回復対象ファイル情
報を第2のコンピュータに保持させておき、第1のコン
ピュータから新たなプログラムが配布されたとき第2の
コンピュータにおいては新たに配布されたプログラムの
プログラム名称が組込済みのプログラムのプログラム名
称と同一であるか否かを判定し、同一である場合、前記
保持しておいた回復対象ファイル情報に基づいて前記組
込済みプログラムと該組込済みプログラムに関与する回
復対象ファイル情報についてのバックアップファイルを
生成した後、前記組込済みのプログラムを新たに配布さ
れたプログラムに更新し、その更新結果の確認におい
て、更新できなかったプログラムモジュールが存在した
場合には、前記組込済みのプログラムと該組込済みプロ
グラムに関与する回復対象ファイル情報を前記バックア
ップファイルの内容に基づいて更新前に回復することを
特徴とする請求項1記載のプログラム更新/回復方法。 - 【請求項3】 更新できなかったプログラムモジュール
が存在した場合には、そのプログラムファイル名称を一
時記憶しておき、前記バックアップファイルの内容に基
づいて更新前に回復するとき、回復対象のプログラムフ
ァイルが使用中であれば、その使用中のプログラムファ
イルの名称と前記一時記憶しておいたログラムファイル
名称とを比較し、同一であれば当該プログラムファイル
のプログラムは更新前に回復されたものとすることを特
徴とする請求項1または2記載のプログラム更新/回復
方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6223797A JPH0887410A (ja) | 1994-09-19 | 1994-09-19 | プログラム更新/回復方法 |
JP2000115547A JP3716971B2 (ja) | 1994-09-19 | 2000-04-17 | プログラム更新/回復方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6223797A JPH0887410A (ja) | 1994-09-19 | 1994-09-19 | プログラム更新/回復方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000115547A Division JP3716971B2 (ja) | 1994-09-19 | 2000-04-17 | プログラム更新/回復方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0887410A true JPH0887410A (ja) | 1996-04-02 |
Family
ID=16803876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6223797A Pending JPH0887410A (ja) | 1994-09-19 | 1994-09-19 | プログラム更新/回復方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0887410A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990070727A (ko) * | 1998-02-24 | 1999-09-15 | 김영환 | 홈위치등록기의 소프트웨어 장애 복구방법 |
JP2004519751A (ja) * | 2000-08-01 | 2004-07-02 | ダイムラークライスラー・アクチェンゲゼルシャフト | ソフトウェアのロード方法 |
KR100440950B1 (ko) * | 2001-06-30 | 2004-07-21 | 삼성전자주식회사 | 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스 |
KR100575996B1 (ko) * | 1998-12-28 | 2006-10-04 | 삼성전자주식회사 | 시스템 구동을 위한 이미지 파일 업그레이드 방법 |
WO2015001798A1 (ja) * | 2013-07-03 | 2015-01-08 | 日本電気株式会社 | 情報処理サーバ、情報処理システム、情報処理方法及びプログラム記録媒体 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205038A (ja) * | 1990-11-29 | 1992-07-27 | Oki Electric Ind Co Ltd | ファイル内容変更方法 |
JPH06222910A (ja) * | 1992-09-20 | 1994-08-12 | Sun Microsyst Inc | 複数のソフトウェア製品をコンピュータ装置に自動的にインストールし、コンピュータ装置の操作環境を整える方法および装置 |
JPH06222915A (ja) * | 1993-01-21 | 1994-08-12 | Fuji Xerox Co Ltd | インストール方式 |
-
1994
- 1994-09-19 JP JP6223797A patent/JPH0887410A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205038A (ja) * | 1990-11-29 | 1992-07-27 | Oki Electric Ind Co Ltd | ファイル内容変更方法 |
JPH06222910A (ja) * | 1992-09-20 | 1994-08-12 | Sun Microsyst Inc | 複数のソフトウェア製品をコンピュータ装置に自動的にインストールし、コンピュータ装置の操作環境を整える方法および装置 |
JPH06222915A (ja) * | 1993-01-21 | 1994-08-12 | Fuji Xerox Co Ltd | インストール方式 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990070727A (ko) * | 1998-02-24 | 1999-09-15 | 김영환 | 홈위치등록기의 소프트웨어 장애 복구방법 |
KR100575996B1 (ko) * | 1998-12-28 | 2006-10-04 | 삼성전자주식회사 | 시스템 구동을 위한 이미지 파일 업그레이드 방법 |
JP2004519751A (ja) * | 2000-08-01 | 2004-07-02 | ダイムラークライスラー・アクチェンゲゼルシャフト | ソフトウェアのロード方法 |
KR100440950B1 (ko) * | 2001-06-30 | 2004-07-21 | 삼성전자주식회사 | 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스 |
WO2015001798A1 (ja) * | 2013-07-03 | 2015-01-08 | 日本電気株式会社 | 情報処理サーバ、情報処理システム、情報処理方法及びプログラム記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9606787B1 (en) | Method and system for restoring software | |
JP3592721B2 (ja) | バックアップソフトウェア用の再表示エージェント | |
JP3782932B2 (ja) | ファイルをバックアップするための方法、システム及びプログラム記録媒体 | |
US7831968B1 (en) | Method and system for restoring software | |
US7802247B1 (en) | Method and system for restoring software | |
US7287068B1 (en) | System and method for updating devices that execute an operating system or application program directly from nonvolatile storage | |
US20070136381A1 (en) | Generating backup sets to a specific point in time | |
US20010042073A1 (en) | Method and system for automatically updating the version of a set of files stored on content servers | |
US6973647B2 (en) | Preferable modes of software package deployment | |
US6971095B2 (en) | Automatic firmware version upgrade system | |
JPH11167510A (ja) | レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ | |
JP2002007187A (ja) | 分散データ記憶環境で関連するデータ・オブジェクトを転送するシステムおよび方法 | |
US7290100B2 (en) | Computer system for managing data transfer between storage sub-systems | |
EP1035482A2 (en) | Remote file version reconciliation using hash codes | |
JP3716971B2 (ja) | プログラム更新/回復方法 | |
JPH0887410A (ja) | プログラム更新/回復方法 | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management | |
Cisco | Database Management |