1. A method for providing heterogeneous resources for client systems, comprising: maintaining a stateful resource database that tracks a set of heterogeneous resources for a given environment; receiving a request from a client system; searching for a heterogeneous resource in the stateful resource database in response to the request; matching an available heterogeneous resource in the stateful resource database with the request; and submitting the request to the available heterogeneous resource; whereby maintaining and using the stateful resource database facilitates efficiently sharing scarce heterogeneous resources across a set of client systems.