COMMUNICATION DEVICE AND COMPUTER PROGRAM FOR THE COMMUNICATION DEVICE

The communication device optimizes job processing by disconnecting upon receiving notifications and using polling signals, reducing resource consumption and processing delays.

JP7619130B2Active Publication Date: 2025-01-22BROTHER KOGYO KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021060185
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-03-31
Publication Date
2025-01-22
Estimated Expiration
2041-03-31

AI Technical Summary

Technical Problem

Existing communication devices face inefficiencies in processing job notifications from servers due to the need to maintain constant connections, leading to increased resource usage and processing delays.

Method used

A communication device with a first mode that disconnects the connection upon receiving a job notification, allowing for reduced resource consumption and faster processing by transitioning to a blocking state until the next notification, and a second mode that uses polling signals to maintain minimal connection usage.

Benefits of technology

This approach reduces processing load and resource usage by minimizing the need for constant connection maintenance, enabling quicker job execution and recognition of job completion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007619130000001
    Figure 0007619130000001
  • Figure 0007619130000002
    Figure 0007619130000002
  • Figure 0007619130000003
    Figure 0007619130000003
Patent Text Reader

Abstract

To provide a communication device which can perform appropriate processing in response to receiving a job notification from a server.SOLUTION: The communication device sets an operation mode to a first mode. The first mode is a mode for receiving a job notification indicating presence or absence of a job to be executed by the communication device, from a server by using a connection for executing server push type communication between the communication device and the server while the connection is established. When the communication device uses the connection to receive a first job notification indicating presence of a first job to be executed by the communication device, from the server while being in the first mode, the communication device disconnects the connection before the end of the first job. The communication device executes the first job in response to receiving the first job notification from the server.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This specification discloses a technique related to a communication device that executes a job in response to receiving a job notification from a server. [Background technology]

[0002] Patent Document 1 discloses a printer capable of printing according to GCP (short for Google Cloud Print). When an XMPP (eXtensible Messaging and Presence Protocol) connection is established with a print intermediary server (hereinafter referred to as "XMPP mode"), the printer receives a notification regarding printing from the print intermediary server immediately after the print intermediary server generates a print job. If communication with the print intermediary server becomes unstable while the printer is operating in XMPP mode, the printer closes the XMPP stream and transitions to a state in which a polling signal is periodically sent to the print intermediary server. If the print intermediary server has a print job when the printer sends the polling signal, the printer receives a notification regarding printing from the print intermediary server. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2012-187866 A Summary of the Invention [Problem to be solved by the invention]

[0004] The present specification provides a communication device that can execute appropriate processing in response to receiving a job notification from a server.

[0005] A communication device disclosed in this specification may include a first mode setting unit that sets an operating mode to a first mode, wherein the first mode is a mode for receiving a job notification indicating whether or not a job exists for the communication device to execute from the server, using the connection, when a connection for executing server push-type communication is established between the communication device and a server; a disconnection unit that, when a first job notification indicating that a first job exists for the communication device to execute is received from the server, using the connection, while the operating mode of the communication device is in the first mode, disconnects the connection before the first job is completed; and a first job execution unit that executes the first job when the first job notification is received from the server.

[0006] According to the above configuration, when the communication device receives a first job notification from the server, the communication device disconnects the connection with the server before the first job ends. Therefore, the communication device does not need to execute a process for maintaining the connection with the server while executing the first job. Therefore, resources for executing the process can be reduced.

[0007] The present specification also discloses a communication device having a first mode setting unit that sets an operation mode to a first mode, the first mode being a mode for receiving a job notification from the server, using a connection established between the communication device and a server for executing server push type communication, the job notification indicating whether or not a job to be executed by the communication device exists, and a first task for the communication device operating in the first mode to receive the job notification is to receive an existing job notification indicating that a job to be executed by the communication device exists when a job to be executed by the communication device exists, and the first task is to receive an existing job notification indicating that a job to be executed by the communication device exists when a job to be executed by the communication device does not exist. the first mode setting unit receives a non-existent job notification at every first predetermined time, indicating that there is no job to be executed by the communication device, and transitions to a blocking state in which no other processing is executed between executing processing to receive the non-existent job notification and receiving the next non-existent job notification; a stop unit that stops the first mode when a first present job notification indicating that there is a first job to be executed by the communication device is received by the first task from the server using the connection while the operation mode of the communication device is in the first mode; and a first job execution unit that executes the first job by a second task different from the first task when the first present job notification is received from the server.

[0008] According to the above configuration, when the communication device receives the first present job notification from the server, the communication device stops the first mode, and therefore the first task does not need to transition to a blocking state at every first predetermined time, and can execute other processes.

[0009] A computer program for implementing the above-mentioned communication device and a computer-readable storage medium storing the computer program are also novel and useful. A method implemented by the above-mentioned communication device is also novel and useful. A communication system including the above-mentioned communication device and other devices (e.g., a server, etc.) is also novel and useful. [Brief description of the drawings]

[0010] [Figure 1] 1 shows the configuration of a communication system. [Diagram 2] 1 shows a sequence of a registration process. [Diagram 3] 3 shows a sequence of a printing process. [Figure 4] The sequence of Case A is shown as a continuation of FIG. [Diagram 5] The sequence of Case B is shown as a continuation of FIG. [Figure 6] 1 shows a sequence of a comparative example. [Figure 7] 11 shows a sequence of case A in the second embodiment. [Figure 8] 11 shows a sequence of case B in the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] (First embodiment) (Configuration of communication system 2; Figure 1) As shown in FIG. 1, the communication system 2 includes a printer 10, a terminal 50, and a print intermediary server 60. The printer 10 and the terminal 50 are connected to a LAN (abbreviation of Local Area Network) 8. The printer 10 and the terminal 50 can communicate with each other via the LAN 8. The LAN 8 may be either a wired LAN or a wireless LAN. The LAN 8 is connected to the Internet 6. The Internet 6 is connected to the print intermediary server 60. The devices 10, 50, and 60 can communicate with each other via the Internet 6.

[0012] (Printer 10 Configuration) The printer 10 is a peripheral device (such as a terminal 50) capable of executing a printing function. The printer 10 may be a multi-function device capable of executing a scanning function, a FAX function, etc. in addition to the printing function. The printer 10 includes a communication interface (hereinafter, the interface will be referred to as "I / F") 12, a display unit 14, a print execution unit 18, and a control unit 30.

[0013] The communication I / F 12 is connected to the LAN 8. The communication I / F 12 may be a wireless I / F or a wired I / F. The display unit 14 is a so-called touch panel, and also functions as an operation unit. The print execution unit 18 is a printing mechanism such as an inkjet type or a laser type.

[0014] The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes according to a program 36 stored in the memory 34. The memory 34 is composed of a volatile memory, a non-volatile memory, and the like. The memory 34 further stores a print status. The print status indicates one of a number of statuses including "Processing" indicating that the printer 10 is executing a print job, and "Waiting" indicating that the printer 10 is not executing a print job.

[0015] (Configuration of the print intermediary server 60) The print intermediary server 60 is a server that provides a cloud print service. In this embodiment, the print intermediary server 60 is not a server installed by the vendor of the printer 10, but a server installed by a business that provides the cloud print service. In a modified example, the print intermediary server 60 may be a server installed by the vendor of the printer 10. When receiving image data from the terminal 50, for example, the print intermediary server 60 generates a job and transmits the job to the printer 10. The job includes print data that is generated by converting the image data into a data format that can be interpreted by the printer 10. Hereinafter, the print intermediary server 60 will be simply referred to as "server 60".

[0016] (Registration process; Figure 2) 2, a process for registering information about the printer 10 with the server 60 so that the printer 10 can receive a cloud printing service from the server 60 will be described. In the following, for ease of understanding, when describing the process executed by the CPU 32 of the printer 10 in accordance with the program 36, the process will be described mainly with the printer 10 rather than the CPU 32. In addition, all of the following communications executed by the printer 10 are executed via the communication I / F 12. Therefore, in the following, when describing the processes related to communication, the phrase "via the communication I / F 12" will be omitted.

[0017] In response to receiving an operation from the user, the terminal 50 accesses a web server in the printer 10. Then, in response to receiving a further operation for receiving a cloud printing service from the user, the terminal 50 transmits a registration instruction to the printer 10 at T10.

[0018] When the printer 10 receives a registration instruction from the terminal 50 in T10, the printer 10 transmits a registration request including a printer ID, which is information for identifying the printer 10, to the server 60 in T12.

[0019] When the server 60 receives a registration request from the printer 10 in T12, the server 60 generates a PIN code in T14 and stores the printer ID included in the registration request in association with the generated PIN code. Next, the server 60 transmits the PIN code and a login URL (short for Uniform Resource Locator) to the printer 10 in T20. The login URL is information indicating the location of authentication screen data in the server 60, which will be described later.

[0020] When the printer 10 receives the PIN code and the URL from the server 60 in T20, it transmits them to the terminal 50 in T22.

[0021] When the terminal 50 receives the PIN code and the URL from the printer 10 in T22, it displays them in T30. Next, when the terminal 50 accepts an operation to select the URL from the user in T32, it transmits an authentication request including the URL to the server 60 in T40.

[0022] When server 60 receives an authentication request from terminal 50 in T40, server 60 transmits, in T42, authentication screen data identified by the URL included in the authentication request to terminal 50. The authentication screen data is data representing an authentication screen for inputting a PIN code.

[0023] When the terminal 50 receives the authentication screen data from the server 60 in T42, the terminal 50 displays the authentication screen represented by the authentication screen data in T44. Next, the terminal 50 accepts input of the PIN code displayed in T30 from the user in T46. In this case, the terminal 50 transmits the input PIN code to the server 60 in T50.

[0024] When the server 60 receives the PIN code from the terminal 50 in T50, the server 60 authenticates the received PIN code in T52. Specifically, the server 60 determines whether or not the received PIN code has been stored. If the server 60 determines that the received PIN code has been stored, that is, if the authentication is successful, the server 60 generates an access token (hereinafter, referred to as AT (short for Access Token)), which is a unique character string, in T54. Then, the server 60 stores the printer ID and the generated AT in association with each other in T56, and transmits an authentication notification including the generated AT to the printer 10 in T60.

[0025] When the printer 10 receives the authentication notification in T62, the printer 10 stores the AT included in the authentication notification in the memory 34. This completes the registration process.

[0026] (Printing process; Figures 3 to 5) Next, the printing process of this embodiment will be described with reference to Figures 3 to 5. First, with reference to Figures 3 and 4, case A will be described in which a new job occurs while the printing process is being performed by the printer 10 and the constant connection is disconnected, and then with reference to Figure 5, case B will be described in which a new job does not occur while the printing process is being performed by the printer 10 and the constant connection is disconnected.

[0027] The CPU 32 of the printer 10 can execute multiple tasks in parallel. In the following, when describing the processing executed by the CPU 32 through the first task or the second task, the first task or the second task will be mainly described. The first task is mainly a task for receiving a notification from the server 60 indicating whether or not a job exists. The second task is mainly a task for receiving a job from the server 60 in response to obtaining a print processing instruction from the first task, and for causing the print execution unit 18 to execute printing according to the job.

[0028] (Case A; Figure 3) In the initial state of FIG. 3, the printer 10 establishes a constant connection with the server 60 using a stored AT (see T62 in FIG. 2). The constant connection is a connection that enables the server 60 to execute server-push type communication with the printer 10 beyond the firewall of the LAN 8 to which the printer 10 belongs. In this embodiment, the printer 10 establishes a constant connection according to HTTP (abbreviation of Hypertext Transfer Protocol). In a modified example, the printer 10 may establish a constant connection according to XMPP (abbreviation of Extensible Messaging and Presence Protocol).

[0029] The first task communicates with the server 60 in blocking mode. Specifically, the first task is in a state in which it cannot execute processing from the time it transmits a request until it receives a response. Hereinafter, this state will be referred to as a "blocking state." When the first task is in a blocking state, the CPU 32 of the printer 10 can quickly execute other processing. When the first task receives a response to the request, it releases the blocking state and resumes processing. In each of the figures from FIG. 3 onwards, the period when the first task is in a blocking state is represented by a thick solid line, and the period when the first task is not in a blocking state is represented by a thin dashed line.

[0030] At T70, the first task transmits a Get-Notification(Event Wait Mode)Request (hereinafter referred to as "GN(EWM)Req") to the server 60. In response to transmitting the GN(EWM)Req, the first task transitions to a blocking state. The GN(EWM)Req is a signal for requesting the server 60 to transmit a notification to the printer 10 (i.e., a response to the GN(EWM)Req) when a job to be executed by the printer 10 occurs. This causes the printer 10 to operate in Event Wait Mode (hereinafter referred to as "EWM"). In EWM, server push type communication (i.e., the above-mentioned notification communication) is performed, so a constant connection needs to be established between the printer 10 and the server 60.

[0031] There is a Polling Mode (hereinafter referred to as "PM") that is a mode different from EWM. PM is a mode in which the printer 10 periodically transmits a Get-Notification (Polling Mode) Request (hereinafter referred to as "GN (PM) Req") to the server 60, and when a job to be executed by the printer 10 exists, the printer 10 receives a notification from the server 60 indicating that the job exists (i.e., a response to the GN (PM) Req). In PM, server push type communication is not performed, so there is no need to establish a constant connection between the printer 10 and the server 60. In EWM, the printer 10 can instantly receive a notification from the server 60 when a job to be executed by the printer 10 occurs. For this reason, the printer 10 can execute jobs more quickly than when operating in PM.

[0032] When the server 60 receives a GN(EMW)Req from the first task in T70, the server 60 periodically transmits a Get-Notification(Event Wait Mode)Response (hereinafter referred to as "GN(EMW)Res") to the printer 10 using a constant connection in T72 to T76 and T86. In this embodiment, the server 60 transmits a GN(EMW)Res that does not include a job ID to the printer 10 every minute during a period before the printer 10 receives image data representing an image to be printed (see T72 to T76). When the server 60 receives image data representing an image to be printed by the printer 10 from the terminal 50 (i.e., when a job to be executed by the printer 10 occurs), the server 60 transmits a GN(EMW)Res that includes a job ID to the printer 10 (see T86).

[0033] When the first task receives a GN(EMW)Res not including a job ID from the server 60 in T72, the first task releases the blocking state. The first task then executes a process in response to receiving the Res (e.g., a process of checking information in the Res or discarding the Res), and then returns to the blocking state. Every time the first task receives a GN(EMW)Res not including a job ID from the server 60 in T74 and T76, the first task executes a process of releasing the blocking state, as in T72, and then returns to the blocking state. In other words, the first task repeats operating in the blocking state for one minute, which is the interval for receiving a GN(EMW)Res not including a job ID from the server 60. In addition, in a modified example, a time longer or shorter than one minute may be adopted instead of the one minute described above.

[0034] In T80, the user executes a print instruction operation on the terminal 50, including designation of the printer to execute printing (printer 10 in this embodiment) and designation of the image to be printed. In this case, in T82, the terminal 50 transmits to the server 60 a printer ID (not shown) that identifies the printer 10 designated by the user, and image data X1 representing the image to be printed.

[0035] When the server 60 receives the printer ID and image data X1 from the terminal 50 in T82, the server 60 generates a job identified by the job ID "AAA" in T84. Specifically, the server 60 first converts the image data X1 already received from the terminal 50 to generate print data (i.e., a document described below) having a data format that can be interpreted by the printer 10. The server 60 then stores the printer ID, job ID "AAA", and print data in association with each other. Thereafter, the server 60 transmits a GN(EMW)Res including the job ID "AAA" to the printer 10 in T86.

[0036] When the first task receives a GN(EMW)Res including the job ID "AAA" from the server 60 in T86, the first task releases the blocking state. Then, in T88, the first task supplies a print processing instruction including the received job ID "AAA" to the second task. After that, the first task returns to the blocking state.

[0037] When the second task acquires a print processing instruction including the job ID "AAA" from the first task in T88, it sends a Fetch-job Request to the server 60 in T90, and receives a Response including job information from the server 60 in T92. The job information includes setting information indicating print settings such as the number of printing colors, the size of the printing paper, the number of copies to be printed, etc. Then, the second task sends a Fetch-Document Request to the server 60 in T94, and receives a Response including print data X1 (i.e., a document) from the server 60 in T96.

[0038] (Continuation of Figure 3: Figure 4 (Case A)) As shown in Fig. 4, the second task supplies print data X1 to the print execution unit 18 at T100. This causes the print execution unit 18 to start printing the image represented by the print data X1. The second task also changes the print status in the memory 34 from "standby" to "in process" at T100. In the drawings from Fig. 4 onwards, the second task in a state in which print data is supplied to the print execution unit 18, i.e., in a state in which the print status is "in process", is represented by a thick solid line with hatching.

[0039] 3, the first task supplies a print instruction process to the second task, and then in T110, the first task transmits a disconnection signal to the server 60 requesting disconnection of the constant connection. As a result, in T112, the constant connection is disconnected by the server 60. In this case, the printer 10 stops operating in EWM. As a result, the printer 10 enters a state in which it does not operate in either EWM or PM.

[0040] As described above, the printer 10 disconnects the constant connection with the server 60, and therefore does not need to execute processing for maintaining the constant connection with the server 60 while executing the job according to the job ID "AAA" (i.e., from T112 to T140 described later). The processing includes, for example, at least one of periodically sending a signal for maintaining the constant connection to the server 60 and periodically receiving a signal for maintaining the constant connection from the server 60. This reduces the processing load of the CPU 32 and the communication load of the communication I / F 12. Furthermore, the printer 10 can release an area in the memory 34 that is necessary for maintaining the constant connection. This allows the capacity of the memory 34 to be saved.

[0041] Also, when the printer 10 stops EWM, the first task does not need to repeatedly operate in a blocking state for about one minute. For this reason, the first task can execute other processes. Specifically, the first task can execute a process for checking the printing status at T120. That is, the first task can execute a process for monitoring the end of the job by checking the printing status in the memory 34. At the stage of T120, since the printing status is "processing", the first task determines that the job is not finished. The first task sleeps for five seconds after executing a process for checking the printing status. Then, when the sleep is maintained for five seconds, the first task releases the sleep and checks the printing status again. After that, the first task sleeps again for five seconds. That is, the first task repeatedly executes a process for checking the printing status and sleep every five seconds. In addition, in a modified example, a time longer or shorter than five seconds may be adopted instead of the above five seconds.

[0042] Next, in T130 and T132, the terminal 50 executes processes similar to those in T80 and T82 of Fig. 3. Here, in T132, the terminal 50 transmits to the server 60 a printer ID for identifying the printer 10 and image data X2 representing an image to be printed.

[0043] When the server 60 receives the printer ID and image data X2 from the terminal 50 in T132, it generates a job identified by the job ID "BBB" in T134. In this case, the constant connection between the server 60 and the printer 10 has already been disconnected (see T112). For this reason, the server 60 cannot send a GN(EMW)Res including the job ID "BBB" to the printer 10.

[0044] Thereafter, when the job is completed, that is, when all print data has been supplied to the print execution unit 18, the second task changes the print status in the memory 34 from "in process" to "standby" in T140.

[0045] The first task executes a process to check the print status in T142 and recognizes that the print status is "Waiting." In other words, the first task determines that the job has ended. In this case, the first task sends a Get-Jobs Request (hereinafter, abbreviated as "GJReq") to the server 60 in T144. GJReq is a signal for inquiring whether or not a new job exists.

[0046] The printer 10 sends the GJReq to the server 60 without re-establishing a constant connection with the server 60. This allows the printer 10 to know quickly whether or not a job exists, compared to a configuration in which the printer 10 sends the GJReq to the server 60 after re-establishing a constant connection with the server 60.

[0047] When the server 60 receives the GJReq from the printer 10 in T144, the server 60 transmits a Get-Jobs Response (hereinafter, abbreviated as "GJRes") including the job ID "BBB" to the printer 10 in T146.

[0048] When the first task receives the GJRes from the server 60 in T146, it supplies a print processing instruction including the job ID "BBB" in the GJRes to the second task in T148.

[0049] Next, the second task uses the job ID "BBB" to execute the same processes as T90 to T96 in Fig. 3. Then, in T150, the second task supplies print data X2 to the print execution unit 18 and changes the print status in memory 34 from "Waiting" to "Processing".

[0050] The first task executes a process of checking the print status every 5 seconds in T160, etc., similar to T120. In response to the job ending in T162, the first task changes the print status in memory 34 from "printing" to "waiting", and then in T170, the first task recognizes that the print status is "waiting". Then, the first task transmits a GJReq to server 60, similar to T142.

[0051] When the server 60 receives the GJReq from the printer 10 in T174, it transmits a GJRes that does not include a job ID to the printer 10 in T176.

[0052] When the first task receives a GJRes that does not include a job ID from the server 60 in T176, it re-establishes a constant connection with the server 60 in T180. Then, the first task sends a GN(EWM)Req to the server 60 in T182. This causes the printer 10 to operate in EWM again. Then, the first task receives a GN(EWM)Res that does not include a job ID from the server 60 every minute in T184, etc.

[0053] (Continuation of Figure 3; Figure 5 (Case B)) Next, case B will be described with reference to Fig. 5. Fig. 5 is a continuation of Fig. 3, just like Fig. 4. However, in case B of Fig. 5, no new job occurs while the job identified by the job ID "AAA" is being executed. The processes from T190 to T210 are the same as those from T100 to T120 of Fig. 4.

[0054] The server 60 does not receive image data X2 from the terminal 50 while the job identified by the job ID "AAA" is being executed. Therefore, when the server 60 receives a GJReq from the printer 10 in response to the printer 10 executing T220 to T224, which are the same as T140 to T144 in Fig. 4, the server 60 transmits a GJRes that does not include a job ID to the printer 10 in T226.

[0055] In response to receiving a GJRes not including a job ID from the server 60 in T226, the first task re-establishes a constant connection with the server 60 in T230, and transmits a GN(EWM)Req to the server 60 in T232. This causes the printer 10 to operate in EWM again. Then, the first task receives a GN(EWM)Res not including a job ID from the server 60 every minute in T234, etc.

[0056] As described above, the printer 10 operates again in the EWM. Therefore, when a job to be executed by the printer 10 occurs, the printer 10 can immediately receive a notification from the server 60, and can quickly execute the job.

[0057] (Comparative example: Figure 6) As described above, in this embodiment, the printer 10, in response to receiving a GN(EWM)Res including a job ID from the server 60, disconnects the constant connection with the server 60 and stops EWM (see T110 in FIG. 4 and T200 in FIG. 5). Here, with reference to FIG. 6, a comparative example in which the constant connection is not disconnected will be described. Even if the first task of the printer 10A in the comparative example receives a GN(EWM)Res including a job ID from the server 60, the first task does not disconnect the constant connection with the server 60 and continues EWM. For this reason, in T250, the first task releases the blocking state in response to receiving a GN(EMW)Res not including a job ID. Then, in T252, the first task confirms that the print status is "processing", and then returns to the blocking state.

[0058] The first task releases the blocking state in response to receiving again a GN(EMW)Res that does not include a job ID in T254, and confirms in T256 that the print status is "processing".

[0059] In steps T260 to T262, the terminal 50 executes the same processes as those in steps T130 to T132 of Fig. 4. In steps T264 to T266, the server 60 executes the same processes as those in steps T84 to T86 of Fig. 3. However, the job ID used here is "BBB".

[0060] When the first task receives a GN(EMW)Res including the job ID "BBB" from the server 60 in T266, the first task releases the blocking state. Here, the first task stores the job ID "BBB" in the memory 34 in T268. After that, the first task confirms in T270 that the print status is "Processing" and returns to the blocking state.

[0061] When the job is completed, the second task changes the print status in the memory 34 from "printing" to "waiting" in T280. At this time, the first task is in a blocking state, and therefore cannot execute a process for checking the print status until the next GN(EMW)Res is received from the server 60. In response to receiving a GN(EMW)Res not including a job ID from the server 60 in T290, the first task releases the blocking state, and in T292, checks that the print status is "waiting". Then, in T294, the first task supplies a print processing instruction including the stored job ID "BBB" to the second task. The processes in T300 to T310 are the same as those in T90 to T96 in FIG. 3 and T100 in FIG. 4.

[0062] In this comparative example, the first task repeatedly operates in a blocking state for one minute, which is the interval for receiving a GN(EMW)Res that does not include a job ID from the server 60. That is, the first task can only execute a process for checking the print status every minute. For this reason, it takes a relatively long time from when the second task ends the job (see T280) until the first task recognizes the end of the job (see T292). For this reason, it takes a relatively long time for the first task to supply a print processing instruction to the second task, so the second task is slow to make the print execution unit 18 execute printing. In contrast, according to the configuration of this embodiment, the printer 10 cuts off the constant connection and stops the EWM, so the first task does not need to repeatedly operate in a blocking state for one minute. The first task repeatedly executes a process for checking the print status and a five-second sleep. For this reason, the first task can quickly recognize that the job has ended and quickly supply a print processing instruction to the second task, compared to the comparative example. Therefore, the second task can cause the print execution unit 18 to execute printing quickly.

[0063] (Correspondence) The printer 10 and the server 60 are examples of a "communication device" and a "server", respectively. The EWM is an example of a "first mode". The GN(EMW)Res including a job ID and the GN(EMW)Res not including a job ID are examples of a "job notification". The GN(EMW)Res including a job ID of T86 in FIG. 3 are examples of a "first job notification" and an "existing job notification". The GN(EMW)Res not including a job ID of T72 to T76 in FIG. 3 are examples of a "non-existing job notification". The GJReq of T144 in FIG. 4 and the GJReq of T224 in FIG. 5 are examples of a "predetermined signal" that is an "inquiry signal". The GJRes including a job ID of T146 in FIG. 4 is an example of a "related information" and a "first response signal". The GJRes not including a job ID of T226 in FIG. 5 is an example of a "second response signal". One minute and five seconds are examples of the "first predetermined time" and the "second predetermined time", respectively.

[0064] The establishment of a constant connection and T70 in FIG. 3 are examples of processing executed by the "first mode setting unit". T110 in FIG. 4 and T200 in FIG. 5 are examples of processing executed by the "disconnection unit" and the "stop unit". T90 in FIG. 3, T100 in FIG. 4, and T190 in FIG. 5 cited in FIG. 4 are examples of processing executed by the "first job execution unit". T120, T142 in FIG. 4, T210, and T222 in FIG. 5 are examples of processing executed by the "monitoring unit". T144 in FIG. 4 and T224 in FIG. 5 are examples of processing executed by the "predetermined signal transmission unit". T94 in FIG. 3 and T150 in FIG. 4 cited in FIG. 4 are examples of processing executed by the "second job execution unit". T230 and T232 in FIG. 5 are examples of processing executed by the "second mode setting unit".

[0065] (Second embodiment; Figs. 7 and 8) Next, a second embodiment will be described. This embodiment differs from the first embodiment in that when the constant connection is disconnected, the printer 10 operates in PM instead of EWM. First, with reference to Fig. 7, a case A in which the constant connection is disconnected and a new job occurs while the printer 10 is operating in PM will be described. Next, with reference to Fig. 8, a case B in which a new job does not occur will be described.

[0066] (Case A; Figure 7) Fig. 7 is a continuation of Fig. 3. The processes from T400 to T412 are similar to the processes from T100 to T112 in Fig. 4. As in the first embodiment, the printer 10 disconnects from the constant connection to the server 60, and therefore does not need to execute processes for maintaining the constant connection to the server 60 while executing the job according to the job ID "AAA" (i.e., from T412 to T470 described below).

[0067] Also, since the printer 10 stops EWM, the first task does not need to repeatedly operate in a blocking state for approximately one minute. This allows the first task to execute other processes. Specifically, the first task can execute a process to inquire whether there is a new job for the printer 10 to execute in T420. More specifically, the printer 10 operates in PM, so that the first task transmits a GN(PM)Req to the server 60. In response to transmitting the GN(PM)Req, the first task transitions to a blocking state.

[0068] When the server 60 receives a GN(PM)Req from the first task in T420, the server 60 transmits a Get-Notification(PM)Response (hereinafter, referred to as “GN(PM)Res”) that does not include a job ID to the printer 10 in T422.

[0069] In this embodiment, the printer 10 transmits a GN(PM)Req to the server 60 every 30 seconds (see T420, T430, T440, and T456). Then, the server 60 transmits a GN(PM)Res that does not include a job ID to the printer 10 during a period before the printer 10 receives image data representing an image to be printed from the terminal 50 (T422, T432, and T442). When the server 60 receives image data representing an image to be printed by the printer 10 from the terminal 50 (i.e., when a job to be printed by the printer 10 occurs), the server 60 transmits a GN(PM)Res that includes a job ID to the printer 10 (see T458).

[0070] When the first task receives a GN(PM)Res not including a job ID from the server 60 in T422, the first task releases the blocking state. Then, the first task executes a process to check the printing status in T424. Since the printing status is "processing" at the stage of T424, the first task determines that printing is not completed. After executing the process to check the printing status, the first task sleeps for 5 seconds. That is, the first task repeatedly executes the process to check the printing status and sleep every 5 seconds, similar to T120 in FIG. 4. Every time the first task receives a GN(PM)Res not including a job ID from the server 60 in T432 and T442, the first task releases the blocking state and executes the process to check the printing status in T434 and T444, similar to T424.

[0071] Next, in T450 and T452, the terminal 50 executes the same processes as T80 and T82 in Fig. 3. Here, in T132, the terminal 50 transmits to the server 60 the printer ID for identifying the printer 10 and image data X3 representing the image to be printed.

[0072] When the server 60 receives the printer ID and image data X3 from the terminal 50 in T452, the server 60 generates a job identified by the job ID "CCC" in T454. In response to receiving a GN(PM)Req from the printer 10 in T456, the server 60 transmits a GN(PM)Res including the job ID "CCC" to the printer 10 in T458.

[0073] When the first task receives a GN(PM)Res including the job ID "CCC" from the server 60 in T458, the first task releases the blocking state. Here, the first task stores the job ID "CCC" in the memory 34 in T460. After that, the first task confirms in T462 that the print status is "Processing".

[0074] Thereafter, when the job is completed, the second task changes the print status in the memory 34 from "printing" to "standby" in T470.

[0075] In T472, the first task executes a process to check the print status and recognizes that the print status is "Waiting". That is, the first task determines that the job has ended. In this case, in T474, the first task supplies a print processing instruction including the stored job ID "CCC" to the second task. The processes of T480 to T490 are the same as T90 to T96 in FIG. 3 and T100 in FIG. 4. That is, since the printer 10 prestores the job ID "CCC" in the memory 34, it can transmit a Fetch-job Request to the server 60 after the job has ended without transmitting a GJReq to the server 60. For this reason, the printer 10 can execute the job relatively quickly compared to a configuration in which the printer 10 transmits a GJReq to the server 60 after the job has ended. After that, the same processes as T160 to T184 in FIG. 4 are executed.

[0076] (Case B; Figure 8) Next, case B will be described with reference to Fig. 8. Fig. 8 is a continuation of Fig. 3, just like Fig. 7. However, in case B of Fig. 8, no new job occurs while the job identified by the job ID "AAA" is being executed. The processes from T500 to T544 are the same as those from T400 to T444 of Fig. 7.

[0077] In response to the printer 10 executing T550 to T552, which are similar to T470 to T472 in FIG. 7, the first task re-establishes a constant connection with the server 60 at T560. Then, the first task transmits a GN(EMW)Req to the server 60 at T562. This causes the printer 10 to operate in EWM again. Then, the first task receives a GN(EWM)Res that does not include a job ID from the server 60 every minute at T564, etc.

[0078] As described above, the printer 10 operates again in the EWM. Therefore, when a job to be executed by the printer 10 occurs, the printer 10 can immediately receive a notification from the server 60, and can quickly execute the job.

[0079] (Correspondence) PM is an example of a "second mode." T480 (Fetch-Job Req) in FIG. 7 is an example of a "predetermined signal." Res in T482 in FIG. 7 is an example of "relationship information." GN(PM)Res including the job ID in T378 in FIG. 7 is an example of a "second job notification." Job information is "setting information."

[0080] T410 in FIG. 7 and T510 in FIG. 8 are an example of a process executed by the "disconnection unit". T480 in FIG. 7, T400 in FIG. 7, and T500 in FIG. 8 are an example of a process executed by the "first job execution unit". T424, T434, T444, T460, and T472 in FIG. 7 and T524, T534, T544, and T552 in FIG. 8 are an example of a process executed by the "monitoring unit". T480 in FIG. 7 is an example of a process executed by the "predetermined signal transmission unit". T484 and T490 in FIG. 7 are an example of a process executed by the "second job execution unit". T420 in FIG. 7 and T520 in FIG. 8 are an example of a process executed by the "third mode setting unit". T460 in FIG. 7 is an example of a process executed by the "storage control unit". T560 and T562 in Fig. 8 are examples of the processing executed by the "fourth mode setting unit." T410 in Fig. 7 and T510 in Fig. 8 are examples of the processing executed by the "stop unit" and the "disconnect unit."

[0081] Although specific examples of the present invention have been described above in detail, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and alterations of the specific examples exemplified above. Modifications of the above-mentioned embodiments are listed below.

[0082] (Variation 1) Printer 10 may be a multifunction device capable of executing communication over a telephone line. When image data is transmitted from terminal 50 to server 60, the multifunction device may receive the image data from server 60 and transmit the image data to another multifunction device using the telephone line. In this case, a job is a process of transmitting image data using a telephone line. Generally speaking, a "job" is not limited to printing, and may be transmitting image data using a telephone line, as in this variation, or may be other processing.

[0083] (Variation 2) The first task may monitor the completion of the job by inquiring of the second task as to whether the job has been completed, instead of checking the print status in memory 34. In this variation, inquiring of the second task is an example of a process executed by a "monitoring unit."

[0084] (Variation 3) The first task does not have to monitor whether the job has ended. In this case, the first task can execute a process other than monitoring. In this variation, the "monitoring unit" can be omitted.

[0085] (Variation 4) When it is determined in T142 of Fig. 4 that the job has ended, the first task may re-establish the constant connection and then transmit a Get-Jobs Req to the server 60 in T144. Generally speaking, the "predetermined signal transmission unit" may transmit a predetermined signal to the server 60 after re-establishing the connection.

[0086] (Variation 5) T230 in Fig. 5 may be omitted. That is, in response to receiving a GJRes not including a job ID from the server 60 in T226, the first task may send a GN(PM)Req to the server 60 in place of a GN(EMW)Req in T232 without re-establishing a constant connection. That is, the printer 10 may operate in PM instead of EWM. In this variation, the "second mode setting unit" may be omitted.

[0087] (Variation 6) T560 in Fig. 8 may be omitted. That is, when the first task determines that there is no job for the printer 10 to execute, it may send a GN(PM)Req to the server 60 in place of a GN(EMW)Req in T562 without re-establishing a constant connection. That is, the printer 10 may continue to operate in PM. In this variation, the "fourth mode setting unit" may be omitted.

[0088] (Variation 7) Instead of checking the print status every 5 seconds, the printer 10 may check the print status every predetermined time of 1 minute or more. Generally speaking, the "second predetermined time" does not have to be shorter than the "first predetermined time." In another variation, instead of checking the print status every 5 seconds, the printer 10 may check the print status every predetermined time of less than 1 minute.

[0089] (Variation 8) T110 and T112 in Fig. 4, T200 and T202 in Fig. 5, T410 and T412 in Fig. 7, and T510 and T512 in Fig. 8 may be omitted. In other words, the printer 10 does not need to disconnect the constant connection.

[0090] (Modification 9) The process of T460 in Fig. 7 may be omitted. In this case, when the processes of T462 to T472 are executed, the first task sends a GJReq (see T144 in Fig. 4) to the server 60. The GJReq is a signal for inquiring whether or not a new job exists. In response, the server 60 sends a GJRes including the job ID "CCC" to the printer 10. When the first task receives the GJRes from the server 60, in T474, the first task supplies a print process instruction including the job ID "CCC" in the GJRes to the second task. Then, the processes of T480 to T490 and the processes of T160 to T184 in Fig. 4 cited in Fig. 7 are executed.

[0091] (Variation 10) The "communication device" does not have to be the printer 10, but may be other devices such as a scanner, a multifunction device, a mobile terminal, a PC, or a server.

[0092] (Modification 11) In the above embodiment, the processes in FIGS. 2 to 8 are implemented by software, but at least one of these processes may be implemented by hardware such as a logic circuit.

[0093] In addition, the technical elements described in this specification or drawings exert technical utility alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies exemplified in this specification or drawings achieve multiple objectives simultaneously, and achieving one of those objectives is itself technically useful. The matters described in the claims at the time of filing the patent application are set forth below. (Item 1) A communication device, comprising: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode setting unit, in a state where a connection for executing server push type communication between the communication device and a server is established, receiving a job notification from the server, the job notification indicating whether or not there is a job to be executed by the communication device, using the connection; a disconnection unit that, when a first job notification indicating that a first job to be executed by the communication device exists is received from the server via the connection while the operation mode of the communication device is the first mode, disconnects the connection before the first job is completed; a first job execution unit that executes the first job when the first job notification is received from the server; A communication device comprising: (Item 2) The communication device further comprises: a monitoring unit that monitors whether the first job is completed; a predetermined signal transmission unit that transmits a predetermined signal to the server in response to the first job being completed; a second job execution unit that executes a second job when related information related to a second job to be executed by the communication device is received from the server in response to the predetermined signal being transmitted to the server; 2. The communication device according to item 1, comprising: (Item 3) 3. The communication device according to item 2, wherein the predetermined signal transmission unit transmits the predetermined signal to the server in response to the first job being completed, without re-establishing the connection. (Item 4) the predetermined signal is an inquiry signal for inquiring whether or not a new job exists, 4. The communication device according to item 2 or 3, wherein the relationship information is a first response signal indicating that the second job exists. (Item 5) The communication device further comprises: 5. The communication device according to item 4, further comprising a second mode setting unit that re-establishes the connection and sets the operating mode of the communication device to the first mode when a second response signal indicating that no new jobs exist is received from the server in response to the predetermined signal being sent to the server, which is the inquiry signal. (Item 6) The communication device further comprises: Memory, a third mode setting unit that sets the operation mode of the communication device to a second mode when the first job notification is received from the server using the connection while the operation mode of the communication device is the first mode, the second mode being a mode for repeatedly transmitting a polling signal to the server without using the connection to receive the job notification from the server; a storage control unit that, when a second job notification indicating that there is a second job to be executed by the communication device is received from the server in response to the polling signal being transmitted to the server before the first job is completed, stores job identification information for identifying the second job in the memory; the predetermined signal transmission unit transmits the predetermined signal including the job identification information stored in the memory to the server in response to the end of the first job, without transmitting an inquiry signal for inquiring whether or not a new job exists; 4. The communication device according to item 2 or 3, wherein the relationship information includes setting information for executing the second job. (Item 7) The communication device further comprises: The communication device described in item 6 further comprises a fourth mode setting unit that sets the operating mode of the communication device to the first mode instead of the second mode when, in response to the polling signal being sent to the server before the first job is completed, the job notification indicating that there is a job to be executed by the communication device is not received from the server. (Item 8) A communication device, comprising: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode is a mode for receiving, in a state in which a connection for executing server push type communication between the communication device and a server, a job notification indicating whether or not there is a job to be executed by the communication device from the server, using the connection; A first task for the communication device operating in the first mode to receive the job notification includes receiving an existing job notification indicating that a job exists for the communication device to execute when a job exists for the communication device to execute; the first task receives a non-existent job notification indicating that there is no job to be executed by the communication device at every first predetermined time when there is no job to be executed by the communication device, and transitions to a blocking state in which no other process is executed during the period from when a process for receiving the non-existent job notification is executed until the next non-existent job notification is received; a stop unit that stops the first mode when a first present job notification indicating that a first job to be executed by the communication device exists is received by the first task from the server via the connection while the operation mode of the communication device is in the first mode; a first job execution unit that executes the first job by a second task different from the first task when the first existing job notification is received from the server; A communication device comprising: (Item 9) The communication device further comprises: a monitoring unit that monitors, when the first mode is stopped, that the first job is ended by the first task; a predetermined signal transmission unit that transmits a predetermined signal to the server in response to the first job being completed; a second job executing unit that executes the second job by the second task when related information related to a second job to be executed by the communication device is received from the server in response to the predetermined signal being transmitted to the server; 9. The communication device according to item 8, comprising: (Item 10) the monitoring unit monitors whether the first job is completed by checking whether the first job is completed at every second predetermined time; Item 10. The communication device according to item 9, wherein the second predetermined time is shorter than the first predetermined time. (Item 11) the predetermined signal is an inquiry signal for inquiring whether or not a new job exists, 11. The communication device according to item 9 or 10, wherein the relationship information is a first response signal indicating that the second job exists. (Item 12) The communication device further comprises: Item 12. The communication device according to item 11, further comprising a second mode setting unit that sets the operating mode of the communication device to the first mode when a second response signal indicating that no new jobs exist is received from the server in response to the predetermined signal, which is the inquiry signal, being sent to the server. (Item 13) The communication device further comprises: Memory, a third mode setting unit that sets the operation mode of the communication device to a second mode after the first mode is stopped, the second mode being a mode for repeatedly transmitting a polling signal to the server by the first task without using the connection and receiving the job notification from the server; and a storage control unit that stores in the memory job identification information that identifies the second job when a second existing job notification indicating that the second job to be executed by the communication device exists is received by the first task from the server in response to the polling signal being transmitted to the server before the first job is completed, the predetermined signal transmission unit transmits the predetermined signal including the job identification information stored in the memory to the server in response to the end of the first job, without transmitting an inquiry signal for inquiring whether or not a new job exists; Item 11. The communication device according to item 9 or 10, wherein the relationship information includes setting information for executing the second job. (Item 14) The communication device further comprises: Item 14. The communication device described in item 13, further comprising a fourth mode setting unit that sets the operating mode of the communication device to the first mode when the presence job notification is not received from the server in response to the polling signal being sent to the server before the first job is completed. (Item 15) The communication device further comprises: 15. The communication device according to any one of claims 8 to 14, further comprising a disconnection unit that disconnects the connection before the first job is completed when the first presence job notification is received from the server using the connection while the operation mode of the communication device is in the first mode. (Item 16) A computer program for a communication device, comprising: The computer of the communication device is composed of the following parts: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode setting unit, in a state where a connection for executing server push type communication between the communication device and a server is established, receiving a job notification from the server, the job notification indicating whether or not there is a job to be executed by the communication device, using the connection; a disconnection unit that, when a first job notification indicating that a first job to be executed by the communication device exists is received from the server via the connection while the operation mode of the communication device is the first mode, disconnects the connection before the first job is completed; a first job execution unit that executes the first job when the first job notification is received from the server; A computer program that functions as a (Item 17) A computer program for a communication device, comprising: The computer of the communication device is composed of the following parts: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode is a mode for receiving, in a state in which a connection for executing server push type communication between the communication device and a server, a job notification indicating whether or not there is a job to be executed by the communication device from the server, using the connection; A first task for the communication device operating in the first mode to receive the job notification includes receiving an existing job notification indicating that a job exists for the communication device to execute when a job exists for the communication device to execute; the first task receives a non-existent job notification indicating that there is no job to be executed by the communication device at every first predetermined time when there is no job to be executed by the communication device, and transitions to a blocking state in which no other process is executed during the period from when a process for receiving the non-existent job notification is executed until the next non-existent job notification is received; a stop unit that stops the first mode when a first present job notification indicating that a first job to be executed by the communication device exists is received by the first task from the server via the connection while the operation mode of the communication device is in the first mode; a first job execution unit that executes the first job by a second task different from the first task when the first existing job notification is received from the server; A computer program that functions as a [Explanation of symbols]

[0094] 2: communication system, 6: Internet, 8: LAN, 10: printer, 12: communication I / F, 14: display unit, 18: print execution unit, 30: control unit, 32: CPU, 34: memory, 36: program, 50: terminal, 60: print intermediary server

Claims

1. 1. A communication device, comprising: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode setting unit, in a state where a connection for executing server push type communication between the communication device and a server is established, receiving a job notification from the server, the job notification indicating whether or not there is a job to be executed by the communication device, using the connection; a disconnection unit that, when a first job notification indicating that a first job to be executed by the communication device exists is received from the server via the connection while the operation mode of the communication device is the first mode, disconnects the connection before the first job is completed; a first job execution unit that executes the first job when the first job notification is received from the server; a predetermined signal transmission unit that transmits a predetermined signal to the server in response to the first job being completed; a second job executing unit that executes a second job when related information related to a second job to be executed by the communication device is received from the server in response to the predetermined signal being transmitted to the server; A communication device comprising:

2. The communication device further comprises: The communication device according to claim 1 , further comprising a monitoring unit that monitors whether the first job is completed.

3. The communication device according to claim 1 , wherein the predetermined signal transmission unit transmits the predetermined signal to the server in response to the first job being completed, without re-establishing the connection.

4. the predetermined signal is an inquiry signal for inquiring whether or not a new job exists, 4. The communication device according to claim 1, wherein the relationship information is a first response signal indicating that the second job exists.

5. The communication device further comprises:

5. The communication device according to claim 4, further comprising a second mode setting unit that re-establishes the connection and sets the operating mode of the communication device to the first mode when a second response signal indicating that no new jobs exist is received from the server in response to the predetermined signal being the inquiry signal being sent to the server.

6. The communication device further comprises: Memory, a third mode setting unit that sets the operation mode of the communication device to a second mode when the first job notification is received from the server using the connection while the operation mode of the communication device is the first mode, the second mode being a mode for repeatedly transmitting a polling signal to the server without using the connection to receive the job notification from the server; a storage control unit that, when a second job notification indicating that there is a second job to be executed by the communication device is received from the server in response to the polling signal being transmitted to the server before the first job is completed, stores job identification information for identifying the second job in the memory; the predetermined signal transmission unit transmits the predetermined signal including the job identification information stored in the memory to the server in response to the end of the first job, without transmitting an inquiry signal for inquiring whether or not a new job exists; 4. The communication device according to claim 1, wherein the related information includes setting information for executing the second job.

7. The communication device further comprises:

7. The communication device according to claim 6, further comprising a fourth mode setting unit that sets the operating mode of the communication device to the first mode instead of the second mode when, in response to the polling signal being sent to the server before the first job is completed, the job notification indicating that there is a job to be executed by the communication device is not received from the server.

8. 1. A communication device, comprising: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode is a mode for receiving, in a state in which a connection for executing server push type communication between the communication device and a server, a job notification indicating whether or not there is a job to be executed by the communication device from the server, using the connection; A first task for the communication device operating in the first mode to receive the job notification includes receiving an existing job notification indicating that a job exists for the communication device to execute when a job exists for the communication device to execute; the first task receives a non-existent job notification indicating that there is no job to be executed by the communication device at every first predetermined time when there is no job to be executed by the communication device, and transitions to a blocking state in which no other process is executed during the period from when a process for receiving the non-existent job notification is executed until the next non-existent job notification is received; a stop unit that stops the first mode when a first present job notification indicating that a first job to be executed by the communication device exists is received by the first task from the server via the connection while the operation mode of the communication device is in the first mode; a first job execution unit that executes the first job by a second task different from the first task when the first present job notification is received from the server; A communication device comprising:

9. The communication device further comprises: a monitoring unit that monitors, when the first mode is stopped, that the first job is ended by the first task; a predetermined signal transmission unit that transmits a predetermined signal to the server in response to the first job being completed; a second job executing unit that executes the second job by the second task when related information related to a second job to be executed by the communication device is received from the server in response to the predetermined signal being transmitted to the server; The communication device of claim 8 , comprising:

10. the monitoring unit monitors whether the first job is completed by checking whether the first job is completed at every second predetermined time; The communication device according to claim 9 , wherein the second predetermined time is shorter than the first predetermined time.

11. the predetermined signal is an inquiry signal for inquiring whether or not a new job exists, The communication device according to claim 9 or 10, wherein the related information is a first response signal indicating that the second job exists.

12. The communication device further comprises:

12. The communication device according to claim 11, further comprising a second mode setting unit that sets the operating mode of the communication device to the first mode when a second response signal indicating that no new jobs exist is received from the server in response to the predetermined signal being the inquiry signal being sent to the server.

13. The communication device further comprises: Memory, a third mode setting unit that sets the operation mode of the communication device to a second mode after the first mode is stopped, the second mode being a mode for repeatedly transmitting a polling signal to the server by the first task without using the connection and receiving the job notification from the server; and a storage control unit that stores in the memory job identification information that identifies the second job when a second existing job notification indicating that the second job to be executed by the communication device exists is received by the first task from the server in response to the polling signal being transmitted to the server before the first job is completed, the predetermined signal transmission unit transmits the predetermined signal including the job identification information stored in the memory to the server in response to the end of the first job, without transmitting an inquiry signal for inquiring whether or not a new job exists; The communication device according to claim 9 , wherein the related information includes setting information for executing the second job.

14. The communication device further comprises:

14. The communication device according to claim 13, further comprising a fourth mode setting unit that sets the operation mode of the communication device to the first mode when the presence job notification is not received from the server in response to the polling signal being sent to the server before the first job is completed.

15. The communication device further comprises:

15. The communication device according to claim 8, further comprising a disconnection unit that disconnects the connection before the first job is completed when the first presence job notification is received from the server using the connection while the operation mode of the communication device is in the first mode.

16. A computer program for a communication device, comprising: The computer of the communication device is composed of the following parts: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode setting unit, in a state where a connection for executing server push type communication between the communication device and a server is established, receiving a job notification from the server, the job notification indicating whether or not there is a job to be executed by the communication device, using the connection; a disconnection unit that, when a first job notification indicating that a first job to be executed by the communication device exists is received from the server via the connection while the operation mode of the communication device is the first mode, disconnects the connection before the first job is completed; a first job execution unit that executes the first job when the first job notification is received from the server; a predetermined signal transmission unit that transmits a predetermined signal to the server in response to the first job being completed; a second job executing unit that executes a second job when related information related to a second job to be executed by the communication device is received from the server in response to the predetermined signal being transmitted to the server; A computer program that functions as a

17. A computer program for a communication device, comprising: The computer of the communication device is composed of the following parts: a first mode setting unit that sets an operation mode of the communication device to a first mode, the first mode is a mode for receiving, in a state in which a connection for executing server push type communication between the communication device and a server, a job notification indicating whether or not there is a job to be executed by the communication device from the server, using the connection; A first task for the communication device operating in the first mode to receive the job notification includes receiving an existing job notification indicating that a job exists for the communication device to execute when a job exists for the communication device to execute; the first task receives a non-existent job notification indicating that there is no job to be executed by the communication device at every first predetermined time when there is no job to be executed by the communication device, and transitions to a blocking state in which no other process is executed during the period from when a process for receiving the non-existent job notification is executed until the next non-existent job notification is received; a stop unit that stops the first mode when a first present job notification indicating that a first job to be executed by the communication device exists is received by the first task from the server via the connection while the operation mode of the communication device is in the first mode; a first job execution unit that executes the first job by a second task different from the first task when the first present job notification is received from the server; A computer program that functions as a

Citation Information

Patent Citations

  • printer

    JP2012187866A

  • Management device, management system, and control method

    JP2013218452A

  • Communication device and computer program for communication device

    JP2020126547A

  • Image formation device, control method for the same, image formation system and program

    JP2020185730A