|
Bandwidth: some applications must be able to transmit data at a certain rate in order to
be effective. If an Internet application encodes at 32 kbps, then it must be able to the send data into the network and have data delivered to the receiving application at that same rate.
If this amount of bandwidth is not available, the application needs to encode at a different rate, or it should give up, since receiving half of the needed bandwidth is of no use to such a
band width-sensitive application. Current multimedia applications are bandwidth sensitive; however, future multimedia applications may use adaptive coding techniques to
encode at a rate that matches the currently available bandwidth.
While bandwidth-sensitive applications require a given amount of bandwidth, elastic applications can make use of as much or as little bandwidth as happens to be available. Electronic mail, file transfer, and Web transfers are all elastic applications. Of course the more bandwidth, the better, there's no such thing as too much bandwidth.
Timing: the final service requirement. Interactive real-time applications such as Internet
telephony, virtual environments, teleconferencing, and multiplayer games, require tight timing constraints on data delivery in order to be effective. Long delays in Internet
telephony tend to result in unnatural pauses in the conversation; in a multiplayer games or
virtual interactive environment, a long delay between taking an action and seeing the response from the environment makes the application feet less realistic. For non-real-time
applications, lower delay is always preferable to higher delay, but no tight constraint is
placed on the end-to-end delays.
|