Interprocess Communication
Stub. Processes/threads and the client-server model; network protocol review (Ethernet, wireless, OSI, IP, transport, sockets); naming (DNS, mobile clients); remote procedure call and marshalling, RMI, web services, messages, event notification, CORBA, mobile agents, and group communication.
The plumbing every distributed system sits on top of: a review of the network stack up to sockets, the naming services (DNS and mobile-client variants) that let processes find each other, and the abstractions layered over raw sockets to make communication tractable for application code — remote procedure calls (and the marshalling problem of serializing arguments across a network), remote method invocation, web services, message-oriented middleware (transient/persistent messages, streams, event notification), CORBA and mobile agents, ending with a first look at group communication (multiple recipients), developed fully later.
Outline (TODO — flesh out each)
- Processes and threads; the client-server model; middleware
- Network protocols — Ethernet, wireless, the OSI model, IP, transport layer, sockets
- Naming — DNS, naming for mobile clients
- Remote procedure call — implementing RPC, marshalling, Sun RPC
- Remote method invocation; web services
- Messages — transient vs. persistent, streams; event notification
- CORBA; mobile agents
- Basic group communication services