一种ip组播融合于网状覆盖网的应用层组播实现方法及系统的制作方法
【技术领域】
[0001] 本发明设及计算机多媒体技术领域,尤其设及一种IP组播融合于网状覆盖网的 应用层组播实现方法及系统。
【背景技术】
[0002] 组播在需要一对多实时数据分发的应用中有非常独特的优势,如流媒体直播。根 据组播实现的网络协议层次,组播可W分为IP组播与应用层组播。IP组播的优点是效率 高。但因为诸多因素的影响,IP组播设备在互联网全局范围的部署还不够广泛。但随着技 术更新,局域网范围的IP组播设备已经越来越普及,形成很多局部的IP组播群,被称为孤 岛(Island)。另外监测数据显示互联网环境中NAT后的节点数量众多,说明节点分布呈现 局部聚簇性。随着IPV6的推广,支持IP组播设备也得到逐渐地增多。聚簇的节点转变为 局部IP组播群的可行性在提高。
[0003] 由于全局IP组播存在困难,利用现有IP单播模拟实现组播的应用层组播,已经成 为更能适应互联网环境的常见技术。但应用层组播也有不少缺陷,包括;时延长、额外通信 开支大、流量重复多与上传带宽消耗高,导致该些缺陷的原因包括节点的高度动态性、应用 层与IP层拓扑的失配等,但更重要的原因是应用层组播所需要的上传带宽总量大于等于 所有接收者下载带宽的总量。对于节点动态性或拓扑失配造成的影响,可W在应用层优化。 但上传带宽的要求是应用层组播的基本原理所决定的,应用层能做的只是减少应用层组播 的负载。监测数据说明节点上传带宽的利用已经接近极限状态,如何节约节点的上传带宽 逐渐成为研究克服的主要难题之一。
[0004] 现有技术中,公开号为CN101795234A的专利文献公开了一种基于应用层组播算 法的流媒体传输方案,其利用IP组播和覆盖网技术,使用应用层组播算法建立覆盖网络, 为流媒体数据提供高效的传输平台,支持各个组网节点对音视频流的订阅,并且支持多种 组网算法的切换W及算法扩展。方案主要内容包括:探测IP组播孤岛,所有位于一个IP 组播域的用户对外表现为一个用户,对内使用IP组播方式相互传输数据;运行应用层组播 算法建立覆盖网;在覆盖网上进行流媒体数据的传输,支持节点的对音视频数据进行订阅; 能运行不同的组播协议,支持不同协议的切换,提供新算法加入的接口。其在一定程度上节 省网络资源,减小传输延时,然而在IP组播群内部没有进行细分的分工协作,没有降低节 点动态性带来的不良后果。
【发明内容】
[0005] 针对【背景技术】中出现的问题,本发明提出一种IP组播融合于网状覆盖网的应用 层组播实现方法,WP2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,所述方法 包括W下步骤:
[0006] 将节点Pi加入到覆盖网0中,完成IP组播融合的节点初始化;
[0007] 协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分 配;
[0008] 所述节点Pi接收IP组播任务分配表TS-和协调者候选序列CC,清空上次协调的 所有信息并处理本次信息;
[0009] 所述节点Pi利用来自协调者的IP组播域邻居信息,优化IP单播传输。
[0010] 优选的是,所述节点初始化步骤包括:
[0011] 判断节点Pi是否处于一个物理IP组播群中,如果不是则Pi按照传统网状覆盖网 节点对待;
[001引若所述节点Pi处于一个物理IP组播群中,则Pi侦听同一IP组播群gk内是否存 在覆盖网0的其它节点,若有则Pi设置的私有IP组播地址a成与所述其它节点的IP保持 一致,否则a《取一个目前空闲的候选地址;
[0013] 若所述节点Pi加入现有adk组播群,则所述节点Pi通过adk接收覆盖网0的数据 和/或指令,W判断同一IP组播群gk内覆盖网0是否启用了IP组播传输;
[0014] 若所述组播群gk内已经启用了IP组播,则节点Pi将自己作为最后的备选cr。,同 时作为普通节点接收数据和协调者cr。的指令,若所述组播群gk内尚未启用IP组播,则节 点Pi作为cr。为覆盖网0在gk内启用IP组播。
[0015] 在上述任一方案中优选的是,所述协调者的工作过程包括:
[0016] 步骤a.向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf;
[0017] 步骤b.通过单播收集gk内其他节点的状态信息;
[0018] 步骤C.Tf触发反馈信息统计,所述统计的信息包括:节点数量PC、节点状态序列 PS= {pSj},1《j《pc、pSj含节点Pj的数据地图血j中至少一种;
[0019] 步骤d.if(pc<a) {
[0020] if(pc>a)通过adk发出IP组播停用指令;
[002。转到(i);
[0022] }
[0023] 其中,所述a是启动IP组播的节点数量阔值;
[0024] 步骤e.根据{血,.},过滤得到适用IP组播的数据单元序号集合DS= {ds,};
[00幼步骤f.根据DS和PS生成IP组播任务分配表TS-=Kdsj.,Pj.,td〉},其中Pj是pSjGPS所对应的节点,td是默认为0的任务延时值;
[002引步骤g.根据PS生成下轮协调者候选序列CC= {<Py,ty〉},其中1《y《min(pc, 5),Py是PSyGPS所对应的节点,ty是Py的定时值,5是最大协调者候选序列尺寸参数;
[0027] 步骤h.向IP组播地址adk发送IP组播任务分配表TS-和协调者候选序列CC;
[0028] 步骤i.结束协调工作过程。
[0029] 在上述任一方案中优选的是,所述步骤e中ds,满足產少有a> 3个节点没有且 需要ds,对应的数据单元。
[0030] 在上述任一方案中优选的是,所述步骤f进一步包括任务分配原则,所述原则包 括:
[0031] dSy被分配两遍,即存在第一和第二两个任务承担者;
[0032]已经有ds,的数据单元的节点Pj.优先被选为ds,的任务承担者;
[0033] IP组播群内所承担IP组播任务均衡分布;
[0034] 若所述第一和第二承担者都已经有ds,数据单元,则第二承担者存在任务延时td =丫,其中丫〉〇。
[0035] 在上述任一方案中优选的是,所述节点P浪收IP组播任务分配表TS m和协调者 候选序列CC,清空上次协调的所有信息并处理本次信息的步骤进一步包括:
[003引步骤(1)遍历Tsm={<dsX,Pj,td〉}并逐项处理;
[0037] 步骤似遍历CC=KPy,ty〉},若Pi=PJ,则由ty设置协调候选定时器Te%由r。 触发Pi作为协调者工作。
[003引在上述任一方案中优选的是,所述步骤(1)中的逐项处理包括Pi=PJ和Pi声PJ两种情况。
[0039]在上述任一方案中优选的是,当Pi=Pj咐分为W下S种情况:
[0040] 若td>0,用td设置组播任务定时器Tmt,由T-t触发Pi通过IP组播发送ds,所对 应的已有的数据单元化,;
[0041] 若td=0且Pi没有ds,所对应的数据单元化,,则Pi在通过单播获取到后立即通 过IP组播发送化y;
[0042] 若td=0且Pi有ds,所对应的数据单元化,,则Pi立即通过IP组播发送化 [004引在上述任一方案中优选的是,当Pi声P J时包括W下两种情况:
[0044] ds立Pi的单播获取任务列表TS u={<ds X,rkx,rbx〉}中;
[0045]忽略。
[0046] 在上述斤一方案中优选的是,所述优化IP单播传输的步骤包括:
[0047] 若g也)=g(Pj),即Pi和PJ在同一IP组播群,贝IJ + /<,抑!二抑! + 抑f;
[004引右dSx已列入IP组播任务列表TS={〈dsX,Pk,td〉}且Pi二Pk,则rK=rK+rk;xp(g(p,)),r、=r、+rb;xp(g(p,)),pd,=pd,+pd;;
[0049]若dsx已列入IP组播任务列表TSm={<dsx,Pk,td〉}且Pi声Pk,则rkx= rkx-rk&。
[0050] 本发明还提供了一种IP组播融合于网状覆盖网的应用层组播系统,W P2P流媒体 直播系统中网状拓扑应用层组播覆盖网为主体,所述系统包括W下模块:
[0051] 节点初始化模块,用于将节点Pi加入到覆盖网0中,完成IP组播融合的节点初始 化;
[0052] 协调者模块,用于控制IP组播的启用时机、停用时机,完成IP组播群内各节点组 播任务的分配;
[0053] 节点处理模块,用于接收IP组播任务分配表TS-和协调者候选序列CC,清空上次 协调的所有信息并处理本次信息;
[
0054] 节点优化模块,利用来自协调者的IP组播域邻居信息,优化IP单播传输。
[00巧]优选的是,所述节点初始化模块包括:
[0056] 节点判断单元,用于判断节点Pi是否处于一个物理IP组播群中,如果不是则Pi按 照传统网状覆盖网节点对待,如果所述节点Pi处于一个物理IP组播群中,则Pi侦听同一IP组播群gk内是否存在覆盖网0的其它节点,若有则Pi设置的私有IP组播地址与所 述其它节点的IP保持一致,否则a成取一个目前空闲的候选地址,如果所述节点Pi加入现 有adk组播群,则所述节点p迪过adk接收覆盖网。的数据和/或指令,W判断同一IP组 播群gk内覆盖网0是否启用了IP组播传输,如果所述组播群gk内已经启用了IP组播,则 节点Pi将自己作为最后的备选cr。,同时作为普通节点接收数据和协调者cr。的指令,若所 述组播群gk内尚未启用IP组播,则节点Pi作为cr。为覆盖网0在gk内启用IP组播。
[0057] 在上述任一方案中优选的是,所述协调者模块进一步用于:
[0058] 向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf;
[0059] 通过单播收集gk内其他节点的状态信息;
[0060] Tf触发反馈信息统计,所述统计的信息包括:节点数量PC、节点状态序列PS= {psj},1《j《pc、PS冷节点P斯数据地图血冲至少一种;
[006。判断,if(pc<a) {
[0062] if(pc>a)通过adk发出IP组播停用指令;
[006引 转到(i);
[0064] }
[0065] 其中,所述a是启动IP组播的节点数量阔值;
[006引根据{血,.},过滤得到适用IP组播的数据单元序号集合DS= {ds,};
[0067] 根据DS和PS生成IP组播任务分配表TS-=KdsJ,Pj,td〉},其中P请ps卢PS所对应的节点,td是默认为0的任务延时值;
[006引根据PS生成下轮协调者候选序列CC=Kpy,ty〉},其中1《y《min(pc,5 ),Py是pSyGPS所对应的节点,ty是Py的定时值,5是最大协调者候选序列尺寸参数;
[0069] 向IP组播地址adk发送IP组播任务分配表TS-和协调者候选序列CC;
[0070] 结束协调工作过程。
[0071] 在上述任一方案中优选的是,所述ds,满足;至少有a> 3个节点没有且需要dsX 对应的数据单元。
[0072] 在上述任一方案中优选的是,所述协调者模块包括任务分配单元,所述任务分配 单元用于执行任务分配规则,所述规则包括:
[0073] dSy被分配两遍,即存在第一和第二两个任务承担者;
[0074] 已经有ds,的数据单元的节点Pj.优先被选为ds,的任务承担者;
[00巧]IP组播群内所承担IP组播任务均衡分布;
[0076] 若所述第一和第二承担者都已经有ds,数据单元,则第二承担者存在任务延时td =丫,其中丫 > 0。
[0077] 在上述任一方案中优选的是,所述节点处理模块进一步用于:
[007引遍历Tsm={<dsX,Pj,td〉}并逐项处理;
[007引遍历CC=KPy,ty〉},若Pi=PJ,则由ty设置协调候选定时器Te%由re触发Pi作 为协调者工作。
[0080] 在上述任一方案中优选的是,所述逐项处理包括Pi=PJ和Pi声PJ两种情况。
[00則在上述任一方案中优选的是,当Pi=Pj咐分为W下S种情况:
[008引若td> 0,用td设置组播任务定时器Tmt,由T-t触发Pi通过IP组播发送ds,所对 应的已有的数据单元化y;
[0083] 若td= 0且Pi没有ds,所对应的数据单元化,,则Pi在通过单播获取到后立即通 过IP组播发送化y;
[0084]若td=0且pi有ds,所对应的数据单元化,,则Pi立即通过IP组播发送化,。
[00财在上述任一方案中优选的是,当Pi声PJ时包括W下两种情况:
[008引 ds立Pi的单播获取任务列表TSu=KdsX,rkx,成〉}中;
[0087]忽略。
[0088] 在上述任一方案中优选的是,所述节点优化模块进一步用于:
[008引判断,若g(Pi) = g(pj),即Pi和PJ在同一IP组播群,则巧二巧+ /< '的二的+如f,若dSx已列入IP组播任务列表TSm={<dsX,Pk,td〉}且Pi=Pk,则 r点X= Xp(各化)),Xp(各化)),抑i.=抑i. + 抑;诺ds占列入IP组播 任务列表TS-=(<dsX,Pk,td〉}且Pi声Pk,则rkx=rkx-rk&。
[0090] 本发明WP2P流媒体直播系统中常见网状拓扑应用层组播覆盖网为主体,提出了 一套W协调者为核屯、的将IP组播融合于网状覆盖网的应用层组播方法,实现了数据单元 在群内进行IP组播传输的分工协作,并且能够降低节点动态性的不利影响。本方案可W利 用少量具有IP组播能力的局域网,降低了P2P传输对上传带宽的消耗,尤其是在节点规模 大的时候效果更为明显,该点非常有利于大规模P2P直播系统。另外通过利用IP组播群的 物理拓扑信息对单播传输进行了优化,提高了数据交换聚簇性,降低P2P系统对骨干网的 消耗。
【附图说明】
[0091] 图1是按照本发明的IP组播融合于网状覆盖网的应用层组播实现方法流程图。
[0092] 图2是按照本发明示出的互联网接入示意图。
【具体实施方式】
[0093] 下面参照附图结合示例性的实施例对本发明进行详细描述。
[0094] 如图1所示,为IP组播融合于网状覆盖网的应用层组播实现方法流程图。其中包 括W下步骤:将节点加入到覆盖网中,完成IP组播融合的节点初始化;协调者控制IP组播 的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;所述节点接收IP组播任 务分配表和协调者候选序列,清空上次协调的所有信息并处理本次信息;所述节点利用来 自协调者的IP组播域邻居信息,优化IP单播传输。图2示出了本方案工作的互联网环境 图,其中化stl-Host6没有连接到组播设备出ost7-HostlO之间由组播设备相连,并且直接 接入互联网出ostll-Hostl5之间由组播设备相连,它们通过NAT接入互联网。
[009引 目前IRTF的SAM小组已经提出了两层组播融合标准API的草案。实现两层融合 虽然概念上很简单,但还存在不少的理论与实际问题需要解决。本方案的主要贡献在于: (1)针对流媒体直播的网状拓扑覆盖网进行IP组播的融合。(2)提出了应用层组播与IP 组播融合的3个性能评价指数,并给出了其可行统计方法。(3)通过协调者实现IP组播群 内各节点的协作组播,并降低了节点动态性的干扰。(4)基于IP组播优化了单播传输的聚 簇性。
[009引相关工作:
[0097] 在流媒体传输中将应用层组播与IP组播融合的总体思路是依旧利用IP单播的灵 活,在同一IP组播群存在多个节点时,充分利用IP组播进行传输。两层组播融合的着眼点 之一是对IP层协议实现进行增强,但方案着眼点是基于现有可用的IP网络进行应用层组 播协议的合理设计。两层组播融合的应用层组播的工作可W分为两大类,组播骨干网与自 治覆盖网。
[0098] 通过组播骨干网进行两层组播融合的主要特点是有专用设备进行单播数据包与 组播数据包转发。MB0肥是组播骨干网的一种早期代表,但接入MB0肥的终端需要固定IP 并手工配置隧道接入,不适合个人用户主机。于是出现了AMT技术解决手工接入的困难,W 专用设备(通常是网关或中继器)实现接入,但该样也只适用于少量主机。为此出现了一些 代理模式的方法,让更多通过IP单播方式联网的主机可W通过代理接入组播骨干网,代理 往往称为Agent或化idge。IP组播骨干网内提供Server,Agent通过UMTP协议与Server 连接,用户节点通过IP单播连接到UMTPAgent。通过Agent接入组播骨干网的一个关键问 题是Server与Agent之间、被代理的单播节点与Agent之间的网络距离要尽量短,现有技 术中提出对被代理的IP单播节点进行聚类后选择化idge节点接入到组播骨干网内的距离 较近的化idge节点。采用代理的模式,位于组播骨干网外的代理的来源是个瓶颈,因为普 通节点通常稳定性不够,而额外的专用代理又提高了部署口槛。另外随着组播骨干网规模 增长,组播骨干网内的诸多专用设备之间的通信也变得复杂。为此有人提出的AU-IP组播 服务在组播骨干网内提供两种类型的专用Agent分别用于IP组播群和单播主机的接入,所 有Agent采用树状拓扑覆盖网组织通信。
[0099] 通过自治覆盖网进行两层组播融合的主要特点是不依赖专用设备
,在IP组播群 内动态选择节点作为代表加入到单播覆盖网中。现有文献中曾提出Subnet组播的概念, Sender通过IP单播发送数据给IP组播群内的化eder,由化eder再通过IP组播转发给 IP组播群内的Receivers。因为Sender直接给所有化eder发送数据,所W扩展性有限,同 时有文献记载了歷TP概念,它在每个IP组播群中选举一个DM作为Leader,该Leader加入 一颗树状覆盖网。Leader负责接收覆盖网的数据,发送数据给覆盖网内的孩子节点,并且 还向组播群内其他节点组播数据。由于HTMP中Leader的负担很重,进而提出的UM将接受 与转发覆盖网数据的任务进行了分解处理。在每个IP组播群中根据通信ITL对节点进行 聚簇,多个簇产生多个DM,其中有一个被选举为化adDM,其他是化ilDM。HeadDM的双亲 节点是其他组播群的DM,而化ilDM的双亲节点一定是本组播群的化adDM。UM根据IP组 播群内的TTL进行聚簇,所选举的DM未必是有利于IP组播群之间的数据通信。CIM、SIM、 DIM等方法将inter-island的优化考虑在IP组播群桥接点的选择中。其中CIM用中屯、服 务器对所有加入覆盖网的节点建立树形拓扑,每个IP组播群的节点是一颗子树。子树内通 过IP组播传输数据,子树间采用IP单播传输并依据RIT减少延时。因为中屯、服务器的瓶 颈,CIM不适合大规模高度动态的P2P环境。SIM也采用树形Overlay组织节点,不同的是 树形拓扑的维护交由节点主机完成,避免中屯、服务器瓶颈。DIM与SIM有类似之处,但在每 个IP组播群中选举一个Leader节点,统筹管理群内Ingress和Egress节点,可W更灵活 的应对节点动态性,并优化IP组播群之间的通信。
[0100] 由上可知,组播骨干网方式的两层组播融合因为需要专用设备限制了其在互联网 环境中的应用,其发展出来的代理模式,其扩展性还显不足。自治覆盖网方式的两层组播融 合更适合互联网中P2P环境,但目前的融合方法通常采用树形覆盖网进行组织。而树形覆 盖网在大规模实时应用(如流媒体应用)中不能很好适应节点的高度动态性,所w通过网 状覆盖网将IP组播融合与应用层组播显得十分必要。
[0101] 流媒体应用层组播系统通常是利用IP单播进行数据传输,本方案基于典型的网 状拓扑覆盖网,将IP组播功能融合其中。融合IP组播有两层含义;(1)利用IP组播进行 数据传输,减少节点上传带宽消耗;(2)IP组播不妨碍传统的利用IP单播方式,同时利用IP 组播群的拓扑信息优化IP单播数据调度。
[0102] 在本方案中,提出了协调者概念,用W控制解决IP组播的启用时机、IP组播的停 用时机及IP组播群内各节点组播任务的分配。首先协调者只负责一次信息收集和IP组播 任务分配;下次协调者有一个候选序列,提高了协调的可靠性。不同候选者协调工作的触 发时间不同,但只会是最早触发的那个成为协调者;最后协调者无需额外承担数据单元的 传输任务。
[0103] 下面,分别对附图1所示的步骤进行详细叙述:
[0104] 1.面向IP组播融合的节点初始化
[0105] 设想节点Pi加入到覆盖网0中,其初始过程如下:
[0106] 1)利用IP通讯技术,Pi首先判断自己是否处于一个物理IP组播群中,如果不是 则Pi按照传统网状覆盖网节点对待。
[0107] 2)如果是处于一个物理IP组播群中,Pi侦听同一IP播群gk内是否存在覆盖网0 的其它节点。如果有,Pi设置的私有IP组播地址a成与所述其它节点的IP保持一致,否则 a成取一个目前空闲的候选地址即可。
[010引扣如果加入现有adk组播群,P迪过adk接收覆盖网0的数据和/或指令,W判断 同一IP组播群gk内覆盖网0是否启用了IP组播传输。
[0109] 4)如果gk内已经启用了IP组播,Pi将自己作为最后的备选cr。,同时作为普通节 点接收数据和协调者cr。的指令,若所述组播群gk内尚未启用IP组播,则节点Pi作为cr。 为覆盖网0在gk内启用IP组播。
[0110] 2.协调者的工作过程
[0111]IP组播群gk中覆盖网0的私有组播地址记为adk。gk中的协调者cra的工作过程 如下:
[0112] 1)向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf。
[0113] 2)通过单播收集gk内其他节点的状态信息。
[0114] 3)Tf触发反馈信息统计,所述统计的信息包括:节点数量PC、节点状态序列PS= {pSj},1《j《pc、pSj含节点Pj的数据地图血j;。
[0115] if(pc<a) {
[0116] if(pc>a)通过adk发出IP组播停用指令;
[0117] 转到(i);
[om] }
[0119] 其中,所述a是启动IP组播的节点数量阔值。
[0120] 4)根据{血,.},过滤得到适用IP组播的数据单元序号集合DS= {ds,}。其中dsx 满足W下条件;至少有a>3个节点没有而且需要ds,对应的数据单元,该是因为需要IP 组播在节点较多的情形下发挥传输效率。
[0121]w根据DS和PS生成IP组播任务分配表TS-= {<dsj,Pj,td〉},其中Pj是psjEpS所对应的节点,td是默认为0的任务延时值。任务分配原则如下:
[0122] a)dSy被分配两遍,也就是有第一和第二两个任务承担者;
[0123] b)已经有ds,的数据单元的节点Pj.优先被选为ds,的任务承担者;
[0124] C)IP组播群内所承担IP组播任务尽量均衡;
[01巧]d)如果第第一和第二承担者都已经有ds,数据单元,则第二承担者存在任务延时td= 丫,其中丫 >0。丫 >0是时延参数。上原则体现了不同的目的。a)是为了提 高任务完成率;b)是为了充分利用IP组播群gk内现有数据,降低传输时延;C)是为了应对 节点动态性和避免性能瓶颈,提高稳定性;d)是为了降低重复率,提高内容有效下载指数 n。)
[012引 7)根据PS生成下轮协调者候选序列CC= {<Py,ty〉},其中1《y《min(pc,5 ), Py是pSyGPS所对应的节点,ty是Py的定时值,5是最大协调者候选序列尺寸参数。ty表 示Py收到候选序列后自己应该多久后成为协调者。0是时间差 值参数。
[0127] 8)向IP组播地址adk发送IP组播任务分配表TSm和协调者候选序列CC。
[012引 9)结束协调工作过程。
[0129] 3.IP组播融合处理
[0130] IP组播群gk内Pi(包括cr。)接收到IP组播任务分配表TS-和协调者候选序列CC 后,清空上次协调的所有信息,然后处理本次信息,处理过程如下:
[01引](1)遍历TS-={<dsX,Pj,td〉}并逐项处理。
[0132] i.如果Pi=pj,分W下情形:
[0133] (a)td> 0。该种情况说明pi已经有dsX所对应的数据单元dX。用td设置组播任 务定时器T-t,由T-t触发Pi通过IP组播发送ds,所对应的已有的数据单元化
[0134] (b)td= 0并且Pi没有ds,所对应的数据单元化Pi在通过单播获取到后立即通 过IP组播发送化,,并且单播传输调度为此有优化。
[01巧](C)td= 0并且Pi有dsX所对应的数据单元化X。Pi立即通过IP组播发送化X。
[0136] ii.如果Pi声Pj,分W下情形:
[0137] (a)dSx在Pi的单播获取任务列表TS"={<dsX,rkx,rbx〉}中。处理方式是rkx= rky-rk&。其中rky是网状覆盖网中常用的任务优先级,rky> 0是IP组播对单播任务优先 级的控制参数。
[013引 化)否则忽略。
[013引 似遍历CC=KPy,ty〉}。如果Pi=Pj,则用ty设置协调候选定时器Te%由re触 发Pi作为协调者工作。
[0140] 4.单播数据交互优化
[0141] W上方法可W鲁椿高效进行地利用IP组播数据进行数据传输,但它不能妨碍传 统的通过IP单播进行的应用层组播。鉴于覆盖网拓扑与物理拓扑匹配的必要性,可W借助 IP组播群的物理拓扑信息进行优化。优化体现在提高数据获取聚簇指数£。
[0142] 在基于单播的网状拓扑覆盖网中,节点Pi有一个集合ei=(<Pj,prj.rbj〉},其中 Pj是候选的数据请求对象节点。请求优先级prj.是pi根据pj.的状态和交换历史生成的值, 用于评估是否选择出数据请求。可靠度rbj.也是Pi根据Pj.的状态和交换历史生成的 值,用于评估发生请求后后得到数据单元的概率。而Pj会根据Pi的状态信息计算供应优先 级pdi,W决定
Pi的此次请求在Pj厮收到的所有数据请求中的供应顺序。在任意节点中还 有一个单播任务列表TSU= {<dsy,rky,;rby,nby〉}。其中dsy是需要请求的数据单元序列号, rk,是在单播任务中的优先排位,rb,是交换可靠度要求,nb,是同时请求最大邻居数。rb,体 现了对请求后返回数据单元的预期概率要求。
[014引为了在网状拓扑覆盖网中更好地融合IP组播,<Pj,prj,rbj〉、pdi、<dSx,rky,rby〉 中的值进行修正。
[0144] (1)如果g(Pi) =g(Pj),即Pi和Pj在同一IP组播群,则巧二巧+/<, 护/,=护/, +护巧,其中戶咕> 0和护巧> 0是修正参数。用w提高在IP组播群内的数据交换聚 簇性。
[014引 似如果dSx已列入IP组播任务列表TSm={<dsX,Pk,td〉}且Pi=Pk, 贝ijrkx=rkx+rk;xp(g(pt)),rbx=rbx+rb2xp(g(pt)),pd,=pd,+pd;,其中 rAr>0、和/是修正参数。用化及时获取IP组播所需要的数据单元。
[014引 做如果dSx已列入IP组播任务列表TSm={<dsX,Pk,td〉}且Pi声Pk,则rkx=rky-rk&,其中rk&是修正参数。该是用W减少重复获取数据单元。
[0147] 为了更好地理解本发明,W上结合具体实施例对本发明作了详细说明。但是,显然 可对本发明进行不同的变型和改型而不超出权利要求限定的本发明更宽的精神和范围。因 此,W上实施例具有示例性而没有限制的含义。
【主权项】
1. 一种IP组播融合于网状覆盖网的应用层组播实现方法,以P2P流媒体直播系统中网 状拓扑应用层组播覆盖网为主体,其特征在于,所述方法包括以下步骤: 将节点Pi加入到覆盖网〇中,完成IP组播融合的节点初始化; 协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配; 所述节点Pi接收IP组播任务分配表TSm和协调者候选序列CC,清空上次协调的所有 信息并处理本次信息; 所述节点Pi利用来自协调者的IP组播域邻居信息,优化IP单播传输。2. 根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,所述节点初始化步骤包括: 判断节点Pi是否处于一个物理IP组播群中,如果不是则P i按照传统网状覆盖网节点 对待; 若所述节点Pi处于一个物理IP组播群中,则P ^贞听同一 IP组播群gk内是否存在覆 盖网0的其它节点,若有则Pi设置的私有IP组播地址与所述其它节点的IP保持一致, 否则取一个目前空闲的候选地址; 若所述节点PdP入现有ad k组播群,则所述节点P i通过ad k接收覆盖网0的数据和/ 或指令,以判断同一 IP组播群gk内覆盖网〇是否启用了 IP组播传输; 若所述组播群gk内已经启用了 IP组播,则节点P 自己作为最后的备选cr a,同时作 为普通节点接收数据和协调者cra的指令,若所述组播群g k内尚未启用IP组播,则节点p i 作为craS覆盖网〇在g k内启用IP组播。3. 根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,所述协调者的工作过程包括: 步骤a.向IP组播地址adk发出信息收集指令,并设置反馈定时器T f; 步骤b.通过单播收集gk内其他节点的状态信息; 步骤c. Tf触发反馈信息统计,所述统计的信息包括:节点数量pc、节点状态序列PS = {pSj},1彡j彡pc、PSj含节点p」的数据地图dm」中至少一种; 步骤 d. if(pc < a) { if (pc > a)通过adk发出IP组播停用指令; 转到(i); } 其中,所述a是启动IP组播的节点数量阈值; 步骤e.根据{㈣},过滤得到适用IP组播的数据单元序号集合DS = {dsx}; 步骤f.根据DS和PS生成IP组播任务分配表TSm= { < ds p py td> },其中p」是 Psje PS所对应的节点,t d是默认为O的任务延时值; 步骤g.根据PS生成下轮协调者候选序列CC = { < py, ty> },其中 1彡y彡min (pc, δ ),py是ps ye PS所对应的节点,t y是p y的定时值,δ是最大协调者候 选序列尺寸参数; 步骤h.向IP组播地址adk发送IP组播任务分配表TS m和协调者候选序列cc ; 步骤i.结束协调工作过程。4. 根据权利要求3所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,所述步骤e中dsx满足:至少有a多3个节点没有且需要ds x对应的数据单元。5. 根据权利要求3所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,所述步骤f进一步包括任务分配原则,所述原则包括: dsx被分配两遍,即存在第一和第二两个任务承担者; 已经有dsx的数据单元的节点p」优先被选为ds 任务承担者; IP组播群内所承担IP组播任务均衡分布; 若所述第一和第二承担者都已经有(18!£数据单元,则第二承担者存在任务延时、=γ, 其中γ > 0。6. 根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,所述节点Pi接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调的所有信 息并处理本次信息的步骤进一步包括: 步骤⑴遍历TSm= { < ds x, Pj, td> }并逐项处理; 步骤⑵遍历cc = { < py, ty> },若p i= p』,则由ty设置协调候选定时器T 由Ttx触发Pi作为协调者工作。7. 根据权利要求6所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,所述步骤(1)中的逐项处理包括Pi= P j和P i辛P j两种情况。8. 根据权利要求7所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在 于,当Pi= P j时分为以下三种情况: 若td> 0,用t d设置组播任务定时器T mt,由Tmt触发P i通过IP组播发送ds ,所对应的 已有的数据单元dux; 若td= 0且p i没有ds x所对应的数据单元du x,则?1在通过单播获取到后立即通过IP 组播发送dux; 若td= 0且p 1有ds x所对应的数据单元du x,则口1立即通过IP组播发送du x。9. 一种IP组播融合于网状覆盖网的应用层组播系统,以P2P流媒体直播系统中网状拓 扑应用层组播覆盖网为主体,其特征在于,所述系统包括以下模块: 节点初始化模块,用于将节点Pi加入到覆盖网〇中,完成IP组播融合的节点初始化; 协调者模块,用于控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任 务的分配; 节点处理模块,用于接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调 的所有信息并处理本次信息; 节点优化模块,利用来自协调者的IP组播域邻居信息,优化IP单播传输。10. 根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播系统,其特征在于, 所述节点初始化模块包括: 节点判断单元,用于判断节点Pi是否处于一个物理IP组播群中,如果不是则P i按照传 统网状覆盖网节点对待,如果所述节点Pi处于一个物理IP组播群中,则P ^贞听同一 IP组 播群gk内是否存在覆盖网〇的其它节点,若有则P i设置的私有IP组播地址《<与所述其 它节点的IP保持一致,否则取一个目前空闲的候选地址,如果所述节点PjP入现有adk 组播群,则所述节点Pi通过ad k接收覆盖网ο的数据和/或指令,以判断同一 IP组播群g k内覆盖网〇是否启用了 IP组播传输,如果所述组播群gk内已经启用了 IP组播,则节点P i 将自己作为最后的备选cra,同时作为普通节点接收数据和协调者cra的指令,若所述组播 群gk内尚未启用IP组播,则节Api作为cra为覆盖网〇在81;内启用IP组播。
【专利摘要】本发明涉及一种IP组播融合于网状覆盖网的应用层组播的实现方法及系统,以P2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,所述方法包括:将节点加入到覆盖网中,完成IP组播融合的节点初始化;协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;所述节点接收IP组播任务分配表和协调者候选序列,进行IP组播传输;所述节点利用来自协调者的IP组播域邻居信息,优化IP单播传输。本方案能够降低P2P传输对上传带宽的消耗,降低节点动态性的不利影响,提高了数据交换聚簇性,降低P2P系统对骨干网的消耗。
【IPC分类】H04L12/761, H04L12/18
【公开号】CN104901818
【申请号】CN201510241260
【发明人】翁建广, 贾晓雯, 潘瑞芳
【申请人】浙江传媒学院
【公开日】2015年9月9日
【申请日】2015年5月13日