Feature-Based Software Licensing Authorization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software licensing management tools are insecure and inflexible, failing to effectively authorize and manage individual features of computer programs across single- and multi-user environments, leading to revenue losses and compliance issues.
Innovation Solution
A method and apparatus for authorizing computer programs using encrypted license data generated with a private key-public key pair, where a unique identifier associated with a product is used to specify authorized features, enabling secure and flexible feature activation based on product identification and usage conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing software licensing management tools are used, then software can be protected from piracy, but the tools are insecure and inflexible, failing to authorize individual features
Solution Approach 1:
The patent segments the software licensing system into distinct components: feature identification modules that separately identify each software feature, authorization modules that independently evaluate licensing conditions for each feature, and license data structures that contain individual feature identifiers. This segmentation enables flexible, secure authorization of individual features rather than treating software as a monolithic unit.
Solution Approach 2:
The patent implements dynamic licensing where the system can adaptively determine which features to authorize based on varying conditions such as user credentials, device characteristics, and usage contexts. The authorization process dynamically evaluates multiple factors and selectively activates features, providing both security through condition verification and flexibility through adaptive feature selection.
2Ease of operation
If all features of a computer program are made accessible to licensed users, then user satisfaction is improved, but providers cannot realize additional revenue when new features are added
Solution Approach 1:
The patent segments the software feature set into individually licensable units, each with its own identifier and authorization conditions. This allows providers to selectively authorize specific features based on licensing agreements, enabling users to access authorized features while providers can charge separately for different feature sets, thus maintaining both user satisfaction and revenue opportunities.
Solution Approach 2:
The patent changes the licensing parameter from all-or-nothing access to granular feature-level access. By modifying the license data structure to include individual feature identifiers and authorization conditions, the system enables flexible control over which features are accessible, allowing providers to optimize revenue by charging for specific feature combinations while users gain access to precisely the features they are licensed to use.
3Reliability
If license data is encrypted to improve security, then unauthorized access is prevented, but obtaining and verifying the unique identifier becomes more complex
Solution Approach 1:
The patent applies preliminary action by pre-encrypting the license data including the unique identifier using cryptographic algorithms during the license generation phase. The encryption keys are securely distributed to authorized systems in advance. When verification is needed, the pre-established cryptographic relationships enable secure decryption and validation without requiring complex real-time computational processes, thus maintaining security while managing complexity.
Data Source
AI summary
A method for authorizing a computer program having a number of features for use with a product includes: receiving license data generated using a first key, the license data specifying a unique identifier associated with the product and specifying at least one feature authorized for use with the product; using a second key associated with the first key, obtaining the unique identifier from the license data; retrieving a product identifier from the product; determining whether the unique identifier corresponds to the product identifier; and based on the determination, authorizing use of the at least one feature with the product.


