Chapter 2 · Watch, then practise
Distributed Objects and File System
Connect remote invocation to distributed file access. Examine serialization, uncertain outcomes and cached data so that a familiar local-looking interface does not hide important network behavior.
3 questions · 3 with related videos. Matches are based on playlist titles; broader background matches are labeled.
What to study
- Remote procedure calls
- Marshalling
- File handles and caching
Chapter playlists
Existing chapter playlist
Notes
Remote Procedure Calls (RPC)
Neso Academy · 14:32
RPC explanation for following the client stub, message exchange and server procedure.
1. Remote call path
What happens between calling an RPC stub and executing a server procedure?
The stub serializes the operation and arguments into a request. The server identifies the operation, decodes its arguments and runs the procedure. The result is encoded into a reply and decoded by the client. The wire representation must agree across both ends.
Issues in RPC & How They're Resolved
Neso Academy · 18:49 · Background lecture
RPC issues and recovery background for reasoning about retrying a non-idempotent operation.
2. An unsafe retry
A remote increment succeeds, but its reply is lost. Why can blindly retrying be wrong?
The server may increment twice. A missing reply does not prove nonexecution, even with TCP. Design retries around an idempotent operation or explicit duplicate detection with a request identifier and retained outcome; define what happens if that retained state is lost.
System design basics: Learn about Distributed file systems
Tech Dummies - Narendra Lakshmana Gowda · 18:41 · Background lecture
Distributed-file-system background for the cache-consistency scenario.
3. Cached file scenario
Client A caches a file while client B modifies it. What issue must a distributed file system address?
A can read stale data unless the protocol defines cache validation or invalidation. NFSv4 provides caching rules and delegations with callbacks; a delegation may be recalled when conflicting access occurs. Faster cached reads require a clearly specified consistency policy.