Download presentation
Presentation is loading. Please wait.
Published byClyde Lawrence Modified over 8 years ago
1
WCDP: A protocol for web cache consistency Renu Tewari IBM Almaden Research tewarir@us.ibm.com Thirumale Niranjan IBM Software Group niranjan@us.ibm.comranjan@us.ibm.com
2
WCDP Overview More that just cache invalidations…. Updates via refresh Different consistency levels Scalability Object groups Distribution hierarchies origin Single/different admin domain Intermediaries CDNs, enterprise n/w, ISP Proxy Surrogate
3
WCDP Architecture WCDP Server WCDP Gateway WCDP clients HTTP/TCP Distribution hierarchy (optional) (optional protocol translation) Mirror Strong consistency Delta consistency
4
WCDP Design Features Deployment cases Work with CDN’s, ISP proxy caches,content mgmt engine, server-side software, publishing systems…. Delivery architectures Point-to-point, application multicast, gateway across protocols and different servers Invalidates and updates Refresh directives, explicit expiration (default) Atomic invalidates Identify arbitrary groups of resources for consistency using invalidation ids and group ids
5
WCDP Design Features … Scalability Group objects, messages and message distribution hierarchies Different degrees of consistency Strong, delta and explicit Failure handling Server and intermediary failure, network partition Security Plug-in based, default rely on SSL. Subscription support Explicit content group based or implicit based on external SLA
6
WCDP Protocol Example HTTP request GET www.cnnfn.com HTTP response 200 OK Obj_inv_id: abc123 Content_grp_id: financial Register request content_grp_id = financial Register response WCDP client Server cnnfn cnnfn.com Invalidation request Obj_inv_id: abc123 Invalidate response
7
Message Types Invalidate request/response Invalidation action: refresh directive, delayed refresh, invalidate consistency level: require commit invalidation type: atomic, individual Register request/response Used of subscription Join request/response Used after failure and recovery Commit request/response Used for strong consistency Heartbeat from server to client Used for strong and delta consistency
8
WCDP Message Example Invalidation request Invalidation response
9
Object Invalidation Identity Invalidation can address Full-pages, fragments, groups HTTP response include invalidation identifier obj_invalidation_id Opaque value with no semantic meaning Same obj_invalidation_id for different variants of object Cache maintains internal mapping Obj_invalidation_id obj_cache_id Obj_cache_id same as external URL for static pages Includes the HTTP header tags for fragments
10
Object Grouping Objects in a group addressed as a unit for consistency maintenance or message scalability HTTP response includes group identifier obj_group_invalidation_id E.g., all objects in a sub-directory Atomic invalidates Specify lock semantics to invalidate all objects in a group atomically Implements mutual consistency Individual invalidates Each object in group treated separately
11
Content Groups and Subscription Content group Large aggregation of objects (by topics) Intermediary can subscribe to a content group Implicit subscription External admin step Explicit subscription Use a register message Discovering content groups External LDAP directory In the HTTP response
12
Consistency Support Explicit Default similar to HTTP cache-control, expires tag Strong Two phase commit using invalidation acks and commit messages Requires heartbeat Delta Invalidation with ack Bounded message delay Requires heartbeat Mutual Atomic invalidate of a group of objects
13
Strong Consistency Example WCDP client Invalidation request Obj_inv_id: abc123 Immediate Refresh=yes Consistency require_commit = yes Invalidate response Status:waiting_for_commit HTTP request GET www.cnnfn.com HTTP response 200 OK Obj_inv_id: abc123 Content_grp_id: financial Commit request obj_inv_id: abc123 Commit response Status: OK WCDP Server
14
Failure and Recovery Missing heartbeat from server (server failure) Client reverts to explicit consistency Send join message to re-subscribe Missing invalidation response from client (client failure) Remove from subscription group after timeout No further heartbeats sent Network partition Client behaves as if server has failed Server behaves as if client has failed Reliable transport is assumed
15
Status and Future Work Based partly on the content distribution framework of the Websphere Edge Server version 2.0 SOAP based implementation in future Security enhancements to be added
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.