Date post: | 14-Jul-2015 |
Category: |
Science |
Upload: | takashi-yamanoue |
View: | 198 times |
Download: | 0 times |
A Technique to Assign an Appropriate Serverto a Client, for a CDN Consists of Servers
at the Global Internet and Hierarchical Private Networks
Takashi Yamanoue, Yuuri Koarata, Kentaro Oda and Koichi Shimozono @ Kagoshima University, Japan
Contents
• I Introduction
• II A Model of the Hierarchical Network
• III A Model of the CDN
• IV The Technique
• V Implementation of the CDN and the Technique
• VI Related Research
• VII Concluding Remarks
I Introduction
• One information to Many web clients in the Internet - CDN
• Previous CDNs … for the Internet.
• Real network = the Internet(Global network) + private networks A Hierarchical network.
– NAT or NAPT
• Would like to make a CDN for the Hierarchical network.
• Models of the hierarchical network and the CDN
• Technique to assign an appropriate CDN server to a client.
II. A Model of theHierarchical Network
Global Network
PrivatePrivate
Private
PrivatePrivate Private
Private
HalfConnectableharfConnectablefullConnnectableaddress(h)addressAt(h,H)host(a,H)
NAPTs(in stead of NATs) are assumed
• addressAt(h_i,H_j )=address(h_i ), if h_i∈H_jaddress(h_ij ),
if (H_i,H_j )∈C and h_i∈H_ior h_i∈H_i and Connectable(H_i,H_k )
and (H_k,H_j )∈CΦ, if ¬connectable(h_i,h_j ),h_j∈H_j
• The address of h_i from the 𝐻𝑗 will be the address of the
NAPT at 𝐻𝑗 , when an offspring of 𝐻𝑗 includes the host.
• ℎ𝑜𝑠𝑡 a, 𝐻𝑖 =ℎ𝑥,
• 𝑖𝑓 ℎ𝑥 ∈ 𝐻𝑖 𝑎𝑛𝑑 𝑎 = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠𝐴𝑡(ℎ𝑥,𝐻𝑖) ,• ℎ𝑜𝑠𝑡 a, 𝐻𝑗 , 𝑤ℎ𝑒𝑟𝑒 𝐻𝑖 , 𝐻𝑗 ∈ 𝐶• 𝑖𝑓 ¬∃ℎ𝑥 ∈ 𝐻𝑖 , 𝑎 = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠𝐴𝑡(ℎ𝑥, 𝐻𝑖)• ϕ, • if 𝐻𝑖=𝐻𝑔 and ¬∃ℎ𝑥 ∈ 𝐻𝑔, 𝑎 = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠𝐴𝑡(ℎ𝑥, 𝐻𝑔)• This function finds the host with address a from a host of 𝐻𝑖
III A Model of the CDN (CDN4DWSS)
connected
Trees of setsof servers.
communicable(h1,h2)root
root
root
Globalroot
root
IV The Technique
• Throughput of TCP communication is heavily depend on latency
Throughput = (window size) / (latency)
• Distance between the client and the server of the CDN should be as short as it can.
• Measure of the distance between the client and the server,
– Path length between two nodes of the tree
1
o2
o
• An appropriate server for the client
– A server in the nearest node from the node which includes the client.
• We would like to use common web browsers
• Fortunately, many of recent web browsers are based on HTML 5
• They can do followings
– Running programs.
– Communicating with its server using web socket by the program.
– Redirecting to another server.
• They Can’t
– use broadcast nor multicast.
– communicate with hosts other than its server. (Except WebRTC)
– know its IP address by itself.
• We also assume the following.
– The client only know the global root server.
– The client can’t know where servers of the CDN are, except the global root server.
• A Server can
– Know its children’s addresses at children’s private network, if the server is connected from the root server at its children node.
• (improved)
• privateRootServers(h, s∈S)={addressAt() |
connected(s_xr,s_y ) where s∈S_y,s_y∈S_y, s_xr ∈ S_x,
(S_x, S_y) ∈D and s_xr=addressAt(h,S_y)}
• Addresses of root servers which are elements of nodes, connected to the node S directly, and the host is in the node of their descendant
s
privateRootServers(h,s)= { ○ ○ }
h
• defaultServer(s)= one of s_y∈S_y such that s∈S_y
Procedure connectToAnAppropriateServer(a∈A)begin
connect to host(a,H) temporally;privates←privateRootServers(this, host(a,H));default←defaultServer(host(a,H)) ;if privates≠ϕ then
for each s_ri∈privates if connectable(this,s_ri) then
connectToAnAppropriateServer(s_ri) ;connect to default as a client;
end;
Screen Sender
Private network-2L Private network-2R
Private network-1
Global InternetRoot Node System
New Web Client ?
Private IP:PA2L0 Private IP: PA2R0
Node-LNode-R
Node-L is a leaf node in theglobal Internet, and it has the smallest number of web clients
or node systems at private networks.
Private IP: PA0
Private network-0
Screen Sender
Private network-2L Private network-2R
Private network-1
Global InternetRoot Node System
New Web Client ?
Private IP:PA2L1 Private IP: PA2R1
Node-LNode-R
Node-L is a leaf node in theglobal Internet, and it has the smallest number of web clients
or node systems at private networks.
Private IP: PA0
Private network-0
I’d like to joinyour group.
Global IP address is GA0
Temporal WebSocketConnection
Screen Sender
Private network-2L Private network-2R
Private network-1
Global InternetRoot Node System
New Web Client ?
Private IP:PA2L1 Private IP: PA2R1
Node-LNode-R
Private IP: PA0
Private network-0
Global IP address is GA0
Does anyone has the private node link, the address of which is GA0?.
Screen Sender
Private network-2L Private network-2R
Private network-1
Global InternetRoot Node System
New Web Client ?
Private IP:PA2L1 Private IP: PA2R1
Node-L Node-R
Private IP: PA0
Private network-0
Global IP address is GA0
I have it. The private addresses of it is PA0.
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L1 Private IP: PA2R1
Node-L Node-R
Private IP: PA0
Private network-0
Try to connect to PA0.If failed to connect to it, try to connect to Node-L
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L1Private IP: PA2R1
Node-L Node-R
Private IP: PA0
Private network-0
Is it possible to connect to PA0?If yes, …
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L1Private IP: PA2R1
Node-L Node-R
Private IP: PA0
Private network-0
I’d like to join your group.
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L1Private IP: PA2R1
Node-L Node-R
Private IP: PA0
Private network-0
Does anyone has the private node link, the address of which is P10?.
Private IP address is P10
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Private IP address is P10
I have it. The private addresses of it is PA2R0.
I have it. The private addresses of it is PA2L0.
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Try to connect to PA2R0 or PA2L0.If failed to connect to it, try to connect to Node-P0L
Node-P0L
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0
Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Node-P0L
Is it possible to connect to PA2R0?If No, …
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0
Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Node-P0L
Is it possible to connect to PA2L0?If Yes, …
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0
Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Node-P0L
I’d like to join your group
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0
Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Node-P0L
I have no children Nodes.So the new web client can connect to me as my web client.
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client ?
Private IP:PA2L0
Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Node-P0L
Connect to me as my web client.
Screen Sender
Private network-2L Private network-2R
Private network-1
Root Node System
New Web Client
Private IP:PA2L0
Private IP: PA2R0
Node-L Node-R
Private IP: PA0
Private network-0
Node-P0L
Connect as a web client
V. Implementation of the CDNand the Technique
Web Server Inter Server Connection NodeNode System
TCP Connection
HTML5 Web Client
Web Socket
Screen Sender
Image data flow
Distributed WSS
Web Server Inter Server Connection Node
Node System
TCP Connection
HTML5 Web ClientWeb Socket
Screen Sender
Image data flow
Private network-2L Private network-2R
Private network-0
Global InternetRoot Node System
Private network-1
CDN4DWSS
VI Related Research
• Load Balancers --- Hardware
• AKAMAI --- DNS
• FCAN --- DNS
– DNS server is not always working at a private network.
• SKYPE --- not Web browser.
VII Concluding Remarks
• A Model of hierarchical private networks
• A Model of CDNs in the hierarchical private networks
• Technique to assign a server of the CDN to a client
• CDN4DWSS
• Validated our way by proofs and implementation
• Would like to fill the gap between models and real world