適応基準モデルの作成及び使用のためのシステム及び方法
適応基準モデルの作成及び使用のためのシステム及び方法が説明される。1つの説明される方法は複数のコンピュータから複数のスナップショットを受け取り、該複数のスナップショットのそれぞれがアセット名とアセット値の複数の組を備えることと、該複数のスナップショットに少なくとも部分的に基づいた適応基準モデルを自動的に作成することとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本発明は、ともに参照することにより本書に含まれる2003年8月11日に出願された米国仮出願番号第60/494,225号、及び「自動化コンピュータサポートのためのシステム及び方法(Systems and Methods for Automated Computer Support)」と題されるこれとともに出願される米国出願番号第 / , 号、代理人整理番号第52270/302838号の利点を主張する。
【0002】
技術分野
本発明は、自動化されたコンピュータサポートのためのシステム及び方法に関する。本発明は、さらに詳細には適応基準モデルの作成及び使用のためのシステム及び方法に関する。
【0003】
背景技術
情報技術の複雑度が増すに従って、サポート事件の頻度が増え、人間の分析専門家に対する技能要件の要求はさらに厳しくなるとともに問題管理コストが上昇する。従来の問題管理ツールはこれらのサポートタスクを実行する人間の効率を高めることによって費用を削減するように作られている。これは、通常、トラブルチケット情報の捕捉を少なくとも部分的に自動化することによって、及び知識ベースへのアクセスを容易にすることによって達成される。この種の自動化は有効であるが、サポートモデル自体における根本的な弱点、つまり人間に対するその依存度に対処できないために利益を減殺する点に至った。
【0004】
表1は、従来の人間ベースのサポートモデルにおける事件解決に関連する人件費の分布を示している。示されているデータはヘルプデスクソフトウェアの主要な供給業者であるテキサス州オースティン(Austin,Texas)のモーティブコミュニケーションズ社(Motive Communications Inc.Austin.Texas)(www.motive.com)によって提供される。最も高価な原価項目は人間の分析専門家及び/または対話(例えば、診断、調査、解決)を必要とするタスクと関連付けられる原価項目である。
【表1】
【0005】
自動化された問題管理のための従来のソフトウェア解決策はこれらのコストを減少し、広範囲のサービスレベル全体で価値を高めようとする。マサチューセッツ州、ケンブリッジ(www.forrester.com)にあるフォレスタリサーチ社(Forrester Research Inc.)は、これらのサービスレベルの有効な特徴付けを提供する。フォレスタリサーチは、(1)集団回復――事件が発生する前にそれらを解決する、(2)自己回復――事件が発生するとそれらを解決する、(3)自己点検−ユーザが呼び出す前に事件を解決する、(4)支援点検−ユーザが呼び出すと事件を解決する、及び(5)デスクサイド訪問−他のすべてが失敗すると事件を解決する、を含む5つのサービスレベルに従来の自動コンピュータサポート解決策を分ける。フォレスタによれば、従来の自己回復サービスを使用する1事件あたりの費用は、1ドル未満である。しかしながら、費用は瞬く間に増え、デスクサイド訪問が最終的に必要とされる場合1事件あたり300ドル以上に達する。
【0006】
集団回復の目的は事件をそれらが発生する以前に解決することである。従来のシステムでは、この目的はすべてのPCの構成を同じにする、あるいは最低でも1台のPCで発見された問題が他のPCで再現されないことを確実にすることにより達成される。通常このサービスレベルに関連付けられた従来の製品はソフトウェア分散ツールと構成管理ツールからなる。アンチウィルススキャナ、侵入検出システム及びデータ完全性チェッカなどのセキュリティ製品も、事件が発生するのを防ぐことに集中するため、このレベルの一部と見なされる。
【0007】
このサービスレベルに対処しようとする従来の製品は、管理される集団(population)を少数の公知の優れた構成に抑制することによって、及び相対的に少数の公知の不良構成(例えばウィルスシグナチャ)を検出し、排除することによって動作する。この手法の問題は、それが(1)すべての優れた構成及び不良の構成が事前に公知である、及び(2)いったんそれらが公知になるとそれらは相対的に安定し続けると仮定することである。コンピュータシステムとネットワーキングシステムの複雑度が増すにつれて、ネットワークの任意の特定のノードの安定性は減少する傾向にある。任意の特定のノード上のハードウェアとソフトウェアの両方とも頻繁に変化する可能性がある。例えば、多くのソフトウェア製品は、内部ネットワークまたはインターネット上でアクセスされるソフトウェアパッチを使用して自動的にそれら自体を更新することができる。無限数の優れた構成と不良構成があるため、及びそれらが絶えず変化するために、これらの従来の自己回復製品は単に部分的に有効である以上ではない。
【0008】
さらに、ウィルスの作者はますます巧妙なウィルスを開発し続けている。従来のウィルス検出根絶ソフトウェハは、ウィルスを検出し、根絶するために公知のパターンを特定する能力に依存している。しかしながら、ウィルスの数と複雑度が増すにつれ、公知のウィルスのデータベースを維持するために必要とされる資源及びネットワーク上のノードの集団に解決策を配布するために必要とされる資源と組み合わされた、それらのウィルス用の解決策は圧倒的になってきている。さらにMicrosoft Windowsオペレーティングシステムを活用する従来のPCは、7,000を超えるシステムと、そのすべてが多値である100,000を超えるレジストリキーを含む。したがって、すべての実践的な目的のため、無限数の良好な状態と無限数の不良状態が存在し、不良状態を識別するタスクをさらに複雑化する可能性がある。
【0009】
自己回復レベルの目的はヘルプデスクに電話がかかる前に、つまり理想的にはユーザが問題の存在をも認識する前に問題を検知し、自動的に補正することである。従来の自己回復ツール及びユーティリティは、Peter NortonがPC診断及び修復ツールのセットを導入した1980年後半以来存在している(www.Symantec.com)。これらのツールは、新製品のインストールの前に設定される復元点までユーザがPCを復元できるようにするツールも含む。しかしながら、従来のツールのどれも現実世界の条件下ではうまく働かない。
【0010】
これらの従来のツールの1つの根本的な問題は、「正常」を「異常」と確実に区別するほど十分な適用範囲、精度、及び柔軟性をもった参照モデルを作成する上での難しさである。問題を悪化させているのは、「正常」の定義が、新しいソフトウェアアップデート及びアプリケーションが配備されるにつれて絶えず変化するという事実である。これは、厄介な技術的な課題であり、従来のツールのどれかが克服しなければならない課題である。
【0011】
自己点検レベルの目的は、エンドユーザが自分自身を助けることができるようにする自動化されたツールと知識ベースの集合体を提供することによりヘルプデスクにかかる電話の量を削減することである。従来の自己点検レベルの製品は「方法」知識ベースと、忘れてしまったパスワードの再設定などの低リスクの反復的なサポート機能を自動化するソフトウェア解決策の集合体からなる。これらの従来の解決策は、それらが自ら招いた損害の尤度を上げるという点で大きな弱点を有する。この理由から、それらは特定の種類の問題とアプリケーションに限定される。
【0012】
支援点検レベルの目的とは、サービスを管理するための自動化されたインフラストラクチャを提供することによって、及びパソコンを遠隔制御し、エンドユーザと対話する能力を与えることによって人間の効率を高めることである。従来の支援点検製品はヘルプデスクソフトウェア、オンライン参考資料及び遠隔制御ソフトウェアを含む。
【0013】
この点検レベルの製品はおそらくここに説明されている製品と解決策の中で最も成長した(製品)であるが、それでもまだユーザと組織の要件を完全に満たすことができない。具体的には、これらの製品が問題を自動的に診断できる能力は、診断の精度(多くの場合複数の選択肢)だけではなく正しく識別できる問題の種別という両方の点で厳しく制限されている。
【0014】
デスクサイド訪問は他のすべて失敗すると必要になる。この点検レベルは遠隔で診断/修復できないコンピュータを復元するために必要となる可能性があるあらゆる実際的な活動を含む。それは、タイムリな解決策を補償するためにこれらの活動を追跡調査し、管理することも含む。すべてのサービスレベルの内、このレベルは高度に訓練された、従って高価な人的資源からかなりの時間を必要とする可能性が高い。
【0015】
このレベルの従来製品は、時間をかけ、またおそらくは複数のカスタマーサービス担当者によって顧客の問題を追跡、解決する専門の診断ツールおよびソフトウェア製品からなっている。
【0016】
したがって、必要とされるのは、サポート費用を大幅に削減するために必要となるパラダイムシフトである。このシフトは、マシン(machine)が決定を下し、アクションを開始するための一次エージェントとして役立つ新しいサポートモデルの出現によって特徴付けられる。
【0017】
発明の概要
本発明の実施形態は適応基準モデルの作成及び使用のためのシステム及び方法を提供する。本発明の一実施形態による1つの方法は、複数台のコンピュータから複数のスナップショットを受け取り、該複数のスナップショットのそれぞれがアセット名とアセット値の複数の組を備えることと、少なくとも該複数のスナップショットの一部に基づいた適応基準モデルを自動的に作成することを含む。別の実施形態では、(例えばランダムアクセスメモリまたはコンピュータディスク等の)コンピュータ可読媒体はこのような方法を実施するためのコードを備える。
【0018】
これらの実施形態は本発明を制限するまたは定義するためではなく、その理解を助けるために本発明の実施形態の例を提供するために言及される。例示的な実施形態は、発明の詳細な説明に説明され、本発明の追加の説明はそこに提供される。本発明の多様な実施形態によって提供される優位点は、本明細書を調べることによってさらに理解されてよい。
【0019】
これらの及び他の特徴、態様、及び優位点は、以下の発明の詳細な説明が添付図面を参照して読まれるときにさらによく理解される。
【0020】
発明の詳細な説明
本発明の実施形態は適応基準モデルの作成及び使用のためのシステムと方法を提供する。ここで類似した参照符号が複数の図全体で類似した要素を示す図面を参照すると、図1は本発明の一実施形態を実施するための例示的な環境を描くブロック図である。示されている実施形態は自動化されたサポートファシリティ102を含む。自動化サポートファシリティ102は図1の中で単一のファシリティとして示されているが、それは複数のファシリティを備える、あるいは管理された集団が存在するサイトに組み込まれる可能性がある。自動化サポートファシリティは、自動化サポートファシリティ102の中に記憶されるデータにセキュリティを提供するネットワーク106と通信するファイアウォール104を含む。自動化サポートファシリティ102は、コレクタ構成要素108も含む。コレクタ構成要素108は、他の機能の内、自動化サポートファシリティ102の中に、及び中からデータを転送するための機構を提供する。転送ルーチンはファイル転送プロトコル(FTP)またはハイパテキスト転送プロトコル(HTTP)などの標準的なプロトコルを使用してよいか、あるいは独自仕様のプロトコルを使用してよい。コレクタ構成要素は、入信スナップショットをダウンロードし、解凍し、解析するのに必要な処理論理回路も提供する。
【0021】
図示されている自動化サポートファシリティ102は、コレクタ構成要素108と通信する分析構成要素110も含む。分析構成要素110は、ここに説明される適応基準モデルを実現し、データベース構成要素112内に適応基準モデルを記憶するためのハードウェアとソフトウェアを含む。分析構成要素110は、データベース構成要素112から適用基準モデル及びスナップショットを抽出し、基準モデルの関連でスナップショットを分析し、あらゆる異常を識別し、フィルタリングし、適切なときに応答エージェント(複数の場合がある)を送信する。分析構成要素110は、システムにユーザインタフェースも提供する。
【0022】
図示されている実施形態は、コレクタ構成要素108と分析構成要素110と通信するデータベース構成要素112も含む。データベース構成要素112は、エージェントからのデータを記憶するため、及び本発明の実施形態によって実行されるプロセスのための手段を提供する。データベース構成要素の一次機能はスナップショットと適応基準モデルを記憶することであってよい。それは、それらのテーブルを自動的に管理するために必要な処理論理だけではなくデータベーステーブルのセットも含む。図示されている実施形態は、ただ1つのデータベース構成要素112と1つの分析構成要素110を含む。他の実施形態は多くのデータベース及び/または分析構成要素112、110を含む。1つの実施形態は1つのデータベース構成要素と複数の分析構成要素を含み、平行分析タスクを実行する一方で複数のサポート人員が単一のデータベースを共用できるようにする。
【0023】
本発明の実施形態は、複数のクライアントコンピュータ116a、bを備えてよい管理された集団114に自動化されたサポートを提供する。該管理された集団は、ネットワーク106を介して自動化サポートファシリティ102にデータを提供する。
【0024】
図1に図示される実施形態では、エージェント構成要素202はそれぞれの監視されているマシン116a、bの中に配備される。エージェント構成要素202はクライアント116からデータを収集する。予定された間隔(例えば1日に一度)で、あるいは分析構成要素110からのコマンドに応えて、エージェント構成要素202はそれが存在するマシンの状態の詳細なスナップショットを撮る。このスナップショットは、全システムファイル、指定されたアプリケーションファイル、レジストリ、性能カウンタ、プロセス、サービス、通信ポート、ハードウェア構成要素、及びログファイルの詳細な説明を含む。各走査の結果は、次にスナップショットの形式で圧縮され、コレクタ構成要素108に送信される。
【0025】
図1に図示されるサーバ、コンピュータ及びネットワーク構成要素のそれぞれは、プロセッサとコンピュータ可読媒体を備える。当業者に周知であるように、本発明の実施形態は複数の機能を単一のコンピュータの中に結合する、あるいは代わりに単一のタスクを実行するために複数のコンピュータを活用することによって多様な方法で構成されてよい。
【0026】
本発明の実施形態によって活用されるプロセッサは、例えば、入力を処理し、アルゴリズムを実行し、本発明に従ってプロセスを支援して必要に応じて出力を生成することができるデジタル論理プロセッサを含んでよい。このようなプロセッサはマイクロプロセッサ、ASIC及び状態マシンを含んでよい。このようなプロセッサは、プロセッサによって実行されるときに、プロセッサにここに説明されるステップを実行させる命令を記憶するコンピュータ可読媒体を含むか、あるいはコンピュータ可読媒体と通信してよい。
【0027】
コンピュータ可読媒体の実施形態は、コンピュータ読み取り可能命令を、タッチ入力装置と通信するプロセッサなどのプロセッサに提供できる電子デバイス、光学装置、磁気装置、または他の記憶装置または伝送装置を含むが、これらに限定されない。適切な媒体の他の例は、フロッピーディスク、CD−ROM、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成されたプロセッサ、全光媒体、全磁気テープまたは他の磁気媒体、またはコンピュータプロセッサが命令をその中から読み取ることができる任意の他の媒体を含むが、これらに限定されない。また、多様な他の形式のコンピュータ可読媒体は、ルータ、構内ネットワークまたは公衆網、あるいは他の伝送装置またはチャネル、有線と無線両方を含むコンピュータに命令を送信するまたは伝搬してよい。命令は、例えば、C、C#、C++、Visual Basic、Java及びJavaScriptを含む任意のコンピュータプログラミング言語からのコードを備えてよい。
【0028】
図2は、本発明の一実施形態での情報と動作の流れを描くブロック図である。図示される実施形態は、エージェント構成要素202を備える。エージェント構成要素は、各監視マシンの中に配備されるシステムの一部である。それは3つの主要な機能を実行する。第1に、それはデータを収集することに関与する。エージェント構成要素202は予定された間隔で、分析構成要素110からのコマンドに応えて、あるいはエージェント構成要素202によって検出される重要なイベントに応えて、クライアントマシン116a、bの広範囲な走査を実行してよい。この走査は全システムファイル、指定されたアプリケーションファイル、レジストリ、性能カウンタ、ハードウェア構成、ログ、実行中タスク、サービス、ネットワークコネクション、及び他の関連データの詳細な検査を含んでよい。それぞれの走査の結果は圧縮され、「スナップショット」の形式でネットワーク106上でコレクタ構成要素108に送信される。
【0029】
一実施形態では、エージェント構成要素202は、調べられるファイルのあらゆるバイトを読み取り、ファイルごとにデジタルシグナチャまたはハッシュを作成する。デジタルシグナチャはサイズ及び作成日などのメタデータを単に提供するより各ファイルの正確なコンテンツを特定する。いくつかの従来のウィルスは、検出のためにメタデータに依存するシステムをごまかそうとしてファイルヘッダ情報を変更する。このような実施形態はこのようなウィルスを無事に検出できる。
【0030】
エージェント構成要素202によるクライアントの走査はリソース集約型であってよい。一実施形態では、完全な走査が、例えば日々、ユーザがクライアントマシンを使用していない時間中、定期的に実行される。別の実施形態では、エージェント構成要素202はクライアントマシンのデルタ走査を実行し、前回の走査の変更だけを記録する。別の実施形態では、エージェント構成要素202による走査はオンデマンドで実行され、クライアントマシンでの異常を矯正しようとする技術者またはサポート人員に貴重なツールを提供する。
【0031】
エージェント202によって実行される第2の重要な機能は、動作ブロックの機能である。エージェント202は絶えず(あるいは実質的に絶えず)システムファイルとレジストリなどの重要なシステム資源に対するアクセスを監視している。それは、悪質なソフトウェアからの損傷を防ぐためにリアルタイムでこれらの資源へのアクセスを選択的にブロックできる。動作監視が継続的に発生する一方で、動作ブロックは修理動作の一部として有効にされる。例えば、分析構成要素110がウィルスの存在を疑う場合、それはクライアントに、ウィルスが管理されているシステムの中の重要な情報資源にアクセスするのを阻止させるための修理動作をダウンロードできる。クライアント構成要素202は監視プロセスからの情報をスナップショットの一部として提供する。
【0032】
エージェント構成要素202によって実行される第3の主要な機能は、応答エージェントに実行環境を提供することである。応答エージェントは多様な種類の障害状態に対処するために自動化された手順を実現する移動性のソフトウェア構成要素である。例えば、分析構成要素110がウィルスの存在を疑う場合、それはエージェント構成要素202に疑いのあるアセットを管理されているシステムから除去させるための応答エージェントをダウンロードできる。エージェント構成要素202は監視されているコンピュータ上でのサービスまたは他の背景プロセスとして実行してよい。本発明の実施形態によって提供される情報の適用範囲及び精度のため、修理は従来のシステムを用いる場合よりも正確に実行できる。クライアントという点で説明されるが、管理される集団114はPCのワークステーション、サーバ、または任意の他の種類のコンピュータを備えてよい。
【0033】
図示されている実施形態は適応基準モデル構成要素206も含む。自動化されたサポート製品を構築する上での1つの困難な技術課題は、正常なシステム状態と異常なシステムも謡を区別するために使用できる基準モデルの作成である。現代のコンピュータのシステム状態は多くの多値変数によって決定され、その結果、実質的にはほぼ無限数の正常な状態と異常な状態がある。さらに悪いことに、これらの変数は新しいソフトウェア更新が配備されるにつれ、及びエンドユーザが通信すると、頻繁に変化する。図示される実施形態の適応基準モデル206は、多くのコンピュータからのスナップショットを分析し、この目的のために特に設計される一般的なデータマイニングアルゴリズムまたは独自仕様のデータマイニングアルゴリズムを使用して統計的に重要なパターンを識別する。その結果生じる規則セットはきわめて豊富(数十万の規則)であり、管理されている集団の一意の特性に合わせてカスタマイズされる。図示されている実施形態では、新しい基準モデルを構築するプロセスは完全に自動であり、ソフトウェア更新の計画配備などの所望される変化に該モデルが適用できるようにするために周期的に実行できる。
【0034】
適応基準モデル206は、マシンの集団から統計的に重要なパターンの分析のために使用されるため、一実施形態では、統計的な基準の制度を確実するために最小数のマシンが分析される。一実施形態では、約50台のマシンという最小集団が、マシンの分析のために体系的に関連性のあるパターンを達成するために試験される。いったん基準が確立されると、何らかの異常が集団全体、あるいは該集団の任意のメンバで発生しているかどうかを確認するためにサンプルが使用できる。
【0035】
別の実施形態では、分析構成要素110は、ユーザが正確な分析を提供するために十分な数のサンプルがいつ蓄積されたのかを判断できるようにする成熟度測定基準のセットを計算する。これらの成熟度測定基準は、多様なレベルの信頼度(例えば、高、中、及び低)に対応する所定の基準を満たしたモデルの各レベルで使用可能な関係性のパーセンテージを示す。1つのこのような実施形態では、ユーザは該測定基準を監視し、成熟したモデルを作成するために十分なスナップショットが同化したことを確実にする。別のこのような実施形態では、分析構成要素110は、それがユーザによって設定された所定の成熟度目標に達するまでサンプルを同化する。どちらかのこのような実施形態では特定数のサンプル(例えば50)を同化することは必要ではない。
【0036】
図2に示される実施形態は、ポリシーテンプレート構成要素208も備える。該ポリシーテンプレート構成要素208は、サービスプロバイダが適応基準モデルの中に「ポリシー」の形で規則を手動で挿入できるようにする。ポリシーは属性(ファイル、レジストリキー等)と、モデルに適用されるとモデルの中の統計的に生成される情報の部分を無効にする値の組み合わせである。この機構は、機密保護ポリシーへの準拠を検証し、適切なソフトウェアアップグレードがインストールされていることを確実にするためにチェックするなど、多岐に渡る共通保守活動を自動化するために使用できる。
【0037】
コンピュータで異常が発生すると、それは多くの場合、多くの異なる情報アセット(ファイル、レジストリキー等)に影響を及ぼす。例えば、「トロイの木馬」は悪質なファイルをインストールし、それらのファイルが実行されることを確実にするために特定のレジストリキーを追加し、通信のためのポートを開く可能性がある。図2に図示される実施形態は、感染したマシンのスナップショットを適応基準モデルで具現化される規準と比較することによってこれらの望ましくない変化を異常として検出する。異常は予期せずに存在するアセット、予期せずに不在のアセットまたは未知の値を有するアセットとして定義される。異常は、認識ファイル216のライブラリに照合される。認識フィルタ216は特定の根本的原因状態または一般的なクラスの条件の存在を示す異常のある特定のパターンを備える。認識フィルタ216は、条件を重大度表示、テキスト記述、及び応答エージェントへのリンクにも関連付ける。別の実施形態では、認識フィルタ216は、悪性の異常を識別し、解釈するために使用できる。例えば、ユーザが、管理者が問題を引き起こさないと自信のある新しいアプリケーションを追加する場合にも、本発明によるシステムは新しいアプリケーションを異常のセットとして報告するであろう。アプリケーションが新しい場合には、それが異常として追加するアセットを報告することは正しい。しかしながら、管理者は、アプリケーションを良性として追加することによって生じる異常を解釈するために認識フィルタ216を使用できる。
【0038】
本発明の実施形態では、特定の属性は連続的なプロセスに関連する。例えば、性能データは多様なカウンタから構成される。これらのカウンタはある特定の期間での多様なイベントの発生を測定する。このようなカウンタの値が集団全体で正常であるかどうかを判断するために、本発明の一実施形態は平均偏差と標準偏差を計算する。異常は、カウンタの値が平均から特定数の標準偏差を超えて低下すると宣言される。
【0039】
別の実施形態では、機構は適応基準モデル206が異常を含むスナップショットを同化するケースを処理する。モデルは、いったん所望される成熟度レベルを達成すると、同化した可能性のある異常を除去するプロセスを受ける。これらの異常は成熟したモデルでは強力な関係性に対する隔離された例外として可視である。例えば、ファイルAが999のマシンの中のファイルBと関連して出現するが、一つのマシンの中でファイルAは存在するがファイルBが見当たらない場合には、プロセスは後の関係性が異常であり、それがモデルから削除されると仮定する。モデルが以後チェックに使用されると、ファイルBは含まないがファイルAを含むマシンは異常とフラグを立てられる。
【0040】
図2に示される本発明の実施形態は、応答エージェントライブラリ212も含む。応答エージェントライブラリ212によって、サービスプロバイダは特殊な障害状態について自動化された応答を生み出し、記憶できる。これらの自動化された応答は、ファイルを置換する、またはレジストリ値を変更するなどの動作を実行するために管理されているマシンにディスパッチできるスクリプトの集合体から構築される。いったん障害状態が分析され、応答エージェントが定義されると、その後の同じ障害状態の発生は自動的に補正されなければならない。
【0041】
図3は、本発明の一実施形態における異常検出の全体的なプロセスを描くフローチャートである。図示されている実施形態では、エージェント構成要素(202)が周期的に、例えば日に一度スナップショットを実行する302。このスナップショットは大量のデータを収集することを必要とし、クライアントの構成に応じて実行に数分から数時間のいずれかを要する。走査が完了すると、結果が圧縮され、フォーマットされ、コレクタ構成要素304として公知の安全なサーバに対してスナップショットの形式で送信される。コレクタ構成要素は管理された集団から提出されるスナップショットのすべてのための中央レポジトリとして働く。それから、各スナップショットは解凍され、解析され、コレクタ構成要素によってデータベース内の多様なテーブルに記憶される。
【0042】
検出機能(218)は、スナップショットのコンテンツを、その管理されている集団308にとって正常であることが公知である数十万の統計的に関連性のある関係性に照らし合わせて調べるために、適応基準モデル構成要素(206)に記憶されるデータを使用する。異常が発見されない場合310、プロセスは終了する324。
【0043】
異常が発見されると310、認識フィルタ(210)が、異常が任意の既知の状態312に一致するかどうかを判断するために参照される。回答がイエスの場合には、異常は診断された状態に従って報告される314。それ以外の場合、以上は認識されていない異常として報告される316。認識フィルタ(216)は、自動化された応答がその特定のタイプの条件318について許可されているかどうかも示す。
【0044】
一実施形態では、認識フィルタ(216)は複数の異常を認識し、統合できる。認識フィルタを異常に適合させるプロセスは、スナップショット全体が分析され、そのスナップショットに関連付けられるすべての異常が検出された後に実行される。一致が異常のサブセットと認識フィルタの間で発見されると、認識フィルタの名前は出力ストリームの異常の部分集合と関連付けられる。例えば、ウィルスの存在はファイル異常、プロセス異常、及びレジストリ異常のセットを生成する。認識フィルタは、ユーザがすべての異常を類似する共通の理由、つまりウィルスに関連させる記述名だけを見るようにこれらの異常を連結するために使用できるであろう。
【0045】
自動化された応答が許可されると、応答エージェントライブラリ(212)は影響を受けたマシン320に適切な応答エージェントをダウンロードする。影響を受けたマシンのエージェント構成要素202は次に障害状態322を補正するために必要とされるスクリプトのシーケンスを実行する。それから、示されているプロセスが終了する324。
【0046】
本発明の実施形態は、パソコンとサーバの集団を維持するコストを大幅に削減する。一実施形態は障害状態を、それらがヘルプデスクに拡大する前に自動的に検出し、補正することによって、及びサポートアナリストが自動的に対処されないあらゆる問題を解決するために必要とされる時間を短縮するために診断情報を提供することによってこの目的を達成する。
【0047】
事件が発生する頻度を削減するものはいずれもコンピュータサポートの費用に対して大きなプラスの影響を及ぼす。本発明のある実施形態は、管理されているマシンの状態を、それが脅威に対してさらに耐性があるように監視し、調整する。ポリシーテンプレートを使用すると、サービスプロバイダはあらゆる管理されているシステムのセキュリティの状況を日常的に監視し、セキュリティ設定値を自動的に調整し、公知の脆弱性を排除するためにソフトウェアアップグレードをインストールすることができる。
【0048】
人間をベースにしたサポートモデルでは、障害状態はエンドユーザによって検出され、ヘルプデスクに報告され、人間の専門家によって診断される。このプロセスは多くの点で費用を発生させる。第1に、エンドユーザが解決を待機する間に失われる生産性に関連する費用がある。また、通常はヘルプデスク人員により実行されるデータ収集の費用がある。加えて、訓練された(高価な)サポートアナリストのサービスを必要とする診断費用がある。 対照的に、本発明に従って実現されるマシンをベースにしたサポートモデルは、多くのソフトウェア関連の障害状況を自動的に感知し、報告し、診断する。適応基準モデル技術は、極端な多様性及び以前には可能ではなかった感度と精度を伴なう変化の存在下での異常状態の検出を可能にする。
【0049】
本発明の一実施形態では、擬陽性を防止するために、システムは多様な信頼水準で動作するように構成され、良性であることが公知である異常は認識フィルタを使用して除去できる。認識フィルタは、特殊なタイプの望ましくないまたは悪質なソフトウェアの存在に対してサービスプロバイダに警告するために使用することもできる。
【0050】
従来のシステムでは、コンピュータの事件は、通常、一連の試行錯誤の修理動作を適用することにより人間によって解決される。これらの修理動作は「スレッジハンマー」の寄せ集め、つまりそれらが補正することを目的としていた障害状態よりはるかに影響を及ぼす解決策となる傾向がある。複数の選択肢の修理手順及びスレッジハンマー解決策は、問題の不適切な理解の結果であり、不必要な費用の原因である。本発明によるシステムは問題を完全に特徴付けるためのデータを有しているため、それは二通りの方法で修理の費用を削減できる。第1に、それは、必要とされる自動化された応答を指定する認識フィルタが定義される場合に、事件を自動的に解決できる。第2に、自動修理が可能ではない場合、システムの診断能力が人間をベースにした修理プロセスに固有の当て推量を排除し、実行時間を短縮し、さらに大きな精度を可能にする。
【0051】
図4は、本発明の一実施形態における適応基準モデルの構成要素を描くブロック図である。図4は例示的に過ぎない。
【0052】
図4に図示される実施形態は多層単一サイロ(silo)適応基準モデル402を描く。示されている実施形態では、サイロ404は3つの層、つまり値層406、クラスタ層408、及びプロファイル層410を備える。
【0053】
値層406は、図1の管理されている集団(114)全体で、ここに説明されるエージェント構成要素(202)によって提供されるアセット値の組の値を追跡調査する。スナップショットが適応基準モデル402と比較されると、適応基準モデル402の値層406はその中に含まれる各アセット値の組の値部分を評価する。この評価は、スナップショットの中の任意のアセット値が適応基準モデル402によって表されているように管理されている集団の中でアセット値の統計的に重要なパターンに違反するかどうかを判断することからなる。
【0054】
例えば、エージェント(116b)は、ある特定のシステムファイルのためのデジタルシグナチャを含むスナップショットを転送する。(適応基準モデルが構築されているときの)同化プロセスの間、モデルは、それが各アセット名について遭遇する値、及びその値に遭遇する回数を記録する。したがって、あらゆるアセット名について、モデルは、それが集団の中で見ている「有効な」値を知っている。モデルがチェックに使用されると、値層406は、スナップショットの各属性の値がモデルの「有効」値の値と一致するかどうかを判断する。例えば、ファイルの場合、ファイルの多様なバージョンが管理されている集団で存在する可能性があるため、多くの「有効」値が考えられる。異常は、基準が統計的に一貫性がある1つまたは複数のファイル値を含み、スナップショットがモデルの中のファイル値のどれにも一致しなかったファイル値を含んでいる場合に宣言されるであろう。モデルは属性に「有効な」の値がない状況も検出できる。例えば、ログファイルは頻繁に変化するために有効な値は有さない。「有効」値が存在しない場合には、スナップショットの中の属性値はチェックの間に無視される。
【0055】
一実施形態では、適応基準モデル402は、異常が真に異常であり、単なる新しいファイルの変形ではないことを確実にするための基準を実現する。該基準は、信頼水準を含んでよい。信頼水準は、一意のファイルが異常と報告されるのを阻止しない。信頼水準は特定の基準を満たすそれらの関係性に、チェックプロセスの間のモデルで使用される関係性を抑制する。各レベルに関連付けられた基準は特定統計上の確率を達成するように作られている。例えば、一実施形態では、高信頼水準のための基準は90%を超える統計的確率を達成するように作られる。より低い信頼水準が指定される場合には、統計上信頼できない追加の関係性がチェックプロセスに含まれる。実行可能であるが、可能性が低い関係性を考慮するプロセスは、我々が確信できるようにするすべての情報を持たずに決定を下す必要があるときに憶測する人間のプロセスに類似している。連続して変化する環境では、管理者は低い信頼水準に結び付いた異常を除去することを希望する可能性がある。つまり、管理者は可能な限り多くの擬陽性を排除することを希望する。
【0056】
信頼水準を実現する実施形態では、ユーザがマシンに異常があることを報告するが、管理者がデフォルトの信頼水準で異常を見ることができない場合、管理者は信頼水準を引き下げ、分析プロセスがさらに低い統計的な意味を有し、さらに高い信頼水準では無視される関係性を検討できるようにする。信頼水準を引き下げることにより、管理者は統計的に重要となるほど十分なサンプルを有さないが、何が問題であるのかに関して我々に手掛かりを与える可能性があるパターンを適応基準モデル402が含むことができるようにする。言い換えると、管理者はマシンが憶測できるようにしている。
【0057】
別の実施形態では、値層406は、指定された数のスナップショットを同化した後に、アセット値が任意の安定したパターンを示すことができない場合に、適応基準モデル402からアセット値を自動的に排除する。例えば、多くのアプリケーションがログファイルを作成する。ログファイルの値は絶えず変化し、マシンごとにめったに同じにはならない。一実施形態では、これらのファイル値は初期に評価されてから、指定数の評価の後に適応基準モデル402から排除される。システムは、モデル402からこれらの種類のファイル値を排除することによって検出プロセス218の間の不必要な比較を排除し、低値情報を取り除くことによりデータベース記憶要件を削減する。
【0058】
本発明の実施形態は、アセット値を適応基準モデル402から排除することに限定されない。一実施形態では、プロセスはアセット名にも適用する。特定のアセット名は「本来一意」である。すなわち、それらはある特定のマシンに対しては一意であるが、それらは正常な動作の副産物である。一実施形態では、別個のプロセスが不安定なアセット名を処理する。このような実施形態におけるこのプロセスは、本来一意であり、それらが異常として報告されないようにそれらがモデル内に留まることを可能にするアセット名を識別する。
【0059】
図4に示される第2の層はクラスタ層408である。クラスタ層408はアセット名の間の関係性を追跡調査する。アセット名は、ファイル名、レジストリキー名、ポート番号、プロセス名、サービス名、性能カウンタ名、またはハードウェア特性を含む種々のエンティティに適用できる。特定の集合が一般的に管理されている集団(114)の中のマシン上で縦一列になって存在するとき、クラスタ層408は、アセット名の集合の要素がないときに異常のフラグを立てることができる。
【0060】
例えば、Microsoft Windowsオペレーティングシステムを実行しているコンピュータ上の多くのアプリケーションが多数の動的リンクライブラリ(DLL)を必要とする。各DLLは多くの場合1つまたは複数の他のDLLに依存する。第1のDLLが存在する場合、したがって他のDLLも存在しなければならない。クラスタ層408はこの依存性を追跡調査し、DLLの内の1つが見当たらない、あるいは改変される場合、クラスタ層408は、異常が発生したことを管理者に警報で知らせる。
【0061】
図4に図示される適応基準モデル402の第3の層は、プロファイル層410である。図示されている実施形態の中のプロファイル層410はクラスタ関係性の違反に基づいて異常を検出する。二種類の関係性、結合(クラスタが一緒に現れる)及び排他的(クラスタは絶対に一緒に現れない)がある。プロファイル層410により、適応基準モデルが、アセット間の矛盾だけではなく、クラスタ層によって検出されない紛失中のアセットも検出できるようにする。プロファイル層410は、どのクラスタが、互いに強い結合関係性及び排他的な関係性を有するのかを判断する。このような実施形態では、ある特定のクラスタが、通常、それが強力な結合関係性を有する他のクラスタの存在のおかげで予想されるスナップショットで検出されない場合に、プロファイル層410はそのクラスタの不在を異常として検出する。同様に、クラスタが、通常、それが強い排他的な関係性を有する他のクラスタの存在のために予想されないであろうスナップショットで検出されると、プロファイル層410は異常として第1のクラスタの存在を検出する。プロファイル層410によって適応基準モデル420は、サイロ404のさらに低いレベルでは検出不可能となるであろう異常を検出することができる。
【0062】
図4に図示される適応基準モデル402は、当業者にとって周知である多様な方法で実現されてよい。適応基準モデル402の処理を最適化することによって、及び十分な処理資源と記憶資源を提供することによって、本発明の実施形態は、制限されない数の管理されている集団と個々のクライアントをサポートできる。新しいモデルの同化とチェックでのモデルの使用の両方とも、数十万の属性名と値の比較を必要とする。名前と値のテキスト文字列を使用してこれらの比較を実行することは、非常に要求が厳しい処理タスクである。本発明の一実施形態では、入信スナップショットの中のあらゆる一意の文字列に整数識別子が割り当てられる。そして、文字列ではなく整数識別子を使用して比較が行われる。コンピュータはファイル名またはレジストリキー名に関連付けられる長い文字列よりはるかに速く整数を比較できるため、処理効率は大幅に改善される。
【0063】
適応基準モデル402はエージェント構成要素(202)のデータに依存する。本発明の一実施形態におけるユーザインタフェースとエージェント構成要素(202)の機能要約である、エージェント構成要素(202)の機能性が前述される。
【0064】
本発明の実施形態は管理されている集団の中のクライアントマシン全体でレジストリエントリを比較できる。Microsoft Windowsオペレーティングシステムを実行しているレジストリキーをさまざまなマシンで比較する際の1つの問題は、グローバル一意識別子(「GUID」)から派生する。1つのマシン上の特定のアイテムのためのGUIDは、第2のマシン上の同じアイテムのためのGUIDとは異なる可能性がある。したがって、本発明の実施形態は比較の目的でGUIDを正規化するための機構を提供する。
【0065】
図5は、本発明のある実施形態におけるクライアント上でレジストリ情報を正規化するプロセスを描くフローチャートである。図示される実施形態では、GUIDは最初に2つのグループ502にグループ化される。GUIDの第1のグループは、管理されている集団の中のマシン全体で一意ではない(複製された)GUIDである。第2のグループは、マシン全体で一意であるGUIDを含む。つまり同じキーが管理されている集団の中のさまざまなマシン上で別のGUIDを有する。第2のグループのキーは次に並べ替えられる504。このようにして、同じマシンの中の2つまたは3つ以上のキーの関係性は識別できる。目的は、複数のマシン全体でそれらを比較できるようにするように、このような関係性を正規化することである。
【0066】
次に示される実施形態は、キー506の中の値にハッシュを作成する。これは、すべての名前、パス名、及びキーに含まれる他の値のための一意の識別子を生じさせる。次にハッシュがGUID508の代わりをする。このようにして、一意性はマシン内で維持されるが、関係性が識別できるように同じハッシュはあらゆるマシンで現れる。該関係性により、適応基準モデルは管理されている集団の中で異常を識別できるようにする。
【0067】
例えば、従来のウィルスは多くの場合、感染したマシンが該ウィルスを蔓延させた実行可能形式を実行するようにレジストリキーを変更する。本発明の実施形態は、レジストリキーを正規化するその能力のために集団の1台または複数台のマシンでのレジストリに対する変更を特定できる。
【0068】
図6は、本発明の一実施形態における異常を識別し、異常に対応するための方法を描くフローチャートである。図示されている実施形態では、コレクタ構成要素(108)などのプロセッサが複数のスナップショットを複数のコンピュータ602から受信する。以下の説明は、図6に図示されるプロセスを分析構成要素(110)によって実行されるとして記述するが、適切なプロセッサは図示されるプロセスを実行してよい。複数のスナップショットは2台のコンピュータからわずか2枚のスナップショットを備えてよい。代わりに、複数のスナップショットは数千のスナップショットを備えてよい。スナップショットは調べられる集団の中のコンピュータについてのデータを備える。例えば、複数のスナップショットが組織のローカルエリアネットワークと通信中のコンピュータのそれぞれから受信されてよい。各スナップショットはある特定の時点でのあるコンピュータの状態を表すアセット値の組の集合体を備える。
【0069】
コレクタ構成要素(108)はスナップショットを受信すると、それらを記憶する604。スナップショットを記憶することは、データベース(112)内またはメモリ(不図示)内にそれらを記憶することを備えてよい。該スナップショットは、一時的にまたは恒久的に記憶されてよい。また、本発明のある実施形態では、スナップショット全体がデータストアに記憶される。別の実施形態では、過去のバージョンから変化したスナップショットの部分だけが記憶される(つまりデルタスナップショット)。
【0070】
分析構成要素(110)は、適応基準モデル606を作成するために複数のスナップショットのデータを活用する。スナップショットのそれぞれが、アセット名とアセット値の複数の組を備える複数のアセットを備える。アセットとは、ファイル名、レジストリキー名、性能パラメータまたは通信ポートなどのコンピュータの属性である。アセットは、分析されるコンピュータの集団の中での、実際または仮想に関係なく、コンピュータの状態を反映する。アセット値は、ある特定の時点でのアセットの状態である。例えば、ファイルの場合、該値はファイルのコンテンツを表すMD5ハッシュを備えてよい。レジストリキーの場合、値はキーに割り当てられるデータを表すテキスト文字列を備えてよい。
【0071】
適応基準モデルは複数のアセットも備える。適応基準モデルのアセットは、異常を識別するために、及び他の目的のためにスナップショットのアセットに比較されてよい。一実施形態では、適応基準モデルは、ある特定の時点での1台または複数台の正常なコンピュータを特徴付けるアセット間の多様な関係性についてのデータの集合体を備える。
【0072】
一実施形態では、分析構成要素(110)はアセット名のクラスタを識別する。クラスタは一緒に表示されるアセット名の1つまたは複数の重複しないグループを備える。また、分析構成要素(110)は、クラスタの間で関係性を識別しようとする。例えば、分析構成要素(110)はスナップショットの中の特定のクラスタの存在を前提として、該スナップショットの中の他のクラスタの存在の尤度を予測する確率行列を計算してよい。多数のスナップショットに基づき、非常に大きい(例えば95%を超える)または非常に少ない(例えば5%未満)のどちらかである確率は、異常を検出するためにモデルによって使用できる。より小さい数のスナップショット(つまり、統計的に重要ではない数)に基づく、あるいは非常に大きくもなければ、非常に小さくもない確率は異常を検出するためには使用されない。
【0073】
適応基準モデルは、スナップショットを試験するために関係性をいつ使用できるのかを決定するための信頼基準を備えてよい。例えば、該信頼基準は適応基準モデルに含まれる多くのスナップショットの最小閾値を備えてよい。閾値を超えない場合には、関係性は使用されない。適応基準は、また、あるいは代わりに、関係性を含む適応基準モデルに含まれる多くのスナップショットの最低閾値を含んでよく、閾値が超えられる場合にだけ関係性を活用する。一実施形態では、適応基準モデルは、アセット値を含むスナップショット数に対する異なるアセット値の数の割合の最大閾値を備える。適応基準モデルは、数値アセット値と関連付けられる1つまたは複数の最小閾値と最大閾値を備えてよい。
適応基準モデルの中の、またはスナップショットの中の複数のアセットのそれぞれは、アセットタイプと関連付けられてよい。アセットタイプは、例えば、ファイル、レジストリキー、性能基準、サービス、ハードウェア構成要素、実行中のプロセス、ログ、及び通信ポートなどを備えてよい。他のアセットタイプは、本発明の実施形態によって活用されてもよい。空間を節約するために、アセット名とアセット値は圧縮されてよい。例えば、本発明の一実施形態では、コレクタ構成要素(108)は、複数のスナップショットのうちの1枚でアセット名またはアセット値の第1の発生を識別し、第1の発生と関連付けられる識別子を生成する。以後、コレクタ構成要素(108)がアセット名またはアセット値の第2の発生を識別すると、コレクタ構成要素(108)は識別子を第2のアセット名とアセット値に関連付ける。識別子だけが適応基準モデルまたはスナップショットの中のデータともに記憶されるが、識別子及びアセット名またはアセット値はインデックスに記憶できる。このようにして、頻繁に反復されるアセット名または値を記憶するために必要とされる空間は最小限に抑えられる。
【0074】
適応基準モデルは自動的に生成されてよい。一実施形態では、適応基準モデルは自動的に生成され、技術サポート要因または他の知識を考慮するために、次に手動で改訂される。図11は、本発明の一実施形態で適応基準モデルを作成するためのユーザインタフェースの画面例である。図示されている実施形態では、ユーザはMachine Selection Menu(マシン選択メニュー)ウィンドウ1102からMachines in Task(作業中マシン)ウィンドウ1104にそれらを移動することによりモデルの中に含まれるスナップショットを選択する。ユーザが選択プロセスを終了し、終了ボタン1106をクリックすると、モデルを発生させる自動化タスクが作成される。モデルがいったん作成されると、ユーザはそれを管理するために別のインタフェース画面を使用できる。図12は、本発明の一実施形態における適応基準モデルを管理するためのユーザインタフェースの画面例である。
【0075】
再び図6を参照すると、いったん適応基準モデルが作成されると、分析構成要素(110)は複数のスナップショットの内の少なくとも1つを適応基準モデル608に比較する。例えば、コレクタ構成要素(108)は百枚のスナップショットを受け取り、データベース構成要素(112)内に記憶してよい。分析構成要素(110)は、適応基準モデルを作成するために該百枚のスナップショットを使用する。分析構成要素(110)は、次に適応基準モデルに対する複数のスナップショットの中のスナップショットのそれぞれの比較を開始する。しばらくして、コレクタ構成要素(108)は、エージェント構成要素から、次に適応基準モデルの改訂版を作成するため、及び異常を識別するために分析構成要素によって使用できる100枚の新しいスナップショットを受信してよい。
【0076】
本発明の一実施形態では、1枚または複数枚のスナップショットの適応基準モデルに対する比較は、アセット名の間で関係性を調べることを備える。例えば、第1のアセット名の存在の確率は、第2のアセット名が存在するときに高くなる可能性がある。一実施形態では、比較はスナップショットの中のアセット名のすべてが適応基準モデルの中に存在し、アセット名間の複数の高い確率関係性と一貫しているかどうかを決定することを含む。
【0077】
さらに図6を参照すると、一実施形態では、分析構成要素(110)が、コンピュータ610上に存在する可能性のあるあらゆる異常を識別するために、スナップショットを適応基準モデルに比較する。異常はスナップショットのある部分が適応基準モデルによって定義されるような標準から逸脱していることの表示である。例えば、アセット名またはアセット値は、適応基準モデルによって定義されるような特定の状況で予測される通常のアセット名とアセット値から逸脱してよい。異常は、スナップショットが関連付けられるコンピュータ上で、またはコンピュータに関して公知のまたは新しい障害または問題状況が存在することを信号で知らせてよいか、あるいは知らせなくてよい。状態は、関連している異常のグループである。例えば、異常のグループは、それらが単一の根本的原因から生じるために関連してよい。例えば、異常は、ある特定のアプリケーションの存在を、そのアプリケーションが既定の集団の中の他のコンピュータ上には一般的には存在しないときにコンピュータ上に示す可能性がある。異常の認識は、容量平衡度などの機能のためにも使用されてよい。例えば、複数台のサーバの性能基準を評価することによって、分析構成要素(110)は、変化する需要に対処するために新しいサーバの自動配備及び構成をいつトリガするのかを決定できる。
【0078】
状態は、関連する異常のグループを備える。例えば、異常のグループは、それらがアプリケーションプログラムのインストールまたは「ワーム」の存在などの単一の根本的原因から生じるために関連してよい。状態は状態クラスを備えてよい。該状態クラスによって、多様な状態を互いとグループ化できる。
【0079】
図6に図示される実施形態では、異常が検出されると、分析構成要素(110)は状態を診断するために認識フィルタに異常を適合させようとする612。異常は分析中の雑音を排除するため、つまり正常な動作プロセスの結果である異常の存在のために、本当の障害状態を目立たなくすることを避けるために良性の異常として識別されてよい。チェックは、適応基準モデルに対するスナップショットの比較である。チェックは自動的に実行されてよい。チェックの出力は異常及び検出された状態の集合を備えてよい。一実施形態では、異常は複数の認識フィルタに適合される。認識フィルタは状態のシグナチャまたは状態のクラスを備える。例えば、認識フィルタは、ともに解釈されるときに、ワームの存在などの、認識されることが望ましい状態のシグナチャを表現するアセット名とアセット値の組の集合体を備えてよい。総称認識フィルタは複数の特殊フィルタを作成するためのテンプレートを提供してよい。例えば、一般的にワームを検索するために適応される認識フィルタは特殊ワームを検索するように適応されてよい。
【0080】
本発明の一実施形態では、認識フィルタは、該状態と関連付けられたアセット名、該状態と関連付けられたアセット値、該状態と関連付けられたアセット名とアセット値の組み合わせ、アセット値と、及び該状態と関連付けられた最大閾値、及び該アセット値と、及び該状態と関連付けられた最小閾値の内の少なくとも1つを備える。スナップショットからのアセット名/値の組は、一致を検出し、状態を診断するために認識フィルタから名前/値の組に比較されてよい。名前/値の一致は正確であってよい、あるいは認識フィルタはワイルドカードを備え、認識フィルタに部分的な値を入力してから、スナップショットと適合できるようにする。特定のアセット名及び/値は、状態を診断するための複数の認識フィルタに適合させてよい。
【0081】
認識フィルタは多様な方法で作成されてよい。例えば、本発明の一実施形態では、ユーザは、関心のある状態が存在するマシンから異常をコピーする。異常は、それらが選択でき、フィルタにコピーできる異常要約に提示されてよい。別の実施形態では、ユーザはフィルタ定義にワイルドカード文字を入力する。例えば、Gatorと呼ばれる1個のスパイウェアは、文字列「hklm\software\gator\」で始まる数千のレジストリキーを作成する。本発明の実施形態は、この状況に効率的に対処するためにワイルドカード機構を提供してよい。ワイルドカード文字は、例えばパーセント符号(%)であってよく、テキスト文字列の前、テキスト文字列の後、またはテキスト文字列の真中で使用されてよい。Gatorの例を続けると、ユーザがフィルタ本体に文字列「hklm\software\gator\%」を入力すると、「hklm\software\gator\」で始まる任意のキーがフィルタによって認識される。ユーザは管理されている集団ではまだ経験されたことがない状態のためのフィルタを構築することを希望してよい。例えば、管理されている集団の中のウィルスの実際の例よりむしろインターネット上で公に入手可能な情報に基づいたウィルス用フィルタである。この状況に対処するために、ユーザはフィルタに関連性のある情報を直接的に入力する。
【0082】
図13は、本発明の一実施形態における認識フィルタの作成のために使用するスナップショットを選択するためのユーザインタフェースの画面図である。ユーザは図示された画面にアクセスし、認識フィルタを作成するために使用するスナップショットを選択する。図14は本発明の一実施形態において認識フィルタを作成する、または編集するためのユーザインタフェースの画面図である。図示されている実施形態では、図13に描かれているインタフェースで選択されたスナップショットからのアセットは、Data Source(データソース)ウィンドウ1402に表示されている。ユーザはこれらのアセットを選択し、認識フィルタを作成するためにそれらをSource(ソース)ウィンドウ1404にコピーする。
【0083】
一実施形態では、認識フィルタと異常のセットの一致は、品質基準と関連付けられる。例えば、認識フィルタの中のアセット名とアセット値の、異常のセット内のアセット名とアセット値とのすべての正確な一致は、認識フィルタのアセット名とアセット値の部分集合の、異常の集合のアセット名とアセット値との一致よりも高い品質基準と関連付けられてよい。
【0084】
認識フィルタは他の属性も備えてよい。例えば、一実施形態では、認識フィルタは、適応基準モデルの中にアセット名とアセット値を含めるかどうかを決定するための制御フラグを備える。別の実施形態では、認識フィルタは1つまたは複数の状態と関連付けられる1つまたは複数のテキスト説明を備える。さらに別の実施形態では、認識フィルタは、例えばそれがどの程度の損害を引き起こす可能性があるのか、削除することがどれほど難しいのか、あるいはなんらかの他の適切な基準などの点で状態の重大性を示す重大性インジケータを備える。
【0085】
認識フィルタは、事実上管理であるフィールドを備えてよい。例えば一実施形態では、認識フィルタは認識フィルタ識別子と、作成者名、及び更新日付−時間を備える。
【0086】
例えば、まだ図6を参照すると、分析構成要素(110)は状態に反応する614。例えば、サポート技術者に対するeメールなどの通知を作成することと、問題管理システムにトラブルチケット問題通知を提出すること、例えばパッチをインストールするためのサポート技術者からの確認を要求するなどのアクションを講じるための許可を要求すること、複数台のコンピュータの内の少なくとも1つから状態を削除することを含んでよい。例えば、状態を削除することは例えば、応答エージェントを状態の影響を受ける複数のコンピュータのどれかで実行させることを含んでよい。状態は自動応答と関連付けられてよい。診断するステップ612と状態に反応すること614とは、状況ごとに反復されてよい。また、異常を見つけ出すプロセス610は、個々のスナップショットごとに反復されてよい。
【0087】
図6に示されている実施形態では、分析構成要素(110)は次に、追加のスナップショットが分析されなければならないかどうか616を決定する。分析されなければならない場合、適応基準モデルにスナップショットを比較するステップ608と、異常を見つけ出すステップ610と、状態を診断するために異常を認識フィルタに適合させること612と、及び状態に応えること614がスナップショットごとに繰り返される。いったんスナップショットのすべてが分析されると、プロセスは終了する618。
【0088】
本発明の一実施形態では、いったん分析構成要素110が状態を識別すると、分析構成要素(110)は、集団の中の複数台のコンピュータの内のどれが状態によって影響を及ぼされるのかを判断しようとする。例えば、分析構成要素(110)は、異常の特定の集合を識別するためにスナップショットを調べてよい。分析構成要素(110)は、次に、状態に対する応えを、影響を及ぼされたコンピュータのそれぞれに代わって実行させてよい。例えば、一実施形態では、エージェント構成要素(202)は、複数のコンピュータのそれぞれに存在する。エージェント構成要素(202)は、分析構成要素(110)によって評価されるスナップショットを作成する。このような一実施形態では、分析構成要素(110)は、分析構成要素(110)がコンピュータの内の1台で状態を識別する場合に、応答プログラムを実行するためにエージェント構成要素(202)を活用する。状態を診断する際に、分析構成要素(110)は、状態の根本的原因を識別できてよいか、あるいはできなくてよい。
【0089】
図7は、本発明の一実施形態において特定の種類の異常を識別するためのプロセスを描くフローチャートである。図示されている実施形態では、分析構成要素(110)は複数台のコンピュータ702のスナップショットを評価する。これらのスナップショットは、コンピュータの完全な状態を備えるベーススナップショット、あるいは前回のベーススナップショット以降のコンピュータの状態の変化を備えるデルタスナップショットである場合がある。分析構成要素(110)は、適応基準モデル704を作成するためにスナップショットを使用する。この目的のためにデルタスナップショットを使用するときには、分析構成要素は、デルタスナップショットで記述される変更を最近のベーススナップショットに適用することによって、最初にベーススナップショットの同等物を再構成しなければならない。分析構成要素(110)は、その後、複数のコンピュータ706の少なくとも1台の第2のスナップショット(ベースまたはデルタ)を受信する。スナップショットは、所定の時間量の経過、新しいプログラムのインストール、または他のなんらかの適切なイベント当の多様なイベントに基づいて作成されてよい。
【0090】
分析構成要素(110)は、異常を試行し、検出するために第2のスナップショットを適応基準モデルに比較する。多様な種類の異常がコンピュータに存在してよい。図示されている実施形態では、分析構成要素(110)は最初に予想外に不在であるアセット名を識別しようと試みる710。例えば、集団の中のすべて、または実質的にすべてが特定のファイルを含んでよい。該ファイルの存在はアセット名の存在によって適応基準モデルで注記される。該ファイルが集団の中のコンピュータの内の1台から予想外に不在の場合には、つまりアセット名が発見されない場合、なんらかの状態が、ファイルが紛失中であるコンピュータに影響を及ぼしている可能性がある。アセット名が予想外に不在である場合、該不在は異常712として識別される。例えば、コンピュータ、日付、及び予想外の不在アセットはデータストアに入力されてよい。
【0091】
次に分析構成要素(110)は、予想外に存在するアセット名を識別しようとする714。ファイル名またはレジストリ名などの予想外のアセット名の存在は、コンピュータワームなどの障害状態の存在を示す可能性がある。アセット名は、それが以前見られたことがない場合、あるいはそれが発見されている文脈で以前見られたことがない場合に、予想外に存在する。同じアセット名が予想外に存在する場合、存在は異常として識別される720。
【0092】
分析構成要素(110)は、次に予想外のアセット値を識別しようとする718。例えば、ある実施形態では、分析構成要素(110)が、それと関連付けられるアセット名にとって未知である文字列アセット値を識別しようとする。別の実施形態では、分析構成要素(110)は、対応するアセット名と関連付けられる最小閾値または最大閾値に数値アセットを比較する。本発明の実施形態では、閾値は集団の中のアセット値の平均偏差と標準偏差に基づいて自動的に設定されてよい。示されている実施形態に従って、予想外の試算値が検出されると、それは異常として識別される720。それからプロセスは終了する722。
【0093】
図7のプロセスは直列プロセスとして示されているが、適応基準モデルに対するスナップショットの比較、及び異常の識別は平行して発生してよい。また、描かれているステップのそれぞれが多数回繰り返されてよい。さらに、デルタスナップショットまたはベーススナップショットのどちらかが、各サイクルの間に適応基準モデルに比較できる。
【0094】
いったん分析が完了すると、分析構成要素(110)は、異常レポートなどの結果を生成してよい。このレポートはさらにユーザに提供されてよい。例えば、分析構成要素(110)は、スナップショットの適応基準モデルとの比較結果を備えるウェブページを作成してよい。本発明の実施形態は、自動化されたセキュリティ監査、ファイルとレジストリの完全性チェック、異常ベースのウィルス検出及び自動修理を実行するための手段を提供してよい。
【0095】
図8は、本発明の一実施形態で適応基準モデルを生成するためのプロセスを描くフローチャートである。図示されている実施形態では、分析構成要素(110)がデータベース構成要素を介して複数のコンピュータから複数のスナップショットにアクセスする。スナップショットのそれぞれはアセット名とアセット値の複数の組を備える。分析構成要素(110)は、少なくとも部分的にスナップショットに基づく適応基準モデルを自動的に作成する。
【0096】
適応基準モデルは、多くの属性、関係性及び多様なアセット名とアセット値の基準を備えてよい。図8に図示される実施形態では、分析構成要素(110)が、最初に1つまたは複数の一意のアセット名を見つけ出し、次にそれぞれの一意のアセット名が複数のスナップショット804の中で発生する回数を決定する。例えば、基本的なオペレーティングシステムドライバのためのファイルは集団の中の実質的にすべてのコンピュータで発生してよい。ファイル名は一意のアセット名である。それは、スナップショットの中で一度だけ出現するが、スナップショットの実質的にすべてで発生する可能性がある。
【0097】
図示されている実施形態では、分析構成要素(110)は、次に、各アセット名(806)と関連付けられる一意のアセット値を決定する。例えば、ステップ804に関して説明されるドライバのファイル名アセットは、ファイル名アセットの発生毎に同じ値を有するであろう。対照的に、ログファイルのファイル値はおそらく発生と同じくらい多くの異なる値を有するであろう。つまり、特定のコンピュータ上のログファイルは集団の中の他のすべてのコンピュータからの異なる数のエントリを含む。
【0098】
集団は非常に大きい可能性があるため、図8に示される実施形態では、アセット名と関連づけられる一意の値の数が閾値808を上回ると、決定は中止される810。言い換えると、前述されたログファイルの例では、コンピュータが正常な状態にあるか否かは、一貫性のある値を有するログファイルに依存しない。ログファイルコンテンツは各このピュータで変化することが予想される。しかしながら、ログファイルの存在または不在が、正常の表示と異常の表示として適応基準モデルに記憶されてよいことに留意すべきである。
【0099】
図8に図示される実施形態では、分析構成要素(110)は、各アセット名812と関連付けられる一意の文字列アセット値を決定する。例えば一実施形態では、文字列と数の2種類のアセット値しかない。ファイルハッシュとレジストリキー値は、文字列の例である。性能カウンタ値は数の例である。
【0100】
分析構成要素(110)は次に、アセット名と関連つけられる一意の数値と関連つけられる統基準を決定する814。例えば、ある実施形態では、分析構成要素(110)は、メモリページングなどの性能基準を捕捉する。集団の中の1台のコンピュータは多くの場合メモリを呼び出す(pages)ため、それは制御不能のプログラムがバックグラウンドで実行し、かなりのメモリ資源を必要としていることの表示である可能性がある。しかしながら、集団の中のあらゆるコンピュータまたは相当数のコンピュータが頻繁にメモリを呼び出す場合、それはコンピュータが概してメモリ資源を欠いている旨を示している可能性がある。一実施形態では、分析構成要素(110)は一意のアセット名と関連付けられた数値の平均値と標準偏差を求める。メモリの例では、あるコンピュータにとってのメモリページングの基準は集団のための統計的な平均値からはるかにずれている場合、異常が識別されてよい。
【0101】
本発明の一実施形態では、適応基準モデルはポリシーテンプレートを適応することによって修正されてよい。ポリシーテンプレートは識別され、特殊なポリシーを反映する規準を確立するために適応規準モデルに適用されるアセット/値の組の集合体である。例えば、ポリシーテンプレートは、標準的なコンピュータに存在すると考えられるアセット名とアセット値の複数の組を備えてよい。一実施形態では、ポリシーテンプレートを適用することは、ポリシーテンプレートに存在するアセット名とアセット値の組が複数のスナップショットのそれぞれに存在していたように考えられる、つまり集団の中のコンピュータの正常な状態であると考えられるように適応規準モデルを修正することを含んでよい。
【0102】
図15は、本発明の一実施形態のポリシーテンプレートで使用するための「ゴールデンシステム」を選択するためのユーザインタフェースを描く画面例である。前述されたように、ユーザは最初にポリシーテンプレートの基礎となるゴールデンシステムを選択する。図16は、本発明の一実施形態においてポリシーテンプレートアセットを選択するためのユーザインタフェースの画面例である。認識フィルタを作成するためのユーザインタフェースの場合と同様に、ユーザはData Source(データソース)ウィンドウ1602からアセットを選択し、コンテンツウィンドウ、つまりTemplate(テンプレート)コンテンツウィンドウ1604にそれらをコピーする。
【0103】
図9は、本発明の一実施形態における先を見越した異常検出のプロセスを描くフローチャートである。図示されている実施形態では、分析が発生すると、分析構成要素(110)は、分析されるスナップショットを記憶するデータベース(112)への接続を確立する902。図示されている実施形態では、1つのデータベースしか活用されていない。しかしながら、他の実施形態では、複数のデータベースのデータが分析されてよい。
【0104】
診断チェックが実行される前には、1つまたは複数の基準モデルが作成される904。基準モデルは、それらが含む情報が最新のままであることを確実にするために、毎週一回など周期的に更新される。本発明の一実施形態は、モデル作成を完全に自動化された手順として構成できるようにするタスクスケジューラを提供する。
【0105】
いったん基準モデルが作成されると、それはさまざまなタイプの分析を可能にするために多様な方法で処理できる。例えば、前述されたようにポリシーテンプレート906を定めることが可能である。例えば、ポリシーテンプレートが、管理されている集団の中のすべてのマシンがアンチウィルスソフトをインストールさせ、稼働させることを必要とする可能性がある。いったんポリシーテンプレートがモデルに適用されると、そのモデルに対する診断チェックはポリシー準拠のための試験を含むであろう。ポリシーテンプレートは自動化されたセキュリティ監査、性能閾値チェック、及びWindows更新管理を含む種々のアプリケーションで使用できる。ポリシーテンプレートは、標準としてモデルの中に強制されるアセットと値の集合を備える。一実施形態では、テンプレート編集プロセスは「ゴールデンシステム」手法に基づいている。ゴールデンシステムはユーザがテンプレートの中に組み込むことを希望するアセットと値を示す手法である。ユーザはゴールデンシステムに対応するスナップショットの位置を突き止め、次に前記ユーザが前記テンプレートの中に含むことを希望する各アセット/値の組を選択する。
【0106】
図9に図示されるプロセスでは、次にポリシーテンプレートが基準のその定義を修正するためにモデルに適用される908。これにより、それがここに説明されるようにユーザ定義のポリシーに対する準拠についてチェックできるようにモデルを整形できる。
【0107】
モデルは変換されてもよい910。該変換プロセスは基準モデルを改変する。例えば、一実施形態では、変換プロセスはモデルから一意であるあらゆる情報アセット、つまりただ1枚のスナップショットで発生するあらゆるアセットを削除する。チェックが変換されたモデルに対して実行されると、すべての一意の情報アセットが異常として報告される。この種のチェックは、エージェント構成要素が最初にインストールされた時点で存在する過去に未知の障害状態を明らかにする上で有効である。変換されたモデルは一意の特性を示すので初期ベースラインを確立する上で有効である。この理由から、変換されたモデルは、本発明の実施形態のベースラインモデルと呼ばれることもある。
【0108】
別の実施形態では、モデル構築プロセスはモデルから、認識フィルタを適合させるあらゆる情報アセットを削除し、公知の障害状態がモデルの中に組み込まれないことを確実にする。システムが最初にインストールされると、管理されている集団はかなり頻繁にまだ通知されていない多くの公知の障害状態を含む。それ以外の場合それらはマシンの正常な状態の一部として適応基準モデルの中に組み込まれてしまうため、これらの状態を発見し、モデルからそれらを削除することは重要である。
【0109】
エージェント構成要素(202)は、予定に基づいてそれぞれの管理されるマシンの状態のスナップショットを撮る。該スナップショットはスナップショットとして送信され、データベースに入力される。スナップショットはオンデマンドで、あるいはアプリケーションインストールなどの特定のイベントに応えて生成されてもよい。
【0110】
図示されている先を見越した問題管理プロセスでは、最新の基準モデルに付き合わせる最新のスナップショットの周期的なチェックが行われる912。周期的なチェックの出力は、結果としてユーザに表示される異常の集合である914。結果は、異常を認識フィルタに適合させた結果として識別されるあらゆる状態も含む。認識フィルタは、前述されたように定義されてよい916。異常は、解釈のための認識フィルタを通過し、状態の集合を生じさせる。状態にはWindowsのような良性なものからトロイの木馬のような深刻なものまで、重大度の範囲がある。
【0111】
コンピュータで発生する障害状態はそのコンピュータを構成するハードウェア構成要素とソフトウェア構成要素が進化するにつれて変化する。その結果、新しい異常の組み合わせが発見されるので、新しい認識フィルタを定義し、共用する連続ニーズがある。認識フィルタは、障害状態を文書化するための非常に詳細な構造化された方法と見なすことができ、したがってそれらは協働を容易にする重要な機構を表す。図示されている実施形態は、認識フィルタをXMLファイルにエクスポートし、XMLファイルから認識フィルタをインポートする。
【0112】
いったん状態が識別されると、先を見越したチェックの結果を文書化するレポートが作成される920。該レポートは例えば、検出されたすべての状態の要約または特定の状態の詳細な説明を備えてよい。
【0113】
図10は、本発明の一実施形態における反応過程を描くフローチャートである。図10に示されるプロセスでは、適応基準モデルがすでに作成されていると仮定されている。示されているプロセスは、ユーザが、問題を報告するためにヘルプデスクに電話をかけると開始する1002。従来のヘルプデスクパラダイムでは、次のステップはユーザによって経験される症状についての情報を口頭で収集することであろう。対照的に、示されている本発明の実施形態では、次のステップは疑いのあるマシンの診断チェックを、最新のスナップショットに照らし合わせて実行することである1003。これは問題状態の即座の診断を生じさせないため、次の3つの可能性が存在する場合がある。つまり、(1)状態が、前回のスナップショット撮影後に発生した、(2)状態が新しく、そのフィルタによって認識されていない、または(3)状況が分析の適用範囲外である、例えばハードウェアの問題。
【0114】
前回のスナップショットが撮影されてから障害状態が発生したと疑われる場合、ユーザはクライアントマシン上のエージェント構成要素(202)に別のスナップショットを撮らせてよい1006。いったん結果として生じるスナップショットが入手できると、新しい診断チェックを実行できる1004。
【0115】
障害状態が新しいことが疑われる場合、アナリストはインストールされた可能性のある新しいアプリケーションなどの時間の特殊なウィンドウでマシンの状態の変化の内訳を提供する比較関数を実行してよい1008。ユーザは、時間内の多様な点でマシンの状態の詳細な表現を表示できる1010。アナリストが新しい障害状態を識別すると、ユーザは以後の分析要の認識フィルタとしてアセットの集合を識別できる。
【0116】
従来の製品が人間をベースにしたサポートモデルの効率の改善に焦点を当てる一方、本発明の実施形態は別のパラダイム、マシンベースのサポートモデルを中心に設計されている。手法のこの根本的な差異がデータ収集と分析の領域で最も深く出現する。人間よりむしろマシンが収集されるデータの分析を実行するので、収集されるデータは膨大となる場合がある。例えば、一実施形態では、「健康診断」と呼ばれる単一のマシンから収集されるデータまたはマシンのスナップショットは数十万の属性の値を含む。大量のデータを収集できる能力が本発明の実施形態に、検出できる数と種々の条件という点で従来のシステムに優る大きな優位点を与える。
【0117】
本発明の別の実施形態は、強力な分析能力を提供する。このような実施形態における高値分析のための基礎は正常な状態と異常な状態を正確に区別する能力である。例えば、本発明による1つのシステムはそれがそのクライアントから収集するスナップショットデータから統計的に重要な関係性をマイニングすることによってその基準モデルを自動的に合成する。その結果生じる「適応」基準モデルはその特定の瞬間でのその特定の管理されている集団にとって正常であることを定義する。
【0118】
本発明の1つの実施形態は、前述されるデータ収集及び手工分析の機能を結合する。このような実施形態では、適応基準モデルの分析力と組み合わされた優れたデータ収集機能が日々のセキュリティ監視を実施し、脆弱性を排除するためにソフトウェアアップデートがないかチェックすることによってセキュリティの脅威に対する自動的な防御を提供する機能を含む多くの重大な競争上の優位性になる。このような実施形態は、それらが生産性の損失またはヘルプデスクへの電話に繋がる前に問題を発見するために日常的にすべての管理されているシステムを先を見越して走査することもできる場合がある。
【0119】
適応基準モデル機能を実現する本発明の実施形態は、過去に未知の障害状態を検出することもできる。さらに、このような実施形態は自動的に合成され、維持され、有効となるためにベンダのアップデートをほとんどまたはまったく必要としない。このような実施形態は、特定の管理されている集団に自動的にカスタマイズされ、それがその集団に一意の障害モードを検出できるようにする。
【0120】
本発明の実施形態の追加の優位点は、障害状態を自動的に解決できない場合に、このような実施形態がサポートアナリストの仕事を容易にするために大量の構造化技術情報を提供できるという点である。
【0121】
本発明の一実施形態は、識別された問題点を自動的に修理する能力を提供する。このような実施形態は、前述された実施形態の適応基準モデルと結合されると、障害状態のすべての態様を識別するためのその能力のために自動修理を一意に行うことができる。
【0122】
本発明の実施形態は、ここで説明されたサービスレベルの点から言えば従来のシステムと方法に優る多くの優位点も提供する。例えば、集団回復サービスレベルに関しては、いったん損害が発生してから事件を解決することより、事件を防止する方がはるかに安価である。本発明の実施形態は、人間の介入を必要とせずに、及び現実世界の実施形態におけるコンピュータの多岐に渡る、及び動的な性質を取り囲むように検出/防止できる事件のパーセンテージを大幅に増加する。
【0123】
さらに、本発明の実施形態は、公知の異常と未知の異常の両方を自動的に検出し、修理することにより自己回復サービスレベルに対処できる。ここに説明される適応基準モデルを実現する実施形態は自動検出及び修理に一意に適している。自動サービス及び修理は、自己点検とデスクサイド訪問に対するニーズも排除する、あるいは少なくとも最小限に押させるのに役立つ。
【0124】
本発明の実施形態は優れた診断機能と広範囲な情報資源を提供することにより支援点検レベルでの優位点を提供する。実施形態は、大量のエンドユーザデータを収集、分析し、セキュリティ監視、構成監視、在庫管理、性能分析、障害診断を含む、人間をベースにしたサポートモデルに関連付けられる種々のニーズを容易にする。
【0125】
本発明の実施形態の前記説明は、図解と説明の目的のためだけに提示されており、網羅的となる、あるいは本発明を開示されている正確な形式に限定することは目的としない。その多数の変型及び適応が、本発明の精神と範囲から逸脱することなく当業者にとって明らかになるであろう。
【図面の簡単な説明】
【0126】
【図1】本発明の一実施形態を実施するための例示的な環境を示す。
【図2】本発明の一実施形態の情報と動作の流れを描くブロック図である。
【図3】本発明の一実施形態における異常検出の全体的なプロセスを描くフローチャートである。
【図4】本発明の一実施形態における適応基準モデルの構成要素を描くフローチャートである。
【図5】本発明の一実施形態のエージェントに関するレジストリ情報を正規化するプロセスを描くフローチャートである。
【図6】本発明の一実施形態における異常を識別し、対応するための方法を描くフローチャートである。
【図7】本発明の一実施形態における特定の種類の異常を識別するためのプロセスを描くフローチャートである。
【図8】本発明の一実施形態における適応基準モデルを作成するためのプロセスを描くフローチャートである。
【図9】本発明の一実施形態における先を見越した異常検出のためのプロセスを描くフローチャートである。
【図10】本発明の一実施形態における異常検出のための反応プロセスを描くフローチャートである。
【図11】本発明の一実施形態における適応基準モデルを作成するためのユーザインタフェースの画面例である。
【図12】本発明の一実施形態における適応基準モデルを管理するためのユーザインタフェースの画面例である。
【図13】本発明の一実施形態における認識フィルタの作成に使用するためのスナップショットを選択するためのユーザインタフェースの画面例である。
【図14】本発明の一実施形態における認識フィルタを管理するためのユーザインタフェースの画面例である。
【図15】本発明の一実施形態におけるポリシーテンプレートで使用するための「ゴールデンシステム」を選択するためのユーザインタフェースを描く画面例である。
【図16】本発明の一実施形態におけるポリシーテンプレート資源を選択するためのユーザインタフェースの画面例である。
【技術分野】
【0001】
関連出願の相互参照
本発明は、ともに参照することにより本書に含まれる2003年8月11日に出願された米国仮出願番号第60/494,225号、及び「自動化コンピュータサポートのためのシステム及び方法(Systems and Methods for Automated Computer Support)」と題されるこれとともに出願される米国出願番号第 / , 号、代理人整理番号第52270/302838号の利点を主張する。
【0002】
技術分野
本発明は、自動化されたコンピュータサポートのためのシステム及び方法に関する。本発明は、さらに詳細には適応基準モデルの作成及び使用のためのシステム及び方法に関する。
【0003】
背景技術
情報技術の複雑度が増すに従って、サポート事件の頻度が増え、人間の分析専門家に対する技能要件の要求はさらに厳しくなるとともに問題管理コストが上昇する。従来の問題管理ツールはこれらのサポートタスクを実行する人間の効率を高めることによって費用を削減するように作られている。これは、通常、トラブルチケット情報の捕捉を少なくとも部分的に自動化することによって、及び知識ベースへのアクセスを容易にすることによって達成される。この種の自動化は有効であるが、サポートモデル自体における根本的な弱点、つまり人間に対するその依存度に対処できないために利益を減殺する点に至った。
【0004】
表1は、従来の人間ベースのサポートモデルにおける事件解決に関連する人件費の分布を示している。示されているデータはヘルプデスクソフトウェアの主要な供給業者であるテキサス州オースティン(Austin,Texas)のモーティブコミュニケーションズ社(Motive Communications Inc.Austin.Texas)(www.motive.com)によって提供される。最も高価な原価項目は人間の分析専門家及び/または対話(例えば、診断、調査、解決)を必要とするタスクと関連付けられる原価項目である。
【表1】
【0005】
自動化された問題管理のための従来のソフトウェア解決策はこれらのコストを減少し、広範囲のサービスレベル全体で価値を高めようとする。マサチューセッツ州、ケンブリッジ(www.forrester.com)にあるフォレスタリサーチ社(Forrester Research Inc.)は、これらのサービスレベルの有効な特徴付けを提供する。フォレスタリサーチは、(1)集団回復――事件が発生する前にそれらを解決する、(2)自己回復――事件が発生するとそれらを解決する、(3)自己点検−ユーザが呼び出す前に事件を解決する、(4)支援点検−ユーザが呼び出すと事件を解決する、及び(5)デスクサイド訪問−他のすべてが失敗すると事件を解決する、を含む5つのサービスレベルに従来の自動コンピュータサポート解決策を分ける。フォレスタによれば、従来の自己回復サービスを使用する1事件あたりの費用は、1ドル未満である。しかしながら、費用は瞬く間に増え、デスクサイド訪問が最終的に必要とされる場合1事件あたり300ドル以上に達する。
【0006】
集団回復の目的は事件をそれらが発生する以前に解決することである。従来のシステムでは、この目的はすべてのPCの構成を同じにする、あるいは最低でも1台のPCで発見された問題が他のPCで再現されないことを確実にすることにより達成される。通常このサービスレベルに関連付けられた従来の製品はソフトウェア分散ツールと構成管理ツールからなる。アンチウィルススキャナ、侵入検出システム及びデータ完全性チェッカなどのセキュリティ製品も、事件が発生するのを防ぐことに集中するため、このレベルの一部と見なされる。
【0007】
このサービスレベルに対処しようとする従来の製品は、管理される集団(population)を少数の公知の優れた構成に抑制することによって、及び相対的に少数の公知の不良構成(例えばウィルスシグナチャ)を検出し、排除することによって動作する。この手法の問題は、それが(1)すべての優れた構成及び不良の構成が事前に公知である、及び(2)いったんそれらが公知になるとそれらは相対的に安定し続けると仮定することである。コンピュータシステムとネットワーキングシステムの複雑度が増すにつれて、ネットワークの任意の特定のノードの安定性は減少する傾向にある。任意の特定のノード上のハードウェアとソフトウェアの両方とも頻繁に変化する可能性がある。例えば、多くのソフトウェア製品は、内部ネットワークまたはインターネット上でアクセスされるソフトウェアパッチを使用して自動的にそれら自体を更新することができる。無限数の優れた構成と不良構成があるため、及びそれらが絶えず変化するために、これらの従来の自己回復製品は単に部分的に有効である以上ではない。
【0008】
さらに、ウィルスの作者はますます巧妙なウィルスを開発し続けている。従来のウィルス検出根絶ソフトウェハは、ウィルスを検出し、根絶するために公知のパターンを特定する能力に依存している。しかしながら、ウィルスの数と複雑度が増すにつれ、公知のウィルスのデータベースを維持するために必要とされる資源及びネットワーク上のノードの集団に解決策を配布するために必要とされる資源と組み合わされた、それらのウィルス用の解決策は圧倒的になってきている。さらにMicrosoft Windowsオペレーティングシステムを活用する従来のPCは、7,000を超えるシステムと、そのすべてが多値である100,000を超えるレジストリキーを含む。したがって、すべての実践的な目的のため、無限数の良好な状態と無限数の不良状態が存在し、不良状態を識別するタスクをさらに複雑化する可能性がある。
【0009】
自己回復レベルの目的はヘルプデスクに電話がかかる前に、つまり理想的にはユーザが問題の存在をも認識する前に問題を検知し、自動的に補正することである。従来の自己回復ツール及びユーティリティは、Peter NortonがPC診断及び修復ツールのセットを導入した1980年後半以来存在している(www.Symantec.com)。これらのツールは、新製品のインストールの前に設定される復元点までユーザがPCを復元できるようにするツールも含む。しかしながら、従来のツールのどれも現実世界の条件下ではうまく働かない。
【0010】
これらの従来のツールの1つの根本的な問題は、「正常」を「異常」と確実に区別するほど十分な適用範囲、精度、及び柔軟性をもった参照モデルを作成する上での難しさである。問題を悪化させているのは、「正常」の定義が、新しいソフトウェアアップデート及びアプリケーションが配備されるにつれて絶えず変化するという事実である。これは、厄介な技術的な課題であり、従来のツールのどれかが克服しなければならない課題である。
【0011】
自己点検レベルの目的は、エンドユーザが自分自身を助けることができるようにする自動化されたツールと知識ベースの集合体を提供することによりヘルプデスクにかかる電話の量を削減することである。従来の自己点検レベルの製品は「方法」知識ベースと、忘れてしまったパスワードの再設定などの低リスクの反復的なサポート機能を自動化するソフトウェア解決策の集合体からなる。これらの従来の解決策は、それらが自ら招いた損害の尤度を上げるという点で大きな弱点を有する。この理由から、それらは特定の種類の問題とアプリケーションに限定される。
【0012】
支援点検レベルの目的とは、サービスを管理するための自動化されたインフラストラクチャを提供することによって、及びパソコンを遠隔制御し、エンドユーザと対話する能力を与えることによって人間の効率を高めることである。従来の支援点検製品はヘルプデスクソフトウェア、オンライン参考資料及び遠隔制御ソフトウェアを含む。
【0013】
この点検レベルの製品はおそらくここに説明されている製品と解決策の中で最も成長した(製品)であるが、それでもまだユーザと組織の要件を完全に満たすことができない。具体的には、これらの製品が問題を自動的に診断できる能力は、診断の精度(多くの場合複数の選択肢)だけではなく正しく識別できる問題の種別という両方の点で厳しく制限されている。
【0014】
デスクサイド訪問は他のすべて失敗すると必要になる。この点検レベルは遠隔で診断/修復できないコンピュータを復元するために必要となる可能性があるあらゆる実際的な活動を含む。それは、タイムリな解決策を補償するためにこれらの活動を追跡調査し、管理することも含む。すべてのサービスレベルの内、このレベルは高度に訓練された、従って高価な人的資源からかなりの時間を必要とする可能性が高い。
【0015】
このレベルの従来製品は、時間をかけ、またおそらくは複数のカスタマーサービス担当者によって顧客の問題を追跡、解決する専門の診断ツールおよびソフトウェア製品からなっている。
【0016】
したがって、必要とされるのは、サポート費用を大幅に削減するために必要となるパラダイムシフトである。このシフトは、マシン(machine)が決定を下し、アクションを開始するための一次エージェントとして役立つ新しいサポートモデルの出現によって特徴付けられる。
【0017】
発明の概要
本発明の実施形態は適応基準モデルの作成及び使用のためのシステム及び方法を提供する。本発明の一実施形態による1つの方法は、複数台のコンピュータから複数のスナップショットを受け取り、該複数のスナップショットのそれぞれがアセット名とアセット値の複数の組を備えることと、少なくとも該複数のスナップショットの一部に基づいた適応基準モデルを自動的に作成することを含む。別の実施形態では、(例えばランダムアクセスメモリまたはコンピュータディスク等の)コンピュータ可読媒体はこのような方法を実施するためのコードを備える。
【0018】
これらの実施形態は本発明を制限するまたは定義するためではなく、その理解を助けるために本発明の実施形態の例を提供するために言及される。例示的な実施形態は、発明の詳細な説明に説明され、本発明の追加の説明はそこに提供される。本発明の多様な実施形態によって提供される優位点は、本明細書を調べることによってさらに理解されてよい。
【0019】
これらの及び他の特徴、態様、及び優位点は、以下の発明の詳細な説明が添付図面を参照して読まれるときにさらによく理解される。
【0020】
発明の詳細な説明
本発明の実施形態は適応基準モデルの作成及び使用のためのシステムと方法を提供する。ここで類似した参照符号が複数の図全体で類似した要素を示す図面を参照すると、図1は本発明の一実施形態を実施するための例示的な環境を描くブロック図である。示されている実施形態は自動化されたサポートファシリティ102を含む。自動化サポートファシリティ102は図1の中で単一のファシリティとして示されているが、それは複数のファシリティを備える、あるいは管理された集団が存在するサイトに組み込まれる可能性がある。自動化サポートファシリティは、自動化サポートファシリティ102の中に記憶されるデータにセキュリティを提供するネットワーク106と通信するファイアウォール104を含む。自動化サポートファシリティ102は、コレクタ構成要素108も含む。コレクタ構成要素108は、他の機能の内、自動化サポートファシリティ102の中に、及び中からデータを転送するための機構を提供する。転送ルーチンはファイル転送プロトコル(FTP)またはハイパテキスト転送プロトコル(HTTP)などの標準的なプロトコルを使用してよいか、あるいは独自仕様のプロトコルを使用してよい。コレクタ構成要素は、入信スナップショットをダウンロードし、解凍し、解析するのに必要な処理論理回路も提供する。
【0021】
図示されている自動化サポートファシリティ102は、コレクタ構成要素108と通信する分析構成要素110も含む。分析構成要素110は、ここに説明される適応基準モデルを実現し、データベース構成要素112内に適応基準モデルを記憶するためのハードウェアとソフトウェアを含む。分析構成要素110は、データベース構成要素112から適用基準モデル及びスナップショットを抽出し、基準モデルの関連でスナップショットを分析し、あらゆる異常を識別し、フィルタリングし、適切なときに応答エージェント(複数の場合がある)を送信する。分析構成要素110は、システムにユーザインタフェースも提供する。
【0022】
図示されている実施形態は、コレクタ構成要素108と分析構成要素110と通信するデータベース構成要素112も含む。データベース構成要素112は、エージェントからのデータを記憶するため、及び本発明の実施形態によって実行されるプロセスのための手段を提供する。データベース構成要素の一次機能はスナップショットと適応基準モデルを記憶することであってよい。それは、それらのテーブルを自動的に管理するために必要な処理論理だけではなくデータベーステーブルのセットも含む。図示されている実施形態は、ただ1つのデータベース構成要素112と1つの分析構成要素110を含む。他の実施形態は多くのデータベース及び/または分析構成要素112、110を含む。1つの実施形態は1つのデータベース構成要素と複数の分析構成要素を含み、平行分析タスクを実行する一方で複数のサポート人員が単一のデータベースを共用できるようにする。
【0023】
本発明の実施形態は、複数のクライアントコンピュータ116a、bを備えてよい管理された集団114に自動化されたサポートを提供する。該管理された集団は、ネットワーク106を介して自動化サポートファシリティ102にデータを提供する。
【0024】
図1に図示される実施形態では、エージェント構成要素202はそれぞれの監視されているマシン116a、bの中に配備される。エージェント構成要素202はクライアント116からデータを収集する。予定された間隔(例えば1日に一度)で、あるいは分析構成要素110からのコマンドに応えて、エージェント構成要素202はそれが存在するマシンの状態の詳細なスナップショットを撮る。このスナップショットは、全システムファイル、指定されたアプリケーションファイル、レジストリ、性能カウンタ、プロセス、サービス、通信ポート、ハードウェア構成要素、及びログファイルの詳細な説明を含む。各走査の結果は、次にスナップショットの形式で圧縮され、コレクタ構成要素108に送信される。
【0025】
図1に図示されるサーバ、コンピュータ及びネットワーク構成要素のそれぞれは、プロセッサとコンピュータ可読媒体を備える。当業者に周知であるように、本発明の実施形態は複数の機能を単一のコンピュータの中に結合する、あるいは代わりに単一のタスクを実行するために複数のコンピュータを活用することによって多様な方法で構成されてよい。
【0026】
本発明の実施形態によって活用されるプロセッサは、例えば、入力を処理し、アルゴリズムを実行し、本発明に従ってプロセスを支援して必要に応じて出力を生成することができるデジタル論理プロセッサを含んでよい。このようなプロセッサはマイクロプロセッサ、ASIC及び状態マシンを含んでよい。このようなプロセッサは、プロセッサによって実行されるときに、プロセッサにここに説明されるステップを実行させる命令を記憶するコンピュータ可読媒体を含むか、あるいはコンピュータ可読媒体と通信してよい。
【0027】
コンピュータ可読媒体の実施形態は、コンピュータ読み取り可能命令を、タッチ入力装置と通信するプロセッサなどのプロセッサに提供できる電子デバイス、光学装置、磁気装置、または他の記憶装置または伝送装置を含むが、これらに限定されない。適切な媒体の他の例は、フロッピーディスク、CD−ROM、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成されたプロセッサ、全光媒体、全磁気テープまたは他の磁気媒体、またはコンピュータプロセッサが命令をその中から読み取ることができる任意の他の媒体を含むが、これらに限定されない。また、多様な他の形式のコンピュータ可読媒体は、ルータ、構内ネットワークまたは公衆網、あるいは他の伝送装置またはチャネル、有線と無線両方を含むコンピュータに命令を送信するまたは伝搬してよい。命令は、例えば、C、C#、C++、Visual Basic、Java及びJavaScriptを含む任意のコンピュータプログラミング言語からのコードを備えてよい。
【0028】
図2は、本発明の一実施形態での情報と動作の流れを描くブロック図である。図示される実施形態は、エージェント構成要素202を備える。エージェント構成要素は、各監視マシンの中に配備されるシステムの一部である。それは3つの主要な機能を実行する。第1に、それはデータを収集することに関与する。エージェント構成要素202は予定された間隔で、分析構成要素110からのコマンドに応えて、あるいはエージェント構成要素202によって検出される重要なイベントに応えて、クライアントマシン116a、bの広範囲な走査を実行してよい。この走査は全システムファイル、指定されたアプリケーションファイル、レジストリ、性能カウンタ、ハードウェア構成、ログ、実行中タスク、サービス、ネットワークコネクション、及び他の関連データの詳細な検査を含んでよい。それぞれの走査の結果は圧縮され、「スナップショット」の形式でネットワーク106上でコレクタ構成要素108に送信される。
【0029】
一実施形態では、エージェント構成要素202は、調べられるファイルのあらゆるバイトを読み取り、ファイルごとにデジタルシグナチャまたはハッシュを作成する。デジタルシグナチャはサイズ及び作成日などのメタデータを単に提供するより各ファイルの正確なコンテンツを特定する。いくつかの従来のウィルスは、検出のためにメタデータに依存するシステムをごまかそうとしてファイルヘッダ情報を変更する。このような実施形態はこのようなウィルスを無事に検出できる。
【0030】
エージェント構成要素202によるクライアントの走査はリソース集約型であってよい。一実施形態では、完全な走査が、例えば日々、ユーザがクライアントマシンを使用していない時間中、定期的に実行される。別の実施形態では、エージェント構成要素202はクライアントマシンのデルタ走査を実行し、前回の走査の変更だけを記録する。別の実施形態では、エージェント構成要素202による走査はオンデマンドで実行され、クライアントマシンでの異常を矯正しようとする技術者またはサポート人員に貴重なツールを提供する。
【0031】
エージェント202によって実行される第2の重要な機能は、動作ブロックの機能である。エージェント202は絶えず(あるいは実質的に絶えず)システムファイルとレジストリなどの重要なシステム資源に対するアクセスを監視している。それは、悪質なソフトウェアからの損傷を防ぐためにリアルタイムでこれらの資源へのアクセスを選択的にブロックできる。動作監視が継続的に発生する一方で、動作ブロックは修理動作の一部として有効にされる。例えば、分析構成要素110がウィルスの存在を疑う場合、それはクライアントに、ウィルスが管理されているシステムの中の重要な情報資源にアクセスするのを阻止させるための修理動作をダウンロードできる。クライアント構成要素202は監視プロセスからの情報をスナップショットの一部として提供する。
【0032】
エージェント構成要素202によって実行される第3の主要な機能は、応答エージェントに実行環境を提供することである。応答エージェントは多様な種類の障害状態に対処するために自動化された手順を実現する移動性のソフトウェア構成要素である。例えば、分析構成要素110がウィルスの存在を疑う場合、それはエージェント構成要素202に疑いのあるアセットを管理されているシステムから除去させるための応答エージェントをダウンロードできる。エージェント構成要素202は監視されているコンピュータ上でのサービスまたは他の背景プロセスとして実行してよい。本発明の実施形態によって提供される情報の適用範囲及び精度のため、修理は従来のシステムを用いる場合よりも正確に実行できる。クライアントという点で説明されるが、管理される集団114はPCのワークステーション、サーバ、または任意の他の種類のコンピュータを備えてよい。
【0033】
図示されている実施形態は適応基準モデル構成要素206も含む。自動化されたサポート製品を構築する上での1つの困難な技術課題は、正常なシステム状態と異常なシステムも謡を区別するために使用できる基準モデルの作成である。現代のコンピュータのシステム状態は多くの多値変数によって決定され、その結果、実質的にはほぼ無限数の正常な状態と異常な状態がある。さらに悪いことに、これらの変数は新しいソフトウェア更新が配備されるにつれ、及びエンドユーザが通信すると、頻繁に変化する。図示される実施形態の適応基準モデル206は、多くのコンピュータからのスナップショットを分析し、この目的のために特に設計される一般的なデータマイニングアルゴリズムまたは独自仕様のデータマイニングアルゴリズムを使用して統計的に重要なパターンを識別する。その結果生じる規則セットはきわめて豊富(数十万の規則)であり、管理されている集団の一意の特性に合わせてカスタマイズされる。図示されている実施形態では、新しい基準モデルを構築するプロセスは完全に自動であり、ソフトウェア更新の計画配備などの所望される変化に該モデルが適用できるようにするために周期的に実行できる。
【0034】
適応基準モデル206は、マシンの集団から統計的に重要なパターンの分析のために使用されるため、一実施形態では、統計的な基準の制度を確実するために最小数のマシンが分析される。一実施形態では、約50台のマシンという最小集団が、マシンの分析のために体系的に関連性のあるパターンを達成するために試験される。いったん基準が確立されると、何らかの異常が集団全体、あるいは該集団の任意のメンバで発生しているかどうかを確認するためにサンプルが使用できる。
【0035】
別の実施形態では、分析構成要素110は、ユーザが正確な分析を提供するために十分な数のサンプルがいつ蓄積されたのかを判断できるようにする成熟度測定基準のセットを計算する。これらの成熟度測定基準は、多様なレベルの信頼度(例えば、高、中、及び低)に対応する所定の基準を満たしたモデルの各レベルで使用可能な関係性のパーセンテージを示す。1つのこのような実施形態では、ユーザは該測定基準を監視し、成熟したモデルを作成するために十分なスナップショットが同化したことを確実にする。別のこのような実施形態では、分析構成要素110は、それがユーザによって設定された所定の成熟度目標に達するまでサンプルを同化する。どちらかのこのような実施形態では特定数のサンプル(例えば50)を同化することは必要ではない。
【0036】
図2に示される実施形態は、ポリシーテンプレート構成要素208も備える。該ポリシーテンプレート構成要素208は、サービスプロバイダが適応基準モデルの中に「ポリシー」の形で規則を手動で挿入できるようにする。ポリシーは属性(ファイル、レジストリキー等)と、モデルに適用されるとモデルの中の統計的に生成される情報の部分を無効にする値の組み合わせである。この機構は、機密保護ポリシーへの準拠を検証し、適切なソフトウェアアップグレードがインストールされていることを確実にするためにチェックするなど、多岐に渡る共通保守活動を自動化するために使用できる。
【0037】
コンピュータで異常が発生すると、それは多くの場合、多くの異なる情報アセット(ファイル、レジストリキー等)に影響を及ぼす。例えば、「トロイの木馬」は悪質なファイルをインストールし、それらのファイルが実行されることを確実にするために特定のレジストリキーを追加し、通信のためのポートを開く可能性がある。図2に図示される実施形態は、感染したマシンのスナップショットを適応基準モデルで具現化される規準と比較することによってこれらの望ましくない変化を異常として検出する。異常は予期せずに存在するアセット、予期せずに不在のアセットまたは未知の値を有するアセットとして定義される。異常は、認識ファイル216のライブラリに照合される。認識フィルタ216は特定の根本的原因状態または一般的なクラスの条件の存在を示す異常のある特定のパターンを備える。認識フィルタ216は、条件を重大度表示、テキスト記述、及び応答エージェントへのリンクにも関連付ける。別の実施形態では、認識フィルタ216は、悪性の異常を識別し、解釈するために使用できる。例えば、ユーザが、管理者が問題を引き起こさないと自信のある新しいアプリケーションを追加する場合にも、本発明によるシステムは新しいアプリケーションを異常のセットとして報告するであろう。アプリケーションが新しい場合には、それが異常として追加するアセットを報告することは正しい。しかしながら、管理者は、アプリケーションを良性として追加することによって生じる異常を解釈するために認識フィルタ216を使用できる。
【0038】
本発明の実施形態では、特定の属性は連続的なプロセスに関連する。例えば、性能データは多様なカウンタから構成される。これらのカウンタはある特定の期間での多様なイベントの発生を測定する。このようなカウンタの値が集団全体で正常であるかどうかを判断するために、本発明の一実施形態は平均偏差と標準偏差を計算する。異常は、カウンタの値が平均から特定数の標準偏差を超えて低下すると宣言される。
【0039】
別の実施形態では、機構は適応基準モデル206が異常を含むスナップショットを同化するケースを処理する。モデルは、いったん所望される成熟度レベルを達成すると、同化した可能性のある異常を除去するプロセスを受ける。これらの異常は成熟したモデルでは強力な関係性に対する隔離された例外として可視である。例えば、ファイルAが999のマシンの中のファイルBと関連して出現するが、一つのマシンの中でファイルAは存在するがファイルBが見当たらない場合には、プロセスは後の関係性が異常であり、それがモデルから削除されると仮定する。モデルが以後チェックに使用されると、ファイルBは含まないがファイルAを含むマシンは異常とフラグを立てられる。
【0040】
図2に示される本発明の実施形態は、応答エージェントライブラリ212も含む。応答エージェントライブラリ212によって、サービスプロバイダは特殊な障害状態について自動化された応答を生み出し、記憶できる。これらの自動化された応答は、ファイルを置換する、またはレジストリ値を変更するなどの動作を実行するために管理されているマシンにディスパッチできるスクリプトの集合体から構築される。いったん障害状態が分析され、応答エージェントが定義されると、その後の同じ障害状態の発生は自動的に補正されなければならない。
【0041】
図3は、本発明の一実施形態における異常検出の全体的なプロセスを描くフローチャートである。図示されている実施形態では、エージェント構成要素(202)が周期的に、例えば日に一度スナップショットを実行する302。このスナップショットは大量のデータを収集することを必要とし、クライアントの構成に応じて実行に数分から数時間のいずれかを要する。走査が完了すると、結果が圧縮され、フォーマットされ、コレクタ構成要素304として公知の安全なサーバに対してスナップショットの形式で送信される。コレクタ構成要素は管理された集団から提出されるスナップショットのすべてのための中央レポジトリとして働く。それから、各スナップショットは解凍され、解析され、コレクタ構成要素によってデータベース内の多様なテーブルに記憶される。
【0042】
検出機能(218)は、スナップショットのコンテンツを、その管理されている集団308にとって正常であることが公知である数十万の統計的に関連性のある関係性に照らし合わせて調べるために、適応基準モデル構成要素(206)に記憶されるデータを使用する。異常が発見されない場合310、プロセスは終了する324。
【0043】
異常が発見されると310、認識フィルタ(210)が、異常が任意の既知の状態312に一致するかどうかを判断するために参照される。回答がイエスの場合には、異常は診断された状態に従って報告される314。それ以外の場合、以上は認識されていない異常として報告される316。認識フィルタ(216)は、自動化された応答がその特定のタイプの条件318について許可されているかどうかも示す。
【0044】
一実施形態では、認識フィルタ(216)は複数の異常を認識し、統合できる。認識フィルタを異常に適合させるプロセスは、スナップショット全体が分析され、そのスナップショットに関連付けられるすべての異常が検出された後に実行される。一致が異常のサブセットと認識フィルタの間で発見されると、認識フィルタの名前は出力ストリームの異常の部分集合と関連付けられる。例えば、ウィルスの存在はファイル異常、プロセス異常、及びレジストリ異常のセットを生成する。認識フィルタは、ユーザがすべての異常を類似する共通の理由、つまりウィルスに関連させる記述名だけを見るようにこれらの異常を連結するために使用できるであろう。
【0045】
自動化された応答が許可されると、応答エージェントライブラリ(212)は影響を受けたマシン320に適切な応答エージェントをダウンロードする。影響を受けたマシンのエージェント構成要素202は次に障害状態322を補正するために必要とされるスクリプトのシーケンスを実行する。それから、示されているプロセスが終了する324。
【0046】
本発明の実施形態は、パソコンとサーバの集団を維持するコストを大幅に削減する。一実施形態は障害状態を、それらがヘルプデスクに拡大する前に自動的に検出し、補正することによって、及びサポートアナリストが自動的に対処されないあらゆる問題を解決するために必要とされる時間を短縮するために診断情報を提供することによってこの目的を達成する。
【0047】
事件が発生する頻度を削減するものはいずれもコンピュータサポートの費用に対して大きなプラスの影響を及ぼす。本発明のある実施形態は、管理されているマシンの状態を、それが脅威に対してさらに耐性があるように監視し、調整する。ポリシーテンプレートを使用すると、サービスプロバイダはあらゆる管理されているシステムのセキュリティの状況を日常的に監視し、セキュリティ設定値を自動的に調整し、公知の脆弱性を排除するためにソフトウェアアップグレードをインストールすることができる。
【0048】
人間をベースにしたサポートモデルでは、障害状態はエンドユーザによって検出され、ヘルプデスクに報告され、人間の専門家によって診断される。このプロセスは多くの点で費用を発生させる。第1に、エンドユーザが解決を待機する間に失われる生産性に関連する費用がある。また、通常はヘルプデスク人員により実行されるデータ収集の費用がある。加えて、訓練された(高価な)サポートアナリストのサービスを必要とする診断費用がある。 対照的に、本発明に従って実現されるマシンをベースにしたサポートモデルは、多くのソフトウェア関連の障害状況を自動的に感知し、報告し、診断する。適応基準モデル技術は、極端な多様性及び以前には可能ではなかった感度と精度を伴なう変化の存在下での異常状態の検出を可能にする。
【0049】
本発明の一実施形態では、擬陽性を防止するために、システムは多様な信頼水準で動作するように構成され、良性であることが公知である異常は認識フィルタを使用して除去できる。認識フィルタは、特殊なタイプの望ましくないまたは悪質なソフトウェアの存在に対してサービスプロバイダに警告するために使用することもできる。
【0050】
従来のシステムでは、コンピュータの事件は、通常、一連の試行錯誤の修理動作を適用することにより人間によって解決される。これらの修理動作は「スレッジハンマー」の寄せ集め、つまりそれらが補正することを目的としていた障害状態よりはるかに影響を及ぼす解決策となる傾向がある。複数の選択肢の修理手順及びスレッジハンマー解決策は、問題の不適切な理解の結果であり、不必要な費用の原因である。本発明によるシステムは問題を完全に特徴付けるためのデータを有しているため、それは二通りの方法で修理の費用を削減できる。第1に、それは、必要とされる自動化された応答を指定する認識フィルタが定義される場合に、事件を自動的に解決できる。第2に、自動修理が可能ではない場合、システムの診断能力が人間をベースにした修理プロセスに固有の当て推量を排除し、実行時間を短縮し、さらに大きな精度を可能にする。
【0051】
図4は、本発明の一実施形態における適応基準モデルの構成要素を描くブロック図である。図4は例示的に過ぎない。
【0052】
図4に図示される実施形態は多層単一サイロ(silo)適応基準モデル402を描く。示されている実施形態では、サイロ404は3つの層、つまり値層406、クラスタ層408、及びプロファイル層410を備える。
【0053】
値層406は、図1の管理されている集団(114)全体で、ここに説明されるエージェント構成要素(202)によって提供されるアセット値の組の値を追跡調査する。スナップショットが適応基準モデル402と比較されると、適応基準モデル402の値層406はその中に含まれる各アセット値の組の値部分を評価する。この評価は、スナップショットの中の任意のアセット値が適応基準モデル402によって表されているように管理されている集団の中でアセット値の統計的に重要なパターンに違反するかどうかを判断することからなる。
【0054】
例えば、エージェント(116b)は、ある特定のシステムファイルのためのデジタルシグナチャを含むスナップショットを転送する。(適応基準モデルが構築されているときの)同化プロセスの間、モデルは、それが各アセット名について遭遇する値、及びその値に遭遇する回数を記録する。したがって、あらゆるアセット名について、モデルは、それが集団の中で見ている「有効な」値を知っている。モデルがチェックに使用されると、値層406は、スナップショットの各属性の値がモデルの「有効」値の値と一致するかどうかを判断する。例えば、ファイルの場合、ファイルの多様なバージョンが管理されている集団で存在する可能性があるため、多くの「有効」値が考えられる。異常は、基準が統計的に一貫性がある1つまたは複数のファイル値を含み、スナップショットがモデルの中のファイル値のどれにも一致しなかったファイル値を含んでいる場合に宣言されるであろう。モデルは属性に「有効な」の値がない状況も検出できる。例えば、ログファイルは頻繁に変化するために有効な値は有さない。「有効」値が存在しない場合には、スナップショットの中の属性値はチェックの間に無視される。
【0055】
一実施形態では、適応基準モデル402は、異常が真に異常であり、単なる新しいファイルの変形ではないことを確実にするための基準を実現する。該基準は、信頼水準を含んでよい。信頼水準は、一意のファイルが異常と報告されるのを阻止しない。信頼水準は特定の基準を満たすそれらの関係性に、チェックプロセスの間のモデルで使用される関係性を抑制する。各レベルに関連付けられた基準は特定統計上の確率を達成するように作られている。例えば、一実施形態では、高信頼水準のための基準は90%を超える統計的確率を達成するように作られる。より低い信頼水準が指定される場合には、統計上信頼できない追加の関係性がチェックプロセスに含まれる。実行可能であるが、可能性が低い関係性を考慮するプロセスは、我々が確信できるようにするすべての情報を持たずに決定を下す必要があるときに憶測する人間のプロセスに類似している。連続して変化する環境では、管理者は低い信頼水準に結び付いた異常を除去することを希望する可能性がある。つまり、管理者は可能な限り多くの擬陽性を排除することを希望する。
【0056】
信頼水準を実現する実施形態では、ユーザがマシンに異常があることを報告するが、管理者がデフォルトの信頼水準で異常を見ることができない場合、管理者は信頼水準を引き下げ、分析プロセスがさらに低い統計的な意味を有し、さらに高い信頼水準では無視される関係性を検討できるようにする。信頼水準を引き下げることにより、管理者は統計的に重要となるほど十分なサンプルを有さないが、何が問題であるのかに関して我々に手掛かりを与える可能性があるパターンを適応基準モデル402が含むことができるようにする。言い換えると、管理者はマシンが憶測できるようにしている。
【0057】
別の実施形態では、値層406は、指定された数のスナップショットを同化した後に、アセット値が任意の安定したパターンを示すことができない場合に、適応基準モデル402からアセット値を自動的に排除する。例えば、多くのアプリケーションがログファイルを作成する。ログファイルの値は絶えず変化し、マシンごとにめったに同じにはならない。一実施形態では、これらのファイル値は初期に評価されてから、指定数の評価の後に適応基準モデル402から排除される。システムは、モデル402からこれらの種類のファイル値を排除することによって検出プロセス218の間の不必要な比較を排除し、低値情報を取り除くことによりデータベース記憶要件を削減する。
【0058】
本発明の実施形態は、アセット値を適応基準モデル402から排除することに限定されない。一実施形態では、プロセスはアセット名にも適用する。特定のアセット名は「本来一意」である。すなわち、それらはある特定のマシンに対しては一意であるが、それらは正常な動作の副産物である。一実施形態では、別個のプロセスが不安定なアセット名を処理する。このような実施形態におけるこのプロセスは、本来一意であり、それらが異常として報告されないようにそれらがモデル内に留まることを可能にするアセット名を識別する。
【0059】
図4に示される第2の層はクラスタ層408である。クラスタ層408はアセット名の間の関係性を追跡調査する。アセット名は、ファイル名、レジストリキー名、ポート番号、プロセス名、サービス名、性能カウンタ名、またはハードウェア特性を含む種々のエンティティに適用できる。特定の集合が一般的に管理されている集団(114)の中のマシン上で縦一列になって存在するとき、クラスタ層408は、アセット名の集合の要素がないときに異常のフラグを立てることができる。
【0060】
例えば、Microsoft Windowsオペレーティングシステムを実行しているコンピュータ上の多くのアプリケーションが多数の動的リンクライブラリ(DLL)を必要とする。各DLLは多くの場合1つまたは複数の他のDLLに依存する。第1のDLLが存在する場合、したがって他のDLLも存在しなければならない。クラスタ層408はこの依存性を追跡調査し、DLLの内の1つが見当たらない、あるいは改変される場合、クラスタ層408は、異常が発生したことを管理者に警報で知らせる。
【0061】
図4に図示される適応基準モデル402の第3の層は、プロファイル層410である。図示されている実施形態の中のプロファイル層410はクラスタ関係性の違反に基づいて異常を検出する。二種類の関係性、結合(クラスタが一緒に現れる)及び排他的(クラスタは絶対に一緒に現れない)がある。プロファイル層410により、適応基準モデルが、アセット間の矛盾だけではなく、クラスタ層によって検出されない紛失中のアセットも検出できるようにする。プロファイル層410は、どのクラスタが、互いに強い結合関係性及び排他的な関係性を有するのかを判断する。このような実施形態では、ある特定のクラスタが、通常、それが強力な結合関係性を有する他のクラスタの存在のおかげで予想されるスナップショットで検出されない場合に、プロファイル層410はそのクラスタの不在を異常として検出する。同様に、クラスタが、通常、それが強い排他的な関係性を有する他のクラスタの存在のために予想されないであろうスナップショットで検出されると、プロファイル層410は異常として第1のクラスタの存在を検出する。プロファイル層410によって適応基準モデル420は、サイロ404のさらに低いレベルでは検出不可能となるであろう異常を検出することができる。
【0062】
図4に図示される適応基準モデル402は、当業者にとって周知である多様な方法で実現されてよい。適応基準モデル402の処理を最適化することによって、及び十分な処理資源と記憶資源を提供することによって、本発明の実施形態は、制限されない数の管理されている集団と個々のクライアントをサポートできる。新しいモデルの同化とチェックでのモデルの使用の両方とも、数十万の属性名と値の比較を必要とする。名前と値のテキスト文字列を使用してこれらの比較を実行することは、非常に要求が厳しい処理タスクである。本発明の一実施形態では、入信スナップショットの中のあらゆる一意の文字列に整数識別子が割り当てられる。そして、文字列ではなく整数識別子を使用して比較が行われる。コンピュータはファイル名またはレジストリキー名に関連付けられる長い文字列よりはるかに速く整数を比較できるため、処理効率は大幅に改善される。
【0063】
適応基準モデル402はエージェント構成要素(202)のデータに依存する。本発明の一実施形態におけるユーザインタフェースとエージェント構成要素(202)の機能要約である、エージェント構成要素(202)の機能性が前述される。
【0064】
本発明の実施形態は管理されている集団の中のクライアントマシン全体でレジストリエントリを比較できる。Microsoft Windowsオペレーティングシステムを実行しているレジストリキーをさまざまなマシンで比較する際の1つの問題は、グローバル一意識別子(「GUID」)から派生する。1つのマシン上の特定のアイテムのためのGUIDは、第2のマシン上の同じアイテムのためのGUIDとは異なる可能性がある。したがって、本発明の実施形態は比較の目的でGUIDを正規化するための機構を提供する。
【0065】
図5は、本発明のある実施形態におけるクライアント上でレジストリ情報を正規化するプロセスを描くフローチャートである。図示される実施形態では、GUIDは最初に2つのグループ502にグループ化される。GUIDの第1のグループは、管理されている集団の中のマシン全体で一意ではない(複製された)GUIDである。第2のグループは、マシン全体で一意であるGUIDを含む。つまり同じキーが管理されている集団の中のさまざまなマシン上で別のGUIDを有する。第2のグループのキーは次に並べ替えられる504。このようにして、同じマシンの中の2つまたは3つ以上のキーの関係性は識別できる。目的は、複数のマシン全体でそれらを比較できるようにするように、このような関係性を正規化することである。
【0066】
次に示される実施形態は、キー506の中の値にハッシュを作成する。これは、すべての名前、パス名、及びキーに含まれる他の値のための一意の識別子を生じさせる。次にハッシュがGUID508の代わりをする。このようにして、一意性はマシン内で維持されるが、関係性が識別できるように同じハッシュはあらゆるマシンで現れる。該関係性により、適応基準モデルは管理されている集団の中で異常を識別できるようにする。
【0067】
例えば、従来のウィルスは多くの場合、感染したマシンが該ウィルスを蔓延させた実行可能形式を実行するようにレジストリキーを変更する。本発明の実施形態は、レジストリキーを正規化するその能力のために集団の1台または複数台のマシンでのレジストリに対する変更を特定できる。
【0068】
図6は、本発明の一実施形態における異常を識別し、異常に対応するための方法を描くフローチャートである。図示されている実施形態では、コレクタ構成要素(108)などのプロセッサが複数のスナップショットを複数のコンピュータ602から受信する。以下の説明は、図6に図示されるプロセスを分析構成要素(110)によって実行されるとして記述するが、適切なプロセッサは図示されるプロセスを実行してよい。複数のスナップショットは2台のコンピュータからわずか2枚のスナップショットを備えてよい。代わりに、複数のスナップショットは数千のスナップショットを備えてよい。スナップショットは調べられる集団の中のコンピュータについてのデータを備える。例えば、複数のスナップショットが組織のローカルエリアネットワークと通信中のコンピュータのそれぞれから受信されてよい。各スナップショットはある特定の時点でのあるコンピュータの状態を表すアセット値の組の集合体を備える。
【0069】
コレクタ構成要素(108)はスナップショットを受信すると、それらを記憶する604。スナップショットを記憶することは、データベース(112)内またはメモリ(不図示)内にそれらを記憶することを備えてよい。該スナップショットは、一時的にまたは恒久的に記憶されてよい。また、本発明のある実施形態では、スナップショット全体がデータストアに記憶される。別の実施形態では、過去のバージョンから変化したスナップショットの部分だけが記憶される(つまりデルタスナップショット)。
【0070】
分析構成要素(110)は、適応基準モデル606を作成するために複数のスナップショットのデータを活用する。スナップショットのそれぞれが、アセット名とアセット値の複数の組を備える複数のアセットを備える。アセットとは、ファイル名、レジストリキー名、性能パラメータまたは通信ポートなどのコンピュータの属性である。アセットは、分析されるコンピュータの集団の中での、実際または仮想に関係なく、コンピュータの状態を反映する。アセット値は、ある特定の時点でのアセットの状態である。例えば、ファイルの場合、該値はファイルのコンテンツを表すMD5ハッシュを備えてよい。レジストリキーの場合、値はキーに割り当てられるデータを表すテキスト文字列を備えてよい。
【0071】
適応基準モデルは複数のアセットも備える。適応基準モデルのアセットは、異常を識別するために、及び他の目的のためにスナップショットのアセットに比較されてよい。一実施形態では、適応基準モデルは、ある特定の時点での1台または複数台の正常なコンピュータを特徴付けるアセット間の多様な関係性についてのデータの集合体を備える。
【0072】
一実施形態では、分析構成要素(110)はアセット名のクラスタを識別する。クラスタは一緒に表示されるアセット名の1つまたは複数の重複しないグループを備える。また、分析構成要素(110)は、クラスタの間で関係性を識別しようとする。例えば、分析構成要素(110)はスナップショットの中の特定のクラスタの存在を前提として、該スナップショットの中の他のクラスタの存在の尤度を予測する確率行列を計算してよい。多数のスナップショットに基づき、非常に大きい(例えば95%を超える)または非常に少ない(例えば5%未満)のどちらかである確率は、異常を検出するためにモデルによって使用できる。より小さい数のスナップショット(つまり、統計的に重要ではない数)に基づく、あるいは非常に大きくもなければ、非常に小さくもない確率は異常を検出するためには使用されない。
【0073】
適応基準モデルは、スナップショットを試験するために関係性をいつ使用できるのかを決定するための信頼基準を備えてよい。例えば、該信頼基準は適応基準モデルに含まれる多くのスナップショットの最小閾値を備えてよい。閾値を超えない場合には、関係性は使用されない。適応基準は、また、あるいは代わりに、関係性を含む適応基準モデルに含まれる多くのスナップショットの最低閾値を含んでよく、閾値が超えられる場合にだけ関係性を活用する。一実施形態では、適応基準モデルは、アセット値を含むスナップショット数に対する異なるアセット値の数の割合の最大閾値を備える。適応基準モデルは、数値アセット値と関連付けられる1つまたは複数の最小閾値と最大閾値を備えてよい。
適応基準モデルの中の、またはスナップショットの中の複数のアセットのそれぞれは、アセットタイプと関連付けられてよい。アセットタイプは、例えば、ファイル、レジストリキー、性能基準、サービス、ハードウェア構成要素、実行中のプロセス、ログ、及び通信ポートなどを備えてよい。他のアセットタイプは、本発明の実施形態によって活用されてもよい。空間を節約するために、アセット名とアセット値は圧縮されてよい。例えば、本発明の一実施形態では、コレクタ構成要素(108)は、複数のスナップショットのうちの1枚でアセット名またはアセット値の第1の発生を識別し、第1の発生と関連付けられる識別子を生成する。以後、コレクタ構成要素(108)がアセット名またはアセット値の第2の発生を識別すると、コレクタ構成要素(108)は識別子を第2のアセット名とアセット値に関連付ける。識別子だけが適応基準モデルまたはスナップショットの中のデータともに記憶されるが、識別子及びアセット名またはアセット値はインデックスに記憶できる。このようにして、頻繁に反復されるアセット名または値を記憶するために必要とされる空間は最小限に抑えられる。
【0074】
適応基準モデルは自動的に生成されてよい。一実施形態では、適応基準モデルは自動的に生成され、技術サポート要因または他の知識を考慮するために、次に手動で改訂される。図11は、本発明の一実施形態で適応基準モデルを作成するためのユーザインタフェースの画面例である。図示されている実施形態では、ユーザはMachine Selection Menu(マシン選択メニュー)ウィンドウ1102からMachines in Task(作業中マシン)ウィンドウ1104にそれらを移動することによりモデルの中に含まれるスナップショットを選択する。ユーザが選択プロセスを終了し、終了ボタン1106をクリックすると、モデルを発生させる自動化タスクが作成される。モデルがいったん作成されると、ユーザはそれを管理するために別のインタフェース画面を使用できる。図12は、本発明の一実施形態における適応基準モデルを管理するためのユーザインタフェースの画面例である。
【0075】
再び図6を参照すると、いったん適応基準モデルが作成されると、分析構成要素(110)は複数のスナップショットの内の少なくとも1つを適応基準モデル608に比較する。例えば、コレクタ構成要素(108)は百枚のスナップショットを受け取り、データベース構成要素(112)内に記憶してよい。分析構成要素(110)は、適応基準モデルを作成するために該百枚のスナップショットを使用する。分析構成要素(110)は、次に適応基準モデルに対する複数のスナップショットの中のスナップショットのそれぞれの比較を開始する。しばらくして、コレクタ構成要素(108)は、エージェント構成要素から、次に適応基準モデルの改訂版を作成するため、及び異常を識別するために分析構成要素によって使用できる100枚の新しいスナップショットを受信してよい。
【0076】
本発明の一実施形態では、1枚または複数枚のスナップショットの適応基準モデルに対する比較は、アセット名の間で関係性を調べることを備える。例えば、第1のアセット名の存在の確率は、第2のアセット名が存在するときに高くなる可能性がある。一実施形態では、比較はスナップショットの中のアセット名のすべてが適応基準モデルの中に存在し、アセット名間の複数の高い確率関係性と一貫しているかどうかを決定することを含む。
【0077】
さらに図6を参照すると、一実施形態では、分析構成要素(110)が、コンピュータ610上に存在する可能性のあるあらゆる異常を識別するために、スナップショットを適応基準モデルに比較する。異常はスナップショットのある部分が適応基準モデルによって定義されるような標準から逸脱していることの表示である。例えば、アセット名またはアセット値は、適応基準モデルによって定義されるような特定の状況で予測される通常のアセット名とアセット値から逸脱してよい。異常は、スナップショットが関連付けられるコンピュータ上で、またはコンピュータに関して公知のまたは新しい障害または問題状況が存在することを信号で知らせてよいか、あるいは知らせなくてよい。状態は、関連している異常のグループである。例えば、異常のグループは、それらが単一の根本的原因から生じるために関連してよい。例えば、異常は、ある特定のアプリケーションの存在を、そのアプリケーションが既定の集団の中の他のコンピュータ上には一般的には存在しないときにコンピュータ上に示す可能性がある。異常の認識は、容量平衡度などの機能のためにも使用されてよい。例えば、複数台のサーバの性能基準を評価することによって、分析構成要素(110)は、変化する需要に対処するために新しいサーバの自動配備及び構成をいつトリガするのかを決定できる。
【0078】
状態は、関連する異常のグループを備える。例えば、異常のグループは、それらがアプリケーションプログラムのインストールまたは「ワーム」の存在などの単一の根本的原因から生じるために関連してよい。状態は状態クラスを備えてよい。該状態クラスによって、多様な状態を互いとグループ化できる。
【0079】
図6に図示される実施形態では、異常が検出されると、分析構成要素(110)は状態を診断するために認識フィルタに異常を適合させようとする612。異常は分析中の雑音を排除するため、つまり正常な動作プロセスの結果である異常の存在のために、本当の障害状態を目立たなくすることを避けるために良性の異常として識別されてよい。チェックは、適応基準モデルに対するスナップショットの比較である。チェックは自動的に実行されてよい。チェックの出力は異常及び検出された状態の集合を備えてよい。一実施形態では、異常は複数の認識フィルタに適合される。認識フィルタは状態のシグナチャまたは状態のクラスを備える。例えば、認識フィルタは、ともに解釈されるときに、ワームの存在などの、認識されることが望ましい状態のシグナチャを表現するアセット名とアセット値の組の集合体を備えてよい。総称認識フィルタは複数の特殊フィルタを作成するためのテンプレートを提供してよい。例えば、一般的にワームを検索するために適応される認識フィルタは特殊ワームを検索するように適応されてよい。
【0080】
本発明の一実施形態では、認識フィルタは、該状態と関連付けられたアセット名、該状態と関連付けられたアセット値、該状態と関連付けられたアセット名とアセット値の組み合わせ、アセット値と、及び該状態と関連付けられた最大閾値、及び該アセット値と、及び該状態と関連付けられた最小閾値の内の少なくとも1つを備える。スナップショットからのアセット名/値の組は、一致を検出し、状態を診断するために認識フィルタから名前/値の組に比較されてよい。名前/値の一致は正確であってよい、あるいは認識フィルタはワイルドカードを備え、認識フィルタに部分的な値を入力してから、スナップショットと適合できるようにする。特定のアセット名及び/値は、状態を診断するための複数の認識フィルタに適合させてよい。
【0081】
認識フィルタは多様な方法で作成されてよい。例えば、本発明の一実施形態では、ユーザは、関心のある状態が存在するマシンから異常をコピーする。異常は、それらが選択でき、フィルタにコピーできる異常要約に提示されてよい。別の実施形態では、ユーザはフィルタ定義にワイルドカード文字を入力する。例えば、Gatorと呼ばれる1個のスパイウェアは、文字列「hklm\software\gator\」で始まる数千のレジストリキーを作成する。本発明の実施形態は、この状況に効率的に対処するためにワイルドカード機構を提供してよい。ワイルドカード文字は、例えばパーセント符号(%)であってよく、テキスト文字列の前、テキスト文字列の後、またはテキスト文字列の真中で使用されてよい。Gatorの例を続けると、ユーザがフィルタ本体に文字列「hklm\software\gator\%」を入力すると、「hklm\software\gator\」で始まる任意のキーがフィルタによって認識される。ユーザは管理されている集団ではまだ経験されたことがない状態のためのフィルタを構築することを希望してよい。例えば、管理されている集団の中のウィルスの実際の例よりむしろインターネット上で公に入手可能な情報に基づいたウィルス用フィルタである。この状況に対処するために、ユーザはフィルタに関連性のある情報を直接的に入力する。
【0082】
図13は、本発明の一実施形態における認識フィルタの作成のために使用するスナップショットを選択するためのユーザインタフェースの画面図である。ユーザは図示された画面にアクセスし、認識フィルタを作成するために使用するスナップショットを選択する。図14は本発明の一実施形態において認識フィルタを作成する、または編集するためのユーザインタフェースの画面図である。図示されている実施形態では、図13に描かれているインタフェースで選択されたスナップショットからのアセットは、Data Source(データソース)ウィンドウ1402に表示されている。ユーザはこれらのアセットを選択し、認識フィルタを作成するためにそれらをSource(ソース)ウィンドウ1404にコピーする。
【0083】
一実施形態では、認識フィルタと異常のセットの一致は、品質基準と関連付けられる。例えば、認識フィルタの中のアセット名とアセット値の、異常のセット内のアセット名とアセット値とのすべての正確な一致は、認識フィルタのアセット名とアセット値の部分集合の、異常の集合のアセット名とアセット値との一致よりも高い品質基準と関連付けられてよい。
【0084】
認識フィルタは他の属性も備えてよい。例えば、一実施形態では、認識フィルタは、適応基準モデルの中にアセット名とアセット値を含めるかどうかを決定するための制御フラグを備える。別の実施形態では、認識フィルタは1つまたは複数の状態と関連付けられる1つまたは複数のテキスト説明を備える。さらに別の実施形態では、認識フィルタは、例えばそれがどの程度の損害を引き起こす可能性があるのか、削除することがどれほど難しいのか、あるいはなんらかの他の適切な基準などの点で状態の重大性を示す重大性インジケータを備える。
【0085】
認識フィルタは、事実上管理であるフィールドを備えてよい。例えば一実施形態では、認識フィルタは認識フィルタ識別子と、作成者名、及び更新日付−時間を備える。
【0086】
例えば、まだ図6を参照すると、分析構成要素(110)は状態に反応する614。例えば、サポート技術者に対するeメールなどの通知を作成することと、問題管理システムにトラブルチケット問題通知を提出すること、例えばパッチをインストールするためのサポート技術者からの確認を要求するなどのアクションを講じるための許可を要求すること、複数台のコンピュータの内の少なくとも1つから状態を削除することを含んでよい。例えば、状態を削除することは例えば、応答エージェントを状態の影響を受ける複数のコンピュータのどれかで実行させることを含んでよい。状態は自動応答と関連付けられてよい。診断するステップ612と状態に反応すること614とは、状況ごとに反復されてよい。また、異常を見つけ出すプロセス610は、個々のスナップショットごとに反復されてよい。
【0087】
図6に示されている実施形態では、分析構成要素(110)は次に、追加のスナップショットが分析されなければならないかどうか616を決定する。分析されなければならない場合、適応基準モデルにスナップショットを比較するステップ608と、異常を見つけ出すステップ610と、状態を診断するために異常を認識フィルタに適合させること612と、及び状態に応えること614がスナップショットごとに繰り返される。いったんスナップショットのすべてが分析されると、プロセスは終了する618。
【0088】
本発明の一実施形態では、いったん分析構成要素110が状態を識別すると、分析構成要素(110)は、集団の中の複数台のコンピュータの内のどれが状態によって影響を及ぼされるのかを判断しようとする。例えば、分析構成要素(110)は、異常の特定の集合を識別するためにスナップショットを調べてよい。分析構成要素(110)は、次に、状態に対する応えを、影響を及ぼされたコンピュータのそれぞれに代わって実行させてよい。例えば、一実施形態では、エージェント構成要素(202)は、複数のコンピュータのそれぞれに存在する。エージェント構成要素(202)は、分析構成要素(110)によって評価されるスナップショットを作成する。このような一実施形態では、分析構成要素(110)は、分析構成要素(110)がコンピュータの内の1台で状態を識別する場合に、応答プログラムを実行するためにエージェント構成要素(202)を活用する。状態を診断する際に、分析構成要素(110)は、状態の根本的原因を識別できてよいか、あるいはできなくてよい。
【0089】
図7は、本発明の一実施形態において特定の種類の異常を識別するためのプロセスを描くフローチャートである。図示されている実施形態では、分析構成要素(110)は複数台のコンピュータ702のスナップショットを評価する。これらのスナップショットは、コンピュータの完全な状態を備えるベーススナップショット、あるいは前回のベーススナップショット以降のコンピュータの状態の変化を備えるデルタスナップショットである場合がある。分析構成要素(110)は、適応基準モデル704を作成するためにスナップショットを使用する。この目的のためにデルタスナップショットを使用するときには、分析構成要素は、デルタスナップショットで記述される変更を最近のベーススナップショットに適用することによって、最初にベーススナップショットの同等物を再構成しなければならない。分析構成要素(110)は、その後、複数のコンピュータ706の少なくとも1台の第2のスナップショット(ベースまたはデルタ)を受信する。スナップショットは、所定の時間量の経過、新しいプログラムのインストール、または他のなんらかの適切なイベント当の多様なイベントに基づいて作成されてよい。
【0090】
分析構成要素(110)は、異常を試行し、検出するために第2のスナップショットを適応基準モデルに比較する。多様な種類の異常がコンピュータに存在してよい。図示されている実施形態では、分析構成要素(110)は最初に予想外に不在であるアセット名を識別しようと試みる710。例えば、集団の中のすべて、または実質的にすべてが特定のファイルを含んでよい。該ファイルの存在はアセット名の存在によって適応基準モデルで注記される。該ファイルが集団の中のコンピュータの内の1台から予想外に不在の場合には、つまりアセット名が発見されない場合、なんらかの状態が、ファイルが紛失中であるコンピュータに影響を及ぼしている可能性がある。アセット名が予想外に不在である場合、該不在は異常712として識別される。例えば、コンピュータ、日付、及び予想外の不在アセットはデータストアに入力されてよい。
【0091】
次に分析構成要素(110)は、予想外に存在するアセット名を識別しようとする714。ファイル名またはレジストリ名などの予想外のアセット名の存在は、コンピュータワームなどの障害状態の存在を示す可能性がある。アセット名は、それが以前見られたことがない場合、あるいはそれが発見されている文脈で以前見られたことがない場合に、予想外に存在する。同じアセット名が予想外に存在する場合、存在は異常として識別される720。
【0092】
分析構成要素(110)は、次に予想外のアセット値を識別しようとする718。例えば、ある実施形態では、分析構成要素(110)が、それと関連付けられるアセット名にとって未知である文字列アセット値を識別しようとする。別の実施形態では、分析構成要素(110)は、対応するアセット名と関連付けられる最小閾値または最大閾値に数値アセットを比較する。本発明の実施形態では、閾値は集団の中のアセット値の平均偏差と標準偏差に基づいて自動的に設定されてよい。示されている実施形態に従って、予想外の試算値が検出されると、それは異常として識別される720。それからプロセスは終了する722。
【0093】
図7のプロセスは直列プロセスとして示されているが、適応基準モデルに対するスナップショットの比較、及び異常の識別は平行して発生してよい。また、描かれているステップのそれぞれが多数回繰り返されてよい。さらに、デルタスナップショットまたはベーススナップショットのどちらかが、各サイクルの間に適応基準モデルに比較できる。
【0094】
いったん分析が完了すると、分析構成要素(110)は、異常レポートなどの結果を生成してよい。このレポートはさらにユーザに提供されてよい。例えば、分析構成要素(110)は、スナップショットの適応基準モデルとの比較結果を備えるウェブページを作成してよい。本発明の実施形態は、自動化されたセキュリティ監査、ファイルとレジストリの完全性チェック、異常ベースのウィルス検出及び自動修理を実行するための手段を提供してよい。
【0095】
図8は、本発明の一実施形態で適応基準モデルを生成するためのプロセスを描くフローチャートである。図示されている実施形態では、分析構成要素(110)がデータベース構成要素を介して複数のコンピュータから複数のスナップショットにアクセスする。スナップショットのそれぞれはアセット名とアセット値の複数の組を備える。分析構成要素(110)は、少なくとも部分的にスナップショットに基づく適応基準モデルを自動的に作成する。
【0096】
適応基準モデルは、多くの属性、関係性及び多様なアセット名とアセット値の基準を備えてよい。図8に図示される実施形態では、分析構成要素(110)が、最初に1つまたは複数の一意のアセット名を見つけ出し、次にそれぞれの一意のアセット名が複数のスナップショット804の中で発生する回数を決定する。例えば、基本的なオペレーティングシステムドライバのためのファイルは集団の中の実質的にすべてのコンピュータで発生してよい。ファイル名は一意のアセット名である。それは、スナップショットの中で一度だけ出現するが、スナップショットの実質的にすべてで発生する可能性がある。
【0097】
図示されている実施形態では、分析構成要素(110)は、次に、各アセット名(806)と関連付けられる一意のアセット値を決定する。例えば、ステップ804に関して説明されるドライバのファイル名アセットは、ファイル名アセットの発生毎に同じ値を有するであろう。対照的に、ログファイルのファイル値はおそらく発生と同じくらい多くの異なる値を有するであろう。つまり、特定のコンピュータ上のログファイルは集団の中の他のすべてのコンピュータからの異なる数のエントリを含む。
【0098】
集団は非常に大きい可能性があるため、図8に示される実施形態では、アセット名と関連づけられる一意の値の数が閾値808を上回ると、決定は中止される810。言い換えると、前述されたログファイルの例では、コンピュータが正常な状態にあるか否かは、一貫性のある値を有するログファイルに依存しない。ログファイルコンテンツは各このピュータで変化することが予想される。しかしながら、ログファイルの存在または不在が、正常の表示と異常の表示として適応基準モデルに記憶されてよいことに留意すべきである。
【0099】
図8に図示される実施形態では、分析構成要素(110)は、各アセット名812と関連付けられる一意の文字列アセット値を決定する。例えば一実施形態では、文字列と数の2種類のアセット値しかない。ファイルハッシュとレジストリキー値は、文字列の例である。性能カウンタ値は数の例である。
【0100】
分析構成要素(110)は次に、アセット名と関連つけられる一意の数値と関連つけられる統基準を決定する814。例えば、ある実施形態では、分析構成要素(110)は、メモリページングなどの性能基準を捕捉する。集団の中の1台のコンピュータは多くの場合メモリを呼び出す(pages)ため、それは制御不能のプログラムがバックグラウンドで実行し、かなりのメモリ資源を必要としていることの表示である可能性がある。しかしながら、集団の中のあらゆるコンピュータまたは相当数のコンピュータが頻繁にメモリを呼び出す場合、それはコンピュータが概してメモリ資源を欠いている旨を示している可能性がある。一実施形態では、分析構成要素(110)は一意のアセット名と関連付けられた数値の平均値と標準偏差を求める。メモリの例では、あるコンピュータにとってのメモリページングの基準は集団のための統計的な平均値からはるかにずれている場合、異常が識別されてよい。
【0101】
本発明の一実施形態では、適応基準モデルはポリシーテンプレートを適応することによって修正されてよい。ポリシーテンプレートは識別され、特殊なポリシーを反映する規準を確立するために適応規準モデルに適用されるアセット/値の組の集合体である。例えば、ポリシーテンプレートは、標準的なコンピュータに存在すると考えられるアセット名とアセット値の複数の組を備えてよい。一実施形態では、ポリシーテンプレートを適用することは、ポリシーテンプレートに存在するアセット名とアセット値の組が複数のスナップショットのそれぞれに存在していたように考えられる、つまり集団の中のコンピュータの正常な状態であると考えられるように適応規準モデルを修正することを含んでよい。
【0102】
図15は、本発明の一実施形態のポリシーテンプレートで使用するための「ゴールデンシステム」を選択するためのユーザインタフェースを描く画面例である。前述されたように、ユーザは最初にポリシーテンプレートの基礎となるゴールデンシステムを選択する。図16は、本発明の一実施形態においてポリシーテンプレートアセットを選択するためのユーザインタフェースの画面例である。認識フィルタを作成するためのユーザインタフェースの場合と同様に、ユーザはData Source(データソース)ウィンドウ1602からアセットを選択し、コンテンツウィンドウ、つまりTemplate(テンプレート)コンテンツウィンドウ1604にそれらをコピーする。
【0103】
図9は、本発明の一実施形態における先を見越した異常検出のプロセスを描くフローチャートである。図示されている実施形態では、分析が発生すると、分析構成要素(110)は、分析されるスナップショットを記憶するデータベース(112)への接続を確立する902。図示されている実施形態では、1つのデータベースしか活用されていない。しかしながら、他の実施形態では、複数のデータベースのデータが分析されてよい。
【0104】
診断チェックが実行される前には、1つまたは複数の基準モデルが作成される904。基準モデルは、それらが含む情報が最新のままであることを確実にするために、毎週一回など周期的に更新される。本発明の一実施形態は、モデル作成を完全に自動化された手順として構成できるようにするタスクスケジューラを提供する。
【0105】
いったん基準モデルが作成されると、それはさまざまなタイプの分析を可能にするために多様な方法で処理できる。例えば、前述されたようにポリシーテンプレート906を定めることが可能である。例えば、ポリシーテンプレートが、管理されている集団の中のすべてのマシンがアンチウィルスソフトをインストールさせ、稼働させることを必要とする可能性がある。いったんポリシーテンプレートがモデルに適用されると、そのモデルに対する診断チェックはポリシー準拠のための試験を含むであろう。ポリシーテンプレートは自動化されたセキュリティ監査、性能閾値チェック、及びWindows更新管理を含む種々のアプリケーションで使用できる。ポリシーテンプレートは、標準としてモデルの中に強制されるアセットと値の集合を備える。一実施形態では、テンプレート編集プロセスは「ゴールデンシステム」手法に基づいている。ゴールデンシステムはユーザがテンプレートの中に組み込むことを希望するアセットと値を示す手法である。ユーザはゴールデンシステムに対応するスナップショットの位置を突き止め、次に前記ユーザが前記テンプレートの中に含むことを希望する各アセット/値の組を選択する。
【0106】
図9に図示されるプロセスでは、次にポリシーテンプレートが基準のその定義を修正するためにモデルに適用される908。これにより、それがここに説明されるようにユーザ定義のポリシーに対する準拠についてチェックできるようにモデルを整形できる。
【0107】
モデルは変換されてもよい910。該変換プロセスは基準モデルを改変する。例えば、一実施形態では、変換プロセスはモデルから一意であるあらゆる情報アセット、つまりただ1枚のスナップショットで発生するあらゆるアセットを削除する。チェックが変換されたモデルに対して実行されると、すべての一意の情報アセットが異常として報告される。この種のチェックは、エージェント構成要素が最初にインストールされた時点で存在する過去に未知の障害状態を明らかにする上で有効である。変換されたモデルは一意の特性を示すので初期ベースラインを確立する上で有効である。この理由から、変換されたモデルは、本発明の実施形態のベースラインモデルと呼ばれることもある。
【0108】
別の実施形態では、モデル構築プロセスはモデルから、認識フィルタを適合させるあらゆる情報アセットを削除し、公知の障害状態がモデルの中に組み込まれないことを確実にする。システムが最初にインストールされると、管理されている集団はかなり頻繁にまだ通知されていない多くの公知の障害状態を含む。それ以外の場合それらはマシンの正常な状態の一部として適応基準モデルの中に組み込まれてしまうため、これらの状態を発見し、モデルからそれらを削除することは重要である。
【0109】
エージェント構成要素(202)は、予定に基づいてそれぞれの管理されるマシンの状態のスナップショットを撮る。該スナップショットはスナップショットとして送信され、データベースに入力される。スナップショットはオンデマンドで、あるいはアプリケーションインストールなどの特定のイベントに応えて生成されてもよい。
【0110】
図示されている先を見越した問題管理プロセスでは、最新の基準モデルに付き合わせる最新のスナップショットの周期的なチェックが行われる912。周期的なチェックの出力は、結果としてユーザに表示される異常の集合である914。結果は、異常を認識フィルタに適合させた結果として識別されるあらゆる状態も含む。認識フィルタは、前述されたように定義されてよい916。異常は、解釈のための認識フィルタを通過し、状態の集合を生じさせる。状態にはWindowsのような良性なものからトロイの木馬のような深刻なものまで、重大度の範囲がある。
【0111】
コンピュータで発生する障害状態はそのコンピュータを構成するハードウェア構成要素とソフトウェア構成要素が進化するにつれて変化する。その結果、新しい異常の組み合わせが発見されるので、新しい認識フィルタを定義し、共用する連続ニーズがある。認識フィルタは、障害状態を文書化するための非常に詳細な構造化された方法と見なすことができ、したがってそれらは協働を容易にする重要な機構を表す。図示されている実施形態は、認識フィルタをXMLファイルにエクスポートし、XMLファイルから認識フィルタをインポートする。
【0112】
いったん状態が識別されると、先を見越したチェックの結果を文書化するレポートが作成される920。該レポートは例えば、検出されたすべての状態の要約または特定の状態の詳細な説明を備えてよい。
【0113】
図10は、本発明の一実施形態における反応過程を描くフローチャートである。図10に示されるプロセスでは、適応基準モデルがすでに作成されていると仮定されている。示されているプロセスは、ユーザが、問題を報告するためにヘルプデスクに電話をかけると開始する1002。従来のヘルプデスクパラダイムでは、次のステップはユーザによって経験される症状についての情報を口頭で収集することであろう。対照的に、示されている本発明の実施形態では、次のステップは疑いのあるマシンの診断チェックを、最新のスナップショットに照らし合わせて実行することである1003。これは問題状態の即座の診断を生じさせないため、次の3つの可能性が存在する場合がある。つまり、(1)状態が、前回のスナップショット撮影後に発生した、(2)状態が新しく、そのフィルタによって認識されていない、または(3)状況が分析の適用範囲外である、例えばハードウェアの問題。
【0114】
前回のスナップショットが撮影されてから障害状態が発生したと疑われる場合、ユーザはクライアントマシン上のエージェント構成要素(202)に別のスナップショットを撮らせてよい1006。いったん結果として生じるスナップショットが入手できると、新しい診断チェックを実行できる1004。
【0115】
障害状態が新しいことが疑われる場合、アナリストはインストールされた可能性のある新しいアプリケーションなどの時間の特殊なウィンドウでマシンの状態の変化の内訳を提供する比較関数を実行してよい1008。ユーザは、時間内の多様な点でマシンの状態の詳細な表現を表示できる1010。アナリストが新しい障害状態を識別すると、ユーザは以後の分析要の認識フィルタとしてアセットの集合を識別できる。
【0116】
従来の製品が人間をベースにしたサポートモデルの効率の改善に焦点を当てる一方、本発明の実施形態は別のパラダイム、マシンベースのサポートモデルを中心に設計されている。手法のこの根本的な差異がデータ収集と分析の領域で最も深く出現する。人間よりむしろマシンが収集されるデータの分析を実行するので、収集されるデータは膨大となる場合がある。例えば、一実施形態では、「健康診断」と呼ばれる単一のマシンから収集されるデータまたはマシンのスナップショットは数十万の属性の値を含む。大量のデータを収集できる能力が本発明の実施形態に、検出できる数と種々の条件という点で従来のシステムに優る大きな優位点を与える。
【0117】
本発明の別の実施形態は、強力な分析能力を提供する。このような実施形態における高値分析のための基礎は正常な状態と異常な状態を正確に区別する能力である。例えば、本発明による1つのシステムはそれがそのクライアントから収集するスナップショットデータから統計的に重要な関係性をマイニングすることによってその基準モデルを自動的に合成する。その結果生じる「適応」基準モデルはその特定の瞬間でのその特定の管理されている集団にとって正常であることを定義する。
【0118】
本発明の1つの実施形態は、前述されるデータ収集及び手工分析の機能を結合する。このような実施形態では、適応基準モデルの分析力と組み合わされた優れたデータ収集機能が日々のセキュリティ監視を実施し、脆弱性を排除するためにソフトウェアアップデートがないかチェックすることによってセキュリティの脅威に対する自動的な防御を提供する機能を含む多くの重大な競争上の優位性になる。このような実施形態は、それらが生産性の損失またはヘルプデスクへの電話に繋がる前に問題を発見するために日常的にすべての管理されているシステムを先を見越して走査することもできる場合がある。
【0119】
適応基準モデル機能を実現する本発明の実施形態は、過去に未知の障害状態を検出することもできる。さらに、このような実施形態は自動的に合成され、維持され、有効となるためにベンダのアップデートをほとんどまたはまったく必要としない。このような実施形態は、特定の管理されている集団に自動的にカスタマイズされ、それがその集団に一意の障害モードを検出できるようにする。
【0120】
本発明の実施形態の追加の優位点は、障害状態を自動的に解決できない場合に、このような実施形態がサポートアナリストの仕事を容易にするために大量の構造化技術情報を提供できるという点である。
【0121】
本発明の一実施形態は、識別された問題点を自動的に修理する能力を提供する。このような実施形態は、前述された実施形態の適応基準モデルと結合されると、障害状態のすべての態様を識別するためのその能力のために自動修理を一意に行うことができる。
【0122】
本発明の実施形態は、ここで説明されたサービスレベルの点から言えば従来のシステムと方法に優る多くの優位点も提供する。例えば、集団回復サービスレベルに関しては、いったん損害が発生してから事件を解決することより、事件を防止する方がはるかに安価である。本発明の実施形態は、人間の介入を必要とせずに、及び現実世界の実施形態におけるコンピュータの多岐に渡る、及び動的な性質を取り囲むように検出/防止できる事件のパーセンテージを大幅に増加する。
【0123】
さらに、本発明の実施形態は、公知の異常と未知の異常の両方を自動的に検出し、修理することにより自己回復サービスレベルに対処できる。ここに説明される適応基準モデルを実現する実施形態は自動検出及び修理に一意に適している。自動サービス及び修理は、自己点検とデスクサイド訪問に対するニーズも排除する、あるいは少なくとも最小限に押させるのに役立つ。
【0124】
本発明の実施形態は優れた診断機能と広範囲な情報資源を提供することにより支援点検レベルでの優位点を提供する。実施形態は、大量のエンドユーザデータを収集、分析し、セキュリティ監視、構成監視、在庫管理、性能分析、障害診断を含む、人間をベースにしたサポートモデルに関連付けられる種々のニーズを容易にする。
【0125】
本発明の実施形態の前記説明は、図解と説明の目的のためだけに提示されており、網羅的となる、あるいは本発明を開示されている正確な形式に限定することは目的としない。その多数の変型及び適応が、本発明の精神と範囲から逸脱することなく当業者にとって明らかになるであろう。
【図面の簡単な説明】
【0126】
【図1】本発明の一実施形態を実施するための例示的な環境を示す。
【図2】本発明の一実施形態の情報と動作の流れを描くブロック図である。
【図3】本発明の一実施形態における異常検出の全体的なプロセスを描くフローチャートである。
【図4】本発明の一実施形態における適応基準モデルの構成要素を描くフローチャートである。
【図5】本発明の一実施形態のエージェントに関するレジストリ情報を正規化するプロセスを描くフローチャートである。
【図6】本発明の一実施形態における異常を識別し、対応するための方法を描くフローチャートである。
【図7】本発明の一実施形態における特定の種類の異常を識別するためのプロセスを描くフローチャートである。
【図8】本発明の一実施形態における適応基準モデルを作成するためのプロセスを描くフローチャートである。
【図9】本発明の一実施形態における先を見越した異常検出のためのプロセスを描くフローチャートである。
【図10】本発明の一実施形態における異常検出のための反応プロセスを描くフローチャートである。
【図11】本発明の一実施形態における適応基準モデルを作成するためのユーザインタフェースの画面例である。
【図12】本発明の一実施形態における適応基準モデルを管理するためのユーザインタフェースの画面例である。
【図13】本発明の一実施形態における認識フィルタの作成に使用するためのスナップショットを選択するためのユーザインタフェースの画面例である。
【図14】本発明の一実施形態における認識フィルタを管理するためのユーザインタフェースの画面例である。
【図15】本発明の一実施形態におけるポリシーテンプレートで使用するための「ゴールデンシステム」を選択するためのユーザインタフェースを描く画面例である。
【図16】本発明の一実施形態におけるポリシーテンプレート資源を選択するためのユーザインタフェースの画面例である。
【特許請求の範囲】
【請求項1】
複数ンコンピュータから複数のスナップショットを受信し、前記複数のスナップショットのそれぞれがアセット名とアセット値の複数の組を備えることと、
少なくとも部分的に前記複数のスナップショットに基づいて適応基準モデルを自動的に作成することと、
を含む方法。
【請求項2】
適応基準モデルを自動的に作成することが、アセット名とアセット値の前記複数の組の中で一意のアセット名が発生する回数を決定することを含む請求項1に記載の方法。
【請求項3】
前記一意のアセット名と関連付けられる、異なるアセット値の数を決定することと、
前記一意のアセット名の異なるアセット値の前記数が閾値を超えると前記一意のアセット名の決定を中止することと、
をさらに含む請求項2に記載の方法。
【請求項4】
適応基準モデルを自動的に作成することが、アセット名とアセット値の前記複数の組の中で一意の文字列アセット値が発生する回数を決定することを含む請求項1に記載の方法。
【請求項5】
適応基準モデルを自動的に作成することが、アセット名とアセット値の前記複数の組の中で発生する一意のアセット数値の平均偏差と標準偏差を求めることを含む請求項1に記載の方法。
【請求項6】
適応基準モデルを自動的に作成することが、アセット名の前記複数の組の間で複数の関係性を決定することを含む請求項1に記載の方法。
【請求項7】
前記複数台のコンピュータの1台での第2のアセット名の存在または不在に基づいて前記複数台のコンピュータの内の前記1台での第1のアセット名の存在または不在の確率を求めるために前記複数の関係を使用することをさらに含む請求項6に記載の方法。
【請求項8】
アセット名のクラスタを識別することをさらに含み、前記クラスタが一緒に現れるアセット名の重複しないグループを備える請求項6に記載の方法。
【請求項9】
複数のクラスタの間で関係性を識別することをさらに含む請求項8に記載の方法。
【請求項10】
前記複数のクラスタ間のクラスタ関係性を識別することが、スナップショットの中での特定のクラスタの存在を前提として前記スナップショットの中の別のクラスタの存在の尤度を予測する確率行列を計算することを含む請求項9に記載の方法。
【請求項11】
前記クラスタ関係性がより強力な関係性に違反する場合に、前記適応基準モデルからクラスタ関係性を破棄することをさらに含む請求項10に記載の方法。
【請求項12】
前記適応基準モデルが、スナップショットを試験するためにいつ関係性を使用できるのかを決定するための信頼基準を備え、前記信頼基準が、
前記適応基準モデル内に含まれるスナップショットの数の最小閾値と、
前記関係性を含む前記適応基準モデル内に含まれる多くのスナップショットについて最小の閾値と、
前記アセット値を含むスナップショットの前記数に対する、別のアセット値の前記数の割合のための最大閾値と、
の内の少なくとも1つを含む請求項1に記載の方法。
【請求項13】
前記適応基準モデルが、複数の数値アセット値と関連付けられる複数の最小閾値と最大閾値をさらに含む請求項12に記載の方法。
【請求項14】
前記複数のアセット値のそれぞれの前記平均からの平均と標準偏差とを計算することによって、前記複数の最小閾値と最大閾値を決定することをさらに含む請求項13に記載の方法。
【請求項15】
前記適応基準モデルから、公知の障害状態に対応する認識フィルタを適合させるアセット名とアセット値の少なくとも1つの組を削除することをさらに含む請求項1に記載の方法。
【請求項16】
ポリシーテンプレートを適用することによって、前記適応基準モデルを修正することをさらに含む請求項1に記載の方法。
【請求項17】
前記ポリシーテンプレートが、正常なコンピュータに存在することが予想されるアセット名とアセット値の複数の組を備える請求項16に記載の方法。
【請求項18】
アセット名とアセット値の前記複数の組が第1の複数のアセット名とアセット組を備え、
前記ポリシーテンプレートが第2の複数のアセット名とアセット値を備え、
前記ポリシーテンプレートを適用することが、前記第2の複数の組のアセット名とアセット値が前記複数のスナップショットのそれぞれに存在したと考えられるように、前記適応基準モデルを修正することを含む、
請求項17に記載の方法。
【請求項19】
プログラムコードがその上で符号化されるコンピュータ読み取り媒体であって、前記プログラムコードが、
複数台のコンピュータから複数のスナップショットを受信するためのプログラムコードであって、前記複数のスナップショットのそれぞれが、アセット名とアセット値の複数の組を備えるプログラムコードと、
少なくとも部分的に前記複数のスナップショットに基づいて、適応基準モデルを自動的に作成するためのプログラムコードと、
を備えるコンピュータ読み取り媒体。
【請求項20】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名とアセット値の前記複数の組の中で一意のアセット名が発生する回数を決定するためのプログラムコードを備える請求項19に記載のコンピュータ可読媒体。
【請求項21】
一意のアセット名と関連付けられた、異なるアセット値の数を決定するためのプログラムコードと、
前記一意のアセット名の異なるアセット値の数が閾値を上回ると前記一意のアセット名の決定を中止するためのプログラムコード、
をさらに備える請求項20に記載のコンピュータ可読媒体。
【請求項22】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名とアセット値の前記複数の組の中で一意の文字列値が発生する回数を決定するためのプログラムコードを備える請求項19に記載のコンピュータ可読媒体。
【請求項23】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名とアセット値の前記複数の組の中で発生する一意のアセット数値の平均偏差と標準偏差を求めるためのプログラムコードを備える請求項19に記載のコンピュータ可読媒体。
【請求項24】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名の前記複数の組の間の複数の関係性を決定することを含む請求項19に記載のコンピュータ可読媒体。
【請求項25】
前記複数台のコンピュータの内の1台での第2のアセット名の存在または不在に基づいて、前記複数台のコンピュータの内の前記1台で第1のアセット名の存在または不在の確率を求めるために前記複数の関係性を使用するためのプログラムコードをさらに備える請求項24に記載のコンピュータ可読媒体。
【請求項26】
アセット名のクラスタを識別するためのプログラムコードをさらに備え、前記クラスタが一緒に現れるアセット名の重複しないグループを備える請求項25に記載のコンピュータ可読媒体。
【請求項27】
複数のクラス他の間の関係性を識別するためのプログラムコードをさらに備える請求項26に記載のコンピュータ可読媒体。
【請求項28】
前記複数のクラスタの間のクラスタ関係性を識別することが、スナップショットの中の特定のクラスタの存在を前提にして前記スナップショットの中の別のクラスタの存在の尤度を予測する確率行列を計算するためのプログラムコードを備える請求項27に記載のコンピュータ可読媒体。
【請求項29】
前記クラスタ関係性がさらに強力な関係性に違反する場合に前記適応基準モデルからクラスタ関係性を廃棄するためのプログラムコードをさらに備える請求項28に記載のコンピュータ可読媒体。
【請求項30】
前記適応基準モデルが、複数のアセット数値と関連付けられた複数の最小閾値と最大閾値をさらに備える請求項29に記載のコンピュータ可読媒体。
【請求項31】
前記複数のアセット値のそれぞれの前記平均から平均偏差と標準偏差を計算することによって前記複数の最小閾値と最大閾値を求めるためのプログラムコードをさらに備える請求項30に記載のコンピュータ可読媒体。
【請求項32】
前記適応基準モデルから、公知の障害状態に対応する認識フィルタを適合させる、少なくとも1組のアセット名とアセット値を削除するためのプログラムコードをさらに備える請求項19に記載のコンピュータ可読媒体。
【請求項33】
前記適応基準モデルを、ポリシーテンプレートを適用することにより修正するためのプログラムコードをさらに備える請求項19に記載のコンピュータ可読媒体。
【請求項34】
前記ポリシーテンプレートが、正常なコンピュータに存在すると予想されるアセット名とアセット値の複数の組を備える請求項33に記載のコンピュータ可読媒体。
【請求項35】
アセット名とアセット値の前記複数の組が第1の複数のアセット名とアセットの組を備え、
前記ポリシーテンプレートが第2の複数のアセット名とアセット値を備え、
前記ポリシーテンプレートを適用するためのプログラムコードが、アセット名とアセット値の前記第2の複数の組が前記複数のスナップショットのそれぞれに存在したと考えられるように、前記適応基準モデルを修正することを含む、
請求項34に記載のコンピュータ可読媒体。
【請求項1】
複数ンコンピュータから複数のスナップショットを受信し、前記複数のスナップショットのそれぞれがアセット名とアセット値の複数の組を備えることと、
少なくとも部分的に前記複数のスナップショットに基づいて適応基準モデルを自動的に作成することと、
を含む方法。
【請求項2】
適応基準モデルを自動的に作成することが、アセット名とアセット値の前記複数の組の中で一意のアセット名が発生する回数を決定することを含む請求項1に記載の方法。
【請求項3】
前記一意のアセット名と関連付けられる、異なるアセット値の数を決定することと、
前記一意のアセット名の異なるアセット値の前記数が閾値を超えると前記一意のアセット名の決定を中止することと、
をさらに含む請求項2に記載の方法。
【請求項4】
適応基準モデルを自動的に作成することが、アセット名とアセット値の前記複数の組の中で一意の文字列アセット値が発生する回数を決定することを含む請求項1に記載の方法。
【請求項5】
適応基準モデルを自動的に作成することが、アセット名とアセット値の前記複数の組の中で発生する一意のアセット数値の平均偏差と標準偏差を求めることを含む請求項1に記載の方法。
【請求項6】
適応基準モデルを自動的に作成することが、アセット名の前記複数の組の間で複数の関係性を決定することを含む請求項1に記載の方法。
【請求項7】
前記複数台のコンピュータの1台での第2のアセット名の存在または不在に基づいて前記複数台のコンピュータの内の前記1台での第1のアセット名の存在または不在の確率を求めるために前記複数の関係を使用することをさらに含む請求項6に記載の方法。
【請求項8】
アセット名のクラスタを識別することをさらに含み、前記クラスタが一緒に現れるアセット名の重複しないグループを備える請求項6に記載の方法。
【請求項9】
複数のクラスタの間で関係性を識別することをさらに含む請求項8に記載の方法。
【請求項10】
前記複数のクラスタ間のクラスタ関係性を識別することが、スナップショットの中での特定のクラスタの存在を前提として前記スナップショットの中の別のクラスタの存在の尤度を予測する確率行列を計算することを含む請求項9に記載の方法。
【請求項11】
前記クラスタ関係性がより強力な関係性に違反する場合に、前記適応基準モデルからクラスタ関係性を破棄することをさらに含む請求項10に記載の方法。
【請求項12】
前記適応基準モデルが、スナップショットを試験するためにいつ関係性を使用できるのかを決定するための信頼基準を備え、前記信頼基準が、
前記適応基準モデル内に含まれるスナップショットの数の最小閾値と、
前記関係性を含む前記適応基準モデル内に含まれる多くのスナップショットについて最小の閾値と、
前記アセット値を含むスナップショットの前記数に対する、別のアセット値の前記数の割合のための最大閾値と、
の内の少なくとも1つを含む請求項1に記載の方法。
【請求項13】
前記適応基準モデルが、複数の数値アセット値と関連付けられる複数の最小閾値と最大閾値をさらに含む請求項12に記載の方法。
【請求項14】
前記複数のアセット値のそれぞれの前記平均からの平均と標準偏差とを計算することによって、前記複数の最小閾値と最大閾値を決定することをさらに含む請求項13に記載の方法。
【請求項15】
前記適応基準モデルから、公知の障害状態に対応する認識フィルタを適合させるアセット名とアセット値の少なくとも1つの組を削除することをさらに含む請求項1に記載の方法。
【請求項16】
ポリシーテンプレートを適用することによって、前記適応基準モデルを修正することをさらに含む請求項1に記載の方法。
【請求項17】
前記ポリシーテンプレートが、正常なコンピュータに存在することが予想されるアセット名とアセット値の複数の組を備える請求項16に記載の方法。
【請求項18】
アセット名とアセット値の前記複数の組が第1の複数のアセット名とアセット組を備え、
前記ポリシーテンプレートが第2の複数のアセット名とアセット値を備え、
前記ポリシーテンプレートを適用することが、前記第2の複数の組のアセット名とアセット値が前記複数のスナップショットのそれぞれに存在したと考えられるように、前記適応基準モデルを修正することを含む、
請求項17に記載の方法。
【請求項19】
プログラムコードがその上で符号化されるコンピュータ読み取り媒体であって、前記プログラムコードが、
複数台のコンピュータから複数のスナップショットを受信するためのプログラムコードであって、前記複数のスナップショットのそれぞれが、アセット名とアセット値の複数の組を備えるプログラムコードと、
少なくとも部分的に前記複数のスナップショットに基づいて、適応基準モデルを自動的に作成するためのプログラムコードと、
を備えるコンピュータ読み取り媒体。
【請求項20】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名とアセット値の前記複数の組の中で一意のアセット名が発生する回数を決定するためのプログラムコードを備える請求項19に記載のコンピュータ可読媒体。
【請求項21】
一意のアセット名と関連付けられた、異なるアセット値の数を決定するためのプログラムコードと、
前記一意のアセット名の異なるアセット値の数が閾値を上回ると前記一意のアセット名の決定を中止するためのプログラムコード、
をさらに備える請求項20に記載のコンピュータ可読媒体。
【請求項22】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名とアセット値の前記複数の組の中で一意の文字列値が発生する回数を決定するためのプログラムコードを備える請求項19に記載のコンピュータ可読媒体。
【請求項23】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名とアセット値の前記複数の組の中で発生する一意のアセット数値の平均偏差と標準偏差を求めるためのプログラムコードを備える請求項19に記載のコンピュータ可読媒体。
【請求項24】
適応基準モデルを自動的に作成するためのプログラムコードが、アセット名の前記複数の組の間の複数の関係性を決定することを含む請求項19に記載のコンピュータ可読媒体。
【請求項25】
前記複数台のコンピュータの内の1台での第2のアセット名の存在または不在に基づいて、前記複数台のコンピュータの内の前記1台で第1のアセット名の存在または不在の確率を求めるために前記複数の関係性を使用するためのプログラムコードをさらに備える請求項24に記載のコンピュータ可読媒体。
【請求項26】
アセット名のクラスタを識別するためのプログラムコードをさらに備え、前記クラスタが一緒に現れるアセット名の重複しないグループを備える請求項25に記載のコンピュータ可読媒体。
【請求項27】
複数のクラス他の間の関係性を識別するためのプログラムコードをさらに備える請求項26に記載のコンピュータ可読媒体。
【請求項28】
前記複数のクラスタの間のクラスタ関係性を識別することが、スナップショットの中の特定のクラスタの存在を前提にして前記スナップショットの中の別のクラスタの存在の尤度を予測する確率行列を計算するためのプログラムコードを備える請求項27に記載のコンピュータ可読媒体。
【請求項29】
前記クラスタ関係性がさらに強力な関係性に違反する場合に前記適応基準モデルからクラスタ関係性を廃棄するためのプログラムコードをさらに備える請求項28に記載のコンピュータ可読媒体。
【請求項30】
前記適応基準モデルが、複数のアセット数値と関連付けられた複数の最小閾値と最大閾値をさらに備える請求項29に記載のコンピュータ可読媒体。
【請求項31】
前記複数のアセット値のそれぞれの前記平均から平均偏差と標準偏差を計算することによって前記複数の最小閾値と最大閾値を求めるためのプログラムコードをさらに備える請求項30に記載のコンピュータ可読媒体。
【請求項32】
前記適応基準モデルから、公知の障害状態に対応する認識フィルタを適合させる、少なくとも1組のアセット名とアセット値を削除するためのプログラムコードをさらに備える請求項19に記載のコンピュータ可読媒体。
【請求項33】
前記適応基準モデルを、ポリシーテンプレートを適用することにより修正するためのプログラムコードをさらに備える請求項19に記載のコンピュータ可読媒体。
【請求項34】
前記ポリシーテンプレートが、正常なコンピュータに存在すると予想されるアセット名とアセット値の複数の組を備える請求項33に記載のコンピュータ可読媒体。
【請求項35】
アセット名とアセット値の前記複数の組が第1の複数のアセット名とアセットの組を備え、
前記ポリシーテンプレートが第2の複数のアセット名とアセット値を備え、
前記ポリシーテンプレートを適用するためのプログラムコードが、アセット名とアセット値の前記第2の複数の組が前記複数のスナップショットのそれぞれに存在したと考えられるように、前記適応基準モデルを修正することを含む、
請求項34に記載のコンピュータ可読媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公表番号】特表2007−516495(P2007−516495A)
【公表日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2006−523374(P2006−523374)
【出願日】平成16年8月11日(2004.8.11)
【国際出願番号】PCT/US2004/026185
【国際公開番号】WO2005/017690
【国際公開日】平成17年2月24日(2005.2.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
3.JAVA
【出願人】(506047879)コーラス システムズ インコーポレイテッド (2)
【Fターム(参考)】
【公表日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願日】平成16年8月11日(2004.8.11)
【国際出願番号】PCT/US2004/026185
【国際公開番号】WO2005/017690
【国際公開日】平成17年2月24日(2005.2.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
3.JAVA
【出願人】(506047879)コーラス システムズ インコーポレイテッド (2)
【Fターム(参考)】
[ Back to top ]