robust content delivery network r92725016 周亦方 r92725050 莊豐源 r92725051 黃世翔
TRANSCRIPT
RobustContent Delivery Network
R92725016 周亦方R92725050 莊豐源R92725051 黃世翔
ChinaU.S.A.
Web servers
Taiwan
text
movie
picture
HTTP Request
HTTP Request
cache
cache cache
cache
ChinaU.S.A.
Web servers
Taiwan
text
movie
picture
HTTP Request
HTTP Request
cache
cache cache
cache
Terms
www.media.com : On-line media center www.cdn.com: Content deliver service DNS server of cdn.com:
GRM (Global Request Manager) Configuration Manager DNS (bind) Agent
Cache (nodes)
DNS Query Format
DNS Response Format
System Diagram
http://www.media.com/http://www.cdn.com/movie/waterbaby.wmv
– ButterFly, RFC 9999
Our core tech. !!!
DNS BIND
GRM
Config Manager1. Mapping table2. Agent
DNS Server of cdn.com
ISP DNS
Query cdn.com
1. If the client domain exists in the table, GRM returns what it maps.
2. If it doesn’t exist in the table, GRM returns a list of randomly–selected servers and then starts agent for this domain, so that next user from the same domain will receive a better server list answers.
Domain Ex: 140.112.107
USER
GROUP Ex: Taiwan, China, U.S.A
Cache Ex: TW1, TW2, CN1…
140.112.107 -> Taiwan, U.S.A.,China
169.237.198 -> U.S.ATaiwan,China
Taiwan -> TW1, TW2, TW3 U.S.A. -> US1, US2, US3China -> CN1, CN2
…..
Domain->Group Table:
…..
Each cache is an object having many attributes such as IP, name, group, health…
Group->Cache Table:
Goal
Domain -> Group: (content distribution)
Using known facts or starting agent to place each domain in suitable group.
Group -> Cache: (load balance)
Randomly assign a cache to each request.
Server-Choosing Algorithm
Use known facts:
Ex: We know that 140.112.xxx.xxx is NTU
domain. Then any IP from this domain
will be served by caches in Taiwan. Agent help:
Using various methods to decide a group order for the unknown domain.
Agent Type1. ICMP ping -> Round trip time (layer 3)2. Traceroute -> hop count (layer 3)3. DNS lookup round trip time -> DNS reverse looku
p (layer 7)4. Multicast to find the most available (any)
Reference: Network appliance, Cisco, 麟瑞科技
The lower the layer, the less the noise.More accurate but is subjected to be banned.
Scenario ( 差別服務 )
1. Users from different domains will get different lists of answers.
User from 140.112.107(Domain = Taiwan)
User from 140.112.106 (Domain = U.S.A.)
Scenario ( 仰賴 browser)
2. If the first-selected server crashes, browser will automatically try the next one in the list.
1. TW1: 140.112.107.772. TW2: 140.112.107.1783. US1: 140.112.106.66
User from 140.112.107(Domain = Taiwan)
Scenario ( 仰賴自己最可靠 )
3.TestHealth runs periodically to ensure that cache health states in Group -> Cache table is updated.
4.Here comes another user from 140.112.107 domain, and he will get a new server list.
Scenario ( 前人種樹 )
5.If a user comes from an unknown domain, ex: 140.112.214, GRM returns a randomly chosen server list.
6.Then Config Manager starts PingAgent to decide a group order for this domain, and then updates Domain -> Group table.
Scenario ( 後人乘涼 )
7.If another user comes from 140.112.214, since Config Manager has the prior knowledge of this domain, it simply returns the answer.
Conclusion
Using known facts and agent to update knowledge base. (AI learning)
Our butterfly model can be applied to almost any application because it is an overlay of DNS. Popular Protocols (HTTP, FTP, …) Streaming (RealNetwork, Windows Media Vide
o, Apple QuickTime, …) Mobile (WML, …)