License Client Verification for Software Adaptability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for controlling software application execution on computer systems face complexity in implementing license verification, especially when transitioning between on-premise installations and distributed service models, requiring different license implementations and lacking flexibility in offering various license terms without modifying the software.
Innovation Solution
A method that abstracts license verification by using a license client to check for the presence of licenses based on a license map, allowing for different license terms and models without modifying the software, enabling scalable license management across distributed systems with local decision-making and adaptive validity periods.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If different license implementations are required for on-premise and distributed service models, then license verification can be adapted to different deployment scenarios, but the software application requires multiple versions or amendments to support different license types
Solution Approach 1:
A license server is introduced as an intermediary component that centralizes license management. The license server receives execution requests, checks license validity against stored license data, and returns authorization decisions to the application. This mediator separates the complex license verification logic from the application itself, allowing a single application version to support multiple license models (on-premise and distributed services) without requiring multiple software versions.
2Reliability
If license verification is implemented in the software application, then execution control can be enforced, but the software application must be amended for each new license type or business model
Solution Approach 1:
The license verification functionality is extracted from the software application and relocated to a separate license server. The application only contains a simplified client that sends execution requests and receives authorization decisions. This extraction allows the application to remain unchanged while the license server adapts to different license types and business models by modifying only the license data storage and verification logic in the server.
3Productivity
If a distributed computer system is used for service provision, then scalability and remote access are enabled, but ensuring globally consistent license data becomes complex and difficult to manage
Solution Approach 1:
All license data and verification logic are merged into a single centralized license server that serves the entire distributed system. This consolidation eliminates the need for each distributed node to maintain and synchronize its own license data, thereby achieving scalability while avoiding the complexity of global data consistency. The license server acts as a single source of truth for all license decisions across the distributed environment.
Data Source
AI summary
The invention relates to a method for controlling the execution of a software application on a computer system, said method comprising the following steps: generating a license map based on a given license for said application, said license map includes the information which user is allowed to execute said application, providing a license client on the computer system, providing a license server delivering said license map to the license client, wherein, when a user is requesting execution of said application, the license client decides whether the user is allowed to execute said application based on the present license map.


