(57)【要約】【課題】複数のサービスが存在するシステムでコマンドなどの起動指示を実行する場合に、各サービスに対して起動指示が与える影響の有無を検知することを目的とする。【解決手段】本発明は、複数の業務コンピュータ４０と、それらの業務コンピュータ４０と通信可能に接続されるサービス管理装置１１と、を備えたサービス管理システムＳである。  サービス管理装置１１の処理部は、いずれかの業務コンピュータ４０に対してプロセスの起動指示を与える場合、記憶部の影響情報、構成情報および稼動プロセス情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定する。【選択図】図１
2008146204.tif 000002
【特許請求の範囲】
【請求項１】
複数の業務プログラムから構成されるサービスを複数提供する業務コンピュータを複数と、それらの業務コンピュータと通信可能に接続されるサービス管理装置と、を備えたサービス管理システムであって、
前記サービス管理装置は、処理部と記憶部を有し、
前記記憶部は、
前記サービスごとに、それぞれの前記業務プログラムの実行状態を示すプロセスの起動指示、および、それぞれの起動指示により影響を受けるプロセス、を関連付けた影響情報と、
前記サービスごとに、それぞれの前記業務コンピュータ、および、それらの業務コンピュータが起動しうるプロセス、を関連付けた構成情報と、
を記憶し、
前記処理部は、
いずれかの前記業務コンピュータに対して前記プロセスの起動指示を与える場合、前記記憶部の影響情報と構成情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定する
ことを特徴とするサービス管理システム。
【請求項２】
前記サービス管理装置の記憶部は、さらに、
前記サービスごとに、それぞれの前記業務コンピュータ、および、それらの業務コンピュータが起動しているプロセスに与えられる業務コンピュータごとにユニークなプロセスＩＤ、を関連付けた稼動プロセス情報を、記憶し、
前記サービス管理装置の処理部は、
いずれかの前記業務コンピュータに対して前記プロセスの起動指示を与える場合、
前記記憶部の影響情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定し、
前記記憶部の構成情報を参照して、前記特定したサービスの当該業務コンピュータにその特定したプロセスが存在するか否かを検索し、
前記特定したサービスの当該業務コンピュータにその特定したプロセスが存在したとき、
前記記憶部の稼動プロセス情報を参照して、起動指示により本来実行するプロセスのプロセスＩＤと前記特定したプロセスのプロセスＩＤとを取得し、それらの２つのプロセスＩＤが等しいとき、その特定したプロセスが当該起動指示により影響を受けると判断する
ことを特徴とする請求項１に記載のサービス管理システム。
【請求項３】
前記サービス管理装置の処理部は、
それぞれの前記業務コンピュータから受信した、その業務コンピュータで稼動するプロセスのプロセスＩＤを含んだ稼動プロセスＩＤ情報に基づいて、前記記憶部の稼動プロセス情報を作成する
ことを特徴とする請求項２に記載のサービス管理システム。
【請求項４】
前記起動指示は、前記業務プログラムに対して直接命令を与える文字列であるコマンドであることを特徴とする請求項１に記載のサービス管理システム。
【請求項５】
前記サービス管理装置の処理部は、
前記サービス管理装置の入力装置あるいは前記サービス管理装置に接続される外部機器の入力装置のいずれかから入力された、いずれかの前記業務コンピュータに対する前記プロセスの起動指示に基づいて、
その前記業務コンピュータに対する前記プロセスの起動指示を与える
ことを特徴とする請求項１に記載のサービス管理システム。
【請求項６】
前記サービス管理装置の処理部は、
前記特定した当該起動指示により影響を受けるプロセスとそのサービスの少なくともいずれかを、前記サービス管理装置の表示装置あるいは前記サービス管理装置に接続される外部機器の表示装置のいずれかに表示させる
ことを特徴とする請求項１に記載のサービス管理システム。
【請求項７】
複数の業務プログラムから構成されるサービスを複数提供する複数の業務コンピュータと通信可能に接続されるサービス管理装置であって、
前記サービスごとに、それぞれの前記業務プログラムの実行状態を示すプロセスの起動指示、および、それぞれの起動指示により影響を受けるプロセス、を関連付けた影響情報と、
前記サービスごとに、それぞれの前記業務コンピュータ、および、それらの業務コンピュータが起動しうるプロセス、を関連付けた構成情報と、を記憶する記憶部と、
いずれかの前記業務コンピュータに対して前記プロセスの起動指示を与える場合、前記記憶部の影響情報と構成情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定する処理部と、
を備えることを特徴とするサービス管理装置。
【請求項８】
前記記憶部は、さらに、
前記サービスごとに、それぞれの前記業務コンピュータ、および、それらの業務コンピュータが起動しているプロセスに与えられる業務コンピュータごとにユニークなプロセスＩＤ、を関連付けた稼動プロセス情報を、記憶し、
前記処理部は、
いずれかの前記業務コンピュータに対して前記プロセスの起動指示を与える場合、
前記記憶部の影響情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定し、
前記記憶部の構成情報を参照して、前記特定したサービスの当該業務コンピュータにその特定したプロセスが存在するか否かを検索し、
前記特定したサービスの当該業務コンピュータにその特定したプロセスが存在したとき、
前記記憶部の稼動プロセス情報を参照して、起動指示により本来実行するプロセスのプロセスＩＤと前記特定したプロセスのプロセスＩＤとを取得し、それらの２つのプロセスＩＤが等しいとき、その特定したプロセスが当該起動指示により影響を受けると判断する
ことを特徴とする請求項７に記載のサービス管理装置。
【請求項９】
前記処理部は、
それぞれの前記業務コンピュータから受信した、その業務コンピュータで稼動するプロセスのプロセスＩＤを含んだ稼動プロセスＩＤ情報に基づいて、前記記憶部の稼動プロセス情報を作成する
ことを特徴とする請求項８に記載のサービス管理装置。
【請求項１０】
前記起動指示は、前記業務プログラムに対して直接命令を与える文字列であるコマンドであることを特徴とする請求項７に記載のサービス管理装置。
【請求項１１】
前記処理部は、
前記サービス管理装置の入力装置あるいは前記サービス管理装置に接続される外部機器の入力装置のいずれかから入力された、いずれかの前記業務コンピュータに対する前記プロセスの起動指示に基づいて、
その前記業務コンピュータに対する前記プロセスの起動指示を与える
ことを特徴とする請求項７に記載のサービス管理装置。
【請求項１２】
前記処理部は、
前記特定した当該起動指示により影響を受けるプロセスとそのサービスの少なくともいずれかを、前記サービス管理装置の表示装置あるいは前記サービス管理装置に接続される外部機器の表示装置のいずれかに表示させる
ことを特徴とする請求項７に記載のサービス管理装置。
【請求項１３】
複数の業務プログラムから構成されるサービスを複数提供する複数の業務コンピュータと通信可能に接続されるサービス管理装置によるサービス管理方法であって、
前記サービス管理装置は、処理部と記憶部を備え、
前記記憶部は、
前記サービスごとに、それぞれの前記業務プログラムの実行状態を示すプロセスの起動指示、および、それぞれの起動指示により影響を受けるプロセス、を関連付けた影響情報と、
前記サービスごとに、それぞれの前記業務コンピュータ、および、それらの業務コンピュータが起動しうるプロセス、を関連付けた構成情報と、を記憶し、
前記処理部は、
いずれかの前記業務コンピュータに対して前記プロセスの起動指示を与える場合、前記記憶部の影響情報と構成情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定する
を備えることを特徴とするサービス管理方法。
【請求項１４】
前記記憶部は、さらに、
前記サービスごとに、それぞれの前記業務コンピュータ、および、それらの業務コンピュータが起動しているプロセスに与えられる業務コンピュータごとにユニークなプロセスＩＤ、を関連付けた稼動プロセス情報を、記憶し、
前記処理部は、
いずれかの前記業務コンピュータに対して前記プロセスの起動指示を与える場合、
前記記憶部の影響情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定し、
前記記憶部の構成情報を参照して、前記特定したサービスの当該業務コンピュータにその特定したプロセスが存在するか否かを検索し、
前記特定したサービスの当該業務コンピュータにその特定したプロセスが存在したとき、
前記記憶部の稼動プロセス情報を参照して、起動指示により本来実行するプロセスのプロセスＩＤと前記特定したプロセスのプロセスＩＤとを取得し、それらの２つのプロセスＩＤが等しいとき、その特定したプロセスが当該起動指示により影響を受けると判断する
ことを特徴とする請求項１３に記載のサービス管理方法。
【請求項１５】
前記処理部は、
それぞれの前記業務コンピュータから受信した、その業務コンピュータで稼動するプロセスのプロセスＩＤを含んだ稼動プロセスＩＤ情報に基づいて、前記記憶部の稼動プロセス情報を作成する
ことを特徴とする請求項１４に記載のサービス管理方法。
【請求項１６】
前記起動指示は、前記業務プログラムに対して直接命令を与える文字列であるコマンドであることを特徴とする請求項１３に記載のサービス管理方法。
【請求項１７】
前記処理部は、
前記サービス管理装置の入力装置あるいは前記サービス管理装置に接続される外部機器の入力装置のいずれかから入力された、いずれかの前記業務コンピュータに対する前記プロセスの起動指示に基づいて、
その前記業務コンピュータに対する前記プロセスの起動指示を与える
ことを特徴とする請求項１３に記載のサービス管理方法。
【請求項１８】
前記処理部は、
前記特定した当該起動指示により影響を受けるプロセスとそのサービスの少なくともいずれかを、前記サービス管理装置の表示装置あるいは前記サービス管理装置に接続される外部機器の表示装置のいずれかに表示させる
ことを特徴とする請求項１３に記載のサービス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの業務コンピュータ内に複数の業務プログラムが存在し、各業務プログラムが複数のサービスの構成要素となっている場合に、あるサービスに対して実行するコマンドがその他のサービスに対して及ぼす影響を事前に検知する技術に関する。
【背景技術】
【０００２】
近年、企業のシステムは、受発注業務システムや精算業務システムなど複数の業務システムが同一システム内で構築され、データセンタでは複数の企業からアウトソーシングされた業務システムを同一システム内で構築している。よって、システム内には様々な業務システムが存在する。（以下、業務システムを「サービス」とも言う。）
また、各サービスを構成する業務プログラムは、それにより構成されるサービスとは無関係に、業務コンピュータの資源の効率的な活用と管理コスト削減のために、同じ業務コンピュータ内に配備可能であれば配備される。つまり、１つの業務コンピュータ内に、複数のサービスの構成要素である各業務プログラムが配備されることがある。
【０００３】
このようなシステム環境の運用管理は、障害発生時に影響のあるサービスの早期特定や、サービス内容の変更による、ハードウェア・ソフトウェア構成の変更を容易に行うために、業務コンピュータ単位ではなくサービス単位で運用管理することで、運用管理者の手間を削減することが可能となっている（例えば特許文献１参照）。
そして、運用管理者がサービスを構成する業務プログラムに対してコマンドを実行する場合、該当する業務プログラムが配備されている業務コンピュータ内に存在する他のサービスとサービスごとに構成される業務プログラムは、前記したように把握（管理）することができる。
【特許文献１】特願平１１−２０８７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、運用管理者は、次に、実行しようとするコマンド自体が他のサービスを構成している業務プログラムに影響を与えないコマンドであることを確認するか、もしくは、影響を与える場合でも別のプロセス（実行状態にあるプログラム）として稼動している場合には影響を与えないので、該当する業務コンピュータのプロセスの稼動状況を確認して影響を与えないことを確認してから、コマンドを実行する必要がある。よって、運用管理者のコマンド実行時の確認作業は煩雑なものとなる。また、運用管理者の確認漏れによる不用意な操作により、意図しない業務プログラムおよび他サービスへ影響を与える危険性もある。
【０００５】
そこで、本発明は、前記問題点に鑑みてなされたものであり、複数のサービスが存在するシステムでコマンドなどの起動指示を実行する場合に、各サービスに対して起動指示が与える影響の有無を検知することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は、複数の業務プログラムから構成されるサービスを複数提供する業務コンピュータを複数と、それらの業務コンピュータと通信可能に接続されるサービス管理装置と、を備えたサービス管理システムである。
サービス管理装置は、処理部と記憶部を有している。記憶部は、サービスごとに、それぞれの業務プログラムのプロセスの起動指示とそれぞれの起動指示により影響を受けるプロセスを関連付けた影響情報、それぞれの業務コンピュータとそれらの業務コンピュータが起動しうるプロセスを関連付けた構成情報、および、それぞれの業務コンピュータとサービスが使用している業務コンピュータのプロセスに割り当てられたプロセスＩＤを関連付けた稼動プロセス情報、を記憶している。
そして、処理部は、いずれかの業務コンピュータに対してプロセスの起動指示を与える場合、記憶部の影響情報、構成情報および稼動プロセス情報を参照して、当該起動指示により影響を受けるプロセスとそのサービスを特定する。
その他の手段については後記する。
【発明の効果】
【０００７】
本発明によれば、複数のサービスが存在するシステムでコマンドなどの起動指示を実行する場合に、各サービスに対して起動指示が与える影響の有無を検知することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照しながら、コマンド（起動指示）を実行する場合のサービスごとの影響を自動で検出するサービス管理システムの一実施形態について説明する（適宜、参照図以外の図も参照）。
なお、コマンドとは、ユーザー（運用管理者）が業務プログラムに対して直接命令を与える文字列である。本実施形態では、コマンドは、業務プログラムが提供している操作命令やオペレーティングシステム（以下、ＯＳという。）が提供している操作命令、または、ユーザーが障害の回復手順やインストール手順を、コンピュータで実行可能な形式で記述した簡易プログラム（以下、スクリプトという。）など、ユーザーの作成した操作命令を表す文字列とする。
また、コマンド（起動指示）の実行は、コマンドの直接的な入力など以外に、画面上の「ソフトウエアを移動する」などといったコマンドの内容を示す表示の操作などにより、行われてもよい。
【０００９】
プロセスとは、実行状態にあるプログラムのことであり、業務プログラムを構成するプロセスを起動させることで業務プログラムの機能が実現される。
また、業務プログラムを構成するプロセス名に対して割り当てられる（稼動）プロセスＩＤとは、稼動するプロセスを識別するためにＯＳから割り当てられた、業務コンピュータごとにユニークな値である。
【００１０】
図１は、本実施形態のサービス管理システムＳの全体構成を示した図である。図１に示したように、本実施形態のサービス管理システムＳは、サービス監視装置１（外部機器）、サービス管理装置１１、および、複数の業務コンピュータ４０から構成されている。そして、サービス管理装置１１と複数の業務コンピュータ４０は、ネットワーク３により接続されている。なお、記憶部１７は、サービス管理装置１１に対して、内部に組み込まれていても、あるいは、外付けとなっていても、いずれでもよい。
【００１１】
サービス監視装置１は、サービスごとに構成する業務コンピュータと業務コンピュータ内の業務プログラムを表示したり、サービスを構成する業務プログラムの起動や、サービスを構成する業務コンピュータに対してコマンドの実行などをするための操作画面を表示したり、実行するコマンドが影響を与えるサービスを表示したりするＧＵＩ(Graphical User Interface)１０を備えている。サービス監視装置１のハードウェア構成については、図２で後記する。
【００１２】
なお、サービス監視装置１は、ここでは１つしか図示していないが、複数あって、それぞれがサービス管理装置１１に接続され、別々の運用管理者がそれぞれのサービス監視装置１を使用（操作）するようにしてもよい。
また、サービス監視装置１は、サービス管理装置１１と一体化あるいはその内部に組み込まれることで実現されてもよい。
【００１３】
サービス管理装置１１は、表示処理部１２と、テーブル管理部１３と、サービス起動管理部１４と、コマンド影響判定部１５と、サービス間競合検知部１６とを備えている。
表示処理部１２は、サービス監視装置１のＧＵＩ１０にサービスごとの業務コンピュータ名や業務プログラムとプロセス名の構成情報やコマンドに対して影響のあるプロセス情報、あるいは、実行するコマンドの影響結果などを表示させたり、ＧＵＩ１０からの要求を受け付けたりする処理部である。
【００１４】
テーブル管理部１３は、記憶部１７の保持する影響テーブル１７１（影響情報）、構成テーブル１７２（構成情報）、稼動プロセステーブル１７３（稼動プロセス情報）に対して、サービスごとに各テーブルを管理し、各種データの読み込みや書き込みを行う処理部である。
サービス起動管理部１４は、ＧＵＩ１０からのサービスの起動要求（起動指示）を受け付け、起動要求に該当するサービスの構成テーブル１７２に登録されている業務コンピュータ４０の業務プログラムを取得して業務コンピュータ４０のサービス管理エージェント部１８と通信し、プロセスの起動要求を行い、起動したプロセスに割り当てられたプロセスＩＤを取得し、稼動プロセステーブル１７３の作成を行う処理部である。
【００１５】
コマンド影響判定部１５は、ＧＵＩ１０や業務コンピュータ４０のコマンド実行部１９と通信し、実行するコマンドの送受信を行う。コマンド影響判定部１５は、ＧＵＩ１０から受け付けたコマンドが及ぼす他サービスへの影響をサービス間競合検知部１６から取得して、ＧＵＩ１０へのメッセージ、もしくは、コマンド実行部１９へのメッセージを作成しデータを送る処理部である。
サービス間競合検知部１６は、記憶部１７の３つのテーブル（１７１〜１７３）を用いて実行するコマンドが他サービスに影響を与えるか否かを検出する処理部である。
【００１６】
影響テーブル１７１は、コマンドが影響を及ぼすサービス内の業務プログラム２０のプロセス名を保持する。構成テーブル１７２は、サービスを構成する業務コンピュータ４０内の該当するサービスの構成要素である業務プログラム２０のプロセスの構成情報を保持する。稼動プロセステーブル１７３は、サービスごとに該当する構成テーブル１７２のプロセス名に割り当てられたプロセスＩＤを保持する。
【００１７】
業務コンピュータ４０は、業務プログラム２０と、サービス管理エージェント部１８と、コマンド実行部１９を備える。業務プログラム２０は、サービスを提供するための実行プログラムであり、各業務コンピュータ内に複数存在する。なお、各サービスは、複数の業務プログラム２０を複数の業務コンピュータ４０にまたがり使用し、サービスを構成する。サービス管理エージェント部１８は、サービス管理装置１１のサービス起動管理部１４から起動するプロセス名のデータを受け付け、データ内の各プロセスを起動する。サービス管理エージェント部１８は、また、起動したプロセスにＯＳから割り当てられるプロセスＩＤを取得し、サービス起動管理部１４に送信する処理部である。
コマンド実行部１９は、サービス管理装置１１のコマンド影響判定部１５により、他サービスに影響が無いと判断された場合に、実行するコマンドのデータを受け付け、コマンドの実行を行う処理部である。
【００１８】
図２は、本実施形態のサービス監視装置１とサービス管理装置１１のハードウェア構成を示した図である。サービス管理装置１１は、ＣＰＵ（Central Processing Unit）２７２１（処理部）、メモリ２７２２（記憶部）、記憶装置２７２３（記憶部）、表示インターフェース２７２４、ディスクインターフェース２７２５、および通信インターフェース２７２６を備えている。また、サービス監視装置１は、ＣＰＵ２７３１、メモリ２７３２、記憶装置２７３３、および表示インターフェース２７３４を備えている。
【００１９】
ここで、サービス管理プログラム６は、ＣＰＵ２７２１が記憶装置２７２３に格納されていた各プログラムをメモリ２７２２上にロードして実行することで実現できる。また、サービス管理装置１１は、外部の記憶部１７（記憶部）とディスクインターフェース２７２５を介して接続され、業務コンピュータ４０と通信インターフェース２７２６およびネットワーク３を介して接続される。
【００２０】
一方、サービス監視装置１において、ＧＵＩ１０は、ＣＰＵ２７３１が記憶装置２７３３に格納されていたプログラムをメモリ２７３２上にロードして実行することで実現できる。
また、図１の影響テーブル１７１、構成テーブル１７２、および稼動プロセステーブル１７３は、記憶部１７に格納される。
【００２１】
図３は、本実施形態の業務コンピュータ４０のハードウェア構成を示した図である。業務コンピュータ４０において、サービス管理エージェント部１８とコマンド実行部１９は、ＣＰＵ２７４１、メモリ２７４２、記憶装置２７４３、および通信インターフェース２７４４によって実現することができる。つまり、サービス管理エージェント部１８とコマンド実行部１９は、ＣＰＵ２７４１が記憶装置２７４３に格納されていた各プログラムをメモリ２７４２上にロードして実行することで実現される。また、業務コンピュータ４０は、サービス管理装置１１と、通信インターフェース２７４４およびネットワーク３を介して接続される。
【００２２】
図４は、本発明の実施例を表す図である。
業務システム７は業務コンピュータ１（４００）〜４（４０３）（業務コンピュータ４０に相当）から構成され、各業務コンピュータ１（４００）〜４（４０３）はサービスＡ（７４）とサービスＢ（７５）の構成要素となっている。つまり、業務コンピュータ１（４００）〜３（４０２）はサービスＡ（７４）の構成要素となっており、業務コンピュータ２（４０１）〜４（４０３）はサービスＢ（７５）の構成要素となっている。すなわち、業務コンピュータ２（４０１）と３（４０２）はサービスＡ（７４）とサービスＢ（７５）の両方の構成要素となっている。
【００２３】
サービス管理装置１１はサービス単位で業務システム７を管理し、運用管理者はサービス監視装置１から一元的に業務システム７を監視する。また、各業務コンピュータ１（４００）〜４（４０３）には、サービスを構成する業務プログラム２００〜２１１が配備されている。
【００２４】
業務コンピュータ１（４００）には、共通プログラムＣ１（２０２）と、サービスＡ（７４）が使用し単独で動作する（共通プログラムＣ１（２０２）を前提としない）業務プログラムＡ１（２００）と、共通プログラムＣ１（２０２）を前提プログラムとする業務プログラムＡ２（２０１）が配備されている。
業務コンピュータ２（４０１）には、共通プログラムＣ１（２０５）と、共通プログラムＣ１（２０５）を前提プログラムとするサービスＡ用の業務プログラムＡ２（２０３）とサービスＢ用の業務プログラムＢ１（２０４）が配備されている。
なお、共通プログラムＣ１（２０２）と共通プログラムＣ１（２０５）など、プログラム名（「Ｃ１」など）が同じプログラムは、同じ内容のプログラムである。
【００２５】
業務コンピュータ３（４０２）には、共通プログラムＣ２（２０８）と、共通プログラムＣ２（２０８）を前提プログラムとするサービスＡ用の業務プログラムＡ３（２０６）とサービスＢ用の業務プログラム（２０７）が存在する。
業務コンピュータ４（４０３）には、共通プログラムＣ２（２１１）と、サービスＢが使用する共通プログラムＣ２（２１１）を前提プログラムとする業務プログラムＢ２（２０９）が配備され、さらに、業務プログラムＢ２（２０９）を前提プログラムとする業務プログラムＢ３（２１０）が配備されている。
【００２６】
図５は、業務プログラム名（５０００）（図４で示した業務プログラム２００〜２１１）と、各業務プログラムを構成するプロセス名（５００１）との対応関係を示した図である。
業務コンピュータ１（４００）内のサービスＡ用業務プログラムＡ１（２００）のプロセス名はプロセスＡ１、サービスＡ用業務プログラムＡ２（２０１）のプロセス名はプロセスＡ２、共通プログラムＣ１（２０２）のプロセス名はプロセスＣ１である。また、業務コンピュータ２（４０１）内のサービスＡ用業務プログラムＡ２（２０３）のプロセス名はプロセスＡ２、共通プログラムＣ１（２０２）のプロセス名はプロセスＣ１、サービスＢ用業務プログラムＢ１（２０４）のプロセス名はプロセスＢ１である。また、業務コンピュータ３（４０２）内のサービスＡ用業務プログラムＡ３（２０６）のプロセス名はプロセスＡ３、サービスＢ用業務プログラムＢ２（２０７）のプロセス名はプロセスＢ２、共通プログラムＣ２（２０８）のプロセス名はプロセスＣ２である。また、業務コンピュータ４（４０３）内のサービスＢ用業務プログラムＢ２（２０９）のプロセス名はプロセスＢ２、サービスＢ用業務プログラムＢ３（２１０）のプロセス名はプロセスＢ３、共通プログラムＣ２（２１１）のプロセス名はプロセスＣ２である。以下図６、図７、図８で使用するプロセス名も同様の対応関係である。
【００２７】
図６は、記憶部１７が保持するテーブルの１つである影響テーブル１７１を示した図である。
影響テーブル１７１は、実行するコマンド名に対して、影響を及ぼすプロセス名との関係を保持するもので、運用管理者が管理するサービスごとに定義（予め入力）したものである。
【００２８】
運用管理者は、サービスＡ（７４）に対する影響テーブル１７１ａを作成する場合、コマンド１（４１０）〜４（４１３）と、それらを実行したときにサービスＡ（７４）に影響があるプロセス名Ａ１（４２０）〜Ｃ２（４２４）を入力し、チェック（丸印）を付ける。
同様に、運用管理者は、サービスＢ（７５）に対する影響テーブル１７１ｂを作成する場合、コマンド１（４４０）〜４（４４３）と、それらを実行したときにサービスＢ（７５）に影響があるプロセス名Ｂ１（４５０）〜Ｃ２（４５４）を入力し、チェック（丸印）を付ける。
【００２９】
ここでは、一例として、サービスＡ（７４）に対する影響テーブル１７１ａのコマンド２（４１１）はプロセスＡ２（４２１）とプロセスＣ１（４２３）に影響があり、サービスＢ（７５）に対応する影響テーブル１７１ｂには、同じコマンド名のコマンド２（４４１）はサービスＢ（７５）のプロセスＢ２（４５１）とプロセスＣ１（４５３）に影響があることを登録している。
なお、プロセスに及ぼす影響とは、プロセスＡに対して、プロセスＡの起動、停止および変更があるコマンドを実行する場合に、プロセスＡと関連している別のプロセスＢにも起動、停止および変更が行われることを意味する。
【００３０】
図７は、記憶部１７が保持するテーブルの１つである構成テーブル１７２を示した図である。
構成テーブル１７２は、各サービスを構成する業務コンピュータ名と、業務コンピュータ１（４００）〜４（４０３）内でサービスごとに提供する業務プログラム２００〜２１１のプロセス名の構成を保持するものであり、運用管理者が管理するサービスごとに定義（予め入力）したものである。
【００３１】
運用管理者は、サービスＡ（７４）に対する構成テーブル１７２ａを作成する場合、サービスＡ（７４）で使用される業務コンピュータ１（５１０）〜３（５１２）と、対応する業務コンピュータ１（４００）〜３（４０２）内でサービスＡ（７４）を構成する業務プログラムのプロセス名Ａ１（５２０）〜Ｃ２（５２４）を入力し、チェック（丸印）を付ける。
同様に、運用管理者は、サービスＢ（７５）に対する構成テーブル１７２ｂを作成する場合、サービスＢ（７５）で使用される業務コンピュータ２（５４０）〜４（５４２）と、対応する業務コンピュータ２（４０１）〜４（４０３）内でサービスＢを構成する業務プログラムのプロセス名Ｂ１（５５０）〜Ｃ２（５５４）を入力し、チェック（丸印）を付ける。
【００３２】
ここで、サービスＡ（７４）の構成テーブル１７２ａの業務コンピュータ２（５１１）には、サービスＡ（７４）の構成要素となる業務プログラムのプロセス名であるプロセスＡ２（５２１）とプロセスＣ１（５２３）を登録し、サービスＢ（７５）の構成テーブル１７２ｂの業務コンピュータ２（５４０）には、サービスＢ（７５）の構成要素となる業務プログラムのプロセス名であるプロセスＢ１（５５０）とプロセスＣ１（５５３）が登録される。
【００３３】
図８は、記憶部１７が保持するテーブルの１つである稼動プロセステーブル１７３を示した図である。
稼動プロセステーブル１７３は、構成テーブル１７２を元に作成され、各業務コンピュータ１（６１０）〜３（６１２）に対応する各業務プログラム２００〜２１１のプロセス名Ａ１（６２０）〜Ｃ２（６２４）が起動時にＯＳから割り当てられたプロセスＩＤを保持するものであり、運用管理者が操作したサービス監視装置１のＧＵＩ１０からのサービスの起動要求をサービス起動管理部１４が受け付け、各業務コンピュータ４０のサービス管理エージェント部１８からプロセスＩＤを取得し登録される。また、稼動プロセステーブル１７３は管理するサービスごとに作成されるものである。
【００３４】
サービスＡ（７４）に対する稼動プロセステーブル１７３ａは、構成テーブル１７２ａに登録されている業務コンピュータ１（５１０）〜３（５１２）にチェックされているプロセス名Ａ１（５２０）〜Ｃ２（５２４）を起動するときに取得したプロセスＩＤを書き込み作成される。
サービスＢ（７５）に対する稼動プロセステーブル１７３ｂは、構成テーブル１７２ｂに登録されている業務コンピュータ２（５４０）〜４（５４２）にチェックされているプロセス名Ｂ１（５５０）〜Ｃ２（５５４）を起動するときに取得したプロセスＩＤを書き込み作成される。
【００３５】
ここで、サービスＡ（７４）の稼動プロセステーブル１７３ａの業務コンピュータ２（６１１）には、サービスＡ（７４）の構成要素となる業務プログラムのプロセス名であるプロセスＡ２（６２１）が稼動するプロセスＩＤ値「１５０」とプロセスＣ１（６２３）が稼動するプロセスＩＤ値「４００」を登録し、サービスＢ（７５）の稼動プロセステーブル１７３ｂの業務コンピュータ２（６４１）には、サービスＢ（７５）の構成要素となる業務プログラムのプロセス名であるプロセスＢ１（６５０）の稼動プロセスＩＤ値「２００」とプロセスＣ１（６５３）の稼動プロセスＩＤ値「４００」が登録される。なお、サービスＡ（７４）とサービスＢ（７５）の両方が使用する業務コンピュータ２（４０１）内の共通プログラムＣ１（２０５）は稼動プロセステーブル１７３ａと１７３ｂにおいて同一のプロセスＩＤ値「４００」であることから、同一のプロセスＣ１上で稼動していることがわかる。
【００３６】
図９は、サービス管理装置１１のサービス起動管理部１４が、サービス監視装置１のＧＵＩ１０における運用管理者によるサービスの起動要求を受け付けた場合に、サービスを構成するプロセスの起動要求を行い、起動したプロセスのプロセスＩＤを取得し、取得したプロセスＩＤを稼動プロセステーブルに登録する処理の流れを示したフローチャートである。以下、動作主体はサービス起動管理部１４である。
【００３７】
まず、ステップ８００において、ＧＵＩ１０経由で運用管理者から起動するサービス名を受け付け、ステップ８０１に進む。
次に、ステップ８０１では、ステップ８００で受け付けたサービス名に対応する構成テーブル１７２（図７参照）を取得し、ステップ８０２に進む。
ステップ８０２では、ステップ８０１で取得した構成テーブル１７２（図７参照）から業務コンピュータ名と業務コンピュータ内に保持するプロセス名をコピーして、稼動プロセステーブル１７３（図８参照）を作成し、ステップ８０３に進む。
【００３８】
ステップ８０３では、ステップ８０１で取得した構成テーブル１７２の業務コンピュータ名ごとに登録されているプロセス名を取得し、起動要求メッセージ（リスト）を作成（図１０参照）し、ステップ８０４に進む。
ステップ８０４では、ステップ８０３で作成した起動要求メッセージを該当する業務コンピュータのサービス管理エージェント部１８へ送り（つまり、構成テーブル１７２の各業務コンピュータ名のプロセスを起動要求し）、起動したプロセス名のプロセスＩＤが登録された稼動プロセスＩＤリスト（図１１参照）を取得し、ステップ８０５に進む。なお、起動するプロセス名のプロセスＩＤを取得する処理は、図１２で詳しく説明する。
【００３９】
ステップ８０５では、ステップ８０４で取得した稼動プロセスＩＤリスト（図１１参照）に登録されている各プロセスＩＤを、稼動プロセステーブル１７３（図８参照）に登録されている同じ業務コンピュータ名の行の同じプロセス名に登録する。次にステップ８０６に進む。
ステップ８０６では、ステップ８０３で作成した、業務コンピュータへの起動要求メッセージ（図１０参照）をすべて送信していない場合（「Ｎｏ」）はステップ８０７に進み、送信している場合（「Ｙｅｓ」）は処理を終了する。
ステップ８０７では、まだ起動要求していない業務コンピュータ名を取得し、ステップ８０４へ戻る。
【００４０】
図１０は、運用管理者がサービスＡ（７４）の起動を要求した場合に、サービス起動管理部１４が、サービスＡ（７４）の業務コンピュータ１（４００）へ送る起動要求メッセージ９００の例を示した図である。サービス起動管理部１４は、サービスＡ（７４）の構成テーブル１７２ａから業務コンピュータ１（５１０）の行に登録されているプロセス名である、プロセスＡ１（９０２）、プロセスＡ２（９０３）およびプロセスＣ１（９０４）を取得、登録し、起動要求メッセージ９００を作成する。
【００４１】
図１１は、業務コンピュータ４０のサービス管理エージェント部１８がサービス起動管理部１４からの起動要求メッセージ９００（図１０参照）のプロセス名（９０１）に従い、起動したプロセスＩＤ９２５を登録する稼動プロセスＩＤリスト９２０（稼動プロセスＩＤ情報）の例を示した図である。稼動プロセスＩＤリスト９２０のプロセスＡ１（９２２）の稼動するプロセスＩＤは「１００」であり、プロセスＡ２（９２３）の稼動するプロセスＩＤは「２００」であり、また、プロセスＣ１（９２４）の稼動するプロセスＩＤは「３００」である。
【００４２】
図１２は、業務コンピュータ４０のサービス管理エージェント部１８が起動要求メッセージ９００（図１０参照）を受け付けた場合に、その起動要求メッセージ９００に登録されているプロセス名９０１のプロセスを順次起動し、起動したプロセスのプロセスＩＤを取得して、稼動プロセスＩＤリスト９２０（図１１参照）を作成する処理の流れを示したフローチャートである。なお、ここで作成される稼動プロセスＩＤリスト９２０は、図９のステップ８０５で使用されるものである。
また、ここでは、起動要求のあったプロセス名が既に起動していて、プロセスを２重に起動する場合でも、サービスが使用するプロセスのプロセスＩＤを取得することができるものとする。以下、動作主体はサービス管理エージェント部１８である。
【００４３】
まず、ステップ１０００では、サービス起動管理部１４から起動要求メッセージ９００（図１０参照）を受け付け、ステップ１００１に進む。
ステップ１００１では、起動要求メッセージ９００（図１０参照）のプロセス名９０１をプロセス名９２１にコピーした稼動プロセスＩＤリスト（図１１参照）を作成し、ステップ１００２に進む。
ステップ１００２では、ステップ１００１で作成した稼動プロセスＩＤリストのプロセス名からプロセス名を１つ（例えばプロセスＡ１）取得し、ステップ１００３に進む。
ステップ１００３では、ＯＳに対して、ステップ１００２で取得したプロセス名のプロセスの起動を依頼（指示）し、ステップ１００４に進む。
【００４４】
ステップ１００４では、ステップ１００３で起動依頼したプロセスがＯＳで実際に起動したか否かを判断し、起動した場合（「Ｙｅｓ」）はステップ１００５に進み、起動しなかった場合（「Ｎｏ」）はステップ１００６に進む。
なお、プロセスには、既に起動していてもそれとは別に新たに起動できるものと、既に起動している場合には新たに起動できないものの２種類がある。このステップ１００４において、前者のプロセスの場合は既に起動しているか否かに関係なく起動するが、後者のプロセスの場合は既に起動している場合は新たに起動できないことになる。
【００４５】
ステップ１００６では、ステップ１００２で取得したプロセス名が既に起動済みの場合（「Ｙｅｓ」）はステップ１００７に進み、そうでない場合（「Ｎｏ」）は、ステップ１００８に進む。
なお、ステップ１００４でプロセスが起動しなかった場合（「Ｎｏ」）、その理由は大きく２つ考えられる。１つは、プロセスが上記した２種類のうちの後者であって、さらに、既に起動されていた場合である。その場合、ステップ１００６から「Ｙｅｓ」に進むことになる。
そして、もう１つは、プロセス自体に支障があった場合、つまり、プロセスが削除されていたり、プロセスが壊れていたりした場合である。その場合、ステップ１００６から「Ｎｏ」に進むことになる。
【００４６】
ステップ１００７では、起動済みであるステップ１００２で取得したプロセス名のプロセスＩＤを用いて、稼動プロセスＩＤリスト９２０の該当するプロセス名にプロセスＩＤを登録し、ステップ１００８に進む。
ステップ１００５では、新たに起動したステップ１００２で取得したプロセス名のプロセスＩＤを用いて、稼動プロセスＩＤリストの該当するプロセス名にプロセスＩＤを登録し、ステップ１００８へ進む。
【００４７】
ステップ１００８では、稼動プロセスＩＤリスト９２０のプロセス名にすべてのプロセスＩＤが登録されたか、つまり、すべてのプロセスが起動完了したかを判断し、完了している場合（「Ｙｅｓ」）は処理を終了し、完了していない場合（「Ｎｏ」）はステップ１００９へ進む。
ステップ１００９では、稼動プロセスＩＤリストのプロセスＩＤを取得していないプロセス名（例えばプロセスＡ２）を取得して、ステップ１００３へ戻り、以降の処理を行う。
【００４８】
ここまでの、運用管理者による各種設定（定義）、および、サービス管理装置１１と業務コンピュータ４０による各種処理によって、影響テーブル１７１、構成テーブル１７２および稼動プロセステーブル１７３のすべてが作成（完成）されたことになる。
以下、業務プログラムに対してコマンドを実行する場合について説明する。
【００４９】
図１３は、サービス監視装置１において、運用管理者がＧＵＩ１０を用いて業務プログラムに対するコマンドを実行したときにＣＰＵ２７３１が作成する実行コマンド影響検出メッセージ１２００を示した図である。ここでは、サービスＡ（７４）に対して、業務コンピュータ２（４０１）にコマンド２（４１１）を実行する場合を例にとって図示しており、この場合、ＣＰＵ２７３１は、サービス名１２０１にはサービスＡ（７４）を、業務コンピュータ名１２０２には業務コンピュータ２（４０１）、そして、実行コマンド名１２０３にはコマンド２（４１１）を登録する。
【００５０】
図１４は、運用管理者がサービスに対応する業務プログラムに対してコマンドを実行したときに、他サービスに影響がないか判定するコマンド影響判定部１５の処理の流れを示したフローチャートである。以下、動作主体はコマンド影響判定部１５である。
まず、ステップ２１００では、運用管理者が操作したサービス監視装置１から、実行するコマンド、対象とするサービス名、および、実行する業務コンピュータ名を格納した実行コマンド影響検出メッセージ１２００（図１３参照）を受け取り、ステップ２１０１に進む。
【００５１】
ステップ２１０１では、ステップ２１００で受け取った実行コマンド影響検出メッセージ１２００（図１３参照）をサービス間競合検知部１６に送り、実行するコマンドのサービス間の競合検知結果であるサービス間の影響を格納した競合サービスリスト９２００（図１７参照）を取得し、ステップ２１０２に進む。なお、実行するコマンドのサービス間の競合を検知する処理（ステップ２１０１）については、図１５で詳しく説明する。
【００５２】
また、ここで、図１７を参照しながら、競合サービスリスト９２００について説明する。図１７は、競合サービスリスト９２００を示した図である。競合サービスリスト９２００は、実行するコマンド（１２０３）に対して影響のあるサービスとプロセスを、それぞれサービス名９２１０とプロセス名９２２０に格納する。
【００５３】
図１４に戻って、ステップ２１０２では、ステップ２１０１で取得した競合サービスリスト９２００（図１７参照）のサービス名９２１０にサービス名が存在する場合（「Ｙｅｓ」）は、ステップ２１０３に進み、存在しない場合（「Ｎｏ」）はステップ２１０４に進む。
ステップ２１０３では、ステップ２１０１で取得した競合サービスリスト９２００（図１７参照）を表示処理部１２に送り、処理を終了する。なお、表示処理部１２は、この競合サービスリスト９２００などをサービス監視装置１に送り、それに基づいてＧＵＩ１０が画面表示を行う（詳細は図１８で後記）。
【００５４】
ステップ２１０４では、実行するコマンドは他サービスに影響がないと判断された場合のステップであり、実行コマンド影響検出メッセージ１２００（図１３参照）を、コマンドを実行する業務コンピュータ２（４０１）のコマンド実行部１９に送信し、処理を終了する。この後のコマンド実行部１９の処理については、図１６で後記する。
【００５５】
図１５は、実行するコマンドがサービス間で競合するか否かを、影響テーブル１７１、構成テーブル１７２、および稼動プロセステーブル１７３を用いて判定し、競合するサービスとプロセス名を取得するサービス間競合検知部１６の処理の流れを示したフローチャートである。以下、動作主体はサービス間競合検知部１６である。
なお、ここでは、図１３の実行コマンド影響検出メッセージ１２００に示したように、「業務コンピュータ２」の「サービスＡ」に対して「コマンド２」を実行する場合を例にとって説明する。
【００５６】
まず、ステップ２２００では、コマンド影響判定部１５から実行コマンド影響検出メッセージ１２００（図１３参照）を受け取り、ステップ２２０１に進む。
ステップ２２０１では、受け取った実行コマンド影響検出メッセージ１２００（図１３参照）に格納されているサービス名１２０１に対応する影響テーブル１７１を取得し、取得した影響テーブル１７１から実行するコマンド名（「コマンド２」）と同じ行にチェックされているプロセス名をすべて取得し、ステップ２２０２−１に進む。ここでは、図６の影響テーブル１７１ａからプロセスＡ２（４２１）とプロセスＣ１（４２３）を取得する。
【００５７】
ステップ２２０２−１では、ステップ２２０１で受け取った実行コマンド影響検出メッセージ１２００（図１３参照）に格納されている実行コマンド名１２０３が実行される業務コンピュータ名１２０２を構成要素とするサービス名をすべての構成テーブル１７２から取得し、ステップ２２０３に進む。ただし、ステップ２２０２−１で受け取った実行コマンド影響検出メッセージ１２００に格納されているサービス名（「サービスＡ」）自身は不要なので取得対象外とする。ここでは、図７から、サービスＡ以外のサービスの構成テーブル１７２ｂから業務コンピュータ２（５４０）はサービスＢも使用していることを取得する。
【００５８】
次に、ステップ２２０２−２では、ステップ２２０１で取得したプロセスのうち、いずれか１つ（例えば「プロセスＣ１」）に着目し、以降の処理はその着目したプロセスに関して行う。
ステップ２２０３では、ステップ２２０２−１で取得したサービス名に対応する構成テーブル１７２に登録されている当該業務コンピュータ名の行に、ステップ２２０２−２で着目したプロセス名と同一名のプロセス名が存在するか否かを判断し、存在する場合（「Ｙｅｓ」）はステップ２２０４に進み、存在しない場合（「Ｎｏ」）はステップ２２０５に進む。ここでは、図７から、サービスＢの構成テーブル１７２ｂの業務コンピュータ２（５４０）に登録されているプロセスＢ１（５５０）とプロセスＣ１（５５３）を取得する。そして、そのうち、プロセスＣ１（５５３）は、ステップ２２０２−２で着目したプロセスなので、このステップ２２０３でいう同名のプロセス名ということになる。
【００５９】
ステップ２２０４では、実行コマンド影響検出メッセージ１２００（図１３参照）に格納されているサービス名１２０１に対応する稼動プロセステーブル１７３から、コマンドを実行する業務コンピュータ名の行に登録されている、ステップ２２０３で取得した（サービス間で共通して使用する）プロセス名のプロセスＩＤを取得し、ステップ２２０６に進む。例として、図８から、サービスＡの稼動プロセステーブル１７３ａの業務コンピュータ２（６１１）に登録されているプロセスＣ１（６２３）のプロセスＩＤ値「４００」を取得する。
【００６０】
ステップ２２０６では、ステップ２２０２−１で取得した他サービス名に対応する稼動プロセステーブル１７３から、該当業務コンピュータ名の行に登録されている、ステップ２２０３で取得したサービス間で使用するプロセス名のプロセスＩＤを取得し、ステップ２２０７に進む。例として、図８から、サービスＢの稼動プロセステーブル１７３ｂの業務コンピュータ２（６４０）に登録されているプロセスＣ１（６５３）のプロセスＩＤ値「４００」を取得する。
【００６１】
ステップ２２０７では、コマンドを実行する業務コンピュータ内で、ステップ２２０４で取得した（コマンドの実行対象であるサービスが使用するプロセスの）プロセスＩＤとステップ２２０６で取得した（他サービスが使用しているプロセスの）プロセスＩＤを比較し、同じ値の場合（「Ｙｅｓ」）はステップ２２０８へ進み、同じ値でない場合（「Ｎｏ」）はステップ２２０５に進む。例として、図８の稼動プロセステーブル１７３に記載された値では、サービスＡとサービスＢが使用する業務コンピュータ２（４０１）内の共通プログラムＣ１（２０５）のプロセスＣ１は、同じプロセスＩＤ値「４００」である。
【００６２】
ステップ２２０７で「Ｙｅｓ」、つまり、２つのプロセスＩＤが同じということは、実行するコマンドが、他サービスに影響を与えてしまうことを意味する。そこで、ステップ２２０８では、その影響のあるサービス名と、その共通のプロセスのプロセス名を取得し、そのサービス名を競合サービスリスト９２００のサービス名９２１０（図１７参照）に登録し、そのプロセス名をプロセス名９２２０（図１７参照）に登録し、ステップ２２０９に進む。ここでは、影響のあるサービス名としてサービスＢを、プロセス名としてプロセスＣ１を登録する。
【００６３】
ステップ２２０９では、ステップ２２０８で影響があると判断されたサービス名の影響テーブル１７１に、実行するコマンド（１２０３）と同名のコマンドが登録されているか検索し、登録されている場合（「Ｙｅｓ」）はステップ２２１０に進み、登録されていない場合（「Ｎｏ」）はステップ２２０５に進む。例として、図６のサービスＢの影響テーブル１７１ｂに、実行コマンド影響検出メッセージ１２００（図１３参照）のコマンド（１２０３）と同名のコマンド２（４４１）が登録されている。
【００６４】
ステップ２２１０では、他サービスの影響テーブル１７１に登録されている（コマンドが影響を与える）プロセス名を取得し、競合サービスリスト９２００のプロセス名９２２０に登録し、ステップ２２０５に進む。例として、図６から、サービスＢの影響テーブル１７１ｂのコマンド２（４４１）に登録されているプロセスＢ２（６５１）とプロセスＣ１（６５３）を取得し、競合サービスリスト９２００のプロセス名９２２０に登録する。
【００６５】
ステップ２２０５では、ステップ２２０２−１で取得した、コマンドを実行する業務コンピュータに存在するすべてのサービス名に対して検索を行ったか判断し、すべて検索している場合（「Ｙｅｓ」）はステップ２２１１に進み、すべて検索していない場合（「Ｎｏ」）はステップ２２０２−１で取得したサービス名のうち未検索のサービス名を取得してステップ２２０３に戻る。
【００６６】
なお、本実施形態の例では、サービスＡ以外のサービスとしてサービスＢしか存在していないため、このステップ２２０５から「Ｙｅｓ」に進むことになる。しかし、サービスＡ以外にサービスＢ、Ｃ、・・・と複数のサービスが存在する場合には、サービスＡ以外のすべてのサービスについてステップ２２０３以降の処理を行うまで、このステップ２２０５から「Ｎｏ」に進むことになる。
【００６７】
ステップ２２１１では、ステップ２２０１で取得した（コマンドを実行するサービスの影響テーブルの実行するコマンド名に登録されている）すべてのプロセス名についてステップ２２０３以降の処理を行ったか否か判断し、全プロセスについて処理している場合（「Ｙｅｓ」）は処理を終了し、そうでない場合（「Ｎｏ」）は、ステップ２２０２−２に戻って残りのプロセスのいずれかに着目し、新たにステップ２２０３以降の処理を行う。例として、図６から、サービスＡの影響テーブル１７１ａのコマンド２にはプロセスＣ１（４２３）の他に、プロセスＡ２（４２１）が存在しているので、ステップ２２０３に戻りプロセスＡ２（４２１）についてサービス間の影響を検出する。なお、プロセスＡ２（４２１）はステップ２２０３でサービスＢの構成テーブル１７２ｂに存在しないため、サービスＢには影響がないと判断される（ステップ２２０３で「Ｎｏ」→ステップ２２０５）。
【００６８】
以上の処理により、実行コマンド影響検出メッセージ１２００（図１３参照）で示したサービスＡ（１２０１）に対するコマンド２（１２０３）を業務コンピュータ２（１２０２）で実行する場合は、他サービスであるサービスＢに影響があり、さらにサービスＢの使用するプロセスＣ１（４５３）とプロセスＢ２（４５１）に影響があることがわかる。
【００６９】
図１６は、コマンド影響判定部１５により他サービスに影響がないと判断されたコマンドを実行するコマンド実行部１９の処理の流れを示したフローチャートである。なお、この処理は、図１４のステップ２１０４の後に行われる処理である。以下、動作主体はコマンド実行部１９である。
【００７０】
まず、ステップ２３００では、コマンド影響判定部１５から実行コマンド影響検出メッセージ１２００（図１３参照）を受け取り、その実行コマンド影響検出メッセージ１２００から実行する実行コマンド名１２０３を取得し、ステップ２３０１に進む。
ステップ２３０１では、ステップ２３００で取得した実行コマンド名１２０３をＯＳに実行要求する。
【００７１】
図１８は、実行するコマンドのサービス間の影響をコマンド影響判定部１５により検知した結果を運用管理者に通知するための画面表示を示した図である。この画面表示は、サービス管理装置１１の表示処理部１２からの指示により、サービス監視装置１のＧＵＩ１０が行う。なお、ここでは、図１３の実行コマンド影響検出メッセージ１２００に示したように、「業務コンピュータ２」の「サービスＡ」に対して「コマンド２」を実行する場合を例にとって説明する。以下、動作主体は運用管理者である。
【００７２】
まず、ＧＵＩ１０の画面の左側のエリア１７００にある「サービスＡ」と「サービスＢ」のうち、「サービスＡ」を選択する。
そうすると、サービス構成エリア１７１０に、サービスＡを構成する業務コンピュータである「業務コンピュータ１」、「業務コンピュータ２」および「業務コンピュータ３」が表示される。
【００７３】
次に、コマンド実行エリア１７２０において、実行先コンピュータ名１７０１として「業務コンピュータ２」を選択し、実行コマンド名１７０２として「コマンド２」を選択し、さらに、実行ボタン１７０３を押下する。このとき、サービス監視装置１において、図１３に示した実行コマンド影響検出メッセージ１２００が作成される。
そして、この実行コマンド影響検出メッセージ１２００がサービス管理装置１１に送信され、このコマンド実行は他サービスに影響を与えないと判断された場合（図１４のステップ２１０２で「Ｎｏ」）、このコマンドが実行される（図１４のステップ２１０４）。
【００７４】
一方、このコマンド実行が他サービスに影響を与えると判断された場合（図１４のステップ２１０２で「Ｙｅｓ」）、影響結果エリア１７３０において、影響を与えるサービス（９２１０）とプロセス（９２２０）が、それぞれ、競合サービス名１７０４と競合プロセス名１７０５に表示される。
そして、影響結果エリア１７３０の表示を見て、競合サービス名１７０４に表示されたサービスがそのとき稼動していない場合など、コマンド実行による悪影響がないと判断したときは、実行ボタン１７０６を操作し、コマンドを実行する実行先コンピュータ名１７０１のコマンド実行部１９に実行コマンド影響検出メッセージ１２００（図１３参照）を送信することで、強制的にコマンドを実行することができる。
【００７５】
以上説明したように、本実施形態によれば、複数のサービスが存在するシステムにおいて、運用管理者の操作によるサービス間の影響を事前に検知することで運用管理者の確認作業負担を軽減することができ、また、運用管理者の不用意な操作によるシステムへの意図しない影響を未然に防ぐことができる。
【００７６】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
たとえば、本実施形態では、コマンドが影響を及ぼす単位をプロセスとしたが、複数のプロセスやタスクから構成されるジョブを単位としてもよい。
その他、ハードウェアやフローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００７７】
【図１】本実施形態のサービス管理システムの全体構成を示した図である。
【図２】本実施形態のサービス管理装置とサービス監視装置のハードウェア構成を示した図である。
【図３】本実施形態の業務を構成する業務コンピュータのハードウェア構成を示した図である。
【図４】本実施形態の実施例であるシステム構成を示した図である。
【図５】本実施形態の業務プログラムのプロセス名を示した図である。
【図６】本実施形態の影響テーブルを示した図である。
【図７】本実施形態の構成テーブルを示した図である。
【図８】本実施形態の稼動プロセステーブルを示した図である。
【図９】本実施形態のサービス起動管理部による処理の流れを示したフローチャートである。
【図１０】本実施形態の起動要求メッセージを示した図である。
【図１１】本実施形態の稼動プロセスＩＤリストを示した図である。
【図１２】本実施形態のサービス管理エージェント部による処理の流れを示したフローチャートである。
【図１３】本実施形態の実行コマンド影響検出メッセージを示した図である。
【図１４】本実施形態のコマンド影響判定部による処理の流れを示したフローチャートである。
【図１５】本実施形態のサービス間競合検知部による処理の流れを示したフローチャートである。
【図１６】本実施形態のコマンド実行部による処理の流れを示したフローチャートである。
【図１７】本実施形態の競合サービスリストを示した図である。
【図１８】本実施形態の実行するコマンドの影響を検出した画面例を示した図である。
【符号の説明】
【００７８】
１        サービス監視装置
３        ネットワーク
１０      ＧＵＩ
１１      サービス管理装置
１２      表示処理部
１３      テーブル管理部
１４      サービス起動管理部
１５      コマンド影響判定部
１６      サービス間競合検知部
１７      記憶部
１８      サービス管理エージェント部
１９      コマンド実行部
２０      業務プログラム
４０      業務コンピュータ
１７１    影響テーブル
１７２    構成テーブル
１７３    稼動プロセステーブル
２７２１、２７３１  ＣＰＵ
２７２２、２７３２  メモリ
２７２３、２７３３  記憶装置
【図１】
2008146204.tif 000003
【図２】
2008146204.tif 000004
【図３】
2008146204.tif 000005
【図４】
2008146204.tif 000006
【図５】
2008146204.tif 000007
【図６】
2008146204.tif 000008
【図７】
2008146204.tif 000009
【図８】
2008146204.tif 000010
【図９】
2008146204.tif 000011
【図１０】
2008146204.tif 000012
【図１１】
2008146204.tif 000013
【図１２】
2008146204.tif 000014
【図１３】
2008146204.tif 000015
【図１４】
2008146204.tif 000016
【図１５】
2008146204.tif 000017
【図１６】
2008146204.tif 000018
【図１７】
2008146204.tif 000019
【図１８】
2008146204.tif 000020