License Lease Explained
The purpose of the license lease system is to prevent Simplebim network licenses from getting stuck on a computer when the license is not properly released on that computer. The system is designed such that the use of Simplebim is never interrupted once a license is obtained at application startup.
License Lease is a new feature in Simplebim 10.
In the normal case the lease system works as follows
- The user starts Simplebim and a license is obtained from the license server. Additionally lease information is stored both on the license server and locally on the user’s computer.
- When the lease time is about to expire, Simplebim in the background, without any involvement from the user extends the lease on the server and locally. If extending the lease on the server fails (there is for example no internet connection) the user can continue working normally and Simplebim tries to extend the lease again later.
- The user closes Simplebim and both the license and the lease are released on the server and locally.
If step 3 does not happen, for example Windows is shut down with Simplebim still running or the Simplebim process is terminated, the license is released by the server. For this the server polls the lease information and when it detects expired leases, it releases the corresponding licenses on the server. When the user later starts Simplebim as the same user on the same computer, Simplebim detects from the locally stored information that the previous lease has expired. In this case Simplebim releases the license and the lease locally, and after that starts up normally (step 1 above).
If Simplebim crashes or the Simplebim process is terminated and Simplebim re-started right away, it detects from the locally stored information that the lease is still valid. In this case Simplebim tries to renew the lease on the server, i.e. start up using the previous lease. However, if this fails or the server already happened to release the lease, then Simplebim releases both the license and the lease locally, and after that starts up normally (step 1 above).