The invention relates to methods of admission control, routing, and billing computation in packet networks. More particularly, the invention relates to the use of such methods in operating networks that support multiple levels of service.
A Service-Level Agreement (SLA) is a contract between the provider of packet network services and one of its customers (i.e., subscribers) that specifies some minimum quality of service that must be met or exceeded in the handling of calls identified with an application or service. One measure of performance that an SLA may specify is the amount of bandwidth that must be available on demand. A Virtual Private Network (VPN) is defined when the SLA specifies the amount of bandwidth that is to be made available, on demand, in each of a set of streams identified with the customer. A “stream” in this context is a node pair a of the network consisting of a source node and a destination node with respect to calls, in association with a particular class of service s. The various possible service classes may include, e.g., voice, data, e-mail, file tranfers, web browsing, and video. A packet network is, for example, a network supporting the ATM, IP, or Frame Relay protocol.
We will use the term “call” to denote any communicative transaction, or distinct subdivision of a communicative transaction, commonly referred to as a call, connection, or flow.
In the operation of a packet network, incoming calls identified with various customers must compete for the same network resources, such as link bandwidth capacity. Additionally, there is contention for the same resources by calls of different service classes, whether belonging to the same customer or to different customers. In such an environment, it is difficult to consistently provide each customer with the service quality it demands in each class of service, while also profitably operating the network.
One approach to this problem is to design the bandwidth loads Xsr of the network to accommodate the expected traffic patterns in an optimal way. Here, the design load Xsr is the designed bandwidth to be carried on a service route (s, r), i.e., on a route r between a given source-destination pair in a given service class s. A design method that explicitly recognizes the statistical properties of communication traffic is described, e.g., in U.S. Pat. No. 5,854,903 issued to D. Mitra et al. on Dec. 29, 1998 under the title “Optimization Method for Routing and Logical Network Design in Multi-Service Networks” and commonly assigned herewith. An extension of that exemplary design method to virtual private networks is described in the co-pending U.S. patent application Ser. No. 09/065,506, filed on Apr. 24, 1998 by D. Mitra et al. under the title “Method for Resource Allocation and Routing in Multi-Service Virtual Private Networks” and commonly assigned herewith. A design method based on concepts relating to multicommodity flow is described in U.S. patent application Ser. No. 09/370,826, filed on Aug. 9, 1999 by D. Mitra et al. under the title “Multicommodity Flow Method For Designing Traffic Distribution On A Multiple-Service Packetized Network” and commonly assigned herewith.
Although such off-line methods of network design are useful, they do not, by themselves, provide the ability to respond to traffic behavior in real time. However, because of the randomly fluctuating nature of traffic, there are often potential gains in total carried traffic or total revenue that could be realized if routing decisions could be informed by real-time measurements.
We have developed procedures for network management that apply measurements of traffic load (i.e., of traffic bandwidth) in order to achieve greater efficiency in the operation of the network.
In one aspect, our invention involves a method for deciding whether to route an incoming call on a selected potential service route. According to our method, the potential service route is classified as oversubscribed or undersubscribed, depending on how its measured load compares with its design load. A potential service route that is oversubscribed will be deemed to have sufficient available bandwidth capacity to carry the incoming call only if each of its links has available capacity that is more than sufficient by a margin referred to here as the bandwidth reservation.
In another aspect, our invention involves a method for computing billing revenues, in which incremental revenues for a given stream depend on whether the network service provider is deemed compliant with an SLA with respect to the given stream. According to one embodiment, the service provider, to be deemed compliant, must carry at least a contracted fraction of offered load (i.e., of offered stream bandwidth) when the offered load lies within a contracted limit, but need only carry a specified load when the offered load exceeds the contracted limit. A revenue penalty is exacted for offered stream bandwidth that is lost while the service provider is non-compliant.
In yet another aspect, our invention involves performing all of the following steps at the ingress node for an incoming call destined for a given stream: determining whether each of at least some potential service routes for the incoming call is oversubscribed or undersubscribed; from measurements of offered and carried load, determining whether the network is compliant with a condition, e.g., the SLA condition described above; routing the incoming call according to a procedure that preferentially selects undersubscribed service routes; and accruing a positive revenue increment in at least one time window for carried load due to the routed call.
An exemplary SLA pertinent to the practice of the invention stipulates, for each stream (s, σ), an aggregate offered bandwidth Usσ(the “contracted offered bandwidth”) and an aggregate carried bandwidth Vsσ(the “contracted carried bandwidth”), Vsσ<Usσ. Implicitly, the ratio Vsσ/Usσ is the contracted flow-acceptance ratio for the stream. It should be noted that this ratio cannot be precisely unity, because due to the statistical nature of the incoming traffic, only a network having infinite capacity could guarantee that 100% of incoming calls will be accepted.
For determining whether there is compliance with the terms of the SLA, estimates of the actual offered and carried bandwidths are made, based on measurements. Bandwidth can be measured directly by examining the offered and carried packets. Alternatively, calls can be counted and the total bandwidth inferred from effective bandwidths associated with each of the calls. (Effective bandwidth is described in more detail below.) In either case, it is advantageous for the bandwidth measurements to be performed at the ingress node, i.e., at the source node of the corresponding stream.
Initially, we will describe an SLA monitoring scheme based on call-level accounting. Later, we will discuss an example of SLA monitoring based on packet-level (i.e., on data-level) accounting. The numerical studies that we describe below used call-level accounting.
An exemplary measurement procedure employs time windows, referred to here as “SLA windows,” and it also employs exponential smoothing. The SLA window length τ and the smoothing parameter a αSLA are also advantageously stipulated in the SLA.
Let {tilde over (V)}sσ(n) denote a measured value of carried stream bandwidth in time window n, and let Ũsσ(n) denote a measured value of offered stream bandwidth in the same time window. Because each measurement involves some degree of estimation, we refer to these values as “estimated” bandwidth values in the following discussion.
In the following discussion, it will be optional whether smoothed or unsmoothed values of {tilde over (V)}sσ(n) and Ũsσ(n) are used. (Smoothed values were used in the numerical studies described below.) However, to illustrate one form of smoothing that is useful in this context, we here let {tilde over (V)}sσSM(n) and ŨsσSM(n) represent smoothed values, and we let {tilde over (V)}sσRAW(n) and ŨsσRAW(n) represent corresponding raw, i.e., unsmoothed, values. Then according to an illustrative smoothing technique,
{tilde over (V)}sσSM(n+1)=αSLA{tilde over (V)}sσSM(n)+(1−αSLA){tilde over (V)}sσRAW(n), and
ŨsσSM(n+1)=αSLAŨsσSM(n)+(1−αSLA)ŨsσRAW(n).
According to an exemplary SLA, a compliant customer is one whose offered stream bandwidth does not exceed the contracted amount. The service provider promises to carry the same fraction of the estimated offered bandwidth as the proportion of contracted carried to contracted offered bandwidth. If the service provider carries a smaller fraction than what is promised, it is declared non-compliant and pays a penalty for each call that is lost (i.e., not carried) while the service provider is in the non-compliant state.
On the other hand, the customer is non-compliant if it offers more stream bandwidth than the contracted amount. In that event, the service provider promises to carry only the contracted amount of carried bandwidth. The service provider is declared non-compliant if it fails to carry the contracted amount. In that case it pays a penalty for lost calls, e.g. for lost bandwidth up to the contracted amount.
Advantageously, the monitoring of customer and service-provider compliance, and the declaration of corresponding compliant and non-compliant states, take place at the ingress node.
The output of block 5 is “yes” if the estimated value of offered bandwidth is no greater than the contracted value. In that case, the customer is SLA compliant, as represented by the left-hand side of the grid at the bottom of the figure, i.e., quadrants A and B. If the output of block 5 is “no”, the customer is SLA non-compliant, as represented by quadrants C and D.
The test of whether the service provider is SLA-compliant (which, in turn, determines the value of the variable SLA_state) takes different forms, depending on the result of block 5. In the case of a compliant customer, the test of block 10 applies. In block 10, ratios are compared of carried bandwidth to offered bandwidth. If the ratio Vsσ/Usσ of contracted values is no greater than the ratio {tilde over (V)}sσ(n)/Ũsσ(n) of estimated values, the service provider is declared SLA-compliant for window n, as indicated in quadrant A of the figure. Otherwise, the service provider is declared SLA non-compliant, as indicated in quadrant B.
In the case of a non-compliant customer, the test of block 15 applies. According to the test of block 15, the service provider is declared SLA-compliant for window n if the contracted amount Vsσ of carried bandwidth is no greater than the estimated amount {tilde over (V)}sσ(n), as indicated in quadrant C of the figure. Otherwise, the service provider is declared non-compliant, as indicated in quadrant D.
Every call that is carried generates revenue to the service provider and increments a flow revenue measure Wsσ(n). For example, as shown in
If the service provider loses calls while in a state of SLA non-compliance, it may be liable to pay a penalty. In the exemplary scheme of
As shown at block 40, the penalty increment is exemplarily the product of three factors: the stream revenue parameter wsσ, the number Nsσ(n) of calls of stream (s, σ) that are lost in SLA window n, and an adjustable penalty multiplier msσ, which is typically greater than 1.
Various alternative penalty structures are also readily implemented. For example, the penalty structure of
At summing point 70, the cumulative stream revenue value of block 35 and the cumulative stream penalty value of block 65 are combined as respective positive and negative contributions to the net stream revenue W_netsσ(n), as shown at block 75. Summing W_netsσ(n) over all streams gives a network-wide measure W_net(n) of cumulative net revenue, as shown in block 80.
In the preceding discussion, we have treated it as optional whether smoothed or unsmoothed values are used for {tilde over (V)}sσ(n) and Ũsσ(n). According to our current belief, however, it will be especially advantageous to base the SLA state determination on smoothed values, but to compute the revenue and penalty values based on the unsmoothed measurements of bandwidth offered and carried in each time window.
As mentioned above, an alternative to call-level monitoring is to measure the offered and carried bandwidth at the packet (or data) level. Leaky bucket techniques, for example, are readily used to perform such measurements. (Leaky bucket measurements will tell how much bandwidth was carried and how much was dropped or marked as non-compliant. Thus, the amount offered is readily inferred.) In the context of packet-level measurements, we let ωsσ represent the revenue generated by the service provider for carrying a unit amount of data on stream (s, σ). Thus, an expression appropriate in this context for the incremental gain in revenue for window n is
Wsσ(n)−Wsσ(n−1)={tilde over (V)}sσRAW(n)τωsσ.
A penalty structure that we believe will be especially advantageous in the context of packet-level measurements is defined by prescriptions (i)-(iii), below, for the value of the incremental penalty for time window n, i.e., for penaltysσ(n)−penaltysσ(n−1). The prescription are made with reference to quadrants A-D of FIG. 1.
(i) If the network SLA state for stream (s, σ) lies in quadrant A or C, the incremental penalty is zero.
(ii) If the SLA state lies in quadrant B, the incremental penalty is
(iii) If the SLA state lies in quadrant D, the incremental penalty is
msωsστ[Vsσ−{tilde over (V)}sσRAW(n)]+
The notation [ . . . ]+ signifies that if the bracketed quantity is less than zero, it should be set to zero.
As noted, an off-line design process is advantageously employed for allocating (in a statistical sense) the offered traffic for each stream among the admissible routes for that stream. Information passed from the design phase to the SLA-management process will generally include Usσ and Vsσ as well as the designed service-route loads Xsr. We have found it advantageous to derive the loads Xsr from the raw output of the design, which is based on mean values of traffic bandwidth, in a manner which reserves extra capacity in anticipation of traffic variability. Thus, if the design process yields a mean value Msr of aggregate bandwidth carried on a service route, we set the corresponding load parameter Xsr equal to Msr plus an additional increment related to traffic variability. Although the standard deviation, for example, could be used as such a measure of variability, we have found that an adequate measure is provided by the square root of the mean value. Accordingly, we have found it advantageous to set Xsr=Msr+γ√{square root over (Msr)}, where γ is a small non-negative number, typically about 0.5. Similarly, we have found it advantageous to set Vsσ=Msσ−β√{square root over (Msσ)}, where β is another small, non-negative number, also typically about 0.5. In the preceding expression, Msσ is the mean carried aggregate bandwidth on stream (s, σ) obtained from the design process. As β increases, the contracted amount Vsσ of carried bandwidth decreases more steeply with increasing traffic variability. Thus, increasing β is appropriate for reflecting increasing aversion by the service provider to incurring penalties for lost calls. On the other hand, increasing β also tends to reduce the flow-acceptance ratio Vsσ/Usσ contracted for in the SLA.
A penalty structure for lost calls, as described above, can optionally be included in the design process, although some additional complexity will result. In the numerical studies whose results we report below, we did not include the penalty structure in the design process.
Alternate revenue structures are also readily implemented. For example, the service provider might wish to demand a premium for carrying calls at the contracted bandwidth value when the amount of offered bandwidth exceeds the contracted value, i.e., when the network state lies in quadrant C of FIG. 1. In such a case, a second-tier revenue parameter, larger than the basic stream revenue parameter wsσ, can be applied when the network state lies in quadrant C. Such a second-tier parameter can be applied, e.g., to all carried bandwidth, or it can be made to apply only to carried bandwidth in excess of the contracted amount.
In the phase of network management that we refer to as “route classification,” each ingress node evaluates, for every time window n, a variable statussr(n) based on the bandwidth load, aggregated over calls, of each service route (s, r) from the ingress node, and it maintains a database of these variables. Each variable statussr(n) is computed at the beginning of time window n and remains fixed during the window. This status variable is computed for each admissible route r for each stream having the given node as its ingress node, for each corresponding egress node, and for each service class s.
We will now describe an exemplary procedure for measuring the service-route bandwidth load Zsr(n) using quantities computed from local measurements at the ingress node. This measurement procedure is based on a window of length τ and on exponential smoothing with a smoothing parameter α. A similar procedure, possibly using different values of the window length and smoothing parameter, is readily applied for computing the offered and carried stream loads Ũsσ(n) and {tilde over (V)}sσ(n).
Let t represent a time value within the n'th window, i.e., (n−1)τ≦t<nτ. Let Ysr(t) denote the aggregate bandwidth usage on service route (s, r) at time t. We note that Ysr(t) increments by a unit of the effective bandwidth ds with each new call, and it decrements by the same amount with each call departure.
Let {overscore (Y)}sr(n) denote the mean bandwidth usage on the service route over the n'th window, i.e.,
Let Zsr(n+1) denote the exponentially smoothed estimate of bandwidth usage, aggregated over calls, on the service route at the start of the (n+1)'th window.
Then according to our method, Zsr(n+1)=αZsr(n)+(1−α){overscore (Y)}sr(n).
It should be noted in this regard that because only the ingress node will have been setting up calls on service route (s, r), without interference from other nodes (which of course may be ingress nodes as to calls for their own streams), all the necessary load information is available to it.
We now turn to a description of control algorithms for Routing and Admission Control. We note first that these algorithms apply a methodology known as Virtual Partitioning (VP). In the VP methodology, the bandwidth capacity of each link l is regarded as a resource which is an object of contention by all service routes in which link l is included. In our application of VP, those contending service routes that are undersubscribed (at a given time) are given preference over oversubscribed service routes. As explained below, a procedure referred to here as Bandwidth Protection (BP) implements this preference when new calls associated with a given stream are set up. It should be noted that at call set-up, in an exemplary implementation, the ingress node sends to each link in a service route of interest a request and an indication of the value of statussr(n) for the service route of interest and current time window n.
We now describe the Bandwidth Protection procedure with reference to FIG. 4. This procedure is advantageously performed at the ingress node. Let l represent a link traversed by the potential service route, let Cl represent the bandwidth capacity of link l, and let yl(t) represent the total bandwidth usage on the link at the time t of call set-up. (Obviously, yl(t) cannot exceed Cl.) Let (s, r) represent a potential service route that has been selected for routing an incoming call.
At block 100 of the figure, a determination is made whether the status of the potential service route in the current window n is undersubscribed (i.e., whether statussr(n) equals US). If the service route is identified as undersubscribed, a further determination is made at block 105 whether there is sufficient available bandwidth on the service route to accept the call. At block 105, there will be deemed sufficient bandwidth only if at the time of call set-up, for every link l traversed by the potential service route, there is enough remaining capacity to accommodate the effective bandwidth ds of the incoming call, i.e., only if, for all l∈(s, r), yl(t)+ds≦Cl. If this condition is satisfied, the call is accepted, as indicated at block 115. Otherwise, the call is rejected, as indicated at block 120.
With reference once again to block 100, if the service route is determined not to be undersubscribed, it is oversubscribed (i.e., statussr(n) equals OS). In that case, the determination whether there is sufficient available bandwidth on the service route to accept the call is made at block 110. The test applied at block 110 is more demanding than the test applied at block 105. At block 110, each link l traversed by the service route is required to have remaining capacity not only for the effective bandwidth ds, but also for a quantity of bandwidth R{circumflex over (d)}, referred to here as the bandwidth reservation. That is, the call is accepted (at block 125) only if, for all l∈(s, r), yl(t)+ds+R{circumflex over (d)}≦Cl. Otherwise, the call is rejected (at block 130).
The bandwidth reservation R{circumflex over (d)} forces our routing procedure to give preference to undersubscribed service routes in two respects. First, an attempt to route a call on an oversubscribed service route must satisfy a more demanding test than a routing attempt on an undersubscribed service route. Second, enforcing the bandwidth reservation assures that after successfully routing a call on an oversubscribed service route, each link along that route will still have capacity to carry a call on at least one undersubscribed service route in which such link is included. (Depending on the value of R, there may be remaining capacity to carry calls on several undersubscribed service routes.)
The bandwidth reservation described here is the product of two factors: the bandwidth protection parameter R and a quantity {circumflex over (d)}. The bandwidth protection parameter is an adjustable, small positive number typically in the range 1.0-2.0, and exemplarily about 1. The quantity {circumflex over (d)} is, e.g., the greatest effective bandwidth over all service classes; i.e., {circumflex over (d)}=maxsds.
It should be noted that an attempt to set up a call on a selected service route will succeed only if all the links in the service route accept the call after the Bandwidth Protection procedure of
As noted, the quantity yl(t) represents the total bandwidth usage on a link l at the time t of call set-up. There are various ways for the ingress node to acquire this information concerning bandwidth usage on the links belonging to pertinent routes. One approach is for the ingress node to send out scout requests as needed, exemplarily by sending out specialized scout packets, which solicit usage information from the pertinent routers. Such an approach is effective, but it contributes a relatively large amount of signalling traffic overhead to the network, which may be disfavored in at least some cases. An alternative approach, sometimes referred to as “periodic flooding,” is for the ingress node to broadcast periodic requests to the network for usage information. This approach adds less traffic overhead than the use of scout packets, but late in the broadcast cycle, before the next request, the ingress node is generally forced to use outdated information.
Yet a third approach, which we believe will be advantageous in at least some cases, applies usage information that the ingress node has acquired through previous call set-up requests. The advantage of this approach is that it adds little or no signaling traffic overhead, and for at least some routes is as current as the most recent routing attempt. The use of previous call set-up attempts to acquire link usage information is discussed, e.g., in the co-pending U.S. patent application Ser. No. 08/565737, filed on Nov. 30, 1995 by R. Gawlick et al. under the title, “A Method Of Admission Control And Routing Of Virtual Circuits,” and commonly assigned herewith.
Turning now to
The ingress node has the option of attempting to route the new call on any admissible route for the pertinent stream. According to the sticky routing procedure, the preference is to use the last service route on which a call for the same stream was successfully routed. In our exemplary procedure of
If the test of block 140 is not satisfied, then as indicated at block 150, a determination is made whether, in the current time window, there is any service route in the admissible route set R(s,σ) that is undersubscribed. If there is at least one such service route, a set RUS(s,σ;n) of the admissible service routes at time window n is defined, and as indicated at block 155, a member of that set, exemplarily a randomly chosen member, is selected for the routing attempt. If at block 150 no admissible undersubscribed service routes are found, then, as indicated at block 160, a preferred one of the available oversubscribed service routes is selected. The preferred oversubscribed service route is the one that is determined to be maximally underloaded. In this context, the amount of underloading is the amount by which the design load Xsr exceeds the aggregate bandwidth usage Ysr(t) on a service route at time t. Thus, the maximally underloaded route is the route of the admissible route set that minimizes the quantity Ysr(t)−Xsr. It should be noted that the determination of a maximally underloaded route is readily determined at the ingress node, since the ingress node has possession of the values of Ysr(t) and Xsr.
Once a service route has been selected, the attempt to set the call up on the selected route is made at block 165, where the Bandwidth Protection procedure of
If sticky routing is being applied, then if the test at block 170 indicates an unsuccessful routing attempt, current(s, r) is set to a null value, as indicated at block 180.
When an attempt to set up a call on a selected service route has failed, the likelihood that the service route can accept another call set-up request will be small initially, but will increase with time. Accordingly, it will generally be advantageous to remove the selected service route from consideration for a period of time Trec, which we refer to as the recovery time. The removal of such a route from the route selection procedure for a period Trec is indicated in
As indicated at block 185, monitor data are updated with the results of the call set-up attempt of blocks 135-180. By “monitor data” is meant information to be used in status decisions, revenue and penalty calculations, and the like. Such information includes, e.g., entries in databases at the ingress node that keep track of the number of calls carried and blocked, the carried and blocked bandwidth, and the like.
As noted, if the call set-up attempt has failed, a new set-up attempt may be made by applying a crankback procedure. According to an exemplary crankback procedure, after block 185, the procedure of blocks 140-185 is repeated until the new call has been routed, or until the set-up request has failed a specified number of times. In at least some cases, it may be advantageous to apply crankback only if certain conditions are satisfied. For example, in one form of selective crankback, a new set-up attempt is made only if loss of the call would cause the service provider to incur a penalty, i.e., only if the service provider is currently SLA-non-compliant with respect to the relevant stream.
We have noted, above, that information passed from the off-line design phase to the SLA management process will generally include the design value Usσ of offered stream bandwidth, the design value Vsσ of carried stream bandwidth, and the mean values Msr of aggregate bandwidth carried on the respective service routes corresponding to each stream. From the values Msr, as noted, we obtain designed service-route loads Xsr.
We have also noted, above, that a VPN is defined when the SLA specifies the amount of bandwidth that is to be made available, on demand, in each of a set of streams identified by the customer. The concept of SLA compliance described above in regard to offered and carried stream bandwidth is readily extended to address compliance issues where a VPN has been specified. That is, where previously the tests of blocks 10 and 15 of
Thus, a revenue and penalty structure as discussed above in connection with
One or more VPNs may be specified as input to the off-line design phase. In such a case, service-route loads Xsr(v) that are analogous to the earlier-mentioned loads Xsr but are specific to the traffic of particular VPNs v, are obtainable, directly or after modification, from the design-phase output. We refer to the loads Xsr(v) as “VPN service-route design loads.”
We have noted, above, that various service routes (both for the same stream and for different streams) contend for limited bandwidth capacity on those links that are shared among the service routes. If too much traffic is routed through a given link, a network roadblock can result. Our Bandwidth Protection procedure helps to prevent such roadblocks by reserving link bandwidth on oversubscribed service routes that can be made available to undersubscribed service routes intersecting the same links.
When VPNs are introduced, additional forms of contention appear. For example, different VPNs may now contend for the same link bandwidth, and within a single VPN, different streams as well as different routes belonging to the same stream may contend for the same link bandwidth. These forms of contention are readily dealt with by a simple extension of the Bandwidth Protection procedure of FIG. 4. The earlier concept is extended by defining a new variable statussr(v)(n), which is analogous to the above-defined variable statussr(n), but is specific to a service route belonging to VPN v. A VPN service route (s,r;v) is declared undersubscribed, and statussr(v)(n) is set equal to US, if the measured load Zsr(v)(n) on VPN service route (s,r;v) in time window n is no greater than the design load Xsr(v). Otherwise, the VPN service route is declared oversubscribed, and statussr(v)(n) is set equal to OS.
As in the procedure of
Within a given VPN, there also may be contention between the various classes of service associated with that VPN. That is, it will often be the case that the owner of a VPN is less concerned with the call acceptance rate for a particular class of service than he is with the cumulative acceptance rate of calls of all classes. Such a VPN owner will wish to prevent calls of a particular service class to dominate the network resources and crowd out calls of other classes. In such an environment, it is useful to characterize a given VPN source-destination pair as oversubscribed, if it is getting more than its designed share of traffic. A new call, of any service class, will be routed between an oversubscribed pair only if a bandwidth reservation R2(v){circumflex over (d)} is imposed on the resulting VPN service route.
As a general rule, the bandwidth reservation parameter R1 will be common to all VPNs on the network, whereas the bandwidth reservation parameter R2(v) will be separately negotiated for each VPN. Generally, R2(v) will be at least as great as R1.
The preceding concepts are described in further detail with reference to FIG. 6. In box 190, the variable statussr(v)(n) takes on the value US or OS, as explained above. A further variable statusσ(v)(n) is introduced in box 195. This further variable is defined with reference to a VPN design load Xσ(v) obtained by summing the load variables Xsr(v) over all service classes and all admissible routes. That is,
where R(v)(s,σ) is the admissible route set for VPN stream (s,σ;v). The design load Xσ(v) is compared with a measured load Zσ(v)(n) equal to the carried bandwidth in time window n for VPN streams (s,σ;v), summed over all service classes. If Zσ(v)(n) is no greater than Xσ(v), the variable statusσ(v)(n) is set equal to US. Otherwise, it is set equal to OS.
Quadrant A of the figure represents the state in which both statussr(v)(n) and statusσ(v)(n) are equal to US. In that case, an incoming call is accepted for routing on the proposed service route without imposing a bandwidth reservation.
Quadrant B of the figure represents the state in which statussr(v)(n) is OS, but statusσ(v)(n) is US. In that case, the call is accepted only if a bandwidth reservation R1{circumflex over (d)} is available.
Quadrant C of the figure represents the state in which statussr(v)(n) is US, but statusσ(v)(n) is OS. In that case, the call is accepted only if a bandwidth reservation R2(v){circumflex over (d)} is available.
Quadrant D of the figure represents the state in which statussr(v)(n) and statusσ(v)(n) are both OS. In that case, the call is accepted only if both of the bandwidth reservations described above are available, i.e., only if a total bandwidth reservation (R1+R2(v)){circumflex over (d)} is available.
Those skilled in the art will appreciate from the preceding discussion that VPN traffic can be studied at various levels of aggregation. At a low level of aggregation, traffic can be studied at the level of VPN service routes, identified by the triplet of indices (s,r;v). (It is understood that all the routes r referred to correspond to some given source-destination pair σ consisting of a source, i.e., ingress, node σ1 and a destination, i.e., egress, node σ2.) At a higher level, traffic is aggregated over all routes corresponding to a given stream. This defines the VPN stream level, identified by the triplet of indices (s,σ;v).
At a still higher level, VPN stream traffic is aggregated over all service classes. This defines the VPN pipe level, identified by the pair of indices (σ;v). It will be appreciated that the variable statusσ(v)(n), defined above, refers to traffic loading at the VPN pipe level.
At yet a higher level, VPN pipe traffic is aggregated over different source-destination pairs σ sharing a common ingress node σ1. In other words, all VPN pipe traffic from a given ingress node is aggregated together. This defines the VPN hose level, identified by the pair of indices (σ1;v).
The method described above with reference to
We performed a numerical case study based on a fictitious network which has eight nodes (N=8), of which 10 pairs are directly connected, as shown in FIG. 7. The network has 20 directed links (L=20), one in each direction for each connected node pair. The typical bandwidth of a directed link is OC3=155 Mbps, with the exception of the links connecting Argonne (3) and Princeton (4), and also Houston (8) and Atlanta (7), which have bandwidths of 2×OC3=310 Mbps. One measure of total resources in the network is 24 OC3-hops.
There are six service classes: voice, data 1, data 2, data 3, data 4, and video, indexed by s=1, 2, . . . , 6, respectively. The effective bandwidths of individual flows of these classes are ds=16, 48, 64, 96, 384 and 640 Kbps. Voice (s=1) and video (s=6) are delay sensitive service classes, and their admissible route sets R(s, σ) consist only of routes with the minimum number of hops. There are a total of 68 routes for each of these two service classes. The four remaining are data service classes, all delay insensitive. Their admissible route sets R(s, σ), s=2, 3, 4, 5, are identical and consist of routes with at most four hops. For each such s there is a total of 160 routes.
The mean durations or holding times, hs, of flows of the service classes are as follows: hs=1, 1, 1, 4, 4, 6.67, where the unit of time is 3 minutes. Thus video flows last on average for 20 minutes.
We next describe the aggregate bandwidths Usσ offered to streams (s, σ), that are also stipulated in the SLA and used in the design. We define the matrices Us={Usσ}, s=1, 2, . . . , 6, and, furthermore, for compactness we define a single base matrix U from which we obtain Us=ksU, where ks is a scalar multiplier. The multipliers are ks=0.39, 0.14, 0.12, 0.14, 0.11, 0.10. The total offered traffic for the real time services (s=1 and 6) are approximately balanced by that for data services. Table I gives the matrix U.
The conversion from carried flows to revenue is calculated on the basis that 16 Kbps bandwidth carried for a unit of time generates unit revenue.
The design for the case study was done by the techniques described in D. Mitra et al., “ATM network design and optimization: A multirate loss network framework,” IEEE/ACM Trans. Networking 4 531-543 (1996). The design gives the flow acceptance ratios for individual streams that exceed 0.99.
We considered three scenarios, each with a distinctive traffic pattern that is characterized by the set of actual offered aggregate traffic for all streams (s, σ), i.e. for all service classes and ingress-egress node pairs. The traffic patterns are:
(i) NORMAL: The ideal case where the offered traffic U(s,σ) is identical to the stipulated quantities in the SLA and Design.
(ii) BALANCED ABNORMAL: Half the node pairs, which are selected arbitrarily, have no offered traffic at all, while the other half have offered traffic for each of the service classes which are twice the SLA/Design values.
(iii) UNBALANCED ABNORMAL: 25% of all node pairs, which are selected arbitrarily, have actual offered traffic for each of the service classes which are twice as much as their respective values in the SLA/Design, while for the remaining 75% the actual offered traffic is as expected.
The lifetimes or holding times of the flows are assumed to be exponentially distributed.
Whereas net revenue, W_net( . . . ), and penalty( . . . ) have been defined above to be cumulative, the results presented in this section are for unit time, i.e., obtained from the cumulative quantities by dividing by the length of the simulated time.
The sample path (time and profile of every flow request) was identically reproduced for all the trials in a given scenario. For every trial, 10 million flows are simulated. The statistics reported here are based on results collected after a transient period chosen to be sufficiently large for steady state to be reached. The number of flows that contribute to the statistics is sufficiently large to make the confidence intervals negligibly small.
The parameters of interest in this study are β, the compensation parameter in the Design/SLA interface; α and τ, the exponential smoothing parameter and window length in the measurement process, and, importantly, R, the band-width protection parameter.
The measurement parameters have been chosen empirically. A larger α implies greater smoothing, just as a larger window length does. Increasing either one improves the quality of the measurement but at the cost of a slower response to significant traffic fluctuations. In our studies, we have found that a satisfying compromise is to set τ equal to unity, the order of the average holding time, and to have α of 0.8. Also, for the results reported here we have taken the smoothing parameter and window length in the SLA monitoring process to be the same as above.
Effect of the Bandwidth Protection. The effect of the bandwidth protection on the net revenue is indicated in Tables II, III and IV for normal, balanced abnormal and unbalanced abnormal scenarios, respectively. For these studies, we fixed the parameters γ and β to 0.5. Here we do not apply the selective crankbacks and recovery-time mechanisms.
For normal traffic conditions, the effect of the bandwidth protection and the penalty multiplier on the net revenue was found to be small. This is expected because the routing algorithm is optimized specifically for this traffic condition so as to maximize the revenue, and also the SLA has been crafted so that the actual carried bandwidth is very close to the offered bandwidth, indicating a small loss ratio. As a consequence, the penalty is insignificant in comparison to the total generated revenue. Moreover, the generated total revenue decreases slightly as we increase the bandwidth protection. This behavior indicates that bandwidth protection is being applied even in the normal condition because of the bursty nature of the offered traffic.
Turning next to the balanced abnormal traffic pattern, for the first time we observe a noticeable gap between the offered bandwidth and the actual carried bandwidth, even though the total offered bandwidth is close to normal. Now most important is the effect of the bandwidth protection; while the protection does not induce a dramatic loss in terms of total generated revenue, the penalty is reduced by one order of magnitude when one unit of bandwidth protection is applied and by another half when two units of bandwidth protection are applied. In the case of unbalanced abnormal traffic, this behavior is accentuated, and in both scenarios we see that a small protection is surprisingly beneficial and sufficient. Depending on the penalty multiplier used, our results indicate that here, an optimal value for the bandwidth protection parameter is either 1 or 2.
Effect of Compensation Parameter in Design-SLA Interface. Table V illustrates the effect of varying β for the three scenarios when the bandwidth protection parameter R=1, the other parameters being the same as above.
Number | Name | Date | Kind |
---|---|---|---|
5321692 | Wallmeier | Jun 1994 | A |
5488609 | Hluchyj et al. | Jan 1996 | A |
5668951 | Jain et al. | Sep 1997 | A |
5719854 | Choudhury et al. | Feb 1998 | A |
5802302 | Waclawsky et al. | Sep 1998 | A |
5838920 | Rosborough | Nov 1998 | A |
5848139 | Grover | Dec 1998 | A |
5854903 | Morrison et al. | Dec 1998 | A |
5867494 | Krishnaswamy et al. | Feb 1999 | A |
5867495 | Elliott et al. | Feb 1999 | A |
5953338 | Ma et al. | Sep 1999 | A |
Number | Date | Country |
---|---|---|
0 777 362 | Apr 1997 | DE |
0 777 362 | Jun 1997 | EP |
0 790 726 | Aug 1997 | EP |
WO 0074314 | Dec 2000 | WO |