I have a multi-user software solution (containing different applications, i.e. EXEs) that should allow only a limited number of concurrent users. It's designed to run in an intranet. I don't have a really good, satisfactory solution to the problem of counting the client licenses yet. The key requirements are:
- When users start any application they get a login screen where they have to login with their user name and password. So, when they start using the application it should count as a new license.
- Multiple instances (starts) of the same application (= process) should count as only one client license
- Starting different applications of the software solution should also count as only one (the same) client license
- Application crash should not lead to orphaned used licenses
- The above should work also for Terminal Server environments (all clients same IP, but different install folders)
I'm looking for established patterns, solutions, tips for managing used client licenses. Specific hints for the above situation are also welcome.