Software management in dynamically scalable cloud environment
AssigneeCenturyLink Intellectual Property LLC
InventorsSteven M. Casey, Thomas Schwengler, Kevin M. McBride, Felipe Castro
Life of this patent
Estimating the term…
Abstract
A license manager includes a processor and non-transitory computer readable media having encoded thereon a set of instructions executable by the at least one processor to receive a request, from a virtual machine, to reserve an individual license of the set of authorized licenses for a vendor software instance, determine the availability licenses for the requested vendor software, register a unique identifier of the virtual machine in association with an available individual license, grant the individual license to the virtual machine, and prevent the granted individual license from concurrent use by other virtual machines or devices.
Claims19
A system for managing software in dynamically scalable network environments, the system comprising:
- a plurality of servers hosting one or more virtual machine instances, each of the plurality of servers in communication with a service network and accessible to at least one client, at least one virtual machine instance of the one or more virtual machine instances associated with the at least one client, each of the one or more virtual machine instances having a unique identifier;
- a network orchestrator in communication with the plurality of servers, wherein the network orchestrator handles requests from the at least one client to provision the at least one virtual machine instance associated with the at least one client in one or more of the plurality of servers;
- a license manager in communication with each of the one or more virtual machine instances, the license manager comprising:
- at least one processor;
- a network communications interface in communication with the plurality of servers and the network orchestrator;
- a license database having one or more sets of authorized licenses, each set of authorized licenses respectively associated with a respective vendor software;
- non-transitory computer readable media having encoded thereon a set of instructions executable by the at least one processor to:
- receive, via the network communications interface, from one of the at least one virtual machine instance, a request to reserve an individual license of the set of authorized licenses for a vendor software instance on one of the at least one virtual machine instance, the vendor software instance requiring the individual license to run on the one of the at least one virtual machine instance;
- determine, via the license database, an availability of the individual license associated with the vendor software instance in the request;
- grant, in response to determining that the individual license is available, the individual license to the one of the at least one virtual machine;
- track, via communication with the network orchestrator, the individual license from a first virtual machine instance of the at least one virtual machine instance utilizing the vendor software to a second virtual machine instance of the at least one virtual machine instance utilizing the vendor software, wherein the network orchestrator migrates the first virtual machine instance from a first server of the plurality of servers to a second server of the plurality of servers as the second virtual machine instance;
- receive, from the one of the at least one virtual machine instance, a request to renew the individual license granted to the one of the at least one virtual machine;
- and
- determine, via the license database, whether the individual license is available to be renewed based on whether the individual license has been reserved or requested by another virtual machine.
A license manager comprising:
- at least one processor;
- a network communications interface in communication with a plurality of servers hosting one or more virtual machine instances and a network orchestrator in communication with the plurality of servers, wherein the network orchestrator handles requests from the at least one client to provision the at least one virtual machine instance associated with the at least one client in one or more of the plurality of servers;
- a license database having one or more sets of authorized licenses, each set of authorized licenses corresponding to a respective vendor software;
- non-transitory computer readable media having encoded thereon a set of instructions executable by the at least one processor to:
- receive, via the network communications interface, from one of the at least one virtual machine instance, a request to reserve an individual license of the set of authorized licenses for a vendor software instance on the one of the at least one virtual machine instance, the vendor software instance requiring the individual license to run on the one of the at least one virtual machine instance;
- determine, via the license database, an availability of the individual license associated with the vendor software instance in the request;
- grant, in response to determining that the individual license is available, the individual license to the one of the at least one virtual machine;
- track, via communication with the network orchestrator, the individual license from a first virtual machine instance of the at least one virtual machine instance utilizing the vendor software to a second virtual machine instance of the at least one virtual machine instance utilizing the vendor software, wherein the network orchestrator migrates the first virtual machine instance from a first server of the plurality of servers to a second server of the plurality of servers as the second virtual machine instance;
- receive, from the one of the at least one virtual machine instance, a request to renew the individual license granted to the one of the at least one virtual machine;
- and
- determine, via the license database, whether the individual license is available to be renewed based on whether the individual license has been reserved or requested by another virtual machine.
A method for managing licenses comprising:
- provisioning, via a network orchestrator, at least one virtual machine instance on a plurality of servers, each of the at least one virtual machine instance associated with an at least one client;
- providing, via the plurality of servers, access to at least one vendor software to each of the at least one virtual machine instances;
- generating, at at least one of the plurality of servers, a request to reserve an individual license in a set of authorized licenses for a particular vendor software, the individual license reserved in association with a virtual machine instance of the at least one virtual machine instance, the virtual machine instance associated respectively with a client of the at least one client;
- receiving, via a license manager, the request to reserve the individual license in the set of authorized licenses for the particular vendor software, the particular vendor software requiring the individual license to run on the virtual machine instance;
- determining, via the license manager, an availability of the individual license from the set of authorized licenses;
- in response to determining that the individual license is available, granting, via the license manager, the individual license to the virtual machine instance;
- tracking, with the license manager via communication with the network orchestrator, the individual license from a first virtual machine instance of the at least one virtual machine instance utilizing the vendor software to a second virtual machine instance of the at least one virtual machine instance utilizing the vendor software, wherein the network orchestrator migrates the first virtual machine instance from a first server of the plurality of servers to a second server of the plurality of servers as the second virtual machine instance;
- receiving, from the one of the at least one virtual machine instance, a request to renew the individual license granted to the one of the at least one virtual machine;
- and
- determining, via the license database, whether the individual license is available to be renewed based on whether the individual license has been reserved or requested by another virtual machine.
Dependencies are inferred from the claim text.