Subject: MMusic WG minutes

From: schooler (Eve Schooler)
Date: Wed, 13 Apr 1994 15:35:45 -0700

Hi All,

Here are the minutes from the Seattle meetings of the MMusic WG.
I tried to capture how I thought the discussions went, but
all suggestions/improvements/comments/critiques are welcome.
I plan to send in an official version on Friday sometime.

E.

~~~~~~~~~ WG MINUTES ~~~~~~~~~~

These notes were prepared by Eve Schooler, [email-masked].  An 
on-line copy of the minutes and the accompanying slides are available 
in the directory ftp.isi.edu:confctrl/minutes as files ietf.3.94 and 
slides.3.94.tar.

      Multiparty Multimedia Session Control WG (MMusic)
                Minutes from the 29th IETF
                       Seattle, WA
                  March 29 and 30, 1994

               Abel Weinrib, [email-masked]
               Eve Schooler, [email-masked]

The MMusic working group held two sessions at the Seattle IETF, both of
which were multicast on the MBone.  The first four presentations were
aimed at showing the convergence of ideas about the framework and
protocols needed for session control in the Internet.  These were
followed by an update on the status of the agreement protocol, the
impact of the WWW on session creation and rendez-vous, the relevance of
reliable multicast to the Internet MMusic problem, and finally an
assessment of the working group's direction.  From formal and informal
conversations with working group participants, it was clear that these
ideas are ready to be codified and written down.

Conference Control Channal Protocol (CCCP): 
a scalable base for building conference control applications
Mark Handley, UCL (slides.3.94.a.tar)  

One highlight from Mark's talk was the concept that the communication
among distributed session managers and also between a session manager
and its media agents could be facilitated by a session-wide multicast
channel.  The same channel would be used for both "horizontal" and
"vertical" messaging, with the multicast ttl set to a small value (like
0 or 1) to limit distribution of local media-agent addressed messages.
There was debate, however, about the extent to which the horizontal and
vertical protocols should or need to be similar.

A naming/addressing convention was also presented that would help users
build applications on top of the bus abstraction and that would assist
media agents to filter messages.  It was noted that the CCCP approach
seemed complementary to the idea of an agreement algorithm on which
a session service could be built.

Although it has been pointed out before that different session
functions may require different levels of reliability from the
transport service, and thus may need a flexible communication
library, in this discussion that idea was extended further.  The
observation was made that, for a particular function being performed on
a session, the degree of reliability may not be a uniform choice across
all session participants.  An example might be the need for a
multiplexer (aka a quad box) to receive a floor control announcement
more reliably than a general user, since the multiplexer is an
in-the-network service that is more critical to the smooth operation
of the session.

Finally, since we are interested in scalable session control solutions,
there was agreement that the session control protocol should scale
at least as well as the application that it is controlling.
More details on this work can be found in a paper available in the mmusic
archive area, ftp.isi.edu:confctrl/bib/cccp/*

Flow Synchronization Protocol 
Julio Escobar, BBN 

Julio gave a brief overview of the flow synchronization protocol, a
protocol that was designed to provide common delay for synchronized
processes across the network.  Its strengths include that it allows
very flexible synchronization groups (destination processes that may or
may not reside on the same host), and also that it is highly adaptive,
since Internet operation leads to changes in delay predictions among
different destinations.

The focus of the talk was twofold: how well the control architecture of
the sync protocol maps to our ideas in the MMusic group about
modularized session managers and media agents, and additionally how it
relates to the use of an agreement protocol.  Julio took the session
state needed by the sync protocol and classified it according to the
agreement algorithm notation.  The distinction was made between
session-wide parameters, typically established and owned by an
initiator, and local parameters that are owned by each individual
destination process.  The implied session policy was that only the
owner of each piece of session state may change it or may announce it.
Thus, the synchronization protocol fits quite well under a scheme of
eventual consistency.

Evolution of MMCC: Sesssion Control Revisited 
Eve Schooler, ISI (slides.3.94.b.ps)

Eve presented the architectural framework behind the ISI session 
orchestration tool, mmcc, and discussed the ongoing evolution of 
its session control protocol.  The main goals of the discussion were
to identify similarities and differences among the various session
control approaches, and to suggest a synthesis of ideas.

A few key points centered around functional requirements.  The first
was the need to separate session creation from session invitations or
joins.  Another was that there should be no distinction between the
session attributes that can be set at session creation, and those that
can be set/changed at any point throughout the lifetime of the
session.  This relates to the general question, "what set of
descriptors constitutes a session?".  The answer is needed to allow
alternate session creation schemes for user rendez-vous.

In addition, it was argued that the notion of a floor control agent
needn't be thought of as distinct from a session manager.  Although the
communication requirements of such an agent exemplify why we need both
session-manger-to-session-manager communication and
session-manager-to-media-agent communication, this same degree of
coordination is required for other functions (e.g., configuration
choices such as an encoding scheme) beyond what is traditionally
considered floor control.

Other issues raised were: the tradeoffs between a classic packet format
and string-based messaging, how to characterize media agents, QoS, and
session policies as part of a session description, the movement toward
an adapative soft-state approach (periodic refresh) and building a
group consensus service on top of it, current options for cross-module
communication, and incorporating multicast.

Session Control Thoughts for a Non-Unix Conferencing Environment 
Charley Kline, UIU (slides.3.94.c.ps)

This past month saw the public release of Maven, an audio conferencing
application designed for the MacIntosh platform.  Charley outlined
several of the problems unique to the development environment (e.g.,
lack of multicast, OS differences) and their influence on Maven's
implementation.  During the presentation, he summarized the current
state of session control among MBone tools and contrasted this with a
suggested common protocol for session control interaction.

One suggestion was to capitalize on the change within the RTP
specification to separate the control port from the data port, and to
use the RTCP port for an extended collection of session control
functionality.  [In off-line discussions about layerist philosophy,
there was also the proposal that RTCP was intended for transport
control, and that it would make more sense to have a different port 
be used for session control.]

While there appeared to be firm consensus on the modularity of the
architecture required for session control, there was ongoing dialog
about what information needs explicitly to be shared across the
boundaries of the modules.  For example, it was argued that Maven might
like to display the text of the participants' names, so that it could
highlight who was speaking when.  On the other hand, to avoid
duplication of session information, the text of each participant's name
might be owned by the session manager, and highlighted when contacted
by the audio media agent to do so.  Naturally, this led into a debate
about who should own what information, how to share GUIs, and if it is
economical from an interactivity standpoint to impose added delay for
users to wait for ipc among session and media agents.

A related discussion was about the choice for the protocol needed to
communication between session managers and media agents.  The present
options we have are Tk/Tcl, which does in fact run on PCs and Macs, SMTP, 
or other forms of inter-process communication.  Although it might appear 
that we don't have to standardize the inter-session-manager-media-agent 
link, it certainly would go a long way to promote interoperability between 
media agents and session agents that are created by different individuals.  
As for whether or not the horizontal and vertical protocols should be the 
same, it was noted that they have very different scaling properties, and 
are likely to have different distribution needs by virtue of locality.  

Managing Shared Ephemeral Teleconferencing State: Policy and Mechanism
(a.k.a An update on the agreement algorithm)
Abel Weinrib, Bellcore (slides.3.94.d.ps)

Abel presented an update on the agreement algorithm work that Scott Shenker
had introduced at the last IETF meeting.  As has been discussed in previous
MMusic working groups, the agreement algorithm provides the foundation for
the session control protocol that allows distributed session control agents
to jointly manage the shared session state.

While similar in basic outline to the earlier proposal, the policy
specification and algorithm have undergone some significant changes.  There
now exists two new types of membership, with different types of members
receiving different levels of correctness.  In particular, eventual members
are guaranteed to share a common view of the eventually correct state E and
critical members are guaranteed to share a common view of the critical
state C when voting on changes to the state in D.  Algorithms have been
developed for both a reliable communications infrastructure and unreliable
multicast.  With reliable communications, locking is used to guarantee the
correctness related to changes in critical state, while eventual
consistency is guaranteed by sending out announcements that are ordered by
timestamps by the recipients.  For unreliable multicast communications,
announcements of new state are multicast to the group, with back off and
suppression of old state messages to improve scalability.

More details on this work can be found in a paper available in the MMusic
document archive, ftp.isi.edu:confctrl/docs/agree.ps

Session Advertisement and Media on Demand via WWW
Bill Fenner, NRL (slides.3.94.e.ps)

Bill described two ways in which real-time A/V sessions are already
being incorporated into WWW.  The first approach was designed by Bill
as a proof of concept and is based on the creation of an
application-specific MIME type for session advertisement in WWW.  Two
programs were created to assist with this; the sd-listen program
captures session directory announcements (from LBL's sd tool) and the
sd-launch program is used to spawn the requested sessions.  One
complication is that by advertising a session using WWW, the
multicast ttl's for scoping may not work properly.

The second approach uses WWW to deliver media on demand, and was
developed by Anders Klemets.  It supplies previously recorded sessions
or sound files.  Although it avoids the multicast ttl problem, since it
is unicast-based, there is some issue that the server machine is in
some sense co-opted to transmit a session that was initiated elsewhere.

Synchronous Collaboration with WWW,
Thane Frivold, SRI (slides.3.94.f.ps)

Thane described the Collaborative Multimedia Environment (COMET)
project, which takes the persistent document paradigm of WWW and
supplements it with synchronous dynamic sessions.  The result is shared
document collaborations.  A conference specification is stored as part
of a Mosaic document.  By leaving coordinates in documents about
authors and other session state, Mosaic is able to launch a variety of
session-related applications, including the ones that originally
produced the document.

The architecture includes a session control manager that distributes
conference requirements (applications, data, participants) as well as
instantiates conferences.  Although the protocol that it uses is still
evolving, it is ascii-based and supplies conference directives as Tcl
procedures.  Eventually, the intent is to incorporate a suite of
session policies, not only on a per session basis, but also on a per
person basis.

Membership Protocols for Conference Control
Bala Rajagopalan, AT&T Bell Laboratories (slides.3.94.g.ps)

Bala focused on the fact that membership management is the basis for
many conference control functions, and that proposals for reliable
multicast appear too weighty for these tasks.  

To design a membership management protocol, one must consider
membership in the presence of failures, the impact of scalability, and
how communication latency grows with group size.  Although there is an
inherent trade-off between scalabiliyy and control, a possible
conference control framework would allow the "type" of a conference to
be established at initiation through policy selection, and gracefully
loosen these policies as a session scales.  The "type" could itself
specify how the control policy changes with size, though this may be
difficult to achieve in practice.

The membership problem is difficult because consistency of information
at each member at every instant is impossible.  Eventual consistency is
more obtainable under certain definitions of membership, though even
eventual consistency may not be simple to achieve when certain network
conditions occur.  It is critical that in formulating a conference
control model that we specifically accommodate real-world network
anamolies, such as session fragmentation.

Attendees:

Eve Schooler			[email-masked]
Abel Weinrib			[email-masked]
David Crone			[email-masked] 
David Meyer			[email-masked]		
Steve Fulling			[email-masked]
Glen Daniels			[email-masked]
Shin Yoshida			[email-masked]
Kyngran Kang			[email-masked]
Benjamin Levy			[email-masked]
Angela sasse			[email-masked]	
Mark Handley			[email-masked]			
Jon Crowcroft			[email-masked]
Michael Speer			[email-masked]
Don Hoffman			[email-masked]
Amy Pearl			[email-masked]
Thane J. Frivold		[email-masked]
Ron Frederick			[email-masked]
Steve Casner			[email-masked]
Shian Wong			[email-masked]
Mark Pullen			[email-masked]
Mass Yosi			[email-masked]	
Jin Ho Hur			[email-masked]
Michael Elkins			[email-masked]		
Kadura Krahrasuramy		[email-masked]
Sandip Dasgupta			[email-masked]
Chuck deSostoa			[email-masked]		
Andrew Cherenson		[email-masked]
Allyson Showalter		[email-masked]
Cyrus Chow			[email-masked]
Jim Knowles			[email-masked]
Marjo F. Mercado		[email-masked]
Donald Merritt			[email-masked]
Rich Bantel			[email-masked]		
Berry Kercheval			[email-masked]
Dan McDonald			[email-masked]
Brian Adamson			[email-masked]
Steve Batsell			[email-masked]
Larry Blunk			[email-masked]
Dan Wood			[email-masked]	
Charles E. Young		[email-masked]	
R. Eric Bennett			[email-masked]	
Phil Irey			[email-masked]
Ken Mascia			[email-masked]
Julio Escobar			[email-masked]	
Scott Shenker			[email-masked]
Ken Hayward			[email-masked]
Sally Floyd			[email-masked]
Charly Kline			[email-masked]
Linda Winkler			[email-masked]
John Stewart			[email-masked]
Roger Fajman			[email-masked]		
Bill Fenner			[email-masked]
Eric Hoffman			[email-masked]
Arthur Lin			[email-masked]
Ted Kuo				[email-masked]
Ming Sheu			[email-masked]
Mark Prior			[email-masked]
Steve Minzer			[email-masked]		
Carsten Bormann			[email-masked]
Katsuhiro Sebayashi		[email-masked] 
Yashiro Katsube			[email-masked]
Bala Rajagopalan		[email-masked]
Mark Allyn			[email-masked]
Bill Fink			[email-masked]
Allison Mankin			[email-masked]
John Wroclawski			[email-masked]
Richard Cogger			[email-masked]
Joseph Pang			[email-masked]
Andrew Knutsen			[email-masked]
Walter Stickle			[email-masked]	
Paul Lambert			[email-masked]
Brian Adamson			[email-masked]
Greg Minshall			[email-masked]
Dave Thompson			[email-masked]
Paul Goransson			[email-masked]
Eric Crawley			[email-masked]
Raj Vaswani			[email-masked]
Peter Kirstein			[email-masked]
Paul Serice			[email-masked]
Glen Daniels