I am trying to build a client server floating licensing software. The methodology im following is as follows.
1. There are two daemons running. One is on the client and the other is on the server.
2. When the user installs the client he points to the IP address of the licensing server. The product key is a combination of the Server Mac Id and number of Floating licenses that the user has bought and the expiry date of the software which is encrypted.
3.The server and the client talk to each other using a designated port. So as soon as the application is opened, the app writes a log file in a particular path which is encrypted with the current date time.
4. The Client daemon passes this info to the server to check if the licenses are available. If the licenses are available the server grants one license. The server maintains the number of licenses available in the pool in a text file which again in encrypted.
5. When the user closes the app it again writes a log in the file which is watched by the client daemon and that particular license is released into the free pool.
I do not have any technical difficulties in archiving the same. But i want to know if the approach im taking to design the tool is right.
Am i missing something here. Suggestions are welcome
Regards,
Alvin