Patent ID: 7925756

Claim:
An apparatus for allocating network resources, comprising: one or more network interfaces; a memory; a processor; a partition module, physically stored in the memory, comprising instructions operative to cause the processor and the apparatus to: enforce bandwidth controls on data flows traversing the apparatus according to a partition hierarchy, implement, in connection with the partition hierarchy, a plurality of partition types, the plurality of partition types comprising constraint type partitions, weight type partitions, and parent partitions; wherein constraint type partitions comprise at least one constraint parameter defining a per-flow minimum or maximum bandwidth parameter applied to each data flow matched to a corresponding partition, and wherein weight type partitions comprise a weight value; and wherein the parent partitions define aggregate bandwidth parameters for control of data flows in the aggregate; assign bandwidth allocations to a plurality of weight type partitions depending from a parent type partition based on the corresponding weight values; and a partition configuration interface, physically stored in the memory and comprising instructions operative to cause the processor and the apparatus to: present an interface allowing for configuration of the partition hierarchy, enforce a first configuration rule and at least one of a second and a third configuration rules on configuration of the partition hierarchy, the configuration rules comprising: the first rule that a constraint type partition and a weight type partition are prohibited from depending directly from the same parent partition; the second rule that constraint type partitions and weight type partitions must be leaf nodes in the partition hierarchy; and the third rule that all non-leaf partitions in the partition hierarchy are prohibited from including constraint parameters or weight values.