A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global...

Post on 14-Jul-2015

198 views 0 download

Tags:

transcript

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