JP3951364B2 - ソフトウエア保守方法およびその装置 - Google Patents

ソフトウエア保守方法およびその装置 Download PDF

Info

Publication number
JP3951364B2
JP3951364B2 JP16993997A JP16993997A JP3951364B2 JP 3951364 B2 JP3951364 B2 JP 3951364B2 JP 16993997 A JP16993997 A JP 16993997A JP 16993997 A JP16993997 A JP 16993997A JP 3951364 B2 JP3951364 B2 JP 3951364B2
Authority
JP
Japan
Prior art keywords
software
compare
execution
execution module
version
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.)
Expired - Fee Related
Application number
JP16993997A
Other languages
English (en)
Other versions
JPH1115647A (ja
Inventor
英児 西島
和紀 藤原
克己 河野
洋 綿谷
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16993997A priority Critical patent/JP3951364B2/ja
Publication of JPH1115647A publication Critical patent/JPH1115647A/ja
Application granted granted Critical
Publication of JP3951364B2 publication Critical patent/JP3951364B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、分散配置された複数の配布先計算機へのソフトウエア保守に係り、特に、各配布先計算機へ新バージョンのプログラムを入れ替える前に、万が一入れ替えが失敗した時にシステム稼働の異常事態を避けるために、元の状態に確実に復旧できるという保証をとっておくのに好適なソフトウエア保守方法に関する。
【0002】
【従来の技術】
従来の技術は、特開平第5−108317号「ネツトワークシステム及びそのソフトウエア管理方法」に示されている。
【0003】
従来の技術は、配布元計算機が事前に準備された新バージョンのソフトウエアを保持しており配布先計算機に新バージョンの格納エリアにダウンロードした後に、配布先計算機が新バージョンの格納エリア内のソフトウエアのうちのインストールスクリプトを起動することによって現行バージョンから新バージョンへのソストウエアの入れ替えを実施する。新バージョンへのソストウエアの入れ替えが成功した時には、新バージョンの格納エリアを現行バージョンの格納エリアに移動させる。一方、新バージョンへのソストウエアの入れ替えが失敗した時には、配布先計算機が旧(現行)バージョンの格納エリア内のソフトウエアのうちのインストールスクリプトを起動することによって旧(現行)バージョンのソフトウエアへの復旧を実施する。常に、旧(現行)バージョンの格納エリアには、前回の入れ替えの実施で成功した、旧(現行)バージョンのソフトウエアが格納されている。
【0004】
【発明が解決しようとする課題】
従来の技術は、万が一現行バージョンから新バージョンへのソストウエアの入れ替えが失敗した時に、旧(現行)バージョンのソフトウエアへの復旧が保証(常に元通りに戻せられるということ)されていないために、旧(現行)バージョンのソフトウエアへの復旧も失敗することがあり、結局、配布先計算機のソフトウエアシステムの動作不能によって業務の支障を招く恐れがある。具体的な一例を以下に説明する。
【0005】
例えば、リアルタイム制御計算機に代表される常駐型タスクは、主メモリ内にローディングされることによってインストールが完了するものであり、次のようなインストールの制約がある。なお、タスクとは同時に起動できる実行モジュール数が1つに限られている実行モジュールの種別を指す。
【0006】
(A1)メモリ内の実行モジュールをバックアップする手段がない
(A2)メモリ内の他の実行モジュール間とリンケージをとるためのインストールスクリプトが必要となる。
【0007】
このようなインストールの制約によって、次のような問題点がある。
【0008】
「タスクを新バージョンに入れ替えた時に、これが万が一失敗した時に、元の旧バージョンへ確実に戻すことができない」
この問題の発生する原因には、旧バージョンの入れ替え直後と新バージョンの入れ替え直後間で状況の変化があるためで、具体的には次のような要因があげられる。
【0009】
(B1)ローディングパラメータの違い
(B2)メモリ使用状況の変化
(B3)パッチによるメモリ空間のアドレスとデータ関係の変化
このような要因がある限り、ソフトウエア保守の高信頼化を図るためには、次の課題を解決する必要がある。
【0010】
「メモリ内へ常駐する実行モジュールが、入れ替える前の状態と、復旧した後で、アドレス空間およびデータが一致化されていることを保証しなければならない」
以上のように、本発明の目的は、現行バージョンから新バージョンへのソストウエアの入れ替えの失敗に備えて、旧(現行)バージョンのソフトウエアへの復旧を保証(常に元通りに戻せられるということ)しておく手段を提供することである。
【0011】
【課題を解決するための手段】
ソフトウエアの新バージョンと旧バージョンが事前に配布先計算機の所定の記憶領域に格納された状態において、配布先計算機にコンペア実行手段を設けておき、該ソフトウエアを旧バージョンから新バージョンに入れ替える前に、コンペア実行手段が旧バージョンのソフトウエアから疑似的に生成される実行モジュールと既に登録されてある実行モジュール(旧バージョンのソフトウエアの実行可能形式を指す)間の同一性を検証する。
【0012】
検証結果が良好の時には、新バージョンのソフトウエアに入れ替える処理に移行するが、検証結果が不良の時には、このような入れ替え処理を中止する。
【0013】
コンペア実行手段は、旧バージョンのソフトウエアがソースファイルまたはオブジェクトやライブラリおよびインストールスクリプトに加えてコンペアスクリプトを含んでいる時には、コンペアスクリプトを起動する。または、旧バージョンのソフトウエアがソースファイルまたはオブジェクトやライブラリおよびインストールスクリプトのみを含んでいる時には、インストールスクリプトを解析して、ソフトウエア種別に従ってコンペアコマンドを生成・実行する。ここで、コンペアスクリプトとは、旧バージョンのソフトウエアから疑似的に生成される実行モジュールと既に登録されてある実行モジュール間を比較するためのコンペアコマンドを記述したものである。インストールスクリプトとは、旧バージョンのソフトウエアから実行モジュールを生成するためのコンパイル・リンク・ロードコマンドを記述したものである。
【0014】
ソフトウエアが複数ある場合には、コンペア実行手段は、複数のソフトウエアを実行対象とする。
【0015】
前記コンペア実行手段によって、旧バージョンのソフトウエアから疑似的に生成される実行モジュールと既に登録されてある実行モジュール(旧バージョンのソフトウエアの実行可能形式を指す)間の同一性を検証しておくため、万が一、該ソフトウエアを旧バージョンから新バージョンに入れ替える処理が失敗した時でも、旧バージョンのソフトウエアへの復旧処理は、入れ替える前の実行モジュールに元通りに戻すことが可能となる。
【0016】
このような元通りに戻せられるという高信頼なソフトウエア保守の実現によって、常にソフトウエアは正常な動作状態を維持することができ、ソフトウエアシステムの安全な稼働を保証させることができる。
【0017】
【発明の実施の形態】
以下、本発明を実現するための実施例を図面により説明する。
【0018】
[1]実施例1
(A)ハード・ソフトウエア構成例
図1に本発明を実現するためのハード・ソフトウエア構成の一例を示す。図1は、ハードウエア構成として、配布元計算機110と配布先計算機130がネットワーク120に接続された構成を示している。配布先計算機130は1つに限定されるものではなく複数のものがネットワーク120に接続されていてもかまわない。配布元計算機110はソフトウエア資源管理データベース111およびソフト配布手段112を有する。一方、配布先計算機130はソフト受信エリア131、コンペア実行手段132、および、入れ替え実行手段133を有する。ソフトウエア保守を実施する場合、ソフト配布手段112がソフトウエア資源管理データベース111のうち入れ替えるべきソフトウエアの新バージョン113と旧バージョン114を保守対象となる配布先計算機130のソフト受信エリア131にダウンロードする。旧バージョンのソフトウエアとは、配布先計算機にとって現行バージョンのソフトウエアを指す。新バージョンおよび旧バージョンのソフトウエアとして、それぞれがソースファイルまたはオブジェクトやライブラリおよびインストールスクリプトに加えてコンペアスクリプトを有している。そして、入れ替え実行手段133がソフト受信エリア131にダウンロードされた新バージョンのソストウエアのインストールスクリプトを起動することによって旧(現行)バージョンから新バージョンへソフトウエアの入れ替えを実施する。もしも、この入れ替えが失敗した時には、入れ替え実行手段133がソフト受信エリア131にダウンロードされた旧バージョンのソストウエアのインストールスクリプトを起動することによって旧(現行)バージョンのソフトウエアへの復旧を実施する。ここで、インストールスクリプトとは、それぞれのバージョンのソフトウエアから実行モジュールを生成するためのコンパイル・リンク・ロードコマンドを記述したものである。
【0019】
本発明の特徴は、入れ替え実行手段133が動作する前に、コンペア実行手段132が旧バージョンのソフトウエアのコンペアスクリプトを起動することによって、旧バージョンのソフトウエアから疑似的に生成される実行モジュールと既に登録されてある実行モジュール(旧バージョンのソフトウエアの実行可能形式を指す)間の同一性を検証するものである。ここで、コンペアスクリプトとは、旧バージョンのソフトウエアから疑似的に生成される実行モジュールと既に登録されてある実行モジュール間を比較するためのコンペアコマンドを記述したものである。
【0020】
(B)配布先計算機のDB構成例と処理の流れ
図2は、ソフト受信エリア131のデータベース構成例である。ソフト受信エリア131は、ソフト配布手段112によってダウンロードされたソフトウエアの新バージョン113と旧バージョン114が格納される記憶領域である。新バージョンのソフトウエアが「ソフトウエア名.N」のディレクトリ名称の構成下に、一方、旧バージョンのソフトウエアが「ソフトウエア名.B」のディレクトリ名称の構成下に格納される。例えば、入れ替えるソフトウエアとしてtaskAとtaskBが対象の場合、taskA.Nのディレクトリ下210にソフトウエアtaskAの新バージョン、taskA.Bのディレクトリ下220にソフトウエアtaskAの旧バージョン、taskB.Nのディレクトリ下230にソフトウエアtaskBの新バージョン、および、taskB.Bのディレクトリ下240にソフトウエアtaskBの旧バージョンが格納される。新バージョンと旧バージョンのソフトウエアは、それぞれがソースファイルまたはオブジェクトやライブラリおよびインストールスクリプトに加えてコンペアスクリプトを有している。例えば、ソフトウエアtaskAの新バージョンはオブジェクトtaskA.o211、インストールスクリプトap_load212、および、コンペアスクリプトap_comp213、ならびに、ソフトウエアtaskAの旧バージョンはオブジェクトtaskA.o221、インストールスクリプトap_load222、および、コンペアスクリプトap_comp223からなる。ここで、オブジェクトtaskA.o211とtaskB.o221間は新旧間で修正が加えられているので部分的に異なる。また、インストールスクリプトap_load212とap_load222間およびコンペアスクリプトap_comp213とap_comp223間はソフトウエア名称やコマンド名称等の変更が稀であるので同一のケースが多い。
【0021】
図3は、コンペアスクリプトap_comp223のコンペアコマンドの記述例である。コマンド例としてUNIXシステムにおけるBourne shを用いている。コンペアスクリプトap_comp223が起動されると、301、302、303の順に解析され、結局、解析結果の「comp +P -o taskA taskA.o」が実行される。この「comp +P -o taskA taskA.o」は、オブジェクトtaskA.oから疑似的に生成した実行モジュールtaskAと既に登録されてある実行モジュールtaskA(現行バージョンのソフトウエアの実行可能形式taskAを指す)間の同一性を比較して、両者間の異なる部分を表示する。
【0022】
図4は、コンペア実行手段132の処理の流れを示す。ステップ401は、ソフト受信エリアから現行バージョンのソフトウエア名の取り出しを行なう。例えば、ソフト受信エリア131のうちディレクリ名がサフィックス'.B'を有するものを検索すれば、taskA.B220とtaskB.B240を取り出すことができる。ソフトウエア名が複数存在する場合には、プログラム名称の順に、以下のステップを実行していく。ここで以下では、ソフトウエア名としてtaskAを用いて説明する。ステップ402は、取り出したソフトウエア名を利用者に知らせるために画面等に表示する。例えば、taskA.Bからサフィックス'.B'を取り除いたものをソフトウエア名称として、画面に「ソフトウエア[taskA]のコンペア実行」と表示する。図5が画面に表示される内容の例である。ここでは、図5の501のように表示される。ステップ403は、取り出したソフトウエア名に対するコンペアスクリプトap_compを起動する。例えば、ソフトウエアtaskAのコンペアスクリプトap_comp223を起動する。コンペアスクリプトap_comp223を起動すると、結局、「comp +P -o taskA taskA.o」が実行される。この「comp +P -o taskA taskA.o」の実行結果は、オブジェクトtaskA.o221から疑似的に生成した実行モジュールtaskAと既に登録されてある実行モジュールtaskA(現行バージョンのソフトウエアの実行可能形式taskAを指す)間が同一の場合には画面に何も表示されないが、逆に異なる場合には違いの詳細情報が画面に表示される。例えば、もしもこの実行結果が異なる場合には図5の502のように表示される。ステップ404は、取り出したソフトウエアのうちまだ未処理のものが存在するかを確認して、存在する場合にはステップ402に戻り、存在しない場合には終了する。例えば、取り出したソフトウエアのうちtaskBが未処理であるので、ソフトウエアtaskBに対してステップ402〜403を処理する。取り出したソフトウエアに対して全て処理した後に、本処理は終了する。
【0023】
以上のようなコンペア実行手段132によって、入れ替えるべきソフトウエアを旧バージョンからから疑似的に生成される実行モジュールと既に登録されてある実行モジュール(旧バージョンのソフトウエアの実行可能形式を指す)間の同一性を検証した後に、検証結果が良好の時には、新バージョンのソフトウエアに入れ替える処理に移行するが、検証結果が不良の時には、このような入れ替え処理を中止する。このように、同一性を検証しておくため、万が一、入れ替えるべきソフトウエアを旧バージョンから新バージョンに入れ替える処理が失敗した時でも、旧バージョンのソフトウエアへの復旧処理は、入れ替える前の実行モジュールに元通りに戻すことが可能となる。
【0024】
[2]実施例2
実施例1の変形例として、コンペア実行手段132がコンペアスクリプトを実行する代わりに、コンペア実行手段132がインストールスクリプトを解析して、ソフトウエア種別に従ってコンペアコマンドを生成・実行する実施例を説明する。このようなコンペア実行手段は、インストールスクリプトを元にコンペアコマンドを生成・実行するので、コンペアスクリプトを作成するのがユーザにとって面倒な場合に有効となり、コンペアスクリプトを準備する必要がなくなる。なお、ハードウエア・ソフトウエア構成は図1と同様であり、ソフト受信エリアのデータベース131は、図2においてコンペアスクリプトap_comp213と223がない場合の構成となる。
【0025】
図6は、インストールスクリプトap_load222のインストールコマンドの記述例である。コマンド例としてUNIXシステムにおけるBourne shを用いている。インストールスクリプトap_load222が起動されると、601、602、603、604の順に解析され、結局、解析結果の「reload +P taskA 100 +L taskA.o -l 10」が実行される。この「reload +P taskA 100 +L taskA.o -l 10」は、オブジェクトtaskA.oのリンケージを実施することによって実行モジュールtaskAがタスク番号100の優先度10で主メモリ内に生成される。
【0026】
図7は、コンペア実行手段132がインストールスクリプトを解析して、ソフトウエア種別に従ってコンペアコマンドを生成・実行する処理の流れを示す。図7におけるステップ401、402、および、404は、図4と同様の処理である。ステップ701は、取り出したソフトウエア名に対するインストールスクリプトap_loadを解析する。例えば、ソフトウエアtaskAのインストールスクリプトap_load222を解析する。ソフトウエア種別によって生成すべきコンペアコマンドが異なるので、ここでは、インストールスクリプトap_load222のうちでソフトウエア種別を識別するための変数KINDを設けている。インストールスクリプトap_load222を解析すると、変数KINDの値がtaskであるので「comp +P」を生成して、変数NAMEの値がtaskAであるので「-o taskA」を生成して、変数OBJECTの値がtaskA.oであるので「taskA.o」を生成する。これらを並べた結果として、コンペアコマンド「comp +P -o taskA taskA.o」を生成する。ステップ702は、生成したコンペアコマンドを起動する。例えば、コンペアコマンド「comp +P -o taskA taskA.o」を起動する。ステップ701と702は、結果的にはステップ403と同様の内容となる。
【0027】
以上のようなコンペア実行手段によって、インストールスクリプトを元にコンペアコマンドを生成・実行するので、コンペアスクリプトを準備する必要がなくなり、ユーザの負担軽減およびディスク容量の削減につながる。その反面、コンペアコマンドを解析して生成するのに要する時間が増加する。
【0028】
[3]実施例3
実施例1の変形例として、コンペア実行手段132がコンペアスクリプトを実行する代わりに、コンペア実行手段132がインストール先を変更した形式でインストールスクリプトを実行後に、変更したインストール先に生成された実行モジュールと現行バージョンの実行モジュール間でコンペアを実行する実施例を説明する。このようなコンペア実行手段は、ソフトウエア種別がプロセスやテキストデータの場合に有効であり、疑似的に生成した実行モジュールと現行バージョン間の実行モジュール間を比較するコマンドが提供されていない場合に必要となる。なお、ハードウエア・ソフトウエア構成は図1と同様であり、ソフト受信エリアのデータベース131は、図8に示す通りである。
【0029】
図8のソフト受信エリア131は、入れ替えるソフトウエアとしてprocessAとprocessBが対象の場合を例にしているので、図2のデータベース構成のうちで、taskAがprocessAに、および、taskBがprocessBに置き換わった構成となる。しかも、コンペアスクリプトap_compを含んでいない。すなわち、processA.Nのディレクトリ下810にソフトウエアprocessAの新バージョン、processA.Bのディレクトリ下820にソフトウエアprocessAの旧バージョン、processB.Nのディレクトリ下830にソフトウエアprocessBの新バージョン、および、processB.Bのディレクトリ下840にソフトウエアprocessBの旧バージョンが格納された構成である。ソフトウエアprocessAの新バージョンはオブジェクトprocessA.o811およびインストールスクリプトap_load812、ならびに、ソフトウエアprocessAの旧バージョンはオブジェクトprocessA.o821およびインストールスクリプトap_load822からなる。
【0030】
図9は、インストールスクリプトap_load822のインストールコマンドの記述例である。インストールスクリプトap_load822が起動されると、901、902、903、904の順に解析され、結局、解析結果の「cc -o /usr/local/bin/processA processA.o」が実行される。この「cc -o /usr/local/bin/processA processA.o」は、オブジェクトprocessA.oのリンケージを実施することによって実行モジュールprocessAがインストール先の/usr/local/binに生成される。
【0031】
図10は、コンペア実行手段132がインストール先を変更した形式でインストールスクリプトを実行後に、変更したインストール先に生成された実行モジュールと現行バージョンの実行モジュール間でコンペアを実行する処理の流れを示す。図10におけるステップ401、402、および、404は、図4と同様の処理である。ステップ1001は、インストール先に正式に実行モジュールを生成せずに仮の実行モジュールを必要とするために、取り出したソフトウエア名に対するインストールスクリプトap_loadをインストール先を変更して実行する。
例えば、ソフトウエアprocessAのインストールスクリプトap_load822のうちで指定されたインストール先の変数INSTDIRの値を"."(カレントディレクトリを意味する)に変更した結果、すなわち、「cc -o ./processA processA.o」を実行する。この結果、カレントディレクトリ(図8の820)に実行モジュールprocessAが生成される。ステップ1002は、仮に生成した実行モジュールと正式な現行バージョンの実行モジュール間で比較検証を行なう。例えば、UNIXシステムにおけるファイル比較コマンドcmpを利用して、「cmp ./processA /usr/local/bin/processA」を実行することによって比較検証を行なう。正式な現行バージョンの実行モジュールの所在は、インストールスクリプトap_load822の変数INSTDIRの値(/usr/local/bin)である。このように、ステップ1001と1002は、インストールスクリプトap_load822を元に、仮の場所に生成させた実行モジュールと正式な現行バージョンの実行モジュール間の比較検証を行なうことができる。
【0032】
[4]各実施例の補足
(A)コンペア実行手段の起動タイミング
実施例1〜3のそれぞれにおいて、コンペア実行手段132の起動タイミングとして、(1)配布先計算機に入れ替えるべきソフトウエアをダウンロード後、(2)配布先計算機を立ち上げ後、(3)配布先計算機を立ち下げ時、(4)ユーザの指定した日付と時刻、(5)CPU負荷が低い時、等を設けておき、配布先計算機の特徴に応じて使い分ける。上記の(1)は、ソフト配布手段112が入れ替えるべきソフトウエアをダウンロードした後にコンペア実行手段132に実行指令を与えれば実現される。上記の(2)は、配布先計算機の立ち上げのイニシャル処理の中にコンペア実行手段132に実行指令を要求するコマンドを記述することによって実現される。上記の(3)は、配布先計算機の立ち下げのシャットダウン処理の中にコンペア実行手段132に実行指令を要求するコマンドを記述することによって実現される。上記の(4)は、ソフト配布手段112が入れ替えるべきソフトウエアをダウンロードした後にコンペア実行手段132に指定日付・時刻での実行指令を与えれば実現される。指定日付・時刻での実行指令にはUNIXシステムでのatコマンドがある。上記の(5)は、ソフト配布手段112が入れ替えるべきソフトウエアをダウンロードした後にコンペア実行手段132に低優先度指定での実行指令を与えれば実現される。低優先度指定での実行指令にはUNIXシステムでのniceコマンドがある。このような起動タイミングの使い分けによって、適切なタイミングでソフトウエア保守を実施できるので、円滑な計算機システムの運用を達成できる。
【0033】
(B)コンペア実行から入れ替え実行への移行
実施例1〜3のそれぞれにおいて、コンペア実行手段132の処理終了後から入れ替え実行手段133への移行の仕方として、(1)比較検証結果が全て一致の時に限り入れ替え実行へ移り、少なくとも1つの不一致がある時には入れ替え実行を中断する、(2)比較検証結果が一致のソフトウエアのみを入れ替え実行手段が実施し、不一致のソフトウエアを無視する、等の手段を設けて、配布先計算機の特徴に応じて使い分ける。このような移行方法の使い分けによって、計算機システムの信頼度に従ったソフトウエア保守を実施できる。
【0034】
【発明の効果】
以上のような、コンペア実行手段によって、旧バージョンのソフトウエアから疑似的に生成される実行モジュールと既に登録されてある実行モジュール(旧バージョンのソフトウエアの実行可能形式を指す)間の同一性を検証しておくため、万が一、該ソフトウエアを旧バージョンから新バージョンに入れ替える処理が失敗した時でも、旧バージョンのソフトウエアへの復旧処理は、入れ替える前の実行モジュールに元通りに戻すことが可能となる。
【0035】
このような元通りに戻せられるという高信頼なソフトウエア保守の実現によって、常にソフトウエアは正常な動作状態を維持することができ、ソフトウエアシステムの安全な稼働を保証させることができる。
【図面の簡単な説明】
【図1】ソフトウエア保守システム構成の一例である。
【図2】ソフト受信エリアのデータベース構成(タスクの対象)の一例である。
【図3】タスク向けコンペアスクリプトのコマンド記述の一例である。
【図4】コンペア実行手段のコンペアスクリプト起動処理の一例である。
【図5】画面への表示内容の一例である。
【図6】タスク向けインストールスクリプトのコマンド記述の一例である。
【図7】コンペア実行手段のコンペアコマンド生成・実行処理の一例である。
【図8】ソフト受信エリアのデータベース構成(プロセスの対象)の一例である。
【図9】プロセス向けインストールスクリプトのコマンド記述の一例である。
【図10】コンペア実行手段の仮の実行モジュール生成とコマンド実行処理の一例である。
【符号の説明】
110…配布元計算機、120…ネットワーク、130…配布先計算機、
111…ソフトウエア資源管理データベース、 112…ソフト配布手段、
113…新バージョンのソフトウエア郡、
114…旧バージョンのソフトウエア郡、131…ソフト受信エリア、
132…コンペア実行手段、 133…入れ替え実行手段。

Claims (12)

  1. 配布元計算機が新バージョンと旧バージョンのソフトウエア資源を配布先計算機へ格納し、該ソフトウエア資源の各バージョンがソースファイルまたはオブジェクトまたはライブラリおよびインストールスクリプトおよびコンペアスクリプトからなり、該配布先計算機が該ソフトウエア資源のうちのインストールスクリプトを起動して実行モジュールを生成するための入れ替え実行手段と該配布元計算機から受信された新バージョンと旧バージョンのソフトウエア資源を格納する記憶領域とを有する場合において
    該入れ替え実行手段が該実行モジュールを生成する前に、該配布先計算機が有するコンペア実行手段が、旧バージョンのソフトウエア資源名を該記憶領域から取り出し、該旧バージョンのソフトウエア資源名に対応する該コンペアスクリプトを起動することによって該旧バージョンのソフトウエア資源から擬似的に生成される実行モジュールと現行稼働状態の実行モジュール間の一致性を検証し、
    該一致性を検証した後に、検証結果に従って該入れ替え実行手段が、該記憶領域内の新バージョンのソフトウエア資源のインストールスクリプトを起動することによって旧バージョンから新バージョンへ実行モジュールの入れ替えを実施することを特徴とするソフトウエア保守方法。
  2. 記コンペア実行手段が該インストールスクリプトを解析してコンペアコマンドを生成・実行することによって該旧バージョンのソフトウエア資源から擬似的に生成される実行モジュールと現行稼働状態の実行モジュール間の一致性を検証した後に、検証結果に従って該入れ替え実行手段が実行モジュールの入れ替えを実施することを特徴とする請求項1項記載のソフトウエア保守方法。
  3. 記コンペア実行手段がインストール先を一時的なエリアに指定して該インストールスクリプトを起動した後に、該一時的なエリアに擬似的に生成された実行モジュールと現行稼働状態の実行モジュール間の一致性を検証した後に、検証結果に従って該入れ替え実行手段が実行モジュールの入れ替えを実施することを特徴とする請求項1項記載のソフトウエア保守方法。
  4. 前記コンペア実行手段が配布元計算機から配布先計算機へソフトウエア資源を格納した後に該一致性を検証すること、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  5. 前記コンペア実行手段が配布先計算機の立ち上げ後に該一致性を検証すること、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  6. 前記コンペア実行手段が配布先計算機の立ち下げ時に該一致性を検証すること、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  7. 前記コンペア実行手段が指定された日付や時刻で該一致性を検証すること、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  8. 前記コンペア実行手段による検証結果が全て一致の時に限り前記入れ替え実行手段が該実行モジュールの入れ替えを実施し、該検証結果が少なくとも1つの不一致の時には前記入れ替え実行手段が該実行モジュールの入れ替えを実施しないこと、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  9. 前記コンペア実行手段による検証結果が一致となったソフトウエア資源に対して前記入れ替え実行手段が該実行モジュールの入れ替えを実施すること、を特徴とする請求項1〜 3項記載のソフトウエア保守方法。
  10. 前記コンペアスクリプトが前記フトウエア資源を元に擬似的に生成する実行モジュールと現行稼働状態の実行モジュール間の一致性を比較するコマンド群からなること、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  11. 前記インストールスクリプトが前記ソフトウエア資源を元に実行可能な形式を生成するコマンド群からなり、ソフトウエア種別・ソフトウエア名・ソフトウエア資源名・インストールオプション別に分類されたフォーマットからなること、を特徴とする請求項1〜3項記載のソフトウエア保守方法。
  12. 配布元計算機と配布先計算機とを備えたソフトウエア保守装置において、
    該配布元計算機は、新バージョンと旧バージョンのソフトウエア資源を該配布先計算機へ格納し、
    該ソフトウエア資源の各バージョンは、ソースファイルまたはオブジェクトまたはライブラリおよびインストールスクリプトおよびコンペアスクリプトからなり、
    該配布先計算機は、該ソフトウエア資源のうちのインストールスクリプトを起動して実行モジュールを生成するための入れ替え実行手段と、該配布元計算機から受信された新バージョンと旧バージョンのソフトウエア資源を格納する記憶領域と、コンペア実行手段とを有し、
    該コンペア実行手段は、該入れ替え実行手段が該実行モジュールを生成する前に、旧バージョンのソフトウエア資源名を該記憶領域から取り出し、該旧バージョンのソフトウエア資源名に対応する該コンペアスクリプトを起動することによって該旧バージョンのソフトウエア資源から擬似的に生成される実行モジュールと現行稼働状態の実行モジュール間の一致性を検証し、
    該入れ替え実行手段は、該一致性を検証した後に、検証結果に従って、該記憶領域内の新バージョンのソフトウエア資源のインストールスクリプトを起動することによって旧バージョンから新バージョンへ実行モジュールの入れ替えを実施することを特徴とするソフトウエア保守装置。
JP16993997A 1997-06-26 1997-06-26 ソフトウエア保守方法およびその装置 Expired - Fee Related JP3951364B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16993997A JP3951364B2 (ja) 1997-06-26 1997-06-26 ソフトウエア保守方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16993997A JP3951364B2 (ja) 1997-06-26 1997-06-26 ソフトウエア保守方法およびその装置

Publications (2)

Publication Number Publication Date
JPH1115647A JPH1115647A (ja) 1999-01-22
JP3951364B2 true JP3951364B2 (ja) 2007-08-01

Family

ID=15895715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16993997A Expired - Fee Related JP3951364B2 (ja) 1997-06-26 1997-06-26 ソフトウエア保守方法およびその装置

Country Status (1)

Country Link
JP (1) JP3951364B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234645A (ja) * 2003-01-10 2004-08-19 Canon Inc 画像形成装置の監視装置、該監視装置による制御方法、及び該制御方法を実行するプログラム、並びに管理装置、該管理装置による制御方法、及び該制御方法を実行するプログラム
JP5084633B2 (ja) * 2008-06-20 2012-11-28 三菱電機株式会社 列車情報管理システムおよび列車情報管理装置のソフトウェア更新方法
US10140112B2 (en) 2014-03-28 2018-11-27 Ntt Docomo, Inc. Update management system and update management method
CN105549992A (zh) * 2015-12-08 2016-05-04 北京奇虎科技有限公司 一种代码发布方法、装置和系统
EP3182134A1 (en) 2015-12-18 2017-06-21 Roche Diagnostics GmbH Method for restoring settings of an instrument for processing a sample or a reagent, and system comprising an instrument for processing a sample or reagent

Also Published As

Publication number Publication date
JPH1115647A (ja) 1999-01-22

Similar Documents

Publication Publication Date Title
CN110572436B (zh) 多地跨集群的服务器部署方法及系统
US8010504B2 (en) Increasing application availability during automated enterprise deployments
CN107577475B (zh) 一种数据中心集群系统的软件包管理方法及系统
EP1915680B1 (en) Archiving data in a virtual application environment
US7664834B2 (en) Distributed operating system management
US6973647B2 (en) Preferable modes of software package deployment
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
WO2007136448A1 (en) Updating virtual machine with patch or the like
US9043781B2 (en) Algorithm for automated enterprise deployments
CN102841824B (zh) 一种回滚方法和回滚装置
US5968170A (en) Primary swap size increase on a UNIX based computer system
EP1110146B1 (en) A method, computer, and article of manufacturing for fault tolerant booting
JP3901060B2 (ja) アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム
JP3951364B2 (ja) ソフトウエア保守方法およびその装置
US7340738B2 (en) Time optimized replacement of a software application
WO2016037314A1 (zh) 软件版本升级方法、装置及设备
CN110928569A (zh) 一种通信设备Live Update功能实现的方法
CN116341012B (zh) 基于只读机制的文件系统安全加固方法
WO2007144891A1 (en) A method for the distribution of software processes to a plurality of computers
CN116132276A (zh) 操作系统替换方法、装置、电子设备及可读存储介质
CN117724731A (zh) 一种训练平台的部署方法、系统、设备及存储介质
CN117762526A (zh) 系统配置的更新方法和装置、存储介质及电子装置
CN113568627A (zh) 应用程序部署方法及系统
Hollingsworth et al. Binary version management for Computational Grids
Sibbald Bacula Installation and Configuration Guide

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040526

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040526

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070416

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees