Dynamic traffic bandwidth management system and method for a communication network

An apparatus and a method for managing service traffic in a communications network capable of providing voice, data, and A/V services to a plurality of customers. In particular, the present invention is a digital subscriber line system (DSL), preferably based on ADSL, having a plurality of customer premise equipment (CPEs) coupled to voice, data and A/V services via network system equipment comprising a DSLAM, an ATM switch and a DSL terminator for connecting the system to the internet. The invention provides a network control system that includes a plurality of databases including a provisioning database and a real time database indicative of the actual bandwidth being utilized. A service control processor coupled to the plurality of databases and the network system equipment periodically polls the databases to determine the amount of bandwidth being used, and if the usage exceeds a predetermined level, throttles the internet data entering the system through the DSL terminator and/or the user data entering the system through the CPEs. Preferrably, throttling is performed using a leaky-bucket algorithm. By dynamically managing the traffic flow in the network, the present invention reduces the potential for dropped calls and similar service restrictions.

This application claims the benefit, under 35 U.S.C. § 365 of International Application PCT/US01/22878, filed Jul. 20, 2001, which was published in accordance with PCT Article 21(2) on Jan. 30, 2003 in English.

The present invention generally relates to communications networks, and more particularly, to a method of managing traffic in a communications network to prevent overload conditions and facilitate an acceptable quality of service for customers requesting different types of services.

Changing communications demands are transforming the existing public information network from one limited to voice, text and low resolution graphics to bringing multimedia, including full motion video, to everyone's home. A key communications transmission technology that is enabling transformation of existing public information networks to accommodate higher bandwidth needs is Asymmetric Digital Subscriber Line (“ADSL”), a modem technology. ADSL converts existing twisted-pair telephone lines into access paths for multimedia and high-speed data communications. ADSL can transmit up to 8 Mbps (Megabits per second) to a subscriber, and as much as 960 kbps (kilobits per second) or more in both directions. Such rates expand existing access capacity by a factor of 50 or more without new cable installations.

Asymmetric Digital Subscriber Line ADSL technology involves modems attached across twisted pair copper wiring in which transmission rates from 1.5 Mbps to 8 Mbps downstream (to the subscriber) and from 16 kbps to 960 kbps upstream (from the subscriber), depending on line distance, can be achieved. Asynchronous transfer mode ATM is an ultra high-speed cell based data transmission protocol that may be run over ADSL. Plain old telephone service (“POTS”) refers to basic analog telephone service. POTS takes the lowest 4 kHz bandwidth on twisted pair wiring. Any service sharing a line with POTS must either use frequencies above POTS or convert POTS to digital and interleave with other data signals.

In a DSL network, there are several potential blocking points, for example, between the digital subscriber line access multiplexer (“DSLAM”) and the ATM switch. The circuit between the DSLAM and the ATM switch can carry multiple types of services, such as voice, video and internet data. Each service carried on the link has a different requirement in terms of bandwidth and quality of service. A problem may arise when the link becomes overloaded. This can cause calls to be dropped and/or refused. It can also cause loss of cells or packets in a variable bit rate transmission of video. Thus, the effect of overloading this link can be detrimental to the service provided.

Therefore, it is desirable to dynamically manage the bandwidth provided to the various services to prevent system overload conditions and to provide an acceptable quality of service for the various types of services.

The present invention provides a system and a method for dynamically managing a network to prevent overload conditions. In particular, the present invention provides a management entity that is aware of each connection and the bandwidth usage associated with each connection in the system. If a near overload condition is sensed, for example 10%-15% of maximum, the bandwidth management system automatically throttles back the internet traffic in order to provide bandwidth for voice and video connections. Once the near overload condition has been resolved, the system releases the restrictions on the internet traffic and restores the service back to a normal condition.

In the exemplary embodiment, the system comprises an ADSL system that provides a user with a telephone connection, A/V connection and an internet connection. The management entity associated with the system periodically queries various databases for information on the number and types of connections in use to calculate the amount of bandwidth being used. If this amount of bandwidth approaches a predetermined level, for example 85%-90% of the maximum amount of available bandwidth, the management entity controls certain access connections to temporarily throttle back the internet traffic. For downstream throttling, the management entity controls the back-end entry point of the DSL network, in this case the DSL terminator. For upstream throttling, the management entity controls the customer entry point of the DSL network, in this case at the customer premise equipment (“CPE”). In the exemplary embodiment, the throttling is performed using a “leaky-bucket” algorithm and is controlled through SNMP or other similar protocol. Further, the amount of throttling may be controlled in response to the amount of load the system is experiencing. The present dynamic bandwidth management system is a continually running background process that is set to periodically poll the system to collect information on the resource availability.

It should be understood that the drawings are for purposes of illustrating the concepts of the invention and are not necessarily the only possible configuration for illustrating the invention.

The present invention provides a system and a method for dynamically managing a network to prevent overload conditions. In particular, the present invention manages a DSL system capable of providing a variety of services, including voice, data, and video. ADSL Multimedia Delivery System100consists of several functional blocks as shown inFIG. 1. Details of the individual block components making up the system architecture are known to skilled artisans, and will only be described in details sufficient for an understanding of the invention.

System100consists of Network Control System (NCS)112, Network System Equipment (NSE)110, and Customer Premise Equipment (CPE) devices104. System100is used to connect Customer Premise Equipment (CPE)104to telephone network116, audio/video streaming source118, and Internet Service Provider (ISP)120. CPEs104are designed to allow a customer to have multiple telephones, 24 hour access to the Internet, and A/V streaming capabilities using ADSL over the existing copper wires connected to the house. CPE104allows for the aggregation of telephone, computer, digital A/V stream, and command ATM data onto an ADSL line between CPE104and NSE110.

CPE104includes a DSL modem unit that interfaces with separate analog telephones over a plain old telephone service (POTS), a 10 Base-T Ethernet connection to a PC desktop system111, and an Ethernet or RS-422 connection to a set-top box with a decoder109for connection to a television or video display. From the customer's analog end, the CPE device104accepts the analog input from each of the telephones, converts the analog input to digital data, and packages the data into ATM packets (POTS over ATM), with each connection having a unique virtual channel identifier/virtual path identifier (VCI/VPI). Known to skilled artisans, an ATM is a connection oriented protocol and as such there is a connection identifier in every cell header which explicitly associates a cell with a given virtual channel on a physical link. The connection identifier consists of two sub-fields, the virtual channel identifier (VCI) and the virtual path identifier (VPI). Together these identifiers are used for multiplexing, demultiplexing and switching a cell through the network. VCIs and VPIs are not addresses, but are explicitly assigned at each segment link between ATM nodes of a connection when a connection is established, and remain for the duration of the connection. When using the VCI/VPI, the ATM layer can asynchronously interleave (multiplex) cells from multiple connections.

Network Control System (NCS)112manages Network System Equipment (NSE)110and the aggregation of CPEs104. NCS112coordinates the data connections as well as data traffic management and error handling. NCS112consists of multiple computers including Service Control Processor (SCP)119, Database Server(s)121, and management platform123.FIG. 2is a block diagram illustrating the components of NCS112. For economic reasons, there may not be enough bandwidth to handle all CPEs104using all of their circuits simultaneously. The amount of available bandwidth is based on statistical usage of the telephone, audio/video streaming, and computer data circuits.

NCS112contains five databases. These databases include provisioning database132, usage database131, error database130, real-time backup database133, and real-time database136. Advantageously, these databases are separate databases within a server and/or may reside within SCP119. The real-time database is a RAM based database to enhance its performance. The remaining databases may be implemented using a Redundant Array of Independent Disks (RAID) implementation, in particular a RAID level5implementation. This level of RAID provides data striping at the byte and error correction level giving excellent performance and good fault tolerance.

Provisioning database132contains information concerning the services provided to each customer connected to system100. This database may be constructed with off-the-shelf SQL database software (e.g. Oracle, MySQL) and may be configured to be available either locally or on a dedicated server. The database interface is scalable such that different levels of data storage capabilities can be supported. The database system may consist of network attached storage units that are connected to the NCS LAN. This allows direct access through a remote device in the event that access is required for status and/or troubleshooting. Access privileges may be granted based on user ID and password making it possible to view or generate reports from the database without risking corruption.

The database contains the following information for each customer:

Customer name

Customer address

CPE serial number

DSLAM number

Number of phone lines enabled

For each phone line:

Real-time database136is used to manage incoming and outgoing calls as well as other connected services. This database may be constructed with off-the-shelf SQL database software (e.g. Oracle) and can be configured to be available locally. Access privileges may be granted based on user ID and password making it possible to view or generate reports from the database without risking corruption. Real-time data base136includes call reference values (“CRV”) and associated information for each CRV for managing calls. The CRVs are used to identify a particular caller and maps to a CPE number and a port number. Information that may be used for managing bandwidth includes the total number of active calls, possibly on a per subscriber basis (for example, the upstream throttle may cut back on internet bandwidth more for subscribers that have 4 active calls than for subscribers with no active calls).

Network management platform123provides a user interface for a network manager to monitor and maintain the system. Network management platform123may be an off-the-shelf computer using an Ethernet connection into the system. This platform provides a status and debug connection for NCS112.

As the number of subscribers associated with NCS112grows and expands so must NCS112. Each of the physical components (SCP, Databases, and Network Management platform) is designed to be scalable. Also, each of the major software modules are designed so that they can be run on the same machine or on separate machines.

Service Control Processor (SCP)119performs all of the functions necessary to manage NSE110. In the present embodiment, SCP119performs the following major functions: GR-303 interface, NSE control, Real-time database, database server, and network management interface. To scale NCS112each of these functions may be run on separate computers that are networked together via a high speed network (Giga-bit Ethernet) depending on speed requirements.

All time-critical network control functionality is located on SCP119. SCP119is logically connected to NSE110and all CPEs104. SCP119is logically connected to each CPE104for the purpose of sending and receiving signaling data to CPE104.

SCP119may consist of an off-the-shelf industrial packaged (rack-mount) computer running an operating system capable of performing the functional tasks noted above. Advantageously, additional CPUs may be added to run different operating systems depending on specific software requirements for operation. Also, additional computers may be added to keep system performance at an acceptable level. By keeping the functions separate, these functions may easily be spread out between several machines. This type of design allows the desired platform to be scalable so that additional processing power can be added with a minimum amount of re-work or design change.

The internal connections between the control circuitry within the NCS (the SCP) and the various elements that are in communication with the control circuitry are now described.

Remote network management is defined as access to the system through a “back door” mechanism. This access can be used to aid in troubleshooting the system.FIG. 3is a block diagram of the connection that allows access to SCP119from outside of NCS112. As shown in the figure, NCS112can be accessed via a publicly available connection (e.g., ISDN or POTS line). The connection is made through a router that allows access to the SCP's Local Area Network (LAN). This access can be used to query computers, databases, etc. for troubleshooting or general status.

Each CPE104is also logically connected to SCP119. SCP119to CPE104logical connection is used to control the data paths between CPE104, ISP120, A/V streaming source118, and telephone network116. All data paths between CPEs104and NSE110have PVCs already established. This allows 24-hour access to ISP120and a channel that allows the exchange of control information between SCP119and CPE104. The voice channels also have PVCs, but SCP119establishes a connection between telephone network116and the voice channel as calls are established.

FIG. 4is a block diagram that shows how voice channels are allocated between a CPE104and public telephone network116. As shown in the figure, the total number of voice channels from the CPEs (XN) may be greater than the number of available DS0 slots (M) on the other side of ATM switch113. Therefore, SCP119must allocate the DS0 channels dynamically as calls are connected to the CPEs104. In the present embodiment, the number of voice channels per CPE, N, is equal to four.

SCP119has a command channel to ATM switch113that is used to issue commands to ATM switch113so that ATM switch113can route CPE104voice channels to T1 interface151and ultimately to telephone network116.

SCP119includes a T1 interface for the TMC and EOC channels back to the telephone company class 5 switch. SCP119communicates with the Class 5 switch by using the GR-303 protocol. This protocol supports access to the telephone system116through a set of commands that can be exchanged between the class 5 switch and SCP119. SCP119accesses the telephone network116in order to establish outgoing voice calls or to handle incoming voice call requests. In the present embodiment, ATM switch113is a Lucent Access Concentrator and functions as the routing mechanism to aggregate and disperse data to various destinations within and outside of NCS112and NSE110. The physical link between ATM switch113and SCP119is an OC3 link.

Referring back toFIG. 1, NSE110consists of the equipment that provides the connections through the system and the physical link between CPEs104and the “outside” world. For system100, the outside world consists of telephone network116, the Internet via an ISP120, and A/V streaming source118. The elements of NSE110and the interfaces in and out of NSE110are described below.

ATM switch113is the backbone of the ATM network. ATM switch113performs various functions in the network, including cell transport, multiplexing and concentration, traffic control and ATM-layer management. Of particular interest in the system domain100, ATM switch113provides for the cell routing and buffering in connection to DSLAM115, network control system112and the Internet gateway (the Internet Protocol IP router and DSL terminator117), and T1 circuit emulation support in connection with telephone network116. A T1 circuit provides 24 voice channels packed into a 193 bit frame transmitted at 8000 frames per second. The total bit rate is 1.544 Mbps. The unframed version, or payload, consists of 192 bit frames for a total rate of 1.536 Mbps.

ATM Switch113establishes connections between CPEs110and the Internet via ISP120, an A/V streaming source118, or telephone network116. All data paths through ATM switch113are set up as PVCs. The voice channels are set up as Real-Time Variable Bit Rate (RT-VBR). This allows the set-up of all data paths to the switch even though the capacity of the data paths exceeds the capacity of link to the ATM switch. The non-blocking data paths are set up as Unspecified Bit Rate (UBR). This allows a minimum amount of bandwidth to be specified for each path.

SCP119controls the operation of ATM switch113using the SNMP protocol and API interface. This communications link is used for call setup, call tear down, and statistics gathering. Use of the in-band communications allows for non co-location of Switch113and SCP119.

DSLAM115provides the ADSL signal to/from the CPEs. The resulting data is formatted into ATM cells, which are passed on to ATM switch113. The reverse operation is performed for ATM cells that are sent to the CPEs104from ATM switch113. DSLAM115is shown inFIG. 5. As shown in the figure, DSLAM115aggregates ATM cells onto an ATM data path. Each CPE104requires the use of a physical port on DSLAM115. For data coming from CPE104, the ADSL signal is demodulated into ATM cells. The reverse operation is performed for ATM cells going back to CPEs104. DSLAM115also provides Cell address translation, ATM to DSL conversion, and DSL to ATM conversion functions.

DSL Terminator117provides a means for connecting system100to the internet. DSL Terminator117identifies the Internet traffic and assigns the proper VPI/VCI so that data is routed to the proper destination CPE104. DSL Terminator117also handles all data conversion from IP to ATM and ATM to IP. When CPE104transmits data, DSL Terminator117receives that ATM data, removes the ATM wrapper around the IP data and forwards the IP data on to the ISP120. When ISP120sends data to DSL Terminator117, DSL Terminator117receives the IP data, wraps that IP data in ATM and sends it on to the CPE through ATM switch113and DSLAM115. In the present embodiment, DSL Terminator117has two 10/100BaseT ports for connecting to ISP120. Depending on the ISP chosen, this configuration may be modified as desired. SCP119communicates with DSL Terminator117using an OC3 link from SCP119to ATM switch113and a DS3 link from ATM switch113to the DSL Terminator117. Over this link SCP119uses in-band signaling for communications. Initial setup of DSL Terminator117is through the RS232 port. Once initialized, use of in-band signaling through the links described above or a direct connect to its Ethernet port are possible options.

As ATM cells move through NSE110, the cells can have their ATM addresses (VPIs/VCIs) translated.FIG. 6is an example of the data paths for ATM cells from two CPEs104. In this example, there are 2 active voice channels; Voice1of CPE1and Voice3of CPE2. The other voice channels are inactive since they are not carrying any data.

Voice traffic management refers to the control of data that carries voice information throughout NSE110and how it is managed when there is less system capacity than the theoretical maximum amount of data that could pass through the system. For example, if there are 100 telephone lines connected to NSE110but only 22 DS0 channels connected to the Telco, the DS0 channels must be allocated dynamically as connections are required for each telephone connection desired.

Statistics may be used to allocate an economical amount of physical data bandwidth at various points in the system. Since this number may be less than the theoretical maximum amount of data, there are different points in the system where data blocking could occur (i.e., a voice connection cannot be completed). SCP119is responsible for managing the allocation of data channels as requested. In the event that a request cannot be fulfilled, SCP119exits from that condition and informs the requesting entity of the connection failure.

FIG. 7is an example of the data paths for voice traffic through the NSE110, wherein potential blocking points are shown. Note that each CPE104shows a voice channel going to the NSE110via a PVC. As shown in the figure, there is a potential of a call being blocked at DSLAM115or at the Telco switch. The potential block at DSLAM115is determined by the size of the DSLAM-to-ATM switch data path and other services active on that link. The potential block at the Telco switch is determined by the number of available DS0 lines.

Each voice channel PVC is established when CPE104is connected to the system. The PVC is specified as a Real-Time Variable Bit Rate (RT-VBR). This allows DSLAM115and ATM switch113to be “over subscribed”. That is, ATM switch113will allow all of the connections to be established since they are set up as RT-VBR. CPE104will not transmit data on any voice channel until commanded to do so by SCP119. When an “off-hook” condition is signaled by CPE104to SCP119, SCP119will determine if there is enough bandwidth for a connection to be made. If there is not enough bandwidth the request will go into a LIFO queue and await processing. If bandwidth is available the request will be processed by the GR-303 stack and a connection made.

FIG. 8illustrates the interface between NSE100and the telco switch. In the present embodiment, the link between DSLAM115and ATM switch113is a DS3 which has 44.736 Mbps of bandwidth. With 300 CPEs there are 1200 possible phone connections. If all connections were made, transmitting data 86.835 Mbps of bandwidth would be needed between DSLAM115and ATM switch113. This shows an over-subscription of 1.94 to 1 assuming that the entire bandwidth is for phone usage only. If a more typical over-subscription rate of 10:1 is used, for phones in use at one time, we will find that (1200/10=120 phones*72.362 Kbps=8.683 Mbps) 8.683 Mbps will be a more typical bandwidth usage. SCP119monitors and controls these connections to stay within available bandwidth limits.

The data paths that do not carry voice data (i.e., the Command and PC data channels) have a minimum bandwidth available for each path. Traffic management is less of a concern for SCP119in this case since the initial set-up of each data path specifies the path as UBR with a minimum and a maximum data rate. The ATM devices enforce this data rate as a function of the ATM protocol itself. As system throughput changes, the bandwidth for each channel is adjusted accordingly based on the amount of data attempting to be passed through that channel.

This requires that each potential “choke point” in the data path be implemented so that it will be able to handle the minimum amount of required bandwidth for the number of CPEs104connected to NSE110.

FIG. 9is a block diagram illustrating examples of points where throughput can be reduced for PC traffic for a system consisting of 6 CPEs. Note that the control data to/from the CPE should not be blocked. Each of the PVCs inFIG. 9has the potential to be limited at each location as indicated. Therefore, each link in that data path must be able to accommodate the required amount of bandwidth (including transmission protocol overhead) for the command and PC data channels connected to the system. As bandwidth approaches the link limit, the UBR traffic will begin to go to slower rates. This process continues until the minimum values, which were provisioned, are met or until additional bandwidth becomes available. CPE104and DSL Terminator117can also be controlled by SCP119to further throttle the traffic coming into the system.

NSE110to telephone network116interface is based on T1 lines, which are gathered as an Interface group. According to the GR-303 interface, an Interface Group (IG) may contain from 1 to 28 DS1 connections. Each DS1 has 24 DS0 channels. Channels12and24are used for control information on the first DS1 connection. If there is a second DS1 in the IG, it contains redundant control information on channels12and24. These channels are only used on the first 2 DS1 connections. All other DS1 connections utilize all 24 channels for voice traffic.

NSE110is connected to each CPE104by the physical copper loop between DSLAM115and the customer premise.FIG. 10is a block diagram of the data paths between the CPEs104and NSE110. The Command and PC data paths are UBR while all of the voice and AV streaming paths are specified as RT-VBR and are assigned a unique VPI/VCI for each path. The Command channel is a data channel to NCS112(and ultimately to SCP119) so that a CPE104is always in contact with NCS112. Bandwidth is allocated so that the maximum number of CPEs104have sufficient bandwidth to always allow communication with NCS112. The PC data path is also a non-blocking channel but may drop to a minimum of 28 Kbps in the event of network congestion. This non-blocking channel requires that sufficient bandwidth is allocated accordingly.

ADSL Multimedia Delivery System100is capable of managing a number of CPEs104that is higher than the number of physical connections available on the ATM side of DSLAM115. Therefore, NCS112must be capable of dynamically managing the traffic bandwidth in order to provide an acceptable quality of service for customers. The present invention provides a management system that exists on SCP119that monitors the link between DSLAM115and ATM switch113for the purposes of enabling the over subscription of the line and preventing overload conditions on the network. The connection for voice through the ATM/ADSL system as discussed in the network control system design specification is that each voice connection is provisioned as a variable bit rate-real time ATM virtual circuit and the bandwidth on this link is managed by SCP119. SCP119needs to know the total amount of bandwidth available on the link between ATM switch113and the DSLAM115.

In the present system, voice traffic receives higher priority than data traffic. Once system100becomes loaded to a predetermine level, for example 85%-90% (combined voice and data), the bandwidth management system enforces a reduction at DSLAM115. SCP119then actively modifies the amount of downstream and upstream bandwidth available for data at each customer as determined in their connection profile. This allows the higher priority for voice traffic through the network.

To insure quality of service during high traffic periods, upstream and downstream data traffic rates are controlled at DSL Terminator117via SNMP commands and CPEs104via the CPE Command Interface.

The bandwidth on an ATM trunk is calculated as follows:

Read total number of calls in progress (TC) from Real-Time database.

Sum the bandwidth for each video connection (VB) from the Real-Time database.

Available data bandwidth (AVB)=BW−(((TC×64 kbps)+VB)×53/47)

The available bandwidth limit is adjustable via the user interface. The available bandwidth limit is the value of bandwidth left unused at which the data traffic rates will begin to be restricted. In the present embodiment, the default limit is set at 15%. If the available bandwidth becomes less than the programmed limit (or 15%) of the total bandwidth ((AVB/BW)*100<15), then upstream and downstream data rates are modified as noted below. If the available bandwidth is greater than the programmed limit (or 15%) and there are restrictions imposed, then the restrictions are removed up to the point where AVB is the programmed limit or greater.

FIG. 11illustrates a flowchart showing the steps performed by the present dynamic bandwidth management system. The system periodically monitors and determines the amount of bandwidth being used in the system in steps180and190. The determination is performed in view of the data in the provisioning database132and real time database136. In response to the data, SCP119determines whether the bandwidth usage is within a predetermined level of the maximum, for example 10%-15%. If the bandwidth usage is less than the predetermined maximum, SCP119removes any restrictions up to a maximum level, for example 85%. If the bandwidth usage is above the predetermined level, SCP119imposes a restriction, either at the upstream entry point in step186or at the downstream bandwidth entry point in step188. Alternatively, both the upstream and downstream throttling may be performed if the bandwidth usage exceeds a second predetermined level. This process is continued until bandwidth usage drops below the desired level, thereby avoiding an overloaded condition in the system. The restriction throttles the data, that is, reduces the data entering the system, for example, by controlling the rate that the data is output from the buffers of DSL terminator117or CPEs104.

For downstream data throttling, the throttling is performed at the back-end entry point to the DSL network, in this case, at DSL terminator117. The data rates allowed on each provisioned PVC in an ATM implementation are temporarily set to lower limits in order to help prevent an overflow condition within the network and also allow other services of higher priority to obtain the necessary resources. In the present embodiment, DSL terminator117performs the throttling using a “leaky-bucket” algorithm. The leaky-bucket algorithm regulates the burstiness of the traffic by throttling the data back so it is possible to enter the network at a controlled rate. This throttling mechanism is remotely controlled by SCP119through SNMP or other similar protocol.

For upstream data throttling, the throttling is performed at the customer entry point of the network, namely the CPEs104. The data rates entering the network here are also throttled back by using a leaky-bucket algorithm. The throttling is dependent upon the amount of load the system is experiencing. The upstream traffic control at CPEs104is also controlled by SCP119. The dynamic bandwidth management system described above is a continually running background process that periodically polls the system to collect information of the resource availability.

Although an exemplary embodiment that incorporates the teachings of the present invention has been shown and described in detail hereinabove, those skilled in the art may readily devise many other varied embodiments that still incorporate these teachings. Therefore, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims.