CN116438519A - 用于分层计算基础设施的预测自动缩放器 - Google Patents
用于分层计算基础设施的预测自动缩放器 Download PDFInfo
- Publication number
- CN116438519A CN116438519A CN202180075777.2A CN202180075777A CN116438519A CN 116438519 A CN116438519 A CN 116438519A CN 202180075777 A CN202180075777 A CN 202180075777A CN 116438519 A CN116438519 A CN 116438519A
- Authority
- CN
- China
- Prior art keywords
- scaling
- level
- cloud
- resource
- plan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 claims description 62
- 238000000034 method Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 34
- 230000009471 action Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 description 53
- 238000004891 communication Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 28
- 238000013341 scale-up Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 18
- 230000002085 persistent effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000005381 magnetic domain Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
包括公共云和私有云的云配置被分层地组织,具有顶级和任何数量的较低级。父级云从相应的子级云接收资源工作负载度量,部分地基于该度量来进行关于子级处的未来资源需求的预测。父级基于预测来设置运行时可修改业务规则和缩放计划。父级云将缩放计划发送到相应的子级。如果写入到业务规则中的条件被满足,则父级自动触发子级处的缩放计划。资源根据需要自动地按比例放大或缩小,以维持最佳资源使用率。
Description
背景技术
本发明一般涉及自适应自主计算领域,并且更具体地涉及关于包括私有和/或公共计算机联网平台的分层混合计算基础设施的部署的资源管理。
在混合计算环境中,企业可以使用彼此结合工作的公共计算资源和私有计算资源。例如,企业可以在公共云基础设施上运行某些应用的同时在内部存储敏感客户端数据。公共云基础设施提供关于存储和处理资源的灵活性,并且能够响应于工作负载变化而自动地按比例放大或按比例缩小资源的分配。
发明内容
根据本发明的一个方面,提供了一种用于在多级计算平台中进行自动资源缩放的方法、计算机程序产品和/或系统,其执行以下操作(不一定按以下顺序):(i)接收关于多级计算平台的第一资源的第一工作负载度量;(ii)基于所述第一工作负载度量和预定标准的组合,预测关于所述第一资源的缩放动作;(iii)基于所述缩放动作,将关于所述第一资源的预测度量插入到运行时可修改规则集中;(iv)基于所述缩放动作和所述运行时可修改规则集的组合,生成关于所述第一资源的缩放计划;(v)将所述缩放计划发送到与所述第一资源相关联的所述多级计算平台的级;以及(vi)基于所述运行时可修改规则集,触发所述缩放计划的实现。
附图说明
图1描绘了根据本发明的至少一个实施例的云计算环境。
图2描绘了根据本发明的至少一个实施例的抽象模型层。
图3是根据本发明的至少一个实施例的系统的框图;
图4是示出根据本发明的至少一个实施例执行的方法的流程图;
图5是示出根据本发明的至少一个实施例的系统的机器逻辑(例如,软件)部分的框图;
图6是示出根据本发明的至少一个实施例的预测人工智能混合云自动缩放器架构的框图;
图7是示出根据本发明的至少一个实施例的云级过程的框图;以及
图8是示出根据本发明的至少一个实施例执行的方法的流程图。
具体实施方式
在本发明的一些实施例中,包括公共云和私有云的云配置被分层地组织,具有顶级和任何数量的较低级。父级云从相应的子级云接收资源工作负载度量,进行关于子级处的未来资源需求的预测,并且基于预测来设置运行时可修改业务规则和缩放计划。父级云将缩放计划发送到相应的子级。如果写入到业务规则中的条件被满足,则父级自动触发子级处的缩放计划。资源根据需要自动地按比例放大或缩小,以维持最佳资源使用率。
该详细描述部分被分成以下子部分:(i)硬件和软件环境;(ii)示例实施例;(iii)进一步注释和/或实施例;和(iv)定义。
I.硬件和软件环境
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可以保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、其上记录有指令的机械编码装置(诸如打孔卡或凹槽中的凸起结构)、以及前述各项的任何合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤光缆传送的光脉冲)、或通过导线传输的电信号。
本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言(诸如Smalltalk、C++等)和过程编程语言(诸如“C”编程语言或类似的编程语言))的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)在内的电子电路可以通过利用计算机可读程序指令的状态信息使电子电路个性化来执行计算机可读程序指令。
本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以通过计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,框中标注的功能可以不按图中标注的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文中记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理工作或与服务的提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助服务:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商进行人工交互。
广泛的网络访问:能力在网络上可用,并且通过促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:提供商的计算资源被池化,以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的感觉,因为消费者通常不控制或不知道所提供的资源的确切位置,但是可以能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:可以快速且弹性地、在一些情况下自动地提供能力,以快速向外扩展并且快速向内扩展以快速释放。对于消费者,可用于提供的能力通常看起来是无限的,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用率。可以监视、控制和报告资源使用率,从而为所利用的服务的提供商和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供商的应用。应用可通过诸如网络(web)浏览器(例如,基于网络(web)的电子邮件)之类的瘦客户端接口从各种客户端设备来访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力在内的底层云基础设施,可能的例外是有限的特定于用户的应用配置设定。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储在内的底层云基础设施,但是具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和其它基本计算资源,消费者能够在其中部署和运行任意软件,该任意软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但是具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方来管理,并且可以存在于场所内或场所外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方来管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型行业集团,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或多个云(私有云、社区云或公共云)的组合,所述云保持唯一的实体,但是通过实现数据和应用可移植性的标准化或专有技术(例如,用于云之间的负载均衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点的网络的基础设施。
现在参考图1,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,由云消费者使用的本地计算设备(诸如,例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N)可以与这一个或多个云计算节点10通信。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文所描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图1中所示的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址的连接(例如,使用网络(web)浏览器)与任何类型的计算机化设备通信。
现在参考图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应当预先理解,图2中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供在云计算环境内利用资源时的成本跟踪,以及对于这些资源的消耗进行计费或开发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA来预期未来需求。预测自动缩放器86自动跟踪混合的分层云计算平台的各个级上的资源使用率,并且响应于动态变化的工作负载条件而导致资源的缩放(按比例放大或按比例缩小)。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;以及事务处理95。
现在将参照附图详细描述根据本发明的软件和/或方法的可能的硬件和软件环境的实施例。图3是示出联网计算机系统100的各个部分的功能框图,包括:云管理子系统102;混合云104;私有云106;公共云108;通信网络114;自动缩放服务器200;通信单元202;处理器组204;输入/输出(I/O)接口组206;存储器208;持久性存储装置210;显示器212;外部设备214;随机存取存储器(RAM)230;高速缓存232;以及自动缩放程序300。
云管理子系统102在许多方面代表了本发明中的各种计算机子系统。因此,现在将在以下段落中讨论云管理子系统102的若干部分。
云管理子系统102可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话或能够经由通信网络114与客户端子系统通信的任何可编程电子设备。自动缩放程序300是用于创建、管理和控制某些软件功能的机器可读指令和/或数据的集合,这些软件功能将在以下该详细描述部分的示例实施例子部分中详细讨论。
云管理子系统102能够经由通信网络114与其他计算机子系统通信。通信网络114可以是例如局域网(LAN)、诸如因特网之类的广域网(WAN)、或两者的组合,并且可以包括有线、无线、或光纤连接。通常,通信网络114可以是将会支持服务器和客户端子系统之间的通信的连接和协议的任意组合。
云管理子系统102被示出为具有许多双箭头的框图。这些双箭头(没有单独的参考标号)表示通信结构,其提供云管理子系统102的各种组件之间的通信。该通信结构可以利用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其它硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构可以至少部分地利用一个或多个总线来实现。
存储器208和持久性存储装置210是计算机可读存储介质。通常,存储器208可以包括任何合适的易失性或非易失性计算机可读存储介质。还应注意,现在和/或在不久的将来:(i)外部设备214可以能够为云管理子系统102提供一些或全部存储器;和/或(ii)云管理子系统102外部的设备可以能够为云管理子系统102提供存储器。
自动缩放程序300被存储在持久性存储装置210中,以便由相应的计算机处理器组204中的一个或多个通常通过存储器208中的一个或多个存储器来访问和/或执行。持久性存储装置210:(i)至少比传输中的信号更持久;(ii)将程序(包括其软逻辑和/或数据)存储在有形介质(诸如磁域或光域)上;和(iii)比永久性存储装置的持久性要低得多。替选地,数据存储可以比由持久性存储装置210提供的存储类型更持久和/或永久。
自动缩放程序300可以包括机器可读且可执行的指令和/或实质数据(即,存储在数据库中的数据类型)。在该特定实施例中,持久性存储装置210包括磁硬盘驱动器。举一些可能的变型例,持久性存储装置210可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或数字信息的任何其它计算机可读存储介质。
由持久性存储装置210所使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于持久性存储装置210。其它示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以传送到另一计算机可读存储介质上,该另一计算机可读存储介质也是持久性存储装置210的一部分。
通信单元202在这些示例中提供与云管理子系统102外部的其他数据处理系统或设备的通信。在这些示例中,通信单元202包括一个或多个网络接口卡。通信单元202可以通过使用物理和无线通信链路中的一者或两者来提供通信。本文中讨论的任何软件模块可以通过通信单元(诸如通信单元202)下载到持久性存储设备(诸如持久性存储装置210)。
I/O接口组206允许与其它设备进行数据的输入和输出,其它设备可以被本地连接以与自动缩放服务器200进行数据通信。例如,I/O接口组206提供与外部设备214的连接。外部设备214通常将会包括诸如键盘、小键盘、触摸屏和/或一些其它合适的输入设备之类的设备。外部设备214还可以包括便携式计算机可读存储介质,诸如,例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明实施例的软件和数据(例如自动缩放程序300)可以存储在这样的便携式计算机可读存储介质上。在这些实施例中,相关软件可以(或者可以不)经由I/O接口组206全部或部分地加载到持久性存储装置210上。I/O接口组206还以数据通信与显示器212连接。
显示器212提供向用户显示数据的机制,并且可以是例如计算机监视器或智能电话显示屏。
本文中描述的程序是基于在本发明的特定实施例中实现它们的应用来标识的。然而,应当理解,本文中的任何特定程序术语仅是为了方便而使用,并且因此,本发明不应当限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不是旨在是穷尽的或限于所公开的实施例。在不偏离所描述的实施例的范围的情况下,许多修改和变型对于本领域的普通技术人员将是明显的。选择本文中所使用的术语以最好地解释实施例的原理、实际应用或对市场上发现的技术的技术改进,或使得本领域的其他普通技术人员能够理解本文中所公开的实施例。
II.示例实施例
图4示出了描绘根据本发明的方法的流程图250。图5示出了用于执行流程图250的方法操作中的至少一些的自动缩放程序300。现在将在以下段落的过程中广泛参考图4(用于方法操作框)和图5(用于软件框)来讨论该方法和相关联的软件。可以存储图5的自动缩放程序300的一个物理位置是持久性存储装置210(参见图3)。
处理开始于操作S255,其中自动缩放程序300的预测AI自动缩放模块302接收关于在分层计算平台的给定级上操作的资源的工作负载度量。在一些实施例中,工作负载度量对应于诸如处理器利用率、存储器使用率、存储装置使用率、网络带宽使用率、到达率、到达间隔时间、响应时间、吞吐量和/或服务负载模式等事物。
处理在操作S260处继续,其中自动缩放程序300的预测AI自动缩放模块302预测关于计算平台的给定级的缩放动作。预测的缩放动作可以涉及诸如增加或减少分配给在计算平台的给定级上运行的进程的存储空间、存储器或其他资源之类的事物。在一些实施例中,预测AI自动缩放模块302基于过去的性能经验来预测缩放动作,过去的性能经验诸如是(但不限于)相对于在计算平台的给定级上运行的应用类型的一天中的时间、一周中的日子或产品生命周期观察到的工作负载变化等。
处理在操作S265处继续,其中自动缩放程序300的业务规则模块306至少部分基于所预测的缩放动作来生成业务规则集。下面在该详细描述部分的进一步注释和/或实施例子部分中的子标题“示例业务规则”下给出业务规则集的示例。
处理在操作S270处继续,其中自动缩放程序300的预测AI自动缩放模块302基于以上在操作S260处确定的所预测的缩放动作来生成缩放计划。该缩放计划包括在该缩放计划被实施(触发)的情况下要采取的一组详细动作。
处理在操作S275处继续,其中自动缩放程序300的自动管理模块304将缩放计划发送到计算平台的给定级,其中缩放计划保持准备就绪,等待触发该计划激活的信号。
处理在操作S280处继续,其中自动缩放程序300的自动管理模块304确定触发缩放计划,并且因此向计算平台的给定级发送信号,该信号触发缩放计划的实现。
III.进一步注释和/或实施例
本发明的一些实施例可以认识到以下事实、潜在问题和/或潜在领域中的一个或多个,以相对于现有技术的传统自动缩放器的当前状态进行改进:(i)可能仅能够缩放被部署在提供商的平台上的资源;(ii)在混合云部署中,可能难以优化每个云中的各个度量、以及总体端到端和服务质量(QoS)度量;(iii)除了特定于某些资源和应用的配置改变之外,可能难以对多个云平台上的基础设施改变做出反应;(iv)关注于适配单个云提供商(与具有多个云提供商的大规模混合云相反);和/或(v)需要持续监视系统度量,并且在运行时对其改变做出反应。
本发明的一些实施例可以包括以下特征、特性和/或优点中的一个或多个:(i)业务规则引擎(BRE)以对于云操作者更容易的方式来实现自动缩放决定;(ii)人工智能(AI)预测模型预测未来缩放需求,并且将未来缩放需求传送给BRE;和/或(ii i)自动化管理器(有时在本文中被称为“云自动化管理器”)与BRE结合工作,并且使用基础设施即代码(IaC)模板来有效地缩放混合云服务。
在一些实施例中,自动缩放器使用BRE来允许简单而复杂的规则在混合云平台中做出缩放决定。业务规则的使用简化了自动缩放要求,并且使得云操作者更容易理解和实现自动缩放要求。云操作者可以容易地编写简单规则集,以基于混合云环境中的不同服务的不同系统性能和/或工作负载度量来做出缩放决定。系统性能和/或工作负载度量的示例包括CPU利用率、存储器使用率、存储使用率、网络带宽使用率、到达率、到达间隔时间、响应时间、吞吐量和/或服务负载模式等。
应当理解,虽然本发明的一些实施例涉及包括分层结构中的私有和公共云平台的混合云环境,但是一些实施例涉及非混合的公共或私有云基础设施、以及其他联网计算平台,包括非云平台和/或其他分层计算平台。
在一些实施例中,AI预测模型基于历史系统数据来预测服务工作负载和云平台的未来改变。AI预测模型将对支持未来改变的附加缩放的需要传送给BRE。各实施例以分层方式来组织BRE和AI模型,其中:(i)位于单个云上的部署各自维护本地性能度量;以及(ii)在更高级别处的部署管理所有单个云,无论是公共云还是私有云,并且维护端到端度量和成本优化。
在一些实施例中,云自动化管理器使用“基础设施即代码”(IaC)模板来应用缩放决定(或所预测的缩放动作),以用于在混合云平台中部署附加(或释放过剩)资源。云自动化管理器自动化并且简化在混合云环境内部的公共云平台以及私有云平台中的用于多个服务的不同类型的资源的部署或释放。
图6的框图600示出了根据本发明的一些实施例的过程和系统架构,包括:预测人工(AI)自动缩放器620;第1级预测AI模型621;第1级业务规则引擎(第1级BRE 622);业务规则623;混合云630;公共云631;私有云632;受管理服务641;第2级预测AI模型642;以及第2级业务规则引擎643。混合云630可以包括任何数量的公共云631的实例和任何数量的私有云632的实例。每个公共云631和每个私有云632可以包括任何数量的受管理服务641。
在一些实施例中,预测AI自动缩放器是分层的并且分布式的,其中:(i)与每个云级(例如,包括公共云631和私有云632的混合云631)相关联的自动缩放器(未示出)维持相关联的云级本地的度量;以及(ii)预测AI自动缩放器620(在云分层结构中的较高云级处)维持总体混合云630的优化。云自动化管理器624(有时在本文中被称为云自动化管理器)在公共云631和私有云632两者上管理并且部署服务(例如,任何数量的受管理服务641的实例)。预测AI自动缩放器620的第1级预测AI模型621接收从受管理服务641的实例流式传输的度量。
第1级预测AI模型621分析不同类型的工作负载混合,以做出智能和预测的缩放决定。基于流式传输的度量输入数据,第1级预测AI模型621做出缩放决定并且生成关于未来时间的预测度量,以及将预测度量插入到现有业务规则中,混合云630中的受管理服务641的一个或多个实例的缩放基于该现有业务规则。替选地,在一些实施例中,AI模型621生成预测度量,并且基于预测度量的性质和/或度量被确定的条件,在未来时间将预测度量插入到现有业务规则中。
业务规则可以在运行时间期间改变和修改。第1级BRE 622的状态属性允许进行历史和时间分析。对于预测缩放,第1级预测AI模型621写入(生成)一系列业务规则,其中工作负载条件的某些改变触发一个或多个对应的业务规则以作为响应。这允许第1级预测AI模型621预测并且实现抢占式缩放改变,以支持所预测的未来缩放需求。除了通过第1级预测AI模型621修改业务规则之外,云操作者还可以直接修改业务规则623以适应当前和未来的缩放需求。
在一些实施例中,预测AI自动缩放器620在云分层结构的最高级处操作。AI自动缩放器620包括:第1级预测AI模型621、第1级BRE 622和云自动化管理器624。第1级预测AI模型621接收从混合云630、更具体地从公共云631和私有云632流式传输的度量(箭头“1”)。第1级预测AI模型621修改自动缩放规则,并且将规则传递到第1级BRE 622(箭头“2”)。第1级BRE 622响应于经修改的自动缩放规则和业务规则623的组合,针对混合云630的配置改变而开发一个或多个计划(诸如缩放计划)。第1级BRE 622将一个或多个(云配置改变)计划传递到云自动化管理器624以发起计划的实现(箭头“3”)。云自动化管理器624通过将计划传递到与公共云631和/或私有云632相关联的受管理服务(诸如受管理服务641)来应用计划(箭头“4”)。
在较低的级处,例如在公共云631处的第2级,第2级自动缩放器包括第2级预测AI模型642和第2级业务规则引擎643。第2级自动缩放器维持诸如CPU利用率阈值之类的本地度量,并且如先前在之前段落中所讨论的那样,将本地度量流式传输到预测AI自动缩放器620的第1级预测AI模型621,从而完成具有目标的连续反馈和控制循环,该目标包括维持混合云630的总体服务质量(QoS)目标。
在本发明的一些实施例中,业务规则集包括条件和结果的“当…时(when)-则(then)”规则集,这意味着当条件发生时,则执行结果或动作。业务规则引擎(例如BRE 622)在运行时环境中管理和执行业务规则。业务规则引擎每X秒连续地激发规则(其中,在一些实施例中,X是用户选择的时间值)。业务规则引擎从服务和/或预测AI模型收集性能度量,并且然后使用这些度量来做出自动缩放决定。
示例业务规则
现在,接下来是用伪代码表示的高级示例业务规则集,以用于当满足规则的条件时缩放一组服务。
业务规则1:准备按比例放大定时器
当CPU>40%并且BRE存储器中不存在状态时
则
插入“按比例放大(ScaleUp)”状态
业务规则1确定服务的平均CPU利用率是否超过阈值。在本示例情况下,阈值是40%。CPU利用率是在用户选择的时间段(例如,最近30秒)内收集的服务的平均测量。规则于是插入“按比例放大(ScaleUp)”状态,以开始缩放处理。
业务规则2:准备按比例放大
当在“按比例放大(ScaleUp)”状态下30秒之后CPU>40%时
则
将“按比例放大(ScaleUp)”状态更新为“开始缩放”
在附加的30秒(同时在“按比例放大(ScaleUp)”状态下)过去之后,业务规则2确定CPU利用率是否继续超过阈值(在该情况下为40%)。该附加的30秒时间段防止响应于利用率离群值或尖峰值而进行的不必要的缩放动作。如果利用率继续超过40%(满足条件),则规则将状态值从“按比例放大(ScaleUp)”改变为“开始缩放”。在一些实施例中,以各种方式测量在任何给定时间段内的利用率,诸如(i)在时间段内的平均利用率;(ii)在整个时间段期间保持在阈值以上的利用率;(iii)在时间段的指定百分比内保持超过阈值的利用率;和/或(iv)被认为适合于给定实现方式的任何其它方法、数值、算术、统计或其它方式。
业务规则3:按比例放大
当“按比例放大(ScaleUp)”状态值=“完成”时
则
增加实例计数
规划并且应用于CAM
业务规则3确定是否存在“按比例放大(ScaleUp)”状态,以及其值是否是“完成”。如果“按比例放大(ScaleUp)”状态=“完成”(满足条件),则规则调用云自动化管理器(CAM)来部署新实例以进行缩放。
以下示例代码示出了以Drools(由RedHat开发的开源业务规则引擎)编写的与以上给出的伪代码示例相对应的编码。(注意:术语“Drools”和/或“RedHat”可以受全世界各种管辖范围中的商标权的约束,并且在此仅用来指在可能存在这样的商标权的程度下由商标适当命名的产品或服务。)
业务规则1:准备按比例放大计时器
When
//检查CPU平均值是否超过40%并且是否不存在按比例放大的状态
metric:Metric(metric.getCpuAverage>40)
not State(name=“ScaleUp”)
Then
//将按比例放大(ScaleUp)状态插入到规则引擎存储器中
State state=new State();
state.setName(“ScaleUp”);
state.setState(State.NOTRUN);
insert(state);
end
业务规则1检查“度量(Metric)”对象,其包括服务的性能度量,在这种情况下为CPU平均利用率。一旦满足规则,BRE就初始化“状态(State)”对象(State.NOTRUN,二进制值)。
业务规则2:准备按比例放大
When
//检查在30秒之后CPU平均值是否仍然超过40%
metric:Metric(metric.getCpuAverage()>40)
state:State(name=“ScaleUp”&&State=State.NOTRUN,this before[30s]
metric)
Then
//状态(State)的值在存储器中被改变并且被更新,以开始按比例放大
state.setState(State FINISHED);
update(state);
end
业务规则2使用时间(与时间相关)属性。在“when(当…时)”语句中,“this(这)”表示状态,并且“before[30s]metric(在[30s]之前的度量)”确定状态是否在当前度量对象之前已经存在超过30秒。如果满足条件,则BRE在BRE存储器中将状态的二进制值更新为State.FINISHED。
业务规则3:按比例放大
When
//即,根据先前的规则,检查在存储器中是否存在按比例放大(ScaleUp)状态并且是否完成。
camJson:CamJson()
state:State(name==“ScaleUp”&&State=State.FINISHED)
then
//调用CAM API
CamTemplateAPI cc=new CamTemplateAPI(“nnn.nnn.nnn.nnn”);
//获取所部署的资源的当前数量
int value=camJson.getNumericalValue(“acme.json”,“web_replica”);
//将当前资源计数增加1
camJson.changeValue(“acme.json”,“web_replica”,“”+(value+1));
//通过向云自动化管理器发送API请求来规划部署
CamJson ModifyJson=New CamJson();
cc.ModifyInstance(“acme.json”)
//通过向云自动化管理器发送API请求来部署资源
cc.ApplyInstance()
retract(state)
update(camJson);
end
在业务规则3中,“when(当…时)”语句确定在进一步进行之前“按比例放大(ScaleUp)”状态是否已经改变为“State.FINISHED”。“CamJson”包括云自动化管理器上的关联服务的当前部署细节。BRE通过CamTemplateAPI来调用CAM API,并且通过JavaScript对象表示法(JSON)文件(acme.json)来增加我们的服务的资源计数(web_replica)。BRE接下来通过使用“.ModifyInstance”和“.ApplyInstance”的“规划并且应用”请求来发送acme.JSON文件,这开始在云上部署附加资源的过程。
如果CPU利用率值在30秒之后下降到小于40%,则BRE移除状态(State)。无论是“按比例放大(scaling up)”还是“按比例缩小(scaling down)”,这个过程都是相同的。由于业务规则易于编写并且灵活,因此用户可以利用预测AI模型并且基于CPU利用率和/或其他度量来编写用于不同缩放用例的规则。
注意:在以上示例代码中,“nnn.nnn.nnn.nnn”表示因特网协议(IP)地址。
在一些实施例中,需要按比例缩小动作。考虑如下事务处理系统,该事务处理系统需要较大量的存储器来处理高需求时段,并且在低需求时段期间需要较小量的存储器。当高需求时段运行其过程并且需求在预定义的时间长度内下降到阈值水平以下时,业务规则以类似于以上示例中的按比例放大场景的方式进行响应,但是替代地将分配给事务处理系统的存储器按比例缩小。
图7的框图700示出了根据本发明的一些实施例的自动缩放过程。自动缩放器704包括在云级处的预测人工智能(AI)模型706和业务规则引擎(BRE 707),该云级可以是私有或公共云或任何其它联网计算平台。本发明的一些实施例包括以多个级组织的云的分层结构,其中每个单个云与对应的自动缩放器相关联。关于框图700,自动缩放器704与中级云702相关联,该中级云702位于较低级云(未示出)和较高级云(未示出)之间。
在一些实施例中,云分层结构以嵌套方式包括可以是公共或私有的第3级云(例如,云702)。第3级云702将云702本地的度量流式传输到第2级预测AI模型(例如,预测AI模型642,图6),该第2级预测AI模型进而将第3级度量与第2级本地度量一起流式传输到第1级预测AI模型(例如,预测AI模型621,图6)。
受管理服务705将云702的本地性能度量流式传输(箭头“1”)到较高级云(未示出)的预测AI模型自动缩放器(诸如第1级预测AI模型621,参见图6)中,并且流式传输到预测AI模型706(箭头“2”)。预测AI模型706基于诸如CPU、存储、存储器和网络利用率之类的度量来预测缩放决定。
预测AI模型706生成(和/或修改)云702本地的业务规则,并且将所生成的或所修改的业务规则发送(箭头“3”)到BRE 707。响应于接收到业务规则,BRE 707根据业务规则来改变应用级配置文件和设定,以维持最佳系统性能。
BRE 707将应用级配置改变发送(箭头“4”)到较低级云。BRE 707使用由较低级云的自动化管理器提供的应用编程接口(API)来发起(箭头“5”)缩放改变计划。在一些实施例中,API被编码为代表性状态转移API(REST API)。
在一些实施例中,云自动化管理器(CAM,例如云自动化管理器624(参见图6和图8))在基础设施即代码(IaC)环境中自动化各种云提供商上的服务部署。云操作者、项目团队或自动化系统编写应用的部署细节的高级描述(IaC脚本)。CAM执行IaC脚本,并且基于IaC脚本来自动部署所需的基础设施和服务。CAM定义、供应并且管理公共云或私有云上的服务部署。例如,如果存在对部署的更新,或者如果配置值改变,则CAM自动化这些改变。一旦BRE调用API,并且初始化新的缩放细节,CAM就对混合云应用改变。随着性能度量流式传输到自动缩放器中,该过程连续地循环。
图8是示出根据本发明的一些实施例的自动缩放过程的混合流程图。自动缩放过程包括组件、信息流和操作。组件包括:预测AI模型706;云操作者802;以及云自动化管理器624。信息流包括:传入度量801;以及要求804。操作包括:决定806、808和812;操作810(业务规则引擎);以及操作816(自适应环境改变)。
处理开始于预测AI模型706分析传入度量801以确定是否需要未来缩放决定。如果不需要未来缩放决定(决定808,“否”分支),则处理返回到预测AI模型706。如果需要未来缩放决定(决定808,“是”分支),则处理在操作810处继续,其中预测AI模型706生成关于未来时间的预测度量,并且基于传入度量801和需求804的组合将预测度量插入到现有业务规则中。此外,如果新的需求需要混合云环境中的改变,则云操作者802可以生成业务规则以满足新的需求。
处理在决定812处继续,其中如果没有触发业务规则(决定812,“否”分支),则处理返回到预测AI模型706。如果触发了业务规则(决定812,“是”分支),则云自动化管理器624调用代表性状态转移(REST)API来实现该业务规则。处理在操作816处继续,其中经由RESTAPI,云自动化管理器624实现自适应环境改变。
如果服务被修改或者新的服务被部署,则它们的度量将被流式传输到预测AI模型中,以继续该过程。
在一些实施例中,要求804可以触发云操作者802(其可以是自动化系统或人类操作者)来确定是否需要当前缩放决定。如果不需要当前缩放决定(决定806,“否”分支),则处理返回到云操作者802。如果需要当前缩放决定(决定806,“是”分支),则预测AI模型706生成关于未来时间的预测度量,并且基于传入度量801和需求804的组合将预测度量插入到现有业务规则中(操作814)。包括预测度量在内的业务规则流向业务规则引擎810。处理随后在如上所述的判定812处继续。
在本发明的一些实施例中,根据本发明的一些实施例,一种用于启用人工智能的预测自动缩放器作为混合云部署的服务的计算机实现的处理包括:(i)在混合云平台中,该混合云平台包括在每个云级处的维持简单本地度量的第一自动缩放器的集合、以及在更高级处的维持总体优化的第二自动缩放器;(ii)接收被流式传输到第二自动缩放器的预测人工智能模型中的来自预定服务的度量集合;(iii)使用预定标准来分析所接收到的度量集合中的不同类型的工作负载混合,以确定预测缩放决定;(iv)使用预测缩放决定来生成业务规则,以在混合云平台中缩放服务,其中规则在运行时期间可以被改变和修改;(v)生成用于对混合云环境的改变的计划;(vi)响应于接收到计划,通过由自动化管理器在混合云平台内部的公共云和私有云二者上管理并且部署服务来应用计划;(vii)对于包含至少一个受管理服务的每个云级,将性能度量流式传输到第二自动缩放器;(viii)接收被流式传输到相应的第一自动缩放器的预测人工智能模型中的性能度量;(ix)使用包括处理器利用率和磁盘使用在内的简单度量来生成所预测的缩放决定;(x)生成用于自动缩放的本地业务规则,其中规则在运行时期间可以被改变和修改;(xi)由业务规则引擎修改应用级配置文件和设定;(xii)生成用于对本地云环境的改变的本地计划;以及(xiii)响应于接收到本地计划,通过由自动化管理器管理并且部署相应云级上的服务来应用本地计划。
IV.定义
本发明:不应被认为是绝对的指示,即由术语“本发明”所描述的主题被提交的权利要求所覆盖,或者被在专利审查之后可能最终公布的权利要求所覆盖;虽然术语“本发明”用于帮助读者获得一般感觉,即本文中的公开被认为是潜在地新的,但是如通过使用术语“本发明”所指示的,该理解是试验性的和临时的,并且随着相关信息的发展和权利要求被潜在地修改,该理解在专利审查的过程中会发生改变。
实施例:参见以上“本发明”的定义-类似的注意事项适用于术语“实施例”。“
和/或:包含性的或;例如,A、B“和/或”C表示A或B或C中的至少一个是真的并且可应用的。
包括(including)/包含(include)/包括(includes):除非另有明确说明,否则表示“包括但不一定限于”。
用户/订户:包括但不一定限于以下各项:(i)单个个体人类;(ii)具有足够智能以充当用户或订户的人工智能实体;和/或(iii)一组相关的用户或订户。
数据通信:现在已知的或未来开发的任何种类的数据通信方案,包括无线通信、有线通信、以及具有无线和有线部分的通信路由;数据通信不一定限于:(i)直接数据通信;(ii)间接数据通信;和/或(iii)格式、分组化状态、介质、加密状态和/或协议在数据通信的整个过程中保持恒定的数据通信。
接收/提供/发送/输入/输出/报告:除非另外明确地指定,否则这些词语不应被认为暗示:(i)关于其对象和主体之间的关系的任何特定程度的直接性;和/或(ii)不存在介于其对象和主体之间的中间组件、动作和/或事物。
没有实质性的人为干预:在很少或没有人工输入的情况下自动发生(通常通过机器逻辑的操作,诸如软件)的过程;涉及“没有实质性的人为干预”的一些示例包括:(i)计算机正在进行复杂的处理,并且由于电网电力的断电,人工将计算机切换到替代电源,使得处理不间断地继续;(ii)计算机将要执行资源密集型处理,并且人工确认确实应当进行资源密集型处理(在这种情况下,孤立考虑的确认过程是具有实质性的人工干预的,但是资源密集型处理不包括任何实质性的人工干预,尽管需要人工进行简单的是-否风格的确认);以及(iii)使用机器逻辑,计算机已经做出了重要决定(例如,在预期恶劣天气时将所有飞机着陆的决定),但是在实现重要决定之前,计算机必须从人类来源获得简单的是-否风格的确认。
自动地:无需任何人工干预。
模块/子模块:可操作地工作以执行某种类型的功能的任何硬件、固件和/或软件集合,而不考虑模块是否:(i)在单个局部邻近度中;(ii)分布在广阔的区域上;(iii)在较大的软件代码段内的单个邻近度中;(iv)位于单个软件代码段内;(v)位于单个存储装置、存储器或介质中;(vi)机械地连接;(vii)电连接;和/或(viii)以数据通信方式连接。
计算机:具有重要数据处理和/或机器可读指令读取能力的任何设备,包括但不限于:台式计算机、大型计算机、膝上型计算机、基于现场可编程门阵列(FPGA)的设备、智能电话、个人数字助理(PDA)、机身安装式或插入式计算机、嵌入式设备类型的计算机、基于专用集成电路(ASIC)的设备。
Claims (20)
1.一种用于在多级计算平台中进行自动资源缩放的计算机实现的方法,所述方法包括:
接收关于多级计算平台的第一资源的第一工作负载度量;
基于所述第一工作负载度量和预定标准的组合,预测关于所述第一资源的缩放动作;
基于所述缩放动作,将关于所述第一资源的预测度量插入到运行时可修改规则集中;
基于所述缩放动作和所述运行时可修改规则集的组合,生成关于所述第一资源的缩放计划;
将所述缩放计划发送到与所述第一资源相关联的所述多级计算平台的级;以及
基于所述运行时可修改规则集,触发所述缩放计划的实现。
2.根据权利要求1所述的方法,其中,所述多级计算平台包括混合云平台,所述混合云平台包括以分层方式构造的多个云级,其中,每个云级选自由以下各项组成的组:私有云计算平台和公共云计算平台。
3.根据权利要求2所述的方法,还包括:
接收关于所述多级计算平台的第二资源的第二工作负载度量;
基于所述第二工作负载度量,生成第二预测缩放决定;
生成在所述多级计算平台的相应级本地的运行时可修改自动缩放规则集;
修改应用级配置文件和应用级设定;
生成本地配置改变计划;以及
基于所述本地配置改变计划,部署并管理在所述多级计算平台的相应级上运行的服务。
4.根据权利要求1所述的方法,其中,所述第一工作负载度量选自由以下各项组成的组:处理器利用率、存储器使用率、存储装置使用率、网络带宽使用率、到达速率、到达间隔时间、响应时间、吞吐量和服务负载模式。
5.根据权利要求1所述的方法,其中,所述第一资源选自由以下各项组成的组:存储器、存储装置、网络带宽和处理器利用率。
6.根据权利要求1所述的方法,其中,触发所述缩放计划的实现还包括:
确定所述第一工作负载度量超过阈值达预定义时间段;以及
响应于确定所述第一工作负载度量超过所述阈值达所述预定义时间段,部署所述缩放计划。
7.根据权利要求1所述的方法,其中,触发所述缩放计划的实现还包括:
确定阈值超过所述第一工作负载度量达预定义时间段;以及
响应于确定所述阈值超过所述第一工作负载度量达所述预定义时间段,部署所述缩放计划。
8.一种用于在多级计算平台中进行自动资源缩放的计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质,以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括被编程为执行以下操作的指令:
接收关于多级计算平台的第一资源的第一工作负载度量;
基于所述第一工作负载度量和预定标准的组合,预测关于所述第一资源的缩放动作;
基于所述缩放动作,将关于所述第一资源的预测度量插入到运行时可修改规则集中;
基于所述缩放动作和所述运行时可修改规则集的组合,生成关于所述第一资源的缩放计划;
将所述缩放计划发送到与所述第一资源相关联的所述多级计算平台的级;以及
基于所述运行时可修改规则集,触发所述缩放计划的实现。
9.根据权利要求8所述的计算机程序产品,其中,所述多级计算平台包括混合云平台,所述混合云平台包括以分层方式构造的多个云级,其中,每个云级选自由以下各项组成的组:私有云计算平台和公共云计算平台。
10.根据权利要求9所述的计算机程序产品,还包括被编程为执行以下操作的指令:
接收关于所述多级计算平台的第二资源的第二工作负载度量;
基于所述第二工作负载度量,生成第二预测缩放决定;
生成在所述多级计算平台的相应级本地的运行时可修改自动缩放规则集;
修改应用级配置文件和应用级设定;
生成本地配置改变计划;以及
基于所述本地配置改变计划,部署并管理在所述多级计算平台的相应级上运行的服务。
11.根据权利要求8所述的计算机程序产品,其中,所述第一工作负载度量选自由以下各项组成的组:处理器利用率、存储器使用率、存储装置使用率、网络带宽使用率、到达速率、到达间隔时间、响应时间、吞吐量和服务负载模式。
12.根据权利要求8所述的计算机程序产品,其中,所述第一资源选自由以下各项组成的组:存储器、存储装置、网络带宽和处理器利用率。
13.根据权利要求8所述的计算机程序产品,其中,被编程为执行触发所述缩放计划的实现的指令还包括被编程为执行以下操作的指令:
确定所述第一工作负载度量超过阈值达预定义时间段;以及
响应于确定所述第一工作负载度量超过所述阈值达所述预定义时间段,部署所述缩放计划。
14.根据权利要求8所述的计算机程序产品,其中,被编程为执行触发所述缩放计划的实现的指令还包括被编程为执行以下操作的指令:
确定阈值超过所述第一工作负载度量达预定义时间段;以及
响应于确定所述阈值超过所述第一工作负载度量达所述预定义时间段,部署所述缩放计划。
15.一种用于在多级计算平台中进行自动资源缩放的计算机系统,所述计算机系统包括:
处理器组;以及
一个或多个计算机可读存储介质;
其中:
所述处理器组被构造、定位、连接和/或编程为运行存储在所述一个或多个计算机可读存储介质上的程序指令;以及
所述程序指令包括被编程为执行以下操作的指令:
接收关于多级计算平台的第一资源的第一工作负载度量;
基于所述第一工作负载度量和预定标准的组合,预测关于所述第一资源的缩放动作;
基于所述缩放动作,将关于所述第一资源的预测度量插入到运行时可修改规则集中;
基于所述缩放动作和所述运行时可修改规则集的组合,生成关于第一资源的缩放计划;
将所述缩放计划发送到与所述第一资源相关联的所述多级计算平台的级;以及
基于所述运行时可修改规则集,触发所述缩放计划的实现。
16.根据权利要求15所述的计算机系统,其中,所述多级计算平台包括混合云平台,所述混合云平台包括以分层方式构造的多个云级,其中,每个云级选自由以下各项组成的组:私有云计算平台和公共云计算平台。
17.根据权利要求16所述的计算机系统,还包括被编程为执行以下操作的指令:
接收关于所述多级计算平台的第二资源的第二工作负载度量;
基于所述第二工作负载度量,生成第二预测缩放决定;
生成在所述多级计算平台的相应级本地的运行时可修改自动缩放规则集;
修改应用级配置文件和应用级设定;
生成本地配置改变计划;以及
基于所述本地配置改变计划,部署并管理在所述多级计算平台的相应级上运行的服务。
18.根据权利要求15所述的计算机系统,其中,所述第一工作负载度量选自由以下各项组成的组:处理器利用率、存储器使用率、存储装置使用率、网络带宽使用率、到达速率、到达间隔时间、响应时间、吞吐量和服务负载模式。
19.根据权利要求15所述的计算机系统,其中,所述第一资源选自由以下各项组成的组:存储器、存储装置、网络带宽和处理器利用率。
20.根据权利要求15所述的计算机系统,其中,被编程为执行触发所述缩放计划的实现的指令还包括被编程为执行以下操作的指令:
确定所述第一工作负载度量超过阈值达预定义时间段;以及
响应于确定所述第一工作负载度量超过所述阈值达所述预定义时间段,部署所述缩放计划。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/094,856 US11762709B2 (en) | 2020-11-11 | 2020-11-11 | Predictive auto-scaler for a hierarchical computing infrastructure |
US17/094,856 | 2020-11-11 | ||
PCT/CN2021/126859 WO2022100438A1 (en) | 2020-11-11 | 2021-10-28 | Predictive auto-scaler for a hierarchical computing infrastructure |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116438519A true CN116438519A (zh) | 2023-07-14 |
Family
ID=81454479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180075777.2A Pending CN116438519A (zh) | 2020-11-11 | 2021-10-28 | 用于分层计算基础设施的预测自动缩放器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11762709B2 (zh) |
JP (1) | JP2023548517A (zh) |
CN (1) | CN116438519A (zh) |
DE (1) | DE112021005219T5 (zh) |
GB (1) | GB2617712A (zh) |
WO (1) | WO2022100438A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11762709B2 (en) | 2020-11-11 | 2023-09-19 | International Business Machines Corporation | Predictive auto-scaler for a hierarchical computing infrastructure |
US12106155B2 (en) * | 2021-12-20 | 2024-10-01 | Jpmorgan Chase Bank N.A. | System and method for performing preemptive scaling of micro service instances in cloud network |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251033B2 (en) * | 2011-07-07 | 2016-02-02 | Vce Company, Llc | Automatic monitoring and just-in-time resource provisioning system |
EP2764436A4 (en) | 2011-10-04 | 2015-12-09 | Tier 3 Inc | PREDICTIVE TWO-DIMENSIONAL AUTOSCALING |
US9372735B2 (en) | 2012-01-09 | 2016-06-21 | Microsoft Technology Licensing, Llc | Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool |
US10552745B2 (en) | 2013-10-18 | 2020-02-04 | Netflix, Inc. | Predictive auto scaling engine |
US9300552B2 (en) * | 2013-12-16 | 2016-03-29 | International Business Machines Corporation | Scaling a cloud infrastructure |
US10452992B2 (en) * | 2014-06-30 | 2019-10-22 | Amazon Technologies, Inc. | Interactive interfaces for machine learning model evaluations |
US9547534B2 (en) | 2014-10-10 | 2017-01-17 | International Business Machines Corporation | Autoscaling applications in shared cloud resources |
CN106201718A (zh) | 2016-07-05 | 2016-12-07 | 北京邮电大学 | 一种基于负载预测的云计算资源动态伸缩方法 |
US11010205B2 (en) | 2017-05-30 | 2021-05-18 | Hewlett Packard Enterprise Development Lp | Virtual network function resource allocation |
KR20220044717A (ko) * | 2019-08-07 | 2022-04-11 | 인텔 코포레이션 | 작업 스케줄링 효율을 향상시키기 위한 방법, 시스템, 제품 및 장치 |
CN111491006B (zh) | 2020-03-03 | 2021-11-02 | 天津大学 | 负载感知的云计算资源弹性分配系统及方法 |
US11762709B2 (en) | 2020-11-11 | 2023-09-19 | International Business Machines Corporation | Predictive auto-scaler for a hierarchical computing infrastructure |
-
2020
- 2020-11-11 US US17/094,856 patent/US11762709B2/en active Active
-
2021
- 2021-10-28 DE DE112021005219.5T patent/DE112021005219T5/de active Pending
- 2021-10-28 WO PCT/CN2021/126859 patent/WO2022100438A1/en active Application Filing
- 2021-10-28 GB GB2308635.8A patent/GB2617712A/en active Pending
- 2021-10-28 CN CN202180075777.2A patent/CN116438519A/zh active Pending
- 2021-10-28 JP JP2023526686A patent/JP2023548517A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US11762709B2 (en) | 2023-09-19 |
JP2023548517A (ja) | 2023-11-17 |
GB202308635D0 (en) | 2023-07-26 |
US20220147401A1 (en) | 2022-05-12 |
WO2022100438A1 (en) | 2022-05-19 |
GB2617712A (en) | 2023-10-18 |
DE112021005219T5 (de) | 2023-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111344668B (zh) | 软件应用的部署配置的动态选择 | |
US11805076B2 (en) | Microservice placement in hybrid multi-cloud using graph matching | |
US11409568B2 (en) | Dynamically scaling out pods using a recursive way | |
JP2023549655A (ja) | コンテナ・スケーリングおよび移動を実施する方法、システム | |
US20200082316A1 (en) | Cognitive handling of workload requests | |
CN114341810A (zh) | 跨服务基础设施部署微服务 | |
JP2014532247A (ja) | 容易にクラウド化可能なアプリケーションの発見型の識別および移行 | |
US10891547B2 (en) | Virtual resource t-shirt size generation and recommendation based on crowd sourcing | |
AU2021227744B2 (en) | Providing customized integration flow templates | |
Kapassa et al. | SLAs in 5G: A complete framework facilitating VNF-and NS-tailored SLAs management | |
CN116438519A (zh) | 用于分层计算基础设施的预测自动缩放器 | |
CN116391175A (zh) | 自动缩放用于企业级大数据工作负载的查询引擎 | |
WO2019227011A1 (en) | Device for orchestrating distributed application deployment with end-to-end performance guarantee | |
US20200151621A1 (en) | System and method for preparing computing devices in anticipation of predicted user arrival | |
CN117616395A (zh) | 迁移期间应用的连续活跃度和完整性 | |
US12124887B2 (en) | Microservice measurement and merging | |
CN114902626B (zh) | 在云租户加载/卸载期间生成用于外部系统的扩展计划 | |
US10778785B2 (en) | Cognitive method for detecting service availability in a cloud environment | |
CN114466005A (zh) | 物联网设备编排 | |
WO2023185675A1 (en) | Proactive auto-scaling | |
US20200380530A1 (en) | Automatic internet of things enabled contract compliance monitoring | |
US20220357930A1 (en) | Container file creation based on classified non-functional requirements | |
US10417055B2 (en) | Runtime movement of microprocess components | |
US20210287233A1 (en) | Commercial robot run time optimization using analysis of variance method | |
US20230334720A1 (en) | What-if scenario based and generative adversarial network generated design adaptation |
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 |