CN118020311A - 内容递送 - Google Patents
内容递送 Download PDFInfo
- Publication number
- CN118020311A CN118020311A CN202280065084.XA CN202280065084A CN118020311A CN 118020311 A CN118020311 A CN 118020311A CN 202280065084 A CN202280065084 A CN 202280065084A CN 118020311 A CN118020311 A CN 118020311A
- Authority
- CN
- China
- Prior art keywords
- content
- client device
- segment
- multicast
- proxy
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 21
- 239000012634 fragment Substances 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 21
- 239000003795 chemical substances by application Substances 0.000 abstract description 28
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010012186 Delayed delivery Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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/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
-
- 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/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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26616—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
-
- 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/64—Addressing
- H04N21/6405—Multicasting
-
- 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/64—Addressing
- H04N21/6408—Unicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
描述一种经由代理来管理到客户端装置的内容递送的方法。代理通过经由单播从客户端装置接收内容请求而开始,且通过向内容服务器转发这些请求并在将内容转发到客户端装置之前接收该内容来满足这些请求。然后,代理确定可以加入多播通道,以更高效地接收所需内容。然而,在加入多播通道之前,代理确定加入多播通道是否可能导致客户端装置以这样的方式来接收内容,即,使该客户端装置改变正被请求的内容片段的质量等级。代理可以通过首先经由单播从单播服务器获得由客户端装置请求的片段来做到这一点。代理还从多播服务器请求定时信息,以确定将经由多播来完成递送同一片段的时间。然后,代理根据所确定的多播递送时间来递送从单播服务器接收的片段。
Description
技术领域
本发明涉及管理网络中的内容递送、特别是使用单播和多播的组合来管理内容递送的领域。
背景技术
目前使用单播递送来向一系列客户端装置递送视频内容,其中,向各个单独客户端装置发送单个数据流。将web(HTTP)技术用于内容递送,其中,将内容分割成短片段文件(通常持续时间为大约六秒钟到十秒钟),使得各个片段文件皆能够被使用HTTP的客户端装置请求,并且被递送到该客户端装置。
还可以以一组质量等级对各个片段进行编码,各个质量等级皆具有不同的比特率,并且因此具有不同的文件大小。客户端装置监测其缓冲器等级以及所实现的网络吞吐量,并且根据这些来确定以哪个质量请求下一片段,以便在媒体质量与及时递送之间实现良好的折衷。这通常被称为自适应比特率(adaptive bitrate,ABR)流传输。
然而,HTTP是经由单播(一对一)传输来递送的,因此对于同时向许多客户端装置递送同一内容是低效的。多播(一对多)传输将更加高效。但是除网络运营商向其自己的机顶盒递送的网络上线性视频通道之外,多播目前很少被用于其它任何服务。其主要原因是多播本身不适于在互联网上开放使用。
为了给基于HTTP的互联网媒体流传输带来多播可缩放性的益处,正在研究和标准化被称为多播自适应比特率(Multicast-Adaptive Bitrate,m-ABR)的一类技术。
多播自适应比特率(m-ABR)是一种相对较新的技术。其目的在于通过使得能够针对内容流使用多播,来允许经由网络更高效地递送ABR内容,其中,许多客户端装置正在几乎同时请求同一内容。
许多m-ABR系统的一个追求是,部署多播并使得能够实现m-ABR,而无需对已经支持HTTP(单播)流传输的客户端装置和客户端应用进行任何改变。这可以利用使用多播递送和单播递送两者的组合的混合方法来实现,其中,在客户端装置与内容服务器之间插入代理。代理可以检查来自客户端装置的内容请求,并且在适当时订阅多播流,接收多播内容,以及将该内容提供给客户端装置,进行打包以使看起来像单播递送内容。
这种混合解决方案的示例包括:“IP Multicast Adaptive Bit RateArchitecture Technical Report(IP多播自适应比特率架构技术报告)”OC-TR-IP-MULTI-ARCH-C01-161026,26/10/2016,by Cable Labs;3GPP specifications,23.246(MBMSArchitecture and functional description,MBMS架构和功能描述),26.346(MBMSProtocols and codecs,MBMS协议和代码)and 26.347(MBMS APIs);以及DVB“AdaptiveMedia Streaming over IP Multicast(跨IP多播的自适应媒体流传输)”ETSI TS103769V1.1.1(2020-11)。
当在目前混合解决方案中从单播递送切换成多播递送时会出现问题。
一个问题是,一些客户端装置可能在已经通过多播通道向代理完全递送内容片段的数据之前,对这些内容片段进行单播请求。在这样的情况下,代理在经由多播通道接收到整个内容片段之前,无法通过单播来向客户端装置完全递送内容片段。
这种向正表现为正常ABR流传输装置的客户端装置的缓慢或延迟的内容递送可能使客户端装置改变正被请求的内容片段的质量等级,这是因为内容片段的缓慢递送将被视作指示缓慢的网络连接。这进而又使得在代理处正经由多播接收的数据不适于(其处于错误质量等级)满足由客户端装置作出的新请求,这可能导致代理离开多播通道,并且返回以通过单播获得该数据来满足来自客户端装置的请求。
目前可用的一些解决方案通过用信号通知仅能够以单一比特率获得内容,来防止客户端装置适配不同的质量等级。然而,当数据没有通过网络及时被递送时,这给出了在客户端装置处中断内容呈现的较差用户体验。这种中断可能导致内容呈现停顿和/或根本不呈现某些内容。
简而言之,如果在通过客户端装置请求可通过多播通道获得的内容片段之后,没有足够快地提供该内容片段,那么在尝试从单播递送切换成多播递送时会出现问题。实际上,这可能发生在多播通道正在提供的片段落后于可经由单播获得该片段的时候。
发明内容
本发明的示例的目的是,提供一种解决上述问题中的一个或更多个问题的改进的内容递送机制。
根据本发明的一个示例,提供了一种根据权利要求1所述的由网络元件来管理到客户端装置的内容递送的方法。
递送时间可以使用从多播发送器获得的数据来确定。数据可以包括递送时间信息。
递送时间还可以使用多播通道的传输速率和第一片段的大小来确定,并且数据可以包括在多播通道上开始传输第一片段的时间。
递送时间可以使用与先前递送的片段相关联的递送时间数据来确定。
所述方法还可以包括以下步骤:从客户端装置接收对第二片段的请求,其中,第二片段是以第二质量等级来编码的;以及根据第一质量等级和第二质量等级是否相等来决定加入(join)多播通道。
根据本发明的另一示例,提供了一种根据权利要求6所述的用于管理到客户端装置的内容递送的网络元件。
本发明覆盖这样的方法,即,这些方法不要求代理加入多播流,以确定如果使用多播递送,多播流的定时相对于客户端请求的定时是否会使得客户端适配。本发明确保代理仅在可以使用多播流以及时的方式向客户端装置递送内容时加入该多播流。
如果代理要经由带宽受限的网络加入多播流,并且然后在客户端装置未适配较低质量编码的情况下不能够使用单播来向客户端装置递送通过多播接收的内容,那么从代理到内容源的网络带宽的相当大部分将被多播流量浪费,可能迫使客户端装置适配不必要的低等级视频质量。
附图说明
为了更好地理解本发明,现在,针对附图,仅通过示例的方式来进行说明,其中:
图1是示出本发明的示例的主要组件的系统图;以及
图2是概括本发明的示例的步骤的流程图。
具体实施方式
本文中参照特定示例对本发明进行描述。然而,本发明不限于这样的示例。
本发明的示例提供了一种由代理来管理到客户端装置的内容递送的方法,其中,该内容由一系列内容片段组成。代理通过以下开始:经由单播从客户端装置接收内容请求,并且通过向内容服务器转发这些请求来满足这些请求,并且在将内容转发到客户端装置之前接收该内容。在某一阶段,代理确定可以加入多播通道以更高效地接收所要求的内容。
然而,一些客户端装置可能在已经通过多播通道完全递送内容片段的数据之前,对这些内容片段进行单播请求。这可能导致比如果代理已经使用单播从内容服务器获得那些内容片段更迟地向客户端装置递送内容片段。内容到客户端装置的这种缓慢或延迟递送可能使客户端装置改变正被请求的内容片段的质量等级,如前所述。
因此,在本发明的示例中,当作出利用多播的决定时,代理不立即发出多播加入命令。相反地,如果在代理处正通过多播接收数据并且然后响应于来自客户端装置的请求向客户端装置递送该数据的情况下,则代理确定客户端装置是否将改变正被请求的内容片段的质量等级。这可以通过代理从客户端装置接收对内容片段的请求,并且经由单播从单播服务器获得该片段来完成。代理还从多播服务器请求定时信息,以确定同一片段将经由多播来完成递送的时间。然后,代理根据所确定的多播递送时间,来递送从单播服务器接收的片段。
如果代理确定客户端装置改变正被请求的内容片段的质量等级(由于使用多播递送时间来递送片段太迟/太慢),那么代理决定不使用多播通道,以更高效地接收所需内容,并因此不发出多播加入命令。
否则,如果代理确定客户端装置不改变正被请求的内容片段的质量等级,则代理采取动作来加入多播通道,诸如通过发出IGMP加入请求。
图1示出了包括本发明的示例的主要组件的自适应比特率(ABR)流传输系统100。系统100包括:内容源102、内容编码器104、多播发送器106、单播内容服务器110、代理112以及客户端装置114。内容源102向内容编码器104提供为视频序列形式的内容,诸如体育直播或电视广播。
代理112可以位于诸如家庭网关或路由器的装置内。
假设客户端装置114正在运行作为内容请求源的客户端应用。为了简单起见,术语客户端装置已经被用来指运行客户端应用的客户端装置。
内容编码器104从内容源102接收内容,并使用适当的压缩方案(诸如用于视频内容的ITU-T Recommendation H.264)对该内容进行编码,并且将经编码的内容分割成一系列内容片段,各个内容片段的持续时间通常为2秒钟到10秒钟。内容编码器104还以一个或更多个质量等级或比特率来对内容进行编码,从而产生与各个未压缩的内容片段相对应的一个或更多个(以各个质量等级)经编码的内容片段。这样的布置是自适应比特率流传输服务的典型布置。
内容编码器104将以所有所需比特率编码的经编码的内容片段数据传递至存储数据并使该数据可用于单播递送的单播服务器110。单播服务器110使用所存储的数据用单播响应来响应对内容片段的单播请求。
将以与一个编码比特率相对应的一个质量等级编码的内容片段传递至多播发送器106,以便通过多播传输至已经订阅相应多播通道的任何装置。然而,本发明不限于这种情况,并且还适用于将以与多个编码比特率相对应的多个质量设定编码的内容片段传递至多播发送器106,以便通过多播在多个多播通道(每质量设定一个通道)上传输。
多播发送器106可以在内容片段在单播服务器110上可获得之前、同时、或之后开始发送这些内容片段。多播发送器106可以以大致等于其编码率的恒定比特率来发送内容片段,以充分利用多播通道。然而,单播服务器110可能能够以更高的比特率来递送内容片段,并且因此,即使在通过单播从单播服务器110开始递送之前通过多播通道开始内容片段的传输,也能够在已经通过多播通道完全递送内容片段之前,完成同一内容片段到客户端装置114或代理112的递送。
可以以各种操作模式之一来配置多播发送器106。
在一种操作模式中,单播服务器110监测由多个客户端装置作出的对内容片段的请求。当单播服务器110确定足够数量的客户端装置已经几乎同时请求了同一内容片段时,该单播服务器指示多播发送器106通过多播通道来发送内容片段,期望该内容片段随后将被附加客户端装置请求。多播发送器106从单播服务器110获得内容片段,并将该内容片段数据转换成适于多播递送的格式,然后通过多播通道将该内容片段发送至订阅了该多播流的所有装置。
在另一种操作模式中,多播发送器106被配置用于处于特定编码质量等级的特定内容,诸如电视频道。将以与一个编码比特率相对应的特定质量设定编码的内容片段从内容编码器104传递至多播发送器106,以便通过多播传输至已经订阅了相应多播源的所有装置。多播发送器106可以被配置成考虑对接收多播数据的多个代理的缓冲要求,并且存储内容片段直到被客户端装置请求。当数据在已经被大量客户端装置请求之前显著地通过多播递送时,各个关联的代理必须缓冲多播数据。为了减少总体系统存储要求,多播发送器106被配置成相对于在单播服务器110上可获得内容片段的时间,使通过多播传输该内容片段延迟较短时间段(诸如几秒钟)以将通过多播递送内容片段的定时与客户端装置请求该内容片段的定时更紧密地对准,从而减少代理的存储要求。
然而,本发明不限于多播发送器106的这两种配置。
不管使用多播发送器106的哪种配置,一些客户端装置都可以在已经通过多播通道完全递送内容片段之前请求该内容片段。
为了请求内容片段,客户端装置114可以首先从单播服务器110获得清单文件。清单文件由客户端装置用来标识内容片段位于何处(根据清单中的URL)。然后,客户端装置114可以使用来自单播服务器110的HTTP请求,按顺序请求这些内容片段,并将它们级联以形成用于回放的内容片段的连续流。由于各个内容片段以多个编码比特率在单播服务器110上可获得,因此客户端装置110为各个内容片段确定请求该内容片段的编码比特率(质量),考虑诸如可用网络吞吐量以及在等待播出的客户端装置处已经接收和缓冲了多少数据的因素。
客户端装置114针对内容作出的一些HTTP请求将不利用多播递送,而是被直接发送至单播服务器110,该单播服务器通过单播来递送所请求的内容。可以受益于多播递送的来自客户端装置114对内容的其它请求被重定向至代理112或者简单地被代理112截取,并且可以根据下面描述的示例来处理。
可以使用许多公知技术中的任一公知技术(诸如使用来自单播服务器110的HTTP重定向),将代理112插入HTTP路径中。在这种情况下,单播服务器110将被配置成使得不直接服务对潜在流行内容的请求,而是改为将该请求重定向至适当的代理。例如,代替提供正常响应,单播服务器110可以利用指示临时重定向的HTTP状态码307来进行响应。这邀请客户端装置114对由单播服务器110在该内容服务器的响应中提供的新URL作出新请求,从而使得能够向代理112作出请求。该技术允许单播服务器110和代理112存在于不同的域中,而情况通常就是如此。
在HTTP路径中插入代理112的其它机制包括:被配置为透明代理的代理(但是所有请求都被它截取,并且只对未加密的流量起作用);被配置为前向代理的代理(其中,客户端装置通过被明确地配置成直接向代理发送其请求来这样做);DNS劫持(其中,DNS服务器被配置成为关注域提供代理的IP地址);以及清单操纵(其中,清单文件被重写以直接向代理进行请求)。
客户端装置114可以从流传输会话的开始到结束来从单播服务器110请求和接收内容片段。然而,在一些情况下,代理112确定多播递送可以被用于接收某些内容片段。
代理112监测来自客户端装置114的单播内容请求,并且知道何时可以通过多播来接收由客户端装置114请求的内容。
代理112确定是否可以使用可以通过多播递送的数据来满足客户端装置对内容的请求。如果是这样,则代理112在适当的时间加入相关的多播通道。在通过多播接收数据之后,代理112利用通过多播接收的但被打包为单播内容响应的内容来答复客户端装置对单播内容的请求。
客户端装置114不需要知道代理112,并且不需要知道内容是通过单播从单播内容源经由代理来递送,还是通过多播被递送到代理,该代理然后以单播格式向客户端装置114递送该内容。
存在许多方式,其中,代理112可以确定可以使用可以通过多播递送的数据来满足客户端装置对内容的请求。
例如,如果客户端装置114已经对同一编码质量等级的内容片段作出了多个连续的请求,则该质量等级可通过多播递送来获得,并且这些内容片段中的各个内容片段皆在比内容片段时段更少的时间内被递送。
在另一示例中,代理112可以忽略这样的事实,即,倘若许多内容片段在比内容片段时段更少的时间内被递送,一些内容片段就花费比内容片段时段更多的时间被递送。如果对于大部分或全部时间,很容易有足够的网络吞吐量来递送处于通过多播可获得的质量等级的内容片段,那么代理112还可以忽略请求内容片段的质量的一些变化。
在典型的系统中,当代理112已经决定使用可以通过多播递送的数据来满足客户端装置对内容的请求时,代理112停止向单播服务器110转发客户端装置对内容的请求,而改为采取适当的动作来加入多播通道,并从多播通道获得由客户端装置114请求的数据。然后,代理112将通过多播接收的内容与被格式化为单播响应的数据一起递送到客户端装置114。
然而,这种不考虑来自客户端装置114的对内容片段的请求的相对定时以及通过多播递送这些内容片段的方法可能导致问题。
如果客户端装置114在已经通过多播通道完全递送内容片段的数据之前请求该内容片段,则代理112在通过多播通道接收到整个内容片段之前,无法向客户端装置完全递送该内容片段。代理112可以完全响应来自客户端装置114的请求的最小时间是客户端装置114作出请求与通过多播完全递送内容片段的时间之间的时间加上将内容片段转发至客户端装置114所需的任何附加时间。
这种关于向客户端装置114(其正表现为正常ABR流传输装置)递送内容片段数据的定时的约束可能使该客户端装置耗尽数据并使内容的呈现停顿,或者可能使该客户端装置改变正被请求的内容片段的质量等级,这是因为内容片段的缓慢递送将被视作指示缓慢网络连接。这进而又使得在代理112处正通过多播接收的数据(其处于错误质量等级)不适于满足由客户端装置114作出的新请求,这可能导致代理112离开多播通道,并且通过单播获得该数据并且返回,以满足来自客户端装置114的请求。
现在描述如何以改进的方式来递送内容的示例。
代理112确定可以如上所述加入多播通道。然而,代替立即发出(诸如通过IGMP加入请求)加入多播通道的命令,代理112考虑来自客户端装置114的对内容片段的请求的相对定时以及这些内容片段在多播通道上的传输。实际上,代理112向多播发送器106探测与所发送的内容片段相关联的定时数据。
为了做到这一点,代理112继续向单播服务器110发送从客户端装置114接收的对内容片段的请求,该单播服务器通过单播将所请求的内容片段递送回代理112。代理112还从多播发送器106请求关于同一内容片段的传输何时将在多播通道上完成的信息。代理112确定由客户端装置114请求的内容片段的递送将在多播通道上完成的时间,并且以通过多播通道完成传输的大约时间完成递送的速率,来向客户端装置114递送从单播服务器110接收的内容片段。
代理112确定响应于客户端装置114对内容片段的请求而向该客户端装置递送数据的该定时是否使客户端装置114请求处于不同(较低)质量等级的内容片段。
如果代理112确定这没有使客户端装置114请求处于不同(较低)质量等级的其它内容片段,则代理112可以采取动作来加入多播通道,诸如通过发出IGMP加入请求。
代理112停止向单播服务器110转发客户端装置对内容的请求,而改为通过多播通道来接收由客户端装置114请求的数据。然后,代理112将经由多播接收的内容与被格式化为单播响应的数据一起递送到客户端装置114。
现在,更详细地描述代理服务器112可以进行探测的具体方式。
在代理112已经确定可以加入多播通道之后,该代理周期性地查询多播发送器106,以确定何时通过多播通道完成内容片段的传输、以及何时完成其它内容片段的传输。代理112存储来自多播发送器106的响应。
当代理112从客户端装置114接收到对内容片段的请求时,该代理向单播服务器110转发该请求,该单播服务器通过单播将所请求的内容片段递送回代理112。如果代理112订阅了那个通道(其此时不是多播通道),则该代理确定通过多播通道接收所请求的内容片段的时间。代理112使用所存储的来自多播发送器106的响应来确定这一点。然后,代理112确定向客户端装置114递送内容片段的速率,以匹配或近似为这样的速率,即,在该代理已经通过多播通道而不是通过单播接收到内容片段的情况下能够执行该递送的速率。然后,代理112使用单播以所确定的速率来向客户端装置114递送内容片段。
多播发送器106以通过多播通道完成递送内容片段的时间来响应来自代理112的查询。该多播发送器还能够用这样的估计来响应代理112,即,对期望通过多播通道完成递送内容片段的时间的估计。
例如,如果多播发送器106知道以下项,则该多播发送器可以估计通过多播通道完成片段(具有索引i)的传输的时间Mi:多播通道的传输速率R;在通过多播通道完成内容片段的传输的时间之前,内容片段的大小(以字节为单位)Bi;通过多播通道开始内容片段的传输的时间Si(或者对期望何时开始的确定)。这在下式(1)中示出:
在例如首先使内容片段可用于通过单播递送,并且然后在已经由多个客户端装置请求之后通过多播通道被发送的情况下,多播发送器106可以知道在通过多播通道完成内容片段的传输的时间之前内容片段的大小(以字节为单位)Bi。当考虑到来自大多数客户端装置的对内容片段的请求的定时,多播通道上的数据递送已经被延迟以减少代理装置的缓冲需求时,多播发送器106也可以具有这种知识,如上所述。
如果Mi的值是已知的或者多播发送器106已经能够确定Mi的估计,那么该多播发送器可以立即响应代理212,否则,该多播发送器可以在以后它能够确定一值时进行响应。
当代理112正在经由单播向客户端装置114递送具有索引i的内容片段时,该代理控制该递送的速率以在大致时间Mi完成,或者尽可能实现接近该时间。
如果代理112已经从多播发送器106接收并存储了Mi的值,那么该代理可以使用所存储的值。否则,如果没有接收并存储值,而是已经接收并存储较早内容片段Mi-n的时间,则代理112可以通过将n个内容片段时段T加上Mi-n的值来确定Mi的值:
Mi=Mi-n+nT
(2)
如果代理112已经接收并存储了多于一个较早内容片段的Mi-n的值,则代理112可以从这些较早内容片段中的一个或更多个较早内容片段来确定Mi的估计,并且在多于一个较早内容片段的情况下,组合这些估计以得到Mi的可能改进的估计。组合过程可以是计算平均值、中值、最大值或最小值、或者使用所存储的Mi-n的值的任何其它计算。
代理112在等待来自多播发送器106的Mi的值或者确定Mi本身的值的同时,向单播服务器110请求具有索引i的内容片段,并且缓冲响应。
代理112可以选择一旦从单播服务器110开始接收具有索引i的内容片段,就经由单播开始向客户端装置114递送该内容片段,或者该代理可以等待直到Mi的值已知。在任一情况下,代理112控制向客户端装置114递送内容片段的速率,以使递送在时间Mi完成,或者尽可能实现接近该时间。
对来自客户端装置114的对具有索引i的内容片段的请求的响应的这种定时可能使客户端装置114以较低质量来请求具有索引(i+1)的下一内容片段。如果发生这种情况,则代理112确定使用多播不适于满足来自客户端装置114的请求,并且通过向单播服务器110作出请求,并且经由单播尽可能快地将经由单播接收的数据转发至客户端装置114,来继续满足对内容片段的后续请求。客户端装置114很可能将快速适配回去以请求更高质量等级的内容片段。
否则,代理112继续上述过程,即,获得或计算由客户端装置114请求的后续内容片段的Mi的值,向单播服务器110请求这些内容片段,以及以使得递送在时间Mi完成或者尽可能实现接近该时间的速率,经由单播来向客户端装置114递送内容片段数据。
如果客户端装置114请求较低质量(较低编码比特率)的内容片段,则代理装置112可以如上所述地中止该过程,并且恢复到使用单播尽可能快地利用从单播服务器110获得的数据,来满足来自客户端装置114的请求。
然而,如果在以该经修改的定时(其中,内容片段的递送在时间Mi完成,或者尽可能实现接近该时间)来向客户端装置114递送许多内容片段之后,并且客户端装置114还没有请求较低质量(较低编码比特率)的内容片段,则代理112可以选择订阅多播通道。这可以通过例如发出IGMP加入请求来完成,然后代理112可以通过多播通道来接收数据,并且使用该数据来满足由客户端装置114作出的对内容片段的请求。
在没有实际加入多播通道的情况下,通过模仿在使用多播递送的情况下发生的向客户端装置114递送内容片段的定时,代理112可以减少由客户端装置114适配和请求较低质量(较低编码比特率)的内容片段(由于经多播递送的数据的定时)所造成的对观看者的体验质量的影响。
尽管在多播内容片段递送定时不适于客户端装置114的情况下,该模仿将使客户端装置114适配请求较低质量(较低编码比特率)的内容片段,但是该适配很可能仅针对稍微降低的质量(编码比特率),并且仅针对较短时间段。然而,如果代理112确实加入多播通道,然后客户端装置114适配请求较低质量(较低编码比特率)的内容片段,那么到代理112的网络连接可能不足以用于多播通道和较低质量内容片段的单播递送两者,在该情况下,客户端装置114可以适配请求更低质量(更低编码比特率)的内容片段,直到代理112已经从多播通道解除订阅。
图2示出了概括本发明的示例的步骤的流程图,并且主要反映了已经描述的方法。
在步骤200开始,客户端装置114请求被存储在单播服务器110中的内容片段,这里是片段i。代理112截取该请求,并将该请求转发至单播服务器110。
在步骤201中,代理112通过单播从单播服务器110接收所请求的内容片段i,并且将该数据作为对来自客户端装置114的请求的单播响应而转发到客户端装置114。客户端装置114接收该内容片段,然后可以播出该内容片段。
客户端装置114可以使用HTTP GET请求来请求内容片段,该HTTP GET请求本质上是针对以特定比特率编码的内容片段的单播。可以将该初始或第一比特率选择为可用的最低比特率,或者可以以某一其它方式来选择比特率,诸如基于历史数据或用户偏好。各个HTTP GET请求皆包括可以从哪里检索该内容片段的URL。在与内容相关联的清单文件中找到URL。
在步骤202中,代理112决定是否考虑订阅多播递送。该决定可以根据许多因素来作出,包括:客户端装置114是否已经请求可通过多播获得的内容,由客户端装置114请求的质量等级的内容片段是否正在通过多播递送,客户端装置114是否已经仅请求该质量等级的内容片段持续某一时间,以及代理112是否考虑存在到客户端装置114的足够带宽来维持内容片段数据以该质量等级的及时递送。
如果代理112决定考虑订阅多播递送,则流程转到步骤204,否则流程经由步骤203转回到步骤200,其中,通过设定i=i+1来递增片段号。代理112如前所述继续接收和响应来自客户端装置114的对其它片段的单播请求。
在步骤204中,片段号以i=i+1递增,并且客户端装置114请求具有索引i的下一内容片段。
在步骤206中,代理112从多播发送器106请求与时间Mi相关的定时信息,在该时间,期望通过多播通道来完成具有索引i的内容片段的传输。
具有索引i的内容片段的传输可能已经通过多播通道完成、可能正在进行中或者可能尚未开始。多播发送器106以时间Mi来响应代理112,在该时间,通过多播通道来完成或者期望完成具有索引i的内容片段的传输。如果这不是已知的,则多播发送器106以通过多播通道完全递送较早内容片段Mi-n(其中,n>0)的时间以及这些较早内容片段的一个或多个索引i-n来响应。代理接收并存储来自多播发送器106的响应。
在步骤208中,代理112确定通过多播通道来完成或者期望完成具有索引i的内容片段的传输的时间Mi的值。如果代理112已经从多播发送器106接收并存储了该信息,则可以使用所存储的值。如果通过步骤206的该迭代或者较早迭代没有接收和存储值,而是接收和存储较早内容片段Mi-n的时间,则代理112通过将n个内容片段时段T相加到Mi-n的值来确定Mi的值
Mi=Mi-n+nT
(3)
如果代理112已经接收并存储了多于一个较早内容片段的Mi-n的值,则代理112可以从这些较早内容片段中的一个或更多个较早内容片段来确定Mi的估计,并且在多于一个较早内容片段的情况下,组合这些估计以得到Mi的可能改进的估计。组合过程可以是计算Mi-n的平均值、中值、最大值或最小值、或者任何其它合适的计算。
在步骤210中,代理112经由单播来从单播服务器110请求并获得具有索引i的内容片段。
在步骤212中,代理112将具有索引i的内容片段作为对来自客户端装置114的请求的单播响应,以在时间Mi完成递送或者尽可能实现接近该时间的这种速率来递送到客户端装置114。
在步骤214中,客户端装置114通过首先设定i=i+1来请求另一内容片段i。该请求可以针对与具有索引i-1的前一内容片段具有相同的质量(编码比特率)的内容片段,或者可以针对具有不同质量(编码比特率)的内容片段。
在步骤216中,如果客户端装置114已经请求了处于与具有索引i-1的前一内容片段不同的质量(编码比特率)的另一内容片段i,那么如果以由通过多播通道传输内容片段的定时所确定的定时来向客户端装置114递送数据,则代理112确定客户端装置114不太可能维持对处于与具有索引i-1的前一内容片段相同的质量(编码比特率)的内容的一系列请求。在这种情况下,流程转到步骤201,并且代理112从单播服务器获得所请求的片段,并将该数据作为对来自客户端装置114的请求的单播响应而转发到客户端装置114。客户端装置114接收这些内容片段,然后可以播出这些内容片段,并且如上所述,处理继续到步骤202。
然而,如果在步骤216中对片段i的请求与前一内容片段i-1处于同一质量等级,则处理转到步骤218。
在步骤218中,如果以由通过多播通道传输内容片段的定时所确定的定时来向客户端装置114递送数据,则代理112确定是否已经以由通过多播通道传输内容片段的定时所确定的递送定时来向客户端装置114递送了足够数量的内容片段(如在步骤206到212中所执行的),以具有客户端装置114很可能维持对具有与前一内容片段相同的质量(编码比特率)的内容的一系列请求的合理置信度。
如果代理112确定内容片段的数量还不够,则流程返回到步骤206,以使得另一内容片段能够以由通过多播通道传输内容片段的定时所确定的定时来递送到客户端装置114。否则,流程转到步骤220,以加入适当的多播通道。
足够数量的内容片段可以仅仅是一个。另选地,该数量可以是3、5、10甚或更多的内容片段。或者,该数量可以是总持续时间高于某个阈值(诸如30秒钟)的内容片段的数量。
在客户端装置114在内容片段开始通过多播通道发送之前请求该内容片段的情况下,代理112在多播通道上接收该内容片段并将其作为单播响应而转发至客户端装置114所花费的时间比在多播通道上发送该内容片段的时间更长。如果客户端装置114在请求另一内容片段之前等待直到完全满足对内容片段的请求,则客户端装置114请求下一内容片段的时间将与该内容片段的传输通过多播通道开始的时间大致相同。代理112在多播通道上接收该内容片段并将其作为单播响应而转发至客户端装置114所花费的时间与在多播通道上发送该内容片段的时间大致相同。满足来自客户端装置114的请求的该时间可以比满足其前一请求的时间短。类似地,满足来自客户端装置114的后续请求的时间可以比满足该第一请求的时间短。因此,在这种情况下,代理112将足够数量的内容片段设定成1可能是令人满意的。
在步骤220中,代理112发起加入多播通道的过程。这例如可以通过发出IGMP加入请求来完成。
在步骤222中,代理112通过多播通道来接收数据并存储该数据。客户端装置114请求被存储在单播服务器110处的内容片段。代理112截取这些请求并且以单播响应来响应客户端装置114,该单播响应包括在较早步骤中接收并存储的数据。可以在代理112处通过单播递送或者通过经由多播通道的多播递送来接收该数据。内容片段由客户端装置114接收,然后可以被播出。
通常,本文中应注意,虽然上面描述了本发明的示例,但是在不脱离所附权利要求中限定的本发明的范围的情况下,存在可以对上述示例做出的许多变型例和修改例。本领域技术人员将认识到对所述示例的修改。
Claims (6)
1.一种由网络元件管理到客户端装置的内容递送的方法,所述内容包括一系列片段,并且其中,各个片段是以多个质量等级编码的,所述方法包括以下步骤:
i)从客户端装置接收对第一片段的请求,其中,所述第一片段是以第一质量等级编码的;
ii)向单播内容源请求所述第一片段,并且作为响应,通过单播从所述单播源接收所述第一片段;
iii)确定将经由多播通道递送所述第一片段的递送时间;
iv)以所确定的递送时间,经由单播将所接收的第一片段递送到所述客户端装置;
v)从所述客户端装置接收对第二片段的请求,其中,所述第二片段是以第二质量等级编码的;以及
vi)根据所述第一质量等级和所述第二质量等级是否相等来决定加入所述多播通道。
2.根据权利要求1所述的方法,其中,所述递送时间是使用从所述多播发送器获得的数据确定的。
3.根据权利要求2所述的方法,其中,所述数据包括递送时间信息。
4.根据权利要求2所述的方法,其中,所述递送时间还是使用所述多播通道的传输速率和所述第一片段的大小确定的,并且所述数据包括所述第一片段的传输在所述多播通道上开始的时间。
5.根据任一项前述权利要求所述的方法,其中,所述递送时间是使用与先前递送的片段相关联的递送时间数据确定的。
6.一种用于管理到客户端装置的内容递送的网络元件,所述内容包括一系列片段,并且其中,各个片段是以多个质量等级编码的,所述网络元件在操作中适配为:
从客户端装置接收对第一片段的请求,其中,所述第一片段是以第一质量等级编码的;
向单播内容源请求所述第一片段,并且作为响应,通过单播从所述单播源接收所述第一片段;
确定将经由多播通道递送所述第一片段的递送时间;
根据所确定的递送时间,经由单播向所述客户端装置递送所接收的第一片段;
从所述客户端装置接收对第二片段的请求,其中,所述第二片段是以第二质量等级编码的;以及
根据所述第一质量等级和所述第二质量等级是否相等来决定加入所述多播通道。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2113881.3 | 2021-09-29 | ||
GBGB2113881.3A GB202113881D0 (en) | 2021-09-29 | 2021-09-29 | Content delivery |
PCT/EP2022/076046 WO2023052191A1 (en) | 2021-09-29 | 2022-09-20 | Content delivery |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118020311A true CN118020311A (zh) | 2024-05-10 |
Family
ID=78399667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280065084.XA Pending CN118020311A (zh) | 2021-09-29 | 2022-09-20 | 内容递送 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4409924A1 (zh) |
CN (1) | CN118020311A (zh) |
GB (1) | GB202113881D0 (zh) |
WO (1) | WO2023052191A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9641578B2 (en) * | 2015-04-02 | 2017-05-02 | Arris Enterprises, Inc. | Minimizing unicast bandwidth in an adaptive bit rate system |
US10015219B2 (en) * | 2016-02-26 | 2018-07-03 | Verizon Patent And Licensing Inc. | Multicasting adaptive bitrate streams |
US11659222B2 (en) * | 2018-08-14 | 2023-05-23 | Comcast Cable Communications, Llc | Adaptive multicast streaming |
-
2021
- 2021-09-29 GB GBGB2113881.3A patent/GB202113881D0/en not_active Ceased
-
2022
- 2022-09-20 CN CN202280065084.XA patent/CN118020311A/zh active Pending
- 2022-09-20 EP EP22793130.0A patent/EP4409924A1/en active Pending
- 2022-09-20 WO PCT/EP2022/076046 patent/WO2023052191A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023052191A1 (en) | 2023-04-06 |
EP4409924A1 (en) | 2024-08-07 |
GB202113881D0 (en) | 2021-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106233735B (zh) | 管理多播视频传送的方法 | |
WO2014063833A1 (en) | A method and apparatus for distributing media content services | |
US12113842B2 (en) | Content delivery | |
US20240276069A1 (en) | Content delivery | |
US20240187466A1 (en) | Content delivery | |
US12003560B2 (en) | Content delivery—setting the unicast rate | |
EP4165848B1 (en) | Content delivery | |
CN118020311A (zh) | 内容递送 | |
CN114270790A (zh) | 内容递送 | |
WO2023104514A1 (en) | Content delivery | |
WO2024056455A1 (en) | Multicast leave policy | |
WO2024056452A1 (en) | Multicast join policy | |
GB2622278A (en) | Multicast join policy | |
GB2622281A (en) | Multicast leave policy | |
EP4440077A1 (en) | Multicast leave method | |
EP4440013A1 (en) | Multicast join method | |
WO2023186531A1 (en) | Content delivery | |
EP2912817B1 (en) | A method and apparatus for distributing media content services | |
GB2628642A (en) | Multicast leave method | |
GB2628644A (en) | Multicast join method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |