8 Content Distribution Flashcards
What is HTTP
HyperText Transfer Protocol
Request/Response
Layered over byte stream protocol (typically TCP)
Server is stateless
HTTP Response Headers
Location Server Allow Content-encoding (compression) Content length Expires (cached) Last modified
Problem with early HTTP
One request/response per TCP connection
3-way handshake, slow start
What are persistent connections
multiple request/response on a single TCP connection
delimiters indicate the ends of requests
content-length
What is pipelining
client sends request as soon as it encounters referenced object
Two types of caching for clients
Browser config
Server directed
What is a CDN
content distribution network
- overlay network of web caches
- typically geographically disparate servers
Who owns CDNs
Content providers
Networks/ISPs
How to choose CDN/server replica?
server selection
How to direct clients?
content routing
Options for server selection
- Lowest load
- Lowest latency
- Any alive server
Options for content routing
- Routing (e.g. any cast) : + simple - coarse
- Application-based (e.g. HTTP redirect): - delays
- Naming-based (e.g. DNS): + fine grained controls + fast
CDNs and ISPs
symbiotic relationship
Benefits of CDN with ISP
+ better throughput (lower latency)
+ redundancy
+ less burstiness
Benefits of ISP with CDN
+ good performance for customers
+ lower transit costs
What is a seeder
create initial copy
What is a leecher
client without complete copy
Solution to freeloading
“choking” (aka tit for tat)
temporary refusal to upload
What is repeated prisoners dilemma
ensures cooperation among distrustful parties
Strategy for BitTorrent clients chunks
Get rarest pieces first (from seeder) or random piece first
End-game: request missing pieces from all peers
What is chord
scalable, distributed “lookup service” or distributed hashtable