论文部分内容阅读
随着计算机网络技术和图像处理技术的飞速发展,流媒体系统也越来越普及。这类系统中最主要的问题之一就是多媒体内容的传输,这里的多媒体内容主要包括屏幕数据、视频和音频等等。目前的流媒体系统大多采用C/S或B/S架构,这类架构比较简单、高效,在用户数量不是很多时,可以很好地满足要求,但是当用户数量不断增大时,由于带宽和处理能力的限制,服务器很容易成为瓶颈,从而影响到系统的可扩展性和服务质量。服务器的瓶颈问题和服务质量问题一直都是流媒体系统中非常有挑战性的问题。
P2P是英文Peer-to-Peer的缩写,称为对等网络或者点对点技术。P2P是一种网络模型,在这种网络中所有的节点是对等的(称为对等点),各节点具有相同的责任与能力(同时担当客户端和服务器)并协同完成任务。在Bittorrent等基于P2P的文件共享软件大规模的应用成功之后, P2P引起了人们的高度重视。它可以很好地解决服务器瓶颈的问题,而且下载速度也有保证。但目前的P2P软件大多是用于文件共享的,如Bittorrent、eMule等,应用于流媒体领域的P2P很少,而且大多数处于理论研究阶段,实际应用的比较少。CoolStreaming是一款投入到实际应用的流媒体系统,去年春节晚会使用的网上直播系统用的就是CoolStreaming,使用人数超过8000,而且视频效果非常流畅,可见P2P对于流媒体领域有着极大的吸引力。
基于上述背景,我们通过对当前一些P2P架构以及实用的P2P系统进行研究和分析,设计出一个新颖的适用于实时流媒体领域的分层式P2P架构。在这个分层架构中,上层的结构是一个Chord环,我们对Chord协议做了一些修改,并结合缓存策略设计出可应用于流媒体内容分发的协议—StreamingChord,处理能力高的超级节点被放置在这一层。下层的结构是Arrangement Graph(AG),AG是数学中提出的一种图形结构,其结构有很好的对称性和鲁棒性,我们可以从AG中得到多个独立的多播树,这非常适合流媒体多播的应用,普通节点被组织在这一层。接着我们使用PeerSim模拟器对协议进行模拟和实验,虽然模拟的结果显示了很多问题,但是仍然证明了我们架构具有良好的鲁棒性、可扩展性、Locality-Aware以及新节点的快速加入等特性。最后,我们提出了实用系统的设计方案,对模块、功能部件作了详细地描述。