1. Field of the Invention
This invention relates to techniques for maintaining the hard quality of service (QoS) of the developing Internet. In particular, it relates to a method and system for controlling the admissible ingress and egress traffic of edge routers of the Multiprotocol Label Switching (MPLS) core network for achieving a non-blocking Internet backbone network.
2. Description of Related Art
Internet Protocol (IP) networks are traditionally designed to support a best-effort service, with no guarantees on the reliability and the timely delivery of the packets. As IP networks mature and are increasingly been used to support real-time applications, such as voice onto IP-based platforms, the existing IP networks need to provide a new level of QoS for such new applications. Differentiated Services (DiffServ) and MPLS have become the main QoS architecture for the Internet. DiffServ avoids per-flow bandwidth reservation inside the network. It classifies flows into aggregates (classes), and provides appropriate QoS for the aggregates. A small bit-pattern in each packet—the ToS octet of Ipv4 or the Traffic Class octet of Ipv6—is used to mark a packet for receiving a particular forwarding treatment at each network node. A service level agreement (SLA), is signed between a service providers and customers to specify the type of services and the amount of traffic required for each type. An SLA codifies what a provider promises to deliver in terms of what, how, and associated penalties for failures.
QoS requirements of SLAs need to be achieved with components in both the data-plane and the control-plane. Data-plane components include traffic shaping and policing, traffic classification, scheduling and buffer management. Control-plane components include SLA creation and configuration, signaling and SLA admission control (SAC) and network provisioning/traffic engineering. Effective implementations of data-plane components are well understood and available; only local state information in a router or switch is required. In contrast, control-plane components, such as SAC and network dimensioning, remain open issues. The challenges of the control-plane design arise from the fact that the implementations of control-plane components need the state information of the entire network. Typically there are millions of flows traveling through a high-speed link, and therefore maintaining the state information of all links of the entire network is simply not practical.
There are several proposals for SAC. The general concerns about these proposals include the following.
(a) Scalability and Effectiveness: referring to
(b) Applicability y to Inter-domain QoS All SAC schemes must fully address the inter-domain QoS issues. It is anticipated that there will be significant variation in the implementations and resource management strategies from one ISP to another. It is unlikely that we will find a unified approach across the Internet. Cascading different QoS approaches will work only if they cooperate with each other. That is difficult to achieve. For example, if one network uses measurement-based SAC and the other uses model-based SAC, it is unlikely that the end-to-end QoS can be achieved as anticipated for an SLA path passing through the two networks
While some QoS capabilities based on isolating voice traffic over IP are currently evolving (e.g., DiffServ, MPLS), providing end-to-end QoS at a large scale and across domain boundaries remains a challenging and unsolved problem. Thus a need exists for designing a new and practical SAC scheme to maintain the QoS in the future Internet.
This invention uses the concept of non-blocking network to solve the QoS problem and simplify the SAC design of the future Internet. Among the advantages of the invention comprise one or more of the following: one advantage of the claimed invention is to provide a non-blocking network. A network is called non-blocking if it can always accommodate a new SLA as long as the source and destination routers have capacity to set up the flow. One advantage of the invention is that, if a network is non-blocking, its SAC will be greatly simplified as we do not need to check the capacity utilization of all internal links. According to the method and system of this invention, only the ingress and egress points need to be verified for accepting a new SLA. As demonstrated in
Given a network topology and its link capacities, the present invention provides a way to determine a set of paths for any given source-destination pair in an MPLS network and the maximum admissible ingress and egress traffic. As long as the ingress and egress traffic is within this specified amount and the routing follows the determined paths and the associated load-distribution scheme, none of the internal links will ever exceed the link capacity. Thus, the network is non-blocking internally. As an added advantage, the techniques are well suited for the class of traffic demanding the best QoS, but can also be used with other types of data traffic.
Yet another advantage of this invention is the flexibility in the “turning-on” and “turning-off” of the method and system of the invention according to other relevant considerations in the overall bus utilization or overall performance.
A SAC scheme is invented which decides whether a new SLA can be added to the network. The SAC scheme only requires the source and destination edge routers to monitor their ingress and egress traffic situations and there is no need to check the state information of internal links of the network. The SAC scheme also includes a load-distribution scheme to balance the loads among the paths assigned for each source-destination pair.
Additional constraints can be added to the paths generation scheme. For example, we can specify that a maximum of k routes will be used for any given source-destination pair, or we can specify the hop-count limit for all the paths. We then use the algorithm described in the patent to compute the maximum admissible ingress and egress traffic. As long as the total ingress and egress traffic is within the admissible constraints, the network is still non-blocking.
Furthermore, we can set an arbitrary amount as the admissible ingress and egress traffic constraints and compute the capacities of internal links of the network such that the network is non-blocking. Along with the internal link capacities are the paths for each source-destination pair and the associated load-distribution ratios among these paths.
Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the invention.
a) is a schematic representation of a protocol processor.
b) is a schematic representation of a sample balancing scheme.
Like reference numbers and designations in the different figures indicate like elements.
This invention involves the novel design of a non-blocking network. In this invention, a method and a system for determining traffic constraints, routes, and load-distribution among the routes to achieve non-blocking inside an MPLS Internet backbone network are implemented.
The invention will be illustrated in conjunction with illustrative embodiments of a network and an associated route computation and load-distribution scheme. It should be understood, however, that the invention is not limited to use with the particular network system or node implementation described, but is instead more generally applicable to any route computation algorithm that intends to make network non-blocking.
Assume a network has n edge routers. The techniques of this invention will produce the following outputs.
The ingress and egress admissible traffic constraints, denoted by (αi, βi), 1≦i≦n, of all edge routers. This determines how much traffic each edge router can inject into or receive from the network without causing overflow on any link
The routing method will generate a fixed number of paths, say 4 in our example, between any pair of nodes. The four paths from edge router i to edge router j are denoted by pij1, pij2, pij3, pij4 and the associated load-balancing ratios vij1, vij2, vij3, vij4. For all traffic from edge router i to edge router j, the network will split the load among the paths according to the ratios vBC1, vBC2, vBC3, vBC4.
Referring to
1. γ=2, where γ is the amount of traffic that any router A 201, B 203, C 204, D 205, E 207, F 209 can only inject into or receive from the network.
2. A set of paths for each (source, destination) pair. We can use (A, B) and (A,D) as an example. The rest of the paths can be deduced accordingly.
Consider the traffic injected by all routers into the network. As long as the total amount does not exceed 2 and as long as the destination routers will not receive more than 2 from all the routers, it can be verified that the traversing traffic on any internal link will never exceed 1 regardless of the distribution of the traffic inside the network. This make the SAC decision of a new SLA easy because we only need to check the source and destination routers and see if adding the new SLA will violating the ingress and egress admissible constraints. For example, suppose we want to set up a new SLA with rate=0.5 from A 201 to B 203. We first check if B (203)'s current load has exceeded 1.5. If not, accept the SLA. Otherwise, reject it. We don't need to check the status of each link inside.
The techniques can also answer the reversed question: What is the internal link bandwidth that can make the network non-blocking for γ=3? The answer is 1.5. It is easily derived from the example by just scaling up the link capacity accordingly. To implement the scheme, the lookup engine in a router needs to do load-balancing according to the computed load-balancing ratios. It also needs to do this without causing out-of-sequence transmissions. There are many ways to do the load balancing. One example is shown in
Path Setup Algorithms for Non-blocking Backbone Networks
Let (θ{tilde over (α)}i, θ{tilde over (β)}i) represent the maximum amount of ingress and egress traffic allowed to enter the network at the edge router i, where {tilde over (α)}i and {tilde over (β)}i are constants describing the degree of unevenness of traffic patterns in the network and θ is a parameter to be maximized in our design. For example, suppose ({tilde over (α)}1=5, {tilde over (β)}1=5) and ({tilde over (α)}2=15, {tilde over (β)}2=15), then the traffic allowed at edge router 2 is three times that of router 1. Note that only the relative—not absolute—magnitudes of {tilde over (α)}i and {tilde over (β)}i have significance as the real amount of admissible traffic is determined by θ.
We assume the network has n edge routers and the ingress and egress bandwidth constraints of each router are given in the following H vectors
H=[(θ{tilde over (α)}1, θ {tilde over (β)}1), . . . (θ{tilde over (α)}n,θ {tilde over (β)}n)] (1)
Compared with a conventional traffic matrix T={dij}, where dij represents the traffic rate from node i to node j, we must have
For a given H, there are many traffic matrices Ts that satisfy the constraints imposed by H. A traffic matrix T={dij} that does not violate the constraints imposed by H is called a valid traffic matrix. Let D be the set of all valid Ts.
The backbone network can be described as a directed graph G (V,E) with capacity ce for link eεE. Let Q⊂V be the set of edge routers of the backbone network with n=∥Q∥. So Q is the set of edge nodes, or provider edge (PE) routers defined in a MPLS network, that to the outside world. Let xije represent the portion of traffic from node iεQ to jεQ that is routed through link e and 0≦xije≦1. Once we have xije, we have determined the paths from edge router i to j. Our routing techniques determine two things:
The traffic allocation variables xije.
The maximum ingress and egress bandwidth (θ{tilde over (α)}i, θ{tilde over (β)}i) (Note that {tilde over (α)}1, {tilde over (β)}1 are given) that can be admitted to the network at edge router i without destroying the non-blocking property of the backbone network.
The patent describes several methods to compute the routes and the maximum θ such that the backbone network is non-blocking. Define link utilization for a link as the ratio of total traffic going though the link over the link capacity. The congestion ratio, denoted by r, of a network is defined as the maximum link utilization of all links. When r >1 for a link, it means that overflow will occur on that link and its value indicates the amount of excessive traffic on that link. Our first method will compute the maximum admissible ingress and egress traffic at each node based on the concept of congestion ratio. By computing the minimum r, we thus maximize the amount of admissible ingress and egress traffic. The problem is formulated as a linear programming problem. The results also include the routes for every ingress and egress pair.
The link congestion ratio is defined as the ratio of the amount of traffic routed through a link over the link's capacity. The network congestion ratio, denoted by r, is defined as the maximum value of all its link congestion ratios. We first assume the ingress and the egress traffic constraints at edge router i are ({tilde over (α)}i, {tilde over (β)}i). We then compute the congestion ratio r. If we change the ingress and the egress traffic to
then the congestion ratio of the network will be ≦1. The maximum admissible amount of traffic at edge router i is thus
The problem of maximizing θ is now converted to the minimization of r as θ=1/r. Method 1 shows how to use linear programming to find a routing that minimizes r.
Master LP
where (2d) is the bandwidth constraint. Constraint (2d) needs to include all valid traffic matrixes. We can use a slave program to find the T that should be included in constraint (2d). The process works iteratively.
Slave LP
Method 1 is summarized in the following steps below.
We can combine Eqs. (2)-(3) into one linear programming formulation given in Method 2.
We can transform Eq. (4) into a different master-slave LP formulation that renders a very fast implementation.
Let fije=xijeθ. Since θ=(1/r), Eq. (4) can be transformed into Eq. (5) given below.
Eq. (5a)-(5c) and (5e) are derived by multiplying both sides of Eq. (4a)-(4c), and (4c) by θ, and Eq. (5d) is derived by moving r to the left. Note that in Eq. (5), π and λ are scaled by θ if we compare them with those in Eq. (4). The important fact about Eq. (5) is that it can be easily decomposed into a master-slave problem which renders a fast implementation.
Master Problem
Slave Problem
where ø is the vector consisting of all variables πe (i) and λe (i).
For a link e, we define
(a)φe=[πe(1), . . . , πe(n), λe(1), . . . , λe (n)]. (8)
where n is the number of edge nodes (assuming the set of edge nodes is labeled from 1 to n). Then
(a)ø=[φ1, φ2, . . . , φm]. (9)
where m is the number of links in the network. We call ø the resource-allocation vector and its dimension is 2 mn. If ø is known, the master program produces an optimal θ, denoted by θ (ø), for the given ø. The slave program then searches a new ø that can increase the function θ (ø). The method is summarized in the following steps.
φk + tk · γk. If φk+1 is feasible move to this point.
We can add a path limit to the algorithms above. Let L be the number of paths allowed for each source-destination pair. We first use Method 3 to produce a set of paths for each source-destination pair. We then select the most loaded L paths among those generated by Method 3 (or Method 2). Given the set of paths, we can re-compute θ by solving a linear programming problem similar to that given in Eq. (5). The difference is that path-flow representation, instead of link-flow representation, must be used in the formulation. Let Pij be the set of paths between the node pair (i,j), x (p) the amount of flow sent on path p, and δe (p) a link-path indicator variable, that is, δe (p) equals 1 if link e is contained in the path p, and 0 otherwise. Following a similar formulation of Eq. (5), we can use the following linear programming formulation to find the maximum θ. Method 4 can be easily solved with a typical LP solver.
The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise embodiments disclosed. The invention, for example, can be implemented in a computing system with one or more programmable processors executing a computer program to perform functions of the invention. Method can also be performed by, for example, logic circuitry, ASIC, and the like. The processors suitable for execution of a computer program include, for example, general and specific microprocessors of various kinds of digital computers. The computer system may include, for example, a display device, a pointing device, an input device, in addition to the processor.
Those skilled in the art will readily observe that numerous modifications and alterations of the device may be made without departing from the scope, spirit or teachings of the invention. The invention is defined by the following claims and their equivalents:
This application claims the benefit of previously filed provisional application entitled “QoS Routing Methods and the Design of a Non-Blocking Internet Backbone Network,” filed on Feb. 7, 2005, with Ser. No. 60/650,341, and the entire disclosure of which is herein incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
6804199 | Kelly et al. | Oct 2004 | B1 |
20020143929 | Maltz et al. | Oct 2002 | A1 |
20030068975 | Qiao et al. | Apr 2003 | A1 |
20030072267 | Lohtia et al. | Apr 2003 | A1 |
20030072327 | Fodor et al. | Apr 2003 | A1 |
20030118024 | Lee et al. | Jun 2003 | A1 |
20030118027 | Lee et al. | Jun 2003 | A1 |
20030161268 | Larsson et al. | Aug 2003 | A1 |
20030174688 | Ahmed et al. | Sep 2003 | A1 |
20030185209 | Lee | Oct 2003 | A1 |
20030198235 | Weldon et al. | Oct 2003 | A1 |
20030202465 | Cain | Oct 2003 | A1 |
20030202468 | Cain et al. | Oct 2003 | A1 |
20030202469 | Cain | Oct 2003 | A1 |
20030202476 | Billhartz et al. | Oct 2003 | A1 |
20030204587 | Billhartz | Oct 2003 | A1 |
20030204616 | Billhartz et al. | Oct 2003 | A1 |
20030204619 | Bays | Oct 2003 | A1 |
20030204623 | Cain | Oct 2003 | A1 |
20030204625 | Cain | Oct 2003 | A1 |
20030229613 | Zargham et al. | Dec 2003 | A1 |
20040022203 | Michelson et al. | Feb 2004 | A1 |
20040022223 | Billhartz | Feb 2004 | A1 |
20040022224 | Billhartz | Feb 2004 | A1 |
20040029553 | Cain | Feb 2004 | A1 |
20040037294 | Yamaguchi et al. | Feb 2004 | A1 |
20040042404 | Ravindran et al. | Mar 2004 | A1 |
20040042473 | Park et al. | Mar 2004 | A1 |
20040057724 | Oksanen et al. | Mar 2004 | A1 |
20040067754 | Gao et al. | Apr 2004 | A1 |
20040071089 | Bauer et al. | Apr 2004 | A1 |
20040071468 | Doh et al. | Apr 2004 | A1 |
20040073701 | Huang et al. | Apr 2004 | A1 |
20040081197 | Liu | Apr 2004 | A1 |
20040114569 | Naden et al. | Jun 2004 | A1 |
20040136324 | Steinberg et al. | Jul 2004 | A1 |
20040143842 | Joshi | Jul 2004 | A1 |
20040184483 | Okamura et al. | Sep 2004 | A1 |
20040190526 | Kumar et al. | Sep 2004 | A1 |
20040192204 | Periyalwar et al. | Sep 2004 | A1 |
20040196787 | Wang et al. | Oct 2004 | A1 |
20040196860 | Gao et al. | Oct 2004 | A1 |
20040203820 | Billhartz | Oct 2004 | A1 |
20040213172 | Myers et al. | Oct 2004 | A1 |
20040213198 | Mahmood et al. | Oct 2004 | A1 |
20040213255 | Brinkerhoff et al. | Oct 2004 | A1 |
20040214576 | Myers et al. | Oct 2004 | A1 |
20040215817 | Qing et al. | Oct 2004 | A1 |
20040221154 | Aggarwal | Nov 2004 | A1 |
20040228304 | Riedel et al. | Nov 2004 | A1 |
20040228323 | Acharya et al. | Nov 2004 | A1 |
20040233850 | Randriamasy et al. | Nov 2004 | A1 |
20040233907 | Hundscheidt | Nov 2004 | A1 |
20040246900 | Zhang et al. | Dec 2004 | A1 |
20040246901 | Zhang et al. | Dec 2004 | A1 |
20040264372 | Huang | Dec 2004 | A1 |
20040264466 | Huang | Dec 2004 | A1 |
20050114541 | Ghetie et al. | May 2005 | A1 |
20070115814 | Gerla et al. | May 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20060176809 A1 | Aug 2006 | US |
Number | Date | Country | |
---|---|---|---|
60650341 | Feb 2005 | US |