One document matched: draft-schulzrinne-mmusic-sharing-00.txt
MMUSIC H. Schulzrinne
Internet-Draft J. Lennox
Expires: March 27, 2005 J. Nieh
R. Baratto
Columbia U.
September 26, 2004
Sharing and Remote Access to Applications
draft-schulzrinne-mmusic-sharing-00
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 27, 2005.
Copyright Notice
Copyright (C) The Internet Society (2004).
Abstract
We describe requirements for accessing general graphical user
interface (GUI) applications remotely, either by a single remote user
or embedded into a multiparty conference.
Schulzrinne, et al. Expires March 27, 2005 [Page 1]
Internet-Draft Sharing September 2004
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Overall Functional and Architectural Requirements . . . . 4
2.2 Input . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Video Output . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Audio and Full-Motion Video . . . . . . . . . . . . . . . 6
2.5 Transport Usage and Requirements . . . . . . . . . . . . . 6
3. Security Considerations . . . . . . . . . . . . . . . . . . . 6
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1 Normative References . . . . . . . . . . . . . . . . . . . . 7
5.2 Informative References . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 7
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
Intellectual Property and Copyright Statements . . . . . . . . 9
Schulzrinne, et al. Expires March 27, 2005 [Page 2]
Internet-Draft Sharing September 2004
1. Introduction
While two-party and multi-party conferencing using standards-based
protocols is now common and well-developed, protocols for sharing
applications are largely proprietary or based on the aging T.120
suite of protocols. In this draft, we summarize some requirements
that a protocol or set of protocols for application sharing should
satisfy.
We note that there are large similarities between remote access to an
application ("remote desktop") and by multiple users sharing an
application within a collaboration setting such as a multimedia call
or multiparty conference.
Remote access differs from the transmission of screen video pixels in
the type of encoding needed. In particular, screen encoding may need
to be lossless and typically operates on artificial rather than
natural (photographic) video input. The video input is characterized
by large areas of the screen that remain unchanged for long periods
of time, while others change rapidly. (However, rendering the output
of a modern computer-generated animation application such as video
games blurs the distinction between traditional motion video output
and screen sharing.)
Unlike earlier systems, such as T.120, we believe that application
sharing should be integrated into the existing IETF session model,
encompassing session descriptions using SDP or successors and the
Session Initiation Protocol (SIP). Application sharing needs many of
the same control functions as other multimedia sessions, such as
address binding and session feature and media negotiation. We
believe that use of the session model is also beneficial for the
remote desktop case, as it allows to re-use many of the
well-developed session components and easily supports hybrid models,
such as the delivery of desktop audio to the remote user.
We distinguish between local and remote users. The local users
employs normal operating system mechanisms to interact with the
running application. Remote users interact via the delivery protocol
whose requirements are outlined here.
The application sharing problem can be divided into four components:
(1) setting up a session to the node running the application, (2)
transporting user input events from the remote viewers such as
conference participants to the application, (3) delivering screen
output from the application to the participants, (4) moderating
access to shared human interface devices such as pointing devices
(e.g., mice, joystick, trackball) and text input (keyboard). We
refer to components (3) and (4) as the "remoting protocol". It is
Schulzrinne, et al. Expires March 27, 2005 [Page 3]
Internet-Draft Sharing September 2004
the focus of this document.
Session negotiation and description can be provided by existing
session setup protocols; user input access can be moderated by a
floor control protocol. Thus, these two components are beyond the
scope of this document, although they are important for an acceptable
overall user experience.
Applications are more than just windows; they are likely a stack of
related windows which serve the same task and are usually associated
with the same process on the server. Some applications impose
special constraints on the user input, e.g., through modal dialogs
and floating (always-on-top) windows.
We believe that filtering what a remote user of a desktop is allowed
to do with their control of an application or desktop keyboard and
mouse input is out of scope; it's the same as the local user.
However, it may be necessary to sandbox applications in some cases,
with sandbox control outside the view of the remoting protocol.
2. Requirements
2.1 Overall Functional and Architectural Requirements
F-1 There are two use cases, namely application sharing and remote
desktop. For application sharing, a user wants to show another
user an application, e.g., to work within the application
collaboratively. For remote desktop sharing, the user wants to
manipulate a desktop or GUI-based application from somewhere
other than where the applications are running.
F-2 Both whole desktops (screens) and applications must be shareable.
Applications may display one or more windows, with the number and
position of these windows possibly changing during the session.
F-3 Any numbers of viewers should be able to watch the same
application or desktop. Evolving floor control mechanisms
determine determine who gets to send input to them and, thus,
negotiation of user input is beyond the scope of the protocol.
F-4 In most cases, applications cannot be modified to work with the
remoting protocol. Thus, application sharing tools intercept
windowing system APIs at some level. Modifications would most
likely be required to applications to allow sending full-motion
video separately.
F-5 Any protocol negotiation occurs at the session setup level, and
is capability-based, not version-based.
F-6 Modular architecture: the components (session negotiation, floor
control, graphical output delivery, user input conveyance) should
be independent so that they can be replaced separately.
Schulzrinne, et al. Expires March 27, 2005 [Page 4]
Internet-Draft Sharing September 2004
2.2 Input
I-1 A desktop or applications might or might not have an actual
monitor, keyboard or mouse attached.
I-2 Input needs to be private, authenticated, integrity-protected,
and access-controlled.
I-3 In most cases, at most one remote user at a time can provide
input; however, remote and local input might occur
simultaneously. The protocol must not restrict the number of
simultaneous input sources.
I-4 The remoting protocol needs to be able to convey user input
hints, such as modal input. (In model input, input focus is
forced into a specific window within a set of windows belonging
to an application.)
I-5 The application should be able to indicate which window has
focus, to allow appropriate rendering of the window decoration at
the remote host.
I-6 Relative timing information for user input may be needed for some
applications, such as video games.
I-7 Internationalization: Two end systems may not have the same kind
of keyboard.
I-8 Open issue: Can copy-and-paste be supported between the
application and the remote user?
2.3 Video Output
V-1 The receiving end system may have a different color depth or
screen resolution than the application host.
V-2 The application video output may consist of different types of
video, some of which may be able to tolerate lossy encoding. For
example, a video streaming application consists of a set of user
interface elements that need to be rendered without distortion,
while the motion video itself may well tolerate some encoding
loss.
V-3 The remoting protocol must be able to convey window layering
hints, such as forcing a window to be always on top.
V-4 Some windowing systems allow semi-transparent windows, with
varying alpha.
V-5 Relative timing information between updates may be needed to
render smooth motion.
V-6 Absolute timing information may be needed to synchronize video
output with other remote-source output, such as audio.
V-7 Since different encoding algorithms have different
efficiency-complexity trade-offs, the remoting protocol must
allow a variety of encoding techniques.
Schulzrinne, et al. Expires March 27, 2005 [Page 5]
Internet-Draft Sharing September 2004
V-8 Two end systems may not have the same set of fonts installed or
available.
2.4 Audio and Full-Motion Video
A-1 Applications that are being shared also must be able to share
audio streams, time-synchronized with the visual aspects of the
application.
A-2 Some applications may also want to send full-motion video
directly from the application, time-synchronized with the GUI and
the audio stream.
A-3 Due to bandwidth constraint, the receiver may choose not to
receive all screen updates. (Example: an area of the screen may
contain full-motion video.)
2.5 Transport Usage and Requirements
T-1 Some remoting applications require perfect reliability, flow- and
congestion control, for both input and output.
T-2 Some applications need to deliver output to a large number of
receivers, possibly relaxing reliability. Thus, support for a
variety of transport protocols, including reliable multicast, is
needed.
T-3 Applications may be remoted across networks with different
bandwidth characteristics.
T-4 Latency, for both input and output, must be minimized to maintain
interactivity.
T-5 The protocol must support both high-latency and low-latency
environments.
3. Security Considerations
Both input and output data may be highly sensitive. For example,
input data may contain user passwords. Thus, encryption of all user
input is likely to be required. For some applications, such as
sharing slides during a public lecture, confidentiality for user
output may not be required. Given the broad set of applications, the
remoting protocol MUST support or be able to leverage end-to-end
confidentiality and integrity protection mechanism.
Application sharing inherently exposes the shared applications to
risks by malicious participants. They may, for example, access
resources beyond the application itself, e.g., by installing or
running scripts. It may be difficult to constrain access to specific
user data, e.g., a specific set of slides, unless the user
application can be run in some kind of "jail".
Schulzrinne, et al. Expires March 27, 2005 [Page 6]
Internet-Draft Sharing September 2004
4. IANA Considerations
There are no IANA considerations for this document.
5. References
5.1 Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
5.2 Informative References
Authors' Addresses
Henning Schulzrinne
Columbia University
Department of Computer Science
450 Computer Science Building
New York, NY 10027
US
Phone: +1 212 939 7004
EMail: hgs+mmusic@cs.columbia.edu
URI: http://www.cs.columbia.edu
Jonathan Lennox
Columbia University
Department of Computer Science
450 Computer Science Building
New York, NY 10027
US
Phone: +1 212 939 7000
EMail: lennox@cs.columbia.edu
URI: http://www.cs.columbia.edu
Schulzrinne, et al. Expires March 27, 2005 [Page 7]
Internet-Draft Sharing September 2004
Jason Nieh
Columbia University
Department of Computer Science
450 Computer Science Building
New York, NY 10027
US
Phone: +1 212 939 7000
EMail: nieh@cs.columbia.edu
URI: http://www.cs.columbia.edu
Ricardo Baratto
Columbia University
Department of Computer Science
450 Computer Science Building
New York, NY 10027
US
Phone: +1 212 939 7000
EMail: ricardo@cs.columbia.edu
URI: http://www.cs.columbia.edu
Appendix A. Acknowledgements
TBD
Schulzrinne, et al. Expires March 27, 2005 [Page 8]
Internet-Draft Sharing September 2004
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Schulzrinne, et al. Expires March 27, 2005 [Page 9]
| PAFTECH AB 2003-2026 | 2026-04-23 09:14:21 |