Content Distribution Networks (CDNs) and Efficient Transfer Protocols

Content Distribution
Networks (CDNs)
Mike Freedman
COS 461: Computer Networks
http://www.cs.princeton.edu/courses/archive/spr20/cos461/
Continuation of Lec 15
 
2
HTTP xfer = single object
Web pages = many objects
nytimes.com
How to handle many requests?
Maximize goodput by reusing connections
Avoid connection (TCP) setup
Avoid TCP slow-start
Client-server will maintain existing TCP connection for
up to K idle seconds
5
GET / HTTP/1.1
Host: www.example.com
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Tue, 27 Mar 2001 03:50:51 GMT
Connection: Keep-Alive
Three approaches to multiple requests
 
Persistent
Connections
 
Conn 1:
Request 1
Response 1
Request 2
Response 2
Request 3
Response 3
 
Pipelined
Connections
 
Conn 1:
Request 1
Request 2
Request 3
Response 1
Response 2
Response 3
 
Parallel
Connections
 
Conn 1:
Request 1
Response 1
Conn 2:
Request 2
Response 2
What are challenges with pipelining?
 Head-of-line blocking
Small xfers can “block” behind large xfer
No reordering
HTTP response does not “identify” which request it’s
in response to; obvious in simple request/response
Can behave 
worse
 than parallel + persistent
Can send expensive query 1 on conn 1, while
sending many cheap queries on conn 2
7
Google’s SPDY -> HTTP/2
Server “push” for content
One client request, multiple responses
After all, server knows that after parsing HTML,
client will immediately request embedded URLs
Better pipelining and xfer
Multiplexing multiple xfers w/o HOL blocking
Request prioritization
Header compression
https://developers.
google
.com/web/fundamentals/performance/http2
Why Web Caching?
 
11
Single Server, Poor Performance
Single server
Single point of failure
Easily overloaded
Far from most clients
 
Popular content
Popular site
“Flash crowd” (aka
“Slashdot effect”)
Denial of Service attack
12
Skewed Popularity of Web Traffic
“Zipf” or “power-law”
distribution
13
Characteristics of WWW Client-based Traces
Carlos R. Cunha, Azer Bestavros, Mark E. Crovella, BU-CS-95-01 
Proxy Caches
c
l
i
e
n
t
P
r
o
x
y
s
e
r
v
e
r
c
l
i
e
n
t
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
s
p
o
n
s
e
H
T
T
P
 
r
e
s
p
o
n
s
e
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
s
p
o
n
s
e
o
r
i
g
i
n
 
s
e
r
v
e
r
14
Forward Proxy
Cache “close” to the client
Under administrative control
 
of client-side AS
Explicit proxy
Requires configuring browser
Implicit proxy
Service provider deploys an “on path” proxy
… that intercepts and handles Web requests
15
c
l
i
e
n
t
P
r
o
x
y
s
e
r
v
e
r
c
l
i
e
n
t
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
s
p
o
n
s
e
H
T
T
P
 
r
e
s
p
o
n
s
e
Reverse Proxy
Cache “close” to server
Either by proxy run by server
or in third-party content
distribution network (CDN)
Directing clients to the proxy
Map the site name to the
IP address of the proxy
16
P
r
o
x
y
s
e
r
v
e
r
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
s
p
o
n
s
e
o
r
i
g
i
n
 
s
e
r
v
e
r
o
r
i
g
i
n
 
s
e
r
v
e
r
H
T
T
P
 
r
e
q
u
e
s
t
H
T
T
P
 
r
e
s
p
o
n
s
e
Client
Client
Private
Backbone
Internet
Google Design
17
Proxy Caches
(Y)  Forward    (M)  Reverse    (C) Both    (A)  Neither
Reactively replicates popular content
Reduces origin server costs
Reduces client ISP costs
Intelligent load balancing between origin servers
Offload form submissions (POSTs) and user auth
Content reassembly or transcoding on behalf of origin
Smaller round-trip times to clients
Maintain persistent connections to avoid TCP setup
delay (handshake, slow start)
18
Proxy Caches
(Y)  Forward    (M)  Reverse    (C) Both    (A)  Neither
Reactively replicates popular content
Reduces origin server costs
Reduces client ISP costs
Intelligent load balancing between origin servers
Offload form submissions (POSTs) and user auth
Content reassembly or transcoding on behalf of origin
Smaller round-trip times to clients
Maintain persistent connections to avoid TCP setup
delay (handshake, slow start)
19
C
 
C
 
Y
 
M
 
A
 
C
 
C
 
C
Modern HTTP Video-on-Demand
 
Download “content manifest” from origin server
List of video segments belonging to video
Each segment 1-2 seconds in length
Client can know time offset associated with each
Standard naming for different video resolutions and formats:
e.g., 320dpi, 720dpi, 1040dpi, …
Client downloads video segment (at certain resolution)
using standard HTTP request.
HTTP request can be satisfied by cache:  it’s a static object
Client observes download time vs. segment duration,
increases/decreases resolution if appropriate
20
Content Distribution Networks
 
21
Content Distribution Network
Proactive content replication
Content provider (e.g., CNN)
contracts with a CDN
CDN replicates the content
On many servers spread
throughout the Internet
Updating the replicas
Reactive by TTL or updates
pushed to replicas when the
content changes
22
o
r
i
g
i
n
 
s
e
r
v
e
r
 
i
n
 
N
o
r
t
h
 
A
m
e
r
i
c
a
C
D
N
 
d
i
s
t
r
i
b
u
t
i
o
n
 
n
o
d
e
C
D
N
 
s
e
r
v
e
r
i
n
 
S
.
 
A
m
e
r
i
c
a
C
D
N
 
s
e
r
v
e
r
i
n
 
E
u
r
o
p
e
C
D
N
 
s
e
r
v
e
r
i
n
 
A
s
i
a
Server Selection Policy
Live server
For availability
Lowest load
To balance load across the servers
Closest
Nearest geographically, or in round-trip time
Best performance
Throughput, latency, …
Cheapest bandwidth, electricity, …
23
Server Selection Mechanism
Application
HTTP redirection
 
Advantages
Fine-grain control
Selection based on
client IP address
Disadvantages
Extra round-trips for TCP
connection to server
Overhead on the server
 
 
GET
 
Redirect
 
GET
 
OK
24
Server Selection Mechanism
Routing
Anycast routing
 
Advantages
No extra round trips
Route to nearby server
Disadvantages
Does not consider
network or server load
Different packets may
go to different servers
Used only for simple
request-response apps
25
Server Selection Mechanism
Naming
DNS-based server
selection
 
Advantages
Avoid TCP set-up delay
DNS caching reduces
overhead
Relatively fine control
Disadvantage
Based on IP address of
local DNS server
“Hidden load” effect
DNS TTL limits adaptation
26
1.2.3.4
1.2.3.5
DNS
query
local DNS server
How Akamai Works
 
27
Akamai Statistics
Distributed servers
Servers: ~275,000
Networks: 1,500
Countries: 136
Many customers
50% of Fortune
Global 500
Network
Up to 50 Tbps daily
2019 Cricket World
Cup: 25.3M
concurrent viewers
85% Internet is one
network hop from
Akamai servers
28
https://www.akamai.com/us/en/about/facts-figures.jsp
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
r
o
o
t
 
s
e
r
v
e
r
1
2
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
G
E
T
i
n
d
e
x
.
h
t
m
l
29
c
a
c
h
e
.
c
n
n
.
c
o
m
/
f
o
o
.
j
p
g
HTTP
A
k
a
m
a
i
c
l
u
s
t
e
r
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
End user
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
30
D
N
S
 
l
o
o
k
u
p
c
a
c
h
e
.
c
n
n
.
c
o
m
A
k
a
m
a
i
c
l
u
s
t
e
r
3
4
A
L
I
A
S
:
g
.
a
k
a
m
a
i
.
n
e
t
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
End user
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
31
A
k
a
m
a
i
c
l
u
s
t
e
r
3
4
6
5
A
L
I
A
S
a
7
3
.
g
.
a
k
a
m
a
i
.
n
e
t
D
N
S
 
l
o
o
k
u
p
g
.
a
k
a
m
a
i
.
n
e
t
End user
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
32
A
k
a
m
a
i
c
l
u
s
t
e
r
3
4
6
5
8
7
D
N
S
 
a
7
3
.
g
.
a
k
a
m
a
i
.
n
e
t
A
d
d
r
e
s
s
1
.
2
.
3
.
4
End user
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
33
A
k
a
m
a
i
c
l
u
s
t
e
r
3
4
6
5
8
7
9
G
E
T
 
/
f
o
o
.
j
p
g
H
o
s
t
:
 
c
a
c
h
e
.
c
n
n
.
c
o
m
End user
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
34
A
k
a
m
a
i
c
l
u
s
t
e
r
3
4
6
5
8
7
9
G
E
T
 
/
f
o
o
.
j
p
g
H
o
s
t
:
 
c
a
c
h
e
.
c
n
n
.
c
o
m
1
2
1
1
G
E
T
 
f
o
o
.
j
p
g
End user
HTTP
How Akamai Uses DNS
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
35
A
k
a
m
a
i
c
l
u
s
t
e
r
3
4
6
5
8
7
9
1
2
1
1
1
0
End user
HTTP
How Akamai Works: Cache Hit
c
n
n
.
c
o
m
 
(
c
o
n
t
e
n
t
 
p
r
o
v
i
d
e
r
)
D
N
S
 
T
L
D
 
s
e
r
v
e
r
1
2
A
k
a
m
a
i
 
g
l
o
b
a
l
D
N
S
 
s
e
r
v
e
r
A
k
a
m
a
i
 
r
e
g
i
o
n
a
l
D
N
S
 
s
e
r
v
e
r
N
e
a
r
b
y
A
k
a
m
a
i
c
l
u
s
t
e
r
36
A
k
a
m
a
i
c
l
u
s
t
e
r
4
3
5
6
End user
Mapping System
Equivalence classes of IP addresses
IP addresses experiencing similar performance
Quantify how well they connect to each other
Collect and combine measurements
Ping, traceroute, BGP routes, server logs
E.g., over 100 TB of logs per days
Network latency, loss, and connectivity
37
Routing Client Requests within Map
Map each IP class to a preferred server cluster
Based on performance, cluster health, etc.
Updated roughly every minute
Short, 60-sec DNS TTLs 
in Akamai regional DNS
accomplish this
Map client request to a server in the cluster
Load balancer selects a specific server
E.g., to 
maximize
 the cache hit rate
38
Selecting server inside cluster
 
“Consistent hashing”
content_key 
 
= hash(URL) mod N
node_key 
  
= hash(server ID) mod N
Content belongs to server’s node_key is “closest” to
URL’s content_key
39
Adapting to Failures
Failing hard drive on a server
Suspends after finishing “in progress” requests
Failed server
Another server takes over for the IP address
Low-level map updated quickly
Failed cluster or network path
High-level map updated quickly
Failed path to customer’s origin server
Route packets through an intermediate node
40
Akamai Transport Optimizations
Bad Internet routes
Overlay routing through an intermediate server
Packet loss
Sending redundant data over multiple paths
TCP connection set-up/teardown
Pools of persistent connections
TCP congestion window and round-trip time
Estimates based on network latency measurements
 
41
Akamai Application Optimizations
Slow download of embedded objects
Prefetch when HTML page is requested
Large objects
Content compression
Slow applications
Moving applications to edge servers
E.g., content aggregation and transformation
E.g., static databases (e.g., product catalogs)
42
Conclusion
Content distribution is hard
Many, diverse, changing objects
Clients distributed all over the world
Moving content towards client is key
Reduces latency, improves throughput, reliability
Contribution distribution solutions evolved
Reactive caching, load balancing, to
Proactive content distribution networks
43
Slide Note
Embed
Share

Delve into the world of Content Distribution Networks (CDNs) with insights on maximizing goodput, handling multiple requests efficiently, challenges with pipelining, and advancements like Google's SPDY and HTTP/2 for enhanced content delivery over the web.

  • Content Distribution Networks
  • CDNs
  • Web Performance
  • Network Protocols
  • Efficient Transfer

Uploaded on Oct 08, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Content Distribution Networks (CDNs) Mike Freedman COS 461: Computer Networks http://www.cs.princeton.edu/courses/archive/spr20/cos461/

  2. Continuation of Lec 15 2

  3. HTTP xfer = single object Web pages = many objects

  4. nytimes.com

  5. How to handle many requests? Maximize goodput by reusing connections Avoid connection (TCP) setup Avoid TCP slow-start Client-server will maintain existing TCP connection for up to K idle seconds GET / HTTP/1.1 Host: www.example.com Connection: Keep-Alive HTTP/1.1 200 OK Date: Tue, 27 Mar 2001 03:50:51 GMT Connection: Keep-Alive 5

  6. Three approaches to multiple requests Parallel Connections Persistent Connections Pipelined Connections Conn 1: Request 1 Response 1 Request 2 Response 2 Request 3 Response 3 Conn 1: Request 1 Request 2 Request 3 Response 1 Response 2 Response 3 Conn 1: Request 1 Response 1 Conn 2: Request 2 Response 2

  7. What are challenges with pipelining? Head-of-line blocking Small xfers can block behind large xfer No reordering HTTP response does not identify which request it s in response to; obvious in simple request/response Can behave worse than parallel + persistent Can send expensive query 1 on conn 1, while sending many cheap queries on conn 2 7

  8. Googles SPDY -> HTTP/2 Server push for content One client request, multiple responses After all, server knows that after parsing HTML, client will immediately request embedded URLs Better pipelining and xfer Multiplexing multiple xfers w/o HOL blocking Request prioritization Header compression https://developers.google.com/web/fundamentals/performance/http2

  9. Why Web Caching? 11

  10. Single Server, Poor Performance Single server Single point of failure Easily overloaded Far from most clients Popular content Popular site Flash crowd (aka Slashdot effect ) Denial of Service attack 12

  11. Skewed Popularity of Web Traffic Zipf or power-law distribution Characteristics of WWW Client-based Traces Carlos R. Cunha, Azer Bestavros, Mark E. Crovella, BU-CS-95-01 13

  12. Proxy Caches origin server Proxy server client client 14

  13. Forward Proxy Cache close to the client Under administrative control of client-side AS Proxy server client Explicit proxy Requires configuring browser Implicit proxy Service provider deploys an on path proxy that intercepts and handles Web requests client 15

  14. Reverse Proxy Cache close to server Either by proxy run by server or in third-party content distribution network (CDN) origin server Proxy server Directing clients to the proxy Map the site name to the IP address of the proxy origin server 16

  15. Google Design . . . Data Centers Servers Servers Router Router Private Backbone Reverse Proxy Reverse Proxy Internet Requests Client Client Client 17

  16. Proxy Caches (Y) Forward (M) Reverse (C) Both (A) Neither Reactively replicates popular content Reduces origin server costs Reduces client ISP costs Intelligent load balancing between origin servers Offload form submissions (POSTs) and user auth Content reassembly or transcoding on behalf of origin Smaller round-trip times to clients Maintain persistent connections to avoid TCP setup delay (handshake, slow start) 18

  17. Proxy Caches (Y) Forward (M) Reverse (C) Both (A) Neither Reactively replicates popular content Reduces origin server costs Reduces client ISP costs Intelligent load balancing between origin servers Offload form submissions (POSTs) and user auth Content reassembly or transcoding on behalf of origin Smaller round-trip times to clients Maintain persistent connections to avoid TCP setup delay (handshake, slow start) C C Y M A C C C 19

  18. Modern HTTP Video-on-Demand Download content manifest from origin server List of video segments belonging to video Each segment 1-2 seconds in length Client can know time offset associated with each Standard naming for different video resolutions and formats: e.g., 320dpi, 720dpi, 1040dpi, Client downloads video segment (at certain resolution) using standard HTTP request. HTTP request can be satisfied by cache: it s a static object Client observes download time vs. segment duration, increases/decreases resolution if appropriate 20

  19. Content Distribution Networks 21

  20. Content Distribution Network origin server in North America Proactive content replication Content provider (e.g., CNN) contracts with a CDN CDN distribution node CDN replicates the content On many servers spread throughout the Internet Updating the replicas Reactive by TTL or updates pushed to replicas when the content changes CDN server in S. America CDN server in Asia CDN server in Europe 22

  21. Server Selection Policy Live server For availability Lowest load To balance load across the servers Closest Nearest geographically, or in round-trip time Best performance Throughput, latency, Cheapest bandwidth, electricity, Requires continuous monitoring of liveness, load, and performance 23

  22. Server Selection Mechanism Application HTTP redirection Advantages Fine-grain control Selection based on client IP address GET Disadvantages Extra round-trips for TCP connection to server Overhead on the server Redirect GET OK 24

  23. Server Selection Mechanism Advantages No extra round trips Route to nearby server Routing Anycast routing Disadvantages Does not consider network or server load Different packets may go to different servers Used only for simple request-response apps 1.2.3.0/24 1.2.3.0/24 25

  24. Server Selection Mechanism Advantages Avoid TCP set-up delay DNS caching reduces overhead Relatively fine control Naming DNS-based server selection 1.2.3.4 Disadvantage Based on IP address of local DNS server Hidden load effect DNS TTL limits adaptation DNS query 1.2.3.5 local DNS server 26

  25. How Akamai Works 27

  26. Akamai Statistics Distributed servers Servers: ~275,000 Networks: 1,500 Countries: 136 Network Up to 50 Tbps daily 2019 Cricket World Cup: 25.3M concurrent viewers 85% Internet is one network hop from Akamai servers Many customers 50% of Fortune Global 500 https://www.akamai.com/us/en/about/facts-figures.jsp 28

  27. 29 How Akamai Uses DNS cnn.com (content provider) DNS root server GET index. html Akamai cluster Akamai global DNS server cache.cnn.com/foo.jpg 1 2 HTTP HTTP Akamai regional DNS server Nearby Akamai cluster End user

  28. 30 How Akamai Uses DNS cnn.com (content provider) DNS TLD server DNS lookup cache.cnn.com Akamai cluster Akamai global DNS server 3 1 2 HTTP 4ALIAS: g.akamai.net Akamai regional DNS server Nearby Akamai cluster End user

  29. 31 How Akamai Uses DNS cnn.com (content provider) DNS TLD server DNS lookup g.akamai.net Akamai cluster Akamai global DNS server 5 3 1 2 HTTP 6 4 Akamai regional DNS server ALIAS a73.g.akamai.net Nearby Akamai cluster End user

  30. 32 How Akamai Uses DNS cnn.com (content provider) DNS TLD server Akamai cluster Akamai global DNS server 5 3 1 2 HTTP 6 4 Akamai regional DNS server 7 8 Address 1.2.3.4 Nearby Akamai cluster End user

  31. 33 How Akamai Uses DNS cnn.com (content provider) DNS TLD server Akamai cluster Akamai global DNS server 5 3 1 2 HTTP 6 4 Akamai regional DNS server 7 8 9 Nearby Akamai cluster End user GET /foo.jpg Host: cache.cnn.com

  32. 34 How Akamai Uses DNS cnn.com (content provider) DNS TLD server GET foo.jpg 11 12 Akamai cluster Akamai global DNS server 5 3 1 2 HTTP 6 4 Akamai regional DNS server 7 8 9 Nearby Akamai cluster End user GET /foo.jpg Host: cache.cnn.com

  33. 35 How Akamai Uses DNS cnn.com (content provider) DNS TLD server 11 12 Akamai cluster Akamai global DNS server 5 3 1 2 HTTP 6 4 Akamai regional DNS server 7 8 9 Nearby Akamai cluster End user 10

  34. 36 How Akamai Works: Cache Hit cnn.com (content provider) DNS TLD server Akamai cluster Akamai global DNS server 1 2 HTTP Akamai regional DNS server 3 4 5 Nearby Akamai cluster End user 6

  35. Mapping System Equivalence classes of IP addresses IP addresses experiencing similar performance Quantify how well they connect to each other Collect and combine measurements Ping, traceroute, BGP routes, server logs E.g., over 100 TB of logs per days Network latency, loss, and connectivity 37

  36. Routing Client Requests within Map Map each IP class to a preferred server cluster Based on performance, cluster health, etc. Updated roughly every minute Short, 60-sec DNS TTLs in Akamai regional DNS accomplish this Map client request to a server in the cluster Load balancer selects a specific server E.g., to maximize the cache hit rate 38

  37. Selecting server inside cluster Consistent hashing content_key = hash(URL) mod N node_key = hash(server ID) mod N Content belongs to server s node_key is closest to URL s content_key Content 5 CK5 CK20 N105 Circular ID space Server 105 N32 N90 39 CK80

  38. Adapting to Failures Failing hard drive on a server Suspends after finishing in progress requests Failed server Another server takes over for the IP address Low-level map updated quickly Failed cluster or network path High-level map updated quickly Failed path to customer s origin server Route packets through an intermediate node 40

  39. Akamai Transport Optimizations Bad Internet routes Overlay routing through an intermediate server Packet loss Sending redundant data over multiple paths TCP connection set-up/teardown Pools of persistent connections TCP congestion window and round-trip time Estimates based on network latency measurements 41

  40. Akamai Application Optimizations Slow download of embedded objects Prefetch when HTML page is requested Large objects Content compression Slow applications Moving applications to edge servers E.g., content aggregation and transformation E.g., static databases (e.g., product catalogs) 42

  41. Conclusion Content distribution is hard Many, diverse, changing objects Clients distributed all over the world Moving content towards client is key Reduces latency, improves throughput, reliability Contribution distribution solutions evolved Reactive caching, load balancing, to Proactive content distribution networks 43

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#