专利名称:多对多可靠组播拥塞控制方法
技术领域:
本发明涉及一种应用于计算机网络的多对多可靠组播的拥塞控制方法,属于计算机网络 可靠组播技术领域。
技术背景随着网络技术的发展及大量新兴业务的出现,传统的数据通信方式已经不能满足应用的 需求。在视频会议、远程教学、网络交互式游戏、远程虚拟现实等应用中,若用传统的点到 点通信方式,不仅浪费大量的网络带宽,而且效率很低。组播作为一种组传输机制,采用一 对多的消息分发方式,能够有效节省带宽,但由于它是一种尽力传输方式,不能够对传输过 程中的差错进行处理,无法保证数据报文的可靠性。为了满足应用需求,怎样设计一种能够 完成类似单播服务中TCP的可靠传输功能的可靠组播(Reliable Multicast)机制,使其在组 播通信过程中,能够根据网络丢失分组报文的情况,迅速、高效地恢复丢失的报文,使接收 者接收到正确、有序的报文,正成为当前的研究热点。可靠组播中最主要解决的是两方面的问题,第一是错误恢复,第二就是拥塞控制。而由 于错误恢复机制的引入,往往会增加网络通信传输量,因此如果没有适当的拥塞控制机制, 则会加重网络拥塞情况,增大丢包率,不利于组播通信的可靠性保证。由于多对多可靠组播 的通信量和节点负载往往比一对多可靠组播高,因此对拥塞控制的需求则更加突出。多对多可靠组播中的拥塞控制主要为了解决有限的网络资源与多用户需求之间的矛盾, 是对用户使用网络资源动态协调和控制的机制和策略。通常拥塞控制又可进一步细分为流量 控制(Flow Control)和网络拥塞控制。流控制指接收方控制发送方发送数据数量的机制。 当数据超过网络的处理能力时,网络拥塞就会产生。TCP采用一种基于窗口的拥塞控制机制 通过在发送方维护接收方允许的窗口和拥塞窗口实现。分布交互仿真领域的拥塞与传统网络 通信中的拥塞是有区别的。网络拥塞发生于包交换机或路由器,而在分布交互仿真的多对多 可靠组播中,主机节点往往需要占用大量的计算资源构建仿真环境,因此拥塞常由主机节点 开始。 发明内容本发明的目的是提供一种多对多可靠组播拥塞控制方法,它可使可靠服务器根据组播节 点的状态进行拥塞检测和拥塞抑制请求的发送,对发送方进行有效的速率抑制,保证组播传 输的可靠性。本发明采取的技术方案是一种多对多可靠组播拥塞控制方法,包含以下步骤1) 组播接收方判断是否拥塞,若拥塞,则向可靠服务器发送拥塞抑制请求;2) 可靠服务器通过计时,判断是否收到拥塞抑制请求;3) 若可靠服务器未收到拥塞抑制请求,则通知组播发送方提高发送速率;4) 若可靠服务器收到拥塞抑制请求,则判断是否发生拥塞;5) 若可靠服务器判断巳发生拥塞,则向组播发送方发送速率抑制请求,组播发送方进行 速率抑制。在所述步骤1)中,组播接收方通过以下方法判断是否拥塞监测组播节点缓冲队列变 化趋势及空闲率;若缓冲队列呈加速减少,则认为发生拥塞;若缓冲队列呈减速减少,且剩 余大小〈阈值,则认为发生拥塞。在所述步骤1)中,组播接收方还可通过以下方法判断是否拥塞根据缓冲区当前 和上一时刻的占用量变化,和这期间的处理速度相比,加权求均值,得出缓冲区占用量 变化趋势;当缓冲区占用量变化趋势超过一定阈值时,说明拥塞发生。所述步骤3)可进一步分为3. l)当可靠服务器在多个周期时间内未收到拥塞抑制请求时,按以下方法计算发送速率 并将发送速率发给组播发送方;3. 2)比较当前速率与上次抑制的速率,差距较大时按正常策略提升速率;3. 3)当速率接近上次抑制的速率时,縮小速率提升比例。 所述步骤4)可进一步分为4. l)可靠服务器对所接收到的组播节点的NACK反馈进行保存;4. 2)计算丢包趋势函数;4.3)当丢包趋势函数大于一定阈值时,判断组播节点发生拥塞,需要进行速率抑制。 所述步骤5)可进一步分为5. l)可靠服务器按以下方法计算速率抑制比例,并发送给发送方; 5.2)丢弃1个周期内收到同组播组内不同节点的拥塞抑制信息;5. 3) 1个周期内第i次收到同一节点的拥塞抑制信息,根据i计算新的速率抑制比例。与现有技术相比,本发明的有益效果是(1)通过可靠服务器解决了多对多可靠组播中 拥塞控制的问题,统一进行拥塞决策,减轻了组播节点的负载,组播节点只需监测自身的缓 冲区状况,并将拥塞信息发送给可靠服务器即可;(2)引入丢包趋势函数,有效的判断拥塞 状况,避免了网络正常抖动带来多余的拥塞控制开销;(3)对组播节点的拥塞抑制请求进行 筛选,避免过度抑制导致的drop-to-zero问题。
图1是拥塞控制系统整体结构图;图2是组播节点拥塞判断算法示意图;图3是拥塞控制速率提升流程图;图4是拥塞控制速率抑制流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的描述。
首先给出以下定义缓冲区一指各组播节点接收报文队列保存的预留内存空间,组播节点从网络中接收的报 文保存在缓冲区中,处理进程从其中读取报文,缓冲队列清除已处理的报文;NACK—指报文丢失反馈信息,当组播节点发现丢包时向可靠服务器发送NACK信息请求恢复;拥塞程度级别一为拥塞程度划分多个级别,根据相应的级别进行拥塞控制。 丢包趋势函数一表示组播节点丢失报文的数量和次数的变化趋势的函数,其确定因素包 括丢包事件、丢失报文数及丢包事件之间接收到的报文数。请参阅图1。本发明采取可靠服务器集群统一调控的拥塞控制方法,通过可靠服务器集 群对拥塞反馈进行处理。可靠服务器集群和组播节点向主控服务器注册,由主控服务器为它 们分配相应的负责对象。组播节点负责监控自身状态,发现拥塞时及时向可靠服务器集群汇 报。可靠服务器集群负责接收自己负责的组播节点发送的拥塞反馈信息,并进行处理,判断 是否需要进行拥塞控制。同时可靠服务器集群通过接收统计组播节点丢包反馈NACK报文,对 拥塞情况进行判断,当需要对发送方组播节点进行速率抑制或提升时,向发送方发送控制信 息。本发明是一种多对多可靠组播拥塞控制方法,该方法包含以下步骤1) 组播接收方判断是否拥塞,若拥塞,则向可靠服务器发送拥塞抑制请求;2) 可靠服务器设置计时周期,等待接收拥塞抑制请求;3) 若可靠服务器持续未收到拥塞抑制请求,则通知组播发送方提高发送速率;4) 若可靠服务器收到拥塞抑制请求,则判断是否发生拥塞;5) 若可靠服务器判断已发生拥塞,则向组播发送方发送速率抑制控制报文,组播发送方 进行速率抑制。上述步骤l)中,组播接收节点通过两种方法判断是否拥塞,组播节点缓冲区如图2所示 (1)监测组播节点缓冲队列变化趋势及空闲率缓冲区当前i时刻的占用量Buffer"缓冲区上一时刻占用量Buffer^,时间间隔t,缓冲队 列变化速度v A'=拳-,争-',缓冲队列加速度^= 雖",",2若缓冲队列呈加速增长,即4>0, ^>0,则说明当前的缓冲队列的处理速度远小于报 文接收速度,报文在缓冲区中占用的资源急剧增大,发生拥塞的趋势明显,需要进行拥塞抑 制;若缓冲队列呈减速增长,即《〈0,《〉0,则说明当前缓冲队列的处理速度小于报文接 收速度,报文在缓冲区中占用的资源缓慢增大,该表现在缓冲区占用Buffen/cacheSize (cacheSize为缓冲区大小)未达到阀值之前是正常的,不需要进行拥塞抑制。当缓冲区剩 余大小〈阈值(该阀值与具体缓冲区设置相关)时,说明当前缓冲区占用率大于设定的大小, 如果持续增长则将发生拥塞,因此需要进行拥塞抑制;若缓冲队列呈减少,即《<0,则说明当前缓冲队列的处理速度大于报文接收速度,没有3) 若可靠服务器未收到拥塞抑制请求,则通知组播发送方提高发送速率;4) 若可靠服务器收到拥塞抑制请求,则判断是否发生拥塞;5) 若可靠服务器判断巳发生拥塞,则向组播发送方发送速率抑制请求,组播发送方进行 速率抑制。在所述步骤1)中,组播接收方通过以下方法判断是否拥塞监测组播节点缓冲队列变 化趋势及空闲率;若缓冲队列呈加速减少,则认为发生拥塞;若缓冲队列呈减速减少,且剩 余大小〈阈值,则认为发生拥塞。在所述步骤1)中,组播接收方还可通过以下方法判断是否拥塞根据缓冲区当前 和上一时刻的占用量变化,和这期间的处理速度相比,加权求均值,得出缓冲区占用量 变化趋势;当缓冲区占用量变化趋势超过一定阈值时,说明拥塞发生。所述步骤3)可进一步分为3. l)当可靠服务器在多个周期时间内未收到拥塞抑制请求时,按以下方法计算发送速率 并将发送速率发给组播发送方;3. 2)比较当前速率与上次抑制的速率,差距较大时按正常策略提升速率;3. 3)当速率接近上次抑制的速率时,縮小速率提升比例。 所述步骤4)可进一步分为4. l)可靠服务器对所接收到的组播节点的NACK反馈进行保存;4. 2)计算丢包趋势函数;4.3)当丢包趋势函数大于一定阈值时,判断组播节点发生拥塞,需要进行速率抑制。 所述步骤5)可进一步分为5. l)可靠服务器按以下方法计算速率抑制比例,并发送给发送方; 5.2)丢弃1个周期内收到同组播组内不同节点的拥塞抑制信息;5. 3) 1个周期内第i次收到同一节点的拥塞抑制信息,根据i计算新的速率抑制比例。与现有技术相比,本发明的有益效果是(1)通过可靠服务器解决了多对多可靠组播中 拥塞控制的问题,统一进行拥塞决策,减轻了组播节点的负载,组播节点只需监测自身的缓 冲区状况,并将拥塞信息发送给可靠服务器即可;(2)引入丢包趋势函数,有效的判断拥塞 状况,避免了网络正常抖动带来多余的拥塞控制开销;(3)对组播节点的拥塞抑制请求进行 筛选,避免过度抑制导致的drop-to-zero问题。
图1是拥塞控制系统整体结构图;图2是组播节点拥塞判断算法示意图;图3是拥塞控制速率提升流程图;图4是拥塞控制速率抑制流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的描述。
图4所示,进一步分为5.1) 可靠服务器接收到组播节点的拥塞抑制信息后,记录当前速率,根据拥塞程度级别 和当前LT(k)按参数(实验经验值)计算速率抑制比例,将计算出的速率抑制比例发送给发 送方;5.2) 若1个周期内收到同组播组内不同节点速率抑制信息,则丢弃该抑制信息,不向发 送方发送;5.3) 1个周期内第i次收到同一节点速率抑制信息,首先记录当前速率,速率抑制比例 需要乘以l/i,将计算出的速率抑制比例发送给发送方。以上所述是本发明的基本实施方式,应当指出,对于本技术领域的普通技术人员来 说,在不脱离本发明的原理前提下,还可以进行若千改进和润饰,这些改进和润饰也应 视为本发明方法的保护范围之内。
权利要求
1.一种多对多可靠组播拥塞控制方法,其特征在于包含以下步骤1)组播接收方判断是否拥塞,若拥塞,则向可靠服务器发送拥塞抑制请求;2)可靠服务器设置计时周期,等待接收拥塞抑制请求;3)若可靠服务器持续未收到拥塞抑制请求,则通知组播发送方提高发送速率;4)若可靠服务器收到拥塞抑制请求,则判断是否发生拥塞;5)若可靠服务器判断已发生拥塞,则向组播发送方发送速率抑制控制报文,组播发送方进行速率抑制。
2. 如权利要求1所述的多对多可靠组播拥塞控制方法,其特征在于 在所述步骤l)中,组播接收方通过以下方法判断是否拥塞-监测组播节点缓冲队列变化趋势及空闲率; 若缓冲队列呈加速减少,则认为发生拥塞; 若缓冲队列呈减速减少,且剩余大小〈阚值,则认为发生拥塞。
3. 如权利要求1所述的多对多可靠组播拥塞控制方法,其特征在于 在所述步骤l)中,组播接收方通过以下方法判断是否拥塞根据缓冲区当前和上一时刻的占用量变化,和这期间的处理速度相比,加权求均值 得出缓冲区占用量变化趋势;当缓冲区占用量变化趋势超过一定阈值时,说明拥塞发生。
4. 如权利要求1-3之一所述的多对多可靠组播拥塞控制方法,其特征在于 所述步骤3)进一步分为3. l)当可靠服务器在多个周期时间内未收到拥塞抑制请求时,按以下方法计算发送速卓: 并将发送速率发给组播发送方;3. 2)比较当前速率与上次抑制的速率,差距较大时按正常策略提升速率;3. 3)当速率接近上次抑制的速率时,縮小速率提升比例。
5. 如权利要求1-3之一所述的多对多可靠组播拥塞控制方法,其特征在于 所述步骤4)进一步分为4. l)可靠服务器对所接收到的组播节点的NACK反馈进行保存;4.2) 计算丢包趋势函数;4.3) 当丢包趋势函数大于一定阈值时,判断组播节点发生拥塞,需要进行速率抑制。6. 如权利要求1-3之一所述的多对多可靠组播拥塞控制方法,其特征在于 所述歩骤5)进一步分为5. l)可靠服务器按以下方法计算速率抑制比例,并发送给发送方; 5. 2)丢弃1个周期内收到同组播组内不同节点的拥塞抑制信息;5. 3) 1个周期内第i次收到同一节点的拥塞抑制信息,根据i计算新的速率抑制比例。 7. 如权利要求4所述的多对多可靠组播拥塞控制方法,其特征在于 所述步骤4)进一步分为4. l)可靠服务器对所接收到的组播节点的NACK反馈进行保存;4.2) 计算丢包趋势函数;4.3) 当丢包趋势函数大于一定阈值时,判断组播节点发生拥塞,需要进行速率抑制。8. 如权利要求4所述的多对多可靠组播拥塞控制方法,其特征在于 所述步骤5)进一步分为5. l)可靠服务器按以下方法计算速率抑制比例,并发送给发送方; 5. 2)丢弃1个周期内收到同组播组内不同节点的拥塞抑制信息;5. 3) 1个周期内第i次收到同一节点的拥塞抑制信息,根据i计算新的速率抑制比例。9. 如权利要求5所述的多对多可靠组播拥塞控制方法,其特征在于 所述步骤5)进一步分为5. l)可靠服务器按以下方法计算速率抑制比例,并发送给发送方; 5. 2)丢弃1个周期内收到同组播组内不同节点的拥塞抑制信息;5.3)1个周期内第i次收到同一节点的拥塞抑制信息,根据i计算新的速率抑制比
全文摘要
本发明涉及一种多对多可靠组播拥塞控制方法,该方法包含以下步骤1)组播接收节点判断是否发生拥塞,若拥塞,则向可靠服务器发送拥塞抑制请求;2)可靠服务器按计时周期接收组播节点拥塞抑制请求;3)若可靠服务器持续未收到拥塞抑制请求,则通知组播发送方提高发送速率;若可靠服务器收到拥塞抑制请求,则根据拥塞判断策略确定是否需要抑制;4)若可靠服务器判断需要抑制,则向组播发送方发送速率抑制请求,组播发送方进行速率抑制。本发明通过可靠服务器被动收集组播节点拥塞信息,对发送方进行统一的拥塞控制,保证了拥塞发生时及时对其进行反应,避免了因主机节点拥塞导致的丢包率上升问题。
文档编号H04L12/56GK101150521SQ20071017682
公开日2008年3月26日 申请日期2007年11月5日 优先权日2007年11月5日
发明者鹂 刘, 刘冬梅, 威 吴, 忠 周, 昕 唐 申请人:北京航空航天大学