(57)【要約】      （修正有）【課題】アソシエーションルールマイニングを使用してコンピュータ環境内の計算エンティティ向けコンフィギュレーションルールを生成するための方法及び装置を提供する。【解決手段】複数のコンピュータ１０２、１１６に関するコンフィギュレーションデータ１１８、１２０、１２２を受け取り、コンフィギュレーションデータを解析してコンフィギュレーションデータ中のアソシエーションを求め、解析結果からコンフィギュレーションルールを生成する。【選択図】図１
2014112400.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ環境内の計算エンティティ向けに少なくとも１つのコンフィギュレーションルールを自動的に生成する方法であって、
複数の計算エンティティに関するコンフィギュレーションデータを受け取るステップと、
前記コンフィギュレーションデータ中のアソシエーションを求めるために前記コンフィギュレーションデータを解析するステップと、
前記解析の結果からコンフィギュレーションルールを生成するステップと
を含む方法。
【請求項２】
前記受け取るステップが、前記計算エンティティをポーリングするステップと、前記計算エンティティにエージェントを適用するステップの少なくとも１つを通じてコンフィギュレーションデータを収集するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記受け取るステップが、データベース中に前記コンフィギュレーションデータを保存するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記解析するステップが、前記コンフィギュレーションデータを前処理するステップを含む、請求項１に記載の方法。
【請求項５】
コンフィギュレーション表が前記コンフィギュレーションデータを含み、前記前処理ステップが前記コンフィギュレーション表から列を除去する、請求項４に記載の方法。
【請求項６】
前記解析するステップが、前記複数の計算エンティティからの前記コンフィギュレーションデータ間の関係を推測する、請求項１に記載の方法。
【請求項７】
前記解析するステップが、前記コンフィギュレーションデータに対して解析を行なう、請求項１に記載の方法。
【請求項８】
前記コンフィギュレーションルールに対して統計解析を適用するステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記統計解析が前記コンフィギュレーションルールの各々の信頼性を求める、請求項８に記載の方法。
【請求項１０】
前記コンフィギュレーションルールに対して後処理を行なうステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記生成されたコンフィギュレーションルールをコンフィギュレーションデータと比較するステップと、
前記コンフィギュレーションデータ中の前記生成されたコンフィギュレーションルールの違反を識別するステップとをさらに含む、請求項１に記載の方法。
【請求項１２】
コンピュータ環境内の計算エンティティ向けにコンピュータのコンフィギュレーションルールを自動的に生成するための装置であって、
複数の計算エンティティから収集されたコンフィギュレーションデータを解析し、前記解析の結果として少なくとも１つのコンフィギュレーションルールを生成するためのアナライザを備える装置。
【請求項１３】
前記複数の計算エンティティのうちの少なくともいくつかを含むデータセンターをさらに備える、請求項１２に記載の装置。
【請求項１４】
前記複数の計算エンティティ向けコンフィギュレーションデータを収集するためのコンフィギュレーションデータ収集システムをさらに備える、請求項１２に記載の装置。
【請求項１５】
前記コンフィギュレーションデータを前処理するためのプリプロセッサをさらに備える、請求項１２に記載の装置。
【請求項１６】
前記アナライザが、前記複数の計算エンティティからの前記コンフィギュレーションデータ間の関係を推測する、請求項１２に記載の装置。
【請求項１７】
前記アナライザが、前記コンフィギュレーションデータに対してマーケットバスケット解析を行なう、請求項１２に記載の装置。
【請求項１８】
前記コンフィギュレーションルールの少なくとも１つに統計解析を適用して前記ルールを確認するポストプロセッサをさらに備える、請求項１２に記載の装置。
【請求項１９】
前記統計解析が前記コンフィギュレーションルールの各々の信頼性を求める、請求項１８に記載の装置。
【請求項２０】
生成されたコンフィギュレーションルールの少なくとも１つとコンフィギュレーションデータに対する所定のルールを比較して、前記コンフィギュレーションデータ中の、前記生成されたコンフィギュレーションルールの違反を識別するための違反アナライザをさらに備える、請求項１２に記載の装置。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001]本発明は、一般にコンピュータネットワーク管理に関する。より詳細には、本発明は、アソシエーションルールマイニングを使用して、コンピュータ環境内の計算エンティティ向けコンフィギュレーションルールを生成する方法及び装置に関係する。
【関連技術の説明】
【０００２】
[0002]一般に、データセンターは、基幹コンピュータシステム及び関連する要素を収容するために使用されるコンピュータ環境内の施設である。データセンターは、空調、消火、及び同類のもの、冗長／バックアップ電源、冗長なデータ通信接続、及びとりわけ高セキュリティなど、環境制御を含む。例えば、銀行はデータセンターを有することがあり、ここにすべての顧客のアカウント情報が保持され、これらのデータを含むトランザクションが実行される。同様に、別の例では、中規模の会社も大会社も、実際にはすべての会社が何らかのデータセンターを有し、大会社は、たいていの場合データセンターを多数有する。その上、ほとんどの大都市は、遠距離通信サービスの近くの安全な場所に、特定の目的で作られた多くのデータセンター建造物を有する。ほとんどのコロケーションセンター及びインターネットのピアリング点はこのような施設に配置される。
【０００３】
[0003]従来の企業データセンターは、しばしば何百ものアプリケーションを実行する何千ものサーバを収容する。例えば、そのような環境では、すべてのサーバが、それらが上位装置として働くアプリケーションに従って適切に構成されパッチされるなどのように、これらのサーバを管理するのは困難である。
【０００４】
[0004]前述の環境を扱うために、現行の手法には、データセンターからコンフィギュレーションデータを収集するディスカバリツールを利用するものがある。通常、「ベストプラクティス」又はＩＴポリシーから導出されたテンプレート、参照コンフィギュレーション、究極の判断基準、及び同類のものなど１組の所定のルールに対して、収集されたコンフィギュレーションデータを調べる。最終的に、アドミニストレータのアテンション用に、違反又は異常にフラグを立てる。
【０００５】
[0005]サーバ、他のデータ要素（すなわち記憶装置、ネットワーク及び同類のもの）、及びそれらが上位装置として働くアプリケーション中の異常又は違反は、前述のプラクティスを利用することにより検出されるが、このプラクティスは、所定のルール（又はハードコード化されたルールの組）に対して、収集されたコンフィギュレーションデータの検査を容易にするだけである。これは、従来のデータセンターにおけるアプリケーションが、すべてそれらに対応する規定の参照テンプレートを有するとは限らないという事実のためである。あるシナリオでは、いくつかのアプリケーション向けのテンプレートが規定されたとしても、ヒューマンエラーのためにルールのうちのいくつかが必然的に見落されるので、すべてのコンフィギュレーションパラメータ（又はルール）が成文化されるとは限らない。その上、テンプレートが不完全で、不完全に具体化されることがある。また、データセンターが時の経過とともに進化するので、それに応じてこれらのルールを更新しなければならない。必然的に、コンフィギュレーションの健全性の点検は、アプリケーションを有効に、最新の状態に、且つ安定に保つことより優先順位が低いので、テンプレートはデータセンターの状態より遅れることになる。
【０００６】
[0006]データセンターは、通常「サイロ」内で管理される。所与のデータセンター内では、記憶アドミニストレータは独立して記憶装置を管理し、テンプレートを規定する。より詳細には、サーバテンプレートは、サーバアドミニストレータなどによって独立して規定される。そのようなシナリオでは、これらのサイロにまたがるコンフィギュレーション設定は、したがってテンプレート中に容易に取り込むことができない。したがって、これらのアドミニストレータ間の調整不足のために起こるコンフィギュレーションエラーは、可能性のある問題が実際に生じるまで検出されないままであることが多い。
【０００７】
[0007]前述のように、既存のツールは、ハードコード化されたルールの組を必要とし、それに対してコンフィギュレーションデータが点検される。しかし、そのようなツールは、予期しないタイプのコンフィギュレーションエラーは発見し損なう。さらに、これらのルールの組を生成するために、ドメインの専門知識が必要である。
【０００８】
[0008]したがって、当技術分野では、自動化されたコンフィギュレーションルールの定義を容易にするための方法及び装置に対する必要性がある。
【発明の概要】
【０００９】
[0009]本発明は、複数の計算エンティティに関するコンフィギュレーションデータを受け取るステップと、コンフィギュレーションデータを解析してコンフィギュレーションデータ中のアソシエーションを求めるステップと、解析結果からコンフィギュレーションルールを生成するステップとを含む、コンピュータのコンフィギュレーションルールを生成するための方法及び装置の様々な実施形態を含む。
【００１０】
[0010]上記で列挙された本発明の特徴が詳細に理解されるように、実施形態を参照することにより、上記で簡単に要約された本発明のより詳細な説明が得られる。実施形態のうちいくつかは添付図に示されている。しかし、添付図は本発明の代表的な実施形態だけを示しており、したがって、本発明の範囲を限定するものとみなされるべきでないことに留意されたい。というのは、本発明には、他の同様に有効な実施形態の余地があり得るからである。
【詳細な説明】
【００１１】
[0014]本発明は、一般に、コンピュータ環境内で動作する複数の計算エンティティ向けのコンピュータのコンフィギュレーションルールを自動的に生成するための方法及び装置を対象にする。本発明の別の実施形態は、コンピュータ環境用のルールコンプライアンス解析を実行するためのルールを用いる。
【００１２】
[0015]図１は、本発明の少なくとも１つの実施形態によって自動的にコンピュータのコンフィギュレーションルールを生成するための装置を使用するシステム１００のブロック図である。
【００１３】
[0016]この装置は、本発明の原理に従って自動的にコンピュータのコンフィギュレーションルールを生成するための方法を実施するために使用可能である。装置に関する詳細は図２に関して開示されており、その方法は図３を参照しながら論じられる。
【００１４】
[0017]コンピュータシステム１００（本明細書ではコンピュータ環境とも呼ばれる）は、複数のコンピュータ１０２１、１０２２、．．．１０２ｎ（まとめてコンピュータ１０２）、複数のリソース１０４、ネットワーク１０６、少なくとも１つのユーザコンピュータ１１６、コンフィギュレーション監視システム１０８（例えばＳｙｍａｎｔｅｃ社から入手可能なＶｅｒｉｔａｓコマンドセントラルステージ又はＶｅｒｉｔａｓコンフィギュレーションマネージャ）、及びコンフィギュレーションアナライザ１１０を備える。コンピュータ１０２及び／又はユーザコンピュータ１１６の特定の配置又は数は、本発明の実施にとって重要ではない。環境は、データセンターのコンピュータ１０２だけ、ユーザコンピュータ１１６だけ、又はそれらの任意の組合せを含んでよい。
【００１５】
[0018]この文書で用いられる用語「エンティティ」又は「計算エンティティ」は、１つ又は複数のシステム、リソース、例えば１つ又は複数のアプリケーション、サーバ、携帯電話及び携帯情報端末（ＰＤＡ）などのモバイルコンピュータデバイス、記憶システム、周辺装置、ネットワーク、コンピュータ並びに同類のものを含むデバイスを指す。
【００１６】
[0019]例えば、図１に示されるように、コンピュータ１０２、リソース１０４及びネットワーク１０６の部分を含むシステム１００の一部は、一般にデータセンター１１２を構成する。ユーザコンピュータ１１６は、一般にデータセンター１１２によって提供されるサービスを利用する。
【００１７】
[0020]本明細書で用いられる用語「データセンター」は、一般にコンピュータ機器及び通信機器である多数の電子機器を収容するために利用されるリソースを指す。その名前が示すように、データセンターは、通常、組織によって、その運営に必要なデータを処理する目的で維持される。セキュリティ、冗長性及び故障回避を加えるために、データセンターは、空調、消火及び同類のもの、冗長／バックアップ電源、冗長なデータ通信接続、及び特徴のなかでもとりわけ高セキュリティなど、環境制御を含むことがある。
【００１８】
[0021]ほとんどの場合、データセンター内の通信は、インターネットプロトコル（ＩＰ）スイートを実行するネットワークに基づくものである。データセンターは、サーバ間で、またインターネット（及び／又はプライベートネットワーク）へ向けて、トラフィックを移送する、少なくとも１つのルータ及び／又はスイッチを含む。インターネット接続の冗長性は、２つ以上のアップストリームのサービスプロバイダを使用することにより提供されることが多い。データセンターのサーバのうちいくつかは、組織の内部ユーザによって必要とされるＥメールサーバ、プロキシサーバ、ＤＮＳサーバなどの基本的なインターネットサービス及びイントラネットサービスを実行するために使用される。通常、ファイアウォール、ＶＰＮゲートウェイ、侵入検出システムなど、ネットワークのセキュリティ要素も配置される。ネットワーク及びいくつかのアプリケーション向けの監視システムも一般的なものである。データセンター内部の通信障害の場合には、追加のオフサイト監視システムも一般的なものである。
【００１９】
[0022]本発明の一実施形態では、ネットワーク１０６は、インターネットプロトコル（ＩＰ）スイートを実行する。ネットワーク１０６は、データセンター１１２内の諸コンピュータ１０２間並びにデータセンター１１２とユーザコンピュータ１１６間で、データトラフィックを周知のやり方で移送する少なくとも１つのルータ及び／又はスイッチ（図示せず）を備える。
【００２０】
[0023]コンピュータ１０２の各々、ユーザコンピュータ１１６及びリソース１０４はコンフィギュレーションデータを含む。任意選択で、コンフィギュレーションデータは、コンピュータ１０２の各々、ユーザコンピュータ１１６及びリソース１０４に対して一意である。他の実施形態では、コンフィギュレーションデータは、複数のコンピュータ１０２の各々、ユーザコンピュータ１１６及び複数のリソース１０４に対して一意でないことがある。コンピュータ環境内の各計算エンティティのコンフィギュレーションデータのアクセス及び監視を容易にするために、複数のコンピュータ１０２の各々、ユーザコンピュータ１１６、及び複数のリソース１０４は、ネットワーク１０６を介してコンフィギュレーション監視システム１０８に結合される。
【００２１】
[0024]本明細書で用いられる用語「リソース」は、コンピュータシステム内の有効性が限定された任意の物理的要素又は仮想要素を指す。コンピュータシステムに結合されたすべての計算エンティティは、本質的にリソースである。すべての内部システム要素はリソースである。仮想システムのリソースは、ファイル、仮想ブロックデバイス、ネットワーク接続アプリケーション、プロセス、メモリエリアなどを含む。リソースは、最も広い意味では、コンピュータ環境の意図した目的のために、その動作を容易にする要素（実際でも仮想でも）である。
【００２２】
[0025]本明細書で用いられる用語「コンフィギュレーション」は、機能ユニットを、それらの性質、数及び主要な特性に従って配置することを指す。コンフィギュレーションは、ハードウェア、ソフトウェア、ファームウェア及びドキュメンテーションの選択、並びに動作パラメータ、メモリ容量、キャッシュ割当、表示の解像度、ネットワークアクセスの帯域幅、冗長性要件及び同類のものなどの特定の選択に関係することが多い。コンフィギュレーションは、システムの機能及び性能に影響を与える。コンピュータ及びコンピュータネットワークでは、コンフィギュレーションは、取り付けられたデバイス、デバイスドライバのバージョン、可変パラメータの設定、容量又は能力、及び厳密にどんな計算エンティティがシステムを構成するかということに関して特定のハードウェア及びソフトウェアの詳細を指すことが多い。
【００２３】
[0026]この文書で用いられる用語「コンフィギュレーションデータ」は、監視ツールなど企業データセンターの所産によって、システム、リソース、デバイスなど（例えばアプリケーション、サーバ、記憶装置、ユーザコンピュータ及びネットワークなど）に関して収集される、きめの細かいデータを指す。このデータは、コンピュータ環境の様々な計算エンティティに対して、エージェントのポーリング又は使用により収集することができる。データはデータベースに保存され、周期的に更新される。そのようなデータ収集は、ＳＹＭＡＮＴＥＣ社から入手可能なコマンドセントラルストレージ、Ｖｅｒｉｔａｓコンフィギュレーションマネージャコントロールコンプライアンススイート、及び同類のものなど、当技術分野で既知のシステムによって行なわれる。そのようなシステムからのコンフィギュレーションデータは、周期的に更新されるコンフィギュレーションマネジメントデータベース（ＣＭＤＢ）で利用可能である。
【００２４】
[0027]本明細書で用いられる用語「コンフィギュレーションマネジメントデータベース（ＣＭＤＢ）」は、組織のＩＴサービスのコンピュータ環境の要素及びそれらの要素間の関係についての関連情報をすべて含むデータベースを指す。ＣＭＤＢは、データについての系統立った見方及び任意の所望の観点からそのデータを検討する手段をもたらす。この文脈では、情報システムの要素は「コンフィギュレーションアイテム（ＣＩ）」と呼ばれる。ＣＩは、ソフトウェア、ハードウェア、ドキュメンテーション及び人員並びにそれらの任意の組合せを含む、考えられる任意のＩＴ要素であり得る。コンフィギュレーションマネジメントのプロセスは、包括的且つ系統的なやり方で、コンフィギュレーションアイテム及びそれらになされたいかなる変更も明白にし、制御し、且つ追跡しようとする。ＩＴインフラストラクチャライブラリ（ＩＴＩＬ）のベストプラクティスの基準は、コンフィギュレーションマネジメント向けの仕様を含む。ＩＴＩＬ仕様によれば、コンフィギュレーションマネジメントの４つの主タスクは、ＣＭＤＢに含まれるべきコンフィギュレーションアイテムの識別、権限を与えられた個人によらなければそれを変更することができないことを保証するためのデータ制御、あらゆるＣＩの現状ステータスが一貫して記録され更新され続けることの保証を含むステータス維持、並びにそれが正確であることを保証するための、データのチェック及び調査による検証である。
【００２５】
[0028]コンフィギュレーション監視システム１０８は、コンフィギュレーションデータのデータベース１１４を含み、そのようなデータベースの一例には前述のＣＭＤＢがある。コンフィギュレーション監視システム１０８は、データセンター１１２を構成する、システム、リソース、デバイス、及び同類のものなど、様々なエンティティに関するきめの細かいコンフィギュレーションデータ１２０及び１２２（代替実施形態ではユーザコンピュータのコンフィギュレーションデータ１１８を含む）の収集又は蓄積に関与する。エンティティは、例えば、複数のコンピュータ１０２及び複数のリソース１０４である。図１の説明では、コンフィギュレーション監視システム１０８は、複数のコンピュータ１０２の各々及びリソース１０４に関して、また、ユーザコンピュータ１１６からも、きめの細かいコンフィギュレーションデータを収集することができる。例えば、あるシナリオは、そのようなコンフィギュレーションデータを収集するためにコマンドセントラルストレージ、Ｖｅｒｉｔａｓコンフィギュレーションマネージャコントロールコンプライアンススイート及び同類のものなど、ＳＹＭＡＮＴＥＣ製品の利用を含む。
【００２６】
[0029]運用上、コンフィギュレーション監視システム１０８は、コンピュータ環境中の計算エンティティなど１つ又は複数のデータソースを検索することにより、エンティティ単位でコンフィギュレーション情報を抽出する。限定ではなく例として、コンフィギュレーション監視システム１０８は、複数のコンピュータ１０２及び複数のリソース１０４の各々を検索することによりコンピュータ単位及び／又はリソース単位でコンフィギュレーション情報を抽出する。より詳細には、複数のコンピュータ１０２及び複数のリソース１０４の各々向けに、そのオペレーティングシステム（ＯＳ）のバージョン及びパッチレベル、コンピュータ又はリソース上で走るアプリケーション、ネットワークインターフェイス、記憶装置インターフェイス又はホストバスアダプタ（ＨＢＡ）、ファームウェア及びドライバのバージョン、並びに同類のものなど、少なくとも複数の属性が蓄積される。ここでは、表（例えば、とりわけデータベースのレコード）中の行として、任意又は所与のコンピュータ１０２又はリソース１０４に関するフィギュレーション情報をすべて概念的に表わすことができるという事実が注目に値する。ユーザコンピュータ１１６に関して類似のデータ監視を行なうことができる。
【００２７】
[0030]本発明のある実施形態では、コンフィギュレーション監視システム１０８は、「サイロ」と呼ばれて基礎をなす複数のサブシステムからのコンフィギュレーションデータを収集する。例えば、ホストされたアプリケーション、ＯＳのバージョン及び同類のものなど、いくつかのコンフィギュレーションデータ（又は属性）は、Ｖｅｒｉｔａｓコンフィギュレーションマネージャによって収集されるが、ＨＢＡの数、ドライバのバージョンなど他のものは、コマンドセントラルストレージ等によって収集される。このコンフィギュレーションデータは、コンフィギュレーションデータのデータベース１１４に保存される。したがって、実際には、リレーショナルデータベースにコンフィギュレーション情報をすべて格納するには、そこに含まれるコンフィギュレーションデータの正規化が必要である。これは、適切な外来キーによってリンクされた複数の表を生成することになる。ホストレベルに収集されたデータは、様々なデータベース対このデータを収集するために使用される監視システムに左右される記憶装置又はネットワーク要素から収集されたデータにあってよい。これは、どのアドミニストレータの組が、その「サイロ」向けに、どの種類の監視／レポート機構の使用を選択するかということにも左右される。
【００２８】
[0031]再び繰り返して、表（例えば、データベースのレコード）中の行として、任意又は所与のコンピュータ１０２、ユーザコンピュータ１１６又はリソース１０４に関するコンフィギュレーション情報がすべて概念的に表わされる。ある実施形態では、この表は、そのような行を少なくとも複数含む。複数の行の各々は、少なくとも複数のエンティティに対応するコンフィギュレーション属性を少なくとも複数含む。説明の目的で、表１は、サーバとして機能するコンピュータ１０２のコンフィギュレーション情報を格納する表を示す。
【表１】
2014112400.tif 000003
【００２９】
[0032]コンフィギュレーションアナライザ１１０は、複数のコンピュータ１０２及び／又はリソース１０４が適切に構成されることを保証するために、これらを管理する。そうするために、コンフィギュレーションアナライザ１１０は、コンフィギュレーションデータのデータベース１１４にアクセスする。すなわち、コンフィギュレーションアナライザ１１０への入力はコンフィギュレーションデータのデータベース１１４である。コンフィギュレーションアナライザ１１０は、データのセマンティクスを必要とせずに諸コンフィギュレーション属性間の関係を発見するためにアソシエーションルールマイニングを適用する。コンフィギュレーションアナライザ１１０は、データを前処理する。コンフィギュレーションアナライザ１１０は、コンフィギュレーションデータの解析から、推測されたアソシエーションルールを自動的に生成する。任意選択で、コンフィギュレーションアナライザ１１０は、アドミニストレータがいくつかのルール（以前に論じられたテンプレートベースのシステムのようなもの）を明示的に規定するための機構を含む。コンフィギュレーションアナライザ１１０は、規定されたルールと推測され確認されたルールを共通のルールベースで組み合わせる。コンフィギュレーションアナライザ１１０は、コンピュータ環境の誤って構成された要素を検出する。コンフィギュレーションアナライザ１１０は、アソシエーションルールの各々に対してコンフィギュレーションデータを比較する。コンフィギュレーションアナライザ１１０は、コンフィギュレーションデータ中の異常（又はルール違反）を検出する。コンフィギュレーションアナライザ１１０は、違反のコンフィギュレーションデータを表示すると共に、違反されたルールを表示して警報を出すことができる。コンフィギュレーションアナライザ１１０は、データセンター１１２の動作に対して、帯域外（又はオフライン）で動作する。したがって、アナライザ１１０の動作は、コンピュータ環境内の他の要素の機能に影響しない。
【００３０】
[0033]本発明のコンフィギュレーションアナライザ１１０によって用いられる解析技術は、解析されているコンフィギュレーション（又はデータ）のセマンティクスと無関係である。したがって、これらの解析技術は、様々なアプリケーション、サーバ、記憶装置及び／又はネットワークに関連したコンフィギュレーションパラメータ、設定などに有利に適用することができる。さらに、数値、記号、ブーリアンなどデータタイプの類別が、これらの解析技術によって扱われる。これらの解析技術が、様々なアプリケーション、サーバ、記憶装置及び／又はネットワークに関連したコンフィギュレーションパラメータに有利に適用することができると前述されているが、当業者なら、自分のアプリケーションが任意のデータセンターの要素又はエンティティに適用されてよいことを認識するであろう。例えば、複数のコンピュータ１０２及び／又はリソース１０４の表の代りに、記憶装置又はネットワークデバイス又はアプリケーション向けの個別の表も生成することができる。
【００３１】
[0034]説明の目的で、表２及び表３は、例えば、コンフィギュレーションアナライザ１１０によって処理されてよい他の表を示す。
【表２】
2014112400.tif 000004
【表３】
2014112400.tif 000005
【００３２】
[0035]コンフィギュレーションアナライザ１１０に関して、図２を参照しながら以下でさらに詳述する。
【００３３】
[0036]図２は、図１のコンフィギュレーションアナライザ１１０の詳細なブロック図である。コンフィギュレーションアナライザ１１０は、１つ（特別の指定のない限り「少なくとも１つ」を意味する）の中央処理装置（ＣＰＵ）２００、サポート回路２０２及びメモリ２０４を備えるコンピュータデバイスである。ＣＰＵ ２００は、データの処理及び記憶を容易にする１つ又は複数の市販のマイクロプロセッサ又はマイクロコントローラを備えてよい。サポート回路２０２は、ＣＰＵ ２０１の動作を容易にし、また、少なくとも１つのクロック回路、電源、キャッシュ、入力／出力回路などを備える。メモリ２０４は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ディスクドライブ記憶装置、光学式記憶装置、リムーバブル記憶装置、及び同類のものの少なくとも１つを備える。メモリ２０４は、アナライザソフトウェア２０６、ルールジェネレータ２０８、コンフィギュレーションデータのデータベース１１４、データのプリプロセッサ２１０、ルールのポストプロセッサ２１２及び違反アナライザ２１４をさらに備える。
【００３４】
[0037]運用上、コンフィギュレーションアナライザ１１０は、コンフィギュレーションデータのデータベース１１４にアクセスする。これは、コンフィギュレーションデータのデータベース１１４が、コンフィギュレーション監視システム１０８とコンフィギュレーションアナライザ１１０の両方に共有されるリソースとして役立つという事実によるものである。したがって、コンフィギュレーションアナライザ１１０への入力は、コンフィギュレーションデータのデータベース１１４の内容である。
【００３５】
[0038]本発明の一実施形態では、データプリプロセッサ２１０は、データ利用及びルール生成を最適化するために使用される。例えば、類似のデバイスを分類するためにバケットが使用され、プロセッサ向けに特定のデータを選択するためにフィルタデータ（すなわち表中の特定の列の選択）が使用される。これは、アナライザソフトウェア２０６による処理を迅速にし、またコンフィギュレーション情報を構成する１つ又は複数のコンフィギュレーション属性間の相関を見つける能力を最適化するのに役立つ。しかし、そのような分類は、本発明の動作に必須ではない。分類は、所与のコンフィギュレーションデータのデータベースに作用しながらコンフィギュレーションアナライザによって生成されるルール／違反の数を低減させるのを助長するだけである。
【００３６】
[0039]アナライザソフトウェア２０６は、コンピュータ１０２、ユーザコンピュータ１１６及びリソース１０４の少なくとも１つのコンフィギュレーションデータを表わす表にアクセスする。アナライザソフトウェア２０６は、マーケットバスケット解析などのアソシエーションルールマイニングアルゴリズムを実施するが、これは、本質はデータマイニング技術である。これは、図３に関して以下に詳述する。
【００３７】
[0040]この文書で用いられ、アナライザソフトウェア２０６によって実行される用語「アソシエーションルールマイニング」は、パターンを求めてデータベースを探索するデータマイニングのプロセスによってデータ中に発見されたパターンを指す。
【００３８】
[0041]したがって、いくつかのシナリオでは、アナライザソフトウェア２０６は、複数のコンピュータ１０２、ユーザコンピュータ１１６及びリソース１０４から収集されたコンフィギュレーションデータを解析する。ある実施形態では、アナライザソフトウェア２０６は、コンフィギュレーションデータを表わす表を解析し、表の列の値を基に列の間の関係を推測する。例えば、いくつかのシナリオでは、表のデータは、ＯＲＡＣＬＥを実行するすべて（又は大部分）のコンピュータ１０２が少なくとも２つのＨＢＡを有することを示すことがある。というのは、データベースが、冗長性及び性能上の理由で、一般に記憶装置への複数の経路を与えられるからである。このデータを解析することによって、アナライザソフトウェアは、｛ＨＯＳＴＥＤ ＡＰＰＬＩＣＡＴＩＯＮ＝ＯＲＡＣＬＥ｝→｛ＮＵＭＢＥＲ ＯＦ ＨＢＡ（Ｓ）≧２｝というアソシエーションルールを推測する。その後、ルールジェネレータ２０８は、コンフィギュレーションデータを基に前述のアソシエーションルールを生成する。
【００３９】
[0042]任意選択で、アナライザソフトウェア２０６は、前処理されたコンフィギュレーションデータを解析する。これは、アナライザソフトウェア２０６を迅速にし、且つコンフィギュレーション情報を構成する１つ又は複数のコンフィギュレーション属性間の相関を見つける能力を最適化するのに役立つ。
【００４０】
[0043]他のいくつかのシナリオでは、アナライザソフトウェア２０６は、関係を推測するためにＨＢＡ上のファームウェアのバージョンを選択する。アナライザソフトウェア２０６は、コンフィギュレーションデータの表を解析し、所与の記憶領域のネットワークエンティティに対して、ファームウェアのバージョン及びＨＢＡなどの表の列（或いはコンフィギュレーション属性又は属性値の対）間の関係を、それらの値を基に推測する。例えば、特定の記憶領域ネットワーク（ＳＡＮ）ゾーンにおいて、ほとんどのコンピュータ１０２が、３．０以上のＨＢＡファームウェアバージョンを有することをアナライザソフトウェア２０６が確認すると、｛ＺＯＮＥ＝Ｘ｝→｛ＨＢＡ ＦＩＲＭＷＡＲＥ ＶＥＲＳＩＯＮ≧３．０｝というルールが抽出される。その後、ルールジェネレータ２０８は、前述のアソシエーションルールを生成する。
【００４１】
[0044]少なくとも本発明のある実施形態では、アソシエーションルールの信頼性を求めるために、アナライザソフトウェア２０６は、いくつかの標準的な統計パラメータを計算する。より詳細には、アナライザソフトウェア２０６は、ルールジェネレータ２０８による推測されたルールの生成に先立って、推測されたルールの信頼性を求める。ここで、アナライザソフトウェア２０６が、コンフィギュレーションデータの解析についてアソシエーションルールを推測すること、また、ルールジェネレータ２０８が、推測されたアソシエーションルールを生成することに留意する必要がある。アナライザソフトウェア２０６は、アソシエーションルールの信頼性を求めるために、サポート、信頼度及びリフトなど標準的な統計パラメータを計算する。ここで用いられた用語「信頼性」は、推測されたアソシエーションルールをどの程度強く信じるべきかを意味する。
【００４２】
[0045]ここで、アソシエーションルールの主要部分は、ルール本体（前提とも呼ばれる）及びルールヘッド（結論とも呼ばれる）であることに留意する必要がある。例えば、アソシエーションルールが［Ｘ］［Ｙ］＝＞［Ｚ］であるとき、項目の組［Ｘ］［Ｙ］はルール本体であり、項目［Ｚ］はルールヘッドである。ルール本体は、アソシエーションマイニング機能によって関連する項目を見つけられている（諸）項目を含む。ルールヘッドは、見つけられた項目を含む。アソシエーションルール（例えば最大のルール長さ）の中で見つかった項目の数に対する制限は、明確に定義され、且つ設定され得る。
【００４３】
[0046]したがって、この文書で用いられる用語「サポート」又は「アソシエーションルールのサポート」は、そのアソシエーションルールのリストに記載された項目をすべて含むグループの百分比を指す。パーセント値は、検討されたすべてのグループの中から計算される。このパーセント値は、結合されたルール本体とルールヘッドが、検討されたグループ全体の中でどれくらい頻繁に生じるかを示す。したがって、ルールのサポートは「Ａ／Ｂ」の百分比に相当し、Ａはルール中に現われるすべての項目を含むグループの数であり、Ｂは検討されるすべてのグループの合計数である。ある最低レベルのサポートを実現するルールが、所与のマイニングモデルに含まれ、明確に規定され得る。これは高度に有意義な結果を保証する。これも、生成されるルールの数を制御することができる様式のうちの１つでもある。
【００４４】
[0047]同様に、本明細書で用いられる用語「信頼度」又は「アソシエーションルールの信頼度」は、ルール本体を含むすべてのグループ中でルールヘッドがどれくらい頻繁に生じるかを示すパーセント値を指す。信頼度値は、このルールがどの程度信頼できるかを示す。値が大きいほど、項目のこの組は、より頻繁に互いに関連付けられる。したがって、ルールの信頼度はＭ／Ｎの百分比に相当し、Ｍは結合されたルールヘッドとルール本体を含むグループの数であり、Ｎはルール本体を含むグループの数である。ここで、ちょうどサポート要因の場合と同様に、ある最低レベルの信頼度を実現するルールが所与のマイニングモデルに含まれ、明確に規定され得ることに留意する必要がある。これは最終的な結果を保証するが、これも、生成されるルールの数を制御することができる様式のうちの１つである。
【００４５】
[0048]さらに、現行の文脈で用いられる用語「リフト」又は「アソシエーションルールのリフト」は、同様にルールの重要性を指す。これはルールに対する物差しである。しかし、最小サポート又は最小信頼度と異なって、最小リフトは明確に定義又は規定することができない。アソシエーションルールのリフト値は、ルールの信頼度とルールの予期された信頼度の比である。ルールの予期された信頼度は、ルール本体のサポート値とルールヘッドの積をルール本体のサポートで割ったものと定義される。信頼度の値は、結合されたルール本体とルールヘッドのサポートをルール本体のサポートで割った比と定義される。例えば、ルールのリフト値は、以下のやり方で定義することができる。リフト＝信頼度／サポート（ヘッド）であり、サポート（ヘッド）はルールヘッドのサポートである。
【００４６】
[0049]いくつかの状況においては、アナライザソフトウェア２０６によって計算された前述の統計パラメータがルール向けに事前設定された閾値を越えるという仮定に基づき、それらはアドミニストレータに確認のために提出される。セマンティクスが、アナライザソフトウェア２０６によって解析されたコンフィギュレーションデータに関連付けられないという事実に留意する必要がある。
【００４７】
[0050]アドミニストレータは、アソシエーションルールに有効又は無効と印を付けてよい。より詳細には、アドミニストレータは、発見されたルールを検討し（上記の２つの例のように）、それが有効なルールであるか、又はデータ中のいくつかの意図しない相関による一致なのかを示す。コンフィギュレーションアナライザ１１０が最初に配置されたとき、正当なルールに加えていくつかのそのような一致ルールの発見又は推測は、アナライザソフトウェア２０６によって予想される。しかし、コンフィギュレーションアナライザ１１０は、アドミニストレータの有効／無効の注記又は印を、違反アナライザ２１４の一部であるルールベースに絶え間なく格納する（図２を参照しながら以下で論じる）。後続の実行では、同一のルールが再び提案されることはない。これに起因して、基礎をなすスキーマが変わらない限り、「フォールスポジティブ」ルールは単調に減退する。
【００４８】
[0051]前述のように、アドミニストレータは、アソシエーションルールに有効か無効かの印を付ける。コンフィギュレーションアナライザ１１０は、そのような印を追跡することができ、コンフィギュレーションアナライザ１１０の背後のロジックが変わらない限り、将来の実行ではそのようなルールをフィルタリングする。時には、多くのルールが生成される。ルールのうちのいくつかは、互いの従変形形態（例えば１３のルールの３つだけが本物）である。したがって、ルールは様々なフィルタリングアルゴリズムを基に、関心事に応じてフィルタリングされる。
【００４９】
[0052]任意選択で、コンフィギュレーションアナライザ１１０は、アドミニストレータがいくつかのルール（以前に論じられたテンプレートベースのシステムのようなもの）を明示的に規定するための機構を含む。発見され確認されたルール及び明確に規定された（或いはアドミニストレータ又はユーザ定義の）ルールは、組み合わされ共通のルールベースとなる。
【００５０】
[0053]コンフィギュレーションアナライザ１１０は、コンフィギュレーションデータ中の異常を検出する。より詳細には、コンフィギュレーションアナライザ１１０は、違反アナライザ２１４を使用してアソシエーションルール中の違反を検出する。違反アナライザ２１４は、アソシエーションルールの各々に対してコンフィギュレーションデータを比較する。ここでは、アソシエーションルールが共通のルールベースに格納されるという事実が注目に値する。共通のルールベースは、自動的に推測され（又は暗示的に生成され）且つ明確に規定された（又はユーザ定義された）アソシエーションルールを含む。例えば、違反アナライザ２１４は、ルール違反を検出し、誤って構成されたエンティティを識別する。
【００５１】
[0054]いくつかの状況では、コンフィギュレーション監視システム１０８による、基礎をなすコンフィギュレーションデータの収集頻度及びデータの変更レートに基づいて、コンフィギュレーションアナライザ１１０は、周期的に（固定又は可変の時間間隔で）動作する。別の状況では、コンフィギュレーションアナライザ１１０は、外部トリガによって動作する。例えば、Ｖｅｒｉｔａｓコンフィギュレーションマネージャコントロールコンプライアンススイートのような変更管理ツールは、コンフィギュレーションの変更事象を検出し、この変更が不良コンフィギュレーションをもたらしたかどうか解析するために、コンフィギュレーションアナライザ１１０の実行を起動する。したがって、誤った変更は迅速に検出され得て、アドミニストレータの注目するところとなる。これは、違反アナライザ２１４に関して以下で詳述する。
【００５２】
[0055]ある状況では、違反アナライザ２１４は、コンフィギュレーションデータ中の異常に起因するルール違反を見つける。そのような状況では、違反アナライザ２１４はアドミニストレータに警告を出し、違反されたルールが表示され、誤って構成されたエンティティが、そのコンフィギュレーション情報と共に列挙される。ルール違反に対応する表の行が表示される。次いで、アドミニストレータは、これらの異常が故意かそれとも間違いか判断することができる。次いで、これらの不良コンフィギュレーションに対処する修正処置が実行されてよい。
【００５３】
[0056]図３は、図２のコンフィギュレーションアナライザ１１０を使用して自動的にコンピュータのコンフィギュレーションルールを生成するための方法の流れ図である。
【００５４】
[0057]方法３００は、ステップ３０１からスタートしてステップ３０２に進み、コンフィギュレーションデータのデータベースにアクセスする。ここでは、方法３００が、複数のコンピュータ及び／又はリソースに関するコンフィギュレーション情報を受け取るという事実が注目に値する。このデータは、コンフィギュレーション監視システムの共有されたデータベースでアクセスされるか、又はデータを収集してデータベースを構築するアナライザ１１０によって生成されてよい。
【００５５】
[0058]ステップ３０４では、方法３００は、コンフィギュレーションデータのデータベースからアクセスされたコンフィギュレーション情報を任意選択で前処理する。前処理は、データ利用を最適化するために実行される。例えば、類似のデバイスを分類するためにバケットが使用され、処理向けに特定のデータを選択するためにフィルタリング（すなわち列の選択）が用いられる。これは、データにおける相関を見つける能力を最適化する。
【００５６】
[0059]ステップ３０６では、方法３００は、コンフィギュレーションデータを備えるコンフィギュレーション属性間の関係を検出するためにコンフィギュレーションデータを解析する。複数のコンピュータ及び／又はリソースのコンフィギュレーションデータを表わす表が、アソシエーションルールマイニングアルゴリズムに結合される。本発明の範囲を制限するのでなく例として、アソシエーションルールマイニングを実行するためにマーケットバスケット解析が用いられる。
【００５７】
[0060]本質はデータマイニング技術であるアソシエーションルールマイニングアルゴリズムは、運用上、表を解析し、それらの値を基に、その列間の関係を推測する。例えば、いくつかのシナリオでは、表のデータは、ＯＲＡＣＬＥを実行するすべて（又は大部分）のコンピュータ及び／又はリソースが少なくとも２つのＨＢＡを有することを示すことがある。というのは、データベースが、冗長性及び性能上の理由で、一般に記憶装置への複数の経路を与えられるからである。このデータを解析することよって、以下のアソシエーションルールが推測される。｛ＨＯＳＴＥＤ ＡＰＰ＝ＯＲＡＣＬＥ｝→｛＃ＨＢＡＳ≧２｝。
【００５８】
[0061]同様に、他のいくつかのシナリオでは、アソシエーションルールマイニングアルゴリズムは、ＨＢＡエンティティ上のファームウェアのバージョンを検討する。ここでは、ファームウェアのバージョンが、コマンドセントラルストレージによってＨＢＡエンティティ向けに収集された複数のコンフィギュレーション属性のうちの１つを表わすという事実が注目に値する。例えば、特定の記憶領域ネットワーク（ＳＡＮ）ゾーンにおいて、ほとんどのコンピュータ及び／又はリソースが、３．０以上のＨＢＡファームウェアバージョンを有するなら、｛ＺＯＮＥ＝Ｘ｝→｛ＨＢＡ ＦＩＲＭＷＡＲＥ ＶＥＲＳＩＯＮ≧３．０｝というルールが抽出される。
【００５９】
[0062]本発明の方法によって用いられる解析技術は、解析されているいかなるコンフィギュレーション情報（又はデータ）のセマンティクスとも無関係である。したがって、これらの解析技術は、とりわけ、様々なアプリケーション、サーバ、記憶装置及び／又はネットワークに関連したコンフィギュレーションパラメータ、設定に、有利に適用することができる。さらに、数値、記号、ブーリアンなどデータタイプの類別が、これらの解析技術によって扱われる。これらの解析技術が、様々なアプリケーション、サーバ、記憶装置及び／又はネットワークに関連したコンフィギュレーションパラメータに有利に適用することができると前述されているが、任意のデータセンター要素又はエンティティへのそれらの適用は、否定され得ない。例えば、複数のコンピュータ及び／又はリソースの表の代りに、記憶装置又はネットワークデバイス又はアプリケーション向けの個別の表も生成することができる。
【００６０】
[0063]ステップ３０８では、方法３００はルールを生成する。より詳細には、方法３００は、コンフィギュレーション情報を含むコンフィギュレーション属性間で見つかった関係を基に、自動的にルールを生成する。ここでは、方法３００は、空のルールベースで（すなわち適切なコンフィギュレーション及び不適切なコンフィギュレーションに関するいかなるハードコード化された知識もなしで）機能し始めることに留意する必要がある。しかし、方法３００は、収集されたコンフィギュレーション情報からのルールを学び、したがってその知識ベースを徐々に改善する。
【００６１】
[0064]ステップ３１０では、方法３００は、ルールのポスト処理のタスクを含む。一旦ルールが導き出されると、次いで、コンフィギュレーションデータのデータベース中の列などのデータは、例えば関連付けられる。これによって、ルールは読取り可能になりユーザにとって使いやすくなる。
【００６２】
[0065]ステップ３１２では、方法３００は（諸）ルールを出力及び／又は確認する。アドミニストレータは、恒久的なルール又は一致ルールとして、ルールを分類してよい。アドミニストレータは、一致ルールを無視することを選択してよい。
【００６３】
[0066]ステップ３１４では、前述の環境をすべて扱うために、方法３００は、ルール違反又は異常検出を解析する。この方法は、誤って構成されたコンピュータ環境要素を検出するか又は識別することができる。より詳細には、この方法は、コンフィギュレーション情報を解析してルールの各々に対する違反を見つける。この方法のいくつかの実施形態では、この方法は、違反が存在する（又は異常が検出される）という仮定に基づいて、アドミニストレータに対して警告を出す。ステップ３１５では、解析するべき違反が存在しない場合、方法３００は終了する。
【００６４】
[0067]ステップ３１６では、方法３００は、アソシエーションルールの各々に対してコンフィギュレーションデータを比較する。
【００６５】
[0068]ステップ３１８では、方法３００は、アソシエーションルールの違反を識別又は検出するか、或いはコンフィギュレーションデータ中の異常を検出する。生成されたルール及び／又は所定のルールが、違反の検出に使用されてよい。
【００６６】
[0069]ステップ３２０では、方法３００は違反を出力する。これは、先に、図２を参照しながら詳細に説明されているので、ここでは詳述されていない。
【００６７】
[0070]方法３００はステップ３２２で終了する。
【００６８】
[0071]本発明は、等価な実施形態をすべて対象として含むように意図され、添付の特許請求の範囲によってのみ限定される。本発明の精神及び範囲内で、様々な他の実施形態が可能である。本発明は、様々な修正形態及び代替形式が可能であり得るが、その特定の実施形態が例として図示されており、本明細書で詳細に説明されてきた。前述の特定の実施形態は、単に説明のためであり、本発明の範囲を区切るようには意図されていない。むしろ、本発明は、以下の添付の特許請求の範囲によって定義される本発明の精神及び範囲の中にある修正形態、等価物、及び代替形態をすべて対象として含むものである。
【図面の簡単な説明】
【００６９】
【図１】本発明の少なくとも１つの実施形態によって自動的にコンピュータのコンフィギュレーションルールを生成するための装置を使用するシステムのブロック図である。
【図２】図１のコンフィギュレーションアナライザの詳細図である。
【図３】図２の装置を使用して自動的にコンピュータのコンフィギュレーションルールを生成するための方法の流れ図である。
【符号の説明】
【００７０】
１００ コンピュータシステム
１０２ コンピュータ
１０４ リソース
１０６ ネットワーク
１０８ コンフィギュレーション監視システム
１１０ コンフィギュレーションアナライザ
１１２ データセンター
１１４ コンフィギュレーションデータのデータベース
１１６ ユーザコンピュータ
１１８ コンフィギュレーションデータ
１２０ コンフィギュレーションデータ
１２２ コンフィギュレーションデータ
２００ ＣＰＵ
２０２ サポート回路
２０４ メモリ
２０６ アナライザソフトウェア
２０８ ルールジェネレータ
２１０ プリプロセッサ
２１２ ポストプロセッサ
２１４ 違反アナライザ
【図１】
2014112400.tif 000006
【図２】
2014112400.tif 000007
【図３】
2014112400.tif 000008
【手続補正書】
【提出日】平成26年2月10日(2014.2.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データセンタの複数の計算エンティティ向けコンフィギュレーションデータであって、
複数の属性を有するコンフィギュレーションデータを、受け取るステップと、
前記コンフィギュレーションデータ中の関係を推測するために、プロセッサを有する計算システムが前記コンフィギュレーションデータのセマンティクスとは無関係に前記コンフィギュレーションデータの値に基づいて前記複数の属性間の関係を推測して前記コンフィギュレーションデータを解析するステップと、
前記関係に基づいてコンフィギュレーションルールを生成するステップと、
を含む方法。
【外国語明細書】
2014112400000001.pdf