CN101491063A - 用于在对等网络之间进行数据传输的方法和系统 - Google Patents
用于在对等网络之间进行数据传输的方法和系统 Download PDFInfo
- Publication number
- CN101491063A CN101491063A CNA2007800259705A CN200780025970A CN101491063A CN 101491063 A CN101491063 A CN 101491063A CN A2007800259705 A CNA2007800259705 A CN A2007800259705A CN 200780025970 A CN200780025970 A CN 200780025970A CN 101491063 A CN101491063 A CN 101491063A
- Authority
- CN
- China
- Prior art keywords
- peer
- network
- address
- passive
- search
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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/1093—Some peer nodes performing special functions
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
用于在第一对等网络(P2P1)中的第一对等装置(P1)与第二对等网络(P2P2)中的目标对等装置(P2’)之间进行数据传输的方法,其中每个对等装置(P1、P1’、P2’)都具有在其相应对等网络(P2P1、P2P2)中的节点地址(NID1’、NID1’、NID2’)以及在上级通信网络(IN)中的网络地址(IP1、IP1’、IP2’),其中在说明该第一对等装置(P1)的网络地址(IP1)的情况下,针对该目标对等装置(P2’)的一个搜索询问(S1)由该第一对等网络(P2P1)被发送到该第二对等网络(P2P2)中的至少一个第二对等装置(P1’)。
Description
本发明涉及用于在不同的对等网络之间传输数据的一种方法、一种合适的对等装置以及一种相应的网络系统(Netzwerkanordnung)。
利用对等系统能够把大量的、在下文中也称作对等装置(Peer-Einrichtungen)的设备在没有中心装置诸如服务器的情况下相互联网。在此特定的业务必须由该对等装置本身来提供,其中所述的业务在通常的客户机-服务器构架中由相应的中央单元、服务器来承担。在此一个尤其重要的功能是地址解析,也即对于联系某一对等体而必要的、用户的公开数据到其设备的或其对等装置的网络地址的转换。公开数据在此比如可以是用户名、电话号码或表征对等装置的其他标识。通常因特网作为上级通信网络利用已公开的因特网协议TCP/IP而被使用,使得该网络地址通常包括IP地址以及该对等体的端口。下文中使用了名称“对等体(Peer)”和“对等装置”,然而它也可以是以下的名称,比如熟悉的网络单元、部件、通信终端设备、用户、实体(Instanz)或站。
在对等体之间的通信在此通过上级通信网络的协议来进行,其中该上级通信网络通常是因特网。真正的对等网络则通过一个对等体群组来构成,其中所述的对等体在该对等(P2P)网络中分别具有一个节点ID或节点地址。在一个P2P网络的两个对等体之间的数据连接首先需要由节点地址来查明被询问的对等体的网络地址,其中该节点地址对于发出询问的对等体是已知的。在所谓的混合P2P网络中,一个服务器准备好参与该P2P网络的对等体的一个中央目录,其中该中央目录是以其节点地址以及相应网络地址的形式。文件交换平台诸如Napster或iMesh、Audio Galaxy或SongSpy基于的是具有相应中央目录服务的P2P网络。在此其缺点是,在该中央目录服务失效的情况下,就不再能够构建新的通信连接。
为了避免对具有中央地址目录的服务器的依赖,可以利用搜索询问来遍历该P2P网络,也即从一个发出询问的对等体开始把请求消息级联地发送到其他许多对等体,直到被搜索的对等体进行应答。但是这种措施导致非常高的网络负荷;此外,随着网络容量的增大,实际也越来越少地找到所搜索的对等体。作为这种搜索策略的例子应该提及的是Gnutella网络。
在其他分散P2P网络中,不设置用于目录服务的中央服务器或者特殊的对等体。一个发出询问的对等体在此动态地找到该P2P网络的其他对等体并与之通信,以交换数据和信息。该地址解析,也即找出通过该P2P网络中的节点地址来表征的被询问对等体的网络地址,动态地通过一种路由协议来进行。
一种可能比如是使用一种分布式哈希表格(DHT=Distributed HashTable)。在此该表格给每个对等体或每个节点地址分配了在上级通信网络中的一个相应网络地址,该表格分布于该P2P网络中的所有参与的对等体上。在对等体或节点地址的环状组织的逻辑系统中,该对等体比如在一个本地分配表格或哈希表格中存储有多个相邻的对等体或节点地址以及其网络地址。该节点地址空间在此具有一种度量(Metrik),该度量定义了在对等体或节点地址之间的间距。用于在环状组织的分散P2P网络中进行地址解析的一种合适的算法比如是Chord算法,其在IonStoica、Robert Morris、David Karger、M.Frans Kaashoek、Hari Balakrishnan的“CHORD:A Scalable Peer-to-Peer Lookup Service for InternetApplications”MIT-LCS-TR-819中有描述。
一个节点地址或节点ID(node-ID)的分配比如可以通过对有关对等体的用户名使用一种哈希函数来确定。类似地,还可以对搜索项比如文件名来实施哈希函数,这提供一个哈希值。给每个对等体都分配了一个哈希值范围,其中哈希值比如又以升序排列。分配给相应对等体的范围的第一哈希值则例如对应于有关对等体的节点地址。由此比如确定了在被混杂的(gehashten)文件名中哪些数据在一个对等体中是可用的。
对数据或用户或对等体的搜索被实施,其方式是发出询问的或进行搜索的对等体计算预定关键字、诸如文件名、用户名或比如电话号码的哈希值。为了找到通过混杂而产生的、要搜索的节点ID的网络地址,发出询问的对等体发送一个搜索询问至一个对等体,该对等体将它的节点地址以及所属的网络地址记录在发出询问的对等体的已知对等体列表比如邻居列表和/或指针列表中了。如果被询问的对等体负责被搜索的哈希值,那么它就把被询问的数据通过上级网络发送到发出询问的对等体。
如果首先被询问的对等体不负责该哈希值,那么它就利用来自其对等列表的对等体的地址来应答,该对等体的节点ID比它自己的节点地址更类似于被搜索的哈希值。自己的节点ID是否与被搜索的节点ID或被搜索的哈希值相似,通过该节点地址空间的所使用的度量来得知。首先被询问的对等体从而向发出询问的对等体发送更接近被搜索哈希值的节点ID和IP地址。发出询问的对等体现在可以发送一个第二搜索询问至具有更接近节点地址的对等体。该方法被继续实施,直到找到一个对等体,该对等体负责该哈希值,并且可以提供所搜索的数据。
在P2P网络的这种分散构造中,所有参与的对等体必须以环状构造来组织,其中这种环状构造由有序的、循环延伸的节点地址列表而形成。P2P网络比如用于在交换场所中交换文件。然而在上级网络中针对网络地址的地址解析在所谓的VOIP传输、即因特网语音传输(VOIP=voiceover IP)中也是尤其重要的。比如用于语音传输的一种P2P网络以名称“Skype”而已知。该网络的用户可以相互交换语音数据,并从而通过因特网打电话。
本发明所致力于的问题是在通常不同的运营商的不同P2P网络之间进行数据传输。对于不同P2P网络的对等体,陌生的其他各对等体的网络地址分配基本是未知的。为了能够使不同P2P网络的对等体相互通信,比如可以把该P2P网络联合为一个网络。那么就得到了一个较大的P2P网络。陌生对等体的组合或加入需要交换很多稳定消息,以相互平衡或新构建单个的对等体的邻居列表。这些则必须在两个运营商的IP网络之间进行交换。在组合比如两个P2P环时,在一个运营商的网络中的技术问题也影响另一运营商的用户的服务质量。那么对两个运营商的终端客户的单独的许可支付也造成困难。
代替地,已经推荐把多个P2P网络通过所谓的网关来连接。在此所选择的服务器接受来自陌生网络的搜索询问,并在自己的P2P环中为该搜索询问实施搜索。所述搜索的结果、即例如在自己网络中的对等体的网络地址或IP地址,然后被发送返回到发出询问的网络或者陌生运营商的对等体。这种网关必须是功率非常强大的,以完成大量搜索询问。在对询问进行验证时所期望的加密运行还产生其他的问题。此外,在网关失效的情况下,在不同的P2P网络之间绝对不再能够进行搜索询问。
从而本发明任务是,提供一种简单的方法,该方法实现了在不同对等网络的对等体之间安全而可靠的数据交换。
该任务通过根据权利要求1所述的用于数据传输的一种方法、根据权利要求6所述的一种对等装置以及根据权利要求11所述的一种网络系统而得到解决。
因此规定了用于在第一对等网络的第一对等装置与第二对等网络的目标对等装置之间进行数据传输的一种方法,其中每个对等装置都具有在其相应对等网络中的节点地址以及在上级通信网络中的网络地址,其中,针对该目标对等装置的搜索询问,在说明该第一对等装置的网络地址的情况下,从该第一对等网络被发送至该第二对等网络中的至少一个第二对等装置。
根据本发明,尤其在一个对等网络中进行被搜索对等装置的地址解析,该对等网络与发出询问的对等装置的对等网络是不相同的,其方式是把发出询问的对等装置的网络地址转发到该陌生网络中的一个对等装置。然后在此在该陌生网络中就可以进行被搜索对等装置的地址解析,直到找到目标对等装置,该目标对等装置然后就可以通过上级网络建立与发出询问的对等装置或其网络地址的数据连接。所述上级通信网络比如是因特网或类似的网络结构。
另外还优选地实施以下的方法步骤:
-在说明该第二对等网络中该目标对等装置的目标节点地址的情况下,发送该搜索询问;
-根据一种搜索算法利用分布式哈希表格在该第二对等网络中实施搜索,以找出该目标对等装置的网络地址;
-通过该上级通信网络把该目标对等装置的网络地址发送到该第一对等装置。
一旦发出询问的对等装置收到了该目标对等装置的网络地址,那么就可以通过该上级通信网络借助该网络地址在该第一对等装置与该目标对等装置之间另外构建一个数据连接。对于发出询问的对等装置,陌生P2P网络的构造是无关的。对该目标对等装置的网络地址的搜索按照该第二对等网络的协议来进行。对于该数据连接,最终仅仅该网络地址是起决定作用的。
在该方法的一个变化中,该第一对等装置的搜索询问被转送到该第二对等网络中的、另外的第二对等装置上,其中在该第二对等网络中所述另外的对等装置的网络地址被存储在一个列表中。通过在该第二网络中该对等装置列表的存储,已经可以在该第二网络中进行有利的对等装置预选,使得与该第二对等网络中地址空间度量有关的目标节点地址在位于如下的对等装置的附近:从该对等装置开始在该第二对等网络中进行地址解析或者进行搜索。
在该搜索询问之前,另外还可以把该第二对等网络中的第二对等装置的网络地址的列表传输到一个被动的(passive)对等装置,其中该被动对等装置被分配给该第一对等装置。由此可以保证,为来自自己的对等网络的搜索询问总是提供一个主动的(aktive)实体,或者在该陌生目标网络中提供可通过网络地址来寻址的对等装置,该搜索可以在该目标对等网络中由该对等装置开始。
本发明另外还提供了用于第一对等网络的对等装置,其具有在该第一对等网络中的节点地址,并具有在上级通信网络中的网络地址,其中该对等装置具有被分配的被动对等装置,该被动对等装置与该对等网络无关,并保存有该第二对等网络中对等装置的至少一个网络地址,并且其中该被动对等装置如此来设置,使得它把针对该第二对等网络中一个目标对等装置的搜索询问在说明该对等装置的网络地址的情况下发送到该第二对等网络中的所述至少一个对等装置(P1’)。
根据本发明的对等装置尤其适于实施根据本发明的、用于在对等网络之间进行数据传输的方法。该被动对等装置不是该对等网络的组成部分,其中该被动对等装置也被称作该对等网络中的被动实体,而其他的对等装置是该网络中的主动实体。它仅仅提供在该陌生对等网络中对于搜索询问必要的一个或多个网络地址。如果比如发出询问的对等装置对一个用户名实施了一种混杂,由此生成了一个陌生的、也即不属于自己的对等网络的节点地址,那么该被动对等装置就把该目标节点地址转发到该陌生对等网络的一个对等装置,其中该对等装置对应于由该被动对等装置所存储的网络地址。在该陌生网络中的所述搜索按照一种合适的搜索算法来进行,并把所搜索的目标对等装置的网络地址发送回到发出询问的对等装置,因为该被动对等装置已经转发了发出询问的对等装置的网络地址。
因此优选地还没有给该被动对等装置分配在该对等网络之一中的节点地址,并且也不能由其他的对等装置来寻址。
该对等装置优选地具有该对等网络的一个分布式哈希表格的、被存储的部分哈希表格,其中该表格包括有节点地址与网络地址之间的分配。
在一个优选的实施方案中,所述至少一个对等装置作为可执行的计算机程序而在计算机上来执行,其中该计算机程序具有用于按照对等协议来稳定对等网络的稳定程序模块、用于存储数据的存储器程序模块、以及用于产生搜索询问的搜索程序模块,其中该被动对等装置使用该第二对等网络中对等装置的至少一个网络地址来访问该搜索程序模块。
运行所谓文件共享的对等网络、诸如交换场所可以由连接到因特网的计算机来构建。根据本发明的对等装置的实现从而仅仅需要实现一个附加的被动对等装置,其中该被动对等装置把该第二对等网络中对等装置的网络地址传输给该搜索程序模块。在最简单的情况下,该被动对等装置从而仅仅包括具有陌生对等装置的可能网络地址的表格,从而然后在该陌生对等网络中进行进一步的地址解析。与常规的对等装置相比从而产生了极小的额外耗费。由根据本发明的、在不同对等网络之间的数据传输而造成的计算机载荷也是微小的,因为仅仅访问为在自己的对等网络中的搜索而保存的程序模块。
另外还规定了具有第一对等网络和至少一个第二对等网络的一种网络系统,其中该第一对等网络具有该第一对等装置,该第二对等网络具有该第二对等装置,其中至少一个对等装置根据本发明来实施。
有利地,在根据本发明的网络系统中给每个对等装置分配了一个被动对等装置。尤其在本发明的通过所设置的被动对等装置的计算机实施中,由于这种极小的额外耗费而实现了所有对等网络的联网,其中所述被动对等装置可以分别又作为计算机程序来构造。
在该网络系统的一个优选实施方案中,至少一个对等装置作为负载平衡器来设置,其中该负载平衡器把一个被动对等装置的搜索询问转发到相应对等网络中的一个对等装置。负载平衡器优选地保存有列表,所述列表具有在相应的目标对等网络中主动的对等装置以及其网络地址,该负载平衡器从而保证了在该目标对等网络中的所述搜索总是能够从它的一个对等装置开始来执行。
在一个特别的实施方案中,至少一个对等装置作为汇聚对等装置(Rendezvous-Peer)来设置,该汇聚对等装置按照一个被动对等装置的询问提供在相应目标对等网络中对等装置的至少一个网络地址。从而可以在搜索询问之前首先利用该目标对等网络中对等装置的可能的网络地址来更新该被动对等装置的列表。
至少一个对等网络优选地利用一种分布式哈希表格来运行,并尤其利用Chord算法或Kademlia算法来运行,以在相应的网络中进行地址解析。
本发明的其他有利的扩展和改进是从属权利要求的主题、以及在下文中参照附图而详细解释的实施例的主题。
其中:
图1示出了一种环状组织的对等网络;
图2示出了两个根据本发明而连接的P2P网络;
图3示出了一种对等装置的功能图;
图4示出了具有汇聚对等体的两个根据本发明而连接的P2P网络;以及
图5示出了多个根据本发明而连接的P2P网络。
除非另外说明,在附图中相同的或功能相同的单元将用同一参考符号来设置。
为了解释在对等网络中在地址解析时的一般问题,在图1中比如示出了一种环状组织的P2P网络。其设置有对等装置P1-P8,这些对等装置比如作为连接到因特网的、安装有P2P软件的计算机来实施。每个对等体从而具有在因特网中对其进行识别的IP地址IP1-IP8以及在该P2P网络P2P1中将其识别为对等体的节点地址NID1-NID8。下面比如对用于地址解析的该Chord算法的原理进行解释。当然其他的P2P协议也可以用于分散的P2P网络。
一个对等体的节点地址比如通过对该对等体的名称应用一种合适的哈希函数来获得。该名称比如可以是一个用户名或一个电话号码。相应的搜索字、比如电话号码的哈希值被分配给一个节点ID或一个节点地址。也可以把多个哈希值分配给一个节点地址。比如可以给该对等体P1分配一个节点地址NID1=003,其中该值NID1=003表明哈希值范围的开头,对等体P1对所述哈希值负责。在使用10比特宽度哈希值的一个P2P网络中,比如可以把如在表格中所示的哈希值范围分配给各对等体。
对等体 | 客户地址 | 哈希值 |
P1 | NID1=003 | H=003...123 |
P2 | NID2=124 | H=124...203 |
P3 | NID3=204 | H=204...311 |
P4 | NID4=312 | H=312...433 |
P5 | NID5=434 | H=434...522 |
P6 | NID6=523 | H=523...689 |
P7 | NID7=690 | H=690...814 |
P8 | NID8=815 | H=815...002 |
从而给每个对等体分配了具有确定的值的节点地址以及由搜索项所生成的哈希值H=Hash(搜索项)的范围。
该表格从而示出了该P2P网络的完整表格。该表格不是集中由一个服务器来提供的,而是分布地存储在单个的对等体P1-P8上。每个对等体都认识其邻居比如最近邻居的被分配的哈希值。该对等体P3已经存储了以下的信息:即具有节点地址NID2=124的对等体P2负责哈希值124-203。该对等体P3另外还知道它自己负责哈希值204-311以及具有节点地址NID4=312的相邻对等体P4负责哈希值312-434。通常每个对等体都支配有一个部分哈希表格,该部分哈希表格具有其在节点地址空间中相邻的对等体的哈希值分配,并在必要时还具有一个或多个指针对等体的哈希值分配,比如在对等体P3的情况中,有具有节点地址NID7=690的对等体P7对于哈希值690-814的分配。在图1中示出了一个相应的部分哈希表格PHT。
现在如果从该对等体P2开始了针对搜索项的搜索询问或文件询问,其中该搜索项提供哈希值Hash(搜索项)=530,那么该对等体P2在说明它自己的网络地址IP2以及所搜索的哈希值530的情况下把一个搜索询问F1发送到对等体P3。该对等体P3被选择,是因为与在部分哈希表格中所记录的、具有在H=003与123之间的负责范围的另一对等体P1相比,在该对等体P2的部分哈希表格PHT2中,哈希值530更接近于具有在204与311之间哈希值的对等体P3的负责范围。一个搜索询问从而总是被发送到自己的部分哈希表格中的以下那个对等体:即该对等体的节点地址在节点地址空间中最接近于该所述搜索项的哈希值或该目标节点地址。
该对等体P3随后就检查它的部分哈希表格PHT3,并查明该对等体P7就是以下那个对等体:即该对等体的负责范围或所分配的哈希值最接近于所搜索的哈希值530,并发送一个相应的第二搜索询问F2。该对等体P7在它的所分配的部分哈希表格PHT7中查明具有节点地址532的对等体P6为负责该哈希值530的对等体,并将该信息发送到最初发出询问的对等体P2,其中给该对等体P2的网络地址IP2分配了该搜索询问F1、F2。代替地,如果该对等体P2已经发送了搜索项为哈希值530的数据询问,那么该对等体P7就可以在一个消息F3’中给该对等体P6发送该对等体P2的或者其网络地址IP2的数据询问请求。随后,该目标对等体P6就在该通信网络或因特网中通过数据连接F4把用哈希值530来标识的数据直接传输到发出询问的对等体P2或其IP地址IP2。从而一种相应的P2P协议就实现了对例如来自对等体P2的所搜索数据的地址解析,其中该对等体P2没有关于所述数据在P2P网络中的存储地址的信息,因为分配给该对等体P2的部分哈希表格PHT2不包括该节点地址范围。
在图2中示出了分别具有对等装置P1-P4、P1’-P5’的两个对等网络P2P1、P2P2。在其相应的P2P网络中给该对等装置P1-P4、P1’-P5’分别分配了网络地址IP1-IP4和IP1’-IP5’以及节点地址NID1-NID4、NID1’-NID5’。在此简化地假定,相应的节点地址NID相应于该对等体名或用户名的哈希值。在图2中所示的两个P2P网络P2P1、P2P2由不同的运营商或提供商来运行。比如可以考虑所述P2P网络用于在其用户之间的VOIP传输,其中所述用户分别使用一个对等装置。
如果在一个运营商P2P网络中的用户想相互通电话,或者如果在P2P网络中的对等装置相互通信,那么就进行地址解析,如例如参照图1所述。然而,如果运行该对等体P1的用户A想与该第二P2P网络P2P2中运行对等体P2’的用户B相通信,那么就必须采用根据本发明的方法的一个实施方案。为了实现在不同P2P网络的对等体之间的数据交换或数据传输,比如给对等体P1分配了一个被动的对等装置pP1。该被动对等装置pP1作为相应网络P2P1的一个被动实体来构造,使得它可以完全不存储来自其他对等体的数据,而是仅仅能够把搜索询问发送到主动的实体、也即对等体。该被动对等装置pP1在此保存了在一个陌生对等网络中一个对等装置的至少一个IP地址或网络地址。
下面比如解释在该第一对等网络P2P1中的对等体P1与该第二对等网络P2P2中的对等体P2’之间的一个数据连接。这两个P2P网络P2P1、P2P2已经在一个上级通信网络如因特网IN中实现。该用户A具有比如作为节点地址NID1的其用户名的哈希值,比如hash(用户A@运营商1)。连接到该第二P2P网络P2P2的用户B比如具有节点地址NID2’=hash(用户B@运营商2)。如果对等装置P1应该通过该因特网IN向对等体P2’建立一个连接,那么该对等装置P1就确定节点地址NID2’位于该陌生对等网络P2P2中。由此该被动对等装置pP1被激活,其中该被动对等装置pP1保存有对等体表格pPT,其中该表格具有陌生P2P网络P2P2的主动实体或对等体以及其网络地址或IP地址IP’。该被动对等装置pP1本身不具有所述P2P网络之一的节点地址,而是仅仅如此来实施,使得它在说明目标节点地址以及优选地其对等体P1的网络地址IP1的情况下可以把搜索询问发送到该陌生网络P2P2的一个对等体P1’。
该被动对等装置PP1从而通过因特网IN把搜索询问S1在说明该目标节点地址NID2’以及发出询问的对等体pP1自己的IP地址IP1的情况下传输到陌生对等网络P2P2中对等体P1’的IP地址或网络地址IP1’。从而现在可以按照该对等网络P2P2的合适的搜索算法来找到所搜索的目标对等体P2’。
在图2所示的例子中,该节点地址NID2’记录在该对等体P1’的部分哈希表格或邻居列表中。也即,该对等体P1’把该目标对等体P2’的网络地址IP2’发送到该P2P网络P2P1中发出询问的对等体pP1的IP地址IP1。从而可以从对等体pP1实施开始到一个目标地址P2’的地址解析。
在另一步骤S3中,现在被动对等体pP1可以询问具有IP地址或网络地址IP2’的目标对等体P2’。通过上级通信网络(在此为因特网IN)现在在该IP地址IP1、IP2’之间实现了一个数据连接,这在图2中通过箭头S4来表示。通过采用分配给该对等体P1的被动对等体pP1,从而能够将搜索询问输出(exportieren)到该目标P2P网络中,在那里按照那里有效的搜索算法来实施搜索询问。
在图3中示出了根据本发明一个实施方案的一种对等装置P1的示意性构造。对等装置P1尤其可以作为可在计算机上执行的软件以计算机实现的方式被实施。为此,一个相应的计算机程序或对等体P1具有稳定程序模块SM、存储器程序模块RM、搜索程序模块LM以及用于该被动对等体的程序模块pPM。另外还可以设置其他的模块,比如用于实现所述部分哈希表格PHT1的模块或者搜索模块LM,其中该部分哈希表格具有相应的邻居对等体和用于搜索算法的对等体地址。
该对等体P1或该对等体软件通常与一种上级应用软件AP相互作用,应用软件AP用于实现计算机的相应功能。这比如可以是一种VOIP软件、用于文件共享的软件或期望进行对等通信的其他应用软件。如果附加的对等体加入该P2P网络中或者对等体失效,那么其中该稳定程序模块主要用于更新邻居表格PHT1或该对等体P1所属的部分哈希表格。该稳定程序模块支配有合适的稳定算法,其中所述稳定算法保证了与对等体P1相适应的部分哈希表格。
该存储器程序模块RM比如用于存储应当被提供给该P2P网络的数据或文件。其比如可以是地址、电话号码、用户名或文件名。该搜索程序模块LM例如实现了关于图1和2而解释的、在对等网络中的搜索算法。该搜索程序模块在此访问对等体1的部分哈希表格,并生成相应的搜索询问,其中该搜索询问比如包含有目标节点地址和自己的网络地址。该被动对等模块pPM访问了该搜索程序模块LM,并向其提供在陌生网络中的对等体的网络地址,来作为能够进一步处理该搜索询问的对等体的IP地址。如果该对等体P1应当与具有目标节点地址的对等体相通信,其中该目标节点地址不属于自己的P2P网络,那么就如上所述来进行。该搜索程序模块从而生成一个标准搜索询问,其中,由于该被动对等模块pPM的干涉,该搜索消息被传输到自己的P2P网络之外的IP地址。
接着例如如同参照图2所解释的来进行地址解析。因为用于稳定自己的P2P网络的所述程序模块SM、用于存储的程序模块RM以及用于生成搜索询问的程序模块LM通常保存在对等装置或相应的软件中,所以利用被动的对等模块pPM来进行扩展仅仅意味着微小的额外耗费。因为完全不给该被动对等模块分配节点地址,所以各P2P网络的网络构造总体也没有变得更复杂。
在图4中示出了本发明的另一可能的扩展。设置有具有对等装置P1-P5的一个第一对等网络P2P1,其中给每个对等装置P1-P5都分配了一个被动对等装置pP1-pP5。类似地利用对等装置P1’-P5’构建了一个第二对等网络P2P2,其中也给每个对等装置P1’-P5’都分配了一个被动对等装置pP1’-pP5’。因为给每个对等装置P1-P5、P1’-P5’都分配了被动对等装置形式的被动实体,所以,在陌生的对等网络中出现针对文件或信息的搜索询问时,每个对等装置可以采用相应目标对等网络的搜索算法,如同前面所详细解释的。
在该第二对等网络P2P2中,一个对等装置作为汇聚对等装置RV来实施。该汇聚对等装置RV提供了该第二对等网络P2P2的主动对等体的网络地址的列表,其中如果必须从P2P网络P2P1到第二P2P网络P2P2进行搜索询问,那么在列表APL中所记录的、对等体的IP地址之一就被提供给该第一网络P2P1的被动对等装置pP1。该汇聚对等装置RV给相应的被动对等体pP1这样总是提供网络P2P2的对等体的选择,其中这些对等体是主动的,并能够启动该P2P2的搜索算法。
这样如果询问比如从该第一对等网络P2P1的对等体P1出发,其中相应的对等体或用户位于该第二P2P网络中,那么该被动对等装置pP1首先在一个询问M0’中在该汇聚对等装置RV中询问在第二网络中的对等体的可能IP地址,其中能够向所述对等体传递随后的搜索询问。该汇聚对等装置检查它的列表APL,并在一个相应的消息M0中把比如对等装置P3’的一个或多个相应的IP地址传输至该被动对等装置pP1。在说明节点地址(比如NID5’)、其对等装置P1的作为搜索询问的开始地址的IP地址以及被询问的对等体的IP地址IP3’之下,该被动对等装置pP1随后生成一个搜索询问。该搜索询问S1到达对等体P3’,该对等体3’然后在第二对等网络P2P2中启动搜索算法。汇聚对等装置RV保证了总是给被动对等体提供适于该目标对等网络中的对等体的IP地址,其中在该对等装置上可以确定搜索询问。
在图5中示出了本发明的另一实施方案。其比如示出了三个对等网络P2P1、P2P2、P2P3,其具有对等装置P1-P5、P1’-P5’、PN”,其中给每个对等装置都分配了一个被动对等装置pP1-pP5、pP1’-pP5’、pPN”。另外还给每个P2P网络分配了至少一个负载平衡器LB1、LB2、LB3,其中该负载平衡器负责陌生被动对等装置的搜索询问。
在根据图5的本发明的实施方案中,一个被动对等装置至目标P2P网络中的搜索询问的第一消息总是进行到负载平衡器LB1、LB2、LB3。负载平衡器把搜索询问或者传输到该目标网络的主动对等体列表中的一个任意对等体,或者优选地已经传输到其节点地址最接近该目标节点地址的对等体。该被动对等体pP1比如把它的搜索询问T1发送到该第二对等网络P2P2的负载平衡器LB2。该负载平衡器判断出对等装置P3’最接近被搜索的目标节点地址比如NID4’,并把该搜索询问续传到该对等体P3’。该对等体P3’利用一个消息T3来应答该被动对等装置pP1的搜索询问,该消息比如包含有该目标对等体4’的网络地址IP4’。接着该对等体P1和P4’就可以在其IP地址IP1和IP4’之间构建一个数据连接。
该负载平衡器LB1、LB2、LB3在此不必作为该P2P网络中的有效实体来实施。该负载平衡器LB1、LB2、LB3分别具有一个主动对等体列表APL,以适当地续传搜索询问,这就足够了。负载平衡器的列表越大,它就越好地把来自外部的搜索询问的负载在它的目标对等网络中进行分配。如在图4中所解释的,该负载平衡器也可以与汇聚对等装置相同地被实施。那么一个相应组合的对等装置首先把主动对等体列表转交给发出询问的被动对等装置。也可以设置多个负载平衡器,其IP地址则在搜索询问之前就被传输到相应的被动对等装置。通过汇聚对等装置或负载平衡器对等体的相应冗余,进一步改善了在不同对等网络之间数据询问的可靠性。
尽管本发明已借助优选的实施方案来详细解释,但是它并不局限于此,而是可以有很多变化。本发明比如可以被应用于VOIP应用或文件共享应用。尽管本发明主要借助用于在P2P网络中进行地址或数据搜索的Chord算法来进行描述,但是也可以使用P2P网络的其他组织形式。另外唯独还应提及的是Kademlia搜索算法。
还可以考虑除了因特网之外的其他上级通信网络。类似的网络比如在ISDN、GSM或UNTS通信网络中给出。比如在不同移动无线电网络的用户之间打电话时也产生在对等网络之间的切换。通过本发明实现了网络的较高的可靠性和稳定性,因为存在进一步分隔的P2P网络。使用尤其高效的网关计算机是不必要的。
Claims (16)
1.用于在第一对等网络(P2P1)中的第一对等装置(P1)与第二对等网络(P2P2)中的目标对等装置(P2’)之间进行数据传输的方法,其中每个对等装置(P1、P1’、P2’)都具有在其各自的对等网络(P2P1、P2P2)中的节点地址(NID1、NID1’、NID2’)以及在上级通信网络(IN)中的网络地址(IP1、IP1’、IP2’),其中,针对该目标对等装置(P2’)的搜索询问(S1)在说明该第一对等装置(P1)的网络地址(IP1)的情况下从该第一对等网络(P2P1)被发送到该第二对等网络(P2P2)中的至少一个第二对等装置(P1’)。
2.根据权利要求1所述的方法,
其特征在于,
实施以下的方法步骤:
a)在说明该第二对等网络(P2P2)中的该目标对等装置(P2’)的目标节点地址(NID2’)的情况下,发送该搜索询问(S1);
b)根据搜索算法利用分布式哈希表格在该第二对等网络(P2P2)中实施搜索,以找出该目标对等装置(P2’)的网络地址(IP2’);
c)通过该上级通信网络(IN)把该目标对等装置(P2’)的网络地址(IP2’)发送(S2)到该第一对等装置(P1)。
3.根据权利要求1或2所述的方法,
其特征在于,
此外,通过该上级通信网络(IN)借助所述网络地址(IP1、IP2’)构建在该第一对等装置(P1)与该目标对等装置(P2’)之间的数据连接(S3、S4)。
4.根据前述权利要求至少之一所述的方法,
其特征在于,
该搜索询问(T1)被转送(T2)到该第二对等网络(P2P2)中的另外的第二对等装置(P3’),其中所述另外的第二对等装置(P3’)的网络地址(IP3’)被存储在列表中。
5.根据前述权利要求至少之一所述的方法,
其特征在于,
在该搜索询问之前,该第二对等装置(P1’、P3’)的网络地址(IP3’、IP3’)的列表被传输(M0、M0’)到被动对等装置(pP1),该被动对等装置被分配给该第一对等装置(P1)。
6.第一对等网络(P2P1)的对等装置(P1),具有第一对等网络(P2P1)中的节点地址(NID1)并具有上级通信网络(IN)中的网络地址(IP1),其中该对等装置(P1)具有被分配的被动对等装置(pP1),该被动对等装置独立于该对等网络,并保存有在第二对等网络(P2P2)中的对等装置(P1’)的至少一个网络地址(IP1’),并且其中该被动对等装置(pP1)以如下方式来设置,即它把针对该第二对等网络(P2P2)中目标对等装置(P2’)的搜索询问(S1)在说明该对等装置(P1)的网络地址(IP1)的情况下发送到该第二对等网络(P2P2)中的至少一个对等装置(P1’)。
7.根据权利要求6所述的对等装置(P1),
其特征在于,
该被动对等装置(pP1)具有列表,该列表具有该第二对等网络(P2P2)的对等装置(P1’)的网络地址(IP1’)的选择。
8.根据权利要求6或7所述的对等装置(P1),
其特征在于,
没有给该被动对等装置(pP1)分配对等网络中的节点地址,并且不能由其他的对等装置来寻址。
9.根据权利要求6-8至少之一所述的对等装置(P1),
其特征在于,
对等装置(P1)具有对等网络(P2P1)的分布式哈希表格(DHT)的、被存储的部分哈希表格(PHT),该部分哈希表格具有节点地址(NIDN)与网络地址(IPN)的分配。
10.根据权利要求6-9至少之一所述的对等装置(P1),
其特征在于,
对等装置(P1)作为可执行的计算机程序在计算机上来实现,所述计算机程序具有用于根据对等协议来稳定该对等网络(P2P1)的稳定程序模块(SM)、用于存储数据的存储器程序模块(RM),并具有用于生成搜索询问的搜索程序模块(LM),其中该被动对等装置(pP1)在使用该第二对等网络(P2P2)中的对等装置(P1’)的至少一个网络地址(IP1’)的情况下访问该搜索程序模块。
11.具有第一对等网络(P2P1)和至少一个第二对等网络(P2P2)的网络系统,其中该第一对等网络(P2P1)具有第一对等装置(P1、P2、P3),第二对等网络(P2P2)具有第二对等装置(P1’、P2’、P3’),其中至少一个对等装置(P1)按照权利要求6-10至少之一来实施。
12.根据权利要求11所述的网络系统,
其特征在于,
给每个对等装置(P1、P2、P1’、P2’)分配了一个被动对等装置(pP1、pP2、pP1’、pP2’)。
13.根据权利要求11或12所述的网络系统,
其特征在于,
该搜索询问(S1、T1)包含有所述第二对等网络(P2P2)中该目标对等装置(P2’)的目标节点地址(NID2’)的说明。
14.根据权利要求11-13至少之一所述的网络系统,
其特征在于,
至少一个对等装置(LB1、LB2、LB3)被设置为负载平衡器,所述负载平衡器把被动对等装置(pP1)的搜索询问(T1)转发到相应对等网络(P2P2)中的对等装置(P3’)。
15.根据权利要求11-14至少之一所述的网络系统,
其特征在于,
至少一个对等装置(RV)被设置为汇聚对等装置,所述汇聚对等装置根据被动对等装置(pP1)的询问而提供(M0’)在相应目标对等网络(P2P2)中的对等装置(P1’)的至少一个网络地址(IP1’)。
16.根据权利要求11-14至少之一所述的网络系统,
其特征在于,
至少一个对等网络(P2P2)利用分布式哈希表格并尤其利用Chord算法或Kademlia算法来设置,以用于进行地址解析。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006021591.5 | 2006-05-09 | ||
DE102006021591A DE102006021591B3 (de) | 2006-05-09 | 2006-05-09 | Verfahren und Anordnung zur Datenübertragung zwischen Peer-to-Peer-Netzwerken |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101491063A true CN101491063A (zh) | 2009-07-22 |
Family
ID=37853011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800259705A Pending CN101491063A (zh) | 2006-05-09 | 2007-05-02 | 用于在对等网络之间进行数据传输的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090119386A1 (zh) |
EP (1) | EP2018761A1 (zh) |
CN (1) | CN101491063A (zh) |
DE (1) | DE102006021591B3 (zh) |
WO (1) | WO2007128746A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250171B2 (en) * | 2007-06-22 | 2012-08-21 | Pioneer Corporation | Content delivery apparatus, content delivery method, and content delivery program |
DE102007043652A1 (de) * | 2007-09-13 | 2009-04-02 | Siemens Ag | Verfahren zum Betrieb eines dezentralen Kommunikationsnetzes |
CN101425958A (zh) * | 2007-10-29 | 2009-05-06 | 华为技术有限公司 | 一种p2p叠加网中请求应答方法、装置和系统 |
DE102008019033A1 (de) * | 2008-04-15 | 2009-10-22 | T-Mobile International Ag | Universelle Adressierung eines Kommunikationspartners über transparente statische Zuordnung einer Rufnummer |
US8228822B2 (en) | 2009-03-03 | 2012-07-24 | Cisco Technology, Inc. | Hierarchical flooding among peering overlay networks |
DE102009012992B4 (de) * | 2009-03-13 | 2011-03-03 | Technische Universität München | Verfahren und System zum Bereitstellen von Medieninhalten für eine Mehrzahl von Knoten in einem Datennetz |
US9325787B2 (en) | 2009-05-18 | 2016-04-26 | Cisco Technology, Inc. | Limited broadcast, peering among DHTs, broadcast put of limited content only |
US20100293223A1 (en) * | 2009-05-18 | 2010-11-18 | Cisco Technology, Inc. | Limiting storage messages in peer to peer network |
US8073978B2 (en) * | 2009-06-24 | 2011-12-06 | Microsoft Corporation | Proximity guided data discovery |
US9392055B2 (en) | 2009-09-30 | 2016-07-12 | France Telecom | Data sharing method and system |
CN102148741B (zh) * | 2010-02-05 | 2013-08-07 | 中国移动通信集团公司 | 一种负载重分配的方法、系统及呼叫方法和系统 |
EP2503760B1 (de) | 2011-03-24 | 2014-05-07 | Siemens Aktiengesellschaft | Verfahren zum Einrichten eines Kommunikationsnetzes aus Geräten einer Automatisierungsanlage |
US20130110999A1 (en) * | 2011-10-28 | 2013-05-02 | LogMeln, Inc. | Creating an optimized distribution network for the efficient transfer of data between endpoints |
US9591337B1 (en) * | 2012-03-27 | 2017-03-07 | Cox Communications, Inc. | Point to point media on demand |
CN103731451B (zh) * | 2012-10-12 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 一种文件上传的方法及系统 |
KR101534555B1 (ko) * | 2013-06-25 | 2015-07-08 | 숭실대학교산학협력단 | 원형 메시 오버레이 생성 및 유지 방법 |
CN104836783B (zh) * | 2014-06-04 | 2018-10-30 | 腾讯科技(北京)有限公司 | 数据传输的方法、装置及系统 |
US9608907B2 (en) * | 2014-09-29 | 2017-03-28 | Vivint, Inc. | Systems and methods for centrally-assisted distributed hash table |
WO2019095156A1 (zh) * | 2017-11-15 | 2019-05-23 | 华为技术有限公司 | 一种信息搜索的方法、终端、网络设备和系统 |
CN113382192B (zh) * | 2020-02-25 | 2023-12-15 | 贵州精准健康数据有限公司 | 一种医用去中心化云视讯系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
DE10143754A1 (de) * | 2001-09-06 | 2003-04-03 | Siemens Ag | Skalierbares Peer-to-Peer-Netzwerk mit einem Verzeichnisdienst |
US20030093562A1 (en) * | 2001-11-13 | 2003-05-15 | Padala Chandrashekar R. | Efficient peer to peer discovery |
US20040054781A1 (en) * | 2002-07-30 | 2004-03-18 | Heng-Chien Chen | Method for establishing point to point or point to multiple points internet connection(s) |
US20050108203A1 (en) * | 2003-11-13 | 2005-05-19 | Chunqiang Tang | Sample-directed searching in a peer-to-peer system |
US7313565B2 (en) * | 2004-02-19 | 2007-12-25 | Microsoft Corporation | Data overlay, self-organized metadata overlay, and associated methods |
EP1646205A1 (en) * | 2004-10-08 | 2006-04-12 | Deutsche Thomson-Brandt Gmbh | Method for establishing communication between peer-groups |
US20080130516A1 (en) * | 2004-12-21 | 2008-06-05 | Electronics And Telecommunications Research Institute | P2p Overplay Network Construction Method and Apparatus |
-
2006
- 2006-05-09 DE DE102006021591A patent/DE102006021591B3/de not_active Expired - Fee Related
-
2007
- 2007-05-02 EP EP07728697A patent/EP2018761A1/de not_active Withdrawn
- 2007-05-02 WO PCT/EP2007/054243 patent/WO2007128746A1/de active Application Filing
- 2007-05-02 US US12/300,261 patent/US20090119386A1/en not_active Abandoned
- 2007-05-02 CN CNA2007800259705A patent/CN101491063A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2007128746A1 (de) | 2007-11-15 |
EP2018761A1 (de) | 2009-01-28 |
US20090119386A1 (en) | 2009-05-07 |
DE102006021591B3 (de) | 2007-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101491063A (zh) | 用于在对等网络之间进行数据传输的方法和系统 | |
RU2433461C2 (ru) | Взаимодействие между соседствами в рамках объединения по механизму рандеву | |
CN100531098C (zh) | 一种对等网络系统及重叠网间节点的互通方法 | |
US20070230468A1 (en) | Method to support mobile devices in a peer-to-peer network | |
Raverdy et al. | A multi-protocol approach to service discovery and access in pervasive environments | |
CN102333127A (zh) | 资源下载方法、装置及系统 | |
CN101425958A (zh) | 一种p2p叠加网中请求应答方法、装置和系统 | |
Conti et al. | Towards scalable P2P computing for mobile ad hoc networks | |
EP1741270B1 (en) | Zone-based peer-to-peer | |
Peng et al. | M-CAN: a lookup protocol for mobile peer-to-peer environment | |
CN105681249A (zh) | 一种网络访问方法和网络转换设备 | |
Galluccio et al. | Georoy: A location-aware enhancement to Viceroy peer-to-peer algorithm | |
Chang et al. | An efficient service discovery system for dual-stack cloud file service | |
US8799434B2 (en) | System and method for establishment of a client/server type relationship in a peer-to-peer network | |
Cordasco et al. | 2-chord halved | |
Knoll et al. | Decentralized bootstrapping in pervasive applications | |
CN101378392A (zh) | 一种p2p环境下资源查询的方法和装置 | |
D'Angelo et al. | Mobile computing in digital ecosystems: Design issues and challenges | |
Kellerer et al. | Structured peer-to-peer systems for telecommunications and mobile environments | |
Zhao et al. | Solving overlay mismatching of unstructured P2P networks using physical locality information | |
Cheng | Bridging distributed hash tables in wireless ad-hoc networks | |
Shah et al. | Merging of P2P Overlays Over Mobile Ad Hoc Network: Evaluation of Three Approaches. | |
CN115550472B (zh) | 异构数据处理方法及装置 | |
Ishikawa et al. | Jupiter: Peer-to-peer networking platform over heterogeneous networks | |
Sethom et al. | Palma: A P2P based Architecture for Location Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090722 |