IP transport the ideal vehicle for Internet audioRandy Cole, Chief Technology OfficerInternet Audio, Jason Kridner, Senior Software Architect Digital Audio, Texas Instruments, Dallas, Jason Lin, MTS, Digital Audio, Texas Instruments
Selecting transport mechanisms for a digital media device is one of the most important choices designers have to make. Consumer electronics manufacturers and technology providers are seeking a standard for interoperability with digital media devices, and Internet Protocol is being considered as a key component to this initiative.
Today's portable digital audio players use proprietary protocols for communications over USB, between the host PC and the portable player. The result is that consumers need to install a customized driver, and possibly new jukebox software, before importing a music library. For the designer, this means a version of the driver has to be written for each operating system, each jukebox and each new communications link.
Designers have three options for interfacing a digital media player to a host: IP, Mass Storage Class or a proprietary interface. Extensions can be made to a Mass Storage Class interface to add features and allow differentiation, but the result is a hybrid that remains proprietary with customized software support. Of the three interfaces, only IP allows indirect connections via a bridge or router, support within virtually any operating system, and a high degree of scalability. Also, there is an enormous amount of open source IP software available that designers can use to expedite their product development.
IP is the solution for most digital audio systems, although the smallest devices may not have the muscle to support IP yet. IP-based interface software in the portable digital media player and the host PC automatically supports almost every communications link, including USB 1.1, USB 2.0, IEEE 1394, IEEE 802.11, HPNA, HomePlug and Bluetooth. Semiconductor makers, including Texas Instruments, support IP code stacks for use in a variety of devices like personal video recorders, jukeboxes, flash/hard disk players, home network routers, PDAs and wireless headsets.
Somewhat paradoxically, IP not only enables open standards, but also promotes branded product differentiation. Envision connecting a media player to a networked PC and an icon appears. The icon opens a Web interface that is able to manage jukebox software or point to a Web location where music can be downloaded. This application easily co-exists with other previously installed jukebox software, adding new controls and icons that are exported by the device.
When a "new" device is plugged into a network, establishing a connection via IP requires three steps: getting an IP address (addressing), advertising the device's presence to hosts and/or peers (discovery), and sending a description of the device's capabilities (description). Once a connection is established, the device can control or be controlled by other devices (control), send or receive event signals (eventing), and transfer data between applications (presentations).
Universal Plug and Play (UPnP) is a framework that enables all of these functions. UPnP was originally designed by Microsoft and released royalty-free to the UPnP Forum, which was established to allow interested companies to further develop UPnP.
Within the UPnP framework, existing protocols were adopted or extended to handle required functions. To get IP addresses, UPnP uses Dynamic Host Configuration Protocol (DHCP) or Auto IP, a new Internet Engineering Task Force (IETF) standard. The HTTP protocol was extended to support "discovery," creating HTTP Multicast User Datagram Protocol (UDP) for a device to advertise its presence, and HTTP Unicast UDP for a control point to answer the device. A device "describes" itself using Extensible Markup Language (XML). Addressing, discovery and description are required components of UPnP implementation.
Control, eventing and presentations are optional components of UPnP. Simple Object Access Protocol (SOAP) is a draft W3C standard based on XML used by UPnP for information exchange and control. Event messages use General Event Notification Architecture (GENA), another IETF-defined protocol. With UPnP's baseline functionality, the user interface can be presented as an HTML document, or additional IP-based protocols can be used to export the services available on the digital media player.
Standard services for discovering the media content, managing connections and discovering a device's media-rendering capabilities, will likely be established in a future UPnP AV specification. However, it is unlikely the UPnP AV specification will identify any particular content transfer protocol.
Of these, Web-based Distributed Authoring and Versioning (WebDAV) is the best tool for communication and synchronization between high-level applications like software jukeboxes. WebDAV is the only protocol that utilizes the ubiquity of the HTTP protocol and augments it by formalizing the file transfer methods, while reusing UPnP components, such as HTTP and XML. The final differentiating factor in usage of WebDAV is that it is supported within all of the most commonly used operating systems, including Windows XP and Mac OS X.
Unlike the case with most other communications links, there is no widely accepted industry standard for IP over USB. Microsoft's Remote Network Driver Interface Specification (RNDIS) has the largest installed base, minimizing the need for additional driver development.
The RNDIS solution works by appearing as an Ethernet adapter and a small Ethernet network to the host PC. The virtual Ethernet network is very simple to emulate, with no real-world issues to handle. The media device is connected on the far side of this network, creating only an endpoint
One of the biggest disadvantages of using IP for media device interfacing is that the overhead of a TCP/IP stack can reduce throughput significantly. The situation will improve over time, but, for current applications where throughput and quality of service are critical, designers can provide "tunneling" software in the PC and player, enabling the connection to run at full speed, where the player is connected directly to the PC via USB or 1394.
Another major challenge is program size. A significant amount of additional code is required to support the multiple protocols required for UPnP, and the additional memory requirements bring extra cost. Overlaying can reduce the impact on memory, as well as reusing HTTP and XML code from the UPnP stack.
IP transport may not yet be appropriate for some small-scale embedded devices, but designs that can support it will have significant advantages for both the consumer and the designer. Most importantly, IP transport appears to be the key to interoperability, something that is clearly lacking in current digital media devices as more and more content becomes available and consumers buy new digital media products.