Internet DRAFT - draft-deng-mif-api-session-continuity-guide
draft-deng-mif-api-session-continuity-guide
MIF WG H. Deng
Internet-Draft China Mobile
Intended status: Informational S. Krishnan
Expires: January 2, 2015 Ericsson
T. Lemon
Nominum
M. Wasserman
Painless Security, LLC
July 1, 2014
Guide for application developers on session continuity by using MIF API
draft-deng-mif-api-session-continuity-guide-04
Abstract
Today most smart terminals are equiped with multiple interfaces such
as 3G/LTE and WiFi, and users experience some loss of connectivity
while switching interfaces. The MIF API draft
[I-D.ietf-mif-api-extension] has specified an API to announce
interface status information to the applications. Once the
application receives such information, it can use this information
reconnect to its peer(s), and this could significantly improve the
user experience.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 2, 2015.
Deng, et al. Expires January 2, 2015 [Page 1]
Internet-Draft MIF API Session Continuity July 2014
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Related MIF API information . . . . . . . . . . . . . . . . . 3
3. Using different source address to reconnect the server . . . 3
4. Generic guidelines for writing applications to handle new
interfaces becoming available . . . . . . . . . . . . . . . . 4
5. Generic guidelines for writing applications to handle
interfaces becoming unavailable . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5
9. Normative References . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
A significant and increasing number of smart mobile terminals have
multiple interfaces for connectivity (e.g. Wifi and 3G/LTE). These
interfaces may have very characteristics in terms of reliability,
available bandwidth, delay/jitter as well as cost per bit. There is
some form of connection manager on the end device that picks an
interface for communication based on some pre-configured policy and/
or based on dynamic conditions. The initially selected interface may
become deprioritized (e.g. due to a lower cost interface becoming
available) or may become unavailable (e.g. due to loss of coverage
when moving out of a WiFi hotspot). New interfaces may become
available due to administrative action (e.g. manual activation of a
specific connectivity technology) or due to dynamic conditions (e.g.
entering coverage area of a wireless network or plugging in an
ethernet cable). In order to handle such changes in connectivity,
applications need to be aware of network status changes and react to
them. This document provides a guide to writing such applications.
Deng, et al. Expires January 2, 2015 [Page 2]
Internet-Draft MIF API Session Continuity July 2014
The MIF API [I-D.ietf-mif-api-extension] document specifies an API
that is capable of providing information regarding changes in network
and interface connectivity status. By using this information,
application developers can develop applications that can survive
changes in connectivity and even benefit from them.
The MIF MPVD Architecture [I-D.ietf-mif-mpvd-arch] document defines
the notion of a PVD (set of network configuration information), and
PVDs somehow must be exposed, in case applications are not PVD-
awared, or indirectly participating the selection of PVD, or knowing
of the PVDs based on PVD APIs. The MIF API
[I-D.ietf-mif-api-extension] document specifies "Connect to PVD"
message, application developers may develop appliation that can
changes between different PVD connectivity.
2. Related MIF API information
MIF API draft [I-D.ietf-mif-api-extension] defines a few messages
that are related to notifying whether an interface is available or
not. The messages are defined in Section 3.5.1 (Announce Interfaces)
and Section 3.5.4 (No Inteface). Similar functionaility is available
for addresses using the messages defined in Section 3.5.12 (Announce
Address) and Section 3.5.14 (No Address Announcement). The API also
specifies interface change information in section 3.5.23.5 (Interface
is going up) and 3.5.23.4 (Interface is going away). Both interface
and address information could be used by the application to infer the
availablility of a new endpoint for communication or the loss of an
existing endpoint for communication.
3. Using different source address to reconnect the server
The applications deployed on mobile hosts usually setup the
connection with the server, then trying to keep the connection up as
long as they can. This works reasonable well when the host has only
one communication interface. Once the host has more than one
communication interface, such as 3G/LTE and WLAN, such applications
cease to work well. e.g. The per bit cost and the connection speed
are different on these two interfaces, and the user would always
prefer to change another cheaper and faster connection. e.g. While
connecting to a WLAN interface after being connected to LTE, the
mobile terminal would get a different set of configuration parameters
including the IP address, DNS server and default gateway.
Application would normally break after such change in connectivity if
the original interface (3G/LTE) is turned off and manual intervention
is usually required to reinitiate connectivity.
If the application is designed with changing network connectivity in
mind, then the application could be carefully designed reconnect to
Deng, et al. Expires January 2, 2015 [Page 3]
Internet-Draft MIF API Session Continuity July 2014
its peer based on MIF API notification about new interface(s) and/or
new address(es). The application needs to start testing the
usability of the new interface(s)/address(es) immediately and
determine whether they are usable and, if so, decide what traffic to
switch over. Please note that there are other solutions for handling
address changes in the lower layers (network and transport) like
MIPv6, shim6, and MPTCP that can shield the application from address
changes. The guidelines provided in this document are also
applicable when these techniques are being used. Also, there might
be load balancers present on the server side and it may become very
difficult to preserve sessions after an address change has occurred.
In most cases even when a mobile terminal gets WLAN connectivity and
gets an IP address assgined, but it could still be disconnected from
the Internet due to lack of authentication. As a consequence, the
interface needs to be tested for internet connectivity before
switching communication from an existing interface to a newly
available interface.
4. Generic guidelines for writing applications to handle new interfaces
becoming available
The recommended steps for the application developer to keep the
session continuity based on MIF API are listed below:
Step 1: Application subscribes to the MIF API for interface and
address change notifications;
Step 2: Application connects to the server based on interface 1
(either 3G/LTE or WLAN);
Step 3: When a new interface comes up or a new address is configured,
the MIF API notifies the application.
Step 4: The application tries to re-connect to its peer from the
newly available interface. If the connectivity check succeeds, then
the application can successfully switch the communication over to the
new interface based on policy or user initiated selection. Otherwise
communication stays on the existing inteface. The decision process
on how a preferred interface is selected is out of scope of this
document and might be the topic for a separate high level API
document.
Step 5: The interface initially used for communication may now be
turned off without disrupting communications if no other applications
are using it.
Deng, et al. Expires January 2, 2015 [Page 4]
Internet-Draft MIF API Session Continuity July 2014
5. Generic guidelines for writing applications to handle interfaces
becoming unavailable
The recommended steps for the application developer to keep the
session continuity based on MIF API are listed below:
Step 1: Application subscribes to the MIF API for interface and
address change notifications;
Step 2: Application connects to the server based on interface 1
(either 3G/LTE or WLAN);
Step 3: When an interface or address, that is currently being used
for communication, becomes unavailable the MIF API notifies the
application.
Step 4: The application requests the MIF API to acquire a list of
interfaces that are currently available. Based on locally configured
preferences, the application tries to re-connect to its peer from one
of the available interfaces. If the connectivity check succeeds,
then the application can successfully switch the communication over
to this interface.
Step 5: If the connectivity check fails, the application needs to
redo the check for each of the available interfaces in order of
preference until it can successfully connect to its peer.
Step 6: If at least one available interface is still able to connect
to the peer, the application can switch over to this interface
without disrupting communications.
6. IANA Considerations
This document does not require any IANA actions.
7. Security Considerations
Some applications may associate the the source address of the
communication with the credentials used, it they may require
refreshing the credentials after the application switches to using a
new source address.
8. Acknowledgements
The authors would like to thank Pete McCann, Julien Laganier, Dapeng
Liu, Dave Thaler, Brian Carpenter and Pierrick Seite for their
comments and suggestions for improving this document.
Deng, et al. Expires January 2, 2015 [Page 5]
Internet-Draft MIF API Session Continuity July 2014
9. Normative References
[I-D.ietf-mif-api-extension]
Liu, D., Lemon, T., Ismailov, Y., and Z. Cao, "MIF API
consideration", draft-ietf-mif-api-extension-05 (work in
progress), February 2014.
[I-D.ietf-mif-mpvd-arch]
Anipko, D., "MIF MPVD Architecture", draft-ietf-mif-mpvd-
arch-01 (work in progress), May 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Authors' Addresses
Hui Deng
China Mobile
No.32 Xuanwumen West Street
Xicheng District,
Beijing 100053
China
Email: denghui02@gmail.com
Suresh Krishnan
Ericsson
8400 Blvd Decarie
Town of Mount Royal, Quebecy
Canada
Email: suresh.krishnan@ericsson.com
Ted Lemon
Nominum
Redwood City,
94063
USA
Email: Ted.Lemon@nominum.com
Deng, et al. Expires January 2, 2015 [Page 6]
Internet-Draft MIF API Session Continuity July 2014
Margaret Wasserman
Painless Security, LLC
356 Abbott Street,
North Andover 01845
USA
Email: mrw@painless-security.com
Deng, et al. Expires January 2, 2015 [Page 7]