The authors give a nice overview of computer performance evaluation using queueing theory and continuous and discrete-time Markov chains. After a short review of the relevant probability and statistics, the authors discuss Markov chains in the second chapter, pointing out that Markov processes can be used to model queueing systems even when these systems have behavior governed by non-exponential distributions. They characterize these as Markovizing methods. Their treatment of both discrete and continuous time Markov models is short but adequate, covering all the necessary concepts such as ergodicity and irreducibility. They then give a thorough discussion of the modeling process as actually done in practice. Their discussion of model sizing sets up their methodologies for dealing with large models later in the book. Performance measures for system requirements are discussed in terms of Markov reward models. Their treatment here is very detailed and they also give a large collection of helpful references on the subject.Petri nets are also discussed in the context of model generation. The authors state, correctly I think, that more time should be spent of developing models rather than the underlying mathematics. In their treatment of networks with non-exponential service time and interarrival time distributions, the authors employ the diffusion approximation via the solution of the Fokker-Planck equation. The don't discuss this in detail but give references for those who can read German. This would have been a place for a detailed analysis and derivation, given the surprising introduction of the Fokker-Planck equation in queueing theory. They also use, interestingly, maximum entropy methods to get approximate solutions of open and closed queueing networks. A very short chapter on optimization is given in the next chapter, which could stand to be more lengthy given the importance of this in implementing networks commercially. The next chapter covers some of the performance tools that are available for studying networks. The Performance Evaluation and Prediction System (PEPSY), stochastic Petri net package (SPNP), the CSPL language, the Model Description Language (MOSEL), the symbolic hierarchical automated reliability performance evaluator (SHARPE) are discussed with examples of each. Readers not having these tools will of course will not benefit too much from reading this chapter, except for maybe to get an idea of what is available. The OPNET and Ns-simulator packages,which are very nice modeling tools are not treated at all for some reason.

The last chapter covers applications, with case studies of queueing networks, Markov chains, stochastic Petri nets, and hierarchical models. Although of somewhat limited value in practice, the examples given do give the reader an idea of how the material in the book can be applied. And here again, the authors stress the use of modeling packages such as SHARPE and PEPSY, to verify the calculations in the case studies. They consider a closed non-product form queueing model of a medium-sized LAN in some detail with Ethernet links and a FDDI ring, solving it using Marie's method. Also interesting is their model of the UNIX operating system, which is also represented by a closed non-product queueing network. They compare the computation time needed to solve the model using CTMC, shadow, and DES techniques. Although the discussion is rather hurried, their model of an ATM network is also interesting, in that they use Markov reward models, obtaining both the state and transient solutions.

The book is one that will be of great assistance to those doing network modeling, performance analysis, and other time-scheduling modeling activiites. It is somewhat expensive, but worth the price I think considering the care which the authors take in their exposition.