Overview
Managing license usage efficiently is critical in high-demand CI/CD environments where build jobs can spawn rapidly and concurrently. By implementing token licenses and pooling, you can controls costs and ensures flexible scalability during CI-driven peaks without disrupting average development workflows.
This blog details the method, use case, license configuration, and how it benefits Independent Software Vendors (ISVs).
Use Case: Tiered License Pools for Intelligent Load Management
When operating in a high-demand embedded software development environment, fine-grained control over licensing is needed during:
- Average daily usage: Stable seat count with predictable behavior.
- Occasional surges: Slightly over the average, requiring temporary flexibility.
- Peak usage for CI: Intense load during release builds or test automation.
Challenge
In some cases there is a need to scale license usage while applying different pricing tiers per usage type—ensuring customers aren’t overcharged during typical operations but can still access extra licenses when necessary.
Solution: Multi-Pool License Management
In this example we will define three distinct license pools, enforced in a specific evaluation order within RLM. The order of these pools dictates usage priority:
- Pool 1 – Base Tier: Stable, daily usage with no extra charge.
- Pool 2 – Over-Usage Tier: Triggers extra charge X if reached.
- Pool 3 – Peak Tier: Triggers higher extra charge Y, primarily used in CI environments.
This method allows the customer to predict costs while maintaining agility.
License File Examples
Initial License Declaration (Without Pooling)
These licenses are functionally the same, indistinguishable to RLM during allocation.
Optimized License File with Token Licenses and License Pools
To distinguish pool priority and control usage per job, restructure the license file using token licensing:
Here, the first three license lines each call a different token, in this case called pool1, pool2, and pool3; the first 10 checkouts will use a license from pool1, the next 10 from pool2, and the following 10 from pool3.
This setup enables deterministic overflow handling. When one pool exhausts, RLM automatically tries the next.
By analyzing the log file, the ISV can see how often the customer utilized the each tier, and bill them accordingly.
Benefits for ISVs
1. Flexible Pricing Models
Offer tiered pricing with clear billing triggers.
- Pool 1 = Base Price
- Pool 2 = Moderate
- Pool 3 = Premium
2. Predictable Usage Control
- Clients can configure cost ceilings.
- Helps avoid unexpected license exhaustion or surprise invoices.
3. CI/CD Optimization
- CI jobs are dynamic; pools allow reuse without hard-coding limits.
- Promotes better resource planning for automation workloads.
4. Minimal Customer Disruption
- No need to restart license servers or tools.
- Changes are handled seamlessly by RLM’s internal prioritization.
Takeaways
This configuration is a powerful pattern for ISVs looking to offer nuanced license metering and enforcement without added infrastructure complexity. By embedding intelligence in how licenses are prioritized and consumed, this strategy supports cost-effective scaling, enhances client satisfaction, and delivers operational resilience during build bursts.
If you’re an ISV, consider leveraging this multi-pool architecture to improve your license distribution strategy.
Contact Us
If you are an existing customer and would like to learn more about this strategy or token licensing in general, reach out to support@reprisesoftware.com.
For software providers looking to implement a robust licensing system into your software, try RLM today!