Full HTML for

Basic foilset Overview of the TangoInteractive System

Given by TangoInteractive Team at Tango Tutorial San Diego MRA on June 26 27 98 Datemod;June 18 98. Foils prepared
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 Image has important information
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 I
9 95 Talking to NT running 4 Applications
10 NT Talking to 95 running 4 Applications
11 95 Logging Out of Session with NT
12 Current capabilities of TANGO II
13 Current capabilities of TANGO III
14 Screenshots of Tango Teaching Tools
15 Tango Educational Applets
16 Current capabilities of TANGO IV
17 Tango Visible Human and Chat
18 Versions of the TANGO system
19 TANGO version 1.0 beta 4
20 TANGO version 1.0 beta 4
21 TANGO version 1.0
22 TANGO Server
23 Architecture of Tango
24 Implementation Details
25 TANGO Architecture: Components
26 TANGO Architecture: Components
27 TANGO Architecture: Components
28 TANGO Architecture: Components
29 Tango Events and Data
30 TANGO Architecture: Media Streams
31 Application Protocols
32 Application Protocols
33 Session Management
34 Session Management
35 Session Management
36 Tango Product Support

Outside Index Summary of Material



HTML version of Basic Foils prepared

Foil 1 TANGO Interactive Training Session

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
Prepared by Marek Podgorny and Tango Team
Presented by Geoffrey Fox
NPAC, Syracuse University
MRA Meeting San Diego June 26-27 1998

HTML version of Basic Foils prepared

Foil 2 Agenda

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 3 TANGO Interactive - What it Does?

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 4 TANGO Interactive - What it Does?

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 5 TANGO Interactive - What Is It?

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 6 System Architecture

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 7 Status of TANGO System

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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 or audio/video conferencing systems
Basic model is that of a room which is a group of people getting together for a class
  • Tango2 research system supports a very powerful persistent multi-room paradigm -- we have postponed implementation of this
Each room supports a collection of shared objects chosen by teacher/students/administrator

HTML version of Basic Foils prepared

Foil 8 Current capabilities of TANGO I

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 9 95 Talking to NT running 4 Applications

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
95

HTML version of Basic Foils prepared

Foil 10 NT Talking to 95 running 4 Applications

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index

HTML version of Basic Foils prepared

Foil 11 95 Logging Out of Session with NT

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index

HTML version of Basic Foils prepared

Foil 12 Current capabilities of TANGO II

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 13 Current capabilities of TANGO III

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 14 Screenshots of Tango Teaching Tools

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
Chat
Shared Browser
Audio Control
Tango Control App
WebWisdom

HTML version of Basic Foils prepared

Foil 15 Tango Educational Applets

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
CONTROL
Shared Planetary Motion Applet
Shared Cross Product Educational Applet
Shared Neural Net

HTML version of Basic Foils prepared

Foil 16 Current capabilities of TANGO IV

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
Have some fun with multi-player games
  • VRML2 Chess
  • Netris -- JavaScript Tetris
  • 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

Foil 17 Tango Visible Human and Chat

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
CONTROL
Shared VRML 3D Visible Human
Shared Browser Page
Chat

HTML version of Basic Foils prepared

Foil 18 Versions of the TANGO system

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index
Public version: version 1.0 beta 4
July 7 1998: version 1.0 Deployed
  • More robust protocols
Expected Sept `98: TANGO 1.1
  • Improved API's including TangoBeans
  • Support for Internet Explorer
  • Improved Core applications such as shared browser and whiteboard
Over next year much improved distance education and collaborative research support e.g. shared visualization
  • Archiving, Window Managers core capabilities

HTML version of Basic Foils prepared

Foil 19 TANGO version 1.0 beta 4

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 20 TANGO version 1.0 beta 4

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 21 TANGO version 1.0

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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.1 will support MS Internet Explorer 4.x

HTML version of Basic Foils prepared

Foil 22 TANGO Server

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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 Windows'95 (not recommended)
Available for download from http://www.npac.syr.edu/tango

HTML version of Basic Foils prepared

Foil 23 Architecture of Tango

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 98. *
Full HTML Index

HTML version of Basic Foils prepared

Foil 24 Implementation Details

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 25 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 26 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 27 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 28 TANGO Architecture: Components

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 29 Tango Events and Data

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 30 TANGO Architecture: Media Streams

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 31 Application Protocols

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 32 Application Protocols

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 33 Session Management

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 34 Session Management

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 35 Session Management

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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

Foil 36 Tango Product Support

From Overview of the TangoInteractive System Tango Tutorial San Diego MRA -- June 26 27 98 Datemod;June 18 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 Nov 29 1998