Presentation is loading. Please wait.

Presentation is loading. Please wait.

WCDP: A protocol for web cache consistency Renu Tewari IBM Almaden Research Thirumale Niranjan IBM Software Group

Similar presentations


Presentation on theme: "WCDP: A protocol for web cache consistency Renu Tewari IBM Almaden Research Thirumale Niranjan IBM Software Group"— Presentation transcript:

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


Download ppt "WCDP: A protocol for web cache consistency Renu Tewari IBM Almaden Research Thirumale Niranjan IBM Software Group"

Similar presentations


Ads by Google