Dynamic License Allocation Algorithm for Software Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current licensing systems are overly restrictive, as they do not allow for the dynamic reallocation of licenses with different release values, leading to underutilization of purchased licenses and customer dissatisfaction, especially when devices require higher-value licenses than available, and they do not allow for efficient tracking and allocation of licenses across multiple devices.
Innovation Solution
Implementing an algorithm that dynamically allocates the lowest value license sufficient for device registration and releases the highest value license upon unregistration, allowing for flexible license allocation across devices based on available and needed release levels, thereby optimizing the use of purchased licenses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If licenses are strictly matched to specific release and product ID combinations, then license assignment is simple and reliable, but license utilization is restricted and customers cannot use higher-value licenses for older devices
Solution Approach 1:
The patent segments licenses into different release levels (e.g., release 10, release 20, release 30) and tracks them separately. This allows the system to manage license flexibility by assigning the lowest sufficient release level to each device while maintaining simple tracking mechanisms for each segment.
Solution Approach 2:
The patent implements dynamic license assignment where the license release level is determined based on the device's release level and available licenses. The system dynamically assigns the lowest sufficient license release level rather than static matching, enabling flexible license utilization while keeping tracking manageable through level-based segmentation.
2Adaptability or versatility
If individual license tracking is implemented to allow higher-value licenses for older devices, then license flexibility improves, but memory requirements and system resources increase significantly
Solution Approach 1:
The patent merges the tracking of multiple license release levels into a unified structure that organizes licenses by release level. This combining approach allows the system to track licenses across different levels (e.g., release 10, 20, 30) using a single data structure, reducing memory requirements while maintaining the ability to perform flexible reallocation.
Solution Approach 2:
The patent changes the parameter from tracking individual license-device mappings to tracking license counts by release level. Instead of storing which specific device has which specific license, the system tracks only the quantity of licenses at each release level, significantly reducing memory requirements while enabling flexible assignment through algorithmic determination.
3Ease of manufacture
If the same license amount is charged for all releases, then license assignment becomes simpler, but the ability to charge different amounts for different releases and sell upgrades is lost
Solution Approach 1:
The patent segments the licensing system into distinct release levels (release 10, release 20, release 30) with separate tracking and assignment logic. This segmentation allows the system to maintain simple assignment procedures for each level while enabling differentiated pricing strategies for higher release levels, thus preserving pricing flexibility without complicating the overall assignment process.
Data Source
AI summary
Methods and systems for allocating licenses to devices are provided. More particularly, the devices included in a system may each require a license having a release value that is equal to or greater than the release value of the device in order to be fully operational. Upon the unregistration of a device, the highest cost or value license that can be made available while maintaining proper registration of the remaining registered devices is freed. More particularly, the difference between the number of devices registered and the licenses used is calculated for each release value. A variance for each release value, beginning with the least cost or lowest release value license and working towards the highest cost or value license is then calculated. The highest cost license that can be released is equal to the license value for which the calculated variance is equal to zero.


