Internet DRAFT - draft-li-appsawg-virtualized-application-protocol
draft-li-appsawg-virtualized-application-protocol
APPSAWG K. Li
Internet-Draft Huawei Technologies
Intended status: Informational March 12, 2012
Expires: September 13, 2012
Virtualized Application: Problem Statement
draft-li-appsawg-virtualized-application-protocol-01
Abstract
Virtualized Application aims to enable the user device to remotely
consume various applications on the network. This involves having
all the virtualized applications hosted in the network and from there
providing them to the users using cloud computing technologies like
virtualization. This document tries to explain the problems to
achieve the virtualized applications.
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 September 13, 2012.
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
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
Li Expires September 13, 2012 [Page 1]
Internet-Draft VAP March 2012
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3
1.2. Terminology and Abbreviation . . . . . . . . . . . . . . . 3
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 4
3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Online Application Trials . . . . . . . . . . . . . . . . . 5
3.1.1. Short Description . . . . . . . . . . . . . . . . . . . 5
3.1.2. Market benefits . . . . . . . . . . . . . . . . . . . . 5
3.2. OS-independent application . . . . . . . . . . . . . . . . 5
3.2.1. Short Description . . . . . . . . . . . . . . . . . . . 5
3.2.2. Market benefits . . . . . . . . . . . . . . . . . . . . 6
3.3. Application session suspend resume . . . . . . . . . . . . 6
3.3.1. Short Description . . . . . . . . . . . . . . . . . . . 6
3.3.2. Market benefits . . . . . . . . . . . . . . . . . . . . 6
4. Architecture Overview . . . . . . . . . . . . . . . . . . . . . 6
4.1. Architecture Diagram . . . . . . . . . . . . . . . . . . . 6
4.2. Virtualized Application Client . . . . . . . . . . . . . . 7
4.3. Virtual Machine . . . . . . . . . . . . . . . . . . . . . . 7
5. Possible Standard Opportunities . . . . . . . . . . . . . . . . 8
6. Difference With Virtual Desktop Infrastructure Proposal . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . . 9
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
10. Normative References . . . . . . . . . . . . . . . . . . . . . 9
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9
Li Expires September 13, 2012 [Page 2]
Internet-Draft VAP March 2012
1. Introduction
The basic idea of the Virtualized Application is that, the applicaion
is running on the network server, the network server sends screen
streams to the user device, the user can use a client on the device
to view the screen streams. And the client can capture the user's
interaction with the application and send the user interactivity to
the network server. The network server renders user interactivity on
the hosted application. In this way, the user can remotely consume
various applications without installing the applciations on the user
device.
Virtualized Application provides some application consumption models:
o OS-Independent applications: This enables users to use
applications irrespective of the Operating System they are using.
This will increase the application availability for users and vice
versa.
o On-line applications: This allows users to use applications online
instead of downloading them on to their devices. This will allow
users to overcome terminal barriers (e.g memory) and accessing
virtualized applications from any terminal at any time.
o No-loss reconnection: This enables users to reconnect to an
abnormally suspended virtualized application session without
application data being lost.
1.1. 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].
1.2. Terminology and Abbreviation
o OS: Operation System
o VA: Virtual Application
o VAC: Virtual Application Client
o VM: Virtual Machine
Li Expires September 13, 2012 [Page 3]
Internet-Draft VAP March 2012
2. Problem Statement
With the advancement of high profile applications (e.g games) and
various available platforms, the service consumption is becoming
complex and difficult. The number of devices available with
different hardware and software specification is making things worse.
Applications are being developed for a particular platform and with
strict hardware and software requirements. These constraints mostly
proved to be a hurdle for the complete value chain:
o Users can only use applications which are compliant to their
device hardware and software platform specification.
o Content providers have to create multiple versions of the
application depending on which hardware and software platform they
want them to execute on.
o Despite of knowing this inconvenience of their users and partnered
Content Provider, service providers can't do much to help their
subscribers.
In an attempt to solve the problem, it is possible to optimize the
current application usage model by providing a unified platform
(cloud computing platform) which can host various applications,
enabling different content and services, remotely in the cloud and
provide them to the user using virtualization techniques (cloud
computing).
This will aid end-user to use virtualized applications irrespective
of the platform they are using with consistent user experience as
compared to using applications hosted locally on the device. The
user only needs to install Virtualized Application Client on his/her
device. In addition to that, developers don't have to create a
different version (for each mobile OS) of a single application, and
service providers can offer a larger selection of applications and
services to their end-users reducing costs.
Currently, most of existing Virtualized Application systems are based
on proprietary implementation, and targeting different market with
different features. Each of the current implementations provides
bundle of components based on proprietary implementation, it's
difficult to interwork between different vendors. Since virtualized
application technology is believed that it will become a mainstream
application delivery method, so it's important to make the
virtualized application access protocol open and standardized.
Li Expires September 13, 2012 [Page 4]
Internet-Draft VAP March 2012
3. Use Cases
3.1. Online Application Trials
This use case describes how a user can try-out the application
remotely on the server-side without first downloading them on his/her
device.
Note: There might be another use case when a user want to suspend and
resume an application session voluntarily.
3.1.1. Short Description
Alice goes to a SP (App Store) searching for an application related
with racing games. She found one application which cost about $20.
Considering the cost Alice went into dilemma whether to buy that
application or not. She found a button saying "On-line Trial", she
clicked that button and a window popped-up on her mobile device in
which the games got initialized instantly. She tried that game,
played for about 10-15 minutes and decided to go for that game. She
then went for the download/buy process.
3.1.2. Market benefits
Alice doesn't have to first choose, buy, download, install, run, play
the game and then in case she doesn't like it uninstall, probably ask
for refund and then again start from choosing another game. Instead,
she can go for online trial, make up her mind and then buy and
download the game.
3.2. OS-independent application
This use case describe how a user can use any application
irrespective of the device platform he/she is using and the device
platform the application is built for. This is achieved by hosting
applications on the network-side and allowing users to use that
application remotely from their terminal.
3.2.1. Short Description
Alice is having a device with Symbian OS. She goes to an App Store
with an intention to buy an application. She liked an application
but found that the application is for Andriod device only. She was
also provided with an option to use that application from any OS i.e
"Online Subscription". Alice found it feasible to go for this option
and successfully subscribed for the "Online Subscription" for that
application. Now Alice can use this application online as and when
required irrespective of the OS that she is using.
Li Expires September 13, 2012 [Page 5]
Internet-Draft VAP March 2012
3.2.2. Market benefits
User doesn't have to take their device platform in consideration
while choosing a suitable application of their needs. Developers
don't have to create different version (for each mobile OS) of a
single application.
3.3. Application session suspend resume
This use case describes how a user can reconnect to the UVE enabled
services in case of an unexpected connection failure. This also
explains what user can get (or expect) at the reconnection.
3.3.1. Short Description
Alice is using a UVE enabled application. Alice is allowed to save
the application state at any time.
At some point of time after getting disconnected, due to any reason
(e.g bad network), Alice tries to reconnect with the application. At
the reconnection, Alice is provided with an option to reload the
application from one of the saved states. Alice then continues using
the application from that state.
It is possible that Alice did not save the application. In this
case, at reconnection, Alice continues using the application from the
point where she was disconnected.
3.3.2. Market benefits
This will enable service continuity for users.
4. Architecture Overview
4.1. Architecture Diagram
The architecture diagram is shown below.
----------------- --------------------
| | | |
| Virtualized | Virtualized | |
| Application | <--------------> | Virtual Machine |
| Client | Application | |
| | Protocol | |
----------------- --------------------
Li Expires September 13, 2012 [Page 6]
Internet-Draft VAP March 2012
Figure 1: Architecture Diagram
4.2. Virtualized Application Client
Virtualized Application Client is a device side component residing in
the terminals enabling virtualized applications and utilizing
virtualization technology to enable underlying operating system
agnostic applications. It is mainly responsible for:
o Output rendering: On receiving Output Stream form Virtual Machine,
Virtualized Application Client renders Output Stream to the user.
o Interaction provisioning: Virtualized Application Client is also
responsible to transfer interactions commands to the Virtual
Machine, where they get executed on the Virtualized Application
Client.
o Local Resource Provisioning: Virtualized Application Client is
responsible for providing local resource to Virtual Machine as per
the client requirements. Client may use local device APIs to get
the Local Resource data.
4.3. Virtual Machine
Virtual Machine is a server side component emulating different
operating systems and responsible for::
o Application Hosting: The basic responsibility of Virrual Machine
is to host the Virtualized Applications. The Virtualized
Application can be hosted on Virtual Machine dynamically at
runtime or they can be pre-configured.
o Output generation: Virtual Machine is the entity which will
actually interact with Virtualized Application Client in the
Virtualized Application session. One of the main responsibilities
of Virtual Machine is to capture the application display
periodically and creating a single video stream (Output Stream) to
be transferred to Virtualized Application Client. Where, that
will be rendered to the user by Virtualized Application.
o Local Resource Rendering: Virtual Machine is responsible to
provide Local Resource data (received from Virtualized Application
Client) to the Virtualized Application.
o Interaction Execution: Virtual Machine is responsible to execute
interaction commands on the Virtualized Application.
Li Expires September 13, 2012 [Page 7]
Internet-Draft VAP March 2012
5. Possible Standard Opportunities
A standardized protocol is needed, to exchange request/response
between Virtualized Application Client and Virtual Machine. The
message exchanges may include:
o Application Session Request: Client can request an application
session with the Virtual Machine. The parameters may include:
screen coordinate, device capability, mouse action (left click,
right click, scroll down, scroll up), keyboad keys, compass.
o Output Stream Response: Virtual Machine sends application output
streams to the Virtualized Application Client. It can be based on
the stream transmission protocols, for example, RTSP.
o Sesssion Suspend Request/Response: Client can request to suspend
an application session, and Virtual Machine should keep the
application state and send response to Client.
o Session Resume Request/Response: Client can request to rwsume an
application session, and Virtual Machine should keep the
application state and send response to Client.
6. Difference With Virtual Desktop Infrastructure Proposal
Virtualized Desktop Infrastructure [
[I-D.wang-clouds-vdi-problem-statement]] aims to provide capability
for the client to access a remote virtual desktop using
virtualization technologies.
The differences between Virtualized Application and Virtualized
Desktop Infrastructure are:
o VDI focuses on the whole desktop, but virtualized application
focuses on one specific application, instead of the whole desktop.
o VDI requires the server to send the whole desktop stream to the
client, but virtualized application just needs to show the screen
for one specific application to the client.
o VDI requires the client to send the user interactivity to the
desktop to the Virtual Machine, but virtualized application just
needs to send user interactivity related to one specific
application.
o VDI will not use the local resource of the user device, but
Virtualized Application can use the local resource on the user
Li Expires September 13, 2012 [Page 8]
Internet-Draft VAP March 2012
device.
o VDI does not require session suspend/resume, but this is required
by Virtualized Application.
o VDI does not cover OS independent use case, usually the VDI Client
uses the same OS with Virtual Machine. But for Virtualized
Application, one main use case is to support OS-independent use
case, that means, client can use a different OS with Virtual
Machine.
7. IANA Considerations
This memo currently includes no request to IANA.
8. Security Considerations
User should be authenticated and authorized to consume the
Virtualized Applications hosted on the Virtual Machine.
9. Acknowledgements
Thanks to Deepanshu Gautam for the discussion and some initial texts.
10. Normative References
[I-D.wang-clouds-vdi-problem-statement]
Wang, J., Ma, S., and L. Liang, "Virtual Desktop
Infrastructure Problem Statement",
draft-wang-clouds-vdi-problem-statement-00 (work in
progress), January 2011.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Li Expires September 13, 2012 [Page 9]
Internet-Draft VAP March 2012
Author's Address
Kepeng Li
Huawei Technologies
Huawei Base, Bantian, Longgang District
Shenzhen, Guangdong 518129
P. R. China
Phone: +86-755-28974289
Email: likepeng@huawei.com
Li Expires September 13, 2012 [Page 10]