Patent ID: 8626924

Claim:
A non-transitory computer-readable storage medium comprising computer instructions which, responsive to being executed by a processor of a scheduling server, cause the processor to perform operations comprising: receiving a request from a client server for computing resources associated with a processor; receiving completion data from the processor for previous completed requests for the computing resources associated with the processor; determining an estimated completion time associated with previous unresolved requests that have been provided to the processor, wherein the estimated completion time is determined based on the completion data; determining if a self-priority is assigned to the request by the client server, the self-priority designating an order of processing among requests from the client server to the processor, wherein a number of self-priorities assignable by the client server is limited by the scheduling server; calculating a priority value for the request based on the estimated completion time and the self-priority; establishing a processing schedule for the request and other requests associated with the processor based on the priority value; providing the request to the processor according to the processing schedule; receiving a response from the processor, the response comprising information generated according to the request; providing the response to the client server; determining a completion time associated with the request and utilize the completion time to determine another estimated completion time associated with another request; and determining unresolved requests associated with the client server.