Sunteți pe pagina 1din 8

Proceedings of the 1996 I1l inter Simulation Conference

ed. J. M. Cllarnes, D. J. IVlorrice, D. T. Brunner, and J. J. S~vain

USE OF SIMULATION TO TEST CLIENT-SERVER MODELS

Yogesh L Deshpande Simon Taylor


Roger Jenkins
Department of Computer Science and
Faculty of Business and Technology Information Systems
University of Western Sydney, Macarthur BruneI University
POBox 555, Campbelltown Uxbridge, UB8 3PH ENGLAND
NSW 2560, AUSTRALIA

ABSTRACT simulation as a methodology. In practice,


however, there are many situations and systems
Simulation is used for many purposes: for where interactions among the components of the
example, to analyse a complex system, to system are not amenable to easy analysis and
visualise the functioning of a system, and to consequently analytical solutions are based on
optimise or tune a system. While there is no simplified models. Client-server (c-s) systems
limitation on the use of simulation, the general are a good example of these limitations and
consensus is that an analytical solution, if one is hence a field which could benefit from
possible, is always to be preferred to simulation simulation studies.
as a methodology. In the field of information The use of simulation to test the design of a
systems, client-server models exhibit a degree of client-server system is, however, not so
complexity and richness not amenable to easy straightfoIWard. Simulation as a strategy for
analytical solutions, except for some specific problem-solving requires a good understanding
algorithms useful in limited contexts. of simulation modelling and the computing and
Simulation could, therefore, be a good strategy statistical aspects of simulation. Client-server
to analyse the client-server systems and help in systems themselves can be quite complex with
better implementation of feasible solutions. This possibly several options for the systems designer
paper examines the current state of client-server to choose from. Since client-server modelling is
models and use of simulation in dealing with the a relatively recent development, there is a
problems encountered. The paper then shortage of experts in this area, widely
compares the seven-layer OSI model for acknowledged by the software industry.
communications architecture and recommends Additionally, the developers of such systems are
that a similarly layered approach is likely to generally under severe time constraints, unable
prove useful in simulating client-server systems. to experiment sufficiently with the alternative
In the process, the paper also points out that the designs and not necessarily familiar with
simulation models bring into a sharp focus the simulation strategies or tools. There is thus a
importance of software metrics, an area of vital possibility that for a number of reasons, the
importance in software development systems designers may neglect simulation
altogether or use it in a manner which may limit
1. INTRODUCTION the usefulness of the results obtained, or even
invalidate them.
Simulation is a powerful tool in analysing The difficulties enumerated above
complex systems. It is used for a wide variety of notwithstanding, this paper Joms a growing
purposes such as optimising or fine-tuning a body of work which contends that there is much
system, visuaiising the functioning of a system, to be gained by the use of simulation in the
or simply for better understanding through the client-server environment. Even the simplified
analysis of a system. While there are few limits models presented in this paper bring into a
on the use of simulation, the general consensus sharp focus the complex nature of layers of sub-
is that, for a given problem, an analytical systems, such as network topologies and
solution, if one is possible, is to be preferred to communication protocols, on which a client-

1210
Use of Simulation to Test C~lient-SerFer l\Jodels 1211

server system is based and about which a processors cooperate to complete the processing
designer is forced to make assumptions. At the as a single integrated task".
same time, a review of the literature in this area This definition emphasises the logical nature
shows that simulation modelling is used either of the client-server model and not the physical
in a somewhat limited capacity, concentrating one which would include the hardware and
on sub-systems and algorithms or at a level of network components.
detail which makes it complex and expensive Client-server models belong to the class of
(Robinson 1994). There is thus an untapped distributed computing models. In theory, even
potential' for the use of simulation of the one client and one server on the same hardware
systems. The possible application of simulation platform could qualify as a client-server system.
strategy to client-server problem also points to In practice, though, there are likely to be many
the vital need of proper measurements of the clients, based on multiple platfonns, and being
client-server system parameters, an issue served by at least one server, connected through
directly linked to software metrics and networks. Figure 1 illustrates a general client-
performance monitoring. The paper concludes server model with multiple clients connected to
lhat even a simple simulation model of a client- multiple servers via a local or wide area
server system is beneficial to the system network.
designers and developers.
The paper is organised as follows. Section 2
briefly describes the client-server models.
Section 3 relates simulation work to client- ....
AI ....----, -
-....".
&.I
cltal

--4.
........

server and finds that the modelling exercise in C"'" I -" ", iiiI
this area includes details of communication ;'l. ,
t-J!l-
I
networks, hardware and processor CltenO i I

chara.cteristics, algorithmic analysis, query :..-)\, /


~ \ .
optimisation and file or database distribution. CUen'~ -~- __,_..-- __ - "

'\
Section 4 then relates the client-server systems Pnnl&1

to the seven layers of the Open System


International (OSI) model to bring out the
hidden complexity of the models and to Figure 1: A simple client-server model
recommend simulation strategies in a similarly
layered modelling approach. Section 5 describes A more elaborate model put out by the
a case study under way, using a commercially Gartner Group (1994) has gained wide
available simulation package. Section 6 deals acceptance among computing practitioners.
with the question of statistical aspects of They defme client-server by postulating five
simulation and compares them with software configurations through combinations of the
metrics. Section 7 concludes the paper. three components into which any application
may be subdivided:
2. CLIENT-SERVERMODELS • Presentation
• Processing
Almost all writings on this subject start with a • Data management
statement that there is no single definition of These components may be distributed across
what is meant by client-server model of the client(s) and the server(s) in five ways, as
computing. Nevertheless there is a fairly good shown in Figure 2.
agreement about what does characterise them
(Stallings and Slyke 1994, lESe Report 1995).
The following working definition by Boar
(1993), later adopted by the IES Committee
(IESC) set up by the Australian Federal
Department of Finance (1995) is relatively
straightforward: "A computing model whereby
the application processing is partitioned across
multiple processing platforms and yYthere
1212 Desllpande, Jenkins, and Ta,ylor

Client'Server
are also of general nature. Anecdotal evidence
points to the designers making choices abo~t
splits in client-server functionality on the basIS
of experience, intuition and trial-and-error
methods.
The foregoing description and discussion
indicate the possibility, and desirability, of
applying simulation strategies to test ~nd
improve client-server designs. The follOWIng
sections elaborate on this theme.

Distributed Remote Remote Distributed 3. SIMULATION AND CLIENT -SERVER


Presentation Presentation Data Access Datadase

This paper is mainly concerned about using


Figure 2: The Gartner Group models of client-
simulation modelling in a specific environment,
server systems
viz: client-server systems. Familiarity with
simulation methodology will, therefore, be
The first two models, distributed and remote
asswned and the reader is referred to well-
presentations, represent a situation wh~n t~e
known titles such as Tocher (1963), Naylor et al
server is the dominant partner and the chent 1S
(1966), Banks and Carson(1984), Pidd (1992),
either a dumb terminal or is there mainly to
Szymankiewicz et al (1988) for further
provide a user-friendly graphical user in~erface
elaboration of simulation strategies. Any
(GU!). The remaining three allow the chent to
comments related to the simulation methodology
carry out processing either partially or wholly on
in this paper should be read only in the context
the client(s) and are of major interest here. In
of client-server systems modelling and design
these situations, a designer is faced with many
and not as any critique contributing to the field
choices about how to split processing and data
of simulation.
management functions between the clients and
Section 2 described the five generally
servers.
accepted models of client-server computing. It
Consider a hypothetical application for
also pointed out that the design of a client-server
development. Typically, it will contain tens, if
system is specific to a given application. For the
not hundreds, of modules dealing with user
discussion of use of simulation, for the rest of
interface, inputting data, validation of input
this paper, therefore, it is necessary to make
data, queries, report generation, processing and
certain assumptions which are as follows:
output messages. The client-server architec.tural
• There is only one server with more than
options will allow a split of these functional
one client;
modules on one or more clients on the one hand
• The client will have presentation and
and on one or more servers on the other.
partial functionality while the server will carry
Furthermore, the server(s) will also be
out the remaining processing and data
responsible for data management which may
management, i.e. the third model in the Gartner
lead to distribution of databases and tables over
Group's classification will be implemented;
many servers. The perfonnance of the system
• The application will be a database
will clearly depend, among other things, upon
management;
how these modules are distributed across all the
• The systems designers want to reduce the
clients and servers in the system.
response time to the minimum.
A number of authors have written in detail on
These assumptions are really meant to
strategies and guidelines for such functional and
facilitate identification of characteristics of the
data distribution (Booth 1981, Krantz 1995,
client-server environment germane to
among others). However, since the design of a
simulation. As will be seen, any or all of these
client-server system is specific to a given
assumptions may be relaxed without adversely
application, such guidelines have been
affecting the conclusions.
necessarily general in nature. Consequently,
The assumptions made above are partial
details of actual implementation of a system
details of only a logical model. They do not at
design and its effects on the system performance
all consider the possible variations in hardware
Use of Simulation to Test Client-Server Alodeis 1213

and software platfonns, nor are the network and questions of interest to any systems designer.
communication parameters identified. The view The performance of a system based on this
is of a systems designer who takes all the other logical design could be analysed without much
parameters as given and is only concerned with more data.
decisions about how to split the functionality In the final analysis, however, performance of
within the application across multiple clients a given system will depend upon many factors,
and the server. such as network topology, transmission
A typical working scenario of the system protocols, client and server processor speeds,
would involve the following: number of clients supported, choice of software
• a client would present a user interface to packages and underlying operating systems. A
validate input and generate requests systems designer is aware of these factors but
(transactions) for the server to process; has far fewer measurements available on which
• the transactions could take the fonn of to judge the relative contribution of these factors
simple queries, or updates to the database, or and hence their likely effect on the system
requests for detailed reports; perfonnance. Many of these factors belong to
• the server would receive these transactions/ areas of specialisation about which a systems
requests over the network and respond designer has only a vague model in his/her
appropriately; mind.
• the server would carry out database In the references cited above, for example,
management tasks, as and when needed. Shen and Butler (1994) include the network
In order to simulate such a system, a characteristics in their model-building, Smith
simulation expert would want to know answers (1990) and Robinson (1994) allow hardware
to questions such as: characteristics, Komatsu, Wakayama and Nose
• what are the possible types of transactions (1994) incorporate internal processes of a
and what are their (statistical) distributions? computer system and models using the so-called
• do all clients follow the same distributions? Remote Procedure Calls (RPC) have also been
• how much processing time is needed on the reported.
client and how much on the server? The detailed simulation modelling would
• what is the communication overhead and make the subsequent experiments and output
how is it measured? analyses more valid than those based on a less
Depending on the level of detail in a detailed one. On the other hand, Robinson notes
simulation model, there could be many more that the increased complexity is a drawback and,
similar questions to which answers may be in many cases, simpler models may be adequate
required. to address basic issues.
Given the required details, a simulation The foregoing analysis suggests that what is
model may be built and statistically valid likely to be useful to a systems designer is the
experiments run to report on various ability to include the levels of detail selectively
combinations of functional division between the and in such a way as to make modelling easier
clients and the server. and more tractable. Section 4 suggests ways of
The idea of using simulation in client-server doing that by utilising the familiar Open
environment has been explored by several Systems Interconnection (OSI) model.
researchers in much greater detail, as reported
in literature (Smith 1990, Jain 1991, Gold 1993,
McBeath and Keezer 1993, Shen and Butler 4. CLIENT-SERVER AND OSI
1994, Robinson 1994, Komatsu, Wakayama and
Nose 1994). The level of detail, however, is a As vel)' briefly discussed in Section 3, client-
potential challenge to systems designers in server modelling is complicated by the
general, as discussed below. considerations of a large number of variables,
The main characteristic of the first three ranging from software and hardware platforms
questions about a simplified client-server system through to networks and communications
raised above is that they are related to the protocols. The OSI model, representing both
application under consideration and not to the client and server (Figure 3), is in fact a good
hardware/software platform on which the guide to sort these factors in layers where they
application will be built. They are also the belong.
1214 Desllpande, Jenkins, and Ta.ylor

s Presentation
S Y
8
r----------------f
t~~~~~~~~~~~........~ ~
U e
Layer r m
i
1 Physical I M Transport services (TCPIIP)
2
Y g 1-----------------1
Data link t Subnetwork. (WAN. Lan•...)

3 Network
4 Transport
5 Session
6 Presentation Figure 4: Layered model of client-server
7 Application systems (Source: IESC Report 1995)

Figure 3: OSI model of communications Work is in progress to implement this layered


architecture approach for the simple system described above.
Reverting back to the simplified example of Even at an early stage, this modelling exercise
Section 3, it is seen that the first three questions has highlighted benefits, such as better
about the system characteristics belong to the understanding of issues, the role of Software
Application layer whereas the fourth properly Metrics and the possibility of using
fonnulated straddles two layers, Network and commercially available and inexpensive
Communications. From the system designer's simulation packages. Section 5 describes the
point of view, a model involving a (client) case study and discusses the relevant issues.
application layer connected to (server)
application layer is easily understood. Such a
model would then necessarily assume that the 5. CASE STUDY
characteristics of the layers below remained
unchanged and therefore allow exclusive The case study is based on the assumptions
consideration of allocation of functionality listed in Section 3. The simplicity of the model
between a client and the server. meant that there was no need to write
This approach logically leads to another step customised simulation package. The choice of
in the full exercise of simulation. Each layer, the package was ProModel, for its ease of use,
especially the Network and Communications ability to animate the model, statistical support
Protocols can be independently modelled, in and the at least one author's familiarity with it.
their own right, to a level of detail relevant to a The first models were shown to a number of
given system. It may be then possible to draw people who suggested a few, later obvious,
upon work already done in these areas (e.g. improvements. The results of these attempts
Mitrani 1987, Law and McComas 1994, have been described in Sections 3 and 4 and led
Komatsu, Wakayama and Nose, 1994, to the adoption of the layered approach to client-
Rumekasten 1994, Shen and Butler, 1994). server systems modelling. There are now three
Since there will generally be more than one separate models, one each dealing with the
infonnation system running on these platforms, Application layer, the Network layer and the
these Network and Communications models Communications Protocol layer.
could be directly utilised in other simulation To illustrate the nature of these models,
exercises. The layered models also allow consider how the system would deal with a
analysis of possible or proposed changes to transaction generated by a client. The broad
specific characteristics of any given layer. steps involved in processing the transaction
The layered approach need not follow the OSI would be as follows:
model exclusively. IESC report (1995), for • The client side would present the user
example (Figure 4), or TCP/IP protocol does not interface, accept input and process it as per a
adhere to seven layers. As mentioned above, given specification, passing it on to the Network
what is needed is a good model at the layer for further processing.
appropriate level and a systems designer may in • The Network would process the transaction
fact be in the best position to decide upon the and pass it on to the Communications system.
layer of interest. • The Communications layer on the client
side would connect with that on the server side
Use of Simulation to Test Client-Server I\!Iodels 1215

and ensure that messages were passed on designers. Section 6 briefly discusses these
correctly. issues.
• These messages would travel upwards to
the Application layer of the server in the reverse
fashion, processed and the output would travel 6. STATISTICAL ASPECTS OF
back to the client in a similar manner. SIMULATION AND SOFTWARE
Although this is a very simplified model, it METRICS
has already proved to be useful in many ways.
Firstly, the exercise brought home to the There is a lot of similarity between the
people involved in the discussion that there are a approaches adopted in simulation modelling and
number of possible views of the same system, all systems design (Robinson 1994). However, after
of them important, and that it is essential to the logical design of a system model, the system
develop a common language across the different developers proceed to its physical design
expertise. The layers clarified to everyone straightaway, vel)' often under severe time
exactly what was under discussion and needed pressure. Validation of the models they may
further clarifications. have built is static and through structured
Secondly, it forced the participants to walkthroughs or meetings with the responsible
consider different ways of measuring the clients or through proto-typing.
"traffic". A transaction viewed at the client In contrast, simulation strategists attach a
Application layer goes through a few great deal of importance to relevant and accurate
transfonnations before reaching the server measurements, or data, before any experiments
Application layer, again as a complete are conducted and models validated.
transaction. The statistical distributions of the One of the early benefits of the case study, as
types of transactions and of the time it takes for mentioned above, was the focus on input and
these transactions to reach the destination are output data of the given system. From the point
likely to be different at each layer. A larger of view of validating the simulation model of a
question is thus raised about the appropriate client-server system, data would be needed to
measurements and collection of data in order to cover as many of the variations in the systems
validate the simulation exercise. parameters as possible. Depending on the level
Thirdly, the case study has highlighted the of modelling, such data would include
appropriateness of constructs available in the measurements specific to the application,
simulation packages. ProModel is primarily network and communications layers before
designed to aid in modelling manufacturing simulation experiments could begin.
systems and uses icons and tenninology of that The conceptual modelling exercise and
environment. The success and speed of consequent attention to measurements also is
modelling depends substantially on the ability of extendable to post-implementation systems.
experts participating in the study to interpret the Whatever assumptions are made in the pre-
terminology flexibly and not be diverted by the design stage and, data collected accordingly, the
language used by the package. This is not data capture and further validation tests can be
always so obvious. continued throughout the systems life cycle,
A further advantage which simulation leading to more pro-active systems maintenance.
modellers clearly recognise, was the effect of It may be pointed out that the model can only
animating the model. As a generalisation, perfonn the task of highlighting the paucity
systems designers tend to think in more abstract and/or the (poor) quality of data about the
terms, in algorithmic patterns and, at times, in system(s) under consideration. Changes in
static models of their systems. Animated practice and improvements in the quality of data
simulation models of even the simplified models are matters for action only by the appropriate
seems to generate much more interest than even authorities.
extended discussions.
As mentioned above, this case study has
raised a major concern about the measurements 7. CONCLUSIONS
of any given system and the different points of
view of simulation strategists and systems Simulation modelling and experiments are used
widely and for a variety of purposes. This paper
1216 Deshpande, Jenkins, and Ta,ylor

joins a growing body of simulation work in the Winter Simulation Conference, ed. J.D.Tew et
client-server environment. The paper analysed aI, 1272-1279, Boston: The Society for
the client-server model to relate it to the seven- Computer Simulation.
layers of OSI model and suggested that a Krantz, S. 1995. Real World Client/Server.
similar, layer-based approach be used in the Gulf Breeze, FI: Maximum Press.
simulation exercise. The benefits of this Law, A.M. and McComas, M.G. 1994.
approach are in terms of clearer understanding Simulation of Communications Networks. In
of the client-server models, possibility of using Proceedings of the 1994 Winter Simulation
commercially available simulation packages, Conference, ed. J.D.Tew et aI, 166-170,
and a sharp focus on the issues of software Boston: The Society for Computer
metrics. The modelling exercise alone is worth Simulation.
the effort to clarify the issues to the software McBeath, D.F. and Keezer, W.S. 1993.
community. The client-server environment is Simulation in Support of Software
still unfamiliar to many people and causes Development. In Proceedings of the 1993
difficulties in understanding since it engages Winter Simulation Conference, ed. Evans,
many rapidly-changing technologies. G.W., Mollaghesemi, M., Russell, E.C.,
Simulation modelling makes the client-server Biles, W.E., 1143-1151. Baltimore, MD:
models much more tractable and thus should Association for Computing Machinery.
prove to be of great benefit overall. Mitrani, I. 1987. Modelling of computer and
communication systems. Cambridge:
REFERENCES Cambridge University Press.
Naylor, T.H., Balintfy, J.L, Burdick, D.S. and
Banks, J. and Carson, J.S. 1984. Discrete- Chu, K. 1966. Computer Simulation
Event System Simulation. Prentice-Hall: Techniques. John Wiley:
Boar, B.H. 1993. Implementing Client/Server North, K. 1996. Perfonnance Testing, ODBC,
Computing: A Strategic Perspective, New and Native SQL APls. In Dr Dobb's
York, NY: McGraw-Hill. Sourcebook, Vol 21, Issue 13, (January-
Booth, G.M. 1981. The Distributed System February), 17-21.
Environment. New York: McGraw-Hill. Pidd, M. 1992. Computer Simulation in
Gartner Group. 1994. Client/Server Computing Management Science. John Wiley and Sons:
in the 1990s, Stamford,CT: Client/server Robinson, J. 1994. Capacity and Performance
Logical View Personal Advisory Service. Analysis of Computer Systems. In
Gold, J. 1993. Simulation aims to predict Proceedings of the 1994 Winter Simulation
software perfonnance. Software Magazine. Conference, ed. J.D.Tew et ai, 34-41, Boston:
July: 15-19. The Society for Computer Simulation
Infonnation Exchange Steering Committee Rumekasten, M. 1994. Simulation of
(IESC). 1995. Client/Server Computing in Heterogeneous Networks. In Proceedings of
the Australian Public Service: The Next the 1994 Winter Simulation Conference, ed.
Wave? Canberra: Department of Finance, J.D.Tew et aI, 1264-1271, Boston: The
Australian Federal Government. Society for Computer Simulation
Jain, R. 1991. The Art of Computer Systems Shen, J. and S. Butler. 1994. Performance
Performance Analysis. New York, NY: John Modeling Study of a Client/Server System
Wiley and Sons. Architecture. In Proceedings of the 1994
Jiang, Y., Cao, J. and Gupta, G.K. 1992. Winter Simulation Conference, ed. J.D.Tew et
Dynamic Distributed Query Processing aI, 1280-1287, Boston: The Society for
Through Query Migration. In Research and Computer Simulation.
Practical Issues in Databases, Proceedings of Smith, C.U. 1990. Performance Engineering of
the 3rd Australian Database Conference, ed. Software Systems. Reading, MA: Addison-
B. Srinivasan and J. Zeleznikov, 197-209. Wesley.
Melbourne: World Scientific. Stallings, W. and Van Slyke, R. 1994. Business
Komatsu, T., Wakayama, H. and Nose, J. 1994. Data Communications. 2nd edition. New
Model Description in the INSYDE Simulator York, NY: Macamillan.
for Evaluating Large-scale Computer System Szymankiewicz, J., McDonald, J and Turner, K.
Performance. In Proceedings of the 1994 1988. Solving Business Problems by
Use of Simulation to Test Client-Server AJodels 1217

Simulation. McGraw-Hill: Maidenhead,


England.
Tocher, K.D. 1963. The Art of Simulation.
English University Press: London.

AUTHOR BIOGRAPHIES

YOGESH L. DESHPANDE is a senior lecturer


in the Department of Computing and
Infonnation Systems in the Faculty of Business
and Technology at the University of Western
Sydney, Macarthur. His research interests
include discrete event simulation modelling,
client-server systems, and information systems.
He is a member of the Australian Computer
Society, Computer Society of the IEEE, and the
Operational Research Society.

ROGER JENKINS is a lecturer in the


Department of Manufacturing and Quality
Systems in the Faculty of Business and
Technology at the University of Western
Sydney, Macarthur. His research interests
include discrete event and continuous simulation
modelling and materials and resource planning.

SIMON TAYLOR is a lecturer in the


Department of Computer Science and
Information Systems at BruneI University. His
research interests include simulation modelling,
and distributed and parallel simulation.

S-ar putea să vă placă și