Claims
- 1. A method for managing communication on a shared medium with communication capacity that is shared by a plurality of communication channels comprising:
admitting the communication channels for communicating over the shared medium, including assigning a priority to each of the channels; maintaining a data rate assignment for each of the communication channels such that a combination of the data rate assignments for the channels does not exceed the communication capacity of the shared medium; and passing data for the communication channels according to the data rate assignment for each of the communication channel, including for each of the communication channels, accepting data and transmitting the accepted data over the shared medium at a rate limited according to the data rate assignment for the communication channel; wherein maintaining the data rate assignments for the communication channels includes
monitoring communication on the communication channels, generating requests to change data rate assignments for the communication channels using the monitored communication, wherein the requests to change the data rate assignments for each communication channel include requests to increase an assigned data rate for said channel and requests to decrease the assigned data rate for said channel, and repeatedly recomputing the data rate assignments using the received requests.
- 2. The method of claim 1 wherein recomputing the data rate assignments at the arbiter includes:
determining a shares of the communication capacity of the shared medium for each of the priorities of the communication channels, modifying the data rate assignments for communication channels at each priority according to the allocated share for that priority; and for each priority, processing requests for increases in data rate assignments for communication channels at that priority according to said requests and the allocated shared for said priority.
- 3. The method of claim 1 wherein the data rate assignment for each communication channel includes a committed data rate and an assigned data rate, wherein the assigned data rate is maintained to be equal to or to exceed the committed data rate, and wherein in recomputing the data rate assignments, determining the share of the communication capacity of the shared medium for each priority includes determining a total share of an excess of the communication capacity of the shared medium that exceeds the total committed data rates of the communication channels.
- 4. The method of claim 3 recomputing the data rate further includes modifying the data rate assignments for the communication channels at each priority includes creating a pool of unassigned capacity, and processing requests for increases in data rate assignments for communication channels includes applying the pool of unassigned capacity to said channels.
- 5. The method of claim 4 wherein processing a request for an increase in data rate assignments for a communication channel at each priority further includes reducing a data rate of another communication channel at the same priority and applying that reduction in data rate to the request for the increase.
- 6. The method of claim 1 wherein recomputing the data rate assignments includes partially ordering the communication channels at each priority according their past data rate assignments, and reducing a data rate of another communication channel at the same priority includes selecting the another communication channel according to the partial ordering.
- 7. The method of claim 1 wherein monitoring the data rates for the communication channels include monitoring a size of a queue of data accepted for the channels that is pending transmission over the shared medium and generating the requests to change the data rate assignment for the channels using the monitored size of the queue.
- 8. The method of claim 7 wherein monitoring the data rates for the communication channels further includes computing a time average of the monitored size of the queue of data.
- 9. The method of claim 1 wherein passing data for the communication channels further includes applying an early dropping approach in which accepted data is discarded when the data rates for the communication channels exceed their assigned data rates.
- 10. The method of claim 1 wherein maintaining the data rate assignment for each channel includes maintaining a committed data rate for each channel, and wherein recomputing the data rate assignments includes providing at least the committed data rate to each channel.
- 11. The method of claim 1 wherein maintaining the data rate assignment for each channel includes maintaining a limit on the data rate for each channel, and wherein recomputing the data rate assignments includes applying the limit on the data rate for each channel.
- 12. The method of claim 1 wherein the shared communication capacity of the shared communication medium includes a capacity on a SONET network, and the communication channels enter the SONET network at corresponding nodes of the SONET network.
- 13. The method of claim 12 wherein maintaining the data rate assignments for the communication channels includes maintaining an assignment of a portion of each of a series of data frames to each of the communication channels.
- 14. The method of claim 13 wherein modifying the data rate assignments for the communication channels includes modifying the assignment of the portion of each of the series of data frames to each of the communication channels.
- 15. The method of claim 14 wherein passing the requests to the arbiter include passing said requests for the nodes over the SONET ring to an arbiter node, and distributing the recomputed data rate assignments includes passing said assignments from the arbiter node to other nodes over the SONET ring.
- 16. The method of claim 12 wherein maintaining the assigned data rates for the communication channels includes determining a total amount of each of a series of frames passing on the SONET network that are available for the communication channels.
- 17. The method of claim 16 wherein determining a total amount of each of the series of frames includes determining an amount of each frame assigned to fixed-rate communication channels.
- 18. A communication system comprising:
a shared medium having a communication capacity; a plurality of communication nodes coupled to the shared medium configured to pass data for a plurality of communication channels over the shared medium between the nodes; and an arbiter coupled to the communication nodes and configured to maintain a data rate assignment for each of the communication channels such that a combination of the data rate assignments for the channels does not exceed the communication capacity if the shared medium and to communicate said data rate assignments to the communication nodes; wherein each communication node is configured to accept data for one or more communication channels and to pass the data over the shared medium according to the data rate assignment for those communication channels, and is further configured to pass requests to change data rate assignments for the communication channels according to monitoring of communication on each of said communication channels; wherein the arbiter is further configured to determine a share of the communication capacity for each of a plurality of priorities, maintain the data rate assignments according to the determined shares for each priority and requests to change data rate assignments passed from the communication nodes.
- 19. The communication system of claim 18 wherein the shared medium includes a SONET communication system, and the arbiter is configured to maintain an assignment of a portion of each SONET frame to each of the communication channels.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Nos. 60/245,387 and 60/245,262, both filed on Nov. 2, 2000, both of which are incorporated herein by reference. This application is also related to U.S. application Ser. No. 09/536,416, “Transport of Isochronous and Bursty Data on a SONET Ring,” filed on Mar. 28, 2000, and to U.S. application Ser. No. 09/858,019, “Scalable Transport of TDM Channels in a Synchronous Frame,” filed May 15, 2001, which are also incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60245387 |
Nov 2000 |
US |
|
60245262 |
Nov 2000 |
US |