CN105900433A - 用于向客户端终端提供多媒体内容的内容部分的方法和相应高速缓存器 - Google Patents
用于向客户端终端提供多媒体内容的内容部分的方法和相应高速缓存器 Download PDFInfo
- Publication number
- CN105900433A CN105900433A CN201480072421.3A CN201480072421A CN105900433A CN 105900433 A CN105900433 A CN 105900433A CN 201480072421 A CN201480072421 A CN 201480072421A CN 105900433 A CN105900433 A CN 105900433A
- Authority
- CN
- China
- Prior art keywords
- cache
- expression
- request
- client terminal
- alternative
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/44—Browsing; Visualisation therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
根据本发明,提供了一种用于向客户端终端提供多媒体内容的内容部分的方法,其中,一个或多个高速缓存器沿客户端终端和远程服务器之间的传输路径布置,所述内容部分的若干表示是可用的,该方法包括:在第一高速缓存器(R)处从客户端终端接收(S0)针对所述内容部分的给定表示的请求,所述给定表示属于在所述内容部分的可用表示之中选择的可允许表示的集合,所述请求还包括所述集合中的备选表示的列表和用于指定所述请求的范围的辅助信息;在所述第一高速缓存器(R)处检查(S1)所述给定表示是否存储在所述高速缓存器中;在所述给定表示未被高速缓存的情况下,在所述第一高速缓存器(R)处浏览(S2)所列出的备选表示。
Description
技术领域
本发明总体上涉及通过(例如但不排他地)HTTP(超文本传输协议)的自适应流传输的领域,具体涉及用于向客户端终端提供多媒体内容的内容部分的方法、沿客户端终端和远程服务器之间的传输路径布置的高速缓存器。
背景技术
本部分旨在向读者介绍本领域中可能与以下描述和/或要求保护的本发明的各方面相关的各个方面。相信本讨论有益于向读者提供背景信息以便于更好地理解本发明的各个方面。因此,应当理解,这些陈述应以这种方式被解读,而不是作为对现有技术的承认。
通过HTTP的自适应流传输(也称作多比特率切换)正在迅速成为多媒体内容分发的主要技术。在已经使用的HTTP自适应流传输协议中,最著名的是Apple的HTTP实时流传输(HLS)、Microsoft的Silverlight平滑流传输(SSS)、Adobe的Adobe动态流传输(ADS)以及由3GPP在SA4组内开发的基于HTTP的动态自适应流传输(DASH)。
当客户端终端希望播放自适应流传输中的视听内容(或A/V内容)时,首先必须得到描述如何可以获得该A/V内容的文件。这通常通过从URL(统一资源定位符)得到描述文件(所谓的清单(manifest))经由HTTP协议来进行,但是也能够通过其它方式(例如,广播、电子邮件、SMS等)来实现。清单基本地列出这种A/V内容的可用表示(也被称为实例或版本)(就比特率、分辨率和其他属性而言);每个质量级别(比特率)一个表示。每个表示由一系列相等持续时间的组块(可通过单独的URL访问)组成,并附有一组供客户端选择的描述元素。所述清单预先产生,并例如通过远程服务器传送到客户端终端。
事实上,与A/V内容相对应的数据流在HTTP服务器上是可用的,并具有不同的质量。最高质量与最高比特率相关联。最低质量与最低比特率相关联。这使得可以向可能经受高度变化的网络条件的许多不同终端进行分发。
每个表示的整个数据流被分成具有相等持续时间的组块,这使得客户端终端可以在两个组块之间平滑地从一个质量级别切换到另一个质量级别。结果,视频质量在播放期间可变化但极少会中断(还被称为冻结)。
在客户端侧,基于对传输路径的可用带宽的测量来选择组块。具体地,客户端终端通常请求与比特率编码相对应且因此与符合所测量带宽的质量相对应的组块表示。
当高速缓存器沿着客户端终端与频繁出现的远程服务器之间的传输路径时,在以下情况下给定组块的一个表示能够已经存储在所述高速缓存器中:另一客户先前已经请求了具有相同表示的相同组块,或者内容传递网络(CDN)已经在高速缓存器中供应了该组块。因此,与组块来自远程服务器的情况相比,对针对所述给定组块的HTTP请求的响应更快,并且可以避免重复传输,有效地节省了网络资源。
尽管如此,HTTP自适应流传输仍然表现为不是高速缓存器友好的(或者至少与所谓的分层基本切换(例如H264-SVC)相比不那么友好)。确实,如果第一客户端终端请求给定组块的表示r,第二客户端终端(与所述第一客户端终端共享传输路径的一部分和高速缓存器)请求所述给定组块的表示r’(质量较高或较低),于是高速缓存器并未命中,导致高速缓存器与服务器之间的网络段上负载较高,存在引起拥塞的风险。从而,高速缓存的益处完全消失,并且高速缓存当前不能改善这一状况。
本发明关注防止网络拥塞,并尤其尝试对可能位于客户端终端与一个好多个远程服务器之间的传输路径上的高速缓存器进行操作。
发明内容
本发明涉及一种用于向客户端终端提供多媒体内容的内容部分的方法,其中,一个或多个高速缓存器沿客户端终端和远程服务器之间的传输路径布置,所述内容部分的若干表示是可用的,
所述方法的特征在于其包括:
-在第一高速缓存器处从客户端终端接收针对所述内容部分的给定表示的请求,所述给定表示属于在所述可用的表示之中选择的可允许表示的集合,所述请求还包括所述集合的备选表示的列表和用于指定所述请求的范围的辅助信息;
-在所述第一高速缓存器处检查所述给定表示是否存储在所述高速缓存器中;
-在所述给定表示未被高速缓存的情况下,在所述第一高速缓存器处浏览所列出的备选表示。
从而,本发明使得能够借助高速缓存减少客户端终端(即,HTTP自适应流传输客户端终端)和相应的原始服务器之间的端对端流量,即增加高速缓存器命中的数量。为此,高速缓存器被配置为支持由客户端终端发送的请求的指令,以使得其能够在没有对给定表示进行高速缓存时获取包括在该指令中的备选表示。从而,这可能导致客户端终端和原始服务器之间的流量减小,并从而导致拥塞减少。从而,由于限制了从服务器下载组块的需要,本发明可以向终端用户提供更好的用户体验。
在优选实施例的第一方面中,所述辅助信息能够限定布置在客户端和服务器之间的剩余高速缓存器的数量,所述剩余高速缓存器被允许在所述给定表示和所述备选表示没有被存储的情况下向下一个高速缓存器转发所述请求。
具体地,当所述剩余高速缓存器中的最后一个高速缓存器不具有所述给定表示和所述备选表示时,可以向所述客户端发送错误消息。
根据优选实施例的第二方面,所述辅助信息能够限定沿所述传输路径布置的最终高速缓存器,以使得在所述给定表示和所述备选表示没有存储在所述最终高速缓存器中的情况下,所述最终高速缓存器不转发所述请求。
优选地,当所述最终高速缓存器不具有所述给定表示和所述备选表示时,能够向所述客户端发送错误消息。
此外,优选地按照偏好顺序浏览备选表示,所述备选表示是按照例如偏好的降序列出的。
此外,每个备选表示的相应比特率优选地低于给定表示之一的比特率。自然地,在一个变型中,至少一个备选表示的相应比特率高于给定表示之一的比特率。
此外,所述集合中的每个可允许表示的相应比特率有利地至多等于客户端终端和远程服务器之间的传输路径的带宽。
在优选实施例的另一方面中,所使用的传输协议是HTTP,所述请求是HTTP请求,并且所述HTTP请求的高速缓存控制扩展包括备选表示的所述列表。
在一个变型中,或者作为补充,所述请求能够包括附加信息,以使得所述高速缓存器在对所请求的表示或所列出的备选表示进行了缓存的情况下返回所请求的表示或所列出的备选表示,或者在既没有对给定表示也没有对所列出的备选表示中的任何一个进行缓存的情况下返回响应消息。
具体地,所使用的传输协议是HTTP,附加信息包括在所述HTTP请求的高速缓存控制扩展中。
此外,本发明还涉及一种高速缓存器,被配置用于向客户端终端提供多媒体内容的内容部分,所述高速缓存器沿客户端终端和远程服务器之间的传输路径布置,所述内容部分的若干表示是可用的,
根据本发明,所述高速缓存器包括:
-接口模块,用于从客户端终端接收针对所述内容部分的给定表示的请求,所述给定表示属于在所述可用的表示之中选择的可允许表示的集合,所述请求还包括所述集合的备选表示的列表和用于指定所述请求的范围的辅助信息;
-控制模块,用于检查是否存储了所述给定表示;
-浏览模块,被配置为在所述给定表示未被高速缓存的情况下,浏览所列出的备选表示。
优选地,可按照偏好的顺序浏览备选表示。
在优选实施例的第一方面中,辅助信息限定布置在客户端和服务器之间的剩余高速缓存器的数量,所述剩余高速缓存器被允许在所述给定表示和所述备选表示没有被存储的情况下向下一个高速缓存器转发所述请求,当在所述高速缓存器处剩余高速缓存器的数量等于零时,优选地不转发所述请求。
在优选实施例的又一方面中,辅助信息限定沿所述传输路径布置的最终高速缓存器,在以下情况中,优选地不转发所述请求:
-所述给定表示和所述备选表示均未存储在所述高速缓存器中;以及
-所述高速缓存器对应于所述最终高速缓存器。
在下文阐述所公开的实施例的范围内的一些方面。应理解,这些方面仅用来向读者提供本发明可能采用的一些形式的简要概括,并且这些方面并非意在限制本发明的范围。事实上,本发明可包括下文可能没有阐述的多个方面。
附图说明
通过下面参照附图的实施例和执行示例而绝非限制性的方式来示出本发明并使本发明更好地被理解,在附图中:
图1是可以实施本发明的客户端-服务器网络架构的示意图;
图2是根据本发明的优选实施例的客户端终端的示例的框图;
图3是根据本发明优选实施例的高速缓存器的示例的框图;
图4是示出了由图3的高速缓存器实现的用于检索给定组块的表示的方法的流程图。
在图1至图3中,呈现的方框仅是功能性实体,而不必对应于物理上分离的实体。即,这些方框能够以软件、硬件的形式来开发,或者可以实施在包括一个或多个处理器的一个或若干集成电路中。
在可能的情况下,贯穿附图,相同的附图标记将用于表示相同或类似部件。
具体实施方式
应理解,为了清楚理解本发明,已经简化了本发明的附图和描述以示出相关的元件,并且同时为了清楚起见,省略了在典型数字多媒体内容传送方法和系统中存在的许多其它元件。然而,由于这些元件在本领域是公知的,本文中不提供对这些元件的详细讨论。本文的公开针对本领域技术人员已知的所有这些变化和修改。
根据优选实施例,针对HTTP自适应流传输协议描述了本发明。当然,本发明不限于这种特定环境,当然也可以考虑和实现其他自适应流传输协议。
如图1中所示,本发明可实现的客户端-服务器网络架构包括客户端终端C、网关GW和一个或多个HTTP服务器S(图1中只示出了一个)。
通过第一网络N1(如家庭网络或企业网络)连接到网关GW的客户端终端C想要通过第二网络N2(如互联网)请求远程服务器S上存储的多媒体内容。第一网络N1由于网关GW而连接到第二网络N2。
基于客户端请求,HTTP服务器S使用HTTP自适应流传输协议通过一个或多个TCP/IP连接将组块流传输到客户端终端C。
根据如图2所示的优选实施例,客户端终端C至少包括:
-到第一网络N1的连接接口1(有线和/或无线,例如Wi-Fi、以太网等);
-通信模块2,包括用于与HTTP服务器S通信的协议栈。具体地,通信模块2包括本领域公知的TCP/IP栈。当然,其可以是使客户端终端C与HTTP服务器S通信的任何其它类型网络和/或通信装置;
-自适应流传输模块3,从HTTP服务器S接收HTTP流传输多媒体内容。其按照下文所述继续选择相应比特率与限制更好地匹配的组块的表示,
-视频播放器4,适配为解码和渲染多媒体内容;
-一个或多个处理器5,用于执行存储在客户端终端C的非易失性存储器中的应用和程序;
-存储装置6,诸如易失性存储器,用于在从HTTP服务器接收到的组块被发送到视频播放器4之前缓存所述组块;
-内部总线B1,用来连接各个模块和本领域技术人员所公知的用于执行一般客户端终端功能的所有装置。
作为示例,客户端终端C是便携式媒体设备、移动电话、平板或笔记本电脑。自然,客户端终端C1可能不包括完整的视频播放器,而是只包括一些子元件,比如用于解复用和解码媒体内容的子元件,并可以依赖于外部装置来向终端用户显示解码后的内容。在这种情况中,客户端终端C是能够进行HTTP自适应流传输(HAS)的视频解码器,比如机顶盒。
根据图1所述的优选实施例,网关GW包括高速缓存器R,其沿客户端终端C和服务器S之间的传输路径布置。在一种变型中,所述高速缓存器R可布置在第一网络N1的代理服务器中或布置在沿传输路径的任何其他位置中。
在下文中,假定客户端终端C向远程服务器S请求HTTP自适应流传输(HAS)多媒体内容,所述HAS多媒体内容在由一系列组块组成的若干表示中是可用的。每个表示的质量应被理解为与媒体编码质量、媒体编码类型(例如2D与3D)、媒体编码颜色方案等有关。
为此,如图2所示,客户端终端C还包括:
-带宽估计器7,被配置用于估计传输路径的带宽;
-选择模块8,被配置为确定客户端终端C可能请求的可允许表示的集合。在多媒体内容的给定组块的可用表示(如关联清单中所列)中选择可允许表示。具体地,由模块8对给定组块In的可允许表示的集合的确定可以基于一个或多个性能准则,比如:
·由估计器7估计的带宽;
·客户端终端C的能力;
·之前所请求的组块In-1的表示;
·客户端终端C的终端用户所要求的体验质量;
显然,在变型中,选择模块8可以集成在自适应流传输模块3内。
可以理解的是,“可允许”表示的意义取决于实现。事实上,其可意味着与之前请求的组块In-1的表示相比给定组块In的升级或降级的质量表示。
如果给定组块In的所请求的表示的相应质量显著地低于(即,在终端用户看来)之前请求的组块In-1的表示的相应质量,则选择模块8可被配置为不尝试在操作潜在的被高速缓存的组块时进一步降级所述质量(除非被可用带宽约束)。
在符合本发明的说明性但非限制性示例中,给定组块In的可允许表示(从清单中所列出的可用表示选择)的相应比特率(与给定质量有关)至多等于所估计的带宽。此外,所述集合中的可允许表示的比特率还可至少等于一定义的阈值,在该定义的阈值下,质量不是客户端终端C的终端用户可接受的。
明显地,作为变型或补充,可允许表示的所确定的集合可包括具有高于所估计的带宽的比特率的一个或多个表示,以便尝试获取已经存储在高速缓存器R中的表示。
此外,自适应流传输模块3被配置为从可允许表示的集合中请求HAS多媒体内容的给定组块In的优选表示r。例如,组块In的优选表示可与具有刚好低于所估计的带宽的关联比特率的表示相对应。
为此,通信模块2发送HTTP请求,其中,其报头的高速缓存控制扩展包括指令“altlist”,该指令“altlist”允许客户端终端C按照偏好或优先级的顺序列出可由高速缓存器R在优选表示r没有被高速缓存的情况下返回的备选表示r’。
“altlist”指令的备选表示r’优选地对应于所确定的集合中的可允许表示。显然,可添加附加表示(例如,其比特率高于所估计的带宽)。
下文是包括“altlist”指令的HTTP请求的示例:
GET/hi/fileSequence2681.ts HTTP/1.1
Host:example.com
Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts
根据优选实施例,可以理解的是,高速缓存器R支持“altlist“指令,这意味着其被配置为对其内容进行解译。这种高速缓存器R在下文中被称为“智能”高速缓存器,其他高速缓存器被称为传统高速缓存器(还被称为非智能高速缓存器)。
为此,根据优选实施例,并且如图3所示,智能高速缓存器R包括:
-存储模块9,例如,易失性存储器和/或永久存储器,用于在将从一个或多个服务器S接收的多媒体内容的组块传输到请求这种多媒体内容的客户端终端C之前对它们进行存储;
-接口模块10,被配置为从客户端终端C接收针对内容部分的优选表示r的HTTP请求,所述优选表示r属于可允许表示的集合。假定所述HTTP请求指示(在“altlist”指令内)备选表示r’,该备选表示r’可由客户端终端C在优选表示没有被高速缓存的情况下作为替代而接受;
-控制模块11,被配置为检查智能高速缓存器R是否已经具有所请求的优选表示r;以及
-浏览模块12,适配为在优选表示没有被高速缓存的情况下,按照由客户端终端C发送的HTTP请求的“altlist”指令中所列的优选备选表示的顺序进行浏览。在一个变型中,控制模块和浏览模块可以形成仅一个模块。
一旦从客户端终端C接收到针对给定组块In的优选表示r的这种HTTP请求,则智能高速缓存器R的控制模块11检查所述优选表示r是否被高速缓存。
-如果是,则智能高速缓存器R向客户端终端C返回优选表示r;
-如果否,则浏览模块12浏览HTTP请求的“altlist”指令,以按照偏好的顺序连续地检查是否有一个备选表示r’被高速缓存。
当“altlist”指令中的这一备选表示r’被高速缓存时,智能高速缓存器R将所述备选表示r’返回给客户端终端C。
在“altlist”指令中的任何备选表示r’都没有被高速缓存的情况中,智能高速缓存器R被配置为释放由客户端终端C向服务器S发送的HTTP请求。
然后,所释放的HTTP请求可被沿智能高速缓存器R和远程服务器S之间的传输路径的下一个高速缓存器截获,使得如果所述下一个高速缓存器是智能高速缓存器的话,则充当智能高速缓存器R。否则(下一高速缓存器不支持“altlist”指令),其可返回错误消息或可向服务器S释放HTTP请求。
更为细化地,由客户端终端C的通信模块2发送的HTTP请求可在其报头的高速缓存控制扩展中包括(限定辅助信息的)辅助指令“存活时间”(TTL)。“存活时间”指令(也称为令牌)允许“altlist”指令是递归的。为此,TTL指令与限定布置在客户端终端C与服务器S之间的剩余高速缓存器(智能高速缓存器或传统高速缓存器)的数量的TTL值相关联,所述剩余高速缓存器被允许在所述优选表示和所述备选表示没有被存储的情况下向下一个高速缓存器转发所述请求。事实上,从客户端终端接收请求的每个高速缓存器(智能高速缓存器或传统高速缓存器)将在降低所述请求的TTL值的同时对其进行处理和转发。当所述请求的TTL值等于零时,不再对所述请求进行转发,并且可向客户端终端C发送具有错误码(例如412)的响应。可向所述响应添加失败原因。
下文是包括“altlist”和“TTL”指令的HTTP请求的示例:
GET/hi/fileSequence2681.ts HTTP/1.1
Host:example.com
Cache_Control:altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts,TTL=3
更为细化地或作为补充,由客户端终端C的通信模块2发送的HTTP请求可在其报头的高速缓存控制扩展中包括辅助指令“直到元素(until element)”。“直到元素”指令与标识最终高速缓存器的值(例如,高速缓存器的IP地址、合格的域名或任何其他类型的标识符)相关联。
“直到元素”指令按照TTL指令相似的方式操作,只不过在所标识的最终高速缓存器不包括“altlist”指令中的优选表示或备选表示的情况下,当HTTP请求到达所标识的最终高速缓存器时不再对该HTTP请求进行转发。在这种情况下,优选地生成具有错误码(例如412)的响应,并将其发送到客户端终端C。还可向所述响应添加失败原因。
如图4所示,根据所述优选实施例,高速缓存器R被配置为实现以下机制M,以便向客户端终端C提供HAS多媒体内容的给定组块In的所请求的表示。所述机制M包括以下步骤:
-从客户端终端C接收(步骤S0)针对给定组块In部分的优选表示r的HTTP请求,所述优选表示r属于之前所限定的可允许表示的集合。所述HTTP请求还包括列出了所述集合中的备选表示的“altlist”指令;
-检查(步骤S1)优选表示r是否存储在存储模块9中;
-在没有高速缓存所述优选表示r的情况下,按照偏好顺序浏览(步骤S2)所述“altlist”指令中所列的备选表示r’;
-当智能高速缓存器R的存储模块9中没有对任何备选表示r’进行高速缓存时,向服务器S释放(步骤S3)所述HTTP请求。
在优选实施例的变型中,由客户端终端C发送的HTTP请求的高速缓存控制扩展还可包括附加指令(限定附加信息),名为“only_if_cached”。保持所述“altlist”指令的优先级高于高速缓存控制报头中的“only_if_cached”指令的优先级。下文是具有上述指令的HTTP请求的示例:
GET/hi/fileSequence2681.ts HTTP/1.1
Host:example.com
Cache_Control:only_if_cached,altlist=http://example.com/med/fileSequence2681.ts,http://example.com/low/fileSequence2681.ts
在这一变型中,一旦接收到针对给定组块In的优选表示r的这种HTTP请求(包括指令“only_if_cached”和“altlist”两者),则所述智能高速缓存器R检查所述优选表示r是否被高速缓存:
-如果是,则智能高速缓存器R向客户端终端C返回优选表示r;
-如果否,则浏览模块12浏览HTTP请求中的“altlist”指令,以按照偏好的顺序连续地检查是否有一个备选表示r’被高速缓存。
当“altlist”指令的这一备选表示r’被高速缓存时,智能高速缓存器R将所述备选表示r’返回给客户端终端C。
在“altlist”指令中的任何备选表示r’都没有被高速缓存的情况中,由于“only_if_cached”指令的存在,智能高速缓存器R从而被配置为返回错误消息(例如“HTTP/1.1 504altlist_supported”),以同时指示:
-优选表示r没有被高速缓存;
-高速缓存器R支持所述“altlist”指令,从而可从接收到这种错误消息导出:“altlist”指令中的任何备选表示r’都没有被高速缓存。
在又一步骤中,客户端终端C可以向远程服务器S发送新的请求,以从服务器S直接检索给定组块In的优选表示r。为此,在该新的请求的报头中既没有使用“only_if_cached”指令也没有使用“altlist“指令。显然,这一新的请求也可只包括“altlist”指令,而不具有“only_if_cached”指令。
在说明书、权利要求书和附图中公开的参考示例可以单独地或以任意适当的组合方式来提供。特征可在适当地情况中被实现为硬件、软件或二者的组合。
权利要求书中出现的参照数字仅作为举例说明而不是限制权利要求的范围。
已经描述了本发明的优选实施例,显然,在本领域技术人员的能力之内,并且无需创造性能力,可以进行多种修改和实施例。相应地,本发明的范围由所附权利要求的范围限定。
在权利要求中,被表达为用于执行指定功能的装置(例如,自适应流传输模块3、带宽估计器7、选择模块8、控制模块11、浏览模块12等)的任意元件意在包括执行该功能的任何方式,包括例如a)执行该功能的电路元件(例如一个或多个处理器)的组合,或b)任何形式的软件,因而包括固件、微代码等,其与适当的电路组合以运行该软件来执行该功能。由这种权利要求限定的原理在于由各种记载的装置提供的功能以权利要求所要求的方式组合在一起。因此,将可以提供这些功能的任何装置认为是等同于本文所示的装置。
Claims (15)
1.一种用于向客户端终端(C)提供多媒体内容的内容部分的方法,其中,一个或多个高速缓存器(R)沿客户端终端(C)和远程服务器(S)之间的传输路径布置,所述内容部分的若干表示是可用的,
所述方法包括:
-在第一高速缓存器(R)处从客户端终端(C)接收(S0)针对所述内容部分的给定表示的请求,所述给定表示属于在所述可用的表示之中选择的可允许表示的集合,所述请求还包括所述集合的备选表示的列表和用于指定所述请求的范围的辅助信息;
-在所述第一高速缓存器(R)处检查(S1)所述给定表示是否存储在所述高速缓存器(R)中;
-在所述给定表示未被高速缓存的情况下,在所述第一高速缓存器(R)处浏览(S2)所列出的备选表示。
2.根据权利要求1所述的方法,其中,辅助信息限定布置在客户端和服务器之间的剩余高速缓存器的数量,所述剩余高速缓存器被允许在所述给定表示和所述备选表示没有被存储的情况下向下一个高速缓存器转发所述请求。
3.根据权利要求2所述的方法,其中,当所述剩余高速缓存器中的最后一个高速缓存器不具有所述给定表示和所述备选表示时,向所述客户端发送错误消息。
4.根据权利要求1-3中的任一项所述的方法,其中,辅助信息限定沿所述传输路径布置的最终高速缓存器,以使得在所述给定表示和所述备选表示没有存储在所述最终高速缓存器中的情况下,所述最终高速缓存器不转发所述请求。
5.根据权利要求4所述的方法,其中,当所述最终高速缓存器不具有所述给定表示和所述备选表示时,向所述客户端发送错误消息。
6.根据权利要求1-5中的任一项所述的方法,其中,按照偏好顺序浏览所述备选表示。
7.根据权利要求1-6中的任一项所述的方法,其中,每个备选表示的对应比特率低于给定表示的比特率。
8.根据权利要求7所述的方法,其中,所述集合中的每个可允许表示的相应比特率至多等于客户端终端(C)和远程服务器(S)之间的传输路径的带宽。
9.根据权利要求1-8中的任一项所述的方法,其中,所使用的传输协议是HTTP,所述请求是HTTP请求,并且所述HTTP请求的高速缓存控制扩展包括备选表示的所述列表。
10.根据权利要求1-9中的任一项所述的方法,其中,所述请求包括附加信息,以使得所述第一高速缓存器(R)在对所请求的表示或所列出的备选表示进行了缓存的情况下返回所请求的表示或所列出的备选表示,或者在既没有对给定表示也没有对所列出的备选表示中的任何一个进行缓存的情况下返回响应消息。
11.根据权利要求10所述的方法,其中,所使用的传输协议是HTTP,所述附加信息包括在所述HTTP请求的高速缓存控制扩展中。
12.一种高速缓存器,被配置用于向客户端终端(C)提供多媒体内容的内容部分,所述高速缓存器(R)沿客户端终端(C)和远程服务器(S)之间的传输路径布置,所述内容部分的若干表示是可用的,
其特征在于,所述高速缓存器包括:
-接口模块(10),用于从客户端终端(C)接收针对所述内容部分的给定表示的请求,所述给定表示属于在所述可用的表示之中选择的可允许表示的集合,所述请求还包括所述集合的备选表示的列表和用于指定所述请求的范围的辅助信息;
-控制模块(11),用于检查是否存储了所述给定表示;
-浏览模块(12),被配置为在所述给定表示未被高速缓存的情况下,浏览所列出的备选表示。
13.根据权利要求12所述的高速缓存器,其中,按照偏好顺序浏览所述备选表示。
14.根据权利要求12或13所述的高速缓存器,其中,辅助信息限定布置在客户端和服务器之间的剩余高速缓存器的数量,所述剩余高速缓存器被允许在所述给定表示和所述备选表示没有被存储的情况下向下一个高速缓存器转发所述请求,当在所述高速缓存器处剩余高速缓存器的数量等于零时,不转发所述请求。
15.根据权利要求12-14中的任一项所述的高速缓存器,其中,辅助信息限定沿所述传输路径布置的最终高速缓存器,在以下情况中,不转发所述请求:
-所述给定表示和所述备选表示均未存储在所述高速缓存器中;以及
-所述高速缓存器对应于所述最终高速缓存器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14305015.1 | 2014-01-07 | ||
EP14305015 | 2014-01-07 | ||
PCT/EP2014/062215 WO2015104070A1 (en) | 2014-01-07 | 2014-06-12 | Method for providing a content part of a multimedia content to a client terminal, corresponding cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105900433A true CN105900433A (zh) | 2016-08-24 |
CN105900433B CN105900433B (zh) | 2020-02-21 |
Family
ID=49999852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480072421.3A Active CN105900433B (zh) | 2014-01-07 | 2014-06-12 | 用于向客户端终端提供多媒体内容的内容部分的方法和相应高速缓存器 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10735544B2 (zh) |
EP (1) | EP3092811B1 (zh) |
JP (1) | JP6538061B2 (zh) |
KR (1) | KR102212973B1 (zh) |
CN (1) | CN105900433B (zh) |
AU (1) | AU2014377337B2 (zh) |
BR (1) | BR112016015878B1 (zh) |
TW (2) | TW201527979A (zh) |
WO (1) | WO2015104070A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10033824B2 (en) * | 2014-06-30 | 2018-07-24 | Samsung Electronics Co., Ltd. | Cache manifest for efficient peer assisted streaming |
US10152080B2 (en) | 2015-09-23 | 2018-12-11 | Adobe Systems Incorporated | Power efficient multimedia content streaming based on media segment duration |
WO2021009597A1 (en) | 2019-07-12 | 2021-01-21 | Carrier Corporation | A system and a method for streaming videos by creating object urls at client |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044740A1 (en) * | 2000-09-01 | 2004-03-04 | Richard Cudd | Downloading and uploading data in information networks |
US20120284371A1 (en) * | 2011-05-03 | 2012-11-08 | Cisco Technology, Inc. | Reducing Fetching Load on Cache Servers in Adaptive Streaming |
US20130173737A1 (en) * | 2011-12-29 | 2013-07-04 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
CN103493499A (zh) * | 2011-03-16 | 2014-01-01 | 韩国电子通信研究院 | 提供使用表示的流媒体内容的装置及方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756342B1 (en) * | 2000-02-07 | 2014-06-17 | Parallel Networks, Llc | Method and apparatus for content synchronization |
US6820114B2 (en) * | 2001-09-27 | 2004-11-16 | Sap Aktiengesellschaft | Identifying object suppliers in a network |
US8650266B2 (en) * | 2002-03-26 | 2014-02-11 | At&T Intellectual Property Ii, L.P. | Cache validation using smart source selection in a data network |
US7076544B2 (en) | 2002-04-08 | 2006-07-11 | Microsoft Corporation | Caching techniques for streaming media |
US7085894B2 (en) * | 2003-09-11 | 2006-08-01 | International Business Machines Corporation | Selectively accepting cache content |
JP2006171822A (ja) * | 2004-12-13 | 2006-06-29 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ配信方法 |
WO2008098249A1 (en) | 2007-02-09 | 2008-08-14 | Dilithium Networks Pty Ltd. | Method and apparatus for the adaptation of multimedia content in telecommunications networks |
US20090094224A1 (en) * | 2007-10-05 | 2009-04-09 | Google Inc. | Collaborative search results |
US8799409B2 (en) * | 2009-01-15 | 2014-08-05 | Ebay Inc. | Server side data cache system |
US9310959B2 (en) * | 2009-06-01 | 2016-04-12 | Zya, Inc. | System and method for enhancing audio |
KR101218828B1 (ko) * | 2009-07-02 | 2013-01-04 | (주)에임투지 | 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법 |
US8000259B2 (en) * | 2009-09-04 | 2011-08-16 | Viasat, Inc. | Distributed cache—adaptive multicast architecture for bandwidth reduction |
US8560598B2 (en) * | 2009-12-22 | 2013-10-15 | At&T Intellectual Property I, L.P. | Integrated adaptive anycast for content distribution |
EP2410744A1 (en) * | 2010-07-23 | 2012-01-25 | Alcatel Lucent | Method for transferring video segments, client entity and proxy entity realizing such a method |
US20120194534A1 (en) | 2011-02-02 | 2012-08-02 | Alcatel-Lucent Usa Inc. | System and Method for Managing Cache Storage in Adaptive Video Streaming System |
EP2487609A1 (en) * | 2011-02-07 | 2012-08-15 | Alcatel Lucent | A cache manager for segmented multimedia and corresponding method for cache management |
CN102204218B (zh) * | 2011-05-31 | 2015-01-21 | 华为技术有限公司 | 数据处理方法、缓存节点、协作控制器及系统 |
JP2013069073A (ja) * | 2011-09-21 | 2013-04-18 | Nec Corp | 配信ネットワークとサーバ及び配信方法 |
US9729603B2 (en) * | 2012-09-27 | 2017-08-08 | Alcatel Lucent | Content stream delivery using variable cache replacement granularity |
US9621399B1 (en) * | 2012-12-19 | 2017-04-11 | Amazon Technologies, Inc. | Distributed caching system |
EP2819368A1 (en) * | 2013-06-28 | 2014-12-31 | Thomson Licensing | Method for providing a content part of a multimedia content to a client terminal, corresponding cache |
US9887958B2 (en) * | 2013-09-16 | 2018-02-06 | Netflix, Inc. | Configuring DNS clients |
US8819187B1 (en) * | 2013-10-29 | 2014-08-26 | Limelight Networks, Inc. | End-to-end acceleration of dynamic content |
US9325639B2 (en) * | 2013-12-17 | 2016-04-26 | At&T Intellectual Property I, L.P. | Hierarchical caching system for lossless network packet capture applications |
US9792050B2 (en) * | 2014-08-13 | 2017-10-17 | PernixData, Inc. | Distributed caching systems and methods |
-
2014
- 2014-06-12 US US15/110,210 patent/US10735544B2/en active Active
- 2014-06-12 WO PCT/EP2014/062215 patent/WO2015104070A1/en active Application Filing
- 2014-06-12 AU AU2014377337A patent/AU2014377337B2/en active Active
- 2014-06-12 EP EP14730149.3A patent/EP3092811B1/en active Active
- 2014-06-12 JP JP2016544798A patent/JP6538061B2/ja active Active
- 2014-06-12 BR BR112016015878-4A patent/BR112016015878B1/pt active IP Right Grant
- 2014-06-12 KR KR1020167018200A patent/KR102212973B1/ko active IP Right Grant
- 2014-06-12 CN CN201480072421.3A patent/CN105900433B/zh active Active
- 2014-06-25 TW TW103121791A patent/TW201527979A/zh unknown
- 2014-06-25 TW TW103121790A patent/TWI634789B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044740A1 (en) * | 2000-09-01 | 2004-03-04 | Richard Cudd | Downloading and uploading data in information networks |
CN103493499A (zh) * | 2011-03-16 | 2014-01-01 | 韩国电子通信研究院 | 提供使用表示的流媒体内容的装置及方法 |
US20120284371A1 (en) * | 2011-05-03 | 2012-11-08 | Cisco Technology, Inc. | Reducing Fetching Load on Cache Servers in Adaptive Streaming |
US20130173737A1 (en) * | 2011-12-29 | 2013-07-04 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
Non-Patent Citations (1)
Title |
---|
KRI SHNAPPA DI LIP KUMAR ET AL: "DASHing YouTube: An analysis of using DASH inYouTube video ervice", 《38TH ANNUAL IEEE CONFERENCE ON LOCAL COMPUTER NETWORKS》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2017510120A (ja) | 2017-04-06 |
KR102212973B1 (ko) | 2021-02-04 |
EP3092811A1 (en) | 2016-11-16 |
CN105900433B (zh) | 2020-02-21 |
BR112016015878A2 (zh) | 2017-08-08 |
TWI634789B (zh) | 2018-09-01 |
KR20160105803A (ko) | 2016-09-07 |
AU2014377337A1 (en) | 2016-08-18 |
TW201528806A (zh) | 2015-07-16 |
US10735544B2 (en) | 2020-08-04 |
EP3092811B1 (en) | 2020-02-12 |
TW201527979A (zh) | 2015-07-16 |
WO2015104070A1 (en) | 2015-07-16 |
AU2014377337B2 (en) | 2019-08-01 |
JP6538061B2 (ja) | 2019-07-03 |
BR112016015878B1 (pt) | 2023-02-23 |
US20160330289A1 (en) | 2016-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609101B2 (en) | Streaming of segmented content | |
US11805184B2 (en) | Content delivery systems and methods | |
KR101987784B1 (ko) | 소프트웨어 정의 네트워크를 기반으로 내용 배포 네트워크를 구현하는 방법 및 시스템 | |
US9015335B1 (en) | Server side stream switching | |
JP6698553B2 (ja) | 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求 | |
CN102377823B (zh) | 一种通过滑屏实现多屏多用户之间互动分享的方法及系统 | |
US20160182668A1 (en) | Acceleration nodes for improving web traffic quality of service | |
JP2018517341A (ja) | 改善されたモバイルインターネットの速度およびセキュリティのためのシステム | |
WO2019128800A1 (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
CN105556922B (zh) | 网络中的dash表示自适应 | |
CN103348657B (zh) | 流媒体播放方法、设备及系统 | |
US20170041422A1 (en) | Method and system for retrieving a content manifest in a network | |
WO2015142752A1 (en) | Transport accelerator implementing a multiple interface architecture | |
CN104320405A (zh) | 一种适用于星型卫星网络的上网优化方法 | |
CN105900433A (zh) | 用于向客户端终端提供多媒体内容的内容部分的方法和相应高速缓存器 | |
CN106416198A (zh) | 用于使用http流的dash流的方法和装置 | |
JP6550405B2 (ja) | クライアント端末と少なくとも1つのサーバとの間の伝送経路に沿って配置されたネットワーク装置を動作させる方法およびそれに対応するネットワーク装置 | |
CN104581421A (zh) | 一种点对点流媒体下载方法及节点终端装置 | |
CN105163144A (zh) | 在线网络视频p2p传输方法 | |
TW201501526A (zh) | 提供多媒體內容之內容部分至用戶端之方法及對應之快取 | |
CN105230074B (zh) | 视频缓存切换处理方法、装置和系统 | |
CN105359485B (zh) | 由客户终端获得多媒体内容的内容部分的方法 | |
CN106210867A (zh) | 一种数据分享的方法和装置 | |
CN110036607B (zh) | 用于在内容分发网络中动态汇集资源的方法和请求路由器 | |
CN115776602A (zh) | 一种点播方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191105 Address after: Delaware, USA Applicant after: Interactive Digital VC Holding Company Address before: Icelemulino, France Applicant before: Thomson Licensing Company |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |