1 / 10

ACDN: A CDN for Applications

ACDN: A CDN for Applications. Pradnya Karbhari Michael Rabinovich Zhen Xiao Fred Douglis AT&T Labs -- Research. Content Distribution Networks. Comprise surrogate servers that serve content on behalf of origin servers Can serve static pages, streaming content, applications

lopezf
Download Presentation

ACDN: A CDN for Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACDN: A CDN for Applications Pradnya Karbhari Michael Rabinovich Zhen Xiao Fred Douglis AT&T Labs -- Research

  2. Content Distribution Networks • Comprise surrogate servers that serve content on behalf of origin servers • Can serve static pages, streaming content, applications • Static pages can be served by client-side caches as well [Gadde et al. 2000] • Same for streaming content • Unique CDN value: • Distributing applications • Retaining control over content

  3. ACDN Components • Replication framework • Dynamically install and uninstall applications based on demand • Maintain replica consistency • Content placement algorithms • Request distribution algorithms

  4. Replication Framework • Inspired by work on software distribution (e.g., Marimba) • Metafile for each application containing: • A list of time-stamped files (data and executable files) • An initialization script (or a pointer to it) FILE /home/applications/mapping/query_engine.cgi 1999.apr.14.08:46:12 FILE /home/applications/mapping/map_database 2000.oct.15.13:15:59 FILE /home/applications/mapping/user_preferences 2001.jan.30.18:00:05 SCRIPT mkdir /home/applications/mapping/access_stats setenv ACCESS_DIRECTORY /home/applications/mapping/access_stats ENDSCRIPT

  5. Application Metafile • A metafile is a simple static Web page • Having a metafile is sufficient to deploy the application • Having the current metafile is sufficient to bring the application replica up-to-date. • Consistency of application replicas => consistency of cached copies of the metafile

  6. Framework Tasks • Creating a replica • Obtaining a metafile • Obtaining a tar file with all files listed in the metafile • Running the initialization script • Updating a replica • Obtaining the diff of metafiles • Obtaining files that are new • Deleting a replica • Retaining the deleted replica for some time to process residual requests before physical deletion

  7. Algorithms • Request distribution algorithm • Load balancing among servers that have the requested application • Proximity of servers to requesting clients • Content placement algorithm • Distributed decision - at each CDN server • Total load on the server • Percentage of requests from other regions • Prediction of load after replication or migration • Placement costs: bytes transferred during replication vs. bytes transferred during responses

  8. Algorithmic Challenges • Convergence • Moving replicas around • Load oscillations • Responsiveness and stability • Distributed vs. Centralized Algorithms • Interplay between request distribution and content placement

  9. Load Balancing Algorithm Initial probabilities: Loop through the replicas in order of decreasing proximity if load(i) < LW prob(i) =1.0 else if LW <= load(i) < HW prob(i) = (HW – load(i)) / (HW – LW) else prob(i) = 0.0 Adjustments: remainder = 1.0 Loop through the replicas in order of decreasing proximity prob(i) = prob(i) * remainder remainder = remainder – prob(i) Final probabilities: prob(i) = prob(i) / sum of all

  10. Overview of the Prototype Server2 Primary Server Replicator Replicator Internet Central Replicator DNS Redirector Server3 Replicator Client

More Related