Claims
- 1. A device for allocating bandwidth on a per user basis comprising:
a processor; a first network interface coupled to the processor; a second network interface coupled to the processor; a storage medium accessible by the processor; a set of computer instructions stored on the storage medium, executable by the processor to:
retrieve a set of user profiles, wherein each user profile corresponds to a specific user in a set of users; establish at least one bandwidth limit for each user in the set of users based on the corresponding user profile for that user; for each user in the set of users, regulate bandwidth usage associated with that user based on the at least one bandwidth limit established for that user; and update the at least one bandwidth limit for at least one user from the set of users.
- 2. The device of claim 1, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a new user profile.
- 3. The device of claim 1, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a new user connecting to the device.
- 4. The device of claim 1, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a time of day.
- 5. The device of claim 1, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on utilization averaging for the corresponding user.
- 6. The device of claim 1, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit by modifying a traffic control rule containing the at least one bandwidth limit.
- 7. The device of claim 1, wherein the computer instructions are further executable to meter bandwidth usage on a per user basis.
- 8. The device of claim 1, wherein the computer instructions are further executable to establish a traffic control rule for each user containing the at least one bandwidth limit for that user.
- 9. The device of claim 8, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit for the at least one user by updating the traffic control rule for the at least one user.
- 10. The device of claim 9, wherein the computer instructions are further executable to access each traffic control rule from an IP table based on an indicator associated with each traffic control rule.
- 11. The device of claim 10, wherein the indicator comprises a MAC address.
- 12. The device of claim 10, wherein the indicator comprises an IP address.
- 13. The device of claim 1, wherein the computer instructions are further executable to:
receive a network communication from a first user from the set of users over the first network interface destined for a network connected to the second network interface; access a traffic control rule for the first user that includes an upload bandwidth limit for the first user; and determine if the network communication causes the upload bandwidth limit to be exceeded.
- 14. The device of claim 13, wherein the computer instructions are further executable to receive the network communication from the user over a wireless network.
- 15. The device of claim 1, wherein the computer instructions are further executable to:
receive a network communication over a network connected to the second network interface destined for a first user from the set of users; access a traffic control rule for the first user that includes a download bandwidth limit for the first user; and determine if the network communication causes the upload bandwidth limit to be exceeded.
- 16. The device of claim 15, wherein the computer instructions are further executable to receive the network communication from the user over a wireless network.
- 17. The device of claim 1, wherein the computer instructions are further executable to monitor sessions on per user basis.
- 18. The device of claim 1, wherein the computer instructions are further executable to:
prioritize bandwidth allocations for network applications for at least one user based the corresponding user profile for that user.
- 19. A device for allocating bandwidth on a per user basis comprising:
a storage medium; a set of computer instructions stored on the storage medium, executable by a processor to:
retrieve a set of user profiles, wherein each user profile corresponds to a specific user in a set of users; establish at least one bandwidth limit for each user in the set of users based on the corresponding user profile for that user; for each user in the set of users, regulate bandwidth usage associated with that user based on the at least one bandwidth limit established for that user; and update the at least one bandwidth limit for at least one user from the set of users.
- 20. The device of claim 19, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a new user profile.
- 21. The device of claim 19, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a new user connecting to the device.
- 22. The device of claim 19, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a time of day.
- 23. The device of claim 19, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on utilization averaging for the corresponding user.
- 24. The device of claim 19, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit by modifying a traffic control rule containing the at least one bandwidth limit.
- 25. The device of claim 19, wherein the computer instructions are further executable to meter bandwidth usage on a per user basis.
- 26. The device of claim 19, wherein the computer instructions are further executable to establish a traffic control rule for each user containing the at least one bandwidth limit for that user.
- 27. The device of claim 19, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit for the at least one user by updating the traffic control rule for the at least one user.
- 28. The device of claim 27, wherein the computer instructions are further executable to access each traffic control rule from an IP table based on an indicator associated with each traffic control rule.
- 29. The device of claim 28, wherein the indicator comprises a MAC address.
- 30. The device of claim 28, wherein the indicator comprises an IP address.
- 31. The device of claim 19, wherein the computer instructions are further executable to:
receive a network communication from a first user from the set of users over a first network interface destined for a network connected to a second network interface; access a traffic control rule for the first user that includes an upload bandwidth limit for the first user; and determine if the network communication causes the upload bandwidth limit to be exceeded.
- 32. The device of claim 31, wherein the computer instructions are further executable to receive the network communication from the user over a wireless network.
- 33. The device of claim 19, wherein the computer instructions are further executable to:
receive a network communication over a network connected to a first network interface destined for a first user from the set of users; access a traffic control rule for the first user that includes a download bandwidth limit for the first user; and determine if the network communication causes the upload bandwidth limit to be exceeded.
- 34. The device of claim 33, wherein the computer instructions are further executable to receive the network communication from the user over a wireless network.
- 35. The device of claim 19, wherein the computer instructions are further executable to monitor sessions on per user basis.
- 36. The device of claim 19, wherein the computer instructions are further executable to:
prioritize bandwidth allocations for network applications for at least one user based the corresponding user profile for that user.
- 37. A method for allocating bandwidth on a per user basis comprising:
retrieving a set of user profiles, wherein each user profile corresponds to a specific user in a set of users; establishing at least one bandwidth limit for each user in the set of users based on the corresponding user profile for that user; for each user in the set of users, regulating bandwidth usage associated with that user based on the at least one bandwidth limit established for that user; and updating the at least one bandwidth limit for at least one user from the set of users.
- 38. The method of claim 37, wherein the computer instructions are further executable to dynamically update the at least one bandwidth limit based on a new user profile.
- 39. The method of claim 37, further comprising:
dynamically updating the at least one bandwidth limit based on a new user connecting to the device.
- 40. The method of claim 37, further comprising dynamically updating the at least one bandwidth limit based on a time of day.
- 41. The method of claim 37, further comprising dynamically updating the at least one bandwidth limit based on utilization averaging for the corresponding user.
- 42. The method of claim 37, further comprising dynamically updating the at least one bandwidth limit by modifying a traffic control rule containing the at least one bandwidth limit.
- 43. The method of claim 37, further comprising metering bandwidth usage on a per user basis.
- 44. The method of claim 37, further comprising establishing a traffic control rule for each user containing the at least one bandwidth limit for that user.
- 45. The method of claim 37, further comprising dynamically updating the at least one bandwidth limit for the at least one user by updating the traffic control rule for the at least one user.
- 46. The device of claim 45, further comprising accessing each traffic control rule from an IP table based on an indicator associated with each traffic control rule.
- 47. The method of claim 46, wherein the indicator comprises a MAC address.
- 48. The method of claim 46, wherein the indicator comprises an IP address.
- 49. The method of claim 37, further comprising:
receiving a network communication from a first user from the set of users over a first network interface destined for a network connected to a second network interface; accessing a traffic control rule for the first user that includes an upload bandwidth limit for the first user; and determining if the network communication causes the upload bandwidth limit to be exceeded.
- 50. The method of claim 49, further comprising receiving the network communication from the user over a wireless network.
- 51. The method of claim 37, further comprising:
receiving a network communication over a network connected to a first network interface destined for a first user from the set of users; accessing a traffic control rule for the first user that includes a download bandwidth limit for the first user; and determining if the network communication causes the upload bandwidth limit to be exceeded.
- 52. The method of claim 51, further comprising further comprising receiving the network communication from the user over a wireless network.
- 53. The method of claim 37, further comprising monitoring sessions on per user basis.
- 54. The method of claim 37, further comprising prioritizing bandwidth allocations for network applications for at least one user based the corresponding user profile for that user.
- 55. A device comprising a set of computer instructions stored on a computer readable storage medium, the computer instructions executable by a processor to:
establish a bandwidth limit for a user based on a user profile for the user; receive a first network communication; determine if the first network communication causes the bandwidth limit to be exceeded; if the first network communication causes the bandwidth limit to be exceeded, drop the network communication; and update the bandwidth limit for the user.
- 56. The device of claim 55, wherein the instructions are further executable to establish a traffic control rule for the user containing the bandwidth limit.
- 57. The device of claim 56, wherein the computer instructions are further executable to access the traffic control rule from an IP table based on an indicator.
- 58. The device of claim 57, wherein the indicator comprises a MAC address and an IP address associated with the user.
- 59. The device of claim 55, wherein the user profile specifies network application priorities for network applications.
- 60. The device of claim 55, wherein the user connects to the device via a network comprising a wireless network.
RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application No. 60/418,968, entitled “System and Method for Dynamic Bandwidth Shaping,” to Kerry Clendenning, et al., filed Oct. 16, 2002, which is hereby fully incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60418968 |
Oct 2002 |
US |