It's easy to print from the office. But, if you're in Timbuktu and you need to print to the printer in your office in Milwaukee... well, that's not so easy. Unless you set up an office printer to accept print requests over the Internet. Then it’s a snap.
There are many ways to implement an office Internet printing solution. Not all printers, however, can handle network printing. In particular, low-end Graphics Design Interface (GDI) printers, which depend on the computer's processor to rasterize the print job, are unlikely to work with any network printing technique. These printers, also known as host-based printers, are designed specifically to work with Windows PCs. You shouldn't even bother to try to use them as Internet printers even if your clients are all running Windows.
However, beyond GDI printers you have three good choices: Internet Printing Protocol, Jetdirect, and e-mail-based printers. Here are the options.
The standard way of printing over the Internet is Internet Printing Protocol (IPP). IPP, which dates back to work done in the mid-90s by Novell and Xerox, uses the Web's Hypertext Transfer Protocol (HTTP) as its primary protocol.
To use IPP, you need your print server to work in concert with a Web server. When a desktop client connects to the IPP server, it sends a printer request with the Multipurpose Internet Mail Extensions (MIME) media type "application/ipp" in a HTTP POST request. The server then sends the print request to your local printer.
For authorization and security, you must use a HTTP compatible system. Thus, for authentication you might use Generic Security Services Application Program Interface (GSSAPI) as a front-end to a Kerberos service. For security, you should use Hypertext Transfer Protocol Secure (HTTPS), which adds the SSL/TLS protocol.
By default, IPP uses TCP port 631, which probably requires the network staff to open up this port on the firewall. IPP doesn't have to use that port though. With Windows, for example, you can use the usual Web 80 port or the more secure HTTPS port 443. On Macs and on Linux systems, which both use the open-source Common UNIX Printing System (CUPS) printing system, the IPP printing systems default to HTTP's port 631.
An IPP-enabled print server should let remote users query the printer capabilities via a Web browser, such as whether they can print in color or black and white, choose 600 vs. 1200 dpi, get the printer's status, monitor the printer's print jobs, and, of course, submit and cancel print jobs. What data it actually provides depends on the specific capabilities of your IPP print servers.
With Windows Server 2003 and higher, users can also access IPP-enabled printers with an asynchronous remote procedure call (RPC) printer connection. This method, however, is reported to not work well with Windows XP's print spooler, which doesn't support asynchronous RPC. Other Microsoft reports state that asynchronous RPC was only introduced in Windows Server 2008 and up, and can only be used with Windows Vista and Windows 7. This results in Vista and Windows 7 PCs failing when they first try to print to a Windows 2003 RPC IPP printer.
There are three possible solutions:
- Upgrade your Internet print server to Windows 2007 or 2008 R2.
- Use straight IPP without the use of RPC, albeit this may result in slow print jobs.
- If you want to use RPC and you're still using Windows 2003, you can disable Async RPC by adding the following registry key on the Windows 7 or Windows Vista clients:
Regardless of how you handle IPP, your local clients must also have the appropriate printer drivers. While “driverless” printing is on its way with IPP Everywhere (PDF), this is still a work in progress. In the long run, the IPP working group also plans to enable you to use scanners over the Internet.
That's all fine and well if you have Web and print servers at your beck and call, but what if your office isn't that big? True, you can use IPP on a client operating system such as Windows XP, but you risk your office's security by using a client operating system to provide an Internet service.
Fortunately, there are other answers.
Another tried and true solution is Jetdirect. It started as a technology in the early 90s to allow business users to connect printers directly to their local area networks without the use of a dedicated print server. Today, it's still used for this purpose, but Jetdirect can also be used to let remote workers print over the Internet to office printers.
Jetdirect, also known as AppSocket, is a very simple protocol and is regarded by some as “the most reliable network protocol used for printers.”
Modern Jetdirect servers come with their own minimal operating system and use an embedded Web server as their front-end. They are also controlled by Simple Network Management Protocol (SNMP). Like IPP, Jetdirect now uses port 631. Historically, though, it used port 9100, so many administrators still use port 9100. All this means that you should protect your Jetdirect-enabled printer just as it if were any other network server while making sure its designated ports are open to the Internet.
Some higher-end HP printers, such as the HP LaserJet 5200tn, come with Jetdirect built-in. Many don't. For these, you'll need to add Jetdirect hardware.
You can add Jetdirect to a non-networked printer with the standalone mini-server, the HP Jetdirect 300x. This can be used with any printer with a IEEE-1284 compliant parallel port. In additional there are internal Jetdirect cards, the HP Jetdirect 635n IPv6/IPsec Print Server, HP Jetdirect 690n IPv6/IPsec 802.11g Wireless Print Server, and HP Jetdirect 620n Fast Ethernet Print Server, that can only be used with HP printers with an enhanced I/O (EIO) slot. However, not all printers work with Jetdirect, not even all HP's products.
You can also use CUPS, which is available on all Unix and Linux server distributions, to set up a Jetdirect server. Some operating systems, such as Red Hat's Fedora, make adding Jetdirect printing capabilities as easy as a mouse click.
With this method, though, you're not connecting the printer directly to your network. Instead, you're relying on an external print server to bridge the gap between users and the printer. This approach has the benefit of enabling you to make any printer available over the Internet with Jetdirect.
You might also want to consider the new generation of e-mail enabled printers. Unlike the network-enabled IPP and Jetdirect, these printers side-step the issue of creating a direct connection to the Internet. When you print a document to an ePrinter, you're actually arranging for an e-mail message, with your print job inside it, to be forwarded to your printer. It, in turn, “reads” and prints the message.
At this time there are e-mail printers from three companies: HP, with its line of ePrint-enabled printers; Epson Connect; and KODAK Email Print.
Don't think for a minute that using e-mail for printing gets you out of worrying about your printer's security. It doesn't. By default, for example, an HP ePrinter is in “unlocked mode.” In this mode, anyone who knows the printer's e-mail address can print to it. To “lock” it, register the printer with HP. Then you can change its mode and specify up to 500 e-mail addresses that are allowed to use the printer. All other e-mail is ignored.
To do so, you must manage your ePrinter via HP's Web-based eprintCenter. You don't have “local” control of your ePrinter (This is also true of the Epson and Kodak solutions).
In all cases, your print jobs are sent as e-mail to your printer over port 9100 using SMTP via a cloud-based vendor site, such as HP's ePrintCenter. Therefore, you'll need to open this port on your firewall before you can print remotely to an ePrinter.
One advantage of e-mail printing over the other Internet printer approaches is that it can easily be used from mobile devices. Each vendor has print applications for Android, Blackberry, and iPhone mobile devices. You can also use these printers with Google's Cloud Print services. If you have a Google account, this enables you to use print to an e-mail server from almost any Internet connected device.
In addition, Apple's AirPrint enables iPhone, iPad, or iPod users to print to HP ePrinters.
All these technologies have options for everyone from the smallest home-office user to the largest business. While e-mail printers started as a personal and small office/home office technology, the rise of tablet use encouraged printer vendors to start upscaling e-mail Print for enterprise users.
So, which approach is right for you? As always, it depends on your needs. IPP requires the most administration work but has the most flexibility in terms of printer and operating system support. Jetdirect works well with HP printers and some older printers and it also supports multiple platforms. Finally, e-mail printers, while still at an early stage, are easy to manage, do a good job of supporting mobile devices, but aren't really up for heavy-duty print work. For many offices, I expect a combination of e-mail Printers with either IPP or Jetdirect is the best solution.