« PreviousContinue »
U.S. Patent Feb. 2,1999 sheet 1 of 2 5,867,663
METHOD AND SYSTEM FOR
CONTROLLING NETWORK SERVICE
PARAMETERS IN A CELL BASED
This application claims the benefit of U.S. Provisional application Ser. No. 60/001,498, filed Jul. 19, 1995.
TECHNICAL FIELD OF THE INVENTION 10
This invention relates generally to communications networks and more particularly to a method and system for controlling network service parameters in cell based communications networks. 15
BACKGROUND OF THE INVENTION
Cell based communications networks such as asynchronous transfer ("ATM") networks are used to transfer audio,
video, and data. ATM networks transfer data by routing data units such as ATM cells from a source to a destination through switches. Switches include input/output ports through which ATM cells are received and transmitted.
Existing ATM switches can be divided into several 2J classes. One type of switch uses one large queue as a buffer and controls the access of individual virtual connections to bandwidth on a statistical basis. As a general matter, each virtual connection through this type of switch shares one large buffer and each virtual connection statistically shares 3Q the available bandwidth of the switch and/or on an output link connected to the switch. This approach suffers from several disadvantages. Depending upon the type of traffic traveling through an ATM network, one may want to control certain network service parameters associated with that 35 traffic type. Examples of parameters that may be desirably controlled by an ATM network include a connection's delay variation, its end-to-end delay, its maximum data loss, its access to guaranteed bandwidth, its access and priority of access to shared bandwidth, and its delivery priority. 4Q Unfortunately, ATM switches employing the above approach cannot create quality of service guarantees on a per connection basis or even provide quality of service (QOS) guarantees on a per traffic type basis. Instead, quality of service guarantees can only be statistical in nature. In 45 addition, head of line blocking in this approach can block connections behind the blocked connection.
A second approach employs a plurality of queues in each switch and allocates switch bandwidth statistically. Further refinements of this approach may assign particular connec- 50 tions to a particular queue based upon a characteristic of the connection such as the traffic type of the connection or the group from which the connection originated. In general, this approach is characterized by sharing each of a plurality of queues by a plurality of connections and sharing the switch 55 bandwidth and/or output link bandwidth among all connections. This approach also has several disadvantages. Quality of service based upon the above parameters can only be guaranteed on a per queue basis and the guarantees that can be made for low priority traffic are not strong guarantees. In go addition, the quality of service guarantees for multiple queues can only be made on a statistical basis rather than on a per connection basis. This approach also suffers from head of line blocking in each individual queue. Thus, certain connections may block other connections behind it. 65
A third approach uses a plurality of queues and assigns a plurality of connections to each queue and allocates either
switch bandwidth and/or link bandwidth on a per queue basis. This approach also suffers from several disadvantages. Again, the quality of network service can only be guaranteed on a per queue basis rather than on a per connection basis. Also, unused allocated switch bandwidth and/or link bandwidth cannot be used by another queue. Accordingly, this bandwidth remains unused, resulting in an inefficient use of system resources.
SUMMARY OF THE INVENTION
The invention comprises a method and system for controlling network service parameters in a cell based communications network. In accordance with a method of the invention, a plurality of input signals are received on input ports of a communications device wherein at least one input signal comprises at least one virtual connection. The communications device is part of a cell based communications network wherein each virtual connection comprises a series of data cells comprising a header portion and a data portion. A first virtual connection is assigned to a first queue. The first queue is associated with a first buffer space wherein the first buffer space is dedicated to the first queue. The first queue is also associated with a second buffer space wherein the second buffer space is shared between the first queue and other queues. Data associated with the first virtual connection is queued in the first queue.
The invention allows quality of service guarantees based upon network service parameters to be made on a per connection basis. Thus, the invention can be used for efficiently transporting disparate types of traffic across a cell based communications network. For constant bit rate (CBR) services, the invention allows delay variation, end-to-end delay and bandwidth to be guaranteed on a per virtual connection basis. In addition, the invention allows the guarantee of "no cell loss" for a constant bit rate traffic other than link bit errors. The term "no cell loss" refers to preventing cell loss caused by network congestion due to buffer overflow.
For variable bit rate services, a portion of switch and link resources may be allocated to a variable bit rate (VBR) virtual connection and other switch and link resources may be dynamically shared among that particular virtual connection and other traffic on the network. For the portion of services that are allocated, the delay variation, end-to-end delay, bandwidth, and maximum data loss can be guaranteed for a variable bit rate virtual connection. For bandwidth above the allocated portion, maximum data loss can be guaranteed on a statistical basis. In addition, priority access to dynamic bandwidth and delivery priority can be guaranteed for a particular variable bit rate virtual connection.
For an available bit rate (ABR) virtual connection, the invention can guarantee no cell loss and priority access to dynamic bandwidth either in a switch, on a link, or both. Like variable bit rate services, a portion of switch and/or link resources may be allocated to an available bit rate virtual connection while other resources may be shared with other virtual connections. For the allocated portion of a virtual connection, the bandwidth of that connection can be guaranteed.
For unspecified bit rate services, the invention allows a guarantee of priority access to dynamic bandwidth and of delivery priority.
Accordingly, the invention allows quality of service guarantees to be made for disparate types of traffic that may be transported using a communications network employing the present invention. The invention avoids the shortcomings of
the prior art by applying queuing and bandwidth management mechanisms to individual connections as well as to a group of connections. Without the per virtual connection queuing mechanism of the invention, resources may not be precisely allocated to individual flows so that quality of 5 service guarantees are enduring for the life of a connection. The invention allows quality of service guarantees to be maintained regardless of how many other virtual connections are added or deleted during the duration of the connection. 10
A communications network constructed in accordance with the invention may also achieve 100% network occupancy rates on a link-by-link basis while maintaining constant bit rate bandwidth and delay guarantees and available bit rate quality of service guarantees in an integrated ser- :5 vices environment. The invention thus allows efficient use of network resources by devices connected to the communications network, that have varying traffic patterns and quality of service needs.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the 25 accompanying drawings in which:
FIG. 1 illustrates a communications network constructed in accordance with the teachings of the invention; and
FIG. 2 illustrates a first embodiment of a communications device constructed in accordance with the teachings of the 30 invention.
DETAILED DESCRIPTION OF THE
The preferred embodiment of the present invention and its advantages are best understood by referring to FIGS. 1 and 2 of the drawings, like numerals being used for like and corresponding parts of the various drawings.
FIG. 1 illustrates a communications network 10 con- 40 structed in accordance with the teachings of the invention. Communications network 10 is a cell based network and in this embodiment comprises an asynchronous transfer mode (ATM) network. Communications network 10 could be another type of network without departing from the scope of 45 the invention. Communications network 10 comprises a series of communications devices 12 (also referred to as nodes) connected by a series of communications links 14. In this embodiment, each communications device 12 comprises an ATM switch. Other types of switches could be used 50 without departing from the scope of the invention. Each communications link 14 may comprise any type of communications link, such as a SONET link.
A number of communications devices and networks may be connected to communications network 10. In this 55 embodiment, communications network 10 is connected to local area network 16, wide area network 18, telephone access network 20, first computer 22, second computer 24, Internet server 26 and video server 28. Other types of communications devices (or networks) could also be con- 60 nected to communications network 10 and some or all of the illustrated devices (or networks) could be omitted without departing from the scope of the invention. Each of these communications devices (or networks) communicates with communications network 10 using ATM cells. These devices 65 (or networks) may use a communications protocol other than ATM for internal communications. For such devices, a
mechanism is provided to translate the communications protocol to ATM and from ATM to the communications protocol for the particular device or network. This mechanism may be provided either inside of one of the communications devices 12 or inside the particular device or network connected to communications network 10.
When a first device connected to communications network 10 desires to communicate with a second device connected to communications network 10, it sends data over communications network 10. The data is sent from the first device over one or more communication links 14 and through one or more communications devices 12 to the second device, thus forming a virtual connection between the first device and the second device. A communications device 12 switches numerous virtual connections through communications device 12 and each communications link 14 carries numerous virtual connections between two communications devices 12.
Communications network 10 is an integrated services network. Thus, communications network 10 can be used to transport varying types of ATM services. Examples of ATM services that may be transported through communications network 10 include constant bit rate services, variable bit rate services, available bit rate services, and unspecified bit rate services. The invention allows efficient transport of each of these traffic types and allows a certain quality of service guarantees to be made regarding each traffic type or virtual connection.
In accordance with one aspect of the invention, a unique queue is assigned to each virtual connection passing through a communications device 12. A specific embodiment of per virtual connection queuing will be described in connection with FIG. 2 below. In the embodiment illustrated in FIG. 2, both an input queue and an output queue are associated with each virtual connection. These queues are uniquely assigned to a particular virtual connection. Thus, queues are not shared among virtual connections. Some switches may employ only an input queue, only an output queue, or queues in addition to an input and output queue. The teachings of the invention can be applied to any queue associated with a communications device 12 by assigning queues on a per connection basis. As will be discussed more fully below, per virtual connection queuing allows queuing and bandwidth management mechanisms to be applied to individual connections rather than a group of connections. Queuing management mechanisms include control over buffering of virtual connections. Per virtual connection queuing allows precise allocation of network resources to individual virtual connections so that quality of service guarantees are enduring for the life of the virtual connection. These guarantees may be maintained regardless of how many other connections are added or deleted.
In operation, a plurality of input signals are received on input ports of communications device 12 wherein at least one input signal includes at least one virtual connection. In this embodiment, a unique input queue and a unique output queue are associated with each virtual connection. Queues in this embodiment are logical structures implemented using a linked list of pointers. Each queue may be associated with one or more buffer pools. In this embodiment, each queue may be associated with two buffer pools—a shared buffer pool and a dedicated buffer pool. Data associated with the first virtual connection is queued in the unique input queue for transport through a switching fabric connected with the input port. Data that is passed through the switching fabric is queued in the unique output queue associated with the virtual connection for transport over an output communica5
tions link. As will be described more fully below, another aspect of the invention is the method of implementing per virtual connection queuing.
A second aspect of the invention involves the use of communications network 10 in emulating a circuit type 5 connection. Devices using a constant bit rate mode of communication frequently need to be treated as if there was a physical connection between the devices. Accordingly, ATM networks sometimes include resources to aid in emulating circuit connections so as to provide adequate service 10 between devices communicating using a constant bit rate service. Communications network 10 of the present invention may be used in the emulation of circuit connections while guaranteeing certain network quality of service parameters. For each constant bit rate virtual connection, the 15 present invention allows quality of service to be guaranteed for delay variation and end-to-end delay on a per virtual connection basis. In addition, bandwidth can be guaranteed for a constant bit rate virtual connection. Also, constant bit rate services may be transported through communications 20 network 10 with no cell loss.
Although a more specific mechanism for implementing circuit connection emulation will be described in connection with FIG. 2 below, the above-described per virtual connection queuing mechanism may be used to emulate a circuit 25 connection. For example, first computer 22 of FIG. 1 may desire to communicate using a constant bit rate service with second computer 24. To achieve circuit connection emulation, queues and bandwidth through each communications device 12 through which the virtual connection 30 between computer 22 and computer 24 passes are allocated to the virtual connection for the duration of the communication signal between first computer 22 and second computer 24. The queue that is allocated has access to an allocated amount of buffer space for the duration of the 35 connection. In this embodiment, allocated buffer space is implemented by assigning a counter limit to the queue. This counter limit represents the number of cell locations in a buffer pool that may be used by the particular queue at any one time. All queues that have allocated buffer space may 40 use any available physical location in the shared pool up to the counter limit. In addition, an amount of output link bandwidth is allocated to the communications signal over each communications link 14 of communications network 10 over which the virtual connection travels between first 45 computer 22 and second computer 24. By allocating network resources and dedicating those resources to a particular virtual connection, a circuit connection may be emulated through communications network 10 with quality of service guarantees on a per connection basis. 50
In this specific embodiment, communications device 12 has both an input queue and an output queue assigned to a constant bit rate virtual connection. These queues are created when a new virtual connection is established. In the current embodiment, 16,000 connections per input port or output 55 port may be processed. In addition, bandwidth through the switching fabric of communications device 12 and bandwidth on the output link of communications device 12 are allocated to the constant bit rate virtual connection. Where communications device 12 is configured differently, circuit 60 connections may be emulated by allocating any queuing and bandwidth resources on a per virtual connection basis in accordance with the invention.
FIG. 2 illustrates a first embodiment of a communications device 12 constructed in accordance with the teachings of 65 the invention. FIG. 2 comprises a plurality of input ports 30 coupled to a switching fabric 32 which is, in turn, coupled
to a plurality of output ports 34. The term "coupled" refers to a logical connection between the input ports 30, switching fabric 32 and output ports 34. Various additional circuitry may appear between these elements, but they are still logically coupled to one another. A larger or smaller number of input ports 30 and/or output ports 34 could be used without departing from the scope of the invention.
Each input port 30 is connected to one or more input links 36. Each input link 36 in turn comprises one or more virtual connections 38. Each output port 34 is connected to one or more output links 40. Each output link 40 in turn comprises one or more virtual connections 38.
Each input port 30 comprises one or more demultiplexers 42, one or more queues 44, and a multiplexer 50. Demultiplexers 42 and multiplexer 50 are not physical devices. Instead, the switching of traffic through input port 30 functionally implements demultiplexing and multiplexing functions.
When a virtual connection 38 is received over an input link 36 the cells associated with virtual connection 38 are demultiplexed through a demultiplexer 42 to one of the queues 44. In this embodiment, a unique queue 44 is assigned to each virtual connection 38. In other words, queue 44 contains the cells of one and only one input link 38. Although this embodiment employs per virtual connection queuing, the buffer and bandwidth mechanisms of the invention may be used in communications devices 12 that assign multiple virtual connections to a single queue 44.
In this embodiment, queue 44 comprises a linked list of pointers. These pointers point to the location in a buffer where a cell associated with a particular queue pointer is stored. A third aspect of the invention is the queuing mechanism used for queues 44. Each queue 44 may be associated with multiple buffer pools. In accordance with the queuing mechanism of this embodiment, queue 44 is associated with a particular virtual connection 38 and may be assigned dedicated buffer pool space, shared buffer pool space, or a combination of dedicated and shared buffer pool space depending upon the traffic type of the connection.
Referring to FIG. 2, one of the input queues 44 has been assigned space in shared buffer 46 and dedicated buffer 48. Space in dedicated buffer 48 is uniquely dedicated to a particular queue 44. Thus, space in dedicated buffer 48 associated with a queue 44 may be used by that queue 44 and only that queue 44. Space in shared buffer 46 is shared among several queues 44. Ordinarily, a constant bit rate virtual connection 38 will only be assigned space in a dedicated buffer 48, while a variable bit rate virtual connection 38 and available bit rate virtual connection 38, or an unspecified bit rate virtual connection 38 may be assigned dedicated space in a dedicated buffer 48 and shared space in a shared buffer 46. In this embodiment, because a particular virtual connection 38 is uniquely assigned a queue 44, space in a dedicated buffer 48 and/or in a shared buffer 46 may be assigned specifically to a virtual connection. In an embodiment where queue 44 is shared among several virtual connections 38, space in dedicated buffer 48 and/or shared buffer 46 may be assigned to the queue 44 as a whole.
Dedicated buffer 48 comprises a plurality of buffer locations 60 wherein each buffer location 60 holds one ATM cell. The size of dedicated buffer 48 may be dynamically adjusted depending upon the number of virtual connections accessing dedicated buffer 48. When a queue 44 is assigned space in dedicated buffer 48, the queue 44 is assigned a fixed number of buffer locations 60 that the queue 44 may have access to at any one time. The specific physical position of those