Information Technology Reference
In-Depth Information
Server
Client
start new stream
frame rate = f frames/second
send()
prefetch buffering
1
send()
2
X
display frame 1
send()
frame 2 missed
timeout
& retx
2
frame 3 missed
3
.
.
.
Transmission of frame 3 may be blocked by TCP.
Figure 6.2 Retransmission of lost packet under TCP may cause media data to miss playback deadline
at the client
until the congestion window grows back to normal after receiving a number of acknowledge-
ments from the receiver. Again, this sender throttling will cause problems in media streaming
as deferring transmission of the media data may cause them to miss the playback deadline,
thus rendering them useless even if they are eventually received by the client.
The User Datagram Protocol (UDP), on the other hand, does not suffer from the problems
of TCP as it is a relatively simple protocol that transfers datagrams without flow control,
congestion control, or any error control at all. Therefore, the protocol itself will not introduce
additional delay (ignoring processing time and packetization delay) like the flow control and
congestion control algorithm in TCP, making it suitable for delivering time-sensitive media
data. Nevertheless, inmedia streaming it is sometimes still necessary to performflow control, to
react to network congestion, as well as handling packet losses. The key is that when performing
these functions the timing and bandwidth requirement of the media data must be taken into
account. This can be achieved by implementing another layer of streaming protocol on top of
UDP, where the streaming protocol will handle the streaming-specific functions while UDP is
simply used to deliver the data and control messages. We review in the next section some of
the more popular streaming protocols in the Internet.
6.2 Specialized Streaming Protocols
Over the years a number of streaming protocols have been developed both by commercial com-
panies and the Internet community. On the commercial side, streaming solution companies
often develop their own proprietary streaming protocols for use in their streaming products.
For example, Microsoft developed a Microsoft Media Services (MMS) for use in its Windows
Search WWH ::




Custom Search