Subject: Confctrl template for Touring Machine project

From: Abel Weinrib <[email-masked]>
Date: Wed, 24 Mar 1993 15:22:14 -0500 (EST)

Conference Control BOF Template
		    -------------------------------

1. Name of project, program and/or protocol.

	Touring Machine Project

2. Contact person, affiliation and e-mail address.

	Abel Weinrib
	Bellcore (Network Systems Research Dept.)
	[email-masked]

3. Target operating environment and key design considerations:

The Touring Machine project is studying the design and realization of a
robust software control infrastructure that enables a broad class of
multimedia communications applications.  Through its applications
programming interface, the Touring Machine platform supports
abstractions that shield an application designer from the details of
routing, resource allocation, presentation control, session control and
network and system management, and provides useful services such as
access to directories containing both static  and dynamic system
information, authentication, security, and session negotiation.

Currently, the Touring Machine platform is the basis for several
communications tools, including the CRUISER (TM) service and shared data
applications based on the RENDEZVOUS (TM) system.  The CRUISER service
is a multimedia communications application designed to support informal
communications among  remotely located co-workers, as well as
participation in seminars through a "virtual auditorium" service.  The
Touring Machine platform also supports mobile users, using active badges
from Olivetti Research Labs, Cambridge. 

The current realization of the system controls analog audio and video
switches within two Bellcore locations, with analog audio and video
hardware on about 150 users' desktops.  While unsophisticated in terms
of transport technology, this choice allows the support of a large and
active user population, and has allowed our effort to be concentrated on
developing the software infrastructure and multimedia applications.  The
two locations are connected by H.261 codecs operating on a T1 circuit. 
Control messages and "data" media streams are carried over Bellcore's
Internet.  Ongoing enhancements include the addition of integrated
packet transport of all media types.  There are also plans to create a
version of the current system accessible via ISDN.

The next iteration of system design is currently underway.  It addresses
system structuring principles for extensible, open, managed systems, as
well as expanding the functionality of the API. The design borrows
heavily from the architectural principles of Bellcore's INA project; the
system is designed as a distributed object-oriented system based on
trading.  Research continues in the areas of reliability, extensibility,
support for hybrid analog/digital fabrics,  interworking across multiple
administrative domains, safeguards for an "enterprise model" allowing
third-party service providers, and integrated systems management,
including fault management and accounting. 

4.a Type of conference styles supported by your system/protocol.

The Touring Machine session protocol supports controlled multimedia
conferences, with separate control over the media used.  One user
initiates the session, inviting others to join.  Once established,
additional users may be invited to join, and current members may leave. 
The session allows the setting of various policies regarding addition of
new members to the conference and changing of other session state such
as the transport topology.  For instance, one session policy allows any
user to join a session without action required on the part of the
current members; another specifies that only the initiator may initiate
changes.  Multicasting of talks from conference rooms, with browsing of
a list of the available conferences by a user, is also supported.

4.b Profile of user community: 

 Various applications have been built on the Touring Machine platform. 
The CRUISER(TM) application is currently being used on a day-to-day
basis by about 150 people within Bellcore spread over two locations. 
The application supports multiparty, multimedia conferencing, and
connection to seminars and other broadcast sources.  The application was
developed with significant thought being given to usability.  The users
are computer-literate, but expect the system to work without thought on
their part.  Within a location the media quality is excellent (an
advantage of using analog transport); between locations the quality of
the H.261 codecs, especially regarding roundtrip delays, is not so good.

The current system supports impulse calling from a user's desktop; no
advanced reservation is required (or allowed).  Thus, it is used most
often for spontaneous conversations rather than for formal meetings;
however, these conversations are often lengthy.  The lack of use for
formal meeting may also has something to do with a majority of the users
being in one location and the relatively poor quality of the audio and
video connecting the two locations.  (Bellcore's video window technology
also connects the two locations, and appears preferable for formal
meetings with multiple participants.)

5. Architecture assumptions: 

The Touring Machine platform sits above network transport, providing a
suite of useful services to the creators of multimedia communications
applications.  These services include authentication of users, a
directory service containing system information (such as the users of
the system and the current sessions in the system), a session service,
and others.  As such, the system model is quite network-centric, with a
significant role to be played by the Touring Machine infrastructure. 
The implementation of the system is distributed, in that the Touring
Machine software is structured as a set of distributed objects working
co-operatively to provide the services supported by the API.  The
current implementation allows for a single administrative domain;
extensions in progress aim to support multiple administrative domains,
with protocols between the domains to realize resource allocations and
directory services across the multiple domains.

The session service supports an abstract session object, which
encapsulates a control relationship among its members that is separate
from the topology of the actual media streams that make up the
communications.  Thus, a user may be a member of a session without being
involved in the media streams--for instance to control the conference. 
The session is the site of negotiation about the transport topology for
the communications, specified in an abstract manner.  In addition, the
session provides support for negotiation about session membership and
session policy such as who may find out about the session and who may
change the session's state.  

6.a How do you define conference control?  

I like Eve's definition:
	The management and coordination of multiple sessions, and
	their multiple users, in multiple media.  

6.b Conference control functionality supported.

A suite of services made available to the multimedia communications
application programmer by the Touring Machine platform.  These include:
- User authentication.
- (Simple) negotiation for initiating and changing session membership,
policies, and topologies for transport in multiple media.  
- The transport topology is specified using high level abstractions,
thus hiding the transport details from the applications programmer.
- A user may participate in multiple simultaneous sessions, limited only
by the resources they have available to display the media streams. 
Abstractions are provided to manage a user's network access resources to
allow independent suspending and resuming of multiple sessions.
- Access to directory service containing dynamic and static system state
information.
- Support for user mobility using active badge technology.

6.c Other control functions you would like to support.

More powerful control over the presentation of the media streams to the
user (i.e., the particular type of video bridging function).

7. Conference control protocol details: 

Set up is explicit through the session protocol between applications and
the Touring Machine system.  There is separation of membership in a
session from the definition of the actual transport topology for the
various media streams.  The transport topology is defined abstractly,
and can be quite general.  The state of a session is maintained by the
Touring Machine system; the session protocol allows applications to
maintain a view of the session state.

8. Hardware/software platforms.  

Various analog computer-controlled audio-video switches, bridges and mixers.
Touring Machine platform runs over UNIX(R) on Sun, DEC, and Next
workstations.  
The applications that have been written run on UNIX with X-windows(TM)
based GUIs.

9.a What specifically has or has not been implemented?

The current version of the system is fully operational and supports many
users on a day to day basis.  

9.b What was unexpectedly easy or difficult to implement?

The system is inherently asynchronous, with multiple users able to
initiate changes at any time to, e.g., the session state.  Thus, it is
impossible for application programs to maintain an exact view of the
state, and it is quite difficult for them to act appropriately in all
cases when their view is incorrect.

The Touring Machine platform controls a significant number of network
resources such as bridges and trunks.  Resource loss is a serious
concern, arizing from hardware and software faults and user actions
(such as killing off an application). Because the system is implemented
in a distributed fashion, recovery of lost resources is cumbersome.  The
next version of the system will include more fault tolerance, with an
emphasis on protocols that recover lost resources.

We have found supporting good quality multiparty audio, even in the
analog domain, to be troublesome.  While usable, it is not like being in
the same room--a relaxed multiparty conversation is not really possible.
 Also, between locations the delays introduced by the H.261 codecs leads
to noticeable and irritating echos.

9.c What might you change as a result?

The effort currently underway on designing the next version of the
system addresses some of the issues raised in 9b, as well as many others
associated with building an extensible, open, managed systems and with
expanding the flexibility and functionality of the API.

10. If available, suggested readings about your work on confctrl.

 "The Touring Machine System", Arango et. al., CACM January 1993.