The system shown in Figure 3 illustrates the expected design of multiple client video and audio applications across a LAN or WAN. The design of the AVA200 firmware is intended to support use of this kind.
The diagram shows an AVA200 connected to a port on a switch. A manager process is running on a workstation connected to the same switch, although all that is necessary is that the manager is in close proximity to the AVA200, providing a semi-reliable communications path. This means that simple protocols may be used to talk to the AVA200, and the guaranteed low latency allows finer grained scheduling of the hardware.
Client processes are run on workstations which are also connected to switches. These may be remote, possibly across a WAN causing problems of relatively high latency and cell loss for management operations. The client processes therefore communicate with the manager process using RPC (for example) to negotiate their video and audio requirements. The transport layer should be chosen bearing in mind reliability and latency constraints. The manager allocates resources between clients and computes suitable schedules for the AVA200. These are sent to the AVA200 on the management VCI unsing the AVA200 control protocol.
Video and audio streams are sent directly from the AVA200 to the client processes. This removes as many shared resources as possible from the datapath, allowing QoS constraints to be achieved more easily. If the data streams had to pass through the manager this would produce a substantial bottleneck, as well as presenting a large resource management/scheduling problem.
Synchronization information for all audio and video channels is sent to the manager process where suitable sync streams for each client may be constructed. This simplifies the firmware required in the AVA200, and allows sync streams of any format to be produced. If the manager is in control of multiple AVA200s then in may produce composite sysnc streams etc. Since the sync streams are low bandwidth this presents no problem for the manager.
The client processes are required to send per-stream ``KeepAlive'' messages to the manager to inform the manager that they are still prepared to receive video and audio. These are forwarded to the AVA200 on the management VCI to minimise security problems. The keepalive messages are of the form ``send me up to frame number N''. In the situation where the clients are swamped by too much incoming audio and video and unable to transmit keepalives, the AVA200 runs out of credits on the appropriate streams and they stop automatically. A timeout on the management VCI detects the case where the management process is unable to communicate with the AVA200 and stops all streams.