JP2011151842A - ピアツーピア・ゲートウェイ - Google Patents
ピアツーピア・ゲートウェイ Download PDFInfo
- Publication number
- JP2011151842A JP2011151842A JP2011061688A JP2011061688A JP2011151842A JP 2011151842 A JP2011151842 A JP 2011151842A JP 2011061688 A JP2011061688 A JP 2011061688A JP 2011061688 A JP2011061688 A JP 2011061688A JP 2011151842 A JP2011151842 A JP 2011151842A
- Authority
- JP
- Japan
- Prior art keywords
- peer
- network
- gateway
- data
- networks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 abstract description 26
- 230000006870 function Effects 0.000 abstract description 16
- 238000013500 data storage Methods 0.000 abstract description 7
- 238000012546 transfer Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 241000218645 Cedrus Species 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012876 topography Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】多数のピアツーピア・ネットワークを相互接続する方法およびシステムを提供すること。
【解決手段】一実施形態によれば、ピアツーピア・ゲートウェイは1つ以上のピアツーピア・ネットワークと通信する。ゲートウェイは、自身が接続されているインターネットを通ってこれらのネットワークと通信する。ゲートウェイは、接続された各ネットワーク上で、データの記憶、検索、データの送信、データの変換を含む(これらに限定されない)多くの機能を実行するように構成され得る。
【選択図】図3
【解決手段】一実施形態によれば、ピアツーピア・ゲートウェイは1つ以上のピアツーピア・ネットワークと通信する。ゲートウェイは、自身が接続されているインターネットを通ってこれらのネットワークと通信する。ゲートウェイは、接続された各ネットワーク上で、データの記憶、検索、データの送信、データの変換を含む(これらに限定されない)多くの機能を実行するように構成され得る。
【選択図】図3
Description
本発明の分野は、一般的にコンピュータ・システムに関し、特にピアツーピア・ネットワーク間の通信用の方法およびシステムに関する。
インターネットは、多数のさらに小さい相互接続されたネットワークから構成される。これらのネットワークの各々は、多数のシステムをインターネットに接続する可能性がある。これらのシステムは、パーソナル・コンピュータ、サーバー、またはインターネット互換性のある他のデバイスであり得る。
ネットワークには、インターネット、イントラネット、ダークネット、ピアツーピア・ネットワークなど、インターネットのインフラストラクチャを使用する様々なものが多数ある。インターネットは一般的に公開のアクセス・ネットワークであり、インターネットを利用できれば誰もが自由にアクセスできる。イントラネットは、あらかじめ指定されたグループのユーザーだけがその中の情報にアクセスできる、制限されたアクセス・ネットワークである。ダークネットは、通信されるコンテンツへのアクセスについて、相手の許可なくユーザー間で通信できるネットワークのカテゴリーである。
インターネット上で最もよく見られる関係は、クライアント・サーバーの関係である。この配置では、多くのサーバーはクライアントがアクセスできる情報を格納し保持している。ユーザーはインターネットへのアクセスを取得し、これらのサーバーへアクセスし、アップロード(サーバーへ情報を送る)またはダウンロード(サーバーから情報を受ける)のいずれかによって通信する。別の配置には、ピアツーピア・ネットワークがある。ピアツーピア・ネットワーク(すなわち、クライアント対クライアントのネットワーク)は、サーバーではなく、インターネットに接続された個々のクライアント・システムを利用し、記憶および送信を行う。「ピアツーピア」という用語は、各ユーザーが情報の記憶/送信のほか、情報の検索の両方に関与するネットワークの性質を表している。ピアツーピア・ネットワークのユーザーは、一般的に他のユーザーと同じレベルで始まるが、階層的な配置になるよう自身を構成することができる。様々な機能に対し、様々な配置が形成され得る。すなわち、ユーザーの検索にネットワークが使用されるとき、ユーザーは、ネットワークがデータ送信に使用されるときのような階層の1つの形式を取り得る。構成に関わらず、ピアツーピア・ネットワークのユーザーは、媒介のサーバーを介して通信せず、互いに直接通信する。
多種多様なピアツーピア・ネットワークがある。インターネット上に構築されるものもあれば、ダークネット上に構築されるもの、さらにイントラネット上に構築されるものもある。これらのネットワークが急増しているので、ピアツーピア・ネットワークのユーザー間には、数多くの様々なプロトコルがある。これらのネットワークのどれかにアクセスするには、ユーザーはその特定のネットワークのプロトコルを理解する必要がある。
多数のピアツーピア・ネットワークを相互接続する方法およびシステムが開示される。ピアツーピア・ゲートウェイは、各ネットワークと通信し、相互接続されたネットワークの各々にアクセスする均質な環境をユーザーに提供する。ゲートウェイは、インターネットに接続し、そのインフラストラクチャを使用して、接続されるピアツーピア・ネットワークと通信する。ゲートウェイは、データの記憶、検索、データの送信、およびデータの変換を含む多くの機能を行うように構成され得るが、これらに限定されない。
例えば、本発明は以下の項目を提供する。
(項目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に記載のコンピュータ可読媒体。
(項目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は、一般に音楽のような特定のトピック専用であるか、特定の音楽グループ専用である。このゲートウェイ260は、音楽または音楽グループに関連するデータまたはメタデータを格納し得る。ユーザーがこのゲートウェイ260を通って情報にアクセスしようとすると、ゲートウェイ260は、ネットワークからデータを最初に獲得するのではなく、単にデータをユーザーに提供するだけでよいので、帯域幅が減る。メタデータは、ファイルのタイプ、アーティスト、長さ、サイズ、位置などのように、特定のファイルについてファイルを説明する情報である。これは、ファイルを検索する際に役立つこと思われる。例えば、実際のファイルは遠隔に格納され得、ユーザーはファイルを見つけるのにローカルのシステム上のメタデータを検索し得る。ユーザーがメタデータを検索することによってファイルを見つけると、送信が開始され得る。
(検索)
ピアツーピア・ゲートウェイ260は、ピアツーピア・ゲートウェイ260が接続されているネットワーク299上のデータをユーザーが検索する際の検索機能をサポートし得る。ユーザーが要求を出すと、要求はピアツーピア・ゲートウェイ260に転送され、ゲートウェイ260はピアツーピア・ゲートウェイ260内に格納されている任意のデータをユーザーに直接提供し得る。あるいは、ゲートウェイ260は自身が接続されているすべてのネットワーク(すなわち、210、220、230、240)を検索する能力があって、その結果をユーザーに提供し得る。これらの結果は、ドキュメントのリストの形式であったり、または実際のドキュメント自体であったりし得る。
ピアツーピア・ゲートウェイ260は、ピアツーピア・ゲートウェイ260が接続されているネットワーク299上のデータをユーザーが検索する際の検索機能をサポートし得る。ユーザーが要求を出すと、要求はピアツーピア・ゲートウェイ260に転送され、ゲートウェイ260はピアツーピア・ゲートウェイ260内に格納されている任意のデータをユーザーに直接提供し得る。あるいは、ゲートウェイ260は自身が接続されているすべてのネットワーク(すなわち、210、220、230、240)を検索する能力があって、その結果をユーザーに提供し得る。これらの結果は、ドキュメントのリストの形式であったり、または実際のドキュメント自体であったりし得る。
(データ送信)
ゲートウェイ260は、2つのネットワーク間(送信元のネットワークから送信先のネットワークまで)、またはネットワークとユーザーとの間でデータを送信し得る。例として、ピアツーピア・ネットワークC 210に接続されたユーザーが、ピアツーピア・ネットワークA 210上で有効なデータを要求することを考える。一実施形態では、データは最初にピアツーピア・ネットワークA 210内の送信元からピアツーピア・ゲートウェイB 260に送信される。ピアツーピア・ゲートウェイB 260は、このデータを格納し、ピアツーピア・ネットワーク C210に接続されたユーザーにデータを送信する。別の実施形態では、データは送信元のピアツーピア・ネットワークC 210から送信先のピアツーピア・ネットワークA 210に直接送信される。これは、データの個々のビットまたはブロックを送信するか、当技術分野で周知の他の何らかの送信方式によって行われ得る。
ゲートウェイ260は、2つのネットワーク間(送信元のネットワークから送信先のネットワークまで)、またはネットワークとユーザーとの間でデータを送信し得る。例として、ピアツーピア・ネットワークC 210に接続されたユーザーが、ピアツーピア・ネットワークA 210上で有効なデータを要求することを考える。一実施形態では、データは最初にピアツーピア・ネットワークA 210内の送信元からピアツーピア・ゲートウェイB 260に送信される。ピアツーピア・ゲートウェイB 260は、このデータを格納し、ピアツーピア・ネットワーク C210に接続されたユーザーにデータを送信する。別の実施形態では、データは送信元のピアツーピア・ネットワークC 210から送信先のピアツーピア・ネットワークA 210に直接送信される。これは、データの個々のビットまたはブロックを送信するか、当技術分野で周知の他の何らかの送信方式によって行われ得る。
ピアツーピア・ゲートウェイ260のもう1つの重要な機能は、ハッシングである。ファイルは、MD4、SHA−Iなどのようなアルゴリズムに従ってハッシュされ得る。このようなハッシュ・アルゴリズムに従って、ゲートウェイ260は、検索されたファイルのハッシュと期待されるファイルのハッシュとを比較し、ゲートウェイ260が適切なファイルを検索したかどうかを判断する。2つの異なるタイプのネットワークにまたがってデータを送信する場合、ゲートウェイ260は1つまたは複数の送信先のネットワークで必要とされる形式の新しいハッシュを生成し得る。
(データ変換)
様々なネットワークが様々な通信プロトコルを使用することがあるので、データを送信するということは常にデータをコピーするだけとうわけではない。接続されたネットワークすべてと完全に通信するために、ゲートウェイ260は、コンテンツ形式およびファイル構造のデータ変換を行う。変換が必要になると思われるデータ形式の例には、MP3、AAC、ZIP、またはRAR形式が含まれる。ファイルはパーツに分けてパッケージングされてもよく、ゲートウェイ260は分けられたパーツを単一のファイルに統合するか、単一のファイルを多数のパーツに分ける機能を行ってもよい。
様々なネットワークが様々な通信プロトコルを使用することがあるので、データを送信するということは常にデータをコピーするだけとうわけではない。接続されたネットワークすべてと完全に通信するために、ゲートウェイ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と、同じシステム上でそれと共同で配置している任意のネットワークとの間の通信に必要な帯域幅を減らし得る。スケーラビリティおよびセキュリティのサポートに使用されるロードバランサのような、任意の数のネットワーク・デバイスがネットワーク上にあってもよい。
ゲートウェイ・コンピュータ上では、様々なソフトウェア・アプリケーションが実行されてもよい。必要とされる最小限のソフトウェアは、ブート・ファームウェアおよびオペレーティング・システムである。Microsoft Windows(登録商標)または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が、ピアツーピア・ネットワークA 210からピアツーピア・ネットワークB 210へデータを変換し、第2のゲートウェイ260が、ピアツーピア・ネットワークB 210からピアツーピア・ネットワークC 210へデータを変換することを考える。さらなるピアツーピア・ネットワークDがインターネットに追加されていると、ピアツーピア・ネットワークC 210からネットワークDへデータを変換している単一のゲートウェイ260は、前のピアツーピア・ネットワーク210のどれかから新しいネットワークDへデータを変換すれば十分であろう。このようにして、単一のゲートウェイ260を追加するだけで、ゲートウェイ260の相互接続を容易に拡張して、新しいネットワークを組み込むことができる。
ピアツーピア・ゲートウェイを使用して多数のピアツーピア・ネットワークを相互接続する方法およびシステムが開示された。本方法およびシステムを、特定の例およびサブシステムについて説明したが、本開示はこれらの特定の例またはサブシステムに限定されず、他の実施形態にも及ぶことは当業者であれば分かるだろう。
Claims (1)
- 明細書に記載の発明。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/384,238 US7877457B2 (en) | 2006-03-17 | 2006-03-17 | Peer to peer gateway |
US11/384,238 | 2006-03-17 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009500629A Division JP4806462B2 (ja) | 2006-03-17 | 2007-03-16 | ピアツーピア・ゲートウェイ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011151842A true JP2011151842A (ja) | 2011-08-04 |
Family
ID=38519278
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009500629A Active JP4806462B2 (ja) | 2006-03-17 | 2007-03-16 | ピアツーピア・ゲートウェイ |
JP2011061688A Pending JP2011151842A (ja) | 2006-03-17 | 2011-03-18 | ピアツーピア・ゲートウェイ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009500629A Active JP4806462B2 (ja) | 2006-03-17 | 2007-03-16 | ピアツーピア・ゲートウェイ |
Country Status (7)
Country | Link |
---|---|
US (2) | US7877457B2 (ja) |
EP (1) | EP2002348A4 (ja) |
JP (2) | JP4806462B2 (ja) |
KR (1) | KR101220614B1 (ja) |
AU (2) | AU2007238425B2 (ja) |
CA (1) | CA2645274C (ja) |
WO (1) | WO2007121022A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779081B2 (en) * | 2004-07-16 | 2010-08-17 | International Business Machines Corporation | Method, system, and program for forwarding messages between nodes |
US20070204003A1 (en) * | 2006-02-28 | 2007-08-30 | Maven Networks, Inc. | Downloading a file over HTTP from multiple servers |
US7877457B2 (en) * | 2006-03-17 | 2011-01-25 | Macrovision Corporation | Peer to peer gateway |
US8266663B2 (en) * | 2006-08-01 | 2012-09-11 | At&T Intellectual Property I, L.P. | Interactive content system and method |
US8392604B2 (en) * | 2007-10-09 | 2013-03-05 | Yahoo! Inc. | Peer to peer browser content caching |
TWI384812B (zh) * | 2008-12-31 | 2013-02-01 | Ind Tech Res Inst | 運用暫存管理與資料傳輸負載平衡之點對點代理服務裝置與方法 |
CN101997901B (zh) * | 2009-08-28 | 2014-04-30 | 国际商业机器公司 | P2p文件传输管理方法与系统 |
EP2302536A1 (en) | 2009-09-21 | 2011-03-30 | Thomson Licensing | System and method for automatically verifying storage of redundant contents into communication equipments, by data comparison |
JP5796898B2 (ja) * | 2012-03-07 | 2015-10-21 | Kddi株式会社 | データ転送装置、転送方法、およびプログラム |
WO2018162058A1 (en) * | 2017-03-08 | 2018-09-13 | Huawei Technologies Co., Ltd. | Flattening l3 routing in sdn using proactive shortest path |
CN108829792A (zh) * | 2018-06-01 | 2018-11-16 | 成都康乔电子有限责任公司 | 基于scrapy的分布式暗网资源挖掘系统及方法 |
US10747455B2 (en) * | 2018-08-03 | 2020-08-18 | Western Digital Technologies, Inc. | Peer storage system with peer operation state indicator |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07283832A (ja) * | 1993-03-26 | 1995-10-27 | Nec Corp | メールプロトコル変換制御システム |
US20020143944A1 (en) * | 2001-01-22 | 2002-10-03 | Traversat Bernard A. | Advertisements for peer-to-peer computing resources |
JP2005109539A (ja) * | 2003-09-26 | 2005-04-21 | Nec Soft Ltd | コンテンツの検索と配信を行うシステムと方法、及びプログラム |
WO2006012610A2 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US754523A (en) * | 1903-12-07 | 1904-03-15 | Arnold J West | Tilting bin and sample-display device. |
US5737526A (en) * | 1994-12-30 | 1998-04-07 | Cisco Systems | Network having at least two routers, each having conditional filter so one of two transmits given frame and each transmits different frames, providing connection to a subnetwork |
US6680942B2 (en) * | 1999-07-02 | 2004-01-20 | Cisco Technology, Inc. | Directory services caching for network peer to peer service locator |
US7275102B2 (en) * | 2001-01-22 | 2007-09-25 | Sun Microsystems, Inc. | Trust mechanisms for a peer-to-peer network computing platform |
US7013303B2 (en) * | 2001-05-04 | 2006-03-14 | Sun Microsystems, Inc. | System and method for multiple data sources to plug into a standardized interface for distributed deep search |
US7171415B2 (en) * | 2001-05-04 | 2007-01-30 | Sun Microsystems, Inc. | Distributed information discovery through searching selected registered information providers |
DE10143754A1 (de) * | 2001-09-06 | 2003-04-03 | Siemens Ag | Skalierbares Peer-to-Peer-Netzwerk mit einem Verzeichnisdienst |
US7395536B2 (en) * | 2002-11-14 | 2008-07-01 | Sun Microsystems, Inc. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
US7769881B2 (en) * | 2003-01-24 | 2010-08-03 | Hitachi, Ltd. | Method and apparatus for peer-to peer access |
GB0303192D0 (en) | 2003-02-12 | 2003-03-19 | Saviso Group Ltd | Methods and apparatus for traffic management in peer-to-peer networks |
US20050198336A1 (en) * | 2004-01-22 | 2005-09-08 | Edward Eytchison | Methods and apparatuses for automatic adaptation of different protocols |
DE102004036259B3 (de) * | 2004-07-26 | 2005-12-08 | Siemens Ag | Netzwerkmanagement mit Peer-to-Peer-Protokoll |
US7499980B2 (en) * | 2004-08-19 | 2009-03-03 | International Business Machines Corporation | System and method for an on-demand peer-to-peer storage virtualization infrastructure |
US20060168225A1 (en) * | 2004-10-29 | 2006-07-27 | John Gunning | Network and a distributed electronic commerce system using the network |
WO2006072949A1 (en) * | 2005-01-05 | 2006-07-13 | Yissum Research Development Company Of The Hebrew University Of Jerusalem | A method and apparatus for managing communications |
US7852831B2 (en) * | 2005-02-22 | 2010-12-14 | Akbar Imran M | Method and system for providing private virtual secure Voice over Internet Protocol communications |
US7529255B2 (en) * | 2005-04-21 | 2009-05-05 | Microsoft Corporation | Peer-to-peer multicasting using multiple transport protocols |
WO2007064192A1 (en) | 2005-12-01 | 2007-06-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Multimedia personalized greeting service for circuit switched call setup |
US8788706B2 (en) * | 2006-02-27 | 2014-07-22 | Vudu, Inc. | Method and system for managing data transmission between devices behind network address translators (NATs) |
US7877457B2 (en) | 2006-03-17 | 2011-01-25 | Macrovision Corporation | Peer to peer gateway |
-
2006
- 2006-03-17 US US11/384,238 patent/US7877457B2/en active Active
-
2007
- 2007-03-16 KR KR1020087024950A patent/KR101220614B1/ko not_active IP Right Cessation
- 2007-03-16 CA CA2645274A patent/CA2645274C/en active Active
- 2007-03-16 JP JP2009500629A patent/JP4806462B2/ja active Active
- 2007-03-16 AU AU2007238425A patent/AU2007238425B2/en active Active
- 2007-03-16 WO PCT/US2007/064192 patent/WO2007121022A2/en active Application Filing
- 2007-03-16 EP EP07758713A patent/EP2002348A4/en not_active Ceased
-
2011
- 2011-01-19 US US13/009,700 patent/US8412775B2/en active Active
- 2011-03-18 JP JP2011061688A patent/JP2011151842A/ja active Pending
- 2011-05-03 AU AU2011202029A patent/AU2011202029A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07283832A (ja) * | 1993-03-26 | 1995-10-27 | Nec Corp | メールプロトコル変換制御システム |
US20020143944A1 (en) * | 2001-01-22 | 2002-10-03 | Traversat Bernard A. | Advertisements for peer-to-peer computing resources |
JP2005109539A (ja) * | 2003-09-26 | 2005-04-21 | Nec Soft Ltd | コンテンツの検索と配信を行うシステムと方法、及びプログラム |
WO2006012610A2 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
JP2008507928A (ja) * | 2004-07-23 | 2008-03-13 | サイトリックス システムズ, インコーポレイテッド | ネットワークノード間の通信を最適化するためのシステムおよび方法 |
Non-Patent Citations (6)
Title |
---|
CSND200400848029; 宮川 達彦: 'Webアプリケーション開発Cookbook' WEB+DB PRESS 第15巻, 20030725, pp.215〜223, (株)技術評論社 * |
CSND200500080004; 北郷 達郎: 'P2Pの真実' NIKKEI BYTE 第255号, 20040722, pp.38〜43, 日経BP社 * |
CSNG200400513005; 菅野 博康: 'インスタントメッセージ技術の最新動向とその応用-CPIMによる相互接続性へのアプローチ' 情報処理学会研究報告 第2002巻 第58号, 20020626, pp.47〜54, 社団法人情報処理学会 * |
JPN6010066857; 北郷 達郎: 'P2Pの真実' NIKKEI BYTE 第255号, 20040722, pp.38〜43, 日経BP社 * |
JPN6010066858; 宮川 達彦: 'Webアプリケーション開発Cookbook' WEB+DB PRESS 第15巻, 20030725, pp.215〜223, (株)技術評論社 * |
JPN6011020551; 菅野 博康: 'インスタントメッセージ技術の最新動向とその応用-CPIMによる相互接続性へのアプローチ' 情報処理学会研究報告 第2002巻 第58号, 20020626, pp.47〜54, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
JP4806462B2 (ja) | 2011-11-02 |
EP2002348A4 (en) | 2010-12-01 |
CA2645274A1 (en) | 2007-10-25 |
EP2002348A2 (en) | 2008-12-17 |
KR101220614B1 (ko) | 2013-01-18 |
AU2007238425B2 (en) | 2011-02-24 |
KR20080113058A (ko) | 2008-12-26 |
US20070220160A1 (en) | 2007-09-20 |
WO2007121022A2 (en) | 2007-10-25 |
US20110113103A1 (en) | 2011-05-12 |
US8412775B2 (en) | 2013-04-02 |
US7877457B2 (en) | 2011-01-25 |
CA2645274C (en) | 2013-04-30 |
AU2007238425A1 (en) | 2007-10-25 |
JP2009530922A (ja) | 2009-08-27 |
AU2011202029A1 (en) | 2011-05-26 |
WO2007121022A3 (en) | 2008-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4806462B2 (ja) | ピアツーピア・ゲートウェイ | |
US10798203B2 (en) | Method and apparatus for reducing network resource transmission size using delta compression | |
US10880390B2 (en) | Method and apparatus for reducing network resource transmission size using delta compression | |
Ng et al. | Peerdb: A p2p-based system for distributed data sharing | |
JP5539863B2 (ja) | P2pネットワーク上で広告をするためのシステム及び方法 | |
EP2266043B1 (en) | Cache optimzation | |
Lui et al. | Interoperability of peer-to-peer file sharing protocols | |
US7509372B2 (en) | Method and system for redirecting data requests in peer-to-peer data networks | |
JP4938074B2 (ja) | リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ | |
WO2014071786A1 (zh) | 一种文件传输的方法及系统 | |
JP2006252085A (ja) | ユーザ識別情報を変換するファイルサーバ | |
US20140143339A1 (en) | Method, apparatus, and system for resource sharing | |
WO2011150645A1 (zh) | 网站托管服务调度方法、应用访问处理方法、装置及系统 | |
US20090234858A1 (en) | Use Of A Single Service Application Instance For Multiple Data Center Subscribers | |
US20050114372A1 (en) | System and method for content management over network storage devices | |
JP3977298B2 (ja) | グリッドコンピューティングシステム | |
JP2017123040A (ja) | サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム | |
JP4492569B2 (ja) | ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム | |
JP2009116496A (ja) | ディレクトリサーバ装置、ディレクトリサーバプログラム、ディレクトリサービスシステム、およびディレクトリサービス管理方法 | |
CN116233248A (zh) | 资源响应方法、设备及可读存储介质 | |
JP2011141608A (ja) | P2p通信のコンテンツ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120510 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121213 |