Internet DRAFT - draft-li-avtext-service-migration
draft-li-avtext-service-migration
Internet Engineering Task Force C. Li
Internet-Draft UCLA
Intended status: Informational B. Li
Expires: May 9, 2013 C. Peng
W. Zhang
Huawei
S. Lu
UCLA
November 5, 2012
A Multimedia Service Migration Protocol for Single User multiple Devices
draft-li-avtext-service-migration-00
Abstract
This document describes a new service migration protocol, which
supports multimedia transfer in single-user, multiple-device
scenarios. The protocol retains operations in the current client and
server protocol but places new functionalities at the proxy. It also
proposes novel naming and control/data plane design.
Status of this Memo
This Internet-Draft is submitted to IETF 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 May 9, 2013.
Copyright Notice
Copyright (c) 2012 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
Li, et al. Expires May 9, 2013 [Page 1]
Internet-Draft Multimedia Service Migration for SUMD November 2012
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 . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Single User Multiple Devices . . . . . . . . . . . . . . . . . 5
3.1. An Example Scenario . . . . . . . . . . . . . . . . . . . 5
3.2. System Requirements . . . . . . . . . . . . . . . . . . . 5
3.2.1. Service Delivery and Migration . . . . . . . . . . . . 6
3.2.2. namespace . . . . . . . . . . . . . . . . . . . . . . 6
3.2.3. Backward Compatibility . . . . . . . . . . . . . . . . 6
3.3. Applications . . . . . . . . . . . . . . . . . . . . . . . 6
4. Service Migration Protocol Architecture . . . . . . . . . . . 7
4.1. SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. SMPA . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3. SMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.1. Control Plane . . . . . . . . . . . . . . . . . . . . 8
4.3.2. Data Plane . . . . . . . . . . . . . . . . . . . . . . 9
5. Service Migration Protocol for Video Service . . . . . . . . . 9
5.1. Best Delivery of Service . . . . . . . . . . . . . . . . . 10
5.2. Service Migration Triggers . . . . . . . . . . . . . . . . 10
5.3. How to Migrate an Ongoing Session? . . . . . . . . . . . . 10
5.4. When to Switch Service? . . . . . . . . . . . . . . . . . 11
5.5. SMP Service Procedure . . . . . . . . . . . . . . . . . . 11
5.5.1. Best Delivery of Service . . . . . . . . . . . . . . . 11
5.5.2. User-triggered Service Migration . . . . . . . . . . . 12
6. Naming and Namespace Management . . . . . . . . . . . . . . . 13
6.1. Naming Principles . . . . . . . . . . . . . . . . . . . . 13
6.1.1. Name/ID/Locator . . . . . . . . . . . . . . . . . . . 13
6.1.2. 2D Name Mapping . . . . . . . . . . . . . . . . . . . 13
6.2. Namespace Management . . . . . . . . . . . . . . . . . . . 14
6.2.1. Service Registration . . . . . . . . . . . . . . . . . 14
6.2.2. User and Device Introduction . . . . . . . . . . . . . 14
6.2.3. Namespace State Synchronization . . . . . . . . . . . 15
6.2.4. Mobility Management . . . . . . . . . . . . . . . . . 15
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . . 15
9. Informative References . . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16
Li, et al. Expires May 9, 2013 [Page 2]
Internet-Draft Multimedia Service Migration for SUMD November 2012
1. Introduction
In recent years, it has become the norm rather than exception that an
individual user has multiple devices with networking capabilities.
In an example scenario, a user owns a laptop in the office, a desktop
at home, while carrying an iPhone or iPad wherever (s)he goes. This
emerging single-user, multi-device setting opens new venue for
networking protocol design and operations.
There are two main challenges for associated network design. First,
the protocol operations should support new data communication
patterns for multiple devices of the same user. Data sessions should
seamlessly migrate among the devices owned by the same user, or
simultaneously multicast to these devices. For example, as friends
of the given user want to share video clips with him, he can directly
use his office desktop when still in office. However, as he walks
out for lunch, he may proceed the ongoing video session via his
iPhone or iPad. Second, users should continue to run legacy
networking protocols (particularly those at the transport layer or
above) and applications with minimal changes while supporting the
notion of single-user, multi-device during data communication. This
will enable reuse of most current Internet applications. Many
existing protocols can achieve one of these two goals, but not both.
In this document, we describe a novel solution, called Service
Migration Protocol (SMP), which supports "single-user, multi-device"
multimedia communications. Data sessions are grouped by the user and
can seamlessly migrate among devices belonging to the same user. A
key innovation in SMP is the proxy that bridges the client and the
server in the current client-server communication paradigm. The
proxy offers two critical services of naming and session/data
transfer. By carefully designing the functions of the proxy, SMP is
able to reuse existing protocol operations at both the client and the
server without modifications.
2. Terminology
This document uses the following terms to refer to the entities or
functions that are required in service migration protocol.
User Name (UN): A name that can be used to identify a user at the
application layer.
Device Name (DN): A name that can be used to identify a device at
the application layer.
Li, et al. Expires May 9, 2013 [Page 3]
Internet-Draft Multimedia Service Migration for SUMD November 2012
User Identifier (UID): A stable value that can be used to identify a
user. Any unique value can be used as an identifier as long as it
is device independent, i.e., unchanged among all devices owned by
the user.
Device Identifier (DID): A stable value that can be used to identify
a mobile device. Any unique value can be used as an identifier as
long as it is topologically and geographically independent, i.e.,
remains unchanged when the mobile device roams around.
Locator: The IP address that indicates the mobile device's current
attachment point to the Internet. It could be the IP address of
the mobile device itself or the IP address of the network entity
that is currently serving the mobile device.
Mapping: In this document, mapping specifically means the mapping
between a name and an identifier, a user identifier and a device
identifier(s), or a device identifier and its Locator.
Namespace: In this document, namespace specifically means the set
that includes names, IDs, Locators and mappings, as well as the
information of users and devices.
Service Identifier (SID): A value that can be used to identify an
ongoing service.
Service Migration Protocol (SMP): A protocol that can be used to
migrate an ongoing service from one device to another. Both
belong to the same owner.
Service Migration Protocol Server (SMPS): A system that maintains a
global namespace, thus performing namespace management and
namespace resolution.
Service Migration Protocol Proxy (SMPP): A system that is interposed
between the server and the client to support SMP by coordinating
control signaling and data forwarding.
Service Migration Protocol Application (SMPA): An application that
is installed on each SMP-enabled device.
Migration From Request (MFR): A control message that is used to
issue the request of service migration by the originator device.
Migration To Request (MTR): A control message that is used to inform
the target device regarding the request of service migration.
Li, et al. Expires May 9, 2013 [Page 4]
Internet-Draft Multimedia Service Migration for SUMD November 2012
Video Sharing Request (VSR): A control message that is used to share
a video clip with a user or a device by the originator user.
3. Single User Multiple Devices
This section describes an example scenario of single-user, multi-
device, the requirements for our design, and the applications to
which our protocol can be applicable.
3.1. An Example Scenario
Alice wants to share a video clip in real time with her friend Bob
over the network, after taking a video clip by herself or having
found an interesting one on YouTube. Bob has multiple devices
including a smartphone, an office laptop, and a home desktop. Alice
clicks the "Share video" button and selects Bob's name from her
contact list. The request message of sharing video is sent over the
network. The video is then delivered to the most appropriate device
of Bob's at the time. Initially, the video is sent to the office
laptop while Bob is in the office. Upon receiving the Alice's
request, Bob clicks the "Accept" button to receive the video. As Bob
heads to home 10 minutes later, the video is delivered to his
Smartphone. After arriving at home, Bob decides to switch the video
sharing to his home desktop. The video service is smoothly switched
from one device to another so that Bob can watch uninterrupted video
among his multiple devices, each of which is the most appropriate one
for each different scenario.
3.2. System Requirements
In the above scenario, we need to address the following three
technical issues.
o How to deliver the shared video content to the most appropriate
device of the given user?
o How to migrate an ongoing session from one device to another?
o How should the namespace be designed so that our protocol can
support the single-user, multi-device scenario, and each user can
manage his/her multiple devices and social network to his/her
convenience?
The requirements of our design are described in three aspects. The
first two aspects are to address the above issues, whereas the last
one is considered for easy deployment.
Li, et al. Expires May 9, 2013 [Page 5]
Internet-Draft Multimedia Service Migration for SUMD November 2012
3.2.1. Service Delivery and Migration
To find and locate one's most appropriate device for a given
situation and then deliver video content to it, the system needs to
retain the ranking of preferred device(s) by each user, as well as
the status and the locator of each device. Moreover, devices
belonging to one user may access the network and be online once at a
time or simultaneously. Therefore, in addition to unicast
communication, anycast, multicast, and broadcast also need to be
supported. The anycast mode allows service to be sent to the nearest
one or the best one among devices of the user's, whereas multicast
and broadcast modes enable the system to deliver service to a subset
and all devices of the user's, respectively. It should also consider
both the control plane and the data plane. The former defines all
signaling functions including migration triggers, the discovery of
one's best device and the device to which service is migrated, and
service transfer. The latter handles migration delay and possible
transient loss during service migration.
3.2.2. namespace
The namespace should consider the identities of both the user and the
devices, and provide mapping service that maps one user to multiple
devices and associates each device to its locator. Although the IP
address acts as both identity and locator, these two roles should be
decoupled in order to prevent long-term usage identity from changing
with transient locator. Therefore, the namespace design should be
based on the Identity/Locator split approach. In addition to the
identities, the namespace also needs to provide human-readable names
for both user and device entities so that each user can conveniently
manage his/her devices and contact lists.
3.2.3. Backward Compatibility
For easy deployment, our design should avoid modifying existing
protocols and applications as much as possible.
3.3. Applications
Our design is applicable to various multimedia applications, which
provide either open-source support or developer API and are able to
run on multiple platforms. One such an application is VLC [VLC],
which is an open-source cross-platform multimedia framework and
supports most platforms. It allows for users to share video clips
with each other. The VLC media player is a complete video solution,
which is a player, a live transcoder and a streamer. It thus allows
for users to readily share video clips with each other.
Li, et al. Expires May 9, 2013 [Page 6]
Internet-Draft Multimedia Service Migration for SUMD November 2012
Two other applications are Qik [Qik] and YouTube [YouTube]. Qik,
which supports live video sharing and two-way live video chats,
enables developers to integrate it with its API. YouTube, a popular
video-sharing application, offers plenty of APIs and allows for
developers to incorporate its functionality into their applications.
4. Service Migration Protocol Architecture
+------------------------+ +------------------------------+
| SMP Server | | SMP-enable Device |
| +--------------------+ | | +--------------------------+ |
| | DataBase | | | | SMP Application | |
| | (Global Namespace) | | | | +----------------------+ | |
| +--------------------+ | | | | User Interface | | |
| | | +--------------+ | | | | (Namespace Group) | | |
| | | | Namespace |-+---+ | | +----------------------+ | |
| | |--| Management | | | | | +-----------------+ | | |
| | +--------------+ | +---+-+-| Namespace Sync | | | |
| | +---------------+ | | | | Module |---| | |
| | | Resolution | | | | +-----------------+ | | |
| | | Service Module| | | | +-----------------+ | | |
| | | +-----------+ | | | | | SMP Service | | | |
| |-----| ID/Locator| |-+--+ +--+-+-| Module |---| | |
| | | +-----------+ | | | | | | +--------+--------+ | |
| | | +-----------+ | | | | | +----------|---------------+ |
| |-----| User | | | | | | | |
| | | Preference| | | | | | +----------+---------------+ |
| | +-----------+ | | | | | | Video Application | |
| +---------------+ | | | | +----------+---------------+ |
+------------------------+ | | +------------+-----------------+
| | |
+-------------------+-+---------------+---------+
| SMP +----------+-+--+ +--------+-------+ |
| Proxy | Control Plane |---| Data Plane | |
| +---------------+ +----------------+ |
+-----------------------------------------------+
Figure 1: SMP Architecture.
We devise a proxy-based solution, in which a proxy mediates video
service between two ends, to achieve best service delivery and
service migration without modification of existing protocols and
applications. As shown in Figure 1, the architecture of service
migration protocol (SMP) consists of three major components: SMP
Li, et al. Expires May 9, 2013 [Page 7]
Internet-Draft Multimedia Service Migration for SUMD November 2012
Server (SMPS), SMP Application (SMPA), and SMP Proxy (SMPP). SMPS
performs namespace management and resolution service by maintaining a
global namespace database. SMPA is installed on each SMP-enabled
device with two modules, namespace sync and SMP service modules, to
manage the owner's namespace group and enable SMP service. SMPP,
which is interposed between the video server and the client
application, bridges video service and manages service delivery and
migration.
4.1. SMPS
SMPS maintains a database of the global namespace with the namespace
management module, which manages user registration, user and device
introduction, and namespace synchronization. The first two functions
are used by a user to construct his/her namespace group, which
includes his/her own devices, friends and friends' devices. The last
function keeps the global namespace and each namespace group
synchronized. Based on the database, SMPS provides two resolution
services, ID/Locator and user preference, which can resolve a
device's locator and the most appropriate device(s) of a user.
4.2. SMPA
SMPA, which should be installed on each SMP-enabled device, provides
users an interface with a contact list and functions of the SMP
service. The contact list enables the owner to manage his/her
namespace group and to select a friend or a device to use the SMP
service. The namespace group is maintained by the namespace sync
module, which collaborates with the namespace management module at
SMPS. The SMP functions are done in the SMP service module, which
issues and accepts the requests for the SMP service through SMPP and
interacts with the video application.
4.3. SMPP
SMPP consists of two planes, the control plane and the data plane.
The former manages signaling of video sharing and service migration,
whereas the latter bridges video sessions and keeps sessions
uninterrupted during service migration.
4.3.1. Control Plane
It completes the signaling of video sharing and coordinates the
operation of service migration. Upon receiving each request, it
finds and locates the target device using the SMPS resolution
service. For video sharing, it then informs the device's SMPA of the
sharing request through its SMP service module. For service
migration, it then asks the SMPA to prepare for the migrated service
Li, et al. Expires May 9, 2013 [Page 8]
Internet-Draft Multimedia Service Migration for SUMD November 2012
through the same module, and regulates the behavior of the data plane
through its update module to switch the service to the target.
4.3.2. Data Plane
It acts as the bridge between two ends of each session by relaying
packets from one end to the other based on the forwarding table.
When the video application requests a video service through SMPP, it
will receive the service on behalf of the application. Once a video
session is set up, a new entry will be created for the session on the
forwarding table. Each forwarding entry includes the video
information and the related addresses of the server, SMPP and the
client, so that it can bridge the corresponding session by modifying
the addresses of its packets and forwarding them. To support service
migration, the update module is provided to update a session's
forwarding entry while it is ongoing.
5. Service Migration Protocol for Video Service
SMP seeks to deliver service to one's most appropriate device(s)
during service initialization and perform service migration among
devices. To this end, we need to address the following four issues.
o How can one's most appropriate device(s) be enabled to receive the
shared video?
o When and how will service migration be triggered?
o How can an ongoing session be migrated?
o What is the timing for switching service from the old device to
the new one?
Before addressing these issues, we introduce four control messages,
which are sent via HTTP or directly over TCP connections: Video
Sharing Request (VSR), SMP Resolution Request (SRR), Migration From
Request (MFR) and Migration To Request (MTR). VSR is used by the SMP
service module when a user intends to share a video clip with
another, so it should include a video URL and a sharing target, which
can be either the user identity (UID) or the device identity (DID).
We will elaborate on the namespace design in the next section. The
SMPP control plane uses SRR to resolve a device's locator or a user's
preferred device(s) through the SMPS resolution service by attaching
either a DID or a UID. The SMP service module employs MFR to request
the migration of one of its ongoing sessions, whereas the SMPP
control plane uses MTR to request for the target device's SMPA to
prepare for receiving a migrated session. Both MFR and MTR contain
Li, et al. Expires May 9, 2013 [Page 9]
Internet-Draft Multimedia Service Migration for SUMD November 2012
the information of the migrated service and the target device.
5.1. Best Delivery of Service
Upon receiving a VSR message, the SMPP control plane finds and
locates the target devices using SRR messages through the SMPS
resolution service, and then forwards the VSR to them. If a DID is
provided in the VSR, the control plane will resolve the device's
Locator. If only a UID is attached, it obtains a list of the user's
preferred devices, and then resolves their CoAs. After locating all
target devices, it forwards the VSR to them. For each device where
the request is accepted, the SMP service module at its SMPA invokes
the video application to connect to SMPP with the input of a service
identity (SID), which is the concatenation of the device's DID and
the shared video URL. Each SID, which is globally unique, is used to
identify an ongoing service. The SMPP data plane subsequently
obtains the video URL from the SID and requests the video service on
behalf of the application.
5.2. Service Migration Triggers
Service migration can be triggered by either the user or the network.
For the user-triggered mode, each user requests service migration
through issuing a command on the SMPA user interface. The command
requires the user to select an ongoing service and the target device
to which the service is migrated. The SMP service module then sends
a MFR message to SMPP to trigger migration. For the network-
triggered mode, the SMPP data plane monitors the reception quality
feedback of each session, and triggers service migration if a
specified threshold is reached. We here consider the video service
delivered within RTP sessions, so it continually examines the
receiver reports carried in each session's RTCP packets to see
whether the fraction of the lost RTP packets exceeds the threshold.
Whenever detected, its service migration is triggered on the control
plane, the corresponding device will be notified, and its SMPA will
then send a MFR to SMPP after its owner's confirmation.
5.3. How to Migrate an Ongoing Session?
After a migration is triggered by the user or the network, the
control plane asks the new device to prepare for service reception,
and then switches the service from the old device to the new one.
With the DID in MFR, it uses a SRR to resolves the new device's
Locator, and sends a MTR with the migrated session's SID to its SMPA.
The SMP service module then invokes the device's video application
with a temporary SID, which is the concatenation of the old SID and
the device's DID, to connect to SMPP. This indicates that the
application needs to obtain the session description to set up a
Li, et al. Expires May 9, 2013 [Page 10]
Internet-Draft Multimedia Service Migration for SUMD November 2012
session. SMPP always caches the session description of each ongoing
session so that it can respond a new version description with some
necessary changes to it. Based on the temporary SID, the data plane
updates the migration information, which includes a new SID and the
new device's DID and address, to its update module. The new SID can
be generated by excluding the old device's DID from the temporary
SID. At the end, the update module commits this update into the
forwarding table based on the rules on when to switch service.
5.4. When to Switch Service?
The timing for switching a service to the new device by committing
the update information into its forwarding entry depends on the
service type. We consider only the MPEG4-encoded video services in
this work, but the design can be easily applied to other video
formats in the same manner. Based on the characteristics of MPEG4
video, a large portion of packets cannot be successfully decoded
without their adjacent packets. Its video content is partitioned
into multiple groups, each of which is a Group of Pictures (GOP) and
can be decoded individually. Each GOP has three types of frame:
I-frame, P-frame and B-frame. Each frame is composed of multiple
packets. An I-frame starts a GOP and does not depend on any frame,
whereas P-frame and B-frame, both of which depend on others, follow
it. To minimize transient frame loss, the timing of switching
service should be right before the first packet of a GOP; otherwise,
the new device would not be able to decode the first GOP it receives.
Once the data plane gets a session's update, it starts to monitor its
data packets until the update is committed. Upon receiving the first
packet of the followup GOP, it commits the update into the forwarding
table and the session's data packets start to be forwarded to the new
device.
5.5. SMP Service Procedure
This section contains the procedure of the SMP service.
5.5.1. Best Delivery of Service
In Figure 2, Alice wants to share a video clip with Bob by clicking
"Share video" button, selecting "Bob" from her contact list and
inputting the video's URL on her laptop's SMPA. This video service
can be provided by the video server at her laptop or other service
sources. Her laptop's SMPA sends a VSR to SMPP after receiving the
command, and then SMPP discovers the Bob's most appropriate device at
the time using a SRR through SMPS. The VSR is then forwarded to the
SMPA at Bob's office laptop, which has the highest priority during
daytime and remains online. A confirmation is then shown on his
laptop's SMPA. After Bob clicks its "Accept" button, SMPA invokes
Li, et al. Expires May 9, 2013 [Page 11]
Internet-Draft Multimedia Service Migration for SUMD November 2012
the video application to connect to SMPP. SMPP then requests the
video and bridges the corresponding session.
+--------+ +--------+
| Alice | | Bob |
+-+------+ +------+-+
|(1) (5)(9)|
| +------------+ +----------------+ |
| | Laptop | | Phone | |
| | +--------+ | (2)VSR (12)MTR | +------------+ | |
|--+>| SMPA |-+----- |-------------+>| SMPA | | |
| +--------+ | | | | +-----+------+ | |
| +--------+ | | | | |(13) | |
| | Video | | | | | +-----+------+ | |
| | Server |-+--| | | (14) | | Video | | |
| +--------+ | | | | |-----------+-| Application| | |
+------------+ | | | | | +------------+ | |
| | | | +----------------+ |
(8)| | | | +----------------+ |
| \ | | | Laptop | |
+--------+ +--------+ (4)VSR | +------------+ | |
| | SRR | |----------+>| SMPA |<+--|
| SMPS |<------>| SMPP |<---------+-+-----+------+ |
| | (3)(11)| | (10)MFR | |(6) |
+--------+ +--------+ | +-----+------+ |
| | | Video | |
|--------------+-| Application| |
(7) | +------------+ |
+----------------+
Figure 2: SMP Service Procedure.
5.5.2. User-triggered Service Migration
Before leaving the office, Bob wants to switch the video service from
his laptop to his phone. From Step 9 in Figure 2, he clicks "Service
Migration" button, selects his phone from his contact list and
selects this ongoing service on SMPA. SMPA then sends a MFR with the
service's SID to SMPP. In turn, SMPP locates Bob's phone using a SRR
through SMPS, and sends a MTR to the phone's SMPA. Upon receiving
this request, the SMPA invokes the video application to connect to
SMPP. The service will be switched to the phone after certain
latency and the session of the laptop's application is halted.
Li, et al. Expires May 9, 2013 [Page 12]
Internet-Draft Multimedia Service Migration for SUMD November 2012
6. Naming and Namespace Management
In this section, we introduce the namespace design in SMP and several
basic management functions.
6.1. Naming Principles
The namespace is designed by both taking the ID/Locator split
approach and meeting the requirements of the single-user, multi-
device scenario. We organize it into three layers: Name, ID, and
Locator. They are joined with two-dimensional (2D) mapping: Name to
ID to Locator, User ID (UID) to Device IDs (DIDs).
6.1.1. Name/ID/Locator
The SMP system maintains a namespace group for each user, based on
which the contact list in the SMPAs at his/her devices is kept. In
the contact list, friends (users) and devices are recognized via user
names (UNs) and device names (DNs), respectively. In each namespace
group, the names, which are changeable and human-readable, are
assigned by its owner. The UN of each friend should be unique and
the DN of each device needs to be unique in its owner's device set.
Two identities, UID and DID, are introduced to identify the user and
the device, respectively. DID substitutes for the identity role of
IP address so that the IP address only serves as the locator. Both
UID and DID are globally unique and persistent. The email address
used to register the SMP system by each user is considered as his/her
UID. A device's DID, which is represented in the DNS-like dotted
notation, is generated by combining its owner's UID with its name
that is initially specified by its owner. The initial device name
has to be unique in the owner's device set so that DID can ensure
global uniqueness with UID. For example, Bob registers his UID as
bob@ucla.edu and the DID of his laptop, named laptop at its
registration, would be laptop.bob@ucla.edu.
6.1.2. 2D Name Mapping
Each locally unique UN or DN is associated with a globally unique UID
or DID, respectively. Each DID is mapped to its care-of IP address
(CoA). The former mapping is maintained in each namespace group,
whereas the latter is managed in the global namespace at SMPS.
Devices can discover each other with the peer's DID through the DNS-
like resolution service at SMPS. Another dimension of the mapping is
between a UID and (multi-)DID as a user may own multiple devices. It
can be done by the identity itself because each DID contains its
owner's UID.
Li, et al. Expires May 9, 2013 [Page 13]
Internet-Draft Multimedia Service Migration for SUMD November 2012
6.2. Namespace Management
Each user has a namespace group in the SMPAs of his/her devices, in
which (s)he manages his/her own devices and keeps the information of
his/her friends and their devices. SMPS manages the global
namespace, which contains all namespace groups and the preference
setting of each user, as well as both the CoA and the status of each
device. A user's preference setting is the ranking of preferred
device(s) by the user for different scenarios, whereas a device's
status can be online, offline, busy or away. A namespace group is
constructed mainly via two functions: service registration, and user
and device introduction. In order to keep the global namespace to be
consistent with each namespace group, the functions of namespace
state synchronization and mobility management are introduced. These
four functions are supported by the collaboration between the
namespace sync module at SMPA and the namespace management module at
SMPS.
6.2.1. Service Registration
Each user needs to register the SMP system with his/her email through
an installed SMPA at any of his/her devices before using SMP service.
His/her namespace group will then be created, which initially
contains only the information of the device used for registration.
6.2.2. User and Device Introduction
In the SMP system, users or devices can introduce with each other
using two schemes: Local Rendezvous and Centralized Coordination.
The owner(s) of two devices can connect both of them to a shared
local wireless network such as WiFi or Bluetooth, and apply the local
rendezvous scheme in SMPA, which is similar to Apple's Bonjour
[Bonjour], to find each other. One end initializes the introduction
process and the other acknowledges the request. If both of them
belong to the same owner, one of the devices should be newly
introduced and will thus be added into the owner's personal
namespace. Then, each namespace group with this personal namespace
will also be updated. However, if their owners are different,
through user introduction, each user's personal namespace will be
inserted into the other's namespace group. The medium used for local
rendezvous is not limited to WiFi or Bluetooth, since E-mail and SMS
are also applicable.
User and device introduction can also be done by issuing requests
through the SMPS coordination. In the former, either of two ends
issues a request to SMPS through SMPA at one of his/her devices, and
this request will be subsequently sent to the SMPAs at all other
devices. S(he) can confirm it on any device. In the latter, a user
Li, et al. Expires May 9, 2013 [Page 14]
Internet-Draft Multimedia Service Migration for SUMD November 2012
can issue requests directly to SMPS through any of his/her online
devices.
6.2.3. Namespace State Synchronization
SMPA uses periodic heartbeat messages to maintain its device's status
and employs the latest modification timestamp to check whether it
should synchronize its namespace with SMPS or not. SMPS responds to
each heartbeat message with the information of all changes on the
devices' status in the SMPA's namespace group. SMPA then updates
these changes in its contact list. When SMPS detects the loss of
several consecutive heartbeat messages within certain time period,
the device's status will become off-line. To reduce the overhead of
namespace synchronization, only the latest modification timestamp of
the SMPA's namespace group is included in the heartbeat messages. If
it is different from the timestamp in the SMPS database, SMPA will
synchronize its namespace group with SMPS. The fact that many
modifications may happen after the latest synchronization may result
in namespace conflicts between SMPS and SMPA. We make each of SMPS
and SMPA keep all the logs of its modifications. They can obtain the
updated information by reorganizing the updates and applying them in
time order. After resolving conflicts, they update the current time
to their latest modification timestamp.
6.2.4. Mobility Management
The namespace sync module at SMPA continually monitors the change of
its device's CoA. Upon detection, the new CoA will be immediately
updated to the global namespace database through the namespace
management module at SMPS.
7. IANA Considerations
This memo includes no request to IANA.
8. Security Considerations
The security aspects of the proxy-based applications also apply to
this memo. TBC.
9. Informative References
[Bonjour] "Apple computer, inc. Bonjour",
<http://developer.apple.com/networking/bonjour>.
Li, et al. Expires May 9, 2013 [Page 15]
Internet-Draft Multimedia Service Migration for SUMD November 2012
[Qik] "Qik: an application for instant video sharing",
<http://qik.com>.
[VLC] "VLC: an open source multimedia solution",
<http://www.videolan.org>.
[YouTube] "Youtube", <http://www.youtube.com>.
Authors' Addresses
Chi-Yu Li
UCLA
4681 Boelter Hall
Los Angeles, CA 90095
USA
Phone: +1 323 528 1039
Email: lichiyu@cs.ucla.edu
Bojie Li
Huawei
Shenzhen,
P.R.C.
Phone: +86 755 2878 0808
Email: libojie@huawei.com
Chenghui Peng
Huawei
Shenzhen,
P.R.C.
Phone: +86 755 2878 0808
Email: pengchenghui@huawei.com
Wei Zhang
Huawei
Shenzhen,
P.R.C.
Phone: +86 755 2878 0808
Email: wendy.zhangwei@huawei.com
Li, et al. Expires May 9, 2013 [Page 16]
Internet-Draft Multimedia Service Migration for SUMD November 2012
Songwu Lu
UCLA
4731C Boelter Hall
Los Angeles, CA 90095
USA
Phone: +1 310 794 9289
Email: slu@cs.ucla.edu
Li, et al. Expires May 9, 2013 [Page 17]