Internet DRAFT - draft-yan-rtcweb-desktop-cloud

draft-yan-rtcweb-desktop-cloud






RTCWeb WG                                                         M. Yan
Internet-Draft                                                   X. Chen
Intended status: Informational             Huawei Technologies Co., Ltd.
Expires: March 16, 2013                               September 12, 2012


                  WebRTC Realization in Desktop Cloud
                 draft-yan-rtcweb-desktop-cloud-00.txt

Abstract

   The Web Real-time Communications (WebRTC) provides the communication
   capabilities for real-time and peer-to-peer web-based applications.
   This draft is meant to provide the structure for an idea of how
   WebRTC works on the desktop cloud solution and gives guidance on how
   to overcome the issues and challenges in implementing and deploying.
   Also as discussed in the mail archive before, the use case for
   desktop cloud or remote desktop sharing is suggested to be delayed
   after WebRTC version 1.  So this draft is very early and far from
   done.

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 March 16, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.



Yan & Chen               Expires March 16, 2013                 [Page 1]

Internet-Draft     WebRTC Realization in Desktop Cloud    September 2012


   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  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Common desktop cloud device and their properties  . . . . . . . 3
   3.  Specific issues and how to deal with them . . . . . . . . . . . 4
     3.1.  RTP lag . . . . . . . . . . . . . . . . . . . . . . . . . . 4
     3.2.  Data channel  . . . . . . . . . . . . . . . . . . . . . . . 5
     3.3.  SDP negotiation . . . . . . . . . . . . . . . . . . . . . . 6
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 7




























Yan & Chen               Expires March 16, 2013                 [Page 2]

Internet-Draft     WebRTC Realization in Desktop Cloud    September 2012


1.  Introduction

   The Web Real-time Communications (WebRTC) provides the communication
   capabilities for real-time and peer-to-peer web-based applications.
   This document describes how WebRTC can be implemented in the desktop
   cloud solution, including support for WebRTC application separating,
   data channel between remote peer and local system and SDP negotiation
   for two remote peers.

   The desktop cloud enables users to access cross-platform applications
   and even the entire desktop through the remote peer which known as
   thin clients (TCs) or any other devices connected to the Internet.
   In many cases users use the browser in TCs to visit the local system
   which known as network computers (NCs) in the desktop cloud servers.
   WebRTC should be supported in this scene.

   For the "Web Real-Time Communication Use-cases and Requirements"
   4.2.8 has illustrated the screen sharing for simple video
   communication service, this document focuses on the remote desktop
   sharing for audio and video in the cloud desktop solution.  Section 2
   of this document gives an overview of the characteristics of common
   desktop cloud device as background for further discussion.  Section 3
   introduces the specific issues that WebRTC protocols and applications
   should take into consideration in implementing the desktop cloud.

   The current version of the document misses all references and lot of
   details.  It may have some errors.  Its purpose is to get attention
   to the topics it raises and start discussion about them.


2.  Common desktop cloud device and their properties

   The most relevant desktop cloud device for WebRTC is the desktop
   cloud terminal and the applications running on it.  Many
   characteristics of the desktop cloud device are covered in Section 3
   in the context of the particular issues under discussion.  The
   following is the very brief description of common desktop cloud
   device and the applications running on it.

   The desktop cloud terminal built on the basis of virtual networking
   technology can be divided into two parts: the network computers (NCs)
   which can be considered as local system and thin clients (TCs) which
   can be considered as the remote peer.  The remote peer can control
   the local system through kind of remote desktop sharing protocol by
   one or more input types such as mouse and keyboard.  Thus the browser
   or other system resources on local system can be accessed by the
   remote peer.




Yan & Chen               Expires March 16, 2013                 [Page 3]

Internet-Draft     WebRTC Realization in Desktop Cloud    September 2012


   When a native VoIP application installed on NCs, it offers the audio
   and video features to users by using the input/output device on the
   TCs.  The virtualization tier of NCs can encode the RTP stream which
   is sent to TCs through the remote desktop sharing protocol.  The
   virtualization tier of TCs then decodes the RTP stream to export to
   its output device.  The SDP negotiation could be done between two NCs
   for their own TCs.


3.  Specific issues and how to deal with them

3.1.  RTP lag

   In the desktop cloud solution, the media stream would have one extra
   codec operation from NCs to TCs as described in Section 2.  NCs will
   decode the RTP stream received from the other NCs and encode it
   through its virtualization tier before sending to TCs.  The one extra
   codec operation will cause the obvious lag between the data transfer
   and media transfer.


               +--------+                           +--------+
               |   TC1  |                           |   TC2  |
               +--+--+--+                           +--+--+--+
     media tracks |  ^  media tracks     media tracks  ^  | media tracks
   (before coding)|  |(after decoding) (after decoding)|  |(before coding)
                  V  |                                 |  V
               +--+--+--+         media steam       +--+--+--+
               |   NC1  |       (after coding)      |   NC2  |
               |(WebRTC)|< ----------------------- >|(WebRTC)|
               +--------+                           +--------+

           Figure 1: Data and media Non-seperating Architecture

   Thus, to make the WebRTC application used on cloud desktop terminal
   appropriately, we need to separate the WebRTC application into two
   parts: part1 on the TCs is the presentation tier and the interface
   tier, and part2 on the NCs is the business logic tier.  Here TCs do
   the media stream transferring through their browsers, while NCs do
   the other stream transferring through their browsers, like data,
   files or session negotiation control signals.










Yan & Chen               Expires March 16, 2013                 [Page 4]

Internet-Draft     WebRTC Realization in Desktop Cloud    September 2012


    +----------------+      Media Stream       +----------------+
    |       TC1      |      (after coding)     |       TC2      |
    | (WebRTC part1) |< -------------------- > | (WebRTC part1) |
    +----------------+                         +----------------+
            ^                                          ^
            |      Message                             |    Message
            | exchange between                         | exchange between
            |     two part of                          |   two part of
            |        WebRTC                            |     WebRTC
            V                                          V
    +----------------+                         +----------------+
    |       NC1      |      Other Stream       |       NC2      |
    | (WebRTC part2) |< -------------------- > | (WebRTC part2) |
    +----------------+                         +----------------+

             Figure 2: Data and media Seperating Architecture

3.2.  Data channel

   Some interactive messages are needed between NCs and TCs.  These
   messages could be divided into two types.  One is control message,
   which is used by NCs to control the multi-media communication process
   in TCs and get feedback from WebRTC application in TCs.  The other is
   negotiation message, which is used for negotiating the media and
   transporting information between two TCs.  In WebRTC, these messages
   are encapsulated in SDP.  TCs should exchange SDP through NCs,
   because WebRTC application in TCs is acted as a part of WebRTC
   application in NCs.  It is not suggested for TCs to communicate with
   each other by themselves.

   So the data channel between TCs and NCs is necessary.  Now the data
   channel in the desktop cloud between TC and NC are the remote desktop
   sharing protocols such as VNC/ICA/PCoIP/RDP etc.  These remote
   desktop sharing protocols are open-sourced or private protocols which
   are not suggested to be used for messages transferring between WebRTC
   applications.

   So here is the second issue for two WebRTC applications on cloud
   desktop: the data channel establishment between the two part of
   WebRTC applications in TCs and NCs.  The SCTP based data channel in
   WebRTC could be used for this requirement.  There are some optional
   methods to use the data channel.  One is establishing a new data
   channel between NCs and TCs.  That means a new WebRTC application is
   needed in both NCs and TCs.  This new WebRTC application is just
   responsible for the message exchange between NCs and TCs.  Another
   one is integrating the data channel between TCs and NCs into the
   WebRTC ability.  Although the WebRTC application in NCs and TCs are
   two different entities, the WebRTC application in TCs is under the



Yan & Chen               Expires March 16, 2013                 [Page 5]

Internet-Draft     WebRTC Realization in Desktop Cloud    September 2012


   control of the WebRTC application in NCs.  They should be considered
   as a whole application, but have been divided to two parts and run in
   two browsers.  If the WebRTC can support to establish an additional
   data channel between these two applications, it will be a better way
   to solve the message exchange issue between NCs and TCs.

3.3.  SDP negotiation

   The deployment of separated WebRTC applications on cloud desktop
   device provides two methods for SDP negotiation between TCs.  One is
   to keep TCs and NCs as entire entity that TC1/TC2's SDP information
   should be transferred to NC1/NC2 through the data channel mentioned
   in 3.2.  NCs do the negotiation under the proxy of WebRTC Web server.
   Another is TCs do the SDP negotiation by themselves which is not
   suggested because TCs only allowed for media stream transferring.


    +----------------+                         +----------------+
    |       TC1      |                         |       TC2      |
    | (WebRTC part1) |                         | (WebRTC part1) |
    +----------------+                         +----------------+
            ^                                          ^
            |      Session                             |    Session
            | Negotitaion message                      | Negotitaion message
            |      between                             |   between
            |    TC1 and TC2                           |  TC1 and TC2
            V                                          V
    +----------------+                         +----------------+
    |       NC1      |                         |       NC2      |
    | (WebRTC part2) |                         | (WebRTC part2) |
    +----------------+                         +----------------+
             \                                         /
                \                                   /
                   \         Relay Session       /
                      \       Negotitaion     /
                         \      message    /
                         +-----------------+
                         |    Web Server   |
                         +-----------------+

                   Figure 3: SDP Negotiation Between TCs


4.  IANA Considerations

   This document contains no IANA considerations.





Yan & Chen               Expires March 16, 2013                 [Page 6]

Internet-Draft     WebRTC Realization in Desktop Cloud    September 2012


5.  Security Considerations

   Not explicitly covered in this version.


6.  References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.


Authors' Addresses

   Michael Yan
   Huawei Technologies Co., Ltd.
   Hangzhou,
   P.R.China

   Email: michael.yan@huawei.com


   Chen Xin
   Huawei Technologies Co., Ltd.
   Hangzhou,
   P.R.China

   Email: hangzhou.chenxin@huawei.com
























Yan & Chen               Expires March 16, 2013                 [Page 7]