您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 基于对等网的流媒体分发系统的设计与研究
基于对等网的流媒体分发系统的设计与研究导师:张钢报告人:刘凌峰2004年4月1日提纲•选题背景•研究目标•研究内容•待完成的工作•进度计划•参考文献选题背景—流媒体的概念和应用•流媒体:指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。•流式传输技术:是一种传输压缩影象/声音的技术,它不必等待整个压缩文件下载完成,而是通过创建缓冲区,允许用户边下载边使用。•流媒体的应用:随着互联网和多媒体技术的发展,宽带接入用户的不断增加,网络的多媒体应用从静态媒体(文字,图形)过渡至动态媒体(音乐,影片)是大势所趋。典型的流媒体应用包括:√远程教学√视频点播(VOD)√视讯会议√赛事直播×选题背景—在网络上传输流媒体内容所遇到的挑战•流媒体应用的特点:1.持续时间长2.占用带宽大3.及时性要求高•因此产生的问题是:1.服务器的输出带宽成为瓶颈2.为网络用户提供服务的规模受限3.底层网络的负担加重•一个实例:•某流媒体服务器接入互联网的速度为45Mbps(T3),传输一个30帧/秒,320X240像素的视频内容,需要不低于1Mbps的传输速度以保证流畅回放,则此服务器最多同时接受45个并发请求,这对于一个热点内容而言(如:新闻、赛事的直播)是远不能满足要求的选题背景—对于上述问题可选的解决方案•服务器过载时拒绝到达的请求•降低QOS•使用IPMulticast×需要底层网络的支持•使用CDN(ContentDistributionNetwork)×成本较高•采用应用层多播(Application-levelMulticast)选题背景—应用层多播应用层多播:一种基于对等网(Peer-to-PeerNetwork)的体系结构。•每一个节点(Peer)既是“服务器(Server)”,又是“客户机(Client)”。•每一个节点向系统索取流媒体内容,同时又为其他节点提供转发服务(构建多播树)。•节点增加的同时,系统的容量也得到不断扩充。•但由于有服务器的存在,这种结构也不是纯粹的对等网络(PureP2P)。×选题背景—国内外关于应用层多播的研究情况•CoopNet:Microsoft&CMU•P2Cast:UMASS•SpreadIt:StanfordUniversity•PROMISE:PDU•GnuStream:PDU•SplitStream:RiceUniversity•ALMI:WashingtonUniversity•voDIS:IBM&TSU•……提纲•选题背景•研究目标•研究内容•待完成的工作•进度计划•参考文献研究目标•为了解决系统规模和服务器瓶颈问题,设计一种基于对等网的流媒体分发系统StreamCast。•目标系统具有如下特点:√是一种结合Client-Server架构和Peer-to-Peer架构的混合(Hybrid)架构√能同时支持直播(Live)类应用和点播(On-demand)类应用√采用简单的控制机制,以减轻各个节点和网络传输的负担√具有灵活的调整策略,维持系统的健壮性,满足流畅播放的要求研究目标(续)+=Client-ServerPureP2PStreamCast提纲•选题背景•研究目标•研究内容•待完成的工作•进度计划•参考文献研究内容—概况•已完成StreamCast整体结构的初步设计,并对其有效性作出初步分析。•针对直播类应用和点播类应用的不同特点,采取了不同的设计思路√对于直播类应用,由于其对实时性要求较高,StreamCast将使用P2P的方式传输作为C-S结构的一种补充形式,只有在服务器满载的情况下才启用。√对于点播类应用,考虑其在实现上的简单性,StreamCast将到达时间接近的用户构成一个组(group),在组内选择两个节点分别向其提供基本流(BaseStream)和增补流(PatchStream)研究内容—StreamCast关于直播应用的体系结构•客户机的请求和准入控制1.要求直播服务的客户机首先向服务器发出请求,并指明该节点所能向其它节点提供的最大带宽。2.服务器是否满载2.1若服务器未满载则服务器接受其请求,此时与传统的C-S结构完全相同。2.2若服务器满载,但有客户机能够向该请求提供转发2.2.1服务器根据它所保留的现有多播树信息,选出一个或几个可以作为该请求节点父节点的客户机,组成一个列表,向客户端做应答;2.2.2客户机接收到服务器发给它的备选父节点列表后,启动它的探测模块,选择性能最好的备选父节点作为其父节点,并告知服务器它的选择;2.2.3服务器得知客户端的选择后,从这个父节点加入时所承诺的输出带宽中减去传输该媒体流所需的带宽,并且向请求直播的节点及其选择的父节点发送控制信息;2.2.4两台客户机以P2P的方式传输所请求的流媒体内容。2.3若服务器满载,且没有客户机能够向该请求提供转发则拒绝此请求。研究内容—StreamCast关于直播应用的体系结构•客户机的请求和准入控制—几个考虑的问题1.关于中心化的结构,和CoopNet一样,StreamCast也使用中心化的结构,即服务器掌握整个系统的拓扑结构,但和CoopNet不同的是,StreamCast由请求加入的客户机选择最优父节点,而不是完全由服务器指定,因为网络的状况是在不断变化的,原先承诺的输出带宽可能已不能满足,另外有的节点可能已经离开系统。2.关于多播树的构建方法,StreamCast构建尽量矮的多播树以保证延迟较小和稳定性较高。研究内容—StreamCast关于直播应用的体系结构3.关于基于测量的优化方法,StreamCast使用了相对简单的测量方法,当前,有很多网络性能测量的方法被提出,如10KBTcp探测、BNBW探测等,但实验表明,复杂的探测手段如并不能很大程度的优化性能,同时,复杂的探测方法会占用较大的带宽并且延迟较长,加大了网络负担,更为重要的是,由于StreamCast采用了多播树动态调整技术,使得采用这些复杂方法的意义大大降低,所以StreamCast只选用简单的RTT探测方法,即客户端向每个备选父节点发送1个36B的ICMPping消息,选择返回最小RTT值的备选父节点作为其父节点。以下为CMU所做的基于测量的优化方法的性能比较实验,数据为优化率即选择节点为最优节点的比例:研究内容—StreamCast关于直播应用的体系结构t3②Receive(S)⑴Join_RequestServerSClientWClientNClientA①Join_Request…………⑶Select(A)⑵Candidates(List)⑷Receive(A)⑸Send(N)⒈Join_Request⒉Rejectt1t2研究内容—StreamCast关于直播应用的体系结构•多播树的动态调整•原因:网络的流媒体应用一般持续时间较长,而且对延迟、带宽的要求比较高,同时网络的状况又是处在不断的变化之中,最初选择的最佳父节点可能在一段时间后传输速率不能满足回放速率的要求,因此在传输过程中对多播树进行调整优化,以使其达到或接近最优性能非常必要。•条件:每台客户机监测其接收媒体流的速度,当客户端接收速度小于W(W=β*R,其中β是常数加权因子,0≤β1,R是回放速率)且延续一段时间T以上时,客户端将启动多播树调整进程。研究内容—StreamCast关于直播应用的体系结构•方法:1.客户端启动多播树调整模块后,将首先联系其父节点,看父节点是否也有同样的情形,即接收速度小于回放速度,且延续一段时间,2.若父节点有应答且父节点也存在同样的问题,则该客户端暂不做任何处理,而交由父节点去处理多播树的调整问题;否则即父节点没有应答,或者有应答但父节点没有发生接收速度小于回放速度的情况,那么肯定是父节点非正常离开或在本节点和父节点之间的链路发生了拥塞,导致接收速度下降,此时该客户机向服务器发出调整多播树的请求,服务器的响应类似一个新接收请求的到来,在有可能的情况下,向客户端发送一个备选父节点列表,由客户端根据实际测量情况做出选择,建立连接,接收数据。同时,在服务器端对原父节点和新选定的父节点的带宽占用情况作相应更改。研究内容—StreamCast关于直播应用的体系结构t1⑨Receive(A)ServerSClientDClientCClientB②Adjust_Request⑦Select(A)⑥Candidates(List)⑧Send(C)①Adjust_Request③Adjust_Wait④Adjust_AgreeClientA⑤Adjust_Request⑩Stop(C)t2ServerSClientAClientDClientCClientBClientBServerSClientAClientDClientC×研究内容—StreamCast关于直播应用的体系结构•节点离开•正常离开:节点通知其父节点、子节点和服务器其即将离开,这时子节点重新启动一次加入操作即可。•非正常离开:作为一个节点的工作站系统崩溃、掉电,或物理连接突然断开等非正常中止时,由于其子节点接收速度会持续下降,因而必然会启动多播树的动态调整模块,具体过程已在上面详述。研究内容—StreamCast关于直播应用的体系结构t3①Leave(C)TimeoutServerSClientDClientCClientB②Leave(C)⑥Select(B)⑤Candidates(List)⑧Receive(B)⑦Send(D)④Join_Requestt1③Leave(C)⑴Adjust_Request⑵Join_Requestt2×研究内容—StreamCast关于直播应用的体系结构•可行性分析•假设某网络服务提供商要向用户提供一种直播服务(例如一场运动赛事的在线直播),每一个接受服务的用户需付费v元,但如果愿意向其他用户转发,则每提供一个转发服务可获θv元,其中0≤θ1称为诱导因子,假设直播时间为T,大量用户同时请求。•C-S结构:服务器最多能为mconv个客户请求提供服务,则最大总收益为Vconv=mconvv•StreamCast结构:系统中有P台客户机,对于第x台,它可以为Nx台客户机作转发,则此时系统增加的容量为madd=•系统的最大收益为Vp2p=mp2pv+madd(1-θ)v,其中,mp2p为使用StreamCast时服务器最多服务的客户数。pxxN1研究内容—StreamCast关于直播应用的体系结构•由上式可以看出,StreamCast系统收益的最大值与madd是成线性关系的,即增加madd是提高系统收益的关键。•直观上来讲,madd与θ是成正相关关系的,因为如果一个用户能从服务商那里获得越多的回报(θ值越大)。则有越多的用户愿意为其他节点提供转发服务,即系统的容量能够得到越多的扩充(madd值越大),同时,madd还与用户的接入带宽直接相关,但考虑用户的接入带宽在一定时期内是相对稳定的,所以暂时不考虑它的影响。1k研究内容—StreamCast关于直播应用的体系结构•由于madd是关于θ的一个函数,即madd=f(θ),为了分析方便,给出一个简单的一般性表达形式:madd=,其中k和ε是大于1的正常数。将madd代入系统最大收益公式得到Vp2p=mp2pv+(1-θ)v,可知Vp2p在θ=1/(1+ε)时取得最大值,即在此条件下,系统收益达到最大化。1k1k研究内容—StreamCast关于直播应用的体系结构•净收益比较•净收益F=V-C,其中V是总收入,C是成本,它是一个常数,与服务提供商的服务器类型,输出带宽有关。假设C=γMmax,其中Mmax是服务器能直接提供直播的最大用户数,γ是常数因子。•C-S架构的净收益:•StreamCast架构的净收益Fconv=mv-γmconv0≤m≤mconvmconvv-γmconvmmconvFp2p=mv-γmp2p0≤m≤mp2pmp2pv+(m-mp2p)(1-θ)v-γmp2pmp2pm≤mp2p+maddmp
本文标题:基于对等网的流媒体分发系统的设计与研究
链接地址:https://www.777doc.com/doc-3466589 .html