The overall goal of the project was to analyze the performance of client/server
programming using a wide variety of network configurations. Performance
was measured by response time and traffic generation on the network.
Response time was defined as the average time span between submission
of a request and receipt of a response. Traffic generation was concerned
with the number of packets generated and an analysis of the traffic
pattern on both single LAN segments and on multiple LAN segments.
The student researchers met 9-12 hours weekly. Each week the students
and faculty met to discuss project milestones and problems encountered
during the past week. We began by ensuring that our physical machine
setup was adequate to meet our needs and was working properly. Our next
step was to write and revise the applications needed to test the network
and to analyze the log files crated by the testing applications. The
last step was to collect and analyze the data.
We collected data on a variety of configurations including:
- a single client and server running on the same machine;
- a single client and server running on separate machines;
- one server and multiple clients, each on separate machines connected
over a single LAN;
- one server and multiple clients distributed over two LANs connected
by a router;
- multiple clients and two servers running on the same LAN;
- multiple clients and two servers running on two LANs connected by a
router with each server on a different LAN segment.
The six configurations were divided into three experiments. Configurations
1 and 2 used a client/server chat program. Configurations 3 and 4 used
a datagram monitoring system. Configurations 5 and 6 used a set of programs
designed to simulate a three-tiered server setup. The results obtained
were very interesting and sometimes non-intuitive.
Although frustrating at times, our efforts to determine why actual results
did not always match expected results provided an excellent learning
experience. One of the major benefits of this experience was to learn
how important careful planning and a well thought out research methodology
are in tackling a project of this magnitude.
As a final step in the project, we were able to share our research results
when we were invited to make a poster presentation for The International
ACM Student Research Contest, held at SIGCSE 2000 Technical Symposium.
We also presented our results at a local student research forum, Celebration
of Quality, on the Northwest Campus.
We thank CREW for their support of this project.