Savvy software license allocation is a key element in ensuring the efficiency and availability of network licenses in an organization, as well as the compliance with terms of license agreements. A basic allocation plan would take into account clear parameters such as the numbers of available licenses, application license levels, available license servers and workstations. A more intricate allocation plan should also take into account other, more dynamic parameters.
- Time of day: Some licenses entitle users a “follow the sun” policy, granting licenses on different time zones according to the time of day.
- Server availability: Some license management systems provide a multiple server redundancy scheme to ensure license availability in case of hardware or network failure.
- Changes in infrastructure: Migrating a license manager from one server to another may require changes in configuration of end user workstations
- Dynamic users: Users join and leave the organization, and migrate among groups and projects.
- User prioritization: Ranking of users in the hierarchy of license priority and application license level may change over time.
- Project priorities shift: The allocation plan should reflect the priorities dictated for each project. These priorities are also dynamic by nature.
Some commercial license managers provide partial solutions to the requirements that I have listed above. There is currently no license manager that would accommodate all these needs. Some license managers do not address license allocation and prioritization altogether. Furthermore, There is no standard solution that would apply these features to all license manager types. Here are some examples for that:
- FlexLM accommodates basic allocation and prioritization through Options files. DSLS does the same with Authorization rules. These files do not support allocation according to the time of day.
- Some license managers will only provide simplistic “Black list” / “White list” arbitration, as in the case of Bentley. They do not take prioritization or license reservation into account.
- FlexLM provides the option to configure a multiple server redundancy scheme. Some license administrators find the need to dedicate exactly three machines for this function a rigid overkill.
We suggest a different approach to the management and allocation of network licenses; One that will improve license allocation flexibility.
The suggested solution is based on a network router module which resides between the licensed application end users’ workstations and their respective license servers. The router may either forward or cut off license requests made by end users, thus implementing the desired license allocation policy.
Creating a new standard:
This solution will be applicable to any type of floating license server, providing the benefit of standardization for all applications and all license manager types.
The router will act upon a table of routing rules that is perfectly flexible. It will put into effect any allocation requirement made by the license administrator, e.g.: user group membership, group and project prioritization, IP range, time of day, and server availability.
License agreement compliance:
The router will maintain license agreement compliance by ensuring that geographic location limitations are kept.
The router can also act as a backbone to a server redundancy configuration. Having not received any response from a master license server, the router may choose to route further license requests to a secondary license server. This solution facilitates a flexible definition of the license server redundancy scheme.
Change in infrastructure:
Having all end user workstations accessing the router machine rather than directly requesting licenses from the license server facilitates changing the licensing infrastructure (e.g. migrating a license server) without having to deal with all end users’ workstations.
Combining the routing table logic with a license management and monitoring tool will provide a new set of capabilities altogether. This may include conditional routing, based on license usage statistics, license denials and concurrent utilization.
We work in dynamic environments, which constantly raise new requirements and possibilities. We feel it would be a shame to constrain our inventory of license management tools to what has been provided to us by the license vendors.
It is this kind of out-of-the-box thinking that would bring us a step forward in our capabilities to save software expenditure and boost software productivity.