Abstract:
A remote server and network connectable printer arrangement is provided. The remote server can send a job availability message via a first communication protocol to the network connectable printer to cause the network connectable printer to establish a network connection. The remote server may then send a print job to the network connectable printer over the network. The network connectable printer may then print the print job and then terminate the connection thereafter.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is a Continuation of U.S. patent application Ser. No. 13/247,158, filed Sep. 28, 2011, entitled “MANAGING NETWORK CONNECTIONS”, issued as U.S. Pat. No. 9,036,185 on May 19, 2015, which is hereby incorporated by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    Certain network-connectable printers are capable of sending and receiving communications and printable content via the Internet without being connected to a desktop computer, laptop computer, or other host computing device. Such functionality can provide considerable flexibility and efficiencies for a user, as the user may have the ability to download and print content at familiar and unfamiliar printers without the complication of first establishing a connection with a host. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0003]    The accompanying drawings illustrate various embodiments and are a part of the specification. The illustrated embodiments are examples and do not limit the scope of the claims. Throughout the drawings, identical reference numbers designate similar, but not necessarily identical elements. 
           [0004]      FIGS. 1-6  are block diagrams illustrating systems according to various embodiments. 
           [0005]      FIG. 7  is a flow diagram depicting steps taken to implement various embodiments. 
       
    
    
       [0006]    The same part numbers designate the same or similar parts throughout the figures. 
       DETAILED DESCRIPTION OF EMBODIMENTS 
       [0007]    Internet-connectable printers are frequently configured to have an “always-on” connection to a remote server or server system via the internet, e.g., over a Transmission Control Protocol (“TCP”) based or Extensible Messaging and Presence Protocol (“XMPP”) based connection. The printer establishes an internet connection on printer boot and may retain the connection with the remote server system through the operating lifetime of the printer. 
         [0008]    While the “always on” connection has the attribute of an established connection to the remote server system, such a connection consumes network bandwidth even at times the printer is inactive. From a server system perspective, these bandwidth costs can significantly impact scalability as the server system may be simultaneously connected with millions of network-connectable printers. From the perspective of the network-connectable printer, another disadvantage of the “always on” printer is that it will draw more power to maintain an active state, and thus may be more expensive to operate, than a standalone printer that is routinely turned off between print jobs. Further, an “always on” network-connected printer can be more susceptible to security attacks than a printer that is turned off between print jobs. 
         [0009]    Accordingly, various embodiments described herein were developed in an effort to allow internet-connectable printers to connect to the internet when a print job arrives at the remote server for printing at the printer. It should be noted that while the disclosure is discussed frequently with reference to internet-connectable printers, the teachings of the present disclosure are not so limited and can be applied to any network-connectable printer. According to embodiments described herein, a message is received at a network-connectable printer, from a first computer system, via a first communication protocol. In response to receipt of the message, a connection is established via a second communication protocol between the printer and the network. A print job is received at the printer via the connection, and is caused to print at the printer. After the print job is printed, the connection is terminated. By limiting network connectivity in this manner, the printer is protected from security threats and, consumes less power, and the remote server system frees up bandwidth, as compared to systems that have printers connected to the network via an “always on” architecture. 
         [0010]    As used herein, a “network-connectable printer” refers to a printer that can be connected to a network, to be capable of obtaining content, sending and receiving messages, accessing network content, and/or accessing applications via a network. In examples, the network may be a proprietary network, a secured network, an open network, an intranet, an extranet, an internet or the Internet. “Printer” or “printing device” refers to any electronic device that prints and includes multifunctional electronic devices that perform additional functions such as scanning and/or copying. An “instant message” refers to a message sent via a real-time text or other messaging system. 
         [0011]      FIG. 1  is a block diagram illustrating a system according to various embodiments.  FIG. 1  includes particular components, modules, etc. according to various embodiments. However, in different embodiments, more, fewer, and/or other components, modules, arrangements of components/modules, etc., may be used according to the teachings described herein. In addition, various components, modules, etc. described herein may be implemented as one or more software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), embedded controllers, hardwired circuitry, etc.), or some combination of these. 
         [0012]      FIG. 1  shows a printer  102  and computer system  104  connected to a network  106 . Printer  102  represents generally a computing device that is operable to produce printed output and to send and receive communications and content to each other over the network  106 . Computer system  104  represents generally any computing device or group of computing devices capable of sending network requests and content to, and otherwise communicating with printer  102 . In embodiments, computer system  104  may be or include a server, desktop computer, laptop computer, mobile computing device, tablet computer, and/or any other computing device. 
         [0013]    Computing device  104  includes a connection management service  108 . Connection management service  108  represents generally any combination of hardware and programming configured to manage connections between a printer and a network in order that the printer can receive print jobs. In one example, a connection management service  108  at printer  102  receives a message from computer system  104  via a first communication protocol that is temporary and/or requires less printer  102  and computer system  104  processing resources as compared to the protocol by which the printer  102  receives print jobs. In an example, the first protocol may be a Short Message Service (“SMS”) protocol or other text messaging protocol. The received message instructs printer  102  to establish a connection between printer  102  and network  106  via a second communication protocol, e.g., XMPP protocol or a TCP based Session Initiation Protocol (“SIP”) protocol. In response to receipt of the message, connection management service  108  establishes the connection. After establishment of the connection, connection management service  108  receives a print job via the connection, and causes the print job to print at printer  102 . After printing of the print job, connection management service  108  terminates the connection. 
         [0014]    The functions and operations described with respect to computer system  102  may be implemented as a computer-readable storage medium containing instructions executed by a processor (e.g., processor  110 ) and stored in a memory (e.g., memory  112 ). In a given implementation, processor  110  may represent multiple processors, and memory  112  may represent multiple memories. Processor  110  represents generally any instruction execution system, such as a computer/processor based system or an ASIC (Application Specific Integrated Circuit), a computer, or other system that can fetch or obtain instructions or logic stored in memory  112  and execute the instructions or logic contained therein. Memory  112  represents generally any memory configured to store program instructions and other data. 
         [0015]      FIG. 2  is a block diagram that includes a network-connectable printer  202  according to various embodiments.  FIG. 2  includes particular components, modules, etc. according to various embodiments. However, in different embodiments, more, fewer, and/or other components, modules, arrangements of components/modules, etc. may be used according to the teachings described herein. In addition, various components, modules, etc. described herein may be implemented as one or more software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), embedded controllers, hardwired circuitry, etc.), or some combination of these. 
         [0016]      FIG. 2  shows printer  202  and server system  204  connected to internet  206 . Printer  202  is shown to include a network interface  214 , print component  216 , and a connection management service  208 . Network interface  214  represents generally any combination of hardware and programming configured for electronically connecting printer  202  to the internet  206 . Print component  216  represents generally any combination of hardware and programming configured to produce printed output. 
         [0017]    Connection management service  208  represents generally any combination of hardware and programming configured to manage connections between printer  202  and network  206  in order that the printer will receive print jobs. Connection management service  208  includes a message receipt module  218 , connection establishment module  220 , job receipt module  222 , print module  224 , and connection termination module  226 . 
         [0018]    Message receipt module  218  receives a message  228  from smart phone computing system  230 , via a SMS text messaging protocol. In this example, the message  228  instructs printer  202  that a print job  232  is available to be obtained from server system  204  via the internet  206 . In this example, the job available message  228  was received at smart phone  230  from server system  204 , which stores, at job storage module  234 , print jobs to be distributed to internet connected printers. 
         [0019]    Connection establishment module  220 , in response to receipt of the job available message  228  via SMS, establishes a connection  236  between the printer  202  and the internet  206  via the XMPP communication protocol. In other examples, the connection may be a TCP based SIP protocol, or other communication protocol appropriate for transporting print jobs and operating communications between printer  202  and server system  204 . 
         [0020]    After the establishment of the XMPP connection  236 , job receipt module  222  receives the print job  232  via the connection. After receipt of the print job  232 , print module  224 , in conjunction with print component  216 , causes printing of the print job  232  at printer  202 . In this example, immediately after printing of the job  238 , connection termination module  226  terminates the XMPP connection  240 . In other examples, the XMPP connection  240  is terminated after printer  202  prints the print job  238  and performs post-printing operations such as sending data relating to the printing of the job  238  to server system  204 , and/or performing a calibration routine. 
         [0021]    Smart phone  230  represents generally any mobile or portable computing device capable of communicating with printer  202 . In this example, the job available message  228  is communicated by smart phone  230  via SMS protocol. In embodiments, the communication may be via a Bluetooth® connection, infrared connection, Wi-Fi™ connection, or a connection via another communication protocol that is distinct from the XMPP protocol used in establishing the connection  236 . 
         [0022]    The functions and operations described with respect to connection management service  208  and printer  202  may be implemented as a computer-readable storage medium containing instructions executed by a processor (e.g., processor  210 ) and stored in a memory (e.g., memory  212 ). In a given implementation, processor  210  may represent multiple processors, and memory  212  may represent multiple memories. 
         [0023]      FIG. 3  is a block diagram illustrating a system according to various embodiments.  FIG. 3  includes particular components, modules, etc. according to various embodiments. However, in different embodiments, more, fewer, and/or other components, modules, arrangements of components/modules, etc. may be used according to the teachings described herein. In addition, various components, modules, etc. described herein may be implemented as one or more software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), embedded controllers, hardwired circuitry, etc.), or some combination of these. 
         [0024]      FIG. 3  shows printer  302  and server system  304  connected to internet  306 . Printer  302  is shown to include a network interface  314 , print component  316 , and a connection management service  308 . Network interface  314  represents generally any combination of hardware and programming configured for electronically connecting printer  302  to the internet  306 . Print component  316  represents generally any combination of hardware and programming configured to produce printed output. 
         [0025]    Connection management service  308  represents generally any combination of hardware and programming configured to manage connections between printer  302  and internet  306  in order that the printer will receive print jobs via the internet. Connection management service  308  includes subscription module  342 , message receipt module  318 , connection establishment module  320 , job receipt module  322 , print module  324 , and connection termination module  326 . 
         [0026]    Subscription module  342  sends a subscription message  344  to server system  304 . The message  344  subscribes or registers internet-connectable printer  302  with a subscription registry  348  at server system  304 . In an example, the subscription message  344  is sent as a result of a user or administrator instruction made at a touchpad or other user interface at printer  302 . The subscription message  344  may be sent via any networking protocol, including but not limited to Transmission Control Protocol/Internet Protocol (“TCP/IP”), HyperText Transfer Protocol (“HTTP”), Simple Mail Transfer Protocol (“SMTP”), Extensible Messaging and Presence Protocol (“XMPP”), and/or Session Initiation Protocol (“SIP”). In another embodiment, the subscription message may be sent to server system  304  as a result of a user or administrator instruction made at a computing device distinct from printer  302 , e.g., a desktop computer, laptop computer, table computer, mobile computing device, or other computing system that is connected to internet  306 . After registration, server system  304  sends a job available message  328  to internet-connectable printer  302  whenever there is a print job available at server system  334  for download and printing by printer  302 . 
         [0027]    Message receipt module  318  receives a message  328  from server system  304 , via a SMS text messaging protocol. In this example, the message  328  instructs printer  302  that a print job  332  is available to be obtained from server system  304  via the internet  306 . 
         [0028]    Connection establishment module  320 , in response to receipt of the job available message  328  from server system  304  via SMS protocol, establishes a connection  336  between the printer  302  and the internet  306  via SIP over a TCP communication protocol. In other examples, the connection may be a XMPP protocol, or other communication protocol appropriate for transporting print jobs and operating communications between printer  302  and server system  304 . 
         [0029]    After the establishment of the SIP over a TCP connection  336 , job receipt module  322  receives the print job  332  via the connection. After receipt of the print job  332 , print module  324  causes printing of the print job  332  at printer  302 . In this example, connection termination module  326  terminates the SIP over a TCP connection  340  after printing of the job  338  and the communication of data relating to the print job to the server system  304 . 
         [0030]    The functions and operations described with respect to connection management service  308  and printer  302  may be implemented as a computer-readable storage medium containing instructions executed by a processor (e.g., processor  310 ) and stored in a memory (e.g., memory  312 ). In a given implementation, processor  310  may represent multiple processors, and memory  312  may represent multiple memories. 
         [0031]      FIG. 4  is a block diagram that includes a network-connectable printer  402  according to various embodiments.  FIG. 4  includes particular components, modules, etc. according to various embodiments. However, in different embodiments, more, fewer, and/or other components, modules, arrangements of components/modules, etc. may be used according to the teachings described herein. In addition, various components, modules, etc. described herein may be implemented as one or more software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), embedded controllers, hardwired circuitry, etc.), or some combination of these. 
         [0032]      FIG. 4  shows printer  402 , server system  404 , and smart phone  430  connected to internet  406 . Printer  402  is shown to include a network interface  414 , print component  416 , and a connection management service  408 . Network interface  414  represents generally any combination of hardware and programming configured for electronically connecting printer  402  to the internet  406 . Print component  416  represents generally any combination of hardware and programming configured to produce printed output. 
         [0033]    Connection management service  408  represents generally any combination of hardware and programming configured to manage connections between printer  408  and internet  406  in order that the printer will receive print jobs. Connection management service  408  includes a message receipt module  418 , connection establishment module  420 , job receipt module  422 , print module  424 , and connection termination module  426 . 
         [0034]    Message receipt module  418  receives a “start print procedure” message  428  from smart phone computing system  430 , via a LAN protocol in response to the smart phone  430  detecting a proximity from the phone  430  to printer  402 . In examples, the LAN protocol may be, but is not limited to, a Bluetooth®, Wi-Fi™, or infrared communication protocol. Smart phone  430  utilizes a proximity detection service  442  to detect the proximity. In an example, the proximity detection service  442  may detect the proximity by recognizing that the smart phone  430  and the printer  402  have connected via the Bluetooth®, Wi-Fi™, infrared or other connection with a known effective distance. Utilizing a known effective range for the applicable communication protocol, the service  442  can estimate the proximity between the smart phone  430  and the printer  402 . For example, if the detection service has information that the range of Bluetooth® connection is less than or equal to thirty-two feet, and the service  442  detects a Bluetooth® connection, the service  442  may conclude that the smart phone  430  is within a proximity of less than or equal to thirty-two feet from the printer  402 . Based on the assumption that the user of the smart phone is also within a thirty-two foot proximity to the printer  402 , the smart phone  430  sends the “start print procedure” message  428  to printer  402 . In another example, the proximity detection service  442  utilizes Global Positioning System (“GPS”) programming, and sends the “start print procedure” message  428  to printer  402  upon detecting that smart phone  430  is within a certain proximity to the GPS coordinates of printer  402 . 
         [0035]    In this example, message  428  is a message to “start print procedure” and therefore does not explicitly instruct printer  402  to establish an XMPP connection with server system  404 . The “start print procedure” was generated at the smartphone  430  in response to receipt of a job available message  446  at the smart phone  430  from server system  404 . 
         [0036]    Message receipt module  418  compares the received “start print procedure” message  428  to a database  444  of messages that are to be interpreted as instructions to establish the XMPP connection  436  and finds the “start print procedure” message in the database of accepted messages. Thus, the “start print procedure” message is interpreted as a message to establish the XMPP connection  436 . 
         [0037]    Connection establishment module  420 , in response to receipt of the start print procedure message  428  via the LAN protocol, establishes a connection  436  between the printer  402  and the internet  406  via XMPP communication protocol. In other examples, the connection may be a TCP based SIP protocol, or other communication protocol appropriate for transporting print jobs and operating communications between printer  402  and server system  404 . 
         [0038]    After the establishment of the XMPP connection  436 , job receipt module  422  receives the print job  432  from server system  404  via the connection. After receipt of the print job  432 , print module  424  causes printing of the print job  432  at printer  402 . After printing of the job  438 , connection termination module  426  terminates the XMPP connection  440 . 
         [0039]    Smart phone  430  represents generally any mobile or portable computing device capable of communicating with printer  402 . In this example, the start print procedure message  428  is communicated by smart phone  430  via a LAN protocol. In other embodiments, the communication may be via a Bluetooth®, Wi-Fi™, infrared or other communication protocol that is distinct from the XMPP protocol used in establishing the connection  436 . 
         [0040]    The functions and operations described with respect to connection management service  408  and printer  402  may be implemented as a computer-readable storage medium containing instructions executed by a processor (e.g., processor  410 ) and stored in a memory (e.g., memory  412 ). In a given implementation, processor  410  may represent multiple processors, and memory  412  may represent multiple memories. 
         [0041]      FIG. 5  is a block diagram illustrating a system according to various embodiments.  FIG. 5  includes particular components, modules, etc. according to various embodiments. However, in different embodiments, more, fewer, and/or other components, modules, arrangements of components/modules, etc. may be used according to the teachings described herein. In addition, various components, modules, etc. described herein may be implemented as one or more software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), embedded controllers, hardwired circuitry, etc.), or some combination of these. 
         [0042]      FIG. 5  shows printer  502 , server system  504 , instant messaging (sometimes hereinafter referred to as “IM”) server system  548 , and computing device  550  connected to network  506 . Printer  502  is shown to include a network interface  514 , print component  516 , and a connection management service  508 . Network interface  514  represents generally any combination of hardware and programming configured for electronically connecting printer  502  to the network  506 . Print component  516  represents generally any combination of hardware and programming configured to produce printed output. 
         [0043]    Connection management service  508  represents generally any combination of hardware and programming configured to manage connections between printer  502  and network  506  in order that the printer will receive print jobs via the network  506  in a manner that conserves bandwidth and power, and reduces security threats to the system. Connection management service  508  includes subscription module  542 , message receipt module  518 , connection establishment module  520 , job receipt module  522 , print module  524 , and connection termination module  526 . 
         [0044]    Subscription module  542  sends a subscription message  544  to IM server system  548 . The message  544  subscribes or registers network-connectable printer  502  with IM server system  548  such that IM server system  548  sends a job available message  528  to network-connectable printer  502  whenever the IM Server system receives a message  552  from server system  504  that there is a print job available for download and printing by printer  502 . The job available message received at IM server system  548  from server system  504  may be received via any networking protocol, including but not limited to Transmission Control Protocol/Internet Protocol (“TCP/IP”), HyperText Transfer Protocol (“HTTP”), Simple Mail Transfer Protocol (“SMTP”), Extensible Messaging and Presence Protocol (“XMPP”), and/or Session Initiation Protocol (“SIP”). Message receipt module  518  receives a message  528  from IM Server System  548 , via an instant messaging. In this example, the message  528  instructs printer  502  that a print job  532  is available to be obtained from server system  504  via the network  506 . 
         [0045]    Connection establishment module  520 , in response to receipt of the job available message  528  from IM server system  548  via an instant message, establishes a connection  536  between the printer  502  and the network  506  via XMPP communication protocol. In other examples, the connection may be a SIP over a TCP protocol, or other communication protocol appropriate for transporting print jobs and operating communications between printer  502  and server system  504 . 
         [0046]    After the establishment of the XMPP connection  536 , job receipt module  522  receives the print job  532  via the connection. After receipt of the print job  532 , print module  524  causes printing of the print job  532  at printer  502 . After printing of the job  538 , connection termination module  526  terminates the XMPP connection  540 . 
         [0047]    IM server system  548  represents generally any computing device or system of computing devices configured to communicate with printer  502  and server system  504  via the network  506 . In this example, IM server system  548  sends the job available message  528  to printer  502  via the instant messaging protocol as a result receipt of subscription message  544  or  544 ′, and receipt of job available message  552  from server system  504 . 
         [0048]    The functions and operations described with respect to connection management service  508  and printer  502  may be implemented as a computer-readable storage medium containing instructions executed by a processor (e.g., processor  510 ) and stored in a memory (e.g., memory  512 ). In a given implementation, processor  510  may represent multiple processors, and memory  512  may represent multiple memories. 
         [0049]      FIG. 6  is a block diagram that includes an enterprise network-connectable printer  602  according to various embodiments.  FIG. 6  includes particular components, modules, etc. according to various embodiments. However, in different embodiments, more, fewer, and/or other components, modules, arrangements of components/modules, etc. may be used according to the teachings described herein. In addition, various components, modules, etc. described herein may be implemented as one or more software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), embedded controllers, hardwired circuitry, etc.), or some combination of these. 
         [0050]      FIG. 6  shows printer  602 , server system  604 , a publicly available IM server system  642  (hereinafter “PAIM server system”), and an enterprise server system  644  connected to a network  606 . Server system  604  represents generally any device or system of computing devices configured to process print jobs and send print jobs to network-connectable printers such as printer  602  via the network  606 . The PAIM server system  642  represents generally any device or system of computing devices configured to provide an IM service to computing devices via the internet. Examples of PAIM server system are Yahoo® Messenger and Google® Talk, and IM services provided by telecommunications companies. Enterprise server system  644  represents generally any device or system of computing devices configured to receive a message from a PAIM server system via network  606 , and send a message to printer  602  via network  606  in response to receipt of the message from the PAIM server system. 
         [0051]    In an example, server system  604  sends to the PAIM server system  642  via network  606  a message that a print job is available at server system  604  for retrieval by printer  602 . Pursuant to a subscription arrangement between PAIM server system  642  and enterprise server system  644 , the PAIM server system  642  sends a message to the enterprise server system  644  via network  606 . The message indicates that a print job is available at server system  604  for retrieval by printer  602 . Responsive to receipt of the message from the PAIM server system, the enterprise server system  644  sends a job-available message  628  to the printer  602 . In an embodiment, the messages sent by the server system  604 , the PAIM server system  642 , and the enterprise server system  644  are a same message. In another embodiment, the messages sent by the server system  604 , the PAIM server system  642 , and the enterprise server system  644  are not same message. 
         [0052]    Printer  602  is shown to include a network interface  614 , print component  616 , and a connection management service  608 . Network interface  614  represents generally any combination of hardware and programming configured for electronically connecting printer  602  to the enterprise network  606 . Print component  616  represents generally any combination of hardware and programming configured to produce printed output. Connection management service  608  represents generally any combination of hardware and programming configured to manage connections between printer  602  and network  606  in order that the printer can receive print jobs. Connection management service  608  includes a message receipt module  618 , connection establishment module  620 , job receipt module  622 , print module  624 , and connection termination module  626 . 
         [0053]    Message receipt module  618  receives a message  628  from enterprise server system  644  over the network  606 , via a User Datagram Protocol (“UDP”) based SIP protocol. In this example, the message  628  instructs printer  602  that a print job  632  is available to be obtained via the network  606 . 
         [0054]    Connection establishment module  620 , in response to receipt of the job available message  628  via the UDP based SIP protocol, establishes a connection  636  between the printer  602  and the enterprise network  606  via XMPP communication protocol. In other examples, the connection may be a TCP based SIP protocol, or other communication protocol appropriate for transporting print jobs and operating communications between printer  602  and server system  604 . 
         [0055]    After the establishment of the XMPP connection  636 , job receipt module  622  receives the print job  632  via the connection. After receipt of the print job  632 , print module  624  causes printing of the print job  632  at printer  602 . After printing of the job  638 , connection termination module  626  terminates the XMPP connection  640 . 
         [0056]    The functions and operations described with respect to connection management service  608  and printer  602  may be implemented as a computer-readable storage medium containing instructions executed by a processor (e.g., processor  610 ) and stored in a memory (e.g., memory  612 ). In a given implementation, processor  610  may represent multiple processors, and memory  612  may represent multiple memories. 
         [0057]      FIG. 7  is a flow diagram of operation in a system according to various embodiments. In discussing  FIG. 7 , reference may be made to the diagram of  FIGS. 2-6  to provide contextual examples. Implementation, however, is not limited to those examples. Starting with  FIG. 7 , a network-connectable printer receives a message via a first communication protocol from a first computer system (block  702 ). Referring back to  FIGS. 2-6 , message receipt module  218 ,  318 ,  418 ,  518 , or  618  may be responsible for implementing block  702 . 
         [0058]    Continuing with the flow diagram of  FIG. 7 , in response to receipt of the message, a connection is established between the printer and the network via a second communication protocol (block  704 ). Referring back to  FIGS. 2-6 , message receipt module  220 ,  320 ,  420 ,  520 , or  620  may be responsible for implementing block  704 . 
         [0059]    Continuing with the flow diagram of  FIG. 7 , the printer receives a print job via the connection (block  706 ). Referring back to  FIGS. 2-6 , job receipt module  222 ,  322 ,  422 ,  522 , or  622  may be responsible for implementing block  706 . 
         [0060]    Continuing with the flow diagram of  FIG. 7 , printing of the print job is caused to occur at the printer (block  708 ). Referring back to  FIGS. 2-6 , print module  224 ,  324 ,  424 ,  524 , or  624  may be responsible for implementing block  708 . 
         [0061]    Continuing with the flow diagram of  FIG. 7 , the connection between the printer and the first computer system is terminated after the print job is printed (block  710 ). Referring back to  FIGS. 2-6 , connection termination module  226 ,  326 ,  426 ,  526 , or  626  may be responsible for implementing block  710 . 
         [0062]    Although the flow diagram of  FIG. 7  shows specific orders of execution, the orders of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present disclosure. 
         [0063]    Various modifications may be made to the disclosed embodiments and implementations without departing from their scope. Therefore, the illustrations and examples herein should be construed in an illustrative, and not a restrictive, sense.