(57)【要約】  本発明は、バッチジョブを管理するためのコンピュータ・システムを提供する。該コンピュータ・システムは、少なくとも１のジョブ・テンプレートを格納する記憶部と、構成要素の少なくとも１つの所定の属性及び該構成要素と他の構成要素との関係を含む１組のデータ中の少なくとも１の属性又は関係を使用して、上記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、ジョブネットの作成若しくは更新、又はジョブのコンフリクトの発見を実行する実行部であって、上記１組のデータは、リポジトリに保持されており且つ構成要素についての情報を検出するディスカバリによって更新されうる、前記実行部とを含む。
2010050524.tif 000002
【特許請求の範囲】
【請求項１】
バッチジョブを管理するためのコンピュータ・システムであって、
少なくとも１のジョブ・テンプレートを格納する記憶部と、
構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータ中の少なくとも１の属性又は関係を使用して、
前記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行する実行部であって、前記１組のデータは、リポジトリに保持されており且つ構成要素についての情報を検出するディスカバリによって更新されうる、前記実行部と
を含む、前記コンピュータ・システム。
【請求項２】
前記実行部が、前記１組のデータ中の少なくとも１の属性又は関係を使用して、前記少なくとも１のジョブ・テンプレートからジョブネット定義を作成し又は更新する第１の作成部をさらに含む、請求項１に記載のコンピュータ・システム。
【請求項３】
前記ジョブ・テンプレートが、ジョブの実行タイプ、ジョブの実行コマンド、該ジョブ・テンプレートが適用される構成要素、及びジョブの実行の前提条件を含む、請求項２に記載のコンピュータ・システム。
【請求項４】
前記ジョブネット定義が、ジョブの内容、ジョブの実行順、及びジョブの実行スケジュールを含む、請求項２に記載のコンピュータ・システム。
【請求項５】
前記前提条件が、構成要素を検索するための条件、及び該構成要素に対するジョブの実行タイプを含む、請求項３に記載のコンピュータ・システム。
【請求項６】
前記第１の作成部が、前記１組のデータ中の少なくとも１の属性又は関係を使用して、前記前提条件に記載された条件に合致する構成要素を特定する、請求項５に記載のコンピュータ・システム。
【請求項７】
前記第１の作成部が、前記特定された構成要素に、他のジョブ・テンプレートを関連付ける、請求項６に記載のコンピュータ・システム。
【請求項８】
前記第１の作成部が、前記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成する、請求項２に記載のコンピュータ・システム。
【請求項９】
前記ジョブ定義が、ジョブの定義名、ジョブの内容、ジョブの実行先、ジョブの実行ユーザ、ジョブの開始スケジュール、先行ジョブ、ジョブの実行予測時間、及びジョブ・テンプレート名を含む、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記ジョブ・テンプレートが、構成要素についての１組のデータを取得するための引数を含む、請求項２に記載のコンピュータ・システム。
【請求項１１】
前記実行部が、前記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブネット定義からジョブネットを作成し又は更新する第２の作成部をさらに含む、請求項１に記載のコンピュータ・システム。
【請求項１２】
前記ジョブネット定義が、構成要素についての１組のデータを取得するための引数を含む、請求項１１に記載のコンピュータ・システム。
【請求項１３】
前記ジョブネット定義がログ・メンテナンス・ジョブネット定義であり、前記引数がログパスであり、該ログパスのデータが前記１組のデータによって更新される、請求項１２に記載のコンピュータ・システム。
【請求項１４】
前記第２の作成部が、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する１組のデータの属性及び関係の少なくとも１を、前記ジョブネットに適用する、請求項１１に記載のコンピュータ・システム。
【請求項１５】
前記ジョブのコンフリクトが、第１のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯と、第２のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第３の構成要素及び該第３の構成要素と関係を有する第４の構成要素の少なくとも１を該ジョブが利用する実行時間帯とが重なることを含む、請求項１に記載のコンピュータ・システム。
【請求項１６】
前記第２の構成要素が前記第１の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出され、前記第４の構成要素が前記第３の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出される、請求項１５に記載のコンピュータ・システム。
【請求項１７】
前記第１の構成要素の前記１組のデータが前記ディスカバリによって更新された１組のデータである、又は、前記第３の構成要素の前記１組のデータが前記ディスカバリによって更新された１組のデータである、請求項１６に記載のコンピュータ・システム。
【請求項１８】
前記ジョブのコンフリクトが、前記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを含む、請求項１に記載のコンピュータ・システム。
【請求項１９】
前記第１の構成要素の前記１組のデータ及び前記第２の構成要素の前記１組のデータが、前記ディスカバリによって更新された１組のデータである、請求項１８に記載のコンピュータ・システム。
【請求項２０】
前記ディスカバリが、前記ジョブネット定義を作成する直前、前記ジョブネットを作成する直前、又は前記ジョブネットを実行するシステムに該ジョブネットを投入する直前に行われる、請求項１に記載のコンピュータ・システム。
【請求項２１】
前記ジョブネットが、前記ディスカバリを行うジョブを含む、請求項１に記載のコンピュータ・システム。
【請求項２２】
バッチジョブを管理するための方法であって、
少なくとも１のジョブ・テンプレートに定義された構成要素を特定するステップと、
前記特定された構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータ中の少なくとも１の属性又は関係を使用して、
前記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行するステップであって、前記１組のデータは、リポジトリに保持されており及び構成要素についての情報を検出するディスカバリによって更新されうる、前記実行するステップと
を含む、前記方法。
【請求項２３】
前記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブ・テンプレートからジョブネット定義を作成するステップと、
前記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブネット定義からジョブネットを作成するステップと
を含む、請求項２２に記載の方法。
【請求項２４】
バッチジョブを管理するための方法であって、
構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータをリポジトリに格納するするステップであって、前記１組のデータは、構成要素についての情報を検出するディスカバリによって更新されうる、前記格納するステップと、
ジョブ・テンプレートに定義された構成要素を特定するステップと、
前記特定された構成要素についての前記１組のデータ中の少なくとも１の属性又は関係を使用して、前記ジョブ・テンプレートに定義された条件に合致する他の構成要素を見つけるステップと、
前記見つけられた他の構成要素に、他のジョブ・テンプレートを関連付けるステップと、
前記ジョブ・テンプレート及び前記他のジョブ・テンプレートを使用して、ジョブネット定義を作成するステップと
を含む、前記方法。
【請求項２５】
バッチジョブを管理するためのコンピュータ・プログラムであって、コンピュータ・システムに、請求項２２〜２４のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
複雑なシステム、例えば企業システムにおいて、数多くのバッチジョブが処理されている。バッチジョブを処理していく上で、バッチジョブの管理が必要である。バッチジョブの管理は、バッチジョブを正しく設計し作成すること、及びバッチジョブをメンテナンスすることを含む。バッチジョブを正しく設計することは、例えば、ジョブ間の前後関係を正しく設計すること、及びジョブ間でリソースの競合が発生しないように、ジョブを正しくスケジュールすることを含む。バッチジョブをメンテナンスすることは、例えば、ジョブに関連するシステムの構成変更が生じたときに、該変更に対応するようにバッチジョブの設定を変更することである。ジョブに関連するシステムの構成変更とは、ジョブの設計にも影響を与える構成変更である。【０００３】
ジョブ管理アプリケーションは、設計された通りにジョブを実行する機能、及び、エラーが発生した場合に、後続ジョブをサスペンドし、管理者に通知する機能を有する。インターナショナル・ビジネス・マシーンズ・コーポレーション（商標、以下ＩＢＭ）は、ジョブ管理アプリケーションとして、Tivoli（商標） Workload Schedulerを販売している。Tivoli（商標） Workload Schedulerは、自動化されたジョブ・スケジューリングを集中管理できるので、システムごとのジョブ管理が不要になり、管理者負担及び管理コストの削減を図ることができる。【０００４】
ところで、ＩＴＩＬ（Information Technology Infrastructure Library）（英国政府の商標）とは、ＩＴサービスマネジメントを実現するためのベストプラクティス（最も良い事例）を集めたものである。ＩＴＩＬの中心は、サービスサポート及びサービスデリバリーである。サービスサポートの１つとして構成管理がある。構成管理とは、ＩＴサービスマネジメントの管理対象である構成要素（configuration item、構成アイテムともいう、以下ＣＩと略す場合がある）を認識し、構成要素についての情報を維持及び更新し、確認し、並びに監査を行うプロセスである。構成要素は、構成管理の対象となる資源（リソース）である。構成要素は、ハードウェア及びソフトウェアを含むシステム資源だけでなく、ＩＴサービスの提供に必要な設備、ＩＴサービスの運営に関する規程書、作業手順書及び構成図などのドキュメント類、ハードウェア又はソフトウェアの保守作業などのサービス、プロセス、並びに人的資源なども含む。ＩＴＩＬのフレームワークでは、構成要素を管理するために、構成管理データベース（Configuration Management Database、以下ＣＭＤＢと略す場合がある）というデータベースを用いて一元的に管理することが推奨されている。ＣＭＤＢは、構成要素の少なくとも１つの所定の属性及び他の構成要素との関係を記録するデータベースである。ＣＭＤＢを実装することで備わる最も重要な能力は、構成要素についての情報を自動的に発見する能力（ディスカバリ、自動検出ともいう）及び自動的に更新する能力（トラッキングともいう）である。ＣＭＤＢでは、構成要素についての情報をＣＭＤＢに正確に反映させることが重要である。【０００５】
ＩＢＭは、ＣＭＤＢの構築を支援し且つＣＭＤＢを基盤に運用プロセスを制御するソフトとして、「Tivoli Change and Configuration Management Database」（以下Tivoli CCMDB）を提供している。Tivoli CCMDBにおけるディスカバリ及びトラッキングの詳細は、IBM Redbooks Deployment Guide Series: IBM Tivoli Change and Configuration Management Database Configuration Discovery and Tracking v1.1、第41〜64頁、2006年11月（下記非特許文献１）を参照されたい。Tivoli CCMDBでは、運用管理ソフトが、ディスカバリ及びトラッキングを実行するように実装されている。【０００６】
Tivoli（商標） CCMDBでは、分散ネットワーク環境上の構成要素であるサーバ、クライアント、オペレーティング・システム（ＯＳ）、ミドルウェア（Web/AP/DBMS/LDAPなど）、パッケージ・ソフト、管理ツール、ネットワーク機器及びストレージ機器など300種類を識別し、さらに各構成要素についての情報、例えばコンピュータの構成についての情報、各コンピュータ上で動作するアプリケーションについての情報、各コンピュータに接続されているネットワーク接続ストレージ（ＮＡＳ）などの構成情報、ネットワークに直接接続されているストレージエリアネットワーク（ＳＡＮ）などの構成情報を自動的に発見し及び更新することができる。各構成要素についての情報の収集方法は管理対象によっても異なるが、基本的にはＣＭＤＢを管理するコンピュータ・システムがＳＳＨ（Secure SHell）などを用いて管理用のリモート・インタフェースに定期的にアクセスし、ＯＳ上の設定ファイル又は構成情報を読み取ったり、或いはＣＭＤＢを管理するコンピュータ・システムが設定確認コマンドを実行したりする。そのため、管理対象である構成要素にエージェント・プログラムを導入する必要はない。上記の様式にて発見され且つ更新された情報は、ＩＢＭが提唱する構成管理データベース用のデータ・モデル「Common Data Model」（以下ＣＤＭ）に基づいて、2006年の時点において、31種類のセクション（Computer System、Database、Application、Processなどのカテゴリ）、636種類のクラス（データ・モデルの基本単位、１つ又は複数のセクションに属する）、2609種類の属性（データの属性情報、１つのクラスに属する）、7種類のインタフェース（使用頻度の高い属性のグループ、複数のセクションに属する）、57種類の関係（リレーションシップ）、及び49種類のデータタイプ（データの種別）に整理される。ＣＤＭの詳細は、IBM REDPAPER (DRAFT version) IBM Tivoli Common Data Model: Guide to Best Practices（IBM Form Number REDP-4389-00）、第2〜7頁、2007年11月（下記非特許文献２）を参照されたい。各構成要素及び該構成要素と他の構成要素との関係についての情報は、ＧＵＩの表示ツール、例えばＴＡＤＤＭコンソールに渡される。そして、各構成要素及び該構成要素と他の構成要素との関係が、個々のブロック及び該ブロック間のリンクを用いて視覚的に表示装置上に表示される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】IBM Redbooks Deployment Guide Series: IBM Tivoli Change and Configuration Management Database Configuration Discovery and Tracking v1.1、第41〜64頁、2006年11月
【非特許文献２】IBM RED PAPER (DRAFT version) IBM Tivoli Common Data Model: Guide to Best Practices（IBM FormNumber REDP-4389-00）、第2〜7頁、2007年11月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
複雑なシステムでは、バッチジョブの管理を行うにあたって、以下の課題がある。
システムの構成が複雑であるなど、ジョブ設計者がシステムを把握しきれない場合があるので、ジョブ間の前後関係を正しく設計することは大変である。
バッチジョブには業務ジョブとインフラジョブがあり、全く別のチームの人間がそれぞれを設計しているので、チーム間のすり合わせが必要であり、ジョブ間でリソースの競合を避けることは大変である。
システムの構成変更が生じたときにジョブ設計者が既におらず、どこを変えればいいか分からない場合があるので、システムの構成変更に対応してジョブを変更することが困難である。
【課題を解決するための手段】
【０００９】
本発明は、バッチジョブを管理するためのコンピュータ・システムを提供する。該コンピュータ・システムは、
少なくとも１のジョブ・テンプレートを格納する記憶部と、
構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータ中の少なくとも１の属性又は関係を使用して、
上記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行する実行部であって、上記１組のデータは、リポジトリに保持されており且つ構成要素についての情報を検出するディスカバリによって更新されうる、上記実行部と
を含む。【００１０】
本発明の１つの実施形態では、上記実行部が、上記１組のデータ中の少なくとも１の属性又は関係を使用して、上記少なくとも１のジョブ・テンプレートからジョブネット定義を作成する第１の作成部をさらに含む。本発明の１つの実施形態では、上記１組のデータが、上記ディスカバリによって更新された１組のデータである。【００１１】
本発明の１つの実施形態では、上記ジョブ・テンプレートが、ジョブの実行タイプ、ジョブの実行コマンド、該ジョブ・テンプレートが適用される構成要素、及びジョブの実行の前提条件を含む。【００１２】
本発明の１つの実施形態では、上記ジョブネット定義が、ジョブの内容、ジョブの実行順、及びジョブの実行スケジュールを含む。【００１３】
本発明の１つの実施形態では、上記前提条件が、構成要素を検索するための条件、及び該構成要素に対するジョブの実行タイプを含む。上記ディスカバリは、該構成要素を検索するための条件に従い、構成要素を特定する。【００１４】
本発明の１つの実施形態では、上記１組のデータ中の少なくとも１の属性又は関係を使用して、上記前提条件に記載された条件に合致する構成要素を特定する。【００１５】
本発明の１つの実施形態では、上記第１の作成部が、上記特定された構成要素に、他のジョブ・テンプレートを関連付ける。【００１６】
本発明の１つの実施形態では、上記第１の作成部が、上記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成する。【００１７】
本発明の１つの実施形態では、上記ジョブ定義が、ジョブの定義名、ジョブの内容、ジョブの実行先、ジョブの実行ユーザ、ジョブの開始スケジュール、先行ジョブ、ジョブの実行予測時間、及びジョブ・テンプレート名を含む。【００１８】
本発明の１つの実施形態では、上記ジョブ・テンプレートが、構成要素についての１組のデータを取得するための引数を含む。【００１９】
本発明の１つの実施形態では、上記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブネット定義からジョブネットを作成する第２の作成部をさらに含む。【００２０】
本発明の１つの実施形態では、上記ジョブネット定義が、構成要素についての１組のデータを取得するための引数を含む。【００２１】
本発明の１つの実施形態では、上記ジョブネット定義がログ・メンテナンス・ジョブネット定義であり、上記引数がログパスであり、該ログパスのデータが上記１組のデータによって更新される。【００２２】
本発明の１つの実施形態では、上記第２の作成部が、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する１組のデータの属性及び関係の少なくとも１を、上記ジョブネットに適用する。【００２３】
本発明の１つの実施形態では、上記ジョブのコンフリクトが、第１のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯と、第２のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第３の構成要素及び該第３の構成要素と関係を有する第４の構成要素の少なくとも１を該ジョブが利用する実行時間帯とが重なることを含む。【００２４】
本発明の１つの実施形態では、上記第２の構成要素が上記第１の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出され、上記第４の構成要素が上記第３の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出される。【００２５】
本発明の１つの実施形態では、上記第１の構成要素の上記１組のデータが上記ディスカバリによって更新された１組のデータである、又は、上記第３の構成要素の上記１組のデータが上記ディスカバリによって更新された１組のデータである。【００２６】
本発明の１つの実施形態では、上記ジョブのコンフリクトが、上記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを含む。【００２７】
本発明の１つの実施形態では、上記第１の構成要素の上記１組のデータ及び上記第２の構成要素の上記１組のデータが、上記ディスカバリによって更新された１組のデータである。【００２８】
本発明の１つの実施形態では、上記ディスカバリが、上記ジョブネット定義を作成する直前、上記ジョブネットを作成する直前、又は上記ジョブネットを実行するシステムに該ジョブネットを投入する直前に行われる。【００２９】
本発明の１つの実施形態では、上記ジョブネットが、上記ディスカバリを行うジョブを含む。【００３０】
本発明はまた、バッチジョブを管理するための方法を提供する。該方法は、コンピュータ・システムに下記ステップを実行させるステップを含む。該ステップは、
少なくとも１のジョブ・テンプレートに定義された構成要素を特定するステップと、
上記特定された構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータ中の少なくとも１の属性又は関係を使用して、
上記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行するステップであって、上記１組のデータは、リポジトリに保持されており及び構成要素についての情報を検出するディスカバリによって更新されうる、上記実行するステップと
を含む。【００３１】
本発明の１つの実施形態では、上記実行するステップが、上記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブ・テンプレートからジョブネット定義を作成するステップをさらに含む。【００３２】
本発明の１つの実施形態では、上記ジョブ・テンプレートから上記ジョブネット定義を作成するステップが、上記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブ・テンプレートに定義されるジョブの実行の前提条件に記載された条件に合致する構成要素を特定するステップをさらに含む。【００３３】
本発明の１つの実施形態では、上記ジョブ・テンプレートから上記ジョブネット定義を作成するステップが、上記特定された構成要素に、他のジョブ・テンプレートを関連付けるステップをさらに含む。【００３４】
本発明の１つの実施形態では、上記ジョブ・テンプレートから上記ジョブネット定義を作成するステップが、上記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成するステップを含む。【００３５】
本発明の１つの実施形態では、上記実行するステップが、上記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブネット定義からジョブネットを作成するステップをさらに含む。【００３６】
本発明の１つの実施形態では、上記ジョブネット定義から上記ジョブネットを作成するステップが、ジョブネット定義の１つであるログ・メンテナンス・ジョブネット定義に定義されたログパスのデータを上記１組のデータによって更新するステップをさらに含む。【００３７】
本発明の１つの実施形態では、上記ジョブネット定義から上記ジョブネットを作成するステップが、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する１組のデータ中の少なくとも１の属性又は関係を、上記ジョブネットに適用するステップをさらに含む。【００３８】
本発明の１つの実施形態では、上記ジョブのコンフリクトの発見を実行することが、上記ジョブのコンフリクトが、第１のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯と、第２のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第３の構成要素及び該第３の構成要素と関係を有する第４の構成要素の少なくとも１を該ジョブが利用する実行時間帯とが重なることを発見するステップを含む。【００３９】
本発明の１つの実施形態では、上記発見するステップが、上記第２の構成要素を上記第１の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出するステップと、上記第４の構成要素を上記第３の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出するステップとをさらに含む。【００４０】
本発明の１つの実施形態では、上記ジョブのコンフリクトの発見を実行することが、上記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを発見するステップを含む。本発明の１つの実施形態では、該上記第１の構成要素の上記１組のデータ及び上記第２の構成要素の上記１組のデータが、上記ディスカバリによって更新された１組のデータである。【００４１】
本発明の１つの実施形態では、上記方法は、コンピュータ・システムに下記ステップを実行させるステップを含む。該ステップは、上記ジョブネット定義を作成する直前、上記ジョブネットを作成する直前、又は上記ジョブネットを実行するシステムに投入される直前にディスカバリを行うステップを含む。【００４２】
本発明はさらに、バッチジョブを管理するための方法を提供する。該方法は、コンピュータ・システムに下記ステップを実行させるステップを含む。該ステップは、
構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータをリポジトリに格納するするステップであって、上記１組のデータは、構成要素についての情報を検出するディスカバリによって更新されうる、上記格納するステップと、
ジョブ・テンプレートに定義された構成要素を特定するステップと、
上記特定された構成要素についての上記１組のデータ中の少なくとも１の属性又は関係を使用して、上記ジョブ・テンプレートに定義された条件に合致する他の構成要素を見つけるステップと、
上記見つけられた他の構成要素に、他のジョブ・テンプレートを関連付けるステップと、
上記ジョブ・テンプレート及び上記他のジョブ・テンプレートを使用して、ジョブネット定義を作成するステップと
を含む。【００４３】
本発明はさらに、バッチジョブを管理するためのコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、コンピュータ・システムに、上記のいずれか一つに記載の方法の各ステップを実行させる。
【発明の効果】
【００４４】
本発明の実施形態によれば、バッチジョブの管理にＣＭＤＢを利用することによって、ジョブネットを自動作成すること、及びジョブのコンフリクトの発見をすることが可能になる。また、本発明の実施形態に依れば、バッチジョブの管理にＣＭＤＢを利用することによって、ジョブの再利用性を高めることが可能になる。
【図面の簡単な説明】
【００４５】
【図１】従来技術である、ＣＩを管理するための、ＣＭＤＢを含むコンピュータ・システムの例を示す。
【図２】従来技術である、構成管理のためのツールの概要を示す。
【図３】従来技術である、ＣＩ、ＣＩインスタンス、及び関係（usedBy）インスタンスの作成を示す。
【図４】従来技術である、データ・モデル、ディスカバリ・インスタンス、ＣＩインスタンス、及び関係モデルを示す。
【図５】従来技術である、ＣＭＤＢにおける構成情報管理の画面例を示す。
【図６】本発明の実施態様である、ジョブネットの例を示す。
【図７】本発明の実施態様である、ジョブ・テンプレートの例を示す。
【図８】本発明の実施態様である、ジョブ定義の例を示す。
【図９】本発明の実施態様である、ジョブネット定義の例を示す。
【図１０】従来技術である、ジョブ管理サーバの例を示す。
【図１１】本発明の実施態様である、システム全体の構成図の例を示す。
【図１２】本発明の実施態様である、ジョブ管理サーバの構成図の例を示す。
【図１３】本発明の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。
【図１４】本発明の実施態様である、ジョブネット定義又はジョブネットの更新をするフローチャートを示す。
【図１５】本発明の実施態様である、本発明の実施態様である、ジョブの検証をするフローチャートを示す。
【図１６】本発明の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。
【図１７】本発明の実施態様である、本発明の実施態様である、ジョブネット定義及びジョブネットの作成を示す。
【図１８】図１７の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。
【図１９】本発明の実施態様である、ジョブ間のコンフリクトの発見を示す。
【図２０】図１９の実施態様である、ジョブ間のコンフリクトを発見するフローチャートを示す。
【図２１】本発明の実施態様である、ジョブのコンフリクトを発見する実施態様を示す。
【図２２】図２１の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。
【図２３】本発明の実施態様である、ジョブネットの更新を示す。
【図２４】図２３の実施態様である、ジョブネットを更新するフローチャートを示す。
【図２５】本発明の実施形態における、コンピュータ・システムの例を示す。
【発明を実施するための形態】
【００４６】
「ジョブ」とは、各コンピュータ上で実行される個々の定型処理をいう。
「ジョブ」の管理には、ジョブを設計するフェーズと、設計したジョブを実行するフェーズがある。
【００４７】
「ジョブ・テンプレート」とは、ジョブ設計の元になるテンプレートである。よって、「ジョブ・テンプレート」は、ジョブを設計するフェーズの前にジョブの設計者によって用意される。「ジョブ・テンプレート」は、例えば、ジョブの種類毎に用意される。例えば、複数のオフライン再構成ジョブ（Offline Reorg Job）がある場合であっても、それら複数のオフライン再構成ジョブは１つのオフライン再構成ジョブ・テンプレートを参照する。「ジョブ・テンプレート」は、例えば、ジョブ・テンプレート識別子（ＩＤ）、ジョブ・テンプレートを説明するための記述、アクション・タイプ、ジョブの実行コマンド（Action）、ジョブ・テンプレートが適用されるＣＩタイプ、前提条件、及び影響フラグを含むがこれらに限定されない。ジョブ・テンプレートＩＤは、コンピュータがジョブ・テンプレートを識別するために付与された一意の識別子である。ジョブ・テンプレートを説明するための記述は、ユーザがジョブ・テンプレートを作成又は更新する際に付与した記述である。アクション・タイプは、再編成（Reorg）、開始（Start）、中断（Stop）などのジョブの実行コマンドの種類を示す。種類は、ジョブの設計者によって予め決められている。ジョブの実行コマンドは、例えば、スクリプトを使用して記載される。ジョブの実行コマンドは、例えば、「ＤＢ２の場合はｘｘｘｘ、Ｏｒａｃｌｅの場合ｙｙｙｙ」（ＤＢ２、Ｏｒａｃｌｅはいずれも商標である）のように、対象となるＣＩタイプで場合分けして定義されている（下記、図１７のジョブテンプレート（６０１）を参照）。ジョブ・テンプレートが適用されるＣＩタイプは、該ジョブ・テンプレートの実行コマンドを適用する構成要素の種類を記述する。ＣＩタイプは、例えば、データベース（DB）、オペレーティング・システム（OS）、アプリケーション・サーバ（AppServ）、ウェブ・サーバ（WebServ）、WebSphere Application Server（WAS）を含むがこれらに限定されない。前提条件は、ジョブが実行されうる前提条件である。前提条件は、構成要素の検索条件、他のジョブ・テンプレートを検索するためのアクション・タイプを含むがこれらに限定されない。構成要素の検索条件は、ジョブ・テンプレートが適用されるＣＩタイプの検索範囲を絞るための条件を示す。他のジョブ・テンプレートを検索するためのアクション・タイプは、ここに指定されたアクション・タイプを有する他のジョブ・テンプレートを検索するために使用される。構成要素の検索条件に従い、ＣＭＤＢ内のＣＩインスタンスの属性及び関係の少なくとも１を使用して、目的とする構成要素が検索される。属性は、例えばＣＩのタイプ（例えば、DB、OS、AppServ、WebServ、WAS）である。関係は、例えばアプリケーションの関係（例えば、assigns、canConnect、canUse、connectAt、connects、controls、deployedOn、Located、Managed、Owned、provides、runAt、uses、usedByなど）である。
影響フラグは、所定の要件についての許否を示す。
【００４８】
「ジョブ定義」とは、ジョブネット定義を作成するために、ユーザによって定義された、ジョブ・テンプレートに付与するパラメータの集合である。「ジョブ定義」は、例えば、ジョブ定義名、ジョブ内容、ジョブ実行先、ジョブ実行ユーザ、ジョブ開始スケジュール、先行ジョブ、ジョブの実行予測時刻、及びジョブ・テンプレートを含むがこれらに限定されない。
ジョブ定義名は、コンピュータがジョブ定義を識別するために付与された一意の名前である。ジョブ内容は、ジョブ内容を例えばジョブの実行コマンド又はバッチファイルの指定によって記述される。ジョブの実行コマンドは、例えば、スクリプトを使用して記載される。ジョブの実行コマンドは、例えば、対象となるＣＩタイプがＤＢ２の場合、ＤＢ２の実行コマンド（上記ジョブ・テンプレートのｘｘｘｘの実装パラメータ）が定義されており、対象となるＣＩタイプがＯｒａｃｌｅの場合、Ｏｒａｃｌｅの実行コマンド（上記ジョブテンプレートのｙｙｙｙの実装パラメータ）が定義されている。ジョブ実行先は、ジョブを実行するコンピュータ又はシステムを特定するためのＩＤを示す。ジョブ実行ユーザは、ジョブを実行するユーザを示す。ジョブ開始スケジュールは、ジョブか開始されるスケジュールを示す。スケジュールは、例えば、日単位、週単位、月単位、若しくは年単位で、又はユーザによって任意の単位で指定されうる。先行ジョブは、ジョブ定義に定義された該ジョブに先行して実行されるジョブを示す。該ジョブは、先行ジョブが終了してから実行される。ジョブ実行予測時刻は、該ジョブの実行に必要とされる予測時間を示す。ジョブ・テンプレートは、該ジョブ定義を適用するジョブ・テンプレートＩＤを示す。
【００４９】
「ジョブネット定義」とは、ジョブ設計の成果物として作成される定義である。「ジョブネット定義」は、上記ジョブ・テンプレートに上記ジョブ定義を適用することによって作成される。また、「ジョブネット定義」からジョブネットが作成される。「ジョブネット定義」は、例えば、ジョブネット定義名、ジョブ自体、ジョブの実行順、及びジョブの実行スケジュールを含むがこれらに限定されない。
ジョブネット定義名は、コンピュータがジョブネット定義を識別するために付与された一意の名前である。ジョブ自体は、ジョブ・テンプレートに定義されたジョブ内容に加えて、ジョブ実行先、ジョブ実行ユーザ、ジョブ実行予測時刻、ジョブ・テンプレートについての情報を含む。ジョブ内容は、例えば、ジョブの実行コマンド又はバッチファイルの指定によって記述される。ジョブの実行コマンドは、例えば、対象となるＣＩタイプがＤＢの場合、上記ジョブ・テンプレート中のＤＢ２の実行コマンドに上記ジョブ定義中のＤＢ２の実装パラメータを適用したものであり、対象となるＣＩタイプがＯｒａｃｌｅの場合、上記ジョブ・テンプレート中のＯｒａｃｌｅの実行コマンドに上記ジョブ定義中のＯｒａｃｌｅの実装パラメータを適用したものである。ジョブ実行先、及びジョブ実行ユーザの特定は、例えばＣＩのインスタンス名を特定することによって行われる。ジョブ自体はまた、ジョブ同士の依存関係、ジョブネット同士の依存関係を定義する。
【００５０】
「ジョブネット」は、上記バッチジョブを実行するために、ジョブを実行するシステムに実際に投入されデータである。投入とは、ジョブネットが実行されることである。「ジョブネット」は、ジョブ管理サーバが上記ジョブネット定義を読み込むことによって作成される。ジョブねとは、ジョブネット定義をインスタンス化したものである。「ジョブネット」は、例えば、ジョブの処理が、幾つかの独立したジョブのグループからなる場合、各グループをジョブネットとして構成する。該書部の処理は、例えば、毎日の振替依頼である。通常、ジョブネット単位で、ジョブの稼働スケジュールが設定される。
【００５１】
本発明の実施態様において、バッチジョブを管理することは、ジョブネット定義又はジョブネットを作成すること、ジョブネット定義又はジョブネットを更新すること、又はジョブのコンフリクトの発見を実行すること、或いはそれらの組み合わせを含む。
【００５２】
本発明の実施態様において、ジョブのコンフリクトの発見は、ジョブ間のコンフリクトを発見すること、又はジョブの実行対象である構成要素の属性又は関係データがジョブ・テンプレートの前提条件若しくは影響フラグに反することを発見すること、或いはそれらの組み合わせを含む。
【００５３】
ＣＭＤＢについて下記に説明する。
【００５４】
以下、ＣＭＤＢに関する基本的な用語を下記に説明する。
本発明の実施形態において、リポジトリは少なくとも１つの１組のデータを格納する。該１組のデータは、構成要素の少なくとも１つの所定の属性及び他の構成要素との関係を示すデータである。該１組のデータは例えば、ハードウェア構成要素又はソフトウェア構成要素を含む構成要素の少なくとも１つの所定の属性及び該構成要素と他の構成要素との関係を示すデータを含む。上記リポジトリは例えば、ＣＭＤＢである。構成要素、及び該構成要素と他の構成要素との関係は例えば、静的な（static）データのインスタンス又はＪａｖａ（サン・マイクロシステムズの商標）のクラスのインスタンスで実装されうる。上記リポジトリは、該１組のデータを保持するものであれば特に限定されないが、好ましい実施形態の１つはＣＭＤＢを記録するＣＭＤＢ記録部である。
・構成要素（ＣＩ）
ＣＩは、ＩＴサービスマネジメントの対象範囲に属する構成要素に対応するデータであり、ＩＴサービスマネジメントにおける管理対象の基本単位である。ＣＩは例えば、ハードウェア及びソフトウェアを含むシステム資源、ＩＴサービスの提供に必要な設備、ＩＴサービスの運営に関する規程書、作業手順書及び構成図などのドキュメント類、ハードウェア又はソフトウェアの保守作業などのサービス、プロセス、並びに人的資源などを含む。今後も様々なタイプのＣＩが、ＣＭＤＢで管理されるようになる。また、各ＣＩはデータ・モデルのインスタンスとしてＣＭＤＢ上で表現される。
・構成管理データベース（ＣＭＤＢ）
ＣＭＤＢは、情報システムの全コンポーネントに関する情報の統合された保管・管理を行うデータベースである。ＣＭＤＢは、各ＣＩの少なくとも１つの所定の属性及び他のＣＩとの関係を記録する。ＣＭＤＢは組織がコンポーネント間の関係を理解することを支援し、その構成を管理できるようにする。ＣＭＤＢはＩＴＩＬフレームワークの構成管理プロセスの中核となっている。ＣＭＤＢは、概念的にはデータベースであるが、物理的にはデータベース・システム、表計算ソフトのスプレッドシートの形態を取りうる。ＣＭＤＢを利用することによって、管理者はＣＩ間の関係を理解することが容易になる。
・構成要素インスタンス（ＣＩインスタンス）
ＣＩインスタンスは、ＣＩに対応するデータである。各ＣＩインスタンスは、データ・モデルのインスタンスとしてＣＭＤＢ上で表現される。インスタンスの例は、静的なデータのインスタンス又はＪａｖａ（サン・マイクロシステムズの商標）のクラスのインスタンスである。実装されたＪａｖａのクラスのインスタンスは、例えばJava Data Objects（ＪＤＯ）と呼ばれる、Ｊａｖａのクラスのインスタンスを永続化してハードディスクに保存する仕組みにより、ＣＭＤＢ内に格納される。よって、コンピュータ・システムの電源を一旦切っても、作成されたＪａｖａのクラスのインスタンスが消失することはなく、次に電源を投入したときに、記憶装置、例えばハードディスクから読み出され、メイン・メモリ上に展開されて、Ｊａｖａのプログラムによって変更或いは削除可能なＪａｖａのクラスのインスタンスとなる。以下では、ＣＩがインスタンスとしてＣＭＤＢ内に実装されるとして、説明を進める場合がある。
・データ・モデル
データ・モデルは、ＣＩを定義するためのスキーマであり、管理されるＣＩとそれらＣＩ間の関係の一貫した定義を提供する情報モデルである。具体的には、データ・モデルは、ＣＩの所定の属性及び他のＣＩ（製造装置、プロセスなど）との関係を定義する。データ・モデルの例として、ＩＢＭが提唱する構成管理データベース用のデータ・モデル「ＣＤＭ」がある。ＣＤＭの実装は例えば、Unified Modeling Language（ＵＭＬ）に基づいて行われる。
・属性（Attributes）
属性は、ＣＩを管理するに際して、個々のＣＩを特定し、ＣＩを説明する。属性として、下記のものを挙げることができるがこれらに限定されない。ＣＩの名前（ＣＩの一般名称、例えばサーバ、クライアント、ファイアウォール）、製品番号（ＩＤ）（ＣＩのある特定の実体を個別に識別するための番号であり、製造番号、シリアル番号など）、カテゴリ（ＣＩの分類、例えばハードウェア、ソフトウェア、ドキュメント）、タイプ（カテゴリでの分類をさらに詳述したＣＩの説明）、型番（供給者の命名したＣＩのモデル番号）、保証期間（ＣＩの供給者による保証期間）、バージョン番号（ＣＩのバージョン番号）、ロケーション（ＣＩが存在する場所、例えばＰＣの設置場所、ソフトウェアの書庫、媒体の保管場所、サービスを提供しているサイト）、所有責任者（ＣＩの管理責任者の名前）、責任開始日（所有責任者が、該ＣＩの責任者となった日付）、供給者（ＣＩの開発元又は提供元）、ライセンス（ライセンス番号、ライセンス数など）、提供日（ＣＩが組織に提供された日付）、受入日（ＣＩが組織に受け入れられた日付）、使用開始日（ＣＩが使用開始された日付）、ＣＩのステータス（現在のステータス、例えば稼働中、テスト中、故障中、或いは将来のステータス、例えば予定されているＣＩのステータス）、ＣＩインスタンスのステータス（ＣＩインスタンスの有効又は無効）。今後もＩＴサービスマネジメントで必要となる属性が、引き続き定義されていく。
・関係（Relation）
関係は、ＣＩ間の関係を表す。関係は、ＣＩと同様にデータ・モデルで定義されうる。関係の例として、Ｃｏｍｍｏｎ Ｄａｔａ Ｍｏｄｅｌ では、assigns、canConnect、canUse、connectAt、connects、controls、deployedOn、Located、Managed、Owned、provides、runAt、uses、usedByが挙げられる。今後もＩＴサービスマネジメントで必要となる関係が、引き続き定義されていく。  
【００５５】
以下、図面に従って、本発明の実施形態を説明する。本実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一符号は、同一の対象を指す。
【００５６】
図１は、従来技術である、ＣＩを管理するための、ＣＭＤＢを含むコンピュータ・システム（１００）の例を示す。
図１は、ＣＩの例として、構成要素Ａ及び構成要素Ｂを記載する。構成要素Ａ及びＢそれぞれは、ソフトウェア構成要素、ハードウェア構成要素のいずれであってもよい。ソフトウェア構成要素は、例えば、ＤＢ２（商標）、Ｗｅｂｓｐｈｅｒｅ（商標）、ＬＩＮＵＸ、Ｔｏｍｃａｔ、Ａｐａｃｈｅであるがこれらに限定されない。
コンピュータ・システム（１００）は、ディスカバリ部（１０１）、ＣＩ同定部（１０２）、ＣＩインスタンス作成部（１０３）、属性及び関係更新部（１０４）及びＣＭＤＢ（１０５）を含む。ディスカバリ部、ＣＩ同定部、ＣＩインスタンス作成部、属性及び関係更新部及びＣＭＤＢは、単独のコンピュータ上に実装されていてもよく、或いは複数のコンピュータ上に分散して実装されていてもよい。コンピュータ・システム（１００）はさらに、ディスカバリ・テーブル（１０６）、モデル・テーブル（１０７）及び関係テーブル（１０８）を含む。これらテーブルは、単独のコンピュータ上に実装されていてもよく、或いは複数のコンピュータ上に分散して実装されていてもよい。
また、図１は、ＴＡＤＤＭコンソールの画面（１０９）の例を示す。該画面は、ＣＩ及びＣＩ間の関係を示す。なお、該画面に表示されているＣＩ及びＣＩ間の関係は一例であり、コンピュータ・システム（１００）の管理対象であるＣＩ及びＣＩ間の関係全てを表示しているものではない。
コンピュータ・システム（１００）は、それ自身の管理対象である構成要素を管理する。コンピュータ・システム（１００）の管理対象は、該コンピュータ・システム（１００）がディスカバリしうる対象の構成要素である。
【００５７】
ディスカバリ部（１０１）は、ＣＭＤＢの管理対象であるＣＩについての情報の検出を実行する（ディスカバーともいう）。該ＣＩの一部が、ＴＡＤＤＭコンソールの画面（１０９）に表示されている。コンピュータ・システム（１００）は、複数のディスカバリ部（１０１）を有していてもよい。好ましくは、管理対象は、ネットワークを介して、コンピュータ・システムに接続されている。ネットワークは、有線接続であるか無線接続であるかを問わない。コンピュータ・システムの管理者は、検出の対象を任意に設定しうる。検出の範囲は例えば、ドメイン名、ＩＰアドレス、ＭＡＣアドレス、機器の識別子若しくはデータベース名又はこれらの組み合わせにより指定することができる。管理対象であるＣＩが例えばハードウェア又はソフトウェアである場合、該機ハードウェア又はソフトウェアについての情報が夫々検出される。検出された情報は、新たなＣＩについての情報、又は既存のＣＩの更新された属性若しくは関係の値でありうる。新たなＣＩとは、ディスカバリ部（１０１）によって検出され、ＣＭＤＢ（１０５）内に登録されていないＣＩである。既存のＣＩとは、該ＣＩのインスタンスがＣＭＤＢ（１０５）内に既に登録されているＣＩである。ディスカバリ部（１０１）は、ＣＩについての情報を、ディスカバリ・テーブル（１０６）内に格納されたディスカバリ・インスタンス（例えばＡ−Discovery）（図４、２０２）に従い検出する。どのディスカバリ・インスタンスを使用するかは、データ・モデル（図４、２０１）内のディスカバリ方法に指定されている。ディスカバリ部（１０１）は、検出した、ＣＩについての情報をＣＩ同定部（１０２）に渡す。
【００５８】
ＣＩ同定部（１０２）は、上記ＣＩについての情報をディスカバリ部（１０１）から受け取り、そして検出結果の処理を行う。ＣＩ同定部（１０２）は、上記ＣＩについての情報が、新しいＣＩについての情報か、又は既存のＣＩの更新された属性若しくは関係の値かどうかを、ＣＭＤＢ（１０５）を参照して判定する。該判定は例えば、ＣＭＤＢに格納されたＣＩのインスタンス名を、上記ＣＩについての情報と比較して行われうる。上記ＣＩについての情報が新しいＣＩに関するものであることに応じて、ＣＩ同定部（１０２）は、該情報をＣＩインスタンス作成部（１０３）に渡す。一方、上記ＣＩについての情報が既存のＣＩの更新された属性若しくは関係の値であることに応じて、ＣＩ同定部（１０２）は、該情報を属性及び関係更新部（１０４）に渡す。
【００５９】
ＣＩインスタンス作成部（１０３）は、モデル・テーブル（１０７）に格納されたデータ・モデル（図４、２０１）、及び関係テーブル（１０８）に格納された関係モデル（図４、２０４）に従い、ＣＩについての情報から、該ＣＩの所定の属性及び他のＣＩとの関係を示す１組のデータを作成する。該１組のデータは例えば、静的なデータのインスタンス又はＪａｖａ（サン・マイクロシステムズの商標）のクラスのインスタンスで実装されうる。該１組のデータの例が、ＣＩインスタンスである。ＣＩインスタンスの例を図４（２０３）に示す。上記１組のデータは、ＣＭＤＢ（１０５）内に格納される。なお、１組のデータは、ＣＩインスタンス内に属性及び関係を有していてもよく（図４、２０３を参照）、或いはＣＩインスタンス内に属性を有し、それとは別に関係インスタンスとして別々にＣＭＤＢ（１０５）内に格納されていてもよい。後者の場合、ＣＩインスタンスは、関連する関係インスタンスを特定するためのリンク付けを有する。
【００６０】
属性及び関係更新部（１０４）は、ディスカバリ部（１０１）とともにトラッキングを実現する。属性及び関係更新部（１０４）は、ＣＩの更新された属性若しくは関係の値を、ＣＭＤＢ内に格納された該ＣＩのＣＩインスタンスに反映する。すなわち、該ＣＩのＣＩインスタンスの属性或いは関係の値を更新する。該更新は、該値をディスカバリ部（１０１）によって検出されたＣＩについての情報と置き換えることによって行われる。該置き換えは、ＣＩインスタンスの属性或いは関係の値のすべてをディスカバリ部（１０１）によって検出されたＣＩについての情報と置き換えてもよく、或いは異なる値のみを置き換えてもよい。
【００６１】
ＣＭＤＢ（１０５）は、ＣＩのＣＩインスタンス（図４、２０３）を格納する。
【００６２】
ディスカバリ・テーブル（１０６）は、ディスカバリ・インスタンス（図４、２０２）を格納する。ディスカバリ・インスタンスは、ディスカバリ部（１０１）によってＣＩについての情報が検出される際に使用される。ディスカバリ・インスタンス（２０２）は例えば、静的なデータのインスタンス又はＪａｖａ（サン・マイクロシステムズの商標）のクラスのインスタンスで実装されうる。ディスカバリ・インスタンスは、ディスカバリ・ポリシーとも呼ばれる。ディスカバリ・インスタンス（２０２）は、ディスカバリ部（１０１）が検索する範囲、すなわちＣＩの検索範囲である収集対象（スコープ）、収集する属性、及び収集する関係を含む（２０２）。収集対象は例えば、サブネットＩＰアドレス、ＩＰアドレスの範囲、個々のＩＰアドレス、ＭＡＣアドレス、機器の識別子、ホストネーム若しくはデータベース名又はそれらの組み合わせを用いて指定されうる。別の態様として、収集対象を、コンピュータ・システム（１００）にネットワークを介して接続されたスケジュール管理データベース（図示せず）としてもよい。スケジュール管理データベースには例えば、機器を使用するプロセス管理に関するデータが格納されている。さらに別の態様として、収集対象を、バッチ処理定義ファイルを格納するデータベース（図示せず）としてもよい。収集対象がバッチ処理定義ファイルを格納するデータベースの場合、ディスカバリ部（１０１）は、バッチ処理定義ファイルの中身を読み込むことにより検出を行う。バッチ処理定義ファイルには、例えば機器をどの順に使用するかのデータが格納されている。
【００６３】
モデル・テーブル（１０７）は、データ・モデル（図４、２０１）を格納する。データ・モデルは、ＣＩインスタンス作成部（１０３）によって該ＣＩの所定の属性及び他のＣＩとの関係を示す１組のデータが作成される際に使用される。
【００６４】
関係テーブル（１０８）は、関係モデル（図４、２０４）を格納する。関係モデルは、ＣＩインスタンス作成部（１０３）によって該ＣＩの所定の属性及び他のＣＩとの関係を示す１組のデータが作成される際に使用される。
【００６５】
図１では、ディスカバリ部（１０１）が、コンピュータ・システム（１００）とネットワークを介して接続された管理対象であるＣＩに関する情報を検出し、構成要素Ａ、及び構成要素Ｂ並びにそれら構成要素の関係についての情報を検出したことを示す。次に、ＣＩ同定部（１０２）は、該検出した情報が新しいＣＩについてのものかについてＣＭＤＢ（１０５）を参照して判断する。該判断に応じて、ＣＩインスタンス作成部（１０３）は、構成要素ＡのＣＩインスタンス及び構成要素ＢのＣＩインスタンス、並びにそれら構成要素の関係（usedBy）のインスタンスを作成する。ＣＩインスタンス作成部（１０３）は、該作成した各インスタンスをＣＭＤＢ（１０５）内に格納する。図１では、構成要素ＢのＣＩインスタンスが、構成要素ＡのＣＩインスタンスとusedByの関係にあることを示す。
ディスカバリ部（１０１）は、検出したＣＩについての情報をもとに、データ・モデル（図４、２０１）に従って、ＣＩ及びそれらＣＩ間の関係を作成し、ＣＭＤＢ（１０５）に登録する。ＣＭＤＢ（１０５）は、ＣＩの属性及び他のＣＩとの関係を格納する。従って、システム管理者は、ＣＭＤＢ（１０５）を用いて、ＣＩ間のリアルな依存関係を抽出することが可能である。
【００６６】
構成要素は、ハードウェア構成要素、ソフトウェア構成要素を含み、その組み合わせは任意である。
【００６７】
図２は、従来技術である、構成管理のためのツールの概要を示す。
構成管理のためのツールは、構成要素についての情報（以下、単に構成情報という場合がある）を自動収集する機能（ディスカバリ）、構成情報をグラフィカルに表示する機能（トポロジー）及び変更履歴、構成比較などの分析を行う機能（アナリティクス）を有する。例えば、ＴＡＤＤＭサーバは、情報システムについての構成情報を、ｓｓｈ、ＳＮＭＰ、ＷＭＩなどを使用して取得する。上記構成情報は例えば、各情報システムのオペレーティング・システムの種類又はその構成、アプリケーションの種類又はその構成値である。ＴＡＤＤＭサーバは、取得した情報を、ＣＭＤＢ内にＣＩインスタンスとして格納する。ＴＡＤＤＭサーバは、ＣＭＤＢに格納したＣＩインスタンス基づいて、管理者のコンピュータに構成情報、及び変更履歴情報を送る。管理者のコンピュータは、該情報を用いて、構成情報の表示及び変更履歴の表示を行う。
【００６８】
図３は、従来技術である、ＣＩ、ＣＩインスタンス、及び関係（usedBy）インスタンスの作成を示す。
構成要素ＡのＣＩインスタンスは、ディスカバリ部（図１、１０１）によって検出された構成要素Ａについての情報から、構成要素Ａのデータ・モデルを用いてＣＩインスタンス作成部（図１、１０３）によって作成される。同様に、構成要素ＢのＣＩインスタンスは、ディスカバリ部（１０１）によって検出された構成要素Ｂについての情報から、構成要素Ｂのデータ・モデルを用いてＣＩインスタンス作成部（１０３）によって作成される。構成要素Ａ及び構成要素Ｂの各データ・モデルは、モデル・テーブル（図１、１０７）に格納されている。ＣＩ同士の関係、すなわち構成要素Ａと構成要素Ｂとの関係（usedBy）のインスタンスは、ディスカバリ部（１０１）によって検出された構成要素Ａについての情報から、関係モデルに従いＣＩインスタンス作成部（１０３）によって作成される。関係モデルは、関係テーブル（図１、１０８）に格納されている。
また、構成要素が例えば構成要素Ｂ１、Ｂ２、Ｂ３である場合、構成要素Ｂ１、Ｂ２、Ｂ３についての各情報が構成要素Ｂのデータ・モデルを使用してインスタンス化されて、構成要素Ｂ１のＣＩインスタンス、構成要素Ｂ２のＣＩインスタンス、構成要素Ｂ３のＣＩインスタンスが夫々作成される。構成要素Ｂ１、Ｂ２、Ｂ３の各ＣＩインスタンスもまた、ＣＭＤＢ（図１、１０５）内に格納される。
【００６９】
図４は、従来技術である、モデル・テーブル（図１、１０７）内に格納されたデータ・モデル（２０１）、ディスカバリ・テーブル（図１、１０６）内に格納されたディスカバリ・インスタンス（２０２）、ＣＭＤＢ（図１、１０５）内に格納された（構成要素Ａの）ＣＩインスタンス（２０３）及び関係テーブル（図１、１０８）内に格納された関係モデル（２０４）を示す。
【００７０】
データ・モデル（２０１）は、ＣＩを定義するためのスキーマである。データ・モデル（２０１）は例えば、どのＣＩのモデルかを示す「モデル名」、モデル名に指定されたＣＩが有する属性を示す「モデル属性」、モデル名に指定されたＣＩと他のＣＩがとりうる「関係」、及びモデル名に指定されたＣＩを検出するためのディスカバリ・インスタンスを特定する「ディスカバリ方法」の各記述を含む。モデル属性は、例えばＩＢＭが提唱する構成管理データベース用のデータ・モデル「ＣＤＭ」に規定された属性に従い規定されるが、これらに限定されない。ＣＤＭでは、2006年の時点において、2609種類の属性が規定されている。ＣＭＤＢの管理者は、データ・モデル（２０１）における属性を任意に指定しうる。関係は、例えば上記ＣＤＭに規定された関係に従い規定されるが、これらに限定されない。ＣＤＭでは、2006年の時点において、57種類の関係が規定されている。ディスカバリ方法は、ディスカバリ・インスタンス名で特定されうる。図４の場合、A-Discoveryである。
【００７１】
ディスカバリ・インスタンス（２０２）は、データ・モデル（２０１）のディスカバリ方法によって特定されるディスカバリ・インスタンスの「名前」、ディスカバリ部（図１、１０１）によって収集する管理対象（ＣＩ）の「収集対象（スコープ）」、ディスカバリ部（１０１）によって収集する管理対象（ＣＩ）の「収集する属性」及び「収集する関係」、並びに該ディスカバリ・インスタンスがアクティブであるか或いはインアクティブであるかを示す「ステータス」の各記述を含む。
【００７２】
ＣＩインスタンス（２０３）は、該インスタンスがどのＣＩのものであるかを特定するための「インスタンス名」、該インスタンスが、どのデータ・モデルを使用して作成されたかを示す「モデル名」、データ・モデルによって特定された各属性の「属性値」、データ・モデルによって特定された各「関係」の記述（値）、インスタンスがアクティブであるか或いはインアクティブであるかを示す「ステータス」、及び該ＣＩインスタンスが作成された「作成日時」の各記述を含む。ＣＩインスタンスは好ましくは、ＣＩインスタンスに特有のＣＩインスタンス識別子をさらに含む。ＣＩインスタンス識別子は、当該ＣＩインスタンスを他のＣＩインスタンスと区別できるものであれば特に限定されないが、例えばホストネーム、シリアルナンバー若しくは一定の値である他の属性の組み合わせを使用しうる。図４のＣＩインスタンス（２０３）は、構成要素ＡのＣＩインスタンスであること；データ・モデルＡを使用してインスタンス化されたこと；属性としてＳ、Ｔ及びＵを含み、これらが夫々値を有すること；関係として、Ｍによって使用されること（usedBy:M）、Ｅに接続されること（connectAt:E）、及びＨで実行すること（runAt:H）；ＣＩインスタンスがアクティブであること、並びに該ＣＩインスタンスの作成日時のデータを示す。
【００７３】
関係モデル（２０４）は、データ・モデル（２０１）によって特定される関係を定義するためのスキーマである。関係モデル（２０４）は、usedByなどの「関係名」、該関係の対象となるデータ・モデルを特定するための「対象となるデータ・モデル」、該関係の「説明」の各記述を含む。
【００７４】
図５は、従来技術である、ＣＭＤＢにおける構成情報管理の画面例を示す。該画面は、ＧＵＩで表示される。該表示は、例えばＴＡＤＤＭを用いて行われる。図５では、構成要素は、アプリケーションである。アプリケーション間の関係は、実線で示されている。なお、該画面上で表示されているアプリケーション名（各社の商標）は、例示である。
【００７５】
図６は、本発明の実施態様である、ジョブネットの例を示す。
該例は、ジョブネット＿１（３０１）、ジョブネット＿２（３０２）、ジョブネット＿３（３０３）及びジョブネット＿４（３０４）を示す。
ジョブネット＿１（３０１）は、ジョブネット＿２（３０２）及びジョブネット＿３（３０３）の先行ジョブである。ジョブネット＿２（３０２）は、ジョブネット＿４（３０４）の先行ジョブである。ジョブネット＿３（３０３）は、ジョブネット＿４（３０４）の先行ジョブである。
ジョブネット＿１（３０１）は、４つのジョブ（ジョブ１〜ジョブ４）を含む。ジョブネット＿２（３０２）は、２つのジョブ（ジョブ５〜ジョブ６）を含む。ジョブネット＿３（３０３）及びジョブネット＿４（３０４）は、１つのジョブ（夫々、ジョブ７、ジョブ８）を含む。
ジョブ１は、ジョブ２及びジョブ３と依存関係があり、ジョブ２及びジョブ３それぞれは、ジョブ４と依存関係がある。ジョブ５は、ジョブ６と依存関係がある。
【００７６】
図７は、本発明の実施態様である、ジョブ・テンプレートの例を示す。
（１）ジョブ・テンプレート（３１１）について、以下に説明する。
ジョブ・テンプレートＩＤ（ID）は、JT00001である。
ジョブ・テンプレートを説明するための記述（Description）は、オフライン再構成ジョブ（Offline Reorg Job）である。
アクション・タイプ（Action Type）は、再構成（Reorg）である。
ジョブの実行コマンド（Action）は、実際に実行される処理が、例えばジョブ・スクリプトを使用して記載されうる。ジョブ・スクリプトは、構成要素の属性又は関係データを引数として有しうる。該引数は、例えば、ジョブ・テンプレートが適用されるＣＩタイプ又は前提条件の値を使用する。
ジョブ・テンプレートが適用されるＣＩタイプ（CI Type to apply）は、データベース（DB）である。
前提条件（Prerequisite）は、構成要素の検索条件（CI Search Condition）、他のジョブ・テンプレートを検索するためのアクション・タイプ（Action Type）を含む。構成要素の検索条件は、全てのユーザ（All User）である。全てのユーザとは、ＤＢを使用している構成要素である。該構成要素は、ＤＢと、例えば、「usedBy DB」という関係を有する。同様に、ＤＢは、該構成要素と、例えば、「usedBy Webspere」という関係を有する。該例では、構成要素が、ソフトウェアであるWebspereであり、WebspereがＤＢを使用している。
検索された構成要素に対するアクション・タイプは、中断（Stop）である。
影響フラグ（Impact flag）は、サービス中断（Service Stop）がイエスであり、高負荷（High Stress）がイエスである。サービス中断とは、システムのサービス中断である。高負荷とは、システムに対する高負荷である。
（２）ジョブ・テンプレート（３１２）について、以下に説明する。
ジョブ・テンプレートＩＤは、JT00002である。
ジョブ・テンプレートを説明するための記述は、アプリケーション・サーバ中断（AppServ Stop）である。
アクション・タイプは、中断（Stop）である。
ジョブの実行コマンドは、ジョブ・スクリプトを使用して記載されうる。
ジョブ・テンプレートが適用されるＣＩタイプは、アプリケーション・サーバ（AppServ）である。
前提条件は、記載されていない。
影響フラグは、サービス中断がイエスであり、高負荷がノーである。
【００７７】
図８は、本発明の実施態様である、ジョブ定義の例を示す。
ジョブ定義（３１３）は、ジョブ定義名、ジョブ内容、ジョブ実行先、ジョブ実行ユーザ、ジョブ開始スケジュール、先行ジョブ、ジョブの実行予測時刻、及びジョブ・テンプレートを含む。
【００７８】
図９は、本発明の実施態様である、ジョブネット定義の例を示す。
ジョブネット定義（３１４）は、ジョブネット定義名、ジョブ自体、ジョブの実行順、及びジョブの実行スケジュールを含む。
ジョブ自体は変数を含み、該変数は、ジョブネット定義からジョブネットを作成する際に、ＣＭＤＢの最新の構成情報に置き換えられる。該変数では、例えば、実行コマンドにおいて%Web1.logpath%のように変数になっているパラメータが使われる。%Web1.logpath%では、Web1というID及びlogpathという属性名を使用してＣＭＤＢから構成情報が取得される。そして、該変数がＣＭＤＢからの構成情報に置き換えられる。ジョブの実行順は、先行ジョブの内容を含む。ジョブの実行スケジュールは、該ジョブを実行するスケジュールを示す。ジョブの実行スケジュールには、例えば、毎週日曜日の１９：００のような実行スケジュールが定義される。該ジョブスケジュールは、ジョブネット定義からジョブネットを作成する際に、ジョブネットがジョブネットを実行するシステムに投与される実際の日付、例えば２００８年１１月２日（日曜日である）の１９：００に変換される。
【００７９】
図１０は、従来技術である、ジョブ管理サーバの例を示す。
ジョブ管理サーバ（４０１）は、ジョブ実行エージェント（４０２）に投入するジョブを一元管理する。ジョブの管理者は、ジョブ管理コンソール（４０６）を用いて、ジョブの内容を確認することができる。ジョブ管理サーバ（４０１）は、ジョブ実行のスケジュールに基づき、ジョブ実行エージェント（４０２）にジョブの実行計画データを投入する。ジョブ実行エージェント（４０２）は、例えば、ウェブ・サーバ（４０３）、アプリケーション・サーバ（４０４）及びバッチ・サーバ（４０５）を含む。ウェブ・サーバ（４０３）、アプリケーション・サーバ（４０４）及びバッチ・サーバ（４０５）は、ジョブの実行計画データに基づきジョブを実行する。ジョブ実行エージェント（４０２）は、ジョブ実行の結果データをジョブ管理サーバ（４０１）に送信する。ジョブ管理サーバ（４０１）は、ジョブ実行の結果データにより、後にスケジュールされているジョブの実行可否を制御する。ジョブ管理サーバ（４０１）は、ジョブ管理コンソール（４０６）の要求に応じて、ジョブ実行の結果データをジョブ管理コンソール（４０６）に送信する。ジョブの管理者は、ジョブ管理コンソール（４０６）を用いて、ジョブの実行結果を確認することができる。
従来のジョブ管理サーバ（４０１）では、ジョブの実行計画データを手動で作成し、ジョブ間のコンフリクトに対しても手動で対応している。また、ジョブの対象であるシステム構成変更に対しても、ジョブの実行計画データを手動で変更している。
【００８０】
図１１は、本発明の実施態様である、システム全体の構成図の例を示す。
ジョブ管理サーバ（５０１）は、ＣＭＤＢ（５０４）内に格納されたＣＩインスタンスを利用して、ジョブの設計支援、ジョブの実行をする。ジョブの設計支援は、ジョブネット定義又はジョブネットの自動作成、ジョブネット定義又はジョブネットの自動更新を含む。ジョブ管理サーバ（５０１）はまた、ＣＭＤＢ（５０４）内に格納されたＣＩインスタンスを用いて、ジョブ設計の検証を行う。ジョブ設計の検証は、ジョブのコンフリクトの発見を含む。
ジョブ管理サーバ（５０１）は、ジョブ・テンプレートを格納する記憶部（５０２）からジョブ・テンプレートを読み出す。ジョブ管理サーバ（５０１）はまた、ジョブ定義を格納する記憶部（図示せず）からジョブ定義を読み出す。ジョブ定義を格納する記憶部は、ジョブ・テンプレートを格納する記憶部（５０２）と同じ物理的記憶装置内にあってよい。
ジョブ管理サーバ（５０１）は、ジョブ・テンプレートにジョブ定義を適用し、ジョブネット定義を作成する。ジョブ管理サーバ（５０１）は、ジョブネット定義を作成する際に、ＣＭＤＢ（５０４）からのＣＩインスタンスを用いて、ジョブネット定義の作成に使用されるジョブ・テンプレートから、該ジョブネット定義の作成に必要な構成要素の特定をすることが可能である。ＣＩインスタンスは、構成要素についての属性及び関係を含む。ジョブ管理サーバ（５０１）は、構成要素についても属性及び関係の少なくとも１つを用いて、ジョブ・テンプレートからジョブネット定義を作成する。ＣＭＤＢ内のＣＩインスタンスは、ディスカバリ部（５０７）によって自動的に更新される。なお、ＣＩインスタンスの更新は、管理者（５０８）によって一部手動で設定又は更新されてもよい。構成要素のなかには、手動による設定又は更新しかできないデータがある場合もありからである。作成されたジョブネット定義は、ジョブネット定義記憶部（５０３）に格納される。  ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネット（５０５）を作成する。ジョブ管理サーバ（５０１）は、また、ジョブネット定義内に定義された引数に、ＣＭＤＢ（５０４）のＣＩインスタンスについてのデータを与えて、ジョブネット定義からジョブネット（５０５）を作成する。
ジョブ管理サーバ（５０１）は、ジョブネットを実行するシステム（５０６）に、上記作成したジョブネット（５０５）を投入する。
ジョブ管理サーバ（５０１）は、ジョブネット定義を作成する直前、ジョブネットを作成する直前、又は上記システム（５０６）にジョブネットを投入する直前に、ディスカバリ部（５０７）に対して、構成情報についてのディスカバリを要求することができる。該ディスカバリによって、ＣＭＤＢ（５０４）内のＣＩインスタンスの属性及び関係が更新される。
ジョブ管理サーバ（５０１）は、該更新されたＣＩインスタンスの属性及び関係の少なくとも１に基づいて、ジョブネット定義又はジョブネットを更新することができる。
ジョブ管理サーバ（５０１）は、ジョブネット定義又はジョブネットの作成又は更新時に、ＣＩインスタンスの属性及び関係の少なくとも１を用いて、ジョブのコンフリクトを発見する。
【００８１】
図１２は、本発明の実施態様である、ジョブ管理サーバの構成図の例を示す。
ジョブ管理サーバ（５０１）は、実行部（５０９）、ＣＰＵ（５０９）、メモリー（５１３）、及びハードディスクドライブなどの記憶部（５１４）を含む。
実行部（５０９）は、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係の少なくとも１を使用して、少なくとも１のジョブ・テンプレートに定義された条件に従いジョブネットの作成、更新、又はジョブのコンフリクトの発見を実行する。
実行部（５０９）は、また、第１の作成部（５１０）及び第２の作成部（５１１）を含む。第１の作成部（５１０）は、上記ＣＩインスタンスの属性及び関係の少なくとも１を使用して、ジョブ・テンプレートからジョブネット定義を作成する。第１の作成部（５１０）は、作成されたジョブネット定義をジョブネット定義記憶部（５０３）に格納する。第２の作成部（５１１）は、上記ＣＩインスタンスの属性及び関係の少なくとも１を使用して、ジョブネット定義からジョブネット（５０５）を作成する。
ＣＰＵ（５０９）は、ジョブ管理サーバ（５０１）からの命令を受け、バッチジョブを管理する方法を実行する。
記憶部（５１４）は、ジョブ・テンプレートを格納する記憶部（５０２）から読み出したジョブ・テンプレートを記憶する。記憶部（５１４）はまた、ジョブネット定義を格納する記憶部（５０３）から読み出したジョブネット定義を記憶する。
【００８２】
図１３は、本発明の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。
ステップ５３１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも１つのジョブ・テンプレートを、ジョブ・テンプレート記憶部（５０２）から読み出す。
ステップ５３２では、ジョブ管理サーバ（５０１）は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。
ステップ５３３では、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５３４では、ジョブ管理サーバ（５０１）は、作成されたジョブネット定義をジョブネット定義記憶部（５０３）に格納する。
ステップ５３５では、ジョブ管理サーバ（５０１）は、ジョブネットを作成する命令に応じて、ジョブネット定義の再検査をする。この理由は、上記ジョブネット定義が作成された後、所定の期間を経過しているにＣＭＤＢのＣＩインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブ・テンプレートの前提条件を満たす構成要素が変わる場合が考えられる。そこで、ジョブ管理サーバ（５０１）は、ステップ５３２の内容を繰り返し、必要であれば、ジョブネット定義を更新する。
ステップ５３６では、ジョブ管理サーバ（５０１）は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ（５０１）は、上記読み込んだジョブネット定義内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５３７では、ジョブ管理サーバ（５０１）は、作成されたジョブネットをジョブネット記憶部（図示なし）に格納する。
ステップ５３８では、ジョブ管理サーバ（５０１）は、ジョブネットを該ジョブネットを実行するシステムに投入する命令に応じて、ジョブネットの再検査をする。この理由は、上記ジョブネットが作成された後、所定の期間を経過しているにＣＭＤＢのＣＩインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブネット定義に定義された引数の値が変わる場合が考えられる。そこで、ジョブ管理サーバ（５０１）は、ステップ５３６の内容を繰り返し、必要であれば、ジョブネットを更新する。
ステップ５３９では、ジョブ管理サーバ（５０１）は、上記作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００８３】
図１４は、本発明の実施態様である、ジョブネット定義又はジョブネットの更新をするフローチャートを示す。
ステップ５２１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも１つのジョブ・テンプレートを、ジョブ・テンプレート記憶部（５０２）から読み出す。ジョブ設計において、最初のジョブ・テンプレートの選択は、ジョブの設計者が行う。設計者は、選択したジョブ・テンプレートについての情報をコンピュータ・システムに与える。
ステップ５２２では、ジョブ管理サーバ（５０１）は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。該検索は、ＣＭＤＢ（５０４）に格納された複数のＣＩインスタンスの属性及び関係のデータを検索することによって行われる。
ステップ５２３では、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５２３では、ジョブ管理サーバ（５０１）は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ（５０１）は、上記読み込んだジョブネット定義内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５２５では、ジョブ管理サーバ（５０１）は、上記ジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００８４】
図１５は、本発明の実施態様である、ジョブの検証をするフローチャートを示す。
ステップ５４１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも１つのジョブ・テンプレートを、ジョブ・テンプレート記憶部（５０２）から読み出す。
ステップ５４２では、ジョブ管理サーバ（５０１）は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。
ステップ５４３では、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５４４では、ジョブ管理サーバ（５０１）は、構成要素についての属性又は関係データがジョブ・テンプレートの前提条件又は影響フラグに反しないかを調べる。この理由は、上記ジョブネット定義が作成された後、所定の期間を経過しているにＣＭＤＢのＣＩインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブ・テンプレートの前提条件を満たす構成要素が変わる場合が考えられる。上記前提条件又は影響フラグに反している場合、ステップ５４５に進む。一方、上記前提条件又は影響フラグに反していない場合、ステップ５４６に進む。
ステップ５４５では、ジョブ管理サーバ（５０１）は、ステップ５４３の内容を繰り返す。
ステップ５４６では、ジョブ管理サーバ（５０１）は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ（５０１）は、上記読み込んだジョブネット定義内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５４７では、ジョブ管理サーバ（５０１）は、ジョブネットを該ジョブネットを実行するシステムに投入する命令に応じて、構成要素についての属性又は関係データがジョブ・テンプレートの前提条件又は影響フラグに反しないかを調べる。この理由は、上記ジョブネットが作成された後、所定の期間を経過しているにＣＭＤＢのＣＩインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブ・テンプレートの前提条件を満たす構成要素が変わる場合が考えられる。また、ジョブネット定義に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの更新された少なくとも１つを該引数に与える。上記前提条件又は影響フラグに反している場合、ステップ５４８に進む。一方、上記前提条件又は影響フラグに反していない場合、ステップ５４９に進む。
ステップ５４９では、ジョブ管理サーバ（５０１）は、上記ジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００８５】
図１６は、本発明の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。
ステップ５５１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも１つのジョブ・テンプレートを、ジョブ・テンプレート記憶部（５０２）から読み出す。
ステップ５５２では、ジョブ管理サーバ（５０１）は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。
ステップ５５３では、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ（５０１）は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５５４では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを検査する。ジョブのコンフリクトは、例えば、以下の態様が考えられる。
・第１のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯と、第２のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第３の構成要素及び該第３の構成要素と関係を有する第４の構成要素の少なくとも１を該ジョブが利用する実行時間帯とが重なること。
・ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であること。
ジョブにコンフリクトがある場合、ステップ５５５に進む。一方、ジョブにコンフリクトがない場合、ステップ５５６に進む。
ステップ５５５では、ジョブ間のコンフリクトがないように、ジョブネット定義を修正する。該修正のために、上記選択されたジョブ・テンプレート内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５５６では、ジョブ管理サーバ（５０１）は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ（５０１）は、上記読み込んだジョブネット定義内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５５７では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを検査する。ジョブにコンフリクトがある場合、ステップ５５８に進む。一方、ジョブにコンフリクトがない場合、ステップ５５８に進む。
ステップ５５８では、ジョブ間のコンフリクトがないように、ジョブネット定義を修正する。該修正のために、上記選択されたジョブ・テンプレート内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。
ステップ５５９では、ジョブ管理サーバ（５０１）は、上記作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００８６】
図１７は、本発明の実施態様である、ジョブネット定義及びジョブネットの作成を示す。
ジョブテンプレート（６０１）は、２つのジョブ・テンプレートを有している。該ジョブ・テンプレートは、オフライン再構成ジョブ・テンプレート及びStop AppServジョブ（以下、Stopジョブという）・テンプレートである。
オフライン再構成ジョブ・テンプレートの実行コマンドは、ＤＢ２（商標）及びオラクル（商標）に対する実行コマンドである。オフライン再構成ジョブ・テンプレートの前提条件は、全てのＤＢクライアントが中断していることである。
ＣＭＤＢ（６０２）には、構成要素「ＤＢ２」（データベースである）及び構成要素WebSphere Application Server（アプリケーション）（以下、ＷＡＳ）１及び２夫々についての１組のデータが格納されている。
構成要素ＤＢ２の属性の一つは、ＣＩタイプがＤＢであることである。また、構成要素ＷＡＳの属性の一つは、ＣＩタイプがAppServであることである。
構成要素ＤＢ２の関係は、usedBy WAS1及びusedBy WAS2である。また、構成要素ＷＡＳの関係は、usedBy DB2 clientである。
ジョブネット定義（６０３）は、上記２つのジョブ・テンプレートから作成される。ジョブネット定義ではまた、例えば、ジョブの実行スケジュールが定義されている。ジョブの実行スケジュールは、例えば、毎週日曜日の１９：００である。ジョブネット定義ではまた、例えば、ＣＭＤＢから取り込むデータのための引数が定義されている。
ジョブネット（６０４）は、上記ジョブネット定義から作成される。ジョブネットでは、上記ジョブの実行スケジュールがインスタンス化される。該ジョブの実行スケジュールは、例えば、２００８年１０月２６日の１９：００である。このように、ジョブネットでは、ジョブの実行スケジュールが、ジョブネットを実際に実行するシステムに投入される日付に変換されている。同様に、該ジョブネットでは、上記ＣＭＤＢから取り込むデータのための引数に、ＣＭＤＢからのＣＩインスタンスの属性及び関係の少なくとも１つのデータが与えられている。
【００８７】
図１８は、図１７の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。
ステップ６１１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも１つのジョブ・テンプレート（６０１）を、ジョブ・テンプレート記憶部（５０２）から読み出す。ステップ６１１では、ジョブの設計者がジョブ・テンプレート「オフライン再構成ジョブ」を選択したので、ジョブ管理サーバ（５０１）は、該選択されたジョブ・テンプレートをジョブ・テンプレートジョブ・テンプレート記憶部（５０２）から読み出す。
ステップ６１２では、ジョブ・テンプレート「オフライン再構成ジョブ」を、ジョブ・テンプレート内のジョブ・テンプレートが適用されるＣＩタイプに定義された構成要素「ＤＢ２」に適用する。
ステップ６１３では、ジョブ管理サーバ（５０１）は、ジョブ・テンプレート「オフライン再構成ジョブ」の前提条件の検索条件「All DB Client Stopped」から、構成要素「ＤＢ２」を使用する関係「usedBy」を有する構成要素を検索することをＣＭＤＢ（６０２）に依頼する。
ステップ６１４では、ジョブ管理サーバ（５０１）は、ＣＭＤＢ（６０２）の構成要素「ＤＢ２」のＣＩインスタンスの関係「usedBy」を使用して、構成要素「ＷＡＳ１」及び「ＷＡＳ２」が構成要素ＤＢ２との関係にあることを知る。構成要素「ＤＢ２」は、構成要素「ＷＡＳ１」との関係が「usedBy WAS1」である。構成要素「ＤＢ２」はまた、構成要素「ＷＡＳ２」との関係が「usedBy WAS2」である。
ステップ６１５では、ジョブ管理サーバ（５０１）は、ジョブ・テンプレート「オフライン再構成ジョブ」の前提条件のアクションである「中断」を、構成要素「ＷＡＳ１」及び「ＷＡＳ２」に対して実行するために、“ジョブ・テンプレートが適用されるＣＩタイプ”が「AppServ」であり且つ“アクション・タイプ”が「Stop」であるジョブ・テンプレートをジョブ・テンプレート記憶部において検索する。検索の結果、ジョブ・テンプレート「Stop AppServジョブ」が検索される。
ステップ６１６では、ジョブ管理サーバ（５０１）は、検索されたジョブ・テンプレート「Stop AppServジョブ」を構成要素「ＷＡＳ１」及び「ＷＡＳ２」に対して自動的に適用する。
ステップ６１７では、ジョブ管理サーバ（５０１）は、ジョブ・テンプレート「オフライン再構成ジョブ」及びジョブ・テンプレート「Stop AppServジョブ」から、ジョブネット定義（６０３）を作成する。
ステップ６１８では、ジョブ管理サーバ（５０１）は、ジョブネットの作成命令を受信する。
ステップ６１９は、任意のステップである、ステップ６１９では、ジョブ管理サーバ（５０１）は、ジョブネットの作成命令の受信に応答して、ステップ６１３〜６１７を繰り返して、ジョブネット定義を更新してもよい。ジョブネット定義が作成された後に所定の期間を経過すると、システムの構成も変更される場合があるために、ジョブネット定義の更新が必要になる場合があるからである。ジョブ管理サーバ（５０１）は、ジョブネット定義の更新を可能にするために、ジョブネット定義が作成された日時を確認し、例えば該日時から２４時間を経過している場合に、ディスカバリ部に対して構成要素のディスカバリを依頼する。
ステップ６２０では、ジョブ管理サーバ（５０１）は、ディスカバリによってジョブネット定義の更新が必要な場合、ジョブネット定義を更新する。
ステップ６２１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を読みこんで、ジョブネットを作成する。ジョブ管理サーバ（５０１）は、上記読み込んだジョブネット定義内に引数が定義されている場合、ＣＭＤＢ（５０４）に格納されたＣＩインスタンスの属性及び関係のデータの少なくとも１つを該引数に与える。ジョブ管理サーバ（５０１）はまた、ジョブネットが投入される実際の日時をジョブネット定義に与える。
ステップ６２２では、ジョブ管理サーバ（５０１）は、ジョブネットの投入命令を受信する。
ステップ６２３は、任意のステップである。ステップ６２３では、ジョブ管理サーバ（５０１）は、ジョブネットの投入命令の受信に応答して、ステップ６１９と同じ内容を繰り返す。ジョブネットが作成された後に所定の期間を経過すると、システムの構成も変更される場合があるために、ジョブネットの更新が必要になる場合があるからである。ジョブ管理サーバ（５０１）は、ジョブネットの更新を可能にするために、ジョブネットが作成された日時を確認し、例えば該日時から２４時間を経過している場合に、ディスカバリ部に対して構成要素のディスカバリを依頼する。
ステップ６２４では、ジョブ管理サーバ（５０１）は、ディスカバリによってジョブネットの更新が必要な場合、ジョブネットを更新する。
ステップ６２５では、ジョブ管理サーバ（５０１）は、上記作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００８８】
図１９は、本発明の実施態様である、ジョブ間のコンフリクトの発見を示す。
ジョブテンプレート（７０１）は、２つのジョブ・テンプレートを有している。該ジョブ・テンプレートは、ＯＳ再起動ジョブ・テンプレート及びウィルス・スキャン・ジョブ・テンプレートである。
ＯＳ再起動ジョブ・テンプレートの影響フラグは、サービス中断であることから、ＯＳ再起動ジョブを実行すると、システムのサービス中断という影響があることを示す。
ウィルス・スキャン・ジョブ・テンプレートの影響フラグは、高負荷であることから、ウィルス・スキャン・ジョブを実行すると、システムに対して高負荷がかかることを示す。
受注システム（７０２）では、ＣＭＤＢの構成情報を使用して、業務ジョブと同じ時間帯にサービス中断ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。エラー表示がされるまでの課程は次の通りである。ジョブ管理サーバは、ＣＭＤＢの構成情報を用いて、LinuxのＣＩインスタンスの関係（runAt）から、構成要素「ＤＢ２」を知る。次に、ジョブ管理サーバは、構成要素「ＤＢ２」のＣＩインスタンスの関係「usedBy」から、構成要素「ＷＡＳ」を知る。最後に、ジョブ管理サーバは、構成要素「ＷＡＳ」の属性からＷＡＳ上で稼働している業務ジョブがあることを知る。よって、ジョブ管理サーバは、ＯＳの再起動によって、サービス中断ジョブが適用されると、Linuxのサービスの中断が生じることを知る。
発送システム（７０３）では、ＣＭＤＢの構成情報を使用して、業務ジョブと同じ時間帯に高負荷ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。警告表示がされるまでの課程は次の通りである。ジョブ管理サーバは、ＣＭＤＢの構成情報を用いて、Windows（商標）のＣＩインスタンスの関係（runAt）から、構成要素ＳＱＬを知る。次に、ジョブ管理サーバは、構成要素「ＳＱＬ」のＣＩインスタンスの関係「usedBy」から、構成要素「Ｔｏｍｃａｔ」を知る。最後に、ジョブ管理サーバは、構成要素「Ｔｏｍｃａｔ」の属性からＴｏｍｃａｔ上で稼働している業務ジョブがあることを知る。よって、ジョブ管理サーバは、ウィルス・スキャンによって、Windowsに対して高負荷が生じることを知る。
【００８９】
図２０は、図１９の実施態様である、ジョブ間のコンフリクトを発見するフローチャートを示す。
下記では、受注システム（７０２）と発送システム（７０３）におけるそれぞれのフローチャートを示す。
【００９０】
（１）受注システム（７０２）
ステップ７１１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「ＯＳ再起動ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ７１２では、ジョブ・テンプレート「ＯＳ再起動ジョブ」からジョブネット定義の作成を開始する。
ステップ７１３では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７１４に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ７１５に進む。
ステップ７１４では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ７１５では、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットの作成を開始する。
ステップ７１６では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７１７に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットを作成し、ステップ７１８に進む。
ステップ７１７では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ７１８では、ジョブ管理サーバは、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００９１】
（２）発送システム（７０３）
ステップ７２１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「ウィルス・スキャン・ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ７２２では、ジョブ・テンプレート「ウィルス・スキャン・ジョブ」からジョブネット定義の作成を開始する。
ステップ７２３では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７１４に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ７２５に進む。
ステップ７２４では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ７２５では、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットの作成を開始する。
ステップ７２６では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７１７に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットを作成し、ステップ７１８に進む。
ステップ７２７では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ７２８では、ジョブ管理サーバは、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００９２】
図２１は、本発明の実施態様である、ジョブのコンフリクトを発見する実施態様を示す。
ジョブテンプレート（７３１）は、２つのジョブ・テンプレートを有している。該ジョブ・テンプレートは、ＯＳ再起動ジョブ・テンプレート及びウィルス・スキャン・ジョブ・テンプレートである。
ＯＳ再起動ジョブ・テンプレートの影響フラグは、システム中断であることから、ＯＳ再起動ジョブを実行すると、システムのサービス中断という影響があることを示す。
ウィルス・スキャン・ジョブ・テンプレートの影響フラグは、高負荷であることから、ウィルス・スキャン・ジョブを実行すると、システムに対して高負荷がかかることを示す。
受注システム（７０２）では、ＣＭＤＢの構成情報を使用して、オンライン時間帯にサービス中断ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。エラー表示がされるまでの課程は次の通りである。ジョブ管理サーバは、ＣＭＤＢの構成情報を用いて、LinuxのＣＩインスタンスの関係（runAt）から、構成要素「ＤＢ２」を知る。次に、ジョブ管理サーバは、構成要素「ＤＢ２」のＣＩインスタンスの関係usedByから、構成要素「ＷＡＳ」を知る。最後に、ジョブ管理サーバは、構成要素「ＷＡＳ」の属性「オンライン時間」からＷＡＳ上でオンライン時間帯に稼働している業務ジョブがあることを知る。よって、ジョブ管理サーバは、ＯＳの再起動によって、サービス中断ジョブが適用されると、Linuxのシステムが再起動することを知る。
受注システム（７０２）では、また、ＣＭＤＢの構成情報を使用して、オンライン時間帯に高負荷ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。警告表示がされるまでの課程は次の通りである。ジョブ管理サーバは、構成要素「受信システム」のＣＩの関係（Including）及び属性（オンライン時間帯）を用いて、ウィルス・スキャン・ジョブが実行されると、受注システムに対して高負荷が生じることを知る。受信システムは、４つの構成要素「Ｌｉｎｕｘ」、「ＤＢ２」、「ＷｅｂＳｐｈｅｒｅ」及び「Ｗｉｎｄｏｗｓ」を含むが、受注システムとして１つの構成要素である。
【００９３】
図２２は、図２１の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。
下記では、ＯＳ再起動ジョブ・テンプレートとウィルス・スキャン・ジョブ・テンプレートにおけるそれぞれのフローチャートを示す。
【００９４】
（１）ＯＳ再起動ジョブ・テンプレート
ステップ７４１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「ＯＳ再起動ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ７４２では、ジョブ・テンプレート「ＯＳ再起動ジョブ」からジョブネット定義の作成を開始する。
ステップ７４３では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７４４に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ７４５に進む。
ステップ７４４では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ７４５では、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットの作成を開始する。
ステップ７４６では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７４に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットを作成し、ステップ７４８に進む。
ステップ７４７では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ７４８では、ジョブ管理サーバは、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
（２）ウィルス・スキャン・ジョブ・テンプレート
ステップ７５１では、ジョブ管理サーバ（５０１）は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「ウィルス・スキャン・ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ７５２では、ジョブ・テンプレート「ウィルス・スキャン・ジョブ」からジョブネット定義の作成を開始する。
ステップ７５３では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７１４に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ７５５に進む。
ステップ７５４では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ７５５では、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットの作成を開始する。
ステップ７５６では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ７５７に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ（５０１）は、ジョブネット定義からジョブネットを作成し、ステップ７５８に進む。
ステップ７５７では、ジョブ管理サーバ（５０１）は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ（５０１）が、エラーを解消するように、ＣＭＤＢの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ７５８では、ジョブ管理サーバ（５０１）は、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００９５】
図２３は、本発明の実施態様である、ジョブネットの更新を示す。
ジョブ管理サーバは（８０１）は、ジョブネットの更新を通じて、ジョブ設計の再利用性を高める。
ジョブテンプレート（８０２）は、ログ・メンテナンス・ジョブテンプレートであり、実行コマンドにおける処理が、cat /dev/null >%$CIID$.logpath%で表されるディレクトリを用いる。ジョブネット定義（８０３）は、ログ・メンテナンス・ジョブネット定義であり、実行コマンドにおける処理が、cat /dev/null > %Web1.logpath%で表されるディレクトリを用いる。ジョブネット定義（８０３）の該ディレクトリは、ジョブテンプレート（８０２）で定義されたディレクトリがインスタンス化されたものである。
ジョブ管理サーバは（８０１）は、ジョブテンプレート（８０２）からジョブネット定義（８０３）を作成するに際して、%$CIID$に%Web1を代入してインスタンス化する。
ジョブ管理サーバは（８０１）は、構成要素「Ｗｅｂ１」（ＣＩインスタンス名：Ｗｅｂ１）の属性「ログパス」の値をＣＭＤＢから読み取る。属性「ログパス」の値が、logpath=/logs/xxx.logであるとする。ジョブ管理サーバ（８０１）は、ＣＭＤＢからの属性値「/logs/xxx.log」をジョブネット定義の「%Web1」に代入し、ジョブネット（８０５）を作成する。
次に、構成要素「Ｗｅｂ１」の属性「ログパス」の値が「/logs/xxx.log」から「/logs/yyy.log」に変更されたとする。ディスカバリ部は、ディスカバリによって該変更を自動的に検出する。該検出によって、ＣＭＤＢのＣＩインスタンスのデータが更新される。そして、ジョブ管理サーバ（８０１）は、ＣＭＤＢ内のＷｅｂ１についてのＣＩインスタンスの属性値「/logs/yyy.log」を読み取り、該属性値をジョブネット定義の「%Web1」に代入し、ジョブネットを作成する。
このようにして、ジョブ・テンプレート（８０２）及びジョブネット定義（８０３）に引数を使用することによって、ジョブネット定義を変更することなく、ログファイルの出力先をＣＭＤＢからの情報を使用して変更することが可能である。
【００９６】
図２４は、図２３の実施態様である、ジョブネットを更新するフローチャートを示す。  ステップ８１１では、ディスカバリ部は、構成要素「システム」（８０６）についての情報を検出する。ＣＭＤＢシステム（図１、１００）は、該情報に基づいて、構成要素「システム」において、ログファイルの出力先が変更されたことを検出する。
ステップ８１２では、ＣＭＤＢシステムは、上記変更の検出に応じてＣＭＤＢを更新する。すなわち、構成要素「システム」のＣＩインスタンスの属性「ログパス」の値が、「/logs/xxx.log」から「/logs/yyy.log」に変更される。
ステップ８１３では、ジョブ管理サーバは（８０１）は、ログ・メンテナンス・ジョブネット定義の引数に、上記変更された値「/logs/yyy.log」を代入する。
ステップ８１４では、ジョブ管理サーバは（８０１）は、ログファイルの出力先として、更新された出力先を含むジョブネットを生成する、又はログファイルの出力先として、更新された出力先を含むジョブネットに更新する。
ステップ８１５では、ジョブ管理サーバ（５０１）は、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
【００９７】
図２５は、本発明の実施態様に係るコンピュータ・ハードウェアのブロック図を示す。
本発明の実施態様に係るコンピュータ・システム（９０１）は、ＣＰＵ（９０２）とメイン・メモリ（９０３）と含み、これらはバス（９０４）に接続されている。ＣＰＵ（９０２）は好ましくは、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＸｅｏｎ（商標）シリーズ、Ｃｏｒｅ（商標）シリーズ、Ａｔｏｍ（商標）シリーズ、Ｐｅｎｔｉｕｍ（商標）シリーズ、Ｃｅｌｅｒｏｎ（商標）シリーズ、ＡＭＤ社のＰｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（商標）シリーズ及びＳｅｍｐｒｏｎ（商標）などを使用することができる。バス（９０４）には、ディスプレイ・コントローラ（９０５）を介して、ＬＣＤモニタなどのディスプレイ（９０６）が接続される。ディスプレイ（９０６）は、そのコンピュータ・システム（９０１）上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バス（９０４）にはまた、ＩＤＥ又はＳＡＴＡコントローラ（９０７）を介して、ハードディスク又はシリコン・ディスク（９０８）と、ＣＤ−ＲＯＭ、ＤＶＤ又はＢｌｕ−ｒａｙドライブ（９０９）が接続されている。ＣＤ−ＲＯＭ、ＤＶＤ又はＢＤドライブ（９０９）は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラムをハードディスク又はシリコン・ディスク（９０８）に導入するために使用される。バス（９０４）には更に、キーボード・マウスコントローラ（９１０）を介して、或いはＵＳＢコントローラ（図示せず）を介して、キーボード（９１１）及びマウス（９１２）が接続されている。
【００９８】
ハードディスク（９０８）には、オペレーティング・システム、Ｊ２ＥＥなどのＪａｖａ処理環境を提供するプログラム、ＣＭＤＢのための運用管理プログラム、その他のプログラム及びデータが、メイン・メモリ（９０３）にロード可能に記憶されている。運用管理プログラムは好ましくは、インターナショナル・ビジネス・マシーンズ・コーポレーションから提供されるＴＡＤＤＭ（Tivoli（商標）Application Dependency Discovery Manager）を含む。
【００９９】
通信インタフェース（９１４）は、例えばイーサネット（商標）プロトコルに従うものであり、通信コントローラ（９１３）を介してバス（９０４）に接続される。通信インタフェース（９１４）は、コンピュータ・システム（９０１）及び通信回線（９１５）を物理的に接続する役割を担い、コンピュータ・システム（９０１）のオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インターフェース層を提供する。通信回線は、有線ＬＡＮ環境、或いは例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境であってもよい。
【０１００】
なお、コンピュータ等のハードウェアを接続するためのネットワーク接続装置として使用できるものとして、上記のネットワーク・スイッチ以外に、これで尽きている訳ではないが、ルータ、ハードウェア管理コンソール等がある。要するに、ネットワーク運用管理用プログラムが導入されているコンピュータからの、所定のコマンドによる問い合わせに対して、それに接続されているコンピュータのＩＰアドレス、ＭＡＣアドレスなどの構成情報を返すことができる機能をもつものである。ネットワーク・スイッチ及びルータは、アドレス解決プロトコル（ＡＲＰ）のための、それに接続されているコンピュータのＩＰアドレス及び、それに対応するＭＡＣアドレスの対のリストを含むＡＲＰテーブルを含み、所定のコマンドによる問い合わせに対して、ＡＲＰテーブルの内容を返す機能をもつ。ハードウェア管理コンソールは、ＡＲＰテーブルよりも更に詳しい、コンピュータの構成情報を返すことができる。
【０１０１】
コンピュータには、上述したハードウェア管理コンソールが接続されている。これは、コンピュータで、ＬＰＡＲ（仮想論理区画）により一台のコンピュータを複数の区画に論理分割し、その各々の区画で、ＶＭｗａｒｅにより、Ｗｉｎｄｏｗｓ（商標）、Ｌｉｎｕｘ（商標）などの異なるＯＳを走らせるようにする機能を有するものである。ハードウェア管理コンソールにシステム的に問い合わせすることにより、ＬＰＡＲ・ＶＭｗａｒｅで動作しているコンピュータの個々の論理区画での情報を、詳細に得ることができる。
【０１０２】
以上、実施形態に基づき本発明を説明してきたが、本実施形態に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが、明らかであろう。例えば、ＣＭＤＢとそれに格納されたＣＩではなく、別の形式のデータベースとＣＩの形式を用いることもできる。また、Ｊａｖａ以外に、Ｃ＋＋、Ｃ＃など、ネットワーク管理機能をもつＡＰＩを呼び出すことのできる任意のコンピュータ開発環境を用いることができる。
【図１】
2010050524.tif 000003
【図２】
2010050524.tif 000004
【図３】
2010050524.tif 000005
【図４】
2010050524.tif 000006
【図５】
2010050524.tif 000007
【図６】
2010050524.tif 000008
【図７】
2010050524.tif 000009
【図８】
2010050524.tif 000010
【図９】
2010050524.tif 000011
【図１０】
2010050524.tif 000012
【図１１】
2010050524.tif 000013
【図１２】
2010050524.tif 000014
【図１３】
2010050524.tif 000015
【図１４】
2010050524.tif 000016
【図１５】
2010050524.tif 000017
【図１６】
2010050524.tif 000018
【図１７】
2010050524.tif 000019
【図１８】
2010050524.tif 000020
【図１９】
2010050524.tif 000021
【図２０】
2010050524.tif 000022
【図２１】
2010050524.tif 000023
【図２２】
2010050524.tif 000024
【図２３】
2010050524.tif 000025
【図２４】
2010050524.tif 000026
【図２５】
2010050524.tif 000027
【手続補正書】
【提出日】平成22年5月31日(2010.5.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バッチジョブを管理するためのコンピュータ・システムであって、
少なくとも１のジョブ・テンプレートを格納する記憶部と、
構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータ中の少なくとも１の属性又は関係を使用して、
前記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行する実行部であって、前記１組のデータは、リポジトリに保持されており且つ構成要素についての情報を検出するディスカバリによって自動的に更新されうる、前記実行部と
を含む、前記コンピュータ・システム。
【請求項２】
前記実行部が、前記１組のデータ中の少なくとも１の属性又は関係を使用して、前記少なくとも１のジョブ・テンプレートからジョブネット定義を作成し又は更新する第１の作成部をさらに含む、請求項１に記載のコンピュータ・システム。
【請求項３】
前記ジョブ・テンプレートが、ジョブの実行タイプ、ジョブの実行コマンド、該ジョブ・テンプレートが適用される構成要素、及びジョブの実行の前提条件を含む、請求項２に記載のコンピュータ・システム。
【請求項４】
前記ジョブネット定義が、ジョブの内容、ジョブの実行順、及びジョブの実行スケジュールを含む、請求項２に記載のコンピュータ・システム。
【請求項５】
前記前提条件が、構成要素を検索するための条件、及び該構成要素に対するジョブの実行タイプを含む、請求項３に記載のコンピュータ・システム。
【請求項６】
前記第１の作成部が、前記１組のデータ中の少なくとも１の属性又は関係を使用して、前記前提条件に記載された条件に合致する構成要素を特定する、請求項５に記載のコンピュータ・システム。
【請求項７】
前記第１の作成部が、前記特定された構成要素に、他のジョブ・テンプレートを関連付ける、請求項６に記載のコンピュータ・システム。
【請求項８】
前記第１の作成部が、前記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成する、請求項２に記載のコンピュータ・システム。
【請求項９】
前記ジョブ定義が、ジョブの定義名、ジョブの内容、ジョブの実行先、ジョブの実行ユーザ、ジョブの開始スケジュール、先行ジョブ、ジョブの実行予測時間、及びジョブ・テンプレート名を含む、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記ジョブ・テンプレートが、構成要素についての１組のデータを取得するための引数を含む、請求項２に記載のコンピュータ・システム。
【請求項１１】
前記実行部が、前記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブネット定義からジョブネットを作成し又は更新する第２の作成部をさらに含む、請求項１に記載のコンピュータ・システム。
【請求項１２】
前記ジョブネット定義が、構成要素についての１組のデータを取得するための引数を含む、請求項１１に記載のコンピュータ・システム。
【請求項１３】
前記ジョブネット定義がログ・メンテナンス・ジョブネット定義であり、前記引数がログパスであり、該ログパスのデータが前記１組のデータによって更新される、請求項１２に記載のコンピュータ・システム。
【請求項１４】
前記第２の作成部が、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する１組のデータの属性及び関係の少なくとも１を、前記ジョブネットに適用する、請求項１１に記載のコンピュータ・システム。
【請求項１５】
前記ジョブのコンフリクトが、第１のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯と、第２のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第３の構成要素及び該第３の構成要素と関係を有する第４の構成要素の少なくとも１を該ジョブが利用する実行時間帯とが重なることを含む、請求項１に記載のコンピュータ・システム。
【請求項１６】
前記第２の構成要素が前記第１の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出され、前記第４の構成要素が前記第３の構成要素の１組のデータ中の少なくとも１の属性又は関係を使用して検出される、請求項１５に記載のコンピュータ・システム。
【請求項１７】
前記第１の構成要素の前記１組のデータが前記ディスカバリによって更新された１組のデータである、又は、前記第３の構成要素の前記１組のデータが前記ディスカバリによって更新された１組のデータである、請求項１６に記載のコンピュータ・システム。
【請求項１８】
前記ジョブのコンフリクトが、前記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第１の構成要素及び該第１の構成要素と関係を有する第２の構成要素の少なくとも１を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを含む、請求項１に記載のコンピュータ・システム。
【請求項１９】
前記第１の構成要素の前記１組のデータ及び前記第２の構成要素の前記１組のデータが、前記ディスカバリによって更新された１組のデータである、請求項１８に記載のコンピュータ・システム。
【請求項２０】
前記ディスカバリが、前記ジョブネット定義を作成する直前、前記ジョブネットを作成する直前、又は前記ジョブネットを実行するシステムに該ジョブネットを投入する直前に行われる、請求項１に記載のコンピュータ・システム。
【請求項２１】
前記ジョブネットが、前記ディスカバリを行うジョブを含む、請求項１に記載のコンピュータ・システム。
【請求項２２】
バッチジョブを管理するための方法であって、
少なくとも１のジョブ・テンプレートに定義された構成要素を特定するステップと、
前記特定された構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータ中の少なくとも１の属性又は関係を使用して、
前記少なくとも１のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行するステップであって、前記１組のデータは、リポジトリに保持されており及び構成要素についての情報を検出するディスカバリによって自動的に更新されうる、前記実行するステップと
を含む、前記方法。
【請求項２３】
前記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブ・テンプレートからジョブネット定義を作成するステップと、
前記１組のデータ中の少なくとも１の属性又は関係を使用して、ジョブネット定義からジョブネットを作成するステップと
を含む、請求項２２に記載の方法。
【請求項２４】
バッチジョブを管理するための方法であって、
構成要素の少なくとも１つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む１組のデータをリポジトリに格納するするステップであって、前記１組のデータは、構成要素についての情報を検出するディスカバリによって自動的に更新されうる、前記格納するステップと、
ジョブ・テンプレートに定義された構成要素を特定するステップと、
前記特定された構成要素についての前記１組のデータ中の少なくとも１の属性又は関係を使用して、前記ジョブ・テンプレートに定義された条件に合致する他の構成要素を見つけるステップと、
前記見つけられた他の構成要素に、他のジョブ・テンプレートを関連付けるステップと、
前記ジョブ・テンプレート及び前記他のジョブ・テンプレートを使用して、ジョブネット定義を作成するステップと
を含む、前記方法。
【請求項２５】
バッチジョブを管理するためのコンピュータ・プログラムであって、コンピュータ・システムに、請求項２２〜２４のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【国際調査報告】
2010050524.tif 000028
2010050524.tif 000029
2010050524.tif 000030
2010050524.tif 000031