proprietor: restricted server
- controls access to backend server(s)
- no internal buffering, serial execution
- can reply before processing request
- if exclusive client to back-end server: can use Send()
for (;;) {
Receive(msg)
SyncProcess() // possibly interact with back-end server
Reply()
AsyncProcess() // possibly interact with back-end server
}