Product Brief

Linux—A Toolbox for Internet Appliances

Jim Ready and Bill Weinberg
7/14/2000 12:00 AM EDT

At consumer products shows, like CES and Comdex, and at technical trade shows, like LinuxWorld Expo and the Embedded Systems Conference, the buzz this year surrounds a new class of computing devices, the Internet Appliance, and a new force in the operating systems wars, Linux. The fusion of these hot technical categories promises to incite further IPO fever, and re-invent how consumer devices are developed and marketed.


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

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

Almost any embedded application can be reinvented as an Internet Appliance by substituting readily available Web-enabling components for traditional user interfaces (e.g., a small Web server, TCP/IP networking, and physical connectivity like Ethernet or a telephone connection).

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

Applications that benefit from a little "Web-ability" are wide ranging, including wired and wireless office automation equipment, home networking devices, industrial automation controllers, and even building control/security systems.

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

Rather than building device-specific local control panels and application-specific client interfaces for multiple computing hosts, "headless" Web appliances can serve up Web pages and Java applets with the needed data displays and control inputs into platform-independent Netscape and Internet Explorer browser windows. Whereas embedding a local user interface, video controller, and drivers, and other interface components like embedded browsers and Java virtual machines can eat up in excess of 16 megabytes of memory, an embedded Web server-based interface can fit into under 200 kilobytes of RAM. This eighty-fold saving in memory space results either in lower cost of goods sold or more room for feature-rich applications code.


Intranets, Extranets, and the Internet
While connection to the Internet excites the imagination of consumer device marketers, such connectivity is not really the goal of many Internet appliances. More appropriately, the wired versions of today's familiar home appliances, multi-media devices, and office equipment are best employed on subsets of the Internet or on private local-area networks.

For example, unless you are a food "exhibitionist," you probably don't want the contents of your refrigerator to appear as a public Web site. You may want, however, to check the contents of your own fridge from a remote location (your office or the supermarket) leveraging the Internet over a Virtual Private Network (VPN) or a secure Internet-based interface (Extranet).

While you may want to e-mail video snippets of your daughter's birthday over the Internet, you are more likely to use an IP-based home Intranet to move those same pictures from your camera to your PC or to a local printing device. And in the office setting, while you might use a Web-enabled multi-function device to scan in documents for fax or email over the Internet, you are more likely to submit print and fax jobs to that machine over a local intranet.


The IP Protocol Family
The Internet Protocol (IP) family grew up around UNIX-type systems and became the mainstay of the Internet that exists today. The Internet Protocol builds up a series of abstractions that hide the need for understanding the physical and transport mechanisms at the application level and the need for individual network client nodes 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). Applications can count on the protocol infrastructure to monitor delivery (TCP/IP) or implement their own guarantees (UPD/IP). Internet Protocol also supports a series of higher-level protocols for specific operations:

  • FTP (File Transfer Protocol)—Moving files over an IP network
  • SMTP or Simple Mail Transfer Protocol—Packaging e-mail messaging for network transmission
  • http (Hyper Text Transfer Protocol)—Downloading text, graphics, and resources for graphical rendering from a remote server
  • SNMP (Simple Network Management Protocol)—Monitoring the health of networking and system resources.

Probably the first Internet Appliance was the now-famous (or infamous) MIT Coke machine. Ingenious (or lazy) grad students used FTP to check on the supply of soft drinks in the vending machines in another part of the building. Linux, with its UNIX heritage and compatibility, inherits these protocols and others, offering their robustness and interoperability to a new generation of programmers—embedded systems developers building Internet Appliances.


Networking Content—TCP/IP vs. Application-Specific Networking
TCP/IP and Ethernet together make a powerful team for general purpose Internet Appliances, but both technologies carry a cost structure and performance requirement that is not appropriate for all types of applications.

On the software side, TCP/IP is "expensive"—the necessary protocol stacks and other interface software can occupy as much as 200 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 with real-time requirements for predictable data transport, TCP/IP offers no guarantees of timely data delivery.

On the hardware side, while Ethernet interface devices are becoming more common in high-integration CPUs (e.g., Motorola's PowerQUICC devices), such interfaces and the requisite external cabling are expensive relative to other application-specific connectivity options. Moreover, environmental factors can render Ethernet inappropriate, such as noisy locations or physical abuse to cables and connectors due to mishandling.

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

  • USB (and earlier ADB) for interfacing with computer desktop peripherals
  • FireWire (IEEE1394) for moving large data streams among multi-media components
  • AC power modulation networks for lighting and electrical control
  • RS-485 for electrically noisy point-to-point industrial control
  • LON for a wide variety of applications.

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

Non-traditional networking environments represent a hierarchy of application needs and cost structures. As such, not every node needs a full-blown general-purpose network interface. To control the lights in a house requires a very simple AC circuit controller for each channel or light socket that communicates over the local electrical wiring to control unit, like those available at Radio Shack or Home Depot.

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

Figure 1: Linux provides all of the necessary ingredients for Internet Appliances to operate in a home networking environment.


Application Example: Architecture of a Home Network
The ultimate success of home networking will rely on several economic, not technological advances. Within the home setting, inexpensive, unobtrusive, and safe interconnectivity options will need to be readily available to create the home network or Intranet. Outside the home, cost effective, high-speed data links will need to be available for curbside connection with the ubiquity of plain old telephone service.


Why Linux for Internet Appliances?
Linux is emerging as the strongest contender for the platform underlying Web-enabled devices. Compelling arguments for using Linux in Internet Appliances include a well-understood application programming environment, rich IP networking resources (from its UNIX heritage), a broad array of readily available software and hardware resources, and a royalty-free business model amenable to the COGS-sensitive consumer market.


Linux for Embedded Systems
Today, a number of vendors, including MontaVista Software, are enhancing Linux by adding capabilities designed to address the requirements of embedded systems. Such core enhancements include:

  • Scaling the Linux kernel footprint memory down to 0.5 megabytes
  • Enabling "headless" embedded operation (no console, no disk)
  • Integration "spindle-less" storage media—Flash memory for booting and run-time file systems
  • Supporting high-integration CPUs and associated peripherals
  • 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 hardware support requirements with support for a wide range of devices found in and required by wired embedded applications, including:

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

Linux offers developers well-understood, standard user interfaces, promoting both the porting of existing software to Linux and the development of more general applicable software on Linux, regardless of underlying CPUs. Java has not fared well in the quest for true "write once, run anywhere" portability (WORA) because of dialect differences, API fragmentation, and mediocre performance. Conversely, the pragmatic, open, portable approach to Linux programming, and the anti-forking (version divergence) philosophy of the open source movement, as well as excellent performance make Linux the best candidate for the universal platform for next-generation applications.


Helping Developers Build Internet Appliances
Linux helps developers of Internet Appliances and Web-enabled devices in technical, financial, and marketing arenas. The wealth of resources, including device drivers, networking, middleware, and application components helps developers bring their products to market faster by eliminating investments in internal technology development and by letting manufacturers concentrate on their particular value-added technology. The open-source, service-oriented Linux business model reduces sunk costs in development tools source code and encourages real partnership among developers and Linux distribution/service providers. A pure, 100% Linux deployment strategy eliminates margin-sapping run-time royalties in cost of goods sold. And, the caché imbued upon a Web-enabled product from the label "Linux Inside" appeals to marketers and techno-savvy consumers, and can even lift a company's sagging share prices!


The Future of Linux in Internet Appliances
The marriage of embedded network connectivity and embedded Linux promises to deliver a dazzling array of new products and entire new product categories in the next 12 to 18 months. Already, companies like Kerbango are bringing Linux-based "post-PC era" devices to market, boasting the expected features and functions of the original product category (in this case, a radio) combined with Web-leveraged enhancements (here, hundreds of stations, instant song replay, artist look-up, and even on-line instant music purchases) with the added benefit of Web-based enhancements and upgrades.

The message for product development is to leave the platform and infrastructure to Linux and concentrate on where the most value can be added. The message for consumers is to look for "Linux Inside" and enjoy feature-rich products and a newfound level of investment protection.





Please sign in to post comment

Navigate to related information

Jobs sponsored by

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Browse the technical library
Our technical library houses over 4,000 high-quality sponsored white papers, application notes, reference guides, use cases—all organized by company.


Feedback Form