Patent ID: 6912574

Claim:
A method for allocating a flow capacity to a set of usage devices accessing a network, comprising: (a) defining a set of flow restrictions, wherein said set of defined flow restrictions comprising a restricted flow usage level that does not exceed a maximum flow usage level; (b) defining a usage limit for a time period; (c) transferring a set of flows through a set of restriction agents between the set of usage devices and the network; (d) monitoring said set of transferred flows, said step for monitoring said transferred flows further comprises the steps of: (i) measuring said transferred flows in an initial sampling period in said time period; (ii) repeating said measuring step for a series of sampling periods following said initial sampling period; (iii) summarizing historical information about said measured flows; and incrementing said time period following each of said sampling periods as a sliding window with a window size equal to said time period and a sliding increment between said sampling period and said time period; (e) selecting a set of flow restrictions from said set of defined flow restrictions, said selected set of flow restrictions being determined by a processing agent, wherein said selecting step comprises: (i) computing a flow usage level for each of the usage devices during said time period according to said monitored flows, (ii) comparing said flow usage level with said usage limit for each of the usage devices, (iii) identifying a subset of the usage devices having said flow usage level exceeding said usage limit, and (iv) associating said identified subset of usage devices with said restricted flow usage level in said selected set of flow restrictions; and (f) allocating a portion of said maximum flow usage level to said transferred flows according to said selected set of flow restrictions, wherein said identified subset of usage devices are restricted to flows within said restricted flow usage level.