Token-Based Software Licensing for Massively Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale computing environments like massively parallel processing systems, existing software licensing models, such as nodelock and floating licenses, are impractical due to the need for extensive licensing of each CPU and the inability to authenticate licenses across multiple compute elements sharing the same IP address, leading to high costs and operational bottlenecks.
Innovation Solution
A token-based licensing model where licenses are consumed as software executes, allowing for 'after-the-fact' reconciliation, enabling execution without a traditional license server and allowing for flexible scaling in multi-processor environments, with tokens being decremented based on actual usage and allowing continued execution even if tokens are initially insufficient.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If nodelock licensing is used for each CPU in MPP systems, then software execution is restricted to specific machines, but the cost increases significantly and licensing becomes impractical for large-scale systems
Solution Approach 1:
The patent segments the licensing system into distributed license servers that operate independently across the MPP network. Each license server manages a portion of the licensing workload, eliminating the need for centralized license management on every node. This segmentation allows software to be licensed across multiple CPUs without requiring complex nodelock configurations on each individual processor.
Solution Approach 2:
The patent creates a universal licensing mechanism that works across different compute elements (CPUs, cores, nodes) without requiring node-specific configurations. The license server provides universal license validation that functions identically whether the software runs on one CPU or thousands, eliminating the need for separate nodelock licenses for each processor while maintaining execution control.
2Adaptability or versatility
If floating licenses are used to cover multiple CPUs, then licensing flexibility improves, but the application must contact the license server from each instance which is impossible when multiple compute elements share the same IP address
Solution Approach 1:
The patent introduces an intermediary license server that acts as a mediator between the distributed compute elements and the licensing authority. Instead of requiring direct contact between each software instance and the license server (which fails when multiple elements share an IP), the intermediary license server receives authentication requests from any compute element and provides license validation, eliminating the need for direct application-server communication while maintaining licensing control.
Solution Approach 2:
The patent enables compute elements to autonomously obtain license validation from the license server without requiring manual configuration or direct application contact. The license server automatically validates software execution requests from any node in the MPP system, providing self-service licensing that works seamlessly across shared IP address environments without requiring application-level modifications.
3Adaptability or versatility
If licenses are purchased for every possible CPU to allow unlimited execution, then software can run anywhere in the system, but the up-front cost becomes orders of magnitude higher
Solution Approach 1:
The patent implements dynamic licensing where the license server continuously monitors and validates software execution across the MPP system. Instead of requiring static licenses for every possible CPU configuration, the dynamic system adjusts license allocation based on actual usage patterns, allowing software to execute flexibly across any number of processors while charging only for actual utilization, thereby reducing upfront licensing costs while maintaining unlimited execution scope.
4Reliability
If a license server cannot execute on the MPP system due to private network isolation, then license authentication fails, but workarounds either eliminate licensing or require purchasing licenses for every CPU
Solution Approach 1:
The patent positions the license server as an intermediary component that operates outside the private MPP network but remains accessible to all compute elements. The license server receives authentication requests from isolated nodes through the network infrastructure and provides license validation without needing to execute within the MPP system itself. This intermediary approach maintains reliable license authentication while avoiding the complexity of integrating the license server into the private network architecture.
Data Source
AI summary
Techniques for implementing software licensing in a massive parallel processing environment on the basis of the actual use of licensed software instances are disclosed. In one embodiment, rather than using a license server or a node-locked license strategy, each use of a licensed software instance is monitored and correlated with a token. A store of tokens is maintained within the licensing system and a token is consumed after each instance successfully executes. Further, a disclosed embodiment also allows jobs that execute multiple software instances to complete execution, even if an adequate number of tokens does not exist for each remaining software instance. Once the license tokens are repurchased and replenished, any overage consumed from previous job executions may be reconciled. In this way, token-based licensing can be adapted to large scale computing environments that execute jobs of large and unpredictable sizes, while the cancellation of executing jobs may be avoided.


