JP3741581B2 - Distributed system - Google Patents
Distributed system Download PDFInfo
- Publication number
- JP3741581B2 JP3741581B2 JP2000044016A JP2000044016A JP3741581B2 JP 3741581 B2 JP3741581 B2 JP 3741581B2 JP 2000044016 A JP2000044016 A JP 2000044016A JP 2000044016 A JP2000044016 A JP 2000044016A JP 3741581 B2 JP3741581 B2 JP 3741581B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- version
- installation
- file
- current
- 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 - Lifetime
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、分散システムの計算機へバージョンアップしたプログラムをインストールする時に、関連プログラムを容易に抽出できるようにするためのバージョン管理装置を備えた分散システムに関わるものである。
【0002】
【従来の技術】
大規模な分散システムは、分散機をグループ分けし、分散機グループ単位に開発が行われている。1つの分散機グループの開発においても、各分散機単位に開発し、開発が終わって本番開始を迎え、本番開始後に次の分散機の開発を行い本番稼動させる。これらを繰り返し大規模な分散システムが構築されていく。
このように段階的に構築していく分散システムにおいて、分散機及び分散機グループの開発が進むとともに、不良対応、機能改善、仕様変更等に伴うプログラムの改善が行われ、プログラムは進化する。
【0003】
分散機(計算機)のプログラムが次々と更新される場合には、それらのバージョンの管理が不可欠となる。即ち、プログラムの各々にシーケンシャルなバージョンを付加し、変更内容とともに世代管理を行っている。そしてプログラムが変更され、バージョンが上がったタイミング、または、数バージョン上がったタイミングで、計算機へインストールを実施し、除々にバージョンの最新化を行う。
【0004】
このようなプログラムのバージョン管理に基づくインストールを、人手の作業と判断のみで行うこともできるが、システムが大規模になると作業も容易でなく、判断ミスも生じる。特に大規模なプラント制御等の分散システムにおいては、1度本番稼動すると、次の開発まで改造禁止、すなわち、現状バージョン維持とされ、分散システム内の他計算機用のプログラム開発も含めてある程度まとまった開発が終了した時点にインストールが行われるが、この場合には1つのプログラムに対する度重なるバージョン更新を伴うことが多い。そうするとバージョンの開きが大きくなり全てのプログラム最新版までバージョンアップせざるを得ない。ところが、これではバージョンアップに関わる工数及び費用が莫大となってしまう。また、高いバージョンの該当プログラムだけをインストールしようにも、該当プログラムに関連するプログラムを選択するのに、インストール管理者と開発担当者で手作業で実施しているため、バージョンがあまりにかけ離れると、選択もれによる機能劣化のリスクも増大する。
【0005】
このような問題に対処する技術としては、例えば特開平11−305999号に、各プログラムに付けられたバージョン情報を含む履歴管理情報を用いて、インストールを制御するシステムが開示されている。また、特開平11−134178号には、あるアプリケーションプログラムの更新時に、当該プログラムだけでなくそのプログラムに関連するプログラムのバージョン情報も用意しておき、インストール時に関連プログラムの更新も容易に行えるようにする技術が開示されている。
【0006】
【発明が解決しようとする課題】
前記した特開平11−305999号の技術では、あるプログラムの更新にあたって、そのプログラムに関連するプログラムについては考慮されていない。また特開平11−134178号の技術では、関連プログラムを考慮しているが、更新プログラム作成者が関連プログラムとそのバージョンを予め調べて依存関係情報を作成しておかねばならず、特に大規模分散システムの開発者は互いの連携作業を要するなど、大きな負担は避けられない。
【0007】
本発明の目的は、段階的に構築される分散システムの計算機にインストールされているプログラムと同一名称でバージョンが異なるプログラムをインストールしようとするとき、その新たにインストールするプログラムと関連したプログラムを自動的にもれなく抽出し、正しいバージョンでインストールを正確にかつ効率よく行えるようにするための、プログラムのバージョン管理装置を備えた分散システムを提供することにある。
【0008】
【課題を解決するための手段】
本発明は、ネットワークに接続された分散機上のプログラムを更新するときにそのプログラム更新に伴って関連する他プログラムを抽出して同時に更新できるようにするためのバージョン管理装置を備えた分散システムであって、
各プログラム毎に、当該プログラムを識別するためのプログラムIDと、当該プログラムのバージョンと、当該プログラムの初期インストール時あるいはいずれかのプログラム更新時に当該プログラムがインストールされた時にそのインストール作業に対して付与される固有の値を持つ変更IDとを少なくとも有するプログラム履歴管理ファイルと、
更新しようとする新バージョンのプログラムが新プログラムとして与えられたときに、当該新プログラムと同一プログラムIDをもち且つ分散機上で使用中の現用プログラムとその現用バージョンとをネットワーク経由で取得する現用プログラム取得手段と、
1つのプログラムの第1及び第2バージョンが与えられたときに、もし第1バージョンの方が第2バージョンより大きいときは何もせず、もし第1バージョンの方が第2バージョンより小さいときは、第1バージョンより大きく第1バージョンもしくはそれ以下のバージョンをもつ当該プログラムの各々の前記変更IDと等しい変更IDをもつ他プログラムを前記プログラム履歴管理ファイルから検出してインストール対象プログラムとする関連プログラム抽出手段と、
第1回目の抽出処理として、前記現用プログラム取得手段により取得された現用バージョンを前記第1バージョンとし、前記新バージョンを前記第2バージョンとして前記関連プログラム抽出手段によりインストール対象プログラムを抽出し、第2回目以降の抽出処理においては、前回の抽出処理によって抽出されたインストール対象プログラムの各々に対し、同一プログラムIDをもつプログラムを前記現用プログラム抽出手段により取得してその現用プログラムのバージョンを前記第1のバージョンとし、前記抽出されたインストール対象プログラムのバージョンを前記第2バージョンとして前記関連プログラム抽出手段により新にインストール対象プログラムを抽出する、という処理をインストール対象プログラムが新たに抽出されなくなるまで繰り返すように制御する制御手段と、
を前記バージョン管理装置に設けたことを特徴とする分散システムを開示する。
【0009】
更に本発明は、前記の分散システムにおいて、分散機の各々に、
前記バージョン管理装置の現用プログラム取得手段が現用プログラムとその現用バージョンを取得したときに送信した現用プログラムを格納する現用ファイルと、
その送信した現用ファイルを更新するためのインストール対象プログラムが送信されてきたときに前記現用ファイルのプログラムを実行形式ファイルに変換し、これと当該分散機で現用されている実行形式ファイルとを比較する比較手段と、
この手段による比較結果が一致したとき、更新のためのインストール対象プログラムのインストールを実行するように制御する制御手段と、
を設けたことを特徴とする分散システムを開示する。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について図面により説明する。
図1は本発明が適用されると分散処理システムの全体構成を示すブロック図である。図1において、開発系ネットワーク3には、プログラムを開発するための開発機2、2…と、プログラムを管理するためのバージョン管理装置1が接続されており、開発系ネットワーク3を経由してプログラムの取り出し、改修、登録を行う。基幹ネットワーク4には、段階的に構築する分散機グループのネットワーク5、5…が接続され、各分散機グループのネットワークには分散機6、6…が接続されている。これらの分散機は、それぞれが接続されている分散機グループネットワーク及び基幹ネットワークを経由し、開発系ネットワーク3に接続されるバージョン管理装置1と相互に情報のやりとりを行う。
【0011】
図1は、本発明になるバージョン管理装置の構成例を示すブロック図で、開発系ネットワーク3と入出力機構106を介して接続されている。また、端末装置107も入出力機構106を介して接続されている。開発機2からのプログラム開発に関する情報が入出力機構106から入力されると、これはプログラム管理機能104にて処理され、プログラム履歴管理ファイル101を参照して開発者の改修するベースとなるバージョンのプログラムをプログラムソース蓄積ファイル102から取り出し、入出力機構106、ネットワーク3経由で開発機へ送信する。開発者が改修完了後、前記と同様にネットワーク3及び入出力機構106経由で改修プログラムを送ってくると、プログラム管理機能104は更新を判断し、改修プログラムのバージョンを1つアップして、プログラム履歴管理ファイル101を更新するとともに、改修されたソースプログラムをプログラムソース蓄積ファイル102に登録する。
【0012】
インストール管理者が端末装置107から、今回インストールを予定するプログラムとプログラムのバージョンを入力すると、このデータは入出力制御機構106を経由してインストール対象抽出機能103へ入力される。インストール対象抽出機能103は、このデータを受け取ると、プログラム履歴管理ファイル101から、今回インストール予定のプログラムのバージョンと、インストール対象の分散機で実際に稼動している対応プログラムのバージョン(ネットワーク3及び入出力制御機構106を経由して取得する)とを元にして、関連する全てのプログラムの中でインストールに必要なプログラムと所定のバージョンを抽出し、その中のインストール対象プログラムはインストール対象プログラム蓄積ファイル105に登録される。この登録結果は、入出力制御機構106を経由して端末装置107に表示される。1つの分散機へのインストール対象プログラムが全て抽出され、蓄積ファイル105に蓄積されると、インストールが可能になる。さらに前記と同時に、蓄積ファイル105へは、今回インストール予定の、抽出した全てのプログラムの現在稼動中バージョンのプログラムも蓄積される。
【0013】
図3は、分散機側のインストール管理に関する機能構成例を示すもので、ネットワーク5との情報のやり取りは入出力機構301を介して行われる。図1のインストール対象抽出機能103で分散機のプログラムバージョン取得処理が実行されると、現在稼動中バージョン編集機能302が実行され、実行形式ライブラリ306に登録されているところの全てのプログラムの名称と各々のプログラムバージョンが取り出されて電文に編集され、ネットワーク経由でバージョン管理装置1に送信される。
【0014】
インストール管理者が、端末装置107を使用して、インストール対象プログラム蓄積ファイル105に蓄積されたプログラムを分散機に配信すると、本情報は、ネットワーク5、入出力機構301を介して分散機6へ入力され、プログラム判定機能303により、入力されたプログラムが現在稼動中のプログラムと判定するとその入力プログラムを今回インストール対象となっている現在稼働中プログラム受信ファイル305に蓄積し、入力されたプログラムが今回インストール対象のプログラムと判定するとその入力プログラムを今回インストール対象プログラム受信ファイル304に蓄積する。
【0015】
バージョン管理装置1からのプログラム配信が完了したことを判定機能303で判定すると、現在稼動中プログラム受信ファイル305に蓄積されたプログラムを実行形式プログラム作成機能308に送り、ここで実行形式プログラムを作成し、実行形式になったプログラムを比較用実行形式ライブラリ307に登録する。全て登録が完了すると、現在稼動している実行形式ライブラリ306に登録されているプログラムと比較用実行形式ライブラリ307に登録した実行形式プログラムとを比較判断機能309で比較し、全て比較して等しいと判断すると、ファイル304に蓄積された全ての今回インストール対象プログラムを実行形式プログラム作成機能により実行形式とし、実行形式ライブラリ306に登録する。さらに今回インストールしたプログラムのバージョンを実行形式ライブラリ306に登録したプログラムとともに記憶させる。そしてこれら実行形式としたプログラムのインストールが正常に完了すると、比較判断機能309は、インストール管理者へ正常にインストールが終了したことをネットワーク経由で知らせる。また、2つのライブラリ306、307の実行形式プログラムの比較の結果、1つでも等しくないと判断すると、インストールが失敗したことをインストール管理者に知らせる。さらに比較判断機能309は、実行形式プログラム作成機能308からプログラムを実行形式ライブラリ306へ登録するときにそれが正常に登録されたかをチェックし、異常判断を下すと、先に作成した比較用実行形式ライブラリ307の対応プログラムを異常となった実行形式プログラムに置き換えて再登録する。このときはここでインストール作業を打ち切り、インストールが失敗したことをインストール管理者に知らせる。
【0016】
図4は図1、図3の処理のときに用いる各データのフォーマットである。同図(a)は、分散機6で現在稼動しているプログラムのバージョンをバージョン管理装置1に通知するデータのフォーマットで、どの分散機の情報なのかを示す計算機ID401と、プログラムID402と、分散機に登録され稼動中プログラムのバージョン403から成っている。計算機ID401は、例えば分散機の装置アドレスでもよい。図4(b)は、プログラム履歴管理ファイル101に格納される履歴情報のフォーマットで、プログラムID411、プログラムのバージョン412、当該プログラムが格納されているソース蓄積ファイル102上のアドレス414の他に、本発明の特徴とする変更ID413から成っている。この変更ID413は、プログラム開発者があるプログラムを変更した時、同時に修正しなければならないプログラムに付加する情報であり、開発者の申告により、バージョン管理者が付けるものである。これは、あるプログラムに関連して修正したプログラムを、後になって当該開発担当者以外でも容易に識別できるための必須条件である。
【0017】
図4(c)は、図1のインストール対象抽出機能103にてインストール対象プログラムを抽出したデータのフォーマットで、このフォーマットでプログラムが対象分散機に配布される。このデータフォーマットは、分散機の計算機ID421、今回インストール対象のプログラムID422、今回の対象バージョン423、今回インストールするのか現在稼動中のバージョンであるのかを識別する改修区分424、及びプログラムソース425から成っている。
【0018】
図4(d)は、分散機に対しプログラムのインストールを実施した結果、正常にインストール作業が完了したか否かを当該分散機からバージョン管理装置1へ知らせるデータのフォーマットで、インストール作業を行って分散機の計算機ID431、インストールしたプログラムID432、そのプログラムのバージョン433、インストール対象プログラムか現在稼働中プログラムかの改修区分434、インストール結果の判定435から成る。インストール管理者は本情報を参照し、結果を最終判断する。結果失敗となった場合、改修区分435を参照することにより、今回インストール対象プログラムなのか、現在稼働中のプログラムなのかをすぐに判断できる。
【0019】
図5は、図1のインストール対象抽出機能103の処理を示すフローチャートで、これにより対象プログラムをもれなく抽出することができる。処理が開始すると(ステップ501)、分散機から現在稼働中のプログラムIDとバージョンを図4(a)のデータフォーマットで取り込み(ステップ502)、今回インストールしようとするプログラムのバージョンとステップ502で得たバージョンとを比較する(ステップ503)。この結果、今回インストールするバージョンの方が小さいかまたは等しいときは当該分散機にはインストール済みと判断し、処理を終えるが、インストール予定バージョンの方が大きいと判断した場合は、今回インストール予定したプログラムIDをキーとしてプログラム履歴管理ファイル101を検索し(ステップ504)、そのプログラムの情報があるかを判定する(ステップ505)。この結果、プログラム履歴管理ファイル101に当該プログラムのID及びバージョンがなければ、インストール管理者に異常のあった旨を通知する(ステップ506)。これは、今回インストールするプログラムのバージョン入力の誤り、または、改修ソース登録を誤ったかを示すものであり、重要な処理である。
【0020】
検索している情報があったときは(ステップ505でYES)、今回インストールするプログラムの情報である計算機ID、プログラムID、バージョン、プログラムソース、及び、改修区分を図4(C)に示したフォーマットに従い編集し、インストール対象プログラム蓄積ファイル105に格納する(ステップ507)。ここでプログラムソースは、図4(b)のフォーマットをもつ履歴管理ファイル101から検索した情報のプログラムソースアドレス414をもとに、プログラムソース蓄積ファイル102から取り出す。また、改修区分には改修バージョンであることを記憶させる。次に、現在稼働中プログラムについても図4(C)のフォーマットをもつデータを作成し、これをインストール対象蓄積ファイル105に格納する。このときの改修区分としては、現在稼働中バージョンであることを記憶させる(ステップ508)。
【0021】
次に、今回インストールするバージョンから現在稼働中バージョンまでの関連プログラムを検索するために、まずファイル105に格納したプログラム情報のバージョンをメモリ上のワークエリアへ取り込み、インストールしようとするプログラムバージョンをn、現在稼働中のプログラムのバージョンをnoとする(ステップ509)。そしてn≦n0となるまで、ステップ505で検索したプログラム情報(図4(b)のフォーマットをもつ)の変更ID413と同一の変更IDをもつ他プログラムをプログラム履歴管理ファイル101から全て抽出し、そのプログラムIDとバージョンをワークエリアに格納して、バージョンnを1つ小さくする、という処理を繰り返す(ステップ510〜512)。これにより対象としているプログラムの、インストールバージョンから現在稼働中のよりも1大きいバージョンまでについて、同一変更IDをもつ関連プログラム、即ち現在稼働中より後のバージョンの全てのプログラムバージョンと同時に改修を行ったプログラムが全て抽出できる。
【0022】
しかし、これだけでは不十分である。処理511で抽出したプログラムの中には、更に他のプログラムを同時に改修している可能性があるため、ステップ511で抽出したプログラムの関連プログラムも全て抽出する必要がある。そのためステップ510〜512のループ処理が終わると、今回インストールするのと同じプログラム(バージョンのみが違う)を検索済みに設定し、これらを再度検索しないようにして処理効率の向上をはかる(ステップ513)。そして関連プログラム抽出を行い(ステップ514)、インストール対象プログラム抽出処理を終了する。
【0023】
図6は、図5のステップ514に於る関連プログラム抽出処理の詳細を示すフローチャートで、インストール対象プログラムのいくつかのバージョンに関して同一変更IDをもつプログラム情報が図5のステップ511でワークエリアに格納されているから、まずワークエリア上でプログラムIDを第1キー、バージョンを第2キーとして降順にソートする(ステップ601)。そしてワークエリア上に未検索データがあるかを調べ(ステップ602)、なければ終了するが、あればソート順にプログラムとバージョンを取り出し(ステップ603)、そのプログラムは検索済みかどうかを調べる(ステップ604)。検索済みであればステップ602へ戻り、検索未済みであれば、そのプログラムのバージョンと現在稼働中の同じプログラムのバージョンとを比較し(ステップ605)、現在稼働中バージョンと等しいか又は小さい場合は、そのプログラムを検索済みとし(ステップ606)、ステップ602へ戻るが、大きければワークエリアから取り出したプログラム情報をプログラム履歴管理ファイル101を検索して取り出し(ステップ607)、取り出したプログラム情報をインストール対象プログラム蓄積ファイル105に格納し(ステップ608)、また当該プログラムの現在稼働中プログラム情報を分散機から読み込んで同じ蓄積ファイル105に格納する(ステップ609)。次にファイル105に格納したプログラム情報のバージョンをメモリ上のワークエリアへ取り込み、ステップ607で読み込んだプログラムのバージョンをm、当該プログラムの現在稼働中のもののバージョンをm0とする(ステップ610)。続けてm≦m0となるまで、ステップ607で検索したプログラム情報の変更IDと同じ、変更IDをもつ他のプログラムをプログラム履歴管理ファイル101から全て抽出し、そのプログラムIDとバージョンをワークエリアに格納してmを1減らす、という処理を繰り返す(ステップ611〜613)。これにより、図5の処理で関連プログラムとして検出され、検索済みとされたプログラムの関連プログラムが全て検出される。こうして、ループから抜けると、当該プログラムを検査済みにし(ステップ614)、ステップ601へ戻る。以上を繰り返すことにより、今回インストールすべきプログラム及びバージョンが全て抽出され、図2のインストール対象プログラム蓄積ファイル105に格納される。
【0024】
図7は、図5及び図6のフローによる処理例の説明図で、分散機1にプログラムAのバージョンV1.05をインストールしようとする場合である。同図(A)は、分散機1の現在稼働中プログラムのバージョンを示し、図7(B)は、プログラム履歴管理ファイル101の構成例である。この場合には、プログラムAの現在稼働中バージョンはV1.02であるから、プログラム履歴管理テープル上のプログラムAのバージョンV1.05から、V1.04及びV1.03までの変更IDと同一の変更IDをもつ他のプログラムが、即ち変更ID10、7、及び5をもつ他のプログラムが図5の処理で抽出される。即ち、プログラムBのV1.03(変更ID=10)、プログラムCのV1.03(変更ID=7)が抽出され、ワークエリアには、これらのプログラム、そのバージョン等の情報が格納される。この時点で、プログラムAは改修バージョンとしてV1.05、現在稼働中バージョンとしてV1.02が編集される。
【0025】
次に、プログラムBの現在稼働中バージョンはV1.01であるから、図5の処理で取り出されたプログラムのバージョンはV1.03なので、同プログラムBのV1.03及びV1.02のもつ変更IDと同一の変更IDをもつ他プログラムが図6の処理で抽出されている。即ち、プログラムBのV1.03の変更IDは10であるが、これと同一の変更IDは検索対象外となっているプログラムAのみで、ここでは関連プログラムはないが、プログラムBのV1.02の変更IDは6であるから、プログラムCのV1.01が抽出される。この結果、ワークエリアには、プログラムBのV1.03、プログラムCのV1.02、V1.01が格納される。この時点で、プログラムBは改修バージョンとしてV1.03、現在稼働中バージョンとしてV1.01が編集される。更に、プログラムCについて、その現在稼働中バージョンはV1.00であるから、プログラム履歴管理テーブルのV1.02及びV1.01のプログラムCの履歴中の変更IDと同一の変更IDをもつ他プログラムが図6の処理により抽出される。即ちプログラムCのV1.02の変更IDは7であるがこれと同一の変更IDは検索対象外となったプログラムのみである。またプログラムCのV1.01の変更IDは6であるが、これと同一の変更IDは検索対象外となったプログラムBのみである。こうして新しいプログラムは本例では抽出されない。この時点で、プログラムCは改修バージョンとしてV1.02、現在稼働中バージョンとしてV1.00が編集される。以上のようにして、インストールに必要なプログラムのバージョンは、図7(C)に示すようになる。
【0026】
【発明の効果】
以上説明したように、本発明によれば、インストールしようとするプログラムとインストールしようとするプログラムと関連したプログラムを自動的にもれなく抽出でき、正しいバージョンでインストールを正確にかつ効率よく行えるという効果がある。
【図面の簡単な説明】
【図1】本発明の特徴とするバージョン管理装置の構成例示すブロック図である。
【図2】本発明の分散システムの例である。
【図3】図2の装置におけるインストール管理方法の全体の流れを示す図である。
【図4】図2の装置で用いるデータのフォーマットを示す図である。
【図5】図2の装置におけるインストール対象プログラムの抽出処理を示す図である。
【図6】図2の装置における関連プログラム抽出処理のフローチャートである。
【図7】インストール対象プログラム抽出処理の例の説明図である。
【符号の説明】
1 バージョン管理装置
3 ネットワーク
101 プログラム履歴管理ファイル
102 プログラムソース蓄積ファイル
103 インストール対象抽出機能
104 プログラム管理機能
105 インストール対象プログラム蓄積ファイル
107 端末装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distributed system including a version management device for enabling easy extraction of related programs when installing a version-up program on a computer of the distributed system.
[0002]
[Prior art]
In a large-scale distributed system, distributed machines are grouped and developed in units of distributed machine groups. In the development of one disperser group, each disperser is developed, and the development ends and the production starts. After the start of production, the next disperser is developed and put into production. A large-scale distributed system is constructed by repeating these steps.
In the distributed system constructed in stages as described above, the development of the disperser and the disperser group advances, and the program evolves due to the improvement of the program accompanying the defect handling, the function improvement, the specification change, and the like.
[0003]
When the program of the distributed machine (computer) is updated one after another, management of those versions becomes indispensable. That is, a sequential version is added to each program, and generation management is performed together with the changed contents. Then, when the program is changed and the version is upgraded or several versions are installed, the program is installed on the computer, and the version is gradually updated.
[0004]
Installation based on version management of such a program can be performed only by manual work and judgment. However, when the system becomes large-scale, the work is not easy and a judgment error occurs. Especially in a large-scale distributed system such as plant control, once it is in production, modification is prohibited until the next development, that is, the current version is maintained, and the program is developed to some extent, including the development of programs for other computers in the distributed system. Installation is performed at the end of development. In this case, frequent version updates for one program are often accompanied. Then, the opening of the version becomes large and you have to upgrade to the latest version of all programs. However, this requires enormous man-hours and costs for upgrading. Also, to install only the higher version of the corresponding program, the installation manager and the development staff manually select the program related to the corresponding program, so if the version is too far away, The risk of functional deterioration due to selection failure increases.
[0005]
As a technique for dealing with such a problem, for example, Japanese Patent Laid-Open No. 11-305999 discloses a system for controlling installation using history management information including version information attached to each program. Japanese Patent Application Laid-Open No. 11-134178 also prepares version information of not only the program but also a program related to the program when updating an application program so that the related program can be easily updated at the time of installation. Techniques to do this are disclosed.
[0006]
[Problems to be solved by the invention]
In the technique disclosed in Japanese Patent Laid-Open No. 11-305999, a program related to the program is not taken into consideration when updating the program. In the technique of Japanese Patent Application Laid-Open No. 11-134178, the related program is taken into consideration. However, the update program creator must check the related program and its version in advance to create dependency information, and particularly large-scale distribution. The system developers are unavoidably burdened with the need to collaborate with each other.
[0007]
An object of the present invention is to automatically install a program associated with a newly installed program when attempting to install a program having the same name and a different version as a program installed in a computer of a distributed system constructed in stages. It is an object of the present invention to provide a distributed system having a program version management device for extracting all the necessary information and performing installation accurately and efficiently with a correct version.
[0008]
[Means for Solving the Problems]
The present invention is a distributed system including a version management device for extracting a related other program and updating it at the same time when updating a program on a distributed machine connected to a network. There,
For each program, a program ID for identifying the program, the version of the program, and the installation work when the program is installed at the time of initial installation of the program or at the time of any program update are given. A program history management file having at least a change ID having a unique value;
When a new version program to be updated is given as a new program, the current program having the same program ID as the new program and being used on the distributed machine and the current version are acquired via the network. Acquisition means;
Given the first and second versions of a program, do nothing if the first version is greater than the second version, and if the first version is less than the second version, Related program extracting means for detecting another program having a change ID equal to the change ID of each of the programs having a version larger than the first version and having the first version or lower from the program history management file as an installation target program When,
As the first extraction process, the current version acquired by the current program acquisition unit is set as the first version, the new version is set as the second version, the installation target program is extracted by the related program extraction unit, In the extraction process after the first time, a program having the same program ID is obtained by the current program extraction means for each of the installation target programs extracted by the previous extraction process, and the version of the current program is obtained as the first program. A process for extracting a new installation target program by the related program extracting means using the extracted version of the installation target program as the second version is not newly extracted. And control means for controlling to repeat until,
Is disclosed in the version management apparatus.
[0009]
Furthermore, the present invention provides each of the dispersers in the above distributed system.
A working file for storing the working program transmitted when the working program obtaining means of the version management apparatus obtains the working program and its working version;
When an installation target program for updating the transmitted current file is transmitted, the program of the current file is converted into an executable format file, and this is compared with the executable format file currently used by the disperser. A comparison means;
Control means for controlling to execute installation of the installation target program for update when the comparison result by this means matches;
Disclosed is a distributed system.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the overall configuration of a distributed processing system when the present invention is applied. In FIG. 1,
[0011]
FIG. 1 is a block diagram showing a configuration example of a version management apparatus according to the present invention, which is connected to a
[0012]
When the installation manager inputs from the
[0013]
FIG. 3 shows an example of a functional configuration related to installation management on the distributed machine side, and exchange of information with the
[0014]
When the installation manager uses the
[0015]
When the
[0016]
FIG. 4 shows the format of each data used in the processing of FIGS. FIG. 6A shows a data format for notifying the
[0017]
FIG. 4C shows a data format in which the installation target program is extracted by the installation target extraction function 103 shown in FIG. 1, and the program is distributed to the target dispersion machines in this format. This data format includes a
[0018]
FIG. 4 (d) shows the result of installing the program in the data format informing the
[0019]
FIG. 5 is a flowchart showing the processing of the installation target extraction function 103 shown in FIG. 1, and the target program can be extracted without fail. When processing is started (step 501), the currently running program ID and version are fetched from the disperser in the data format of FIG. 4A (step 502), and the version of the program to be installed this time and the
[0020]
If there is information being searched (YES in step 505), the computer ID, program ID, version, program source, and modification classification, which are the information of the program to be installed this time, are in the format shown in FIG. Are edited and stored in the installation target program storage file 105 (step 507). Here, the program source is extracted from the program
[0021]
Next, in order to search for related programs from the version to be installed this time to the currently running version, first, the program information version stored in the
[0022]
However, this is not enough. Among the programs extracted in the process 511, there is a possibility that other programs may be modified at the same time. Therefore, it is necessary to extract all the related programs of the program extracted in the step 511. For this reason, when the loop processing of
[0023]
FIG. 6 is a flowchart showing details of the related program extraction process in step 514 of FIG. 5, and program information having the same change ID for several versions of the installation target program is stored in the work area in step 511 of FIG. Therefore, the program ID is first sorted in descending order on the work area with the program ID as the first key and the version as the second key (step 601). Then, it is checked whether there is unsearched data in the work area (step 602). If not, the process ends. If there is, the program and version are extracted in the sort order (step 603), and it is checked whether the program has been searched (step 604). ). If the search has been completed, the process returns to step 602. If the search has not been completed, the version of the program is compared with the version of the same program currently in operation (step 605). The program is already searched (step 606), and the process returns to step 602. If it is larger, the program
[0024]
FIG. 7 is an explanatory diagram of a processing example according to the flow of FIGS. 5 and 6, and shows a case where the version V1.05 of the program A is to be installed in the distributed
[0025]
Next, since the currently operating version of program B is V1.01, the version of the program extracted in the process of FIG. 5 is V1.03, so the change IDs V1.03 and V1.02 of the program B have Other programs having the same change ID are extracted in the process of FIG. That is, the change ID of V1.03 of program B is 10, but the same change ID is only program A that is not subject to search, and there is no related program here, but V1.02 of program B Since the change ID is 6, V1.01 of program C is extracted. As a result, V1.03 of program B, V1.02 and V1.01 of program C are stored in the work area. At this point, the program B is edited as V1.03 as the modified version and V1.01 as the currently active version. Further, since the currently active version of program C is V1.00, another program having the same change ID as the change ID in the history of the program C of V1.02 and V1.01 in the program history management table is present. Extracted by the process of FIG. That is, the change ID of V1.02 of program C is 7, but the same change ID is only the program that is excluded from the search target. The change ID of program C V1.01 is 6, but the same change ID is only program B that is not subject to search. Thus, no new program is extracted in this example. At this time, the program C is edited with V1.02 as the modified version and V1.00 as the currently operating version. As described above, the version of the program necessary for installation is as shown in FIG.
[0026]
【The invention's effect】
As described above, according to the present invention, it is possible to automatically extract a program to be installed and a program related to the program to be installed, and there is an effect that the correct version can be installed accurately and efficiently. .
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a version management apparatus that is a feature of the present invention;
FIG. 2 is an example of a distributed system of the present invention.
FIG. 3 is a diagram showing an overall flow of an installation management method in the apparatus of FIG. 2;
4 is a diagram showing a data format used in the apparatus of FIG. 2; FIG.
FIG. 5 is a diagram showing extraction processing of an installation target program in the apparatus of FIG. 2;
6 is a flowchart of related program extraction processing in the apparatus of FIG. 2;
FIG. 7 is an explanatory diagram of an example of installation target program extraction processing;
[Explanation of symbols]
DESCRIPTION OF
Claims (2)
各プログラム毎に、当該プログラムを識別するためのプログラムIDと、当該プログラムのバージョンと、当該プログラムの初期インストール時あるいはいずれかのプログラム更新時に当該プログラムがインストールされた時にそのインストール作業に対して付与される固有の値を持つ変更IDとを少なくとも有するプログラム履歴管理ファイルと、
更新しようとする新バージョンのプログラムが新プログラムとして与えられたときに、当該新プログラムと同一プログラムIDをもち且つ分散機上で使用中の現用プログラムとその現用バージョンとをネットワーク経由で取得する現用プログラム取得手段と、
1つのプログラムの第1及び第2バージョンが与えられたときに、もし第1バージョンの方が第2バージョンより大きいときは何もせず、もし第1バージョンの方が第2バージョンより小さいときは、第1バージョンより大きく第1バージョンもしくはそれ以下のバージョンをもつ当該プログラムの各々の前記変更IDと等しい変更IDをもつ他プログラムを前記プログラム履歴管理ファイルから検出してインストール対象プログラムとする関連プログラム抽出手段と、
第1回目の抽出処理として、前記現用プログラム取得手段により取得された現用バージョンを前記第1バージョンとし、前記新バージョンを前記第2バージョンとして前記関連プログラム抽出手段によりインストール対象プログラムを抽出し、第2回目以降の抽出処理においては、前回の抽出処理によって抽出されたインストール対象プログラムの各々に対し、同一プログラムIDをもつプログラムを前記現用プログラム抽出手段により取得してその現用プログラムのバージョンを前記第1のバージョンとし、前記抽出されたインストール対象プログラムのバージョンを前記第2バージョンとして前記関連プログラム抽出手段により新にインストール対象プログラムを抽出する、という処理をインストール対象プログラムが新たに抽出されなくなるまで繰り返すように制御する制御手段と、
を前記バージョン管理装置に設けたことを特徴とする分散システム。A distributed system comprising a version management device for extracting other related programs along with the program update when updating a program on a distributed machine connected to a network,
For each program, a program ID for identifying the program, the version of the program, and the installation work when the program is installed at the time of initial installation of the program or at the time of any program update are given. A program history management file having at least a change ID having a unique value;
When a new version program to be updated is given as a new program, the current program having the same program ID as the new program and being used on the distributed machine and the current version are acquired via the network. Acquisition means;
Given the first and second versions of a program, do nothing if the first version is greater than the second version, and if the first version is less than the second version, Related program extracting means for detecting another program having a change ID equal to the change ID of each of the programs having a version larger than the first version and having the first version or lower from the program history management file as an installation target program When,
As the first extraction process, the current version acquired by the current program acquisition unit is set as the first version, the new version is set as the second version, the installation target program is extracted by the related program extraction unit, In the extraction process after the first time, a program having the same program ID is obtained by the current program extraction means for each of the installation target programs extracted by the previous extraction process, and the version of the current program is obtained as the first program. A process for extracting a new installation target program by the related program extracting means using the extracted version of the installation target program as the second version is not newly extracted. And control means for controlling to repeat until,
Is provided in the version management apparatus.
前記バージョン管理装置の現用プログラム取得手段が現用プログラムとその現用バージョンを取得したときに送信した現用プログラムを格納する現用ファイルと、
その送信した現用ファイルを更新するためのインストール対象プログラムが送信されてきたときに前記現用ファイルのプログラムを実行形式ファイルに変換し、これと当該分散機で現用されている実行形式ファイルとを比較する比較手段と、
この手段による比較結果が一致したとき、更新のためのインストール対象プログラムのインストールを実行するように制御する制御手段と、
を設けたことを特徴とする分散システム。The distributed system of claim 1, wherein each of the dispersers is
A working file for storing the working program transmitted when the working program obtaining means of the version management apparatus obtains the working program and its working version;
When an installation target program for updating the transmitted current file is transmitted, the program of the current file is converted into an executable format file, and this is compared with the executable format file currently used by the disperser. A comparison means;
Control means for controlling to execute installation of the installation target program for update when the comparison result by this means matches;
A distributed system characterized by providing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000044016A JP3741581B2 (en) | 2000-02-22 | 2000-02-22 | Distributed system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000044016A JP3741581B2 (en) | 2000-02-22 | 2000-02-22 | Distributed system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001236211A JP2001236211A (en) | 2001-08-31 |
JP3741581B2 true JP3741581B2 (en) | 2006-02-01 |
Family
ID=18566847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000044016A Expired - Lifetime JP3741581B2 (en) | 2000-02-22 | 2000-02-22 | Distributed system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3741581B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079546A (en) * | 2008-09-25 | 2010-04-08 | Hitachi Software Eng Co Ltd | Program distribution updating system |
JP5359911B2 (en) * | 2010-02-08 | 2013-12-04 | 株式会社リコー | Information processing system, information processing apparatus, management apparatus, installation processing method, program, and storage medium |
JP5921292B2 (en) | 2012-04-03 | 2016-05-24 | キヤノン株式会社 | Information processing apparatus, control method, and program |
-
2000
- 2000-02-22 JP JP2000044016A patent/JP3741581B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001236211A (en) | 2001-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2210183B1 (en) | Managing updates to create a virtual machine facsimile | |
US7624394B1 (en) | Software installation verification | |
US7343401B2 (en) | Remote maintenance apparatus, terminal connected to the apparatus and computer readable medium for realizing the apparatus and the terminal | |
US8312446B2 (en) | Dependency management when upgrading application components | |
KR19990023214A (en) | Database facilitating software installation and testing for custom computer systems | |
KR19990023213A (en) | Software installation and test method and system for customized computer system | |
KR19990023212A (en) | Software installation and test method and system for customized computer system | |
US20150142764A1 (en) | Language tag management on international data storage | |
US6615406B1 (en) | Apparatus for use in the manufacture of a computer system | |
US6948059B1 (en) | Component loader for industrial control device providing resource search capabilities | |
US6279155B1 (en) | Method of installing software on and/or testing a computer system | |
CN115543429A (en) | Project environment building method, electronic equipment and computer readable storage medium | |
JP3741581B2 (en) | Distributed system | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
JP5109676B2 (en) | Program, method and computer system for ensuring data integrity | |
Weyns et al. | Codifying architecture knowledge to support online evolution of software product lines | |
JP2006302066A (en) | Maintenance system with remote execution function and method therefor | |
JP2003316581A (en) | Software installation device | |
GB2353373A (en) | A method of installing software on and/or testing a computer system which includes checks for compatibility | |
CN113050926A (en) | Method, device and equipment for confirming synchronous change of codes | |
JP3295930B2 (en) | Executing program management method and apparatus, and recording medium | |
US20230259345A1 (en) | Declarative deployment of a software artifact | |
JP2000250742A (en) | Software configuration managing device and software configuration managing method | |
CN117311766A (en) | Embedded Linux operating system and component update management method thereof | |
CN118069245A (en) | Server installation method, device, equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20051101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3741581 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131118 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |