1. A method for dynamically allocating access to a shared resource based on quota shares, the method comprising: computing, by a client node, an expected size of quota shares needed by the client node based on a historical rate of resource consumption by the client node; transmitting, by the client node, a request for a count of quota shares based on the expected size; receiving, by the client node, an indication that the request for the count of quota shares is one of: granted, denied, and granted-in-part; and self-ruling, by the client node, the shared resource based on the indication.