CN112106335B - 用于经由内容分发网络流式传输媒体数据的方法及系统 - Google Patents

用于经由内容分发网络流式传输媒体数据的方法及系统 Download PDF

Info

Publication number
CN112106335B
CN112106335B CN201980029162.9A CN201980029162A CN112106335B CN 112106335 B CN112106335 B CN 112106335B CN 201980029162 A CN201980029162 A CN 201980029162A CN 112106335 B CN112106335 B CN 112106335B
Authority
CN
China
Prior art keywords
client
server
metadata
streaming
clients
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.)
Active
Application number
CN201980029162.9A
Other languages
English (en)
Other versions
CN112106335A (zh
Inventor
J·克勒吉萨
H·普尔纳根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby International AB
Original Assignee
Dolby International AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dolby International AB filed Critical Dolby International AB
Priority to CN202111313629.8A priority Critical patent/CN114245225B/zh
Publication of CN112106335A publication Critical patent/CN112106335A/zh
Application granted granted Critical
Publication of CN112106335B publication Critical patent/CN112106335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文件描述一种用于针对用于流式传输来自至少一个服务器(101,701)的数据(103)的客户端(102)的控制策略确立控制信息的方法(900)。所述方法(900)包括在所述服务器(101,701)的服务器代理与所述客户端(102)的客户端代理之间执行(901)消息传递过程,以便反复地确立控制信息。此外,所述方法(900)包括产生(902)所述消息传递过程的收敛事件以指示已确立所述控制信息。

Description

用于经由内容分发网络流式传输媒体数据的方法及系统
相关申请案的交叉参考
本申请案主张以下优先权申请案的优先权:2018年4月30日提出申请的美国临时申请案62/664,369(参考文献:D17112USP1)及2018年4月30日提出申请的EP申请案18170085.7(参考文献:D17112EP),所述申请案据此以引用方式并入。
技术领域
本文件涉及经由具有有限资源的内容分发网络(CDN)来流式传输媒体数据,例如视频及/或音频数据。
背景技术
当今用户可通过一或多个电信网络将来自一或多个内容服务器的媒体数据(例如视频及/或音频数据)流式传输到其终端装置(例如智能手机或电视机)上。所述用户的体验质量(QoE)通常取决于可用于每一个别数据流的流式传输相关资源。资源不足可能导致所呈现媒体数据的中断及/或恶化。
在牛迪(Niu Di)及李宝春(Baochun Li)的“具有耦合目标的资源共享的异步定点算法(An Asynchronous Fixed-Point Algorithm for Resource Sharing With CoupledObjectives)”(IEEE/ACM网络会刊24(2016):2593-2606)中,解决目标是用户效用的和减去耦合成本的效用最大化问题。提议具有耦合目标函数的资源共享问题的新定点式分布解决方案。
杜强(Cuong Do)等人的“用于地理分布式雾计算中的联合资源分配及最小化碳足迹的近似算法(A Proximal Algorithm for Joint Resource Allocation andMinimizing Carbon Footprint in Geo-distributed Fog Computing)”(2015年国际信息联网会议ICOIN,IEEE,2015年1月12日,第324到329页)针对雾计算中的视频流式传输服务考虑所出现的联合资源分配问题及最小化碳足迹问题。为了解决大规模优化问题,提议基于所述近似算法及交替方向乘子法(ADMM)的分布式算法。
徐(Xu)、红(Hong)及李宝春(Baochun Li)的“用于地理分布式云服务的联合请求映射及响应路由(Joint request mapping and response routing for geo-distributedcloud services)”(2013年会议记录IEEE INFOCOM(2013):854-862)解决分布式数据中心的联合请求映射及响应路由的问题。所述问题用公式表示为一般工作负载管理优化。效用函数用于捕获性能目标,且以实际方式将电及带宽成本的定位多样性建模。为了解决大规模优化,基于交替方向乘子法(ADMM)而形成分布式算法。遵循分解-协调方法,所提出算法允许数据中心中的并行实施,其中每一服务器解决小的子问题。
本文件解决以高效且可靠方式增加一或多个内容分发网络的用户的QoE的技术问题。
发明内容
根据一方面,描述一种用于针对用于流式传输来自至少一个服务器的数据的客户端的控制策略确立控制信息的方法。可由代表所述客户端而行动的客户端代理及/或由代表所述服务器而行动的服务器代理执行所述方法。所述服务器代理可与所述服务器分开或完全相同。以类似方式,所述客户端代理可与所述客户端分开或完全相同。客户端可为经配置以呈现媒体(例如,音频及/或视频)的终端装置及/或软件应用(例如,媒体播放器软件)。客户端代理可为经配置以执行本文件中所描述的消息传递过程的软件模块(例如,在所述终端装置上及/或在所述软件应用内)。以类似方式,服务器可为经配置以将媒体数据流式传输到一或多个客户端的硬件装置及/或软件应用。服务器代理可为经配置以执行本文件中所描述的消息传递过程的软件模块(例如,在所述硬件装置上及/或在所述软件应用内运行)。
所述方法包括在所述服务器的所述服务器代理与所述客户端的所述客户端代理之间执行消息传递过程,以便反复地确立所述控制信息。在所述消息传递过程的情境中,可将消息(例如,与服务器元数据一起)从所述服务器代理发送到所述客户端代理。对此做出反应,可将消息(例如,与客户端元数据一起)从所述客户端代理发送到所述服务器代理。可重复消息(与反复地更新的内容)的此交换直到发生收敛事件为止。此外,一旦发生所述收敛事件,便可重新开始所述消息传递过程,以便更新所述控制信息及/或产生后续收敛事件。换句话说,可重复所述消息传递过程以便更新控制信息。因此,所述控制信息可仅在限时间内保持有效
此外,所述方法包括产生所述消息传递过程的收敛事件以指示已确立所述控制信息。产生所述收敛事件可包括:确定已达到所述消息传递过程的预定最大数目个迭代;确定所述控制信息在所述消息传递过程的两个连续迭代之间的改变等于或小于预定改变阈值;及/或确定所述客户端代理及/或所述服务器代理已发送终止所述消息传递过程的指示。
所述所确立控制信息接着可用于控制从所述服务器流式传输到所述客户端的所述数据。出于此目的,所述方法可包括基于所述所确立控制信息而产生(例如,由所述客户端执行)对数据的请求。替代地或另外,所述方法可包括基于所述所确立控制信息而管理(例如,由所述客户端执行)所述客户端的用于缓冲数据的缓冲器。替代地或另外,所述方法可包括选择(例如,由所述客户端执行)待流式传输的内容的多个不同质量水平中的一质量水平。通常,所述不同质量水平可与传达特定质量水平所需要的不同量的资源(例如,带宽)相关联。所述客户端的所述控制策略可针对于在管理缓冲器时及/或在选择所述经流式传输数据的质量水平时产生对数据的请求。
因此,描述一种使得一或多个客户端及一或多个服务器能够确立用于以高效且可靠方式控制一或多个数据流式传输过程的控制信息的方法。在消息传递过程的情境中,可通过消息在所述一或多个服务器与所述一或多个客户端之间的迭代交换来改进(尤其地优化)所述一或多个数据流式传输过程的总体优化标准。特定来说,所述消息传递过程可用于执行总体优化标准的分布式优化。所述总体优化标准可针对于将可用于流式传输的总量的资源分布到一或多个客户端。特定来说,可执行所述分布,使得增加(尤其地最大化)在数据流式传输过程的情境中针对一或多个客户端的平均效用。
可在本文中所描述的方法中指派或分配给一或多个客户端的资源可为以下各项中的一或多者:流式传输数据的(有限)位速率;用于提供数据的服务器的(有限)处理容量;及/或服务器与客户端之间的传输网络的(有限)带宽。在所述消息传递过程的情境中,可以确定将所述总量的所述资源的哪一分率指派给用于流式传输数据的所述一或多个客户端中的每一者。特定来说,客户端/服务器对的所述所确立控制信息可指示或可包括已分配或指派给用于流式传输来自客户端/服务器对的服务器的数据的客户端的资源的量。
所述消息传递过程可包括在给定迭代k内将服务器元数据从所述服务器代理发送到所述客户端代理。在所述给定迭代k处的所述服务器元数据可取决于在前一迭代(例如,迭代k-1)处从所述客户端代理发送到所述服务器代理的客户端元数据。此外,所述消息传递过程可包括在所述给定迭代k内将客户端元数据从所述客户端代理发送到所述服务器代理。在所述给定迭代k处的所述客户端元数据可取决于在所述给定迭代k处从所述服务器代理发送到所述客户端代理的所述服务器元数据。因此,在所述消息传递过程的情境中,可在服务器代理与客户端代理之间交换消息,其中所述所交换消息可互相依赖于彼此(即,由所述服务器代理发送的消息可取决于从所述客户端代理接收的消息;及/或由所述客户端代理发送的消息可取决于从所述服务器代理接收的消息)。互相依赖消息的迭代交换可用于以时间高效方式(借助相对低数目个迭代)确立经优化控制信息。
所述方法可包括基于客户端效用函数而确定客户端元数据。特定来说,所述方法可包括基于所述客户端效用函数而确定所述客户端所请求的所述资源(例如,带宽、位速率等)的所请求量或量水平。所述客户端元数据接着可指示所述资源的所述所请求量。所述客户端效用函数可在流式传输过程的情境中描述所述客户端的效用(例如,益处或体验质量)。特定来说,所述客户端效用函数可指示由所述客户端接收的所述经流式传输数据的针对所述客户端的所述效用随已分配给用于流式传输数据的所述客户端的所述资源(例如,带宽、位速率等)的所述量而变化。换句话说,所述客户端效用函数可指示在所述资源的所述所分配量改变时针对所述客户端的所述效用如何改变。通常,内容分发的目标是增加客户端的效用(例如,以便增加QoE)。
特定来说,所述客户端效用函数可指示及/或取决于由所述客户端呈现的经流式传输媒体数据的感知质量。替代地或另外,所述客户端效用函数可指示及/或取决于合格率函数。替代地或另外,所述客户端效用函数可指示及/或取决于由所述客户端接收及/或呈现的经流式传输数据的信噪比(例如,峰值信噪比(PSNR))。替代地或另外,所述客户端效用函数可取决于所述客户端的呈现模式(实例性呈现模式是经由高清晰度或低清晰度呈现装置进行呈现、呈现单、双或多信道音频内容、经由扬声器或耳机进行呈现等)。替代地或另外,所述客户端效用函数可取决于所述客户端的呈现环境(例如,在家庭影院内或在公共交通工具内呈现内容;及/或所述呈现环境的噪声电平)。替代地或另外,所述客户端效用函数可取决于所述客户端的类型(例如,智能手机、PC、膝上型计算机、电视机、扬声器、耳机等)。替代地或另外,所述客户端效用函数可取决于所述经流式传输内容的感知及/或统计特性。举例来说,当以完全相同位速率进行操作时,用于对经流式传输材料进行编码的特定编解码器可在某一类型的内容上比在其它类型的内容上表现更好。因此,特定质量对速率特性可与特定类型的内容相关联。因此,所述客户端效用函数可取决于待流式传输的内容类型(例如,卡通片或现实电影)及/或取决于用于对经流式传输数据进行编码的编解码器。特定类型的内容可与特定质量对速率曲线相关联。可向所述客户端代理用信号通知此曲线且所述曲线可用作所述客户端效用函数的一部分。所述客户端效用函数可为时变的,即,所述客户端效用函数可随着时间而改变。
通过考虑客户端效用函数,使得所述方法能够在流式传输数据的情境中改进(尤其地最大化或优化)一或多个客户端的总体效用。由于消息传递过程的使用,因此所述客户端效用函数不必须被服务器或被总代理知晓。特定客户端的客户端效用函数可仅被所述特定客户端的客户端代理知晓。其可不被其它客户端或服务器知晓。然而,通过在产生由所述特定客户端的所述客户端代理发送的消息(尤其地客户端元数据)时考虑特定客户端的客户端效用函数,可改进一或多个客户端的总体效用。通过进行此操作,可以高效且灵活方式优化对大数目个客户端的内容分布。
所述服务器元数据可指示分配给用于流式传输数据的所述客户端的所述资源的所分配量。所述方法可包括取决于所述资源的所述所分配量来确定所述客户端所请求的所述资源的所述所请求量。换句话说,可在所述消息传递过程的情境中将所述服务器将要分配给用于流式传输数据的所述客户端的所述资源的所述所分配量告知客户端代理。所述客户端代理可使用此信息来更新其对所述资源的请求,即,更新所述资源的所述所请求量。此外,所述客户端代理可利用所述客户端效用函数。通过进行此操作,可以迭代且高效方式确立关于所述资源的所述所分配量的优化协定。
可基于(尤其地通过减小或最小化)成本函数而确定所述资源的所述所请求量。所述成本函数可包括第一项,所述第一项指示所述资源的所述所请求量与所述资源的所述所分配量的偏差(例如的绝对值及/或平方)。此外,所述成本函数可包括第二项,所述第二项包括或指示所述客户端效用函数的补集。可通过抵消所述客户端效用函数及/或通过改变所述客户端效用函数的正负号而从所述客户端效用函数导出所述客户端效用函数的所述补集。特定来说,所述客户端效用函数的所述补集可使得最小化所述客户端效用函数的所述补集对应于或等于最大化所述客户端效用函数(或反之亦然)。
特定来说,所述成本函数可包括所述第一项与所述第二项的加权和。在本文件中(针对一个服务器的情形且针对M个服务器的情形)描述客户端的成本函数的实例。通过实例方式,所述成本函数可包括表达式
Figure GDA0002750004100000061
其中dn(r)是客户端效用函数的补集,其中r是待确定的资源的所请求量,其中
Figure GDA0002750004100000062
与资源的所分配量有关,且其中ρn为加权参数。特定来说,
Figure GDA0002750004100000063
可指示资源的所分配量(尤其地经受收敛事件的发生),例如,所确立控制信息可为
Figure GDA0002750004100000064
所述客户端代理可经配置以改进(尤其地最小化)所述成本函数以便确定所述资源的所述所请求量。可在所述消息传递过程的每一迭代期间执行此任务,以便以高效且可靠方式优化总体优化标准。
如上文所指示,所述客户端元数据可指示所述客户端所请求的所述资源的所请求量。可(由所述服务器代理)基于所述资源的所述所请求量而确定所述资源的所述所分配量。通过进行此操作,可在所述消息传递过程的情境中确立所述资源的所述所分配量的协定。
所述方法可包括取决于将分配给用于流式传输数据的多个客户端的所述资源的总量而确定(由所述服务器代理)所述服务器元数据。如上文所指示,用于流式传输数据的资源可为有限的(限于总量)。可取决于此总量来确定发送到特定客户端的所述客户端代理的所述服务器元数据。特定来说,可确定所述服务器元数据使得到所述一或多个客户端的所述资源的所述所分配量不超过所述总量。由于此情况,可在所述消息传递过程的情境中实现所述有限量的所述资源的可靠分布。
所述客户端可称为多个客户端中的第一或特定客户端。所述多个客户端可为有限资源而竞争。所述方法可针对于将所述有限资源分布到所述多个客户端以便改进(尤其地优化)总体优化标准。所述总体优化标准可对应于或可包括所述多个客户端的(可能不同)客户端效用函数。特定来说,所述总体优化标准可针对于改进(尤其地最大化)所述对应多个客户端的所述多个客户端效用函数的平均值。所述服务器代理可不知道所述不同客户端的所述客户端效用函数。然而,可由于消息传递过程的使用而实现总体优化标准的改进(尤其地优化)。
所述方法可包括基于所述资源的所述总量而确定分配给用于流式传输数据的所述第一客户端的所述资源的所分配量。用于所述第一客户端的所述服务器元数据接着可指示分配给用于流式传输数据的所述第一客户端的所述资源的所述所分配量。特定来说,所述方法可包括从为所述总量的所述资源而竞争的所述多个客户端(尤其地从所述多个客户端的所述客户端代理)接收客户端元数据。来自所述客户端中的每一者的所述客户端元数据可指示所述相应客户端所请求的所述资源的所述所请求量。接着可基于来自所述多个客户端中的每一者的所述资源的所述所请求量而确定用于所述第一客户端的所述资源的所述所分配量。通过进行此操作,可实现所述总量的所述资源的高效且稳健分布以改进总体优化标准。特定来说,如果已取决于所述相应客户端的所述客户端效用函数来确定来自所述不同客户端的所述资源的所述所请求量,那么可实现此优化分布。
所述方法可包括在所述服务器的所述服务器代理与多个客户端的客户端代理之间执行(成对)消息传递过程,以便针对所述多个客户端中的每一者反复地确立控制信息。如上文所指示,所述多个客户端可为可用于流式传输来自所述服务器的数据的所述总量的资源而竞争。在不同服务器/客户端对之间交换的消息可包括在本文件中所描述的信息(尤其地,元数据)。通过在不同服务器/客户端对之间执行消息传递过程,可以可靠且高效方式实现所述有限总量的所述资源的优化分布。
替代地或另外,所述方法可包括在多个服务器的服务器代理与一或多个客户端的客户端代理之间执行(成对)消息传递过程,以便针对用于流式传输来自所述多个服务器中的每一者的数据的所述一或多个客户端的控制策略反复地确立控制信息。在一般情形中,N个客户端(其中N>1,例如N=10、50、100、1000或更多)可为(M>0,例如M=1、2、3、4、5或更多个)服务器的有限资源而竞争。客户端可经配置以流式传输来自不同服务器的总体内容的分率。可在总体消息传递过程中确立从所述服务器中的每一者指派的所述有限资源的所述所分配量。客户端接着可分别基于用于所述不同服务器的所确立控制信息而流式传输来自所述不同服务器的总体媒体流的不同分率。
根据额外方面,描述一种用于针对用于流式传输来自服务器的数据的至少一个客户端的控制策略确立控制信息的方法(例如,由所述服务器的服务器代理执行)。所述方法可包括在本文件中所描述的特征中的任何一或多者(尤其地,服务器或服务器代理相关特征中的任何一或多者)。
所述方法包括接收客户端元数据,其中所述客户端元数据指示用于流式传输来自服务器的数据的所述至少一个客户端所请求的资源的所请求量。此外,所述方法包括基于所述所接收客户端元数据而确定服务器元数据,其中所述服务器元数据指示分配给用于流式传输来自所述服务器的数据的所述至少一个客户端的所述资源的所分配量。另外,所述方法包括发送所述服务器元数据。可重复所述接收、确定及发送步骤直到收敛事件的发生为止,其中所述收敛事件指示已基于反复地接收客户端元数据及发送服务器元数据而针对用于流式传输来自所述服务器的数据的所述至少一个客户端的所述控制策略确立控制信息。
根据另一方面,描述一种用于针对用于流式传输来自至少一个服务器的数据的客户端的控制策略确立控制信息的方法(例如由客户端的客户端代理执行)。所述方法可包括在本文件中所描述的特征中的任何一或多者(尤其地,客户端或客户端代理相关特征中的任何一或多者)。
所述方法包括接收服务器元数据,其中所述服务器元数据指示分配给用于流式传输来自所述至少一个服务器的数据的所述客户端的资源的所分配量。另外,所述方法包括基于所述服务器元数据而确定客户端元数据,其中所述客户端元数据指示用于流式传输来自所述至少一个服务器的数据的所述客户端所请求的所述资源的所请求量。此外,所述方法包括发送所述客户端元数据。可重复所述接收、确定及发送步骤直到收敛事件的发生为止,其中所述收敛事件指示已基于反复地接收服务器元数据及发送客户端元数据而针对用于流式传输来自所述至少一个服务器的数据的所述客户端的所述控制策略确立控制信息。
所述方法可包括使用接收、确定、发送及重复步骤来重复地(例如周期性地)确定经更新控制信息。换句话说,可重复所述消息传递过程(例如,以频率f=1/T)周期性地)以便确定经更新控制信息。通过进行此操作,可考虑在内容分发网络内的改变,借此增加在所述内容分发网络内的所述一或多个客户端的QoE。
可例如在第一时刻确立所述控制信息。所述控制信息接着可展现从所述第一时刻开始的(例如,T或更多的)某一有效期。通过界定控制信息的有效期,可考虑在内容分发网络内的改变。所述方法可包括在所述控制信息的所述有效期期间基于所述控制信息而确定用于流式传输数据的所述控制策略。此外,所述方法可包括在所述控制信息的所述有效期之后应用取决于所述控制信息的用于流式传输数据的控制策略。换句话说,针对客户端的所述控制策略使用所述控制信息可限于某一有效期。如果未在所述有效期内确立经更新控制信息,那么所述客户端可在所述有效期之后切换到局部地优化及/或个别控制策略。通过进行此操作,可提供稳健流式传输方案。
根据额外方面,描述一种用于分发(尤其地用于流式传输)内容的系统。所述系统包括经配置以将用于流式传输内容的数据提供到一或多个客户端的至少一个服务器。此外,所述系统包括经配置以向所述至少一个服务器请求用于流式传输内容的数据的至少一个客户端。另外,所述系统包括所述至少一个服务器的服务器代理(例如,作为所述服务器的一部分)及所述至少一个客户端的客户端代理(例如,作为所述客户端的一部分)。所述服务器代理及所述客户端代理可经配置以在所述服务器代理与所述客户端代理之间执行消息传递过程,以便针对用于流式传输来自所述至少一个服务器的数据的所述至少一个客户端的控制策略反复地确立控制信息。此外,所述服务器代理及所述客户端代理可经配置以产生所述消息传递过程的收敛事件以指示已确立所述控制信息。
根据另一方面,描述一种用于内容分发网络的服务器的服务器代理。所述服务器代理经配置以接收客户端元数据,其中所述客户端元数据指示用于流式传输来自所述服务器的数据的客户端所请求的资源的所请求量。此外,所述服务器代理经配置以基于所述所接收客户端元数据而确定服务器元数据,其中所述服务器元数据指示分配给用于流式传输来自所述服务器的数据的所述客户端的所述资源的所分配量。另外,所述服务器代理经配置以发送所述服务器元数据。所述服务器代理进一步经配置以重复接收、确定及发送直到收敛事件的发生为止。所述收敛事件可指示已基于反复地接收客户端元数据及发送服务器元数据而针对用于流式传输来自所述服务器的数据的所述客户端的控制策略确立控制信息。
应注意,所述服务器代理可位于与存储内容的一或若干实际服务器不同的网路位置处。通过实例方式,所述服务器代理可为通过云提供的服务。可告知所述服务器代理关于有限资源的可用量(例如,瓶颈的大小)。所述服务器代理接着可执行本文中所描述的消息传递过程。所述内容可位于一个以上服务器上,且所述服务器代理可代表一组或多个服务器而行动。
根据额外方面,描述一种用于内容分发网络的客户端的客户端代理。所述客户端代理经配置以接收服务器元数据,其中所述服务器元数据指示分配给用于流式传输来自服务器的数据的所述客户端的资源的所分配量。此外,所述客户端代理经配置以基于所述服务器元数据而确定客户端元数据,其中所述客户端元数据指示用于流式传输来自所述服务器的数据的所述客户端所请求的所述资源的所请求量。另外,所述客户端代理经配置以发送所述客户端元数据。所述客户端代理进一步经配置以重复接收、确定及发送直到收敛事件的发生为止。所述收敛事件可指示已基于反复地接收服务器元数据及发送客户端元数据而针对用于流式传输来自所述服务器的数据的所述客户端的控制策略确定控制信息。
根据额外方面,描述一种软件程序。所述软件程序可适于在处理器上执行且在于所述处理器上实施时执行本文件中所概述的方法步骤。
根据另一方面,描述一种存储媒体。所述存储媒体可包括软件程序,所述软件程序适于在处理器上执行且在于所述处理器上实施时执行本文件中所概述的方法步骤。
根据额外方面,描述一种计算机程序产品。所述计算机程序可包括用于在于计算机上执行时执行本文件中所概述的方法步骤的可执行指令。
应注意,如本专利申请案中所概述的包含其优选实施例的方法及系统可独立地或与此文件中所揭示的其它方法及系统组合地被使用。此外,可任意地组合本专利申请案中所概述的方法及系统的所有方面。特定来说,权利要求书的特征可以任意方式彼此组合。
附图说明
在下文参考附图以示范性方式阐释本发明,其中
图1展示实例性内容分发网络的框图;
图2a展示由内容分发网络的客户端执行的用于流式传输数据的实例性方法的流程图;
图2b展示客户端的处理单元;
图3a及3b展示由内容分发网络的服务器执行的用于流式传输数据的实例性方法的流程图;
图4a展示实例性客户端成本函数;
图4b展示实例性客户端效用函数;
图5a到5b展示服务器与多个客户端之间的实例性通信信道;
图6a及6b展示在内容分发网络内的实例性瓶颈;
图7a展示服务于一或多个联合客户端的多个内容分发网络;
图7b及7c展示在多服务器情景中用于消息传递过程的实例性通信信道;
图8a展示在不使用消息传递方案的情况下客户端的控制策略的实例性参数;
图8b展示客户端的使用消息传递方案的控制策略的实例性参数;及
图9a到9c展示用于确立用于在内容分发网络内流式传输数据的控制信息的方法的实例性流程图。
具体实施方式
如上文所概述,本文件解决增加在内容分发网络内流式传输数据的QoE的技术问题。特定来说,本文件针对于在内容分发网络内增加多个客户端的平均QoE。在此情境中,图1展示包括服务器101及多个客户端102的内容分发网络100的框图。服务器101经配置以将个别数据流或数据103的个别流(例如,音频及/或视频数据流)发送到客户端102中的每一者。
本文件针对于提供CDN 100的(网路)资源(尤其地,服务器101的资源及/或服务器101与一或多个客户端102之间的传输网络的资源)的分配与客户端102的用户的最终体验质量(QoE)之间的优化折衷。在此情境中,可提供反馈信道111、112以促进服务器101与客户端102之间的迭代元数据交换,其中与流式传输信道113平行地提供反馈信道111、112以用于多媒体流式传输过程。经由反馈信道111、112的元数据交换可用于促进流式传输过程的全局及/或总体优化,且可用于例如减小或消除为CDN 100的有限(网路)资源的客户端竞争。元数据交换过程可针对每一客户端102产生动态边或控制信息,其中边或控制信息可用于调整在每一客户端102处控制流式传输过程的局部策略。
每一客户端102可基于从服务器101接收(经由服务器反馈信道111)的服务器元数据121而更新及/或产生其客户端元数据122(待经由客户端反馈信道112发送)。此外,可基于客户端102的局部客户端效用或成本函数而更新及/或产生客户端元数据122。在产生及/或更新客户端元数据122之后,客户端102可将(经更新)客户端元数据122传输到一或多个服务器101,客户端102经由对应的一或多个客户端反馈信道112连接到一或多个服务器101以用于流式传输数据。
服务器101可收集从由服务器101服务的客户端102接收的客户端元数据122的至少一子集。此外,服务器101可基于所接收客户端元数据122及/或基于局部服务器效用或成本函数而产生及/或更新服务器元数据121。接着可经由一或多个服务器反馈信道111将所产生及/或经更新服务器元数据121发送到客户端102的至少一子集。可反复地及/或周期性地重复交换并更新元数据121、122的此过程。可以同步或异步方式传输元数据121、122的更新。每一客户端102可经配置以基于所接收服务器元数据111及/或基于其局部效用或成本函数而更新其对来自服务器101的新内容的请求。特定来说,可取决于已在迭代消息传递过程的情境中确立的边或控制信息(经受迭代消息传递过程的收敛事件的发生)而执行对新内容的请求。
经由反馈信道111、112交换元数据121、122为流式传输情景(例如,顺序流式传输)的分散控制方案提供算法解决方案。本文中所描述的方案促进客户端102以特定速率及/或以特定质量水平请求内容的决策。
在CDN 100的有限资源(例如,由于传输瓶颈)的情形中,迫使客户端102为有限资源而竞争。客户端竞争可导致不公平资源分配或不稳定QoE。可通过收集来自客户端102的请求、分析客户端102的操作且接着向客户端102提供最优资源分配的集中式控制方案来解决这些问题。然而,如果大规模地发生内容分布,那么集中式解决方案通常是不可行的(鉴于计算复杂性及/或鉴于在CDN 100内及/或在不同客户端102内的动态改变)。元数据121、122在服务器101与客户端102之间的(连续及/或重复)交换为包括服务器及/或高数目个客户端102的CDN 100提供稳健且高效资源分配方案。
可由客户端102用于产生客户端元数据122的客户端效用函数针对每一客户端102可为个别的及/或不同的。客户端102的客户端效用函数可经配置以捕获及/或量化客户端102的QoE。不同客户端102的客户端效用函数可经设计使得在不同客户端102当中将QoE进行比较。特定来说,客户端效用函数可利用共同准则来测量QoE。此客户端效用函数(在音频流式传输的情境中)的实例为MUSHRA(具有隐藏参考及锚的多重刺激)得分随位速率(其中总位速率为有限资源)而变化。图4a展示不同客户端102的实例性客户端成本函数400。成本函数400指示MUSHRA损失随位速率而变化。图4b图解说明指示客户端102的效用412随位速率411而变化的对应客户端效用函数410。客户端成本函数400可被视为对应客户端效用函数410的补集。
客户端102的成本或效用函数400、410可取决于经流式传输及/或经呈现的内容类型、所使用的编解码器、播出或呈现方案、收听条件及/或客户端102的优先权。可例如为视频及/或音频内容提供成本或效用函数400、410。如此,客户端102的成本或效用函数400、410可指示QoE水平随位速率411及/或另一资源而变化。不同客户端102的效用函数410的值的差可指示位速率411及/或资源的特定改变可对不同客户端102的QoE水平具有不同影响。此由图4a中的点402、403图解说明。可见,由位速率411的某一减小导致的MUSHRA损失的增加针对不同成本函数400(即,针对不同客户端102)可为不同的。本文件中所概述的方案可针对于最大化CDN 100的不同客户端102的平均QoE水平(给定总体网路资源的有限量)。
因此,描述大量流式传输情景的分散式控制方案,以便改进CDN 100的有限资源在CDN 100的客户端102当中的分配与这些客户端102的最终QoE之间的折衷。此技术问题可被视为分布式优化问题。为促进分布式优化,可使用元数据交换方案,其中与朝向一或多个客户端102的实际流式传输过程并行地发生一或多个服务器101与一或多个客户端102之间的元数据交换。所述元数据交换方案允许执行为分布式优化方案的分量的消息传递。除分布式优化方案的消息之外,在一或多个服务器102与一或多个客户端102之间交换的元数据121、122可包含管控优化算法的收敛速度及/或自适应性的额外参数。
鉴于一或多个客户端102的客户端效用函数410通常为非线性函数的事实,线性编程无法用于解决资源分配问题。另一方面,例如交替方向乘子法方案的分布式优化方案可用于基于消息传递(即,基于元数据121、122的交换)而确定资源分配问题的(最优)解决方案。应注意,本文件中所概述的方面还可应用于交叉CDN优化(例如,在网路编码用于实施客户端102的来自多个服务器101的数据103的同时流式传输的情形中)。
在CDN 100内可用的总资源(例如,位速率)可为rtotal。必须在N个客户端102(n=1,...,N)当中共享总资源。每一客户端n的资源的所分配量可表示为rn。因此,待解决的总体优化问题为
Figure GDA0002750004100000131
其中dn(rn)为客户端n的客户端成本函数400,例如速率失真函数,例如
Figure GDA0002750004100000132
其中αn及βn为可针对每一客户端102不同的正参数。
可展示,可重新规划以上优化问题以提供
Figure GDA0002750004100000133
其中g()为由下式给出的指示函数
Figure GDA0002750004100000134
最小化客户端成本函数dn(rn)的和的目标可分成可由每一客户端102独立地解决(使用相应客户端成本函数)的子问题。在消息传递过程的某一迭代k处,客户端n 102可接收来自服务器101的消息及服务器元数据121,其中服务器元数据121包括关于已分配给客户端n的资源的所分配量
Figure GDA0002750004100000135
的信息。特定来说,服务器元数据121可包括值
Figure GDA0002750004100000136
Figure GDA0002750004100000137
其组合地指示资源的所分配量
Figure GDA0002750004100000138
客户端102可接着解决以下优化问题,以便确定经更新请求,即,资源的经更新所请求量
Figure GDA0002750004100000139
Figure GDA00027500041000001310
其中ρ为可调谐参数。因此,客户端102可确定考虑特定客户端102的客户端成本函数400且考虑服务器101所提供的资源分配的经更新资源请求。经更新资源请求
Figure GDA00027500041000001311
接着可在客户端元数据122内提供到服务器101。
服务器101从N个客户端102接收资源请求
Figure GDA0002750004100000141
(其中不同客户端102的资源请求取决于不同客户端102的客户端成本函数400)。基于此信息,服务器101可更新不同客户端102的资源分配。
Figure GDA0002750004100000142
Figure GDA0002750004100000143
Figure GDA0002750004100000144
Figure GDA0002750004100000145
接着可作为服务器元数据121发送到客户端102(以便指示资源的经更新所分配量)。可反复地重复此过程,以便提供N个客户端102的优化资源分配,使得最小化所述多个客户端102的总体成本
Figure GDA0002750004100000146
即,使得最大化客户端102的平均QoE。
可展示,服务器101的优化问题的第一方程式可简化为
Figure GDA0002750004100000147
其中
Figure GDA0002750004100000148
Figure GDA0002750004100000149
借此进一步降低方案的计算复杂性。
图2a展示由客户端102执行的方法200的流程图。客户端102从服务器101接收201服务器元数据121。任选地,客户端102可更新202其局部客户端成本函数400。可基于所接收服务器元数据121而最小化203客户端成本函数400且可产生204经更新客户端元数据122。此可通过使用经更新资源请求
Figure GDA00027500041000001410
的上文所提及的公式来实现。接着可将经更新资源请求传输205到服务器101。经受用于确立资源分配的消息传递方案的收敛,可基于所接收服务器元数据121(尤其地基于在服务器元数据121内指示的所分配资源
Figure GDA00027500041000001411
)而更新206对流式传输数据的内容请求。此外,可根据所分配资源向服务器101请求流式传输数据103(步骤207)。
因此,客户端102产生待发送到服务器101的新客户端元数据122,新客户端元数据122基于局部客户端成本函数400且基于从服务器101接收的服务器元数据121。此外,客户端102包括决策逻辑,所述决策逻辑基于所接收服务器元数据121及新产生的客户端元数据122且用于触发对以特定位速率来自服务器101的内容的实际请求(例如,在观察到消息传递过程的收敛之后)。
每一客户端102在消息传递过程的收敛之后将具备表示导致CDN 100中的不公平资源分配的所分配资源(尤其地所分配位速率)的边信息r*(其在本文中还称为控制信息)。通过观察其缓冲状态且通过使用公平速率分配r*(即,通过使用所确立控制信息),每一客户端102将产生基于表示QoE的局部客户端效用函数410(例如,表示播出质量随位速率而变化的函数、促成顺畅播出的函数或这些函数的组合)的对特定量的资源(尤其地特定位速率)的请求。可通过使用具有两个队列的更新系统模型来导出此策略的实例:第一队列表示播出过程,且第二队列表示由客户端102选择的位速率及由服务器101提供的所推荐速率r*的偏差。可通过用表示QoE相关的客户端效用函数410的惩罚项最小化请求的李雅普诺夫(Lyapunov)漂移来导出所述策略。可通过限制客户端可请求的资源的最大量使得针对客户端不超过r*来实现此策略的额外实例。特定来说,此约束可与以QoE的局部优化为目标的策略组合。
图2b图解说明作为用于流式传输数据103的控制策略的一部分而在客户端102内执行的处理210。客户端102接收在服务器元数据121内的公平速率分配(例如,经受收敛的
Figure GDA0002750004100000151
Figure GDA0002750004100000152
)的指示212。此外,客户端102存取QoE函数211(例如客户端成本函数400或客户端效用函数410)。另外,客户端102可存取用于缓冲流式传输数据103的其缓冲器213的状态。基于此信息212、211、213,可产生经更新资源请求214且可在客户端元数据122内将其提供到服务器101。
图3a及3b图解说明由服务器101执行的方法310、320。方法310旨在为不同客户端102产生服务器元数据121。方法320旨在向不同客户端102提供内容(媒体)数据103。至少从一子组客户端102接收311客户端元数据122。积累312此客户端元数据122。此外,例如使用上文给出的
Figure GDA0002750004100000153
Figure GDA0002750004100000154
的方程式计算313服务器效用函数并产生314新服务器元数据121。然后,可将经更新服务器元数据121发送到客户端102。关于流式传输过程,可从客户端102接收321经更新内容请求(例如,指示经更新位速率411)。然后,可基于所述经更新内容请求将内容数据103发送325到客户端102。
因此,服务器101从连接到服务器101的客户端102收集所有客户端元数据122(或元数据子集),并基于其自身的效用函数(例如,表示经由网络100传输的最大允许的位速率rtotal,或考虑所估计的网客户端102的瓶颈容量)来解决优化问题。使用优化问题的解决方案来产生新服务器元数据121以传输到客户端102(或客户端102中的至少一些)。优选地,按照使服务器优化问题在计算上轻省的方式来设计方法310。另外,服务器101提供对由客户端102所请求的数据103的存取(流式传输过程在拉模式中操作)。在一些实施例中,服务可在不同机器上或在不同物理位置中操作。
图5a展示包括单个服务器101的流式传输过程,所述服务器101将流式传输数据103经由流式传输信道113提供给多个客户端102。每一客户端102在单播设定中操作。每一客户端102由其自身的客户端效用函数410表征。在流式传输情境中此客户端效用函数410的实例是拟合到MUSHRA测试的结果的凹曲线,MUSHRA测试是评估随着操作位速率411而变化的音频编解码器的主观性能(图4b中所图解说明)。如果将优化用公式表示为最小化问题(如上文所概述),那么效用函数410可替换成对应的成本函数或速率失真函数dn(rn)400,其优选地为凸形的。可通过反转效用函数410的正负号且通过抵消效用函数410来获得速率失真函数或成本函数400。此外,可对不同客户端102的速率失真函数或成本函数400进行加权及/或可应用抵消以便于在不同速率失真函数或成本函数400之间进行比较。
如上文所概述及图5b及5c中所展示,可将指示分配资源
Figure GDA0002750004100000161
的服务器元数据121发送到客户端102。另一方面,可将经更新资源请求
Figure GDA0002750004100000162
作为客户端元数据122从客户端102发送到(单个)服务器101。通过反复进行元数据121、122的此交换,可确定不同客户端102的收敛资源分配。应注意,每一客户端102可经配置以在确定经更新资源请求
Figure GDA0002750004100000163
时通过评估残差项
Figure GDA0002750004100000164
的收敛来检测方案是否已收敛。替代地或另外,可通过观测在消息传递过程中交换的所有或一些元数据变量的收敛(例如,可对
Figure GDA0002750004100000165
Figure GDA0002750004100000166
进行比较)来评估收敛。替代地或另外,每一客户端可在达到固定的迭代次数之后呈现出收敛。替代地或另外,可在交换元数据121、122的过程期间从服务器101用信号通知收敛的事实。
图6a展示具有瓶颈602的CDN 100,瓶颈602是在两个传输节点601之间的吞吐量有限。可在不同客户端102当中分布有限吞吐量,即rtotal的有限值。替代地或另外,可调整(尤其地减小)可由服务器101提供的客户端102的数目N。如图6b中所展示,瓶颈602的有限吞吐量还可由来源点611与汇集点612之间的竞争业务量造成。
图7a展示在多个CDN 100、700情况下的流式传输情景。每一CDN 100包括至少一个服务器101、701。一或多个客户端102可以是多个CDN 100、700的一部分且可流式传输来自多个服务器101、701的数据103(如图7b中所图解说明)。在此情形中,客户端102可从多个服务器100、700接收服务器元数据121。此外,客户端102可将客户端元数据122发送到多个服务器100、700(如图7c中所图解说明)。
在下文中,描述图7a中所展示的多服务器流式传输过程的协作性资源分配。假设客户端102可流式传输来自M个不同服务器101的数据103,其中M>1。rn是M维向量,其指示用于流式传输分别由M个服务器101提供的数据103的M经分配资源。1T是具有所有维度的M维向量。然后将客户端102的成本函数或速率失真函数400写为
dn(rn)=αnexp(-βn1Trn)
可将所有N个客户端102及所有M个服务器101的总体优化问题写为(以与如上文所概述的相似的方式)
Figure GDA0002750004100000171
其中[zn]m是第n客户端102的M维资源分配向量zn的第m条目(用于第m服务器101)。第m服务器101的指示函数gm()可被定义为
Figure GDA0002750004100000172
其中
Figure GDA0002750004100000173
是可用于第m服务器的总位速率。
可展示,可使用客户端102与服务器101之间的消息传递来解决上文所提及的优化问题。每一客户端102可从服务器101、701接收服务器元数据121m=1,...,M,其中服务器元数据121指示已由第m服务器101、701分配给第n客户端102的资源分配量[zn]m。此外,可指示辅助变量[um]n(作为资源分配量)。客户端102可从所有服务器101、701接收此数据且基于此,客户端102可为M个服务器101、701产生经更新资源请求。
总的来说,在存在N个客户端102及M个服务器101、701的情形下可产生N×M个资源请求。这些可汇总在具有维度N×M的矩阵R内。可将第n客户端102向第m服务器101、701的资源请求写为标量
Figure GDA0002750004100000174
可将第n客户端102向所有M个服务器101、701的完整一组资源请求写为M维向量rn=[R]n。类似地,可将M个服务器101、701向N个客户端102的资源分配写为N×M维的矩阵Z,其中
Figure GDA0002750004100000175
是第m服务器101、701向第n客户端102的资源分配,且其中[Z]m是包括第m服务器101、701向N个客户端102的资源分配的N维向量。um可以是包括第m服务器101、701针对N个客户端102的标量辅助变量[um]n的N维向量。此外,可针对第m服务器101、701将资源约束函数Gm(z)定义为
Figure GDA0002750004100000176
使用上文所提及的概念,将由第n客户端102在第k次迭代中解决的优化问题可用公式表达
Figure GDA0002750004100000181
其中ρm是设计参数。可将经更新资源请求
Figure GDA0002750004100000182
在客户端元数据122内将从第n客户端102发送到第m服务器101、701。
将由第m服务器101、701在第k次迭代中解决的优化问题可用公式表达为
Figure GDA0002750004100000183
其中根据
Figure GDA0002750004100000184
来更新辅助变量
可将经更新资源分配
Figure GDA0002750004100000185
以及经更新辅助变量
Figure GDA0002750004100000186
在服务器元数据121内从第m服务器101、701发送到第n客户端102。
可对以上分布式优化方案进行迭代直到满足停止准则为止(即发生收敛)。在收敛之后,可每一客户端102可使用经确定资源分配以向不同服务器101、701做出内容请求。
因此,可跨越不同CDN 100、700执行性能(例如,QoE)优化,其中CDN 100、700可被视为流式传输来自特定服务器101、701的内容103的一组客户端102,且其中每一CDN 100、700可包括单个服务器101、701。(尤其地每一)客户端102可经配置以参与一或多个CDN100、700(如图7a中所图解说明)。
每一客户端102可由已知客户端函数400、410来表征,所述客户端函数400、410描述客户端102的性能或效用412随指定速率411的变化。此函数400、410的一个实例是速率失真函数(举例来说,在音频编解码器的情境中,此函数可将速率映射到例如MUSHRA性能)。性能函数(尤其地,客户端效用函数)400,410通常因客户端而异。此外,性能函数400、410可随时间根据内容类型、播放时间及/或例如收听条件而改变。不同CDN 100、700通常以不协调的方式操作。因此,不同CDN 100、700的服务器101、701之间可能未发生(显式)通信。此外,客户端102可彼此不通信。
总体优化方案的目标是可为所有客户端102提供最好的可能平均体验,客户端102经受:
·一或多个服务器及/或资源约束(例如,在每一CDN 100、700中平均速率/客户端可受约束);及/或
·因每一客户端102而异的信道容量约束。
此优化方案可用公式表达为共享问题。从客户端102的角度看,面临的问题是找到使用可用网络资源的最优方式。另一方面,服务器101将便于客户端102协作,从而使得能够达成均衡。可在分布式环境中通过消息传递解决优化问题。可将总体优化问题细分成可由客户端102独立解决的部分性问题。确切来说,可提供包括在服务器101、701与客户端102之间交换消息的迭代解决方案,如上文所概述。
如图7c中所图解说明,每一服务器101、701将具有个别服务器元数据121的消息发送到与相应的服务器101、701连接的每一客户端102。服务器元数据121是因每一客户端102而异的。服务器元数据121的导出时特定的配给优化方法的结果,例如上文所描述的分布式优化方法。此优化方法可在计算上轻省且可随所连接客户端102的数目N而高效地缩放。客户端102将更新提供给服务器101、701,所述更新是基于其自身的目标(尤其地基于其客户端效用函数410)且使用从服务器101、701接收到的消息导出。
实际上,资源(例如位速率)的粒度及/或内容的不同可用版本的质量可受限制。此问题可根据可用粒度将已确定资源(尤其是资源请求及/或经分配资源)量化来解决。因此,可针对连续情形解决优化方案,且可将所确定的解决方案量化。确切来说,客户端102可适于确定本文件中所概述的(连续)资源请求rn。然后,可将所述资源请求rn投射到可用离散资源量sn中的一者。确切来说,可选择最接近所确定(连续)资源请求rn的离散资源量sn且可提供给服务器101。另一方面,可连续地执行服务器101、701处的操作。
如上文所概述,客户端102可基于(收敛)在客户端102与服务器101之间交换的边信息或控制信息(尤其地基于r*)向服务器101请求内容,r*是在收敛之后资源的已收敛分配量,例如
Figure GDA0002750004100000191
及/或
Figure GDA0002750004100000192
此边信息或控制信息可用于改进客户端控制策略,即客户端102使用以管理媒体数据103的流式传输、缓冲及呈现的策略。
在典型的基于HTTP的自适应流式传输情景中,存在数个版本(质量水平)的媒体内容,其在不同位速率下被编码且展现出不同的质量。从服务器101到客户端102的数据连接的可用带宽通常是时间性变量且取决于客户端选择内容的恰当质量版本或质量水平的控制策略。客户端控制策略可力图将其受不允许缓冲器欠载这一约束的客户端效用函数410最大化(例如,将质量最大化)。鉴于数据连接的可用带宽及连续播出速率,通常在播出质量与缓冲器的平均充满度之间做出折衷。这是由于下载内容的质量版本越高,将需要的下载时间越长(在数据连接的带宽不变时)。此外,客户端控制策略内可考虑到一或多个其它类型的约束。举例来说,可不期望在不同的内容质量版本之间切换,原因在于此将导致播出质量不稳定。
客户端控制策略可经配置以通过外显测量下载速度及/或通过观测客户端102的缓冲器的状态来估计可用网络的吞吐量。举例来说,如果观测到缓冲器正在填满,那么此指示所请求的数据速率过高。另一方面,如果观测到缓冲器正在变孔,那么此可指示所请求速率过低。
可片段式执行流式传输过程,其中流式传输内容被分离成相对短的片段。客户端102的控制策略可经配置以调适针对片段中的每一者进行流式传输的内容的质量版本或质量水平。
图8a中展示客户端控制策略的操作的实例。确切来说,图8a展示随时间变化的播出缓冲器的充满度水平801。此外,图8a图解说明所观测到的吞吐量802及所下载片段是所选择质量水平803。可看到,在过渡阶段之后,控制策略旨在通过选择与符合可用吞吐量802的位速率对应的质量水平803来对可用吞吐量802进行匹配。过渡阶段是相对长的。此外,缓冲器充满度水平801相对高。另外,质量水平803的选择非常不稳定。
边信息或控制信息r*可用于改进客户端102的控制策略的表现。实际上,边信息向客户端102提供客户端102的可用或经分配速率的指示。可假定所有客户端102实施相同的控制策略,且被供以其各自的r*边信息。在图8b中展示通过供应r*所达成的效应的实例。可看到,播出缓冲器充满度水平801低于图8a的情形。确切来说,缓冲器充满度801以比图8a的情形慢得多的速率增大。然而,不存在缓冲器欠载,以使得可确保顺畅的播出。此外,图8b展示所下载片段的质量水平803及所观测吞吐量802。可看到,过渡阶段已被缩短。这是由于以下事实:对分配速率r*的了解使得客户端102能够应用较不保守的策略(由于鉴于r*的值应对应于所观测吞吐量802这一事实,可认为客户端102不太可能发生重新缓冲事件)。此外,由于可避免速率过高的情况且由于所述策略在所观测到的吞吐量802降低的事件中可接受增大的风险,因此播出策略可使得对质量水平803选择的更稳定。
如果边信息r*暂时不可用,那么客户端策略可在没有所述边信息的情况下通过执行QoE的局部优化来操作,否则会受到缓冲器欠载防止惩罚。然而,一旦确立了边信息r*,可基于边信息来调节客户端控制策略。在一些预定义时间间隔之后可认为所确立边信息r*是陈旧的,且客户端可恢复到局部优化对策。可周期性地确立边信息r*,尤其是确保以足够的时间分辨率来提供边信息r*的更新的频率。
换句话说,本文件中所描述的消息传递过程可以特定的频率f=1/T重复,其中f是0,01Hz、0,05Hz、0,1Hz、1Hz或大于1Hz。因此,可以频率f提供经更新边信息r*。客户端102或客户端代理可假定已在特定时刻确立的边信息在有效周期(其可等于或大于T)内是有效的。如果在有效周期结束时未接收到经更新边信息,那么客户端102或客户端代理可通过切换到QoE的局部优化(例如不考虑资源分配量)来修改其客户端控制策略,以从一或多个服务器101请求内容。另一方面,如果在有效周期内接收到经更新边信息及/或立刻接收到经更新边信息,那么可将经更新边信息考虑在内。如此一来,可达成客户端102的稳定操作。
应注意,可通过将动态元数据附加到要发送的消息(参见ISO/IEC JTC 1/SC 29)将本文件中所描述的方案与MPEG DASH集成在一起,尤其是集成在服务器与网络辅助式DASH(SAND)的接口内。
因此,在本文件中,描述用于确立客户端流式传输控制策略的边信息或控制信息的方法。使用迭代消息传递过程来确立边信息,其中消息传递过程在服务器侧节点与客户端节点之间发生。当确立边信息时,所述过程产生收敛事件。可使用边信息调适客户端控制策略。
在本文件中,描述基于交替方向乘子法(ADMM)方案的方法以解决总体资源分配问题。应注意,其它分布式优化算法可用于解决总体资源分配问题。一般来说,可通过以下方式解决总体资源分配问题
·将全局优化问题分解成部分优化问题(例如,可分别在客户端102上及在服务器101上解决的优化问题);
·执行迭代消息传递过程;及
·当确立边信息时,产生收敛事件。
一旦确立边信息,则可使用所述边信息来调适客户端控制策略。客举例来说,客户端控制策略可对以特定位速率请求内容的过程加以管控。
可例如按照以下方式产生收敛事件:
·可由每一客户端102通过观测客户端优化问题中的残差项的收敛来确定收敛事件;
·可使用固定数目的消息传递迭代来达成所述收敛事件;及/或
·可由服务器侧节点通过对传出的服务器消息加标签且因此在客户端中触发边信息更新事件来指示收敛事件。
当认为客户端的可用边信息陈旧时,客户端可通过观测以下各项来识别收敛事件:
·在一些预定义时间窗内未从服务器侧传入消息;
·其残差未收敛;
·在客户端侧上测量的预定义时间间隔;及/或
·接收加标签的服务器侧消息。
应注意,服务器侧元数据交换代理不必与存储内容的服务器101处于同一位置。分布式优化方案可涉及在服务器侧上操作且参与所有经连接客户端102的消息交换过程的代理。在本文件中所描述的迭代优化方案中,代理可经配置以从客户端102收集资源请求并确定资源分配。即使代理通常位于服务器侧上,实际网络节点不必与存储且提供内容的服务器101处于同一位置。举例来说,参与元数据交换的节点或代理可位于网络100、700的更深或更高的层级处。
应注意,本文中所描述的方案通常假定服务器101在其中客户端102请求内容的拉模式(是与推模式相对来说的,在所述推模式中服务器101主动向客户端102推送数据)中操作。
鉴于稳定及/或快速收敛,优选地同步地执行迭代消息传递过程的更新。确切来说,服务器101可经配置以只有在从客户端102接收到所有消息(即客户端元数据122)之后才向经连接客户端102发出更新(即服务器元数据121)。另一方面,可将部分障碍方案应用于服务器101的处理以执行异步操作。
图9a展示用于针对用于流式传输来自至少一个服务器101、701的数据103(尤其是例如视频及/或音频数据等媒体)的客户端102的控制策略确立控制信息的实例性方法900的流程图。控制信息可由客户端102使用来从至少一个服务器101、701请求数据103。客户端102可例如包括智能手机、计算机、电视等。
方法900包括在服务器101、701的服务器代理与客户端102的客户端代理之间执行901消息传递过程,以反复地确立控制信息。服务器代理可与服务器101、701处于同一位置或与服务器101、701分离。类似地,客户端代理可与客户端102处于同一位置或与客户端102分离。在消息传递过程的情境中,服务器代理可基于从客户端代理接收到的客户端元数据122产生服务器元数据121。此外,客户端代理可基于从服务器代理接收到的服务器元数据121产生客户端元数据122。可重复进行消息及/或元数据的此种迭代交换以针对将由用于流式传输来自服务器101、701的数据103的客户端102使用的控制策略确立控制信息。
此外,方法900包括产生902消息传递过程的收敛事件以指示已确立控制信息。因此,客户端102能够基于反复地确立的控制信息(在本文中也被称为边信息)向服务器101、701请求数据103。如此一来,可在内容分发网络100、700内执行经优化内容分布。
图9b展示用于针对用于流式传输来自服务器101、701的数据103的至少一个客户端102的控制策略确立控制信息的实例性方法910的流程图。方法910可由服务器101、701的服务器代理执行,例如在方法900的情境中。
方法910包括接收911客户端元数据122,其中可从客户端102的客户端代理接收客户端元数据122。客户端元数据122可指示用于流式传输来自服务器101、701的数据103的至少一个客户端102所请求的资源411的所请求量(例如所请求位速率)。确切来说,可从多个客户端102的多个客户端代理接收911不同集合的客户端元数据122,其中所述多个客户端102可为有限总量的资源411而竞争。
此外,方法910包括基于所接收客户端元数据122(来自一或多个客户端代理)确定912服务器元数据121。服务器元数据121可指示分配给至少一个客户端102以用于流式传输来自服务器101、701的数据103的资源411的分配量。确切来说,可针对所述多个客户端102确定912不同集合的服务器元数据121(尤其地用于每一客户端102的一组服务器元数据121)。
另外,方法910包括发送913服务器元数据121,服务器元数据121通常发送到客户端102的客户端代理。确切来说,可将个别服务器元数据121发送到所述多个客户端102的所述多个客户端代理中的每一者。
方法910包括重复914接收911、确定912及发送913步骤直到收敛事件的发生为止。可在于服务器代理与一或多个客户端代理之间进行消息传递过程的情境中执行重复914。所述收敛事件可指示,已基于反复地接收911客户端元数据122及发送913服务器元数据121而针对用于流式传输来自服务器101、701的数据103的至少一个客户端102的控制策略确立控制信息。然后,客户端102可使用所确立控制信息来向服务器101、701请求数据103。通过执行方法910,可在内容分发网络100、700内执行经优化内容分布。
图9c展示用于针对用于流式传输来自至少一个服务器101、701的数据103的客户端102的控制策略确立控制信息的实例性方法920的流程图。方法920可由客户端102的客户端代理执行。
方法920包括接收921服务器元数据121。服务器元数据121可由至少一个服务器101、701的服务器代理接收。客户端102可经配置以流式传输来自多个不同服务器101、701的将由客户端102呈现的总体媒体内容的数据103。在此情形中,可从所述多个服务器101、701中的每一者接收服务器元数据121。服务器元数据121可指示分配给客户端102以用于流式传输来自相应服务器101、701的数据103的资源411的分配量。
此外,方法920包括基于服务器元数据121(来自一或多个服务器101、701或服务器代理)确定922客户端元数据122。客户端元数据122可指示客户端102所请求以用于流式传输来自至少一个服务器101、701的数据103的资源411的请求量。可针对所述多个服务器101、701中的每一者产生客户端元数据122的集合。
另外,方法920包括发送923客户端元数据122(到一或多个服务器101、701或服务器代理)。
方法920重复924接收921、确定922及发送923步骤直到发生收敛事件(例如在消息传递过程的情境中)。收敛事件可指示已基于反复接收921服务器元数据121及发送923客户端元数据122而针对用于流式传输来自至少一个服务器101、701的数据103的客户端102的控制策略确立控制信息。然后,客户端102可使用所确立控制信息向一或多个服务器101、701请求数据103。通过执行方法920,可在内容分发网络100、700内执行经优化内容分布。
可从以下所列举实例性实施例(EE)明了本发明的各个方面:
EE 1)一种用于针对用于流式传输来自至少一个服务器(101,701)的数据(103)的客户端(102)的控制策略确立控制信息的方法(900);其中所述方法(900)包括,
-在所述服务器(101,701)的服务器代理与所述客户端(102)的客户端代理之间执行(901)消息传递过程,以便反复地确立控制信息;及
-产生(902)所述消息传递过程的收敛事件以指示已确立所述控制信息。
EE 2)根据EE 1所述的方法(900),其中执行(901)所述消息传递过程包括,在给定迭代内,
-将服务器元数据(121)从所述服务器代理发送到所述客户端代理;其中在所述给定迭代处的所述服务器元数据(121)取决于在前一迭代处从所述客户端代理发送到所述服务器代理的客户端元数据(122);且
-将客户端元数据(122)从所述客户端代理发送到所述服务器代理;其中在所述给定迭代处的所述客户端元数据(122)取决于在所述给定迭代处从所述服务器代理发送到所述客户端代理的所述服务器元数据(121)。
EE 3)根据EE 2所述的方法(900),其中
-所述方法(900)包括基于客户端效用函数(410)而确定客户端元数据(122);且
-所述客户端效用函数(410)指示由所述客户端(102)接收的所述数据(103)对所述客户端(102)的效用(412)随已分配给用于流式传输数据(103)的所述客户端(102)的资源(411)的量而变化。
EE 4)根据EE 3所述的方法(900),其中所述客户端效用函数(410)
-指示及/或取决于由所述客户端(102)呈现的经流式传输媒体数据(103)的感知质量;及/或
-指示及/或取决于由所述客户端(102)接收及/或呈现的经流式传输数据(103)的信噪比;及/或
-取决于所述客户端(102)的呈现模式;及/或
-取决于所述客户端(102)的呈现环境;及/或
-取决于所述客户端(102)的类型;及/或
-是时变的。
EE 5)根据EE 2到4中任一EE所述的方法(900),其中
-所述方法(900)包括基于所述客户端效用函数(400,410)而确定所述客户端(102)所请求的所述资源(411)的所请求量;且
-所述客户端元数据(122)指示所述资源(411)的所请求量。
EE 6)根据EE 2到5中任一EE所述的方法(900),其中
-所述服务器元数据(121)指示分配给用于流式传输数据(103)的所述客户端(102)的所述资源(411)的所分配量;且
-所述方法(900)包括取决于所述资源(411)的所述所分配量而确定所述客户端(102)所请求的所述资源(411)的所请求量。
EE 7)根据返回参考EE 5的EE 6所述的方法(900),其中基于(尤其地通过减小或最小化)包括以下各项的成本函数而确定所述资源(411)的所述所请求量
-第一项,其指示所述资源(411)的所述所请求量与所述资源(411)的所述所分配量的偏差;及
-第二项,其包括所述客户端效用函数(410)的补集。
EE 8)根据EE 7所述的方法(900),其中
-所述成本函数包括所述第一项与所述第二项的加权和;及/或
-所述第一项取决于所述资源(411)的所述所请求量与所述资源(411)的所述所分配量的绝对或平方偏差。
EE 9)根据EE 2到8中任一EE所述的方法(900),其中
-所述客户端元数据(122)指示所述客户端(102)所请求的所述资源(411)的所请求量;且
-基于所述资源(411)的所述所请求量而确定所述资源(411)的所述所分配量。
EE 10)根据EE 2到9中任一EE所述的方法(900),其中所述方法(900)包括取决于将分配给用于流式传输数据(103)的多个客户端(102)的资源(411)的总量而确定所述服务器元数据(121)。
EE 11)根据EE 10所述的方法(900),其中
-所述客户端(102)为所述多个客户端(102)中的第一客户端(102);
-所述方法(900)包括基于所述资源(411)的所述总量而确定分配给用于流式传输数据(103)的所述第一客户端(102)的所述资源(411)的所分配量;且
-所述服务器元数据(121)指示分配给用于流式传输数据(103)的所述第一客户端(102)的所述资源(411)的所述所分配量。
EE 12)根据EE 11所述的方法(900),其中
-所述方法(900)包括从为所述总量的所述资源(411)而竞争的所述多个客户端(102)接收客户端元数据(122);且
-基于来自所述多个客户端(102)中的每一者的所述资源(411)的所述所请求量而确定用于所述第一客户端(102)的所述资源(411)的所述所分配量。
EE 13)根据前述EE中任一EE所述的方法(900),其中所述控制信息指示或包括已分配给用于流式传输数据(103)的所述客户端(102)的资源(411)的量。
EE 14)根据EE 13所述的方法(900),其中所述资源(411)包括以下各项中的一或多者,
-用于流式传输数据(103)的位速率;及/或
-用于提供数据(103)的所述服务器(101)的处理容量;及/或
-所述服务器(101)与所述客户端(102)之间的传输网络(601)的带宽。
EE 15)根据先前EE中任一EE所述的方法(900),其中产生(902)所述收敛事件包括,
-确定已达到所述消息传递过程的预定最大数目个迭代;及/或
-确定所述控制信息在所述消息传递过程的两个连续迭代之间的改变等于或小于预定改变阈值;及/或
-确定所述客户端代理及/或所述服务器代理已发送终止所述消息传递过程的指示。
EE 16)根据前述EE中任一EE所述的方法(900),其中所述方法(900)包括,
-基于所述所确立控制信息而产生对数据(103)的请求;及/或
-基于所述所确立控制信息而管理所述客户端(103)的用于缓冲数据(103)的缓冲器;及/或
-选择待流式传输的内容的多个不同质量水平(803)中的一质量水平(803)。
EE 17)根据前述EE中任一EE所述的方法(900),其中
-所述方法(900)包括在所述服务器(101,701)的所述服务器代理与多个客户端(102)的客户端代理之间执行成对消息传递过程,以便反复地确立所述多个客户端(102)中的每一者的控制信息;且
-所述多个客户端(102)为可用于流式传输来自所述服务器(102)的数据(103)的总量的资源(411)而竞争。
EE 18)根据前述EE中任一EE所述的方法(900),其中所述方法(900)包括
-在多个服务器(101,701)的服务器代理与所述客户端(102)的所述客户端代理之间执行成对消息传递过程,以便针对用于流式传输来自所述多个服务器(101,701)中的每一者的数据(103)的所述客户端(102)的控制策略反复地确立控制信息;及
-分别基于用于所述不同服务器(101,701)的所述所确立控制信息而流式传输来自所述不同服务器(101,701)的总体媒体流的不同分率。
EE 19)一种用于针对用于流式传输来自服务器(101,701)的数据(103)的至少一个客户端(102)的控制策略确立控制信息的方法(910);其中所述方法(910)包括,
-接收(911)客户端元数据(122);其中所述客户端元数据(122)指示用于流式传输来自所述服务器(101,701)的数据(103)的所述至少一个客户端(102)所请求的资源(411)的所请求量;
-基于所述所接收客户端元数据(122)而确定(912)服务器元数据(121);其中所述服务器元数据(121)指示分配给用于流式传输来自所述服务器(101,701)的数据(103)的所述至少一个客户端(102)的所述资源(411)的所分配量;
-发送(913)所述服务器元数据(121);且
-重复(914)所述接收(911)、确定(912)及发送(913)步骤直到收敛事件的发生为止;其中所述收敛事件指示已基于反复地接收(911)客户端元数据(122)且发送(913)服务器元数据(121)而针对用于流式传输来自所述服务器(101,701)的数据(103)的所述至少一个客户端(102)的所述控制策略确立控制信息。
EE 20)一种用于针对用于流式传输来自至少一个服务器(101,701)的数据(103)的客户端(102)的控制策略确立控制信息的方法(920);其中所述方法(920)包括,
-接收(921)服务器元数据(121);其中所述服务器元数据(121)指示分配给用于流式传输来自所述至少一个服务器(101,701)的数据(103)的所述客户端(102)的资源(411)的所分配量;
-基于所述服务器元数据(121)而确定(922)客户端元数据(122);其中所述客户端元数据(122)指示用于流式传输来自所述至少一个服务器(101,701)的数据(103)的所述客户端(102)所请求的所述资源(411)的所请求量;
-发送(923)所述客户端元数据(122);且
-重复(924)所述接收(921)、确定(922)及发送(923)步骤直到收敛事件的发生为止;其中所述收敛事件指示已基于反复地接收(921)服务器元数据(121)且发送(923)客户端元数据(122)而针对用于流式传输来自所述至少一个服务器(101,701)的数据(103)的所述客户端(102)的所述控制策略确立控制信息。
EE 21)根据EE 20所述的方法(920),其中所述方法(920)包括使用接收、确定、发送及重复步骤重复地确定经更新控制信息。
EE 22)根据EE 20到21中任一EE所述的方法(920),其中
-在第一时刻确立所述控制信息;
-所述控制信息展现从所述第一时刻开始的有效期;
-所述方法(920)包括在所述控制信息的所述有效期期间基于所述控制信息而确定用于流式传输数据(103)的所述控制策略;且
-所述方法(920)包括在所述控制信息的所述有效期之后应用取决于所述控制信息的用于流式传输数据(103)的控制策略。
EE 23)一种用于分发内容的系统(100,700);其中所述系统(100,700)包括
-至少一个服务器(101,701),其经配置以将用于流式传输内容的数据(103)提供到一或多个客户端(102);
-至少一个客户端(102),其经配置以向所述至少一个服务器(101,701)请求用于流式传输内容的数据(103);
-所述至少一个服务器(101,701)的服务器代理及所述至少一个客户端(102)的客户端代理;其中所述服务器代理及所述客户端代理经配置以
-在所述服务器代理与所述客户端代理之间执行消息传递过程,以便针对用于流式传输来自所述至少一个服务器(101,701)的数据(103)的所述至少一个客户端(102)的控制策略反复地确立控制信息;且
-产生所述消息传递过程的收敛事件以指示已确立所述控制信息。
EE 24)一种用于内容分发网络(100,700)的服务器(101,701)的服务器代理;其中所述服务器代理经配置以
-接收客户端元数据(122);其中所述客户端元数据(122)指示用于流式传输来自所述服务器(101,701)的数据(103)的客户端(102)所请求的资源(411)的所请求量;
-基于所述所接收客户端元数据(122)而确定服务器元数据(121);其中所述服务器元数据(121)指示分配给用于流式传输来自所述服务器(101,701)的数据(103)的所述客户端(102)的所述资源(411)的所分配量;
-发送所述服务器元数据(121);且
-重复接收、确定及发送直到收敛事件的发生为止;其中所述收敛事件指示已基于反复地接收服务器元数据(121)且发送客户端元数据(122)而针对用于流式传输来自所述服务器(101,701)的数据(103)的所述客户端(102)的控制策略确立控制信息。
EE 25)一种用于内容分发网络(100,700)的客户端(102)的客户端代理;其中所述客户端代理经配置以
-接收服务器元数据(121);其中所述服务器元数据(121)指示分配给用于流式传输来自服务器(101,701)的数据(103)的所述客户端(102)的资源(411)的所分配量;
-基于所述服务器元数据(121)而确定客户端元数据(122);其中所述客户端元数据(122)指示用于流式传输来自所述服务器(101,701)的数据(103)的所述客户端(102)所请求的所述资源(411)的所请求量;
-发送所述客户端元数据(122);且
-重复接收、确定及发送直到收敛事件的发生为止;其中所述收敛事件指示已基于反复地接收服务器元数据(121)且发送客户端元数据(122)而针对用于流式传输来自所述服务器(101,701)的数据(103)的所述客户端(102)的控制策略确立控制信息。
在本文件中所描述的方法及系统可实施为软件、固件及/或硬件。某些组件可例如实施为在数字信号处理器或微处理器上运行的软件。其它组件可例如实施为硬件及/或实施为专用集成电路。在所描述方法及系统中遇到的信号可存储于例如随机存取存储器或光学储存媒体的媒体上。可经由网路(例如无线电网路、卫星网路、无线网路或有线网路,例如因特网)传送所述信号。利用在本文件中所描述的方法及系统的典型装置为用于存储及/或呈现音频信号的便携式电子装置或其它消费型设备。

Claims (2)

1.一种用于经由内容分发网络流式传输媒体数据的方法,包括:
-接收客户端元数据(122);其中所述客户端元数据(122)指示用于流式传输来自服务器(101,701)的数据(103)的客户端(102)所请求的资源(411)的所请求量;
-基于所接收客户端元数据(122)且通过基于服务器成本函数解决最小化问题来取决于待分配给用于流式传输数据(103)的多个客户端(102)的所述资源(411)的总量而确定服务器元数据(121);其中所述服务器元数据(121)指示分配给用于流式传输来自所述服务器(101,701)的所述数据(103)的所述客户端(102)的所述资源(411)的所分配量;
-发送所述服务器元数据(121);且
-重复接收、确定及发送直到收敛事件的发生为止;其中所述收敛事件指示已基于反复地接收客户端元数据(122)及发送服务器元数据(121)而针对用于流式传输来自所述服务器(101,701)的所述数据(103)的所述客户端(102)的控制策略确立控制消息。
2.一种用于经由内容分发网络流式传输媒体数据的设备,包括:
一或多个处理器;以及
存储器,其存储包括可执行指令的一或多个程序,所述一或多个程序当被所述一或多个处理器执行时致使所述设备执行以下步骤:
-接收客户端元数据(122);其中所述客户端元数据(122)指示用于流式传输来自服务器(101,701)的数据(103)的客户端(102)所请求的资源(411)的所请求量;
-基于所接收客户端元数据(122)且通过基于服务器成本函数解决最小化问题来取决于待分配给用于流式传输数据(103)的多个客户端(102)的所述资源(411)的总量而确定服务器元数据(121);其中所述服务器元数据(121)指示分配给用于流式传输来自所述服务器(101,701)的所述数据(103)的所述客户端(102)的所述资源(411)的所分配量;
-发送所述服务器元数据(121);且
-重复接收、确定及发送直到收敛事件的发生为止;其中所述收敛事件指示已基于反复地接收客户端元数据(122)及发送服务器元数据(121)而针对用于流式传输来自所述服务器(101,701)的所述数据(103)的所述客户端(102)的控制策略确立控制消息。
CN201980029162.9A 2018-04-30 2019-04-29 用于经由内容分发网络流式传输媒体数据的方法及系统 Active CN112106335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111313629.8A CN114245225B (zh) 2018-04-30 2019-04-29 用于经由内容分发网络流式传输媒体数据的方法及系统

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862664369P 2018-04-30 2018-04-30
EP18170085 2018-04-30
US62/664,369 2018-04-30
EP18170085.7 2018-04-30
PCT/EP2019/060919 WO2019211237A1 (en) 2018-04-30 2019-04-29 Methods and systems for streaming media data over a content delivery network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111313629.8A Division CN114245225B (zh) 2018-04-30 2019-04-29 用于经由内容分发网络流式传输媒体数据的方法及系统

Publications (2)

Publication Number Publication Date
CN112106335A CN112106335A (zh) 2020-12-18
CN112106335B true CN112106335B (zh) 2021-11-09

Family

ID=66240155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980029162.9A Active CN112106335B (zh) 2018-04-30 2019-04-29 用于经由内容分发网络流式传输媒体数据的方法及系统

Country Status (4)

Country Link
US (1) US11201901B2 (zh)
EP (1) EP3788768B8 (zh)
CN (1) CN112106335B (zh)
WO (1) WO2019211237A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300315B (zh) * 2019-07-24 2021-08-13 北京达佳互联信息技术有限公司 一种视频码率确定方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491457A (zh) * 2012-06-11 2014-01-01 Rgb网络有限公司 用于组合用于流式视频信号的资产的方法及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763392B1 (en) * 2000-09-29 2004-07-13 Microsoft Corporation Media streaming methods and arrangements
US20020103920A1 (en) 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
US7430187B2 (en) * 2003-05-15 2008-09-30 At&T Intellectual Property I, Lp Methods, systems, and computer program products for providing different quality of service/bandwidth allocation to different susbscribers for interactive gaming
US7779096B2 (en) 2003-06-23 2010-08-17 Hewlett-Packard Development Company, L.P. System and method for managing a shared streaming media service
EP2605469A1 (en) 2011-12-13 2013-06-19 Thomson Licensing Method and apparatus to control a multipath adaptive streaming session
EP2936742B1 (en) 2012-12-21 2019-10-09 Koninklijke KPN N.V. Low-latency streaming
US20160142510A1 (en) 2014-11-14 2016-05-19 Futurewei Technologies, Inc. Cache-aware content-based rate adaptation mechanism for adaptive video streaming
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US9826262B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491457A (zh) * 2012-06-11 2014-01-01 Rgb网络有限公司 用于组合用于流式视频信号的资产的方法及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Proximal Algorithm for Joint Resource Allocation and Minimizing Carbon Footprint in Geo-distributed Fog Computing;Cuong T.Do 等;《2015 INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN),IEEE》;20150112;全文 *
An Asynchronous Fixed-Point Algorithm for Resource Sharing With Coupled Objectives;Di Niu等;《IEEE/ACM TRANSACTIONS ON NETWORKING》;20161001;第24卷(第5期);全文 *
Joint request mapping and response routing for geo-distributed cloud services;Hong Xu等;《INFOCOM,2013 PROCEEDINGS IEEE》;20130414;全文 *

Also Published As

Publication number Publication date
US11201901B2 (en) 2021-12-14
EP3788768B8 (en) 2022-11-16
US20210144189A1 (en) 2021-05-13
WO2019211237A1 (en) 2019-11-07
EP3788768A1 (en) 2021-03-10
CN114245225A (zh) 2022-03-25
CN112106335A (zh) 2020-12-18
EP3788768B1 (en) 2022-11-02

Similar Documents

Publication Publication Date Title
EP2290894B1 (en) A method, apparatus and system for adjusting multimedia encoding rate
US10277532B2 (en) Quality management of media encoding for multiple client devices
JP5276589B2 (ja) 遠隔通信ネットワークにおける情報転送の最適化方法
JP2014036442A (ja) 複数のクライアントにマルチメディアデータを送信するための方法、システム及びネットワーク
WO2015138993A1 (en) System and method for dynamic effective rate estimation for real-time video traffic
Pu et al. Dynamic adaptive streaming over HTTP from multiple content distribution servers
CN113038187B (zh) 视频体验质量公平的实用网络带宽分配方法、设备及介质
Ozfatura et al. Optimal network-assisted multiuser DASH video streaming
Farahani et al. CSDN: CDN-aware QoE optimization in SDN-assisted HTTP adaptive video streaming
US10833944B2 (en) Distribution of bandwidth in a network
Huang et al. Personalized QoE enhancement for adaptive video streaming: A digital twin-assisted scheme
CN112106335B (zh) 用于经由内容分发网络流式传输媒体数据的方法及系统
Chakareski In-network packet scheduling and rate allocation: a content delivery perspective
Hosseini et al. SVC-based multi-user streamloading for wireless networks
Dubin et al. A fair server adaptation algorithm for HTTP adaptive streaming using video complexity
Raheel et al. Achieving maximum utilization of peer’s upload capacity in p2p networks using SVC
He et al. Content and buffer status aware packet scheduling and resource management framework for video streaming over LTE system
US11627358B2 (en) Communication entity and a method for transmitting a video data stream
CN114245225B (zh) 用于经由内容分发网络流式传输媒体数据的方法及系统
Pozueco et al. Adaptation engine for a streaming service based on MPEG-DASH
Seyedebrahimi et al. Client QoE-oriented segment selection for DASH
Saleem et al. Stochastic QoE-aware optimization of multisource multimedia content delivery for mobile cloud
Khan et al. Bandwidth Estimation Techniques for Relative'Fair'Sharing in DASH
WO2021034308A1 (en) Adaptive push streaming with user entity feedback
KR102390522B1 (ko) 적응형 비디오 스트리밍 서비스를 위한 블록체인 기반의 안정적인 체감품질 가속기

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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Irish Dublin

Patentee after: DOLBY INTERNATIONAL AB

Address before: Amsterdam

Patentee before: DOLBY INTERNATIONAL AB