A Unifying Approach to Product-forms in Networks with
Finite Capacity Constraints
Simonetta Balsamo
Peter G. Harrison
Andrea Marin
Dipartimento di Informatica
Università Ca’ Foscari di
Venezia
via Torino, 155
Venice, Italy
Department of Computing
Imperial College London
South Kensington Campus
London SW7 2AZ, UK
Dipartimento di Informatica
Università Ca’ Foscari di
Venezia
via Torino, 155
Venice, Italy
pgh@doc.ic.ac.uk
balsamo@dsi.unive.it
ABSTRACT
In queueing networks with blocking, stations wishing to transmit customers to a full queue are blocked and need to take alternative action on completing a service. In general, productforms, i.e. separable solutions for such a network’s equilibrium state probabilities, do not exist but some productforms have been obtained over the years in special cases,
using a variety of techniques. We show that the Reversed
Compound Agent Theorem (RCAT) can obtain these diverse results in a uniform way by its direct application, so
unifying product-forms in networks with and without blocking. New product-forms are also constructed for a type of
blocking we call ‘skipping’, where a blocked station sends
its output-customers to the queue after the one causing the
blocking in that customer’s path. Finally, we investigate a
novel congestion management scheme for networks of finitecapacity queues in which a station with a full queue transmits signals that delete customers from upstream queues in
order to reduce incoming traffic.
Categories and Subject Descriptors
C.4 [PERFORMANCE OF SYSTEMS]: Modeling techniques
General Terms
Performance
Keywords
Queueing theory, Product-form solutions.
1. INTRODUCTION
Queueing networks with bounded queues and blocking
were introduced to represent systems with finite capacity resources and population constraints. When a queue reaches
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
SIGMETRICS’10, June 14–18, 2010, New York, New York, USA.
Copyright 2010 ACM 978-1-4503-0038-4/10/06 ...$10.00.
marin@dsi.unive.it
its maximum capacity, the flow of customers into its service center, or station, is stopped, both from other stations
and from external sources in the case of open networks; it is
then that the blocking phenomenon occurs. Stations trying
to transmit customers to a full queue are blocked and need
to take alternative action on completing a service. Various
blocking mechanisms have been defined and analyzed in the
literature to represent distinct behaviours of real systems
with limited resources [2, 11]. Queueing networks with finite
capacity and blocking are widely used for modelling telecommunication and manufacturing systems, as illustrated in [11,
12, 2]. However, they are difficult to solve: in general, their
steady-state queue length distributions cannot be shown to
have a product-form (or separable) solution. Hence, most of
the techniques that are employed to analyse these networks
are in the form of approximations, simulations or direct numerical techniques.
However, some product-forms have been obtained over
the years for some special cases, using a variety of techniques. Such product-form solutions hold under particular constraints, depending on the network topology and the
various blocking types associated with the finite capacity
queues. A survey can be found in [2]. Some efficient algorithms have been defined to evaluate performance indices,
appropriately extending the well-known basic algorithms for
the class of product-form BCMP networks (with infinite
capacity queues), such as the Convolution and MVA algorithms, to networks with finite capacity queues.
The proofs of product-form solutions of blocking networks,
when they exist, use various approaches, including the analysis of the underlying Markov process, exploiting the reversibility property, by defining a dual network, or using
other special techniques. The first approach can be applied
to networks whose underlying Markov process can be shown
to be that obtained by truncating the reversible Markov process of the corresponding network with infinite capacity. A
product-form solution follows from the analysis of truncated
Markov processes.
The second approach to derive product-form, based on a
duality principle, defines a dual network which has the same
stationary joint queue length distribution. It is usually obtained from the original one by reversing the connections
between the nodes1 , and its customers correspond to the
holes of the original (primal) network. When a customer
1
The term ‘node’ is used to describe a service station and
its queue combined
moves from node i in the original network, a hole moves
backward to node i in the dual one. The two networks have
the same equilibrium state probabilities. Under certain constraints, such as when the non-empty condition is satisfied,
then the dual network has a product-form solution in the
same way as a network without blocking.
The complete definition of the product-form solution depends on the network topology and the blocking type. The
identification of unifying conditions under which queueing
networks with finite capacity constraints have a productform solution has been an open issue. We show that the Reversed Compound Agent Theorem (RCAT) can obtain these
diverse results in a uniform way by its direct application, so
unifying product-forms in networks with and without blocking. We also construct new product-forms for a type of
blocking we call ‘skipping’, where a blocked station sends
its output-customers to the queue after the one causing the
blocking in that customer’s path. Further, we investigate a
novel congestion management scheme for networks of finitecapacity queues in which a station with a full queue transmits signals that delete customers from upstream queues in
order to reduce incoming traffic.
The paper is structured as follows. Section 2 describes
the blocking mechanisms used in networks of queues with
finite capacities and reviews the main results in literature.
Special attention is devoted to the presentation of networks
with product-form solutions and blocking. Section 3, after
briefly recalling ERCAT, illustrates its application to queueing networks with repetitive service blocking. In Section 4
we derive the product-form solution for the skipping blocking mechanism and in Section 5 we formulate the conditions
for and the expression of the new product-form solution for a
special congestion management scheme. Conclusion follows.
be used as a buffer when the node is blocked: BBS-SO
(server occupied) and BBS-SNO (server not occupied).
We consider BBS-SO blocking, which is conventionally
called, simply, BBS.
• Repetitive Service Blocking (RS): if, upon completion
of its service at queue i, a job attempts to enter a
destination queue j, which is full, the job is looped
back into the sending queue i, whereupon it receives a
new, independent and identically distributed (iid) service time. Two subcategories have been introduced,
depending on whether the job, after receiving a new
service, chooses a new destination node independently
of the one that it had selected previously: RS-RD (random destination) and RS-FD (fixed destination).
Consider now a network of exponential queues, with finite
capacity, one class of customers, and probabilistic routing.
The network may be open or closed and we introduce the
following notation:
• N is the number of queues;
• K is the number of customers (for a closed network);
• P = [pij ] is the routing probability matrix, where pij
is the probability for a customer to go to station j after
being served by station i, 1 ≤ i, j ≤ N ;
• µi is the service rate of station i, 1 ≤ i ≤ N ;
• λi is the external arrival rate (from outside the network) to station i, 1 ≤ i ≤ N ;
• pi0 is the probability that a customer leaves the network after being served by station i;
2. PREVIOUS RESULTS ON BLOCKING
• Bi is the capacity of the i-th queue, 1 ≤ i ≤ N ;
Various blocking types have been defined to represent different system behaviours. We recall three of the most commonly used blocking types.
• n = (n1 , . . . , nN ) is the network’s state-vector, the ith
component being the queue length at station i;
• Blocking After Service (BAS): if a job attempts to enter a full queue j upon completion of service at node
i, it is forced to wait in node i’s server until the destination node j can be entered. The server of the source
node i stops processing jobs (it is blocked) until the
destination node j releases a job; its service will be
resumed as soon as a departure occurs from node j.
At that time, the blocked job waiting in station i immediately moves to node j. If more than one node is
blocked by the same node j, then a scheduling discipline must be devised to define the unblocking order of
the blocked nodes when a departure occurs from node
j.
• Blocking Before Service (BBS): a job declares its destination node j before it starts receiving service at node
i and if at that time node j is full, the service at node
i does not start and the server is blocked. If a destination node j becomes full during the service of a
job at node i whose destination is j, node i service
is interrupted and the server becomes blocked. Similarly to BAS, the service at node i will be resumed
as soon as a departure occurs from node j. The destination node of a blocked customer does not change.
Two subcategories distinguish whether the server can
• π(n) is the stationary probability of n, when this exists.
Let e = (e1 , . . . , eN ) denote the solution of the traffic
equations,
ei = λi +
N
X
er pri
(1)
r=1
for 1 ≤ i ≤ N . If the routing probability matrix is irreducible, this system has a unique solution for open networks
and an infinite number of solutions for a closed network,
unique up to a multiplicative constant.
Under the usual assumptions of exponential delays and
independence between service times and inter-arrival times,
the network can be represented by a continuous-time, homogeneous Markov chain (CTMC). The definition of the
system state and the generators of the CTMC of a network
with finite capacity queues and blocking depends on both
network characteristics and on the type of blocking. Let
Si denote the detailed state of node i, which includes the
number of customers in node i, ni , and other components
that depend on both the node type (service discipline and,
in general, service time distribution) and the blocking type.
The CTMC of a network with finite capacity queues has finite state space if the network is either closed or if it is open
and there is an upper bound on the network population, for
example if each queue has finite capacity. In these cases the
CTMC is irreducible when the routing matrix of the network
is irreducible. Note that closed queueing networks with finite capacity queues and blocking can deadlock, depending
on the blocking type. Deadlock prevention and blocking
types BAS, BBS and RS-FD require that the overall network population K is less than the total buffer capacity of
the nodes in each possible cycle in the network, whereas for
RS-RD blocking it is sufficient that the routing matrix P is
irreducible and K is less than the total buffer capacity of
the nodes in the network . We consider only deadlock-free
queueing networks at equilibrium.
Exact solution of queueing networks with blocking can be
obtained by direct analysis of the underlying Markov process
or by more efficient techniques for some classes of networks.
The direct Markov process analysis requires the definition of
the generator matrix and then the solution of the linear system of global balance equations. This leads to the evaluation
of the joint state probability distribution of all the nodes in
the network in steady-state conditions and hence their average performance indices, for example. Note that although
the state space is finite for closed and some open networks,
and it can be much smaller than the corresponding network
without blocking because of the population constraints, in
general its cardinality grows combinatorially with the number of nodes and the population. Note that for open networks with finite capacity queues, which include at least
one infinite capacity queue, the state space of the underlying Markov process is infinite and the solution of the global
balance equations has to be approximated numerically.
2.1 Product-form networks
Under certain constraints, depending both on the network
definition and the blocking mechanism, special solutions for
the equilibrium state probabilities can be defined. In particular, in some cases a product-form solution holds and efficient solution algorithms can be applied to derive the performance indices. Product-form solutions for the joint queue
length distribution π(n) for single class open or closed networks under given constraints, depending both on the network topology and the blocking mechanism, can be defined
as follows:
N
Y
1
(2)
grnr ,
π(n) = V (n)
G
r=1
P
where G is a normalising constant and n = N
r=1 ni is the
total network population. The functions V and gi are defined in terms of network parameters, which include the solution of the traffic balance equations ei and the service
rates µi (1 ≤ i ≤ N ), and depend on the blocking type
and additional constraints. Product-form solutions (2) have
been derived for networks with different blocking types by
specific case-analyses; a detailed description can be found
in [2]. In particular product-form holds for the following
five network topologies: two-node networks, cyclic topology,
central server (or star topology) and reversible routing networks with arbitrary topology. The first three are special
cases of closed networks, the last two apply to closed and
open networks. Some product-forms hold for both homogeneous networks, where each node operates with the same
blocking mechanism, and non-homogeneous ones.
The case of queueing networks with a reversible routing
matrix admits a more general topology. A routing matrix P
is said to be reversible if the following conditions hold:
(
ei pij = ej pji ∀1 ≤ i, j ≤ N
(3)
λi = ei pi0
∀1 ≤ i ≤ N
Note that for closed networks, only the first condition has
to be verified. Two-node networks are a special case of reversible routing.
Note that formula (2) generalizes the product-form expression for BCMP networks, and in certain cases, corresponds to the same solution as for queueing networks with
infinite capacity queues computed on the truncated state
space defined by the network with finite capacities. We now
recall the most significant product-forms: 1) for reversible
routing networks; 2) for (possibly non-reversible) routing
networks with arbitrary topology.
The two cases use quite different approaches to derive the
product-form solution. The former relies on the reversibility
property of the underlying CTMC, which is a truncation of
that of the same network without finite capacity; the single, finite capacity M/M/1 queue is a well-known example.
The product-form solution is then the BCMP product-form,
renormalised over the reduced state space. The latter is
based on the definition of a dual network that has the same
equilibrium probability distribution, which is proved to be
in product-form under the so-called non-empty condition,
introduced below.
We now focus on RS-RD blocking. Note that by using
some equivalence properties between blocking types, which
hold under certain conditions, the analysis proposed for RS
blocking can also be applied to networks with finite capacity
and BBS or BAS blocking types. A survey of these equivalence properties among networks with different blocking
types can be found in [2].
2.2
Reversible routing networks
This section summarizes Akyildiz’s results on productform queueing networks with RS blocking [1]. Note that
this by no means claims to be a complete list of all the author’s results.
Theorem 1 (Akyildiz product-form). Let Q be a network of queues with finite capacity, exponentially distributed
service times and repetitive service blocking. If e = (e1 , . . . , eN )
is a solution of the system of traffic equations (1) and the
routing matrix P is reversible, i.e., if equations (3) hold,
then the stationary probability distribution has the following
product-form:
π(n) ∝
N
Y
r
ρn
r ,
(4)
r=1
where ρr = er /µr .
In other words, product-form solution (2) holds by definr
ing function V (n) = 1 and gr (nr ) = ρn
r . This product-form
is still valid for multi-class networks with FCFS exponential
nodes and class independent capacities.
Remarks on Akyildiz’s result
1. The traffic equations will have a solution e with ei > 0
for all i ∈ [1, N ] if the network topology is irreducible,
i.e., any station is reachable from any other.
2. Given Conditions (3), the traffic equation for station i
becomes:
ei = λi +
N
X
er pri = λi +
r=1
N
X
ei pir = λi + ei (1 − pi0 ).
r=1
For an open station i (with λi > 0 or pi0 > 0), we
therefore have:
λi = ei pi0 ,
ei pij = ej pji
∀i
(6)
if λi > 0 and pi0 > 0 (7)
∀i, j.
y = yP′ ,
(5)
which is the second equation of Conditions (3). Moreover, λi = 0 if and only if pi0 = 0, whereupon the
traffic equation becomes an identity. Therefore, we
can rewrite Conditions (3) in the following equivalent
form: the network is in product-form if there exists a
vector e with positive components, such that:
λi > 0 ⇔ pi0 > 0
ei = λi /pi0
This solution can be extended to arbitrary topology networks with load independent service rates for RS blocking, as proved in [9]. If the non-empty condition holds,
then the network has the product-form solution (2) with
gr (nr ) = 1/yr , where y = (y1 , . . . , yN ) is the solution of the
equations:
(8)
If the network satisfies (6), (7) and (8), for any open
station i , ρi = λi /(µi pi0 ). For other stations, the
vector e must first be solved for and ρi calculated as
ei /µi .
2.3 Non reversible routing networks
Some product-form solutions for networks without reversible routing are based on a duality principle. For single
class, exponential servers, load independent service rates
and finite capacity queues, one can define a dual network
which has the same stationary joint queue length distribution. To this end we introduce the non-empty condition for
closed networks. This requires that at most one node can be
empty, i.e., K ≤ B − Bmin , where Bmin = min1≤i≤N (Bi )
P
and B = N
r=1 Br , i.e., the total capacity of the network.
This condition is said to hold strictly when each node can
never be empty, i.e. the inequality is strict.
The simplest case of a network with finite capacity and
this type of product-form is the cyclic closed network with
N nodes, K customers, node capacities Bi (1 ≤ i ≤ N ) and
BBS or RS blocking. The dual network is obtained from the
original one by reversing the connections between the nodes.
It is formed by N nodes and (B − K) customers, which
correspond to the ‘holes’ of the original (primal) network,
PN
where B =
r=1 Bi is the total capacity of the network.
When a customer moves from node i in the original network,
a hole moves backward to node i in the dual one. When
there are ni customers in node i of the original network, the
i-th node of the dual one contains Bi − ni holes. It can be
shown that the underlying Markov process that describes
the evolution of customers in the network is equivalent to
the one that describes the evolution of the holes in the dual
network. As a consequence, when the non-empty condition
is satisfied, the total number of holes in the dual network
cannot exceed the minimum capacity, i.e. (B − K) ≤ Bmin ,
and the dual network has a product-form solution like a
network without blocking. Hence the product-form solution
for the primal network is given by equation (2) with V (n) =
r
1 and gr (nr ) = 1/µn
r−1 , where we identify node 0 with node
N.
′
(9)
[p′ij ]
and where the matrix P =
is defined as follows in terms
of the routing probability matrix P and service rates µi :
(
p′ij = µj pji
P
p′ii = 1 − j6=i p′ji
∀1 ≤ i, j ≤ N, j 6= i
∀1 ≤ i ≤ N
(10)
Notice that this product-form solution for the non-reversible
network differs from that of equation (4), which corresponds
to the renormalised BCMP product-form, since its traffic
equations differ. This highlights the diversity of techniques
that have been found necessary to solve specific networks
with customised techniques.
3.
ERCAT FORMULATION
An alternative approach is to apply the Extended Reversed Compound Agent Theorem (ERCAT) of [7, 8]. For
readers unfamiliar with ERCAT, we first describe informally
how it is applied, explaining what are the various sets of
active and passive actions used in the statement of the theorem. Note that, in literature, the following theorem is referred as ERCAT when applied to study the cooperation of
two agents, and as MARCAT when applied to study the
pairwise cooperations of a set of agents whose cardinality
may be greater than two. Since the passage from ERCAT
to MARCAT is rather intuitive, for the sake of brevity, in
what follows we just recall ERCAT and we use this name
instead of the more appropriate MARCAT.
3.1
The generic RCAT algorithm
Whilst dependent on reversed processes for its original
derivation, an application of RCAT can be done purely mechanically if the steady-state probabilities are known for
the component-processes; from these the reversed processes
could be computed if desired, but this is not the case here.
✁
For simplicity, we consider the cooperation P1 ✄
P2 ; the
L
treatment is similar for n-way cooperations.
1. From Pk construct Rk by setting the rate of every instance of action a ∈ L that is passive in Pk to xa , for
k = 1, 2 (note that each a will be passive for only one
k);
2. For each active action type a in Rk , k = 1, 2, check
that a certain quantity ra is the same for all of its
instances, i.e., for all transitions i → j that a denotes
in the state transition graph of Rk . This quantity is
computed as2
ra = πk (i)rai /πk (j)
2
The calculation uses the equation πj q̄ji = πi qij , where πk is
the equilibrium probability of state k in a stationary Markov
process, qij is the instantaneous transition rate i → j and
q̄ji is its reversed rate (hence j → i) [6, 10].
where rai is the specified forward rate of the (any, if
more then one) instance of action type a going out of
state i;
3. Noting that the symbolic reversed rate ra will in general be a function of the xb (b ∈ L), solve the rate
equations
xa = ra
(11)
for each a ∈ L and substitute the solutions for the
variables xa in each Rk ;
4. Check that the conditions given below are satisfied.
For queueing networks, these are as in the original
RCAT [6], namely that all passive actions be enabled
in all states and that all states also have an incoming
instance of every active action;
3.2
Application to blocking networks
Each station of a network of queues is an agent, whose
state is the number of customers hosted at a given time.
Transitions can occur only between adjacent states: an arrival takes agent i from state n to n + 1, 0 ≤ n < Bi and a
departure takes agent i from state n to n − 1, 0 < n ≤ Bi ,
where Bi is the capacity of queue i.
We use passive actions to label those transitions that are
caused by the departure of a customer from some station to
another queue, and active actions to label those transitions
that are caused by the arrival of a customer that comes from
another station. Transitions corresponding to arrivals from
or departures to outside the network are not labelled. Figure 1 depicts this model. Note that the transitions with rate
λi and µi pi0 may be absent, but the ERCAT rate equation
analysis is unaffected since they do not have synchronizing
labels.
5. The required product-form for state s = (s1 , s2 ) is now
π(s) ∝ π1 (s1 )π2 (s2 ) where πk (sk ) is the equilibrium
probability (which may be unnormalised) of state sk
in Rk .
ERCAT conditions
The conditions that need to be satisfied in the fourth step
of the above algorithm are given by the following equations,
for all states i:
X
X
X
X
αai
β̄ai (x) −
xa =
xa −
a∈P i→
a∈Ai←
a∈P i← \Ai←
a∈Ai→ \P i→
(12)
The sets of actions specified in the summation domains and
the rates on the right hand side of this equation are defined
as follows:
P
λi
λi
1
Bi
µi pi0
µi pi0
(aij , ⊤)
(aij , ⊤)
Figure 1: Markov process associated with finite capacity queue i.
Example 1. Consider the network of two queues with finite capacities shown in Figure 2. We assume that the capacity of stations 1 and 2 are B1 and B2 , respectively. According
λ2
λ1
STATION 1
P i→ is the set of passive action types going out of (joint)
state i;
i←
(aji , µj pji )
0
For irreducible closed networks, this product-form can always be normalised to give the required steady-state probabilities. For irreducible open networks, a separate analysis
of ergodicity is required. Notice that all synchronisations in
RCAT are between active and passive pairs of actions.
3.1.1
(aji , µj pji )
STATION 2
p10
p20
µ2
µ1
p12
p21
: is the set of passive action types coming into state i;
Ai→ : is the set of active action types going out of state i;
Ai← : is the set of active action types coming into state i;
αai is the instantaneous transition rate out of state i corresponding to active action type a, which occurs in
exactly one of the cooperating components;
x is the vector (xa1 , . . . , xam ) of positive real variables xai
when the cooperation set is L = {a1 , . . . , am };
β̄ai (x) is
the instantaneous transition rate out of state i in the
reversed joint Markov process corresponding to passive
action type a ∈ L; note that a is incoming to state i
in the forwards process.
As already noted, if P i→ = Ai← = L for all states i, the
equation is satisfied trivially; this is the situation in all standard, open or closed, queueing networks with no blocking.
Figure 2: Open cyclic network with two finite capacity queues and repetitive service blocking.
to the modelling approach described, we obtain the agents depicted in Figure 3.
3.2.1
ERCAT constraint equations
Given that the state of the network is n = (n1 , . . . , nN ),
1 ≤ ni ≤ Bi 3 , we define the following sets:
• I(n) = {i ∈ [1, N ] | ni = 0}, i.e., the set of the empty
queues;
3
In the case of a closed network, we have the constraint
P
N
i=1 ni = P , where P is the constant (initial) network population.
λ1
λ1
(a21 , µ2 p21 )
(a21 , µ2 p21 )
0
1
B1
(a12 , ⊤)
(a12 , ⊤)
µ1 p10
µ1 p10
λ2
λ2
(a12 , µ1 p12 )
(a12 , µ1 p12 )
0
• A closed network with the strict non-empty condition.
In this case, I = ∅ for all the states. Equation (13)
then becomes an identity, which is always satisfied.
From step 3 of the algorithm given in Section 3.1, the
rate equations (11) are
P
µi pij r xjr
xij = P
(14)
r µr prj
1
for i 6= j ∈ [1, N ], which is a set comprising one equation for each pair (i, j) with pij > 0.
B2
(a21 , ⊤)
(a21 , ⊤)
µ2 p20
µ2 p20
Figure 3: Agents associated with the network of Figure 2.
• J (n) = {j ∈ [1, N ] | nj = Bj }, i.e., the set of full
queues;
• G(n) = {g ∈ [1, N ] | 0 < ng < Bg }, i.e., the set of
non-empty and non-full queues.
Obviously, these sets form a partition of [1, N ]. Let us now
define the sets required by the ERCAT constraint equations (12). To keep the notation simple, we omit the range
of variables when this is [1, N ] and also constraints implicit
in the network topology. For instance, if L is the set of labels used in the model, we write P n→ = {ars : r ∈ J ∪ G},
as an abbreviation for P n→ = {ars | r 6= s, ars ∈ L ∧ r ∈
J ∪ G ∧ s ∈ [1, N ]}. We also omit the argument (n) from the
sets I, J , G when the meaning is clear. Therefore, consulting
Figure 1 for clarification, we have:
• A closed network with the weak non-empty condition
(i.e. a maximum of one station can be empty in any
given state and all the others must be full). In this case
set I is either empty or a singleton, for each state.
If I = ∅ the analysis is the same as before. When
I = {i}, all the other queues are full, otherwise the
non-empty condition would be violated, so that G = ∅.
Then, the right hand side of Equation (13) becomes
zero since β̄ii = αii = 0. The zero left hand side
therefore requires:
X
X
xis .
(15)
xri =
The rate equations (14) are unchanged and summing
them over j yields Equation (15), which thereby becomes redundant. The product-form is therefore unconditional under either the strict or weak non-empty
condition; the rate equations always have a solution
for the xij . Notice that whilst there is a qualitative
difference between the strict and weak non-empty conditions and their corresponding solutions, the ERCAT
method treats them uniformly and mechanically; the
weak case merely provides an additional case to check.
For both these cases the stationary solution is
• P n→ = {ars | r ∈ J ∪ G},
n←
• A
s
r
π(n) ∝
= {ars | s ∈ J ∪ G},
N
Y
i
ρn
i ,
i=1
• An→ = {ars | s ∈ I ∪ G},
where ρi =
• P n← = {ars | r ∈ I ∪ G},
3.4
• An→ r P n→ = {ars |∈ I, s ∈ I ∪ G},
• P n← r An← = {ars | r ∈ I ∪ G, s ∈ I}
Noting that α and β̄ are independent of the state n, we can
now write:
X
X
X
X
xrs −
xrs =
β̄rs −
αrs .
r∈J ∪G
s∈J ∪G
r∈I
s∈I∪G
r∈I∪G
s∈I
The left hand side may conveniently be rewritten as:
X
X
X
X
β̄rs −
xrs =
xrs −
αrs
r∈J ∪G
s∈I
r∈I
s∈J ∪G
r∈I
s∈I∪G
(13)
r∈I∪G
s∈I
3.3 Closed network constraints
We now develop Equation (13) for closed networks, under
assumptions made in some special cases that can be found
in the literature [2]. For a closed network, λi = pi0 = 0 for
all i = 1, . . . , N , and we consider the following two special
cases:
`P
´ P
r xir .
r µr pri /
Routing constraints
We now study networks with RS blocking and without
restriction on the population; the results apply to both open
and closed networks. Given the network specification, we
simply apply the ERCAT method outlined in Section 3.1,
beginning with the constraints on the passive and active
actions, step 4.
Proposition 1 (Sufficiency of reversible rates).
Equation (13) is satisfied if xij = xji for all i, j ∈ [1, N ].
Proof. If xij = xji , the left hand side of Equation (13)
trivially sums to zero.
Now consider the right hand side. We can compute the
relevant reversed rates as follows: β̄ij = xij πi (k + 1)/πi (k),
where πi (k) is the stationary probability of state k in queue
i, with i ∈ [1, N ] and 0 ≤ k < Bi . On the other hand
xji is the reversed rate of the transition labelled by aji , an
arrival to queue i from queue j. Hence, we have xji =
πi (k)/πi (k + 1)αji , giving β̄ij = αij . The right hand side of
Equation (13) therefore sums to 0, as required.
The first part of the following lemma essentially states
that xij = xji is also a necessary condition for open networks.
3.5
Lemma 1. In open networks the ERCAT conditions imply the following constraints:
P
P
1.
r xri =
r xir for all i ∈ [1, N ], i.e., the same as
equation (15) established above for closed networks;
Lemma 2. An open blocking network satisfies the conditions of ERCAT if and only if, for 1 ≤ i 6= j ≤ N :
2. The rate equations
xij
µi pij
P
=
λj + r µr prj
µj pj0 +
X
xjr
r
for i 6= j ∈ [1, N ];
!
,
Proof. Consider each of the clauses of the lemma in turn.
1. For the first part, we note that in an open network,
the state with one empty station and all of the others
full is recurrent (can always be reached) and the result
then follows exactly as for the case of a closed network
with the weak non-empty condition.
2. The rate equations (11) are derived as described in
section 3.1.
3. Now consider the left hand side of Condition (13):
X
X
xrs
xrs −
r∈I
s∈I
/
=
=
r
s∈I
X
r∈I
s∈I
“X
X
X
X
X
xrs −
xrs −
r
s∈I
= 0
r∈I
s
xrs −
r∈I
s
xrs =
xrs −
X
xrs
r∈I
s∈I
”
xrs − xsr
by the first part of the lemma.
(16)
which we have already shown to be equivalent to the
condition xij = xji for all i 6= j ∈ [1, N ] in the proof
of Proposition 1.
Remarks
We have proved that in open networks Condition (15)
implies that xij = xji . It is easy to see that the converse
also holds and that the first clause of thePlemma is therefore
redundant. Henceforth, we define xi = r xir and:
ρi =
• ρj µj pji = ρi µi pij ;
• In a closed `station,
with
´ no external arrivals or deparP
/xi .
µ
p
tures, ρi =
r
ri
r
Proof.
1. The ith queue, with its passive actions aij
assigned rates xij , as in step 1, is a finite capacity
M/M/1 queue with equilibrium probability (1 − ρi )ρn
i
for queue length n ≥ 0. Thus, by step 2 and referring
to Figure 1, xij is the reversed rate of the active action
aij in station j with forward rate µi pij . Thus we have
xij = µi pij /ρj , which, by definition of ρj , is linear
in the variables {xkℓ | 1 ≤ k 6= ℓ ≤ N }. A unique
solution for these variables exists by [8] and so the
reversed rates xkℓ of the passive actions are constant.
2. Since by Lemma 1, xij = xji , we immediately have the
condition ρj µj pji = ρi µi pij . The converse is obvious.
3. xij =P
µi pij /ρj = µj pji /ρi by the previous part and so
xi = j µj pji /ρi . Hence
”
“X
X
µj pji /ρi
µr pri +λi /ρi = µi pi0 +
xi +µi pi0 =
j
Thus λi /ρi = µi pi0 . Since xij , xi and hence ρi are
positive (see [8] for a proof), λi > 0 ⇔ pi0 > 0. Thus,
for an open station, λi > 0 and pi0 > 0, so the third
part follows.
There clearly exists a recurrent state with I = {i},
G = {j} and J = [1, N ] r {i, j}, where i and j are
chosen arbitrarily. We therefore obtain, by equating
the right hand side of Equation (13) to zero for this
chosen state:
3.4.1
• xij = µi pij /ρj ;
r
r
s∈I
β̄ij = αji
We now investigate the relationship between the productform analyses of ERCAT and of Akyildiz.
• If station i is open, λi > 0 and pi0 > 0, whereupon
ρi = λi /(pi0 µi );
3. xij = xji for all i 6= j ∈ [1, N ].
r ∈I
/
s∈I
Equivalence of the approaches
P
r µr pri + λi
,
xi + µi pi0
allowing the possibilities λi = 0 or pi0 = 0, representing no
external arrivals to, or departures from, station i, respectively.
4. The fourth part is a special case of the definition of ρi
when λi = pi0 = 0.
Proposition 2. A blocking queueing network that satisfies Akyldiz’s conditions for product-form, i.e. its routing
matrix is reversible, can be modelled as a synchronisation
of nodes defined as in Figure 1 and its product-form can be
derived by ERCAT application.
Proof. Suppose the vector e satisfies the set of conditions following Theorem 1, and define ρi = ei /µi for i =
1, . . . , N . Then clauses 3 and 2 of Lemma 2 are also satisfied.
Defining xij = µi pij /ρj implies
P that xij = xji = µj pji /ρi
(by clause 2) so that xi = j µj pji /ρi , as in the proof of
Lemma 2, and clause 4 follows. Therefore, ERCAT is satisfied by this choice of rate variables {xkℓ | 1 ≤ k 6= ℓ ≤
N }.
The converse of this proposition does not hold: a blocking
queueing network in product-form by ERCAT may fail to
satisfy Akyldiz’s conditions for product-form. To see this,
and therefore that ERCAT is more general, it suffices to
consider the case of a closed blocking network with the nonempty condition. These have already been proved to have
product-form by ERCAT, even if their routing matrix is not
reversible. A concrete example is the following.
λ3
λ2
Example 2. Consider the queueing network consisting of
three stations depicted by Figure 4. Station i has capacity Bi
QUEUE 1
λ1
STATION 2
µ1
QUEUE 2
λN
QUEUE 3
µ2
... QUEUE N
µ3
µN
q
STATION 1
p
1-q
1-r
1-p
r
STATION 3
Figure 4: Example of closed queueing network with
RS blocking.
and service rate µi , with i = 1, 2, 3. Suppose the routing is
symmetric, i.e. there exists a vector e = (e1 , e2 , e3 ), ei > 0,
such that the following equations hold:
8
>
<e1 p = e2 q
e1 (1 − p) = e3 r
>
:e (1 − q) = e (1 − r)
2
3
Then it is easy to see that the system has a non-zero solution
if the following condition is satisfied:
r(1 − q)p = q(1 − p)(1 − r).
(17)
Under this assumption, the application of ERCAT (see Proposition 1) clearly leads to a product-form solution; the routing
is reversible. Choosing, for instance, e1 = 1 we straightforwardly have e2 = p/q and e3 = (1−p)/r, and the steady-state
distribution is:
«n2 „
«n
„ «n1 „
1−p 3
p
1
.
π(n) ∝
µ1
µ2 q
µ3 r
Suppose now that Condition (17) is not satisfied. Now the
reversible routing results cannot be applied. Nevertheless
ERCAT may still derive a product-form solution, since the
condition stated by Proposition 1 is sufficient for closed networks (and also necessary for open ones). In this case, if
the network population P is such that:
B − min(B1 , B2 , B3 ) ≤ P < B,
P3
where B =
i=1 Bi , ERCAT’s rate constraints (12) are
still satisfied and therefore a product-form follows from the
solution of equations (14), as described in Section 3.3.
4. FINITE CAPACITY QUEUES WITH SKIPPING
Another way of dealing with customers arriving at full
queues is skipping, which was first investigated for the case
of closed networks by solving global balance equations in
[13].
Consider the tandem network of N finite capacity queues
shown in Figure 5.
Figure 5: Tandem of finite capacity queues with
skipping of customers in case of full queues.
Customers arrive to queue i ∈ [1, N ] according to independent Poisson processes with rates λi . At the arrival epoch,
queue i may be saturated. If this is the case, then the customer instantaneously skips to queue i + 1 or exits the tandem if i = N . If queue i is not saturated, then the customer
enters the queue and is served as usual. Service times are
exponentially distributed with rates µi . Note that, although
we consider the case of constant service rates, the analysis
would not be affected if µi is considered as a positive function of the state of queue i. The state of the model is given
by the number of customers hosted in each queue:
n = (n1 , . . . nN )
0 ≤ ni ≤ Bi ,
where Bi represents the capacity of station i.
4.1
Multiple applications of ERCAT
The essence of the multi-way ERCAT (where an arbitrary
sized network may have any number of pairwise interactions
between any two nodes) is that, when its conditions are satisfied, it transforms a set of n node-specifications (with variables xa ) into a set of n closed process-specifications in which
the variables have been bound to real number values. The
product-form of the original network is equal to the product of the equilibrium probabilities of the transformed processes. Consequently we may bind the variables piecewise,
i.e. perform successive applications of ERCAT with a singleton cooperation set corresponding to synchronising actions
with just one name, a say. The right hand side of the rate
equation (11) for xa will then, in general, be a function of
the other rate variables, as yet unbound.
This piecewise approach also allows the resulting active
action a to be relabelled in the synchronised process (after
its application of ERCAT). When this is required, it is indicated by parenthesising the cooperating passive action a
with the new name, b say. Thus, if (a, λ) synchronises with
(a(b), ⊤), the resulting (active) action in the synchronised
process is (b, λ) and its reversed action is (b̄, xa ). Note that
some or all of the passive actions may be relabelled, and
those that are may be relabelled differently. Absence of a
parenthesised name means no relabelling occurs. Except for
the last application, this procedure results in some action
rates being real valued, arithmetic expressions, which causes
no problem with symbolic computation4 . There is therefore
no need to define a multiple synchronisation version of ERCAT to deal with skipping over multiple queues; we need
only apply it m − 1 times to node-sequences of length m.
4
The only difficulty would be if such an expression were to
be a single variable, for an action with label b, say. This
could be confused with a passive action if a = b, leading
to ambiguity. However, it is not possible for the rate of the
passive action with label a to have been bound already, since
it cannot have been involved in another synchronisation previously in the procedure.
We now apply the above procedure to skipping. It is clear
that the rate conditions of ERCAT are satisfied – in fact
we could use the simpler conditions of RCAT. First consider the interaction between the first and second queues,
assuming that when a customer finds the second queue full
it simply leaves the system. This situation is described by
the processes shown in Figure 6.
λ1
(a12 , µ1 )
STATION 1
B1
p10
p+
21
p−
21
Figure 8: Model of example of Section 5.1.
(a12 (a23 ), ⊤)
reversed rates are constant for every action name and the
constraint equations of ERCAT are satisfied, as noted above,
the network has product-form equilibrium state probability:
B2
N
Y
λ2
i=1
µ2
µ2
Figure 6: Processes describing the synchronisation
between the first two queues in the tandem.
Notice how the passive self-loop labelled (a12 (a23 ), ⊤) acquires rate x12 (which is actually λ1 ) and takes on the name
a23 ready for the synchronisation with the third queue. The
interaction between the resultant second queue (having just
synchronised with the first queue) and the third is now described by Figure 7.
(a23 , λ2 )
x12 + λ2
x12 + λ2
1
(a23 , µ2 )
B2
(a23 , x12 )
(a23 , µ2 )
λ3
λ3
(a23 , ⊤)
(a23 (a34 ), ⊤)
(a23 , ⊤)
1
µ3
µ2
p+
12
(a12 , ⊤)
1
0
p20
µ1
(a12 , λ1 )
λ2
λ2
0
STATION 2
(a12 , µ1 )
(a12 , ⊤)
0
λ2
λ1
1
0
λ1
B3
λ3
µ3
Figure 7: Processes describing the synchronisation
between the (resultant) second and third queues in
the tandem.
Similarly to the previous synchronisation, the passive selfloop labeled (a23 (a34 ), ⊤) in the third queue now acquires
rate x23 (which is actually x12 + λ2 = λ1 + λ2 ) and takes on
the name a34 ready for the synchronisation with the fourth
queue.
It is easy to see, and to prove rigorously by induction if
desired, that, after all applications of ERCAT have been
performed for every action name a12 , . . . , aN −1,N in the cooperation set, in the ith queue of the tandem, the net arrival
rate will be xi−1,i + λi ; (2 ≤ i ≤ N ) and that this quantity
will be equal to xi,i+1 when i < N . In short, the net arrival
rate to queue i is λ1 + . . . + λi for (1 ≤ i ≤ N ). Since the
Pi
j=1
µi
λj
!ni
,
for state vector n = (n1 , . . . , nN ). Although very simple,
this product-form is original to the best of our knowledge
and skipping certainly represents a viable alternative to blocking.
5.
A NEW BLOCKING RESULT
We now derive a more complex and less intuitively obvious product-form that is, as far as we know, a novel result.
Although formulated for a special case, the example should
explain how the ERCAT methodology may be used for the
systematic – even automatic – derivation of product-forms
in non-trivial networks.
5.1
Model description
Consider the queueing model depicted by Figure 8. It consists of two queues, 1 and 2, with finite capacities B1 and
B2 , respectively. External arrivals are independent Poisson
processes with rates λ1 and λ2 , service times are exponentially distributed with parameters µ1 and µ2 and queue 2
may delete customers from queue 1. This may be caused
explicitly by a computation in station 2 requiring it (in an
analogous way to what happens in G-networks [5]) or because queue 2 is saturated and then tries to slow down incoming traffic by reducing the population of queue 1. Note
that, it is not the case that queue 1 is never blocked, since
the delete requests are sent from queue 2 to queue 1 when
the former is in the saturated state at a specified rate ǫ.
5.2
ERCAT modelling
The application of ERCAT is very similar to that shown
in Figure 3, but we must include the synchronisations due
to customer deletions, as depicted by Figure 9.
First consider Equation (12). The key point for this example is to observe that passive action a−
21 is enabled in
every state of queue 1 and that there is always an incoming
active action with the same name in every state of queue
2. In other words all the recurrent states n of the model
n→
n←
are such that a−
and a−
. This means that
21 ∈ P
21 ∈ A
+
Equation (12) is satisfied if and only if x+
12 = x21 . Note that
in this case this is not equivalent to the reversible routing
condition, since customer deletions in queue 1 are allowed.
λ1
λ1
+
(a+
21 , µ2 p21 )
+
(a+
21 , µ2 p21 )
0
(a−
21 , ⊤)
1
µ1 p10
µ1 p10
(a+
12 , ⊤)
(a+
12 , ⊤)
(a−
21 , ⊤)
(a−
21 , ⊤)
λ2
λ2
+
(a+
12 , µ1 p12 )
+
(a+
12 , µ1 p12 )
0
B1
1
B2
µ2 p20
µ2 p20
(a+
21 , ⊤)
(a+
21 , ⊤)
−
(a−
21 , µ2 p21 )
−
(a−
21 , µ2 p21 )
(a−
21 , ǫ)
Figure 9: Model of example of Figure 8.
The traffic equations are the following:
x+
12
`
µ1 p+
−´
12
µ2 p20 + x+
21 + µ2 p21
+
λ2 + µ1 p12
`
µ2 p+
−´
21
µ1 p10 + x+
12 + x21
λ1 + µ2 p+
21
´
`
µ2 p−
21
λ2 + µ1 p+
12
+
µ2 p−
+
x
+
µ
p
2
20
21
21
=
x+
21
=
x−
21
=
(18)
Notice that this condition becomes equivalent to the reversible routing condition when p−
21 = 0, as expected. It is
noteworthy that the conditions can be satisfied by an infinite
number of choices of the model parameters. Indeed, suppose
−
we fix all the parameters except λ1 (p+
12 > 0, p21 6= 1). Then
λ1 can easily be derived and, since both the left hand side
terms and the coefficient of λ1 are positive, the rate is reasonable.
We have not discussed the rate ǫ at which queue 2 deletes
customers from queue 1 when it is saturated. Unfortunately,
this rate cannot be chosen arbitrarily because ERCAT requires the reversed rates of the active transitions to be constant. Since the reversed rate of a self-loop is equal to its
forward rate, then we have that ǫ = x−
21 , which was computed in equation (22).
When all the above constraints are satisfied, the productform solution of the network is:
«n1
„
λ1 + µ2 p+
21
π(n1 , n2 ) ∝
−
µ1 p10 + x+
12 + x21
„
«n2
λ2 + µ1 p+
12
.
·
−
µ2 p20 + x+
21 + µ2 p21
Remarks
1. There is no stability issue since the state space is irreducible and finite. Therefore any product-form we
obtain can be normalised (requiring only a finite sum),
giving the valid equilibrium solution for the joint state
probabilities.
(19)
(20)
+
Assuming that x+
12 = x21 , we can compute the expression
+
for x21 , using (18), as:
«
„
´
`
µ1 p+
λ2
12
x+
µ2 p20 + µ2 p−
=
21
21
+
λ2 + µ1 p+
λ
+
µ
p
2
1 12
12
2. We have considered an example with just two nodes
in order to keep the algebra as simple as possible.
However, the approach itself is far more general and
the derivation of product-forms for networks of queues
with the specified customer-deletion mechanism and
blocking can be automated.
which gives:
x+
21 =
+
µ2 µ1 p+
12 (1 − p21 )
λ2
(21)
+
+
Now, we can compute x−
21 using the expression for x12 = x21
in Equation (20):
x−
21 =
µ2 p−
21
µ2 p−
21
+
+
µ2 µ1 p+
12 (1−p21 )
λ2
(λ2 + µ1 p+
12 )
+ µ2 p20
=
λ2 p−
21
1 − p+
21
(22)
We can also derive the expression for x+
21 using Equation
+
(19) and x+
21 = x12 :
x+
21 =
µ2 p+
21
(µ1 p10 + x−
21 ),
λ1
that, using (22), may be reduced to:
„
«
µ2 p+
λ2 p−
21
21
x+
.
µ1 p10 +
21 =
λ1
1 − p+
21
The rate constraints of ERCAT (12) are now obtained by
equating the expression for x+
21 given above with that of
Equation (21), i.e.:
«
„
λ2 p−
+
+
+
+
21
λ1 p12 (1 − p21 ) = λ2 p21 (1 − p12 ) +
µ1 1 − p+
21
6.
CONCLUSION
The (E)RCAT methodology has established itself as an
effective and unifying means to finding reversed processes
and product-form solutions in stochastic networks of various kinds. It already solves traditional multiclass queueing networks, G-networks and separable Petri-nets, together
with the many variants of these for which product-form solutions have been found [3, 5, 4]. The results presented
here continue this trend by showing that ERCAT derives
all the known product-form solutions (to the authors’ best
knowledge) in networks of finite capacity queues in a simple,
uniform way. Moreover, new product-forms were obtained
on the way.
In fact, new product-forms are often not difficult to construct using ERCAT, as we have demonstrated. The conditions of the theorem are easy to check and so, when one
builds a network, it is often possible to guarantee the conditions are preserved as the complexity of the network increases. This typically involves tight constraints on various
rates and the need to add certain additional transitions to
ensure that the constraint and rate equations are satisfied.
Whilst it is obviously not desirable to corrupt a model just
to obtain a product-form, it must be remembered that in
the vast majority of networks, such separable solutions simply do not exist. However, the systematic construction of
perturbed networks in this way may aid the calculation of
bounds on the accuracy of an approximation and assist the
validation exercise by providing benchmarks with exact solutions.
7. REFERENCES
[1] Akyildiz, I. F. Exact analysis of queueing networks
with rejection blocking. In Proc. of the 1st Internat.
Workshop on Queueing Networks with Blocking
(North-Holland, Amsterdam, 1989), H. G. Perros and
T. Atliok, Eds., pp. 19–29.
[2] Balsamo, S., De Nitto Persone’, V., and
Onvural, R. Analysis of Queueing Networks with
Blocking. Kluwer Academic Publishers, 2001.
[3] Baskett, F., Chandy, K. M., Muntz, R. R., and
Palacios, F. G. Open, closed, and mixed networks of
queues with different classes of customers. J. ACM 22,
2 (1975), 248–260.
[4] Coleman, J. L., Henderson, W., and Taylor,
P. G. Product form equilibrium distributions and a
convolution algorithm for Stochastic Petri nets.
Perform. Eval., Elsevier 26 (1996), 159–180.
[5] Gelenbe, E. Product form networks with negative
and positive customers. Journal of Applied Prob. 28, 3
(1991), 656–663.
[6] Harrison, P. G. Turning back time in Markovian
process algebra. Theoretical Computer Science 290, 3
(January 2003), 1947–1986.
[7] Harrison, P. G. Reversed processes, product forms
and a non-product form. Linear Algebra and Its
Applications 386 (July 2004), 359–381.
[8] Harrison, P. G., and Lee, T. T. Separable
equilibrium state probabilities via time reversal in
Markovian process algebra. Theoretical Computer
Science 346, 1 (2005), 161–182.
[9] Hordijk, A., and Van Dijk, N. Networks of queues
with blocking. In Performance ’81 (North Holland,
1981), K. Kylstra, Ed., pp. 51–65.
[10] Kelly, F. Reversibility and stochastic networks.
Wiley, New York, 1979.
[11] Onvural, R. O. Survey of closed queueing networks
with blocking. ACM Comput. Surv. 22, 2 (1990),
83–121.
[12] Perros, H. G. Queueing networks with blocking.
Oxford University Press, Inc., New York, NY, USA,
1994.
[13] Pittel, B. Closed exponential networks of queues
with saturation: The Jackson-type stationary
distribution and its asymptotic analysis. Mathematics
of Op. Res. 4, 4 (Nov., 1979), pp. 357–378.