Starvationless Software Licenses
19 January 2012
The check-out, check-in model used by current softwarelicense systems causes users to be starved whenever the demand for licenses exceeds the supply in the license pool. Serious starvation occurs when applications are long running; a single large job can starve all other jobs and delay progress indefinitely. We introduce a system that prevents starvation in the case of a single license server. Our system, called BLM, works by treating software licenses as resources and the license-managment system as a single distributed resource scheduler. BLM time-multiplexes invidual licenses across any number of clients, ensure progress for all. We provide an in depth explanation of the algorithms of our licensing system along with a formal proof of its correctness. Evaluation results of BLM show that it is capable of achieving starvation-free leasing of licenses with low overall overhead to applications.1