JP5263703B2 - バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム - Google Patents

バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5263703B2
JP5263703B2 JP2010535826A JP2010535826A JP5263703B2 JP 5263703 B2 JP5263703 B2 JP 5263703B2 JP 2010535826 A JP2010535826 A JP 2010535826A JP 2010535826 A JP2010535826 A JP 2010535826A JP 5263703 B2 JP5263703 B2 JP 5263703B2
Authority
JP
Japan
Prior art keywords
job
component
template
data
net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010535826A
Other languages
English (en)
Other versions
JPWO2010050524A1 (ja
Inventor
進作 久冨
知章 高野
昭 大門
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2010535826A priority Critical patent/JP5263703B2/ja
Publication of JPWO2010050524A1 publication Critical patent/JPWO2010050524A1/ja
Application granted granted Critical
Publication of JP5263703B2 publication Critical patent/JP5263703B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラムに関する。
複雑なシステム、例えば企業システムにおいて、数多くのバッチジョブが処理されている。バッチジョブを処理していく上で、バッチジョブの管理が必要である。バッチジョブの管理は、バッチジョブを正しく設計し作成すること、及びバッチジョブをメンテナンスすることを含む。バッチジョブを正しく設計することは、例えば、ジョブ間の前後関係を正しく設計すること、及びジョブ間でリソースの競合が発生しないように、ジョブを正しくスケジュールすることを含む。バッチジョブをメンテナンスすることは、例えば、ジョブに関連するシステムの構成変更が生じたときに、該変更に対応するようにバッチジョブの設定を変更することである。ジョブに関連するシステムの構成変更とは、ジョブの設計にも影響を与える構成変更である。
ジョブ管理アプリケーションは、設計された通りにジョブを実行する機能、及び、エラーが発生した場合に、後続ジョブをサスペンドし、管理者に通知する機能を有する。インターナショナル・ビジネス・マシーンズ・コーポレーション(商標、以下IBM)は、ジョブ管理アプリケーションとして、Tivoli(商標) Workload Schedulerを販売している。Tivoli(商標) Workload Schedulerは、自動化されたジョブ・スケジューリングを集中管理できるので、システムごとのジョブ管理が不要になり、管理者負担及び管理コストの削減を図ることができる。
ところで、ITIL(Information Technology Infrastructure Library)(英国政府の商標)とは、ITサービスマネジメントを実現するためのベストプラクティス(最も良い事例)を集めたものである。ITILの中心は、サービスサポート及びサービスデリバリーである。サービスサポートの1つとして構成管理がある。構成管理とは、ITサービスマネジメントの管理対象である構成要素(configuration item、構成アイテムともいう、以下CIと略す場合がある)を認識し、構成要素についての情報を維持及び更新し、確認し、並びに監査を行うプロセスである。構成要素は、構成管理の対象となる資源(リソース)である。構成要素は、ハードウェア及びソフトウェアを含むシステム資源だけでなく、ITサービスの提供に必要な設備、ITサービスの運営に関する規程書、作業手順書及び構成図などのドキュメント類、ハードウェア又はソフトウェアの保守作業などのサービス、プロセス、並びに人的資源なども含む。ITILのフレームワークでは、構成要素を管理するために、構成管理データベース(Configuration Management Database、以下CMDBと略す場合がある)というデータベースを用いて一元的に管理することが推奨されている。CMDBは、構成要素の少なくとも1つの所定の属性及び他の構成要素との関係を記録するデータベースである。CMDBを実装することで備わる最も重要な能力は、構成要素についての情報を自動的に発見する能力(ディスカバリ、自動検出ともいう)及び自動的に更新する能力(トラッキングともいう)である。CMDBでは、構成要素についての情報をCMDBに正確に反映させることが重要である。
IBMは、CMDBの構築を支援し且つCMDBを基盤に運用プロセスを制御するソフトとして、「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月(下記非特許文献1)を参照されたい。Tivoli CCMDBでは、運用管理ソフトが、ディスカバリ及びトラッキングを実行するように実装されている。
Tivoli(商標) CCMDBでは、分散ネットワーク環境上の構成要素であるサーバ、クライアント、オペレーティング・システム(OS)、ミドルウェア(Web/AP/DBMS/LDAPなど)、パッケージ・ソフト、管理ツール、ネットワーク機器及びストレージ機器など300種類を識別し、さらに各構成要素についての情報、例えばコンピュータの構成についての情報、各コンピュータ上で動作するアプリケーションについての情報、各コンピュータに接続されているネットワーク接続ストレージ(NAS)などの構成情報、ネットワークに直接接続されているストレージエリアネットワーク(SAN)などの構成情報を自動的に発見し及び更新することができる。各構成要素についての情報の収集方法は管理対象によっても異なるが、基本的にはCMDBを管理するコンピュータ・システムがSSH(Secure SHell)などを用いて管理用のリモート・インタフェースに定期的にアクセスし、OS上の設定ファイル又は構成情報を読み取ったり、或いはCMDBを管理するコンピュータ・システムが設定確認コマンドを実行したりする。そのため、管理対象である構成要素にエージェント・プログラムを導入する必要はない。上記の様式にて発見され且つ更新された情報は、IBMが提唱する構成管理データベース用のデータ・モデル「Common Data Model」(以下CDM)に基づいて、2006年の時点において、31種類のセクション(Computer System、Database、Application、Processなどのカテゴリ)、636種類のクラス(データ・モデルの基本単位、1つ又は複数のセクションに属する)、2609種類の属性(データの属性情報、1つのクラスに属する)、7種類のインタフェース(使用頻度の高い属性のグループ、複数のセクションに属する)、57種類の関係(リレーションシップ)、及び49種類のデータタイプ(データの種別)に整理される。CDMの詳細は、IBM REDPAPER (DRAFT version) IBM Tivoli Common Data Model: Guide to Best Practices(IBM Form Number REDP-4389-00)、第2〜7頁、2007年11月(下記非特許文献2)を参照されたい。各構成要素及び該構成要素と他の構成要素との関係についての情報は、GUIの表示ツール、例えばTADDMコンソールに渡される。そして、各構成要素及び該構成要素と他の構成要素との関係が、個々のブロック及び該ブロック間のリンクを用いて視覚的に表示装置上に表示される。
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月
複雑なシステムでは、バッチジョブの管理を行うにあたって、以下の課題がある。
システムの構成が複雑であるなど、ジョブ設計者がシステムを把握しきれない場合があるので、ジョブ間の前後関係を正しく設計することは大変である。
バッチジョブには業務ジョブとインフラジョブがあり、全く別のチームの人間がそれぞれを設計しているので、チーム間のすり合わせが必要であり、ジョブ間でリソースの競合を避けることは大変である。
システムの構成変更が生じたときにジョブ設計者が既におらず、どこを変えればいいか分からない場合があるので、システムの構成変更に対応してジョブを変更することが困難である。
本発明は、バッチジョブを管理するためのコンピュータ・システムを提供する。該コンピュータ・システムは、
少なくとも1のジョブ・テンプレートを格納する記憶部と、
構成要素の少なくとも1つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む1組のデータ中の少なくとも1の属性又は関係を使用して、
上記少なくとも1のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行する実行部であって、上記1組のデータは、リポジトリに保持されており且つ構成要素についての情報を検出するディスカバリによって更新されうる、上記実行部と
を含む。
本発明の1つの実施形態では、上記実行部が、上記1組のデータ中の少なくとも1の属性又は関係を使用して、上記少なくとも1のジョブ・テンプレートからジョブネット定義を作成する第1の作成部をさらに含む。本発明の1つの実施形態では、上記1組のデータが、上記ディスカバリによって更新された1組のデータである。
本発明の1つの実施形態では、上記ジョブ・テンプレートが、ジョブの実行タイプ、ジョブの実行コマンド、該ジョブ・テンプレートが適用される構成要素、及びジョブの実行の前提条件を含む。
本発明の1つの実施形態では、上記ジョブネット定義が、ジョブの内容、ジョブの実行順、及びジョブの実行スケジュールを含む。
本発明の1つの実施形態では、上記前提条件が、構成要素を検索するための条件、及び該構成要素に対するジョブの実行タイプを含む。上記ディスカバリは、該構成要素を検索するための条件に従い、構成要素を特定する。
本発明の1つの実施形態では、上記1組のデータ中の少なくとも1の属性又は関係を使用して、上記前提条件に記載された条件に合致する構成要素を特定する。
本発明の1つの実施形態では、上記第1の作成部が、上記特定された構成要素に、他のジョブ・テンプレートを関連付ける。
本発明の1つの実施形態では、上記第1の作成部が、上記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成する。
本発明の1つの実施形態では、上記ジョブ定義が、ジョブの定義名、ジョブの内容、ジョブの実行先、ジョブの実行ユーザ、ジョブの開始スケジュール、先行ジョブ、ジョブの実行予測時間、及びジョブ・テンプレート名を含む。
本発明の1つの実施形態では、上記ジョブ・テンプレートが、構成要素についての1組のデータを取得するための引数を含む。
本発明の1つの実施形態では、上記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブネット定義からジョブネットを作成する第2の作成部をさらに含む。
本発明の1つの実施形態では、上記ジョブネット定義が、構成要素についての1組のデータを取得するための引数を含む。
本発明の1つの実施形態では、上記ジョブネット定義がログ・メンテナンス・ジョブネット定義であり、上記引数がログパスであり、該ログパスのデータが上記1組のデータによって更新される。
本発明の1つの実施形態では、上記第2の作成部が、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する1組のデータの属性及び関係の少なくとも1を、上記ジョブネットに適用する。
本発明の1つの実施形態では、上記ジョブのコンフリクトが、第1のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯と、第2のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第3の構成要素及び該第3の構成要素と関係を有する第4の構成要素の少なくとも1を該ジョブが利用する実行時間帯とが重なることを含む。
本発明の1つの実施形態では、上記第2の構成要素が上記第1の構成要素の1組のデータ中の少なくとも1の属性又は関係を使用して検出され、上記第4の構成要素が上記第3の構成要素の1組のデータ中の少なくとも1の属性又は関係を使用して検出される。
本発明の1つの実施形態では、上記第1の構成要素の上記1組のデータが上記ディスカバリによって更新された1組のデータである、又は、上記第3の構成要素の上記1組のデータが上記ディスカバリによって更新された1組のデータである。
本発明の1つの実施形態では、上記ジョブのコンフリクトが、上記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを含む。
本発明の1つの実施形態では、上記第1の構成要素の上記1組のデータ及び上記第2の構成要素の上記1組のデータが、上記ディスカバリによって更新された1組のデータである。
本発明の1つの実施形態では、上記ディスカバリが、上記ジョブネット定義を作成する直前、上記ジョブネットを作成する直前、又は上記ジョブネットを実行するシステムに該ジョブネットを投入する直前に行われる。
本発明の1つの実施形態では、上記ジョブネットが、上記ディスカバリを行うジョブを含む。
本発明はまた、バッチジョブを管理するための方法を提供する。該方法は、コンピュータ・システムに下記ステップを実行させるステップを含む。該ステップは、
少なくとも1のジョブ・テンプレートに定義された構成要素を特定するステップと、
上記特定された構成要素の少なくとも1つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む1組のデータ中の少なくとも1の属性又は関係を使用して、
上記少なくとも1のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
ジョブネットの作成若しくは更新、又は
ジョブのコンフリクトの発見
を実行するステップであって、上記1組のデータは、リポジトリに保持されており及び構成要素についての情報を検出するディスカバリによって更新されうる、上記実行するステップと
を含む。
本発明の1つの実施形態では、上記実行するステップが、上記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブ・テンプレートからジョブネット定義を作成するステップをさらに含む。
本発明の1つの実施形態では、上記ジョブ・テンプレートから上記ジョブネット定義を作成するステップが、上記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブ・テンプレートに定義されるジョブの実行の前提条件に記載された条件に合致する構成要素を特定するステップをさらに含む。
本発明の1つの実施形態では、上記ジョブ・テンプレートから上記ジョブネット定義を作成するステップが、上記特定された構成要素に、他のジョブ・テンプレートを関連付けるステップをさらに含む。
本発明の1つの実施形態では、上記ジョブ・テンプレートから上記ジョブネット定義を作成するステップが、上記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成するステップを含む。
本発明の1つの実施形態では、上記実行するステップが、上記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブネット定義からジョブネットを作成するステップをさらに含む。
本発明の1つの実施形態では、上記ジョブネット定義から上記ジョブネットを作成するステップが、ジョブネット定義の1つであるログ・メンテナンス・ジョブネット定義に定義されたログパスのデータを上記1組のデータによって更新するステップをさらに含む。
本発明の1つの実施形態では、上記ジョブネット定義から上記ジョブネットを作成するステップが、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する1組のデータ中の少なくとも1の属性又は関係を、上記ジョブネットに適用するステップをさらに含む。
本発明の1つの実施形態では、上記ジョブのコンフリクトの発見を実行することが、上記ジョブのコンフリクトが、第1のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯と、第2のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第3の構成要素及び該第3の構成要素と関係を有する第4の構成要素の少なくとも1を該ジョブが利用する実行時間帯とが重なることを発見するステップを含む。
本発明の1つの実施形態では、上記発見するステップが、上記第2の構成要素を上記第1の構成要素の1組のデータ中の少なくとも1の属性又は関係を使用して検出するステップと、上記第4の構成要素を上記第3の構成要素の1組のデータ中の少なくとも1の属性又は関係を使用して検出するステップとをさらに含む。
本発明の1つの実施形態では、上記ジョブのコンフリクトの発見を実行することが、上記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを発見するステップを含む。本発明の1つの実施形態では、該上記第1の構成要素の上記1組のデータ及び上記第2の構成要素の上記1組のデータが、上記ディスカバリによって更新された1組のデータである。
本発明の1つの実施形態では、上記方法は、コンピュータ・システムに下記ステップを実行させるステップを含む。該ステップは、上記ジョブネット定義を作成する直前、上記ジョブネットを作成する直前、又は上記ジョブネットを実行するシステムに投入される直前にディスカバリを行うステップを含む。
本発明はさらに、バッチジョブを管理するための方法を提供する。該方法は、コンピュータ・システムに下記ステップを実行させるステップを含む。該ステップは、
構成要素の少なくとも1つの所定の属性、及び
該構成要素と他の構成要素との関係
を含む1組のデータをリポジトリに格納するするステップであって、上記1組のデータは、構成要素についての情報を検出するディスカバリによって更新されうる、上記格納するステップと、
ジョブ・テンプレートに定義された構成要素を特定するステップと、
上記特定された構成要素についての上記1組のデータ中の少なくとも1の属性又は関係を使用して、上記ジョブ・テンプレートに定義された条件に合致する他の構成要素を見つけるステップと、
上記見つけられた他の構成要素に、他のジョブ・テンプレートを関連付けるステップと、
上記ジョブ・テンプレート及び上記他のジョブ・テンプレートを使用して、ジョブネット定義を作成するステップと
を含む。
本発明はさらに、バッチジョブを管理するためのコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、コンピュータ・システムに、上記のいずれか一つに記載の方法の各ステップを実行させる。
本発明の実施形態によれば、バッチジョブの管理にCMDBを利用することによって、ジョブネットを自動作成すること、及びジョブのコンフリクトの発見をすることが可能になる。また、本発明の実施形態に依れば、バッチジョブの管理にCMDBを利用することによって、ジョブの再利用性を高めることが可能になる。
従来技術である、CIを管理するための、CMDBを含むコンピュータ・システムの例を示す。 従来技術である、構成管理のためのツールの概要を示す。 従来技術である、CI、CIインスタンス、及び関係(usedBy)インスタンスの作成を示す。 従来技術である、データ・モデル、ディスカバリ・インスタンス、CIインスタンス、及び関係モデルを示す。 従来技術である、CMDBにおける構成情報管理の画面例を示す。 本発明の実施態様である、ジョブネットの例を示す。 本発明の実施態様である、ジョブ・テンプレートの例を示す。 本発明の実施態様である、ジョブ定義の例を示す。 本発明の実施態様である、ジョブネット定義の例を示す。 従来技術である、ジョブ管理サーバの例を示す。 本発明の実施態様である、システム全体の構成図の例を示す。 本発明の実施態様である、ジョブ管理サーバの構成図の例を示す。 本発明の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。 本発明の実施態様である、ジョブネット定義又はジョブネットの更新をするフローチャートを示す。 本発明の実施態様である、本発明の実施態様である、ジョブの検証をするフローチャートを示す。 本発明の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。 本発明の実施態様である、本発明の実施態様である、ジョブネット定義及びジョブネットの作成を示す。 図17の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。 本発明の実施態様である、ジョブ間のコンフリクトの発見を示す。 図19の実施態様である、ジョブ間のコンフリクトを発見するフローチャートを示す。 本発明の実施態様である、ジョブのコンフリクトを発見する実施態様を示す。 図21の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。 本発明の実施態様である、ジョブネットの更新を示す。 図23の実施態様である、ジョブネットを更新するフローチャートを示す。 本発明の実施形態における、コンピュータ・システムの例を示す。
「ジョブ」とは、各コンピュータ上で実行される個々の定型処理をいう。
「ジョブ」の管理には、ジョブを設計するフェーズと、設計したジョブを実行するフェーズがある。
「ジョブ・テンプレート」とは、ジョブ設計の元になるテンプレートである。よって、「ジョブ・テンプレート」は、ジョブを設計するフェーズの前にジョブの設計者によって用意される。「ジョブ・テンプレート」は、例えば、ジョブの種類毎に用意される。例えば、複数のオフライン再構成ジョブ(Offline Reorg Job)がある場合であっても、それら複数のオフライン再構成ジョブは1つのオフライン再構成ジョブ・テンプレートを参照する。「ジョブ・テンプレート」は、例えば、ジョブ・テンプレート識別子(ID)、ジョブ・テンプレートを説明するための記述、アクション・タイプ、ジョブの実行コマンド(Action)、ジョブ・テンプレートが適用されるCIタイプ、前提条件、及び影響フラグを含むがこれらに限定されない。ジョブ・テンプレートIDは、コンピュータがジョブ・テンプレートを識別するために付与された一意の識別子である。ジョブ・テンプレートを説明するための記述は、ユーザがジョブ・テンプレートを作成又は更新する際に付与した記述である。アクション・タイプは、再編成(Reorg)、開始(Start)、中断(Stop)などのジョブの実行コマンドの種類を示す。種類は、ジョブの設計者によって予め決められている。ジョブの実行コマンドは、例えば、スクリプトを使用して記載される。ジョブの実行コマンドは、例えば、「DB2の場合はxxxx、Oracleの場合yyyy」(DB2、Oracleはいずれも商標である)のように、対象となるCIタイプで場合分けして定義されている(下記、図17のジョブテンプレート(601)を参照)。ジョブ・テンプレートが適用されるCIタイプは、該ジョブ・テンプレートの実行コマンドを適用する構成要素の種類を記述する。CIタイプは、例えば、データベース(DB)、オペレーティング・システム(OS)、アプリケーション・サーバ(AppServ)、ウェブ・サーバ(WebServ)、WebSphere Application Server(WAS)を含むがこれらに限定されない。前提条件は、ジョブが実行されうる前提条件である。前提条件は、構成要素の検索条件、他のジョブ・テンプレートを検索するためのアクション・タイプを含むがこれらに限定されない。構成要素の検索条件は、ジョブ・テンプレートが適用されるCIタイプの検索範囲を絞るための条件を示す。他のジョブ・テンプレートを検索するためのアクション・タイプは、ここに指定されたアクション・タイプを有する他のジョブ・テンプレートを検索するために使用される。構成要素の検索条件に従い、CMDB内のCIインスタンスの属性及び関係の少なくとも1を使用して、目的とする構成要素が検索される。属性は、例えばCIのタイプ(例えば、DB、OS、AppServ、WebServ、WAS)である。関係は、例えばアプリケーションの関係(例えば、assigns、canConnect、canUse、connectAt、connects、controls、deployedOn、Located、Managed、Owned、provides、runAt、uses、usedByなど)である。
影響フラグは、所定の要件についての許否を示す。
「ジョブ定義」とは、ジョブネット定義を作成するために、ユーザによって定義された、ジョブ・テンプレートに付与するパラメータの集合である。「ジョブ定義」は、例えば、ジョブ定義名、ジョブ内容、ジョブ実行先、ジョブ実行ユーザ、ジョブ開始スケジュール、先行ジョブ、ジョブの実行予測時刻、及びジョブ・テンプレートを含むがこれらに限定されない。
ジョブ定義名は、コンピュータがジョブ定義を識別するために付与された一意の名前である。ジョブ内容は、ジョブ内容を例えばジョブの実行コマンド又はバッチファイルの指定によって記述される。ジョブの実行コマンドは、例えば、スクリプトを使用して記載される。ジョブの実行コマンドは、例えば、対象となるCIタイプがDB2の場合、DB2の実行コマンド(上記ジョブ・テンプレートのxxxxの実装パラメータ)が定義されており、対象となるCIタイプがOracleの場合、Oracleの実行コマンド(上記ジョブテンプレートのyyyyの実装パラメータ)が定義されている。ジョブ実行先は、ジョブを実行するコンピュータ又はシステムを特定するためのIDを示す。ジョブ実行ユーザは、ジョブを実行するユーザを示す。ジョブ開始スケジュールは、ジョブか開始されるスケジュールを示す。スケジュールは、例えば、日単位、週単位、月単位、若しくは年単位で、又はユーザによって任意の単位で指定されうる。先行ジョブは、ジョブ定義に定義された該ジョブに先行して実行されるジョブを示す。該ジョブは、先行ジョブが終了してから実行される。ジョブ実行予測時刻は、該ジョブの実行に必要とされる予測時間を示す。ジョブ・テンプレートは、該ジョブ定義を適用するジョブ・テンプレートIDを示す。
「ジョブネット定義」とは、ジョブ設計の成果物として作成される定義である。「ジョブネット定義」は、上記ジョブ・テンプレートに上記ジョブ定義を適用することによって作成される。また、「ジョブネット定義」からジョブネットが作成される。「ジョブネット定義」は、例えば、ジョブネット定義名、ジョブ自体、ジョブの実行順、及びジョブの実行スケジュールを含むがこれらに限定されない。
ジョブネット定義名は、コンピュータがジョブネット定義を識別するために付与された一意の名前である。ジョブ自体は、ジョブ・テンプレートに定義されたジョブ内容に加えて、ジョブ実行先、ジョブ実行ユーザ、ジョブ実行予測時刻、ジョブ・テンプレートについての情報を含む。ジョブ内容は、例えば、ジョブの実行コマンド又はバッチファイルの指定によって記述される。ジョブの実行コマンドは、例えば、対象となるCIタイプがDBの場合、上記ジョブ・テンプレート中のDB2の実行コマンドに上記ジョブ定義中のDB2の実装パラメータを適用したものであり、対象となるCIタイプがOracleの場合、上記ジョブ・テンプレート中のOracleの実行コマンドに上記ジョブ定義中のOracleの実装パラメータを適用したものである。ジョブ実行先、及びジョブ実行ユーザの特定は、例えばCIのインスタンス名を特定することによって行われる。ジョブ自体はまた、ジョブ同士の依存関係、ジョブネット同士の依存関係を定義する。
「ジョブネット」は、上記バッチジョブを実行するために、ジョブを実行するシステムに実際に投入されデータである。投入とは、ジョブネットが実行されることである。「ジョブネット」は、ジョブ管理サーバが上記ジョブネット定義を読み込むことによって作成される。ジョブねとは、ジョブネット定義をインスタンス化したものである。「ジョブネット」は、例えば、ジョブの処理が、幾つかの独立したジョブのグループからなる場合、各グループをジョブネットとして構成する。該書部の処理は、例えば、毎日の振替依頼である。通常、ジョブネット単位で、ジョブの稼働スケジュールが設定される。
本発明の実施態様において、バッチジョブを管理することは、ジョブネット定義又はジョブネットを作成すること、ジョブネット定義又はジョブネットを更新すること、又はジョブのコンフリクトの発見を実行すること、或いはそれらの組み合わせを含む。
本発明の実施態様において、ジョブのコンフリクトの発見は、ジョブ間のコンフリクトを発見すること、又はジョブの実行対象である構成要素の属性又は関係データがジョブ・テンプレートの前提条件若しくは影響フラグに反することを発見すること、或いはそれらの組み合わせを含む。
CMDBについて下記に説明する。
以下、CMDBに関する基本的な用語を下記に説明する。
本発明の実施形態において、リポジトリは少なくとも1つの1組のデータを格納する。該1組のデータは、構成要素の少なくとも1つの所定の属性及び他の構成要素との関係を示すデータである。該1組のデータは例えば、ハードウェア構成要素又はソフトウェア構成要素を含む構成要素の少なくとも1つの所定の属性及び該構成要素と他の構成要素との関係を示すデータを含む。上記リポジトリは例えば、CMDBである。構成要素、及び該構成要素と他の構成要素との関係は例えば、静的な(static)データのインスタンス又はJava(サン・マイクロシステムズの商標)のクラスのインスタンスで実装されうる。上記リポジトリは、該1組のデータを保持するものであれば特に限定されないが、好ましい実施形態の1つはCMDBを記録するCMDB記録部である。
・構成要素(CI)
CIは、ITサービスマネジメントの対象範囲に属する構成要素に対応するデータであり、ITサービスマネジメントにおける管理対象の基本単位である。CIは例えば、ハードウェア及びソフトウェアを含むシステム資源、ITサービスの提供に必要な設備、ITサービスの運営に関する規程書、作業手順書及び構成図などのドキュメント類、ハードウェア又はソフトウェアの保守作業などのサービス、プロセス、並びに人的資源などを含む。今後も様々なタイプのCIが、CMDBで管理されるようになる。また、各CIはデータ・モデルのインスタンスとしてCMDB上で表現される。
・構成管理データベース(CMDB)
CMDBは、情報システムの全コンポーネントに関する情報の統合された保管・管理を行うデータベースである。CMDBは、各CIの少なくとも1つの所定の属性及び他のCIとの関係を記録する。CMDBは組織がコンポーネント間の関係を理解することを支援し、その構成を管理できるようにする。CMDBはITILフレームワークの構成管理プロセスの中核となっている。CMDBは、概念的にはデータベースであるが、物理的にはデータベース・システム、表計算ソフトのスプレッドシートの形態を取りうる。CMDBを利用することによって、管理者はCI間の関係を理解することが容易になる。
・構成要素インスタンス(CIインスタンス)
CIインスタンスは、CIに対応するデータである。各CIインスタンスは、データ・モデルのインスタンスとしてCMDB上で表現される。インスタンスの例は、静的なデータのインスタンス又はJava(サン・マイクロシステムズの商標)のクラスのインスタンスである。実装されたJavaのクラスのインスタンスは、例えばJava Data Objects(JDO)と呼ばれる、Javaのクラスのインスタンスを永続化してハードディスクに保存する仕組みにより、CMDB内に格納される。よって、コンピュータ・システムの電源を一旦切っても、作成されたJavaのクラスのインスタンスが消失することはなく、次に電源を投入したときに、記憶装置、例えばハードディスクから読み出され、メイン・メモリ上に展開されて、Javaのプログラムによって変更或いは削除可能なJavaのクラスのインスタンスとなる。以下では、CIがインスタンスとしてCMDB内に実装されるとして、説明を進める場合がある。
・データ・モデル
データ・モデルは、CIを定義するためのスキーマであり、管理されるCIとそれらCI間の関係の一貫した定義を提供する情報モデルである。具体的には、データ・モデルは、CIの所定の属性及び他のCI(製造装置、プロセスなど)との関係を定義する。データ・モデルの例として、IBMが提唱する構成管理データベース用のデータ・モデル「CDM」がある。CDMの実装は例えば、Unified Modeling Language(UML)に基づいて行われる。
・属性(Attributes)
属性は、CIを管理するに際して、個々のCIを特定し、CIを説明する。属性として、下記のものを挙げることができるがこれらに限定されない。CIの名前(CIの一般名称、例えばサーバ、クライアント、ファイアウォール)、製品番号(ID)(CIのある特定の実体を個別に識別するための番号であり、製造番号、シリアル番号など)、カテゴリ(CIの分類、例えばハードウェア、ソフトウェア、ドキュメント)、タイプ(カテゴリでの分類をさらに詳述したCIの説明)、型番(供給者の命名したCIのモデル番号)、保証期間(CIの供給者による保証期間)、バージョン番号(CIのバージョン番号)、ロケーション(CIが存在する場所、例えばPCの設置場所、ソフトウェアの書庫、媒体の保管場所、サービスを提供しているサイト)、所有責任者(CIの管理責任者の名前)、責任開始日(所有責任者が、該CIの責任者となった日付)、供給者(CIの開発元又は提供元)、ライセンス(ライセンス番号、ライセンス数など)、提供日(CIが組織に提供された日付)、受入日(CIが組織に受け入れられた日付)、使用開始日(CIが使用開始された日付)、CIのステータス(現在のステータス、例えば稼働中、テスト中、故障中、或いは将来のステータス、例えば予定されているCIのステータス)、CIインスタンスのステータス(CIインスタンスの有効又は無効)。今後もITサービスマネジメントで必要となる属性が、引き続き定義されていく。
・関係(Relation)
関係は、CI間の関係を表す。関係は、CIと同様にデータ・モデルで定義されうる。関係の例として、Common Data Model では、assigns、canConnect、canUse、connectAt、connects、controls、deployedOn、Located、Managed、Owned、provides、runAt、uses、usedByが挙げられる。今後もITサービスマネジメントで必要となる関係が、引き続き定義されていく。
以下、図面に従って、本発明の実施形態を説明する。本実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一符号は、同一の対象を指す。
図1は、従来技術である、CIを管理するための、CMDBを含むコンピュータ・システム(100)の例を示す。
図1は、CIの例として、構成要素A及び構成要素Bを記載する。構成要素A及びBそれぞれは、ソフトウェア構成要素、ハードウェア構成要素のいずれであってもよい。ソフトウェア構成要素は、例えば、DB2(商標)、Websphere(商標)、LINUX、Tomcat、Apacheであるがこれらに限定されない。
コンピュータ・システム(100)は、ディスカバリ部(101)、CI同定部(102)、CIインスタンス作成部(103)、属性及び関係更新部(104)及びCMDB(105)を含む。ディスカバリ部、CI同定部、CIインスタンス作成部、属性及び関係更新部及びCMDBは、単独のコンピュータ上に実装されていてもよく、或いは複数のコンピュータ上に分散して実装されていてもよい。コンピュータ・システム(100)はさらに、ディスカバリ・テーブル(106)、モデル・テーブル(107)及び関係テーブル(108)を含む。これらテーブルは、単独のコンピュータ上に実装されていてもよく、或いは複数のコンピュータ上に分散して実装されていてもよい。
また、図1は、TADDMコンソールの画面(109)の例を示す。該画面は、CI及びCI間の関係を示す。なお、該画面に表示されているCI及びCI間の関係は一例であり、コンピュータ・システム(100)の管理対象であるCI及びCI間の関係全てを表示しているものではない。
コンピュータ・システム(100)は、それ自身の管理対象である構成要素を管理する。コンピュータ・システム(100)の管理対象は、該コンピュータ・システム(100)がディスカバリしうる対象の構成要素である。
ディスカバリ部(101)は、CMDBの管理対象であるCIについての情報の検出を実行する(ディスカバーともいう)。該CIの一部が、TADDMコンソールの画面(109)に表示されている。コンピュータ・システム(100)は、複数のディスカバリ部(101)を有していてもよい。好ましくは、管理対象は、ネットワークを介して、コンピュータ・システムに接続されている。ネットワークは、有線接続であるか無線接続であるかを問わない。コンピュータ・システムの管理者は、検出の対象を任意に設定しうる。検出の範囲は例えば、ドメイン名、IPアドレス、MACアドレス、機器の識別子若しくはデータベース名又はこれらの組み合わせにより指定することができる。管理対象であるCIが例えばハードウェア又はソフトウェアである場合、該機ハードウェア又はソフトウェアについての情報が夫々検出される。検出された情報は、新たなCIについての情報、又は既存のCIの更新された属性若しくは関係の値でありうる。新たなCIとは、ディスカバリ部(101)によって検出され、CMDB(105)内に登録されていないCIである。既存のCIとは、該CIのインスタンスがCMDB(105)内に既に登録されているCIである。ディスカバリ部(101)は、CIについての情報を、ディスカバリ・テーブル(106)内に格納されたディスカバリ・インスタンス(例えばA−Discovery)(図4、202)に従い検出する。どのディスカバリ・インスタンスを使用するかは、データ・モデル(図4、201)内のディスカバリ方法に指定されている。ディスカバリ部(101)は、検出した、CIについての情報をCI同定部(102)に渡す。
CI同定部(102)は、上記CIについての情報をディスカバリ部(101)から受け取り、そして検出結果の処理を行う。CI同定部(102)は、上記CIについての情報が、新しいCIについての情報か、又は既存のCIの更新された属性若しくは関係の値かどうかを、CMDB(105)を参照して判定する。該判定は例えば、CMDBに格納されたCIのインスタンス名を、上記CIについての情報と比較して行われうる。上記CIについての情報が新しいCIに関するものであることに応じて、CI同定部(102)は、該情報をCIインスタンス作成部(103)に渡す。一方、上記CIについての情報が既存のCIの更新された属性若しくは関係の値であることに応じて、CI同定部(102)は、該情報を属性及び関係更新部(104)に渡す。
CIインスタンス作成部(103)は、モデル・テーブル(107)に格納されたデータ・モデル(図4、201)、及び関係テーブル(108)に格納された関係モデル(図4、204)に従い、CIについての情報から、該CIの所定の属性及び他のCIとの関係を示す1組のデータを作成する。該1組のデータは例えば、静的なデータのインスタンス又はJava(サン・マイクロシステムズの商標)のクラスのインスタンスで実装されうる。該1組のデータの例が、CIインスタンスである。CIインスタンスの例を図4(203)に示す。上記1組のデータは、CMDB(105)内に格納される。なお、1組のデータは、CIインスタンス内に属性及び関係を有していてもよく(図4、203を参照)、或いはCIインスタンス内に属性を有し、それとは別に関係インスタンスとして別々にCMDB(105)内に格納されていてもよい。後者の場合、CIインスタンスは、関連する関係インスタンスを特定するためのリンク付けを有する。
属性及び関係更新部(104)は、ディスカバリ部(101)とともにトラッキングを実現する。属性及び関係更新部(104)は、CIの更新された属性若しくは関係の値を、CMDB内に格納された該CIのCIインスタンスに反映する。すなわち、該CIのCIインスタンスの属性或いは関係の値を更新する。該更新は、該値をディスカバリ部(101)によって検出されたCIについての情報と置き換えることによって行われる。該置き換えは、CIインスタンスの属性或いは関係の値のすべてをディスカバリ部(101)によって検出されたCIについての情報と置き換えてもよく、或いは異なる値のみを置き換えてもよい。
CMDB(105)は、CIのCIインスタンス(図4、203)を格納する。
ディスカバリ・テーブル(106)は、ディスカバリ・インスタンス(図4、202)を格納する。ディスカバリ・インスタンスは、ディスカバリ部(101)によってCIについての情報が検出される際に使用される。ディスカバリ・インスタンス(202)は例えば、静的なデータのインスタンス又はJava(サン・マイクロシステムズの商標)のクラスのインスタンスで実装されうる。ディスカバリ・インスタンスは、ディスカバリ・ポリシーとも呼ばれる。ディスカバリ・インスタンス(202)は、ディスカバリ部(101)が検索する範囲、すなわちCIの検索範囲である収集対象(スコープ)、収集する属性、及び収集する関係を含む(202)。収集対象は例えば、サブネットIPアドレス、IPアドレスの範囲、個々のIPアドレス、MACアドレス、機器の識別子、ホストネーム若しくはデータベース名又はそれらの組み合わせを用いて指定されうる。別の態様として、収集対象を、コンピュータ・システム(100)にネットワークを介して接続されたスケジュール管理データベース(図示せず)としてもよい。スケジュール管理データベースには例えば、機器を使用するプロセス管理に関するデータが格納されている。さらに別の態様として、収集対象を、バッチ処理定義ファイルを格納するデータベース(図示せず)としてもよい。収集対象がバッチ処理定義ファイルを格納するデータベースの場合、ディスカバリ部(101)は、バッチ処理定義ファイルの中身を読み込むことにより検出を行う。バッチ処理定義ファイルには、例えば機器をどの順に使用するかのデータが格納されている。
モデル・テーブル(107)は、データ・モデル(図4、201)を格納する。データ・モデルは、CIインスタンス作成部(103)によって該CIの所定の属性及び他のCIとの関係を示す1組のデータが作成される際に使用される。
関係テーブル(108)は、関係モデル(図4、204)を格納する。関係モデルは、CIインスタンス作成部(103)によって該CIの所定の属性及び他のCIとの関係を示す1組のデータが作成される際に使用される。
図1では、ディスカバリ部(101)が、コンピュータ・システム(100)とネットワークを介して接続された管理対象であるCIに関する情報を検出し、構成要素A、及び構成要素B並びにそれら構成要素の関係についての情報を検出したことを示す。次に、CI同定部(102)は、該検出した情報が新しいCIについてのものかについてCMDB(105)を参照して判断する。該判断に応じて、CIインスタンス作成部(103)は、構成要素AのCIインスタンス及び構成要素BのCIインスタンス、並びにそれら構成要素の関係(usedBy)のインスタンスを作成する。CIインスタンス作成部(103)は、該作成した各インスタンスをCMDB(105)内に格納する。図1では、構成要素BのCIインスタンスが、構成要素AのCIインスタンスとusedByの関係にあることを示す。
ディスカバリ部(101)は、検出したCIについての情報をもとに、データ・モデル(図4、201)に従って、CI及びそれらCI間の関係を作成し、CMDB(105)に登録する。CMDB(105)は、CIの属性及び他のCIとの関係を格納する。従って、システム管理者は、CMDB(105)を用いて、CI間のリアルな依存関係を抽出することが可能である。
構成要素は、ハードウェア構成要素、ソフトウェア構成要素を含み、その組み合わせは任意である。
図2は、従来技術である、構成管理のためのツールの概要を示す。
構成管理のためのツールは、構成要素についての情報(以下、単に構成情報という場合がある)を自動収集する機能(ディスカバリ)、構成情報をグラフィカルに表示する機能(トポロジー)及び変更履歴、構成比較などの分析を行う機能(アナリティクス)を有する。例えば、TADDMサーバは、情報システムについての構成情報を、ssh、SNMP、WMIなどを使用して取得する。上記構成情報は例えば、各情報システムのオペレーティング・システムの種類又はその構成、アプリケーションの種類又はその構成値である。TADDMサーバは、取得した情報を、CMDB内にCIインスタンスとして格納する。TADDMサーバは、CMDBに格納したCIインスタンス基づいて、管理者のコンピュータに構成情報、及び変更履歴情報を送る。管理者のコンピュータは、該情報を用いて、構成情報の表示及び変更履歴の表示を行う。
図3は、従来技術である、CI、CIインスタンス、及び関係(usedBy)インスタンスの作成を示す。
構成要素AのCIインスタンスは、ディスカバリ部(図1、101)によって検出された構成要素Aについての情報から、構成要素Aのデータ・モデルを用いてCIインスタンス作成部(図1、103)によって作成される。同様に、構成要素BのCIインスタンスは、ディスカバリ部(101)によって検出された構成要素Bについての情報から、構成要素Bのデータ・モデルを用いてCIインスタンス作成部(103)によって作成される。構成要素A及び構成要素Bの各データ・モデルは、モデル・テーブル(図1、107)に格納されている。CI同士の関係、すなわち構成要素Aと構成要素Bとの関係(usedBy)のインスタンスは、ディスカバリ部(101)によって検出された構成要素Aについての情報から、関係モデルに従いCIインスタンス作成部(103)によって作成される。関係モデルは、関係テーブル(図1、108)に格納されている。
また、構成要素が例えば構成要素B1、B2、B3である場合、構成要素B1、B2、B3についての各情報が構成要素Bのデータ・モデルを使用してインスタンス化されて、構成要素B1のCIインスタンス、構成要素B2のCIインスタンス、構成要素B3のCIインスタンスが夫々作成される。構成要素B1、B2、B3の各CIインスタンスもまた、CMDB(図1、105)内に格納される。
図4は、従来技術である、モデル・テーブル(図1、107)内に格納されたデータ・モデル(201)、ディスカバリ・テーブル(図1、106)内に格納されたディスカバリ・インスタンス(202)、CMDB(図1、105)内に格納された(構成要素Aの)CIインスタンス(203)及び関係テーブル(図1、108)内に格納された関係モデル(204)を示す。
データ・モデル(201)は、CIを定義するためのスキーマである。データ・モデル(201)は例えば、どのCIのモデルかを示す「モデル名」、モデル名に指定されたCIが有する属性を示す「モデル属性」、モデル名に指定されたCIと他のCIがとりうる「関係」、及びモデル名に指定されたCIを検出するためのディスカバリ・インスタンスを特定する「ディスカバリ方法」の各記述を含む。モデル属性は、例えばIBMが提唱する構成管理データベース用のデータ・モデル「CDM」に規定された属性に従い規定されるが、これらに限定されない。CDMでは、2006年の時点において、2609種類の属性が規定されている。CMDBの管理者は、データ・モデル(201)における属性を任意に指定しうる。関係は、例えば上記CDMに規定された関係に従い規定されるが、これらに限定されない。CDMでは、2006年の時点において、57種類の関係が規定されている。ディスカバリ方法は、ディスカバリ・インスタンス名で特定されうる。図4の場合、A-Discoveryである。
ディスカバリ・インスタンス(202)は、データ・モデル(201)のディスカバリ方法によって特定されるディスカバリ・インスタンスの「名前」、ディスカバリ部(図1、101)によって収集する管理対象(CI)の「収集対象(スコープ)」、ディスカバリ部(101)によって収集する管理対象(CI)の「収集する属性」及び「収集する関係」、並びに該ディスカバリ・インスタンスがアクティブであるか或いはインアクティブであるかを示す「ステータス」の各記述を含む。
CIインスタンス(203)は、該インスタンスがどのCIのものであるかを特定するための「インスタンス名」、該インスタンスが、どのデータ・モデルを使用して作成されたかを示す「モデル名」、データ・モデルによって特定された各属性の「属性値」、データ・モデルによって特定された各「関係」の記述(値)、インスタンスがアクティブであるか或いはインアクティブであるかを示す「ステータス」、及び該CIインスタンスが作成された「作成日時」の各記述を含む。CIインスタンスは好ましくは、CIインスタンスに特有のCIインスタンス識別子をさらに含む。CIインスタンス識別子は、当該CIインスタンスを他のCIインスタンスと区別できるものであれば特に限定されないが、例えばホストネーム、シリアルナンバー若しくは一定の値である他の属性の組み合わせを使用しうる。図4のCIインスタンス(203)は、構成要素AのCIインスタンスであること;データ・モデルAを使用してインスタンス化されたこと;属性としてS、T及びUを含み、これらが夫々値を有すること;関係として、Mによって使用されること(usedBy:M)、Eに接続されること(connectAt:E)、及びHで実行すること(runAt:H);CIインスタンスがアクティブであること、並びに該CIインスタンスの作成日時のデータを示す。
関係モデル(204)は、データ・モデル(201)によって特定される関係を定義するためのスキーマである。関係モデル(204)は、usedByなどの「関係名」、該関係の対象となるデータ・モデルを特定するための「対象となるデータ・モデル」、該関係の「説明」の各記述を含む。
図5は、従来技術である、CMDBにおける構成情報管理の画面例を示す。該画面は、GUIで表示される。該表示は、例えばTADDMを用いて行われる。図5では、構成要素は、アプリケーションである。アプリケーション間の関係は、実線で示されている。なお、該画面上で表示されているアプリケーション名(各社の商標)は、例示である。
図6は、本発明の実施態様である、ジョブネットの例を示す。
該例は、ジョブネット_1(301)、ジョブネット_2(302)、ジョブネット_3(303)及びジョブネット_4(304)を示す。
ジョブネット_1(301)は、ジョブネット_2(302)及びジョブネット_3(303)の先行ジョブである。ジョブネット_2(302)は、ジョブネット_4(304)の先行ジョブである。ジョブネット_3(303)は、ジョブネット_4(304)の先行ジョブである。
ジョブネット_1(301)は、4つのジョブ(ジョブ1〜ジョブ4)を含む。ジョブネット_2(302)は、2つのジョブ(ジョブ5〜ジョブ6)を含む。ジョブネット_3(303)及びジョブネット_4(304)は、1つのジョブ(夫々、ジョブ7、ジョブ8)を含む。
ジョブ1は、ジョブ2及びジョブ3と依存関係があり、ジョブ2及びジョブ3それぞれは、ジョブ4と依存関係がある。ジョブ5は、ジョブ6と依存関係がある。
図7は、本発明の実施態様である、ジョブ・テンプレートの例を示す。
(1)ジョブ・テンプレート(311)について、以下に説明する。
ジョブ・テンプレートID(ID)は、JT00001である。
ジョブ・テンプレートを説明するための記述(Description)は、オフライン再構成ジョブ(Offline Reorg Job)である。
アクション・タイプ(Action Type)は、再構成(Reorg)である。
ジョブの実行コマンド(Action)は、実際に実行される処理が、例えばジョブ・スクリプトを使用して記載されうる。ジョブ・スクリプトは、構成要素の属性又は関係データを引数として有しうる。該引数は、例えば、ジョブ・テンプレートが適用されるCIタイプ又は前提条件の値を使用する。
ジョブ・テンプレートが適用されるCIタイプ(CI Type to apply)は、データベース(DB)である。
前提条件(Prerequisite)は、構成要素の検索条件(CI Search Condition)、他のジョブ・テンプレートを検索するためのアクション・タイプ(Action Type)を含む。構成要素の検索条件は、全てのユーザ(All User)である。全てのユーザとは、DBを使用している構成要素である。該構成要素は、DBと、例えば、「usedBy DB」という関係を有する。同様に、DBは、該構成要素と、例えば、「usedBy Webspere」という関係を有する。該例では、構成要素が、ソフトウェアであるWebspereであり、WebspereがDBを使用している。
検索された構成要素に対するアクション・タイプは、中断(Stop)である。
影響フラグ(Impact flag)は、サービス中断(Service Stop)がイエスであり、高負荷(High Stress)がイエスである。サービス中断とは、システムのサービス中断である。高負荷とは、システムに対する高負荷である。
(2)ジョブ・テンプレート(312)について、以下に説明する。
ジョブ・テンプレートIDは、JT00002である。
ジョブ・テンプレートを説明するための記述は、アプリケーション・サーバ中断(AppServ Stop)である。
アクション・タイプは、中断(Stop)である。
ジョブの実行コマンドは、ジョブ・スクリプトを使用して記載されうる。
ジョブ・テンプレートが適用されるCIタイプは、アプリケーション・サーバ(AppServ)である。
前提条件は、記載されていない。
影響フラグは、サービス中断がイエスであり、高負荷がノーである。
図8は、本発明の実施態様である、ジョブ定義の例を示す。
ジョブ定義(313)は、ジョブ定義名、ジョブ内容、ジョブ実行先、ジョブ実行ユーザ、ジョブ開始スケジュール、先行ジョブ、ジョブの実行予測時刻、及びジョブ・テンプレートを含む。
図9は、本発明の実施態様である、ジョブネット定義の例を示す。
ジョブネット定義(314)は、ジョブネット定義名、ジョブ自体、ジョブの実行順、及びジョブの実行スケジュールを含む。
ジョブ自体は変数を含み、該変数は、ジョブネット定義からジョブネットを作成する際に、CMDBの最新の構成情報に置き換えられる。該変数では、例えば、実行コマンドにおいて%Web1.logpath%のように変数になっているパラメータが使われる。%Web1.logpath%では、Web1というID及びlogpathという属性名を使用してCMDBから構成情報が取得される。そして、該変数がCMDBからの構成情報に置き換えられる。ジョブの実行順は、先行ジョブの内容を含む。ジョブの実行スケジュールは、該ジョブを実行するスケジュールを示す。ジョブの実行スケジュールには、例えば、毎週日曜日の19:00のような実行スケジュールが定義される。該ジョブスケジュールは、ジョブネット定義からジョブネットを作成する際に、ジョブネットがジョブネットを実行するシステムに投与される実際の日付、例えば2008年11月2日(日曜日である)の19:00に変換される。
図10は、従来技術である、ジョブ管理サーバの例を示す。
ジョブ管理サーバ(401)は、ジョブ実行エージェント(402)に投入するジョブを一元管理する。ジョブの管理者は、ジョブ管理コンソール(406)を用いて、ジョブの内容を確認することができる。ジョブ管理サーバ(401)は、ジョブ実行のスケジュールに基づき、ジョブ実行エージェント(402)にジョブの実行計画データを投入する。ジョブ実行エージェント(402)は、例えば、ウェブ・サーバ(403)、アプリケーション・サーバ(404)及びバッチ・サーバ(405)を含む。ウェブ・サーバ(403)、アプリケーション・サーバ(404)及びバッチ・サーバ(405)は、ジョブの実行計画データに基づきジョブを実行する。ジョブ実行エージェント(402)は、ジョブ実行の結果データをジョブ管理サーバ(401)に送信する。ジョブ管理サーバ(401)は、ジョブ実行の結果データにより、後にスケジュールされているジョブの実行可否を制御する。ジョブ管理サーバ(401)は、ジョブ管理コンソール(406)の要求に応じて、ジョブ実行の結果データをジョブ管理コンソール(406)に送信する。ジョブの管理者は、ジョブ管理コンソール(406)を用いて、ジョブの実行結果を確認することができる。
従来のジョブ管理サーバ(401)では、ジョブの実行計画データを手動で作成し、ジョブ間のコンフリクトに対しても手動で対応している。また、ジョブの対象であるシステム構成変更に対しても、ジョブの実行計画データを手動で変更している。
図11は、本発明の実施態様である、システム全体の構成図の例を示す。
ジョブ管理サーバ(501)は、CMDB(504)内に格納されたCIインスタンスを利用して、ジョブの設計支援、ジョブの実行をする。ジョブの設計支援は、ジョブネット定義又はジョブネットの自動作成、ジョブネット定義又はジョブネットの自動更新を含む。ジョブ管理サーバ(501)はまた、CMDB(504)内に格納されたCIインスタンスを用いて、ジョブ設計の検証を行う。ジョブ設計の検証は、ジョブのコンフリクトの発見を含む。
ジョブ管理サーバ(501)は、ジョブ・テンプレートを格納する記憶部(502)からジョブ・テンプレートを読み出す。ジョブ管理サーバ(501)はまた、ジョブ定義を格納する記憶部(図示せず)からジョブ定義を読み出す。ジョブ定義を格納する記憶部は、ジョブ・テンプレートを格納する記憶部(502)と同じ物理的記憶装置内にあってよい。
ジョブ管理サーバ(501)は、ジョブ・テンプレートにジョブ定義を適用し、ジョブネット定義を作成する。ジョブ管理サーバ(501)は、ジョブネット定義を作成する際に、CMDB(504)からのCIインスタンスを用いて、ジョブネット定義の作成に使用されるジョブ・テンプレートから、該ジョブネット定義の作成に必要な構成要素の特定をすることが可能である。CIインスタンスは、構成要素についての属性及び関係を含む。ジョブ管理サーバ(501)は、構成要素についても属性及び関係の少なくとも1つを用いて、ジョブ・テンプレートからジョブネット定義を作成する。CMDB内のCIインスタンスは、ディスカバリ部(507)によって自動的に更新される。なお、CIインスタンスの更新は、管理者(508)によって一部手動で設定又は更新されてもよい。構成要素のなかには、手動による設定又は更新しかできないデータがある場合もありからである。作成されたジョブネット定義は、ジョブネット定義記憶部(503)に格納される。 ジョブ管理サーバ(501)は、ジョブネット定義からジョブネット(505)を作成する。ジョブ管理サーバ(501)は、また、ジョブネット定義内に定義された引数に、CMDB(504)のCIインスタンスについてのデータを与えて、ジョブネット定義からジョブネット(505)を作成する。
ジョブ管理サーバ(501)は、ジョブネットを実行するシステム(506)に、上記作成したジョブネット(505)を投入する。
ジョブ管理サーバ(501)は、ジョブネット定義を作成する直前、ジョブネットを作成する直前、又は上記システム(506)にジョブネットを投入する直前に、ディスカバリ部(507)に対して、構成情報についてのディスカバリを要求することができる。該ディスカバリによって、CMDB(504)内のCIインスタンスの属性及び関係が更新される。
ジョブ管理サーバ(501)は、該更新されたCIインスタンスの属性及び関係の少なくとも1に基づいて、ジョブネット定義又はジョブネットを更新することができる。
ジョブ管理サーバ(501)は、ジョブネット定義又はジョブネットの作成又は更新時に、CIインスタンスの属性及び関係の少なくとも1を用いて、ジョブのコンフリクトを発見する。
図12は、本発明の実施態様である、ジョブ管理サーバの構成図の例を示す。
ジョブ管理サーバ(501)は、実行部(509)、CPU(509)、メモリー(513)、及びハードディスクドライブなどの記憶部(514)を含む。
実行部(509)は、CMDB(504)に格納されたCIインスタンスの属性及び関係の少なくとも1を使用して、少なくとも1のジョブ・テンプレートに定義された条件に従いジョブネットの作成、更新、又はジョブのコンフリクトの発見を実行する。
実行部(509)は、また、第1の作成部(510)及び第2の作成部(511)を含む。第1の作成部(510)は、上記CIインスタンスの属性及び関係の少なくとも1を使用して、ジョブ・テンプレートからジョブネット定義を作成する。第1の作成部(510)は、作成されたジョブネット定義をジョブネット定義記憶部(503)に格納する。第2の作成部(511)は、上記CIインスタンスの属性及び関係の少なくとも1を使用して、ジョブネット定義からジョブネット(505)を作成する。
CPU(509)は、ジョブ管理サーバ(501)からの命令を受け、バッチジョブを管理する方法を実行する。
記憶部(514)は、ジョブ・テンプレートを格納する記憶部(502)から読み出したジョブ・テンプレートを記憶する。記憶部(514)はまた、ジョブネット定義を格納する記憶部(503)から読み出したジョブネット定義を記憶する。
図13は、本発明の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。
ステップ531では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも1つのジョブ・テンプレートを、ジョブ・テンプレート記憶部(502)から読み出す。
ステップ532では、ジョブ管理サーバ(501)は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。
ステップ533では、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ534では、ジョブ管理サーバ(501)は、作成されたジョブネット定義をジョブネット定義記憶部(503)に格納する。
ステップ535では、ジョブ管理サーバ(501)は、ジョブネットを作成する命令に応じて、ジョブネット定義の再検査をする。この理由は、上記ジョブネット定義が作成された後、所定の期間を経過しているにCMDBのCIインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブ・テンプレートの前提条件を満たす構成要素が変わる場合が考えられる。そこで、ジョブ管理サーバ(501)は、ステップ532の内容を繰り返し、必要であれば、ジョブネット定義を更新する。
ステップ536では、ジョブ管理サーバ(501)は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ(501)は、上記読み込んだジョブネット定義内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ537では、ジョブ管理サーバ(501)は、作成されたジョブネットをジョブネット記憶部(図示なし)に格納する。
ステップ538では、ジョブ管理サーバ(501)は、ジョブネットを該ジョブネットを実行するシステムに投入する命令に応じて、ジョブネットの再検査をする。この理由は、上記ジョブネットが作成された後、所定の期間を経過しているにCMDBのCIインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブネット定義に定義された引数の値が変わる場合が考えられる。そこで、ジョブ管理サーバ(501)は、ステップ536の内容を繰り返し、必要であれば、ジョブネットを更新する。
ステップ539では、ジョブ管理サーバ(501)は、上記作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
図14は、本発明の実施態様である、ジョブネット定義又はジョブネットの更新をするフローチャートを示す。
ステップ521では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも1つのジョブ・テンプレートを、ジョブ・テンプレート記憶部(502)から読み出す。ジョブ設計において、最初のジョブ・テンプレートの選択は、ジョブの設計者が行う。設計者は、選択したジョブ・テンプレートについての情報をコンピュータ・システムに与える。
ステップ522では、ジョブ管理サーバ(501)は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。該検索は、CMDB(504)に格納された複数のCIインスタンスの属性及び関係のデータを検索することによって行われる。
ステップ523では、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ523では、ジョブ管理サーバ(501)は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ(501)は、上記読み込んだジョブネット定義内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ525では、ジョブ管理サーバ(501)は、上記ジョブネットを実行するコンピュータに該ジョブネットを投入する。
図15は、本発明の実施態様である、ジョブの検証をするフローチャートを示す。
ステップ541では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも1つのジョブ・テンプレートを、ジョブ・テンプレート記憶部(502)から読み出す。
ステップ542では、ジョブ管理サーバ(501)は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。
ステップ543では、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ544では、ジョブ管理サーバ(501)は、構成要素についての属性又は関係データがジョブ・テンプレートの前提条件又は影響フラグに反しないかを調べる。この理由は、上記ジョブネット定義が作成された後、所定の期間を経過しているにCMDBのCIインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブ・テンプレートの前提条件を満たす構成要素が変わる場合が考えられる。上記前提条件又は影響フラグに反している場合、ステップ545に進む。一方、上記前提条件又は影響フラグに反していない場合、ステップ546に進む。
ステップ545では、ジョブ管理サーバ(501)は、ステップ543の内容を繰り返す。
ステップ546では、ジョブ管理サーバ(501)は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ(501)は、上記読み込んだジョブネット定義内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ547では、ジョブ管理サーバ(501)は、ジョブネットを該ジョブネットを実行するシステムに投入する命令に応じて、構成要素についての属性又は関係データがジョブ・テンプレートの前提条件又は影響フラグに反しないかを調べる。この理由は、上記ジョブネットが作成された後、所定の期間を経過しているにCMDBのCIインスタンスが更新されている場合があるからである。例えば、該更新によって、ジョブ・テンプレートの前提条件を満たす構成要素が変わる場合が考えられる。また、ジョブネット定義に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの更新された少なくとも1つを該引数に与える。上記前提条件又は影響フラグに反している場合、ステップ548に進む。一方、上記前提条件又は影響フラグに反していない場合、ステップ549に進む。
ステップ549では、ジョブ管理サーバ(501)は、上記ジョブネットを実行するコンピュータに該ジョブネットを投入する。
図16は、本発明の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。
ステップ551では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも1つのジョブ・テンプレートを、ジョブ・テンプレート記憶部(502)から読み出す。
ステップ552では、ジョブ管理サーバ(501)は、該選択されたジョブ・テンプレートが適用される構成要素と関係を有し且つ該選択されたジョブ・テンプレートの前提条件を満たす構成要素を検索する。
ステップ553では、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレートに、ジョブ定義を適用して、ジョブネット定義を作成する。また、ジョブ管理サーバ(501)は、上記選択されたジョブ・テンプレート内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ554では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを検査する。ジョブのコンフリクトは、例えば、以下の態様が考えられる。
・第1のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯と、第2のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第3の構成要素及び該第3の構成要素と関係を有する第4の構成要素の少なくとも1を該ジョブが利用する実行時間帯とが重なること。
・ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であること。
ジョブにコンフリクトがある場合、ステップ555に進む。一方、ジョブにコンフリクトがない場合、ステップ556に進む。
ステップ555では、ジョブ間のコンフリクトがないように、ジョブネット定義を修正する。該修正のために、上記選択されたジョブ・テンプレート内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ556では、ジョブ管理サーバ(501)は、上記ジョブネット定義を読み込んで、ジョブネットを作成する。ジョブ管理サーバ(501)は、上記読み込んだジョブネット定義内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ557では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを検査する。ジョブにコンフリクトがある場合、ステップ558に進む。一方、ジョブにコンフリクトがない場合、ステップ558に進む。
ステップ558では、ジョブ間のコンフリクトがないように、ジョブネット定義を修正する。該修正のために、上記選択されたジョブ・テンプレート内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。
ステップ559では、ジョブ管理サーバ(501)は、上記作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
図17は、本発明の実施態様である、ジョブネット定義及びジョブネットの作成を示す。
ジョブテンプレート(601)は、2つのジョブ・テンプレートを有している。該ジョブ・テンプレートは、オフライン再構成ジョブ・テンプレート及びStop AppServジョブ(以下、Stopジョブという)・テンプレートである。
オフライン再構成ジョブ・テンプレートの実行コマンドは、DB2(商標)及びオラクル(商標)に対する実行コマンドである。オフライン再構成ジョブ・テンプレートの前提条件は、全てのDBクライアントが中断していることである。
CMDB(602)には、構成要素「DB2」(データベースである)及び構成要素WebSphere Application Server(アプリケーション)(以下、WAS)1及び2夫々についての1組のデータが格納されている。
構成要素DB2の属性の一つは、CIタイプがDBであることである。また、構成要素WASの属性の一つは、CIタイプがAppServであることである。
構成要素DB2の関係は、usedBy WAS1及びusedBy WAS2である。また、構成要素WASの関係は、usedBy DB2 clientである。
ジョブネット定義(603)は、上記2つのジョブ・テンプレートから作成される。ジョブネット定義ではまた、例えば、ジョブの実行スケジュールが定義されている。ジョブの実行スケジュールは、例えば、毎週日曜日の19:00である。ジョブネット定義ではまた、例えば、CMDBから取り込むデータのための引数が定義されている。
ジョブネット(604)は、上記ジョブネット定義から作成される。ジョブネットでは、上記ジョブの実行スケジュールがインスタンス化される。該ジョブの実行スケジュールは、例えば、2008年10月26日の19:00である。このように、ジョブネットでは、ジョブの実行スケジュールが、ジョブネットを実際に実行するシステムに投入される日付に変換されている。同様に、該ジョブネットでは、上記CMDBから取り込むデータのための引数に、CMDBからのCIインスタンスの属性及び関係の少なくとも1つのデータが与えられている。
図18は、図17の実施態様である、ジョブネット定義及びジョブネットを作成するフローチャートを示す。
ステップ611では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択した少なくとも1つのジョブ・テンプレート(601)を、ジョブ・テンプレート記憶部(502)から読み出す。ステップ611では、ジョブの設計者がジョブ・テンプレート「オフライン再構成ジョブ」を選択したので、ジョブ管理サーバ(501)は、該選択されたジョブ・テンプレートをジョブ・テンプレートジョブ・テンプレート記憶部(502)から読み出す。
ステップ612では、ジョブ・テンプレート「オフライン再構成ジョブ」を、ジョブ・テンプレート内のジョブ・テンプレートが適用されるCIタイプに定義された構成要素「DB2」に適用する。
ステップ613では、ジョブ管理サーバ(501)は、ジョブ・テンプレート「オフライン再構成ジョブ」の前提条件の検索条件「All DB Client Stopped」から、構成要素「DB2」を使用する関係「usedBy」を有する構成要素を検索することをCMDB(602)に依頼する。
ステップ614では、ジョブ管理サーバ(501)は、CMDB(602)の構成要素「DB2」のCIインスタンスの関係「usedBy」を使用して、構成要素「WAS1」及び「WAS2」が構成要素DB2との関係にあることを知る。構成要素「DB2」は、構成要素「WAS1」との関係が「usedBy WAS1」である。構成要素「DB2」はまた、構成要素「WAS2」との関係が「usedBy WAS2」である。
ステップ615では、ジョブ管理サーバ(501)は、ジョブ・テンプレート「オフライン再構成ジョブ」の前提条件のアクションである「中断」を、構成要素「WAS1」及び「WAS2」に対して実行するために、“ジョブ・テンプレートが適用されるCIタイプ”が「AppServ」であり且つ“アクション・タイプ”が「Stop」であるジョブ・テンプレートをジョブ・テンプレート記憶部において検索する。検索の結果、ジョブ・テンプレート「Stop AppServジョブ」が検索される。
ステップ616では、ジョブ管理サーバ(501)は、検索されたジョブ・テンプレート「Stop AppServジョブ」を構成要素「WAS1」及び「WAS2」に対して自動的に適用する。
ステップ617では、ジョブ管理サーバ(501)は、ジョブ・テンプレート「オフライン再構成ジョブ」及びジョブ・テンプレート「Stop AppServジョブ」から、ジョブネット定義(603)を作成する。
ステップ618では、ジョブ管理サーバ(501)は、ジョブネットの作成命令を受信する。
ステップ619は、任意のステップである、ステップ619では、ジョブ管理サーバ(501)は、ジョブネットの作成命令の受信に応答して、ステップ613〜617を繰り返して、ジョブネット定義を更新してもよい。ジョブネット定義が作成された後に所定の期間を経過すると、システムの構成も変更される場合があるために、ジョブネット定義の更新が必要になる場合があるからである。ジョブ管理サーバ(501)は、ジョブネット定義の更新を可能にするために、ジョブネット定義が作成された日時を確認し、例えば該日時から24時間を経過している場合に、ディスカバリ部に対して構成要素のディスカバリを依頼する。
ステップ620では、ジョブ管理サーバ(501)は、ディスカバリによってジョブネット定義の更新が必要な場合、ジョブネット定義を更新する。
ステップ621では、ジョブ管理サーバ(501)は、ジョブネット定義を読みこんで、ジョブネットを作成する。ジョブ管理サーバ(501)は、上記読み込んだジョブネット定義内に引数が定義されている場合、CMDB(504)に格納されたCIインスタンスの属性及び関係のデータの少なくとも1つを該引数に与える。ジョブ管理サーバ(501)はまた、ジョブネットが投入される実際の日時をジョブネット定義に与える。
ステップ622では、ジョブ管理サーバ(501)は、ジョブネットの投入命令を受信する。
ステップ623は、任意のステップである。ステップ623では、ジョブ管理サーバ(501)は、ジョブネットの投入命令の受信に応答して、ステップ619と同じ内容を繰り返す。ジョブネットが作成された後に所定の期間を経過すると、システムの構成も変更される場合があるために、ジョブネットの更新が必要になる場合があるからである。ジョブ管理サーバ(501)は、ジョブネットの更新を可能にするために、ジョブネットが作成された日時を確認し、例えば該日時から24時間を経過している場合に、ディスカバリ部に対して構成要素のディスカバリを依頼する。
ステップ624では、ジョブ管理サーバ(501)は、ディスカバリによってジョブネットの更新が必要な場合、ジョブネットを更新する。
ステップ625では、ジョブ管理サーバ(501)は、上記作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
図19は、本発明の実施態様である、ジョブ間のコンフリクトの発見を示す。
ジョブテンプレート(701)は、2つのジョブ・テンプレートを有している。該ジョブ・テンプレートは、OS再起動ジョブ・テンプレート及びウィルス・スキャン・ジョブ・テンプレートである。
OS再起動ジョブ・テンプレートの影響フラグは、サービス中断であることから、OS再起動ジョブを実行すると、システムのサービス中断という影響があることを示す。
ウィルス・スキャン・ジョブ・テンプレートの影響フラグは、高負荷であることから、ウィルス・スキャン・ジョブを実行すると、システムに対して高負荷がかかることを示す。
受注システム(702)では、CMDBの構成情報を使用して、業務ジョブと同じ時間帯にサービス中断ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。エラー表示がされるまでの課程は次の通りである。ジョブ管理サーバは、CMDBの構成情報を用いて、LinuxのCIインスタンスの関係(runAt)から、構成要素「DB2」を知る。次に、ジョブ管理サーバは、構成要素「DB2」のCIインスタンスの関係「usedBy」から、構成要素「WAS」を知る。最後に、ジョブ管理サーバは、構成要素「WAS」の属性からWAS上で稼働している業務ジョブがあることを知る。よって、ジョブ管理サーバは、OSの再起動によって、サービス中断ジョブが適用されると、Linuxのサービスの中断が生じることを知る。
発送システム(703)では、CMDBの構成情報を使用して、業務ジョブと同じ時間帯に高負荷ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。警告表示がされるまでの課程は次の通りである。ジョブ管理サーバは、CMDBの構成情報を用いて、Windows(商標)のCIインスタンスの関係(runAt)から、構成要素SQLを知る。次に、ジョブ管理サーバは、構成要素「SQL」のCIインスタンスの関係「usedBy」から、構成要素「Tomcat」を知る。最後に、ジョブ管理サーバは、構成要素「Tomcat」の属性からTomcat上で稼働している業務ジョブがあることを知る。よって、ジョブ管理サーバは、ウィルス・スキャンによって、Windowsに対して高負荷が生じることを知る。
図20は、図19の実施態様である、ジョブ間のコンフリクトを発見するフローチャートを示す。
下記では、受注システム(702)と発送システム(703)におけるそれぞれのフローチャートを示す。
(1)受注システム(702)
ステップ711では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「OS再起動ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ712では、ジョブ・テンプレート「OS再起動ジョブ」からジョブネット定義の作成を開始する。
ステップ713では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ714に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ715に進む。
ステップ714では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ715では、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットの作成を開始する。
ステップ716では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ717に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットを作成し、ステップ718に進む。
ステップ717では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ718では、ジョブ管理サーバは、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
(2)発送システム(703)
ステップ721では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「ウィルス・スキャン・ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ722では、ジョブ・テンプレート「ウィルス・スキャン・ジョブ」からジョブネット定義の作成を開始する。
ステップ723では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ714に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ725に進む。
ステップ724では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ725では、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットの作成を開始する。
ステップ726では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ717に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットを作成し、ステップ718に進む。
ステップ727では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ728では、ジョブ管理サーバは、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
図21は、本発明の実施態様である、ジョブのコンフリクトを発見する実施態様を示す。
ジョブテンプレート(731)は、2つのジョブ・テンプレートを有している。該ジョブ・テンプレートは、OS再起動ジョブ・テンプレート及びウィルス・スキャン・ジョブ・テンプレートである。
OS再起動ジョブ・テンプレートの影響フラグは、システム中断であることから、OS再起動ジョブを実行すると、システムのサービス中断という影響があることを示す。
ウィルス・スキャン・ジョブ・テンプレートの影響フラグは、高負荷であることから、ウィルス・スキャン・ジョブを実行すると、システムに対して高負荷がかかることを示す。
受注システム(702)では、CMDBの構成情報を使用して、オンライン時間帯にサービス中断ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。エラー表示がされるまでの課程は次の通りである。ジョブ管理サーバは、CMDBの構成情報を用いて、LinuxのCIインスタンスの関係(runAt)から、構成要素「DB2」を知る。次に、ジョブ管理サーバは、構成要素「DB2」のCIインスタンスの関係usedByから、構成要素「WAS」を知る。最後に、ジョブ管理サーバは、構成要素「WAS」の属性「オンライン時間」からWAS上でオンライン時間帯に稼働している業務ジョブがあることを知る。よって、ジョブ管理サーバは、OSの再起動によって、サービス中断ジョブが適用されると、Linuxのシステムが再起動することを知る。
受注システム(702)では、また、CMDBの構成情報を使用して、オンライン時間帯に高負荷ジョブが割り当てられていることが分かった。同じ時間帯とは、ジョブ実行の予想時間が重なることをいう。警告表示がされるまでの課程は次の通りである。ジョブ管理サーバは、構成要素「受信システム」のCIの関係(Including)及び属性(オンライン時間帯)を用いて、ウィルス・スキャン・ジョブが実行されると、受注システムに対して高負荷が生じることを知る。受信システムは、4つの構成要素「Linux」、「DB2」、「WebSphere」及び「Windows」を含むが、受注システムとして1つの構成要素である。
図22は、図21の実施態様である、ジョブのコンフリクトを発見するフローチャートを示す。
下記では、OS再起動ジョブ・テンプレートとウィルス・スキャン・ジョブ・テンプレートにおけるそれぞれのフローチャートを示す。
(1)OS再起動ジョブ・テンプレート
ステップ741では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「OS再起動ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ742では、ジョブ・テンプレート「OS再起動ジョブ」からジョブネット定義の作成を開始する。
ステップ743では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ744に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ745に進む。
ステップ744では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ745では、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットの作成を開始する。
ステップ746では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ74に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットを作成し、ステップ748に進む。
ステップ747では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ748では、ジョブ管理サーバは、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
(2)ウィルス・スキャン・ジョブ・テンプレート
ステップ751では、ジョブ管理サーバ(501)は、ジョブネット定義を作成するために、ジョブの設計者が選択したジョブ・テンプレート「ウィルス・スキャン・ジョブ」をジョブ・テンプレートジョブ・テンプレート記憶部から読み出す。
ステップ752では、ジョブ・テンプレート「ウィルス・スキャン・ジョブ」からジョブネット定義の作成を開始する。
ステップ753では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ714に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブ・テンプレートからジョブネット定義を作成し、ステップ755に進む。
ステップ754では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネット定義を作成するようにしてもよい。
ステップ755では、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットの作成を開始する。
ステップ756では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがないかどうかを発見する。ジョブのコンフリクトがある場合、ステップ757に進む。一方、ジョブのコンフリクトがない場合、ジョブ管理サーバ(501)は、ジョブネット定義からジョブネットを作成し、ステップ758に進む。
ステップ757では、ジョブ管理サーバ(501)は、ジョブのコンフリクトがあることをジョブの設計者に知らせる。ジョブの設計者はエラーの表示を見て、ジョブ設計を継続するかどうかを決定する。代替的には、ジョブ管理サーバ(501)が、エラーを解消するように、CMDBの構成情報を用いて自動的にエラーを解消し、ジョブネットを作成するようにしてもよい。
ステップ758では、ジョブ管理サーバ(501)は、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
図23は、本発明の実施態様である、ジョブネットの更新を示す。
ジョブ管理サーバは(801)は、ジョブネットの更新を通じて、ジョブ設計の再利用性を高める。
ジョブテンプレート(802)は、ログ・メンテナンス・ジョブテンプレートであり、実行コマンドにおける処理が、cat /dev/null >%$CIID$.logpath%で表されるディレクトリを用いる。ジョブネット定義(803)は、ログ・メンテナンス・ジョブネット定義であり、実行コマンドにおける処理が、cat /dev/null > %Web1.logpath%で表されるディレクトリを用いる。ジョブネット定義(803)の該ディレクトリは、ジョブテンプレート(802)で定義されたディレクトリがインスタンス化されたものである。
ジョブ管理サーバは(801)は、ジョブテンプレート(802)からジョブネット定義(803)を作成するに際して、%$CIID$に%Web1を代入してインスタンス化する。
ジョブ管理サーバは(801)は、構成要素「Web1」(CIインスタンス名:Web1)の属性「ログパス」の値をCMDBから読み取る。属性「ログパス」の値が、logpath=/logs/xxx.logであるとする。ジョブ管理サーバ(801)は、CMDBからの属性値「/logs/xxx.log」をジョブネット定義の「%Web1」に代入し、ジョブネット(805)を作成する。
次に、構成要素「Web1」の属性「ログパス」の値が「/logs/xxx.log」から「/logs/yyy.log」に変更されたとする。ディスカバリ部は、ディスカバリによって該変更を自動的に検出する。該検出によって、CMDBのCIインスタンスのデータが更新される。そして、ジョブ管理サーバ(801)は、CMDB内のWeb1についてのCIインスタンスの属性値「/logs/yyy.log」を読み取り、該属性値をジョブネット定義の「%Web1」に代入し、ジョブネットを作成する。
このようにして、ジョブ・テンプレート(802)及びジョブネット定義(803)に引数を使用することによって、ジョブネット定義を変更することなく、ログファイルの出力先をCMDBからの情報を使用して変更することが可能である。
図24は、図23の実施態様である、ジョブネットを更新するフローチャートを示す。 ステップ811では、ディスカバリ部は、構成要素「システム」(806)についての情報を検出する。CMDBシステム(図1、100)は、該情報に基づいて、構成要素「システム」において、ログファイルの出力先が変更されたことを検出する。
ステップ812では、CMDBシステムは、上記変更の検出に応じてCMDBを更新する。すなわち、構成要素「システム」のCIインスタンスの属性「ログパス」の値が、「/logs/xxx.log」から「/logs/yyy.log」に変更される。
ステップ813では、ジョブ管理サーバは(801)は、ログ・メンテナンス・ジョブネット定義の引数に、上記変更された値「/logs/yyy.log」を代入する。
ステップ814では、ジョブ管理サーバは(801)は、ログファイルの出力先として、更新された出力先を含むジョブネットを生成する、又はログファイルの出力先として、更新された出力先を含むジョブネットに更新する。
ステップ815では、ジョブ管理サーバ(501)は、作成されたジョブネットを実行するコンピュータに該ジョブネットを投入する。
図25は、本発明の実施態様に係るコンピュータ・ハードウェアのブロック図を示す。
本発明の実施態様に係るコンピュータ・システム(901)は、CPU(902)とメイン・メモリ(903)と含み、これらはバス(904)に接続されている。CPU(902)は好ましくは、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Atom(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ及びSempron(商標)などを使用することができる。バス(904)には、ディスプレイ・コントローラ(905)を介して、LCDモニタなどのディスプレイ(906)が接続される。ディスプレイ(906)は、そのコンピュータ・システム(901)上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バス(904)にはまた、IDE又はSATAコントローラ(907)を介して、ハードディスク又はシリコン・ディスク(908)と、CD−ROM、DVD又はBlu−rayドライブ(909)が接続されている。CD−ROM、DVD又はBDドライブ(909)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスク又はシリコン・ディスク(908)に導入するために使用される。バス(904)には更に、キーボード・マウスコントローラ(910)を介して、或いはUSBコントローラ(図示せず)を介して、キーボード(911)及びマウス(912)が接続されている。
ハードディスク(908)には、オペレーティング・システム、J2EEなどのJava処理環境を提供するプログラム、CMDBのための運用管理プログラム、その他のプログラム及びデータが、メイン・メモリ(903)にロード可能に記憶されている。運用管理プログラムは好ましくは、インターナショナル・ビジネス・マシーンズ・コーポレーションから提供されるTADDM(Tivoli(商標)Application Dependency Discovery Manager)を含む。
通信インタフェース(914)は、例えばイーサネット(商標)プロトコルに従うものであり、通信コントローラ(913)を介してバス(904)に接続される。通信インタフェース(914)は、コンピュータ・システム(901)及び通信回線(915)を物理的に接続する役割を担い、コンピュータ・システム(901)のオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インターフェース層を提供する。通信回線は、有線LAN環境、或いは例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。
なお、コンピュータ等のハードウェアを接続するためのネットワーク接続装置として使用できるものとして、上記のネットワーク・スイッチ以外に、これで尽きている訳ではないが、ルータ、ハードウェア管理コンソール等がある。要するに、ネットワーク運用管理用プログラムが導入されているコンピュータからの、所定のコマンドによる問い合わせに対して、それに接続されているコンピュータのIPアドレス、MACアドレスなどの構成情報を返すことができる機能をもつものである。ネットワーク・スイッチ及びルータは、アドレス解決プロトコル(ARP)のための、それに接続されているコンピュータのIPアドレス及び、それに対応するMACアドレスの対のリストを含むARPテーブルを含み、所定のコマンドによる問い合わせに対して、ARPテーブルの内容を返す機能をもつ。ハードウェア管理コンソールは、ARPテーブルよりも更に詳しい、コンピュータの構成情報を返すことができる。
コンピュータには、上述したハードウェア管理コンソールが接続されている。これは、コンピュータで、LPAR(仮想論理区画)により一台のコンピュータを複数の区画に論理分割し、その各々の区画で、VMwareにより、Windows(商標)、Linux(商標)などの異なるOSを走らせるようにする機能を有するものである。ハードウェア管理コンソールにシステム的に問い合わせすることにより、LPAR・VMwareで動作しているコンピュータの個々の論理区画での情報を、詳細に得ることができる。
以上、実施形態に基づき本発明を説明してきたが、本実施形態に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが、明らかであろう。例えば、CMDBとそれに格納されたCIではなく、別の形式のデータベースとCIの形式を用いることもできる。また、Java以外に、C++、C#など、ネットワーク管理機能をもつAPIを呼び出すことのできる任意のコンピュータ開発環境を用いることができる。

Claims (25)

  1. バッチジョブを管理するためのコンピュータ・システムであって、
    少なくとも1のジョブ・テンプレートを格納する記憶部と、
    構成管理データベース(CMDB)により管理される構成要素の少なくとも1つの所定の属性、及び
    該構成要素と他の構成要素との関係
    を含む1組のデータ中の少なくとも1の属性又は関係を使用して、
    前記少なくとも1のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
    ジョブネットの作成若しくは更新、又は
    ジョブのコンフリクトの発見
    を実行する実行部であって、前記構成要素は、前記少なくとも1つのジョブ・テンプレートに定義された構成要素を包含し、前記1組のデータは、前記CMDBに保持されており且つ構成要素についての情報を検出するディスカバリによって更新されうる、前記実行部と
    を含み、前記ジョブ・テンプレートがジョブの実行の前提条件を含み、前記前提条件が前記構成要素を検索するための条件を含む、前記コンピュータ・システム。
  2. 前記実行部が、前記1組のデータ中の少なくとも1の属性又は関係を使用して、前記少なくとも1のジョブ・テンプレートからジョブネット定義を作成し又は更新する第1の作成部をさらに含む、請求項1に記載のコンピュータ・システム。
  3. 前記ジョブ・テンプレートが、ジョブの実行タイプ、ジョブの実行コマンド、及び該ジョブ・テンプレートが適用される構成要素をさらに含む、請求項1又は2に記載のコンピュータ・システム。
  4. 前記ジョブネット定義が、ジョブの内容、ジョブの実行順、及びジョブの実行スケジュールを含む、請求項2に記載のコンピュータ・システム。
  5. 前記前提条件が該構成要素に対するジョブの実行タイプをさらに含む、請求項1〜4のいずれか一項に記載のコンピュータ・システム。
  6. 前記第1の作成部が、前記1組のデータ中の少なくとも1の属性又は関係を使用して、前記前提条件に記載された条件に合致する構成要素を特定する、請求項2に記載のコンピュータ・システム。
  7. 前記第1の作成部が、前記特定された構成要素に、他のジョブ・テンプレートを関連付ける、請求項6に記載のコンピュータ・システム。
  8. 前記第1の作成部が、前記ジョブ・テンプレートに、ユーザによって定義されたジョブ定義を適用することによってジョブネット定義を作成する、請求項2に記載のコンピュータ・システム。
  9. 前記ジョブ定義が、ジョブの定義名、ジョブの内容、ジョブの実行先、ジョブの実行ユーザ、ジョブの開始スケジュール、先行ジョブ、ジョブの実行予測時間、及びジョブ・テンプレート名を含む、請求項8に記載のコンピュータ・システム。
  10. 前記ジョブ・テンプレートが、構成要素についての1組のデータを取得するための引数を含む、請求項1〜9のいずれか一項に記載のコンピュータ・システム。
  11. 前記実行部が、前記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブネット定義からジョブネットを作成し又は更新する第2の作成部をさらに含む、請求項1〜10のいずれか一項に記載のコンピュータ・システム。
  12. 前記ジョブネット定義が、構成要素についての1組のデータを取得するための引数を含む、請求項11に記載のコンピュータ・システム。
  13. 前記ジョブネット定義がログ・メンテナンス・ジョブネット定義であり、前記引数がログパスであり、該ログパスのデータが前記1組のデータによって更新される、請求項12に記載のコンピュータ・システム。
  14. 前記第2の作成部が、ジョブネットが該ジョブネットを実行するシステムに投入される日時、及びジョブネット定義において定義された構成要素についての引数に対応する1組のデータの属性及び関係の少なくとも1を、前記ジョブネットに適用する、請求項11に記載のコンピュータ・システム。
  15. 前記ジョブのコンフリクトが、第1のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯と、第2のジョブ・テンプレートのジョブの実行コマンドに関連付けられた第3の構成要素及び該第3の構成要素と関係を有する第4の構成要素の少なくとも1を該ジョブが利用する実行時間帯とが重なることを含む、請求項1〜14のいずれか一項に記載のコンピュータ・システム。
  16. 前記第2の構成要素が前記第1の構成要素の1組のデータ中の少なくとも1の属性又は関係を使用して検出され、前記第4の構成要素が前記第3の構成要素の1組のデータ中の少なくとも1の属性又は関係を使用して検出される、請求項15に記載のコンピュータ・システム。
  17. 前記第1の構成要素の前記1組のデータが前記ディスカバリによって更新された1組のデータである、又は、前記第3の構成要素の前記1組のデータが前記ディスカバリによって更新された1組のデータである、請求項16に記載のコンピュータ・システム。
  18. 前記ジョブのコンフリクトが、前記ジョブ・テンプレートのジョブの実行コマンドに関連付けられた第1の構成要素及び該第1の構成要素と関係を有する第2の構成要素の少なくとも1を該ジョブが利用する実行時間帯が、該ジョブを実行することができない時間帯であることを含む、請求項1〜17のいずれか一項に記載のコンピュータ・システム。
  19. 前記第1の構成要素の前記1組のデータ及び前記第2の構成要素の前記1組のデータが、前記ディスカバリによって更新された1組のデータである、請求項18に記載のコンピュータ・システム。
  20. 前記ディスカバリが、前記ジョブネット定義を作成する直前、前記ジョブネットを作成する直前、又は前記ジョブネットを実行するシステムに該ジョブネットを投入する直前に行われる、請求項1〜19のいずれか一項に記載のコンピュータ・システム。
  21. 前記ジョブネットが、前記ディスカバリを行うジョブを含む、請求項1〜20のいずれか一項に記載のコンピュータ・システム。
  22. バッチジョブを管理するための方法であって、
    少なくとも1のジョブ・テンプレートに定義された構成要素を特定するステップであって、前記構成要素は構成管理データベース(CMDB)により管理される、前記特定するステップと、
    前記特定された構成要素の少なくとも1つの所定の属性、及び
    該構成要素と他の構成要素との関係
    を含む1組のデータ中の少なくとも1の属性又は関係を使用して、
    前記少なくとも1のジョブ・テンプレートに定義された条件に従うジョブネット定義の作成若しくは更新、
    ジョブネットの作成若しくは更新、又は
    ジョブのコンフリクトの発見
    を実行するステップであって、前記構成要素は、前記少なくとも1つのジョブ・テンプレートに定義された構成要素を包含し、前記1組のデータは、前記CMDBに保持されており及び構成要素についての情報を検出するディスカバリによって更新されうる、前記実行するステップと
    を含み、前記ジョブ・テンプレートがジョブの実行の前提条件を含み、前記前提条件が前記構成要素を検索するための条件を含む、前記方法。
  23. 前記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブ・テンプレートからジョブネット定義を作成するステップと、
    前記1組のデータ中の少なくとも1の属性又は関係を使用して、ジョブネット定義からジョブネットを作成するステップと
    を含む、請求項22に記載の方法。
  24. バッチジョブを管理するための方法であって、
    構成管理データベース(CMDB)により管理される構成要素の少なくとも1つの所定の属性、及び
    該構成要素と他の構成要素との関係
    を含む1組のデータを前記CMDBに格納するするステップであって、前記1組のデータは、構成要素についての情報を検出するディスカバリによって更新されうる、前記格納するステップと、
    ジョブ・テンプレートに定義された構成要素を特定するステップと、
    前記特定された構成要素についての前記1組のデータ中の少なくとも1の属性又は関係を使用して、前記ジョブ・テンプレートに定義された条件に合致する他の構成要素を見つけるステップと、
    前記見つけられた他の構成要素に、他のジョブ・テンプレートを関連付けるステップと、
    前記ジョブ・テンプレート及び前記他のジョブ・テンプレートを使用して、ジョブネット定義を作成するステップと
    を含み、前記ジョブ・テンプレートがジョブの実行の前提条件を含み、前記前提条件が前記構成要素を検索するための条件を含む、前記方法。
  25. バッチジョブを管理するためのコンピュータ・プログラムであって、コンピュータ・システムに、請求項22〜24のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
JP2010535826A 2008-10-31 2009-10-28 バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム Expired - Fee Related JP5263703B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010535826A JP5263703B2 (ja) 2008-10-31 2009-10-28 バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008281069 2008-10-31
JP2008281069 2008-10-31
JP2010535826A JP5263703B2 (ja) 2008-10-31 2009-10-28 バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
PCT/JP2009/068524 WO2010050524A1 (ja) 2008-10-31 2009-10-28 バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JPWO2010050524A1 JPWO2010050524A1 (ja) 2012-03-29
JP5263703B2 true JP5263703B2 (ja) 2013-08-14

Family

ID=42128883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010535826A Expired - Fee Related JP5263703B2 (ja) 2008-10-31 2009-10-28 バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US20100115520A1 (ja)
EP (1) EP2345963A4 (ja)
JP (1) JP5263703B2 (ja)
KR (1) KR20110082147A (ja)
CN (1) CN102165419B (ja)
WO (1) WO2010050524A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370092B2 (en) * 2002-09-12 2008-05-06 Computer Sciences Corporation System and method for enhanced software updating and revision
US9032406B2 (en) * 2010-07-01 2015-05-12 Sap Se Cooperative batch scheduling in multitenancy system based on estimated execution time and generating a load distribution chart
US20130145371A1 (en) * 2011-12-01 2013-06-06 Sap Ag Batch processing of business objects
WO2014049854A1 (ja) * 2012-09-28 2014-04-03 株式会社日立製作所 計算機システム、及びプログラム
US9330370B2 (en) * 2013-03-20 2016-05-03 International Business Machines Corporation Updating progression of performing computer system maintenance
JP6028657B2 (ja) 2013-03-28 2016-11-16 富士通株式会社 検証プログラム、検証方法および検証装置
JP6040837B2 (ja) 2013-03-28 2016-12-07 富士通株式会社 情報処理装置の管理方法、およびプログラム
CN104679740B (zh) * 2013-11-27 2017-11-17 中国银联股份有限公司 数据处理系统
CN103645944B (zh) * 2013-12-25 2017-01-18 中国工商银行股份有限公司 一种批量数据冲突检测方法、装置及系统
US9853863B1 (en) * 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
DE112015005728B4 (de) * 2014-12-22 2021-07-29 Servicenow, Inc. Automatisches Auffinden von Konfigurationselementen
JP6531473B2 (ja) * 2015-04-02 2019-06-19 富士通株式会社 管理支援プログラム、管理支援装置、及び管理支援方法
US10339128B2 (en) * 2016-05-17 2019-07-02 International Business Machines Corporation Verifying configuration management database configuration items
US10511486B2 (en) * 2017-05-05 2019-12-17 Servicenow, Inc. System and method for automating the discovery process
US11169815B2 (en) * 2018-01-16 2021-11-09 Bby Solutions, Inc. Method and system for automation tool set for server maintenance actions
US10715402B2 (en) * 2018-11-27 2020-07-14 Servicenow, Inc. Systems and methods for enhanced monitoring of a distributed computing system
US10686667B1 (en) * 2019-03-04 2020-06-16 Servicenow, Inc. Agent-assisted discovery of network devices and services
CN115225521A (zh) * 2022-06-15 2022-10-21 国家计算机网络与信息安全管理中心 一种基于配置管理数据库的资产探测方法、系统、设备及存储介质
US11863619B1 (en) * 2023-01-17 2024-01-02 Micro Focus Llc Computing resources discovery via replacing filter parameter of input query with discovery job parameter

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166928A (ja) * 1999-12-06 2001-06-22 Hitachi Ltd ジョブネットの自動生成装置
JP2005092542A (ja) * 2003-09-18 2005-04-07 Hitachi Ltd ジョブネット構成ファイルの生成装置および生成方法
JP2006040024A (ja) * 2004-07-28 2006-02-09 Hitachi Ltd ストレージ管理方法、管理装置及びコンピュータシステム
JP2006244098A (ja) * 2005-03-03 2006-09-14 Hitachi Ltd ストレージシステムにおける論理分割方法
JP2007140791A (ja) * 2005-11-16 2007-06-07 Mizuho Information & Research Institute Inc ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386586B1 (en) * 1998-12-22 2008-06-10 Computer Associates Think, Inc. System for scheduling and monitoring computer processes
US7197749B2 (en) * 2000-12-19 2007-03-27 Xerox Corporation Method and system for executing batch jobs by delegating work to independent service providers
US7117500B2 (en) * 2001-12-20 2006-10-03 Cadence Design Systems, Inc. Mechanism for managing execution of interdependent aggregated processes
US8171481B2 (en) * 2004-02-12 2012-05-01 International Business Machines Corporation Method and system for scheduling jobs based on resource relationships
US20060156313A1 (en) * 2005-01-07 2006-07-13 Hambrick Geoffrey M Method and apparatus for implementing container managed batch jobs in an enterprise java bean environment
US20060155745A1 (en) * 2005-01-07 2006-07-13 Hambrick Geoffrey M System and method to implement container managed streams in J2EE environments
US7984445B2 (en) * 2005-02-25 2011-07-19 International Business Machines Corporation Method and system for scheduling jobs based on predefined, re-usable profiles
US7979859B2 (en) * 2005-05-03 2011-07-12 International Business Machines Corporation Managing automated resource provisioning with a workload scheduler
CN1870028A (zh) * 2005-05-26 2006-11-29 株式会社理光 工作流程系统、工作流程处理方法和工作流程处理程序
US8549513B2 (en) * 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
CN100489858C (zh) * 2006-02-22 2009-05-20 国际商业机器公司 用于收集数据处理系统中的清单信息的方法和系统
US8572616B2 (en) * 2006-05-25 2013-10-29 International Business Machines Corporation Apparatus, system, and method for managing z/OS batch jobs with prerequisites
US20070282982A1 (en) * 2006-06-05 2007-12-06 Rhonda Childress Policy-Based Management in a Computer Environment
CN101206589B (zh) * 2006-12-19 2010-09-01 国际商业机器公司 用于执行库存扫描的方法与系统
US8073863B2 (en) * 2007-02-12 2011-12-06 Bsp Software Llc Batch management of metadata in a business intelligence architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166928A (ja) * 1999-12-06 2001-06-22 Hitachi Ltd ジョブネットの自動生成装置
JP2005092542A (ja) * 2003-09-18 2005-04-07 Hitachi Ltd ジョブネット構成ファイルの生成装置および生成方法
JP2006040024A (ja) * 2004-07-28 2006-02-09 Hitachi Ltd ストレージ管理方法、管理装置及びコンピュータシステム
JP2006244098A (ja) * 2005-03-03 2006-09-14 Hitachi Ltd ストレージシステムにおける論理分割方法
JP2007140791A (ja) * 2005-11-16 2007-06-07 Mizuho Information & Research Institute Inc ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム

Also Published As

Publication number Publication date
JPWO2010050524A1 (ja) 2012-03-29
EP2345963A1 (en) 2011-07-20
CN102165419A (zh) 2011-08-24
EP2345963A4 (en) 2013-01-09
US20100115520A1 (en) 2010-05-06
CN102165419B (zh) 2013-06-19
KR20110082147A (ko) 2011-07-18
WO2010050524A1 (ja) 2010-05-06

Similar Documents

Publication Publication Date Title
JP5263703B2 (ja) バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5285353B2 (ja) 複数のサービス構成要素に対応するアクションの実行を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5239075B2 (ja) 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8639798B2 (en) Managing configuration items
US8612574B2 (en) Computer system for managing configuration item, and method and computer program therefor
US20190138366A1 (en) Server farm management
US9146965B2 (en) Information processor, privilege management method, program, and recording medium
US8166458B2 (en) Method and system for automated distributed software testing
JP5270209B2 (ja) 複数のタスクの進捗を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5263696B2 (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5340610B2 (ja) 複数の構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US9086942B2 (en) Software discovery by an installer controller
US8640209B2 (en) Authentication information change facility
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP4866433B2 (ja) 認証情報を変更するためコンピュータ・システム、並びにその方法及びコンピュータ・プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130107

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130107

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20130107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130404

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130419

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees