Guidelines for managing limited client licenses / login
I have a multi-user software solution (containing various applications, i.e. EXEs) that must allow a limited number of concurrent users. It is designed to work on an intranet. I don't have a really good, satisfactory solution to the CALs problem. The key requirements are:
- When users launch any application, they get a login screen where they need to log in with their username and password. Therefore, when they start using the application, it should be considered a new license.
- Multiple instances (runs) of the same application (= process) should only count as one CAL
- Running different applications of a software solution must also be considered only one (same) CAL
- An application crash should not result in lost syntactic licenses.
- The above should work for Terminal Server environments as well (all clients have the same IP, but different install folders).
I'm looking for templates, solutions, tips for managing CALs in use. Specific hints for the above situation are also welcome.
a source to share
I believe some applications (3ds Max, Adobe multi-use, etc.) handle this so that all applications set up access to a single common dll that manages the global user context. This way, when you log in from any exe, it redirects your credentials to the dll, which saves them for other executables on the same computer. This shared DLL is also responsible for passing the user's current context to a network or internet service that will keep track of active licenses. I think microsoft is extending this service to enterprises whereas other software vendors provide licensing service. Separating concerns in this way should: allow the user context to remain active even when one application ends unexpectedly,allows graceful exit and release of the license when the shared dll is closed and allows timeout or automatic release by the network service if it has not received any message from the local machine. I don't know how this might affect Terminal Services. I know that shared DLLs can have limited scopes, so each user can run their own copy with a unique user context, but I'm really not sure. Hope this helps.but I'm really not sure. Hope this helps.but I'm really not sure. Hope this helps.
a source to share