CN106576114A - 基于策略的资源管理和分配系统 - Google Patents
基于策略的资源管理和分配系统 Download PDFInfo
- Publication number
- CN106576114A CN106576114A CN201580042352.6A CN201580042352A CN106576114A CN 106576114 A CN106576114 A CN 106576114A CN 201580042352 A CN201580042352 A CN 201580042352A CN 106576114 A CN106576114 A CN 106576114A
- Authority
- CN
- China
- Prior art keywords
- resource
- user
- order
- service
- demand
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/828—Allocation of resources per group of connections, e.g. per group of users
-
- 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]
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- 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
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本公开内容一般涉及改进可配置计算资源的管理和供应。本文公开了用于基于资源策略来管理和供应可配置计算资源(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)的某些技术。这些技术中的一个技术为用户提供了基于基于需求的策略和/或基于贡献的策略来在某种程度上控制可配置计算资源的供应的能力。
Description
优先权声明
本申请要求于2015年8月6日提交的标题为“CONTRIBUTION POLICY-BASEDRESOURCE MANAGEMENT AND ALLOCATION SYSTEM(基于贡献策略的资源管理和分配系统)”的美国非临时申请No.14/819,827以及于2015年8月6日提交的标题为“DEMAND POLICY-BASED RESOURCE MANAGEMENT AND ALLOCATION SYSTEM(基于需求策略的资源管理和分配系统)”的美国非临时申请No.14/819,815的优先权和权益,这两个申请都要求于2014年8月8日提交的标题为“RESOURCE MANAGEMENT AND ALLOCATION SYSTEM(资源管理和分配系统)”的美国临时申请No.62/035,370的优先权。在此出于所有目的通过引用并入上述申请中的每个申请的全部内容。
背景技术
本公开一般涉及计算机系统和软件,并且更具体地涉及用于便于和自动化分布式计算环境中的服务供应的技术。诸如云计算环境之类的分布式计算环境是用于实现对可以用最少的管理工作或与服务提供者的最少交互来快速供应和发布的可配置计算资源(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)的共享池的方便、按需的网络访问的服务交付模型。提供者可以经由分布式计算环境提供各种服务。这些服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它服务类别下提供的一个或多个服务。
经由订单或服务订阅,用户(例如,客户或客户机)可以订购由分布式计算环境提供的服务中的一个或多个服务。然后分布式计算环境执行处理(例如,供应、管理和跟踪),以提供在用户的订阅订单内被请求的服务。通常,当提供者(例如,云服务提供者)接收到订阅一个或多个服务的订单或服务订阅时,分布式计算环境向请求用户供应或分配用于该一个或多个服务的可配置计算资源。然而,请求用户不具有对如何供应或分配可配置计算资源的控制,分布式计算环境也不能管理可配置计算资源以预期请求用户对可配置计算资源的需求。这些挑战可以带来不能由供应或分配可配置计算资源的现有分布式计算环境轻易解决的自动化、性能和可用性(usability)问题。
发明内容
本公开一般涉及改进可配置资源的管理和供应。本文公开了用于基于资源策略管理和供应可配置计算资源的某些技术,以便于减少或取消(nullify)基础设施设置时间、使可重复的复杂集成自动化、避免人为干预以及提供可配置计算资源的更好的管理和可用性。
在一些实施例中,本发明向用户提供了基于资源策略在一定程度上控制可配置计算资源(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)的供应的能力。例如,用户可以具有指定供应资源的地理位置的能力;如果服务是多租户服务(例如,同一资源可以由两个分开的用户共享),则用户可以具有指示用户不想共享资源的能力;如果服务是多租户服务,则用户可以具有指示对特定租户的亲和性(affinity)的能力(例如,用户可以具有指示他们想与租户X共享资源的能力),或者相反地,用户可以具有指示他们不想与特定租户共享的能力;用户可以具有将一个或多个可配置计算资源贡献给分布式计算环境的资源池以交换可请求的可配置计算资源的能力;用户可以具有控制用于服务的分开的POD供应和服务供应的能力;等等。
在一些实施例中,本发明提供了具有基于资源策略来管理、预期和预先创建可配置计算资源和可配置计算资源的设置或组的能力的分布式计算环境。例如,分布式计算环境可以具有基于资源策略和包括可配置计算资源的服务请求的当前百分比来自动预先创建若干可配置计算资源的能力;分布式计算环境可以具有基于资源策略和新服务或产品发布的进展来自动预先创建若干可配置计算资源的能力;分布式计算环境可以具有监视对一起使用的资源集合或资源组的需求的百分比以及基于资源策略和对可配置计算资源的需求来预先创建或按需创建识别出的可配置计算资源的集合或组的能力;分布式计算环境可以具有基于资源策略和对可配置计算资源的需求来控制用户可以或已经贡献给分布式计算环境的若干可配置计算资源以及可以被提供或已经被提供给用户以交换所贡献的可配置计算资源的若干可配置计算资源的能力;等等。
在至少一个实施例中,方法由计算系统执行,并且该方法包括接收用户对服务的订单。该服务部分地通过资源的分配来实现。该方法还可以包括解析该订单,以识别包括请求者、资源和请求时间的请求数据。该方法还可以包括将请求数据添加到聚合数据结构,其中聚合数据结构包括用于先前解析的订单的请求数据的聚合。该方法还可以包括基于聚合数据结构来确定指示对资源的实时需求的值。该方法可以附加地包括基于请求数据的至少一个组成部分在该订单与来自先前解析的订单的至少一个其它订单之间是相同的而将该订单与该至少一个其它订单相关,以及基于该订单与该至少一个其它订单相关来识别至少一个资源集合,其中该至少一个资源集合包括来自该订单的资源和从该至少一个其它订单请求的另一资源。
可选地,该方法还可以包括基于所确定的指示对资源的实时需求的值来生成或更新用于资源分配的一个或多个需求策略,基于该一个或多个需求策略预先创建所述资源,以及基于该一个或多个需求策略将预先创建的资源分配给一个或多个用户。指示对资源的实时需求的值是使用从用于先前解析的订单的请求数据的聚合获得的对资源的当前请求量来确定的。
在至少一个实施例中,提供了包括存储在其上的指令的非暂态机器可读存储介质,当该指令由一个或多个处理器执行时,使得该一个或多个处理器执行方法,该方法包括基于请求数据的聚合来确定指示对资源池内的资源的实时需求的值。请求数据的聚合是从对包括该资源作为实现服务的至少一部分的服务的任何数量的先前接收的订单获得的。由一个或多个处理器执行的方法还可以包括基于所确定的指示对资源的实时需求的值来生成或更新用于资源分配的一个或多个需求策略,基于该一个或多个需求策略来预先创建资源,以及基于该一个或多个需求策略将预先创建的资源分配给一个或多个用户。
可选地,计算实时需求包括确定指示实时需求的值包括使用用于先前接收的订单的请求数据的聚合来确定在特定时间段内包括该资源的订单的百分比。
在至少一个实施例中,提供了包括一个或多个处理器和非暂态机器可读存储介质的系统。该系统还可以包括被配置为基于请求数据的聚合来确定指示对资源池内的资源的实时需求的值的程序指令。请求数据的聚合是从对包括该资源作为实现服务的至少一部分的服务的任何数量的先前接收的订单获得的。程序指令还可以被配置为基于请求数据的至少一个组成部分在该订单与来自先前接收的订单的至少一个其它订单之间是相同的而将该订单与该至少一个其它订单相关,以及基于该订单与该至少一个其它订单相关来识别至少一个资源集合。该至少一个资源集合包括来自该订单的资源和从该至少一个其它订单请求的另一资源。程序指令还可以被配置为跟踪资源池内的资源的利用率,以及基于以下项中的至少一个来生成或更新用于资源分配的一个或多个需求策略:(i)所确定的指示对该资源的实时需求的值,(ii)包括该资源的至少一个资源集,以及(iii)所跟踪的该资源的利用率。程序指令还可以被配置为基于一个或多个需求策略来进行以下操作中的至少一个:(i)预先创建资源,(ii)将资源添加到资源池,(iii)清理资源。程序指令被存储在非暂态机器可读存储介质上,以供一个或多个处理器执行。
可选地,系统还可以包括用于基于一个或多个需求策略将资源分配给一个或多个用户的程序指令。
在至少一个实施例中,方法由计算系统执行,并且该方法包括从用户接收资源提交。资源提交识别可贡献资源。该方法还可以包括识别用于资源提交的贡献策略。贡献策略是基于可贡献资源的资源类型与可请求资源的一个或多个资源类型之间的映射来识别的。该方法还可以包括基于识别出的用于资源提交的贡献策略来向与用户相关联的客户机计算系统发送可请求资源的一个或多个资源类型。该方法还可以包括从客户机计算系统接收指示用户对可请求资源的一个或多个资源类型中的资源类型的选择的信息。
可选地,该方法还可以包括接收用户对服务的订单。该服务部分地通过资源的分配来实现。该方法还可以包括确定资源的类型与用户选择的资源类型相匹配,以及实现对用于服务的资源的访问以交换可贡献资源。
在至少一个实施例中,提供了包括存储在其上的指令的非暂态机器可读存储介质,当该指令由一个或多个处理器执行时,使得该一个或多个处理器执行方法,该方法包括:从用户接收识别可贡献资源的资源提交,以及基于资源提交来确定可贡献资源的资源类型。由一个或多个处理器执行的方法还可以包括识别用于资源提交的贡献策略。识别贡献策略包括确定资源类型与在贡献策略中映射到可请求资源的一个或多个资源类型的可贡献资源的一个或多个资源类型相匹配。由一个或多个处理器执行的方法还可以包括基于识别出的用于资源提交的贡献策略向与用户相关联的客户机计算系统发送可请求资源的一个或多个资源类型。由一个或多个处理器执行的方法还可以包括从客户机计算系统接收指示用户对可请求资源的一个或多个资源类型中的资源类型的选择的信息。
可选地,由一个或多个处理器执行的方法还可以包括分配具有与由用户选择的资源类型匹配的类型的资源以交换可贡献资源。分配包括配置资源以用于服务用户。
在至少一个实施例中,提供了包括一个或多个处理器和非暂态机器可读存储介质的系统。该系统还可以包括被配置为从用户接收对服务的订单的程序指令,该订单识别可贡献资源和可请求资源。可贡献资源要被提供给资源池以交换可请求资源。程序指令还可以被配置为基于贡献策略来接受资源提交。贡献策略定义可贡献资源的类型中的第一资源类型与可请求资源的类型中的第二资源类型之间的映射。附加地,程序指令还可以被配置为接收提供对可贡献资源的访问和控制的访问凭证,更新资源池以指示用于服务分布式系统的一个或多个用户的可贡献资源的可用性,以及将可请求资源分配给用户。程序指令被存储在非暂态机器可读存储介质上,以供一个或多个处理器执行。
可选地,可贡献资源由所述用户管理,而可请求资源由另一用户管理。可替代地,可贡献资源由所述用户管理,而可请求资源是由分布式系统的资源管理器管理的资源池的组成部分。
在参考以下说明书、权利要求书和附图时,前述特征和实施例以及其它特征和实施例将变得更加明显。
附图说明
图1是根据本发明的实施例的云基础设施系统的逻辑视图。
图2绘出了根据本发明的实施例的基于策略的资源分配和管理系统的简化示意图。
图3绘出了根据本发明的实施例的基于放置策略的资源分配和管理的示例。
图4绘出了根据本发明的实施例的客户机设备和资源管理器的较详细的高级示意图。
图5绘出了根据本发明的实施例的基于贡献策略的资源分配和管理系统的简化示意图。
图6绘出了根据本发明的实施例的客户机设备和资源管理器的较详细的高级示意图。
图7绘出了根据本发明的实施例的描绘为基于贡献策略的资源分配执行的处理的简化流程图。
图8绘出了根据本发明的实施例的描绘为基于贡献策略的资源分配执行的处理的另一简化流程图。
图9绘出了根据本发明的实施例的描绘为基于需求策略的资源分配执行的处理的简化流程图。
图10绘出了根据本发明的实施例的描绘为基于需求策略的资源分配执行的处理的另一简化流程图。
图11绘出了可以结合本发明的实施例的网络环境的简化的高级示意图。
图12绘出了可以结合本发明的教导的另一个实施例。
图13绘出了用于实现实施例的分布式系统的简化示意图。
图14是根据本公开的实施例的其中服务可以作为云服务被提供的系统环境的一个或多个组件的简化框图。
图15示出了可以被用来实现本发明的实施例的示例性计算机系统。
具体实施方式
在下面的描述中,出于解释的目的,阐述了具体的细节,以便于提供对本发明的实施例的深入理解。然而,将明显的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在是限制性的。
本公开一般涉及基于资源策略来管理和分配可配置计算资源。出于本公开的目的,假设可配置计算资源的管理和分配至少部分地响应于订阅由分布式计算环境(诸如云计算环境)的服务提供者提供的一个或多个服务的一个或多个订阅订单来执行。虽然本文公开了关于管理和分配在包括SaaS、PaaS和IaaS的服务模型下提供的可配置计算资源的一些实施例,但这不旨在是限制性的。除了SaaS、PaaS和IaaS之外,本文公开的教导还可以被应用于其它服务模型。例如,教导适用于任何服务交付模型,以实现对可配置计算资源(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)的共享池的方便、按需的网络访问。
在某些实施例中,诸如云计算环境之类的分布式计算环境可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给用户的一套应用、中间件和数据库服务提供物(offering)。云计算环境可以提供许多能力,这些能力包括但不限于供应、管理和跟踪用户对云计算环境中的服务和资源的订阅、向利用云计算环境中的服务的用户提供可预测的运营费用、在云计算环境中提供健壮的身份域分离和用户数据的保护、向用户提供云计算环境的设计的透明架构和控制、向用户提供有保障的数据保护以及与数据隐私标准和规定的合规性、向用户提供用于在云计算环境中构建和部署服务的综合的开发经验以及向用户提供云计算环境中业务软件、中间件、数据库和基础设施服务之间的无缝集成。
在某些实施例中,由云基础设施系统提供的服务可以包括按需对云计算环境的用户可用的许多服务,诸如在线数据存储和备份解决方案、基于web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云计算环境提供的服务可以动态缩放,以满足它的用户的需求。由云计算环境提供的服务的具体实例化在本文中被称为服务实例。一般而言,从云服务提供者的系统经由诸如因特网之类的通信网络对用户可用的任何服务被称为云服务。通常,在公有云环境中,组成云服务提供者的系统的服务器和系统不同于用户自己的本地(on-premises)服务器和系统。例如,云服务提供者的系统可以托管应用,并且用户可以经由诸如因特网之类的通信网络按需订购和使用该应用。
计算机网络云基础设施中的服务包括对存储装置、托管的数据库、托管的web服务器、软件应用或由云供应商向用户提供或者如本领域已知的以其它方式提供的其它服务的受保护的计算机网络访问。例如,服务可以包括通过因特网对云上的远程存储装置的受密码保护的访问。作为另一个示例,服务可以包括由联网开发者私人使用的基于web服务的托管关系数据库和脚本语言中间件引擎。作为另一个示例,服务可以包括对云供应商的网站上托管的电子邮件软件应用的访问。
图1是根据本发明的一些实施例的云计算环境10的逻辑视图。云计算环境10可以经由云或联网环境提供各种服务。这些服务可以包括在SaaS、PaaS、IaaS或包括混合服务的其它服务类别下提供的一个或多个服务。用户可以经由订阅订单来订购由云计算环境10提供的一个或多个服务。然后云计算环境10执行处理,以提供用户的订阅订单中的服务。
云计算环境10可以经由不同的部署模型提供云服务。例如,服务可以在公有云模型下被提供,在该公有云模型中云计算环境10由销售云服务的组织拥有(例如,由Oracle拥有)并且服务对一般公众或不同的工业企业可用。作为另一个示例,服务可以在私有云模型下被提供,在该私有云模型中云计算环境10仅为单个组织操作并且可以为该组织内的一个或多个实体提供服务。云服务还可以在社区云模型下被提供,在该社区云模型中云基础设施系统100和由云计算环境10提供的服务由相关社区中的若干组织共享。云服务还可以在作为两个或更多个不同模型的组合的混合云模型下被提供。
如图1中所示,云计算环境10可以包括结合工作的多个组件,以实现由云计算环境10提供的服务的供应。在图1所示的实施例中,云计算环境10包括SaaS平台15、PaaS平台20、IaaS平台25、基础设施资源30和云管理功能35。这些组件可以在硬件、软件或其组合中实现。
SaaS平台15被配置为提供落入SaaS类别下的云服务。例如,SaaS平台15可以提供在集成开发和部署平台上构建和交付一套按需应用的能力。SaaS平台15可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台15提供的服务,用户可以利用在云计算环境10上执行的应用。用户可以获取应用服务而无需用户购买分开的许可和支持。
可以提供各种不同的SaaS服务。示例包括但不限于为大型组织的销售业绩管理、企业集成和业务灵活性提供解决方案的服务等。在一个实施例中,SaaS服务可以包括用户关系管理(CRM)服务40(例如,由Oracle云提供的Fusion CRM服务)、人力资本管理(HCM)/人才管理服务45等。CRM服务40可以包括涉及向用户和其他人报告和管理销售活动周期的服务。HCM/人才服务45可以包括涉及向用户提供全球劳动力生命周期管理和人才管理服务的服务。
各种不同的PaaS服务可以由PaaS平台20在标准化的、共享的和弹性可扩展的应用开发和部署平台中提供。PaaS服务的示例可以包括但不限于使得组织(诸如Oracle)能够在共享的公共架构上整合现有应用以及具有构建利用由平台提供的共享服务的新应用的能力的服务。PaaS平台20可以管理和控制用于提供PaaS服务的底层软件和基础设施。用户可以获取由云计算环境10提供的PaaS服务,而无需用户购买分开的许可和支持。PaaS服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等。
通过利用由PaaS平台20提供的服务,用户可以利用由云计算环境10支持的编程语言和工具并且还可以控制所部署的服务。在一些实施例中,由云计算环境10提供的PaaS服务可以包括数据库云服务50、中间件云服务(例如,Oracle Fusion Middleware服务)55和Java云服务60。在一个实施例中,数据库云服务50可以支持使得组织能够汇集(pool)数据库资源并且以数据库云的形式向用户提供数据库即服务的共享服务部署模型,中间件云服务55为用户提供开发和部署各种业务应用的平台,而Java云服务60为用户提供在云计算环境10中部署Java应用的平台。在图1中示出的SaaS平台15和PaaS平台20中的组件意在仅出于说明的目的,而并不旨在限制本发明的实施例的范围。在可替代的实施例中,SaaS平台15和PaaS平台20可以包括用于向云计算环境10的用户提供附加服务的附加组件。
各种不同的IaaS服务可以由IaaS平台20提供。IaaS服务便于利用由SaaS平台和PaaS平台提供的服务的用户对底层计算资源(诸如存储装置、网络和其它基础计算资源)的管理和控制。
在某些实施例中,云计算环境10包括基础设施资源30,以用于提供被用来向云计算环境10的用户提供各种服务的资源。在一个实施例中,基础设施资源30包括硬件(诸如服务器、存储装置和网络资源)的预先创建和优化的组合(例如,组或集合),以执行由PaaS平台和SaaS平台提供的服务。
在某些实施例中,云管理功能35在云计算环境10中提供云服务(例如,SaaS、PaaS、IaaS服务)的综合管理。在一个实施例中,云管理功能35包括供应、管理和跟踪由云基础设施系统10接收的用户的订单或订阅的能力等。
图2绘出了根据本发明的实施例的基于策略的资源分配和管理系统100的简化的高级示意图。如图2中所示,资源管理系统105(例如,包括一个或多个计算设备的服务提供者的计算系统)可以从用户或用户110(例如,客户机或计算设备)接收对一个或多个可配置计算资源115A-115J的订单或服务订阅107。提供给用户110的资源115A-115J可以位于一个或多个数据中心120A-120D中,该一个或多个数据中心120A-120D可以位于不同地理区域125A-120-D中。传统的服务提供者以对提供者最有成本效益的方式供应和分配资源,并且不使得用户能够定义如何或在哪里供应资源以最适合用户的需要。此外,现有技术系统是反应性的,因为它们按需提供资源。然而,这些系统不预期请求或者不基于当前需求来识别并且提供资源集合或资源组。本发明的实施例解决这些问题和其它问题。
根据本发明的方面,一个或多个可配置计算资源115A-115J(即,可贡献或可请求资源类型)可以是网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务,等等。POD是可以表示以下之一的逻辑实体:预供应的匿名单租户部署(如对于Java服务的情况);或服务多个租户的多租户栈(物理的或虚拟化的)(如对于数据库服务的情况)。例如,POD是在物理栈上的服务的部署。POD可以容纳一个或多个服务实例。POD可以先验地创建或者可以在为给定客户创建服务实例时按需创建。在一些实例中,POD是用于运行服务的软件栈的实例化。因此,POD被用来运行服务。例如,对应于Java服务的POD可以包括虚拟机的栈。作为另一个示例,用于数据库服务的POD可以包括数据库的实例。POD可以被认为是能够托管服务的子系统。不同的POD可以被用于不同的服务。
图3绘出了根据本发明的实施例的基于放置策略的资源分配和管理的示例流程图200。如上文所描述的,典型的服务提供者不使得用户或多个用户能够定义如何以及在何处供应它们所请求的可配置计算资源。替代地,可配置计算资源通常以对服务提供者最有成本效益的任何方式来分配。然而,对于服务提供者而言的最佳分配可能不能为终端用户提供最佳体验。
本发明的实施例通过使得用户能够为他们的可配置计算资源请求定义放置策略(即,资源策略)来向终端用户暴露细粒度资源分配能力。这可以向终端用户提供若干优点。例如,在IaaS的背景下,尤其是在终端用户的数据可以与其他用户的数据存储在同一计算节点上的情况下,终端用户可能关心他们的数据的安全性。虽然IaaS提供者做出关于数据安全性的保证,但是对于一些用户来说,这些保证可能是不够的。替代地,用户可能想要不与任何其他用户共享的他们自己的专用计算节点。其他用户可能较少关心数据安全性,但是可以具有可以由具体定义的资源分配最佳地服务的特定性能或冗余性要求。因此,本发明的实施例包括多个放置策略,以适应终端用户的需要。如本文所使用的,放置策略是指定义可配置计算资源(例如,计算节点)如何被分配以用于服务用户的规则。
根据本发明的方面,放置策略可以基于若干不同因素来分配资源。例如,在其中性能是问题的IaaS的背景下,计算资源可以被分组以在同一管理程序或管理程序集合(例如,作为创建和运行虚拟机(VM)的一件计算机软件、固件和/或硬件的虚拟机监视器(VMM)或VMM集合)上运行。通过减少对网络层的调用,与在不同管理程序或管理程序集合之间散布的资源相比,这可以改进网络通信和请求/响应时间。例如,共享存储资源可以在与其相关联的计算节点相同的管理程序或管理程序集合中被最佳地分配,以提高性能。如上文所描述的,安全性问题可以通过在专用管理程序上运行资源来解决。这可以被用来保护数据免受不同用户之间的或由同一用户控制的需要分开维护的数据集之间的恶意或无意访问。同样,还可以提供地理限制(例如,对托管资源的数据中心的位置的限制)以满足特定的安全性、性能或规定要求。附加地,隔离和/或冗余性可以通过在分开的管理程序或管理程序集合上运行特定资源来维护。这可以被用来保留数据以防止发生故障,或者对一个资源集合执行管理、监管(administrative)或基础设施操作(诸如打补丁),而不影响其它资源(例如,以减少停机时间)。在一些实施例中,企业设计、集成需求或其它功能需求可能要求组件仅可以在同一管理程序(例如,软件定义的基础设施(SDI))的范围内互操作。
在IaaS的背景下,放置策略的示例包括其中所分配的资源在被放置到管理程序集合的虚拟机上运行的专用管理程序策略。该管理程序集合是专用的,因为它们不与其他用户共享。最适合的放置策略可以将虚拟机分配给管理程序集合,以优化计算资源利用率。例如,管理程序集合可以根据需要与其他用户共享(以及运行其它资源),以节省资源、最大化资源利用率、减少碎片或其它资源优化。在一些实施例中,在用户没有指定放置策略的情况下,可以默认地选择最适合的放置策略。在计算资源的特定部分要一起运行的情况下,可以使用组适合(group fit)放置策略。虚拟机可以被分组在一起并且在同一管理程序池中的一个或多个管理程序上运行。放置策略可以由终端用户根据需要来定制,以创建结合来自上文描述的放置策略中的一个或多个放置策略或任何其它放置策略的特征的混合放置策略。
如图3中所示,用户205可以向资源管理器(例如,参考图2描述的资源管理系统105)提交包括拓扑定义215的订单或服务订阅210。拓扑定义可以包括终端用户所需的对于单独的可配置计算资源(例如,计算节点)的要求,诸如存储器、CPU的数量、存储装置要求以及其它规范。例如,如拓扑定义215中所示,订单或服务订阅210包括九个虚拟机220A-220I,每个虚拟机具有其自己的规范(例如,存储器、CPU的数量和存储装置)。这九个虚拟机被分组,以使得组1包括三个虚拟机220A-220C,组2包括2个虚拟机220D-220E,而剩余的四个虚拟机220F-220I未被分组。该拓扑定义215表示混合放置策略,因为为所请求的虚拟机的一部分指定了两个组,并且可以对剩余的虚拟机应用最适合策略。
在一些实施例中,可以以文本格式提供拓扑定义,如下面的列表1所示:
#---------------------------------------------------------------------------
TOPOLOGY=NUM_OF_VMS--
>VM_NO:VM_CPU_COUNT:VM_MEM_REQUIRED:VM_COMMENTS:VM_OS_TEMPLATE:GROUP_ID
#---------------------------------------------------------------------------
CRM_DEPLOYMENT=
13-->
1:8:32000:RAC_NODE1_HOST:OVM_OL5U6_X86_64_11203RAC_PVM:1,
2:8:32000:RAC_NODE2_HOST:OVM_OL5U6_X86_64_11203RAC_PVM:1,
3:0:0:RAC_NODE1_VIP_HOST:stit_oel5u6:1,
4:0:0:RAC_NODE2_VIP_HOST:stit_oel5u6:1,
5:0:0:RAC_CLUSTER_VIP_HOST:stit_oel5u6:1,
6:4:11264:IDM_HOST:HCM_DVF_REL5_GA_OIM:0,
7:2:1024:IDM_HOST2:HCM_DVF_REL5_GA_AUTHOHS:0,
8:4:12288:IDM_HOST3:HCM_DVF_REL5_GA_OID:0,
9:2:3072:OHS_HOST:HCM_DVF_REL5_GA_OHS:0,
10:4:15360:FA_ADMIN_HOST:HCM_DVF_REL5_GA_FA:0,
11:4:20480:FA_PRIMARY_HOST:HCM_DVF_REL5_GA_PRIMARY:0,
12:24:50176:FA_SECONDARY_HOST:HCM_DVF_REL5_GA_SECONDARY:0,
13:4:6144:BI_HOST:HCM_DVF_REL5_GA_BI:0
列表1.示例拓扑定义
如列表1中所示,两个组中的十三个虚拟机被请求。在一些实施例中,组可以基于VM的名称来识别,而无需显式的组ID。列表1定义了用户关系管理器(CRM)部署的示例拓扑。拓扑定义中的每个VM包括VM编号(VM_NO)、定义的CPU数量(VM_CPU_COUNT)、定义的存储器的量(VM_MEM_REQUIRED)、VM名称(VM_COMMENTS)和操作系统定义(VM_OS_TEMPLATE)以及组ID(GROUP_ID)。在一些实施例中,拓扑定义可以包括更多或更少的要求。例如,在一些实施例中,用于每个VM的拓扑定义可以包括指示是否使用代理节点的标志。一些VM(诸如VM 3-5)可以在没有CPU或存储器要求的情况下被请求,这些VM可以被设置为用于部署的IP地址。
如上所示,组可以基于拓扑定义被自动识别和/或在拓扑定义中显式定义。例如,在列表1中,每个名为“RAC_*”的虚拟机可以被识别并且被自动分组。在一些实施例中,推荐的组可以基于节点名称来识别并且呈现给用户以供确认。在一些实施例中,显式的组ID可以包括在拓扑定义中。例如,如列表1中所示,VM 1-5包括Group_ID 1,而VM 6-13包括Group_ID 0。在一些实施例中,如果Group_ID对应于预先存在的组,则新请求的VM可以被添加到该预先存在的组。
如图3中所示,在IaaS的背景下,订单或服务订阅内的所请求的资源可以基于拓扑定义215从资源池225分配。在一些实施例中,资源池225可以是由IaaS提供者管理的管理程序池。在一些实施例中,资源池225可以包括跨多个远程数据中心分布的多个资源池。
图4绘出了根据本发明的实施例的客户机设备和资源管理器的较详细的高级示意图300。如图4中所示,终端用户可以使用用户计算机310与资源管理器305(例如,如上文参考图2描述的资源管理系统105)通信,以发送包括资源请求和拓扑定义320的订单或服务订阅315。订单或服务订阅315可以由资源请求接口325接收并且被转发到资源池330和策略管理器335。资源池330可以充当到由资源管理器305管理的一个或多个数据中心处的一个或多个资源池(例如,参考图3描述的资源池225)的接口。资源池330可以维护数据中心索引340和资源索引345。每个索引340和345可以指示在特定数据中心处当前可用的可配置计算资源和/或可以由每个数据中心提供的可配置计算资源。例如,数据中心索引340可以指示在每个连接的数据中心中有多少管理程序可用以及这些管理程序是否可以共享和/或用于专用的放置策略。类似地,资源索引345可以指示在任何给定的数据中心处什么预先存在的可配置计算资源可用,诸如当前可用的应用服务器、真正应用集群(RAC)节点、存储节点等等。资源分配模块350可以接收订单或服务订阅315,并且可以确定所请求的可配置计算资源以及根据什么放置策略(如果有的话)。资源分配模块350可以与策略管理器335通信,以识别和确定所指定的放置策略的要求。策略管理器335可以维护包括需求策略360、贡献策略365和放置策略370的多个策略定义355。策略管理器335还可以包括可以根据需要更新策略定义355的策略更新模块375。
图5绘出了根据本发明的实施例的基于贡献策略的资源分配和管理系统的简化示意图。在一些实施例中,用户可以贡献未使用的或额外的可配置计算资源以交换不同的可配置计算资源、关于订单或服务订阅的折扣或其它形式的补偿。例如,诸如私有云基础设施提供者之类的服务提供者可以从可配置计算资源的共享池为来自多个不同用户和/或组织的订单或服务订阅提供服务。每个用户或组织(例如,客户)可以拥有或控制可能未被充分利用或者可能不再被使用的其自己的硬件和/或软件资源,例如管理程序、存储节点或其它可配置计算资源。图5中示出的实施例允许这些用户和/或组织贡献他们的未使用的可配置计算资源以交换报酬和/或将由贡献用户使用的其它可配置计算资源。例如,在IaaS的背景下,用户可能具有用户不需要的额外存储节点。作为贡献他们的额外存储节点的交换,用户可以能够请求RAC节点。用户还可以贡献管理程序、软件、网络、POD或其它可配置计算资源。
如图5中所示,每个用户405可以与可贡献资源410相关联。在一些实施例中,可贡献资源410由用户管理并且可以是可能未被充分利用或可能不再被使用的硬件和/或软件类型的资源,例如网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等。每个用户405可以向资源管理器420(例如,如上文参考图1描述的资源管理系统105)发送包括所贡献资源的描述的资源提交415。例如,描述可以包括所贡献的资源类型(例如,服务器)和资源的细节,诸如资源的名称、存储器、CPU信息、操作系统、附加的硬件和/或软件等。资源管理器420可以考虑到当前资源可用性和/或资源需求来评估可贡献资源410,并且返回定义作为可贡献资源410的交换用户405可以接收的一个或多个类型的可请求资源425的交换报价(offer)。在一些实施例中,可请求资源425由资源管理器420管理并且可以是可用于为用户服务的硬件和/或软件类型的资源,例如网络、网络带宽、服务器、POD、处理、存储器、存储装置、虚拟机、服务等。如果交换(例如,用可贡献资源410交换可请求资源425)满足贡献用户405的需要,则用户405可以接受该报价并将可贡献资源410的控制转交给资源管理器420。例如,用户405可以向资源管理器420提供访问凭证(例如,用户名和密码),该访问凭证提供对可贡献资源410的访问和控制。然后,用户405可以从资源管理器406接收用于可请求资源425的议价(bargained)。
这对于可以用用户不需要的一种类型的可配置计算资源来交换用户确实需要的不同类型的可配置计算资源的用户是有利的。在一些实施例中,用户作为交换接收的可配置计算资源(例如,可请求资源)可以在资源池中的任何管理程序上运行,而不需要用户设置期望的可配置计算资源。例如,用户可以购买计算节点,但是可以不具有设置该计算节点上的可配置计算资源的任何特定的专门知识。通过贡献计算节点,用户可以在不需要用户的任何设置的情况下作为交换接收在不同的计算节点上运行的所期望的可配置计算资源。这还可以由组织在内部使用。诸如大型软件开发公司之类的组织可以基于预期需要将可配置计算资源分配给组织的不同子组。当子组需要改变时,由于承担新的项目或由于市场中的需求变化,组织可能难以在子组之间重新分配可配置计算资源。通过使用基于贡献策略的资源管理和分配系统,子组可以自发地重新平衡资源,而不需要组织的重新分配。贡献策略可以基于需求来定义资源贡献的“交换率”(例如,可贡献资源与可请求资源之间的映射)并且可以被动态更新。类似地,这样的基于贡献策略的系统可以跨组织使用。资源管理器可以充当为组织提供用于贡献它们的计算资源的标准化协议的可信方。这可以与上文描述的基于放置策略的系统结合使用,以确保来自一个组织的敏感信息不被暴露给竞争组织的计算资源。
图6绘出了根据本发明的实施例的客户机设备和资源管理器的较详细的高级示意图500。如图6中所示,资源管理器505(例如,如上文分别参考图2、图4和图5所描述的资源管理系统105或资源管理器305;420)包括若干子系统或模块,这些子系统或模块包括资源提交接口510、用户账户历史515和需求监视器520。附加地,资源管理器505可以包括策略管理器525、资源池530和资源请求接口535(例如,如上文参考图3描述的策略管理器335、资源池330和资源请求接口325)。这些子系统可以用软件(例如,可由一个或多个处理器执行的程序代码、指令)、用硬件或其组合来实现。在一些实施例中,软件可以被存储在存储器(例如,非暂态计算机可读介质)中、在存储器设备或某些其它物理存储器上,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器核、一个或多个GPU等)执行。
如图6中所绘出的,用户计算机540可以执行诸如浏览器545之类的web应用,该web应用使得用户计算机540的用户能够向资源管理器505发送资源提交,以向资源管理器505贡献可配置计算资源(例如,可贡献资源)。资源提交可以指定所贡献的资源类型(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)和资源的细节,诸如资源的名称、存储器、CPU信息、操作系统、附加硬件和/或软件等。可贡献资源由用户拥有或以其它方式控制(例如,管理)(例如,用户完全或部分地不再使用的资源),诸如本地资源550A和/或用户可以通过网络555访问的远程资源550B。
在一个实施例中,资源提交接口510可以接收资源提交并且与策略管理器525通信,以识别可以应用于资源提交的一个或多个贡献策略。例如,每个贡献策略可以指定可以作为所贡献的资源类型的交换被提供的一个或多个类型的可请求资源(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)。一旦已经识别出适用的贡献策略,则策略管理器525可以返回为资源提交识别出的一个或多个类型的可请求资源。相应地,每个贡献策略有效地表示作为可贡献资源的交换用户可以接受或拒绝的一个或多个类型的可请求资源的报价。如果用户选择或接受一个或多个类型的可请求资源中的一个类型的可请求资源,则用户帐户历史560可以被更新以在贡献历史565中指示由用户贡献的资源。其后,用户可以提交包括对先前选择或接受的类型的可请求资源的资源请求的订单或服务订阅,并且资源管理器505可以用可请求资源的分配来响应。附加地,当用户提交订单或服务订阅时,可以类似地用对资源的请求来更新资源请求历史570。跟踪用户的贡献和订单或服务订阅历史使得资源管理器505能够跟踪用户是否已接收到作为可贡献资源的交换的商定(agree upon)的可请求资源。
在一些实施例中,贡献策略可以基于特定用户的贡献历史来为该特定用户定制。例如,具有贡献许多可配置计算资源的历史的用户可以接收比具有有限贡献历史的用户更优惠的报价(例如,作为贡献的交换的比否则基于当前需求提供的更多的可配置计算资源)。
在可替代实施例中,资源提交接口510可以接收包括贡献一个或多个类型的资源以交换一个或多个可请求资源的报价的订单或服务订阅,并且与策略管理器525通信以确定该报价是否可以被满足。例如,订单或服务订阅可以定义作为用户优选的一个或多个可请求资源的交换而可以贡献的一个或多个资源。附加地,订单或服务订阅可以定义可以从其提供一个或多个可请求资源的一个或多个用户和/或一个或多个地理区域。相应地,每个订单或服务订阅有效地表示策略管理器525可以接受、拒绝或还价(counter)(例如,基于由策略管理器525维护的贡献策略,提出一个或多个其它类型的可配置计算资源)的用一个或多个类型的可贡献资源交换一个或多个类型的可请求资源的报价。如果策略管理器525接受该报价,则用户账户历史560可以被更新以在贡献历史565中指示用户对一个或多个资源的贡献。附加地,可以类似地用用户请求的一个或多个资源来更新资源请求历史570。报价的接受可以由策略管理器525基于若干因素来确定,该若干因素包括但不限于从可以提供可贡献资源或可请求资源的一个或多个用户授予的许可、可贡献资源或可请求资源的类型的可用性和/或需求、可贡献资源的类型和可请求资源的类型之间的交换的平等性、策略管理器525维护的贡献策略,等等。在这样的实施例中,第一用户“A”有可能与第二用户“B”关于项目或作业(job)协作并且彼此共享一个或多个资源以完成项目或作业的每个用户的部分,和/或对于彼此之间的一个或多个资源的交换订立协议。
在一些实施例中,由策略管理器525维护的资源策略(例如,贡献策略)可以基于对不同类型的可贡献资源和/或可请求资源的当前需求来动态更新。当订单或服务订阅从资源请求接口535被转发到策略管理器525时,需求监视器575可以利用请求拦截器580来拦截或接收这些订单或服务订阅。在一些实施例中,需求监视器575可以在报告时段结束时(例如,每天或每小时)从策略管理器525批量接收订单或服务订阅,而不是拦截或接收每个订单或服务订阅。当需求监视器575拦截或接收订单或服务订阅时,需求监视器575可以向策略管理器525转发订单或服务订阅并且保留订单或服务订阅的副本。请求解析器583可以分析订单或服务订阅,以确定所请求的可配置计算资源、请求资源的实体以及资源被请求的时间。然后,解析后的订单或服务订阅可以被添加到聚合请求历史585。聚合请求历史585可以包括存储按时间、请求者和所请求的资源排序的订单或服务订阅的运行列表的数据结构。实时需求计算器590可以分析特定的时间段或请求量的聚合请求历史585,以确定该时间段的需求。资源需求相关器595也可以分析聚合请求历史585,以确定订单或服务订阅中的模式。可配置计算资源的动态资源集合或组可以基于订单或服务订阅模式来定义,以使得当给定的可配置计算资源被请求时,动态资源集合中的其它资源也被供应并且被配置为与所请求的资源通信。
图7-10绘出了根据本发明的实施例的描绘为基于贡献策略和基于需求策略的资源分配所执行的处理的简化流程图。图7-10的步骤可以在例如图1-6和11-15的环境中实现。如本文所指出的,图7-10的流程图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示包括用于实现指定逻辑功能的一条或多条可执行指令的代码的模块、段或部分。还应当指出的是,在一些可替代实施方式中,框中指出的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,相继示出的两个框事实上可以基本并发执行,或者这些方框有时可以以相反的顺序执行。还将指出的是,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
图7绘出了描绘使用由策略管理器维护的贡献策略为基于贡献策略的资源分配执行的处理的简化流程图600。在步骤605处,可以接收识别可贡献资源的资源提交。例如,如上文所描述的,资源提交接口510可以接收来自用户计算机540的资源提交并且将资源提交转发到策略管理器525。资源提交可以指定所贡献的资源类型(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)和资源的细节,诸如资源的名称、存储器、CPU信息、操作系统、附加的硬件和/或软件等。可贡献资源由用户拥有或以其它方式控制(例如,管理)(例如,用户完全或部分地不再使用的资源),诸如本地资源550A和/或远程资源550B。
在步骤610处,可以识别可以应用于资源提交的一个或多个贡献策略。例如,每个贡献策略可以指定可以作为所贡献的资源类型的交换而提供的可请求资源的一个或多个资源类型(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)。一个或多个贡献策略的识别可以包括基于资源提交确定可贡献资源的资源类型,以及确定该资源类型匹配(一个或多个贡献策略内的)可贡献资源的一个或多个资源类型、在一个或多个贡献策略中映射到可请求资源的一个或多个资源类型的可贡献资源的一个或多个资源类型。相应地,每个贡献策略有效地表示作为可贡献资源的交换用户可以接受或拒绝的一个或多个类型的可请求资源的报价。一旦已经识别出适用的贡献策略,则策略管理器525可以返回为资源提交识别的一个或多个类型的可请求资源。在一些实施例中,可以使用基于任何数量的因素更严密地定制或定义的贡献策略来进一步开发一个或多个贡献策略的识别,这些因素包括可用于由用户使用的一个或多个类型的可请求资源、一个或多个类型的可贡献资源和/或可请求资源的需求水平以及用户的资源贡献历史,例如,具有贡献许多资源的历史的用户可以接收比具有有限贡献历史的用户更优惠的贡献策略或报价(例如,作为贡献的交换的比否则基于当前需求提供的更多的资源)。
在步骤615处,可以基于识别出的一个或多个贡献策略向用户发送可以作为所贡献的资源类型的交换而提供的可请求资源的一个或多个资源类型的标识。例如,资源提交接口510可以基于识别出的一个或多个贡献策略将可请求资源的一个或多个资源类型的标识从策略管理器525发送到用户计算机540。在步骤620处,当用户拒绝至少一种类型的可请求资源时,该拒绝可以被接收。例如,如上文所描述的,资源提交接口510可以从用户计算机540接收对至少一种类型的可请求资源的拒绝。在步骤625处,在用户选择或接受至少一种类型的可请求资源时,指示对该至少一种类型的可请求资源的选择或接受的信息可以被接收。例如,如上文所描述的,资源提交接口510可以从用户计算机540接收指示对至少一种类型的可请求资源的选择或接受的信息。在一些实施例中,该信息还可以包括提供对资源提交中识别出的可贡献资源的访问和控制的访问凭证(例如,用户名和密码)。
在步骤630处,用户账户历史和资源池可以被更新,以指示从至少一种类型的可请求资源的选择或接受而实现的改变。例如,用户账户历史560可以被更新,以在贡献历史565中指示作为可请求资源的该至少一个类型的交换而提供的可贡献资源。附加地,资源池530内的数据中心索引和/或资源索引可以被更新,以指示用于为资源管理器(例如,由服务提供者管理的分布式系统)的一个或多个用户服务的可贡献资源的可用性。
在步骤635处,可以从用户接收对可请求资源的订单或服务订阅。例如,资源提交接口510可以接收来自用户计算机540的订单或服务订阅,并且将订单或服务订阅转发到资源管理器505。在步骤640处,可以做出关于可请求资源是否具有通过先前的资源提交交换对于用户来说可用的类型(即,具有作为可贡献资源的交换而先前选择或接受的类型的可请求资源)的确定。例如,资源管理器505可以检查用户帐户历史560,以确定可请求资源是否具有作为可贡献资源的交换被承诺的类型。在步骤645处,当可请求资源不具有作为可贡献资源的交换被承诺的类型时,可请求资源可以根据其它订单或服务订阅策略(诸如本文所描述的(一个或多个)基于放置或需求策略的系统和/或传统的订单或服务订阅策略)被分配给用户。
在步骤650处,当可请求资源具有作为可贡献资源的交换被承诺的类型时,可请求资源可以基于先前识别的一个或多个贡献策略被分配给用户。例如,当可请求资源具有作为可贡献资源的交换被承诺的类型时,资源管理器505可以为了服务用户或消费者而从资源池530分配和配置可请求资源,并且向用户或消费者发送可请求资源已被分配的确认消息。可请求资源可以是具有由用户选择或接受的类型的任何可配置计算资源。例如,如果所选择的可请求资源的类型是RAC节点,则对一个RAC节点的请求可以被分配和配置以用于服务用户或消费者,其中该RAC节点通常针对数据文件的共享集合仅运行一个实例。
在一些实施例中,从其分配所请求的资源的资源池530可以是由IaaS提供者管理的管理程序池。在一些实施例中,资源池530可以包括跨多个远程数据中心分布的多个资源池。如应当理解的,所请求资源的分配和配置还可以基于拓扑定义和放置策略来定义,如上文参考图3和图4详细讨论的。
在步骤655处,用户账户历史和资源池可以被更新,以指示从对可请求资源的订单或服务订阅实现的改变。例如,用户账户历史560可以被更新,以便在资源请求历史570中指示已经向用户分配了可请求资源。跟踪用户的贡献历史和订单或服务订阅历史使得资源管理器505能够跟踪作为可贡献资源的交换用户是否接收到商定的可请求资源。附加地,资源池530内的数据中心索引和/或资源索引可以被更新,以指示为了服务用户的可请求资源的分配。
图8绘出了描绘使用由用户提供的订单或服务订阅为基于贡献策略的资源分配所执行的处理的简化流程图700。在步骤705处,可以接收包括贡献一个或多个资源以交换一个或多个可请求资源的报价的订单或服务订阅。例如,如上文所描述的,资源提交接口510可以接收来自用户计算机540的订单或服务订阅,并且将订单或服务订阅转发给策略管理器525。订单或服务订阅可以指定由用户拥有或以其它方式控制的、用户旨在贡献给由资源管理器505管理的资源池的一个或多个资源,诸如本地资源550A和/或远程资源550B。附加地,资源提交可以指定用户优选使用的一个或多个可请求资源。在一些实施例中,订单或服务订阅还可以识别一个或多个可贡献资源旨在服务的一个或多个用户、可以从其提供一个或多个可请求资源的一个或多个用户(默认可以是资源池)、和/或可以从其提供一个或多个可请求资源的一个或多个地理区域。
在步骤710处,报价可以被接受、拒绝或还价。例如,订单或服务订阅有效地表示策略管理器525可以接受、拒绝或还价的用一个或多个类型的可贡献资源交换一个或多个类型的可请求资源的报价(例如,在与参考图7的步骤605和610描述的过程类似的过程中基于由策略管理器525维护的贡献策略的一个或多个其它类型的可请求资源的还价)。订单或服务订阅的接受、拒绝或还价可以由策略管理器525基于任何数量的如下因素来确定:这些因素包括但不限于从可以提供可贡献资源和/或可请求资源的一个或多个用户授予的许可、可贡献资源和/或可请求资源的可用性和/或需求、可贡献资源的类型与可请求资源的类型之间的交换的平等性、由策略管理器525维护的贡献策略,等等。
在步骤715处,在报价被拒绝时,可以向用户发送订单或服务订阅的拒绝,并且过程结束。在步骤720处,在报价被还价时,可以向用户发送基于一个或多个贡献策略被识别为至少部分地满足订单或服务订阅的一个或多个其它类型的可请求资源。例如,资源提交接口510可以在与参考图7的步骤610和615描述的过程类似的过程中将一个或多个其它类型的可请求资源从策略管理器525发送到用户计算机540。此后,该过程可以以与参考图7的步骤620-655描述的方式类似的方式继续。
在步骤725处,在报价被接受时,可以向用户发送订单或服务订阅的接受。例如,如上文所描述的,资源提交接口510可以从策略管理器525接收报价的接受,并且将该接受转发到用户计算机540。在步骤730处,可以接收提供对所贡献的一个或多个资源的访问和控制的访问凭证(例如,用户名和密码)。例如,资源提交接口510可以从用户计算机540接收访问凭证,并且将访问凭证转发到资源管理器505。在步骤735处,用户账户历史和资源池可以被更新,以指示从报价的接受实现的改变。例如,用户账户历史560可以被更新,以便在贡献历史565中指示作为一个或多个可请求资源的交换由用户贡献的一个或多个资源。附加地,资源池530内的数据中心索引和/或资源索引可以被更新,以指示用于为资源管理器(例如,由服务提供者管理的分布式系统)的一个或多个用户服务的所贡献的一个或多个资源的可用性。
在步骤740处,可以分配在订单或服务订阅中识别出的一个或多个所请求的资源。例如,资源管理器505可以从资源池530分配该一个或多个所请求的资源以用于服务用户,并且发送该一个或多个所请求的资源已被分配的确认消息。在一些实施例中,资源池530可以是由IaaS提供者管理的管理程序池。在一些实施例中,资源池530可以包括跨多个远程数据中心分布的多个资源池。如应当理解的,一个或多个所请求资源的分配还可以基于拓扑定义和放置策略来定义,如上文参考图3和图4详细讨论的。
在步骤745处,用户帐户历史和资源池可以被更新,以指示从订单或服务订阅的接受实现的改变。例如,用户账户历史560可以被更新,以便在资源请求历史570中指示已经向用户分配了一个或多个所请求的资源。跟踪用户的贡献历史和请求历史使得资源管理器505能够跟踪作为一个或多个可贡献资源的交换用户是否已接收到商定的一个或多个所请求资源。附加地,资源池530内的数据中心索引和/或资源索引可以被更新,以指示用于服务用户的一个或多个所请求资源的分配。
如上文所描述的并且如图6中所示,资源管理器505可以包括可以跟踪对可配置计算资源(例如,网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等)的需求和对可配置计算资源的特定集合的需求的需求监视器575。这样的监视使得资源管理器505能够基于可定制的需求策略来预期和预先创建复杂的、连接的(wired)资源集合/组。这可以自动执行,而不需要管理员的干预。这通过响应于终端用户的请求在很少或没有设置时间的情况下提供终端用户需要的可配置计算资源(即,资源)来减少设置时间并且改善终端用户的体验。
在一些实施例中,可以基于资源之间已知的依赖性来生成需求策略。例如,如果第一资源不能在不请求第二资源的情况下使用,则对任一资源的请求可以自动包括另一资源。附加地,需求政策可以基于已知的“趋势”。例如,如果资源的升级或新发布被推向市场,则当接收到对资源的新版本的请求的数量时,预先创建的资源的旧版本的数量可以被减少。例如,应用的第一版本可以要求第一发布数据库,而应用的第二版本可以要求第二发布数据库。当应用的第二版本被采用时,来自应用的第二版本的请求或作业的数量将增加。随着该活动增加,与该应用相关联的需求策略可以被自动更新,以指示对第二发布数据库的增加的需求。当应用该需求策略时,给予用于数据库的第二发布的设置比数据库的第一发布更高的优先级,从而逐渐增加可用的第二发布数据库的数量。在一些实施例中,各种资源的新版本的发布日期还可以被用来自动更新资源的每个版本有多少被预先创建。
在一些实施例中,由需求监视器计算的实时需求可以被用来预先创建看到增加的需求的资源。例如,如果特定百分比的资源请求包括某种类型的POD,则需求策略可以被更新,以自动预先创建更多该某种类型的POD。此外,一些资源要求资源的特定集合正常运行。例如,应用套件还可以要求数据库和企业管理器。这些已知的依赖性可以被存储在需求策略中,以使得当该应用套件被请求时,依赖资源也被供应并且被配置为与应用套件通信。在一些实施例中,资源集合可以基于需求动态地变化。例如,资源需求相关器595可以(例如,基于包括附加资源的资源请求的百分比)识别除了依赖资源之外被经常请求的附加资源。在这些实施例中,需求策略可以被自动更新,以包括这些附加资源。通过监视对一起使用的资源组的需求,需求策略可以预先创建资源集合而不是单独的资源,从而减少在用户请求时设置资源所需的时间。
在一些实施例中,可以基于当前需求和资源使用来类似地管理现有资源的生命周期。当资源不再被使用时,资源通常由资源管理器清理并且返回到资源池。确定资源何时不再使用可以基于使用(例如,资源多频繁地被使用)或健康(例如,其它资源是否可以连接到该资源、该资源是否已满,等等)。缺乏使用或故障可以触发对资源的清理或维护动作。然而,这个添加的清理步骤对于尚未被使用的资源来说是不必要的,并且对于有需要的资源来说是耗时的。通过跟踪特定资源的利用周期/趋势,资源管理器可以确定资源是否曾被使用过。例如,如果创建了存储节点,但是从来没有从它存储或检索过数据,则资源管理器可以确定该资源尚未被使用并且该资源可以对其他用户可用而无需首先清理资源。
图9绘出了根据本发明的实施例的、描绘为基于需求策略的资源分配所执行的处理的简化流程图800。在步骤805处,可以拦截或接收对服务的订单或订阅。例如,如上文参考图6所描述的,需求监视器575可以在传递订单以供在资源管理器505处进一步处理之前利用请求拦截器580实时地拦截或接收订单。在一些实施例中,可以将订单批量地周期性地发送到需求监视器575,以供非实时处理。在步骤810处,订单可以被解析,以识别包括一个或多个所请求的资源、请求者和其它请求数据(例如,请求时间)的请求数据。例如,请求解析器583可以取得订单(即,输入数据)并且构建提供订单内的请求数据(例如,一个或多个所请求的资源、请求者和其它请求数据)的结构化表示的数据结构(例如,解析树或其它分层结构),这允许模式匹配和数据提取。
在步骤815处,请求数据可以被添加到聚合历史数据结构。例如,提供来自订单的请求数据的结构化表示的数据结构可以被添加到聚合历史数据结构585,聚合历史数据结构585包括用于资源池内的资源的请求数据的聚合。聚合历史数据结构585包括来自任何数量的先前解析的对服务的订单或订阅的数据结构。每个订单可以在订单被接收时加时间戳,并且可以按资源、请求者或其它请求数据来将聚合历史数据结构585进行排序。在步骤820处,对于给定资源(例如,在订单中请求的资源或资源池内的任何资源),可以使用从针对资源池内的资源的请求数据的聚合获得的当前请求量来为该给定资源计算实时需求。例如,在特定的时间段(滚动平均、历史时间段等)中,可以使用实时需求计算器590和聚合历史数据结构585来确定包括给定资源的订单的百分比。此外,可以使用实时需求计算器590和聚合历史数据结构585将订单的百分比关联到相对于资源池内的其它资源的为给定资源计算的实时需求。
在步骤825处,基于请求数据的至少一个组成部分在该订单与来自先前解析的对服务的订单或订阅中的至少一个其它订单之间相同,可以将步骤805中接收的订单与该至少一个其它订单关联。例如,资源需求相关器595可以基于同一用户提交两个或更多个订单来确定这些订单之间的关联(例如,对于请求应用套件的用户来说,该用户同时或随后请求数据库,并且因此资源需求相关器595可以将数据库与应用套件关联)。订单可以基于可从聚合数据结构获得的任何数量的数据组成部分被关联到至少一个其它订单,其中该数据组成部分包括请求者或用户、获得资源请求的特定时间帧、所请求的资源的类型和/或任何其它数据。在步骤830处,基于相关联的订单,可以识别通常跨用户请求的资源集合。例如,需求监视器575可以基于关联的订单来识别资源之间的已知的依赖性并且将其存储为资源集合,以使得当主资源(例如,应用套件)被请求时,依赖资源(例如,数据库)也被供应并且被配置为与主资源通信。在一些实施例中,资源集合可以基于从步骤820计算出的对资源的实时需求而动态变化。例如,资源需求相关器595可以(例如,基于包括主资源、依赖资源和附加资源的订单的百分比)识别除了主资源和依赖资源之外经常被请求的附加资源。在这些实施例中,被识别和存储的资源集合可以被自动更新,以包括这些附加资源。
图10绘出了根据本发明的实施例的、描绘为基于需求策略的资源分配所执行的处理的简化流程图850。在步骤855处,可以跟踪资源池内每个资源的利用率。例如,在特定时间段(滚动平均、历史时间段等)中,可以使用资源池530、实时需求计算器590和聚合历史数据结构585来确定每个资源的使用。通过跟踪特定资源的利用周期/趋势,资源管理器505可以确定资源是否曾被使用、资源是否最近被使用、资源的使用频率和/或资源当前是否正被使用。
在步骤860处,可以基于以下各项中的至少一个来生成或更新一个或多个需求策略:(i)计算出的对资源的需求(在图9的步骤820中计算)、(ii)识别出的资源和资源集合(在图9的步骤830中识别)、(iii)用于该资源集合的附加资源的识别(可选地在图9的步骤830中识别),以及(iv)跟踪的资源的利用率(在图10的步骤855中识别)。在一些实施例中,由需求监视器575计算的实时需求可以被用来生成或更新用于资源分配的一个或多个需求策略,以使得资源可以由资源管理器505抢先(preemptively)创建并且被添加到资源池。例如,如果特定百分比的资源请求包括一个或多个次资源,则需求策略可以被更新,以自动预先创建该次资源的一个或多个附加实例,或者如果正在引入要求一个或多个资源的新应用套件,则需求策略可以被更新,以自动预先创建一个或多个资源的更多实例。
附加地,在一些实施例中,需求监视器575可以基于关联的资源请求来识别资源之间已知的依赖性并且将其存储为一个或多个需求策略中的资源集合,以使得当主资源被请求时,依赖资源(例如,数据库)也被供应并且被配置为与主资源通信。例如,应用套件还可以要求数据库和企业管理器。这些已知的依赖性可以被存储在需求策略中,以使得当应用套件被请求时,数据库和企业管理器也被供应并且被配置为与应用套件通信。在一些实施例中,识别出的资源集合可以基于计算出的对资源的需求而动态变化。例如,资源需求相关器595可以识别除了依赖资源之外经常被请求的附加资源。在这些实施例中,需求策略可以被自动更新,以包括这些附加资源。通过监视对一起使用的资源组的需求,需求策略可以被用来抢先创建资源集合、将资源配置为彼此通信以及将资源添加到资源池,而不是创建单独的资源,从而减少在用户请求时设置资源所需的时间。
此外,在一些实施例中,需求监视器575可以识别从未被使用的资源、最近已经被使用的资源、每个资源的使用频率和/或资源当前是否正在被使用,并且生成或更新一个或更多个需求策略以基于这样的利用信息来控制资源的分配。例如,如果资源被创建,但是该资源从未被用户访问,则资源管理器905可以确定资源尚未被使用,并且资源可以基于一个或多个需求策略被重新分配给其他用户而无需首先清理资源。另一方面,如果资源被创建,但是该资源在预定义量的时间(例如,两个月)内没有被用户访问,则资源管理器905可以确定资源不再使用,并且在清理资源之后,该资源可以基于一个或多个需求策略被重新分配给其他用户。
在步骤865处,一个或多个资源可以基于所生成或更新的一个或多个需求策略来自动预先创建(抢先创建)、添加到资源池、从资源池移除和/或清理。例如,资源管理器505可以基于所生成或更新的一个或多个需求策略来自动预先创建一个或多个资源,并且将预先创建的一个或多个资源添加到资源池以用于为一个或多个用户服务。在一些实施例中,资源管理器505可以基于所生成或更新的一个或多个需求策略从资源池自动移除一个或多个资源。在其它实施例中,资源管理器505可以基于所生成或更新的一个或多个需求策略来自动清理资源池内的一个或多个资源。
在步骤870处,可以将与一个或多个需求策略相关联的一个或多个所请求的资源分配给一个或多个用户。例如,资源管理器505可以基于一个或多个需求策略从资源池分配一个或多个所请求的资源,以用于为一个或多个用户服务,并且发送一个或多个所请求的资源已被分配的确认消息。在一些实施例中,资源池可以是由IaaS提供者管理的管理程序池。在一些实施例中,资源池可以包括跨多个远程数据中心分布的多个资源池。如应当理解的,一个或多个所请求资源的分配还可以基于拓扑定义、放置策略和贡献策略来定义,如上文参考图1-8详细讨论的。在步骤875处,用户帐户历史和资源池可以被更新,以指示从一个或多个需求策略的利用实现的改变。例如,数据中心索引、资源索引和/或用户帐户历史560可以被更新,以指示一个或多个所请求的资源已被预先创建和/或分配给一个或多个用户。
在一些实施例中,用于提供基于放置策略、基于贡献策略和基于需求策略的资源管理和分配的上文描述的系统和过程可以在单个资源管理器中实现。图11绘出了可以结合本发明的实施例的网络环境900的简化的高级示意图。如图11中所示,资源管理器905(例如,如上文分别参考图2、图4和图6所描述的资源管理系统105或资源管理器305;505)可以管理来自用户910和915的请求。这些请求可以包括来自用户910的资源贡献提交,在该资源贡献提交中用户使该用户拥有、占有或以其它方式控制的一个或多个资源对资源管理器905可用以被添加到资源池。请求还可以包括来自用户915的对来自资源池的一个或多个资源的资源请求。用户910和用户915可以包括相同的用户、不同的用户或其任何组合。请求可以经网络920A和/或920B从资源管理器905处的一个或多个用户(或客户机)设备接收。在一些实施例中,用户910可以贡献资源以交换可以应用于随后的或同期的资源请求的特定功能保证、折扣或其它激励,如上文所描述的。
用户910和915经由通信网络920A和920B可通信地耦接到资源管理器905。图11中所绘出的实施例仅仅是示例并且不旨在不适当地限制本发明的要求保护的实施例。本领域的普通技术人员将认识到许多变型、替代物和修改。例如,可以存在比图11中所示的用户设备更多或更少的用户设备。用户设备可以具有各种不同的类型,包括但不限于个人计算机、台式计算机、诸如膝上型计算机、移动电话、平板电脑等之类的移动设备或手持设备,以及其它类型的设备。通信网络920A和920B便于用户设备和资源管理器905之间的通信。通信网络920A和920B可以具有各种类型并且可以包括一个或多个通信网络。通信网络920A和920B的示例包括但不限于因特网、广域网(WAN)、局域网(LAN)、以太网网络、公共或专用网络、有线网络、无线网络等,以及它们的组合。可以使用不同的通信协议以便于通信,所述通信协议既包括有线协议也包括无线协议,诸如IEEE 802.XX协议组、TCP/IP、IPX、SAN、AppleTalk、Bluetooth和其它协议。一般而言,通信网络920A和920B可以包括便于客户机和资源管理器905之间的通信的任何通信网络或基础设施。
用户910可以各自拥有、占有或以其它方式控制一个或多个计算资源925-1至925-M。例如,用户可以已经从另一云基础设施提供者购买了该用户可以控制的特定数量的计算节点。类似地,用户可以拥有被配置为提供可以运行一个或多个虚拟机的管理程序池的网络连接的硬件集群。如上文所描述的,计算资源可以包括网络、网络带宽、服务器、POD、处理、存储器、存储装置、应用、虚拟机、服务等。
在某些实施例中,用户可以使用由用户的用户设备执行的程序或应用来配置网页请求。这样的程序的示例是web浏览器,web浏览器可以被用来生成网页请求并且输出响应于该请求而接收的网页。例如,用户可以通过向浏览器提供对应于网页的统一资源定位符(URL)来请求网页,或者通过采取调用对应于网页的URL的动作(例如,点击URL)来请求网页。这使得浏览器生成网页请求,然后该网页请求被传送到托管该特定网页的网站。然后,响应于网页请求而接收的网页由浏览器加载并且向用户输出。浏览器的示例包括但不限于各种版本的Windows Internet Explorer(IE)、Apple Safari、Google Chrome、MozillaFirefox、Opera等。
如上文所描述的,用户910可以向资源管理器905提交详细说明由用户贡献的计算资源的资源提交。资源管理器905可以通过资源提交接口930接收提交。用户915可以向资源管理器905提交详细说明由用户请求的计算资源的资源请求。资源管理器905可以通过资源请求接口955接收请求。资源管理器905可以包括策略管理器935、需求监视器940、资源池945和用户账户历史950。通过使用这些模块,如参考图4和图6类似地描述的,资源管理器905可以预期需求而预先创建资源和资源集合、管理资源贡献和请求以及使得用户能够指定用于资源请求的放置策略,如上文参考图1-10所描述的。由用户910和915提供以及向用户910和915提供的资源和资源集合可以位于一个或多个数据中心960A-960I中,这些数据中心可以位于不同地理区域965A和965B中。
在图1-11中所绘出的实施例中,资源管理器905可以充当从用户910和915接收资源提交和资源请求的中央管理平台。图12绘出了可以结合本发明的教导的可替代实施例970。使用相同的附图标记来引用图11中的共同组件。如图12中绘出的实施例中所示,资源管理功能和请求管理功能可以彼此分开。请求管理器975可以包括资源提交接口930和资源请求接口955。请求管理器975还可以包括需求监视器940,需求监视器940基本上类似于上文参考图1-11描述的实施例来分析请求以及用户帐户历史950。请求管理器975可以向资源管理器905传送资源和/或贡献请求。资源管理器905可以包括策略管理器935和资源池945。资源管理器905可以根据从请求管理器975接收的消息与数据中心960A-960I通信。
图13绘出了用于实现实施例的分布式系统1000的简化示意图。在示出的实施例中,分布式系统1000包括一个或多个客户机计算设备1002、1004、1006和1008,该一个或多个客户机计算设备被配置为经(一个或多个)网络1010执行和操作客户机应用,诸如web浏览器、专有客户机(例如,Oracle Forms)等。服务器1012可以经由网络1010与远程客户机计算设备1002、1004、1006和1008可通信地耦接。
在各种实施例中,服务器1012可以适于运行一个或多个服务或软件应用,诸如用于基于放置策略、贡献策略和/或需求策略的资源分配的服务和应用。在某些实施例中,服务器1012还可以提供其它服务,或者软件应用可以包括非虚拟环境和虚拟环境。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在SaaS模型下向客户机计算设备1002、1004、1006和/或1008的用户提供。操作客户机计算设备1002、1004、1006和/或1008的用户进而可以利用一个或多个客户机应用与服务器1012交互,以利用由这些组件提供的服务。
在图13所绘出的配置中,系统1000的软件组件1018、1020和1022被示为在服务器1012上实现。在其它实施例中,系统1000的组件中的一个或多个组件和/或由这些组件提供的服务中的一个或多个服务还可以由客户机计算设备1002、1004、1006和/或1008中的一个或多个实现。然后,操作客户机计算设备的用户可以利用一个或多个客户机应用来使用由这些组件提供的服务。这些组件可以在硬件、固件、软件或其组合中实现。应当理解的是,可以不同于分布式系统1000的各种不同的系统配置是可能的。因此,图13中示出的实施例是用于实现实施例系统的分布式系统的一个示例,并且不旨在是限制性的。
客户机计算设备1002、1004、1006和/或1008可以包括各种类型的计算系统。例如,客户机计算设备可以包括运行诸如Microsoft Windows之类的软件,和/或诸如iOS、Windows Phone、Android、BlackBerry 10,Palm OS等之类的各种移动操作系统的便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理(PDA))或可穿戴设备(例如,头戴式显示器)。设备可以支持诸如各种因特网相关的应用、电子邮件、短消息服务(SMS)应用之类的各种应用,并且可以使用各种其它通信协议。客户机计算设备还可以包括通用个人计算机,举例来说,包括运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户机计算设备可以是运行包括但不限于各种GNU/Linux操作系统(诸如像GoogleChrome OS)的各种商用的或类UNIX操作系统中的任何操作系统的工作站计算机。客户机计算设备还可以包括能够经(一个或多个)网络1010通信的电子设备,诸如瘦客户机计算机、启用因特网的游戏系统(例如,具有或不具有手势输入设备的Microsoft Xbox游戏机)和/或个人消息传送设备。
虽然图13中的分布式系统1000被示为具有四个客户机计算设备,但是任何数量的客户机计算设备可以被支持。诸如具有传感器的设备等之类的其它设备可以与服务器1012交互。
分布式系统1000中的(一个或多个)网络1010可以是本领域技术人员熟悉的可以使用各种可用协议中的任何可用协议来支持数据通信的任何类型的网络,其中所述可用协议包括但不限于TCP/IP(传输控制协议/因特网协议)、SNA(系统网络架构)、IPX(因特网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络1010可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、因特网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在电气和电子协会(IEEE)802.11协议组、和/或任何其它无线协议中的任何协议下操作的网络)和/或这些网络和/或其它网络的任何组合。
服务器1012可以包括一个或多个通用计算机、专用服务器计算机(举例来说,包括PC(个人计算机)服务器、服务器、中型服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合。服务器1012可以包括运行虚拟操作系统的一个或多个虚拟机或者涉及虚拟化的其它计算架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器1012使用软件定义网络来控制。在各种实施例中,服务器1012可以适于运行在前述公开内容中描述的一个或多个服务或软件应用。例如,服务器1012可以对应于如上文根据本公开的实施例描述的用于执行处理的服务器。
服务器1012可以运行包括上文讨论的操作系统中的任何操作系统的操作系统,以及任何商用的服务器操作系统。服务器1012还可以运行各种附加的服务器应用和/或中间层应用中的任何服务器应用和/或中间层应用,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle、Microsoft、Sybase、IBM(国际商业机器)等的商用数据库服务器。
在一些实施方式中,服务器1012可以包括一个或多个应用,以分析和整合从客户机计算设备1002、1004、1006和1008的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和持续数据流接收到的馈送、更新或实时更新,其可以包括与传感器数据应用、金融收报机(ticker)、网络性能测量工具(例如,网络监视和业务管理应用)、点击流分析工具、汽车交通监视等相关的实时事件。服务器1012还可以包括经由客户机计算设备1002、1004、1006和1008的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。
分布式系统1000还可以包括一个或多个数据库1014和1016。这些数据库可以提供用于存储信息的机制,所述信息诸如用户请求和/或贡献历史、基于需求策略的资源相关信息、策略定义以及由本发明的实施例使用的其它信息。数据库1014和1016可以驻留在各种位置中。作为示例,数据库1014和1016中的一个或多个可以驻留在服务器1012本地(和/或驻留在服务器1012中)的非暂态存储介质上。可替代地,数据库1014和1016可以远离服务器1012,并且经由基于网络的或专用的连接与服务器1012进行通信。在一组实施例中,数据库1014和1016可以驻留在存储区域网络(SAN)中。类似地,用于执行属于服务器1012的功能的任何必要的文件可以适当地本地存储在服务器1012上和/或远程存储。在一组实施例中,数据库1014和1016可以包括适于响应于SQL格式的命令来存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
在一些实施例中,云环境可以提供用于基于放置、贡献和/或需求策略的资源分配的一个或多个服务。图14是根据本公开的实施例的其中服务可以作为云服务被提供的系统环境1100的一个或多个组件的简化框图。在图14所示的实施例中,系统环境1100包括可以由用户用来与提供云服务(包括用于基于放置、贡献和/或需求策略的资源分配的服务)的云基础设施系统1102交互的一个或多个客户机计算设备1104、1106和1108。云基础设施系统1102可以包括一个或多个计算机和/或服务器,该一个或多个计算机和/或服务器可以包括上文针对服务器1012所描述的计算机和/或服务器。
应当理解的是,图14中所绘出的云基础设施系统1102可以具有除了所绘出的组件之外的其它组件。此外,图14中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统1102可以具有比图中所示的更多或更少的组件、可以组合两个或更多个组件、或者可以具有不同的组件配置或布置。
客户机计算设备1104、1106和1108可以是与上文针对客户机计算设备1002、1004、1006和1008描述的设备类似的设备。客户端计算设备1104、1106和1108可以被配置为操作诸如web浏览器、专有客户机应用(例如,Oracle Forms)或一些其它应用之类的客户机应用,所述客户机应用可以由客户机计算设备的用户用来与云基础设施系统1102交互,以使用由云基础设施系统1102提供的服务。虽然示例性系统环境800被示为具有三个客户机计算设备,但是任何数量的客户机计算设备可以被支持。诸如具有传感器的设备等之类的其它设备可以与云基础设施系统1102交互。
(一个或多个)网络1110可以便于客户机计算设备1104、1106和1108与云基础设施系统1102之间的通信和数据交换。每个网络可以是本领域技术人员熟悉的可以支持使用各种商用协议(包括上文针对(一个或多个)网络1010所描述的商用协议)中的任何商用协议的数据通信的任何类型的网络。
在某些实施例中,由云基础设施系统1102提供的服务可以包括按需对云基础设施系统的用户可用的许多服务。除了与基于放置、贡献和/或需求策略的资源分配有关的服务之外,还可以提供各种其它服务,包括但不限于在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态缩放,以满足其用户的需求。
在某些实施例中,由云基础设施系统1102提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,从云服务提供者的系统经由通信网络(诸如因特网)对用户可用的任何服务被称为“云服务”。通常,在公有云环境中,构成云服务提供者的系统的服务器和系统不同于客户自己的本地服务器和系统。例如,云服务提供者的系统可以托管应用,并且用户可以经由诸如因特网之类的通信网络按需订购和使用应用。
在一些示例中,计算机网络云基础设施中的服务可以包括对由云供应商向用户提供或者如本领域已知的以其它方式提供的存储装置、托管的数据库、托管的web服务器、软件应用或者其它服务的受保护的计算机网络访问。例如,服务可以包括通过因特网对云上的远程存储装置的受密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,以供联网的开发者私人使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统1102可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给用户的一套应用、中间件和数据库服务供应物。这样的云基础设施系统的示例是由本受让人提供的Oracle公有云。
云基础设施系统1102还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般被用来指代可以由分析员和研究者存储和操纵以可视化大量数据、检测趋势和/或以其它方式与数据交互的极大数据集。这种大数据和相关应用可以由基础设施系统在许多级别上以及在不同尺度下托管和/或操纵。并行链接的数十个、数百个或数千个处理器可以作用于这样的数据,以便于呈现它或者模拟对数据或它代表的内容的外力。这些数据集可以包括诸如根据结构化模型在数据库中组织或以其它方式组织的数据之类的结构化数据和/或非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过利用实施例相对快速地将更多(或更少)计算资源集中在目标上的能力,云基础设施系统可以更好地可用于基于来自企业、政府机构、研究组织、私人个人、一群志同道合的个体或组织或者其它实体的需求来对大数据集执行任务。
在各种实施例中,云基础设施系统1102可以适于自动地供应、管理和跟踪用户对由云基础设施系统1102提供的服务的订阅。云基础设施系统1102可以经由不同的部署模型提供云服务。例如,服务可以在其中云基础设施系统1102由销售云服务的组织拥有(例如,由Oracle公司拥有)并且服务对一般公众或不同的工业企业可用的公有云模型下被提供。作为另一个示例,服务可以在其中云基础设施系统1102仅针对单个组织操作并且可以为该组织内的一个或多个实体提供服务的私有云模型下被提供。云服务还可以在其中云基础设施系统1102和由云基础设施系统1102提供的服务由相关社区中的若干组织共享的社区云模型下被提供。云服务还可以在作为两个或更多个不同模型的组合的混合云模型下被提供。
在一些实施例中,由云基础设施系统1102提供的服务可以包括在SaaS类别、PaaS类别、IaaS类别或包括混合服务的其它服务类别下提供的一个或多个服务。经由订阅订单,客户可以订购由云基础设施系统1102提供的一个或多个服务。然后云基础设施系统1102执行处理,以提供用户的订阅订单中的服务。
在一些实施例中,由云基础设施系统1102提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别下的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,用户可以利用在云基础设施系统上执行的应用。用户可以获取应用服务,而无需用户购买分开的许可和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供用于销售业绩管理、企业集成和业务灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统1102经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别下的云服务。平台服务的示例可以包括但不限于使得组织(诸如Oracle)能够在共享的共同架构上整合现有应用以及具有利用由平台提供的共享服务构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。用户可以获取由云基础设施系统1102提供的PaaS服务,而无需用户购买分开的许可和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)以及其它。
通过利用PaaS平台提供的服务,用户可以采用由云基础设施系统支持的编程语言和工具,并且还可以控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle Fusion Middleware服务)和Java云服务。在一个实施例中,数据库云服务可以支持使得组织能够汇集数据库资源并且以数据库云的形式向用户提供数据库即服务的共享服务部署模型。中间件云服务可以为用户提供开发和部署各种业务应用的平台,并且Java云服务可以在云基础设施系统中为用户提供部署Java应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务便于利用由SaaS平台和PaaS平台提供的服务的用户对底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制。
在某些实施例中,云基础设施系统1102还可以包括基础设施资源1130,以用于提供用来向云基础设施系统的用户提供各种服务的资源。在一个实施例中,基础设施资源1130可以包括用于执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成和优化的组合以及其它资源。
在一些实施例中,云基础设施系统1102中的资源可以由多个用户共享并且按需求动态地重新分配。此外,资源可以被分配给不同时区中的用户。例如,云基础设施系统1102可以使得第一时区中的第一组用户能够利用云基础设施系统的资源指定的小时数,然后实现将相同资源重新分配给位于不同时区中的另一组用户,从而最大化资源的利用率。
在某些实施例中,可以提供若干内部共享服务1132,内部共享服务1132由云基础设施系统1102的不同组件或模块共享,以使得云基础设施系统1102能够供应服务。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于实现云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统1102可以在云基础设施系统中提供云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统1102接收到的用户订阅的能力等。
在一个实施例中,如图14中所绘出的,云管理功能可以由诸如订单管理模块1120、订单编排(orchestration)模块1122、订单供应模块1124、订单管理和监视模块1126以及身份管理模块1128之类的一个或多个模块提供。这些模块可以包括一个或多个计算机和/或服务器或者可以使用一个或多个计算机和/或服务器来提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场、服务器集群或任何其它适当的布置和/或组合。
在示例性操作中,在1134处,使用客户机设备(诸如计算设备1104、1106或1108)的用户可以通过请求由云基础设施系统1102提供的一个或多个服务并且对由云基础设施系统1102提供的一个或多个服务的订阅下订单来与云基础设施系统1102交互。在某些实施例中,用户可以访问诸如云用户界面(UI)1112、云UI 1114和/或云UI 1116的云UI并且经由这些UI下订阅订单。响应于用户下订单而由云基础设施系统1102接收到的订单信息可以包括识别用户和用户旨在订阅的由云基础设施系统1102提供的一个或多个服务的信息。
在1136处,从用户接收到的订单信息可以被存储在订单数据库1118中。如果这是新订单,则可以为该订单创建新记录。在一个实施例中,订单数据库1118可以是由云基础设施系统1118操作以及结合其它系统元素操作的若干数据库中的一个数据库。
在1138处,订单信息可以被转发到订单管理模块1120,订单管理模块1120可以被配置为执行与订单相关的计费和记帐功能,诸如验证订单,并且在通过验证时,预订订单。
在1140处,关于订单的信息可以被传送到订单编排模块1122,订单编排模块1122被配置为编排用于用户下的订单的服务和资源的供应。在一些实例中,订单编排模块1122可以使用订单供应模块1124的服务以用于供应。在某些实施例中,订单编排模块1122实现与每个订单相关联的业务过程的管理,并且应用业务逻辑来确定订单是否应当继续供应。
如图14中绘出的实施例中所示,在1142处,在接收到对新订阅的订单时,订单编排模块1122向订单供应模块1124发送分配资源和配置履行订购订单所需的资源的请求。订单供应模块1124实现用于由用户订购的服务的资源分配。订单供应模块1124提供由云基础设施系统1100提供的云服务和用来供应用于提供所请求服务的资源的物理实现层之间的抽象层。这使得订单编排模块1122能够与诸如服务和资源是否事实上实时供应还是预先供应并且仅在请求时才被分配/指定之类的实现细节隔离。
在1144处,一旦供应了服务和资源,就可以向订阅的用户发送指示所请求的服务现在准备好使用的通知。在一些实例中,可以向客户发送使得用户能够开始使用所请求的服务的信息(例如,链接)。
在1146处,用户的订阅订单可以由订单管理和监视模块1126管理和跟踪。在一些实例中,订单管理和监视模块1126可以被配置为收集关于所订阅的服务的用户使用的使用统计数据。例如,可以针对所使用的存储量、传送的数据量、用户的数量以及系统启动时间和系统停机时间的量等来收集统计数据。
在某些实施例中,云基础设施系统1100可以包括身份管理模块1128,身份管理模块1128被配置为提供身份服务,诸如云基础设施系统1100中的访问管理和授权服务。在一些实施例中,身份管理模块1128可以控制关于希望利用由云基础设施系统1102提供的服务的用户的信息。这样的信息可以包括认证这些用户的身份的信息和描述这些用户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块1128还可以包括关于每个用户的描述性信息以及关于如何和由谁来访问和修改描述性信息的管理。
图15示出了可以被用来实现本发明的实施例的示例性计算机系统1200。在一些实施例中,计算机系统1200可以被用来实现上文描述的各种服务器和计算机系统中的任何服务器和计算机系统。如图15中所示,计算机系统1200包括各种子系统,这些子系统包括经由总线子系统1202与若干外围子系统通信的处理单元1204。这些外围子系统可以包括处理加速单元1206、I/O子系统1208、存储子系统1218和通信子系统1224。存储子系统1218可以包括有形的计算机可读存储介质1222和系统存储器1210。
总线子系统1202提供用于使计算机系统1200的各种组件和子系统按照预期彼此通信的机制。虽然总线子系统1202被示意性地示为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1202可以是利用各种总线架构中任何总线架构的若干类型的总线结构(包括存储器总线或存储器控制器、外围总线和局部总线)中的任何类型的总线结构。例如,这样的架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和可以被实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线的外围组件互连(PCI)总线等。
处理子系统1204控制计算机系统1200的操作并且可以包括一个或多个处理单元1232、1234等。处理单元可以包括一个或多个处理器,该一个或多个处理器包括单核或多核处理器、处理器的一个或多个核或其组合。在一些实施例中,处理子系统1204可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统1204的处理单元中的一些或全部可以使用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)之类的定制电路来实现。
在一些实施例中,处理子系统1204中的处理单元可以执行存储在系统存储器1210中或计算机可读存储介质1222上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定时间处,要执行的程序代码中的一些或全部可以驻留在系统存储器1210中和/或在计算机可读存储介质810上(潜在地包括在一个或多个存储设备上)。通过合适的编程,处理子系统1204可以提供用于基于放置、贡献和/或需求策略的资源分配的上文描述的各种功能。
在某些实施例中,可以提供处理加速单元1206,以用于执行定制处理或用于卸载(off-load)由处理子系统1204执行的处理中的一些处理,以便加速由计算机系统1200执行的整体处理。
I/O子系统1208可以包括用于向计算机系统1200输入信息和/或用于输出来自计算机系统1200的信息或经由计算机系统1200输出信息的设备和机构。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统1200输入信息的所有可能类型的设备和机构。用户接口输入设备可以包括例如键盘、诸如鼠标或轨迹球之类的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备还可以包括使得用户能够控制输入设备并与其交互的诸如Microsoft运动传感器之类的运动感测和/或姿势识别设备、Microsoft360游戏控制器、提供用于接收使用姿势和口头命令的输入的接口的设备。用户接口输入设备还可以包括眼部姿势识别设备,诸如检测用户的眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并且将眼部姿势变换为到输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使得用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
用户接口输入设备的其它示例包括但不限于三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板,以及音频/视频设备,诸如扬声器、数码照相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及视线跟踪设备。附加地,用户接口输入设备可以包括例如医疗成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层扫描、医疗超声检查设备。用户接口输入设备还可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。
用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备之类的非视觉显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子体显示器之类的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于将来自计算机系统1200的信息输出到用户或其它计算机的所有可能类型的设备和机构。例如,用户接口输出设备可以包括但不限于可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
存储子系统1218提供用于存储由计算机系统1200使用的信息的储存库(repository)或数据存储库。存储子系统1218提供有形的非暂态计算机可读存储介质,以用于存储提供一些实施例的功能的基本编程和数据构造。当由处理子系统1204执行时提供上文描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统1218中。软件可以由处理子系统1204的一个或多个处理单元执行。存储子系统1218还可以提供用于存储根据本发明使用的数据的储存库。
存储子系统1218可以包括一个或多个非暂态存储器设备,所述非暂态存储器设备包括易失性存储器设备和非易失性存储器设备。如图15中所示,存储子系统1218包括系统存储器1210和计算机可读存储介质1222。系统存储器1210可以包括若干存储器,这些存储器包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实施方式中,包含帮助诸如在启动期间在计算机系统1200内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。RAM通常包含当前由处理子系统1204操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器1210可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。
作为示例而非限制,如在图15中绘出的,系统存储器1210可以存储应用程序1212,应用程序1212可以包括客户机应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等、程序数据1214和操作系统1216。作为示例,操作系统1216可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、10OS和OS操作系统之类的移动操作系统。
计算机可读存储介质1222可以存储提供一些实施例的功能的编程和数据构造。当由处理子系统1204执行时使得处理器提供上文描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统1218中。作为示例,计算机可读存储介质1222可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、Blu-(蓝光)盘或其它光学介质之类的光盘驱动器。计算机可读存储介质1222可以包括但不限于驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质1222还可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD)以及使用基于DRAM的SSD和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质1222可以为计算机系统1200提供计算机可读指令、数据结构、程序模块和其它数据的存储。
在某些实施例中,存储子系统1200还可以包括可以被进一步连接到计算机可读存储介质1222的计算机可读存储介质读取器1220。可选地,与系统存储器1210一起并且组合,计算机可读存储介质1222可以全面地表示远程存储设备、本地存储设备、固定存储设备和/或可移动存储设备加上用于存储计算机可读信息的存储介质。
在某些实施例中,计算机系统1200可以提供对执行一个或多个虚拟机的支持。计算机系统1200可以执行诸如管理程序之类的程序,以便于虚拟机的配置和管理。每个虚拟机可以被分配存储器资源、计算资源(例如,处理器、内核)、I/O资源和联网资源。每个虚拟机通常运行可以与由计算机系统1200执行的其它虚拟机执行的操作系统相同或不同的它自己的操作系统。相应地,多个操作系统可以潜在地由计算机系统1200同时运行。每个虚拟机一般独立于其它虚拟机运行。
通信子系统1224提供到其它计算机系统和网络的接口。通信子系统1224充当用于从来自计算机系统1200的其它系统接收数据以及向来自计算机系统1200的其它系统发送数据的接口。例如,通信子系统1224可以使得计算机系统1200能够经由因特网建立到一个或多个计算设备的通信信道,以用于从计算设备接收信息和发送信息到计算设备。
通信子系统1224可以支持有线通信协议和/或无线通信协议两者。例如,在某些实施例中,通信子系统1224可以包括用于(例如,使用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)之类的高级数据网络技术、WiFi(IEEE 802.11族标准)、或其它移动通信技术、或其任意组合)访问无线语音网络和/或数据网络的射频(RF)收发器组件、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,除了无线接口之外或者作为无线接口的替代,通信子系统1224可以提供有线网络连接(例如,以太网)。
通信子系统1224可以以各种形式接收和发送数据。例如,在一些实施例中,通信子系统1224可以接收以结构化数据馈送和/或非结构化数据馈送1226、事件流1228、事件更新1230等形式的输入通信。例如,通信子系统1224可以被配置为实时地接收(或发送)来自社交媒体网络的用户和/或诸如馈送、更新、web馈送(诸如丰富站点摘要(RSS)馈送)之类的其它通信服务的数据馈送1226、和/或来自一个或多个第三方信息源的实时更新。
在某些实施例中,通信子系统1224可以被配置为接收没有明确结束的本质上可以是连续的或无界的连续数据流形式的数据,其中该连续数据流可以包括实时事件的事件流1228和/或事件更新1230。生成连续数据的应用的示例可以包括例如传感器数据应用、金融收报机、网络性能测量工具(例如网络监视和业务管理应用)、点击流分析工具、汽车交通监视等。
通信子系统1224还可以被配置为向一个或多个数据库输出结构化的和/或非结构化的数据馈送1226、事件流1228、事件更新1230等,其中所述一个或多个数据库可以与耦接到计算机系统1200的一个或多个流数据源计算机通信。
计算机系统1200可以是如下各种类型中的一种:包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息亭、服务器机架或任何其它数据处理系统。
由于计算机和网络不断变化的本质,对图15中绘出的计算机系统1200的描述旨在仅仅作为具体示例。具有比图15中绘出的系统更多或更少组件的许多其它配置是可能的。基于本文提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
根据一个实施例,提供了一种包括通信子系统1224和与通信子系统1224耦接的处理子系统1204的计算机系统。处理子系统1204被配置为经由通信子系统1224接收用户对服务的订单,其中服务部分地通过资源的分配来实现。处理子系统1204还被配置为:解析该订单以识别包括请求者、资源和请求时间的请求数据;以及将请求数据添加到聚合数据结构。聚合数据结构包括用于先前解析的订单的请求数据的聚合。处理子系统1204还被配置为:基于聚合数据结构来确定指示对资源的实时需求的值;基于请求数据的至少一个组成部分在该订单与来自先前解析的订单的至少一个其它订单之间相同,将该订单与该至少一个其它订单相关;以及基于该订单与该至少一个其它订单相关来识别至少一个资源集合,其中该至少一个资源集合包括来自该订单的资源和从该至少一个其它订单请求的另一资源。
根据一个实施例,解析包括从请求数据构建提供请求者、资源和请求时间的结构化表示的数据结构。
根据一个实施例,聚合数据结构包括来自经解析的订单的数据结构和来自先前解析的订单的一个或多个数据结构。
根据一个实施例,指示对资源的实时需求的值是使用从用于先前解析的订单的请求数据的聚合获得的对资源的当前请求量来确定的。
根据一个实施例,处理子系统1204还被配置为:基于所确定的指示对资源的实时需求的值,生成或更新用于资源的分配的一个或多个需求策略;基于该一个或多个需求策略,预先创建资源;以及基于该一个或多个需求策略,经由通信子系统1224将预先创建的资源分配给一个或多个用户。
根据一个实施例,确定指示实时需求的值包括使用用于先前解析的订单的请求数据的聚合来确定特定时间段内包括该资源的订单的百分比。
根据一个实施例,确定指示实时需求的值还包括:使用用于先前解析的订单的请求数据的聚合,将所确定的订单的百分比与相对于资源池内的其它资源的该资源的实时需求相关。
根据一个实施例,请求数据的所述至少一个组成部分包括请求者。
根据一个实施例,处理子系统1204还被配置为基于包括该资源、另一资源和附加资源的先前解析的订单的百分比,识别除了该资源和另一资源之外被经常请求的附加资源。
根据一个实施例,处理子系统1204还被配置为更新识别出的至少一个资源集合,以包括该附加资源。
根据一个实施例,处理子系统1204还被配置为:生成或更新用于分配至少一个资源集合的一个或多个需求策略;基于该一个或多个需求策略,预先创建连接在一起的该资源和该另一资源;以及基于所述一个或多个需求策略经由通信子系统1224将包括连接在一起的该资源和该另一个资源的至少一个资源集合分配给一个或多个用户。
根据一个实施例,提供了包括需求监视器575的资源管理器105;305;505;905;975,需求监视器575被配置为基于请求数据的聚合来确定指示对资源池内的资源的实时需求的值。请求数据的聚合是从对包括该资源作为实现服务的至少一部分的服务的任何数量先前接收的订单获得的。资源管理器105;305;505;905;975还包括策略管理器335;525;935,策略管理器335;525;935被配置为基于所确定的指示对资源的实时需求的值来生成或更新用于资源的分配的一个或多个需求策略。资源管理器105;305;505;905;975被配置为基于该一个或多个需求策略预先创建资源,以及基于该一个或多个需求策略将预先创建的资源分配给一个或多个用户。
根据一个实施例,指示对资源的实时需求的值是使用从请求数据的聚合获得的对资源的当前请求量来确定的。
根据一个实施例,确定指示实时需求的值包括使用用于先前接收的订单的请求数据的聚合来确定特定时间段内包括该资源的订单的百分比。
根据一个实施例,确定指示实时需求的值还包括,使用用于先前接收的订单的请求数据的聚合来将所确定的订单的百分比与相对于资源池内的其它资源的该资源的实时需求相关。
根据一个实施例,资源管理器105;305;505;905;975还被配置为将预先创建的资源添加到资源池。
根据一个实施例,资源管理器105;305;505;905;975还被配置为更新资源池,以指示预先创建资源到一个或多个用户的分配。
根据一个实施例,提供了一种包括通信子系统1224和与通信子系统1224耦接的处理子系统1204的计算机系统。处理子系统1204被配置为基于请求数据的聚合来确定指示对资源池内的资源的实时需求的值。请求数据的聚合是从对包括该资源作为实现服务的至少一部分的服务的任何数量的先前接收的订单获得的。处理子系统1204还被配置为:基于请求数据的至少一个组成部分在对服务的该订单与来自先前接收的订单的至少一个其它订单之间相同,将该订单与该至少一个其它订单相关;以及基于该订单与该至少一个其它订单相关来识别至少一个资源集合。该至少一个资源集合包括来自该订单的资源和从该至少一个其它订单请求的另一资源。处理子系统1204还被配置为:跟踪资源池内的资源的利用;基于以下各项中的至少一个来生成或更新用于资源的分配的一个或多个需求策略:(i)所确定的指示对该资源的实时需求的值,(ii)包括该资源的至少一个资源集合,以及(iii)跟踪的对该资源的利用率;以及基于该一个或多个需求策略来(i)预先创建该资源,(ii)将该资源添加到资源池,(iii)清理该资源。
根据一个实施例,处理子系统1204还被配置为基于一个或多个需求策略经由通信子系统1224向一个或多个用户分配资源。
根据一个实施例,指示对资源的实时需求的值是使用从用于先前接收的订单的请求数据的聚合获得的对该资源的当前请求量来确定的。
根据一个实施例,提供了一种包括通信子系统1224和与通信子系统1224耦接的处理子系统1204的计算机系统。处理子系统1204被配置为经由通信子系统1224接收来自用户的资源提交。资源提交识别可贡献资源。处理子系统1204还被配置为识别用于资源提交的贡献策略。贡献策略是基于可贡献资源的资源类型与可请求资源的一个或多个资源类型之间的映射来识别的。处理子系统1204还被配置为基于识别出的用于资源提交的贡献策略经由通信子系统1224向与用户相关联的客户机计算系统发送可请求资源的一个或多个资源类型。处理子系统1204还被配置为经由通信子系统1224从客户机计算系统接收指示用户对可请求资源的一个或多个资源类型中的资源类型的选择的信息。
根据一个实施例,可贡献资源由用户管理。
根据一个实施例,处理子系统1204还被配置为基于资源提交来确定可贡献资源的资源类型。识别贡献策略包括确定资源类型匹配可贡献资源的一个或多个资源类型、在贡献策略中可贡献资源的一个或多个资源类型映射到可请求资源的一个或多个资源类型。
根据一个实施例,识别贡献策略还至少基于用户的资源贡献历史来确定。
根据一个实施例,处理子系统1204还被配置为经由通信子系统1224接收用于在资源提交中识别出的可贡献资源的访问凭证。
根据一个实施例,访问凭证使得用户能够管理可贡献资源。
根据一个实施例,处理子系统1204还被配置为更新用户帐户历史和资源池,以指示对可请求资源的一个或多个资源类型中的资源类型的选择。
根据一个实施例,处理子系统1204还被配置为经由通信子系统1224接收用户对服务的订单。服务部分地通过资源的分配来实现。处理子系统1204还被配置为确定资源的类型与用户选择的资源类型匹配,并且为服务实现对该资源的访问以交换可贡献资源。
根据一个实施例,实现对资源的访问包括向用户分配该资源、配置该资源以用于服务用户以及向用户发送该资源已被分配的确认消息。
根据一个实施例,处理子系统1204还被配置为基于对在贡献策略内定义的可请求资源的一个或多个资源类型的需求来更新贡献策略。
根据一个实施例,提供了包括被配置为接收来自用户的资源提交的资源提交接口510的资源管理器105;305;505;905;975。资源提交识别可贡献资源。资源管理器105;305;505;905;975还包括策略管理器335;525;935,策略管理器335;525;935被配置为基于资源提交来确定可贡献资源的资源类型,以及识别用于资源提交的贡献策略。识别贡献策略包括确定资源类型与在贡献策略中映射到可请求资源的一个或多个资源类型的可贡献资源的一个或多个资源类型匹配。资源提交接口510还被配置为基于识别出的用于资源提交的贡献策略来向与用户相关联的客户机计算系统发送可请求资源的一个或多个资源类型。资源提交接口510还被配置为从客户机计算系统接收指示用户对可请求资源的一个或多个资源类型中的资源类型的选择的信息。
根据一个实施例,可贡献资源由用户管理。
根据一个实施例,资源提交接口510还被配置为接收用于在资源提交中识别出的可贡献资源的访问凭证。访问凭证使得用户能够管理可贡献资源。
根据一个实施例,资源管理器105;305;505;905;975还被配置为分配具有与由用户选择的资源类型匹配的类型的资源以交换可贡献资源。
根据一个实施例,分配包括配置该资源,以用于为用户服务。
根据一个实施例,资源提交接口510还被配置为接收用户对服务的订单,其中服务部分地通过资源的分配来实现。资源管理器105;305;505;905;975还被配置为确定该资源的类型与由用户选择的资源类型匹配,以及为服务实现对该资源的访问以交换可贡献资源。
根据一个实施例,资源管理器105;305;505;905;975还被配置为基于对贡献策略内定义的可贡献资源的一个或多个资源类型或可请求资源的一个或多个资源类型的需求来更新贡献策略。
根据一个实施例,提供了一种包括通信子系统1224和与通信子系统1224耦接的处理子系统1204的计算机系统。处理子系统1204被配置为经由通信子系统1224从用户接收对服务的订单,该订单识别可贡献资源和可请求资源。可贡献资源将被提供给资源池以交换可请求资源。处理子系统1204还被配置为基于贡献策略接受资源提交。贡献策略定义可贡献资源的类型中的第一资源类型与可请求资源的类型中的第二资源类型之间的映射。处理子系统1204还被配置为经由通信子系统1224接收提供对可贡献资源的访问和控制的访问凭证。处理子系统1204还被配置为更新资源池,以指示用于为分布式系统的一个或多个用户服务的可贡献资源的可用性。处理子系统1204还被配置为经由通信子系统1224将可请求资源分配给用户。
根据一个实施例,可贡献资源由该用户管理,而可请求资源由另一用户管理。
根据一个实施例,可贡献资源由该用户管理,而可请求资源是由分布式系统的资源管理器管理的资源池的组成部分。
虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代结构和等价物也包含在本发明的范围内。修改包括所公开的特征的任何相关组合。本发明的实施例不限于在某些具体数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已使用事务和步骤的特定系列描述了本发明的实施例,但是对本领域技术人员应当明显的是,本发明的范围不限于事务和步骤的所描述的系列。上文描述的实施例的各种特征和方面可以被单独或结合使用。
此外,虽然已经使用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围内。本发明的实施例可以仅在硬件中、或仅在软件中、或使用其组合来实现。本文描述的各种过程可以以任何组合在同一处理器或不同处理器上实现。相应地,在组件或模块被描述为被配置为执行某些操作的情况下,这样的配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)编程来执行操作、或其任何组合来实现。进程可以使用包括但不限于用于进程间通信的常规技术的各种技术来通信,并且不同的进程对可以使用不同的技术,或者同一进程对可以在不同时间使用不同的技术。
相应地,说明书和附图应当在说明性的意义而不是限制性的意义上考虑。然而,将明显的是,在不背离权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除以及其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不旨在是限制性的。各种修改和等价物在以下权利要求的范围内。
Claims (30)
1.一种方法,包括:
由计算系统接收用户对服务的订单,其中所述服务部分地通过资源的分配来实现;
由所述计算系统解析所述订单,以识别包括请求者、所述资源和请求时间的请求数据;
由所述计算系统将所述请求数据添加到聚合数据结构,其中所述聚合数据结构包括用于先前解析的订单的所述请求数据的聚合;
由所述计算系统基于所述聚合数据结构确定指示对所述资源的实时需求的值;
基于所述请求数据的至少一个组成部分在所述订单与来自先前解析的订单的至少一个其它订单之间是相同的,由所述计算系统将所述订单与所述至少一个其它订单相关;以及
由所述计算系统基于所述订单与所述至少一个其它订单的相关来识别至少一个资源集合,其中所述至少一个资源集合包括来自所述订单的资源和从所述至少一个其它订单请求的另一资源。
2.如权利要求1所述的方法,其中所述解析包括从所述请求数据构建提供所述请求者、所述资源和所述请求时间的结构化表示的数据结构。
3.如权利要求2所述的方法,其中所述聚合数据结构包括来自所述被解析的订单的数据结构和来自所述先前解析的订单的一个或多个数据结构。
4.如权利要求1至3中的任何一项权利要求所述的方法,其中所述指示对所述资源的实时需求的值是使用从用于所述先前解析的订单的请求数据的聚合获得的对所述资源的当前请求量来确定的。
5.如权利要求4所述的方法,还包括:
由所述计算系统基于指示对所述资源的实时需求的所确定的值来生成或更新用于资源的分配的一个或多个需求策略;
由所述计算系统基于所述一个或多个需求策略预先创建所述资源;以及
由所述计算系统基于所述一个或多个需求策略将预先创建的资源分配给一个或多个用户。
6.如权利要求1至3中的任何一项权利要求所述的方法,其中所述确定指示实时需求的值包括使用用于所述先前解析的订单的请求数据的聚合来确定在特定时间段内包括所述资源的订单的百分比。
7.如权利要求6所述的方法,其中所述确定指示实时需求的值还包括使用用于所述先前解析的订单的请求数据的聚合来将所确定的订单的百分比与相对于资源池内的其它资源的所述资源的实时需求相关。
8.如权利要求1至3中的任何一项权利要求所述的方法,其中请求数据的所述至少一个组成部分包括所述请求者。
9.如权利要求1至3中的任何一项权利要求所述的方法,还包括由所述计算系统基于包括所述资源、所述另一资源和附加资源的先前解析的订单的百分比来识别除了所述资源和所述另一资源之外被经常请求的所述附加资源。
10.如权利要求9所述的方法,还包括由所述计算系统更新识别出的至少一个资源集合,以包括所述附加资源。
11.如权利要求1至3中的任何一项权利要求所述的方法,还包括:
由所述计算系统生成或更新用于所述至少一个资源集合的分配的一个或多个需求策略;
由所述计算系统基于所述一个或多个需求策略预先创建连接在一起的所述资源和所述另一资源;以及
由所述计算系统基于所述一个或多个需求策略将包括连接在一起的所述资源和所述另一资源的所述至少一个资源集合分配给一个或多个用户。
12.一种非暂态机器可读存储介质,所述非暂态机器可读存储介质具有存储在其上的指令,当所述指令由一个或多个处理器执行时,使所述一个或多个处理器执行包括以下操作的方法:
基于请求数据的聚合来确定指示对资源池内的资源的实时需求的值,其中所述请求数据的聚合是从对包括所述资源作为实现服务的至少一部分的服务的任何数量的先前接收的订单获得的;
基于指示对所述资源的实时需求的所确定的值来生成或更新用于所述资源的分配的一个或多个需求策略;
基于所述一个或多个需求策略预先创建所述资源;以及
基于所述一个或多个需求策略将预先创建的资源分配给一个或多个用户。
13.如权利要求12所述的非暂态机器可读存储介质,其中指示对所述资源的实时需求的值是使用从请求数据的聚合获得的对所述资源的当前请求量来确定的。
14.一种系统,包括:
一个或多个处理器以及非暂态机器可读存储介质;
基于请求数据的聚合来确定指示对资源池内的资源的实时需求的值的程序指令,其中所述请求数据的聚合是从对包括所述资源作为实现服务的至少一部分的服务的任何数量的先前接收的订单获得的;
基于请求数据的至少一个组成部分在对服务的订单和来自先前接收的订单的至少一个其它订单之间是相同的来将所述订单和所述至少一个其它订单相关的程序指令;
基于所述订单与所述至少一个其它订单相关来识别至少一个资源集合的程序指令,其中所述至少一个资源集合包括来自所述订单的资源和从所述至少一个其它订单请求的另一资源;
跟踪所述资源池内所述资源的利用的程序指令;
基于以下各项中的至少一个来生成或更新用于资源的分配的一个或多个需求策略的程序指令:(i)指示对所述资源的实时需求的所确定的值、(ii)包括所述资源的所述至少一个资源集合,以及(iii)跟踪的对所述资源的利用;以及
基于所述一个或多个需求策略来执行以下各项中的至少一个的程序指令:(i)预先创建所述资源、(ii)将所述资源添加到资源池、(iii)清理所述资源,
其中程序指令存储在所述非暂态机器可读存储介质上,以供所述一个或多个处理器执行。
15.如权利要求14所述的系统,还包括基于所述一个或多个需求策略将所述资源分配给一个或多个用户的程序指令。
16.如权利要求14所述的系统,其中指示对所述资源的实时需求的值是使用从用于先前接收的订单的请求数据的聚合获得的对所述资源的当前请求量来确定的。
17.一种方法,包括:
由计算系统接收来自用户的资源提交,所述资源提交识别可贡献资源;
由所述计算系统识别用于所述资源提交的贡献策略,其中所述贡献策略是基于所述可贡献资源的资源类型与可请求资源的一个或多个资源类型之间的映射来识别的;
由所述计算系统基于识别出的用于所述资源提交的贡献策略向与所述用户相关联的客户机计算系统发送所述可请求资源的所述一个或多个资源类型;以及
由所述计算系统从所述客户机计算系统接收指示所述用户对所述可请求资源的所述一个或多个资源类型中的资源类型的选择的信息。
18.如权利要求17所述的方法,其中所述可贡献资源由所述用户管理。
19.如权利要求18所述的方法,还包括由所述计算系统基于所述资源提交确定所述可贡献资源的资源类型,其中识别贡献策略包括确定所述资源类型匹配可贡献资源的一个或多个资源类型,在所述贡献策略中可贡献资源的所述一个或多个资源类型映射到所述可请求资源的所述一个或多个资源类型。
20.如权利要求17至19中的任何一项权利要求所述的方法,其中所述识别所述贡献策略还至少基于所述用户的资源贡献历史来确定。
21.如权利要求17至19中的任何一项权利要求所述的方法,还包括由所述计算系统接收用于在所述资源提交中识别出的所述可贡献资源的访问凭证。
22.如权利要求21所述的方法,其中所述访问凭证使得所述用户能够管理所述可贡献资源。
23.如权利要求17至19中的任何一项权利要求所述的方法,还包括由所述计算系统更新用户帐户历史和资源池,以指示对所述可请求资源的所述一个或多个资源类型中的所述资源类型的选择。
24.如权利要求17至19中的任何一项权利要求所述的方法,还包括:
由所述计算系统接收所述用户对服务的订单,其中所述服务部分地通过资源的分配来实现;
由所述计算系统确定所述资源的类型与所述用户选择的所述资源类型匹配;以及
由所述计算系统为所述服务实现对所述资源的访问以交换所述可贡献资源。
25.如权利要求17至19中的任何一项权利要求所述的方法,还包括由所述计算系统基于对所述贡献策略内定义的可请求资源的所述一个或多个资源类型的需求来更新所述贡献策略。
26.一种非暂态机器可读存储介质,所述非暂态机器可读存储介质具有存储在其上的指令,当所述指令由一个或多个处理器执行时,使所述一个或多个处理器执行包括以下操作的方法:
接收来自用户的资源提交,所述资源提交识别可贡献资源;
基于所述资源提交,确定所述可贡献资源的资源类型;
识别用于所述资源提交的贡献策略,其中识别贡献策略包括确定所述资源类型与在所述贡献策略中映射到可请求资源的一个或多个资源类型的可贡献资源的一个或多个资源类型匹配;
基于识别出的用于所述资源提交的贡献策略,向与所述用户相关联的客户机计算系统发送所述可请求资源的所述一个或多个资源类型;以及
从所述客户机计算系统接收指示用户对所述可请求资源的所述一个或多个资源类型中的资源类型的选择的信息。
27.如权利要求26所述的非暂态机器可读存储介质,其中所述方法还包括分配具有与由所述用户选择的资源类型匹配的类型的资源以交换所述可贡献资源。
28.一种系统,包括:
一个或多个处理器和非暂态机器可读存储介质;
从用户接收对服务的订单的程序指令,所述订单识别可贡献资源和可请求资源,其中所述可贡献资源要被提供给资源池以交换所述可请求资源;
基于贡献策略接受所述资源提交的程序指令,其中所述贡献策略定义所述可贡献资源的类型中的第一资源类型与所述可请求资源的类型中的第二资源类型之间的映射;
接收提供对所述可贡献资源的访问和控制的访问凭证的程序指令;
更新所述资源池以指示用于为分布式系统的一个或多个用户服务的所述可贡献资源的可用性的程序指令;以及
向所述用户分配所述可请求资源的程序指令,
其中程序指令存储在所述非暂态机器可读存储介质上,以供所述一个或多个处理器执行。
29.如权利要求28所述的系统,其中所述可贡献资源由所述用户管理,而所述可请求资源由另一用户管理。
30.如权利要求28所述的系统,其中所述可贡献资源由所述用户管理,而所述可请求资源是由所述分布式系统的资源管理器管理的所述资源池的组成部分。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462035370P | 2014-08-08 | 2014-08-08 | |
US62/035,370 | 2014-08-08 | ||
US14/819,815 US9961017B2 (en) | 2014-08-08 | 2015-08-06 | Demand policy-based resource management and allocation system |
US14/819,827 | 2015-08-06 | ||
US14/819,815 | 2015-08-06 | ||
US14/819,827 US10291548B2 (en) | 2014-08-08 | 2015-08-06 | Contribution policy-based resource management and allocation system |
PCT/US2015/044216 WO2016022925A2 (en) | 2014-08-08 | 2015-08-07 | Policy based resource management and allocation system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106576114A true CN106576114A (zh) | 2017-04-19 |
CN106576114B CN106576114B (zh) | 2020-08-28 |
Family
ID=55268289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580042352.6A Active CN106576114B (zh) | 2014-08-08 | 2015-08-07 | 基于策略的资源管理和分配系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9961017B2 (zh) |
EP (1) | EP3177997B1 (zh) |
JP (1) | JP6605019B2 (zh) |
KR (2) | KR102409347B1 (zh) |
CN (1) | CN106576114B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912609B2 (en) | 2014-08-08 | 2018-03-06 | Oracle International Corporation | Placement policy-based allocation of computing resources |
US9961017B2 (en) | 2014-08-08 | 2018-05-01 | Oracle International Corporation | Demand policy-based resource management and allocation system |
CN108459829A (zh) * | 2018-04-12 | 2018-08-28 | 厦门集微科技有限公司 | 一种数据存储方法、装置及计算机存储介质 |
CN108647081A (zh) * | 2018-04-16 | 2018-10-12 | 南京维拓科技股份有限公司 | 基于订单的虚机资源自动分配系统 |
CN109245938A (zh) * | 2018-10-10 | 2019-01-18 | 连尚(新昌)网络科技有限公司 | 一种用于执行用户的资源配置操作的方法与设备 |
CN109471725A (zh) * | 2018-10-24 | 2019-03-15 | 新华三大数据技术有限公司 | 资源分配方法、装置和服务器 |
CN109614190A (zh) * | 2018-12-06 | 2019-04-12 | 成都载信智能科技有限公司 | 资源配置管理方法及平台 |
CN109857564A (zh) * | 2019-03-05 | 2019-06-07 | 上海交通大学 | 基于细粒度的gpu的资源管理方法及其应用的gpu |
CN110300130A (zh) * | 2018-03-21 | 2019-10-01 | 中移(苏州)软件技术有限公司 | 一种资源调度方法、装置、电子设备及存储介质 |
CN110633294A (zh) * | 2019-09-20 | 2019-12-31 | 中国银行股份有限公司 | 一种数据处理方法、装置及存储介质 |
CN111488232A (zh) * | 2019-01-29 | 2020-08-04 | 戴尔产品有限公司 | 开箱即用解决方案级配置以及诊断日志记录和报告的系统和方法 |
CN111861075A (zh) * | 2019-05-17 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种资源配置方法、资源配置装置及可读存储介质 |
CN113424167A (zh) * | 2019-02-19 | 2021-09-21 | 英迈国际有限公司 | 使用csv分配批量用户服务的系统和方法 |
CN113491094A (zh) * | 2019-02-26 | 2021-10-08 | 瑞典爱立信有限公司 | 利用联合网络和云资源管理的服务递送 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9819728B2 (en) * | 2012-04-30 | 2017-11-14 | Google Inc. | System and method for facilitating deduplication of operations to be performed |
US10200258B2 (en) * | 2014-08-14 | 2019-02-05 | Juniper Networks, Inc. | Transaction integrity for network services configuration |
US9740510B2 (en) * | 2015-03-31 | 2017-08-22 | Alcatel Lucent | Minimizing overhead over-provisioning costs in machine configurations |
WO2017072933A1 (ja) * | 2015-10-30 | 2017-05-04 | 株式会社日立製作所 | 計算機システムの管理システム及び管理方法 |
US10079693B2 (en) * | 2015-12-28 | 2018-09-18 | Netapp, Inc. | Storage cluster management proxy |
US11715025B2 (en) | 2015-12-30 | 2023-08-01 | Nutanix, Inc. | Method for forecasting distributed resource utilization in a virtualization environment |
US10168953B1 (en) | 2016-05-20 | 2019-01-01 | Nutanix, Inc. | Dynamic scheduling of distributed storage management tasks using predicted system characteristics |
US10341250B2 (en) | 2016-05-25 | 2019-07-02 | Accenture Global Solutions Limited | Device based automatic network provisioning |
US10902324B2 (en) | 2016-06-13 | 2021-01-26 | Nutanix, Inc. | Dynamic data snapshot management using predictive modeling |
US10361925B1 (en) | 2016-06-23 | 2019-07-23 | Nutanix, Inc. | Storage infrastructure scenario planning |
US10552591B2 (en) * | 2016-09-15 | 2020-02-04 | Oracle International Corporation | Resource optimization using data isolation to provide sand box capability |
JP7018437B2 (ja) | 2016-09-16 | 2022-02-10 | オラクル・インターナショナル・コーポレイション | マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービスのためのテナントおよびサービス管理 |
WO2018053717A1 (en) * | 2016-09-21 | 2018-03-29 | Accenture Global Solutions Limited | Dynamic resource allocation for application containers |
US10484301B1 (en) * | 2016-09-30 | 2019-11-19 | Nutanix, Inc. | Dynamic resource distribution using periodicity-aware predictive modeling |
US10691491B2 (en) | 2016-10-19 | 2020-06-23 | Nutanix, Inc. | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment |
US10637919B2 (en) | 2017-03-23 | 2020-04-28 | Microsoft Technology Licensing, Llc | Autonomous resource governor in distributed systems for protecting shared resources |
US10171377B2 (en) * | 2017-04-18 | 2019-01-01 | International Business Machines Corporation | Orchestrating computing resources between different computing environments |
US20180307221A1 (en) * | 2017-04-25 | 2018-10-25 | General Electric Company | Apparatus and method for failure identification |
US10382291B2 (en) * | 2017-04-26 | 2019-08-13 | Oracle International Corporation | Provisioning framework for binding related cloud services |
US10225140B2 (en) | 2017-04-26 | 2019-03-05 | Oracle International Corporation | Portable instance provisioning framework for cloud services |
US10318351B2 (en) * | 2017-04-27 | 2019-06-11 | International Business Machines Corporation | Resource provisioning with automatic approval or denial of a request for allocation of a resource |
US10389603B2 (en) | 2017-06-02 | 2019-08-20 | Microsoft Technology Licensing, Llc | Fast provisioning of tenants on a hosted service |
US11190516B1 (en) | 2017-08-24 | 2021-11-30 | Amazon Technologies, Inc. | Device communication with computing regions |
US11128464B1 (en) * | 2017-08-24 | 2021-09-21 | Amazon Technologies, Inc. | Identity token for accessing computing resources |
US10956224B1 (en) * | 2017-08-29 | 2021-03-23 | Wells Fargo Bank, N.A. | Creating augmented hybrid infrastructure as a service |
JP6782675B2 (ja) * | 2017-09-29 | 2020-11-11 | 富士フイルム株式会社 | 判別結果提供装置、判別結果提供装置の作動方法、判別結果提供プログラム、および判別結果提供システム |
JP2019101949A (ja) * | 2017-12-07 | 2019-06-24 | 富士通株式会社 | 情報処理装置、情報処理システムおよびプログラム |
EP3502890A1 (en) * | 2017-12-22 | 2019-06-26 | Bull SAS | Method for managing resources of a computer cluster by means of historical data |
US10419977B2 (en) | 2017-12-28 | 2019-09-17 | Comcast Cable Communications, Llc | Variable application of quality of service |
CN110322259B (zh) * | 2018-03-29 | 2022-07-12 | 北京红马传媒文化发展有限公司 | 资源管理方法、装置及电子设备 |
US10498611B1 (en) * | 2018-08-29 | 2019-12-03 | Charter Communications Operating, Llc | System architecture and methods for controlling and managing networking devices and expediting new service delivery in a subscriber's home network using micro-domains |
US10652046B1 (en) | 2018-11-14 | 2020-05-12 | Microsoft Technology Licensing, Llc | Infrastructure support in cloud environments |
IT201800021343A1 (it) * | 2018-12-28 | 2020-06-28 | Telecom Italia Spa | Sistema per fornire un servizio |
US10726123B1 (en) * | 2019-04-18 | 2020-07-28 | Sas Institute Inc. | Real-time detection and prevention of malicious activity |
CN111355617B (zh) * | 2020-01-08 | 2021-08-03 | 浙江辉驿网络科技有限公司 | 一种基于应用配置网络资源的方法、装置和电子设备 |
CN111523692B (zh) * | 2020-04-09 | 2023-07-14 | 北京白龙马云行科技有限公司 | 订单管理方法、订单管理装置及订单管理系统 |
US10860381B1 (en) | 2020-05-14 | 2020-12-08 | Snowflake Inc. | Flexible computing |
US11212171B1 (en) | 2020-06-30 | 2021-12-28 | Oracle International Corporation | Customer self-service cloud application provisioning |
CN114666211B (zh) * | 2020-12-23 | 2023-11-17 | 上海华为技术有限公司 | 一种通信方法、模型处理方法及相关设备 |
US11922183B2 (en) * | 2021-06-23 | 2024-03-05 | Microsoft Technology Licensing, Llc. | Cross-platform deployment of application |
CN115878228A (zh) * | 2021-09-30 | 2023-03-31 | 伊姆西Ip控股有限责任公司 | 管理资源的方法、电子设备和计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756186A (zh) * | 2004-09-30 | 2006-04-05 | 华为技术有限公司 | 一种资源管理的实现方法 |
US20080080396A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Marketplace for cloud services resources |
US20080130656A1 (en) * | 2006-12-01 | 2008-06-05 | Hyung-Sub Kim | Apparatus and method for managing quality of service in integrated network of heterogeneous mobile network |
CN101925182A (zh) * | 2009-06-15 | 2010-12-22 | 大唐移动通信设备有限公司 | 一种资源管理方法、系统和设备 |
US20110295998A1 (en) * | 2010-05-28 | 2011-12-01 | James Michael Ferris | Systems and methods for cross-cloud vendor mapping service in a dynamic cloud marketplace |
US8453198B2 (en) * | 2007-12-27 | 2013-05-28 | Hewlett-Packard Development Company, L.P. | Policy based, delegated limited network access management |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901446B2 (en) | 2001-02-28 | 2005-05-31 | Microsoft Corp. | System and method for describing and automatically managing resources |
US20030135609A1 (en) | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
US7461166B2 (en) | 2003-02-21 | 2008-12-02 | International Business Machines Corporation | Autonomic service routing using observed resource requirement for self-optimization |
US7676559B2 (en) | 2003-06-24 | 2010-03-09 | Alcatel Lucent | Real-time policy evaluation mechanism |
US20060085530A1 (en) | 2004-10-15 | 2006-04-20 | Emc Corporation | Method and apparatus for configuring, monitoring and/or managing resource groups using web services |
US7272588B2 (en) * | 2004-11-30 | 2007-09-18 | Microsoft Corporation | Systems, methods, and computer-readable media for generating service order count metrics |
US7602734B2 (en) | 2005-01-18 | 2009-10-13 | At&T Intellectual Property I, L.P. | Methods, systems and computer-readable media for dynamically recognizing and processing service order types in a network management system |
JP4705390B2 (ja) | 2005-03-25 | 2011-06-22 | 富士通株式会社 | 需要予測装置 |
US8850449B2 (en) | 2008-12-19 | 2014-09-30 | At&T Intellectual Property I, L.P. | Method and apparatus for providing resource allocation policy |
KR101113943B1 (ko) * | 2008-12-22 | 2012-03-05 | 한국전자통신연구원 | 워크로드 관리 방법과 장치 및 이를 이용한 분산 컴퓨팅 시스템 |
US8954487B2 (en) | 2009-06-23 | 2015-02-10 | Samsung Electronics Co., Ltd. | Management server and method for providing cloud computing service |
JP5286192B2 (ja) | 2009-08-12 | 2013-09-11 | 株式会社日立製作所 | ストレージシステムの容量を管理する管理計算機及びストレージシステムの容量管理方法 |
US8370312B1 (en) | 2009-09-15 | 2013-02-05 | Symantec Corporation | Systems and methods for using cloud-based storage to optimize data-storage operations |
US8619779B2 (en) | 2009-09-30 | 2013-12-31 | Alcatel Lucent | Scalable architecture for enterprise extension in a cloud topology |
US8397273B2 (en) * | 2010-02-11 | 2013-03-12 | Oracle International Corporation | Policy based provisioning in a computing environment |
US8402139B2 (en) * | 2010-02-26 | 2013-03-19 | Red Hat, Inc. | Methods and systems for matching resource requests with cloud computing environments |
US8443376B2 (en) | 2010-06-01 | 2013-05-14 | Microsoft Corporation | Hypervisor scheduler |
US20110307898A1 (en) * | 2010-06-10 | 2011-12-15 | Siemens Aktiengesellschaft | Method and apparatus for efficiently distributing hardware resource requests to hardware resource offers |
AU2011293350B2 (en) | 2010-08-24 | 2015-10-29 | Solano Labs, Inc. | Method and apparatus for clearing cloud compute demand |
US9250974B1 (en) | 2010-09-08 | 2016-02-02 | Disney Enterprises, Inc. | Systems and methods for configuring and managing computing resources to provide highly-scalable services |
US8484353B1 (en) | 2010-09-28 | 2013-07-09 | Amazon Technologies, Inc. | Resource placement templates for virtual networks |
US8909767B2 (en) | 2010-10-13 | 2014-12-09 | Rackware, Inc. | Cloud federation in a cloud computing environment |
JP2014038364A (ja) * | 2010-10-27 | 2014-02-27 | Hitachi Ltd | リソース管理サーバ、リソース管理方法及びリソース管理プログラム |
US20120221454A1 (en) * | 2011-02-28 | 2012-08-30 | Morgan Christopher Edwin | Systems and methods for generating marketplace brokerage exchange of excess subscribed resources using dynamic subscription periods |
US8732267B2 (en) | 2011-03-15 | 2014-05-20 | Cisco Technology, Inc. | Placement of a cloud service using network topology and infrastructure performance |
US20120271949A1 (en) | 2011-04-20 | 2012-10-25 | International Business Machines Corporation | Real-time data analysis for resource provisioning among systems in a networked computing environment |
US8949428B2 (en) | 2011-06-17 | 2015-02-03 | International Business Machines Corporation | Virtual machine load balancing |
EP2732368A4 (en) | 2011-07-11 | 2015-01-14 | Hewlett Packard Development Co | VIRTUAL MACHINE PLACEMENT |
US20130031028A1 (en) * | 2011-07-25 | 2013-01-31 | Bank Of America | Exchange System Supporting Cloud Computing |
US8615528B2 (en) * | 2011-07-28 | 2013-12-24 | International Business Machines Corporation | Cloud database sharing |
US8832239B2 (en) | 2011-09-26 | 2014-09-09 | International Business Machines Corporation | System, method and program product for optimizing virtual machine placement and configuration |
DE102012217202B4 (de) | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
US8832249B2 (en) | 2011-11-30 | 2014-09-09 | At&T Intellectual Property I, L.P. | Methods and apparatus to adjust resource allocation in a distributive computing network |
US9106576B2 (en) | 2012-01-13 | 2015-08-11 | Nec Laboratories America, Inc. | Policy-aware based method for deployment of enterprise virtual tenant networks |
US9032077B1 (en) | 2012-06-28 | 2015-05-12 | Amazon Technologies, Inc. | Client-allocatable bandwidth pools |
US9154589B1 (en) * | 2012-06-28 | 2015-10-06 | Amazon Technologies, Inc. | Bandwidth-optimized cloud resource placement service |
US9043787B2 (en) | 2012-07-13 | 2015-05-26 | Ca, Inc. | System and method for automated assignment of virtual machines and physical machines to hosts |
US8856386B2 (en) | 2012-08-21 | 2014-10-07 | Cisco Technology, Inc. | Cloud resource placement using placement pivot in physical topology |
CN104737517B (zh) | 2012-09-07 | 2018-08-31 | 甲骨文国际公司 | 用于提供云服务集合的系统和方法 |
US9621435B2 (en) | 2012-09-07 | 2017-04-11 | Oracle International Corporation | Declarative and extensible model for provisioning of cloud based services |
US9391875B2 (en) | 2013-02-11 | 2016-07-12 | Fujitsu Limited | Resource oriented dependency graph for network configuration |
US20140273928A1 (en) | 2013-03-14 | 2014-09-18 | 1666863 Ontario Inc. | Methods, software, and devices for automatically verifying completion of service orders for mobile devices |
US20140279353A1 (en) * | 2013-03-15 | 2014-09-18 | Shawn Patrick Findlan | C2EX Compute Commodities Exchange |
US20140365662A1 (en) | 2013-03-15 | 2014-12-11 | Gravitant, Inc. | Configuring cloud resources |
US9276827B2 (en) | 2013-03-15 | 2016-03-01 | Cisco Technology, Inc. | Allocating computing resources based upon geographic movement |
SG11201508211TA (en) | 2013-04-02 | 2015-11-27 | Amazon Tech Inc | User-defined pools |
US9582297B2 (en) | 2013-05-16 | 2017-02-28 | Vmware, Inc. | Policy-based data placement in a virtualized computing environment |
US20150113144A1 (en) * | 2013-10-21 | 2015-04-23 | Alcatel-Lucent Usa Inc. | Virtual resource placement for cloud-based applications and solutions |
US10476760B2 (en) | 2013-10-30 | 2019-11-12 | Oracle International Corporation | System and method for placement logic in a cloud platform environment |
US9621427B1 (en) | 2013-12-06 | 2017-04-11 | Vmware, Inc. | Automatic placement of clients in a distributed computer system satisfying constraints |
US20150163157A1 (en) | 2013-12-09 | 2015-06-11 | Alcatel-Lucent Usa Inc. | Allocation and migration of cloud resources in a distributed cloud system |
US9961017B2 (en) | 2014-08-08 | 2018-05-01 | Oracle International Corporation | Demand policy-based resource management and allocation system |
WO2016022925A2 (en) | 2014-08-08 | 2016-02-11 | Oracle International Corporation | Policy based resource management and allocation system |
US9912609B2 (en) | 2014-08-08 | 2018-03-06 | Oracle International Corporation | Placement policy-based allocation of computing resources |
US9405581B2 (en) | 2014-09-08 | 2016-08-02 | International Business Machines Corporation | Resource allocation/de-allocation and activation/deactivation |
US9256467B1 (en) | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
US9800465B2 (en) | 2014-11-14 | 2017-10-24 | International Business Machines Corporation | Application placement through multiple allocation domain agents and flexible cloud scheduler framework |
US9940150B2 (en) | 2015-02-27 | 2018-04-10 | International Business Machines Corporation | Policy based virtual resource allocation and allocation adjustment |
US9612865B2 (en) | 2015-06-15 | 2017-04-04 | International Business Machines Corporation | Managed services coordinator |
-
2015
- 2015-08-06 US US14/819,815 patent/US9961017B2/en active Active
- 2015-08-06 US US14/819,827 patent/US10291548B2/en active Active
- 2015-08-07 KR KR1020177006220A patent/KR102409347B1/ko active IP Right Grant
- 2015-08-07 CN CN201580042352.6A patent/CN106576114B/zh active Active
- 2015-08-07 EP EP15757039.1A patent/EP3177997B1/en active Active
- 2015-08-07 KR KR1020227019483A patent/KR20220084197A/ko not_active Application Discontinuation
- 2015-08-07 JP JP2017506907A patent/JP6605019B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756186A (zh) * | 2004-09-30 | 2006-04-05 | 华为技术有限公司 | 一种资源管理的实现方法 |
US20080080396A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Marketplace for cloud services resources |
US20080130656A1 (en) * | 2006-12-01 | 2008-06-05 | Hyung-Sub Kim | Apparatus and method for managing quality of service in integrated network of heterogeneous mobile network |
US8453198B2 (en) * | 2007-12-27 | 2013-05-28 | Hewlett-Packard Development Company, L.P. | Policy based, delegated limited network access management |
CN101925182A (zh) * | 2009-06-15 | 2010-12-22 | 大唐移动通信设备有限公司 | 一种资源管理方法、系统和设备 |
US20110295998A1 (en) * | 2010-05-28 | 2011-12-01 | James Michael Ferris | Systems and methods for cross-cloud vendor mapping service in a dynamic cloud marketplace |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291548B2 (en) | 2014-08-08 | 2019-05-14 | Oracle International Corporation | Contribution policy-based resource management and allocation system |
US9961017B2 (en) | 2014-08-08 | 2018-05-01 | Oracle International Corporation | Demand policy-based resource management and allocation system |
US9912609B2 (en) | 2014-08-08 | 2018-03-06 | Oracle International Corporation | Placement policy-based allocation of computing resources |
CN110300130A (zh) * | 2018-03-21 | 2019-10-01 | 中移(苏州)软件技术有限公司 | 一种资源调度方法、装置、电子设备及存储介质 |
CN108459829A (zh) * | 2018-04-12 | 2018-08-28 | 厦门集微科技有限公司 | 一种数据存储方法、装置及计算机存储介质 |
CN108459829B (zh) * | 2018-04-12 | 2021-11-12 | 厦门集微科技有限公司 | 一种数据存储方法、装置及计算机存储介质 |
CN108647081A (zh) * | 2018-04-16 | 2018-10-12 | 南京维拓科技股份有限公司 | 基于订单的虚机资源自动分配系统 |
CN109245938A (zh) * | 2018-10-10 | 2019-01-18 | 连尚(新昌)网络科技有限公司 | 一种用于执行用户的资源配置操作的方法与设备 |
CN109245938B (zh) * | 2018-10-10 | 2021-06-25 | 上海尚往网络科技有限公司 | 一种用于执行用户的资源配置操作的方法与设备 |
CN109471725A (zh) * | 2018-10-24 | 2019-03-15 | 新华三大数据技术有限公司 | 资源分配方法、装置和服务器 |
CN109614190A (zh) * | 2018-12-06 | 2019-04-12 | 成都载信智能科技有限公司 | 资源配置管理方法及平台 |
CN111488232B (zh) * | 2019-01-29 | 2024-01-19 | 戴尔产品有限公司 | 开箱即用解决方案级配置以及诊断日志记录和报告的系统和方法 |
CN111488232A (zh) * | 2019-01-29 | 2020-08-04 | 戴尔产品有限公司 | 开箱即用解决方案级配置以及诊断日志记录和报告的系统和方法 |
CN113424167A (zh) * | 2019-02-19 | 2021-09-21 | 英迈国际有限公司 | 使用csv分配批量用户服务的系统和方法 |
CN113491094A (zh) * | 2019-02-26 | 2021-10-08 | 瑞典爱立信有限公司 | 利用联合网络和云资源管理的服务递送 |
CN109857564A (zh) * | 2019-03-05 | 2019-06-07 | 上海交通大学 | 基于细粒度的gpu的资源管理方法及其应用的gpu |
CN111861075A (zh) * | 2019-05-17 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种资源配置方法、资源配置装置及可读存储介质 |
CN111861075B (zh) * | 2019-05-17 | 2024-04-16 | 北京嘀嘀无限科技发展有限公司 | 一种资源配置方法、资源配置装置及可读存储介质 |
CN110633294A (zh) * | 2019-09-20 | 2019-12-31 | 中国银行股份有限公司 | 一种数据处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3177997A2 (en) | 2017-06-14 |
US9961017B2 (en) | 2018-05-01 |
KR20170042638A (ko) | 2017-04-19 |
EP3177997B1 (en) | 2022-10-26 |
KR20220084197A (ko) | 2022-06-21 |
US20160043970A1 (en) | 2016-02-11 |
US10291548B2 (en) | 2019-05-14 |
JP2017524202A (ja) | 2017-08-24 |
CN106576114B (zh) | 2020-08-28 |
KR102409347B1 (ko) | 2022-06-15 |
JP6605019B2 (ja) | 2019-11-13 |
US20160043967A1 (en) | 2016-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106576114A (zh) | 基于策略的资源管理和分配系统 | |
US10979318B2 (en) | Enhancing resource allocation for application deployment | |
US10778542B2 (en) | Rule based subscription cloning | |
CN107690623B (zh) | 自动异常检测和解决系统 | |
CN106664321A (zh) | 基于放置策略的计算资源分配 | |
CN104756460B (zh) | 基于ldap的多顾客云内身份管理系统 | |
CN107431721A (zh) | 划分用于不同电子设备的应用分发 | |
EP3155576B1 (en) | Providing a subscription for a service using an existing subscription | |
JP7455252B2 (ja) | セグメンテーション・アズ・ア・サービスのための方法及びシステム | |
CN105900397A (zh) | 用于移动云服务的本地代理 | |
US11295247B2 (en) | Discovery and generation of organizational key performance indicators utilizing glossary repositories | |
CN107533680A (zh) | 代理指派的多维方法 | |
CN106462891A (zh) | 利用现有订阅为服务提供订阅 | |
CN109074265A (zh) | 移动云服务的预先形成的指令 | |
WO2016022925A2 (en) | Policy based resource management and allocation system | |
US11182798B2 (en) | Session signatures | |
US9898203B2 (en) | Replacing data structures for process control | |
JP2023537725A (ja) | 分析ワークスペースの実体化 | |
CN114730258A (zh) | 用于基础设施编排服务的用户界面技术 | |
US11138618B1 (en) | Optimizing in-application purchase items to achieve a developer-specified metric | |
Morar et al. | Robust Cloud Integration with Azure | |
US20230409290A1 (en) | Application development involving instant protoyping | |
Sodhi et al. | Appification of web applications: Architectural aspects | |
US20240020726A1 (en) | Systems and methods for integrating advertising with attributed offline sales and analytics platforms | |
KR20230034159A (ko) | 선별된 목적 데이터를 활용하여 효과적으로 클라우드 시스템을 구축하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |