(57)【要約】【課題】  タスクプログラムを実行し、そのタスクプログラムの結果を評価することによって、ネットワークを監査する。【解決手段】  タスクプログラムとは、特定のネットワークデバイスに関する情報を検索する。サービスは、複数のネットワークにわたってそれぞれのタスクプログラムのスケジューリング、実行、データの収集・集約を調整するように配置される。タスクプログラムは、スケジュールされた時間に実行され、結果はパーサに提供される。パーサは結果をフォーマットし、フォーマットされたデータをサービスに提供する。サービスは、収集されたデータをデータベース内に保存する。クライアントは、サービスと通信することによって、監査の結果をスケジュールに入れるか、検討することができる。【選択図】  図３
2006012152.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行をスケジュールするためのシステムにおいて、
スケジュールされたタスクの実行を求める要求を提示するように構成されているクライアントであって、前記タスクは、さまざまなネットワークにわたって配置されるクライアントと、
サービスと、
前記クライアントから要求を受け取り、前記サービスに要求を提示するように配置されているインターフェースと、
前記サービスと連携して、提示された要求を保存および検索するように配置されたスケジューラデータベースと、
要求がないか前記サービスに問合せを行い、
要求を実行し、
要求の状況をレポートするように配置されている、ドメイン内に配置されたスケジューラと
を含むことを特徴とするシステム。
【請求項２】
前記タスクは、ソフトウェアの監査、ソフトウェアの展開、ソフトウェアのパッチ／更新、アカウント承認の設定、およびハードウェアの監査を含むグループの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記スケジューラは、前記要求をターゲット上で実行し、前記ターゲットは、コンピューティングデバイス、クライアント、サーバ、ルータ、スイッチ、およびネットワークノードを含むグループの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項４】
前記インターフェースは、前記クライアント上にローカルに格納されるクライアントサイドのユーザインターフェースアプリケーション、前記サービスによってホストされるサーバサイドのユーザインターフェース、および要求された場合にユーザインターフェースを前記クライアントにダウンロードするウェブインターフェースを含むグループの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項５】
要求の前記実行は、前記タスクの出力からデータを収集することを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記スケジューラは、
要求のレポート状況を処理し、
前記処理されたレポート状況を、データベース内に保存するために前記サービスに提供するようにさらに配置されることを特徴とする請求項１に記載のシステム。
【請求項７】
別のドメイン内に配置された別のスケジューラをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項８】
前記クライアントは、前記タスクの少なくとも１つと同じドメイン内に配置されることを特徴とする請求項１に記載のシステム。
【請求項９】
前記クライアントは、前記タスクの少なくとも１つとは異なるドメイン内に配置されることを特徴とする請求項１に記載のシステム。
【請求項１０】
アプリケーションの実行をスケジュールするための方法において、
スケジュールされたタスクの実行を求める要求を提示することであって、前記タスクは、さまざまなネットワークにわたって配置されることと、
サービス内の前記要求を処理することと、
前記要求をスケジューラデータベース内に保存することと、
スケジュールされたときにスケジューラ上で前記要求を実行することと、
前記実行された要求に関連するデータを収集することと、
前記収集されたデータを処理することと、
前記要求の状況を構成管理データベースにレポートすることと
を含むことを特徴とする方法。
【請求項１１】
前記要求を処理することは、前記要求を前記スケジューラデータベース上に保存できるように前記要求を解析することを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記要求をスケジューラに送信することをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記要求を実行することは、イベントが発生した場合に前記要求を実行することをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記実行された要求に関連するデータを収集することは、前記実行された要求の出力を収集することを含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記収集されたデータを処理することは、前記収集されたデータを前記構成管理データベース内に保存できるように前記収集されたデータを解析することをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
前記要求がないか前記サービスに問合せを行うことをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１７】
前記収集されたデータを前記構成管理データベース上に保存することをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１８】
アプリケーションの実行をスケジュールするためのシステムにおいて、
スケジュールされたタスクの実行を求める要求を提示するための手段であって、前記タスクは、さまざまなネットワークにわたって配置される手段と、
サービス内の前記要求を解析するための手段と、
前記要求をスケジューラデータベース内に保存するための手段と、
スケジュールされたときにスケジューラ上で前記要求を実行するための手段と、
前記実行された要求の出力に関連するデータを収集するための手段と、
前記収集されたデータを解析するための手段と、
前記要求を構成管理データベースにレポートするための手段と
を含むことを特徴とするシステム。
【請求項１９】
前記要求がないか前記サービスに問合せを行うための手段をさらに含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記収集されたデータを構成管理データベース上に保存するための手段をさらに含むことを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを監査するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータネットワークは、さまざまなドメインにわたってリンクされたさまざまな異なるコンピューティングデバイスを含むことができる。ネットワークが変化すると、ネットワークやネットワーク上の特定のコンピューティングデバイスに関する特定の情報を得ることが困難になる場合がある。たとえば管理者は、ネットワークを構成するコンピューティングデバイス上にインストールされているソフトウェア、インストールされているソフトウェアのバージョン、あるいはネットワーク上のデバイスの構成を把握したい場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のシステムでは、ネットワークデバイス情報は、単一のドメインに関する特定のデータを収集するネットワーク監査アプリケーションを使用することによって得ることができる。ネットワーク上のデバイスを監査するための従来の方法は、データが収集されるのは１つのドメインに関してのみであり、それぞれのネットワーク監査アプリケーションは、収集される特定の情報用に設計されているため、効率が悪い。
【課題を解決するための手段】
【０００４】
タスクプログラムを実行し、そのタスクプログラムの結果を評価することによって、ネットワークを監査する。タスクプログラムとは、特定のネットワークデバイスに関する情報を検索するように構成されているツールである。サービスは、複数のドメインなどのさまざまなネットワークにわたってそれぞれのタスクプログラムのスケジューリング、実行、ならびにデータの収集および集約を調整するように配置される。それぞれのタスクプログラムは、スケジュールされた時間に実行され、結果はパーサに提供される。結果は、さまざまなフォーマットとすることができ、これによってタスクプログラムの選択に柔軟性を与えることができる。パーサは結果をフォーマットし、フォーマットされたデータをサービスに提供する。サービスは、収集されたデータをデータベース内に保存する。クライアントは、サービスと通信することによって、監査の結果をスケジュールに入れるか、および／または検討することができる。収集されたデータは、許容可能なデバイス構成を定義するルールに基づいたテンプレートに従って比較し、フィルタにかけることができる。このテンプレートに基づいてレポートを作成することができ、これによってクライアントは、ネットワーク全体にわたって実行されるタスクプログラムからの結果を評価することができる。
【０００５】
１つの態様によれば、システムは、クライアントによって提示される要求に応答してタスクの実行をスケジュールするように配置される。タスクは、さまざまなネットワークにわたって実行されるようにスケジュールすることができる。インターフェースは、クライアントによって提供される要求を受け取り、その要求をサービスに提示するように構成される。サービスは、スケジューラデータベースと連携して、提示されたそれぞれの要求を保存および検索するように配置される。スケジューラは、要求がないかサービスに問合せを行い、その要求の実行時間をスケジュールし、その要求を実行し、その要求の状況をレポートするように構成される。
【発明を実施するための最良の形態】
【０００６】
簡単に説明すると、タスクプログラムを実行し、そのタスクプログラムの結果を評価することによって、ネットワークを監査する。タスクプログラムとは、特定のネットワークデバイスに関する情報を検索するように構成されているツールである。サービスは、複数のドメインなどのさまざまなネットワークにわたってそれぞれのタスクプログラムのスケジューリング、実行、ならびにデータの収集および集約を調整するように配置される。それぞれのタスクプログラムは、スケジュールされた時間に実行され、結果はパーサに提供される。結果は、さまざまなフォーマットとすることができ、これによってタスクプログラムの選択に柔軟性を与えることができる。パーサは結果をフォーマットし、フォーマットされたデータをサービスに提供する。サービスは、収集されたデータをデータベース内に保存する。クライアントは、サービスと通信することによって、監査の結果をスケジュールに入れるか、および／または検討することができる。収集されたデータは、許容可能なサーバ構成を定義するルールに基づいたテンプレートに従って比較し、フィルタにかけることができる。このテンプレートに基づいてレポートを作成することができ、これによってクライアントは、ネットワーク全体にわたって実行されるタスクプログラムからの結果を評価することができる。
【０００７】
（例示的な動作環境）
図１を参照して、本発明を実施するためのシステムの一例は、コンピューティングデバイス１００などのコンピューティングデバイスを含む。コンピューティングデバイス１００は、ネットワークに基づくコラボレーションシステムにおいてデータと対話するクライアント、サーバ、モバイルデバイス、または他の任意のコンピューティングデバイスとして構成することができる。非常に基本的な構成では、コンピューティングデバイス１００は通常、少なくとも１つの処理ユニット１０２およびシステムメモリ１０４を含む。コンピューティングデバイスの厳密な構成およびタイプに応じて、システムメモリ１０４は、（ＲＡＭなどの）揮発性、（ＲＯＭ、フラッシュメモリなどの）不揮発性、あるいはその両方の何らかの組合せとすることができる。システムメモリ１０４は通常、オペレーティングシステム１０５、１つまたは複数のアプリケーション１０６を含み、プログラムデータ１０７を含むことができる。本発明は、以降で詳しく説明するが、システムメモリ１０４内に実装される。
【０００８】
コンピューティングデバイス１００は、追加の機能または機能性を有することができる。たとえばコンピューティングデバイス１００は、たとえば磁気ディスク、光ディスク、テープなどの（取り外し式なおよび／または固定式の）追加のデータストレージデバイスを含むこともできる。このような追加のストレージは、取り外し式ストレージ１０９および固定式ストレージ１１０として図１に示されている。コンピュータストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなどの情報を記憶するための任意の方法または技術において実装される揮発性メディアおよび不揮発性メディア、ならびに取り外し式メディアおよび固定式メディアを含むことができる。システムメモリ１０４、取り外し式ストレージ１０９、および固定式ストレージ１１０は、すべてコンピュータストレージメディアの例である。コンピュータストレージメディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは希望の情報を記憶するために使用可能で、コンピューティングデバイス１００によってアクセス可能な他の任意のメディアを含むが、これらには限定されない。このような任意のコンピュータストレージメディアは、デバイス１００の一部とすることができる。またコンピューティングデバイス１００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの（１つまたは複数の）入力デバイス１１２を有することもできる。ディスプレイ、スピーカ、プリンタなどの（１つまたは複数の）出力デバイス１１４を含むこともできる。
【０００９】
またコンピューティングデバイス１００は通信接続１１６も含み、これによってネットワークを介するなどして、他のコンピューティングデバイス１１８と通信することができる。ネットワークは、ローカルエリアネットワークおよびワイドエリアネットワーク、ならびにイントラネットおよびエクストラネットなどの他の大規模ネットワークを含む。通信接続１１６は、通信メディアの一例である。通信メディアは通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波や他の伝送メカニズムなどの変調されたデータ信号内の他のデータによって具体化することができ、任意の情報伝達メディアを含む。「変調されたデータ信号」という用語は、情報をその信号内で符号化するような方法で設定または変更されたその特性の１つまたは複数を有する信号を意味する。たとえば通信メディアは、有線ネットワークや直接有線接続などの有線メディアと、音波メディア、ＲＦメディア、赤外線メディア、他の無線メディアなどの無線メディアとを含むが、これらには限定されない。本明細書で使用するコンピュータ可読メディアという用語は、ストレージメディアと通信メディアの両方を含む。
【００１０】
（アプリケーション実行のスケジューリング）
図２は、ネットワークの状況を監査するためのシステムを示す機能ブロック図である。このシステムは、第１のドメイン（すなわちドメイン１）におけるクライアント２００およびスケジューラ２１０、第２のドメイン（すなわちドメイン２）におけるクライアント２２０およびスケジューラ２３０、サービス２４０（たとえばウェブサービス）、ならびにデータベース２６０を含む。ドメイン１およびドメイン２は、それぞれスケジューラおよびクライアントを含み、これによって、アプリケーションの実行に関連付けられたデータをそれぞれのドメインから収集することができる。
【００１１】
クライアント（たとえばクライアント２００および２２０）は、サービス２４０を介してスケジュールされた時間にアプリケーションを実行するよう要求することができる。一実施形態では、このアプリケーションはタスクプログラムである。タスクプログラムは、ソフトウェアの監査、ソフトウェアの展開、ソフトウェアのパッチ／更新、アカウント承認の設定、ハードウェアの監査などに関連することができる。要求されたデータは、タスクプログラムの実行中に収集される。この要求は、サービス２４０に伝達される。
【００１２】
それぞれのクライアントは、ネットワーク内でアプリケーションプログラムが常駐する場所に対応する部分（たとえば同じドメイン）に配置されるクライアントデバイス、ネットワーク内でアプリケーションプログラムが常駐する場所とは異なる別の部分（たとえば異なるドメイン）に配置されるクライアントデバイス、あるいはネットワーク外に配置され、サービス２４０と通信するように配置される他の何らかのクライアントデバイスに相当することができる。たとえばサービス２４０は、インターネットなどのコンピューティングネットワーク全体にわたるアクセスをクライアント２００に提供するウェブサービスとすることができる。
【００１３】
サービス２４０は、データベース２６０と通信する。サービス２４０は、データベース２６０にアクセスする要求をスケジューラ２１０（または２３０）から受信し、未処理のジョブ要求がクライアント２００および２２０によって提示されているかどうかを判定する。クライアントの要求が両方のドメインにおけるタスクを含んでいる場合、データベース２６０内で２つのジョブが作成される。サービス２４０は、スケジューラ２１０（または２３０）と同じドメインに属するジョブを返す。
【００１４】
スケジューラ２１０は、要求がないかサービス２４０に問合せを行う。要求がスケジューラ２１０によって検索されると、対応するアプリケーションプログラムは、指定された時間に実行されるようにスケジュールされる。スケジューラ２１０は、指定された時間になると、対応するタスクプログラムの実行を開始する。一実施形態では、ユーザは、指定された実行時間の前に要求をキャンセルすることができる。一例では、スケジューラ２１０は、スケジュールされたタスクプログラムの実行によって、ネットワークの特定の部分（たとえばドメイン１）内に配置されている複数の（ｍ個の）デバイス（２１５）を監査するようにスケジュールされる。スケジューラ２１０は、対応するタスクプログラムの実行が完了すると、パーサ（図示せず）をトリガして、アプリケーションプログラムの出力からデータを収集するように配置される。次いでパーサは、その出力をサービス２４０との通信用に処理する。
【００１５】
スケジューラ２３０も、要求がないかサービス２４０に問合せを行う。要求がスケジューラ２３０によって受信されると、対応するアプリケーションプログラムは、指定された時間に実行されるようにスケジュールされる。スケジューラ２３０は、指定された時間になると、対応するタスクプログラムの実行を開始する。一例では、スケジューラ２３０は、スケジュールされたタスクプログラムの実行によって、ネットワークの別の特定の部分（たとえばドメイン２）内に配置されている複数の（ｎ個の）デバイス（２３５）を監査するようにスケジュールされる。スケジューラ２３０は、対応するタスクプログラムの実行が完了すると、パーサをトリガして、アプリケーションプログラムの出力からデータを収集するように配置される。次いでパーサは、その出力をサービス２４０との通信用に処理する。
【００１６】
サービス２４０は、スケジューラのそれぞれ（たとえば２１０および２３０）から収集されたデータを受信するように配置される。一例では、スケジューラ２１０（または２３０）は、結果をサービス２４０に送信するように構成される。別の例では、サービス２４０は、結果を含むメッセージをスケジューラから受信して処理するように構成される。サービス２４０は、さまざまなスケジューラからデータを受信して処理した後、その結果をデータベース２６０内に保存する。
【００１７】
ネットワーク内のそれぞれのデバイスは、特定のスケジューラからサービスを受けることができる。たとえばデバイス１１は、スケジューラ２１０からサービスを受ける。デバイスは、サーバ、ルータ、スイッチ、クライアント、あるいはネットワーク上に存在する他の任意のハードウェアを含むことができる。一例では、デバイス（たとえばデバイス２１５）は、ネットワーク内のコンテンツサーバなどのサーバファームの一部である。
【００１８】
図３は、ネットワークの状況を監査するためのシステムを示す機能ブロック図である。クライアント２００は、ユーザインターフェースアプリケーション２０２を含む。スケジューラ２１０は、タスクプログラム２１４を含む。出力パーサ２１２は、サービス２４０およびスケジューラ２１０と通信する。スケジューラ２１０は、デバイス２９０と通信する。デバイス２９０はターゲット２９２を含み、このターゲット２９２は、スケジューラ２１０上のそれぞれのタスクプログラム２１４に関連するデータを収集するためにタスクプログラム２１４と通信状態にある。ターゲット２９２は、単一または一群のデバイス、クライアント、サーバ、ルータ、スイッチ、あるいはネットワークノードに相当することができる。
【００１９】
サービス２４０は、構成管理データベース（ＣＭＤＢ）ウェブサービス２５０、スケジューラウェブサービス２６０、ホストテンプレートユーザインターフェース２５８、およびスケジューラパーサ２６４を含む。ＣＭＤＢウェブサービスは、ＣＭＤＢパーサ２５４およびデータ収集／ポーリングモジュール２５６を含む。スケジューラウェブサービス２６０は、スケジューラサービス２６２およびクライアントサービス２６８を含む。データベース２７０は、構成管理データベース２８０およびスケジューラデータベース２８５を含む。構成管理データベース２８０は、テンプレート２８２を含む。
【００２０】
クライアント２００は、ユーザインターフェースを介してタスクプログラム２１４用のデータ収集をスケジュールすることができる。一実施形態では、ユーザインターフェースは、クライアントサイドのユーザインターフェースアプリケーション２０２であり、これは実行用にクライアント２００上にローカルに格納される。別の実施形態では、ユーザインターフェースは、サーバサイドのユーザインターフェースであり、これはスケジューラウェブサービス２６０によってホストされる。この例の場合、ユーザインターフェースアプリケーション２０２は、ウェブブラウザタイプのアプリケーションであり、これはネットワーク接続を介してクライアントサービス２６８と連携する。さらに別の実施形態では、ユーザインターフェースはウェブインターフェースとすることができ、これは、クライアント２００がユーザインターフェースを要求した場合に、ユーザインターフェースをクライアント２００にダウンロードする。
【００２１】
タスクプログラムの実行スケジュールに関する情報は、スケジューラサービス２６２を介してクライアント２００からデータベース２８５に送信される。スケジューラ２１０は、スケジューラサービス２６２を介してスケジューラデータベース２８５に問合せを行う。一実施形態では、タスクプログラムは特定のドメイン内のデータ収集用にスケジュールされ、これによって、指定されたドメイン内のスケジューラのみがタスクプログラムのスケジュール情報を受信する。別の実施形態では、複数のドメイン内のタスクプログラムがデータ収集用にスケジュールされる。それぞれのスケジューラ２１０は、スケジューラデータベース２８５内のエントリーに従ってスケジュールされた時間にプログラムの実行を開始するように配置される。
【００２２】
スケジューラウェブサービス２６０は、クライアントのスケジューリング要求を受信するように配置される。スケジューラデータベース２８５内のスケジュールされたそれぞれのイベントは、タスクプログラムの前の実行または現在の実行中にターゲット２９２から収集／処理されたデータを含む構成管理データベース内に１つまたは複数の対応するエントリーを有することができる。
【００２３】
スケジューラウェブサービス２６０は、クライアントおよび／またはスケジューラ２１０からスケジューリング要求を受信して応答するように配置される。一例では、クライアントは、解析されてスケジューラデータベース２８５に追加される新しいタスクの実行のエントリーを要求する。別の例では、クライアントは、スケジューラデータベース２８５内の１つまたは複数の前のエントリーと矛盾する別の新しいタスクの実行をエントリーするよう要求し、スケジューラウェブサービス２６０は、クライアント２００にエラーメッセージを返す。さらに別の例では、クライアント２００は、スケジューラデータベース２８５内の１つまたは複数の前のエントリーを無効にするさらに別の新しいタスクの実行をエントリーするよう要求する。また別の例では、クライアントは、スケジューラデータベース２８５内の１つまたは複数の前のエントリーと矛盾するまたさらに別の新しいタスクの実行をエントリーするよう要求し、スケジューラウェブサービス２６０は、そのエントリーを編集するためのユーザインターフェースを提供する。
【００２４】
一例では、タスクプログラム２１４は、関連付けられたファイル名によってスケジューラ２１０を介してデータベース２８５上に保存される要求されたデータ用の出力フォルダの位置を指定することができる。次いで出力ファイルは、出力パーサ２１２によって処理され、サービス２４０用に適切にフォーマットされたデータを提供する。
【００２５】
出力パーサ２１２は、要求されたデータがサービス２４０によって受信されると、スケジューラ２１０によってトリガされる。出力パーサ２１２は、要求されたデータを、ＣＭＤＢウェブサービス２５０がデータベース２７０へ容易に伝達できるフォーマットに変換することによって、そのデータを処理する。一実施形態では、出力パーサ２１２は、データを拡張マークアップ言語（ＸＭＬ）などの区切られたテキストフォーマットに変換する。さまざまなタスクプログラムから収集されたデータは、構成管理データベース２８０によって理解される一定のフォーマットに変換される。一実施形態では、出力パーサ２１２は、クライアント２００からの入力に基づいて１つのデータフォーマットを別のフォーマットに変換する。
【００２６】
ＣＭＤＢウェブサービス２５０は、解析されたデータを出力パーサ２１２から受信し、その解析されたデータを構成管理データベース２８０内に保存する。一実施形態では、このデータは、データのタイプに対応するテーブル内に保存される。データのタイプの例は、メタベースエントリ、共有許可、修正パッチ情報、レジストリエントリ、および許可されたユーザを含む。構成管理データベース２８０は、タスクプログラム２１４によって収集されたデータ用の中央データベースである。一実施形態では、特定のタスクプログラムの実行中に収集されたデータは、別に保管される。ＣＭＤＢウェブサービス２５０によって、監査ツールは構成管理データベース２６２と通信し、保存されているデータにアクセスすることができる。  
【００２７】
特定のタスクプログラムの実行に関連し、構成管理データベース２８０内に保存されているデータは、ジョブランと呼ばれる場合がある。クライアント２００は、ＣＭＤＢウェブサービス２５０を介して構成管理データベース２８０内のジョブランにアクセスすることができる。
【００２８】
テンプレート２８２は、タスクプログラムの実行中に収集されたデータを分析するために使用される。テンプレート２８２は、収集されたデータをフィルタにかけて提示するためのルールおよびガイドラインを提供するように構成される。一例では、このルールは、タスクプログラムを実行した結果として生じる許容可能な反応（たとえばパッチインストールの成功または失敗、セキュリティテストのセキュリティ評価など）のための単純な基準を提供する。クライアント２００は、テンプレート用のルールを確立し、そのテンプレートをＣＭＤＢウェブサービス２５０に提示する。ＣＭＤＢパーサ２５４は、それぞれのテンプレートを処理し、そのテンプレートを構成管理データベース２８０内に保存するようにも配置される。
【００２９】
クライアント２００は、ブール演算子（たとえばＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲなど）を使用してテンプレート用のルールを定義するためにサービス２４０と連携するように配置することができる。複数のブール関係を組み合わせて、ルールを定義することができる。ジョブラン中に収集されるデータは、対応するテンプレート内のそれぞれのルールによって評価される。収集されたデータに関連する項目が、テンプレート内にまとめられているルールに照らして成功したか失敗したかが判定される。
【００３０】
クライアント２００からのカスタマイズされた入力に基づいて、ジョブランから収集されたデータを検索するよう、構成管理データベース２８０に問合せを行うことができる。このデータは、データ収集／ポーリングモジュール２５６から検索することができる。収集されたデータに対応するテンプレートは、構成管理データベース２８０から検索することもできる。一例では、テンプレートは、タスクプログラム２１４から受信したデータを評価するためにＣＭＤＢウェブサービス２５０上に保存される。別の例では、テンプレートは構成管理データベース２８０の一部として定義され、これによってルールは、サービス２４０を介したクライアント２００からの問合せに応答して、収集されたデータに適用される。
【００３１】
クライアント２００は、ユーザインターフェースを介してテンプレートを提示／編集することができる。一実施形態では、ユーザインターフェースは、クライアントサイドのユーザインターフェースアプリケーション２０２であり、これは実行用にクライアント２００上にローカルに格納される。別の実施形態では、ユーザインターフェースは、ホストテンプレートユーザインターフェース２５８などのサーバサイドのユーザインターフェースである。この例の場合、ユーザインターフェースアプリケーション２０２は、ウェブブラウザタイプのアプリケーションであり、これはネットワーク接続を介してホストテンプレートユーザインターフェース２５８と連携する。さらに別の実施形態では、ユーザインターフェースはウェブインターフェースとすることができ、これは、クライアント２００によって要求された場合に、テンプレートの編集および／または提示用のユーザインターフェースをクライアント２００にダウンロードする。同様にクライアント２００は、クライアント２００上にローカルに常駐するか、ＣＭＤＢウェブサービス２５０によってホストされるか、あるいはＣＭＤＢウェブサービス２５０からダウンロードされるユーザインターフェースを介してレポートを検討することができる。
【００３２】
収集されたデータは、タスクプログラムの結果を評価するために、対応するテンプレートと比較される。比較に応答して、クライアント２００は、ＣＭＤＢウェブサービス２５０を介して、予想された結果に照らしてデータの実行が成功したか失敗したかを通知される。一実施形態では、収集されたデータは、選択されたテンプレートに基づいてテーブル内でグループにまとめられる。所与のテンプレートに関してすべてのルールが成功した場合、ターゲット２９２は、実行されたタスクプログラムに関して正しく機能している。すべてのルールが成功したわけではない場合、テーブルは、テンプレート内のどの特定のルールおよび比較が失敗したか、あるいは成功したかに関する詳細な情報を含む。
【００３３】
クライアント２００は、テンプレートの評価に関連する詳細な情報を識別するカスタマイズされたレポートを要求することができる。たとえば収集されたデータは、テンプレートに関連するルールセットに従ってフィルタにかけ、フォーマットすることができる。レポートは、特定のジョブランおよび対応するデータを検討することによって選択される。クライアント２００は、構成管理データベース２８０からテンプレートを選択して、対応するレポートを作成する。所与の任意のジョブランに関しては、構成管理データベース２８０内で複数の異なるテンプレートが利用可能な場合があり、これによって、それぞれのデータ収集のさまざまな側面を希望に応じて見ることができる。
【００３４】
レポートの要求は、クライアント２００からＣＭＤＢウェブサービス２５０に送信される。ＣＭＤＢウェブサービス２５０は、評価のために構成管理データベース２８０にテンプレートを提示する。構成管理データベース２８０はルールを実行して、テンプレートを評価する。
【００３５】
ＣＭＤＢウェブサービス２５０は、クライアントからレポートの要求およびテンプレートの提示を受信して応答するように配置される。一例では、クライアントは、解析されて構成管理データベース２８０に追加される新しいテンプレートをエントリーするよう要求する。別の例では、クライアントは、編集のために構成管理データベース２８０からテンプレートを検索するよう要求する。さらに別の例では、クライアントは、構成管理データベース２８０内の前に定義されたテンプレートを使用して、ジョブランにレポートを要求する。
【００３６】
所与のテンプレートを複数回評価することができ、これによって、タスクプログラムからの結果に対する変更を経時的に評価することができる。たとえばテンプレートは、修正パッチがないかチェックするように配置することができる。ジョブが実行され、結果が監査される。見ることができる結果が、ターゲットのサーバを監査した実際の監査結果である。テンプレートは、一群のサーバ上に修正パッチが含まれているかどうかを判定する。パッチの展開は、修正パッチを有していないと前に評価されたサーバ上に修正パッチをインストールするようにスケジュールすることができる。１週間後に、前の監査以降の何らかの変更を確認するために、同一のテンプレートを使用して別の監査を実行することができる。複数の結果テンプレートを使用して、監査結果データの同一のセットの異なる側面についてレポートすることができる。
【００３７】
図４は、アプリケーションの実行をスケジュールするためのプロセスを示す論理流れ図である。このプロセスはブロック４００において開始し、クライアントは、ユーザインターフェースを介して、タスクプログラムを実行するためのスケジュールを要求する。
【００３８】
引き続きブロック４０５へ進むと、スケジューラウェブサービスは、タスクプログラムの実行を求める要求を処理する。この要求は解析され、これによって、解析されたデータは、スケジューラデータベース内に保存することができる。ブロック４１０に移ると、解析されたスケジュール要求は、スケジューラデータベース内に保存される。ブロック４１５へ進むと、スケジューラは、スケジューラウェブサービスを介してスケジューラデータベースに問合せを行うことによって、スケジュール要求を検索する。
【００３９】
ブロック４２０へ進むと、スケジュールに従ってタスクが開始される。スケジュールは、イベントによってトリガすることができる。たとえばイベントは、指定された日時にトリガすることができる。あるいはイベントは、指定されたユーザがネットワークにログオンした場合など、１つのアクションが完了した場合にトリガすることができる。引き続きブロック４２５へ進むと、実行されたタスクプログラムの出力からデータが収集される。
【００４０】
ブロック４３０に移ると、タスクプログラムから収集されたデータが解析される。出力パーサは、収集されたデータを処理し、そのデータを、ＣＭＤＢウェブサービスによって構成管理データベースへ容易に伝達できるフォーマットに変換する。ブロック４３５へ進むと、解析されたデータはＣＭＤＢウェブサービスに送信される。引き続きブロック４４０へ進むと、このデータは、タスクプログラムが首尾よく実行されたかどうかを判定するために、構成管理データベース内に保存される。そしてこのプロセスは、終了ブロックにおいて終了する。
【００４１】
図５は、アプリケーションの実行をスケジュールするためのプロセスを示す論理流れ図である。このプロセスはブロック５００において開始し、スケジューラは、タスクプログラムの実行をスケジュールする要求がないかスケジューラデータベースに問合せを行う。スケジューラはスケジューラサービスに連絡して、ユーザによってジョブが提示されているかどうかを判定する。ジョブが提示されている場合、そのジョブは取り出され、分析され、作業キューに転送される。
【００４２】
引き続きブロック５０５へ進むと、ユーザは、ユーザインターフェースからステップ、ジョブ、あるいはスケジュールされたジョブを作成する。ジョブを作成する場合、ユーザは既存のジョブを検索し、検索されたジョブをスケジュールされた時間に再び実行することができる。ユーザは、既存のジョブがユーザの要求に対応していない場合、新しいジョブを作成することができる。新しいジョブは、既存のステップを選択することによって作成することができる。要求されたステップが存在しない場合、ユーザの要求を満たすためにそのジョブ用に新しいステップを作成することができる。
【００４３】
ブロック５１０に移ると、ユーザインターフェースは、スケジューラウェブサービスを介してスケジューラデータベースにジョブを提示する。ジョブは、スケジューラが認識できるフォーマットに変換される。たとえばユーザは、ジョブの同一ステップ中にさまざまなドメインをスキャンすることができる。したがってステップは、それぞれのドメイン内のスケジューラに対応する複数のジョブに分割される。
【００４４】
ブロック５１５へ進むと、スケジューラは、問合せ機能を用いてスケジューラサービスを介してスケジューラデータベースからジョブを検索する。所与のドメイン内のスケジューラは、そのドメインに属するスケジュールされたジョブを検索する。スケジューラは、メンテナンス機能によって提供された情報に基づいて、検索されたデータをラップ(wrap)する。次いでラップされたデータは、作業キューに転送される。問合せ機能は、（たとえばネットワークの問題で）正しく動作していない場合、保留状態に置かれる。メンテナンス機能によって動作上の問題が解消すると、問合せ機能は再開し、データの検索を続ける。
【００４５】
ブロック５２０へ進むと、ジョブがスケジュールされる。実施機能は、ラップされたデータを作業キューから検索し、ユーザの要求に基づいてタイマを設定する。ユーザは、ユーザインターフェースを使用して、スケジュールされたジョブを特定する。一実施形態では、ユーザは、スケジュールされた時間の前にジョブをキャンセルすることができる。問合せ機能は、キャンセルコマンドを作業キューに転送する。実施機能は、キャンセルコマンドが検出されると、そのジョブ用に設定された時間をキャンセルする。
【００４６】
引き続きブロック５２５へ進むと、スケジューラは、スケジュールされた時間にジョブを開始する。実施機能は、ジョブを開き、ジョブを含むステップにアクセスすることによって、ジョブランをトリガする。これらのステップは、パーサステップおよびタスクプログラムステップを含むことができる。たとえばジョブは、複数のタスクプログラムを含むことができる。スケジューラはステップを再編成し、これによって、それぞれのタスクプログラムの出力は、タスクプログラムの実行が完了した後に解析される。
【００４７】
ブロック５３０に移ると、タスクプログラムがトリガされる。スケジューラは、それぞれのステップごとにタスクプログラムを実行するために、複数のプロセスを作成することができる。
【００４８】
ブロック５３５へ進むと、出力パーサがトリガされる。スケジューラは、複数のプロセスをトリガして、それぞれのパーサステップごとにパーサを実行する。パーサは、タスクプログラムの出力データを処理し、パーサウェブサービスを介してその結果を提示する。
【００４９】
引き続きブロック５４０へ進むと、スケジューラはジョブを完了する。ジョブの状況が更新される。一実施形態では、スケジューラは、ジョブが繰り返し発生する性格のものである場合、新しいジョブをスケジュールする。スケジューラは、新しい要求がないか問合せを続ける。そしてプロセスは、終了ブロックにおいて終了する。
【００５０】
図６は、テンプレートルールに関してタスクプログラムが成功するか失敗するかを判定するためのプロセスを示す論理流れ図である。プロセスはブロック６００において開始し、クライアントは、収集されたデータをフィルタにかけて提示するためのテンプレートルールを確立する。一例では、このルールは、タスクプログラムを実行した結果として生じる許容可能な反応のモデルを提供する。一実施形態では、テンプレートは、複数のタスクプログラムの実行中に収集されたデータに適用することができる。ブロック６１０へ進むと、テンプレートがＣＭＤＢウェブサービスに提示される。ブロック６２０に移ると、ＣＭＤＢウェブサービスはテンプレートを処理する。
【００５１】
引き続きブロック６３０へ進むと、テンプレートは構成管理データベース内に保存される。ブロック６４０へ進むと、テンプレートが評価される。テンプレートは、タスクプログラムの実行中に収集されたデータと比較され、予想された結果に照らしてデータの実行が成功したか失敗したかを判定するために、構成管理データベース内に保存される。一実施形態では、テンプレートの評価は、レポートが、さまざまなジョブに対してさまざまな結果のテンプレートを実行する際の柔軟性を認めるようクライアントが要求する場合、「オンザフライ」で実行される。別の実施形態では、テンプレートの評価はバッチ処理として実行され、その結果はデータベース（たとえば構成管理データベース）内に保存される。別の実施形態では、テンプレートの評価は、第１の要求について「オンザフライ」(on-the-fly)で実行され、データベース内に保存される。これによって、次の要求は再処理が不要となる。ブロック６５０へ進むと、クライアントは、ＣＭＤＢウェブサービスを介してテンプレート評価の結果に関して通知される。一実施形態では、テーブルがＣＭＤＢウェブサービスを介して出力され、テンプレートのルールが成功したか失敗したかをクライアントに知らせるためにユーザインターフェース上に表示される。次いでクライアントは、テンプレート評価の結果に基づいて、ネットワークにとって必要な任意の変更を決定することができる。処理は、終了ブロックにおいて終了する。
【００５２】
図７は、タスクプログラムの実行中に収集されたデータをレポートするためのプロセスを示す論理流れ図である。処理は、開始ブロック７００において開始し、クライアントは、テンプレート評価に関連するデータのレポートを要求する。クライアントは、特定のジョブランおよび対応するデータを検討することによって、レポートを選択する。
【００５３】
ブロック７１０へ進むと、クライアントは構成管理データベースからテンプレートを選択して、対応するレポートを作成する。引き続きブロック７２０へ進むと、構成管理データベースにおいてテンプレートが評価される。一実施形態では、構成管理データベースはルールを実行して、テンプレートを評価する。ブロック７３０へ進むと、レポートがクライアントに送信される。そして処理は、終了ブロックにおいて終了する。
【００５４】
前述の内容は本発明の好ましい実施形態にのみ関連し、本発明の趣旨および範囲から逸脱することなく、本明細書に記載の実施形態に多くの変更を実施できることを理解すべきである。
【００５５】
前述の仕様、例、およびデータは、本発明の構成の製造および使用に関する完全な説明を提供する。本発明の多くの実施形態は、本発明の趣旨および範囲から逸脱することなく作成することができるため、本発明は添付の特許請求の範囲に属するものである。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態の例に従って使用できるコンピューティングデバイスを示す図である。
【図２】本発明による、ネットワークの状況を監査するためのシステムを示す機能ブロック図である。
【図３】本発明による、ネットワークの状況を監査するためのシステムを示す機能ブロック図である。
【図４】本発明による、アプリケーションの実行をスケジュールするためのプロセスを示す論理流れ図である。
【図５】本発明による、アプリケーションの実行をスケジュールするためのプロセスを示す論理流れ図である。
【図６】本発明による、テンプレートルールに関してタスクプログラムが成功するか失敗するかを判定するためのプロセスを示す論理流れ図である。
【図７】本発明による、収集されたデータをレポートするためのプロセスを示す論理流れ図である。
【符号の説明】
【００５７】
１００  コンピューティングデバイス
１０２  処理ユニット
１０４  システムメモリ
１０５  オペレーティングシステム
１０６  アプリケーション（群）
１０７  プログラムデータ
１０９  取り外し式ストレージ
１１０  固定式ストレージ
１１２  入力デバイス（群）
１１４  出力デバイス（群）
１１６  通信接続（群）
１１８  他のコンピューティングデバイス
２００  クライアント
２１０  スケジューラ
２１５  デバイス１１、デバイス１２、デバイス１ｍ
２２０  クライアント
２３０  スケジューラ
２３５  デバイス２１、デバイス２２、デバイス２ｎ
２４０  サービス
２６０  データベース
２０２  ユーザインターフェースアプリケーション
２１２  出力パーサ
２１４  タスクプログラム
２５０  ＣＭＤＢウェブサービス
２５４  ＣＭＤＢパーサ
２５６  データ収集／ポーリング
２５８  ホストテンプレートユーザインターフェース
２６０  スケジューラウェブサービス
２６２  スケジューラサービス
２６４  スケジューラパーサ
２６８  クライアントサービス
２７０  データベース
２８０  構成管理データベース
２８２  テンプレート
２８５  スケジューラデータベース
２９０  デバイス
２９２  ターゲット
【図１】
2006012152.tif 000003
【図２】
2006012152.tif 000004
【図３】
2006012152.tif 000005
【図４】
2006012152.tif 000006
【図５】
2006012152.tif 000007
【図６】
2006012152.tif 000008
【図７】
2006012152.tif 000009
【外国語明細書】
2006012152000001.pdf