Print Device Proxy
Background
[0001] Print devices, for example a printer, generally receive print data from co-located computing devices. The print date may be received over a wired connection or a wireless connection. In addition to receiving print data from co-located computing devices, print devices with appropriate network access may receive print data from remote sources transmitted to an electronic mail (email) address of the print device,
Brief Description of the Drawings
[0002] Figure 1 illustrates a system in accordance with an example of the present disclosure;
[0003] Figure 2 illustrates an apparatus in accordance with an example of the present disclosure;
[0004] Figure 3 illustrates a system in accordance with an example of the present disclosure;
[0005] Figure 4 illustrates a system in accordance with an example of the present disclosure;
[0006] Figure 5 illustrates a system in accordance with an example of the present disclosure;
[0007] Figures 6-8 illustrate example flow diagrams in accordance with the present disclosure.
Detailed Description
[0008] Print devices such as, but not limited to, printers may include hardware and software to enable network access. The network access may enable the wireless transfer of print data over, for example, a local area network, in addition to the wireless transfer of print data from a computing device located within the same local area network, network enabled print devices may receive print data transmitted to an electronic mail (email) address of the print device.
[0009] The ability to transfer print data via email may simplify a print process and enable numerous client devices to provision print data. For example, a mobile device having email capability may provision print data to a print device by transmitting the print data in an email message addressed to the print device. However, various print devices may not include the hardware or software necessary to enable network access and consequently the receipt of print data via email messages.
[0010] in the present disclosure, various methods, apparatus, and systems are described that enable a print device to receive print data in the form of an email message. The print device may be incapable of receiving print data over a network, such as the Internet. For example, the print device may be a printer having a wired printer interface utilizing a cable such as an RS-232, parallel, Firewire, or Universal Serial Bus (USB), which couples directly to a co- located computing device.
[0011] Referring to Figure 1 , an example system is illustrated in accordance with the present disclosure. The system includes apparatus 100 having a proxy agent 1 10. The apparatus 100 is communicatively coupled to a print device 102 via network 108, and to a server 104 via network 106. The apparatus 100, via proxy agent 1 10, may communicate with server 104 to retrieve data intended for print device 102 and provision the retrieved data to the print device via network 108.
[0012] In the embodiment, print device 102 is a device that outputs print data onto media. An example of a print device is a printer; however, the definition is not so limited. The print device 102 may be configured to receive print data via network 108. Network 108 may be a printer cable, such as, but not limited to a Universal Serial Bus (USB) cable, an R8-232 cable, or a Firewire cable. The print device 102 may be incapable of wireless
communication, in other examples, the print device 102 may be capable of wireless communication, but incapable of communication over an outside network, such as the Internet.
[0013] Server 104 may be a network server disposed on, for example, the Internet. Server 104 may be a cloud server configured to provision computational resources and data via network 106. The server 104 may be disposed at any location and utilize various protocols to communicate with apparatus 100 and print device 102. The network 106 may include various other networks such as local area networks, wide area networks, ad hoc networks, and broadband networks. In an example, server 104 may be a cloud server configured to store email messages intended for a print device, such as print device 102. The server 104 may assign, store, and associate a unique email address or other identifier with print device 102. When an email message is transmitted to the print device 102, the email message may be routed to the server 104 for storage, conversion, and delivery.
[0014] The apparatus 100, in an example, includes a proxy agent 1 10 to act as a proxy for print device 102. Proxy agent 1 10 can be hardware, software, or a combination of the two that communicates with a server on behalf of a print device 102. The proxy agent may be in persistent communication with the server, The apparatus 100, via proxy agent 1 10, is to communicate with server 104 on behalf of print device 102. The apparatus 100 may register print device 102 with server 104, alter various operational settings associated with print device 102, update server 104 on the status of print device 102, and retrieve print data intended for print device 102 that is routed to server 104, among other actions. The apparatus 100 may include additional connections to a computing system such as a desktop or laptop computer. Apparatus 100 may be a standalone device.
[0015] Operational settings are settings associated with the operation of the print device 102. Examples of operational settings include a selection of single-sided output versus double-sided output, color output versus
monochrome output, the availability of media trays, and the availability of media types and sizes. Other operational settings may be specific to the type of print device. The operational settings may be communicated from the print device 102 to the apparatus 100 via network 108, and communicated to the server 104 by the proxy agent 1 10 via network 108.
[0016] Referring to Figure 2, an example apparatus 200 is illustrated in accordance with the present disclosure. The apparatus 200 may be suitable for use as apparatus 100 of Figure 1. In the illustrated example, apparatus 200 includes a proxy agent 202 and a controller 204, Other components may be included without deviating from the scope of the disclosure.
[0017] In the illustrated example, proxy agent 202 is to communicate with a server as a proxy for a print device. A proxy agent may be embodied as an application specific integrated circuit (ASIC), a plurality of programming instructions stored on a computer readable medium that may be executed by a processor, or as a component within a controller, among others, in
communicating with the server, the proxy agent 202 may register a print device, establish a connection with the server, modify various print device settings stored on the server, and update the status of the print device, among other things. The proxy agent 202 may communicate with the server via a variety of interfaces including both wired and wireless interfaces. The proxy agent 202 may include a network interface or alternatively utilize a network interface included within the apparatus 200.
[0018] The controller 204 is coupled to the proxy agent 202 and is to receive print data sent to an email address assigned to the print device via the proxy agent and transmit the print data to the print device. The controller 204 may be embodied in an ASIC, a plurality of programming instructions stored on a computer readable medium that may be executed by a processor, or may be a component within a microcontroller or other component. The controller 204 while illustrated as a separate component from the proxy agent 202 may be integrated into a signal component. [0019] In one example, the controller 204 may receive an email message intended for a print device. The email message may or may not include an attachment. The controller 204 may convert the email message into a print ready file. A print ready file is a file that may be transferred to a print device for output onto print media. That is, the print ready file includes data capable of being processed by the print device without further conversion or modification. In various examples, a print ready file may be associated with Printer Control Languages (PCLs), Post Scripts (PS), and Portable Document Formats (PDFs) among others.
[0020] In another example, the controller 204 may receive an email message intended for the print device as a print ready file. That is, the server 204 may convert the email message into the print ready file and transfer the print ready file to the apparatus 200 via the proxy agent 202. The controller 204 may receive the print ready file and transfer it to the print device for output onto print media. Again, the print ready file may include PCLs, such as PCL3GUI, or other formats and scripts.
[0021] Referring to Figures 3 and 4, additional examples of an apparatus are illustrated in accordance with the present disclosure. The apparatuses 300 and 400 include components generally similar to those discussed with reference to Figure 2. The apparatus 300 and 400 include a proxy agents 302, 402 coupled to controllers 304, 404, respectively, in addition to the proxy agents 302, 402 and the controllers 304, 404, the apparatuses 300 and 400 include print device Interfaces 306, 406, respectively.
[0022] Proxy agents 302, 402 and the controllers 304, 404 may operate in a similar manner to those discussed with reference to Figure 2. The proxy agents 302, 402 may communicate with a server as a proxy for a print device. The controllers 304, 404 may receive email messages or print ready files (e.g. print data) associated with email messages sent to email addresses assigned to the print device. The controllers 304, 404 may then transmit either the email message or the print ready file to the print device as print data.
[0023] The print device interfaces 306, 408 of Figures 3 and 4 are components that enable apparatuses 300, 400 to interface with print devices. The print device interfaces 308, 408 may include both hardware and software components. In various examples, the print device interfaces 306, 406 are coupled to the controllers 304, 404 and communicate print data to a print device, such as a printer. Communication may include both one-way and two- way signal transmission.
[0024] Referring to Figure 3, print device interface 306 is coupled to print device 308 via network 310. Network 310 is a wired connection thai may, in various examples, be an RS-232 connection, a USB connection, a Firewire connection, or a parallel connection. Other connections are contemplated, in the embodiment, the proxy agent 302 is to communicate with a server as a proxy for the print device 308. The controller 304 is to receive an email message sent to an email address assigned to the print device 308, and transmit the email message to the print device 308 via the print device interface 306 and network 310.
[0025] in another example, the proxy agent 302 is to receive a print ready file associated with an email message sent to an email address associated with the print device 308. The controller 304 is to receive the print ready file and transmit the print ready file to the print device 308 via the print device interface 306 and network 310.
[0026] Referring to Figure 4, print device interface 406 is coupled to print device 408 via network 410. Network 410 is a wireless network such as a wireless local area network (WLAN). Network 410 may utilize various protocols to transfer print data to print device, In the embodiment, the proxy agent 402 is to communicate with a server as a proxy for the print device 408. The controller 404 is to receive print data sent to an email address assigned to the print device 408, and transmit the print data to the print device 408 via the print device interface 406 and network 410.
[0027] Referring to Figure 5, a system is illustrated in accordance with the present disclosure. Figure 5 includes various components communicatively coupled to one another via various networks. Figure 5 includes a sending device 518, a server 514, apparatus 500, and print devices 510 and 512. The apparatus 500 includes similar components to those described with reference to Figures 2-4 and is a device suitable for use as apparatus 100 in Figure 1 .
[0028] Sending device 518 is a device configured to transmit email message 520. Sending device 518 may be a computing device, such as a notebook computer, a desktop computer, a cellular phone, a smart phone, a netbook computer, a digital camera, or any other device capable of transmitting electronic mail or digital messages via a network, in the illustrated example, sending device 518 transmits an email message 520 to print device 510. The email message 520 includes data intended to be output by print device 510. The email message 520 may include an attachment and/or data within the body of the email message 520.
[0029] The email message 520 is routed to server 514 disposed on a network, for example, the Internet. The email message 520 may have been transmitted via various networks including local area networks, wide area networks, metropolitan area networks, and ad hoc networks, among others. The server 514 may parse email message 520 to determine an intended recipient. The server 514 may additionally convert the email message 520 and any attachments into a print ready file.
[0030] The apparatus 500 includes a proxy agent 502, a controller 504, and a print device interface 506. The proxy agent 502, as previously described, may communicate with the server 514 via communications 516. The proxy agent 502 may communicate a status of a print device 510 to server 514, and additionally may query server 514 for a print job. In response to a determination that a print job is queued within server 514, the server may transmit the print ready file to the apparatus 500 via communications 516.
[0031] The apparatus 500, via controller 504, may receive the print ready file. Based on the print ready file, the controller 504 may determine the intended print device and transfer the print ready file to the appropriate print device via a print device interface 506 and network 508. in the illustrated example, more than one print device is coupled to the apparatus 500 via network 508, each having a unique email address. Apparatus 500 via proxy agent 502, controller 504, and print device interface 508 is capable of representing, communicating, and otherwise provisioning print data to the multiple devices.
[0032] Referring to Figures 6-8, various flow diagrams are illustrated in accordance with the present disclosure. The figures should not be construed to require that each and every element be present in all examples, or that the elements are order dependent. Rather, those of ordinary skill in the art will understand that the illustrated figures are merely exemplary and that other combinations are possible without deviating from the scope of the disclosure.
[0033] Referring to Figure 8, the method may begin at 600 and progress to 602 where an apparatus may establish a communication link with a server as a proxy for a print device. In the example, a print device may be incapable of establishing a link with a server disposed, for example, on the Internet. In response, the apparatus may establish a link on behalf of the printer, e.g., as a proxy. The communication link may be defined as a one-way or two- transmission with a server.
[0034] in response to establishment of a link, the apparatus or computing device, may receive print data from the server, wherein the print data was routed to the server as an email message sent to an email address associated with the print device at 604. For example, as illustrated in Figure 5, a sending device may route an email message to a print device with the intention of having the print device output the email message on print media. The print data may be in the form of a print ready file, or alternatively, an email message.
[0035] in response to receipt of the print data, the computing device may transfer the print data to the print device via a network at 606. The transfer may be through a wired or wireless network. In response to transfer of the print data, the method may end at 608.
[0038] Referring to Figure 7, another flow diagram is illustrated in accordance with the present disclosure. The method may begin at 700 and progress to 702 where an apparatus may establish a communication link with a server as a proxy for a print device, in the example, a print device may be incapable of establishing a link with a server disposed, for example, on the Internet. In response, the apparatus may establish a link on behalf of the printer, e.g., as a proxy. Again, the communication link may be defined as a one-way or two-transmission with a server.
[0037] Based on the established communication link, the apparatus may register the email address associated with the print device with the server at 704. In an example where more than one print device is coupled to the apparatus, the apparatus may register more than one email address with the server. Registering an email address may include correlating an email address with an Internet protocol address (IP address) of the apparatus that is acting as the proxy for the print device.
[0038] At 706, the apparatus may query the server to determine whether any print data is currently stored and/or associated with an email address of a print device. In response to a determination that print data is available, the apparatus may retrieve the print data from the server at 708. in response to receipt of the print data, the apparatus may transfer the print data to the print device via a network at 710. The transfer may be through a wired or wireless network. After transfer of the print data, the apparatus may determine a status of print device. That status may indicate a power state, an operational state, or any other state associated with the print device at 712. The apparatus may then communicate this status to the server in order to update the server. The method may then end at 714.
[0039] Referring to Figure 8, the flow diagram may begin at 800 and progress to 802 where an apparatus may establish a communication link with a server as a proxy for a print device. In the example, the print device may be incapable of establishing a link with a server disposed, for example, on the Internet, in response, the apparatus may establish a link on behalf of the printer, e.g., as a proxy. The communication link may be defined as a one-way or two-transmission with a server.
[0040] in response to establishment of a link, the apparatus may receive print data from the server, wherein the print data was routed to the server as an email message sent to an email address associated with the print device at 804, For example, as illustrated in Figure 5, a sending device may route an email message to a print device with the intention of having the print device output the email and or its attachments onto print media.
[0041] In an example where more than one print device is coupled to the apparatus, the apparatus may determine the print device intended to receive the print data at 806, in response to the determination at 806, the apparatus may transfer the print data to the appropriate print device at 808. The transfer may he through a wired or wireless network. In response to transfer of the print data, the method may end at 810.
[0042] Although certain embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent embodiments or implementations calculated to achieve the same purposes may be substituted for the
embodiments shown and described without departing from the scope of this disclosure. Those with skill in the art will readily appreciate that embodiments may be implemented in a wide variety of ways. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that embodiments be limited only by the claims and the equivalents thereof.