(57)【要約】【課題】分散ネットワーク上で広告を追跡し最適化する方法およびシステムを提供する。【解決手段】  分散ネットワークにおいて広告を追跡し最適化する方法およびシステム。一実施形態では、この方法は、ネットワーク上のユーザからユーザの要求を受信することを含む。この方法は、要求に応答して、識別子を含むファイルをユーザに送信することをさらに含む。識別子は、ファイルに対するユーザの処理を追跡するために使用される。【選択図】図６
2010537281.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のユーザからユーザの要求を受信すること、
前記要求に応答して、識別子を含むファイルをユーザに送信すること、および
前記識別子を使用して、前記ユーザによる前記ファイルの処理を追跡すること
を含む、コンピュータにより実施される方法。
【請求項２】
前記識別子は、前記ユーザによる前記ファイルの処理の結果として販売が行われたか否かを判断するために使用される、請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記識別子は、前記ユーザによる前記ファイルの処理の結果としてウェブサイトが閲覧されたか否かを判断するために使用される、請求項１に記載のコンピュータにより実施される方法。
【請求項４】
前記識別子は、前記ユーザが前記ファイルを実行したか否かを判断するために使用される、請求項１に記載のコンピュータにより実施される方法。
【請求項５】
前記識別子は、後に、前記ユーザが前記ファイルを共有フォルダから削除したか否かを判断するために使用される、請求項１に記載のコンピュータにより実施される方法。
【請求項６】
前記ユーザによる前記ファイルの処理に基づいて、前記ユーザを広告のターゲットとすることをさらに含む、請求項１に記載のコンピュータにより実施される方法。
【請求項７】
前記識別子は、前記ユーザおよび前記要求に対して一意である、請求項１に記載のコンピュータにより実施される方法。
【請求項８】
前記識別子は、前記ユーザが前記ファイルを要求するために提供するクエリを含む、請求項１に記載のコンピュータにより実施される方法。
【請求項９】
前記ユーザに送信される前記ファイルは、前記ユーザを、前記ユーザが前記ファイルを要求するために提供するクエリのパラメータを含むリンクにリダイレクトする、請求項１に記載のコンピュータにより実施される方法。
【請求項１０】
前記ユーザに送信される前記ファイルは、前記ユーザのニックネームをさらに含む、請求項１に記載のコンピュータにより実施される方法。
【請求項１１】
複数の命令を記憶したコンピュータ可読媒体であって、前記複数の命令は、コンピュータにより実行されると、前記コンピュータに、
ネットワーク上のユーザからユーザの要求を受信すること、
前記要求に応答して、識別子を含むファイルをユーザに送信すること、および
前記識別子を使用して、前記ユーザによる前記ファイルの処理を追跡すること
を実行させる、コンピュータ可読媒体。
【請求項１２】
前記識別子は、前記ユーザによる前記ファイルの処理の結果として販売が行われたか否かを判断するために使用される、請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記識別子は、前記ユーザによる前記ファイルの処理の結果としてウェブサイトが閲覧されたか否かを判断するために使用される、請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記識別子は、前記ユーザが前記ファイルを実行したか否かを判断するために使用される、請求項１１に記載のコンピュータ可読媒体。
【請求項１５】
前記識別子は、後に、前記ユーザが前記ファイルを共有フォルダから削除したか否かを判断するために使用される、請求項１１に記載のコンピュータ可読媒体。
【請求項１６】
前記コンピュータは、前記ユーザによる前記ファイルの処理に基づいて、前記ユーザを広告のターゲットとすることをさらに実行する、請求項１１に記載のコンピュータ可読媒体。
【請求項１７】
前記識別子は、前記ユーザおよび前記要求に対して一意である、請求項１１に記載のコンピュータ可読媒体。
【請求項１８】
前記識別子は、前記ユーザが前記ファイルを要求するために提供するクエリを含む、請求項１１に記載のコンピュータ可読媒体。
【請求項１９】
前記ユーザに送信される前記ファイルは、前記ユーザを、前記ユーザが前記ファイルを要求するために提供するクエリのパラメータを含むリンクにリダイレクトする、請求項１１に記載のコンピュータ可読媒体。
【請求項２０】
前記ユーザに送信される前記ファイルは、前記ユーザのニックネームをさらに含む、請求項１１に記載のコンピュータ可読媒体。
【請求項２１】
プロセッサと、
前記プロセッサに結合された、命令を含むメモリと
を備え、
前記命令は、前記プロセッサにより実行されると、前記プロセッサに、
ネットワーク上のユーザからユーザの要求を受信すること、
前記要求に応答して、識別子を含むファイルをユーザに送信すること、および
前記識別子を使用して、前記ユーザによる前記ファイルの処理を追跡すること
を実行させる、コンピュータシステム。
【請求項２２】
前記識別子は、前記ユーザによる前記ファイルの処理の結果として販売が行われたか否かを判断するために使用される、請求項２１に記載のコンピュータシステム。
【請求項２３】
前記識別子は、前記ユーザによる前記ファイルの処理の結果としてウェブサイトが閲覧されたか否かを判断するために使用される、請求項２１に記載のコンピュータシステム。
【請求項２４】
前記識別子は、前記ユーザが前記ファイルを実行したか否かを判断するために使用される、請求項２１に記載のコンピュータシステム。
【請求項２５】
前記識別子は、後に、前記ユーザが前記ファイルを共有フォルダから削除したか否かを判断するために使用される、請求項２１に記載のコンピュータシステム。
【請求項２６】
前記命令は、前記プロセッサにより実行されると、前記ユーザによる前記ファイルの処理に基づいて、前記ユーザを広告のターゲットにすることを前記プロセッサにさらに実行させる、請求項２１に記載のコンピュータシステム。
【請求項２７】
前記識別子は、前記ユーザおよび前記要求に対して一意である、請求項２１に記載のコンピュータシステム。
【請求項２８】
前記識別子は、前記ユーザが前記ファイルを要求するために提供するクエリを含む、請求項２１に記載のコンピュータシステム。
【請求項２９】
前記ユーザに送信される前記ファイルは、前記ユーザを、前記ユーザが前記ファイルを要求するために提供するクエリのパラメータを含むリンクにリダイレクトする、請求項２１に記載のコンピュータシステム。
【請求項３０】
前記ユーザに送信される前記ファイルは、前記ユーザのニックネームをさらに含む、請求項２１に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明の分野は、一般にはコンピュータシステムに関し、より詳細には、分散ネットワーク上の広告を追跡し最適化する方法およびシステムに関する。
【背景技術】
【０００２】
発明の背景
ピアツーピアファイル共有は、中央ネットワーク構造なしでコンピュータ間で情報を交換することができるデータ交換基盤である。ピアツーピアネットワークに接続されたあらゆるマシンは、同様の構造の他のマシンからの情報の要求およびそのようなマシンへの情報の供給の両方を行うクライアント・サーバ機能を含む。このようなネットワークは、いかなる中央管理機関もなく緩く編成される。これにより、任意のユーザがネットワークに接続し、ファイルを共有することができる。任意のユーザが、同様の特徴を有する他のユーザから共有ファイルを要求することもできる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現在、広告は、近代の多くのピアツーピアネットワークにおいて効率的ではない。私的に作られたピアツーピアネットワークでは、広告は、ネットワークの所有者にバナーベースの広告の料金を支払う企業に制限されることが多い。オープンソースにより作られたピアツーピアネットワークでは、広告が許可されないことがある。さらに、広告が許可されている場合であっても、広告は通常、ユーザのニーズまたは望みに向けられていない。この種の広告は、接続の速度低下および時間の無駄に繋がるため、ピアツーピアユーザをイライラさせる。広告主は各広告で金を失い、場合によっては否定的なイメージまたは否定的な注目を受けるため、広告主にとっては逆効果である。ピアツーピアネットワークで共有されるファイルに対するユーザによる処理を追跡し、ネットワークにおいて広告および収益努力（monetization effort）を最適化するために、このようなユーザによる処理についての統計を集める方法もない。
【課題を解決するための手段】
【０００４】
概要
分散ネットワーク上で広告を追跡し最適化する方法およびシステム。一実施形態では、この方法は、ネットワーク上のユーザからユーザの要求を受信することを含む。この方法は、要求に応答して、識別子を含むファイルをユーザに送信することをさらに含む。識別子は、ファイルに対するユーザの処理を追跡するために使用される。
【０００５】
要素の実施および組み合わせの様々な新規の詳細を含め、上記および他の好ましい特徴について、添付図面を参照してより具体的に説明し、特許請求の範囲において指摘する。本明細書において説明される特定の方法およびシステムが、限定ではなく単なる例示として示されることが理解されるであろう。当業者には理解されるように、本明細書において説明される原理および特徴は、本発明の範囲から逸脱せずに、多くの様々な実施形態で具現され得る。
【０００６】
本明細書の一部として包含される添付図面は、現在好ましい実施形態を示し、上に付与された概説および以下に付与される好ましい実施形態の詳細な説明と一緒に、本発明の原理を説明し教示する役割を果たす。
【図面の簡単な説明】
【０００７】
図面の簡単な説明
【図１】一実施形態による非階層式分散ネットワークのノード図を示す。
【図２】一実施形態による階層式分散ネットワークのノード図を示す。
【図３】一実施形態による、非階層式分散ネットワーク内で探索クエリを実行する方法の流れ図を示す。
【図４】一実施形態による、階層式分散ネットワーク内の普通ノードにより実行される探索クエリを実行する方法の流れ図を示す。
【図５】一実施形態による、階層式分散ネットワーク内のスーパーノードにより実行される探索クエリを実行する方法の流れ図を示す。
【図６】一実施形態による、分散ネットワーク内で探索クエリを阻止する本発明の態様を利用するシステムのブロック図を示す。
【図７】一実施形態による、探索結果の操作を通して探索クエリを阻止する方法の流れ図を示す。
【図８】一実施形態によるノードを検疫する方法の流れ図を示す。
【図９】一実施形態によるノードを検疫する方法の一例としてのノード図を示す。
【図１０】一実施形態によるノードを検疫する方法の一例としてのノード図を示す。
【図１１】一実施形態によるノードを検疫する方法の一例としてのノード図を示す。
【図１２】一実施形態によるノードを検疫する方法の一例としてのノード図を示す。
【図１３】一実施形態による、偽装ファイルを介して探索クエリを阻止する方法の流れ図を示す。
【図１４】一実施形態による、ファイル転送減衰（file transfer attenuation）を通して探索クエリを阻止する方法の流れ図を示す。
【図１５】一実施形態による、分散ネットワーク内での不正コピーを阻止する需要ベースの方法の流れ図を示す。
【図１６】一実施形態による、分散ネットワーク内で不正コピーを阻止する需要ベースの方法の好ましい実施形態の流れ図を示す。
【図１７】一実施形態による、被制御ノードを接続する前に分散ネットワーク内で不正コピーを阻止する需要ベースの方法を実行する装置のブロック図を示す。
【図１８】一実施形態による、被制御ノードを接続した後で分散ネットワーク内で不正コピーを阻止する需要ベースの方法を実行する装置のブロック図を示す。
【図１９】一実施形態による、分散ネットワーク上で広告を追跡し最適化するシステムのブロック図を示す。
【図２０】一実施形態による、分散ネットワーク上で広告を追跡し最適化する方法の流れ図を示す。
【図２１】一実施形態による、分散ネットワーク上で広告を追跡し最適化する方法の流れ図を示す。
【図２２】一実施形態による、本システムと併用される例示的なコンピュータアーキテクチャを示す。
【発明を実施するための形態】
【０００８】
詳細な説明
分散ネットワーク上で広告を追跡し最適化する方法およびシステム。一実施形態では、この方法は、ネットワーク上のユーザからユーザの要求を受信することを含む。この方法は、要求に応答して、識別子を含むファイルをユーザに送信することをさらに含む。識別子は、ファイルに対するユーザの処理を追跡するために使用される。
【０００９】
以下の説明では、説明を目的として、本明細書に開示される本発明の様々な概念の徹底した理解を提供するために、具体的な用語が記される。しかし、本明細書に開示される本発明の様々な概念を実施するために、これら具体的な詳細が必ずしも必要ないことが当業者には明らかであろう。
【００１０】
以下の詳細な説明のうちの一部は、コンピュータメモリ内のデータビットに対するアルゴリズムおよび演算の象徴的表現に関して提示される。これらアルゴリズム的説明および表現は、データ処理分野の当業者が、作業の内容を他の当業者に最も効率的に伝えるために使用する手段である。アルゴリズムは、本明細書では、また一般的には、所望の結果に繋がる自己完結式のステップシーケンスと考えられる。ステップは、物理量を物理的に処理するために必要なステップである。必ずしもではないが、通常、これら量は、記憶、転送、結合、比較、および他の様式での処理が可能な電気信号または磁気信号の形態をとる。その時々により、主に一般的に使用されているという理由により、これら信号をビット、値、要素、シンボル、キャラクタ、用語、数等として呼称することが好都合であることが分かっている。
【００１１】
しかし、これらおよび同様の用語のすべてが、適切な物理量に関連付けられるべきであり、これら量に付された便利なラベルにすぎないことを念頭に置かれたい。以下の説明から明らかなように、特に別段のことが記されない限り、説明全体を通して、「処理」、「コンピューティング」、「計算」、「判断」、「表示」等の用語を利用する説明が、コンピュータシステムのレジスタおよびメモリ内の物理（電気）量で表されたデータを処理し、コンピュータシステムメモリ、レジスタ、他のこのような情報記憶装置、送信装置、または表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステムまたは同様の電子コンピューティング装置の動作およびプロセスを指すことが理解される。
【００１２】
本発明は、本明細書における動作を実行する装置にも関する。この装置は、所要目的に向けて特に構築されてもよく、またはコンピュータに記憶されたコンピュータプログラムにより選択的にアクティブ化または再構成される汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、および光磁気ディスク、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、または光学カードを含む任意の種類のディスク、あるいは電子命令の記憶に適する任意の種類の媒体等であるが、これらに限定されないコンピュータ可読記憶媒体に記憶することができ、それぞれコンピュータシステムバスに結合することができる。
【００１３】
本明細書において提示されるアルゴリズムおよび表示は本質的に、特定のいかなるコンピュータまたは他の装置にも関連しない。様々な汎用システムを、本明細書における教示によるプログラムと併せて使用することができ、または必要な方法ステップを実行する専用度の高い装置を構築するほうが好都合であることもある。様々なこれらシステムの必要構造は、以下の説明から明らかになるであろう。さらに、本発明は、特定のいかなるプログラミング言語も参照して説明されていない。本明細書において説明される本発明の教示を実施するために、様々なプログラム言語を使用してよいことが理解されるであろう。
【００１４】
分散ネットワークには、中央機関または管理エンティティがない。ネットワークの各ノードが、ネットワーク作成者により確立される所定のプロトコルに従って、ネットワーク内の他のノードへの接続、切断、および情報共有を自律的に判断する。ファイルおよびドキュメントは、ネットワークのノードに記憶され、ノード間交換を介してネットワーク全体を通して伝搬される。ユーザは、各ノードにおいて探索クエリを使用して、特定のファイルまたはドキュメントを求めてネットワークを探索し、次に、探索結果から、コンテンツをダウンロードまたはストリーミングするホストを選択する。
【００１５】
本発明の様々な態様を説明するために、それぞれタイプＡおよびタイプＢと呼ばれる２つのネットワークが、以下の説明全体を通して例として使用される。
【００１６】
図１は、タイプＡの非階層式分散ネットワーク１００のノード図を一例として示す。このネットワーク構造では、ノードＮ１１〜Ｎ１９等のすべてのノードが等しく扱われる。他方、図２は、タイプＢの階層式分散ネットワーク２００のノード図を一例として示す。この２番目のネットワークには、ノードＮ２０〜Ｎ２８等の普通ノードおよびスーパーノードＳＮ０〜ＳＮ２等のいわゆるスーパーノードがある。普通ノードは、共有するファイルをホストするか、またはホスト可能な、ネットワーク２００に接続されたコンピュータを表す。スーパーノードは、共有するファイルをホストするか、またはホスト可能であるのみならず、普通ノードよりも上位のリソースも有し、一般に、普通ノードの機能に加えて機能を実行する、ネットワーク２００に接続されたコンピュータである。
【００１７】
図３は、ネットワーク１００等のタイプＡの非階層式分散ネットワーク内でファイルまたはドキュメントの探索を実行する方法の流れ図を示す。３０１において、ノード（図１のノードＮ１０等）のユーザが、探索（またはキーワード）文字列を生成することにより探索を開始する場合、そのユーザにより操作されるノード（以下、「クライアントノード」と呼ぶ）は、その探索文字列を受け取り、記録する。システムによっては、要求されているファイルの名称がハッシュされて、鍵またはハッシュ値が得られ、その鍵またはハッシュ値は、照合のために探索文字列内で送出される。
【００１８】
３０２において、クライアントノードは次に、探索文字列を分散ネットワーク内の他のノードに転送する。クライアントノードは、例えば、探索文字列を近傍ノード（すなわち、図１において分散ネットワークソフトウェアを通してノードＮ１０と通信している、ノードＮ１１、Ｎ１２、およびＮ１３等のノード）のうちの１つまたは複数に転送し、近傍ノードが次に、探索文字列を各自の近傍ノード（図１においてノードＮ１３に対するノードＮ１４、Ｎ１５、およびＮ１６等）に転送し、分散ネットワーク全体を通して以下同様のことを続けることによりこれを行い得る。探索文字列の処理、転送、およびクエリ照合結果返信プロセスの厳密な挙動が、分散ネットワークに定義される規則および／またはポリシーに依存することに留意する。
【００１９】
探索文字列を受信した各ノードは、一致を探して各自のファイルリストをチェックし、いかなるクエリ一致の情報も分散ネットワークを通して返信し、３０３において、クライアントノードがクエリ一致の情報を受信する。クエリ一致の情報は、ＵＲＬ等の、ファイルを見つける方法についての情報を含む。各リファレンス（すなわち、ファイルまたはドキュメント）のハッシュ値もクエリ一致内で送信することもできる。すべてのクエリ一致（本明細書では「探索結果」とも呼ばれる）は一般に、クエリが来た経路に沿って返信される。
【００２０】
３０４において、受信されたすべてのクエリ一致が集められ、クライアントノードによりユーザに対して表示画面上に表示される。３０５において、クライアントノードは、ユーザにより示された選択（すなわち、ファイルまたはドキュメント）を受信し、３０６において、選択されたファイルのホストノードとのＰ２Ｐ転送を管理する。例えば、クライアントノードは、ダウンロードに利用可能な選択物のコピーを有するノードとの直接接続を確立することができ、ＨＴＴＰ要求を、選択物を要求しているノードに送信する。ノードは次に、標準ＨＴＴＰ応答で返信することができる。
【００２１】
図４および図５は、ネットワーク２００等のタイプＢの階層式分散ネットワーク内で探索クエリを実行する方法の流れ図を示す。特に、図４は、探索文字列を開始したクライアントノード（図２のノードＮ２０等）により行われる動作を示し、図５は、探索文字列を受信するスーパーノード（図２においてノードＮ２０に接続されたスーパーノードＳＮ０等）により行われる、対応する動作を示す。
【００２２】
これより図４を参照すると、４０１において、ノード（ノードＮ２０等）のユーザが、探索（またはキーワード）文字列を生成することにより探索を開始する場合、そのユーザにより操作されるノード（すなわち、「クライアントノード」）は、その探索文字列を受信して記録する。４０２において、クライアントノードは次に、探索文字列をスーパーノード（ＳＮ０等）に転送し、スーパーノードは次に、図５を参照して説明する活動を実行する。４０３において、クライアントノードは、優先度付き一致リストをスーパーノードから受信し、クライアントノードの表示画面に表示する。４０４において、クライアントノードは、ユーザにより示された選択を受信し、４０５において、図３の３０５を参照して説明した様式と殆ど同じ様式で、選択されたファイルのホストノードとのＰ２Ｐ転送を管理する。
【００２３】
これより図５を参照すると、５０１において、スーパーノードは、クライアントノードから探索文字列を受信し、記録する。５０２において、スーパーノードは、探索文字列を、そのスーパーノードがホストするファイルならびにそのスーパーノードに接続された他のノード（スーパーノードＳＮ０に接続された普通ノードＮ２２およびＮ２１等）で利用可能なファイルを含むファイルリストと突き合わせてチェックして、局所一致リストを生成する。５０３において、スーパーノードは探索文字列を、そのスーパーノードに接続されたスーパーノード（スーパーノードＳＮ０に接続されたスーパーノードＳＮ１およびＳＮ２等）のすべてまたはサブセットに転送する。これらスーパーノードは次に、探索文字列を、それらスーパーノードに接続された他のスーパーノードに転送することができ、以下同様である。但し、探索文字列が転送されるレベル数は、分散ネットワークに定義された規則および／またはポリシーに依存する。
【００２４】
探索文字列を受信した各スーパーノードは次に、一致を探してファイルリストをチェックし、クエリ一致の情報（局所一致リスト）を、分散ネットワークを通して返信し、５０４において、送信元のスーパーノードにより受信される。５０５において、送信元のスーパーノード（すなわち、探索文字列を最初に受信したスーパーノード）は次に、すべての局所一致リスト（それ自体の局所一致リストを含む）から優先度付き一致リストを生成する。この場合での優先度は、例えば、接続速度およびファイルの品質により一般的に行われる。最後に、５０６において、優先度付き一致リストが、探索文字列を発信したクライアントノードに返信される。
【００２５】
分散ネットワークについてのさらなる詳細が、Freenet、GNUtella、およびFastrack等の分散ピアツーピア技術およびプロトコルについての公開情報から見つけることができ、そのような各分散ネットワークの詳細な知識が、本発明の様々な態様を実施する際に有用である。
【００２６】
阻止システム
図６は、分散ネットワーク６０４において不正コピーを阻止するシステム６００のブロック図を示す。複数のソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎは、侵入者として区別されることが略不可能なように、分散ネットワーク６０４のすべての慣習およびポリシーに従うことによりノードとして偽造して、分散ネットワーク６０４内に侵入する。
【００２７】
ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎは、１つまたは複数のコンピュータの個々に割り当てられたポートを通して分散ネットワーク６０４内のノードと通信する１つまたは複数のコンピュータに存在するソフトウェアとして実装される。ポートのＩＰアドレスは、時間の経過に伴い、または何等かの他の様式で可変であるため、分散ネットワーク６０４でのノードの不正偽装としてのソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎの検出およびネットワーク６０４からの駆逐が、阻止されるか、または少なくともかなり難しくなる。
【００２８】
ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎは、例えば、各ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎが分散ネットワーク６０４内の各ノードセットのうちの対応するノードに接続することにより、分散ネットワーク６０４に均等に侵入し得る。この場合、代表的なノードセットは、分散ネットワーク６０４全体の特徴を統計的に推測することができる分散ネットワーク６０４のサブセットである。
【００２９】
ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎが分散ネットワーク６０４に侵入するために使用する一般的なステップは、分散ネットワーク６０４内の他のノードにインターネット接続すること、分散ネットワーク６０４のプロトコルに指定されるように、これら他のノードとハンドシェークまたはログイン手順を実行して、分散ネットワーク６０４のノードとして認識されること、および探索を行い、普通ノードが分散ネットワーク６０４内で慣習的に行う動作を実行しながら、秘密裏に阻止機能も実行することを含む。
【００３０】
さらに、ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎが、分散ネットワーク６０４内でスーパーノードとして偽装した場合、ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎは、ログイン時および／または構成時にスーパーノードであることも分散ネットワーク６０４に通知し、または少なくとも、分散ネットワーク６０４のポリシーに従ってスーパーノードの基準のすべてを満たすように構成されたことを分散ネットワーク６０４に通知する。
【００３１】
上記侵入を実行するには、まず、ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎがインターネット接続することができる、分散ネットワーク６０４内のノードを識別することが有用である。これを行う一方法は、阻止システムにより制御されるノードがまず、分散ネットワーク６０４により提供される、または分散ネットワーク６０４に他の様式で関連するクライアントアプリケーションソフトウェアを通してログインし、ログイン後に分散ネットワーク６０４のノードのアドレスを受信し、そのアドレスを後で使用するためにノードアドレスキャッシュに記憶することにより、普通クライアントとして分散ネットワーク６０４に加わることである。そのノードアドレスは、ログイン時に受信する初期ノードアドレスリスト内、ならびに初期ノードリスト内の１つまたは複数のノードに接続した結果得られる追加のノードアドレスにおいて提供され得る。
【００３２】
ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎの数、分散ネットワーク６０４内の他のノードに報告されるその属性、およびソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎが存在する１つまたは複数のコンピュータの地理的場所は、好ましくは、ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎが分散ネットワーク６０４を通して伝送される所望の割合の探索関連通信を受信するように、分散ネットワーク６０４のノードの数および地理的分布により決定される。
【００３３】
各ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎは、分散ネットワーク６０４内のファイルを要求しているクライアントノードから探索クエリを受信し、それら探索クエリを分散ネットワーク６０４内の他のノードに転送し、それにより、この点に関して普通ノードと全く同じように挙動する。しかし、ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎは、転送された探索クエリから探索結果を受信する場合、対応する探索クエリを受信した経路と同じ経路に沿って返信中の探索結果を渡すのではなく、まず、私設ネットワークを通してソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎに接続されたコンピュータに存在するソフトウェアとして実装されるクエリマッチャ６０２に探索結果を送信する。
【００３４】
クエリマッチャ６０２は、探索結果内の各リファレンスを、保護ファイルのコンテンツ識別コードを含むメタデータを含む各自のデータベース６０３内のエントリと比較する。次に、各ソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎに、そのソフトウェアエージェントからクエリマッチャ６０２が受信した探索結果についての一致が返信される。
【００３５】
コンピュータにソフトウェアとして実装される中央調整機関６０１が、分散ネットワーク６０４内での不正コピーを阻止するように、複数のソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎの活動を調整する。中央調整機関６０１は、私設ネットワークを通して、複数のソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎが、クエリマッチャ６０２から保護ファイルを有する探索結果の一致が返信された場合にとるべき動作を指定する命令を複数のソフトウェアエージェントＳＡ−１〜ＳＡ−Ｎに送信することにより、これを行う。
【００３６】
探索結果の操作
図７は、探索結果の操作を通して探索クエリを阻止する方法の流れ図を示す。７０１において、ソフトウェアエージェントが、図６を参照して説明したように他のソフトウェアエージェントと共にノードを模して、またはノードとして偽装して分散ネットワークに侵入する。このノードは、非階層式ネットワーク内の任意のノードであってもよく、または階層式ネットワーク内のスーパーノードであってもよい。７０２において、ソフトウェアエージェントは、対応する探索文字列を発信したクライアントノードに戻る途中の探索結果を捕捉する。
【００３７】
７０３において、ソフトウェアエージェントは、探索結果内の保護対象ファイル、ドキュメント、および／またはプログラム（本明細書ではまとめて「保護ファイル」とも呼ばれる）を識別する。例えば、ソフトウェアエージェントは、探索結果をクエリマッチャに送信し、図６を参照して上述したようにクエリマッチャから保護ファイルに一致したものを受信することによりこれを行う。
【００３８】
７０４において、ソフトウェアエージェントは、例えば、図６を参照して上述したように、中央調整機関により提供された命令に従って保護ファイルの不正コピーを阻止するように、探索結果を変更する。７０５において、ソフトウェアエージェントは次に、分散ネットワークを通して、変更された探索結果を転送し、それにより、対応する探索文字列を発信したクライアントノードは、変更された探索結果を続けて受信する。
【００３９】
ソフトウェアエージェントは、７０４において、分散ネットワーク内での不正コピーを阻止するように探索結果を変更するために、いくつかの技法のうちの任意の１つまたは複数を利用することができる。しかし、これら技法のすべてにおいて、鍵となる特徴は、分散ネットワーク内のノードに存在し、ノードによりファイル共有に提供されている実際のファイルのいずれも、決して損傷されないことである。技法は、分散ネットワーク内の保護ファイルの不正コピーを阻止するだけである。
【００４０】
７０４において探索結果を変更するこのような一技法は、単純に、探索結果内の保護ファイルと一致するものに対応するリファレンスのすべてまたはサブセットを削除することである。
【００４１】
７０４において探索結果を変更する別の技法は、保護ファイルに一致するものに対応するリファレンスについての情報を、例えば、無効なＩＰアドレス、要求されたコンテンツをホストしないコンピュータのＩＰアドレス、または分散ネットワークのクライアントアプリケーションソフトウェアを走らせてもいないコンピュータのＩＰアドレスを指すように変更することである。
【００４２】
７０４において探索結果を変更する別の技法は、保護ファイルに一致するものに対応するリファレンスについての情報を、各ホストノード（すなわち、探索結果内で、ファイル共有に利用可能な保護ファイルとして識別されたノード）上の代替のファイルを指すように変更することである。この場合での代替のファイルの選択は、非保護ファイル（すなわち、ソフトウェアエージェントによる保護対象ではないファイル、ドキュメント、またはプログラム）をランダムに、または非ランダムに選択することにより行うことができる。
【００４３】
７０４において探索結果を変更する別の技法は、保護ファイルに一致するものに対応するリファレンスについての情報を、被制御ノードに存在する１つまたは複数の代替のファイルを指すように変更することである。代替のファイルの選択は、指される代替のファイルが保護ファイルではない限り、被制御ノード上のファイルをランダムに、または非ランダムに選択することにより行うことができる。被制御ノードは、中央調整機関６０１により制御されるソフトウェアエージェントまたは別のノードであってよい。
【００４４】
この場合、ノードは制御されるため、指される代替のファイルの形態および／または内容に柔軟性がある。例えば、代替のファイルは、合成デコイ（decoy）または自由に配信可能な別のファイル、または保護ファイルの権利管理されたもの（すなわち、デジタル権利管理システムに対応させる制御メカニズム（control）および／または特徴が追加されたもの）であり得る。
【００４５】
デコイファイルの合成
デコイは、保護ファイルの替え玉になるために使用される。特に、デコイとは、ファイル名およびメタデータ等の属性が、替え玉の元であるファイルと同じであるが、異なる内容を有するファイルである。しかし、デコイにより提供されるハッシュ値は一般に、実際の内容に一致するが、替え玉の元のファイルの内容には一致しない。以下に、保護されるオーディオ、ビデオ、アプリケーション、イメージ、およびドキュメントファイルの替え玉になるデコイをアルゴリズム的に合成する方法について説明する。
【００４６】
すべてのファイルタイプについて、合成デコイのタイトルは、保護ファイルのタイトルからの単語および語句を組み合わせてランダムに順序替えしたものである。マウスが上に配置されたときに表示されるファイルの属性（mouse over property）はタイトルと同じである。
【００４７】
オーディオファイルの場合、内容は白色雑音またはコピー防止メッセージであることができる。ＭＩＭＥタイプは、オーディオに一般に使用されるタイプ（ｗａｖｅまたはａｉｆｆ等）のうちの１つからランダムに選択される。ファイル長は、ネットワーク上のファイルの既知のインスタンスのサイズ範囲に対応する範囲からランダムに選択される。
【００４８】
ビデオファイルの場合、内容はスノーノイズまたは白色雑音である。ＭＩＭＥタイプは、ビデオに一般に使用されるタイプ（ｍｐｅｇ、ａｖｉ、またはｑｕｉｃｋｔｉｍｅ等）のうちの１つからランダムに選択される。ファイル長は、ここでも、ネットワーク上のファイルの既知のインスタンスのサイズ範囲に対応する範囲からランダムに選択される。
【００４９】
アプリケーションの場合、内容は、実行されると単純に終了する「動作なし」またはＮＯＰ実行可能ファイル（executable）である。タイプは、一般に使用されるタイプ（ＺＩＰ等）のうちの１つからランダムに選択される。
【００５０】
イメージファイルの場合、内容は、スノーノイズまたは海賊版撲滅文である。ＭＩＭＥタイプは、イメージに一般に使用されるタイプ（ｊｐｇ、ｔｉｆ、またはｇｉｆ等）のうちの１つからランダムに選択される。色深度および解像度もランダムに選択される（例えば、１６００×８００解像度、１６ビット色深度）。
【００５１】
ドキュメントの場合、内容は白紙であり、ＭＩＭＥタイプは、ドキュメントに一般に使用されるタイプ（ｚｉｐ、ｐｄｆ、ｄｏｃ、ｐｐｔ、ｒｔｆ、またはｈｔｍｌ等）のうちの１つからランダムに選択される。
【００５２】
単なる一例として、MadonnaのRay of Lifeトラックの保護オーディオファイルのアルゴリズム的に合成されたデコイは、Ray of Life Track by Madonnaというタイトルを含むことができる。しかし、ファイルの内容は白色雑音だけであることができる。ＭＩＭＥタイプは、ｍｐ３（または一般的なオーディオＭＩＭＥタイプの任意のもの）であることができ、オーディオファイルの長さは３．５分間であることができる。マウスをデコイ上に配置すると、保護ファイルのタイトルに厳密に一致するファイルタイトルが表示される。
【００５３】
７０４において探索結果を変更することに加えて、またはそれに代えて、本発明の阻止システムは、分散ネットワークにおいて不正コピーを阻止する他の活動を実行することもできる。
【００５４】
ノード検疫
１つのこのような活動はノード検疫であり、検疫されるノードが、例えば、中央制御機関６０１によりソフトウェアエージェントで包囲される。ノード検疫を使用して、ファイル共有に提供された保護ファイルを有すると識別されたノードを、分散ネットワーク上の他のノードから「不可視」にするか、そのファイル共有活動を制限することにより、分散ネットワークから事実上消去することができるが、完全には消去されないため、そのノードの、分散ネットワーク内の他のノードとの非保護ファイル共有を許しながら、保護ファイルの不正コピーを阻止する。
【００５５】
図８は、ノードを検疫する方法の流れ図を示し、図９〜図１２は、ノード図を使用してこの方法の単純なステップ毎の例を示す。８０１において、検疫対象のノードＣを識別した後、そのノードから、直に隣接するノードＮ１およびＮ２のリストが得られる（図９）。８０２において、ソフトウェアエージェントＳＡ１が、近傍ノードＮ１およびノードＣに接続される（図１０）。８０３において、近傍ノードＮ１がノードＣから切断される（図１１の左側）。
【００５６】
分散ネットワークの能力およびプロトコルに応じて、近傍ノードＮ１は、以下のようないくつかの異なる技法のうちの任意の技法を使用して切断することができる。すなわち、
１）「ノードＣから切断」メッセージをノードＮ１に発行するか、またはこの逆を行うこと、
２）「ネットワークから切断」メッセージをノードＮ１に発行すること、
３）ノードＮ１が現在、切断中であることを示すメッセージを、発信元を近傍ノードＮ１と偽装してノードＣに発行するか、またはこの逆を行うこと、
４）ノードＮ１とノードＣとで合意した接続プロトコルに違反するメッセージをノードＮ１に発行し、それにより、ノードＮ１が接続を放棄するように促すか、またはこの逆を行うこと、
５）ノードＣの容量または割り当て分の直に隣接するノード数を超えるように、非常に多数のソフトウェアエージェントをノードＣに接続し、それにより、ノードＮ１が切断されるまで、ノードＣが直に隣接するノードのうちの１つまたは複数から切断するように促すこと、
６）ノードＣの容量または割り当て分の直に隣接するノード数を超えるように、非常に多数のソフトウェアエージェントをノードＣに接続し、それにより、ノードＮ１がノードＣから切断されるまで、ノードＣが、直に隣接するノードのうちの１つまたは複数の接続を単一の隣接ノードに移すように促すこと、
７）ノードＮ１へのノードＣのポート、ソケット、または接続を、一時停止、対応して動作、または他の様式で処理しなければならないメッセージまたは要求で攻撃することにより、その容量よりも大きな負荷をかけること、あるいは
８）ノードＮ１で実行中の、分散ネットワークのクライアントソフトウェアアプリケーションまたは土台をなすクライアントオペレーティングシステムの既知の欠陥（例えば、スタックオーバーラン）を利用することにより、Ｎ１を分散ネットワークから完全に消去または切断すること
である。
【００５７】
この最後の切断技法に関して、普及している大規模分散ネットワークの大半のソフトウェアクライアントについて、このようなバグの文書が、短期間ではあるが、パブリックドメインで入手可能なことに留意する。
【００５８】
８０４において、本方法は、検疫対象のノードに直接接続された隣接ノードがまだあるか否かを判断する。この例では、答えは肯定であり、したがって、方法は８０２にループして戻り、別のソフトウェアエージェントＳＡ２が隣接ノードＮ２およびノードＣに接続される（図１１の右側）。８０３において、隣接ノードＮ２が、検疫対象のノードから切断される（図１２）。次に、ここでも、８０４において、方法は、検疫対象のノードに接続されている別の近隣ノードがあるか否かを判断する。しかし、今度の答えは否定であり、したがって、方法は終了する。
【００５９】
ファイルなりすまし
分散ネットワーク内での不正コピーを阻止する別の活動は、ファイルなりすましである。例えば、図１３は、ファイルなりすましを通して分散ネットワーク内の不正コピーを阻止する方法の流れ図を示す。１３０１において、図６を参照して説明したように、ソフトウェアエージェントが、他のソフトウェアエージェントと共に、ノードに似せて、またはノードに偽装して分散ネットワークに侵入する。この場合、このノードは、非階層式分散ネットワーク内または階層式分散ネットワーク内のいかなる種類のノードであってもよい。１３０２において、ソフトウェアエージェントは、分散ネットワーク内で他のノードと全く同じように探索文字列を受信し、１３０３において、探索文字列を満足させる保護ファイルとの一致を、分散ネットワーク内の一致の中でも一番の選択またはソースとして適格な属性と共に報告する。
【００６０】
１３０４において、ソフトウェアエージェントは、報告した一致のうちの１つに対する要求を受信し、１３０５において、実際に要求されたファイルではなく代替のファイルを送信する。この場合、代替のファイルは、合成デコイファイル、だましファイル、自由に配信可能なファイル、または一致した保護ファイルの権利管理されたものであり得る。
【００６１】
ファイル転送減衰
分散ネットワーク内で不正コピーを阻止する別の活動は、ファイル転送減衰である。例えば、図１４は、ファイル転送減衰を通して分散ネットワーク内での不正コピーを阻止する方法の流れ図を示し、図中、１４０１〜１４０４は、１３０１〜１３０４を参照して説明した様式と同じ様式で実行される。しかし、１４０５において、代替のファイルを送信することに加えて、この方法は、送信レートが低速で開始され、ダウンロードが進むにつれて、送信レートが遅くなるように、送信を減衰させる。送信レートがかなり遅くなるときには、ファイルを要求しているクライアントノードのユーザはファイルの大半を取得済みであるため、その時点でダウンロードをキャンセルすることに気が乗らない。しかし最終的に、送信レートは、ユーザが恐らくダウンロードの進行状況に関して極度の不満を感じるようになり、結果として、その時点でダウンロードをキャンセルするような程度まで遅くなる。この場合、ダウンロードは時間切れにならないため、送信を終了するには、ユーザがダウンロードを明示的にキャンセルしなければならない。あるいは、送信は、ファイルの９５％等の特定の割合分が送信された後、自動的に終了することもできる。
【００６２】
分散ネットワーク内で不正コピーを阻止する別の活動は、ハッシュだまし（hash spoofing）である。ハッシュだましの形態は、ここで別個に説明されるが、図７を参照して説明した探索結果変更方法ならびに図１３を参照して説明したファイルなりすまし方法に使用することも可能である。
【００６３】
ハッシュだまし
階層式であるか、または非階層式であるかに関わらず、大半の分散ピアツーピアファイル共有ネットワークでは、一意の各ファイルに、内容を一意に識別する識別コードが与えられる。一般に、このコードは、暗号ハッシュアルゴリズム（ＭＤ−４、ＭＤ−５、ＳＨＡ−１、ＳＨＡ−６４等）を通して生成される、ファイルの内容のすべてまたはサブセットのハッシュ値である。このハッシュメカニズムは、完了前に何等かの理由で中断されたダウンロードの再開に役立つために、またはファイルダウンロードの信頼性および速さを大幅に向上するために使用できるマルチソースダウンロードのために、いくつかの分散ネットワークにより使用される。
【００６４】
クライアントノードは、分散ネットワーク上で探索文字列を送出し、探索結果をそれぞれのハッシュと共に取得する。クライアントノードのユーザがダウンロードしたいファイルは、同一のハッシュから明らかなように、分散ネットワーク内の２つ以上のノード上に存在し得る。クライアントノードは、何等かの理由によりダウンロードが中断された場合、同一のハッシュ値により識別されるファイルを有する別のノードを見つけ、そのときにそのノードからファイルの残りをダウンロードすることにより、後にダウンロードを再開する恐れがある。さらに、クライアントノードが、分散ネットワーク上の多くのソースを使用してファイルをダウンロードしたく、これらソースのすべてが全く同じ内容（同じハッシュ値から明らかなように）を有することが分かる場合、クライアントノードは、ファイル内容をセグメントに分割し、各ソースから小さなセグメントを要求する恐れがある。
【００６５】
ダウンロードが完了すると、クライアントノードは、探索結果内で与えられたハッシュが、ダウンロードされたファイルコンテンツを使用して計算されたハッシュと同一であることを確認することができる。これら２つが一致する場合、ダウンロードは成功した。他方、これら２つが一致しない場合、ダウンロードされたファイルは破損していると言え、クライアントノードは、そのファイルを自動的に削除するか、または破損とフラグを付け、そのファイルをどうするかユーザに尋ねる。
【００６６】
ハッシュだましは、このような中断／再開およびマルチソースダウンロードが分散ネットワークで使用されている場合に、不正コピーを阻止するために使用することができる。図７を参照して説明した阻止方法では、ソフトウェアエージェントは、保護すべきファイルのリンク（またはアドレス）を、存在しないファイルへのリンクと共に、分散ネットワーク内のいずれのファイルにも対応しない報告ハッシュ値で置換するか、またはなりすましファイルへのリンクと共に、リンクが置換されているファイルのハッシュに一致する報告ハッシュ値で置換するように、探索結果を変更することができる。最初の事例では、クライアントノードは、存在しないファイルを見つけようとするが、ファイルは存在しないため、成功しない。クライアントノードは、ダウンロードする、存在しないファイルと同じハッシュ値を有する他のファイルを見つけようともし得るが、そのハッシュ値に対応するファイルは分散ネットワーク内にないため、決して見つけることはできない。
【００６７】
２番目の事例では、ソフトウェアエージェントが保護ファイル、またはマルチソースダウンロードの場合には保護ファイルのセグメントに対する要求を受信した場合、なりすましファイルまたはその部分が、要求されたファイルまたはファイルのセグメントの代わりに送信される。クライアントノードが、ファイルのダウンロード、またはマルチソースダウンロードの場合にはソースからのすべてのセグメントのダウンロードを完了した後、ハッシュが計算され、そのときに、なりすましファイルまたはそのセグメントのハッシュ値は報告されたハッシュ値と異なるため、不一致が検出される（すなわち、ファイルは間違いを含むことになる）。
【００６８】
マルチレベルおよび／または需要ベースの阻止
本明細書において説明される阻止方法のすべてを同時に実行して、効果を最大化することが可能であるが、このような手法は、システムリソースの非効率的な使用であると共に、コスト／恩益の観点から商業的に非実用的であり得る。さらに、阻止方法により、特定の状況下で最も有利であるものや、他の状況で最も有利なものがあり得る。
【００６９】
例えば、一般に使用される１つの阻止手法は、分散ネットワークを保護ファイルのデコイで溢れさせることである。この手法は、保護ファイルに対する大きな需要がある場合に非常に有効であり得る。しかし、これは、保護ファイルに対する需要が小さい場合には、システムリソースの無駄になる恐れもある。その理由は、事実上、ネットワークをデコイで溢れさせるために、分散ネットワーク内でダウンロード用のデコイを提供する多数の被制御ノードを提供しなければならず、この手法が容易にスケーリングできなくなるためである。
【００７０】
逆に、探索結果操作等の本明細書において説明される阻止手法のいくつかは、容易にスケーリング可能であるため、保護ファイルに対する需要が小さい場合であっても非常に費用効率的である。これら手法は、個々のファイルに対する需要が目録内でかなりばらつき得る多数の目録の保護ファイルを保護するために特に有用である。したがって、特定の状況下で１つまたは複数の阻止技法を使用し、他の状況下では他の阻止技法を使用するマルチレベルおよび／または需要ベースの手法の、分散ネットワーク内での保護ファイルの不正コピーを費用効率的に阻止することにおける有用さを容易に理解することができる。
【００７１】
図１５は、例として、分散ネットワーク内での不正コピーを阻止するマルチレベルおよび／または需要ベースの方法に対する一般的な手法を示す。１５０１において、第１レベルの阻止が実行されて、分散ネットワーク内での保護ファイルの不正コピーを阻止する。１５０２において、第１レベルの阻止を実行中、トリガイベントが検出される。トリガイベントは、第１の阻止レベルを通して保護される対象のファイルを示す、分散ネットワークノードの１つに返信中の探索結果の数、または第１レベルの阻止を通して保護される対象のファイルを示す、ノードから発信された探索クエリ数に関連し得る。１５０３において、第２レベルの阻止は、トリガイベントの検出に応答して実行される。第２レベルの阻止は、第１レベルの阻止において実行されるタスクに加えて、またはそれに代えて実行されるタスクを含み得る。２つのみのレベルの阻止がこの特定の例では示されるが、異なるトリガイベントによりそれぞれ始動する追加のレベルの阻止を追加可能なことを理解されたい。
【００７２】
図１６は、例として、分散ネットワーク内での不正コピーを阻止する特定の好ましいマルチレベルおよび／または需要ベースの方法を示す。１６０１において、フィルタラ（filterer）モジュールが、分散ネットワーク内でノードになりすましたソフトウェアエージェントと共に、またはその部分として実行され、図７を参照して説明したような探索結果操作を実行する。
【００７３】
１６０２において、ソフトウェアエージェントは、探索結果操作を実行する間、トリガイベントを検出する。この場合のトリガイベントは、保護ファイルが、分散ネットワークのノードの１つに返信中の探索結果内で参照される回数に関連する。より詳細には、トリガイベントは、その回数が、ソフトウェアエージェントにプログラムされるか、または提供される閾値回数を超える場合に検出される。
【００７４】
１６０３において、ソフトウェアエージェントと共に、またはソフトウェアエージェント内に含まれるフラッダ（flooder）モジュールが、１６０２において識別されたノードを保護ファイルのデコイで溢れさせるようにアクティブ化される。これは、分散ネットワーク全体を対象とする従来のフラッドではなく、分散ネットワークの特定のノードを対象とした選択的なフラッドであることに留意する。無闇なフラッドではなく、選択的なフラッド、すなわち的を絞ったフラッドであるため、これが、システムリソースの利用に関してはるかに効率的な阻止手法であることを理解されたい。
【００７５】
図１７および図１８は、例として、階層式分散ネットワーク内の動作１６０１〜１６０３を示す。まず図１７を参照すると、ソフトウェアエージェント「ＳＮＦ」が、分散ネットワーク内のスーパーノードとして偽装しながら、１６０１を参照して説明されるようなフィルタラ（filterer）のタスクを実行して、探索クエリに関連する分散ネットワーク内の通信を阻止する。
【００７６】
ソフトウェアエージェント「ＳＮＦ」は、阻止タスクの実行中、図６を参照して説明したように、クエリマッチャ６０２と対話することにより、通信内の保護ファイルへのリファレンスを識別する。保護ファイルの１つへのリファレンスが、分散ネットワーク内のその他のスーパーノードの１つについての閾値回数を超える回数の場合、トリガイベントがソフトウェアエージェント「ＳＮＦ」により検出される。本例では、スーパーノード「ＳＮ１」がトリガイベントに関連するものとして識別されたと仮定する。
【００７７】
これより図１８を参照して、トリガイベントの検出に応答して、ソフトウェアエージェント「ＳＮＦ」と共に含まれるか、またはＳＮＦ内に含まれるフラッダモジュールがアクティブ化される。フラッダモジュールは、例えば、普通ノードとして、ダウンロードに利用可能な保護ファイルの１つまたは複数のデコイをそれぞれ有する、被制御ノード「ＣＮ４」等の１つまたは複数の被制御ノードをスーパーノード「ＳＮ１」に接続することにより、識別されたスーパーノード「ＳＮ１」を保護ファイルのデコイで溢れさせる。これらノードが、ソフトウェアエージェント「ＳＮＦ」により制御されるか、またはＳＮＦと共通の制御下にあるため、被制御ノードと呼ばれることに留意する。
【００７８】
１６０１〜１６０３を続けてループして適用することにより、ソフトウェアエージェント「ＳＮＦ」は、トリガイベントにより、スーパーノードおよび保護ファイルが選択的なフラッドにより提供される追加の保護が必要なものとして識別された後、分散ネットワーク内の任意のスーパーノードを選択的に、保護ファイルの目録内の任意の保護ファイルのデコイで溢れさせることができる。図示されていないが、トリガイベントがもはやトリガされていない場合（すなわち、保護ファイルを識別し、所与のスーパーノードに関連する通信内に含まれるリファレンスが閾値回数未満になった回数の場合）、選択的なフラッドが停止される逆の手順を使用してもよい。
【００７９】
本明細書において説明される複数のソフトウェアエージェント、中央調整機関、およびクリエマッチャを使用して、分散ネットワーク内での不正コピーを阻止するさらに他の技法も容易に思い付くことができ、完全に本発明の全範囲内にあると考えられる。
【００８０】
広告の追跡および最適化
本発明の一実施形態は、分散ネットワーク上での広告の追跡および最適化に関する。より詳細には、本発明の一実施形態は、ピアツーピアネットワーク等の分散ネットワーク上での収益努力の効率を追跡し、分散ネットワーク上のユーザに関する情報を使用して、収益の生成を最大化するように収益努力をさらに最適化するシステムおよび方法を提供する。
【００８１】
図１９は、分散ネットワーク上で広告を追跡し最適化する例示的なシステムを示す。阻止器１９０２は分散ネットワーク６０４に結合される。阻止器１９０２は、分散ネットワーク６０４上でのユーザ探索を受信し、アップローダ１９０４内で見つかった、ユーザ探索クエリに一致する１つまたは複数のファイルを返すように構成される。ＩＤ埋め込み器１９０６は、アップローダ１９０４内に記憶されたファイルに識別子を埋め込むように構成される。タイトル処理サーバ１９０８も分散ネットワーク６０４に結合される。分散ネットワーク６０４上のユーザが、阻止器１９０２により提供されるファイルを実行した場合、タイトル処理サーバ１９０８は、ファイル内に埋め込まれた識別子を検索し、埋め込まれた識別子を広告サーバ１９１０に提供するように構成される。広告サーバ１９１０も分散ネットワーク６０４に結合され、検証サーバ１９１２が、ファイルが、分散ネットワーク６０４内の阻止システム以外のノードではなく、阻止システムから直接ダウンロードされたことを検証した場合、埋め込まれた識別子に一致する広告をユーザに提供するように構成される。
【００８２】
図２０および図２１は、分散ネットワーク上での収益を追跡し最適化することができる例示的なプロセスを示す。２００２において、分散ネットワーク６０４上のユーザが、「Britney Spears poster（ブリトニースピアーズポスター）」等のクエリを使用することにより、分散ネットワーク６０４上のコンテンツを探索する。２００４において、阻止器１９０２が、クエリ内で使用されている単語を探索し、アップローダ１０４内で見つかり、ＩＤ埋め込み器１９０６により供給された埋め込み識別子を有するファイル名を返す。例えば、埋め込み識別子は、クエリパラメータ「23456 Britney%20Spears%20Poster」であり得る。２００６において、アップローダ１９０４から検索されたファイルがユーザに提供された後、ユーザは、例えば、ファイル内のリンクをクリックすることによりファイルを実行する。２００８において、ユーザがファイルを実行した（例えば、リンクがクリックされ、ウェブサイトが閲覧された）後、埋め込み識別子はタイトル処理サーバ１９０８に提供される。２０１０において、タイトル処理サーバ１９０８が、ユーザのクエリに一致する広告について広告サーバ１９１０に問い合わせる。本発明の一実施形態では、ユーザに送信されるファイルは、ユーザを、ユーザがファイルを要求するために提供したクエリのパラメータを含むユニフォームリソースロケータ（「ＵＲＬ」）にリダイレクトするように構成される。
【００８３】
２１０２において、タイトル処理サーバ１９０８は、ユーザを識別する情報、ユーザコンピュータのＩＰアドレス、ユーザが要求した広告タイトルを検証サーバ１９１２に送信する。２１０４において、検証サーバ１９１２は、ユーザが元々、ファイルを分散ネットワーク６０４上の阻止システムからダウンロードしたのか、別のノードからダウンロードしたのか、またはユーザからダウンロードしたのかを判断する。ファイルが元々、阻止システムからダウンロードしていなかった（すなわち、第２の伝搬の）場合、完全な広告付きコンテンツはユーザに提供されなくてよい。したがって、２１０６において、検証サーバ１９１２により、ファイルが阻止システムから直接ダウンロードされたと判断された場合、広告サーバ１９１０は、ターゲット広告をユーザに送信する。２１０８において、ユーザは、広告されたコンテンツを購入するか否かを判断する。ユーザが広告されたコンテンツの購入を決定した場合、２１１０において、ユーザが購入したタイトルを反映した統計が更新される。ユーザが、広告されたコンテンツを購入しないと決定した場合、２１１２において、タイトルがユーザにより購入されなかったことを反映した統計が更新される。
【００８４】
本発明の一実施形態では、ファイル内に埋め込まれた識別子は、ユーザおよび／またはユーザのファイル要求に対して一意である。例えば、ユーザの分散ネットワーク６０４上のユーザ名を、ユーザに提供されるファイル内に埋め込むことができる。このようにして、本発明の一実施形態では、分散ネットワーク６０４上のユーザの挙動を追跡することができる。追跡可能な考えられるユーザ挙動は、特に、１）ユーザがファイルを見つけた分散ネットワーク、２）ユーザが使用した厳密な探索基準、３）ユーザがファイルを見つけた日時、４）ユーザの地理的場所（例えば、ユーザコンピュータのＩＰアドレスを使用して）、５）ユーザの接続の種類およびそのおおよその速度、６）ユーザが共有しているファイル数を含めた、ユーザの分散ネットワークの使用についての統計、および７）ユーザの共有ファイルを閲覧する能力である。埋め込み識別子を使用して、本発明の実施形態は、１）ユーザがダウンロードを完了するためにかかった時間、２）ユーザがいつファイルをクリックして実行したか、３）その後、ユーザが何をしたか（例えば、販売、行動、ウェブサイト閲覧等）、および４）例えば、ユーザが共有フォルダからダウンロードファイルを削除したか否かを調べるために、後にユーザの共有ファイルを閲覧するユーザの能力を追跡することもできる。ユーザ毎に入手可能なこれら統計を使用して、本発明の実施形態では、広告のターゲットとする最良のユーザを検出することができる。例えば、統計により、ユーザＡがユーザＢよりも最終行動または販売を実行する確率が高いことが示される場合、本発明の一実施形態では、広告のターゲットとしてユーザＢよりもユーザＡに高い優先度を付与することができる。
【００８５】
本発明の一実施形態は、分散ネットワーク上での収益努力の最適化も提供する。例えば、共有する広告タイトル、共有する広告タイトル数、広告タイトル毎にアップロード可能な接続数および帯域幅、ならびに所与のユーザが所与の広告タイトルをダウンロードできる帯域幅等のいくつかの測定基準を調整し、最適化することができる。分散ネットワーク６０４上でどのタイトルを共有するかを決定するために、分散ネットワーク６０４上で送信されているユーザクエリならびにクエリ結果が、広告サーバ１９１０に記憶されている広告インベントリと突き合わせて照合される。最高数のユーザクエリおよびクエリ結果に一致するタイトルが、分散ネットワーク６０４上のユーザに提供されるために選択される。
【００８６】
各広告タイトルを分散ネットワーク６０４上で共有する回数ならびにタイトル毎にアップロード可能な接続数および帯域幅を決定するために、本発明の一実施形態は、特定のタイトルが生み出す収益を追跡する。各タイトルが生み出している収益に従って、リソースを調整することができる。例えば、タイトルＡがリソースの５０％を有し、収益の９９％を生み出し、タイトルＢがリソースの５０％を有し、収益の１％を生み出す場合、タイトルＡにリソースの９９％が提供され、タイトルＢにリソースの１％が提供されるように、リソースを再び割り振ることができる。リソースの再割り振りは、定期的に行うことができる。特に、日々の変動を考慮して、示唆されたリソースの使用に向けて徐々に移すことが望ましいであろう。
【００８７】
所与のユーザが特定のタイトルをダウンロードすることができる帯域幅は、過去のデータに基づいて決定することができる。ユーザが、阻止システムからのファイルのダウンロードを要求する場合、ユーザの地理的場所、ユーザが要求したファイル、ユーザがファイルを見つけるために使用したキーワード、ならびにユーザ接続のおおよその速度および種類等のユーザについての何等かの情報を導出することができる。この情報に基づいて、本発明の一実施形態は、過去の同様のユーザを見て、過去のユーザが販売トランザクションまたは続けて行動を開始する確率を求める。この確率を使用して、特定量のシステムリソースを同様のユーザに割り振ることができる。
【００８８】
図２２は、一実施形態による本システムと併用される例示的なコンピュータアーキテクチャを示す。コンピュータアーキテクチャ２２００は、本発明の様々な実施形態において説明されるコンピュータシステムを実施するために使用することができる。アーキテクチャ２２００の一実施形態は、情報を通信するためのシステムバス２２２０と、バス２２２０に結合され、情報を処理するためのプロセッサ２２１０とを備える。アーキテクチャ２２２０は、バス２２２０に結合され、情報およびプロセッサ２２１０により実行される命令を記憶するランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置２２２５（本明細書ではメインメモリと呼ばれる）をさらに備える。メインメモリ２２２５は、プロセッサ２２１０による命令の実行中に一時変数または他の中間情報を記憶するためにも使用することができる。アーキテクチャ２２００は、バス２２２０に結合され、プロセッサ２２１０により使用される静的な情報および命令を記憶する読み取り専用メモリ（ＲＯＭ）および／または他の静的記憶装置２２２６を含むこともできる。
【００８９】
磁気ディスクまたは光ディスクおよび対応するドライブ等のデータ記憶装置２２２７も、情報および命令を記憶するために、コンピュータシステム２２００に結合することができる。アーキテクチャ２２００は、Ｉ／Ｏインタフェース２２３０を介して第２のＩ／Ｏバス２２５０に結合することもできる。表示装置２２４３、入力装置（例えば、英数字入力装置２２４２および／またはカーソル制御装置２２４１）を含め、複数のＩ／Ｏ装置をＩ／Ｏバス２２５０に結合することができる。例えば、ウェブページおよびビジネス関連情報をユーザに対して表示装置２２４３上に提示することができる。
【００９０】
通信装置２２４０は、ネットワークを介して他のコンピュータ（サーバまたはクライアント）にアクセスするためのものである。通信装置２２４０は、モデム、ネットワークインタフェースカード、無線ネットワークインタフェース、またはイーサネット（登録商標）、トークンリング、もしくは他の種類のネットワークに結合するために使用されるような他の周知のインタフェース装置を含み得る。
【００９１】
本方法および本システムについて分散ネットワークと併せて説明したが、説明された技法が、ネットワーク上で広告が追跡され最適化されるあらゆる状況で使用可能なことを当業者は理解するであろう。
【００９２】
分散ネットワーク上で広告を追跡し最適化する方法およびシステム。一実施形態では、この方法は、ネットワーク上のユーザからユーザの要求を受信することを含む。この方法は、要求に応答して、識別子を含むファイルをユーザに送信することをさらに含む。識別子は、ユーザによるファイルの処理を追跡するために使用される。
【図１】
2010537281.tif 000003
【図２】
2010537281.tif 000004
【図３】
2010537281.tif 000005
【図４】
2010537281.tif 000006
【図５】
2010537281.tif 000007
【図６】
2010537281.tif 000008
【図７】
2010537281.tif 000009
【図８】
2010537281.tif 000010
【図９】
2010537281.tif 000011
【図１０】
2010537281.tif 000012
【図１１】
2010537281.tif 000013
【図１２】
2010537281.tif 000014
【図１３】
2010537281.tif 000015
【図１４】
2010537281.tif 000016
【図１５】
2010537281.tif 000017
【図１６】
2010537281.tif 000018
【図１７】
2010537281.tif 000019
【図１８】
2010537281.tif 000020
【図１９】
2010537281.tif 000021
【図２０】
2010537281.tif 000022
【図２１】
2010537281.tif 000023
【図２２】
2010537281.tif 000024
【国際調査報告】
2010537281.tif 000025