or other system software is modified the noninvasive implementation is similar to the invasive implementation except that the kernel scheduler 270 is not modified and the enforcement module 260 includes a worker thread that periodically checks client processes to determine whether any client process has consumed its license grant one skilled in the art will appreciate that the worker thread period may be chosen to balance license fairness with cpu occupancy with shorter periods tending to increase fairness at the cost of somewhat lower cpu occupancy for the licensed processes in an embodiment the noninvasive implementation of the enforcement module 260 may estimate a license quantum consumption rate for a client process e g by determining an estimated time in the future at which each client process will use up its license quantum then instead of periodically checking all client processes the enforcement module 260 may schedule a worker thread to wake up just before an estimated time of the earliest estimated license quantum consumption as such the odds of license grant over consumption are reduced and the likelihood of higher cpu occupancy for the licensed processes is increased the global scheduler 240 comprises a global scheduling algorithm that may.