« PreviousContinue »
METHOD FOR CONTROLLING THE
DISPOSITION OF AN INCOMING CALL
BASED ON THE LOADING STATUS OF A
ROUTE AND ON A TEST OF EACH LINK
ALONG THE ROUTE 5
This a divisional of application Ser. No. 09/441,693 filed on Nov. 16, 1999 now U.S. Pat. No. 6,954,739.
FIELD OF THE INVENTION 10
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. 15
A Service-Level Agreement (SLA) is a contract between the provider of packet network services and one of its 20 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 25 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 destina- 30 tion 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. 35
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 40 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, 45 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 Xjr of the network to accommodate the expected traffic 50 patterns in an optimal way. Here, the design load Xjr 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 55 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 MultiService Networks" and commonly assigned herewith. An extension of that exemplary design method to virtual private 60 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 65 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.
SUMMARY OF THE INVENTION
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.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is an annotated flowchart which illustrates compliance decisions in accordance with an illustrative type of SLA. As illustrated, four outcomes are possible, depending on: (i) whether or not the customer complies with contracted limits on offered load in a given stream, and (ii) whether or not the service provider (the "SP" as indicated in the figure) carries a contracted amount of the offered load.
FIG. 2 is a flowchart illustrating incremental stream revenue calculations in accordance with an illustrative embodiment of the invention, in one aspect. At the final summing point near the bottom of the figure, a positive revenue increment for carried load and a negative penalty increment for lost load are combined to form a net stream revenue increment.
FIG. 3 is a flowchart illustrating determination of the loading status of a service route by comparting measured load with design load, according to an illustrative embodiment of the invention, in one aspect.
FIG. 4 is a flowchart illustrating bandwidth protection in 5 routing decisions, according to an illustrative embodiment of the invention, in one aspect.
FIG. 5 is a flowchart illustrating the handling of a request for a new call for a given stream according to the invention in one embodiment. Included in the procedure of FIG. 5 is 10 the bandwidth protection procedure of FIG. 4.
FIG. 6 is a chart illustrating an exemplary form of bandwidth protection that may apply when VPNs are supported by the network.
FIG. 7 is a schematic diagram of a fictitious communication network used as the basis for numerical studies described in the Example section, below.
DETAILED DESCRIPTION 20
An exemplary SLA pertinent to the practice of the invention stipulates, for each stream (s,a), an aggregate offered bandwidth UJO(the "contracted offered bandwidth") and an aggregate carried bandwidth VJO(the "contracted carried 25 bandwidth"), Vjo<ujo. Implicitly, the ratio VJO/UJO 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% 30 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 35 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 40 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 x 5Q and the smoothing parameter aSLA are also advantageously stipulated in the SLA.
Let VJO(n) denote a measured value of carried stream bandwidth in time window n, and let UJO(n) denote a measured value of offered stream bandwidth in the same 55 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 VJO(n) and UJO(n) are 60 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 V^^n) and XJsaSM(n) represent smoothed values, and we let VsoRAW(n) and \}soRAW(n) represent corresponding raw, i.e., 65 unsmoothed, values. Then according to an illustrative smoothing technique,
VS" (re + 1) = aSla VS" (re) + (1 - a Sla) VTM W (re), and U„ (re + 1) = a Sla U„ («) + (1 - ®sla)u „ («)■
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 serviceprovider compliance, and the declaration of corresponding compliant and non-compliant states, take place at the ingress node.
FIG. 1 illustrates an exemplary decision process for SLA compliance. At block 5, the estimated value UJO(n) of the offered stream bandwidth is compared with the contracted value Ujo. The estimated value of the offered bandwidth (and as will be seen below, also the estimated value of the carried bandwidth) is determined at the end of the n'th SLA window. However the variable "SLA_state", which takes the value "compliant" if the service provider is SLA-compliant and the value "non-compliant" otherwise, is treated as uniform over the entire window. (More generally, the pair of variables describing the respective states of SLA compliance of the customer and the service provider are treated as uniform over the entire window.) We found that this approximation is helpful for controlling the processing burden, and that it permits averaging and tends to increase accuracy.
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 VJO/UJO of contracted values is no greater than the ratio VJO(n)/UJO(n) of estimated values, the service provider is declared SLAcompliant 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 VJO of carried bandwidth is no greater than the estimated amount VJO(n), as indicated in quadrant C of the figure. Otherwise, the service provider is declared non-compliant, as indicated in quadrant D.