"明細書に記載の発明。多数のピアツーピアネットワークを相互接続する方法およびシステムが開示される。ピアツーピアゲートウェイは、各ネットワークと通信し、相互接続されたネットワークの各々にアクセスする均質な環境をユーザーに提供する。ゲートウェイは、インターネットに接続し、そのインフラストラクチャを使用して、接続されるピアツーピアネットワークと通信する。ゲートウェイは、データの記憶、検索、データの送信、およびデータの変換を含む多くの機能を行うように構成され得るが、これらに限定されない。例えば、本発明は以下の項目を提供する。項目1ゲートウェイにおいて、1つ以上のピアツーピアネットワークを介してアクセス可能なコンテンツを要求する検索要求を受信することと、第1のプロトコルを有する第1のピアツーピアネットワークと、第2のプロトコルを有する第2のピアツーピアネットワークとを含む前記1つ以上のピアツーピアネットワークへのアクセスに、前記ゲートウェイを使用することとを含む、方法。項目2前記検索要求を、前記第1のプロトコルおよび前記第2のプロトコルに変換することをさらに含む、項目1に記載の方法。項目3前記検索要求は、前記ゲートウェイと通信するクライアントから受信される、項目1に記載の方法。項目4前記1つ以上のピアツーピアネットワークへのアクセスに前記ゲートウェイを使用することは、さらに、前記第1のピアツーピアネットワークおよび前記第2のピアツーピアネットワークに前記検索要求を送ることを含む、項目1に記載の方法。項目5第1のプロトコルを有する第1のピアツーピアネットワークと、第2のプロトコルを有する第2のピアツーピアネットワークとを含む1つ以上のピアツーピアネットワークにアクセスするためにゲートウェイを使用することと、前記第1のピアツーピアネットワークからクライアントにコンテンツを送信することとを含む、方法。項目6前記クライアントは、前記第2のピアツーピアネットワークと通信する、項目5に記載の方法。項目7前記第1のピアツーピアネットワークからクライアントにコンテンツを送信することは、前記第1のピアツーピアネットワークから前記ゲートウェイに前記コンテンツを送信することと、前記第1のプロトコルから前記第2のプロトコルへ前記コンテンツを変換することと、前記ゲートウェイから前記第2のピアツーピアネットワークに前記コンテンツを送信ことと、前記第2のピアツーピアネットワークから前記クライアントに前記コンテンツを送信することとを含む、項目6に記載の方法。項目8ゲートウェイにおいて送信元からのコンテンツを受信することと、第1のプロトコルを有する第1のピアツーピアネットワークに前記コンテンツを提供することと、第2のプロトコルを有する第2のピアツーピアネットワークに前記コンテンツを提供することとを含む、方法。項目9前記コンテンツを、前記第の1プロトコルおよび前記第2のプロトコルに変換することをさらに含む、項目8に記載の方法。項目10複数の命令が格納されているコンピュータ可読媒体であって、前記複数の命令は、コンピュータによって実行されると、前記コンピュータに、ゲートウェイにおいて、1つ以上のピアツーピアネットワークを介してアクセス可能なコンテンツを要求する検索要求を受信することと、第1のプロトコルを有する第1のピアツーピアネットワークと、第2のプロトコルを有する第2のピアツーピアネットワークとを含む前記1つ以上のピアツーピアネットワークへのアクセスに、前記ゲートウェイを使用することとを行わせる、コンピュータ可読媒体。項目11前記コンピュータ可読媒体には、コンピュータによって実行されると、前記コンピュータに、前記検索要求を前記第1のプロトコルおよび前記第2のプロトコルに変換することをさらに行わせる、さらなる命令が格納されている、項目10に記載のコンピュータ可読媒体。項目12前記検索要求は、前記ゲートウェイと通信するクライアントから受信される、項目10に記載のコンピュータ可読媒体。項目13前記コンピュータ可読媒体には、前記1つ以上のピアツーピアネットワークへのアクセスに前記ゲートウェイを使用するためのさらなる命令が格納されており、前記さらなる命令は、コンピュータによって実行されると、前記コンピュータに、前記第1のピアツーピアネットワークおよび前記第2のピアツーピアネットワークに前記検索要求を送ることをさらに行わせる、項目10に記載のコンピュータ可読媒体。項目14複数の命令が格納されているコンピュータ可読媒体であって、前記複数の命令は、コンピュータによって実行されると、前記コンピュータに、第1のプロトコルを有する第1のピアツーピアネットワークと、第2のプロトコルを有する第2のピアツーピアネットワークとを含む1つ以上のピアツーピアネットワークにアクセスするためにゲートウェイを使用することと、前記第1のピアツーピアネットワークからクライアントにコンテンツを送信することとを行わせる、コンピュータ可読媒体。項目15前記クライアントは、前記第2のピアツーピアネットワークと通信する、項目14に記載のコンピュータ可読媒体。項目16前記コンピュータ可読媒体には、コンピュータによって実行されると、前記コンピュータにさらに、前記第1のピアツーピアネットワークからクライアントにコンテンツの送信を行わせるさらなる命令が格納されており、前記さらなる命令は、前記第1のピアツーピアネットワークから前記ゲートウェイに前記コンテンツを送信することと、前記第1のプロトコルから前記第2のプロトコルへ前記コンテンツを変換することと、前記ゲートウェイから前記第2のピアツーピアネットワークに前記コンテンツを送信することと、前記第2のピアツーピアネットワークから前記クライアントに前記コンテンツを送信することとを含む、項目15に記載のコンピュータ可読媒体。項目17複数の命令を含むコンピュータ可読媒体であって、前記複数の命令は、コンピュータによって実行されると、前記コンピュータに、ゲートウェイにおいて送信元からのコンテンツを受信することと、第1のプロトコルを有する第1のピアツーピアネットワークに前記コンテンツを提供することと、第2のプロトコルを有する第2のピアツーピアネットワークに前記コンテンツを提供することとを行わせる、コンピュータ可読媒体。項目18前記コンピュータ可読媒体には、コンピュータによって実行されると、前記コンピュータに、前記コンテンツを前記第1のプロトコルおよび前記第2のプロトコルに変換することをさらに行わせる、さらなる命令が格納されている、項目17に記載のコンピュータ可読媒体。多数のピアツーピアネットワークを相互接続する方法およびシステムが開示される。ピアツーピアゲートウェイは、各ネットワークと通信し、相互接続されたネットワークの各々にアクセスする均質な環境をユーザーに提供する。ゲートウェイは、インターネットに接続し、そのインフラストラクチャを使用して、接続されるピアツーピアネットワークと通信する。ゲートウェイは、データの記憶、検索、データの送信、データの変換を含む多くの機能を行うように構成され得るが、これらに限定されない。以下の記載では、説明の目的のため、本願明細書で開示される様々な発明の概念を完全に理解するために、特定の学術用語が記載されるが、本願明細書で開示される様々な発明の概念を実施するために、これらの特定の詳細が必要とされるわけではないことは、当業者であれば分かるであろう。本発明はさらに、本願明細書に記載の動作を行う装置に関する。これらの装置は、要求された目的のために特別に構成されてもよく、コンピュータに格納されたコンピュータプログラムによって選択的に稼働される、または再構成される汎用コンピュータを備え得る。このようなコンピュータプログラムは、フロッピー登録商標ディスク、光ディスク、CD-ROM、光磁気ディスク、リードオンリーメモリROM、ランダムアクセスメモリRAM、EPROM、EEPROM、磁気あるいは光カード、または電子命令の格納に適し、コンピュータシステムバスに接続された他の何らかのタイプの媒体のようなコンピュータ可読記憶媒体に格納され得るが、これらに限定されない。本願明細書で示されるアルゴリズムおよび表示は、特定のコンピュータまたは他の装置に本質的に関連するわけではない。本願明細書の技術に従って、様々な汎用システムがプログラムと共に使用され得、必要とされる方法ステップを行うために、さらに特化された装置を構築することが有用であることが示され得る。これらの様々なシステムに必要な構成は、以下の説明で分かるであろう。図1は、従来のインターネットトポグラフィー199のブロック図を示している。ネットワーク199は、多数のピアツーピアネットワーク110を含み、これは多数のユーザーをインターネット100に接続し得る。ネットワーク199は、さらにスーパーノード120を含み、これは、以前はかなりの量のデータを持つピアであったネットワーク199に接続されるシステムであり得る。そのデータによっては、ピアはスーパーノード120の高いステータスに引き上げられ得、その結果、検索するユーザーによって高い優先度でアクセスされ得る。スーパーノード120は、典型的なクライアント/サーバー関係でのサーバーではなく、本実施形態のサーバーのように動作する。どのピアもスーパーノード120になる可能性がある。ネットワーク199にさらに示されているのはダークネット130であり、これは、残りのネットワーク199によって検出されずに、多数のユーザーを互いに接続することもできる。最後に、イントラネット140が示されているが、これはあらかじめ定義されたリストのユーザーへのアクセスを制限するプライベートネットワークであり得る。ピアツーピアネットワーク110、スーパーノード120、ダークネット130、およびイントラネット140は、それぞれイーサネット登録商標または802.11無線WIFIのようなネットワーク接続150を介してインターネット100に接続される。図1は、各ネットワークがピアツーピアネットワークとして示されているが、非ピアツーピアネットワークをインターネットに接続することもできるだろう。図2は、本発明の一実施形態による、ピアツーピアゲートウェイ260によって相互接続される例示的なネットワークのブロック図を示している。ネットワーク299は、ピアツーピアネットワーク210、スーパーノード220、ダークネット230、イントラネット240を含む多数のネットワークを含む。これらのネットワークのそれぞれは、イーサネット登録商標またはWIFIのようなネットワーク接続250を介して、インターネット200に接続される。図2は、ネットワーク接続250を通ってインターネット200に接続し、ネットワーク接続270を介して1つ以上のネットワーク210、220、230、240、および/または他のゲートウェイ260に仮想的に接続するピアツーピアゲートウェイ260を示している。ネットワーク接続270は、破線で示されているように仮想の接続である。仮想ネットワーク接続270は、2地点間の接続ではなく、2つ以上のデバイスを接続するインターネット200のインフラストラクチャを使用する。一実施形態では、仮想ネットワーク接続270で接続しているネットワーク210、220、230、240は、互いにアドレスして直接的に通信リンクを開く。各ピアツーピアゲートウェイ260は、2つ以上のピアツーピアネットワーク210、220、230、240間で通信の行為を行う。ゲートウェイ260は、各個々のネットワーク210、220、230、240との対話に関連するすべての処理オーバーヘッドを負う。ユーザーが1つ以上の個々のネットワーク210、220、230、240にアクセスしようとする場合には、ネットワーク210、220、230、240の各々と所望のタスクを行うゲートウェイ260とだけインターフェースすればよい。ゲートウェイ260は、1つの接触点である単一のゲートウェイ260を通じて、1つ以上のピアツーピアネットワークと交信するシームレスなインターフェースをユーザーに提供する。ゲートウェイ260は、自身が接続されるネットワークのデータ記憶、検索、データ送信、またはデータ変換のそれぞれの機能のどれかまたはすべてをサポートし得る。データ記憶ピアツーピアゲートウェイ260は、音楽、ビデオ、ファイル、メタデータなどを含むデータを格納し得る。一実施形態では、ピアツーピアゲートウェイ260は、一般に音楽のような特定のトピック専用であるか、特定の音楽グループ専用である。このゲートウェイ260は、音楽または音楽グループに関連するデータまたはメタデータを格納し得る。ユーザーがこのゲートウェイ260を通って情報にアクセスしようとすると、ゲートウェイ260は、ネットワークからデータを最初に獲得するのではなく、単にデータをユーザーに提供するだけでよいので、帯域幅が減る。メタデータは、ファイルのタイプ、アーティスト、長さ、サイズ、位置などのように、特定のファイルについてファイルを説明する情報である。これは、ファイルを検索する際に役立つこと思われる。例えば、実際のファイルは遠隔に格納され得、ユーザーはファイルを見つけるのにローカルのシステム上のメタデータを検索し得る。ユーザーがメタデータを検索することによってファイルを見つけると、送信が開始され得る。検索ピアツーピアゲートウェイ260は、ピアツーピアゲートウェイ260が接続されているネットワーク299上のデータをユーザーが検索する際の検索機能をサポートし得る。ユーザーが要求を出すと、要求はピアツーピアゲートウェイ260に転送され、ゲートウェイ260はピアツーピアゲートウェイ260内に格納されている任意のデータをユーザーに直接提供し得る。あるいは、ゲートウェイ260は自身が接続されているすべてのネットワークすなわち、210、220、230、240を検索する能力があって、その結果をユーザーに提供し得る。これらの結果は、ドキュメントのリストの形式であったり、または実際のドキュメント自体であったりし得る。データ送信ゲートウェイ260は、2つのネットワーク間送信元のネットワークから送信先のネットワークまで、またはネットワークとユーザーとの間でデータを送信し得る。例として、ピアツーピアネットワークC210に接続されたユーザーが、ピアツーピアネットワークA210上で有効なデータを要求することを考える。一実施形態では、データは最初にピアツーピアネットワークA210内の送信元からピアツーピアゲートウェイB260に送信される。ピアツーピアゲートウェイB260は、このデータを格納し、ピアツーピアネットワークC210に接続されたユーザーにデータを送信する。別の実施形態では、データは送信元のピアツーピアネットワークC210から送信先のピアツーピアネットワークA210に直接送信される。これは、データの個々のビットまたはブロックを送信するか、当技術分野で周知の他の何らかの送信方式によって行われ得る。ピアツーピアゲートウェイ260のもう1つの重要な機能は、ハッシングである。ファイルは、MD4、SHA-Iなどのようなアルゴリズムに従ってハッシュされ得る。このようなハッシュアルゴリズムに従って、ゲートウェイ260は、検索されたファイルのハッシュと期待されるファイルのハッシュとを比較し、ゲートウェイ260が適切なファイルを検索したかどうかを判断する。2つの異なるタイプのネットワークにまたがってデータを送信する場合、ゲートウェイ260は1つまたは複数の送信先のネットワークで必要とされる形式の新しいハッシュを生成し得る。データ変換様々なネットワークが様々な通信プロトコルを使用することがあるので、データを送信するということは常にデータをコピーするだけとうわけではない。接続されたネットワークすべてと完全に通信するために、ゲートウェイ260は、コンテンツ形式およびファイル構造のデータ変換を行う。変換が必要になると思われるデータ形式の例には、MP3、AAC、ZIP、またはRAR形式が含まれる。ファイルはパーツに分けてパッケージングされてもよく、ゲートウェイ260は分けられたパーツを単一のファイルに統合するか、単一のファイルを多数のパーツに分ける機能を行ってもよい。図3は、本発明の一実施形態による、ピアツーピアゲートウェイによって行われる例示的なソフトウェア機能のブロック図を示している。ソフトウェア399は、ピアツーピアゲートウェイ260上で実行する記載された機能の各々を実施するのに十分であり、ピアツーピアゲートウェイ260にあるか、ネットワーク299に接続される他の何らかのシステム内にあり得る。ソフトウェア399は、Gnutella、BitTorrent、およびeDonkeyの3つのタイプのピアツーピアネットワーク用の機能を提供する。これら3つのピアツーピアネットワークのそれぞれは、例として使用され、ピアツーピアゲートウェイ260によって同様のピアツーピアプロトコルがサポートされてもよい。システムソフトウェア300は、ゲートウェイ260の基本的な機能を実行し、少なくともブートファームウェアおよびオペレーティングシステムを含む。制御インターフェース310は、コンポーネントの各々と個別に通信して、ゲートウェイ260の様々なパーツ間の動作を制御する。これは、処理するクエリがどれであるか定義したり、コンテンツキャッシュ330に格納する情報を決めたり、様々なネットワークの優先順位をつけたりするようなタスクを行ってもよい。制御インターフェース310へのアクセスは、インターネットで直接人間から行われることになる。一実施形態では、ユーザーは、ゲートウェイ260に接続されたピアツーピアネットワークを介して、制御インターフェース310にアクセスする。ゲートウェイ260が異なるネットワークにまたがって検索するのに使用される場合、クエリは最初に制御インターフェース310を通過する。同様に、結果は発信するネットワークを通過して、マスタクエリプロセッサ350を通り、最後にゲートウェイのユーザーに到達する。さらに別の実施形態では、第2のゲートウェイに接続されたネットワークまたはコンテンツキャッシュ330にまたがって検索する目的のために、マスタクエリプロセッサ350が別のピアツーピアゲートウェイ260中のマスタクエリプロセッサ350と交信し得る。このようにして、多くのゲートウェイ260を相互接続して、多くの異なるネットワークを検索し、1つだけのピアツーピアゲートウェイ260に接続されたユーザーにすべての結果を送信することができる。ピアツーピアゲートウェイ260は、さらにシステムマネージャ320を有する。これは、ピアツーピアゲートウェイ260の様々なタスクを調整するソフトウェアである。このシステムマネージャ320は、単なるスタートアップスクリプトのようにシンプルなソフトウェアか、完全な管理インフラストラクチャとすることができる。ゲートウェイ260は、コンテンツキャッシュ330および情報キャッシュ340の2つのストレージキャッシュを含む。コンテンツキャッシュ330は、小さいファイル、メタデータ、または検索履歴および検索結果であり得る実際のコンテンツを格納する。コンテンツキャッシュ330は、管理者がピアツーピアゲートウェイ260内への特定のデータの格納を望んでいる場合、手動でポピュレートされるか、任意の数のアルゴリズムに従って自動的にデータを格納するようにプログラムされ得る。一実施形態では、ごく最近の検索結果がコンテンツキャッシュ330に格納される。別の実施形態では、動的アルゴリズムが、最近の検索および接続されたネットワークに基づいて、どのデータがピアツーピアゲートウェイ260のユーザーにとって最も関心があるのかを判断する。コンテンツキャッシュ330は、単一のピアツーピアゲートウェイ260のソフトウェア399内の機能ブロックとして示されているが、多くのゲートウェイ260によってアクセス可能な、ネットワーク上に存在する独立したメモリ構造であってもよい。共有のストレージでは、ピアツーピアゲートウェイ260はそれらの間でデータの送信をする必要がないので、さらに効率的な蓄積交換操作をできる。それどころか、要求を出しているピアツーピアゲートウェイ260は、共有データストレージ330からのデータに直ちにアクセスする。情報キャッシュ340は、その情報キャッシュ340のあるピアツーピアゲートウェイ260に接続された様々なネットワークについての情報を格納する。情報キャッシュ340に格納され得る情報には、どのネットワークにどんなデータがあるのか、過去のパフォーマンスに基づいてネットワークがどのくらい信頼性があるのかを示す表示、およびそのゲートウェイ260によって提供される情報の品質を向上させる他の何らかの情報が含まれる。各ゲートウェイ260はマスタクエリプロセッサ350を有しており、これは、様々なピアツーピアネットワークマネージャ361、371、381への、およびこれらからのクエリを送るクエリ要求を扱う。マスタクエリプロセッサ350は、これらのクエリに応答して様々なネットワークマネージャ361、371、381から提供されるデータをコンパイルし、そのデータをユーザーによって要求されるリストまたはファイルの形式でユーザーに出力して戻すための準備も行う。ゲートウェイ260は、接続する様々なネットワークへの1つ以上のインターフェース部360、370、380を含む。一実施形態によれば、ゲートウェイ260はGnutella360、BitTorrent370、およびeDonkey380のプロトコルをサポートする。Gnutella360、BitTorrent370、およびeDonkey380の各々は、それぞれネットワークマネージャ361,371、381、およびそのブロックが扱うネットワークのタイプによって異なる多くの独自の機能コンポーネントを有する。ネットワークマネージャ361、371、381は、それぞれのネットワーク用のプロトコルエンジン、コントローラ、およびステートマシンである。ネットワークマネージャ361、371、381は、ピアツーピアプロトコルをエミュレートし、ピアツーピアネットワークに、クライアント、サーバー、スーパーノードなどのようなネットワークエンティティとして現れる。Gnutellaブロック360は、Gnutellaマネージャ361、Gnutellaサーチャー362、およびGnutellaクエリプロセッサ363を含む。Gnutellaサーチャー362は、転送クエリの一部としてGnutellaネットワークの検索を行う。Gnutellaクエリプロセッサ363は、接続されたネットワークから入ってくるクエリを受け付け、これらのクエリをマスタクエリプロセッサ350に転送する。BitTorrentブロック370は、BitTorrentマネージャ371、BitTorrentコンテンツポスター372、およびBitTorrentトラッカー/シーダー/リーチャー373を含む。BitTorrentコンテンツポスター372は、データを検索可能な形式でポストする。BitTorrentトラッカー/シーダー/リーチャーは、ネットワークへデータをアップロードするトラッカー/シーダー、およびネットワークからデータをダウンロードするリーチャーのような多数の機能を有する。eDonkeyブロック380は、eDonkeyマネージャ381、eDonkeyコンテンツパブリッシャー382、およびeDonkeyサーチャー383を有する。eDonkeyコンテンツパブリッシャー382は、データをeDonkeyサーバーにプッシュする。eDonkeyコンテンツパブリッシャー382がサーバーにプッシュするデータは、コンテンツキャッシュ330からのものである。最後に、eDonkeyサーチャー383は、他のネットワークマネージャ361、371、381からの転送クエリの一部として、eDonkeyネットワークを検索する。ネットワークマネージャ361、371、381は、マスタクエリプロセッサ350を通って互いに通信する前に、データを共通のフォーマットに変換する。この変換は、それぞれのマネージャ361、371、381によって行われてもよく、またはマスタクエリプロセッサ350によって行われ得る。この変換は、すべてのデータをゲートウェイ260のネイティブプロトコルに変換してもよく、またはデータが入って来るネットワークのうち1つのプロトコルにデータを選択的に変換してもよい。送信元のネットワークと送信先のネットワークが、異なるハッシュアルゴリズム、またはハッシュの異なるファイルの部分を使用している場合、ピアツーピアゲートウェイ260は、一実施形態によれば、ハッシングブリッジの機能を果たす。送信元のネットワークマネージャは、このファイルを送信し、コンテンツキャッシュ330に格納する。続いて、送信先のネットワークマネージャは、送信先のネットワークのハッシングアルゴリズムに従って、ファイルをハッシュする。続いてこのファイルは、送信先のネットワークに送信される。本願明細書で述べられている実施形態は、それぞれが単一のネットワークと通信するネットワークマネージャ361、371、381を説明している。別の実施形態では、各ネットワークマネージャ361、371、381は、各ピアツーピアネットワークが同じネットワークプロトコルを使用して通信するならば、多数のピアツーピアネットワークと通信できるだろう。図4は、本発明の一実施形態による、ピアツーピアゲートウェイがGnutellaユーザーからのクエリを扱う例示的なプロセスを示すフローチャートである。Gnutellaネットワーク上でのユーザーのクエリは、Gnutellaマネージャに転送され得る410。受信されると、クエリはマスタクエリプロセッサ350に送信される420。次いで、マスタクエリプロセッサ350は、ピアツーピアゲートウェイ260に接続された1つ以上の他のピアツーピアネットワークを検索するために、転送ポリシーを適用するかどうかを判断する430。ポリシーが適用される場合、マスタクエリプロセッサ350は、示されている例ではeDonkeyマネージャ381およびBitTorrentマネージャ371である、適切なネットワークマネージャにクエリを転送する431。次いで、これらのネットワークeDonkeyおよびBitTorrentのそれぞれは、クエリに応答してデータ用のネットワークを検索し432、これらの結果をマスタクエリプロセッサ350にレポートする433。転送ポリシーが適用されない場合、または結果がマスタクエリプロセッサ350にレポートされると433、マスタクエリプロセッサ350は、クエリに応答してコンテンツキャッシュ330中のデータを検索する440。マスタクエリプロセッサ350は、各検索の結果をGnutellaマネージャ361にレポートし450、次いでGnutellaマネージャ361は、最終のレポーティングを戻すため、ピアツーピアネットワークを通ってネットワークマネージャ381、371にその結果をレポートし、最後に要求しているユーザーへレポートする460。結果がユーザーにレポートされて戻されると460、ユーザーはデータ送信を要求し得る。ピアツーピアゲートウェイ260は、この要求を適切なeDonkeyまたはBitTorrentサーバーから、それぞれのネットワークマネージャ371、381を通ってユーザーに直接データを送信することによって、この要求に対処し得る。あるいは、データがコンテンツキャッシュ330に格納されている場合、ゲートウェイ260は、データをコンテンツキャッシュ330中のその位置からユーザーに送信する。図5は、本発明の一実施形態による、eDonkeyサーバーへデータをポストし、ピアツーピアゲートウェイを使用してユーザーにデータを送信する例示的なプロセスを示すフローチャートである。ピアツーピアゲートウェイ260は、ポリシーに基づいて何を発行するかを判断することによって、ポスティングを容易にする510。ポリシーは有効なものは何でも発行するものであるか、またはポリシーはデータを示す単語を発行するものであるか、またはポリシーはタイトルの固定のセットを発行するものであり得る。考えられるどんなポリシーも作成できるので、ポストされる情報は多岐にわたり得る。ポリシーは、有効なコンテンツに基づいて作成され得る。あるいは、ポリシーはゲートウェイ260固有のもので、広く動作できるものであり得る。続いて、eDonkeyコンテンツパブリッシャー382は、発行されるデータだけを識別するため、有効なデータにポリシーを適用する520。次に、eDonkeyマネージャ381は、1つ以上のeDonkeyサーバーと通信してデータを発行する530。データが発行されると、ユーザーはeDonkeyサーバーからのそのデータの送信を要求し得る540。これが起こると、eDonkeyサーバーはそのままクライアントをピアツーピアゲートウェイ260のeDonkeyマネージャ381に照会させる550。eDonkeyマネージャ381は、送信元からユーザーへのデータの送信を容易にする560。図6は、本発明の一実施形態による、ピアツーピアゲートウェイを使用してBitTorrentシステムにデータを送信する例としてのプロセスを示すフローチャートである。BitTorrentシステムでは、ユーザーはBitTorrentサーバーに格納されているデータに直接アクセスできるだろう。これは、ウェブサイト、ソフトウェア、または他の何らかの実行可能プログラムの形態であってもよい。ユーザーがデータを要求すると610、BitTorrentマネージャ371はマスタクエリプロセッサ350にこのクエリを送る620。マスタクエリプロセッサ350は、転送ポリシーを適用するかどうかを判断する630。適用する場合、マスタクエリプロセッサ350は、ポリシーに従って要求を転送する640。一実施形態では、ポリシーは、eDonkeyおよびGnutellaネットワークが検索されることを判断する。この実施形態によれば、eDonkeyマネージャ361およびGnutellaマネージャ381は、ユーザーの要求に応答して、データを求めてそれぞれのネットワークを検索する631。続いてマネージャ361、381は、それらのクエリの結果をマスタクエリプロセッサ350にレポートする632。マスタクエリプロセッサ350は、検索の結果をBitTorrentマネージャ371に報告し633、BitTorrentマネージャ371がeDonkeyおよび/またはGnutellaネットワークからコンテンツキャッシュ330にデータを送信する634。転送ポリシーがない場合、またはデータがネットワークからコンテンツキャッシュ330に送信されると634、マスタクエリプロセッサ350は、コンテンツキャッシュ330中の応答データを検索する640。次に、マスタクエリプロセッサ350は、コンテンツキャッシュ検索の結果をBitTorrentマネージャ371にレポートする650。BitTorrentマネージャ371は、トレントファイルを作成し660、これをBitTorrentコンテンツポスター372が要求しているユーザーに送信する670。BitTorrentネットワーク上でファイルを検索するには、BitTorrentマネージャ371が有効なBitTorrentファイルのサイトのリストを保持している必要がある。インターネット200に接続されたシステム上に位置するこれらの各サイトは、有効なファイルのトレントのリストを含んでいてもよい。ユーザーがBitTorrentネットワーク上でクエリを行うと、BitTorrentマネージャ371はトレントの各リストを検索し、ファイルサイトの応答情報をユーザーに応答する。あるいは、BitTorrentマネージャ371は、トレントのキャッシュを保持し得る。BitTorrentネットワークを通ってユーザーにデータを送信するには、BitTorrentコンテンツポスター372がコンテンツキャッシュ330中の有効なトレントのリストをあるサイトにポストするか、ユーザーがBitTorrentマネージャ371に問い合わせるかのいずれかである。BitTorrentコンテンツポスター372が有効なトレントをあるサイトに発行する場合、ユーザーはこれらのトレントのうちの1つの送信を要求してもよい。その要求は、BitTorrentマネージャ371に転送される。次に、BitTorrentマネージャ371は、コンテンツキャッシュ330から要求しているユーザーへのトレントの送信を調整する。ユーザーがBitTorrentマネージャ371に問い合わせる場合、BitTorrentマネージャ371は、ローカルのコンテンツキャッシュ330を検索し、応答の有効なトレントのリストのいずれかを用いてユーザーに応答する。ユーザーによって要求された場合、BitTorrentマネージャ371は、コンテンツキャッシュ330からトレントを送信する。ゲートウェイ260がBitTorrentネットワーク上でデータを有効にするには、標準のBitTorrentトラッカー/シーダー方法に従わなければならない。したがって、BitTorrentトラッカー/シーダー/リーチャー373は、これらの機能の各々を実行する。共通のBitTorrentクライアントの動作と調和して、データが配布されると、BitTorrentトラッカー/シーダー/リーチャー373はデータのシーディングをやめることができ、他のシードがデータ用のソースを提供できるようになる。図7は、本発明の一実施形態による、ユーザーが多数のピアツーピアネットワークと情報交換する例示的なユーザーインターフェースを示している。ユーザーは、インターネット200上のウェブページにアクセスするか、700として示されるインターフェースをユーザーに提供するインターネット200に接続するコンピュータ上のソフトウェアを実行してもよい。このインターフェースには、ユーザーが探しているものの記述子を入力できる検索入力710がある。次に、ユーザーは検索したいネットワークを選択する。図示されている実施形態では、ユーザーはGnutella730、eDonkey740、およびBitTorrent750のどれでも選択できる。ユーザーは、マウスでGoボタン720をクリックするか、Enterを押して検索を開始する。検索の結果は、表760に表示される。表に示される実施形態では、表はアーティスト、タイトル、送信元ネットワーク、ファイルタイプなどのカテゴリー762を含む。これらのカテゴリー762それぞれの情報は、メタデータから来ている。ここでは、検索の開始時にファイル全体は送信されず、メタデータだけがユーザーに対して表示される。一実施形態では、ピアツーピアゲートウェイ260は、特定の機能専用であり、これらの機能を実施する必要な帯域幅を最小限にするために、ネットワーク200に優先的に配置される。ゲートウェイ260は、共同で配置するか、多くのスーパーノード220、およびゲートウェイ260と共通のトピックに関与する他のピアツーピアネットワーク210、220、230、240に直接接続され得る。この実施形態では、これらのシステムとの通信時には帯域幅およびオーバーヘッドが減る。どのシステムにゲートウェイ260を共同で配置するのか、または接続するのかを選択的に選ぶことで、ゲートウェイ260に必要とされる全体の帯域幅が減る。ピアツーピアゲートウェイ260は、本願明細書では、ネットワーク200上にあるコンピュータまたはサーバーのようなスタンドアロンデバイスとして記載されてきた。しかしながら、ピアツーピアゲートウェイ260は、ネットワーク上の別のシステムと共同で配置することもできる。この実施形態では、ゲートウェイ260自体は、ネットワーク200に接続されたクライアントまたはサーバー上で動作するソフトウェアの形態で存在していることになる。この配置は、ゲートウェイ260と、同じシステム上でそれと共同で配置している任意のネットワークとの間の通信に必要な帯域幅を減らし得る。スケーラビリティおよびセキュリティのサポートに使用されるロードバランサのような、任意の数のネットワークデバイスがネットワーク上にあってもよい。ゲートウェイコンピュータ上では、様々なソフトウェアアプリケーションが実行されてもよい。必要とされる最小限のソフトウェアは、ブートファームウェアおよびオペレーティングシステムである。MicrosoftWindows登録商標またはLinuxを実行しているインテルアーキテクチャマシンが十分であろうが、任意の仮想的なコンピュータ上の任意の仮想的なオペレーティングシステムでも適するだろう。このシステムは、さらにJava登録商標仮想マシンを実行して、監視および制御用のインターフェースをユーザーに提供するウェブサーバー、または不正アクセスを防ぐファイアウォールの、Java登録商標での開発を可能にし得る。図8は、本発明の一実施形態による、本システムとともに使用する例示的なコンピュータアーキテクチャを示している。これは、ピアツーピアゲートウェイ260、クライアントシステム、サーバーシステム、またはインターネット200に接続された他の何らかのデバイスのような、インターネット200に接続された任意のシステムのアーキテクチャであればよい。アーキテクチャ800の1つの実施形態は、情報を通信するシステムバス820、およびバス820に接続された情報を処理するプロセッサ810を備える。アーキテクチャ800はさらに、情報、およびプロセッサ810によって実行される命令を格納する、バス820に接続されるランダムアクセスメモリRAMまたは他の動的記憶装置825ここではメインメモリと称されるを備える。メインメモリ825は、プロセッサ810による命令の実行の間に、一時的な変数または他の中間情報の格納に使用されてもよい。アーキテクチャ800は、プロセッサ810によって使用される静的な情報および命令を格納する、バス820に接続されたリードオンリーメモリROMおよび/または他の静的記憶装置826を含んでいてもよい。情報および命令を格納するために磁気ディスクまたは光学ディスク、およびそれに相当するドライブのようなデータ記憶デバイス827が、コンピュータシステム800に接続されてもよい。アーキテクチャ800は、入出力インターフェース830を介して、第2の入出力バス850に接続されてもよい。入出力バス850には、表示デバイス843、入力デバイス例えば、英数字入力デバイス842および/またはカーソル制御デバイス841を含む複数の入出力デバイスが接続されてもよい。通信デバイス840は、ネットワークを介して他のコンピュータサーバーまたはクライアントにアクセスできるようにする。通信デバイス840は、イーサネット登録商標、トークンリング、または他のタイプのネットワークへの接続に使用されるような、1つ以上のモデム、ネットワークインタフェースカード、無線ネットワークインタフェース、または他の周知のインタフェースデバイスを備えていてもよい。上記の実施形態のさらなる利点は、ゲートウェイ260の高いモジュール性である。各ゲートウェイ260を特定の目的専用にすることで、ゲートウェイ260のネットワークの拡張が容易に実施できる。例えば、第1のゲートウェイ260が、ピアツーピアネットワークA210からピアツーピアネットワークB210へデータを変換し、第2のゲートウェイ260が、ピアツーピアネットワークB210からピアツーピアネットワークC210へデータを変換することを考える。さらなるピアツーピアネットワークDがインターネットに追加されていると、ピアツーピアネットワークC210からネットワークDへデータを変換している単一のゲートウェイ260は、前のピアツーピアネットワーク210のどれかから新しいネットワークDへデータを変換すれば十分であろう。このようにして、単一のゲートウェイ260を追加するだけで、ゲートウェイ260の相互接続を容易に拡張して、新しいネットワークを組み込むことができる。ピアツーピアゲートウェイを使用して多数のピアツーピアネットワークを相互接続する方法およびシステムが開示された。本方法およびシステムを、特定の例およびサブシステムについて説明したが、本開示はこれらの特定の例またはサブシステムに限定されず、他の実施形態にも及ぶことは当業者であれば分かるだろう。"