CN103154926B - 用专用实施资源进行虚拟资源成本追踪 - Google Patents

用专用实施资源进行虚拟资源成本追踪 Download PDF

Info

Publication number
CN103154926B
CN103154926B CN201180047381.3A CN201180047381A CN103154926B CN 103154926 B CN103154926 B CN 103154926B CN 201180047381 A CN201180047381 A CN 201180047381A CN 103154926 B CN103154926 B CN 103154926B
Authority
CN
China
Prior art keywords
resource
enforcement
virtual
client
virtual resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180047381.3A
Other languages
English (en)
Other versions
CN103154926A (zh
Inventor
E·J·布兰德怀恩
M·M·赛莫尔
P·德桑蒂斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/894,883 external-priority patent/US10013662B2/en
Priority claimed from US12/894,496 external-priority patent/US11106479B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Priority to CN201610296472.5A priority Critical patent/CN106020928B/zh
Publication of CN103154926A publication Critical patent/CN103154926A/zh
Application granted granted Critical
Publication of CN103154926B publication Critical patent/CN103154926B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Abstract

可以以知道并且涉及潜在实施资源边界的方式提供虚拟资源。虚拟资源提供者的客户可以指定特定虚拟资源要与专用于所述客户的实施资源一起实施。把实施资源专用于虚拟资源提供者的特定客户可以在所述虚拟资源提供者的所述特定客户与其它客户之间建立一个或多个信息屏障。实施资源可能需要过渡程序,包括进入和退出专用实施资源池的自定义过渡程序。可以以包括显式、按客户进行调整和按虚拟资源和/或实施资源的类型进行调整的多种方式计算对应在专用池中且与特定用户相关的活动和非活动实施资源的成本并向所述客户呈现所述成本。

Description

用专用实施资源进行虚拟资源成本追踪
发明背景
各种类型的个体和机构使用计算机执行和/或协助多种任务已变得很普遍。变得越来越普遍的是提供虚拟计算机系统和各种类型的其它虚拟计算资源(特殊化提供者具有这些虚拟资源),而非购买和维护物理计算机。从虚拟资源提供者的客户的角度来看,使用虚拟计算资源可具有多个优点,诸如对改变计算需要的有成本效益而及时的响应。然而,常规虚拟资源提供者具有各种缺点。
虚拟资源提供者可以管理大量物理计算机(包括相对高容量的计算机),每个计算机能够托管多个虚拟计算机系统。虚拟资源提供者可使用多种方法把虚拟计算机系统指派到物理主机。在某些常规虚拟资源提供者处,向一个客户提供的特定虚拟计算机系统可以与相关于多个其它客户相关的虚拟计算机系统共享高容量计算机。出于多种原因(包括管理机构要求、机构政策和/或感知的数据安全风险),一个或多个客户可能无法接受这样的共享。某些常规虚拟资源提供者尝试防止运用从客户角度来看和/或从提供者角度来看对虚拟资源提供者效力、效益(包括成本效益)和/或其它虚拟资源提供者优势不利的方法进行无法接受的共享。
附图简述
将参考附图描述根据本公开内容的各个实施方案,其中:
图1是示出了用于实施根据至少一个实施方案的方面的实例环境的示意图;
图2是描绘了根据至少一个实施方案的实例虚拟资源提供架构的方面的示意图;
图3是描绘了根据至少一个实施方案的实例地理区域的方面的地图;
图4是描绘了根据至少一个实施方案的实例数据中心的方面的示意图;
图5是描绘了根据至少一个实施方案的实例数据中心的另一方面的示意图;
图6是描绘了根据至少一个实施方案的实例虚拟计算系统服务器的方面的示意图;
图7是描绘了根据至少一个实施方案的实例实施资源池的方面的示意图;
图8是描绘了根据至少一个实施方案的实例专用实施资源池过渡程序计时的方面的计时图;
图9是描绘了根据至少一个实施方案的实例实施资源利用会计方案的方面的图;
图10是描绘了根据至少一个实施方案的实例虚拟资源提供者控制平面的方面的示意图;
图11是描绘了根据至少一个实施方案的用于虚拟提供的实例步骤的流程图;
图12是描绘了根据至少一个实施方案的用于确定实施资源可用性的实例步骤的流程图;
图13是描绘了根据至少一个实施方案的用于分配和/或尝试分配实施资源的实例步骤的流程图;
图14是描绘了根据至少一个实施方案的用于建立专用实施资源池的实例步骤的流程图;
图15是描绘了根据至少一个实施方案的用于维护非活动专用实施资源缓冲器的实例步骤的流程图;
图16是描绘了根据至少一个实施方案的用于追踪成本的实例步骤的流程图;和
图17是描绘了根据至少一个实施方案的用于工作流程的实例步骤的流程图。
在本公开内容和附图各处,相同数字用来引用类似组件和特征,但是这类数字重复是为了使说明和了解简明,并且不应被视为限制各个实施方案。
具体实施方式
在下文描述中,将描述各个实施方案。出于说明目的,提出具体配置和详情以彻底了解所述实施方案。然而,也将对本技术领域人员显而易见的是,可以在没有具体细节的情况下实行所述实施方案。此外,可以省略或简化熟知特征以免使描述所述实施方案模糊。
在至少一个实施方案中,可以以知道并且涉及潜在实施资源边界的方式提供虚拟资源。虚拟资源提供者可以对实施资源(例如,数据中心空间、物理服务器计算机、联网硬件)的特定集提供多种类型的虚拟资源(例如,虚拟计算机系统、虚拟数据存储区、虚拟网络连接件)的每个。至少一些所述实施资源可能够参与多个虚拟资源实例的实施,每个实例可能与虚拟资源提供者的不同客户相关。在至少一个实施方案中,虚拟资源提供者的客户集(例如,一个或多个客户)可以指定特定虚拟资源要与专用于所述客户集的实施资源一起实施(例如,与“专用实施资源”一起实施),和/或用来实施所述客户集的虚拟资源的特定实施资源是专用实施资源。
实施资源边界(例如,物理分隔边界)可以对应信息屏障(例如,用于非预期的信息传送和/或未授权的数据修改的屏障)。因此,把实施资源专用于虚拟资源提供者的特定客户集(从而把其它客户排除在实施资源外)可以在所述虚拟资源提供者的所述特定客户集与其它客户之间建立一个或多个信息屏障(即,可以把所述特定客户集放置在所述一个或多个信息屏障“后面”)。或者或此外,实施资源专用可(例如)至少部分通过减小非预期的实施资源争用来改善虚拟资源性能。作为另一替代或而且此外,实施资源专用可(例如)通过使虚拟资源脱离在其它实施资源处发生的操作故障改善虚拟资源容错。
虚拟资源提供者可以维护包括所述虚拟资源提供者的客户不被排除在其外的实施资源的通用实施资源池。此外,虚拟资源提供者可以维护包括专用于所述虚拟资源提供者的一个或多个客户集的实施资源的一个或多个专用实施资源池。每个专用实施资源池可以具有进入和/或退出程序(统称为“过渡程序”)的相关集,诸如包括访问配置的实施资源配置、存储介质格式化和安全数据擦除。专用池中的实施资源可以是活动或非活动的(即,积极参与实施一个或多个虚拟资源或闲置)。虚拟资源提供者可以监控专用实施资源池中的活动程度并从生成实施资源池过渡实施资源和把实施资源过渡到生成实施资源池,以维持目标非活动对活动实施资源比率和/或大小至少部分基于活动程度的预测变化(例如,变化速率)的非活动实施资源“缓冲器”。
可以存在与把虚拟资源提供到客户相关的各种成本(包括经济成本),并且可以向虚拟资源提供者的客户呈现这些成本。可以呈现在每单位时间的虚拟资源可用性方面(例如,提供到客户的每个虚拟计算机系统的每月或每小时成本)、在经过处理、存储和/或传送的数据的单位(例如,千兆字节)方面、和/或在积极用来实施虚拟资源和/或使不可用于其它虚拟资源的实施资源的单位方面的成本。在成本报表中,对应于特定客户集相关的特定专用池中的活动和非活动实施资源的成本可以作为分开的活动和非活动量向所述客户呈现。或者,可以至少部分基于对应维护特定专用池中的活动和非活动实施资源的成本向客户呈现单个量。总的来说,作为另一替代,可以至少部分基于对应维护用于虚拟资源提供者的活动和非活动实施资源的成本向客户呈现单个量。在至少一个实施方案中,虚拟资源提供者的客户可以通过预留虚拟资源实例和/或相关专用实施资源降低与专用池中的实施资源相关的成本。
可以在各种应用程序的各个实施方案中实施各种方法。例如,图1示出了用于实施根据各个实施方案的方面的实例环境100的方面。如将理解,虽然为了说明可以利用基于Web的环境,但是可以酌情利用不同环境来实施各个实施方案。所示环境100包括测试或开发部分(或端)和生产部分两者。生产部分包括电子客户端设备102,其可以包括可操作以通过适当网络104发送和接收请求、消息或信息并将信息传达回设备102的用户的任何适当设备。这些客户端设备的实例包括个人计算机、手机、手持消息发送设备、膝上型计算机、桌上型计算机、机顶盒、个人数据助理、电子书阅读器等等。
网络104可以包括任何适当网络,包括内联网、互联网、蜂窝网、局域网、广域网、无线数据网络、或任何其它这类网络或其组合。用于这种系统的组件可以至少部分取决于选定网络和/或环境的类型。用于经由这种网络进行通信的协议和组件是为人熟知的并且本文将不详细论述。可以由有线或无线连接件和其组合启用网络通信。在该实例中,网络104包括互联网,因为所述环境包括用于接收请求和响应于其而为内容服务的Web服务器106,但是如本领域普通技术人员将显而易见的是,对于其它网络而言,可利用为类似目的服务的替代设备。
说明性环境100包括至少一个应用程序服务器108和数据存储区110。应理解,可以存在若干应用程序服务器、层、或其它元件、过程、或组件,其可以被链接或否则被配置,可以进行交互以执行诸如获得来自适当数据存储区的数据的任务。如本文使用,术语“数据存储区”指的是能够存储、访问和/或检索数据的任何设备或设备组合,其可以包括以任何标准、分布式或集群环境的任何组合和数量的数据服务器、数据库、数据存储设备和数据存储介质。
应用程序服务器108可以包括根据需要与数据存储区整合在一起以执行用于客户端设备102的一个或多个应用程序的方面的任何适当硬件和软件,并且甚至可以处理用于应用程序的大量数据访问和业务逻辑。应用程序服务器108与数据存储区110合作而提供访问控制服务,并且能够生成要传送到用户的内容(诸如文本、图形、音频和/或视频),在该实例中,所述内容可以通过Web服务器106以HTML、XML或另一适当结构化语言的形式为用户服务。
可以由Web服务器106处理所有请求和响应的处理和客户端设备102与应用程序服务器108之间的内容递送。应理解,无需Web服务器106和应用程序服务器108并且其仅是实例组件,因为可以对如本文别处论述的任何适当设备或主机执行本文论述的结构化代码。此外,可以以使得测试自动化框架可以作为可以为用户或应用程序订阅的服务的方式构造环境100。如本文论述或建议,测试自动化框架可以作为本文论述的任何各种测试模式的实施方式提供,但是也可以利用各种其它实施方式。
环境100还可以包括开发和/或测试端,其包括允许用户(诸如开发者、数据管理员或测试员)访问系统的用户设备118。用户设备118可以是诸如上文关于客户端设备102描述的任何适当设备或机器。环境100还可以包括开发服务器120,其与应用程序服务器108类似地运作但是通常例如在生产端上部署和执行代码以及外部用户可访问代码之前的开发和测试期间运行所述代码。在某些实施方案中,应用程序服务器可以用作开发服务器,并且无法利用单独生产和测试存储设备。
数据存储区110可以包括用于存储涉及特定方面的数据的若干单独数据表、数据库或其它数据存储机构和介质。例如,所示出的数据存储区110包括用于存储可以用来为用于生产端的内容服务的生产数据112和用户信息116的机构。还示出数据存储区110包括用于存储可以与用于测试端的用户信息一起利用的测试数据114的机构。应理解,可以存在存储在数据存储区110中(诸如对于页面图像信息和访问权限信息,其可以酌情存储在数据存储区110中的任何上列机构中或额外机构中)的许多其它方面。
数据存储区110可通过与其相关的逻辑操作以从应用程序服务器108或开发服务器120接收指令,并且响应于其而获得、更新或否则处理数据。在一个实例中,用户可以提交对特定类型项目的搜索请求。在这种情况下,数据存储区110可以访问用户信息116以验证用户识别,并且可以访问目录详情信息以获得关于所述类型项目的信息。接着,所述信息可以作为在Web页面上且用户能够经由用户设备102上的浏览器查看的结果列表返回到所述用户。可以在浏览器的专用页面或窗口中查看用于特定关注项目的信息。
每个服务器通常将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储在由所述服务器的处理器执行时允许所述服务器执行其预期功能的指令的计算机可读介质。用于服务器的操作系统和通用功能的合适实施方式是已知的或可商购的,并且根据本公开内容,本领域普通技术人员会尤其容易进行实施。
在一个实施方案中,环境100是利用经由通信链路使用一个或多个计算机网络或直接连接件互连的若干计算机系统和组件的分布式计算环境。然而,本领域普通技术人员将明白这种系统可同样以组件数量比图1所示更小或更大的系统进行操作。因此,应把图1的系统100的描绘理解成本质上是说明性的,且不限制于本公开内容的范围。
在至少一个实施方案中,环境100的一个或多个方面可以合并虚拟资源提供架构和/或并入其中。图2描绘了根据至少一个实施方案的实例虚拟资源提供架构200的方面。实例虚拟资源提供架构200包括通过网络208通信地连接到虚拟资源提供者206的多个客户端202-204。例如,客户端202-204可以对应计算设备,诸如图1的计算设备102和/或并入这些计算设备中的客户端程序。客户端202与客户端204之间的破折号指示虚拟资源提供架构200可以包括任何适量的客户端(例如,数千、数百万和更多),但是为了清楚起见,图2仅示出了两个。
一个或多个客户端202-204可以被虚拟资源提供者206的一个或多个客户用来与虚拟资源提供者206的控制平面210进行交互,且从而提供一个或多个虚拟资源212。或者或此外,一个或多个客户端202-204可以(未必被虚拟资源提供者206的客户)用来与提供的虚拟资源212进行交互。提供的虚拟资源212可以包括任何合适虚拟资源。合适虚拟资源212的实例包括虚拟计算机系统214、虚拟网连接件216和虚拟数据存储区218以及图2未示出的虚拟资源,诸如特殊化数据处理代理、介质流代理(包括音频和视频流代理)、消息队列、发布-订阅主题(其被配置来通知获得匹配转为所述发布-订阅主题的事件的订阅权的订阅者)、监控代理、负载均衡代理和其合适组合。
虚拟资源提供者206可以包括任何合适实施资源220。可以由实施资源220的集实施每个虚拟资源212。在至少一个实施方案中,实施资源220的各个实施资源可以被配置来参与至少部分实施虚拟资源212的多个虚拟资源。合适实施资源220的实例包括虚拟计算机系统(VCS)服务器222、网络硬件224和数据存储区服务器226以及图2中未示出的实施资源和/或下文参考图3、图4、图5和图6更详细描述的实施资源。控制平面210可以处理虚拟资源提供请求,管理虚拟资源212到实施资源220的分配和/或管理实施资源220到虚拟资源212的分配,以及提供相关成本会计服务。下文参考图10更详细描述根据至少一个实施方案的实例虚拟资源提供者控制平面。
当实施资源220的特定实施资源参与实施虚拟资源212的多个虚拟资源时,所述实施资源可以进入争用状态,例如所述实施资源可以从所述多个虚拟资源接收请求服务时间增加的足够服务请求。争用的实施资源可是例如至少部分基于请求服务时间变化在虚拟资源之间进行非预期的和/或未授权的信息传送的源。在至少一个实施方案中,客户集可以至少部分通过请求一起提供与所述客户集相关的虚拟资源与专用实施资源建立对到虚拟资源提供者206的其它客户的这种信息传送的屏障。这些屏障可以降低虚拟资源提供者的一个或多个其它客户获得对关于客户集的虚拟资源的信息(包括未发布的信息)的未授权读取和/或写入访问的概率。定义实施资源专用单元的实施资源专用边界可以对应物理组件和/或硬件组件之间的边界,包括因物理屏障和/或物理分隔以及硬的(例如,硬件强制执行的)调度引起的边界和/或计时边界和其合适组合。
在至少一些实施方案中,实施资源专用边界还可以对应地理边界。图3描绘了根据至少一个实施方案的实例地理区域300的方面。地理区域300包括邻接的联合州和若干数据中心302-318。在至少一个实施方案中,虚拟资源提供者206的实施资源220(图2)包括数据中心302-318和/或对应地理区域。数据中心302-318的物理分隔对应实施资源专用边界,并且可以界定对应地理区域。虚拟资源提供者206的特定客户集可以指定与所述客户集相关的虚拟资源是与专用数据中心集一起提供和/或提供在专用地理区域集内。虽然图3中未示出,但是可以国际性地定位一个或多个这些数据中心和/或对应地理区域。
在至少一些实施方案中,实施资源专用边界和/或单元还可以对应数据中心的部分。图4描绘了根据至少一个实施方案的实例数据中心402、404的方面。实例数据中心402包括内含服务器计算机(诸如图2的VCS服务器222和数据存储区服务器226)的服务器机柜406-408以及内含网络硬件(诸如图2的网络硬件224)的多个网络机柜410。每个这样的服务器机柜406-408和/或网络机柜410可以对应实施资源专用单元,使得虚拟资源提供者206的特定客户集可以指定所述客户集的虚拟资源要与专用服务器机柜集、网络机柜集和/或其合适组合一起提供。
数据中心402可能需要能够经过可靠认证(例如,用密码)以获得对数据中心402的物理访问的一种或多种类型的识别和/或访问设备(例如,相片ID卡、生物认证、物理密钥、有编码用途的RFID卡)。因此,数据中心402可以与安全等级和/或安全地带(例如,关于可公开访问的空间)相关。此外,数据中心402可以合并一个或多个更高等级和/或不同安全地带。数据中心402可以包括例如对应数据中心402内的锁定区的多个访问控制区412-418。例如,可能仅选定和/或特殊审查的数据中心402的工作人员可访问访问控制区412-418。数据中心402的工作人员的这个选择和/或特殊审查可能是访问控制区412-418到专用实施资源池中的过渡程序的一部分。
数据中心402还可以包括未必使物理访问更安全的多个访问监控区420-426。例如,访问监控区420-426可以记载数据中心402的工作人员的物理进入和/或退出,和/或否则把文档工作人员呈现(包括音频和/或视频记录)记载在访问监控区420-426中。包括每个访问控制区412-418和每个访问监控区420-426的每个安全地带可以对应实施资源专用单元,使得虚拟资源提供者206(图2)的特定客户集可以指定所述客户集的虚拟资源要与专用安全地带集一起提供。
图4的数据中心404可以移动。例如,数据中心404可以建构在集装箱中,并且通过包括所示半挂车式卡车的多种构件移动。移动数据中心404可以包括服务器机柜、网络机柜、对应固定数据中心402的服务器机柜406-408、网络机柜410、访问控制区412-418、和/或访问监控区420-426的访问控制区和/或访问监控区。移动数据中心404还可以包括合适的移动发电硬件、和合适的无线和/或有线高速数字数据链路(包括一个或多个互联网链路)。
图5描绘了根据至少一个实施方案的数据中心的另一方面。数据中心502可以包括多个服务器机柜504-506。数据中心502是图4的数据中心402、404的实例。服务器机柜504与服务器机柜506之间的破折号指示数据中心502可以包括任何适量的服务机柜,但是为了清楚起见,图5仅示出了两个。每个服务器机柜504-506可以参与维护服务,诸如到多个服务器计算机508-514和516-522的电力和数据通信。而且,破折号指示服务器机柜504-506可以包括任何适量的服务器计算机。例如,服务器计算机508-522可以包括一个或多个VCS服务器222(图2)和/或一个或多个数据存储区服务器226。每个服务器508-522可以对应实施资源专用单元。
在图5中,描绘了每个服务器机柜504-506包括机柜交换机524-526。机柜交换机524和526可以负责交换来回服务器计算机508-514和516-522的其各自集的数字数据的数据包。每个机柜交换机524-526可以实施资源专用单元。然而,在服务器机柜504-506包括一个机柜交换机524-526的情况下(图5中描绘),把机柜交换机524-526专用于虚拟资源提供者206(图2)的特定客户集导致各自服务器机柜504-506的专用。这是根据至少一个实施方案的导致内含专用单元的专用(“包含单元专用”)的实施资源专用单元的组件(实施资源专用子单元)的专用的实例。实施资源专用单元可以指示哪些其子单元(如果有的话)导致内含单元专用。
机柜交换机524-526可以通信地连接到数据中心交换结构528且接着连接到把数据中心502连接到包括互联网的一个或多个其它计算机网络的边缘路由器530的集。交换结构可以包括联网组件(包括排列在一个或多个交换层中的一种或多种交换机类型的多个互连交换机532-538(为了清楚起见,图5仅示出了四个)、以及路由器、网关、网桥、集线器、转发器、防火网、计算机和其合适组合)的任何合适集。在至少一个实施方案中,认为机柜交换机524-526和边缘路由器530是交换结构528的一部分。交换结构528的机柜交换机524-526、边缘路由器530和组件是图2的网络硬件224的实例。
交换结构528的部分、交换结构528联网组件的集(诸如交换机532-538和/或边缘路由器530的集)可以对应实施资源专用单元。或者或此外,虚拟资源提供者206(图2)的特定客户集可以指定所述客户集的虚拟资源是通过交换结构528和/或边缘路由器530与专用数据路径和/或通道(统称“数据路径”)的集一起提供。关于专用数据路径,实施资源专用单元可以对应物理数据路径,诸如电线和/或电缆集。或者或此外,在同步通信方案中,实施资源专用单元可以对应硬调度的通信时间槽。
在至少一些实施方案中,实施资源专用边界和/或单元还可以对应服务器计算机的部分。图6描绘了根据至少一个实施方案的实例VCS服务器602的方面。图6的VCS服务器602是图2的VCS服务器222的实例。由VCS服务器602实施的虚拟资源604可以包括各种类型的多个虚拟计算机系统(VCS)606-614。虚拟资源604可以与VCS服务器602的任何合适实施资源616一起实施。合适实施资源616的实例包括一个或多个处理器618(诸如中央处理单元(CPU)和多核CPU)、一个或多个易失性存储设备620(诸如随机访问存储器(RAM))、一个或多个非易失性存储设备622(诸如快速存储器和硬盘驱动器(HDD))和/或一个或多个网络接口624(诸如网络接口卡(NIC))。每个处理器618、易失性存储设备620、非易失性存储设备622和/或网络接口624可以对应实施资源专用单元。
每个虚拟计算机系统606-614可以与实施资源616的集一起实施。不同类型的虚拟计算机系统606-614可以与实施资源616的不同集一起实施。例如,“大”型虚拟计算机系统可能需要比“小”型虚拟计算机系统更多的实施资源。“存储器密集”类型的虚拟计算机系统可能需要易失性存储设备620实施资源的额外部分。“处理密集”类型的虚拟计算机系统可能需要处理器618实施资源的额外部分。图6描绘的实例示出了维护四个“小型”虚拟计算机系统606-612和一个“大型”虚拟计算机系统614的VCS服务器602。这是VCS服务器602的虚拟资源实施容量的实例。当然,其它配置是有可能的。例如,VCS服务器602可能够维护八个“小型”虚拟计算机系统、零个“大型”虚拟计算机系统614等等。
“小”型虚拟计算机系统可以对应由VCS服务器602维护的最小虚拟资源和/或单位虚拟计算机系统成本。虚拟资源提供者206(图2)可以根据被其它类型的虚拟计算机系统(包括与专用实施资源一起实施的虚拟计算机系统)取代的“小”型虚拟计算机系统的数量测量、估计和/或确定用于所述类型的虚拟计算机系统的成本。例如,虚拟资源提供者的特定客户集可以指定所述客户集的虚拟计算机系统要与专用硬盘驱动器一起实施。如果VCS服务器602通常被配置来与两个“小”型虚拟计算机系统共享每个硬盘驱动器,那么所述虚拟计算机系统与专用硬盘驱动器取代至少两个这类“小型”虚拟计算机系统。
在至少一个实施方案中。从专用实施资源池提取(即,分配)专用实施资源。例如,可以建立对应请求一起提供虚拟资源212与专用实施资源的虚拟资源提供者206(图2)的每个客户集的专用实施资源池,且接着可以从与所述客户集相关的专用实施资源池提取实施所述请求的虚拟资源的专用实施资源。图7描绘了根据至少一个实施方案的实例实施资源池的方面。图7描绘了通用实施资源池702和三个专用实施资源池704、706、710。
在该实例中,实施资源220(图2)始于通用实施资源池702。三个专用实施资源池704、706、710可以被建立用于虚拟资源提供者206的三个不同客户集。专用实施资源池704和专用实施资源池710具有重叠部分712。重叠部分712中的实施资源可以用来实施与专用实施资源池704或专用实施资源池710相关的客户集的虚拟资源。或者或此外,重叠部分712可以配置为与虚拟资源(包括与专用实施资源池704和专用实施资源池710两者相关的联合客户集的联合虚拟资源)相关的不同专用实施资源池712。
实施资源220可以根据由各自客户集的至少一个指定的实施资源过渡程序从通用实施资源池702过渡到专用实施资源池704、706、710、712,从而把所述过渡的实施资源专用于所述客户集。实施资源220可以响应于虚拟资源提供请求而过渡到专用实施资源池704、706、710、712。这些请求可能在通用实施资源池702包括履行所述请求所要的类型的不充足实施资源时因履行而出故障和/或延迟。为了避免这些问题,虚拟资源提供者206可以建立预留的实施资源池。
在图7描绘的实例中,与专用实施资源池706相关的客户集已建立预留的实施资源池708(例如,与图2的控制平面210)。在至少一个实施方案中,预留的实施资源池708中的实施资源220保持在通用实施资源池702中直到需要履行虚拟资源提供请求为止。然而,在需要时,预留的实施资源池708中的实施资源220甚至在所述实施资源参与实施一个或多个其它客户的虚拟资源时过渡到专用实施资源池706。即,与预留的实施资源池708相关的客户集优先实施预留的实施资源池708中的实施资源220。先占用的客户的虚拟资源可以迁移到通用实施资源池702的实施资源,或当通用实施资源池702不包括适当类型的足够实施资源时,可以取消提供所述实施资源。
虽然某些专用实施资源池过渡程序可是快速的(例如,以毫秒级),但是某些过渡程序(尤其是由虚拟资源提供者206的至少一个客户指定的自定义过渡程序)需要大量时间来完成(例如,数秒、数分钟、数小时和更长时间)。图8描绘了根据至少一个实施方案的实例专用实施资源池过渡程序计时的方面。
在时间t0,实施资源802始于通用实施资源池804。例如,实施资源802可以是图2的实施资源220之一,并且通用实施资源池804可以对应图7的通用实施资源池702。在时间t1,发生需要把实施资源802过渡到专用实施资源池806的虚拟资源提供者206事件。例如,所述事件可以是虚拟资源212提供请求,或用于满足预测提供请求的自动过渡,并且专用实施资源池806可以对应图7的专用实施资源池704。
在时间t2,专用实施资源池进入程序808可以开始。进入程序808可以是任何合适的实施资源802(重新)配置程序。合适进入程序的实例包括数据存储介质格式化、包括安全数据擦除程序的数据存储介质擦除、软件安装、组件配置、组件重新分配、访问控制配置、固件重新配置、虚拟资源迁移(例如,到替代实施资源)、认证凭证创建和发布、移动数据中心404(图4)重新定位、由客户手动检查实施资源过渡的、包括客户提供的计算机可执行指令的客户提供的进入程序和/或其任何合适组合。在至少一个实施方案中,客户从由虚拟资源提供者206(图2)提供的这些程序的集中选择专用实施资源池进入程序808。对于特定客户集,可以由虚拟资源提供者206预定义和/或动态生成提供的程序的集。
在时间t3以前,当进入程序808完成时,虚拟资源802可以处于过渡状态810。当处于过渡状态810时,实施资源802不参与实施虚拟资源212(图2)。在时间t3,进入程序808完成812,并且实施资源802进入专用实施资源池806。当在专用实施资源池806中时,实施资源802可以参与实施相关客户集的虚拟资源212。
在时间t4,可以发生需要把实施资源802从专用实施资源池806过渡回到通用实施资源池804的另一虚拟资源提供者206(图2)事件。例如,所述事件可以是虚拟资源212取消提供请求、或用于最佳化专用实施资源池806中的一定比例的闲置实施资源220的自动过渡。在时间t5,专用实施资源池退出程序814可以开始。退出程序814可以是任何合适的实施资源802(重新)配置程序,包括上文对于进入程序808和其逻辑和/或程序补码描述的程序。而且,在至少一个实施方案中,客户从这些程序的预定义集中选择专用实施资源池退出程序814。
在时间t6以前,当退出程序814完成时,实施资源802可以再次处于过渡状态810。在时间t6,退出程序814完成816,实施资源802退出专用实施资源池806并且重新进入通用实施资源池804。在时间t6之后,实施资源802可以重复进入和退出专用实施资源池806,和/或图8未示出的其它专用实施资源池,直到在时间t7实施资源802到达其使用期限为止。
如上文参考图6描述,某些实施资源可以实施多个虚拟资源(即,可以是“可分摊的”实施资源)。例如,VCS服务器602可以实施多个虚拟计算系统。在这种情况下,可能发生可分摊实施资源的一部分被分配来实施一个或多个虚拟资源(“已分配”),同时另一部分保持未分配。当可分摊实施资源专用于虚拟资源提供者206(图2)的特定客户集时,未分配部分不可再用于分配到所述虚拟资源提供者的其它集,并且这可以对应专用的可分摊实施资源将实现100%利用率的减小的概率。从虚拟资源提供者206的角度看,这是机会成本。可以多种方式计算这些成本。图9描绘了根据至少一个实施方案的实例实施资源利用会计方案的方面。
图9描绘了合并每个能够独立参与实施一个或多个虚拟资源212(图2)的资源分配的四个单元(或“资源分配单元”)的实例可分摊实施资源的利用。例如,实例可分摊实施资源可以是能够实施四个“小”型虚拟计算机系统或一个“大”型虚拟计算机系统的VCS服务器222之一。可以以资源分配单元测量可分摊实施资源的虚拟资源实施容量。例如,可以以标准化虚拟计算机系统单元(诸如“小”型虚拟计算机系统)为单位测量VCS服务器222的实施容量。
图9还描绘了在时间的八个单位(或“时间单位”,例如,数秒、数小时、数月等等)期间的实例可分摊实施资源的利用。在前两个时间单位期间,分配四个资源分配单元之一(如由阴影是对角线的正方形指示),并且其可以是活动的(即,积极参与实施至少一个虚拟资源),同时未分配四个资源分配单元的三个(如由非阴影正方形指示),并且其是非活动的。在至少一个实施方案中,还认为闲置的已分配资源分配单元是非活动的。在第三时间单位期间,分配四个资源分配单元的每个。在第四时间单位期间,分配四个资源分配单元的两个。对于剩余的四个时间单位,分配四个资源分配单元之一。
图9的每个正方形(有阴影或无阴影)对应资源利用量,即,资源分配单元与时间单位的乘积(为了清楚起见本文称作“资源小时”)。例如,可以以“少量”VCS小时测量VCS服务器利用。如果实例可分摊实施资源是在通用实施资源池702(图7)中,那么4×8=32资源小时将可用于分配。在图9描绘的实例利用中,在8个“小时”时段期间实际上分配12个资源小时,从而如果实例可分摊实施资源专用于特定客户,那么引起虚拟资源提供者206(图2)的20个资源小时的机会成本。
可以由虚拟资源提供者206的控制平面210(图2)控制虚拟资源的提供、配置、重新配置和/或取消提供(统称“提供”)。图10描绘了根据至少一个实施方案的实例控制平面1002的方面。图10的控制平面1002是图2的控制平面210的实例。控制平面1002可以包括提供接口1004,其被配置来至少从一个或多个客户端202-204接收虚拟资源212提供请求;工作流程组件1006,其被配置来至少根据一个或多个提供工作流程引导提供请求的响应;资源分配组件1008,其被配置来至少管理实施资源220到虚拟资源212的分配;和会计组件1010,其被配置来至少追踪和呈现与虚拟资源212和/或实施资源220相关的成本。
提供接口1004可以包括任何合适的提供接口元件。合适的提供接口元件的实例包括对应提供、配置、重新配置和/或取消提供虚拟资源212(图2)的接口元件的接口元件,以及提供对虚拟资源212配置信息的访问的接口元件,和启用认证以建立这些提供有关操作的授权的一个或多个接口元件。提供接口1004可以合并用户接口(UI)(诸如图形用户接口(GUI))、基于Web的接口、编程接口(诸如应用程序编程接口(API)和/或对应提供接口元件的远程程序调用(RPC)的集)、测量接口(诸如消息发送接口,其中提供接口1004的接口元件对应于通信协议的消息)和/或其任何合适组合和/或并入其中。
在至少一个实施方案中,提供接口1004、资源分配组件1008和会计组件1010可以创建和/或导致工作流程组件1006创建接着由工作流程组件1006维护的一个或多个工作流程。诸如提供工作流程和政策强制执行工作流程的工作流程可以包括要执行以执行诸如提供或政策强制执行的作业的任务的一个或多个任务序列。如本文使用的术语工作流程不是任务自身,但是为可以控制来回任务的信息的流动和其控制的任务的执行次序的任务控制结构。例如,可以认为工作流程是可在执行期间的任何时间管理和返回过程状态的状态机。可以根据工作流程模板创建工作流程。例如,可以根据配置有资源分配组件1008的参数的提供工作流程模板创建提供工作流程。作为另一实例,可以根据配置有资源分配组件1008的参数的政策强制执行工作流程模板创建政策强制执行工作流程。
工作流程组件1006可以修改,进一步指定和/或进一步配置建立的工作流程。例如,工作流程组件1006可以选择虚拟资源提供者206的特定实施资源220(图2)执行和/或指派到特定任务。这个选择可以至少部分基于如由工作流程组件1006评定的特定任务的计算资源需要。作为另一实例,工作流程组件1006可以把额外和/或复制任务添加到建立的工作流程和/或重新配置在所述建立的工作流程中的任务之间的信息流动。建立的工作流程的这个修改可以至少部分基于工作流程组件1006的执行效率分析。例如,可以有效地并行执行某些任务,同时其它任务取决于先前任务的成功完成。
作为提供虚拟资源的一部分,提供接口1004和/或工作流程组件1006可以请求资源分配组件1008确定实施所述虚拟资源所要的实施资源220(图2)的适当集,确定所述所要实施资源是否可用和/或根据虚拟资源提供者206分配政策,和/或分配所述所要实施资源。资源分配组件1008可以合并任何合适的资源分配和/或资源调度算法。这些算法是为本领域技术人员所熟知,并且本文无需详细描述。资源分配组件1008可以包括被配置来至少管理专用实施资源池(诸如图7的专用实施资源池704、706)的建立和维护的专用资源池组件1012。
专用资源池组件1012可以包括业务政策强制执行组件1014,其被配置来至少分析关于资源分配业务政策集的分配请求和提供关于所述分配请求是否根据所述资源分配业务政策集的评估(例如,允许或拒绝)。或者或此外,业务政策强制执行组件1014可以参与把实施资源220(图2)分配到虚拟资源212,和/或把虚拟资源212分配到实施资源220,以强制执行所述资源分配业务政策集。所述资源分配业务政策集可以包括任何合适的资源分配政策。合适资源分配政策的实例包括具有基于参数(诸如请求的专用虚拟资源的类型和/或数量、专用实施资源的对应类型和/或数量、请求客户的成本计划和/或未分配实施资源的当前程度和/或比例、非活动专用实施资源的预测程度和/或比例(例如,在请求客户的专用实施资源池中)和其合适组合)的条件的政策。资源分配政策可以包括任何合适条件,诸如Boolean算子指定的复合条件和指定特定数量、程度和/或比例高于最小值、低于最大值和/或在指定值范围内的条件。
关于实施多个虚拟资源的实施资源,虚拟资源密度或虚拟资源扩展对应每个单位实施资源的虚拟资源数量(例如,每个VCS服务器602的虚拟计算系统的数量)。虚拟资源提供者206(图2)的客户可以请求提供的虚拟资源具有例如用于减小多个客户的虚拟资源将受实施资源故障影响的概率的指定密度或扩展。与专用实施资源一起实施的虚拟资源的高扩展(低密度)可导致不良实施资源利用效率(例如,相对高的非活动实施资源利用对活动实施资源利用比率,诸如超过20%的利用比率)。在至少一个实施方案中,资源分配业务政策集可以包括具有基于虚拟资源密度和/或扩展程度的条件的一个或多个政策(例如,设置一个或多个密度和/或扩展限制)。专用资源池组件1012还可以包括被配置来至少根据允许的密度和/或扩展程度分配专用实施资源的扩展组件1016。或者或此外,扩展组件1016可以被配置来至少分配和/或重新分配专用实施资源以实现最大允许和/或指定的虚拟资源密度,和/或使自由(即,分配0%)实施资源专用单元的数量最大化。
专用资源池组件1012还可以包括池过渡组件1018,其被配置来至少过渡来回专用实施资源池704、706(图7)的实施资源220和/或管理其过渡。实施资源220(图2)可以与专用池过渡程序的集相关。例如,每种类型的实施资源可以具有相关过渡程序。或者或此外,虚拟资源提供者206的客户可以指定用于特定类型的虚拟资源和/或实施资源的专用池过渡程序。池过渡组件1018可以识别与要与包括一个或多个专用实施资源的实施资源一起提供的虚拟资源的特定集相关的适当过渡程序集。池过渡组件1018可以执行这些过渡程序。或者或此外,池过渡组件1018可以创建(或导致工作流程组件1006创建)对应专用池过渡程序的识别集的一个或多个专用池过渡程序。
专用资源池组件1012还可以包括池利用组件1020,其被配置来至少监控专用实施资源池704-706(图7)中的活动和/或非活动程度,预测专用实施资源池704-706中的活动和/或非活动程度,和开始来回专用实施资源池704-706的实施资源过渡。出于多种原因,专用实施资源池704-706中的实施资源可以是非活动的。例如,实施资源可能在预期尚未发生的虚拟资源提供请求或参与实施已取消提供的虚拟资源中过渡到专用池704-706。这些非活动实施资源可以是负责客户的不必要花费和/或虚拟资源提供者206(图2)的机会成本。
然而,由于用于过渡来自通用实施资源池702(图7)的实施资源的时间可能是大量的,所以可能希望专用实施资源池704-706中的一定程度的非活动(即,非活动专用实施资源“缓冲器”)。负责客户和/或虚拟资源提供者206(图2)管理员可以指定每个专用实施资源池704-706的活动和/或非活动的一个或多个目标程度。在至少一个实施方案中,可以设置每种类型的实施资源的活动和/或非活动目标。可以指定关于资源分配单元数量、实施资源专用单元数量、其比例和/或其衍生物(包括变化速率、变化速度、变化加速度、第一衍生物、第二衍生物、第三衍生物和任何合适等级衍生物)的活动和/或非活动目标。池利用组件1020可以至少部分基于监控的活动和/或非活动程度预测对应活动和/或非活动目标的值,并且至少部分基于所述预测值调度来回专用实施资源池704-706的实施资源过渡以满足对应活动和/或非活动目标。
会计组件1010可以维护虚拟资源提供者206(图2)的每个客户的帐户。与由客户提供的虚拟资源212和/或相关实施资源220相关的利用和/或成本可以记录在所述客户的帐户中。会计组件1010可以维护指定成本如何分配到客户帐户的一个或多个成本计划1022。会计组件1010可以包括帐户用户接口(UI)组件1024,其被配置来至少对客户提供记录在客户帐户中的利用和/或成本的一个或多个呈现,并且当所述成本的一个或多个对应归功于虚拟资源提供者206的收支平衡时提供用于结清帐户余额的一个或多个机构(例如,支付票据处理)。帐户UI1024还可以提供帐户创建、帐户配置和重新配置、帐户详情查看和更新以及帐户删除。当多个这类成本计划1022可用时,帐户(重新)配置可以包括来自成本计划1022的合格列表的选择。
成本计划1022可以指定对应每种类型的虚拟资源212和/或实施资源220(图2)的每个资源小时的成本。可以由客户缴纳分配的和/或活动的资源小时(例如,以活动实施资源成本率)的成本(“活动成本”)。在至少一个实施方案中,还可以由客户缴纳与在池704-706(图7)中且专用于所述客户的实施资源相关的未分配的和/或非活动的资源小时(例如,以非活动实施资源成本率)的成本(“专用资源成本”或“非活动成本”)。在至少一个实施方案中,活动成本和专用资源成本单独维持在客户帐户中,并且明确作为对应成本报表中的单独项目呈现。或者,活动成本和/或速率可以经过调整以计算专用资源成本使得成本报表无需包括明确说明专用资源成本的项目。成本计划1022可以包括分配的、未分配的、活动的和/或非活动的资源小时的任何合适功能,包括合适线性功能和合适非线性功能。
例如,可以在每个客户基础上调整活动成本和/或速率。可以周期性地生成成本报表并且在自从先前生成的成本报表经过的时段(“成本报表时段”)期间缴纳每个状态成本。可以确定在所述时段期间由特定客户缴纳的活动成本和专用资源成本,并且所述活动成本和/或速率经过调整(例如,增大)以包括在所述时段期间的专用资源成本。例如,假设客户提供五十个虚拟计算机系统214(图2)并且指定所述五十个虚拟计算机系统的每个要与专用实施资源一起实施。作为响应,资源分配组件1008把四个VCS服务器222专用于客户,每个VCS服务器能够实施由所述客户请求的十六个虚拟计算机系统,因此移除实施来自通用实施资源池702(图7)的六十四个这类虚拟计算机系统的能力。还假设客户帐户的成本计划1022指定每个活动专用资源小时的基本利率$0.10和每个非活动专用资源小时的基本利率$0.05。在一千个小时时段期间,客户缴纳50×1000×$0.10=$5000的活动成本和14×1000×$0.05=$700的专用资源成本,总计成本$5700。作为呈现活动成本和专用资源成本的单独项目的替代,所述时段期间的成本报表可以呈现对应50×1000×$0.114=$5700的单个项目。即,在该实例中,每个活动资源小时的客户基本利率经过调整以承担所述时段期间的总成本。
作为另一实例,可以在每个虚拟资源类型和/或专用实施资源类型基础上调整活动成本和/或速率。可以确定在成本报表时段期间的对应特定类型的虚拟资源和/或专用实施资源的活动成本和专用资源成本,并且所述活动成本和/或速率经过调整以包括所述时段期间的专用资源成本。例如,假设虚拟资源提供者206(图2)的客户均提供对应与一个或多个专用池704、706(图7)中的专用实施资源一起实施的特定类型的一百万个分配单元的虚拟资源,并且假设作为专用过程的一部分,所述类型的另一两万个资源分配单元是过渡自通用实施资源池702但是保持非活动。在该实例中,虚拟资源提供者均具有非活动专用资源分配单元对活动专用资源分配单元比率2%(本文用字母α表示“非活动专用比率”)。还可以根据实施资源利用量确定非活动专用比率。还假设根据再次指定每个活动专用资源小时(c活动)的基本利率$0.10和每个非活动专用资源小时(c非活动)的基本利率$0.05的共同成本计划对客户分配成本。可以运用以下公式确定每个活动专用资源小时(c’活动)的调整利率:
c’活动=c活动+αc非活动
即,在该实例中,$0.10+2%×$0.05=$0.101。
可以关于时段集(例如,包括一个或多个先前时段和/或一个或多个未来时段中的预测资源分配单元利用)确定对用于计算专用资源成本的调整。当不同客户和/或提供的资源分配单元与不同成本计划相关时,对应成本计划的调整可以不同,例如至少部分基于成本计划属性(诸如成本计划类型、相关客户类型、利润率和/或不同基本利率)加权。此外,可以至少部分基于对应预留的实施资源池(诸如图7的预留的实施资源池708)中的实施资源的资源分配单元修改活动成本和/或专用资源成本。例如,活动和/非活动专用资源小时可以偏移达预留的资源小时,与预留的资源小时相关的成本可以作为负责客户的成本报表上的单独项目呈现。此外,成本计划1022可以指定分级成本和/或资源小时率,例如对应增大的虚拟资源量阈值集(例如,关于相同类型的虚拟资源)的减小的成本集和/或对应增大的资源小时量阈值集的减小的利率集。此外,成本计划1022可以指定与专用实施资源池704-706过渡程序相关的成本。
现转向描述可以根据至少一个实施方案执行的实例步骤和/或程序。图11描绘了根据至少一个实施方案的用于虚拟提供的实例步骤。在步骤1102处,可以维护实施资源池。例如,资源分配组件1008(图10)可以维护图7的通用实施资源池702(步骤1104)和一个或多个专用实施资源池704-706(步骤1106)。在至少一个实施方案中,专用实施资源池704-706的维护包括迁移特定专用池中的实施资源当中的虚拟资源以使相对于实施资源的虚拟资源密度最大化和/或迈向虚拟资源扩展目标。然而,无需在提供需要专用实施资源的至少一个虚拟资源之前建立和/或维护专用实施资源池704-706。
在步骤1108处,可以接收虚拟资源提供请求。例如,提供接口1004(图10)可以响应于虚拟资源提供者206的客户与客户端202-204(图2)之一进行交互而从所述客户端接收虚拟资源提供请求。虚拟资源提供请求可以合并和/或引用实施资源限制集。例如,所述实施资源限制集可以包括关于虚拟资源密度和/或虚拟资源扩展的限制、关于专用实施资源的限制(包括特定类型的实施资源专用于客户的虚拟资源)和关于实施资源属性(诸如地理位置)的限制。在步骤1110处,可以确定实施在步骤1108处请求的虚拟资源的所要的实施资源的集。例如,资源分配组件1008可以至少部分基于包括所述实施资源限制集的虚拟资源提供请求的一个或多个参数和/或属性确定实施资源的所要集。
在步骤1112处,可以确定在步骤1110处确定的所要实施资源集是否可用。例如,资源分配组件1008可以追踪在通用池702(图7)和专用池704、706中实施资源的可用性,并且比较所要实施资源集与可用实施资源清单。如果所要实施资源集的每个实施资源可用,那么程序合并步骤1112可以前进到步骤1114。否则,所述程序可以前进到步骤1116,其中可以向发送在步骤1108处接收的提供请求的一方报告可用性问题。
在步骤1114处,可以分配所要实施资源集。例如,资源分配组件1008(图10)可以在必要时更新可用实施资源清单并在池702-706(图7)之间过渡实施资源。资源分配组件1008可以根据实施资源限制集从可用实施资源当中进行选择。例如,资源分配组件1008可以地理分隔满足指定目标地理分隔的限制的实施资源。如果实施资源限制集包括指定和/或引用虚拟资源扩展目标的限制,那么资源分配组件1008可以根据虚拟资源扩展目标调用扩展组件1016来选择和/或重新分配实施资源。当所要实施资源集包括专用实施资源时,扩展组件1016还可以尝试使虚拟资源密度最大化同时使相对于实施资的虚拟资源容量和/或虚拟资源扩展目标最大化。
在步骤1118处,可以一起提供请求的虚拟资源与在步骤1114处分配的所要实施资源集。例如,当从资源分配组件1008接收步骤1114的资源分配已成功的通知时,提供接口1004可以创建合适的提供工作流程。
图12描绘了根据至少一个实施方案的用于确定实施资源可用性的实例步骤。在步骤1202处,可以从所要实施资源集中选择要检查可用性的下一个(例如,第一个)实施资源。例如,资源分配组件1008(图10)可以从在图11的步骤1110处确定的所要实施资源集中选择下一个实施资源。在步骤1204处,可以确定分配选定实施资源是否将违反虚拟资源提供者206(图2)的一个或多个资源分配业务政策。例如,业务政策强制执行组件1014可以评估关于资源分配业务政策集的选定实施资源分配。在参考图12描述的这个实例中,对所要实施资源集中的每个实施资源执行步骤1204。或者或此外,可以对整个所要实施资源集执行步骤1204的确定一次。
在步骤1206处,可以尝试分配在步骤1202处选择的实施资源(“预分配检查”)。例如,资源分配组件1008(图10)可以搜索匹配选定实施资源的类型的未分配实施资源的适当实施资源池702-706(图7)。实际分配可以延迟(例如,到图11的步骤1114)以确保自动分配交易(从数据库理论上来说)。或者,如果可能,那么可以允许部分分配和/或步骤1206可以分配选定实施资源。在步骤1208处,可以确定步骤1206的分配尝试是否成功。如果是,那么程序合并步骤1208可以前进到1210。否则,所述程序可以前进到图12未示出的一个或多个步骤(例如,图11的步骤1116),其中状态1212指示至少一个实施资源不可用。
在步骤1210处,可确定在所需实施资源集中是否存在待检测的多个实施资源。如果存在,那么程序可前进到步骤1202。否则,程序可前进到图12中未示出的一个或多个步骤(例如,图11的步骤1114),其中状态1214指示所需实施资源集的每一个均可用。
图13描绘了根据至少一个实施方案的用于分配和/或尝试分配实施资源的实例步骤。例如,图13的步骤可以并入图11的步骤1112或步骤1114和/或图12的步骤1206中。在步骤1302处,可以确定要分配的实施资源(“分配候选”)是否分配自特定专用实施资源池。例如,在图11的步骤1110处确定的实施资源集可以包括分配自图7的专用实施资源池706的实施资源集,并且分配候选可以是所述实施资源之一,和/或资源分配组件1008(图10)可以识别与在图11的步骤1108处接收的虚拟资源提供请求相关的一个或多个专用实施资源限制。如果分配候选是分配自专用实施资源池704-706之一,那么程序合并步骤1302可以前进到步骤1304。否则,所述程序可以前进到步骤1306。
在步骤1306处,可以确定匹配分配候选的实施资源是否可用于(例如,未分配)通用实施资源池702(图7)。例如,资源分配组件1008(图10)可以搜索通用实施资源池702中匹配分配候选的类型的未分配实施资源。如果分配候选可用于通用实施资源池702,那么程序可以前进到步骤1308。否则,所述程序可以前进到图13未示出的一个或多个步骤(例如,图11的步骤1116),其中状态1310指示无法分配所述分配候选。在步骤1308处,可以从通用实施资源池702中分配所述分配候选。例如,资源分配组件1008(图10)可以记录发现在步骤1306处分配到相关虚拟资源(例如,与图11的步骤1108的提供请求相关的虚拟资源)的通用池702实施资源。
在步骤1304处,可以确定匹配分配候选的实施资源是否可用于在步骤1302处确定的特定专用实施资源池(“候选专用池”)。例如,资源分配组件1008(图10)可以搜索专用实施资源池706(图7)中匹配分配候选的类型的未分配实施资源。如果分配候选可用于候选专用池,那么程序可以前进到步骤1312。否则,所述程序可以前进到步骤1314。在步骤1312处,可以从候选专用池中分配所述分配候选。例如,资源分配组件1008可以记录发现在步骤1304处分配到相关虚拟资源的专用池706实施资源。
如果确定分配候选当前不可用于候选专用池,那么在步骤1314处,还可以确定所述候选专用池是否可扩展。例如,专用资源池组件1012(图10)可以检查相关成本计划1022和/或请求由业务政策强制执行组件1014扩展候选专用池的评估。如果候选专用池可扩展,那么所述程序可以前进到步骤1316,否则,所述程序可以前进到图13未示出的一个或多个步骤(例如,图11的步骤1116),其中状态1310指示无法分配所述分配候选。
例如,如上文对于步骤1306描述,在步骤1316处,可以确定匹配分配候选的实施资源是否可用于通用实施资源池702(图7)。如果是,那么程序可以前进到步骤1318。否则,所述程序可以前进到图13未示出的一个或多个步骤(例如,图11的步骤1116),状态1310指示无法分配所述分配候选。在步骤1318处,可以把在步骤1316处发现的实施资源过渡到候选专用池(和/或可以开始所述过渡)。例如,专用资源池组件1012可以请求池过渡组件1018过渡在步骤1316处发现的通用池702实施资源。可以如上文对于步骤1312描述般分配过渡的实施资源。当图13的步骤是作为预分配检查的一部分来执行时,步骤1308、步骤1312和步骤1318可以被省略和/或对应“资源可用”状态。
在图11的步骤1110处确定的实施资源集可能包括分配自尚不存在的专用实施资源池的实施资源集。在这种情况下,专用资源池组件1012(图10)可以建立包括要分配的实施资源集的新专用实施资源池。图14描绘了根据至少一个实施方案的用于建立专用实施资源池的实例步骤。在步骤1402处,可以接收建立新专用实施资源池的请求(“新专用池请求”)。例如,专用资源池组件1012可以响应于图11的步骤1108的虚拟资源提供请求而接收所述请求。
在步骤1404处,可以把新专用池请求映射到实施资源集。新专用池请求可以明确指定要添加到新专用实施资源池的实施资源集。或者或此外,新专用池请求可以指定要与专用实施资源一起实施的虚拟资源集,并且专用资源池组件1012(图10)可以把虚拟资源集映射到实施资源集。
在步骤1406处,例如可以由业务政策强制执行组件1014(图10)评估关于资源分配业务政策集的新专用池请求。在步骤1408处,可以至少部分基于步骤1406的评估确定新专用池请求是否根据资源分配业务政策集。如果是,那么程序合并步骤1408可以前进到步骤1410。否则,在步骤1412处可以向请求者报告问题。
例如,如上文对于图13的步骤1316描述,在步骤1410处,可以确定在步骤1404处获得的实施资源集是否可用于通用实施资源池702(图2)。如果是,那么程序可以前进到步骤1414。否则,所述程序可以前进到步骤1412以向请求者报告问题。在步骤1414处,例如可以由专用资源池组件1012(图10)把新专用实施资源池添加到专用实施资源池704-706(图7)的集。在步骤1416处,可以把识别成可用于通用实施资源池702的实施资源集过渡到新专用实施资源池。
如上文参考图10描述,专用实施资源池可以与非活动专用实施资源缓冲器建立在一起。图15描绘了根据至少一个实施方案的用于维护非活动专用实施资源缓冲器的实例步骤。在步骤1502处,可以收集专用池利用数据。例如,池利用组件1020可以监控专用实施资源池706(图7)中的活动和/或非活动的程度。在步骤1504处,例如可以由池利用组件1020至少部分基于在步骤1502处收集的专用池利用数据预测另一专用池利用。
在步骤1506处,可以确定当前非活动专用实施资源缓冲器是否足够。例如,池利用组件1020可以比较专用实施资源池706(图7)中非活动的预测程度与专用实施资源池706的非活动的目标程度和/或最小非活动缓冲器阈值。如果当前缓冲器已足够(例如,非活动的预测程度满足或超过最小非活动缓冲器阈值),那么程序合并步骤1506可以前进到步骤1508。否则,所述程序可以前进到步骤1510。在步骤1510处,可以把一个或多个实施资源从通用实施资源池702(例如,从通用实施资源池702的预留部分708)过渡到专用实施资源池706。例如,池利用组件1020可以请求池过渡组件1018把足够实施资源过渡到专用实施资源池706使得预测缓冲器已足够。
在步骤1508处,可以确定当前非活动专用实施资源缓冲器是否过剩。例如,池利用组件1020可以比较专用实施资源池706(图7)中非活动的预测程度与专用实施资源池706的非活动的目标程度和/或最大非活动缓冲器阈值。如果当前缓冲器过剩(例如,非活动的预测程度超过最大非活动缓冲器阈值),那么程序可以前进到步骤1512。否则,所述程序可以前进到步骤1502以收集更多数据。在步骤1512处,可以把一个或多个实施资源从专用实施资源池706过渡到通用实施资源池702(例如,到通用实施资源池702的预留部分708)。例如,池利用组件1020可以请求池过渡组件1018把足够实施资源过渡到通用实施资源池706使得非活动的预测程度对应专用实施资源池706的非活动的目标程度。
可以根据由虚拟资源提供者206(图2)的管理员和/或虚拟资源提供者206的负责客户指定的成本呈现表列向所述客户呈现与维护提供的虚拟资源相关的成本。图16描绘了根据至少一个实施方案的用于追踪成本的实例步骤。在步骤1602处,可以在某个时段期间维护虚拟资源集。例如,在所述时段期间虚拟资源提供者206可以维护用于特定客户的虚拟资源212的集。
在步骤1604处,可以确定对应在步骤1602处维护的虚拟资源集的一个或多个活动实施资源利用量。例如,在所述时间时段期间,图10的会计组件1010可以确定与所述虚拟资源集的每个虚拟资源相关的活动资源小时的数值。在步骤1606处,可以确定对应在步骤1602处维护的虚拟资源集的一个或多个非活动实施资源利用量。例如,在所述时间时段期间,会计组件1010可以确定与所述虚拟资源集的每个虚拟资源相关的活动资源小时的数值。
在步骤1608处,可以确定所述虚拟资源集是否与预留的虚拟资源集相关。例如,客户可以对提供接口1004(图10)提供预留的虚拟资源集和/或使预留的虚拟资源集与在步骤1602处维护的虚拟资源的先前提供的集相关。如果存在与确定其成本的虚拟资源集相关的预留的虚拟资源,那么程序合并步骤1608可以前进到步骤1610。否则,所述程序可以前进到步骤1612。在步骤1610处,可以把预留的虚拟资源集映射到一个或多个预留的实施资源利用量。例如,图10的会计组件1010可以确定与预留的虚拟资源集的每个虚拟资源相关的预留的资源小时的数值。
在步骤1612处,可以根据与客户和/或虚拟资源集相关的一个或多个成本计划确定一个或多个成本。例如,会计组件1010(图10)可以至少部分基于成本计划1022和/或分别在步骤1604、步骤1606和/或步骤1610处确定的活动的、非活动的和/或预留的实施资源利用量确定所述成本。在步骤1614处,可以向客户呈现在步骤1612处确定的成本。例如,会计组件1010可以生成可通过帐户UI1024访问的一个或多个成本呈现。
如上文参考图10描述,控制平面1002可以使由工作流程组件1006维护的一个或多个工作流程变得容易。图17描绘了根据至少一个实施方案的用于工作流程的实例步骤。在步骤1702处,可以由控制平面1002(图10)的接口接收请求。例如,控制平面1002的提供接口1004和/或帐户UI1024可以从虚拟资源提供者206的客户和/或管理员接收所述请求。所述请求可以是例如利用简单对象访问协议(SOAP)调用对编程接口(诸如应用程序编程接口(API)或Web服务接口)进行的调用。或者或此外,可以通过图形用户接口(GUI)(诸如基于Web的GUI)接收所述请求。在步骤1704处,可以分析所述请求以确定成功完成所述请求所要的一个或多个动作。例如,提供接口208可以分析所述请求,并且确定提供虚拟资源集所要的动作集。当接收所述请求的接口元件对应要执行的特定动作时,所述接口可以提取来自所述请求的信息以用于确定要执行的动作的方面和/或参数。
在步骤1706处,可以发送至少部分基于在步骤1704处确定的一个或多个动作创建工作流程的请求。例如,提供接口1004(图10)可以把所述请求发送到工作流程组件1006。创建所述工作流程的请求可以包括所述动作、动作数据库,诸如动作类型和/或动作参数。在至少一个实施方案中,控制平面1002和/或工作流程组件1006维护这些请求的作业队列,并且响应于到所述作业队列的新添加而创建工作流程。在步骤1708处,可以创建工作流程和一个或多个子任务。例如,工作流程组件1006可以分析步骤1706的请求以确定要创建的适当工作流程和子任务。
在步骤1710处,可以根据工作流程引导子任务的执行。例如,工作流程组件1006(图10)可以启动实施资源220(图2)的接口元件以提供虚拟资源集。或者或此外,工作流程组件1006可以管理用于由虚拟资源提供者206的组件执行子任务的竞价。在步骤1712处,可以确定所述工作流程是否已完成。例如,工作流程组件1006可以确定由所述工作流程管理的任务的序列中的最后任务是否已完成。如果是,那么程序合并步骤1712可以前进到步骤1714。否则,所述程序可以返回到步骤1710进行下一个任务和/或任务序列。工作流程可以引导并行执行的多个任务序列。在这种情况下,所述工作流程可能直到每个所述多个任务序列完成和/或通过子任务之一设置明确的工作流程完成旗标为止才完成。在步骤1714处,可以向步骤1702的请求的发送者通知动作结果。
可以以多种操作环境实施本文描述的各个实施方案,在某些情况下所述实施方案可以包括可以用来运行任何多种应用程序的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可以包括任何多种通用个人计算机,诸如运行标准操作系统的桌上型或膝上型计算机以及运行移动软件并且能够支持多种联网和消息发送协议的蜂窝、无线和手持设备。这个系统还可以包括出于诸如开发和数据库管理的目的运行任何多种可商购操作系统和其它已知应用程序的多种工作站。这些设备还可以包括其它电子设备,诸如能够经由网络通信的虚拟终端、瘦客户端、游戏系统和其它设备。
多数实施方案利用本领域技术人员可能熟悉是用于支持使用任何多种可商购协议(诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk)的通信的至少一个网络。这个网络可以包括例如局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网、红外线网络、无线网和其任何组合。此外,所述网络可以合并任何合适的网络拓扑。合适网络拓扑的实例包括但不限于简单的点对点、星形拓扑、自组织对等拓扑和其组合。
在利用Web服务器的实施方案中,Web服务器可以运行任何多种服务器或中层应用程序,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用程序服务器。所述服务器还可能够诸如通过执行可以作为以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Perl、Python或TCL)以及其组合写入的一个或多个脚本或程序实施的一个或多个Web应用程序执行对来自用户设备的请求作出响应的程序或脚本。所述服务器还可以包括数据库服务器,包括不限于可商购自的的数据库服务器。
环境可以包括如上文论述的多种数据存储区以及其它存储器和存储介质。这些存储设备可以常住在多个位置中,诸如在一个或多个计算机本地(和/或常驻在其中)的存储介质或在跨网络的任何或所有计算机远端的存储介质上。在特定实施方案集中,信息可以常驻在本领域技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行归属于计算机、服务器或其它网络设备的功能的任何必要文件可以酌情存储在本地和/或远端。在系统包括计算机化设备的情况下,每个这类设备可以包括可以经由总线电耦接的硬件元件,所述元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如,鼠标、键盘、控制器、触屏或按键)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这种系统还可以包括一个或多个存储设备,诸如硬盘驱动器、光学存储设备和固态存储设备(诸如随机访问存储器(“RAM”)或只读存储器(“ROM”))以及抽取式介质设备、存储卡、闪存卡等。
这些设备还可以包括如上文描述的计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外线通信设备等)和工作存储器。计算机可读存储介质读取器可以与计算机可读存储介质(代表用于瞬时性和/或更持久性地容纳、存储、传输和检索计算机可读信息的远端、本地、固定和/或抽取式存储设备以及存储介质)连接和/或被配置来收纳其。所述系统和各种设备通常还将包括多个软件应用程序、模块,包括位于至少一个工作存储器设备内的程序模块、服务或其它元件,包括操作系统和应用程序,诸如客户端应用程序或Web浏览器。应明白替代实施方案可以具有上文描述的实施方案的众多变化。例如,还可以利用自定义硬件和/或可以以硬件、软件(包括便携式软件,诸如支程序)或两者实施特定元件。此外,可以采用到其它计算设备(诸如网络输入/输出设备)的连接。
用于容纳代码或代码的部分的存储介质和计算机可读介质可以包括本领域中已知或使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的易失性和非易失性、抽换式和非抽换式介质,包括可以用来存储希望的信息且可以由系统设备访问的RAM、ROM、EEPROM、快速存储器或其它存储器技术、CD-ROM、数字多用盘(DVD)、或其它光学存储设备、磁带盒、磁带、磁盘存储设备或其它磁存储设备或任何其它介质。程序模块、程序组件和/或编程对象可以包括属于任何合适的计算机编程语言和/或对应其的计算机可读和/或计算机可执行指令。在至少一个实施方案中,每个计算机可读介质可以是有形的。在至少一个实施方案中,每个计算机可读介质在时间上可以是非瞬时性的。基于本文提供的本公开内容和教学,本领域普通技术人员将明白用于实施各个实施方案的其它方式和/或方法。
因此,认为说明书和附图是以说明之意而非限制之意。然而,明显的是可以在不脱离如权利要求书中提出的本发明的更广精神和范围的情况下对说明书和附图进行各种修改和改变。
除非本文另有指示或上下文明确否定,否则在描述实施方案的上下文中(尤其是在以下权利要求书的上下文中)术语“一个”(a,an)和“所述”以及类似参考词的使用应解释成涵盖单数和复数两者。除非另有说明,否则术语“包括”(“comprising”、“including”和“containing”)、具有(“having”)应解释成开放式术语(即,意味着“包括但不限于”)。术语“连接的”应解释成部分或全部包括在内、附接到、连接在一起,但是可存在某些中间物。除非本文另有指示,否则本文的值范围的列举仅旨在用于个别地参考落于所述范围内的每个单独值的速记方法,而且每个单独值好像本文个别地列举其般并入说明书中。除非本文另有指示或上下文另外明确否定,否则可按任何合适次序执行本文描述的所有方法。除非另有主张,否则本文提供的任何和所有实例或示例性语言(例如,“诸如”)的使用仅旨在更佳地说明实施方案且不会对范围造成限制。说明书中的语言不应解释成指示如实行至少一个实施方案必要的任何非主张元件。
本文描述优选实施方案,包括发明者已知的最佳模式。本领域普通技术人员可以在阅读前文描述时明白优选实施方案的变化。发明者预期本领域人员酌情采用这些变化,并且发明者希望除如本文特别描述外的方式建构实施方案。因此,合适实施方案包括如适用定律允许添加到其的权利要求书中所列的标的的所有变化和等效物。此外,预期除非本文另有指示或上下文另外明确否定,否则以实施方案的所有可能变化的上述元件的任何组合可并入某些合适实施方案中。
本文所列的所有参考文献(包括公开案、专利申请和专利)据此以与好像个别地和特别地指示每个参考文献是以引用的方式并入和以其内容进行说明相同的程度并入本文。
条款1.一种用于虚拟资源成本追踪的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
在具有多个客户的虚拟资源提供者处,维护由实施资源集实施的虚拟资源,所述实施资源集包括能够作为多个实施资源分配单元分配到与所述多个客户相关的多个虚拟资源的至少一个实施资源,所述至少一个实施资源专用于所述多个客户的客户集的虚拟资源;
确定对应被分配来实施所述虚拟资源的所述至少一个实施资源的至少第一实施资源分配单元的活动资源利用量;
确定对应至少部分因专用于所述客户集的虚拟资源而未分配的所述至少一个实施资源的至少第二实施资源分配单元的非活动资源利用量;
至少部分基于所述活动资源利用量和所述非活动资源利用量确定所述虚拟资源的至少一个成本;和
向所述客户集提供所述虚拟资源的所述至少一个成本的呈现。
条款2.根据条款1所述的计算机实施方法,其还包括至少部分通过把所述至少一个实施资源从通用实施资源池过渡到与所述客户集相关的专用实施资源池专用所述至少一个实施资源。
条款3.根据条款2所述的计算机实施方法,其中所述通用实施资源池中的实施资源至少部分实施所述虚拟资源提供者的所述多个客户的多个虚拟资源。
条款4.根据条款1所述的计算机实施方法,其中所述虚拟资源包括以下项的至少一个:虚拟计算机系统、虚拟数据存储区和虚拟专用网。
条款5.根据条款1所述的计算机实施方法,其中所述至少一个实施资源包括以下项的至少一个:存储设备、物理服务器、服务器机柜、数据中心、所述数据中心的物理安全部分、所述数据中心中监控物理访问的一部分、移动数据中心、网络交换机、网络连接件、无线网传输器和无线网接收器。
条款6.根据条款5所述的计算机实施方法,其中每个实施资源分配单元对应以下项的至少一个的容量的单位:所述存储设备、所述物理服务器、所述服务器机柜、所述数据中心、所述数据中心的所述物理安全部分、所述数据中心中监控物理访问的所述部分、所述移动数据中心、所述网络交换机、所述网络连接件、所述无线网传输器和所述线网接收器。
条款7.根据条款6所述的计算机实施方法,其中所述物理服务器的容量的所述单位对应标准化虚拟计算机系统单元,并且所述物理服务器的容量大于一个标准化虚拟计算机系统单元。
条款8.根据条款1所述的计算机实施方法,其中资源利用量对应实施资源分配单元和时间单位的乘积。
条款9.一种用于虚拟资源成本追踪的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
维护至少部分通过能够实施与多个客户相关的多个虚拟资源的至少一个实施资源实施的虚拟资源,所述至少一个实施资源专用于虚拟资源提供者的多个客户的客户集的虚拟资源;
确定对应所述至少一个实施资源的至少一个未分配部分的非活动资源利用量;
至少部分基于所述非活动资源利用量确定所述虚拟资源的至少一个成本;和
向所述客户集提供所述虚拟资源的所述至少一个成本的呈现。
条款10.根据条款9所述的计算机实施方法,其中确定所述虚拟资源的所述至少一个成本包括至少部分基于对应所述至少一个实施资源的至少一个分配部分的活动资源利用量确定第一成本,和至少部分基于所述非活动资源利用量确定第二成本。
条款11.根据条款10所述的计算机实施方法,其中所述第一成本是活动实施资源成本率和所述活动资源利用量的乘积,并且所述第二成本是非活动实施资源成本率和所述非活动资源利用量的乘积。
条款12.根据条款9所述的计算机实施方法,其中确定所述客户集的所述虚拟资源的所述至少一个成本包括至少部分基于所述非活动资源利用量和对应所述至少一个实施资源的至少一个分配部分的活动资源利用量确定成本。
条款13.根据条款12所述的计算机实施方法,其中确定所述成本包括确定相对于对应时段的调整的活动实施资源成本率。
条款14.根据条款9所述的计算机实施方法,其中确定所述虚拟资源的所述至少一个成本包括确定至少部分基于对应所述虚拟资源提供者的多个实施资源的活动和非活动资源利用量确定调整的活动实施资源成本率。
条款15.根据条款14所述的计算机实施方法,其中所述调整的活动实施资源成本率是至少部分基于相对于所述多个实施资源的平均非活动资源利用量对平均活动资源利用量的比率。
条款16.一种用于虚拟资源成本追踪的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
接收提供虚拟资源的请求,所述请求指示所述虚拟资源要至少部分与专用于虚拟资源提供者的客户集的至少一个实施资源一起实施,所述请求与至少一个成本计划相关,所述至少一个成本计划与资源分配业务政策集相关,所述资源分配业务政策集包括禁止专用于所述虚拟资源提供者的客户的实施资源中高的非活动实施资源利用对活动实施资源利用比率的至少一个资源分配业务政策;
当由包括所述至少一个实施资源的实施资源集实施时,检查所述虚拟资源将满足所述资源分配业务政策集;
至少部分通过把所述实施资源集分配到所述虚拟资源一起提供所述虚拟资源与所述实施资源集;
根据所述至少一个成本计划确定所述虚拟资源的至少一个成本;和
向所述客户集呈现所述虚拟资源的所述至少一个成本。
条款17.根据条款16所述的计算机实施方法,其中:
所述请求指定多个虚拟资源相对于专用于所述客户集的多个实施资源的目标扩展,所述多个虚拟资源包括所述虚拟资源;和
所述至少一个资源分配业务政策指定所述目标实施扩展受制于其的至少一个扩展限制。
条款18.根据条款16所述的计算机实施方法,其中所述至少一个成本计划指定所述虚拟资源的所述至少一个成本至少部分基于至少部分与专用于所述客户集的一个或多个实施资源一起实施的相同类型的提供的虚拟资源的数量。
条款19.一种用于虚拟资源成本追踪的计算机化系统,其包括:
多个实施资源,其均能够实施与虚拟资源提供者的多个客户相关的多个虚拟资源;
提供接口,其被配置来至少使所述多个客户能够请求提供虚拟资源,所述请求包括指示所述虚拟资源要与专用于所述多个客户的客户集的实施资源一起实施的请求;
实施资源分配组件,其被配置来至少:
维护包括专用于所述多个客户的至少所述个客户集的所述多个实施资源的至少一个的至少一个专用实施资源池;和
分配所述多个实施资源中的实施资源的至少多个部分以实施请求的虚拟资源,包括从所述至少一个专用实施资源池中选择如由所述请求指示的实施资源;
成本追踪组件,其被配置来至少:
确定对应选自所述至少一个专用实施资源池的至少一个实施资源的至少一个分配部分的活动资源利用量;
确定对应选自所述至少一个专用实施资源池的所述至少一个实施资源的至少一个未分配部分的非活动资源利用量;和
确定至少部分与选自所述至少一个专用实施资源池的所述至少一个实施资源一起实施的至少一个虚拟资源的至少一个成本,所述至少一个成本至少部分基于所述活动资源利用量和所述非活动资源利用量;以及
用户接口组件,其被配置来至少向所述客户集呈现所述至少一个虚拟资源的所述至少一个成本。
条款20.根据条款19所述的计算机化系统,其中:
所述实施资源分配组件还被配置来至少维护至少一个预留的实施资源池,所述至少一个预留的实施资源池包括可用于到所述多个用户的虚拟资源的分配的所述多个实施资源的至少一个,其中所述客户集具有分配优先权;
所述成本追踪组件还被配置来至少对于所述客户集确定对应所述至少一个预留的实施资源池中的所述多个实施资源的所述至少一个的预留的资源利用量;和
所述至少一个成本还至少部分基于所述预留的资源利用量。
条款21.根据条款20所述的计算机化系统,其中确定所述至少一个虚拟资源的所述至少一个成本包括:
至少部分基于所述预留的资源利用量确定第一成本;
至少部分基于所述预留的资源利用量修改所述活动和非活动资源利用量;和
至少部分基于所述修改的活动和非活动资源利用量确定至少第二成本。
条款22.均在其上具有配置一个或多个计算机以均至少进行以下步骤的计算机可执行指令的一个或多个计算机可读介质:
接收提供要由实施资源集实施的虚拟资源的请求,所述虚拟资源集包括能够至少部分实施与虚拟资源提供者的多个客户相关的多个虚拟资源的每个的至少一个实施资源,所述请求能够指示所述虚拟资源的一个或多个要至少部分与专用于所述多个客户的客户集的至少一个专用实施资源一起实施,关于与资源分配业务政策集相关的至少一个成本计划提供的所述虚拟资源包括被配置来禁止专用实施资源中高的非活动实施资源利用对活动实施资源利用比率的至少一个资源分配业务政策;
当满足所述资源分配业务政策集时提供请求的虚拟资源;
根据所述至少一个成本计划确定提供的虚拟资源的成本;和
提供所述提供的虚拟资源的所述成本的呈现。
条款23.根据条款22所述的一个或多个计算机可读介质,其中所述至少一个资源分配业务政策指定当请求的虚拟资源要至少部分与所述至少一个专用实施资源一起实施时,所述请求的虚拟资源的数量不小于请求的虚拟资源的最小数量。
条款24.根据条款22所述的一个或多个计算机可读介质,其中所述至少一个成本计划指定对应专用所述至少一个专用实施资源的至少一个成本。
条款25.根据条款22所述的一个或多个计算机可读介质,其中所述至少一个成本计划指定对应把所述至少一个专用实施资源返回到通用实施资源池的至少一个成本。
条款26.一种用于提供虚拟资源的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
在具有多个客户的虚拟资源提供者的控制平面处从所述虚拟资源提供者的客户集的至少一个接收提供虚拟资源的请求,所述请求的虚拟资源具有实施资源的相关集,所述相关集包括合并至少一个信息屏障并且能够实施与在所述至少一个信息屏障后面的所述多个客户相关的多个虚拟资源的至少一个实施资源,所述请求具有实施资源限制的相关集,所述相关集包括指定所述至少一个实施资源专用于所述客户集的虚拟资源的至少一个专用实施资源限制;
至少部分通过根据所述至少一个专用实施资源限制把所述至少一个实施资源专用于所述客户集的虚拟资源在所述虚拟资源提供者的所述客户集与其它客户之间建立所述至少一个信息屏障;和
至少部分通过把所述实施资源集分配到所述虚拟资源提供所述请求的虚拟资源,实施资源的所述分配集包括所述至少一个实施资源。
条款27.根据条款26所述的计算机实施方法,其中专用所述至少一个实施资源包括把所述至少一个实施资源从通用实施资源池过渡到与所述客户集相关的专用实施资源池。
条款28.根据条款26所述的计算机实施方法,其中所述至少一个信息屏障至少部分对应所述至少一个实施资源与所述虚拟资源提供者的其它实施资源的物理分隔。
条款29.一种用于提供虚拟资源的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
接收提供虚拟资源的请求,所述请求指示所述虚拟资源要至少部分与专用于虚拟资源提供者的客户集的至少一个实施资源一起实施,所述至少一个实施资源合并至少一个信息屏障并且能够至少部分实施与在所述至少一个信息屏障后面的所述虚拟资源提供者的多个客户相关的多个虚拟资源,
识别专用于所述客户集的未分配实施资源集并且检查所述未分配实施资源集包括所述至少一个实施资源;和
至少部分通过把所述至少一个实施资源从专用于所述客户集的所述实施资源集分配到所述虚拟资源从而至少部分在所述虚拟资源提供者的所述客户集与其它客户之间建立所述至少一个信息屏障而提供所述虚拟资源。
条款30.根据条款29所述的计算机实施方法,其中建立所述至少一个信息屏障降低所述虚拟资源提供者的所述其它客户的至少一个获得对关于所述虚拟资源的未发布信息的访问的概率。
条款31.根据条款29所述的计算机实施方法,其还包括至少部分通过把所述至少一个实施资源从所述虚拟资源提供者的通用实施资源池过渡到与所述客户集相关的专用实施资源池把所述至少一个实施资源专用于所述客户集。
条款32.根据条款31所述的计算机实施方法,其中可至少部分基于所述客户集对所述虚拟资源的预测需求预测所述专用。
条款33.根据条款31所述的计算机实施方法,其中把所述至少一个实施资源从所述通用实施资源池过渡到所述专用实施资源池包括执行由所述客户集的至少一个指定的实施资源过渡程序。
条款34.根据条款33所述的计算机实施方法,其中所述客户集的至少一个从由所述虚拟资源提供者提供的多个实施资源过渡程序中选择所述实施资源过渡程序。
条款35.根据条款33所述的计算机实施方法,其中所述实施资源过渡程序减小与所述至少一个实施资源在所述通用实施资源池中时的活动相关的残余信息的量。
条款36.根据条款29所述的计算机实施方法,其中所述客户集的至少一个在所述虚拟资源提供者的基于Web的接口处提出所述请求。
条款37.根据条款29所述的计算机实施方法,其中所述虚拟资源包括以下项的至少一个:虚拟计算机系统、虚拟数据存储区和虚拟专用网。
条款38.根据条款29所述的计算机实施方法,其中所述至少一个实施资源包括以下项的至少一个:存储设备、物理服务器、服务器机柜、数据中心、数据中心的物理安全部分、数据中心中监控物理访问的一部分、移动数据中心、网络交换机、网络连接件、无线网传输器和无线网接收器。
条款39.一种用于提供虚拟资源的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
维护通用实施资源池,其包括被配置来至少部分实施与虚拟资源提供者的多个客户相关的多个虚拟资源的至少一个通用实施资源;
维护专用实施资源池,其包括专用于所述虚拟资源提供者的所述多个客户的子集的至少一个专用实施资源;
接收提供虚拟资源的请求,所述请求与指定所述虚拟资源至少部分与提取自所述专用实施资源池的至少一个实施资源一起实施的实施限制相关;和
响应于所述请求,至少部分通过把所述至少一个专用实施资源分配到所述虚拟资源提供所述虚拟资源。
条款40.根据条款39所述的计算机实施方法,其中维护所述专用实施资源池包括当所述专用实施资源池的非活动程度小于第一阈值时把实施资源从所述通用实施资源池过渡到所述专用实施资源池。
条款41.根据条款40所述的计算机实施方法,其中维护所述专用实施资源池还包括当所述专用实施资源池的非活动程度大于第二阈值时把实施资源从所述专用实施资源池过渡到所述通用实施资源池。
条款42.根据条款39所述的计算机实施方法,其中维护所述专用实施资源池包括至少部分基于与所述专用实施资源池相关的活动程度的衍生物过渡实施资源。
条款43.根据条款39所述的计算机实施方法,其中一起提供所述虚拟资源与所述至少一个专用实施资源会至少部分在所述虚拟资源提供者的所述多个客户的所述子集与其它客户之间建立信息屏障。
条款44.根据条款43所述的计算机实施方法,其中一起提供所述虚拟资源与所述至少一个专用实施资源会降低所述虚拟资源提供者的所述其它客户的至少一个能够对与所述虚拟资源相关的数据进行授权修改的概率。
条款45.根据条款39所述的计算机实施方法,其中一起提供所述虚拟资源与所述至少一个专用实施资源会增大相对于与所述至少一个通用实施资源一起提供的至少一个虚拟资源的与所述虚拟资源相关的性能指标。
条款46.根据条款39所述的计算机实施方法,其中一起提供所述虚拟资源与所述专用实施资源会至少部分隔离所述虚拟资源与在所述至少一个通用实施资源处发生的至少一个操作故障。
条款47.一种用于提供虚拟资源的计算机化系统,其包括:
多个实施资源,其集体能够实施与虚拟资源提供者的多个客户相关的多个虚拟资源;
提供接口,其被配置来至少使所述多个客户能够请求提供虚拟资源;和
实施资源分配组件,其被配置来至少追踪所述多个实施资源到所述多个虚拟资源的分配和响应于所述请求而修改所述分配,其包括:
把所述多个实施资源的至少一个专用于所述多个客户的至少一个客户,所述多个实施资源的所述至少一个合并至少一个信息屏障;和
当所述请求指示所述至少一个虚拟资源要至少部分与专用于所述至少一个客户的实施资源一起实施时,至少部分通过把所述多个实施资源的所述至少一个分配到由所述至少一个客户请求的至少一个虚拟资源在所述虚拟资源提供者的所述至少一个客户与其它客户之间建立所述至少一个信息屏障。
条款48.根据条款47所述的计算机化系统,其中所述实施资源分配组件还被配置来至少:
维护包括专用于所述至少一个客户的所述多个实施资源的至少两个的专用实施资源池,每个实施资源具有关于虚拟资源实施的虚拟资源实施容量和当前分配程度;和
当指派不超过在所述专用实施资源池中且具有最大的当前分配程度的实施资源的所述实施容量时,把由所述至少一个客户请求的所述至少一个虚拟资源指派到所述实施资源。
49.根据条款48所述的计算机化系统,其中所述实施资源分配组件还被配置来至少当迁移将不超过在所述专用实施资源池中且具有较高的当前分配程度的实施资源的所述实施容量时,把虚拟资源从在所述专用实施资源池中且具有较低的当前分配程度的实施资源迁移到在所述专用实施资源池中且具有较高的当前分配程度的所述实施资源。
条款50.均在其上具有配置一个或多个计算机以均至少进行以下步骤的计算机可执行指令的一个或多个计算机可读介质:
维护多个实施资源池,其包括具有专用于虚拟资源提供者的多个客户的至少一个客户的至少一个实施资源的至少一个专用实施资源池,所述至少一个实施资源合并至少一个信息屏障;
接收提供至少一个虚拟资源的请求,所述请求与指定所述至少一个虚拟资源至少部分与所述至少一个专用实施资源池中的所述至少一个实施资源一起实施的至少第一实施限制相关;和
响应于所述请求,至少部分通过把所述至少一个实施资源分配到所述至少一个虚拟资源从而至少部分在所述虚拟资源提供者的所述至少一个客户与其它客户之间建立所述至少一个信息屏障而提供所述至少一个虚拟资源。
条款51.根据条款50所述的一个或多个计算机可读介质,其中:
所述至少一个虚拟资源包括多个虚拟资源,
所述请求还至少与指定所述多个虚拟资源相对于所述至少一个专用实施资源池中的多个实施资源的目标实施扩展的第二实施限制相关;和
所述提供包括把所述多个虚拟资源分配到所述多个实施资源使得分配的虚拟资源对实施资源的比率不大于所述目标实施扩展。
条款52.根据条款51所述的一个或多个计算机可读介质,其中:
所述请求还至少与指定所述多个实施资源的目标地理分隔的第三实施限制相关;和
所述提供还包括把所述多个虚拟资源分配到所述多个实施资源使得所述多个实施资源的至少两个至少分隔达所述目标地理分隔的地理距离。

Claims (13)

1.一种用于虚拟资源成本追踪的计算机实施方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
维护至少部分通过通用实施资源并至少部分通过能够实施与多个客户相关的多个虚拟资源的一个实施资源实施的虚拟资源,所述至少一个实施资源专用于虚拟资源提供者的多个客户的客户集的虚拟资源;
确定对应于所述至少一个实施资源的至少一个未分配部分的非活动资源利用量,所述非活动资源利用量与利用所述虚拟资源的成本计划相关联;
至少部分基于所述非活动资源利用量和活动资源利用量确定所述虚拟资源的至少一个成本;和
向所述客户集提供所述虚拟资源的所述至少一个成本的呈现。
2.根据权利要求1所述的计算机实施方法,其中确定所述虚拟资源的所述至少一个成本包括至少部分基于对应所述至少一个实施资源的至少一个分配部分的所述活动资源利用量确定第一成本,以及至少部分基于所述非活动资源利用量确定第二成本。
3.根据权利要求2所述的计算机实施方法,其中所述第一成本是活动实施资源成本率和所述活动资源利用量的乘积,并且所述第二成本是非活动实施资源成本率和所述非活动资源利用量的乘积。
4.根据权利要求1所述的计算机实施方法,其中确定所述客户集的所述虚拟资源的所述至少一个成本包括至少部分基于所述非活动资源利用量和对应所述至少一个实施资源的至少一个分配部分的活动资源利用量确定成本。
5.根据权利要求4所述的计算机实施方法,其中确定所述成本包括确定相对于对应时段的调整的活动实施资源成本率。
6.根据权利要求1所述的计算机实施方法,其中确定所述虚拟资源的所述至少一个成本包括至少部分基于对应所述虚拟资源提供者的多个实施资源的活动和非活动资源利用量确定调整的活动实施资源成本率。
7.根据权利要求6所述的计算机实施方法,其中所述调整的活动实施资源成本率是至少部分基于相对于所述多个实施资源的平均非活动资源利用量对平均活动资源利用量的比率。
8.一种用于虚拟资源成本追踪的计算机化系统,其包括:
多个实施资源,其均能够实施与虚拟资源提供者的多个客户相关的多个虚拟资源;
提供接口,其被配置来至少使所述多个客户能够请求提供虚拟资源,所述请求包括指示所述虚拟资源要与专用于所述多个客户的客户集的实施资源以及对所述多个客户通用的实施资源一起实施的请求;
实施资源分配组件,其被配置来至少:
维护包括专用于所述多个客户的至少所述客户集的所述多个实施资源的至少一个的至少一个专用实施资源池;
维护包含对所述多个客户通用的多个实施资源的至少一个的至少一个通用实施资源池;和
分配所述多个实施资源中的实施资源的至少多个部分以实施请求的虚拟资源,包括从所述至少一个专用实施资源池和所述至少一个通用实施资源池中选择如由所述请求指示的实施资源;
成本追踪组件,其被配置来至少:
确定对应于选自所述至少一个专用实施资源池的至少一个实施资源的至少一个分配部分的活动资源利用量;
确定对应选自所述至少一个专用实施资源池的所述至少一个实施资源的至少一个未分配部分的非活动资源利用量,所述非活动资源利用量与利用所述虚拟资源的成本计划相关联;和
确定至少部分与选自所述至少一个专用实施资源池的所述至少一个实施资源一起实施的至少一个虚拟资源的至少一个成本,所述至少一个成本至少部分基于所述活动资源利用量和所述非活动资源利用量;以及
用户接口组件,其被配置来至少向所述客户集呈现所述至少一个虚拟资源的所述至少一个成本。
9.根据权利要求8所述的计算机化系统,其中:
所述实施资源分配组件还被配置来至少维护至少一个预留的实施资源池,所述至少一个预留的实施资源池包括可用于到具有所述客户集的所述多个客户的虚拟资源的分配的所述多个实施资源的至少一个,其中所述客户集具有优先权;
所述成本追踪组件还被配置来至少对于所述客户集确定对应于所述至少一个预留的实施资源池中的所述多个实施资源的所述至少一个的预留的资源利用量;和
所述至少一个成本还至少部分基于所述预留的资源利用量。
10.根据权利要求9所述的计算机化系统,其中确定所述至少一个虚拟资源的所述至少一个成本包括:
至少部分基于所述预留的资源利用量确定第一成本;
至少部分基于所述预留的资源利用量修改所述活动和非活动资源利用量;和
至少部分基于所述修改的活动和非活动资源利用量确定至少第二成本。
11.一种用于提供虚拟资源的计算机化系统,其包括:
多个实施资源,包括通用的实施资源和能够专用的实施资源,均能够实施与虚拟资源提供者的多个客户相关的多个虚拟资源;
提供接口,其被配置来至少使所述多个客户能够请求提供虚拟资源;和
实施资源分配组件,其被配置来至少追踪所述多个实施资源到所述多个虚拟资源的分配和响应于所述请求而修改所述分配,其包括:
把所述多个实施资源的至少一个专用于所述多个客户的至少一个客户,所述多个实施资源的所述至少一个合并至少一个信息屏障;和
当所述请求指示所述至少一个虚拟资源要至少部分与专用于所述至少一个客户的实施资源一起实施时,至少部分通过把所述多个实施资源的所述至少一个分配到由所述至少一个客户请求的至少一个虚拟资源在所述虚拟资源提供者的所述至少一个客户与其它客户之间建立所述至少一个信息屏障,所述至少一个信息屏障的建立降低了所述其它客户获得对关于所述至少一个客户的未发布信息的访问的概率。
12.根据权利要求11所述的计算机化系统,其中所述实施资源分配组件还被配置来至少:
维护包括专用于所述至少一个客户的所述多个实施资源的至少两个的专用实施资源池,每个实施资源具有关于虚拟资源实施的虚拟资源实施容量和当前分配程度;和
当指派不超过在所述专用实施资源池中且具有最大的当前分配程度的实施资源的所述实施容量时,把由所述至少一个客户请求的所述至少一个虚拟资源指派到所述实施资源。
13.根据权利要求12所述的计算机化系统,其中所述实施资源分配组件还被配置来至少当迁移将不超过在所述专用实施资源池中且具有较高的当前分配程度的实施资源的所述实施容量时,把虚拟资源从在所述专用实施资源池中且具有较低的当前分配程度的实施资源迁移到在所述专用实施资源池中且具有较高的当前分配程度的所述实施资源。
CN201180047381.3A 2010-09-30 2011-09-21 用专用实施资源进行虚拟资源成本追踪 Active CN103154926B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610296472.5A CN106020928B (zh) 2010-09-30 2011-09-21 用专用实施资源进行虚拟资源成本追踪

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/894,883 US10013662B2 (en) 2010-09-30 2010-09-30 Virtual resource cost tracking with dedicated implementation resources
US12/894,496 2010-09-30
US12/894,496 US11106479B2 (en) 2010-09-30 2010-09-30 Virtual provisioning with implementation resource boundary awareness
US12/894,883 2010-09-30
PCT/US2011/052592 WO2012050772A1 (en) 2010-09-30 2011-09-21 Virtual resource cost tracking with dedicated implementation resources

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610296472.5A Division CN106020928B (zh) 2010-09-30 2011-09-21 用专用实施资源进行虚拟资源成本追踪

Publications (2)

Publication Number Publication Date
CN103154926A CN103154926A (zh) 2013-06-12
CN103154926B true CN103154926B (zh) 2016-06-01

Family

ID=45938614

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201180047381.3A Active CN103154926B (zh) 2010-09-30 2011-09-21 用专用实施资源进行虚拟资源成本追踪
CN201610296472.5A Active CN106020928B (zh) 2010-09-30 2011-09-21 用专用实施资源进行虚拟资源成本追踪

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610296472.5A Active CN106020928B (zh) 2010-09-30 2011-09-21 用专用实施资源进行虚拟资源成本追踪

Country Status (7)

Country Link
EP (1) EP2622504A4 (zh)
JP (2) JP5706529B2 (zh)
CN (2) CN103154926B (zh)
AU (1) AU2011314183B2 (zh)
CA (1) CA2811020C (zh)
SG (2) SG188455A1 (zh)
WO (1) WO2012050772A1 (zh)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG188455A1 (en) * 2010-09-30 2013-04-30 Amazon Tech Inc Virtual resource cost tracking with dedicated implementation resources
US11106479B2 (en) 2010-09-30 2021-08-31 Amazon Technologies, Inc. Virtual provisioning with implementation resource boundary awareness
US8639595B1 (en) 2011-03-10 2014-01-28 Amazon Technologies, Inc. Statistically cost-following accounting model for dedicated resources
US9722866B1 (en) 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
JP6159402B2 (ja) * 2012-08-31 2017-07-05 華為技術有限公司Huawei Technologies Co.,Ltd. 中央処理装置のリソース割当方法及び計算ノード
CN104348881B (zh) * 2013-08-08 2018-11-30 中国电信股份有限公司 云管理平台中的用户资源划分方法与装置
US10649796B2 (en) * 2014-06-27 2020-05-12 Amazon Technologies, Inc. Rolling resource credits for scheduling of virtual computer resources
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9471775B1 (en) * 2015-02-04 2016-10-18 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US10007556B2 (en) 2015-12-07 2018-06-26 International Business Machines Corporation Reducing utilization speed of disk storage based on rate of resource provisioning
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10248459B2 (en) * 2016-03-15 2019-04-02 Microsoft Technology Licensing, Llc Operating system support for game mode
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
JP6461224B2 (ja) * 2017-04-06 2019-01-30 華為技術有限公司Huawei Technologies Co.,Ltd. 中央処理装置のリソース割当方法及び計算ノード
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11182716B2 (en) * 2020-01-30 2021-11-23 Coupang Corp. Cost efficiency tracking for configuration management database
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968323B1 (en) * 2000-10-05 2005-11-22 International Business Machines Corporation Dynamic allocation and pricing of resources of web server farm
CN1771479A (zh) * 2003-04-30 2006-05-10 国际商业机器公司 取得优化价值的配置分布式计算系统的元素的方法和系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60113539T2 (de) * 2000-07-05 2006-06-22 Ernst & Young Llp Verfahren und vorrichtung zum bereitstellen von rechnerdiensten
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
JP2002241923A (ja) * 2001-02-19 2002-08-28 Sony Corp 処理ユニット、処理装置、処理方法、表示素子の製造装置および表示素子の製造方法
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
JP3879471B2 (ja) * 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
JP2007510198A (ja) * 2003-10-08 2007-04-19 ユニシス コーポレーション ホストシステムのパーティション内に実装されているハイパーバイザを使用したコンピュータシステムの準仮想化
WO2005083576A1 (en) * 2004-01-30 2005-09-09 International Business Machines Corporation Hierarchical resource management for a computing utility
JP4568289B2 (ja) * 2004-01-30 2010-10-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置
JP4197303B2 (ja) * 2004-02-17 2008-12-17 株式会社日立製作所 計算機リソース管理方法及び実施装置並びに処理プログラム
US20090019137A1 (en) * 2007-07-10 2009-01-15 Ragingwire Enterprise Solutions, Inc. Method and remote system for creating a customized server infrastructure in real time
JP5000456B2 (ja) * 2007-10-31 2012-08-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 資源管理システム、資源管理装置およびその方法
JP4523965B2 (ja) * 2007-11-30 2010-08-11 株式会社日立製作所 リソース割当方法、リソース割当プログラム、および、運用管理装置
KR100944912B1 (ko) * 2007-12-14 2010-03-03 한국전자통신연구원 서버 가상화 환경을 위한 디스크 입출력 스케쥴러 및 그의스케쥴링 방법
WO2009108344A1 (en) 2008-02-29 2009-09-03 Vkernel Corporation Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network
US7886021B2 (en) * 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8229812B2 (en) * 2009-01-28 2012-07-24 Headwater Partners I, Llc Open transaction central billing system
EP2286333A4 (en) * 2008-06-05 2012-08-08 Neocleus Israel Ltd SAFE MULTIPURPOSE COMPUTER CLIENT
US20100036957A1 (en) * 2008-08-08 2010-02-11 Oracle International Corporation Method and System for Implementing Transfer of a Network Session
JP2010205209A (ja) * 2009-03-06 2010-09-16 Hitachi Ltd 管理計算機、計算機システム、物理リソース割り当て方法
SG188455A1 (en) * 2010-09-30 2013-04-30 Amazon Tech Inc Virtual resource cost tracking with dedicated implementation resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968323B1 (en) * 2000-10-05 2005-11-22 International Business Machines Corporation Dynamic allocation and pricing of resources of web server farm
CN1771479A (zh) * 2003-04-30 2006-05-10 国际商业机器公司 取得优化价值的配置分布式计算系统的元素的方法和系统

Also Published As

Publication number Publication date
WO2012050772A1 (en) 2012-04-19
JP5706529B2 (ja) 2015-04-22
CA2811020C (en) 2019-01-15
JP2015135691A (ja) 2015-07-27
JP5948451B2 (ja) 2016-07-06
JP2013541093A (ja) 2013-11-07
CA2811020A1 (en) 2012-04-19
CN106020928A (zh) 2016-10-12
CN103154926A (zh) 2013-06-12
EP2622504A4 (en) 2018-01-17
EP2622504A1 (en) 2013-08-07
AU2011314183A1 (en) 2013-03-28
CN106020928B (zh) 2019-06-14
SG10201508046QA (en) 2015-10-29
SG188455A1 (en) 2013-04-30
AU2011314183B2 (en) 2014-09-04

Similar Documents

Publication Publication Date Title
CN103154926B (zh) 用专用实施资源进行虚拟资源成本追踪
US11842208B2 (en) Virtual provisioning with implementation resource boundary awareness
Singh et al. STAR: SLA-aware autonomic management of cloud resources
US10013662B2 (en) Virtual resource cost tracking with dedicated implementation resources
CN103729250B (zh) 用于选择被配置为满足一组要求的数据节点的方法和系统
Rahman et al. A taxonomy and survey on autonomic management of applications in grid computing environments
US9767445B1 (en) Statistically cost-following accounting model
US9426019B1 (en) Resource pooling and subletting from user to another user
CN103023960A (zh) 用户状态的地理迁移
CN105518651A (zh) 用于云服务的基于策略的资源选择
CN102185926A (zh) 一种云计算资源管理系统及方法
Li et al. A price-incentive resource auction mechanism balancing the interests between users and cloud service provider
Saravanan et al. An enhanced QoS architecture based framework for ranking of cloud services
Keshavarzi et al. Adaptive Resource Management and Provisioning in the Cloud Computing: A Survey of Definitions, Standards and Research Roadmaps.
Ziafat et al. A method for the optimum selection of datacenters in geographically distributed clouds
Yao et al. Optimal overbooking policy for cloud service providers: Profit and service quality
Cao et al. VOMES: a virtual organisation membership evaluation system
Soltvedt A Distributed-to-Centralized Cost Model for Service Selection in Smart Cities
Suwan et al. Grid Security Policy Monitoring System (GridSPMS): Towards Monitoring the Security Dimension of Grids
AU2014265092B2 (en) Virtual resource cost tracking with dedicated implementation resources
Baktır The technical challenges of cloud computing and their effects on usage
Al Rawahi Improving Shared Access to Cloud of Things Resources
Pordes Challenges Facing Production Grids.
Sandholm Statistical methods for computational markets
Degtiareva ASemi-MARKOV DECISION MODEL-BASED BROKERING MECHANISM FOR MOBILE CLOUD MARKET

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant