Image processing apparatus and computer program for image processing apparatus

The image processing apparatus manages server processing load by transitioning service states and registering/deregistering event notifications, addressing inefficiencies in cloud printing systems and optimizing resource utilization.

JP7708285B2Active Publication Date: 2025-07-15BROTHER KOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024153140
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-09-05
Publication Date
2025-07-15
Estimated Expiration
2040-12-25

AI Technical Summary

Technical Problem

Existing cloud printing systems impose a significant processing load on servers due to continuous job transmission and management, which can be inefficient and resource-intensive.

Method used

An image processing apparatus that transitions its service state between valid and invalid states, registering and deregistering event notifications with the server to manage job requests and notifications efficiently, thereby reducing server processing load.

Benefits of technology

The solution effectively reduces server processing load by minimizing unnecessary job management operations, optimizing resource utilization, and enhancing system efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007708285000001
    Figure 0007708285000001
  • Figure 0007708285000002
    Figure 0007708285000002
  • Figure 0007708285000003
    Figure 0007708285000003
Patent Text Reader

Abstract

To disclose a technique to reduce a processing load on a server that can transmit a job to an image processing apparatus.SOLUTION: An image processing apparatus may comprise: a second state transition unit that, in a situation where a service state is a valid state, when an invalidation instruction to cause the service state to transition to an invalid state is acquired, causes the service state to transition from the valid state to the invalid state; and a first deletion instruction transmission unit that, in a situation where the service state is the valid state, when the invalidation instruction is acquired, transmits a first event deletion instruction to the server. The first event deletion instruction is an instruction to delete reception of a job transmission request made by the server from an event to be notified to the image processing apparatus.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technology disclosed in this specification relates to an image processing apparatus that receives jobs from a server.

Background Art

[0002] Patent Document 1 discloses a cloud printing system including a printer and a server. When a print job is added to the server, the printer receives the print job from the server and executes printing.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] This specification discloses a technology for reducing the processing load of a server capable of transmitting jobs to an image processing apparatus.

Means for Solving the Problems

[0005] The image processing apparatus disclosed by this specification includes: a first state transition unit that, when an activation instruction for transitioning the service state from an invalid state to a valid state is acquired in a situation where the service state for receiving a job providing service from a server is in the invalid state, transitions the service state from the invalid state to the valid state, where the invalid state is a state in which it is impossible to receive a job that is an execution instruction for image processing from the server, and the valid state is a state in which it is possible to receive the job from the server; a first registration instruction transmission unit that, when the activation instruction is acquired in a situation where the service state is in the invalid state, transmits a first event registration instruction to the server, where the first event registration instruction is an instruction for registering acceptance of a job transmission request by the server as an event to be notified to the image processing apparatus, and the job transmission request is a request for transmitting a job to the image processing apparatus via the server; an engine control unit that, when the job is received from the server in a situation where the service state is in the valid state, causes the image processing engine to execute image processing according to the job; a second state transition unit that, when an inactivation instruction for transitioning the service state from the valid state to the invalid state is acquired in a situation where the service state is in the valid state, transitions the service state from the valid state to the invalid state; and a first deletion instruction transmission unit that, when the inactivation instruction is acquired in a situation where the service state is in the valid state, transmits a first event deletion instruction to the server, where the first event deletion instruction is an instruction for deleting acceptance of the job transmission request by the server from the events to be notified to the image processing apparatus.

[0006] According to the above configuration, when the image processing apparatus acquires an inactivation instruction, it transmits a first event deletion instruction to the server. As a result, the server does not need to execute the processing corresponding to the acceptance of the job transmission request. Therefore, the processing load on the server can be reduced.

[0007] A computer program for the above-described image processing apparatus, a computer-readable recording medium storing the computer program, and a method executed by the image processing apparatus are also novel and useful. Further, a system including the above-described image processing apparatus and a server is also novel and useful.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Modes for Carrying Out the Invention

[0009] (First Embodiment) (Configuration of the Communication System; FIG. 1) As shown in FIG. 1, the communication system 2 includes a printer 10, a terminal 50, and a print mediation server 100. Each device 10, 50, 100 is connected to the Internet 6 and can communicate with each other via the Internet 6.

[0010] (Configuration of Printer 10) The printer 10 is a peripheral device capable of executing a printing function (for example, a peripheral device of the terminal 50). In a modified example, the printer 10 may be a multi-functional device capable of executing a scanning function, a FAX function, etc. A printer ID "P1" for identifying the printer 10 is assigned to the printer 10. The printer 10 includes an operation unit 12, a display unit 14, a communication interface 16, a printing engine 18, and a control unit 30. Each of the units 12 to 30 is connected to a bus line (reference numerals omitted). Hereinafter, an interface will be referred to as "I / F".

[0011] The operation unit 12 includes a plurality of keys. The user can input various instructions to the printer 10 by operating the operation unit 12. The display unit 14 is a display for displaying various information. The display unit 14 also functions as a touch panel (i.e., an operation unit) for receiving instructions from the user. The communication I / F 16 is connected to the Internet 6. The printing engine 18 includes a printing mechanism such as an inkjet method or a laser method.

[0012] 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, etc. The memory 34 further stores a service state for receiving a job providing service (in other words, a cloud printing service) from the server 100 according to IPP (abbreviation of Internet Printing Protocol).

[0013] The service state indicates either "valid", which indicates that the printer 10 can receive a job from the server 100, or "invalid", which indicates that the printer 10 cannot receive a job from the server 100. Hereinafter, the state where the service state in the memory 34 indicates "valid" and the state where the service state in the memory 34 indicates "invalid" may be expressed as "the service state of the printer 10 is in a valid state" and "the service state of the printer 10 is in an invalid state", respectively.

[0014] (Configuration of Terminal 50) Terminal 50 is a portable terminal device such as a mobile phone, smartphone, PDA, notebook PC, or tablet PC. In a modification, Terminal 50 may be a stationary terminal device such as a desktop PC.

[0015] (Configuration of Print Intermediation Server 100) Hereinafter, Print Intermediation Server 100 will be abbreviated as "Server 100" for description. Server 100 is a server that provides a cloud printing service. Server 100 is a server installed on Internet 6 by a business operator different from the vendor of Printer 10 (for example, a business operator that provides a cloud printing service). In a modification, Server 100 may be installed by the vendor of Printer 10. When Server 100 receives image data from Terminal 50, for example, it generates a job and transmits the job to Printer 10. The job includes print data generated by converting the image data into a data format interpretable by Printer 10.

[0016] Server 100 includes a communication I / F 116 and a control unit 130. Each of units 116 to 130 is connected by a bus line (reference numeral omitted). Communication I / F 116 is connected to Internet 6.

[0017] Control unit 130 includes a CPU 132 and a memory 134. CPU 132 executes various processes according to a program 136 stored in memory 134. Memory 134 is composed of a volatile memory, a non-volatile memory, etc. Memory 134 further stores a printer table 138.

[0018] The printer table 138 is a table that stores by associating a printer ID, an access token, accepting-jobs, and Subscriptions. The access token is information used by the server 100 to authenticate the printer when a request conforming to IPP is communicated between the printer and the server 100. Also, the access token is used to establish a constant connection between the printer and the server 100. In this embodiment, the printer 10 uses a persistent connection conforming to HTTP (abbreviation of Hypertext Transfer Protocol) to realize behavior like a constant connection. In a modified example, the constant connection may be a connection conforming to XMPP (abbreviation of Extensible Messaging and Presence Protocol). Accepting-jobs is information indicating printer attributes conforming to IPP, and specifically, it is information indicating whether the server 100 accepts a print request. Accepting-jobs indicates either yes, which indicates accepting a print request, or no, which indicates not accepting a print request. Here, "accepting a print request" means generating a job in response to the server 100 receiving a print request. "Not accepting a print request" means not generating a job even if the server 100 receives a print request. Subscriptions is information indicating events that the server 100 should monitor and notify.

[0019] (Registration process; Figure 2) Referring to Figure 2, a process for registering information about the printer 10 with the server 100 to receive the cloud printing service from the server 100 will be described. In the following, for ease of understanding, the operations executed by the CPU of each device (e.g., CPU 32, etc.) are described mainly with each device (e.g., printer 10) as the subject, without describing the CPU as the main body. Also, all communications executed by each device 10, 100 are executed via the communication I / Fs 16, 116. For this reason, in the following, the description "via the communication I / F 16 (or 116)" is omitted.

[0020] When the terminal 50 receives an operation from the user, it accesses the web server in the printer 10. Then, when the terminal 50 receives an operation from the user for receiving a cloud printing service, it sends a registration instruction to the printer 10 at T10.

[0021] When the printer 10 receives a registration instruction from the terminal 50 at T10, it sends a registration request including the printer ID "P1" to the server 100 at T12.

[0022] When the server 100 receives a registration request from the printer 10 at T12, it generates a PIN code "C" at T14. In a variant, the server 100 may generate a password (i.e., a character string) at T14. Then, the server 100 associates the printer ID "P1" included in the registration request with the generated PIN code "C" and stores them in the memory 134. Next, the server 100 sends the PIN code "C" and a login URL (abbreviation for Uniform Resource Locator) to the printer 10 at T20. The login URL is information indicating the position of the authentication screen data described later in the server 100.

[0023] When the printer 10 receives the PIN code "C" and the URL from the server 100 at T20, it sends them to the terminal 50 at T22.

[0024] When the terminal 50 receives the PIN code "C" and the URL from the printer 10 at T22, it displays them at T30. Then, when the terminal 50 receives an operation of selecting the URL from the user at T32, it sends an authentication request including the URL to the server 100 at T40.

[0025] When the server 100 receives an authentication request from the terminal 50 at T40, at T42, it sends the authentication screen data specified by the URL included in the authentication request to the terminal 50. The authentication screen data is data representing an authentication screen for entering a PIN code.

[0026] When the terminal 50 receives the authentication screen data from the server 100 at T42, at T44, it displays the authentication screen. Next, at T46, the terminal 50 accepts the input of the PIN code "C" displayed at T30 from the user. In this case, at T50, the terminal 50 sends the entered PIN code "C" to the server 100.

[0027] When the server 100 receives the PIN code "C" from the terminal 50 at T50, at T52, it executes the authentication of the received PIN code "C". Specifically, the server 100 determines whether the received PIN code "C" is already stored. When the server 100 determines that the received PIN code "C" is already stored, that is, when the authentication is successful, at T54, it generates an access token AT1 which is a unique string. Then, at T56, the server 100 stores the generated access token AT1 in the printer table 138 in association with the printer ID "P1" stored at T14. After that, at T60, the server 100 sends an authentication notification including the generated access token AT1 to the printer 10.

[0028] When the printer 10 receives the authentication notification from the server 100 at T60, at T62, it stores the access token AT1 included in the authentication notification in the memory 34.

[0029] (Continuation of Figure 2; Figure 3) Figure 3 is a case that continues from Figure 2. Specifically, it is a case of transitioning the service state of the printer 10 from an invalid state to a valid state.

[0030] Upon receiving an operation from the user, the terminal 50 accesses the web server in the printer 10. Then, in T100, upon receiving a setting change operation from the user, the terminal 50 transmits a setting change screen request to the printer 10 in T102.

[0031] In T102, upon receiving a setting change screen request from the terminal 50, the printer 10 transmits setting change screen data representing the setting change screen SC1 to the terminal 50.

[0032] In T104, upon receiving the setting change screen data from the printer 10, the terminal 50 displays the setting change screen SC1 in T106. The setting change screen SC1 is a screen for changing the service state of the printer, and includes the printer ID "P1", a check box for setting the service state to valid, a check box for setting the service state to invalid, and an OK button. At the current time, since the service state of the printer 10 is in the invalid state, in the setting change screen SC1, the invalid check box is checked.

[0033] In T110, after receiving an operation from the user to check the valid check box in the setting change screen SC1, the terminal 50 receives the selection of the OK button. In this case, the terminal 50 transmits an activation instruction to the printer 10 in T112.

[0034] In T112, upon receiving the activation instruction from the terminal 50, the printer 10 shifts the service state from the invalid state to the valid state in T114. Specifically, the printer 10 changes the service state in the memory 34 from invalid to valid. Then, the printer 10 transmits completion screen data representing the completion screen SC2 to the terminal 50 in T116.

[0035] When the terminal 50 receives the completion screen data from the printer 10 at T116, it displays the completion screen SC2 at T118. The completion screen SC2 includes a message indicating that the service state of the printer 10 has been changed. Therefore, the user can confirm that the change in the service state of the printer 10 has been completed by viewing the completion screen SC2.

[0036] When the printer 10 transitions to the active state at T114, at T120, it uses the stored access token AT1 (see T62 in FIG. 2) to establish a permanent connection with the server 100. If the server 100 uses the permanent connection, it can send a signal to the printer 10 across the firewall of the LAN to which the printer 10 belongs without receiving a request from the printer 10. That is, the permanent connection is a connection capable of executing server push-type communication. The permanent connection is maintained until the service state of the printer 10 transitions to the inactive state.

[0037] Next, at T122 and T124, the printer 10 sends various commands including the printer ID "P1" to the server 100. The command at T122 is a command for registering "yes" as "accepting-jobs" with the server 100. This enables the server 100 to execute the acceptance of print requests. The command at T124 is Craete-Printer-Subscriptions (hereinafter referred to as "CPS"). CPS is a command for registering a new event as Subscriptions with the server 100.

[0038] The CPS at T124 is a command for registering "job-fetchable" with the server 100. "Job-fetchable" is an event of accepting a print request. That is, the CPS at T124 is an instruction for the server 100 to monitor the acceptance of a print request and notify the printer 10 to that effect (i.e., send the job notification described later). This enables the server 100 to execute the notification of the acceptance of a print request.

[0039] When the server 100 receives various commands from the printer 10 at T122 and T124, it updates the printer table 138 at T126. Specifically, the server 100 stores "yes" as accepting - jobs in association with the printer ID "P1" included in the command at T122. The server 100 further stores "job - fetchable" as Subscriptions in association with the printer ID "P1" included in the CPS at T124.

[0040] After that, when the terminal 50 receives an instruction from the user that includes the specification of the printer (printer 10 in this case) for which printing is to be executed and the specification of the image to be printed, at T130, it sends a print request to the server 100. The print request includes the printer ID "P1" that identifies the printer 10 specified by the user and the image data representing the image to be printed.

[0041] When the server 100 receives a print request from the terminal 50 at T130, first, it identifies the printer ID "P1" included in the request from the printer table 138. Then, the printer 10 determines whether the accepting - jobs associated with the printer ID "P1" in the printer table 138 indicates "yes" or "no". In this case, since accepting - jobs indicates "yes" (refer to T122, T126), the server 100 accepts the print request. That is, the server 100 generates a job identified by the job ID "Job1" at T132. Specifically, the server 100 first converts the image data already received from the terminal 50 to generate print data having a data format interpretable by the printer 10. Then, the server 100 stores the printer ID "P1", the job ID "Job1", and the print data in association with each other in the memory 134.

[0042] Next, the server 100 determines whether "job-fetchable" is stored as Subscriptions associated with the printer ID "P1" in the printer table 138. In this case, since "job-fetchable" is stored (see T124, T126), the server 100 notifies the printer 10 that a print request reception event has occurred. That is, at T134, the server 100 uses the always-on connection to send a job notification indicating that a job has been generated to the printer 10. The job notification includes the job ID "Job1" of the job generated at T132.

[0043] When the printer 10 receives the job notification from the server 100 at T134, at T136, it sends a job request including the job ID "Job1" to the server 100.

[0044] When the server 100 receives the job request from the printer 10 at T136, it identifies the print data stored in association with the job ID "Job1" included in the job request. Then, at T138, the server 100 sends the job including the print data to the printer 10.

[0045] When the printer 10 receives the job including the print data from the server 100 at T138, at T140, it supplies the print data to the print engine 18. Thereby, printing of the image represented by the print data is executed by the print engine 18. In this way, the printer 10 can execute printing of an image using the cloud printing service.

[0046] (Continued from Figure 3; Figure 4) Figure 4 shows a case that follows Figure 3, specifically, a case where the service state of the printer 10 is shifted from the valid state to the invalid state. The processes of T200 to T206 in Figure 4 are the same as the processes of T100 to T106 in Figure 3. Although not shown, since the service state of the printer 10 is in the valid state (see T114 in Figure 3), in the setting change screen SC1 displayed at T206, the check box for "valid" is checked.

[0047] At T210, after the terminal 50 receives an operation from the user to check the "invalid" check box in the setting change screen SC1, it receives a selection of the OK button. In this case, at T212, the terminal 50 sends an invalidation instruction to the printer 10.

[0048] When the printer 10 receives the invalidation instruction from the terminal 50 at T212, at T214, it shifts the service state from the valid state to the invalid state. Specifically, the printer 10 changes the service state in the memory 34 from valid to invalid. The processes of T216 and T218 are the same as the processes of T116 and T118 in Figure 3. Further, when the printer 10 shifts to the invalid state at T214, at T220, it disconnects the constant connection with the server 100 (see T120 in Figure 3). For this reason, it is not necessary to execute various communications for maintaining the constant connection between the printer 10 and the server 100. As a result, the communication load between the printer 10 and the server 100 is reduced.

[0049] Next, at T222, the printer 10 sends a command including the printer ID "P1" to the server 100. The command is Cancel-Subscriptions (hereinafter referred to as "CS"). CS is a command for deleting events from Subscriptions. The CS at T222 is a command for deleting job-fetchable (see T124 in Figure 3) from the server 100.

[0050] When the server 100 receives the CS from the printer 10 at T222, it updates the printer table 138 at T224. Specifically, the server 100 deletes job-fetchable from the Subscriptions associated with the printer ID "P1" included in the CS at T222. As a result, the server 100 stops monitoring for print requests and notifying the printer 10 to that effect.

[0051] The processes of T230 and T232 are the same as the processes of T140 and T142 in FIG. 3, except that the job ID of the generated job is "Job2". At present, since the server 100 does not store job-fetchable, it does not send a job notification to the printer 10.

[0052] According to the above configuration, when the printer 10 obtains an invalidation instruction from the terminal 50 (T212 in FIG. 4), it sends a CS to the server 100 to delete job-fetchable from the server 100. As a result, the server 100 does not have to execute the process in response to receiving a print request. Specifically, the server 100 does not have to execute the process of monitoring that a job for the printer 10 to execute printing has been newly generated. Therefore, the processing load on the server 100 can be reduced.

[0053] (Corresponding relationship) The printer 10 and the print mediation server 100 are examples of an "image processing apparatus" and a "server", respectively. The print engine 18 is an example of an "image processing engine". The CPS transmitted at T124 in FIG. 3 and the CS transmitted at T222 in FIG. 4 are examples of a "first event registration instruction" and a "first event deletion instruction", respectively. The print request transmitted at T130 in FIG. 3 (and the print request transmitted at T230 in FIG. 4) is an example of a "job transmission request". The printing executed at T140 in FIG. 3 is an example of "image processing".

[0054] The processing of T114, T124, and T140 in FIG. 3 are examples of processing executed by the "first state transition unit", the "first registration instruction transmission unit", and the "engine control unit", respectively. The processing of T214 and T222 in FIG. 4 are examples of processing executed by the "second state transition unit" and the "first deletion instruction transmission unit", respectively.

[0055] (Second Embodiment; FIG. 5) Subsequently, referring to FIG. 5, a second embodiment will be described. In the second embodiment, the difference from the first embodiment is that job-state-changed is further used as Subscriptions. FIG. 5 shows a continuation case of FIG. 2.

[0056] In FIG. 5, first, the same processing as that of T100 to T122 in FIG. 3 is executed. As a result, at T324, the printer 10 transmits a CPS including the printer ID "P1" to the server 100. The CPS at T324 is a command for registering job-fetchable and job-state-changed with the server 100. In a modification, the printer 10 may separately transmit to the server 100 a CPS for registering job-fetchable with the server 100 and a CPS for registering job-state-changed with the server 100. Job-state-changed is an event of job status change. That is, the CPS at T324 is an instruction for causing the server 100 to execute monitoring of reception of a print request and notification to the printer 10 to that effect (i.e., transmission of a job notification), and is also an instruction for causing the server 100 to execute monitoring of job status change and notification to the printer 10 to that effect (i.e., transmission of a cancellation notification described later). Thereby, it is possible to cause the server 100 to execute notification of reception of a print request, and it is also possible to cause the server 100 to execute notification of job status change. Hereinafter, job cancellation will be described as a job status change, but in a modification, the job status change may be, for example, suspension of printing according to the job. The processing of T326 is the same as the processing of T126 in FIG. 3 except that job-state-changed is further stored as Subscriptions.

[0057] The processing of T330 to T338 is the same as the processing of T130 to T138 in FIG. 3. Thereafter, before printing according to the job at T338 is executed by the printer 10, the terminal 50 receives from the user a print cancellation instruction including specification of the job ID "Job1". In this case, at T340, the terminal 50 transmits a print cancellation request to the server 100. The print cancellation request includes the job ID "Job1" specified by the user.

[0058] When the server 100 receives a print cancellation request from the terminal 50 in T340, it identifies the printer ID "P1" associated with the job ID "Job1". Then, in the printer table 138, it determines whether "job-state-changed" is stored as a Subscription associated with the printer ID "P1". In this case, since "job-state-changed" is stored (see T324, T326), the server 100 notifies the printer 10 that a job status change event has occurred. That is, in T342, the server 100 uses persistent connection (see T120 in Figure 3) to send a cancellation notification indicating that the job has been cancelled to the printer 10. The cancellation notification includes the job ID "Job1". Then, in T344, the server 100 deletes the job specified by the job ID "Job1" included in the print cancellation request.

[0059] When the printer 10 receives the cancellation notification from the server 100 in T342, it deletes the job identified by the job ID "Job1" included in the cancellation notification (i.e., the job received in T338). Thereby, the printer 10 can stop printing the job identified by the job ID "Job1".

[0060] After that, when the same processing as T200 - T220 in Figure 4 is executed, the printer 10 sends a CS including the printer ID "P1" to the server 100 in T360. The CS in T360 is a command for deleting "job-fetchable" and "job-state-changed" from the server 100.

[0061] When the server 100 receives the CS from the printer 10 at T360, it updates the printer table 138 at T362. Specifically, the server 100 deletes job-fetchable and job-state-changed from the Subscriptions associated with the printer ID "P1" included in the CS at T360. As a result, the server 100 stops monitoring the reception of print requests and notifying the printer 10 thereof, and also stops monitoring the change in the job status and notifying the printer 10 thereof.

[0062] The processes of T370 and T372 are the same as the processes of T230 and T232 in FIG. 4. In this case, since the server 100 does not store job-fetchable, it does not send a job notification to the printer 10.

[0063] The processes of T380 and T384 are the same as the processes of T340 and T344, except that the job ID of the job to be deleted is "Job2". In this case, since the server 100 does not store job-state-changed, it does not send a cancellation notification to the printer 10.

[0064] When the printer 10 obtains an invalidation instruction (T212 in FIG. 4 cited in FIG. 5), it sends a CS for deleting job-state-changed from the server 100 to the server 100 (T360). As a result, the server 100 does not have to execute the process in response to receiving a print cancellation request. Specifically, the server 100 does not have to execute the process of monitoring that the status of the job has changed (cancelled in this case) in the server 100. Therefore, the processing load on the server 100 can be reduced.

[0065] In particular, when the printer 10 receives an invalidation instruction in a state where it does not store any jobs (T212 in FIG. 4, which is cited in FIG. 5), immediately thereafter, it transmits a CS for deleting job-state-changed to the server 100 (T360). This is because in such a situation, an event in which the printer 10 receives a cancellation notice from the server 100 cannot occur. Therefore, by quickly transmitting the CS to the server 100, the printer 10 can quickly reduce the processing load on the server 100.

[0066] (Corresponding relationship) The CPS transmitted at T324 in FIG. 5 is an example of the "first event registration instruction" and the "second event registration instruction". The CS transmitted at T360 is an example of the "first event deletion instruction" and the "second event deletion instruction". The process of T324 is an example of the process executed by the "first registration instruction transmission unit" and the "second registration instruction transmission unit". The process of T360 is an example of the process executed by the "first deletion instruction transmission unit" and the "second deletion instruction transmission unit".

[0067] (Third Embodiment; FIG. 6) Subsequently, referring to FIG. 6, the third embodiment will be described. In the third embodiment, the timing at which job-state-changed is deleted is different from that in the second embodiment. FIG. 6 is a continuation case of FIG. 2. In FIG. 6, first, the same processes as those of T100 to T122 in FIG. 3 and the same processes as those of T322 and T324 in FIG. 5 are executed.

[0068] The processes of T400 to T408 are the same as the processes of T130 to T138 in FIG. 3. As a result, at T410, the printer 10 supplies the print data received at T408 to the print engine 18, and thus the printing of the image represented by the print data is started by the print engine 18.

[0069] After that, while the printer 10 is executing the printing started at T410, at T420, the server 100 newly receives a print request including the printer ID "P1" and image data different from the image data of T400. The processes of T422 to T428 are the same as the processes of T132 to T138 in FIG. 3, except that the job ID is "Job2".

[0070] After that, the processes of T200 to T218 in FIG. 4 and processes similar to T222 and T224 are executed. That is, a CS for deleting job-fetchable is sent from the server 100, but a CS for deleting job-state-changed is not sent from the server 100. This is because at this time, the printer 10 stores the job identified by the job ID "Job1". As a result, the server 100 deletes only job-fetchable from the Subscriptions associated with the printer ID "P1" and does not delete job-state-changed.

[0071] When job-state-changed is stored in the server 100 as Subscriptions, the printer 10 always maintains the connection even if the service state transitions to the invalid state. This is because the printer 10 can receive a cancellation notification from the server 100.

[0072] The processes of T430 and T432 are the same as the processes of T130 and T132 in FIG. 3, except that the job ID is "Job3". At this time, since the server 100 does not store job-fetchable, it does not send a job notification to the printer 10.

[0073] The processes of T440 to T446 are the same as the processes of T340 to T346 in FIG. 5, except that the job ID of the job to be canceled is "Job2".

[0074] After that, in T450, the printing started in T410 is completed. In this case, the printer 10 deletes the job identified by the job ID "Job1". As a result, no job is stored in the memory 34 of the printer 10. In response to this, the printer 10 transmits CS to the server 100 in T460. The CS transmitted in T460 is a command for deleting job-state-changed from the server 100.

[0075] When the server 100 receives CS from the printer 10 in T460, it updates the printer table 138 in T462. Specifically, the server 100 deletes job-state-changed from the Subscriptions associated with the printer ID "P1" included in the CS of T460. As a result, the server 100 stops monitoring the status change of the job and notifying the printer 10 to that effect.

[0076] Since all of the Subscriptions corresponding to the printer 10 are deleted from the server 100 in T462, the printer 10 disconnects the always-on connection with the server 100 (see T120 in FIG. 3) in T470.

[0077] In this way, when the printer 10 acquires an invalidation instruction while storing one or more jobs (T212 in FIG. 4 cited in FIG. 6), immediately thereafter, it does not transmit CS for deleting job-state-changed from the server 100 to the server 100. For this reason, the printer 10 can appropriately receive a cancellation notification from the server 100 and cancel printing according to the job. After that, when printing according to one or more jobs is completed (T450 in FIG. 6), the printer 10 transmits CS for deleting job-state-changed from the server 100 to the server 100 (T460). As a result, the server 100 does not have to execute the process in response to the print cancellation request. Thereby, the processing load on the server 100 can be reduced.

[0078] (Fourth Embodiment; Figure 7) Next, referring to Figure 7, a fourth embodiment will be described. In the fourth embodiment, when an inactivation instruction is acquired in the printer 10, a command for registering "no" as accepting-jobs to the server 100 is transmitted to the server 100, which is different from the first embodiment. Figure 7 is a continuation case of Figure 2. In Figure 7, first, the same processes as T100 to T120 in Figure 3 are executed. The processes of T522 to T526 are the same as the processes of T122 to T126 in Figure 3.

[0079] Thereafter, the same processes as T200 to T220 in Figure 4 are executed. In this case, the printer 10 transmits a command including the printer ID "P1" to the server 100 at T530. The command is a command for registering "no" as accepting-jobs to the server 100. The process of T532 is the same as the process of T222 in Figure 4.

[0080] The server 100 receives a command from the printer 10 at T530 and receives the CPS at T532. In this case, the server 100 updates the printer table 138 at T534. Specifically, the server 100 stores "no" instead of "yes" as accepting-jobs in association with the printer ID "P1" included in the command of T530. The server 100 further deletes job-fetchable from the Subscriptions associated with the printer ID "P1" included in the CS of T532. As a result, the server 100 stops accepting print requests for causing the printer 10 to execute printing, and stops monitoring the acceptance of print requests and notifying the printer 10 to that effect.

[0081] The processing of T540 is the same as the processing of T30 in FIG. 3. Since the server 100 has stopped accepting print requests, it does not generate a job even if it receives a print request from the terminal 50. Also, since no job is generated in the server 100, no job notification is sent. Then, at T542, the server 100 sends error screen data representing the error screen SC3 to the terminal 50.

[0082] When the terminal 50 receives the error screen data from the server 100 at T542, it displays the error screen SC3 at T544. The error screen SC3 includes the printer ID "P1" and a message indicating that the acceptance of print requests has been stopped. Therefore, by looking at the error screen SC3, the user can know that the printer 10 cannot use the cloud printing service.

[0083] In this way, when the printer 10 obtains an inactivation instruction from the terminal 50 (T212 in FIG. 4 cited in FIG. 7), it registers "no" as accepting - jobs with the server 100 (T530 in FIG. 7). As a result, the server 100 stops accepting print requests. Therefore, even though the service state of the printer 10 shifts to the invalid state and the always - on connection between the printer 10 and the server 100 is disconnected (that is, even though the server 100 cannot send job notifications to the printer 10), it is possible to suppress the occurrence of an event where the server 100 accepts a print request and generates a job. Since the server 100 does not need to accept a print request and generate a job, the processing load on the server 100 can be reduced.

[0084] (Corresponding relationship) The command sent at T522 in FIG. 7 and the command sent at T530 are examples of a "reception instruction" and a "reception stop instruction", respectively. The processing of T522 and the processing of T530 are examples of the processing executed by a "reception instruction transmission unit" and a "reception stop instruction transmission unit", respectively.

[0085] (Example 5; FIG. 8) Next, referring to FIG. 8, a fifth embodiment will be described. In the fifth embodiment, the point that the printer 10 transmits inquiry screen data to the terminal 50 in response to obtaining an invalidation instruction is different from the fourth embodiment. FIG. 8 shows a case that is a continuation of C in FIG. 7. The processes of T632 and T634 are the same as the processes of T222 and T224 in FIG. 4.

[0086] At T640, the printer 10 transmits inquiry screen data representing the inquiry screen SC4 to the terminal 50.

[0087] At T640, when the terminal 50 receives the inquiry screen data from the printer 10, at T642, the terminal 50 causes the inquiry screen SC4 to be displayed on the display unit of the terminal 50. The inquiry screen SC4 includes a message for inquiring whether to stop accepting print requests, a YES button, and a NO button.

[0088] (Case A of the Fifth Embodiment) In case A, at T650, the terminal 50 accepts the selection of the YES button in the inquiry screen SC4. In this case, at T652, the terminal 50 transmits YES selection information indicating that the YES button has been selected to the printer 10.

[0089] At T652, when the printer 10 receives the YES selection information from the terminal 50, at T654, the printer 10 transmits a command for registering "no" as accepting - jobs to the server 100. As a result, in the server 100, the printer table 138 is updated (i.e., "no" is registered as accepting - jobs) (T656), and the acceptance of print requests is stopped.

[0090] (Case B of the Fifth Embodiment) On the other hand, in case B, at T660, the terminal 50 accepts the selection of the NO button in the inquiry screen SC4. In this case, at T662, the terminal 50 transmits NO selection information indicating that the NO button in the inquiry screen SC4 has been selected to the printer 10.

[0091] When the printer 10 receives NO selection information from the terminal 50 in T662, it does not send a command to the server 100 to register "no" as accepting-jobs. As a result, the service state of the printer 10 is changed to the invalid state, but the server 100 continues to execute the acceptance of print requests.

[0092] In this way, when the printer 10 obtains an invalidation instruction (T212 in FIG. 4 cited in FIG. 7), it transmits inquiry screen data to the terminal 50 (T640 in FIG. 8). As a result, the terminal 50 displays the inquiry screen SC4 (T642). Therefore, the user can select whether to stop accepting print requests on the inquiry screen SC4.

[0093] For example, the user can select whether to stop accepting print requests according to whether the time for maintaining the service state of the printer 10 in the invalid state is relatively short or relatively long. When the time for maintaining the service state of the printer 10 in the invalid state is relatively short (for example, in the case of maintenance of the printer 10, etc.), the user can select the NO button in the inquiry screen SC4 to maintain the acceptance of print requests. Thereby, after the service state of the printer 10 migrates to the valid state again, the printer 10 can execute printing in response to the print requests received by the server 100 while the service state is in the invalid state. Also, when the time for maintaining the service state of the printer 10 in the invalid state is relatively long (for example, in the case of a long vacation in the office where the printer 10 is installed, etc.), the user can select the YES button in the inquiry screen SC4 to stop accepting print requests. Thereby, the processing load on the server 100 can be reduced.

[0094] (Corresponding relationship) The inquiry screen SC4 is an example of the "inquiry screen". The display unit of the terminal 50 is an example of the "display unit". The process of T640 in FIG. 8 is an example of the process executed by the "display control unit".

[0095] The specific examples of the technology disclosed in this specification have been described in detail above. However, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes to the specific examples exemplified above. The modifications of the above embodiments are listed below.

[0096] (Modification Example 1) In each of the above embodiments, when the service state of the printer 10 transitions to the active state, a connection is always established between the printer 10 and the server 100 (see, for example, T120 in FIG. 3). Then, the server 100 uses the established connection to send a job notification to the printer 10 (see, for example, T144). Instead of this, the printer 10 may transition to a state where it periodically sends polling to the server 100 instead of establishing a connection. In this case, when the server 100 receives polling from the printer 10, it may send a job to the printer 10 as a response. In this modification example, the state of sending polling and the state of not sending polling are examples of the "active state" and the "inactive state", respectively.

[0097] (Modification Example 2) The printer 10 may be a multifunctional device capable of executing functions such as a scan function and a FAX function. Also, in each of the above embodiments, a job providing service for causing the printer 10 to execute printing has been described. However, in the modification example, the job providing service may be a job providing service for causing the multifunctional device to execute FAX transmission. In this modification example, FAX transmission is an example of "image processing", and an engine for executing FAX transmission is an example of an "image processing engine". Also, in another modification example, the job providing service may be a job providing service for instructing the multifunctional device to execute scanning. In this modification example, execution of scanning is an example of "image processing", and an engine for executing scanning is an example of an "image processing engine".

[0098] (Modification Example 3) Instead of the processing of T640 in FIG. 8, the printer 10 may display the inquiry screen SC4 on the display unit 14 of the printer 10. In this modification example, the processing of T642 can be omitted. In this modification example, the display of the inquiry screen SC4 is an example of the processing executed by the "display control unit", and the display unit 14 of the printer 10 is an example of the "display unit".

[0099] (Modification Example 4) In each of the above-described embodiments, the processing in FIGS. 2 to 8 is executed by software (for example, programs 36 and 136), but at least one of these processes may be realized by hardware such as a logic circuit.

[0100] The technical elements described in this specification or the drawings exhibit technical utility either 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 the drawings can achieve multiple purposes simultaneously, and achieving one of these purposes itself has technical utility. The following items are elements described in the claims at the time of filing. (Item 1) An image processing apparatus, an image processing engine, and a first state transition unit that, when an activation instruction for transitioning the service state from an invalid state to a valid state is acquired in a situation where the service state for receiving a job providing service from a server is in the invalid state, transitions the service state from the invalid state to the valid state, where the invalid state is a state in which it is impossible to receive a job that is an execution instruction for image processing from the server, and the valid state is a state in which it is possible to receive the job from the server, the first state transition unit; a first registration instruction transmission unit that, when the activation instruction is acquired in a situation where the service state is in the invalid state, transmits a first event registration instruction to the server, where the first event registration instruction is an instruction for registering acceptance of a job transmission request by the server as an event to be notified to the image processing apparatus, and the job transmission request is a request for transmitting a job to the image processing apparatus via the server, the first registration instruction transmission unit; an engine control unit that, when the job is received from the server in a situation where the service state is in the valid state, causes the image processing engine to execute image processing according to the job; a second state transition unit that, when an inactivation instruction for transitioning the service state from the valid state to the invalid state is acquired in a situation where the service state is in the valid state, transitions the service state from the valid state to the invalid state; a first deletion instruction transmission unit that, when the inactivation instruction is acquired in a situation where the service state is in the valid state, transmits a first event deletion instruction to the server, where the first event deletion instruction is an instruction for deleting acceptance of the job transmission request by the server from the events to be notified to the image processing apparatus, the first deletion instruction transmission unit; An image processing apparatus comprising the above. (Item 2) The image processing apparatus further comprises A second registration instruction transmission unit that, when the activation instruction is acquired in a situation where the service state is the invalid state, transmits a second event registration instruction to the server, wherein the second event registration instruction is an instruction for registering a change in the status of a job in the server as an event to be notified to the image processing apparatus; the second registration instruction transmission unit; A second deletion instruction transmission unit that, when the deactivation instruction is acquired in a situation where the service state is the valid state, transmits a second event deletion instruction to the server, wherein the second event deletion instruction is an instruction for deleting a change in the status of a job in the server from events to be notified to the image processing apparatus; the second deletion instruction transmission unit; The image processing apparatus according to item 1, comprising the above. (Item 3) When the deactivation instruction is acquired in a situation where the service state is the valid state and the image processing apparatus stores one or more of the jobs received from the server, the first deletion instruction transmission unit transmits the first event deletion instruction to the server. When the deactivation instruction is acquired in a situation where the service state is the valid state and the image processing apparatus does not store any of the jobs, the second deletion instruction transmission unit transmits the second event deletion instruction to the server. The image processing apparatus according to item 2, wherein the second event deletion instruction is not transmitted to the server when the deactivation instruction is acquired in a situation where the service state is the valid state and the image processing apparatus stores one or more of the jobs received from the server. (Item 4) The image processing apparatus according to item 3, wherein the second deletion instruction transmission unit transmits the second event deletion instruction to the server when the deactivation instruction is acquired in a situation where the service state is the valid state, the image processing apparatus stores one or more of the jobs received from the server, and image processing according to the one or more jobs is completed. (Item 5) The image processing apparatus further comprises A reception instruction transmission unit that transmits a reception instruction to the server when an activation instruction is acquired in a situation where the service state is the invalid state, wherein the reception instruction is an instruction for causing the server to execute reception of the job transmission request. A reception stop instruction transmission unit that transmits a reception stop instruction to the server when an inactivation instruction is acquired in a situation where the service state is the valid state, wherein the reception stop instruction is an instruction for causing the server to stop reception of the job transmission request. The image processing apparatus according to any one of Items 1 to 4, comprising: (Item 6) The image processing apparatus further includes: A display control unit that causes a query screen to be displayed on a display unit when an inactivation instruction is acquired in a situation where the service state is the valid state, wherein the query screen is a screen for querying whether the server should stop reception of the job transmission request. The reception stop instruction transmission unit transmits the reception stop instruction to the server when it is selected on the query screen that reception of the job transmission request should be stopped. The image processing apparatus according to Item 5, wherein the reception stop instruction is not transmitted to the server when it is selected on the query screen that reception of the job transmission request should not be stopped. (Item 7) A computer program for an image processing apparatus, wherein the image processing apparatus includes: An image processing engine; and A computer, and the computer program causes the computer to be: A first state transition unit that transitions the service state from the invalid state to the valid state when an activation instruction for transitioning the service state to the valid state is acquired in a situation where the service state for receiving a job providing service from a server is in the invalid state, wherein the invalid state is a state in which it is impossible to receive a job that is an execution instruction for image processing from the server, and the valid state is a state in which it is possible to receive the job from the server. A first registration instruction transmission unit that transmits a first event registration instruction to the server when an activation instruction is acquired in a situation where the service state is the invalid state, wherein the first event registration instruction is an instruction for registering reception of a job transmission request by the server as an event to be notified to the image processing apparatus, and the job transmission request is a request for transmitting a job to the image processing apparatus via the server; the first registration instruction transmission unit; An engine control unit that causes the image processing engine to execute image processing according to the job when the job is received from the server in a situation where the service state is the valid state; A second state transition unit that transitions the service state from the valid state to the invalid state when an invalidation instruction for transitioning the service state to the invalid state is acquired in a situation where the service state is the valid state; A first deletion instruction transmission unit that transmits a first event deletion instruction to the server when an invalidation instruction is acquired in a situation where the service state is the valid state, wherein the first event deletion instruction is an instruction for deleting reception of the job transmission request by the server from events to be notified to the image processing apparatus; the first deletion instruction transmission unit; A computer program that functions as;

Explanation of Symbols

[0101] 2: Communication system, 6: Internet, 10: Printer, 12: Operation unit, 14: Display unit, 16, 116: Communication I / F, 18: Printing engine, 30, 130: Control unit, 32, 132: CPU, 34, 134: Memory, 36, 136: Program, 50: Terminal, 138: Printer table

Claims

1. An image processing apparatus, comprising an image processing engine, a reception instruction transmission unit that transmits a reception instruction to a server, wherein the reception instruction is an instruction for causing the server to execute reception of a job transmission request for transmitting a job to the image processing apparatus via the server, the reception instruction transmission unit, a first registration instruction transmission unit that transmits a first event registration instruction to the server, wherein the first event registration instruction is an instruction for registering reception of the job transmission request by the server as an event to be notified to the image processing apparatus, the first registration instruction transmission unit, a first deletion instruction transmission unit that transmits a first event deletion instruction to the server, wherein the first event deletion instruction is an instruction for deleting reception of the job transmission request by the server from events to be notified to the image processing apparatus, the first deletion instruction transmission unit, and an image processing apparatus that does not transmit a reception stop instruction for causing the server to stop reception of the job transmission request to the server.

2. The image processing apparatus according to claim 1, wherein the image processing apparatus is a printer.

3. The image processing apparatus further comprises a second registration instruction transmission unit that transmits a second event registration instruction to the server, wherein the second event registration instruction is an instruction for registering a change in job status in the server as an event to be notified to the image processing apparatus, the second registration instruction transmission unit, a second deletion instruction transmission unit that transmits a second event deletion instruction to the server, wherein the second event deletion instruction is an instruction for deleting a change in job status in the server from events to be notified to the image processing apparatus, the second deletion instruction transmission unit, and is the image processing apparatus according to claim 1.

4. When the image processing apparatus does not store even one job received from the server, the first deletion instruction transmission unit transmits the first event deletion instruction to the server, the second deletion instruction transmission unit transmits the second event deletion instruction to the server, When the image processing apparatus stores one or more jobs received from the server, the first deletion instruction transmission unit transmits the first event deletion instruction to the server, and the second event deletion instruction is not transmitted to the server. The image processing apparatus according to claim 3.

5. The second deletion instruction transmission unit transmits the second event deletion instruction to the server when image processing according to the one or more jobs is completed while the image processing apparatus stores the one or more jobs received from the server. The image processing apparatus according to claim 4.

6. A computer program for an image processing apparatus, wherein the image processing apparatus comprises an image processing engine and a computer, and the computer program causes the computer to function as the following units, namely, a reception instruction transmission unit that transmits a reception instruction to the server, the reception instruction being an instruction for causing the server to execute reception of a job transmission request for transmitting a job to the image processing apparatus via the server, the reception instruction transmission unit; a first registration instruction transmission unit that transmits a first event registration instruction to the server, the first event registration instruction being an instruction for registering reception of the job transmission request by the server as an event to be notified to the image processing apparatus, the first registration instruction transmission unit; a first deletion instruction transmission unit that transmits a first event deletion instruction to the server, the first event deletion instruction being an instruction for deleting reception of the job transmission request by the server from events to be notified to the image processing apparatus, the first deletion instruction transmission unit; and a computer program that does not transmit a reception stop instruction for causing the server to stop reception of the job transmission request to the server.

Citation Information

Patent Citations

  • Image formation device and image formation system

    JP2015054412A

  • Image forming apparatus and image forming method

    JP2016165901A

  • Printing system, printing device, control method, and program

    JP2019137068A