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.