JP3741581B2 - Distributed system - Google Patents

Distributed system Download PDF

Info

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
Application number
JP2000044016A
Other languages
Japanese (ja)
Other versions
JP2001236211A (en
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 JP2000044016A priority Critical patent/JP3741581B2/en
Publication of JP2001236211A publication Critical patent/JP2001236211A/en
Application granted granted Critical
Publication of JP3741581B2 publication Critical patent/JP3741581B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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, development machines 2, 2... For developing a program and a version management device 1 for managing the program are connected to the development network 3, and the program is connected via the development network 3. Take out, modify, and register. .. Are connected to the backbone network 4 in stages, and distributed machines 6, 6... Are connected to the networks of each distributed machine group. These distributed machines exchange information with the version management apparatus 1 connected to the development network 3 via the distributed machine group network and the backbone network to which the distributed machines are connected.
[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 development network 3 via an input / output mechanism 106. A terminal device 107 is also connected via an input / output mechanism 106. When information related to program development from the development machine 2 is input from the input / output mechanism 106, this is processed by the program management function 104, and the version of the version to be modified by the developer with reference to the program history management file 101 is read. The program is extracted from the program source storage file 102 and transmitted to the development machine via the input / output mechanism 106 and the network 3. When the developer completes the renovation and sends the refurbishment program via the network 3 and the input / output mechanism 106 in the same manner as described above, the program management function 104 determines the update and updates the refurbishment program version by one. The history management file 101 is updated, and the modified source program is registered in the program source storage file 102.
[0012]
When the installation manager inputs from the terminal device 107 the program to be installed this time and the version of the program, this data is input to the installation target extraction function 103 via the input / output control mechanism 106. Upon receiving this data, the installation target extraction function 103 receives, from the program history management file 101, the version of the program scheduled to be installed this time and the version of the corresponding program actually running on the distribution target installation machine (network 3 and input). The program and the predetermined version required for installation are extracted from all related programs based on the information obtained from the output control mechanism 106), and the installation target program therein is the installation target program storage file. 105 is registered. The registration result is displayed on the terminal device 107 via the input / output control mechanism 106. When all the installation target programs in one distributed machine are extracted and stored in the storage file 105, the installation can be performed. Further, at the same time, the currently running version of all extracted programs scheduled to be installed this time is also stored in the storage file 105.
[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 network 5 is performed via the input / output mechanism 301. When the distribution target program version acquisition process is executed by the installation target extraction function 103 in FIG. 1, the currently active version editing function 302 is executed, and the names of all programs registered in the execution format library 306 are displayed. Each program version is extracted, edited into a message, and transmitted to the version management apparatus 1 via the network.
[0014]
When the installation manager uses the terminal device 107 to distribute the program stored in the installation target program storage file 105 to the distributed machine, this information is input to the distributed machine 6 via the network 5 and the input / output mechanism 301. When the program determination function 303 determines that the input program is a currently operating program, the input program is stored in the currently operating program reception file 305 that is the current installation target, and the input program is installed this time. If the target program is determined, the input program is stored in the current installation target program reception file 304.
[0015]
When the determination function 303 determines that the program distribution from the version management apparatus 1 is completed, the program stored in the currently running program reception file 305 is sent to the execution format program creation function 308, where the execution format program is created. The program in the execution format is registered in the comparison execution format library 307. When all the registrations are completed, the program registered in the currently executed execution format library 306 and the execution format program registered in the comparison execution format library 307 are compared by the comparison determination function 309. When the determination is made, all the current installation target programs stored in the file 304 are converted into execution formats by the execution format program creation function and registered in the execution format library 306. Further, the version of the program installed this time is stored together with the program registered in the execution format library 306. When the installation of the program in the execution format is normally completed, the comparison / determination function 309 notifies the installation manager via the network that the installation has been completed normally. If it is determined that even one of the execution format programs of the two libraries 306 and 307 is not equal, the installation manager is informed that the installation has failed. Further, the comparison determination function 309 checks whether or not the program is registered normally when the program is registered in the execution format library 306 from the execution format program creation function 308. Replace the corresponding program in the library 307 with the executable program that has become abnormal, and re-register it. At this time, the installation operation is stopped here, and the installation manager is notified that the installation has failed.
[0016]
FIG. 4 shows the format of each data used in the processing of FIGS. FIG. 6A shows a data format for notifying the version management apparatus 1 of the version of the program currently running on the distribution machine 6, a computer ID 401 indicating which distribution machine information, a program ID 402, and a distribution It consists of version 403 of the program that is registered and running on the machine. The computer ID 401 may be a device address of a distributed machine, for example. FIG. 4B shows the format of history information stored in the program history management file 101. In addition to the program ID 411, the program version 412, and the address 414 on the source accumulation file 102 where the program is stored, It consists of a change ID 413 which is a feature of the invention. This change ID 413 is information added to a program that must be corrected at the same time when a program developer changes a program, and is given by the version manager by the developer's declaration. This is an indispensable condition for allowing a program modified in relation to a certain program to be easily identified later by a person other than the developer.
[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 computer ID 421 of the distributed machine, a program ID 422 to be installed this time, a current version 423 to be installed, a modification category 424 for identifying whether the current installation is the currently installed version, and a program source 425. Yes.
[0018]
FIG. 4 (d) shows the result of installing the program in the data format informing the version management apparatus 1 from the distributed machine whether or not the installation work has been normally completed as a result of the program being installed on the distributed machine. It consists of a computer ID 431 of the distributed machine, an installed program ID 432, a version 433 of the program, a modification category 434 indicating whether the program is an installation target program or a currently running program, and an installation result determination 435. The installation manager refers to this information and makes a final decision on the result. If the result is a failure, it is possible to immediately determine whether the program is the current installation target program or the currently running program by referring to the modification category 435.
[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 version 502 are obtained. The version is compared (step 503). As a result, if the version to be installed this time is smaller or equal, it is determined that the installed on the distributed machine is finished, and the process is completed. If it is determined that the version to be installed is larger, the program that is scheduled to be installed this time The program history management file 101 is searched using the ID as a key (step 504), and it is determined whether there is information on the program (step 505). As a result, if the program history management file 101 does not have the ID and version of the program, the installation manager is notified of the abnormality (step 506). This indicates whether the version input of the program to be installed this time is wrong or the modification source registration is wrong, and is an important process.
[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 source storage file 102 based on the program source address 414 of the information retrieved from the history management file 101 having the format of FIG. Further, it is memorized that the modified version is the modified version. Next, data having the format shown in FIG. 4C is also created for the currently running program and stored in the installation target accumulation file 105. At this time, it is stored that the version is currently in operation (step 508).
[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 file 105 is fetched into a work area on the memory, and the program version to be installed is set to n, The version of the currently running program is set to no (step 509). Until n ≦ n0, all other programs having the same change ID as the change ID 413 of the program information (having the format of FIG. 4B) retrieved in step 505 are extracted from the program history management file 101. The process of storing the program ID and version in the work area and reducing the version n by one is repeated (steps 510 to 512). As a result, for the target program from the installed version to the version that is one higher than the currently operating version, the related program with the same change ID, that is, all the program versions of the version later than the currently operating version were repaired at the same time. All programs can be extracted.
[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 steps 510 to 512 is completed, the same program (only the version is different) that is installed this time is set as searched, and these are not searched again to improve the processing efficiency (step 513). . Then, related program extraction is performed (step 514), and the installation target program extraction processing is terminated.
[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 history management file 101 is searched for and extracted from the work area (step 607), and the extracted program information is installed. The program is stored in the program accumulation file 105 (step 608), and the currently running program information of the program is read from the disperser and stored in the same accumulation file 105 (step 609). Next, the version of the program information stored in the file 105 is taken into the work area on the memory, the version of the program read in step 607 is set to m, and the version of the program currently in operation is set to m0 (step 610). Then, until m ≦ m0, all other programs having the same change ID as the program information change ID searched in step 607 are extracted from the program history management file 101, and the program ID and version are stored in the work area. Then, the process of reducing m by 1 is repeated (steps 611 to 613). As a result, all the related programs detected as related programs in the process of FIG. 5 and searched for are detected. Thus, when exiting the loop, the program is inspected (step 614), and the process returns to step 601. By repeating the above, all the programs and versions to be installed this time are extracted and stored in the installation target program storage file 105 in FIG.
[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 machine 1. FIG. 7A shows the version of the currently running program of the distributed machine 1, and FIG. 7B shows a configuration example of the program history management file 101. In this case, since the currently operating version of program A is V1.02, the same change ID as the change ID from version V1.05 of program A on the program history management table to V1.04 and V1.03 Other programs having IDs, that is, other programs having change IDs 10, 7, and 5 are extracted in the process of FIG. That is, V1.03 (change ID = 10) of program B and V1.03 (change ID = 7) of program C are extracted, and information such as these programs and their versions are stored in the work area. At this time, the program A is edited with V1.05 as the modified version and V1.02 as the currently operating version.
[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 SYMBOLS 1 Version management apparatus 3 Network 101 Program history management file 102 Program source accumulation file 103 Installation object extraction function 104 Program management function 105 Installation object program accumulation file 107 Terminal apparatus

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.
請求項1の分散システムにおいて、分散機の各々に、
前記バージョン管理装置の現用プログラム取得手段が現用プログラムとその現用バージョンを取得したときに送信した現用プログラムを格納する現用ファイルと、
その送信した現用ファイルを更新するためのインストール対象プログラムが送信されてきたときに前記現用ファイルのプログラムを実行形式ファイルに変換し、これと当該分散機で現用されている実行形式ファイルとを比較する比較手段と、
この手段による比較結果が一致したとき、更新のためのインストール対象プログラムのインストールを実行するように制御する制御手段と、
を設けたことを特徴とする分散システム。
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
JP2000044016A 2000-02-22 2000-02-22 Distributed system Expired - Lifetime JP3741581B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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