The World Wide Printer

My neighborhood copy shop has a fancy color copier, a high-resolution plotter and a printer that can create output on almost any size paper you can imagine. While I can always create an original and have it duplicated, I wish I could establish an account with the shop and print directly to those devices using my workstation and an Internet connection.

Soon I may be able to.

The Printer Working Group, a loose organization of the major printing vendors, has reached consensus on a protocol that will allow output to be sent to any printer connected to the Web. With the Internet Printing Protocol (IPP) you will be able to find out the capabilities and status of a Web connected printer, send a file to the printer and check the status of that job -- all over a single Web interface.

Microsoft Corp. and Hewlett-Packard Co. jointly proposed a different approach called the Simple Web Printing (SWP) protocol in 1997. Their intentions were to provide some of the same functionality, but with a leaner subset of commands than are in IPP. Fortunately for network and printing administrators, most of the features in SWP have been integrated into IPP, and Microsoft and HP are providing support for IPP -- ensuring Internet printing standards don’t become fractured.

IPP is simply a client/server protocol that travels the Internet using the same transport mechanism as the Web: HTTP. IPP uses version 1.1 of HTTP because the updated version of the transport provides the extra features needed to exchange print jobs between workstations and print servers. For instance, HTTP 1.1 supports persistent connections between clients and servers. These connections efficiently allow print job setup and transmission of the file to be printed.

Does this mean that your printer is going to double as a Web server? It was going to happen anyway. Network attached printers already provide information on how to use the printer, its current status and other helpful information in HTML format. Why not go one step further and use HTTP as the interface for accepting and managing print jobs?

In Windows 2000, IPP makes it possible to locate a network printer using its URL rather than the traditional UNC mechanism. The URL for a print queue is simply http://servername/printername. On desktops or mobile clients, this means we will soon be able to add a Web-based printer to workstations using the familiar Windows printer setup dialogs. As long as I have an Internet connection, I’ll be able to print. Windows users see the IPP printer as just another printer in their printers folder. Vendors such as HP and Lexmark International Inc. have already built Windows 2000 beta compatible print server software that implements IPP.

To implement IPP for print queues under Windows NT, network administrators will need to be running either IIS or the Peer Web Server. When the Web server receives the print URL from the client, it calls a new IPP-based print server -- implemented in msw3prt.dll. This print server does the negotiation between the client and the local queue.

The promise of IPP is substantial, but I have a few nagging concerns. First, IPP printers are at risk of being "print-bombed" if there isn’t an effective mechanism for security built into IPP. Also, if IPP is to work in the public Internet there will need to be a way to search for IPP enabled printers with specific attributes -- an IPP directory service, if you will.

The current version of IPP that has been sent to the Internet Engineering Task Force for approval only provides support for inquiring about an IPP-compliant printer’s features, sending a print job and, if needed, deleting that print job. A successor to the current version of IPP will need to ensure that I have authorization to send jobs to that IPP printer and that the job is sent securely. Networks that support IPP-based printers will also need to combine the simplicity of URL-based printing with directory services and repositories of appropriate printer drivers.

In the absence of security and directory services, IPP will initially play a role inside the enterprise rather than on the public Internet. Network administrators can use Windows 2000 to make corporate printers available to travelling executives as simple as establishing a connection to the corporate intranet. Once the security and commercial transaction problems have been solved, I’ll be able to send print jobs to my local copy shop as easily as I do to the inkjet next to me. --Mark McFadden is a consultant and is communications director for the Commercial Internet eXchange (Washington). Contact him at mcfadden@cix.org.