CN117999768A - 内容递送 - Google Patents
内容递送 Download PDFInfo
- Publication number
- CN117999768A CN117999768A CN202280064702.9A CN202280064702A CN117999768A CN 117999768 A CN117999768 A CN 117999768A CN 202280064702 A CN202280064702 A CN 202280064702A CN 117999768 A CN117999768 A CN 117999768A
- Authority
- CN
- China
- Prior art keywords
- content
- client device
- multicast
- proxy
- unicast
- 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 19
- 238000007619 statistical method Methods 0.000 claims description 2
- 239000012634 fragment Substances 0.000 claims 8
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 5
- 239000003795 chemical substances by application Substances 0.000 description 31
- 230000004044 response Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 16
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000003542 behavioural effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000013213 extrapolation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013459 approach Methods 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
- 238000012935 Averaging Methods 0.000 description 1
- 206010012186 Delayed delivery Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- 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/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/564—Connection-oriented
- H04L2012/5642—Multicast/broadcast/point-multipoint, e.g. VOD
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (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所述的由网络元件来管理到客户端装置的内容递送的方法。
根据所计算的间隔来决定加入多播通道的步骤可以包括:将间隔与阈值进行比较。
根据所计算的间隔来决定加入多播通道的步骤可以包括:对间隔执行统计分析,并且将结果与阈值进行比较。
该阈值可以取决于与客户端装置相关联的特性。
根据本发明的另一示例,提供了一种根据权利要求5所述的用于管理到客户端装置的内容递送的网络元件。
本发明的示例覆盖这样的方法,即,这些方法不要求代理加入多播流,以确定如果使用多播递送,多播流的定时相对于客户端请求的定时是否会使得客户端适应(adapt)。本发明确保代理仅在可以使用多播流以及时的方式向客户端装置递送内容时加入该多播流。
如果代理要经由带宽受限的网络加入多播流,并且然后在客户端装置未适应较低质量编码的情况下不能够使用单播来向客户端装置递送通过多播接收的内容,那么从代理到内容源的网络带宽的相当大部分将被多播流量浪费,可能迫使客户端装置适应不必要的低水平视频质量。
附图说明
为了更好地理解本发明,现在,针对附图,仅通过示例的方式来进行说明,其中:
图1是示出本发明的示例的主要组件的系统图;以及
图2是概括本发明的示例的步骤的流程图。
具体实施方式
本文中参照特定示例对本发明进行描述。然而,本发明不限于这样的示例。
本发明的示例提供了一种由代理来管理到客户端装置的内容递送的方法,其中,该内容由一系列内容片段组成。代理通过以下开始:经由单播从客户端装置接收内容请求,并且通过向内容服务器转发这些请求来满足这些请求,并且在将内容转发到客户端装置之前接收该内容。在某一阶段,代理确定可以加入多播通道以更高效地接收所要求的内容。
然而,一些客户端装置可能在已经通过多播通道完全递送内容片段的数据之前,对这些内容片段进行单播请求。这可能导致比如果代理已经使用单播从内容服务器获得那些内容片段更迟地向客户端装置递送内容片段。内容到客户端装置的这种缓慢或延迟递送可能使客户端装置改变正被请求的内容片段的质量水平,如前所述。
因此,在本发明的示例中,当作出利用多播的决定时,代理不立即发出多播加入命令。相反地,如果在代理处正通过多播接收数据并且然后响应于来自客户端装置的请求向客户端装置递送该数据的情况下,则代理确定客户端装置是否将改变正被请求的内容片段的质量水平。这可以通过代理考虑多播定时数据连同特定客户端装置的行为特性来完成。
如果代理因而确定递送通过多播接收的数据将不使客户端装置请求不同(较低)质量水平的其它内容片段,则代理可以采取动作来加入多播通道,诸如通过发出IGMP加入请求。然后,代理向客户端装置114递送通过多播接收的被格式化为单播响应的内容。
图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响应于对内容片段的请求,确定是否可以在足够短时间段内将通过多播接收的任何数据递送至客户端装置114,在所述足够短时间段内,客户端装置114不会请求不同(较低)质量水平的其它内容片段。代理114可以通过考虑多播定时数据连同特定客户端装置114的行为特性来完成这一点。
如果代理112响应于对内容片段的请求,确定递送通过多播接收的数据没有使客户端装置114请求不同(较低)质量水平的其它内容片段,则代理112可以采取动作来加入多播通道,诸如通过发出IGMP加入请求。
代理112停止向单播服务器110转发客户端装置对内容的请求,而改为通过多播通道来接收由客户端装置114请求的数据。然后,代理112将经由多播接收的内容与被格式化为单播响应的数据一起递送到客户端装置114。
现在,将更详细地描述代理可以确定是否可以向客户端装置114递送通过多播接收的数据而不使客户端装置114请求不同(较低)质量水平的其它内容片段的特定方式。
对于由客户端装置114请求的一组内容片段中的各个内容片段,代理112存储时间Ri,在该时间,代理接收对具有索引i的内容片段的请求。
对于已经存储了客户端装置114作出对内容片段的请求的时间Ri的一些或所有内容片段,代理112从多播发送器106请求通过多播通道完成内容片段的传输的时间Mi。代理112接收并存储来自多播发送器106的响应。
如果来自多播发送器106的响应不包括Mi(对于Mi,代理112已经存储了由客户端装置114作出内容片段请求的时间Ri)的一个或更多个值,则代理112可以估计Mi的丢失值。这可以通过包括较早内容片段的Mi的值的线性外插、Mi的值之间的线性内插、各种线性外插或内插的求平均的方法、或者任何其它合适的方法来完成。这种线性外插和线性内插例如可以利用Mi的值在时间上以片段时段的间隔近似均匀地间隔开的假设。例如,Mi的值可以从Mi-1的值外插,如下所示,其中,T是内容片段时段。
Mi=Mi-1+T (1)
对于其中存储了客户端装置114作出对内容片段的请求的时间Ri以及通过多播通道完成内容片段的传输的时间Mi两者的一些或全部所请求的内容片段,代理112确定时间间隔Li,在该时间间隔中,如果该代理已经通过多播接收到数据,那么该代理可以完全满足来自客户端装置114的对内容片段的请求。代理112将该时间间隔Li计算为通过多播通道完成内容片段的传输的时间Mi与来自客户端装置114的请求的时间Ri之间的差。
Li=Mi-Ri (2)
代理112还可以计算与响应来自客户端装置114的对内容片段的请求的时间有关的总最坏情况界限B,作为最大观测值Li。
然后,代理112可以使用特定客户端装置114的行为特性的知识,来确定与响应来自客户端装置114的对内容片段的请求的时间有关的该总最坏情况界限B是否会使客户端装置114适应请求较低质量水平的内容片段。如果是这样,则代理112决定不加入多播通道,而改为通过向单播服务器110作出单播请求并且向客户端装置114转发响应,来继续向来自客户端装置114的对内容片段的请求提供响应。否则,代理112加入多播通道,存储通过多播通道接收的数据,并且使用所存储的数据来响应来自客户端装置114的对内容片段的请求。
不是仅使用与响应来自客户端装置114的对内容片段的请求的时间有关的总最坏情况界限B,而是代理112可以考虑时间间隔Li的整个一组所计算的值来作出是否加入多播通道的决定,在所述时间间隔内,代理可以响应对内容片段的请求。
例如,代理112可以在与特定客户端装置114的行为特性的比较中,使用该组值Li的均值、中值、特定百分位数、或任何其它所导出的统计量(statistic)或一组统计量,来确定是否加入多播通道。
另选地,代理112可以选择不使用特定客户端装置114的行为特性,而改为将总最坏情况界限B、时间间隔Li的整个一组所计算的值、或者任何所导出的统计量或一组统计量与一个或更多个通用客户端装置特性或阈值进行比较。
代理112可以通过首先标识关于客户端装置114的详细信息,然后在预先计算的数据库中查找使用该详细信息编索引的行为特性,来确定客户端装置114的行为特性。
关于客户端装置114的详细信息可以包括与所使用的硬件相关的信息,诸如移动电话或电视的特定型号、在硬件上运行的软件的版本、以及客户端应用的类型和版本。代理112可以通过处理由客户端装置114作出的对内容片段的请求的HTTP请求报头的用户代理字段来获得该信息。
可以使用一种或更多种技术的组合来填充行为特性的预先计算的数据库。例如,可以对在特定客户端装置上使用的算法的实现执行分析,以决定请求哪个质量水平的内容片段。代替地或者另外,可以通过在客户端装置与内容服务器之间插入网络元件并且配置该网络元件来以时变方式限制客户端装置与内容服务器之间的连接的带宽来执行测试。例如,可以缓慢地减小带宽,直到客户端装置切换成请求较低质量水平的片段,或者可以在较短时间段内减小带宽,以允许确定以较长递送时间来递送一个或少量片段的效果。
在来自客户端装置114的对内容片段的请求在时间上以内容片段时段的间隔均匀分布,并且通过多播通道完成内容片段的传输的时间在时间上以内容片段时段的间隔均匀分布的情况下,Li的所有值都是相同的,并且仅使用总最坏情况界限B就可足以作出良好的决定。
然而,在实践中,来自客户端装置114的对内容片段的请求在时间上可能不是均匀分布的。而且,通过多播通道完成内容片段的传输的时间可能在时间上不是均匀分布的,例如,在多播通道具有近似等于内容片段的平均编码比特率的恒定比特率并且所有内容片段不是利用相同数量的编码比特表示的情况下。
在这样的情况下,Li的所有值不可能是相同的,并且考虑多于一个值可能是有益的。例如,当Li的单个值比其它值大得多时,情况可能尤其如此,这是因为一些客户端装置可以对具有长递送时间的单个内容片段有弹性,并且不立即切换成请求以较低质量水平编码的内容片段。
如果客户端装置114在请求片段之后不到一个片段时段接收到该片段,那么该客户端装置可以不请求下一内容片段,直到作出其对片段的前一请求之后的一个片段时段。这可能是因为该客户端装置在每一个片段时段仅需要一个内容片段来实现连续的媒体播出,和/或因为对于实况或广播内容,新的片段可能仅在每一个片段时段变得可用。因此,在请求所请求的内容片段的一个片段时段内一致地接收所请求的内容片段的客户端装置114可以以片段时段的规则间隔来请求内容片段。
然而,如果客户端装置114在请求所请求的内容片段之后超过一个片段时段内接收到该片段,那么该客户端装置可以不请求下一内容片段,直到完全接收到该前一内容片段。这允许将全部网络容量用于前一内容片段的递送。如果后续内容片段在少于所述片段时段的时间内被递送,那么客户端装置114可以尝试恢复到以片段时段的规则间隔按这样的定时来请求内容片段,即,所述定时与如果在多于片段时段的时间内不递送片段而进行的定时相同。但是如果后续内容片段在少于片段时段的时间内不被递送,那么客户端装置114可以在完成前一内容片段的递送之后立即请求各个后续内容片段。在这种情况下,客户端装置114对内容片段的请求的定时取决于对其较早请求的响应的定时。
在上面的描述中,来自客户端装置114的对内容片段的请求的时间Ri是由单播递送满足的过去请求的时间,并且因此不受通过多播通道递送内容片段的定时影响。如上所述,如果为满足一个或更多个请求所花费的时间长于片段时段,那么客户端装置114对内容片段的请求的定时可能受到对请求的响应的定时影响。
例如,如果内容片段索引(i-1)在已经由代理112通过多播通道接收之后被递送至客户端装置114,并且完成该递送的时间Mi-1迟于已经改为使用单播递送来完成该递送的时间,那么客户端装置114可以不在时间Ri,而是在时间Mi-1(如果该时间较迟)发出对下一内容片段(索引i)的请求,这是因为客户端装置可以选择不请求下一内容片段(索引i),直到紧接在前内容片段(索引(i-1))已经被完全递送。
在这种情况下,虽然客户端装置114可以尝试在请求较早内容片段之后,重新回到请求具有适当数量的内容片段时段的后续内容片段,但是如果客户端装置正在经由代理112从多播通道接收数据,那么该客户端装置有时可能受到通过多播通道递送内容片段的定时限制。
因此,代理112可以基于请求较早内容片段(索引0)的时间R0以及通过多播通道完成前一内容片段(索引(i-1))的传输的时间Mi-1来选择计算Ri的值。代理112计算Ri的值作为R0和Mi-1之后的i个内容片段时段中的较迟者。这些项中的第一项是在自时间R0以来的所有i个内容片段已经在小于或等于i个内容片段时段的时间内被递送的情况下客户端装置114可能已经请求了下一内容片段的时间,而第二项是在客户端装置114在请求下一内容片段之前等待使用多播来递送紧接在前内容片段的情况下该客户端装置可以请求下一内容片段的最早时间。这在下面示出,其中,T是内容片段时段。
Ri=max(R0+iT,Mi-1) (4)
然后,代理112可以根据Ri的该计算来计算值Li和B,并且如上所述使用这些所计算的值。
图2示出了概括本发明的示例的步骤的流程图,并且主要反映了已经描述的方法。
在步骤200开始,客户端装置114请求被存储在单播服务器110中的内容片段,这里是片段i。代理112截取该请求,并将该请求转发至单播服务器110。
在步骤202中,代理112存储客户端装置114作出对内容片段的请求的时间Ri。
在步骤204中,代理112通过单播从单播服务器110接收所请求的内容片段i,并且将该数据作为对来自客户端装置114的请求的单播响应而转发到客户端装置114。客户端装置114接收该内容片段,然后可以播出该内容片段。
客户端装置114可以使用HTTP GET请求来请求内容片段,该HTTP GET请求本质上是针对以特定比特率编码的内容片段的单播。可以将该初始或第一比特率选择为可用的最低比特率,或者可以以某一其它方式来选择比特率,诸如基于历史数据或用户偏好。各个HTTP GET请求皆包括可以从哪里检索该内容片段的URL。在与内容相关联的清单文件中找到URL。
在步骤206中,代理112决定是否考虑订阅多播递送。该决定可以根据许多因素来作出,包括:客户端装置114是否已经请求可通过多播获得的内容,由客户端装置114请求的质量水平的内容片段是否正在通过多播递送,客户端装置114是否已经仅请求该质量水平的内容片段持续某一时间,以及代理112是否考虑存在到客户端装置114的足够带宽来维持内容片段数据以该质量水平的及时递送。
如果代理112决定考虑订阅多播递送,则流程转到步骤208。否则,流程经由步骤207转回到步骤200,在该步骤207中,通过设定i=i+1来使片段号递增,并且代理112如前所述继续接收和响应来自客户端装置114的对其它片段的单播请求。
在步骤208中,代理112从多播发送器106请求定时信息。具体地,对于代理112已经存储了客户端装置114请求内容片段的时间Ri的一些或所有内容片段,代理112向多播发送器106请求通过多播通道完成内容片段的传输的时间Mi。代理112接收并存储来自多播发送器106的响应。
如果来自多播发送器106的响应不包括Mi(对于Mi,代理112已经存储了由客户端装置114作出的内容片段请求的时间Ri)的一个或更多个值,代理112可以如上所述使用包括线性外插和线性内插的方法来估计Mi的丢失值。
在步骤210中,对于已经存储了时间Ri和时间Mi的一些或全部所请求的内容片段,代理112确定时间间隔Li,在该时间间隔中,如果该代理已经通过多播接收到数据,那么该代理可以完全满足来自客户端装置114的对内容片段的请求。代理112将该时间间隔Li计算为通过多播通道完成内容片段的传输的时间Mi与来自客户端装置114的请求的时间Ri之间的差。
Li=Mi-Ri (5)
另选地,代替使用所存储的Ri的值,代理112可以考虑计算从Ri的所存储的值中的一个或更多个所存储的值导出的要在该式中使用的Ri的值。代理112可以选择这样做,是因为来自客户端装置114的对内容片段的请求的Ri的所存储的值中的一些所存储的值受到由单播递送满足的那些请求影响,而不受通过多播通道递送内容片段的定时影响。如果内容片段已经通过多播由代理112接收到并且然后通过单播被递送至客户端装置114,那么该内容片段到客户端装置114的递送不能比通过多播通道完成递送的时间更早地来完成。客户端装置114可以选择不请求下一内容片段,直到紧接在前的内容片段已经被完全递送。
在这种情况下,虽然客户端装置114可以尝试在请求第一内容片段之后,重新回到请求具有适当数量的内容片段时段的内容片段,但是如果客户端装置114正在经由代理112从多播通道接收数据,那么该客户端装置有时可能受到通过多播通道递送内容片段的定时限制。
因此,代理112可以基于请求较早内容片段(索引0)的时间R0以及通过多播通道完成前一内容片段(索引(i-1))的传输的时间Mi-1来选择计算Ri的值。代理112计算Ri的值作为R0和Mi-1之后的i个内容片段时段中的较迟者。这些项中的第一项是在自时间R0以来的所有i个内容片段已经在小于或等于i个内容片段时段的时间内被递送的情况下客户端装置114可能已经请求了下一内容片段的时间,而第二项是在客户端装置114在请求下一内容片段之前等待使用多播来递送紧接在前的内容片段的情况下该客户端装置可以请求下一内容片段的最早时间。这在下面示出,其中,T是内容片段时段。
Ri=max(R0+iT,Mi-1) (6)
然后,代理112可以从所计算的Ri的这些值来计算值Li。
在步骤212中,代理112根据Li的值来计算统计量。这些可以包括与完全满足来自客户端装置114的对内容片段的请求的时间有关的总最坏情况界限B。该界限B可以如下计算为Li的最大观测值:
代理112可以根据该组值Li来计算其它统计量,诸如均值、中值、特定百分位数,或者可以计算所导出的任何其它统计量或一组统计量。
在步骤214中,代理112确定从多播通道接收数据并使用该数据来响应来自客户端装置114的对内容片段的请求是否将导致客户端装置114请求较低质量水平(较低编码比特率)的其它内容片段。该代理可以通过将所计算的用于递送内容片段的时间间隔Li、或从这些值导出的任何或所有统计量与表征客户端装置114如何确定以哪个质量(编码比特率)来请求各个内容片段的操作的已知参数进行比较来确定这一点。
作为示例,代理112可以将B(最大观测值)Li与内容片段时段T进行比较,以确定客户端装置114是否将请求较低质量水平(较低编码比特率)的其它内容片段。在下面的示例式子中,已知客户端装置114需要在小于内容片段时段的70%内接收内容片段,以避免切换成请求较低质量的内容片段:
如果:B≥0.7T,则切换成请求较低手量内容片段 (8)
类似地,代理112可以代替地或附加地将由内容片段时段T归一化的Li的均值与阈值进行比较。或者,代理112可以使用所导出的统计量中的任一者或任何组合来确定客户端装置114是否将切换成请求较低质量的内容片段。
如果代理112确定客户端装置114将请求较低质量水平(较低编码比特率)的其它内容片段,则流程经由步骤215转到步骤200,在该步骤215中,通过设定i=i+1来使片段号递增,并且代理112如前所述继续接收和响应来自客户端装置114的单播请求。否则,流程转到步骤214。
在步骤216中,代理112发起加入多播通道的过程。这例如可以通过发出IGMP加入请求来完成。
在步骤218中,代理112通过多播通道来接收数据并存储该数据。客户端装置114请求被存储在单播服务器110处的内容片段。代理112截取这些请求并且以单播响应来响应客户端装置114,该单播响应包括在较早步骤中接收并存储的数据。可以在代理112处通过单播递送或者通过经由多播通道的多播递送来接收该数据。内容片段由客户端装置114接收,然后可以被播出。
通常,本文中应注意,虽然上面描述了本发明的示例,但是在不脱离所附权利要求中限定的本发明的范围的情况下,存在可以对上述示例做出的许多变型例和修改例。本领域技术人员将认识到对所述示例的修改。
Claims (5)
1.一种由网络元件管理到客户端装置的内容递送的方法,所述内容包括一系列片段,所述方法包括以下步骤:
i)从客户端装置接收对片段的请求,其中,各个请求皆具有关联的请求时间;
ii)向单播内容源请求所请求的片段中的一个或更多个所请求的片段,通过单播接收所述一个或更多个所请求的片段,并且通过单播向所述客户端装置发送所接收的片段;
iii)确定各个所请求的片段从多播发送器通过多播通道被递送的递送时间,其中,所述递送时间是使用从所述多播发送器获得的递送时间信息确定的;
iv)计算所述请求时间和与各个片段相关联的所述递送时间之间的间隔;
v)根据所计算的间隔来决定加入所述多播通道,并且加入所述多播通道;
vi)从所述客户端装置接收对其它片段的请求,通过所述多播通道接收所述其它片段,并且通过单播向所述客户端装置发送所请求的其它片段。
2.根据权利要求1所述的方法,其中,根据所计算的间隔来决定加入所述多播通道的步骤包括:将所述间隔与阈值进行比较。
3.根据权利要求1所述的方法,其中,根据所计算的间隔来决定加入所述多播通道的步骤包括:对所述间隔执行统计分析,并且将结果与阈值进行比较。
4.根据权利要求2或3所述的方法,其中,所述阈值取决于与所述客户端装置相关联的特性。
5.一种用于管理到客户端装置的内容递送的网络元件,所述内容包括一系列片段,并且所述网络元件在操作中被适配为:
从客户端装置接收对片段的请求,其中,各个请求皆具有关联的请求时间;
向单播内容源请求所请求的片段中的一个或更多个所请求的片段,通过单播来接收所述一个或更多个所请求的片段,并且通过单播向所述客户端装置发送所接收的片段;
确定各个所请求的片段通过多播通道被递送的递送时间,其中,所述递送时间是使用从所述多播发送器获得的递送时间信息确定的;
计算所述请求时间和与各个片段相关联的所述递送时间之间的间隔;
根据所计算的间隔决定加入所述多播通道,并且加入所述多播通道;
从所述客户端装置接收对其它片段的请求,通过所述多播通道接收所述其它片段,并且通过单播向所述客户端装置发送所请求的其它片段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2113880.5 | 2021-09-29 | ||
GB2113880.5A GB2611515B (en) | 2021-09-29 | 2021-09-29 | Content delivery |
PCT/EP2022/076045 WO2023052190A1 (en) | 2021-09-29 | 2022-09-20 | Content delivery |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117999768A true CN117999768A (zh) | 2024-05-07 |
Family
ID=78399680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280064702.9A Pending CN117999768A (zh) | 2021-09-29 | 2022-09-20 | 内容递送 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN117999768A (zh) |
GB (1) | GB2611515B (zh) |
WO (1) | WO2023052190A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005064583A (ja) * | 2003-08-12 | 2005-03-10 | Ntt Docomo Inc | データ中継装置、及び、データ中継方法 |
GB2521845B (en) * | 2014-01-03 | 2021-07-07 | British Broadcasting Corp | Content delivery |
US9407968B2 (en) * | 2014-12-22 | 2016-08-02 | Verizon Patent And Licensing Inc. | Multicast and unicast adaptive bitrate services |
US10015219B2 (en) * | 2016-02-26 | 2018-07-03 | Verizon Patent And Licensing Inc. | Multicasting adaptive bitrate streams |
EP3435616B1 (en) * | 2016-04-25 | 2020-07-22 | Huawei Technologies Co., Ltd. | Multicast delay diagnosis method and apparatus |
-
2021
- 2021-09-29 GB GB2113880.5A patent/GB2611515B/en active Active
-
2022
- 2022-09-20 WO PCT/EP2022/076045 patent/WO2023052190A1/en active Application Filing
- 2022-09-20 CN CN202280064702.9A patent/CN117999768A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023052190A1 (en) | 2023-04-06 |
GB2611515B (en) | 2024-01-10 |
GB202113880D0 (en) | 2021-11-10 |
GB2611515A8 (en) | 2023-12-27 |
GB2611515A (en) | 2023-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9344682B2 (en) | Multi-media management | |
US8996719B2 (en) | System and method of adaptive transport of multimedia data | |
US20150289003A1 (en) | Method and Apparatus for Distributing Media Content Services | |
EP1119134A2 (en) | Method and apparatus for an improved internet group management protocol | |
US20240114065A1 (en) | Content delivery | |
CN113475085B (zh) | 多播辅助传送 | |
WO2020135562A1 (zh) | 一种组播方法、装置、设备和计算机存储介质 | |
EP4165848B1 (en) | Content delivery | |
CN117999768A (zh) | 内容递送 | |
KR101050060B1 (ko) | 데이터 스트림들을 전송하기 위한 방법 및 시스템 | |
WO2021063594A1 (en) | Content delivery – setting the unicast rate | |
CN118020311A (zh) | 内容递送 | |
US20240187466A1 (en) | Content delivery | |
WO2024056455A1 (en) | Multicast leave policy | |
WO2024056452A1 (en) | Multicast join policy | |
WO2023104514A1 (en) | Content delivery | |
GB2622278A (en) | Multicast join policy | |
WO2023186531A1 (en) | Content delivery | |
GB2622281A (en) | Multicast leave policy | |
US12003560B2 (en) | Content delivery—setting the unicast rate | |
US11638057B2 (en) | Content delivery | |
EP4315800A1 (en) | Content delivery | |
EP2912817B1 (en) | A method and apparatus for distributing media content services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |