ies from Progressive Networks and VocalTec bring streaming audio to the Web.
The most common technology so
far is Progressive Networks' RealAudio. The company adopted the proprietary RealAudio protocol and a client/server architecture to enable streaming audio transmissions. The new protocol supports bidirectional communications (the HTTP protocol was designed for one-way continuous transmission) between clients and servers. This two-way pipe lets you pause, fast-forward, and rewind RealAudio tracks.
To stream data, RealAudio uses the UDP protocol over TCP. A socket-oriented protocol, TCP requires a great deal of overhead to manage sockets and ensure the error-free delivery of data. UDP is packet-oriented and does not guarantee error-free transmission. Without the overhead of TCP, UDP can deliver a continuous stream of audio data most of the time. RealAudio includes a loss-correction algorithm for re-creating any pieces of the signal that UDP drops.
Because UDP drives packets across the Internet without data-flow control or a fairness mechanism for resolving bandwidth conflicts, it can cause severe net
work congestion, especially if a server broadcasts audio streams to many users simultaneously (which is, after all, one of the obvious applications of streaming audio). Other audio-on-demand technologies, including I-Wave from VocalTec, use standard TCP/IP as the transport layer. With its flow-control mechanisms, TCP/IP can help avoid traffic congestion over the Internet. But streaming audio with TCP/IP doesn't retain an uninterrupted transmission as effectively as a UDP-based mechanism does.
Web Phones
Web telephony, while intriguing, suffers from sluggish Internet access (especially when used on slow dial-up connections); proprietary connection protocols and codecs (i.e., compression/decompression algorithms); dynamic IP addressing, which can foil the routing mechanism of Web phones; and the large installed base of half-duplex sound cards.
As you talk into a Web phone, your voice is digitized by the software and sent out across the Internet in data packets. Many packages, such
as VocalTec's best-selling Internet Phone (
see the screen
), use bandwidth-limited UDP for real-time conversations. Since transmissions move from client to client, congestion is not as severe as it is with UDP transmissions from a central location to multiple clients.
Web-phone software uses IP addresses to connect to the remote party. Since expecting the caller to know the IP address of the called party is not reasonable, most packages let you connect by designating the party's e-mail address. The software associates this address to an IP address.
But many Internet service providers (ISPs) don't give customers dedicated IP addresses; instead, they often assign addresses on the fly. Under this scenario, a Web-phone call would be routed to the wrong address. Some vendors avoid this problem by establishing dedicated servers. The software logs you on to the server and maintains a directory of users. This scheme compromises privacy somewhat because names are listed on the director
y; as a result, users may receive unsolicited calls.
To compensate for the bandwidth limitations of the Internet, Web phones compress voice data before sending it. The recipient of a call must then decompress the data at the other end. At present, there is no standard Web-phone codec; both parties must use the same Web software to talk to each other. The programs also use proprietary connection protocols. Currently there isn't much movement toward standardizing on Web-phone codecs and connection protocols. For now, you and your associates have to use the same software package.
Recent developments may help further the acceptance of Web phones. Many sound-card manufacturers have introduced full-duplex cards that allow two-way simultaneous Web-phone conversations.
Perhaps the biggest boon to all types of real-time audio over the Internet will be when higher-speed connections, such as ISDN, become more prevalent and a higher-bandwidth infrastructure is established.
screen_link (68 Kbytes)
