基于代理流媒体动态共享缓存算法研究.docVIP

基于代理流媒体动态共享缓存算法研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于代理流媒体动态共享缓存算法研究

基于代理流媒体动态共享缓存算法研究   摘要:研究了代理服务器在流媒体传输和缓存方面对于网络带宽的消耗以及在缓存过程中内存分配和管理等方面存在的问题;在分析了现有的流媒体代理缓存技术的基础上,提出了基于代理服务器的流媒体动态共享缓存(DSB)算法。分析和实验结果表明,与现有的缓存技术相比,DSB算法能够有效地提高缓冲区的利用率,节省代理服务器的内存资源,节省网络带宽,同时能够为更多的客户端请求提供服务,并且可以有效地缩短请求延时。关键词:流媒体;代理缓存;补丁预取;调度算法??   中图分类号:TP393文献标志码:A   文章编号:1001-3695(2007)05-0262-04      0引言??      在互联网上的各种流媒体应用(如视频点播、远程教学、视频会议等)随着各种宽带接入技术的广泛使用,已经将带宽瓶颈上移到骨干网,致使骨干网带宽难以支撑大规模流媒体应用的普及。互联网内容传输的基础架构为客户端―代理服务器―内容服务器模式,代理服务器承担着内容缓存的任务。然而传统代理协议只提供基于静态文本和图像的缓存技术,因此基于代理服务器的流媒体缓存技术近年来成为了该领域的研究重点。??   流媒体内容传输所提出的挑战一方面是流媒体的数据量远远大于传统的文本内容;另一方面流媒体对象传输对于连续性和实时性的要求也大大超过文本对象。目前已经提出了很多流调度算法和代理缓存算法,如金字塔算法(Pyramid)[1]、批处理技术(Batching)[2]、补丁算法(Patching)、缓存算法??(Caching)等。补丁算法[3,4]是利用客户端的存储资源,并且建立多条通道来获取和缓存数据;前缀缓存(Prefix Caching)[5]和分段缓存(Segment-Based Caching)[6~8]是利用代理服务器的磁盘存储空间来实现缓存,固定大小缓存(Fixed-Sized Ca-??ching)[9]和间隔缓存(Interval Caching)[10,11]是两种基于内存运行缓冲区的缓存技术,共享缓冲区(Shared Running Buffers,SRB)缓存[12]是为提高缓冲区利用率而提出的另一种缓冲区缓存算法。??   基于内存的缓存技术,可以有效缓解对于内容服务器的数据请求而节省网络带宽和改善启动延时,然而现有技术在缓冲区共享以及内存调度等方面尚存在不足。本文提出的动态共享缓冲算法在分析和试验结果中表明:它可以在节省网络带宽的同时有效地利用代理服务器的内存资源,使代理服务器能够为更多的客户端请求提供服务并且进一步缩短请求延时。??      1相关算法分析??      固定大小缓存、间隔缓存以及共享缓冲区缓存算法都是在内存当中申请缓冲区用来缓存部分流媒体数据,为后续到达的客户端请求提供服务,避免直接从内容服务器获取数据,同时可以提高请求的反应速度。??      1.1固定大小缓存??   固定大小缓存的基本原理是:当一个请求到达时,在内存中分配一块事先预定义长度的缓冲区用来缓存数据,期望为后续的请求提供服务。??   在图1中,两条条纹带分别表示代理服务器为同一个流媒体对象申请的两个缓冲区B1和B2,横坐标为访问时间,纵坐标为缓冲区中的数据对应媒体对象的时间位置,R1~R5分别表示不同时刻客户端对该媒体对象发出的请求。??   当R1请求到达时,B1缓冲区被申请用来保存从内容服务器获取的数据,并且为后续的请求R2和R3提供服务,即R2和R3可以直接从缓冲区中读取媒体对象数据而不必再从内容服务器获取,实现了缓存的功能。由于缓冲区的大小是事先定义好的固定尺寸,当请求R4到达时,B1缓冲区当中的数据已经偏离了媒体对象的起始位置,需要重新分配缓冲区B2,为后续的请求R5提供服务。??   从图1中可以看出,固定大小缓存技术是由于缓冲区的大小是固定的。就图1情况而言,缓冲区B1和B2的大小都分别大于R1~R3以及R4和R5最小所需的缓冲区大小,从而造成内存资源的浪费。??      1.2间隔缓存??   间隔缓存的基本原理是:以两个相邻的请求定义为一个请求对,根据请求对之间的时间差来动态调整缓冲区的大小,从而提高内存的利用率。??   在图2中,当R2请求到达时,R1和R2形成一个请求对,以时间间隔的大小申请一个缓冲区B1(如图2中R1和R2之间的条纹带);R1从内容服务器直接获取到的数据将保存到B1中,因此R2只需从内容服务器获取在此之前的部分数据,而余下的数据就可以直接从B1当中获取。当请求R3到达时,B1缓冲区的大小扩充至R3和R1之间的时间间隔大小;此后R2直接从服务器获取的数据也将放入扩充后的缓冲区B1当中。当请求R5到达时,因为R4与R5之间的时间间隔较R3

您可能关注的文档

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档