T
ANGO Interactive is a web collabo-ratory. The system extends capabili- ties of web brow-sers towards fully interactive, multi-media, collaborative environment.T
ANGO is also a framework for buil-ding collaboratory system. It is possib- le to build collabo-ratory systems of arbitrary complexi- ty using TANGO fra- mework. Currently available version is just one particular implementation that uses TANGO runtime.T
ANGO Interactive is written in Java. Many application modules are implemented as applets. The applets can be loaded when needed and released at any time, ensuring that the system is lean and agile. The applets interact with each other and can control each other behavior and exchange data both locally and remotely. TANGO applets can be loaded from anywhere - there is no requirement that all applets or even different instances of the same applet come from the same HTTP server. TANGO collaboratory server does not need to be co-located with any of the HTTP servers from which application modules are being downloaded. TANGO Interactive is the only system implementing this flexible and powerful architecture. TANGO servers are available for UNIX and Windows NT platforms.T
ANGO Interactive is very tightly integrated with the Web. One starts the system from a Web browser, which, thereafter, one can continue using. The system connects the user to a TANGO server of user’s choice.Once in the system, the user can open one of the more than three dozen collaboratory applications to work on projects with partners, take a class at a virtual university, create and use a chat room, private or public, videoconference, watch a movie with friends, collectively surf the Web and discuss the contents, or play a network game. Or do all of the above at the same time, in any combination, in as many chat rooms as he/she wishes. Few collaboratory system, public domain or commercial, provide so many applications under a consistent and very simple session and floor control.
T
ANGO Interactive is an event-sharing system. The system requires that there is a local copy of each application on every workstation. The shared functionality is defined by application, not by the collaboratory runtime. This is in sharp contrast to the most popular commercial collaboratory systems, such as NetMeetingä from Microsoft. These systems implement the shared display model. Shared event systems have a number of advan-tages over shared display systems, in- cluding capability to define shared fun- ctionality, to imple- ment independent data views, and to support asynchro-nous collaboration. TANGO Interactive extensively uses these capabilities without sacrificing advantages of the shared display mo-del: Net-Meetingä shared application functionality is fully integrated into TANGO session control model.
Design of the T
ANGO Interactive protocols is based on the assumption that application and application only should define collaboratory functionality. We recognize that collaboratory applications may require functionality that we cannot envision today. Hence, TANGO does not define application protocols. Instead, we provide a reliable, high-performance message passing mechanism, integrated with the session management, which can be easily used to implement any application-level protocols.T
ANGO provides transparent support for all synchronous collaboratory functions. Built in a stateless Web environment, TANGO is a statefull system. It supports all functions of a synchronous collaboratory, including session management, data/event distribution, flexible floor control, and multiple, configurable security levels. The system does not impose any restrictions on a number of concurrent sessions, users, or collaborative applications. Application sessions are created via a mouse click and application instances can be created on local and remote workstations on the fly.The floor control model allows for both master-master and master-slave relationship between collaborating parties. The actual implementation of the master-slave relationship is left to the application designer, allowing for a variety of floor control models. T
ANGO collaboratory runtime provides functionality for dynamic modification of the master-slave relationship at any time.Asynchronous collaboration is supported via database back-end: Session record and playback capability has been designed into the system as its fundamental component. This capability applies to both events and data streams and can be used to review collaborative sessions in asynchronous fashion. Playback/review capability is also provided for real-time continuous data streams such as audio and video. This functio- nality is currently being implemented.
T
ANGO architecture relies on a centralized collaboratory server. Such architecture can potentially introduce scalability bottleneck. TANGO addresses this issue by making a careful distinction be-tween event and data channels. The central server does not handle any data streams. Being a Web-based system, TANGO relies on the HTTP protocol to deliver data to applications. For media streams we rely on other Web protocols, such as RTSP (Real Time Streaming Protocol) and RTP (Real Time Protocol). Collaboratory server merely establishes application sessions to facilitate synchronized delivery of the data streams from multiple servers to multiple application clients. TANGO supports URL mapping capability, enabling applications to retrieve replicated data from multiple servers. This architecture allows us to implement applications such as synchronized, interactive, random access delivery of digital video to multiple slave clients under control of the master client.Direct, intense data transfers between collaboratory applications are necessary for audio/video conferencing and for distributed data visualization. T
ANGO provides scalable multimedia support, providing mechanisms for decentralized distribution of such streams under TANGO session control. The system supports multi-user, multi-platform audio/video conferencing agent.While almost entire T
ANGO runtime and most of the applications are written in Java, there is no restriction on the language used to implement TANGO applications modules. At present, Java is not very well suited for applications in domains as high-end 3D visualization, high quality video streaming, and videoconferencing (especially multimedia encoding). TANGO integrates applications written in C, C++, and LISP with equal ease as Java applets. The picture below illustrates a collaborative 3D GIS system, implemented in Open Inventor and ported to TANGO.The ultimate success or failure of a collaboratory system depends on its application set. Video, audio, and whiteboard conferencing is just a seed of a collaboratory. Domain specific applications must be either imple-mented from scratch or ported from their stand-alone versions for a collaboratory to become truly useful. T
ANGO Interactive offers APIs for Java, C/C++, LISP, and Javascript.Javascript API extends T
ANGO application domain to colla-borative, interactive Web pages. Javascript is an interesting alter-native for implementation of client-side web applications. Compared to Java applets, Javascript applications are ligh-weight and agile, and require very short downloading times. Combined with an AI agent, collaborative Java-script can turn every web page into a shared entity. TANGO makes extensive use of Javascript API. WebWisdom, TANGO virtual university curricula delivery agent is written entirely in Javascript. Collaborative Javascript applications are truly unique to TANGO Interactive.LIPS API enables TANGO integration with a suite of GNU software, including collaboration support for XEmacs.
T
ANGO Interactive architecture supports implementation of shared worlds, such as 2D and 3D chat and gaming spaces. An example above illustrates a multi-user, 3D chess game implemented in Java and VRML2.T
ANGO Interactive currently is being used to implement and deploy collaboratory applications in domains such as distance learning, distributed medical intelligence, command and control, crisis management, distance consulting, and project management.For further information, visit our site at
http://trurl.npac.syr.edu/tango, or contact us at (315) 443-4879. For commercial applications, contact WebWisdom.com, (315) 443-2163.