120 likes | 240 Views
This document explores the essential strategies for selecting the most effective client-side mirrors in advanced internet and web systems. It defines success criteria and highlights the hurdles that must be overcome, including connection stability, burstability, and cost considerations. The importance of selecting the ideal mirror metrics is emphasized, with discussions on implementation techniques and alternatives, such as swarming technologies and multi-source downloads. Through evaluating the infrastructure and performance factors, this guide aims to enhance user experience and efficiency in data delivery.
E N D
Client Side Mirror Selection Will Lefevers CS 526 Advanced Internet and Web Systems
Client Side Mirror Selection • Defining Success • Hurdles To Overcome • Selecting a Mirror • The Ideal Metric • Implementation • Alternatives
Defining Success • What Defines Good? • Speed(?) • Connection Stability • Burstability • Cost • Characteristics of Download Mirrors • Large Files / Heavy Loads • Longer-Term Connections
Hurdles To Overcome • Backbone Issues • Congestion • Routing Efficiency • Geographical Distance And The Speed of Light • Abilene Class (OC-48) Example • Local ISP Issues • Distance to Pipe/Backbone • BGP and IOS Efficiency • Multihoming /Peering Configurations • Poor Design and Congestion
More Hurdles To Overcome • MAN/LAN Issues • Poor Design (Least Standardization / Planning / Investment) • Congestion (Least Concern for Scalability) • Hubs Versus Switching(Topo-Specific) • Collision Domains • Tokens and Congestion (Long Delays) • The Weakest Link • MTR Example
Selecting a Mirror • Random (User Selection) • Geographic Proximity -- Normally Misleading • TLD/”Name Brand” -- Routes or Topography? • Latency / Ping Alone -- Fast Server, No Pipe • Throughput Alone -- Heavy Load, Unresponsive • Connection Stability -- RTT Variance • Backbone Packet Loss – User Will Feel It • Reachability – Sometimes Up, Sometimes Down
Selecting a Mirror • Infrastructure Methods • Router's Pick (Cisco IOS and certain BGPs only) • Helper Services and Servers (NLANR) • Edge Servers and Caching (Akamai) • Criteria for Mirrors • Ability to Fill the Pipe (Most Efficient Delivery) • Ability to Recover From Congestion (Lost Packets) • Because of the OSI Model's Encapsulation, All Problems Have The Same Symptom
The Ideal Metric • Bandwidth-Delay Product (BDP) • “Bottleneck” Link Bandwidth • Round Trip Time (RTT) • Ideal for Longer Distance Connections (Bing) • Overcomes TCP Issues: • Reliability and the TCP Window • Default TCP Buffers (OS) and Socket Buffers (App) • Window Scaling, TCP Autotuning, MTU Path Discovery Will All Help
Implementation • The Common Case: Javascript • Estimating BDP • BING-like w/ Different Size ICMP Echo Requests • Privileges and Abuse • Shortcuts (Ping + Download Test) • Small Files Aren’t Representative • Large Files Aren’t Fast • Is There An Ideal Size? • Which File Do We Test?
Implementation • Read In Mirrorlist and Strip • Check Which Servers Are Up • Record RTTs and Create Preferred List • Throughput-Test the Fastest Five Servers • Stack Results by BDP and Start D/L w/ Fastest • Fallback Capability? • Recheck Servers Periodically? • Network ‘Weather’ Awareness?
Alternatives to Mirrors • Swarming Technologies (Torrents) • Compression With Rsync, Sftp, Scp • Multi-Source/Partial Downloads (Getright, Gnutella) • Distributed Fileshares (Freenet) • Sneakernet…
Client Side Mirror Selection • Defining Success • Hurdles To Overcome • Selecting a Mirror • The Ideal Metric • Implementation • Alternatives Questions?