WCDP: A protocol for web cache consistency - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

WCDP: A protocol for web cache consistency

Description:

Register request/response. Used of subscription. Join request/response ... Use a register message. Discovering content groups. External LDAP directory. In the ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 16
Provided by: asha3
Category:

less

Transcript and Presenter's Notes

Title: WCDP: A protocol for web cache consistency


1
WCDP A protocol for web cache consistency
  • Renu Tewari
  • IBM Almaden Research
  • tewarir_at_us.ibm.com
  • Thirumale Niranjan
  • IBM Software Group
  • niranjan_at_us.ibm.com

2
WCDP Overview
  • More that just cache invalidations.
  • Updates via refresh
  • Different consistency levels
  • Scalability
  • Object groups
  • Distribution hierarchies

origin
Intermediaries
Proxy Surrogate
Single/different admin domain
CDNs, enterprise n/w, ISP
3
WCDP Architecture
WCDP Server
Mirror
Mirror
Strong consistency
HTTP/TCP
Delta consistency
WCDP Gateway
(optional protocol translation)
Distribution hierarchy (optional)
WCDP clients
4
WCDP Design Features
  • Deployment cases
  • Work with CDNs, 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
Server cnnfn
HTTP response 200 OK Obj_inv_id
abc123 Content_grp_id financial
cnnfn.com
Register request content_grp_id financial
Register response
Invalidation request Obj_inv_id abc123
Invalidate response
WCDP client
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
  • lt!DOCTYPE Invalidate request wcdp.dtdgt
  • ltinvalidation sequence_num 100gt
  • ltidentifiergt
  • ltobj_invalidation_id 12345/gt
  • ltobj_inv_group_id 9876 /gt
  • lt/identifiergt
  • ltactiongt
  • ltinvalidate immediate /gt
  • ltrefresh yes /gt
  • ltdelay 60 sec /gt
  • ltforce no /gt
  • lt/actiongt
  • lttype atomic no /gt
  • ltconsistency require_commit no /gt
  • lt/invalidationgt
  • Invalidation response
  • lt!DOCTYPE Invalidate response wcdp.dtdgt
  • ltinvalidation sequence_num 100gt
  • ltidentifiergt
  • ltobj_invalidation_id 12345/gt
  • ltstatus OK /gt
  • lt/identifiergt
  • ltidentifiergt
  • ltobj_inv_group_id 9876 /gt
  • ltstatus OK /gt
  • lt/identifiergt
  • lt/invalidationgt

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 Server
Invalidation request Obj_inv_id abc123 Immediate
Refreshyes Consistency require_commit yes
HTTP request GET www.cnnfn.com
HTTP response 200 OK Obj_inv_id
abc123 Content_grp_id financial
Invalidate response Statuswaiting_for_commit
Commit request obj_inv_id abc123
Commit response Status OK
WCDP client
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
Write a Comment
User Comments (0)
About PowerShow.com