用于被递送媒体的灵活缓存的方法和设备的制作方法

文档序号:7993950阅读:206来源:国知局
用于被递送媒体的灵活缓存的方法和设备的制作方法
【专利摘要】描述了选择用于DASH中的灵活缓存的访问方法的各种方法。一种示例方法可以包括:使对片段的主要表示和该片段的一个或多个替代表示中的至少一个的请求被发送给代理缓存。该示例实施例的方法还可以包括:使缓存代理基于缓存代理处的缓存状态用主要表示或替代表示中的至少一个来作出响应。在一些示例实施例中,缓存代理被配置成确定请求是否使替代表示能够被包括在响应中。另外,该示例实施例的方法可以包括:从缓存代理接收片段的主要表示或替代表示中的至少一个。还提供了类似和相关的示例方法、示例设备和示例计算机程序产品。
【专利说明】用于被递送媒体的灵活缓存的方法和设备
【技术领域】
[0001]本发明的实施例一般涉及通信技术,并且更特别地涉及通过基于超文本传输协议(HTTP)的动态自适应流媒体(DASH)接受多个表示的方法和设备。
【背景技术】
[0002]现代通信时代已经带来了有线和无线网络的巨大扩张。在消费者的需求的驱动下,计算机网络、电视网络和电话网络正在经历着前所未有的技术扩展。无线和移动联网技术已经解决了相关的消费者需求,同时为信息传递提供更多的灵活性和即时性。
[0003]当前和未来的联网技术不断地促成信息传递的轻松和对用户的便利。为了提供更简易或更快速的信息传递和便利,电信业服务提供商正在发展对现有网络的改进。在这方面,例如,正在对通用移动电信系统(UMTS)陆地无线接入网(UTRAN)作出改进。此外,例如,当前正在开发演进型UTRAN (E-UTRAN)。E-UTRAN,也被称为长期演进(LTE),目的在于通过提高效率、降低成本、改善服务、利用新的频谱机会、以及提供与其他开放标准的更好的集成,来对现有技术进行升级。
[0004]由于联网技术得到改善,通过因特网进行的可视和可听媒体内容分发的容量持续增大。用户希望通过各种访问方式高效且最优地访问该数量不断增长的媒体内容。一种用于向装置分发媒体内容的新兴标准被称作DASH。DASH标准基于媒体展现结构提供用于分发的媒体内容。然而,DASH的媒体展现结构聚焦于媒体内容而不是客户端可用于访问内容的方法。

【发明内容】

[0005]方法、设备和计算机程序产品在本文中被提供用于添加DASH片段请求的语法,以指示来自其他表示的片段在响应中是被允许的。另外,并且在一些示例实施例中,如本文所述,流客户端设备操作可以按照如下方式修改:流客户端设备授予许可,从而使来自一些其他表示的各个片段作为对片段请求的响应。此外,一些示例实施例可以修改代理操作,使得代理缓存设备可以配置成确定替代片段是否能够被用在响应中,并且在请求片段或任何替代片段可在代理缓存设备中容易地获取的情况下,选择这些片段之一来响应片段请求。
[0006]在一些示例实施例中,提供了一种方法,其包括:使得对片段的主要表示或片段的替代表示中的至少一个的请求被发送给缓存代理。该实施例的方法还可包括:使得缓存代理基于缓存代理处的缓存状态用主要表示或替代表示中的至少一个来响应。在一些示例实施例中,缓存代理被配置成确定请求是否使替代表示能够被包括在响应中。该实施例的方法还可包括:从缓存代理接收片段的主要表示或替代表示中的至少一个。
[0007]在另一个实施例中,提供了一种设备,其包括至少一个处理器和至少一个包括计算机程序代码的存储器,其中至少一个存储器和计算机程序代码被配置成利用至少一个处理器使设备至少使得对片段的主要表示或片段的替代表示中的至少一个的请求被发送给缓存代理。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备使得缓存代理基于缓存代理处的缓存状态用主要表示或替代表示中的至少一个来响应。在一些示例实施例中,缓存代理被配置成确定请求是否使替代表示能够被包括在响应中。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备从缓存代理接收片段的主要表示或替代表示中的至少一个。
[0008]在另一个实施例中,可以提供一种计算机程序产品,其包括至少一个其中存储有计算机可读程序指令的非暂时性计算机可读存储介质,其中计算机可读程序指令包括配置成执行以下操作的程序指令:使得对片段的主要表示或片段的替代表示中的至少一个的请求被发送给缓存代理。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:使得缓存代理基于缓存代理处的缓存状态用主要表示或替代表示中的至少一个来响应。在一些示例实施例中,缓存代理被配置成确定请求是否使替代表示能够被包括在响应中。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:从缓存代理接收片段的主要表示或替代表示中的至少一个。
[0009]而又一个实施例中,提供了一种设备,其包括:用于使得对片段的主要表示或片段的替代表示中的至少一个的请求被发送给缓存代理的装置。该实施例的设备还可包括:用于使得缓存代理基于缓存代理处的缓存状态用主要表示或替代表示中的至少一个来响应的装置。在一些示例实施例中,缓存代理被配置成确定请求是否使替代表示能够被包括在响应中。该实施例的设备还可包括:用于从缓存代理接收片段的主要表示或替代表示中的至少一个的装置。
[0010]在一些示例实施例中,提供了一种方法,其包括:使得请求缓存代理提供可选择的缓存替代表示的统一资源指示符(URI)的请求被发送。该实施例的方法还可以包括:接收用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围。该实施例的方法还可以包括:使得对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求被发送。在一些示例实施例中,资源是基于预定的选择标准请求的。
[0011]在另一个实施例中,提供了一种设备,其包括至少一个处理器和至少一个包括计算机程序代码的存储器,其中至少一个存储器和计算机程序代码被配置成利用至少一个处理器使设备至少使得请求缓存代理提供可选择的缓存替代表示URI的请求被发送。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备接收用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备使得对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求被发送。在一些示例实施例中,资源是基于预定的选择标准请求的。
[0012]在另一个实施例中,可以提供一种计算机程序产品,其包括至少一个其中存储有计算机可读程序指令的非暂时性计算机可读存储介质,其中计算机可读程序指令包括配置成执行以下操作的程序指令:使得请求缓存代理提供可选择的缓存替代表示URI的请求被发送。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:接收用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:使得对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求被发送。在一些示例实施例中,资源是基于预定的选择标准请求的。
[0013]在又一个实施例中,提供了 一种设备,其包括用于使得请求缓存代理提供可选择的缓存替代表示URI的请求被发送的装置。该实施例的设备还可以包括接收用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围的装置。该实施例的设备还可以包括使得对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求被发送的装置。在一些示例实施例中,资源是基于预定的选择标准请求的。
[0014]在一些不例实施例中,提供了一种方法,其包括:接收对片段的主要表不或替代表示中的至少一个的请求。该实施例的方法还可以包括:确定请求是否包括客户端将接受片段的替代表示的指示。该实施例的方法还可以包括:确定与主要表示相关联的主要URI中的至少一个是否被缓存。该实施例的方法还可以包括:在主要URI被缓存的情况下,使得片段的主要表示被发送。该实施例的方法还可以包括:确定与替代表示相关联的替代URI中的至少一个是否被缓存。该实施例的方法还可以包括:在替代URI中的至少一个被缓存并且主要URI未被缓存的情况下,使片段的替代表示被发送。
[0015]在另一个实施例中,提供了一种设备,其包括至少一个处理器和至少一个包括计算机程序代码的存储器,其中至少一个存储器和计算机程序代码被配置成利用至少一个处理器使设备至少接收对片段的主要表示或替代表示中的至少一个的请求。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备确定请求是否包括客户端将接受片段的替代表示的指示。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备确定与主要表示相关联的主要URI中的至少一个是否被缓存。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器在主要URI被缓存的情况下,使得片段的主要表示被发送。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备确定与替代表示相关联的替代URI中的至少一个是否被缓存。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备在替代URI中的至少一个被缓存并且主要URI未被缓存的情况下,使片段的替代表示被发送。
[0016]在另一个实施例中,可以提供一种计算机程序产品,其包括至少一个其中存储有计算机可读程序指令的非暂时性计算机可读存储介质,其中计算机可读程序指令包括配置成执行以下操作的程序指令:接收对片段的主要表示或替代表示中的至少一个的请求。计算机可读程序指令还可以包括被配置成执行以下操作的程序指令:确定请求是否包括客户端将接受片段的替代表示的指示。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:确定与主要表示相关联的主要URI中的至少一个是否被缓存。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:在主要URI被缓存的情况下,使得片段的主要表示被发送。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:确定与替代表示相关联的替代URI中的至少一个是否被缓存。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:在替代URI中的至少一个被缓存并且主要URI未被缓存的情况下,使片段的替代表示被发送。
[0017]在又一个实施例中,提供了一种设备,其包括用于接收对片段的主要表示或替代表示中的至少一个的请求的装置。该实施例的设备还可以包括用于确定请求是否包括客户端将接受片段的替代表示的指示的装置。该实施例的设备还可以包括用于确定与主要表示相关联的主要URI中的至少一个是否被缓存的装置。该实施例的设备还可以包括用于在主要URI被缓存的情况下,使得片段的主要表示被发送的装置。该实施例的设备还可以包括用于确定与替代表示相关联的替代URI中的至少一个是否被缓存的装置。该实施例的设备还可以包括用于在替代URI中的至少一个被缓存并且主要URI未被缓存的情况下,使片段的替代表示被发送的装置。
[0018]在一些示例实施例中,提供了一种方法,其包括:接收对片段的主要表示或替代表示中的至少一个的请求。该实施例的方法还可以包括:确定该请求是否包括客户端将接受片段的替代表示的指示。该实施例的方法还可以包括:使得用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围被发送。该实施例的方法还可以包括:接收对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求。
[0019]在另一个实施例中,提供了一种设备,其包括至少一个处理器和至少一个包括计算机程序代码的存储器,其中至少一个存储器和计算机程序代码被配置成利用至少一个处理器使设备至少接收对片段的主要表示或替代表示中的至少一个的请求。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备确定该请求是否包括客户端将接受片段的替代表示的指示。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备使得用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围被发送。至少一个存储器和计算机程序代码还可以被配置成利用至少一个处理器使设备接收对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求。
[0020]在另一个实施例中,可以提供一种计算机程序产品,其包括至少一个其中存储有计算机可读程序指令的非暂时性计算机可读存储介质,其中计算机可读程序指令包括配置成执行以下操作的程序指令:接收对片段的主要表示或替代表示中的至少一个的请求。计算机可读程序指令还可以包括被配置成执行以下操作的程序指令:确定该请求是否包括客户端将接受片 段的替代表示的指示。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:使得用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围被发送。计算机可读程序指令还可以包括配置成执行以下操作的程序指令:接收对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求。
[0021]在又一个实施例中,提供了一种设备,其包括用于接收对片段的主要表示或替代表示中的至少一个的请求的装置。该实施例的设备还可以包括用于确定该请求是否包括客户端将接受片段的替代表示的指示的装置。该实施例的设备还可以包括:使得用于代理驱动的内容协商的可选择的缓存替代表示的URI的列表和范围被发送的装置。该实施例的设备还可以包括:接收对用于代理驱动的内容协商的可选择的缓存替代表示的资源的请求的
>j-U ρ?α装直。
[0022]提供上述概要仅是用于总结本发明的一些示例实施例,从而提供对本发明的一些方面的基本理解。因此,应当理解的是,上述示例实施例仅仅是示例,并且不应该被解释为以任何方式缩小本发明的范围或精神。应当理解的是,除了那些在这里总结的实施例之外,本发明的范围还涵盖许多潜在的实施例,其中的一些将在下文进一步描述。
【专利附图】

【附图说明】
[0023]已经用一般术语这样描述了本发明的一些示例实施例,现在将参考附图,其不一定按比例绘制,并且其中:
[0024]图1示出根据本发明的一些示例实施例的用于接受DASH的多个表示的系统的框图;[0025]图2示出代表根据本发明的一些示例实施例的流客户端设备的一个实施例的移动终端的框图;
[0026]图3示出根据本发明的一些示例实施例的设备的框图;
[0027]图4a和4b示出客户端的示例表示波动;
[0028]图5示出根据本发明的一些示例实施例的用于服务器驱动的内容协商的流客户端设备的操作的示例方法的流程图;
[0029]图6a和6b示出根据本发明的一些示例实施例的用于代理驱动的内容协商的流客户端设备的操作的示例方法的流程图;
[0030]图7示出根据本发明的一些示例实施例的用于服务器驱动的内容协商的代理缓存设备的操作的示例方法的流程图;
[0031]图8示出根据本发明的一些示例实施例的用于代理驱动的内容协商的代理缓存设备的操作的示例方法的流程图;
[0032]图9示出根据本发明的一些示例实施例的用于服务器驱动的内容协商的流客户端设备的操作的示例方法的流程图;
[0033]图10示出根据本发明的一些示例实施例的用于代理驱动的内容协商的流客户端设备的操作的示例方法的流程图;
[0034]图11示出根据本发明的一些示例实施例的用于服务器驱动的内容协商的代理缓存设备的操作的示例方法的流程图;并且
[0035]图12示出根据本发明的一些示例实施例的用于代理驱动的内容协商的代理缓存设备的操作的示例方法的流程图。
【具体实施方式】
[0036]现在将在下文中参照附图对本发明的示例实施例进行更充分地描述,所述附图示出一些但不是所有的本发明的实施例。实际上,本发明可以以许多不同的形式来实施,并且不应该被解释为限制于本文提到的实施例;相反地,提供这些实施例使得本公开将满足适用的法律规定。在说明书中相同的附图标记始终指的是相同的元素。
[0037]根据本发明的一些示例实施例,术语“数据”、“内容”、“信息”及类似术语可以可互换地使用,以指代能够被发送、接收、操作、显示、和/或存储的数据。因此,任何此类术语的使用都不应该被认为是限制本公开的精神和范围。另外,对于本文描述的一个计算设备从另一个计算设备接收数据的情况,应理解的是,数据可以从另一个计算设备直接接收,或者可以通过一个或多个中间计算设备(例如,一个或多个服务器、中继器、路由器、网络接入点、基站、和/或类似物)间接地接收。
[0038]如本文使用的术语“计算机可读介质”指的是被配置成参与提供信息(包括用于执行的指令)至处理器的任何介质。该介质可以采取许多形式,包括但不限于非暂时性计算机可读存储介质(例如,非易失性介质、易失性介质)、和传输介质。传输介质包括:例如,同轴电缆、铜线、光纤电缆、以及无需导线或电缆便可穿越空间的载波,例如声波和电磁波,包括无线电波、光波和红外波。信号包括通过传输介质传输的振幅、频率、相位、偏振或其他物理特性的人为瞬态变化。非暂时性计算机可读介质的实例包括软盘、柔性盘、硬盘、磁带、任何其他非暂时性的磁介质、紧凑盘只读存储器(CD-ROM)、可擦写紧凑盘(CD-RW)、数字多功能盘(DVD)、蓝光、任何其他非暂时性的光学介质、穿孔卡、纸带、光标记图(optical marksheet)、具有孔或其它光可识别标记的图案的任何其他物理介质、随机存取存储器(RAM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、闪存EPR0M、任何其他存储芯片或盒、载波、或计算机可读取的任何其他非暂时性介质。当在本文中使用时,术语计算机可读存储介质指的是除了传输介质之外的任何计算机可读介质。然而,应理解的是,对于实施例被描述成使用计算机可读存储介质的情况,可以使用其他类型的计算机可读介质作为替代,或者除了替代实施例中的计算机可读存储介质之外还使用其他类型的计算机可读介质。
[0039]如本文使用的术语“电路”指的是下述的全部:(a)纯硬件电路实现(例如仅在模拟和/或数字电路中实现);(b)电路和计算机程序产品的组合,其中计算机程序产品包括软件(和/或存储在一个或多个计算机可读存储器中的固件指令),例如(如果适用的话):
(i)处理器的组合、或(ii)处理器/软件(包括数字信号处理器)、软件和存储器的一部分,它们一起工作以使设备(例如移动电话或服务器)执行本文所描述的各种功能;以及(c)电路,例如,微处理器或微处理器的一部分,其需要软件或固件进行操作,即使软件或固件在物理上不存在。
[0040]“电路”的该定义适用于本申请中的该术语的全部使用,包括在任何权利要求中对该术语的使用。再举一个实例,如在本申请中使用的术语“电路”还涵盖仅一个处理器(或多个处理器)、或者处理器及其随附软件和/或固件的一部分的实现方式。例如并且如果适用于特定的权利要求元素的话,术语“电路”还涵盖:用于移动电话的基带集成电路或应用处理器集成电路,或者用在服务器、蜂窝网络设备、其他网络设备、和/或其它计算设备中的类似集成电路。
[0041 ] 各种DASH标准(例如,3GPP DASH、MPEG DASH等等)定义媒体展现的格式。媒体展现可以包括一系列一个或多个连续时段。每个时段可以包括媒体内容的一个或多个表示,其通常由于编码选择(例如,比特率、分辨率、语言、编解码器等等)而不同。表示可以包括一个或多个媒体成分,使得每个媒体成分定义特定媒体类型(例如,音频、视频、定时文本等等)的编码版本。每个表示可以包括一个或多个媒体片段,每个媒体片段可以包含与媒体展现的媒体内容相关的媒体数据和/或元数据。每个媒体片段可以通过唯一的HTTP统一资源定位符(URL)来引用,在一些情况下,HTTP URL可以由字节范围来限制。媒体展现的各种表示可以被分配给一个或多个自适应集,使得同一个自适应集中的表示是彼此的替代并且可以基于与下载和回放相关联的多个因素(例如,可用带宽、访问时间等等)在媒体展现的下载和回放期间被自动切换。
[0042]通常,媒体展现是通过媒体展现描述(MPD)来表示和描述的,MPD还可以称作播放列表文件、清单文件、或流清单文件。例如,媒体展现可以通过MPD表示,所述MPD被定义为根据特定可扩展标记语言(XML)模式被良好格式化的XML文档。基于DASH标准,MPD以及相关的媒体展现可以基于各种类型的分发方法进行访问。例如,由MPD定义的媒体展现可以通过单播(例如,通过分组交换流媒体(PSS)服务)、多播(例如,多媒体广播多播服务(MBMS))、和广播(例如,通过数字视频广播-手持(DVB-H)、MBMS等等)连接来访问。
[0043]在一些示例实施例中并且在仅提供一个表示用于通过DASH递送的特定媒体剪辑的情况下,则在客户端播放出整个视频剪辑之后,缓存代理(其是分发网络的一部分)通常已经缓存了其所有的片段。缓存代理服务器是充当用于来自客户端的寻求资源的请求的中介,并且还通过检索从相同客户端或者甚至其他客户端做出的前一个请求所保存的内容来加速服务请求的服务器。然而,由于DASH支持速率自适应,客户端可以配置成动态请求不同表示的不同片段。因此,来自多个表示的片段可以被缓存代理缓存,并且每个缓存的表示的缓存片段不太可能形成完整的表示。
[0044]多个不完整表示的缓存可以导致客户端对于不同片段的片段提取时间的变化。片段提取时间表示客户端从请求片段到接收到该片段的最后一个字节的时间段。例如,相比于取回未缓存在代理中的片段,客户端取回缓存在代理中的片段所消耗的时间要少得多。变化的片段提取时间可以进一步导致缓冲媒体时间的变化。速率自适应算法可以利用片段提取时间或缓冲媒体时间或这两者来确定切换升高或切换降低表示水平(其中该表示水平代表自适应集内的媒体比特率的水平,例如,其可以通过量化和/或空间分辨率和/或时间分辨率来进行控制)。因此,即便分发网络中的吞吐量不改变并且因此没有理由改变表示水平,由于变化的片段提取时间取决于是哪个代理服务器或始发服务器响应于片段请求,因而客户端可以改变表示水平。
[0045]术语主要表示和次要表示在本文中可以被用于分别表示最高的优选表示和替代表示,其中最高的优选表示和替代表示中的每一个可以与偏好(preference)相关联。在一些实施例中,主要表示可以被认为是与DASH中常规使用的表示相同。如本文所述,次要表示和替代表示可以可互换地使用。类似于与表示相关的术语,主要片段和次要片段被用于指示分别属于主要表示和次要表示的片段。另外,次要片段可以具有与各个主要片段相同的开始时间和片段持续时间,并且次要片段和各个主要片段应当属于同一自适应集中的不同表示。
[0046]术语“用户代理”被用来指发起请求的程序,例如配置成在流客户端设备上操作的WWW浏览器、编辑器、或爬行器(穿越网络的机器人),并且术语“起源服务器”可以被用来指能够发起对请求的权威响应的程序。
[0047]图4a和4b示出实例以展示客户端的表示波动的问题。在本例中,假设内容提供者提供四个表示,并且每个表示由十个具有相同片段持续时间的片段组成。如图4a所示,四个表示由代理缓存,并且每个表示被不完全地缓存。对于表示I (212),片段#1 (201)、#2 (202)、#3 (203)、#4 (204)、#5 (205)和#6 (206)被缓存,并且未在212中示出的表示I的其他片段未被缓存。通常,内容提供者可以提供更多数量的表示,以实现细粒度的速率自适应。由于客户端可以在所提供的表示之间自适应地切换,因此缓存完整的表示、缓存完整的自适应集、缓存完整的组、缓存完整的时段、以及完整的媒体剪辑可能会消耗一定的时间。
[0048]以举例的形式并且参照图4a和4b所示,代理从客户端接收GET (获得)表示I的片段#1的请求(221),并且将表示I的缓存片段#1 (201)发送给客户端(222)。片段#1提取时间在223中示出。对于第二片段,代理接收GET表示2的片段#2 (224),代理将表示2的缓存片段#2 (207)发送给客户端(225)。片段提取时间#2在226中示出。代理从流客户端接收GET表示2的片段#3的请求(227),并且在228和229中从远程位置(在本例中,例如流服务器)提取表示2的片段#3。然后代理将表示2的片段#3发送给客户端(230)。片段#3提取时间在231中示出。片段#3提取时间(231)比片段提取时间#2 (226)长得多,这可以导致客户端使用速率自适应算法切换降低表示水平,例如使用以下文献中的速率自适应方法:Chenghao Liu, Imed Bouazizi and Moncef Gabbouj, “Rate adaptation foradaptive HTTP streaming”,Proceedings of ACM MMSys2011,通过引用将其结合在本文中。代理从客户端接收GET表示I的片段#4(232),代理将表示I的缓存片段#4 (204)发送给客户端(233)。由于片段#4是使用相对较短的持续时间提取的,如234中所示,客户端可以在接收到片段#4之后再次切换提高表示水平。因此,表示水平可能在不同的表示水平之间波动,而不是收敛到一个表示水平,如图4b所示,因为客户端依次从代理和远程流服务器提取片段。另外,由于起源服务器和代理缓存之间的受限制的带宽和相对长的往返时间(RTT)(特别是当起源服务器相对于DASH客户端位于海外时),不正确地切换提高表示水平可能会导致DASH客户端处的频繁回放中断。基于速率自适应方法的缓冲的媒体时间可以被用于使片段提取时间的变化变平滑。然而,由于代理中丢失若干个连续的片段并且缓存若干个连续的片段,可能会导致缓冲的媒体时间的高变化,并且可能会导致缓冲器耗尽。另外,基于速率自适应方法的缓冲媒体时间可能会降低速率自适应速度,这可能会进一步导致缓冲器耗尽。对于用于通过代理缓存实现的DASH的基于片段提取时间和基于缓冲媒体时间的速率自适应方法,由于起源服务器和代理缓存之间的受限制的带宽和相对长的往返时间(RTT)、以及不正确的速率自适应,DASH客户端可能会频繁地遭受回放中断。
[0049]在本文中提供方法、设备和计算机程序产品用于附加DASH片段请求的语法,以指示来自其他表示的片段在响应中是被允许的。如本文所述,一些其他的示例实施例可以配置成以这样的方式修改流客户端设备的操作,使得其授予许可从而使来自一些其他表示的各个片段作为对片段请求的响应。另外的一些示例实施例可以修改代理操作,使得代理缓存设备可以配置成确定替代片段是否可以被用在响应中,并且在请求片段或任何替代片段可在代理缓存设备中容易地获取的情况下,选择这些片段之一来响应片段请求。
[0050]以前,由特定URL识别的特定单一片段(或者更一般地说,单一资源)可以利用一个HTTP GET请求进行请求。也就是说,并不指示其他片段(来自其他表示)这样的替代物或选项。因此,代理无法以替代资源来响应请求。使用本文描述的系统和方法,代理可以配置成以主要表示或替代表示响应请求,因此,例如,总的网络流量以及对起源服务器的访问数量可以减少。另外,例如,客户端经历的平均响应时间可以减小,因为更可能的是代理能够响应请求。因此,DASH客户端(例如流客户端设备)可能会作出更少的由于延迟到达的片段而导致的不正确速率自适应决定,并且还可能面对更少的由于同一原因导致的回放中断。
[0051]现在参照图1,图1示出根据示例实施例的用于接受DASH的多个表示的系统100的框图。应理解的是,系统100以及其他图中的展示各自被提供作为一些实施例的实例,并且不应被解释为以任何方式缩小本公开的范围或精神。在这方面,除了那些本文示出的和描述的实施例,本公开的范围涵盖许多潜在的实施例。因此,尽管图1示出用于接受DASH的多个表示的系统的配置的一个实例,但是许多其他配置也可以用于实现本发明的实施例。
[0052]系统100可以包括一个或多个流客户端设备102 (也被称为作DASH客户端、用户代理等等),一个或多个代理缓存设备104 (也被称为代理),和/或一个或多个服务网络设备108。系统100还可以包括网络106。网络106可以包括一个或多个有线网络,一个或多个无线网络,或者它们的组合。例如,网络106可以包括用于一个或多个流客户端设备102和/或多个代理缓存设备104的服务网络(例如,服务蜂窝网络)。在一些实施例中,网络106可以包括一个或多个流客户端设备102,一个或多个代理缓存设备104,和/或一个或多个服务网络设备108自身。根据示例实施例,网络106可以包括因特网。在一些实施例中,网络106可以包括内容递送网络(⑶N),其也可以称作内容分发网络。在各个实施例中,网络106可以包括有线接入链路,例如,其利用数字用户线(DSL)技术将一个或多个流客户端设备102或者一个或多个代理缓存设备104连接到网络106的剩余部分。在一些实施例中,网络106可以包括公共陆地移动网络(例如,蜂窝网络),例如可以由网络运营商(例如,蜂窝接入提供商)实现。网络106可以根据以下标准操作:通用陆地无线接入网(UTRAN)标准,演进型UTRAN (E-UTRAN)标准,第三代合作伙伴计划(3GPP) LTE (也被称为LTE-A)标准的当前和未来实现方式,国际电信联盟(ITU)国际移动电信-高级(MT-A)系统标准的当前和未来实现方式,和/或类似物。然而,应理解的是,尽管本文对网络标准和/或特定于网络标准的术语做出引用,但是该引用仅以举例的方式给出,而不是限制的方式。
[0053]根据各个实施例,一个或多个流客户端设备102可以配置成直接与一个或多个服务网络设备108连接,例如通过空中接口而不通过网络106的一个或多个元件对通信进行路由。可替换地或者附加地,一个或多个流客户端设备102可以配置成通过网络106与一个或多个服务网络设备108通信。在这方面,服务网络设备108可以包括网络106的一个或多个节点。例如,在一些示例实施例中,服务网络设备108可以至少部分体现在一个或多个包括网络106的无线接入网(RAN)部分的元件的计算装置上。在这方面,例如,服务网络设备108可以至少部分体现在网络106的接入点上(例如,宏蜂窝、微蜂窝、微微蜂窝、毫微微蜂窝、封闭用户群组(CSG)蜂窝、基站、基站收发台(BTS)、节点B、演进型节点B、接入点(AP)、群组所有者、网格站(STA)、网格点、和/或类似物),例如,其可以配置成把对网络106的接入(例如,经由无线电上行链路)提供给一个或多个流客户端设备102。在一些实施例中,服务网络设备108可以包括接入网发现和选择功能(ANDSF),和/或类似物。因此,每个服务网络设备108可以包括一个网络节点或多个网络节点,所述多个网络节点被共同配置成执行关于本文公开的各示例实施例描述的一个或多个归因于服务网络设备108的操作。
[0054]可替换地或者附加地,根据一些示例实施例,一个或多个流客户端设备102可以配置成与一个或多个代理缓存设备104连接。在此类实施例中,一个或多个代理缓存设备104可以按照与关于上述一个或多个流客户端设备102所描述的方式相同或类似的方式,与一个或多个服务网络设备108通信。
[0055]根据各个实施例,系统100可以根据用于提供媒体内容的分配的架构进行配置。在这方面,系统100可以被配置为HTTP流系统。例如,系统100可以配置成分配一个或多个由DASH标准定义的媒体展现,所述DASH标准例如是3GPP DASH(3GPP技术规范26.246)或运动图像专家组(MPEG)DASH(IS0/IEC国际标准23009-1),通过引用将这两者结合在本文中。
[0056]根据各个实施例,系统100可以配置成实现服务器驱动的替代表示方法,例如流客户端设备102可以使代理缓存设备104取决于代理缓存设备104的缓存状态而以主要表示或替代表示来响应HTTP请求。根据各个实施例,系统100还可以配置成实现代理驱动的替代表示方法,例如流客户端设备102可以使代理缓存设备104提供缓存的替代资源的统一资源指示符(URI)以供选择。在从代理缓存设备104接收到信令时,流客户端设备102可以请求用于代理驱动的内容协商的最佳资源。[0057]在一些示例实施例中,如本文所述的替代表示可以代表由代理缓存设备104缓存的表示,其被流客户端设备102接受作为所请求的主要表示的替代物。另外,用于替代表示的信令在流客户端设备102和代理缓存设备104之间发生。
[0058]在下面的各个实施例中,以片段请求语法提供替代URL、表示、资源、或类似物的列表。该列表可以是无序的,即流客户端设备102可以在其希望在响应中接收到列表成员中的哪一个(一些)方面,不具有指示的偏好。可替换地,列表可以是有序的,即可以偏向于接收到列表中的特定项目,而不是列表中该特定项目之后的任何项目。可替换地,列表可以是有序项目和无序项目的组合,其中指示出特定的列表项目是否以相对于其他有序项目的优先级顺序被列出,或者特定列表项目在列表中的放置是否指示出相对于其他列表项目不具有偏好。可替换地,列表项目之间的偏好可以被明确地指示,例如通过给出或推导出每个列表项目的优先级值。如果客户端不具有各个列表项目之间的偏好,则可以使用相同的优先级值。
[0059]可替换地或者附加地,一些实施例的系统100可以包括服务器驱动的内容协商,其中流客户端设备102在HTTP GET请求中指示其偏好,并且代理缓存设备104选择适合流客户端的需求和偏好的资源。在代理驱动的内容协商中,代理缓存设备104可以用许多替代URI来响应,其中客户端可以从这些替代URI中选出适合其需求的最佳URI。
[0060]流客户端设备102可以具体化为任何计算装置,例如,台式电脑、笔记本电脑、移动终端、移动计算机、移动电话、移动通信装置、平板电脑装置、游戏装置、数码相机/摄录机、音频/视频播放器、电视装置、无线电接收机、数字视频录像机、定位装置、手表、便携式数字助理(PDA)、固定的收发机装置(例如,附接到交通信号灯、能量表、灯泡、和/或类似物)、芯片组、包括芯片组的设备、它们的任何组合、和/或类似物。
[0061]在一些示例实施例中,流客户端设备102可以具体化为移动终端,例如图2中示出的移动终端。在这方面,图2示出代表流客户端设备102的一个实施例的移动终端10的框图。然而,应理解的是,在图中示出并且在下文描述的移动终端10仅举例说明一种类型的可以实现和/或受益于各个实施例的计算装置(即流客户端设备102),因此不应该被理解为限制本公开的范围。尽管电子装置的若干个实施例已经被示出并且将在下文中出于举例的目的进行描述,但是其他类型的电子装置(例如移动电话、移动计算机、便携式数字助理(PDA)、寻呼机、膝上型计算机、台式计算机、游戏装置、电视)以及其他类型的电子系统可以采用本发明的各种实施例。
[0062]如图所示,移动终端10可以包括与发射机14和接收机16通信的天线12(或多个天线12)。移动终端10还可以包括处理器20,该处理器20被配置成提供信号到发射机以及从接收机接收信号。例如,处理器20可以具体化为各种包括电路的装置、一个或多个具有随附数字信号处理器的微处理器、一个或多个不具有随附数字信号处理器的处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括集成电路(例如ASIC(专用集成电路)或FPGA(现场可编程门阵列))的各种其他处理元件、或它们的一些组合。因此,尽管在图2中被示出为单个处理器,但是在一些示例实施例中,处理器20可以包括多个处理器。由处理器20发送和接收的这些信号可以包括依照可适用的蜂窝系统的空中接口标准的信令信息、和/或任何数量的不同有线或无线联网技术,包括但不限于W1-Fi,无线本地接入网络(WLAN)技术例如蓝牙?(BT),超宽带(UffB),电气和电子工程师协会(IEEE)802.11,802.16,和/或类似物。另外,这些信号可以包括语音数据、用户生成的数据、用户请求的数据、和/或类似物。在这方面,移动终端可以能够以一种或多种空中接口标标准、通信协议、调制类型、接入类型、和/或类似物进行操作。更特别地,移动终端可以能够依照各种第一代(IG)、第二代(2G)、2.5G、第三代(3G)通信协议、第四代(4G)通信协议、因特网协议多媒体子系统(IMS)通信协议(例如,会话发起协议(SIP))、和/或类似物进行操作。例如,移动终端可以能够依照2G无线通信协议IS-136(时分多址(TDMA))、全球移动通信系统(GSM)、IS-95 (码分多址(CDMA))、和/或类似物进行操作。此外,例如,移动终端可以能够依照2.5G无线通信协议通用分组无线业务(GPRS)、增强型数据GSM环境(EDGE)、和/或类似物进行操作。另外,例如,移动终端可以能够依照3G无线通信协议例如通用移动电信系统(UMTS)、码分多址2000 (CDMA2000)、宽带码分多址(WCDMA)、时分同步码分多址(TD-SCDMA)、和/或类似物进行操作。移动终端可以附加地能够依照3.9G无线通信协议例如长期演进型(LTE)或演进型通用陆地无线接入网(E-UTRAN)和/或类似物进行操作。另外,例如,移动终端可以能够依照第四代(4G)无线通信协议例如高级LTE和/或类似物以及将来可以开发出的类似无线通信协议进行操作。
[0063]一些窄带高级移动电话系统(NAMPS)、以及全接入通信系统(TACS)移动终端也可以受益于本发明的实施例,如双模式或更高模式的电话(例如,数字/模拟或TDMA/CDMA/模拟电话)受益于本发明的实施例那样。此外,移动终端10可以能够根据W1-Fi或全球微波接入互操作性(WiMAX)协议来操作。
[0064]应理解的是,处理器20可以包括用于实现移动终端10的音频/视频和逻辑功能的电路。例如,处理器20可以包括数字信号处理器装置、微处理器装置、模拟-数字转换器、数字-模拟转换器、和/或类似物。根据这些装置各自的功能,移动终端的控制和信号处理功能可以在这些装置之间进行分配。处理器可以额外包括内部语音编码器(VC) 20a、内部数据调制解调器(DM) 20b、和/或类似物。此外,处理器可以包括操作一个或多个软件程序的功能,其中软件程序可以存储在存储器中。例如,处理器20可以能够操作连接程序,例如网页浏览器。连接程序可以允许移动终端10根据诸如无线应用协议(WAP)、超文本传输协议(HTTP)、和/或类似物的协议发送和接收网络内容,例如基于位置的内容。移动终端10可以能够使用传输控制协议/因特网协议(TCP/IP)来跨越因特网或其他网络发送和接收网络内容。
[0065]移动终端10还可以包括用户接口,其包括例如耳机或扬声器24、振铃器22、麦克风26、显示器28、用户输入接口、等等,它们可以可操作地耦合到处理器20。在这方面,处理器20可以包括用户接口电路,其被配置成控制用户接口的一个或多个元件的至少一些功能,例如控制扬声器24、振铃器22、麦克风26、显示器28、等等的至少一些功能。处理器20和/或包括处理器20的用户接口电路可以配置成通过存储在可由处理器20访问的存储器(例如,易失性存储器40、非易失性存储器42、和/或类似物)上的计算机程序指令(例如,软件和/或固件),来控制用户接口的一个或多个元件的一个或多个功能。尽管未示出,移动终端可以包括用于向与移动终端相关的各种电路(例如,提供机械振动作为可检测输出的电路)供电的电池。用户输入接口可以包括允许移动终端接收数据的装置,例如键盘30、触摸显示器(未示出)、操纵杆(未示出)、和/或其它输入装置。在包括键盘的实施例中,键盘可以包括数值(0-9)和相关键(#,*),和/或用于操作移动终端的其他键。[0066]如图2所示,移动终端10还可以包括一个或多个用于共享和/或获取数据的装置。例如,移动终端可以包括短距离射频(RF)收发机和/或询问器64,使得可以根据RF技术与电子设备共享数据和/或从电子设备获取数据。移动终端可以包括其他短距离收发机,例如红外(IR)收发机66、使用由蓝牙?特别兴趣组开发的蓝牙?品牌无线技术进行操作的蓝f?(BT)收发机68、无线通用串行总线(USB)收发机70和/或类似物。蓝牙?收发机68可以能够根据低功耗/能耗或超低功耗/能耗蓝牙?技术(例如,Wibree?)无线电标准来操作。在这方面,移动终端10并且特别是短距离收发机可以能够发送数据至移动终端的近距离之内(例如在10米之内)的电子装置和/或从该电子装置接收数据。尽管未示出,移动终端可以能够根据各种无线联网技术(包括6LoWpan,W1-Fi, W1-Fi低功耗,WLAN技术例如IEEE802.11技术、IEEE802.15技术、IEEE802.16技术、和/或类似物)从电子装置发送和/或接收数据。
[0067]移动终端10可以包括存储器,例如可移除或不可移除的用户身份模块(SM)38、软SM38、固定SM38、可移除或不可移除的通用用户身份模块(USM) 38、软USM38、固定USIM38、可移除用户身份模块(R-UIM)、和/或类似物,它们可以存储与移动用户相关的信息元素。除了 SIM之外,移动终端还可以包括其他可移除和/或固定的存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。例如,易失性存储器40可以包括随机存取存储器(RAM),其包括动态和/或静态RAM、片上或片外高速缓冲存储器、和/或类似物。可以嵌入和/或移除的非易失性存储器42可以包括例如只读存储器、闪速存储器、磁存储装置(例如,硬盘、软盘驱动器、磁带等等)、光盘驱动器和/或介质、非易失性随机存取存储器(NVRAM)、和/或类似物。类似的易失性存储器40和非易失性存储器42可以包括用于数据的临时存储的高速缓存区。存储器可以存储一个或多个软件程序、指令、信息、数据、和/或类似物,它们可以被移动终端用来执行移动终端的功能。例如,存储器可以包括能够唯一地标识移动终端10的标识符,例如国际移动设备标识(IMEI)码。
[0068]现在参照图3,图3示出根据示例实施例的设备300的框图。在示例实施例中,流客户端设备102、代理缓存设备104、和/或服务网络设备108可以实现在设备300中或者以其他方式通过设备300体现。这些装置可以包括一个或多个处理器110、存储器112、通信接口 114、用户接口 116、或灵活缓存模块118。如本文描述的设备300的装置可以被具体化为:例如,电路;硬件元件(例如,适当编程的处理器、组合逻辑电路、和/或类似物);计算机程序产品,其包括存储在计算机可读介质(例如存储器112)上的可由适当配置的处理设备(例如,处理器110)执行的计算机可读程序指令(例如,软件或固件);或者它们的某种组合。
[0069]在一些示例实施例中,图3示出的一个或多个装置可以被具体化为芯片或芯片组。换言之,设备300可以包括一个或多个物理封装(例如,芯片),其包括结构组件(例如,基板)上的材料、部件和/或导线。结构组件可以为其上包括的部件电路提供物理强度、尺寸保持、和/或电相互作用的限制。在这方面,处理器110、存储器112、通信接口 114、用户接口 116、和/或灵活缓存模块118可以被具体化为芯片或芯片组。在一些示例实施例中,设备300因此可以配置成在单个芯片上实现本发明的实施例或者作为单个“片上系统”。再举一个实例,在一些示例实施例中,设备300可以包括部件,其被配置成在单个芯片上实现本发明的实施例或者作为单个“片上系统”。因此,在一些情况下,芯片或芯片组可以构成用于执行一个或多个提供本文描述的功能的操作和/或用于实现关于本文描述的这些功能和/或服务的用户界面导航的装置。
[0070]例如,处理器110可以被具体化为各种装置,包括一个或多个具有随附数字信号处理器的微处理器、一个或多个不具有随附数字信号处理器的处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、包括集成电路(例如,ASIC (专用集成电路)或FPGA (现场可编程门阵列))的各种其他处理元件、一个或多个其他硬件处理器、或它们的一些组合。因此,尽管在图3中被示出为单个处理器,但是在一些实施例中,处理器110可以包括多个处理器。多个处理器相互间可操作地通信,并且可以被共同配置成执行如本文所述的设备300的一个或多个功能。多个处理器可以在单个计算装置上体现,或者被分布在多个被共同配置成充当设备300的计算装置上。在设备300被具体化为移动终端10的实施例中,处理器110可以被具体化为或者包括处理器20。在一些示例实施例中,处理器Iio被配置成执行存储在存储器112中或者可通过其他方式由处理器Iio访问的指令。当这些指令被处理器110执行时,可以使设备300执行如本文所述的设备300的一个或多个功能。因此,无论处理器110通过硬件或软件方法还是它们的组合进行配置,处理器110可以包括在被相应地配置时能够执行根据本发明的实施例的操作的实体。因此,例如,当处理器110被具体化为ASIC、FPGA或类似物时,处理器110可以包括用于进行本文所述的一个或多个操作的专门配置的硬件。可替换地,再举一个实例,当处理器110被具体化为指令(例如可以存储在存储器112中)的执行者时,指令可以具体地将处理器110配置成执行本文所述的一个或多个算法和操作。
[0071]存储器112可以包括例如易失性存储器、非易失性存储器、或它们的某种组合。在这方面,存储器112可以包括一个或多个有形的和/或非暂时性计算机可读存储介质,其可以包括易失性和/或非易失性存储器。尽管在图3中被示为单个存储器,但是存储器112可以包括多个存储器。多个存储器可以被体现在单个计算装置上,或者被分布在多个被共同配置成充当设备300的计算装置上。在各示例实施例中,存储器112可以包括硬盘、随机存取存储器、高速缓存存储器、闪速存储器、紧凑盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、配置成存储信息的电路、或它们的一些组合。在设备300被具体化为移动终端10的实施例中,存储器112可以包括易失性存储器40和/或非易失性存储器42。存储器112可以配置成存储信息、数据、应用、指令、或类似物,以便使设备300能够执行根据各示例实施例的各个功能。例如,在一些示例实施例中,存储器112被配置成缓冲用于由处理器110处理的输入数据。附加地或者可替换地,存储器112可以配置成存储用于由处理器110执行的程序指令。存储器112可以存储静态和/或动态信息形式的信息。该存储的信息可以被灵活缓存模块118在执行其功能的过程中存储和/或使用。
[0072]通信接口 114可以被具体化为用以下方式实施的任何设备或装置:电路;硬件;计算机程序产品,其包括存储在计算机可读介质(例如,存储器112)上并且由处理装置(例如,处理器110)执行的计算机可读程序指令;或者被配置成从另一个计算装置接收数据和/或发送数据到另一个计算装置的上述的组合。在示例实施例中,通信接口 114可以至少部分地被具体化为处理器110或者被处理器110以其他方式控制。在这方面,通信接口 114可以与处理器110通信,例如通过总线通信。通信接口 114可以包括:例如,天线、发射机、接收机、收发机和/或用于实现与一个或多个远程计算装置的通信的支持硬件或软件。通信接口 114可以配置成使用可以用于计算装置之间的通信的任何协议来接收和/或发送数据。在这方面,通信接口 114可以配置成使用可以用于通过无线网络、有线网络、它们的组合、或类似物(通过该类似物,流客户端设备102与一个或多个计算装置或计算资源可以通信)进行数据传输的任何协议来接收和/或发送数据。举个实例,通信接口 114可以配置成实现设备300和另一个装置(例如,另一个设备300)之间的通信。再举个实例,通信接口 114可以配置成通过网络106实现通信。通信接口 114可以额外地与存储器112、用户接口 116、和/或灵活缓存模块118通信,例如通过总线通信。
[0073]用户接口 116可以与处理器110通信,以接收用户输入的指示和/或提供可听输入、可视输入、机械输入、或其他输入给用户。因此,用户接口 116可以包括例如键盘、鼠标、操纵杆、显示器、触摸屏显示器、麦克风、扬声器、和/或其他输入/输出机构。在用户接口116包括触摸屏显示器的实施例中,用户接口 116可以额外地配置成检测和/或接收触摸手势的指示或对触摸屏显示器的其他输入。用户接口 116可以与存储器112、通信接口 114、和/或灵活缓存模块118通信,例如通过总线通信。
[0074]灵活缓存模块118可以被具体化为各种装置,例如:电路;硬件;计算机程序产品,其包括存储在计算机可读介质(例如,存储器112)上并且由处理装置(例如,处理器110)执行的计算机可读程序指令;或者上述的组合。并且在一些实施例中,灵活缓存模块118被具体化为处理器110或者被处理器110以其他方式控制。在灵活缓存模块118被具体化为与处理器110分离的实施例中,灵活缓存模块118可以与处理器110通信。灵活缓存模块118还可以与一个或多个存储器112、通信接口 114、或用户接口 116通信,例如通过总线通?目。
[0075]在一些示例实施例中,灵活缓存模块118被配置成将MPD中的@segmentAlignment (片段对齐)设置为非假值。该设置可以指示:任何特定媒体类型的媒体成分的展现开始和结束时间在跨越自适应集(其中包括OsegmentAlignment)中的所有表示的所有片段中在时间上被对齐。
[0076]在一些示例实施例中,例如通过使用处理器110、灵活缓存模块118等,可以将流客户端设备102配置成使用“Acc印t-Alternative-URI (接受替代URI) ”头字段来指定作为对其中包含有“Acc印t-Alternative-URI”头字段的GET请求的响应而可接受的URI。在一些示例实施例中,“Accept-Alternative-URI”头字段可以被用在服务器驱动的内容协商中。“Accept-Alternative-URI”头字段的语法可以使用扩展巴克斯范式(ABNF)的形式被指定如下:
[0077]Accept-Alternative-URI = # (Alternative-URI [OffS^ ;"0WS"q ="
[0078]qvalue])
[0079]Alternative-URI = "http:'"'//"alternative authority path-
[0080]Abempty [" ? 〃query]
[0081] 在一些示例实施例中,在所请求的资源或在“Acc印t-Alternative-URI”头中列出的任何资源以及满足请求的其他要求的任何资源被请求中的用于实现服务器驱动的内容协商或缓存控制指令的例如一个或多个头字段指示的情况下,图1的代理缓存设备104可以配置成例如通过使用处理器110、通信接口 114、灵活缓存模块118等来响应GET请求。
[0082]在一些不例实施例中,“Accept-Alternative-URI”可以与 “Connection(连接)”头字段一起使用,并且可以指定“Accept-Alternative-URI”。“Connection”头字段可以使流客户端设备102能够指定:“Accept-Alternative-URI”选项被期望用于流客户端设备102和代理缓存设备104之间的连接。用于“Accept-Alternative-URI”的“Connection” ABNF语法被定义为以下:
[0083]Connection = l#connectin-token
[0084]Connection-token = Accept-Alternative-URI
[0085]在一些实施例中,例如通过处理器110、灵活缓存模块118等,代理缓存设备104可以在消息被转发之前解析所接收的连接头字段,并且对于该字段中的每个连接标记,从消息中移除具有与该连接标记(具体地是Accept-Alternative-URI)相同的名称的任何头字段,并且之后移除连接头字段自身或者将其替换为发送者自身关于所转发消息的连接选项。在一些情况下,在代理不具有所请求的资源或在“Accept-Alternative-URI”中列出的任何资源的情况下,HTTP GET请求可以被转发。
[0086]在一些示例实施例中,示例HTTP GET请求可以包括第一URI (用于第一表示的特定片段),其包括许多被接受的q值和来自另一表示的片段(其可以是适当的响应)的指示。来自其他表示的片段可以最初已经具有与所请求的URI不同的URI。因此,相同的资源可能在不同的URI下出现在后续的代理或缓存中。因此,缓存指令可以被用于阻止在任何后续代理/缓存中缓存该响应。
[0087]HTTP GET 片段 #1 可以包括 “Acc印t-Alternative-URI” 用法的实例:
[0088]
GET http://example.com/contents/rep-5/seg-l.3gp
Connection: Accept-Alternative-URI
Accept-Alternative-UR1: htlp://example.com/contents/rep-
4/seg-1.3gp; q=0.8,

http:// example.com/contents/rep-3/seg-1.3gp;
q=0.6
[0089]示例HTTP GET片段#2请求:
[0090]
GET http://example.com/contents/rep-6/seg-2.3gp
Connection: Accept-Alternative-URI
Accept-Alternative-UR1: http://example.com/contents/rep-
5/seg-1.3gp; q=0.8,

http://example.com/contents/rep-4/seg-l.3gp;
q=0 5
[0091]参照上面的对片段#1 的 HTTP GET 请求的实例,example, com/contents/rep-5/seg-1.3gp 可以被识别为主要 URI,并且 http://example, com/contents/rep-4/seg-1.3gp和 example, com/contents/rep-3/seg-1.3gp 可以被确定为替代 URI。
[0092]在代理缓存设备104确定主要URI的资源的情况下,其可以配置成以主要URI响应流客户端设备102。
[0093]在代理缓存设备104处未缓存主要资源的情况下,然后代理缓存设备104可以例如通过处理器110、通信接口 114、灵活缓存模块118等以资源(例如,次要资源)来响应。参照上面的对片段#1的HTTP GET请求的实例,代理缓存设备104可以用资源example.com/contents/rep-4/seg-l.3gp来响应。否则,代理缓存设备104可以用与GET http://example, com/contents/rep-3/seg-1.3gp相对应的资源来响应。如果代理缓存设备104中有多于一个的识别出的次要资源可用,那么代理缓存设备可以根据q值选择被用在响应中的资源。代理缓存设备104可以处理“Connect1n”头字段的指令从而移动连接标记,在本例中具体是Accept-Alternative-URI头字段。“Connect1n”头字段可以配置成允许发送者(例如流客户端设备102)指定期望用于特定连接的选项。
[0094]在一些不例实施例中,头字段例如“Accept-Alternative-Representat1n” 头可以通过灵活缓存模块118添加到请求中。示例头字段可以用于向代理缓存设备104指示:除主要表示之外的替代表示是可接受的。示例头字段还可以包括所接受的替代Representat1niid值的列表,其中在一些实施例中,所接受的替代Representat1nOid值可以已经由流客户端设备102确定。示例“Accept-Alternative-Representat1n”头字段
的语法包括但不限于:
[0095]
【权利要求】
1.一种方法,包括: 使用处理器使得对片段的主要表示或所述片段的替代表示中的至少一个的请求被发送给代理缓存设备; 接收所述主要表示或所述替代表示中的至少一个;以及 从所述代理缓存设备接收所述片段的所述主要表示或所述替代表示中的至少一个。
2.根据权利要求1所述的方法,还包括: 确定在所述请求中将被发送给所述代理缓存设备的所述片段的所述主要表示的主要统一资源指示符。
3.根据权利要求1或2中任一项所述的方法,还包括: 将所述片段的所述主要表示的统一资源指示符包括到所述请求中,以及将所述片段的所述替代表示的统一资源指示符包括到所述请求中。
4.根据权利要求1-3中任一项所述的方法,还包括: 创建模板,所述模板指定所述片段的替代表示统一资源指示符,其中所述模板包括接受所述片段的替代表 示的指示;以及 使所述模板被包括在所述请求中。
5.根据权利要求4所述的方法,其中连接头字段被配置成提供以下指示:在所述代理缓存设备转发所述请求的情况下,所述代理缓存设备被配置成去除所述替代表示的所述统一资源指示符。
6.根据权利要求4所述的方法,其中所述替代表示是由所述代理缓存设备缓存、并且被配置成作为所述主要表示的替代物的表示。
7.根据权利要求4所述的方法,其中所述代理缓存设备被配置成导出所述主要表示的主要统一资源指示符和所述替代表示的至少一个次要统一资源指示符、以及对应的偏好。
8.—种设备,包括: 至少一个处理器;和 包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置成利用所述至少一个处理器使所述设备至少: 使得对片段的主要表示或所述片段的替代表示中的至少一个的请求被发送给代理缓存设备; 接收所述主要表示或所述替代表示中的至少一个;以及 从所述代理缓存设备接收所述片段的所述主要表示或所述替代表示中的至少一个。
9.根据权利要求8所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 确定在所述请求中将被发送给所述代理缓存设备的所述片段的所述主要表示的主要统一资源指示符。
10.根据权利要求8或9中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 将所述片段的所述主要表示的统一资源指示符包括到所述请求中,以及将所述片段的所述替代表示的统一资源指示符包括到所述请求中。
11.根据权利要求8-10中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 创建模板,所述模板指定所述片段的替代表示统一资源指示符,其中所述模板包括接受所述片段的替代表示的指示;以及 使所述模板被包括在所述请求中。
12.根据权利要求11所述的设备,其中连接头字段被配置成提供以下指示:在所述代理缓存设备转发所述请求的情况下,所述代理缓存设备被配置成去除所述替代表示的所述统一资源指示符。
13.根据权利要求11所述的设备,其中所述替代表示是由所述代理缓存设备缓存、并且被配置成作为所述主要表示的替代物的表示。
14.根据权利要求11所述的设备,其中所述代理缓存设备被配置成导出所述主要表示的主要统一资源指示符和所述替代表示的至少一个次要统一资源指示符、以及对应的偏好。
15.一种计算机程序产品,包括: 至少一个其上存储有程序代码的计算机可读非暂时性存储介质,所述程序代码在被设备执行时使所述设备 至少: 使得对片段的主要表示或所述片段的替代表示中的至少一个的请求被发送给代理缓存设备; 接收所述主要表示或所述替代表示中的至少一个;以及 从所述代理缓存设备接收所述片段的所述主要表示或所述替代表示中的至少一个。
16.根据权利要求15所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 确定在所述请求中将被发送给所述代理缓存设备的所述片段的所述主要表示的主要统一资源指示符。
17.根据权利要求15或16中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 将所述片段的所述主要表示的统一资源指示符包括到所述请求中,以及将所述片段的所述替代表示的统一资源指示符包括到所述请求中。
18.根据权利要求15-17中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 创建模板,所述模板指定所述片段的替代表示统一资源指示符,其中所述模板包括接受所述片段的替代表示的指示;以及 使所述模板被包括在所述请求中。
19.根据权利要求18所述的计算机程序产品,其中连接头字段被配置成提供以下指示:在所述代理缓存设备转发所述请求的情况下,所述代理缓存设备被配置成去除所述替代表示的所述统一资源指示符。
20.根据权利要求18所述的计算机程序产品,其中所述替代表示是由所述代理缓存设备缓存、并且被配置成作为所述主要表示的替代物的表示。
21.根据权利要求18所述的计算机程序产品,其中所述代理缓存设备被配置成导出所述主要表示的主要统一资源指示符和所述替代表示的至少一个次要统一资源指示符、以及对应的偏好。
22.—种设备,包括: 用于使得对片段的主要表示或所述片段的替代表示中的至少一个的请求被发送给代理缓存设备的装置; 用于接收所述主要表示或所述替代表示中的至少一个的装置;以及 用于从所述代理缓存设备接收所述片段的所述主要表示或所述替代表示中的至少一个的装置。
23.根据权利要求22所述的设备,还包括: 用于确定在所述请求中将被发送给所述代理缓存设备的所述片段的所述主要表示的主要统一资源指示符的装置。
24.根据权利要求22或23中任一项所述的设备,还包括: 用于将所述片段的所述主要表示的统一资源指示符包括到所述请求中,以及将所述片段的所述替代表示的统一资源指示符包括到所述请求中的装置。
25.根据权利要求22-24中任一项所述的设备,还包括: 用于创建模板的装置,所述模板指定所述片段的替代表示统一资源指示符,其中所述模板包括接受所述片段的替代表示的指示;以及 用于使所述模板被包括在所述请求中的装置。
26.根据权利要求25所述的设备,其中连接头字段被配置成提供以下指示:在所述代理缓存设备转发所述请求的情况下,所述代理缓存设备被配置成去除所述替代表示的所述统一资源指示符。
27.根据权利要求25所述的设备,其中所述替代表示是由所述代理缓存设备缓存、并且被配置成作为所述主要表示的替代物的表示。
28.根据权利要求25所述的设备,其中所述代理缓存设备被配置成导出所述主要表示的主要统一资源指示符和所述替代表示的至少一个次要统一资源指示符、以及对应的偏好。
29.—种方法,包括: 使得对代理缓存设备提供可选择的缓存的替代表示统一资源指示符的请求被发送; 接收用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表或范围;以及 使用处理器使得对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求被发送,其中所述资源是基于预定的选择标准请求的。
30.根据权利要求29所述的方法,还包括: 使片段的主要表示的主要统一资源指示符在所述请求中被发送;以及 使模板被创建,所述模板指定所述片段的次要表示统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示。
31.根据权利要求29或30中任一项所述的方法,其中将所述请求发送给代理缓存设备或服务网络设备中的至少一个。
32.根据权利要求29-31中任一项所述的方法,还包括: 从所述代理缓存设备接收消息;基于所述消息确定能够从所述代理缓存设备获得的一个或多个可选择的缓存的替代表示;以及 使所述一个或多个可选择的缓存的替代表示中的至少一个被请求,其中所述资源是基于预定的选择标准请求的。
33.一种设备,包括: 至少一个处理器;和 包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置成利用所述至少一个处理器使所述设备至少: 使得对代理缓存设备提供可选择的缓存的替代表示统一资源指示符的请求被发送;接收用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表或范围;以及 使得对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求被发送,其中所述资源是基于预定的选择标准请求的。
34.根据权利要求33所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 使片段的主要表示的主要统一资源指示符在所述请求中被发送;以及使模板被创建,所述模板指定所述片段的次要表示统一资源指示符,其中所述模板包括接受所述片段的次要表 示的指示。
35.根据权利要求33或34中任一项所述的设备,其中将所述请求发送给代理缓存设备或服务网络设备中的至少一个。
36.根据权利要求33-35中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 从所述代理缓存设备接收消息; 基于所述消息确定能够从所述代理缓存设备获得的一个或多个可选择的缓存的替代表示;以及 使所述一个或多个可选择的缓存的替代表示中的至少一个被请求,其中所述资源是基于预定的选择标准请求的。
37.一种计算机程序产品,包括: 至少一个其上存储有程序代码的计算机可读非暂时性存储介质,所述程序代码在被设备执行时使所述设备至少: 使得对代理缓存设备提供可选择的缓存的替代表示统一资源指示符的请求被发送;接收用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表或范围;以及 使得对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求被发送,其中所述资源是基于预定的选择标准请求的。
38.根据权利要求37所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 使片段的主要表示的主要统一资源指示符在所述请求中被发送;以及 使模板被创建,所述模板指定所述片段的次要表示统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示。
39.根据权利要求37或38中任一项所述的计算机程序产品,其中将所述请求发送给代理缓存设备或服务网络设备中的至少一个。
40.根据权利要求37-39中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 从所述代理缓存设备接收消息; 基于所述消息确定能够从所述代理缓存设备获得的一个或多个可选择的缓存的替代表示;以及 使所述一个或多个可选择的缓存的替代表示中的至少一个被请求,其中所述资源是基于预定的选择标准请求的。
41.一种设备,包括: 用于使得对代理缓存设备提供可选择的缓存的替代表示统一资源指示符的请求被发送的装置; 接收用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表或范围的装置;以及 用于使得对用于代理驱 动的内容协商的所述可选择的缓存的替代表示的资源的请求被发送的装置,其中所述资源是基于预定的选择标准请求的。
42.根据权利要求41所述的设备,还包括: 用于使片段的主要表示的主要统一资源指示符在所述请求中被发送的装置;以及 用于使模板被创建的装置,所述模板指定所述片段的次要表示统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示。
43.根据权利要求41或42中任一项所述的设备,其中将所述请求发送给代理缓存设备或服务网络设备中的至少一个。
44.根据权利要求41-43中任一项所述的设备,还包括: 用于从所述代理缓存设备接收消息的装置; 用于基于所述消息确定能够从所述代理缓存设备获得的一个或多个可选择的缓存的替代表示的装置;以及 用于使所述一个或多个可选择的缓存的替代表示中的至少一个被请求的装置,其中所述资源是基于预定的选择标准请求的。
45.一种方法,包括: 接收对片段的主要表示或替代表示中的至少一个的请求; 确定所述请求是否包括以下指示:流客户端设备将接受所述片段的所述替代表示; 使用处理器确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
46.根据权利要求45所述的方法,还包括: 在所述请求包括所述流客户端设备将接受所述片段的所述替代表示的指示、并且所述主要统一资源指示符未被缓存的情况下,确定所述替代表示的次要统一资源指示符。
47.根据权利要求45和46中任一项所述的方法,还包括:确定与次要统一资源指示符相关联的所述替代表示是否被缓存; 在所述次要统一资源指示符未被缓存的情况下,使所述片段的所述主要表示被请求;以及 在所述次要统一资源指示符被缓存的情况下,使所述片段的所述替代表示被发送。
48.根据权利要求45-47中任一项所述的方法,还包括: 基于预定的选择标准,确定将被发送的缓存的替代表示。
49.根据权利要求45-48中任一项所述的方法,还包括: 在所述主要统一资源指示符未被缓存的情况下,使与所述主要统一资源指示符相关联的所述主要表示被请求。
50.一种设备,包括: 至少一个处理器;和 包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置成利用所述至少一个处理器使所述设备至少: 接收对片段的主要表示或替代表示中的至少一个的请求; 确定所述请求是否包括以下指示:流客户端设备将接受所述片段的所述替代表示; 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
51.根据权利要求50所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 在所述请求包括所述流客户端设备将接受所述片段的所述替代表示的指示、并且所述主要统一资源指示符未被缓存的情况下,确定所述替代表示的次要统一资源指示符。
52.根据权利要求50或51中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 确定与次要统一资源指示符相关联的所述替代表示是否被缓存; 在所述次要统一资源指示符未被缓存的情况下,使所述片段的所述主要表示被请求;以及 在所述次要统一资源指示符被缓存的情况下,使所述片段的所述替代表示被发送。
53.根据权利要求50-52中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 基于预定的选择标准,确定将被发送的缓存的替代表示。
54.根据权利要求50-53中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 在所述主要统一资源指示符未被缓存的情况下,使与所述主要统一资源指示符相关联的所述主要表示被请求。
55.一种计算机程序产品,包括: 至少一个其上存储有程序代码的计算机可读非暂时性存储介质,所述程序代码在被设备执行时使所述设备至少: 接收对片段的主要表示或替代表示中的至少一个的请求; 确定所述请求是否包括以下指示:流客户端设备将接受所述片段的所述替代表示;确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
56.根据权利要求55所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 在所述请求包括所述流客户端设备将接受所述片段的所述替代表示的指示、并且所述主要统一资源指示符未被缓存的情况下,确定所述替代表示的次要统一资源指示符。
57.根据权利要求55或56中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 确定与次要统一资源指示符相关联的所述替代表示是否被缓存; 在所述次要统一资源指示符未被缓存的情况下,使所述片段的所述主要表示被请求;以及 在所述次要统一资源指示符被缓存的情况下,使所述片段的所述替代表示被发送。
58.根据权利要求55-57中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 基于预定的选择标 准,确定将被发送的缓存的替代表示。
59.根据权利要求55-58中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 在所述主要统一资源指示符未被缓存的情况下,使与所述主要统一资源指示符相关联的所述主要表示被请求。
60.—种设备,包括: 用于接收对片段的主要表示或替代表示中的至少一个的请求的装置; 用于确定所述请求是否包括以下指示的装置:流客户端设备将接受所述片段的所述替代表示; 使用处理器确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存的装置;以及 用于在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送的装置。
61.根据权利要求60所述的设备,还包括: 用于在所述请求包括所述流客户端设备将接受所述片段的所述替代表示的指示、并且所述主要统一资源指示符未被缓存的情况下,确定所述替代表示的次要统一资源指示符的>j-U ρ?α装直。
62.根据权利要求60或61中任一项所述的设备,还包括: 用于确定与次要统一资源指示符相关联的所述替代表示是否被缓存的装置; 用于在所述次要统一资源指示符未被缓存的情况下,使所述片段的所述主要表示被请求的装置;以及 用于在所述次要统一资源指示符被缓存的情况下,使所述片段的所述替代表示被发送的装置。
63.根据权利要求60-62中任一项所述的设备,还包括: 用于基于预定的选择标准,确定将被发送的缓存的替代表示的装置。
64.根据权利要求60-63中任一项所述的设备,还包括: 用于在所述主要统一资源指示符未被缓存的情况下,使与所述主要统一资源指示符相关联的所述主要表示被请求的装置。
65.—种方法,包括: 接收对片段的主要表示或替代表示中的至少一个的请求; 使用处理器确定所述请求是否包括以下指示:流客户端设备将接受所述片段的所述替代表示; 使得用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表和范围被发送;以及 接收对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求。
66.根据权利要求65所述的方法,还包括: 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
67.根据权利要求65或66中任一项所述的方法,还包括: 使一个或多个可选择 的缓存的替代表示被发送;以及 接收对所述一个或多个可选择的缓存的替代表示中的至少一个的请求。
68.根据权利要求65-67中任一项所述的方法,还包括: 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
69.根据权利要求65-68中任一项所述的方法,还包括: 接收模板,所述模板指定所述片段的替代表示的将被创建的次要统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示; 使所述模板被解析;以及 确定与所接收的模板中的所述次要统一资源指示符相关联的至少一个替代表示。
70.—种设备,包括: 至少一个处理器;和 包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置成利用所述至少一个处理器使所述设备至少: 接收对片段的主要表示或替代表示中的至少一个的请求; 确定所述请求是否包括以下指示:流客户端设备将接受所述片段的所述替代表示;使得用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表和范围被发送;以及 接收对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求。
71.根据权利要求70所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
72.根据权利要求70或71中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备:使一个或多个可选择的缓存的替代表示被发送;以及 接收对所述一个或多个可选择的缓存的替代表示中的至少一个的请求。
73.根据权利要求70-72中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
74.根据权利要求70-73中任一项所述的设备,其中包括所述计算机程序代码的所述至少一个存储器还被配置成利用所述至少一个处理器使所述设备: 接收模板,所述模板指定所述片段的替代表示的将被创建的次要统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示; 使所述模板被解析;以及 确定与所接收的模板中的所述次要统一资源指示符相关联的至少一个替代表示。
75.一种计算机程序产品,包括: 至少一个其上存储有程序代码的计算机可读非暂时性存储介质,所述程序代码在被设备执行时使所述设备至少: 接收对片段的主要表示或替代表示中的至少一个的请求; 确定所述请求是否包括以下指示:流客户端设备将接受所述片段的所述替代表示;使得用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表和范围被发送;以及 接收对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求。
76.根据权利要求75所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
77.根据权利要求75或76中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 使一个或多个可选择的缓存的替代表示被发送;以及 接收对所述一个或多个可选择的缓存的替代表示中的至少一个的请求。
78.根据权利要求75-77中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存;以及 在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送。
79.根据权利要求75-78中任一项所述的计算机程序产品,还包括配置成执行以下操作的程序代码指令: 接收模板,所述模板指定所述片段的替代表示的将被创建的次要统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示; 使所述模板被解析;以及 确定与所接收的模板中的所述次要统一资源指示符相关联的至少一个替代表示。
80.—种设备,包括:用于接收对片段的主要表示或替代表示中的至少一个的请求的装置; 用于确定所述请求是否包括以下指示的装置:流客户端设备将接受所述片段的所述替代表示; 使得用于代理驱动的内容协商的可选择的缓存的替代表示的统一资源指示符的列表和范围被发送的装置;以及 接收对用于代理驱动的内容协商的所述可选择的缓存的替代表示的资源的请求的装置。
81.根据权利要求80所述的设备,还包括: 用于确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存的装置;以及 用于在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送的装置。
82.根据权利要求80或81中任一项所述的设备,还包括: 用于使一个或多个可选择的缓存的替代表示被发送的装置;以及 用于接收对所述一个或多个可选择的缓存的替代表示中的至少一个的请求的装置。
83.根据权利要求80-82中任一项所述的设备,还包括: 用于确定与所述主要表示相关联的主要统一资源指示符中的至少一个是否被缓存的装置;以及 用于在所述主要统一资源指示符被缓存的情况下,使所述片段的所述主要表示被发送的装置。
84.根据权利要求80-83中任一项所述的设备,还包括: 用于接收模板的装置,所述模板指定所述片段的替代表示的将被创建的次要统一资源指示符,其中所述模板包括接受所述片段的次要表示的指示; 用于使所述模板被解析的装置;以及 用于确定与所接收的模板中的所述次要统一资源指示符相关联的至少一个替代表示的装置。
【文档编号】H04L29/06GK104025548SQ201280065154
【公开日】2014年9月3日 申请日期:2012年11月30日 优先权日:2011年12月29日
【发明者】C·刘, M·汉努卡塞拉 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1