Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesSmarter Copiers, Printers, and Fax Devices Are Coming


November 1994 / Features / Smarter Copiers, Printers, and Fax Devices Are Coming

Microsoft and Novell believe that peripherals need their own operating system

Andy Reinhardt

Already dominant on the desktop, Microsoft appears bent on extending its reach into office equipment and hand-held computers with a new operating system called Microsoft At Work. At Work lets vendors create intelligent peripherals, such as printers, fax machines, and copiers, that fit easily into a Windows world.

At Work is not based on MS-DOS nor on the Chicago core used in the impending release of Windows; instead, it uses a new real-time kernel surrounded with communications protocols, Windows-like APIs, and a user interface tailored to touchscreen or stylus devices. Microsoft isn't alone, however, in its quest to manage office integration: Novell has released a set of technologies called NEST, or Novell Embedded Systems Technology, that extends NetWare Core Protocols to devices such as printers and copiers. NEST offers a simpler alternative to building a complete copy of NetWare into a device such as a network-ready printer. It may also be used in industrial and other settings, where it could provide an easy means of linking factory data or field data to corporate information systems.

Both At Work and NEST are consistent with the respective strategies of their sponsors. At Work springs from a Windows-centric world view. Although its user interface and API aren't exactly the same as the Windows GUI and Win16, it's designed to play in Microsoft's ``Windows everywhere'' framework and to take advantage of development tools for and programmer knowledge of Windows. NEST, in contrast, builds on NetWare services and protocols, emphasizing openness and cross-platform portability, but it lacks a user interface. In other words, NEST is about attaching peripheral devices to a NetWare LAN, whereas At Work is about controlling peripheral devices from a Windows desktop.

In typical Microsoft fashion, At Work takes a ``from the ground up'' approach. Using it requires new client software, new applications, and, most importantly, new peripherals. Having once made these investments, Microsoft says, users will enjoy powerful new capabilities and improved productivity. NEST's portable libraries, on the other hand, provide a way to make any embedded system NetWare-compatible. It doesn't matter whether that system is based on the Intel x86 or another chip, or whether it runs FlexOS, which Novell recently sold to Integrated Systems (Santa Clara, California), or another real-time embedded operating system. According to Novell, 80 percent of embedded systems now use custom-written software, but by employing NEST libraries, programmers can add these devices to a NetWare LAN and bring them under centralized control.

These differe nces mean, ultimately, that At Work and NEST aren't mutually exclusive, nor even necessarily incompatible. In fact, Microsoft and Novell are seeking rapprochement regarding their respective embedded operating-system initiatives. But each still faults the other's solution. Novell says that At Work is too tied to Windows and Intel chips and that it does not go far enough in networking, whereas NEST encompasses security, directory services, and network management. Microsoft counters that users need more than just the NetWare environment, and they also require a consistent user interface for configuring and monitoring peripherals. As has happened in the battle between Microsoft's TAPI (Telephony API) and Novell's Telephone Services API, both solutions may end up coexisting in a single network, with NEST and At Work devices attached to NetWare LANs and fronted by Windows clients.

Getting to Work

At Work is designed to handle four types of equipment: printers, fax machines, copiers, and hand-held devic es. The core operating system consists of a kernel, an Installable File System, a graphics system, and communication protocols. Wrapped around these elements are other technologies: fax extensions, RSA security (public-key encryption and authentication), user interface components, and a compressed document-rendering technology called At Work Printing.

The kernel, roughly 85 KB in size, is 16-bit, offers preemptive multitasking, and runs in protected mode on Intel-compatible CPUs. Although it benefits from the higher performance of 386 processors, the kernel will run on 286 and later CPUs, because it does not use 386-specific instructions. Its basic responsibilities include task management, memory management, and interprocess communications, although not through channels such as DDE or OLE.

At Work uses preemptive multitasking to better accommodate real-time activities, such as communications between hosts and peripherals. To provide backward compatibility with Win16, however, it also lets progra ms cooperatively multitask, or relinquish control to another task. The At Work API is both a subset and superset of Win16; it does not support certain Win16 calls and uses others not in Win16, such as Win32 scheduling, semaphores, signals, pipes, and certain file system calls.

Its Installable File System lets developers support a variety of storage media. To preserve backward compatibility, the default choice is the MS-DOS FAT (file allocation table), but At Work will also support the PCMCIA Flash File System and the CD-ROM file system. The Installable File System creates an abstraction of file system behavior, which means that applications developers do not need to know what is on the other side of the API.

Graphics services let developers provide At Work devices with three levels of user interface. The simplest is a one- or two-line LCD, comparable to those now found on many laser printers and fax machines. This simple interface is adequate for devices controlled by a desktop PC with a full-si ze, Windows-based GUI. In non-GUI devices such as these, the software doesn't call Windows' GDI (Graphical Device Interface) or User (the windowing system), so memory requirements are minimal, roughly 1 MB.

For medium-size LCDs, the type that might be used on a fax machine or low-end copier, At Work offers a set of graphics components (a subset of the GDI), including single windows, tabs, dialog boxes, 3-D buttons, scrolling lists, bit maps, and text display. These LCDs, which typically support pen-based or touchscreen input, do not have room for multiple windows or small icons. Memory requirements are somewhat higher than those for one- and two-line LCDs; for instance, At Work software requires 2 MB of memory in the new Ricoh IFS66, an At Work fax machine expected to ship this quarter.

Full-size LCDs use the whole Windows GDI plus some Win32 calls. Such interfaces would be used for WinPad hand-held devices, which are not discussed here.

At Work includes two communications protocols: mess age-based and interactive. Both are device- and media-independent, which permits them to work over serial or parallel lines and with LANs, modems, and fax transports. (Device independence is achieved through use of Windows Sockets.) The store-and-forward message-based protocol lets you send editable or noneditable documents from one process to another and also supports At Work's encryption capabilities. The protocol writes through Microsoft's MAPI (Messaging API) to DLLs that arbitrate between messaging clients and back ends. As a result, MAPI-compliant applications (E-mail clients, mail-enabled word processors, and so on) can talk to At Work devices. (At Work will also support Common Mail Calls, or CMCs, a stripped-down set of standard mail APIs promulgated by the multivendor XAPIA [X.400 API Association].) The interactive real-time protocol is used for two-way communication between devices and the host. It will also play a vital role in TAPI. (See the figure ``The Architecture of Microsoft At Work Software. '')

Outside the At Work operating system are several important new technologies. The first is a set of extensions to the international T.30 fax standard, primarily BFT (Binary File Transfer), a technique for sending editable files between fax machines (discussed later). The second is AWP (At Work Printing), a scheme to turn the Windows GDI into a kind of page-description language. AWP greatly reduces the size of rasterized files--to roughly one-quarter the size of a typical Group 3 fax, Microsoft says--which plays a crucial role in improving printer performance and reducing fax transmission time.

AWP is also known as Resource-Based Architecture, because instead of sending a complete bit map of a page from host to printer or from one fax to another, AWP compresses documents by reducing them to component parts, or resources. All the text is extracted, and only one instance of each character is sent across the wire. It is cached on the other side and subsequent occurrences are merely referenced. Th e same applies to other primitives and patterns, which are extracted and re-created on the target device by reference. Of course, free-form bit maps must still be transmitted, and At Work compresses them using standard Group 3 algorithms. AWP resides on the client system as a printer driver, and its output is a resolution-dependent, noneditable image.

Windows Printers

Microsoft says that adding At Work to printers will provide improved control and feedback, faster performance, and perhaps lower prices. The management features derive from At Work's bidirectional communications protocol, which is supported by desktop drivers and dialog boxes. The dialog boxes offer a standard, graphical means to remotely set up printers and configure options (e.g., paper tray, resolution, and half-tone settings), as compared with setting options directly on the printer through a membrane pad or using generic Windows dialog boxes that may not support unique features. At Work also defines a way to report--via visual and audio feedback--printer status or error conditions (e.g., paper jams, a low-toner warning, job-completion status) on the PC to which the printer is attached.

Speed improvements and potential cost reduction go hand in hand. Some performance gain derives from At Work's support for the Extended Capabilities Port, a high-speed parallel interface jointly designed by Microsoft and Hewlett-Packard. The highly compressed AWP format also boosts throughput by reducing the amount of data sent across the wire. But the big architectural difference is At Work's load balancing, a technique for sharing work between a printer and host PC by rasterizing in either or both places, depending on available CPU resources. Load balancing improves performance, because while the printer's controller is rasterizing one band of an image, the host can rasterize the next band and then blast a bit map down the wire.

The prospects for price reduction are less certain. Microsoft asserts that printer vendors can save costs by eliminating local displays and keypads; more importantly, because of load balancing, they can design printers with less expensive processors (x86-based chips, for example, instead of powerful RISC engines) and less memory. Vendors can also design ``sleek'' printers that have no local intelligence and instead rely on the host PC for rasterization. This ``dumb engine'' approach has floated around for many years--Ricoh, for instance, aggressively promoted such a device in 1988--but it has never gained significant market acceptance. Unfortunately, the cost savings are partly offset by At Work software licensing fees and the expense of new firmware and interfaces. On top of that, the printer market is performance-sensitive, and printer makers may decide not to strip out powerful processors or shift the workload back to the host. Instead, they may add At Work support and charge more for it.

At present, only Lexmark and NEC have made a public commitment to supporting At Work printing. The Lexmark WinWriter 6 00 is available in the U.S. for $1399, and NEC has released a Kanji At Work laser printer in Japan. (NEC also sells the Silentwriter SuperScript 610 in the U.S., a $600 Windows GDI laser printer that uses only the host's processor and RAM. However, it is not yet an At Work product.)

Just the Fax

Ironically, fax machines could represent At Work's area of greatest innovation. Fax machines exploded on the scene in the 1980s, partly because of the failings of E-mail. But now that people are used to exchanging electronic mail instantaneously, they want to exchange editable fax documents, as well. Because fax is among the most pervasive of all ``transports,'' Microsoft is retrofitting it to handle binary files, which is somewhat like using horse-drawn carriages to ship airplane parts.

At Work allows fax machines to become intelligent network nodes controlled from the desktop, with advanced features such as built-in hard drives for storing incoming and outgoing faxes. As with today's fax servers, you may select a document on your desktop, choose the recipient from a local or centralized address book, and send the file across the network and out through the fax.

You can even send a document via fax from within certain programs. Software built into the At Work fax machine can log usage and track costs for billing. And the graphical desktop client makes it easy to employ such advanced features as delayed transmission or broadcast fax, which often exist in today's fax machines but are too hard to use.

At Work Fax surpasses contemporary products in two areas: BFT and support for fax via E-mail interface standards. BFT is simply a faster way to send faxes and an easier way to send editable files, such as Microsoft Word documents or 1-2-3 worksheets, from one compliant machine to another. As such, BFT is no different from E-mail attachments, BBS uploads/downloads, or direct modem-to-modem transmissions, except that it's simple enough that a novice who knows nothing about modems can use it.

At Work follows a defined procedure for establishing optimal communications between machines. When you specify the recipient, At Work checks its database to see if the capabilities of that person's fax machine are already known. If so, and if the target supports BFT, At Work defaults to that as the fastest method, unless you choose to transmit only an image, in which case the file is rendered using bandwidth-saving AWP and sent out.

One benefit of AWP: Its image quality is higher than that of a normal fax, and the received image can be printed on an At Work printer or fax machine using the same AWP rendering model. If the recipient has a conventional fax, At Work rasterizes and sends the file using Group 3 standards. If the recipient is unknown, At Work dials the target machine and tries to send BFT; if that fails, At Work uses Group 3. Results of the interaction are filed in the database for future reference. BFT also supports encryption as a means of ensuring secure fax transmissions.

The second major breakthrough is an E-mail interface for fax. Chicago will include fax as a MAPI transport, so applications that write to MAPI can now handle faxes as well as E-mail. As a result, users don't need to know what transport is being used; they merely dispatch a document, which reaches its destination by the best available means. Workgroup tasks, such as forms routing, benefit enormously, because they are no longer limited to running over LANs; some users may be reached permanently or temporarily by fax, but the sender never knows.

The first At Work fax, and one of the first At Work devices of any kind, is the IFS66 from Ricoh, a high-end product whose price has not yet been announced. It comes with 2 to 8 MB of RAM (2 MB is used for the At Work software alone), built-in floppy and hard drives, and a touchscreen interface. It's also a complete network device, supporting both a direct network connection and built-in services. It runs over Novell's IPX/SPX now but will work on TCP/IP, AppleTalk, a nd others as needed in the future. The local hard drive lets the IFS66 spool fax jobs by itself. Other companies that have announced support of At Work Fax include Castelle, Delrina, GammaLink, Minolta, Mita, Murata, Oki, Toshiba, and Xerox.

Hornet's NEST

The approach that Novell is taking with NEST is different from At Work's in several ways. First, NEST libraries may be linked into any commercial or proprietary embedded operating system that supports preemptive multitasking. NEST may also be used on different processors, an essential requirement given the wide range of embedded chips now in use (of which x86 CPUs are a small percentage). Novell used to offer its own embedded operating system (FlexOS, which came from Digital Research when Novell acquired it) but has now sold that product to underscore its operating-system independence.

In some cases, NEST is smaller than At Work, requiring on the order of 75 to 100 KB. Also, given the preponderance of custom-embedded solutions, it could p rovide a better choice than At Work for existing designs or devices with limited resources; potential uses might include point-of-sale terminals and factory-floor, security, or environmental-control systems. In office devices, such as printers and faxes, At Works' greater memory and processing needs are less of a handicap, because they play a proportionally smaller role in overall system cost.

Because its layered architecture separates media and transport from higher levels of the protocol stack, NEST is completely network-independent. One of its most intriguing aspects is that, in the future, communication between devices and systems will occur via an object request broker based on CORBA (Common Object Request Broker Architecture) standards. As a result, Novell says that NEST will make it possible for work to be shared among networked devices and hosts. (See the figure ``The Architecture of NetWare Embedded Systems Technology Software.'')

The point of NEST is to take advantage of the features a lready in NetWare, such as file and print services, directory, security, queuing, and messaging. NEST offers a way to add a protocol stack and NetWare client services to a device. For instance, instead of relying on an external print server or supporting a full, native copy of NetWare inside each device, vendors can create true network printers by embedding reduced versions of core NetWare services (i.e., PServer and NPrinter).

In contrast to At Work, however, NEST doesn't provide assistance when it comes to managing and configuring a device or interpreting its error conditions. Instead, NEST leaves it to a device's maker to create client-side Windows or Mac drivers and dialog boxes.

Future Tense

At Work and NEST are important to their proponents because they represent a logical next step in the evolution of personal computing. With NEST, Novell is asserting its dominance over the world of networking and expanding into areas such as office equipment and process control. But Novell's inabil ity to control the user interface means that other companies--Microsoft, Apple, Sun, and various ISVs (Independent Software Vendors)--will always provide users with the dashboard for driving those networked devices.

With At Work, Microsoft is making a critical bid to expand the domain of its operating systems beyond the desktop, an effort by no means assured of success. At Work suffers a bit from ``not invented here'' syndrome; it requires partners to buy into the scenario and stake their futures on Microsoft. But if anybody can pull that off, Microsoft can. It would be in the best interest of users, however, if both Microsoft and Novell continue to seek ways to make their solutions interoperate.


Figure: The Architecture of Microsoft At Work Software At Work uses a layered architecture that lets it work on a variety of hardware; at present, the operating system is designed to run on x86 processors, but it may be ported to others in the future. Above the kernel, At Work is tailored to differ ent uses on printers, hand-held devices, and so on. Communications services--interfaced via MAPI and TAPI--and the Installable File System are available to all applications. Some programs use the graphical interface, and others do not.
Figure: The Architecture of NetWare Embedded Systems Technology Software Like Microsoft's At Work, Novell's NEST uses a layered architecture, but it is intended to run on multiple operating-system and processor platforms through the abstraction of the POSE. Higher levels of the stack are drawn directly from NetWare, and Novell will provide implementations of its print services for easy porting to new NEST printers.
Andy Reinhardt is BYTE's West Coast bureau chief. You can reach him on the Internet or BIX at areinhardt@bix.com .

Up to the Features section contentsGo to previous article: Starting with a Clean SheetSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network