(57)【要約】  ソフトウェア使用のリアルタイムレポートを提供するための方法及びシステムは、ローカルコンピュータ上で実行されるエージェントを具備する。前記エージェントは、前記コンピュータ上で実行開始した新規プロセスを特定するとともに、前記新規プロセスと制限一覧表とを照合する。もし、新規プロセスが前記制限一覧表上に存在するならば、前記エージェントは自動的に、前記プロセスの実行可能ファイル名に関連付けられた１つ又は複数の制限アクションを実行する。前記制限一覧表は、前記ローカルコンピュータ上に格納される設定ファイル内に具備される。権限を有する管理者は、実行可能ファイル名及びＤＬＬ名を前記制限一覧表に追加、又は前記制限一覧表から削除することによって、並びに、前記実行可能ファイル名及びＤＬＬ名に関連付けられた制限アクションを追加又は削除することによって、前記マスタ設定ファイルを編集しても良い。
2008520051.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上のソフトウェア使用を監視する方法であって、
前記コンピュータ上でエージェントプログラムを実行する段階と、
前記コンピュータ上で実行される新規プロセスを特定する段階と、
前記新規プロセスと前記コンピュータ上の設定ファイル内に格納されている制限一覧表とを比較する段階と、
もし前記新規プロセスが前記制限一覧表上に存在するならば、前記新規プロセスに対して制限アクションを実行する段階とを具備することを特徴とする方法。
【請求項２】
前記制限アクションは、ＫＩＬＬ，ＮＯＴＩＦＹ，ＲＥＰＯＲＴ，ＭＡＩＬ及びＤＩＳＡＢＬＥＮＥＴからなるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項３】
選択された前記制限アクションがＫＩＬＬである時に、前記新規プロセスを停止する段階をさらに具備することを特徴とする請求項２に記載の方法。
【請求項４】
選択された前記制限アクションがＤＩＳＡＢＬＥＮＥＴである時に、前記コンピュータをネットワークから切断する段階をさらに具備することを特徴とする請求項２に記載の方法。
【請求項５】
選択された前記制限アクションがＭＡＩＬである時に、Ｅメールメッセージを送信する段階をさらに具備することを特徴とする請求項２に記載の方法。
【請求項６】
前記設定ファイルと前記コンピュータのマスタ設定ファイルとを比較する段階と、
もし前記設定ファイルが前記マスタ設定ファイルと異なれば、前記設定ファイルを前記マスタ設定ファイルで置換する段階とをさらに具備し、
前記マスタ設定ファイルは前記コンピュータと通信可能なサーバ上に格納されていることを特徴とする請求項１に記載の方法。
【請求項７】
前記比較する段階は、
前記設定ファイルのチェックサムを計算する段階と、
前記チェックサムを前記サーバに送信する段階と、
もし送信された前記チェックサムが前記マスタ設定ファイルのチェックサムと等しくなければ、前記サーバから前記マスタ設定ファイルのコピーを受信する段階とをさらに具備することを特徴とする請求項６に記載の方法。 
【請求項８】
前記コンピュータと前記サーバとの間の通信は、ＨＴＴＰプロトコル経由で８０番ポート上にて行われることを特徴とする請求項６に記載の方法。
【請求項９】
前記新規プロセスと前記設定ファイル内に格納されている無視一覧表とを比較する段階を具備し、もし前記新規プロセスが前記無視一覧表に存在するならば、前記エージェントは前記新規プロセスを無視することを特徴とする請求項１に記載の方法。
【請求項１０】
前記制限アクションを実行した後に前記コンピュータと通信可能である中央レポジトリにレポートを送信して、それによって前記中央レポジトリに対しリアルタイムにコンピュータ使用情報を提供することを特徴とする請求項２に記載の方法。
【請求項１１】
前記レポートはプロセスＩＤを具備することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記レポートは開始時刻を具備することを特徴とする請求項１０に記載の方法。
【請求項１３】
前記レポートは実行可能ファイル名を具備することを特徴とする請求項１０に記載の方法。
【請求項１４】
サーバと通信可能なコンピュータと、
前記コンピュータ上に格納される設定ファイルと、
前記コンピュータ上で実行されるエージェントプログラムとを具備し、
前記設定ファイルは制限一覧表を具備し、前記制限一覧表内の各エントリーは実行可能ファイル名と制限アクションとを具備し、
前記エージェントは前記コンピュータ上で実行される新規プロセスを特定するとともに、前記新規プロセスが前記制限一覧表上の実行可能ファイル名と一致した時に、前記制限アクションを実行するように構成されていることを特徴とするシステム。
【請求項１５】
マスタ設定ファイルが前記サーバ上に格納され、前記サーバは、前記コンピュータ上に格納された前記設定ファイルが無効である時に、前記マスタ設定ファイルを前記コンピュータにプッシュするように構成されていることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記設定ファイルは無視一覧表を具備し、前記エージェントは前記無視一覧表上のプロセスを無視するように構成されていることを特徴とする請求項１４に記載のシステム。
【請求項１７】
前記エージェントが前記新規プロセスを強制終了するＫＩＬＬアクションを前記制限アクションが具備することを特徴とする請求項１４に記載のシステム。
【請求項１８】
前記エージェントが前記コンピュータと前記サーバとの間のネットワークによる通信から前記コンピュータを切断するＤＩＳＡＢＬＥＮＥＴアクションを前記制限アクションが具備することを特徴とする請求項１４に記載のシステム。
【請求項１９】
前記新規プロセスが実行開始した時に、前記エージェントが関係者にＥメールメッセージを送信するＭＡＩＬアクションを前記制限アクションが具備することを特徴とする請求項１４に記載のシステム。
【請求項２０】
中央レポジトリをさらに具備し、前記中央レポジトリは、前記コンピュータと通信可能であるとともに、前記コンピュータからレポートを受信するように構成され、前記レポートは前記新規プロセスに関する情報を具備することを特徴とする請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模グローバルコンピュータネットワークを管理するための方法及びシステムに関する。より具体的には、本発明は、コンピュータネットワーク内部において使用されるソフトウェアを監視するとともに、前記コンピュータネットワークのソフトウェア使用ポリシーを強制するための方法及びシステムに関する。
【０００２】
本願は、先に２００４年１１月１０日に出願された米国仮出願特許第６０／６２６，９８５号の利益を主張するとともに、前記仮出願は引用により本願に組み込まれる。
【背景技術】
【０００３】
大規模であり、地理的に分散しているコンピュータネットワークを有する会社は、会社全体でのソフトウェアの同時使用をカバーするのに充分なライセンスのみを購入することによって、ソフトウェアベンダーに支払うライセンス料を軽減することが可能である。ライセンス契約を遵守するために、会社は、組織全体に亘ってソフトウェア使用の監視を可能としなければならない。例えば、ワシントン州レッドモンド市にあるマイクロソフト株式会社が提供するＳＭＳ２００３（登録商標）製品などの、サードパーティ製の監視プログラムにより、ネットワークのコンピュータ上で実行されるソフトウェアのインスタンス数を監視することによって、会社がライセンス契約を遵守することが可能となる。
しかしながら、ＳＭＳ２００３製品は、サイト指向であり、そのために地理的に分散するネットワークに亘った監視が困難である。さらに、現行のソフトウェア監視パッケージは、使用を監視するのみであって、ライセンスポリシーを強制することができない。従って、地理的に分散したコンピュータネットワークに亘るソフトウェア使用を監視するとともに、ソフトウェアポリシーを強制することが可能である方法及びシステムに対する需要は引き続き存在する。 
【発明の開示】
【課題を解決するための手段】
【０００４】
ソフトウェア使用のリアルタイムレポートを提供する方法及びシステムは、ローカルコンピュータ上で実行されるエージェントを具備している。前記エージェントは、前記コンピュータ上で実行開始された新規プロセスを特定するとともに、前記新規プロセスと制限一覧表とを照合する。もし、新規プロセスが前記制限一覧表に存在するならば、前記エージェントは自動的に、前記プロセスの実行可能ファイル名に関連付けられた１つまたは複数の制限アクション（ｒｅｓｔｒｉｃｔｉｏｎ  ａｃｔｉｏｎ）を実行する。前記制限一覧表は、ローカルコンピュータ上に格納されている設定ファイル内に具備されている。
ローカルコンピュータ用のマスタ設定ファイルは、サーバ上に格納されるとともに、前記設定ファイルが古くなった時に、前記設定ファイルを置換する。権限のある管理者は、実行可能ファイル（ｅｘｅｃｕｔａｂｌｅ）名及びＤＬＬ名を、制限一覧表に追加又は前記制限一覧表から削除することによってマスタ設定ファイルを編集しても良いし、かつ前記制限一覧表上の、実行可能ファイル名及びＤＬＬ名に関連付けられた制限アクションを追加又は削除することによって、マスタ設定ファイルを編集しても良い。
【０００５】
本発明の一実施形態は、コンピュータ上の監視ソフトウェア利用方法を対象とする。前記方法は、コンピュータ上でエージェントプログラムを実行する段階と、前記コンピュータ上で実行される新規プロセスを特定する段階と、前記新規プロセスと前記コンピュータ上の設定ファイル内に格納された制限一覧表とを比較する段階と、もし前記プロセスが前記一覧表上に存在するならば、前記新規プロセスに対して制限アクションを実行する段階とを具備する。
【０００６】
本発明の他の実施形態は、サーバと通信するコンピュータと、前記コンピュータ上に格納されている設定ファイルと、前記コンピュータ上で実行されるエージェントプログラムとを具備し、前記設定ファイルは制限一覧表を具備し、前記制限一覧表内の各エントリーは、実行可能ファイル名と制限アクションとを具備し、前記エージェントは、前記コンピュータ上で実行される新規プロセスを特定するとともに、前記新規プロセスが前記制限一覧表上にある実行可能ファイル名と一致した時に、制限アクションを実行するように構成されていることを特徴とするシステムを対象とする。
【発明を実施するための最良の形態】
【０００７】
本発明を、添付図面と関連付けながら、好ましい実施形態と代替の実施形態とを参照しながら本明細書で説明する。
【０００８】
ここでの説明は、本発明の好ましい一実施形態を説明するに過ぎないものと解するべきである。当業者は、例えば、説明される実施形態は、計測ソフトウェアの新しいシステム及び方法の、単に簡単化された一実施例に過ぎないことを認識する。前記簡単化された一実施例は、本発明が具備する、より一般的なシステム及び方法を実施可能とするために、詳細に亘り説明を要する事柄の全てである。
【０００９】
図１は、１つもしくは複数の地理的に区分されたサイトを有する会社によって使用される代表的なコンピュータネットワークを図示している。イントラネット１１０は、特定の地理サイトにあるコンピュータを接続するために使用され得る。第２イントラネット１６０は、第１イントラネット１１０と同じサイトにあるコンピュータと接続するのに使用しても良く、第２地理サイトにあるコンピュータに接続するのに使用しても良い。
ファイアウォール１２０は、前記イントラネットの１つが危険にさらされた時に、イントラネット１１０及び１６０を、互いに隔離するとともに保護するために使用され得る。内部ファイアウォール１２０は、高価値の会社内資産を保護するとともに、内部又は外部の攻撃に対する多層防御（ｄｅｆｅｎｓｅ−ｉｎ−ｄｅｐｔｈ）を提供する。他の実施形態においては、イントラネット１１０は、例えば、インターネットのような外部ネットワークを介して、イントラネット１６０と接続され得る。好ましい実施形態では、全ての外部ネットワークへの接続は、ファイアウォール越しに行われる。
【００１０】
図１において、コンピュータ１３０と１７０とを、会社の従業員が、会社の様々な仕事を遂行するために使用しても良い。各コンピュータには、ユーザが使用する時にライセンスが要求されるソフトウェアがロードされても良い。好ましい実施形態においては、各コンピュータは、例えばハードディスクのような、前記コンピュータの不揮発性メモリ内にエージェントプログラムを格納している。前記コンピュータの動作中に前記エージェントプログラムが実行されるように、前記コンピュータが起動する間に、前記エージェントプログラムが自動的にロードされるように構成されている。
前記コンピュータのユーザがプログラムを実行開始した時に、前記エージェントプログラムは、新規プログラムと前記エージェントの設定ファイルに格納された１つまたは複数の制限プログラム一覧表とを照合する。もし、前記新規プログラムが前記制限プログラム一覧表上に存在するならば、前記エージェントは、前記制限プログラム一覧表に対応する制限アクションを実行する。
【００１１】
好ましい実施形態では、前記制限プログラム一覧表は、前記エージェントプログラムによって読み込まれる設定ファイル内に格納されている。前記設定ファイルは、前記コンピュータ上にローカルに格納されても良いし、中央サーバ１８０上に格納されても良い。中央サーバ１８０は、好ましくは、社内ネットワーク内の各コンピュータ用のマスタ設定ファイルを格納するとともに、前記マスタ設定ファイルを運用及び管理するための中央位置を提供する。
権限を有する運用者又は管理者は、運用者／管理者用コンピュータ１８５を介してファイルを編集することによって、マスタ設定ファイルを更新しても良い。運用者／管理者は、仕事上の職務又はワークグループに従いグループ分けされた、１つ又は複数のコンピュータに対し、マスタ設定ファイルを割り振っても良い。
【００１２】
好ましい実施形態において、前記エージェントプログラムは、そのコンピュータ上に格納されている設定ファイルのチェックサムを計算するとともに、前記チェックサムを中央サーバに送信する。前記サーバは、前記コンピュータからチェックサムを受信するとともに、前記チェックサムと、前記サーバ内に格納されている前記コンピュータ用のマスタ設定ファイルのチェックサムとを比較する。
もし、チェックサムが一致しなければ、前記コンピュータ内の前記設定ファイルは無効であるとともに、前記サーバは、前記ローカルコンピュータに対し、設定ファイルとして使用するためのマスタ設定ファイルをプッシュする。前記マスタ設定ファイルは、通常、各エージェントが最新の情報を使用できるように、運用者／管理者によって行われた最新の更新を含んでいる。上記の、設定ファイルのチェックサムを送信し、かつ比較することにより、ネットワーク上の通信量が低減される。なぜなら、前記マスタ設定ファイルは、ローカル設定ファイルが古くなった場合にのみネットワークを介して送信されるからである。
【００１３】
各設定ファイルは、実行可能モジュール名の一覧を具備する、１つ又は複数の一覧表を具備している。もし、エージェントが、ローカルコンピュータ上において実行される新規プロセスであって、前記制限一覧表内のモジュール名の１つと一致するものを発見したならば、前記エージェントは、当該制限一覧表に対応する制限アクションを実行する。例えば、前記設定ファイルは、もし前記プロセスがＫＩＬＬ一覧表上に存在したら、前記エージェントは前記プロセスを強制終了（ｔｅｒｍｉｎａｔｅ）するといった、ＫＩＬＬという名前の制限一覧表を具備しても良い。同様に、前記設定ファイルは、ＩＧＮＯＲＥ一覧表上に存在するプロセスの、前記ローカルコンピュータ上での実行継続を前記エージェントが許可するといった、ＩＧＮＯＲＥという名前の制限一覧表を具備しても良い。
制限一覧表及び関連付けられた制限アクションの他の実施例は、網羅的ではないが、ＭＡＩＬ一覧表上に存在するプロセスが実行開始した時に、前記エージェントが当事者に対してメッセージをメールするＭＡＩＬ一覧表や、ＮＯＴＩＦＹ一覧表上に存在するプロセスが実行開始した時に、前記エージェントが設定可能なメッセージを表示するＮＯＴＩＦＹ一覧表や、ＲＥＰＯＲＴ一覧表上に存在するプロセスの実行開始をレポートするＲＥＰＯＲＴ一覧表や、ＤＩＳＡＢＬＥＮＥＴ一覧表上に存在するプロセスが実行開始した時に、前記エージェントが前記ローカルコンピュータをネットワークから切断するＤＩＳＡＢＬＥＮＥＴ一覧表などである。前記ローカルコンピュータは、前記ローカルコンピュータのネットワークカードからＴＣＰ／ＩＰスタックをアンリンクすることによって、前記ネットワークから切断されても良い。
前記エージェントは、所望の制限アクションに対応する各制限一覧表に、単にモジュール名を含めるだけで、複数の制限アクションを実行するように管理しても良い。各設定ファイルに対し、運用者／管理者は、実行可能ファイル又はＤＬＬを、設定ファイル内の一つ又は複数の制限一覧表に追加しても良く、又は前記一覧表から削除しても良い。好ましい実施形態において、各制限アクションは、前記エージェント内部にプリコンパイルされた機能であっても良い。
【００１４】
他の実施形態においては、前記設定ファイルは、単一の制限一覧表を具備してもよい。前記単一の制限一覧表の各エントリーは、実行可能ファイル及び／又はＤＬＬ名と、もし新規プロセスが前記制限一覧表上にある名前と一致したならば前記エージェントが実行する、一つ又は複数の制限アクションとを具備する。各実行可能ファイル又はＤＬＬ名が、各名前に関連付けられた異なる制限アクションを具備してもよく、それによって、プロセスが前記制限一覧表上で発見された時に、前記エージェントによって実行される自動化されたアクションのカスタマイズの幅を、より広げることが可能である。
【００１５】
制限一覧表及びそれらに関連付けられた制限アクションの使用により、よりカスタマイズの幅を広げるとともに、粒度を細かくすることが可能となるとともに、一方で、前記エージェントによって生成されるネットワーク通信量を低減することが可能となる。前記エージェントによって生成されるネットワーク通信量の大きさは、数万ものコンピュータを有する大規模会社内ネットワークにおいて、重大な問題となりうる。制限一覧表を使用することにより、管理者が関心のあるそれらのイベントのみにエージェントのレポートを制限することにより、ネットワーク通信量が低減される。
ローカルコンピュータが起動する度に、前記ローカルコンピュータに設定ファイルを送信する代わりに、前記ローカルコンピュータ上の設定ファイルが古くなった時にのみ設定ファイルを送信することにより、ネットワーク通信量はさらに低減される。送信される設定ファイル及び前記中央サーバに送信される全てのレポートのサイズを低減するために、例えば、ハフマン符号化又はＤＡＷＧ（Ｄｉｒｅｃｔｅｄ  Ａｃｙｃｌｉｃ  Ｗｏｒｄ  Ｇｒａｐｈ）などの圧縮／暗号化方法を使用しても良い。 
【００１６】
好ましい実施形態においては、エージェントによるレポートは、リアルタイムに行われる。それにより、中央レポジトリは、会社内で実行されているソフトウェアの即時かつ最新の情報を有することが可能となる。現在のソフトウェア使用情報を提供する他に、リアルタイムレポートにより、多階層の（ｉｎ−ｄｅｐｔｈ）セキュリティ解析、パフォーマンス解析、障害解析、及びその他ネットワークサポート機能も容易になる。
【００１７】
一方、通常、リアルタイムレポートは、会社内コンピュータからのレポートが収集されるとともに格納される中央レポジトリの、完全２４／７可用性を提供するための、例えば、負荷分散、フェールオーバー、及び近接分散（ｐｒｏｘｉｍｉｔｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ）などの、他のネットワークサービスに依存している。それに加え、リアルタイムレポートは、会社のネットワークセキュリティ管理のコンテキスト内部で動作しなければならない。
例えば、サードパーティ製のパッケージには、ネットワークドライブマッピングの方法を使用して、ローカルコンピュータをサーバに接続するものもある。しかしながら、ネットワークドライブマッピングは、内部ファイアウォール越しの操作と実質的に互換性がない。同様に、サードパーティ製のパッケージの中には、特定のポート上でＴＣＰ／ＩＰ経由でサーバに接続するものもある。しかしながら、特定ポート上のＴＣＰ／ＩＰ接続は、通常ファイアウォールの特別な設定を必要とし、それにより、ファイアウォール越しの、意図しないかつ検知されないセキュリティホールを開けてしまうこともある。
【００１８】
好ましい実施形態においては、ローカルコンピュータと中央サーバとの間の双方向通信は、標準的な８０番ポート上でＨＴＴＰプロトコルを介して確立される。ＨＴＴＰ／８０番ポートの使用により、セキュリティなどの会社内ネットワークの他の構成に及ぼす混乱が最小化され、一方でＨＴＴＰ／８０番ポートを使用する先進的なＷＥＢサービスが活用される。通信用に８０番ポートを使用することの利点は、ほとんどのファイアウォールが、この通信路を許可するように設定されるとともに、前記ファイアウォールの複雑な解析又はカスタム設定を必要としないことである。
さらに、負荷分散、冗長化、フェールオーバー、及び近接分散などの、通常、このプロトコル／ポートの組み合わせ上の攻撃に対して特に堅牢であるＷＥＢサービスは、本発明の実施形態で利用可能となる。
【００１９】
図２は、本発明の実施形態における、エージェントの動作を図示したフローチャートである。好ましい実施形態においては、前記エージェントは、ローカルコンピュータの起動の間に段階２０５から実行開始し、かつユーザがシステムにログインしていない時にも実行可能であるように、ネーティブＷｉｎｄｏｗｓ（登録商標）サービスとして設定される。
図２に関しては、Ｗｉｎｄｏｗｓ（登録商標）サービスを説明しているが、当業者は、本明細書で説明される方法及びシステムは、以下に説明されるＷｉｎｄｏｗｓ（登録商標）サービスによって、Ｗｉｎｄｏｗｓ（登録商標）プラットフォームに限定されるものではなく、本発明の範囲内で、例えば、Ｌｉｎｕｘ（登録商標）やＳｏｌａｒｉｓ（登録商標）などの非Ｗｉｎｄｏｗｓ（登録商標）プラットフォームに関しても適用可能であるとともに、本発明の範囲内であると解するべきである。
【００２０】
段階２１０において、前記エージェントは、前記オペレーティングシステムから停止シグナルを受信したかどうかチェックする。もし停止シグナルが受信されていれば、前記エージェントは、段階２１５において、終了する（ｅｘｉｔ）とともに、前記エージェントプログラムを強制終了する。
【００２１】
もし、停止シグナルが受信されていなければ、前記エージェントは、段階２２０において、前記ローカルコンピュータ用の最新の設定ファイルをロードする。段階２２０において、前記エージェントプログラムは、前記ローカルコンピュータに格納されている設定ファイルのチェックサムを計算するとともに、中央サーバに前記チェックサムを送信する。
前記サーバは、前記ローカルコンピュータからチェックサムを受信するとともに、前記チェックサムと前記サーバ内に格納されている対応する設定ファイルのチェックサムとを比較する。もし、前記チェックサムが一致しなければ、前記サーバは、前記サーバ内に格納されている前記対応する設定ファイルを、前記ローカルコンピュータにプッシュする。前記対応する設定ファイルは、通常、運用者／管理者によって行われた最新の更新を具備しており、従って、各エージェントは、最新の情報を使用可能である。設定ファイルのチェックサムを送信し比較することにより、ネットワーク通信量が低減される。なぜなら、前記設定ファイルは、ローカル設定ファイルが古くなった時にのみネットワーク越しに送信されるからである。
【００２２】
段階２３０において、前記エージェントは、オペレーティングシステムから、前記ローカルコンピュータ上で実行中の全実行中プロセスの一覧表を回収する。前記エージェントは、実行中プロセスの一覧表を維持し、定期的に実行中プロセスの新規一覧表を回収し、かつ２つの一覧表を比較する。もし、新規プロセスが前記新規一覧表上に出現しなければ、前記エージェントは、前記オペレーティングシステムから、実行中プロセスの新規一覧表を回収するまで、所定期間待機する。
もし、新規プロセスが前記新規一覧表に出現したら、前記エージェントは、段階２４０において前記新規プロセスを評価する。新規プロセスの評価には、新規プロセスを特定する段階と、前記プロセス及び１つ又は複数の制限一覧表を照合する段階と、前記プロセスが制限一覧表上に存在する時に、一覧表に関連付けられた制限アクションを実行する段階とを具備する。前記エージェントはまた、前記プロセスによってスポーン（ＳＰＡＷＮ）された全てのモジュールを評価するとともに、前記制限一覧表と前記モジュールとを比較しても良い。前記エージェントはまた、各プロセスとそれに関連付けられたモジュールとに関して、前記設定ファイル内で指定された追加情報を収集しても良い。
【００２３】
段階２５０において、前記エージェントは、レポートを中央レポジトリに送信しても良い。各レポートは、好ましくは、単一の実行可能ファイルと、例えばＤＬＬなどのそれに関連するモジュールとをカバーする。各レポートは、前記プロセスの評価が完了した時に、送信されるとともに、前記ローカルコンピュータ上で実行されるプロセスの実質的にリアルタイムのレポートを提供する。
前記レポートは、例えば、ワシントン州レッドモンド市のマイクロソフト株式会社提供のＳｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ（ＳＭＳ）などの、既存のサーバ管理インフラを使用して、ＳＭＳサーバにレポートを送信しても良い。代わりに、前記エージェントは、ネットワークのＷＥＢサービスを使用して、ＸＭＬフォーマットのレポートを、中央ストレージのＳＱＬデータベースレポジトリに送信しても良い。
【００２４】
中央レポジトリへのレポート後に、前記エージェントは段階２１０に戻り、オペレーティングシステムから停止シグナルを受信するまで、ループ２１０−２２０−２３０−２４０−２５０を繰り返す。
【００２５】
図３は、図２に示された実施形態において、新規プロセスを評価する方法を図示するフローチャートである。前記エージェントは、段階３０５に入り、かつ段階３１０において、前記オペレーティングシステムから前記プロセスの実行可能ファイル名を回収する。前記実行可能ファイル名は、段階３２０において、ＫＩＬＬ一覧表上の名前一覧と比較される。前記ＫＩＬＬ一覧表は、権限が与えられていない、又は禁止されているソフトウェア、又は既知の有害アプリケーションを含んでいても良い。もし、前記プロセスが前記ＫＩＬＬ一覧表上で発見されたら、前記エージェントは、段階３７５において終了する前に、段階３３０において、前記プロセスを強制終了する。
【００２６】
もし、前記プロセスが前記ＫＩＬＬ一覧表上に存在しなければ、前記エージェントは段階３４０に進み、前記エージェントは前記オペレーティングシステムからモジュール情報を回収する。モジュール情報は、例えば、プロセスＩＤ、開始時刻、ユーザ、バージョンなどの、基本的な情報を具備している。段階３５０において、前記エージェントは、前記プロセスから参照されているダイナミックリンクライブラリ（ＤＬＬ）を照合する。段階３６０において、前記エージェントは、段階３４０及び３５０において回収したモジュール及びＤＬＬ情報を収集することにより、レポート対象プロセスを追加する。
【００２７】
図４は、図３に示された実施形態における、前記プロセスに関連付けられた１つ又は複数のＤＬＬの評価方法を図示している。 
前記エージェントは、段階４０５において、前記方法を開始する。そして、前記プロセスに関連付けられた各ＤＬＬに関する情報を収集するループを開始する。段階４１０において、前記プロセスに関連付けられた各ＤＬＬから情報が収集されたかどうかを判定する。もし、全てのＤＬＬが評価されたならば、前記エージェントは段階４１５において終了する。前記プロセスによって参照される各ＤＬＬに対して、前記エージェントは、段階４２０において、オペレーティングシステムより前記ＤＬＬの名前を回収することによって前記ＤＬＬを特定する。
【００２８】
段階４３０において、前記エージェントは、先ず前記設定ファイルでＤＬＬチェックオプションが設定されているかどうかを判定することによって前記ＤＬＬを評価する。もし、ＤＬＬチェックオプションが設定されていなければ、前記エージェントは、前記プロセスによって参照されるＤＬＬをチェックせず、かつ前記エージェントは段階４１５で終了する。もしＤＬＬチェックオプションが設定されていれば、前記エージェントは、前記プロセスがそのモジュールをロードできるように所定期間待機する。
前記エージェントは、次いで、前記ＤＬＬと前記制限一覧表とを照合するとともに、もし前記ＤＬＬが前記制限一覧表に存在するならば、対応する制限アクションを実行する。本発明の一実施形態においては、プロセス又はモジュールがローカルコンピュータ上で実行開始する時に実行される、特定の名前に関連付けられた１つ又は複数の制限アクションとともに、プロセス実行可能ファイル名及びＤＬＬ名の両方を具備する単一の制限一覧表を、前記設定ファイルが具備している。
例えば、もし、段階４２０において回収されたモジュール名が“ＸＴＵＰＤＡＴＥ．ＤＬＬ”であるとともに、前記制限一覧表に“ＸＴＵＰＤＡＴＥ．ＤＬＬ”  ｒａ＝ “ＫＩＬＬ＿ＲＥＰＯＲＴ”のようなエントリーが含まれるならば、前記エージェントは、前記制限アクション又は前記値“ＫＩＬＬ＿ＲＥＰＯＲＴ”に対応する１つ又は複数の制限アクション、この実施例では、ＤＬＬを強制終了するとともに、前記強制終了を中央レポジトリにレポートする制限アクション、を実行する。
前記エージェントはまた、前記ＤＬＬと前記設定ファイル内の無視一覧表とを照合する。もし前記ＤＬＬ名が前記無視一覧表に存在するならば、前記エージェントは、前記ＤＬＬに関するさらなる情報を収集することなく、前記プロセスによって参照される次のＤＬＬに進む。もし、前記ＤＬＬが前記無視一覧表に存在しないのであれば、前記エージェントは、段階４４０において、例えば、ＤＬＬパス、ファイルバージョン、製品名、マシン名、開始日時及び開始時刻などの、前記設定ファイル内で指定されている前記ＤＬＬに関する情報を回収する。ＤＬＬ情報が収集された後、前記エージェントは段階４１０に進むとともに、前記プロセスによって参照される全てのＤＬＬが評価されるまで、ループ４１０−４２０−４３０−４４０を継続する。
【００２９】
本発明の実施形態は、コンピュータ構成要素と、当業者に明らかであるコンピュータにより実行される段階とを具備する。簡潔を旨とするために、コンピュータシステムの部分として本発明の全ての段階又は構成要素を説明しない。
しかしながら、当業者は、各段階又は構成要素が、対応するコンピュータシステム又はソフトウェア構成要素を有することを認識する。そのようなコンピュータシステム及び／又はソフトウェア構成要素は、従って、その対応する段階又は構成要素（即ち、それらの機能）を書き下すことにより実施可能となるとともに、本発明の範囲内である。
【００３０】
このように、少なくとも本発明の例示的な実施形態について説明してきたが、本発明の範囲内において、当業者又は当業者に類する者は、様々な変形例、及び改善例を容易に想到可能である。従って、上述の説明は、実施例を利用して行われたに過ぎず、限定を意図したものではない。本発明は、本願特許請求の範囲による定義及びその均等物によってのみ限定される。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の一実施形態における、代表的なコンピュータネットワークを図示する図面である。
【図２】図２は、本発明の一実施形態における、エージェントの動作を図示するフローチャートである。
【図３】図３は、図２において示された実施形態における、新規プロセスを評価する方法を図示するフローチャートである。
【図４】図４は、図３において示された実施形態における、ＤＬＬを評価する方法を図示するフローチャートである。
【符号の説明】
【００３２】
１１０  イントラネット
１２０  ファイアウォール
１３０  コンピュータ
１６０  イントラネット
１７０  コンピュータ
１８０  中央サーバ
１８５  運用者／管理者用コンピュータ
【図１】
2008520051.tif 000003
【図２】
2008520051.tif 000004
【図３】
2008520051.tif 000005
【図４】
2008520051.tif 000006
【国際調査報告】
2008520051.tif 000007