Title: A solution for seamless handover among multiprovider heterogeneous networks
1 A solution for seamless handover among
multi-provider heterogeneous networks
WiOptiMo v. 1.0 - July 12, 2006
2The landscape
2
3WiOptiMo (ex WiSwitch)
- Seamless handover
- It detects the access providers available and
provides, in an automatic or semi-automatic/assist
ed way, the best Internet connection in terms of
bandwidth, reliability, security and cost
effectiveness. - It provides, in a transparent way, persistence
and/or seamless mobility without interrupting
active network applications or sessions.
- No networking overhead
- It does not modify any OSI protocol stack layer
and it does not introduce any sub-layer. - No one byte is added, no TCP/UDP or IP
encapsulation is needed.
- It operates at layer 7 (Application layer) of the
OSI standard - It can support all the network access
technologies (LAN, UMTS, Wi-Fi, GPRS, EDGE,
CDMA). - It is compatible with any kind of VPN client
(Checkpoint, Cisco etc...). - It can work in a transparent way over mobile IP
(v4 or v6) exactly as it works over IPv4 or IPv6
- WiOptiMo architecture
- It is composed by a client part (CNAPT),
installed on the mobile device or in any device
of a mobile network, and a server part (SNAPT),
installed on any Internet node (on a corporate
front-end server, on the home PC or on a last
mile router). - It is mainly written in Java, it is very small
and it requires a few RAM and CPU resources so it
can virtually work on each platform providing a
JVM.
WiOptiMo is patent pending (PCTTaiwan
EP2004/050111 and EP2005/050599 Priority date
10/2/2004)
3
4Switch and persistence
- Expected switch
- It happens when the system gracefully switches
from a network provider to a new one remaining
the former available during the switch phase (for
example the mobile device is slowly leaving the
coverage area of a wireless provider).
- Unexpected switch
- It takes place when the current network provider
becomes suddenly unavailable (e.g. the Ethernet
cable is unplugged) and the system switches to a
new one.
- Transparent IP switch
- If there is enough time for the IP transition
phase (that is to say the client and the server
applications do not go into timeout), the system
performs a totally transparent and
automated/semi-automated switch. The client and
the server applications do not realize that the
network has changed, and continue their execution
without any session crash and/or interruption of
service.
- Tunnel mode
- If no switch is possible, the system goes in the
Tunnel mode and hibernates the applications to
perform re-establishment when the current or a
new connection is available again.
4
5The WiOptiMo idea
Almost every client application is able to refer
to a server application using the loopback
address
5
6The WiOptiMo idea
6
7The WiOptiMo idea
If the mobile device changes its current IP
address from IPMD1 to IPMD2, the client/server
socket breaks down. The client and server
applications detect a network problem, maybe some
data will be lost, maybe the client application
must be restarted, a new authentication is needed
and so on.
7
8The WiOptiMo idea
The CNAPT and the SNAPT collectively acts as a
middleware, making the client application believe
to be running either on the same machine as the
server application or in a machine directly
connected to the server in a fixed way, but in
any case does not realize that it is using an
Internet connection.
8
9The WiOptiMo idea
WiOptiMo requires two additional sockets for each
client/server socket.
The CNAPT/SNAPT socket requires an additional
application buffer on each end to store the data
sent to the network layer. This buffer is used to
retransmit the data that can be lost during an
unexpected switch so its capacity has to be equal
to the max receiving window size.
9
10The WiOptiMo idea
- During the IP transition phase
- The CNAPT stops forwarding all the outgoing IP
packets generated by the client application. - The SNAPT stops forwarding all the outgoing IP
packets generated by the server and directed to
the switching CNAPT.
WiOptiMo makes use of the TCP window mechanism to
pause the application because no acknowledge is
received. This pause is possible only until the
application timeout expires. This way the system
avoids useless buffering and in the worst case no
more than receiving window size bytes have to be
retransmitted.
10
11CNAPT Application relay system
The CNAPT can be installed either on the same
machine of the client application, or on an
additional mobile device in a PAN or mobile
network.
The CNAPT can emulate simultaneously and in
parallel more than one server application and it
can be used by more than one client application
resident on the same device or in different
devices.
11
12CNAPT Check and Search Activity
- Search Activity
- It continuously searches, without disturbing the
current connection, for other available networks
providers and if it finds at least one network
provider that could provide an Internet
connection better than the current one it makes
or suggests a switch.
- Check Activity
- It continuously verifies the current Internet
connection reliability and performance. If the
reliability/performance indexes go down some
specified critical thresholds or if the current
Internet connection has been interrupted, the
Check Activity provides a switch to a new network
provider
- If it does not find any other network providers,
it signals to the user that the current Internet
connection will be no longer available and it
changes its operational mode to the Tunnel mode.
- Manual switch
- At any time, the user can manually ask to
WiOptiMo to switch to another available network
provider. This can be useful when the user wants
to use a connection that would be not selected
otherwise, as it is not optimal.
12
13SNAPT
The CNAPT communicates with the SNAPT through the
control server socket. This connection is used to
exchange handshaking packets during an IP
address-changing phase..
The SNAPT can emulate simultaneously and in
parallel more than one client application
request, and it can be used by more than one
server application resident on the same device or
in different devices.
13
14SNAPT on the server network
14
15SNAPT on an Internet node
15
16A CNAPT can use multiple SNAPTs
16
17WiOptiMo Virtual Web Channel (1)
- The problem
- HTTP does not perform well on high latency
wireless links. This is due to the use of
multiple TCP connections (even in the case of
persistent connections) which imposes several DNS
accesses and slow-start as well as RTT delay
associated to each connection.
17
18WiOptiMo Virtual Web Channel (2)
- How does it work?
- The sockets between the Web browser and the VWC
Client side are made on a local network or in
loopback, so they do not suffer the TCP
slow-start problem. The sockets between the VWC
Server side and the proper Internet Web servers
are made on a wired network so, also in this
case, the TCP slow-start problem is not relevant.
- VWC uses a unique always-on TCP bi-directional
socket (VWC Internet socket), opened between the
CNAPT and the SNAPT, to multiplex all the traffic
exchanged between a Web browser and the Internet
Web servers. - The slow-start problem that arises when a socket
is opened on a high-latency wireless link is
overlapped in a very simple way no socket is
dynamically created on the wireless link. - With the VWC less IP packets are exchanged over
the VWC Internet socket no DNS requests, no
socket open/close packets, many payloads coming
from different sockets are multiplexed and
pipelined on a unique or a few packets avoiding
to resend for each original packet the
correspondent TCP/IP headers over the VWC
Internet socket.
18
19WiOptiMo measurement scenario
19
20Measurement results (1)
WiOptiMo does not require any encapsulation or
tunneling (no bytes are added to payload). Thus,
it only introduces a low computational overhead
independent from the packet size and from the
number of packets transmitted.
20
21Measurement results VWC (1)
22
22Measurement results VWC (2)
- The performance gain of VWC over Direct is due
to the followings facts - No sockets are dynamically opened on the
Cnapt-Snapt path in fact, with the VWC only
sockets on loopback or wired connections are
opened dynamically. These sockets do not suffer
the high RTT and the slow start of a socket
opened on a high latency wireless link, e.g. on
GPRS. - A reduction of the data exchanged is performed,
thanks to the compression provided by the Apache
Proxy. - No DNS requests are done on the Cnapt-Snapt
path. The DNS requests are not done using a
wireless link, e.g. GPRS, but instead they are
done, by the Apache proxy, on a wired network.
23