BACKGROUND OF THE INVENTION

Technical Field

This disclosure relates generally to managing applications in a “cloud” compute environment.

Background of the Related Art

A popular information technology (IT) delivery model is cloud computing, by which shared resources, software and information are provided over the Internet to computers and other devices on-demand. Cloud computing can significantly reduce IT costs and complexities while improving workload optimization and service delivery. With this approach, an application instance can be hosted and made available from Internet-based resources that are accessible through a conventional Web browser or mobile application over HTTP. Cloud compute resources are typically housed in large server farms that run one or more network applications, typically using a virtualized architecture wherein applications run inside virtual servers, or so-called “virtual machines” (VMs), that are mapped onto physical servers in a data center facility. The virtual machines typically run on top of a hypervisor, which is a control program that allocates physical resources to the virtual machines.

Software as a Service (SaaS) refers to the capability provided to the consumer is to use a provider's applications running on a cloud infrastructure. SaaS applications are accessible from various client devices through a thin client interface such as a web browser. In this model, typically the consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities.

One common application class that has been increasingly deployed in the cloud is desktop virtualization. A virtual desktop infrastructure (VDI) typically provides a stateless thin client to the user while hosting the processing and storage resource in a remote virtual machine. In this environment, a core component is a central VDI server that manages a pool of computers (physical or virtual). The virtual machines may be existing already, or they may be spawned on-demand. The user (accessing from remote location) has a device, such as a computer, a terminal, a mobile device, or the like) with a VDI client installed. The client connects to the VDI server, which in turn affords the user remote access to a desktop of one of the computers in the pool. The user may then use one or more applications that are installed on the machine.

In this operating scenario, and for security, compliance or other business requirements, the cloud provider needs to monitor application usage, preferably by way of an “install-based” metric of application licensing wherein all applications that are installed (i.e., available to the user) are counted as being used. Known solutions, however, have not adequately addressed such software license consumption monitoring in this context. In part, this is a consequence of the fact that the lifetime of the virtual machines being managed by the VDI server can be very short (e.g., hours, or even minutes). Also, it is well-known that desktops are characterized by long periods of inactivity (i.e., idleness), during which virtual machines may be down-sized to consume a minimal amount of resources required for the desktop. Traditional approaches to monitoring license usage in this operating environment are unsatisfactory.

The technique of this disclosure addresses the need.

BRIEF SUMMARY

This disclosure provides a technique to manage software licensing in a cloud (or other network-accessible) computing environment and, in particular, an environment that provides virtual desktop infrastructure (VDI). Typically, the VDI infrastructure comprising a VDI server that manages a pool of virtual machines. According to one embodiment, a license manager is provided to facilitate preferably “install-based” metrics for application license management. To this end, the license manager is configured to receive first information identifying one or more software applications associated with a virtual machine template used in the virtual desktop infrastructure. The license manager also receives second information that a user has logged into the virtual desktop infrastructure from a client device, thereby creating a VDI session, the session being associated with a virtual machine template. For a particular time period of interest, the license manager determines software application usage information from the first and second information. Preferably, the software application usage information is associated with a licensing model that defines a usage metric based at least in part on the user having the session during at least some portion of the time period. When an “install-based” licensing model is used, the usage metric represents an application count that is based on a user and client device “pairing” when the user has the VDI session during at least some portion of the time period. The software application usage information is then provided to one or more other computing systems to take a given action, such as tracking, managing, auditing, enforcing and accounting for software usage in the VDI environment.

The foregoing has outlined some of the more pertinent features of the disclosed subject matter. These features should be construed to be merely illustrative. Many other beneficial results can be attained by applying the disclosed subject matter in a different manner or by modifying the invention as will be described.

