CN116648897A - 内容递送 - Google Patents
内容递送 Download PDFInfo
- Publication number
- CN116648897A CN116648897A CN202180085394.3A CN202180085394A CN116648897A CN 116648897 A CN116648897 A CN 116648897A CN 202180085394 A CN202180085394 A CN 202180085394A CN 116648897 A CN116648897 A CN 116648897A
- Authority
- CN
- China
- Prior art keywords
- unicast
- rate
- multicast
- content
- client device
- 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
- 239000012634 fragment Substances 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000005540 biological transmission Effects 0.000 claims description 16
- 239000003795 chemical substances by application Substances 0.000 abstract description 94
- 230000003044 adaptive effect Effects 0.000 abstract description 9
- 239000000523 sample Substances 0.000 abstract description 3
- 230000001419 dependent effect Effects 0.000 abstract description 2
- 230000004044 response Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement 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
- 238000012545 processing Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 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
- 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/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- 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/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- 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
- 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/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
-
- 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/643—Communication protocols
- H04N21/64322—IP
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Environmental & Geological Engineering (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
技术领域
本发明涉及使用单播和多播的组合来进行内容递送的领域。
背景技术
越来越多的实况内容使用HTTP(或HTTPS)被流传输(streamed)。流行实况事件推动极不稳定的需求,从而导致通信量中的非常高的峰均比。例如,图1中的曲线图100示出了在欧洲2016足球比赛期间取得的移动网络中的网关处的通信量的示例。标绘图102示出了在没有足球赛的情况下一天(6月15日星期三)的通信量,并且标绘图104示出了第二天(6月16日星期四)当英格兰与威尔士比赛时的通信量。这两个标绘图粗略地示出了一天中相同的通信量,除了标绘图104具有由客户流传输足球比赛而产生的介于约14:00时到16:00时之间的显著附加峰值之外。
这种高峰均比引起了对网络的特殊挑战,其中这种峰值可能导致用户体验质量的降级。
最常见地,使用HTTP(或HTTPS)请求/响应对来通过互联网递送内容。客户端应用将向服务器发送HTTP请求,并且将返回包含所请求的内容的响应。这种请求/响应本质上是单播。
HTTP(S)可以被用于视频流传输。通常,客户端将获得清单文件,该清单文件将允许确定包含视频片段的单独文件的URL。然后,客户端将按顺序请求这些片段,并将它们连结以形成用于回放的连续流。各个视频片段也可以以不同的比特率来获得,以允许视频速率适应于可用网络吞吐量。这种技术被称为HTTP自适应流传输(HAS)。
对于观看同一事件(诸如实况足球比赛)的用户,各个客户端皆将作出其自己的HTTP请求并得到其自己的HTTP响应,即使在HTTP响应内向它们递送的内容的大部分在这些客户端之间是相同的。这导致对网络的非常低效的使用。
然而,如果接入网络能够使用多播而不是单播来进行内容递送,那么可以显著降低图1所示的实况内容峰值的影响。此外,在接入网络中使用多播还可以显著降低对内容递送网络服务器的峰值需求。
已经存在解决这种问题的解决方案,其中使用代理将多播路径插入到客户端与内容服务器之间的另外单播路径中。这类混合解决方案的示例包括:“IP MulticastAdaptive Bit Rate Architecture Technical Report”OC-TR-IP-MULTI-ARCH-C01-161026,26/10/2016,by Cable Labs;3GPP specifications,23.246(MBMS Architectureand functional description),26.346(MBMS Protocols and codecs)and 26.347(MBMSAPIs);and DVB“Adaptive Media Streaming over IP Multicast”ETSI TS 103769V1.1.1(2020-11)。
图2示出了这类解决方案的概括示例。
在图2中,示出了向客户端装置204a、204b以及204c提供内容(诸如视频)的内容服务器202。将多播代理X 206和三个代理Y 208a、Y 208b以及Y 208c插入到内容服务器202与客户端装置之间的另外单播路径中。代理X 206从内容服务器202获取单播内容,并且使该单播内容经由多播可获。代理Y接收多播内容,并且可以使该多播内容通过单播用于任何请求客户端装置。所有客户端装置将接收对它们的片段请求的相同响应,这是因为所有代理Y从代理X接收到同一多播内容。可以将代理Y定位于客户端装置内,或者定位于单独装置内,或者可以仅有取决于设立(set-up)的单个代理Y。
在这样的解决方案中,将代理X预先配置成充当客户端,并且独立地作出对内容片段的请求以及将整个响应分派到多播网络中。代理X是通过首先请求清单文件,然后及时地作出对该清单文件内描述的内容片段的请求来做到这一点的。
在这样的布置中,代理Y使内容可用于客户端装置的速率受代理X与代理Y之间的多播速率以及诸如代理Y是否预先高速缓存了所述内容中的任何内容的其它因素来约束。因此,利用HAS的客户端装置可能存在问题,即,正确地监测从内容服务器到客户端装置的可用网络吞吐量,而这又妨碍了客户端装置的自适应比特率算法适当地起作用以及在HAS下的视频速率之间的切换。
其它单播-多播混合布置也遭受类似的问题。
发明内容
本发明的示例的目的是提供一种改进的内容递送机制。
根据本发明的一个示例,提供了一种管理通过网络到客户端装置的内容递送的方法,所述内容包括一系列片段,并且其中,所述片段中的各个片段皆是以多个比特率来编码的,所述方法包括以下步骤:
在第一网元(network element)处通过多播接收从内容服务器发送的以第一比特率编码的一个或更多个片段,并且在第一网元处存储以第一比特率编码的所述一个或更多个片段,其中,以第一比特率编码的所述多个片段是以多播接收速率来接收的;
通过单播从第一网元向内容服务器发送对数据的请求,并且在第一网元处通过单播以单播接收速率接收所请求的数据;
将网络吞吐量确定为多播接收速率和单播接收速率之和;
以基于所确定的网络吞吐量的传输速率,通过单播从第一网元向客户端装置发送所存储的一个或更多个片段。
第一网元可以是代理服务器。所请求的数据可以是虚拟数据(dummy data)或内容片段。
可以将多播接收速率计算为所接收到的片段的大小除以接收该片段所花费的总时间。可以将单播接收速率计算为所接收到的数据的大小除以接收该数据所花费的总时间。
可以将传输速率设定成不大于网络吞吐量。可以将传输速率设定成网络吞吐量的分数,例如,网络吞吐量的90%。
所述方法还可以包括以下步骤:
在第一网元处从客户端装置接收对以第二比特率编码的一个或更多个另外片段的请求,其中,第二比特率高于第一比特率;以及
在第一网元处通过多播接收所请求的一个或更多个另外片段,并且通过单播向客户端装置发送所接收到的另外片段。
根据本发明的另一示例,提供了一种用于管理到客户端装置的内容递送的网元,所述内容包括一系列片段,并且其中,所述片段中的各个片段皆是以多个比特率来编码的,所述网元在操作中适于:
通过多播接收从内容服务器发送的以第一比特率编码的一个或更多个片段,并且存储以第一比特率编码的所述一个或更多个片段,其中,以第一比特率编码的所述多个片段是以多播接收速率来接收的;
通过单播从第一网元向内容服务器发送对数据的请求,并且通过单播以单播接收速率接收所请求的数据;
将网络吞吐量确定为多播接收速率和单播接收速率之和;
以基于所确定的网络吞吐量的传输速率,通过单播向客户端装置发送所存储的一个或更多个片段。
附图说明
为了更好地理解本发明,现在针对附图,仅通过示例的方式来进行说明,其中:
图1是示出不同天的网络上的通信量的图表;
图2是一般现有解决方案的网络图;
图3是示出本发明的示例的主要组件的网络图;
图4是概括在本发明的示例中建立稳态多播会话的步骤的流程图;
图5是概括在本发明的示例中进行单播探测的步骤的流程图;以及
图6是概括在本发明的示例中客户端装置确定是否向上切换成更高比特率流的步骤的流程图。
具体实施方式
本文中参照特定示例,对本发明进行描述。然而,本发明不限于这样的示例。
本发明的示例提供了一种管理用于向客户端装置递送内容的网络的方法,其中,内容片段是通过多播向代理递送的。在通过单播将所接收到的片段从代理向客户端装置进行递送之前,那些片段被存储在代理处。当代理通过多播接收另外片段时,该代理通过进行对数据(虚拟数据或附加内容片段)的单播请求,并且通过单播从内容服务器接收那些片段来对网络进行探测。对多播速率接收速率和单播(探测)速率进行测量,并且将最大网络吞吐量计算为这两个速率之和。然后,以所计算出的最大网络吞吐率,或者以依赖于所计算出的最大网络吞吐率的某一速率,从代理向客户端装置递送后续片段。因此,客户端装置将以更指示实际最大网络吞吐量的速率来接收片段,从而可以更好地使用其自适应比特率算法来确定切换成更高比特率片段是否合适。更高比特率片段可以由代理加入或建立携带更高比特率片段的适当多播组来提供。
图3示出了支持内容递送的简化“多播辅助单播递送”(Multicast AssistedUnicast Delivery,MAUD)网络的主要组件。本发明的示例可应用于这里所描述的简化MAUD网络。本领域技术人员还将意识到,这些示例同样可应用于其它混合单播/多播递送网络,诸如上面所描述的那些。
在本申请人的专利申请EP19159748.3中描述了更详细的MAUD布置,其描述了被称为“多播辅助单播递送”(MAUD)的布置。客户端装置通过单播向内容服务器请求内容。将包含所请求内容的响应分离成两个组分:第一组分包含专用于单独客户端装置的要素(例如,会话专用数据),而第二组分对于所有客户端装置(通常这是正被请求的视频内容)是公用的。第一组分可以通过单播进行递送,第二组分可以通过多播进行递送,并且稍后进行重新组合以形成原始响应。分离和重组是由经适当配置的代理服务器来处理的。本发明的示例可以应用于这样的MAUD布置,但是所请求的内容的分离和重组对于本发明的示例不是关键的。
返回至图3,网络300包括:内容服务器302;代理X 306;代理Y 308a、Y 308b和Y308c;客户端装置304a、304b、304c和304d;以及多播控制器312。内容服务器302向诸如客户端装置的请求实体提供诸如视频的内容。可以将内容服务器302定位于内容递送网络(content delivery network,CDN)内,并且可以有多于一个内容服务器。代理X 306可以通过单播与内容服务器302进行通信。代理X 306还可以通过单播和多播两者来与代理Y308a、308b以及308c进行通信。代理Y 308a可以通过单播与客户端装置304a和304d进行通信,代理Y 308b可以通过单播与客户端装置304b进行通信,以及代理Y 308c可以通过单播与客户端装置304c进行通信。
可以将代理Y定位于客户端装置内、定位于单独的装置(诸如家庭网关)中,或者可以是取决于设立的单个代理Y。
注意,在图3中,以实线标记双向单播通信路径,以虚线标记单向多播通信路径,以及以点划线标记控制接口通信路径。控制接口通信路径在多播控制器312与网络中的其它元件之间传送控制消息/命令。稍后将描述其它相关的通信路径。
假设客户端装置运行相应的客户端应用,这些客户端应用是内容请求的源。为简单起见,术语客户端装置从这里开始被用来指运行客户端应用的客户端装置。客户端装置可以对在内容服务器302处保持的内容进行HTTP(或HTTPS)单播请求。
被保持在内容服务器302处的内容通常是包括根据诸如ITU H.264标准的适当标准编码的视频序列的媒体内容(例如,TV节目、电影或整个线性TV频道)。将该视频序列以顺序时间片段的形式存储在内容服务器302中,其中各个片段通常等于2秒到10秒的解码视频。还以多个比特率或质量水平对视频序列进行编码,从而生成多个编码序列,各个编码序列皆以多个比特率之一进行编码。这种布置是自适应比特率流传输服务的典型。
清单文件由客户端用来标识片段位于何处(根据清单中的URL)。因此,客户端装置通过使用清单以根据需要依次按特定比特率,确定在哪里定向各个片段的顺序单播请求,从而流传输视频序列。在诸如MPEG-DASH和Apple's HLS(HTTP实时流传输(LiveStreaming))的HTTP自适应流传输技术中使用这种布置。
多播控制器312(MCC)监测代理X和代理Y的操作,并且相应地控制代理。
代理Y还包括存储器或其它存储装置(诸如固态存储器),以用于在向任何所连接的客户端装置传输之前存储片段。来自代理Y的片段的向前传输的控制将在下面的示例中更详细地描述。
客户端装置对内容作出的一些HTTP请求将不会完全使用该MAUD布置,而是可以直接向内容服务器发送请求。可以受益于MAUD的来自客户端装置的对内容的其它请求被重定向至所述代理Y中的一个代理,或者简单地由所述代理Y中的一个代理拦截。
可以使用许多公知技术中的任一公知技术(诸如使用来自内容服务器302的HTTP重定向),将代理Y插入HTTP路径中。在这种情况下,内容服务器302将被配置成,使得不直接服务于对潜在流行内容的请求,而是将该请求重定向至适当的代理Y。例如,代替提供正常响应,内容服务器302可以利用指示临时重定向的HTTP状态码307来进行响应。这邀请客户端装置对由内容服务器在该内容服务器的响应中提供的新URL作出新请求,从而使得能够向代理Y作出请求。该技术允许内容服务器和代理Y存在于不同的域中,而情况通常就是如此。
在HTTP路径中插入代理Y的其它机制包括:被配置为透明代理的代理Y(但是所有请求都被它拦截,并且只对未经加密的通信量起作用);被配置为前向代理的代理Y(其中,客户端装置依靠被明确地配置成这样做来直接向代理Y发送其请求);DNS劫持(其中DNS服务器被配置成,为关注域提供代理Y的IP地址);以及清单操纵(其中,清单文件被重写以使直接向代理Y进行请求)。
图4示出了概括建立用于向客户端装置递送内容的多播会话的步骤的流程图。
在步骤400开始,一个或更多个客户端装置作出对内容片段(诸如被存储在内容服务器302处的电影)的请求,并且经由代理Y通过单播接收响应(片段)。例如,客户端装置304a进行HTTP GET请求,该请求实质上是针对以特定比特率编码的内容片段的单播。可以将该初始或第一比特率选择为可用的最低比特率,或者可以以某一其它方式来选择比特率,诸如基于历史数据或用户偏好。各个HTTP GET请求皆包括可以从哪里检索该片段的URL。在与内容相关联的清单文件中找到URL。代理Y 308a接收请求,并将该请求转发至内容服务器302。
内容服务器302以HTTP响应进行响应,各个HTTP响应皆包含所请求的片段。HTTP响应是单播响应。响应由代理Y 308a接收并被发送至客户端装置304a。所接收到的片段然后可以由客户端装置304a进行查看。
客户端装置304a可以根据步骤400继续请求和接收片段,直到该内容的流传输完成。然而,在本发明的示例中,多播控制器312确定是否应当使用多播组来递送后续片段。
在步骤402中,代理Y 308a向多播控制器312发送具有与经过代理的HTTP请求/响应对相关的数据(例如,各个HTTP请求的URL)的消费报告。可以将消费报告以间隔(时间间隔或者在已经请求/接收到一定数量的片段之后)发送至多播控制器312。
现在,到目前为止描述的HTTP请求和响应本质上都是单播。然而,应注意,针对同一内容的请求可以由其它客户端装置来作出。例如,在实况足球比赛期间,情况通常如此。代理Y 308a以及其它代理Y(Y 308b或308c)在合适时为它们相应的客户端装置向多播控制器312发送消费报告,以使多播控制器312可以确定是否使用多播来帮助递送进一步内容。
在步骤404中,多播控制器312使用所接收到的报告,来确定从代理Y的给定群体报告的HTTP请求是否证明多播的使用对于它们的响应是合理的。这种代理Y的群体被称为“同组(cohort)”。假设满足某些条件(例如,在类似时间大于请求同一内容的客户端装置的某一数量),多播控制器312将通过设立适当的多播组来配置用于多播辅助递送的代理X和任何相关代理Y(即,同组)。一旦设立了多播组,就使用多播将内容(所请求的片段)从代理X发送至代理Y。
在步骤406中,多播控制器312可以通过发送代理Y 308a指令以设立HTTP请求路由来将代理Y 308a添加至同组,由此将匹配特定URL路径/模式/串的请求定向至代理X 306。多播控制器312还发送代理Y 308a指令以提供多播监听器。该指令告诉代理Y 308a准备接收多播。多播监听器使代理Y向由多播控制器指定的多播地址发出IGMP加入命令。
为了允许代理X 306将多播用于针对请求的响应的返回路径,所述响应满足为代理Y 306设立的匹配模式,多播控制器312将代理X 306配置成将多播用于由内容服务器发送的某些响应。例如,该指令可以是仅将多播辅助用于包含视频文件或MIME类型(诸如“视频/mp4”或“视频/MP2T”)的响应,从而仅通过多播发送包含视频通信量的响应。在另选示例中,可以基于特定Etag或Etag范围来选择响应。Etag(实体标签)是HTTP1.1规范的一部分,并且被用于唯一地标识响应有效载荷。
代理X 306以及所述代理Y中的一个或更多个代理Y现在被配置为分别通过多播发送和接收内容。
在步骤408中,客户端装置304a通过单播发送HTTP GET请求,并且在针对以第一比特率编码的另外片段的代理Y 308a处接收该请求。代理Y 308a检查以查看该请求是否与稍早阐述的模式匹配。匹配有效地意味着要通过多播来递送对该请求的响应。在该示例中,假设存在匹配,并且代理Y 308a将HTTP GET请求发送到代理X 306(而不是直接发送至内容服务器302)上。
代理X 306将所接收到的HTTP GET请求发送至内容服务器302,该内容服务器以HTTP响应中的(以第一比特率编码的)所请求的另外片段来响应代理X 306。然后,代理X306通过多播发送这些另外片段。这些片段通常是以至少足以确保及时递送的多播传输速率来发送的。
代理Y 308a被配置成接收多播,并因此将接收通过多播从代理X 306发送的这些另外片段。在步骤410中,将这些另外片段高速缓存在代理Y 308a处。
在步骤412中,代理Y 308a开始向客户端装置304a发送这些另外片段。
然后,处理转回至步骤408,其中,代理Y 308a继续通过多播接收另外片段,高速缓存它们,并且通过单播将它们发送到客户端装置308a。
如上所述,代理Y可以在其高速缓存中存储一个或更多个片段,这些片段在被发送到客户端装置304a之前已经通过多播被递送。这可以在代理Y处的多播接收速率高于从代理Y到客户端装置304a的单播传输速率的情况下实现。
另选地,可以存在连接至代理Y 308a的多于一个客户端装置,这些客户端装置都正在请求相同的内容,但可能不是在以彼此精确相同的时间请求该内容。在这样的情况下,将存在一个或更多个“拖尾(trailing)”客户端装置,其请求已经在代理Y 308a处高速缓存的内容片段,例如,作为图4中的步骤的结果。
总之,图4的步骤(并且特别是步骤408至412、以及上面所描述的同组变体)表示建立用于内容递送的稳态多播会话,由此内容片段是在通过单播从代理向户端装置发送之前通过多播被发送至代理(代理Y)的。
客户端装置304a通过单播从代理Y 308a接收片段的速率可以被合理地限制到代理X与代理Y之间的多播速率,以便避免耗尽任何高速缓存并经历缓冲器下溢。本申请人的专利申请EP 19194759.7陈述了一种用于设定潜在多播速率的方法。
然而,具有固定的多播速率意味着客户端装置304a永远无法真正地确定内容服务器与客户端装置304a之间的最大吞吐量。因此,客户端装置304a无法正确地确定网络是否可以使用其自适应比特率算法来支持更高比特率的片段流,并因此无法准确地确定对以更高比特率编码的片段的请求是否可以以及时的方式被递送以用于解码。
图5示出了概括本发明的示例的步骤的流程图。图5的步骤可以被配置成间歇地发生(例如在多播控制器312的控制下,或者只是周期性地发生),同时代理Y 308a仍保持在其多播组中并且继续通过多播接收片段,高速缓存片段,并且通过单播将它们发送到客户端304a上。实际上,图5的步骤发生在步骤410之后(在步骤408到412的第一或任何后续循环中)。
在步骤500中,代理Y 308a对当前多播接收速率RM进行测量。这可以通过将所接收到的片段大小除以接收该片段所花费的总时间来进行。
在步骤502中,代理Y 308a通过向内容服务器302发送对数据的单播请求来探测网络。数据可以是虚拟数据或者已经请求的片段或者将来的片段(数据的性质并不重要,这是因为该数据在被接收了之后不被使用)。该请求可以采取HTTP GET请求的形式。
在步骤504中,代理Y 308a通过单播从内容服务器接收所请求的数据。
在步骤506中,对接收所请求的数据的速率(或单播接收速率)RU进行测量。该单播接收速率可以通过将所接收到的数据大小除以接收数据所花费的时间来进行测量。
在步骤508中,代理Y 308a将总网络吞吐量或带宽BN计算为多播接收速率RM(步骤500)和单播接收速率RU(506)之和:
BN = RM + RU (1)
总网络吞吐量BN是从内容服务器302到代理Y 308a的网络的总容量的量度。
在步骤510中,代理Y 308a可以使用总网络吞吐量BN来设定传输速率,在步骤412中以该传输速率来向客户端304a发送另外片段。因此,例如可以将发送另外片段的单播传输速率设定成等于总网络吞吐量BN,从而允许客户端装置304a得到网络中的吞吐量的真实写照,而不是简单地得到多播速率或者某一其它受约束的速率。在实践中,可以将从代理Y到客户端装置的单播传输速率设定成总网络吞吐量的分数,比方说90%。总网络吞吐量BN可以提供单播传输速率的上限。
返回至图4中的步骤412,代理Y 308a以在步骤510中设定的这种速率来向客户端装置304a发送另外片段。
间歇地,在从代理Y 308a接收到片段之后,客户端装置304a可以使用其ABR算法来确定是否触发切换成以更高比特率编码的片段。这由图6的流程图来进行例示,其可以在客户端装置308a正在接收内容片段时的任何时间间歇地发生。
在步骤600中,客户端装置304a使用其ABR算法,在考虑到片段接收速率以及可用编码片段的比特率的情况下,来确定切换成更高比特率片段是否应当发生。如果客户端装置304a确定切换成更高比特率流应当发生,则处理转向步骤602以开始请求更高比特率片段。如果客户端装置304a确定切换成更高比特率流不应发生,则处理转回至步骤408,其中代理Y 308a继续通过多播接收另外片段。
在步骤602中,客户端装置308a向代理Y 308a作出针对以高于第一比特率的比特率编码的另外片段的单播请求。
在步骤604中,代理Y 308a接收该请求,并且可以以许多方式来服务于对以更高比特率编码的片段的请求。代理Y 308a可以首先离开现有的多播组,并且如果存在携带更高比特率流的现有多播组,则处理转向步骤606,其中代理Y 304a可以加入该新的多播组。然后,代理Y 304a将经由代理X通过多播从内容服务器接收以更高比特率编码的所请求的片段,并且通过单播将所请求的片段发送到客户端装置304a上,其中处理有效地转回至步骤408。
然而,如果不存在适当的多播组,则处理可以转回至步骤400,在该步骤中,最初通过单播来服务于该请求,但是在稍后的某一点,可以建立适当的多播组,以通过多播向代理Y 308a递送以更高比特率编码的片段。
通常,本文中应注意,虽然上面描述了本发明的示例,但是在不脱离所附权利要求中限定的本发明的范围的情况下,存在可以对上述示例进行的许多变型例和修改例。本领域技术人员将认识到对所述示例的修改。
Claims (9)
1.一种管理通过网络到客户端装置的内容递送的方法,所述内容包括一系列片段,并且其中,所述片段中的各个片段皆是以多个比特率来编码的,所述方法包括以下步骤:
i)在第一网元处通过多播接收从内容服务器发送的以第一比特率编码的一个或更多个片段,并且在所述第一网元处存储以所述第一比特率编码的所述一个或更多个片段,其中,以第一比特率编码的所述多个片段是以多播接收速率被接收的;
ii)通过单播从所述第一网元向所述内容服务器发送对数据的请求,并且在所述第一网元处通过单播以单播接收速率接收所请求的数据;
iii)将网络吞吐量确定为所述多播接收速率和所述单播接收速率之和;
iv)以基于所确定的网络吞吐量的传输速率,通过单播从所述第一网元向所述客户端装置发送所存储的一个或更多个片段。
2.根据权利要求1所述的方法,其中,所请求的数据是虚拟数据。
3.根据权利要求1所述的方法,其中,所请求的数据是内容片段。
4.根据任一前述权利要求所述的方法,其中,所述多播接收速率是所接收到的片段的大小除以接收该片段所花费的总时间。
5.根据任一前述权利要求所述的方法,其中,所述单播接收速率是所接收到的数据的大小除以接收所述数据所花费的总时间。
6.根据任一前述权利要求所述的方法,其中,所述传输速率被设定成不大于所述网络吞吐量。
7.根据权利要求6所述的方法,其中,所述传输速率被设定成所述网络吞吐量的分数。
8.根据任一前述权利要求所述的方法,所述方法还包括以下步骤:
v)在所述第一网元处从所述客户端装置接收对以第二比特率编码的一个或更多个另外片段的请求,其中,所述第二比特率高于所述第一比特率;以及
vi)在所述第一网元处通过多播接收所请求的一个或更多个另外片段,并且通过单播向所述客户端装置发送所接收到的另外片段。
9.一种用于管理到客户端的内容递送的网元,所述内容包括一系列片段,并且其中,所述片段中的各个片段皆是以多个比特率来编码的,所述网元在操作中适于:
通过多播接收从内容服务器发送的以第一比特率编码的一个或更多个片段,并且存储以所述第一比特率编码的所述一个或更多个片段,其中,以第一比特率编码的所述多个片段是以多播接收速率被接收的;
通过单播从所述第一网元向所述内容服务器发送对数据的请求,并且通过单播以单播接收速率接收所请求的数据;
将网络吞吐量确定为所述多播接收速率和所述单播接收速率之和;
以基于所确定的网络吞吐量的传输速率,通过单播向所述客户端装置发送所存储的一个或更多个片段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2020129.9A GB2602270B (en) | 2020-12-18 | 2020-12-18 | Content delivery |
GB2020129.9 | 2020-12-18 | ||
PCT/EP2021/084263 WO2022128548A1 (en) | 2020-12-18 | 2021-12-03 | Content delivery |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116648897A true CN116648897A (zh) | 2023-08-25 |
Family
ID=74221193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180085394.3A Pending CN116648897A (zh) | 2020-12-18 | 2021-12-03 | 内容递送 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240114065A1 (zh) |
EP (1) | EP4264918A1 (zh) |
CN (1) | CN116648897A (zh) |
GB (1) | GB2602270B (zh) |
WO (1) | WO2022128548A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2617107A (en) * | 2022-03-29 | 2023-10-04 | British Telecomm | Content delivery |
GB2622278A (en) * | 2022-09-12 | 2024-03-13 | British Telecomm | Multicast join policy |
GB2622281A (en) * | 2022-09-12 | 2024-03-13 | British Telecomm | Multicast leave policy |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100721367B1 (ko) * | 2006-05-23 | 2007-05-23 | 한국정보통신대학교 산학협력단 | Tdm-pon에서 멀티캐스트 트래픽 공유 기반의 공정한차등 대역폭 할당 방법 및 시스템 |
EP2785006A1 (en) * | 2013-03-28 | 2014-10-01 | British Telecommunications public limited company | Content delivery system and method |
US9854282B2 (en) * | 2014-11-20 | 2017-12-26 | Alcatel Lucent | System and method for enabling network based rate determination for adaptive video streaming |
EP3384617B1 (en) * | 2015-12-02 | 2021-07-14 | Telefonaktiebolaget LM Ericsson (publ) | Data rate adaptation for multicast delivery of streamed content |
GB201902640D0 (en) * | 2019-02-27 | 2019-04-10 | British Telecomm | Multicast assisted delivery |
US11638057B2 (en) * | 2019-08-30 | 2023-04-25 | British Telecommunications Public Limited Company | Content delivery |
US12003560B2 (en) * | 2019-09-30 | 2024-06-04 | British Telecommunications Public Limited Company | Content delivery—setting the unicast rate |
CA3200365A1 (en) * | 2020-12-07 | 2022-06-16 | Activevideo Networks, Inc. | Systems and methods of alternative networked application services |
-
2020
- 2020-12-18 GB GB2020129.9A patent/GB2602270B/en active Active
-
2021
- 2021-12-03 US US18/257,558 patent/US20240114065A1/en active Pending
- 2021-12-03 EP EP21830632.2A patent/EP4264918A1/en active Pending
- 2021-12-03 WO PCT/EP2021/084263 patent/WO2022128548A1/en active Application Filing
- 2021-12-03 CN CN202180085394.3A patent/CN116648897A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2602270A (en) | 2022-06-29 |
US20240114065A1 (en) | 2024-04-04 |
WO2022128548A1 (en) | 2022-06-23 |
GB202020129D0 (en) | 2021-02-03 |
EP4264918A1 (en) | 2023-10-25 |
GB2602270B (en) | 2023-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150289003A1 (en) | Method and Apparatus for Distributing Media Content Services | |
CN116648897A (zh) | 内容递送 | |
CN113475084B (zh) | 多播辅助传送 | |
CN116034572B (zh) | 向客户端装置递送内容的方法和装置 | |
US12003560B2 (en) | Content delivery—setting the unicast rate | |
GB2586637A (en) | Content delivery | |
EP4165848B1 (en) | Content delivery | |
CN114270790B (zh) | 内容递送 | |
US20240187466A1 (en) | Content delivery | |
US20240276069A1 (en) | Content delivery | |
WO2023104514A1 (en) | Content delivery | |
WO2023052191A1 (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 | ||
SE01 | Entry into force of request for substantive examination |