J.S.B. 枯山水に歩く

for unsuccessful arrival and loss of QuickTime live streaming packets.

J.S.Bach’s piano work (randomly selected for each experimental performance) performed by Shinji Kanki is live encoded by QuickTime broadcaster and streamed live via narrow bandwidth connection to the Internet by UDP* protocol that is used for LIVE streaming.
Receivers (audience) would enjoy deconstructed, time modulated music caused by arrival/loss of uncontrolled data packets.

*UDP
Short for User Datagram Protocol, a connectionless protocol that, like TCP, runs on top of IP networks. Unlike TCP/IP, UDP/IP provides very few error recovery services, offering instead a direct way to send and receive datagrams over an IP network. It’s used primarily for broadcasting messages over a network. 

UDP stands for User Datagram Protocol. It is described in STD-6/RFC-768 and provides a connectionless host-to-host communication path. UDP has minimal overhead:; each packet on the network is composed of a small header and user data. It is called a UDP datagram.
UDP preserves datagram boundaries between the sender and the receiver. It means that the receiver socket will receive an OnDataAvailable event for each datagram sent and the Receive method will return a complete datagram for each call. If the buffer is too small, the datagram will be truncated. If the buffer is too large, only one datagram is returned, the remaining buffer space is not touched.
UDP is connectionless. It means that a datagram can be sent at any moment without prior advertising, negotiation or preparation. Just send the datagram and hope the receiver is able to handle it.
UDP is an unreliable protocol. There is absolutely no guarantee that the datagram will be delivered to the destination host. But to be honest, the failure rate is very low on the Internet and nearly null on a LAN unless the bandwidth is full.
Not only the datagram can be undelivered, but it can be delivered in an incorrect order. It means you can receive a packet before another one, even if the second has been sent before the first you just received. You can also receive the same packet twice.
Your application must be prepared to handle all those situations: missing datagram, duplicate datagram or datagram in the incorrect order. You must program error detection and correction. For example, if you need to transfer some file, you’d better set up a kind of zmodem protocol.
The main advantages for UDP are that datagram boundaries are respected, you can broadcast, and it is fast.
The main disadvantage is unreliability and therefore complicated to program at the application level.

- Comparative analysis – TCP – UDP, / Free Computer Science and Management Tutorials – Laynetworks.com

Leave a Reply