We have seen the problems associated with extending error, flow and congestion control methods to the multicast paradigm, due both to the possibility of feedback implosion and to the inability of the sender to deal uniformly with conflicting feedback reports. For error control there is the additional problem of the delay associated with automatic repeat request (ARQ) schemes which retransmit corrupted packets according to receiver generated feedback. There is no point for such retransmissions if the deadline for using the corresponding data has already expired. Fortunately, many applications using continuous media can tolerate moderate error rates without significant quality degradation, with the degree of tolerance depending both on the nature of the application and the media coding method used.
It is possible to avoid using feedback and retransmissions to control error rates by employing error concealment techniques, such as computing a likely value for missing pieces of the data through interpolation from neighboring values, or forward error correction (FEC) schemes. Planning in advance for error recovery may involve embedding extra information on the transmitted streams, making packets completely self contained, transmitting critical packets more than once, and so on. As encoding techniques try to minimize redundancy, a balance should be sought between redundancy for error correction and compression ratios, according to the expected channel characteristics and the application's error tolerance. As an example, video frames can be coded in intraframe mode, where spatial redundancy is exploited only, and in interframe mode, where temporal redundancy is also exploited[10]. Using both techniques increases the compression ratio, but lost packets, while causing spot problems on one frame in intraframe mode (which may be concealed through interpolation), create longer term problems in interframe mode. To limit this problem with interframe coding, we can periodically transmit intraframe encoded frames which provide regeneration points. The refreshment rate could be adapted according to general network conditions as perceived by the sender, with the exact rate striking the balance between compression and error tolerance.
For flow and congestion control, we cannot simply increase redundancy to avoid reliance on feedback, since this will make the problems worse. However, we can still use preventive, open loop methods based on resource reservations so that streams will be guaranteed to meet their deadlines. The control overhead from setting up resource reservations will be incurred only infrequently rather than continuously, as in feedback based methods. It is important to note that resource reservations must be made on a per stream basis, according to the characteristics of each medium and to the importance placed on it by the application and the receivers themselves. A communication abstraction promoting open-loop control and providing a service analogous to that of a television broadcast channel is the Multimedia Multicast Channel[76]. A source transmits continuous media streams onto the channel and receivers ``tune in'' to the channel to receive a selected subset of the streams. To support heterogeneity, each receiver may tailor the selected streams to meet individual needs through the use of filters, which, if compatible, can propagate upstream and combine in order to economise on resources[77]. Use of hierarchical coding can further adapt the streams to application priorities and network and received capabilities. For example, effective open-loop congestion control can be exercised in high-speed networks by selectively dropping high-resolution signal contents without source or receiver involvement and with limited signal quality degradation, which is localized to the subtree downstream from the congestion path.
It is not yet clear whether effective guarantees can be provided in the face of dynamic routing schemes which may force abandoning reservations in unusable paths. In addition, the guarantees cannot be absolutely strict for all streams if statistical multiplexing is to provide any economies at all. Therefore, an application should expect at least minor and probably major service degradation during temporary congestion periods or route changes. FEC can smooth out the minor anomalies, but to be both effective and economical, the redundancy rate will have to adapt to current network conditions. A scalable feedback mechanism that can be used to estimate network conditions without creating implosion problems has been proposed[18]: it first estimates the number of receivers in a group and then what the average quality of reception is (the averaging technique depends on the application), using probabilistic techniques. This method has been used in applications[78] for senders to detect congestion problems and adapt their output rates (to relieve congestion) and error redundancy factors (to increase the chances of error recovery). A further enhancement to scalable feedback control can be obtained by splitting the receivers in groups according to their reception status (congestion control) and capabilities (flow control), and only send them the data that each group can handle. This avoids problems created by very slow or very fast machines dragging the whole group towards one extreme[79].