Guard Point Licensing Verification for Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tiered licensing models for storage systems lead to cost disparities and revenue loss when lower-end systems are used to interoperate with enterprise-class systems, resulting in customers benefiting from substantial cost savings but vendors losing revenue.
Innovation Solution
Implementing guard points in licensed software that require verification of appropriate licenses by exchanging random numbers and pass phrases between systems, ensuring that only authorized operations are executed, and including a timeout mechanism to regenerate pass phrases if verification is not completed within a set period.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multi-tiered licensing models are used for storage systems, then vendors can differentiate pricing for different system classes, but customers can exploit lower-end systems to interoperate with enterprise-class systems and obtain substantial cost savings, resulting in revenue loss for vendors
Solution Approach 1:
The system performs preliminary license verification before allowing operations to proceed. Guard points are inserted in the software execution flow to check licenses in advance, preventing unauthorized operations from executing and thus preventing revenue loss before it occurs.
Solution Approach 2:
A license verification intermediary layer is introduced between the operation request and the execution engine. This intermediary checks whether the operating license matches the requested operation type, allowing the system to maintain licensing control while enabling interoperability between different system classes.
2Reliability
If license verification is performed continuously, then unauthorized use is prevented, but system performance and operation speed are reduced due to verification overhead
Solution Approach 1:
Instead of continuous verification, the system performs license checks periodically at guard points in the execution flow. This periodic verification approach maintains reliability by checking licenses at critical moments while minimizing performance impact by avoiding constant verification overhead.
Solution Approach 2:
License verification is performed preliminarily at the start of operations or at predefined guard points rather than continuously during execution. This allows the system to verify licenses in advance and then proceed with operations without repeated verification overhead, maintaining both reliability and productivity.
3Reliability
If guard points are implemented in licensed software, then appropriate licenses are verified before executing operations, but device complexity increases due to additional verification mechanisms
Solution Approach 1:
The license verification logic is extracted into separate, modular guard point components that can be independently managed and executed. This extraction reduces software complexity by isolating verification mechanisms from the main execution flow, making the system easier to maintain and understand.
Solution Approach 2:
The verification process is segmented into discrete guard points distributed throughout the software execution flow. Each guard point handles a specific verification task, allowing the system to maintain license control through multiple small, manageable verification points rather than one large complex verification system.
Data Source
AI summary
A system and method for guard point licensing is provided. Licensed software executing on a storage system is modified to include one or more guard points to ensure that appropriate licenses have been obtained by a customer. During initialization of a guard point, a management system obtains a first random number (R1) from the first system and passes R1 and an application specific context command to the second system. The second system returns to the management system a pass phrase and a second random number (R2), which are then forwarded to the first system. The pass phrase is a data structure identifying the system that generated the pass phrase as well as containing the application specific context command. The above steps are then repeated with the first and second systems inverted.


