(57)【特許請求の範囲】
【請求項１】
自システムに影響のあるプログラム修正を機能単位で求めるための第１の比較走行回数と自システムに影響のあるプログラム修正をモジュール単位で求めるための第２の比較走行回数とを記憶したパラメータメモリと、
機能名を含むモジュール名と実走行回数とを対応付けて記憶する記憶手段と、
モジュールの実行に応じて前記記憶手段に該モジュールのモジュール名が存在する場合には対応する実走行回数を更新し、該モジュール名が存在しない場合には新規に該モジュール名と実走行回数とを記録する記録手段と、
修正対象モジュール名と修正番号とを含むプログラム修正情報の入力に基づき、該修正対象モジュール名と機能名を同じくするモジュール名に対応する第１の実走行回数、または、該修正対象モジュール名と同一のモジュール名に対応する第２の実走行回数の内、少なくとも何れかを前記記録手段から取得する走行回数取得手段と、
前記走行回数取得手段で取得した第１の実走行回数が前記パラメータメモリに記憶した第１の比較走行回数以上であるか、または、第２の実走行回数が該パラメータメモリに記憶した第２の比較走行回数以上であるかの少なくとも何れかの場合に、該当の修正対象モジュール名に対応する修正番号を出力する出力手段と、
を備えることを特徴とするプログラム修正抽出適用システム。
【請求項２】
自システムに影響のあるプログラム修正を機能単位で求めるための第１の比較走行回数、または、自システムに影響のあるプログラム修正をモジュール単位で求めるための第２の比較走行回数の内、少なくとも何れかを記憶したパラメータメモリと、
機能名を含むモジュール名と実走行回数とを対応付けて記憶する記憶手段と、
モジュールの実行に応じて前記記憶手段に該モジュールのモジュール名が存在する場合には対応する実走行回数を更新し、該モジュール名が存在しない場合には新規に該モジュール名と実走行回数とを記録する記録手段と、
修正対象モジュール名と修正番号とを含むプログラム修正情報の入力に基づき、該修正対象モジュール名と機能名を同じくするモジュール名に対応する第１の実走行回数、および、該修正対象モジュール名と同一のモジュール名に対応する第２の実走行回数を算出し、少なくとも何れかを前記記録手段から取得する走行回数取得手段と、
前記走行回数取得手段で取得した第１の実走行回数が前記パラメータメモリに記憶した第１の比較走行回数以上であるか、または、第２の実走行回数が該パラメータメモリに記憶した第２の比較走行回数以上であるかの少なくとも何れかの場合に、該当の修正対象モジュール名に対応する修正番号を出力する出力手段と、
を備えることを特徴とするプログラム修正抽出適用システム。
【請求項３】
前記記憶手段は、
機能名を含むモジュール名と実走行回数とを対応付けて記憶するＲＡＭと、
機能名を含むモジュール名と実走行回数を対応付けて記憶する不揮発性の記憶手段とからなり、
前記記録手段は、
自システムの運用時にはモジュールの実行に応じて前記ＲＡＭに該モジュールのモジュール名が存在する場合には対応する実走行回数を更新し、該モジュール名が存在しない場合には新規に該モジュール名と実走行回数とを記録して、自システム停止時には該ＲＡＭに記憶した情報に基づき前記不揮発性の記憶手段に該モジュール名が存在する場合には対応する実走行回数を更新し、該モジュール名が存在しない場合には新規に該モジュール名と実走行回数とを記録することを特徴とする請求項１又は２記載のプログラム修正抽出適用システム。
【請求項４】
前記出力手段は、前記走行回数取得手段で取得した第１の実走行回数が前記パラメータメモリに記憶した第１の比較走行回数以上である場合を第１の危険度、第２の実走行回数が前記パラメータメモリに記憶した第２の比較走行回数以上である場合を第２の危険度として、修正対象モジュール名に対応する修正番号を出力することを特徴とする請求項１又は２記載のプログラム修正抽出適用システム。
【請求項５】
プログラム修正抽出適用システムに、
モジュールの実行に応じて、機能名を含むモジュール名と実走行回数とを対応付けて記憶する記憶手段に、該モジュールのモジュール名が存在する場合には対応する実走行回数を更新し、該モジュール名が存在しない場合には新規に該モジュール名と実走行回数とを記憶する記録ステップと、
修正対象モジュール名と修正番号とを含むプログラム修正情報の入力に基づき、該修正対象モジュール名と機能名を同じくするモジュール名に対応する第１の実走行回数、または該修正対象モジュール名と同一のモジュール名に対応する第２の実走行回数の内、少なくとも何れかを前記記憶手段から取得する走行回数取得ステップと、
前記走行回数取得ステップで取得した第１の実走行回数が、自システムに影響のあるプログラム修正を機能単位で求めるための第１の比較走行回数と、自システムに影響のあるプログラム修正をモジュール単位で求めるための第２の比較走行回数とを記憶したパラメータメモリに記憶された第１の比較走行回数以上であるか、または、第２の実走行回数が該パラメータメモリに記憶された第２の比較走行回数以上であるかの少なくとも何れかの場合に、該当の修正対象モジュール名に対応する修正番号を出力するステップと、
を実行させることを特徴とするプログラム修正抽出適用プログラムを記憶した記憶媒体。
【請求項６】
プログラム修正抽出適用システムに、
モジュールの実行に応じて、機能名を含むモジュール名と実走行回数とを対応付けて記憶する記憶手段に、該モジュールのモジュール名が存在する場合には対応する実走行回数を更新し、該モジュール名が存在しない場合には新規に該モジュール名と実走行回数      とを記憶する記録ステップと、
修正対象モジュール名と修正番号とを含むプログラム修正情報の入力に基づき、該修正対象モジュール名と機能名を同じくするモジュール名に対応する第１の実走行回数、および、該修正対象モジュール名と同一のモジュール名に対応する第２の実走行回数を算出し、少なくとも何れかを前記記憶手段から取得する走行回数取得ステップと、
前記走行回数取得ステップで取得した第１の実走行回数が、自システムに影響のあるプログラム修正を機能単位で求めるための第１の比較走行回数、または、自システムに影響のあるプログラム修正をモジュール単位で求めるための第２の比較走行回数の内、少なくとも何れかを記憶したパラメータメモリに記憶された第１の比較走行回数以上であるか、または、第２の実走行回数が該パラメータメモリに記憶された第２の比較走行回数以上であるかの少なくとも何れかの場合に、該当の修正対象モジュール名に対応する修正番号を出力するステップと、
を実行させることを特徴とするプログラム修正抽出適用プログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、保守センタなどから送られてくるプログラム修正を抽出して適用するプログラム修正抽出適用システムおよびプログラム修正を抽出して適用するための修正抽出適用プログラムを格納した記憶媒体に関する。
ホストコンピュータの保守の考え方は、一度システムを決めて運用してしまったらそのシステムは凍結して、数年間更新しないのが普通である。これは、ホストコンピュータの場合は、障害が発生すると業務がストップしてしまい影響が大きいために、安定しているシステムのままで運用したためである。
【０００２】
一方、ＯＳを含むアプリケーションプログラムのソフトウェア障害の修正は、メーカ側から定期的に出荷されており、その中にはすぐに適用しないと顧客システムに影響を及ぼすものも含まれているため、定期的に適用を推進するようにしている。
この場合、顧客に影響を与えるプログラム修正の抽出、適用を手間や時間をかけずに行うことが要望されている。
【０００３】
【従来の技術】
従来、保守センタより送られてきたプログラム修正から顧客システムに影響のあるプログラム修正を抽出するときは、できるだけ顧客システムの更新を少なくするために定期的に発行されるプログラム修正の説明票を見て、実際に顧客に影響しそうな緊急なプログラム修正を抽出し、個別に適用している。
【０００４】
このようなプログラム修正の内容の説明票としては、例えば、図２５および図２６に示すようなものがある。これらの説明票には、図２５および図２６に示すようにシステム名、製品名、製品世代、コンポーネント名、プログラム番号、修正番号、適用条件が記載され、障害内容、原因、処置、代行方法が説明されている。
【０００５】
ところが、顧客に影響のあるプログラム修正かを調べるには、顧客がどの製品のどの機能を使用しているかを知っている必要がある。また、プログラム修正の出荷数は、製品数の増加に伴って増加するため、調べるだけでも工数がかかってしまう。この作業は全て手作業で行っていた。
【０００６】
【発明が解決しようとする課題】
このような従来のプログラム修正の抽出適用方法にあっては、顧客に影響のあるプログラム修正の抽出を手作業で行っていたため、プログラム修正の抽出のための調査の工数がかかるという問題があった。また、プログラム修正を適用する操作作業も手間がかかっていた。
【０００７】
本発明は、このような従来の問題に鑑みてなされたものであって、調査の工数がかからず、また、適用の操作作業も手間がかからないプログラム修正抽出適用システムおよび修正抽出適用プログラムを格納した記憶媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この目的を達成するため、本発明は図１のように構成する。
請求項１の発明は、計算機システムの保守において供給されるプログラム修正を抽出して適用するプログラム修正抽出適用システムにおいて、
システムの運転時に実行するプログラムの所定の体系で命名されたモジュール名と走行回数を制御表に記録する第１の記録手段２１と、
システムの停止時に前記制御表から取り出して第１の記憶手段にモジュール名と走行回数を記録する第２の記録手段２２と、
プログラム修正を受信したときその対象モジュール名より同一の機能名をもつモジュールの走行回数の合計を機能単位で前記制御表および前記第１の記憶手段から求めて加算する第１の加算手段２３と、
加算した総走行回数と予め定めた所定の回数とを比較して所定の走行回数以上のとき第１の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理する第１の出力処理手段２４と、を備える。
【０００９】
請求項２の発明は、計算機システムの保守において供給されるプログラム修正を抽出して適用するプログラム修正抽出適用システムにおいて、
システムの運転時に実行するプログラムの所定の体系で命名されたモジュール名と走行回数を制御表に記録する第１の記録手段２２と、
システムの停止時に前記制御表から取り出して第１の記憶手段にモジュール名と走行回数を記録する第２の記録手段２３と、
プログラム修正を受信したとき求めた対象モジュールの走行回数の合計をモジュール単位で前記制御表および前記第１の記憶手段から求めて加算する第２の加算手段２５と、
加算した総走行回数と予め定めた所定の回数とを比較して所定の走行回数以上のとき第２の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理する第２の出力処理手段２６と、を備える。
【００１０】
請求項３の発明は、請求項１，２記載のプログラム修正抽出適用システムにおいて、
前記第１の危険度および第２の危険度が指定されたまたは前記第２の危険度のみが指定されたかを判別して前記第２の記憶手段より該当する危険度の修正番号を読み出す読出手段と、
読み出された修正番号のプログラム修正を修正適用のため受信メモリより取り出す取出手段と、
を備えたことを特徴とするプログラム修正抽出適用システム。
【００１１】
請求項４の発明は、計算機システムの保守において供給されるプログラム修正を抽出して適用するプログラム修正抽出適用システムにおいて、
プログラム修正を受信したとき、自動的に前記請求項２および請求項３を連続して実施するかまたは前記請求項１、請求項２および請求項３を連続して実施して、修正適用プログラムを自動的に起動する。
【００１２】
請求項５の発明は、計算機システムの保守において供給されるプログラム修正を抽出して適用するための修正抽出適用プログラムを格納した記憶媒体において、
システムの運転時に実行するプログラムの所定の体系で命名されたモジュール名と走行回数を制御表に記録する第１の記録手段と、
システムの停止時に前記制御表から取り出して第１の記憶手段にモジュール名と走行回数を記録する第２の記録手段と、
プログラム修正を受信したときその対象モジュール名より同一の機能名をもつモジュールの走行回数の合計を前記制御表および前記第１の記憶手段から求めて加算する第１の加算手段と、
加算した総走行回数と予め定めた所定の回数とを比較して第１の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理する第１の出力処理手段と、を備えたことを特徴とする修正抽出適用プログラムを格納した記憶媒体よりなる。
【００１３】
請求項６の発明は、計算機システムの保守において供給されるプログラム修正を抽出して適用するための修正抽出適用プログラムを格納した記憶媒体において、
システムの運転時に実行するプログラムの所定の体系で命名されたモジュール名と走行回数を制御表に記録する第１の記録手段と、
システムの停止時に前記制御表から取り出して第１の記憶手段にモジュール名と走行回数を記録する第２の記録手段と、
プログラム修正を受信したとき求めた対象モジュールの走行回数の合計を前記制御表および前記第１の記憶手段から求めて加算する第２の加算手段と、
加算した総走行回数と予め定めた所定の回数とを比較して第２の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理する第２の出力処理手段と、を備えたことを特徴とする修正抽出適用プログラムを格納した記憶媒体よりなる。
【００１４】
請求項７の発明は、請求項５，６記載の修正抽出適用プログラムを格納した記憶媒体において、
前記第１の危険度および第２の危険度が指定されたまたは前記第２の危険度のみが指定されたかを判別して前記第２の記憶手段より該当する危険度の修正番号を読み出す読出手段と、
読み出された修正番号のプログラム修正を修正適用のため受信メモリより取り出す取出手段と、
を備えたことを特徴とする修正抽出適用プログラムを格納した記憶媒体よりなる。
【００１５】
このような構成を備えた本発明によれば、プログラムの所定の体系で命名されたモジュール名と走行回数を記録しておき、プログラム修正を受信したときその対象モジュール名より同一の機能名をもつモジュールの走行回数の合計を機能単位で制御表および第１の記憶手段から求めて加算し、加算した総走行回数と予め定めた所定の回数とを比較して所定の走行回数以上のとき第１の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理するため、顧客に影響のあるプログラム修正の抽出の調査工数を削減することができ、送られてきたプログラム修正を適用しないと障害が発生する可能性があることが利用者にすぐ分かる。
【００１６】
また、プログラムの所定の体系で命名されたモジュール名と走行回数を記録しておき、プログラム修正を受信したとき求めた対象モジュールの走行回数の合計をモジュール単位で制御表および第１の記憶手段から求めて加算し、加算した総走行回数と予め定めた所定の回数とを比較して所定の走行回数以上のとき第２の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理するため、顧客に影響のあるプログラム修正の抽出の調査工数を削減することができ、送られてきたプログラム修正を一刻も早く適用しないと、非常に危険であることが利用者にすぐ分かる。
【００１７】
また、第１の危険度および第２の危険度が指定されたまたは第２の危険度のみが指定されたかを判別して第２の記憶手段より該当する危険度の修正番号を読み出し、読み出した修正番号のプログラム修正を修正適用のため受信メモリより取り出すため、適用が必要なプログラム修正のみを簡単な操作で適用することができる。
【００１８】
さらに、プログラム修正を受信したとき、自動的に請求項２および請求項３を連続して実施するかまたは請求項１、請求項２および請求項３を連続して実施して、修正適用プログラムを自動的に起動するため、利用者が意識することなく、顧客に必要なプログラム修正のみを全て自動的に適用することができる。
【００１９】
【発明の実施の形態】
図２は本発明の一実施形態を示す全体構成図である。
図２において、１はプログラム修正抽出適用システム２の本体であり、本体１には入力部３、表示部４、プリンタ５、ディスク６、保守センタ７、磁気媒体（テープ）８などがそれぞれ接続されている。ディスク６内にはアプリケーションプログラムである複数のモジュール９が格納され、本体１内に送られる。モジュール９はＲＯＭ１０内に格納されたＯＳ１１の制御下でＣＰＵ１２により走行する。
【００２０】
モジュール９のモジュール名は、図３に示すように、機能単位に体系的に命名されている。モジュール名（Ａ，Ｂ，Ｃ・・・Ｚ）は、小分類、中分類、大分類により構成される。Ａ，Ｂ，Ｃ・・・Ｚの文字数は任意に構成される。例えば、モジュール名の例を図４に示す。図４に示すように、３文字目までが大分類、４文字目までが中分類、５文字目までが小分類を構成し、８文字目までがモジュール名を示す。図４の場合、５文字目（小分類）までが同一の機能を表わしている。例えば、モジュール名「ＪＹＭＧＩＬ６２」、「ＪＹＭＧＩＮＳＮ」、「ＪＹＭＧＩＳＮＡ」のうち「ＪＹＭＧＩ」が同一の機能を表わしている。
【００２１】
図２に戻って、本体１のＲＡＭ１３内には制御表１４が展開される。モジュール９の走行回数を記録するため、ＯＳ１１がモジュール９に制御を渡す時点でモジュール名と走行回数を制御表１４に記録する。制御表１４は、図５に示すように、検索し易いようにモジュール名の昇順になるように配置する。例えば、制御表１４のＡＢＣ、ＡＢＣＤ、ＡＢＣＤＥ、ＡＢＣＤＥＦはモジュール名を示し、昇順になっている。
【００２２】
図６に示すように、制御表１４中にすでにモジュール名が存在する場合は、新たにモジュール名を作成せずに、走行回数のみ＋１カウントアップする。例えば、モジュール名「ＡＢＣＤＥＩＪＫ」はすでに存在しているので、走行回数を＋１カウントアップして２回とする。
また、モジュール名が制御表１４に存在しないときは、図７に示すように、モジュール名を制御表１４の内部に展開し、走行回数を１回とする。例えば、モジュール名「ＡＢＣＤＥＦ」が制御表１４に存在しないときは、モジュール名「ＡＢＣＤＥＦ」を作成し、走行回数を１回として、次ポイントで次のモジュール名「ＡＢＣＤＥＩＪＫ」に渡す。
【００２３】
制御表１４の情報は、保存が必要だが、システム運用中は、処理速度に影響を与えないために、保存せず、システム停止時にまとめて第１の記憶手段としてのＶＳＡＭメモリ１５に保存する。ＶＳＡＭメモリ１５は、モジュール名をキーに持つキー順データセットメモリである。この時も、既に同名のモジュールのレコードが存在する場合は、走行回数を制御表１４中の走行回数分カウントアップして更新し、同名のレコードが存在しない場合は、新たにレコードを挿入する。
【００２４】
例えば、図６に示すように、システム停止時には、制御表１４からモジュール名と走行回数をＶＳＡＭメモリ１５に記録する。例えばレコードとしてモジュール名「ＡＢＣＤＥＦＧＨ」走行回数４０回、モジュール名「ＡＢＣＤＥＦＩＪＫ」走行回数５０回が記録される。
再び図２に戻って、保守センタ７から定期的に送られてくるプログラム修正は、受信メモリ１６内に格納される。保守センタ７からだけではなく、磁気媒体（テープ）８で入手したプログラム修正も受信メモリ１６内に格納される。パラメータメモリ１７には、パラメータとして所定の走行回数や顧客に影響を与える第１の危険度ｂ、第２の危険度ａが入力部３より設定される。顧客に影響のあるプログラム修正を機能単位で求めるとき、例えば走行回数１０回が設定され、顧客に影響のあるプログラム修正をモジュール単位で求めるとき、例えば走行回数３０回が設定される。
【００２５】
また、顧客に影響を与えるパラメータとしての危険度ａおよび危険度ｂの適用が指定されるかまたは危険度ａのみの適用が指定される。危険度ｂは、顧客に影響のあるプログラム修正かを機能単位で求めるとき、ＶＳＡＭメモリ１５と制御表１４の走行回数の加算値がパラメータメモリ１７の所定の走行回数以上のとき、判定され、第２の記憶手段としての順データセットメモリ１８に格納されるとともに、表示部４に表示され、必要によりプリンタ５に出力される。
【００２６】
また、危険度ａは、顧客に影響のあるプログラム修正かをモジュール単位で求めるとき、ＶＳＡＭメモリ１５と制御表１４の走行回数の加算値がパラメータメモリ１７の所定の回数以上のとき、判定され、順データセットメモリ１８に格納されるとともに表示部４に表示され、必要によりプリンタ５に出力される。
ディスク６内には、本発明のプログラムＡ〜Ｄ１９および修正適用プログラム２０が格納されている。
【００２７】
プログラムＡは、図８に示すように、第１の記録手段としての第１の記録部２１と第２の記録手段としての第２の記録部２２を有する。
第１の記録部２１は、システムの運転時に実行するプログラムのモジュール名と走行回数を制御表１４に記録する。第２の記録部２２は、システムの停止時に制御表１４から取り出して第１の記憶手段としてのＶＳＡＭメモリ１５にモジュール名と走行回数を記録する。
【００２８】
プログラムＢは、図９に示すように、第１の加算手段としての第１の加算部２３と第１の出力処理手段としての第１の出力処理部２４を有する。
第１の加算部２３は、プログラム修正を受信したときその対象モジュール名より同一の機能名をもつモジュールの走行回数の合計を制御表１４およびＶＳＡＭメモリ１５から求めて加算する。
【００２９】
第１の出力処理部２４は加算した総走行回数とパラメータ１７に格納された予め定めた所定の回数とを比較して、所定の回数より多いとき、第１の危険度としての危険度ｂとプログラム修正の修正番号を第２の記憶手段としての順データセットメモリ１８に出力処理し、また、表示部４に危険度ｂを表示する。
例えば、図１０に示すように、保守センタ７より修正番号が「Ａ００１」の対象モジュール「ＡＢＣＤＥＦＧＨ」を受信したとき、ＶＳＡＭメモリ１５には同一機能名を有するモジュール「ＡＢＣＤＥＦＧＨ」の走行回数が４０回、「ＡＢＣＤＥＩＪＫ」の走行回数の５０回が格納されていると、加算した総走行回数は、パラメータメモリ１７の所定の回数１０回より多いので、危険度ｂが判定され、危険度ｂは表示部４に表示され、順データセットメモリ１８に格納される。
【００３０】
プログラムＣは、図１１に示すように、第２の加算手段としての第２の加算部２５と第２の出力処理手段としての第２の出力処理部２６を有する。
第２の加算部２５はプログラム修正を受信したとき求めた対象モジュールの走行回数の合計を制御表１４およびＶＳＡＭメモリ１５から求めて加算する。
第２の出力処理部２６は加算した総走行回数とパラメータメモリ１７に格納された予め定めた所定の回数とを比較して、所定の回数以上のとき第２の危険度としての危険度ａとプログラム修正の修正番号を順データセットメモリ１８に出力処理し、また表示部４に危険度ａを表示する。
【００３１】
例えば、図１２に示すように、保守センタ７から修正番号「Ａ００１」の対象モジュール「ＡＢＣＤＥＦＧＨ」を受信したとき、ＶＳＡＭメモリ１５には同一モジュール「ＡＢＣＤＥＦＧＨ」の走行回数４０回が格納されており、総走行回数は、パラメータメモリ１７に格納されている所定の回数３０回を超えるので、危険度ａと判定し、危険度ａと修正番号「Ａ００１」を表示部４に表示し、また、順データセットメモリ１８に格納する。
【００３２】
プログラムＤは、図１３に示すように、読出手段としての読出部２７および取出手段としての取出部２８を有する。
読出部２７は第１の危険度ｂおよび第２の危険度ａが指定されたまたは第２の危険度ａのみが指定されたかをパラメータメモリ１７の設定により判別して順データセットメモリ１８より該当する危険度ａまたはｂの修正番号を読み出す。取出部２８は読み出された修正番号のプログラム修正を修正適用のため受信メモリより取り出す。
【００３３】
図１４に示すように、例えば、パラメータメモリ１７内に危険度ａおよび危険度ｂの適用が設定されたときは、危険度ａ，ｂに該当する修正番号「Ａ００１」，「Ａ００３」，「Ａ００２」を順データセットメモリ１８から読み出し、受信メモリ１６から修正番号のモジュール「ＡＢＣＤＥＦＧＨ」を取り出し、修正適用プログラム２０をＯＳ１１の制御下で起動する。
【００３４】
図１５はプログラムＡの動作を説明するフローチャートである。
図１５において、まず、ステップＳ１でシステムが停止したか否かを判別し、システムの通常運転時には、ステップＳ２に進み、システムが停止したときは、ステップＳ５に進む。ステップＳ２でＯＳ１１が制御を渡すモジュール９を把握する。
【００３５】
次に、ステップＳ３で制御表１４にモジュール名と走行回数を記録する。すでに制御表１４にモジュール名があるときは、走行回数を＋１とする。制御表１４にないときは、モジュール名と走行回数１回を記録する。そして、ステップＳ４でＯＳ１１がモジュール９に制御を渡し、ステップＳ１に戻る。
例えば、図１９に示すように、通常運転時「ＡＲＳＯＲＲＣＶ」というモジュール９が呼び出されたとする。制御表１４の「ＡＲＳＯＲＲＣＶ」に走行回数１回をカウントしようとするが、すでに制御表１４に「ＡＦＳＯＲＲＣＶ」が存在するため（システムを起動してから１回走行しているため）、走行回数のカウントアップで１＋１＝２回と記録する。また、「ＡＲＳＯＲＡＣＶ」の走行前にはモジュール「ＡＲＳＯＲＳＮＤ」は２０回、モジュール「ＡＳＡＲＳＰＳＳＮＤ」は１回が記録されている。
【００３６】
ステップＳ１でシステムの停止時には、ステップＳ５で制御表１４の１つのモジュールを取り出す。そして、ステップＳ６でそのモジュール名と走行回数をＶＳＡＭメモリ１５に記録する。すでにモジュール名がＶＳＡＭメモリ１５にある場合には走行回数を加算する。ＶＳＡＭメモリ１５にない場合にはモジュール名と走行回数よりなるレコードを追加する。次に、ステップＳ７で次ポイントがあるか判別し、あるときは、ステップＳ５に戻り、ないときは終了とする。
【００３７】
例えば、図１９に示すように、システムの停止時にＶＳＡＭメモリ１５にはＡＲＳＯＲＲＣＶ  １回、ＡＲＳＯＲＳＮＤ  ５０回、ＡＲＳＰＳＳＮＤ  １００回が記録される。
このように、モジュール９の走行回数を常にカウントすることで、どのくらいその機能またはそのモジュールを使用しているかわかり、顧客に影響のあるプログラム修正を抽出する目安となる。
【００３８】
図１６はプログラムＢの動作を説明するフローチャートである。
図１６において、まず、ステップＳ１１で保守センタ７からのプログラム修正の受信を契機にプログラムＢを起動し、パラメータメモリ１７に指定された走行回数を読み込む。例えば、図１９に示すように、パラメータメモリ１７で指定された走行回数は５０回であるとすると、この走行回数を読み込む。次に、ステップＳ１２でプログラム修正の受信により対象モジュール名を求め、「機能名」に該当するモジュール９を求める。図１９に示すように、保守センタ７より送られてきた修正番号「Ａ００１」の対象モジュールが「ＡＲＳＯＲＲＣＶ」であるとすると、前提条件としてモジュール名の先頭から５文字までが機能を表わす文字であるので、「ＡＲＳＯＲ」が機能名であり、走行回数を求めるモジュール９は「ＡＲＳＯＲＲＣＶ」と「ＡＲＳＯＲＳＮＤ」になる。
【００３９】
次に、ステップＳ１３で同一の「機能名」をもつモジュール９の走行回数の合計を制御表１４より求める。図２０に示すように、「ＡＲＳＯＲＲＣＶ」は制御表１４の走行回数が２回、「ＡＲＳＯＲＳＮＤ」は制御表１４の走行回数が２０回であり、合計の走行回数は２２回となる。
次に、ステップＳ１４で同一の「機能名」をもつモジュール９の走行回数の合計とＶＳＡＭメモリ１５より求めて、ステップＳ１３の結果に加算する。図２０に示すように、「ＡＲＳＯＲＲＣＶ」のＶＳＡＭメモリ１５の走行回数は１回、「ＡＲＳＯＲＳＮＤ」のＶＳＡＭメモリ１５の走行回数は５０回であるので、合計の走行回数は５１回となり、制御表１４の合計走行回数２２回に加算すると総走行回数は７３回となる。
【００４０】
次に、ステップＳ１５でプログラム修正を受信する受信メモリ１６内に他の対象モジュールがあるか判別し、あるときはステップＳ１２に戻り、ないときはステップＳ１６に進む。
ステップＳ１６では総走行回数とパラメータメモリ１７の所定の回数とを比較する。図２０に示すように、総走行回数は７３回であり、パラメータメモリ１７の走行回数は５０回であり、総走行回数が多いので、ステップＳ１７に進む。
【００４１】
なお、パラメータ１７の走行回数の方が多いときは、ステップＳ１７に進まないで、処理を終了とする。ステップＳ１７では表示部４に修正番号（Ａ００１）と「危険度ｂ」を出力し、順データセットメモリ１８に修正番号（Ａ００１）と「危険度ｂ」を記録する（図１９、参照）。
この場合には、プログラム修正の抽出の調査工数を削減することができ、保守センタ７から送られてきたプログラム修正を適用しないと、障害が発生する可能性があることが利用者にすぐに分る。
【００４２】
図１７はプログラムＣの動作を説明するフローチャートである。
図１７において、まず、ステップＳ２１で保守センタ７からのプログラム修正の受信を契機にプログラムＢを起動し、パラメータメモリ１７で指定された回数を読み込む。例えば、図１９に示すように、パラメータメモリ１７で指定された走行回数は、１０回であるとすると、これを読み込む。次に、ステップＳ２２でプログラム修正の受信により対象モジュール名を求める。図１９に示すように、保守センタ７より送られてきた修正番号「Ａ００１」の対象モジュールが「ＡＲＳＯＲＲＣＶ」であり、これからモジュール名を求める。
【００４３】
次に、ステップＳ２３で対象モジュールの走行回数を制御表１４より求める。図２１に示すように、「ＡＲＳＯＲＲＣＶ」の制御表１４の走行回数は２回である。
次に、ステップＳ２４で対象モジュールの走行回数をＶＳＡＭメモリ１５より求めて、ステップＳ２３の結果に加算する。図２１に示すように、「ＡＲＳＯＲＲＣＶ」のＶＳＡＭメモリ１５の走行回数は１回であり、制御表１４の走行回数２回に加算すると総走行回数は３回となる。
【００４４】
次に、ステップＳ２５でプログラム修正を受信する受信メモリ１６内に他の対象モジュールがあるか判別し、あるときはステップＳ２２に戻り、ないときはステップＳ２６に進む。
ステップＳ２６では総走行回数とパラメータメモリ１７の所定の回数とを比較する。図２１に示すように、例えば総走行回数は３回であり、パラメータメモリ１７の走行回数は１０回のときは、パラメータメモリ１７の走行回数の方が多いので、この場合には処理を終了とする。
【００４５】
一方、総走行回数の方が多いときは、ステップＳ２７に進む。ステップＳ２７では表示部４に修正番号（Ａ００１）と「危険度ａ」を出力し、順データセットメモリ１８に修正番号（Ａ００１）と「危険度ａ」を記録する（図１９、参照）。
このように、プログラム修正の抽出の調査工数を削減することができ、また、危険度ａを記録したときは、保守センタ７から送られてきたプログラム修正を一刻も早く適用しないと非常に危険であることが利用者にすぐ分る。
【００４６】
また、プログラムＢでは危険度ｂが記録され、プログラムＣでは危険度ａが記録されないときは、危険度ｂのままであり、修正対象の機能を使っているので、適用が必要であるが、頻繁には発生しないということになる。
図１８はプログラムＤの動作を説明するフローチャートである。図１８において、まず、ステップＳ３１でパラメータメモリ１７で指定された内容を読み込む。例えば、図１９に示すように、危険度ａおよび危険度ｂの適用が指定されていれば、これを読み込む。また、危険度ａのみの適用が指定されていれば、これを読み込む。
【００４７】
次に、ステップＳ３２でパラメータメモリで「危険度ａ」が指定されたか判別し、指定されたときは、ステップＳ３３で順データセットメモリ１８より「危険度ａ」の修正番号を全て読み込む。「危険度ａ」が指定されていないときは、ステップＳ３４でパラメータメモリ１７で「危険度ｂ」が指定されたか判別し、「危険度ｂ」が指定されたときは、ステップＳ３５で順データセットメモリ１８より「危険度ｂ」の修正番号を全て読み込む。なお、モジュール名が重複した場合には１つにまとめる。図１９に示すように、「危険度ｂ」が指定されたときは、順データセットメモリ１８より「危険度ｂ」の修正番号「Ａ００１」を読み込む。「危険度ｂ」が指定されないときは、ステップＳ３６に進む。
【００４８】
次に、ステップＳ３６では読み込ませたプログラム修正を受信メモリ１６から取り出す。「危険度ｂ」の修正番号「Ａ００１」を読み込んだときは、その修正番号のモジュール「ＡＲＳＯＲＲＣＶ」を受信メモリ１６から取り出し、プログラムＤが終了したとき、修正適用プログラム２０を起動する。すなわち、危険度ａおよび危険度ｂの適用を指定したときは、修正番号「Ａ００１」は危険度ｂであるため、適用される（図１９、参照）。なお、「危険度ａ」のみの適用を指定したときは、修正番号「Ａ００１」は危険度ｂであるため、適用されない。このように、顧客に影響のあるプログラム修正のみを簡単な操作で適用することができる。
【００４９】
図２２は本発明の他の実施形態を示す全体構成図である。
図２２において、ディスク６内には自動起動プログラム２９が設けられ、顧客に影響のあるプログラム修正をオペレータの確認なしで全て自動的に適用するようにしている。自動起動プログラム２９は、プログラムＡ、プログラムＢ、プログラムＣ、修正適用プログラム２０を順次自動的に起動するかまたはプログラムＡ、プログラムＣ、修正適用プログラム２０を順次自動的に起動する。
【００５０】
パラメータメモリ１７には顧客に影響のあるプログラム修正を機能単位で求めるための走行回数、顧客に影響のあるプログラム修正をモジュール単位で求めるための走行回数が予め設定されている。また、パラメータメモリ１７には「危険度ａおよび危険度ｂ」の適用、または「危険度ａ」の適用が予め指定されている。
【００５１】
図２３は自動起動プログラム２９の動作を説明するフローチャートである。
図２３において、まず、ステップＳ４１で保守センタ７からのプログラム修正の受信を契機に一連のジョブを起動する。ステップＳ４２ではプログラムＡを起動する。プログラムＡではモジュールａの走行回数を常にカウントすることでどのくらいその機能またはモジュールを使用しているか確認することができる。
【００５２】
次に、ステップＳ４３でプログラムＣを起動する。プログラムＣでは顧客に影響のあるプログラム修正をモジュール単位で求めるために、所定の走行回数以上のとき危険度ａを記録する。この場合には、保守センタ７から送られてきたプログラム修正を一刻も早く適用しないと非常に危険であることが分かる。
次に、ステップＳ４４でプログラムＤを起動する。プログラムＤでは危険度ａに該当する修正番号から適用が必要なプログラム修正のみを取り出す。
【００５３】
次に、ステップＳ４５で修正適用プログラム２０を起動する。
こうして、プログラム修正が一刻も早く適用しないと非常に危険であるモジュールを抽出し、オペレータが意識することなく、顧客が必要なプログラム修正のみを自動的に適用することができる。
図２４は自動起動プログラム２９の他の動作を説明するフローチャートである。
【００５４】
図２４において、図２３のステップＳ４２とステップＳ４３との間にステップＳ４２Ａが追加して設けられている。その他の構成は、図２３と同様である。
プログラムＢでは、顧客に影響のあるプログラム修正を機能単位で求めるために、所定の走行回数以上のとき、危険度ｂを記録する。
図２４においては、保守センタ７からのプログラム修正を受信したとき、プログラムＡ、プログラムＢ、プログラムＣ、プログラムＤおよび修正適用プログラム２０を順次自動的に起動する。
【００５５】
この場合には、障害が発生する可能性のあるプログラム修正もオペレータの確認なしに自動的に抽出され、適用される。
なお、保守センタ７からのプログラム修正に限らず、磁気媒体（テープ）８からプログラム修正を入力しても良い。
【００５６】
【発明の効果】
以上説明してきたように、本発明によれば、プログラムの所定の体系で命名されたモジュール名と走行回数を記録しておき、プログラム修正を受信したときその対象モジュール名より同一の機能名をもつモジュールの走行回数の合計を機能単位で制御表および第１の記憶手段から求めて加算し、加算した総走行回数と予め定めた所定の回数とを比較して所定の走行回数以上のとき第１の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理するため、顧客に影響のあるプログラム修正の抽出の調査工数を削減することができ、送られてきたプログラム修正を適用しないと、障害が発生する可能性があることが利用者にすぐ分かる。
【００５７】
また、プログラムの所定の体系で命名されたモジュール名と走行回数を記録しておき、プログラム修正を受信したとき求めた対象モジュールの走行回数の合計をモジュール単位で制御表および第１の記憶手段から求めて加算し、加算した総走行回数と予め定めた所定の回数とを比較して所定の走行回数以上のとき第２の危険度とプログラム修正の修正番号を第２の記憶手段に出力処理するため、顧客に影響のあるプログラム修正の抽出の調査工数を削減することができ、送られてきたプログラム修正を一刻も早く適用しないと、非常に危険であることが利用者にすぐ分かる。
【００５８】
また、第１の危険度および第２の危険度が指定されたまたは第２の危険度のみが指定されたかを判別して第２の記憶手段より該当する危険度の修正番号を読み出し、読み出した修正番号のプログラム修正を修正適用のため受信メモリより取り出すため、適用が必要なプログラム修正のみを簡単な操作で適用することができる。
【００５９】
さらに、プログラム修正を受信したとき、自動的に請求項２および請求項３を連続して実施するかまたは請求項１、請求項２および請求項３を連続して実施して、修正適用プログラムを自動的に起動するため、利用者が意識することなく、顧客に必要なプログラム修正のみを全て自動的に適用することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明の実施形態を示す全体構成図
【図３】モジュール名の説明図
【図４】モジュール名の例を示す図
【図５】制御表の構成例を示す図
【図６】モジュールの走行回数の記録を説明する図
【図７】制御表の展開を示す図
【図８】プログラムＡの構成例を示す図
【図９】プログラムＢの構成例を示す図
【図１０】プログラムＢの説明図
【図１１】プログラムＣの構成例を示す図
【図１２】プログラムＣの説明図
【図１３】プログラムＤの構成例を示す図
【図１４】プログラムＤの説明図
【図１５】プログラムＡの動作を説明するフローチャート
【図１６】プログラムＢの動作を説明するフローチャート
【図１７】プログラムＣの動作を説明するフローチャート
【図１８】プログラムＤの動作を説明するフローチャート
【図１９】プログラム修正の抽出、適用の説明図
【図２０】走行回数の総計を示す図（その一）
【図２１】走行回数の総計を示す図（その二）
【図２２】本発明の他の実施形態を示す全体構成図
【図２３】自動起動プログラムの動作を説明するフローチャート（その一）
【図２４】自動起動プログラムの動作を説明するフローチャート（その二）
【図２５】従来のプログラム修正内容説明票の例を示す図（その一）
【図２６】従来のプログラム修正内容説明票の例を示す図（その二）
【符号の説明】
１：本体
２：プログラム修正抽出適用システム
３：入力部
４：表示部
５：プリンタ
６：ディスク
７：保守センタ
８：磁気媒体（テープ）
９：モジュール
１０：ＲＯＭ
１１：ＯＳ
１２：ＣＰＵ
１３：ＲＡＭ
１４：制御表
１５：ＶＳＡＭメモリ（第１の記憶手段）
１６：受信メモリ
１７：パラメータメモリ
１８：順データセットメモリ（第２の記憶手段）
１９：プログラムＡ〜Ｄ
２０：修正適用プログラム
２１：第１の記録部（第１の記録手段）
２２：第２の記録部（第２の記録手段）
２３：第１の加算部（第１の加算手段）
２４：第１の出力処理部（第１の出力処理手段）
２５：第２の加算部（第２の加算手段）
２６：第２の出力処理部（第２の出力処理手段）
２７：読出部（読出手段）
２８：取出部（取出手段）
２９：自動起動プログラム
【図１】
0004050390.tif 000002
【図２】
0004050390.tif 000003
【図３】
0004050390.tif 000004
【図４】
0004050390.tif 000005
【図５】
0004050390.tif 000006
【図６】
0004050390.tif 000007
【図７】
0004050390.tif 000008
【図８】
0004050390.tif 000009
【図９】
0004050390.tif 000010
【図１０】
0004050390.tif 000011
【図１１】
0004050390.tif 000012
【図１２】
0004050390.tif 000013
【図１３】
0004050390.tif 000014
【図１４】
0004050390.tif 000015
【図１５】
0004050390.tif 000016
【図１６】
0004050390.tif 000017
【図１７】
0004050390.tif 000018
【図１８】
0004050390.tif 000019
【図１９】
0004050390.tif 000020
【図２０】
0004050390.tif 000021
【図２１】
0004050390.tif 000022
【図２２】
0004050390.tif 000023
【図２３】
0004050390.tif 000024
【図２４】
0004050390.tif 000025
【図２５】
0004050390.tif 000026
【図２６】
0004050390.tif 000027