操作高速缓存器的方法以及对应的高速缓存器的制造方法
【技术领域】
[0001] 本发明总体上涉及通过例如但不排他地HTTP(超文本传输协议)的自适应流传 输技术领域,具体涉及对沿着客户终端与远程服务器之间的传输路径布置的高速缓存的操 作。
【背景技术】
[0002] 本节意在向读者介绍相关技术的各个方面,这些方面可以与以下描述和/或要求 保护的本发明的各个方面相关。相信本讨论有助于向读者提供背景信息,以便于更好地理 解本发明的各个方面。因此,应当理解,这些陈述应当据此阅读,而并非作为对现有技术的 认可。
[0003] 通过HTTP的自适应流传输(也称作多比特率切换或HAS)正在迅速成为多媒体内 容分发的主要技术。在已经使用的HTTP自适应流传输协议中,最著名的是来自Apple的 HTTP现场流传输(HLS),来自Microsoft的Silverlight平滑流传输(SSS),来自Adobe的 Adobe动态流传输(ADS)、3GPP以及MPEG开发的通过HTTP的动态自适应流传输(DASH)(标 准化为 ISO/ffiC 23009-1 :2012)。
[0004] 当客户终端希望以自适应流传输的方式播放视听内容(或A/V内容)时,首先必 须得到描述如何能够获得该A/V内容的文件。通常这通过从URL(统一资源定位符)得到 描述文件(所谓的清单(manifest))经由HTTP协议来进行,但是也能够通过其它方式(例 如,广播、电子邮件、SMS等)来实现。预先产生并由远程服务器传送至客户终端的清单基 本上(在比特率、分辨率和其它属性方面)列举了这种A/V内容的可用表示(也称作实例 或版本)。表示与给定质量级别(比特率)相关联。
[0005] 将每个表示的整体数据流划分成等持续时间的分段(segment)(也称作分块 (chunk))(通过分离的URL可访问),这些分段被配置为使得客户终端可以在两个分段之间 平滑地从一个质量级别切换到另一个质量级别。因此,视频质量可以在播放时变化,而几乎 不会中断(也称作冻结)。
[0006] 在客户端侧,基于传输路径的可用带宽的测量来选择分段。具体地,客户终端通常 请求与符合所测量带宽的比特率编码相对应且因此与符合所测量带宽的质量相对应的分 段表示。
[0007] 当高速缓存器沿着客户终端与远程服务器之间的传输路径时,在以下情况下给定 分段的一个表示能够已经存储在所述高速缓存器中:另一客户先前已经请求了具有相同表 示的相同分段,或者内容传递网络(CDN)已经在高速缓存器中供应了该分段。因此,与分段 来自远程服务器的情况相比,对针对所述给定分段的HTTP请求的响应更快,并且可以避免 重复传输,有效地节省了网络和服务器资源。
[0008] 然而,HTTP自适应流传输看起来并非是高速缓存器友好型的(或者,至少与关于 实例H264-SVC的所谓分层基本切换(layered base switching)相比,高速缓存器友好性 要差)。确实,如果第一客户终端请求给定分段的表示R1,第二客户终端(与所述第一客户 终端共享传输路径的一部分和高速缓存器)(按照较高质量或较低质量)请求所述给定分 段的表示R2,则高速缓存器并未命中,导致高速缓存器与服务器之间的网络段上负载较高, 存在引起拥塞的风险。然后完全消除了高速缓存的优点,并且高速缓存器当前不能改进这 种情况。
[0009] 为了克服该缺陷,已知客户终端可以发送针对包括第一(也称作优选)表示和一 个或若干备选表示在内的给定分段的请求。当这样的请求到达HAS感知高速缓存器(HAS aware cache)(意味着所述高速缓存器符合诸如MPEG-DASH等HAS协议)时,所述高速缓 存器在高速缓存了第一表示的情况下传送第一表示,或者在未高速缓存第一表示的情况下 浏览备选表示。当高速缓存了备选表示之一时,高速缓存器向客户终端发送所述备选表示。 当前请求的第一和备选表示都未被高速缓存时,向上游转发请求。
[0010] 然而,存储在高速缓存器中的表示由之前的请求来确定。如果第一客户终端请求 具有表示R的分段,则请求相同分段并且指定表示R作为备选表示的后续客户终端实际上 会接收表示R而不是对应的请求的第一(或优选的)表示。由于后续客户端请求视为由高 速缓存器来处理,所以分段的其它表现不会加载到高速缓存器(除非在不允许R作为备选 表示的情况下一些客户端终端请求不对第一表示进行高速缓存)。如果表示R是低质量表 示(例如因为开始请求给定分段的第一客户终端本身经历了不良网络条件,并且请求最低 质量的表示),在资源和网络状况可以允许处理较高质量时,所有或大部分客户终端可以播 放低质量视频。
[0011] 因此,请求给定的分段的第一客户终端可以影响由高速缓存器向请求相同分段的 后续客户终端提供的响应(并且然后影响质量)。因而,如果第一客户终端很不幸地不代表 大部分客户终端的需求,则在所述大部分终端将受到第一客户终端的请求和行为的影响。
[0012] 本发明至少克服了上述缺点。
【发明内容】
[0013] 本发明涉及用于操作在客户终端与至少一个服务器之间布置的高速缓存器的方 法,所述高速缓存器被配置为从客户终端接收针对多媒体内容的分段的至少第一表示的请 求,所述多媒体内容以多个表示可用,
[0014] 所述方法包括:
[0015] -在第一时间段内从客户终端接收针对给定分段的多个请求,每个请求指定所述 给定分段的一个第一表不和至少一个备选表不;
[0016] -从在第一时间段期间接收的请求的表示中确定所请求的至少一个主相关表示;
[0017] -从远程服务器请求给定分段的所述主相关表示。
[0018] 在符合本发明的实施例中,确定所请求的主相关表示的步骤包括:
[0019] -确定第一时间段期间接收的请求中指定的所述给定分段的每个表示的相关性分 数;
[0020] -选择具有最高相关性分数的表示作为所述给定分段的主相关表示。
[0021] 具体地,与所述给定分段的所请求表示相关联的相关性分数可以对应于所请求表 示在所述由高速缓存器接收的请求中被指定的次数。
[0022] 因此,由于本发明的实施例,高速缓存可以考虑到关于客户端请求的统计数据,以 便向最大数目的客户终端提供例如多媒体内容(例如A/V内容)的总体更好质量,而同时 保持从高速缓存器本身提供的内容的高比例。
[0023] 在所述实施例的其它方面,接收的请求的每个表示具有优先级别,表示被请求的 次数可以通过第一因子加权,所述第一因子取决于所述表示的优先级别。
[0024] 在所述实施例的另一方面,所述方法可以包括:
[0025] -确定是否存在并未请求主相关表示作为第一表示或作为备选表示的一个或多个 其余客户终端;
[0026] -建立所述一个或多个其余客户终端已经请求的表示的列表;
[0027] -基于相关性的分数来确定所建立列表的最辅助相关表示,并且向服务器请求所 述辅助相关表示。
[0028] 此外,所述方法还可以包括当下一个分段的所述主相关表示没有存储在所述高速 缓存中时,从远程服务器请求下一个分段的所述主相关表示。
[0029] 在所述实施例的另一个方面中,方法还可以包括:
[0030] -在第二时间段内对向客户终端发送已经存储在高速缓存器中的每个所请求表示 的次数进行计数,以获得针对每个所请求表示的命中分数,作为第一表示发送给客户终端 的所请求表示的计数方式不同于作为备选表示发送的所请求表示的计数方式;
[0031] -至少删除具有最低命中分数的所存储表示。
[0032] 此外,第一时间段可以开始于给定时刻,并且当高速缓存器已经从客户端接收到 预定义数目的请求时结束。
[0033] 本发明还涉及在客户终端与至少一个服务器之间布置的高速缓存器,所述高速缓 存器被配置为从客户终端接收针对多媒体内容的分段的至少第一表示的请求,所述多媒体 内容以多个表示可用。所述高速缓存器包括:<