CN110115040A - 自适应内容优化 - Google Patents

自适应内容优化 Download PDF

Info

Publication number
CN110115040A
CN110115040A CN201780079528.4A CN201780079528A CN110115040A CN 110115040 A CN110115040 A CN 110115040A CN 201780079528 A CN201780079528 A CN 201780079528A CN 110115040 A CN110115040 A CN 110115040A
Authority
CN
China
Prior art keywords
content
token
token amount
transcoding
amount
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.)
Granted
Application number
CN201780079528.4A
Other languages
English (en)
Other versions
CN110115040B (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.)
Microsoft Technology Licensing LLC
Original Assignee
Affirmed Networks Inc
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 Affirmed Networks Inc filed Critical Affirmed Networks Inc
Publication of CN110115040A publication Critical patent/CN110115040A/zh
Application granted granted Critical
Publication of CN110115040B publication Critical patent/CN110115040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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/215Flow control; Congestion control using token-bucket
    • 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/22Traffic shaping
    • 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/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • 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
    • 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/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于在通信网络中对媒体进行自适应转码使得计算机处理资源被有效地用于处理通信网络中的变化的流量模式的系统和方法。计算设备接收对内容进行转码的请求,并基于与计算设备相关联的CPU核心的数量以及当前使用的令牌量来确定第一令牌量。计算设备确定与对内容进行转码相关联的第二令牌量,并且当第一令牌量小于第二令牌量时,计算设备绕过对内容进行转码或调整转码参数以减少与对内容进行转码相关联的令牌的数量。

Description

自适应内容优化
相关申请的交叉引用
本申请要求于2016年10月21日提交的美国临时申请号62/410,929的优先权,其通过引用并入本文。
技术领域
本发明的实施例一般涉及移动网络中的内容递送。
背景技术
在具有快速变化的流量模式(traffic pattern)的移动网络中,传统的硬件解决方案通常无法有效地处理最坏情况的流量模式。如果最坏情况所需的硬件非常大,则会导致操作者购买大量服务器,其大部分时间都没有被有效使用。如果服务器的数量很少,则当可优化的繁重内容(例如,图像和视频)中存在突然的峰值时,优化解决方案可能会过载(例如,就CPU和存储器而言)。
发明内容
本文描述了用于在通信网络中对媒体进行自适应转码使得计算机处理资源被有效地用于处理通信网络中变化的流量模式的系统和方法。在一些实施例中,计算设备接收对内容进行转码以用于从内容提供商递送到终端用户设备的请求。在一些实施例中,计算设备基于以下来确定第一令牌(token)量:与CPU核心的数量相关联的池化的(pooled)令牌量,CPU核心的数量与计算设备相关联,以及当前使用的令牌量,当前使用的令牌量与计算设备正在处理的其他转码请求的数量相关联。在一些实施例中,计算设备基于内容的大小、内容的类型、内容的分辨率以及内容的帧速率中的至少一个来确定与对内容进行转码相关联的第二令牌量。在一些实施例中,当第一令牌量小于第二令牌量时,计算设备绕过(bypass)对内容进行转码,或调整转码参数以减少与对内容进行转码相关联的令牌的数量,其中减少的令牌数量小于第一令牌量。
在一些实施例中,计算设备基于以下中的至少一个来调整池化的令牌量:与计算设备相关联的CPU使用率的水平以及可用信道带宽的量。在一些实施例中,当前使用的令牌量的范围从零个令牌到池化的令牌量。在一些实施例中,确定第一令牌量还包括从池化的令牌量中减去当前使用的令牌量。在一些实施例中,当第一令牌量大于或等于第二令牌量时,计算设备对所请求的内容进行转码。在一些实施例中,内容的类型包括图像、音频、文本和视频中的至少一个。在一些实施例中,计算设备基于被提供以对内容进行转码的虚拟机的数量来确定CPU核心的数量。在一些实施例中,调整转码参数包括减少应用于内容的转码量。
在阅读了以下附图,详细描述和权利要求之后,将更全面地理解所公开的主题的这些和其他能力。应该理解的是,本文使采用的措辞和术语是为了描述的目的,而不应该被认为是限制性的。
附图说明
当结合以下附图考虑时,参考所公开主题的以下详细描述,可以更全面地理解所公开主题的各种目标、特征和优点,其中相似的附图标记识别相似的元件。
图1是示出根据本公开的一些实施例的网络化系统100的系统图。
图2是示出根据本公开的一些实施例的经由集群(cluster)正被递送的内容的系统图。
图3是示出根据本公开的一些实施例的内容令牌的图。
图4是示出根据本公开的一些实施例的用于调整令牌池(token pool)的过程的流程图。
图5是示出根据本公开的一些实施例的自适应内容优化技术的流程图。
具体实施方式
本文描述了提供用于内容优化的虚拟化环境的系统和方法,其中跨虚拟机(VM)的令牌的数量可以缩小和放大。可以基于可用资源来确定用于转码作业的优化参数。在一些实施例中,本文描述的自适应优化技术在HTTP代理中实现。本文描述的关于优化的动态决策允许有效使用资源和最佳带宽节省。
图1是示出根据本公开的一些实施例的网络化系统100的系统图。系统100包括:用户设备(UE)102、演进节点B(eNodeB)104、移动性管理实体(MME)106、服务网关(SGW)模块108、策略和计费规则功能(PCRF)110、分组数据网络网关(PGW)112、公共数据(Gi)网络116、策略和计费执行功能(PCEF)122、多媒体服务器130、HTTP代理140、优化器142以及虚拟化模块150。
UE 102通过eNodeB 104连接到网络化系统100。UE 102包括被配置为连接到移动数据网络(例如,移动电话、平板电脑、膝上型电脑)的计算设备。eNodeB104是小区站点的无线电部分。单个eNodeB 104可以包含几个无线电发射机、接收机、控制部分和电源。eNodeB104可以被回程到MME 106和SGW 108。回程是将分组或通信信号在相当长的距离内传输至单独的位置以用于进行处理的过程。SGW 108路由并转发用户数据分组,同时还在eNodeB间移交期间充当用户平面的移动锚。MME 106是网络化系统100中的控制节点。MME 106处理LTE相关的控制平面信令,其还包括针对附接到LTE无线电网络的UE 102的移动和安全功能。MME 106还处理处于空闲模式的UE,包括对跟踪区域管理和寻呼过程的支持。
当UE 102附接到网络时,在网络元件之间交换多个控制消息以便创建数据会话(例如,4G会话)并向UE 102提供数据连接性。如上所解释的,eNodeB 104可以回程到MME106和SGW 108。SWW 108将用户分组路由并转发到PGW112。PGW 112可以充当策略执行点(PEP)。PGW 112与PCRF 110通信,其可以下载专用于订户的策略信息。PCRF充当策略决策点(PDP)。
PGW 112包括PCEF 122。PCEF 122执行从PCRF 110接收到的策略决策,并提供策略执行以及计费功能。
PGW 112还通过Gi网络116向UE 102提供到外部分组数据网络的连接。如下面更详细描述的,UE可以从多媒体服务器130请求和接收视频。
位于PGW 112和网络116之间的可以包括HTTP代理140。HTTP代理140将来自客户端的HTTP请求路由到网络116。HTTP代理140可以包括优化器142。优化器142通过基于多媒体的特性(诸如,大小、类型和速率)将带宽分配给多媒体来优化多媒体(例如,视频、图像、音频、文本)。
虚拟化模块150是指PGW 112、PCEF 122、HTTP代理140以及优化器142的虚拟化表示。PGW 112、PCEF 122、HTTP代理140以及优化器142的功能可以在虚拟机上或云中实现。在一些实施例中,虚拟化模块150可以包括PGW 112、PCEF 122、HTTP代理140以及优化器142的子集。如下面更详细描述的,虚拟化模块150可以用于将PGW 112、PCEF 122、HTTP代理140以及优化器142部署为虚拟机(VM)集群。
图2是示出根据本公开的一些实施例的经由集群正被递送的内容的系统图。图2示出了UE 102、多媒体服务器130、集群202、虚拟机(VM)204、核心206以及内容210。
集群202是指虚拟机(VM)的集合。集群202通常与一个部署相关联。部署是指托管(hosting)集群的计算机和处理器的物理设置。部署通常与特定网络相关联,并且可以与地理区域有关。在一些实施例中,集群202服务于特定地理区域。虽然描述了硬件架构的特定示例,但是本文描述的技术独立于任何特定硬件架构。
在一些实施例中,虚拟机204还可以包括容器。容器是用于在单个主机(例如,Docker或Linux容器)上运行多个隔离系统的虚拟化方法。
如上所述,集群202可以包含多个虚拟机204。每个虚拟机通常与一个服务器相关联。虚拟机可以跨服务器上的多个处理器,或者多个虚拟机可以与单个处理器相关联。在一些实施例中,虚拟机和处理器之间的对应是一对一的。虚拟机204将关于图1描述的PGW112、PCEF 122、HTTP代理140和优化器142虚拟化。PGW 112、PCEF 122、HTTP代理140和优化器142中的每一个可以在单独的虚拟机上运行,或者模块的组合可以在单个虚拟机上运行。例如,HTTP代理140和优化器142可以在一个虚拟机上运行。集群可以包含PGW 112、PCEF122、HTTP代理140和优化器142中的每一个的多个实例。如下面更详细地解释的,虚拟机204还可以包括管理其他VM的管理引擎。
每个虚拟机204还利用多个处理器核心206。通常,中央处理器单元(CPU)包含多个处理器核心。虚拟机基于与虚拟机相关联的一个或多个CPU的部分而与多个处理器核心相关联。例如,如果虚拟机映射到单个CPU,并且CPU包含8个核心,则虚拟机将利用8个核心。
内容210可以是图像(例如,jpg、gif、png)、视频(例如,mp4、flv、webm)、音频(例如,mpeg、wav、mp3、aac)或文本(例如,html、javascript、css)。内容可以与大小、分辨率或质量相关联。如下面更详细描述的,内容的大小、分辨率或质量可以与令牌数量相关联。
在一些实施例中,VM 204中的一个是管理引擎,如下面更详细描述的。
图3是示出根据本公开的一些实施例的内容令牌池的图。图3示出了HTTP代理140、内容210、内容令牌池302、虚拟机核心(vCore)310和可用令牌的百分比314。
在一些实施例中,HTTP代理140包括内容令牌池302。内容令牌302可以用于表示可用于处理多媒体内容210的虚拟机资源的量。虚拟机资源的量与虚拟机310使用的CPU资源或CPU核心的数量有关。例如,假设的是每个核心被分配10个令牌,并且运行HTTP代理140的虚拟机被映射到8个核心,则分配给HTTP代理140的令牌的数量将是80个令牌。
在一些实施例中,分配给HTTP代理140的内容令牌的数量还可以取决于被认为是正常且对于稳态操作可接受的CPU使用率(usage)的百分比。例如,70%CPU使用率的水平可以被视为正常量,80%CPU使用率的水平被视为中等量,90%CPU使用率的水平被视为较多量,并且100%CPU使用率的水平被视为临界量。在一些实施例中,正常量的CPU使用率与CPU使用率或负载的量相关联,其可以处理较高CPU使用率的偶然峰值或尖峰并且不会使系统过载。中等CPU使用率与CPU使用率的量相关联,其要求密切监视CPU的操作和性能以确保正常的CPU操作。较多CPU使用率可能导致对系统操作和性能的短暂影响。临界CPU使用率是指影响系统的操作和性能的CPU使用率。
在系统启动时,每个VM在空闲状态下开始,其中存在少量的CPU使用率,例如10%。当每个VM开始进行“工作”(其可以是包括新内容的任何类型的处理)时,该工作需要CPU周期。通过定期监视,评估CPU使用率并采取动作(例如,递减或递增令牌池的大小)。随着活动(或工作)的突发,CPU使用率的量可以上升到例如85%。在突发期间,令牌池的大小减小。一旦突发条件结束,CPU使用率可能回到例如70%(这可以对应于上述正常条件)并且令牌池的大小可以被增加。通过减少池中令牌的数量,如上面在突发条件示例中所述,“工作负载”容量被有效地“调整”,这将CPU负载带回到可接受的水平。
如上所述,CPU使用率阈值可以被转换为HTTP代理140可用的令牌的百分比314。例如,采用先前示例,假设基于与8个核心相关联的HTTP代理140而将80个令牌分配给HTTP代理140,分配给HTTP代理140的令牌的数量可以减少到较多CPU负载的60%或48个令牌,以及中等CPU负载的70%或56个令牌。通常,较高百分比的令牌与中等CPU负载相关联,而不是与较多CPU负载相关联,并且较高百分比的令牌与较多CPU负载相关联,而不是与临界CPU负载相关联。
如上所述,多媒体内容210可以与一个或多个参数相关联,诸如多媒体大小、分辨率或质量。内容的大小、分辨率或质量中的每一个可以与令牌数量相关联。例如,视频剪辑可以被分配比图像文件或音频文件更多的令牌。更大的视频可以比更小的视频被分配更多的令牌,并且更高分辨率的视频可以比更低分辨率的视频被分配更多的令牌。
在一些实施例中,HTTP代理140可以处理特定数量和类型的内容210,因为HTTP代理140在其令牌池中具有可用数量的令牌。例如,假设考虑了核心的数量和CPU使用率的量,HTTP代理140具有可用的60个令牌,并且高质量视频与25个令牌相关联。在一些实施例中,通过在管理VM上运行的管理过程/组件将令牌分配给每个过程。如果仅接收对高质量视频的请求,则HTTP代理140仅可以处理两个视频(即,25+25个令牌=50个令牌值的视频)。如本文提到的处理还可以指多媒体优化(例如,压缩、转换、转码、使用自适应比特率技术)。在一些实施例中,优化由优化器142执行。虽然转码可以是优化的一种形式,但是转码和优化在本文中可互换使用。如本文所使用的转码还可以指压缩、转换和其他比特率降低技术。
如图3所示的HTTP代理140可以是集群中的许多HTTP代理之一。在一些实施例中,管理引擎(图3中未示出)监视HTTP代理的所有实例。管理引擎可以是管理集群中所有VM并且也可以管理HTTP代理的虚拟机。假设的是集群中的所有HTTP代理都处于饱和(atcapacity)(即,在给定内容类型的情况下,集群中的每个HTTP代理都使用了最大量的令牌),管理引擎可以:1)将CPU使用率信息或CPU过载信息(例如,正常的、中等的、较多的、临界的)发送到一个或多个HTTP代理,并且作为响应,HTTP代理可以为内容提供较少的优化(例如,提供较少的压缩),其使用较少的令牌;2)将CPU使用率信息或CPU过载信息(例如,正常的、中等的、较多的、临界的)发送到一个或多个HTTP代理,并且作为响应,一个或多个HTTP代理跳过优化。在一些实施例中,负载平衡引擎(如果PCEF也被虚拟化的话,其可以在虚拟机上,例如在PCEF VM上)调度后续操作,使得选择最少负载的虚拟机来处理后续操作。
图4是示出根据本公开的一些实施例的用于调整令牌池大小的过程的流程图。
参考步骤402,接收请求以提供用于优化电信网络中的多媒体内容的虚拟机。如上所述,该请求可以与为虚拟化模块150中的每个元件提供虚拟机相关联,如上面关于图1所述。该请求可以源自网络运营商(例如,AT&T、Verizon、T-Mobile)。
参考步骤404,确定针对每个虚拟机的核心计数。如上所述,虚拟机通常被分配给一个或多个CPU,每个CPU还可以与CPU核心的数量相关联。在一些实施例中,基于VM的类型(例如,代理VM、PCEF VM、管理VM),每个VM被分配了特定数量的核心。
参考步骤406,基于分配给虚拟机的核心的数量来确定针对每个虚拟机的初始令牌数量。如上所述,假设运行HTTP代理140的虚拟机与8个核心相关联,并且每个核心被分配10个令牌,则与运行HTTP代理140的虚拟机相关联的令牌的数量是80个令牌。
参考步骤408,CPU使用率被监视以确定CPU使用率水平。如上所述,CPU使用率水平可以是正常的、中等的、较多的或临界的。在一些实施例中,CPU使用率受到过程必须在VM中进行的工作量的影响。通常,处理越多,利用的CPU周期越多。因此,更多的优化工作(例如,转码、图像优化)花费更多的CPU周期,并且增加了总CPU百分比。
参考步骤410,令牌池可以基于CPU使用率监视来连续调整。如上所述,可以将监视到的CPU使用率水平转换为令牌池大小的调整。在一些实施例中,令牌池还可以基于可用信道带宽的量来调整。信道带宽可以在不同时间变化。在一些实施例中,令牌池可以表示可用信道带宽的量,使得每个转码的视频或图像消耗更少的令牌,并且每个被绕过的视频或图像消耗更大量的令牌,以及可用的信道带宽量和令牌池的大小可以随时间变化。使令牌与可用信道带宽相关的优点在于当信道带宽受限时可能发生更多的转码。
图5是示出根据本公开的一些实施例的自适应内容优化技术的流程图。
参考步骤502,内容被接收以用于从内容提供商递送到终端用户设备。在一些实施例中,内容包括图像、音频、视频以及html/javascript/css。每种内容类型可以与用于优化(例如,压缩、转码)内容的技术相关联。优化技术可以包括html/javascript/css缩小、音频和视频转码以及图像转码。
参考步骤504,确定运行与优化内容相关联的优化器的负载最少的VM。在一些实施例中,负载最少的VM是具有最多可用CPU资源的VM。
参考步骤506,确定处理内容所需的令牌的数量。如上所述,分配给内容的令牌的数量可以取决于各种内容参数,诸如内容大小、内容质量和内容类型。通常,更大的内容比更小的内容被分配更多的令牌,更高的内容质量比更低的内容质量被分配更多的令牌,并且视频比音频或图像被分配更多的令牌。
参考步骤508,确定可用令牌的数量。用于确定可用令牌的数量的过程在上面关于图4进行了描述。在一些实施例中,可用的初始令牌的数量可以与当还没有处理请求时分配给所提供的虚拟机的令牌的数量相关联。在一些实施例中,可用令牌的数量可以与分配给所提供的虚拟机的令牌的数量减去由其他过程或请求正在使用的令牌的数量相关联。例如,如果将100个令牌分配给所提供的虚拟机,则可用的令牌数(假设没有正在运行的过程)是100个令牌。如果正在运行的一个或多个请求需要60个令牌,则可用令牌的数量为40个令牌。如在图4中更详细地解释的,初始令牌的数量也可以基于CPU使用率而改变。
参考步骤510,基于所需令牌的数量和可用令牌的数量采取动作:绕过、调整编码参数、或调度转码。如果有足够的令牌可用,则正常处理内容。正常处理是指应用通常与内容相关联的最大量的压缩或转码(例如,基于内容的类型、大小和分辨率)。当没有足够的令牌可用时,动作可以包括绕过或调整处理参数。绕过和调整处理参数是与减少处理内容所需的CPU资源量有关的动作。绕过是指跳过对内容的处理。调整处理参数可以包括减少所应用的压缩量或转码量。在一些实施例中,调整参数使得处理内容所需令牌的数量小于可用令牌的数量。
如上所述,可以基于内容的大小(例如,与内容相关联的字节数)、内容的类型(例如,图像、视频)和分辨率(例如,视频分辨率)来为内容分配令牌。下面的表1示出了可以基于内容类型、子类型、大小和/或分辨率来分配令牌的数量的示例。
(表1)如表1中所示,可以基于图像的分辨率为图像分配固定数量的令牌。例如,更大的内容比更小的内容被分配更多的令牌(例如,分别针对大/中/小jpeg分配5/3/1个令牌)。对于视频,基于所需像素处理速率(其结合了分辨率和帧速率)来分配令牌的数量。例如,更高的内容质量比更低的内容质量被分配更多的令牌(例如,分别针对UHD(2160p)/HD(1080p)/HD(720p)mp4分配100/50/25个令牌),并且视频比音频或图像被分配更多的令牌(例如,视频被分配了图像的至少4-5倍数量的令牌)。
同样如上所述,关于可用令牌的初始数量以及处理给定内容类型、给定大小和分辨率中的每个需要多少令牌进行确定。下面的表2给出了最初分配给令牌池的令牌数量如何可以根据将被指定为正常的CPU使用率的目标水平以及可以利用可用令牌的数量来处理的mp4视频和大jpeg的数量而变化。
(表2)例如,在60%的CPU使用率目标下,108个令牌是可用的。HD(1080p)下的mp4视频获得50个令牌,如表1中所示。因而,只有两个HD(1080p)下的mp4视频可以在60%的CPU使用率目标下进行处理。相比之下,大jpeg只需要5个令牌。因而,21个jpeg可以在60%的CPU使用率目标下进行处理。
本公开的一些实施例涉及在移动网络中使用虚拟化网络元件来自适应地转码媒体使得计算机处理资源被有效地用于处理移动网络中的变化的流量模式的系统和计算机化方法。在一些实施例中,系统和计算机化方法包括:由计算设备接收对委托虚拟机以使移动网络中的移动转码操作虚拟化的请求;基于以下由计算设备向每个虚拟机分配多个计算核心:虚拟机可用的中央处理单元(CPU)资源的量,以及与每个虚拟机相关联的功能;基于以下由计算设备确定与每个虚拟机相关联的第一令牌量:分配给每个虚拟机的CPU资源,以及与每个CPU资源相关联的CPU使用率的水平;由计算设备接收对将内容进行转码以用于从内容提供商递送到终端用户设备的请求;由计算设备确定与对内容进行转码相关联的第二令牌量;并且当第二令牌量超过第一令牌量时:由计算设备向虚拟机发送指令以:绕过对内容进行转码,或者调整转码参数以减少应用于内容的转码量。
本文描述的主题(包括在此说明书中公开的结构手段及其结构等同物)可以以数字电子电路或者计算机软件、固件或硬件或者以它们的组合来实施。本文描述的主题可以被实施为一个或多个计算机程序产品,诸如有形地体现在信息载体中(例如,在机器可读存储设备中)或体现在传播信号中的用于由数据处理装置(例如,可编程处理器、计算机或者多个计算机)执行或用于控制其的操作的一个或多个计算机程序。计算机程序(也称为程序、软件、软件应用或代码)可以以任何形式的编程语言(包括编译或解释语言)来编写,并且其可以以任何形式(包括作为独立的程序或作为模块、部件、子例程或者适合在计算环境中使用的其他单元)进行部署。计算机程序不一定对应于文件。程序可以被存储在保存其他程序或数据的文件的一部分中、在专用于所探讨的程序的单个文件中、或者在多个协调的文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署为在一个站点处的一台计算机上或多台计算机上被执行或者跨多个站点分布并通过通信网络互连。
此说明书中的描述的过程和逻辑流(包括本文描述的主题的方法步骤)可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行本文描述的主题的功能。该过程和逻辑流也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))来执行,并且本文描述的主题的装置可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器两者以及任何类型的数字计算机中的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。一般地,计算机还将包括或者被可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传递数据或者两者。适合于体现计算机程序指令和数据的信息载体包括非易失性存储器的所有形式,作为示例包括半导体存储器件(例如,EPROM、EEPROM和闪存器件);磁盘(例如,内部硬盘或可移动盘);磁光盘;以及光盘(例如,CD和DVD盘)。处理器和存储器可以由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本文描述的主题可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向该计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)的计算机上实施。其他类型的设备也可以被用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈),并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
本文描述的主题可以以计算系统来实施,所述计算系统包括后端部件(例如,数据服务器)、中间件部件(例如,应用服务器)或前端部件(例如,具有通过其用户可以与本文描述的主题的实施方式交互的图形用户界面或网页浏览器的客户端计算机)或者此类后端、中间件和前端部件的任意组合。系统的部件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
应该理解的是,所公开的主题在其应用方面并不限于在下面描述中阐述的或者在附图中示出的构造的细节和部件的布置。所公开的主题能够具有其他实施例并且能够以各种方式实践和执行。而且,应该理解的是,本文采用的措辞和术语是出于描述的目的,而不应该被认为是限制性的。
如此,本领域的技术人员应理解的是,此公开所基于的概念可以容易地被利用作为用于实现本公开主题的若干目的的其他结构、方法和系统的设计的基础。因此,重要的是,权利要求被认为包括此类等同构造,只要它们不脱离本公开主题的精神和范围。
尽管已经在前述示例性实施例中描述和示出了所公开的主题,但应该理解的是,仅通过示例的方式做出本公开,并且在不脱离所公开主题的精神和范围(其仅由以下权利要求限制)的情况下,可以在所公开主题的实施方式的细节上做出多种变化。

Claims (24)

1.一种在通信网络中对媒体进行自适应转码使得计算机处理资源被有效地用于处理所述通信网络中的变化的流量模式的计算机化方法,所述方法包括:
由计算设备接收对内容进行转码以用于从内容提供商递送到终端用户设备的请求;
由所述计算设备基于以下来确定第一令牌量:
与CPU核心的数量相关联的池化的令牌量,所述CPU核心的数量与所述计算设备相关联,和
当前使用的令牌量,所述当前使用的令牌量与所述计算设备正在处理的其他转码请求的数量相关联;
由所述计算设备基于所述内容的大小、所述内容的类型、所述内容的分辨率和所述内容的帧速率中的至少一个来确定与对所述内容进行转码相关联的第二令牌量;
当所述第一令牌量小于所述第二令牌量时:
绕过对所述内容进行转码,或
调整转码参数以减少与对所述内容进行转码相关联的令牌的数量,其中减少的令牌数量小于所述第一令牌量。
2.如权利要求1所述的计算机化方法,还包括由所述计算设备基于以下中的至少一个来调整所述池化的令牌量:
与所述计算设备相关联的CPU使用率的水平;和
可用信道带宽的量。
3.如权利要求1所述的计算机化方法,其中,所述当前使用的令牌量的范围为从零个令牌到所述池化的令牌量。
4.如权利要求1所述的计算机化方法,其中,确定所述第一令牌量还包括从所述池化的令牌量中减去所述当前使用的令牌量。
5.如权利要求1所述的计算机化方法,还包括当所述第一令牌量大于或等于所述第二令牌量时,对所请求的内容进行转码。
6.如权利要求1所述的计算机化方法,其中,所述内容的类型包括图像、音频、文本和视频中的至少一个。
7.如权利要求1所述的计算机化方法,还包括由所述计算设备基于被提供以对所述内容进行转码的虚拟机的数量来确定所述CPU核心的数量。
8.如权利要求1所述的计算机化方法,其中,调整所述转码参数包括减少应用于所述内容的转码量。
9.一种在通信网络中对媒体进行自适应转码使得计算机处理资源被有效地用于处理所述通信网络中的变化的流量模式的计算系统,所述计算系统包括:
处理器;
存储器,所述存储器被耦合到所述处理器并且包括指令,该指令当被所述处理器执行时致使所述处理器执行以下操作:
接收对内容进行转码以用于从内容提供商递送到终端用户设备的请求;
基于以下来确定第一令牌量:
与CPU核心的数量相关联的池化的令牌量,所述CPU核心的数量与所述计算设备相关联,和
当前使用的令牌量,所述当前使用的令牌量与所述计算设备正在处理的其他转码请求的数量相关联;
基于所述内容的大小、所述内容的类型、所述内容的分辨率和所述内容的帧速率中的至少一个来确定与对所述内容进行转码相关联的第二令牌量;
当所述第一令牌量小于所述第二令牌量时:
绕过对所述内容进行转码,或
调整转码参数以减少与对所述内容进行转码相关联的令牌的数量,其中减少的令牌数量小于所述第一令牌量。
10.如权利要求9所述的计算系统,其中,所述处理器还被致使为基于以下中的至少一个来调整所述池化的令牌量:
与所述计算设备相关联的CPU使用率的水平;和
可用信道带宽的量。
11.如权利要求9所述的计算系统,其中,所述当前使用的令牌量的范围从零个令牌到所述池化的令牌量。
12.如权利要求9所述的计算系统,其中,为了确定所述第一令牌量,所述处理器还被致使为从所述池化的令牌量中减去所述当前使用的令牌量。
13.如权利要求9所述的计算系统,其中,所述处理器还被致使为:当所述第一令牌量大于或等于所述第二令牌量时,对所请求的内容进行转码。
14.如权利要求9所述的计算系统,其中,所述内容的类型包括图像、音频、文本和视频中的至少一个。
15.如权利要求9所述的计算系统,其中,所述处理器还被致使为:基于被提供以对所述内容进行转码的虚拟机的数量来确定所述CPU核心的数量。
16.如权利要求9所述的计算系统,其中,为了调整所述转码参数,所述处理器还被致使为确定被应用于所述内容的转码量。
17.一种具有可执行指令的非暂时性计算机可读介质,所述可执行指令可操作以致使装置执行以下操作:
接收对内容进行转码以用于从内容提供商递送到终端用户设备的请求;
基于以下来确定第一令牌量:
与CPU核心的数量相关联的池化的令牌量,所述CPU核心的数量与所述计算设备相关联,和
当前使用的令牌量,所述当前使用的令牌量与所述计算设备正在处理的其他转码请求的数量相关联;
基于所述内容的大小、所述内容的类型、所述内容的分辨率和所述内容的帧速率中的至少一个来确定与对所述内容进行转码相关联的第二令牌量;
当所述第一令牌量小于所述第二令牌量时:
绕过对所述内容进行转码,或
调整转码参数以减少与对所述内容进行转码相关联的令牌的数量,其中减少的令牌数量小于所述第一令牌量。
18.如权利要求17所述的非暂时性计算机可读介质,其中,所述装置还被致使为基于以下中的至少一个来调整所述池化的令牌量:
与所述计算设备相关联的CPU使用率的水平;和
可用信道带宽的量。
19.如权利要求17所述的非暂时性计算机可读介质,其中,所述当前使用的令牌量的范围从零个令牌到所述池化的令牌量。
20.如权利要求17所述的非暂时性计算机可读介质,其中,为了确定所述第一令牌量,所述装置还被致使为从所述池化的令牌量中减去所述当前使用的令牌量。
21.如权利要求17所述的非暂时性计算机可读介质,其中,为了确定所述第一令牌量,所述装置还被致使为从所述池化的令牌量中减去所述当前使用的令牌量。
22.如权利要求17所述的非暂时性计算机可读介质,其中,所述装置还被致使为:当所述第一令牌量大于或等于所述第二令牌量时,对所请求的内容进行转码。
23.如权利要求17所述的非暂时性计算机可读介质,其中,所述内容的类型包括图像、音频、文本和视频中的至少一个。
24.如权利要求17所述的非暂时性计算机可读介质,其中,所述装置还被致使为:基于被提供以对所述内容进行转码的虚拟机的数量来确定所述CPU核心的数量。
CN201780079528.4A 2016-10-21 2017-10-20 自适应内容优化 Active CN110115040B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662410929P 2016-10-21 2016-10-21
US62/410,929 2016-10-21
PCT/US2017/057622 WO2018075909A1 (en) 2016-10-21 2017-10-20 Adaptive content optimization

Publications (2)

Publication Number Publication Date
CN110115040A true CN110115040A (zh) 2019-08-09
CN110115040B CN110115040B (zh) 2020-08-21

Family

ID=61970556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780079528.4A Active CN110115040B (zh) 2016-10-21 2017-10-20 自适应内容优化

Country Status (6)

Country Link
US (1) US10129355B2 (zh)
EP (1) EP3529990B1 (zh)
JP (1) JP6626602B2 (zh)
KR (1) KR102059781B1 (zh)
CN (1) CN110115040B (zh)
WO (1) WO2018075909A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761875B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Large scale compute instance launching

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254672A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Dynamic server-side media transcoding
US20100017516A1 (en) * 2008-07-16 2010-01-21 General Instrument Corporation Demand-driven optimization and balancing of transcoding resources
US20100115575A1 (en) * 2008-11-03 2010-05-06 At&T Intellectual Property I, L.P. System and method for recording and distributing media content
CN105264847A (zh) * 2013-04-04 2016-01-20 爱立信电视公司 用于为内容传递网络中的推和拉内容请求分配带宽的方法、设备和计算机程序产品
CN105474173A (zh) * 2013-10-01 2016-04-06 英特尔公司 用于减少功率消耗的并行的网络应用调度

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US20090055534A1 (en) * 2007-08-22 2009-02-26 Sony Corporation Tiered network structure for large ce device populations
WO2009114111A2 (en) 2008-03-12 2009-09-17 Packetvideo Corp. System and method for reformatting digital broadcast multimedia for a mobile device
JP5275673B2 (ja) * 2008-04-23 2013-08-28 トヨタ自動車株式会社 マルチコアシステム、車両用ゲートウェイ装置
US9071526B2 (en) * 2009-06-22 2015-06-30 Citrix Systems, Inc. Systems and methods for platform rate limiting
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US9432704B2 (en) 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US9081504B2 (en) * 2011-12-29 2015-07-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Write bandwidth management for flash devices
JP2014096675A (ja) * 2012-11-08 2014-05-22 Hitachi Ltd 通信装置、及び、設定方法
US9251115B2 (en) * 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US9262419B2 (en) 2013-04-05 2016-02-16 Microsoft Technology Licensing, Llc Syntax-aware manipulation of media files in a container format
US20160274951A1 (en) * 2013-11-26 2016-09-22 Nec Corporation Virtual middle box management system, virtual middle box management method, and virtual middle box management program
CN113259731B (zh) 2015-01-06 2023-07-04 帝威视有限公司 用于编码内容和在设备之间共享内容的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254672A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Dynamic server-side media transcoding
US20100017516A1 (en) * 2008-07-16 2010-01-21 General Instrument Corporation Demand-driven optimization and balancing of transcoding resources
US20100115575A1 (en) * 2008-11-03 2010-05-06 At&T Intellectual Property I, L.P. System and method for recording and distributing media content
CN105264847A (zh) * 2013-04-04 2016-01-20 爱立信电视公司 用于为内容传递网络中的推和拉内容请求分配带宽的方法、设备和计算机程序产品
CN105474173A (zh) * 2013-10-01 2016-04-06 英特尔公司 用于减少功率消耗的并行的网络应用调度

Also Published As

Publication number Publication date
EP3529990A4 (en) 2020-05-06
US20180115626A1 (en) 2018-04-26
JP6626602B2 (ja) 2019-12-25
EP3529990A1 (en) 2019-08-28
US10129355B2 (en) 2018-11-13
KR102059781B1 (ko) 2019-12-26
EP3529990B1 (en) 2021-08-04
WO2018075909A1 (en) 2018-04-26
KR20190057422A (ko) 2019-05-28
CN110115040B (zh) 2020-08-21
JP2019536324A (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
CN104850450B (zh) 一种面向混合云应用的负载均衡方法及系统
EP3011710B1 (en) Controlling bandwidth across multiple users for interactive services
US8964544B2 (en) Quality of service adjustments to improve network utilization
US8285250B2 (en) Mobile device-based bandwidth throttling
Dutta et al. QoE-aware elasticity support in cloud-native 5G systems
US10728358B2 (en) Method to compute the tradeoff between user experience from prefetching versus the bandwidth constraints/cost at the cloud service
WO2018016043A1 (ja) リソース管理装置、リソース管理方法及びプログラム
CN103957237A (zh) 一种弹性云的体系结构
CN104025553B (zh) 移动云加速器中的优化引擎及相关方法
CN102427475A (zh) 一种云计算环境中负载均衡调度的系统
CN103369601A (zh) 为手机客户端提供大并发处理及流量控制的方法
CN102148846B (zh) 实现接入网关业务接入的方法、设备及系统
Lai et al. A QoS-aware streaming service over fog computing infrastructures
Ashraf Cost-efficient virtual machine provisioning for multi-tier web applications and video transcoding
US9998377B2 (en) Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced ethernet networks
CN102217247A (zh) 实现多Web应用请求调度的方法、装置及系统
US11818056B2 (en) Dynamic computing resource management
CN113328906B (zh) 一种流量实时监控方法、装置、存储介质及电子设备
CN110115040A (zh) 自适应内容优化
Ran et al. Dynamic resource allocation for video transcoding with QoS guaranteeing in cloud-based DASH system
US20160302022A1 (en) Service provisioning and activation in telecommunications network
US9654650B1 (en) Data quotas based on online charging server load
US20140047127A1 (en) Coordinated enforcement of traffic shaping limits in a network system
Cho et al. SA-based multimedia conversion system for multi-users environment
KR20160063182A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011948

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200908

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Massachusetts, USA

Patentee before: AFFIRMED NETWORKS, Inc.