CoolStreaming-DONet:实时流媒体传输的数据重叠网络

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CoolStreaming/DONet:实时流媒体传输的数据重叠网络作者:XinyanZhang,JiangchuanLiu,BoLi,Tak-ShingPeterYum翻译:默难(monnand@gmail.com).DriftingLeaves(driftingleaves@yahoo.com)原文参见::(本节翻译:DriftingLeaves)本文描述了DONet---一种用于流媒体的数据驱动网络.DONet的核心操作非常简单:每一个结点与一组伙伴周期性地交换数据可用性信息,从一个或多个伙伴那里接收自己所没有的数据,并把自己所拥有的数据提供给需要的伙伴.我们将着重分析这种数据驱动设计的三种突出特性:(1)易于实现,它不需要构建或维护一个复杂的全局结构;(2)高效,数据的传递方向是依照数据的可用性信息而动态改变的,而不是被限制在特定的方向上;(3)健壮,允许结点的伙伴关系在众多提供者中作出适应变化的快速转换.这篇文章将会通篇分析DONet在有限延迟下的可扩展性,而且也会考虑到实现DONet时所面临的一些实际挑战,并在此基础上提出一个有效的成员关系和伙伴关系管理算法,以及一个能完成实时且连续播放流内容的智能调度算法.通过Planetlab已经在大范围内评估了DONet的性能.这些实验几乎包括了Planetlab的所有有效结点.实验结果表明DONet甚至能够在复杂的网络条件下达到很好的流质量.此外,控制所带来的额外开销和传输延迟都可以保持在很低的水平上.在2004年5月30日,一个基于Internet的DONet的实现---CoolStreamingv.0.9发布了.它已经吸引了超过30000的用户并且在一些高峰时间创下了4000人同时在线的记录.这篇论文将会讨论关于CoolStreaming设计的关键问题,并且描述一些这次大范围测试中的有趣现象.具体来说,网络范围越大,被传送的流的质量将会越好.I.概述(本节翻译:DriftingLeaves)随着宽带接入的普及化,多媒体服务对用户来说变得日益重要,并且已经成为今天Internet流量的重要组成部分.许多诸如网络电视,新闻广播的多媒体应用都涉及到把流媒体从源头传送给大量用户的过程.对这些应用来说,IP多播也许是最有效的途径;然而它的扩展却因为许多现实上的和政治上的因素而受到限制,例如缺乏动力去安装具有多播能力的路由来承担多播流量.因此研究者们开始关注应用层上的解决方案---通过参与者的合作来建立一个在单播通道之外的重叠网络,这些参与者也被称作重叠网络结点(OverlayNode),那么在此基础上,就可以通过结点之间的数据依赖关系,实现所谓的多播.作为IP多播的替代方案,开始时许多网络构建算法大多使用树结构来实现数据传递.虽然这种方案能够像IP多播一样,与专用基础路由(DedicatedInfrastructureRouters)很好的搭配,但是却经常会与带有动态结点的应用层网络搭配错误.而且自主网络结点会轻易地崩溃或离开,因此树结构是高度易损的.而这一问题在对带宽和连续性都有很高要求的流传输中,显得更加严重.同时虽然像网孔和森林这样的复杂结构能部分地解决问题,但其本身的实现却过于复杂,而且经常缺乏可扩展性.从另一个角度讲,把多播功能移植到应用层同样会导致更大的弹性;具体来说,所有的结点都有很强的缓冲能力并且能够灵活,智能地决定数据的传输方向.因此文章中提出了一个以数据为中心的(Data-centric)设计方案---一个结点总是向那些需要数据的结点传送数据,而它们之间没有诸如父子关系,内部外部关系和上行流下行流关系.换句话说,是数据的可用性信息引导着数据的流向,而不是一个特殊的网络结构约束了数据的流向.这种数据中心的设计将会更加适应具有高动态的结点的网络.尤其是考虑到一个半静态的结构,无论多么有效,总是会因为结点的动态而处于次优的状态.基于这样的目标,本文描述了DONet---一个数据驱动的重叠网络,而其中的核心操作非常简单:每一个结点与一组伙伴周期性地交换数据可用性信息,从一个或多个伙伴那里接收自己所没有的数据,并把自己所拥有的数据提供给需要的伙伴.我们将着重分析这种数据驱动设计的三种突出特性:(1)易于实现,它不需要构建并维护一个复杂的全局结构;(2)高效,数据的传递方向是依照数据的可用性信息而动态改变的,而不是被限制在特定的方向上;(3)健壮的,有弹性的,允许结点的伙伴关系在众多提供者中作出适应变化的快速转换.此外,关于结果的分析显示出了网络半径与网络大小的逻辑关系,这也说明了DONet能够在有限延迟的情况下进行扩展.为了实现传输实时流媒体的数据驱动网络,大量的实际问题需要考虑.在本文中,将要讨论DONet中的若干关键问题.包括伙伴关系的建立,数据可用性信息的编码和交换,以及视频数据是如何在伙伴间被提供和获得的.这里将要提出一套可扩展的成员关系和伙伴关系的管理算法和一个智能调度算法,这些方案将会在使用较低控制开销的情况下,为中高带宽用户提供高效连续的流传输,同时平稳地将传输负载分配到正在参与的结点中,并使结点与异构网络相适应.通过Planetlab已经在大范围内评估了DONet的性能.这些实验几乎动用了Planetlab跨越五大洲的所有可用结点.实验结果表明DONet在流速率和播放连续性上能达到很高的要求.此外,控制所带来的额外开销和传输延迟都可以保持在很低的水平上.根据当前掌握的材料,全球范围的实验很少在文献中提及.为此文章中列出了在实验当中遇到的几个典型问题.并讨论了影响实验结果和可能在将来影响PlanetLab发展的因素.最后,在2004年5月30日,一个公开的,基于Internet的DONet实现---CoolStreamingv.0.9发布了,它已经能够播放由一个免费视频服务器所提供的实时体育节目,这个软件最初只吸引了20个用户,但是截至本文发布,超过30000的用户(从独立IP的统计上看)已经使用过这个流媒体软件,在一些高峰时间甚至达到4000多用户同时在线.先前的统计结果和用户的反馈是十分鼓舞人心的,这也说明了两个有趣的事实:第一,现在的Internet已经有足够的带宽来支持电视质量的数据流(450Kbps);第二,数据驱动网络越大,所传送的数据流质量将会越好.这两点都再一次说明了本文所提出的数据驱动重叠网络是用来解决多播视频分配的可靠方案.II.相关工作(本节翻译:DriftingLeaves)在过去的十年里,出现过一些基于IP多播视频的重要研究,可以参考[18].最近,又提出了许多有关网络多播(OverlayMultiplySystem)的系统,它们大体上分为两类:基于代理协助(Proxy-assisted)的和基于P2P的.在传统意义上,通常事先安排一整套服务或应用层上的代理,然后在这些锚点(AnchorNode)的协助下建立起一个高质量的网络[1],[2],[24],[26],[28].DONets属于第二类,它不依赖于专用结点(Dedicatednode),但是能在自组织的自动结点(AutonomousNodes)的基础之上建立起一个网络.在这一部分中,我们将对现行的几种网络流协议作简略介绍,重点将放在那些完全遵循p2p模式的协议上.A.基于树结构的网络及其扩展像前面所提到的,许多网络流协议采用基于IP多播的树状结构.在网络结点之间构建并维护一个高效的分布式树结构,是这类系统的关键.在CoopNet中,视频源作为树结构的根,收集所有结点的信息,用于树的构造及维护.因此集中式的算法将会非常有效.但这样的作法必须依赖于一个功能强大的专用根结点.同时,像SpreadIt[10],NICE[12]和ZIGZAG[11],使用分布式算法通过一系列结点,实现构建和路由功能.在大规模网络中,这些算法采用层次聚类(HierarchicalClustering)的方式来达到最小的延迟(从树的高度上讲)或边界结点的工作量(从扇出度(FanoutDegree)上讲).但是,一个树结构中的内部结点会有较大的负载,因此它的离开或崩溃,将会在很大范围内导致后代结点的缓冲区不足.虽然已经设计出了一些树结构的修复算法来适应结点的动态变化[12],[11],[23];但是树的结构仍会在高动态的网络环境中遭到频繁破坏.还存在许多用来解决树结构负载不均衡或易损性的其他方案.例如建立以网孔为基础的树结构(Narada及它的扩展[14],Bullet[20]),维护一个多分布式树结构(SplitStream[19]),或者在分层编码(PALS[29])和多重描述编码(CoopNet[3])之间权衡.DONet通过引入一种简单明了的数据驱动方案,来弥补这些缺陷.它并不需要维护一个更复杂的结构,或者依赖于先进的编码技术,虽说后一点也会在这个方案中起到一定作用.B.以闲谈(Gossip)为基础的协议最近,闲谈(或传染病)算法已经成为P2P系统中信息多播传播的流行解决方案[13],[22].在一个典型的闲谈算法中,一个结点将新信息发给一组随机选择的结点;这些结点会在下一轮中作相似的事情,直到所有结点都收到信息.闲谈对象的随机选择,能使系统加强对随机发生的意外退出的弹性,并且能够进行非中心式的操作.与[16]相似,DONet的成员管理中使用了闲谈协议.DONet中的数据传输方法也部分受到闲谈概念的影响.但无论如何,不能将闲谈机制直接用于流传输,因为随机的传送数据会带来大量的冗余,而这对于有高带宽需求的流应用来说更加严重.DONet中,使用了一个有力伙伴的选择算法,和一个低开销的调度算法,以便于在大量减少冗余的情况下,智能地从众多伙伴中接收数据.先前进行的一些有关P2P的请求式流传输(例如,[4],[5],[6],[7],[8],[9])的工作与闲谈机制紧密相关,DONet也是如此.在这样的机制中,视频数据由一些种子结点在有异步需求的结点中传播.同时,一个或多个结点,能够一起为一个新结点提供缓冲数据,并能随着提供者的增多,增强系统的能力.DONet的目标是通过半同步的结点,达到实时流媒体传输,这就需要不同的解决方法.然而,在实际的Internet实现中,DONet的能力有很大的增强,这也证明了那些在P2P请求式流传输研究中的论证.III.DONet的设计与优化(本节翻译:默难)Fig-1一个DONet结点的系统架构图Fig-1是一个DONet结点中的系统架构图.其中有三个重要模块:(1)成员管理模块(MembershipManager).负责维护网络中一部分结点的相关信息;(2)伙伴管理模块(PartnershipManager).负责与网络中的其他结点建立并维护伙伴关系(译者注:原文中的``Member''一词此处被翻译为``成员'';``Partner''被译为``伙伴''.二者区别为:网络中的一个结点被称为这个网络中的成员;网络中两个直接相连的结点互为伙伴.);(3)调度器(Scheduler).负责视频数据传输过程的调度工作.一个DONet结点的角色相对于视频流中的每一个分段(Segment),既可以是分段的接收者(Receiver),也可以是提供者(Supplier),或二者皆是.结点角色的确定会根据分段的可用性信息(Segment'sAvailabilityInformation),动态地调整.分段的可用性信息会在结点及其伙伴之间周期性地传递.(译者注:原文中使用的是``periodicallyexchangedbetweenthenodeanditspartners''.翻译为``周期性地在结点及其伙伴间传递''.但是译者认为,这种传递并非是严格地周期性动作,即,两次信息交换之间的时间间隔不一定是个常数.因此,此处翻译为``周期性地''

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功