Download presentation
Presentation is loading. Please wait.
1
Client Side Mirror Selection Will Lefevers CS 526 Advanced Internet and Web Systems
2
Client Side Mirror Selection ● Defining Success ● Hurdles To Overcome ● Selecting a Mirror ● The Ideal Metric ● Implementation ● Alternatives
3
Defining Success ● What Defines Good? – Speed(?) – Connection Stability – Burstability – Cost ● Characteristics of Download Mirrors – Large Files / Heavy Loads – Longer-Term Connections
4
Hurdles To Overcome ● Backbone Issues – Congestion – Routing Efficiency – Geographical Distance And The Speed of Light – Abilene Class (OC-48) ExampleExample ● Local ISP Issues – Distance to Pipe/Backbone – BGP and IOS Efficiency – Multihoming /Peering Configurations – Poor Design and Congestion
5
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
6
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
7
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
8
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
9
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?
10
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?
11
Alternatives to Mirrors ● Swarming Technologies (Torrents) ● Compression With Rsync, Sftp, Scp ● Multi-Source/Partial Downloads (Getright, Gnutella) ● Distributed Fileshares (Freenet) ● Sneakernet…
12
Client Side Mirror Selection ● Defining Success ● Hurdles To Overcome ● Selecting a Mirror ● The Ideal Metric ● Implementation ● Alternatives Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.