Split Ledger License Verification for Offline Software Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large organizations face challenges in verifying software usage across multiple users due to offline work and bulk contracts that need updating as organizational conditions change, with existing systems lacking effective methods to track and manage software licenses efficiently.
Innovation Solution
A split ledger licensing system that utilizes a passed ledger and a hash ledger to securely manage software licenses, ensuring accurate tracking and authorization through a trusted third-party service (KaaS) while maintaining privacy and security, with smart contracts for automated license management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional centralized license management systems are used, then software vendors can track usage centrally, but the system becomes vulnerable to single points of failure and fraud
Solution Approach 1:
The patent divides the centralized license management system into distributed ledger nodes across multiple entities (software vendors, licensees, and trusted third parties). Each node maintains a copy of the license ledger, eliminating single points of failure while distributing system complexity across independent participants rather than concentrating it in one centralized server.
Solution Approach 2:
The patent introduces a trusted third party (TTP) as an intermediary that issues and verifies license keys without maintaining centralized control over usage data. The TTP mediates between vendors and licensees by signing license keys with its private key, allowing verification through public key cryptography while preserving privacy and reducing the need for direct trust between opposing parties.
2Adaptability or versatility
If bulk contracts allow multiple users access to software, then organizational flexibility improves, but tracking and updating licenses becomes difficult
Solution Approach 1:
The patent implements self-service license management where each user device automatically verifies its license status by checking the distributed ledger and validating license keys cryptographically. The system autonomously handles license issuance, renewal, and revocation without requiring manual administrative intervention, making bulk contract management as easy as individual license management.
Solution Approach 2:
The patent establishes continuous feedback loops where licensees periodically verify their license status against the updated ledger, and the system automatically notifies stakeholders of license expirations or revocations. This real-time feedback mechanism ensures bulk contract compliance without manual tracking while maintaining organizational flexibility.
3Ease of operation
If users work offline without network connection, then software usability improves, but license verification becomes problematic
Solution Approach 1:
The patent enables preliminary license verification by allowing users to download and cache license ledgers and verification credentials before going offline. The trusted third party pre-signs license keys and distributes verification data in advance, enabling devices to perform autonomous license validation without real-time network connectivity while maintaining verification reliability.
4Measurement precision
If centralized systems store all license data, then verification is straightforward, but security risks and fraud opportunities increase
Solution Approach 1:
The patent segments centralized license data storage into distributed copies across multiple ledger nodes. No single entity holds complete control over all license information, reducing security vulnerabilities associated with centralized databases while maintaining verification accuracy through cryptographic consensus mechanisms that ensure data integrity across the distributed network.
Data Source
AI summary
Aspects of the subject disclosure may include, for example, a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, including requesting a license for software from first equipment of a license holder; receiving a passed ledger associated with the license from the first equipment of the license holder, wherein the passed ledger comprises a latest block; receiving a hash value for the latest block from a software vendor of the software; calculating a hash value for the latest block; and responsive to the hash value provided by second equipment of the software vendor matching the hash value calculated for the latest block: executing the software. Other embodiments are disclosed.


