A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyrights whatsoever.
The present invention relates generally to printing systems, and more particularly to a universal printing system that facilitates printing to a remote printer via a print server.
Users of mobile devices such as Personal Digital Assistants (PDAs), laptops or portable personal computers, two way pagers, mobile phones, and other mobile devices can often access information over the internet. However, to print this information, the users of these devices usually need to either have a printer physically connected to the device, or the user must pre-store the document on an internet based storage that can only be accessed by special types of print devices for printing.
Another problem with mobile devices is that many documents must be printed using print drivers or the software used to create the document. Some documents may contain multiple document formats, for example a word processing document containing a graphic document. The mobile device may not have the document's native software for all of the document's formats. As mobile devices often have limited storage capabilities, it is often not feasible to install all of the necessary software programs to handle all of the formats.
Because the device is mobile, a user may desire to print to the nearest printer, and the mobile device may not have a printer driver for the nearest printer installed. Most printers require that a document be converted to a print file containing printer control codes or commands. Thus for a mobile device to be able to print to any printer, it would have to have printer drivers for all known printers installed on it, which due to limited storage capabilities may degrade the usefulness of the device.
One solution to the aforementioned problems is a universal printing system that can enables a portable device, or any client, to select a printer and send a document to that printer via a server without having the native applications for the document or print drivers for the printer. However, this solutions requires the user to log into the server and upload the document to the server. Sometimes a user may prefer to utilize personal preferences such as print finish settings. If the user has a printer driver installed on the client computer, then the user can print the job using the Internet Print Protocol to print to the universal server.
The Internet Printing Protocol (IPP 1.0), described in Internet Printing Protocol/1.1: Model and Semantics and Internet Printing Protocol/1.1: Encoding and Transport, published by the Printer Working Group of the Internet Engineering Task Force (IETF) allows an end user to remotely print to any Internet Print Protocol-enabled print through a communication network. The advantage of using the Internet Printing Protocol is that it provides the opportunity to transmit digital document print jobs anywhere in the world to printers coupled to the Internet without the long distance charges that a facsimile transmission can incur.
The Internet printing protocol may be bi-directional, allowing for communication between the printer and the client process transmitting print jobs to the printer. For example, the user can issue print jobs, inquire about a printer's capabilities, inquire about the status of a printer and the status of a print job, as well as remotely issue other printing commands such as canceling a print job.
However, to print to a remote printer via the Internet Printing Protocol, the printer must have an assigned URL address so that properly formatted print jobs may be sent directly to the printer's address and printed at the remote printer. Therefore, print jobs cannot be submitted to printers that do not have an assigned URL address using the Internet Printing Protocol.
Another problem often encountered when using the Internet Printing Protocol is that not every printer vendor has bi-directional Internet Printing Protocol. Therefore, users are unable to monitor the status of their submitted print jobs.
Thus, a need exists for a method to print using the Internet Printing Protocol to a server which can then appropriately route the print job to any printer regardless of whether it supports the Internet Printing Protocol. There is also a need for a method to retrieve printer job status from printers that do not support bi-directional Internet Printing Protocol.
In view of the aforementioned needs, the invention contemplates an Online Web Print Server with Internet Printing Protocol capabilities. The Online Web Print Server enables a client to select a printer and upload a file to the server. The client does not need to have a printer driver installed for the selected printer because the Online Web Print Server handles all the conversions necessary to produce the output. With the present invention, the client only needs an Internet Printing Protocol (IPP) driver. The client then prints the file using the Internet Printing Protocol Driver and the Server receives, processes and routes the file accordingly.
One aspect of the present invention is for a method for processing data from a client, the steps comprising receiving an internet printing protocol data stream from the client, parsing the data stream for determining a destination device, and routing the data stream to the destination device. Typically the destination device would be a remote printer. If the destination printer is not Internet Printing Protocol complaint, then the data stream is converted to a format compatible with the destination device. A web page may also be updated with the destination device's current status.
Another aspect of the present invention is for a method for processing a print job from a client, the steps comprising receiving the print job via an internet printing protocol from the client, parsing the print job, the parsing step further comprising determining a remote destination printer, and a user identification, and routing the print job to the remote destination printer. The method may further comprise storing job tracking and accounting information, which may also be stored with user identification.
Yet another aspect of the present invention is a method for processing a request for a destination device's status from a client, the steps comprising receiving the request from the client via an internet printing protocol, parsing the request and obtaining an identity for the destination device, routing the request to the destination device, receiving a reply from the destination device, and sending the reply via an internet printing protocol to the client.
If necessary, the formatting step will convert the request to a format compatible with the destination device and the routing step will route converted request to the destination device. Then the response received will be converted from the destination device's format to the internet printing protocol and sent to the client.
Still yet another aspect of the present invention is a method for processing a request for a remote printer status from a client, the steps comprising receiving the request from the client via an internet printing protocol, parsing the request, the parsing step further comprising determining an identity for the remote printer and formatting the request in a format compatible with the remote printer, routing the request in the format compatible with the remote printer to the remote printer, receiving a reply from the remote printer, converting the reply from the format compatible with the destination device to the internet printing protocol, and sending the reply via an internet printing protocol to the client.
The present invention enables an Internet Printing Protocol enabled client to submit a print job to a non-Internet Printing Protocol printer by routing the job through the server. For example, with the present invention a client can use the Internet Printing Protocol to send a print job to a remote printer which only supports Line Printer DAEMON (LPD). The present invention also enables a client to obtain job print status for printers that do not support bi-directional Internet Printing Protocol. By routing the Internet Printing Protocol through the Online Web Printer server, the Online Web Print Server can retrieve job status via an Extensible Markup Language (XML), Simple Network Management Protocol (SNMP), or other appropriate query and respond to the client.
Still other objects of the present invention will become readily apparent to those skilled in this art from the following description wherein there is shown and described a preferred embodiment of this invention, simply by way of illustration of one of the best modes best suited for to carry out the invention. As it will be realized, the invention is capable of other different embodiments and its several details are capable of modifications in various obvious aspects all without from the invention. Accordingly, the drawing and descriptions will be regarded as illustrative in nature and not as restrictive.
The accompanying drawings incorporated in and forming a part of the specification, illustrates several aspects of the present invention, and together with the description serve to explain the principles of the invention. In the drawings:
a is an example screen display of a printer properties screen;
b is an example screen display of a configure port screen;
Throughout this description, the preferred embodiment and examples shown should be considered as exemplars, rather than limitations, of the present invention.
The Internet Printing Protocol is a client-server type protocol which should allow the server side to be either a separate print server or a printer with embedded networking capabilities. The focus of this application is optimized for printers, but might be applied to other devices.
An Online Web Print Server can accept document submissions via an Internet and transmit print jobs to various printers. The printers may be dispersed and located at different remote locations. By adding Internet Printing Protocol print dispatch server capability to the Online Web Printer server, a client using only a generic Internet Printing Protocol print driver can print to the Online Web Print Server directly. After the submission of the print job, the print server can dispatch the print job to a remote printer by specifying the Printer Identification, Printer Name or IP address in an Internet Printing Protocol Uniform Resource Locator. For accounting purposes, a user can input a user identification into the Internet Printing Protocol Uniform Resource Locator.
In the preferred embodiment three things are required, an Internet Printing Protocol Uniform Resource Locator (for example http://x.x.x:port_id/scripts), a User Identification (for example UserID=aaa) for charging print charges, and a Printer Identification. The printer name can be viewed from the Online Web Print Server web page, a user may “select printer” from the web page and select the printer from a scrollable list provided by the web page. The printer Identification (for example PrinterID=bbb) is a printer specified by the Online Web Print Server, however, if no printer identification is specified then a default printer is chosen. An example print request follows: http://159.119.123.123:80/scripts/ipps.dll?UserID=12345&PrinterID=LobbyPrinter
Referring first to
Referring now to
If the client uses the web client interface to start the print job as shown in step 202, the document is then uploaded to the server 102 as shown at step 204. At step 206 the server 102 converts the document to a print job which is then dispatched to a remote printer, for example printers 112, 114 and/or 116 via network 104b as shown at step 208.
As an alternative, a client, for example either 106, 108, and/or 110, may use an Internet Printing Protocol print driver to send the print job which starts at step 210. At step 212 the server 102 parses the Internet Printing Protocol print job to determine the destination printer, which could be any of printers 112, 114 or 116. At step 214 the server 102 determines whether the destination printer supports Internet Printing Protocol printing. If the destination printer supports Internet Print Protocol printing, then as shown at step 208 the print job is dispatched to the destination printer. If the destination printer does not support IPP printing, then at step 216 the print job is converted to a compatible format for the destination printer before it id dispatched to the destination printer at step 216.
Referring now to
After the print job is submitted to the destination printer, a reply is received from the destination as shown by 322 by the Printer SNMP Query module 324 which then causes a web page to be updated with the Printer Print Status as shown at step 314. As illustrated in 322, the reply is received in SNMP protocol, however, the reply may be received as an IPP or any other print protocol known in the art. After step 314 has been executed, the destination printer's updated status may be viewed using a web browser. At step 326 job logs database processes are handled, such as storing billing information for the print job. At step 326 it is determined if the system is still running, if not then processing ends as shown by step 330. If at step 328 the system is still running then the process returns to step 304 wherein the server waits for the next print job.
Referring now to
Referring now to
Referring now to
Referring now to
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of the ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance to the breadth to which they are fairly, legally and equitably entitled.
This application is a continuation-in-part of application Ser. No. 10/336,211 filed Jan. 3, 2003.
Number | Name | Date | Kind |
---|---|---|---|
6327045 | Teng et al. | Dec 2001 | B1 |
6431772 | Melo et al. | Aug 2002 | B1 |
20020065873 | Ishizuka | May 2002 | A1 |
20020078160 | Kemp et al. | Jun 2002 | A1 |
20020080391 | Sugiura et al. | Jun 2002 | A1 |
20020093681 | Hitaka | Jul 2002 | A1 |
20020097424 | Ferlitsch | Jul 2002 | A1 |
20020138558 | Ferlitsch | Sep 2002 | A1 |
20020138564 | Treptow et al. | Sep 2002 | A1 |
20020140971 | Machida | Oct 2002 | A1 |
20020169002 | Imbrie et al. | Nov 2002 | A1 |
20020184342 | Kennedy et al. | Dec 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20040130746 A1 | Jul 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10336211 | Jan 2003 | US |
Child | 10393184 | US |