Hey guys,
well this one is a question that is going to ask for some design tips, so let's explain my problem to you, first.
I am writing an application that provides an Internet based licence management system. The licence model is some kind of concurrent system, means licences can either be unused or used and an user needs to request an free licence to use his client-side application.
However the server should also be able to react flexible against unexpected behaviour, like client-side app crashes or other reasons a client is not able to release it's licence probably. I thought about creating a polling-system: the server asks the client if he still uses the licence in regularly during a given time intervall. If the client does not respond the server puts the licence back into the pool.
Another design decision was to safe bandwith by closing connections after each request/response pair, but this is the problem now. In case the client connects to the internet using some proxy server I am not able to request a licene, since I cannot connect to the client again to request his licence usage.
Do you have any suggestions how I could be able to connect to the client in this case without keeping the connection alive?
Thank you!