120 likes | 293 Views
The Distributed Object Consistency Protocol Version 1.0. Hewlett-Packard Technical Report 1999. 2000. 10. 19. 시스템 소프트웨어 실험실 한재선 (jshan@sslab.kaist.ac.kr). Contents. Introduction Previous Consistency Mechanism Alex Protocol HTTP Cache Control DOCP Architecture DOCP Protocol
E N D
The Distributed Object Consistency Protocol Version 1.0 Hewlett-Packard Technical Report 1999 2000. 10. 19. 시스템 소프트웨어 실험실 한재선 (jshan@sslab.kaist.ac.kr) System Software Lab.
Contents • Introduction • Previous Consistency Mechanism • Alex Protocol • HTTP Cache Control • DOCP Architecture • DOCP Protocol • DOCP Protocol Operation • DOCP Protocol Details • Other Issues • Conclusion & Critiques System Software Lab.
Introduction • Distributed Object Consistency Protocol (DOCP) • an extension to HTTP • publish / subscribe mechanism with server invalidation • delta consistency • Strong Consistency Model • client-driven case : client query the server to validate the object • server-driven case : server invalidate cached copies when object changes • important for business use of the web • Weak Consistency Model • Delta consistency: bounded interval of inconsistency • Loose : no guarantee about consistency, but provide systematic mechanism to validate and restore consistency • Most current web cache implements loose consistency System Software Lab.
Currently Used Consistency Mechanism • Alex Protocol • adaptive TTL mechanism • Harvest cache, Squid proxy cache • TTL - 1) Expires header field 2) compute TTL using Last-Modified header • HTTP Cache Control • Pragma: No-Cache (HTTP/1.0) • Expires • Cache-Control: Headers (HTTP/1.1) System Software Lab.
HTTP 1.1 Cache Control * Age of Object corrected_received_age = max(response_time - date_value, age_value) corrected_initial_age = corrected_received_age + (response_time - request_time) current_age = corrected_initial_age + ( now - response_time ) * Freshness Lifetime of Object freshness_lifetime = max_age_value or (expires_value - date_value) * Freshness Checking response_is_fresh = (freshness_lifetime > current_age) * Cache-Control: Header 1) request side : no-cache, max-age=seconds, max-stale=seconds … 2) response side : public, private, no-cache, no-store, max-age=seconds ... System Software Lab.
DOCP Architecture Content Provider End User Accounting: HTTP GET Request: HTTP GET Update: FTP, HTTP Access: HTTP GET DOCP Master DOCP Slave Consistency: DOCP Inv Web Server System Software Lab.
DOCP Protocol Operation(1) Client Requests [3] [4] [1] [2] 5 hours 30 hours Slave 10 hours GET GET Sub GET Sub GET Sub GET Sub 304 / lease 200 / lease 304 / lease 200 OK 200 OK DOCP Inv Master Content Update (1) (2) (3) System Software Lab.
DOCP Protocol Operation(2) Master GET /index.html HTTP/1.1 HTTP/1.1 200 OK Last-Modified: (1) DOCP-Lease: Granted 0 GET /index.html HTTP/1.1 If-Modified-Since: (1) DOCP-Subscribe: SID [1] HTTP/1.1 200 OK Last-Modified: (2) DOCP-Lease: Was-Modified (2) GET /index.html HTTP/1.1 If-Modified-Since: (2) DOCP-Subscribe: SID [2] HTTP/1.1 304 Not Modified Last-Modified: (2) DOCP-Lease: Granted 10 Slave System Software Lab.
DOCP Protocol Operation(3) GET /index.html HTTP/1.1 If-Modified-Since: (2) DOCP-Subscribe: SID [3] Master HTTP/1.1 304 Not Modified Last-Modified: (2) DOCP-Lease: Granted 5 DOCP-Master: MID DOCP-Host: sslab 2 DOCP-Inv: /index.html (2) (3) DOCP-Inv-Ack: 2 1 1 GET /index.html HTTP/1.1 If-Modified-Since: (3) DOCP-Subscribe: SID [4] HTTP/1.1 200 OK Last-Modified: (3) DOCP-Lease: Granted 30 Slave System Software Lab.
DOCP Protocol Details • DOCP-Subscribe Request • If-Modified-Since: IMS-time • DOCP-Subscribe: Slave-Ident Slave-time [Mod-time] • DOCP-Lease Response • DOCP-Lease: Resp-code Slave-time Lease-time • DOCP-Inv • DOCP-Master: Master-Ident • DOCP-Host: Master-Host TxnId • DOCP-Inv: URI Last-Mod Mod-time • DOCP-Inv-Ack • DOCP-Inv-Ack: TxnId mInv nInv • DOCP-Inv-Nack • DOCP-Inv-Nack: TxnMin TxnMax System Software Lab.
DOCP Protocol - Other Issues • Optimistic Discovery • DOCP-Lease: Granted 0 • DOCP-Lease: Granted MAX-INT => read-only object • Access Logging • Predictive Subscription Renewal • Content Provider Updates • Hierarchy for Scalability System Software Lab.
Conclusion & Critiques • Conclusion • HTTP extension • publish / subscribe mechanism ( lease and server invalidation ) • relatively strong consistency ( delta consistency ) • detailed protocol description • Critiques • granularity of consistency • it is scalable ? • Consider consitency mechanism with replacement mechanism System Software Lab.