Given by Roman Markowski and Geoffrey Fox at CPS600 Spring Semester 1995 Technologies for the Information Age on March 1995. Foils prepared July 6,1995
Abstract * Foil Index for this file
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) |
Eclipse (CLI -- standalone system) |
MBONE -- Internet standard |
We also discuss standards (there are dozens of incompatible systems) and compression needs of this application |
This table of Contents Abstract
Roman Markowski |
NPAC |
111 College Place |
Syracuse |
NY 13244-4100 |
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) |
Eclipse (CLI -- standalone system) |
MBONE -- Internet standard |
We also discuss standards (there are dozens of incompatible systems) and compression needs of this application |
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 |
Each work situation has its own set of tools and social conventions. Collaborative environment must be adaptable for use in each of these situations
|
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,...) |
Real-time video and audio capture, display and synchronization |
Audio and video compression and decompression |
Video and audio network data stream management |
Tools Provided to User in Typical System
|
Audio Conferencing allows everyone in the conference to talk to each other |
Hardware requirements: Microphone, speaker or headphones |
Control Panel Functionality
|
Allows one to incorporate and distribute notes and text to the conference members
|
Shared Write Board
|
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 |
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
|
Used to access video and create images from any source including analog or digital camera and VCR. |
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 |
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
|
Allow one to send files to selected conference participants |
Allow one to receive files from the other participants |
Files can be saved or deleted |
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) |
Evaluation and benchmarking of basic functionality
|
Desktop videoconferencing -- addon functionality to existing computers which are either PC's or workstations
|
Chosen for indepth evaluation
|
Installation of selected products in cooperation with Rome Laboratory |
CLI, VTEL (Pierce-Phelps) - commercial, expensive standalone solutions |
UNIX platform
|
MBONE software
|
IBM PC platform
|
MacIntosh
|
January 1995 |
Universal Digital standard which has been around for a long time but is only just being deployed broadly |
At NPAC installed by NYNEX where we have client(PC's) and server (bridge to ATM network) capability |
carry 3 media streams:data, voice, video |
N-ISDN - Narrowband ISDN
|
B-ISDN - Broadband ISDN
|
ProShare/ IBM PC, MS Windows 3.1 supports ISDN as does |
InPerson / SGI Indy, IRIX 5.3 |
Fall 1994 |
MPEG - Motion Picture Experts Group; lossy algorithm;
|
H.261 - similar but not compatible with MPEG; videocodec for audiovisual services at px64 Kbps (p=1..30);
|
CellB - lossy algorithm, intra-frame compression; very efficient to decode in software;
|
Indeo - Intel lossy compression;
|
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;
|
Other: HDCC, H.221, H.242, QuickTime, Cinepak, TrueMotion-S |
AT NPAC we have Cosmo SGI and Parallax SUN cards |
Cosmo card - JPEG compression (SGI Indy -Galileo) |
Parallax card (Sbus, VME, PC-AT boards, c-Cube technology) -
|
See frequently asked questions: |
ftp://rtfm.mit.edu/pub/usenet/news.answers/ |
compression-faq |
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 |
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
|
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 |
Sun IPX, Parallax XVideo SBus 24 SVC, SunOS 4.1.3, OpenWindows 3.0, SBA200
|
Digital Video Everywhere (DVE) - open system platform |
TCP/IP over ATM, ethernet, FDDI, FR, ISDN, SMDS, Switched 56 |
Functionality
|
multipoint (up to 9 participants) |
NPAC Performance tests December 1994
|
Note Communique! currently runs better on Ethernet than ATM! |
Message Packet Size MTU: ethernet=1500; FDDI=4532; ATM=9188 is conventional (use netstat -i) |
MTU cannot be redefined in Communique! which is hard wired in optimization to Ethernet. InPerson allows one to change value of MTU |
tcp_sendspace/ udp_sendspace/ tcp_recvspace/ udp_recvspace are UNIX kernel parameters which define TCP/IP actions. The buffer sizes (16K for sendspace) is too low for ATM and when increased to 60K one sees a performance boost of a factor of two for ATM. |
Audio compression
|
Video compression depends on the type of video capture board
|
New version will support H.320 |
SGI Indy/Indigo; IRIX 5.2, GIA 100 |
Multicast routing and tunneling for multiway conferences |
License required |
Ethernet, ATM; ISDN (InPerson 2.0) |
Functionality
|
requires IRIX 5.3 |
ISDN/PPP, T1, LAN, HighSpeed LAN |
InPerson Phonebook (server) |
Mail message when InPerson is not running |
Whiteboard
|
Video compression
|
Audio compression
|
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
|
Only point-to-point |
Control panels (general, audio, video, dial list) |
Compression Labs, Inc. California |
Video
|
Audio
|
multipoint compatibility: H.320, H.231 |
transmission
|
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 |
Topology: star and mesh - islands linked by virtual point-to-point tunnels |
Tunneling - encapsulating the multicast packets inside regular IP packets -- allows multi-casting (multiple addresses for same packet with broadcast as an example where ALL get message). Most routers do not support multicasting and so must hide special multicast packet in conventional packet where insides are exposed by the special routers
|
TTL - time-to-live - field in a packet , decremented each time the packet passes through a router (prevent network links saturation) |
Protocols: IGMP (Internet Group Management Protocol), DVMRP (Distance Vector Multicast Routing Protocol), RTP (Real Time Protocol over TCP/IP) |
A new site announces itself to the MBONE mail list, and the nearest providers decide who can establish the most logical connection path |
Compression: JPEG, H.261, Wavelet-based encoding, PCM (audio) |
Application tools (Sun, SGI, HP, DEC)
|
Bandwidth capacities lower than T1 are generally unsuitable for MBONE video |
All Public Domain! |
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 |
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 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 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.
|
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 |
To try out a MOO, do (march 27 1995)
|
Type connect guest to join MOO (temporarily) |
Then you type in the name you want to use. It will ask you to verify this (type yes) and give yourself a description. |
To find out who is currently logged on and where they are, type
|
To talk to anyone in a place different from where you are, type |
page <player> <message>
|
To join anyone currently logged into the MOO, type
|
Once you are with someone in a room, you can talk to them using just one quotation mark at the beginning of your sentence:
|
To show actions and emotions, type the colon (:) followed by a sentence with no subject in the third person singular. So if Lonnie types
|
Everyone in the room will see
|
To access help files, just type help and follow instructions |
To leave, type @quit |
*** Connected *** |
Reception Area |
This is a large, open and airy room that is modern and appealing. An information booth can be seen off to one side, and a number of people are walking about silently from place to place. You seem to have found yourself in a learning and conference center, and this is the reception area. The room narrows into a hallway to the south, and just over the hallway exit is a large clock that hangs beneath a large metallic sign reading: Welcome to AskEricMOO. |
The clock on the wall reads: 4:21pm. |
Nobody is sitting at their desks. |
Objects usually have verbs defined on them that allow players to manipulate and use them in various ways. Standard ones are:
|
You can see what objects you're carrying with the 'inventory' command; see 'help inventory' for details. |
Some specialized objects will have other commands. The programmer of the object will usually provide some way for you to find out what the commands are. One way that works for most objects is the 'examine' command; see 'help examine' for details. |
The following specialized objects have help entries you should consult:
|
Mosaic naturally implements hyperlinked multimedia material as in digital library |
However MOO and indeed flight simulators and many role playing and adventure games are based around two or better three dimensional rendered graphics |
Terrain Rendering is technology needed to convert 3D world into video stream |
Suggest such Geographical Information System approach to spatially labelled data but Mosaic for "library" information |
Use GIS/3D rendering to cruise around world -- "land at" Airport and there open Mosaic window for listing of plane schedules
|
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
|
This requires complex event driven simulations which are some of hardest parallel applications
|
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 |