Given by Marek Podgorny at CEWES HPC Collaborative Methods and Tools Meeting on February 27 1997. Foils prepared March 4 1997
Abstract * Foil Index for this file
TANGO is a prototype of an open, extensible system that provides a technological framework for building subsequent generations of collaborative systems |
TANGO is fused with Web on both functional design and implementation levels |
TANGO provides complete collaboratory runtime for both synchronous and asynchronous sessions |
This table of Contents Abstract
Marek Podgorny |
Northeast Parallel Architectures Center |
Syracuse University |
TANGO is a prototype of an open, extensible system that provides a technological framework for building subsequent generations of collaborative systems |
TANGO is fused with Web on both functional design and implementation levels |
TANGO provides complete collaboratory runtime for both synchronous and asynchronous sessions |
A blueprint for a truly successful collaboratory system does not exist
|
The essence of each collaboratory function must be defined by application and by application only |
The most likely collaboratory applications are the applications supporting professional work in the stand-alone mode. |
The last requirement implies a system that is both a collaboratory runtime and an integration platform:
|
Need simple but powerful collaboratory API |
TANGO supports creation of shareable information spaces
|
TANGO is very tightly integrated with the Web:
|
TANGO provides support for all synchronous collaboratory functions:
|
Asynchronous collaboration is supported via database back-end:
|
Distributed visualization and manipulation of multimedia information streams:
|
Language independence:
|
Extensibility:
|
TANGO extends Web paradigm to true collabora- tive computing and beyond the chat and shared whiteboard concept |
Integrate both standalone and Web-based applications by providing a uniform interface to communicate with their instances on remote machines |
Allow to execute and control collaborative application from the Internet browser environment |
Provide means for session control: user authentication, starting and ending sessions, tracing participants activities, changing user privileges, and for data/event distribution |
Enable integration of existing applications written in any language, assuming socket as the only necessary communication mechanism |
Provide ability to download applications across the network (automatic distribution) |
Provide logging mechanism, so all user activities may be stored in persistent form in a database and retraced if necessary |
Support definition of compatible message and application classes to enable multiple, task oriented views of the information streams either locally or remotely |
A session is a group of application instances currently working together in the collaborative mode.
|
Master status is dynamically transferable. Floor control allows for master-master relationship in certain cases |
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. |
VTC |
Collaboratory |
Server |
Multicast |
Network |
Medium |
C2 Workstation |
Web/DB Servers |
C2 Workstation |
Databases |
DBMS |
VTC |
GIS |
Viewer |
GIS |
Viewer |
Web |
Server |
Simulation |
Driver - |
Event |
Generator |
Scripted |
Participant |
Active Participants |
Two major types of messages:
|
Two major types of messages, cont.
|
At present all messages are sent as strings |
TANGO authentication and authorization mechanisms are independent on the underlying OS
|
Since all system and application messages pass through the server, they can easily be recorded in a database
|
Database logging also supports recording of the multimedia streams, using NPAC VoD server as a backend |
N: Netscape Browser |
LD: Local Daemon |
CA: Control Application |
AP: Applet |
LA: Local Application |
CS: Central Server |
DB: Back-end Database |
HTTP: Web server |
Local daemon's main tasks:
|
The daemon is implemented as a plug-in (or ActiveX control) to Web browsers.
|
Central server is the main communication element.
|
Local Applications:
|
Control application provides TANGO GUI.
|
CA communicates with the system via LD
|
For scaleability reasons, the real time multimedia streams are not sent via central server.
|
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 |
TANGO API is used to convert a standalone application into a shared application
|
TANGO Core API
|
TANGO CA API
|
At present, both TANGO APIs are available for
|
JavaScript API:
|
Improvement and further development of the core TANGO runtime and APIs.
|
Development of the domain specific application modules and deployment of the system in the domain specific testbeds |