论文部分内容阅读
流媒体正在成为推动未来宽带应用的主动力。但流媒体对带宽资源要求高且服务时间长,在传统的C/S模式下服务器很容易成为系统瓶颈,如何在Internet网络上提供大规模的流媒体内容分发一直是过去十多年里流媒体研究领域的核心问题。IP组播通过让多个节点共享一条流,从而能减轻服务器和网络的负载,但众多原因使其短期内难以在Internet上得到广泛实施;CDN通过在Internet上部署大量节点并把服务和内容“推”向网络的“边缘”,从而减轻服务器和网络的负载,但其昂贵的费用使得一般的ICP内容提供商难以承担。P2P流媒体通过利用普通节点的资源为其它节点提供服务,在不改变现有网络配置的前提下具有良好的性价比,是一种具有广泛应用前景的流媒体分发方法。 由于Peer节点服务能力有限且具有异构性,此外Peer节点还可能随时加入或退出系统,而流媒体对数据播放具有较严格的时序要求,因此对P2P流媒体内容分发研究也面临诸多挑战,包括Peer服务节点的搜索选择、Peer节点离开或失效的处理、QoS服务质量保证、Peer节点异构性处理等,这些挑战实际上也构成了P2P流媒体分发中的关键问题。本文工作围绕上述几个挑战展开了深入研究,并提出了有效的解决办法。 首先针对大规模VoD应用环境需求,本文提出了一种基于单棵组播树的P2P VoD服务体系——PeerVoD,它在每个Peer节点上分配固定长度的FIFO缓存队列来保存其最近所接收到的数据,并为后续到达的节点提供服务。PeerVoD采用一种分布式组播树构造协议,通过在每个Peer节点上维护有限个其它Peer节点的状态信息,使得新节点在加入时能够快速找到父节点,而当节点离开或失效时子节点能够根据其所维护的状态信息快速准确地找到新的父节点。PeerVoD中节点的离开或失效行为一般不涉及中心服务器,从而使得系统具有良好的可扩展性;此外服务被中断的节点在进行中断恢复时,还考虑了节点对目标节目数据接收的完整性。 由于Peer节点的服务能力有限,在实际应用中往往需要多个节点才能为单个节点提供流媒体数据服务。此外考虑Peer节点的异构性,即它们在上行/下行带宽资源、可提供的数据内容等方面具有差异。分层流媒体能够适应Peer节点的异构性。本文在多对单传输模式下,以分层编码为基础,以数据层为调度粒度,研究了在多个Peer服务节点之间对将要传输的数据层进行优化分配的问题,其目标是最大化Peer接收节点服务质量的同时,最小化占用服务器节点的带宽资源。本文按服务器是否参与数据分配对上述问题分两种情形进行了讨论,在每种情形下分析了目标问题的复杂性,并提出了相应的算法。仿真实验也表明本文所提算法比相关算法有更好的性能。 同样在多对单传输模式下,以分层编码为基础,考虑数据包在传输过程中会出现丢包、延迟等现象,而数据包本身在解码时也存在解码依赖关系、解码期限要求,且不同