next up previous contents
Next: CCCP Messages Up: A few examples Previous: Unifying user interfaces -

A voice controlled video conference

In this example, the desired behaviour for participants to be able to speak when they wish. A user's video application should start sending video when their audio application starts sending audio. No two video applications should aim to be sending at the same time, although some transient overlap can be tolerated.


  
Figure 7.6: Unifiying Floor Control with CCCP
\begin{figure}
\centerline{\psfig{figure=pix/floor.ps}}
\end{figure}

Applications:

  • An Audio Tool (at), registers as types: at, audio.send, audio.recv
  • A Video Tool (vt), registers as types: vt, video.send, video.recv
  • A Session Manager (sm), registers as types: sm, session.local, session.remote
  • A Floor Manager (fm), registers as types: fm, floor.master

There are hosts x and y, amongst others.

It is assumed that session control messages are being sent, as in the example above.

A typical exchange of messages may be as follows:


(1, audio.send, x)xxxxx (*,sm.local,x),(*,floor.master,x)xxxFrom		   To		   Message
the user at x starts speaking.  Silence suppression cuts out, and theaudio tool starts sending audio data:
(1, audio.send, x) 		(*,sm.local,x),(*,floor.master,x)		MEDIA_STARTED audio x
...this causes the sm to highlight the ``you are sending audio'' icon
it also causes the floor manager to report to the other floormanagers:
(1, floor.master,x)		(*, floor.master, *)		MEDIA_STARTEDaudio x
and also it requests the local video tool to send video:
(1, floor.master,x)		(*, video.send, x)		START_SENDINGvideo 
...this causes the video tool to start sending
(1, video.send, x) 		(*, sm.local, x),(*.floor.master, x)		MEDIA_STARTED video x
...which, in turn, causes the sm to highlight the ``you are sending video''icon
 
the user at x stops speaking.  Silence suppression cuts in, , and theaudio tool stops sending audio data
(1, audio.send, x)		(*,sm.local,x),(*,floor.master,x)		MEDIA_STOPPED audio x
...this causes the sm to de-highlight the ``you are sending audio'' icon
...the session manager starts a timeout procedure before it will stopsending video
...
a user at y starts sending audio and video data.
The local audio and video tools report this to the session manager:
(1,audio.recv,x)		(*,sm.local,x)		MEDIA_STARTED audio y
(1,video.recv,x)		(*,sm.local,x)		MEDIA_STARTED video y
...as in previous example, sm highlights sender's name
Also y's floor manager reports what's happening:
(1, floor.master, y)		(*, floor.master,*)		MEDIA_STARTEDaudio y
(1, floor.master, y)		(*, floor.master,*)		MEDIA_STARTEDvideo y
the local floor manager tells the local video tool to stop sending
(1, floor.master,x)		(*, video.send, x)		STOP_SENDING video
...this causes the video tool at x to stop sending
(1, audio.send, x)		(*,sm.local,x),(*,floor.master,x)		MEDIA_STOPPED video x
...


next up previous contents
Next: CCCP Messages Up: A few examples Previous: Unifying user interfaces -
Jon CROWCROFT
1998-12-03