How does Compuware licensing work?

0 Likes

Problem:

What is Compuware's licensing model, when is a license taken and when is it released?

Resolution:

A license if first grabbed when a user begins using one of our tools, it will not be released until the IDE is closed.

With concurrent licensing, a product has to minimize what we call 'interrupting license failures' (ILFs). These are cases where a user has returned their concurrent license in mid-session and someone else takes the license before the first user can reclaim it. With our tools, this can be a difficult problem; while we know when the user wants to use our tools (i.e. building, profiling, viewing, etc), it's much harder to tell when they're truly done.

Take the following scenario for example:

1. User1 loads up a solution in VS.NET.

2. User1 begins tracking down a performance problem in the solution.

3. User1 realizes, after some time, that the bottleneck is actually in another DLL project.

4. User1 closes the current solution and loads up the one containing the culprit DLL.

5. User1 tracks down the performance problem by instrumenting and analyzing the DLL.

In this scenario, there's clearly a place where a license should be obtained. It's much harder to find an appropriate time to release the license. If we release too soon, we could have a jarring failure:

1. User1 loads up a solution in VS.NET.

2. User1 begins tracking down a performance problem in the solution.

a. The concurrent license is obtained

3. User1 realizes, after some time, that the bottleneck is actually in another DLL project.

4. User1 closes the current solution and loads up the one containing the culprit DLL.

a. The concurrent license is released.

b. User2 from a different workstation obtains the last concurrent license.

5. User1 can not track down the performance problem by instrumenting and analyzing the DLL, as they will see a licensing error message appear.

To make matters more difficult, each of the tools in our suite can be invoked in different ways and have different patterns of use. Additionally, we have to support multiple IDEs and different levels of customer build and test automation. The model we use must also be as consistent as possible across all of the scenarios to simplify customer understanding and technical support requirements.

All that said, given our usage model and our desire to keep things consistent, we decided to proceed with the model we have today. Once our tools are invoked, you are licensed to use them for the duration of the session within the IDE or application. Once you close the IDE or application, the license will be returned.

Old KB# 12073
Comment List
Anonymous
Related Discussions
Recommended