Communications betweens processes takes place using agreed conventions -
protocols
Network communications requires protocols to cover high-level application
communication all the way down to wire communication
Complexity handled by encapsulation in protocol layers
ISO OSI Protocol
OSI layers
Network layer provides switching and routing technologies
Transport layer provides transparent transfer of data between end systems
and is responsible for end-to-end error recovery and flow control
Session layer establishes, manages and terminates connections between
applications.
Presentation layer provides independance from differences in data
representation (e.g. encryption)
Application layer supports application and end-user processes
TCP/IP Protocol
Some Alternative Protocols
Firewire
USB
Bi-directional pipes
Pseudo-terminals
Networking
A network is a communications system for connecting end systems
called hosts
A local area network (LAN) connects computers that are close together,
e.g. by ethernet
A Wide Area Network (WAN) connects computers in different cities,
A Metropolitan Area Network (MAN) is intermediate in size
The Queen St Mall in Brisbane has a wireless network along its
kilometre length. There doesn't seem to be a suitable term yet
apart from "wireless hotspot"
An internet is a connection of two or more distinct LANs or WANs
An intranet is an internet with all networks belonging to a single
organisation
Gateways
A gateway is a generic term for an entity used to connect two or
more networks
A repeater operates at the physical level copies the information from
one subnet to another
A bridge operates at the data link layer level and copies frames
between networks
A router operates at the network level and not only moves information
between networks but also decides on the route
Packet encapsulation
Connection Models
Connection oriented
Connectionless
Connection oriented
A single connection is established for the session
Two-way communications flow along the connection
When the session is over, the connection is broken.
The analogy is to a phone conversation
An example is TCP
Connectionless
In a connectionless system, messages are sent independant of each other
Ordinary mail is the analogy
Connectionless messages may arrive out of order
An example is the IP protocol
Connection oriented transports may be established on top of connectionless
ones - TCP over IP
Connectionless transports my be established on top of connection
oriented ones - HTTP over TCP
Communications Model
Message passing
Communications Model (2)
Event driven
Procedure call
ordinary procedure call
dynamic link library procedure call
remote procedure call
lightweight remote procedure call
Distributed Computing Models
Peer to peer
Filter
Client Server
Client/Server System
Client/Server Application
Server Distribution
Single client, single server
multiple clients, single server
Server Distribution (2)
single client, multiple servers
multiple clients, multiple servers
Component Distribution
Presentation component
Application logic
Data access
Examples follow
Example: Distributed Database
Gartner classification: 1
Example: Network File Service
This allows remote clients acess to a shared file system
Gartner classification: 2
Example: Web
This is a distributed hypertext system, with many additional mechanisms
Gartner classification: 3
Example: Terminal Emulation
This allows a remote system to act as a normal terminal on a local system
Gartner classification: 4
Example: Expect
This acts as a wrapper around a classical system, either to provide an
X Window interface or an alternative character-based one
Gartner classification: 5
X Window System
This decouples application view of windowing and display view of windowing
Gartner classification: 5
Gartner Classification
Three Tier Models
Fat vs thin
Clients and servers may be "fat" or "thin" (no normal size?)
Fat clients use up space on each client they run on, may have complex
installation requirements, etc (e.g. Netscape or IE - which "has" to be part
of the O/S)
Thin clients have reduced functionality, but are easier to manage
The network computer model favours thin clients.
Middleware model
The middleware model is
Middleware
The network services include things like TCP/IP
The middleware layer is application-independent s/w using the network
services
Examples of middleware are: DCE, RPC, Corba
Middleware may only perform one function (such as RPC) or many (such
as DCE)
Middleware examples
Primitive services such as terminal emulators, file transfer, email
Basic services such as RPC
Integrated services such as DCE, Network O/S
Distributed object services such as CORBA, OLE/ActiveX
Mobile object services such as RMI, Jini
World Wide Web
Middleware functions
Initiation of processes at different computers
Session management
Directory services to allow clients to locate servers
remote data access
Concurrency control to allow servers to handle multiple clients
Security and integrity
Monitoring
Termination of processes both local and remote
Continuum of Processing
Points of Failure
The client side of the application could crash
The client system may have h/w problems
The client's network card could fail
Network contention could cause timeouts
There may be network address conflicts
Network elements such as routers could fail
Transmission errors may lose messages
The client and server versions may be incompatable
The server's network card could fail
The server system may have h/w problems
The server s/w may crash
The server's database may become corrupted
Acceptance Factors
Reliability
Performance
Responsiveness
Scalability
Capacity
Security
Transparency
access transparency
location transparency
migration transparency
replication transparency
concurrency transparency
scalability transparency
performance transparency
failure transparency
References
P. E. Renaud Introduction to Client/Server Systems
Wiley, 1993, ISBN 0-471-57774-X
Don Libes, Expect
O'Reilly Press
A. Umar Distributed Computing and Client Server Systems
Prentice-Hall, 1993
A. Umar Object-Oriented Client/Server Internet Environments
Prentice-Hall, 1997