(57)【要約】  自動化されたコンピュータサポートを提供するためのシステム及び方法がここに説明される。１つの説明される方法は、複数のコンピュータから複数のスナップショットを受信することと、データストアに該複数のスナップショットを記憶することと、該複数のスナップショットに少なくとも部分的に基づいて適応基準モデルを作成することとを含む。該説明される方法は、該適応基準モデルに該複数のスナップショットの少なくとも１枚を比較することと、該比較に基づいて少なくとも１つの異常を識別することとをさらに備える。【選択図】図１
2007502467.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータから複数のスナップショットを受信することと、
前記複数のスナップショットをデータストアに記憶することと、
少なくとも部分的に前記複数のスナップショットに基づいて適応基準モデルを作成することと、
前記適応基準モデルに前記複数のスナップショットの少なくとも１枚を比較することと、
前記比較に基づいて少なくとも１つの異常を識別することと、
を含む方法。
【請求項２】
前記複数台のコンピュータの少なくとも１台で状態を診断するために、前記少なくとも１つの異常を少なくとも１つの認識フィルタに適合させることをさらに含む請求項１に記載の方法。
【請求項３】
前記状態に対応することをさらに含む請求項２に記載の方法。
【請求項４】
前記状態に対応することが、
通知を作成することと、
問題管理システムにトラブルチケットを提出することと、
アクションを講じる許可を要求することと、
前記複数台のコンピュータの少なくとも１台から前記状態を削除することと、
の少なくとも１つを含む請求項３に記載の方法。
【請求項５】
前記状態を削除することが、前記状態によって影響を及ぼされる前記複数台のコンピュータの前記少なくとも１台で修理プログラムを実行させることを含む請求項４に記載の方法。
【請求項６】
前記複数台のコンピュータの内のどれが前記状態によって影響を及ぼされるのかを決定することと、
前記状態に対する応答を、前記状態により影響を及ぼされる前記複数台のコンピュータのそれぞれの代わりに実行させることと、
をさらに含む請求項２に記載の方法。
【請求項７】
前記状態を診断することが、前記少なくとも１つの異常の根本的原因を識別することを備える請求項２に記載の方法。
【請求項８】
前記少なくとも１つの認識フィルタが、
前記状態と関連付けられるアセット名と、
前記状態と関連付けられるアセット値と、
前記状態と関連付けられるアセット名とアセット値の組み合わせと、
アセット値及び前記状態と関連付けられる最大閾値と、
アセット値及び前記状態と関連付けられる最小閾値と、
の少なくとも１つを備える請求項２に記載の方法。
【請求項９】
前記少なくとも１つの認識フィルタがさらにワイルドカードを備える請求項８に記載の方法。
【請求項１０】
前記少なくとも１つの認識フィルタが、前記アセット名と前記アセット値を前記適応基準モデルに含むかどうかを判断するための制御フラグを備える請求項８に記載の方法。
【請求項１１】
前記少なくとも１つの認識フィルタが前記状態のテキスト記述を備える請求項２に記載の方法。
【請求項１２】
前記少なくとも１つの認識フィルタが前記状態と関連付けられた重大度インジケータをさらに備える請求項２に記載の方法。
【請求項１３】
前記少なくとも一つの認識フィルタが、
認識フィルタ識別子と、
作成者名と、
更新日時と、
をさらに備える請求項２に記載の方法。
【請求項１４】
前記少なくとも１つの認識フィルタが前記状態のための自動化された応答にリンクされる請求項２に記載の方法。
【請求項１５】
前記状態が状態クラスを備える請求項２に記載の方法。
【請求項１６】
前記少なくとも１つの異常を前記少なくとも１つの認識フィルタに適合させることが、複数の認識フィルタの中に存在する前記少なくとも１つの異常と関連付けられるアセット名を識別することを含む請求項２に記載の方法。
【請求項１７】
前記少なくとも１つの認識フィルタが複数の認識フィルタを備え、前記少なくとも１つの異常を前記少なくとも１つの認識フィルタに適合させることが、前記複数の認識フィルタの中のアセット値に適合する前記少なくとも１つの異常の中のアセット値を識別することを含む請求項２に記載の方法。
【請求項１８】
前記少なくとも１つの認識フィルタと前記少なくとも１つの異常の適合の質を決定することをさらに含む請求項２に記載の方法。
【請求項１９】
前記複数のスナップショットのそれぞれが、前記複数台のコンピュータの１台と関連付けられる複数のアセットを備える請求項１に記載の方法。
【請求項２０】
前記複数のアセットのそれぞれがアセット名とアセット値とを備える請求項１９に記載の方法。
【請求項２１】
前記複数のアセットのそれぞれがアセットタイプと関連付けられる請求項１９に記載の方法。
【請求項２２】
前記アセットタイプが、ファイル、レジストリキー、性能基準、サービス、ハードウェア構成要素、実行中プロセス、ログ及び通信ポートの１つを備える請求項２１に記載の方法。
【請求項２３】
前記少なくとも１つの異常が、以下、
予想外に存在するアセット名と、
予想外に不在のアセット名と、
文字列アセット値と関連付けられるアセット名について未知である前記文字列アセット値と、
アセット数値と関連付けられるアセット名の最小閾値未満であるか、あるいは最大閾値より大きいアセット数値と、
の内の少なくとも一つを備える請求項１に記載の方法。
【請求項２４】
前記複数のスナップショットの少なくとも１枚を、前記適応基準モデルに比較することが、
結果を生じさせることと、
ユーザに前記結果を提供することと、
を含む請求項１に記載の方法。
【請求項２５】
前記複数のスナップショットのそれぞれが、アセット名とアセット値の複数の組を備え、前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較することが、
予想外に存在するアセット名を識別するために、前記適応基準モデルに各アセット名を比較することと、
予想外に不在のアセット名を識別するために、前記適応基準モデルに各アセット名を比較することと、
未知のまたは普通ではないアセット値を識別するために、各アセット値を前記適応基準モデルに比較することと、
を含む、請求項１に記載の方法。
【請求項２６】
前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較することが、さらに、アセット値が最小閾値を下回るのか、あるいは最大閾値を超えるのかを判断することをさらに含む請求項２５に記載の方法。
【請求項２７】
前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較することが、さらに、前記複数のスナップショットの前記少なくとも１枚の前記アセット名のすべてが前記適応基準モデル内に存在するかどうか、及びアセット名の間の複数の高い確率関係性と一貫しているかどうかを判断することをさらに含む請求項２５に記載の方法。
【請求項２８】
前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較することが、分析適用範囲基準と診断精度基準と関連付けられる信頼水準を決定することをさらに含む請求項２５に記載の方法。
【請求項２９】
前記複数のスナップショットが、
前記複数台のコンピュータと関連付けられるベーススナップショットであって、特定の時点で前記複数のコンピュータの前記１台の前記状態を表す複数のアセット名とアセット値を備えるベーススナップショットと、  
前記複数台のコンピュータの前記１台と関連付けられるデルタスナップショットであって、前記ベーススナップショットが作成されて以来変化した複数のアセット名とアセット値を備えるデルタスナップショットと、
を備える請求項１に記載の方法。
【請求項３０】
前記複数のスナップショットが、複数台のコンピュータのそれぞれに存在するソフトウェアエージェントによって作成される請求項１に記載の方法。
【請求項３１】
所定のスケジュールと、所定のイベントの発生の少なくとも１つに従って、前記複数のスナップショットの１枚のアセット情報を収集することをさらに含む請求項３０に記載の方法。
【請求項３２】
前記複数のスナップショットの１枚でのアセット名またはアセット値の第１の発生を識別することと、
前記アセット名またはアセット値の前記第１の発生と関連付けられる識別子を生成することと、
前記アセット名またはアセット値の前記第１の発生と前記識別子を関連付けることと、
前記複数のアセット／値組での前記アセット名またはアセット値の第２の発生を識別することと、
前記アセット名またはアセット値の前記第２の発生と前記識別子を関連付けることと、
をさらに備える請求項１に記載の方法。
【請求項３３】
符号化されたプログラムコードがその上にあるコンピュータ読み取り媒体であって、前記プログラムコードが、
複数台のコンピュータから複数のスナップショットを受信するためのプログラムコードと、
前記複数のスナップショットをデータストアに記憶するためのプログラムコードと、
少なくとも部分的に前記複数のスナップショットに基づいて適応基準モデルを作成するためのプログラムコードと、
前記複数のスナップショットの少なくとも１枚を前記適応基準モデルに比較するためのプログラムコードと、
前記比較に基づいて少なくとも１つの異常を識別するためのプログラムコードと、
を備えるコンピュータ可読媒体。
【請求項３４】
前記複数台のコンピュータの少なくとも１台で状態を診断するために、前記少なくとも１つの異常を少なくとも１つの認識フィルタに適合させるためのプログラムコードをさらに備える請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
前記状態に対応するためのプログラムコードをさらに備える請求項３４に記載の前記コンピュータ可読媒体。
【請求項３６】
前記状態に対応するためのプログラムコードが、
通知を作成するためのプログラムコードと、
問題管理システムにトラブルチケットを提出するためのプログラムコードと、
アクションを講じるための許可を要求するためのプログラムコードと、
前記複数台のコンピュータの少なくとも１台から前記状態を削除するためのプログラムコードと、
の少なくとも１つを備える請求項３５に記載のコンピュータ可読媒体。
【請求項３７】
前記状態を削除するためのプログラムコードが、前記状態によって影響を及ぼされる前記複数台のコンピュータの少なくとも１台で修理プログラムを実行させるためのプログラムコードを備える請求項３６に記載のコンピュータ可読媒体。
【請求項３８】
前記複数台のコンピュータのどれが前記状態によって影響を受けるのかを決定するためのプログラムコードと、
前記状態によって影響を受ける前記複数台のコンピュータのそれぞれの代わりに前記状態に対する応答を実行させるためのプログラムコードと、
をさらに備える請求項３４に記載のコンピュータ可読媒体。
【請求項３９】
前記状態を診断するためのプログラムコードが、前記少なくとも１つの異常の根本的原因を識別するためのプログラムコードを備える請求項３４に記載のコンピュータ可読媒体。
【請求項４０】
前記少なくとも１つの異常を前記少なくとも１つの認識フィルタに適合させるためのプログラムコードが、複数の認識フィルタに存在する前記少なくとも１つの異常に関連付けられるアセット名を識別するためのプログラムコードをさらに備える請求項３４に記載のコンピュータ可読媒体。
【請求項４１】
前記少なくとも１つの認識フィルタが複数の認識フィルタを備え、前記少なくとも１つの異常を前記少なくとも１つの認識フィルタに適合させるためのプログラムコードが、前記複数の認識フィルタのアセット値に適合する前記少なくとも１つの異常においてアセット値を識別するためのプログラムコードを備える請求項３４に記載のコンピュータ可読媒体。
【請求項４２】
前記少なくとも１つの認識フィルタと前記少なくとも１つの異常の一致の質を決定するためのプログラムコードをさらに備える請求項３４に記載のコンピュータ可読媒体。
【請求項４３】
前記複数のスナップショットの少なくとも１つを前記適応基準モデルに比較するためのプログラムコードが、
結果を生じさせるためのプログラムコードと、
前記結果をユーザに提供するためのプログラムコードと、
を備える請求項３３に記載のコンピュータ可読媒体。
【請求項４４】
前記複数のスナップショットのそれぞれがアセット名とアセット値の複数の組を備え、前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較するためのプログラムコードが、
予想外に存在するアセット名を識別するために、各アセット名を前記適応基準モデルに比較するためのプログラムコードと、
予想外に不在のアセット名を識別するために、各アセット名を前記適応基準モデルに比較するためのプログラムコードと、
未知の、または普通ではないアセット値を識別するために、各アセット値を前記適応基準モデルに比較するためのプログラムコードと、
を備える請求項３３に記載のコンピュータ可読媒体。
【請求項４５】
前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較するためのプログラムコードが、アセット値が最小閾値を下回るかどうか、または最大閾値を超えるかどうかを決定するためのプログラムコードをさらに備える請求項４４に記載のコンピュータ可読媒体。
【請求項４６】
前記適応基準モデルに前記複数のスナップショットの前記少なくとも１枚を比較するためのプログラムコードが、前記複数のスナップショットの前記少なくとも１枚の中の前記アセット名のすべてが、前記適応基準モデル内に存在し、アセット名の中の複数の高い確率関係性と一貫性があるかどうかを判断するためのプログラムコードをさらに備える請求項４４に記載のコンピュータ可読媒体。
【請求項４７】
前記複数のスナップショットの前記少なくとも１枚を前記適応基準モデルに比較するためのプログラムコードが、分析適用範囲基準と診断精度基準と関連付けられた信頼水準を判断するためのプログラムコードをさらに備える請求項４４に記載のコンピュータ可読媒体。
【請求項４８】
前記複数のスナップショットが複数台のコンピュータのそれぞれに存在するソフトウェアエージェントによって作成される請求項３３に記載のコンピュータ可読媒体。
【請求項４９】
前記複数のスナップショットの１枚のアセット情報を、所定のスケジュールと所定のイベントの発生の少なくとも１つに従って収集するためのプログラムコードをさらに備える請求項４８に記載のコンピュータ可読媒体。
【請求項５０】
前記複数のスナップショットの１枚でのアセット名またはアセット値の第１の発生を識別するためのプログラムコードと、
前記アセット名またはアセット値の前記第１の発生と関連付けられる識別子を生成するためのプログラムコードと、
前記アセット名またはアセット値の前記第１の発生と前記識別子を関連付けるためのプログラムコードと、
前記複数のアセット／値組の中の前記アセット名またはアセット値の第２の発生を識別するためのプログラムコードと、
前記アセット名またはアセット値の前記第２の発生と前記識別子を関連付けるためのプログラムコードと、
をさらに備える請求項３３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本発明は、ともに参照することにより本書に含まれる２００３年８月１１日に出願された米国仮出願番号第６０／４９４，２２５号、及び「適応基準モデルの作成及び使用のためのシステム及び方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｃｒｅａｔｉｏｎ  ａｎｄ  Ｕｓｅ  ｏｆ  ａｎ  Ａｄａｐｔｉｖｅ  Ｒｅｆｅｒｅｎｃｅ  Ｍｏｄｅｌ）」と題されるこれとともに出願される米国出願番号第    ／      ，      号、代理人整理番号第５２２７０／３０２８４０号の利点を主張する。
【０００２】
技術分野
本発明は、概して自動化されたコンピュータサポートのためのシステム及び方法に関する。
【０００３】
背景技術
情報技術の複雑度が増すに従って、サポート事件の頻度が増え、人間の分析専門家に対する技能要件の要求はさらに厳しくなるとともに問題管理コストが上昇する。従来の問題管理ツールはこれらのサポートタスクを実行する人間の効率を高めることによって費用を削減するように作られている。これは、通常、トラブルチケット情報の捕捉を少なくとも部分的に自動化することによって、及び知識ベースへのアクセスを容易にすることによって達成される。この種の自動化は有効であるが、サポートモデル自体における根本的な弱点、つまり人間に対するその依存度に対処できないために利益を減殺する点に至った。
【０００４】
表１は、従来の人間ベースのサポートモデルにおける事件解決に関連する人件費の分布を示している。示されているデータはヘルプデスクソフトウェアの主要な供給業者であるテキサス州オースティン（Ａｕｓｔｉｎ，Ｔｅｘａｓ）のモーティブコミュニケーションズ社（Ｍｏｔｉｖｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｉｎｃ．Ａｕｓｔｉｎ．Ｔｅｘａｓ）（ｗｗｗ．ｍｏｔｉｖｅ．ｃｏｍ）によって提供される。最も高価な原価項目は人間の分析専門家及び／または対話（例えば、診断、調査、解決）を必要とするタスクと関連付けられる原価項目である。
【表１】
2007502467.tif 000003
【０００５】
自動化された問題管理のための従来のソフトウェア解決策はこれらのコストを減少し、広範囲のサービスレベル全体で価値を高めようとする。マサチューセッツ州、ケンブリッジ（ｗｗｗ．ｆｏｒｒｅｓｔｅｒ．ｃｏｍ）にあるフォレスタリサーチ社（Ｆｏｒｒｅｓｔｅｒ  Ｒｅｓｅａｒｃｈ  Ｉｎｃ．）は、これらのサービスレベルの有効な特徴付けを提供する。フォレスタリサーチは、（１）集団回復――事件が発生する前にそれらを解決する、（２）自己回復――事件が発生するとそれらを解決する、（３）自己点検−ユーザが呼び出す前に事件を解決する、（４）支援点検−ユーザが呼び出すと事件を解決する、及び（５）デスクサイド訪問−他のすべてが失敗すると事件を解決する、を含む５つのサービスレベルに従来の自動コンピュータサポート解決策を分ける。フォレスタによれば、従来の自己回復サービスを使用する１事件あたりの費用は、１ドル未満である。しかしながら、費用は瞬く間に増え、デスクサイド訪問が最終的に必要とされる場合１事件あたり３００ドル以上に達する。
【０００６】
集団回復の目的は事件をそれらが発生する以前に解決することである。従来のシステムでは、この目的はすべてのＰＣの構成を同じにする、あるいは最低でも１台のＰＣで発見された問題が他のＰＣで再現されないことを確実にすることにより達成される。通常このサービスレベルに関連付けられた従来の製品はソフトウェア分散ツールと構成管理ツールからなる。アンチウィルススキャナ、侵入検出システム及びデータ完全性チェッカなどのセキュリティ製品も、事件が発生するのを防ぐことに集中するため、このレベルの一部と見なされる。
【０００７】
このサービスレベルに対処しようとする従来の製品は、管理される集団（population）を少数の公知の優れた構成に抑制することによって、及び相対的に少数の公知の不良構成（例えばウィルスシグナチャ）を検出し、排除することによって動作する。この手法の問題は、それが（１）すべての優れた構成及び不良の構成が事前に公知である、及び（２）いったんそれらが公知になるとそれらは相対的に安定し続けると仮定することである。コンピュータシステムとネットワーキングシステムの複雑度が増すにつれて、ネットワークの任意の特定のノードの安定性は減少する傾向にある。任意の特定のノード上のハードウェアとソフトウェアの両方とも頻繁に変化する可能性がある。例えば、多くのソフトウェア製品は、内部ネットワークまたはインターネット上でアクセスされるソフトウェアパッチを使用して自動的にそれら自体を更新することができる。無限数の優れた構成と不良構成があるため、及びそれらが絶えず変化するために、これらの従来の自己回復製品は単に部分的に有効である以上ではない。
【０００８】
さらに、ウィルスの作者はますます巧妙なウィルスを開発し続けている。従来のウィルス検出根絶ソフトウェハは、ウィルスを検出し、根絶するために公知のパターンを特定する能力に依存している。しかしながら、ウィルスの数と複雑度が増すにつれ、公知のウィルスのデータベースを維持するために必要とされる資源及びネットワーク上のノードの集団に解決策を配布するために必要とされる資源と組み合わされた、それらのウィルス用の解決策は圧倒的になってきている。さらにＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステムを活用する従来のＰＣは、７，０００を超えるシステムと、そのすべてが多値である１００，０００を超えるレジストリキーを含む。したがって、すべての実践的な目的のため、無限数の良好な状態と無限数の不良状態が存在し、不良状態を識別するタスクをさらに複雑化する可能性がある。
【０００９】
自己回復レベルの目的はヘルプデスクに電話がかかる前に、つまり理想的にはユーザが問題の存在をも認識する前に問題を検知し、自動的に補正することである。従来の自己回復ツール及びユーティリティは、Ｐｅｔｅｒ  ＮｏｒｔｏｎがＰＣ診断及び修復ツールのセットを導入した１９８０年後半以来存在している（ｗｗｗ．Ｓｙｍａｎｔｅｃ．ｃｏｍ）。これらのツールは、新製品のインストールの前に設定される復元点までユーザがＰＣを復元できるようにするツールも含む。しかしながら、従来のツールのどれも現実世界の条件下ではうまく働かない。
【００１０】
これらの従来のツールの１つの根本的な問題は、「正常」を「異常」と確実に区別するほど十分な適用範囲、精度、及び柔軟性をもった参照モデルを作成する上での難しさである。問題を悪化させているのは、「正常」の定義が、新しいソフトウェアアップデート及びアプリケーションが配備されるにつれて絶えず変化するという事実である。これは、厄介な技術的な課題であり、従来のツールのどれかが克服しなければならない課題である。
【００１１】
自己点検レベルの目的は、エンドユーザが自分自身を助けることができるようにする自動化されたツールと知識ベースの集合体を提供することによりヘルプデスクにかかる電話の量を削減することである。従来の自己点検レベルの製品は「方法」知識ベースと、忘れてしまったパスワードの再設定などの低リスクの反復的なサポート機能を自動化するソフトウェア解決策の集合体からなる。これらの従来の解決策は、それらが自ら招いた損害の尤度を上げるという点で大きな弱点を有する。この理由から、それらは特定の種類の問題とアプリケーションに限定される。
【００１２】
支援点検レベルの目的とは、サービスを管理するための自動化されたインフラストラクチャを提供することによって、及びパソコンを遠隔制御し、エンドユーザと対話する能力を与えることによって人間の効率を高めることである。従来の支援点検製品はヘルプデスクソフトウェア、オンライン参考資料及び遠隔制御ソフトウェアを含む。
【００１３】
この点検レベルの製品はおそらくここに説明されている製品と解決策の中で最も成長した（製品）であるが、それでもまだユーザと組織の要件を完全に満たすことができない。具体的には、これらの製品が問題を自動的に診断できる能力は、診断の精度（多くの場合複数の選択肢）だけではなく正しく識別できる問題の種別という両方の点で厳しく制限されている。
【００１４】
デスクサイド訪問は他のすべて失敗すると必要になる。この点検レベルは遠隔で診断／修復できないコンピュータを復元するために必要となる可能性があるあらゆる実際的な活動を含む。それは、タイムリな解決策を補償するためにこれらの活動を追跡調査し、管理することも含む。すべてのサービスレベルの内、このレベルは高度に訓練された、従って高価な人的資源からかなりの時間を必要とする可能性が高い。
【００１５】
このレベルの従来製品は、時間をかけ、またおそらくは複数のカスタマーサービス担当者によって顧客の問題を追跡、解決する専門の診断ツールおよびソフトウェア製品からなっている。
【００１６】
したがって、必要とされるのは、サポート費用を大幅に削減するために必要となるパラダイムシフトである。このシフトは、マシン（machine）が決定を下し、アクションを開始するための一次エージェントとして役立つ新しいサポートモデルの出現によって特徴付けられる。
【００１７】
発明の概要
本発明の実施形態は、自動化されたコンピュータサポートのためのシステム及び方法を提供する。本発明の一実施形態による１つの方法は、複数台のコンピュータから複数のスナップショットを受信することと、該複数のスナップショットをデータストアに記憶することと、少なくとも部分的に該複数のスナップショットに基づいて適応基準モデルを作成することとを含む。該方法は、適応基準モデルに対して複数のスナップショットの少なくとも１枚を比較することと、該比較に基づいて少なくとも１つの異常を識別することとをさらに備える。別の実施形態では、（例えばランダムアクセスメモリまたはコンピュータディスク等の）コンピュータ可読媒体はこのような方法を実施するためのコードを備える。
【００１８】
これらの実施形態は本発明を制限するまたは定義するためではなく、その理解を助けるために本発明の実施形態の例を提供するために言及される。例示的な実施形態は、発明の詳細な説明に説明され、本発明の追加の説明はそこに提供される。本発明の多様な実施形態によって提供される優位点は、本明細書を調べることによってさらに理解されてよい。
【００１９】
これらの及び他の特徴、態様、及び優位点は、以下の発明の詳細な説明が添付図面を参照して読まれるときにさらによく理解される。
【００２０】
発明の詳細な説明
本発明の実施形態は適応基準モデルの作成及び使用のためのシステムと方法を提供する。ここで類似した参照符号が複数の図全体で類似した要素を示す図面を参照すると、図１は本発明の一実施形態を実施するための例示的な環境を描くブロック図である。示されている実施形態は自動化されたサポートファシリティ１０２を含む。自動化サポートファシリティ１０２は図１の中で単一のファシリティとして示されているが、それは複数のファシリティを備える、あるいは管理された集団が存在するサイトに組み込まれる可能性がある。自動化サポートファシリティは、自動化サポートファシリティ１０２の中に記憶されるデータにセキュリティを提供するネットワーク１０６と通信するファイアウォール１０４を含む。自動化サポートファシリティ１０２は、コレクタ構成要素１０８も含む。コレクタ構成要素１０８は、他の機能の内、自動化サポートファシリティ１０２の中に、及び中からデータを転送するための機構を提供する。転送ルーチンはファイル転送プロトコル（ＦＴＰ）またはハイパテキスト転送プロトコル（ＨＴＴＰ）などの標準的なプロトコルを使用してよいか、あるいは独自仕様のプロトコルを使用してよい。コレクタ構成要素は、入信スナップショットをダウンロードし、解凍し、解析するのに必要な処理論理回路も提供する。
【００２１】
図示されている自動化サポートファシリティ１０２は、コレクタ構成要素１０８と通信する分析構成要素１１０も含む。分析構成要素１１０は、ここに説明される適応基準モデルを実現し、データベース構成要素１１２内に適応基準モデルを記憶するためのハードウェアとソフトウェアを含む。分析構成要素１１０は、データベース構成要素１１２から適用基準モデル及びスナップショットを抽出し、基準モデルの関連でスナップショットを分析し、あらゆる異常を識別し、フィルタリングし、適切なときに応答エージェント（複数の場合がある）を送信する。分析構成要素１１０は、システムにユーザインタフェースも提供する。
【００２２】
図示されている実施形態は、コレクタ構成要素１０８と分析構成要素１１０と通信するデータベース構成要素１１２も含む。データベース構成要素１１２は、エージェントからのデータを記憶するため、及び本発明の実施形態によって実行されるプロセスのための手段を提供する。データベース構成要素の一次機能はスナップショットと適応基準モデルを記憶することであってよい。それは、それらのテーブルを自動的に管理するために必要な処理論理だけではなくデータベーステーブルのセットも含む。図示されている実施形態は、ただ１つのデータベース構成要素１１２と１つの分析構成要素１１０を含む。他の実施形態は多くのデータベース及び／または分析構成要素１１２、１１０を含む。１つの実施形態は１つのデータベース構成要素と複数の分析構成要素を含み、平行分析タスクを実行する一方で複数のサポート人員が単一のデータベースを共用できるようにする。
【００２３】
本発明の実施形態は、複数のクライアントコンピュータ１１６ａ、ｂを備えてよい管理された集団１１４に自動化されたサポートを提供する。該管理された集団は、ネットワーク１０６を介して自動化サポートファシリティ１０２にデータを提供する。
【００２４】
図１に図示される実施形態では、エージェント構成要素２０２はそれぞれの監視されているマシン１１６ａ、ｂの中に配備される。エージェント構成要素２０２はクライアント１１６からデータを収集する。予定された間隔（例えば１日に一度）で、あるいは分析構成要素１１０からのコマンドに応えて、エージェント構成要素２０２はそれが存在するマシンの状態の詳細なスナップショットを撮る。このスナップショットは、全システムファイル、指定されたアプリケーションファイル、レジストリ、性能カウンタ、プロセス、サービス、通信ポート、ハードウェア構成要素、及びログファイルの詳細な説明を含む。各走査の結果は、次にスナップショットの形式で圧縮され、コレクタ構成要素１０８に送信される。
【００２５】
図１に図示されるサーバ、コンピュータ及びネットワーク構成要素のそれぞれは、プロセッサとコンピュータ可読媒体を備える。当業者に周知であるように、本発明の実施形態は複数の機能を単一のコンピュータの中に結合する、あるいは代わりに単一のタスクを実行するために複数のコンピュータを活用することによって多様な方法で構成されてよい。
【００２６】
本発明の実施形態によって活用されるプロセッサは、例えば、入力を処理し、アルゴリズムを実行し、本発明に従ってプロセスを支援して必要に応じて出力を生成することができるデジタル論理プロセッサを含んでよい。このようなプロセッサはマイクロプロセッサ、ＡＳＩＣ及び状態マシンを含んでよい。このようなプロセッサは、プロセッサによって実行されるときに、プロセッサにここに説明されるステップを実行させる命令を記憶するコンピュータ可読媒体を含むか、あるいはコンピュータ可読媒体と通信してよい。
【００２７】
コンピュータ可読媒体の実施形態は、コンピュータ読み取り可能命令を、タッチ入力装置と通信するプロセッサなどのプロセッサに提供できる電子デバイス、光学装置、磁気装置、または他の記憶装置または伝送装置を含むが、これらに限定されない。適切な媒体の他の例は、フロッピーディスク、ＣＤ−ＲＯＭ、磁気ディスク、メモリチップ、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、構成されたプロセッサ、全光媒体、全磁気テープまたは他の磁気媒体、またはコンピュータプロセッサが命令をその中から読み取ることができる任意の他の媒体を含むが、これらに限定されない。また、多様な他の形式のコンピュータ可読媒体は、ルータ、構内ネットワークまたは公衆網、あるいは他の伝送装置またはチャネル、有線と無線両方を含むコンピュータに命令を送信するまたは伝搬してよい。命令は、例えば、Ｃ、Ｃ＃、Ｃ＋＋、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｊａｖａ及びＪａｖａＳｃｒｉｐｔを含む任意のコンピュータプログラミング言語からのコードを備えてよい。
【００２８】
図２は、本発明の一実施形態での情報と動作の流れを描くブロック図である。図示される実施形態は、エージェント構成要素２０２を備える。エージェント構成要素は、各監視マシンの中に配備されるシステムの一部である。それは３つの主要な機能を実行する。第１に、それはデータを収集することに関与する。エージェント構成要素２０２は予定された間隔で、分析構成要素１１０からのコマンドに応えて、あるいはエージェント構成要素２０２によって検出される重要なイベントに応えて、クライアントマシン１１６ａ、ｂの広範囲な走査を実行してよい。この走査は全システムファイル、指定されたアプリケーションファイル、レジストリ、性能カウンタ、ハードウェア構成、ログ、実行中タスク、サービス、ネットワークコネクション、及び他の関連データの詳細な検査を含んでよい。それぞれの走査の結果は圧縮され、「スナップショット」の形式でネットワーク１０６上でコレクタ構成要素１０８に送信される。
【００２９】
一実施形態では、エージェント構成要素２０２は、調べられるファイルのあらゆるバイトを読み取り、ファイルごとにデジタルシグナチャまたはハッシュを作成する。デジタルシグナチャはサイズ及び作成日などのメタデータを単に提供するより各ファイルの正確なコンテンツを特定する。いくつかの従来のウィルスは、検出のためにメタデータに依存するシステムをごまかそうとしてファイルヘッダ情報を変更する。このような実施形態はこのようなウィルスを無事に検出できる。
【００３０】
エージェント構成要素２０２によるクライアントの走査はリソース集約型であってよい。一実施形態では、完全な走査が、例えば日々、ユーザがクライアントマシンを使用していない時間中、定期的に実行される。別の実施形態では、エージェント構成要素２０２はクライアントマシンのデルタ走査を実行し、前回の走査の変更だけを記録する。別の実施形態では、エージェント構成要素２０２による走査はオンデマンドで実行され、クライアントマシンでの異常を矯正しようとする技術者またはサポート人員に貴重なツールを提供する。
【００３１】
エージェント２０２によって実行される第２の重要な機能は、動作ブロックの機能である。エージェント２０２は絶えず（あるいは実質的に絶えず）システムファイルとレジストリなどの重要なシステム資源に対するアクセスを監視している。それは、悪質なソフトウェアからの損傷を防ぐためにリアルタイムでこれらの資源へのアクセスを選択的にブロックできる。動作監視が継続的に発生する一方で、動作ブロックは修理動作の一部として有効にされる。例えば、分析構成要素１１０がウィルスの存在を疑う場合、それはクライアントに、ウィルスが管理されているシステムの中の重要な情報資源にアクセスするのを阻止させるための修理動作をダウンロードできる。クライアント構成要素２０２は監視プロセスからの情報をスナップショットの一部として提供する。
【００３２】
エージェント構成要素２０２によって実行される第３の主要な機能は、応答エージェントに実行環境を提供することである。応答エージェントは多様な種類の障害状態に対処するために自動化された手順を実現する移動性のソフトウェア構成要素である。例えば、分析構成要素１１０がウィルスの存在を疑う場合、それはエージェント構成要素２０２に疑いのあるアセットを管理されているシステムから除去させるための応答エージェントをダウンロードできる。エージェント構成要素２０２は監視されているコンピュータ上でのサービスまたは他の背景プロセスとして実行してよい。本発明の実施形態によって提供される情報の適用範囲及び精度のため、修理は従来のシステムを用いる場合よりも正確に実行できる。クライアントという点で説明されるが、管理される集団１１４はＰＣのワークステーション、サーバ、または任意の他の種類のコンピュータを備えてよい。
【００３３】
図示されている実施形態は適応基準モデル構成要素２０６も含む。自動化されたサポート製品を構築する上での１つの困難な技術課題は、正常なシステム状態と異常なシステムも謡を区別するために使用できる基準モデルの作成である。現代のコンピュータのシステム状態は多くの多値変数によって決定され、その結果、実質的にはほぼ無限数の正常な状態と異常な状態がある。さらに悪いことに、これらの変数は新しいソフトウェア更新が配備されるにつれ、及びエンドユーザが通信すると、頻繁に変化する。図示される実施形態の適応基準モデル２０６は、多くのコンピュータからのスナップショットを分析し、この目的のために特に設計される一般的なデータマイニングアルゴリズムまたは独自仕様のデータマイニングアルゴリズムを使用して統計的に重要なパターンを識別する。その結果生じる規則セットはきわめて豊富（数十万の規則）であり、管理されている集団の一意の特性に合わせてカスタマイズされる。図示されている実施形態では、新しい基準モデルを構築するプロセスは完全に自動であり、ソフトウェア更新の計画配備などの所望される変化に該モデルが適用できるようにするために周期的に実行できる。
【００３４】
適応基準モデル２０６は、マシンの集団から統計的に重要なパターンの分析のために使用されるため、一実施形態では、統計的な基準の制度を確実するために最小数のマシンが分析される。一実施形態では、約５０台のマシンという最小集団が、マシンの分析のために体系的に関連性のあるパターンを達成するために試験される。いったん基準が確立されると、何らかの異常が集団全体、あるいは該集団の任意のメンバで発生しているかどうかを確認するためにサンプルが使用できる。
【００３５】
別の実施形態では、分析構成要素１１０は、ユーザが正確な分析を提供するために十分な数のサンプルがいつ蓄積されたのかを判断できるようにする成熟度測定基準のセットを計算する。これらの成熟度測定基準は、多様なレベルの信頼度（例えば、高、中、及び低）に対応する所定の基準を満たしたモデルの各レベルで使用可能な関係性のパーセンテージを示す。１つのこのような実施形態では、ユーザは該測定基準を監視し、成熟したモデルを作成するために十分なスナップショットが同化したことを確実にする。別のこのような実施形態では、分析構成要素１１０は、それがユーザによって設定された所定の成熟度目標に達するまでサンプルを同化する。どちらかのこのような実施形態では特定数のサンプル（例えば５０）を同化することは必要ではない。
【００３６】
図２に示される実施形態は、ポリシーテンプレート構成要素２０８も備える。該ポリシーテンプレート構成要素２０８は、サービスプロバイダが適応基準モデルの中に「ポリシー」の形で規則を手動で挿入できるようにする。ポリシーは属性（ファイル、レジストリキー等）と、モデルに適用されるとモデルの中の統計的に生成される情報の部分を無効にする値の組み合わせである。この機構は、機密保護ポリシーへの準拠を検証し、適切なソフトウェアアップグレードがインストールされていることを確実にするためにチェックするなど、多岐に渡る共通保守活動を自動化するために使用できる。
【００３７】
コンピュータで異常が発生すると、それは多くの場合、多くの異なる情報アセット（ファイル、レジストリキー等）に影響を及ぼす。例えば、「トロイの木馬」は悪質なファイルをインストールし、それらのファイルが実行されることを確実にするために特定のレジストリキーを追加し、通信のためのポートを開く可能性がある。図２に図示される実施形態は、感染したマシンのスナップショットを適応基準モデルで具現化される規準と比較することによってこれらの望ましくない変化を異常として検出する。異常は予期せずに存在するアセット、予期せずに不在のアセットまたは未知の値を有するアセットとして定義される。異常は、認識ファイル２１６のライブラリに照合される。認識フィルタ２１６は特定の根本的原因状態または一般的なクラスの条件の存在を示す異常のある特定のパターンを備える。認識フィルタ２１６は、条件を重大度表示、テキスト記述、及び応答エージェントへのリンクにも関連付ける。別の実施形態では、認識フィルタ２１６は、悪性の異常を識別し、解釈するために使用できる。例えば、ユーザが、管理者が問題を引き起こさないと自信のある新しいアプリケーションを追加する場合にも、本発明によるシステムは新しいアプリケーションを異常のセットとして報告するであろう。アプリケーションが新しい場合には、それが異常として追加するアセットを報告することは正しい。しかしながら、管理者は、アプリケーションを良性として追加することによって生じる異常を解釈するために認識フィルタ２１６を使用できる。
【００３８】
本発明の実施形態では、特定の属性は連続的なプロセスに関連する。例えば、性能データは多様なカウンタから構成される。これらのカウンタはある特定の期間での多様なイベントの発生を測定する。このようなカウンタの値が集団全体で正常であるかどうかを判断するために、本発明の一実施形態は平均偏差と標準偏差を計算する。異常は、カウンタの値が平均から特定数の標準偏差を超えて低下すると宣言される。
【００３９】
別の実施形態では、機構は適応基準モデル２０６が異常を含むスナップショットを同化するケースを処理する。モデルは、いったん所望される成熟度レベルを達成すると、同化した可能性のある異常を除去するプロセスを受ける。これらの異常は成熟したモデルでは強力な関係性に対する隔離された例外として可視である。例えば、ファイルＡが９９９のマシンの中のファイルＢと関連して出現するが、一つのマシンの中でファイルＡは存在するがファイルＢが見当たらない場合には、プロセスは後の関係性が異常であり、それがモデルから削除されると仮定する。モデルが以後チェックに使用されると、ファイルＢは含まないがファイルＡを含むマシンは異常とフラグを立てられる。
【００４０】
図２に示される本発明の実施形態は、応答エージェントライブラリ２１２も含む。応答エージェントライブラリ２１２によって、サービスプロバイダは特殊な障害状態について自動化された応答を生み出し、記憶できる。これらの自動化された応答は、ファイルを置換する、またはレジストリ値を変更するなどの動作を実行するために管理されているマシンにディスパッチできるスクリプトの集合体から構築される。いったん障害状態が分析され、応答エージェントが定義されると、その後の同じ障害状態の発生は自動的に補正されなければならない。
【００４１】
図３は、本発明の一実施形態における異常検出の全体的なプロセスを描くフローチャートである。図示されている実施形態では、エージェント構成要素（２０２）が周期的に、例えば日に一度スナップショットを実行する３０２。このスナップショットは大量のデータを収集することを必要とし、クライアントの構成に応じて実行に数分から数時間のいずれかを要する。走査が完了すると、結果が圧縮され、フォーマットされ、コレクタ構成要素３０４として公知の安全なサーバに対してスナップショットの形式で送信される。コレクタ構成要素は管理された集団から提出されるスナップショットのすべてのための中央レポジトリとして働く。それから、各スナップショットは解凍され、解析され、コレクタ構成要素によってデータベース内の多様なテーブルに記憶される。
【００４２】
検出機能（２１８）は、スナップショットのコンテンツを、その管理されている集団３０８にとって正常であることが公知である数十万の統計的に関連性のある関係性に照らし合わせて調べるために、適応基準モデル構成要素（２０６）に記憶されるデータを使用する。異常が発見されない場合３１０、プロセスは終了する３２４。
【００４３】
異常が発見されると３１０、認識フィルタ（２１０）が、異常が任意の既知の状態３１２に一致するかどうかを判断するために参照される。回答がイエスの場合には、異常は診断された状態に従って報告される３１４。それ以外の場合、以上は認識されていない異常として報告される３１６。認識フィルタ（２１６）は、自動化された応答がその特定のタイプの条件３１８について許可されているかどうかも示す。
【００４４】
一実施形態では、認識フィルタ（２１６）は複数の異常を認識し、統合できる。認識フィルタを異常に適合させるプロセスは、スナップショット全体が分析され、そのスナップショットに関連付けられるすべての異常が検出された後に実行される。一致が異常のサブセットと認識フィルタの間で発見されると、認識フィルタの名前は出力ストリームの異常の部分集合と関連付けられる。例えば、ウィルスの存在はファイル異常、プロセス異常、及びレジストリ異常のセットを生成する。認識フィルタは、ユーザがすべての異常を類似する共通の理由、つまりウィルスに関連させる記述名だけを見るようにこれらの異常を連結するために使用できるであろう。
【００４５】
自動化された応答が許可されると、応答エージェントライブラリ（２１２）は影響を受けたマシン３２０に適切な応答エージェントをダウンロードする。影響を受けたマシンのエージェント構成要素２０２は次に障害状態３２２を補正するために必要とされるスクリプトのシーケンスを実行する。それから、示されているプロセスが終了する３２４。
【００４６】
本発明の実施形態は、パソコンとサーバの集団を維持するコストを大幅に削減する。一実施形態は障害状態を、それらがヘルプデスクに拡大する前に自動的に検出し、補正することによって、及びサポートアナリストが自動的に対処されないあらゆる問題を解決するために必要とされる時間を短縮するために診断情報を提供することによってこの目的を達成する。
【００４７】
事件が発生する頻度を削減するものはいずれもコンピュータサポートの費用に対して大きなプラスの影響を及ぼす。本発明のある実施形態は、管理されているマシンの状態を、それが脅威に対してさらに耐性があるように監視し、調整する。ポリシーテンプレートを使用すると、サービスプロバイダはあらゆる管理されているシステムのセキュリティの状況を日常的に監視し、セキュリティ設定値を自動的に調整し、公知の脆弱性を排除するためにソフトウェアアップグレードをインストールすることができる。
【００４８】
人間をベースにしたサポートモデルでは、障害状態はエンドユーザによって検出され、ヘルプデスクに報告され、人間の専門家によって診断される。このプロセスは多くの点で費用を発生させる。第１に、エンドユーザが解決を待機する間に失われる生産性に関連する費用がある。また、通常はヘルプデスク人員により実行されるデータ収集の費用がある。加えて、訓練された（高価な）サポートアナリストのサービスを必要とする診断費用がある。対照的に、本発明に従って実現されるマシンをベースにしたサポートモデルは、多くのソフトウェア関連の障害状況を自動的に感知し、報告し、診断する。適応基準モデル技術は、極端な多様性及び以前には可能ではなかった感度と精度を伴なう変化の存在下での異常状態の検出を可能にする。
【００４９】
本発明の一実施形態では、擬陽性を防止するために、システムは多様な信頼水準で動作するように構成され、良性であることが公知である異常は認識フィルタを使用して除去できる。認識フィルタは、特殊なタイプの望ましくないまたは悪質なソフトウェアの存在に対してサービスプロバイダに警告するために使用することもできる。
【００５０】
従来のシステムでは、コンピュータの事件は、通常、一連の試行錯誤の修理動作を適用することにより人間によって解決される。これらの修理動作は「スレッジハンマー」の寄せ集め、つまりそれらが補正することを目的としていた障害状態よりはるかに影響を及ぼす解決策となる傾向がある。複数の選択肢の修理手順及びスレッジハンマー解決策は、問題の不適切な理解の結果であり、不必要な費用の原因である。本発明によるシステムは問題を完全に特徴付けるためのデータを有しているため、それは二通りの方法で修理の費用を削減できる。第１に、それは、必要とされる自動化された応答を指定する認識フィルタが定義される場合に、事件を自動的に解決できる。第２に、自動修理が可能ではない場合、システムの診断能力が人間をベースにした修理プロセスに固有の当て推量を排除し、実行時間を短縮し、さらに大きな精度を可能にする。
【００５１】
図４は、本発明の一実施形態における適応基準モデルの構成要素を描くブロック図である。図４は例示的に過ぎない。
【００５２】
図４に図示される実施形態は多層単一サイロ（ｓｉｌｏ）適応基準モデル４０２を描く。示されている実施形態では、サイロ４０４は３つの層、つまり値層４０６、クラスタ層４０８、及びプロファイル層４１０を備える。
【００５３】
値層４０６は、図１の管理されている集団（１１４）全体で、ここに説明されるエージェント構成要素（２０２）によって提供されるアセット値の組の値を追跡調査する。スナップショットが適応基準モデル４０２と比較されると、適応基準モデル４０２の値層４０６はその中に含まれる各アセット値の組の値部分を評価する。この評価は、スナップショットの中の任意のアセット値が適応基準モデル４０２によって表されているように管理されている集団の中でアセット値の統計的に重要なパターンに違反するかどうかを判断することからなる。
【００５４】
例えば、エージェント（１１６ｂ）は、ある特定のシステムファイルのためのデジタルシグナチャを含むスナップショットを転送する。（適応基準モデルが構築されているときの）同化プロセスの間、モデルは、それが各アセット名について遭遇する値、及びその値に遭遇する回数を記録する。したがって、あらゆるアセット名について、モデルは、それが集団の中で見ている「有効な」値を知っている。モデルがチェックに使用されると、値層４０６は、スナップショットの各属性の値がモデルの「有効」値の値と一致するかどうかを判断する。例えば、ファイルの場合、ファイルの多様なバージョンが管理されている集団で存在する可能性があるため、多くの「有効」値が考えられる。異常は、基準が統計的に一貫性がある１つまたは複数のファイル値を含み、スナップショットがモデルの中のファイル値のどれにも一致しなかったファイル値を含んでいる場合に宣言されるであろう。モデルは属性に「有効な」の値がない状況も検出できる。例えば、ログファイルは頻繁に変化するために有効な値は有さない。「有効」値が存在しない場合には、スナップショットの中の属性値はチェックの間に無視される。
【００５５】
一実施形態では、適応基準モデル４０２は、異常が真に異常であり、単なる新しいファイルの変形ではないことを確実にするための基準を実現する。該基準は、信頼水準を含んでよい。信頼水準は、一意のファイルが異常と報告されるのを阻止しない。信頼水準は特定の基準を満たすそれらの関係性に、チェックプロセスの間のモデルで使用される関係性を抑制する。各レベルに関連付けられた基準は特定統計上の確率を達成するように作られている。例えば、一実施形態では、高信頼水準のための基準は９０％を超える統計的確率を達成するように作られる。より低い信頼水準が指定される場合には、統計上信頼できない追加の関係性がチェックプロセスに含まれる。実行可能であるが、可能性が低い関係性を考慮するプロセスは、我々が確信できるようにするすべての情報を持たずに決定を下す必要があるときに憶測する人間のプロセスに類似している。連続して変化する環境では、管理者は低い信頼水準に結び付いた異常を除去することを希望する可能性がある。つまり、管理者は可能な限り多くの擬陽性を排除することを希望する。
【００５６】
信頼水準を実現する実施形態では、ユーザがマシンに異常があることを報告するが、管理者がデフォルトの信頼水準で異常を見ることができない場合、管理者は信頼水準を引き下げ、分析プロセスがさらに低い統計的な意味を有し、さらに高い信頼水準では無視される関係性を検討できるようにする。信頼水準を引き下げることにより、管理者は統計的に重要となるほど十分なサンプルを有さないが、何が問題であるのかに関して我々に手掛かりを与える可能性があるパターンを適応基準モデル４０２が含むことができるようにする。言い換えると、管理者はマシンが憶測できるようにしている。
【００５７】
別の実施形態では、値層４０６は、指定された数のスナップショットを同化した後に、アセット値が任意の安定したパターンを示すことができない場合に、適応基準モデル４０２からアセット値を自動的に排除する。例えば、多くのアプリケーションがログファイルを作成する。ログファイルの値は絶えず変化し、マシンごとにめったに同じにはならない。一実施形態では、これらのファイル値は初期に評価されてから、指定数の評価の後に適応基準モデル４０２から排除される。システムは、モデル４０２からこれらの種類のファイル値を排除することによって検出プロセス２１８の間の不必要な比較を排除し、低値情報を取り除くことによりデータベース記憶要件を削減する。
【００５８】
本発明の実施形態は、アセット値を適応基準モデル４０２から排除することに限定されない。一実施形態では、プロセスはアセット名にも適用する。特定のアセット名は「本来一意」である。すなわち、それらはある特定のマシンに対しては一意であるが、それらは正常な動作の副産物である。一実施形態では、別個のプロセスが不安定なアセット名を処理する。このような実施形態におけるこのプロセスは、本来一意であり、それらが異常として報告されないようにそれらがモデル内に留まることを可能にするアセット名を識別する。
【００５９】
図４に示される第２の層はクラスタ層４０８である。クラスタ層４０８はアセット名の間の関係性を追跡調査する。アセット名は、ファイル名、レジストリキー名、ポート番号、プロセス名、サービス名、性能カウンタ名、またはハードウェア特性を含む種々のエンティティに適用できる。特定の集合が一般的に管理されている集団（１１４）の中のマシン上で縦一列になって存在するとき、クラスタ層４０８は、アセット名の集合の要素がないときに異常のフラグを立てることができる。
【００６０】
例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステムを実行しているコンピュータ上の多くのアプリケーションが多数の動的リンクライブラリ（ＤＬＬ）を必要とする。各ＤＬＬは多くの場合１つまたは複数の他のＤＬＬに依存する。第１のＤＬＬが存在する場合、したがって他のＤＬＬも存在しなければならない。クラスタ層４０８はこの依存性を追跡調査し、ＤＬＬの内の１つが見当たらない、あるいは改変される場合、クラスタ層４０８は、異常が発生したことを管理者に警報で知らせる。
【００６１】
図４に図示される適応基準モデル４０２の第３の層は、プロファイル層４１０である。図示されている実施形態の中のプロファイル層４１０はクラスタ関係性の違反に基づいて異常を検出する。二種類の関係性、結合（クラスタが一緒に現れる）及び排他的（クラスタは絶対に一緒に現れない）がある。プロファイル層４１０により、適応基準モデルが、アセット間の矛盾だけではなく、クラスタ層によって検出されない紛失中のアセットも検出できるようにする。プロファイル層４１０は、どのクラスタが、互いに強い結合関係性及び排他的な関係性を有するのかを判断する。このような実施形態では、ある特定のクラスタが、通常、それが強力な結合関係性を有する他のクラスタの存在のおかげで予想されるスナップショットで検出されない場合に、プロファイル層４１０はそのクラスタの不在を異常として検出する。同様に、クラスタが、通常、それが強い排他的な関係性を有する他のクラスタの存在のために予想されないであろうスナップショットで検出されると、プロファイル層４１０は異常として第１のクラスタの存在を検出する。プロファイル層４１０によって適応基準モデル４２０は、サイロ４０４のさらに低いレベルでは検出不可能となるであろう異常を検出することができる。
【００６２】
図４に図示される適応基準モデル４０２は、当業者にとって周知である多様な方法で実現されてよい。適応基準モデル４０２の処理を最適化することによって、及び十分な処理資源と記憶資源を提供することによって、本発明の実施形態は、制限されない数の管理されている集団と個々のクライアントをサポートできる。新しいモデルの同化とチェックでのモデルの使用の両方とも、数十万の属性名と値の比較を必要とする。名前と値のテキスト文字列を使用してこれらの比較を実行することは、非常に要求が厳しい処理タスクである。本発明の一実施形態では、入信スナップショットの中のあらゆる一意の文字列に整数識別子が割り当てられる。そして、文字列ではなく整数識別子を使用して比較が行われる。コンピュータはファイル名またはレジストリキー名に関連付けられる長い文字列よりはるかに速く整数を比較できるため、処理効率は大幅に改善される。
【００６３】
適応基準モデル４０２はエージェント構成要素（２０２）のデータに依存する。本発明の一実施形態におけるユーザインタフェースとエージェント構成要素（２０２）の機能要約である、エージェント構成要素（２０２）の機能性が前述される。
【００６４】
本発明の実施形態は管理されている集団の中のクライアントマシン全体でレジストリエントリを比較できる。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステムを実行しているレジストリキーをさまざまなマシンで比較する際の１つの問題は、グローバル一意識別子（「ＧＵＩＤ」）から派生する。１つのマシン上の特定のアイテムのためのＧＵＩＤは、第２のマシン上の同じアイテムのためのＧＵＩＤとは異なる可能性がある。したがって、本発明の実施形態は比較の目的でＧＵＩＤを正規化するための機構を提供する。
【００６５】
図５は、本発明のある実施形態におけるクライアント上でレジストリ情報を正規化するプロセスを描くフローチャートである。図示される実施形態では、ＧＵＩＤは最初に２つのグループ５０２にグループ化される。ＧＵＩＤの第１のグループは、管理されている集団の中のマシン全体で一意ではない（複製された）ＧＵＩＤである。第２のグループは、マシン全体で一意であるＧＵＩＤを含む。つまり同じキーが管理されている集団の中のさまざまなマシン上で別のＧＵＩＤを有する。第２のグループのキーは次に並べ替えられる５０４。このようにして、同じマシンの中の２つまたは３つ以上のキーの関係性は識別できる。目的は、複数のマシン全体でそれらを比較できるようにするように、このような関係性を正規化することである。
【００６６】
次に示される実施形態は、キー５０６の中の値にハッシュを作成する。これは、すべての名前、パス名、及びキーに含まれる他の値のための一意の識別子を生じさせる。次にハッシュがＧＵＩＤ５０８の代わりをする。このようにして、一意性はマシン内で維持されるが、関係性が識別できるように同じハッシュはあらゆるマシンで現れる。該関係性により、適応基準モデルは管理されている集団の中で異常を識別できるようにする。
【００６７】
例えば、従来のウィルスは多くの場合、感染したマシンが該ウィルスを蔓延させた実行可能形式を実行するようにレジストリキーを変更する。本発明の実施形態は、レジストリキーを正規化するその能力のために集団の１台または複数台のマシンでのレジストリに対する変更を特定できる。
【００６８】
図６は、本発明の一実施形態における異常を識別し、異常に対応するための方法を描くフローチャートである。図示されている実施形態では、コレクタ構成要素（１０８）などのプロセッサが複数のスナップショットを複数のコンピュータ６０２から受信する。以下の説明は、図６に図示されるプロセスを分析構成要素（１１０）によって実行されるとして記述するが、適切なプロセッサは図示されるプロセスを実行してよい。複数のスナップショットは２台のコンピュータからわずか２枚のスナップショットを備えてよい。代わりに、複数のスナップショットは数千のスナップショットを備えてよい。スナップショットは調べられる集団の中のコンピュータについてのデータを備える。例えば、複数のスナップショットが組織のローカルエリアネットワークと通信中のコンピュータのそれぞれから受信されてよい。各スナップショットはある特定の時点でのあるコンピュータの状態を表すアセット値の組の集合体を備える。
【００６９】
コレクタ構成要素（１０８）はスナップショットを受信すると、それらを記憶する６０４。スナップショットを記憶することは、データベース（１１２）内またはメモリ（不図示）内にそれらを記憶することを備えてよい。該スナップショットは、一時的にまたは恒久的に記憶されてよい。また、本発明のある実施形態では、スナップショット全体がデータストアに記憶される。別の実施形態では、過去のバージョンから変化したスナップショットの部分だけが記憶される（つまりデルタスナップショット）。
【００７０】
分析構成要素（１１０）は、適応基準モデル６０６を作成するために複数のスナップショットのデータを活用する。スナップショットのそれぞれが、アセット名とアセット値の複数の組を備える複数のアセットを備える。アセットとは、ファイル名、レジストリキー名、性能パラメータまたは通信ポートなどのコンピュータの属性である。アセットは、分析されるコンピュータの集団の中での、実際または仮想に関係なく、コンピュータの状態を反映する。アセット値は、ある特定の時点でのアセットの状態である。例えば、ファイルの場合、該値はファイルのコンテンツを表すＭＤ５ハッシュを備えてよい。レジストリキーの場合、値はキーに割り当てられるデータを表すテキスト文字列を備えてよい。
【００７１】
適応基準モデルは複数のアセットも備える。適応基準モデルのアセットは、異常を識別するために、及び他の目的のためにスナップショットのアセットに比較されてよい。一実施形態では、適応基準モデルは、ある特定の時点での１台または複数台の正常なコンピュータを特徴付けるアセット間の多様な関係性についてのデータの集合体を備える。
【００７２】
一実施形態では、分析構成要素（１１０）はアセット名のクラスタを識別する。クラスタは一緒に表示されるアセット名の１つまたは複数の重複しないグループを備える。また、分析構成要素（１１０）は、クラスタの間で関係性を識別しようとする。例えば、分析構成要素（１１０）はスナップショットの中の特定のクラスタの存在を前提として、該スナップショットの中の他のクラスタの存在の尤度を予測する確率行列を計算してよい。多数のスナップショットに基づき、非常に大きい（例えば９５％を超える）または非常に少ない（例えば５％未満）のどちらかである確率は、異常を検出するためにモデルによって使用できる。より小さい数のスナップショット（つまり、統計的に重要ではない数）に基づく、あるいは非常に大きくもなければ、非常に小さくもない確率は異常を検出するためには使用されない。
【００７３】
適応基準モデルは、スナップショットを試験するために関係性をいつ使用できるのかを決定するための信頼基準を備えてよい。例えば、該信頼基準は適応基準モデルに含まれる多くのスナップショットの最小閾値を備えてよい。閾値を超えない場合には、関係性は使用されない。適応基準は、また、あるいは代わりに、関係性を含む適応基準モデルに含まれる多くのスナップショットの最低閾値を含んでよく、閾値が超えられる場合にだけ関係性を活用する。一実施形態では、適応基準モデルは、アセット値を含むスナップショット数に対する異なるアセット値の数の割合の最大閾値を備える。適応基準モデルは、数値アセット値と関連付けられる１つまたは複数の最小閾値と最大閾値を備えてよい。  
適応基準モデルの中の、またはスナップショットの中の複数のアセットのそれぞれは、アセットタイプと関連付けられてよい。アセットタイプは、例えば、ファイル、レジストリキー、性能基準、サービス、ハードウェア構成要素、実行中のプロセス、ログ、及び通信ポートなどを備えてよい。他のアセットタイプは、本発明の実施形態によって活用されてもよい。空間を節約するために、アセット名とアセット値は圧縮されてよい。例えば、本発明の一実施形態では、コレクタ構成要素（１０８）は、複数のスナップショットのうちの１枚でアセット名またはアセット値の第１の発生を識別し、第１の発生と関連付けられる識別子を生成する。以後、コレクタ構成要素（１０８）がアセット名またはアセット値の第２の発生を識別すると、コレクタ構成要素（１０８）は識別子を第２のアセット名とアセット値に関連付ける。識別子だけが適応基準モデルまたはスナップショットの中のデータともに記憶されるが、識別子及びアセット名またはアセット値はインデックスに記憶できる。このようにして、頻繁に反復されるアセット名または値を記憶するために必要とされる空間は最小限に抑えられる。
【００７４】
適応基準モデルは自動的に生成されてよい。一実施形態では、適応基準モデルは自動的に生成され、技術サポート要因または他の知識を考慮するために、次に手動で改訂される。図１１は、本発明の一実施形態で適応基準モデルを作成するためのユーザインタフェースの画面例である。図示されている実施形態では、ユーザはＭａｃｈｉｎｅ  Ｓｅｌｅｃｔｉｏｎ  Ｍｅｎｕ（マシン選択メニュー）ウィンドウ１１０２からＭａｃｈｉｎｅｓ  ｉｎ  Ｔａｓｋ（作業中マシン）ウィンドウ１１０４にそれらを移動することによりモデルの中に含まれるスナップショットを選択する。ユーザが選択プロセスを終了し、終了ボタン１１０６をクリックすると、モデルを発生させる自動化タスクが作成される。モデルがいったん作成されると、ユーザはそれを管理するために別のインタフェース画面を使用できる。図１２は、本発明の一実施形態における適応基準モデルを管理するためのユーザインタフェースの画面例である。
【００７５】
再び図６を参照すると、いったん適応基準モデルが作成されると、分析構成要素（１１０）は複数のスナップショットの内の少なくとも１つを適応基準モデル６０８に比較する。例えば、コレクタ構成要素（１０８）は百枚のスナップショットを受け取り、データベース構成要素（１１２）内に記憶してよい。分析構成要素（１１０）は、適応基準モデルを作成するために該百枚のスナップショットを使用する。分析構成要素（１１０）は、次に適応基準モデルに対する複数のスナップショットの中のスナップショットのそれぞれの比較を開始する。しばらくして、コレクタ構成要素（１０８）は、エージェント構成要素から、次に適応基準モデルの改訂版を作成するため、及び異常を識別するために分析構成要素によって使用できる１００枚の新しいスナップショットを受信してよい。
【００７６】
本発明の一実施形態では、１枚または複数枚のスナップショットの適応基準モデルに対する比較は、アセット名の間で関係性を調べることを備える。例えば、第１のアセット名の存在の確率は、第２のアセット名が存在するときに高くなる可能性がある。一実施形態では、比較はスナップショットの中のアセット名のすべてが適応基準モデルの中に存在し、アセット名間の複数の高い確率関係性と一貫しているかどうかを決定することを含む。
【００７７】
さらに図６を参照すると、一実施形態では、分析構成要素（１１０）が、コンピュータ６１０上に存在する可能性のあるあらゆる異常を識別するために、スナップショットを適応基準モデルに比較する。異常はスナップショットのある部分が適応基準モデルによって定義されるような標準から逸脱していることの表示である。例えば、アセット名またはアセット値は、適応基準モデルによって定義されるような特定の状況で予測される通常のアセット名とアセット値から逸脱してよい。異常は、スナップショットが関連付けられるコンピュータ上で、またはコンピュータに関して公知のまたは新しい障害または問題状況が存在することを信号で知らせてよいか、あるいは知らせなくてよい。状態は、関連している異常のグループである。例えば、異常のグループは、それらが単一の根本的原因から生じるために関連してよい。例えば、異常は、ある特定のアプリケーションの存在を、そのアプリケーションが既定の集団の中の他のコンピュータ上には一般的には存在しないときにコンピュータ上に示す可能性がある。異常の認識は、容量平衡度などの機能のためにも使用されてよい。例えば、複数台のサーバの性能基準を評価することによって、分析構成要素（１１０）は、変化する需要に対処するために新しいサーバの自動配備及び構成をいつトリガするのかを決定できる。
【００７８】
状態は、関連する異常のグループを備える。例えば、異常のグループは、それらがアプリケーションプログラムのインストールまたは「ワーム」の存在などの単一の根本的原因から生じるために関連してよい。状態は状態クラスを備えてよい。該状態クラスによって、多様な状態を互いとグループ化できる。
【００７９】
図６に図示される実施形態では、異常が検出されると、分析構成要素（１１０）は状態を診断するために認識フィルタに異常を適合させようとする６１２。異常は分析中の雑音を排除するため、つまり正常な動作プロセスの結果である異常の存在のために、本当の障害状態を目立たなくすることを避けるために良性の異常として識別されてよい。チェックは、適応基準モデルに対するスナップショットの比較である。チェックは自動的に実行されてよい。チェックの出力は異常及び検出された状態の集合を備えてよい。一実施形態では、異常は複数の認識フィルタに適合される。認識フィルタは状態のシグナチャまたは状態のクラスを備える。例えば、認識フィルタは、ともに解釈されるときに、ワームの存在などの、認識されることが望ましい状態のシグナチャを表現するアセット名とアセット値の組の集合体を備えてよい。総称認識フィルタは複数の特殊フィルタを作成するためのテンプレートを提供してよい。例えば、一般的にワームを検索するために適応される認識フィルタは特殊ワームを検索するように適応されてよい。
【００８０】
本発明の一実施形態では、認識フィルタは、該状態と関連付けられたアセット名、該状態と関連付けられたアセット値、該状態と関連付けられたアセット名とアセット値の組み合わせ、アセット値と、及び該状態と関連付けられた最大閾値、及び該アセット値と、及び該状態と関連付けられた最小閾値の内の少なくとも１つを備える。スナップショットからのアセット名／値の組は、一致を検出し、状態を診断するために認識フィルタから名前／値の組に比較されてよい。名前／値の一致は正確であってよい、あるいは認識フィルタはワイルドカードを備え、認識フィルタに部分的な値を入力してから、スナップショットと適合できるようにする。特定のアセット名及び／値は、状態を診断するための複数の認識フィルタに適合させてよい。
【００８１】
認識フィルタは多様な方法で作成されてよい。例えば、本発明の一実施形態では、ユーザは、関心のある状態が存在するマシンから異常をコピーする。異常は、それらが選択でき、フィルタにコピーできる異常要約に提示されてよい。別の実施形態では、ユーザはフィルタ定義にワイルドカード文字を入力する。例えば、Ｇａｔｏｒと呼ばれる１個のスパイウェアは、文字列「ｈｋｌｍ＼ｓｏｆｔｗａｒｅ＼ｇａｔｏｒ＼」で始まる数千のレジストリキーを作成する。本発明の実施形態は、この状況に効率的に対処するためにワイルドカード機構を提供してよい。ワイルドカード文字は、例えばパーセント符号（％）であってよく、テキスト文字列の前、テキスト文字列の後、またはテキスト文字列の真中で使用されてよい。Ｇａｔｏｒの例を続けると、ユーザがフィルタ本体に文字列「ｈｋｌｍ＼ｓｏｆｔｗａｒｅ＼ｇａｔｏｒ＼％」を入力すると、「ｈｋｌｍ＼ｓｏｆｔｗａｒｅ＼ｇａｔｏｒ＼」で始まる任意のキーがフィルタによって認識される。ユーザは管理されている集団ではまだ経験されたことがない状態のためのフィルタを構築することを希望してよい。例えば、管理されている集団の中のウィルスの実際の例よりむしろインターネット上で公に入手可能な情報に基づいたウィルス用フィルタである。この状況に対処するために、ユーザはフィルタに関連性のある情報を直接的に入力する。
【００８２】
図１３は、本発明の一実施形態における認識フィルタの作成のために使用するスナップショットを選択するためのユーザインタフェースの画面図である。ユーザは図示された画面にアクセスし、認識フィルタを作成するために使用するスナップショットを選択する。図１４は本発明の一実施形態において認識フィルタを作成する、または編集するためのユーザインタフェースの画面図である。図示されている実施形態では、図１３に描かれているインタフェースで選択されたスナップショットからのアセットは、Ｄａｔａ  Ｓｏｕｒｃｅ（データソース）ウィンドウ１４０２に表示されている。ユーザはこれらのアセットを選択し、認識フィルタを作成するためにそれらをＳｏｕｒｃｅ（ソース）ウィンドウ１４０４にコピーする。
【００８３】
一実施形態では、認識フィルタと異常のセットの一致は、品質基準と関連付けられる。例えば、認識フィルタの中のアセット名とアセット値の、異常のセット内のアセット名とアセット値とのすべての正確な一致は、認識フィルタのアセット名とアセット値の部分集合の、異常の集合のアセット名とアセット値との一致よりも高い品質基準と関連付けられてよい。
【００８４】
認識フィルタは他の属性も備えてよい。例えば、一実施形態では、認識フィルタは、適応基準モデルの中にアセット名とアセット値を含めるかどうかを決定するための制御フラグを備える。別の実施形態では、認識フィルタは１つまたは複数の状態と関連付けられる１つまたは複数のテキスト説明を備える。さらに別の実施形態では、認識フィルタは、例えばそれがどの程度の損害を引き起こす可能性があるのか、削除することがどれほど難しいのか、あるいはなんらかの他の適切な基準などの点で状態の重大性を示す重大性インジケータを備える。
【００８５】
認識フィルタは、事実上管理であるフィールドを備えてよい。例えば一実施形態では、認識フィルタは認識フィルタ識別子と、作成者名、及び更新日付−時間を備える。
【００８６】
例えば、まだ図６を参照すると、分析構成要素（１１０）は状態に反応する６１４。例えば、サポート技術者に対するｅメールなどの通知を作成することと、問題管理システムにトラブルチケット問題通知を提出すること、例えばパッチをインストールするためのサポート技術者からの確認を要求するなどのアクションを講じるための許可を要求すること、複数台のコンピュータの内の少なくとも１つから状態を削除することを含んでよい。例えば、状態を削除することは例えば、応答エージェントを状態の影響を受ける複数のコンピュータのどれかで実行させることを含んでよい。状態は自動応答と関連付けられてよい。診断するステップ６１２と状態に反応すること６１４とは、状況ごとに反復されてよい。また、異常を見つけ出すプロセス６１０は、個々のスナップショットごとに反復されてよい。
【００８７】
図６に示されている実施形態では、分析構成要素（１１０）は次に、追加のスナップショットが分析されなければならないかどうか６１６を決定する。分析されなければならない場合、適応基準モデルにスナップショットを比較するステップ６０８と、異常を見つけ出すステップ６１０と、状態を診断するために異常を認識フィルタに適合させること６１２と、及び状態に応えること６１４がスナップショットごとに繰り返される。いったんスナップショットのすべてが分析されると、プロセスは終了する６１８。
【００８８】
本発明の一実施形態では、いったん分析構成要素１１０が状態を識別すると、分析構成要素（１１０）は、集団の中の複数台のコンピュータの内のどれが状態によって影響を及ぼされるのかを判断しようとする。例えば、分析構成要素（１１０）は、異常の特定の集合を識別するためにスナップショットを調べてよい。分析構成要素（１１０）は、次に、状態に対する応えを、影響を及ぼされたコンピュータのそれぞれに代わって実行させてよい。例えば、一実施形態では、エージェント構成要素（２０２）は、複数のコンピュータのそれぞれに存在する。エージェント構成要素（２０２）は、分析構成要素（１１０）によって評価されるスナップショットを作成する。このような一実施形態では、分析構成要素（１１０）は、分析構成要素（１１０）がコンピュータの内の１台で状態を識別する場合に、応答プログラムを実行するためにエージェント構成要素（２０２）を活用する。状態を診断する際に、分析構成要素（１１０）は、状態の根本的原因を識別できてよいか、あるいはできなくてよい。
【００８９】
図７は、本発明の一実施形態において特定の種類の異常を識別するためのプロセスを描くフローチャートである。図示されている実施形態では、分析構成要素（１１０）は複数台のコンピュータ７０２のスナップショットを評価する。これらのスナップショットは、コンピュータの完全な状態を備えるベーススナップショット、あるいは前回のベーススナップショット以降のコンピュータの状態の変化を備えるデルタスナップショットである場合がある。分析構成要素（１１０）は、適応基準モデル７０４を作成するためにスナップショットを使用する。この目的のためにデルタスナップショットを使用するときには、分析構成要素は、デルタスナップショットで記述される変更を最近のベーススナップショットに適用することによって、最初にベーススナップショットの同等物を再構成しなければならない。分析構成要素（１１０）は、その後、複数のコンピュータ７０６の少なくとも１台の第２のスナップショット（ベースまたはデルタ）を受信する。スナップショットは、所定の時間量の経過、新しいプログラムのインストール、または他のなんらかの適切なイベント当の多様なイベントに基づいて作成されてよい。
【００９０】
分析構成要素（１１０）は、異常を試行し、検出するために第２のスナップショットを適応基準モデルに比較する。多様な種類の異常がコンピュータに存在してよい。図示されている実施形態では、分析構成要素（１１０）は最初に予想外に不在であるアセット名を識別しようと試みる７１０。例えば、集団の中のすべて、または実質的にすべてが特定のファイルを含んでよい。該ファイルの存在はアセット名の存在によって適応基準モデルで注記される。該ファイルが集団の中のコンピュータの内の１台から予想外に不在の場合には、つまりアセット名が発見されない場合、なんらかの状態が、ファイルが紛失中であるコンピュータに影響を及ぼしている可能性がある。アセット名が予想外に不在である場合、該不在は異常７１２として識別される。例えば、コンピュータ、日付、及び予想外の不在アセットはデータストアに入力されてよい。
【００９１】
次に分析構成要素（１１０）は、予想外に存在するアセット名を識別しようとする７１４。ファイル名またはレジストリ名などの予想外のアセット名の存在は、コンピュータワームなどの障害状態の存在を示す可能性がある。アセット名は、それが以前見られたことがない場合、あるいはそれが発見されている文脈で以前見られたことがない場合に、予想外に存在する。同じアセット名が予想外に存在する場合、存在は異常として識別される７２０。
【００９２】
分析構成要素（１１０）は、次に予想外のアセット値を識別しようとする７１８。例えば、ある実施形態では、分析構成要素（１１０）が、それと関連付けられるアセット名にとって未知である文字列アセット値を識別しようとする。別の実施形態では、分析構成要素（１１０）は、対応するアセット名と関連付けられる最小閾値または最大閾値に数値アセットを比較する。本発明の実施形態では、閾値は集団の中のアセット値の平均偏差と標準偏差に基づいて自動的に設定されてよい。示されている実施形態に従って、予想外の試算値が検出されると、それは異常として識別される７２０。それからプロセスは終了する７２２。
【００９３】
図７のプロセスは直列プロセスとして示されているが、適応基準モデルに対するスナップショットの比較、及び異常の識別は平行して発生してよい。また、描かれているステップのそれぞれが多数回繰り返されてよい。さらに、デルタスナップショットまたはベーススナップショットのどちらかが、各サイクルの間に適応基準モデルに比較できる。
【００９４】
いったん分析が完了すると、分析構成要素（１１０）は、異常レポートなどの結果を生成してよい。このレポートはさらにユーザに提供されてよい。例えば、分析構成要素（１１０）は、スナップショットの適応基準モデルとの比較結果を備えるウェブページを作成してよい。本発明の実施形態は、自動化されたセキュリティ監査、ファイルとレジストリの完全性チェック、異常ベースのウィルス検出及び自動修理を実行するための手段を提供してよい。
【００９５】
図８は、本発明の一実施形態で適応基準モデルを生成するためのプロセスを描くフローチャートである。図示されている実施形態では、分析構成要素（１１０）がデータベース構成要素を介して複数のコンピュータから複数のスナップショットにアクセスする。スナップショットのそれぞれはアセット名とアセット値の複数の組を備える。分析構成要素（１１０）は、少なくとも部分的にスナップショットに基づく適応基準モデルを自動的に作成する。
【００９６】
適応基準モデルは、多くの属性、関係性及び多様なアセット名とアセット値の基準を備えてよい。図８に図示される実施形態では、分析構成要素（１１０）が、最初に１つまたは複数の一意のアセット名を見つけ出し、次にそれぞれの一意のアセット名が複数のスナップショット８０４の中で発生する回数を決定する。例えば、基本的なオペレーティングシステムドライバのためのファイルは集団の中の実質的にすべてのコンピュータで発生してよい。ファイル名は一意のアセット名である。それは、スナップショットの中で一度だけ出現するが、スナップショットの実質的にすべてで発生する可能性がある。
【００９７】
図示されている実施形態では、分析構成要素（１１０）は、次に、各アセット名（８０６）と関連付けられる一意のアセット値を決定する。例えば、ステップ８０４に関して説明されるドライバのファイル名アセットは、ファイル名アセットの発生毎に同じ値を有するであろう。対照的に、ログファイルのファイル値はおそらく発生と同じくらい多くの異なる値を有するであろう。つまり、特定のコンピュータ上のログファイルは集団の中の他のすべてのコンピュータからの異なる数のエントリを含む。
【００９８】
集団は非常に大きい可能性があるため、図８に示される実施形態では、アセット名と関連づけられる一意の値の数が閾値８０８を上回ると、決定は中止される８１０。言い換えると、前述されたログファイルの例では、コンピュータが正常な状態にあるか否かは、一貫性のある値を有するログファイルに依存しない。ログファイルコンテンツは各このピュータで変化することが予想される。しかしながら、ログファイルの存在または不在が、正常の表示と異常の表示として適応基準モデルに記憶されてよいことに留意すべきである。
【００９９】
図８に図示される実施形態では、分析構成要素（１１０）は、各アセット名８１２と関連付けられる一意の文字列アセット値を決定する。例えば一実施形態では、文字列と数の２種類のアセット値しかない。ファイルハッシュとレジストリキー値は、文字列の例である。性能カウンタ値は数の例である。
【０１００】
分析構成要素（１１０）は次に、アセット名と関連つけられる一意の数値と関連つけられる統基準を決定する８１４。例えば、ある実施形態では、分析構成要素（１１０）は、メモリページングなどの性能基準を捕捉する。集団の中の１台のコンピュータは多くの場合メモリを呼び出す（ｐａｇｅｓ）ため、それは制御不能のプログラムがバックグラウンドで実行し、かなりのメモリ資源を必要としていることの表示である可能性がある。しかしながら、集団の中のあらゆるコンピュータまたは相当数のコンピュータが頻繁にメモリを呼び出す場合、それはコンピュータが概してメモリ資源を欠いている旨を示している可能性がある。一実施形態では、分析構成要素（１１０）は一意のアセット名と関連付けられた数値の平均値と標準偏差を求める。メモリの例では、あるコンピュータにとってのメモリページングの基準は集団のための統計的な平均値からはるかにずれている場合、異常が識別されてよい。
【０１０１】
本発明の一実施形態では、適応基準モデルはポリシーテンプレートを適応することによって修正されてよい。ポリシーテンプレートは識別され、特殊なポリシーを反映する規準を確立するために適応規準モデルに適用されるアセット／値の組の集合体である。例えば、ポリシーテンプレートは、標準的なコンピュータに存在すると考えられるアセット名とアセット値の複数の組を備えてよい。一実施形態では、ポリシーテンプレートを適用することは、ポリシーテンプレートに存在するアセット名とアセット値の組が複数のスナップショットのそれぞれに存在していたように考えられる、つまり集団の中のコンピュータの正常な状態であると考えられるように適応規準モデルを修正することを含んでよい。
【０１０２】
図１５は、本発明の一実施形態のポリシーテンプレートで使用するための「ゴールデンシステム」を選択するためのユーザインタフェースを描く画面例である。前述されたように、ユーザは最初にポリシーテンプレートの基礎となるゴールデンシステムを選択する。図１６は、本発明の一実施形態においてポリシーテンプレートアセットを選択するためのユーザインタフェースの画面例である。認識フィルタを作成するためのユーザインタフェースの場合と同様に、ユーザはＤａｔａ  Ｓｏｕｒｃｅ（データソース）ウィンドウ１６０２からアセットを選択し、コンテンツウィンドウ、つまりＴｅｍｐｌａｔｅ（テンプレート）コンテンツウィンドウ１６０４にそれらをコピーする。
【０１０３】
図９は、本発明の一実施形態における先を見越した異常検出のプロセスを描くフローチャートである。図示されている実施形態では、分析が発生すると、分析構成要素（１１０）は、分析されるスナップショットを記憶するデータベース（１１２）への接続を確立する９０２。図示されている実施形態では、１つのデータベースしか活用されていない。しかしながら、他の実施形態では、複数のデータベースのデータが分析されてよい。
【０１０４】
診断チェックが実行される前には、１つまたは複数の基準モデルが作成される９０４。基準モデルは、それらが含む情報が最新のままであることを確実にするために、毎週一回など周期的に更新される。本発明の一実施形態は、モデル作成を完全に自動化された手順として構成できるようにするタスクスケジューラを提供する。
【０１０５】
いったん基準モデルが作成されると、それはさまざまなタイプの分析を可能にするために多様な方法で処理できる。例えば、前述されたようにポリシーテンプレート９０６を定めることが可能である。例えば、ポリシーテンプレートが、管理されている集団の中のすべてのマシンがアンチウィルスソフトをインストールさせ、稼働させることを必要とする可能性がある。いったんポリシーテンプレートがモデルに適用されると、そのモデルに対する診断チェックはポリシー準拠のための試験を含むであろう。ポリシーテンプレートは自動化されたセキュリティ監査、性能閾値チェック、及びＷｉｎｄｏｗｓ更新管理を含む種々のアプリケーションで使用できる。ポリシーテンプレートは、標準としてモデルの中に強制されるアセットと値の集合を備える。一実施形態では、テンプレート編集プロセスは「ゴールデンシステム」手法に基づいている。ゴールデンシステムはユーザがテンプレートの中に組み込むことを希望するアセットと値を示す手法である。ユーザはゴールデンシステムに対応するスナップショットの位置を突き止め、次に前記ユーザが前記テンプレートの中に含むことを希望する各アセット／値の組を選択する。
【０１０６】
図９に図示されるプロセスでは、次にポリシーテンプレートが基準のその定義を修正するためにモデルに適用される９０８。これにより、それがここに説明されるようにユーザ定義のポリシーに対する準拠についてチェックできるようにモデルを整形できる。
【０１０７】
モデルは変換されてもよい９１０。該変換プロセスは基準モデルを改変する。例えば、一実施形態では、変換プロセスはモデルから一意であるあらゆる情報アセット、つまりただ１枚のスナップショットで発生するあらゆるアセットを削除する。チェックが変換されたモデルに対して実行されると、すべての一意の情報アセットが異常として報告される。この種のチェックは、エージェント構成要素が最初にインストールされた時点で存在する過去に未知の障害状態を明らかにする上で有効である。変換されたモデルは一意の特性を示すので初期ベースラインを確立する上で有効である。この理由から、変換されたモデルは、本発明の実施形態のベースラインモデルと呼ばれることもある。
【０１０８】
別の実施形態では、モデル構築プロセスはモデルから、認識フィルタを適合させるあらゆる情報アセットを削除し、公知の障害状態がモデルの中に組み込まれないことを確実にする。システムが最初にインストールされると、管理されている集団はかなり頻繁にまだ通知されていない多くの公知の障害状態を含む。それ以外の場合それらはマシンの正常な状態の一部として適応基準モデルの中に組み込まれてしまうため、これらの状態を発見し、モデルからそれらを削除することは重要である。
【０１０９】
エージェント構成要素（２０２）は、予定に基づいてそれぞれの管理されるマシンの状態のスナップショットを撮る。該スナップショットはスナップショットとして送信され、データベースに入力される。スナップショットはオンデマンドで、あるいはアプリケーションインストールなどの特定のイベントに応えて生成されてもよい。
【０１１０】
図示されている先を見越した問題管理プロセスでは、最新の基準モデルに付き合わせる最新のスナップショットの周期的なチェックが行われる９１２。周期的なチェックの出力は、結果としてユーザに表示される異常の集合である９１４。結果は、異常を認識フィルタに適合させた結果として識別されるあらゆる状態も含む。認識フィルタは、前述されたように定義されてよい９１６。異常は、解釈のための認識フィルタを通過し、状態の集合を生じさせる。状態にはＷｉｎｄｏｗｓのような良性なものからトロイの木馬のような深刻なものまで、重大度の範囲がある。
【０１１１】
コンピュータで発生する障害状態はそのコンピュータを構成するハードウェア構成要素とソフトウェア構成要素が進化するにつれて変化する。その結果、新しい異常の組み合わせが発見されるので、新しい認識フィルタを定義し、共用する連続ニーズがある。認識フィルタは、障害状態を文書化するための非常に詳細な構造化された方法と見なすことができ、したがってそれらは協働を容易にする重要な機構を表す。図示されている実施形態は、認識フィルタをＸＭＬファイルにエクスポートし、ＸＭＬファイルから認識フィルタをインポートする。
【０１１２】
いったん状態が識別されると、先を見越したチェックの結果を文書化するレポートが作成される９２０。該レポートは例えば、検出されたすべての状態の要約または特定の状態の詳細な説明を備えてよい。
【０１１３】
図１０は、本発明の一実施形態における反応過程を描くフローチャートである。図１０に示されるプロセスでは、適応基準モデルがすでに作成されていると仮定されている。示されているプロセスは、ユーザが、問題を報告するためにヘルプデスクに電話をかけると開始する１００２。従来のヘルプデスクパラダイムでは、次のステップはユーザによって経験される症状についての情報を口頭で収集することであろう。対照的に、示されている本発明の実施形態では、次のステップは疑いのあるマシンの診断チェックを、最新のスナップショットに照らし合わせて実行することである１００３。これは問題状態の即座の診断を生じさせないため、次の３つの可能性が存在する場合がある。つまり、（１）状態が、前回のスナップショット撮影後に発生した、（２）状態が新しく、そのフィルタによって認識されていない、または（３）状況が分析の適用範囲外である、例えばハードウェアの問題。
【０１１４】
前回のスナップショットが撮影されてから障害状態が発生したと疑われる場合、ユーザはクライアントマシン上のエージェント構成要素（２０２）に別のスナップショットを撮らせてよい１００６。いったん結果として生じるスナップショットが入手できると、新しい診断チェックを実行できる１００４。
【０１１５】
障害状態が新しいことが疑われる場合、アナリストはインストールされた可能性のある新しいアプリケーションなどの時間の特殊なウィンドウでマシンの状態の変化の内訳を提供する比較関数を実行してよい１００８。ユーザは、時間内の多様な点でマシンの状態の詳細な表現を表示できる１０１０。アナリストが新しい障害状態を識別すると、ユーザは以後の分析要の認識フィルタとしてアセットの集合を識別できる。
【０１１６】
従来の製品が人間をベースにしたサポートモデルの効率の改善に焦点を当てる一方、本発明の実施形態は別のパラダイム、マシンベースのサポートモデルを中心に設計されている。手法のこの根本的な差異がデータ収集と分析の領域で最も深く出現する。人間よりむしろマシンが収集されるデータの分析を実行するので、収集されるデータは膨大となる場合がある。例えば、一実施形態では、「健康診断」と呼ばれる単一のマシンから収集されるデータまたはマシンのスナップショットは数十万の属性の値を含む。大量のデータを収集できる能力が本発明の実施形態に、検出できる数と種々の条件という点で従来のシステムに優る大きな優位点を与える。
【０１１７】
本発明の別の実施形態は、強力な分析能力を提供する。このような実施形態における高値分析のための基礎は正常な状態と異常な状態を正確に区別する能力である。例えば、本発明による１つのシステムはそれがそのクライアントから収集するスナップショットデータから統計的に重要な関係性をマイニングすることによってその基準モデルを自動的に合成する。その結果生じる「適応」基準モデルはその特定の瞬間でのその特定の管理されている集団にとって正常であることを定義する。
【０１１８】
本発明の１つの実施形態は、前述されるデータ収集及び手工分析の機能を結合する。このような実施形態では、適応基準モデルの分析力と組み合わされた優れたデータ収集機能が日々のセキュリティ監視を実施し、脆弱性を排除するためにソフトウェアアップデートがないかチェックすることによってセキュリティの脅威に対する自動的な防御を提供する機能を含む多くの重大な競争上の優位性になる。このような実施形態は、それらが生産性の損失またはヘルプデスクへの電話に繋がる前に問題を発見するために日常的にすべての管理されているシステムを先を見越して走査することもできる場合がある。
【０１１９】
適応基準モデル機能を実現する本発明の実施形態は、過去に未知の障害状態を検出することもできる。さらに、このような実施形態は自動的に合成され、維持され、有効となるためにベンダのアップデートをほとんどまたはまったく必要としない。このような実施形態は、特定の管理されている集団に自動的にカスタマイズされ、それがその集団に一意の障害モードを検出できるようにする。
【０１２０】
本発明の実施形態の追加の優位点は、障害状態を自動的に解決できない場合に、このような実施形態がサポートアナリストの仕事を容易にするために大量の構造化技術情報を提供できるという点である。
【０１２１】
本発明の一実施形態は、識別された問題点を自動的に修理する能力を提供する。このような実施形態は、前述された実施形態の適応基準モデルと結合されると、障害状態のすべての態様を識別するためのその能力のために自動修理を一意に行うことができる。
【０１２２】
本発明の実施形態は、ここで説明されたサービスレベルの点から言えば従来のシステムと方法に優る多くの優位点も提供する。例えば、集団回復サービスレベルに関しては、いったん損害が発生してから事件を解決することより、事件を防止する方がはるかに安価である。本発明の実施形態は、人間の介入を必要とせずに、及び現実世界の実施形態におけるコンピュータの多岐に渡る、及び動的な性質を取り囲むように検出／防止できる事件のパーセンテージを大幅に増加する。
【０１２３】
さらに、本発明の実施形態は、公知の異常と未知の異常の両方を自動的に検出し、修理することにより自己回復サービスレベルに対処できる。ここに説明される適応基準モデルを実現する実施形態は自動検出及び修理に一意に適している。自動サービス及び修理は、自己点検とデスクサイド訪問に対するニーズも排除する、あるいは少なくとも最小限に押させるのに役立つ。
【０１２４】
本発明の実施形態は優れた診断機能と広範囲な情報資源を提供することにより支援点検レベルでの優位点を提供する。実施形態は、大量のエンドユーザデータを収集、分析し、セキュリティ監視、構成監視、在庫管理、性能分析、障害診断を含む、人間をベースにしたサポートモデルに関連付けられる種々のニーズを容易にする。
【０１２５】
本発明の実施形態の前記説明は、図解と説明の目的のためだけに提示されており、網羅的となる、あるいは本発明を開示されている正確な形式に限定することは目的としない。その多数の変型及び適応が、本発明の精神と範囲から逸脱することなく当業者にとって明らかになるであろう。
【図面の簡単な説明】
【０１２６】
【図１】本発明の一実施形態を実施するための例示的な環境を示す。
【図２】本発明の一実施形態の情報と動作の流れを描くブロック図である。
【図３】本発明の一実施形態における異常検出の全体的なプロセスを描くフローチャートである。
【図４】本発明の一実施形態における適応基準モデルの構成要素を描くフローチャートである。
【図５】本発明の一実施形態のエージェントに関するレジストリ情報を正規化するプロセスを描くフローチャートである。
【図６】本発明の一実施形態における異常を識別し、対応するための方法を描くフローチャートである。
【図７】本発明の一実施形態における特定の種類の異常を識別するためのプロセスを描くフローチャートである。
【図８】本発明の一実施形態における適応基準モデルを作成するためのプロセスを描くフローチャートである。
【図９】本発明の一実施形態における先を見越した異常検出のためのプロセスを描くフローチャートである。
【図１０】本発明の一実施形態における異常検出のための反応プロセスを描くフローチャートである。
【図１１】本発明の一実施形態における適応基準モデルを作成するためのユーザインタフェースの画面例である。
【図１２】本発明の一実施形態における適応基準モデルを管理するためのユーザインタフェースの画面例である。
【図１３】本発明の一実施形態における認識フィルタの作成に使用するためのスナップショットを選択するためのユーザインタフェースの画面例である。
【図１４】本発明の一実施形態における認識フィルタを管理するためのユーザインタフェースの画面例である。
【図１５】本発明の一実施形態におけるポリシーテンプレートで使用するための「ゴールデンシステム」を選択するためのユーザインタフェースを描く画面例である。
【図１６】本発明の一実施形態におけるポリシーテンプレート資源を選択するためのユーザインタフェースの画面例である。
【図１】
2007502467.tif 000004
【図２】
2007502467.tif 000005
【図３】
2007502467.tif 000006
【図４】
2007502467.tif 000007
【図５】
2007502467.tif 000008
【図６】
2007502467.tif 000009
【図７】
2007502467.tif 000010
【図８】
2007502467.tif 000011
【図９】
2007502467.tif 000012
【図１０】
2007502467.tif 000013
【図１１】
2007502467.tif 000014
【図１２】
2007502467.tif 000015
【図１３】
2007502467.tif 000016
【図１４】
2007502467.tif 000017
【図１５】
2007502467.tif 000018
【図１６】
2007502467.tif 000019
【国際調査報告】
2007502467.tif 000020