444230.pdf

DiffServ node with join minimum cost queue
policy and multiclass traffic
Rahul Tandra a , N. Hemachandra b , D. Manjunath a,∗
a
b
Department of Electrical Engineering, Indian Institute of Technology Bombay, Powai, Mumbai 400 076, India
IE and OR Interdisciplinary Programme, Indian Institute of Technology Bombay, Powai, Mumbai 400 076, India
Abstract
DiffServ, the vehicle for providing relative QoS in the Internet is also easily amenable to simple and effective pricing
mechanisms. By pricing access to a relative QoS, we can model a DiffServ node as a ‘Join Minimum Cost Queue’ in which
an arriving customer (packet or connection) determines the relative cost as a function of the congestion in the different queues
and their access prices and decides to take service from that queue for which the cost is minimum. The Paris Metro pricing
system and its work conserving variant called the Tirupati pricing are analyzed in this paper in the presence of multiclass
traffic and for static pricing using an infinite buffer model. Extensive numerical results help describe the behavior of the
performance measures like mean queue lengths, revenue rates and customer disutility rates as functions of the various system
parameters. Two of the more interesting observations are that the disutility and revenue rate are not monotonic or convex
functions of price and the revenue rate is very sensitive to the behavior of the delay sensitive class. We also analyze the finite
buffer case and study the loss rate, revenue rate and also the convergence of these performance measures to the infinite buffer
values as the buffer sizes increase.
Keywords: DiffServ; Network pricing; Queue control; Join minimum cost queue; Join shortest queue; Finite buffer queues;
Quasi-birth–death processes
1. Introduction
Many pricing models to save the Internet from suffering the “tragedy of commons” have been proposed
and continue to be proposed. Considering the volume (measured in bytes, packets or connections) of
traffic handled by the Internet, it is now clear that these schemes should have computationally simple
implementations and be robust. Walrand and Varaiya [25] identify four categories of Internet charges—
access, usage, congestion and quality. Falkner et al. [9] is a good overview and bibliography on Internet
pricing. It can also be argued that of the four categories above, it is computationally expensive to implement
pricing structures for all but the access charges. Nevertheless, there has been a significant amount of
literature for the other categories as well.
70
Currence et al. [7] discuss usage based billing in IP networks and also review of some commercial
usage based billing products.
There is a large body of literature on congestion charges and is based on the seminal work of Kelly
and his co-workers. Kelly [17] considers a rate controlled network in which the network has capacity
constraints and the users define utility functions on the bandwidth allocated to them and develops the
concept of proportional fairness, as opposed to max–min fairness of Bertsekas and Gallager [2]. It is
shown that if the users can prescribe a willingness price per unit traffic and the network allocates the
bandwidths to the users in a proportionally fair manner, the network optimum is achieved when the price
and the allocated bandwidths are in equilibrium. Kelly et al. [18] analyze the fairness and stability of such
algorithms and show that the algorithms can be interpreted as rate control algorithms or as congestion
feedback based algorithms. La and Anantharam [19] present a window based scheme that can be used
for TCP flows in the Internet. Ganesh et al. [12] propose a rate adaptation algorithm for the users based
on feedback from the network and show that under this algorithm the allocations converge to the fair
rates. Gibbens and Key [14] describe a method for use of such schemes in best effort routers by suitably
marking the packets.
Absolute end-to-end quality assurance is very difficult and probably infeasible in the Internet. Relative
guarantees on a hop-by-hop basis seem more feasible. The DiffServ [3] model for QoS in the Internet is
based on this premise. In DiffServ the available bandwidth on a link is divided among multiple classes
statically or dynamically. Network nodes maintain separate logical queues for each class for each outgoing
link and service them according to a bandwidth sharing policy that can give assurance on per hop QoS for
the classes. Priority queues is the simplest way to provide multiclass service but it could lead to starvation
of lower priority queues for extended periods of time. Another way of providing per hop QoS would
be to have multiple queues with different grades of service from each queue and having an additional
control to force a certain arrival profile to each queue to enable the respective QoS from the queues.
Pricing seems to be a good vehicle to provide this type of control to modulate the arrival profile. Such a
price based control of the arrival profile is described and analyzed in Borkar and Manjunath [4] where a
simple learning scheme is used to dynamically adapt the prices to provide a specified average grade of
service from each queue in a multiqueue, multiclass traffic system. The queue system of [4] is similar to
the Paris Metro pricing (PMP) system for queues [21] except that the pricing is dynamic. In the PMP,
the network is logically partitioned in a static manner, each partition is allocated a fixed share of the
network resources and the access to each partition is differentially priced. The Olympic pricing scheme
(see [1]) is another scheme that is similar in principle. In [13,15] the behavior of PMP under equilibrium
conditions is considered and compared with a uniclass pricing system. Taking inspiration from the queue
management system in Tirupati, a major pilgrimage center in southern India, Dube et al. [8] propose a
work conserving version of PMP called the Tirupati system. They analyze its social optimality and show
that the difference between the social cost of the optimally priced system and that of the Tirupati system is
K̄ for constants K̄ and . An online dynamic pricing algorithm for a multiqueue system using a dynamic
programming equation and reinforcement learning is also described in [8].
It can be argued that the congestion pricing schemes of [12,17–19] provide a mechanism for usage
based charges where the network sets the prices and the users adapt their usage based on their willingness
to pay. In other words, while price is used to control the transmission rates, the payment is proportional
to the usage. The PMP and the Tirupati pricing schemes are also similar in that multiple queues are
maintained and the price is set for service from different queues. If the price for service from each of the
queues and the congestion in them is posted, an arriving user picks the queue that maximizes its utility, or
71
minimizes its disutility. This is in the same spirit as most Internet pricing mechanisms in practice and will
be called the ‘join minimum cost queue’ (JMCQ) system. In this paper we consider such a multiqueue
that prescribes only an admission price for each queue and does not charge for the quantum of service.
In this paper, we abstract an Internet node as a queuing system and analyze the Tirupati and PMP
versions of the JMCQ system under a static pricing regime in the presence of multiclass traffic. The
JMCQ system can be seen to be very simply adapted for DiffServ service. Our results are from Markovian
queuing analysis similar to the analysis of join shortest queue (JSQ) systems from where we borrow some
techniques. The rest of the paper is organized as follows. In the next section we describe our models and
assumptions. In Section 3 we describe the performance models for both Tirupati and PMP versions of the
JMCQ using an infinite buffer model. Extensive numerical results to study the behavior of mean queue
lengths, revenue rates and customer disutility rates as functions of the various system parameters are in
Section 4. In Section 5 we analyze the finite buffer case and study the loss rate, revenue rate and also the
convergence of these performance measures to the infinite buffer values as the buffer sizes increase.
2. JMCQ with multiclass customers
The JMCQ works as follows. There are K > 1 queues. A join price of pi is prescribed for receiving
service from queue i. Without loss of generality, we let p1 ≤ p2 ≤ · · · ≤ pK . The total service capacity
is µ. We can define a non-work conserving
system in which µ is statically partitioned among the K
queues—queue i is serviced at rate µi , K
µ
i=1 i = µ, irrespective of the occupancy of the other queues.
This version of JMCQ is akin to the PMP system and will be referred to as such. We can also define a
work conserving version which, in its most general form, can use a generalized processor sharing model
to service theK queues. Queue i is allocated a weight wi and at any time it will receive service at rate
µi = wi µ/( j:Queue j is non-empty wj ). Such a JMCQ is identical to the Tirupati model defined in [8] and
we will refer to it as such. We will say that the JMCQ is balanced if the capacity is divided equally among
all the queues. Thus for all i, the Tirupati system is balanced if wi = 1 for i = 1, . . . , M, and the PMP is
balanced if µi = µ/M.
The cost of service from the system is a function of both the join price and the queue congestion. We
consider congestion cost in the form of a waiting time cost, which in turn, can be estimated from the
occupancy of the queue from which service is to be received. Thus the queue occupancy needs to be
posted and made available to the arriving customers. We will denote the number of customers in queue
i, 1 ≤ i ≤ K by Ni (t) and let N(t) = [N1 (t), N2 (t), . . . , NK (t)]T be the queue length vector at time t.
We consider multiple classes of customers with different classes exhibiting different sensitivities to the
join price and waiting time cost. Let M > 1 be the number of customer classes. Class m, m = 1, . . . , M,
customer arrivals form a Poisson process of rate λm . The service times for all the customers will have an
exponential distribution with unit mean. A class m arrival at time t is informed of N(t − ), the queue vector
‘just before t’. It calculates its cost for service from queue i according to a function ψ(m, Ni (t), pi ) and
joins queue i if i minimizes ψ(m, Nj (t − ), pj ) among j = 1, . . . , K. Ties in cost are awarded to the lower
priced queue. ψ(·) reflects the sensitivity of the customer of class m to price and delay.
Observe that we prescribe only a join price and no price for the quantum of service. This is in the spirit
of the Internet in having only a flat “access” charge, no volume charge and being simple to implement.
We assume that the customers obtain instantaneous congestion information on arrival and that there is no
delay as might be expected in the context of the Internet. An important contribution of this paper is that
72
we explicitly involve a model of customer behavior based upon a cost or “disutility” calculated from the
posted prices and congestion levels.
Let pim be the join price of queue i for a class m customer. A convex combination of the queue length
(the congestion indicator) and price is simple and effective in capturing price and delay sensitivities for
different types of traffic. Thus the disutility function that we consider will be of the form
ψ(m, Ni (t), pim ) = aim Ni (t) + (1 − aim )pim ,
aim ∈ (0, 1).
(1)
The aim will be called the delay sensitivity of class m. We further assume that the service rates for all
classes are identical and that prices are not class dependent, a reasonable assumption in the context of
the Internet. Therefore, aim = am for m = 1, . . . , M and pim = pi for i = 1, . . . , K and ψ(·) reduces to
ψ(m, Ni (t), pi ) = am Ni (t) + (1 − am )pi .
In the sequel, unless specified, we consider a system with M = 2 and K = 2. Without loss of generality,
we assume a1 > a2 , i.e., class 1 traffic is delay sensitive and class 2 traffic is price sensitive. In the next
section we analyze the system with infinite buffers and no balking.
3. The two queue, infinite buffer JMCQ
The JMCQ policy is similar to the JSQ policy that has been extensively studied. The exact performance
analysis of the JSQ system has been notoriously difficult and only approximations (e.g., [24]), and
asymptotic results (e.g., [10]), are available for the general problem. Boxma et al. [5] provide an excellent
survey of the analytical models for JSQ. The JMCQ as defined above is further complicated by the use
of a cost function by the arrivals and also by the presence of multiple classes of customers. Hence, it
is reasonable to expect that exact closed form expressions for performance analysis will be difficult.
Therefore, we consider performance bounds in most cases and approximate analysis in some others. We
will analyze the behavior of the system revenue rate and the customer disutility rate for various system
parameters. We will first summarize some stability results and also describe our method of obtaining
computable performance bounds or approximate results from Tandra, et al. [23] and then obtain extensive
numerical results.
3.1. Stability and performance bounds
The evolution of N(t) is a two-dimensional birth–death process. Given N(t), the departure process is
governed by the service policy—non-work conserving PMP or work conserving Tirupati. In the work conserving JMCQ, departure rates from queue 1 (resp. queue 2) when the system is in state [i, 0] (resp. [0, j]
will be µ = µ1 + µ2 ). For all other non-empty states, the departure rates will be µ1 from queue 1 and
µ2 from queue 2. In the non-work conserving JMCQ, the departure rate will always be µ1 from queue
1 and µ2 from queue 2. The queue into which an arrival state N(t) will join is determined by its class
and its delay sensitivity. Let δm
ij to be the queue that an arriving class m customer to state [i, j] will join.
For example, δ1ij = 1 if ψ(1, i, p1 ) ≤ ψ(1, j, p2 ) and δ1ij = 2 otherwise. Let Q = {qij:kl } and Q̂ = {q̂ij:kl },
i, j, k, l = 0, 1, . . . , be the transition rate matrix of work conserving system and the non-work conserving
systems, respectively.
The following are the ergodicity conditions for the Markov chain described by the transition rate
matrix Q.
73
Theorem 1.
1. For the work conserving JMCQ, the Markov chain described by Q is ergodic if λ1 + λ2 < µ1 + µ2 .
√
2. For the non-work conserving JMCQ, the Markov chain described by Q̂ is ergodic if λ1 +λ2 < µ1 µ2 .
3. Further, for both the work conserving and the non-work conserving systems the Markov chains described by Q and Q̂, respectively, are transient if λ1 + λ2 > µ1 + µ2 .
Theorem 1 is proved by choosing appropriate Lyapunov functions in Foster’s criteria [6]. Observe that
for PMP pricing scheme, the stability condition is quite weak and we believe that it can be improved.
Later in this section we will provide some numerical evidence to show that the non-work conserving
√
JMCQ is stable for λ1 + λ2 ≥ µ1 µ2 .
When the Markov chain described by Q (resp. Q̂) above is ergodic, a steady state solution π = {πij }
(resp. π̂) exists. When the system is in state [i, j], a revenue pi is earned if an arrival joins queue i.
Therefore, for the work conserving system, from the law of large numbers, the steady state rate of
revenue generation, R, is given by [22]
R=
πij [λ1 [p1 I(δ1ij = 1) + p2 I(δ1ij = 2)] + λ2 [p1 I(δ2ij = 1) + p2 I(δ2ij = 2)]],
(2)
i,j
where I(·) is the indicator function with the usual meaning of taking on a value 1 if the condition is
satisfied and 0 otherwise. Similarly, the disutility rate for class m customers, Dm is given by
m
Dm =
πij λm [I(δm
(3)
ij = 1)(am i + (1 − am )p1 ) + I(δij = 2)(am j + (1 − am )p2 )].
i,j
The revenue rate, R̂, and disutility for class m customers, D̂m , are similarly defined for the non-work
conserving system.
We now describe the method to obtain bounds and approximate results. First consider the revenue
rate, R. We borrow the techniques of [24] to obtain bounds on R by considering a truncated state space.
To motivate the truncation, first consider the situation when only one class of customers is present. Let
a be the delay sensitivity of this class. Without loss of generality, let p1 < p2 . On the N1 (t)–N2 (t)
plane, an attractor line can be defined such that an arrival to the system when the state is on the left
of this line will join queue-1 and an arrival to a state on the right of this line will join queue-2. This
means that arrivals tend to move the system towards the attractor. The attractor line is defined by the
equation N2 = N1 − ((1 − a)/a)(p2 − p1 ), i.e., arrivals will prefer the lower priced queue unless
N1 − N2 > ((1 − a)/a)(p2 − p1 ). With multiclass traffic, there will be separate attractors for each class.
We argue that for states (i, j) away from the attractor lines πij becomes very small. This motivates us
to consider systems similar to the JMCQ but defined over a state space truncated at some distance from
the attractors. Specifically, we will consider the state space of the JMCQ truncated to contain only those
states for which Tl ≤ N1 − N2 < Tr , Tl ≤ 0 and Tr ≥ ((1 − a2 )/a2 )(p2 − p1 ). We also have the additional
constraint that Tl and Tr are integers. Tl and Tr will be called the left truncation threshold and the right
truncation threshold, respectively. Let S denote the state space of the original JMCQ system and S the
state space obtained after truncation. By suitably modifying the transition rates at the boundaries of the
truncated system and by defining quantities similar to those defined by Eqs. (2) and (3) we can obtain
bounds and approximations to R and Dm (Fig. 1).
74
N2
left-threshold
right-threshold
x1
Class 2
Attractor
d1
l1
x2
Class 1
Attractor
l2
d2
N1
T=(1/a1+1/a22-2)*(p2-p1)
Fig. 1. Thin lines are attractors for the two customer classes, a1 > a2 . Thick lines are truncation thresholds. Also shown are
two example states on the thresholds and the transitions from them. Transitions marked x are not present in JMCQ. Transitions
marked d1 and d2 will make the new system “leave” S. Transitions d1 and d2 are dropped in JMCQu . Transitions l1 and l2 with
rates d1 and d2 , respectively, are introduced for JMCQl .
The following discussion will be with reference to the work conserving JMCQ. The discussion for
the non-work conserving JMCQ is similar except that we will be using a ‘hat’ over the corresponding
symbols of the non-work conserving system. We define systems JMCQu and JMCQl over S , like in [24]
to give us upper and lower bounds on the mean delay and the mean number in the system for the JMCQ.
(u)
First consider JMCQu and let Q(u) = {q[i,j]:[k,l]
} be its transition rate matrix which is obtained from Q as
follows. The transition rates from the states that are between the two truncation threshold lines will be the
same as that in the JMCQ system. In the states on the truncation threshold line, an arrival will move the
state space towards its attractor and will not cause the system to go out of S . In a state on the threshold
line, a departure is disallowed. This means that the non-diagonal elements of Q(u) will be given by
(u)
q[i,j]:[k,l]
= q[i,j]:[k,l]
∀ [i, j] ∈ S , [k, l] ∈ S , [i, j] = [k, l].
(l)
The JMCQl will have a transition rate matrix Q(l) = {qij:kl
} which is obtained from Q as follows. As with
JMCQu , the transition rates from the states between the threshold lines are the same as that in the JMCQ
system. Once again, as with the JMCQu , we need to consider only the transition rates corresponding to
departures from states on the truncation threshold line. These are modified such that a departure will take
away a customer from the other queue. Thus the non-diagonal elements of Q(l) will be


 q[i,j]:[i−1,j] if [ij] is on the left threshold; k = i − 1, l = j − 1,
(l)
q[i,j]:[k,l] = q[i,j]:[i,j−1] if [i, j] is on right threshold; k = i − 1, l = j − 1,


otherwise.
q[i,j]:[k,l]
Let D̄um the mean delay for class-m traffic and N̄ui the mean number in queue i in the JMCQu system.
Also let Dlm and N̄li be the corresponding quantities for the JMCQl system.
To obtain bounds on the revenue rate, we work with the left threshold line passing through the origin,
i.e., Tl = 0. Let ST l be the states on the left threshold line except the state [0, 0] and ST r the states on
75
the right threshold line except the state [Tr , 0]. Let πiju be the stationary distribution of JMCQu and define
Ru Rl as
{πiju [λ1 p1 I(δ1ij = 1) + λ1 p2 I(δ1ij = 2) + λ2 p1 I(δ2ij = 1) + λ2 p2 I(δ2ij = 2)]}
Ru =
[i,j]∈S
+
πiju µ1 p1 +
(4)
[i,j]∈S T r
{πijl [λ1 p1 I(δ1ij = 1) + λ1 p2 I(δ1ij = 2) + λ2 p1 I(δ2ij = 1) + λ2 p2 I(δ2ij = 2)]}
[i,j]∈S
−
πiju µ2 p2 ,
[i,j]∈S T l
Rl =
πijl µ1 p2 −
[i,j]∈S T l
πijl µ2 p1 .
(5)
[i,j]∈ST r
Consider the uniformized jump chains of the JMCQu , JMCQ and the JMCQl systems obtained from a
Poisson process of rate λ1 + λ2 + µ1 + µ2 . Let t1 , t2 , . . . be the event epochs of this uniformizing process.
(u)
(u)
(l)
(l)
Also, let [N1k
, N2k
], [N1k , N2k ] and [N1k
, N2k
] be the state of the JMCQu , JMCQ and the JMCQl systems
+
at time tk . The following is shown in [23].
Theorem 2.
1.
2.
3.
4.
(u)
(l)
N1k
≥ N1k ≥ N1k
for all k ≥ 0.
(u)
(l)
N2k ≥ N2k ≥ N2k for all k ≥ 0.
N̄il ≤ N̄i ≤ N̄iu , i = 1, 2.
If the left threshold line passes through the origin, Ru ≥ R ≥ Rl .
Identical results for the non-work conserving system defined using the transition rate matrix Q̂ can also
be shown.
The JMCQl and JMCQu systems defined over S can be solved as follows [24]. Rename the states
in S as follows: (N1 , N2 ) is renamed as (N1 − N2 , N2 ) for N1 = N2 , . . . , N2 + Tr . Since the system
is a two-dimensional birth–death process, the non-zero transition rates are only between “adjacent”
states and the transition rate matrix for the JMCQl and JMCQu systems will have the block tridiagonal
structure of a quasi-birth–death (QBD) process and the matrix geometric techniques [20] are directly
applicable. Also the necessary and sufficient conditions for the stability of the truncated systems can be
numerically computed from Theorem 3.1.1 of Neuts [20]. In addition to computing the numerical bounds
and approximations of the performance measures we will also use the QBD theory to numerically show
√
that the non-work conserving PMP system is possibly stable for λ1 + λ2 > µ1 µ2 .
4. Numerical results
We now present a numerical analysis of the work conserving and non-work conserving versions of
JMCQ to analyze the dependence of performance measures like mean queue lengths, revenue rate and
disutilities on the system parameters like delay sensitivities, arrival and service rates and the join prices.
We will use p1 = 0 and p2 = p. Thus price variation will essentially mean a variation of p. Also, unless
76
explicitly mentioned, λ1 = λ2 = 0.5λ, i.e., the arrivals are equally likely to belong to either traffic class.
In all our computations using the truncated systems, the right truncation threshold is at two levels to the
right of the right attractor line, i.e., Tr = ((1 − a2 )/a2 )p + 2 and 100 levels of the QBD process will
be used. In the first part, we will show both the bounds from the analytical model and simulation results.
This will help us establish the goodness of the truncation model in addition to studying the behavior of
the system. Thereafter, we will usually use one of the bounds to discuss the behavior.
4.1. Queue length analysis
First consider the mean queue lengths. To make the bounds very tight, we let the N2 -intercept of the left
truncation threshold be greater than 0 and choose Tl = −3. We can do this for queue length bounds since
we do not make assumptions about the location of the thresholds in the sample path bounds in Theorem 2.
3.8
Mean length of queue 1
3.6
3.4
3.2
3
Upper Bound
Simulation
Lower Bound
2.8
2.6
2.4
0
5
10
15
20
25
30
35
30
35
p
Queue 1
Mean length of queue 2
1.4
1.2
Upper Bound
1
Simulation
Lower Bound
0.8
0.6
0.4
0.2
0
5
10
15
20
25
p
Queue 2
Fig. 2. Mean queue lengths in queue 1 and queue 2 as a function of price in the Tirupati system. Bounds and results from a long
run simulation model are shown. λ1 = λ2 = 0.4, µ1 = µ2 = 0.5, a1 = 0.8 and a2 = 0.3.
77
Further, we have observed that this improves the queue length bound significantly, as compared to when
Tl = 0. The revenue bounds though, as we will see, are fairly tight for Tl = 0.
Fig. 2 plots the mean queue length bounds and also the ‘actual’ values from long run simulations for
the work conserving Tirupati pricing scheme. The increase of N̄1 and decreases of N̄2 with increase in p
is to be expected since, as the price increases more customers tend to join the low priced queue. What is
interesting though is that the mean queue length changes significantly every time p increases by 4. This is
because (1 − a1 )/a1 = 41 , which means that whenever p2 changes by 4 the attractor line of class 1 shifts
by one unit and only then there is a significant change in the value of the mean queue length. Further,
if we plot the mean queue lengths when p is multiples of 4, the increase in N̄1 is approximately linear
while the decrease in N̄2 is not. Fig. 3 shows the similar results for the PMP system.
Now consider the stability of PMP. In the previous example, we have chosen λi and µi that satisfy the
stability conditions of Theorem 1. For a PMP system with λ1 = λ2 = 0.4 and µ1 = µ2 = 0.5, we have
3
Mean length of queue 1
2.8
2.6
2.4
2.2
2
1.8
Upper Bound
1.6
Simulation
Lower Bound
1.4
1.2
1
0
5
10
15
20
25
30
35
p
Queue 1
0.3
Upper Bound
Mean length of queue 2
0.25
Simulation
0.2
Lower Bound
0.15
0.1
0.05
0
0
5
10
15
20
25
30
35
p
Queue 2
Fig. 3. Mean queue lengths in queue 1 and queue 2 as a function of price in the PMP system. Bounds and results from a long
run simulation model are shown. λ1 = λ2 = 0.2, µ1 = µ2 = 0.5, a1 = 0.8 and a2 = 0.3.
78
13
Mean length of queue 1
12
11
10
9
8
7
Upper Bound
Simulation
Lower Bound
6
5
4
3
0
5
10
15
20
25
30
35
p
Queue 1
2.05
Upper Bound
Simulation
Lower Bound
Mean length of queue 2
2
1.95
1.9
1.85
1.8
1.75
1.7
1.65
1.6
51
01
52
02
53
03
5
p
Queue 2
Fig. 4. Mean queue length bounds and simulation results for the PMP system when λ = 0.8, µ1 = µ2 = 0.5, i.e.,
√
λ1 + λ2 > µ1 µ2 . a1 = 0.8 and a2 = 0.3. Mean queue lengths are finite and system is stable.
numerically seen that the QBD process corresponding to the upper bound system satisfies Theorem 3.1.1
of [20]. This shows that the upper bound system is stable, which, from the PMP version of Theorem 2,
implies that the actual system is also stable. The mean length bounds and the simulation results as a
function of p are shown in Fig. 4. They are finite. We have done similar computations for λ1 + λ2 in
0.8–0.95 and have observed that for each case of Theorem 3.1.1 of [20] is satisfied. This leads us to make
the following conjecture.
Conjecture 1. The PMP system is stable for λ1 + λ2 < µ1 + µ2 .
4.2. Revenue rate analysis
Now consider the revenue rates. For the Tirupati system, Ru and Rl are obtained from Eqs. (4) and
(5) and the R is obtained from long run simulations. The corresponding quantities for the PMP system,
79
2.2
2
Revenue Rate
1.8
1.6
1.4
1.2
Upper Bound
Simulation
Lower Bound
1
0.8
0.6
0
5
10
15
20
25
30
35
p
Tirupati system, work conserving JMCQ; λ = λ = 0.4.
1
2
0.6
Upper Bound
Simulation
Lower Bound
Revenue Rate
0.55
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0
5
10
15
20
25
30
35
p
PMP system, non work conserving JMCQ; λ = λ = 0.2.
1
2
Fig. 5. Revenue rate as a function of the price. Bounds and results from a long run simulation model. For both Tirupati and PMP
a1 = 0.8, a2 = 0.3, µ1 = µ2 = 0.5, p1 = 0. Thresholds are Tl = 0 and Tr = ((1 − a2 )/a2 )(p2 − p1 ) + 2.
R̂u , R̂l , R̂, are also obtained and plotted in Fig. 5 as a function of the join price. Observe that the
bounds are very tight for both the work conserving and non-work conserving systems especially for p
in the medium and high ranges. Also, although the revenue rate generally increases with increasing p,
it reaches a “maximum” and then decreases, it is neither monotonic nor a convex function of p. The
discontinuities at intervals of 4 is seen again. The explanation is similar to that for the mean queue length
results.
Many a time, especially in a work conserving system, it might be desirable to have µ2 > µ1 . Theorems 1
and 2 will hold even if µ1 = µ2 [23]. In Fig. 6, we choose µ1 = 0.3 and µ2 = 0.7 and compare the revenue
rates in the bound systems with the original system. As expected the revenue rate will be considerably
higher than when µ1 = µ2 , since higher µ2 ensures that the arrival rate into queue 2 is higher and hence
the revenue rate is also higher. Observe that although the difference in the service rates is significant in
the Tirupati model, the difference in the revenue rates between the symmetric service and asymmetric
80
2.4
2.2
Revenue Rate
2
1.8
1.6
1.4
Upper bound (0.3,0.7)
1.2
Lower bound (0.3,0.7)
1
Upper bound (0.5,0.5)
0.8
Lower bound (0.5,0.5)
0.6
0
5
10
15
20
25
30
35
p
Tirupati system, λ = λ = 0.4, µ1 = 0.3 µ2 = 0.7
1
2
1
0.9
Revenue Rate
0.8
Upper bound (0.3,0.7)
0.7
Lower bound (0.3,0.7)
0.6
Upper bound (0.5,0.5)
0.5
Lower bound (0.5,0.5)
0.4
0.3
0.2
0.1
0
5
10
15
20
25
30
35
p
PMP system: λ = λ = 0.19, µ1 = 0.4 µ2 = 0.6
1
2
Fig. 6. Revenue rates as a function of the price for the Tirupati and PMP systems with unequal service rates for the two queues.
The revenue rates for µ1 = µ2 = 0.5 are also shown for comparison.
service system is not very significant, about 15% at its maximum. Even a small amount of asymmetry
causes considerable revenue rate variation in the PMP system.
We now focus on the behavior of R as a function of p. Also, since we have now established that the
revenue bounds are very tight, to improve the clarity of the figures, we will only show the upper bounds.
First, consider the effect of the arrival rates on the shape of the R–p plots shown in Fig. 7. Observe that
the plot is approximately “convex” for the Tirupati system for all values of λ that are shown in the figure.
For PMP it behaves very differently for λ > 0.5 and R increases monotonically with p. This is explained
as follows. Consider the work conserving Tirupati first. When the system is stable and p is large, the
occupancy of queue 1 required to force an arrival to join queue 2 is very high and the probability of the
81
6
λ = 0.6
λ = 0.7
λ = 0.8
λ = 0.9
Revenue Rate
5
4
3
2
1
0
0
5
10
15
20
25
30
35
p
Tirupati system
10
λ = 0.4
λ = 0.5
λ = 0.6
λ = 0.7
λ = 0.8
9
Revenue Rate
8
7
6
5
4
3
2
1
0
0
5
10
15
20
25
30
35
p
PMP system
Fig. 7. Comparing revenue rates in PMP and Tirupati systems for λ less than and greater than the service rate of each server of
PMP; a1 = 0.8, a2 = 0.3.
system being in that state and hence earning revenue, becomes very small. Obviously, this probability
decreases with increasing p because the entire service capacity is available for use in queue 1 and the
system being stable implies that the probability of the occupancy of queue 1 being large is very small
and decreases with increasing p. Thus while for small p there will be some joins into queue 2, this rate
will become small for larger p. The explanation is similar for the PMP when λ1 < µ1 . For λ > µ1 , the
opposite of above is true, queue 1 will rarely become empty and the system will tend to operate near the
attractor lines. Increasing p will only move the attractor lines to the right and not really affect the fact
that the system operates around the operating point. Arrivals will join queue 2 at the same rate as when
p is lower and R will be an increasing function of p.
Next consider the effect of price sensitivity. Fig. 8 shows the revenue rate as a function of the delay
sensitivities of the two classes of traffic in the Tirupati system. Although R increases with increasing ai ,
the following observations are interesting:
82
5
a1 =
a1 =
a1 =
a1 =
a1 =
4.5
Revenue Rate
4
3.5
3
0.4
0.6
0.7
0.8
0.9
2.5
2
1.5
1
0.5
0
0
5
10
15
20
25
30
35
p
Different a1, same a2 = 0.3
2.4
2.2
Revenue Rate
2
1.8
1.6
a 2 = 0.3
a 2 = 0.4
a 2 = 0.5
a 2 = 0.6
a2 = 0.7
1.4
1.2
1
0.8
0
5
10
15
20
25
30
35
p
Same a1 = 0.8, different a2
Fig. 8. Effect of a1 and a2 on revenue rate in the Tirupati system. The top panel is obtained for different a1 with a2 = 0.3 and
the bottom panel is for different a2 with a1 = 0.8. For both cases λ = 0.8 and µ1 = µ = 2 = 0.5.
1. The change in the revenue rate due to change in the a1 is much more than that caused by a change a2 .
For example, even doubling of a2 from 0.3 to 0.6 does not change the revenue rate appreciably. This
is because class 1 traffic is delay sensitive and decreasing a1 will make them less delay sensitive. This
will allow more customers to choose to join queue 1, the cheaper queue. Also, since class 2 is price
sensitive, increasing a2 will only shift the right attractor line to the left and increase the revenue rate.
This increase though is not significant because the price difference between the two queues is high
and class 2 customers do not choose to join queue 2 with much higher probability.
2. The price at which the maximum revenue rate is achieved is very nearly the same for the different
values a2 whereas it increases for increasing values of a1 .
This is because a large fraction of the revenue is derived from the delay sensitive class and any changes in
its behavior have a more noticeable effect than those in the price sensitive class. We have also observed
that the revenue is more sensitive to the delay sensitive class even when (a1 − a2 ) is small.
83
0.6
a1 = 0.8
a1 = 0.7
a1 = 0.6
a1 = 0.5
Revenue Rate
0.5
0.4
0.3
0.2
0.1
0
0
5
10
15
20
25
30
35
p
Different a1, same a2 = 0.3
0.6
a2 = 0.6
a2 = 0.5
a2 = 0.4
a2 = 0.3
Revenue Rate
0.55
0.5
0.45
0.4
0.35
0.3
0
5
10
15
20
25
30
35
p
Same a1 = 0.8, different a2
Fig. 9. Effect of a1 and a2 on revenue rate in the PMP system. The top panel is obtained for different a1 with a2 = 0.3 and the
bottom panel for different a2 with a1 = 0.8. For both cases λ = 0.4 and µ1 = µ2 = 0.5.
Fig. 9 shows the corresponding results for the PMP system. The effects are similar but are significantly
more pronounced here with the revenue rate being virtually identical for a2 = 0.4, 0.5 and 0.6. For the
PMP, we noticed similar effects when λ = 0.7 except that the revenue rate increases linearly with p.
4.3. Disutility analysis
We have not established that the disutility rates obtained from either the JMCQu or the JMCQl systems
are bounds on the actual disutility. In the following we will use π(u) , the steady state distribution of the
JMCQu system to obtain the disutility rates and treat the results as an approximation of the actual value
rather than as an upper bound.
Fig. 10 shows the disutility rate of both the classes as a function of p for different λ1 = λ2 = λ/2.
The disutility of class 1, the delay sensitive class, is always higher than that of class 2, the price sensitive
84
1.8
1.6
Disutility Rate
1.4
Class 1, lambda =0.8
1.2
Class 2, lambda =0.8
1
Class 1, lambda =0.4
0.8
Class 2, lambda =0.4
0.6
0.4
0.2
0
0
5
10
15
20
25
30
35
p
Tirupati system
4
Disutility Rate
3.5
3
2.5
Class 1, lambda =0.7
Class 2, lambda =0.7
2
Class 1, lambda =0.3
1.5
Class 2, lambda =0.3
1
0.5
0
0
5
10
15
20
25
30
35
p
PMP system
Fig. 10. Disutility rate of both classes in the Tirupati and PMP systems as a function of p for different λ. µ1 = µ2 = 0.5, a1 =
0.8, a2 = 0.3.
class. This can be explained as follows. The system will typically be between the attractor lines. For
a state [i, j] in this region, let Dijm be the disutility for an arriving class m customer. So, Dij1 − Dij2 =
[a1 j + (1 − a1 )p2 ] − [a2 i + (1 − a2 )p1 ]. With p1 > p2 , a1 > a2 and i > j in the above region, the
difference is positive for the states where the probability mass is concentrated. For a given λ, the disutility
rate is fairly constant for both classes for the range of p that we consider. We also observe that the
disutility rate of the delay sensitive class is very sensitive to the load, it increases nearly 10-fold when the
arrival rate is doubled from 0.4 to 0.8. However, the price sensitive class is fairly insensitive to increasing
λ. The behavior is similar in the PMP except that when λ > µ1 , the disutility rate of class 1 increases
monotonically.
The effect of a1 and a2 as a function of the disutility rates for the Tirupati and PMP systems is shown in
Figs. 11 and 12, respectively. Varying a1 does not affect the disutility of class 2 but it affects the disutility
of class 1 significantly. Almost the converse seems to be true when a2 is varied—class 2 is significantly
85
Fig. 11. Effect of a1 and a2 on the disutility rate of both classes in the Tirupati system. λ = 0.8, µ1 = µ2 = 0.5.
affected and class 1 is unaffected. Thus varying the delay sensitivity of any of the classes seems to affect
the disutilities only of that class.
5. Finite buffer analysis
Let queue i have finite buffer space, i.e., at most Bi customers can be in queue i at any time. Many
admission mechanisms are possible and we consider that in which an arriving customer calculates its
cost for those queues in which Ni < Bi and joins the one that has the minimum cost among them. Since
the queues that we consider are typically logical queues, we can assume that there is a total buffer space
of B and that the queues share this according to some policy. We will analyze the loss and revenue rate
behavior as a function of the buffer size and the buffer sharing policy.
86
0.55
0.5
Disutility Rate
0.45
1, 0.8
1, 0,7
1, 0.6
2, 0.8
2, 0.7
2, 0.6
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
5
10
15
20
25
30
35
p
Different a1, same a2 = 0.3
0.55
0.5
1, 0.3
1, 0.4
1, 0.5
Disutility Rate
0.45
0.4
2, 0.5
2, 0.4
2, 0.3
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
5
10
15
20
25
30
35
p
Same a1 = 0.8, different a2
Fig. 12. Effect of a1 and a2 on the disutility rate of both classes in the PMP system. λ = 0.4, µ1 = µ2 = 0.5.
Optimal buffer sharing policies have been extensively studied in many contexts. See Foschini and
Gopinath [11] and Kaufman [16] for some of the early work in this area. Complete sharing and complete
partitioning are the two well known buffer sharing policies. The analysis of the JMCQ under both these
schemes is similar.
The finite buffer JMCQ evolves as a finite state Markov chain which is always stable and the steady state
distribution, π, is easily obtained. The revenue, loss and disutility rates and mean queue lengths can be
easily obtained. In the following we will analyze the variation of the mean queue length and the revenue
rate as a function of the join price of queue 2. We consider the two buffer sharing models separately.
Further, in this section we will analyze only the work conserving Tirupati system. The analysis of the
PMP system is similar and the results are also similar.
For both buffer sharing policies, it is easy to see that the total loss probability for the work conserving
Tirupati system is given by the M/M/1/K formula with buffer capacity B, (1 − ρ)ρB /(1 − ρB+1 ), where
ρ = (λ1 + λ2 )/(µ1 + µ2 ).
87
5.1. Complete buffer sharing
The total buffer capacity is B. An arriving customer is admitted only when the total number in the
system is less than B. The state space of the JMCQ system for this model is given by, the set of all states
[N1 , N2 ] for which N1 ≥ 0, N2 ≥ 0 and N1 + N2 ≤ B. In the N1 –N2 plane the state space is a right
Revenue Rate
1.8
1.75
1.7
a1=0.6
1.65
1.6
30
35
40
45
50
55
60
Buffer size B
Revenue Rate
2.5
2.4
2.3
a1=0.7
2.2
30
35
40
45
50
55
60
Revenue Rate
Buffer size B
3.35
3.3
a1=0.8
3.25
3.2
30
32
34
36
38
40
42
44
46
48
55
60
50
Buffer size B
Different a1, same a2 = 0.3
3.4
Revenue Rate
3.3
3.2
3.1
3
a2 = 0.5
a2 = 0.4
a2 = 0.3
2.9
2.8
15
20
25
30
35
40
45
50
Buffer Size B
Same a1 = 0.8, different a2
Fig. 13. Revenue rate as a function of the common buffer size B for different values of a1 with λ1 = λ2 = 0.45; µ1 = µ2 = 0.5,
a2 = 0.3, p1 = 0 and p2 = 12.
88
triangle with vertices as [0, 0], [B, 0] and [0, B]. The transition rates for the states is the same as in the
infinite buffer case, except that for states on the hypotenuse of the triangle arrivals are disallowed.
Fig. 13 shows the revenue rate as a function of the buffer size B for different values of a1 keeping
a2 = 0.3. Observe that the effect on the revenue rate is similar to that of the infinite buffer case, changes
in a1 affects the revenue rate more significantly than changes in a2 . An important observation is that the
finite buffer revenue rate monotonically approaches the infinite buffer revenue rate. The convergence to
the infinite buffer values appears to be exponential. It appears that a buffer size of 50 would be reasonable.
Note that the loss probability for this case will be 0.0005 for λ = 0.9.
5.2. Complete buffer partitioning
In this model queue i is allocated Bi buffers and an arriving customer calculates its disutility for those
queues for which Ni < Bi , i = 1, 2 and joins the one with the least disutility among them. The state
space for this system is a rectangle with vertices [0, 0], [B1 , 0], [B1 , B2 ] and [0, B2 ]. According to our
admission policy, when the system is on the right boundary of the state space, i.e., N1 = B1 and N2 < B2 ,
customers are forced to join queue 2 even it has a higher disutility. Fig. 14 shows the three-dimensional
plot of the revenue rate for different values of B1 and B2 . As expected, the revenue rate is higher than
that in the complete sharing model for the same buffer size (B1 + B2 = B).
We now investigate how finite buffer revenue rates behave as one of B1 and B2 increase. First consider
Fig. 15 which plots the revenue rate against B1 for B2 = 10 and B2 = 19. When B2 = 10 the revenue
rate increases monotonically as we vary B1 from 16 to 45. However, when B2 = 19, the revenue rate
falls initially till B1 = 22 and then again increases monotonically. This can be explained as follows: for
low values of B1 the customers are forced to join the costlier queue when queue 1 is full contributing
3.34
3.32
3.3
Revenue Rate
3.28
3.26
3.24
3.22
3.2
3.18
20
18
45
40
16
35
14
30
25
12
B
2
10
20
15
B
1
Fig. 14. Revenue rate as a function of B1 and B2 . λ1 = λ2 = 0.45, µ1 = µ2 = 0.5, a1 = 0.8, a2 = 0.3, p1 = 0, p2 = 12.
Revenue Rate
89
3.3
3.25
B2=10
3.2
15
20
25
30
35
40
45
B1
Revenue Rate
3.32
3.318
3.316
3.314
3.312
3.31
B2=19
3.308
3.306
15
20
25
30
35
40
45
B
1
Fig. 15. Revenue rate as a function of the B1 for two different values of B2 . λ1 = λ2 = 0.45; µ1 = µ2 = 0, 5, a1 = 0.8, a2 =
0.3, p1 = 0, p = 12.
to an increase in the revenue. When B1 is around 22 the forcing of customers into queue 2 has very
little probability and hence the behavior ‘reverts back to normal’ and the rate increases monotonically
thereafter. Thus with complete buffer partitioning, the revenue rate does not approach the infinite buffer
values monotonically with increasing B1 when B2 is fixed. Fig. 16 plots the revenue rate against B2 for
two different values of B1 . Both the curves are monotonically increasing. In fact, we can argue that with
B1 fixed, as B2 is increased, the revenue rate will monotonically increase but converge to less than the
infinite buffer value. We also note that when B1 = 16 the convergence is slower than when B1 = 45.
6. Discussion
We have analyzed a DiffServ node with multiclass traffic operating as a JMCQ under two service
policies: work conserving Tirupati and non-work conserving PMP. Specifically, we have analyzed the
behavior of the service provider’s gain (revenue) and the customers’ cost (disutility function of price and
delay). Although our disutility function is simple, the qualitative conclusions are fairly general and not
expected to vary significantly for more complex disutility functions. Specifically, our observation that the
performance measures are very sensitive to the parameters of the more delay sensitive traffic in both the
infinite and finite buffer systems is significant. This is in addition to the comparative insensitivity to the
parameters of the more price sensitive class.
We conclude with the following observation. Higher moments of the stationary distributions also give
us important performance measures. However, as we show by an example below, the higher moments of
performance measures of the JMCQ systems may have no relation to the corresponding quantities of the
JMCQu and JMCQl systems defined over the truncated state space. As an example, consider the variance
of the stationary idle times in the work conserving Tirupati system. Let I be the indicator function for the
90
Revenue Rate
3.35
3.3
3.25
3.2
3.15
10
B1 =16
11
12
13
14
15
16
17
18
19
B2
Revenue Rate
3.32
3.315
3.31
3.305
3.3
B1=45
3.295
3.29
10
11
12
13
14
15
16
17
18
19
B
2
Fig. 16. Revenue rate as a function of B2 for two different values of B1 . λ1 = λ2 = 0.45; µ1 = µ2 = 0, 5, a1 = 0.8, a2 =
0.3, p1 = 0, p = 12.
random variable denoting the idle period. The stationary probability that the system is idle is π00 . From
u
l
Theorem 2, π00
≤ π00 ≤ π00
. Let us now try to bound the variance of I, Var(I) = π00 (1 − π00 ). Also, let
u
l
Var(I ) and Var(I ) be the variances of the stationary idle times of the JMCQu and JMCQl of the work
conserving systems, respectively. Then, we have
l
1. If π00
≤ 21 then, Var(I u ) ≤ Var(I) ≤ Var(I l ).
u
l
2. If π00 ≤ 21 and π00
≥ 21 , then a lower bound for Var(I) is min(Var(I l ), Var(I u )) and an upper bound
for Var(I) is 1/4.
u
3. Finally, if 21 ≥ π00
, then Var(I u ) ≥ Var(I) ≥ Var(I l ).
Identical arguments can be made for the non-work conserving PMP system.
The following is a numerical example for the Tirupati system for Case 2 above: for λ1 = λ2 =
0.25, µ1 = µ2 = 0.5, a1 = 0.8, a2 = 0.3, p1 = 0, and p2 = 3, from simulation we obtain π00 = 0.5003,
u
l
= 0.4458 and π00
= 0.5328.
and from the solution of JMCQu and JMCQl , respectively, we have π00
l
u
Thus, Var(I) = 0.25, Var(I ) = 0.2471 and Var(I ) = 0.2489.
We believe that the variances of other performance measures of JMCQ, may also not be bounded by
the corresponding quantities of new processes that we defined to obtain the bounds on the means. It may
be that, altogether new process need to be defined for bounds on the higher moments of the stationary
performance measures.
References
[1] F. Baumgartner, T. Braun, F. Habegger, Differentiated services: a new approach for quality of service in the internet, in: H.
van As (Ed.), High Performance Networking, Kluwer Academic Publishers, Dordrecht, 1998, pp. 255–274.
91
[2] D. Bertsekas, R.G. Gallager, Data Networks, 2nd ed., Prentice-Hall, Englewood Cliffs, NJ, 1992.
[3] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An architecture for differential services, IETF RFC 2475,
December 1998.
[4] V.S. Borkar, D. Manjunath, Charge Based Control of Diffserv Queues. http://www.ee.iitb.ac.in/∼dmaju/publns/
borkar02.ps.gz.
[5] O. Boxma, G. Koole, Z. Liu, Queueing theoretic solution methods for models of parallel and distributed systems, in: O.
Boxma, G. Koole (Eds.), Performance Evaluation of Parallel and Distributed Systems—Solution Methods, CWI Tract, vol.
105, CWI, Amsterdam, 1994, pp. 1–24.
[6] P. Bremaud, Markov Chains, Gibbs Fields, Monte Carlo Simulation, and Queues, Springer, New York, 1998.
[7] M. Currence, A. Kurzon, D. Smud, L. Trias, A Causal Analysis of Usage-based Billing on IP Networks. http://citeseer.
nj.nec.com/currence00causal.html.
[8] P. Dube, V.S. Borkar, D. Manjunath, Differential join prices for parallel queues: social optimality, dynamic pricing algorithms
and application to internet pricing, in: Proceedings of IEEE INFOCOM 2002, June 2002.
[9] M. Falkner, M. Devetsikiotis, I. Lambadaris, An overview of pricing concepts for broadband IP networks, IEEE Commun.
Surv. 3 (2000) 2–13.
[10] R.D. Foley, D.R. McDonald, Join the shortest queue: stability and exact asymptotics, Ann. Appl. Prob. 11 (3) (2001)
569–607.
[11] G.J. Foschini, B. Gopinath, Sharing memory optimally, IEEE Trans. Commun. COM-31 (1983) 352–360.
[12] A. Ganesh, K. Laevens, R. Steinberg, Dynamics of congestion pricing, in: Proceedings of the IEEE INFOCOM 2001,
Anchorage, AK, USA, March 2001.
[13] R. Gibbens, R. Mason, R. Steinberg, Internet service classes under competition, IEEE J. Sel. Areas Commun. 18 (12) (2000)
2490–2498.
[14] R. Gibbens, P.B. Key, Distributed control and user marking using best effort routers, IEEE Network Mag. 15 (3) (2001)
54–59.
[15] R. Jain, R. Mullen, R. Hausman, Analysis of Paris Metro pricing strategy for QoS with a single service provider, in:
Proceedings of the Ninth International Workshop on Quality of Service (IWQoS 2001), June 6–8, 2001.
[16] J. Kaufman, Blocking in a shared resource environment, IEEE Trans. Commun. COM-29 (1981) 1474–1481.
[17] F.P. Kelly, Charging and rate control for elastic traffic, Eur. Trans. Telecommun. 8 (1997) 33–37.
[18] F.P. Kelly, A.K. Maulloo, D.H.K. Tan, Rate control for communication networks: shadow prices, proportional fairness and
stability, J. Oper. Res. Soc. 49 (1998) 237–252.
[19] R.J. La, V. Anantharam, Charge-sensitive TCP and rate control in the internet, in: Proceedings of IEEE INFOCOM 2000,
Tel Aviv, Israel, March 26–30, 2000, IEEE Press, Rockville, MD, pp. 1166–1175.
[20] M.F. Neuts, Matrix Geometric Solutions in Stochastic Models, Johns Hopkins University Press, Baltimore, MD, 1981.
[21] A. Odlyzko, Paris Metro pricing for the internet, in: Proceedings of the ACM Conference on Electronic Commerce, 1999,
pp. 140–147.
[22] R. Serfozo, Introduction to Stochastic Networks, Springer, Berlin, 2000.
[23] R. Tandra, N. Hemachandra, D. Manjunath, Join minimum cost queue for multiclass customers: stability and performance
bounds, 2002. http://www.ee.iitb.ac.in/∼dmanju/publns/tandra02.ps.gz.
[24] G.J. van Houtum, I.J.B.F. Adan, J. Wessels, W.H.M. Zijm, Performance analysis of parallel identical machines with a
generalized shortest queue arrival mechanism, OR Spektrum 23 (2001) 411–428.
[25] J. Walrand, P. Varaiya, High Performance Communication Networks, 2nd ed., Morgan Kaufmann, Los Altos, CA, 1999.