Client Server Model¶
Core Idea¶
An asymmetric request-response relation in which one party (the server) holds a capability and many others (the clients) initiate to consume it — bound by four commitments that travel together: initiation asymmetry, addressability asymmetry, multiplexing, and capability asymmetry.
How would you explain it like I'm…
Librarian and Kids
Many Askers, One Helper
Requester and Responder
Broad Use¶
- Distributed systems: the web (browser/HTTP server), databases (driver/DBMS), DNS (resolver/authoritative server), email.
- Healthcare: a clinic is a server — addressable, holding the medical record and prescribing authority, multiplexing one facility across many patients.
- Law: a client requests; an attorney or firm holds the service capability under the same initiation asymmetry.
- Education: office hours instantiate request-response (student initiates, instructor responds), whereas a lecture is broadcast.
- Public services: citizens petition agencies that hold authority and respond, with sharply visible addressing asymmetry.
- Information services: patrons as clients and a library as a server holding the collection.
Clarity¶
Makes one design question explicit — who initiates, who responds, and what capability whose asymmetric holding justifies the relationship? — surfacing the hidden client-server structure in an IT help desk or a records office.
Manages Complexity¶
Splits a system into requesters and capability-holders so each side is reasoned about independently, collapsing "every participant agreeing with every other" to "every participant agreeing with the server."
Abstract Reasoning¶
Four moves follow from the asymmetries: capacity reasoning (queueing on the shared server), trust-gradient reasoning (the server is the trust anchor), failure-asymmetry reasoning (server failure downs every client), and identity-and-addressing reasoning (discovery is itself a design problem).
Knowledge Transfer¶
- Discovery as a service: DNS and physician-referral systems solve the same name-to-capability-holder resolution.
- Capacity / queueing: server-side concurrency limits port to clinic scheduling and court calendaring — triage is admission control, a no-show is an abandoned request.
- Trust-anchor placement: a server as authorization point is structurally the clinic gatekeeping prescriptions or a court gatekeeping rulings.
Example¶
A web server holds pages and computation; browsers locate it by URL (via DNS) and initiate requests it answers over HTTP, while never contacting a browser uninvited except through opt-in callbacks — so queueing, trust-anchor placement, and capacity planning all concentrate on the server.
Relationships to Other Primes¶
Parents (1) — more general patterns this builds on
- Client Server Model presupposes Network — The file: the client-server model is 'a directed topology laid over a network' — a network supplies nodes/edges, client-server adds initiation/addressability/multiplexing/capability asymmetries. It presupposes the network substrate.
Path to root: Client Server Model → Network → Reservoir-Flux Network
Not to Be Confused With¶
- Client Server Model is not Interface because an interface is the single coordination surface between two sides, whereas the client-server model is the fuller topology of four asymmetries in which that interface sits.
- Client Server Model is not Publish Subscribe because publish-subscribe has the holder push to many receivers with no per-client requester/responder distinction, whereas client-server has clients initiate and servers respond.
- Client Server Model is not Peer-to-Peer because peer-to-peer has symmetric initiation and distributed capability, whereas the client-server model's four asymmetries — especially capability concentration — are exactly what distinguish it.