CPS616 Collaboratory Technology HPDC4 Module on Computer Collaboration August 1,1995 Roman Markowski NPAC 111 College Place Syracuse NY 13244-4100 Abstract of Collaboration Module This module describes desktop collaboration with a comparison of some of the existing tools including Communique! (Insoft) and the toolkit DVE (Digital Video Everywhere) InPerson (SGI) Proshare (Intel) MBONE -- Internet standard MOO environment We also discuss standards (there are dozens of incompatible systems) and audio/video compression Desktop collaboration vs face-to-face meeting Nowadays business is conducted on a long-distance basis Telephone, fax and e-mail do not give a face-to-face contact NY - San Francisco roundtrip travel -- $1500 Intel ProShare setup -- $6000 Collaborative environment Each work situation has its own set of tools and social conventions. Collaborative environment must be adaptable for use in each of these situations Staff meetings, project meetings Engineering teams, formal presentations Medical consultations, military briefings Requirements for Collaborative Environments Create customized collaborative environment (user interface) with the appropriate access and membership polices Add collaborative features to specialized applications Incorporate distributed multimedia functions Exploit the latest state-of-the-art audio, video and network technologies Develop products to run over cross-platform and multiple network technologies Enable open collaborative applications (sharing documents, images) Set of separate modules (audio, video, whiteboard,...) Common collaborative tools Real-time audio and video and capture, display and synchronization Audio and video compression and decompression Audio and video network data stream management Tools Provided to User in Typical System Audio Conferencing Tool Text Tool with direct Input and File Manager selection Shared Write Board for text-only conferencing (cf. forum on Internet) Shared White Board allows text and Images to be written by anyone in common area Graphics Tool allows Image exchange Video to Image capture and sharing Shared video including video of site participants File exchange tool Shared Application Tool -- One application sends output to multiple sites Audio Tool Functionality Audio Conferencing allows everyone in the conference to talk to each other Hardware requirements: Microphone, speaker or headphones Control Panel Functionality Sending/playback volume Control; mute button Local Monitor volume Audio Compression (PCM, ADPCM, G.711, G721 etc.) Sampling (8,16,32,44.1,48 Khz) Output Device (Speakers, Headphones) Audio/Video Synchronization Echo Cancellation -- The placement and sensitivity of the microphone can cause audio from the speaker to be picked up and rebroadcast back to the conference Silence sensor -- defines a minimum audio level Text Tool Functionality Allows one to incorporate and distribute notes and text to the conference members Received notes can be saved on disk Text can be dragged / gotten from File Manager or typed directly Shared Write Board Tool for text-only conferencing. Allows one to carry on a text based conversation with all participants using just the keyboard The entire transcript can be saved and scrolled etc. Messages which appear in the public window can be sent anonymously or can identify the author Graphics Tool Requirements Allow one to capture and send still images to other conference participants The incoming graphics can be saved, windowed, deleted. Useful for displaying charts, graphs and images Snapshot from a given screen can be sent to other members of collaboratory Previously stored images can be loaded and sent via Graphics Tool Shared White Board Functionality A virtual drawing board shared by all members of the conference Allow users to simultaneously markup and edit a virtual whiteboard Whiteboard is automatically shared with the other participants The contents (entire or selected region) of the Whiteboard can be saved, printed and "cleaned". Functionality A pointer(mouse) can be seen by all participants as one member moves over screen Drawing: Freestyle lines, Straight lines, rectangles, ellipses, squares and circles with various fill options as in say Aldus Freehand. Move and copy selected objects Eraser Color and line width choice Color and font of text can be chosen Graphics files can be loaded from disk or dragged/dropped from File Manager QuickPic utility allows snapping of images from the whiteboard and other parts of screen Video to Image Tool Functionality Used to access video and create images from any source including analog or digital camera and VCR. Usually requires a video capture board (we use for TV Tool and Video to Image Tool (under Communique!) the Parallax board on SUN for video capture and JPEG compression) Image size should be controllable A single frame should be selectable from video and treated by Whiteboard or Graphics tools TV Tool Functionality Video can be sent from any source (including camcorder monitoring participants at one site) to other conference participants Requires video camera and/or VCR and video capture board Control Panel Select who will receive video Start and Stop Video Transmission Control frame rate (typically 15 frames per second) Set compression method (motion JPEG, MPEG, CellB etc.) Compression ratio (quality) control Video Image size control Brightness, color, contrast control Bandwidth monitor for sharing between conferencing capabilities File Exchange Tool Functionality Allow one to send files to selected conference participants Allow one to receive files from the other participants Files can be saved or deleted Share Application Tool Functionality Allow conference members to share an application window and application acts as though it is running locally All members can simultaneously participate in editing a CAD drawing or making changes to a spreadsheet No limitation of significance in shared application type Sharing applications that do not open their own window (e.g. C Compiler) requires a terminal application (xterm) List of collaboratory software -- UNIX and Internet UNIX platform Communique Desktop Multimedia Videoconferencing (InSoft)[Sun, HP, IBM RS, DEC Alpha AXP, 486/Pentium] Paradise Software Video Conferencing (Paradise Software, Inc.) [Sun] ShowMe (Sun Microsystem) InPerson collaboratory package (SGI) [SGI] Picture Window (BBN) [Sun] MBONE software IMM Image Multicaster Client IVS Multihost audio/videoconferencing tool MMCC Multimedia Conference Control NV videoconferencing tool NEVOT,VAT audioconferencing tool LBL-WB whiteboard tool SD Session Director List of collaboratory software IBM PC and Macintosh IBM PC platform Live PCS 100 (Picture Tel Co.) ProShare Video System (Intel Co.) InVision (InVision Systems Co.) Person in Person (IBM) MacIntosh CU-SeeMe videoconferencing tool (Cornell University) ShareView 3000 (ShareVision Technology, Inc.) QuickTime videoconferencing Video Compression -- I MPEG - Motion Picture Experts Group; lossy algorithm; standard for compression synchronized audio and video; full screen, 30 fps playback at 352x240 resolution H.261 - similar but not compatible with MPEG; videocodec for audiovisual services at px64 Kbps (p=1..30); describes videosource coder, video multiplex coder and the transmission coder; video for ISDN CellB - lossy algorithm, intra-frame compression; very efficient to decode in software; motion sensitive compression scheme (compresses across frames); SunVideo Board Video Compression -- II Indeo - Intel lossy compression; Currently15 fps, 320x240; Indeo 4.0 full-screen 30fps on 90MHz Pentium InSoft DVE 1- intraframe algorithm; InSoft's proprietary; very efficient to decode quickly in software; VideoPix or RasterOP cards Motion JPEG - higher quality than CellB; lossy algorithm; we can control balance between compression and quality; very complex - difficult and time consuming to decode in software; Parallax Card Other: HDCC, H.221, H.242, QuickTime, Cinepak, TrueMotion-S Audio Compression PCM - Pulse Code Modulation ADPCM - Adaptive Differential PCM G.711 - PCM for voice frequencies; 64 Kbps, 8KHz PCM audio encoding G.721 - 32 Kbps, ADPCM audio encoding G.722 - 7 KHz audio encoding with 64 Kbps Other: a-law, G.725 Videoconferencing Standards Today's videoconferencing systems are proprietary, requiring identical technology at each end of conference Videoconferencing solutions are tied to one platform, special hardware or special network protocols Some multivendor standards exist T.120 - cross platform file and data exchange F.700 - videotelephony and Videoconference standards (CCITT,93) G.700 - CCITT,92 H.231 - covers Multipoint Control Units H.233 - specifies the data encryption methodologies H.241 - Signalling for conferencing H.261 - compression component of H.320 H.320 - dominant standard developed by ITU-T; teleconferencing audio and video protocols H.KEY, T.120, CIF, QCIF Open DVE - Digital Video Everywhere (Insoft, Inc.) Open architecture API and Toolkit - programming interface to create distributed multimedia and collaborative applications Open DVE API (LibraryAPI) - ability to write a single application without concern to the underlying workstation or network technology Open DVE Toolkit - common set of plug-ins: audio toolkit, video toolkit, TV toolkit, whiteboard, writeboard, share application tool Conference Engine and plug-ins (clients) Creation of modified and new collaborative applications Communique! ver 4.0 InSoft ($9495) Multiplatform Sun ws (SunOS 4.1.3 or Solaris 2.3; OpenWindows 3.0 and Mitif 1.1) IBM RS/6000, HP 9000/700, DEC Alpha (AIX, HPUX, DEC OSF) PC and SGI (MS Windows, IRIX) Digital Video Everywhere (DVE) - open system platform TCP/IP over ATM, ethernet, FDDI, FR, ISDN, SMDS, Switched 56 Functionality virtual conference room audio tool (echo cancellation, audio/video synchronization, compression) text tool, shared write tool graphics tool, shared whiteboard TV tool, Video tool (JPEG, MPEG, CellB, Indeo, DVE1) file exchange tool SHARE application tool multipoint InPerson ver 2.0 SGI ($495) SGI Indy/Indigo; IRIX 5.3, GIA 100 Multicast routing and tunneling for multiway conferences License required Ethernet, ATM; ISDN/PPP, T1, HighSpeed LAN Functionality audio (def 16KHz, max 48 KHz, echo cancellation, Intel DVI compression, G.728, consumes 64Kbps, supports H.320 ) video (default 15fps, max 20fps, 160x120, 208x156, 320x240, HDCC, H.261 compression) shared whiteboard (multipage, 3D models can be shared) file exchange (shelf) - based on the file icon dragging/dropping no SHARE applications multipoint (up to 6) customization (control panels) InPerson Phonebook server ProShare ver 2.00 Intel ($2499) NPAC implementation on Compaq Deskpro XL 566 (Pentium 66MHz, 16 MB RAM, 529 megabytes HDD, video resolution 800x600, EISA bus, CD ROM), MS Windows 3.1 Transport ISDN 2B+D or LAN Functionality dial list audio (external speakers, mute, microphone and earphone in headset) video (resize, snapshot, camera control, zoom in/out) 10-15 fps, icon, 160x120, 320x240 shared application shared notebook (multiple pages) Only point-to-point Control panels (general, audio, video, dial list) H.320 compliant (talks to Eclipse CLI, VTEL, etc) MBONE - Multicast BackBONE Virtual network - uses a network of special (up and coming) routers that support multicast One-to-many and many-to-many network delivery services for applications such as videoconferencing and audio where several hosts need to communicate simultaneously Teleconferencing can be done in the world of Internet (variable packet delivery delays, bandwidth limited) IP multicast addressing (RFC 1112), IP Class D, 224.0.0.0-239.255.255.255 Sun - multicast (modified kernel), SGI mrouted, dedicated routers Audio -frequent dropouts Video - 1-4 fps over Internet MBONE (2) Application tools (Sun, SGI, HP, DEC) SD - Session Directory - session availability is dynamically announced NV - Net Video (Xerox Palo Alto) WB - Whiteboard (Lawrence Berkeley Lab) VAT - Visual Audio Tool (Lawrence Berkeley Lab) IMM - Image Multicaster Client NEVOT - Network Voice Terminal MMCC - Multimedia Conference Control Program Bandwidth capacities lower than T1 are generally unsuitable for MBONE video All Public Domain! MBONE References(3) ftp://venera.isi.edu/mbone/faq.txt ftp://parcftp.xerox.com/pub/ net-research/mbone-map-big.ps http://www.research.att.com/ mbone-faq.html http://www.eit.com/techinfo/ mbone/mbone.html Introduction to Collaborative MOO Environments MOO's stand for Object Oriented MUD's where MUD stands for Multi-User Dungeons or if one is trying to be high class Multi-User Dimensions These are "virtual-reality" or more precisely "virtual-community" systems The goal is to set up a computer environment which resembles more or less faithfully the real world. MOO's and MUD's involve people, places and things MOO's are a modern object oriented implementation of the older MUD's and are developed at XEROX PARC in Palo Alto These notes are from Lonnie Turbee (lmturbee@mailbox.syr.edu) A Formal Definition of Collaborative MOO Environments A MOO "...is a network-accessible, multi-user, programmable, interactive system well-suited to the construction of text-based adventure games, conferencing systems, and other collaborative software. Its most common use, however, is as a multi-participant, low-bandwidth virtual reality..." - excerpted from the _LambdaMOO Programmer's Manual_, version 1.7.6, written by Pavel Curtis. MOO's are like Dungeons and Dragons or Computer role playing games such as Zork series Rather perversely, they use a fundamental spatial model but are entirely (but elegantly) text based Many -- such as Argonne -- are researching addition of visual material with animation of people and environment. This would become the model where client videogames dial central servers which create a fully realistic 3D world in which tanks, F16's and explorers of videogame interact with each other MOO's stress the acquistion of knowledge and not the destruction of other players Characteristics of a MOO MOOs are composed of three types of elements: People, places, and things. Because one of the goals of a MOO is to resemble (within the limitations of the medium) reality, MOOs have many of the things that one would see in everyday life: cars and houses, people and refrigerators, pets and so forth. The people who inhabit MOOs attempt to add as much detail to the MOO as possible. This means adding details as simple as making a character able to smile or as complex as establishing a democratic system by which the MOO is governed (such as the one that exists at LambdaMOO). FTP from parcftp.xerox.com as pub/MOO/contrib/TinyMUD will compare MUD's and MOO's Comments on Multi-User Simulations Current Computer games are largely single-user and have reasonable graphics MOO is Multi-User but no graphics SIMNET and its successor DSI(Distributed Simulation Internet) is an example where large scale multi-user simulation is linked to real hardware and real people making decisions One has both real and simulated war vehicles Implemented as a world-wide simulation This requires complex event driven simulations which are some of hardest parallel applications SIMNET worked as components interacted very loosely and so one could broadcast envbironment changes to individual simulation computers This will become the commercial multi-user games where for instance all F16 game owners dial a central site and fight it out in the same simulated 3D world