买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】可变速率媒体传送系统_瞻博网络公司_201710114250.1 

申请/专利权人:瞻博网络公司

申请日:2010-03-18

公开(公告)日:2020-05-15

公开(公告)号:CN106878315B

主分类号:H04L29/06(20060101)

分类号:H04L29/06(20060101);H04L29/08(20060101);H04L12/26(20060101);H04L12/24(20060101)

优先权:["20090318 US 61/161,376","20090403 US 61/166,423","20100312 US 12/722,579"]

专利状态码:有效-授权

法律状态:2020.05.15#授权;2017.07.14#实质审查的生效;2017.06.20#公开

摘要:用于传送可变比特率媒体文件的方法和设备将媒体文件传送至客户端系统。媒体服务器可以动态地检测客户端何时能够接受不同比特率版本的媒体内容。当媒体服务器将媒体内容传送至客户端系统时,媒体服务器可以在不同比特率版本的媒体内容之间平滑地切换。客户端系统在播放媒体内容的同时还可以请求不同比特率版本的媒体内容。

主权项:1.一种用于在网络上将可变比特率媒体内容动态地传送至客户端装置的方法,所述方法包括:在服务器装置处接收来自所述客户端装置的对媒体内容的请求;通过所述服务器装置发起将所请求的媒体内容中被编码为第一比特率的部分传送至所述客户端装置;通过所述服务器装置,确定所请求的媒体内容中被编码为所述第一比特率的部分的传送能够被改变为所请求的媒体内容中被编码为第二比特率的部分的传送,所述第二比特率不同于所述第一比特率;通过所述服务器装置接收请求以建立与另一客户端装置的新连接;基于接收所述请求以建立所述新连接、并且基于确定所请求的媒体内容中被编码为所述第一比特率的部分的传送能够被改变为所请求的媒体内容中被编码为所述第二比特率的部分的传送,通过所述服务器装置来确定以改变与所述客户端装置连接的比特率;基于建立所述新连接的请求和改变与所述客户端装置连接的比特率的确定,通过所述服务器装置建立与所述另一客户端装置的所述新连接;通过所述服务器装置并且一经确定以改变与所述客户端装置连接的比特率,就停止将所请求的媒体内容中被编码为所述第一比特率的部分传送至所述客户端装置;以及通过所述服务器装置并且从所请求的媒体内容中停止传送所请求的媒体内容中被编码为所述第一比特率的部分的点,将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置,其中所述媒体内容被逻辑地或物理地分成组块;以及传送所请求的媒体内容中被编码为所述第二比特率的部分包括:在所请求的媒体内容中被编码为所述第一比特率的媒体部分组块的末尾处停止所请求的媒体内容中被编码为所述第一比特率的部分的传送;以及从所请求的媒体内容中被编码为所述第二比特率的媒体部分组块的起点处传送所请求的媒体内容中被编码为所述第二比特率的部分,所请求的媒体内容中被编码为所述第二比特率的媒体部分组块的起点与所请求的媒体内容中被编码为所述第一比特率的媒体部分组块的末尾在时间上是连续的,其中所述服务器装置通过与另一服务器装置进行通信来获取原始服务器的所请求的媒体内容。

全文数据:可变速率媒体传送系统[0001]本申请是申请日为2010年3月18日、申请号为201080020837.2、发明名称为“可变速率媒体传送系统”的中国发明专利申请的分案申请。技术领域[0002]本发明总体涉及媒体内容传送。背景技术[0003]可以推行在本部分中描述的方法,但这些方法并非一定是先前已经设计或推行的方法。因此,除非本文另外指出,在本部分中描述的方法不是本申请中的权利要求的现有技术,并且不允许通过包含在本部分中而成为现有技术。[0004]这些年来,视频内容在因特网上的传送已得到发展。从内容服务器到客户端计算机的视频传送的最初应用受到技术和带宽容量的限制。必须明显减小视频文件的大小,以适应电话线的低带宽。必须在可以向用户播放视频文件之前将低分辨率视频内容作为整体下载至客户端计算机。这是由于文件系统限制在文件系统利用文件之前,其需要下载整个文件和仅具有重放整个文件的能力的视频播放器软件的原因。这迫使用户忍受等待完全下载视频文件的长时延迟。[0005]当下载内容时,创建私人文件格式和视频播放器软件以允许用户观看视频内容。在下载完成且用户观看到视频内容之后,保存或删除该文件。该方法由于带宽限制、服务器负载或网络延迟而非常容易出现下载延迟。由于视频播放器软件缺乏重放的视频内容,所以必须周期性地停止视频内容的重放。[0006]开发了一种更复杂的方法,该方法将视频内容倾注至视频播放器软件。传送系统通常针对每个视频内容标题具有单比特率视频文件。单比特率视频文件被分配给所有用户,而不管它们的带宽是否可用。通过迫使用户观看具有比合理带宽低的质量的视频内容,来惩罚具有比正常带宽高的带宽的用户。[0007]在用户能够重放视频内容之前,缓冲一定量的视频内容。缓冲器足够大,以支持一定量的视频内容来掩盖由带宽限制、服务器负载或网络延迟所导致的视频内容传送中的小延迟。较长的传送延迟典型地,为几秒或更长)由不稳定的最后一英里带宽导致。传送延迟会使视频播放器软件无内容可播,并导致视频播放器软件停止视频内容的重放,直到传送重新开始且充分填充缓冲器为止。附图说明[0008]在附图的图中,通过实施例但不限于实施例示出了本发明,其中,相同的参考标号指的是相同的元件,其中:[0009]图1示出了根据本发明的可行实施方式的在网络间与客户端系统、原始服务器、同位体MFD以及中心管理站相通信的媒体流导向器MFD;[0010]图2示出了根据本发明的可行实施方式的MFD部件和数据流架构的实施例;[0011]图3示出了根据本发明的可行实施方式的动态地确定内容部分的流行度popularity的实施例;[0012]图4示出了根据本发明的可行实施方式的代替传统的视频服务器网站的MFD配置;[0013]图5示出了根据本发明的可行实施方式的向客户端系统传送内容的MFD网络;[0014]图6示出了可以在其上执行一可行实施方式的计算机系统;[0015]图7示出了根据本发明的可行实施方式的HPE和服务器侧播放器之间的工作流程的流程图;[0016]图8a示出了根据本发明的可行实施方式的磁盘管理器与策略模块和分析模块之间的相互作用;[0017]图8b示出了根据本发明的可行实施方式的磁盘管理器与用于存储装置的词典之间的相互作用;[0018]图8c示出了根据本发明的可行实施方式的磁盘管理器与反向块映射reverseblockmap之间的相互作用;[0019]图9示出了根据本发明的可行实施方式的缓冲池与缓冲管理器之间的相互作用;[0020]图IOa示出了根据本发明的可行实施方式的媒体管理器、缓冲管理器和媒体提供商之间的相互作用;[0021]图IOb示出了根据本发明的可行实施方式的媒体管理器与用于确定热门视频片段的分析模块之间的相互作用;[0022]图11示出了根据本发明的可行实施方式的MFD中的网络管理器的流程图;[0023]图12示出了根据本发明的可行实施方式的容器文件中的渐近式下载提示轨道位置;[0024]图13示出了根据本发明的可行实施方式的参数说明画面的图形用户界面屏幕截图;[0025]图14示出了根据本发明的可行实施方式的实时字节传送监控图的图形用户界面屏幕截图;[0026]图15示出了根据本发明的可行实施方式的网络连接性能监控图的图形用户界面屏幕截图;[0027]图16示出了根据本发明的可行实施方式的在网络间与客户端系统相通信的媒体流导向器MFD;[0028]图17示出了根据本发明的可行实施方式的MFD在网络中的应用。[0029]图18示出了根据本发明的可行实施方式的向MFD传送视频文件的发布系统publishingsystem;[0030]图19示出了根据本发明的可行实施方式的制备视频文件以由Mro传送的预处理引擎;[0031]图20示出了根据本发明的可行实施方式的可由MFD使用的文件格式的实施例;[0032]图21示出了根据本发明的实施方式的内部文件结构。具体实施方式[0033]描述了一种可变速率媒体传送系统。在以下描述中,为了解释的目的,阐述了许多具体细节以提供对本发明的充分理解。然而,对于本领域的技术人员来说将显而易见的是,在没有这些具体细节的情况下也可以实践本发明。在其他情况中,以框图的形式示出了众所周知的结构和装置,以避免不必要地使本发明模糊。[0034]本文中,按照以下提纲描述实施方式:[0035]1.0总体概述[0036]2.0结构和功能概述[0037]2.1网络上的适应性内容传送[0038]2.1.1媒体流导向器架构[0039]2.1.2媒体流导向器布置[0040]2.2网络上的可变速率媒体传送[0041]2.2.1平滑流架构[0042]2.2.2不同比特率之间的过渡[0043]2.2.3网络中的媒体流导向器[0044]2.2.4准备平滑流文件[0045]3.0实现机制——硬件概述[0046]4.0实施例[0047]5.0扩展和变形[0048]总体概述[0049]本概述给出了本发明的可行实施方式的一些方面的基本描述。应当注意,该概述不是可行实施方式的方面的广泛或彻底的总结。此外,应当注意,该概述并非旨在被理解为确定可行实施方式的任何具体的重要方面或元件,也并非旨在被理解为具体地描述可行实施方式的任何范围(具体地,并非旨在大体上为本发明)。该概述仅提出了一些与压缩且简化的形式的实施例的可行实施方式相关的概念,并且其应被理解为,仅是以下实施例的可行实施方式的更详细描述的概念上的序言。[0050]描述了一种可变速率媒体传送系统。在其他实施方式中,本发明包含计算机设备和被配置为执行所述步骤的计算机可读介质。在以下文本中,视频内容和视频数据被用作媒体内容和媒体数据的实例,但是,这些实例不限于视频内容,还可以包括其他类型的媒体内容和媒体数据,例如,音频、多媒体表现、放映幻灯片等。该系统通过传送适于变化的比特率的媒体数据来适应服务器和客户端之间的比特率变化。在实施方式中,视频数据被发送以匹配服务器和客户端之间的带宽。客户端和服务器之间的带宽是不断改变的。在某一时间点,存在这样的比特率,在该比特率时,必须针对视频来传送视频数据,使得该视频由客户端的视频播放器连续重放而没有暂停或中断。[0051]该系统确保客户端视频播放器不会没有数据。可自动地检测服务器和客户端之间的带宽,并且通过服务器将带宽映射至适当的视频比特率。客户端视频播放器被提供有稳定的视频数据流。不使时标折衷,但传递至客户端的数据的量可以改变以与可用的带宽相匹配。如此,重放的视频的质量也可以改变。客户端播放器始终播放相同量的数据;只有视频的质量改变。[0052]服务器在用户和客户端视频播放器看不到任何中断的情况下而在视频比特率之间进行无缝地切换。在可行实施方式中,为了阻止对峰值或谷值过快地产生影响,服务器可以在具有明显的下降或增加时切换比特率。唯一可注意到的变化是所播放的视频的质量。标准的视频播放器可以用来与服务器对接。可行的实施方式经由渐进式下载方法而向用户提供视频流体验。在另一可行实施方式中,视频播放器可以通过使用控制信号或命令与服务器通信来使能服务器的其他特征例如,特殊再现特征比特率自适应)、或通过提供关于客户端侧资源例如,CPU使用存储)的信息而具有与服务器相通信的智能。特殊再现是这样一种特征:允许用户在当前流动的视频上使用流命令诸如快进、倒带、帧步进、暂停等)来控制其媒体重放体验。[0053]在另一可行实施方式中,可以稍微改进视频播放器,以能够向服务器发送告知服务器视频播放器已暂停的控制信号或命令。暂停通知使服务器暂停对视频播放器的渐进式下载。这释放了服务器的部分带宽,并使服务器处理其他下载。[0054]描述了一种适应性网络内容传送系统。参考图1,可行实施方式提供了媒体流导向器MFD103ΙΠ是可以经由HTTP、FTP、流动或其他协议而将网络104上的视频内容(以及各种大小的其他类型的文件内容,例如,媒体音频、图片等)、游戏、软件、HTML、脚本等有效地传送至多个客户端l〇la、101b、IOln的网络装置。视频内容包括这样的内容,如特征长度电影、情景喜剧、各种演出、脱口秀、新闻节目、广告等。客户端装置l〇la、101b、101n可以是个人计算装置诸如台式机或笔记本电脑、机顶盒、手持计算装置、手机、便携式媒体播放器或能够显示多媒体内容的任何其他便携式装置,并且它们还可以通过任何适当的接口而耦接至网络104。[0055]MFD103将视频内容存储在各种存储装置包括^0、550、1^1、非易失性存储器等)中的内部。MFD103可以将视频传送至许多个客户端同时对每个客户端保持高水平的观看体验。MFD103通过测量客户端的最后一英里的比特率变化,而自动地适应传送至客户端101的视频的比特率。MFD向客户端提供平滑的视频观看而没有缓冲停顿。其确保了通过使用自适应性比特率将渐进视频传送至客户端。ΜΠ动态地适应视频的比特率,以匹配有效的最后一英里带宽,并适应于改变客户端的网络条件。ΜΠ可以动态地测量到客户端的最后一英里带宽,以动态地调节比特率。客户端不需要定制的视频内容播放器来与Mro通信。ΜΠ支持工业标准视频播放器,诸如Flash、Quicktime、SiIverLight、WindowsMediaPlayer等。[0056]MFD103对可以由消费者以及MFD提供商所定义的视频的存储和传送提供策略控制。Mro可以以各种方式配置在网络104上,包括在边缘高速缓存位置或原始服务器位置。网络104可以由在通信系统中的装置之间提供数据交换的任何介质或机制来实现。网络104的实施例包括但不限于诸如局域网(LAN、广域网WAN、以太网、内联网、因特网的网络,或者一个或多个陆地、卫星或无线连接。[0057]MFD103通过任何适当的通信接口(例如,以太网或无线通信端口)而与网络104通信。可选地或附加地,连接至网络104的任意数量的装置还可以通过通信链路而彼此直接相连接。例如,当客户端101请求并未由MFD103存储在其存储器中的URL内容时,MFD103可以经由网络104或经由局域网从原始服务器102请求内容,以获得URL内容。另外,MFD103可以经由网络104或经由局域网与另一MFD105通信,以获得URL内容、MFD内容信息、MFD状态等。[0058]中心管理站106可以用来允许管理员设置用于Mro管理例如,高速缓存管理、带宽限制、内容流行度确定等的策略。中心管理站106还允许管理员管理将内容存储在ΜΠ内的多个存储装置中的哪个地方以及如何存储该内容。中心管理站106可以经由局域网通信,或经由网络104连接至MFD103、105。管理员登录中心管理系统106,并选择管理员希望与其相互作用的一个MFD或一组MFD。管理员可以定义策略,并通过中心管理站106将策略发送至MFD或推送至多个MFD。可选地,MFD可以周期性地或者当由中心管理站通知MFD可利用更新时而接触中心管理站106。[0059]2.0结构和功能概述[0060]2.1网络上的适应性内容传送[0061]2.1.1媒体流导向器架构[0062]图2示出了说明被构造成一个ΜΠ以传送视频内容的内容传送开关的架构的可行实施方式。以下描述了该架构中的部件。[0063]输出协议引擎210[0064]输出协议引擎210处理来自客户端的请求。客户端向ΜΠ发送请求,以与客户端连接,例如,HTTP获得对特定URL的请求,输出协议引擎210被认为是针对请求向服务器侧播放器201传递URL内容。[0065]服务器侧播放器201[0066]服务器侧播放器201主要负责每个视频流的特定视频逻辑的封装和执行。当针对视频流向MFD进行请求时,这种执行可以出现在入站侧,或者,当特定视频流正前往用于传送时,这种执行可以出现在出站侧。[0067]服务器侧播放器201解释从输出协议引擎210接收的URL,决定哪个比特率将用于所请求的视频内容,处理将发送什么视频内容,以及从哪里播放视频从视频内的哪个帧开始流动)。服务器侧播放器201注意比特率,并知道其尝试服务的视频内容的比特率。其可以使用从最优化网络堆栈211获得的信息,以找出哪个有效带宽用于最后一英里中的客户端。服务器侧播放器201还可以批准请求。在可行实施方式中,被嵌入URL中的查询字符串的带符号的散列关键字hashkey用来验证请求已批准。[0068]服务器侧播放器201提供确定的比特率和服务质量QoS特征。如果客户端必须缓冲,则这意味着,Mro的传送速率已经落后,并且客户端已经历没有要播放或显示的内容的死周期。在一个可行实施方式中,服务器侧播放器201计算已将多少数据发送至客户端以及已经过去了多长时间。服务器侧播放器201跟踪发送至每个客户端的数据的量以及正发送到每个客户端的视频内容的比特率。当每个客户端被发送一定量的数据时,服务器侧播放器201记录所发送的数据的量以及自从发送最后量的数据开始已经过去的时间的量。可选地,服务器侧201可以记录发送至客户端的数据的总量以及在客户端的对话期间已过去的时间的总量。通过使用所记录的信息,服务器侧播放器201可以计算其在对特定客户端的传送上是否已落后。例如,如果服务器侧播放器201已经以一定的比特率向客户端发送30秒的数据,并且,自从最后的数据传输开始已经过去了31秒,则服务器侧播放器201知道其已经落后。[0069]在另一可行实施方式中,服务器侧播放器201计算其需要向客户端传送多少更多的数据以及必须在其中传送数据以避免客户端侧上的缓冲的时间窗。该计算与之前的实施例稍微不同。服务器侧播放器201知道视频文件的大小,并由此可以计算保持被发送至客户端的数据的量。给定视频文件的比特率和总大小,服务器侧播放器还可以计算其必须传送剩余量的数据的时间的大小。服务器侧播放器201可以计算针对其建立的一个任务所需设置的截止时间,以向客户端传送视频文件的一个片段。[0070]Mro是基于任务的系统,其可以使用基于截止时间的调度。为了避免客户端缓冲,服务器侧播放器201在其建立的任务中设置截止时间。[0071]在可行的实施方式中,服务器侧播放器201计算确定的流速AFR值如下所述)。AFR是确保平滑的观看体验所需的传输速度。服务器侧播放器201使用AFR值来设置用于其建立的任务的截止时间,以从缓冲管理器203请求数据。服务器侧播放器201计算AFR,并且输出协议引擎210基于AFR来管理每个连接上的传输速度,并设置任务截止时间,使得可以满足AFR。在以上实施例中,服务器侧播放器201尝试保持在AFR的前面,并且如果例如,服务器侧播放器201已经发送30秒的数据并且自从最后一次传输开始已经过去了30秒,就会知道其已经落后,服务器侧播放器201立即知道其已经落后。在可选实施方式中,服务器侧播放器201可以扫描媒体文件,以设置媒体文件的AFR。服务器侧播放器201知道,一定质量或分辨率的媒体文件需要一定的传输速度,以确保客户端将不会停止。[0072]服务器侧播放器201还处理擦除请求(为了决定将来做什么)、自动译码以及广告插入。与不知道视频文件格式或视频内容是什么的典型的文件服务器相反,服务器侧播放器201是知道视频的。当服务器侧播放器201在视频已经开始之后改变比特率时,服务器侧播放器201已经知道相关联的帧存在于不同比特率版本中的哪个地方,因此,服务器侧播放器201可以轻松地改变比特率,而无需客户端必须为了新比特率而发送不同的偏移量。一个可行实施方式以可被自动译码成其所需要的任一比特率的定制格式来存储视频内容。这使服务器侧播放器201精确地知道相关联的帧在哪里用于每个比特率自动译码。另一可行实施方式对特定的视频内容存储几个不同的比特率版本。服务器侧播放器201存储每个比特率版本的索引表,因此,服务器侧播放器201可以快速地查阅一个表以找到用于新比特率视频的相关联的帧。[0073]服务器侧播放器201可以执行在视频流中插入广告。广告可以覆盖地放在视频流中。这使得广告插入与客户端播放器无关。可以动态地创建内容,例如,可以快速地进行副标题语言选择,并可以快速地覆盖适当的副标题。服务器侧播放器201可以将广告拼接在视频的中间部分中(被称作中间加载)。服务器侧播放器201还可以用另一信道重写overwrite视频的语音信道,以提供多语言支持,而不用必须存储不同版本的视频内容。[0074]在一个可行实施方式中,服务器侧播放器201提供两个接口,它们均由输入协议引擎209中的HTTP协议引擎HPE接入。[0075]北向接口:其用作这样的北向接口,其中,通过服务器侧播放器201检查由HPE解析的每个进入请求,以通过其特定用户逻辑来使请求生效。一旦检查到请求并执行必需的参数,请求就被发回至HPE,使得其可以对缓冲管理器203以及此后的其他提供商)针对内容进行有效的请求。[0076]南向接口:其用作这样的南向接口,其中,将所有传出数据发送至服务器侧播放器201以在传送之前进行检查。这是最后一个位置,在该位置,服务器侧播放器201可以在为了传送而发出内容之前执行任何的限制。服务器侧播放器201在该阶段具有这样的能力:在将由缓冲管理器203返回的数据缓冲发出之前如果需要,则可以对其进行修改。[0077]图7示出了HPE和服务器侧播放器201之间的工作流程的可行实施方式。执行以下步骤:[0078]步骤1:在已经建立连接之后,用户请求通过最优化网络堆栈211而到达ΗΡΕ701。[0079]步骤2:ΗΡΕ701进行最小的解析,以得到查询字符串和名称值对。[0080]步骤3:然后,HPE701用查询字符串启动对服务器侧播放器201的调用。[0081]步骤3a:服务器侧播放器201可以起到使与视频无关的文件通过的作用,但是本质上为安全存取文件等的除外,诸如由客户端播放器请求的那些文件。[0082]步骤4:对于每个新连接的每个第一调用,服务器侧播放器201将查询字符串重新映射至指向元文件的内部URL。该元文件存储所存在的简档profiIe的数量、其速率、时间周期,以及视频的其他信息。[0083]步骤5:服务器侧播放器201将所重新映射的URL返回至HPE701,并且还设置了这样的标记,其向HPE701指出不在线上发送所返回的元文件,而是将被元文件返回至服务器侧播放器201用于进一步的处理。[0084]步骤6:HPE701建立任务以从高速缓存中读取元文件。HPE701接收元文件并使其返回至服务器侧播放器201。[0085]步骤6a:服务器侧播放器201将元文件中的信息存储在用于该连接的套接字结构socketstructure中。元文件信息被存储在高速缓存中作为该读取的结果,以在未来快速查看。[0086]步骤7:—旦元文件中的信息位于套接字结构中,服务器侧播放器201现在便可以用转换逻辑插件704重新映射原始URL。转换逻辑插件704进行寻找和速度适应使用存在于套接字连接中的服务器侧播放器201结构中的信息,以进行向不同简档组块的必需转换。[0087]步骤8:服务器侧播放器201返回所重新映射的URL,并在HPE701中重新设置标记,以表明其准备好读取并在线上发送从高速缓存检索的数据。[0088]步骤9:将查询字符串传递至服务器侧播放器201。服务器侧播放器201检查其是否已位于套接字结构中。[0089]步骤10:如果已位于其中和或如果用于时间偏移的名称值对不是最小的(存在表示擦除或寻找的时间偏移或字节偏移),则服务器侧播放器201调用转换逻辑,以重新映射至适当的URL,并且,服务器侧播放器201调用HPE701,以读取传递数据。[0090]步骤11:如果查询字符串中的名称值对是最小的没有表示擦除或寻找的时间偏移或字节偏移),那么从步骤4开始重复。[0091]调度器202[0092]调度器202使用由调用者设置的截止时间,以组织任务的调度。可以存在调度器202管理的几十万个任务。调度器保持由截止时间组织的任务。调度器202监控该任务,以查看是否有哪个任务已经错过其截止时间。这告诉调度器202ΜΠ已经落后。调度器向服务器侧播放器201发送反馈,以告诉服务器侧播放器传送速度已经落后。调度器202可以发送诸如错过截止时间的任务的任务ID和时间大小的信息。[0093]在一个可行实施方式中,如果调度器202确定其无法满足所请求的任务的截止时间,贝1J其可以拒绝接收用于新连接的任务。这是确保没有过度提交over-commitMFD资源并且现有连接平滑地播放的许可控制的部件。类似地,执行任务的所有部件例如,缓冲管理器、磁盘管理器和原始管理器可以查看其内部资源承诺,并使新连接的第一任务无法成为拒绝接受对话的方式。[0094]服务器侧播放器201可以识别哪些任务与每个客户端相关联。其可以通过使用上述计算而计算其有多晚向客户端传送视频内容,并相应地调节后续任务的截止时间。然后,服务器侧播放器201可以停止接收新连接。在一个可行实施方式中,服务器侧播放器201可以基于策略设置而降低一些现有连接的比特率,以接收另外的连接。这些方法使服务器侧播放器201动态地测量其性能,因此,其不需要对客户端连接的数目设置静态的上限。假设服务器侧播放器处理很多不同的比特率,则连接数目的固定上限不代表ΜΠ的实际容量,因此,动态上限可以更有效,并允许MFD自己决定其是否可以处理更多或更少的连接。[0095]—个可行的实施方式执行截止时间调度,其中,每个任务状态可以具有多个截止时间队列。每个截止时间队列可以与固定的时间周期(例如,I1Oms组块)相对应。调度器202可以使具有最短截止时间的队列退栈。[0096]任务处理器在起始时间通过调度器202而被预先记录。它们始终是不阻塞的。阻塞处理器为另一组线程并在下面进行了描述。在一个可行实施方式中,任何任务切换均不包括线程上下文切换。[0097]向线程池放出阻塞任务。无论何时存在待完成的任务,来自线程池的一个线程都将服务该任务。在这一点上,调度器202已经推开阻塞任务。因此,将不阻止其他任务。[0098]调度器以WRR加权轮询方式检查相关的队列状态截止时间队列)。其通过调用预先记录的任务处理器来分派任务。调度器202通过保持跟踪过去的时间并使相关队列退栈,来根据截止时间进行调度。截止时间调度不是严格的实时。截止时间是对调度器202的建议,即,在另一个任务之前需要对特定任务进行调度。[0099]调度器202使得能够进行不同类型的线程。这些线程为任务线程、IO线程、事件线程和网络线程。这些列举的线程并不限制可以执行的线程的数量和类型。任务线程为任务执行的主要引擎。调度器202为开始例程。其基于优先管理来执行分派查看。当没有任务运行时,这些线程阻塞。[0100]IO线程用来执行阻塞线程例如,磁盘管理器206中的磁盘IO。它们可以对读写调用进行阻塞。事件线程为异步的,并将网络事件映射至任务状态变化。网络线程执行用户空间网络堆栈,并通常不会阻塞读取。专用线程用于AFR的定时器的定标和管理。可选地,可以通过使用调度器线程上的任务来执行网络活动。[0101]磁盘管理器206[0102]磁盘管理器206管理分布在多个磁盘驱动器上的对象,而不管大小、数量和类型如何。还参考图8a,磁盘管理器206从策略模块801PM和分析模块802AM获得关于对象位置的提示。媒体管理器204可以与PM801相互作用,以帮助其决定如何将视频分配到片段中,并且还确定何时判断视频的一部分是热门的(如下所述)。媒体管理器204还可以与AM802相互作用。AM802基于统计信息来确定哪些视频部分是热门的,这些统计信息覆盖了由媒体管理器204所提供的视频部分点击。[0103]存储在磁盘管理器206中的对象最可能是相关的视频,但也可以是任何视频。由于视频对象以连续的方式被消费,所以对象的磁盘布局特别适合于视频对象。对于较小的对象,磁盘管理器206执行特殊的压缩,因此,许多连续的小对象可以以时序的顺序而被紧密地压缩在一起。在小对象是较大的视频在时序中的大块部分时,这是非常适用的。该压缩使磁盘管理器206将磁盘驱动器的读取性能最优化,因为其读取少量数据所花费的时间大约与其读取IMB至2MB数据所花费的时间相同。在另一实施方式中,磁盘管理器206可以使能多种用于压缩对象的策略。除了基于时间的位置以外,磁盘管理器还可以支持基于名称结构或其他定制方案内的位置的压缩。[0104]还参考图8c,磁盘管理器206可以使用反向块映射ΦΒΜ805,以始终如一地读取大块806甚至在存在小对象时)。块大小被设置为允许从磁盘驱动器有效地读取的特定大小,例如,1MB、2MB等。对于每个块,磁盘管理器206保持RBM805中的一列范围,其中,每个范围为对象的相邻部分。在该实施例中,RBM805列出具有相关范围807至812的块806。注意,对于较小的对象,多个小对象本身或较小对象的一部分可以适合于一个块,并且它们可以一起被读入高速缓冲存储器。当磁盘管理器206接收用于对象的特定部分的请求时,其将这个块定位在特定部分所在的位置。然后,其将整个块读入由缓冲管理器203提供的高速缓冲存储器813中。使用RBM805,磁盘管理器206能够将正确身份UOL分配给每个缓冲器如下所述)。这允许缓冲管理器203随后消耗额外的数据,而不进行任何附加的10。在实施方式中,磁盘管理器206针对存储在MDF中的所有对象而在RBM中建立入口。当从原始服务器加载一个对象时,磁盘管理器206可以针对该对象而在RBM中建立入口。[0105]磁盘管理器206解决了许多类型的磁盘控制器和磁盘驱动器,包括SATA、SAS、SSD和闪存。每个驱动器类型具有不同的大小和性能特征。如此,磁盘管理器206将改变每个驱动器类型的数据布局,以使能磁盘空间的最佳性能和利用。为了自调节驱动器类型和控制器的变化,磁盘管理器206在启动时执行简短的带宽测试,因此,磁盘管理器可以对其在开放硬件框架内看到的大量配置进行分类。[0106]管理员可以配置磁盘管理器206,以将来自原始服务器的内容存储在硬盘驱动器上或存储在高速缓存中。管理员可以指定:在磁盘管理器206将内容存储在硬盘驱动器或高速缓存上之前,磁盘管理器206将内容存储在第一命中(hit上或任何特定数量的命中上。这允许管理员关于任何已知或可预测的需求而灵活地调节所高速缓存的内容。可选地,可以由内部分析来驱动磁盘管理器206如何存储内容。由于例如管理员知道节目的新情节将是有需求的,所以管理员可以命令磁盘管理器206将特定的新内容存储在硬盘驱动器上。[0107]通过磁盘管理器206执行逐出策略evictionpolicy。可以将内容从硬盘驱动器或高速缓存去除,以基于由管理员或用户定义的逐出策略而为新内容腾出空间。在一个可行实施方式中,可以基于分析算法例如,使用最近使用的LRU算法或其衍生算法而内部地获得逐出策略。用户可以在ΜΠ中安装足够大的存储容量,使得可以不再通过用户的内容来填充存储空间。为了实现该目标,用户可以期望使其内容在硬盘驱动器的最快区域中,并稀疏地位于硬盘驱动器中。然后,用户可以具有一组专用于其最热门的内容的MFD具有稀疏地填充的硬盘驱动器),并具有高速缓存其不太流行的内容的另一组MFD。管理员可以指定Mro上的某些硬盘驱动器保持由稀疏地用最热门的内容来填充,而Mro上的其他硬盘驱动器用于所有其他的内容。这允许用户执行特定MFD的有效存储方案。[0108]还参考图8b,磁盘管理器206将每个装置对待为独立的高速缓存模块。与文件系统类似,每个装置上的元数据和数据包括分开的且独立的存储。然而,与传统的文件系统不同,命名层级在所有模块上是公共的,其中,将给定的名称与逻辑设备(文件系统绑定。例如,如果将传统的文件系统安装在abc,则该目录下的所有对象将位于该文件系统中。相反,磁盘管理器206能够将abcone·gif、abctwo·gif、以及abcthree·gif存储在高速缓存装置803a、803b、803c中的任一个中,并且其进行管理。在初始放置(以及对负载平衡重新定位)的过程中,磁盘管理器206在其基于每个装置而保持的使用统计的基础上选择装置来存储对象。在查找(以服务STAT任务的过程中,磁盘管理器206确定哪些装置具有对象,并再次基于使用统计选择一个装置。这允许放置对象或其一部分,并由与其名称无关的任何高速缓存模块服务。磁盘管理器206能够通过在使用统计的基础上放置对象并动态地将其重新定位),而从每个装置中将带宽最优化。在一个实施方式中,磁盘管理器206在每个装置的读写吞吐量方面保持跟踪每个装置流量。在初始放置和重新定位的过程中,其选择具有最少量流量的装置。在另一实施方式中,其使用队列深度重要请求的数量和平均等待时间作为流量的测量。灵活的放置导致了在高速缓存装置之间的线性定标。[0109]在一个实施方式中,磁盘管理器206针对每个高速缓存装置803a、803b、803c将词典804a、804b、804c高速缓存在RAM中。词典804a、804b、804c由存储在该装置803a、803b、803c中的对象的树与关于对象的少量元数据一起组成。这允许磁盘管理器206非常有效地回答STAT查询,而不会导致任何磁盘10。[0110]磁盘管理器206提供简单的故障恢复模型。单个高速缓存装置的故障仅导致包含在该高速缓存装置中的对象遗失。其对其他高速缓存装置的性能没有影响。有故障的高速缓存装置可以被替换在线,针对支持热交换的硬件系统并被重新配置为新的高速缓存模块。在一个实施方式中,磁盘管理器206还可以选择性地复制多个高速缓存装置中的对象,以得到更好的故障恢复和性能。[0111]在一个实施方式中,关于视频的所有信息均自包含在每个驱动器内,使得可以在MFD之间移动驱动器。随着时间的过去,磁盘管理器206询问分析模块802,以在驱动器之间自动地移动整部电影或剪辑,和或将其移动至SAS磁盘803的驱动器中的内部或外部轨道。磁盘管理器206提供媒体管理器204所必需的数据,以使高速缓存层级内的各层之间的对象升级和降级。内容的初始放置可以取决于来自分析模块802和或策略模块801的数据。磁盘管理器206选择将读取性能最优化的数据布局,甚至针对小对象。[0112]磁盘管理器206可以避免影响大多数文件系统的性能的存储残片问题。无论什么时候已在该块中释放可配置的空间量,其都通过回收全部块来这样做。例如,如果用64个32KB的对象填充2MB的块,并且删除一半的对象例如,基于逐出),则磁盘管理器206便可以释放整个块。通过磁盘管理器206使用RBM以逻辑上删除或重新定位剩余的对象。[0113]视频信息可以包括:压缩未压缩的视频数据、应用所需的视频属性标题信息),以及帮助内部操作所需的视频属性高速缓存期满、高速缓存起始时间)。当去除和增加驱动器时,磁盘管理器206重新调节高速缓存内容。其还适度地处理来自物理介质的运行时间误差。在同一系统上一起支持SAS、SATA、SSD和闪存驱动器。磁盘管理器206允许多个驱动器高水平地并行。一个可行实施方式允许用介质预先加载高速缓存,可服务该介质直到特定的日期和或时间为止。[0114]智能高速缓存[0115]硬盘驱动器作为高速缓存而操作得不好,当硬盘驱动器被用作高速缓存并且其正高速缓存几百、几千或甚至几万个视频时,最终结果是随机输入输出(IO图案。Mro将有意思的内容放在硬盘驱动器的相同区域中,因此,Mro可以执行大读取以补偿带宽,例如,对于低带宽连接,MFD在一次读取中可以读取30秒的视频,并将其存储在RAM或SSD中的高速缓存中(或根据所服务的连接的数量以及这些连接的带宽考虑,而在硬盘驱动器上缓冲)。这使得对客户端传送该高速缓存,并且客户端在30秒的时间内不需要其下一次KLSSD用于更频繁地存取的内容,或用于需要不能有效地从硬盘驱动器服务的更小的随机IO的内容。流行度索引用于一部分内容,以确定一个部分是否是热门的。对于视频,人们可能不观看整个视频,并且视频的某些部分可能比其他部分更热门,因此高速缓存最热门的内容部分。这使得MFD在其高速缓存时更智能。例如,ΜΠ不用必须高速缓存整个视频流。ΜΠ动态地计算内容部分的流行度。[0116]参考图3,当ΜΠ测量视频流的存取时,动态地确定视频的热门部分的边界。在一个可行实施方式中,服务器侧播放器201使用逻辑组块方法来动态地确定哪部分是视频的热门部分。例如,服务器侧播放器201可以使用帧标识符,诸如嵌入在视频帧中的时间标签或存储器地址位置中。可以通过服务器侧播放器201利用针对视频流所创建的偏移量的表格来获得帧标识符。偏移量的表格可以由系统在接收视频流时创建,或者可以由内容提供商创建,内容提供商在接收视频流时被加载至系统中。对于不同比特率的视频流,可以存储多个表格。[0117]服务器侧播放器201可以确定覆盖视频流的观看最多的帧的视频流的一部分或边界,并将视频流的热门部分放入一个高速缓存硬盘驱动器、SSD或RAM中。在一个可行实施方式中,分析模块监控视频1,301、视频2302、视频3,303及视频4404。其发现,存在比该视频的其他部分或利用客户端系统的其他视频更频繁地观看的视频的片段。将视频305、306、307、308的这些部分存储在高速缓存309中。高速缓存309可以为任何高速缓存,RAM高速缓存、SSD高速缓存,或硬盘驱动器高速缓存,或它们的任何组合。[0118]在一个可行实施方式中,服务器侧播放器201支持所存储的视频流的将视频流划分成小文件并确定哪个文件流行的物理组块。物理组块将视频分成客户端播放器可看得到的小命名组块。[0119]基于时间的存取模式用来确定哪些视频例如,与主题相关的新闻项或与内容相关的视频趋向于一起观看,并且磁盘管理器206将视频的热门部分重新定位在硬盘驱动器高速缓存、SSD高速缓存或RAM高速缓存中的相同区域中,从而增加高速缓存命中并允许更快的存取时间。[0120]RAM高速缓存与缓冲管理器203相结合。其使用分析和或策略来管理RAM高速缓存并选择逐出候选者。当服务器侧播放器201找到每个热门视频部分时,缓冲管理器203确定已经存储在高速缓存中的热门部分哪些不再被确定为是热门的。缓冲管理器203从高速缓存中去除不再热门的部分,以为新的热门部分腾出空间。这由缓冲管理器203基于从存取模式获得的内部分析来完成。在一个实施方式中,缓冲管理器203保持所有不活跃使用的缓冲器按逐出顺序组织。排序考虑以下因素,例如,缓冲器存取的次数、存取的时间频率以及增加减小的使用速度。[0121]缓冲管理器203可以使用主存储器RAM作为用于高比特率视频的高速缓存,并使用SSD存储器用于低比特率视频。这允许MFD更有效地使用主存储器。[0122]媒体管理器204管理高速缓存层级(例如,SSD、硬盘、同位体)。其查看分析和或策略,以确定何时升级、降级或逐出高速缓存内容。媒体管理器204启动分级的高速缓存管理包括高速缓存升级和降级动作)。每个元素在高速缓存层级中的执行叫做高速缓存提供商。动态地记录提供商,并基于其记录的特性例如,带宽、等待时间、容量等将提供商汇编在层级中。存在两类提供商:高速缓存提供商,其是对支持读写的系统的本地高速缓存;以及原始提供商,其是提供原始内容并且是只读的网络源。高速缓存迀移的单元可以包含逻辑组块边界,或者在一些情况中,纯粹从装置等级块管理中获得。例如在HDD中,可以将流行的块其可以包含多个视频的一部分升级至SSD或升级至HDD的外部轨道。[0123]元数据描述了将媒体存储在磁盘中的什么地方。大多数操作系统高速缓存与文件相关的信息。该信息被叫做信息节点。信息节点高速缓存可以支持很多信息节点,典型地,为百万的数量级。该高速缓存将消耗MFD可以使用的之前的存储器,以高速缓存媒体数据。ΜΠ具有告诉媒体数据的各种片段存储在磁盘的原始分区内的什么地方的信息。该信息落入元数据,并且其被称作“范围”。支持大媒体对象的每个磁盘块可以具有单个范围以查阅该数据。当磁盘块支持多个小对象时,每个小对象均具有不同的范围以对其进行描述。[0124]为了减小在一些系统中难以控制的信息节点高速缓存空间,将元数据包括范围)压缩成被称作容器的单个信息节点文件。每个容器均支持用于一组公共的对象的范围。因为对象是公共的,所以MFD会正常读取用于这些对象的元数据。[0125]在一个可行实施方式中,Mro产生动态磁盘层级,其允许ΜΠ确定磁盘在ΜΠ内的带宽。磁盘管理器206确定哪些驱动器可能是高速缓存目标。其运行简短的测试,以根据磁盘带宽将每个驱动器进行分类。这样做是因为相同类型的驱动器可以根据哪个磁盘控制器在其前面而看到不同的性能数。通过运行磁盘测试,磁盘管理器206不需要在各种驱动器类型之间进行区分,或找出每个磁盘控制器可以传递什么性能。驱动器控制器带宽组合将这一对放在由工厂或由管理员设置的一些类别内。典型地,存在预置数目的类别。[0126]在一个可行实施方式中,MFD创建磁盘高速缓存层级。高速缓存层级的每个级别均包含一组对象。在访问次数方面接近最高值的对象是移入下一个最快层级中的良好候选者,从而使得能够降低所有对象的总访问次数时间。可以使用带宽利用情况和空间利用情况来确定对象从较低等级到较高等级的移动,以确定何时适于移动对象。在访问次数方面接近最低值的对象是移入下一个最慢层级中的良好候选者,以为较高的访问计数的对象释放空间。ΜΠ尝试将用于最高等级的可用带宽最大化至最低等级。例如,定义三个等级A、B和C,其中,A是最快的高速缓存。如果A不完整,则将B中的最高存取的对象升级至A是有意义的。这将腾出更多空间,以将对象从C升级至B。如果B中的某些对象访问得没有C中的对象那么频繁,则通过将B中访问最少的对象从B移入C而使其降级并将C中访问最多的对象升级至B中是有意义的。该移动过程被叫做“升级”和“降级”。[0127]每个磁盘驱动器的外部的10%至15%可以传递比整个装置的随机性能好15%至20%的性能。一个可行实施方式可以开拓carveout驱动器的外部,并将媒体对象的最热门部分移至该区域。[0128]缓冲管理器203[0129]缓冲管理器203在MFD内提供原始数据路径。经由缓冲器发送由MFD服务的所有内容。缓冲器用于在出站网络outboundnetwork与高速缓存提供商之间以及在其与RAM高速缓存之间进行速度匹配缓冲)。后者是高速缓存层级中的(隐含的)第一等级。当所请求的内容在高速缓存中得不到时,缓冲管理器203使用媒体管理器204的服务来检索该数据,并且如果可能的话,为了后续请求而将其高速缓存。[0130]缓冲管理器203从HPE创建的任务中接收对内容的请求。缓冲管理器203取来内容。给定URL和从那里播放的偏移量,缓冲管理器将提供内容。缓冲管理器203从媒体管理器204中检索内容。缓冲管理器204创建任务,以检索在偏移开始时的一部分视频内容。媒体管理器204从硬盘驱动器或SSD检索内容。缓冲管理器203可以检查所请求的内容是否与存储在主存储器高速缓存RAM中的任何内容匹配。RAM高速缓存由多个缓冲器组成。可以根据高速缓存来直接服务一个命中,而不用任何进一步的复制。可以通过使用媒体管理器204填充新的缓冲器来服务一个未命中,以将内容重新定位在存储中。缓冲管理器203将指针传递至包含给输出协议引擎210将视频内容的一部分流动至客户端的视频内容的一部分的缓冲器。[0131]缓冲管理器203有效地管理大量存储器。其具有在服务相同内容的连接之间共享缓冲器的能力。缓冲管理器203还具有从MFD中的使用模式获得的有效的再使用方案。[0132]缓冲管理器203基于在使用计数和寿命基础上计算的成本函数来处理缓冲器逐出。较高的使用计数导致了较高的成本,而寿命用作成本上的衰减函数,例如,较老的缓冲器具有较老的成本。逐出算法尝试大概找出在非常有效地操作恒定时间)的同时具有最低成本的缓冲器。[0133]将可以逐出的缓冲器具有零参考计数插在LRU列表的尾部。通过缓冲器的使用计数而对列表进行排序。通过时间戳而对每个LRU列表有效地进行排序。将不在高速缓存中的缓冲器例如,到期的、被清除的放在具有零时间戳的最低LRU列表的最前头上。[0134]在逐出的过程中,对每个LRU列表的最前头计算成本,并且逐出最低成本的缓冲器。[0135]每个对象URI具有为属性的一部分的期满时间。在访问缓冲器高速缓存时,相对于当前时间检查期满时间。如果到期,则从高速缓存中去除与对象相关的所有缓冲器和属性。当参考计数变为零时,将缓冲器放在LRU列表上。在期满时间之前的时间窗其可由管理员或用户配置的过程中,可以用原始服务器使对象重新生效。[0136]参考图9,在一个可行实施方式中,缓冲管理器203管理缓冲池904。可用于数据的存储器被静态地分成固定大小页面的阵列。每个页面具有相应的缓冲器结构,以压缩与缓冲器相关联的元数据。还从阵列中静态地分配缓冲器结构。每个缓冲器可以经由缓冲器高速缓存和自由列表而链接。元数据的部分元素是:[0137]身份。缓冲器的身份。数据缓冲器具有由UOLURI、偏移量和长度组成的ID。属性缓冲器仅具有URI的ID。[0138]参考计数。缓冲器的使用中的用户的数量。[0139]使用计数。缓冲器已经使用的次数。这是缓冲器“流行度”的基本测量标准。[0140]时间戳。将缓冲器放在LRU列表上的时间(S卩,参考计数为零)。[0141]缓冲管理器203管理缓冲器高速缓存。针对具有身份且可与其他连接共享的所有缓冲器,保持使用UOL作为键码的哈希映射。一个可行实施方式支持用于缓冲器的非高速缓存模式,由此,缓冲器具有身份但不可以共享。[0142]与相同对象URI相关的数据缓冲器通过植根在相应的属性缓冲器中的列表将而链接在一起。这允许快速地应用属于整个对象的动作例如,高速缓存到期和对象清除)。[0143]自由表也由缓冲管理器203保持。所有缓冲器包括那些具有身份的缓冲器,其具有零参考计数均在该列表上。这允许根据需要有效地逐出缓冲器。该列表可以由利用缓冲器的使用计数所排序的多个列表组成。[0144]每个GET任务在用来保持其缓冲器的列表以进行参考计数的高速缓存请求专用数据905中分配一些私人数据。其还用来与下层的媒体请求连接。高速缓存请求处理器902管理高速缓存请求私人数据905,并处理GET任务请求。[0145]媒体请求处理器903对发送至媒体管理器204的每个媒体GET任务获取进入出去的自变量。媒体请求对象链接在媒体请求表906中,使得可以使对相同或共同存储的对象的多个请求同步。[0146]参考图10a,缓冲管理器203和媒体管理器204之间的接口(其实现高速缓存层级)具有独特的特性,该特性使得能够实现高性能高速缓存系统。通过使用STAT任务其作用就像是投标系统来实现提供数据的装置的选择。高速缓存层级中的每一层例如,固态器件SSD管理器205、磁盘管理器206,以及原始管理器207可以依次响应于用于服务请求的投标bid。投标包括告诉缓冲管理器203分配缓冲器的必需设置的“块大小”。然后,缓冲管理器203将GET请求向下发送至赢得投标的特定高速缓存提供商。将请求和响应在逻辑上去耦合。提供商用内容来填充所提供的缓冲器,并针对每个缓冲器设置适当的身份。这导致了新的缓冲器被插入RAM高速缓存中。缓冲管理器203—完成任务,其就再次查找RAM高速缓存,并能够找到其所寻找的缓冲器。该模型允许提供商在相同的请求中提供附加的数据,同一对象的后续部分或其他相关的对象。其还允许对象的不同部分由不同的提供商提供。命名和位置是正交的。例如,具有名称abcone.flv的视频对象部分地或整体地可以存在于高速缓存层级中的任一提供商中。[0147]媒体管理器204[0148]媒体管理器204基于视频的相对热门度而使视频升级和降级。视频的热门度为该视频的点击次数、点击频率,以及频率的增大或减小趋势的函数。[0149]媒体管理器204具有η个不同的源,一个或多个SSD205、一个或多个硬盘206、原始服务器207、或同位体208。媒体管理器接收缓冲器,并用所请求的内容的一部分对其填充。媒体管理器204将所填充的缓冲器发送至缓冲管理器203。如果内容不在本地存储中,则媒体管理器204从原始服务器、同位体或客户端中检索内容。以下为速度的层级,在一个可行实施方式中,其与每个源相关联:[0150]1·存储器RAM:IOGbps[0151]2.闪存:4Gbps[0152]3.固态器件(SSD:1.6Gbps[0153]4.磁盘(SAS:550Mbps[0154]5·磁盘(SATA:400Mbps[0155]6.其他[0156]7.NFS和其他文件高速缓存[0157]8.原始管理器。[0158]参考图10b,媒体管理器204首先将新视频放在最低存储器层级中。在定时器到时时,媒体管理器204检查最热门和最冷门视频的分析策略管理器1002。分析策略管理器1002向媒体管理器204提供最热门的视频和或所存取的视频的一部分。将最热门的视频或视频的一部分升级至层级中的下一个存储器高速缓存,并将最冷门的视频降级至层级中的下一个最低的存储器。以此方式,可以将视频放在高速缓存层级的最低层中,并且如果其热度相对于其他视频而增加,则其可以上浮至层级的顶部。[0159]媒体管理器204从相应的高速缓存驱动视频的逐出。媒体管理器执行逐出定时器。当定时器激发时,媒体管理器204仔细检查每个高速缓存提供商205、206、207、1006,从而检查高速缓存是否充满至某一阈值。如果特定的高速缓存是满的,则媒体管理器204调用提供商的逐出功能性。然后,提供商执行其特定的逐出算法。[0160]同位体管理器207[0161]同位体管理器207可以被配置为在高速缓存缺失时从同位体ΜΠ获得某一内容。假设Mro在本地存储器例如,一个或多个硬盘驱动器以及一个或多个SSD中具有有限量的存储空间,则可能存在这样的情况,其中,用户具有比单个Mro可存储的视频内容更多的视频内容。可以在安装于用户的场所处的多个同位体ΜΠ中分配用户的视频内容,或者在那里,同位体MFD可以在网络储如,分配在彼此通信的多个同位体MFD中的内联网、因特网、LAN或WAN上彼此可访问。[0162]管理员可以通知其同位体的IP地址的每个同位体MFD,因此同位体ΜΠ能够与其同位体通信。如果同位体ΜΠ局部地相连接,则其可以通过任何类型的发现机制而由其自己发现其同位体。同位体MFD可以在它们自身之间通信,并让每个同位体MFD知道其高速缓存哪些URL。这意味着,在每个同位体MFD已加载来自原始服务器或另一同位体ΜΠ的内容之后,同位体MFD通知每个其同位体MFD关于其服务的URL。这可以经由发送至每个同位体MFD或广播至所有同位体ΜΠ的一个消息或一系列消息来实现。如果将用于特定URL的请求发送至导致高速缓存缺失的同位体MFD,则该MFD中的同位体管理器可以从高速缓存该特定URL的同位体MFD中请求URL内容。[0163]原始管理器208[0164]a.原始服务器可以将内容推送至原始管理器208,或者原始管理器208可以从原始服务器拖出内容。原始服务器可以通过将内容预先安排至原始管理器208,而将内容推送至原始管理器208。原始服务器可以将FTP或HTTP推送至原始管理器208,并告诉原始管理器208高速缓存某些URL,因为内容提供商知道该内容将是热门的。[0165]b.由于错过所有局部可用的高速缓存还是代理服务器功能)的客户端请求,原始管理器208从原始服务器拉出内容。拉出内容还可以由于策略或命令驱动的动作而发生,以与客户端请求分开地读取内容。代理服务器功能与高速缓存摄取是分开的。这有几个原因:a代理服务器可能必须服务对于高速缓存来说不方便的奇怪对准的字节范围请求;(b该系统可能需要执行处理功能,例如,在摄取过程中的组块和自动译码这些在代理服务器中难以实时地实现);以及c用于两个功能的不同策略。[0166]输入协议引擎209[0167]输入协议引擎209以和输出协议引擎210相同的方式操作,只是其通过使用诸如HTTP、FTP和NFS的协议与原始服务器通信。[0168]最优化网络堆栈211[0169]最优化网络堆栈211使用TCP堆栈中的往返时间(RTT,以估计对客户端的最后一英里的比特率变化。RTT时间告诉最优化网络堆栈211是否存在完全downtheline拥塞。RTT提供在前往客户端的网络中可用的带宽的估计。最优化网络堆栈211还通过使用适于时敏应用(例如视频)的算法来执行误差处理和拥塞控制。ΜΠ可以响应于所检测到的比特率变化来改变比特率,而无需客户端知道。[0170]确定的流速[0171]在一个可行实施方式中,MFD具有对允许进入系统以进行数据传送的每一流动保证某一类服务的能力。这被叫做确定的流速。ΜΠ针对每个对话来计算确定的流速,并针对对话设置最大带宽。用于对话的带宽利用不应小于确定的流速,并且如果存在可用的带宽,则应尝试达到最大带宽。[0172]Mro执行流控制,以确保现有对话得到所需的速度,并且不大于最大速度。这在网络套接字等级中实现。套接字等级管理数据发送速度。对话带宽队列和服务器定时器用于计算流控制。[0173]Mro通过确保如果服务器没有足够的资源以接受连接,则不容许新的对话,来执行许可控制和连接管理。[0174]四种规格可以用于MFD,以保持确定的流速AFR:[0175]Σ所有连接的AFR彡设备界面端口带宽[0176]对话AFR彡客户端对话带宽[0177]Σ所有连接的AFR彡(磁盘+缓冲器读取速度[0178]最差质量视频比特率最高质量视频比特率,则将浪费带宽资源。服务器侧播放器201不关闭连续对话GET请求,但允许通过返回故障误差代码来关闭新的对话。[0188]在一个可行实施方式中,如果客户端经由拨号调制解调器获得接入,则AFR受到较慢的最后一英里连接的限制。网络驱动器模块基于RTT计算来检测客户端连接ISP。一个实施例等式可以为:客户端对话带宽速度=1460字节RTT秒)。[0189]如上所述,视频内容被存储在磁盘或RAM中。一旦MFD确定了AFR,其就需要确保磁盘+缓冲器可以达到该速度。与CPU和网络容量不同,作为一个容量的磁盘速度不是可以容易测量的东西。其与工作量高度相关。一种测量磁盘是否处于或接近容量的更实际的方法是查看队列深度和或平均等待时间。调度器202的截止时间缺失计数器是在系统中发生什么的良好指标。[0190]在某些情况下,例如,网络管理员希望产生VIP列表。网络管理员可能通过用户接口管理控制台来设置策略,使得VIP列表接收产生更高的用于对话的AFR的高质量视频。在另一实施例中,网络管理员可以设置平均视频质量。网络管理员可以使用用户接口管理器控制台来设置平均AFR。[0191]在一个可行实施方式中,MFD不希望将较高的视频质量发送至无法播放高质量视频的客户端。例如,PC笔记本可以播放高质量视频,但iPhoneg-phonePalm等仅具有非常小的屏幕,因此无法播放高质量视频。完全不需要将高质量视频发送至这些类型的装置。[0192]参考图11,示出了用于最优化网络堆栈211中的网络管理器的AFR部分的可行实施方式的数据流,最优化网络堆栈在HPE对调度器202提出任务并且调度器202返回数据块之后发送数据。如果在一个定时器间隔缝隙(例如,一次一秒)内无法发出所计算的数据的大小,则这意味着在网络管理器中出现AFR错过。如果调度器202在截止期限错过时间内不返回任务,则这意味着磁盘管理器206中发生AFR错过。[0193]网络管理器计算任务的截止时间。然后,其提出具有所计算的截止时间的任务1101。然后,给定AFR和套接字的传输周期的定时器间隔,网络管理器计算可以在连接上发送的最大数量的字节。这产生可以在一个定时器间隔中在连接上发送的最大量的数据1102。然后,网络管理器在套接字上发送数据1103。[0194]如果发送是不完全的1104,例如,没有足够的空间来发送数据或者定时器间隔已经过去,则网络管理器将尝试在连接上重新发送数据1107、1103。[0195]如果有足够的空间来发出接收数据1104例如,客户端上的缓冲器等级是足够的,TCP等级是足够的,窗口大小是足够的,更多数据将被发送等),则网络管理器检查以查看是否存在更多的数据要发送1105。如果有更多的数据可用于发送,则网络管理器将套接字放回在定时器队列中以等待下一定时器间隔,来发送更多的数据1108,并计算可以在连接上发送的下一个最大数量的比特1102。另外,网络管理器以定时器间隔结束,并且使下一块数据发送1106。[0196]该过程继续,直到已经发送来自调度器202的一个或多个数据块中的所有数据为止。[0197]在一个可行实施方式中,为了保持AFR,MFD执行以下操作:[0198]1.在网络端口上请求的连接。如果该网络端口的总连接最大容许连接,则拒绝该连接。[0199]2.每个连接仅可以分完所计算的对话带宽。在该实施例中=IGbps该网络端口上的总连接。[0200]3.由于最大对话带宽配置而产生的改进。[0201]a.如果配置最大配置的对话带宽并且所计算的对话带宽最大对话带宽,则将所计算的对话带宽设置为最大配置对话带宽。[0202]b.否则不改变。[0203]4.计算对话AFR。[0204]a.将对话AFR设置为所配置的AFR作为基本建议的AFR。[0205]b.调用服务器侧播放器201用于调节AFR。如果通过服务器侧播放器201返回误差消息,那么关闭对话。[0206]5.由于平衡的AFR计算而产生的改进。[0207]a.如果所计算的对话带宽1.2*AFR,则将所计算的对话带宽设置为1.2*AFR。[0208]b.否则不改变。[0209]6.由于AFR而产生的改进。[0210]a.如果所计算的对话带宽[0361]URI:http:medianokeenacomfoo_p01.fIv[0362]速率:Br2〈kbps[0363]URI:http:medianokeenacomfoo_p02.fIv[0364]速率:Br3〈kbps[0365]URI:http:medianokeenacomfoo_p03.fIv[0366]元数据文件可以包含以下信息块:[0367]-简档流的数量[0368]-每个流的总比特率〈Brkbps[0369]-用于每个流的URI[0370]-关键帧间隔η秒)[0371]以上实施例使用FLV作为一个实例,但也支持MP4。[0372]参考图21,在一个可行实施方式中,预处理引擎准备输入视频数据,以支持如同平滑流的各种特征。预处理包括重新格式化内容并增加特征特定的元数据。[0373]每个特征均具有标签标题,其可以具有该特征所需的所有字段和对其可能需要的数据集的偏移量。该数据可以由文件顶部处的类属标题2102来引导。标题具有关于特征的数量的信息,这些特征在具有其特征标识符的特定元数据文件中得到支持。该信息可以直接被用于快速地移动至所需特征标签并从该特征标签移动至该数据集。[0374]类属标题2102[0378]特征TAG2103,2105[0375][0376][0377][0379][0380]特征标签[0381]平滑流[0382][0385][0383]客户端播放器XML元数据规格[0384]以下示出了用于客户端元数据规格的概要的一个实施例:[0386][0387]3.0实现机制——硬件概述[0388]图6是示出了可以在其上实现本发明的一个实施方式的计算机系统600的结构图。计算机系统600包括总线602或用于传达信息的其他通信机构,以及与总线602相耦接的用于处理信息的处理器604。计算机系统600还包括主存储器606,例如,随机存取存储器RAM或其他动态存储装置,其与总线602接合,用于存储将由处理器604执行的信息和指令。主存储器606还可以用于在执行将由处理器604执行的指令的过程中存储临时变量或其他中间信息。计算机系统600进一步包括只读存储器Φ0Μ608或与总线602耦接以用于存储静态信息和处理器604的指令的其他静态存储装置。提供存储装置610诸如磁盘或光盘),并将它们耦接至总线602,以存储信息和指令。[0389]计算机系统600可以经由总线602而耦接至用于向计算机用户显示信息的显示器612例如,阴极射线管CRT。输入装置614包括字母数字和其他键耦接至总线602以向处理器604传达信息和命令选择。另一种类型的用户输入装置为光标控制616,诸如鼠标、跟踪球,或者,用于向处理器604传达方向信息和命令选择并用于控制显示器612上的光标运动的光标方向键。该输入装置通常在两个轴第一轴例如X和第二轴例如y中具有两个自由度,其允许装置指定平面中的位置。[0390]本发明涉及用于执行本文所描述的技术的计算机系统600的使用。根据本发明的一个实施方式,通过计算机系统600响应于处理器604执行包含在主存储器606中的一个或多个指令的一个或多个序列,而执行这些技术。可以将这些指令从另一机器可读介质(例如,存储装置610读入主存储器606。包含在主存储器606中的指令序列的执行使得处理器604执行本文所描述的处理步骤。在可选实施方式中,可以用硬连线电路代替该处理器或与软件指令相结合,以实现本发明。因此,本发明的实施方式不限于硬件电路和软件的任何特定组合。[0391]本文中所使用的术语“机器可读介质”指的是参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统600所实现的实施方式中,各种机器可读的介质例如均涉及向处理器604提供指令以执行。这种介质可以采用很多形式,包括但不限于存储介质和传输介质。存储介质包括非易失性介质和易失性介质。非易失性介质例如包括诸如存储装置610的光盘或磁盘。易失性介质包括动态存储器,例如主存储器606。传输介质包括包含电线包括总线602的同轴电缆、铜线和光纤。传输介质也可以采用声波或光波的形式,例如那些在无线电波和红外数据通信过程中产生的声波或光波。所有这些介质必须确实使得能够通过将指令读入机器的物理机构来检测由介质所携带的指令。[0392]机器可读介质的一般形式包括例如软盘、软磁盘、硬盘、磁带,或任何其他磁性介质、CD-ROM、任何其他光学介质、穿孔卡、纸带、任何其他具有孔的图案的物理介质、RAM、PR0M,以及EPR0M、FLASH-EPR0M、任何其他存储芯片或盒式磁带,或计算机可读取的任何其他介质。[0393]各种形式的机器可读介质均可以涉及将一个或多个指令的一个或多个序列运送至处理器604以用于执行。例如,指令在初始被承载在远程计算机的磁盘上。远程计算机可以将指令载入其动态存储器中,并使用调制解调器而在电话线上发送指令。计算机系统600本地的调制解调器可以在电话线上接收数据,并使用红外发射器将数据转换成红外信号。红外检测器可以接收承载在红外信号中的数据,并且适当的电路可以在总线602上放置数据。总线602将数据运送至主存储器606,处理器604从该主存储器中进行检索并执行指令。可选地,由主存储器606接收的指令在由处理器604执行之前或之后可以被存储在存储装置610上。[0394]计算机系统600还包括耦合至总线602的通信接口618。通信接口618提供耦接至与本地网络622连接的网络链路620的双向数据通信。例如,通信接口618可以是综合业务数字网络(ISDN卡或调制解调器,以对相应类型的电话线提供数据通信连接。作为另一实施例,通信接口618可以是局域网(LAN卡,以向兼容的LAN提供数据通信连接。还可以实现无线链路。在任何这种实现方式中,通信接口618发送并接收电信号、电磁信号或光信号,它们均携带代表各种类型的信息的数字数据流。[0395]网络链路620典型地通过一个或多个网络向其他数据装置提供数据通信。例如,网络链路620可以通过局域网622对主机624或对由因特网服务提供商(ISP626操作的数据设备提供连接。然后,ISP626通过世界包数据通信网络现在一般叫做“因特网”)628提供数据通信服务。本地网622和因特网628均使用携带数字数据流的电信号、电磁信号或光信号。[0396]计算机系统600可以通过网络、网络链路620和通信接口618发送消息并接收数据包括程序代码)。在因特网实施例中,服务器630可以通过因特网628、ISP626、本地网622和通信接口618发射用于应用程序的所请求的代码。[0397]当接收到代码时,可以通过处理器604来执行所接收的代码,和或将代码存储在存储装置610或其他非易失性存储器中以在以后执行。[0398]4.0实施例[0399]在一个实施方式中,一种方法或一种携带一个或多个指令序列的计算机可读存储介质包括,其中,利用一个或多个处理器执行一个或多个指令序列使得一个或多个处理器执行以下步骤:在服务器处从客户端系统接收对媒体内容的请求;通过服务器将所请求的媒体内容的被编码为第一比特率的部分传送至客户端系统;在服务器处确定:可以将传送所请求的媒体内容的被编码为第一比特率的部分改变为传送所请求的媒体内容的编码为第二比特率的部分;一经确定可以将传送所请求的媒体内容的被编码为第一比特率的部分改变为传送所请求的媒体内容的被编码为所述第二比特率的部分,所述传送步骤就停止将所请求的媒体内容的编码为第一比特率的部分传送至客户端系统,并开始将所请求的媒体内容的被编码为第二比特率的部分传送至客户端系统。[0400]在一个实施方式中,一种方法或计算机可读存储介质还包括:在服务器处确定服务器和客户端系统之间的可用带宽已经改变;其中,可用带宽确定步骤通知传送确定步骤服务器和客户端系统之间的可用带宽已经改变。[0401]在一个实施方式中,一种方法或一种计算机可读存储介质还包括,其中,客户端系统规定第二比特率。[0402]在一个实施方式中,一种方法或一种计算机可读存储介质还包括在客户端系统处接收来自服务器的用于所请求的媒体内容的可用比特率和特征,其中,客户端系统从所接收的可用比特率中选择第二比特率。[0403]在一个实施方式中,一种方法或一种计算机可读存储介质还包括:将多个媒体内容文件存储在与所述服务器通信的至少一个存储装置上;其中,至少一个存储装置包含所请求的媒体内容的被编码为第一比特率的部分和所请求的媒体内容的被编码为第二比特率的部分。[0404]在一个实施方式中,一种方法或计算机可读存储介质还包括:当将所请求的媒体内容的被编码为第二比特率的部分传送至客户端系统时,对所述部分进行编码。[0405]在一个实施方式中,一种方法或一种计算机可读存储介质还包括,其中,传送步骤从所请求的媒体内容中的、已经停止传送所请求的媒体内容的被编码为所述第一比特率的部分的点,开始传送所请求的媒体内容的被编码为第二比特率的部分。[0406]在一个实施方式中,一种方法或一种计算机可读存储介质还包括,其中,传送步骤参考索引找到在所请求的媒体内容中被编码为第二比特率的媒体帧,该媒体帧与其中停止传送所请求的媒体内容的被编码为第一比特率的部分的媒体帧相关联,并且其中,传送步骤从所请求的媒体内容中的被编码为第二比特率的相关联媒体帧,开始传送所请求的媒体内容的被编码为第二比特率的部分。[0407]在一个实施方式中,一种方法或一种计算机可读存储介质还包括:其中,传送步骤在所请求的媒体内容的被编码为第一比特率的媒体部分组块的末尾处停止传送所请求的媒体内容的被编码为第一比特率的部分,并开始从所请求的媒体内容中的被编码为第二比特率的媒体部分组块的起点处传送所请求的媒体内容的被编码为第二比特率的部分,所请求的媒体内容中的被编码为第二比特率的媒体部分组块的起点与所请求的媒体内容的被编码为第一比特率的媒体部分组块的末尾在时间上是连续的。[0408]在一个实施方式中,一种方法或一种计算机可读的存储介质还包括:当将所请求的媒体内容的部分传送至客户端系统时,传送作为所请求的媒体内容的部分的一部分的替代内容。[0409]在一个实施方式中,一种方法或一种计算机可读存储介质还包括,其中,当从原始服务器接收到所请求的媒体内容的被编码为所述第一比特率的部分时,传送步骤传送所请求的媒体内容的被编码为第一比特率的部分。[0410]在一个实施方式中,一种方法或一种计算机可读的存储介质还包括:其中,对从原始服务器接收的被编码为第一比特率的所请求的媒体内容进行排队,以由服务器编码成第二比特率。[0411]在一个实施方式中,一种方法或一种计算机可读存储介质还包括:其中,所请求的媒体内容为音频内容。[0412]在一个实施方式中,一种方法或一种计算机可读存储介质还包括:其中,所请求的媒体内容为视频内容。[0413]在一个实施方式中,一种设备包括:媒体传送请求接收器,在服务器上接收来自客户端的对媒体内容的请求;媒体内容传送子系统,在服务器上将所请求的媒体内容的被编码为第一比特率的部分传送至所述客户端系统;比特率过渡确定子系统,在服务器上确定可以将传送所请求的媒体内容的被编码为第一比特率的部分改变为传送所请求的媒体内容的被编码为第二比特率的部分;一经确定将传送所请求的媒体内容的被编码为第一比特率的部分改变为传送所请求的媒体内容的被编码为第二比特率的部分,媒体内容传送子系统就停止向客户端系统传送所请求的媒体内容的被编码为第一比特率的部分,并开始向客户端系统传送所请求的媒体内容的被编码为第二比特率的部分。[0414]在一个实施方式中,一种设备还包括带宽确定子系统,在服务器上确定服务器和客户端系统之间的可用带宽已经改变;其中,带宽确定子系统通知比特率过渡确定子系统服务器和客户端系统之间的可用带宽已经改变。[0415]在一个实施方式中,一种设备还包括,其中,客户端系统规定第二比特率。[0416]在一个实施方式中,一种设备还包括媒体内容描述接收器,在客户端系统上接收来自服务器的用于所请求的媒体内容的可用比特率和特征;其中,客户端系统从所接收的可用比特率中选择第二比特率。[0417]在一个实施方式中,一种设备还包括与所述服务器通信的用于存储多个媒体内容文件的至少一个存储装置;其中,至少一个存储装置包含所请求的媒体内容的被编码为第一比特率的部分和所请求的媒体内容的被编码为第二比特率的部分。[0418]在一个实施方式中,一种设备还包括,其中,当将所请求的媒体内容的被编码为第二比特率的部分传送至客户端系统时,媒体内容传送子系统对该部分进行编码。[0419]在一个实施方式中,一种设备还包括,其中,媒体内容传送子系统从所请求的媒体内容中的、已经停止传送所请求的媒体内容的被编码为第一比特率的部分的点,开始传送所请求的媒体内容的被编码为第二比特率的部分。[0420]在一个实施方式中,一种设备还包括,其中,媒体内容传送子系统参考索引找到在所请求的媒体内容中的被编码为所述第二比特率编码的媒体帧,所述媒体帧与其中停止传送所请求的媒体内容的被编码为第一比特率的部分的媒体帧相关联,并且其中,媒体内容传送子系统从所请求的媒体内容中的被编码为第二比特率编码的相关联媒体帧开始传送所请求的媒体内容的被编码为第二比特率的部分。[0421]在一个实施方式中,一种设备还包括,其中,媒体内容传送子系统在所请求的媒体内容的被编码为第一比特率的媒体部分组块的末尾处停止传送所请求的媒体内容的被编码为第一比特率的部分,并开始从所请求的媒体内容中的被编码为第二比特率的媒体部分组块的起点处传送所请求的媒体内容的被编码为第二比特率的部分,所请求的媒体内容中的被编码为第二比特率的媒体部分组块的起点与所请求的媒体内容的被编码为第一比特率的媒体部分组块的末尾在时间上是连续的。[0422]在一个实施方式中,一种设备还包括,其中,当将所请求的媒体内容的部分传送至客户端系统时,媒体内容传送子系统传送作为所请求的媒体内容的部分的一部分的替代内容。[0423]在一个实施方式中,一种设备还包括,其中,当从原始服务器接收所请求的媒体内容的被编码为第一比特率的部分时,媒体内容传送子系统传送所请求的媒体内容的被编码为第一比特率的部分。[0424]在一个实施方式中,一种设备还包括,其中,对从原始服务器接收的被编码为第一比特率的所请求的媒体内容进行排队,以由服务器编码成所述第二比特率。[0425]在一个实施方式中,一种设备还包括,其中,所请求的媒体内容为音频内容。[0426]在一个实施方式中,一种设备还包括,其中,所请求的媒体内容为视频内容。[0427]5.0扩展和变形[0428]在上述说明书中,已经参考每个实现方式可能均不同的许多具体细节描述了本发明的实施方式。因此,本发明是什么并且申请人旨在针对本发明的唯一且独有的指标是由本申请产生的这组权利要求,在这些权利要求产生的具体形式下,其包括任何后续的校正。本文中针对包含在权利要求中的术语所清晰阐述的定义,应规定如权利要求中所使用的这些术语的意义。因此,没有限制地,在权利要求中并未清楚叙述的元素、特性、特征、优点或属性不应以任何方式限制这种权利要求的范围。相应地,将说明书和附图均看作是说明性的而不是限制性的。

权利要求:1.一种用于在网络上将可变比特率媒体内容动态地传送至客户端装置的方法,所述方法包括:在服务器装置处接收来自所述客户端装置的对媒体内容的请求;通过所述服务器装置发起将所请求的媒体内容中被编码为第一比特率的部分传送至所述客户端装置;通过所述服务器装置,确定所请求的媒体内容中被编码为所述第一比特率的部分的传送能够被改变为所请求的媒体内容中被编码为第二比特率的部分的传送,所述第二比特率不同于所述第一比特率;通过所述服务器装置接收请求以建立与另一客户端装置的新连接;基于接收所述请求以建立所述新连接、并且基于确定所请求的媒体内容中被编码为所述第一比特率的部分的传送能够被改变为所请求的媒体内容中被编码为所述第二比特率的部分的传送,通过所述服务器装置来确定以改变与所述客户端装置连接的比特率;基于建立所述新连接的请求和改变与所述客户端装置连接的比特率的确定,通过所述服务器装置建立与所述另一客户端装置的所述新连接;通过所述服务器装置并且一经确定以改变与所述客户端装置连接的比特率,就停止将所请求的媒体内容中被编码为所述第一比特率的部分传送至所述客户端装置;以及通过所述服务器装置并且从所请求的媒体内容中停止传送所请求的媒体内容中被编码为所述第一比特率的部分的点,将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置,其中所述媒体内容被逻辑地或物理地分成组块;以及传送所请求的媒体内容中被编码为所述第二比特率的部分包括:在所请求的媒体内容中被编码为所述第一比特率的媒体部分组块的末尾处停止所请求的媒体内容中被编码为所述第一比特率的部分的传送;以及从所请求的媒体内容中被编码为所述第二比特率的媒体部分组块的起点处传送所请求的媒体内容中被编码为所述第二比特率的部分,所请求的媒体内容中被编码为所述第二比特率的媒体部分组块的起点与所请求的媒体内容中被编码为所述第一比特率的媒体部分组块的末尾在时间上是连续的,其中所述服务器装置通过与另一服务器装置进行通信来获取原始服务器的所请求的媒体内容。2.根据权利要求1所述的方法,其中,确定可以将传送所请求的媒体内容中被编码为所述第一比特率的部分改变为传送所请求的媒体内容中被编码为所述第二比特率的部分进一步包括:通过所述服务器装置确定所述服务器装置和所述客户端装置之间的可用带宽已经改变。3.根据权利要求1所述的方法,其中,所述客户端装置规定所述第二比特率,所述方法还包括:通过所述服务器装置将用于所请求的媒体内容的可用比特率和特征传输至所述客户端装置;以及通过所述服务器装置从所述客户端装置接收对来自所传输的可用比特率的所述第二比特率的识别。4.根据权利要求1所述的方法,还包括:将多个媒体内容文件存储在与所述服务器装置通信的至少一个存储装置上;其中,所述至少一个存储装置存储所请求的媒体内容中被编码为所述第一比特率的部分和所请求的媒体内容中被编码为所述第二比特率的部分。5.根据权利要求1所述的方法,还包括:当将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置时,对所述部分进行编码。6.根据权利要求1所述的方法,其中,从所请求的媒体内容中停止传送所请求的媒体内容中被编码为所述第一比特率的部分的点,传送所请求的媒体内容中被编码为所述第二比特率的部分还包括:使用索引找到所请求的媒体内容中被编码为所述第二比特率的媒体帧,所述媒体帧与对应于其中停止传送所请求的媒体内容中被编码为所述第一比特率的部分的点的媒体帧相关联,以及其中,将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置还包括:从所请求的媒体内容中被编码为所述第二比特率的相关联媒体帧传送所请求的媒体内容中被编码为所述第二比特率的部分。7.根据权利要求1所述的方法,其中,将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置还包括:当从所述原始服务器接收到所请求的媒体内容中被编码为所述第一比特率的部分时,传送所请求的媒体内容中被编码为所述第一比特率的部分;以及对所请求的媒体内容的从所述原始服务器接收到的并且被编码为所述第一比特率的部分进行排队,以由所述服务器装置编码成所述第二比特率。8.—种在网络上将可变比特率媒体动态地传送至客户端装置的设备,包括:用于从所述客户端装置接收对媒体内容的请求的装置;用于发起将所请求的媒体内容中被编码为第一比特率的部分传送至所述客户端装置的装置;用于确定所请求的媒体内容中被编码为所述第一比特率的部分的传送能够被改变为传送所请求的媒体内容中被编码为第二比特率的部分的传送的装置,所述第二比特率不同于所述第一比特率;用于接收请求以建立与另一客户端装置的新连接的装置;用于基于接收所述请求以建立所述新连接、并且基于确定所请求的媒体内容中被编码为所述第一比特率的部分的传送能够被改变为所请求的媒体内容中被编码为所述第二比特率的部分的传送,来确定以改变与所述客户端装置连接的比特率的装置;用于基于建立所述新连接的请求和改变与所述客户端装置连接的比特率的确定,建立与所述另一客户端装置的所述新连接的装置,一经确定以改变与所述客户端装置连接的比特率,所述装置进一步用于:停止将所请求的媒体内容中被编码为所述第一比特率的部分传送至所述客户端装置,以及从所请求的媒体内容中停止传送所请求的媒体内容中被编码为所述第一比特率的部分的点,将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置,其中所述媒体内容被逻辑地或物理地分成组块;以及传送所请求的媒体内容中被编码为所述第二比特率的部分的装置进一步用于:在所请求的媒体内容中被编码为所述第一比特率的媒体部分组块的末尾处停止所请求的媒体内容中被编码为所述第一比特率的部分的传送;以及从所请求的媒体内容中被编码为所述第二比特率的媒体部分组块的起点处传送所请求的媒体内容中被编码为所述第二比特率的部分,所请求的媒体内容中被编码为所述第二比特率的媒体部分组块的起点与所请求的媒体内容中被编码为所述第一比特率的媒体部分组块的末尾在时间上是连续的,其中所述服务器装置通过与另一服务器装置进行通信来获取原始服务器的所请求的媒体内容。9.根据权利要求8所述的设备,还包括:用于确定所述设备和所述客户端装置之间的可用带宽已经改变的装置,以及用于通知所述设备和所述客户端装置之间的可用带宽已经改变的装置。10.根据权利要求8所述的设备,其中,所述客户端装置规定所述第二比特率,所述设备还包括:用于将所请求的媒体内容的可用比特率和特征发送至所述客户端装置的装置,其中,所述客户端装置从所述可用比特率中选择所述第二比特率。11.根据权利要求8所述的设备,还包括:用于将多个媒体内容文件存储在至少一个存储装置中的装置,其中,所述至少一个存储装置包含所请求的媒体内容中被编码为所述第一比特率的部分和所请求的媒体内容中被编码为所述第二比特率的部分。12.根据权利要求8所述的设备,还包括用于当将第二媒体内容的部分传送至所述客户端装置时对所请求的媒体内容中被编码为所述第二比特率的部分进行编码的装置。13.根据权利要求8所述的设备,还包括:用于使用索引找到所请求的媒体内容中被编码为所述第二比特率的媒体帧的装置,其中,所述媒体帧与其中停止传送所请求的媒体内容中被编码为所述第一比特率的部分的媒体帧相关联,以及用于从所请求的媒体内容中被编码为所述第二比特率的相关联媒体帧开始传送所请求的媒体内容中被编码为所述第二比特率的部分的装置。14.根据权利要求8所述的设备,其中,用于将所请求的媒体内容中被编码为所述第二比特率的部分传送至所述客户端装置的装置包括:用于当从所述原始服务器接收到所请求的媒体内容中被编码为所述第一比特率的部分时、传送所请求的媒体内容中被编码为所述第一比特率的部分的装置,以及用于对所请求的媒体内容中的从所述原始服务器接收的并且被编码为所述第一比特率的部分进行排队、以编码成所述第二比特率的装置。

百度查询: 瞻博网络公司 可变速率媒体传送系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。