JP5706529B2 - Virtual resource cost tracking using dedicated implementation resources - Google Patents

Virtual resource cost tracking using dedicated implementation resources Download PDF

Info

Publication number
JP5706529B2
JP5706529B2 JP2013529433A JP2013529433A JP5706529B2 JP 5706529 B2 JP5706529 B2 JP 5706529B2 JP 2013529433 A JP2013529433 A JP 2013529433A JP 2013529433 A JP2013529433 A JP 2013529433A JP 5706529 B2 JP5706529 B2 JP 5706529B2
Authority
JP
Japan
Prior art keywords
resource
implementation
virtual
resources
dedicated
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
JP2013529433A
Other languages
Japanese (ja)
Other versions
JP2013541093A (en
Inventor
ジェイソン ブランドワイン エリック
ジェイソン ブランドワイン エリック
エム.テイマー マーヴィン
エム.テイマー マーヴィン
デサンティス ピーター
デサンティス ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JP2013541093A publication Critical patent/JP2013541093A/en
Application granted granted Critical
Publication of JP5706529B2 publication Critical patent/JP5706529B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Description

多種多様のタスクを実行および/または支援するためにコンピュータを使用することが、個人や様々な種類の組織にとって一般的になっている。物理的なコンピュータを購入することや維持することよりも、仮想コンピュータシステム、および他の様々な種類の仮想コンピューティングリソースを、そのような仮想リソースの専門のプロバイダで、プロビジョニングすることがますます一般的になってきた。仮想リソースプロバイダの顧客の観点からすれば、仮想コンピューティングリソースの使用は、費用効率や変化するコンピューティングニーズに対する時宜を得た応答などの様々な利点を有し得る。しかしながら、従来の仮想リソースプロバイダは様々な欠点を有する。   The use of computers to perform and / or support a wide variety of tasks has become commonplace for individuals and various types of organizations. Rather than buying and maintaining physical computers, it is increasingly common to provision virtual computer systems, and various other types of virtual computing resources, with specialized providers of such virtual resources It has become a target. From the virtual resource provider customer's point of view, the use of virtual computing resources can have various advantages, such as cost efficiency and timely response to changing computing needs. However, conventional virtual resource providers have various drawbacks.

仮想リソースプロバイダは、複数の仮想コンピュータシステムをホストすることがそれぞれ可能な比較的大容量のコンピュータを含む大規模の物理的なコンピュータを管理してもよい。仮想リソースプロバイダは、仮想コンピュータシステムを物理的なホストコンピュータに割り当てる様々な方法を使用することができる。従来のいくつかの仮想リソースプロバイダでは、1人の顧客用にプロビジョニングされた特定の仮想コンピュータシステムは、複数の他の顧客に関連付けられた仮想コンピュータシステムと共に大容量コンピュータを共有してもよい。そのような共有は、規制要件、組織の方針および/または認識されるデータ安全リスクを含む様々な理由のために1人以上の顧客に受け入れ難いかもしれない。従来のいくつかの仮想リソースプロバイダは、顧客の観点からおよび/またはプロバイダの観点から、仮想リソースプロバイダの有効性に対し、効率(費用効率を含む)に対しおよび/または他の仮想リソースプロバイダの利点に対して有害な方法での受け入れ難い共有を阻止することを試みている。   A virtual resource provider may manage large physical computers, including relatively large computers each capable of hosting multiple virtual computer systems. Virtual resource providers can use various methods of assigning virtual computer systems to physical host computers. In some conventional virtual resource providers, a particular virtual computer system provisioned for one customer may share a large capacity computer with virtual computer systems associated with multiple other customers. Such sharing may be unacceptable to one or more customers for a variety of reasons including regulatory requirements, organizational policies and / or recognized data safety risks. Some traditional virtual resource providers have a customer and / or provider perspective, virtual resource provider effectiveness, efficiency (including cost efficiency) and / or other virtual resource provider benefits Attempts to prevent unacceptable sharing in ways that are harmful to

本開示による様々な実施形態は、図面を参照にして説明される。   Various embodiments in accordance with the present disclosure will be described with reference to the drawings.

類似の構成要素および特徴を参照するために同一の番号が本開示および図面の全体を通して使用されるが、そのような番号の繰り返しは、説明および理解を簡単にするためであり、様々な実施形態を制限するものとして見なされるべきではない。   The same numbers are used throughout the disclosure and the drawings to refer to similar components and features, but the repetition of such numbers is for ease of explanation and understanding, and the various embodiments Should not be considered as limiting.

少なくとも1つの実施形態による態様を実施する環境例を図示する概略図である。FIG. 6 is a schematic diagram illustrating an example environment for implementing aspects in accordance with at least one embodiment. 少なくとも1つの実施形態による仮想リソースプロビジョニングアーキテクチャ例の態様を描写する概略図である。FIG. 3 is a schematic diagram depicting aspects of an example virtual resource provisioning architecture in accordance with at least one embodiment. 少なくとも1つの実施形態による地理的領域例の態様を描写する地理的図である。FIG. 6 is a geographic diagram depicting aspects of an example geographic region according to at least one embodiment. 少なくとも1つの実施形態によるデータセンタ例の態様を描写する概略図である。FIG. 3 is a schematic diagram depicting aspects of an example data center in accordance with at least one embodiment. 少なくとも1つの実施形態によるデータセンタ例の別の態様を描写する概略図である。FIG. 6 is a schematic diagram depicting another aspect of an example data center in accordance with at least one embodiment. 少なくとも1つの実施形態による仮想コンピューティングシステムサーバ例の態様を描写する概略図である。FIG. 6 is a schematic diagram depicting aspects of an example virtual computing system server in accordance with at least one embodiment. 少なくとも1つの実施形態による実装リソースプール例の態様を描写する概略図である。FIG. 6 is a schematic diagram depicting aspects of an example implementation resource pool according to at least one embodiment. 少なくとも1つの実施形態による専用実装リソースプールの遷移プロシージャのタイミング例の態様を描写するタイミング図である。FIG. 6 is a timing diagram depicting aspects of a timing example of a transition procedure for a dedicated implementation resource pool in accordance with at least one embodiment. 少なくとも1つの実施形態による実装リソース利用アカウンティング方式例の態様を描写するグラフである。6 is a graph depicting aspects of an example implementation resource utilization accounting scheme according to at least one embodiment. 少なくとも1つの実施形態による仮想リソースプロバイダの制御プレーン例の態様を描写する概略図である。FIG. 6 is a schematic diagram depicting aspects of an example control plane for a virtual resource provider in accordance with at least one embodiment. 少なくとも1つの実施形態による仮想プロビジョニングのためのステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for virtual provisioning according to at least one embodiment. 少なくとも1つの実施形態による実装リソース利用可能性を決定するステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for determining implementation resource availability in accordance with at least one embodiment. 少なくとも1つの実施形態による実装リソースを割り当てるおよび/または割り当てることを試みるステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for allocating and / or attempting to allocate implementation resources according to at least one embodiment. 少なくとも1つの実施形態による専用実装リソースプールを確立するステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for establishing a dedicated implementation resource pool in accordance with at least one embodiment. 少なくとも1つの実施形態による非アクティブな専用実装リソースバッファを維持するステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for maintaining an inactive dedicated implementation resource buffer in accordance with at least one embodiment. 少なくとも1つの実施形態による費用を追跡するステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for tracking costs according to at least one embodiment. 少なくとも1つの実施形態によるワークフローのためのステップ例を描写するフローチャートである。6 is a flowchart depicting example steps for a workflow in accordance with at least one embodiment.

以下の記載において、様々な実施形態が記載される。説明のために、具体的な構成および詳細が、実施形態の十分な理解をもたらすために記載される。しかしながら、実施形態が具体的な詳細無しに実施され得ることは、当業者にとって明らかでもあろう。更に、周知の特徴は、記載されている実施形態を不明瞭にしないために省略されまたは簡単にされることがある。   In the following description, various embodiments will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will be apparent to those skilled in the art that the embodiments may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the described embodiments.

少なくとも1つの実施形態において、仮想リソースは、潜在的な実装リソース境界を認識し、考慮した方法でプロビジョニングされることができる。仮想リソースプロバイダは、特定の組の実装リソース(例えば、データセンタ空間、物理的なサーバコンピュータ、ネットワーキングハードウェア)で様々な種類の仮想リソース(例えば、仮想コンピュータシステム、仮想データストア、仮想ネットワーク接続)のそれぞれをプロビジョニングすることができる。少なくともいくつかの実装リソースは、仮想リソースプロバイダの異なる顧客にそれぞれ潜在的に関連付けられた複数の仮想リソースインスタンスの実施に参加可能であってもよい。少なくとも1つの実施形態において、仮想リソースプロバイダの1組の顧客(すなわち、1人以上の顧客)は、特定の仮想リソースがその組の顧客に専用である実装リソースで実装される(すなわち、「専用実装リソース」で実装される)こと、および/またはその組の顧客の仮想リソースを実施するために利用される特定の実装リソースが専用実装リソースになることを指定することができる。   In at least one embodiment, virtual resources can be provisioned in a manner that recognizes and takes into account potential implementation resource boundaries. A virtual resource provider is a specific set of implemented resources (eg, data center space, physical server computers, networking hardware) and various types of virtual resources (eg, virtual computer systems, virtual data stores, virtual network connections). Each of these can be provisioned. At least some implementation resources may be able to participate in the implementation of multiple virtual resource instances each potentially associated with a different customer of the virtual resource provider. In at least one embodiment, a set of customers (ie, one or more customers) of a virtual resource provider is implemented with implementation resources where a particular virtual resource is dedicated to that set of customers (ie, “dedicated” Implementation resource ") and / or that a particular implementation resource utilized to implement the set of customer virtual resources may be a dedicated implementation resource.

実装リソース境界(例えば、物理的な分離境界)は、情報バリア(例えば、意図されていない情報転送および/または認証されていないデータ修正に対するバリア)に対応することができる。したがって、実装リソースを仮想リソースプロバイダの特定の組の顧客に専用にすること(それによって、その実装リソースから他の顧客を除外すること)は、仮想リソースプロバイダの特定の組の顧客と他の顧客との間に1つ以上の情報バリアを確立し得る(すなわち、特定の組の顧客を1つ以上の情報バリアの「後に」配置し得る)。あるいは、またはそれに加えて、実装リソースを専用にすると、例えば、予期しない実装リソースの競合を減らすことによって少なくとも部分的に、仮想リソース性能を向上することができる。別の代替案として、または更にそれに加えて、実装リソースを専用にすると、例えば他の実装リソースで生じる操作障害から仮想リソースを分離することによって、仮想リソースの耐障害性を向上することができる。   Implementation resource boundaries (eg, physical separation boundaries) can correspond to information barriers (eg, barriers to unintended information transfer and / or unauthorized data modification). Thus, dedicating an implementation resource to a specific set of customers of a virtual resource provider (and thereby excluding other customers from that implementation resource) One or more information barriers may be established between (ie, a particular set of customers may be placed “after” the one or more information barriers). Alternatively, or in addition, dedicating implementation resources can improve virtual resource performance, at least in part, for example, by reducing unexpected implementation resource contention. As another alternative or in addition, dedicating the implementation resource can improve the fault tolerance of the virtual resource, for example by isolating the virtual resource from operational faults that occur in other implementation resources.

仮想リソースプロバイダは、仮想リソースプロバイダのどの顧客も除外されない実装リソースを含む一般的な実装リソースプールを維持してもよい。仮想リソースプロバイダは、仮想リソースプロバイダの1つ以上の組の顧客に専用の実装リソースを含む1つ以上の専用実装リソースプールを更に維持してもよい。専用実装リソースプールのそれぞれは、関連付けられた組の入口および/または出口プロシージャ(集合的には「遷移プロシージャ」)、例えばアクセス構成を含む実装リソース構成、記憶媒体フォーマッティング、および安全なデータ消去など、を有してもよい。専用プール内の実装リソースは、アクティブまたは非アクティブ(すなわち、1つ以上の仮想リソースの実装にアクティブに参加することまたはアイドル状態であること)であってもよい。仮想リソースプロバイダは、アクティブな実装リソースに対する非アクティブな実装リソースの目標割合、および/またはアクティビティレベルにおける予測変化(例えば、変化のレート)に少なくとも部分的に基づくサイズを有する非アクティブな実装リソース「バッファ」を維持するために、専用実装リソースプールにおけるアクティビティレベル、ならびに実装リソースが一般的な実装リソースプールからおよび一般的な実装リソースプールに遷移することを監視してもよい。   The virtual resource provider may maintain a general implementation resource pool that includes implementation resources that do not exclude any customers of the virtual resource provider. The virtual resource provider may further maintain one or more dedicated implementation resource pools that include dedicated implementation resources for one or more sets of customers of the virtual resource provider. Each dedicated implementation resource pool has an associated set of entry and / or exit procedures (collectively "transition procedures"), such as implementation resource configuration, including access configuration, storage media formatting, and secure data erasure, etc. You may have. Implementation resources in a dedicated pool may be active or inactive (ie, actively participating in the implementation of one or more virtual resources or being idle). The virtual resource provider may provide an inactive implementation resource “buffer” having a size based at least in part on a target ratio of inactive implementation resources to active implementation resources and / or a predicted change in activity level (eg, rate of change). To maintain the activity level in the dedicated implementation resource pool as well as the transition of implementation resources from the general implementation resource pool to the general implementation resource pool.

仮想リソースを顧客に提供することに関連付けられ、財務上の費用を含む、様々な費用が存在し得る。そのような費用は、仮想リソースプロバイダの顧客に提示されることができる。費用は、仮想リソースの単位時間当たりの利用可能性(例えば、顧客にプロビジョニングされる各仮想コンピュータシステムのための毎月のまたは毎時間の費用)に関して、処理され、記憶され、および/または転送されるデータの単位(例えば、ギガバイト)に関して、ならびに/あるいは仮想リソースを実装するためにアクティブに利用され、および/または他に利用不可能とされる実装リソースの単位に関して、提示されてもよい。特定の組の顧客に関連付けられた特定の専用プール内のアクティブなおよび非アクティブな実装リソースに対応する費用は、費用明細において別個のアクティブなおよび非アクティブな量としてこれらの顧客に提示されることができる。あるいは、個々の量は、特定の専用プール内のアクティブなおよび非アクティブな実装リソースを維持することに対応する費用に少なくとも部分的に基づいて顧客に提示されてもよい。別の代替案として、個々の量は、仮想リソースプロバイダ全体についてアクティブなおよび非アクティブな実装リソースを維持することに対応する費用に少なくとも部分的に基づいて顧客に提示されてもよい。少なくとも1つの実施形態において、仮想リソースプロバイダの顧客は、仮想リソースインスタンスおよび/または関連付けられた専用実装リソースを予約することによって専用プール内の実装リソースに関連付けられた費用を削減してもよい。   There may be various costs associated with providing virtual resources to customers, including financial costs. Such costs can be presented to the virtual resource provider customer. Costs are processed, stored, and / or transferred with respect to availability of virtual resources per unit of time (eg, monthly or hourly costs for each virtual computer system provisioned to a customer) It may be presented in terms of units of data (eg, gigabytes) and / or in terms of units of implemented resources that are actively utilized and / or otherwise unavailable to implement virtual resources. Expenses corresponding to active and inactive implementation resources in a specific dedicated pool associated with a specific set of customers are presented to these customers as separate active and inactive quantities in the expense statement Can do. Alternatively, individual quantities may be presented to customers based at least in part on costs corresponding to maintaining active and inactive implementation resources in a particular dedicated pool. As another alternative, individual quantities may be presented to customers based at least in part on costs corresponding to maintaining active and inactive implementation resources for the entire virtual resource provider. In at least one embodiment, a virtual resource provider customer may reduce costs associated with implementation resources in a dedicated pool by reserving virtual resource instances and / or associated dedicated implementation resources.

様々なアプローチが、様々な環境において様々なアプリケーションのために実施されてもよい。例えば、図1は、様々な実施形態による態様を実施する環境例100の態様を図示する。理解されるように、ウェブベースの環境は、説明の目的で使用され得るが、様々な実施形態を実施するために、適切な異なる環境が使用されてもよい。示される環境100は、テストまたは開発部分(もしくは側)と製造部分の両方を含む。製造部分は、電子クライアントデバイス102を含み、このデバイスは、適切なネットワーク104上で要求、メッセージ、または情報を送信および受信するように、ならびにデバイス102のユーザへ情報を伝達し戻すように操作可能な任意の適切なデバイスを含んでもよい。そのようなクライアントデバイスの例には、パーソナルコンピュータ、携帯電話、携帯用メッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、個人用情報端末、および電子ブックリーダ等が挙げられる。   Different approaches may be implemented for different applications in different environments. For example, FIG. 1 illustrates aspects of an example environment 100 that implements aspects according to various embodiments. As will be appreciated, a web-based environment may be used for illustration purposes, but any suitable different environment may be used to implement various embodiments. The environment 100 shown includes both a test or development part (or side) and a manufacturing part. The manufacturing portion includes an electronic client device 102 that is operable to send and receive requests, messages, or information over the appropriate network 104 and to communicate information back to the user of the device 102. Any suitable device may be included. Examples of such client devices include personal computers, mobile phones, portable messaging devices, laptop computers, tablet computers, set top boxes, personal information terminals, electronic book readers, and the like.

ネットワーク104は、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、ワイヤレスデータネットワーク、または任意の他のこのようなネットワークもしくはその組み合わせを含む、任意の適切なネットワークを含むことができる。このようなシステムに利用される構成要素は、ネットワークの種類および/または選択される環境に少なくとも部分的に依存してもよい。このようなネットワークを介する通信のためのプロトコルおよび構成要素は、周知であり、本明細書において詳細は説明されない。ネットワーク上の通信は、有線または無線接続、およびその組み合わせによって可能であってもよい。この例において、ネットワーク104は、環境が、要求の受信をするための、およびそれに応答してコンテンツをサービスするためのウェブサーバ106を含むため、インターネットを含むが、他のネットワークについては、当業者には明らかなように、同様の目的をサービスする代替のデバイスが使用されてもよい。   The network 104 can include any suitable network, including an intranet, the Internet, a cellular network, a local area network, a wide area network, a wireless data network, or any other such network or combination thereof. The components utilized in such a system may depend at least in part on the type of network and / or the environment selected. Protocols and components for communication over such networks are well known and will not be described in detail herein. Communication over the network may be possible via wired or wireless connections, and combinations thereof. In this example, the network 104 includes the Internet because the environment includes a web server 106 for receiving requests and servicing content in response thereto, although other networks are known to those skilled in the art. As will be apparent, alternative devices serving a similar purpose may be used.

例示的な環境100は、少なくとも1つのアプリケーションサーバ108およびデータストア110を含む。連鎖しているか、あるいはそうでなければ構成されていてもよく、適切なデータストアからデータを入手する等のタスクを実行するために相互作用可能な、複数のアプリケーションサーバ、層、または他の要素、プロセス、もしくは構成要素が存在してもよいことを理解されたい。本明細書に使用される際、用語「データストア」は、データの記憶、アクセス、および/または読み出し能力のある、任意のデバイスまたはデバイスの組み合わせを指し、それは、任意の標準、分散、またはクラスタ化された環境における、データサーバ、データベース、データ記憶デバイス、およびデータ記憶媒体の任意の組み合わせ、ならびに任意の数のそれらを含んでもよい。   The exemplary environment 100 includes at least one application server 108 and data store 110. Multiple application servers, tiers, or other elements that may be chained or otherwise configured and that can interact to perform tasks such as obtaining data from the appropriate data store It should be understood that there may be processes, components, or components. As used herein, the term “data store” refers to any device or combination of devices capable of storing, accessing, and / or reading data, which can be any standard, distributed, or clustered May include any combination of data servers, databases, data storage devices, and data storage media, and any number of them in an integrated environment.

アプリケーションサーバ108は、クライアントデバイス102に対する1つ以上のアプリケーションの態様を実行するために、必要に応じて、データストアと統合するための任意の適切なハードウェアおよびソフトウェアを含み、アプリケーションのためのデータアクセスとビジネスロジックの大半に対処することができる。アプリケーションサーバ108は、データストア110と連携して、アクセス制御サービスを提供し、ユーザに転送される、文字、図、音声、および/または映像等のコンテンツを生成することができ、そのコンテンツは、この例においては、ウェブサーバ106によって、HTML、XML、または別の適切な構造化言語の形態で、ユーザにサービスすることが可能である。   Application server 108 includes any suitable hardware and software for integrating with a data store, as needed, to perform one or more aspects of the application to client device 102, and data for the application. Can handle the majority of access and business logic. The application server 108 can cooperate with the data store 110 to provide access control services and generate content such as text, graphics, audio, and / or video that is forwarded to the user. In this example, the web server 106 can serve users in the form of HTML, XML, or another suitable structured language.

全ての要求および応答の対処、ならびにクライアントデバイス102とアプリケーションサーバ108との間のコンテンツ送達は、ウェブサーバ106によって対処することができる。ウェブサーバおよびアプリケーションサーバ106、108は、本明細書に記載の構造化コードが、本明細書の別の部分に記載されるように、任意の適切なデバイスまたはホストマシン上で実行可能であるため、必要ではなく、単なる構成要素例である。更に、環境100は、テスト自動化フレームワークが、ユーザまたはアプリケーションが登録可能なサービスとして提供することができるような方法で、設計することができる。テスト自動化フレームワークは、本明細書に記載の様々なテストパターンのいずれかの実装として提供されてもよいが、様々な他の実装も、本明細書に記載または提案されるように、同様に使用可能である。   Handling of all requests and responses, as well as content delivery between the client device 102 and the application server 108 can be handled by the web server 106. Web servers and application servers 106, 108 are capable of executing the structured code described herein on any suitable device or host machine as described elsewhere herein. It is not necessary, it is just a component example. Further, the environment 100 can be designed in such a way that the test automation framework can be provided as a service that a user or application can register. The test automation framework may be provided as an implementation of any of the various test patterns described herein, but a variety of other implementations may be used as well, as described or suggested herein. It can be used.

環境100はまた、開発者、データ管理者、またはテスター等のユーザがシステムにアクセスすることを可能にする、ユーザデバイス118を含む、開発側および/またはテスト側を含むことができる。ユーザデバイス118は、クライアントデバイス102に関して上記されたような、任意の適切なデバイスまたはマシンであってもよい。環境100はまた、例えば、アプリケーションサーバ108と同じように機能するが、典型的に、コードが製造側で展開され実行されて、外部ユーザにアクセス可能になる前に、開発およびテストの間にコードを走らせる、開発サーバ120を含むことができる。いくつかの実施形態において、アプリケーションサーバは、開発サーバとして機能することができ、別個の製造およびテスト記憶が使用されなくてもよい。   The environment 100 can also include a developer side and / or a tester side that includes a user device 118 that allows a user, such as a developer, data administrator, or tester, to access the system. User device 118 may be any suitable device or machine, as described above with respect to client device 102. The environment 100 also functions in the same way as, for example, the application server 108, but typically the code during development and testing before the code is deployed and executed on the manufacturing side and accessible to external users. The development server 120 can be included. In some embodiments, the application server can function as a development server and separate manufacturing and test storage may not be used.

データストア110は、特定の態様に関連するデータを記憶するために、複数の別個のデータテーブル、データベース、または他のデータ記憶機構および媒体を含むことができる。例えば、図示されるデータストア110は、製造側にコンテンツを供給するために使用可能である、製造データ112およびユーザ情報116を記憶するための機構を含む。データストア110はまた、テスト側のユーザ情報とともに使用可能である、テストデータ114を記憶するための機構を含むことが示される。例えば、ページイメージ情報およびアクセス権情報については、データストア110内に記憶される多数の他の態様があってもよく、これらの態様は、適切として上に挙げられた機構のいずれか、またはデータストア110内の追加の機構内に記憶してもよいことを理解されたい。   Data store 110 may include a plurality of separate data tables, databases, or other data storage mechanisms and media for storing data related to a particular aspect. For example, the illustrated data store 110 includes a mechanism for storing manufacturing data 112 and user information 116 that can be used to supply content to the manufacturing side. The data store 110 is also shown to include a mechanism for storing test data 114 that can be used with test user information. For example, for page image information and access rights information, there may be many other aspects stored in the data store 110, which may be any of the mechanisms listed above as appropriate, or data It should be understood that it may be stored in additional mechanisms within the store 110.

データストア110は、それに関連するロジックを通じて、アプリケーションサーバ108または開発サーバ120から命令を受信し、それに応答してデータを入手、更新、またはそうでなければ処理するように、操作可能である。一実施例において、ユーザは、特定の種類のアイテムに対する検索要求を提示する場合がある。この場合において、データストア110は、ユーザの識別を検証するために、ユーザ情報116にアクセスすることができ、その種類のアイテムについての情報を入手するために、カタログの詳細情報にアクセスすることができる。情報は、次いで、例えば、ユーザが、ユーザデバイス102上のブラウザを介して閲覧可能なウェブページ上の、結果一覧において、ユーザに返却することが可能である。関心のある特定のアイテムについての情報は、ブラウザの専用ページまたはウィンドウで閲覧可能である。   Data store 110 is operable to receive instructions from application server 108 or development server 120 through its associated logic and to obtain, update, or otherwise process data in response thereto. In one example, a user may submit a search request for a particular type of item. In this case, the data store 110 can access the user information 116 to verify the identity of the user and can access detailed information in the catalog to obtain information about that type of item. it can. The information can then be returned to the user in a results list on a web page that the user can view via a browser on the user device 102, for example. Information about a particular item of interest can be viewed on a dedicated page or window of the browser.

それぞれのサーバは、典型的に、そのサーバの一般的な管理および操作に、実行可能なプログラム命令を提供するオペレーティングシステムを含み、典型的に、サーバのプロセッサによって実行される際に、サーバが目的の機能を実行することを可能にする、命令を記憶したコンピュータ可読媒体を含む。オペレーティングシステムの好適な実装およびサーバの一般的な機能性は、既知または市販により入手可能であり、特に、本明細書の開示の観点からは、当業者によって容易に実装される。   Each server typically includes an operating system that provides executable program instructions to the general management and operation of the server, and is typically intended for the server when executed by the server's processor. Including a computer readable medium having instructions stored thereon, capable of performing the functions of: Suitable implementations of the operating system and general functionality of the server are known or commercially available, and are particularly easily implemented by those skilled in the art from the perspective of the disclosure herein.

一実施形態における環境100は、1つ以上のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続される、いくつかのコンピュータシステムおよび構成要素を利用する、分散コンピューティング環境である。しかしながら、このようなシステムが、図1に図示されるものよりも、少ないかまたは多い数の構成要素を有するシステムにおいても、同様に良好に作動可能であることは、当業者には認識されるであろう。したがって、図1のシステム100の描写は、事実上例示としてとらえられるべきであり、本開示の範囲を制限するべきものではない。   The environment 100 in one embodiment is a distributed computing environment that utilizes a number of computer systems and components that are interconnected via communication links using one or more computer networks or direct connections. . However, those skilled in the art will recognize that such a system can work equally well in systems having fewer or greater numbers of components than those illustrated in FIG. Will. Accordingly, the depiction of the system 100 of FIG. 1 should be taken as illustrative in nature and should not limit the scope of the present disclosure.

少なくとも1つの実施形態において、環境100の1つ以上の態様は、仮想リソースプロビジョニングアーキテクチャを組み込む、および/またはそのアーキテクチャ内に組み込まれることができる。図2は、少なくとも1つの実施形態による仮想リソースプロビジョニングアーキテクチャ例200の態様を描写する。仮想リソースプロビジョニングアーキテクチャ例200は、ネットワーク208上で仮想リソースプロバイダ206に通信接続される複数のクライアント202〜204を含む。例えば、クライアント202〜204は、図1のコンピューティングデバイス102などのコンピューティングデバイスおよび/またはこのようなコンピューティングデバイスに組み込まれるクライアントプログラムに対応することができる。クライアント202とクライアント204との間の省略記号は、仮想リソースプロビジョニングアーキテクチャ200が、任意の適切な数(例えば、数千、数百万、およびそれ以上)のクライアントを含み得ることを示すが、明瞭さのため、図2には2つだけを示す。   In at least one embodiment, one or more aspects of environment 100 may incorporate and / or be incorporated within a virtual resource provisioning architecture. FIG. 2 depicts aspects of an example virtual resource provisioning architecture 200 according to at least one embodiment. The example virtual resource provisioning architecture 200 includes a plurality of clients 202-204 that are communicatively connected to a virtual resource provider 206 over a network 208. For example, the clients 202-204 may correspond to a computing device such as the computing device 102 of FIG. 1 and / or a client program incorporated into such a computing device. The ellipsis between clients 202 and 204 indicates that the virtual resource provisioning architecture 200 may include any suitable number (eg, thousands, millions, and more) of clients, but is clear For this reason, only two are shown in FIG.

クライアント202〜204のうちの1つ以上は、仮想リソースプロバイダ206の制御プレーン210と相互作用し、それによって1つ以上の仮想リソース212をプロビジョニングするために、仮想リソースプロバイダ206の1人以上の顧客によって利用されることができる。あるいは、またはそれに加えて、クライアント202〜204のうちの1つ以上は、プロビジョニングされる仮想リソース212と相互作用するために(必ずしも仮想リソースプロバイダ206の顧客によってではなく)利用されてもよい。プロビジョニングされる仮想リソース212は、任意の適切な仮想リソースを含んでもよい。適切な仮想リソース212の例は、仮想コンピュータシステム214、仮想ネットワーク接続216、および仮想データストア218、ならびに図2に示されていない仮想リソース、例えば専門のデータ処理エージェント、音声および映像ストリーミングエージェントを含むメディアストリーミングエージェント、メッセージ待ち行列、登録している登録者に一致するイベントが公開登録トピックに公開されたことを通知するように構成された公開登録トピック、監視エージェント、負荷分散エージェント、およびこれらの適切な組み合わせなどを含む。   One or more of the clients 202-204 interact with the control plane 210 of the virtual resource provider 206, thereby providing one or more customers of the virtual resource provider 206 to provision one or more virtual resources 212. Can be utilized by. Alternatively or in addition, one or more of the clients 202-204 may be utilized to interact with the provisioned virtual resource 212 (not necessarily by the customer of the virtual resource provider 206). Provisioned virtual resource 212 may include any suitable virtual resource. Examples of suitable virtual resources 212 include virtual computer systems 214, virtual network connections 216, and virtual data stores 218, and virtual resources not shown in FIG. 2, such as specialized data processing agents, audio and video streaming agents Media streaming agents, message queues, public registration topics, monitoring agents, load balancing agents, and their appropriate configured to notify that events matching the registered subscribers have been published to public registration topics Such as various combinations.

仮想リソースプロバイダ206は、任意の適切な実装リソース220を含んでもよい。仮想リソース212のそれぞれは、1組の実装リソース220によって実装されてもよい。少なくとも1つの実施形態において、実装リソース220のうちの様々な実装リソースは、仮想リソース212のうちの複数の仮想リソースを、少なくとも部分的に、実装することに参加するように構成されてもよい。適切な実装リソース220の例は、仮想コンピュータシステム(VCS)サーバ222、ネットワークハードウェア224、およびデータストアサーバ226、ならびに図2に示されていない実装リソースおよび/または図3、図4、図5、および図6を参照にしてより詳細に以下に記載されるものを含む。制御プレーン210は、仮想リソースプロビジョニング要求を処理し、実装リソース220に対する仮想リソース212の割り当てを管理し、および/または仮想リソース212に対する実装リソース220の割り当てを管理し、ならびに、関連付けられた費用アカウンティングサービスを提供することができる。少なくとも1つの実施形態による仮想リソースプロバイダの制御プレーン例は、図10を参照にしてより詳細に以下に記載される。   Virtual resource provider 206 may include any suitable implementation resource 220. Each of the virtual resources 212 may be implemented by a set of implementation resources 220. In at least one embodiment, various implementation resources of the implementation resources 220 may be configured to participate in implementing, at least in part, a plurality of virtual resources of the virtual resources 212. Examples of suitable implementation resources 220 include virtual computer system (VCS) server 222, network hardware 224, and data store server 226, as well as implementation resources not shown in FIG. 2 and / or FIGS. And those described in more detail below with reference to FIG. The control plane 210 processes virtual resource provisioning requests, manages the allocation of virtual resources 212 to implementation resources 220, and / or manages the allocation of implementation resources 220 to virtual resources 212, and an associated cost accounting service. Can be provided. An example virtual resource provider control plane according to at least one embodiment is described in more detail below with reference to FIG.

実装リソース220の特定の実装リソースが仮想リソース212のうちの複数の仮想リソースの実装に参加すると、実装リソースが競合することがあり、例えば、実装リソースは、サービス時間の増加を要求する複数の仮想リソースから十分なサービスの要求を受信することがある。競合する実装リソースは、例えば、要求のサービス時間の変化に少なくとも部分的に基づいて、仮想リソース間の意図されていないおよび/または認証されていない情報転送の原因になり得る。少なくとも1つの実施形態において、1組の顧客は、その組の顧客に関連付けられた仮想リソースが専用実装リソースでプロビジョニングされることを要求することによって少なくとも部分的に、仮想リソースプロバイダ206の他の顧客へのこのような情報転送に対するバリアを確立してもよい。そのようなバリアは、仮想リソースプロバイダの他の顧客のうちの1人以上が、その組の顧客の仮想リソースに関する情報(未発表情報を含む)に対する認証されていない読み取りおよび/または書き込みアクセス権を得るという可能性を低くすることができる。実装リソース専用単位(unit)を規定する実装リソース専用境界は、物理的なバリアおよび/または物理的な分離による境界を含む物理的なならびに/あるいはハードウェア構成要素間の境界に、更には、ハード(例えば、ハードウェアが実施する)スケジューリングおよび/またはタイミング境界、ならびにそれらの適切な組み合わせに対応することができる。   When a specific implementation resource of the implementation resource 220 participates in the implementation of a plurality of virtual resources among the virtual resources 212, the implementation resources may compete. For example, the implementation resources may have a plurality of virtual resources that request an increase in service time. A request for sufficient service may be received from a resource. Conflicting implementation resources can cause unintentional and / or unauthenticated information transfer between virtual resources, for example, based at least in part on changes in the service time of the request. In at least one embodiment, a set of customers at least in part by other customers of virtual resource provider 206 by requesting that virtual resources associated with that set of customers be provisioned with dedicated implementation resources. Barriers to such information transfer to may be established. Such a barrier allows one or more of the other customers of the virtual resource provider to have unauthenticated read and / or write access to information (including unpublished information) about the virtual resource of the set of customers. The possibility of obtaining can be reduced. An implementation resource dedicated boundary that defines an implementation resource dedicated unit (unit) is a boundary between physical and / or hardware components, including physical barriers and / or boundaries by physical separation, and even hardware It can correspond to scheduling and / or timing boundaries (eg, implemented by hardware), and appropriate combinations thereof.

実装リソース専用境界はまた、少なくともいくつかの実施形態において地理的境界に対応することもできる。図3は、少なくとも1つの実施形態による地理的領域例300の態様を描写する。地理的領域300は、地続きのアメリカ合衆国およびいくつかのデータセンタ302〜318を含む。少なくとも1つの実施形態において、仮想リソースプロバイダ206の実装リソース220(図2)は、データセンタ302〜318および/または対応する地理的領域を含む。データセンタ302〜318の物理的な分離は、実装リソース専用境界に対応しており、対応する地理的領域を規定してもよい。仮想リソースプロバイダ206の特定の組の顧客は、その組の顧客に関連付けられる仮想リソースが1組の専用のデータセンタでおよび/または1組の専用の地理的領域内でプロビジョニングされることを指定してもよい。図3に示されてはいないが、1つ以上のそのようなデータセンタおよび/または対応する地理的領域は、国際的に配置されてもよい。   Implementation resource dedicated boundaries may also correspond to geographic boundaries in at least some embodiments. FIG. 3 depicts aspects of an example geographic region 300 in accordance with at least one embodiment. Geographic region 300 includes a contiguous United States and several data centers 302-318. In at least one embodiment, the implementation resource 220 (FIG. 2) of the virtual resource provider 206 includes data centers 302-318 and / or corresponding geographic regions. The physical separation of the data centers 302-318 corresponds to the implementation resource dedicated boundary and may define a corresponding geographic region. A particular set of customers of virtual resource provider 206 specifies that the virtual resources associated with that set of customers are provisioned at a set of dedicated data centers and / or within a set of dedicated geographic areas. May be. Although not shown in FIG. 3, one or more such data centers and / or corresponding geographic regions may be located internationally.

実装リソース専用境界および/または単位はまた、少なくともいくつかの実施形態においてデータセンタの部分に対応してもよい。図4は、少なくとも1つの実施形態によるデータセンタ例402、404の態様を描写する。データセンタ例402には、図2のVCSサーバ222およびデータストアサーバ226などのサーバコンピュータを含む複数のサーバラック406〜408、ならびに、図2のネットワークハードウェア224などのネットワークハードウェアを含む複数のネットワークラック410が含まれる。そのようなサーバラック406〜408および/またはネットワークラック410のそれぞれは、実装リソース専用単位に対応してもよく、これにより、仮想リソースプロバイダ206の特定の組の顧客は、その組の顧客の仮想リソースが、1組の専用サーバラック、1組のネットワークラック、および/またはそれらの適切な組み合わせでプロビジョニングされることを指定してもよい。   Implementation resource dedicated boundaries and / or units may also correspond to portions of the data center in at least some embodiments. FIG. 4 depicts aspects of example data centers 402, 404 in accordance with at least one embodiment. The example data center 402 includes a plurality of server racks 406-408 including server computers such as the VCS server 222 and data store server 226 of FIG. 2, and a plurality of network hardware including the network hardware 224 of FIG. A network rack 410 is included. Each such server rack 406-408 and / or network rack 410 may correspond to a dedicated unit of implemented resources so that a particular set of customers of the virtual resource provider 206 can It may be specified that resources are provisioned in a set of dedicated server racks, a set of network racks, and / or an appropriate combination thereof.

データセンタ402は、データセンタ402に対する物理的なアクセス権を得るために(例えば、暗号で)確実に認証されることが可能な1つ以上の種類の識別および/またはアクセスデバイス(例えば、写真付き身分証明カード、生体認証、物理的な鍵、目的に合うように符号化されたRFIDカード)を要求してもよい。したがって、データセンタ402は、(例えば、公的にアクセス可能な空間に関する)セキュリティレベルおよび/またはセキュリティゾーンに関連付けられてもよい。更に、データセンタ402は、1つ以上のより高いレベルおよび/または異なるセキュリティゾーンを組み込んでもよい。データセンタ402は、例えばデータセンタ402内の鍵の掛った部屋に対応する、複数のアクセス制御されたエリア412〜418を含んでもよい。例えば、選択され、および/または特別に検査されたデータセンタ402のスタッフのみがアクセス制御されたエリア412〜418に対するアクセス権を有することができる。データセンタ402のスタッフのそのような選択および/または特別な検査は、アクセス制御されたエリア412〜418に対する専用実装リソースプールへの遷移プロシージャの一部であり得る。   The data center 402 can include one or more types of identification and / or access devices (eg, with photos) that can be securely authenticated (eg, cryptographically) to gain physical access to the data center 402. An identification card, biometric authentication, physical key, RFID card encoded to suit the purpose) may be requested. Accordingly, the data center 402 may be associated with a security level and / or security zone (eg, for publicly accessible space). Further, the data center 402 may incorporate one or more higher levels and / or different security zones. The data center 402 may include a plurality of access controlled areas 412-418 corresponding to, for example, locked rooms in the data center 402. For example, only selected and / or specially inspected data center 402 staff may have access to access controlled areas 412-418. Such selection and / or special examination of data center 402 staff may be part of a transition procedure to a dedicated implementation resource pool for access controlled areas 412-418.

データセンタ402は、物理的なアクセスに対して必ずしも更に安全ではない複数のアクセス監視されたエリア420〜426を更に含んでもよい。例えば、アクセス監視されたエリア420〜426は、データセンタ402のスタッフが物理的に入ることおよび/または出ること、ならびに/あるいは、その他の場合には、音声および/または映像レコーディングを含むアクセス監視されたエリア420〜426におけるドキュメントスタッフの存在を記録してもよい。各アクセス制御されたエリア412〜418および各アクセス監視されたエリア420〜426を含むセキュリティゾーンのそれぞれは、実装リソース専用単位に対応してもよく、これによって、仮想リソースプロバイダ206(図2)の特定の組の顧客は、その組の顧客の仮想リソースが、1組の専用のセキュリティゾーンでプロビジョニングされることを指定してもよい。   The data center 402 may further include a plurality of access-monitored areas 420-426 that are not necessarily more secure for physical access. For example, the access-monitored areas 420-426 may be monitored by access by data center 402 staff physically entering and / or exiting and / or otherwise including audio and / or video recording. The presence of document staff in the areas 420 to 426 may be recorded. Each of the security zones including each access controlled area 412-418 and each access monitored area 420-426 may correspond to a dedicated unit of implemented resources, thereby enabling virtual resource provider 206 (FIG. 2) A particular set of customers may specify that their virtual resources are provisioned in a set of dedicated security zones.

図4のデータセンタ404は移動式であり得る。例えば、データセンタ404は、輸送用コンテナ内に組み立てられ、図示されたセミトレーラートラックを含む様々な手段によって移動式に製造されてもよい。移動式データセンタ404は、不動式データセンタ402のサーバラック406〜408、ネットワークラック410、アクセス制御されたエリア412〜418、および/またはアクセス監視されたエリア420〜426に対応するサーバラック、ネットワークラック、アクセス制御されたエリアおよび/またはアクセス監視されたエリアを含んでもよい。移動式データセンタ404にはまた、適切な移動式発電ハードウェア、ならびに1つ以上のインターネットリンクを含む適切な無線および/または有線高速デジタルデータリンクが含まれてもよい。   The data center 404 of FIG. 4 can be mobile. For example, the data center 404 may be assembled in a shipping container and manufactured mobile by various means including the illustrated semi-trailer truck. The mobile data center 404 includes server racks 406 to 408, network racks 410, access controlled areas 412 to 418, and / or access monitored areas 420 to 426 of the stationary data center 402. It may include racks, access controlled areas and / or access monitored areas. The mobile data center 404 may also include suitable mobile power generation hardware and suitable wireless and / or wired high-speed digital data links including one or more internet links.

図5は、少なくとも1つの実施形態によるデータセンタの別の態様を描写する。データセンタ502は、複数のサーバラック504〜506を含んでもよい。データセンタ502は図4のデータセンタ402、404の一例である。サーバラック504とサーバラック506との間の省略記号は、データセンタ502が任意の適切な数のサーバラックを含むことを示すが、明瞭さのため、図5には2つだけが示される。各サーバラック504〜506は、電力などのサービスならびに複数のサーバコンピュータ508〜514および516〜522に対するデータ通信を維持することに参加してもよい。また、省略記号は、サーバラック504〜506が任意の適切な数のサーバコンピュータを含んでもよいことを示す。例えば、サーバコンピュータ508〜522は、1つ以上のVCSサーバ222(図2)および/または1つ以上のデータストアサーバ226を含んでもよい。各サーバ508〜522は、実装リソース専用単位に対応してもよい。   FIG. 5 depicts another aspect of a data center in accordance with at least one embodiment. The data center 502 may include a plurality of server racks 504 to 506. The data center 502 is an example of the data centers 402 and 404 in FIG. The ellipsis between server rack 504 and server rack 506 indicates that data center 502 includes any suitable number of server racks, but for clarity only two are shown in FIG. Each server rack 504-506 may participate in maintaining services such as power and data communication to a plurality of server computers 508-514 and 516-522. Also, the ellipsis indicates that the server racks 504-506 may include any suitable number of server computers. For example, server computers 508-522 may include one or more VCS servers 222 (FIG. 2) and / or one or more data store servers 226. Each server 508 to 522 may correspond to a dedicated unit for mounting resources.

図5において、各サーバラック504〜506は、ラックスイッチ524〜526を含むように描写されている。ラックスイッチ524および526は、デジタルデータのパケットをそれらの個々の組のサーバコンピュータ508〜514および516〜522に、またそのサーバコンピュータからスイッチングすることに関与してもよい。各ラックスイッチ524〜526は、実装リソース専用単位に対応してもよい。しかしながら、(図5に描写された)サーバラック504〜506が1つのラックスイッチ524〜526を含む場合において、ラックスイッチ524〜526を仮想リソースプロバイダ206(図2)の特定の組の顧客に専用にすることは、それぞれのサーバラック504〜506の専用をもたらす。このことは、少なくとも1つの実施形態による含有専用単位(「含有単位専用(containing unit dedication)」)の専用をもたらす実装リソース専用単位の構成要素(実装リソース専用サブ単位)の専用の一例である。実装リソース専用単位は、それらのサブ単位のどれ(もしあれば)が、含有単位専用をもたらすかを示してもよい。   In FIG. 5, each server rack 504-506 is depicted as including rack switches 524-526. Rack switches 524 and 526 may be responsible for switching packets of digital data to and from their respective sets of server computers 508-514 and 516-522. Each rack switch 524 to 526 may correspond to a dedicated mounting resource unit. However, if the server racks 504-506 (depicted in FIG. 5) include one rack switch 524-526, the rack switches 524-526 are dedicated to a specific set of customers of the virtual resource provider 206 (FIG. 2). This results in a dedicated server rack 504-506. This is an example of a dedicated component of a mounting resource dedicated unit (a mounting resource dedicated sub-unit) that results in a dedicated dedicated content unit ("containing unit designation") according to at least one embodiment. An implementation resource dedicated unit may indicate which of those subunits (if any) result in a containing unit dedicated.

ラックスイッチ524〜526は、データセンタスイッチング構造528に通信でリンクされ、更にまた、インターネットを含む1つ以上の他のコンピュータネットワークにデータセンタ502を接続する1組のエッジルータ530に通信でリンクされてもよい。スイッチング構造は、1つ以上のスイッチング層に配置される1つ以上のスイッチ種類の複数の相互に接続されるスイッチ532〜538(明瞭さのために、図5には4つしか示されていない)を含む任意の適切な組のネットワーキング構成要素、ならびに、ルータ、ゲートウェイ、ブリッジ、ハブ、リピータ、ファイアウォール、コンピュータ、およびそれらの適切な組み合わせを含んでもよい。少なくとも1つの実施形態において、ラックスイッチ524〜526およびエッジルータ530は、スイッチング構造528の一部と見なされる。ラックスイッチ524〜526、エッジルータ530、およびスイッチング構造528の構成要素は、図2のネットワークハードウェア224の一例である。   The rack switches 524-526 are communicatively linked to a data center switching structure 528 and are also communicatively linked to a set of edge routers 530 that connect the data center 502 to one or more other computer networks, including the Internet. May be. The switching structure includes a plurality of interconnected switches 532-538 of one or more switch types arranged in one or more switching layers (for clarity, only four are shown in FIG. ) Including any suitable set of networking components, as well as routers, gateways, bridges, hubs, repeaters, firewalls, computers, and appropriate combinations thereof. In at least one embodiment, rack switches 524-526 and edge router 530 are considered part of switching structure 528. The components of the rack switches 524-526, the edge router 530, and the switching structure 528 are an example of the network hardware 224 of FIG.

スイッチング構造528の一部、スイッチ532〜538の組などのスイッチング構造528の組、および/またはエッジルータ530は、実装リソース専用単位に対応してもよい。あるいは、またはそれに加えて、仮想リソースプロバイダ206(図2)の特定の組の顧客は、その組の顧客の仮想リソースが、スイッチング構造528および/またはエッジルータ530を経由して1組の専用データパスおよび/またはチャネル(集合的に、「データパス」)でプロビジョニングされることを指定してもよい。専用データパスに関して、実装リソース専用単位は、ワイヤおよび/またはケーブルの組などの物理的なデータパスに対応してもよい。あるいは、またはそれに加えて、実装リソース専用単位は、同時通信方式においてハードにスケジュールされた通信時間スロットに対応してもよい。   A portion of the switching structure 528, a set of switching structures 528, such as the set of switches 532-538, and / or the edge router 530 may correspond to a dedicated unit for implementation resources. Alternatively, or in addition, a particular set of customers of virtual resource provider 206 (FIG. 2) may receive a set of dedicated data via the switching structure 528 and / or edge router 530. It may be specified to be provisioned on a path and / or channel (collectively, a “data path”). With respect to a dedicated data path, the implementation resource dedicated unit may correspond to a physical data path such as a set of wires and / or cables. Alternatively, or in addition, the dedicated resource unit for implementation may correspond to a hard scheduled communication time slot in the simultaneous communication scheme.

実装リソース専用境界および/または単位はまた、少なくともいくつかの実施形態においてサーバコンピュータの一部に対応してもよい。図6は、少なくとも1つの実施形態によるVCSサーバ例602の態様を描写する。図6のVCSサーバ602は、図2のVCSサーバ222の一例である。VCSサーバ602によって実装される仮想リソース604は、様々な種類の複数の仮想コンピュータシステム(VCS)606〜614を含んでもよい。仮想リソース604は、VCSサーバ602の任意の適切な実装リソース616で実装されてもよい。適切な実装リソース616の例は、1つ以上の、例えば中央処理装置(CPU)およびマルチコアCPUなどのプロセッサ618、1つ以上の、例えばランダムアクセスメモリ(RAM)などの揮発性記憶デバイス620、1つ以上の、例えばフラッシュメモリおよびハードディスクドライブ(HDD)などの不揮発性記憶デバイス622、ならびに/あるいは、1つ以上の、例えばネットワークインタフェースカード(NIC)などのネットワークインタフェース624を含む。プロセッサ618、揮発性記憶デバイス620、不揮発性記憶デバイス622、および/またはネットワークインタフェース624のそれぞれは、実装リソース専用単位に対応してもよい。   An implementation resource dedicated boundary and / or unit may also correspond to a portion of a server computer in at least some embodiments. FIG. 6 depicts aspects of an example VCS server 602 according to at least one embodiment. The VCS server 602 in FIG. 6 is an example of the VCS server 222 in FIG. The virtual resource 604 implemented by the VCS server 602 may include multiple types of virtual computer systems (VCSs) 606-614. Virtual resource 604 may be implemented with any suitable implementation resource 616 of VCS server 602. Examples of suitable implementation resources 616 include one or more processors 618 such as, for example, a central processing unit (CPU) and a multi-core CPU, one or more volatile storage devices 620, such as, for example, random access memory (RAM), One or more non-volatile storage devices 622, such as flash memory and hard disk drives (HDDs), and / or one or more network interfaces 624, such as network interface cards (NICs), for example. Each of processor 618, volatile storage device 620, non-volatile storage device 622, and / or network interface 624 may correspond to a dedicated unit for implementation resources.

仮想コンピュータシステム606〜614のそれぞれは、1組の実装リソース616で実装されてもよい。異なる種類の仮想コンピュータシステム606〜614が、異なる組の実装リソース616で実装されてもよい。例えば、「大型」の種類の仮想コンピュータシステムは、「小型」の種類の仮想コンピュータシステムより多くの実装リソースを必要としてもよい。「メモリ集約型」の種類の仮想コンピュータシステムは、揮発性記憶デバイス620(複数可)の実装リソースの追加部分を必要としてもよい。「処理集約型」の種類の仮想コンピュータは、プロセッサ618(複数可)の実装リソースの追加部分を必要としてもよい。図6に描写された例は、4つの「小型」の仮想コンピュータシステム606〜612および1つの「大型」の仮想コンピュータシステム614を維持するVCSサーバ602を示す。これは、VCSサーバ602の仮想リソース実装容量の一例である。もちろん、他の構成は可能である。例えば、VCSサーバ602は、「大型」の仮想コンピュータシステム614無しで8つの「小型」の仮想コンピュータシステムを維持するなどの可能性がある。   Each of the virtual computer systems 606-614 may be implemented with a set of implementation resources 616. Different types of virtual computer systems 606-614 may be implemented with different sets of implementation resources 616. For example, a “large” type virtual computer system may require more implementation resources than a “small” type virtual computer system. A “memory intensive” type virtual computer system may require an additional part of the implementation resources of the volatile storage device 620 (s). A “processing intensive” type of virtual computer may require an additional portion of the implementation resources of the processor 618 (s). The example depicted in FIG. 6 shows a VCS server 602 that maintains four “small” virtual computer systems 606-612 and one “large” virtual computer system 614. This is an example of the virtual resource implementation capacity of the VCS server 602. Of course, other configurations are possible. For example, the VCS server 602 may maintain eight “small” virtual computer systems without the “large” virtual computer system 614.

「小型」の種類の仮想コンピュータシステムは、VCSサーバ602によって維持される最小の仮想リソースにおよび/または単位仮想コンピュータシステム費用に対応してもよい。仮想リソースプロバイダ206(図2)は、その種類で置き換えられた「小型」の種類の仮想コンピュータシステムの数に関して、専用実装リソースで実装される仮想コンピュータシステムを含む、他の種類の仮想コンピュータシステムについての費用を測定し、見積り、および/または決定してもよい。例えば、仮想リソースプロバイダの特定の組の顧客は、その組の顧客の仮想コンピュータシステムが、専用ハードディスクドライブで実装されることを指定してもよい。VCSサーバ602が2つの「小型」の仮想コンピュータシステムと共に各ハードディスクドライブを共有するように典型的に構成される場合には、専用ハードディスクドライブで実装される仮想コンピュータシステムは、少なくとも2つのそのような「小型」の仮想コンピュータシステムを置き換える。   A “small” type of virtual computer system may correspond to the minimum virtual resources maintained by the VCS server 602 and / or unit virtual computer system costs. Virtual resource provider 206 (FIG. 2) is concerned with other types of virtual computer systems, including virtual computer systems implemented with dedicated implementation resources, with respect to the number of “small” type virtual computer systems replaced with that type. May be measured, estimated, and / or determined. For example, a particular set of customers of a virtual resource provider may specify that the set of customers' virtual computer systems be implemented with dedicated hard disk drives. If the VCS server 602 is typically configured to share each hard disk drive with two “small” virtual computer systems, then the virtual computer system implemented with a dedicated hard disk drive has at least two such Replaces “small” virtual computer systems.

少なくとも1つの実施形態において、専用実装リソースは、専用実装リソースプールから引き出される(すなわち、割り当てられる)。例えば、専用実装リソースプールは、専用実装リソースによる仮想リソース212のプロビジョニングを要求する仮想リソースプロバイダ206(図2)の各組の顧客に対応して確立されてもよいし、更にまた、要求された仮想リソースを実装する専用実装リソースは、その組の顧客に関連付けられた専用実装リソースプールから引き出されてもよい。図7は、少なくとも1つの実施形態による実装リソースプール例の態様を描写する。図7は、一般的な実装リソースプール702および3つの専用実装リソースプール704、706、710を描写する。   In at least one embodiment, dedicated implementation resources are drawn (ie allocated) from a dedicated implementation resource pool. For example, a dedicated implementation resource pool may be established corresponding to each set of customers of the virtual resource provider 206 (FIG. 2) that requests provisioning of the virtual resources 212 by the dedicated implementation resources, and further requested. A dedicated implementation resource that implements a virtual resource may be derived from a dedicated implementation resource pool associated with the set of customers. FIG. 7 depicts aspects of an example implementation resource pool in accordance with at least one embodiment. FIG. 7 depicts a general implementation resource pool 702 and three dedicated implementation resource pools 704, 706, 710.

この例において、実装リソース220(図2)は、一般的な実装リソースプール702で始まる。3つの専用実装リソースプール704、706、710は、仮想リソースプロバイダ206の3つの異なる組の顧客のために確立されてもよい。専用実装リソースプール704および専用実装リソースプール710は、重複部分712を有する。重複部分712における実装リソースは、専用実装リソースプール704または専用実装リソースプール710に関連付けられた組の顧客の仮想リソースを実装するために利用されてもよい。あるいは、またはそれに加えて、重複部分712は、専用実装リソースプール704と専用実装リソースプール710の両方に関連付けられた結合組の顧客の、結合仮想リソースを含む、仮想リソースに関連付けられた別個の専用実装リソースプール712として構成されてもよい。   In this example, the implementation resource 220 (FIG. 2) begins with a general implementation resource pool 702. Three dedicated implementation resource pools 704, 706, 710 may be established for three different sets of customers of virtual resource provider 206. The dedicated mounting resource pool 704 and the dedicated mounting resource pool 710 have an overlapping portion 712. The implementation resources in overlap portion 712 may be utilized to implement a set of customer virtual resources associated with dedicated implementation resource pool 704 or dedicated implementation resource pool 710. Alternatively or in addition, overlapping portion 712 may be a separate dedicated associated with a virtual resource, including a combined virtual resource, of a combined set of customers associated with both dedicated implemented resource pool 704 and dedicated implemented resource pool 710. The implementation resource pool 712 may be configured.

実装リソース220は、少なくとも1つのそれぞれの組の顧客によって指定される実装リソース遷移プロシージャにしたがって、一般的な実装リソースプール702から専用実装リソースプール704、706、710、712に遷移されてもよく、その結果、遷移された実装リソースをその組の顧客に専用にする。実装リソース220は、仮想リソースプロビジョニング要求に応答して専用実装リソースプール704、706、710、712に遷移されてもよい。そのような要求は、一般的な実装リソースプール702が、要求を実現するために必要とされる種類(複数可)の実装リソースを不十分に含む場合には、実現を果たせないおよび/または遅らすかもしれない。そのような問題を避けるために、仮想リソースプロバイダ206の顧客は、予約された実装リソースプールを確立してもよい。   Implementation resources 220 may be transitioned from a general implementation resource pool 702 to a dedicated implementation resource pool 704, 706, 710, 712 according to an implementation resource transition procedure specified by at least one respective set of customers, As a result, the transitioned implementation resource is dedicated to the set of customers. The implementation resource 220 may be transitioned to the dedicated implementation resource pools 704, 706, 710, and 712 in response to the virtual resource provisioning request. Such a request cannot be fulfilled and / or delayed if the general implementation resource pool 702 does not sufficiently contain the type (s) of implementation resources needed to fulfill the request. It may be. To avoid such problems, the customer of virtual resource provider 206 may establish a reserved implementation resource pool.

図7に描写される例において、専用実装リソースプール706に関連付けられた組の顧客は、(例えば、図2の制御プレーン210によって)予約された実装リソースプール708を確立している。少なくとも1つの実施形態において、予約された実装リソースプール708内の実装リソース220は、仮想リソースプロビジョニング要求を実現するために必要とされるまで一般的な実装リソースプール702内に残る。しかしながら、必要とされると、その時点で、それらの実装リソースが1人以上の他の顧客の仮想リソースの実装に参加している場合でさえ、予約された実装リソースプール708内の実装リソース220は、専用実装リソースプール706に遷移される。すなわち、予約された実装リソースプール708に関連付けられた組の顧客は、予約された実装リソースプール708内の実装リソース220に対する優先権を与えられる。優先された顧客の仮想リソースは、一般的な実装リソースプール702内の実装リソースに移動されてもよいし、あるいは、一般的な実装リソースプール702が適切な種類(複数可)の十分な実装リソースを含まない場合には、その仮想リソースは、非プロビジョニング化されてもよい。   In the example depicted in FIG. 7, a set of customers associated with a dedicated implementation resource pool 706 has established a reserved implementation resource pool 708 (eg, by the control plane 210 of FIG. 2). In at least one embodiment, the implementation resources 220 in the reserved implementation resource pool 708 remain in the general implementation resource pool 702 until needed to fulfill the virtual resource provisioning request. However, when needed, the implementation resources 220 in the reserved implementation resource pool 708 are present at that time, even if those implementation resources participate in the implementation of one or more other customer virtual resources. Is transitioned to the dedicated implementation resource pool 706. That is, the set of customers associated with the reserved implementation resource pool 708 is given priority over the implementation resources 220 in the reserved implementation resource pool 708. The virtual resource of the prioritized customer may be moved to the implementation resource in the general implementation resource pool 702, or the general implementation resource pool 702 may have sufficient implementation resources of the appropriate type (s). The virtual resource may be unprovisioned.

いくつかの専用実装リソースプール遷移プロシージャは速い(例えば、約ミリ秒の)ものであり得るが、いくつかの遷移プロシージャ、特に仮想リソースプロバイダ206の少なくとも1人の顧客によって指定された特注の遷移プロシージャは、完了するためにかなりの量の時間(例えば、数秒、数分、数時間以上)を必要とする。図8は、少なくとも1つの実施形態による専用実装リソースプールの遷移プロシージャのタイミング例の態様を描写する。   Some dedicated implementation resource pool transition procedures may be fast (eg, about milliseconds), but some transition procedures, particularly custom transition procedures specified by at least one customer of the virtual resource provider 206 Requires a significant amount of time to complete (eg, seconds, minutes, hours or more). FIG. 8 depicts aspects of a timing example of a dedicated implementation resource pool transition procedure in accordance with at least one embodiment.

時間tでは、実装リソース802が一般的な実装リソースプール804で始まる。例えば、実装リソース802は、図2の実装リソース220のうちの1つであってもよいし、一般的な実装リソースプール804は、図7の一般的な実装リソースプール702に対応してもよい。時間tでは、実装リソース802の専用実装リソースプール806への遷移を必要とする仮想リソースプロバイダ206のイベントが発生する。例えば、そのイベントは、予測プロビジョニング要求に応じるための自動化された遷移、または仮想リソース212のプロビジョニング要求であってもよいし、専用実装リソースプール806は、図7の専用実装リソースプール704に対応してもよい。 At time t 0 , the implementation resource 802 begins with a general implementation resource pool 804. For example, the implementation resource 802 may be one of the implementation resources 220 in FIG. 2, and the general implementation resource pool 804 may correspond to the general implementation resource pool 702 in FIG. . At time t 1 , an event of the virtual resource provider 206 that requires the transition of the mounting resource 802 to the dedicated mounting resource pool 806 occurs. For example, the event may be an automated transition to respond to a predictive provisioning request, or a provisioning request for a virtual resource 212, and the dedicated implementation resource pool 806 corresponds to the dedicated implementation resource pool 704 of FIG. May be.

時間tでは、専用実装リソースプール入口プロシージャ808が開始することができる。入口プロシージャ808は、任意の適切な実装リソース802の(再)構成プロシージャであってもよい。適切な入口プロシージャの例には、データ記憶媒体フォーマッティング、安全なデータ消去プロシージャを含むデータ記憶媒体消去、ソフトウェアインストール、構成要素の構成、構成要素の再割り当て、アクセス制御構成、ファイアウォール再構成、(例えば、実装リソースを交替するための)仮想リソース移動、認証証明の生成および発行、移動式データセンタ404(図4)の再配置、顧客による実装リソース遷移の手動再調査、顧客が提供したコンピュータ実行可能な命令を含む顧客が提供した入口プロシージャおよび/またはそれらの任意の適切な組み合わせが含まれる。少なくとも1つの実施形態において、顧客は、仮想リソースプロバイダ206(図2)によって提供された1組のそのようなプロシージャから専用実装リソースプール入口プロシージャ808を選択する。1組の提供されたプロシージャは、特定の組の顧客のための仮想リソースプロバイダ206によってあらかじめ定義されおよび/または動的に生成されてもよい。 At time t 2, it can only Implements resource pool entrance procedure 808 begins. The entry procedure 808 may be any suitable implementation resource 802 (re) configuration procedure. Examples of suitable entry procedures include data storage media formatting, data storage media erasure including secure data erasure procedures, software installation, component configuration, component reassignment, access control configuration, firewall reconfiguration (e.g. Virtual resource movement (to alternate implementation resources), generation and issuance of authentication certificates, relocation of mobile data center 404 (FIG. 4), manual review of implementation resource transitions by customer, customer-supplied computer-executable Customer-provided entry procedures and / or any suitable combination thereof including any instructions. In at least one embodiment, the customer selects a dedicated implementation resource pool entry procedure 808 from a set of such procedures provided by the virtual resource provider 206 (FIG. 2). A set of provided procedures may be predefined and / or dynamically generated by the virtual resource provider 206 for a particular set of customers.

時間tまでは、入口プロシージャ808が完了すると、実装リソース802は遷移状態810にあってもよい。遷移状態810にある間、実装リソース802は仮想リソース212(図2)の実装に参加しない。時間tでは、入口プロシージャ808が812を完了し、実装リソース802は専用実装リソースプール806に入る。専用実装リソースプール806にある間、実装リソース802は、関連付けられた組の顧客の仮想リソース212の実装に参加してもよい。 Until time t 3 , implementation resource 802 may be in transition state 810 when entry procedure 808 is completed. While in the transition state 810, the implementation resource 802 does not participate in the implementation of the virtual resource 212 (FIG. 2). At time t 3 , the entry procedure 808 completes 812 and the implementation resource 802 enters the dedicated implementation resource pool 806. While in the dedicated implementation resource pool 806, the implementation resource 802 may participate in the implementation of the associated set of customer virtual resources 212.

時間tでは、専用実装リソースプール806から一般的な実装リソースプール804に戻る実装リソース802の遷移を必要とする別の仮想リソースプロバイダ206(図2)のイベントが発生してもよい。例えば、そのイベントは、仮想リソース212の非プロビジョニング化要求、または専用実装リソースプール806におけるアイドル状態の実装リソース220の比率を最適化するための自動化された遷移であってもよい。時間tでは、専用実装リソースプール出口プロシージャ814が開始することができる。出口プロシージャ814は、入口プロシージャ808について上記したものを含む任意の適切な実装リソース802の(再)構成プロシージャならびにそれらの論理的なおよび/または手順上の補完物とすることができる。また、少なくとも1つの実施形態において、顧客は、あらかじめ定義された組のそのようなプロシージャから専用実装リソースプール出口プロシージャ814を選択する。 At time t 4 , another virtual resource provider 206 (FIG. 2) event may occur that requires a transition of the implementation resource 802 from the dedicated implementation resource pool 806 back to the general implementation resource pool 804. For example, the event may be a non-provisioning request for a virtual resource 212 or an automated transition to optimize the ratio of idle implementation resources 220 in a dedicated implementation resource pool 806. At time t 5, it can be dedicated mounting resource pool outlet procedure 814 begins. The exit procedure 814 may be any suitable implementation resource 802 (re-) configuration procedure and their logical and / or procedural complements, including those described above for the entry procedure 808. Also, in at least one embodiment, the customer selects a dedicated implementation resource pool exit procedure 814 from a predefined set of such procedures.

時間tまでは、出口プロシージャ814が完了すると、実装リソース802が遷移状態810に再びあってもよい。時間tでは、出口プロシージャ814が816を完了し、実装リソース802は専用実装リソースプール806を出て、一般的な実装リソースプール804に再び入る。時間tの後、実装リソース802は、実装リソース802がそのサービス有効期間の終了に達する時間tまで、専用実装リソースプール806および/または図8に示されていない他の専用実装リソースプールに繰り返し出入りしてもよい。 Until time t 6, when the exit procedure 814 is complete, the implementation resource 802 may be in the transition state 810 again. At time t 6 , the exit procedure 814 completes 816 and the implementation resource 802 exits the dedicated implementation resource pool 806 and reenters the general implementation resource pool 804. After time t 6 , the implementation resource 802 is transferred to the dedicated implementation resource pool 806 and / or other dedicated implementation resource pools not shown in FIG. 8 until time t 7 when the implementation resource 802 reaches the end of its service lifetime. You may go in and out repeatedly.

図6に関して上記したように、いくつかの実装リソースは、複数の仮想リソースを実装してもよい(すなわち、「分配可能な」実装リソースであり得る)。例えば、VCSサーバ602は、複数の仮想コンピューティングシステムを実装してもよい。そのような場合において、分配可能な実装リソースの一部分が、(「割り当て」られる)1つ以上の仮想リソースの実装に割り当てられる一方で、別の部分は割り当てられないままでいることが起こり得る。分配可能な実装リソースが仮想リソースプロバイダ206(図2)の特定の組の顧客に専用である場合、割り当てられていない部分は、仮想リソースプロバイダの他の顧客に対する割り当てのために更に利用不可能であり、このことは、分配可能な専用実装リソースが100%の利用を達成するという可能性を低めることに対応し得る。仮想リソースプロバイダ206の観点からすれば、これは、機会費用である。そのような費用は、様々な手法で明細を明らかにされ得る。図9は、少なくとも1つの実施形態による実装リソース利用アカウンティング方式例の態様を描写する。   As described above with respect to FIG. 6, some implementation resources may implement multiple virtual resources (ie, may be “distributable” implementation resources). For example, the VCS server 602 may implement a plurality of virtual computing systems. In such cases, it may happen that a portion of the distributable implementation resource is assigned to one or more virtual resource implementations ("assigned") while another portion remains unassigned. If the distributable implementation resource is dedicated to a particular set of customers of the virtual resource provider 206 (FIG. 2), the unassigned portion is not further available for assignment to other customers of the virtual resource provider. Yes, this may correspond to reducing the likelihood that a distributable dedicated implementation resource will achieve 100% utilization. From the perspective of the virtual resource provider 206, this is an opportunity cost. Such costs can be specified in various ways. FIG. 9 depicts aspects of an example implementation resource utilization accounting scheme in accordance with at least one embodiment.

図9は、1つ以上の仮想リソース212(図2)の実装に独立して参加することがそれぞれ可能な4つのリソース割り当ての単位(または「リソース割り当て単位(resource allocation unit)」)を組み込んでいる、分配可能な実装リソース例の利用を描写する。例えば、分配可能な実装リソース例は、4つの「小型」の種類の仮想コンピュータシステム、または1つの「大型」の種類の仮想コンピュータシステムを実装することが可能なVCSサーバ222のうちの1つであってもよい。分配可能な実装リソースの仮想リソース実装容量は、リソース割り当て単位で測定されることができる。例えば、VCSサーバ222の実装容量は、「小型」の種類の仮想コンピュータシステムなどの標準仮想コンピュータシステム単位に換算して測定されてもよい。   FIG. 9 incorporates four resource allocation units (or “resource allocation units”) that can each independently participate in the implementation of one or more virtual resources 212 (FIG. 2). Describes the use of a distributable implementation resource example. For example, a distributable implementation resource example is one of four “small” type virtual computer systems or one of the VCS servers 222 capable of implementing one “large” type virtual computer system. There may be. The virtual resource implementation capacity of distributable implementation resources can be measured in resource allocation units. For example, the mounting capacity of the VCS server 222 may be measured in terms of a standard virtual computer system unit such as a “small” type virtual computer system.

図9は、8つの時間の単位(または「時間単位(time unit)」、例えば、数秒、数時間、数か月など)にわたる分配可能な実装リソース例の利用を更に描写する。最初の2つの時間単位の間には、(斜線を用いて陰影を付けた四角形によって示されるように)4つのリソース割り当て単位のうちの1つが割り当てられていて、アクティブ(すなわち、少なくとも1つの仮想リソースの実装にアクティブに参加すること)であってもよいのに対して、(陰影の付いていない四角形によって示されるように)4つのリソース割り当て単位のうちの3つは割り当てられていなくて、非アクティブである。少なくとも1つの実施形態において、アイドル状態である割り当てられたリソース割り当て単位もまた、非アクティブであると見なされる。第3の時間単位の間には、4つのリソース割り当て単位のそれぞれが割り当てられる。第4の時間単位の間には、4つのリソース割り当て単位のうちの2つが割り当てられる。残りの4つの時間単位の間には、4つのリソース割り当て単位のうちの1つが割り当てられる。   FIG. 9 further depicts the utilization of example distributable implementation resources over eight units of time (or “time units”, eg, seconds, hours, months, etc.). Between the first two time units, one of the four resource allocation units is allocated (as indicated by the shaded rectangle with a diagonal line) and active (ie at least one virtual unit). Active participation in resource implementation), whereas three of the four resource allocation units (as indicated by the unshaded rectangle) are not allocated, Inactive. In at least one embodiment, an allocated resource allocation unit that is idle is also considered inactive. Each of the four resource allocation units is allocated during the third time unit. Two of the four resource allocation units are allocated during the fourth time unit. Between the remaining four time units, one of the four resource allocation units is allocated.

陰影を付けたまたは陰影の付いていない、図9における四角形のそれぞれは、リソース利用量、すなわちリソース割り当て単位と時間単位との乗法的な積(本明細書中において明瞭さのために「リソース時間」と呼ばれる)に対応する。例えば、VCSサーバの利用は、「小型」のVCS時間で測定され得る。分配可能な実装リソース例が一般的な実装リソースプール702(図7)内にあった場合、4×8=32リソース時間が割り当てのために利用可能であろう。図9に描写された利用例では、12リソース時間が8「時間」の期間にわたって実際に割り当てられ、分配可能な実装リソース例が特定の顧客に専用である場合には20リソース時間の機会費用が仮想リソースプロバイダ206(図2)に生じることになる。   Each shaded or unshaded square in FIG. 9 is a multiplicative product of resource usage, ie resource allocation units and time units (for the sake of clarity, “resource time "). For example, VCS server utilization may be measured in “small” VCS time. If there are examples of distributable implementation resources in the general implementation resource pool 702 (FIG. 7), 4 × 8 = 32 resource hours would be available for allocation. In the use case depicted in FIG. 9, 12 resource hours are actually allocated over a period of 8 “hours”, and an opportunity cost of 20 resource hours is provided if the distributable implementation resource example is dedicated to a particular customer. This will occur at the virtual resource provider 206 (FIG. 2).

仮想リソースのプロビジョニング、構成、再構成、および/または非プロビジョニング化(集合的に、「プロビジョニング」)は、仮想リソースプロバイダ206の制御プレーン210(図2)によって制御されてもよい。図10は、少なくとも1つの実施形態による制御プレーン例1002の態様を描写する。図10の制御プレーン1002は、図2の制御プレーン210の一例である。制御プレーン1002は、仮想リソース212のプロビジョニング要求をクライアント202〜204のうちの1つ以上から受信するように少なくとも構成されたプロビジョニングインタフェース1004、1つ以上のプロビジョニングワークフローに従うプロビジョニング要求に対する応答を導くように少なくとも構成されたワークフロー構成要素1006、仮想リソース212に対する実装リソース220の割り当てを管理するように少なくとも構成されたリソース割り当て構成要素1008、ならびに、仮想リソース212および/または実装リソース220に関連付けられた費用を追跡し提示するように少なくとも構成されたアカウンティング構成要素1010を含むことができる。   Virtual resource provisioning, configuration, reconfiguration, and / or deprovisioning (collectively, “provisioning”) may be controlled by the control plane 210 (FIG. 2) of the virtual resource provider 206. FIG. 10 depicts aspects of an example control plane 1002 in accordance with at least one embodiment. A control plane 1002 in FIG. 10 is an example of the control plane 210 in FIG. The control plane 1002 directs a response to a provisioning request in accordance with one or more provisioning interfaces 1004, one or more provisioning workflows configured to receive a provisioning request for the virtual resource 212 from one or more of the clients 202-204. At least configured workflow component 1006, resource allocation component 1008 configured to manage allocation of implementation resource 220 to virtual resource 212, and costs associated with virtual resource 212 and / or implementation resource 220 An accounting component 1010 can be included that is at least configured to track and present.

プロビジョニングインタフェース1004は、任意の適切なプロビジョニングインタフェース要素を含んでもよい。適切なプロビジョニングインタフェース要素の例は、仮想リソース212(図2)をプロビジョニングし、構成し、再構成し、および/または非プロビジョニング化するための要求に対応するインタフェース要素、更には、仮想リソース212の構成情報に対するアクセス権を提供するインタフェース要素、ならびに、そのようなプロビジョニングに関する操作に対する権限を確立するための認証が可能な1つ以上のインタフェース要素を含む。プロビジョニングインタフェース1004は、例えばグラフィカルユーザインタフェース(GUI)などのユーザインタフェース(UI)、ウェブベースのインタフェース、例えばアプリケーションプログラミングインタフェース(API)および/またはプロビジョニングインタフェース要素に対応する1組のリモートプロシージャコール(RPC)などのプログラム的なインタフェース、例えばプロビジョニングインタフェース1004のインタフェース要素が通信プロトコルのメッセージに対応しているメッセージングインタフェースなどのメッセージングインタフェース、ならびに/あるいは、それらの任意の適切な組み合わせを組み込む、および/またはこれらに組み込まれることができる。   Provisioning interface 1004 may include any suitable provisioning interface element. Examples of suitable provisioning interface elements include interface elements corresponding to requests for provisioning, configuring, reconfiguring and / or deprovisioning virtual resources 212 (FIG. 2), It includes interface elements that provide access to configuration information, and one or more interface elements that can be authenticated to establish authority for operations related to such provisioning. The provisioning interface 1004 is a set of remote procedure calls (RPC) corresponding to a user interface (UI), eg, a graphical user interface (GUI), a web-based interface, eg, an application programming interface (API) and / or provisioning interface elements. Incorporate and / or incorporate a programmatic interface, such as a messaging interface, such as a messaging interface in which the interface elements of the provisioning interface 1004 correspond to messages of a communication protocol, and / or any suitable combination thereof Can be incorporated.

少なくとも1つの実施形態において、プロビジョニングインタフェース1004、リソース割り当て構成要素1008、およびアカウンティング構成要素1010は、ワークフロー構成要素1006によってその後維持される1つ以上のワークフローを生成するためにワークフロー構成要素1006を生成する、および/または生じさせてもよい。例えばプロビジョニングワークフローおよびポリシー実施ワークフローなどのワークフローは、例えばプロビジョニングまたはポリシー実施などのジョブを行うために実行されるタスクの1つ以上のシーケンスを含んでもよい。ワークフローは、その用語が本明細書中で使用される際には、タスク自体ではなくて、タスクに対するおよびタスクからの情報の流れを制御し得るタスク制御構造、ならびに、そのタスク制御構造が制御するタスクの実行の順序である。例えば、ワークフローは、実行中の任意の時間でのプロセスの状態を管理して戻すことができる状態機械と見なされてもよい。ワークフローはワークフローテンプレートから生成されてもよい。例えば、プロビジョニングワークフローは、リソース割り当て構成要素1008によってパラメータを用いて構成されるプロビジョニングワークフローテンプレートから生成されてもよい。別の例として、ポリシー実施ワークフローは、リソース割り当て構成要素1008によってパラメータを用いて構成されるポリシー実施ワークフローテンプレートから生成されてもよい。   In at least one embodiment, provisioning interface 1004, resource allocation component 1008, and accounting component 1010 generate workflow component 1006 to generate one or more workflows subsequently maintained by workflow component 1006. And / or may be generated. Workflows, such as provisioning workflows and policy enforcement workflows, for example, may include one or more sequences of tasks that are performed to perform jobs such as provisioning or policy enforcement. A workflow, as that term is used herein, controls the task control structure that can control the flow of information to and from the task, and not the task itself, and the task control structure controls it. The order of task execution. For example, a workflow may be viewed as a state machine that can manage and return the state of a process at any time during execution. A workflow may be generated from a workflow template. For example, a provisioning workflow may be generated from a provisioning workflow template that is configured with parameters by resource allocation component 1008. As another example, a policy enforcement workflow may be generated from a policy enforcement workflow template configured with parameters by resource allocation component 1008.

ワークフロー構成要素1006は、確立されたワークフローを修正し、更に指定し、および/または更に構成してもよい。例えば、ワークフロー構成要素1006は、特定のタスクを実行するおよび/または特定のタスクに割り当てられるために仮想リソースプロバイダ206の特定の実装リソース220(図2)を選択してもよい。そのような選択は、ワークフロー構成要素1006によって評価されるような特定のタスクのコンピューティングリソースニーズに少なくとも部分的に基づくことができる。別の例として、ワークフロー構成要素1006は、確立されたワークフローに追加のおよび/または重複するタスクを追加してもよいし、ならびに/あるいは確立されたワークフロー内のタスク間の情報フローを再構成してもよい。確立されたワークフローのそのような修正は、ワークフロー構成要素1006による実行効率分析に少なくとも部分的に基づくことができる。例えば、いくつかのタスクは、他のタスクが前のタスクの成功裏の完了に依存する一方で、並行して効率的に実行されてもよい。   The workflow component 1006 may modify, further specify, and / or further configure the established workflow. For example, the workflow component 1006 may select a particular implementation resource 220 (FIG. 2) of the virtual resource provider 206 to perform a particular task and / or be assigned to a particular task. Such selection may be based at least in part on the computing resource needs of the particular task as assessed by the workflow component 1006. As another example, the workflow component 1006 may add additional and / or overlapping tasks to the established workflow and / or reconfigure the information flow between tasks within the established workflow. May be. Such a modification of the established workflow can be based at least in part on an execution efficiency analysis by the workflow component 1006. For example, some tasks may be performed efficiently in parallel while other tasks rely on the successful completion of the previous task.

仮想リソースをプロビジョニングすることの一部として、プロビジョニングインタフェース1004および/またはワークフロー構成要素1006は、リソース割り当て構成要素1008が、仮想リソースを実装するために必要とされる適切な組の実装リソース220(図2)を決定し、必要とされた実装リソースが利用可能である、および/または仮想リソースプロバイダ206の割り当てポリシーに従うかどうかを決定し、ならびに/あるいは必要とされた実装リソースを割り当てることを要求してもよい。リソース割り当て構成要素1008は、任意の適切なリソース割り当ておよび/またはリソーススケジューリングアルゴリズムを組み込んでいてもよい。そのようなアルゴリズムは当業者に周知であり、本明細書に詳細に記載される必要はない。リソース割り当て構成要素1008は、図7の専用実装リソースプール704、706などの専用実装リソースプールの確立および維持を管理するように少なくとも構成された専用リソースプール構成要素1012を含んでもよい。   As part of provisioning virtual resources, the provisioning interface 1004 and / or workflow component 1006 may provide an appropriate set of implementation resources 220 (FIG. 10) that the resource allocation component 1008 needs to implement the virtual resource. 2) to determine whether the required implementation resources are available and / or according to the allocation policy of the virtual resource provider 206 and / or request to allocate the required implementation resources May be. Resource allocation component 1008 may incorporate any suitable resource allocation and / or resource scheduling algorithm. Such algorithms are well known to those skilled in the art and need not be described in detail herein. Resource allocation component 1008 may include a dedicated resource pool component 1012 that is at least configured to manage the establishment and maintenance of dedicated implemented resource pools, such as the dedicated implemented resource pools 704, 706 of FIG.

専用リソースプール構成要素1012は、1組のリソース割り当てビジネスポリシーに関する割り当て要求を分析し、割り当て要求がその組のリソース割り当てビジネスポリシーに従うかどうかに関する評価(例えば、許可または拒否)を提供するように少なくとも構成されたビジネスポリシー実施構成要素1014を含んでもよい。あるいは、またはそれに加えて、ビジネスポリシー実施構成要素1014は、その組のリソース割り当てビジネスポリシーを実施するために、実装リソース220(図2)の仮想リソース212に対するおよび/または仮想リソース212の実装リソース220に対する割り当てに参加してもよい。その1組のリソース割り当てビジネスポリシーは、任意の適切なリソース割り当てポリシーを含んでもよい。適切なリソース割り当てポリシーの例には、例えば、要求された専用仮想リソースの種類および/または数、専用実装リソースの対応する種類および/または数、要求している顧客の費用プラン、割り当てられていない実装リソースの現行レベルおよび/または比率、(例えば、要求している顧客の専用実装リソースプールにおける)非アクティブな専用実装リソースの予測レベルおよび/または比率、ならびに、それらの適切な組み合わせなどのパラメータに基づく条件を有するポリシーが含まれる。リソース割り当てポリシーは、例えば、ブール演算子を用いて指定される複合条件や、特定の数、レベルおよび/または比率が最小値より上である、最大値より下である、および/または指定された範囲の値以内であることを指定する条件などの任意の適切な条件を含んでもよい。   The dedicated resource pool component 1012 analyzes at least the allocation request for a set of resource allocation business policies and provides at least an evaluation (eg, allow or deny) regarding whether the allocation request complies with the set of resource allocation business policies. A configured business policy enforcement component 1014 may be included. Alternatively or in addition, the business policy enforcement component 1014 may implement the implementation resource 220 of the implementation resource 220 (FIG. 2) relative to and / or the implementation resource 220 of the virtual resource 212 to implement the set of resource allocation business policies. You may participate in the assignment for. The set of resource allocation business policies may include any suitable resource allocation policy. Examples of appropriate resource allocation policies include, for example, the type and / or number of dedicated virtual resources requested, the corresponding type and / or number of dedicated implementation resources, the cost plan of the requesting customer, not allocated Parameters such as the current level and / or ratio of implemented resources, the expected level and / or ratio of inactive dedicated implemented resources (eg, in the requesting customer's dedicated implemented resource pool), and appropriate combinations thereof A policy with a condition based on is included. The resource allocation policy can be, for example, a compound condition specified using Boolean operators, or a specific number, level and / or ratio above the minimum value, below the maximum value, and / or specified Any suitable condition may be included, such as a condition that designates being within a range value.

複数の仮想リソースを実装する実装リソースに関しては、仮想リソース密度または仮想リソース分布(spread)は、単位実装リソースごとの仮想リソースの数(例えば、VCSサーバ602ごとの仮想コンピューティングシステムの数)に対応する。仮想リソースプロバイダ206(図2)の顧客は、例えば、顧客の仮想リソースのうちの複数が実装リソースの障害によって影響を及ぼされるという可能性を減らすために、プロビジョニングされた仮想リソースが指定された密度または分布を有するという要求をしてもよい。専用実装リソースで実装された仮想リソースに関する分布が広い(密度が低い)と、実装リソース利用効率の悪さ(例えば、アクティブな実装リソースの利用に対する非アクティブな実装リソースの利用の割合が比較的高く、例えば20%を超える利用割合など)を招くことがある。少なくとも1つの実施形態において、1組のリソース割り当てビジネスポリシーは、仮想リソース密度および/または分布レベルに基づく条件(例えば、1つ以上の密度および/または分布限界を設定すること)を有する1つ以上のポリシーを含んでもよい。専用リソースプール構成要素1012は、許可された密度および/または分布レベルに従って専用実装リソースを割り当てるように少なくとも構成された分布構成要素1016を更に含んでもよい。あるいは、またはそれに加えて、分布構成要素1016は、許可されたおよび/または指定された仮想リソースの最高密度を達成するために、ならびに/あるいはフリーの(すなわち、0%割り当てられた)実装リソース専用単位の数を最大にするために、専用実装リソースを割り当てるおよび/または再び割り当てるように少なくとも構成されてもよい。   For implementation resources that implement multiple virtual resources, the virtual resource density or virtual resource distribution (spread) corresponds to the number of virtual resources per unit implementation resource (eg, the number of virtual computing systems per VCS server 602). To do. The customer of the virtual resource provider 206 (FIG. 2) is given a density at which the provisioned virtual resource is specified, for example, to reduce the possibility that multiple of the customer's virtual resources will be affected by an implementation resource failure. Alternatively, it may be requested to have a distribution. When the distribution of virtual resources implemented with dedicated implementation resources is wide (low density), the implementation resource utilization efficiency is poor (for example, the ratio of inactive implementation resources to active implementation resources is relatively high, For example, the usage rate may exceed 20%). In at least one embodiment, the set of resource allocation business policies is one or more having conditions based on virtual resource density and / or distribution level (eg, setting one or more density and / or distribution limits). Policies may be included. The dedicated resource pool component 1012 may further include a distribution component 1016 that is at least configured to allocate dedicated implementation resources according to the allowed density and / or distribution level. Alternatively or in addition, the distribution component 1016 is dedicated to achieving the highest density of allowed and / or specified virtual resources and / or free (ie, 0% allocated) implementation resources It may be configured at least to allocate and / or reallocate dedicated implementation resources to maximize the number of units.

専用リソースプール構成要素1012は、実装リソース220が専用実装リソースプール704、706(図7)に対しておよびそのプールから遷移するおよび/または遷移することを管理するように少なくとも構成されたプール遷移構成要素1018を更に含んでもよい。実装リソース220(図2)は、1組の専用プール遷移プロシージャに関連付けられてもよい。例えば、各種類の実装リソースは、関連付けられた遷移プロシージャを有してもよい。あるいは、またはそれに加えて、仮想リソースプロバイダ206の顧客は、特定の種類の仮想リソースおよび/または実装リソースのために専用プール遷移プロシージャを指定してもよい。プール遷移構成要素1018は、1つ以上の専用実装リソースを含む実装リソースでプロビジョニングされる特定の組の仮想リソースに関連付けられた1組の適切な遷移プロシージャを識別してもよい。プール遷移構成要素1018は、そのような遷移プロシージャを実行してもよい。あるいは、またはそれに加えて、プール遷移構成要素1018は、識別された組の専用プール遷移プロシージャに対応する1つ以上の専用プール遷移ワークフローを生成し(または生成するためにワークフロー構成要素1006を生じさせ)てもよい。   Dedicated resource pool component 1012 is a pool transition configuration configured at least to manage that implementation resource 220 transitions to and / or transitions from and to dedicated implementation resource pools 704, 706 (FIG. 7) An element 1018 may further be included. Implementation resources 220 (FIG. 2) may be associated with a set of dedicated pool transition procedures. For example, each type of implementation resource may have an associated transition procedure. Alternatively, or in addition, a customer of virtual resource provider 206 may specify a dedicated pool transition procedure for a particular type of virtual resource and / or implementation resource. Pool transition component 1018 may identify a set of appropriate transition procedures associated with a particular set of virtual resources provisioned with an implementation resource that includes one or more dedicated implementation resources. Pool transition component 1018 may perform such a transition procedure. Alternatively, or in addition, the pool transition component 1018 generates (or generates a workflow component 1006 to generate) one or more dedicated pool transition workflows corresponding to the identified set of dedicated pool transition procedures. )

専用リソースプール構成要素1012は、専用実装リソースプール704〜706(図7)におけるアクティビティおよび/または非アクティビティレベルを監視し、専用実装リソースプール704〜706におけるアクティビティおよび/または非アクティビティレベルを予測し、専用実装リソースプール704〜706に対するおよびそのプールからの実装リソース遷移を開始するように少なくとも構成されたプール利用構成要素1020を更に備えてもよい。専用実装リソースプール704〜706における実装リソースは、様々な理由のために非アクティブであり得る。例えば、実装リソースは、まだ発生していない仮想リソースプロビジョニング要求を予期して、または非プロビジョニング化されている仮想リソースの実装に参加するために、専用プール704〜706に遷移されていてもよい。そのような非アクティブな実装リソースは、責任を負う顧客にとって不必要な出費および/または仮想リソースプロバイダ206(図2)に対する機会費用であり得る。   Dedicated resource pool component 1012 monitors activity and / or inactivity levels in dedicated implementation resource pools 704-706 (FIG. 7), predicts activity and / or inactivity levels in dedicated implementation resource pools 704-706, It may further comprise a pool utilization component 1020 configured at least to initiate implementation resource transitions to and from the dedicated implementation resource pools 704-706. Implementation resources in dedicated implementation resource pools 704-706 may be inactive for a variety of reasons. For example, an implementation resource may have been transitioned to a dedicated pool 704-706 in anticipation of a virtual resource provisioning request that has not yet occurred or to participate in the implementation of a non-provisioned virtual resource. Such inactive implementation resources can be unnecessary expense for responsible customers and / or opportunity costs for virtual resource provider 206 (FIG. 2).

しかしながら、実装リソースが一般的な実装リソースプール702(図7)から遷移する時間はかなり長いものであり得るので、専用実装リソースプール704〜706におけるいくつかのレベルの非アクティビティ(すなわち、非アクティブな専用実装リソース「バッファ」)が望ましいことがある。責任を負う顧客および/または仮想リソースプロバイダ206(図2)の管理者は、各専用実装リソースプール704〜706について1つ以上の目標レベルのアクティビティおよび/または非アクティビティを指定してもよい。少なくとも1つの実施形態において、アクティビティおよび/または非アクティビティ目標は、各種類の実装リソースに対して設定されてもよい。アクティビティおよび/または非アクティビティ目標は、リソース割り当て単位数、実装リソース専用単位数、それらの比率、および/または変化のレートを含むそれらの導関数、変化速度、変化加速度、一次導関数、二次導関数、三次導関数、ならびに任意の適切なレベルの導関数に関して指定されてもよい。プール利用構成要素1020は、監視されたアクティビティおよび/または非アクティビティレベルに少なくとも部分的に基づくアクティビティおよび/または非アクティビティ目標に対応する値を予測し、予測値に少なくとも部分的に基づく対応するアクティビティおよび/または非アクティビティ目標を達成するために専用実装リソースプール704〜706に対するならびにそのプールからの実装リソースの遷移をスケジュールしてもよい。   However, since the time for the implementation resources to transition from the general implementation resource pool 702 (FIG. 7) can be quite long, some level of inactivity in the dedicated implementation resource pools 704-706 (ie, inactive dedicated Implementation resources “buffers”) may be desirable. Responsible customers and / or administrators of virtual resource provider 206 (FIG. 2) may specify one or more target level activities and / or non-activity for each dedicated implementation resource pool 704-706. In at least one embodiment, activity and / or inactivity goals may be set for each type of implementation resource. Activity and / or non-activity goals can include resource allocation units, implemented resource dedicated units, their ratio, and / or their derivatives, including rate of change, rate of change, rate of change, first derivative, second derivative. It may be specified in terms of functions, third derivatives, as well as any suitable level of derivatives. The pool utilization component 1020 predicts a value corresponding to an activity and / or non-activity goal based at least in part on the monitored activity and / or inactivity level, and a corresponding activity based at least in part on the predicted value and Implementation resource transitions to and from dedicated implementation resource pools 704-706 may be scheduled to achieve inactivity goals.

アカウンティング構成要素1010は、仮想リソースプロバイダ206(図2)の各顧客のためのアカウントを維持してもよい。顧客によってプロビジョニングされた仮想リソース212に関連付けられた利用および/または費用、ならびに/あるいは関連付けられた実装リソース220は、顧客のアカウント内に記録されてもよい。アカウンティング構成要素1010は、どのように費用が顧客のアカウントに割り当てられるかを指定する1つ以上の費用プラン1022を維持してもよい。アカウンティング構成要素1010は、顧客のアカウント内に記録された利用および/または費用の1つ以上の提示を顧客に提供するように少なくとも構成されたアカウントユーザインタフェース(UI)構成要素1024と、費用のうちの1つ以上が仮想リソースプロバイダ206に支払う義務のある財務バランスに対応する場合、アカウントバランス(例えば、支払器具処理)を設定する1つ以上の機構と、を含んでもよい。アカウントUI1024は、アカウント生成、アカウント構成および再構成、アカウント詳細参照および更新、ならびにアカウント削除を更に提供してもよい。アカウント(再)構成は、複数のそのような費用プラン1022が利用可能である場合、費用プラン1022の認定リストからの選択を含むことができる。   Accounting component 1010 may maintain an account for each customer of virtual resource provider 206 (FIG. 2). Usage and / or costs associated with the virtual resources 212 provisioned by the customer and / or associated implementation resources 220 may be recorded in the customer's account. Accounting component 1010 may maintain one or more cost plans 1022 that specify how costs are assigned to the customer's account. The accounting component 1010 includes an account user interface (UI) component 1024 that is at least configured to provide the customer with one or more presentations of usage and / or costs recorded in the customer's account, One or more mechanisms for setting account balances (eg, payment instrument processing) where one or more of the accounts correspond to a financial balance that is obligated to pay the virtual resource provider 206. Account UI 1024 may further provide account creation, account configuration and reconfiguration, account details reference and update, and account deletion. The account (re) configuration can include a selection from an authorized list of expense plans 1022 if multiple such expense plans 1022 are available.

費用プラン(複数可)1022は、仮想リソース212および/または実装リソース220(図2)のそれぞれの種類に対応するリソース時間ごとの費用を指定してもよい。費用は、例えばアクティブな実装リソース費用レートで、割り当てられたおよび/またはアクティブなリソース時間(「アクティビティ費用」)に関して顧客によって負担され得る。少なくとも1つの実施形態において、費用はまた、例えば非アクティブな実装リソース費用レートで、顧客に専用のプール704〜706(図7)において実装リソースに関連付けられ割り当てられていないおよび/または非アクティブなリソース時間(「専用リソース費用」または「非アクティビティ費用」)に関して顧客によって負担されることもある。少なくとも1つの実施形態において、アクティビティ費用および専用リソース費用は、顧客のアカウント内に別個に維持され、対応する費用明細内に別個のアイテムとして明確に提示される。あるいは、費用明細が専用リソース費用を明確に記すアイテムを含む必要がないように、アクティビティ費用および/またはレートは、専用リソース費用に関して明細を明らかにするよう調整されてもよい。費用プラン(複数可)1022は、適切な線形関数および適切な非線形関数を含む、割り当てられた、割り当てられていない、アクティブなおよび/または非アクティブなリソース時間の任意の適切な関数を含んでもよい。   The cost plan (s) 1022 may specify a cost per resource hour corresponding to each type of virtual resource 212 and / or implementation resource 220 (FIG. 2). Costs may be incurred by the customer with respect to allocated and / or active resource time (“activity costs”), eg, at an active implementation resource cost rate. In at least one embodiment, the cost is also unassigned and / or inactive resource associated with the implementation resource in a pool 704-706 (FIG. 7) dedicated to the customer, eg, at an inactive implementation resource cost rate. It may be incurred by the customer with respect to time (“dedicated resource costs” or “non-activity costs”). In at least one embodiment, activity costs and dedicated resource costs are maintained separately in the customer's account and are clearly presented as separate items in the corresponding cost statement. Alternatively, activity costs and / or rates may be adjusted to account for the dedicated resource costs so that the cost details need not include items that clearly describe the dedicated resource costs. The cost plan (s) 1022 may include any suitable function of allocated, unassigned, active and / or inactive resource times, including appropriate linear functions and appropriate non-linear functions. .

例えば、アクティビティ費用および/またはレートは、顧客ごとに調整されてもよい。費用明細は、定期的に生成され、先に生成された費用明細から経過した期間(「費用明細期間」)の間に負担される費用をそれぞれ明細に記すことができる。特定の顧客によって負担されるアクティビティ費用および専用リソース費用は、その期間について決定されてもよく、アクティビティ費用および/またはレートはその期間について専用リソース費用を含むように調整される(例えば、増加される)。例えば、顧客が50個の仮想コンピュータシステム214(図2)をプロビジョニングし、その50個のそれぞれが専用実装リソースで実装されることを指定すると仮定する。それに応答して、リソース割り当て構成要素1008は、顧客によって要求される仮想コンピュータシステムのうちの16個を実装することがそれぞれ可能である、4個のVCSサーバ222を顧客に専用にし、よって、一般的な実装リソースプール702(図7)から64個のそのような仮想コンピュータシステムを実装する可能性が取り除かれる。更に、顧客のアカウント用の費用プラン(複数可)1022が、アクティブな専用リソース時間につき$0.10および非アクティブな専用リソース時間につき$0.05のベースレートを指定すると仮定する。1000時間を超える期間、顧客は、アクティブな費用について50x1000x$0.10=$5000および専用リソース費用について14x1000x$0.05=$700、合計$5700の費用を負担する。アクティブな費用および専用リソース費用について別個のアイテムを提示することに代えて、その期間についての費用明細は、50x1000x$0.114=$5700に対応する単一のアイテムを提示してもよい。すなわち、この例では、アクティブなリソース時間ごとの顧客のベースレートが、その期間についての合計費用をカバーするように調整される。   For example, activity costs and / or rates may be adjusted for each customer. Expense details are generated on a regular basis, and each expense can be noted in a period that has been incurred during a period elapsed from a previously generated expense detail (“expense detail period”). Activity costs and dedicated resource costs incurred by a particular customer may be determined for that period, and activity costs and / or rates are adjusted (eg, increased) to include dedicated resource costs for that period. ). For example, assume that a customer provisions 50 virtual computer systems 214 (FIG. 2) and specifies that each of the 50 is implemented with a dedicated implementation resource. In response, the resource allocation component 1008 dedicates four VCS servers 222 to the customer, each capable of implementing 16 of the virtual computer systems required by the customer, and thus general The possibility of implementing 64 such virtual computer systems from the typical implementation resource pool 702 (FIG. 7) is removed. Further assume that the cost plan (s) 1022 for a customer account specify a base rate of $ 0.10 per active dedicated resource time and $ 0.05 per inactive dedicated resource time. For periods exceeding 1000 hours, the customer will incur costs of 50x1000x $ 0.10 = $ 5000 for active costs and 14x1000x $ 0.05 = $ 700 for dedicated resource costs, for a total of $ 5700. Instead of presenting separate items for active costs and dedicated resource costs, the cost statement for that period may present a single item corresponding to 50x1000x $ 0.114 = $ 5700. That is, in this example, the customer base rate for each active resource hour is adjusted to cover the total cost for that period.

別の例として、アクティビティ費用および/またはレートは、仮想リソースの種類および/または専用実装リソースの種類ごとに調整されることができる。特定の種類の仮想リソースおよび/または専用実装リソースに対応するアクティビティ費用および専用リソース費用は、費用明細期間について決定され、アクティビティ費用および/またはレートはその期間についての専用リソース費用を含むように調整されることができる。例えば、仮想リソースプロバイダ206(図2)の顧客が、1つ以上の専用プール704、706(図7)内の専用実装リソースで実装される特定の種類の100万個のリソース割り当て単位に対応する仮想リソースを集合的にプロビジョニングし、更に、専用プロセスの一部として、その種類の他の2万個のリソース割り当て単位が、一般的な実装リソースプール702から遷移されたものの非アクティブのままであると仮定する。集合的には、仮想リソースプロバイダは、アクティブな専用リソース割り当て単位に対する非アクティブな専用リソース割り当て単位の割合(記号αを用いて本明細書中に示される「非アクティブな専用の割合」)、この例では2%を有する。非アクティブな専用の割合はまた、実装リソース利用量から決定されてもよい。更に、顧客が、アクティブな専用リソース時間(Cactive)につき$0.10および非アクティブな専用リソース時間(Cinactive)につき$0.05のベースレートを再び指定する共通の費用プランに従って費用を割り当てられると仮定する。アクティブな専用リソース時間(C’active)ごとの調整されたレートは、式:
C’active=Cactive+αCinactive
を用いて決定されることができ、すなわち、この例では、$0.10+2%x$0.05=$0.101である。
As another example, activity costs and / or rates can be adjusted for each virtual resource type and / or dedicated implementation resource type. Activity costs and dedicated resource costs corresponding to a particular type of virtual resource and / or dedicated implementation resource are determined for a cost detail period, and activity costs and / or rates are adjusted to include the dedicated resource cost for that period. Can. For example, a customer of virtual resource provider 206 (FIG. 2) corresponds to a specific type of 1 million resource allocation units implemented with dedicated implementation resources in one or more dedicated pools 704, 706 (FIG. 7). Virtual resources are provisioned collectively, and as part of a dedicated process, another 20,000 resource allocation units of that type have been transitioned from the general implementation resource pool 702 but remain inactive. Assume that Collectively, the virtual resource provider is responsible for the ratio of the inactive dedicated resource allocation unit to the active dedicated resource allocation unit (the “inactive dedicated ratio” indicated herein using the symbol α), this The example has 2%. The inactive dedicated percentage may also be determined from the implementation resource usage. Furthermore, assignment customers, the cost according to a common cost plan that specifies again base rate of active dedicated resources Time (C active) in per $ 0.10 and inactive dedicated resources Time (C: inactive) in per $ 0.05 Assume that The adjusted rate per active dedicated resource time ( C'active ) is the formula:
C 'active = C active + αC inactive
I.e., in this example $ 0.10 + 2% x $ 0.05 = $ 0.101.

専用リソース費用に関して明細を明らかにするための調整は、例えば、1つ以上の前の期間および/または1つ以上の後の期間内の予測リソース割り当て単位利用を含む、1組の期間に関して決定されてもよい。異なる顧客および/またはプロビジョニングされたリソース割り当て単位が異なる費用プランに関連付けられると、費用プランに対応する調整は異なってもよく、例えば、費用プランの種類、関連付けられた顧客の種類、利益性および/または異なるベースレートなどの費用プラン属性に少なくとも部分的に基づいて重み付けされてもよい。それに加えて、アクティビティ費用および/または専用リソース費用は、例えば図7の予約された実装リソースプール708などの予約された実装リソースプール内の実装リソースに対応するリソース割り当て単位に少なくとも部分的に基づいて修正されてもよい。例えば、アクティブなおよび/または非アクティブな専用リソース時間は、予約されたリソース時間によってオフセットされてもよいし、予約されたリソース時間に関連付けられた費用は、責任を負う顧客の費用明細上に別個のアイテムとして提示されてもよい。更にそれに加えて、費用プラン(複数可)1022は、段階的な費用および/またはリソース時間レート、例えば、(例えば、同じ種類の仮想リソースに関して)1組の増加する仮想リソース量閾値に対応する1組の減少する費用および/または1組の増加するリソース時間量閾値に対応する1組の減少するレート、を指定してもよい。なお更にそれに加えて、費用プラン(複数可)1022は、専用実装リソースプール704〜706の遷移プロシージャに関連付けられた費用を指定してもよい。   Adjustments to clarify the specification with respect to dedicated resource costs are determined for a set of periods, including, for example, predicted resource allocation unit utilization within one or more previous periods and / or one or more subsequent periods. May be. When different customers and / or provisioned resource allocation units are associated with different cost plans, the adjustments corresponding to the cost plans may be different, for example, cost plan type, associated customer type, profitability and / or Or it may be weighted based at least in part on cost plan attributes such as different base rates. In addition, activity costs and / or dedicated resource costs are based at least in part on resource allocation units corresponding to implementation resources in a reserved implementation resource pool, such as the reserved implementation resource pool 708 of FIG. It may be modified. For example, the active and / or inactive dedicated resource time may be offset by the reserved resource time, and the cost associated with the reserved resource time is separate on the responsible customer's expense statement. May be presented as an item. In addition to that, the cost plan (s) 1022 corresponds to a gradual cost and / or resource time rate, eg, 1 corresponding to a set of increasing virtual resource amount thresholds (eg, for the same type of virtual resources). A set of decreasing costs and / or a set of decreasing rates corresponding to a set of increasing resource time thresholds may be specified. Still further, cost plan (s) 1022 may specify costs associated with transition procedures of dedicated implementation resource pools 704-706.

ここで、少なくとも1つの実施形態によって実施され得るステップおよび/またはプロシージャ例に本記載を変える。図11は、少なくとも1つの実施形態による仮想プロビジョニングのためのステップ例を描写する。ステップ1102では、実装リソースプールは維持されることができる。例えば、リソース割り当て構成要素1008(図10)は、図7の一般的な実装リソースプール702(ステップ1104)および1つ以上の専用実装リソースプール704〜706(ステップ1106)を維持することができる。少なくとも1つの実施形態において、専用実装リソースプール704〜706の維持(maintenance)は、実装リソースに関する仮想リソース密度を最大にするような、および/または仮想リソース分布目標に向けて進むような、特定の専用プール内の実装リソース間の仮想リソースの移動を含む。しかしながら、専用実装リソースプール704〜706は、専用実装リソースを必要とする少なくとも1つの仮想リソースをプロビジョニングする前に確立され、および/または維持されることを必要としない。   Here, the description changes to examples of steps and / or procedures that may be performed by at least one embodiment. FIG. 11 depicts example steps for virtual provisioning according to at least one embodiment. In step 1102, an implementation resource pool can be maintained. For example, the resource allocation component 1008 (FIG. 10) can maintain the general implementation resource pool 702 (step 1104) and one or more dedicated implementation resource pools 704-706 (step 1106) of FIG. In at least one embodiment, the maintenance of dedicated implementation resource pools 704-706 is specific to maximize virtual resource density for implementation resources and / or proceed toward virtual resource distribution goals. Includes the movement of virtual resources between implemented resources in a dedicated pool. However, dedicated implementation resource pools 704-706 do not need to be established and / or maintained prior to provisioning at least one virtual resource that requires dedicated implementation resources.

ステップ1108では、仮想リソースプロビジョニング要求が受信されることができる。例えば、プロビジョニングインタフェース1004(図10)は、仮想リソースプロバイダ206の顧客のクライアントとの相互作用に応答するクライアント202〜204(図2)のうちの1つから仮想リソースプロビジョニング要求を受信することができる。仮想リソースプロビジョニング要求は、1組の実装リソース制約を組み込むおよび/または参照することができる。例えば、その組の実装リソース制約は、仮想リソース密度および/または仮想リソース分布に関する制約、特定の種類の実装リソースが顧客の仮想リソースに専用になることを含む専用実装リソースに関する制約、ならびに地理的配置などの実装リソース属性に関する制約を含んでもよい。ステップ1110では、ステップ1108で要求された仮想リソースを実装するために必要とされた1組の実装リソースが、決定されることができる。例えば、リソース割り当て構成要素1008は、その組の実装リソース制約を含む仮想リソースプロビジョニング要求の1つ以上のパラメータおよび/または属性に少なくとも部分的に基づいて、必要とされた組の実装リソースを決定してもよい。   In step 1108, a virtual resource provisioning request can be received. For example, the provisioning interface 1004 (FIG. 10) may receive a virtual resource provisioning request from one of the clients 202-204 (FIG. 2) that responds to the interaction of the virtual resource provider 206 with a customer client. . A virtual resource provisioning request can incorporate and / or reference a set of implementation resource constraints. For example, the set of implementation resource constraints may include constraints on virtual resource density and / or distribution of virtual resources, constraints on dedicated implementation resources, including certain types of implementation resources dedicated to customer virtual resources, and geographic placement Constraints related to implementation resource attributes such as In step 1110, a set of implementation resources needed to implement the virtual resource requested in step 1108 can be determined. For example, the resource allocation component 1008 determines a required set of implementation resources based at least in part on one or more parameters and / or attributes of a virtual resource provisioning request that includes the set of implementation resource constraints. May be.

ステップ1112では、ステップ1110で決定されたその組の必要とされた実装リソースが利用可能であるかどうかを決定することができる。例えば、リソース割り当て構成要素1008は、一般的なプール702(図7)および専用プール704、706内の実装リソースの利用可能性を追跡し、その組の必要とされた実装リソースを利用可能な実装リソースインベントリと比較してもよい。その組の必要とされた実装リソースのそれぞれが利用可能である場合、ステップ1112を組み込んでいるプロシージャは、ステップ1114に進むことができる。それ以外の場合、プロシージャはステップ1116に進むことができ、そのステップでは、利用可能性の問題が、ステップ1108で受信されたプロビジョニング要求を送信した相手方に報告され得る。   In step 1112, it can be determined whether the set of required implementation resources determined in step 1110 is available. For example, the resource allocation component 1008 tracks the availability of implementation resources in the general pool 702 (FIG. 7) and the dedicated pools 704, 706, and the implementations available to the set of required implementation resources. It may be compared with the resource inventory. If each of the set of required implementation resources is available, the procedure incorporating step 1112 can proceed to step 1114. Otherwise, the procedure may proceed to step 1116, where an availability issue may be reported to the other party who sent the provisioning request received at step 1108.

ステップ1114では、その1組の必要とされた実装リソースが割り当てられることができる。例えば、リソース割り当て構成要素1008(図10)は、必要に応じて、利用可能な実装リソースインベントリおよびプール702〜706(図7)間の遷移実装リソースを更新することができる。リソース割り当て構成要素1008は、その組の実装リソース制約に従って利用可能な実装リソースの中から選択することができる。例えば、リソース割り当て構成要素1008は、目標地理的分離を指定する制約を満たす地理的分離を伴う実装リソースを選択することができる。その組の実装リソース制約が仮想リソース分布目標を指定し、および/または参照する制約を含む場合、リソース割り当て構成要素1008は、仮想リソース分布目標に従って分布構成要素1016の選択を呼び出しおよび/または実装リソースを再割り当てすることができる。その組の必要とされた実装リソースが専用実装リソースを含む場合、分布構成要素1016は、実装リソース仮想リソース容量および/または仮想リソース分布目標を考慮しながら、仮想リソース密度を最大にするように更に試みてもよい。   In step 1114, the set of required implementation resources can be allocated. For example, resource allocation component 1008 (FIG. 10) can update available implementation resource inventory and transition implementation resources between pools 702-706 (FIG. 7) as needed. The resource allocation component 1008 can select among available implementation resources according to the set of implementation resource constraints. For example, the resource allocation component 1008 can select an implementation resource with a geographic separation that satisfies a constraint that specifies the target geographic separation. If the set of implementation resource constraints includes a constraint that specifies and / or references a virtual resource distribution goal, the resource allocation component 1008 invokes the selection of the distribution component 1016 according to the virtual resource distribution goal and / or the implementation resource. Can be reassigned. If the set of required implementation resources includes dedicated implementation resources, the distribution component 1016 can further increase the virtual resource density while taking into account the implementation resource virtual resource capacity and / or the virtual resource distribution goal. You may try.

ステップ1118では、要求された仮想リソースが、ステップ1114で割り当てられたその組の必要とされた実装リソースでプロビジョニングされることができる。例えば、ステップ1114のリソース割り当てが成功したという通知をリソース割り当て構成要素1008から受信すると、プロビジョニングインタフェース1004は、適切なプロビジョニングワークフローを生成することができる。   In step 1118, the requested virtual resource can be provisioned with the set of required implementation resources allocated in step 1114. For example, upon receiving a notification from the resource allocation component 1008 that the resource allocation of step 1114 was successful, the provisioning interface 1004 can generate an appropriate provisioning workflow.

図12は、少なくとも1つの実施形態による実装リソースの利用可能性を決定するステップ例を描写する。ステップ1202では、利用可能性についてチェックされる次の(例えば、第1の)実装リソースが、1組の必要とされた実装リソースから選択されることができる。例えば、リソース割り当て構成要素1008(図10)は、図11のステップ1110で決定されたその組の必要とされた実装リソースから次の実装リソースを選択することができる。ステップ1204では、選択された実装リソースの割り当てが仮想リソースプロバイダ206(図2)の1つ以上のリソース割り当てビジネスポリシーに違反するかどうかについて決定されることができる。例えば、ビジネスポリシー実施構成要素1014は、その組のリソース割り当てビジネスポリシーに関して選択された実装リソース割り当てを評価することができる。図12を参照にして記載されたこの例では、ステップ1204が、その組の必要とされた実装リソース内の各実装リソースのために実行される。あるいは、またはそれに加えて、ステップ1204の決定は、その組の必要とされた実装リソース全体のために1度実行されることができる。   FIG. 12 depicts example steps for determining availability of implementation resources according to at least one embodiment. In step 1202, the next (eg, first) implementation resource to be checked for availability may be selected from a set of required implementation resources. For example, resource allocation component 1008 (FIG. 10) can select the next implementation resource from the set of required implementation resources determined in step 1110 of FIG. At step 1204, a determination may be made as to whether the selected implementation resource assignment violates one or more resource assignment business policies of the virtual resource provider 206 (FIG. 2). For example, the business policy enforcement component 1014 can evaluate selected implementation resource assignments for the set of resource assignment business policies. In this example described with reference to FIG. 12, step 1204 is performed for each implementation resource in the set of required implementation resources. Alternatively, or in addition, the determination of step 1204 can be performed once for the entire set of required implementation resources.

ステップ1206では、ステップ1202で選択された実装リソースを割り当てる試みが行われてもよい(「事前割り当てチェック」)。例えば、リソース割り当て構成要素1008(図10)は、選択された実装リソースに一致する種類の割り当てられていない実装リソースを求めて適切な実装リソースプール702〜706(図7)を検索してもよい。実際の割り当ては、(データベース理論の意味での)アトミックな割り当てトランザクションを保証するために(例えば、図11のステップ1114に)遅らされてもよい。あるいは、可能であれば部分的な割り当てが許可されることができ、および/またはステップ1206は選択された実装リソースを割り当てることができる。ステップ1208では、ステップ1206の割り当ての試みが成功したかどうかについて決定されることができる。成功した場合、ステップ1208を組み込んでいるプロシージャは、ステップ1210に進むことができる。そうではない場合、プロシージャは、少なくとも1つの実装リソースが利用可能ではないことを示す状態1212を伴う図12に示されていない1つ以上のステップ(例えば、図11のステップ1116)に進むことができる。   At step 1206, an attempt may be made to allocate the implementation resources selected at step 1202 ("pre-allocation check"). For example, the resource allocation component 1008 (FIG. 10) may search the appropriate implementation resource pools 702-706 (FIG. 7) for unassigned implementation resources of a type that matches the selected implementation resource. . The actual assignment may be delayed (eg, to step 1114 in FIG. 11) to guarantee an atomic assignment transaction (in the database theory sense). Alternatively, partial assignments can be allowed if possible, and / or step 1206 can assign selected implementation resources. At step 1208, a determination can be made as to whether the assignment attempt of step 1206 was successful. If successful, the procedure incorporating step 1208 can proceed to step 1210. Otherwise, the procedure proceeds to one or more steps not shown in FIG. 12 (eg, step 1116 of FIG. 11) with a state 1212 indicating that at least one implementation resource is not available. it can.

ステップ1210では、その組の必要とされた実装リソースにおいてチェックされる実装リソースが更にあるかどうかについて決定されることができる。そうである場合、プロシージャは、ステップ1202に進むことができる。そうではない場合、プロシージャは、その組の必要とされた実装リソースのそれぞれが利用可能であることを示す状態1214を伴う図12に示されていない1つ以上のステップ(例えば、図11のステップ1114)に進むことができる。   In step 1210, a determination can be made as to whether there are more implementation resources to be checked in the set of required implementation resources. If so, the procedure can proceed to step 1202. If not, the procedure may include one or more steps not shown in FIG. 12 (eg, steps of FIG. 11) with a state 1214 indicating that each of the set of required implementation resources is available. 1114).

図13は、少なくとも1つの実施形態による実装リソースを割り当てるおよび/または割り当てることを試みるステップ例を描写する。例えば、図13のステップは、図11のステップ1112またはステップ1114および/または図12のステップ1206に組み込まれることができる。ステップ1302では、割り当てられる実装リソース(「割り当て候補」)が、特定の専用実装リソースプールから割り当てられるかどうかについて決定されることができる。例えば、図11のステップ1110で決定されたその組の実装リソースは、図7の専用実装リソースプール706から割り当てられる1組の実装リソースを含むことができ、および、割り当て候補はそれらの実装リソースのうちの1つであることができ、ならびに/あるいはリソース割り当て構成要素1008(図10)は、図11のステップ1108で受信された仮想リソースプロビジョニング要求に関連付けられた1つ以上の専用実装リソース制約を識別することができる。割り当て候補が、専用実装リソースプール704〜706のうちの1つから割り当てられる場合、ステップ1302を組み込んでいるプロシージャは、ステップ1304に進むことができる。そうではない場合、プロシージャは、ステップ1306に進むことができる。   FIG. 13 depicts example steps for assigning and / or attempting to assign implementation resources according to at least one embodiment. For example, the steps of FIG. 13 can be incorporated into step 1112 or step 1114 of FIG. 11 and / or step 1206 of FIG. In step 1302, it can be determined whether the allocated implementation resources (“assignment candidates”) are allocated from a particular dedicated implementation resource pool. For example, the set of implementation resources determined in step 1110 of FIG. 11 may include a set of implementation resources allocated from the dedicated implementation resource pool 706 of FIG. And / or resource allocation component 1008 (FIG. 10) may include one or more dedicated implementation resource constraints associated with the virtual resource provisioning request received at step 1108 of FIG. Can be identified. If the assignment candidate is assigned from one of the dedicated implementation resource pools 704-706, the procedure incorporating step 1302 can proceed to step 1304. If not, the procedure can proceed to step 1306.

ステップ1306では、割り当て候補に一致する実装リソースが、一般的な実装リソースプール702(図7)において利用可能であるか(例えば、割り当てられていないか)どうかについて決定されることができる。例えば、リソース割り当て構成要素1008(図10)は、割り当て候補に一致する種類の割り当てられていない実装リソースを求めて一般的な実装リソースプール702を検索することができる。割り当て候補が一般的な実装リソースプール702内で利用可能である場合、プロシージャは、ステップ1308に進むことができる。そうではない場合、プロシージャは、割り当て候補が割り当てられなかったことを示す状態1310を伴う図13に示されていない1つ以上のステップ、例えば図11のステップ1116、に進むことができる。ステップ1308では、割り当て候補は、一般的な実装リソースプール702から割り当てられることができる。例えば、リソース割り当て構成要素1008(図10)は、ステップ1306で見つけられた一般的なプール702実装リソースを関連付けられた仮想リソース(例えば、図11のステップ1108のプロビジョニング要求に関連付けられた仮想リソース)に割り当てられたとして記録することができる。   In step 1306, a determination can be made as to whether implementation resources that match the allocation candidates are available (eg, not allocated) in the general implementation resource pool 702 (FIG. 7). For example, the resource allocation component 1008 (FIG. 10) can search the general implementation resource pool 702 for unallocated implementation resources of a type that matches the allocation candidates. If assignment candidates are available in the general implementation resource pool 702, the procedure can proceed to step 1308. Otherwise, the procedure may proceed to one or more steps not shown in FIG. 13 with a state 1310 indicating that no assignment candidate has been assigned, eg, step 1116 of FIG. In step 1308, assignment candidates can be assigned from a general implementation resource pool 702. For example, the resource allocation component 1008 (FIG. 10) may be a virtual resource associated with the general pool 702 implementation resource found in step 1306 (eg, a virtual resource associated with the provisioning request in step 1108 of FIG. 11). Can be recorded as assigned.

ステップ1304では、割り当て候補に一致する実装リソースが、ステップ1302で決定された特定の専用実装リソースプール(「候補専用プール」)において利用可能であるかどうかについて決定されることができる。例えば、リソース割り当て構成要素1008(図10)は、割り当て候補に一致する種類の割り当てられていない実装リソースを求めて専用実装リソースプール706(図7)を検索することができる。割り当て候補が候補専用プールにおいて利用可能である場合、プロシージャはステップ1312に進むことができる。そうではない場合、プロシージャは、ステップ1314に進むことができる。ステップ1312では、割り当て候補は、候補専用プールから割り当てられることができる。例えば、リソース割り当て構成要素1008は、ステップ1304で見つけられた専用プール706実装リソースを関連付けられた仮想リソースに割り当てられたとして記録することができる。   At step 1304, a determination can be made as to whether an implementation resource that matches the allocation candidate is available in the particular dedicated implementation resource pool determined in step 1302 (“candidate dedicated pool”). For example, the resource allocation component 1008 (FIG. 10) can search the dedicated mounting resource pool 706 (FIG. 7) for unassigned mounting resources of a type that matches the allocation candidates. If the allocation candidate is available in the candidate-only pool, the procedure can proceed to step 1312. If not, the procedure can proceed to step 1314. In step 1312, assignment candidates can be assigned from a candidate dedicated pool. For example, resource allocation component 1008 can record the dedicated pool 706 implemented resource found in step 1304 as being allocated to the associated virtual resource.

割り当て候補が候補専用プールにおいて現在利用可能ではないことが決定された場合、ステップ1314では、候補専用プールが拡張可能であるかどうかについて更に決定されることができる。例えば、専用リソースプール構成要素1012(図10)は、関連付けられた費用プラン(複数可)1022をチェックし、および/またはビジネスポリシー実施構成要素1014による候補専用プールの拡張の評価を要求することができる。候補専用プールが拡張可能である場合、プロシージャはステップ1316に進むことができ、そうではない場合、プロシージャは、割り当て候補が割り当てられなかったことを示す状態1310を伴う図13に示されていない1つ以上のステップ、例えば図11のステップ1116に進むことができる。   If it is determined that the allocation candidate is not currently available in the candidate-only pool, then in step 1314, it can be further determined whether the candidate-only pool is expandable. For example, the dedicated resource pool component 1012 (FIG. 10) may check the associated cost plan (s) 1022 and / or request an evaluation of the expansion of the candidate dedicated pool by the business policy enforcement component 1014. it can. If the candidate private pool is expandable, the procedure can proceed to step 1316; otherwise, the procedure is not shown in FIG. 13 with state 1310 indicating that no assignment candidate was assigned. One can proceed to more than one step, eg, step 1116 of FIG.

ステップ1316では、例えばステップ1306について上記したように、割り当て候補に一致する実装リソースが、一般的な実装リソースプール702(図7)において利用可能であるかどうかについて決定されることができる。そうである場合、プロシージャはステップ1318に進むことができる。そうではない場合、プロシージャは、割り当て候補が割り当てられなかったことを示す状態1310を伴う図13に示されていない1つ以上のステップ、例えば図11のステップ1116、に進むことができる。ステップ1318では、ステップ1316で見つけられた実装リソースが、候補専用プールに遷移されることができる(および/または遷移が開始されることができる)。例えば、専用リソースプール構成要素1012は、プール遷移構成要素1018にステップ1316で見つけられた一般的なプール702実装リソースを遷移させることを要求してもよい。遷移された実装リソースは、ステップ1312について上記したように割り当てられることができる。図13のステップが事前割り当てチェックの一部として実行されると、ステップ1308、ステップ1312およびステップ1318が省略され、および/または「リソース利用可能」状態に対応することができる。   In step 1316, as described above for example in step 1306, a determination can be made as to whether a mounting resource that matches the allocation candidate is available in the general mounting resource pool 702 (FIG. 7). If so, the procedure can proceed to step 1318. Otherwise, the procedure may proceed to one or more steps not shown in FIG. 13 with a state 1310 indicating that no assignment candidate has been assigned, eg, step 1116 of FIG. In step 1318, the implementation resources found in step 1316 can be transitioned to a candidate-only pool (and / or a transition can be initiated). For example, the dedicated resource pool component 1012 may request the pool transition component 1018 to transition the general pool 702 implementation resource found at step 1316. The transitioned implementation resources can be allocated as described above for step 1312. If the steps of FIG. 13 are performed as part of a pre-allocation check, steps 1308, 1312 and 1318 may be omitted and / or correspond to a “resource available” state.

図11のステップ1110で決定されたその組の実装リソースが、その時点でまだ存在していない専用実装リソースプールから割り当てられる1組の実装リソースを含む可能性がある。この場合、専用リソースプール構成要素1012(図10)は、割り当てられるその組の実装リソースを含む新たな専用実装リソースプールを確立することができる。図14は、少なくとも1つの実施形態による専用実装リソースプールを確立するステップ例を描写する。ステップ1402では、新たな専用実装リソースプールを確立するための要求(「新たな専用プール要求」)が受信されることができる。例えば、専用リソースプール構成要素1012は、図11のステップ1108の仮想リソースプロビジョニング要求に応答する要求を受信することができる。   The set of implementation resources determined in step 1110 of FIG. 11 may include a set of implementation resources allocated from a dedicated implementation resource pool that does not yet exist at that time. In this case, the dedicated resource pool component 1012 (FIG. 10) can establish a new dedicated implementation resource pool that includes the set of implementation resources to be allocated. FIG. 14 depicts example steps for establishing a dedicated implementation resource pool in accordance with at least one embodiment. In step 1402, a request to establish a new dedicated implementation resource pool ("new dedicated pool request") can be received. For example, the dedicated resource pool component 1012 can receive a request in response to the virtual resource provisioning request of step 1108 of FIG.

ステップ1404では、新たな専用プール要求が、1組の実装リソースにマップされることができる。新たな専用プール要求は、新たな専用実装リソースプールに追加される1組の実装リソースを明確に指定することができる。あるいは、またはそれに加えて、新たな専用プール要求は、専用実装リソースで実装される1組の仮想リソースを指定することができ、および専用リソースプール構成要素1012(図10)は、その組の仮想リソースをその組の実装リソースにマップすることができる。   In step 1404, a new dedicated pool request can be mapped to a set of implementation resources. The new dedicated pool request can clearly specify a set of implementation resources to be added to the new dedicated implementation resource pool. Alternatively, or in addition, a new dedicated pool request can specify a set of virtual resources to be implemented with a dedicated implementation resource, and the dedicated resource pool component 1012 (FIG. 10) A resource can be mapped to its set of implementation resources.

ステップ1406では、新たな専用プール要求が、その組のリソース割り当てビジネスポリシーに関して、例えばビジネスポリシー実施構成要素1014(図10)によって、評価されることができる。ステップ1408では、新たな専用プール要求が、ステップ1406の評価に少なくとも部分的に基づくその組のリソース割り当てビジネスポリシーに従うかどうかについて決定されることができる。そうである場合、ステップ1408を組み込んでいるプロシージャは、ステップ1410に進むことができる。そうではない場合、ステップ1412では、その問題が要求元に報告されることができる。   In step 1406, a new dedicated pool request can be evaluated with respect to the set of resource allocation business policies, for example, by business policy enforcement component 1014 (FIG. 10). At step 1408, a determination may be made as to whether the new dedicated pool request follows the set of resource allocation business policies based at least in part on the evaluation of step 1406. If so, the procedure incorporating step 1408 can proceed to step 1410. If not, at step 1412 the problem can be reported to the requestor.

ステップ1410では、例えば図13のステップ1316について上記したように、ステップ1404で取得されたその組の実装リソースが一般的な実装リソースプール702(図2)において利用可能であるかどうかについて決定されることができる。そうである場合、プロシージャは、ステップ1414に進むことができる。そうではない場合、プロシージャは、その問題を要求元に報告するためにステップ1412に進むことができる。ステップ1414では、新たな専用実装リソースプールが、例えば専用リソースプール構成要素1012(図10)によって、その組の専用実装リソースプール704〜706(図7)に追加されることができる。ステップ1416では、一般的な実装リソースプール702において利用可能として識別されたその組の実装リソースが、新たな専用実装リソースプールに遷移されることができる。   In step 1410, a determination is made as to whether the set of implementation resources obtained in step 1404 is available in the general implementation resource pool 702 (FIG. 2), eg, as described above for step 1316 of FIG. be able to. If so, the procedure can proceed to step 1414. If not, the procedure can proceed to step 1412 to report the problem to the requestor. In step 1414, a new dedicated implementation resource pool can be added to the set of dedicated implementation resource pools 704-706 (FIG. 7), for example by the dedicated resource pool component 1012 (FIG. 10). In step 1416, the set of implementation resources identified as available in the general implementation resource pool 702 can be transitioned to a new dedicated implementation resource pool.

図10を参照にして上記したように、専用実装リソースプールは、非アクティブな専用実装リソースバッファで確立されることができる。図15は、少なくとも1つの実施形態による非アクティブな専用実装リソースバッファを維持するステップ例を描写する。ステップ1502では、専用プール利用データが収集されることができる。例えば、プール利用構成要素1020は、専用実装リソースプール706(図7)におけるアクティビティおよび/または非アクティビティのレベルを監視することができる。ステップ1504では、例えばプール利用構成要素1020によって、ステップ1502で収集された専用プール利用データに少なくとも部分的に基づいてこの後の専用プールの利用が予測されることができる。   As described above with reference to FIG. 10, a dedicated implementation resource pool can be established with an inactive dedicated implementation resource buffer. FIG. 15 depicts example steps for maintaining an inactive dedicated implementation resource buffer in accordance with at least one embodiment. In step 1502, dedicated pool usage data can be collected. For example, the pool usage component 1020 can monitor the level of activity and / or inactivity in the dedicated implementation resource pool 706 (FIG. 7). In step 1504, subsequent use of the dedicated pool can be predicted based at least in part on the dedicated pool usage data collected in step 1502, for example, by the pool usage component 1020.

ステップ1506では、現行の非アクティブな専用実装リソースバッファが十分であるかどうかについて決定されることができる。例えば、プール利用構成要素1020は、専用実装リソースプール706(図7)における非アクティビティの予測レベルを専用実装リソースプール706についての非アクティビティの目標レベルおよび/または最小の非アクティビティバッファ閾値と比較することができる。現行のバッファが十分である場合(例えば、非アクティビティの予測レベルが最小の非アクティビティバッファ閾値を満たすまたは超える)、ステップ1506を組み込んでいるプロシージャは、ステップ1508に進むことができる。そうではない場合、プロシージャは、ステップ1510に進むことができる。ステップ1510では、1つ以上の実装リソースが、一般的な実装リソースプール702から(例えば、一般的な実装リソースプール702の予約された部分708から)専用実装リソースプール706に遷移されることができる。例えば、プール利用構成要素1020は、予測バッファが十分であるように、プール遷移構成要素1018に十分な実装リソースを専用実装リソースプール706に遷移することを要求することができる。   At step 1506, a determination can be made as to whether the current inactive dedicated implementation resource buffer is sufficient. For example, the pool usage component 1020 may compare the inactivity predicted level in the dedicated implementation resource pool 706 (FIG. 7) with the inactivity target level and / or the minimum inactivity buffer threshold for the dedicated implementation resource pool 706. Can do. If the current buffer is sufficient (eg, the predicted level of inactivity meets or exceeds the minimum inactivity buffer threshold), the procedure incorporating step 1506 may proceed to step 1508. Otherwise, the procedure can proceed to step 1510. In step 1510, one or more implementation resources can be transitioned from the general implementation resource pool 702 (eg, from a reserved portion 708 of the general implementation resource pool 702) to a dedicated implementation resource pool 706. . For example, the pool usage component 1020 can request the pool transition component 1018 to transition sufficient implementation resources to the dedicated implementation resource pool 706 so that the prediction buffer is sufficient.

ステップ1508では、現行の非アクティブな専用実装リソースバッファが過度であるかどうかについて決定されることができる。例えば、プール利用構成要素1020は、専用実装リソースプール706(図7)における非アクティビティの予測レベルを専用実装リソースプール706についての非アクティビティの目標レベルおよび/または最大の非アクティビティバッファ閾値と比較することができる。現行のバッファが過度である(例えば、非アクティビティの予測レベルが最大の非アクティビティバッファ閾値を超える)場合、プロシージャは、ステップ1512に進むことができる。そうではない場合、プロシージャは、より多くのデータを収集するためにステップ1502に進むことができる。ステップ1512では、1つ以上の実装リソースが、専用実装リソースプール706から一般的な実装リソースプール702に(例えば、一般的な実装リソースプール702の予約された部分708に)遷移されることができる。例えば、プール利用構成要素1020は、非アクティビティの予測レベルが専用実装リソースプール706についての非アクティビティの目標レベルに対応するように、プール遷移構成要素1018に十分な実装リソースを一般的な実装リソースプール706に遷移することを要求することができる。   In step 1508, a determination may be made as to whether the current inactive dedicated implementation resource buffer is excessive. For example, the pool usage component 1020 compares the predicted inactivity level in the dedicated implementation resource pool 706 (FIG. 7) with the target level of inactivity and / or the maximum inactivity buffer threshold for the dedicated implementation resource pool 706. Can do. If the current buffer is excessive (eg, the predicted level of inactivity exceeds the maximum inactivity buffer threshold), the procedure can proceed to step 1512. If not, the procedure can proceed to step 1502 to collect more data. In step 1512, one or more implementation resources can be transitioned from a dedicated implementation resource pool 706 to a general implementation resource pool 702 (eg, to a reserved portion 708 of the general implementation resource pool 702). . For example, the pool usage component 1020 can allocate sufficient implementation resources to the pool transition component 1018 for the general implementation resource pool so that the predicted level of inactivity corresponds to the target level of inactivity for the dedicated implementation resource pool 706. A transition to 706 can be requested.

プロビジョニングされた仮想リソースを維持することに関連付けられた費用は、仮想リソースプロバイダ206の管理者および/または顧客によって指定される費用提示スケジュールに従って仮想リソースプロバイダ206(図2)の責任を負う顧客に提示されることができる。図16は、少なくとも1つの実施形態による費用を追跡するステップ例を描写する。ステップ1602では、1組の仮想リソースが、ある期間に維持されることができる。例えば、仮想リソースプロバイダ206は、特定の顧客のための1組の仮想リソース212をその期間に維持することができる。   Costs associated with maintaining provisioned virtual resources are presented to the customer responsible for virtual resource provider 206 (FIG. 2) according to a cost presentation schedule specified by the administrator and / or customer of virtual resource provider 206. Can be done. FIG. 16 depicts example steps for tracking costs according to at least one embodiment. In step 1602, a set of virtual resources can be maintained for a period of time. For example, the virtual resource provider 206 can maintain a set of virtual resources 212 for a particular customer during that period.

ステップ1604では、ステップ1602で維持されたその組の仮想リソースに対応する1つ以上のアクティブな実装リソース利用量が、決定されることができる。例えば、図10のアカウンティング構成要素1010は、その期間にその組の仮想リソースのそれぞれに関連付けられたアクティブなリソース時間の数を決定することができる。ステップ1606では、ステップ1602で維持されたその組の仮想リソースに対応する1つ以上の非アクティブな実装リソース利用量が、決定されることができる。例えば、アカウンティング構成要素1010は、その期間にその組の仮想リソースのそれぞれに関連付けられた非アクティブなリソース時間の数を決定することができる。   In step 1604, one or more active implemented resource usages corresponding to the set of virtual resources maintained in step 1602 can be determined. For example, the accounting component 1010 of FIG. 10 can determine the number of active resource hours associated with each of the set of virtual resources during the period. In step 1606, one or more inactive implemented resource usages corresponding to the set of virtual resources maintained in step 1602 can be determined. For example, the accounting component 1010 can determine the number of inactive resource hours associated with each of the set of virtual resources during the period.

ステップ1608では、その組の仮想リソースが、1組の予約された仮想リソースに関連付けられているかどうかについて決定されることができる。例えば、顧客は、プロビジョニングインタフェース1004(図10)でその組の予約された仮想リソースをプロビジョニングし、および/またはその組の予約された仮想リソースをステップ1602で維持され、以前にプロビジョニングされた組の仮想リソースに関連付けることができる。費用が決定されているその組の仮想リソースに関連付けられた予約された仮想リソースがある場合、ステップ1608を組み込んでいるプロシージャは、ステップ1610に進むことができる。そうではない場合、プロシージャはステップ1612に進むことができる。ステップ1610では、その組の予約された仮想リソースが、1つ以上の予約された実装リソース利用量に対してマップされることができる。例えば、図10のアカウンティング構成要素1010は、その組の予約された仮想リソースのそれぞれに関連付けられた予約されたリソース時間の数を決定することができる。   In step 1608, a determination may be made as to whether the set of virtual resources is associated with a set of reserved virtual resources. For example, the customer provisions the set of reserved virtual resources at the provisioning interface 1004 (FIG. 10) and / or maintains the set of reserved virtual resources at step 1602 and sets the previously provisioned set of virtual resources. Can be associated with a virtual resource. If there are reserved virtual resources associated with the set of virtual resources for which the cost has been determined, the procedure incorporating step 1608 can proceed to step 1610. If not, the procedure can proceed to step 1612. In step 1610, the set of reserved virtual resources can be mapped to one or more reserved implemented resource usage. For example, the accounting component 1010 of FIG. 10 can determine the number of reserved resource times associated with each of the set of reserved virtual resources.

ステップ1612では、1つ以上の費用が、顧客および/またはその組の仮想リソースに関連付けられた1つ以上の費用プランに従って決定されることができる。例えば、アカウンティング構成要素1010(図10)は、費用プラン(複数可)1022ならびに/あるいはステップ1604、ステップ1606および/またはステップ1610でそれぞれ決定されたアクティブな、非アクティブなおよび/または予約された実装リソース利用量に少なくとも部分的に基づいて費用(複数可)を決定することができる。ステップ1614では、ステップ1612で決定された費用(複数可)が、顧客に提示されることができる。例えば、アカウンティング構成要素1010は、アカウントUI1024でアクセス可能な1つ以上の費用の提示を生成することができる。   At step 1612, one or more costs may be determined according to one or more cost plans associated with the customer and / or the set of virtual resources. For example, accounting component 1010 (FIG. 10) may include cost plan (s) 1022 and / or active, inactive and / or reserved implementations determined at step 1604, step 1606 and / or step 1610, respectively. The cost (s) can be determined based at least in part on the resource usage. In step 1614, the cost (s) determined in step 1612 can be presented to the customer. For example, the accounting component 1010 can generate an offer of one or more costs accessible at the account UI 1024.

図10を参照にして上記したように、制御プレーン1002は、ワークフロー構成要素1006によって維持された1つ以上のワークフローにより容易にされることができる。図17は、少なくとも1つの実施形態によるワークフローのためのステップ例を描写する。ステップ1702では、要求が、制御プレーン1002(図10)のインタフェースによって受信されることができる。例えば、制御プレーン1002のプロビジョニングインタフェース1004および/またはアカウントUI1024は、仮想リソースプロバイダ206の顧客および/または管理者から要求を受信することができる。要求は、例えばシンプルオブジェクトアクセスプロトコル(SOAP)呼び出しを利用する、アプリケーションプログラミングインタフェース(API)またはウェブサービスインタフェースなどのプログラム的なインタフェースに対する呼び出しであることができる。あるいは、またはそれに加えて、要求は、ウェブベースGUIなどのグラフィカルユーザインタフェース(GUI)経由で受信されることができる。ステップ1704では、要求を成功裏に完了するために必要とされる1つ以上のアクションを決定するように要求が分析されることができる。例えば、プロビジョニングインタフェース208は、要求を分析し、1組の仮想リソースをプロビジョニングするために必要とされる1組のアクションを決定することができる。要求を受信するインタフェース要素が、実行される特定のアクションに対応する場合、インタフェースは、実行されるアクションの態様および/またはパラメータの決定に利用される要求から情報を引き出すことができる。   As described above with reference to FIG. 10, the control plane 1002 can be facilitated by one or more workflows maintained by the workflow component 1006. FIG. 17 depicts example steps for a workflow according to at least one embodiment. In step 1702, the request can be received by the interface of the control plane 1002 (FIG. 10). For example, the provisioning interface 1004 and / or account UI 1024 of the control plane 1002 can receive requests from customers and / or administrators of the virtual resource provider 206. The request can be a call to a programmatic interface, such as an application programming interface (API) or web service interface, utilizing, for example, a simple object access protocol (SOAP) call. Alternatively or in addition, the request can be received via a graphical user interface (GUI), such as a web-based GUI. In step 1704, the request can be analyzed to determine one or more actions that are required to successfully complete the request. For example, the provisioning interface 208 can analyze the request and determine a set of actions required to provision a set of virtual resources. If the interface element that receives the request corresponds to a particular action to be performed, the interface can derive information from the request that is used to determine the aspect and / or parameters of the action to be performed.

ステップ1706では、要求が、ステップ1704で決定された1つ以上のアクションに少なくとも部分的に基づいてワークフローを生成するために送信されることができる。例えば、プロビジョニングインタフェース1004(図10)は、要求をワークフロー構成要素1006に送信することができる。ワークフローを生成するための要求は、アクション(複数可)、アクションの種類などのアクションメタデータ、および/またはアクションパラメータを含むことができる。少なくとも1つの実施形態において、制御プレーン1002および/またはワークフロー構成要素1006はそのような要求に対するジョブ待ち行列を維持し、ジョブ待ち行列に対する新たな追加に応答するワークフローが生成される。ステップ1708では、ワークフローおよび1つ以上の構成要素タスクが生成されることができる。例えば、ワークフロー構成要素1006は、生成する適切なワークフローおよび構成要素タスクを決定するためにステップ1706の要求を分析することができる。   In step 1706, a request can be sent to generate a workflow based at least in part on the one or more actions determined in step 1704. For example, provisioning interface 1004 (FIG. 10) can send a request to workflow component 1006. The request to generate a workflow can include action (s), action metadata such as action type, and / or action parameters. In at least one embodiment, control plane 1002 and / or workflow component 1006 maintains a job queue for such requests and a workflow is generated that responds to new additions to the job queue. In step 1708, a workflow and one or more component tasks can be generated. For example, the workflow component 1006 can analyze the request of step 1706 to determine the appropriate workflow and component tasks to generate.

ステップ1710では、構成要素タスク(複数可)の実行が、ワークフローに従って導かれることができる。例えば、ワークフロー構成要素1006(図10)は、その組の仮想リソースをプロビジョニングするために実装リソース220(図2)のインタフェースの要素をアクティブにすることができる。あるいは、またはそれに加えて、ワークフロー構成要素1006は、仮想リソースプロバイダ206の構成要素によって構成要素タスク(複数可)の実行のためのビッド(bid)を管理することができる。ステップ1712では、ワークフローが終了しているかどうかについて決定されることができる。例えば、ワークフロー構成要素1006は、ワークフローによって管理されるタスクのシーケンス内の最後のタスクが完了しているかどうかについて決定することができる。そうである場合、ステップ1712を組み込んでいるプロシージャは、ステップ1714に進むことができる。そうではない場合、プロシージャは、次のタスクおよび/またはタスクシーケンスのためにステップ1710に戻ることができる。ワークフローは、並行して実行される複数のタスクシーケンスを導くことができる。この場合において、ワークフローは、複数のタスクシーケンスのそれぞれが完了するおよび/または明確なワークフロー終了フラグが構成要素タスクのうちの1つによって設定されるまで終了していない可能性がある。ステップ1714では、ステップ1702の要求の送信元が、アクション(複数可)の結果(複数可)について通知されることができる。   In step 1710, execution of the component task (s) can be guided according to a workflow. For example, the workflow component 1006 (FIG. 10) can activate an interface element of the implementation resource 220 (FIG. 2) to provision the set of virtual resources. Alternatively, or in addition, the workflow component 1006 can manage a bid for execution of component task (s) by a component of the virtual resource provider 206. In step 1712, a determination can be made as to whether the workflow is complete. For example, the workflow component 1006 can determine whether the last task in the sequence of tasks managed by the workflow is complete. If so, the procedure incorporating step 1712 can proceed to step 1714. Otherwise, the procedure can return to step 1710 for the next task and / or task sequence. A workflow can lead to multiple task sequences that are executed in parallel. In this case, the workflow may not be completed until each of the plurality of task sequences is completed and / or a clear workflow end flag is set by one of the component tasks. In step 1714, the source of the request in step 1702 can be notified of the action (s) result (s).

本明細書中に記載された様々な実施形態は、ある場合においては、任意のいくつかのアプリケーションを操作するために利用され得る1つ以上のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含み得る多種多様の操作環境において実施されてもよい。ユーザデバイスまたはクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ、ならびにモバイルソフトウェアを実行し、多数のネットワークおよびメッセージプロトコルをサポートする能力のある、セルラー、無線、およびハンドヘルドデバイス等の、多数の汎用パーソナルコンピュータのいずれかを含んでもよい。このようなシステムはまた、開発およびデータベース管理等の目的で、様々な市販のオペレーティングシステムおよび他の既知のアプリケーションを実行する、いくつかのワークステーションを含んでもよい。これらのデバイスはまた、ネットワークを介して通信する能力のある、ダミー端末、シンクライアント、ゲーム機、および他のデバイス等、他の電子デバイスを含んでもよい。   Various embodiments described herein may include one or more user computers, computing devices, or processing devices that may be utilized to operate any number of applications in certain cases. It may be implemented in a wide variety of operating environments. User or client devices can be desktop or laptop computers running standard operating systems, as well as mobile software and capable of supporting multiple networks and messaging protocols, such as cellular, wireless, and handheld devices, Any of a number of general purpose personal computers may be included. Such a system may also include a number of workstations running various commercial operating systems and other known applications for purposes such as development and database management. These devices may also include other electronic devices, such as dummy terminals, thin clients, game consoles, and other devices capable of communicating over a network.

ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalk等の様々な市販のプロトコルのいずれかを使用する通信をサポートすることで当業者によく知られている、少なくとも1つのネットワークを利用する。そのようなネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、ワイヤレスネットワーク、およびこれらの組み合わせを含んでもよい。ネットワークはさらに、任意の適切なネットワークトポロジを組み込んでもよい。適切なネットワークトポロジの例としては、単純なポイントツーポイント、スター型トポロジ、自己編成式のピアツーピアトポロジ、およびそれらの組み合わせが挙げられるが、これらに限定されない。   Most embodiments are well known to those skilled in the art by supporting communications using any of a variety of commercially available protocols such as TCP / IP, OSI, FTP, UPnP, NFS, CIFS, and AppleTalk. Use at least one network. Such networks may include, for example, local area networks, wide area networks, virtual private networks, the Internet, intranets, extranets, public switched telephone networks, infrared networks, wireless networks, and combinations thereof. The network may further incorporate any suitable network topology. Examples of suitable network topologies include, but are not limited to, simple point-to-point, star topologies, self-organizing peer-to-peer topologies, and combinations thereof.

ウェブサーバを利用する実施形態において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、ジャバサーバ、およびビジネスアプリケーションサーバを含む、様々なサーバまたは中間層アプリケーションのいずれかを実行してもよい。サーバ(複数可)はまた、例えば、Java(登録商標)、C、C#、またはC++等の任意のプログラム言語、あるいはPerl、Python、またはTCL等の任意のスクリプト言語、ならびにこれらの組み合わせで書かれた、1つ以上のスクリプトまたはプログラムとして実装可能な1つ以上のウェブアプリケーションを実行することによって、ユーザデバイスからの要求に応じてプログラムまたはスクリプトを実行する能力があってもよい。サーバ(複数可)はまた、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)からの市販のものを含むが、これらに限定されないデータベースサーバを含んでもよい。   In embodiments utilizing a web server, the web server may run any of a variety of servers or middle tier applications, including HTTP servers, FTP servers, CGI servers, data servers, Java servers, and business application servers. Good. The server (s) can also be written in any programming language such as, for example, Java, C, C #, or C ++, or any scripting language such as Perl, Python, or TCL, and combinations thereof. There may be the ability to execute a program or script in response to a request from a user device by executing one or more web applications that can be implemented as one or more scripts or programs. Server (s) may also include database servers including, but not limited to, commercially available from Oracle (R), Microsoft (R), Sybase (R), and IBM (R). Good.

環境は、上述のように、様々なデータストアならびに他のメモリおよび記憶媒体を含んでもよい。これらは、様々な位置、例えば、コンピュータの1つ以上にローカル(および/またはその中に存在する)か、あるいはネットワークにわたるコンピュータのいくつかまたは全てからリモートの記憶媒体上に、存在してもよい。特定のセットの実施形態において、情報は、当業者によく知られているストレージエリアネットワーク(「SAN」)内に存在してもよい。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するためのいずれの必要なファイルも、必要に応じて、ローカルおよび/またはリモートに記憶されてもよい。システムが、コンピュータ化されたデバイスを含む場合、それぞれのこのようなデバイスは、バスを介して電気的に連結されてもよいハードウェア要素を含んでもよく、その要素には、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチ画面、またはキーパッド)、ならびに少なくとも1つの出力デバイス(例えば、画面デバイス、プリンタ、またはスピーカ)が挙げられる。このようなシステムはまた、1つ以上の記憶デバイス、例えば、ディスクドライブ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)または読み込み専用メモリ(「ROM」)等のソリッドステート記憶デバイス、ならびに取り外し可能メディアデバイス、メモリカード、フラッシュカード等を含んでもよい。   The environment may include various data stores and other memories and storage media as described above. These may reside in various locations, for example, local to (and / or within) one or more of the computers, or on remote storage media from some or all of the computers across the network. . In a particular set of embodiments, the information may reside in a storage area network (“SAN”) that is well known to those skilled in the art. Similarly, any necessary files for performing functions attributable to a computer, server, or other network device may be stored locally and / or remotely as desired. Where the system includes computerized devices, each such device may include hardware elements that may be electrically coupled via a bus, such as at least one of the elements A central processing unit (CPU), at least one input device (eg, mouse, keyboard, controller, touch screen, or keypad) and at least one output device (eg, screen device, printer, or speaker) may be mentioned. Such systems also include one or more storage devices, eg, solid state storage devices such as disk drives, optical storage devices, random access memory (“RAM”) or read only memory (“ROM”), and removable. Media devices, memory cards, flash cards, etc. may be included.

このようなデバイスはまた、上述のように、コンピュータ可読記憶媒体リーダ、通信デバイス(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信デバイス等)、および作業メモリを含んでもよい。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、および/または取り外し可能記憶デバイス、ならびに一時的および/またはより恒久的にコンピュータ可読情報を収容、記憶、伝送、および読み出すための記憶媒体を代表する、コンピュータ可読記憶媒体に接続されるか、それを受信するように構成されてもよい。システムおよび様々なデバイスはまた、典型的に、クライアントアプリケーションまたはウェブブラウザ等のオペレーティングシステムおよびアプリケーションプログラムを含む、少なくとも1つの作業メモリデバイス内に配置される、プログラムモジュール、サービス、または他の要素を含む多数のソフトウェアアプリケーションモジュールを含むだろう。代替の実施形態が、多数の上述のものからの変形を有してもよいことを理解されたい。例えば、カスタマイズされたハードウェアもまた利用可能であり、および/または特定の要素がハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)、または両方において実装されてもよい。さらに、ネットワーク入力/出力デバイス等の、他のコンピューティングデバイスへの接続も、採用可能である。   Such devices may also include a computer readable storage media reader, a communication device (eg, a modem, a network card (wireless or wired), an infrared communication device, etc.), and a working memory, as described above. Computer-readable storage media readers represent remote, local, fixed, and / or removable storage devices and storage media for storing, storing, transmitting, and reading computer-readable information temporarily and / or more permanently May be connected to or receive a computer-readable storage medium. The system and various devices also typically include program modules, services, or other elements located within at least one working memory device that includes an operating system and application programs such as client applications or web browsers. It will contain a number of software application modules. It should be understood that alternative embodiments may have a number of variations from the above. For example, customized hardware is also available and / or certain elements may be implemented in hardware, software (including portable software such as applets), or both. In addition, connections to other computing devices, such as network input / output devices, can also be employed.

コードまたはコードの部分を収容するための記憶媒体およびコンピュータ可読媒体は、例えば、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、あるいは所望の情報を記憶するために利用されてもよい、システムデバイス内でアクセス可能な任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の、情報の記憶および/または伝送のための任意の方法または技術で実装される、揮発性および不揮発性媒体、取り外し可能または取り外し不可媒体であるが、これらに限定はされない、記憶媒体および通信媒体を含む、当該技術分野で既知か、または使用されている任意の適切な媒体を含んでもよい。プログラムモジュール、プログラム構成要素、および/またはプログラムオブジェクトは、任意の適切なコンピュータプログラミング言語の、および/またはそれに対応するコンピュータ可読命令および/またはコンピュータ実行可能な命令を含んでもよい。少なくとも1つの実施形態において、それぞれのコンピュータ可読媒体は有形であってもよい。少なくとも1つの実施形態において、それぞれのコンピュータ可読媒体は、時間的に非一時的なものであってもよい。本明細書に提供される開示および教示に基づき、当業者は様々な実施形態を実装するための他の様式および/または方法を認識するであろう。   Storage media and computer readable media for containing code or portions of code may be, for example, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage Computer readable instructions, including magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium accessible in the system device that may be utilized to store desired information , Volatile and non-volatile media, removable or non-removable media implemented in any method or technique for storing and / or transmitting information, such as data structures, program modules, or other data Including, but not limited to, storage media and communication media It may include any suitable medium that known or used in the art. Program modules, program components, and / or program objects may include computer-readable instructions and / or computer-executable instructions in and / or corresponding to any suitable computer programming language. In at least one embodiment, each computer readable medium may be tangible. In at least one embodiment, each computer readable medium may be non-transitory in time. Based on the disclosure and teachings provided herein, one of ordinary skill in the art will recognize other ways and / or methods for implementing the various embodiments.

本明細書および図面は、したがって、限定的な意味ではなく、むしろ例示的な意味と見なされるべきである。しかしながら、様々な修正および変更が、請求項に記載の本発明の広い精神および範囲から逸脱することなく、そこへなされてもよいことは明白であろう。   The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense. However, it will be apparent that various modifications and changes may be made thereto without departing from the broad spirit and scope of the invention as set forth in the claims.

実施形態を記載する文脈における(特に以下の特許請求の範囲の文脈における)「1つの(a)」および「1つの(a)」および「その(the)」という用語ならびに類似の指示語の使用は、本明細書中に特に示されない限りまたは文脈により明らかに矛盾しない限り、単数形および複数形の両方を含むと解釈される。「備える(含む)(comprising)」、「有する(having)」、「含む(including)」および「含む(containing)」という用語は、言及されない限り、制限のない用語(すなわち、「を含むが、限定されない」という意味)として解釈される。「接続される(connected)」という用語は、たとえ間に何かがある場合でも、部分的にまたは完全に、(〜)内に含まれる(contained within)、(〜)に取り付けられる(attached to)、あるいは互いに接合される(joined together)として解釈される。本明細書中における値の範囲の列挙は、単に範囲内に属する各別個の値をそれぞれ示す簡単な方法としての機能を果たすことを意図するにすぎず、本明細書中に示されない限り、各別個の値は、本明細書中に個別に列挙されたものとして本明細書中に組み込まれる。本明細書中に記載した全ての方法は、本明細書中に示されない限りまたは文脈により明らかに矛盾しない限り、任意の適切な順序で実行可能である。任意のおよび全ての例、または本明細書中に提供された例示的な言い回し(例えば「など(such as)」)の使用は、単に実施形態をより良く説明することを意図し、特許請求されない限り、本発明の範囲を限定するものではない。本明細書中のいかなる言い回しも、任意の特許請求されていない要素を少なくとも1つの実施形態の実施に不可欠なものとして示すものと解釈されるべきではない。   Use of the terms “one (a)” and “one (a)” and “the” and similar directives in the context of describing embodiments (particularly in the context of the following claims) Is intended to include both the singular and the plural unless specifically stated herein or otherwise clearly contradicted by context. The terms “comprising”, “having”, “including” and “containing”, unless stated otherwise, are open-ended terms (ie, including “ Meaning "not limited"). The term “connected” is partly or completely contained in (˜), attached to (˜), even if there is something in between. ) Or joined to each other. The recitation of value ranges herein is merely intended to serve as a simple way to indicate each distinct value that falls within the range, and unless otherwise indicated herein, each Separate values are incorporated herein as individually listed herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. Use of any and all examples, or exemplary language provided herein (eg, “such as”) is merely intended to better describe the embodiment and is not claimed. As long as it does not limit the scope of the present invention. No language in the specification should be construed as indicating any non-claimed element as essential to the implementation of at least one embodiment.

好適な実施形態は、本発明者らに知られる最良の様式を含んで本明細書中に記載される。それらの好適な実施形態の変形は、前の記載を読めば当業者に明らかとなり得る。本発明者らは当業者がそのような変形を適宜用いることを予期し、本発明者らは実施形態が本明細書中に具体的に記載されたのとは別の方法で構成されることを意図する。したがって、適切な実施形態は、準拠法で許されているように、本明細書に添付された特許請求の範囲に記載された内容の全ての改変および均等物を含む。更に、その全ての可能な変形における上記要素の任意の組み合わせは、本明細書中で特に示されない限りまたは文脈により明らかに矛盾しない限り、いくつかの適切な実施形態に組み込まれるものとして意図される。   Preferred embodiments are described herein, including the best mode known to the inventors. Variations on those preferred embodiments will become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors anticipate that those skilled in the art will use such variations as appropriate, and that the inventors may configure the embodiments in a manner different from that specifically described herein. Intended. Accordingly, suitable embodiments include all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is intended to be incorporated into some suitable embodiments unless otherwise indicated herein or otherwise clearly contradicted by context. .

本明細書中に引用される刊行物、特許出願、および特許を含む全ての文献は、各文献を個々に具体的に示し、参照して組み込むのと、また、その内容の全てを本明細書中に記載するのと同じ程度まで、ここで参照して組み込まれる。   All references, including publications, patent applications, and patents, cited in this specification are hereby specifically incorporated by reference with reference to each individual reference and are incorporated herein by reference in their entirety. To the same extent as described therein, it is incorporated herein by reference.

付記1. 仮想リソースの費用を追跡するコンピュータ実装された方法であって、実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、複数の顧客に関連付けられた複数の仮想リソースに複数の実装リソース割り当て単位として割り当てられることが可能な少なくとも1つの実装リソースであって、前記複数の顧客のうちの1組の顧客の仮想リソースに専用である、少なくとも1つの実装リソースを含む1組の実装リソースによって実装される仮想リソースを、前記複数の顧客を有する仮想リソースプロバイダで、維持することと、前記仮想リソースの実装に割り当てられる前記少なくとも1つの実装リソースのうち少なくとも第1の実装リソース割り当て単位に対応するアクティブなリソース利用量を決定することと、少なくとも部分的に前記の組の顧客の仮想リソースに専用であるために割り当てられていない前記少なくとも1つの実装リソースのうち少なくとも第2の実装リソース割り当て単位に対応する非アクティブなリソース利用量を決定することと、前記アクティブなリソース利用量および前記非アクティブなリソース利用量に少なくとも部分的に基づいて前記仮想リソースの少なくとも1つの費用を決定することと、前記の組の顧客に対して前記仮想リソースの前記少なくとも1つの費用の提示を提供することと、を含む、コンピュータ実装された方法。   Appendix 1. A computer-implemented method for tracking the cost of a virtual resource, the plurality of virtual resources associated with a plurality of customers under the control of one or more computer systems configured with executable instructions A set of at least one implementation resource that can be allocated as a unit of implementation resource allocation, including at least one implementation resource dedicated to a virtual resource of a set of customers of the plurality of customers Maintaining a virtual resource implemented by an implementation resource with a virtual resource provider having the plurality of customers, and at least a first implementation resource allocation unit among the at least one implementation resource allocated to the implementation of the virtual resource Determining active resource usage corresponding to Determining inactive resource usage corresponding to at least a second implementation resource allocation unit among the at least one implementation resource that is not allocated because it is at least partially dedicated to the set of customer virtual resources; Determining at least one cost of the virtual resource based at least in part on the active resource usage and the inactive resource usage, and for the set of customers, the virtual resource Providing a presentation of the at least one cost of the computer-implemented method.

付記2. 前記少なくとも1つの実装リソースを一般的な実装リソースプールから前記の組の顧客に関連付けられた専用実装リソースプールに遷移することによって少なくとも部分的に前記少なくとも1つの実装リソースを専用にすることを更に含む、付記1に記載のコンピュータ実装された方法。   Appendix 2. Further comprising dedicating the at least one implementation resource at least in part by transitioning the at least one implementation resource from a general implementation resource pool to a dedicated implementation resource pool associated with the set of customers. The computer-implemented method of claim 1, wherein

付記3. 前記一般的な実装リソースプール内の実装リソースは、前記仮想リソースプロバイダの前記複数の顧客の複数の仮想リソースを少なくとも部分的に実装する、請求項2に記載のコンピュータ実装された方法。   Appendix 3. The computer-implemented method of claim 2, wherein the implemented resources in the general implemented resource pool at least partially implement a plurality of virtual resources of the plurality of customers of the virtual resource provider.

付記4. 前記仮想リソースは、仮想コンピュータシステム、仮想データストア、および仮想プライベートネットワークのうちの少なくとも1つを含む、付記1に記載のコンピュータ実装された方法。   Appendix 4. The computer-implemented method of claim 1, wherein the virtual resource includes at least one of a virtual computer system, a virtual data store, and a virtual private network.

付記5. 前記少なくとも1つの実装リソースは、記憶デバイス、物理的なサーバ、サーバラック、データセンタ、前記データセンタの物理的に安全な部分、物理的なアクセスに関して監視される前記データセンタの部分、移動式データセンタ、ネットワークスイッチ、ネットワーク接続、無線ネットワーク送信器、および無線ネットワーク受信器のうちの少なくとも1つを含む、付記1に記載のコンピュータ実装された方法。   Appendix 5. The at least one implementation resource includes a storage device, a physical server, a server rack, a data center, a physically secure portion of the data center, a portion of the data center monitored for physical access, mobile data The computer-implemented method of claim 1, comprising at least one of a center, a network switch, a network connection, a wireless network transmitter, and a wireless network receiver.

付記6. 実装リソース割り当て単位のそれぞれは、前記記憶デバイス、前記物理的なサーバ、前記サーバラック、前記データセンタ、前記データセンタの前記物理的に安全な部分、物理的なアクセスに関して監視される前記データセンタの前記部分、前記移動式データセンタ、前記ネットワークスイッチ、前記ネットワーク接続、前記無線ネットワーク送信器、および前記無線ネットワーク受信器のうちの、少なくとも1つの容量の単位に対応する、付記5に記載のコンピュータ実装された方法。   Appendix 6. Each of the implementation resource allocation units includes the storage device, the physical server, the server rack, the data center, the physically secure portion of the data center, and the data center monitored for physical access. The computer-implemented implementation of claim 5, corresponding to a unit of capacity of at least one of the portion, the mobile data center, the network switch, the network connection, the wireless network transmitter, and the wireless network receiver. Way.

付記7. 前記物理的なサーバの前記容量の単位は標準仮想コンピュータシステム単位に対応し、前記物理的なサーバは1つの標準仮想コンピュータシステム単位よりも大きな容量を有する、付記6に記載のコンピュータ実装された方法。   Appendix 7. The computer-implemented method of claim 6, wherein the unit of capacity of the physical server corresponds to a standard virtual computer system unit, and the physical server has a capacity greater than one standard virtual computer system unit. .

付記8. リソース利用量は、実装リソース割り当て単位と時間単位との乗法的な積に対応する、付記1に記載のコンピュータ実装された方法。   Appendix 8. The computer-implemented method according to appendix 1, wherein the resource usage corresponds to a multiplicative product of an implemented resource allocation unit and a time unit.

付記9. 仮想リソースの費用を追跡するコンピュータ実装された方法であって、実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、複数の顧客に関連付けられた複数の仮想リソースを実装することが可能な少なくとも1つの実装リソースであって、仮想リソースプロバイダの複数の顧客のうちの1組の顧客の仮想リソースに専用である、少なくとも1つの実装リソースによって、少なくとも部分的に実装される仮想リソースを維持することと、前記少なくとも1つの実装リソースの少なくとも1つの割り当てられていない部分に対応する非アクティブなリソース利用量を決定することと、前記非アクティブなリソース利用量に少なくとも部分的に基づいて前記仮想リソースの少なくとも1つの費用を決定することと、前記仮想リソースの前記少なくとも1つの費用の提示を前記の組の顧客に提供することと、を含む、コンピュータ実装された方法。   Appendix 9. A computer-implemented method for tracking the cost of a virtual resource that implements multiple virtual resources associated with multiple customers under the control of one or more computer systems configured with executable instructions At least partially implemented by at least one implementation resource that is dedicated to the virtual resource of a set of customers of the plurality of customers of the virtual resource provider Maintaining a virtual resource, determining an inactive resource usage corresponding to at least one unassigned portion of the at least one implementation resource, and at least partially in the inactive resource usage Determining at least one cost of the virtual resource based on Comprising providing a display of the at least one cost virtual resources to the set of clients, the computer-implemented method.

付記10. 前記仮想リソースの前記少なくとも1つの費用を決定することは、前記少なくとも1つの実装リソースの少なくとも1つの割り当てられた部分に対応するアクティブなリソース利用量に少なくとも部分的に基づいて第1の費用を決定することと、前記非アクティブなリソース利用量に少なくとも部分的に基づいて第2の費用を決定することと、を含む、付記9に記載のコンピュータ実装された方法。   Appendix 10. Determining the at least one cost of the virtual resource determines a first cost based at least in part on active resource usage corresponding to at least one assigned portion of the at least one implemented resource. The computer-implemented method of claim 9, comprising: determining a second cost based at least in part on the inactive resource usage.

付記11. 前記第1の費用は、アクティブな実装リソース費用レートと前記アクティブなリソース利用量との乗法的な積であり、前記第2の費用は、非アクティブな実装リソース費用レートと前記非アクティブなリソース利用量との乗法的な積である、付記10に記載のコンピュータ実装された方法。   Appendix 11. The first cost is a multiplicative product of an active implementation resource cost rate and the active resource usage, and the second cost is an inactive implementation resource cost rate and the inactive resource usage. The computer-implemented method of claim 10, which is a multiplicative product with the quantity.

付記12. 前記の組の顧客の前記仮想リソースの前記少なくとも1つの費用を決定することは、前記非アクティブなリソース利用量、および、前記少なくとも1つの実装リソースの少なくとも1つの割り当てられた部分に対応するアクティブなリソース利用量、に少なくとも部分的に基づいて費用を決定することを含む、付記9に記載のコンピュータ実装された方法。   Appendix 12. Determining the at least one cost of the virtual resource of the set of customers is an active corresponding to the inactive resource usage and at least one assigned portion of the at least one implemented resource. The computer-implemented method of claim 9, comprising determining a cost based at least in part on the resource usage.

付記13. 前記費用を決定することは、対応する期間に関して調整されるアクティブな実装リソース費用レートを決定することを含む、付記12に記載のコンピュータ実装された方法。   Appendix 13. The computer-implemented method of claim 12, wherein determining the cost includes determining an active implementation resource cost rate that is adjusted for a corresponding time period.

付記14. 前記仮想リソースの前記少なくとも1つの費用を決定することは、前記仮想リソースプロバイダの複数の実装リソースに対応するアクティブなおよび非アクティブなリソース利用量に少なくとも部分的に基づいて調整されるアクティブな実装リソース費用レートを決定することを含む、付記9に記載のコンピュータ実装された方法。   Appendix 14. Determining the at least one cost of the virtual resource is an active implementation resource that is adjusted based at least in part on active and inactive resource usage corresponding to a plurality of implementation resources of the virtual resource provider The computer-implemented method of claim 9, comprising determining a cost rate.

付記15. 前記調整されるアクティブな実装リソース費用レートは、前記複数の実装リソースに関する平均のアクティブなリソース利用量に対する平均の非アクティブなリソース利用量の割合に少なくとも部分的に基づくものである、付記14に記載のコンピュータ実装された方法。   Appendix 15. The adjusted active implementation resource cost rate is based at least in part on a ratio of average inactive resource usage to average active resource usage for the plurality of implementation resources. Computer-implemented method.

付記16. 仮想リソースの費用を追跡するコンピュータ実装された方法であって、実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、仮想リソースプロバイダの顧客に専用である実装リソースにおいてアクティブな実装リソースの利用に対する非アクティブな実装リソースの利用の割合が高いことを抑制する少なくとも1つのリソース割り当てビジネスポリシーを含む1組のリソース割り当てビジネスポリシーに関連付けられた少なくとも1つの費用プランに関連付けられた要求であって、仮想リソースをプロビジョニングするために、前記仮想リソースが前記仮想リソースプロバイダの1組の顧客に専用である少なくとも1つの実装リソースで少なくとも部分的に実装されることを示す要求を受信することと、前記仮想リソースが、前記少なくとも1つの実装リソースを含む1組の実装リソースによって実装されるとき、前記の組のリソース割り当てビジネスポリシーを満たすことをチェックすることと、前記の組の実装リソースを前記仮想リソースに割り当てることによって少なくとも部分的に前記の組の実装リソースで前記仮想リソースをプロビジョニングすることと、前記少なくとも1つの費用プランに従って前記仮想リソースの少なくとも1つの費用を決定することと、前記仮想リソースの前記少なくとも1つの費用を前記の組の顧客に提示することと、を含む、コンピュータ実装された方法。   Appendix 16. A computer-implemented method for tracking the cost of a virtual resource, active on an implementation resource dedicated to a virtual resource provider customer under the control of one or more computer systems configured with executable instructions Associated with at least one expense plan associated with a set of resource allocation business policies that includes at least one resource allocation business policy that inhibits a high ratio of inactive implementation resource utilization to active implementation resource utilization Receiving a request indicating that the virtual resource is at least partially implemented with at least one implementation resource dedicated to a set of customers of the virtual resource provider to provision the virtual resource; And the virtual When a source is implemented by a set of implementation resources that includes the at least one implementation resource, checking that the set of resource allocation business policies is satisfied, and the set of implementation resources to the virtual resource Provisioning the virtual resource with the set of implementation resources at least in part by assigning, determining at least one cost of the virtual resource according to the at least one cost plan, and the at least one of the virtual resources Presenting a cost to the set of customers.

付記17. 前記要求は、前記の組の顧客に専用である複数の実装リソースにわたる複数の仮想リソースの目標分布を指定し、前記複数の仮想リソースは前記仮想リソースを含み、および、前記少なくとも1つのリソース割り当てビジネスポリシーは、実装の前記目標分布が対象である少なくとも1つの分布限界を指定する、付記16に記載のコンピュータ実装された方法。   Appendix 17. The request specifies a target distribution of a plurality of virtual resources across a plurality of implementation resources dedicated to the set of customers, the plurality of virtual resources including the virtual resource, and the at least one resource allocation business The computer-implemented method of claim 16, wherein the policy specifies at least one distribution limit that is targeted by the target distribution of implementation.

付記18. 前記少なくとも1つの費用プランは、前記仮想リソースの前記少なくとも1つの費用が、前記の組の顧客に専用の1つ以上の実装リソースで少なくとも部分的に実装される同じ種類のプロビジョニングされる仮想リソースの数に少なくとも部分的に基づくことを指定する、付記16に記載のコンピュータ実装された方法。   Appendix 18. The at least one cost plan is for a provisioned virtual resource of the same type, wherein the at least one cost of the virtual resource is at least partially implemented with one or more implementation resources dedicated to the set of customers. The computer-implemented method of claim 16 that specifies that the number is based at least in part.

付記19. 仮想リソース費用を追跡するコンピュータ化されたシステムであって、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを集合的に実装することが可能な、複数の実装リソースと、前記複数の顧客が、前記仮想リソースが前記複数の顧客のうちの1組の顧客に専用である実装リソースで実装されることを示す要求を含む、前記仮想リソースをプロビジョニングする要求をすることを可能にするように少なくとも構成された、プロビジョニングインタフェースと、実装リソース割り当て構成要素であって、少なくとも、前記複数の顧客のうちの少なくとも前記の組の顧客に専用の前記複数の実装リソースのうちの少なくとも1つを含む、少なくとも1つの専用実装リソースプールを維持し、ならびに、前記要求によって示されるように前記少なくとも1つの専用実装リソースプールから実装リソースを選択することを含めて要求された仮想リソースを実装するために、前記複数の実装リソースにおける実装リソースの少なくとも一部を割り当てるように構成された、実装リソース割り当て構成要素と、費用追跡構成要素であって、少なくとも、前記少なくとも1つの専用実装リソースプールから選択される少なくとも1つの実装リソースの少なくとも1つの割り当てられた部分に対応するアクティブなリソース利用量を決定し、前記少なくとも1つの専用実装リソースプールから選択される前記少なくとも1つの実装リソースの少なくとも1つの割り当てられていない部分に対応する非アクティブなリソース利用量を決定し、ならびに前記少なくとも1つの専用実装リソースプールから選択される前記少なくとも1つの実装リソースで少なくとも部分的に実装される少なくとも1つの仮想リソースの少なくとも1つの費用であって、前記アクティブなリソース利用量および前記非アクティブなリソース利用量に少なくとも部分的に基づく前記少なくとも1つの費用を決定するように構成された、費用追跡構成要素と、前記少なくとも1つの仮想リソースの前記少なくとも1つの費用を前記の組の顧客に提示するように少なくとも構成されたユーザインタフェース構成要素と、を備える、コンピュータ化されたシステム。   Appendix 19. A computerized system for tracking virtual resource costs, wherein a plurality of implemented resources capable of collectively implementing a plurality of virtual resources associated with a plurality of customers of a virtual resource provider; Enabling a customer to make a request to provision the virtual resource, including a request indicating that the virtual resource is implemented with an implementation resource dedicated to a set of customers of the plurality of customers. A provisioning interface and an implementation resource allocation component, at least configured to include at least one of the plurality of implementation resources dedicated to at least the set of customers of the plurality of customers. Maintain at least one dedicated implementation resource pool, as well as Configured to allocate at least some of the implementation resources in the plurality of implementation resources to implement the requested virtual resource including selecting an implementation resource from the at least one dedicated implementation resource pool as shown An implementation resource allocation component and a cost tracking component, at least corresponding to at least one allocated portion of at least one implementation resource selected from the at least one dedicated implementation resource pool Determining resource usage, determining inactive resource usage corresponding to at least one unassigned portion of the at least one implementation resource selected from the at least one dedicated implementation resource pool, and the at least One At least one cost of at least one virtual resource that is at least partially implemented with the at least one implementation resource selected from the implementation resource pool for the active resource usage and the inactive resource usage A cost tracking component configured to determine the at least one cost based at least in part, and at least to present the at least one cost of the at least one virtual resource to the set of customers A computerized system comprising a configured user interface component.

付記20. 前記実装リソース割り当て構成要素は、優先権を有する前記の組の顧客を含む前記複数の顧客の仮想リソースに割り当てるために利用可能な前記複数の実装リソースの少なくとも1つを含む少なくとも1つの予約された実装リソースプールを維持するように少なくとも更に構成され、前記費用追跡構成要素は、前記の組の顧客のために、前記少なくとも1つの予約された実装リソースプール内の前記複数の実装リソースのうちの前記少なくとも1つに対応する予約されたリソース利用量を決定するように少なくとも更に構成され、前記少なくとも1つの費用は、前記予約されたリソース利用量に少なくとも部分的に更に基づくものである、付記19に記載のコンピュータ化されたシステム。   Appendix 20. The implementation resource allocation component includes at least one reserved resource including at least one of the plurality of implementation resources available for allocation to the plurality of customer virtual resources including the set of customers having priority. At least further configured to maintain an implementation resource pool, the cost tracking component for the set of customers, of the plurality of implementation resources in the at least one reserved implementation resource pool. Appendix 19 further comprising at least further configured to determine a reserved resource usage corresponding to at least one, wherein the at least one cost is further based at least in part on the reserved resource usage. The computerized system described.

付記21. 前記少なくとも1つの仮想リソースの前記少なくとも1つの費用を決定することは、前記予約されたリソース利用量に少なくとも部分的に基づいて第1の費用を決定することと、前記予約されたリソース利用量に少なくとも部分的に基づいて前記アクティブなおよび非アクティブなリソース利用量を修正することと、前記修正されたアクティブなおよび非アクティブなリソース利用量に少なくとも部分的に基づいて第2の費用を少なくとも決定することと、を含む、付記20に記載のコンピュータ化されたシステム。   Appendix 21. Determining the at least one cost of the at least one virtual resource includes determining a first cost based at least in part on the reserved resource usage, and determining the reserved resource usage. Modifying the active and inactive resource usage based at least in part, and determining at least a second cost based at least in part on the modified active and inactive resource usage The computerized system according to claim 20, comprising:

付記22. コンピュータ実行可能な命令を当該コンピュータ可読媒体上に集合的に有する1つ以上のコンピュータ可読媒体であって、前記コンピュータ実行可能な命令は1つ以上のコンピュータを集合的に、少なくとも、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースのそれぞれを少なくとも部分的に実装することが可能な少なくとも1つの実装リソースを含む1組の実装リソースによって実装される仮想リソースであって、専用実装リソースにおけるアクティブな実装リソースの利用に対する非アクティブな実装リソースの利用の割合が高いことを抑制するように構成された少なくとも1つのリソース割り当てビジネスポリシーを含む1組のリソース割り当てビジネスポリシーに関連付けられた少なくとも1つの費用プランに関してプロビジョニングされる、仮想リソースをプロビジョニングするための要求であって、前記仮想リソースの1つ以上が、前記複数の顧客のうちの1組の顧客に専用である少なくとも1つの専用実装リソースで少なくとも部分的に実装されることを示すことが可能な要求を受信するように、前記の組のリソース割り当てビジネスポリシーが満たされるとき、要求された仮想リソースをプロビジョニングするように、プロビジョニングされた仮想リソースの費用を前記少なくとも1つの費用プランに従って決定するように、および前記プロビジョニングされた仮想リソースの前記費用の提示を提供するように構成する、1つ以上のコンピュータ可読媒体。   Appendix 22. One or more computer-readable media collectively having computer-executable instructions on the computer-readable medium, wherein the computer-executable instructions collectively include one or more computers, at least of a virtual resource provider. A virtual resource implemented by a set of implementation resources including at least one implementation resource capable of at least partially implementing each of a plurality of virtual resources associated with a plurality of customers, At least one associated with a set of resource allocation business policies including at least one resource allocation business policy configured to inhibit a high ratio of inactive implementation resource utilization to active implementation resource utilization; Cost plastic A request for provisioning virtual resources, wherein one or more of the virtual resources is at least a portion of at least one dedicated implementation resource dedicated to a set of customers of the plurality of customers. The cost of the provisioned virtual resource to provision the requested virtual resource when the set of resource allocation business policies is satisfied to receive a request that can be shown to be implemented One or more computer-readable media configured to determine a value according to the at least one cost plan and to provide an indication of the cost of the provisioned virtual resource.

付記23. 前記少なくとも1つのリソース割り当てビジネスポリシーは、前記要求された仮想リソースが前記少なくとも1つの専用実装リソースで少なくとも部分的に実装されるとき、要求された仮想リソースの数が、要求された仮想リソースの最小数よりも少なくないことを指定する、付記22に記載の1つ以上のコンピュータ可読媒体。   Appendix 23. The at least one resource allocation business policy is such that when the requested virtual resource is at least partially implemented with the at least one dedicated implementation resource, the number of requested virtual resources is a minimum of the requested virtual resources. 24. One or more computer readable media as set forth in appendix 22, wherein the one or more computer readable media specifies that it is not less than a number.

付記24. 前記少なくとも1つの費用プランは、前記少なくとも1つの専用実装リソースを専用にすることに対応する少なくとも1つの費用を指定する、付記22に記載の1つ以上のコンピュータ可読媒体。   Appendix 24. 23. One or more computer readable media as recited in claim 22, wherein the at least one cost plan specifies at least one cost corresponding to dedicating the at least one dedicated implementation resource.

付記25. 前記少なくとも1つの費用プランは、前記少なくとも1つの専用実装リソースを一般的な実装リソースプールに戻すことに対応する少なくとも1つの費用を指定する、付記22に記載の1つ以上のコンピュータ可読媒体。   Appendix 25. 23. One or more computer readable media as recited in claim 22, wherein the at least one cost plan specifies at least one cost corresponding to returning the at least one dedicated implementation resource to a general implementation resource pool.

付記26. 仮想リソースをプロビジョニングするコンピュータ実装された方法であって、実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、少なくとも1つの情報バリアを組み込んでおり、および複数の顧客に関連付けられた複数の仮想リソースを前記少なくとも1つの情報バリアの後に実装することが可能な少なくとも1つの実装リソースを含む関連付けられた組の実装リソースを有し要求される仮想リソースをプロビジョニングする要求であって、前記少なくとも1つの実装リソースが前記の組の顧客の仮想リソースの専用になることを指定する少なくとも1つの専用実装リソース制約を含む関連付けられた組の実装リソース制約を有する要求を、前記仮想リソースプロバイダの1組の顧客のうちの少なくとも1人から、前記複数の顧客を有する仮想リソースプロバイダの制御プレーンで、受信することと、前記少なくとも1つの専用実装リソース制約に従って前記少なくとも1つの実装リソースを前記の組の顧客の仮想リソースに専用にすることによって少なくとも部分的に前記仮想リソースプロバイダの前記の組の顧客と他の顧客との間に前記少なくとも1つの情報バリアを確立することと、前記少なくとも1つの実装リソースを含んで割り当てられる前記の組の実装リソースを前記仮想リソースに割り当てることによって少なくとも部分的に前記要求された仮想リソースをプロビジョニングすることと、を含む、コンピュータ実装された方法。   Appendix 26. A computer-implemented method of provisioning virtual resources, incorporating at least one information barrier under the control of one or more computer systems configured with executable instructions, and to multiple customers A request to provision a required virtual resource having an associated set of implementation resources including at least one implementation resource capable of implementing a plurality of associated virtual resources after the at least one information barrier. Request having an associated set of implementation resource constraints including at least one dedicated implementation resource constraint that specifies that the at least one implementation resource is dedicated to the set of customer virtual resources. At least one of a set of customers of the provider Receiving at the control plane of the virtual resource provider having the plurality of customers and dedicating the at least one implementation resource to the set of customer virtual resources according to the at least one dedicated implementation resource constraint Establishing at least one information barrier between the set of customers and other customers of the virtual resource provider, and implementing the set of assignments including the at least one implementation resource Provisioning the requested virtual resource at least in part by assigning a resource to the virtual resource.

付記27. 前記少なくとも1つの実装リソースを専用にすることは、前記少なくとも1つの実装リソースを一般的な実装リソースプールから前記の組の顧客に関連付けられた専用実装リソースプールに遷移することを含む、付記26に記載のコンピュータ実装された方法。   Addendum 27. Appendix 26. Dedicating the at least one implementation resource includes transitioning the at least one implementation resource from a general implementation resource pool to a dedicated implementation resource pool associated with the set of customers. The computer-implemented method described.

付記28. 前記少なくとも1つの情報バリアは、前記仮想リソースプロバイダの他の実装リソースからの前記少なくとも1つの実装リソースの物理的な分離に少なくとも部分的に対応する、付記26に記載のコンピュータ実装された方法。   Appendix 28. 27. The computer-implemented method of clause 26, wherein the at least one information barrier corresponds at least in part to a physical separation of the at least one implementation resource from other implementation resources of the virtual resource provider.

付記29. 仮想リソースをプロビジョニングするコンピュータ実装された方法であって、実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、仮想リソースプロバイダの1組の顧客に専用である少なくとも1つの実装リソースであって、少なくとも1つの情報バリアを組み込んでおり、および前記仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを前記少なくとも1つの情報バリアの後に少なくとも部分的に実装することが可能な、少なくとも1つの実装リソースで仮想リソースが少なくとも部分的に実装されることを示す要求であって、前記仮想リソースをプロビジョニングする要求を受信することと、前記の組の顧客に専用の1組の割り当てられていない実装リソースを識別し、前記の組の割り当てられていない実装リソースが前記少なくとも1つの実装リソースを含むことをチェックすることと、前記少なくとも1つの実装リソースを前記の組の顧客に専用の前記の組の実装リソースから前記仮想リソースに割り当てることによって少なくとも部分的に前記仮想リソースをプロビジョニングし、その結果、少なくとも部分的に、前記少なくとも1つの情報バリアを前記仮想リソースプロバイダの前記の組の顧客と他の顧客との間に確立することと、を含む、コンピュータ実装された方法。   Appendix 29 A computer-implemented method for provisioning virtual resources, wherein the at least one is dedicated to a set of customers of a virtual resource provider under the control of one or more computer systems configured with executable instructions. An implementation resource that incorporates at least one information barrier and that at least partially implements a plurality of virtual resources associated with a plurality of customers of the virtual resource provider after the at least one information barrier. A request indicating that a virtual resource is at least partially implemented with at least one implemented resource, the request being for provisioning the virtual resource; and a set dedicated to the set of customers Identify unassigned implementation resources and assign the set Checking that unassigned implementation resources include the at least one implementation resource, and assigning the at least one implementation resource from the set of implementation resources dedicated to the set of customers to the virtual resource Provisioning the virtual resource at least in part, so that at least in part the at least one information barrier is established between the set of customers of the virtual resource provider and other customers; Including a computer-implemented method.

付記30. 前記少なくとも1つの情報バリアを確立することは、前記仮想リソースプロバイダの前記他の顧客のうちの少なくとも1人が、前記仮想リソースに関する未発表情報に対するアクセス権を得る可能性を低くする、付記29に記載のコンピュータ実装された方法。   Appendix 30 Appendix 29 to Appendix 29, establishing the at least one information barrier reduces the likelihood that at least one of the other customers of the virtual resource provider will have access to unpublished information about the virtual resource. The computer-implemented method described.

付記31. 前記少なくとも1つの実装リソースを前記仮想リソースプロバイダの一般的な実装リソースプールから前記の組の顧客に関連付けられた専用実装リソースプールに遷移することによって少なくとも部分的に前記少なくとも1つの実装リソースを前記の組の顧客に専用にすることを更に含む、付記29に記載のコンピュータ実装された方法。   Addendum 31. The at least one implementation resource is at least partially transferred from the virtual resource provider's general implementation resource pool to a dedicated implementation resource pool associated with the set of customers. The computer-implemented method of claim 29, further comprising dedicating to a set of customers.

付記32. 前記専用にすることは、前記の組の顧客による前記仮想リソースに対する予測要求に少なくとも部分的に基づく予測的なものである、付記31に記載のコンピュータ実装された方法。   Appendix 32. The computer-implemented method of claim 31, wherein the dedicating is predictive based at least in part on a prediction request for the virtual resource by the set of customers.

付記33. 前記少なくとも1つの実装リソースを前記一般的な実装リソースプールから専用実装リソースプールに遷移することは、前記の組の顧客のうちの少なくとも1人によって指定される実装リソース遷移プロシージャを実行することを含む、付記31に記載のコンピュータ実装された方法。   Addendum 33. Transitioning the at least one implementation resource from the general implementation resource pool to a dedicated implementation resource pool includes executing an implementation resource transition procedure specified by at least one of the set of customers. 32. The computer-implemented method according to appendix 31.

付記34. 前記の組の顧客のうちの少なくとも1人は、前記仮想リソースプロバイダによって提供された複数の実装リソース遷移プロシージャから前記実装リソース遷移プロシージャを選択する、付記33に記載のコンピュータ実装された方法。   Appendix 34. 34. The computer-implemented method of clause 33, wherein at least one of the set of customers selects the implemented resource transition procedure from a plurality of implemented resource transition procedures provided by the virtual resource provider.

付記35. 前記実装リソース遷移プロシージャは、前記一般的な実装リソースプール内の間には前記少なくとも1つの実装リソースのアクティビティに関連付けられた残りの情報の量を減少する、付記33に記載のコンピュータ実装された方法。   Appendix 35. 34. The computer-implemented method of claim 33, wherein the implementation resource transition procedure reduces the amount of remaining information associated with the activity of the at least one implementation resource during the general implementation resource pool. .

付記36. 前記の組の顧客のうちの少なくとも1人は、前記仮想リソースプロバイダのウェブベースのインタフェースで前記要求をする、付記29に記載のコンピュータ実装された方法。   Appendix 36. The computer-implemented method of clause 29, wherein at least one of the set of customers makes the request at the virtual resource provider's web-based interface.

付記37. 前記仮想リソースは、仮想コンピュータシステム、仮想データストア、および仮想プライベートネットワークのうちの少なくとも1つを含む、付記29に記載のコンピュータ実装された方法。   Addendum 37. The computer-implemented method of clause 29, wherein the virtual resource comprises at least one of a virtual computer system, a virtual data store, and a virtual private network.

付記38. 前記少なくとも1つの実装リソースは、記憶デバイス、物理的なサーバ、サーバラック、データセンタの物理的に安全な部分、物理的なアクセスに関して監視されるデータセンタの部分、データセンタ、移動式データセンタ、ネットワークスイッチ、ネットワーク接続、無線ネットワーク送信器、および無線ネットワーク受信器のうちの少なくとも1つを含む、付記29に記載のコンピュータ実装された方法。   Addendum 38. The at least one implementation resource includes a storage device, a physical server, a server rack, a physically secure portion of a data center, a portion of a data center monitored for physical access, a data center, a mobile data center, 34. The computer implemented method of clause 29, comprising at least one of a network switch, a network connection, a wireless network transmitter, and a wireless network receiver.

付記39. 仮想リソースをプロビジョニングするコンピュータ実装された方法であって、実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを少なくとも部分的に実装するように構成された少なくとも1つの一般的な実装リソースを含む一般的な実装リソースプールを維持することと、前記仮想リソースプロバイダの前記複数の顧客のサブの組に専用の少なくとも1つの専用実装リソースを含む専用実装リソースプールを維持することと、前記専用実装リソースプールから引き出される少なくとも1つの実装リソースで前記仮想リソースが少なくとも部分的に実装されることを指定する実装制約に関連付けられた要求であって、前記仮想リソースをプロビジョニングする要求を受信することと、前記要求に応答して、前記少なくとも1つの専用実装リソースを前記仮想リソースに割り当てることによって少なくとも部分的に前記仮想リソースをプロビジョニングすることと、を含む、コンピュータ実装された方法。   Addendum 39. A computer-implemented method for provisioning a virtual resource, the virtual resources associated with a plurality of customers of the virtual resource provider under the control of one or more computer systems configured with executable instructions Maintaining a general implementation resource pool that includes at least one general implementation resource configured to implement at least in part, and dedicated to the plurality of customer sub-sets of the virtual resource provider An implementation constraint that specifies that a dedicated implementation resource pool including at least one dedicated implementation resource is maintained and that the virtual resource is at least partially implemented with at least one implementation resource derived from the dedicated implementation resource pool; An associated request, said virtual resource Receiving the request to provision and provisioning the virtual resource at least in part by assigning the at least one dedicated implementation resource to the virtual resource in response to the request. Method.

付記40. 前記専用実装リソースプールを維持することは、前記専用実装リソースプールの非アクティビティレベルが第1の閾値よりも少ないとき、実装リソースを前記一般的な実装リソースプールから前記専用実装リソースプールに遷移することを含む、付記39に記載のコンピュータ実装された方法。   APPENDIX 40 Maintaining the dedicated implementation resource pool means transitioning the implementation resource from the general implementation resource pool to the dedicated implementation resource pool when the inactivity level of the dedicated implementation resource pool is less than a first threshold. 40. The computer implemented method of claim 39, comprising:

付記41. 前記専用実装リソースプールを維持することは、前記専用実装リソースプールの前記非アクティビティレベルが第2の閾値よりも大きいとき、実装リソースを前記専用実装リソースプールから前記一般的な実装リソースプールに遷移することを更に含む、付記40に記載のコンピュータ実装された方法。   Appendix 41. Maintaining the dedicated implementation resource pool means transitioning an implementation resource from the dedicated implementation resource pool to the general implementation resource pool when the inactivity level of the dedicated implementation resource pool is greater than a second threshold. 41. The computer implemented method of claim 40, further comprising:

付記42. 前記専用実装リソースプールを維持することは、前記専用実装リソースプールに関連付けられたアクティビティレベルの導関数に少なくとも部分的に基づいて実装リソースを遷移することを含む、付記39に記載のコンピュータ実装された方法。   Appendix 42. The computer-implemented embodiment of claim 39, wherein maintaining the dedicated implementation resource pool includes transitioning implementation resources based at least in part on an activity level derivative associated with the dedicated implementation resource pool. Method.

付記43. 前記少なくとも1つの専用実装リソースで前記仮想リソースをプロビジョニングすることは、前記仮想リソースプロバイダの前記サブの組の前記複数の顧客と他の顧客との間に情報バリアを、少なくとも部分的に、確立する、付記39に記載のコンピュータ実装された方法。   Appendix 43. Provisioning the virtual resource with the at least one dedicated implementation resource establishes, at least in part, an information barrier between the plurality of customers and other customers of the sub-set of the virtual resource provider. 40. The computer-implemented method of appendix 39.

付記44. 前記少なくとも1つの専用実装リソースで前記仮想リソースをプロビジョニングすることは、前記仮想リソースプロバイダの前記他の顧客のうちの少なくとも1人が前記仮想リソースに関連付けられたデータに認証された修正をすることができるという可能性を低くする、付記43に記載のコンピュータ実装された方法。   Appendix 44. Provisioning the virtual resource with the at least one dedicated implementation resource may cause at least one of the other customers of the virtual resource provider to make an authorized modification to data associated with the virtual resource. 44. The computer-implemented method of appendix 43 that reduces the likelihood of being able to do so.

付記45. 前記仮想リソースを前記少なくとも1つの専用実装リソースでプロビジョニングすることは、前記少なくとも1つの一般的な実装リソースでプロビジョニングされた少なくとも1つの仮想リソースに関連する前記仮想リソースに関連付けられた性能基準(performance metric)を増加させる、付記39に記載のコンピュータ実装された方法。   Appendix 45. Provisioning the virtual resource with the at least one dedicated implementation resource is a performance metric associated with the virtual resource associated with at least one virtual resource provisioned with the at least one general implementation resource. 40. The computer-implemented method of appendix 39, wherein:

付記46. 前記専用実装リソースで前記仮想リソースをプロビジョニングすることは、前記少なくとも1つの一般的な実装リソースで生じる少なくとも1つの操作上の障害から、少なくとも部分的に、前記仮想リソースを分離する、付記39に記載のコンピュータ実装された方法。   Appendix 46. The provisioning 39., wherein provisioning the virtual resource with the dedicated implementation resource isolates the virtual resource at least in part from at least one operational failure that occurs with the at least one general implementation resource. Computer-implemented method.

付記47. 仮想リソースをプロビジョニングするコンピュータ化されたシステムであって、仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを集合的に実装することが可能な複数の実装リソースと、前記複数の顧客が仮想リソースをプロビジョニングする要求をすることを可能にするように少なくとも構成されたプロビジョニングインタフェースと、前記複数の仮想リソースに対する前記複数の実装リソースの割り当てを追跡し、前記要求に応答する前記割り当てを修正するように少なくとも構成された実装リソース割り当て構成要素であって、前記要求が、前記複数の実装リソースのうち少なくとも1つの情報バリアを組み込んでいる少なくとも1つを前記複数の顧客のうちの少なくとも1人の顧客に専用にすることと、少なくとも1つの仮想リソースが前記少なくとも1人の顧客に専用の実装リソースで少なくとも部分的に実装されることを前記要求が示すとき、前記少なくとも1人の顧客によって要求された前記少なくとも1つの仮想リソースに前記複数の実装リソースのうちの前記少なくとも1つを割り当てることによって少なくとも部分的に前記仮想リソースプロバイダの前記少なくとも1人の顧客と他の顧客との間に前記少なくとも1つの情報バリアを確立することと、を含む、実装リソース割り当て構成要素と、を備える、コンピュータ化されたシステム。   Appendix 47. A computerized system for provisioning virtual resources, wherein a plurality of implemented resources capable of collectively implementing a plurality of virtual resources associated with a plurality of customers of a virtual resource provider; A provisioning interface configured to allow at least a request to provision a virtual resource, and tracking the allocation of the plurality of implemented resources to the plurality of virtual resources and modifying the allocation in response to the request An implementation resource allocation component configured at least as described above, wherein the request includes at least one information barrier of at least one of the plurality of implementation resources of at least one of the plurality of customers. Dedicated to the customer, The at least one virtual resource requested by the at least one customer when the request indicates that at least one virtual resource is at least partially implemented with a dedicated implementation resource for the at least one customer. Establishing at least one information barrier between the at least one customer and other customers of the virtual resource provider at least in part by assigning the at least one of the plurality of implemented resources to A computerized system comprising: an implementation resource allocation component comprising:

付記48. 前記実装リソース割り当て構成要素は、少なくとも、前記少なくとも1人の顧客に専用の前記複数の実装リソースであって、各実装リソースが仮想リソース実装容量および仮想リソース実装に対する割り当ての現行レベルを有する前記複数の実装リソースのうちの少なくとも2つを含む専用実装リソースプールを維持するように、および前記割り当てが前記実装リソースの前記仮想リソース実装容量を超えないとき、前記割り当ての最大現行レベルを有する前記専用実装リソースプール内の実装リソースに前記少なくとも1人の顧客によって要求された前記少なくとも1つの仮想リソースを割り当てるように、
更に構成される、付記47に記載のコンピュータ化されたシステム。
Appendix 48. The implementation resource allocation component is at least the plurality of implementation resources dedicated to the at least one customer, each implementation resource having a virtual resource implementation capacity and a current level of allocation to a virtual resource implementation. The dedicated implementation resource having a maximum current level of the allocation to maintain a dedicated implementation resource pool including at least two of the implementation resources and when the allocation does not exceed the virtual resource implementation capacity of the implementation resource To allocate the at least one virtual resource requested by the at least one customer to an implementation resource in a pool;
48. The computerized system according to appendix 47, further configured.

付記49. 前記実装リソース割り当て構成要素は、移動が、割り当てのより高い現行レベルを有する前記専用実装リソースプール内の前記実装リソースの前記仮想リソース実装容量を超えないとき、割り当てのより低い現行レベルを有する前記専用実装リソースプール内の実装リソースから割り当てのより高い現行レベルを有する前記専用実装リソースプール内の実装リソースに仮想リソースを移動させるように少なくとも更に構成される、付記48に記載のコンピュータ化されたシステム。   Appendix 49. The implementation resource allocation component is the dedicated resource having a lower current level of allocation when movement does not exceed the virtual resource implementation capacity of the implemented resource in the dedicated implementation resource pool having a higher current level of allocation. 49. The computerized system of clause 48, further configured to move virtual resources from a mounting resource in the mounting resource pool to a mounting resource in the dedicated mounting resource pool that has a higher current level of allocation.

付記50. コンピュータ実行可能な命令を当該コンピュータ可読媒体上に集合的に有する1つ以上のコンピュータ可読媒体であって、前記コンピュータ実行可能な命令は1つ以上のコンピュータを集合的に、少なくとも、仮想リソースプロバイダの複数の顧客のうちの少なくとも1人の顧客に専用である少なくとも1つの実装リソースであって、少なくとも1つの情報バリアを組み込んでいる少なくとも1つの実装リソースを含む、少なくとも1つの専用実装リソースプールを含む複数の実装リソースプールを維持するように、少なくとも1つの仮想リソースをプロビジョニングする要求であって、前記少なくとも1つの仮想リソースが前記少なくとも1つの専用実装リソースプール内の前記少なくとも1つの実装リソースで少なくとも部分的に実装されることを指定する第1の実装制約に少なくとも関連付けられた要求を受信するように、および前記要求に応答して、前記少なくとも1つの実装リソースを前記少なくとも1つの仮想リソースに割り当てることによって少なくとも部分的に前記少なくとも1つの仮想リソースをプロビジョニングし、その結果、少なくとも部分的に、前記仮想リソースプロバイダの前記少なくとも1人の顧客と他の顧客との間に前記少なくとも1つの情報バリアを確立するように、構成する、1つ以上のコンピュータ可読媒体。   Appendix 50. One or more computer-readable media collectively having computer-executable instructions on the computer-readable medium, wherein the computer-executable instructions collectively include one or more computers, at least of a virtual resource provider. At least one implementation resource that is dedicated to at least one of the plurality of customers and includes at least one implementation resource that incorporates at least one information barrier A request to provision at least one virtual resource to maintain a plurality of implementation resource pools, wherein the at least one virtual resource is at least a portion of the at least one implementation resource in the at least one dedicated implementation resource pool Implemented Receiving at least a request associated with at least a first implementation constraint that specifies that, and in response to the request, assigning the at least one implementation resource to the at least one virtual resource Provisioning the at least one virtual resource to at least partially establish the at least one information barrier between the at least one customer and other customers of the virtual resource provider; One or more computer-readable media comprising.

付記51. 前記少なくとも1つの仮想リソースは複数の仮想リソースを含み、前記要求は、前記少なくとも1つの専用実装リソースプールにおける複数の実装リソースにわたって前記複数の仮想リソースの目標実装分布を指定する第2の実装制約に少なくとも更に関連付けられており、および前記プロビジョニングは、割り当てられた仮想リソースの実装リソースに対する割合が前記目標実装分布を超えないように、前記複数の仮想リソースを前記複数の実装リソースに割り当てることを含む、付記50に記載の1つ以上のコンピュータ可読媒体。   Appendix 51. The at least one virtual resource includes a plurality of virtual resources, and the request is a second implementation constraint that specifies a target implementation distribution of the plurality of virtual resources across a plurality of implementation resources in the at least one dedicated implementation resource pool. At least further associated, and the provisioning includes allocating the plurality of virtual resources to the plurality of implementation resources such that a ratio of allocated virtual resources to implementation resources does not exceed the target implementation distribution; 51. One or more computer readable media as described in appendix 50.

付記52. 前記要求は、前記複数の実装リソースの目標地理的分離を指定する第3の実装制約に少なくとも更に関連付けられており、および前記プロビジョニングは、少なくとも2つの前記複数の実装リソースが少なくとも前記目標地理的分離の地理的距離によって分離されるように、前記複数の仮想リソースを前記複数の実装リソースに割り当てることを更に含む、付記51に記載の1つ以上のコンピュータ可読媒体。   Appendix 52. The request is at least further associated with a third implementation constraint that specifies a target geographic separation of the plurality of implementation resources, and the provisioning includes at least two of the plurality of implementation resources at least the target geographic separation. 52. The one or more computer readable media of clause 51, further comprising assigning the plurality of virtual resources to the plurality of implementation resources so that they are separated by a geographic distance of the plurality of implementations.

Claims (13)

仮想リソースの費用を追跡するコンピュータ実装された方法であって、
実行可能な命令を備えて構成される1つ以上のコンピュータシステムの制御下で、
複数の顧客に関連付けられた複数の仮想リソースを実装することが可能な少なくとも1つの実装リソースであって、仮想リソースプロバイダの複数の顧客のうちの1組の顧客の仮想リソースに専用である少なくとも1つの実装リソースによって、少なくとも部分的に実装される仮想リソースを維持することと、
前記少なくとも1つの実装リソースの少なくとも1つの割り当てられていない部分に対応する非アクティブなリソース利用量を決定することと、
前記非アクティブなリソース利用量に少なくとも部分的に基づいて前記仮想リソースの少なくとも1つの費用を決定することと、
前記仮想リソースの前記少なくとも1つの費用の提示を前記の組の顧客に提供することと、
を含む、コンピュータ実装された方法。
A computer-implemented method for tracking the cost of virtual resources,
Under control of one or more computer systems configured with executable instructions,
At least one implementation resource capable of implementing a plurality of virtual resources associated with a plurality of customers, wherein the at least one is dedicated to a set of customer virtual resources of the plurality of customers of the virtual resource provider Maintaining virtual resources that are at least partially implemented by one implementation resource;
Determining an inactive resource usage corresponding to at least one unassigned portion of the at least one implementation resource;
Determining at least one cost of the virtual resource based at least in part on the inactive resource usage;
Providing the set of customers with an indication of the at least one cost of the virtual resource;
Including a computer-implemented method.
前記仮想リソースの前記少なくとも1つの費用を決定することは、前記少なくとも1つの実装リソースの少なくとも1つの割り当てられた部分に対応するアクティブなリソース利用量に少なくとも部分的に基づいて第1の費用を決定することと、前記非アクティブなリソース利用量に少なくとも部分的に基づいて第2の費用を決定することと、を含む、請求項1に記載のコンピュータ実装された方法。   Determining the at least one cost of the virtual resource determines a first cost based at least in part on active resource usage corresponding to at least one assigned portion of the at least one implemented resource. The computer-implemented method of claim 1, including determining a second cost based at least in part on the inactive resource usage. 前記第1の費用は、アクティブな実装リソース費用レートと前記アクティブなリソース利用量との乗法的な積であり、前記第2の費用は、非アクティブな実装リソース費用レートと前記非アクティブなリソース利用量との乗法的な積である、請求項2に記載のコンピュータ実装された方法。   The first cost is a multiplicative product of an active implementation resource cost rate and the active resource usage, and the second cost is an inactive implementation resource cost rate and the inactive resource usage. The computer-implemented method of claim 2, wherein the computer-implemented method is a multiplicative product with a quantity. 前記の組の顧客の前記仮想リソースの前記少なくとも1つの費用を決定することは、前記非アクティブなリソース利用量、および、前記少なくとも1つの実装リソースの少なくとも1つの割り当てられた部分に対応するアクティブなリソース利用量、に少なくとも部分的に基づいて費用を決定することを含む、請求項1に記載のコンピュータ実装された方法。   Determining the at least one cost of the virtual resource of the set of customers is an active corresponding to the inactive resource usage and at least one assigned portion of the at least one implemented resource. The computer-implemented method of claim 1, comprising determining a cost based at least in part on the resource usage. 前記費用を決定することは、対応する期間に関して調整されるアクティブな実装リソース費用レートを決定することを含む、請求項4に記載のコンピュータ実装された方法。   The computer-implemented method of claim 4, wherein determining the cost includes determining an active implementation resource cost rate that is adjusted for a corresponding time period. 前記仮想リソースの前記少なくとも1つの費用を決定することは、前記仮想リソースプロバイダの複数の実装リソースに対応するアクティブなおよび非アクティブなリソース利用量に少なくとも部分的に基づいて調整されるアクティブな実装リソース費用レートを決定することを含む、請求項1に記載のコンピュータ実装された方法。   Determining the at least one cost of the virtual resource is an active implementation resource that is adjusted based at least in part on active and inactive resource usage corresponding to a plurality of implementation resources of the virtual resource provider The computer-implemented method of claim 1, comprising determining a cost rate. 前記調整されるアクティブな実装リソース費用レートは、前記複数の実装リソースに関する平均のアクティブなリソース利用量に対する平均の非アクティブなリソース利用量の割合に少なくとも部分的に基づくものである、請求項6に記載のコンピュータ実装された方法。   The adjusted active implementation resource cost rate is based at least in part on a ratio of average inactive resource usage to average active resource usage for the plurality of implementation resources. The computer-implemented method described. 仮想リソース費用を追跡するコンピュータ化されたシステムであって、
仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを集合的に実装することが可能な、複数の実装リソースと、
前記複数の顧客が、前記仮想リソースが前記複数の顧客のうちの1組の顧客に専用である実装リソースで実装されることを示す要求を含む、前記仮想リソースをプロビジョニングする要求をすることを可能にするように少なくとも構成された、プロビジョニングインタフェースと、
実装リソース割り当て構成要素であって、少なくとも、
前記複数の顧客のうちの少なくとも前記の組の顧客に専用の前記複数の実装リソースのうちの少なくとも1つを含む、少なくとも1つの専用実装リソースプールを維持し、ならびに
前記要求によって示されるように前記少なくとも1つの専用実装リソースプールから実装リソースを選択することを含めて要求された仮想リソースを実装するために、前記複数の実装リソースにおける実装リソースの少なくとも一部を割り当てるように構成された、実装リソース割り当て構成要素と、
費用追跡構成要素であって、少なくとも、
前記少なくとも1つの専用実装リソースプールから選択される少なくとも1つの実装リソースの少なくとも1つの割り当てられた部分に対応するアクティブなリソース利用量を決定し、
前記少なくとも1つの専用実装リソースプールから選択される前記少なくとも1つの実装リソースの少なくとも1つの割り当てられていない部分に対応する非アクティブなリソース利用量を決定し、ならびに
前記少なくとも1つの専用実装リソースプールから選択される前記少なくとも1つの実装リソースで少なくとも部分的に実装される少なくとも1つの仮想リソースの少なくとも1つの費用であって、前記アクティブなリソース利用量および前記非アクティブなリソース利用量に少なくとも部分的に基づく前記少なくとも1つの費用を決定するように構成された、費用追跡構成要素と、
前記少なくとも1つの仮想リソースの前記少なくとも1つの費用を前記の組の顧客に提示するように少なくとも構成されたユーザインタフェース構成要素と、を備える、コンピュータ化されたシステム。
A computerized system for tracking virtual resource costs,
Multiple implementation resources capable of collectively implementing multiple virtual resources associated with multiple virtual resource provider customers;
Allowing the plurality of customers to request provisioning of the virtual resource, including a request indicating that the virtual resource is implemented with an implementation resource dedicated to a set of customers of the plurality of customers; A provisioning interface, at least configured to
Implementation resource allocation component, at least
Maintaining at least one dedicated implementation resource pool that includes at least one of the plurality of implementation resources dedicated to at least the set of customers of the plurality of customers, and as indicated by the request Implementation resources configured to allocate at least some of the implementation resources in the plurality of implementation resources to implement the requested virtual resource including selecting an implementation resource from at least one dedicated implementation resource pool. An assignment component;
A cost tracking component, at least,
Determining an active resource usage corresponding to at least one assigned portion of at least one implementation resource selected from the at least one dedicated implementation resource pool;
Determining inactive resource usage corresponding to at least one unassigned portion of the at least one implementation resource selected from the at least one dedicated implementation resource pool, and from the at least one dedicated implementation resource pool At least one cost of at least one virtual resource implemented at least in part with the at least one implementation resource selected, at least in part on the active resource usage and the inactive resource usage. A cost tracking component configured to determine the at least one cost based on;
A computerized system comprising: a user interface component configured at least to present the at least one cost of the at least one virtual resource to the set of customers.
前記実装リソース割り当て構成要素は、優先権を有する前記の組の顧客を含む前記複数の顧客の仮想リソースに割り当てるために利用可能な前記複数の実装リソースの少なくとも1つを含む少なくとも1つの予約された実装リソースプールを維持するように少なくとも更に構成され、
前記費用追跡構成要素は、前記の組の顧客のために、前記少なくとも1つの予約された実装リソースプール内の前記複数の実装リソースのうちの前記少なくとも1つに対応する予約されたリソース利用量を決定するように少なくとも更に構成され、
前記少なくとも1つの費用は、前記予約されたリソース利用量に少なくとも部分的に更に基づくものである、請求項8に記載のコンピュータ化されたシステム。
The implementation resource allocation component includes at least one reserved resource including at least one of the plurality of implementation resources available for allocation to the plurality of customer virtual resources including the set of customers having priority. At least further configured to maintain an implementation resource pool;
The cost tracking component may provide a reserved resource usage corresponding to the at least one of the plurality of implementation resources in the at least one reserved implementation resource pool for the set of customers. At least further configured to determine,
The computerized system of claim 8, wherein the at least one cost is further based at least in part on the reserved resource usage.
前記少なくとも1つの仮想リソースの前記少なくとも1つの費用を決定することは、
前記予約されたリソース利用量に少なくとも部分的に基づいて第1の費用を決定することと、
前記予約されたリソース利用量に少なくとも部分的に基づいて前記アクティブなおよび非アクティブなリソース利用量を修正することと、
前記修正されたアクティブなおよび非アクティブなリソース利用量に少なくとも部分的に基づいて第2の費用を少なくとも決定することと、
を含む、請求項9に記載のコンピュータ化されたシステム。
Determining the at least one cost of the at least one virtual resource comprises:
Determining a first cost based at least in part on the reserved resource usage;
Modifying the active and inactive resource usage based at least in part on the reserved resource usage;
Determining at least a second cost based at least in part on the modified active and inactive resource usage;
The computerized system of claim 9, comprising:
仮想リソースをプロビジョニングするコンピュータ化されたシステムであって、
仮想リソースプロバイダの複数の顧客に関連付けられた複数の仮想リソースを集合的に実装することが可能な複数の共有可能な実装リソースと、
前記複数の顧客が仮想リソースをプロビジョニングする要求をすることを可能にするように少なくとも構成されたプロビジョニングインタフェースと、
前記複数の仮想リソースに対する前記複数の共有可能な実装リソースの割り当てを追跡し、前記要求に応答する前記割り当てを修正するように少なくとも構成された実装リソース割り当て構成要素であって
前記複数の共有可能な実装リソースのうち少なくとも1つの情報バリアを組み込み可能な少なくとも1つを前記複数の顧客のうちの少なくとも1人の顧客に専用にすることと、
少なくとも1つの仮想リソースが前記少なくとも1人の顧客に専用の実装リソースで少なくとも部分的に実装されることを前記要求が示すとき、前記少なくとも1人の顧客によって要求された前記少なくとも1つの仮想リソースに前記複数の共有可能な実装リソースのうちの前記少なくとも1つを割り当てることによって少なくとも部分的に前記仮想リソースプロバイダの前記少なくとも1人の顧客と他の顧客との間に前記少なくとも1つの情報バリアを確立することと、を含む、実装リソース割り当て構成要素と、
を備える、コンピュータ化されたシステム。
A computerized system for provisioning virtual resources,
A plurality of sharable implementation resources capable of collectively implementing a plurality of virtual resources associated with a plurality of virtual resource provider customers;
A provisioning interface configured at least to allow the plurality of customers to request provisioning of virtual resources;
An implementation resource allocation component configured to track allocation of the plurality of shareable implementation resources to the plurality of virtual resources and modify the allocation in response to the request ;
Dedicating at least one of the plurality of sharable implementation resources capable of incorporating at least one information barrier to at least one of the plurality of customers;
When the request indicates that at least one virtual resource is at least partially implemented with a dedicated implementation resource for the at least one customer, the at least one virtual resource requested by the at least one customer Establishing the at least one information barrier between the at least one customer and other customers of the virtual resource provider at least in part by assigning the at least one of the plurality of shareable implementation resources An implementation resource allocation component comprising:
A computerized system comprising:
前記実装リソース割り当て構成要素は、少なくとも、
専用実リソースプールを維持するように更に構成され、前記専用実リソースプールは、前記少なくとも1人の顧客に専用にされた前記複数の共有可能な実装リソースのうち少なくとも2つを含み、各実装リソースが、仮想リソース実装容量および前記仮想リソース実装容量に対する割り当ての現行レベルを有し、および
前記割り当てが前記実装リソースの前記仮想リソース実装容量を超えないとき、前記割り当ての最大現行レベルを有する前記専用実装リソースプール内の実装リソースに前記少なくとも1人の顧客によって要求された前記少なくとも1つの仮想リソースを割り当てるように、
更に構成される、請求項11に記載のコンピュータ化されたシステム。
The implementation resource allocation component is at least
Is further configured to maintain a dedicated implementation resource pool, the dedicated implementation resource pool includes at least two of the at least one shared possible implementation resources plurality of which are dedicated to customer, each The implementation resource has a virtual resource implementation capacity and a current level of allocation to the virtual resource implementation capacity, and the allocation resource has a maximum current level of allocation when the allocation does not exceed the virtual resource implementation capacity of the implementation resource Assigning the at least one virtual resource requested by the at least one customer to an implementation resource in a dedicated implementation resource pool;
The computerized system of claim 11, further configured.
前記実装リソース割り当て構成要素は、移動が、割り当てのより高い現行レベルを有する前記専用実装リソースプール内の前記実装リソースの前記仮想リソース実装容量を超えないとき、割り当てのより低い現行レベルを有する前記専用実装リソースプール内の実装リソースから割り当てのより高い現行レベルを有する前記専用実装リソースプール内の実装リソースに仮想リソースを移動させるように少なくとも更に構成される、請求項12に記載のコンピュータ化されたシステム。   The implementation resource allocation component is the dedicated resource having a lower current level of allocation when movement does not exceed the virtual resource implementation capacity of the implemented resource in the dedicated implementation resource pool having a higher current level of allocation. The computerized system of claim 12, further configured to move a virtual resource from an implementation resource in the implementation resource pool to an implementation resource in the dedicated implementation resource pool having a higher current level of allocation. .
JP2013529433A 2010-09-30 2011-09-21 Virtual resource cost tracking using dedicated implementation resources Active JP5706529B2 (en)

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
JP2015036886A Division JP5948451B2 (en) 2010-09-30 2015-02-26 Virtual resource cost tracking using dedicated implementation resources

Publications (2)

Publication Number Publication Date
JP2013541093A JP2013541093A (en) 2013-11-07
JP5706529B2 true JP5706529B2 (en) 2015-04-22

Family

ID=45938614

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013529433A Active JP5706529B2 (en) 2010-09-30 2011-09-21 Virtual resource cost tracking using dedicated implementation resources
JP2015036886A Active JP5948451B2 (en) 2010-09-30 2015-02-26 Virtual resource cost tracking using dedicated implementation resources

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015036886A Active JP5948451B2 (en) 2010-09-30 2015-02-26 Virtual resource cost tracking using dedicated implementation resources

Country Status (7)

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

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 (en) * 2012-08-31 2017-07-05 華為技術有限公司Huawei Technologies Co.,Ltd. Central processing unit resource allocation method and computing node
CN104348881B (en) * 2013-08-08 2018-11-30 中国电信股份有限公司 User resources division methods and device in cloud management platform
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 (en) * 2017-04-06 2019-01-30 華為技術有限公司Huawei Technologies Co.,Ltd. Central processing unit resource allocation method and computing node
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

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60113539T2 (en) * 2000-07-05 2006-06-22 Ernst & Young Llp METHOD AND DEVICE FOR PROVIDING COMPUTER SERVICES
JP4292693B2 (en) * 2000-07-07 2009-07-08 株式会社日立製作所 Computer resource dividing apparatus and resource dividing method
US6968323B1 (en) * 2000-10-05 2005-11-22 International Business Machines Corporation Dynamic allocation and pricing of resources of web server farm
JP2002241923A (en) * 2001-02-19 2002-08-28 Sony Corp Treatment unit, treatment apparatus, treatment method, and system and method for manufacturing display device
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
JP3879471B2 (en) * 2001-10-10 2007-02-14 株式会社日立製作所 Computer resource allocation method
US7720968B2 (en) * 2003-04-30 2010-05-18 International Business Machines Corporation Method and system of configuring elements of a distributed computing system for optimized value
JP2007510198A (en) * 2003-10-08 2007-04-19 ユニシス コーポレーション Paravirtualization of computer systems using hypervisors implemented in host system partitions
WO2005083576A1 (en) * 2004-01-30 2005-09-09 International Business Machines Corporation Hierarchical resource management for a computing utility
JP4568289B2 (en) * 2004-01-30 2010-10-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus for arbitration in computing utility systems
JP4197303B2 (en) * 2004-02-17 2008-12-17 株式会社日立製作所 Computer resource management method, execution apparatus, and processing program
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 (en) * 2007-10-31 2012-08-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Resource management system, resource management apparatus and method
JP4523965B2 (en) * 2007-11-30 2010-08-11 株式会社日立製作所 Resource allocation method, resource allocation program, and operation management apparatus
KR100944912B1 (en) * 2007-12-14 2010-03-03 한국전자통신연구원 Disk I/O Scheduler for Server Virtualization Environment and Scheduling Method Thereof
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 Secure multi-purpose computing client
US20100036957A1 (en) * 2008-08-08 2010-02-11 Oracle International Corporation Method and System for Implementing Transfer of a Network Session
JP2010205209A (en) * 2009-03-06 2010-09-16 Hitachi Ltd Management computer, computer system, and physical resource allocating method
SG188455A1 (en) * 2010-09-30 2013-04-30 Amazon Tech Inc Virtual resource cost tracking with dedicated implementation resources

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5948451B2 (en) Virtual resource cost tracking using dedicated implementation resources
US11842208B2 (en) Virtual provisioning with implementation resource boundary awareness
US10013662B2 (en) Virtual resource cost tracking with dedicated implementation resources
US10198297B1 (en) Provisioning virtual resource on a server based on label associated with virtual resource and servers
Yousafzai et al. Cloud resource allocation schemes: review, taxonomy, and opportunities
US9319286B2 (en) Apparatus and methods for managing applications in multi-cloud environments
US11086648B1 (en) Trust-based resource allocation
US8868766B1 (en) Optimizing communication among collections of computing resources
Deshpande et al. Security and service assurance issues in Cloud environment
US9767445B1 (en) Statistically cost-following accounting model
US20050273507A1 (en) Method and system for managing heterogeneous resources across a distributed computer network
US10942769B2 (en) Elastic load balancing prioritization
JP2014086083A (en) Utilizing social graph for network access and admission control
CN114598665A (en) Resource scheduling method and device, computer readable storage medium and electronic equipment
US20230161634A1 (en) Mapping an application signature to designated cloud resources
Labes et al. Standardization approaches within cloud computing: Evaluation of infrastructure as a service architecture
US11101997B2 (en) Cryptographic key management
AU2014265092B2 (en) Virtual resource cost tracking with dedicated implementation resources
Mury et al. Task distribution models in grids: towards a profile‐based approach
US11973666B1 (en) Systems and methods for using blockchain to manage service-level agreements between multiple service providers
US20230418634A1 (en) Method and system for provisioning and management of dynamic desktops
US20240121171A1 (en) Systems and methods for using blockchain to manage service-level agreements between multiple service providers
US20210357259A1 (en) Cognitive processing resource allocation
Jiang Three Essays on Availability-Aware Optimal Resource Allocation and Pricing Strategy in Cloud Computing
Shukla et al. Review on Various Energy-Aware and SLA Violation Reduction Techniques

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150226

R150 Certificate of patent or registration of utility model

Ref document number: 5706529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250