CN109565501B - 用于选择内容分发网络实体的方法和装置 - Google Patents

用于选择内容分发网络实体的方法和装置 Download PDF

Info

Publication number
CN109565501B
CN109565501B CN201680088555.3A CN201680088555A CN109565501B CN 109565501 B CN109565501 B CN 109565501B CN 201680088555 A CN201680088555 A CN 201680088555A CN 109565501 B CN109565501 B CN 109565501B
Authority
CN
China
Prior art keywords
cdn
entity
service performance
cdn entity
threshold
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
CN201680088555.3A
Other languages
English (en)
Other versions
CN109565501A (zh
Inventor
托斯腾·洛马尔
阿里·埃尔埃塞利
穆罕默德·易卜拉欣
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson 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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN109565501A publication Critical patent/CN109565501A/zh
Application granted granted Critical
Publication of CN109565501B publication Critical patent/CN109565501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

描述了一种被配置为从一组内容分发网络(CDN)实体中选择用于向客户端设备分发内容的CDN实体的选择装置。CDN实体的内容分发与资源消耗相关联,例如关于处理负载。选择装置被配置为:接收针对该组CDN实体中的多个CDN实体的服务性能报告,并且在根据一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一结果时,选择用于向客户端设备进行内容分发的第二CDN实体。该选择在受到以下约束的情况下执行:第二CDN实体的服务性能低于第二阈值,以及关于第二CDN实体的资源消耗低于关于第一CDN实体的资源消耗。

Description

用于选择内容分发网络实体的方法和装置
技术领域
本公开总体上涉及经由网络基础架构向客户端设备分发内容。更详细地,描述了用于针对客户端设备来选择内容分发网络实体的技术。该技术可以用装置、网络节点、网络系统、客户端设备、方法和计算机程序的形式来实现。
背景技术
内容提供商正越来越多地使用第三方内容分发网络(CDN)技术来实现其内容提供。这样,内容提供商倾向于不在内容提供商本身的内容提供之下来运营基础架构。相反,它们利用(例如来自CDN提供商的)“即服务(as a service)”提供。一些CDN就建立在公共云基础架构上。其它CDN提供商在运营商网络内部署自己的高速缓存。
现今,客户端设备通常仅连接到单个CDN。CDN节点可以重定向到其他CDN节点,以便均衡多个网络节点上的负载。
CDN提供商需要以可扩缩且高效的方式向最终用户的客户端设备提供内容。为此,CDN的目标是将内容置于客户端设备附近。例如,CDN使用所谓的边缘服务器以高速缓存的方式在不同位置处复制内容。
最终用户所感知的内容呈现质量(或者更一般地,服务性能)实质上取决于边缘服务器位置和CDN节点连接。当CDN提供商在某个区域中提供良好的连接(例如,在靠近客户端设备的边缘服务器上具有高速缓存节点装置)时,则该区域中所感知的内容呈现质量很高。因此,在这种情况下,业务量通常也将很高。从各种角度来看,较高的业务量进而意味着较高的资源消耗。例如,CDN上的较高业务负载和内容提供商的较高成本(因为CDN提供商通常基于所传递的业务量对内容提供商收费)将随之产生。
从客户端设备的角度来看,另一个服务性能方面是端到端分发延迟。在许多内容分发场景中,高分发延迟将对体验质量(QoE)或类似的服务性能度量具有负面影响。为了保证短的分发延迟,必须在CDN中并且在CDN与客户端设备之间的CDN接入网络中实现复杂的技术资源。
因此,向客户端设备提供最佳可能服务性能的一般目标导致CDN和用于接入CDN的网络一侧上的高资源消耗。此外,使用更复杂的技术(例如,在CDN节点可用性或CDN接入的方面)以实现高服务性能导致了内容分发的成本更高,且因此导致内容消耗的成本更高。已经发现的是:期望实现CDN选择技术,该CDN选择技术在资源消耗方面产生更好的结果,同时为客户端设备提供了足够的服务性能。
发明内容
因此,需要一种CDN选择技术,其在不对服务性能产生显著影响的情况下提高资源利用率。
根据第一方面,提出了一种选择装置,该选择装置从一组CDN实体中选择用于向客户端没备分发内容的CDN实体,其中,每个CDN实体进行的内容分发与资源消耗相关联。选择装置被配置为接收针对所述一组CDN实体中的多个CDN实体的服务性能报告。选择装置还被配置为:在根据所述服务性能报告中的一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一阈值时,在受到两个或更多个约束的情况下选择用于向客户端设备进行内容分发的第二CDN实体。约束至少包括:(i)所述第二CDN实体的服务性能低于第二阈值;以及(ii)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗。
选择装置还可以被配置为:触发至少一个动作,所述至少一个动作引起所述客户端设备从所选择的第二CDN实体接收内容。例如,所述至少一个动作可以引起所述客户端设备将内容接收从所述第一CDN实体切换到所述第二CDN实体。在客户端设备尚未接收到内容的情况下,该至少一个动作可以仅引起所述客户端设备发起从第二CDN实体接收内容。
至少一个动作可以由选择装置本身执行。备选地,选择装置可以触发至少一个其他装置来执行至少一个动作。
在一个变型中,至少一个动作包括在清单文件中指示第二CDN实体。清单文件可以包含供客户端设备(例如,供客户端设备上安装的媒体播放器)接收内容所必需的元数据。该至少一个动作还可以包括:触发对清单文件的发送,该清单文件向客户端设备指示第二CDN实体。
可以从多个客户端设备接收服务性能报告。这样,选择装置还可以被配置为:触发从多个CDN实体到多个客户端设备的内容分发。以这种方式,可以使得能够从多个客户端设备接收和在选择装置处接收针对多个CDN实体的服务性能报告。
触发从所述多个CDN实体到所述多个客户端设备的内容分发可以包括:触发至少一个动作,所述至少一个动作引起所述多个客户端设备中的各个客户端设备从所述多个CDN实体中的各个CDN实体接收内容。以上已经描述了这方面的合适动作(包括使用合适的清单文件),并将在下面描述。
在一个实现中,所述至少一个动作引起从所述第一CDN实体接收内容的客户端设备的第一数量低于从所述第二CDN实体接收内容的客户端设备的第二数量。第一数量可以至少是一,以使得还能够接收针对所述第一CDN实体的服务性能报告。
在一个变型中,第二阈值低于第一阈值。以这种方式,可以实现滞后效应以避免在短时间量内在两个或更多个CDN实体之间重复切换单个客户端设备。在另一变型中,第二阈值可以等于第一阈值。
可以在受到以下进一步约束的情况下选择第二CDN实体:(iii)第二CDN实体的服务性能高于第三阈值。第三阈值可以低于第一阈值。以这种方式,可以仅在第二CDN实体的服务性能在由第一阈值和第三阈值来界定的服务性能目标范围内的情况下选择第二CDN实体用于内容分发。
附加地或者备选地,在满足至少约束(i)的多个CDN实体之中,可以根据约束(ii)来选择受制于具有最小资源消耗的第二CDN实体。因此,如果多个潜在的第二CDN实体满足(至少)约束(i)和约束(ii),则可以在所有潜在的第二CDN实体中选择最小化资源消耗的特定第二CDN实体。
选择装置还可以被配置为:针对特定客户端设备来导出特定CDN实体的服务性能。在这方面,选择装置可以考虑两个或更多个参数,包括:(i)针对所述特定CDN实体所报告的一个或多个服务性能度量以及(ii)特定客户端设备的技术能力。作为示例,所述特定客户端设备的技术能力可以指示所述特定客户端设备的屏幕大小和音频回放能力中的至少一项。客户端设备的技术能力可以由选择装置从中央数据库或从客户端设备(例如,与服务性能报告一起)接收。
该组CDN实体可以包括一个、两个或更多个单独的CDN。附加地或者备选地,该组CDN实体可以包括每CDN的一个、两个或更多个单独的接入网络类型。这样,该组CDN实体可以由一组CDN标识符和/或一组2元组来定义,每个2元组指示接入网络类型和CDN标识符。
服务性能可以指示特定CDN实体的内容分发延迟。特别地,内容分发延迟可以是端到端(e2e)分发延迟。e2e分发延迟可以延伸到客户端没备并且包括由特定CDN实体引起的延迟分量。附加地或者备选地,服务性能可以指示特定CDN实体的媒体呈现(例如,视觉或听觉)质量。如上所述,在某些变体中,服务性能可以根据针对特定CDN实体所报告的至少一个媒体质量度量和特定客户端设备的技术能力这二者来导出(例如,以确定特定客户端设备的媒体呈现质量)。
选择装置还可以被配置为:接收与该组CDN实体内的多个CDN实体的资源消耗有关的信息。所述资源消耗可以表示为特定CDN实体的业务负载参数和与特定CDN实体相关联的业务量成本参数中的至少一项、或者根据该至少一项来导出。
选择装置还可以被配置为:从该组客户端设备接收针对该组CDN实体的业务量报告。在这种场景中,选择装置还可以被配置为:聚合所报告的每CDN实体的业务量(例如,在消耗来自该CDN实体的内容的所有客户端设备上)。此外,选择装置可以基于针对该CDN实体所聚合的报告业务量和与该CDN实体相关联的业务量成本指示,来计算特定CDN实体的资源消耗(例如,业务量成本)。业务量成本指示可以是简单参数或较复杂的函数。
还提供了一种网络节点,包括如本文所提供的选择装置和到多个客户端设备的接口。该接口被配置为:发送针对所述客户端设备的CDN实体选择指令(例如,向客户端设备直接发送),并从所述客户端设备接收针对所述CDN实体的服务性能报告。
还提供了一种网络系统,包括网络节点和多个客户端设备。
根据另一方面,提供了一种客户端设备,被配置为从第一CDN实体切换到第二CDN实体以进行内容接收。客户端设备被配置为:在从第一CDN实体接收内容的同时针对第一CDN实体来监控服务性能,以及发送与针对第一CDN实体所监控的服务性能有关的报告。客户端设备还被配置为:在以下情况时,接收用于切换到所述第二CDN实体的指令:(i)所述第一CDN实体的服务性能高于第一阈值;(ii)所述第二CDN实体的服务性能低于第二阈值;以及(iii)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗。客户端设备还被配置为:响应于接收到所述指令切换到所述第二CDN实体。
约束可以在客户端没备本地评估、远程评估(例如,通过选择装置)或部分本地评估且部分远程评估。
客户端设备还可以被配置为:监控从第一CDN实体和第二CDN实体中的至少一个接收的内容的业务量。此外,客户端设备可以被配置为:发送与所监控的业务量有关的报告(例如,每CDN实体和/或每时间单位)。可以向这里描述的选择装置、网络节点或网络系统发送报告。
还提供了一种从一组CDN实体中选择用于向客户端设备分发内容的CDN实体的方法,其中,每个CDN实体进行的内容分发与资源消耗相关联。该方法包括:接收针对所述一组CDN实体中的多个CDN实体的服务性能报告并在根据所述服务性能报告中的一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一阈值时,选择用于向客户端设备进行内容分发的第二CDN实体。在受到以下约束的情况下执行选择:(i)所述第二CDN实体的服务性能低于第二阈值;以及(ii)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗。
还提供了一种将客户端设备从第一CDN实体切换到第二CDN实体以进行内容接收的方法。该方法由客户端设备执行,并且包括:在从所述第一CDN实体接收内容的同时针对所述第一CDN实体来监控服务性能;发送与针对所述第一CDN实体所监控的服务性能有关的报告;以及接收切换到所述第二CDN实体的指令。在以下情况时,接收指令:(i)所述第一CDN实体的服务性能高于第一阈值;(ii)所述第二CDN实体的服务性能低于第二阈值;以及(iii)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗。该方法还包括:响应于接收到指令而切换到第二CDN实体。
上述方法可以包括如本文所述的一个或多个其他步骤。
还提供了一种包括程序代码部分在内的计算机程序产品,当在一个或多个处理设备上执行程序代码部分时,该程序代码部分用于执行本文提出的方法和方法方面中的任一个的步骤。计算机程序产品可被存储在一个或多个计算机可读记录介质(例如半导体存储器、CD-ROM、DVD等)上。在一个示例中,计算机程序产品可以在虚拟化通信系统的各种组件之间分发。
附图说明
参考附图描述了该技术的实施例的进一步细节,在附图中:
图1是根据本公开的网络系统实施例的示意说明图;
图2是根据本公开的选择装置实施例的框图;
图3是根据本公开的客户端设备实施例的框图;
图4是选择装置实施例或客户端设备实施例的备选实现的框图;
图5是根据本公开的方法实施例的流程图;
图6是根据本公开的分发延迟估计实施例的示意图;
图7是示出了根据本公开的分发延迟确定实施例的示意图;
图8是根据本公开的另一方法实施例的框图;
图9是示出了比特率变化场景的示意图;
图10是示出了根据本公开的另一实施例的伪代码表示;以及
图11是使受到分发延迟约束的分发成本度量最小化的示意图。
具体实施方式
在以下描述中,出于解释而非限制的目的,阐述了具体细节,诸如特定CDN、特定CDN接入网络和具体网络环境,以便提供对本文公开的技术的透彻理解。然而,对本领域技术人员将显而易见的是:该技术可在脱离这些具体细节的其它实施例中实行。
此外,本领域技术人员将理解:本文解释的服务、功能、步骤和单元可以使用软件功能结合编程微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或通用计算设备(例如包括高级RISC机器(ARM))来实现。还将意识到:尽管以下实施例主要在方法和设备的上下文中描述,本公开还可以体现在计算机程序产品中,以及体现在包括计算机处理器和耦合到该处理器的存储器在内的系统中,其中,存储器编码有一个或多个程序,该一个或多个程序可以执行服务、功能或步骤,并在处理器上被执行时实现本文公开的单元。
图1示出了根据本公开的实施例的网络系统。该网络系统包括位于起源服务器10和多组客户端设备20(各自具有相关联的媒体播放器)之间的多个CDNi(i=1...N)。如图1所示,属于组1的客户端设备20通过CDN1来消耗内容,属于组2的客户端设备20通过CDN2来消耗内容,依此类推。一方面,单独客户端设备20或单独客户端设备组与单独CDN之间的分配由CDN实体选择装置30执行,CDN实体选择装置30实现CDN实体选择功能。CDN实体选择装置30包括到每个客户端设备20的接口32。
如图1中进一步所示,选择装置30耦合到健康监控装置40,健康监控装置40进而耦合到报告服务器50。在某些变型中,报告服务器50和健康监控装置40中的至少一个被集成到选择装置30中。此外,选择装置30、健康监控装置40和报告服务器50中的一个或多个可以位于专用网络节点上。网络节点可以位于内容提供商域内。
内容提供商域通常还包括起源服务器10、耦合到起源服务器10的分段器60、以及耦合到分段器60的实况编码器/转码器70。实况编码器/转码器70被配置为:对将由分段器60分段成各个媒体段的流传输内容进行编码和/或转码。媒体段由分段器60向起源服务器10输出,起源服务器10经由CDN向客户端设备20分发媒体段。起源服务器10包括复制器,复制器被配置为将媒体段朝向多个CDN复制。
还如图1所示,每个CDN包括至少一个CDN边缘服务器80和至少一个CDN核心节点90。CDN边缘服务器80提供内容高速缓存功能。CDN核心节点90通常负责CDN内部内容优化。
尽管未在图1中示出,但是将理解:一个或多个接入网络将位于单独客户端设备20和单独CDN边缘服务器80之间。每个接入网络可以被配置为:在特定客户端设备20和特定CDN边缘服务器80之间提供接线(wire-bound)或无线通信连接。
图2示出了选择装置30的可能实现。如图2所示,选择装置30包括服务性能报告接收单元202和CDN实体选择单元204。单元202和204均可以用软件的形式、用硬件的形式或作为软件的形式和硬件的形式的组合来实现。
服务性能报告接收单元202被配置为:接收针对图1所示的网络系统内的该组CDN实体的多个CDN实体的服务性能报告。例如,服务性能报告可以是从客户端设备20或从任何其他网络组件接收的。
CDN实体选择单元204被配置为:在根据所接收的服务性能报告中的一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一阈值时,在受到两个或更多个约束的情况下选择第二CDN实体用于向特定客户端设备20进行内容分发。特定客户端设备20当前可以从第一CDN实体接收内容。可以从该特定客户端设备20接收该选择所基于的一个或多个服务性能报告。
由CDN实体选择单元204评估的约束包括第一约束,根据该第一约束,第二CDN实体的服务性能低于第二阈值。根据另一约束,第二CDN实体的服务性能可以高于第三阈值。根据又一约束,关于第二CDN实体的资源消耗低于关于第一CDN实体的资源消耗。
虽然未在图2中示出,但是选择装置30还可以包括触发单元,该触发单元被配置为:触发至少一个动作,该至少一个动作引起客户端设备20从由CDN实体选择单元204选择的第二CDN实体接收内容。
图3示出了图1所示的网络系统内的客户端设备20的可能实现。如图3所示,客户端设备20包括服务性能监控单元302、服务性能报告发送单元304、切换指令接收单元306和切换单元308。各个单元302至308可以各自以软件的形式、以硬件的形式或作为软件的形式和硬件的形式的组合来实现。
客户端设备20通常被配置为从第一CDN实体切换到第二CDN实体以用于内容接收。在这方面,服务性能监控单元302被配置为:在从第一CDN实体接收内容的同时针对第一CDN实体来监控服务性能。服务性能报告发送单元304被配置为:通过服务性能监控单元302来发送与针对第一CDN实体监控到的服务性能有关的报告。
切换指令接收单元306被配置为:接收切换到第二CDN实体的指令。该指令可以是从选择装置30接收的,如图1中的虚线箭头所示。当第一CDN实体的服务性能高于第一阈值、第二CDN实体的服务性能低于第二阈值、以及关于第二CDN实体的资源消耗低于第一CDN实体的资源消耗时,该指令是由客户端设备20接收的。
切换单元308被配置为:响应于切换指令接收单元306接收到指令而切换到第二CDN实体。在已经执行切换之后,在从第二CDN实体接收内容的同时服务性能监控单元302可以针对第二CDN实体来继续监控服务性能,服务性能报告发送单元304可以发送与针对第二CDN实体所监控的服务性能有关的报告,依此类推。
还如图3所示,客户端设备20还可以包括可选的业务监控单元310,其被配置为:监控从第一CDN实体和第二CDN实体中的至少一个所接收的内容的业务量。另外,可以提供可选的业务报告发送单元312,其被配置为:发送与所监控的业务量有关的报告。报告可以被发送到报告服务器50或直接发送到图1所示的网络系统内的选择装置30。
图4示出了特定客户端设备20和选择装置30中任何一个的备选配置。如图4所示,相应的组件20/30包括处理器402、存储器404和一个或多个接口406。存储器404包括程序代码,该程序代码引起处理器402实现关于图2和图3所示的单元的上述功能、以及本文描述的其他功能。
在客户端设备20的情况下,一个或多个接口406可以包括接入网络接口以及到选择装置30的接口,并且可选地包括到报告服务器50的接口。在选择装置30的情况下,一个或多个接口406可以包括到客户端设备20的接口(参见图1中的附图标记32)、以及到起源服务器10、健康监控装置40和报告服务器50的一个或多个可选接口。
图5示出了两个流程500、502,它们分别代表由客户端设备20和选择装置30之一执行的方法实施例。图5所示的各个步骤、功能和服务可以由图2和图3所示的各个单元或图4中所示的组件来执行。
图5所示的操作基于图1中所示的客户端设备20之一从第一CDN实体(例如图1中的CDN1)接收内容。
在第一步骤510中,客户端设备20针对该第一CDN实体来监控服务性能。如下面将更详细说明的,为此可以监控分发延迟或媒体呈现质量。
在进一步的步骤520中,客户端设备20向选择装置30(或者备选地向报告服务器50)发送针对所监控的第一CDN实体的服务性能报告。服务性能报告可以包括对第一CDN实体的指示,例如第一CDN实体的标识符。在步骤520中,可以以预定义间隔或在接收到特定报告请求时发送服务性能报告。应当理解:针对第一CDN实体和其他CDN实体的服务性能报告还将由图1的网络系统内的其他客户端设备20发送。
还如图5中所示,由客户端设备20执行的操作还可以包括:在客户端设备20附接到第一CDN实体的同时,监控从例如第一CDN实体接收的内容的业务量。监控操作可以由图3所示的业务监控单元310来实现。客户端设备20还可以向选择装置30或向报告服务器50(其将进而与选择装置30通信)发送与所监控的业务量有关的报告(可选地与对第一CDN实体的指示(例如第一CDN实体的标识符)一起)。例如,业务量报告可以由图3所示的业务报告发送单元312发送,并与步骤520中的服务性能报告一起发送,或者与步骤520中的服务性能报告分开发送。
在步骤530中,选择装置30从多个客户端设备20(或者备选地,从报告服务器50,其也可以集成到选择装置30中)接收针对多个CDN实体的多个性能报告。此外,在步骤530中,还可以接收一个或多个可选业务量报告。
在另一步骤540中,选择装置30选择第二CDN实体用于向客户端设备20中的一个或多个客户端设备20进行内容分发。具体地,可以在根据在步骤530中接收的服务性能报告中的一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一阈值时(例如,通过该确定来触发),执行步骤540。这意味着选择装置可以确定第一CDN实体的服务性能好于实际需要(例如,考虑到特定客户端设备20的媒体呈现能力)。
特别地,可以关于单独的预选客户端设备20来执行步骤540。作为示例,可以在循环会话中针对图1中所示的组1和组2内的每个客户端设备执行步骤540。
在步骤540中,在受到以下约束的情况下选择第二CDN实体用于向特定客户端没备20进行内容分发:第二CDN实体的服务性能低于第二阈值,以及关于第二CDN实体的资源消耗低于关于第一CDN实体的资源消耗。可以基于针对第二CDN实体的在步骤530中接收的服务性能报告来评估第二CDN实体的服务性能。如上所述,报告可以各自包含:报告了其服务性能和/或业务量的特定CDN实体的标识。
第一约束考虑到:由第一CDN实体提供的服务性能实际上好于所需,而第二CDN实体仍然提供足够高的服务性能(第二CDN实体提供的服务性能可以低于由第一CDN实体提供的服务性能)。这样,关于特定服务性能度量,第二阈值可以等于或可以低于第一阈值,其中,假设较高服务性能度量与较高(即,较好)服务性能相关联。
第二约束确保了:将特定客户端设备20从第一CDN实体切换到第二CDN实体将减少总体资源消耗。因此,可以减少总体资源消耗。从单独CDN或CDN实体的角度(例如,关于本示例中的第一CDN实体)和/或从内容提供商的角度(例如,因为由于例如使用更复杂的基础架构或技术因而使用第一CDN实体更昂贵),可以减少资源消耗。
应当注意:在某些实施例中,可以基于在步骤530中接收的可选业务量报告来确定资源消耗。例如,可以基于经聚合的业务量来计算特定CDN实体的资源消耗(例如,在特定时段期间,其中,业务量报告可以包含对所报告的时间跨度的指示),该经聚合的业务量是根据从多个客户端设备20接收的针对该特定CDN实体的多个业务量报告而导出的。
这样,可以导出由特定内容提供商所服务的客户端设备20引起的总业务量(即,业务负载)(假设,选择装置30或执行聚合的其他组件位于该内容提供商的域中)。当然,还可以在由特定CDN实体(例如,特定CDN)所服务的所有客户端设备20之间执行聚合,以确定该特定CDN实体的总业务负载(例如,关于特定内容供应服务)。
在一个实施例中,根据经聚合的业务量和业务量成本指示来确定资源消耗(例如,按照每业务量单位的货币价值(例如ct/G字节),或者按照更复杂的非线性函数)。可以从相应的CDN域(例如,CDN提供商)接收每CDN的业务量成本指示。通过在步骤540中作为CDN实体选择的结果而减少或最小化对应的资源消耗,不仅可以减少更复杂(并且因此更昂贵)的CDN实体上的业务负载,而且CDN提供商还将受益于金融资源也被减少或最小化。
在可以是可选的另一步骤550中,选择装置30触发用于将特定客户端设备20从第一CDN实体切换到第二CDN实体的动作。这样的动作可以包括:在清单文件中指示第二CDN实体,以及触发对清单文件的发送,清单文件向特定客户端设备20指示第二CDN实体。
在步骤560中,特定客户端设备20将接收清单文件或切换到第二CDN实体的任何其他指令。然后,在步骤570中,客户端设备20执行该指令并切换到第二CDN实体。然后,整个过程可以从步骤502再次开始,且客户端设备20针对第二CDN实体来监控服务性能。
在选择装置30或报告服务器50处,可以聚合所报告的业务量(例如,针对每CDN实体)。此外,可以针对每个CDN实体,基于针对该CDN实体所聚合的报告业务量和针对该CDN实体的业务量成本指示(例如,每预定义数据量的货币值),来计算资源消耗。
在本公开的范围内,可以使用各种内容传递协议向客户端设备20传递内容。超文本传输协议(HTTP)已成为内容传递的主流协议,主要是因为它允许使用常见的现成(offthe shelf)组件来构建可扩展且高效的CDN。在HTTP流传输中,构成要分发的内容的媒体段从由内容提供商操作的起源服务器10向图1所示的CDN边缘服务器80发送。HTTP流传输可以按自适应或非自适应方式发生。
客户端设备20上的媒体播放器通常支持HTTP实况流传输(HLS)、HTTP上的动态自适应流传输(DASH)、或用于内容消耗的HTTP动态流传输(HDS)格式。在内容提供商系统和客户端设备20之间使用非HTTP媒体传递(例如,Octoshape、QUIC等)的情况下,可以(例如,在客户端设备20上本地)部署HTTP代理或服务器。此方法使得能够使用本地的/标准HTTP媒体播放器,包括所有辅助特征(如数字版权管理(DRM)或字幕支持)。
除了内容分发之外,CDN核心节点90还经常在其CDN内对要传递的内容执行内部优化(例如,格式转换、转复用(trans-muxing)等)。一些基于HTTP的CDN(例如,Octoshape)应用转发纠错以增加对媒体段的鲁棒性。CDN内部操作可能导致修改所传递的段(例如,在段号或段顺序方面)。在使CDN边缘服务器80上的段可用之前,可以将MPEG DASH或HLS流传输会话的媒体段存储在CDN内。CDN内部转复用过程(例如,将TS段转换为ISO-BMFF段)也需要一些时间。
因此,从客户端设备20的角度来看,向边缘服务器80分发媒体段和CDN内部优化影响服务性能,例如端到端(e2e)延迟。e2e延迟还可以取决于正在提供服务的边缘服务器80的位置和当前负载。
已经提出了若干方法来验证自适应HTTP内容的完整性。在一个示例中,边缘服务器80生成安全标识符和散列密钥,它们被提供给对等端以用于在对等辅助的CDN中的HTTP流传输。在另一示例中,使用摘要或数字签名来验证HTTP段的完整性。然而,所有这些方法均未考虑或提供用于测量自适应HTTP流传输服务的e2e分发延迟的机制。
另一方面,3GPP DASH规范TS 26.247定义了体验质量(QoE)度量,体验质量(QoE)度量用于在客户端设备20和起源服务器10之间进行报告。在这些度量之中,HTTP请求/响应交易允许客户端设备20报告以下时间:客户端设备20向起源服务器10进行HTTP请求的时间、以及在客户端设备20处接收到HTTP响应的第一字节的时间(以挂钟时间计)。HTTP请求/响应度量会允许起源服务器10计算媒体段的获取持续时间,这可以例如用于检测正在提供服务的CDN中的故障。然而,该度量不测量e2e分发延迟,因为它没有考虑在起源服务器10处使媒体段可用的时间。
本公开的目标一般在于优化(例如,最小化)业务量,或更一般地在于优化内容提供的资源消耗,同时仍保持预定义的服务性能(例如分发延迟)。可以针对分发延迟、媒体呈现质量(例如,服务视觉质量)或这二者的任何组合来定义服务性能目标(例如,上阈值或下阈值)或目标范围。当然,其他服务性能度量也可以适用。
例如,在e2e分发延迟的情况下,许多最终用户优选在实况体育赛事的情况下具有例如10秒的分发延迟。但是当将延迟从3秒变为1秒时,感知的内容呈现质量不再显著增加。因此,可以在分发延迟的情况下定义服务性能目标范围。
类似地,还可以关于音频或视觉质量来定义服务性能目标范围。例如,在4英寸智能电话屏幕上的视频质量的意义下,当使用约1.5Mbps的视频编码比特率(用于高级视频编码或AVC)时,最终用户将服务性能视为“好”。另一方面,当提供1Mbps或更低的比特率时,服务性能被认为是差。然而,当编码比特率超过2Mbps时,最终用户在典型智能电话屏幕上无法识别服务性能差异。类似的考虑因素适用于音频编码比特率。
通常,关于服务性能的限制因素可以变化。在许多情况下,与特定CDN对接的实际接入网络限制了性能。在一些情况下,实际的CDN(例如,接入网络后面的CDN基础架构)限制了性能。CDN和CDN接入网络在下文中共同表示为CDN实体。CDN实体可以由(单个CDN的)CDN标识符、或包括(用于CDN和接入网络类型的组合的)CDN标识符和接入网络类型在内的元组表示。
当CDN接入网络限制性能时,则(例如,内容提供商的域内的)CDN实体选择策略可以不需要选择技术上复杂的(因此可能是昂贵的)CDN。从消耗内容的最终用户的角度,使用较不复杂的(并且可能较便宜的)CDN可以达到相同的服务性能。
为了优化CDN实体选择,由选择装置30实现的CDN实体选择策略可以考虑以下一个或多个方面:
1)连续监控(或估计)通过不同的CDN实体的业务量,并且如果由客户端设备20远程执行,则报告通过不同的CDN实体的业务量。计算和/或聚合发送量(以及可能与发送量相关的业务成本,因为不同的CDN实体可以具有不同的业务量成本)。
2)连续监控通过不同的CDN实体的服务性能,并且如果由客户端设备20远程执行,则报告通过不同的CDN实体的服务性能。例如,可以需要该方面来选择用于特定CDN的备选CDN接入网络。当QoE系统可以导出更细粒度的连接信息(例如,“HSPA”接入对“LTE”接入)时,则CDN实体选择按照更详细的接入系统类型来分离所接收的报告。
3)当服务性能太好或太差时(并且可选地,当可以通过选择一个或多个备选CDN实体来减少资源消耗时),主动地将客户端设备20转向至一个或多个备选CDN实体。
在一个实现中,由选择装置30实现的CDN实体选择方法收集内容(例如,视频或其他媒体)的性能度量(例如,延迟、质量等)和可选业务信息,并且在确保了服务性能满足一个或多个预定义标准(例如,服务性能在如上所述的由上阈值和下阈值界定的指定目标范围内)的同时确定CDN实体,该CDN实体减少或最小化资源消耗(例如,在负载或成本方面)。该CDN实体选择考虑实际资源消耗和实际服务性能这二者。取决于性能度量,由选择装置30实现的选择向“次”佳CDN分配客户端设备20。也就是说,如果性能仍然足够好并且可以减少资源消耗,则向名义上非最优的CDN分配客户端设备20。
在一些情况下,CDN实体选择考虑了如图1示例性示出的N个不同CDN,过滤满足一个或多个服务性能标准(例如,在特定性能目标范围内)的CDN,然后在经过滤的CDN之中选择具有最小资源消耗的CDN并将其向特定客户端设备20分配。
在一些示例中,客户端设备20报告媒体性能度量,诸如分发延迟和媒体呈现质量中的一者或二者。每个客户端设备20可以附加地报告业务量度量,该业务量度量指示在客户端设备20处下载的内容(例如,视频)的量。然后,CDN实体选择可以使用所报告的业务量来自动计算不同CDN或CDN接入网络组合的实际资源消耗(例如,在负载或成本方面)。
这样的CDN实体选择允许内容提供商在提供一定服务质量的同时最小化服务提供成本(CDN提供商通常仅对离开其CDN的业务量收费)。当特定CDN的边缘服务器80或核心节点90位于具有CDN实体与内容消耗客户端设备20之间的高吞吐量的“好”拓扑点处时,则服务性能高。当服务性能高于足够好的内容提供所实际需要时(例如,可以在4英寸智能电话屏幕上呈现5Mbps视频),则CDN选择可以将客户端设备20重定向到具有较低开销的备选CDN实体(在业务成本方面或在当前业务负载方面),但质量仍然足够好。
随着在e2e传递链中对虚拟化的使用增加,服务性能(例如,在延迟和视频质量或音频质量方面)越来越受到其他并发进程的影响。因此,将期望内容提供商监控e2e段传递延迟和媒体呈现质量,以确定是否保持经协商的服务级别协议。
在一些实施例中,由选择装置30或者(至少部分地)在备选组件中实现的CDN实体选择可以包括三个主要功能:性能监控功能、业务监控功能、和资源优化的CDN实体选择功能。
性能监控功能从客户端设备20连续收集与流传输比特率、分发延迟或其他性能度量有关的反馈。用于分发延迟测量的方法在下面的节1中解释。业务监控功能计算(或估计)每CDN所消耗的业务量。可以由客户端设备来报告业务量(例如,每个客户端设备20报告其消耗的业务量)。在以下的节3中描述了对应的度量报告方法。优化资源消耗的CDN选择功能的目的是在受到服务性能约束(例如,在媒体呈现质量、e2e延迟或其组合的方面)的情况下最小化资源消耗。以下将在节4和节5中更详细地解释用于优化资源消耗的CDN实体选择的示例性算法方法。
1、分发延迟测量和CDN实体选择
图6示出了端到端架构,用于在上面参考图1讨论的网络系统中通过CDN进行ABR流传输。
向媒体分段器60馈送实况编码器/转码器70的输出。分段器60生成ABR段(通常具有2到10秒的持续时间)。出于高速缓存目的,向具有可选复制器的起源服务器10推送这些段,以关于各种CDN边缘服务器80来复制段。起源服务器10还存储各段以用于时移消耗。
如上所述,起源服务器10连接到N(N>=2)个CDN,每个CDN被配置为向客户端设备20传递媒体内容。内容提供商的域中的选择装置30的CDN实体选择功能基于不同CDN的健康统计和/或其他当前性能特性来选择为客户端设备20服务的CDN实体。在这方面,CDN选择功能连续监控起源服务器10和客户端设备20之间的连接,以确保正在提供服务的CDN实体满足内容提供商的期望。
每个CDN节点80、90可以出于高速缓存目的而将内容写在本地存储器上。CDN节点80、90的服务性能取决于节点上和连接链路(例如,朝向客户端设备20的接入网络)上的并发负载。这样,CDN服务性能还将取决于客户端设备20在网络拓扑中的实际位置(在存在点或PoP的意义上)。
选择功能向每个客户端设备20通知优选的CDN。为此,选择功能可以用媒体呈现所需的元数据来重写清单文件(以生成针对特定客户端设备20的“个性化”清单文件),或者可以使用其他手段来影响客户端设备20以便触发(重新)选择。例如,清单文件可以包含多个基础URL,并且选择功能可以仅“告诉”(例如,使用带外信令)客户端设备20上的媒体播放器(直接地或通过控制app)哪个基础URL用于内容获取。使用特定基础URL,媒体播放器使用HTTP获取请求向特定CDN边缘服务器80请求段。CDN边缘服务器80从起源服务器10(或从本地高速缓存)获取该段,并向客户端设备20传递所获取的段。
在一个变型中,选择功能将媒体播放器/客户端设备20中的少数转向为通过一些或所有备选CDN,以便在内容提供中还获得其他可用CDN的服务性能输入。
为了测量e2e分发延迟,客户端设备20可以查询特定段通过起源服务器10的时间戳。为此,起源服务器10(或分段器60)可以为客户端设备20提供应用编程接口(API)以查询给定段的时间戳。为了验证所接收的段的完整性,客户端设备20可以使用段的指纹来查询段号。然后,客户端设备20可以通过将检索到的时间戳与客户端设备20接收到给定段的第一部分的时间相比较来确定e2e分发延迟。
客户端设备20可以向报告服务器50或向选择装置30上的选择功能提供e2e分发延迟估计。备选地,客户端设备还可以仅报告时间戳,以使得能够通过这些组件中的任何组件来确定e2e分发延迟。
所报告的e2e分发延迟信息可以与其他CDN相关信息和客户端设备相关信息(例如,CDN利用率、客户端处的媒体质量等)一起向健康监控装置40(或一般地,CDN实体性能确定功能)馈送。在网络(即,拓扑方面)的某个部分中的客户端设备20需要时,选择功能对来自健康监控的信息加以考虑以选择并决定切换到不同CDN实体。
图7示出了起源服务器10与特定客户端设备20之间的e2e分发延迟组件的分解(未示出节点内部处理延迟)。
如图7所示,在段X通过起源服务器10时(即,诸如段X之类的某个段在起源服务器10上可用的时间)起源服务器10记录时间戳t1。这样,客户端设备20上的媒体播放器或客户端设备20在时刻t3向CDN边缘服务器80请求段X。边缘服务器80或者从起源服务器10获取该段,或者如果该段在边缘服务器80的高速缓存中可用,则边缘服务器80向客户端设备20直接传递该段。在CDN向客户端设备20传递该段之前,CDN可以对该段应用附加优化(例如,转复用、添加FEC保护等),这增加了延迟。在边缘处接收到完整段之前(渐进(progressive)接收)或者在完全接收到该段之后(存储并转发),CDN可以开始向客户端设备20发送该段。CDN内部处理延迟由Tcdn表示。
在时刻t4a和时刻t4b,客户端设备20分别接收到段的第一字节和完整段。然后,客户端设备20估计e2e分发延迟(即,t4a-t1或t4b-t1),并向报告服务器50报告或向选择功能直接报告该延迟估计。
图8示出了基于由客户端设备20报告的分发延迟的CDN实体切换方法的流程图。此处,基于在流传输会话期间的分发延迟的连续/频繁监控来考虑动态CDN切换。在不失一般性的情况下,同一概念可以用于最初为特定客户端设备20选择正在提供服务的CDN实体。
假设客户端设备20被连接并正从CDN实体i流传输视频(步骤810)。如上所述,CDN实体i可以要么是特定CDN的特定CDN接入网络类型、或者这样的特定CDN(即,接入网络后面的CDN基础架构,包括例如一个或多个CDN核心节点90)、或者其组合。
健康监控功能从客户端设备20接收连续的(至少是具有特定频率的)分发延迟反馈、以及与当前正在提供服务的CDN实体i有关的其他健康信息(步骤840)。当CDN实体i提供接口时,CDN实体i可以例如向健康监控功能给出与CDN负载或CDN故障条件有关的输入。如果在步骤850中发现通过CDN实体i的服务不再可接受(即,另一CDN实体显示更好的性能),则调用CDN实体选择功能,该CDN实体选择功能检查更好的正在提供服务的CDN实体j是否可用。在这种情况下,在步骤870中,将相应地通知客户端设备20,并且客户端设备20开始从新CDN实体j进行流传输。如果该过程决定不要测量备选CDN实体(步骤880),则该过程允许客户端设备20继续从CDN实体i进行流传输。
该过程可以随机地(或基于备选策略)指示客户端设备20利用备选CDN实体进行内容消耗(步骤880)。这通常可以在新会话开始时发生。意图是:选择功能需要从备选CDN实体获得服务性能信息。这样,所有可用的CDN实体都应该用于内容传递,但大多数业务量应该通过最优执行的CDN,并且只有少数业务量应该通过最差执行的CDN。
2、基于所测量的分发延迟的CDN实体选择的过程
在下文中,更详细地解释CDN实体选择方法的示例性过程。目标之一是在客户端设备20之间实现媒体同步和/或确保客户端设备20所体验的延迟满足一个或多个标准(例如,该延迟在预定义的目标范围内),同时最小化或至少减少资源消耗。
具体地,与e2e分发延迟或其他服务性能度量有关的知识允许选择功能确定用于在不同客户端设备20和不同分发路径之间使媒体播出同步的适当机制。在下文中,列出了可以单独或联合实施的不同可能过程。然后,在以下的节4中,将描述算法细节。
1)选择功能向分发路径分配客户端设备20(在不同的CDN实体的意义上),分发路径保证服务质量/体验质量约束(即,在e2e分发延迟的意义上),同时确保选择减少内容提供商和/或CDN提供商的资源消耗的路径。
2)在客户端设备20处存在实况瞬间的滞后,并且选择功能允许客户端设备20更接近实况边缘。这包括通过选择备选CDN实体来优化对客户端设备20的发送的可能性,该备选CDN实体提供较低的分发延迟。
3)CDN实体选择功能同时为多个客户端设备20同步媒体播出。给定与不同客户端设备20有关的分发延迟以及可选地不同分发路径的健康统计(例如,负载、可用吞吐量等),选择功能尝试同步针对不同的客户端设备20的媒体传递。例如,这可能导致将客户端设备20同步到一点,且目标是所有客户端设备20体验类似的分发延迟。这种优化在单个客户端优化系统中是不可能的,因为它需要知道针对不同客户端设备20和不同分发路径的分发延迟。
4)选择功能将不同内容在不同路径上的发送加以同步。这需要知道针对不同内容的分发延迟。内容提供商可以通过利用延迟信息来决定如何使补充内容(例如,广告)可用(例如,决定使用单播或多播发送)。
3、业务量报告度量
每CDN所消耗的业务量、每CDN接入网络类型所消耗的业务量或其组合(即,每CDN实体)所消耗的业务量可以由客户端设备20直接报告。在一个变型中,每个客户端设备20根据所请求的比特率来计算所消耗的业务量,并且向选择装置30的业务监控功能报告。备选地,客户端设备20捕捉所下载的段的段大小(以字节计)。与报告的比特率不同,该度量允许更准确地表示在每个客户端设备20处的每CDN实体所消耗的业务,因为它考虑了客户端设备20通过该CDN实体接收到的所有数据。特别地,当客户端设备20用较高质量的部分替换流的低质量部分时,实际下载的量可以更高。
在图9中进一步解释了这种情况,其中,客户端设备20终止对某个表示的下载(例如由于缓冲级别的改变)并且开始以不同的表示比特率来请求相同的段。当计算客户端设备20处的聚合业务量时,还考虑所终止的段下载大小。
客户端设备20处的业务量被计算为在时间单位(例如,会话时间或报告时段)上的接收数据之和(例如,以字节计)。客户端设备i的量可以表示为
Vi=∑tRi·ti
其中Ri是表示比特率,ti是下载的段持续时间,并且积分和是在会话时间或报告时段上。
4、在受到分发延迟约束的情况下节约成本的CDN实体选择的算法
在下文中,描述了一种方法,该方法用于利用分发延迟测量来选择针对客户端没备20的CDN分发路径。目标是在考虑资源消耗的同时满足约束,该约束是客户端设备20处的分发延迟均在预定义目标范围内:
令M是从内容提供商接收例如ABR内容的客户端设备20的数量,令Mt<<M是要用于测试备选CDN实体的客户端设备20的数量,令di是客户端设备20报告的e2e分发延迟,其中,i=1..M..,令N是可用分发路径(即,CDN实体)的数量。
与客户端设备20的总数相比,要向“非优选”CDN实体分配的客户端设备20的数量应该较小。对应的“探测”客户端应该跨区域中的客户端设备20来公平地分布,使得没有客户端设备20长时间体验不良性能。例如,可以以循环方式选择客户端设备20。B(Mt)表示要向“非优选”CDN实体分配的一组客户端设备20。
分发延迟用作用于选择分发路径(即,CDN实体)的关键度量。将针对可以属于相同或不同优先级类别的ABR客户端设备20来描述示例性方法。客户端设备20应体验的预期e2e分发延迟可以用与延迟性能有关的上阈值和下阈值来定义。可以针对向不同优先级类别分配的客户端设备20来定义不同的阈值。
更具体地,当e2e分发延迟信息被用作在向不同的分发路径分配客户端设备20时的约束。一个示例性目标是在确保e2e分发延迟在某个预定义范围内的同时选择最小化与较复杂的网络资源有关的资源消耗(例如,负载)。然后,已经被释放或呈现为非占用的较复杂的网络资源(例如,关于CDN接入网络实体)可以用于更高重要性的服务(例如紧急服务、需要低时延的专用服务(例如,用于工业自动化)等)。作为副作用,从内容提供商的角度来看,内容分发成本经常可以降低,因为较复杂的网络资源通常与较高的内容分发成本相关联。
令costj为与用于在路径j上传递内容的资源消耗相关联的成本度量,其中j=1..N。应注意:成本度量可以是抽象参数。例如,从特定CDN实体j的角度来看,成本参数可以对应于资源消耗。如上所述,从内容提供商的角度来看,成本参数可以同时与分发成本具有直接或间接的关系。
作为分发路径j上的聚合发送的结果的总成本定义如下:
Figure GDA0003018139990000221
Rij=在使用分发路径/CDN实体j时客户端i的视频比特率;
xij=如果客户端设备i正使用分发路径/CDN实体j则为1,否则为0;
tij=客户端设备i正在路径j上以表示Rij进行流传输的时间量;∑t(...):会话时间上的聚合业务量;
Vj=分发路径j上的总发送量。
基于来自客户端设备20的报告的视频比特率(和/或业务量)来周期性地确定成本。成本函数f通常是总发送量的非线性函数(例如,分段线性函数或指数函数)。不同的CDN实体可以具有不同的成本函数。
CDN或内容提供商可以基于来自客户端设备20的所报告的延迟信息对不同CDN实体加以聚类,并且因此可以估计每个CDN实体在给定时间段内的延迟性能(即,di→dj,其中i→j)。假定在连续监控路径的情况下频繁执行算法过程,则CDN或内容提供商可以持续更新CDN性能。
因此,CDN选择功能的约束是在受到以e2e分发延迟来表示的服务质量约束的情况下最小化不同分发路径上的总发送成本:
Figure GDA0003018139990000231
Figure GDA0003018139990000232
为了解决上述问题,针对每个客户端设备i,确定满足以下约束的分发路径j:
Figure GDA0003018139990000233
s.t.dlower≤di≤dupper
因此,CDN选择功能针对每个客户端设备i来确定以下分发路径j:在确保e2e分发延迟在一定范围内的同时,该分发路径j最小化发送成本。通过针对每个客户端i,i=1..M来搜索最低成本的分发路径来迭代地执行算法过程。
图10示出了用于为客户端设备20选择分发路径/CDN实体的方法实施例的伪代码表示。该方法可以周期性地(例如,以秒或分钟的量级)来执行。该方法可以用于初始CDN选择以及用于连续监控并在需要时向不同分发路径动态分配客户端设备20。
该方法通过以下方式进行:搜索满足延迟约束的分发路径,并将这些分发路径向最小化分发成本的路径加以分配。注意,一些客户端设备20仍将被分配给备选CDN实体以用于测试目的。
图11给出了算法过程的图形说明。不同的CDN实体在其分发成本和服务性能(此处:e2e分发延迟)的意义下进行聚类。向CDN实体分配客户端设备20的组,这些CDN实体最小化分发成本并确保满足延迟约束。一小组客户端设备20用于测试备选CDN。
5、在受到质量约束的情况下的优化成本的CDN实体选择的算法
与前一节中的算法过程类似,其中,分发延迟用作CDN选择功能中的性能约束,可以针对优化成本的CDN选择来应用其他报告的质量度量(例如设备特定的视频(可视)质量或音频(可听)质量)。
因此,CDN实体选择功能可以在客户端设备20处受到视频质量约束的情况下最小化分发成本。该实施例可以与前一节中描述的延迟相关的实施例相组合。
对服务性能监控功能的影响:
如所述的,所报告的视频质量可以用作性能约束而不是分发延迟。在这种情况下,所报告的延迟(即di)可以被所报告的质量qi替换。客户端设备20要么向性能监控功能直接报告视频质量,要么通过作为客户端设备20的流传输比特率Ri的会话性能度量来间接报告。然后,性能监控功能可以计算对应的视频质量。客户端设备20还可以报告用于呈现的屏幕大小(或者这样的客户端特定信息以另一种方式(例如从中央数据库)获得)。然后,根据比特率和屏幕大小的组合来导出服务性能。
可以使用不同的质量度量来表示客户端设备20处的视频质量,并通过CDN选择功能来定义质量范围。为了确定视频质量,性能监控功能(相应地,客户端设备20)可以使用平均流传输比特率以及来自客户端设备20的其他可能可用的播出参数(例如,设备屏幕大小、重新缓冲事件等中的一个或多个)。因此,可以将客户端设备i的质量(被称为qi)描述为
qi=g(Ri,screen-size),
其中g是不同参数的函数。
在不失一般性的情况下,所报告的质量可以用平均意见得分(MOS)标度(参见ITU-T P.NATS模型)来表示。质量值可以定期地更新,并向优化成本的CDN选择功能提供该质量值。
对业务监控功能的影响:
业务监控功能独立于性能约束(例如,在分发延迟或视频质量方面)工作,并且与由客户端设备20的报告业务量直接相关。
对CDN实体选择功能的影响:
CDN实体选择功能基于从客户端设备20报告的质量信息来聚类不同CDN实体。因此,CDN实体选择功能可以估计每个CDN实体在给定时间段内的质量性能(即,qi→qj,其中,i→j)。
延迟阈值(即,dupper和dlower)可以被与预期质量有关的目标范围(即,qupper和qlower)所替换,并且可以将延迟阈值直接应用于优化成本的CDN选择功能(节4)。这样,成本优化功能(即,costj)可以保持不变。换句话说,可以通过考虑对延迟、视频质量或其他服务性能度量或度量组合的性能约束来应用相同的优化成本的CDN选择功能。
因此,优化成本的CDN选择功能可以表示为:
Figure GDA0003018139990000251
Figure GDA0003018139990000252
因此,CDN选择功能针对每个客户端设备20来确定分发路径,该分发路径最小化发送成本并确保视频质量在预定范围内。可以应用如图11所示的类似过程。
优化算法可以由CDN实体选择功能周期性地执行,或者在视频质量在期望范围之外时应用。当质量高于较高阈值时,则选择功能寻找具有较低资源消耗的备选CDN实体。当质量低于较低阈值时,则CDN选择功能寻找较好CDN实体,这可以提供较好的质量。
6、基于接入类型的算法扩展
如上所述,节4和节5中描述的过程可以特别地考虑每CDN的接入网络。在此情况下,性能监控功能维护针对每个CDN以及接入网络类型(例如,接入连接(诸如Wi-Fi、3G、DSL)或接入提供商(诸如T-Mobile))所报告的性能信息。这允许进一步对每接入类型的CDN性能进行分类,并允许将每个客户端设备20的业务转向到具有适当接入网络性能的适当CDN。
可以维护一个表,该表列出性能测量(例如,平均媒体呈现质量、e2e分发延迟或这二者)和对应的每CDN的接入网络类型。因此,系统创建每CDN和接入网络的路径质量的表。例如,系统确定通过相同的CDN(例如,Akamai或Level3)进入同一接入网络(例如,T-Mobile或Vodafone)和服务的路径的平均质量。例如,“同一接入网络”由客户端设备20的IP地址确定,因为每个自治域通常使用唯一的IP地址块。客户端设备20还应该报告其连接(例如,HSPA、LTE),使得选择功能可以监控接入网络特定性能。例如,当客户端设备处于HSPA覆盖中时,则可能的质量可以比在LTE覆盖中时低。在Wi-Fi的情况下,选择功能应该尝试确定客户端设备20处于固定BB环境(即,在家中)还是经由公共热点连接。针对第一种情况,可用的接入网络容量经常可以比在公共热点中安全。这样,也可以结合CDN实体选择来评估安全信息。
除了基于CDN网络接入类型来维护CDN的不同性能日志之外,还可以取决于接入网络类型来以不同方式设置服务性能约束(即,e2e延迟范围、视频质量范围等)。
因此,上述实施例的一个方面提供了用于经由CDN进行ABR流传输的e2e分发延迟测量技术和CDN选择技术。该技术可以包括在起源服务器10处的API、以及用于针对媒体段的时间戳和指纹对起源服务器10处的API进行查询的功能。该方法允许:估计在客户端设备20处的e2e分发延迟,并向报告服务器50或CDN选择功能报告延迟估计。上述实施例的另一方面的目标在于:最小化分发成本,同时确保服务性能(分发延迟、视觉质量、听觉质量等)在预定目标范围内。自适应HTTP流传输CDN和非自适应HTTP传递方法(该方法在客户端设备处支持或不支持HTTP代理)这二者都在实施例的范围内。
根据前面的描述,本发明的很多优点将被完全理解,并且将显而易见的是:可以对上述步骤、单元和设备的形式、结构和布置进行各种修改,且不脱离本发明的范围或者不牺牲其全部优点。因为可以通过很多方式来改变本发明,将意识到:本发明应该仅由所附权利要求的范围来限定。

Claims (24)

1.一种用于从一组内容分发网络“CDN”实体中选择用于向客户端设备(20)分发内容的CDN实体的选择装置(30),其中,每个CDN实体进行的内容分发与资源消耗相关联,所述选择装置(30)包括:
服务性能报告接收单元(202),被配置为接收针对所述一组CDN实体中的多个CDN实体的服务性能报告;以及
CDN实体选择单元(204),被配置为在根据所述服务性能报告中的一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一阈值时,在受到以下约束的情况下选择用于向客户端设备(20)进行内容分发的第二CDN实体:
(i)所述第二CDN实体的服务性能低于第二阈值,其中,所述第二阈值低于所述第一阈值;
(ii)所述第二CDN实体的服务性能高于第三阈值,其中,所述第三阈值低于所述第一阈值;以及
(iii)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗,
其中,在所述第一CDN实体的服务性能高于所述第一阈值时,所述第一CDN实体的服务性能好于所述客户端设备(20)所要求的服务性能,以及
其中,在所述第二CDN实体的服务性能低于所述第二阈值并高于所述第三阈值时,所述第二CDN实体的服务性能足够用于所述客户端设备(20)。
2.根据权利要求1所述的选择装置(30),还包括触发单元,所述触发单元被配置为:
触发至少一个动作,所述至少一个动作引起所述客户端设备(20)从所选择的第二CDN实体接收内容。
3.根据权利要求2所述的选择装置(30),其中,
所述至少一个动作引起所述客户端设备(20)将内容接收从所述第一CDN实体切换到所述第二CDN实体。
4.根据权利要求2或3所述的选择装置(30),其中,
所述至少一个动作包括:在清单文件中指示所述第二CDN实体,以及触发对所述清单文件的发送,所述清单文件向所述客户端设备(20)指示所述第二CDN实体。
5.根据权利要求2所述的选择装置(30),其中,
从多个客户端设备(20)接收所述服务性能报告。
6.根据权利要求5所述的选择装置(30),其中所述触发单元还被配置为:
触发从所述多个CDN实体到所述多个客户端设备(20)的内容分发,以使得能够从所述多个客户端设备(20)接收针对所述多个CDN实体的服务性能报告。
7.根据权利要求6所述的选择装置(30),其中,
触发从所述多个CDN实体到所述多个客户端设备(20)的内容分发包括触发所述至少一个动作,所述至少一个动作引起所述多个客户端设备(20)中的各个客户端设备(20)从所述多个CDN实体中的各个CDN实体接收内容。
8.根据权利要求7所述的选择装置(30),其中,
所述至少一个动作引起从所述第一CDN实体接收内容的客户端设备(20)的第一数量低于从所述第二CDN实体接收内容的客户端设备(20)的第二数量,其中,所述第一数量至少为一,以使得还能够接收针对所述第一CDN实体的服务性能报告。
9.根据权利要求1所述的选择装置(30),其中,
在满足至少约束(i)的多个CDN实体之中,根据约束(iii)来选择具有最小资源消耗的第二CDN实体。
10.根据权利要求1所述的选择装置(30),其中所述CDN实体选择单元(204)还被配置为:
考虑到以下各项,针对特定客户端设备(20)来导出特定CDN实体的服务性能:
(i)针对所述特定CDN实体所报告的一个或多个服务性能度量;以及
(ii)所述特定客户端设备(20)的技术能力。
11.根据权利要求10所述的选择装置(30),其中,
所述特定客户端设备(20)的技术能力指示所述特定客户端设备(20)的屏幕大小和音频呈现能力中的至少一项。
12.根据权利要求1所述的选择装置(30),其中,
所述一组CDN实体包括以下至少一项:
各个CDN;以及
每个CDN的各个接入网络类型。
13.根据权利要求1所述的选择装置(30),其中,
所述服务性能指示特定CDN实体的内容分发延迟和所述特定CDN实体的媒体质量中的至少一项。
14.根据权利要求1所述的选择装置(30),其中所述服务性能报告接收单元(202)还被配置为:
接收与所述一组CDN实体内的所述多个CDN实体的资源消耗有关的信息。
15.根据权利要求1所述的选择装置(30),其中,
所述资源消耗表示为特定CDN实体的业务负载参数和与所述特定CDN实体相关联的业务量成本指示中的至少一项、或者根据该至少一项导出。
16.根据权利要求1所述的选择装置(30),其中所述服务性能报告接收单元(202)还被配置为:从一组客户端设备(20)接收所述一组CDN实体的业务量报告;以及
聚合所报告的每个CDN实体的业务量。
17.根据权利要求15或16所述的选择装置(30),其中所述CDN实体选择单元(204)还被配置为:
基于针对特定CDN实体所聚合的报告业务量和针对该CDN实体的业务量成本指示,来计算该CDN实体的资源消耗。
18.一种网络节点,包括:
根据前述权利要求中任一项所述的选择装置(30);以及
到多个客户端设备(20)的接口(32),所述接口(32)被配置为:发送针对所述多个客户端设备(20)的内容分发网络“CDN”实体选择指令,以及从所述多个客户端设备(20)接收针对CDN实体的服务性能报告。
19.一种网络系统,包括:
根据权利要求18所述的网络节点;以及
多个客户端设备(20)。
20.一种客户端设备(20),被配置为从第一内容分发网络“CDN”实体切换到第二CDN实体以进行内容接收,所述客户端设备(20)包括:
服务性能监控单元(302),被配置为在从所述第一CDN实体接收内容的同时针对所述第一CDN实体来监控服务性能;
服务性能报告发送单元(304),被配置为发送与针对所述第一CDN实体所监控的服务性能有关的报告;
切换指令接收单元(306),被配置为在以下情况时,接收用于切换到所述第二CDN实体的指令:
(i)所述第一CDN实体的服务性能高于第一阈值;
(ii)所述第二CDN实体的服务性能低于第二阈值,其中,所述第二阈值低于所述第一阈值;以及
(iii)所述第二CDN实体的服务性能高于第三阈值,其中,所述第三阈值低于所述第一阈值;
(iv)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗,
其中,在所述第一CDN实体的服务性能高于所述第一阈值时,所述第一CDN实体的服务性能好于所述客户端设备(20)所要求的服务性能,以及
其中,在所述第二CDN实体的服务性能低于所述第二阈值并高于所述第三阈值时,所述第二CDN实体的服务性能足够用于所述客户端设备(20);以及
切换单元(308),被配置为响应于接收到所述指令,切换到所述第二CDN实体。
21.根据权利要求20所述的客户端设备(20),还包括:
业务监控单元(310),被配置为监控从所述第一CDN实体和所述第二CDN实体中的至少一个接收的内容的业务量;以及
业务报告发送单元(312),被配置为发送与所监控的业务量有关的报告。
22.一种从一组内容分发网络“CDN”实体中选择用于向客户端设备(20)分发内容的CDN实体的方法(502),其中,每个CDN实体进行的内容分发与资源消耗相关联,所述方法(502)包括:
接收(530)针对所述一组CDN实体中的多个CDN实体的服务性能报告;以及
在根据所述服务性能报告中的一个或多个服务性能报告来确定第一CDN实体的服务性能高于第一阈值时,在受到以下约束的情况下选择(550)用于向客户端设备(20)进行内容分发的第二CDN实体:
(i)所述第二CDN实体的服务性能低于第二阈值,其中,所述第二阈值低于所述第一阈值;
(ii)所述第二CDN实体的服务性能高于第三阈值,其中,所述第三阈值低于所述第一阈值;以及
(iii)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗,
其中,在所述第一CDN实体的服务性能高于所述第一阈值时,所述第一CDN实体的服务性能好于所述客户端设备(20)所要求的服务性能,以及
其中,在所述第二CDN实体的服务性能低于所述第二阈值并高于所述第三阈值时,所述第二CDN实体的服务性能足够用于所述客户端设备(20)。
23.一种将客户端设备(20)从第一内容分发网络“CDN”实体切换到第二CDN实体以进行内容接收的方法(500),所述方法(500)由客户端设备(20)执行并且包括:
在从所述第一CDN实体接收内容的同时针对所述第一CDN实体来监控(510)服务性能;
发送(520)与针对所述第一CDN实体所监控的服务性能有关的报告;
在以下情况时,接收(560)用于切换到所述第二CDN实体的指令:
(i)所述第一CDN实体的服务性能高于第一阈值;
(ii)所述第二CDN实体的服务性能低于第二阈值,其中,所述第二阈值低于所述第一阈值;
(iii)所述第二CDN实体的服务性能高于第三阈值,其中,所述第三阈值低于所述第一阈值;以及
(iv)关于所述第二CDN实体的资源消耗低于关于所述第一CDN实体的资源消耗,
其中,在所述第一CDN实体的服务性能高于所述第一阈值时,所述第一CDN实体的服务性能好于所述客户端设备(20)所要求的服务性能,以及
其中,在所述第二CDN实体的服务性能低于所述第二阈值并高于所述第三阈值时,所述第二CDN实体的服务性能足够用于所述客户端设备(20);以及
响应于接收到所述指令,切换(570)到所述第二CDN实体。
24.一种计算机可读记录介质,其上存储有程序代码,所述程序代码被配置为:当在一个或多个计算设备上执行所述程序代码时实现根据权利要求22或23所述的方法。
CN201680088555.3A 2016-08-18 2016-08-18 用于选择内容分发网络实体的方法和装置 Active CN109565501B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/069592 WO2018033205A1 (en) 2016-08-18 2016-08-18 Technique for selecting a content distribution network entity

Publications (2)

Publication Number Publication Date
CN109565501A CN109565501A (zh) 2019-04-02
CN109565501B true CN109565501B (zh) 2022-01-28

Family

ID=56799453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680088555.3A Active CN109565501B (zh) 2016-08-18 2016-08-18 用于选择内容分发网络实体的方法和装置

Country Status (4)

Country Link
US (1) US11044304B2 (zh)
EP (1) EP3501152B1 (zh)
CN (1) CN109565501B (zh)
WO (1) WO2018033205A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451614B1 (en) * 2017-01-22 2020-12-30 Huawei Technologies Co., Ltd. Dispatching method and device in content delivery network
WO2019135773A1 (en) * 2018-01-08 2019-07-11 Hewlett-Packard Development Company, L.P. Brokering servers based on remote access performance
TR201811297A2 (tr) * 2018-08-03 2018-08-27 Medianova Internet Hizmetleri Ve Ticaret Anonim Sirketi CDN Şirketlerinin Kullanıcılara Verdikleri Kaliteyi Geliştirmek Ve Kaynak Kullanımını Optimize Etmek İçin Kullanılan Sistem
CN110971432B (zh) * 2018-09-29 2021-05-18 华为技术有限公司 一种数据传输方法以及相关装置
US20200112753A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Service description for streaming media data
US20220191739A1 (en) * 2019-02-26 2022-06-16 Nec Corporation Communication control apparatus, communication control method, and non-transitory computer-readable medium
US11671653B2 (en) * 2019-03-14 2023-06-06 Comcast Cable Communications, Llc Methods and systems for content delivery
CN110247824B (zh) * 2019-06-21 2021-03-02 网易(杭州)网络有限公司 一种游戏网络的测试方法及装置、电子设备、存储介质
CN110401731B (zh) * 2019-07-25 2024-05-07 北京百度网讯科技有限公司 用于分配内容分发节点的方法和装置
WO2021087639A1 (en) * 2019-11-04 2021-05-14 Microsoft Technology Licensing, Llc Cdn optimization platform
CN111950872A (zh) * 2020-07-30 2020-11-17 深圳市高德信通信股份有限公司 一种cdn资源调度系统
US11570278B1 (en) 2020-09-24 2023-01-31 Amazon Technologies, Inc. Dynamic content delivery network selection using DNS
US11641410B1 (en) * 2020-09-24 2023-05-02 Amazon Technologies, Inc. Distributed metric collection for dynamic content delivery network selection using DNS
US11025710B1 (en) * 2020-10-26 2021-06-01 Verizon Digital Media Services Inc. Systems and methods for dynamic load balancing based on server utilization and content popularity
CN112615791B (zh) * 2020-12-30 2023-05-09 北京达佳互联信息技术有限公司 调度内容分发网络的流量的方法和装置
CN113038190A (zh) * 2021-02-23 2021-06-25 北京达佳互联信息技术有限公司 内容分发网络的调度方法和内容分发网络的调度装置
CN114205296A (zh) * 2021-12-16 2022-03-18 北京有竹居网络技术有限公司 网络接入方法、装置、介质及电子设备
US11956293B1 (en) * 2023-03-29 2024-04-09 Adeia Guides Inc. Selection of CDN and access network on the user device from among multiple access networks and CDNs

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105340244A (zh) * 2013-06-27 2016-02-17 思科技术公司 基于来自暂态准则的上下文的动态内容分发网络选择

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949779B2 (en) * 1998-02-10 2011-05-24 Level 3 Communications, Llc Controlling subscriber information rates in a content delivery network
JP3880760B2 (ja) * 1999-12-28 2007-02-14 富士通株式会社 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US7685603B2 (en) * 2003-09-08 2010-03-23 Sap Ag Selecting client adapters
US7657622B1 (en) * 2003-12-23 2010-02-02 At&T Intellectual Property Ii, L.P. Unified web hosting and content distribution system and method for assuring predetermined performance levels
EP2210188A1 (en) * 2007-11-05 2010-07-28 Limelight Networks, Inc. End to end data transfer
US8117306B1 (en) * 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
CN101860720B (zh) * 2009-04-10 2015-05-20 中兴通讯股份有限公司 内容定位方法及内容分发网络节点
CN102118376B (zh) * 2010-01-06 2016-03-02 中兴通讯股份有限公司 内容分发网络服务器及内容下载方法
US10097398B1 (en) * 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9002978B2 (en) 2011-07-08 2015-04-07 Ming Li Content delivery prediction and feedback systems
WO2013163477A1 (en) 2012-04-25 2013-10-31 Huawei Technologies Co., Ltd. Systems and methods for segment integrity and authenticity for adaptive streaming
JP6064249B2 (ja) * 2012-07-09 2017-01-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装
CN102868935A (zh) * 2012-08-24 2013-01-09 乐视网信息技术(北京)股份有限公司 在内容分发网络中响应多源的调度方法
US9699519B2 (en) * 2012-10-17 2017-07-04 Netflix, Inc. Partitioning streaming media files on multiple content distribution networks
US9426196B2 (en) 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
US10212238B2 (en) * 2013-05-15 2019-02-19 Level 3 Communications, Llc Selecting a content providing server in a content delivery network
US20140372569A1 (en) 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
US20150172354A1 (en) * 2013-12-17 2015-06-18 Limelight Networks, Inc. Content-delivery transfer for cooperative delivery systems
EP2894870A1 (en) * 2014-01-10 2015-07-15 Thomson Licensing Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US9544346B1 (en) * 2014-06-06 2017-01-10 Amazon Technologies, Inc. Systems and methods for selecting a node for media streaming
WO2016081506A1 (en) 2014-11-18 2016-05-26 Ustream, Inc. Software defined content delivery network for flexible, real-time management of large-scale data transfers
US10194210B2 (en) 2015-02-10 2019-01-29 Hulu, LLC Dynamic content delivery network allocation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105340244A (zh) * 2013-06-27 2016-02-17 思科技术公司 基于来自暂态准则的上下文的动态内容分发网络选择

Also Published As

Publication number Publication date
US20190215361A1 (en) 2019-07-11
US11044304B2 (en) 2021-06-22
CN109565501A (zh) 2019-04-02
WO2018033205A1 (en) 2018-02-22
EP3501152A1 (en) 2019-06-26
EP3501152B1 (en) 2019-10-16

Similar Documents

Publication Publication Date Title
CN109565501B (zh) 用于选择内容分发网络实体的方法和装置
Sani et al. Adaptive bitrate selection: A survey
US10320869B2 (en) Network-capacity optimized adaptive HTTP streaming
Ge et al. Toward QoE-assured 4K video-on-demand delivery through mobile edge virtualization with adaptive prefetching
US8452866B2 (en) Network resource management
US8934371B2 (en) Monitoring broadcast and multicast streaming service
Thomas et al. Enhancing MPEG DASH performance via server and network assistance
JP2017022754A (ja) ハイパーテキスト転送プロトコルによる動的適応型ストリーミング(dash)クライアント
Amram et al. QoE-based transport optimization for video delivery over next generation cellular networks
KR20130004567A (ko) 적응형 스트리밍을 위한 다중 경로 전달
EP3563540B1 (en) Method and system for providing variable quality streaming video services in mobile communication networks
KR20150067233A (ko) 하나 이상의 사용자 디바이스에의 콘텐츠의 스트리밍에 관한 장치 및 방법
Sieber et al. The cost of aggressive HTTP adaptive streaming: Quantifying YouTube's redundant traffic
CN110771122A (zh) 使内容传送网络能够处理非预期流量激增的方法和网络节点
Ozfatura et al. Optimal network-assisted multiuser DASH video streaming
Bayhan et al. EdgeDASH: Exploiting network-assisted adaptive video streaming for edge caching
US10944808B2 (en) Server-side reproduction of client-side quality-of-experience
Khan et al. Server-based and network-assisted solutions for adaptive video streaming
US11252788B2 (en) Systems and methods for content selection and delivery based on radio access network (“RAN”) conditions
Schwarzmann et al. Quantitative comparison of application–network interaction: a case study of adaptive video streaming
Pozueco et al. Adaptation engine for a streaming service based on MPEG-DASH
Han et al. Streaming video optimization in mobile communications
Petrangeli et al. Qoe-centric network-assisted delivery of adaptive video streaming services
Seyedebrahimi et al. Client QoE-oriented segment selection for DASH
Batalla Adaptation of cloud resources and media streaming in mobile cloud networks for media delivery

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