论文部分内容阅读
基于IP网络的多媒体应用已经成为当前互联网上的关键应用,但是随着用户数量的增长及用户对视频流播放体验的更高质量要求,传统的服务器/客户端体系结构已经不能够经济地提供大规模的扩容支持,而P2P架构通过去中心化的设计,把服务器的负载分配到系统中的每一个对等节点,从而可以从根本上解决系统规模可扩展性的问题并且提供更经济的解决方案。相对于客户端/服务器模式,P2P架构已经在用户容量与内容分发上展现了非常有效的规模可扩展性,但是现有的、采用P2P架构的流媒体系统仍然存在着服务不稳定、用户的播放初始等待时间过长、不具备QoS(Quality of Control)以及不能满足个性化定制等问题与挑战。本文从P2P覆盖网络的拓扑结构、数据缓存算法与QoS算法三个方面研究如何为基于P2P的视频点播与视频广播系统增加QoS,从而获得比传统客户端/服务器模式更好的用户体验与更低的系统运行成本。(1)本文首先针对视频点播应用,提出了一种基于P2P的新型应用模式-边载边播系统ePAD(eMule based Playing-As-Downloading).本文在eMule P2P文件下载系统的基础上,设计了新的算法WDCD(Wish Driven Content Distribution),实现了支持边载边播的视频点播网络ePAD. ePAD网络通过WDCD算法为eMule文件下载引擎增加了视频预览与点播功能并保持了原有的P2P文件下载吞吐率。(2)在对P2P视频点播应用改进的基础上,本文分析了实时视频广播应用与视频点播应用在P2P覆盖网络的拓扑结构、数据缓存算法与QoS机制三个方面的不同之处,并提出了一种通过码流转换服务实现的、具有服务质量保证的、自适应码流的P2P实时视频广播系统算法-SmartPeerCast。SmartPeerCast通过新的拓扑结构算法消除了异构节点间在转发视频数据时可能遭遇的数据传输带宽瓶颈并提高了系统中节点的上传带宽资源利用率;同时通过接收节点与发送节点之间的Smart QoS算法有效地消除了由于节点间传输链路抖动而造成的数据包丢失并实现了对对等节点的奖惩机制,保证了节点在数据上传(贡献)与接收(消费)之间的公平性。最后本文通过一个实际运行的工程系统与基于网络模拟器的仿真实验验证了上述算法的有效性与性能。针对视频点播子系统ePAD的实验结果表明,当ePAD网络中边载边播客户端所占的百分比远小于下载客户端时,ePAD系统具有良好的视频点播性能。针对视频广播子系统SmartPeerCast的实验结果表明,SmartPeerCast是一个稳定的、高效的、具有良好规模可扩展性的P2P实时视频广播系统。