The present invention relates to a method and apparatus for printing documents across a firewall with minimal infrastructure impact.
Many times mobile computer users are visiting a site that has printers that are protected by a firewall associated with the site. The mobile computer user may be an independent consultant, from a different company, or may be from a different office of the same company. Many times there is a need for the mobile user to print content from behind a first firewall to printers that are behind a second firewall associated with the site the mobile user is visiting. Generally, the Information Technology (IT) Professionals who maintain the network at the site and who maintain the firewall around the site are reluctant to open ports to allow a guest, such as the visiting mobile user, to print to printers attached to the network of the site. There are several reasons for the reluctance of IT Professionals. Most notably, when a port has been opened to allow printing there is a substantial security risk. Generally, the risk outweighs any perceived benefit for the site visited. In addition, opening and closing ports or “poking holes” in the firewall takes time and there is always the possibility that one may not be properly closed thereby leaving the network system firewall a bit more exposed.
One method used to print through a firewall is to attach the print job to an electronic mail (e-mail) message. The E-mail message and the attached print job are then sent through the firewall. The print job is then detached from the e-mail message and printed. One problem with using this E-mail method is that the mobile user/print client often does not know anything about the printer or imaging apparatus to which the job will be sent. In addition, the client has no means of readily discovering information about the printer. Thus, the mobile user/print client cannot easily determine the capabilities of the printer or which driver should be used for the printer. Additionally, even if the mobile user/print client could determine the appropriate print driver, the mobile user/print client may not have the correct driver for the printer. This would require loading the printer driver onto the mobile user/print client's computer. In some instances, the mobile user/print client may not even have access to the correct driver for the printer. Still another problem with the E-mail method is that potentially sensitive content is sent to the printer unencrypted. Thus, the mobile user/printer client's information may be exposed to a security risk.
The invention is pointed out with particularity in the appended claims. However, a more complete understanding of the present invention may be derived by referring to the detailed description when considered in connection with the figures, wherein like reference numbers refer to similar items throughout the figures and:
The following description and the drawings illustrate specific embodiments of the invention sufficiently to enable those skilled in the art to practice it. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in or substituted for those of others. The scope of the invention encompasses the full ambit of the claims and all available equivalents. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions described herein are implemented in software in one embodiment, where the software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. The term “computer readable media” is also used to represent carrier waves on which the software is transmitted. Further, such functions correspond to modules, which are software, hardware, firmware of any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples.
The secure cross firewall imaging system 100 includes a rendezvous point 150, which is positioned outside of the first firewall 120 and the second firewall 140. Mobile device user 160 having a mobile device 130 can be positioned behind a second firewall 140, no matter where the user is located. When the mobile user 160 wants to print to a device such as the imaging apparatus 110 behind the first firewall 120, the user chooses or selects content from the content server 132 via the mobile device 130. The network 134 to which the content server 132 and the mobile device 130 are attached forms a print job and sends it to the rendezvous point 150. In another embodiment, the content server 132 forwards the content to be printed to the rendezvous point 150. At the rendezvous point 150, a print job is created.
The imaging apparatus 110, or the network to which the printing apparatus is attached, polls the rendezvous point 150 to determine or detect if there is a print job at the rendezvous point 150. If there is a print job at the rendezvous point 150, the network or the imaging device 110 retrieves the print job from the rendezvous point 150. In one embodiment, retrieving and sending the print job from and to the rendezvous point 150 is done using a secure protocol. There are several types of secure protocols available, such as HTTPS or SSL. In other embodiments of the invention, the data from the network 134 is placed at the rendezvous point 150 using a secure protocol and the print job formed at the rendezvous point 150 is retrieved using a secure protocol. The rendezvous point 150, as shown in
In operation, a computing device 230 is used to select content from a content server 232 to send to the Internet and specifically to send to the rendezvous point 250 that is specified by a URL that refers to a location on the Internet 260. The network 234 uses a protocol to send either data or data in the form of a print job to the rendezvous point 250 which may be specified using a URL referring to a location on the public Internet 260. In one embodiment a secure protocol, such as HTTPS or SSL, is used to securely send the print job or data that is to be formed into a print job to the address specified by the rendezvous point 250. The first network 202, or device on the first network 202, queries or polls the rendezvous point 250 to determine if there is data or data in the form of a print job at the rendezvous point 250. If there is data that is to be a print job or a print job located at the rendezvous point 250, the network 202 uses a protocol and retrieves the data from the rendezvous point 250. Once the data is retrieved from the rendezvous point 250 it is routed by the network 202 or by print server 212 attached to the network to an imaging apparatus or the imaging apparatus 210. The protocol used between the network 202 and the rendezvous point 250, identified and locatable by a URL, on the Internet 260 is a secure connection such as HTTPS or SSL. It should be noted that the channel or interconnection between the network 234 and the rendezvous point 250 as well as the interconnection or channel between the network 202 and the rendezvous point 250 does not necessarily have to be a secure connection and can be a regular HTTP connection, a file transfer protocol (FTP) connection, or an anonymous FTP connection or similar connection. There is a distinct advantage if the connection is secure since the content of the data is much less likely to be corrupted or detected when sent over a secure channel.
It should be noted that the invention also includes the hardware shown in
Now referring to both
The scanner station 522 includes a lamp 546 for illuminating a scanning zone, reflective mirrors 548, 550, a lens 549, and a CCD (charge-coupled device) photosensor 551. Printer station 524 includes inkjet cartridge 552 that rides on a slider rod 554 back and forth across a print zone 560.
The multi-functional imaging apparatus 200 also includes an electronic device 700 also known as an information handling system. The electronic device 700 or information handling system includes all devices capable of handling information, including but not limited a dedicated micro-controller, a microprocessor or a computer. The electronic device 700 generally controls the hardware within the multi-function imaging apparatus 110, the tasks of the multi-function imaging apparatus 110, and the communications between the multi-function imaging apparatus 110 and the networks 202 (
It should be noted that the imaging apparatus need not be a multi-function imaging apparatus, as described. The imaging apparatus could be a printer, a scanner capable of outputting files in different formats or other imaging devices. The imaging device can have one function or multiple functions and still be within the scope of this invention. The imaging device includes an electronic device 700.
The processor 730 represents a central processing unit of any type of architecture, such as a CISC (Complex Instruction Set Computing), RISC (Reduced Instruction Set Computing), VLIW (Very Long Instruction Word), or hybrid architecture, although any appropriate processor may be used. The processor 730 executes instructions and includes that portion of the electronic device 700 that controls the operation of the entire electronic device 700. The processor 730 also includes a control unit 738 that organizes data and program storage in memory and transfers data and other information between the various parts of the electronic device 700. The processor 730 receives input data from the input device 737 and the network 710, reads and stores code and data in the storage device 735, and presents data to an output device 740 and/or the network 710.
Although the electronic device 700 is shown to contain only a single processor 730 and a single bus 750, the present invention applies equally to electronic devices that may have multiple processors and multiple buses with some or all performing different functions in different ways.
The storage device 735 represents one or more mechanisms for storing data. For example, the storage device 735 may include read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and/or other machine-readable media. In other embodiments, any appropriate type of storage device may be used. Although only one storage device 735 is shown, multiple storage devices and multiple types of storage devices may be present, and in various embodiments some or all of the product codes, the controller 738, and the products may be stored on the same or on different storage devices. Further, although the electronic device 700 is drawn to contain the storage device 735, it may be distributed across other electronic devices, for example on computers attached to the network 710.
The controller 738 includes instructions capable of being executed on the processor 730 to carry out the functions of the present invention. In another embodiment, some or all of the functions of the present invention are carried out via hardware in lieu of a processor-based system.
The input device 737 may be a keyboard, mouse or other pointing device, trackball, touchpad, touchscreen, keypad, microphone, voice recognition device, or any other appropriate mechanism for the user to input data to the electronic device 700. Although one input device 737 is shown, in another embodiment any number (including none) and type of input devices may be present.
The output device 740 is that part of the electronic device 700 that communicates output to the user. The output device 740 may be a cathode-ray tube (CRT) based video display well known in the art of computer hardware. But, in other embodiments the output device 740 may be replaced with a liquid crystal display (LCD) based or gas, plasma-based, flat-panel display. In another embodiment, the output device 740 may be a speaker. In still other embodiments, any appropriate output device may be used. Although one output device 740 is shown, in other embodiments, any number (including none) of output devices of different types or of the same type may be present. In one embodiment, the output device is part of the printer 760. In another embodiment, the output device is a separate, stand-alone device.
The bus 750 may represent one or more busses, e.g., PCI, ISA (Industry Standard Architecture), X-Bus, EISA (Extended Industry Standard Architecture), or any other appropriate bus and/or bridge (also called a bus controller).
The electronic device 700 may be implemented using any suitable hardware and/or software, such as a personal computer. Portable computers, laptop or notebook computers, PDAs (Personal Digital Assistants), pocket computers, telephones, pagers, appliances, and mainframe computers are examples of other possible configurations of the electronic device 700. The hardware and software depicted in
The network 710 or 202 (shown in
Aspects of an embodiment pertain to specific apparatus and method elements implementable on a computer or other electronic device. In another embodiment, the invention may be implemented as a program product for use with an electronic device. The programs defining the functions of this embodiment may be delivered to an electronic device via a variety of signal-bearing media, which include, but are not limited to:
Such signal-bearing media, when carrying machine-readable instructions that direct the functions of the present invention, represent embodiments of the present invention.
An imaging apparatus includes a processor 730, a storage device 735, and software operable on the processor 730. The software causes the processor 730 to poll a rendezvous point, detect the presence of a print job at the rendezvous point 150, 250 (shown in
In the previous detailed description of exemplary embodiments of the invention, reference was made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, but other embodiments may be utilized and logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention. Different instances of the word “embodiment” as used within this specification do not necessarily refer to the same embodiment, but they may. The previous detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
In the previous description, numerous specific details were set forth to provide a thorough understanding of the invention. However, it is understood that the invention may be practiced without these specific details. In other instances, well-known circuits, structures, and techniques have not been shown in detail in order not to obscure the invention.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that any arrangement calculated to achieve the same purpose can be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments of the invention. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combinations of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of various embodiments of the invention includes any other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the invention should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
It is emphasized that the Abstract is provided to comply with 37 C.F.R. § 1.72(b) requiring an Abstract that will allow the reader to quickly ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
In the foregoing Description of Embodiments of the Invention, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Description of Embodiments of the Invention, with each claim standing on its own as a separate preferred embodiment.