Software License Manager with Client-Server Enforcement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software licensing management techniques are inadequate for enforcing complex license agreements, as they often require significant administrative effort, are not scalable for large deployments, and lack the ability to manage multiple license entitlement criteria, leading to compliance issues and increased costs.
Innovation Solution
A client-server method that detects software application initiation, suspends execution to check license entitlement criteria, and resumes execution only if the usage satisfies the defined criteria, allowing for multiple criteria evaluation and efficient chargecode management, while providing detailed diagnostic tools for troubleshooting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If encryption-based license management is used, then automated license enforcement is achieved, but significant administrative effort is required and program faults may occur
Solution Approach 1:
The patent extracts the license management functionality from the application binary itself and places it in a separate, standalone license manager service. This allows the application to be distributed as-is without embedding license management code, thereby reducing the administrative burden of acquiring and managing encryption tools while maintaining automated license enforcement through the separate service that intercepts application launches and validates licenses centrally.
2Extent of automation
If encryption-based license management is used, then automated license enforcement is achieved, but customer support may be withheld due to encryption modifications
Solution Approach 1:
By extracting license management from the application binary, the application remains unmodified and supports standard customer support channels. The standalone license manager service handles all license validation externally, ensuring that the application vendor's support teams can provide normal technical assistance without needing to support encryption-based license management systems.
3Device complexity
If existing license managers use single criterion concurrent software licenses, then license evaluation is simplified, but complex license agreements with multiple criteria cannot be enforced
Solution Approach 1:
The patent segments the license evaluation process into multiple independent criteria evaluations. The license manager can assess different license types (concurrent jobs, concurrent nodes, concurrent users, list-based restrictions) separately and combine their results to determine overall license eligibility. This allows complex license agreements with multiple conjunctive criteria to be enforced while maintaining a clear, manageable evaluation structure.
4Ease of operation
If embedded license management tools are provided by license management vendors, then license checkout and checkin functionality is available, but costs are passed on to the user even if the application is not utilized
Solution Approach 1:
The patent creates a universal license manager service that can manage multiple types of license criteria (concurrent jobs, nodes, users, list-based restrictions, group-based, skill-based) through a single unified system. This multi-functional service eliminates the need for separate embedded tools for each application, allowing organizations to pay for a single license management solution that covers all their software needs rather than paying multiple times for application-specific tools.
Data Source
AI summary
Techniques for controlling access to a software application according to at least one software license agreement using a client computer and a server computer are presented. The client computer is configured to detect an initiation of the software application, suspend an execution process of the software application, determine that the software application is subject to a plurality of software license entitlement criteria defined by the at least one software license agreement, and request from the server computer a license for a usage of the software application on the client computer. The server computer is configured to determine that the usage of the software application on the client computer satisfies the plurality of software license entitlement criteria, and provide to the client computer a license for the usage of the software application on the client computer. The client computer is configured to resume the initiation of the software application.


