Network license control for a Java application
<p>I have been tasked with providing some form of network license control for a Java application.  The app would be stored on a network drive and run from a client machine.  The basic idea is that it will be able to work out how many times it is being run concurrently and prevent the N+1th user from running the software where N is the number of concurrent licenses the customer has purchased.</p>

<p>Is this possible somehow with a Java application?  I implemented a "solution" which relied on multi-cast UDP communication between the running instances of the application but this didn't work because on most networks this kind of communication is blocked by security measures.</p>

<p>Is there a better way?  I don't even mind if it requires JNI/JNA.</p>

<p>N.B. The solution does not have to be that sophisticated or highly secure.</p>
