Systems and methods for cloud-based resources
By monitoring and automatically managing cloud-based resource usage, the problems of resource flexibility and license compliance in cloud-based computing deployment are solved, resource management flexibility and compliance are achieved, and the complexity and cost of compliance reporting are reduced.
Patent Information
- Application Number
- CN202080054847.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-25
- Filing Date
- 2020-06-08
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2040-06-08
AI Technical Summary
In cloud-based computing deployment, existing systems are difficult to effectively manage resource flexibility and license compliance, resulting in decentralized compliance reports and incomplete self-report records, which may lead to unintentional violation of license requirements.
By monitoring cloud-based resource usage, automatically activate and manage software license resources, leverage license retention mechanisms to achieve resource flexibility, provide a user interface to indicate and manage license resource flexibility, and support on-demand deployment and activation of licenses.
Resilience and license compliance for cloud-based resource management is achieved, reducing the complexity of compliance reporting, ensuring compliance and cost-effectiveness, and avoiding inadvertent violations of license requirements.
Smart Images

Figure CN114175602B_ABST
Abstract
Description
Background Art
[0001] Cloud-based computing deployments present a rights management challenge that doesn't exist in typical on-premise computing deployments. For example, in on-premise deployments, the system resources (e.g., operating systems, database management systems) that require licenses are largely fixed, and the licenses are purchased along with the resources. As resources are added to an on-premise deployment, the corresponding licenses are purchased along with them. On-premise customers maintain these licenses to ensure regulatory compliance and provide documented evidence of such compliance in the event of an audit by one or more resource providers.
[0002] Cloud-based deployments, by their nature, typically provide resource elasticity. For example, a cloud-based deployment may allow for dynamic and potentially temporary increases in the compute scale of a customer's deployment due to increased business needs. Such increases may require the customer to obtain additional licenses in order to maintain compliance. Current systems for obtaining additional licenses are cumbersome and lack any centralized management. Alternatively, customers may simply purchase additional licenses in a traditional manner to maintain a buffer of available licenses in case additional licenses are eventually needed. This buffer is not cost-effective, may eventually be exhausted (requiring more additional licenses), and does not solve the problem of centralized license management.
[0003] Some cloud platforms offer Bring Your Own License (BYOL) benefits to support migration to the cloud. These benefits provide full or partial credit for previously purchased on-premises licenses associated with resources deployed in the cloud (such as, but not limited to, SQL management instances, SQL databases, and SQL virtual machines). To apply this benefit, customers typically self-report the existence of on-premises licenses corresponding to the resources to be deployed in the cloud. As mentioned above, BYOL solutions do not address resource elasticity issues. In addition, records of self-reported licenses are typically scattered across many resources subscribed to by different customers, which hinders compliance reporting. Users responsible for deploying cloud resources and confirming the existence of licenses often do not have access to applicable enterprise agreements and the license details therein, which can lead to inadvertent violations of license requirements. Summary of the Invention
[0004] The present disclosure relates to a system for cloud-based resources, including a memory storing processor-executable processing steps; and a processing unit configured to execute the processor-executable processing steps to associate a first plurality of software licenses of a first type with a first plurality of cloud-based resources. Based on the first plurality of cloud-based resources, a first number of the first plurality of software licenses to be activated is determined, and the first number of the first plurality of software licenses is activated. Usage of the first plurality of cloud-based resources is monitored, and based on the monitored usage, one or more second cloud-based resources are determined to be added to the first plurality of cloud-based resources. In response to the determination of the second one or more cloud-based resources, a second number of the first plurality of software licenses to be activated is determined based on the second one or more cloud-based resources. Determining whether the number of inactive software licenses in a first plurality of software licenses is less than a second number, and responsive to determining that the number of inactive software licenses in the first plurality of software licenses is less than the second number: determining whether automatic license resource elasticity is enabled for the first plurality of software licenses by accessing a license reservation for the first plurality of software licenses, the license reservation including an indicator of whether automatic license resource elasticity is enabled for the first plurality of software licenses, wherein the license reservation is instantiated in response to receiving a request generated by a user via interaction with a user interface, and wherein the user interface includes elements by which the user can indicate whether automatic license resource elasticity is enabled for the first plurality of software licenses; and responsive to determining that automatic license resource elasticity is enabled for the first plurality of software licenses, activating one or more software licenses of a second type and associating the one or more software licenses of the second type with a second one or more cloud-based resources.
[0005] The present disclosure relates to a method for cloud-based resources, including associating a first plurality of software licenses of a first type with a first subscription, the first subscription being associated with the first plurality of cloud-based resources; determining a first number of the first plurality of software licenses to activate based on the type of the first plurality of cloud-based resources; and activating the first number of the first plurality of software licenses. The method further includes monitoring usage of the first plurality of cloud-based resources, determining one or more second cloud-based resources associated with the first subscription based on the monitored usage, determining a second number of the first plurality of software licenses to activate based on the type of the second one or more cloud-based resources in response to determining the second one or more cloud-based resources, and determining whether a number of inactive software licenses in the first plurality of software licenses is less than a second number. In response to determining that the number of inactive software licenses in the first plurality of software licenses is less than the second number, determining whether automatic license resource elasticity is enabled for the first plurality of software licenses by accessing a license reservation for the first plurality of software licenses, the license reservation including an indicator of whether automatic license resource elasticity is enabled for the first plurality of software licenses, wherein the license reservation is instantiated in response to receiving a request generated by a user via interaction with a user interface, and wherein the user interface includes a component by which the user can indicate whether automatic license resource elasticity is enabled for the first plurality of software licenses. In response to determining that automatic license resource elasticity is enabled for the first plurality of software licenses, one or more software licenses of a second type are activated, and second one or more cloud-based resources are associated with the first subscription.
[0006] The present disclosure relates to a system for cloud-based resources, including a cloud-based resource collection, a resource manager configured to: receive an instruction to associate a first plurality of software licenses of a first type with a first subscription, the first subscription being associated with a first plurality of cloud-based resources in the cloud-based resource collection; determine a first number of the first plurality of software licenses to be activated based on the type of the first plurality of cloud-based resources in the cloud-based resource collection; and activate the first number of the first plurality of software licenses; and a usage monitor configured to monitor usage of the first plurality of cloud-based resources in the cloud-based resource collection; wherein the resource manager is further configured to determine a second plurality of cloud-based resources in the cloud-based resource collection to be associated with the first subscription based on the monitored usage; and in response to determining the second plurality of cloud-based resources, determine a second number of the first plurality of software licenses to be activated based on the second plurality of cloud-based resources in the cloud-based resource collection. Determining whether the number of inactive software licenses in a first plurality of software licenses is less than a second number; in response to determining that the number of inactive software licenses in the first plurality of software licenses is less than the second number: determining whether automatic license resource elasticity is enabled for the first plurality of software licenses by accessing a license reservation for the first plurality of software licenses, the license reservation including an indicator of whether automatic license resource elasticity is enabled for the first plurality of software licenses, wherein the license reservation is instantiated in response to receiving a request generated by a user via interaction with a user interface, and wherein the user interface includes elements through which the user can indicate whether automatic license resource elasticity is enabled for the first plurality of software licenses; and in response to determining that automatic license resource elasticity is enabled for the first plurality of software licenses, activating one or more software licenses of a second type and associating a second plurality of cloud-based resources in the cloud-based resource collection with the first subscription. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 Illustrated is an architecture for providing and monitoring on-demand cloud-based resources including licenses, according to some embodiments.
[0008] Figure 2 is a flow diagram of a process for providing cloud-based license resources according to some embodiments.
[0009] Figure 3 Illustrated is an architecture for deploying cloud-based resources including licenses according to some embodiments.
[0010] Figure 4 Depicted is a user interface for viewing and managing cloud-based resource allocations according to some embodiments.
[0011] Figure 5Depicted is a user interface for viewing and managing cloud-based license resource reservations, according to some embodiments.
[0012] Figure 6 Illustrated is the allocation of license reservations to multiple subscriptions in accordance with some embodiments.
[0013] Figure 7 Illustrated is the assignment of multiple license reservations to multiple resource groups in accordance with some embodiments.
[0014] Figure 8 is a block diagram of a computing system for deploying cloud-based licensing resources, according to some embodiments. DETAILED DESCRIPTION
[0015] The following description is provided to enable any person skilled in the art to make and use the described embodiments. However, various modifications will still be apparent to those skilled in the art.
[0016] According to some embodiments, software licenses are treated as deployable and elastic cloud resources, similar to resources such as compute, storage, and I / O. Like other cloud resources, software licenses can be deployed manually or on demand on an ad-hoc basis. Furthermore, the cost of the deployed software license resources can be effectively incorporated into the cost of the customer's corresponding hosting subscription.
[0017] In some embodiments, a number of software licenses or license capacity can be reserved by purchasing licenses through a reservation mechanism. Purchasing software licenses for reservation can provide customers with a corresponding discount compared to purchasing software licenses on an ad hoc basis. According to some embodiments, previously purchased on-premises licenses can be exchanged for all or a portion of the credit for the cloud software licenses to be used in the reservation.
[0018] In a typical cloud resource reservation scenario, software licenses are initially provisioned on demand from the reserved software licenses. Once the reserved software licenses are exhausted, any additional software licenses required can be instantiated and activated on demand by the cloud service provider. According to some embodiments, the cost of these subsequent software licenses can be based on the use of cloud resources authorized by the software licenses.
[0019] Thus, some embodiments may provide elasticity in resource allocation and support license-compliant operation of customer cloud deployments.
[0020] Figure 1 The architecture 100 is intended to illustrate operation according to some embodiments. The embodiments are not limited to the architecture 100 or to the foregoing description thereof.
[0021] Architecture 100 includes a client system 110. Client system 110 may comprise any standalone or distributed computing system for communicating with a resource manager 120 of a cloud deployment 130. In some embodiments, client system 110 may comprise a desktop computing system and may be operated by a customer to access an interface provided by resource manager 120 to create, update, and delete cloud-based resources of cloud deployment 130. In some embodiments, the customer establishes a subscription with an organization hosting cloud deployment 130, and the cloud-based resources of cloud deployment 130 are associated with the subscription.
[0022] Cloud-based resources are hosted and managed items that can be used by external devices via the Internet protocol stack. Cloud-based resources can include, but are not limited to, servers, virtual machines, storage accounts, web applications, databases, virtual networks, software, analytics, and intelligence. Customers typically pay only for the resources they use, which reduces operating costs and provides scale to handle increased demand.
[0023] The cloud-based resources of cloud deployment 130 can be accessed by the customer, the customer's customers, or any appropriate entity. For example, a customer can define the computing and storage resources of cloud deployment 130 to provide a publicly accessible online store. In another example, the resources of cloud deployment 130 perform back-office functions for the customer.
[0024] According to some embodiments, and in response to instructions from client system 110, resource manager 120 can instantiate a software license resource and associate the software license resource with a customer subscription. A software license resource can be associated with a specific resource or resource group within a subscription. The software license resource provides the holder of the software license resource (e.g., a customer operating client system 110) with the right to execute software according to the terms of the software license. For example, the software can be executed by other resources associated with the customer subscription (e.g., a virtual machine, a database).
[0025] Figure 1 Also illustrated is a usage monitor 140. The hosting entity can operate the usage monitor to monitor the usage of one or more resources of the cloud deployment 130. The usage monitor 140 can track the total time each resource is used. This total usage time 145 can be transmitted to a reporting system 150 of the hosting entity.
[0026] Typically, the reporting system 150 can be operated to generate a usage report 160. The usage report 160 can include a list of resources associated with a given subscription. The report 160 can also associate each resource (including any software license resources) with a total usage time and a cost calculated based on the total usage time (e.g., = cost_per_hour (cost per hour) x total_usage_time_in_hours (total usage time in hours)).
[0027] The reporting system 150 can execute the reporting code 170 to generate a report 160 based on the total usage time 145. The generation of the report 160 or 360 can also be based on the resource reservations associated with a given subscription. The reporting system 150 includes data describing the computing resource reservations 180, the storage resource reservations 185, and the software license resource reservations 190. The reservations 370 are not limited to these three types of resources. For example, the reporting system 150 can periodically (e.g., monthly) obtain the total usage time 145 from the usage monitor 140, determine the portion of the total usage time 145 that is not associated with the pre-reserved resources defined by the resource reservations 180, 185, and 190, and calculate the monthly resource cost associated with the determined portion.
[0028] According to some embodiments, a resource reservation may include one or more resources associated with a subscription and may be billed in advance of use. For example, a customer may request to reserve five virtual machines with a specific configuration. The reservation may be associated with a time period, such as one year, after which the reservation expires. The customer may pay for the five reserved virtual machines before the start of the time period. The total cost of the reservation may be less than the cost of using five non-reserved virtual machines over the course of a year. Thus, reservations may provide cost savings and cost certainty. If the total usage of the reserved resources during the reservation period is less than expected, the reservation may result in increased costs. The establishment and management of software license resource reservations according to some embodiments will be discussed in detail below.
[0029] Figure 2 A flow chart of process 200 for providing a software license as a cloud-based resource is included according to some embodiments. In some embodiments, a processing unit (e.g., one or more processors, processing cores, processor threads) of a cloud service provider and / or resource manager executes software program code to perform process 200. Process 200 and all other processes mentioned herein can be embodied in processor-executable program code read from one or more non-transitory computer-readable media, such as volatile or non-volatile random access memory, fixed disk drives, DVD-ROMs, flash drives, and tapes, and then stored in a compressed, uncompiled, and / or encrypted format. Thus, embodiments are not limited to any specific combination of hardware and software.
[0030] Initially, at S210, a request for a cloud-based software license resource reservation is received. The request may be received by resource manager 120 from client system 110 via a management and monitoring portal and may include requests for other cloud-based resources, including one or more resources associated with the software license resource (e.g., resources requiring the license resource for compliance). Depending on the functionality of the portal, the request may specify characteristics of the software license resource, such as a duration, resources to which the software license resource applies, and a total number of software license resources to be included in the reservation.
[0031] In some implementations, the cost of each software license resource in the reservation is lower than the cost of each software license resource purchased directly (outright). However, the use of the reserved software license resources may be subject to restrictions to prevent the software license from completely replacing the full-price software license resources.
[0032] According to some embodiments, the request received at S210 includes a request to exchange a previously purchased software license (e.g., an on-premises software license) for a corresponding cloud-based software license to be used in the resource reservation. Constraints may be applied to the type of previously purchased software license, and a previously purchased software license may be exchanged for a specific type of cloud-based software license. A previously purchased on-premises license may be exchanged for all or a portion of the credit for the corresponding cloud-based software license. Thus, the request received at S210 may include a request to purchase one or more software licenses and / or a request for credit for one or more software licenses based on an existing software license.
[0033] Figure 3 The diagram illustrates an architecture 300 for describing process 200, according to some embodiments. A client system 310 requests resources from a resource manager 320 located in a public cloud 330. The request can specify data center resources and architecture and can include configuration information of any degree of specificity. Based on the request, the resource manager 320 transmits the resource configuration information to a data center 340.
[0034] The requested resources may include computing, storage, I / O, and other types of resources. As described herein, the requested resources may also include software licenses. In one example, client system 310 may access a management portal provided by resource manager 320 to request a specific VM resource running a specific operating system, as well as one or more license resources required to run the specific operating system on the specific VM resource.
[0035] Figure 4A user interface 400 for managing cloud-based resources is illustrated in accordance with some embodiments. The user interface 400 may include an interface for the management portal of the resource manager 320 as described above. The user interface 400 may list all resources associated with a customer account, which in turn may include one or more subscriptions. The resources displayed on the user interface 400 may be filtered by subscription, resource group (i.e., a defined set of one or more resources), type, and any other suitable characteristics.
[0036] According to some embodiments, Figure 5 User interface 500 may be used to request a software license resource reservation at S210. A license reservation may be defined using a name, a type of licensed software (e.g., SQL Server), a number of software license resources to be included in the reservation, an expiration date, and an indication of the elasticity of the reservation. A license reservation may also specify one or more subscriptions, one or more resources, and one or more resource groups associated with the license reservation.
[0037] As will be described in detail below, reservation flexibility determines whether additional software license resources of the same type can be instantiated and activated on demand. These additional software license resources can be charged to the customer based on usage (i.e., usage of the resources covered by the additional software license resources). As shown, the user interface 500 can also list the currently registered license resource reservations.
[0038] According to some embodiments, a customer may be permitted to use previously purchased on-premises software licenses in a cloud-based software license resource reservation. In this case, the management portal may allow the customer to specify a number of on-premises software licenses already owned by the customer and their respective expiration dates. These software licenses may contribute to the cost of the cloud-based software license resource reservation. For example, each of the already owned on-premises software licenses may entitle the customer to a discount on the price of the cloud-based software license used by the cloud resource.
[0039] After receiving the request at S210, a software license resource reservation is instantiated at S220. In some embodiments, the resource manager 320 transmits resource reservation information to the reporting system 350 based on the request received at S210. The reporting system 350 then instantiates the software license resource reservation by storing data including details of the software license resource reservation. The details may include, but are not limited to: the account of the requesting customer, the scope of the software license resource (i.e., the covered subscription(s), resource group(s), and / or resource(s)), the software covered by the software license resource, the customer's resource(s) on which the software is executed, the duration of the reservation, and the cost of making the reservation to the customer.
[0040] Figure 6 The diagram illustrates an instantiation of a software license resource reservation according to some embodiments. Example software license resource reservation 610 is associated with subscription 620 and subscription 630 of a customer account. Subscription 620 includes a single resource group, and subscription 630 includes two resource groups. Software license resource reservation 610 can be used to provision required software licenses for any resource in subscriptions 620 and 630.
[0041] Instantiation data 640 describes the characteristics of software license resource reservation 610 and can be stored by reporting system 350 at S220. The characteristics include an appliedScopeType of "shared," which indicates that the software license resources of software license resource reservation 610 can be applied to any resource of the customer account. Data 640 also indicates that reservation 610 includes fifty software license resources.
[0042] Figure 7 Software license resource reservation 710 and software license resource reservation 720 are shown, both of which are associated with a single subscription 730 of a customer account. The software license resources of software license resource reservations 710 and 720 may not be applied to resources associated with any other subscription of the customer account. Furthermore, each of software license resource reservations 710 and 720 is associated with a dedicated resource group. According to some embodiments, the software licenses of software license resource reservation 710 may be applied to resources of resource group 750, and the software licenses of software license resource reservation 720 may be applied to resources of resource group 740.
[0043] The instantiation data 760 describes the characteristics of the software license resource reservation 720. The characteristics include an appliedScopeType of "dedicated," which indicates that the software license resources of the software license resource reservation 760 can be applied to resources within a specified resource scope. The scope is defined by the appliedScopes parameter, which in this example identifies the resource group 740 of the subscription 720.
[0044] S220 may also include transmitting resource configuration information from the resource manager 320 to the data center 340. The data center 340 configures its resources to instantiate the requested resources based on the received resource configuration information. For example, the data center manager 341 may transmit information to the controllers 342, 343, and 344 to instantiate several virtual machines with various characteristics within the server clusters 345, 346, and / or 347. Each virtual machine may execute its own operating system, which may be the same as or different from the operating system executed on any other virtual machine. Each virtual machine may run one or more applications on its operating system. Each server node of the clusters 345, 346, and 347 also includes a storage device (e.g., a hard drive) and memory (e.g., RAM) that can be accessed and used by the processor and virtual machine of the node. In other architectures, some server nodes may be dedicated to storage, while other nodes are dedicated to executing virtual machines.
[0045] After S220, it is assumed that the customer will use the instantiated cloud-based resources for their intended processing purposes. The process then loops at S230 until it is determined that the software license resources are needed. In some embodiments, the determination at S230 can be performed by the resource manager 230. In this regard, because the resource manager 230 can centrally manage software license resources and other resources, the resource manager 230 can maintain a count of the reserved active software license resources and apply logic to determine whether the customer's active software license resources are sufficient given the customer's other currently deployed resources. This logic can be based on the subscription and resource group associated with the resource, as well as the specified scope of any instantiated license resource reservations associated with the customer's account.
[0046] If the client's active software license resources are insufficient, then at S240 , a determination is made as to whether the applicable license resource reservations are exhausted. In other words, at S240 , a determination is made as to whether all software license resources in the applicable license resource reservations have been activated for use. If not, then at S250 , one of the reserved cloud-based license resources is activated. Activation may include incrementing a count of the reserved active license resources. The process then returns to S230 .
[0047] If it is determined at S240 that the applicable license resource reservation has been exhausted, the process proceeds to S270. At S270, it is determined whether the license resource reservation is considered elastic. In this regard, elasticity is a property that allows automatic instantiation of software license resources corresponding to the license reservation on demand. According to some embodiments, and as described with respect to Figure 5 As described, a customer may define a software license resource reservation as elastic during a software license resource reservation request.
[0048] If elasticity has been enabled, the process proceeds to S280 to instantiate and activate the cloud-based software license resource.If it is determined at S230 that more than one license resource is needed, more than one license resource is instantiated and activated at S280.
[0049] According to some embodiments, the software license resources of S280 are of a different type than the software license resources of resource reservations. For example, the software license resources of resource reservations may be associated with an expiration date (e.g., 1 year), and the fees associated with these software license resources may be based on the expiration date (e.g., $X per license per year). In some cases, the fees may be charged in advance of the expiration date.
[0050] On the other hand, the software license resource at S280 can charge customers based on license usage. The usage of the software license resource can be represented by the monitored usage of the cloud-based resources associated with the software license resource. For example, if the software license resource activated at S280 covers software executed by a server resource, the corresponding license usage is equal to the monitored usage of the server resource.
[0051] A reporting system, such as reporting system 150 or reporting system 350, can track software license reservations and software license resources activated at S280. Accordingly, such a reporting system can use usage data to determine periodic (e.g., monthly) costs associated with the software license resources activated at S280 as described above. Regardless of usage data associated with the cloud-based resources covered by such software license resources, periodic costs are not determined for reserved software license resources.
[0052] If it is determined at S270 that elasticity is not enabled, resource consumption can be throttled at S290. Resource consumption is throttled or reduced at S290 to ensure compliance with software license requirements. Specifically, changes to the deployment at S230 that result in the need for another license resource can be rolled back (if the change has already been made) or aborted (if the change has not yet taken effect) at S290. Compared to a solution that allows elasticity, throttling resource consumption can provide more certainty about costs, which may harm performance. The process can then return from S290 to S230 to support the instantiation and activation of the required license resources at S280 if elasticity is enabled later.
[0053] Figure 8800 is a block diagram of an apparatus 800 according to some embodiments. The apparatus 800 may include a general-purpose computing device and may execute program code to perform any of the functions described herein. In some embodiments, the apparatus 800 may include implementations of the resource manager 124, the usage monitor 140, and the reporting server 150. According to some embodiments, the apparatus 800 may include other elements not shown.
[0054] The apparatus 800 includes a processing unit 810 operatively coupled to a communication interface 820, a data storage device 830, one or more input devices 840, one or more output devices 850, and a memory 860. The communication interface 820 can support communication with a network and ultimately with a client system as described above. For example, the input device(s) 840 can include a keyboard, a keypad, a mouse or other pointing device, a microphone, a knob or switch, an infrared (IR) port, a docking station, and / or a touch screen. The input device(s) 840 can be used, for example, to input information into the apparatus 800. The output device(s) 850 can include, for example, a display and a speaker.
[0055] The data storage device 830 may include any suitable persistent storage device, including a combination of magnetic storage devices (e.g., magnetic tape, hard disk drives, and flash memory), optical storage devices, read-only memory (ROM) devices, etc., while the memory 860 may include random access memory (RAM), storage class memory (SCM), or any other fast access memory. The data storage device 830 may be implemented using a distributed storage system.
[0056] Resource manager 832, usage monitor 833, and report server 834 may include program code that is executable by processing unit 810 to cause device 800 to perform any one or more of the processes described herein. Embodiments are not limited to a single device performing these processes. For example, the processes attributed herein to resource manager, usage monitor, and report server may be performed by one or more nodes of a distributed computing system.
[0057] Resource reservations 835 may define resource reservations for one or more customer accounts as described herein. Usage data 836 may associate usage information, such as hours of use, with deployed resources for various customer accounts. Active metered resources 837 may specify resources associated with a customer account and for which the customer account should be charged based on usage. For example, the software license resource activated at S280 of process 200 may be represented in active metered resources 837. Data storage device 830 may also store data and other program code for providing additional functionality and / or functionality necessary for the operation of apparatus 800, such as device drivers, operating system files, and the like.
[0058] Each functional component described herein can be implemented in computer hardware (integrated and / or discrete circuit components), in program code, and / or in one or more computing systems that execute program codes known in the art. Such computing systems may include one or more processing units that execute processor-executable program code stored in a memory system.
[0059] Above-mentioned figure represents the logical framework for describing the process according to some embodiments, and actual implementation can comprise more or different components arranged in other ways.Other topologies can be used in combination with other embodiments.In addition, each assembly or device described herein can be realized by any number of devices that communicate through other public and / or dedicated networks of any number.Two or more of this computing devices can be away from each other, and can communicate with each other via (multiple) networks and / or dedicated connections of any known manner.Each assembly or device can comprise any number of hardware and / or software elements, and these elements are suitable for providing function described herein and any other function.
[0060] The embodiments described herein are for illustration purposes only. Those skilled in the art will recognize that other embodiments can be practiced by modifying and altering the above-described embodiments.
Claims
1. A system for cloud-based resources, comprising: a memory storing processing steps executable by the processor; a processing unit configured to execute the processing steps executable by the processor to: associating a first plurality of software licenses of a first type with a first plurality of cloud-based resources; determining a first number of the first plurality of software licenses to activate based on the first plurality of cloud-based resources; activating said first number of said first plurality of software licenses; monitoring usage of the first plurality of cloud-based resources; determining, based on the monitored usage, a second one or more cloud-based resources to be added to the first plurality of cloud-based resources; responsive to the determination of the second one or more cloud-based resources, determining a second number of the first plurality of software licenses to activate based on the second one or more cloud-based resources; determining whether a number of inactive software licenses in the first plurality of software licenses is less than the second number; as well as In response to determining that the number of inactive software licenses in the first plurality of software licenses is less than the second number: determining whether automatic license resource elasticity is enabled for the first plurality of software licenses by accessing a license reservation for the first plurality of software licenses, the license reservation including an indicator of whether automatic license resource elasticity is enabled for the first plurality of software licenses, wherein the license reservation is instantiated in response to receiving a request generated by a user via interaction with a user interface, and wherein the user interface includes elements by which the user can indicate whether automatic license resource elasticity is enabled for the first plurality of software licenses; as well as In response to determining that automatic license resource elasticity is enabled for the first plurality of software licenses, one or more software licenses of a second type are activated and associated with the one or more software licenses of the second type and the second one or more cloud-based resources.
2. The system of claim 1 , wherein the first type of software license is associated with a validity period, and a first fee associated with the first type of software license is based on the validity period, and Wherein a second fee associated with the second type of software license is based on usage of the second type of software license.
3. The system of claim 1 , wherein the processing unit executing the processor-executable process is configured to: Responsive to a determination that automatic license resource elasticity is not enabled for the first plurality of software licenses, a determination is made not to add the second one or more cloud-based resources to the first plurality of cloud-based resources.
4. The system of claim 1, wherein the software license of the first type comprises a reserved software license and the software license of the second type comprises an on-demand software license. 5 . The system of claim 1 , wherein the cloud-based resources include one or more of the following: a server, a virtual machine, a storage account, a web application, a database, a virtual network, and software.
6. A method for cloud-based resources, comprising: associating a first plurality of software licenses of a first type with a first subscription, the first subscription associated with a first plurality of cloud-based resources; determining a first number of the first plurality of software licenses to activate based on a type of the first plurality of cloud-based resources; activating said first number of said first plurality of software licenses; monitoring usage of the first plurality of cloud-based resources; determining, based on the monitored usage, second one or more cloud-based resources associated with the first subscription; In response to determining the second one or more cloud-based resources, determining a second number of the first plurality of software licenses to activate based on a type of the second one or more cloud-based resources; determining whether a number of inactive software licenses in the first plurality of software licenses is less than the second number; as well as In response to determining that the number of inactive software licenses in the first plurality of software licenses is less than the second number: determining whether automatic license resource elasticity is enabled for the first plurality of software licenses by accessing a license reservation for the first plurality of software licenses, the license reservation including an indicator of whether automatic license resource elasticity is enabled for the first plurality of software licenses, wherein the license reservation is instantiated in response to receiving a request generated by a user via interaction with a user interface, and wherein the user interface includes elements by which the user can indicate whether automatic license resource elasticity is enabled for the first plurality of software licenses; as well as Responsive to determining that automatic license resource elasticity is enabled for the first plurality of software licenses, one or more software licenses of a second type are activated, and the second one or more cloud-based resources are associated with the first subscription.
7. The method of claim 6, wherein the first type of software license is associated with a validity period, and a first fee associated with the first type of software license is based on the validity period, and Wherein a second fee associated with the second type of software license is based on usage of the second type of software license.
8. The method according to claim 6, further comprising: In response to determining that automatic license resource elasticity is not enabled for the first plurality of software licenses, determining not to associate the second one or more cloud-based resources with the first subscription.
9. The method of claim 6, wherein the software license of the first type comprises a reserved software license and the software license of the second type comprises an on-demand software license.
10. A system for cloud-based resources, comprising: A collection of cloud-based resources; Resource Manager for: receiving an instruction to associate a first plurality of software licenses of a first type with a first subscription, the first subscription being associated with a first plurality of cloud-based resources in the set of cloud-based resources; determining a first number of the first plurality of software licenses to activate based on a type of the first plurality of cloud-based resources in the collection of cloud-based resources; activating said first number of said first plurality of software licenses; as well as Use the monitor to: monitoring usage of the first plurality of cloud-based resources in the set of cloud-based resources; The resource manager is further used to: determining, based on the monitored usage, a second plurality of cloud-based resources from the set of cloud-based resources to be associated with the first subscription; In response to determining the second plurality of cloud-based resources, determining a second number of the first plurality of software licenses to activate based on the second plurality of cloud-based resources in the set of cloud-based resources; determining whether a number of inactive software licenses in the first plurality of software licenses is less than the second number; In response to determining that the number of inactive software licenses in the first plurality of software licenses is less than the second number: determining whether automatic license resource elasticity is enabled for the first plurality of software licenses by accessing a license reservation for the first plurality of software licenses, the license reservation including an indicator of whether automatic license resource elasticity is enabled for the first plurality of software licenses, wherein the license reservation is instantiated in response to receiving a request generated by a user via interaction with a user interface, and wherein the user interface includes elements by which the user can indicate whether automatic license resource elasticity is enabled for the first plurality of software licenses; as well as Responsive to determining that automatic license resource elasticity is enabled for the first plurality of software licenses, one or more software licenses of a second type are activated, and the second plurality of cloud-based resources in the set of cloud-based resources are associated with the first subscription.
11. The system of claim 10, wherein the first type of software license is associated with a validity period, and a first fee associated with the first type of software license is based on the validity period, and Wherein a second fee associated with the second type of software license is based on usage of the second type of software license.
12. The system according to claim 10, wherein the resource manager is further configured to: In response to determining that automatic license resource elasticity is not enabled for the first plurality of software licenses, determining not to associate the second plurality of cloud-based resources in the set of cloud-based resources with the first subscription.
13. The system of claim 10, wherein the software license of the first type comprises a reserved software license and the software license of the second type comprises an on-demand software license.
Citation Information
Patent Citations
Distribution of licenses for a third-party service operating in association with a licensed first-party service
CN107066839A
Open resilience framework for simplified and coordinated orchestration of multiple availability managers
US20130185667A1