protocols for application and desktop sharing
play

Protocols for Application and Desktop Sharing - PowerPoint PPT Presentation

Protocols for Application and Desktop Sharing Audio/Video Transport Protocols for Application and Desktop Sharing draft-lennox-avt-app-sharing-00 IETF AVT Working Group Wednesday, March 9, 2005 Jonathan Lennox/Henning Schulzrinne/Jason


  1. Protocols for Application and Desktop Sharing Audio/Video Transport Protocols for Application and Desktop Sharing draft-lennox-avt-app-sharing-00 IETF AVT Working Group Wednesday, March 9, 2005 Jonathan Lennox/Henning Schulzrinne/Jason Nieh/Ricardo Baratto Columbia University { lennox,hgs,nieh,ricardo } @cs.columbia.edu March 9, 2005 1

  2. Protocols for Application and Desktop Sharing Audio/Video Transport Overview: Motivation • Want to be able to remotely view and access applications. – Currently: T.120, proprietary solutions, treat as video sources • Want to share existing, unmodified applications. – Initial motivation: show PowerPoint slides in a SIP session. – Not doing shared application state (shared whiteboard, shared text editing). • Want this to be integrated with the IETF session architecture. – Share slides as part of a SIP conference. • Treat remote access (“vnc”, “terminal server”) and application sharing as the same problem. March 9, 2005 2

  3. Protocols for Application and Desktop Sharing Audio/Video Transport Requirements Overview • Share both desktops (whole screens) and specific applications. • For applications, share multiple windows, which can move around, be re-stacked, etc. • Intelligent representation of screen images, window state, and keyboard/mouse input. • Private, authenticated, integrity-protected, and access-controlled. • Integrate into the IETF session architecture. • Support diverse end systems. • See draft-schulzrinne-mmusic-sharing-00 . March 9, 2005 3

  4. Protocols for Application and Desktop Sharing Audio/Video Transport Comparison of Approaches to Remote Application Access Application State Sharing-Aware UI Elements Special Applications (may not be sharing-aware) ⇐ Pixels and Keystrokes Unmodified Applications March 9, 2005 4

  5. Protocols for Application and Desktop Sharing Audio/Video Transport Components Window State Screen Images Keyboard, Mouse Input Viewer Application Host • Application hosts: hosts on which applications are running; send window state and screen images to viewers. • Viewers: hosts on which users access remote applications: send keyboard and mouse input to application hosts. March 9, 2005 5

  6. Protocols for Application and Desktop Sharing Audio/Video Transport Protocol Components • Window pixel data: visual contents of windows. • Window state: create, resize, move, raise, lower, and close application windows. • Pointer image and position: optimization, don’t send the pointer as part of the pixel data. • Keyboard and mouse input. • Additional protocol components can be defined later; negotiate in SDP offer/answer as normal. March 9, 2005 6

  7. Protocols for Application and Desktop Sharing Audio/Video Transport Transport • Input and output protocols use RTP-over-TCP (contrans). • Could use standard RTP-over-UDP in unusual circumstances, such as multicast. (This would probably need a reliability mechanism.) March 9, 2005 7

  8. Protocols for Application and Desktop Sharing Audio/Video Transport Transport: Rationale • Why TCP? – Reliability usually more important than timeliness. – Flow control and dynamic bandwidth adjustment crucial. • Why RTP? – Natural to send data with a packetization format. – These packets should have timestamps, sequence numbers, variable payloads. ∗ Sometimes need timing information for screen data and input (e.g. for animation, games). – Want to be able to use existing RTP payload formats for full-motion video. – No point in inventing something new. March 9, 2005 8

  9. Protocols for Application and Desktop Sharing Audio/Video Transport Window Pixel Data • “Meta-protocol” header that defines window ID, X and Y offsets. • Encloses actual data protocol format. • MUST support PNG images, solid-color rectangles, image copy. • MAY support video/* MIME types. – Meta-protocol scheme lets existing video payload definitions be used without modifications. – Existing video codecs are much more efficient than “motion PNG” for actual full-motion video. – This may require applications to know about the sharing protocol (despite earlier requirement) to avoid multiple transcodings. March 9, 2005 9

  10. Protocols for Application and Desktop Sharing Audio/Video Transport Window State • An “application” is a stack of windows, dynamically modified. • Windows can be created, moved, resized, raised, lowered, closed. • Windows can have non-rectangular shapes, or be translucent. Use PNG transparency. • Window state protocol also supports “pointer capture.” • Window state protocol is not used in desktop sharing mode. March 9, 2005 10

  11. Protocols for Application and Desktop Sharing Audio/Video Transport Pointer Representation • Send pointer position and shape separately from window image. • RFC 2862 (video/pointer) is defined for this, but only supports 12-bit X and Y positions. March 9, 2005 11

  12. Protocols for Application and Desktop Sharing Audio/Video Transport Input Protocols • RTP payload for mouse position and button state – Again, RFC 2862 handles this, but only supports 12-bit positions; also only 3 mouse buttons (no wheels). • Keyboard state – Send list of keys down, locks in effect at any given time. March 9, 2005 12

  13. Protocols for Application and Desktop Sharing Audio/Video Transport Open Issues: Big Picture • Is this a useful problem to be solving? • Is this the right architecture for a solution? • Is AVT the right home for it? • Do any other major pieces need to be added for an initial specification? – Beep. – Audio in general. – Copy and paste between viewer’s remote and local apps. – Portholing and scaling, for small-screen devices. March 9, 2005 13

  14. Protocols for Application and Desktop Sharing Audio/Video Transport Open Issues 2 • Does this need SDP extensions? – Some parameters can use a=fmtp: parameters (equivalent to MIME type parameters). – Some might better be defined as new SDP attributes. • We’d like to send the window state protocol and the pixel images over a single TCP/RTP connection. – But the former should be “application”, and the latter should probably be “video”. Note also “image/png”. – This isn’t currently allowed. • What’s the right mechanism to secure the protocol streams? – TCP/RTP/SAVP? TCP/TLS/RTP/AVP? March 9, 2005 14

  15. Protocols for Application and Desktop Sharing Audio/Video Transport Open Issues 3 • Should we have taskbar support? – Application host to viewer: window titles, list of minimized windows. – Viewer to application host: actions on taskbar items (unminimize, maximize, close, etc.) – Note that these actions on windows themselves are handled non-semantically, as mouse events on the window manager trim. March 9, 2005 15

  16. Protocols for Application and Desktop Sharing Audio/Video Transport Open issues 4 • Should viewers be able to request a full screen refresh? – See FIR (Full Intra-Frame Request) RTCP packet, RFC 2032. • Should RFC 2862 (video/pointer) be updated/obsoleted? – Screen resolution limited to 4096x4096. – Only three mouse buttons. March 9, 2005 16

  17. Protocols for Application and Desktop Sharing Audio/Video Transport Open issues 5 • Need good names for the protocol suite as a whole, and for its various components. – Needed for MIME type registrations, as well as “marketing.” March 9, 2005 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend