Dynamic Software Licensing via Transient State Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software piracy remains a significant issue due to the vulnerability of static identifiers, which can be spoofed, leading to unauthorized use and loss of billions in revenue, impacting the high-tech industry and consumers.
Innovation Solution
A software licensing method utilizing dynamic state information and a piracy guard to generate a unique license key based on transient state information, such as clock settings, memory availability, and process IDs, preventing unauthorized use by making each installation attempt unique and trackable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If static identifiers (MAC address, hardware ID) are used for software licensing, then the licensing system is simple to implement, but the system becomes vulnerable to spoofing and piracy
Solution Approach 1:
The patent transitions from static hardware identifiers to dynamic identifiers that change over time. The system uses transient state information (clock settings, memory availability, process IDs) that is constantly changing, making each licensing validation unique and preventing reuse of license keys across different devices or time periods.
Solution Approach 2:
The patent changes the parameters used for licensing from fixed hardware characteristics to volatile system state parameters. By using parameters like available memory, clock settings, and process IDs that fluctuate dynamically, the system creates license keys that are specific to both the device state and timing, preventing spoofing while maintaining implementation feasibility.
2Reliability
If dynamic state information is used to generate license keys, then anti-piracy protection is significantly improved, but the complexity of the licensing system increases
Solution Approach 1:
The system automatically collects transient state information from the operating system without requiring manual intervention or complex external verification. The licensing client independently gathers data about clock settings, memory availability, and process IDs, then uses this information to generate and validate license keys, reducing the need for complex server-side verification infrastructure.
Solution Approach 2:
The patent introduces a licensing client as an intermediary component that mediates between the hardware/OS and the licensing validation process. This client collects transient state information, generates license keys, and communicates with the licensing server, simplifying the overall system architecture by centralizing the complexity in a manageable component rather than distributing it across multiple layers.
3Reliability
If transient state information is used for license generation, then each installation attempt becomes unique and trackable, but the difficulty of detecting and measuring the required parameters increases
Solution Approach 1:
The system continuously monitors and collects transient state information from the operating system, creating a feedback loop that ensures accurate and up-to-date licensing data. The licensing client regularly queries system parameters like clock settings and memory availability, and uses this feedback to generate or validate license keys, ensuring high tracking accuracy while using standard OS interfaces to keep detection straightforward.
Data Source
AI summary
A software licensing method and system are in which a set of transient state information 154 for the target computational device at a selected point in time is used to generate a license key 144 to validate that the use of the licensed application is in accordance with the terms and conditions of a license.


