a technique to assign an appropriate server to a client, for a cdn consists of servers at the global...

42
A Technique to Assign an Appropriate Server to 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

Upload: takashi-yamanoue

Post on 14-Jul-2015

199 views

Category:

Science


0 download

TRANSCRIPT

Page 1: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 2: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 3: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 4: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 5: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• 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.

Page 6: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• ℎ𝑜𝑠𝑡 a, 𝐻𝑖 =ℎ𝑥,

• 𝑖𝑓 ℎ𝑥 ∈ 𝐻𝑖 𝑎𝑛𝑑 𝑎 = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠𝐴𝑡(ℎ𝑥,𝐻𝑖) ,• ℎ𝑜𝑠𝑡 a, 𝐻𝑗 , 𝑤ℎ𝑒𝑟𝑒 𝐻𝑖 , 𝐻𝑗 ∈ 𝐶• 𝑖𝑓 ¬∃ℎ𝑥 ∈ 𝐻𝑖 , 𝑎 = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠𝐴𝑡(ℎ𝑥, 𝐻𝑖)• ϕ, • if 𝐻𝑖=𝐻𝑔 and ¬∃ℎ𝑥 ∈ 𝐻𝑔, 𝑎 = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠𝐴𝑡(ℎ𝑥, 𝐻𝑔)• This function finds the host with address a from a host of 𝐻𝑖

Page 7: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

III A Model of the CDN (CDN4DWSS)

connected

Trees of setsof servers.

communicable(h1,h2)root

root

root

Globalroot

root

Page 8: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 9: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• Measure of the distance between the client and the server,

– Path length between two nodes of the tree

1

o2

o

Page 10: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• An appropriate server for the client

– A server in the nearest node from the node which includes the client.

Page 11: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• 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.

Page 12: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• They Can’t

– use broadcast nor multicast.

– communicate with hosts other than its server. (Except WebRTC)

– know its IP address by itself.

Page 13: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• 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.

Page 14: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• 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.

Page 15: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• (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

Page 16: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

s

privateRootServers(h,s)= { ○ ○ }

h

Page 17: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

• defaultServer(s)= one of s_y∈S_y such that s∈S_y

Page 18: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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;

Page 19: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 20: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 21: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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?.

Page 22: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 23: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 24: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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, …

Page 25: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 26: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 27: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 28: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 29: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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, …

Page 30: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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, …

Page 31: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 32: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 33: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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.

Page 34: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 35: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

V. Implementation of the CDNand the Technique

Page 36: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

Web Server Inter Server Connection NodeNode System

TCP Connection

HTML5 Web Client

Web Socket

Screen Sender

Image data flow

Distributed WSS

Page 37: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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

Page 38: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks
Page 39: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks
Page 40: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks
Page 41: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

VI Related Research

• Load Balancers --- Hardware

• AKAMAI --- DNS

• FCAN --- DNS

– DNS server is not always working at a private network.

• SKYPE --- not Web browser.

Page 42: A Technique to Assign an Appropriate Server to a Client, for a CDN Consists of Servers at the Global Internet and Hierarchical Private Networks

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