CN103959743A - 流播受限的p2p覆盖网络中配置对等端的方法和设备 - Google Patents
流播受限的p2p覆盖网络中配置对等端的方法和设备 Download PDFInfo
- Publication number
- CN103959743A CN103959743A CN201280054261.0A CN201280054261A CN103959743A CN 103959743 A CN103959743 A CN 103959743A CN 201280054261 A CN201280054261 A CN 201280054261A CN 103959743 A CN103959743 A CN 103959743A
- Authority
- CN
- China
- Prior art keywords
- peers include
- data content
- layer
- peers
- capacity
- 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.)
- Granted
Links
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
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- 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/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1085—Resource delivery mechanisms involving dynamic management of active down- or uploading connections
-
- 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/1089—Hierarchical topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种配置包括布置来流播数据内容的流源和布置在分布层中的多个对等端的P2P覆盖网络的方法和设备。该方法包括布置在复数个分布层中的复数个对等端以便在任何一个分布层中的对等端的数据内容下载请求不超过紧接在前的分布层的数据内容分布容量的步骤。该方法还包括在第一对等端具有分发数据内容流到在紧接后续层中的另一个对等端的容量但被限制时,从第一对等端的分布层之后的分布层选择第二对等端的步骤,该第二对等端不被限制分发数据内容流到所述另一个对等端。并且,该方法包括切换第一对等端和所选第二对等端在覆盖网络中的位置的步骤。本发明的优点在于,它减少其中对流媒体数据内容施加限制的P2P覆盖网络中的流源上的负载。
Description
技术领域
本发明涉及一种流播受限的P2P覆盖网络中配置对等端的方法和设备。
背景技术
对于传统客户端-服务器架构网络中的实时流媒体视频,视频流从流媒体服务器(即流源)下载到客户端。视频流由一组连续数据块组成,客户端通过周期性请求以播放视频。可扩展的实时流媒体服务需要高的流媒体服务器带宽以满足因特网上越来越多的客户端。为了降低流媒体服务器的成本,对等(P2P)实时流媒体已经被开发。P2P实时流媒体的基本观念是使客户端,本文中被称为对等端,与流媒体服务器共享负载。
P2P实时流媒体系统在近些年来被越来越被引起兴趣,因其具有不必提供所有需求的带宽就可以将流源(例如直播视频)数据内容广播给大量对等端的优点。其通过利用对等端的上传容量帮助流源将数据内容广播给对等端来达到上述效果。
P2P网络包含了由实体组成的任何网络,每个对等端可以让其它对等端访问其一部分资源(例如处理容量、盘存储、和/或带宽)。P2P网络的概念不同于传统客户端-服务器架构的网络,其中一个或多个对等端(例如计算机)可以在网络中为其它对等端服务。通常,P2P网络中的对等端运行相似的网络协议和软件。P2P网络的应用不计其数,例如,其可以在英特网上传输和/或存储数据,比如为内容所有者进行视频分发。
现有技术中已经研发出许多方法来高效地利用对等端的上传容量,这些方法主要分为两种:
基于树的系统是以覆盖网络中的一个或多个构造树为基础构建的,其中在每个树上部的对等端供应下方的对等端。该方法在对等端于高频状态时没有连接系统或者离开系统时工作良好,因为对等端之间不需要进一步的信息就可以获得数据流。然而,在高冲击环境中,树的维护是非常昂贵的,甚至有时候需要摧毁和重建树。
基于网格系统不需要树的构建,换句话说对等端连接不形成特定覆盖,并且对等端之间是非结构化相互连接。对等端通过所谓的流言通信或者通过彼此发送数据请求消息来交换数据。基于网格系统的缺点在于,由于各节点间需要相互协商来找到对等端,对等端的相互连接需要较长的建立时间。然而很多系统都使用这种基于网格系统,因为它能耐受高冲击环境。在该系统中每个对等端具有多个潜在地可用来下载数据的相邻对等端,因此任何相邻对等端出现故障不会像基于树的系统那样严重。
虽然基于网格系统中的单个对等端不需要考虑全局,但是考虑到节点活动,其仍然可以达到与基于树的系统相当的节省,这主要是因为基于网格系统不需要维持全局连接结构的日常开销。
在P2P网络中,一种类型的对等端可能受制而不能分发数据给其他某个类型的对等端。例如,防火墙会是一个问题,地理限制会是另一个问题。系统设计者可以对P2P网络施加限制,以使得在欧洲的对等端可以连接到在欧洲或俄罗斯的任何其他对等端,但不能连接到中国的对等端,而俄罗斯的对等端可以连接到任意一个对等端。因此,对等端按连通组归类,该归类控制哪些其它对等端联通组能够与其联系。
在P2P网络中,在对等端布置在难以以及有时候甚至不可能在对等端之间建立连接的网络地址转换器后面的情况下,会出现问题。网络地址转换器(NAT)允许网络设备例如路由器或防火墙,分配公共地址给在专用网例如局域网(LAN)内的一组计算机,以便限制一个组织或公司所使用的公共IP地址的数量。因此,整组计算机仅需要单个唯一IP地址。然而,因为跨过网络的IP端对端连接度被留出给NAT的使用,因此可能不能在任何两个给定对等端之间建立连接。目前有几种不同的NAT类型(完全圆锥型,限制圆锥型,端口受限型,对称型,等等),有一些对于互相通信是兼容的,其他的则不兼容。有几种方法用于使NAT能限制对等端之间建立连接,比如,例如STUN、TURN和ICE。然而,这些方法不总是保证起作用并且它们在任意两个给定NAT类型之间建立连接的效率可以用概率表达。总之,该限制最终导致减少流媒体服务器上的带宽节省。
发明内容
本发明的一个目的是解决或至少减轻该领域中的这些问题。
该目的在本发明的第一方面,由一种P2P覆盖网络的配置方法来实现,所述P2P覆盖网络包括用于流播数据内容的流源和配置在复数个分布层的多个对等端。该方法包括配置在复数个分布层中的复数个对等端以使在任何一个分布层中的复数个对等端的数据内容下载请求不超过紧接在前的分布层的数据内容分配容量的步骤。该方法还包括在第一对等端具有分发数据内容流到在紧接后续层中的另一个对等端的能力但被限制时,从第一对等端的分布层之后的分布层选择第二对等端的步骤,该第二对等端不被限制可以分发数据内容流到所述另一个对等端。并且,该方法包括切换第一对等端和所选第二对等端在覆盖网络中的位置的步骤。
该目的在本发明的第二方面,由一种P2P覆盖网络配置设备来实现,所述P2P覆盖网络包括用于流播数据内容的流源和配置在复数个分布层的多个对等端。该设备包括处理单元,其被设置来配置在复数个分布层中的复数个对等端以使在任何一个分布层中的复数个对等端的数据内容下载请求不超过紧接在前的分布层的数据内容分配容量。进一步地,该处理单元被设置为,在第一对等端具有分布数据内容流到在紧接后续层中的另一个对等端的能力但被限制这样做时,从第一对等端的分布层之后的分布层选择第二对等端,该第二对等端不被限制可以分配数据内容流到所述另一个对等端。并且,该处理单元被设置为能切换第一对等端和所选第二对等端在覆盖网络中的位置。
本发明的优点在于,减少了对流播数据内容施加限制的P2P覆盖网络中的流源负载。
在本发明中,在P2P覆盖网络中的对等端通常被配置在复数个分布层中以便具有更高上传带宽的对等端被放置在更靠近流源,从而为在网络中的更大带宽节省留出余地。对等端以这样的方式布置在复数个分布层中,在任意给定层中的对等端的上传容量总和超过足够提供给在紧接后续层中的对等端的上传容量。也就是,布置在具体层中的对等端的数量被选择为,它们的总带宽需求不超过紧接在前层上的对等端的上传容量。如前所述,在存在数据流播限制的情况下,比如,例如NAT限制,会出现这样的情况,虽然对等端具有带宽,但是连接不能建立,因此一些对等端可能必须求助于流源下载数据内容以便继续观看直播数据内容流媒体,而这些数据内容原本应该已经由其他对等端上传。通过本发明,P2P覆盖网络配置为,一个对等端以这种方式连接到紧接在前层上的对等端,即以减少或甚至最小化可能求助于流源的数量的方式。如果在具体分布层中的一个或更多个对等端被限制不能上传数据内容流到紧接后续层中的更远对等端,那么这些上传数据方面失败的对等端被移到后续层,同时从后续层中仔细选择相应数量的对等端移到在上传数据方面失败的对等端遗留的空闲位置。在该层中被提升的对等端被选择为,它们不被限制,可以上传数据到之前试图上传数据但由于限制而失败的对等端所要上传的对等端,因此,实现所请求数据内容上传。因此,本发明的优点在于,对等端被这样地配置在覆盖网络中,使得数据内容可以被流播,而不管有没有施加限制。最终,因通过这样的对等端重新构建,使得数据内容可以从一个对等端流播到另一个对等端,而不需要转向求助于所述流源,从而减少了在流源上的负载。进一步的优点为,不能实施数据上传的对等端被移到离流源更远的分布层。
在本发明的一个实施例中,对等端被归类为不同的类型,一种类型的对等端被限制不能与不同类型的对等端通讯。因此,对网络上的数据流播实施限制在分类中反应出来。在本发明的一个具体实施例中,对等端被归类为不同的NAT类型。为了有助于管理在P2P覆盖网络上的数据内容流播限制,对等端被分组成不同类型来反映具体限制。例如,第一组对等端可以归类为组1,而第二组对等端被归类为组2,以及第三组对等端被归类为组3。实施在P2P网络上的限制可以例如表示为,组1的对等端被允许与组3的对等端通讯,同时组2的对等端可以自由地与组1的对等端以及组2的对等端通讯而组1和组3的对等端根本不能互相通讯。通过对对等端进行归类,大大地帮助了P2P覆盖网络的后续配置。
在本发明的一个实施例中,第二对等端从紧接在第一对等端后面的分布层被随机选择。为了第二对等端,需要执行下面的标准:
(a)第二对等端不应该被限制分发数据内容到第一对等端上传失败的对等端;
(b)它应该具有足够的带宽容量以分配数据内容;以及
(c)它不应该被限制从正分配数据给上传失败对等端的对等端接收数据内容。
第二对等端可以从满足这三个条件条件的多个对等端中选择,以在P2P覆盖网络中与由于施加在覆盖网络上的限制而不能上传数据的第一对等端切换位置。该实施例具有处理上的优势,因为它不将那些大量的负担放置在处理P2P覆盖网络配置的追踪器设备上。
在本发明的另一个实施例中,在选择第二对等端以替代在前分布层中的第一对等端方面更详细,它确定了在包括有应该被移到后续层的一个或多个对等端的分布层中哪个对等端类型具有最少的被履行的数据内容下载请求。因此,在请求下载数据子流的数量方面确定最不被提供的对等端类型,这些下载数据子流可以完整补充给定数据内容。就像在具体实施方式中更详细的描述,对等端既可以上传完整数据内容流给在紧接随后分布层中的对等端,数据内容流也可以替代地被分成多个连续子流,在这种情况下对等端必须下载所有的子流以便完整补充原始流播的数据内容。为了示例,假设在P2P网络中的两个对等端都需要四个子流以完整重构原始内容数据。一个对等端接收三个子流媒体,它的下载请求由于一个子流媒体不能被有效地执行,而另一个对等端仅下载单个数据子流媒体,它的下载请求由于三个子流媒体不能被执行。在这两个对等端中,所述另一个对等端是具有最少的被履行的数据子流下载请求的对等端。其优点是,通过确定请求下载数据内容子流总计最不足的对等端类型,本发明的追踪器设备被给予了这样的指示,在给定分布层中哪个对等端类型在下载所请求数据内容方面有问题,这个或这些对等端潜在地应该被移到在P2P覆盖网络中的后续分布层。
在本发明的实施例中,在复数个分布层中的对等端配置是为了连续的层对,以便考虑在从流源的紧接后续层开始并且在紧接在最新分布层前面的层处结束的任意两层之间的数据内容流播。因此,紧接在流源后面的第一和第二分布层装满了对等端,并且根据本发明被执行切换。当在第一和第二层之间的相互作用已经完全被考虑并且切换了对等端位置,追踪器设备前进到下一个连续分布层对,即,第二和第三分布层,直到在最新网络层前面的层对。其优点是,本发明以结构化和条理化的方式配置对等端。
在本发明另一个实施例中,确定在具有最少被履行数据内容下载请求的类型对等端中,哪个对等端具有最小的上传容量。该确定的优点在于,因为如果那个特定对等端打算与在后续层中的另一个对等端切换位置,那么它将对层构造具有最小的破坏性影响。
在本发明另一个实施例中,对于紧接在准备移到后续层的对等端前面的分布层,即紧接第一对等端层前面的分布层中,确定哪个类型具有未使用的上传容量并且其还具有上传所需数量的数据子流的容量,以便在紧接后续分布层中的下载对等端能够完全补充数据内容。其优点是,这样确保,与P2P覆盖网络中的第一对等端切换位置的第二对等端将能够改变在网络中位置之后,紧接在前的分布层可以提供数据内容流给第二对等端。
在本发明的进一步实施例中,第二对等端被视识别为布置在第一对等端所处层后面的分布层中的复数个对等端之间具有最大上传容量的对等端,这些复数个对等端还能够从具有未使用上传容量的已确定类型的对等端下载数据内容,具有可使用的上传容量,并且属于被允许上传数据内容到第一对等端的类型。其优点在于,通过该实施例,第二对等端被识别,其数学上可确保,具有最大上传容量的对等端被选择,同时仍然满足如下必要条件,即该对等端
(a)布置在第一对等端所处层后面的层中,即直到第一对等端不受到影响的层构造,
(b)具有可用的容量,以及
(c)属于被允许流播数据内容到第一对等端类型的类型。
请注意,本发明涉及权利要求中描述的特征的所有可能组合。通过从属权利要求和下面的描述,本发明的附加特征和优点将变得更加清晰。本领域的技术人员明白,将本发明的不同特征组合还能得到除了以下描述之外的实施方式。
附图说明
现在参考附图和实施例来描述本发明,其中:
图1为现有技术中具有单树覆盖的P2P网络示意图;
图2为对图1中的P2P覆盖网络施加NAT限制的示意图;
图3为从流源负载的角度看,具有更好配置的图2所示P2P覆盖网络的示意图;
图4为图1和图2中示出的P2P网络示意图,但根据本发明实施例,已经在覆盖网络中配置对等端;
图5a为本发明能实施其中的P2P网络示意图;
图5b为根据本发明实施例的配置P2P覆盖网络方法的示意图;
图6a为根据本发明实施例的在虚拟P2P覆盖网络中配置的对等端的示意图;以及
图6b为根据本发明实施例的在虚拟P2P覆盖网络中配置对等端方法的流程图。
具体实施方式
下面通过附图和一些实施例对本发明进行详细描述。本发明可以以许多不同形式来实施并且不应该解释为被本文中的实施例所限制;相反,通过这些实施例的描述使本发明更全面和完整,并且可以将本发明范围全面地传递给本领域技术人员。
应该注意,在下述中提出的本发明示例性实施例中,施加在P2P覆盖网络上的数据流播限制以NAT限制的形式示例。然而,如在上面中已经讨论,也可以设想对一组对等端流播数据到另一组对等端的其他限制。
图1为现有技术中具有单树覆盖的P2P网络。可以看出,对等端布置成数排或布置在复数个分布层中。因此,3个对等端布置在分布层1中,即靠近流源S的层,6个对等端布置在分布层2中,以及12个对等端布置在分布层3中。如图所示,流源S分布给定数据内容流媒体到层1中的三个对等端,层1的每个对等端依次流播数据内容到层2中的另两个对等端,等等。离流源越远,数据内容的播放回放延迟越大。在图1的示例性现有技术示例P2P网络中,每个对等端具有上传两个数据内容流的容量。每个对等端因此被认为具有两个“座位”,因为它可以通过预定上传带宽同步上传两个数据内容流给其他对等端。可以看出,每个对等端被标记有数字,其表示对等端被归类在哪个NAT组中。因此,层1包括来自三个不同NAT组的各一个对等端,第二层包括来自三个不同NAT组的各两个对等端,等等。在图1中,三个NAT类型被假设为完全兼容的,即,在它们传输数据给彼此的能力方面没有限制。
图2表示已经施加了NAT限制的图1的P2P覆盖网络。当NAT限制施加到网络上时,许多对等端将发现它们自己没有可行的上传者,因此必须转向流源请求下载数据内容。在图2示出的示例中,仅下面的NAT类型对可以通讯{1–1;1–2;2-3}。许多连接现在是无效的,流源S承受显著较高的负载。在图2中的虚线表示其中对等端由于NAT限制的原因不能分发数据内容给在紧接后续层中的另一个对等端的情况。因此,即使例如在层1中的NAT类型3的对等端(即层1的最右对等端)具有两个自由座位的可用容量,它由于NAT限制仍然不能上传数据内容。与图1的覆盖(其中流源分送数据内容给三个对等端)相比,图2中的所述流源上的负载超过三倍(负载增加233%)。这种幅度的负载增加会对P2P网络带来毁灭性的结果。
图3表示从流源负载的角度看,具有更好配置的图2所示P2P覆盖网络(具有相同的NAT限制)示意图。虚线表示在图2覆盖中没有出现过的新对等端连接。在图3中可以看出,对等端连接度已经被大大地提高,与图1的覆盖(其中没有施加限制)相比,流源负载增加33%。如可以从图3推出,在层3中用双圆圈表示的NAT类型1的对等端,由于之前限定的NAT限制,不能流播数据给NAT类型3的对等端(从右边起第三个对等端),其意味着该特定对等端将必须转向流源请求下载数据内容。
图4表示根据本发明实施例配置的P2P覆盖网络。在该配置中,通过在图3中的双圆圈表示的两个对等端被命令改变位置,其具有这样的效果,向上移动一层的NAT类型2的对等端可以流播被请求的数据内容到NAT类型3的对等端(在第三分布层中从右起第三个对等端),流源S上的负载与图1所示覆盖(其中没有施加限制)的负载相同。
图5a表示本发明能够被实施的P2P网络示意图。多个对等端P1、P2、P3、…、Pn由追踪器41布置在覆盖网络(例如,如图4所示)中,这些对等端经由接口42与追踪器41通讯。进一步地,追踪器能够与流源44通讯,流源44给对等端提供数据内容。例如,追踪器可能需要关于流源的流播容量的信息,追踪器关于如何分发数据内容给在最靠近流源的分布层中的对等端,可能需要给流源发送指令。追踪器41通常为具有由微处理器43实现的有计算能力的设备。通常,追踪器通过计算机执行存储在相关存储器中用于获得所需功能性的适当软件来实施。然而,也可以使用其他具有计算能力的合适设备,例如,专用集成电路(ASIC)、现场可编程逻辑门阵列(FPGA)、复杂可编程逻辑设备(CPLD)、等等,以便根据本发明控制P2P系统并且根据本发明配置覆盖,同时执行存储在合适存储区域,例如RAM、闪存或硬盘中的合适的可下载软件。在P2P网络中,追踪器41接收连接的和当前的对等端P1、P2、P3、…、Pn的信息,例如,关于关注每个对等端的带宽容量,确定连接的对等端将被布置在哪个分布层中,或者将当前的对等端准备移到哪个层。为此,追踪器可能给每个对等端发送该对等端可以连接到的其他对等端清单。这样,产生了完整的P2P覆盖结构。
进一步参考图5b,示出由追踪器41实施的在P2P覆盖网络中配置对等端的方法,在第一步骤S401中追踪器在复数个分布层中配置对等端P1、P2、P3、…、Pn,以便在任意一分布层中的对等端的数量不超过紧接在前分布层中的对等端的数据内容分布容量。参考图4,可以发现所有对等端由紧接在前层提供,其中每个对等端具有上传两个数据内容流给紧接后续层的容量。在根据本发明实施例的方法的步骤S402中,如果确定在图3的分布层2中用双圆圈指示的第一对等端被限制不能分发数据内容流到在层3中从右边起的第三个对等端,即使它具有分发其它数据内容流的容量,那么在图3的分布层3中用双圆圈指示的第二对等端被选择,因为它不被NAT限制,可以分布数据内容流给在层3中从右边起第三个对等端并且还具有自由上传容量。最后在步骤S403中,所选第二对等端与第一对等端切换位置。该对等端重新配置显示在图4示出的P2P覆盖网络,其中与图1的无限制覆盖网络相比,没有更多的负载施加在源S上。
在下面,将更详细地描述本发明的实施例,尤其是关于基础数学理论。
首先,一组NAT类型被定义为N={Nl,N2,…,NnTmax},其中Tmax是在该组中不同NAT类型的数量。并且,在不同NAT类型之间的连接度方面的限制被定义为函数δ(Νi,Nj),如果Νi可以从Nj下载或上传到Nj,则其等于1,否则,等于0。
如之前已经讨论,具有δ(Νi,Nj)=1的任意两个NAT类型可能不必须能够建立连接。成功建立连接的概率由γ(Νi,Nj)表达。NAT类型对等端Νi可以上传或下载的该组对等端NAT类型表示为:
con(Νi∈N)={Nj∈N|δ(Νi,Nj)=1}
进入P2P覆盖网络的一组对等端被定义为P={P1,P2,…,Pn},其中n是试图连接网络的对等端的总数量。下述函数对进入对等端进行定义
nat(Pi)=对等端Pi的NAT类型,
seat(Pi)=对等端Pi的座位的数量,
layer(Pi)=对等端Pi属于的分布层
如就图1所作的讨论,术语“座位”用于表示对等端具有的空闲的上传间隙的数量。一个对等端既可以上传完整数据内容流给如在图1-图4中所示的紧接后续分布层中的对等端,也可以代之以将数据内容流分成多个连续子流或带条。例如,替代使一个对等端从相邻对等端下载给定数据内容流,它可以从第一相邻对等端下载一半内容作为一个子流,从第二相邻对等端下载另一半内容作为一个子流。数据内容这样划分成子流具有这样的优点,如果可以仔细地构造拓扑图,那么系统可以变得对故障更有弹性。SplitStream是对数据内容流播使用带条的一种已知P2P系统,其中拓扑图设计为,单个对等端故障仅导致它的下载对等端中单个带条的丢失。如果子流利用允许冗余例如多编码描述符和前向纠错的原理构造,那么单个带条的丢失将不会导致终端用户的视频体验的主要中断。
因此,流媒体数据被分成b个子流/带条。例如,如果流媒体数据速率为1Mbps,并且使用四个带条,每个带条将组成256kbps的子流。假设具有1.5Mbps上传容量的对等端,其分送数据给六个具有256kbps最大上传容量的其他对等端,那么该对等端被认为具有六个座位,因为它可以通过预定上传带宽而同时上传六个带条给其他对等端。带宽和座位的这种划分能使得在P2P覆盖网络中配置对等端的设备被设置为对等端带宽/上传容量的简单模型。在原始流媒体数据被分成多个子流数据的情况中,没有子流数据包含重叠的数据,每个对等端需要下载所有的子流数据以便能够完整重构原始流媒体数据。在该具体示例中,对等端将需要下载四个带条以重构原始内容数据。这种系统更有效地利用了网络中每个对等端的容量。
每个希望补充由流源原始分送的完整数据内容的对等端因此下载b个数据内容子流以形成原始数据内容。因此,如在实践中通常遇到的情况,如果数据内容被分成子流,每个对等端一方面可以上传到多个对等端,另一方面可以从多个对等端下载。具有NAT类型Νi的对等端子组被定义为
在层r与层r+1之间的数据流可以量化为层r分配给在层r+1中的对等端的总座位数量。数据流进一步地还受到NAT类型限制的影响。因此,upload_flow(Νi,r)是在层r中属于NAT类型Νi的对等端被分配座位的数量,而download_flow(Nj,r+1)是坐落在由紧接在前的层r+1提供的座位中的NAT类型Νj的对等端下载的数据子流的数量,或者说是具有NAT类型Νj的对等端下载的子流的总数量。数据流的守恒表示为,
对于最优数据流容量,两个求和应该在所有层上被最大化。
在层r中的对等端组被定义为:
Pr=[Pj∈P|layer(Pj)=r},
并且在该层中的NAT类型Νi的对等端组被定义为:
通过该定义,在具有NAT类型Νi的层r中的对等端可以获得的数据子流媒体的数量的最大值是:
这个可以与没有施加NAT限制的P2P覆盖网络相比较,其中可以配置在给定分布层r+1中的对等端的数量可以计算为
也就是,可以完全坐落在层r+1中的对等端的数量等于紧接在前层的对等端提供的座位的总数量,座位的总数量由原始数据内容流划分成的带条的数量划分确定。“完全坐落”意味着,一个对等端坐落并被提供有补充原始数据内容必需的所有带条。首先,对等端构造在阵列Pa={Pl,P2,…,P|P|}中并且最可能按带宽顺序布置在分布层中,其中越大的带宽表示越靠近流源。因此,对等端从Pa中获取并且从第一层开始配置在层中,第一层的对等端被提供了直接来自流源的数据内容。第一层中的对等端的配置使流源的(几乎)所有座位被使用,可能需要一些空余座位用于候补。因为在源与任意对等端之间没有NAT限制,因此首先要考虑在第一和第二层之间的连接度。此后,通过后续层实现传播。后面连续层对重复该过程,直到紧接在P2P覆盖网络的最新层之前的两个层。因此,在第一轮中,考虑在层r与层r+1之间的相互作用,在第二轮中,考虑在层r+1与层r+2之间的相互作用,在第三轮中,考虑在层r+2与层r+3之间,等等。在本发明的实施例中,在其中存在NAT限制(或者在P2P数据流播上的其他相似限制)的每两个层之间,构造了参考图6a所示的虚拟网络,并且解决了最大流速问题。因此,本发明的追踪器(在图5中示出)执行下面的步骤,其中参考图6b的流程图:
1、图6b所示步骤S501,扫描对等端的阵列Pa直到发现还没有放置在任意层中的对等端。使用在阵列中的对等端和后续对等端建立层r+1以便在层r+1中的下载数据子流的潜在数量处于最大可获得的水平(即,不超过可以从紧接在前层r上传的子流的数量)。
2、在步骤S502中,集合在排r和排r+1中的各NAT类型对等端,形成对层r和层r+1分别表示为Ni r和Nj r+1的新人造节点。因此,所有对等端被归类在具体NAT类型中。
因此,在图6所示的虚拟网络中,在层r上存在具有到层r中的所有节点的数据流路径的虚拟源VS。这些数据流路径通常称为“弧”。这些弧每个具有由下式给出的容量限制:
当且仅当δ(Νi,Nj)=1时,弧存在于节点Ni r和Nj r+1之间。每个这种弧具有由下式给出的容量限制:
在层r+1中的节点与虚拟池VT之间的每个弧上,容量限制可以表示为:
本发明的追踪器使用最大流速方法从虚拟源VS流播尽可能多的数据到虚拟池VT。潜在地,由于NAT限制,层r中可能具有将不能连接到在层r+1中的对等端的座位。
因此,追踪器继续执行下面步骤:
3、在步骤S503中,依照用于完整补充给定数据内容的所需下载数据子流的数量最不可能被提供的条件,查找在层r+1中的NAT类型。也就是,追踪器对于分布层r+1确定哪个具体NAT类型与在层r+1中的其他NAT类型相比,具有最高未执行子流下载请求的对等端,通过以下方程计算:
或者换句话说,对所有NAT类型计算在(a)完整补充由流源原始分送的数据内容所需数据子流的数量与(b)下载的数据子流的实际数量之间的差值,并且通过确定哪个NAT类型具有最大计算差值,确定包含具有最少执行子流下载请求的NAT类型。
为了示例,如果第一对等端需要四个子流以完整重构原始数据内容但仅接收三个子流,那么它的下载请求由于缺一个子流而没有被有效执行。然而,如果另一个第二对等端下载单个数据子流,那么下载请求由于缺三个子流媒体而没有被执行。在这两个对等端中,第二对等端是具有最少执行数据子流下载请求的对等端。然而,在该具体实施例中,对于对等端能够完整重构由流源流播的数据内容所缺少的子流的总数量是针对每个NAT类型考虑的。
追踪器此后执行下面步骤:
4、在包括具有最少执行数据子流下载请求的对等端的已确定NAT类型中,查找具有最小上传容量的对等端(步骤S504):
因此,在层r+1中确定为具有最少执行数据子流下载请求的NAT类型中的所有对等端中,识别了具有最小上传容量的对等端。其优点是,如果该具体对等端打算与在后续层r+2中的另一个对等端切换位置,它将对层构造具有最小的破坏性影响。
追踪器继续执行下面步骤:
5、在步骤S505中确定在分布层r中哪个NAT类型具有未使用座位,并且哪个NAT类型还具有上传完整补充给定数据内容所需的至少b个子流的足够容量。为了简化,剩余容量表示为:
被确定NAT类型由以下方程给出:
也就是,确定哪个NAT类型具有空余座位,即,哪个类型具有不被层r+1中的对等端获得的座位,并且哪个类型还具有上传所需b个子流媒体的容量。
最后,追踪器执行下面步骤:
6、在步骤S506中,查找可以从在分布层r中的当前未使用座位下载数据内容的对等端
被查找到的对等端PW将替代在层r+1中的由于NAT限制不能接收数据内容的对等端PV。因此,将要查找到的对等端PW,其具有最大座位数量,不布置在分布层0到分布层r+1中的任意一层中。并且,对于将移到层r+1的对等端PW,在分布层r中必须存在对等端PW可以连接到的对等端,其
(a)具有可获得的容量,以及
(b)属于被允许来流播数据内容到NAT类型的对等端PW的NAT类型。
因此,第一对等端PV被第二对等端PW取代。换句话说,根据本发明,追踪器切换P2P覆盖网络中第一对等端PV(由于NAT类型原因被限制不能分布数据内容给其他对等端)和第二对等端PW的位置。
重复上面概述出的步骤3-步骤6,相应地切换对等端位置直到当前考虑的连续层对不能获得进一步的改进。接着,对下一个连续层对重复在上面概述出的步骤1-步骤6,直到所有的对等端已经配置在分布层中。
在概述出的过程最后,对等端已经以这样的方式布置在分布层中,它将减少由于连接度限制转向流源请求下载数据内容的对等端的风险。如前面已经讨论,这些限制在详细描述中由NAT限制进行示例,但也可以用各种其他连接度限制来示例。
参考图6,它确定了从任何给定层中的某个NAT类型的对等端流到后续层中的另一个NAT类型的对等端的数据内容子流的数量,其表示为但它还进行了在这两个NAT类型中的哪些对等端互相连接的清晰分配。遵循的对等端分配可以被随机的实施,即,对等端从对等端组随机地选择,并且该随机选择对等端的座位分配给在组中的对等端。重复这个过程直到被分配的座位的总数量等于
作为另一种选择,可以通过考虑在任意两个对等端之间的度量M(Pα,Pβ)来开发哪些对等端互相连接的分配,其定义为对P2P覆盖网络的相对效益的测量值,如果在这两个具体对等端之间要互相连接。在这种情况下,可以实现的不同可能对等端连接表示为线性求和分配问题(LSAP)。因此,关于NAT连接度限制,P2P网络的全面使用可以被提高,并且可以减少可能被施加了限制的流媒体服务器上的带宽负载。
即使本文已经通过一些实施例来描述本发明,但对于本领域的技术人员来说,对本发明所做的任何显而易见的改变和修改都落入本发明保护范围。本发明所述实施例不是对本发明保护范围的限制。
Claims (20)
1.一种P2P覆盖网络配置方法,所述P2P覆盖网络包括用于流播数据内容的流源和配置在分布层中的多个对等端,其特征在于该方法包括如下步骤:
配置在复数个分布层中的复数个对等端以使在任何一个分布层中的复数个对等端的数据内容下载请求不超过紧接在前的分布层的数据内容分配容量;
在第一对等端具有分发数据内容流到在紧接后续层中的另一个对等端的容量但被限制时,从第一对等端的分布层之后的分布层选择第二对等端,该第二对等端不被限制可以分发数据内容流到所述另一个对等端;以及
切换第一对等端和所选第二对等端在覆盖网络中的位置。
2.如权利要求1所述的方法,其特征在于所述选择步骤还包括:
随机选择第二对等端,其不被限制分布数据内容流给所述另一个对等端,其具有分发上传数据内容的数据内容流足够容量,并且其不被限制从正分发数据内容给所述第一对等端的对等端接收数据内容流。
3.如权利要求1或2所述的方法,其特征在于还包括如下步骤:
对等端归类为不同的类型,一种类型的对等端被限制不能与不同类型的对等端通讯。
4.如权利要求3所述的方法,其特征在于对等端被归类为不同的网络地址转换器(NAT)类型。
5.如以上权利要求任意一项所述的方法,其特征在于在复数个分布层中的对等端配置是为了连续的层对,以便考虑在从流源的紧接后续层开始并且在紧接在最新分布层前面的层处结束的任意两层之间的数据内容流播。
6.如权利要求3-5任意一项所述的方法,其特征在于还包括如下步骤:
对于第一对等端配置在其中的分布层,确定哪个类型对等端具有带有最少的被履行的数据内容下载请求。
7.如权利要求6所述的方法,其特征在于确定哪个类型对等端具有带有最少的被履行的数据内容下载请求的步骤包括:
对于该类型的每个对等端,计算在完整补充由流源流播的数据内容所需下载数据子流的数量与实际下载数据子流数量之间的差值。
8.如权利要求6或7所述的方法,其特征在于还包括如下步骤:
确定在具有最少被履行数据内容下载请求的类型对等端中,哪个对等端具有最小的上传容量。
9.如权利要求7或8所述的方法,其特征在于还包括如下步骤:
在紧接第一对等端层前面的分布层中,确定哪个类型具有未使用的上传容量并且其还具有上传所需数量的数据子流的容量,以便在紧接后续分布层中的下载对等端能够完全补充数据内容。
10.如权利要求9所述的方法,其特征在于还包括如下步骤:
将第二对等端识别为布置在第一对等端所处层后面的分布层中的复数个对等端之间具有最大上传容量的对等端,这些复数个对等端还能够从具有未使用上传容量的已确定类型的对等端下载数据内容,具有可使用的上传容量,并且属于被允许上传数据内容到第一对等端的类型。
11.一种P2P覆盖网络配置设备,所述P2P覆盖网络包括用于流播数据内容的流源和配置在分布层中的多个对等端,其特征在于该设备包括:
处理单元,其被设置为:
配置在复数个分布层中的复数个对等端以使在任何一个分布层中的复数个对等端的数据内容下载请求不超过紧接在前的分布层的数据内容分配容量;
在第一对等端具有分发数据内容流到在紧接后续层中的另一个对等端的容量但被限制时,从第一对等端的分布层之后的分布层选择第二对等端,该第二对等端不被限制可以分发数据内容流到所述另一个对等端;以及
切换第一对等端和所选第二对等端在覆盖网络中的位置。
12.如权利要求11所述的设备,其特征在于该处理单元进一步设置为:
随机选择第二对等端,其不被限制分布数据内容流给所述另一个对等端,其具有分发上传数据内容的数据内容流足够容量,并且其不被限制从正分发数据内容给所述第一对等端的对等端接收数据内容流。
13.如权利要求11或12所述的设备,其特征在于该处理单元进一步设置为:
将对等端归类为不同的类型,其中一种类型的对等端被限制不能与不同类型的对等端通讯。
14.如权利要求13所述的设备,其特征在于对等端被归类为不同网络地址转换器(NAT)类型。
15.如权利要求13或14所述的设备,其特征在于该处理单元进一步设置为:
对于第一对等端配置在其中的分布层,确定哪个类型对等端具有带有最少的被履行的数据内容下载请求。
16.如权利要求15所述的设备,其特征在于该处理单元进一步设置为,当确定哪个类型对等端具有带有最少的被履行的数据内容下载请求时:
对于该类型的每个对等端,计算在完整补充由流源流播的数据内容所需下载数据子流的数量与实际下载数据子流数量之间的差值。
17.如权利要求15或16所述的设备,其特征在于该处理单元进一步设置为:
确定在具有最少被履行数据内容下载请求的类型对等端中,哪个对等端具有最小的上传容量。
18.如权利要求16或17所述的设备,其特征在于该处理单元进一步设置为:
在紧接第一对等端层前面的分布层中,确定哪个类型具有未使用的上传容量并且其还具有上传所需数量的数据子流的容量,以便在紧接后续分布层中的下载对等端能够完全补充数据内容。
19.如权利要求18所述的设备,其特征在于该处理单元进一步设置为:
将第二对等端识别为布置在第一对等端所处层后面的分布层中的复数个对等端之间具有最大上传容量的对等端,这些复数个对等端还能够从具有未使用上传容量的已确定类型的对等端下载数据内容,具有可使用的上传容量,并且属于被允许上传数据内容到第一对等端的类型。
20.一种计算机程序产品,包括可被计算机执行的组件,以使当计算机可执行组件在设备的一个处理单元上运行时,这个设备能执行权利要求1-10中任意一项方法的步骤。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1151093-0 | 2011-11-18 | ||
US13/299,957 | 2011-11-18 | ||
SE1151093 | 2011-11-18 | ||
US13/299,957 US8799498B2 (en) | 2011-11-18 | 2011-11-18 | Method and device for peer arrangement in streaming-constrained P2P overlay networks |
PCT/EP2012/072412 WO2013072284A1 (en) | 2011-11-18 | 2012-11-12 | Method and device for peer arrangement in streaming-constrained p2p overlay networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103959743A true CN103959743A (zh) | 2014-07-30 |
CN103959743B CN103959743B (zh) | 2017-03-08 |
Family
ID=47221370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280054261.0A Active CN103959743B (zh) | 2011-11-18 | 2012-11-12 | 流播受限的p2p覆盖网络中配置对等端的方法和设备 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2781073B1 (zh) |
CN (1) | CN103959743B (zh) |
AU (1) | AU2012338937B2 (zh) |
CA (1) | CA2850588C (zh) |
ES (1) | ES2539615T3 (zh) |
WO (1) | WO2013072284A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2933106C (en) * | 2013-12-19 | 2022-05-17 | Hive Streaming Ab | Distributing content data to resource constrained devices in a segment of a p2p network |
US9967336B2 (en) | 2013-12-19 | 2018-05-08 | Hive Streaming Ab | Distributing content data to resource constrained devices in a segment of a P2P network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259607A1 (en) * | 2001-09-13 | 2006-11-16 | Network Foundation Technologies, Llc | System and method for distributing data over a computer network |
CN101087239A (zh) * | 2007-07-17 | 2007-12-12 | 北京搜狗科技发展有限公司 | 一种对等网络中充分利用带宽资源的数据传输方法及装置 |
CN101681341A (zh) * | 2007-06-04 | 2010-03-24 | 微软公司 | 因特网服务供应商感知的对等内容交换 |
CN101707533A (zh) * | 2009-10-30 | 2010-05-12 | 北京讯风光通信技术开发有限责任公司 | 一种多业务pcm光接入网络中基于链路状态的网络控制方法及系统 |
CN102025594A (zh) * | 2009-09-14 | 2011-04-20 | 中国科学院声学研究所 | Nat环境下的路由动态调整方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065062A (en) * | 1997-12-10 | 2000-05-16 | Cisco Systems, Inc. | Backup peer pool for a routed computer network |
-
2012
- 2012-11-12 EP EP12790505.7A patent/EP2781073B1/en active Active
- 2012-11-12 WO PCT/EP2012/072412 patent/WO2013072284A1/en active Application Filing
- 2012-11-12 CA CA2850588A patent/CA2850588C/en not_active Expired - Fee Related
- 2012-11-12 CN CN201280054261.0A patent/CN103959743B/zh active Active
- 2012-11-12 ES ES12790505.7T patent/ES2539615T3/es active Active
- 2012-11-12 AU AU2012338937A patent/AU2012338937B2/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259607A1 (en) * | 2001-09-13 | 2006-11-16 | Network Foundation Technologies, Llc | System and method for distributing data over a computer network |
CN101681341A (zh) * | 2007-06-04 | 2010-03-24 | 微软公司 | 因特网服务供应商感知的对等内容交换 |
CN101087239A (zh) * | 2007-07-17 | 2007-12-12 | 北京搜狗科技发展有限公司 | 一种对等网络中充分利用带宽资源的数据传输方法及装置 |
CN102025594A (zh) * | 2009-09-14 | 2011-04-20 | 中国科学院声学研究所 | Nat环境下的路由动态调整方法和系统 |
CN101707533A (zh) * | 2009-10-30 | 2010-05-12 | 北京讯风光通信技术开发有限责任公司 | 一种多业务pcm光接入网络中基于链路状态的网络控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
AU2012338937A2 (en) | 2014-06-26 |
WO2013072284A1 (en) | 2013-05-23 |
EP2781073B1 (en) | 2015-03-18 |
CA2850588C (en) | 2015-01-20 |
ES2539615T3 (es) | 2015-07-02 |
AU2012338937A9 (en) | 2015-10-22 |
CN103959743B (zh) | 2017-03-08 |
EP2781073A1 (en) | 2014-09-24 |
AU2012338937A1 (en) | 2014-04-03 |
AU2012338937B2 (en) | 2015-10-22 |
CA2850588A1 (en) | 2013-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101637007B (zh) | 分层结簇的p2p流系统 | |
US8799498B2 (en) | Method and device for peer arrangement in streaming-constrained P2P overlay networks | |
EP2145427A2 (en) | System and method for broadcasting content to nodes on computer networks | |
US8713194B2 (en) | Method and device for peer arrangement in single substream upload P2P overlay networks | |
US9258341B2 (en) | Method and device for centralized peer arrangement in P2P overlay networks | |
CN103959743A (zh) | 流播受限的p2p覆盖网络中配置对等端的方法和设备 | |
CN102740165A (zh) | 对等流媒体直播系统及其中的数据传输方法 | |
US9614887B2 (en) | Distributing data content in private networks | |
Alkubeily et al. | A new Application-Level Multicast technique for stable, robust and efficient overlay tree construction | |
EP2815562B1 (en) | Method and device for centralized peer arrangement in p2p overlay networks | |
Fujita | Multi-tree-based peer-to-peer video streaming with a guaranteed latency | |
AlTuhafi et al. | Concepts and types of peer-to-peer network topology for live video streaming | |
López-Fuentes et al. | Hierarchical collaborative multicast | |
Ando et al. | Tight Bounds on the Upload Capacity to Enable Two-Hop Delivery in Peer-to-Peer Video Streaming Systems | |
AU2012338936A2 (en) | Method and device for peer arrangement in single substream upload P2P overlay networks | |
Shoji et al. | Tight Lower Bounds on the Maximum Number of Hops in P2P Video Streaming through Multiple Spanning Trees | |
Ouyang et al. | On demand heterogeneity in P2P live streaming | |
Hoang et al. | Dual parent multicast graph for failure resilient peer-to-peer multimedia streaming | |
Mehaoua et al. | Peer-to-Peer Overlay Multicast for Scalable Audiovisual Services over Converging Wired and Wireless Networks | |
Akbari et al. | DPOCS: a dynamic proxy architecture for video streaming based on overlay network | |
Helal et al. | Link-aware nice application level multicast protocol | |
Liao et al. | A novel time-aware block scheduling model for media streaming in peer-to-peer overlay networks | |
Picone et al. | A joint peer-to-peer and network coding approach for large scale information management | |
Ezovski et al. | Min-Min times in peer-to-peer file sharing networks | |
Adetola | Streaming Multimedia via Peer-to-Peer Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |