home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / mmusic / mmusic-minutes-93jul.txt < prev    next >
Text File  |  1993-09-22  |  20KB  |  460 lines

  1.  
  2. CURRENT_MEETING_REPORT_
  3.  
  4. Reported by Eve Schooler/ISI
  5.  
  6. Minutes of the Multiparty Multimedia Session Control Working Group
  7. (MMUSIC)
  8.  
  9. An on-line copy of the minutes and the accompanying slides may be found
  10. in the directory venera.isi.edu:confctrl/minutes as files ietf.7.93 and
  11. slides.7.93.ps.
  12.  
  13. The MMUSIC Working Group met officially for the first time in Amsterdam.
  14. We held two sessions that were multicast over the MBONE. The first
  15. meeting was used to set the context and to discuss the progress made
  16. since the BOFs held at the last IETF. During the second session, we
  17. began to lay the groundwork for a strawman MMUSIC protocol.
  18.  
  19.  
  20.  
  21. First Session:  Context and Progress
  22.  
  23. After review of the modified charter, we discussed proposals for a set
  24. of common terminology, an end-system architecture, the MMUSIC protocol
  25. requirements, implementation considerations and conference styles.  To
  26. narrow the scope of the discussion, we emphasized the need to think in
  27. terms of a ``version 0'' negotiation protocol.
  28.  
  29.  
  30.  
  31. Terminology, Framework, Requirements
  32.  
  33. Highlights from Lakshman's (lakshman@ms.uky.edu) proposed session
  34. control glossary were presented (slides 4-8).  The key points were:
  35.  
  36.  
  37.    o The differentiation between a ``session'' (an association of
  38.      members for control) and a ``conference'' (a logical abstraction
  39.      among multiple participants for multimedia real-time communication
  40.      that consists not only of a control session) but also of related
  41.      media associations and conference policies.
  42.  
  43.    o The identification of the main system components for an end-system
  44.      teleconferencing architecture as being the conference session
  45.      manager, media agents and a resource manager.
  46.  
  47.  
  48. Since ``media'' is an overloaded word, we are open to suggestions for a
  49. better term than ``media association,'' which is currently defined as
  50. the encapsulation of the transport (point-to-point or multipoint) in a
  51. single medium.
  52.  
  53.                                    1
  54.  
  55.  
  56.  
  57.  
  58.  
  59. Some clarification was needed for the term ``reflector participant,'' a
  60. participant who neither generates nor terminates data but acts as a
  61. go-between.  It is one of several participant types that arise out of
  62. policy choices.  Julio Escobar commented that it is somewhat of a
  63. misnomer since a reflector implies the ``reflecting back'' of data, and
  64. a reflector participant may be used in a variety of fashions (e.g., it
  65. may translate or combine data).  A reflector might be considered a
  66. service access point.
  67.  
  68. In a change since last time, we emphasized that the conference session
  69. manager is not necessarily the central system component, as shown in the
  70. slide ``Framework 1,'' but that we think of it more as in the
  71. ``Framework 2'' slide.  However, to a large extent the relationship
  72. among the various components is immaterial and implementation-specific.
  73. For instance, a third approach, where the conference session manager is
  74. part of one monolithic application, is equally valid.  The working group
  75. focus is somewhat separate from the specifics of the framework choices,
  76. since we are primarily interested in the interaction between the MMUSIC
  77. negotiation protocol and the conference session manager.
  78.  
  79. Since the last meeting, we refined the session control protocol
  80. requirements (slide 11).  They encompass several functions:  those for
  81. distributed session management, dynamic membership management, session
  82. policy management, and domain specific tasks (e.g., media associations
  83. and configurations).  These groups of functions reflect the management
  84. of a ``conference'' itself, and the management of its control, policy
  85. and media elements.
  86.  
  87. In addition, we need to distinguish between the policies that are
  88. carried by the protocol and those understood by the protocol.  Does the
  89. protocol simply carry policy in the same way that it simply carries
  90. media information, as a payload or ``bag of bits''?  While session
  91. policy is not meant as an optional characteristic, since it is what
  92. defines the session type, policy enforcement is probably outside the
  93. scope of the protocol.  However, policy enforcement will impact the
  94. degree to which we can provide session privacy and security.
  95.  
  96. The idea of advance reservation was a recurring topic, and one which
  97. needs further scrutiny.  We expect the protocol to provide hooks for
  98. pre-scheduling sessions, though the conference session manager has no
  99. direct effect on reservations in the network, nor reservation strategies
  100. (optimistic versus pessimistic).  Ambiguities remain about the
  101. definition of resources, since they occur at a number of levels (e.g.,
  102. people, rooms, hardware devices, workstation capabilities, network
  103. bandwidth), and about how different policies will cause different
  104. outcomes for resource scheduling and contention resolution.  One
  105. suggestion was to create a proper session MIB to assist with end-system
  106. management of configuration, capabilities and policies.
  107.  
  108. There was also speculation about the interaction between the session
  109. manager and media agents, for instance when the transport for a media
  110. agent fails but the control path is still functioning.  Although the
  111. end-system architecture is somewhat outside the venue of the MMUSIC
  112. protocol, we expect that some system component implementations will
  113.  
  114.                                    2
  115.  
  116.  
  117.  
  118.  
  119.  
  120. enable up-calls from (down-calls to) media agents and that are conveyed
  121. to (from) the session manager either directly or indirectly.  The
  122. session manager (media agents) may issue modifications as a consequence.
  123. Similar mechanisms are needed for a session chair to be able to turn on
  124. and off media agent data flows.
  125.  
  126.  
  127. Implementation for the Internet
  128.  
  129. What are the building blocks needed for implementation and operation of
  130. a MMUSIC protocol in the Internet (slide 12)?  Perhaps the biggest
  131. questions were:
  132.  
  133.  
  134.    o What transport platform is needed to support a general purpose
  135.      negotiation service?
  136.    o To what degree do we need reliable multicast?
  137.    o How reliable does reliable have to be?
  138.  
  139.  
  140. A critical, near term action item is to find an individual or a
  141. collection of individuals who can advise us on our options and recommend
  142. a solution.  It was noted that INRIA is planning to make a reliable
  143. multicast solution available to the public shortly.  Regardless of the
  144. approach taken, it was agreed that the interface to MMUSIC should be
  145. designed so that the requirements for the underlying service are clearly
  146. stated and that the actual choice may vary.  Different transport
  147. implementations might be differentiated on their port number.  The
  148. requisite comment was made that the goals of reliable delivery and
  149. scalability of sessions conflict with each other.
  150.  
  151. In addition, it was suggested that we investigate the universal
  152. identifier naming infrastructure already used in the WorldWide Web
  153. (WWW). Another correlation was noted between synchronous and
  154. asynchronous group negotiation, for instance for mailing list
  155. coordination.  Yet the timing characteristics for conferee interactions
  156. differ by an order of magnitude between real-time conference session
  157. control and mailing list management.
  158.  
  159.  
  160. Conversation Styles
  161.  
  162. Pre-IETF, we posted to the mailing list some musings on the relationship
  163. between conversation styles and their requirements on the underlying
  164. communication infrastructure.  It was agreed that a number of other
  165. dimensions, besides size, need to be considered to describe the list of
  166. session types more completely.  The question was raised about whether it
  167. is easier to move from tight to loose or loose to tight schemes when
  168. devising an approach, since the complicated scenarios occur somewhere in
  169. the middle of the continuum (slide 13).
  170.  
  171. There also was debate about the existence of an upper bound on the
  172.  
  173.                                    3
  174.  
  175.  
  176.  
  177.  
  178.  
  179. number of conferees generating media (actively participating).  The
  180. united-nations model and the distributed simulation model are good
  181. counterexamples to an upper bound.  A criticism about the original
  182. assumption is that we need to be careful not to introduce artifacts of
  183. the capabilities of the current generations of tools into our
  184. interaction model.  Although a preliminary document on the range of
  185. conversation styles has been drafted, further details are needed.
  186.  
  187.  
  188.  
  189. Second Session:  Outline for a Protocol
  190.  
  191. The foundations for the strawman protocol were discussed (slides 14-20)
  192. and included proposals for the definition of session state and for
  193. naming conference components.  After thorough descriptions were given of
  194. the main protocol assumptions, we delved into the basic message types,
  195. examples of how they might be used and default session policies.  A
  196. lively discussion ensued that helped us compile a list of outstanding
  197. issues and action items (slides 22 and 23).
  198.  
  199.  
  200.  
  201. Session State and Naming
  202.  
  203. There were no strong opinions about whether or not naming should be
  204. opaque or structured; in other words whether or not names should be
  205. based on arbitrary identifiers, or structured around common identifiers
  206. already in use, such as login ids, host addresses, port numbers and
  207. timestamps.  In any event, the identifiers must be unique.  The
  208. inclusion of a sequence number was felt to be overkill.  There are no
  209. side effects if the session_id is based on the initiator's member_id and
  210. the initiator drops out of the session; the incorporation of the
  211. initiator's member_id is simply a technique to make the session_id
  212. unique.  Aliases were deemed useful from an application standpoint, but
  213. not necessary for the operation of the session control protocol itself.
  214. The idea behind the aliases were to provide RTCP-like support, though
  215. there are other textual pieces of information that RTCP carries in
  216. addition to conferee names and the session name.
  217.  
  218. However, there are broader privacy concerns if we tie the member_id and
  219. session_id to identifiable naming structures.  Also, should naming be
  220. any different if the conference session manager acts on behalf of a an
  221. individual user, conference room of participants, reflector participant
  222. (the proxy), or an automated service (the virtual user)?
  223.  
  224. We also need to think about naming for mobility, both at session setup
  225. (to forward requests when you have multiple addresses) and during
  226. long-lived sessions (to allow users to move around), for example, were
  227. individuals equipped with locator badges?  Can we leverage off of the
  228. location services for naming transparency being designed in the MOBILEIP
  229. Working Group?
  230.  
  231.                                    4
  232.  
  233.  
  234.  
  235.  
  236.  
  237. Protocol Assumptions
  238.  
  239. Questions about looser styles of conferencing came up.  How does someone
  240. simply tune-in in a loose control fashion, given that we're thinking
  241. about requiring the participation of at least one member for a session
  242. to persist?  One idea was to create a virtual member to ``own'' the
  243. session.  This virtual member would not only establish the session, but
  244. also take responsibility to terminate it.  The idea of a virtual member
  245. also could be applied to pre-scheduling sessions (again, this is
  246. different from reserving the network or other resources), since the
  247. virtual member would establish the session ahead of time and only
  248. participate from a control standpoint.  Another suggestion was to view
  249. this as allowing empty membership lists, since the virtual member is not
  250. an active member.
  251.  
  252.  
  253.  
  254. Basic Message Types
  255.  
  256. The basic message types do not in and of themselves provide a
  257. negotiation service; they are meant as building blocks.  Whether or not
  258. they are delivered reliably is a separate issue.  We proposed a
  259. three-phase commit handshake (Propose-Reply-Announce) for proposals
  260. needing negotiations.  Suggestions about the messages that are under
  261. advisement:
  262.  
  263.  
  264.    o Add an optional ``reason'' field to the Reply message to make
  265.      informed decisions about initiating another round of proposals
  266.      after receiving a reject.  This is useful for handling error
  267.      messages when not in the correct state to receive a Proposal.  More
  268.      generally, this optional payload field could be added to both Reply
  269.      and Propose messages:
  270.  
  271.  
  272.       -  In the Reply message:  to allow a reject or an accept response
  273.          to include hints that could assist with renegotiation.  This
  274.          results in four types of Replies.
  275.       -  In a Propose message:  to provide enough information up-front
  276.          to reduce the number of negotiated rounds.
  277.  
  278.  
  279.    o Differentiate between an Announce message that:
  280.  
  281.  
  282.       -  Has been agreed on versus one that a proposer has decided on
  283.          alone.
  284.       -  Includes the delta versus the entire state of the conference.
  285.          If the state is large, one may want to send the hash of the
  286.          state.  Does an Announce send state, operations, or both?
  287.  
  288.                                    5
  289.  
  290.  
  291.  
  292.  
  293.  
  294.    o How to handle/avoid a questionable Announce message?  To cut down
  295.      on false Announces, one option is to multicast all messages to all
  296.      members.
  297.  
  298.  
  299. Examples were provided of how the messages might be used, from simple
  300. scenarios (using an Announce to leave a session or to produce keep-alive
  301. messages) to session initiation or modification.  We assumed that a
  302. proposal may be comprised of multiple operations.  Although many hooks
  303. were discussed, version 0 may defer using some of them.
  304.  
  305. A key open issue is if the protocol requires serializability, i.e., that
  306. all proposals are acted on in the same order at all conference session
  307. managers involved in a session.  We maintained that a sufficient measure
  308. of tight control can be enforced without serializability, and without
  309. requiring absolute global state consistency.  To reduce conflicts,
  310. multicast Propose messages to all others, even if not involved in the
  311. accept phase.
  312.  
  313.  
  314.  
  315. Policies
  316.  
  317. Slide 20 introduced the main policies we expect to associate with a
  318. session.  Underlined options represent the default choices, should no
  319. policy be chosen.  We clarified that members are always allowed to leave
  320. a session, regardless of the termination policy.  In fact there was a
  321. motion to replace explicit session termination by implicit termination
  322. when the membership count drops to zero, or after some duration beyond
  323. when the membership goes to zero (this would avoid odd behavior caused
  324. by the non-serializability of proposals).  On a similar note, we may
  325. want to support a policy where one member is able to delete all other
  326. members in order to terminate a session.
  327.  
  328. We discussed the rigidity of session policies and the need to determine
  329. if different session policies conflict with one another, especially with
  330. regard to ``static'' sessions (e.g., unchangeable sessions in terms of
  331. their members, policies and media components).
  332.  
  333. The concern was that if there are communication failures that prohibit
  334. approval for a session change (e.g., when the policy is that all must
  335. approve), that this would result in a deadlock, a malfunctioning session
  336. that does not terminate, or a scenario where resources are never
  337. returned.  Clearly, in filling in the protocol details we will need to
  338. differentiate between the receipt of a reject reply versus no reply at
  339. all.  We will also need to state how policies will be handled (possibly
  340. become more relaxed) in the event of a communication failure.  The
  341. communication failure may be due to an intermittent lapse in
  342. connectivity, to a person leaving their workstation unattended and not
  343. being able to immediately reply to a query, or to the member having left
  344. the conference at a network failure point and consequently being in the
  345. wrong state.  It was felt that a conference session manager should
  346. behave like TCP reset after a failure and retain no previous state.
  347.  
  348.                                    6
  349.  
  350.  
  351.  
  352.  
  353.  
  354. Even though we proposed an initially small set of policy choices, the
  355. richness and completeness of this set needs further scrutiny.  To decide
  356. where version 0 falls on the session style continuum, we solicit input
  357. on suggested policies and their default values.  Additionally, to what
  358. level of granularity should we institute policies?  Do we need to have
  359. global policies?  Per-operation policies?  Per-initiator policies?  Will
  360. policies be shared with media agents and other system components?
  361.  
  362. A good deal of discussion centered around policies about who may make
  363. proposals, since non-members may be restricted from initiating
  364. proposals, and in some cases not all members are proposers.  These
  365. policies apply to changes in general, and are separate from who is
  366. needed to approve proposals (e.g., coordinate a vote or approve an
  367. initiation request).  The solution proposed was that a non-member find a
  368. sponsor for a proposal, ensuring the notion of trusted membership.
  369. However, is this approach too stringent?  Because of the premium on
  370. being a member versus a non-member, there is also interest in making
  371. assurances that one person isn't impersonating another.
  372.  
  373. More specifically, the issue boiled down to the question of joining a
  374. session.  How does one join?  Who does one contact?  Again, the idea is
  375. to assign a ``doorman'' or ``doormen.''  For version 0, to support an
  376. open session in the sd style, a doorman could simply say yes all the
  377. time.  Similarly, is there a more straightforward approach out there?
  378.  
  379.  
  380. Outstanding Issues
  381.  
  382. How does floor control interact with session control?  Is the notion of
  383. floor control its own protocol?  With its own messages?  We are looking
  384. to other projects, such as MiCE, to advise us on this.
  385.  
  386. Could the negotiation protocol be used for other purposes, such as a
  387. calendar scheduler, booking service, or even to measure agreement over
  388. topics during an ongoing conference?  We are interested in someone
  389. studying the range of related applications for the MMUSIC protocol.
  390.  
  391.  
  392. Attendees
  393.  
  394. George Abe               abe@infonet.com
  395. Chris Adie               C.J.Adie@edinburgh.ac.uk
  396. Axel Belinfante          Axel.Belinfante@cs.utwente.nl
  397. Lou Berger               lberger@bbn.com
  398. Jim Binkley              jrb@ibeam.intel.com
  399. Carsten Bormann          cabo@cs.tu-berlin.de
  400. Robert Braden            braden@isi.edu
  401. Stefan Braun             smb@cs.tu-berlin.de
  402. Michael Brescia
  403. Les Clyne                l.clyne@jnt.ac.uk
  404. Walid Dabbous            Walid.Dabbous@sophia.inria.fr
  405. Steve DeJarnett          steve@ibmpa.awdpa.ibm.com
  406.  
  407.                                    7
  408.  
  409.  
  410.  
  411.  
  412.  
  413. Ed Ellesson              ellesson@vnet.ibm.com
  414. Hans Eriksson            hans@sics.se
  415. Julio Escobar            jescobar@bbn.com
  416. Deborah Estrin           estrin@usc.edu
  417. Osten Franberg           euaokf@eua.ericsson.se
  418. David Ginsburg           ginsb@us-es.sel.de
  419. Ron Greve                rgreve@cs.utwente.nl
  420. Mark Handley             mhandley@cs.ucl.ac.uk
  421. Geert Heijenk            heijenk@cs.utwente.nl
  422. Rune Hjelsvold           Rune.Hjelsvold@idt.unit.no
  423. Frank Hoffmann           hoffmann@dhdibm1.bitnet
  424. Xinli Hou                xinli@cs.utwente.nl
  425. Sascha Ignjatovic        sascha@veda.co.at
  426. Phil Irey                pirey@relay.nswc.navy.mil
  427. John Johnston            john@berlioz.nsc.com
  428. Thomas Kaeppner          kaeppner%heidelbg.vnet@ibmpa.ibm.com
  429. Peter Kirstein           P.Kirstein@cs.ucl.ac.uk
  430. Jim Knowles              jknowles@binky.arc.nasa.gov
  431. John Larson              jlarson@parc.xerox.com
  432. Mark Laubach             laubach@hpl.hp.com
  433. Allison Mankin           mankin@cmf.nrl.navy.mil
  434. David Marlow             dmarlow@relay.nswc.navy.mil
  435. Shehzad Merchant         merchant@erg.sri.com
  436. Donald Merritt           don@arl.army.mil
  437. Topi Miettinen           tm86214@cs.tut.fi
  438. Paul Milazzo             milazzo@bbn.com
  439. Ronny Nilsen             Ronny.Nilsen@usit.uio.no
  440. Zbigniew Opalka          zopalka@agile.com
  441. Jorg Ott                 jo@cs.tu-berlin.de
  442. Mark Prior               mrp@itd.adelaide.edu.au
  443. J. Mark Pullen           mpullen@cs.gmu.edu
  444. Eve Schooler             schooler@isi.edu
  445. Henk Sennema             sennema@sara.nl
  446. A. Velu Sinha            avsinha@attmail.com
  447. Kenneth Smith            kensmith@bnr.ca
  448. Kamlesh Tewani           ktt@arch2.att.com
  449. Claudio Topolcic         topolcic@cnri.reston.va.us
  450. Antoine Trannoy          trannoy@crs4.it
  451. Thierry Turletti         turletti@sophia.inria.fr
  452. Guido van Rossum         guido@cwi.nl
  453. Dono van-Mierop          dono_van_mierop@3mail.3com.com
  454. Mario Vecchi             mpv@thumper.bellcore.com
  455. Abel Weinrib             abel@bellcore.com
  456.  
  457.  
  458.  
  459.                                    8
  460.