Patent attributes
Scheduling job request submitted by multiple tenants in a manner that honors multiple software license agreements for the multiple tenants. A queue persistently stores job requests that await scheduling. A job state tracking component persistently tracks a state of the job requests, and perhaps provides job requests into the queue. A software license agreement enforcer reviews the job requests in the queue, selects one or more job requests should be scheduled next based on the license agreements, and provide the selected job requests to a resource manager. A subscriber/publisher pool may be used to the various components to communicate. This decouples the communication from being a simple one-to-one correspondence, but instead allows communication from a component of one type to a component of the other type, whichever instance of those components happens to be operating.