Verifying software license compliance in cloud computing environments
First Claim
1. A method comprising:
- identifying, by a processing device, a request to instantiate a plurality of virtual machines in a cloud computing environment;
instantiating, by the processing device, the plurality of virtual machines in the cloud computing environment in view of the identified request;
monitoring, by the processing device, an execution of the plurality of virtual machines for a determined time period in accordance with the identified request;
aggregating, by the processing device, a number of instances of software utilized by a plurality of computing processes in the cloud computing environment in view of the monitored execution;
spawning, by the processing device, a computing application using a computing process of a virtual machine of the plurality of virtual machines, wherein the spawning comprises generating, by the processing device, a newly created instance of the software utilized by the spawned computing application;
receiving, by the processing device, utilization data associated with the cloud computing environment;
determining, by the processing device in view of the utilization data, that the number of instances of the software utilized in the cloud computing environment does not comply with a software license subscription associated with the virtual machine;
determining, by the processing device, whether the spawned computing application is utilizing the software via the virtual machine in compliance with the software license subscription in view of the utilization data;
determining, by the processing device, that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment; and
terminating, by the processing device, the spawned computing application utilizing the newly created instance of the software in view of the determination that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment.
1 Assignment
0 Petitions
Accused Products
Abstract
A monitoring system can monitor computing processes in clouds. The monitoring system can verify software license compliance in the computing processes instantiated in the clouds. The monitoring system can generate and maintain a software license knowledge base. The software license knowledge base can include the software license requirements for various software programs. To verify software license compliance, the monitoring system can determine the software programs utilized by the computing processes instantiated in the clouds. The monitoring system can compare the software programs utilized by the computing processes to the software license knowledge base to determine the number of software licenses required by the computing processes. The monitoring system can compare the number of software licenses required to the number of software licenses currently held by the user to determine if the user is in compliance.
104 Citations
20 Claims
-
1. A method comprising:
-
identifying, by a processing device, a request to instantiate a plurality of virtual machines in a cloud computing environment; instantiating, by the processing device, the plurality of virtual machines in the cloud computing environment in view of the identified request; monitoring, by the processing device, an execution of the plurality of virtual machines for a determined time period in accordance with the identified request; aggregating, by the processing device, a number of instances of software utilized by a plurality of computing processes in the cloud computing environment in view of the monitored execution; spawning, by the processing device, a computing application using a computing process of a virtual machine of the plurality of virtual machines, wherein the spawning comprises generating, by the processing device, a newly created instance of the software utilized by the spawned computing application; receiving, by the processing device, utilization data associated with the cloud computing environment; determining, by the processing device in view of the utilization data, that the number of instances of the software utilized in the cloud computing environment does not comply with a software license subscription associated with the virtual machine; determining, by the processing device, whether the spawned computing application is utilizing the software via the virtual machine in compliance with the software license subscription in view of the utilization data; determining, by the processing device, that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment; and terminating, by the processing device, the spawned computing application utilizing the newly created instance of the software in view of the determination that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment. - View Dependent Claims (2, 3, 4, 5, 6, 19, 20)
-
-
7. A non-transitory computer readable storage medium having instructions that, when executed by a processing device, cause the processing device to perform operations, comprising:
-
identifying a request to instantiate a plurality of virtual machines in a cloud computing environment; instantiating the plurality of virtual machines in the cloud computing environment in view of the identified request; monitoring an execution of the plurality of virtual machines for a determined time period in accordance with the identified request; aggregating a number of instances of software utilized by a plurality of computing processes in the cloud computing environment in view of the monitored execution; spawning a computing application using a computing process of a virtual machine of the plurality of virtual machines, wherein the spawning comprises generating, by the processing device, a newly created instance of the software utilized by the spawned computing application; receiving utilization data associated with the cloud computing environment; determining, by the processing device in view of the utilization data, that the number of instances of the software utilized in the cloud computing environment does not comply with a software license subscription associated with the virtual machine; determining, by the processing device, whether the spawned computing application is utilizing the software via the virtual machine in compliance with the software license subscription in view of the utilization data; determining, by the processing device, that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment; and terminating, by the processing device, the spawned computing application utilizing the newly created instance of the software in view of the determination that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a processing device; and a memory device coupled to the processing device, the memory device storing instructions that, when executed by the processing device, cause the processing device to perform operations, comprising; identifying a request to instantiate a plurality of virtual machines in a cloud computing environment; instantiating the plurality of virtual machines in the cloud computing environment in view of the identified request; monitoring an execution of the plurality of virtual machines for a determined time period in accordance with the identified request; aggregating a number of instances of software utilized by a plurality of computing processes in the cloud computing environment in view of the monitored execution; spawning a computing application using a computing process of a virtual machine of the plurality of virtual machines, wherein the spawning comprises generating, by the processing device, a newly created instance of the software utilized by the spawned computing application; receiving utilization data associated with the cloud computing environment; determining, by the processing device in view of the utilization data, that the number of instances of the software utilized in the cloud computing environment does not comply with a software license subscription associated with the virtual machine; determining, by the processing device, whether the spawned computing application is utilizing the software via the virtual machine in compliance with the software license subscription in view of the utilization data; determining, by the processing device, that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment; and terminating, by the processing device, the spawned computing application utilizing the newly created instance of the software in view of the determination that the number of instances of the software utilized by the cloud computing environment does not comply with the software license subscription allocated to the cloud computing environment. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification