(57)【特許請求の範囲】
【請求項１】
分散システムにおける遠隔システムまたは端末に対し，入替え用に生成されたまたは変更された１または複数のモジュールを，送信モジュールとして送信する場合に，送信漏れをチェックする変更モジュールチェック装置であって，
モジュール間のモジュール構成要素に関する使用関係から，変更対象モジュールに関連して変更が必須である必須モジュール情報および変更が必要となる可能性がある推奨モジュール情報を自動的に抽出するとともに，それらの各モジュールの送信先である端末の特性に関する情報を入力し，変更対象となる各モジュールごとに前記必須モジュール情報および前記推奨モジュール情報と，送信対象となるモジュールの送信先である端末の特性に関する情報とを含むモジュールの関連ルールを生成する関連ルール生成手段と，
前記関連ルール生成手段によって生成されたモジュールの関連ルールを記憶する関連ルール記憶手段と，
前記関連ルールをもとに，送信対象の端末へ送信すべき１または複数のモジュールを送信先ごとに定義した送信バージョン情報を生成する送信バージョン情報生成手段と，
前記送信バージョン情報生成手段によって生成した送信バージョン情報をもとに，送信が必要とされる変更対象モジュールおよびその関連モジュールがすべて前記送信モジュールに含まれているかどうかを検査する送信モジュール検査手段とを備える
ことを特徴とする変更モジュールチェック装置。
【請求項２】
請求項１記載の変更モジュールチェック装置において，
前記関連ルールをもとに，変更対象モジュールに関連して変更が必要とされる関連モジュールを検索する対象モジュール検索手段と，
前記変更対象モジュールおよび前記対象モジュール検索手段により検索された関連モジュールが，実際に変更されているかどうかを判定する変更確認手段とを備える
ことを特徴とする変更モジュールチェック装置。
【請求項３】
請求項１または請求項２に記載の変更モジュールチェック装置において，
前記関連ルールは，前記送信対象となるモジュールの送信先である端末の特性に対する当該モジュールのコンパイル・オプションの情報を含み，
前記送信モジュール検査手段は，さらに前記端末の特性に応じたコンパイル・オプションの正当性を検査する手段を備える
ことを特徴とする変更モジュールチェック装置。
【請求項４】
分散システムにおける遠隔システムまたは端末に対し，入替え用に生成されたまたは変更された１または複数のモジュールを，送信モジュールとして送信する場合に，送信漏れをチェックする変更モジュールチェック装置を構成するコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能なプログラム記憶媒体であって，
モジュール間のモジュール構成要素に関する使用関係から，変更対象モジュールに関連して変更が必須である必須モジュール情報および変更が必要となる可能性がある推奨モジュール情報を自動的に抽出するとともに，それらの各モジュールの送信先である端末の特性に関する情報を入力し，変更対象となる各モジュールごとに前記必須モジュール情報および前記推奨モジュール情報と，送信対象となるモジュールの送信先である端末の特性に関する情報とを含むモジュールの関連ルールを生成し，生成した関連ルールを関連ルール記憶手段に記憶させる関連ルール生成処理と，
前記関連ルール記憶手段が記憶する関連ルールをもとに，送信対象の端末へ送信すべき１または複数のモジュールを送信先ごとに定義した送信バージョン情報を生成する送信バージョン情報生成処理と，
前記送信バージョン情報生成処理によって生成した送信バージョン情報をもとに，送信が必要とされる変更対象モジュールおよびその関連モジュールがすべて前記送信モジュールに含まれているかどうかを検査する送信モジュール検査処理とを，コンピュータに実行させるプログラムを格納した
ことを特徴とする変更モジュールチェック装置のプログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，モジュールの入替え／更新を行う場合に，変更漏れやリモートメンテナンスにおける送信漏れをチェックし防止する変更モジュールチェック装置およびそのプログラム記憶媒体に関する。
【０００２】
離れた場所にある別システムに対し，モジュールの入替え／変更を行う際に，通常は単一のモジュールを一つだけ変更する場合よりも，そのモジュールと関連する複数のモジュールを同時に変更することになる場合が多い。本発明は，そのときのために，あらかじめモジュール間の関連性を登録しておき，モジュールの変更時にチェックを行い，関連性があるにもかかわらず変更が漏れてしまうケースや，変更はしたけれども送信が漏れてしまうケースが生じるのを防止するものである。
【０００３】
【従来の技術】
近年，例えばクライアント・サーバ型の分散システムがかなり普及し，企業の各拠点に分散コンピュータとして配置されるケースが多くなっている。しかも，最近では，企業の本業部分をシステムで対応するような基幹システムについても，このようなクライアント・サーバ型システムで構築されつつある。特に，この種の分散環境のシステムでは，仕様の変更や障害発生によるモジュールの変更の際に，変更漏れや変更モジュールの送信漏れを防ぐ技術が重要である。
【０００４】
従来，分散システムの運用管理として，遠隔地のコンピュータのシステム変更やモジュールの入替えは，リモート・メンテナンス・システムで行っていた。しかし，従来のリモート・メンテナンス・システムでは，システムを更新するためのデータ（モジュール群）を送信し，単にその送信結果を確認するだけで，その送信した変更対象データの正当性をチェックすることはなかった。
【０００５】
【発明が解決しようとする課題】
したがって，例えば複数のモジュールを変更して送信する場合に，一部のモジュールに変更漏れがあるのを気付かずにそのまま送信したり，または，必要なデータ（モジュール群）が送信漏れになっていたり，というようなエラーが生じることがあった。このような間違いはヒューマンエラーの問題として，これをなくすことが操作上の課題となっていた。
【０００６】
本発明は，変更したモジュールを送信する場合にモジュールの変更漏れもしくは送信漏れを防ぐために，各端末宛の送信モジュールについて，変更対象モジュールが変更済みであるかどうか，または，送信に必要なモジュールが全て揃っているかどうかをチェックすることにより，システムの信頼性の向上およびオペレーションの負荷軽減に寄与することを目的とする。
【０００７】
【課題を解決するための手段】
図１は，本発明の原理ブロック図である。図中，１はＣＰＵおよびメモリ等からなるセンターの処理装置，２はモジュール・ライブラリ，３は関連ルール記憶部，４は送信モジュール，５は送信バージョン情報，１１は対象モジュール検索手段，１２は変更確認手段，１３は送信モジュール検査手段，１４は関連ルール生成手段，１５は送信バージョン情報生成手段を表す。
【０００８】
モジュール・ライブラリ２は，変更対象となるモジュールのライブラリである。関連ルール記憶部３は，変更に関するモジュール間の関係を表すモジュール情報または変更モジュールを送信するメンテナンス対象のシステムもしくは端末に関する対象システム情報を格納する関連ルール・ファイルを記憶する手段である。
【０００９】
モジュール情報には，例えば，変更対象モジュール毎に，その変更に関連して必ず変更が必要な必須モジュール名，変更によって影響を受ける可能性の大きい推奨モジュール，特性情報等が登録される。特性情報は，変更対象モジュール毎に定義される情報であり，例えば，その変更対象モジュールが実行される端末の特性に関する情報や，実行される端末の種類毎にコンパイル・オプションの種類や，モジュールを格納するファイル形式等を定義する。
【００１０】
対象システム情報には，変更対象となるシステム名，そのシステムの特性，システムを構成する端末名，その端末特性等が定義される。端末特性は，例えば，端末のＣＰＵの種類，実行されるＯＳの種類等である。
【００１１】
送信モジュール４は，送信先となる各端末に対し送信する１または複数の変更されたモジュールである。
送信バージョン情報５は，送信先となる端末毎に送信すべき変更対象モジュール名を定義した情報である。送信バージョン情報５は，予め用意されたのを使用してもよく，また，リモート・メンテナンス・プログラム等による送信バージョン情報生成手段１５により生成されたものでもよい。
【００１２】
対象モジュール検索手段１１は，モジュール・ライブラリ２の変更対象モジュールを入力として用いて，関連ルール記憶部３に記憶された関連ルール・ファイルのモジュール情報から，必須モジュールもしくは推奨モジュールまたはその両方，および変更に関する特性情報，特性手続を検索する手段である。
【００１３】
変更確認手段１２は，対象モジュール検索手段１１で検索された変更対象モジュールに関連する必須／推奨モジュールのその時点でのサイズおよび最終更新日付と，変更処理に係る修正トランザクションの完成品ライブラリ（変更済みモジュール）のサイズおよび最終更新日付とを比較し，変更対象モジュールが変更されているかどうかを判定する手段である。
【００１４】
送信モジュール検査手段１３は，送信バージョン情報５を用いて，送信が必要とされる変更対象モジュールおよびその必須／推奨モジュールのすべてが，送信モジュール４に含まれているかどうかを検査する手段である。
【００１５】
関連ルール生成手段１４は，各モジュールの言語毎に用意したツールにより，変更対象モジュール毎に，モジュール間の使用関係に基いて必須モジュールまたは推奨モジュールを抽出し，関連ルールのモジュール情報を自動的に生成する手段である。
【００１６】
例えばＣＯＢＯＬ言語で生成されたシステムでは，ＣＯＰＹ句等の使用関係，サブルーチンの使用関係等を用いて，変更対象モジュールの変更に伴い必ず変更が必要になる必須モジュール，および変更対象モジュールの変更に伴い変更が必要になる可能性の大きい推奨モジュールを抽出する。データ項目のＣＯＰＹ句を修正した場合，そのＣＯＰＹ句を使用している全てのプログラムの再コンパイルが必要であり，そのＣＯＰＹ句の変更対象モジュールに対して，そのＣＯＰＹ句を使用している全てのプログラム・モジュールが必須モジュールとして抽出され定義される。
【００１７】
また，オブジェクト指向言語で生成されたシステムでは，継承関係等を用いて，親オブジェクトの使用関係にあるモジュールを必須モジュールとし，子オブジェクトの使用関係にあるモジュールを推奨モジュールとする。モジュール同士の関係を表すものであれば，他の関係を用いてもよい。
【００１８】
送信バージョン情報生成手段１５は，関連ルール記憶部３に記憶される関連ルール・ファイルのモジュール情報および対象システム情報から，送信モジュール４の送信に必要な送信バージョン情報５を自動的に生成する手段である。
【００１９】
本発明の動作は，以下の通りである。
モジュールの変更処理が終了した完成品ライブラリ（モジュール群）を送信モジュールとして所定の各端末に送信する場合に，対象モジュール検索手段１１は，変更対象モジュールをもとに，関連ルール記憶部３に記憶されたモジュール情報から必須／推奨モジュールを検索する。
【００２０】
変更確認手段１２は，検索された変更対象モジュールおよびその必須／推奨モジュールの，変更前の時点でのバイト・サイズおよび最終更新日付と，修正トランザクションの変更処理されたモジュールのバイト・サイズおよび最終更新日時とを比較して，変更処理したモジュールが，確かに変更処理されているかどうかを判定する。判定の結果，変更処理がされていない必須モジュールがある場合には，例えば，ＮＧメッセージを返して，オペレータに変更漏れ等を知らせる。
【００２１】
また，変更処理がされていない推奨モジュールがある場合には，例えば警告メッセージを返して，ユーザが変更の要／不要を確認できるような表示および処理を行う。すなわち，推奨モジュールの場合には，常に変更が必要であるとは限らないので，警告メッセージを返して，ユーザの判断を待つようにする。これにより，同時に変更処理が必要なモジュールを細かく判断でき，変更漏れ防止を図ることが可能となる。
【００２２】
さらに，送信モジュール検査手段１３は，送信バージョン情報５を用いて，送信モジュール４に送信すべきモジュールがすべて揃っているか，または送信モジュールが適正な形式でコンパイルされたものであるかを判定する。送信モジュール４の中に，送信すべきモジュールが不足していたり，または不適切なコンパイル・オプション等によりコンパイルされたモジュールが存在する場合には，それが必須モジュールであれば，ＮＧのメッセージを表示する処理を行い，推奨モジュールであれば警告メッセージを表示する処理を行う。これにより，送信漏れを防止し，また，送信モジュール４の正当性を保証することが可能となる。
【００２３】
なお，変更確認手段１２による変更漏れ確認の処理および送信モジュール検査手段１３による送信漏れ／送信モジュールの正当性チェックの処理は，同時に行い，その結果に対してＮＧまたは警告メッセージを返すようにしてもよい。
【００２４】
以上の各処理手段をコンピュータによって実現するためのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記憶媒体に格納することができる。
【００２５】
【発明の実施の形態】
以下，本発明の実施の一形態を説明する。
図２は，関連ルール・ファイルの構成例を示す図である。図２（ａ）は，関連ルール・ファイルのうちモジュール情報の例を示し，図２（ｂ）は，関連ルール・ファイルのうち対象システム情報の例を示す。
【００２６】
図２（ａ）のモジュール情報は，変更対象モジュール毎に必須モジュール，推奨モジュール，特定情報，特性手続等の情報からなる。必須モジュールには，変更対象モジュールの変更に伴い，変更が必要なモジュール名を登録する。推奨モジュールには，変更対象モジュールが変更された場合に，変更する必要が生ずるモジュールまたは変更した方が望ましいモジュール名を登録する。
【００２７】
特性情報には，変更対象モジュールの送信先である端末の特性情報，例えば，端末のＣＰＵや機種等の端末環境，ＯＳの種別等を登録する。特性手続には，各変更対象モジュール毎に定義される種々の特性を登録する。例えば，各変更対象モジュールが，特性情報で定義された端末特性において，どのようなコンパイル・オプションを使用するかなどを登録する。なお，必須／推奨モジュール情報は，関連ルール生成手段１４により自動生成することができる。
【００２８】
図２（ａ）に示すモジュール情報では，変更対象のＭＯＤＵＬＥ−１について変更する場合には，ＭＯＤＵＬＥ−Ａ，ＭＯＤＵＬＥ−Ｂを必ず変更する必要があり，ＭＯＤＵＬＥ−Ｃを変更することが望ましく，かつ，変更対象ＭＯＤＵＬＥ−１は，端末特性Ｐを持つ端末を送信先とする場合にはＯＰＴ−Ｐのコンパイル・オプションにより，また，端末特性Ｑを持つ端末を送信先とする場合には，ＯＰＴ−Ｑのコンパイル・オプションにより，変更したモジュールをコンパイルすることを指示する情報が登録されている。
【００２９】
図２（ｂ）の対象システム情報には，変更したモジュールを送信する各システム名，そのシステムの端末名および端末特性等が登録される。
図３は，送信バージョン情報の構成例を示す。
【００３０】
図３に示す送信バージョン情報には，送信モジュールを送信する際に，各送信先のシステムまたは端末毎に，どの変更対象モジュールを送信するかを登録する。なお，送信バージョン情報は，リモート・メンテナンス・プログラム等の送信バージョン情報生成手段１５により生成される。
【００３１】
図３に示す送信バージョン情報では，ＳＹＳＴＥＭ１の端末ＴＥＲＭ１に対し，変更対象モジュールＭＯＤＵＬＥ−１Ｐ（ＭＯＤＵＬＥ−１のＰ形式），ＭＯＤＵＬＥ−Ａ，ＭＯＤＵＬＥ−ＢおよびＭＯＤＵＬＥ−Ｃを送信するように登録している。ここで，モジュール情報および対象システム情報から，ＴＥＲＭ１は端末特性Ｐ，かつ端末特性Ｐに対するコンパイル・オプションはＯＰＴ−Ｐであるので，端末ＴＥＲＭ１に対してはＭＯＤＵＬＥ−１をＯＰＴ−Ｐのコンパイル・オプションでコンパイルしたＭＯＤＵＬＥ−１Ｐを送信するよう登録している。
【００３２】
図４（ａ）は，ＳＹＳＴＥＭ１のＴＥＲＭ１に対する送信モジュールの例，図４（ｂ）は，ＳＹＳＴＥＭ１のＴＥＲＭ２に対する送信モジュールの例を示す。送信モジュール検査手段１３は，図３の送信バージョン情報と，これら送信モジュールの内容が同一であるかどうかを検査して，送信モジュールの過不足および変更対象モジュールのコンパイル・オプション等の正当性を検査する。ここで，図４（ａ）に示すＴＥＲＭ１に対して送信する変更対象モジュール群が図３のＴＥＲＭ１に対する送信バージョン情報と同一であり，ＴＥＲＭ１への送信モジュールは適正とされ異常なしと判断される。
【００３３】
一方，図３の送信バージョン情報によれば，ＴＥＲＭ２に対する送信モジュールを構成する変更対象モジュールは，ＭＯＤＵＬＥ−１Ｑ，ＭＯＤＵＬＥ−Ａ，ＭＯＤＵＬＥ−Ｂであるが，図４（ｂ）に示すＴＥＲＭ２への送信モジュールは，ＭＯＤＵＬＥ−１，ＭＯＤＵＬＥ−Ａ，ＭＯＤＵＬＥ−Ｂであり，ＭＯＤＵＬＥ−１のコンパイル・オプションが異なることから，図４（ｂ）の送信モジュールに対しては，ＮＧメッセージが返される。
【００３４】
図５は，関連ルール生成処理のフローチャートである。
新しいシステムを開発し，そのシステムテストが完了した段階で，図５に示す処理により，モジュールの関連性チェックに用いる関連ルールを生成する。
【００３５】
まず，ステップＳ１では，開発したモジュール（またはオブジェクト）を，既存のツールまたは新たに作成した言語毎のツールを用いて解析し，モジュール間の関連性を抽出する。例えば，ＣＯＢＯＬ言語で記述されたプログラムの場合，ＣＯＰＹ句の使用関係から変更対象モジュールに対する必須モジュールが抽出され，サブルーチンの使用関係から変更対象モジュールに対する推奨モジュールが抽出される。また，オブジェクト指向のプログラムの場合，親オブジェクトの使用関係から変更対象モジュールに対する必須モジュールが抽出され，子オブジェクトの使用関係から変更対象モジュールに対する推奨モジュールが抽出される。なお，ここでモジュールという言葉にはオブジェクトの概念が含まれるものとする。
【００３６】
次のステップＳ２では，変更対象モジュール毎に，ステップＳ１で抽出した必須モジュール，推奨モジュールを関連ルール・ファイルに登録する。
ステップＳ３では，端末特性等の特性情報，端末毎のコンパイル・オプションの違い等の特性手続情報を，オペレータとの対話処理等により入力し，関連ルール・ファイルに登録する。これによって，図２（ａ）に示すようなモジュール情報が生成される。
【００３７】
ステップＳ４では，対象システム情報を，オペレータとの対話処理等により入力し，関連ルール・ファイルに登録する。これによって，図２（ｂ）に示すような対象システム情報が生成される。
【００３８】
図６は，変更確認の処理のフローチャートである。
システム運用開始後の仕様変更や障害発生等によって，変更仕様の設計または修正対象モジュールの決定が行われると，図６に示す処理により変更確認処理を行う。
【００３９】
まず，ステップＳ１０では，修正（変更）対象モジュールを入力として，関連ルール・ファイルのモジュール情報を検索する。その結果，必須／推奨モジュールが割り出される。例えば，図２（ａ）の関連ルール・ファイルの場合，変更対象モジュールＭＯＤＵＬＥ−１に対して，ＭＯＤＵＬＥ−Ａ，ＭＯＤＵＬＥ−Ｂの必須モジュールが割り出され，またＭＯＤＵＬＥ−Ｃの推奨モジュールが割り出される。
【００４０】
ステップＳ１１では，その時点（修正前）での必須／推奨モジュールのバイト・サイズと最終更新日付とを取得し，修正トランザクションにそれらの情報を設定する。その後，実際のモジュール修正処理，その動作テスト，展開処理等を行う。
【００４１】
モジュール修正，テスト，展開が完了すると，ステップＳ１２では，修正対象モジュールをキーとして，修正トランザクションを読み込む。
ステップＳ１３では，ステップＳ１１の処理で得たバイト・サイズおよび最終更新日付を，修正後の対象モジュールの完成品ライブラリのバイト・サイズおよび最終更新日付と比較する。
【００４２】
ステップＳ１４では，バイト・サイズと最終更新日付が修正前と修正後とで一致していないかどうかにより，必須モジュールが変更されているかどうかを判定し，変更されている場合にはステップＳ１６へ進み，変更されていない場合にはステップＳ１５の処理により，ユーザに対しＮＧのメッセージを返す。
【００４３】
ステップＳ１６では，バイト・サイズと最終更新日付が修正前と修正後とで一致していないかどうかにより，推奨モジュールが変更されているかどうかを判定し，変更されている場合にはステップＳ１８へ進み，変更されていない場合にはステップＳ１７の処理により，ユーザに警告（ワーニング）のメッセージを返し，ユーザに問題がないかどうかの注意および判断を促す。
【００４４】
ステップＳ１８では，修正トランザクションのすべてのモジュールが変更されたと判定し，続いてステップＳ１９により必要に応じてリモートメンテナンスを実行する。
【００４５】
図７は，送信モジュール検査の処理のフローチャートである。例えば，図７に示す処理により，リモート・メンテナンスの際に送信モジュールが正しいかどうかをチェックすることもできる。
【００４６】
ステップＳ２０では，修正トランザクションから送信先への送信モジュールを生成する。
ステップＳ２１では，関連ルール・ファイルを参照し，送信モジュール内に，関連する必須モジュールがすべてあるかどうかを判定する。必須モジュールがすべてある場合にはステップＳ２３へ進み，必須モジュールがすべて揃っていない場合にはステップＳ２２の処理により，ユーザに対しＮＧのメッセージを返し，送信モジュールが不足していることを通知する。
【００４７】
ステップＳ２３では，送信モジュール内に，関連する推奨モジュールがすべてあるかどうかを判定する。推奨モジュールがすべてある場合にはステップＳ２５へ進み，推奨モジュールがない場合には，ステップＳ２４の処理により，ユーザに警告のメッセージを返し，ユーザの処理を待つ。
【００４８】
ステップＳ２５では，送信モジュールを適正なものと判定する。
これにより，各端末へ送信する送信モジュールの正当性が保証される。
【００４９】
【発明の効果】
以上説明したように，本発明によれば，モジュールの変更段階／送信段階で，変更，送信対象となるモジュールの変更漏れ，送信漏れを効果的にチェックすることができ，送信される変更対象モジュールの正当性を保証することができる。したがって，システムの信頼性を向上させることができるようになる。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】関連ルール・ファイルの構成例を示す図である。
【図３】送信バージョン情報の構成例を示す図である。
【図４】送信モジュールの例を示す図である。
【図５】関連ルール生成処理のフローチャートである。
【図６】変更確認の処理のフローチャートである。
【図７】送信モジュール検査の処理のフローチャートである。
【符号の説明】
１  処理装置
２  モジュール・ライブラリ
３  関連ルール記憶部
４  送信モジュール
５  送信バージョン情報
１１  対象モジュール検索手段
１２  変更確認手段
１３  送信モジュール検査手段
１４  関連ルール生成手段
１５  送信バージョン情報生成手段
【図１】
0003597675.tif 000002
【図２】
0003597675.tif 000003
【図３】
0003597675.tif 000004
【図４】
0003597675.tif 000005
【図５】
0003597675.tif 000006
【図６】
0003597675.tif 000007
【図７】
0003597675.tif 000008