Dynamic Software License Allocation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, the current method of allocating software licenses per virtual machine (VM) instance limits usage, as multiple software installations share the same VM, leading to inefficient license allocation and potential underutilization.

Innovation Solution

A system that collects real-time and historical usage data for software installations on VM instances, determines the availability of licenses, and allocates them dynamically based on the current network configuration, allowing licenses to be allocated to specific software installations as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single license is allocated per VM instance, then license management is simplified, but software usage flexibility is limited

Engineering Contradiction:
Improvelicense management complexityVSAvoidsoftware usage flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the VM instance as a container and the software installation as a separate entity with its own license. Instead of allocating one license per VM instance that covers all software, the system creates individual license allocations for each software installation within the VM. This segmentation allows multiple software applications running on the same VM to have independent license management, resolving the contradiction between simplified management and usage flexibility.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If licenses are allocated per software installation, then software usage flexibility is improved, but license management complexity increases

Engineering Contradiction:
Improvesoftware usage flexibilityVSAvoidlicense management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a license management system as an intermediary between the VM instance and the software installations. This intermediary system automatically tracks which software installations are running on which VM instances and manages license allocations accordingly. The intermediary handles the complexity of tracking multiple software instances and their corresponding licenses, enabling flexible per-installation licensing without proportionally increasing management complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple software installations share a single VM instance license, then resource utilization is maximized, but license availability is insufficient

Engineering Contradiction:
Improveresource utilizationVSAvoidlicense availability
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic license allocation where licenses are not statically assigned to VM instances but are dynamically allocated to specific software installations based on actual usage. The system continuously monitors which software installations are active on which VM instances and allocates licenses accordingly. This dynamic approach allows the system to maximize resource utilization by ensuring licenses are available where needed while preventing over-allocation, resolving the contradiction between resource utilization and license availability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9569598B2Software license management in a networked computing environment
Publication Date: 2017.02.14 KYNDRYL INC
  • US9569598B2 patent drawing
  • US9569598B2 patent drawing
  • US9569598B2 patent drawing

AI summary

An approach for managing licenses for software installations on virtual machine (VM) instances in a networked computing environment (e.g., a cloud computing environment) is provided. Specifically, in one example, data (e.g., real-time and/or historical) pertaining to usage of a set of software installations on a set of (VM) instances in the networked computing environment is collected. When a request is received (e.g., from a requester) for a license for a particular software installation of the set of software installations, it is determined whether the license is available. If not, it is then determined whether the license is obtainable based on the collected data and a current configuration of the networked computing environment. Then, responsive to the license being obtainable, the requested license may be allocated.