【実施例】
【0019】
まず、実施例に係る運用管理システムの構成について説明する。
図1は、実施例に係る運用管理システムの構成を示す図である。
図1に示すように、実施例に係る運用管理システム10は、運用管理装置1と複数の仮想サーバ11とを有する。各仮想サーバ11では業務システムが動作する。業務システムには、例えば、「損益管理システム」、「QA管理システム」、「人事情報システム」、「購買システム」等がある。これらの業務システムは、運用管理装置1による集約対象である。
図1は、集約前の業務システムを示す。
【0020】
運用管理装置1は、業務システムの運用を管理する装置であり、運用情報記憶部2と、実行スケジュール記憶部3と、運用自動実行部4と、集約支援部5と、分析情報記憶部6と、状態遷移スケジュール記憶部7とを有する。なお、
図1において、実線の矢印は運用操作を表し、点線の矢印はデータの読込みを表し、破線の矢印はデータの書込みを表す。
【0021】
運用情報記憶部2は、業務システム情報、運用フロー情報、運用操作部品情報、運用フローグループ情報を記憶する。業務システム情報は、業務システムが動作する仮想サーバ11のIP(Internet Protocol)アドレスに関する情報である。
図2は、業務システム情報の一例を示す図である。
図2に示すように、業務システム情報は、業務システム名とIPアドレスとを対応付ける。
【0022】
業務システム名は、業務システムの名前である。IPアドレスは、業務システムが動作する仮想サーバ11のIPアドレスである。例えば、「損益管理システム」が動作する仮想サーバ11のIPアドレスは「192.168.0.2」である。
【0023】
運用フロー情報は、運用フローに関する情報である。ここで、運用フローとは、業務システムを運用するために行う一連の運用操作の手順を定義したものである。
図3は、運用フローの一例を示す図である。
図3は、「損益管理システム」における「損益集計処理」の運用フローを示す。
【0024】
図3では、バッチ処理を起動し、起動に成功すればファイルを転送し、ファイルの転送に成功すれば、メールを送信(1)を行うことが定義されている。また、バッチ処理を起動し、起動に成功すればファイルを転送し、ファイルの転送に成功しなければ、メールを送信(2)を行うことが定義されている。また、バッチ処理を起動し、起動に成功しなければ、メールを送信(2)を行うことが定義されている。
【0025】
図3において、「バッチを起動」、「成否判定(1)」、「ファイルを転送」等のノードは、運用フローの定義に用いられる運用操作部品である。運用操作部品情報は、運用操作部品に関する情報である。
図4は、運用操作部品情報の一例を示す図である。
図4に示すように、運用操作部品情報は、運用操作部品名と、操作対象IPアドレスと、実行パラメータとを対応付ける。
【0026】
運用操作部品名は、運用操作部品を識別するための名前である。操作対象IPアドレスは、運用操作の対象となる業務システムが動作する仮想サーバ11のIPアドレスである。実行パラメータは、運用操作に関連する情報である。
【0027】
例えば、運用操作部品「バッチを起動」は、IPアドレスが「192.168.0.2」である仮想サーバ11でバッチファイル「/home/user/batch/calculate.sh」を用いてバッチ処理を起動する。また、運用操作部品「ファイルを転送」は、ファイル「/home/user/result/profit_and_loss.csv」を送信先「192.168.0.3」に送信する。
【0028】
運用フローグループ情報は、運用フローのグループに関する情報である。
図5は、運用フローグループ情報の一例を示す図である。
図5に示すように、運用フローグループ情報は、業務システム名と、グループ名と、運用フロー名とを対応付ける。グループ名は、運用フローのグループを識別する名前である。運用フロー名は、グループに属する運用フローの名前である。
【0029】
例えば、「損益管理システム」に対応するグループの名前は、「損益管理運用」であり、「損益管理運用」には、運用フロー「損益管理起動」、「損益管理停止」、「サービスメンテナンス」及び「損益収益処理」が含まれる。
【0030】
実行スケジュール記憶部3は、運用フローを実行するスケジュールを記憶する。例えば、実行スケジュール記憶部3は、運用フロー毎に、起動時刻、終了時刻及び起動パターンを記憶する。ここで、起動パターンには、「毎日」、「日曜日」、「月の最終日」等がある。
【0031】
運用自動実行部4は、運用情報記憶部2及び実行スケジュール記憶部3を参照して、業務システムの運用を行う。
【0032】
集約支援部5は、運用情報記憶部2及び実行スケジュール記憶部3を参照して、業務システムの運用状態を分析し、複数の業務システムの集約を支援する。分析情報記憶部6は、集約支援部5による業務システムの運用状態に関連する情報を記憶する。具体的には、分析情報記憶部6は、グループ情報テーブル、分類テーブル、利用情報テーブル、変更可能区間テーブルを記憶する。状態遷移スケジュール記憶部7は、集約可能な業務システムの状態遷移のスケジュールを記憶する。以下、集約支援部5、分析情報記憶部6及び状態遷移スケジュール記憶部7の詳細について説明する。
【0033】
図6は、集約支援部5の機能構成を示す図である。
図6に示すように、集約支援部5は、種別特定部51と、利用状況特定部52と、スケジュール特定部53と、集約部54とを有する。
【0034】
種別特定部51は、集約候補として指定された業務システムの各運用フローの種別を特定する。種別特定部51は、取得部51aと分類部51bとを有する。
【0035】
取得部51aは、集約候補として指定された業務システムに対応する運用フローグループ情報を運用情報記憶部2から取得し、分析情報記憶部6のグループ情報テーブルに登録する。また、取得部51aは、グループ情報テーブルに登録した各運用フローの起動時刻、終了時刻及び起動パターンを実行スケジュール記憶部3から取得し、グループ情報テーブルに登録する。
【0036】
図7は、グループ情報テーブルの一例を示す図である。
図7に示すように、グループ情報テーブルは、
図5に示した運用フローグループ情報に、起動時刻、終了時刻及び起動パターンが付加された情報が登録されたテーブルである。
【0037】
例えば、「損益管理システム」に対応するグループの名前は、「損益管理運用」であり、「損益管理運用」には、運用フロー「損益管理起動」が含まれ、「損益管理起動」は「毎日」、「7:55」に起動され、「8:00」に終了する。
【0038】
分類部51bは、グループ情報テーブルに登録された各運用フローを分類することによって運用フローの種別を特定する。運用フローの分類を説明するために、まず、業務システムの状態の4つの分類について説明する。
図8は、業務システムの状態の4つの分類を示す図である。
図8に示すように、業務システムの状態には、「サービス提供状態」、「サービス停止状態」、「バッチ処理状態」及び「メンテナンス状態」がある。
【0039】
「サービス提供状態」は、業務システムの利用者がブラウザなどを利用し、業務システムにアクセスすることで業務システムを利用できる状態であり、その時間帯、時間長はサービスレベルとして規定されているため変更することができない。
【0040】
「サービス停止状態」は、ユーザからアクセスがあった場合にサービス提供時間外であることを通知する状態であり、また、業務システムが複数の仮想サーバ11で構成される場合にDBサーバ、バッチサーバは停止している状態である。「サービス停止状態」は、利用者、運用操作に影響を与えないため、その時間帯、時間長を任意に変更できる。
【0041】
「バッチ処理状態」は、バッチ処理を実行する時間帯であり、ユーザからアクセスがあった場合にサービス提供時間外であることを通知する状態である。業務システムを構成するDBサーバ、バッチサーバは起動した状態である。「バッチ処理状態」は、バッチ処理の結果を他の業務システムに送信していない場合、次に「サービス提供状態」か「メンテナンス状態」になるまでの間で時間帯を変更できる。
【0042】
一方、バッチ処理の結果を他の業務システムに送信している場合には、次に「サービス提供状態」になる、あるいは「メンテナンス状態」になるまでの間で、かつ、送信先の業務システムがその結果の利用を開始するまでの間で時間帯を変更できる。また、上記何れの場合にも、時間長は短縮できない。
【0043】
「メンテナンス状態」は、業務システムを構成するサーバに対しOSの再起動を伴うパッチ適用、ミドルウェアへのパッチ適用を行う状態である。「メンテナンス状態」は、次に「サービス提供状態」か、「バッチ処理状態」になるまでの間で時間帯を変更できるが、同じ仮想サーバ11に集約される業務システムが、「サービス提供状態」又は「バッチ処理状態」である場合に、「メンテナンス状態」に遷移することはできない。
【0044】
運用フローは、業務システムの4つの状態との対応付けにより、以下の4つに分類される。
(1)実行後に「サービス提供状態」となる「サービス提供フロー」
(2)実行後に「サービス停止状態」となる「サービス停止フロー」
(3)実行中に「バッチ処理状態」となる「バッチ処理フロー」
(4)実行中に「メンテナンス状態」となる「メンテナンスフロー」(同一仮想サーバ11で動作する他の業務システムの動作に影響ありの場合となしの場合がある)
【0045】
「サービス提供フロー」は、Webサーバを、「サービス停止状態」の表示から「サービス提供状態」に切り替える。「サービス提供フロー」を「サービス起動部品」の有無で判断すると、メンテナンス実行時に行われるサービス起動と判別できない。そこで、分類部51bは、運用フローで実施する処理に、Webサーバに対するアクセスの振り分け先を業務システムのWebサーバに変更する処理を含むものを「サービス提供フロー」と分類する。
【0046】
振り分け先を業務システムのWebサーバに変更する処理の判断は運用フローが以下の何れかの処理を行っているかどうかで行われる。
(1)運用フローを構成する運用操作部品に「ファイルの文字列置換」が存在し、運用フローが、Webサーバの設定ファイルの記述を「メンテナンス状態」の表示から「サービス提供状態」に切り替えている。
(2)運用フローを構成する運用操作部品に「DNS(Domain Name System)の切り替え」が存在する。そして、運用フローが、業務システムのドメイン名に紐付けられたIPアドレスを、メンテナンスサーバのIPアドレスから業務システムのWebサーバのIPアドレスに切り替えている。
(3)運用フローを構成する運用操作部品に「ロードバランサーの切り替え」が存在し、ロードバランサーに対するレスポンス設定を「メンテナンス状態」の表示から業務システムのWebサーバに切り替えている。
【0047】
分類部51bは、運用フローで実施する処理に、Webサーバに対するアクセスの振り分け先を業務システムのWebサーバから変更する処理を含むものを「サービス停止フロー」と分類する。
【0048】
振り分け先を業務システムのWebサーバから変更する処理の判断は運用フローが以下の何れかの処理を行っているかどうかで行われる。
(1)運用フローを構成する運用操作部品に「ファイルの文字列置換」が存在し、運用フローが、Webサーバの設定ファイルの記述を「メンテナンス状態」の表示から「サービス停止状態」に切り替えている。
(2)運用フローを構成する運用操作部品に「DNSの切り替え」が存在し、運用フローが、業務システムのドメイン名に紐付けられたIPアドレスを、業務システムのWebサーバのIPアドレスからメンテナンスサーバのIPアドレスに切り替えている。
(3)運用フローを構成する運用操作部品に「ロードバランサーの切り替え」が存在し、運用フローが、ロードバランサーに対するレスポンス設定を業務システムのWebサーバから「メンテナンス状態」の表示に切り替えている。
【0049】
分類部51bは、以下の両方に当てはまる場合、「バッチ処理フロー」と分類する。
(1)フロー実行前の状態が、「サービス停止状態」である。
(2)運用フローを構成する運用操作部品に「バッチを起動」が存在する。
【0050】
分類部51bは、以下の両方に当てはまる場合、「メンテナンスフロー」と分類する。
(1)フロー実行前の状態が、「サービス停止状態」である。
(2)運用フローを構成する部品に「OSの修正パッチ適用」、「ミドルウェアの修正パッチ適用」、「仮想サーバを再起動」又は「仮想サーバを停止」が存在する。
【0051】
分類部51bは、運用フローの分類結果を分析情報記憶部6の分類テーブルに登録する。
図9は、分類テーブルの一例を示す図である。
図9に示すように、分類テーブルは、
図7に示したグループ情報テーブルに運用フローの分類が追加されたテーブルである。例えば、
図4に示したように、運用フロー「損益収益処理」は、運用操作部品に「バッチを起動」が存在するので、「サービス停止状態」で実行されると、「バッチ処理フロー」に分類される。
【0052】
利用状況特定部52は、バッチ処理フローに分類された運用フローのバッチ処理結果が他の運用フローにおいて利用される場合を以下の手順で特定する。
(1)利用状況特定部52は、バッチ処理フローにおいて、運用操作部品「ファイルを転送」の情報を運用操作部品情報から抽出する。運用操作部品「ファイルを転送」の情報が存在しない場合は、利用状況特定部52は、処理を終了する。
(2)利用状況特定部52は、「ファイルを転送」の送信先IPアドレスを運用操作部品情報から取得する。例えば、
図4に示したバッチ処理フロー「損益収益処理」の運用操作部品情報から、ファイルの送信先IPアドレスとして「192.168.0.3」が取得される。
【0053】
(3)利用状況特定部52は、送信先IPアドレスに対応する業務システムを業務システム情報から抽出する。例えば、ファイルの送信先IPアドレスとして取得された「192.168.0.3」に対応する業務システムは、
図2に示したように、「購買システム」である。
(4)利用状況特定部52は、(3)で抽出した業務システムの運用フローのグループを取得し、取得した運用フローを分類する。
図10は、バッチ処理結果を利用する業務システムに関する運用フローの分類結果の一例を示す図である。
図10に示すように、「購買システム」に関する運用フローには、「経理処理」、「購買システム起動」等があり、「経理処理」が「バッチ処理フロー」に分類されている。ただし、この例では、「経理処理」のバッチ処理結果を利用する業務システムはない。
【0054】
(5)利用状況特定部52は、(4)で取得した運用フローに含まれるバッチ処理フローにおいて、送信ファイル名を含む運用フローを抽出する。送信ファイル名を含む運用フローが存在しない場合は、利用状況特定部52は、処理を終了する。
(6)利用状況特定部52は、(3)で抽出した業務システムを分析情報記憶部6の利用情報テーブルの利用業務システム名に登録し、(5)で抽出した運用フローを利用情報テーブルの利用フロー名に登録する。
【0055】
図11は、利用情報テーブルの一例を示す図である。
図11に示すように、利用情報テーブルは、業務システム名と、運用フロー名と、分類と、利用業務システム名と、利用フロー名とを対応付ける。利用業務システム名は、バッチ処理結果を利用する業務システムの名前である。利用フロー名は、バッチ処理結果を利用するバッチ処理フローの名前である。
図11では、「損益集計処理」のバッチ処理結果を利用する「購買システム」の「経理処理」が登録されている。
(7)利用状況特定部52は、利用フローについても同様に(1)からの特定処理を実施する。
図10に示したように、「経理処理」のバッチ処理結果を利用する業務システムはないので、「損益集計処理」を先頭とするバッチ処理結果の利用の連鎖は、「損益集計処理」−「経理処理」で途切れる。
【0056】
スケジュール特定部53は、運用フローの分類結果と運用フローの起動時刻及び終了時刻とに基づいて、業務システムの状態遷移スケジュールを特定する。そして、スケジュール特定部53は、時間帯の変更が可能な「サービス停止状態」、「バッチ処理状態」及び「メンテナンス状態」について、時間帯の変更可能区間を特定する。
【0057】
具体的には、スケジュール特定部53は、運用日付毎に以下の手順で業務システムの状態遷移スケジュールを特定する。
(1)スケジュール特定部53は、「サービス提供フロー」の起動時刻から次の「サービス停止フロー」の終了時刻までを「サービス提供状態」とする。
(2)スケジュール特定部53は、「バッチ処理フロー」の起動時刻から終了時刻までを「バッチ処理状態」とする。
(3)スケジュール特定部53は、「メンテナンスフロー」の起動時刻から終了時刻までを「メンテナンス状態」とする。
(4)スケジュール特定部53は、(1)〜(3)に当てはまらない時間を「サービス停止状態」とする。
【0058】
そして、スケジュール特定部53は、以下の手順で時間帯の変更可能区間を特定する。
(1)スケジュール特定部53は、時間帯の変更が可能な状態の前に、他に時間帯の変更が可能な状態への遷移が存在しない場合、「サービス提供状態」の終了時刻を時間帯の変更が可能な状態の開始可能時刻とする。また、スケジュール特定部53は、時間帯の変更が可能な状態の前に、他に時間帯の変更が可能な状態への遷移が存在する場合、その全てを、最も早い時間に実行した場合の終了時刻を、時間帯の変更が可能な状態の開始可能時刻とする。
(2)スケジュール特定部53は、時間帯の変更が可能な状態の後ろに、他に時間帯の変更が可能な状態への遷移が存在しない場合、「サービス提供状態」の開始時刻を時間帯の変更が可能な状態の終了可能時刻とする。また、スケジュール特定部53は、時間帯の変更が可能な状態の後ろに、他に時間帯の変更が可能な状態への遷移が存在する場合、その全てを最も遅い時間に実行した場合の開始時刻を、時間帯の変更が可能な状態の終了可能時刻とする。
【0059】
また、スケジュール特定部53は、「バッチ処理フロー」に分類された運用フローのバッチ処理結果が他の運用フローにおいて利用される場合には、他の運用フローにおけるバッチ処理の時間帯に基づいて、時間帯の変更可能区間を特定する。
【0060】
そして、スケジュール特定部53は、「バッチ処理状態」及び「メンテナンス状態」について、分析情報記憶部6の変更可能区間テーブルに開始可能時刻と終了可能時刻を登録する。
図12は、変更可能区間テーブルの一例を示す図であり、
図13は、状態遷移スケジュールと変更可能区間を示す図である。
【0061】
図12に示すように、変更可能区間テーブルは、「バッチ処理状態」及び「メンテナンス状態」について、開始時刻と、終了時刻と、開始可能時刻と、終了可能時刻と、利用システム名と、利用フロー名とを対応付ける。
【0062】
例えば、
図12及び
図13に示すように、「損益管理システム」の「メンテナンス状態」は、現在の開始時刻は「20:30」であるが、「20:05」から開始可能である。また、「損益管理システム」の「メンテナンス状態」は、現在の終了時刻は「23:30」であるが、「0:25」までに終了すればよい。
【0063】
ここで、「損益管理システム」のバッチ処理は、「購買システム」のバッチ処理との関係で、「04:25」までに終了する必要があるため、「0:25」までに開始する必要がある。したがって、「損益管理システム」の「メンテナンス状態」は、「0:25」までに終了する必要がある。
【0064】
集約部54は、業務システムの状態遷移スケジュールと変更可能区間に基づいて、集約候補として指定された複数の業務システムの集約が可能か否かを判定し、集約が可能である場合に、集約可能な業務システムの状態遷移スケジュールを画面に表示する。集約部54は、判定部54aと出力部54bとを有する。
【0065】
判定部54aは、以下の手順で、集約候補として指定された複数の業務システムの集約が可能か否かを判定し、集約が可能である場合に、集約可能な業務システムの状態遷移スケジュールを作成する。
(1)判定部54aは、集約候補として指定された業務システムの1つを選択し、集約候補グループとする。
【0066】
(2)判定部54aは、集約候補グループに含まれていない業務システムAと、集約候補グループに含まれる業務システムの状態遷移スケジュールを比較し、以下のいずれかに該当する場合に業務システムAを集約候補グループに追加する。
(ア)全ての業務システムの状態について「メンテナンス状態」と「バッチ処理状態」、及び、「メンテナンス状態」と「サービス提供状態」との時間帯が重複しない。
(イ)ある業務システムが「メンテナンス状態」となる時間帯について、その「メンテナンス状態」の時間帯を変更することにより、「メンテナンス状態」と「バッチ処理状態」」、及び、「メンテナンス状態」と「サービス提供状態」の時間帯が重複しない。
(ウ)他の業務システムの状態の時間帯を変更することで、「メンテナンス状態」と「バッチ処理状態」、及び、「メンテナンス状態」と「サービス提供状態」が重複しない。
【0067】
(3)判定部54aは、全ての集約候補の組み合わせについて(1)及び(2)を実施する。そして、判定部54aは、複数の集約候補が属する集約候補グループがある場合には、集約が可能であると判定し、複数の集約候補の状態遷移スケジュールを状態遷移スケジュール記憶部7に格納する。一方、複数の集約候補が属する集約候補グループがない場合には、判定部54aは、集約が可能でないと判定する。
【0068】
出力部54bは、全ての集約候補グループについて、集約可能な状態遷移スケジュールを画面に表示する。
図14は、集約可能な状態遷移スケジュールの表示画面の一例を示す図である。
図13と比較すると、
図14では、「QA管理システム」の「メンテナンス状態」の開始時刻を「0:00」から「20:05」に変更することで「損益管理システム」の「バッチ処理状態」と「QA管理システム」の「メンテナンス状態」の重複が解消されている。
【0069】
図15は、他の業務システムでバッチ処理が行えなくなる場合を示す図である。
図14と比較すると、
図15では、「人事情報システム」が集約候補として追加されている。「人事情報システム」は、
図12に示したように、「5:55」から「0:05」まで「サービス提供状態」であるので、「損益管理システム」及び「QA管理システム」の「メンテナンス状態」の開始時刻は「0:05」に変更され、終了時刻は「3:05」に変更される。しかしながら、この場合、「損益管理システム」のバッチ処理結果を「購買システム」が利用できない。したがって、判定部54aは、「損益管理システム」、「QA管理システム」、「人事情報システム」及び「購買システム」の集約は可能でないと判定する。
【0070】
次に、集約支援処理のフローについて説明する。
図16は、集約支援処理のフローを示すフローチャートである。
図16に示すように、集約支援部5は、集約候補として指定された業務システムの運用を行う運用フローのグループを取得し(ステップS1)、取得したグループに含まれる運用フローを分類する(ステップS2)。
【0071】
そして、集約支援部5は、バッチ処理フローに分類した運用フローの結果の他の運用フローにおける利用状況を特定し(ステップS3)、分類した運用フローの実行スケジュールから、業務システムの状態遷移スケジュールを作成する(ステップS4)。そして、集約支援部5は、バッチ処理結果の利用状況と、業務システムの時間帯毎の動作状態から集約可能な運用を表示する(ステップS5)。
【0072】
このように、集約支援部5は、バッチ処理結果の利用状況と、業務システムの時間帯毎の動作状態から集約可能な運用を表示することで、複数の業務システムの集約を支援することができる。
【0073】
図17は、ステップS1の処理のフローを示すフローチャートである。
図17に示すように、取得部51aは、運用フローグループ情報から業務システムに対応する運用フローのグループを選択する(ステップS11)。そして、取得部51aは、選択したグループ内の全ての運用フローについて起動時刻、終了時刻及び起動パターンの情報を取得する(ステップS12)。
【0074】
そして、取得部51aは、取得した情報をグループ情報テーブルに書込み(ステップS13)、全てのグループの情報を取得したか否かを判定する(ステップS14)。そして、取得部51aは、情報を取得していないグループがある場合には、ステップS11に戻り、情報を取得していないグループがない場合には、処理を終了する。
【0075】
図18は、ステップS2の処理のフローを示すフローチャートである。
図18に示すように、分類部51bは、運用フローを構成する運用操作部品に「ファイルの文字列置換」が存在し、Webサーバの設定ファイルの記述を「メンテナンス状態」の表示から「サービス提供状態」に切り替えているか否かを判定する(ステップS21)。そして、分類部51bは、ステップS21の判定結果が「Yes」である場合には、分類テーブルの分類に「サービス提供フロー」を登録し(ステップS22)、ステップS2dへ進む。
【0076】
一方、分類部51bは、ステップS21の判定結果が「No」である場合には、運用フローを構成する運用操作部品に「DNSの切り替え」が存在し、業務システムのドメイン名に紐付けられたIPアドレスを、メンテナンスサーバのIPアドレスから業務システムのWebサーバのIPアドレスに切り替えているか否かを判定する(ステップS23)。そして、分類部51bは、ステップS23の判定結果が「Yes」である場合には、分類テーブルの分類に「サービス提供フロー」を登録し(ステップS22)、ステップS2dへ進む。
【0077】
一方、分類部51bは、ステップS23の判定結果が「No」である場合には、運用フローを構成する運用操作部品に「ロードバランサーの切り替え」が存在し、ロードバランサーに対するレスポンス設定を「メンテナンス状態」の表示から業務システムのWebサーバに切り替えているか否かを判定する(ステップS24)。そして、分類部51bは、ステップS24の判定結果が「Yes」である場合には、分類テーブルの分類に「サービス提供フロー」を登録し(ステップS22)、ステップS2dへ進む。
【0078】
一方、分類部51bは、ステップS24の判定結果が「No」である場合には、運用フローを構成する運用操作部品に「ファイルの文字列置換」が存在し、Webサーバの設定ファイルの記述を「メンテナンス状態」の表示から「サービス提供状態」に切り替えているか否かを判定する(ステップS25)。そして、分類部51bは、ステップS25の判定結果が「Yes」である場合には、分類テーブルの分類に「サービス停止フロー」を登録し(ステップS26)、ステップS2dへ進む。
【0079】
一方、分類部51bは、ステップS25の判定結果が「No」である場合には、運用フローを構成する運用操作部品に「DNSの切り替え」が存在し、業務システムのドメイン名に紐付けられたIPアドレスを、メンテナンスサーバのIPアドレスから業務システムのWebサーバのIPアドレスに切り替えているか否かを判定する(ステップS27)。そして、分類部51bは、ステップS27の判定結果が「Yes」である場合には、分類テーブルの分類に「サービス停止フロー」を登録し(ステップS26)、ステップS2dへ進む。
【0080】
一方、分類部51bは、ステップS27の判定結果が「No」である場合には、運用フローを構成する運用操作部品に「ロードバランサーの切り替え」が存在し、ロードバランサーに対するレスポンス設定を「メンテナンス状態」の表示から業務システムのWebサーバに切り替えているか否かを判定する(ステップS28)。そして、分類部51bは、ステップS28の判定結果が「Yes」である場合には、分類テーブルの分類に「サービス停止フロー」を登録し(ステップS26)、ステップS2dへ進む。
【0081】
一方、分類部51bは、ステップS28の判定結果が「No」である場合には、運用フロー実行前の状態が「サービス停止状態」であり、運用フローを構成する運用操作部品に「バッチを起動」が存在するか否かを判定する(ステップS29)。そして、分類部51bは、ステップS29の判定結果が「Yes」である場合には、分類テーブルの分類に「バッチ処理フロー」を登録し(ステップS2a)、ステップS2dへ進む。
【0082】
一方、分類部51bは、ステップS29の判定結果が「No」である場合には、運用フロー実行前の状態が「サービス停止状態」であり、「OSの修正パッチ適用」、「ミドルウェアの修正パッチ適用」、「仮想サーバを再起動」、「仮想サーバを停止」の何れかの運用操作部品が存在するか否かを判定する(ステップS2b)。そして、分類部51bは、ステップS2bの判定結果が「Yes」である場合には、分類テーブルの分類に「メンテナンスフロー」を登録する(ステップS2c)。
【0083】
そして、分類部51bは、全ての運用フローの判定を終了したか否かを判定し(ステップS2d)、判定していない運用フローがある場合には、ステップS21に戻り、全ての運用フローの判定を終了した場合には、処理を終了する。
【0084】
図19は、ステップS3の処理のフローを示すフローチャートである。
図19に示すように、利用状況特定部52は、運用フローから運用操作部品「ファイルを転送」の情報を抽出し(ステップS31)、「ファイルを転送」の運用操作部品が存在するか否かを判定する(ステップS32)。そして、「ファイルを転送」の運用操作部品が存在しない場合には、利用状況特定部52は、処理を終了する。
【0085】
一方、「ファイルを転送」の運用操作部品が存在する場合には、利用状況特定部52は、「ファイルを転送」の運用操作部品の実行パラメータよりファイルの送信先IPアドレスと送信元ファイル名を取得する(ステップS33)。そして、利用状況特定部52は、送信先IPアドレスに対応する業務システムを特定する(ステップS34)。
【0086】
そして、利用状況特定部52は、特定した業務システムのグループを特定し、ステップS2の処理を実行する(ステップS35)。そして、利用状況特定部52は、ステップS33で取得した送信元ファイル名を含む運用フローを抽出し(ステップS36)、運用フローが抽出されたか否かを判定する(ステップS37)。そして、運用フローが抽出されなかった場合には、利用状況特定部52は、処理を終了する。
【0087】
一方、運用フローが抽出された場合には、利用状況特定部52は、抽出された運用フローを利用フローとして利用情報テーブルに登録し(ステップS38)、ステップS31に戻る。
【0088】
図20は、ステップS4の処理のフローを示すフローチャートである。
図20に示すように、スケジュール特定部53は、分類テーブルから運用フローの分類、起動時刻及び終了時刻の情報を抽出する(ステップS41)。そして、スケジュール特定部53は、「サービス提供フロー」の起動時刻から次の「サービス停止フロー」の終了時刻までを「サービス提供状態」と特定する(ステップS42)。
【0089】
そして、スケジュール特定部53は、「バッチ処理フロー」の起動時刻から終了時刻までを「バッチ処理状態」と特定し(ステップS43)、「メンテナンスフロー」の起動時刻から終了時刻までを「メンテナンス状態」と特定する(ステップS44)。そして、スケジュール特定部53は、他の時間を「サービス停止状態」と特定する(ステップS45)。
【0090】
そして、スケジュール特定部53は、時間帯の変更が可能な状態の前に、他に時間帯の変更が可能な状態への遷移が存在しないか否かを判定する(ステップS46)。そして、ステップS46の判定結果が「Yes」である場合には、スケジュール特定部53は、「サービス提供状態」の終了時刻を時間帯の変更が可能な状態の開始可能時刻とし、変更可能区間テーブルに登録する(ステップS47)。一方、ステップS46の判定結果が「No」である場合には、スケジュール特定部53は、時間帯の変更が可能な全ての状態を最も早い時間に実行した場合の終了時刻を時間帯の変更が可能な状態の開始可能時刻とし、変更可能区間テーブルに登録する(ステップS48)。なお、スケジュール特定部53は、時間帯の変更が可能な状態の開始可能時刻を特定する場合に、バッチ処理結果の利用状況を制約として用いる。
【0091】
そして、スケジュール特定部53は、時間帯の変更が可能な状態の後ろに、他に時間帯の変更が可能な状態への遷移が存在しないか否かを判定する(ステップS49)。そして、ステップS49の判定結果が「Yes」である場合には、スケジュール特定部53は、「サービス提供状態」の開始時刻を時間帯の変更が可能な状態の終了可能時刻とし、変更可能区間テーブルに登録する(ステップS4a)。一方、ステップS49の判定結果が「No」である場合には、スケジュール特定部53は、時間帯の変更が可能な全ての状態を最も遅い時間に実行した場合の開始時刻を時間帯の変更が可能な状態の終了可能時刻とし、変更可能区間テーブルに登録する(ステップS4b)。なお、スケジュール特定部53は、時間帯の変更が可能な状態の終了可能時刻を特定する場合に、バッチ処理結果の利用状況を制約として用いる。
【0092】
そして、スケジュール特定部53は、全ての運用日付で実施したか否かを判定し(ステップS4c)、実施していない運用日付がある場合には、ステップS41に戻り、全ての運用日付で実施した場合には、処理を終了する。
【0093】
図21は、ステップS5の処理のフローを示すフローチャートである。
図21に示すように、集約部54は、集約候補として指定された業務システムの1つを選択し、集約候補グループを作成する(ステップS51)。そして、集約部54は、集約候補グループに含まれていない業務システムAと集約候補グループに含まれる業務システムの状態遷移スケジュールを比較する(ステップS52)。
【0094】
そして、集約部54は、業務システムAと集約候補グループに含まれる業務システムのの状態について、「メンテナンス状態」と「バッチ処理状態」、及び、「メンテナンス状態」と「サービス提供状態」の時間帯が重複しないか否かを判定する(ステップS53)。
【0095】
そして、集約部54は、ステップS53の判定結果が「No」である場合には、ある業務システムが「メンテナンス状態」となる時間帯について、その業務システムの「メンテナンス状態」の時間帯を変更することにより重複が解消するか否かを判定する(ステップS54)。そして、集約部54は、ステップS54の判定結果が「No」である場合には、他の業務システムの状態の時間帯を変更することで、重複が解消するか否かを判定する(ステップS55)。
【0096】
そして、集約部54は、ステップS55の判定結果が「No」である場合には、全ての集約候補の組合せで集約可否の判定を実施したか否かを判定し(ステップS56)、集約可否の判定を行っていない組合せがある場合には、ステップS51に戻る。一方、全ての集約候補の組合せで集約可否の判定を実施した場合には、集約部54は、全ての集約候補グループについて、集約可能な状態遷移スケジュールを表示する(ステップS57)。
【0097】
また、ステップS53、ステップ54及びステップ55の判定結果が「Yes」である場合には、集約部54は、業務システムAを集約候補グループに追加し(ステップS58)、ステップS56に移動する。
【0098】
上述してきたように、実施例では、集約支援部5の分類部51bが、指定された複数の業務システムそれぞれに対応する複数の運用フローに含まれる運用操作部品の内容に基づき、各運用フローを分類する。そして、スケジュール特定部53が、運用フローの分類、起動時刻及び終了時刻に基づいて、業務システムの動作状態と各動作状態の期間及び変更可能期間を特定する。そして、判定部54aが、変更可能期間の範囲で動作状態の変更を行うことで、複数の業務システム間で同時に取り得ない動作状態が生じない複数の業務システムの組合せを生成できるか否かを判定する。そして、複数の業務システム間で同時に取り得ない動作状態が生じない複数の業務システムの組合せが生成される場合に、出力部54bが、複数の業務システムの組合せと動作状態の変更後の期間とを表示する。したがって、集約支援部5は、複数の業務システムの集約を支援することができる。
【0099】
また、実施例では、利用状況特定部52が、バッチ処理結果が他の業務システムのバッチ処理で利用されている状況を特定し、スケジュール特定部53は、バッチ処理結果が他の業務システムのバッチ処理で利用できるように動作状態の変更可能期間を特定する。したがって、集約支援部5は、バッチ処理結果が他の業務システムのバッチ処理で利用できる集約案を表示することができる。
【0100】
また、実施例では、利用状況特定部52は、バッチ処理フローの運用操作部品情報からバッチ処理結果を記憶するファイルの名前を特定し、バッチ処理結果の転送先の業務システムのバッチ処理フローの運用操作部品情報にファイルの名前が含まれるかを判定する。そして、利用状況特定部52は、バッチ処理結果の送信先の業務システムのバッチ処理フローの運用操作部品情報にファイルの名前が含まれる場合に、バッチ処理結果が他の業務システムのバッチ処理で利用されていると判定する。したがって、利用状況特定部52は、バッチ処理結果が他の業務システムのバッチ処理で利用されている状況を正確に特定することができる。
【0101】
また、実施例では、分類部51bは、運用フローに含まれる運用操作部品にメンテナンスの終了とサービスの起動を示す操作がある場合に当該運用フローを「サービス提供フロー」と特定する。また、分類部51bは、運用フローに含まれる運用操作部品にメンテナンスの終了とサービスの停止を示す操作がある場合に当該運用フローを「サービス停止フロー」と特定する。また、分類部51bは、運用フロー実行前の状態が「サービス停止状態」であり、運用フローに含まれる運用操作部品にバッチ処理の起動を示す操作がある場合に当該運用フローを「バッチ処理フロー」と特定する。また、分類部51bは、運用フロー実行前の状態が「サービス停止状態」であり、運用フローに含まれる運用操作部品にメンテナンス作業を示す操作がある場合に当該運用フローを「メンテナンスフロー」と特定する。したがって、分類部51bは、正確に運用フローを分類することができる。
【0102】
また、実施例では、スケジュール特定部53は、運用フローの種別、起動時刻及び終了時刻に基づいて業務システムの動作状態を特定するので、業務システムの動作状態を正確に特定することができる。
【0103】
また、実施例では、判定部54aは、「メンテナンス状態」と「サービス提供状態」、及び、「メンテナンス状態」と「バッチ処理状態」を同時に取り得ない状態として集約が可能か否かを判定する。したがって、判定部54aは、集約によってメンテナンス中に処理が行われる状況が発生することを防ぐことができる。
【0104】
なお、実施例では、集約支援部5について説明したが、集約支援部5が有する構成をソフトウェアによって実現することで、同様の機能を有する集約支援プログラムを得ることができる。そこで、集約支援プログラムを実行するコンピュータについて説明する。
【0105】
図22は、実施例に係る集約支援プログラムを実行するコンピュータのハードウェア構成を示す図である。
図22に示すように、コンピュータ80は、メインメモリ81と、CPU(Central Processing Unit)82と、LAN(Local Area Network)インタフェース83と、HDD(Hard Disk Drive)84とを有する。また、コンピュータ80は、スーパーIO(Input Output)85と、DVI(Digital Visual Interface)86と、ODD(Optical Disk Drive)87とを有する。
【0106】
メインメモリ81は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU82は、メインメモリ81からプログラムを読出して実行する中央処理装置である。CPU82は、メモリコントローラを有するチップセットを含む。
【0107】
LANインタフェース83は、コンピュータ80をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD84は、プログラムやデータを格納するディスク装置であり、スーパーIO85は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI86は、液晶表示装置を接続するインタフェースであり、ODD87は、DVDの読み書きを行う装置である。
【0108】
LANインタフェース83は、PCIエクスプレス(PCIe)によりCPU82に接続され、HDD84及びODD87は、SATA(Serial Advanced Technology Attachment)によりCPU82に接続される。スーパーIO85は、LPC(Low Pin Count)によりCPU82に接続される。
【0109】
そして、コンピュータ80において実行される集約支援プログラムは、DVDに記憶され、ODD87によってDVDから読出されてコンピュータ80にインストールされる。あるいは、集約支援プログラムは、LANインタフェース83を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読出されてコンピュータ80にインストールされる。そして、インストールされた集約支援プログラムは、HDD84に記憶され、メインメモリ81に読出されてCPU82によって実行される。