🔬 What's Novel
- Novel ETag format encoding causal dependencies that propagates through HTTP infrastructure
- Integration of causal consistency with standard HTTP caching semantics
- Practical causal consistency for web applications without specialized infrastructure
- Analysis of caching-consistency interactions in geo-distributed databases
🔧 Technical Approach
Phase 1 — Causal ETag Design
Evaluate encoding options: compressed vector clocks, dependency set hashes, and hybrid version-dependency encoding. Select format compatible with HTTP ETag header constraints.
Phase 2 — Consistency Protocol
Queries include "minimum causality" ETag; responses include "result causality" ETag. Clients propagate causality through operations automatically via HTTP headers.
Phase 3 — Cluster Integration
Replication protocol preserving causal ordering without requiring total order. Nodes track causal dependencies and serve reads consistent with client-observed history.
Phase 4 — Caching Interaction
Analyze interaction with HTTP caching layers. Design cache validation protocols that preserve causal guarantees even when responses are served from CDN or browser cache.
🧪 Hypotheses
Causal ETags encoding vector clocks or similar structures propagate correctly through standard HTTP caching infrastructure.
Causal consistency provides meaningfully lower latency than serializability for geo-distributed deployments.
Incremental causal ETag updates based on query dependencies are more efficient than full vector clocks per response.
🔗 SkeinDB Integration
📚 Key References
- Lloyd et al. — "Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS" (2011)
- Mehdi et al. — "Bolt-on Causal Consistency" (2017)