(57)【特許請求の範囲】
【請求項１】
第１のノードのＰ２Ｐネットワーク参加を検出するための方法であって、
（ａ）  Ｐ２Ｐネットワーク参加を検出するためのシステムが、前記第１のノードのネットワーク・データをモニタするステップと、
（ｂ）  前記ネットワーク・データをモニタする間に、前記システムが、所定の用語に関するサーチ・リクエストをＰ２Ｐネットワークに送信するステップと、
（ｃ）  前記モニタにおいて前記所定の用語が前記第１のノードに伝送されたことが識別された場合に、前記システムが、前記Ｐ２Ｐネットワークにおける前記第１のノードのＰ２Ｐ参加を検出するステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、Ｐ２Ｐ参加が検出された場合に、前記ノードをモニタする責任を有するアドミニストレータに告知するステップを更に含む、方法。
【請求項３】
請求項１記載の方法において、Ｐ２Ｐ参加が検出された場合に、前記第１のノードへのデータ・アクセスを自動的にブロックするステップを更に含む、方法。
【請求項４】
請求項１記載の方法において、Ｐ２Ｐ参加が検出された場合に、前記第１のノードと関連するＰ２Ｐソフトウェアを無効にするステップを更に含む、方法。
【請求項５】
請求項１記載の方法において、前記第１のノードは企業コンピュータ・ネットワーク上に存在する、方法。
【請求項６】
請求項１記載の方法において、前記第１のノードは家庭コンピュータ・ネットワーク上に存在する、方法。
【請求項７】
Ｐ２Ｐネットワーク参加を検出するためのシステムであって、
（ａ）  第１のノードのネットワーク・データをモニタする手段と、
（ｂ）  前記ネットワーク・データをモニタする前記手段が動作している間に、所定の用語に関するサーチ・リクエストをＰ２Ｐネットワークに送信する手段と、
（ｃ）  モニタする前記手段が前記所定の用語が前記第１のノードに伝送されたことを識別した場合に、前記Ｐ２Ｐネットワークにおける前記第１のノードのＰ２Ｐ参加を検出する手段と、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２００５年１１月１５日に出願され「System for Identifying the Presence of Peer-to-Peer Network Software Applications」と題する米国特許仮出願第６０／７３６，７９４号に基づく優先権を主張しており、２００５年４月１２日に出願され「System for Detecting Peer-to-Peer Network Software」と題する米国特許出願第１１／１０３，８１８号の一部継続出願である。これらの米国出願は、その全体をこの出願において援用する。
【０００２】
本発明は、特定のタームをサーチしこれらのターム又は結果的なファイルを検出することにより、コンピュータ・システムがＰ２Ｐネットワークの中にあるかどうか、又は、コンピュータ・システムがＰ２Ｐネットワークに参加する可能性があるかどうかを検出するシステムを提供する。
【背景技術】
【０００３】
ピア・ツー・ピア（Ｐ２Ｐ）ネットワークは、複数のノードを含み、それぞれのノードは、ファイル・サーバとクライアントとの両方から構成されるのが通常であり、これらのファイル・サーバとクライアントとは、それらが接続されているノードとネットワーク上のそれ以外のノードとの間で、データ又は「通信メッセージ」を送受信することができる。一般的なＰ２Ｐネットワーク及びソフトウェア・アプリケーションには、Ｇｎｕｔｅｌｌａ、ＦａｓｔＴｒａｃｋ、Ｅｄｏｎｋｅｙ、ＮｅｏＮｅｔ、Ｋａｚａａ、Ｌｉｍｅｗｉｒｅ、Ｍｏｒｐｈｅｕｓ、Ｂｅａｒ Ｓｈａｒｅ、Ｂｉｔ Ｔｏｒｒｅｎｔ、Ｓｈａｒｅａｚａ、Ｅｍｕｌｅ、Ｆｒｅｅｎｅｔなどがある。
【０００４】
Ｐ２Ｐネットワークでは、それぞれのノードは、インターネットなどの通信メディアを介して他のノードに直接的に又はある種のプロキシを経由して接続される。例えば、サーチ・リクエスト（要求）が出されると、そのような発信元のノードは、それが接続されているノードのすべてにサーチ・リクエストを送信する（図１を参照）。これらのノードは、利用可能なファイルのリストをサーチし、一致が見つかると、位置を伴う応答を返送する。しかし、Ｐ２Ｐプロキシ・ネットワークは、ノードＢに接続されているノードＡと、ノードＣに接続されているノードＢとを含むのが一般的である（図２を参照）。ノードＡはノードＣに接続されていないから、ノードＡがサーチ・リクエストを出すと、そのサーチ・リクエストはノードＢに送られる。ノードＢは、利用可能なファイルをサーチし、一致が見つかると、応答をノードＡに返送する。次に、ノードＢは、ノードＡのリクエストをノードＣに送る。ノードＣは、利用可能なファイルをサーチし、一致が見つかると、応答をノードＢに返送する。すると、ノードＢは、この応答をノードＡに送る。図３には、ノンプロキシ・ループ・ネットワークが開始されており、この場合には、それぞれのノードが相互に直接的に接続されている。
【０００５】
いくつかのＰ２Ｐネットワークは、リーフ（葉）ノード／メイン・ノード・プロキシ・トポロジを用いる（図４を参照）。この場合、いくつかのノードがメイン・ノードとして分類され、残りのノードが、リーフ・ノードとして分類される。リーフ・ノードは、メイン・ノードに接続できるだけである。メイン・ノードだけが、他のメイン・ノードに接続することができる。リーフ・ノードは、サーチ・リクエストを出す場合には、自分自身が接続されているメインノードにリクエストを送信する。すると、メイン・ノードは、そのリクエストを、それ自体に接続されている他の任意のリーフ・ノードに、そして、それ自体が接続されている任意のメイン・ノードにも転送する。これらのメイン・ノードは、それら自体に接続されている任意のリーフ・ノードにリクエストを転送する。
【０００６】
Ｐ２Ｐネットワークは、そのユーザの間でファイルを共有するために用いられる。Ｐ２Ｐネットワークは、著作権のある音楽、映画、電子ブック及びソフトウェアを共有し取得するために一般に用いられるが、他のほとんどすべてのタイプのファイルを共有し取得するのにも用いることができる。Ｐ２Ｐネットワークにアクセスするために、ユーザは、Ｐ２Ｐネットワークに接続してＰ２Ｐネットワークを利用することができるＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールするのであるが、これは、ユーザがインターネット・エクスプローラなどのウェブ・ブラウザをインストールしてワールド・ワイド・ウェブにアクセスするのとほとんど同じようになされる。
【０００７】
従業員が彼らの業務用のＰＣにＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールし、そのＰ２Ｐネットワークを用いて著作権のある作品を取得する場合には、企業及び団体は、その従業員によるＰ２Ｐネットワークの使用によって法的な危険を経験する。Ｐ２Ｐネットワークの使用は、大きなネットワーク帯域幅を消費することが一般的であるが、その理由は、一般に転送されるファイルが大きなソフトウェア及び映画ファイルであるからである。これにより、企業及び組織のコンピュータ・ネットワークに負担をかける。Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールすることが当該企業及び団体における規則違反であっても、従業員がこれらのアプリケーションをインストールするのである。
【０００８】
Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールする場合、ユーザは、彼らのコンピュータ・システムにダウンロードされるファイルを格納するフォルダを選択しなければならない。明確化のために、コンピュータ・システムにおいてファイルを編成するために「フォルダ」が用いられる。「フォルダ」は「ディレクトリ」と称される場合もある。このフォルダに入れられたすべてのファイルは、他のユーザにとっても利用可能になる。このフォルダは、「共有フォルダ」と呼ばれることが多い。例えば、ユーザ＃１（第１のネットワーク・ノード上の）がその共有フォルダに「ｆｏｏｆｉｌｅ」という名のファイルを配置すると、ユーザ＃２（第２のネットワーク・ノード上の）はそのファイルにアクセスして、ファイルをダウンロードすることができる。用いられているＰ２Ｐネットワーク・ソフトウェア・アプリケーションによって、ユーザは、追加的なフォルダを選択して、ネットワーク他のユーザにそれらを利用可能にすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
どのような理由であっても、ユーザは、時には、機密情報又は他人と共有することを望まない情報を含むファイルをそのような共有フォルダとして選択してしまう場合があるし、間違いによって、機密情報又は他人と共有することを望まない情報を事後的に共有フォルダの中に配置してしまう場合がある。通常は、このような行為は、間違いによってなされるし、あるいは、無意識的にユーザによってなされる。しかし、悪意をもった人間又はウイルスによってそのようなことがなされる場合もある。ときには、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションは、ユーザが決して他人との共有を希望しないファイルやフォルダの共有を許可してしまうソフトウェア・バグを含むこともある。情報の意図しない（又は悪意のある）共有は、ユーザやユーザが勤務する企業及び団体や更には国家の安全に対して損害を与えることもありうる。従って、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションがインストールされているコンピュータを見付けるてそのようなアプリケーションを評価し削除することには大きな意味がある。
【００１０】
Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションには数百数千という異なった種類があり、それぞれがそれ独自の属性の組を有している。現在の検出方法は、１）コンピュータ・システムにおいてこれらの異なるＰ２Ｐネットワーク・ソフトウェア・アプリケーションのそれぞれの存在を識別する、又は、２）ハードウェア／ソフトウェア・ベースのインライン・フィルタをコンピュータ・システムとインターネットとの間に配置し、それらのプロトコルを探す、ダウンロード又は帯域幅利用の増大をモニタすることによって、Ｐ２Ｐネットワーク通信を検出することに重点をおいている。
【００１１】
Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションが作成されるにつれて、又は現在のアプリケーションが変化するにつれて、コンピュータ・システムにおいて特定のＰ２Ｐネットワーク・ソフトウェア・アプリケーションの存在を検出すること、又は、企業及び団体のネットワークにおいてＰ２Ｐネットワーク通信をモニタすることは、ますます困難になっている。
【００１２】
コンピュータ・システムにおいてＰ２Ｐネットワーク・ソフトウェア・アプリケーションの存在を識別する方法は、それぞれのＰ２Ｐネットワーク・ソフトウェア・アプリケーションのソフトウェア「ブループリント」を作成し、このブループリントがターゲット・コンピュータ・システムに存在するかどうかをチェックすることを必要とする。ウイルス・スキャン・ソフトウェアも、ウイルスのブループリントが作成されターゲット・コンピュータ・システムにおけるそれぞれのファイルとの間で照合されるという意味で、同様の態様で機能する。ソフトウェア・ブループリントを用いてＰ２Ｐネットワーク・ソフトウェア・アプリケーションを検出するのは、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションが知られていて正確なブループリントが作成されている場合だけに成功する。新たなＰ２Ｐネットワーク・ソフトウェア・アプリケーションが作成される度に、新たなブループリントが作成されなければならない。そして、ソフトウェア・ブループリントの開発の間には、不可避的な保護の遅れが生じてしまう。更に、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションが更新され、新たな開発により変化すると、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションのブループリントは、もはや有効ではなくなる。これにより、企業や団体は裸になってしまう。
【００１３】
インライン・フィルタは、企業及び団体のネットワークにおけるネットワーク通信をモニタし、その通信を既知のＰ２Ｐネットワーク・プロトコルと比較することによって、Ｐ２Ｐネットワークの使用を検出する。プロトコルを比較する方法を用いたＰ２Ｐネットワーク・ソフトウェア・アプリケーションの検出が機能するのは、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションのプロトコルが知られている場合だけである。新たなＰ２Ｐネットワーク・ソフトウェア・アプリケーションが作成される度に、インライン・フィルタが更新又は変更されて新たなプロトコル又はデータを探すことが必要である。更に、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションが新たな開発のために更新又は変更されるときには、インライン・フィルタが用いる比較フィルタはもはや有効でない可能性がある。インライン・フィルタは、ユーザの間での通信が暗号化されるＰ２Ｐネットワークにおいては機能しない。この結果、企業及び団体は、やはり裸になってしまう。
【課題を解決するための手段】
【００１４】
本発明のある１つの側面は、ターゲット・コンピュータにおいて動作しているＰ２Ｐネットワーク・ソフトウェアを検出するシステム及び方法に関係している。ターゲット・ファイルが作成され、前記ターゲット・ファイルが前記ターゲット・コンピュータにおける１又は複数のフォルダに配置される。前記ターゲット・ファイルに対するサーチが、Ｐ２Ｐネットワークにおいて実行される。前記サーチの結果に従い、前記ターゲット・コンピュータにおいてＰ２Ｐソフトウェアが動作していることが検出される。
【００１５】
特定の実施例では、前記ターゲット・ファイルは前記ターゲット・コンピュータにおける複数のフォルダに配置され、オプションであるが、前記ターゲット・ファイルは前記ターゲット・コンピュータを一意的に識別するデータを含む。前記データは暗号化される場合があり、前記ターゲット・コンピュータのＩＰアドレス、前記ターゲット・コンピュータの名前、前記ターゲット・コンピュータのユーザの名前、及び／又は、前記ターゲット・コンピュータのユーザの電子メール・アドレスを含むことがある。前記データは、前記ターゲット・コンピュータをモニタする責任を有するネットワーク管理者又はオペレータによって入力されることがある。この方法／システムは、前記ターゲット・コンピュータにおいて動作するソフトウェアを少なくとも部分的には用いて、あるいは、前記ターゲット・コンピュータとは異なるコンピュータにおいて動作するソフトウェアを少なくとも部分的に用いて、実現されることがある。ターゲット・コンピュータにおいてＰ２Ｐソフトウェアが検出されると、ファイアウォール、侵入検出システム、ルータ又はアプリケーションが、自動的に告知を受けることがある。
【００１６】
別の側面によると、本発明は、第１のノードのＰ２Ｐネットワーク参加を検出するシステム及び方法に関する。前記第１のノードのネットワーク・データが、モニタされる。前記ネットワーク・データをモニタする間に、所定の用語に関するサーチが、Ｐ２Ｐネットワークにおいて実行される。前記モニタにおいて前記所定の用語が前記第１のノードに伝送されたことが識別される場合には、前記Ｐ２Ｐネットワークにおける前記第１のノードのＰ２Ｐ参加を検出される。
【００１７】
特定の実施例では、Ｐ２Ｐ参加が検出される場合には、前記第１のノードをモニタする責任を有するアドミニストレータに告知がなされる。Ｐ２Ｐ参加が検出される場合には、前記第１のノードへのデータ・アクセスのブロックが、自動的になされる。更に、Ｐ２Ｐ参加が検出される場合には、前記第１のノードと関連するＰ２Ｐソフトウェアを、自動的に又は手動により無効にすることができる。
【図面の簡単な説明】
【００１８】
【図１】２ノード型のＰ２Ｐネットワークの単純化された概略である。
【図２】Ｐ２Ｐプロキシ・ネットワークの単純化された概略である。
【図３】Ｐ２Ｐノンプロキシ・ループ・ネットワークの単純化された概略である。
【図４】Ｐ２Ｐリーフ／メイン・ノード・ネットワークの単純化された概略である。
【図５】本発明のある１つの実施例の単純化された流れ図であり、ある１つのファイルが、ターゲット・システムに配置され、Ｐ２Ｐネットワークを介してサーチされる。
【図６】本発明の別の実施例の単純化された流れ図であり、ターゲット・システムとＰ２Ｐネットワークとの間にモニタリング・エージェントが配置されている。Ｐ２Ｐネットワークにおいてサーチが開始され、このモニタリング・エージェントがネットワークに入るサーチを検出するかどうかが確認される。
【発明を実施するための形態】
【００１９】
動作の一部として、Ｐ２Ｐネットワーク上のノードは、他のユーザによってサーチされているアイテムに対するサーチを、当該ネットワークから受け取る。第１のノードがサーチを受け取り一致するアイテムを有している場合には、その第１のノードは、サーチをしているノードに応答を返送する。本発明の１つの実施例では、図６を参照すると、管理者は、モニタリング・エージェントをインストールし、保護することを望んでいるノード又はノード群に向かうターム検出するようにインストールしたモニタリング・エージェントを構成する。このモニタリング・エージェントは、独立のデバイス、ルータ又はファイアウォールに埋め込まれたソフトウェア、若しくはそれ以外のネットワーク・デバイスであり、ネットワーク・データを通過させる、又は、スニッファなどのネットワーク・データをモニタすることができる。このモニタリング・エージェントは、（モニタされている）データを通過させたり、そのコピーを受け取ることができる。次に、管理者は、Ｐ２Ｐネットワークの上でサーチを実行し、これらのタームが保護されたノードのいずれかに送られたかどうかを調べる。そのタームが保護されているノードに送られつつあることがモニタリング・エージェントによって検出される場合には、モニタリング・エージェントは、当該ノードがＰ２Ｐソフトウェアを有していることを管理者に告知する。こうして管理者はこのことを知るのであるが、それは、モニタリング・エージェントがノード向けられたサーチを検出し、従って、当該ノードはサーチを受け取るＰ２Ｐネットワークの一部であるに違いないからである。ノードがＰ２Ｐソフトウェアを有することが検出されると、モニタリング・エージェントは、オプションであるが、管理者が当該ソフトウェアを削除するまで、当該ノードへの送信をすべてブロックするように構成される。また、このモニタリング・エージェントは、ノードがＰ２Ｐソフトウェアを有することが検出されると管理者に通知されるように構成することもできる。このモニタリング・エージェントは、ノードがＰ２Ｐソフトウェアを有することが検出されるとこれらの機能（つまり、ブロッキング／通知）のどちらかを自動的に行うように構成することができる。
【００２０】
図５を参照すると、本発明の１つの実施例は、ソフトウェア・プログラムを用いてターゲット・ファイルを作成し、このターゲット・ファイルを、ターゲット・コンピュータがＰ２Ｐネットワーク・アプリケーション・ソフトウェアを含むかどうか検出する目的でモニタされるターゲット・コンピュータのフォルダに配置する。このターゲット・ファイルは、ターゲット・コンピュータの中の可能な限り多くのフォルダに配置されることが好ましい。その理由は、ターゲット・コンピュータにおける「共有フォルダ」は（存在する限度までであるが）、モニタしている側のアプリケーションに知られていないからである。ターゲット・コンピュータにＰ２Ｐネットワーク・ソフトウェア・アプリケーションがインストールされている場合には、このターゲット・ファイルはＰ２Ｐネットワークの他のユーザと共有されることが可能であり、また、ターゲット・ファイルを求めてＰ２Ｐネットワークで適切なサーチを行うことの結果として、ターゲット・ファイルがモニタしているアプリケーションによって検出される。いったんターゲット・ファイル又はそのデータがＰ２Ｐネットワーク上で検出されると、ターゲット・コンピュータはＰ２Ｐネットワークにある意味で参加しており、ターゲット・コンピュータからＰ２Ｐネットワーク・ソフトウェア・アプリケーションを除去するステップを行うことが可能であると想定できる。企業ネットワークにおいて見られるような複数のターゲット・コンピュータをモニタリング・アプリケーションが保護しているような場合に、本発明によるシステムの長所は顕著である。このシステムは、Ｐ２Ｐクライアント・アプリケーションの不注意による又は悪意によるインストールに対する保護を、家庭でのユーザ又は消費者に提供するのにも用いることができる。
【００２１】
別の実施例では、ソフトウェア・プログラムがターゲット・コンピュータ上で実行される。ソフトウェア・プログラムはターゲット・ファイルを作成する。このターゲット・ファイルはターゲット・コンピュータのフォルダの中に配置される。「共有フォルダ」は知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。ターゲット・ファイルの存在をチェックするために、サーチが、Ｐ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかると（例えば、ファイルをサーチしているノードが、検索することができる）、ターゲットはＰ２Ｐネットワークにある意味で参加しており、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションを除去するステップを行うことが可能であると想定できる。
【００２２】
別の実施例では、ソフトウェア・プログラムがターゲット・コンピュータ上で実行される。ソフトウェア・プログラムはターゲット・ファイルを作成する。このターゲット・ファイル内に含まれているデータは、ターゲット・コンピュータを識別するのに用いることができる情報である。複数のコンピュータ・システムがターゲットになっている場合に、これは有用であり、オプションであるが、サーチを簡単にするために、１つのファイル名が用いられる。ターゲット・ファイルは、ターゲット・コンピュータの複数のフォルダに配置される。各ターゲット・コンピュータ上の「共有フォルダ」が知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。複数のコンピュータ・システムがターゲットになっている場合には、このターゲット・ファイルに含まれているデータは、オプションではあるが各ターゲット・コンピュータに応じて変更される。ターゲット・ファイルの存在をチェックするために、サーチがＰ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかった場合には（例えば、そのファイルをサーチしているノードは、それを検索することができる）、ファイルが取得され、また、対応するターゲット・コンピュータを識別するためにデータが調べられる。
【００２３】
別の実施例では、ソフトウェア・プログラムがターゲット・コンピュータ上で実行される。ソフトウェア・プログラムは、ターゲット・ファイルを作成する。このターゲット・ファイル内に含まれているデータは、ターゲット・コンピュータを識別するのに用いることができる情報である。複数のコンピュータ・システムがターゲットになっている場合に、これは有用であり、オプションであるが、サーチを簡単にするために、１つのファイル名が用いられる。このターゲット・ファイルが含むデータは、そのコンテンツを保護するために暗号化されている。ターゲット・ファイルは、ターゲット・コンピュータの複数のフォルダに配置される。各ターゲット・コンピュータ上の「共有フォルダ」が知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。複数のコンピュータ・システムがターゲットになっている場合には、このターゲット・ファイルに含まれているデータは、オプションではあるが各ターゲット・コンピュータに応じて変更される。ターゲット・ファイルの存在をチェックするために、サーチがＰ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかった場合には（例えば、そのファイルをサーチしているノードは、それを検索できる）、ファイルが取得される。いったんファイルが取得されると、その中に含まれているデータは復号化され、対応するターゲット・コンピュータを識別するために調べられる。
【００２４】
別の実施例では、ソフトウェア・プログラムが、ターゲット・システムのファイル・システムへのアクセスを有するコンピュータ・システム上で実行される。ソフトウェア・プログラムはターゲット・ファイルを作成する。このターゲット・ファイルはターゲット・コンピュータ（つまり、ターゲット・コンピュータがＰ２Ｐネットワーク・アプリケーション・ソフトウェアを含むかどうかを検出する目的でモニタされるコンピュータ）のフォルダの中に配置される。「共有フォルダ」は知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。ターゲット・ファイルの存在をチェックするために、サーチが、Ｐ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかると（例えば、ファイルをサーチしているノードは、それを検索できる）、ターゲットはＰ２Ｐネットワークにある意味で参加しており、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションをターゲット・コンピュータから除去するステップを行うことが可能であると想定できる。
【００２５】
別の実施例では、ターゲット・ファイルは、ターゲット・コンピュータのフォルダの中に配置される。「共有フォルダ」は知られていないので、ターゲット・ファイルはできるだけ多くのフォルダに配置される。ターゲット・ファイルの存在をチェックするために、サーチが、Ｐ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかると（例えば、ファイルをサーチしているノードは、それを検索できる）、ターゲットはＰ２Ｐネットワークにある意味で参加しており、Ｐ２Ｐネットワーク・ソフトウェア・アプリケーションをターゲット・コンピュータから除去するステップを行うことが可能であると想定できる。
【００２６】
別の実施例では、ソフトウェア・プログラムが、１又は複数のターゲット・システムのファイル・システムへのアクセスを有するコンピュータ・システム上で実行される。ソフトウェア・プログラムはターゲット・ファイルを作成する。このターゲット・ファイル内に含まれているデータは、ターゲット・コンピュータを識別するのに用いることができる情報である。複数のコンピュータ・システムがターゲットになっている場合に、これは有用であり、オプションであるが、サーチを簡単にするために、１つのファイル名が用いられる。ターゲット・ファイルは、ターゲット・コンピュータの複数のフォルダに配置される。各ターゲット・コンピュータ上の「共有フォルダ」が知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。複数のコンピュータ・システムがターゲットになっている場合には、このターゲット・ファイルに含まれているデータは、オプションではあるが各ターゲット・コンピュータに応じて変更される。ターゲット・ファイルの存在をチェックするために、サーチがＰ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかった場合には、ファイルが取得され、また、対応するターゲット・コンピュータを識別するためにデータが調べられる。
【００２７】
別の実施例では、ソフトウェア・プログラムが、１又は複数のターゲット・システムのファイル・システムへのアクセスを有するコンピュータ・システム上で実行される。ソフトウェア・プログラムは、ターゲット・ファイルを作成する。このターゲット・ファイル内に含まれているデータは、ターゲット・コンピュータを識別するのに用いることができる情報である。複数のコンピュータ・システムがターゲットになっている場合に、これは有用であり、オプションであるが、サーチを簡単にするために、１つのファイル名が用いられる。このターゲット・ファイルが含むデータは、そのコンテンツを保護するために暗号化されている。ターゲット・ファイルは、ターゲット・コンピュータの複数のフォルダに配置される。各ターゲット・コンピュータ上の「共有フォルダ」が知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。複数のコンピュータ・システムがターゲットになっている場合には、このターゲット・ファイルに含まれているデータは、オプションではあるが各ターゲット・コンピュータに応じて変更される。ターゲット・ファイルの存在をチェックするために、サーチがＰ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかった場合には、ファイルが取得される。いったんファイルが取得されると、その中に含まれているデータは復号化され、対応するターゲット・コンピュータを識別するために調べられる。
【００２８】
更に別の実施例では、ターゲット・ファイルがターゲット・システムに配置され、当該ターゲット・ファイルを求めて、サーチが、Ｐ２Ｐネットワーク上で開始される。ファイルが検出されると、告知がなされる。例えば、ターゲット・コンピュータをモニタする責任を有する管理者には、電子的な通信が送られ、当該ターゲット・コンピュータがＰ２Ｐネットワーク・ソフトウェア・アプリケーションを動作させていることが管理者に連絡される。
【００２９】
更に別の実施例では、ターゲット・ファイルがターゲット・システムに配置される。モニタリング・エージェントが、ターゲット・システムとＰ２Ｐネットワークとの間に配置される。当該ターゲット・ファイルを求めて、サーチが、Ｐ２Ｐネットワーク上で開始される。ファイルがモニタリング・エージェントによって検出されると、告知がなされる。例えば、ターゲット・コンピュータをモニタする責任を有する管理者には、電子的な通信が送られ、当該ターゲット・コンピュータがＰ２Ｐネットワーク・ソフトウェア・アプリケーションを動作させていることが管理者に連絡される。オプションであるが、モニタリング・エージェントは、Ｐ２Ｐソフトウェアを有するノード（すなわち、ターゲット・システム）へのアクセスを自動的に無効にする。
【００３０】
更に別の実施例では、モニタリング・エージェントが、ターゲット・システムとＰ２Ｐネットワークとの間に配置される。特定のタームを求めるサーチが、Ｐ２Ｐネットワークを介して開始される。モニタリング・エージェントは、それ自体が保護するように構成されているノード（例えば、ターゲット・システム）に向かうデータをモニタするように構成されている。特定のタームがモニタリング・エージェントによって検出されると、ターゲット・システムはＰ２Ｐソフトウェアを有していると想定され、当該ターゲット・システムへのアクセスを自動的に無効にする。
【００３１】
更に別の実施例では、モニタリング・エージェントが、ターゲット・システムとＰ２Ｐネットワークとの間に配置される。このモニタリング・エージェントは、それ自体が独立のデバイス、ルータ又はファイアウォールに埋め込まれている、若しくは、ネットワーク・データを通過させるそれ以外のネットワーク・デバイスでありうる。ソフトウェア・プログラムがターゲット・コンピュータにおいて実行される。ソフトウェア・プログラムはターゲット・ファイルを作成する。ターゲット・ファイルは、ターゲット・コンピュータの複数のフォルダの中に配置される。「共有フォルダ」が知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。ターゲット・ファイルの存在をチェックするために、サーチがＰ２Ｐネットワーク上で開始される。モニタリング・エージェントは、当該ファイルに対するサーチ・ストリングを検出すると、ターゲット・コンピュータとの間のトラフィックを自動的にブロックして、ネットワーク・アクセスを遮断する。
【００３２】
更に別の実施例では、モニタリング・エージェントが、ターゲット・システムとＰ２Ｐネットワークとの間に配置される。このモニタリング・エージェントは、それ自体が独立のデバイス、ルータ又はファイアウォールに埋め込まれている、若しくは、ネットワーク・データを通過させるそれ以外のネットワーク・デバイスでありうる。ソフトウェア・プログラムが、１又は複数のターゲット・コンピュータにおいて実行される。ソフトウェア・プログラムはターゲット・ファイルを作成する。このターゲット・ファイル内に含まれているデータは、ターゲット・コンピュータを識別するのに用いることができる情報である。複数のコンピュータ・システムがターゲットになっている場合に、これは有用であり、オプションであるが、サーチを簡単にするために、１つのファイル名が用いられる。このターゲット・ファイルが含むデータは、そのコンテンツを保護するために暗号化されている。ターゲット・ファイルは、ターゲット・コンピュータの複数のフォルダに配置される。「共有フォルダ」が知られていないので、例えば、ターゲット・ファイルはできるだけ多くのフォルダに配置される。複数のコンピュータ・システムがターゲットになっている場合には、このターゲット・ファイルに含まれているデータは、オプションではあるが各ターゲット・コンピュータに応じて変更される。ターゲット・ファイルの存在をチェックするために、サーチがＰ２Ｐネットワーク上で開始される。ターゲット・ファイルが見つかった場合には、ファイルが取得される。いったんファイルが取得されると、その中に含まれているデータは復号化され、対応するターゲット・コンピュータを識別するために調べられる。サーチ側のシステムは、次に、モニタリング・エージェントに告知を行い、モニタリング・エージェントは、識別されたターゲット・コンピュータとの間のトラフィックを自動的にブロックして、ネットワーク・アクセスを遮断する。
【００３３】
更に別の実施例では、企業ネットワークが、ターゲット・ファイルを当該ネットワークに配置されたコンピュータのフォルダの中に配置するか、オプションであるがそれぞれのファイルのファイル名を変更するか、又は、オプションであるがその中に含まれているデータを暗号化するか、によって、保護される。ファイルは、Ｐ２Ｐネットワーク上でサーチされ、ファイルが検出されたら、オプションではあるがダウンロードされる。その後、管理者又はユーザは、通知を受ける。
【００３４】
ある実施例では、本発明は、プロセッサ・ユニットとメイン・メモリと相互接続バスとを含むコンピュータ・システムにおいて実装される。プロセッサ・ユニットは単一のマイクロプロセッサを含む場合と、あるいは、複数のマイクロプロセッサを含んでマルチプロセッサ・システムとして当該コンピュータを構成する場合がある。メイン・メモリは、プロセッサ・ユニットによって実行される命令及びデータの一部を記憶する。本発明によるシステムの機能が全体として又は部分的にソフトウェアにおいて実装される場合には、メイン・メモリは、実行可能なコードを動作中に記憶するのに用いることがある。また、メイン・メモリは、高速メモリに加えて、ダイナミック・ランダム・アクセス・メモリのバンクを含むことがある。
【００３５】
このコンピュータ・システムは、更に、大容量記憶装置、周辺機器、携帯型記憶媒体ドライブ、入力制御デバイス、グラフィックス・サブシステム、及び、出力ディスプレイを含むことがある。コンピュータ・システムは、１又は複数のデータ転送手段を介して接続されることがある。例えば、プロセッサ・ユニットとメイン・メモリとは、ローカル・マイクロプロセッサ・バスを介して接続されうるし、大容量記憶装置、周辺機器、携帯型記憶媒体ドライブ、グラフィックス・サブシステムは、１又は複数の入出力（Ｉ／Ｏ）バスを介して接続されることがある。大容量記憶装置は、磁気ディスク・ドライブ又は光ディスク・ドライブを用いて実現することができるが、プロセッサ・ユニットによって用いられるデータ及び命令を格納する不揮発性記憶装置である。ソフトウェアによる実施例では、大容量記憶装置は、メイン・メモリにロードするソフトウェアを格納する。
【００３６】
入力制御デバイスは、コンピュータ・システムのユーザのためのユーザ・インタフェースの一部を提供する。入力制御デバイスは、英数字及びそれ以外のキー情報を入力する英数字キーパッドや、マウス、トラックボール、スタイラス又はカーソル方向キーなどのカーソル制御デバイスを含む。テキスト及びグラフィカル情報を表示するために、コンピュータ・システムは、グラフィックス・サブシステムと出力ディスプレイとを含む。出力ディスプレイは、陰極線管（ＣＲＴ）ディスプレイ又は液晶ディスプレイを含む。グラフィックス・サブシステムは、テキスト及びグラフィカル情報を受け取り、出力ディスプレイに出力するために情報を処理する。
【００３７】
コンピュータ・システムに含まれている構成要素は、汎用のコンピュータ・システムにおいて典型的に見られるものである。実際、これらの構成要素は、当該技術において周知であるコンピュータの構成要素のカテゴリを表わすことが意図されている。
このシステムは、ハードウェア又はソフトウェアのいずれかにおいて実装可能である。ソフトウェアにおける実装については、ソフトウェアは、汎用のコンピュータ・システムにおける実装のための多くのコンピュータ実行可能な命令を含む。汎用コンピュータ・システムへロードする前に、このシステムは、磁気フロッピ（登録商標）ディスク、磁気テープ、コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）などのコンピュータ可読媒体の上の符号化された情報として存在する。ハードウェアによる実施例の場合には、このシステムは、ここに記述された機能を実行するプロセッサ命令を含む専用のプロセッサを含むことがある。ここに記述された機能を実行する回路を開発される場合もある。
【００３８】
例
以下の例は、本発明によるシステムの様々な実施例を示す。
【００３９】
例１：この例は、特定のターゲット・ファイルを作成し、このターゲット・ファイルをターゲット・コンピュータの複数のフォルダに配置し、Ｐ２Ｐネットワークにおいてこのターゲット・ファイルをサーチすることにより、Ｐ２Ｐソフトウェア・アプリケーションを検出するシステムを示す。
【００４０】
この例では、ユーザは、コンピュータ・システム＃１の上にＰ２Ｐソフトウェア・アプリケーションをインストールしてある。ネットワーク管理者は、このコンピュータ・システムがＰ２Ｐソフトウェア・アプリケーションをインストールされているかどうかを識別したい。ネットワーク管理者は、検出ソフトウェアを実行する。検出ソフトウェアは、「１２３４５６．ｔｘｔ」という名前を有するファイルを作成し、このファイルをコンピュータ・システム＃１のすべてのフォルダに配置する。次に、ネットワーク管理者は、「１２３４５６．ｔｘｔ」を求めて、Ｐ２Ｐネットワークにおいてサーチを行う。ネットワーク管理者は、「１２３４５６．ｔｘｔ」という名前のファイルを見付ける。ここで、ネットワーク管理者は、コンピュータ・システム＃１がＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールしていることを知ることになる。
【００４１】
例２：この例は、特定のデータを有する特定のターゲット・ファイルを作成し、このターゲット・ファイルをターゲット・コンピュータの複数のフォルダに配置し、Ｐ２Ｐネットワークにおいてこのターゲット・ファイルをサーチすることにより、Ｐ２Ｐソフトウェア・アプリケーションを検出するシステムを示す。
【００４２】
この例では、ユーザは、「１９２．１６８．０．１」というＩＰアドレスを有するコンピュータ・システム＃１の上にＰ２Ｐソフトウェア・アプリケーションをインストールしてある。ネットワーク管理者は、このコンピュータ・システムがＰ２Ｐソフトウェア・アプリケーションをインストールされているかどうかを識別したい。ネットワーク管理者は、検出ソフトウェアを実行する。検出ソフトウェアは、「１２３４５６．ｔｘｔ」という名前を有するファイルを作成するが、このファイルのコンテンツはコンピュータ・システム＃１のＩＰアドレスになっている。検出ソフトウェアは、このファイルをコンピュータ・システム＃１のすべてのフォルダに配置する。次に、ネットワーク管理者は、「１２３４５６．ｔｘｔ」を求めて、Ｐ２Ｐネットワークにおいてサーチを行う。ネットワーク管理者は、「１２３４５６．ｔｘｔ」という名前のファイルを見付ける。ネットワーク管理者は、そのファイルを取得してデータを調べる。そのファイルの中のＩＰアドレスは、「１９２．１６８．０．１」である。ここで、ネットワーク管理者は、コンピュータ・システム＃１がＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールしていることを知ることになる。
【００４３】
例３：この例は、特定のデータを有する特定のターゲット・ファイルを作成し、このターゲット・ファイルをターゲット・コンピュータの複数のフォルダに配置し、Ｐ２Ｐネットワークにおいてこのターゲット・ファイルをサーチすることにより、複数のコンピュータ・システムにおいてＰ２Ｐソフトウェア・アプリケーションを検出するシステムを示している。
【００４４】
この例では、ネットワークの上に、次のような５つのコンピュータ・システムが存在する。
【００４５】
１９２．１６８．０．１というＩＰアドレスを有するコンピュータ・システム＃１
１９２．１６８．０．２というＩＰアドレスを有するコンピュータ・システム＃２
１９２．１６８．０．３というＩＰアドレスを有するコンピュータ・システム＃３
１９２．１６８．０．４というＩＰアドレスを有するコンピュータ・システム＃４
１９２．１６８．０．５というＩＰアドレスを有するコンピュータ・システム＃５
ネットワーク管理者は、これらのコンピュータ・システムのいずれかがＰ２Ｐソフトウェア・アプリケーションをインストールされているかどうかを識別したい。１又は複数のユーザが、コンピュータ・システム＃１及びコンピュータ・システム＃３に、Ｐ２Ｐソフトウェア・アプリケーションをインストールしてある。ネットワーク管理者は、それぞれのコンピュータ・システムにおいて検出ソフトウェアを実行する。それぞれのコンピュータ・システムにおける検出ソフトウェアは、「１２３４５６．ｔｘｔ」という名前を有するファイルを作成するが、このファイルのコンテンツは対応するコンピュータ・システムのＩＰアドレスになっている。検出ソフトウェアは、このファイルを対応するコンピュータ・システムのすべてのフォルダに配置する。次に、ネットワーク管理者は、「１２３４５６．ｔｘｔ」を求めて、Ｐ２Ｐネットワークにおいてサーチを行う。ネットワーク管理者は、「１２３４５６．ｔｘｔ」という名前のファイルを見付ける。ネットワーク管理者は、それらのファイルを取得しデータを調べる。ファイル＃１の中のＩＰアドレスは「１９２．１６８．０．１」であり、ファイル＃２の中のＩＰアドレスは「１９２．１６８．０．３」である。ここで、ネットワーク管理者は、コンピュータ・システム＃１とコンピュータ・システム＃３とがＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールしていることを知ることになる。
【００４６】
例４：この例は、特定のデータを有する特定のターゲット・ファイルを作成し、このターゲット・ファイルをターゲット・コンピュータの複数のフォルダに配置し、Ｐ２Ｐネットワークにおいてこのターゲット・ファイルをサーチすることにより、同一のＩＰアドレスを共有するネットワークの複数のコンピュータにおいてＰ２Ｐソフトウェア・アプリケーションを検出するシステムを示している。
【００４７】
この例では、２つの遠隔地にあるオフィス（リモート・オフィス）を含む企業ネットワークが存在する。それぞれのリモート・オフィス・ネットワークは、２つのコンピュータ・システムを有する。それぞれのコンピュータ・システムは、一意的なコンピュータ名を有する。それぞれのリモート・オフィスは、相互に同一であるＩＰアドレス・スキームを用いる。結果的なＩＰアドレスは、次の通りである。
【００４８】
リモート・オフィス＃１のコンピュータ・システム＃１：ＣＯＭＰＡ，１９２．１６８．０．１
リモート・オフィス＃１のコンピュータ・システム＃２：ＣＯＭＰＢ，１９２．１６８．０．２
リモート・オフィス＃２のコンピュータ・システム＃１：ＣＯＭＰＣ，１９２．１６８．０．１
リモート・オフィス＃２のコンピュータ・システム＃２：ＣＯＭＰＤ，１９２．１６８．０．２
１又は複数のユーザが、リモート・オフィス＃１のコンピュータ・システム＃１とリモート・オフィス＃２のコンピュータ・システム＃２とに、Ｐ２Ｐソフトウェア・アプリケーションをインストールしてある。ネットワーク管理者は、いずれかのリモート・オフィスのネットワークにおけるどちらかのコンピュータ・システムがインストールされているＰ２Ｐソフトウェア・アプリケーションを有するかどうかを識別したい。ネットワーク管理者は、両方のリモート・オフィスのネットワークにおけるすべてのコンピュータ・システムにおいて検出ソフトウェアを実行する。それぞれのコンピュータ・システムにおける検出ソフトウェアは、「１２３４５６．ｔｘｔ」という名前を有するファイルを作成するが、このファイルのコンテンツは対応するコンピュータ・システムのＩＰアドレス及び名前になっている。検出ソフトウェアは、このファイルを対応するコンピュータ・システムのすべてのフォルダに配置する。次に、ネットワーク管理者は、「１２３４５６．ｔｘｔ」を求めて、Ｐ２Ｐネットワークにおいてサーチを行う。ネットワーク管理者は、「１２３４５６．ｔｘｔ」という名前のファイルを見付ける。ネットワーク管理者は、それらのファイルを取得しデータを調べる。ファイル＃１の中のＩＰアドレスは、「１９２．１６８．０．１」であり、ファイル＃２の中のＩＰアドレスは、「１９２．１６８．０．２」である。ファイル＃１の中の名前は「ＣＯＭＰＡ」であり、ファイル＃２の中の名前は「ＣＯＭＰＤ」である。ここで、ネットワーク管理者は、リモート・オフィス＃１におけるコンピュータ・システム＃１とリモート・オフィス＃２におけるコンピュータ・システム＃２とがＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールしていることを知ることになる。
【００４９】
例５：この例は、特定のデータを有する特定のターゲット・ファイルを作成し、このデータを暗号化し、このファイルをターゲット・コンピュータの複数のフォルダに配置し、Ｐ２Ｐネットワークにおいてこのファイルをサーチすることにより、複数のコンピュータ・システムにおいてＰ２Ｐソフトウェア・アプリケーションを検出するシステムを示している。
【００５０】
この例では、ネットワークの上に、次のような５つのコンピュータ・システムが存在する。
【００５１】
１９２．１６８．０．１というＩＰアドレスを有するコンピュータ・システム＃１
１９２．１６８．０．２というＩＰアドレスを有するコンピュータ・システム＃２
１９２．１６８．０．３というＩＰアドレスを有するコンピュータ・システム＃３
１９２．１６８．０．４というＩＰアドレスを有するコンピュータ・システム＃４
１９２．１６８．０．５というＩＰアドレスを有するコンピュータ・システム＃５
ネットワーク管理者は、これらのコンピュータ・システムのいずれかがＰ２Ｐソフトウェア・アプリケーションをインストールされているかどうかを識別したい。１又は複数のユーザが、コンピュータ・システム＃１及びコンピュータ・システム＃３に、Ｐ２Ｐソフトウェア・アプリケーションをインストールしてある。ネットワーク管理者は、それぞれのコンピュータ・システムにおいて検出ソフトウェアを実行する。それぞれのコンピュータ・システムにおける検出ソフトウェアは、「１２３４５６．ｔｘｔ」という名前を有するファイルを作成するが、このファイルのコンテンツは対応するコンピュータ・システムのＩＰアドレスになっている。検出ソフトウェアは、このファイルのコンテンツを暗号化する。検出ソフトウェアは、このファイルを対応するコンピュータ・システムのすべてのフォルダに配置する。次に、ネットワーク管理者は、「１２３４５６．ｔｘｔ」を求めて、Ｐ２Ｐネットワークにおいてサーチを行う。ネットワーク管理者は、「１２３４５６．ｔｘｔ」という名前のファイルを見付ける。ネットワーク管理者は、それらのファイルを取得し、データを復号化し、データを調べる。ファイル＃１の中のＩＰアドレスは「１９２．１６８．０．１」であり、ファイル＃２の中のＩＰアドレスは「１９２．１６８．０．３」である。ここで、ネットワーク管理者は、コンピュータ・システム＃１とコンピュータ・システム＃３とがＰ２Ｐネットワーク・ソフトウェア・アプリケーションをインストールしていることを知ることになる。
【００５２】
最後に、この技術分野の当業者であれば、広い発明概念から逸脱することなく、以上で説明した実施例に対して変更を行うことが可能であることを理解するはずである。従って、本発明は開示された特定の実施例には限定されず、特許請求の範囲において定義された本発明の精神及び範囲に含まれる修正に及ぶことが意図されていることが理解されるはずである。
【図１】
0005554766.tif 000002
【図２】
0005554766.tif 000003
【図３】
0005554766.tif 000004
【図４】
0005554766.tif 000005
【図５】
0005554766.tif 000006
【図６】
0005554766.tif 000007