Skip to main content

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.

References