[To Lecture Notes Index]
San Diego State University -- This page last updated February 12, 1995 ----------------------------------------------------------------

  1. References for this lecture
  2. Client-Server
  3. Tasks of UI
  4. Tasks of UI (continued)
  5. UI Implementation Details
  6. UI Implementation Details (continued)
  7. UI Implementation Details (continued)
  8. Client Protocol Interface
  9. Chapter 7 in Comer
  10. Hardware and OS concerns
  11. Hardware and OS concerns (continued)
  12. Platform selection

References for this lecture

Comer chapters 6 & 7

General notes for the rest of the course

The networking API was covered in detail in CS-576.

We will now concentrate more on algorithms and program structures.


User Interface (UI)

The User Interface consists of all interactions of a program with the users, either directly or indirectly.


command line arguments
ls -aslF

input files


Tasks of UI

Translation of "humanese" into "computerese"


we use ftp gatekeeper.dec.com
which the ftp program translates to ftp

Error reporting and recovery


% make disappear
make: *** No rule to make target `disappear'. Stop.

Tasks of UI (continued)

Translation of user actions into server requests or interactions.


% mail andrew@sdsu.edu
Subject: Hi
Gosh, you are tall

but this gets translated into:

220-sdsu.edu Sendmail SDSU-Main ready to party ...
220 ESMTP spoken here
HELO rohan.sdsu.edu
250 sdsu.edu Hello turtle@rohan.sdsu.edu ...
MAIL From:<turtle@rohan.sdsu.edu>
250 <turtle@rohan.sdsu.edu>... Sender ok
RCPT To:<andrew@sdsu.edu>
250 <andrew@sdsu.edu>... Recipient ok
354 Enter mail, end with "." on a line by itself
250 WAA26313 Message accepted for delivery
221 sdsu.edu closing connection

UI Implementation Details

Some things we need to worry about when implemention a UI and in particular a UI for a client.

UI Implementation Details (continued)

Domain Name Service (DNS)

A client should always allow both hostnames and IP addresses to be specified.


Distinguish between name using isdigit() macro on first character.

Potential problems? What if a hostname starts with a digit?

Library calls to use:

UI Implementation Details (continued)

Known IP services

A local database of services is located in /etc/services

POP (Post Office Protocol) entry:
pop     110/tcp     # Post Office

Library call:


Problems with this service?

Two hosts can have different port numbers for the same service.


portmapper used with SunRPC

Client Protocol Interface

There are different levels of complexity

general rule: simple protocol simple protocol interface





Chapter 7 in Comer

Read section 7.3:

The section is titled Hiding details

Hardware and OS concerns


Operation System:

Hardware and OS concerns (continued)

Issues in selecting a Client-Server environment:

Is a machine going to be dedicated to be just a server or client?

How are limited resources allocated to services?


Platform selection

10,000 E-mail users on a 286 DOS machine?

Rohan dedicated to be a fortune server?

Obvious answers!

What about 1,00 E-mail users on a Pentium-90 running Windows NT