Linux—A Toolbox for Internet Appliances - Embedded.com

Linux—A Toolbox for Internet Appliances

At consumer products shows, like CES andComdex, and at technical trade shows, like LinuxWorld Expo and theEmbedded Systems Conference, the buzz this year surrounds a newclass of computing devices, the Internet Appliance, and a new forcein the operating systems wars, Linux. The fusion of these hottechnical categories promises to incite further IPO fever, andre-invent how consumer devices are developed andmarketed.

Embedding the Web

The terms Internet Appliance, Information Appliance, and WebAppliance have used to market several types of products. Compaq,Dell, Acer, and other PC vendors use these terms to marketsimplified post-PC browsing devices designed to streamline Web use.A slightly broader definition includes dedicated Internet accessdevices, like set-top boxes, mobile phones, and palm computers,that are also about Web browsing.

A far more interesting and broader class of Internet Appliancescomes from leveraging inter-networking technology to make familiardevices smarter. Wired devices benefit from enhanced connectivity,yielding new twists on existing products, like the Internetrefrigerator, and spawning whole new classes of products, likeInternet radios and streaming multimedia devices.

Almost any embedded application can be reinvented as an InternetAppliance by substituting readily available Web-enabling componentsfor traditional user interfaces (e.g., a small Web server, TCP/IPnetworking, and physical connectivity like Ethernet or a telephoneconnection).

Web-enabled devices, rather than having a physical console orcontrol panel, just plug into a local network or dial into theInternet. You see a Web site whose sole purpose is to control ormanage the device. Embedding the Web in such devices lets youleverage standard browser technology on networked PCs andworkstations, and offers more flexible interfaces you can run fromthe next room, the building down the road, or sites around theglobe.

Applications that benefit from a little “Web-ability” are wideranging, including wired and wireless office automation equipment,home networking devices, industrial automation controllers, andeven building control/security systems.

Web-enabled devices running Linux are flexible and inexpensive,presenting an attractive proposition for cost-sensitive developersof consumer products. Costs are reduced because physical switchpanels on the device are not needed, and because generic Web-basedinterfaces replace proprietary, client-specific computer interfaces(e.g., for Windows or UNIX-based X/Motif systems) that arenotoriously expensive to develop and maintain.

Rather than building device-specific local control panels andapplication-specific client interfaces for multiple computinghosts, “headless” Web appliances can serve up Web pages and Javaapplets with the needed data displays and control inputs intoplatform-independent Netscape and Internet Explorer browserwindows. Whereas embedding a local user interface, videocontroller, and drivers, and other interface components likeembedded browsers and Java virtual machines can eat up in excess of16 megabytes of memory, an embedded Web server-based interface canfit into under 200 kilobytes of RAM. This eighty-fold saving inmemory space results either in lower cost of goods sold or moreroom for feature-rich applications code.

Intranets, Extranets, and the Internet

While connection to the Internet excites the imagination ofconsumer device marketers, such connectivity is not really the goalof many Internet appliances. More appropriately, the wired versionsof today's familiar home appliances, multi-media devices, andoffice equipment are best employed on subsets of the Internet or onprivate local-area networks.

For example, unless you are a food “exhibitionist,” you probablydon't want the contents of your refrigerator to appear as a publicWeb site. You may want, however, to check the contents of your ownfridge from a remote location (your office or the supermarket)leveraging the Internet over a Virtual Private Network (VPN) or asecure Internet-based interface (Extranet).

While you may want to e-mail video snippets of your daughter'sbirthday over the Internet, you are more likely to use an IP-basedhome Intranet to move those same pictures from your camera to yourPC or to a local printing device. And in the office setting, whileyou might use a Web-enabled multi-function device to scan indocuments for fax or email over the Internet, you are more likelyto submit print and fax jobs to that machine over a localintranet.

The IP Protocol Family

The Internet Protocol (IP) family grew up around UNIX-typesystems and became the mainstay of the Internet that exists today.The Internet Protocol builds up a series of abstractions that hidethe need for understanding the physical and transport mechanisms atthe application level and the need for individual network clientnodes to have knowledge of the location of the other nodes(systems) with which they communicate.

Internet Protocol data can ride over serial and phone lines(SLIP and PPP) or over network media (e.g., Ethernet). Applicationscan count on the protocol infrastructure to monitor delivery(TCP/IP) or implement their own guarantees (UPD/IP). InternetProtocol also supports a series of higher-level protocols forspecific operations:

  • FTP (File Transfer Protocol)—Moving files over an IPnetwork
  • SMTP or Simple Mail Transfer Protocol—Packaging e-mailmessaging for network transmission
  • http (Hyper Text Transfer Protocol)—Downloading text,graphics, and resources for graphical rendering from a remoteserver
  • SNMP (Simple Network Management Protocol)—Monitoring thehealth of networking and system resources.

Probably the first Internet Appliance was the now-famous (orinfamous) MIT Coke machine. Ingenious (or lazy) grad students usedFTP to check on the supply of soft drinks in the vending machinesin another part of the building. Linux, with its UNIX heritage andcompatibility, inherits these protocols and others, offering theirrobustness and interoperability to a new generation ofprogrammers—embedded systems developers building InternetAppliances.

Networking Content—TCP/IP vs. Application-SpecificNetworking

TCP/IP and Ethernet together make a powerful team for generalpurpose Internet Appliances, but both technologies carry a coststructure and performance requirement that is not appropriate forall types of applications.

On the software side, TCP/IP is “expensive”—the necessaryprotocol stacks and other interface software can occupy as much as200 Kilobytes, which while small compared to local GUIs (as above),can induce significant performance overhead, especially on low-end,inexpensive embedded processors. And, for applications withreal-time requirements for predictable data transport, TCP/IPoffers no guarantees of timely data delivery.

On the hardware side, while Ethernet interface devices arebecoming more common in high-integration CPUs (e.g., Motorola'sPowerQUICC devices), such interfaces and the requisite externalcabling are expensive relative to other application-specificconnectivity options. Moreover, environmental factors can renderEthernet inappropriate, such as noisy locations or physical abuseto cables and connectors due to mishandling.

There are a large number of domain-specific interfaces that caneasily play a part in mixed-architecture intranets:

  • USB (and earlier ADB) for interfacing with computer desktopperipherals
  • FireWire (IEEE1394) for moving large data streams amongmulti-media components
  • AC power modulation networks for lighting and electricalcontrol
  • RS-485 for electrically noisy point-to-point industrialcontrol
  • LON for a wide variety of applications.

New wireless technologies like BlueTooth promise to eliminatecabling challenges but raise security concerns.

Non-traditional networking environments represent a hierarchy ofapplication needs and cost structures. As such, not every nodeneeds a full-blown general-purpose network interface. To controlthe lights in a house requires a very simple AC circuit controllerfor each channel or light socket that communicates over the localelectrical wiring to control unit, like those available at RadioShack or Home Depot.

Every light socket need not be a complete IP-networked,Web-serving entity. Even the control unit is likely to employnon-standard interfaces to perform its function. But connect thatdevice to a PC or home network gateway, and an office workstationor an Internet-enabled cell phone can become a universal homecontroller. On the shop floor, not every lathe or milling machineneeds to appear as an independent Web device.

Figure 1: Linux provides all of the necessary ingredientsfor Internet Appliances to operate in a home networkingenvironment.

Application Example: Architecture of a Home Network

The ultimate success of home networking will rely on severaleconomic, not technological advances. Within the home setting,inexpensive, unobtrusive, and safe interconnectivity options willneed to be readily available to create the home network orIntranet. Outside the home, cost effective, high-speed data linkswill need to be available for curbside connection with the ubiquityof plain old telephone service.

Why Linux for Internet Appliances?

Linux is emerging as the strongest contender for the platformunderlying Web-enabled devices. Compelling arguments for usingLinux in Internet Appliances include a well-understood applicationprogramming environment, rich IP networking resources (from itsUNIX heritage), a broad array of readily available software andhardware resources, and a royalty-free business model amenable tothe COGS-sensitive consumer market.

Linux for Embedded Systems

Today, a number of vendors, including MontaVista Software, areenhancing Linux by adding capabilities designed to address therequirements of embedded systems. Such core enhancementsinclude:

  • Scaling the Linux kernel footprint memory down to 0.5megabytes
  • Enabling “headless” embedded operation (no console, nodisk)
  • Integration “spindle-less” storage media—Flash memory forbooting and run-time file systems
  • Supporting high-integration CPUs and associatedperipherals
  • Bundling fast, robust IP networking and “Internet Toolkit”items like small Web servers embeddable daemons for FTP and Telnet,and compact programming shells like ash and sash.

Linux also addresses an Internet Appliance's demanding hardwaresupport requirements with support for a wide range of devices foundin and required by wired embedded applications, including:

  • Serial Interfaces (single and multi-channel) for localconnection, debug consoles, and PPP modem-based networking
  • Magnetic and solid-state storage (SCSI, IDE, and proprietaryinterfaces)
  • 10/100 megabit Ethernet network interfaces
  • Multimedia/streaming interfaces, for sound, video, etc.
  • USB, Firewire, and I2C connectivity.

Linux offers developers well-understood, standard userinterfaces, promoting both the porting of existing software toLinux and the development of more general applicable software onLinux, regardless of underlying CPUs. Java has not fared well inthe quest for true “write once, run anywhere” portability (WORA)because of dialect differences, API fragmentation, and mediocreperformance. Conversely, the pragmatic, open, portable approach toLinux programming, and the anti-forking (version divergence)philosophy of the open source movement, as well as excellentperformance make Linux the best candidate for the universalplatform for next-generation applications.

Helping Developers Build Internet Appliances

Linux helps developers of Internet Appliances and Web-enableddevices in technical, financial, and marketing arenas. The wealthof resources, including device drivers, networking, middleware, andapplication components helps developers bring their products tomarket faster by eliminating investments in internal technologydevelopment and by letting manufacturers concentrate on theirparticular value-added technology. The open-source,service-oriented Linux business model reduces sunk costs indevelopment tools source code and encourages real partnership amongdevelopers and Linux distribution/service providers. A pure, 100%Linux deployment strategy eliminates margin-sapping run-timeroyalties in cost of goods sold. And, the caché imbued upon aWeb-enabled product from the label “Linux Inside” appeals tomarketers and techno-savvy consumers, and can even lift a company'ssagging share prices!

The Future of Linux in Internet Appliances

The marriage of embedded network connectivity and embedded Linuxpromises to deliver a dazzling array of new products and entire newproduct categories in the next 12 to 18 months. Already, companieslike Kerbango are bringing Linux-based “post-PC era” devices tomarket, boasting the expected features and functions of theoriginal product category (in this case, a radio) combined withWeb-leveraged enhancements (here, hundreds of stations, instantsong replay, artist look-up, and even on-line instant musicpurchases) with the added benefit of Web-based enhancements andupgrades.

The message for product development is to leave the platform andinfrastructure to Linux and concentrate on where the most value canbe added. The message for consumers is to look for “Linux Inside”and enjoy feature-rich products and a newfound level of investmentprotection.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.