A flow allocation system includes a set of collection agents, a set of restriction
agents, a processing agent and at least one usage limit selected from a volume
limit set and a rate limit set. The flow allocation system is implemented between
a set of usage devices and a service network. The collection agents monitor flows
between the usage devices and the service network. The processing agent sums the
flows for each of the usage devices, determines whether any of the summed flows
reach the usage limit, and selects at least one flow restriction rule for the subset
of usage devices reaching the usage limit. The set of restriction agents implement
the flow restriction control rule for the subset of usage devices reaching the
usage limit. The processing agent also uses exception handling techniques to shift
usage quotas for the usage devices.