Full HTML for

Basic foilset Overview of the TangoInteractive System

Given by TangoInteractive Team at Tango Tutorial Alliance 98 NCSA Illinois on April 27 98. Foils prepared April 25 98
Outside Index Summary of Material


TANGO Functionality
TANGO Current Capabilities
TANGO Versions
TANGO Components
TANGO Application Protocols
TANGO Session Management

Table of Contents for full HTML of Overview of the TangoInteractive System

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 TANGO Interactive Training Session
2 Agenda
3 TANGO Interactive - What it Does?
4 TANGO Interactive - What it Does?
5 TANGO Interactive - What Is It?
6 System Architecture
7 Status of TANGO System
8 Current capabilities of TANGO
9 Current capabilities of TANGO
10 Current capabilities of TANGO
11 Current capabilities of TANGO
12 Versions of the TANGO system
13 TANGO version 1.0 beta 4
14 TANGO version 1.0 beta 4
15 TANGO version 1.0
16 TANGO Server
17 TANGO 2
18 TANGO Architecture: Components
19 TANGO Architecture: Components
20 TANGO Architecture: Components
21 Implementation Details
22 TANGO Architecture: Components
23 Tango Events and Data
24 TANGO Architecture: Media Streams
25 Application Protocols
26 Application Protocols
27 Session Management
28 Session Management
29 Session Management
30 Product Support

Outside Index Summary of Material



HTML version of Basic Foils prepared April 25 98

Foil 1 TANGO Interactive Training Session

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
TANGO Development Team
NPAC, Syracuse University

HTML version of Basic Foils prepared April 25 98

Foil 2 Agenda

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
TANGO Functionality
TANGO Current Capabilities
TANGO Versions
TANGO Components
TANGO Application Protocols
TANGO Session Management

HTML version of Basic Foils prepared April 25 98

Foil 3 TANGO Interactive - What it Does?

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
It lets applications controlled by your browser to talk to Web application run by other people
  • With few mouse clicks, TANGO Interactive builds for you a conference room, or a classroom, using tools from a long list of collaboratory modules
  • When you have your tools, with another mouse click you send them to your partners' machines
  • Anybody can join any of the application sessions, grab control, leave, open a private channel, create another chat room, send a private or public message, play a video other people see, or start and share any "legacy" application....

HTML version of Basic Foils prepared April 25 98

Foil 4 TANGO Interactive - What it Does?

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
TANGO turns a web browser into a communication program
  • does not limit is any way current browser functionality
  • seamlessly merges communication and database access
  • provides means for sending not only data but also tools for their display and manipulation
  • provides complete collaboratory run-time with powerful session and floor control
  • provides open integration platform for collaboratory applications

HTML version of Basic Foils prepared April 25 98

Foil 5 TANGO Interactive - What Is It?

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Technically, it is a multiparty, multi-session, multiplatform, multimedia collaboratory system
It is also a software integration framework
  • It supports any kind of CSCW, but it is particularly well suited for distance learning applications
  • It is fused with Web infrastructure
  • It provides dozens of multimedia collaboratory tools
  • It does not require any expensive infrastructure beyond a standard PC or Unix workstation and a browser

HTML version of Basic Foils prepared April 25 98

Foil 6 System Architecture

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
N: Netscape Browser
LD: Local Daemon
CA: Control Application
AP: Applet
LA: Local Application
CS: Central Server
DB: Back-end Database
HTTP: Web server

HTML version of Basic Foils prepared April 25 98

Foil 7 Status of TANGO System

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
It must be competitive with best available collaborative tools and so its multi-language interface allows us to interface to other systems with Tango supplying Integrated Session Control
  • e.g. interfaces to Microsoft NetMeeting
Basic model is that of a room which is a group of people getting together for a class
  • Tango2 (Summer 98) will support a very powerful persistent multi-room paradigm
Each room supports a collection of shared objects chosen by teacher/students/administrator

HTML version of Basic Foils prepared April 25 98

Foil 8 Current capabilities of TANGO

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
TANGO supports over 40 applications
Core Collaboration Capabilities
  • Audio-Video Conferencing multicast between room participants
  • Text chat rooms with various tradeoffs between "coolness", ease of use etc.
  • Shared Browser (Synchronized view of Web Pages)
  • Shared Web Search (becomes shared database query)
  • Slide Show
  • White Board

HTML version of Basic Foils prepared April 25 98

Foil 9 Current capabilities of TANGO

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Office and Authoring Tools
  • PowerPoint via shared display or shared Java viewer (collaboration with Net-Scene)
  • Microsoft Excel
  • Microsoft Word
  • Shared visual C++ etc.
  • Combined Whiteboard/ Java object based PowerPoint like authoring system
  • Shared XEmacs editor

HTML version of Basic Foils prepared April 25 98

Foil 10 Current capabilities of TANGO

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
General Virtual University Applications
  • Current WebWisdom hierarchical systems navigating through 20,000 foils and 500 foil sets
  • "Raise Hands" Applet to help teacher-student synchronous interaction
Special Virtual University Applications
  • Shared Java applets to teach physics (spring, planets, vector cross product)
  • Shared Java Applets used to teach Java!
  • Shared SmartDesk system aimed at activities useful in special education with built in assessment

HTML version of Basic Foils prepared April 25 98

Foil 11 Current capabilities of TANGO

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Have some fun with multi-player games
  • VRML2 Chess
  • Netris
  • Othello (Java)
  • Rubric's Cube (Java)
  • Should develop snakes and ladders and bunch of similar "grid" games
"Other" Applications
  • TANGOsim command and control system with shared tools (e.g. mapping, weather) to use in scripted crisis management

HTML version of Basic Foils prepared April 25 98

Foil 12 Versions of the TANGO system

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Public version: version 1.0 beta 4
Pre-release version: version 1.0
Expected May `98: version 1.0 for IE 4
Expected Summer `98: TANGO 2
  • Upcoming version will be discussed

HTML version of Basic Foils prepared April 25 98

Foil 13 TANGO version 1.0 beta 4

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
TANGO 1.x requires browser plug-in
Compatible with Netscape Navigator 3.0 and 3.01
  • not compatible with 3.02 and 3.03 (due to incoherent security model). There is no TANGO for these versions of the browser
  • not compatible with MS Internet Explorer
    • TANGO 1 uses LiveConnect and plug-in architecture. Both these technologies are available for Internet Explorer, but MS implementation of LiveConnect is not fully compatible
  • supported platforms: Windows'95/NT, IRIX, Solaris, Linux

HTML version of Basic Foils prepared April 25 98

Foil 14 TANGO version 1.0 beta 4

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Compatible with Netscape Communicator 4.x
  • supports security models for both Netscape 3 and Netscape 4 browsers
    • digitally signed plug-in Java classes
    • Communicator version explicitly requires access to privileged operations
      • user's consent necessary for TANGO to run
      • consent needed only once per session
The system is available now from http://www.npac.syr.edu/tango

HTML version of Basic Foils prepared April 25 98

Foil 15 TANGO version 1.0

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Supports all the same features as TANGO 1.0 beta4
Employs modified protocol between the plug-in and the collaboratory server
  • new protocol is NOT compatible with version 1.0 beta4
  • Tango API is modified (registering applications)
  • protocol modifications improve system reliability
Version 1.0 requires re-installation of both server and client software
Version 1.0 will support MS Internet Explorer 4.x

HTML version of Basic Foils prepared April 25 98

Foil 16 TANGO Server

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Java application
  • requires JDK 1.1 or higher
100% maintenance free
Industry-strength stability
Platform-independent
  • tested on IRIX 5/6, Solaris, Linux, Windows NT
  • will also run on Widows'95 (not recommended)
Available for download from http://www.npac.syr.edu/tango

HTML version of Basic Foils prepared April 25 98

Foil 17 TANGO 2

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
A radically improved version of the entire system
  • All "lessons learned" from TANGO 1 incorporated into design and implementation
  • Far more powerful system with many new capabilities
  • Supports the vision of electronic communities and electronic civilization
  • Does NOT use plug-in technology, hence no client installation
  • Full asynchronous database support
Technical details will be released to interested parties 3Q98
Core system implemented now

HTML version of Basic Foils prepared April 25 98

Foil 18 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Local Daemon's main tasks:
  • maintaining two-way communication between user applications, applets and central server
  • launching local applications
  • passing messages between applications running on the same node
  • providing certain system level functionality not normally available to Java applets, such as file access or printing
The daemon is implemented as a plug-in to Web browsers.
  • The daemon is the only operating system dependent core part of TANGO.

HTML version of Basic Foils prepared April 25 98

Foil 19 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Central Server is the main communication element.
  • Local daemons communicate with the central server
  • Server maintains the system state data
  • Server routes messages between applications participating in each session
  • All application protocols are opaque to the server
  • Currently, TANGO system is restricted to only one collaboratory server
    • No easy server switch mechanism

HTML version of Basic Foils prepared April 25 98

Foil 20 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Java applets
  • User applications written in Java, downloaded from an HTTP server, and executed in browser environment
    • Communication between Java applets and central server is also maintained by the local daemons. Java applets communicate with local daemon by calling its method functions
Local Applications:
  • User applications which run as standalone programs are called local applications. Local application may be written in any programming language
    • Communicate with the local daemon using sockets. The daemon is responsible for starting these applications and routing messages to and from applications

HTML version of Basic Foils prepared April 25 98

Foil 21 Implementation Details

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Daemon provides a mechanism for TANGO components such as Java applets, central server, JavaScript scripts etc. to talk to each other.
TANGO daemon has been implemented as a plug-in.
Using LiveConnect mechanisms, each applet residing in the same page with the plug-in may obtain its handle.
Message passing between plug-in and an applet is achieved by calling appropriate methods of each other

HTML version of Basic Foils prepared April 25 98

Foil 22 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Control Application provides TANGO GUI
  • Provides uniform application session and floor control for all TANGO applications
    • Launches applications locally or remotely, creates and connects to existing sessions, exits applications, logs into the system, etc.
    • Routes messages between applications on the same node
    • Monitors distributed system integrity
    • User interface to the control application auto-adjusts to the operating system
  • CA communicates with the system via LD
    • The communication between control application and local daemon is different than in the case of standard Java applets since control application can also generate system messages

HTML version of Basic Foils prepared April 25 98

Foil 23 Tango Events and Data

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Since TANGO uses central server architecture, there are system scalability concerns.
  • System makes careful distinction between event and data distribution pathways
    • events are always distributed via collaboratory server
    • data may be distributed via collaboratory server for thin data streams
    • voluminous data are either distributed directly between application instances or delivered from HTTP servers
    • peer-to-peer application data exchange may use multicast if necessary
    • certain TANGO applications are therefore implemented as Web browsers for specialized data types (e.g., GIS Open Inventor Web browser)

HTML version of Basic Foils prepared April 25 98

Foil 24 TANGO Architecture: Media Streams

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
For scaleability reasons, the real time multimedia streams are not sent via central server.
Instead, we use a distributed architecture akin to the Insoft's OpenDVE
The architecture supports multicast.
Session control remains with the TANGO session manager.
TANGO VTC supports stream recording, storage, and retrieval

HTML version of Basic Foils prepared April 25 98

Foil 25 Application Protocols

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
A blueprint for a truly successful collaboratory system does not exist. Hence:
  • Need an extensible system with very few limitations.
  • System must not define application specific protocols, application programming language, or limit in whatever way functionality of collaboratory applications
The essence of each collaboratory function must be defined by application and by application only
TANGO does not define any application protocols

HTML version of Basic Foils prepared April 25 98

Foil 26 Application Protocols

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Basic API requires application developer to implement application protocol conversion to byte streams
More advanced APIs handle more complex situations
  • support for initial state for `latecomers'
  • exchange of any complex data structures
  • visual programming with JavaBeans

HTML version of Basic Foils prepared April 25 98

Foil 27 Session Management

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
A session is a group of application instances currently working together in the collaborative mode.
  • All (and only) applications belonging to the same session exchange information and may share behavior.
  • How particular application operates in collaborative mode depends on this application characteristics.
  • In all sessions there is one master user.
    • Master of the session has special privileges of controlling access of other users to this session and/or controlling the application behavior. The privileges depend on the application type.

HTML version of Basic Foils prepared April 25 98

Foil 28 Session Management

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Master status is dynamically transferable. Floor control allows for both master-master and master-slave relationship
TANGO does not restrict the number of concurrent sessions. There may be multiple independent sessions of applications of the same type.
Messages from one application compatible with application of another type will be distributed transparently.

HTML version of Basic Foils prepared April 25 98

Foil 29 Session Management

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
Currently supported operations:
  • Local open
  • Remote open (opens an instance on remote machine)
  • Global and limited remote open (open an instance on a group of machines)
  • Session join
  • Local close
  • Remote close, including global remote close
  • Acquire and grant session master status
CA implements "intelligent interface"

HTML version of Basic Foils prepared April 25 98

Foil 30 Product Support

From Overview of the TangoInteractive System Tango Tutorial Alliance 98 NCSA Illinois -- April 27 98. *
Full HTML Index
General questions
  • Marek Podgorny, marek@npac.syr.edu
Architecture, client setup
  • Konrad Olszewski, konrad@npac
Server
  • Luk Beca, beca@npac.syr.edu
Applications
  • Tom Jurga (CA), toju@npac, Tom Stachowiak (BV), stach@npac, Remek Trzaska (GIS), remek@npac, Bart Winnowicz (VoD, MS apps), bartw@npac
http://www.npac.syr.edu/tango
FOR MORE INFO...

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun May 3 1998