一种支持异构终端与异构网络环境的应用层组播方法

文档序号:7940011阅读:165来源:国知局
专利名称:一种支持异构终端与异构网络环境的应用层组播方法
技术领域
本发明涉及多媒体网络传输技术,特别涉及一种网络实时多媒体直播方法。
背景技术
计算机技术的发展、hternet普及以及网络带宽的飞速增长,使得曾经在 Internet上只能进行单纯的文字交流如Email等方式逐渐转向为实时的视音频交流等网络多媒体应用。当前,流媒体的直播、点播等多媒体技术相关的应用日渐火爆,对多媒体网络传输技术如多媒体编码、组播技术等提出了更高的要求。如何提供高质量、大规模的实时多媒体服务,已成为研究与应用的热点与难点。基于服务覆盖网络的多媒体直播技术可以给用户提供更好服务质量,但部署成本较高,应用规模小。采用P2P(点对点)覆盖网络多媒体传输技术可以充分利用节点资源, 使节点间可以进行数据交换,减少带宽消耗,有利于大规模的部署应用。然而在实际异构网络环境下,P2P覆盖网络组播技术存在一定的局限性。比如,不同ISP(互联网服务提供商)间节点的传输速度可能受到ISP的限制,导致直播质量降低甚至不能进行,内网节点之间难以进行数据转发。另外,由于现实中终端的异构性,P2P组播性能受到接入节点的接入带宽、在线时长和终端分辨率异构等多方面因素的影响,导致终端异构性也成为制约P2P 技术发展的问题。申请人经过查新,检索到以下几篇与本发明相关的属于应用层组播领域的专利,它们分别是1.面向MSVMT问题的两阶段分布式应用层组播方法(申请号200710035300)。2.基于同性质栅格分组的异构网络信息广播方法及系统(申请号 201010173194)。3. 一种实现异构网络端到端业务QoS控制的系统和方法(申请号200910090613)。在上述专利1中,发明人提出了面向MSVMT问题的两阶段分布式应用层组播方法, 采用保持负载平衡的节点加入方法,采用能选择综合权衡延迟和出度的PPAF启发式,采用基于三角法则的主干拓扑构建方法的树优先分布式应用层组播构建方法。在上述专利2中,发明人公开了一种基于同性质栅格分组的异构网络信息广播方法及系统,根据所述每个点的频率占用情况得到该异构网络中每个栅格的频率占用情况, 将频率占用情况相同的栅格组合成同性质的栅格区域;以每个同性质的栅格区域为一组, 将每个组的信息分别封装成帧,然后将各帧分别发送。在上述专利3中,发明人一种实现异构网络端到端业务QoS控制的系统和方法。其中该系统包括业务层、控制层和传输层。传输层与所述控制层实体单元相连,用于将所述控制层实体单元下发的策略决策转换为异构网络端到端业务的策略实施,并依据该策略实施对所述异构网络端到端业务进行操作。根据上述查新,现有技术所存在的问题是,都没有综合考虑异构终端与异构网络环境,导致网络覆盖率低,网络带宽负载重。
52/9页

发明内容
本发明的目的是提供一种综合考虑异构终端与异构网络环境、基于服务覆盖网络和P2P覆盖网络的树型分层网络架构的媒体数据传送方法。为达到以上目的,本发明是采取如下技术方案予以实现的一种支持异构终端与异构网络环境的应用层组播方法,其特征在于,搭建基于服务覆盖网络和P2P覆盖网络的树型分层网络架构,该网络架构分为主干层和分支层,主干层为构建的树型服务覆盖网络,分支层为构建的树型P2P覆盖网络,媒体数据通过主干层节点转发给分支层节点;主干层由DTU(数据转发单元)节点与服务中心节点构成,主干层从功能上划分为两层,第一层负责多频道数据转发,并通过运行在两个ISP的DTU节点实现不同ISP之间的数据传输;第二层负责单频道的数据转发,除DTU节点外,每层均有为该层 DTU服务的服务中心节点,主干层第一层的服务中心节点管理本层的DTU节点,并将DTU节点或用户节点的请求重定向到与该节点具有相同ISP的第二层服务中心;主干层第二层的服务中心负责本层DTU组播树搭建以及分支层树型P2P组播树的搭建;分支层由用户节点构成,依据用户节点的网络类型、网络带宽、在线时长和分辨率搭建P2P树型架构,用户节点从P2P树型架构的父节点处接收到媒体数据,存放到用户节点的数据缓冲区内,调用用户节点的解码模块对数据进行解码,并回放显示,同时用户节点的数据调度模块查找转发节点列表,将数据缓冲区的数据转发给P2P树型架构的子节点。上述方案中,所述的将DTU节点或用户节点的请求重定向到与该节点具有相同 ISP的第二层服务中心的具体步骤如下首先,给出算法步骤中用到的概念和定义,第一层服务中心S维护着本层的DTU信息列表Df [1-n]、第二层服务中心列表以及其对应的根DTU列表Dsr [l_n]和直播频道列表C < N,Source,Tfci] >,在频道列表中,N表示频道号Ii1, n2,…叫,Source表示源节点信息,Ttni]表示加入频道Iii的DTU节点列表;Stepl =DTU节点或用户节点Nodei连接第一层服务中心S,请求加入直播频道叫, 服务中心S根据该节点IP地址判断Nodei所在ISP,并查找当前频道列表C < N,Source, T [nj >中N = Iii的DTU列表T [nj,找到与Nodei处于同一 ISP的第二层根DTU节点Dsr [k], 执行Mep4,如果找不到则执行Mep2 ;St印2 服务中心S将第二层的根DTU列表Djl-η]中与Nodei处于相同ISP的列表Dsr[i_j] (1 <= i <= j <=n)信息发送给Nodei,Nodei 测试与 Dsr[i-j]中所有 DTU节点的RTT时间,获得与其RTT延迟最小的DTU节点Dsr[k] (i <= k <= j);St印3 服务中心S添加DsJk]到T[Iii],如果DsJk]和Tfci]中的根节点不在同一个ISP,则需要从 [1-11]中找出一个中转节点Df [f] (l<=f <=n)使之成为Tfci]根节点的孩子节点,同时找出与DsJk]同一 ISP且延迟最小的第一层的DTU节点Df [g](l <=g <=n)作为Df[f]的孩子节点以及DsJk]的父节点;Step4 服务中心S将第二层服务中心列表中与DsJk]对应的服务中心 Sn[k]的信息发送给Nodei, Nodei重新连接第二层服务中心;所述的主干层第二层的服务中心负责本层DTU组播树搭建的具体步骤如下首先,给出算法步骤中用到的概念和定义,第二层服务中心维护DTU节点列表DTU < id, d_degree, u_degree, level >,其中 id 是 DTU 节点的唯一标识符,d_degree 为该节点可接DTU节点的数量,U_degree为该节点可接用户节点的数量,level为该节点所在的层数;DTU组播树的搭建具体步骤如下Stepl =DTU节点Di连接第一层服务中心S,请求加入直播频道叫,S根据节点请求重定向算法将其对应的第二层服务中心信息发送给Di ;St印2 :DTU节点Di连接第二层服务中心^Uk],服务中心判断该节点所处网络类型,并置当前搜索层St印3 如果Di处于外网,服务中心采用广度优先搜索方式遍历第N层,查找当前接入DTU节点个数小于cLdegree的第一个DTU节点Dk,将Di作为Dk的子节点,如果Di 处于内网,服务中心采用广度优先搜索方式遍历第N层,查找当前接入DTU节点个数小于cLdegree且位于外网的第一个DTU节点Dk,将Di作为Dk的子节点,如果已经找到则退出,否则N = N+1,继续执行乂印3 ;所述的分支层树型P2P组播树的搭建包括支持内外网的基于优先度的用户节点加入和退出算法;1)用户节点加入算法步骤第二层服务中心维护的用户节点列表USER[id,ip,resolution, degree, father_ id,father_ip],其中,id是用户节点的唯一标识,ip为用户节点的IP地址,resolution表示用户节点的分辨率,degree表示用户节点可接入节点个数,fathered表示用户节点的父节点的id,father_ip为用户节点父节点的IP地址;具体步骤如下Stepl 用户节点连接第一层服务中心S,请求加入直播频道ni,S根据节点请求重定向算法将其对应的第二层服务中心&[ 信息发送给Ui ;St印2 用户节点Ui连接第二层服务中心Sn[k],服务中心Sn[k]判断该节点所处网络类型,并置当前搜索层N为1,候选节点集合set (η)初始化为空,候选父节点集合 set (fn)初始化为空;St印3 如果该节点处于外网,服务中心采用广度优先搜索方式遍历第N层, 将该层与请求加入节点具有相同分辨率的用户节点和DTU节点加入候选节点集合set (η), 如果该节点处于内网,服务中心采用广度优先搜索方式遍历第N层,将该层与请求加入节点具有相同分辨率且处于外网的用户节点和DTU节点加入候选节点集合set(n);St印4 遍历set (η),将其中接入用户节点数量小于degree的节点作为候选父节点 set (fn),如果 |set(fn)| = 0,则置 N = N+1,跳到乂印3,如果 | set (fn) | >0,执行 Step5 ;St印5 计算Set(fn)中每个节点的优先度π ”选择优先度最大的节点,将该节点作为新加入节点Ui的父节点,如果Set(fn)中节点的优先度相同,则随机挑选一个节点作为新节点的父节点,其中节点Ui的优先度π i的计算方法如下
式中、——节点i的在线时长;Ci——节点i的网络带宽;B——一路多媒体数据所占用的带宽;Iii——节点i的子节点个数;tj——节点i的子节点j的在线时长;Cj——节点i的下级节点j的网络带宽;kj——节点j的子节点个数;2)用户节点退出算法步骤如下Stepl 用户节点Ui给其当前连接的第二层服务中心发送一条退出消息;乂印2:服务中心&[1]收到消息后,根据UiWid找到其父节点fn,给4发送一条该节点退出消息;St印3 服务中心&[1]计算Ui目前的出度D(n)和其父节点fn剩余出度D(fn),若 D(n) ^D(fn),则将Ui的下级节点接到节点fn下,并且跳到St印5,否则转到St印4 ;St印4 从退出节点Ui的子节点集合set (Cn)中选择优先度最大的m个节点
m
hildren(i),使D( )《CD(/ ) + ZcM办例(0然后将节点4和children(i)作为剩余节点
...... Λ=1 .一.
set (Cn)-children (i)的候选父节点,剩余节点下级节点结构不变,采用用户节点加入算法来加入到系统中,然后转到Mep5 ;St印5 退出节点Ui的下级节点都加入到系统后,节点Ui退出系统。与现有技术相比,本发明的优点是采用基于服务覆盖网络和P2P覆盖网络的树型分层网络架构,综合考虑了不同ISP网络与内外网的异构网络环境,以及用户节点的网络类型、网络带宽、在线时长和分辨率的异构终端因素,实现了支持异构网络和异构终端的媒体数据高效、快速的传送。


图1为本发明异构网络下分层混合覆盖网络架构拓扑图。图2为图1中主干层DTU节点部署图。图3为公知的判断节点的网络类型示意图。图4为公知的广度优先和宽度优先拓扑示意图。图5为图1中主干层第二层的DTU组播树内外网混搭图。图6为本发明与现有技术不同分辨率终端组播树占用的总带宽比较图。其中图 6(a)为现有技术的,图6(b)为本发明的。图7为图1分支层的异构终端节点加入优先搜索模型图。图8为图1分支层的异构终端节点退出示意图,其中图8(a)为终端节点退出前示意图;图8(b)为终端节点退出后示意图。
具体实施例方式为了更清楚的理解本发明,以下结合附图对本发明作进一步的详细描述。
1、基于服务覆盖网络和P2P覆盖网络的树型分层网络架构本发明中基于服务覆盖网络和P2P覆盖网络的树型分层网络架构拓扑图如附图1 所示。如附图1所示,基于服务覆盖网络和P2P覆盖网络的树型分层网络架构中涉及的节点分为四类源节点、服务中心节点、DTU节点和用户节点,其中源节点是多媒体数据的来源节点,服务中心节点负责管理DTU节点和用户节点,搭建维护覆盖网络拓扑,DTU节点负责转发多媒体数据,用户节点接收直播多媒体数据,并在本地显示。如附图1所示,基于服务覆盖网络和P2P覆盖网络的树型分层网络架构分为主干层和分支层,主干层为构建的树型服务覆盖网络,分支层为构建的树型P2P覆盖网络,媒体数据通过主干层节点转发给分支层节点;主干层从功能上又划分为两层,第一层负责多频道数据转发,并通过可以运行在两个ISP的DTU节点实现两个不同ISP之间的数据传输,第二层负责单频道的数据转发,除 DTU节点外,每层均有为该层DTU服务的服务中心节点,第一层的服务中心节点管理本层的 DTU节点,并将DTU节点或用户节点的请求重定向到与该节点具有相同ISP的第二层服务中心;第二层的服务中心负责本层DTU组播树搭建以及分支层树型P2P覆盖网络的搭建。分支层为构建的树型分支层,由用户节点构成,并依据用户节点的网络类型、网络带宽、在线时长和分辨率构建P2P树型架构,用户节点从P2P树型架构的父节点处接收到媒体数据,存放到用户节点的数据缓冲区内,调用用户节点的解码模块对数据进行解码,并回放显示,同时用户节点的数据调度模块查找转发节点列表,将数据缓冲区的数据转发给P2P 树型架构的子节点。主干层DTU节点部署图如附图2,第一层DTU节点按照ISP划分,其中有DTU节点可以同时运行在不同ISP之间,负责位于不同ISP的两个DTU节点之间的数据转发。第二层由DTU组播树构成,组播树的根DTU根据ISP的不同与第一层的DTU节点相连。第一层的服务中心具有判别节点所在ISP的功能,第二层的服务中心具有判断节点类型是外网或者内网的功能,由此来判别节点的网络环境,实现支持异构网络的媒体数据传送方法。2、DTU节点或用户节点的请求重定向到与该节点具有相同ISP的第二层服务中心算法第一层服务中心维护着本层的DTU信息列表Df [1-n]、第二层服务中心列表 Sn[l-η]以及其对应的根DTU列表Dsr [1-n]和直播频道列表C < N,Source, Ttni] >,在频道列表中,N表示频道号ni,n2,-Hi, Source表示源节点信息,Ttni]表示加入频道Iii的 DTU节点列表。第二层服务中心维护节点列表Node < id, d_degree, u_degree, level >,其中id 是DTU节点和用户节点的唯一标识符,d_degree为该节点可接DTU节点的数量,对用户节点来说为0,u_degree为该节点可接用户节点的数量,level为该节点所在的层数。第一层的服务中心具有判别节点所在的ISP的功能;第二层的服务中心具有判断节点的类型是外网或者内网的功能。1)DTU节点或用户节点所处ISP的判别方法根据节点的IP地址查询IP地址数据库可以判断所在ISP。当有新的节点请求到达时,第一层服务中心获得节点的真实IP地址后,通过字符串查找和与计算子网掩码的方法在IP地址数据库查到该IP地址所属的ISP。然后第一层的服务中心将与该节点相同ISP 的第二层的服务中心IP地址和端口返回给节点,这样节点就可以去连接合适的第二层的服务中心。当使用202. 117. 10. 76的教育网IP地址的计算机访问Gmail邮箱时,邮箱所显示的IP地址为117. 32. 153. 161。如果在同在教育网的一台IP地址为202. 117. 10. 75的计算机上部署一个服务中心,然后用该计算机去连接这个服务中心,那么这个服务中心获取到的IP地址应该为202. 117. 10. 76。通过前来访问节点的socket可以获取节点的IP地址, Gmail邮箱的IP地址是全球唯一的IP地址,访问它所获取到的IP地址一定是节点真实IP 地址信息。而202. 117. 10. 76这个IP地址应该是通过NAT方式分配的。所以,第一层的服务中心必须部署在主干网络中,这样它才能获得节点真实的IP地址,才可以通过IP地址库正确判断节点所在ISP。2)DTU节点或用户节点的请求重定向到与该节点具有相同ISP的第二层服务中心算法具体步骤如下当节点Nodei请求加入直播频道Iii时,首先连接第一层服务中心,第一层服务中心根据Nodei的IP地址判断Nodei所在的ISP,根据频道号Iii和ISP在当前频道列表C < N, Source, Ttni] >中查找是否有与Nodei处于同一 ISP的第二层根DTU节点,若有,第一层服务中心将第二层服务中心列表中与DsJk]对应的服务中的信息发送给 Nodei, Nodei重新连接第二层服务中心。若在当前频道列表中未找到DTU节点,则第一层服务中心将第二层的根DTU列表 Dsr [1-n]中与Nodei处于相同ISP的列表Dsr [i_j] (l<=i<= j< = n)信息发送给Nodei, Nodei往Ds,[i-j]中所有DTU节点发送PING包,从收到的ACK包中获取RTT时延,选择RTT 时延最小的DTU节点Dsr[k] (i <= k<= j);第一层服务中心添加DsJk]到T[ni],如果DsJk]和Tfci]中的根节点不在同一个 ISP,则需要从 [1-11]中找出一个中转节点Df [f] (1 <= f <= η)使之成为T [η]根节点的孩子节点,同时找出与DsJk]同一 ISP且RTT时延最小的第一层的DTU节点Df [g] (1< = g <= η)作为Df[f]的孩子节点以及Dsr[k]的父节点;第一层服务中心S将第二层服务中心列表&[1_11]中与DsJk]对应的服务中心 Sn[k]的信息发送给Nodei, Nodei重新连接第二层服务中心;3、DTU组播树的搭建算法1)判断节点的网络类型的方法 如附图3所示,IP地址为192. 168. 1. 20的内网计算机,使用2000端口去访问外网的服务器,在通过NAT网关时,它的IP地址和端口自动被转换为NAT网关地址 202. 117. 10. 76 :7678与其自身IP地址不同。所以判别节点所处网络类型的方法为节点在连接外网部署的服务中心时,将自己获取的本地IP地址打包成消息发送给服务中心,服务中心比较从socket获取的IP地址和节点的发送的消息中IP地址,相同则为外网节点, 反之为内网节点。2) DTU组播树的搭建组播树的搭建方法有两种广度优先(BFS-Breadth First Search)以及深度优先 (DFS-Depth First Search)方法。如附图4 (1)所示,按照广度优先方法搭建出的组播树中D6处于第一层,附图4( 所示,按照深度优先方法搭建出的组播树中D6节点处于第三层,假设传输过程延迟都相同,那么广度优先组播树中数据传输层数少,D6传输延迟也就比深度优先组播树中的D6低。故本发明采用从左到右的广度优先方法来搭建第二层DTU组播树。在异构网络环境中搭建DTU树的时候,面临着为内网DTU节点服务的问题以及利用内网DTU节点带宽提高网络利用率的问题。由于两个内网节点之间的穿透难以实现,故本发明基于广度优先方法,提出了内外网混搭的组播树搭建方法。组播树搭建的基本规则如下a. DTU节点的父节点只能是DTU节点,每个DTU节点分配出度配额为d_degree来连接DTU节点,出度配额为[degree来连接用户节点;b. DTU树为广度优先树,高一层的DTU出度配额未使用完时,低一层的DTU节点不能作为新加入直播的节点的备选父节点;c.处于内网的DTU节点,只能把外网的DTU节点作为父节点,其孩子节点也只能为外网节点;DTU组播树搭建的具体步骤如下DTU节点Di连接第一层服务中心S,请求加入直播频道叫,S根据节点定位算法将其对应的第二层服务中心信息发送给Di ;DTU节点Di连接第二层服务中心&&],服务中心根据Di的IP地址判断该节点Di所处网络类型,并置当前搜索层N为1 ;如果 Di处于外网,服务中心采用从左到右的广度优先搜索方式遍历第N层,查找当前接入 DTU节点个数小于cLdegree的第一个DTU节点Dk,将Di作为Dk的子节点;如果Di处于内网,服务中同样采用从左到右的广度优先搜索方式遍历第N层,查找当前接入DTU 节点个数小于cLdegree且位于外网的第一个DTU节点DkJfDi作为Dk的子节点;如果找到则退出,否则N = N+1,继续遍历查找;根据内外网混搭方法搭建出的DTU组播树如附图5所示。3、分支层树型P2P组播树的搭建分支层树型P2P组播树的搭建包括支持内外网的基于优先度的用户节点加入和退出算法。1)用户节点加入算法DTU组播树构建完成以后,分支层树型P2P组播树中加入用户节点要考虑用户节点的终端接入网络类型、网络带宽、在线时长和分辨率异构性。其中终端分辨率对组播带宽有较大的影响市场上各类终端分辨率有十几种,经过在源节点采集的不同分辨率的数据发送到终端的显示效果来看,发送一种数据大小可以适用一个区间段分辨率的显示。例如发送480*320的数据在分辨率为32(^240到640*480 的终端上都能达到满意的效果。使用320*480、800*600、10M*768这三种大小的数据基本可以满足目前所有终端的显示需求。附图6显示了不同接收端的分辨率分别为1024*768、 800*600和480*320,分别接收3层、2层和1层数据流,从附图6可以看出,改变两个节点的位置,让总带宽从41. 8降到37. 8,由此可见,将节点优先接到具有相同分辨率节点下面可以减少带宽消耗。本发明中支持分辨率异构的方法需要主干层第二层服务中心新建一个包含N个节点的优先搜索数组,用来记录已经加入节点的信息,节点信息格式为USER[id, ip,resolution, degree,father_id, father_ip]id:节点的唯一标识;ip:节点的IP地址;resolution 节点的分辨率;degree 节点的出度;father_id 节点的父节点的名称,作为该节点的唯一标识;Father_ip 节点父节点的IP地址;支持内外网的基于优先度的用户加入算法具体实现如下用户节点Ui加入时,先连接第一层服务中心S,请求加入直播频道叫,S根据节点定位算法将其对应的第二层服务中心信息发送给Ui 连接第二层服务中心, Sn[k]根据Ui的IP地址判断该节点所处网络类型,并置当前搜索层N为1,候选节点集合 set (η)初始化为空,候选父节点集合Set(fn)也初始化为空;如果用户节点Ui处于外网,服务中心采用从左到右的广度优先搜索方法分层遍历组播树第N层,将分辨率当前层中与加入用户节点的终端分辨率相同的节点加入候选节点集合set (η);如果用户节点仏处于内网,服务中心采用从左到右的广度优先搜索方法分层遍历组播树第N层,将分辨率当前层中与加入用户节点的终端分辨率相同且处于外网的节点加入候选节点集合set(n);在集合set (η)中选取候选节点中接入用户节点数量小于degree的节点作为候选父节点集合set (fn),如果|Set(fn)| = 0,则置N = N+1,继续遍历下一层,如果| set (fn) >0,计算所有候选父节点的优先度,选择优先度最大的节点作为父节点,若有多个候选父节点的优先度相同,则随机选取一个节点作为父节点。附图7给出了广度优先搜索模型。其中,节点i的优先度π i的计算方法如下
,Ci 7 、 ti(--kt)苁
权利要求
1. 一种支持异构终端与异构网络环境的应用层组播方法,其特征在于,搭建基于服务覆盖网络和P2P覆盖网络的树型分层网络架构,该网络架构分为主干层和分支层,主干层为构建的树型服务覆盖网络,分支层为构建的树型P2P覆盖网络,媒体数据通过主干层节点转发给分支层节点;主干层由DTU节点与服务中心节点构成,主干层从功能上划分为两层,第一层负责多频道数据转发,并通过运行在两个ISP的DTU节点实现不同ISP之间的数据传输;第二层负责单频道的数据转发,除DTU节点外,每层均有为该层DTU服务的服务中心节点,主干层第一层的服务中心节点管理本层的DTU节点,并将DTU节点或用户节点的请求重定向到与该节点具有相同ISP的第二层服务中心;主干层第二层的服务中心负责本层 DTU组播树搭建以及分支层树型P2P组播树的搭建;分支层由用户节点构成,依据用户节点的网络类型、网络带宽、在线时长和分辨率搭建P2P树型架构,用户节点从P2P树型架构的父节点处接收到媒体数据,存放到用户节点的数据缓冲区内,调用用户节点的解码模块对数据进行解码,并回放显示,同时用户节点的数据调度模块查找转发节点列表,将数据缓冲区的数据转发给P2P树型架构的子节点。上述方案中,所述的将DTU节点或用户节点的请求重定向到与该节点具有相同ISP的第二层服务中心的具体步骤如下首先,给出算法步骤中用到的概念和定义,第一层服务中心S维护着本层的DTU信息列表Df [1-n]、第二层服务中心列表以及其对应的根DTU列表DsJl_n]和直播频道列表C < N,Source,Tfci] >,在频道列表中,N表示频道号Ii1, n2,…叫,Source表示源节点信息,Ttni]表示加入频道η,的DTU节点列表;Stepl =DTU节点或用户节点Nodei连接第一层服务中心S,请求加入直播频道叫,服务中心S根据该节点IP地址判断Nodei所在IPP,并查找当前频道列表C < N, Source, Ttni] >中N = Iii的DTU列表Tfci],找到与Nodei处于同一 ISP的第二层根DTU节点Dsr[k],执行Mep4,如果找不到则执行乂印2 ;St印2 服务中心S将第二层的根DTU列表Ds, [1-n]中与Nodei处于相同ISP的列表 Dsr[i-j] (1 <= i <= j <=n)信息发送给 Nodei,Nodei 测试与 Dsr[i-j]中所有 DTU 节点的RTT时间,获得与其RTT延迟最小的DTU节点Dsr[k] (i <= k<= j);St印3 服务中心S添加DsJk]到Tfci],如果DsJk]和Tfci]中的根节点不在同一个 ISP,则需要从 [1-11]中找出一个中转节点Df[f](l <=f <=n)使之成为Tfci]根节点的孩子节点,同时找出与DsJk]同一 ISP且延迟最小的第一层的DTU节点Df[g](l <= g <=n)作为Df[f]的孩子节点以及DsJk]的父节点;Step4 服务中心S将第二层服务中心列表中与DsJk]对应的服务中心的信息发送给Nodei, Nodei重新连接第二层服务中心;所述的主干层第二层的服务中心负责本层DTU组播树搭建的具体步骤如下 首先,给出算法步骤中用到的概念和定义,第二层服务中心维护DTU节点列表DTU < id, d_degree, u_degree, level >,其中 id 是 DTU 节点的唯一标识符,d_degree 为该节点可接DTU节点的数量,U_degree为该节点可接用户节点的数量,level为该节点所在的层数;DTU组播树的搭建具体步骤如下Stepl =DTU节点Di连接第一层服务中心S,请求加入直播频道叫,S根据节点请求重定向算法将其对应的第二层服务中心信息发送给Di ;St印2 =DTUfADi连接第二层服务中心&&],服务中心&[ 判断该节点所处网络类型,并置当前搜索层Step3 如果Di处于外网,服务中心采用广度优先搜索方式遍历第N层,查找当前接入DTU节点个数小于cLdegree的第一个DTU节点Dk,将Di作为Dk的子节点,如果Di处于内网,服务中心采用广度优先搜索方式遍历第N层,查找当前接入DTU节点个数小于 cLdegree且位于外网的第一个DTU节点DkJf Di作为Dk的子节点,如果已经找到则退出, 否则N = N+1,继续执行乂印3 ;所述的分支层树型P2P组播树的搭建包括支持内外网的基于优先度的用户节点加入和退出算法;1)用户节点加入算法步骤第二层服务中心维护的用户节点列表USER[id,ip,resolution, degree, father_id, father_ip],其中,id是用户节点的唯一标识,ip为用户节点的IP地址,resolution表示用户节点的分辨率,degree表示用户节点可接入节点个数,fathered表示用户节点的父节点的id,father_ip为用户节点父节点的IP地址; 具体步骤如下Stepl 用户节点连接第一层服务中心S,请求加入直播频道ni,S根据节点请求重定向算法将其对应的第二层服务中心信息发送给Ui ;Step2 用户节点仏连接第二层服务中心&&],服务中心&[ 判断该节点所处网络类型,并置当前搜索层N为1,候选节点集合set(n)初始化为空,候选父节点集合Set(fn)初始化为空;Step3 如果该节点处于外网,服务中心采用广度优先搜索方式遍历第N层,将该层与请求加入节点具有相同分辨率的用户节点和DTU节点加入候选节点集合set (η),如果该节点处于内网,服务中心采用广度优先搜索方式遍历第N层,将该层与请求加入节点具有相同分辨率且处于外网的用户节点和DTU节点加入候选节点集合set (η);St印4 遍历set (η),将其中接入用户节点数量小于degree的节点作为候选父节点 set(fn),如果 |set(fn) | = 0,则置 N = N+1,跳到乂印3,如果 | set (fn) | >0,执行乂印5 ; 计算Set(fn)中每个节点的优先度η ”选择优先度最大的节点,将该节点作为新加入节点Ui的父节点,如果set (fn)中节点的优先度相同,则随机挑选一个节点作为新节点的父节点;2)用户节点退出算法步骤如下Stepl 用户节点Ui给其当前连接的第二层服务中心发送一条退出消息; Step2 服务中心收到消息后,根据Ui的id找到其父节点fn,给fn发送一条该节点退出消息;St印3:服务中心&[土]计算Ui目前的出度D(n)和其父节点4剩余出度D(fn),若 D(n) ^D(fn),则将Ui的下级节点接到节点fn下,并且跳到St印5,否则转到St印4 ;乂印4:从退出节点Ui的子节点集合Set(Cn)中选择优先度最大的m个节点mchildren⑴,使< CD(/ ) + ZcM办例(0然后将节点fn和children⑴作为剩余节点set (Cn)-children (i)的候选父节点,剩余节点下级节点结构不变,采用用户节点加入算法来加入到系统中,然后转到Mep5 ;St印5 退出节点Ui的下级节点都加入到系统后,节点Ui退出系统。
2.如权利要求1所述的支持异构终端与异构网络环境的应用层组播方法,其特征在于,所述的节点Ui的优先度π i的计算方法如下,Ci -,, t,(--ki)π, =——-BΣ J loM^-- kj) η式中节点i的在线时长;节点i的网络带宽;cJ-kr-路多媒体数据所占用的带宽; 节点i的子节点个数; 节点i的子节点j的在线时长; 节点i的下级节点j的网络带宽节点j的子节点个数。
全文摘要
本发明公开了一种支持异构终端与异构网络环境的应用层组播方法,其特征在于基于服务覆盖网络和P2P覆盖网络的树型分层网络架构,实现了综合考虑异构终端与异构网络环境的媒体数据传送方法。首先,基于服务覆盖网络和P2P覆盖网络的树型分层网络架构,综合考虑了不同ISP网络与内外网的异构网络环境,实现了支持异构网络的媒体数据传送;其次,基于异构网络的媒体数据传送分层网络架构,综合考虑各个用户节点的网络类型、网络带宽、在线时长和分辨率的终端异构因素,实现了支持异构终端的媒体数据传送方法。
文档编号H04L29/06GK102387072SQ20111031278
公开日2012年3月21日 申请日期2011年10月15日 优先权日2011年10月15日
发明者刘均, 张未展, 杜海鹏, 赵辉, 郑庆华, 陈小云 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1