Structure: group of servers offering service to clients
Based on a request/response paradigm
Techniques:
-Socket, remote procedure calls (RPC), Remote Method Invocation (RMI)

Issues in Client-Server Communication
Addressing
Blocking versus non-blocking
Buffered versus unbuffered
Reliable versus unreliable
Server architecture: concurrent versus sequential
Scalability