A PRINTER AND METHOD FOR HOSTLESS PRINTING OF REMOTE
DOCUMENTS
BACKGROUND OF THE INVENTION
Technical Field
The present invention relates to the field of computer printers, and more particularly to computer printers for printing documents which are stored on a network.
Background Information
Prior to the development of computer networking technology and the proliferation of public and private computer networks, document distribution in large organizations was accomplished using a "print and distribute" method. Each time a document requiring widespread distribution was created or updated, copies would be printed for everyone and distributed throughout the organization. Such documents would include management memoranda, human resources information, forms needed by employees in filing healthcare claims, 40 IK change forms, etc. These types of documents would be printed and distributed each time they were updated and everyone in the organization would receive a copy regardless of whether they needed it at that particular time. With the development of local area networks ("LANs"), wide area networks ("WANs") and other types of organization- wide computer systems, it became possible for documents to be distributed electronically. As important documents are created or updated, electronic copies are forwarded across the network to the personal computer ("PC") of each person in the organization. Each individual can then store an electronic copy of the document as a file on his or her PC and print it later as needed.
This method of distribution allows the creation of hard copies on an "as- needed" basis by each employee, thus minimizing the wasted paper of unwanted hard copy documents. It also makes the task of distributing new copies quicker
and simpler. On the other hand, widespread electronic distribution of documents creates a huge amount of network traffic and having each individual store the documents on their own PC takes up significant amounts of electronic storage space. Individuals could also fail to update the local copies and later print and use documents containing out of date information.
Over the last decade, the evolution of network protocols and the development of the internet into an omnipresent and dependable worldwide backbone has led to the re-structuring of most company- wide networks into "intranets". These private networks utilize the structure and protocols of the internet but limit access to people within the organization. These intranets are typically connected to the internet to allow appropriate traffic in and out but are protected from unwanted intrusions by "firewalls" and other security measures. Therefore, individuals can reach the internet from their intranet-connected PCs to do research or send external e-mail but computers connected to the internet cannot access potentially sensitive company information stored on the intranet. One advantage of the internet protocol is the addressability of individual computers connected to the internet and even of individual documents or
"pages", as they are referred to on the internet, stored on those computers. Each document can be assigned a Uniform Resource Locator ("URL") which serves as its address. This addressability is also available on company intranets since they utilize the internet protocol. Documents stored on the internet, or on a company intranet, may be navigated and viewed using one of the various "browser" programs available for the purpose. Two of the most popular browsers are Microsoft's Internet Explorer® ("IE") software and Netscape's Navigator® software. By opening a browser on his or her PC and entering the correct URL a user can immediately download and view any document on any computer anywhere on the internet. Another advantage of these company- wide networks is the capability to share peripheral devices such as printers. It is no longer necessary for each individual to have a printer connected to his or her PC in order to print documents. Instead, printers can be centrally located and connected to the
company's intranet, or even the internet. Since each device on the internet is individually addressable, communication protocols have been developed which allow any computer on the network to send a document to any network- connected and network-capable printer and have it printed.
These advances in technology have prompted the next step in the way large organizations distribute documents. Instead of electronically distributing documents to everyone in the organization, companies can simply store the documents on a server connected to the organization's intranet (or even on a computer housing the company's site on the internet if the documents are not sensitive) and publicize the documents' URLs instead. Then, users may access the documents whenever they wish using browser software on their PC.
This method requires the permanent storage of only one electronic copy of each document, ensuring that users always access the most up to date version. It also negates the need for repeated electronic distribution of the potentially large documents each time they are updated; representing a tremendous reduction in network traffic. However, to print a hard copy of such documents, a user still must open a browser program, download the document over the internet and/or intranet, view the document and then send it back over the network to the printer. This requires the document to be sent over the network twice, increasing network traffic, and requires the user's PC, and the user, to be tied up while downloading and viewing the document.
In order to avoid some of this network traffic, printer languages, such as Postscript 3 from Adobe, have recently been developed to allow "pull printing". Pull printing allows a user to send only the URL of a document to be printed to a network-capable printer. The printer then accesses the network and downloads, or "pulls", the document from the specified URL on the network and prints it. This avoids the need for the user to download the document and send it over the network to the printer, cutting the travels of the document in half. It also avoids the need for the user to open a browser and tie up his PC while the document is downloaded and then sent to the printer. This function is useful for standard company documents and forms
where the user knows the appropriate URL and has no need to view the document before printing it. It can be implemented using a simple application program resident on the individual's PC which accepts from the user the URL of the document to be printed and forwards it to the printer in the format
100 expected by the printer. Such an application could include an interface which would list documents by title instead of URL, storing the corresponding URLs behind.the scenes, making it easier for users to find the needed documents. However, such a setup still requires that each individual have access to a PC with the appropriate interface application installed. The user must also have
105 knowledge of how to utilize the application. Finally, some extra traffic over the network is still required as the URL must be sent from the PC to the printer.
SUMMARY OF THE INVENTION
110 Therefore, it is an object of the present invention to provide a printer for use with the internet or other computer network which is adapted to print documents stored electronically on the network in response to a user's input from the printer's front panel.
115 It is another object of the present invention to provide a printer having an internal non-volatile memory adapted to store the network addresses of various printable documents.
It is yet another object of the present invention to provide a printer which 120 allows a user to select a document to be printed from a list of documents presented to the user.
It is still another object of the present invention to provide a printer comprising a user interface whereby a user may enter the network address of a 125 document to be printed.
Accordingly, there is provided a printer adapted for connection to the internet or similar computer network. The printer comprises a non-volatile memory for electronically storing information, a central processing unit (CPU) 130 for performing the functions described herein via stored software instructions, and a user interface for presenting information to a user and accepting input from the user.
The printer memory contains a list of printable documents which are stored on the network to which the printer is connected. Associated with each 135 document in the list is the address of its location on the network and any special information the printer may need to print the document, such as special printer settings, etc.
In response to commands from the user interface, the printer presents the list of documents, in some menu format, to the user interface. Once a document 140 is selected from the user interface, and a number of copies to print is similarly selected, the printer accesses the network at the appropriate address, downloads the document and prints the appropriate number of copies.
The user interface may also allow a user to enter the URL of a document which is stored on the network but which is not included in the document list in 145 the printer's memory. The printer would then access the network at the input URL, download the document stored there and print it .
As will become apparent below, the present invention takes advantage of advancements in printer and communications protocols to address several concerns related to printing documents in a network-centric environment. The 150 present invention allows documents stored on the network to be selected and printed directly from the printer - with no access to a PC or computer of any kind. Therefore, personnel within an organization who do not have regular access to a PC may still print company forms or documents from the network. This method of printing documents also only requires the document to traverse 155 the network one time, minimizing the impact on network traffic
These and other objects, features, and advantages of the present invention will become more apparent in light of the following detailed
description of a best mode embodiment thereof, as illustrated in the accompanying drawings.
160
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which form a part of the specification, illustrate several alternate embodiments of the present invention. The drawings and description together serve to fully explain the invention. In the drawings, like 165 reference numbers are used to designate the same or similar items throughout the several figures wherein:
Figure 1 is a figurative, perspective illustration of an embodiment of the printer of the present invention;
Figure 2 is a schematic block diagram of the printer in Figure 1 ; 170 Figure 3 is an exemplary illustration of the format of the document data stored in the printer's non- volatile memory;
Figure 4 is an illustration of an exemplary implementation of the user interface of the printer of the present invention;
Figure 5 is an illustration of the exemplary implementation of Figure 4 175 where the user may enter a number of copies to print;
Figure 6 is an illustration of the exemplary implementation of Figure 5 where the user may enter the URL of a document to print;
Figure 7 is a diagram illustrating the steps performed by the printer of the present invention in providing user selected documents; 180 Figure 8 is an illustration of an alternate implementation of the user interface of the printer of the present invention;
Figure 9 is an illustration of the sequence of user inputs and displayed data associated with retrieving and printing a document from the printer of the present invention utilizing the user interface of Figure 8; and 185 Figure 10 is an exemplary illustration of a hierarchical structure used in storing and accessing the list of printable documents of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
190 Figure 1 illustrates a perspective front view of an embodiment of a printer according to the present invention. The printer, indicated generally at 50, includes a user interface 51 comprising a display 52 and an input device 54. The display 52 may be a cathode ray tube (CRT), a liquid crystal display (LCD), a light-emitting diode (LED) array or any other type of display known to those
195 skilled in the art as being suitable for presenting text in a human-readable form. The input device 54 may be any known type of user responsive interface for entering user commands to the printer, such as a keyboard for direct entry of alphanumeric symbols, a set of arrow keys for providing user scan and selection of screen formatted icons or other indicia, a touchscreen or any other interface
200 means allowing a user to input information and make selections in response to the information shown on the display 52.
The printer 50 includes a known type of printing apparatus 56 to receive an electronic copy of a document in any number of formats and translate that electronic copy in a known manner into human-readable text on paper 57
205 according to the formatting information contained within the electronic copy. This printing of text is accomplished using any one of a number of known technologies such as laser printing, bubble-jet, ink jet, dot matrix, etc.
The printer 50 is also provided with a communications interface 58 which enables the printer to be connected to the internet or other computer
210 network via the communications cable 60 in a known manner and thus share electronic signals with other computers similarly connected and enabled. Referring now to Figure 2, which is a schematic illustration of the printer 50 in which the prior illustrated elements of figure 1 are shown with their prior associated reference numerals. As shown, the printer 50 includes a signal
215 processor 62. The signal processor 62 is of a known type, which includes a central processing unit (CPU) 64 connected through a bus 66 to a plurality of input/output (I/O) devices 68-71 and to a signal memory 72. The I/O devices 68-71 connect the signal processor to the printing apparatus 56, the communications interface 58, the input device 54 and the display 52,
220 respectively, and allow communications between such devices and the CPU. The signal memory 72 includes non-volatile memory for storing signals, including program signals which embody the control algorithm used in the present invention to direct the CPU 64 in performing the functions described herein. A portion 73 of the non-volatile memory of the signal memory 72 is
225 mapped to receive and store signals representing a list of documents available for printing.
In operation according to the present invention, the mapped portion 73 of the signal memory 72 stores document signals representing a list of printable documents stored on the network to which the printer is connected. This list is
230 preferably in the form of a database with a data object associated with each document. Figure 3 illustrates an exemplary form of database containing N data objects called "Printer Bookmarks" (PBMs) representing N documents. Each PBM includes a document title 74(m) (m=l to N), which will be displayed to the user for identification of the document, and the document's URL 76(m) or
235 other type of address for locating the document on the network. Each PBM may also contain any necessary printer settings 78(m) unique to the document. The set of PBMs is created and updated by an organization's network or printing administrator on a PC or other type of network-connected computer and downloaded to the printer 50 over the network. The signal processor 62
240 receives the PBMs via the communications interface 58 and stores the PBMs in the mapped portion 73 of the non- volatile memory of the signal memory 72. This download of information over a network and storage of the information into a local memory media may be accomplished by any method known by those skilled in the art to be appropriate for the purpose without departing from
245 the scope of the present invention.
In response to a request command from the input device 54 (Figure 2), the CPU 64 accesses the mapped portion 73 of the signal memory 72, retrieves the document list stored there and presents the list to the display 52 in a human- readable format. In response to a selection command from the user through the 250 input device 54 selecting one of the listed documents, the CPU 64 retrieves,
from the document list in the mapped portion 73 of the signal memory 72, the network address of the selected document. The CPU 64 utilizes the communications interface 58 to access the network at the retrieved network address, downloads the selected document and presents the document to the
255 printing apparatus 56 to be printed.
The CPU 64 may temporarily store the downloaded document in signal memory 72 before presenting the document to the printing apparatus 56 for printing or, as technology and network bandwidth allow, the CPU 64 may "stream" the document directly to the printing apparatus 56. Any other
260 techniques known to those skilled in the art for downloading and printing documents may be utilized without departing from the scope of the present invention.
In Figure 4, an embodiment 79A of the user interface 51 of the printer 50 of the present invention is shown with an exemplary implementation of the
265 display 52 and the input device 54. In this implementation, the display 52 may be a simple four-line LED display 80. The input device 54 may be implemented as four (4) buttons; a "Document List" button 82, a "Scroll Up" button 84, a "Scroll Down" button 86 and a "Select" button 88.
Upon pressing the Document List button 82, a request command is sent
270 to the CPU 64 whereupon the document titles associated with the first four documents in the document list stored in the mapped portion 73 of the signal memory 72 appear on the LED display 80. Pressing the Scroll Down 86 or Scroll Up 84 buttons causes the list to correspondingly scroll up or down in LED display 80, allowing the user to view the entire list of documents.
275 Depressing the Select button 88 causes the selection command to be sent to the CPU 64 selecting the document then listed in the selection position of the LED display 80 - the position next to the Select button 88. Thus, by pressing the Scroll Up 84 or Scroll Down 86 buttons the user may position the desired document in the selection position and cause it to be retrieved and printed by
280 depressing the Select button 88.
Figure 5 illustrates an alternate embodiment 79B of the user interface 51
of the printer 50 of the present invention which allows the user to enter a number of copies to be printed. In such an implementation, the CPU 64, after receiving the selection command from the input device 54 (here, the Select
285 button 88), displays the prompt "Number of Copies?" in the display 52 (here, the LED display 80) with the default selection of "1" in the selection position. The user may then depress the Select button 88 to print one copy of the selected document or utilize the number keypad 90 to enter a different number of copies to be printed before pressing the Select button 88. In addition to the number of
290 copies, a printer embodying the present invention may afford a user the opportunity to enter or select any of a number of other optional attributes associated with printing documents, such as paper size, image orientation, duplex printing, etc.
A further embodiment of the printer 50 of the present invention also
295 allows a user to input the URL of a document to be retrieved and printed when the desired document is not included in the document list stored in the mapped portion 73 of the signal memory 72. Figure 6 illustrates yet another embodiment 79C of the user interface 51 of the printer 50 of the present invention. This implementation of the input device 54 includes an "Enter
300 Document" button 92 and a keyboard 94. When the Enter Document button 92 is pressed, the CPU 64 responds to the resulting command signal by displaying the prompt "Enter document URL" on the LED display 80. The user may then utilize the keyboard 94 to enter a document URL in the selection position of the LED display 80 and press the Select button 88 to select the entered document
305 for retrieval and printing. The printer 50 may again prompt the user for a number of copies to be printed as described above. The keyboard 94 may be a full keyboard of alphanumeric characters or may be any other type of input device designed to allow a user to input or select the characters necessary to represent typical network addresses.
310 As allowed by the implementation of the present invention, a document entered from the printer keyboard may be added to the document list stored in the mapped portion 73 of the signal memory 72. A printer of such an
embodiment may prompt the user for a document title to be added to the list along with the already-entered document URL. This would allow future users
315 to select that document from the document list without having to know the document's URL.
Figure 7 illustrates the flow of the software routine 96 which is executed by the printer 50 in implementing the embodiment of the present invention illustrated in figure 6. This routine is necessarily one of many software routines
320 resident in the printer 50 of the present invention and may be executed by the signal processor 62 from time to time in round-robin fashion with the other software routines. Alternatively, the software routine of the present invention may be entered on an interrupt basis when either of the Document List 82 or Enter Document 92 buttons is pressed.
325 By one method or another, control is passed to the software routine 96 at
98 and the software routine 96 checks 100 for the entry of either the Document List button 82 or the Enter Document button 92. If neither button has been pressed then the software routine 96 simply exits 102.
If one of the buttons has been pressed, the software routine 96 checks
330 104 to see if the Document List button 82 was pressed. If the Document List button 82 has been pressed, the software routine 96 accesses 108 the mapped, non-volatile portion 73 of the signal memory 72, retrieves 110 the list of PBMs and presents 112 the list to the LED display 80 for viewing by the user. The software routine 96 waits 114 for the user to press the Select button 88.
335 Once the Select button 88 has been pressed, the software routine 96 accepts 1 16 the document title in the selection position of the LED display 80 and uses it as an index into the list of PBMs stored in the mapped, non-volatile portion 73 of the signal memory 72 to retrieve 1 18 the URL or other network address associated with the selected document title. The database indexing and
340 retrieval functions described herein may be implemented using a hashing table, name sort or any other method known by those skilled in the art to be suitable for this application.
The software routine 96 then prompts 120 the user for the number of
copies to print and waits 122 for the user to press the Select button 88. When
345 the Select button 88 has been pressed, the software routine accepts 124 the number in the selection position of the LED display 80. The software routine 96 accesses 126 the network via the communications interface 58 and retrieves the document stored at the selected URL. The retrieval of the document from the specified URL may be accomplished using any method known by those skilled
350 in the art to be suitable for the purpose. The steps of prompting the user for a number of copies and receiving the number may come before or after the step of retrieving the document from the network without departing from the scope of the present invention. Finally, the software routine 96 presents 128 the retrieved document to the printing apparatus 56 to print the requested number of copies
355 and exits 102.
If the software routine 96 determines 104 that the user input was not the Document List button 82 then, by elimination, it must have been the Enter Document button 92. The software routine 96 prompts 132 the user for the document URL and waits 134 for the user to press the Select button 88. Once
360 the Select button 88 has been pressed the software routine 96 accepts 136 the URL from the selection position of the LED display 80. The software routine 96 then continues as described above to prompt 120 the user for a number of copies to print, accept the input number of copies 124, access 126 the network to retrieve the requested document, present 128 the document to the printing
365 apparatus 56 to print the requested number of copies and exit 102. Again, the steps executed by the software routine 96 may be executed in any appropriate order and by any method known by those skilled in the art to be consistent with the scope of the present invention
Alternatively, the present invention may be implemented utilizing the
370 front panel interface provided on a current Lexmark® printer product such as a Lexmark® Optra® S printer. This allows the present invention to be implemented without the expense and effort of designing and building an entirely new printer.
The pertinent parts of the front panel interface of a Lexmark® Optra® S
375 printer are shown in Figure 8 as an alternate embodiment 79D of the user interface 51 of the printer 50. In this implementation, the display 52 is a two (2) line by sixteen (16) character LCD status panel 140. The input device 54 is implemented as two (2) buttons; a "Menu" button 142 and a "Select" button 144. The Menu button 142 is actually a rocker-type button with the left half
380 covering the "Menu(-)" button 145 and the right half covering the "Menu(+)" button 146.
Current Lexmark® Optra® printers provide the user with a series of menus containing choices which allow the user to control the printer functions. The user may scroll through these various menus and menu choices by utilizing
385 the Menu(-) 145 and Menu(+) 146 buttons. Choices presented in the bottom line of the LCD status panel 140 can be selected by pressing the Select button 144.
Implementation of the present invention on a Lexmark® Optra® printer requires only that the list of printer book marks be made available to the user as
390 a menu and that the control algorithm used to direct the printer's CPU be updated to include the functions described herein.
Figure 9 is an illustration of the user inputs and the information displayed on the LCD status panel 140 as a user selects a document to be printed. The LCD status panel 140(a) shows the printer is ready to receive
395 commands. The user presses the Menu(+) button 146 to access the first menu. The name of the first menu appears on the LCD status panel 140(b) as Menu l - Menu l could represent any menu of printer functions. As that is not the menu the user desires to access, the user presses the Menu(+) button 146 again. The name of the second menu appears on the LCD status panel 140(c) and happens
400 to be the Bookmarks menu the user wishes to access. The user presses the
Select button 144. The title of the selected menu moves to the top line of the LCD status panel 140(d) and the first item in the Bookmarks menu, Document l, appears on the bottom line. Document l is not the document the user wishes to print so the user presses the Menu(+) button 146 and the next
405 document in the menu, Document_2, is displayed on the LCD status panel
140(e).
Having found the desired document, the user presses the Select button 144 to select Document_2 for printing. The selected document title moves to the top line of the LCD status panel 140(f) and the message "Copies = 1"
410 appears in the bottom line. The user presses the Select button 144 to have the printer retrieve Document_2 and print one (1) copy 148. If more than one copy is desired, the user may use the Menu(+) button 146 to adjust the displayed number of copies before pressing the Select button 144. If at any time the user desires to move backwards through the list of menus or menu choices or to
415 reduce the displayed number of copies, the Menu(-) button 145 is used instead of the Menu(+) button 146.
In order to facilitate the retrieval of desired documents, the preferred embodiment of the present invention allows the printer bookmarks to be organized in a hierarchical series of folders. Figure 10 is an illustration of a
420 sample set of printer bookmarks organized in such a hierarchical fashion. The Bookmarks block 150 represents the root node of the Bookmarks menu. Below the root node 150, the rectangular nodes; tax forms 152, healthcare forms 154, corporate information 156 and product lines 158, represent folders containing either sub-folders or individual documents. The oval nodes; 1040EZ 160, 1040
425 162, Schedule C 164, surgical form 166, hospitalization 168, job application 170, product_l 172, product_2 174 and company profile 176, represent individual documents which may be printed.
In order the retrieve a particular document, the user utilizes the Menu 142 and Select 144 buttons as described above to traverse the bookmarks menu
430 structure. The folders appear to the user as sub-menus. The use of such a structure allows a user to locate the desired document without having to scroll through each individual document in the list. The documents illustrated here have been organized into folders by subject matter. Other criteria for sorting may be used without departing from the scope of the present invention.
435 An organization's administrator may also elect to make the document list stored on the printer of the present invention available to users remotely via
the network. In such a case, a user would utilize an application resident on their PC to emulate the interface available at the printer's front panel. All selections and printer actions would proceed as previously described with the user's
440 selections and entries forwarded to the printer via the network.
Although the invention has been shown and described with respect to a best mode embodiment and alternate embodiments thereof, it should be understood by those skilled in the art that various changes, omissions, and additions may be made to the form and detail of the disclosed embodiment
445 without departing from the spirit and scope of the invention, as recited in the following claims.