论文部分内容阅读
流媒体应用需要消耗大量的网络带宽,并要求较低的网络传输时延。传统的C/S模式受限于服务器的性能,一般不能提供大规模的流媒体服务。随着P2P技术的发展,在P2P网络上实现流媒体服务引起了人们的广泛关注。基于P2P的流媒体系统,可充分利用客户节点空闲的处理能力和存储资源,将原先集中于服务器的流媒体服务分散到系统的各个节点上,从而提高了服务器和网络资源的利用率,并使系统的服务能力和可扩展性得到极大地提升。流媒体应用在Internet的普及,也使得用户的使用模式发生了变化,终端用户不再满足于传统的push方式,更希望系统能提供给用户pull的交互方式。
本文总结了现行流媒体系统的一些应用特点,结合交互式的应用需求,分析了直播和交互两种不同的应用模式给系统设计带来的影响,提出了交互式流媒体系统的解决方案。本文的主要工作包括以下一些方面:
1)针对交互操作给传统的流媒体数据分发树建立带来的影响,提出了基于P2P网络的交互式流媒体系统设计策略。该策略利用节点缓存能暂存部分流数据这一事实,可以给其它节点提供服务。由于没有直播流媒体中同步的要求,整个系统缓存内容覆盖的范围很大,给异步请求和交互操作提供了可能。但在缓存覆盖面扩大的同时,节点发生交互操作后的数据拓扑恢复变得异常复杂,受影响的邻居节点不一定能从周围节点获得持续的数据流。本文采用了候选父节点机制,在系统中有节点发生交互行为时,启动候选父节点机制,可以快速地重定向数据流。另外,我们采用了相关的QoS选择机制,以此来使数据拓扑尽量符合底层物理拓扑。模拟实验明候选父节点机制可以有效地减小交互操作的影响,同时候选集的更新也开销也不高。
2)流媒体中的内容服务器负责了大量的数据分发任务,负载非常严重,为了让其脱离节点频繁的异步和交互请求,本文提出了一种完全分布式的解决方案。此策略利用分布式发现服务来进行资源定位,并通过衍生树来维护数据传输拓扑。当节点有交互请求时,利用分布式发现服务可以快速定位服务提供者并能继续播放流程。同时,为降低交互操作响应时延,利用衍生树来管理客户端缓存。实验表明,衍生树的结构化和高度可控的特性极大了降低了交互操作给系统带来的影响。