Motivation Architecture

advertisement
Motivation
Architecture
• Many of today’s mobile devices are equipped
with multiple network interfaces that can be
used to connect to the Internet.
• Our DNIS middleware is divided
into two subtasks:
Process
Estimator
• Estimation the applications’ needs and
characteristics, as well as the
properties of the network interfaces.
• Scheduling different connections
to different network interfaces
based on the estimated parameters.
• Ethernet, Wi-Fi, 3G and Bluetooth.
• Current OSs typically choose only one of the
available network interfaces and assign all the
traffic to it, even if more than one is connected
to the Internet.
Scheduler
Interface
Estimator
Conventional Algorithms
o Random selection
o Round Robin
• It selects one of the available
interfaces for the incoming
connection at random.
o Selection using GetBestInterface()
• It selects one of the available
interfaces for the incoming
connection in a rotating basis.
• It selects one of the available
interfaces that has the best route to
the specified destination IP using the
Windows API GetBestInterface()
method.
DNIS Algorithms
o Profile-based
• It constructs profiles for both
the incoming connection and
the interfaces, then it selects
the interface that has the best
fit profile to the connection’s
one.
o Max. Throughput
At time t = 0
At time t = 4
IF1(100KB/s)
IF1(100KB/s)
P1(1000KB)
• It selects one of the available
interfaces that maximize the
overall throughput regardless
of its stability.
P1(1000KB)
IF2(60KB/s)
P2(180KB)
IF2(60KB/s)
0
2
4
6
8
10
P3(180KB)
4
6
8
10
At time t = 7
At time t = 2
IF1(100KB/s)
IF1(100KB/s)
P1(1000KB)
P2(180KB)
P1(1000KB)
P2(180KB)
IF2(60KB/s)
P3(180KB)
IF2(60KB/s)
P4(1000KB)
2
4
6
8
10
7
9 11 13 15 17 19 21
Implementation
Network
Application
(e.g. Firefox)
• DNIS uses the same concepts used by
firewalls and network proxies to
control the network flow.
• This service is called LSP stands for “Layered
Service Provider”.
Winsock
Winsock 2
API
• Each provider has a
different LSP chain (i.e., LSP
chain for TCP, UDP, etc.)
WS2_32.DLL
• One of its components is a service that
is used to intercept socket-based
connection requests and assign
proper network interfaces to them.
SPI
DNIS
Base Protocol
(e.g. TCP/IP)
Test LSP
nonifs.dll
Layered provider
TCP/IP v4
wspm.dll
Base provider
TCP/IP v4
wspm.dll
Base provider
Provider chain ID = 0xAAAA
Provider chain ID = 0x1111
Results
λbig = 5, λmedium = 5
λbig = 5, λmedium = 10
14
16
12
12
14
10
12
10
Wi-Fi
8
Ethernet
6
Round-Robin
4
Random
2
Max. Throughput
0
0
5
10
λsmall
Wi-Fi
8
Ethernet
6
Round-Robin
4
Random
2
Max. Throughput
0
0
5
10
λsmall
Goodput (Mbps)
14
Goodput (Mbps)
Goodput (Mbps)
λbig = 5, λmedium = 0
10
Wi-Fi
8
Ethernet
6
Round-Robin
4
Random
Max. Throughput
2
0
Note: λX represents the average number of process X per minute.
0
5
10
λsmall
Download