The present invention is generally related to the field of printing and, more particularly, is related to a system and method for configuring a printing system for printing using electronic mail to print to a printer.
Recent years have seen a proliferation of portable electronic devices such as personal digital assistants (PDA's), cellular telephones, and/or other portable electronic devices. For example, personal digital assistants are now available such as the HP Jornada manufactured by Hewlett-Packard Company based in Palo Alto, Calif., or the Blackberry™ manufactured by Research in Motion™ Limited based in Ontario, Canada as well as other brands. These mobile devices offer a range of capabilities, including mobile calendars, organizing capabilities, and electronic mail received and transmitted via a mobile pager network or other mobile networks, etc.
Unfortunately, these devices are typically limited in their capabilities due to the fact that they are limited in their processing capacity and memory size. For example, many such devices cannot execute the many different applications that are available for the average personal computer. Specifically, such devices may not be able to implement word processors or other extensive applications.
When it comes to activities such as printing, etc., such devices typically are unable to perform various tasks such as rendering documents in printer compatible form, etc. This fact can severely impact the usefulness of such devices. For example, a user may find themselves in the situation where they are standing in front of a printer with their personal digital assistant in hand and a document stored thereon that they wish to print. Unfortunately, in such a circumstance, the user may be prevented from printing a document with the printer due to the limited capability of the personal digital assistant.
In another situation, a user may find themselves visiting customers outside of their normal office where their own personal computer or company network reside. At such time, there may be a document that the user wishes to print out for his or her customers that is stored in a server or on the personal computer back at their office. Today's personal digital assistants lack the capability to interact with the network back at the office in order to obtain the document in electronic form. Also, assuming the user obtains the document, they are still faced with the difficulty of printing it out.
In yet another situation, a user may have a laptop computer that has the computing capacity to perform the tasks necessary to print a document. However, the user may be in a location where they do not have access to their usual printer. In such a case, the user may be prevented from printing to any available printer because it is a different model that requires a rendering service or driver that is not stored on their laptop.
In view of the foregoing, one potential printing solution for personal digital assistants is to employ electronic mail (“email”) or equivalent system as a transport mechanism between a personal digital assistant and an automated print agent that facilitates email printing. In this respect, an email and any attached documents that are received by the automated print agent are printed on a designated printer specified in the email. However, in some cases, a particular printer may not be configured in the email printing system.
To remedy such a situation, the present invention provides for a system, method, and program embodied on a computer readable medium for configuring the automated print agent for printing. In one embodiment, a printer configuration method is provided that comprises receiving an email print message addressed to a network alias, the network alias being associated with an automated print agent employed for performing an email print, identifying a printer specified in the email print message, determining if the automated print agent is configured for printing to the printer, and, automatically configuring the automated print agent to print to the printer upon a determination that the automated print agent is not configured to print to the printer.
According to another embodiment, the present invention provides for a program embodied in a computer readable medium for printer configuration. In this regard, the program comprises code that identifies a printer designated in an email print message addressed to a network alias, the network alias being associated with an automated print agent employed for performing an email print, code that determines if the automated print agent is configured for printing to the printer, and, code that automatically configures the automated print agent to print to the printer upon a determination that the automated print agent is not configured to print to the printer.
A system for printer configuration, comprising means for identifying a printer designated in an email print message addressed to a network alias, the network alias being associated with an automated print agent employed for performing an email print, means for determining if the automated print agent is configured for printing to the printer, and, means for automatically configuring the automated print agent to print to the printer upon a determination that the automated print agent is not configured to print to the printer.
Other features and advantages of the present invention will become apparent to a person with ordinary skill in the art in view of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention.
The invention can be understood with reference to the following drawings. The components in the drawings are not necessarily to scale. Also, in the drawings, like reference numerals designate corresponding parts throughout the several views.
With reference to
Although the network 106 is shown as separate from the local area network 109 and linked thereto by the gateway 113, it is understood and can be appreciated by those with ordinary skill in the art that both networks may be viewed as a single network, such depiction shown in
The remote print network 100 also includes the mobile print appliance 116, a network resource database 119, and a print client 123 with an attached local printer 126. In addition, the remote print network 100 may further comprise a print server 129 and a network printer 133 associated therewith, both the print server 129 and the network printer 133 being coupled to the local area network 109. The network resource database 119 may be maintained within a computer system that is coupled to the local area network 109. Likewise, the print server 129, print client 123, mobile print appliance 116, and the gateway 113 may all comprise a computer systems or devices with like capability. Within the remote device 103 is an electronic mail (“email”) system 136. As contemplated herein, an email system or email server is a system that facilitates the exchange or text messages and computer files over a communications network such as the local area network 109 or the network 106. In this regard, such systems may employ the Simple Mail Transfer Protocol that is a Transmission Control Protocol/Internet Protocol (TCP/IP) for sending messages from one computer to another on a network. The gateway 113 includes an email server 139. The email system 136 may comprise, for example, one of several commercially available email systems such as Microsoft Outlook created by Microsoft Corporation of Redmond, Washington or equivalent email systems that are generally known by those with ordinary skill in the art.
The mobile print appliance 116 includes an automated print agent 143. The automated print agent 143 is similar in many respects to the automated print agent disclosed in co-pending United States Patent Application entitled “System and Method for Mobile Printing” filed on even date herewith assigned Ser. No. 09/884,593 the entire text and drawings of which are incorporated herein by reference. The automated print agent 143 includes an agent email server 146, a printer directory 149, and a printer registrar 153. The mobile print appliance 116 also includes a rendering application 156 that performs functionality similar in nature to the rendering applications discussed in the above reference U.S. patent application.
The remote print network 100 is employed to facilitate email printing. Specifically, a user of the remote device 103 may manipulate the email system 136 to generate an email print message that is transmitted to the agent email server 146 in the automated print agent 143. In this respect, the email print message that is generated by the email system 136 is addressed using a network alias that is associated with the automated print agent 143. A domain name that is unique to both the network 106 and the local area network 109 is associated with the automated print agent 143, wherein all email messages that are transmitted using the domain name are directed to the agent email server 146. The network alias that is employed to address the email print message in the remote device 103 includes the domain name that is associated with the automated print agent 143. In this manner, the email print message is thus directed to the agent email server 146 of the automated print agent 143.
According to another aspect of the present invention, the email print message generated by a user who manipulates the email system 136 of the remote device 103 includes a printer identifier that is associated with a printer coupled to the local area network 109. In this manner, a user of the remote device 103 identifies the precise printer coupled to the local area network 109 or other network upon which they wish to print a particular document.
Next a general description of the printing of a specific document using the email system 136 in the remote device 103 is provided as an illustration with which to better understand the present invention. In particular, the remote device 103 may be a personal digital assistant or other such device that lacks either the computing power to render and/or print a document stored thereon or lacks the application such as an appropriate driver necessary to perform such tasks. The personal digital assistant may also lack an ability to communicate directly with a printer through either a hardwire connection or wireless connection.
Assume, for example, that a user of the remote device 103 is standing in front of the network printer 133 and wishes to print a document stored within the remote device 103 on the network printer 133. The user then generates the email print message using the email system 136 and attaches any documents thereto for printing. Included within the email print message is the printer name of the network printer 133 on the local area network 109. The printer name may comprise a combination of the name of the print server 129 associated with the network printer 133 and the name of the network printer 133 itself as is generally understood by those with ordinary skill in the art.
The email print message is then transmitted along with any attached documents to the agent email server 146 within the automated print agent 143. A network alias is employed, for example, to address the email print message. The network alias includes the domain name of the agent email server 146 so that the email print message is properly routed through the network 106, the gateway 113, and the local area network 109 to the agent email server 146. Upon receiving the email print message, the agent email server 146 causes the automated print agent 143 to perform such tasks as are necessary to print the document and the email on the network printer 133. In this respect, the automated print agent 143 is defined herein as a system that provides for automated email printing including the printing of an email message and all documents attached thereto given that the email print message is addressed to the automated print agent 143. The specific steps and/or logic employed within the mobile print appliance 116 to accomplish such task is described in greater detail with reference to co-pending United States Patent Application entitled “System and Method For Mobile Printing” filed on even date herewith and assigned Ser. No. 09/884,593. In this respect, the specific functionality of the automated print agent 143 in performing the specific functions necessary to print the attached document on the network printer 133 are not described in detail. Also, it is understood that the mobile print appliance 116 provides one example of an implementation of email printing, where other network configurations in which the automated print agent 143 and related components are located and executed by devices other than the mobile print appliance 116 as described in the above referenced United States Patent Application.
Also, a user may identify the printer 126 attached to the print client 123 to be used to print the attached document rather than the network printer 133. In this respect, the email print message generated by the user of email system 136 may include the name of the print client 123 on the local area network 109 as well as the designation of the printer 126 in order that the automated print agent 143 may know to print the document to the printer 126.
Assuming no errors, in the above scenario, a user is able to print the email print message and any attached documents accordingly. However, it may happen on some occasions that a user of the remote device 103 may wish to print the email print message and attached documents on a particular printer coupled to the local area network 109 or other applicable network, but the automated print agent 143 may not be configured to print to the chosen printer. Such a printer may be directly coupled to the local area network 109 directly such as the network printer 133 or indirectly such as the printer 126 locally attached to the print client 123.
In particular, upon receiving an email print message, the automated print agent 143 then determines which one of the printers coupled to the local area network 109 or other network accessible by the mobile print appliance 116 is to be employed to print the email print message and any attached documents. In making this determination, the automated print agent 143 consults with the printer directory 149 that lists all of the printers and their locations on the local area network 109 or other network to which it may print. Upon finding the printer designated by the email print message in the printer directory 149, the auto print agent 146 then proceeds to perform the functions necessary to print the email print message and attachments on the designated printer. Thus the auto print agent 146 is configured to print to a particular printer 126/133 when such printer 126/133 is listed in the printer directory 149. In this respect, the printer directory 149 provides all necessary information, including, the location on the local area network 109 or other network of any printer driver that is to be employed to render the document into the language native to the respective printer for printing, etc. Among other aspects, the present invention provides the capability of automatically configuring the automated print agent 143 to print to a predefined printer in circumstances where the automated print agent 143 is not configured to print to such printer.
In doing so, the automated print agent 143 executes the printer registrar 153 that performs the specific functions of automatically configuring the automated print agent 143 in such circumstances. The printer registrar 153 then identifies the respective printer from the email print message upon which the email print message and attached documents are to be printed. Once the name of the printer on the local area network 109 or other network is known, the printer registrar 153 then proceeds to determine whether the respective printer actually exists on the local area network 109 or other network. This may be done, for example, by consulting with the network resource database 119 that includes information about the local area network 109 such as a list all of the devices attached thereto.
Assuming that the particular printer exists on the local area network 109 or other network, the printer registrar 153 then registers such printer into the printer directory 149 by writing the various parameters to the printer directory 149 in a memory of the mobile print appliance 116. Thereafter, the automated print agent 143 then initiates all functions necessary to print the document on the respective printer according to its normal mode of operation.
With reference to
Stored on the memory 166 and executable by the processor 163 are an operating system 176, the automated print agent 143, and the rendering application 156. Within the automated print agent 143 is the agent email server 146, the printer directory 149, and the printer registrar 153. Note that other systems and/or components may be stored on the memory 166 and executable by the processor 163 as can be appreciated by those with ordinary skill in the art. In particular, the mobile print appliance 116 may comprise, for example, a computer system or other device with like capability as can be appreciated by those with ordinary skill in the art.
The operating system 176 is executed, for example, to control the allocation and usage of hardware resources in the mobile print appliance 116. Specifically, the operating system 176 controls the allocation and usage of various portions of the memory 166, processing time, and the peripheral devices as well as performing other functionality. In this manner, the operating system 176 serves as the foundation on which applications depend as is generally known by those with ordinary skill in the art.
The memory 166 may include both volatile and nonvolatile memory components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 166 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, floppy disks accessed via an associated floppy disk drive, compact discs accessed via a compact disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
In addition, the processor 163 may represent multiple processors and the memory 166 may represent multiple memories that operate in parallel. In such a case, the local interface 169 may be an appropriate network that facilitates communication between any two of the multiple processors, between any processor and any one of the memories, or between any two of the memories etc. The processor 163 may be, for example, electrical or optical in nature.
With reference then to
Beginning with box 203, the printer registrar 153 first determines whether an email print message with any attachments has been received from the remote device 103 or other device to be printed. This is determined when the agent email server 146 receives such email print messages. The email print message is addressed to the agent email server 146 by including the domain name in the network alias employed as the address of the agent email server 146.
When such an email print message 203 has been received, the printer registrar 153 then proceeds to box 206 in which a printer network identifier associated with the respective printer to be employed for printing is obtained from the email print message itself. The printer network identifier may be, for example, a uniform naming convention (UNC) identifier or a uniform resource identifier (URI) associated with the respective printer.
The printer network identifier of the printer may be obtained from the network alias that was employed to address the email print message 203. For example, if the domain name associated with the agent email server 146 is employed in the network alias, then the email print message can be directed to the agent email server 146 regardless of the first name portion of the network alias.
To be more specific, assume that a particular printer is identified as “printer1” and that the printer is associated with a print server named “server1.” Also, assume that the domain name associated with the automated print agent 143 is “apa.com.” Therefore, the network alias might be, for example, “server1.printer1@apa.com”. Alternatively, the network alias may be “http://www.corporation.com/printer1@apa.com”, thereby identifying the URI of the specific printer, etc. In this respect, the network alias identifies the particular printer to which the email print message 203 is directed based upon the first portion of the network alias. At the same time, the domain name “apa” ensures that regardless of the first portion of the network alias, the email print message is always received by the agent email server 146. However, alternatively, the printer network identifier of the respective printer on the local area network 109 or other network may be included anywhere within the email print message as can be appreciated by those with ordinary skill in the art. In such case, the email print message is generated in light of predetermined protocols so that the printer registrar 153 may recognize which portion of the email print message 203 is in fact the printer network identifier of the respective printer.
Once the printer network identifier of the respective printer to which the email print message is directed is known, then the printer registrar 153 proceeds to box 209 in which it checks the printer directory 149 (
On the other hand, if in box 213 the printer is not listed in the printer directory 149, then the printer registrar 153 proceeds to box 219 to determine if the respective printer even exists on the local area network 109 or other network accessible to the printer registrar 153. This may be determined, for example, by interfacing with an appropriate network resource database 119 that keeps track of all devices located on the local area network 109, etc. Such may be the function of appropriate network administrator software such as, for example, network operating systems such as Windows and Unix as can be appreciated by those with ordinary skill in the art.
Note that such an inquiry may be made because the precise name of the printer 126/133 as well as the name of any associated print server 129 (
However, if in box 223 the printer does exist on the local area network 109 as it was discovered in the network resource database 119, then the printer registrar 153 proceeds to box 229 to register the printer in the printer directory 149. In registering the printer in the printer directory 153, the printer registrar 153 may include information such as, for example, the name of any associated print server 129 (FIG. 1), the name of any associated print client 123, the name of the respective printer 126/133, the name of the printer driver necessary to communicate with the respective printer 1261133, and any other information that may be employed in printing the email print message and any documents attached thereto. Thereafter, the printer registrar 153 proceeds to box 216 in which the functions within the automated print agent 143 are initiated to actually cause the printing of the document on the identified printer. By virtue of the printer registrar 153, the automated print agent 143 is thus automatically configured to print to printers for which it was previously not configured.
Although the printer registrar 153 of the present invention is embodied in software or code executed by general purpose hardware as discussed above, as an alternative the printer registrar 153 may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, the printer registrar 153 can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, programmable gate arrays (PGA), field programmable gate arrays (FPGA), or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
The flow chart of
Although the flow chart of
Also, where the printer registrar 153 comprises software or code, it can be embodied in any computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system. In this sense, the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present invention, a “computer-readable medium” can be any medium that can contain, store, or maintain the printer registrar 153 for use by or in connection with the instruction execution system. The computer readable medium can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, or compact discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
Although the invention is shown and described with respect to certain preferred embodiments, it is obvious that equivalents and modifications will occur to others skilled in the art upon the reading and understanding of the specification. The present invention includes all such equivalents and modifications, and is limited only by the scope of the claims.
Number | Name | Date | Kind |
---|---|---|---|
5283887 | Zachery | Feb 1994 | A |
5406557 | Baudoin | Apr 1995 | A |
5418908 | Keller et al. | May 1995 | A |
5436960 | Campana, Jr. et al. | Jul 1995 | A |
5781901 | Kuzma | Jul 1998 | A |
5832191 | Thorne | Nov 1998 | A |
5838252 | Kikinis | Nov 1998 | A |
5844969 | Goldman et al. | Dec 1998 | A |
5903723 | Beck et al. | May 1999 | A |
5905777 | Foladare et al. | May 1999 | A |
5937162 | Funk et al. | Aug 1999 | A |
5958006 | Eggleston et al. | Sep 1999 | A |
5964833 | Kikinis | Oct 1999 | A |
5974449 | Chang et al. | Oct 1999 | A |
5978837 | Foladare et al. | Nov 1999 | A |
5995597 | Woltz et al. | Nov 1999 | A |
6023700 | Owens et al. | Feb 2000 | A |
6035104 | Zahariev | Mar 2000 | A |
6073165 | Narasimhan et al. | Jun 2000 | A |
6160631 | Okimoto et al. | Dec 2000 | A |
6182059 | Angotti et al. | Jan 2001 | B1 |
6219694 | Lazaridis et al. | Apr 2001 | B1 |
6256666 | Singhal | Jul 2001 | B1 |
6275848 | Arnold | Aug 2001 | B1 |
6360252 | Rudy et al. | Mar 2002 | B1 |
6785015 | Smith et al. | Aug 2004 | B1 |
Number | Date | Country |
---|---|---|
0665486 | Aug 1995 | EP |
0772327 | May 1997 | EP |
0855821 | Jul 1998 | EP |
0950969 | Oct 1999 | EP |
Number | Date | Country | |
---|---|---|---|
20020191211 A1 | Dec 2002 | US |