数据驱动覆盖网络中的分段发送调度方法

文档序号:7621130阅读:232来源:国知局
专利名称:数据驱动覆盖网络中的分段发送调度方法
技术领域
数据驱动覆盖网络中的分段发送调度方法属于互联网技术领域,尤其涉及应用层覆盖网络技术。
背景技术
随着互联网的使用越来越普及,多媒体应用尤其是实时直播的流媒体正在飞速地发展。跟其他类型的应用相比,实时直播的流媒体需要更高的网络带宽以及更强的节点转发能力。
IP组播是支持实时直播流媒体应用的比较理想的方案。但是,IP组播改变了传统互联网的“单播”原则,而且一系列问题如组播管理、拥塞控制以及计费模型等问题都没有得到很好的解决。所以部署互联网规模的IP规模是一件非常困难的事情。随后研究者转向了应用层组播。应用层组播把组播树建立在端系统,而不是路由器上。应用层组播克服了IP组播部署性差的缺点,而且可以提供更好的灵活性。但是,应用层的节点有着极大的不稳定性。节点的不稳定可能导致覆盖网络拓扑的不断变化。这对于对流畅性要求很高的实时直播流媒体应用来说有着很大的负面影响。
无结构的覆盖网络可以比较好地解决节点不稳定的问题,因为其数据转发不再依赖于组播树。数据驱动覆盖网络就是无结构覆盖网络中的一种。在数据驱动覆盖网络中,并没有预先定义好的父亲/孩子,以及上游/下游等节点关系。每个节点都跟伙伴节点交换数据可用信息,然后选择一个最好的伙伴节点请求某个数据分段。如果一个节点收到了分段请求,就应该把相应的分段发送给请求节点。这样,在数据驱动覆盖网络中,是数据的可用性引导流媒体的传播,而不依赖于某种固定的结构。因此数据驱动覆盖网络可以在动态的网络环境中仍然支持较为流畅的流媒体传播。
媒体流被划分成很多个分段。每个节点从伙伴节点中选取一个最好的节点来请求某个分段,这个请求被发送至分段提供节点并存储在分段提供节点的请求队列中。为了提高流媒体的传播质量,此前的研究一般集中在成员管理、数据可用性信息交换以及分段请求调度等方面。但对请求队列中的请求的不同调度方法可能同样会导致不同的流媒体传播质量。本发明提出在用户对播放流畅度要求较高时,采取高序号优先的分段发送调度方法;在用户对播放延迟要求较高时,采取低序号优先的分段发送调度方法。以此来提高用户满意度。

发明内容
本发明的目的在于设计数据驱动覆盖网络中分段发送的调度方法,以提高数据驱动覆盖网络中流媒体传播的用户满意度。
本发明所提出的方法的特征在于数据驱动覆盖网络中的分段提供节点为接收到的分段请求分配优先级,在用户对播放流畅度要求较高时为请求分段序列号较高的分段请求赋予较高的优先级,在对播放延迟要求较高时为请求分段序列号较低的分段请求赋予较高的优先级。在调度分段发送时,根据分段请求优先级的高低采取依次发送的方法把对应的分段发送给请求节点。本发明运用在所有分段提供节点上,它包含以下实施步骤(1)初始化分段提供节点运行数据驱动覆盖网络协议;(2)分段提供节点收到分段请求,并为其分配优先级,在用户对播放流畅度要求较高时为请求分段序列号较高的分段请求赋予较高的优先级,在用户对播放延迟要求较高时为请求分段序列号较低的分段请求赋予较高的优先级;在实时直播流媒体应用中,媒体流在最靠前的一些分段都到达后才开始播放,因此如果低序号的分段请求被赋予较高的优先级,大部分节点会获得较短的播放延迟;如果高序号的分段请求被赋予较高的优先级,则在较低序号的分段到达后媒体流能得到较为流畅的播放。
(3)分段提供节点把分段请求存储在请求队列中;(4)当分段提供节点调度分段发送时,从请求队列中选择一个优先级最高的请求,用所有发送带宽发送相应分段给相应请求节点;由于每个分段只有在全部到达请求节点之后才是可用的(无论是用于播放还是用于转发),所以采取依次发送的分段发送方法跟采取比例带宽的分段发送方法相比,能使优先级较高的请求在得到更好服务的同时,不损害优先级较低的请求所获得的服务;(5)在当前分段发送完毕后,进行新一轮的分段发送调度。
我们用用户满意度的概念来衡量实时直播流媒体的传播质量。用户满意度是由两方面的因素决定的一是流媒体播放流畅度,二是流媒体播放延迟。某个节点上的流媒体播放流畅度定义为在分段播放期限之前到达的分段数量与流媒体的分段总数的比值,用Pc表示;流媒体播放延迟定义为所有分段在该节点上的播放时刻与其在源节点上的播放时刻的差值的平均值,用Pd表示。用户满意度依据用户对播放流畅度和播放延迟的偏好来进行定义。如果用户只要求播放流畅度,则用户满意度可定义为U=Pc*100%;如果用户只要求播放延迟,则用户满意度可定义为U=T/(T+Pd)*100%;如果用户同等要求播放流畅度和播放延迟,则用户满意度可定义为U=Pc*T/(T+Pd)*100%分析和实验表明,在用户对播放流畅度要求较高时,高序号优先的优先级分配方法会提高用户满意度;在用户对播放延迟要求较高时,低序号优先的优先级分配方法会提高用户满意度。


图1.分段发送方法示意图;Req分段请求,b总发送带宽图2.请求优先级分配示意图;Req分段请求图3.分段发送调度流程图。
具体实施例方式
在数据驱动覆盖网络中,每个节点跟其他节点交换数据可用性信息,并据此决定从哪个伙伴节点请求某个分段的数据。分段请求到达分段提供节点的请求队列中。当分段提供节点决定发送分段数据时,如果分段请求队列中有多个请求,就需要对这些请求进行调度。这里有两个问题需要考虑一是在分配好请求的优先级的情况下如何发送这些分段;二是如何为这些请求分配优先级。
如果已经分配好请求的优先级,有两种常见的方法来发送分段一是根据优先级的高低依次发送;二是根据优先级进行比例带宽分配,然后同时发送。假设分段发送节点的发送带宽为b,则依次发送方法和比例带宽发送方法的比较如图1所示。
我们用一个实例来比较这两种分段发送方法。假设分段提供节点为q,在t=0时刻,其请求队列中有3个请求节点a请求分段sa,节点b请求分段sb,节点c请求分段sc。节点q的发送带宽为6Mbps,每个分段长度为6M,为这3个请求分配的优先级分别为9、6和3。如果采取依次发送方法,节点q首先以全部带宽发送分段sa到节点a,发送完毕后再以全部带宽发送分段sb到节点b,发送完毕后再以全部带宽发送分段sc到节点c。这样,分段sa到达节点a的时间、分段sb到达节点b的时间和分段sc到达节点c的时刻分别为1秒、2秒和3秒。而如果采取比例带宽发送方法,节点q在t=0的时刻分别以3Mbps的带宽发送分段sa到节点a,以2Mbps的带宽发送分段sb到节点b,以1Mbps的带宽发送分段sc到节点c。在t=2秒时,节点a收到整个分段,同时节点q分别以4Mbps的带宽发送分段sb到节点b,以2Mbps的带宽发送分段sc到节点c。在t=2.5秒时,节点b收到整个分段,同时q以整个6Mbps的带宽发送分段sc到节点c。在t=3秒时,节点c收到整个分段。这样,采取这种方法后分段sa到达节点a的时间、分段sb到达节点b的时间和分段sc到达节点c的时刻分别为2秒、2.5秒和3秒。经过比较,显然依次发送的方法比比例带宽的方法更好,因为在优先级较高的请求获取更好的服务的同时,优先级较低的请求并未受到损失。如果在节点发送某个分段的过程中有新的请求到达,则新请求被放到请求队列中,直到当前分段发送完毕后,再进行下一轮的分段发送调度。
对于分配请求的优先级,有三种可能的选择。第一种方法是到达请求队列较早的请求被赋予较高的优先级,我们可以称之为FIFO调度;第二种方法是请求分段序列号较高的请求被赋予较高的优先级,我们称之为高序号优先调度;第三种方法是请求分段序列号较低的请求被赋予较高的优先级,我们称之为低序号优先调度。三种优先级分配方法的比较如图2所示。
在实时直播流媒体应用中,媒体流在最靠前的一些分段都到达后才开始播放,因此如果低序号的分段请求被赋予较高的优先级,大部分节点会获得较短的播放延迟;如果高序号的分段请求被赋予较高的优先级,则在较低序号的分段到达后媒体流能得到较为流畅的播放。受此启示,我们提出在用户对播放流畅度要求较高时,采取高序号优先调度方法;在用户对播放延迟要求较高时,采取低序号优先调度方法。序号和优先级的匹配函数是任意的,只要能满足在高序号优先调度中,优先级随着序号的增大而增大;在低序号优先调度中,优先级随着序号的增大而较小。比如,如果节点i请求分段s,在高序号优先调度中其优先级可被分配为Pr(i,s)=(s+1),在低序号优先调度中其优先级可被分配为Pr(i,s)=1/(s+1)。通过模拟实验,我们发现如果用户对播放流畅度要求较高,高序号优先调度比低序号优先调度和FIFO调度能达到更高的用户满意度;如果用户对播放延迟要求较高,低序号优先调度比高序号优先调度和FIFO调度能达到更高的用户满意度。
结合依次发送的分段发送方法,以及根据用户对播放流畅度和播放延迟的不同要求采取的不同的优先级分配方法,我们的分段发送调度算法可以表示如图3所示。
权利要求
1.数据驱动覆盖网络中的分段发送调度方法,其特征在于,该方法是在数据驱动覆盖网络中按照相应的数据驱动覆盖网络协议实现的,所属方法依次含有以下步骤步骤1.初始化分段提供节点运行所述数据驱动覆盖网络协议;步骤2.分段提供节点收到位于所述数据驱动覆盖网络中的分段请求节点发来的分段请求,并按照请求的分段在媒体流中的序号来分配优先级,在用户对播放流畅度要求较高时为请求分段序列号较高的分段请求赋予较高的优先级,在用户对播放延迟要求较高时为请求分段序列号较低的分段请求赋予较高的优先级;步骤3.该分段提供节点把各分段请求存储在分段请求队列中;步骤4.当分段提供节点调度分段发送时,从分段请求队列中选择一个优先级最高的分段请求,用分段提供节点所有的发送带宽发送相应的分段给相应的分段请求节点;步骤5.在当前分段发送完毕后,返回步骤4,进行新一轮的分段发送调度。
全文摘要
本发明设计应用层覆盖网络技术领域,其特征在于,在数据驱动覆盖网络中,当分段提供节点收到分段请求节点发来的分段请求后,根据请求分段的序列号为分段请求分配优先级,在用户对播放流畅度要求较高时为请求分段序列号较高的分段请求赋予较高的优先级,在用户对播放延迟要求较高时为请求分段序列号较低的分段请求赋予较高的优先级;然后把各分段请求存储在请求队列中;当分段提供节点要调度这些分段去发送时,从请求队列中选择优先级最高的一个请求分段,用所有的发送带宽把相应分段发送给相应的分段请求节点。这种方法能够有效地提高流媒体播放的用户满意度。
文档编号H04L12/56GK1747448SQ20051008668
公开日2006年3月15日 申请日期2005年10月21日 优先权日2005年10月21日
发明者崔勇, 李丹, 徐恪, 吴建平 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1