CN108475207B - 云应用的联合自动缩放 - Google Patents
云应用的联合自动缩放 Download PDFInfo
- Publication number
- CN108475207B CN108475207B CN201780007243.XA CN201780007243A CN108475207B CN 108475207 B CN108475207 B CN 108475207B CN 201780007243 A CN201780007243 A CN 201780007243A CN 108475207 B CN108475207 B CN 108475207B
- Authority
- CN
- China
- Prior art keywords
- nodes
- capacity
- links
- application
- scaling
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Complex Calculations (AREA)
Abstract
一种方法,包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点。
Description
相关申请案交叉申请
本申请要求于2016年1月26号递交的发明名称为“云应用的联合自动缩放”的第15/006,707 号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明涉及用于应用的基于云的资源的自动缩放,尤其涉及用于应用的基于云的节点和链路资源的联合自动缩放。
背景技术
许多应用基于用户通过网络接入的资源而运行。这些资源及其间的连接可以由云提供。云分配包含资源的节点以运行该应用,并且可以基于该应用的使用量,或称为工作负载,来放大或缩小这些节点。如果工作负载增加,则可能会分配更多资源来运行该应用。由于更多的用户使用该应用,现有用户的使用增加,或者两者兼而有之,工作负载可能会增加。同样地,工作负载可能会减少,从而可能会将较少的资源分配或配置给该应用。
当前的自动缩放服务和方法只单独缩放节点。在基于云的系统中,为应用提供资源的节点诸如虚拟机(Virtual Machine,VM for short)等之间的连接以及与节点的连接也可以单独进行缩放。缩放VM节点而不缩放其之间的链路导致网络资源不足或浪费。每个节点和链路都可以实施自身的缩放策略,以对其工作负载测量作出反应。增加某一节点上的资源可能会导致其它节点的工作负载发生变化,从而其它节点上的资源也增加。
发明内容
一种方法,包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点。
一种计算机实现的自动缩放系统,包括:处理电路、耦合于所述处理电路的存储设备和自动缩放代码,其存储在所述存储设备上且由所述处理电路执行以进行操作。所述操作包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点。
一种非瞬时性存储设备,其上存储有供处理器执行以执行操作的指令,其中,所述操作包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络连接的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的分布式应用工作负载度量的变化而联合缩放所述链路和节点。
附图说明
图1为根据示例实施例提供的一种向用户提供基于分层网络的分布式应用服务的系统的框图;
图2为根据示例实施例提供的一种响应于工作负载测量和联合自动缩放策略而联合自动缩放节点和链路资源的方法的流程图;
图3为根据示例实施例提供的响应于应用工作负载度量,自动缩放与分布式应用相关联的节点和链路所涉及的组件的框图;
图4为根据示例实施例提供的当前总容量为28的分布式应用所配置的一组节点和链路的拓扑图,其中未充分配置的节点和链路根据图6中的应用放大算法通过跨越图的切割线来标识;
图5为根据示例实施例提供的根据图6中的应用放大算法,未充分配置的节点和链路增加容量以达到目标总容量40的拓扑图;
图6为根据示例实施例提供的应用放大方法的伪代码表示,所述应用放大方法确定总增加容量和其容量应该增加的未充分配置的节点和链路,并增加其容量以达到总增加容量;
图7为根据示例实施例提供的包含成本的当前容量以及用作图9中链路节点放大算法的输入的每条链路的最大容量的拓扑图;
图8为根据示例实施例提供的根据图9中链路节点放大算法对图7中的图进行变化以达到总增加容量12的拓扑图;
图9为根据示例实施例提供的增加未充分配置的链路和节点的容量以达到总增加容量的链路节点放大方法的伪代码表示;
图10为根据示例实施例提供的在未充分配置的链路之间分配总增加容量以最小化与增加的链路容量相关联的成本增幅的方法的伪代码表示;
图11为根据示例实施例提供的一种拓扑图,其示出了用于确定应用的总减少容量的应用的补图;
图12为根据示例实施例提供的过度配置的节点和链路的拓扑图,所述过度配置的节点和链路根据图13中的应用缩小算法通过跨越当前总容量为65的补图中的切割线来标识;
图13为根据示例实施例提供的应用缩小方法的伪代码表示,所述应用缩小方法确定总减少容量和其容量应该减少的过度配置的节点和链路,并减少其容量以达到总减少容量;
图14为根据示例实施例的提供的用作图16中链路节点缩小算法的输入的过度配置的链路和节点的当前容量,成本和最大容量的拓扑图;
图15为根据示例实施例提供的根据图17中链路节点缩小算法对链路容量进行变化以达到目标总容量45(或总减少容量20)的拓扑图;
图16为根据示例实施例提供的减少过度配置的链路和节点的容量以达到总减少容量的链路节点缩小方法的伪代码表示;
图17为根据示例实施例提供的在过度配置的链路之间分配总减少容量以最小化与减少的链路容量相关联的成本降幅从而达到总减少容量的方法的伪代码表示;
图18为根据示例实施例提供的YAML(yet another markup language,简称YAML)表示,其示出了对用于表示自动缩放方法所需的分布式应用的拓扑和性能度量的TOSCA(Topology and Orchestration Specification for Cloud Applications,简称TOSCA)所做的变化;
图19为根据示例实施例提供的YAML表示,其示出了已添加缩放方法和缩放对象的联合自动缩放策略;
图20为示例实施例提供的针对客户端、服务器、基于云的资源的用于实现算法和执行方法的电路的框图。
具体实施方式
以下结合附图进行描述所述附图是描述的一部分并通过图解说明的方式示出可以实施本发明的具体实施例。这些实施例将充分详细描述使本领域技术人员能够实施本发明而且应该明白的是可以使用其它实施例并且在不脱离本发明的范围的情况下可以作出结构上、逻辑上、电学上的改变。因此以下示例实施例的描述并不当作限定,本发明的范围由所附权利要求书界定。
本文描述的功能或算法可以在一实施例中的软件中实施。该软件可包含计算机可执行指令,这些计算机可执行指令存储在计算机可读介质上或者计算机可读存储设备上,如一个或多个非瞬时性存储器或其它类型的本地或联网的硬件存储设备。此外,这些功能对应模块,这些模块可以是软件、硬件、固件或其任意组合。多个功能可根据需要在一个或多个模块中执行,所描述的实施例仅为示例。该软件可在数字信号处理器、专用集成电路(application-specific integrated circuit,简称ASIC)、微处理器上执行或者在个人计算机、服务器、或其它计算机系统等其它类型的计算机系统上运行的处理器上执行,从而将这些计算机系统转换成一个专门编程的机器。
当前的自动缩放服务和方法只单独缩放节点。在基于云的系统中,为应用提供资源的节点诸如虚拟机(virtual machine,简称VM)等之间的链路以及与节点的链路也可以单独进行缩放。缩放VM节点而不缩放其之间的链路导致网络资源不足或浪费。虽然节点的容量,例如中央处理器(central processing unit,简称CPU)数量和内存可能增加或减少,但不同VM的缩放策略不协调。在分布式应用的情况下,所述应用的不同功能可以在不同节点上执行,修改第一节点处的容量可能导致需要改变其它节点处的容量。但是,仅当第一个节点容量变化导致其它节点的级联工作负载变化时,才会检测到工作负载变化,因此可能会出现延迟。
图1为一种向用户110提供基于分层网络的分布式应用服务的系统100的框图。系统100包括提供与所述分布式应用相关联的不同服务的多个层,其表示为115、120和125。例如,第一层115可以包括专用于为所述应用提供用户界面服务的资源。第一层115可以包括多个节点,每个节点具有一个或多个VM作为资源,其中两个被指示,用于提供接口服务。第二层 120可以包括资源,所指示的五个VM,用于执行所述分布式应用的计算功能。第三层125 可以包括资源,所指示的三个VM,用于提供与所述分布式应用相关联的数据存储服务。
每层可以由多个节点和每个节点处的多个资源组成,并且在进一步的实施例中,许多其它不同类型的应用服务可以与所述层相关联。所述用户110和层/节点之间的通信连接表示为130、 135和140。需要注意的是,由于在配置较大的应用时可能存在额外的层和节点,所述节点之间的连接的数量可能明显大于简单示例所示。
在现有系统中,每层可以具有其自身的VM缩放策略,其响应于工作负载变化而运行。同样地,通信链路也可以有其自身的缩放策略,以在带宽利用变化时作出反应。这种缩放可以称之为反应性缩放。响应于工作负载变化而不是在工作负载变化前进行虚拟机和链路的缩放,会由于缩放延迟导致性能降低或资源浪费。
缩放延迟可以包括作响应决策、确定要添加的资源以及启动和重启VM所需的时间。在减少资源的情况下,延迟可能与待减少资源的快照和资源删除相关联。在资源可能在短时间内改变的情况下,这些延迟被放大。此外,仅当增加节点容量导致链路上的通信负载不同时会只单独发生链路缩放,改变节点容量而不改变节点之间链路的容量可能导致进一步的延迟。
系统100示出了一种联合自动缩放策略150,其为主动和联合缩放节点处的资源和所述节点之间的连接提供策略。换句话说,资源缩放可以在工作负载变化基于总体工作负载度量,也称为运行时间度量,作用于不同节点之前开始。
在一个实施例中,自动缩放系统使用联合自动缩放策略来执行自动缩放节点资源和链路的方法200,如图2中的流程图所示。在210中,自动缩放系统执行包括接收分布式应用的分布式应用工作负载量度的操作,其中所述分布式应用使用云资源和网络连接为通过诸如因特网之类的网络使用所述分布式应用的用户提供服务。
在215中,接收分布式应用工作负载度量的变化。工作负载测量系统可以观察工作负载并提供资源利用度量,例如事务的频率和执行事务的时间,以及各种服务质量(quality of service,简称QoS)测量。所述度量可以由用户或管理员在各种实施例中定义。在220中,通过使用云资源和连接拓扑描述数据结构来确定与所述分布式应用相关联的云资源和网络连接。所述数据结构可以由应用管理员提供,并且可以采用标记语言的形式,该标记语言描述用于运行所述分布式应用的节点和连接的结构。
在一个实施例中,所述数据结构指定所述分布式应用的联合自动缩放策略和参数,所述分布式应用在OASIS(Organization for the Advancement of StructuredInformation Standards,简称 OASIS)TOSCA(Topology and OrchestrationSpecification for Cloud Applications,简称TOSCA) 中也称为云应用。
在225中,可以响应于所述所检测到的分布式应用工作负载度量的变化而执行联合缩放某应用的链路和节点的动作。这些动作可以根据与所述分布式应用相关联的自动缩放策略来指定增加或减少链路和节点资源。这些动作可以通过使用资源管理应用编程接口(application programming interface,简称API)来更新所述分布式应用的链路和节点容量。
在一个实施例中,在应用的多个节点处调整云资源。可以通过调整所述多个节点间的网络带宽来缩放节点间的链路。
所述应用拓扑描述数据结构包括所述分布式应用的工作负载度量的初始参考值。
在一个实施例中,所述应用拓扑描述数据结构还包括链路容量、节点容量、链路容量限制、节点容量限制、链路成本、节点成本、源节点和宿节点。
应用的联合链路节点自动缩放可以通过使用积分控制算法来进行,以基于当前应用度量和一对高和低阈值度量来计算目标总容量。
在一个实施例中,所述分布式应用包括分层web应用,其具有执行所述web应用不同功能的不同节点。所述节点和所述节点间的链路根据自动缩放策略进行联合缩放。增加未充分配置的链路和节点的容量,以使所述链路和节点的成本增加最小化。减少过度配置的链路和节点的容量,以最大限度地降低所述链路和节点的成本。
图3为在300中响应于应用工作负载度量,自动缩放与分布式应用305相关联的节点和连接所涉及的组件的框图。所述分布式应用可使用基于云的资源,其包括表示VM、容器、VM 中的容器以及诸如运行所述应用所涉及的存储器等其它资源的节点。链路表示网络上所述节点间的通信,包括与存储器、内存和其它资源的链路。
所述分布式应用305以用于运行所述应用的云资源的逻辑表示的形式示出。在306处示出源节点,其耦合于应用拓扑307和宿节点308。在一个实施例中,用户310如管理员或管理系统为网络缩放服务325提供联合自动缩放策略315和应用拓扑描述320。监测器330用于监测分布式应用305的工作负载,并且在工作负载度量通过连接335生成时为所述网络缩放服务325不断提供工作负载度量。可以使用和修改现有的网络缩放服务325以响应于提供的度量和联合自动缩放策略315来提供所述分布式应用的节点和链路两者的联合主动缩放。
所述缩放服务325的自动缩放决策在340处示出,并且可以包括例如使用网络控制表征状态转移(representational state transfer,简称REST)应用程序接口(application programming interface,简称API)(例如Nova和Neutron+扩展)来增加或移除所述分布式应用的链路容量。将决策340提供给基础设施即服务(infrastructure as aservice,简称IaaS)云平台,例如 OpenStack,其然后对数据中心基础设施350执行决策,该数据中心基础设施350包括运行用户310部署的所述分布式应用的节点和链路。需要注意的是,如在分布式应用的基于云的配置中常见的,所述基础设施350可以包括在单个物理位置处的联网资源,或者不同物理位置处的多个联网机器。所述基础设施350还可以托管所述缩放服务325,所述缩放服务325也可以包括所述监测器330。
在一个实施例中,应用拓扑320被转换成应用模型以供所述缩放服务325使用。所述应用模型可以表示为G=(N,E,A,C,L,s,t),其中:
N={ni|ni为一节点}
E={eij|eij为E中从节点ni到节点nj的链路}
Ak={aij|aij>0为eij在时间k时的链路容量}
Bk={bi|bi>0为ni在时间k时的节点容量}
CE={cij|cij>0为eij的链路容量成本}
LE={lij|lij≥aij为链路eij的最大容量}
CN={ci|ci>0为ni的容量成本}
LN={li|li≥ci为节点ni的最大容量}
s为向N生成输入的E的源节点
t为从N中接收输出的E的宿节点。
应用模型G的总成本为sum{E中所有eij的aijcij}+sum{N中的所有ni的bici}。所述联合自动缩放策略315指定Mref、A0、B0、LE、LN、s和t,其中Mref为度量的初始值。在时间k处测量的度量用Mk表示,并且如上所述,可以包括各种QoS和资源利用度量。所述应用模型、联合策略和测量的度量提供给所述缩放服务325,其可以在一个实施例中实现一种修改形式的积分控制,其中:
· Mh:高度量阈值
· Ml:低度量阈值
· K:积分控制系数
· Uk:时间k处G的总容量
1.如果Mk<Ml,则Uk+1=Uk+K(Ml–Mk)(放大)
2.如果Mk>Mh,则Uk+1=Uk–K(Mk–Mh)(缩小)
3.Uk+1=Uk(不进行操作)
4.对于i=k和k+1,Ui=capacity(min_cut(G,Ai))
所述积分控制系数K用于响应测量度量的变化来控制缩放发生的快速程度。需要注意的是,前三个潜在动作:放大、缩小和不进行操作取决于所测量的度量Mk是否低于所述低阈值M1,高于所述高阈值Mh,或在所述阈值内。在每种情况下,基于时间k处的当前总容量Uk加上总增加容量、减去总减少容量、或者保持不变来计算时间k+1处的目标总容量。所述总增加容量K(Ml–Mk)等于所述低阈值和所述测量度量的差值乘以所述积分控制系数,而所述总减少容量K(Mk–Mh)等于所述测量度量与所述高阈值的差值乘以所述积分控制系数。第四个潜在动作为根据应用拓扑计算所述当前总容量Uk,并通过min_cut函数将所述目标总容量Uk+1与所述应用拓扑相关联,如下面进一步详细描述。在一个实施例中,所述决策340包括API调用以通过定义新链路容量的矩阵Ak+1和定义应用新节点容量的向量Bk+1分配链路节点容量。
图4为分布式应用所配置的一组节点和链路的图。在一个实施例中,图400为示出节点数目和所述节点间链路的容量的任意有向图。在一个实施例中,使用最小割(minimumcut,简称min_cut)函数将图400中的各个节点分割(切割)410成由至少一个链路连接的两个不相交的子集S和T。在一个实施例中,链路代表通信,并且min_cut函数用于确定应该增加容量以达到目标总容量的未充分配置的链路。可以使用各种不同的可用min_cut函数/算法来对图400进行分割。所示的切割线410表示为min_cut(G)=(S,T)=({s,3,4,7},{2,5,6, t})。Uk=容量(S,T)=10+8+10=28。在一个实施例中,增加G的每个min_cut的容量,直到其全部达到目标容量,因为:
1.max-flow(G)=min_cut(G)容量=最少未充分配置的链路
2.可能会有超过一个min_cut低于所述目标总容量。
图5为增加链路容量以达到目标总容量Uk+1的拓扑图。需要注意的是,时间k+1处的目标总容量Uk+1已比当前总容量Uk增加了12:Uk+1=28+12=40。
图6为应用放大方法600的伪代码表示,所述应用放大方法600确定总增加容量diff和其容量应该增加的未充分配置的节点和链路,并增加其容量以达到总增加容量。方法600使用 min_cut函数迭代地识别应用拓扑的节点分区S和T之间的链路并增加其容量,直到达到总增加容量。
图7为包含成本的当前容量以及每条链路的最大容量的拓扑图。例如,为源节点(s)和节点(2)之间的链路705分配的带宽为10、相对成本为2以及最大容量为40。节点(3)和(4)之间的链路710的当前带宽为8,相对成本为5以及最大容量为40。节点(7)和(t) 之间的链路715的当前带宽为10,相对成本为3以及最大容量为40。在一个实施例中,缩放服务指示总增加容量12应与其成本成反比分配给三条链路。在一个实施例中,可以基于所述应用的缩放策略定义的节点缩放函数f3、f7、f2和f6将节点容量添加到S'={3,7}和T'={2,6}。
图8为根据链路节点放大算法对图进行变化的拓扑图,该链路节点放大算法使与链路和节点相关联的成本最小化以达到总增加容量。所述链路705、710和715已经在图8中重新编号并以“8”开头,以指示其目前容量的变化。具有最低成本的链路805的容量增加了6,具有最高成本的链路810增加了2,并且成本次低的链路815增加了4,表明最高成本节点的增长最低,以最大限度地减少与未充分配置的链路相关联的成本。
所述链路节点放大算法可被视为对如下定义的成本优化问题的解决方案:
·查找dij和di,其中dij是分配给链路eij的总增加容量(diff)的一部分,di是节点ni增加的节点容量,以最小化sum{dij for eij in SxT}+sum(dici for ni in S’=back(S)UT’=front(T)}
·满足:
1.sum{dij for eij in SxT}=diff
2.aij+dij≤lij
3.bi+di<li
4.di=fi(sum{dij})for ni in S’且di=fi(sum{dji})for ni in T’(inc_nodes)
dij,di≥0
图9为为两组节点S和T之间的链路分配总增加容量(diff)的链路节点放大方法900的伪代码表示。该方法首先通过一过程增加未充分配置链路的容量,以达到总增加容量,然后通过一过程根据缩放策略定义的节点缩放函数调整节点容量。这两个过程可以产生目标链路容量矩阵Ak+1和目标节点容量向量Bk+1,其可以用于增加应用的链路和节点容量。
图10为在未充分配置的链路之间分配总增加容量以最小化由于增加的链路容量而导致的成本增幅的方法1000的伪代码表示。该方法在未充分配置的链路中与其成本成反比地递增地划分所述总增加容量,并且每条链路在其最大容量内接收增加的容量。如果接收到总增加容量,所述流程停止;否则,剩余容量将被视为新的总增加容量,并重复该分配流程,直到接收到所述总增加容量或者所有链路均接收不到增加的容量。
可以以类似的方式进行缩小。图11为分布式应用的补图,其示出了提供当前总容量65 的多个连接节点。在一个实施例中,缩放服务进行决策以将所述应用的当前总容量降低到目标总容量45。为了确定所述应用的过度配置的链路和节点,所述缩放服务构造一除了链路容量之外与所述应用的原始图形相同的补图。对于原始图形中每条容量为aij的链路,所述补图中所述相应链路的容量为max-aij,其中max=max{aij}+1。例如,由于所述原始图形中从节点 5到节点t的链路的容量为10,对于最大值31,所述补图中从节点5到节点t的链路的容量为31–10=20。基于所述原始图形通过max–cut函数确定所述应用的过度配置的链路。max–cut 可以将min_cut函数应用于所述补图以确定所述过度配置的链路:G的过度配置的链路=max–cut(G)=min_cut(G的补数)。所述缩放服务然后减少过度配置的链路和节点的容量,以最大限度地降低与容量降低相关联的成本的方式来达到目标总容量。
图12为补图中沿着min_cut的过度配置的节点和链路的拓扑图。所述切割线将所述补图分割成两个集合S和T,其中S={s,2,3,4,5,6}且T={7,T}。基于此切割线,过度配置的链路为{e5t,e6t,e67,e47}。这些过度配置的链路提供的总容量为10+10+15+30=65。为了达到目标容量45,所述总容量必须减少20,即总减少容量。
图13为用于以经济高效的方式缩减资源的应用缩放方法1300的伪代码表示。所述方法首先确定总减小容量(diff)。然后构造补图并确定过度配置的链路和节点。最后,减少过度配置的链路和节点的容量,以达到目标总容量。
图14为拓扑图,示出了用于确定过度配置的链路和节点的减小的容量的补图。再次示出在min_cut函数中作为分区的一部分的某些链路的链路成本和最大容量。在一个实施例中,从当前总容量65到目标容量45。所述缩放服务确定四个过度配置的链路将与其成本成比例地将其容量总共减少20,以达到所述目标总容量。在一个实施例中,可以基于所述应用的缩放策略定义的节点缩放函数f5,f6,f4和f7,从S’={5,6,4}和T’={7}中移除节点容量。
过度配置的链路中总减少容量的分配可以定义为以下优化问题的解决方案:
·查找dij和di,其中dij是减少的链路容量,di是减少的节点容量,以最大化sum{dijcij for eij in SxT}+sum(dici for ni in S’=back(S)U T’=front(T)}。
·满足:
1.sum{dij for eij in SxT}=diff
2.0<aij–dij
3.0<bi–di
4.di=fi(–sum{dij})for ni in S’且di=fi(–sum{dji})for ni in T’(dec_nodes)
5.dij,di≥0
图15为过度配置的链路的容量的变化拓扑图,其中为了达到所述总减少容量20,成本更高的链路容量减少得更多。例如,从节点4到节点7的链路由于在过度配置的链路中成本最高且为5,所以容量减少最多且为16。
图16为在过度配置的节点和链路间分配总减少容量从而以经济高效的方式实现拓扑图14和15中所示的链路节点缩减的链路节点缩减方法1600的伪代码表示。所述方法首先通过一过程确定过度配置的链路的减小的容量,然后通过一过程确定与过度配置的链路相关联的节点的减少的容量。所述方法可以产生目标链路容量矩阵Ak+1和目标节点容量向量Bk+1,用于更新应用的链路和节点资源。
图17为在过度配置的链路之间分配总减少容量以实现拓扑图1400和1500中所示的链路节点缩减的方法1700的伪代码表示。该方法在过度配置的链路中与其成本成比例地划分所述总减少容量(diff),并且每条链路接收的减少的链路容量都大于零。如果接收到总减少容量,所述流程停止;否则,剩余容量将被视为新的总减少容量,并重复该分配流程,直到接收到所述总减少容量或者所有链路均接收不到减少的容量。
图18为YAML表示1800,其示出了对用于描述应用拓扑、初始资源规范和缩放策略的 OASIS(organization advancing open standards for the information society)TOSCA标准所做的变化。策略扩展在1810处示出,并包括联合缩放策略和目标度量。Node_filter属性也被扩展为包括1815处的CPU限制规范和1820处的内存大小限制,两者都用下划线表示扩展部分。还在1830处添加了在1825处指示的关系过滤器的带宽限制。
图19为基于TOSCA的联合自动缩放策略的伪码表示1900,其中如1910处所指示,添加了此处所述的缩放链路、节点或两者的缩放方法以及缩放对象。图18和19共同指定了联合自动缩放策略和TOSCA中基于云的分布式应用的参数,其中所述云的分布式应用被转换为流量网络模型。
图20为示例实施例提供的针对客户端、服务器、基于云的资源的用于实现算法和执行方法的电路的框图。不需要在各实施例中使用所有组件。例如,客户端、服务器和网络资源可以分别使用不同组的组件,或者例如在服务器的情况下,使用更大的存储设备。
各种描述的实施例可以为分布式应用的用户带来一种或多种益处。所述缩放策略可以简化为不需要为不同的缩放群体指定复杂的缩放规则。用户可以联合缩放应用的链路和节点,从而避免通过使用节点和链路的独立的缩放策略在反应式缩放中观察到的延迟。在保持分布式应用的性能的同时,可以减少联合资源(计算和网络)的成本。对于云供应商,可以提供联合资源利用(计算和网络),同时为应用提供全局性能改进。基于应用拓扑的主动式自动缩放可提高效率,进而减少先前的级联反应式自动缩放方法所观察到的延迟。更进一步,min_cut 方法、应用缩放和链路节点缩放算法都是多项式时间算法,减少了识别要缩放资源所需的开销。
计算机2000形式的一个示例计算设备可以包括处理单元2002、存储器2003、可移动存储器 2010和不可移动存储器2012。虽然示例计算设备图示并描述为计算机2000,但在不同实施例中,计算设备可以是不同形式的。例如,可替代地,所述计算设备可以是智能手机、平板电脑、智能手表或者结合图20所示和所述的相同或相似的元件的其它计算设备。智能手机、平板电脑、智能手表等设备通常统称为移动设备或用户设备。此外,虽然各种数据存储元件被图示为所述计算机2000的一部分,但是存储器还可以或者可选地包括通过网络例如互联网可访问的基于云的存储器,或者基于服务器的存储器。
所述存储器2003可包括易失性存储器2014和非易失性存储器2008。所述计算机2000可包括或访问计算环境。该计算环境包括各种计算机可读介质,如易失性存储器2014和非易失性存储器2008、可移动存储器2010和不可移动存储器2012。计算机存储器包括随机存取存储器(random access memory,简称RAM)、只读存储器(read-only memory,简称ROM)、可擦除可编程只读存储器(erasable programmable read only memory,简称EPROM)和电可擦除可编程只读存储器(electrically erasable programmable read-onlymemory,简称EEPROM)、闪存或其它存储器技术、只读光盘(compact disc read-onlymemory,简称CD ROM)、数字多功能光盘(digital versatile disc,简称DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或者任何其它能够存储计算机可读指令的介质。
所述计算机2000可以包括或者可以访问计算环境,该计算环境包括输入设备2006、输出设备2004和通信连接2016。所述输出设备2004可以包括诸如触摸屏的显示设备,也可以用作输入设备。所述输入设备2006可以包括以下一种或多种:触摸屏、触摸板、鼠标、键盘、相机、一个或多个设备专用按钮、集成在所述计算机2000内或通过有线或无线数据连接耦合到所述计算机2000内的一个或多个传感器,以及其它输入设备。所述计算机可以使用通信连接在联网环境中工作,以连接到一个或多个远程计算机,如数据库服务器。所述远程计算机可以包括个人计算机(personal computer,简称PC)、服务器、路由器、网络PC、对等设备或其它公共网络节点等。通信连接可以包括局域网(local area network,简称LAN)、广域网 (wide area network,简称WAN)、蜂窝、WiFi、蓝牙或其它网络。
存储在计算机可读介质上的计算机可读指令可由计算机2000的处理单元2002执行。硬盘驱动器、CD-ROM和RAM是产品的一些示例,所述产品包括如存储设备的非瞬时性计算机可读介质。所述术语计算机可读介质和存储设备不包括载波,只要认为载波过于短暂。例如,计算机程序2018可包含在CD-ROM中,并从CD-ROM加载到硬盘驱动器,所述计算机程序2018能够提供通用技术来对数据访问进行访问控制检查和/或对基于组件对象模型(component object model,简称COM)的系统中的服务器之一执行的操作进行访问控制检查。计算机可读指令允许所述计算机2000为具有多个用户和服务器的基于COM的计算机网络系统提供通用访问控制。存储还可以包括联网存储,例如在2020处指示的存储区域网络(storage area network,简称SAN)。
例如:
1、在例1中,一种方法,包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点。
2、根据例1所述的方法,所述链路和节点根据自动缩放策略进行缩放。
3、根据例2所述的方法,所述自动缩放策略与所述分布式应用相关联。
4、根据例1到3任一项所述的方法,缩放所述节点包括调整所述应用的多个节点处的资源。
5、根据例4所述的方法,缩放所述链路包括调整所述多个节点间的网络的带宽。
6、根据例1到5任一项所述的方法,所述应用拓扑描述数据结构包括所述分布式应用的运行时间度量的初始参考值。
7、根据例6所述的方法,所述应用拓扑描述数据结构还包括链路容量,节点容量,最大链路容量,最大节点容量,链路成本,节点成本,源节点和宿节点。
8、根据例6所述的方法,通过使用积分控制算法来进行所述链路和节点的自动缩放以生成从当前总容量到所述应用的目标总容量的变化。
9、根据例8所述的方法,基于目标容量,进行所述链路和节点的容量的放大或缩小或者保持不变,其中所述目标总容量是基于一对高、低阈值度量计算出的。
10、根据例9所述的方法,使用基于所述应用拓扑的图min_cut方法来识别未充分配置的链路和节点,并且增加未充分配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成反比迭代地分配总增加容量减少所述未充分配置的链路和节点的成本。
11、根据例9所述的方法,使用基于所述应用拓扑的图max–cut方法来识别过度配置的链路和节点,并且减少过度配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成正比迭代地分配总减少容量减少所述过度配置的链路和节点的成本。
12、根据例1到11任一项所述的方法,所述分布式应用包括分层web应用,其具有执行所述web应用的不同层的不同节点。
13、在例13中,一种计算机实现的自动缩放系统,包括:处理电路、耦合至所述处理电路的存储设备和自动缩放代码,其存储在所述存储设备上且由所述处理电路执行以进行操作。所述操作包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点。
14、根据例13所述的系统,所述链路和节点根据自动缩放策略进行缩放。
15、根据例14所述的系统,所述自动缩放策略与所述分布式应用相关联,并且所述处理电路包括基于云的资源。
16、根据例13到15任一项所述的系统,自动缩放所述链路和节点包括调整所述应用的多个节点处的资源,缩放所述链路包括调整所述多个节点间的网络的带宽,其中所述应用拓扑描述数据结构包括所述分布式应用的运行时间度量的初始参考值,并且所述应用拓扑描述数据结构还包括链路容量,节点容量,最大链路容量,最大节点容量,链路成本,节点成本,源节点和宿节点。
17、根据例16所述的系统,通过使用积分控制算法来进行所述链路和节点的自动缩放以生成从当前总容量到所述整个应用(或者整个业务以支持所述应用)的目标总容量的变化,其中所述目标总容量是基于一对高、低阈值度量计算出的;使用基于所述应用拓扑的图min_cut 方法来识别未充分配置的链路和节点,并且增加未充分配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成反比迭代地分配总增加容量最小化所述未充分配置的链路和节点的成本;使用基于所述应用拓扑的图max–cut方法来识别过度配置的链路和节点,并且减少过度配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成正比迭代地分配总减少容量最小化(对比和/或减小)所述过度配置的链路和节点的成本。
18、在例18中,一种非瞬时性存储设备,其上存储有供处理器执行以执行操作的指令,所述操作包括:接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络连接的云资源;检测运行时间度量的变化;通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;响应于所述所检测到的分布式应用工作负载度量的变化而联合缩放所述链路和节点。
19、根据例18所述的非瞬时性存储设备,自动缩放所述链路和节点包括调整所述应用的多个节点处的资源,缩放所述链路包括调整所述多个节点间的网络的带宽,其中所述应用拓扑描述数据结构包括所述分布式应用的运行时间度量的初始参考值,并且所述应用拓扑描述数据结构还包括链路容量,节点容量,最大链路容量,最大节点容量,链路成本,节点成本,源节点和宿节点。
20、根据例19所述的非瞬时性存储设备,通过使用积分控制算法来进行所述链路和节点的自动缩放以生成从当前总容量到所述整个应用的目标总容量的变化,其中所述目标总容量是基于一对高、低阈值度量计算出的;使用基于所述应用拓扑的图min_cut方法来识别未充分配置的链路和节点,并且增加未充分配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成反比迭代地分配总增加容量减少所述未充分配置的链路和节点的成本;使用基于所述应用拓扑的图max–cut方法来识别过度配置的链路和节点,并且减少过度配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成正比迭代地分配总减少容量减少所述过度配置的链路和节点的成本。
虽然上文详细描述了几个实施例但是可能进行其它修改。例如为了获得期望的结果附图中描绘的逻辑流不需要按照所示的特定顺序或者先后顺序。可以提供其它步骤或者从所描述的流程中去除步骤,所描述的系统中可以添加或移除其它组件。其它实施例可以在所附权利要求书的范围内。
Claims (8)
1.一种计算机实现的自动缩放方法,其特征在于,包括:
通过一个或者多个处理器接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;
所述一个或者多个处理器检测运行时间度量的变化;
所述一个或者多个处理器通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;
所述一个或者多个处理器响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点,包括改变链路和节点的容量,使用积分控制系数来控制联合缩放的速率,改变链路和节点的容量包括:通过使用资源管理应用编程接口API来更新所述分布式应用的链路和节点的容量,
其中,
更新所述分布式应用的链路和节点的容量包括:
调整所述分布式应用的多个节点处的资源,缩放所述链路包括调整所述多个节点间的网络的带宽,所述应用拓扑描述数据结构包括所述分布式应用的运行时间度量的初始参考值,且所述应用拓扑描述数据结构还包括链路容量、节点容量、最大链路容量、最大节点容量、链路成本、节点成本、源节点和宿节点;
其中,通过使用积分控制算法来进行所述链路和节点的自动缩放,以生成从当前总容量到所述应用的目标总容量的变化,所述目标总容量是基于一对高、低阈值度量计算出的;使用基于所述应用拓扑的图min_cut方法来识别未充分配置的链路和节点,并且增加未充分配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成反比迭代地分配总增加容量减少所述未充分配置的链路和节点的成本;使用基于所述应用拓扑的图max–cut方法来识别过度配置的链路和节点,并且减少过度配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成正比迭代地分配总减少容量减少所述过度配置的链路和节点的成本。
2.根据权利要求1所述的方法,其特征在于,所述链路和节点根据自动缩放策略进行缩放。
3.根据权利要求2所述的方法,其特征在于,所述自动缩放策略与所述分布式应用相关联。
4.根据权利要求1所述的方法,其特征在于,所述分布式应用包括分层web应用,其具有执行所述web应用的不同层的不同节点。
5.一种计算机实现的自动缩放系统,其特征在于,包括:
处理电路;
耦合于所述处理电路的存储设备;
自动缩放代码,其存储在所述存储设备上且由所述处理电路执行以进行操作,其中,所述操作包括:
接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络链路的云资源;
检测运行时间度量的变化;
通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;
响应于所述所检测到的运行时间度量的变化而联合缩放所述链路和节点,包括改变链路和节点的容量,使用积分控制系数来控制联合缩放的速率;
其中,改变链路和节点的容量包括:通过使用资源管理应用编程接口API来更新所述分布式应用的链路和节点的容量;
其中,更新所述分布式应用的链路和节点的容量包括:
调整所述分布式应用的多个节点处的资源,缩放所述链路包括调整所述多个节点间的网络的带宽,所述应用拓扑描述数据结构包括所述分布式应用的运行时间度量的初始参考值,且所述应用拓扑描述数据结构还包括链路容量、节点容量、最大链路容量、最大节点容量、链路成本、节点成本、源节点和宿节点;
其中,通过使用积分控制算法来进行所述链路和节点的自动缩放以生成从当前总容量到所述应用的目标总容量的变化,所述目标总容量是基于一对高、低阈值度量计算出的;使用基于所述应用拓扑的图min_cut方法来识别未充分配置的链路和节点,并且增加未充分配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成反比迭代地分配总增加容量减少所述未充分配置的链路和节点的成本;使用基于所述应用拓扑的图max–cut方法来识别过度配置的链路和节点,并且,减少过度配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成正比迭代地分配总减少容量减少所述过度配置的链路和节点的成本。
6.根据权利要求5所述的系统,其特征在于,所述链路和节点根据自动缩放策略进行缩放。
7.根据权利要求6所述的系统,其特征在于,所述自动缩放策略与所述分布式应用相关联,并且所述处理电路包括基于云的资源。
8.一种非瞬时性存储设备,其上存储有供处理器执行以执行操作的指令,其中,所述操作包括:
接收分布式应用的运行时间度量,所述分布式应用使用包括各个计算机节点和网络连接的云资源;
检测运行时间度量的变化;
通过使用应用拓扑描述数据结构确定与所述分布式应用相关联的各个节点和链路;
响应于检测到的分布式应用工作负载度量的变化而联合缩放所述链路和节点,包括改变链路和节点的容量,使用积分控制系数来控制联合缩放的速率;
其中,改变链路和节点的容量包括:通过使用资源管理应用编程接口API来更新所述分布式应用的链路和节点的容量;
其中,
自动缩放所述链路和节点包括调整所述应用的多个节点处的资源,缩放所述链路包括调整所述多个节点间的网络的带宽,其中所述应用拓扑描述数据结构包括所述分布式应用的运行时间度量的初始参考值,并且所述应用拓扑描述数据结构还包括链路容量、节点容量、最大链路容量、最大节点容量、链路成本、节点成本、源节点和宿节点;
其中,通过使用积分控制算法来进行所述链路和节点的自动缩放以生成从当前总容量到所述应用的目标总容量的变化,其中所述目标总容量是基于一对高、低阈值度量计算出的;使用基于所述应用拓扑的图min_cut方法来识别未充分配置的链路和节点,并且增加未充分配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成反比迭代地分配总增加容量减少所述未充分配置的链路和节点的成本;使用基于所述应用拓扑的图max–cut方法来识别过度配置的链路和节点,并且减少过度配置的链路和节点的容量以达到所述目标总容量,从而通过在链路间与其成本成正比迭代地分配总减少容量减少所述过度配置的链路和节点的成本。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/006,707 US20170214634A1 (en) | 2016-01-26 | 2016-01-26 | Joint autoscaling of cloud applications |
| US15/006,707 | 2016-01-26 | ||
| PCT/CN2017/071513 WO2017129010A1 (en) | 2016-01-26 | 2017-01-18 | Joint autoscaling of cloud applications |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108475207A CN108475207A (zh) | 2018-08-31 |
| CN108475207B true CN108475207B (zh) | 2021-10-26 |
Family
ID=59359884
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201780007243.XA Active CN108475207B (zh) | 2016-01-26 | 2017-01-18 | 云应用的联合自动缩放 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20170214634A1 (zh) |
| CN (1) | CN108475207B (zh) |
| WO (1) | WO2017129010A1 (zh) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3226134B1 (en) * | 2016-04-01 | 2021-02-24 | Alcatel Lucent | A method and system for scaling resources, and a computer program product |
| CN108243110B (zh) * | 2016-12-26 | 2021-09-14 | 华为技术有限公司 | 一种资源调整方法、装置和系统 |
| US10691544B2 (en) * | 2017-11-21 | 2020-06-23 | International Business Machines Corporation | Modifying a container instance network |
| US10432462B2 (en) * | 2018-03-05 | 2019-10-01 | International Business Machines Corporation | Automatic selection of cut-point connections for dynamically-cut stream processing systems |
| US11296960B2 (en) * | 2018-03-08 | 2022-04-05 | Nicira, Inc. | Monitoring distributed applications |
| US10922206B2 (en) * | 2019-05-10 | 2021-02-16 | Capital One Services, Llc | Systems and methods for determining performance metrics of remote relational databases |
| US11436075B2 (en) | 2019-07-23 | 2022-09-06 | Vmware, Inc. | Offloading anomaly detection from server to host |
| US11188570B2 (en) | 2019-07-23 | 2021-11-30 | Vmware, Inc. | Using keys to aggregate flow attributes at host |
| US11176157B2 (en) | 2019-07-23 | 2021-11-16 | Vmware, Inc. | Using keys to aggregate flows at appliance |
| US11340931B2 (en) | 2019-07-23 | 2022-05-24 | Vmware, Inc. | Recommendation generation based on selection of selectable elements of visual representation |
| US11349876B2 (en) | 2019-07-23 | 2022-05-31 | Vmware, Inc. | Security policy recommendation generation |
| US11398987B2 (en) | 2019-07-23 | 2022-07-26 | Vmware, Inc. | Host-based flow aggregation |
| US10911335B1 (en) | 2019-07-23 | 2021-02-02 | Vmware, Inc. | Anomaly detection on groups of flows |
| US11140090B2 (en) | 2019-07-23 | 2021-10-05 | Vmware, Inc. | Analyzing flow group attributes using configuration tags |
| US11743135B2 (en) | 2019-07-23 | 2023-08-29 | Vmware, Inc. | Presenting data regarding grouped flows |
| US11288256B2 (en) | 2019-07-23 | 2022-03-29 | Vmware, Inc. | Dynamically providing keys to host for flow aggregation |
| US11321213B2 (en) | 2020-01-16 | 2022-05-03 | Vmware, Inc. | Correlation key used to correlate flow and con text data |
| US11785032B2 (en) | 2021-01-22 | 2023-10-10 | Vmware, Inc. | Security threat detection based on network flow analysis |
| US11991187B2 (en) | 2021-01-22 | 2024-05-21 | VMware LLC | Security threat detection based on network flow analysis |
| US11252029B1 (en) * | 2021-03-24 | 2022-02-15 | Facebook, Inc. | Systems and methods for configuring networks |
| US11997120B2 (en) | 2021-07-09 | 2024-05-28 | VMware LLC | Detecting threats to datacenter based on analysis of anomalous events |
| US11831667B2 (en) | 2021-07-09 | 2023-11-28 | Vmware, Inc. | Identification of time-ordered sets of connections to identify threats to a datacenter |
| US11411886B1 (en) | 2021-08-12 | 2022-08-09 | International Business Machines Corporation | Automatic cluster scaling based on varying workloads |
| US11792151B2 (en) | 2021-10-21 | 2023-10-17 | Vmware, Inc. | Detection of threats based on responses to name resolution requests |
| US12015591B2 (en) | 2021-12-06 | 2024-06-18 | VMware LLC | Reuse of groups in security policy |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101018161A (zh) * | 2006-09-08 | 2007-08-15 | 中山大学 | 一种链路、路径、网络可用带宽测量方法 |
| CN102469126A (zh) * | 2010-11-10 | 2012-05-23 | 中国移动通信集团公司 | 一种应用调度系统、方法和相关装置 |
| CN102612109A (zh) * | 2011-01-19 | 2012-07-25 | 黄书强 | 基于拓扑优化和降低干扰的无线Mesh网络路由信道联合分配方法 |
| CN102725649A (zh) * | 2009-11-03 | 2012-10-10 | 瑞典爱立信有限公司 | 用于定义无线网络中的定位配置的方法、设备和系统 |
| CN103810020A (zh) * | 2014-02-14 | 2014-05-21 | 华为技术有限公司 | 虚拟机弹性伸缩方法及装置 |
| CN104025055A (zh) * | 2011-12-30 | 2014-09-03 | 国际商业机器公司 | 动态缩放云环境中的多级应用 |
| CN104572294A (zh) * | 2013-10-18 | 2015-04-29 | 奈飞公司 | 预测性自动缩放引擎 |
| CN104580524A (zh) * | 2015-01-30 | 2015-04-29 | 华为技术有限公司 | 一种云平台上的资源伸缩方法和一种云平台 |
| EP2680145A3 (en) * | 2012-06-29 | 2015-05-27 | Orange | Monitoring of heterogeneous saas usage |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8209415B2 (en) * | 2009-02-27 | 2012-06-26 | Yottaa Inc | System and method for computer cloud management |
| US9009294B2 (en) * | 2009-12-11 | 2015-04-14 | International Business Machines Corporation | Dynamic provisioning of resources within a cloud computing environment |
| US8930914B2 (en) * | 2013-02-07 | 2015-01-06 | International Business Machines Corporation | System and method for documenting application executions |
| US9081622B2 (en) * | 2013-05-13 | 2015-07-14 | Vmware, Inc. | Automated scaling of applications in virtual data centers |
| US9386086B2 (en) * | 2013-09-11 | 2016-07-05 | Cisco Technology Inc. | Dynamic scaling for multi-tiered distributed systems using payoff optimization of application classes |
| US20150121058A1 (en) * | 2013-10-31 | 2015-04-30 | Sap Ag | Intelligent Real-time Optimization |
| US9547534B2 (en) * | 2014-10-10 | 2017-01-17 | International Business Machines Corporation | Autoscaling applications in shared cloud resources |
| US9848041B2 (en) * | 2015-05-01 | 2017-12-19 | Amazon Technologies, Inc. | Automatic scaling of resource instance groups within compute clusters |
-
2016
- 2016-01-26 US US15/006,707 patent/US20170214634A1/en not_active Abandoned
-
2017
- 2017-01-18 CN CN201780007243.XA patent/CN108475207B/zh active Active
- 2017-01-18 WO PCT/CN2017/071513 patent/WO2017129010A1/en active Application Filing
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101018161A (zh) * | 2006-09-08 | 2007-08-15 | 中山大学 | 一种链路、路径、网络可用带宽测量方法 |
| CN102725649A (zh) * | 2009-11-03 | 2012-10-10 | 瑞典爱立信有限公司 | 用于定义无线网络中的定位配置的方法、设备和系统 |
| CN102469126A (zh) * | 2010-11-10 | 2012-05-23 | 中国移动通信集团公司 | 一种应用调度系统、方法和相关装置 |
| CN102612109A (zh) * | 2011-01-19 | 2012-07-25 | 黄书强 | 基于拓扑优化和降低干扰的无线Mesh网络路由信道联合分配方法 |
| CN104025055A (zh) * | 2011-12-30 | 2014-09-03 | 国际商业机器公司 | 动态缩放云环境中的多级应用 |
| EP2680145A3 (en) * | 2012-06-29 | 2015-05-27 | Orange | Monitoring of heterogeneous saas usage |
| CN104572294A (zh) * | 2013-10-18 | 2015-04-29 | 奈飞公司 | 预测性自动缩放引擎 |
| CN103810020A (zh) * | 2014-02-14 | 2014-05-21 | 华为技术有限公司 | 虚拟机弹性伸缩方法及装置 |
| CN104580524A (zh) * | 2015-01-30 | 2015-04-29 | 华为技术有限公司 | 一种云平台上的资源伸缩方法和一种云平台 |
Non-Patent Citations (1)
| Title |
|---|
| 基于链路分布优先分配的多信道集中信道分配方法;张亮等;《科学技术与工程》;20151231;第34卷(第15期);第242-251页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2017129010A1 (en) | 2017-08-03 |
| CN108475207A (zh) | 2018-08-31 |
| US20170214634A1 (en) | 2017-07-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108475207B (zh) | 云应用的联合自动缩放 | |
| US11018979B2 (en) | System and method for network slicing for service-oriented networks | |
| US20150333994A1 (en) | File block placement in a distributed network | |
| US20170155557A1 (en) | Monitoring Dynamic Networks | |
| CN112153700A (zh) | 一种网络切片资源管理方法及设备 | |
| US10152343B2 (en) | Method and apparatus for managing IT infrastructure in cloud environments by migrating pairs of virtual machines | |
| WO2018076791A1 (zh) | 一种资源负载均衡控制方法及集群调度器 | |
| US9705750B2 (en) | Executing data stream processing applications in dynamic network environments | |
| US10574536B2 (en) | Capacity engineering in distributed computing systems | |
| WO2012173642A1 (en) | Decentralized management of virtualized hosts | |
| CN105183670B (zh) | 用于分布式缓存系统的数据处理方法和装置 | |
| CN107111517A (zh) | 针对归约器任务的虚拟机优化分配和/或生成 | |
| CN109451540A (zh) | 一种网络切片的资源分配方法和设备 | |
| CN111373374B (zh) | 分布式计算环境中的工作负载的自动对角缩放 | |
| US11252076B2 (en) | Data forwarding method and apparatus | |
| WO2018171621A1 (en) | Pcep extension to support flexi-grid optical networks | |
| CN112181605A (zh) | 负载均衡方法、装置、电子设备和计算机可读介质 | |
| CN108520025B (zh) | 一种服务节点确定方法、装置、设备及介质 | |
| US9983888B2 (en) | Predictive writing of bootable images to storage nodes in a cloud computing environment | |
| US12124722B2 (en) | Dynamic over-provisioning of storage devices | |
| KR20210112930A (ko) | 가상 네트워크 관리 장치 및 방법 | |
| Yu et al. | Robust resource provisioning in time-varying edge networks | |
| CN116304212A (zh) | 一种数据处理系统、方法、设备及存储介质 | |
| CN116627348A (zh) | 一种数据分布方法、装置、设备及存储介质 | |
| US10027544B1 (en) | Detecting and managing changes in networking devices |
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 |