Congestion control for high speed packet networks
First Claim
1. A packet switching system, comprising:
- an input for receiving calls, some of which are bursty transmissions and some of which are non-bursty transmissions;
a plurality of outputs;
a call controller means for;
(a) routing a call received by the input to a selected one of the outputs,(b) identifying whether the received call is a bursty transmission or a non-bursty transmission,(c) reserving for the received call at least a first requested minimal amount of bandwidth on the selected one of the outputs needed to perform in-call buffer reservation in response to an identification that the call is a bursty transmission, and(d) reserving a predetermined second peak amount of bandwidth on the selected one of the outputs needed to transmit the call in response to an identification that the call is a non-bursty transmission; and
a trunk controller means associated with the selected one of the outputs for;
(a) reserving a requested amount of buffer space for the call in the trunk controller means in response to a buffer reservation packet in a call which is a bursty transmission, the buffer reservation being accomplished independent of the call routing, call identifying, and bandwidth reservation of the call controller means, and(b) placing data in a call which is a non-bursty transmission on the selected one of the outputs in accordance a first priority and placing data in a call which is a bursty transmission on the selected one of the outputs in accordance with a second priority less than the first priority.
1 Assignment
0 Petitions
Accused Products
Abstract
Congestion in a high speed connection oriented packet network carrying bursty data and real time service is avoided by a novel in-call negotiation scheme for reserving bandwidth for real time calls and reserving buffer capacity for bursty calls.
For a real time call, a centralized call controller in each switch in the network determines which of its outgoing trunks has available to it the peak bandwidth needed to accommodate the call. Once one of these trunks is found, the call routing is set up so that the call is directed through that trunk and the peak bandwidth requirement of the call is allocated on that output trunk for the duration of the call.
The network contains one or more switches, each of which has a centralized call controller and a plurality of trunk controllers. The call controller routes calls from a plurality of input trunks to a plurality of output trunks, identifies kinds of calls, and allocates bandwidth on the output trunks. The trunk controllers perform in-call buffer reservation independent of the routing, identification, and bandwidth allocation performed by the call controller. This relieves the call controller of the extra burden of performing buffer reservation and it permits buffer reservation to be accomplished in a shorter period of time.
-
Citations
34 Claims
-
1. A packet switching system, comprising:
-
an input for receiving calls, some of which are bursty transmissions and some of which are non-bursty transmissions; a plurality of outputs; a call controller means for; (a) routing a call received by the input to a selected one of the outputs, (b) identifying whether the received call is a bursty transmission or a non-bursty transmission, (c) reserving for the received call at least a first requested minimal amount of bandwidth on the selected one of the outputs needed to perform in-call buffer reservation in response to an identification that the call is a bursty transmission, and (d) reserving a predetermined second peak amount of bandwidth on the selected one of the outputs needed to transmit the call in response to an identification that the call is a non-bursty transmission; and a trunk controller means associated with the selected one of the outputs for; (a) reserving a requested amount of buffer space for the call in the trunk controller means in response to a buffer reservation packet in a call which is a bursty transmission, the buffer reservation being accomplished independent of the call routing, call identifying, and bandwidth reservation of the call controller means, and (b) placing data in a call which is a non-bursty transmission on the selected one of the outputs in accordance a first priority and placing data in a call which is a bursty transmission on the selected one of the outputs in accordance with a second priority less than the first priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of handling calls in a packet telecommunications system, comprising the steps of:
-
receiving calls at an input, some of which are bursty transmissions and some of which are non-bursty transmissions; in a call controller; (a) routing a call received at the input to a selected one of a plurality of outputs, (b) identifying whether the received call is a bursty transmission or a non-bursty transmission, (c) reserving for the received call at least a first requested minimal amount of bandwidth on the selected one of the outputs needed to perform in-call buffer reservation in response to an identification that the call is a bursty transmission, and (d) reserving a predetermined second peak amount of bandwidth on the selected one of the outputs needed to transmit the call in response to an identification that the call is a non-bursty transmission; and in a trunk controller associated with the selected one of the outputs; (a) reserving a requested amount of buffer space for the call in the trunk controller in response to a buffer reservation packet in a call which is a bursty transmission, the buffer reservation being accomplished independent of the call routing, call identifying, and bandwidth reservation of the call controller, and (b) placing data in a call which is a non-bursty transmission on the selected one of the outputs in accordance a first priority and placing data in a call which is a bursty transmission on the selected one of the outputs in accordance with a second priority less than the first priority.
-
-
17. A packet switching system, comprising:
-
an input for receiving calls requiring different qualities of service; a plurality of outputs; a call controller means for; (a) routing a call received from the input to a selected one of the outputs, (b) detecting a required bandwidth indication and a quality of service designator in a call setup packet associated with the call, and (c) selectively reserving one of; (1) a first predetermined minimal amount of bandwidth on the predetermined one of the outputs needed to perform in-call buffer reservation and (2) a second predetermined peak amount of bandwidth on the predetermined one of the outputs needed to transmit the call in response to the detected required bandwidth indication and the quality of service designator; and a trunk controller means associated with the selected one of the outputs; (a) for receiving a buffer reservation packet associated with a call for which the first predetermined amount of bandwidth has been reserved by the call controller means and reserving a predetermined amount of buffer space for the call in the trunk controller means in response to the buffer reservation packet, the buffer space reservation being accomplished by the trunk controller means independent of the call routing, required bandwidth indication and quality of service designator detection, and selective bandwidth reservation performed by the call controller means, and (b) for placing data associated with a call for which the second predetermined peak amount of bandwidth has been reserved on the selected one of the outputs in accordance with a first priority and placing data associated with a call for which the first predetermined minimal amount of bandwidth has been reserved on the selected one of the outputs in accordance with a second priority less than the first priority. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method of handling calls in a packet telecommunications system, comprising the steps of:
-
receiving calls requiring different qualities of service at an input; in a call controller; (a) routing a call received from the input to a selected one of a plurality of outputs, (b) detecting a required bandwidth indication and a quality of service designator in a call setup packet associated with the call, and (c) selectively reserving one of; (1) a first predetermined minimal amount of bandwidth on the predetermined one of the outputs needed to perform in-call buffer reservation and (2) a second predetermined peak amount of bandwidth on the predetermined one of the outputs needed to transmit the call in response to detecting the required bandwidth indication and the quality of service designator; and in a trunk controller associated with the selected one of the outputs; (a) receiving a buffer reservation packet associated with a call for which the first predetermined amount of bandwidth has been reserved by the call controller and reserving a predetermined amount of buffer space for the call in the trunk controller in response to the buffer reservation packet, the buffer space reservation being accomplished by the trunk controller independent of the call routing, required bandwidth indication and quality of service designator detection, and selective bandwidth reservation performed by the call controller, and (b) placing data associated with a call for which the second predetermined peak amount of bandwidth has been reserved on the selected one of the outputs in accordance with a first priority and placing data associated with a call for which the first predetermined minimal amount of bandwidth has been reserved on the selected one of the outputs in accordance with a second priority less than the first priority.
-
-
33. A packet switching system, comprising:
-
an input for receiving first calls which are real time transmissions, second calls which are bursty transmissions, and third calls which do not have stringent loss or delay requirements; a plurality of outputs; a call controller means for; (a) routing a call received by the input to a selected one of the outputs, (b) identifying whether the received call is a first call, a second call, or a third call, (c) reserving for the received call at least a first predetermined minimal amount of bandwidth on the predetermined one of the outputs needed to perform in-call buffer reservation in response to an identification that the call is a second call, and (d) reserving a predetermined second peak amount of bandwidth on the predetermined one of the outputs needed to transmit the call in response to an identification that the call is a first call; and a trunk controller means associated with the selected one of the outputs comprising; (a) a variable capacity real time queing means for receiving data relating to the first calls, (b) a variable capacity reserved data buffering means for receiving data relating to the second calls, (c) a variable capacity unreserved residual data buffering means for receiving data relating to the third calls, (d) a buffer reservation unit for receiving a buffer reservation packet in a second call for reserving a predetermined amount of buffer space in the reserved data buffering means for the call, the buffer reservation being accomplished independent of the call routing, call identifying, and bandwidth reservation of the call controller, and (e) a scheduling means for placing data on the predetermined one of the outputs from the real time queuing means in accordance with a first priority, from the reserved data buffering means in accordance with a second priority less than the first priority, and from the residual data buffering means on a best efforts basis.
-
-
34. A method of handling calls in a packet telecommunications system, comprising the steps of:
-
receiving at an input first calls which are real time transmissions, second calls which are bursty transmissions, and third calls which do not have stringent loss or delay requirements; in a call controller; (a) routing a call received at the input to a selected one of a plurality of outputs, (b) identifying whether the received call is a first call, a second call, or a third call, (c) reserving for the received call at least a first predetermined minimal amount of bandwidth on the predetermined one of the outputs needed to perform in-call buffer reservation in response to an identification that the call is a second call, and (d) reserving a predetermined second peak amount of bandwidth on the predetermined one of the outputs needed to transmit the call in response to an identification that the call is a first call; and in a trunk controller associated with the selected one of the outputs; (a) receiving data relating to the first calls in a variable capacity real time queuing means, (b) receiving data relating to the second calls in a variable capacity reserved data buffering means, (c) receiving data relating to the third calls in a variable capacity unreserved residual data buffering means, (d) receiving in a buffer reservation unit a buffer reservation packet in a second call for reserving a predetermined amount of buffer space in the reserved data buffering means for the call, the buffer reservation being accomplished independent of the call routing, call identifying, and bandwidth reservation of the call controller, and (e) placing data on the predetermined one of the outputs from the real time queuing means in accordance with a first priority, from the reserved data buffering means in accordance with a second priority less than the first priority, and from the residual data buffering means on a best efforts basis.
-
Specification