CN104901818A - 一种ip组播融合于网状覆盖网的应用层组播实现方法及系统 - Google Patents
一种ip组播融合于网状覆盖网的应用层组播实现方法及系统 Download PDFInfo
- Publication number
- CN104901818A CN104901818A CN201510241260.2A CN201510241260A CN104901818A CN 104901818 A CN104901818 A CN 104901818A CN 201510241260 A CN201510241260 A CN 201510241260A CN 104901818 A CN104901818 A CN 104901818A
- Authority
- CN
- China
- Prior art keywords
- multicast
- node
- covering
- nerve
- coordinator
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种IP组播融合于网状覆盖网的应用层组播的实现方法及系统,以P2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,所述方法包括:将节点加入到覆盖网中,完成IP组播融合的节点初始化;协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;所述节点接收IP组播任务分配表和协调者候选序列,进行IP组播传输;所述节点利用来自协调者的IP组播域邻居信息,优化IP单播传输。本方案能够降低P2P传输对上传带宽的消耗,降低节点动态性的不利影响,提高了数据交换聚簇性,降低P2P系统对骨干网的消耗。
Description
技术领域
本发明涉及计算机多媒体技术领域,尤其涉及一种IP组播融合于网状覆盖网的应用层组播实现方法及系统。
背景技术
组播在需要一对多实时数据分发的应用中有非常独特的优势,如流媒体直播。根据组播实现的网络协议层次,组播可以分为IP组播与应用层组播。IP组播的优点是效率高。但因为诸多因素的影响,IP组播设备在互联网全局范围的部署还不够广泛。但随着技术更新,局域网范围的IP组播设备已经越来越普及,形成很多局部的IP组播群,被称为孤岛(Island)。另外监测数据显示互联网环境中NAT后的节点数量众多,说明节点分布呈现局部聚簇性。随着IPV6的推广,支持IP组播设备也得到逐渐地增多。聚簇的节点转变为局部IP组播群的可行性在提高。
由于全局IP组播存在困难,利用现有IP单播模拟实现组播的应用层组播,已经成为更能适应互联网环境的常见技术。但应用层组播也有不少缺陷,包括:时延长、额外通信开支大、流量重复多与上传带宽消耗高,导致这些缺陷的原因包括节点的高度动态性、应用层与IP层拓扑的失配等,但更重要的原因是应用层组播所需要的上传带宽总量大于等于所有接收者下载带宽的总量。对于节点动态性或拓扑失配造成的影响,可以在应用层优化。但上传带宽的要求是应用层组播的基本原理所决定的,应用层能做的只是减少应用层组播的负载。监测数据说明节点上传带宽的利用已经接近极限状态,如何节约节点的上传带宽逐渐成为研究克服的主要难题之一。
现有技术中,公开号为CN101795234A的专利文献公开了一种基于应用层组播算法的流媒体传输方案,其利用IP组播和覆盖网技术,使用应用层组播算法建立覆盖网络,为流媒体数据提供高效的传输平台,支持各个组网节点对音视频流的订阅,并且支持多种组网算法的切换以及算法扩展。方案主要内容包括: 探测IP组播孤岛,所有位于一个IP组播域的用户对外表现为一个用户,对内使用IP组播方式相互传输数据;运行应用层组播算法建立覆盖网;在覆盖网上进行流媒体数据的传输,支持节点的对音视频数据进行订阅;能运行不同的组播协议,支持不同协议的切换,提供新算法加入的接口。其在一定程度上节省网络资源,减小传输延时,然而在IP组播群内部没有进行细分的分工协作,没有降低节点动态性带来的不良后果。
发明内容
针对背景技术中出现的问题,本发明提出一种IP组播融合于网状覆盖网的应用层组播实现方法,以P2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,所述方法包括以下步骤:
将节点pi加入到覆盖网o中,完成IP组播融合的节点初始化;
协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;
所述节点pi接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调的所有信息并处理本次信息;
所述节点pi利用来自协调者的IP组播域邻居信息,优化IP单播传输。
优选的是,所述节点初始化步骤包括:
判断节点pi是否处于一个物理IP组播群中,如果不是则pi按照传统网状覆盖网节点对待;
若所述节点pi处于一个物理IP组播群中,则pi侦听同一IP组播群gk内是否存在覆盖网o的其它节点,若有则pi设置的私有IP组播地址与所述其它节点的IP保持一致,否则取一个目前空闲的候选地址;
若所述节点pi加入现有adk组播群,则所述节点pi通过adk接收覆盖网o的数据和/或指令,以判断同一IP组播群gk内覆盖网o是否启用了IP组播传输;
若所述组播群gk内已经启用了IP组播,则节点pi将自己作为最后的备选cra,同时作为普通节点接收数据和协调者cra的指令,若所述组播群gk内尚未启用IP组播,则节点pi作为cra为覆盖网o在gk内启用IP组播。
在上述任一方案中优选的是,所述协调者的工作过程包括:
步骤a.向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf;
步骤b.通过单播收集gk内其他节点的状态信息;
步骤c.Tf触发反馈信息统计,所述统计的信息包括:节点数量pc、节点状态序列PS={psj},1≤j≤pc、psj含节点pj的数据地图dmj中至少一种;
步骤d.if(pc<a){
if(pc>a)通过adk发出IP组播停用指令;
转到(i);
}
其中,所述a是启动IP组播的节点数量阈值;
步骤e.根据{dmj},过滤得到适用IP组播的数据单元序号集合DS={dsx};
步骤f.根据DS和PS生成IP组播任务分配表TSm={<dsj,pj,td>},其中pj是psj∈PS所对应的节点,td是默认为0的任务延时值;
步骤g.根据PS生成下轮协调者候选序列cc={<py,ty>},其中1≤y≤min(pc,δ),py是psy∈PS所对应的节点,ty是py的定时值,δ是最大协调者候选序列尺寸参数;
步骤h.向IP组播地址adk发送IP组播任务分配表TSm和协调者候选序列cc;
步骤i.结束协调工作过程。
在上述任一方案中优选的是,所述步骤e中dsx满足:至少有a≥3个节点没有且需要dsx对应的数据单元。
在上述任一方案中优选的是,所述步骤f进一步包括任务分配原则,所述原则包括:
dsx被分配两遍,即存在第一和第二两个任务承担者;
已经有dsx的数据单元的节点pj优先被选为dsx的任务承担者;
IP组播群内所承担IP组播任务均衡分布;
若所述第一和第二承担者都已经有dsx数据单元,则第二承担者存在任务延时td=γ,其中γ>0。
在上述任一方案中优选的是,所述节点pi接收IP组播任务分配表TSm和协 调者候选序列cc,清空上次协调的所有信息并处理本次信息的步骤进一步包括:
步骤(1)遍历TSm={<dsx,pj,td>}并逐项处理;
步骤(2)遍历cc={<py,ty>},若pi=pj,则由ty设置协调候选定时器Tcc,由Tcc触发pi作为协调者工作。
在上述任一方案中优选的是,所述步骤(1)中的逐项处理包括pi=pj和pi≠pj两种情况。
在上述任一方案中优选的是,当pi=pj时分为以下三种情况:
若td>0,用td设置组播任务定时器Tmt,由Tmt触发pi通过IP组播发送dsx所对应的已有的数据单元dux;
若td=0且pi没有dsx所对应的数据单元dux,则pi在通过单播获取到后立即通过IP组播发送dux;
若td=0且pi有dsx所对应的数据单元dux,则pi立即通过IP组播发送dux。
在上述任一方案中优选的是,当pi≠pj时包括以下两种情况:
dsx在pi的单播获取任务列表TSu={<dsx,rkx,rbx>}中;
忽略。
在上述仟一方案中优选的是,所述优化IP单播传输的步骤包括:
若g(pi)=g(pj),即pi和pj在同一IP组播群,则
若dsx已列入IP组播任务列表TSm={<dsx,pk,td>}且pi=pk,则
若dsx已列入IP组播任务列表TSm={<dsx,pk,td>}且pi≠pk,则rkx=rkx-rkΔ。
本发明还提供了一种IP组播融合于网状覆盖网的应用层组播系统,以P2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,所述系统包括以下模块:
节点初始化模块,用于将节点pi加入到覆盖网o中,完成IP组播融合的节点初始化;
协调者模块,用于控制IP组播的启用时机、停用时机,完成IP组播群内各 节点组播任务的分配;
节点处理模块,用于接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调的所有信息并处理本次信息;
节点优化模块,利用来自协调者的IP组播域邻居信息,优化IP单播传输。
优选的是,所述节点初始化模块包括:
节点判断单元,用于判断节点pi是否处于一个物理IP组播群中,如果不是则pi按照传统网状覆盖网节点对待,如果所述节点pi处于一个物理IP组播群中,则pi侦听同一IP组播群gk内是否存在覆盖网o的其它节点,若有则pi设置的私有IP组播地址与所述其它节点的IP保持一致,否则取一个目前空闲的候选地址,如果所述节点pi加入现有adk组播群,则所述节点pi通过adk接收覆盖网o的数据和/或指令,以判断同一IP组播群gk内覆盖网o是否启用了IP组播传输,如果所述组播群gk内已经启用了IP组播,则节点pi将自己作为最后的备选cra,同时作为普通节点接收数据和协调者cra的指令,若所述组播群gk内尚未启用IP组播,则节点pi作为cra为覆盖网o在gk内启用IP组播。
在上述任一方案中优选的是,所述协调者模块进一步用于:
向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf;
通过单播收集gk内其他节点的状态信息;
Tf触发反馈信息统计,所述统计的信息包括:节点数量pc、节点状态序列PS={psj},1≤j≤pc、psj含节点pj的数据地图dmj中至少一种;
判断,if(pc<a){
if(pc>a)通过adk发出IP组播停用指令;
转到(i);
}
其中,所述a是启动IP组播的节点数量阈值;
根据{dmj},过滤得到适用IP组播的数据单元序号集合DS={dsx};
根据DS和PS生成IP组播任务分配表TSm={<dsj,pj,td>},其中pj是psj∈PS所对应的节点,td是默认为0的任务延时值;
根据PS生成下轮协调者候选序列cc={<py,ty>},其中1≤y≤min(pc,δ),py是psy∈PS所对应的节点,ty是py的定时值,δ是最大协调者候选序列尺寸参数;
向IP组播地址adk发送IP组播任务分配表TSm和协调者候选序列cc;
结束协调工作过程。
在上述任一方案中优选的是,所述dsx满足:至少有a≥3个节点没有且需要dsx对应的数据单元。
在上述任一方案中优选的是,所述协调者模块包括任务分配单元,所述任务分配单元用于执行任务分配规则,所述规则包括:
dsx被分配两遍,即存在第一和第二两个任务承担者;
已经有dsx的数据单元的节点pj优先被选为dsx的任务承担者;
IP组播群内所承担IP组播任务均衡分布;
若所述第一和第二承担者都已经有dsx数据单元,则第二承担者存在任务延时td=γ,其中γ>0。
在上述任一方案中优选的是,所述节点处理模块进一步用于:
遍历TSm={<dsx,pj,td>}并逐项处理;
遍历cc={<py,ty>},若pi=pj,则由ty设置协调候选定时器Tcc,由Tcc触发pi作为协调者工作。
在上述任一方案中优选的是,所述逐项处理包括pi=pj和pi≠pj两种情况。
在上述任一方案中优选的是,当pi=pj时分为以下三种情况:
若td>0,用td设置组播任务定时器Tmt,由Tmt触发pi通过IP组播发送dsx所对应的已有的数据单元dux;
若td=0且pi没有dsx所对应的数据单元dux,则pi在通过单播获取到后立即通过IP组播发送dux;
若td=0且pi有dsx所对应的数据单元dux,则pi立即通过IP组播发送dux。
在上述任一方案中优选的是,当pi≠pj时包括以下两种情况:
dsx在pi的单播获取任务列表TSu={<dsx,rkx,rbx>}中;
忽略。
在上述任一方案中优选的是,所述节点优化模块进一步用于:
判断,若g(pi)=g(pj),即pi和pj在同一IP组播群,则 若dsx已列入IP组播任务列表TSm={<dsx,pk,td>}且pi=pk,则 若dsx已列入IP组播任务列表TSm={<dsx,pk,td>}且pi≠pk,则rkx=rkx-rkΔ。
本发明以P2P流媒体直播系统中常见网状拓扑应用层组播覆盖网为主体,提出了一套以协调者为核心的将IP组播融合于网状覆盖网的应用层组播方法,实现了数据单元在群内进行IP组播传输的分工协作,并且能够降低节点动态性的不利影响。本方案可以利用少量具有IP组播能力的局域网,降低了P2P传输对上传带宽的消耗,尤其是在节点规模大的时候效果更为明显,这点非常有利于大规模P2P直播系统。另外通过利用IP组播群的物理拓扑信息对单播传输进行了优化,提高了数据交换聚簇性,降低P2P系统对骨干网的消耗。
附图说明
图1是按照本发明的IP组播融合于网状覆盖网的应用层组播实现方法流程图。
图2是按照本发明示出的互联网接入示意图。
具体实施方式
下面参照附图结合示例性的实施例对本发明进行详细描述。
如图1所示,为IP组播融合于网状覆盖网的应用层组播实现方法流程图。其中包括以下步骤:将节点加入到覆盖网中,完成IP组播融合的节点初始化;协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;所述节点接收IP组播任务分配表和协调者候选序列,清空上次协调的所有信息并处理本次信息;所述节点利用来自协调者的IP组播域邻居信息,优化IP单播传输。图2示出了本方案工作的互联网环境图,其中Host1-Host6没有连接到组播设备;Host7-Host10之间由组播设备相连,并且直接接入互联网;Host11-Host15之间由组播设备相连,它们通过NAT接入互联网。
目前IRTF的SAM小组已经提出了两层组播融合标准API的草案。实现两 层融合虽然概念上很简单,但还存在不少的理论与实际问题需要解决。本方案的主要贡献在于:(1)针对流媒体直播的网状拓扑覆盖网进行IP组播的融合。(2)提出了应用层组播与IP组播融合的3个性能评价指数,并给出了其可行统计方法。(3)通过协调者实现IP组播群内各节点的协作组播,并降低了节点动态性的干扰。(4)基于IP组播优化了单播传输的聚簇性。
相关工作:
在流媒体传输中将应用层组播与IP组播融合的总体思路是依旧利用IP单播的灵活,在同一IP组播群存在多个节点时,充分利用IP组播进行传输。两层组播融合的着眼点之一是对IP层协议实现进行增强,但方案着眼点是基于现有可用的IP网络进行应用层组播协议的合理设计。两层组播融合的应用层组播的工作可以分为两大类,组播骨干网与自治覆盖网。
通过组播骨干网进行两层组播融合的主要特点是有专用设备进行单播数据包与组播数据包转发。MBONE是组播骨干网的一种早期代表,但接入MBONE的终端需要固定IP并手工配置隧道接入,不适合个人用户主机。于是出现了AMT技术解决手工接入的困难,以专用设备(通常是网关或中继器)实现接入,但这样也只适用于少量主机。为此出现了一些代理模式的方法,让更多通过IP单播方式联网的主机可以通过代理接入组播骨干网,代理往往称为Agent或Bridge。IP组播骨干网内提供Server,Agent通过UMTP协议与Server连接,用户节点通过IP单播连接到UMTP Agent。通过Agent接入组播骨干网的一个关键问题是Server与Agent之间、被代理的单播节点与Agent之间的网络距离要尽量短,现有技术中提出对被代理的IP单播节点进行聚类后选择Bridge节点接入到组播骨干网内的距离较近的Bridge节点。采用代理的模式,位于组播骨干网外的代理的来源是个瓶颈,因为普通节点通常稳定性不够,而额外的专用代理又提高了部署门槛。另外随着组播骨干网规模增长,组播骨干网内的诸多专用设备之间的通信也变得复杂。为此有人提出的All-IP组播服务在组播骨干网内提供两种类型的专用Agent分别用于IP组播群和单播主机的接入,所有Agent采用树状拓扑覆盖网组织通信。
通过自治覆盖网进行两层组播融合的主要特点是不依赖专用设备,在IP组播群内动态选择节点作为代表加入到单播覆盖网中。现有文献中曾提出Subnet组播的概念,Sender通过IP单播发送数据给IP组播群内的Feeder,由Feeder 再通过IP组播转发给IP组播群内的Receivers。因为Sender直接给所有Feeder发送数据,所以扩展性有限,同时有文献记载了HMTP概念,它在每个IP组播群中选举一个DM作为Leader,该Leader加入一颗树状覆盖网。Leader负责接收覆盖网的数据,发送数据给覆盖网内的孩子节点,并且还向组播群内其他节点组播数据。由于HTMP中Leader的负担很重,进而提出的UM将接受与转发覆盖网数据的任务进行了分解处理。在每个IP组播群中根据通信TTL对节点进行聚簇,多个簇产生多个DM,其中有一个被选举为Head DM,其他是Tail DM。Head DM的双亲节点是其他组播群的DM,而Tail DM的双亲节点一定是本组播群的Head DM。UM根据IP组播群内的TTL进行聚簇,所选举的DM未必是有利于IP组播群之间的数据通信。CIM、SIM、DIM等方法将inter-island的优化考虑在IP组播群桥接点的选择中。其中CIM用中心服务器对所有加入覆盖网的节点建立树形拓扑,每个IP组播群的节点是一颗子树。子树内通过IP组播传输数据,子树间采用IP单播传输并依据RTT减少延时。因为中心服务器的瓶颈,CIM不适合大规模高度动态的P2P环境。SIM也采用树形Overlay组织节点,不同的是树形拓扑的维护交由节点主机完成,避免中心服务器瓶颈。DIM与SIM有类似之处,但在每个IP组播群中选举一个Leader节点,统筹管理群内Ingress和Egress节点,可以更灵活的应对节点动态性,并优化IP组播群之间的通信。
由上可知,组播骨干网方式的两层组播融合因为需要专用设备限制了其在互联网环境中的应用,其发展出来的代理模式,其扩展性还显不足。自治覆盖网方式的两层组播融合更适合互联网中P2P环境,但目前的融合方法通常采用树形覆盖网进行组织。而树形覆盖网在大规模实时应用(如流媒体应用)中不能很好适应节点的高度动态性,所以通过网状覆盖网将IP组播融合与应用层组播显得十分必要。
流媒体应用层组播系统通常是利用IP单播进行数据传输,本方案基于典型的网状拓扑覆盖网,将IP组播功能融合其中。融合IP组播有两层含义:(1)利用IP组播进行数据传输,减少节点上传带宽消耗;(2)IP组播不妨碍传统的利用IP单播方式,同时利用IP组播群的拓扑信息优化IP单播数据调度。
在本方案中,提出了协调者概念,用以控制解决IP组播的启用时机、IP组播的停用时机及IP组播群内各节点组播任务的分配。首先协调者只负责一次信息收集和IP组播任务分配;下次协调者有一个候选序列,提高了协调的可靠性。 不同候选者协调工作的触发时间不同,但只会是最早触发的那个成为协调者;最后协调者无需额外承担数据单元的传输任务。
下面,分别对附图1所示的步骤进行详细叙述:
1.面向IP组播融合的节点初始化
设想节点pi加入到覆盖网o中,其初始过程如下:
1)利用IP通讯技术,pi首先判断自己是否处于一个物理IP组播群中,如果不是则pi按照传统网状覆盖网节点对待。
2)如果是处于一个物理IP组播群中,pi侦听同一IP播群gk内是否存在覆盖网o的其它节点。如果有,pi设置的私有IP组播地址与所述其它节点的IP保持一致,否则取一个目前空闲的候选地址即可。
3)如果加入现有adk组播群,pi通过adk接收覆盖网o的数据和/或指令,以判断同一IP组播群gk内覆盖网o是否启用了IP组播传输。
4)如果gk内已经启用了IP组播,pi将自己作为最后的备选cra,同时作为普通节点接收数据和协调者cra的指令,若所述组播群gk内尚未启用IP组播,则节点pi作为cra为覆盖网o在gk内启用IP组播。
2.协调者的工作过程
IP组播群gk中覆盖网o的私有组播地址记为adk。gk中的协调者cra的工作过程如下:
1)向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf。
2)通过单播收集gk内其他节点的状态信息。
3)Tf触发反馈信息统计,所述统计的信息包括:节点数量pc、节点状态序列PS={psj},1≤j≤pc、psj含节点pj的数据地图dmj;。
if(pc<a){
if(pc>a)通过adk发出IP组播停用指令;
转到(i);
}
其中,所述a是启动IP组播的节点数量阈值。
4)根据{dmj},过滤得到适用IP组播的数据单元序号集合DS={dsx}。其中dsx满足以下条件:至少有α≥3个节点没有而且需要dsx对应的数据单元,这是因为需要IP组播在节点较多的情形下发挥传输效率。
5)根据DS和PS生成IP组播任务分配表TSm={<dsj,pj,td>},其中pj是psj∈pS所对应的节点,td是默认为0的任务延时值。任务分配原则如下:
a)dsx被分配两遍,也就是有第一和第二两个任务承担者;
b)已经有dsx的数据单元的节点pj优先被选为dsx的任务承担者;
c)IP组播群内所承担IP组播任务尽量均衡;
d)如果第第一和第二承担者都已经有dsx数据单元,则第二承担者存在任务延时td=γ,其中γ>0。γ>0是时延参数。(以上原则体现了不同的目的。a)是为了提高任务完成率;b)是为了充分利用IP组播群gk内现有数据,降低传输时延;c)是为了应对节点动态性和避免性能瓶颈,提高稳定性;d)是为了降低重复率,提高内容有效下载指数η。)
7)根据PS生成下轮协调者候选序列cc={<py,ty>},其中1≤y≤min(pc,δ),py是psy∈PS所对应的节点,ty是py的定时值,δ是最大协调者候选序列尺寸参数。ty表示py收到候选序列后自己应该多久后成为协调者。 tΔ>0是时间差值参数。
8)向IP组播地址adk发送IP组播任务分配表TSm和协调者候选序列cc。
9)结束协调工作过程。
3.IP组播融合处理
IP组播群gk内pi(包括cra)接收到IP组播任务分配表TSm和协调者候选序列 cc后,清空上次协调的所有信息,然后处理本次信息,处理过程如下:
(1)遍历TSm={<dsx,pj,td>}并逐项处理。
i.如果pi=pj,分以下情形:
(a)td>0。这种情况说明pi已经有dsx所对应的数据单元dx。用td设置组播任务定时器Tmt,由Tmt触发pi通过IP组播发送dsx所对应的已有的数据单元dux。
(b)td=0并且pi没有dsx所对应的数据单元dux。pi在通过单播获取到后立即通过IP组播发送dux,并且单播传输调度为此有优化。
(c)td=0并且pi有dsx所对应的数据单元dux。pi立即通过IP组播发送dux。
ii.如果pi≠pj,分以下情形:
(a)dsx在pi的单播获取任务列表TSu={<dsx,rkx,rbx>}中。处理方式是rkx=rkx-rkΔ。其中rkx是网状覆盖网中常用的任务优先级,rkx>0是IP组播对单播任务优先级的控制参数。
(b)否则忽略。
(2)遍历cc={<py,ty>}。如果pi=pj,则用ty设置协调候选定时器Tcc,由Tcc触发pi作为协调者工作。
4.单播数据交互优化
以上方法可以鲁棒高效进行地利用IP组播数据进行数据传输,但它不能妨碍传统的通过IP单播进行的应用层组播。鉴于覆盖网拓扑与物理拓扑匹配的必要性,可以借助IP组播群的物理拓扑信息进行优化。优化体现在提高数据获取聚簇指数ε。
在基于单播的网状拓扑覆盖网中,节点pi有一个集合εi={<pj,prjrbj>},其中pj是候选的数据请求对象节点。请求优先级prj是pi根据pj的状态和交换历史生成的值,用于评估是否选择pj发出数据请求。可靠度rbj也是pi根据pj的 状态和交换历史生成的值,用于评估发生请求后后得到数据单元的概率。而pj会根据pi的状态信息计算供应优先级pdi,以决定pi的此次请求在pj所收到的所有数据请求中的供应顺序。在任意节点中还有一个单播任务列表TSu={<dsx,rkx,rbx,nbx>}。其中dsx是需要请求的数据单元序列号,rkx是在单播任务中的优先排位,rbx是交换可靠度要求,nbx是同时请求最大邻居数。rbx体现了对请求后返回数据单元的预期概率要求。
为了在网状拓扑覆盖网中更好地融合IP组播,<pj,prj,rbj>、pdi、<dsx,rkx,rbx>中的值进行修正。
(1)如果g(pi)=g(pj),即pi和pj在同一IP组播群,则 其中 和 是修正参数。用以提高在IP组播群内的数据交换聚簇性。
(2)如果dsx已列入IP组播任务列表TSm={<dsx,pk,td>}且pi=pk,则 其中 和是修正参数。用以及时获取IP组播所需要的数据单元。
(3)如果dsx已列入IP组播任务列表TSm={<dsx,pk,td>}且pi≠pk,则rkx=rkx-rkΔ,其中rkΔ是修正参数。这是用以减少重复获取数据单元。
为了更好地理解本发明,以上结合具体实施例对本发明作了详细说明。但是,显然可对本发明进行不同的变型和改型而不超出权利要求限定的本发明更宽的精神和范围。因此,以上实施例具有示例性而没有限制的含义。
Claims (10)
1.一种IP组播融合于网状覆盖网的应用层组播实现方法,以P2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,其特征在于,所述方法包括以下步骤:
将节点pi加入到覆盖网o中,完成IP组播融合的节点初始化;
协调者控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;
所述节点pi接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调的所有信息并处理本次信息;
所述节点pi利用来自协调者的IP组播域邻居信息,优化IP单播传输。
2.根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,所述节点初始化步骤包括:
判断节点pi是否处于一个物理IP组播群中,如果不是则pi按照传统网状覆盖网节点对待;
若所述节点pi处于一个物理IP组播群中,则pi侦听同一IP组播群gk内是否存在覆盖网o的其它节点,若有则pi设置的私有IP组播地址与所述其它节点的IP保持一致,否则取一个目前空闲的候选地址;
若所述节点pi加入现有adk组播群,则所述节点pi通过adk接收覆盖网o的数据和/或指令,以判断同一IP组播群gk内覆盖网o是否启用了IP组播传输;
若所述组播群gk内已经启用了IP组播,则节点pi将自己作为最后的备选cra,同时作为普通节点接收数据和协调者cra的指令,若所述组播群gk内尚未启用IP组播,则节点pi作为cra为覆盖网o在gk内启用IP组播。
3.根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,所述协调者的工作过程包括:
步骤a.向IP组播地址adk发出信息收集指令,并设置反馈定时器Tf;
步骤b.通过单播收集gk内其他节点的状态信息;
步骤c.Tf触发反馈信息统计,所述统计的信息包括:节点数量pc、节点状态序列PS={psj},1≤j≤pc、psj含节点pj的数据地图dmj中至少一种;
步骤d.if(pc<a){
if(pc>a)通过adk发出IP组播停用指令;
转到(i);
}
其中,所述a是启动IP组播的节点数量阈值;
步骤e.根据{dmj},过滤得到适用IP组播的数据单元序号集合DS={dsx};
步骤f.根据DS和PS生成IP组播任务分配表TSm={<dsj,pj,td>},其中pj是psj∈PS所对应的节点,td是默认为0的任务延时值;
步骤g.根据PS生成下轮协调者候选序列cc={<py,ty>},其中1≤y≤min(pc,δ),py是psy∈PS所对应的节点,ty是py的定时值,δ是最大协调者候选序列尺寸参数;
步骤h.向IP组播地址adk发送IP组播任务分配表TSm和协调者候选序列cc;
步骤i.结束协调工作过程。
4.根据权利要求3所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,所述步骤e中dsx满足:至少有a≥3个节点没有且需要dsx对应的数据单元。
5.根据权利要求3所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,所述步骤f进一步包括任务分配原则,所述原则包括:
dsx被分配两遍,即存在第一和第二两个任务承担者;
已经有dsx的数据单元的节点pj优先被选为dsx的任务承担者;
IP组播群内所承担IP组播任务均衡分布;
若所述第一和第二承担者都已经有dsx数据单元,则第二承担者存在任务延时td=γ,其中γ>0。
6.根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,所述节点pi接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调的所有信息并处理本次信息的步骤进一步包括:
步骤(1)遍历TSm={<dsx,pj,td>}并逐项处理;
步骤(2)遍历cc={<py,ty>},若pi=pj,则由ty设置协调候选定时器Tcc,由Tcc触发pi作为协调者工作。
7.根据权利要求6所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,所述步骤(1)中的逐项处理包括pi=pj和pi≠pj两种情况。
8.根据权利要求7所述的IP组播融合于网状覆盖网的应用层组播实现方法,其特征在于,当pi=pj时分为以下三种情况:
若td>0,用td设置组播任务定时器Tmt,由Tmt触发pi通过IP组播发送dsx所对应的已有的数据单元dux;
若td=0且pi没有dsx所对应的数据单元dux,则pi在通过单播获取到后立即通过IP组播发送dux;
若td=0且pi有dsx所对应的数据单元dux,则pi立即通过IP组播发送dux。
9.一种IP组播融合于网状覆盖网的应用层组播系统,以P2P流媒体直播系统中网状拓扑应用层组播覆盖网为主体,其特征在于,所述系统包括以下模块:
节点初始化模块,用于将节点pi加入到覆盖网o中,完成IP组播融合的节点初始化;
协调者模块,用于控制IP组播的启用时机、停用时机,完成IP组播群内各节点组播任务的分配;
节点处理模块,用于接收IP组播任务分配表TSm和协调者候选序列cc,清空上次协调的所有信息并处理本次信息;
节点优化模块,利用来自协调者的IP组播域邻居信息,优化IP单播传输。
10.根据权利要求1所述的IP组播融合于网状覆盖网的应用层组播系统,其特征在于,所述节点初始化模块包括:
节点判断单元,用于判断节点pi是否处于一个物理IP组播群中,如果不是则pi按照传统网状覆盖网节点对待,如果所述节点pi处于一个物理IP组播群中,则pi侦听同一IP组播群gk内是否存在覆盖网o的其它节点,若有则pi设置的私有IP组播地址与所述其它节点的IP保持一致,否则取一个目前空闲的候选地址,如果所述节点pi加入现有adk组播群,则所述节点pi通过adk接收覆盖网o的数据和/或指令,以判断同一IP组播群gk内覆盖网o是否启用了IP组播传输,如果所述组播群gk内已经启用了IP组播,则节点pi将自己作为最后的备选cra,同时作为普通节点接收数据和协调者cra的指令,若所述组播群gk内尚未启用IP组播,则节点pi作为cra为覆盖网o在gk内启用IP组播。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510241260.2A CN104901818B (zh) | 2015-05-13 | 2015-05-13 | 一种ip组播融合于网状覆盖网的应用层组播实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510241260.2A CN104901818B (zh) | 2015-05-13 | 2015-05-13 | 一种ip组播融合于网状覆盖网的应用层组播实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104901818A true CN104901818A (zh) | 2015-09-09 |
CN104901818B CN104901818B (zh) | 2019-01-01 |
Family
ID=54034222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510241260.2A Expired - Fee Related CN104901818B (zh) | 2015-05-13 | 2015-05-13 | 一种ip组播融合于网状覆盖网的应用层组播实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104901818B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804068A (zh) * | 2021-03-19 | 2021-05-14 | 恒生电子股份有限公司 | 发送次序的设置方法、装置、可读介质以及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529502A (zh) * | 2003-10-16 | 2004-09-15 | 上海交通大学 | 基于对等互连的多点视频会议系统的应用层组播方法 |
US20090268733A1 (en) * | 2004-03-13 | 2009-10-29 | International Business Machines Corporation | Methods and Apparatus for Content Delivery via Application Level Multicast with Minimum Communication Delay |
CN101795234A (zh) * | 2010-03-10 | 2010-08-04 | 北京航空航天大学 | 一种基于应用层组播算法的流媒体传输方案 |
CN102624596A (zh) * | 2012-04-26 | 2012-08-01 | 浙江传媒学院 | 一种p2p直播覆盖网的可靠性最优树状核心拓扑求解方法 |
-
2015
- 2015-05-13 CN CN201510241260.2A patent/CN104901818B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529502A (zh) * | 2003-10-16 | 2004-09-15 | 上海交通大学 | 基于对等互连的多点视频会议系统的应用层组播方法 |
US20090268733A1 (en) * | 2004-03-13 | 2009-10-29 | International Business Machines Corporation | Methods and Apparatus for Content Delivery via Application Level Multicast with Minimum Communication Delay |
CN101795234A (zh) * | 2010-03-10 | 2010-08-04 | 北京航空航天大学 | 一种基于应用层组播算法的流媒体传输方案 |
CN102624596A (zh) * | 2012-04-26 | 2012-08-01 | 浙江传媒学院 | 一种p2p直播覆盖网的可靠性最优树状核心拓扑求解方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804068A (zh) * | 2021-03-19 | 2021-05-14 | 恒生电子股份有限公司 | 发送次序的设置方法、装置、可读介质以及电子设备 |
CN112804068B (zh) * | 2021-03-19 | 2021-06-18 | 恒生电子股份有限公司 | 发送次序的设置方法、装置、可读介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104901818B (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100479415C (zh) | 一种实现数据通讯的系统及其方法 | |
CN100454905C (zh) | 穿越网络地址转换的方法 | |
CN102185749B (zh) | 采用树形拓扑关系避免路由环路的方法 | |
CN100452734C (zh) | 基于全局Internet拓扑知识的P2P应用构建方法 | |
CN103647921A (zh) | 用于有效传输电话会议的多媒体流的方法和装置 | |
CN102594926A (zh) | 异构无线p2p网络文件共享系统及加速文件传输方法 | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN101123526B (zh) | 一种大规模流媒体传输结构的实现方法 | |
CN100527713C (zh) | Ip网络中基于虚拟分发网的多播传送方法 | |
CN106411750B (zh) | 数据分发方法及系统 | |
CN101795234A (zh) | 一种基于应用层组播算法的流媒体传输方案 | |
CN1315312C (zh) | 一种大规模多媒体接入网关的方法 | |
Luo et al. | DigiMetro-an application-level multicast system for multi-party video conferencing | |
CN103581329A (zh) | 基于分簇的对等网络流媒体直播系统拓扑结构的构建方法 | |
CN104901818A (zh) | 一种ip组播融合于网状覆盖网的应用层组播实现方法及系统 | |
Alwadani et al. | An evaluation of Opportunistic Native Multicast | |
CN1968275A (zh) | 利用自动树结构方式的应用层组播的媒体流传送系统及方法 | |
Leal et al. | New Approach to Inter‐domain Multicast Protocols | |
CN100373889C (zh) | 一种ip网络的组播传输方法 | |
CN107800567B (zh) | 一种混合模式的p2p流媒体网络拓扑模型的建立方法 | |
CN102035894B (zh) | 一种基于距离的状态同步方法 | |
CN106034106A (zh) | 组网方法、组网管理方法以及装置和系统 | |
Wählisch et al. | Multicast Routing in Structured Overlays and Hybrid Networks | |
CN104506441B (zh) | 一种流媒体数据流发送和接收方法 | |
Alwadani et al. | A simulation model for hybrid multicast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190101 |
|
CF01 | Termination of patent right due to non-payment of annual fee |