System and method for controlling the system

JP2026127455APending Publication Date: 2026-08-06CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2025-01-27
Publication Date
2026-08-06

AI Technical Summary

Benefits of technology

【0007】 本発明によれば、対応優先度の高いイベント通知を優先して処理できるシステムを提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026127455000001_ABST
    Figure 2026127455000001_ABST
Patent Text Reader

Abstract

We provide a system that can prioritize processing event notifications with high response priority. [Solution] A system including an image forming apparatus having a notification execution application corresponding to a service, and a notification management server that manages event notifications to the image forming apparatus, has a notification management application that, when polling is frequent, determines whether an event notification received from the notification management server is a high-priority event notification, requests the application corresponding to the event notification to process the event notification if it is a high-priority event notification, and does not request the application to process the event notification if it is not a high-priority event notification, and a notification execution application that executes the processing of the event notification, and the notification management application determines that an event notification is a high-priority event notification when the identification information contained in the event notification matches the identification information indicating the notification execution application that made the request to change the polling frequency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system for managing event notifications in an image forming apparatus and a method for controlling the system.

Background Art

[0002] In an information processing system related to a general image forming apparatus, by sending an event notification from a server on the cloud to the image forming apparatus, an administrator of the image forming apparatus can remotely instruct an operation such as changing the setting value information of the image forming apparatus, which is widely practiced. Also, event notifications are sent from a server on the cloud to the image forming apparatus by the image forming apparatus polling the server on the cloud every few hours. Here, when there is an event notification for which quick processing is desired, the polling frequency of the image forming apparatus for the server on the cloud is temporarily increased so that the image forming apparatus can immediately receive an event notification with a high response priority. Patent Document 1 also discloses a method in which a server on the cloud manages the response priority of event notifications processed by an image forming apparatus according to the number of image forming apparatuses connected to the server. Image forming apparatuses connected to a server on the cloud today may receive a plurality of event notifications at once. The image forming apparatus executes an operation requested by the server by processing the plurality of event notifications one by one. Since the plurality of event notifications include event notifications with a high response priority, it is required that the image forming apparatus quickly processes the event notification with a high response priority among the plurality of event notifications.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, the method described in Patent Document 1 determines the priority of event processing based on the number of image forming machines connected to a server on the cloud, and does not take into account the circumstances in which the image forming machine itself is located. Therefore, it is not possible to quickly process event notifications with a high priority. For example, suppose a problem occurs with an image forming machine used by a customer. To perform repairs remotely, the repair technician for the image forming machine temporarily increases the polling frequency of the image forming machine to the server on the cloud and sends an event to the image forming machine to execute the repair function on the spot. In this case, if the image forming machine also receives an event notification for a firmware update unrelated to the repair, it is necessary to process the event notification for executing the repair function with the highest priority in order to avoid interrupting the customer's work using the image forming machine. However, if the event notification for the firmware update is processed first, the image forming machine cannot process the event notification for executing the repair function until the firmware update is complete. In other words, even though it receives an event with a high priority, the image forming machine cannot quickly process that event notification.

[0005] The present invention aims to provide a system that can prioritize the processing of event notifications with high response priority. [Means for solving the problem]

[0006] To solve the above problems, the present invention provides a system including an image forming apparatus having an application corresponding to a service, and a notification management server that manages event notifications from the service to the image forming apparatus, wherein the image forming apparatus includes a receiving unit that makes an event notification request to the notification management server by polling and receives event notifications from the notification management server to the image forming apparatus in a batch, a notification management unit that, when the polling is frequent, determines whether the received event notification is a high-priority event notification, requests the application corresponding to the event notification to process the event notification if it is a high-priority event notification, and performs notification management processing that does not request processing of the event notification if it is not a high-priority event notification, and an application that executes the processing of the event notification when it receives a request to process the event notification. The notification management unit determines that the event notification is a high-priority event notification when the identification information indicating the application that processes the event notification included in the event notification matches the identification information indicating the application that made the request to change the polling frequency. [Effects of the Invention]

[0007] According to the present invention, it is possible to provide a system that can prioritize the processing of event notifications with a high response priority. [Brief explanation of the drawing]

[0008] [Figure 1] This diagram shows the system configuration. [Figure 2] This diagram shows the hardware configuration of the notification management server and the service server. [Figure 3] This is a diagram showing the hardware configuration of an image forming apparatus. [Figure 4] This diagram shows the software configuration of the notification management server. [Figure 5] This is a diagram showing the software configuration of an image forming apparatus. [Figure 6]This figure shows the overall sequence of the notification process in the first embodiment. [Figure 7] This is a flowchart illustrating the event notification process within the image forming apparatus 103 in the first embodiment. [Figure 8] This is a flowchart illustrating the event notification process within the image forming apparatus 103 in the first embodiment. [Figure 9] This figure shows the overall sequence of the notification process in the second embodiment. [Figure 10] This is a flowchart illustrating the event notification process within the image forming apparatus 103 in the second embodiment. [Figure 11] This is a flowchart illustrating the event notification process within the image forming apparatus 103 in the second embodiment. [Figure 12] This figure shows the overall sequence of the information system in the third embodiment. [Figure 13] This figure shows a flowchart illustrating the processing flow of event notification in the image forming apparatus according to the third embodiment. [Figure 14] This figure shows a flowchart illustrating the processing flow of event notification in the image forming apparatus according to the third embodiment. [Modes for carrying out the invention]

[0009] (First Embodiment) Figure 1 shows the system configuration. The system of this embodiment is a notification management system in which an image forming apparatus 103, upon receiving an event notification from a notification management server 102, prioritizes and quickly processes event notifications that should be processed with priority. The system includes a notification management server 102 that manages event notifications from each service to the image forming apparatus 103 and transmits event notifications to the image forming apparatus 103, and an image forming apparatus 103 that receives event notifications from the notification management server 102 and processes the event notifications. The image forming apparatus 103 has applications corresponding to services (service server 101), and event notifications generated by instructions from a certain service are processed by the application corresponding to that service. The system may also include a service server 101 that provides services related to the image forming apparatus 103. The service server 101 can instruct the notification management server 102 to generate and hold event notifications for the image forming apparatus 103, and send event notifications to the image forming apparatus 103 that has been polled.

[0010] The service server 101, the notification management server 102, and the image forming apparatus 103 are each connected via the network 100. The network 100 only needs to be configured to enable data transmission and reception, and the communication method is not limited. For example, the network 100 can consist of one or a combination of LAN, WAN, cellular network such as LTE or 5G, wireless network, telephone line, dedicated digital line, etc.

[0011] There is one or more service servers 101 that provide services related to the image forming apparatus 103. The service server 101 makes a request to the notification management server 102 for generating a notification to be transmitted to the image forming apparatus 103. In the image forming apparatus 103, a notification execution application 502 corresponding to each of the service servers 101 is prepared. Services provided by the service server 101 include services for remotely operating the image forming apparatus 103, such as a remote repair service for repairing the image forming apparatus 103 from a remote location. The service server 101 that provides a service for remotely operating the image forming apparatus 103 makes a request to the notification management server 102 for generating an event notification for remotely operating the image forming apparatus 103.

[0012] The notification management server 102 receives a request for generating an event notification from one or more service servers 101, generates and holds an event notification to be transmitted to the image forming apparatus 103. Further, when there is polling from the image forming apparatus 103, the notification management server 102 collectively transmits one or more event notifications corresponding to the image forming apparatus 103 that has performed the polling to the image forming apparatus 103 that has performed the polling. When the processing of the event notification by the image forming apparatus 103 is completed, the notification management server 102 receives the processing result of the event notification from the image forming apparatus 103.

[0013] The service server 101 may be realized by a virtual machine (cloud service) that uses resources provided by a data center including an information processing apparatus, in addition to one or more information processing apparatuses, or a combination thereof. Further, the notification management server 102 may be realized by a virtual machine (cloud service) that uses resources provided by a data center including an information processing apparatus, in addition to one or more information processing apparatuses, or a combination thereof.

[0014] The image forming apparatus 103 is an example of an image forming apparatus whose notifications are managed by a system. There may be a plurality of image forming apparatuses 103 managed by the system. The image forming apparatus 103 is, for example, an MFP (MultiFunction Printer) having functions such as printing, FAX, copying, scanning, etc. Note that the image forming apparatus 100 is not limited to an MFP, and any device having any one of a printing function, a copying function, a scanning function, a network transmission function for data, and a FAX function, such as a printer, a scanner, a 3D printer, etc., may be used.

[0015] The image forming apparatus 103 performs polling on the notification management server 102 and receives an event notification corresponding to the image forming apparatus 103 held in the notification management server 102. When the image forming apparatus 103 receives an event notification from the notification management server 102, it executes an operation based on the content described in the event notification. For example, when receiving an event notification for firmware update from the notification management server 102, the image forming apparatus 103 updates the firmware according to the time and firmware version described in the event notification. When the processing of the event notification is completed, the image forming apparatus 103 transmits the processing result of the event notification to the notification management server 102.

[0016] FIG. 2 is a diagram showing the hardware configuration of the service server 101 and the notification management server 102. Here, the hardware configuration of the notification management server 102 will be described as an example. The service server 101 also has the same hardware configuration as the notification management server 102. The notification management server 102 has a CPU 200, a RAM 201, a storage 202, a network I / F 203, an input / output I / F 205, and a secondary storage device 206. The system bus 204 connects the CPU 200, the RAM 201, the storage 202, the network I / F 203, the input / output I / F 205, and the secondary storage device 206, and propagates control commands from the CPU 200 to other hardware.

[0017] The CPU (Central Processing Unit) 200 controls the entire notification management server 102. The RAM (Random Access Memory) 201 is a temporary memory area and functions as a work area for the CPU 200. The storage 202 records predetermined information such as embedded programs and customer personal information. The CPU 200 executes various control processes by running programs read from memory (RAM 201 or secondary storage device 206).

[0018] The network interface 203 communicates with other computers and network devices. In this embodiment, the network interface 203 of the notification management server 203 communicates with the service server 101 and the image forming apparatus 103. The network interface 203 supports both wired and wireless communication methods. The network interface 203 of the service server 101 communicates with the notification management server 203. The service server 101 requests the notification management server 102 to generate an event notification via the network interface 203. The notification management server 102 transmits the generated event notification to the image forming apparatus 103 via the network interface 203.

[0019] The input / output interface 205 receives signals and information from devices such as keyboards, mice, and touch panels. It also outputs signals and information to devices such as displays and touch panels. Furthermore, the input / output interface 205 can accept connections and operations from other computers via remote desktop or remote shell. The secondary storage device 206 is an indirect storage device that stores various data and programs. Examples of secondary storage devices include hard disk drives (HDDs), solid state drives (SSDs), and flash memory. The secondary storage device 206 may also include other storage devices such as disk drives for loading external media.

[0020] Figure 3 shows the hardware configuration of the image forming apparatus 103. The image forming apparatus 103 includes a CPU 300, RAM 301, ROM 302, network I / F 303, device controller 305, printer 306, scanner 307, secondary storage device 308, input / output I / F 309, and input / output device 310. The system bus 304 connects the CPU 300, RAM 301, ROM 302, network I / F 303, device controller 305, secondary storage device 308, and input / output I / F 309, and propagates control commands from the CPU 300 throughout the entire image forming apparatus 103.

[0021] The CPU 300 controls the entire image forming apparatus 103. The RAM 301 temporarily stores information necessary for program execution and functions as a work area for the CPU 300. The ROM (Read Only Memory) 302 stores various data such as basic I / O programs. The secondary storage device 308 is an indirect storage device that stores various data and programs. The secondary storage device 308 can be, for example, a Hard Disk Drive (HDD), Solid State Drive (SSD), or flash memory. The secondary storage device 308 may also include other storage devices such as a DiskDrive for loading external media. The CPU 300 executes programs stored in the ROM 302 and the secondary storage device 308 to perform various control processes. The CPU 300 temporarily stores information necessary for program execution in the RAM 301.

[0022] The network interface 303 enables the image forming apparatus 103 to communicate with external devices such as the notification management server 102 via the network 100. The image forming apparatus 103 supports both wired and wireless communication methods. The device controller 305 controls devices such as the printer 306 and scanner 307 based on control commands received from the CPU 300. The printer 306 executes jobs such as printing and prints on recording paper. The scanner 307 optically reads documents placed on the platen or ADF (Auto Document Feeder) and converts them into electronic data. The image forming apparatus 103 may also have a fax function that utilizes the scanner 307.

[0023] The input / output interface 309 transmits signals received from the input / output device 310 to various parts within the image forming apparatus 102. The input / output device 310 has multiple components that handle input and output in the image forming apparatus 103. The input / output device 310 is, for example, a touch panel or hard keys. By associating input coordinates with display coordinates on the touch panel, a graphical user interface (GUI) can be configured that makes it appear as if the user can directly operate the screen displayed on the touch panel. The input / output device 310 receives input from the user and transmits signals corresponding to the input to various parts within the image forming apparatus 103 via the input / output interface 309.

[0024] Figure 4 shows an example of the software configuration of the notification management server 102. The program that implements the software configuration of the notification management server 102 is read from memory (RAM 201, storage 202, secondary storage device 206) and executed by the CPU 200. Communication between the notification management server 102 and the outside world is performed using the network interface 203. The notification management server 102 has an external communication unit 400, a notification generation unit 401, and a notification management unit 402. The notification management server 102 receives an instruction to generate an event notification from the service server 101 via the external communication unit 400, and generates the event notification with the notification generation unit 401. The generated event notification is then managed by the notification management unit 402, and the event notification is sent to the image forming apparatus 103 in response to an event notification transmission request from the image forming apparatus 103 via polling.

[0025] The external communication unit 400 receives an event notification generation request from the service server 101 and requests the notification generation unit 401 to process the event notification. Furthermore, when the image forming apparatus 103 requests the transmission of an event notification, the external communication unit 400 queries the notification management unit 402 and functions as a notification unit that notifies the image forming apparatus 103 of the event notification. In addition, when the external communication unit 400 receives the processing result of the event notification from the image forming apparatus 103, it requests the notification management unit 402 to update the status of the event notification.

[0026] The notification generation unit 401 functions as a generation unit that generates event notifications in response to a request for event notification generation from the service server 101. The notification generation unit 401 then sends the generated event notifications to the notification management unit 402. The notification management unit 402 functions as a management unit that manages the generated event notifications. Event notifications are managed in a queue format, for example, by the notification management unit 402, according to the image forming apparatus ID that the event notification has. The event notifications managed by the notification management unit 402 include an application ID, which is identification information indicating the application corresponding to the event notification, as well as the status and expiration date of the event notification. Table 1 shows an example of an event notification. [Table 1]

[0027] An event notification includes a notification ID, image forming apparatus ID, application ID, status, update date and time, queue date and time, expiration date, and payload. The "notification ID" is an attribute that indicates a value for uniquely identifying the event notification. The "image forming apparatus ID" is an attribute that indicates a value for uniquely identifying the image forming apparatus 103. The "application ID" is identification information for uniquely identifying the notification execution application 502 that executes the event notification. The notification execution application 502 corresponds to the service server 101. Therefore, the notification generation unit 401 can uniquely identify the notification execution application 502 that executes the event notification by storing the value of the "application ID" corresponding to the service server 101 that made the event notification generation request.

[0028] The "Status" attribute indicates the processing status of an event notification. The possible values ​​for the "Status" attribute include "QUEUED", "ACCEPTED", "REJECTED", and "ERROR". When an event notification is generated, the value of the "Status" attribute is set to "QUEUED". Only event notifications with a "QUEUED" status are sent to the notification management application 501. The value of the "Status" attribute is also changed based on the processing result of the event notification received from the image forming apparatus 103. If the image forming apparatus 103 receives a response indicating the success of the event notification, the notification management unit 402 updates the value of the "Status" attribute from "QUEUED" to "ACCEPTED". On the other hand, if the image forming apparatus 103 receives a response indicating the failure of the event notification, the notification management unit 402 updates the value of the "Status" attribute to "ERROR".

[0029] The "Update Date and Time" attribute indicates the last update date and time of the event notification. The "Queue Date and Time" attribute indicates the date and time the event notification was generated. The "Expiration Date and Time" attribute indicates the expiration date of the event notification in the notification management server 102. Event notifications that have exceeded their expiration date are deleted from the notification management server 102 by the notification management unit 402. The "Payload" attribute is an attribute that holds in JSON format the information necessary for the notification execution application 502 of the image forming apparatus 103 to process the event notification and execute the processing. Specifically, the value of the "Payload" attribute holds the module name and parameters for processing the event notification. The value of the "Payload" attribute may also include a flag indicating whether the event notification should be processed with priority.

[0030] The notification management unit 402 maintains event notifications to be sent to the managed image forming apparatus in a queue format. When an event notification transmission request is received from the image forming apparatus 103, the notification management unit 402 transmits all event notifications that have the image forming apparatus ID of the image forming apparatus 103 that made the transmission request and whose "Status" attribute value is set to "QUEUED". The notification management unit 402 also manages the status of event notifications by receiving the processing results of the event notifications from the image forming apparatus 103.

[0031] Figure 5 shows an example of the software configuration of the image forming apparatus 103. The program that realizes the software configuration of the image forming apparatus 103 is read from memory (ROM 302, secondary storage device 308) and executed by the CPU 300. Communication between the image forming apparatus 103 and the notification management server 102 is performed via the network interface 303. The image forming apparatus 103 has an external communication unit 500, a notification management application 501, and a notification execution application 502. Furthermore, the image forming apparatus 103 has a setting value management unit 503, a job execution unit 504, a FAX unit 505, a SEND unit 506, a PDL unit 507, and a firmware update unit 508.

[0032] The external communication unit 500 communicates with external devices using the network interface 303. In this embodiment, the external communication unit 500 functions as a receiving unit that receives event notifications from the notification management server 102. More specifically, the external communication unit 500 requests event notifications from the notification management server 102 by polling at a frequency instructed by the notification management application 501, and receives event notifications for the image forming apparatus 103 from the notification management server 102 in a batch. The external communication unit 500 also transmits the processing results of the event notifications to the notification management server 102.

[0033] The notification management application 501 (hereinafter referred to as the notification management app 501) functions as a notification management unit that manages event notifications to the image forming apparatus 103. The notification management app 501 periodically polls the notification management server 102 via the external communication unit 500 to control the image forming apparatus 103 to receive one or more event notifications from the notification management server 102 in a batch. The notification management app 501 requests the execution of each event notification from the notification execution application 502 corresponding to the event notification. The notification management app 501 requests the execution of the event notification from the notification execution application 502 whose application ID matches the application ID held by the event notification.

[0034] Furthermore, if there is an event notification that the notification management application 501 of this embodiment wants to process as a priority, it receives a request from the notification execution application 502 to change the polling frequency to the notification management server 102. As a result, the notification management application 501 switches to high-frequency polling mode. At the same time, the notification management application 501 obtains and stores the application ID of the notification execution application 502 that made the request to change the polling frequency. When polling is high frequency, the notification management application 501 determines whether the event notification is an event notification with a high priority and performs notification management processing to control the processing request of the event notification to the notification execution application 502 according to the priority. Whether or not an event notification has a high priority is determined based on the application ID included in the event notification and the application ID, which is identification information indicating the notification execution application 502 that requested high-frequency polling. The application ID included in the event notification is identification information indicating the application that processes the event notification. The notification management application 501 determines that an event notification with an application ID, which is the identification information of the notification execution application 502 that made the request to change the polling frequency, is an event notification that should be processed with priority, and executes the processing of that event notification. The notification management application 501 requests the notification execution application 502 to execute the event notification only if the application ID held by the event notification matches the application ID held by the notification execution application 502. On the other hand, if the application IDs do not match, the notification management application 501 ignores the event request by not requesting the notification execution application 502 to process the event notification. Furthermore, the notification management application 501 receives the processing result of the event notification from the notification execution application 502 and transmits the processing result of the event notification in the image forming apparatus 103 to the notification management server 102 via the external communication unit 500.

[0035] The notification execution application 502 (hereinafter referred to as the notification execution app 502) is an application that corresponds to the service server 101. One or more notification execution apps 502 are installed in the image forming apparatus 103 and operate the functions within the image forming apparatus 103 by executing the processing of event notifications from the service server 101 corresponding to themselves. Each notification execution app 502 also possesses an application ID, which is unique identification information for itself. When the notification execution app 502 receives an event notification processing request from the notification management app 501, it executes that event notification. By executing the event notification, the notification execution app 502 makes it possible to remotely use various functions within the image forming apparatus 103 (for example, the setting value management unit 503, the job execution unit 504, the firmware update unit 508, etc.). Furthermore, when the notification execution app 502 has processed the event notification, it sends the processing result to the notification management app 501. In this embodiment, the functions of the image forming apparatus 103 executed by the notification execution app 502 are not particularly limited. For example, a user of the image forming apparatus 103 may manage the licenses of applications to be installed on the image forming apparatus 103 via the notification execution application 502.

[0036] The setting value management unit 503 manages the setting value information of the image forming apparatus 103. Furthermore, when the setting value management unit 503 receives a request to send setting value information from the notification execution application 502, it transmits the setting value information of the image forming apparatus 103. The job execution unit 504 manages job information for executing functions within the image forming apparatus 103. For example, the job execution unit 504 manages job information for executing the functions of the FAX unit 505, the SEND unit 506, and the PDL unit 507. Upon receiving a job execution request from the notification execution application 502, the job execution unit 504 executes the FAX unit 505, the SEND unit 506, and the PDL unit 507. The FAX unit 505 executes the FAX function of the image forming apparatus 103. The SEND unit 506 executes the SEND function of the image forming apparatus 103. The PDL unit 507 executes the PDL function of the image forming apparatus 103. When the firmware update unit 508 receives a firmware version update instruction from the notification execution application 502, it executes the firmware version update process for the image forming apparatus 103.

[0037] Figure 6 shows the sequence of the entire notification process in the first embodiment. Each process executed by the service server 101 in the notification process is realized by the CPU 200 of the service server 101 reading programs stored in memory (RAM 201, secondary storage device 206) and executing them. Each process executed by the notification management server 102 in the notification process is realized by the CPU 200 of the notification management server 102 reading programs stored in memory (RAM 201, secondary storage device 206) and executing them. Each process executed by the image forming apparatus 103 in the notification process is realized by the CPU 300 of the image forming apparatus 103 reading programs stored in memory (ROM 302, secondary storage device 308) and executing them.

[0038] In step S600, the service server 101 requests the notification management server 102 to generate an event notification in order to remotely operate the image forming apparatus 103. Here, we will explain using the case where the service server 101 requests the generation of an event notification as described in Table 1 as an example. In step S601, the notification management server 102 generates the event notification. The generated event notifications are stored in the notification management server 102 in queue format for each image forming apparatus ID associated with the event notification. The notification management server 102 generates the event notifications as described in Table 1. In step S602, the notification management server 102 notifies the service server 101 that it has generated an event notification.

[0039] In step S603, the notification execution application 502 within the image forming apparatus 103 requests the event notification execution application 501 within the image forming apparatus 103 to change the polling frequency to the notification management server 102. The execution application 502 that requests the change in polling frequency requests the event notification execution application 501 to change the polling frequency to the notification management server 102 to a high frequency. In step S604, the notification execution application 502 that made the request to change the polling frequency in step S603 transmits its application ID to the notification management application 501. In step S605, the notification management application 501 switches to high-frequency polling mode so that it queries the notification management server 102 at a high frequency.

[0040] Steps S606 to S612 are repeated until the high-frequency polling mode, which was entered in step S605, is deactivated. In step S606, the notification management application 501 within the image forming apparatus 103 requests the notification management server 102 to send all event notifications that match the image forming apparatus ID of the image forming apparatus 103.

[0041] In step S607, the notification management unit 402 of the notification management server 102 sends event notifications to the image forming apparatus 103 in a batch. The event notifications to be sent are all event notifications in which the value of the "Image Forming Apparatus ID" attribute of the event notification indicates the image forming apparatus 103 that made the event notification transmission request in step S606, and the value of the "Status" attribute of the event notification is "QUEUED". The image forming apparatus 103 receives the event notifications in a batch from the notification management server 102.

[0042] Steps S608 to S611 are repeated for each event notification, for the number of event notifications acquired in bulk in step S607. In this embodiment, steps S608 to S611 are repeated for each event notification, for the number of event notifications listed in Table 1. In step S608, the notification management application 501 in the image forming apparatus 103 determines whether to request processing of the event notification received in step S607 from the notification execution application 502. Based on the application ID, which is identification information, the notification management application 501 determines whether the received event notification is a high-priority event notification. Only if it is determined to be a high-priority event notification, it requests processing of the event notification from the notification execution application 502. If it is not determined to be a high-priority event notification, it does not request processing of the event notification from the notification execution application 502. Specifically, the notification management application 501 determines which event notification to request processing from by comparing the value of the "Application ID" attribute of the event notification with the application ID of the notification execution application 502 acquired in step S604. In other words, the notification management app 501 determines whether there is an event notification with the application ID of the notification execution app 502 that requested the polling frequency to be changed to a higher frequency. If the application ID of the event notification matches the application ID of the notification execution app 502 obtained in step S604, the notification management app 501 determines that it is an event notification with a high priority and requests the notification execution app 502 to process the event notification. On the other hand, if the application ID of the event notification does not match the application ID of the notification execution app 502 obtained in step S604, the notification management app 501 does not request the notification execution app 502 to process the event notification.

[0043] The following describes the process when the application ID of the event notification matches the application ID of the notification execution application 502 that requested a change in the polling frequency to a higher frequency. Steps S609 to S612 are executed when it is determined that the application IDs matched in step S608 are identical. In step S609, the notification execution application 502, which received an event notification processing request from the notification management application 501 in S608, executes the processing of the event notification received from the notification management application 501 in step S608. That is, the notification execution application 502 that requested a change in the polling frequency to a higher frequency executes the processing of the received event notification. The notification execution application 502 that has processed the event notification also transmits the processing result of the event notification to the notification management application 501.

[0044] Step S610 is executed if the event notification processed in step S609 terminates the high-frequency polling mode for the service server 101. In step S610, the notification execution application 502 requests the notification management application 501 to terminate the high-frequency polling mode. This terminates the iterative processing from steps S606 to S611.

[0045] In step S611, the notification management application 501 within the image forming apparatus 103 sends the processing result of the event notification to the notification management server 102. In step S612, the notification management unit 402 within the event notification server updates the value of the "status" attribute of the event notification based on the processing result of the event notification received in step S611. For example, if the notification management server 102 receives a response indicating the success of the event notification in step S611, it updates the value of the "status" attribute of the event notification to "ACCEPTED". On the other hand, if the notification management server 102 receives a response indicating the failure of the event notification in step S611, it updates the value of the "status" attribute of the event notification to "ERROR".

[0046] Thus, in this process, if there is an event notification application ID that matches the application ID of the notification execution application 502 that requested the polling frequency to be changed to a higher frequency in step S608, the event notification is processed. On the other hand, for event notifications whose application ID does not match the application ID of the notification execution application 502 that requested the polling frequency to be changed to a higher frequency, the notification management application 501 does not send a processing request to the notification execution application 502. As a result, event notifications whose application ID matches the application ID of the notification execution application 502 that requested the polling frequency to be changed to a higher frequency, i.e., high-priority event notifications, can be processed preferentially.

[0047] On the other hand, low-priority event notifications are executed after the processing of high-priority event notifications is completed and the high-frequency polling mode is deactivated. Low-priority event notifications are those whose application ID does not match that of the notification execution application 502 that requested the change in polling frequency to high frequency. Specifically, event notifications that are not deemed to be high-priority event notifications when polling is at a high frequency and are therefore not processed by the image forming apparatus 103 are kept in the status "QUEUED" on the notification management server 102. As a result, unprocessed event notifications are notified again from the notification management server 102 to the image forming apparatus 103 by polling after the high-frequency polling mode is deactivated, and are processed by the notification execution application 502.

[0048] Figures 7 and 8 are flowcharts illustrating the event notification process within the image forming apparatus 103 in the first embodiment. Each process in Figures 7 and 8 is realized when the CPU 300 of the image forming apparatus 103 reads a program for executing each software module from memory (ROM 302, secondary storage device 308) into RAM 301 and executes it.

[0049] In step S700, the notification execution application 502 requests the notification management application 501 to change the polling frequency to the notification management server 102. The request for the change in polling frequency that the notification execution application 502 makes to the notification management application 501 is a request to change the polling frequency to a higher frequency. The processing in step S700 corresponds to the processing in step S603 in Figure 6.

[0050] In step S701, the notification execution application 502, which is the source of the polling frequency change request, sends an application ID, which is the identification information necessary to identify itself, to the notification management application 501. This allows the notification management application 501 to obtain the application ID of the notification execution application 502 that requested the polling frequency change. The notification management application 501 uses the obtained application ID of the notification execution application 502 to compare with the identification information indicating the application included in the event notification received by polling, which is performed at a high frequency due to the polling frequency change request. The processing in step S701 corresponds to the processing in step S604 in Figure 6. In step S702, the notification management application 501 changes the polling mode to high frequency so that it queries the notification management server 102 at a high frequency. This causes the polling mode of the image forming apparatus 103 to switch to high-frequency polling mode. The processing in step S702 corresponds to the processing in step S605 in Figure 6.

[0051] In step S703, steps S704 to S711 are repeatedly executed until the high-frequency polling mode of the notification management application 501 is deactivated. In step S704, the notification management application 501 polls the notification management server 102 and receives event notifications in bulk from the notification management server 102. Here, it is assumed that the notification management application 501 has received all the event notifications listed in Table 1 in bulk. The processing in step S701 corresponds to the processing in steps S606 and S607 in Figure 6.

[0052] In step S705, the notification management app 501 and the notification execution app 502 process the event notifications received in bulk in step S704 one by one by repeatedly performing the steps from step S706 to step S710. In step S706, the notification management app 501 determines whether the event notification has a high priority, that is, whether to process the event notification. The notification management app 501 makes this determination by comparing the value of the "Application ID" attribute included in the target event notification with the application ID of the notification execution app 502 obtained in step S701. The event notification having the application ID of the notification execution app 502 obtained in step S701, that is, the application ID of the notification execution app 502 that made the request to transition to high-frequency polling mode, is an event notification with a high processing priority. If the application IDs match, the notification management app 501 performs the process in step S707. On the other hand, if the application IDs do not match, the notification management app 501 does not process the target event notification and performs the process in step S711.

[0053] In step S707, the notification management app 501 requests the notification execution app 502 to process the event notification, matching the application ID held by the event notification. In other words, the notification management app 501 requests the event notification to process only the notification execution app 502 that requested to switch to high-frequency polling mode in step S700. The processing in steps S706 and S707 corresponds to the processing in step S608 in Figure 6.

[0054] In step S708, the notification execution application 502 performs processing according to the contents of the "payload" attribute of the event notification. For example, if the value of the "payload" attribute of the event notification contains an instruction to send setting value information of the image forming apparatus 103 to the outside of the image forming apparatus 103, the notification execution application 502 executes the instruction by querying the setting value management unit 503. After that, the notification execution application 502 transmits the processing result of the event notification to the notification management application 501. The processing in step S708 corresponds to the processing in step S609 in Figure 6.

[0055] When the notification execution application 502 completes processing of the event notification, that is, when the notification management application 501 receives the processing result of the event notification from the notification execution application 502, the notification management application 501 executes the process in S709. In step S709, the notification management application 501 sends the processing result of the event notification to the notification management server 102. For example, if the event notification processing is performed successfully, the notification management application 501 sends a response (e.g., "ACCEPTED") indicating the success of the event notification processing to the notification management server 102. On the other hand, if the event notification processing fails, the notification management application 501 sends a response (e.g., "ERROR") indicating the failure of the event notification processing to the notification management server 102. The process in step S701 corresponds to the process in step S611 in Figure 6.

[0056] In step S710, the notification execution application 502 determines whether the event notification processed in step S708 was one that terminates the high-frequency polling mode. The notification execution application 502 determines whether or not an event notification terminates the high-frequency polling mode by referring to the value of the "payload" attribute of the event notification. If it is an event notification that terminates the high-frequency polling mode, the notification execution application 502 requests the notification management application 501 to terminate the high-frequency polling mode. Upon receiving the request to terminate the high-frequency polling mode, the notification management application 501 terminates the repetition of steps S705 to S711 and proceeds to the process in step S712. On the other hand, if the notification management application 501 does not receive a request to terminate the high-frequency polling mode, it proceeds to the process in step S711. The process in step S701 corresponds to the process in step S610 in Figure 6.

[0057] In this embodiment, an example was described in which the notification execution application 502 determines whether an event notification cancels the high-frequency polling mode. However, the notification management application 501 may perform this determination. In this case, the notification management application 501 determines whether the event notification processed in step S708 cancels the high-frequency polling mode. The notification management application 501 determines whether an event notification cancels the high-frequency polling mode by referring to the value of the "payload" attribute of the event notification. If it is an event notification that cancels the high-frequency polling mode, the repetition of steps S705 to S711 is terminated. On the other hand, if it is not an event notification that cancels the high-frequency polling mode, the notification management application 501 performs the processing in step S711.

[0058] In step S711, if there are any unprocessed event notifications acquired in bulk in step S704, the flowchart returns to step S705. On the other hand, if all event notifications acquired in bulk in step S704 have been processed, the flowchart transitions to step S712, ending the repetition of steps S705 through S711. In other words, the notification management app 501 determines whether all event notifications acquired in bulk in step S704 have been processed. If the notification management app 501 determines that there are unprocessed event notifications acquired in bulk in step S704, it proceeds to step S705 again. On the other hand, if the notification management app 501 determines that all event notifications acquired in bulk in step S704 have been processed, it terminates the repetition of steps S705 to S711 and proceeds to step S712.

[0059] In step S712, if it is determined in step S710 that the high-frequency polling mode has been deactivated, the repetition of steps S705 to S711 ends. This completes the flowcharts in Figures 7 and 8. On the other hand, if it is determined in step S710 that the high-frequency polling mode has not been deactivated, the flowchart transitions to step S703, where the image forming apparatus 103 receives event notifications from the notification management server 102 in bulk and processes them. That is, the notification management application 501 determines whether or not the high-frequency polling mode has been deactivated. If the notification management application 501 determines that the high-frequency polling mode has been deactivated, it terminates this process. On the other hand, if it determines that the high-frequency polling mode has not been deactivated, it performs the process in step S703 again.

[0060] This process enables a processing flow that allows for rapid processing of event notifications to notification execution application 502 that has requested a transition to high-frequency polling mode. As a result, during high-frequency polling mode, the image forming apparatus 103 can rapidly process event notifications with high response priority.

[0061] Here, we will explain the event notification processing using the example of an image forming apparatus 103 receiving both a remote repair event notification and a firmware update event notification. A remote repair event notification is a notification to receive remote repair, and the image forming apparatus 103 is in a state requiring remote repair, for example, a malfunction state. When a repair is required, it is necessary to prioritize processing related to the repair over other processes in order to return the image forming apparatus 103 to a usable state. Therefore, it is necessary to prioritize processing the remote repair event notification over the firmware update event notification. Thus, in order to perform repairs quickly, the image forming apparatus 103 needs to prioritize processing the remote repair event notification that the remote repair server requested to be generated in step S600. On the other hand, until the repair is completed, the image forming apparatus 103 does not need to process the firmware update event notification that the firmware update server requested to be generated in step S600, which is unrelated to the repair response.

[0062] Remote repair event notifications are notifications from the service server 101 (hereinafter referred to as the remote repair server) for remotely repairing the image forming apparatus 103. Firmware update event notifications are notifications from the service server 101 (hereinafter referred to as the firmware update server) for updating the firmware of the image forming apparatus 103. The image forming apparatus 103 is equipped with notification execution applications 502, each assigned a different application ID corresponding to the firmware update server and the remote repair server.

[0063] For example, when a malfunction of the image forming apparatus 103 is detected, the notification execution application 502, which corresponds to the remote repair server, requests the notification management application 501 in step S603 to change the polling frequency to high. Then, in step S604, the notification execution application 502 transmits its own application ID to the notification management application 501, causing the notification management application 501 to switch to high-frequency polling mode. Event notifications originating from the remote repair server are determined to be processed based on the application ID in step S608, and are therefore processed by the notification execution application 502, which corresponds to the remote repair server.

[0064] On the other hand, the notification execution application 502, which corresponds to the firmware update server, does not communicate its own application ID to the notification management application 501. Therefore, event notifications originating from the firmware update server are not determined to be processed in step S608, and the status is not updated in step S612. As a result, the status of event notifications originating from the firmware update server in the notification management server 102 remains "QUEUED". In other words, event notifications originating from the firmware update server are resent during the next polling and are processed by the corresponding notification execution application 502 only after the high-frequency polling mode has ended. This allows the image forming apparatus 103 to quickly process event notifications originating from the remote repair server, which have a high priority, and to postpone processing event notifications originating from the firmware update server, which have a lower priority, while in high-frequency polling mode.

[0065] As described above, according to this embodiment, event notifications corresponding to the notification execution application 502 that requested a transition to high-frequency polling mode can be processed quickly as high-priority event notifications. As a result, during high-frequency polling mode, the image forming apparatus 103 can quickly process corresponding high-priority event notifications, and low-priority event notifications can be processed after the processing of high-priority event notifications is completed and high-frequency polling mode is deactivated.

[0066] (Second Embodiment) In the first embodiment, during high-frequency polling mode, the notification management application 501 determines whether to process event notifications based on the application ID. Therefore, if a single notification execution application 502 processes event notifications for multiple different purposes, there is a possibility that event notifications with higher priority may not be processed quickly. For example, suppose a single notification execution application 502 processes both an event notification for remotely repairing the image forming apparatus 103 and an event notification for updating the firmware of the image forming apparatus 103. In this case, in order to avoid interrupting the work of the users of the image forming apparatus 103, the image forming apparatus 103 needs to process the event notification for remotely repairing the image forming apparatus 103 with the highest priority. However, if the event notification for repair and the event notification for firmware update are received simultaneously, and the notification management application 501 processes the event notification for firmware update first, the processing of the event notification for repair will be postponed. Therefore, in the second embodiment, the notification execution application 502, as well as the notification management application 501, makes a decision on how to process event notifications.

[0067] In the notification execution application 502, in order to determine the priority of responding to an event notification, the notification management server 102 of this embodiment includes a value that can determine the priority of responding to an event notification when generating the event notification. For example, the notification management server 102 includes flag information indicating the priority of responding to an event notification in the value of the "payload" attribute of the event notification in response to instructions from the service server 101. The "payload" attribute of an event notification with a high priority of responding is given a TRUE flag, and the "payload" attribute of an event notification with a low priority of responding is given a FALSE flag. Then, the notification execution application 502 of this embodiment determines whether the event notification is to be processed based on the flag information indicating the priority of responding to the processing included in the event notification for which processing has been requested.

[0068] Figure 9 shows the sequence of the entire notification process in the second embodiment. The processes from step S800 to step S808 are the same as the processes from step S600 to step S608 in the first embodiment. Also, the processes from step S810 to step S813 are the same as the processes from step S609 to step S612 in the first embodiment. Here, we will explain step S809, which is a difference from the first embodiment. The process of S809 executed by the image forming apparatus 103 is realized by the CPU 300 of the image forming apparatus 103 reading a program etc. stored in memory (ROM 302, secondary storage device 308) and executing it.

[0069] Step S809 is executed when the notification management app 501 determines that the application ID of the notification execution app 502 that requested the change in polling mode matches the application ID of the event notification received from the notification management server 102. If the application IDs match in S808, the notification management app 501 requests the notification execution app 502 that requested the change in polling mode to process the event notification with the matching application ID.

[0070] In step S809, the notification execution app 502 determines whether or not to process the event notification by referring to the value of the "payload" attribute of the event notification. If the notification execution app 502 determines that it should be processed based on the value of the "payload" attribute, it proceeds to the process in step S810. In step S810, the notification execution app 502 processes the event notification. On the other hand, if the notification execution app 502 determines that it should not be processed based on the value of the "payload" attribute, it returns to the process in step S808. In step S808, the notification management app 501 makes a decision on how to process the next event notification.

[0071] Figures 10 and 11 are flowcharts illustrating the event notification process within the image forming apparatus 103 in the second embodiment. Each process in Figures 10 and 11 is realized when the CPU 300 of the image forming apparatus 103 reads a program for executing each software module from memory (ROM 302, secondary storage device 308) into RAM 301 and executes it.

[0072] Steps S900 to S907 are the same as steps S700 to S707 of the first embodiment. Steps S909 to S913 are the same as steps S708 to S712 of the first embodiment. Here, we will explain step S908, which is a difference from the first embodiment. When the notification management application 501 requests the notification execution application 502, which requested high-frequency polling mode in S907, to process an event notification whose application ID matches, the notification execution application 502 performs the processing in step S908.

[0073] In step S908, the notification execution application 502 refers to the value of the "payload" attribute of the event notification that has received a processing request and decides whether to process the event notification. The notification execution application 502 refers to the flag information indicating the level of response priority included in the value of the "payload" attribute, and if the flag information is TRUE, which indicates a high level of response priority, it proceeds to step S909. In step S909, the notification execution application 502 processes the event notification. On the other hand, if the flag information indicating the level of response priority included in the value of the "payload" attribute is FALSE, which indicates a low level of response priority, the notification execution application 502 does not process the event notification and proceeds to step S912. In other words, if the flag information included in the value of the "payload" attribute is not TRUE, which indicates a high level of response priority, the notification execution application 502 does not process the event notification and proceeds to step S912.

[0074] As described above, according to this embodiment, the notification execution application 502 can also make a decision on whether or not to process an event notification. As a result, even when the notification execution application 502 processes multiple different types of event notifications, it is possible to appropriately process the event notifications with the highest priority depending on the status of the image forming apparatus 103.

[0075] (Third embodiment) In the first and second embodiments, since the event notifications managed by the notification management server 102 have expiration dates, there is a possibility that the expiration date of an event notification may expire if the processing of the event notification is postponed within the image forming apparatus 103. In this case, the event notification that has exceeded its expiration date is deleted from the notification management server 102, making it impossible to send event notifications after the high-frequency polling mode ends. Therefore, it becomes impossible to respond to the request from the service server 101 that requested the generation of the event notification. In the third embodiment, the system is managed so that event notifications that were postponed while the image forming apparatus 103 was in high-frequency polling mode can be sent to the image forming apparatus 103 again. Therefore, in this embodiment, the notification management server 102 can extend the expiration date of event notifications that were postponed, but only while the image forming apparatus 103 is in high-frequency polling mode.

[0076] Figure 12 is a diagram showing the overall sequence of the notification process in the third embodiment. The processes from step S1000 to step S1011 are the same as the processes from step S800 to step S811 in the second embodiment. Here, we will explain the processes from step S1012 to step S1014, which are the differences from the second embodiment. The processes in steps S1013 and S1014, executed by the notification management server 102, are realized by the CPU 200 of the notification management server 102 reading and executing programs stored in memory (RAM 201, secondary storage device 206). The process in step S1012, executed by the image forming apparatus 103, is realized by the CPU 300 of the image forming apparatus 103 reading and executing programs stored in memory (ROM 302, secondary storage device 308).

[0077] In step S1010, the notification execution application 502, which processed the event notification with the highest priority, transmits the processing result to the notification management application 501. Upon receiving the processing result of the event notification, the notification management application 501 performs the process in step S1012. In addition, if the event notification was not determined to be a target for processing in step S1008 or step S1009, the notification management application 501 also performs the process in step S1012.

[0078] In step S1012, the notification management application 501 within the image forming apparatus 103 sends a response to the notification management server 102 regarding the processing of the event notification. If the event notification was processed in step S1010, the notification management application 501 sends a response to the notification management server 102 indicating the processing result of the event notification. If the event notification was not determined to be processed in step S1008 or step S1009, the notification management application 501 sends a response to the notification management server 102 indicating that the processing of the event notification was postponed. For example, the notification management application 501 sends "PENDING" as a response indicating that the processing of the event notification was postponed. In other words, the notification management application 501 notifies the notification management server 102 of the processing result of event notifications with high processing priority, and notifies that the processing of event notifications with low processing priority was postponed.

[0079] In step S1013, the notification management unit 402 within the notification management server 102 adjusts the expiration date of the event notification. If the response received in step S1012 indicates the processing result of the event notification, the notification management unit 402 does not update the value of the "Expiration Date" attribute of the event notification. On the other hand, if the response received in step S1012 indicates that the processing of the event notification has been postponed, the notification management unit 402 updates the value of the "Expiration Date" attribute of the event notification. For example, the notification management unit 402 updates the value of the "Expiration Date" attribute of the event notification by adding the difference between the current time and the value of the "Update Date and Time" attribute of the event notification to the value of the "Expiration Date" attribute. Therefore, the adjustment of the expiration date of the event notification in step S1013 is performed when the processing of the event notification was not performed in the notification execution application 502 of the image forming apparatus 103.

[0080] In step S1014, the notification management unit 402 in the notification management server 102 updates the status of the event notification. If the value of the "Expiration Date" attribute of the event notification is updated in S1013, the notification management unit 402 does not update the value of the "Status" attribute. In other words, the value of the "Status" attribute of the event notification remains "QUEUED," and the event notification is sent again to the notification management application 501 in the image forming apparatus 103 the next time polling occurs from the image forming apparatus 103. Otherwise, the event notification management unit 402 updates the value of the "Status" attribute in the same manner as in S813.

[0081] Figures 13 and 14 are flowcharts illustrating the event notification process within the image forming apparatus 103 in the third embodiment. Each process in Figures 13 and 14 is realized by the CPU 300 of the image forming apparatus 103 reading programs for executing each software module from memory (ROM 302, secondary storage device 308) into RAM 301 and executing them. The processes from step S1100 to step S1109 are the same as the processes from step 900 to step 909 in the second embodiment. Also, the processes from step S1111 to step S1113 are simultaneous with the processes from step 911 to step S913 in the second embodiment. Here, we will explain the process of step S1110, which is a difference from the second embodiment.

[0082] In step S1110, the notification management application 501 sends a response to the notification management server 102 indicating the processing of the event notification. If the event notification is processed in step S1109, the notification management application 501 sends the processing result of the event notification to the notification management server 102 in the same manner as in step S910. On the other hand, if the processing of the event notification is postponed in S1106 or S1108, the notification management application 501 sends a response to the notification management server 102 indicating that the processing of the event notification has been postponed. Therefore, if the processing of the event notification is performed successfully, the notification management application 501 sends "ACCEPTED" to the notification management server 102 as the response value indicating the success of the event notification processing. On the other hand, if the processing of the event notification fails, the notification management application 501 sends "ERROR" to the notification management server 102 as the response value indicating the failure of the event notification processing. If the processing of the event notification is postponed, the notification management application 501 sends "PENDING" to the notification management server 102 as the response value indicating that the processing of the event notification has been postponed. Upon receiving the response, the notification management server 102 can determine whether or not the event notification processing was performed and, if so, the result, based on the value of the response. If the response value is "PENDING", the notification management server 102 can recognize that the processing of the event notification has been postponed, and can adjust the expiration date of the event notification in step S1013.

[0083] As described above, according to this embodiment, the notification management server 102 can adjust the expiration date of event notifications that are not of high priority and have not been processed by the image forming apparatus 103. This makes it possible to avoid event notifications expiring due to being not processed, and to avoid automatic deletion due to expiration. Then, in response to polling from the image forming apparatus 103 after the high-frequency polling mode has been deactivated, it is possible to notify the image forming apparatus 103 again with event notifications whose expiration dates have been extended. This embodiment makes it possible to respond to requests from the service server 101 that have requested the generation of event notifications that are not of high priority.

[0084] This embodiment includes the following system configuration. (Composition 1) A system including an image forming apparatus having an application corresponding to a service, and a notification management server that manages event notifications from the service to the image forming apparatus, The image forming apparatus is A receiving unit that makes an event notification request to the notification management server by polling and receives event notifications to the image forming apparatus in bulk from the notification management server, A notification management unit performs notification management processing that, when the polling is frequent, determines whether the received event notification is a high-priority event notification, requests the application corresponding to the event notification to process the event notification if it is a high-priority event notification, and does not request processing of the event notification if it is not a high-priority event notification. The system includes an application that, upon receiving a request to process the event notification, executes the processing of the event notification, The notification management unit is characterized in that it determines that an event notification is a high-priority event notification when the identification information indicating the application that processes the event notification included in the event notification matches the identification information indicating the application that made the request to change the polling frequency. (Configuration 2) The aforementioned request to change the polling frequency is a request to increase the polling frequency. When the application requests the notification management unit to change the polling frequency, it transmits the application's identification information to the notification management unit. The system according to Configuration 1, characterized in that the notification management unit, upon receiving a request from the application to change the polling frequency, obtains the application's identification information and uses it to compare with the identification information indicating the application included in event notifications received through polling performed at a higher frequency as a result of the request to change the polling frequency. (Composition 3) The system according to any one of configurations 1 to 3, characterized in that the application determines whether an event notification is subject to processing based on flag information indicating the priority of processing included in the event notification requested by the notification management unit, processes the event notification if the flag information is a value indicating a high priority, and does not process the event notification if the flag information is not a value indicating a high priority. (Composition 4) The aforementioned notification management server, A generation unit that generates an event notification to an image forming apparatus in response to a request from the aforementioned service, A management unit that manages the generated event notifications, The system includes a notification unit that notifies the image forming apparatus of an event notification in response to an event notification request from the image forming apparatus via polling, The notification management unit of the image forming apparatus transmits the results of the processing of event notifications in the application to the notification management server. The system according to any one of configurations 1 to 4, characterized in that the management unit manages the status and expiration date of the event notification. (Composition 5) The system according to configuration 4, characterized in that, when the polling is performed at a high frequency, event notifications that are not processed because they are determined not to be high-priority event notifications are notified again from the notification management server to the image forming apparatus by polling after the high frequency of polling is stopped, and are processed by the application of the image forming apparatus. (Composition 6) If the notification management unit of the image forming apparatus does not process the event notification, it sends a response to the notification management server indicating that the event notification was not processed. The system according to configuration 4 or 5, characterized in that the management unit extends the expiration date of event notifications for which processing was not performed in the image forming apparatus.

[0085] (Other embodiments) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0086] Although preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of its gist.

Claims

1. A system including an image forming apparatus having an application corresponding to a service, and a notification management server that manages event notifications from the service to the image forming apparatus, The image forming apparatus is A receiving unit that makes an event notification request to the notification management server by polling and receives event notifications to the image forming apparatus in bulk from the notification management server, A notification management unit performs notification management processing that, when the polling is frequent, determines whether the received event notification is a high-priority event notification, requests the application corresponding to the event notification to process the event notification if it is a high-priority event notification, and does not request processing of the event notification if it is not a high-priority event notification. The system includes an application that, upon receiving a request to process the event notification, executes the processing of the event notification, The notification management unit is characterized in that it determines that an event notification is a high-priority event notification when the identification information indicating the application that processes the event notification included in the event notification matches the identification information indicating the application that made the request to change the polling frequency.

2. The aforementioned request to change the polling frequency is a request to increase the polling frequency. When the application requests the notification management unit to change the polling frequency, it transmits the application's identification information to the notification management unit. The system according to claim 1, characterized in that the notification management unit, upon receiving a request from the application to change the polling frequency, acquires the application's identification information and uses it to compare with the identification information indicating the application included in event notifications received through polling performed at a higher frequency as a result of the request to change the polling frequency.

3. The system according to claim 1, wherein the application determines whether an event notification is subject to processing based on flag information indicating the priority of processing included in the event notification for which processing has been requested by the notification management unit, processes the event notification if the flag information is a value indicating a high priority, and does not process the event notification if the flag information is not a value indicating a high priority.

4. The aforementioned notification management server, A generation unit that generates an event notification to an image forming apparatus in response to a request from the aforementioned service, A management unit that manages the generated event notifications, The system includes a notification unit that notifies the image forming apparatus of an event notification in response to an event notification request from the image forming apparatus via polling, The notification management unit of the image forming apparatus transmits the results of the processing of event notifications in the application to the notification management server. The system according to claim 1, characterized in that the management unit manages the status and expiration date of the event notification.

5. The system according to claim 4, characterized in that, when the polling is performed at a high frequency, event notifications that are not processed because they are determined not to be high-priority event notifications are notified again from the notification management server to the image forming apparatus by polling after the high frequency of polling has been stopped, and are processed by the application of the image forming apparatus.

6. If the notification management unit of the image forming apparatus does not process the event notification, it sends a response to the notification management server indicating that the event notification was not processed. The system according to claim 4, characterized in that the management unit extends the expiration date of event notifications for which processing was not performed in the image forming apparatus.

7. A control method for a system including an image forming apparatus having an application corresponding to a service, and a notification management server that manages event notifications from the service to the image forming apparatus, The process involves polling to send an event notification request to the notification management server and receiving event notifications to the image forming apparatus in bulk from the notification management server, The process includes determining whether the received event notification is a high-priority event notification when the polling is frequent, requesting the application corresponding to the event notification to process the event notification if it is a high-priority event notification, and not requesting the application to process the event notification if it is not a high-priority event notification, and performing a notification management process that does not request the application to process the event notification. The process includes, when a request for processing the event notification is received, executing the processing of the event notification. A system control method characterized in that, in the notification management process, if the identification information indicating the application that processes the event notification included in the event notification matches the identification information indicating the application that made the request to change the polling frequency, the system determines that the event notification is an event notification with a high priority for handling.

Citation Information

Patent Citations

  • Network device, network system, network control method and network control program

    JP2009117941A