Claims
- 1. An apparatus allowing for the dynamic allocation of network resources among a plurality of users, comprising
a partition object space storing a plurality of partition objects; the plurality including at least one user partition object having at least one attribute defining an allocation of a network resource to a user; a partition management module operative to:
dynamically create a user partition object in the partition object space in response to an identification of a new user, a partitioning mechanism operably connected to a path transmitting data packets between a network resource and a plurality of respective users,
wherein the partitioning mechanism is operative to:
associate users with corresponding user partition objects, and enforce the respective network resource allocations defined in the user partition objects.
- 2. The apparatus of claim 1 wherein the partition management module is further operative to delete inactive user partition objects from the partition object space.
- 3. The apparatus of claim 2 wherein the partition management module is operative to delete inactive user partition objects from the partition object space as required for new users.
- 4. The apparatus of claim 2 wherein an inactive user partition object is identified in relation to a threshold period of inactivity.
- 5. The apparatus of claim 3 wherein an inactive user partition object is identified in relation to a threshold period of inactivity.
- 6. The apparatus of claim 1 wherein the partition objects further include at least one dynamic partition object having at least one attribute defining a first allocation of a network resource and at least one attribute operable to control allocations of the network resource within the first allocation;
wherein the partition management module creates a user partition object defining a user partition within the parameter(s) of a corresponding dynamic partition object.
- 7. The apparatus of claim 6 wherein each dynamic partition object is associated with a characteristic of the data packets transmitted in the communication path, wherein the partition management module is operative to identify the dynamic partition object associated with a data packet and create a corresponding user partition object.
- 8. An apparatus allowing for the dynamic allocation of network resources among a plurality of users, wherein the network resources and the users are operably connected to a computer network, comprising
a partition object space storing a plurality of partition objects; the plurality of partition objects including at least one dynamic partition object and at least one user partition object; a traffic class database storing traffic classes in association with corresponding dynamic partition objects;
wherein each dynamic partition object has at least one attribute defining a first allocation of a network resource to a corresponding traffic class and at least one attribute defining a second allocation, within the first allocation, of a network resource to a user; wherein each user partition object has at least one attribute defining an allocation of a network resource to a user; a partitioning mechanism operably connected to the computer network to receive and transmit data flows, the partitioning mechanism further operative to:
identify a new data flow and the traffic class associated with the data flow; and, a partition management module operative to, in response to a new data flow:
identify the dynamic partition object associated with the traffic class of the new data flow; identify a new user associated with the data flow; dynamically create a user partition object in the partition object space in response to an identification of a new user, according to the attributes of the dynamic partition object associated with the new data flow; return a partition object to the partition mechanism; wherein the partitioning mechanism is further operative to enforce the allocations defined in the user partition objects to control access to a network resource among a plurality of users.
- 9. The apparatus of claim 8 wherein the partition management module is further operable to reclaim inactive partition objects from the partition object space.
- 10. An apparatus operable to dynamically allocate access to a network resource among a plurality of users, comprising:
a partition management module operative to dynamically create partitions in response to new users; and, a partitioning mechanism operative to enforce the partitions to control access to a network resource among a plurality of users.
- 11. A method allowing for dynamic allocation of a network resource, the method comprising the steps of:
(a) recognizing a new user of a network resource; (b) creating a partition on demand for the new user, wherein the partition is operable to allocate utilization of the network resource to the new user; and, (c) disposing of the partition when no longer needed.
- 12. The method of claim 11 wherein the disposing step comprises the steps of reclaiming the partition for a subsequent new user if the partition is inactive.
- 13. The method of claim 11 further comprising
receiving a set of parameters defining a partition.
- 14. The method of claim 11 wherein the partition is configurable based on a characteristic of the user's utilization of the network resource.
- 15. The method of claim 11 wherein the partition is operable to provide a minimum allocation of the network resource to the new user.
- 16. The method of claim 11 wherein the partition is operable to limit utilization of the network resource.
- 17. The method of claim 11 wherein the partition is implemented by class-based weighted fair queueing functionality.
- 18. The method of claim 11 wherein the partition is implemented by committed access rate functionality.
- 19. A method allowing for dynamic allocation of a network resource, the method comprising the steps of:
(a) recognizing a new user of a network resource; (b) dynamically creating an allocation of the network resource on demand for the new user; and, (c) disposing of the allocation when no longer needed.
- 20. A method allowing for dynamic allocation of network resources, the method comprising the steps of
recognizing new users of a network resource; creating user partitions on demand for new users, wherein each user partition is operable to allocate utilization of a network resource to a user; and, reclaiming inactive user partitions for subsequent new users.
- 21. The method of claim 20 wherein inactive partitions are reclaimed when necessary for subsequent new users.
- 22. The method of claim 20 wherein inactive partitions are reclaimed automatically.
- 23. The method of claim 20 further comprising the steps of
receiving a set of parameters defining a user partition and a partition cap parameter defining a desired limit on the number of user partitions; and wherein the creating step (c) is conditioned on the number of existing user partitions not exceeding the partition cap.
- 24. The method of claim 23 further comprising the steps of
receiving a set of parameters defining an overflow partition; and assigning new users to the overflow partition, if the number of user partitions exceeds the partition cap.
- 25. A method allowing for dynamic allocation of network resources, the method comprising the steps of
recognizing new users of a network resource; dynamically creating partitions in a partition object space on demand for the new users, wherein each partition is operable to control utilization of a network resource; monitoring use of the partitions; and, reclaiming inactive partitions in the partition object space for subsequent new users, as needed.
- 26. A method facilitating the dynamic allocation of network resources, the method comprising the steps of:
(a) recognizing a new user associated with a data flow; (b) associating a traffic classification to the data flow; (c) creating a partition on demand for the new user, wherein the traffic classification determines the parameters of the partition; (d) enforcing the partition on the data flow; and, (e) disposing of the partition when no longer needed.
- 27. The method of claim 26 wherein the disposing step comprises
reclaiming the partition for a subsequent new user.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application makes reference to the following commonly owned U.S. patent applications and patents, which are incorporated herein by reference in their entirety for all purposes:
[0002] U.S. patent application Ser. No. 08/762,828, now U.S. Pat. No. 5,802,106 in the name of Robert L. Packer, entitled “Method for Rapid Data Rate Detection in a Packet Communication Environment Without Data Rate Supervision;”
[0003] U.S. patent application Ser. No. 08/970,693 now U.S. Pat. No. 6,018,516, in the name of Robert L. Packer, entitled “Method for Minimizing Unneeded Retransmission of Packets in a Packet Communication Environment Supporting a Plurality of Data Link Rates;”
[0004] U.S. patent application Ser. No. 08/742,994 now U.S. Pat. No. 6,038,216, in the name of Robert L. Packer, entitled “Method for Explicit Data Rate Control in a Packet Communication Environment Without a Data Rate Supervision;”
[0005] U.S. patent application Ser. No. 09/977,642 now U.S. Pat. No. 6,046,980, in the name of Robert L. Packer, entitled “System for Managing Flow Bandwidth Utilization at Network, Transport and Application Layers in Store and Forward Network;”
[0006] U.S. patent application Ser. No. 09/106,924 now U.S. Pat. No. 6,115,357, in the name of Robert L. Packer and Brett D. Galloway, entitled “Method for Pacing Data Flow in a Packet-based Network;”
[0007] U.S. patent application Ser. No. 09/046,776 now U.S. Pat. No. 6,205,120, in the name of Robert L. Packer and Guy Riddle, entitled “Method for Transparently Determining and Setting an Optimal Minimum Required TCP Window Size;”
[0008] U.S. patent application Ser. No. 09/479,356 now U.S. Pat. No. 6,285,658, in the name of Robert L. Packer, entitled “System for Managing Flow Bandwidth Utilization at Network, Transport and Application Layers in Store and Forward Network;” and
[0009] U.S. patent application Ser. No. 09/198,090 now U.S. Pat. No. ______, in the name of Guy Riddle and Robert L. Packer, entitled “Method for Automatically Classifying Traffic in a Packet Communications Network.”