0061]-内部总线B,连接各模块、处理装置以及本领域技术人员公知的用于执行一般驻留网关功能的所有装置。
[0062]如图2B所示,客户终端CT至少包括:
[0063]-—个或多个连接接口1A(有线和/或无线,例如,WiF1、以太网、ADSL、线缆、移动和/或广播(例如,DVB、ATSC)接口);
[0064]-通信模块2A,包含与HTTP服务器SE通信的协议栈。具体地,通信模块2A包括本领域公知的TCP/IP栈。当然,能够是任何其他类型的网络和/或通信装置,使得客户终端CT能够与HTTP服务器SE通信;
[0065]-自适应流传输模块3A,从HTTP服务器SE接收HTTP流传输多媒体内容。自适应流传输模块3A基于来自选择模块8A的信息,不断地选择比特率更好地匹配网络约束及其自身约束的分段;
[0066]-视频播放器4A,适于对多媒体内容进行解码和渲染;
[0067]-一个或多个处理器5A,用于执行客户终端CT的非易失性存储器中存储的应用和程序;
[0068]-存储装置6A,例如,易失性存储器,用于缓冲从HTTP服务器SE接收的分段,之后将这些分段传输至视频播放器4A ;
[0069]-带宽估计器7A,配置为估计传输路径的带宽;
[0070]-选择模块8A,配置为确定客户终端CT可以请求的容许表示的集合。在多媒体内容的给定分段的可用表示(如关联清单中所列)中选择容许表示。具体地,模块8A对给定分段的容许表示集合的确定可以基于一个或若干性能准则(例如,所估计的带宽、客户终端的能力、先前请求的分段的表示、客户终端CT的终端用户需要的体验质量等)。在变型中,选择模块8A可以集成在自适应流传输模块3A内;
[0071]-内部总线B1,连接各模块以及本领域技术人员公知的用于执行一般客户终端功能的所有装置。
[0072]在下文中,假定给定客户终端CT在网络N上发送请求,以获得多媒体内容的给定分段。所述请求指定所述给定分段的第一表示以及一个或多个备选表示,当第一表示在接收请求的智能高速缓存器DANE处不可用时,按照优选顺序浏览该一个或多个备选表示。
[0073]根据优选实施例,智能高速缓存器DANE的通信模块2还配置为,在所述智能高速缓存器DANE没有高速缓存第一表示时(在控制模块5的检查之后)向客户终端CT发送包括以下内容的响应:
[0074]-由智能高速缓存器DANE高速缓存的请求中的备选表示之一;
[0075]-第一附加信息,防止位于智能高速缓存器DANE与客户终端CT之间的任何继承高速缓存器RNE高速缓存(由智能高速缓存器DANE返回的)响应中的备选表示。例如,所述第一附加信息包括在响应的高速缓存器控制首部(例如,Cache-control:no_cache,unless-altlist-capable,其中“altlist”是用于指定请求中分段的备选表示的指示)内;以及
[0076]-第二附加信息,标识所述响应中的该备选表示。作为示例,所述第二附加信息包括在响应的另一首部内,以指示返回的备选表示的URL(例如,X-altlist-locat1n:B, B是所述URL),使得中间智能高速缓存器DANE (位于提供备选表示的所考虑智能高速缓存器DANE与客户终端CT之间)变得认识到传送至客户终端CT的表示。
[0077]当请求的第一表示已经存储在智能高速缓存器DANE中时,将HTTP协议的状态码200(意味着已经成功处理了请求)附到所述智能高速缓存器DANE发送的响应中,在这种情况下不存在所述第一和第二附加信息。
[0078]当智能高速缓存器DANE没有高速缓存所请求的第一表示,而存储了请求中所列的一个备选表示时,同样将状态码200附到智能高速缓存器DANE发送的响应中,在这种情况下,附有第一和第二附加信息。
[0079]由于优选实施例,当返回的表示不是第一表示时,智能高速缓存器DANE发送的响应明确地指示智能高速缓存器DANE已经传送了请求中的哪个备选表示。因此,位于发送响应的智能高速缓存器DANE与客户终端CT之间的任何另一智能高速缓存器DANE能够认识到返回的表示不是第一表示,而是请求中所列的备选表示。此外,智能高速缓存器DANE与客户终端CT之间的继承高速缓存器RNE不会高速缓存该响应,以防止认为备选表示是请求中的第一表示,从而稍后将该备选表示传送至另一客户终端。
[0080]如图3所示,根据所述优选实施例,智能高速缓存器DANE配置为实现以下机制M,向客户终端CT提供HAS多媒体内容的给定分段的所请求表示。
[0081 ] 所述机制Μ包括以下步骤:
[0082]-从客户终端CT接收(步骤S1)接收针对给定分段的第一表示的HTTP请求,所述第一表示属于如前所定义的容许表示集合。该HTTP请求还包括在智能高速缓存器DANE没有高速缓存第一表示的情况下可以请求的备选表示的列表;
[0083]-检查(步骤S2)第一表示是否存储在智能高速缓存器DANE的存储模块9中;
[0084]-在没有高速缓存第一表示的情况下,按照优选顺序浏览(步骤S3)请求中所列的备选表示;
[0085]-当所述高速缓存器DANE没有高速缓存第一表示而是高速缓存了请求中的备选表示时,向客户终端CT发送(步骤S4)包括以下内容的响应:
[0086]籲所述高速缓存的备选表示;
[0087]?第一附加信息,防止在智能高速缓存器DANE与客户终端CT之间的任何继承高速缓存器RNE高速缓存响应中的备选表示;以及
[0088]?第二附加信息,标识该响应中的备选表示。
[0089]当没有高速缓存请求中的备选表示时,智能高速缓存器DANE可以向服务器S释放请求。在变型中,智能高速缓存器DANE可以向客户终端发送消息(例如错误消息)。
[0090]应当理解,在不背离本发明的前提下,可以至少部分地改变步骤S0至S4的顺序。
[0091]在优选实施例的变型中,在智能高速缓存器DANE没有高速缓存所述第一表示的情况下,客户终端CT发送的请求可以仅包括第一表示,而不包括备选表示。在这种情况下,智能高速缓存器DANE的控制模块5还配置为在没有高速缓存第一表示的情况下检查其是否已经高速缓存了分段的一个备选表示(例如,比特率至多等于第一表示的比特率)。当高速缓存了一个备选表示时,通信模块2发送具有所述备选表示的响应。
[0092]应当注意,智能高速缓存器DANE可以集成在代理、网关或任何其他适合的网络设备中。
[0093]附图中的流程图和/或框图示意了根据本发明各个实施例的系统、方法和计算机程序产品的可能实现方式的配置、操作和功能。关于这一点,流程图或框图中的每个框可以表示代码模块、段或部分,包括用于实现指定逻辑功能的一个或多个可执行指令。还应当注意,在一些备选实现方式中,框中标注的功能可以不按照附图中标注的顺序出现。例如,根据所涉及的功能,连续示出的两个框事实上可以实质上并发地执行,或者框有时可以按照相反顺序执行,或者框可以按照备选顺序执行。还应当注意,框图和/或流程