US 6973033 B1
An architecture, design, and realization for providing Quality of Service (QoS) to Internet Protocol (IP) networks based on a three-class differentiated service scheme where the service provider uses a resource management system and a schedule optimizer to enable the optimal use of bandwidth and buffer resources at each node or router along the various links between the ingress and egress points in a network. The resource reservation system checks to determine if sufficient bandwidth resources are available along the path requested by the customer for a particular class. The schedule optimizer ensures that sufficient buffer resource allocations and parameter settings are made to optimally reach the predetermined QoS criteria for each of the three classes. The system also contains a mechanism supporting resource reservations providing additional resources along alternative paths if the selected path links fail in the network.
1. A method for use in a network that carries packet traffic under at least two classes of service, the method comprising determining individually for each of a plurality of links in the network whether a predetermined parameter associated with said each link meets a predetermined criterion, said parameter being a function of the amount of packet traffic over said each link that is entitled to one of the classes of service and being further a function of the amount of packet traffic over said each link that is entitled to the other of the classes of service,
wherein said parameter is the ratio of a) the amount of packet traffic over said each link that is entitled said one of the classes of service to b) the amount of packet traffic over said each link that is entitled to the other of the classes of service and wherein said criterion is that said ratio exceeds a predetermined threshold.
This is a continuation of U.S. patent application Ser. No. 09/475,512 filed Dec. 30, 1999, now U.S. Pat. No. 6,744,767.
This invention relates to a method and apparatus for allocating bandwidth during implementation of Quality of Service (QoS) using Internet Protocol (IP) provisioning. Specifically, the invention allocates bandwidth resources between service classes and during network congestion either buffers or randomly drops packets of lower quality of services to ensure delivery with minimized packet loss for higher quality of services.
Quality of Service (QoS) mechanisms for packet transmission typically utilize data path mechanisms (packet classification, policing, shaping, buffering, and scheduling) and control path mechanisms (signaling, resource reservation, routing) for ensuring packet delivery during periods of network congestion. Currently within the networking community there exist two schools of thought regarding QoS, represented by two working groups of the Internet Engineering Task Force (IETF). The first school of thought, Integrated Services (int-serv), supports fine-grained data path and control path QoS mechanisms, while the second school of thought, Differentiated Services (diff-serv), supports coarse-grained mechanisms that apply to a small set of aggregate flow classes. Int-serv mechanisms may provide the appropriate solution in the longer term; however, the QoS mechanisms now available from most mature router vendors correspond more closely with the diff-serv mechanisms.
The main concepts of diff-serv are: (1) aggregates of flows (rather than individual flows) receive a service; (2) the forwarding engine is required to provide delay and loss guarantees in a statistical or relative (rather than absolute quantitative) sense; and (3) the forwarding treatment that should be received by a packet is identified by a byte in the packet header, rather than by a flow lookup. The flow aggregates in diff-serv can be specified in several ways. To illustrate, consider a corporation that has three sites. Each site communicates with all the other sites over the Internet. A site may also communicate with other entities connected to the global Internet. In such a case, the flow aggregates that should receive differentiated QoS can be specified by:
To signal resource reservation needs, the IETF has developed the Reserve Reservation (RSVP) hop-by-hop protocol. Although RSVP was initially intended for int-serv, it was later realized that RSVP provides adequate signaling support for aggregates of traffic flows, such as those found in diff-serv schemes. In the diff-serv schemes, hop-by-hop signaling is used only for admission control, not for creating per-flow state in intermediate routers, as is typically done in the int-serv scheme.
A need exists for an architecture and design supporting Quality of Service (QoS) features using Internet Protocol supporting (1) a guarantee of performance under certain conditions, (2) supporting differentiation of product services with Internet providers, and (3) attaining economies of scale with multiple services integrated on a common network. The QoS should maximize the probability of delivery of packets for the highest levels of service while minimizing the probability of dropped packets. However, this optimization should not erode the lowest levels of service such that packet delivery delays for lower classes of services are so long that the lower classes of services cease to deliver the level of subscribed service.
This invention is a diff-serv resource reservation system that checks to determine if sufficient bandwidth resources are available along the data flow pathway requested by the customer for a particular class of service. The resource reservation system determines the parameters such that a data packet can be transmitted according to the desired Quality of Service (QoS) parameters for the desired class. A schedule optimizer ensures that sufficient buffer resource allocations and parameter settings in the routers and servers along the data path are made to optimally reach the predetermined QoS criteria for each of the desired classification of service levels. The system also contains a mechanism supporting resource reservation providing dynamic allocation of additional resources along alternative paths if the selected path links fail in the network.
For a three-service class QoS scheme comprising a Virtual Leased Line, Assured and Basic service classes, the resource management system optimizes packet traffic flow from (1) the values for the maximum QoS deterioration levels of the traffic caused by individual reservations for Virtual Leased Line traffic, (2) the maximum QoS deterioration levels of the Basic service caused by the Assured service, and (3) the packet loss ratios of the Assured versus the Basic services. These values provide information necessary for determining capacity planning and provide the minimum utilization of a link to be considered when congestion occurs. Average utilization of Virtual Leased Line traffic with respect to the peak rate subscribed along each link is computed versus the maximum percentage of the total Virtual Leased Line subscription with respect to the link capacity. Preconfiguration of all the routers with parameter settings for Weighted Fair Queuing (WFQ), buffer allocations, and Weighted Random Early Discard (WRED) further allows the resource reservation system to maintain the desired QoS in the network.
The summary of the invention, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention.
The second class of service in the hierarchy is Assured service (12) and is designed for customers who need “better than best-effort service.” When congestion exists, packets that receive Assured service (12) gain a degree of priority over packets that receive Basic service (14) in terms of packet loss. Basic service (14), the lowest class of service, is designed for customers who require general Internet access where some delay is not critical to the success of the application. Basic service (14) is the equivalent of best-effort delivery service that is widely used in current Internet servicing.
A Virtual Leased Line (10) can be realized independently of Assured service, and vice versa. The three-class model can be extended with more classes to include additional enhanced classes that are similar to the Virtual Leased Line service (10) class but also provide for over-booking of packets and thus can be subscribed to by a customer at a less expensive rate. Typically, a Virtual Leased Line (10) transmitting packets is not over-booked. During intervals where Virtual Leased Line (10) data flows do not use their allotted bandwidth, the remaining bandwidth (16) is available to Assured (12) and Basic (14) traffic flows. That is, Assured (12) and Basic (14) traffic flows share the bandwidth not committed to Virtual Leased Line (10) traffic flows as well as any idle bandwidth committed to Virtual Leased Line (10) traffic flows.
Since Assured packets obtain higher priority handling than Basic packets during periods of congestion, Assured (12) traffic flows obtain a degree of protection against overloads of Basic (14) traffic. Assured (12) packets get priority over Basic (14) packets at each hop, but unlike the case for Virtual Leased Line (10) packets, the routers provide no guarantee that the delays at all hops along the flow path will be small. Instead, traffic measurement, provisioning systems plans and management of the network capacity allow Assured (12) traffic flows to experience small delays with sufficiently high probability. With appropriate traffic engineering and pricing, Assured (12) traffic consistently sees a lightly loaded “best-effort” network.
As illustrated in
The three classes of service operate using a traffic priority scheme configured such that priority is given to Virtual Leased Line (10) traffic such that the service quality to the Assured (12) and Basic (14) classes is impacted. Likewise, the priority scheme for the Assured (12) service class impacts the quality of service to the Basic (14) service class.
Engineering guidelines for the appropriate choices of parameters and bandwidth allocation for each of the three classes for each link in the network are:
Virtual Leased Line service (10) guarantees a unidirectional reserved rate Rf for a point-to-point flow. When packets arrive at an ingress point in the network at a rate exceeding Rf, they are dropped prior to entering the network. The reserved rate supported by the Virtual Leased Line service (10) may be renegotiated or may vary over time. Virtual Leased Line service (10) is similar to leased line service, but a leased line service guarantees a fixed delay, while the delay in Virtual Leased Line service (10) is variable but typically very low. While leased line service is also realized by reserving a physical circuit from the origin to destination, the Virtual Leased Line service (10) is typically realized on an Internet Protocol network that statistically multiplexes its resources among several services across a virtual circuit. Finally, the time-scale at which the transmission rate can be changed is smaller for a Virtual Leased Line (10) service than a leased line service.
The essence of the point-to-point restriction for Virtual Leased Line (10) bandwidth can be guaranteed between a pair of ingress and egress routers by reserving appropriate bandwidth on all routers along the path of transmission. This eliminates the difficulties associated with providing a high quality service across many possible (non-deterministic) paths, particularly when the egress points can vary. Under congestion conditions, each link along the path is designed to have a sufficient bandwidth to carry the Virtual Leased Line traffic with no packet loss due to the provisioning features of the Virtual Leased Line service (10).
Each of the nodes or routers along the path for the first (20) and the second (32) Virtual Leased Lines must reserve a sufficient bandwidth for the packet traffic resources for both the Virtual Leased Lines (20) and (32) operating at peak performance. Additional nodes or routers R1 (36), R3 (38) and R6 (40) can be connected to the other nodes or routers on the network handling the first Virtual Leased Line (20) and the second Virtual Leased Line (32). Allocation of the bandwidth along secondary routes also needs to be calculated to support Virtual Leased Line services along the primary pathways.
The voice gateways 1 (22), 2 (34) and 3 (24) comprise systems that are typically computers, routers or information appliances that typically include a microprocessor (42), memory system (44), and a communication interface or connection (46) that allows the system and voice gateway to be connected to the communication network. Other components comprising the system are a packet transmission delivery device (48), a communication network sensing mechanism (50), a controller (51), a bandwidth allocation device (52), and a memory buffer (54). The communication interface or connection (46) may be a modem or other data packet transmission and receiving device. The communication sensing mechanism (50) is capable of sensing the topology of the communication network including the network's router parameters and characteristics. The controller (51) is capable of scheduling the transmission of the packets across the communication network. The bandwidth allocation device (52) is capable of allocating and reserving sufficient bandwidth according to a preselected scheme corresponding to service classifications. The memory buffer (54) allows the system to buffer certain service classification packets to maximize the probability of packet delivery for higher classes of packet delivery services. The components described above do not necessarily have to be located within the same system or computer but can be coupled or connected together to form the system.
If the Virtual Leased Line (32) fails at node R5 (28), then the architecture will redirect packet traffic along alternative routes. When the Virtual Leased Line (32) is established, a calculation is made along alternative pathways such as the data pathway on nodes R2 (26)-R1 (36)-R3 (38)-R4 (30). When node R5 (28) fails, the architecture automatically redirects the packet traffic along the alternative pathway because the architecture has reserved Virtual Leased Line bandwidth along the alternative pathways.
If and when traffic congestion conditions occur, the links between nodes R4 (30)-R5 (28) and R5 (28)-R2 (26) must be able to serve all Virtual Leased Line service links in the route. Thus, the summation of all the reserved rates or guaranteed bandwidth for Virtual Leased Lines on a particular link must be less than the total bandwidth allocation for Virtual Leased Line class on that link. Guarantees for no packet loss for Virtual Leased Line service can be made only if the aggregate rate reserved for all the Virtual Leased Lines services on any link is less than the total capacity available on that link. The bandwidth share that can safely be dedicated to Virtual Leased Line service without adverse impact on Assured and Basic classes requires setting some predetermined criteria and parameters.
Various levels of service availability can be provided on links based on the time scale corresponding to recover time from a link or router failure. Given enhanced forwarding and routing capabilities typical of most routers, such as those available in Multi-Protocol Layered Switching (MPLS), recovery times can be reduced to the millisecond range. If the Virtual Leased Line service guarantees are to be maintained during a router failure, then Virtual Leased Line capacity planning and admission control has to account for the alternative paths that must be reserved for different failure scenarios. However, accounting for these alternative paths may limit the total amount of Virtual Leased Line traffic admitted along the various links.
The router identifies the packets belonging to the Virtual Leased Line service class-based on the Diffserv Codepoints (DSCP) in the packet's header. The expedited packet handling behavior denotes the Virtual Leased Line service class. To access the Virtual Leased Line service, the router makes the following two scheduling decisions:
The allocation of link bandwidth (310) between the Virtual Leased Line and other service classes provides extremely low delay and jitter to the Virtual Leased Line service class; the router is programmed to prioritize the scheduling. The router may employ a class-based scheduling algorithm (314) that allocates bandwidth among various service classes in a weighted fair manner (316), such as by WFQ or M-DRR. In this embodiment, the router may have to emulate priority behavior by assigning a sufficiently large weight to the Virtual Leased Line class. This weight provision may be required to be significantly larger than what is typically necessary to allocate the desired bandwidth to the appropriate class. For example, if 20% bandwidth is allocated to Virtual Leased Line, a network administrator may have to assign a weight that allocates 50% bandwidth.
For allocation of link bandwidth (312) between the various flows within the Virtual Leased Line class, the router could employ a single first-in, first-out (FIFO) relationship scheme (318) for these traffic flows. There may be an advantage to using separate FIFOs if the Virtual Leased Line is used to aggregate smaller bursty flows; but for relatively smooth applications, such as Voice-over-IP (VoIP) applications, a single FIFO is typically sufficient.
Virtual Leased Line service typically guarantees a near-zero packet loss due to congestion. This guarantee can typically only be made if the aggregate rate reserved for all the Virtual Leased Lines on any link is less than the capacity available on that link for the Virtual Leased Line service. To ensure that this condition is met, a Bandwidth Broker network management tool can be used. As Multi-Protocol Layered Switching (MPLS) mechanisms become available, they also can be used to provide enhanced control of the Virtual Leased Line path and to provide ultra-fast restoration capabilities in response to router failures. RSVP, as a signaling protocol for aggregate QoS flows, can also improve the flexibility of QoS subscriptions by changing the signaling protocol from a current static subscription to a dynamic subscription in both time-scale and rate renegotiations.
A Bandwidth Broker tool can be used to help achieve the setting of these parameters for routers located along the data pathway between the ingress and egress points of the network. For example, when a customer wants to subscribe to a Virtual Leased Line path from point A to point B, the Bandwidth Broker tool can apply an inter-domain routing protocol such as Open Shortest Path First (OSPF) to find the exact series of links the Virtual Leased Line path will traverse. The Bandwidth Broker tool also determines if each of these links has a sufficient bandwidth to support the Virtual Leased Line subscription. If there is a sufficient bandwidth, the subscription is accepted; otherwise, the required Virtual Leased Line rate cannot be honored.
The time average packet loss ratio is used at each outgoing link as a measure of QoS of the three classes. If PV, PA, and PB denote the long time average packet loss ratios (408) of the Virtual Leased Line, Assured, and Basic traffic, then Pall denotes the long time average packet loss ratio of all traffic. If Pall-V denotes the long time average packet loss ratio of the combined Assured and Basic traffic, then both classes are treated as lesser quality of services and the Virtual Leased Line service receives premium status.
In order to find the appropriate traffic mix (410), each out-going link is analyzed to satisfy the design principles of the subscriptions: If λall is denoted as the total aggregate traffic rate for the link under analysis, then λV, λA, and λB are denoted as the traffic rates of the Virtual Leased Line Assured, and Basic, respectively. Consequently, λall=λV+λA+λB.
If the total packet loss ratio remains the same when the traffic is divided into three classes or if WFQ and WRED only redistribute the total packet loss among the three classes, then the closed-loop impact from the TCP connections is ignored.
Traffic engineering considerations for Assured services provide the desired traffic ratio (414) between the Assured and Basic services. Enforcement of such a ratio is difficult for all links for given values of βA and αA. The optimal solution is to monitor this traffic ratio (414) for all links and only take action when the total utilization of the link is greater than 80% and the Assured and Basic traffic ratio (414) is more than the desired value obtain from the equation above. If this scenario occurs, application of Multi-Protocol Layered Switching (MPLS), explicit routing technology or obtaining an additional bandwidth for the link are possible solutions.
The primary QoS requirements (416) for the Virtual Leased Line having zero packet loss during congestion, low queuing delay and jitter can be realized through implementation of: (1) admission control (418) of the total peak Virtual Leased Line traffic to any interface, (2) appropriate assignment of weights (420) in WFQ, and (3) appropriate buffer allocation (422). Admission Control 418 provides the maximum fraction of a link's bandwidth for subscription to Virtual Leased Line service. This fraction should be no more than wV=0.5. The Bandwidth Broker tool can be utilized to track the Bandwidths of the various links. CAR is used at ingress routers to drop any Virtual Leased Line packets above the subscribed rate of the customer.
Weights (420) for Virtual Leased Line service WFQ are ideally 100% for the minimize cross-class jitter for Virtual Leased Line. However, assigning a value of 100% may cause starving for the remaining traffic when the bulk of the Virtual Leased Line packets arrive at the queue in short time intervals or when admission control on Virtual Leased Line traffic fails in some ingress points of the network, causing non-Virtual Leased Line traffic to be marked as Virtual Leased Line Traffic. One compromise is to set the weight for Virtual Leased Line to 50% (wV=50%). In this way, on average, a Virtual Leased Line packet at the head of its queue only needs to wait at most for one Assured or Basic packet to be transmitted while a guarantee of 50% of the remaining bandwidth is available for the rest of the traffic. The value of wV can be adjusted to higher values on some AR links where the majority of the traffic is for Virtual Leased Line service.
The minimum buffer size (422) for controlling packet loss on the Virtual Leased Line is derived from the minimum buffer space that is available for the Virtual Leased Line traffic. Determining the minimum buffer size (422) typically ignores the intermediate hops that the Virtual Leased Line traffic traverse before reaching the considered out-going link interfaces. Since almost all Virtual Leased Line traffic comes from different customer routers, independence among Virtual Leased Line traffic is assumed. In addition, a Virtual Leased Line subscription is upper-bounded by its peak rates and the sum of all the peak rates has to be less than 50% of the link capacity. The router parameters are then configured (424) for the transmission of the traffic on the network.
In a conservative analysis, this system can be described as N independent Virtual Leased Lines always running at their peak rates where N is the total number of Virtual Leased Lines. The queuing scheme that is used is typically denoted as N*D/D/1. A more conservative, M/D/1 model can also be used to replace the N*D/D/1 model. This simplifies the computations while the queue length estimated is normally greater than the one using N*D/D/1 modeling. In particular, if the asymptotic result of M/D/1 modeling is applied:
An estimate of the maximum delay at a router for an outgoing link of an Optical Carrier Level 3 (OC3) link, when the packet size is 1500 bytes, is a maximum of 0.155 ms to transmit one packet when 50% of the OC3 bandwidth is reserved for Virtual Leased Line traffic. Based on the computation above, there is less than 10−6 probability that a Virtual Leased Line packet will be subject to 10.6 ms delay at an OC3 interface link. If the VoIP packet size is reduced in size to 120 bytes, the 10.6 ms delay is further reduced to 0.85 ms for the transmission of an Ethernet packet. Since a speech frame size satisfying the G.711 standard is 80 bytes, VoIP encapsulation comprises 40 bytes (20 bytes for the Internet Protocol header, 8 bytes for the User Datagram Protocol (UDP) header, and 12 bytes for Real Time Protocol (RTP)). For a Digital Signal, Level 3 (DS3) interface, the maximum delay for a VoIP packet is increased to 2.56 ms because the DS3 interface transmits at one third of the bandwidth of an OC3 connection.
The buffer management scheme shares buffer space by allocating and separating the packets according to the classes of service. A global threshold is determined for all queues and a series of local thresholds are determined for each queue. For the three classes of services, Virtual Leased Line, Assured and Basic, only two buffers are required: one for the Virtual Leased Line traffic and one for the Assured traffic. Additional buffers would be used if additional service classes were implemented.
Setting the global and the two local thresholds requires ensuring that the minimum buffer size required for Virtual Leased Line traffic is met by the following equation:
The primary function of the buffer is to absorb the bursts of packet traffic and therefore increase the utilization of the transmission router. If G denotes the global threshold, LV denotes the local thresholds for the Virtual Leased Line traffic, and LA+B for the Assured and Basic traffic combined, then:
The local threshold is designed to ensure the designated traffic has a certain degree of guarantee of access to the buffer. The local threshold implies that LV+LA+B≦B; otherwise, when the sum of Assured and Basic packets reach LA+B, the Virtual Leased Line packets may not have full access to the local buffer space LV. The global threshold is designed to support buffer sharing so that utilization of the transmission router can be optimized. Therefore, from a utilization perspective, the larger values of G support increased utilization. However, when only two queues exist, a primary concern is guaranteeing the minimum buffer size BV for the Virtual Leased Line traffic. Therefore:
The setting of Random Early Detection (RED) as a congestion avoidance mechanism to improve TCP throughput and fairness while reducing average packet loss allows the current average queue size to be congested by:
The dropping probability on the incoming packet is determined based on three related parameters: (1) the minimum threshold minth value, (2) the maximum threshold maxth value, and (3) the probability denominator den. When the average queue depth is above the minimum threshold, RED starts randomly dropping incoming packets. The probability of random packet dropping increases linearly as the average queue size increases until the average queue size reaches the maximum threshold. The inverse of the probability denominator is the fraction of packets dropped when the average queue depth is at the maximum threshold, denoted as pmax. For example, if the denominator, den, is (512), one out of every (512) packets is dropped when the average queue is at the maximum threshold. When the average queue size is above the maximum threshold, all packets are dropped.
The computed average queue size (700) is less than or equal to the total buffer size. To maximize buffer efficiency, select the same value for maxth (704) of the Assured service and maxth (704) of the Basic service. Beginning at a predetermined minimum point minth (702) of the average queue size (700), packets are randomly dropped. As the number of packets in the queue increases beyond the minimum point minth (702), the number of dropped packets increases until the maximum buffer limit maxth (704) is reached. Once the maximum buffer size maxth (704) is reached, probability of dropping packets pb (710) reaches a maximum point pmax (712) for the Assured service and pmax (714) for the Basic service. Beyond the maximum buffer size maxth (704), all packets are dropped (716). The probability of Basic packets being dropped increases faster than the probability of the Assured packets being dropped as the maximum buffer size maxth (704) is approached, thereby ensuring that Basic packets are dropped before Assured packets. This ensures that Assured service achieves higher levels of QoS than Basic service.
When average queue size is between minth and maxth the dropping probability of the Assured packets is αA times that of the Basic. If non-random packet drops are rather small, then PA/PB≈αA where αA is determined by:
Under the proposed parameters set forth above, Assured and Basic packets take the same queue on FIFO basis at each interface. Therefore, along the same forwarding path:
In other words, through controlling packet drop rates of the Assured and Basic classes, control is achieved from the above ratio. The table below gives the values of αA for desired throughput ratios of the two classes.
This setting leaves two parameters minth and pmax for Basic to be determined. It is recommended to keep minth at the level corresponding to a mean delay of 2 ms for any given link, and p=0.1. The main concept is to minimize non-random packet drops to ensure resulting values for αA.
A computer or server connected to a network of other servers or computers provides the hardware for implementing the Bandwidth Broker aspects of this invention. The computer is connected to the network by a modem or other interface allowing for the transmission and reception of data over a network such as the Internet or an Intranet. One or more microprocessors in the computer receives commands that select data and organize the data for transmission in packets across the network. Additional commands received and executed by the computer's processors or network sensing mechanism allow the computer to sense the topology and routing parameters of the network. Other commands received and executed by the computer's processors or packet transmission delivery mechanism support the classification of the data packets according to a prespecified service class level. In a typical example, the prespecified service class levels would be Virtual Leased Line, Assured and Basic service classes.
Additional sensing performed by the computer supports the selection of a primary and alternate or secondary pathways for transmitting the data packets from a starting point to a destination point. By predetermining the bandwidth allocated to each service class level along the primary or secondary pathways, the computer can ascertain whether a request to transmit data packets across the network along a particular pathway can be processed based on the available bandwidth remaining for the selected service class level. If available bandwidth exists, the data packet can receive a reservation on the pathway with a guarantee of required bandwidth to ensure proper delivery of the data packet. The computer can facilitate the changing of router or other parameters involved in transmitting data packets, i.e., bandwidths for the different levels of service classifications can be modified and changed based on the requirements of the customer.
The Bandwidth Broker's major functionality includes provisioning Virtual Leased Line subscriptions, provisioning Assured subscriptions, and traffic monitoring. The subscriptions granted can be made by static or dynamic decisions. Static Virtual Leased Line service provisioning occurs when a prospective Virtual Leased Line customer submits a purchase request for Virtual Leased Line service. A determination is made whether the request can be categorized into one or multiple point-to-point, unidirectional Virtual Leased Lines. For each Virtual Leased Line, the customer should provide the Internet Protocol addresses of the two end points and the peak rate of the Virtual Leased Line service to be subscribed. The Bandwidth Broker determines if the request can be accepted or denied based on the available bandwidth along each link in the required path.
The steps for making this decision are as follows:
To carry out the tasks described above, the Bandwidth Broker should maintain the updated information on the network topology, the Open Shortest Path First (OSPF) metric assigned to all links, line speeds of all links, the maximum bandwidth that can be subscribed to the Virtual Leased Line service for each link, all Virtual Leased Line routes and rates currently subscribed to customers, and the bandwidth already subscribed to Virtual Leased Line service of each link under the normal condition.
Then the Bandwidth Broker determines and tracks the total peak rate of the Virtual Leased Line subscribed along each link of the network (812). The maximum bandwidths are input for subscription relative to the total Virtual Leased Line peak rate for each link in the network (814). Then the Bandwidth Broker determines the traversing path when a Virtual Leased Line subscription request is received at the ingress router (816). Connection A (818) links
The Bandwidth Broker then determines whether the Virtual Leased Line traffic along every link can accommodate the Virtual Leased Line service (820). If the Virtual Leased Line service cannot be accommodated, then the Virtual Leased Line request is denied (822). If the request is granted, the Bandwidth Broker determines whether for every failed path, an alternative path can be established to accommodate the requested Virtual Leased line rate (824). If the Virtual Leased Line service can not be accommodated, then the Virtual Leased Line request is denied (822). If the request is granted, the Bandwidth Broker accepts the Virtual Leased Line request (826), updates the total subscribed Virtual Leased Line rates (828), and sets the warning flags (830).
Routing protocols such as OSPF always select the shortest path for packet forwarding. The OSPF cost metric assigned to all links is independent of real-time traffic through the links and the shortest path will remain unchanged as long as the network topology and metric assigned to all links remain unchanged.
To make such a decision, upon receiving the Assured service subscription request (1000), the Bandwidth Broker determines the Assured rate requested by the prospective customer (1002). The Bandwidth Broker also determines the maximum total rate that can be allowed for the Assured service at the requested Assured rate (1004). The remaining rate for the Assured service is then calculated for other Assured rates.
The Bandwidth Broker compares the requested Assured rate with the remaining Assured service rate availability (1006). The rate request is denied if the remaining rate is smaller than the required rate (1008), otherwise the Assured rate request is accepted (1010). If the Assured rate request is accepted (1010), the remaining available Assured rates are updated in the router databases (1012) as well as the customer data. The Bandwidth Broker continues to monitor the traffic ratio of Assured service versus the Basic service for each link (1014). By performing this monitoring, warning flags (1016) are set for those links with ratios above a pre-specified threshold. This requires that the Bandwidth Broker monitor the network traffic for Assured and Basic service classes for a pre-specified time interval. In addition, the Bandwidth Broker should monitor the remaining Virtual Leased Line bandwidth on each link. Warning flags are also set for those links to alert the network when the Virtual Leased Line bandwidth exceeds a pre-specified threshold.
For dynamic provisioning, subscriptions can be realized by using RSVP for aggregate flows, where customers can request and resize their reservations dynamically. Once aggregating RSVP reservations are standards are finalized, the Bandwidth Broker can be extended to support a dynamic subscription. The Bandwidth Broker serves as a part of the provisioning and monitoring tool for differentiated classes of services. Also, the Bandwidth Broker can be integrated with a policy server where QoS policies are enforced and can become a part of the Policy Decision Point (PDP) where decisions are made according to the policies. The decisions are realized at the Policy Enforcement Points (PEPs), i.e., the associated network devices (router, gateway, firewall, etc.).
While exemplary systems and methods embodying the present invention are shown by way of example, it will be understood, of course, that the invention is not limited to these embodiments. Modifications may be made by those skilled in the art, particularly in light of this disclosure. For example, each of the elements of the disclosed embodiments may be utilized alone or in combination with elements of the other embodiments.