next up previous contents
Next: Reliable Multicast Up: The Player Previous: The Player

Command Propagation

Each object in the hierarchy communicates by sending messages from one object to another. In fig 9.16 we see how the play command to the conference object, is duplicated and propagated to both the media objects and source objects in turn. Each source object is responsible for playing each source, and does this by doing operations on the index objects, and by using timer events in the event handler.


  
Figure 9.16: The propagation of commands through the object hierarchy
\begin{figure}
\centerline{\psfig{figure=pix/hierarchy.idraw}}
\end{figure}

The similar approach is used when determining the minimum time between the conference recording start time and the arrival of the first packet. The conference object needs to know the minimum for all sources. The method uses is as follows:

  • the conference object requests the minimum delay time from all of the media objects.

  • each media object requests the minimum delay time from all of its associated source objects.

  • each source object will report to its associated media object the time between the record start time and the arrival of the first packet for that source.
  • each media object evaluates the minimum delay from the set of delays reported by its sources. This per-media minimum is then reported back to the conference object.

  • the conference object evaluates the minimum delay from the set of delays reported by each media object. This is the minimum for all of the sources. This minimum value is sent to all the media objects.

  • The minimum value is then reported, by the media objects, to the source objects. Each source subtracts this minimum delay from the time to play its first packet.

After this process is completed, at least one source will have no delay on start up, and the media for that source will be sent to the user immediately.


next up previous contents
Next: Reliable Multicast Up: The Player Previous: The Player
Jon CROWCROFT
1998-12-03