CN105306520A - 操作高速缓存器的方法及相应高速缓存器 - Google Patents
操作高速缓存器的方法及相应高速缓存器 Download PDFInfo
- Publication number
- CN105306520A CN105306520A CN201510302996.6A CN201510302996A CN105306520A CN 105306520 A CN105306520 A CN 105306520A CN 201510302996 A CN201510302996 A CN 201510302996A CN 105306520 A CN105306520 A CN 105306520A
- Authority
- CN
- China
- Prior art keywords
- cache
- dane
- client terminal
- request
- alternative expression
- 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
- 238000000034 method Methods 0.000 title claims description 23
- 230000004044 response Effects 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 230000014509 gene expression Effects 0.000 claims description 96
- 230000011218 segmentation Effects 0.000 claims description 50
- 230000006978 adaptation Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008447 perception Effects 0.000 claims description 9
- 238000007689 inspection Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000005291 magnetic effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- 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
- 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/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/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2225—Local VOD servers
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6338—Control signals issued by server directed to the network components or client directed to network
-
- 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)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种适于布置在客户终端与至少一个服务器之间的第一类型高速缓存器(DANE):-配置为从客户终端接收针对多媒体内容的分段的至少第一表示的请求,所述多媒体内容以多个表示的形式可用,并且-包括配置为向客户终端发送响应的模块(2),所述响应包括:·所述分段的由所述第一类型高速缓存器(DANE)高速缓存的一个备选表示;·第一附加信息,防止在第一类型高速缓存器(DANE)与客户终端之间布置的第二类型高速缓存器高速缓存所述响应中的该备选表示;以及·第二附加信息,标识所述响应中的该备选表示,允许另一第一类型高速缓存器(DANE)高速缓存所述备选表示。
Description
技术领域
本发明总体上涉及例如但不排他地通过HTTP(超文本传输协议)的自适应流传输(adaptivestreaming)技术领域,具体涉及对沿着客户终端与远程服务器之间的传输路径布置的高速缓存器(cache)的操作。
背景技术
本节意在向读者介绍相关技术的各个方面,这些方面可能与以下描述和/或要求保护的本发明的各个方面相关。相信本讨论有助于向读者提供背景信息,以便于更好地理解本发明的各个方面。因此,应当理解,这些陈述应当据此阅读,而并非作为对现有技术的认可。
通过HTTP的自适应流传输(也称作多比特率切换或HAS)正在迅速成为多媒体内容分发的主要技术。在已经使用的HTTP自适应流传输协议中,最著名的是来自Apple的HTTP直播流传输(HLS),来自Microsoft的Silverlight平滑流传输(SSS),来自Adobe的Adobe动态流传输(ADS)、3GPP以及MPEG开发的通过HTTP的动态自适应流传输(DASH)(标准化为ISO/IEC23009-1:2012)。
当客户终端希望以自适应流传输的方式播放视听内容(或A/V内容)时,首先必须得到描述如何能够获得该A/V内容的文件。通常这通过从URL(统一资源定位符)得到描述文件(所谓的清单(manifest))经由HTTP协议来进行,但是也能够通过其他方式(例如,广播、电子邮件、SMS等)来实现。预先产生并由远程服务器传送至客户终端的清单基本上(在比特率、分辨率和其他属性方面)列举了这种A/V内容的可用表示(也称作实例或版本)。表示与给定质量级别(比特率)相关联。
将每个表示的整体数据流划分成等持续时间的分段(segment)(也称作分块(chunk))(可通过分离的URL访问),这些分段被配置为使得客户终端可以在两个分段之间平滑地从一个质量级别切换到另一个质量级别。因此,视频质量可以在播放时变化,而几乎不会中断(也称作冻结)。
在客户端一侧,基于传输路径的可用带宽的测量来选择分段。具体地,客户终端通常请求与符合所测量带宽的比特率编码相对应且因此与符合所测量带宽的质量相对应的分段表示。
当高速缓存器沿着客户终端与远程服务器之间的传输路径时,在以下情况下给定分段的一个表示可能已经存储在所述高速缓存器中:另一客户先前已经请求了具有相同表示的相同分段,或者内容传递网络(CDN)已经在高速缓存器中供应了该分段。因此,与分段来自远程服务器的情况相比,对针对所述给定分段的HTTP请求的响应更快,并且可以避免重复传输,有效地节省了网络资源。
然而,HTTP自适应流传输看起来并非是高速缓存器友好型的(或者,至少与关于实例H264-SVC的所谓分层基本切换(layeredbaseswitching)相比,高速缓存器友好性要差)。确实,如果第一客户终端请求给定分段的表示r,第二客户终端(与所述第一客户终端共享传输路径的一部分和高速缓存器)请求所述给定分段的一表示(质量较高或较低),于是高速缓存器并未命中,导致高速缓存器与服务器之间的网络段上负载较高,存在引起拥塞的风险。那么完全消除了高速缓存的优点,并且高速缓存器当前不能改进这种情况。
为了克服该缺陷,已知客户终端可以发送针对包括第一(也称作优选)表示和一个或若干备选表示在内的给定分段的请求。当这样的请求到达HAS感知高速缓存器(HASawarecache)(意味着所述高速缓存器符合HAS协议如MPEG-DASH)时,所述高速缓存器在高速缓存了第一表示的情况下传送第一表示,或者在没有高速缓存第一表示的情况下浏览备选表示。当高速缓存了备选表示之一时,高速缓存器向客户终端发送所述备选表示。然而,对于许多新技术,DASH感知高速缓存器的渐进部署(所谓的智能高速缓存器或DANE(DASH感知网络元件))需要DASH感知高速缓存器与不是DASH感知的当前高速缓存器(所谓的继承高速缓存器(legacycache))共存。这种共存带来了需要解决的新问题,尤其是在给定DANE以第一表示(如果被高速缓存的话)或HTTP请求中所列举的备选表示之中的一个表示来答复该请求时。当位于客户终端与给定DANE之间的中间继承高速缓存器接收到DANE发送的响应时,可能将该响应存储为第一表示。当DANE发送的返回响应不对应于第一表示而是对应于请求中的备选表示之一时,可能误导所述中间继承高速缓存器。因此,在从另一客户终端接收到针对相同分段的所述第一表示的另一请求时,中间继承高速缓存器认为其先前已经高速缓存了第一表示,因此以高速缓存的备选表示错误地答复。中间继承高速缓存器没有认识到DANE做出的替换。
本发明至少克服了上述缺点,以防止中间继承高速缓存器的错误高速缓存。
发明内容
本发明涉及一种操作第一类型高速缓存器的方法,该第一类型高速缓存器适于布置在客户终端与至少一个服务器之间,所述第一类型高速缓存器配置为从客户终端接收针对以多个表示的形式可用的多媒体内容的分段的请求,所述方法包括:
-从客户终端接收针对分段的至少第一表示的请求,
其特征在于,所述方法还包括:
-当所述第一类型高速缓存器没有高速缓存第一表示时,向客户终端发送包括以下内容的响应:
●所述分段的由第一类型高速缓存器高速缓存的一个备选表示;
●第一附加信息,防止在第一类型高速缓存器与客户终端之间布置的第二类型高速缓存器高速缓存响应中的该备选表示;以及
●第二附加信息,标识该响应中的该备选表示。
因此,由于本发明,位于发送响应的第一类型高速缓存器与客户终端之间的任何另一第一类型高速缓存器可以知道所传送的分段表示不对应于所请求的第一表示,而对应于备选表示。因此,这种另一第一类型高速缓存器可以正确地高速缓存所传送的备选表示。此外,布置在发送响应的第一类型高速缓存器与客户终端之间的第二类型高速缓存器不会存储由第一类型高速缓存器发送的响应中的表示。防止这样的第二类型高速缓存器随后响应于同样请求相同分段的第一表示的另一客户终端的另一请求,传送备选表示(认为该备选表示是第一表示)。
在本发明的实施例中,在发送步骤之前,所述第一类型高速缓存器在没有高速缓存第一表示的情况下,检查其是否已经高速缓存了所述分段的一个备选表示。
具体地,可以在客户终端发送的请求中指定所述分段的所述至少一个备选表示。在变型中,客户终端发送的请求可以仅包括第一表示。
在具体实施例中,第一类型高速缓存器是HTTP自适应流传输感知高速缓存器(HTTPAdpativeStreamingawarecache),第二类型高速缓存器是继承高速缓存器(legacycache)。
在本实施例的一个方面中,所述请求是HTTP请求,所述第一附加信息可以包括在响应的高速缓存器控制首部中。
在另一方面中,所述请求是HTTP请求,所述第二附加信息可以包括在响应的另一首部内。在变型中,所述第二附加信息可以包括在响应的高速缓存器控制首部内。
本发明还涉及一种第一类型高速缓存器,适于布置在客户终端与至少一个服务器之间,所述第一类型高速缓存器配置为从客户终端接收针对多媒体内容的分段的第一表示的请求,所述多媒体内容以多个表示的形式可用,
其特征在于,所述第一类型高速缓存器包括配置为向客户终端发送响应的另一模块,所述响应包括:
●所述分段的由所述第一类型高速缓存器高速缓存的一个备选表示;
●第一附加信息,防止在第一类型高速缓存器与客户终端之间布置的第二类型高速缓存器高速缓存所述响应中的该备选表示;以及
●第二附加信息,标识所述响应中的该备选表示。
此外,所述第一类型高速缓存器可以包括:控制模块,配置为在没有高速缓存第一表示的情况下检查第一类型高速缓存器是否已经高速缓存了请求中的第一表示或所述分段的至少一个备选表示。
具体地,可以在客户终端发送的请求中指定所述分段的所述至少一个备选表示。在变型中,客户终端发送的请求可以仅包括第一表示。
此外,所述第一类型高速缓存器是HTTP自适应流传输感知高速缓存器,第二类型高速缓存器是继承高速缓存器。
本发明还涉及一种终端,配置为向至少一个服务器(SE)发送针对多媒体内容的分段的至少第一表示的请求,所述多媒体内容以多个表示的形式可用,
其中,所述终端包括:通信模块,配置为从布置在所述至少一个服务器与所述终端之间的第一类型高速缓存器接收响应,所述响应包括:
●所述分段的由所述第一类型高速缓存器高速缓存的一个备选表示;
●第一附加信息,防止在第一类型高速缓存器(DANE)与客户终端之间布置的第二类型高速缓存器高速缓存所述响应中的该备选表示;以及
●第二附加信息,标识所述响应中的该备选表示,允许另一第一类型高速缓存器高速缓存所述备选表示。
本发明还涉及一种计算机程序产品,从通信网络可下载和/或记录在计算机可读介质上和/或可由处理器执行,所述计算机程序产品包括用于实现上述方法的步骤的程序代码指令。
此外,本发明还涉及一种非暂时计算机可读介质,其上记录有能够由处理器运行的计算机程序产品,所述计算机程序产品包括用于实现上述方法的步骤的程序代码指令。
以下阐述了范围与所公开实施例相当的一些方面。应当理解,提出这些方面仅为了向读者提供本发明可能采用的一些形式的简要概述,并且这些方面并不意在限制本发明的范围。事实上,本发明可以涵盖以下未详述的多个方面。
附图说明
参照附图,通过以下实施例和执行示例以非限制性的方式更好地理解和示意本发明,在附图中:
图1是可以实现本发明的客户端-服务器网络架构的示意图;
图2A是根据本发明优选实施例的智能高速缓存器示例的框图;
图2B是根据本发明优选实施例的客户终端示例的框图;
图3是示出了根据优选实施例的用于操作图2A的智能高速缓存器的方法的流程图。
在图1、2A和2B中,呈现的框是纯功能实体,不一定对应于物理上分离的实体。即,这些框能够以软件、硬件的形式来开发,或者在包括一个或多个处理器的一个或若干集成电路中实现。
只要可能,贯穿附图使用相同附图标记来指代相同或类似部件。
具体实施方式
应当理解,已经简化了本发明的附图和描述,以示意与清楚理解本发明有关的元件,同时为了清楚目的,消除了在典型数字多媒体内容传送方法和***中存在的许多其他元件。然而,由于这样的元件在本领域是公知的,因此这里不提供对这种元件的详细描述。
根据优选实施例,针对HTTP自适应流传输协议(或HAS),并且特别是针对MPEG-DASH来描述本发明。当然,本发明不限于这种特定环境,当然也可以考虑和实现其他自适应流传输协议。
如图1所示,一个或若干网络N(在附图中仅呈现了一个)所支持的能够实现本发明的客户端-服务器网络架构包括一个或若干客户终端CT(在附图中仅呈现了一个)、一个或多个HTTP服务器SE、多个智能高速缓存器DANE、以及一个或多个继承高速缓存器RNE。根据DASH,这样的服务器SE还命名为媒体源(MediaOrigin)。例如,服务器SE产生媒体呈现描述(或MPD),即所谓的清单。这是内容分发的源:多媒体内容可以源自一些外部实体,并且在媒体源处转换成HAS格式。
智能高速缓存器DANE是网络N中的高速缓存元件,配置为认识到传送了HAS内容。使用MPEG-DASH术语,将智能高速缓存器视为DASH感知网络元件(DANE)。
继承高速缓存器RNE是网络N中的高速缓存元件,不知道通过其传输的数据类型,或者至少不理解HAS方面。在MPEG-DASH术语中,将继承高速缓存器视为规则网络元件(RNE)。
客户终端CT希望从HTTP服务器SE之一获得多媒体内容。所述多媒体内容划分成多个分段。假设多媒体内容在服务器SE处以不同表示可用。在客户端请求时,HTTP服务器SE能够通过一个或多个TCP/IP连接使用HTTP自适应流传输协议,将分段流传输至客户终端CT。
客户终端CT可以是便携式媒体设备、移动电话、平板或膝上型计算机、电视机、机顶盒、游戏设备或集成电路。当然,客户终端CT可能不包括完整的视频播放器,而仅包括一些子元件,例如,用于对媒体内容解复用和解码的子元件,并且可能依赖于外部装置向终端用户显示已解码内容。在这种情况下,客户终端CT是HAS感知视频解码器,例如,机顶盒。
如图2A所示,智能高速缓存器DANE包括:
-一个或多个连接接口1(有线和/或无线);
-通信模块2,包括通过连接接口1进行通信的协议栈,具体地,通信模块可以包括互联网协议栈、著名的IP栈;
-存储模块3,例如,易失性存储器和/或永久存储器,用于存储从一个或多个服务器SE接收的多媒体内容的分段,以便将分段发送至请求这种多媒体内容的客户终端CT;
-一个或多个处理器4,执行例如存储在存储模块3中的应用和程序;
-控制模块5,形成为检查智能高速缓存器DANE是否已经高速缓存了请求第一表示的请求(由客户终端CT发送)中的第一表示或者在没有高速缓存第一表示时是否已经高速缓存了列表中的一个备选表示;
-浏览模块6,适于在没有高速缓存第一表示的情况下,按照优选顺序浏览客户终端CT发送的请求中所列的备选表示。在变型中,控制模块和浏览模块可以定义仅一个模块;
-内部总线B,连接各模块、处理装置以及本领域技术人员公知的用于执行一般驻留网关功能的所有装置。
如图2B所示,客户终端CT至少包括:
-一个或多个连接接口1A(有线和/或无线,例如,WiFi、以太网、ADSL、线缆、移动和/或广播(例如,DVB、ATSC)接口);
-通信模块2A,包含与HTTP服务器SE通信的协议栈。具体地,通信模块2A包括本领域公知的TCP/IP栈。当然,能够是任何其他类型的网络和/或通信装置,使得客户终端CT能够与HTTP服务器SE通信;
-自适应流传输模块3A,从HTTP服务器SE接收HTTP流传输多媒体内容。自适应流传输模块3A基于来自选择模块8A的信息,不断地选择比特率更好地匹配网络约束及其自身约束的分段;
-视频播放器4A,适于对多媒体内容进行解码和渲染;
-一个或多个处理器5A,用于执行客户终端CT的非易失性存储器中存储的应用和程序;
-存储装置6A,例如,易失性存储器,用于缓冲从HTTP服务器SE接收的分段,之后将这些分段传输至视频播放器4A;
-带宽估计器7A,配置为估计传输路径的带宽;
-选择模块8A,配置为确定客户终端CT可以请求的容许表示的集合。在多媒体内容的给定分段的可用表示(如关联清单中所列)中选择容许表示。具体地,模块8A对给定分段的容许表示集合的确定可以基于一个或若干性能准则(例如,所估计的带宽、客户终端的能力、先前请求的分段的表示、客户终端CT的终端用户需要的体验质量等)。在变型中,选择模块8A可以集成在自适应流传输模块3A内;
-内部总线B1,连接各模块以及本领域技术人员公知的用于执行一般客户终端功能的所有装置。
在下文中,假定给定客户终端CT在网络N上发送请求,以获得多媒体内容的给定分段。所述请求指定所述给定分段的第一表示以及一个或多个备选表示,当第一表示在接收请求的智能高速缓存器DANE处不可用时,按照优选顺序浏览该一个或多个备选表示。
根据优选实施例,智能高速缓存器DANE的通信模块2还配置为,在所述智能高速缓存器DANE没有高速缓存第一表示时(在控制模块5的检查之后)向客户终端CT发送包括以下内容的响应:
-由智能高速缓存器DANE高速缓存的请求中的备选表示之一;
-第一附加信息,防止位于智能高速缓存器DANE与客户终端CT之间的任何继承高速缓存器RNE高速缓存(由智能高速缓存器DANE返回的)响应中的备选表示。例如,所述第一附加信息包括在响应的高速缓存器控制首部(例如,Cache-control:no-cache,unless-altlist-capable,其中“altlist”是用于指定请求中分段的备选表示的指示)内;以及
-第二附加信息,标识所述响应中的该备选表示。作为示例,所述第二附加信息包括在响应的另一首部内,以指示返回的备选表示的URL(例如,X-altlist-location:B,B是所述URL),使得中间智能高速缓存器DANE(位于提供备选表示的所考虑智能高速缓存器DANE与客户终端CT之间)变得认识到传送至客户终端CT的表示。
当请求的第一表示已经存储在智能高速缓存器DANE中时,将HTTP协议的状态码200(意味着已经成功处理了请求)附到所述智能高速缓存器DANE发送的响应中,在这种情况下不存在所述第一和第二附加信息。
当智能高速缓存器DANE没有高速缓存所请求的第一表示,而存储了请求中所列的一个备选表示时,同样将状态码200附到智能高速缓存器DANE发送的响应中,在这种情况下,附有第一和第二附加信息。
由于优选实施例,当返回的表示不是第一表示时,智能高速缓存器DANE发送的响应明确地指示智能高速缓存器DANE已经传送了请求中的哪个备选表示。因此,位于发送响应的智能高速缓存器DANE与客户终端CT之间的任何另一智能高速缓存器DANE能够认识到返回的表示不是第一表示,而是请求中所列的备选表示。此外,智能高速缓存器DANE与客户终端CT之间的继承高速缓存器RNE不会高速缓存该响应,以防止认为备选表示是请求中的第一表示,从而稍后将该备选表示传送至另一客户终端。
如图3所示,根据所述优选实施例,智能高速缓存器DANE配置为实现以下机制M,向客户终端CT提供HAS多媒体内容的给定分段的所请求表示。
所述机制M包括以下步骤:
-从客户终端CT接收(步骤S1)接收针对给定分段的第一表示的HTTP请求,所述第一表示属于如前所定义的容许表示集合。该HTTP请求还包括在智能高速缓存器DANE没有高速缓存第一表示的情况下可以请求的备选表示的列表;
-检查(步骤S2)第一表示是否存储在智能高速缓存器DANE的存储模块9中;
-在没有高速缓存第一表示的情况下,按照优选顺序浏览(步骤S3)请求中所列的备选表示;
-当所述高速缓存器DANE没有高速缓存第一表示而是高速缓存了请求中的备选表示时,向客户终端CT发送(步骤S4)包括以下内容的响应:
●所述高速缓存的备选表示;
●第一附加信息,防止在智能高速缓存器DANE与客户终端CT之间的任何继承高速缓存器RNE高速缓存响应中的备选表示;以及
●第二附加信息,标识该响应中的备选表示。
当没有高速缓存请求中的备选表示时,智能高速缓存器DANE可以向服务器S释放请求。在变型中,智能高速缓存器DANE可以向客户终端发送消息(例如错误消息)。
应当理解,在不背离本发明的前提下,可以至少部分地改变步骤S0至S4的顺序。
在优选实施例的变型中,在智能高速缓存器DANE没有高速缓存所述第一表示的情况下,客户终端CT发送的请求可以仅包括第一表示,而不包括备选表示。在这种情况下,智能高速缓存器DANE的控制模块5还配置为在没有高速缓存第一表示的情况下检查其是否已经高速缓存了分段的一个备选表示(例如,比特率至多等于第一表示的比特率)。当高速缓存了一个备选表示时,通信模块2发送具有所述备选表示的响应。
应当注意,智能高速缓存器DANE可以集成在代理、网关或任何其他适合的网络设备中。
附图中的流程图和/或框图示意了根据本发明各个实施例的***、方法和计算机程序产品的可能实现方式的配置、操作和功能。关于这一点,流程图或框图中的每个框可以表示代码模块、段或部分,包括用于实现指定逻辑功能的一个或多个可执行指令。还应当注意,在一些备选实现方式中,框中标注的功能可以不按照附图中标注的顺序出现。例如,根据所涉及的功能,连续示出的两个框事实上可以实质上并发地执行,或者框有时可以按照相反顺序执行,或者框可以按照备选顺序执行。还应当注意,框图和/或流程图示意的每个框以及框图和/或流程图示意中的框组合可以由执行特定功能或动作的基于专用硬件的***或者专用硬件和计算机指令的组合来实现。尽管未明确描述,但是当前的实施例可以以任何组合或子组合的方式来使用。
本领域技术人员应当认识到,本发明原理的方案可以实现为***、方法或计算机可读介质。因此,本发明原理的方案可以采用以下形式:全部硬件实施例、全部软件实施例(包括固件、驻留软件、微代码等)、或组合了软件方面和硬件方案的实施例,在这里均一般地称为“电路”、“模块”或“***”。此外,本发明原理的方案可以采用计算机可读存储介质的形式。可以利用一个或多个计算机可读存储介质的任何组合。
计算机可读存储介质可以采用计算机可读程序产品的形式,计算机可读程序产品嵌入在一个或多个计算机可读介质中并且其上实现有由计算机可执行的计算机可读程序代码。将这里所使用的计算机可读存储介质视为具备在其中存储信息的固有能力以及从中获取信息的固有能力的非暂时存储介质。例如,计算机可读存储介质可以是但不限于电、磁、光、电磁、红外或半导体***、装置或设备,或者上述***、装置或设备的任何适合组合。应当认识到,尽管以下提供了可以应用本发明原理的计算机可读存储介质的更多具体示例,但是本领域技术人员容易理解,以下仅是示意性并非完尽的列举:便携式计算机磁盘;硬盘;随机存取存储器(RAM);只读存储器(ROM);可擦除可编程只读存储器(EPROM或闪存);便携式紧凑盘只读存储器(CD-ROM);光存储设备;磁存储设备;或上述存储介质的任何适合组合。
Claims (15)
1.一种操作第一类型高速缓存器(DANE)的方法,所述第一类型高速缓存器(DANE)适于布置在客户终端(CT)与至少一个服务器(SE)之间,所述第一类型高速缓存器(DANE)配置为从客户终端(CT)接收针对以多个表示的形式可用的多媒体内容的分段的请求,所述方法包括:
-从客户终端(CT)接收(S1)针对分段的至少第一表示的请求,
其特征在于,所述方法还包括:
-当所述第一类型高速缓存器(DANE)没有高速缓存第一表示时,向客户终端(CT)发送(S4)包括以下内容的响应:
·所述分段的由第一类型高速缓存器(DANE)高速缓存的一个备选表示;
·第一附加信息,防止在第一类型高速缓存器(DANE)与客户终端(CT)之间布置的第二类型高速缓存器(RNE)高速缓存响应中的该备选表示;以及
·第二附加信息,标识该响应中的该备选表示,允许另一第一类型高速缓存器(DANE)高速缓存所述备选表示。
2.根据权利要求1所述的方法,其中,在发送(S4)之前,所述第一类型高速缓存器在没有高速缓存第一表示的情况下,检查(S2)其是否已经高速缓存了所述分段的一个备选表示。
3.根据权利要求2所述的方法,其中,在客户终端(CT)发送的请求中指定所述分段的所述至少一个备选表示。
4.根据权利要求2所述的方法,其中,客户终端(CT)发送的请求仅包括第一表示。
5.根据权利要求1至4中任一项所述的方法,其中,第一类型高速缓存器(DANE)是HTTP自适应流传输感知高速缓存器,第二类型高速缓存器(RNE)是继承高速缓存器。
6.根据权利要求1至5中任一项所述的方法,其中,所述请求是HTTP请求,所述第一附加信息包括在响应的高速缓存器控制首部内。
7.根据权利要求6所述的方法,其中,所述请求是HTTP请求,所述第二附加信息包括在响应的另一首部内。
8.一种第一类型高速缓存器(DANE),适于布置在客户终端(CT)与至少一个服务器(SE)之间,所述第一类型高速缓存器(DANE)配置为从客户终端(CT)接收针对多媒体内容的分段的至少第一表示的请求,所述多媒体内容以多个表示的形式可用,
其特征在于,所述第一类型高速缓存器包括配置为向客户终端(CT)发送响应的另一模块(2),所述响应包括:
·所述分段的由所述第一类型高速缓存器(DANE)高速缓存的一个备选表示;
·第一附加信息,防止在第一类型高速缓存器(DANE)与客户终端(CT)之间布置的第二类型高速缓存器(RNE)高速缓存所述响应中的该备选表示;以及
·第二附加信息,标识所述响应中的该备选表示,允许另一第一类型高速缓存器(DANE)高速缓存所述备选表示。
9.根据权利要求8所述的第一类型高速缓存器,包括:控制模块(5),配置为在没有高速缓存第一表示的情况下检查第一类型高速缓存器是否已经高速缓存了请求中的第一表示或所述分段的至少一个备选表示。
10.根据权利要求9所述的第一类型高速缓存器,其中,在客户终端(CT)发送的请求中指定所述分段的所述至少一个备选表示。
11.根据权利要求9所述的第一类型高速缓存器,其中,客户终端(CT)发送的请求仅包括第一表示。
12.根据权利要求7至11中任一项所述的第一类型高速缓存器,其中,所述第一类型高速缓存器(DANE)是HTTP自适应流传输感知高速缓存器,第二类型高速缓存器(RNE)是继承高速缓存器.
13.一种终端,配置为向至少一个服务器(SE)发送针对多媒体内容的分段的至少第一表示的请求,所述多媒体内容以多个表示的形式可用,
其中,所述终端包括:通信模块(2A),配置为从布置在所述至少一个服务器(SE)与所述终端(CT)之间的第一类型高速缓存器接收响应,所述响应包括:
·所述分段的由所述第一类型高速缓存器(DANE)高速缓存的一个备选表示;
·第一附加信息,防止在第一类型高速缓存器(DANE)与客户终端(CT)之间布置的第二类型高速缓存器(RNE)高速缓存所述响应中的该备选表示;以及
·第二附加信息,标识所述响应中的该备选表示,允许另一第一类型高速缓存器(DANE)高速缓存所述备选表示。
14.一种计算机程序产品,从通信网络可下载和/或记录在计算机可读介质上和/或可由处理器执行,所述计算机程序产品包括用于实现根据权利要求1至7中任一项所述的方法中步骤的程序代码指令。
15.一种非暂时计算机可读介质,其上记录有能够由处理器运行的计算机程序产品,所述计算机程序产品包括用于实现根据权利要求1至7中任一项所述的方法中步骤的程序代码指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110222830.9A CN113037821B (zh) | 2014-06-05 | 2015-06-04 | 操作高速缓存器的方法及相应高速缓存器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14305857.6 | 2014-06-05 | ||
EP14305857.6A EP2953313A1 (en) | 2014-06-05 | 2014-06-05 | Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110222830.9A Division CN113037821B (zh) | 2014-06-05 | 2015-06-04 | 操作高速缓存器的方法及相应高速缓存器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306520A true CN105306520A (zh) | 2016-02-03 |
CN105306520B CN105306520B (zh) | 2021-03-16 |
Family
ID=51062743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510302996.6A Active CN105306520B (zh) | 2014-06-05 | 2015-06-04 | 操作高速缓存器的方法及相应高速缓存器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10728295B2 (zh) |
EP (2) | EP2953313A1 (zh) |
JP (1) | JP6532764B2 (zh) |
KR (1) | KR102335495B1 (zh) |
CN (1) | CN105306520B (zh) |
PL (1) | PL2953315T3 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108133269A (zh) * | 2016-12-01 | 2018-06-08 | 上海兆芯集成电路有限公司 | 具有可作为高速缓存存储器或神经网络单元存储器操作的存储器阵列的处理器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2963894A1 (en) * | 2014-07-04 | 2016-01-06 | Thomson Licensing | Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache. |
EP3454566B1 (en) * | 2017-09-11 | 2021-05-05 | Tiledmedia B.V. | Streaming frames of spatial elements to a client device |
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 |
---|---|---|---|---|
US20080005273A1 (en) * | 2001-12-19 | 2008-01-03 | Agarwalla Rajesh S | Method and system for caching role-specific fragments |
CN101377788A (zh) * | 2008-09-28 | 2009-03-04 | 中国科学院计算技术研究所 | 一种机群文件***中缓存管理的方法及*** |
CN101401079A (zh) * | 2006-03-08 | 2009-04-01 | 微软公司 | 用于响应输出高速缓存的多高速缓存协作 |
US20130173737A1 (en) * | 2011-12-29 | 2013-07-04 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127463B2 (en) * | 2002-04-18 | 2006-10-24 | International Business Machines Corporation | Optimization of database network traffic based upon data-use analysis |
US7486618B2 (en) * | 2003-05-27 | 2009-02-03 | Oracle International Corporation | Weighted attributes on connections and closest connection match from a connection cache |
US7644108B1 (en) * | 2005-09-15 | 2010-01-05 | Juniper Networks, Inc. | Network acceleration device cache supporting multiple historical versions of content |
US9270944B2 (en) * | 2007-02-14 | 2016-02-23 | Time Warner Cable Enterprises Llc | Methods and apparatus for content delivery notification and management |
KR20110067787A (ko) * | 2009-12-15 | 2011-06-22 | 순천대학교 산학협력단 | 도메인 객체 인터페이스 기반의 프레임워크 장치 |
US8489760B2 (en) * | 2011-03-31 | 2013-07-16 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
US8812621B2 (en) * | 2011-05-03 | 2014-08-19 | Cisco Technology, Inc. | Reducing fetching load on cache servers in adaptive streaming |
JP5908984B2 (ja) | 2011-10-21 | 2016-04-26 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 情報資源管理概念 |
US8683542B1 (en) | 2012-03-06 | 2014-03-25 | Elemental Technologies, Inc. | Concealment of errors in HTTP adaptive video sets |
US10616297B2 (en) | 2012-07-09 | 2020-04-07 | Futurewei Technologies, Inc. | Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol |
US9954717B2 (en) | 2012-07-11 | 2018-04-24 | Futurewei Technologies, Inc. | Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format |
US8923880B2 (en) | 2012-09-28 | 2014-12-30 | Intel Corporation | Selective joinder of user equipment with wireless cell |
US9537902B2 (en) * | 2013-02-13 | 2017-01-03 | Qualcomm Incorporated | Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner |
CA2851709A1 (en) * | 2013-05-16 | 2014-11-16 | Peter S. Warrick | Dns-based captive portal with integrated transparent proxy to protect against user device caching incorrect ip address |
US9544352B2 (en) * | 2013-06-11 | 2017-01-10 | Bitmovin Gmbh | Adaptation logic for varying a bitrate |
EP3092767A1 (en) * | 2014-01-07 | 2016-11-16 | Thomson Licensing | Method for adapting the behavior of a cache, and corresponding cache |
GB2534849A (en) * | 2015-01-28 | 2016-08-10 | Canon Kk | Client-driven push of resources by a server device |
US11115384B2 (en) * | 2016-10-31 | 2021-09-07 | Guest Tek Interactive Entertainment Ltd. | Walled garden system with cleared IPS list automatically generated from DNS queries |
-
2014
- 2014-06-05 EP EP14305857.6A patent/EP2953313A1/en not_active Withdrawn
-
2015
- 2015-05-21 EP EP15168673.0A patent/EP2953315B1/en active Active
- 2015-05-21 PL PL15168673T patent/PL2953315T3/pl unknown
- 2015-06-03 KR KR1020150078585A patent/KR102335495B1/ko active IP Right Grant
- 2015-06-03 JP JP2015113247A patent/JP6532764B2/ja active Active
- 2015-06-04 CN CN201510302996.6A patent/CN105306520B/zh active Active
- 2015-06-05 US US14/732,614 patent/US10728295B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005273A1 (en) * | 2001-12-19 | 2008-01-03 | Agarwalla Rajesh S | Method and system for caching role-specific fragments |
CN101401079A (zh) * | 2006-03-08 | 2009-04-01 | 微软公司 | 用于响应输出高速缓存的多高速缓存协作 |
CN101377788A (zh) * | 2008-09-28 | 2009-03-04 | 中国科学院计算技术研究所 | 一种机群文件***中缓存管理的方法及*** |
US20130173737A1 (en) * | 2011-12-29 | 2013-07-04 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108133269A (zh) * | 2016-12-01 | 2018-06-08 | 上海兆芯集成电路有限公司 | 具有可作为高速缓存存储器或神经网络单元存储器操作的存储器阵列的处理器 |
CN108133269B (zh) * | 2016-12-01 | 2020-08-25 | 上海兆芯集成电路有限公司 | 具有可作为高速缓存存储器或神经网络单元存储器操作的存储器阵列的处理器 |
Also Published As
Publication number | Publication date |
---|---|
EP2953315B1 (en) | 2020-04-15 |
US10728295B2 (en) | 2020-07-28 |
US20150358418A1 (en) | 2015-12-10 |
KR102335495B1 (ko) | 2021-12-03 |
PL2953315T3 (pl) | 2020-07-27 |
KR20150140230A (ko) | 2015-12-15 |
JP6532764B2 (ja) | 2019-06-19 |
EP2953315A1 (en) | 2015-12-09 |
JP2015230731A (ja) | 2015-12-21 |
CN105306520B (zh) | 2021-03-16 |
CN113037821A (zh) | 2021-06-25 |
EP2953313A1 (en) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9641584B2 (en) | Method and arrangement for representation switching in HTTP streaming | |
US10476943B2 (en) | Customizing manifest file for enhancing media streaming | |
US20180191586A1 (en) | Generating manifest file for enhancing media streaming | |
US10178431B2 (en) | Hybrid stream delivery | |
US20180191801A1 (en) | Adaptively updating content delivery network link in a manifest file | |
CN105407414A (zh) | 用于接收多媒体内容的方法和客户端 | |
CN105306520A (zh) | 操作高速缓存器的方法及相应高速缓存器 | |
CN105245562A (zh) | 操作高速缓存器的方法以及对应的高速缓存器 | |
US10440085B2 (en) | Effectively fetch media content for enhancing media streaming | |
CN106464738B (zh) | 用于操作网络设备的方法及相应的网络设备 | |
US11997369B2 (en) | Method of processing an error during the rendering of a digital content | |
KR102212973B1 (ko) | 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법 | |
KR102237900B1 (ko) | 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법 | |
CN113037821B (zh) | 操作高速缓存器的方法及相应高速缓存器 | |
Episkopos | Peer-to-Peer video content delivery optimization service in a distributed network |
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: 20191101 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 |