next up previous contents index
Next: User Interface Up: Network Communication Previous: Transmission of Multimedia

Session Description and Announcement

The demand for session announcement and session description as well as current protocol solutions were described in Section gif. Of course, the architecture presented in this Section must allow the integration of session announcement techniques.

 
Figure:  Export and import of session descriptions.

  Every application built on the proposed architecture contains a SessionAgent object. On behalf of the SessionManager, the SessionAgent manages the import and export of session description, as shown in Figure gif.
On request, the SessionAgent instantiates or terminates SessionImporter and SessionExporter objects. Such objects each have a private thread of control assigned to them.    A SessionExporter uses a SessionMapper object to create network-transmittable session description packets of the sessions, which the application currently participates in. The SessionExporter forwards session description packets by means of a Connection object. This is done periodically or on explicit request of the SessionManager, for example at session-creation time. The format of a session description packet depends on the session description protocol that a particular SessionMapper implements.
    The SessionImporter in turn receives session description packets by means of a Connection object. The received session description packets are decoded by a SessionMapper that is capable of understanding the used session description protocol. The result of the decoding operation is a ProtoSession object, which the SessionImporter reports to the AppManager.
A ProtoSession object constructed from a session description packet contains all information that is necessary to create a Session object that is parametrised for participating in the described session. To decide whether the application is capable of joining an advertised session, the SessionMapper must know the protocols and payload types that the locally available Connection, ProtocolCoDec, Consumer, and Producer classes can handle. This information is stored in TypeHandlerTable objects, which are configured during the start-up phase of the application.

Though Figure gif shows only one SessionExporter and one SessionImporter for the sake of simplicity, there can be an arbitrary number of these objects running within an application to communicate session descriptions with different remote partners, or to make use of different protocols. However, only one SessionExporter and one SessionImporter can share a single Connection object, whereas a SessionMapper can be accessed by all SessionExporters and SessionImporters that intend to use the SessionMapper's session description protocol.



next up previous contents index
Next: User Interface Up: Network Communication Previous: Transmission of Multimedia



tspeuker@cip.informatik.uni-erlangen.de