Programs, information processing devices

The program ensures timely information delivery by acquiring and evaluating device information to meet output conditions, addressing the issue of inappropriate notification timing in existing methods.

JP2026086452APending Publication Date: 2026-05-26CANON 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
2026-01-16
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing methods for determining information notification timing based on user actions may not always be appropriate due to communication device states, leading to inappropriate information delivery.

Method used

A program that acquires information from communication devices and management servers, determines if the information satisfies output conditions, and outputs notifications based on these conditions, ensuring timely delivery.

Benefits of technology

Enables information to be delivered at appropriate times, aligning with user needs and device states.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026086452000001_ABST
    Figure 2026086452000001_ABST
Patent Text Reader

Abstract

The timing at which information is notified to a terminal device may not be appropriate for the user, depending on the status of the communication device connected to the terminal device that is related to the notification information. [Solution] The computer of the information processing device is made to execute the following steps: a first acquisition step of acquiring information of a communication device that can communicate with the information processing device; a second acquisition step of acquiring notification information created by a management server that can communicate with the information processing device; a first determination step of determining whether the acquired information of the communication device satisfies output conditions corresponding to the information contained in the acquired notification information; and a first output step of outputting a notification based on the notification information if the first determination step determines that the information of the communication device satisfies the output conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program and an information processing apparatus.

Background Art

[0002] In order to provide information to a user, a technique for notifying information to a terminal device at an appropriate timing is known. For example, Patent Document 1 describes a technique for determining an appropriate information notification timing based on a learning model that has learned the timing for notifying information in response to a specific action of a user.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, for example, in the method of determining the information notification timing according to a specific action of a user as described in Patent Document 1, depending on the state of the communication device related to the notification information, it is not always an appropriate timing for the user.

[0005] The present invention has been made in view of the above problems, and an object thereof is to notify information to a terminal device at an appropriate timing for the user.

Means for Solving the Problems

[0006] To solve the problems described above, the program relating to this disclosure is a program that causes the computer of the information processing device to execute: a first acquisition step of acquiring information of a communication device that can communicate with the information processing device; a second acquisition step of acquiring notification information created by a management server that can communicate with the information processing device; a first determination step of determining whether the acquired information of the communication device satisfies output conditions corresponding to information contained in the acquired notification information; and a first output step of outputting a notification based on the notification information if the first determination step determines that the information of the communication device satisfies the output conditions. [Effects of the Invention]

[0007] This disclosure enables us to notify users of information at the appropriate time. [Brief explanation of the drawing]

[0008] [Figure 1] This diagram shows the system configuration. [Figure 2] This diagram shows the hardware configuration of terminal device 100. [Figure 3] This is a system sequence diagram. [Figure 4] This diagram shows the screen for configuring push notification settings. [Figure 5] This diagram shows information about push notifications. [Figure 6] This flowchart illustrates the process of displaying notifications based on push notification information. [Figure 7] This flowchart illustrates the process for determining the expiration date of notifications based on push notification information. [Figure 8] This diagram shows the status information and error / warning information for printer 200. [Figure 9] This flowchart illustrates the process for determining whether to display a notification based on push notification information. [Figure 10]This diagram shows the screen displayed when status information, error / warning information, and other data are retrieved from printer 200. [Figure 11] This diagram shows the screen displayed when it fails to retrieve status information or error / warning information for printer 200. [Figure 12] This is a flowchart illustrating the process of a print workflow application. [Figure 13] This is a diagram showing saved push notification information. [Figure 14] This diagram shows the screen for configuring push notification settings. [Figure 15] This flowchart specifies the order in which push notification information is saved. [Figure 16] This flowchart illustrates the process of displaying notifications based on push notification information. [Figure 17] This flowchart illustrates the process of displaying notifications based on push notification information. [Modes for carrying out the invention]

[0009] The present disclosure will be described in detail below with reference to the drawings. The following embodiments are not intended to limit the claims of this disclosure, and not all combinations of features described in these embodiments are necessarily essential to the solutions of this disclosure. Furthermore, in the accompanying drawings, identical or similar components are given the same reference numerals, and redundant descriptions are omitted.

[0010] (Embodiment 1) Figure 1 shows the system configuration in this embodiment. The system in this embodiment includes a terminal device 100, a printing device (hereinafter referred to as a printer) 200, a push notification server 300, and a management server 400. The terminal device 100 is an information processing device on which an operating system (hereinafter referred to as an OS) 101 and an application 102 are installed.

[0011] In the system shown in FIG. 1, each device is communicably connected. For example, the communication method used for the connection between the terminal device 100 and the printer 200 is, for example, a communication standard of the IEEE 802.11 series (Wi-Fi) or Bluetooth (Bluetooth Classic, Bluetooth Low Energy (BLE), etc.). It may also be connected by a USB cable. Note that the terminal device 100 and the printer 200 may not be directly connected. Specifically, for example, the terminal device 100 and the printer 200 may be connected via a network constructed by an access point. Also, the terminal device 100 and the printer 200 may be connected to a base station by mobile communication (3G, 4G, 5G), and communication may be executed by Internet communication via the base station. Further, the terminal device 100, the push notification server 300, and the management server 400 are communicably connected via the Internet. Furthermore, the management server 400 and the push notification server 300 are communicably connected via the Internet.

[0012] The terminal device 100 is an information processing device such as a personal computer (PC) or a smartphone. Various devices such as a digital camera may be applied as the terminal device 100 of the present embodiment. Also, the printing method of the printer 200 used in the present embodiment may be an electrophotographic method, an inkjet method, or any other method.

[0013] The management server 400 is an information processing device having a function of creating push notification information and managing which terminal device to transmit the push notification information to. Details will be described later with reference to FIG. 3. The push notification server 300 is an information processing device having a function of distributing push notification information to the terminal device 100. Details will be described later with reference to FIG. 3.

[0014] Figure 2 shows the hardware configuration of the terminal device 100. The terminal device 100 includes a CPU 110, a storage unit 120, an audio output unit 130, an operation unit 140, a display unit 150, and a communication unit 160. Each unit is interconnected via a system bus 170.

[0015] The operation unit 140 accepts user input. For example, it consists of a mouse, keyboard, touch panel, etc. The audio output unit 130 outputs sound. For example, it consists of a speaker, etc., and outputs the content of push notification information by voice. The display unit 150 displays images and information. For example, it consists of a screen such as an LCD display, and outputs the content of push notification information by displaying it on the LCD display, etc. The communication unit 160 communicates with other devices. For example, it consists of a USB interface, wired LAN interface, wireless LAN interface, etc., and communicates with the printer 200, push notification server 300, and management server 400. The storage unit 120 consists of, for example, ROM or RAM, and stores various data and programs, and is used as a work area and temporary data storage area when executing various programs. Examples of programs stored in the storage unit 120 include the OS 101 and application 102. In the following, application 102 will be described as an application for controlling the printer 200. Note that the storage unit 120 may store software other than the OS 101 and application 102. For example, this could include a drawing application that generates image data, or a printer driver (print data generation software) that generates print data based on the generated image data.

[0016] The hardware configuration of the management server 400 and push notification server 300 in this embodiment is the same as the configuration shown in Figure 2. Furthermore, this description will explain an example where the management server 400 and push notification server 300 are each composed of a single server device (information processing device). However, the functions performed by each server may be configured to be executed by multiple servers in the cloud working in cooperation. In other words, the management server 400 and push notification server 300 may each be composed of multiple server devices. A server composed of one or more server devices is also called a server system.

[0017] Here, we will explain push notifications. There is a function to notify the terminal device 200 from the push notification server 300 of service and campaign information related to the application 102 running on the terminal device 200 (hereinafter referred to as push notifications). However, notifications based on notification information delivered by push notifications (hereinafter referred to as push notification information) are displayed on the screen of the terminal device 200 for a limited period of time immediately after receipt. Therefore, push notifications are often deleted unless the user performs an action such as clicking on the push notification. For this reason, it is desirable that push notifications be displayed at a time that is necessary for the user. For example, if you want to deliver campaign information about consumables used in the printer 200 connected to the terminal device 100 as a push notification, it is preferable that it be displayed when the remaining amount of consumables is low.

[0018] Therefore, in this embodiment, display conditions are specified in the push notification information, and when the status of a communication device such as a printer 200 connected to the terminal device 100 satisfies the display conditions, a notification based on the push notification information is displayed on the screen of the terminal device 100. As a result, the push notification is displayed at the time necessary for the user. The push notification information in this embodiment, which will be described below, is received by the terminal device 100 as push notification information from the push notification server 300 and then stored in the storage unit 120 of the terminal device 100. The application 102 then reads the stored information and executes the notification. Therefore, strictly speaking, it differs from a push notification that is displayed immediately after receiving the push notification information by the OS, but for convenience, it will be described as a push notification.

[0019] Figure 3 is a sequence diagram of this system. While each device, application, and OS may be described as the main entity responsible for each process, in reality, the corresponding function is realized by the execution of the corresponding program by the CPU or other processor within each device. Note that not all processes are necessarily executed sequentially on a single process; in some cases, processing may be transferred to the OS and then called again by the OS. This is merely a flowchart illustrating the main processes for convenience and clarity.

[0020] In S101, the user launches application 102.

[0021] In S102, application 102 obtains printer information from printer 200. Printer information includes attribute information and identification information of the printer, such as the printer model name and serial number. If multiple printers are connected, printer information for all printers 200 connected to terminal device 100 may be obtained.

[0022] In S103, application 102 requests the push notification server to obtain a device token. Here, a device token is an ID used by the push notification server 300 to identify the terminal device to which push notification information is to be sent. Here, terminal device 100 is assumed to be the terminal device to which push notifications are to be sent. When the push notification server receives a request from application 102 to obtain a device token, it creates a device token corresponding to the terminal device to which push notification information is to be sent. Note that application 102 already knows the address information of the push notification server 300 and is therefore assumed to be able to communicate with the push notification server 300.

[0023] In S104, the push notification server 300 sends the created device token to the application 102.

[0024] In S105, application 102 associates the printer information obtained in S102 with the device token obtained in S104 and sends it to the management server 400. If multiple printer information entries are obtained in S102, the application prompts the user to select the printer 200 to use from among the printers corresponding to the obtained printer information. For example, application 102 displays a selection screen prompting the user to select the printer 200 to use. Then, application 102 associates the printer information of the selected printer 200 with the device token obtained in S104 and sends it to the management server 400. It is also assumed that application 102 already knows the address information of the management server 400.

[0025] In S106, the management server 400 acquires push notification information. Push notification information settings are created on a dashboard provided by the management server 400. The dashboard is a management screen for service providers such as vendors to configure which terminal devices receive what kind of push notification information, etc., and push notification information settings can be made on the provided UI screen. For example, service providers such as vendors configure push notification information using the screen shown in Figure 4, which will be described later. This configuration may be done in advance by the service provider, or it may be done at the time the service provider wants to send push notifications. If the configuration is done in advance, it is preferable that the timing (time and conditions) for the management server 400 to send push notifications is set. Then, based on the printer information acquired in S105, the management server 400 generates (acquires) the corresponding push notification information at the pre-configured timing (or at the time the service provider newly configures push notifications). Details of the generated push notifications will be described later using Figure 5.

[0026] In S107, the management server 400 sends push notification information to the push notification server 300. Furthermore, it also sends the device token sent from application 102 to the push notification server 300.

[0027] In S108, the push notification server 300 decides to deliver push notification information to the terminal device corresponding to the device token sent from application 102. Here, we assume this is terminal device 100. Then, it delivers the push notification information to the OS 101 installed on terminal device 100.

[0028] In S109, OS101 launches application 102 based on the receipt of push notification information. OS101 then passes the received push notification information to application 102. Note that application 102 is launched in the background, and no screen display occurs at this point. It is preferable that the management server 400 includes a specific tag in the push notification information and allows the OS to refer to that specific tag. In other words, OS101 should switch based on the specific tag whether to display the push notification itself (immediate display) or pass it to application 102 as in S109. Specifically, if the push notification information includes a specific tag, OS101 passes the push notification information to application 102 in S109. On the other hand, if the push notification information does not include a specific tag (or includes a tag different from the specific tag), OS101 should immediately execute the notification based on the received push notification information (immediate display). The following explanation will use the case where the push notification information includes a specific tag as an example.

[0029] In S110, application 102 stores the push notification information received from OS 101 in storage unit 120.

[0030] In S111, application 102 performs the process of displaying a notification based on the push notification information described later in Figure 6.

[0031] This section explains the settings for push notification information and the push notification information itself. Figure 4 shows the screen for setting push notification information. The screen shown in Figure 4 is provided by the management server 400. Service providers such as vendors set up push notification information and decide which terminal devices will receive what kind of push notification information. For example, setting item 401 is for setting the text that will be displayed on the terminal device's screen when push notification information is delivered. Here, the text "Ink discount campaign underway!" is set as an example. Setting item 402 is for setting the URL of the web page that will be displayed in the browser when the user selects the displayed push notification information. Here, the URL "https: / / www.hogehogexxx.com / campaign / index.html" is set as an example. For example, by selecting the displayed push notification information, the user can obtain detailed information related to the content of the push notification information from the web page opened from the corresponding URL. Setting item 403 is for determining the deadline for displaying push notification information on the terminal device. Here, "December 1, 2020 0:00" is set as an example.

[0032] Configuration item 404 is for configuring the printers to which push notification information will be delivered. This configuration item 404 contains a list of printer names that are candidates for delivery of push notification information, and service providers such as vendors check the printer names that are relevant to the content of the push notification information. For example, service providers such as vendors check the printer names that use ink during the ink discount campaign, as shown in 401. The management server 400 determines whether the printer names listed in the printer information sent in S105 are included in the list of printer names checked in configuration item 404. If the management server 400 determines that the printer names are included, it extracts the terminal devices identified by the device tokens associated with the sent printer information as terminal devices to which push notification information will be delivered. In this example, "AAA Printer" and "BBB Printer" are checked. That is, all terminal devices connected to either "AAA Printer" or "BBB Printer" will be extracted as terminal devices to which push notification information will be delivered. Here, let's assume that terminal device 100 is one of the terminal devices extracted as a target for delivery of push notification information.

[0033] Setting item 405 is for setting the display conditions for push notification information. When the status of the printer 200 connected to the terminal device 100 meets the conditions described in setting item 405, the push notification information stored in the storage unit 120 is displayed on the screen of the terminal device 100. In this example, "When low ink warning occurs" is set. This means that push notification information will be displayed on the screen of the terminal device 100 when the amount of ink used by the printer 200 becomes low. Note that setting item 405 can be left blank. If setting item 405 is not set, push notification information will be displayed on the screen of the terminal device 100 regardless of the status of the printer 200. Details will be described later in Figure 9. Button 406 is a registration button for registering the items set in 401 to 405. When registration button 406 is pressed, the push notification information including the set items is saved to the management server 400.

[0034] Figure 5 shows the push notification information. In other words, it is an example of a command for push notification information created by the management server 400 based on the settings configured by the service provider, such as the vendor, in Figure 4. Here, it is written in JSON (JavaScript Object Notation) format as an example, but it may also be written in a format such as XML (Extensible Markup Language) as required by the push notification server. The "message" key is set to the text of the push notification information set in setting item 401. The "campaignURL" is set to the URL set in setting item 402. The "expireDate" is set to the expiration date set in setting item 403. The "devices" is set to the device token extracted in association with the printer name checked in setting item 404. Although omitted in Figure 5, device tokens corresponding to all terminal devices to which the printer checked in setting item 404 is connected will be set. The "condition" is set to the display condition set in setting item 405. Here, "Warning:InkLow" is set, which represents "when a low ink warning occurs".

[0035] Figure 6 is a flowchart illustrating the notification display process based on push notification information, corresponding to S110 in Figure 3. While application 102 may be described as the main entity performing each process, in reality, the corresponding function is realized by the execution of the corresponding program by a processor such as the CPU 110 within the terminal device 100. Note that not all processes are necessarily executed sequentially on a single process; there may be cases where processing is transferred to the OS and then called again by the OS. This flowchart merely illustrates the main processes for convenience and clarity. When application 102 saves the push notification information to the storage unit 120 at S110 in Figure 3, it starts the notification display process based on the push notification information in Figure 6, corresponding to S111.

[0036] In S601, application 102 performs a process to determine the expiration date of the notification based on the push notification information. Details will be described later in Figure 7.

[0037] In S602, application 102 determines whether the push notification information is still valid. If the answer in S602 is YES, application 102 proceeds to S603; if the answer in S602 is NO, it proceeds to S611, where it deletes the push notification information and ends the process.

[0038] In S603, application 102 sends a request to obtain status information from printer 200. Here, status information refers to information indicating the state of printer 200, as shown in Figure 8. For example, if printing is in progress, the printer returns the value "Printing". The status information also includes detailed status information, which includes, for example, error / warning information. Error / warning information refers to information indicating an error or warning that has occurred in printer 200, as shown in Figure 8. For example, if the ink level is low, the printer returns the value "InkLow". Therefore, if printer 200 is printing and the ink level is low, the printer returns the value "Printing:InkLow" as status information. Note that there may be cases where the status information does not include error / warning information as detailed status information. For example, if printer 200 is printing and there is no error / warning information as detailed status information, only the value "Printing" is returned from the printer as status information.

[0039] In S604, application 102 determines whether it succeeded in obtaining status information. If the result in S604 is YES, proceed to S605; if the result in S604 is NO, proceed to S606.

[0040] In S605, application 102 stores the status information obtained from the printer in the storage unit 120. Application 102 may also display the status information obtained from the printer 200 on the display unit 150 of the terminal device 200. Specifically, application 102 may display messages indicating the printer status and messages indicating error / warning information, as shown in Figure 10.

[0041] In S606, application 102 executes a notification display determination process based on push notification information and determines whether or not to display the push notification information on the screen of terminal device 100. The push notification information display determination process will be described later in Figure 9.

[0042] In S607, application 102 reads the result of the display determination process stored in the memory unit 120 in S606 and determines whether to "display" or "not display" the push notification. Specifically, it determines whether it has obtained information indicating "display" or information indicating "not display". If it has obtained information indicating "display" the push notification, it is determined to be YES in S607 and proceeds to S608. If it has obtained information indicating "not display" the push notification, it is determined to be NO in S607 and proceeds to S609.

[0043] In S608, application 102 displays (outputs) a notification based on push notification information on the screen of terminal device 100. Specifically, it instructs OS 101 to display a notification based on push notification information on the screen of terminal device 100. As a result, OS 101 displays the notification based on the push notification via the display unit 150. As a notification method, it is preferable to use the OS's notification function, such as a toast notification.

[0044] Furthermore, the application 102 may display notifications based on push notification information. Also, the output of push notifications may be done by voice via the voice output unit 130. In other words, the content of campaigns, etc., may be notified by voice. Then, in S611, the push notification information is deleted and the process ends.

[0045] If the answer to S607 is NO, then in S609, application 102 starts a timer. This is done because, after a predetermined time has elapsed, the state of printer 200 may change, and the status information of printer 200 may meet the conditions for displaying push notification information.

[0046] In S610, application 102 determines whether a predetermined time has elapsed. If the answer in S610 is YES, the process returns to S601 and the notification display process based on the push notification information is executed again. If the answer in S607 is NO, the process in S610 is repeated.

[0047] Figure 7 is a flowchart illustrating the process for determining the expiration date of a notification based on push notification information, which is performed in S601.

[0048] In S701, application 102 reads the push notification information stored in memory unit 120.

[0049] In S702, application 102 determines whether an expiration date is specified in the push notification information. Specifically, it checks whether "expireDate" is written in the push notification information, and if it is, it determines that an expiration date has been specified for the notification. If the answer in S702 is YES, the process proceeds to S703; if the answer in S702 is NO, the process proceeds to S706. In S706, application 102 determines that the push notification information is within its expiration period, saves the result of the notification expiration date determination process based on the push notification information to the storage unit 120, and terminates the process.

[0050] In S703, application 102 requests date and time information from OS 101 and obtains the current date and time.

[0051] In S704, application 102 determines whether the push notification information is within its validity period. Specifically, it determines whether the current date and time are within the validity period stated in the push notification information. If the answer in S704 is YES, the process proceeds to S703, where it determines that the push notification information is within its validity period, saves the result of the validity period determination process in the storage unit 120, and terminates the process. If the answer in S702 is NO, the process proceeds to S705, where it determines that the push notification information has expired, saves the result of the validity period determination process for notifications based on the push notification information in the storage unit 120, and terminates the process. Then, application 102 proceeds to S602 in Figure 6.

[0052] Figure 9 is a flowchart illustrating the notification display determination process based on push notification information, which is executed in S606.

[0053] In S901, application 102 reads the push notification information stored in memory unit 120.

[0054] In S902, application 102 determines whether a display condition is specified in the push notification information. Specifically, it checks if the push notification information contains a "condition," and if it does, it determines that a display condition for the notification is specified. If the answer in S902 is YES, the process proceeds to S903; if the answer in S902 is NO, the process proceeds to S906. In S906, application 102 determines to "display" the push notification information. This means that the absence of a "condition" in the push notification information indicates that it will be displayed regardless of the printer 200's status. The result of the determination, indicating "display," is saved in the storage unit 120 as the result of the push notification information display determination process, and the process ends.

[0055] In S902, if it is determined that display conditions are specified in the push notification information, in S903, the application 102 determines whether the status information obtained from the printer 200 is stored in the storage unit 120. Specifically, if the status information is successfully obtained from the printer 200 in S604 in Figure 6 and the status information is stored in the storage unit 120 in S605, it is determined that it is stored in the storage unit 120. If the answer in S903 is YES, the process proceeds to S904; if the answer in S903 is NO, the process proceeds to S907. In S907, the application 102 determines that it will not display the notification because it cannot determine whether the status information of the printer 200 satisfies the display conditions of the push notification information, since the status information of the printer 200 is not stored in the storage unit 120. The application 102 then stores information indicating "do not display" in the storage unit 120 as the result of the notification display determination process based on the push notification information, and terminates the process.

[0056] If, in S903, it is determined that status information is stored in the storage unit 120, then in S904, the application 102 reads the status information of the printer 200 stored in the storage unit 120.

[0057] In S905, application 102 determines whether the status information of printer 200 satisfies the conditions for displaying (outputting) push notification information. Specifically, it determines whether the status information of printer 200 read from storage unit 120 matches the content described in "condition" of the push notification information. For example, in Figure 5, "InkLow" is described in "condition" of the push notification information. Therefore, if "InkLow" is included as error / warning information in the detailed status information of the printer 200 read from storage unit 120, it is determined that the conditions for displaying push notification information are met. In other words, for example, if the value of the status information of printer 200 shown in Figure 8 is "Idle:InkLow" or "Printing:InkLow", it is determined that the conditions for displaying push notification information are met. If application 102 is YES in S905, it proceeds to S906, and if it is NO in S902, it proceeds to S907. In S906, application 102 stores information indicating "display" in the storage unit 120 as the result of the push notification information display determination process, and terminates processing. In S907, application 102 stores information indicating "do not display" in the storage unit 120 as the result of the notification display determination process based on the push notification information, and terminates processing. Then, application 102 proceeds to S607 in Figure 6.

[0058] In this embodiment, the push notification information provided by the management server 400 has specified display conditions. When the status of a communication device such as a printer 200 connected to the terminal device 100 satisfies the display conditions, the application 102 displays the push notification on the screen of the terminal device 100. As a result, the push notification is displayed at a time that the user will likely need.

[0059] In this embodiment, the display determination process checks whether display conditions are specified for the push notification information, but it is not limited to this. For example, in S110 of Figure 3, the application 102 may determine whether display conditions are specified for the push notification information before executing the process of saving the push notification information to the storage unit 120. Then, the push notification information for which display conditions are specified may be saved to the storage unit 120, and the push notification information for which no display conditions are specified may be immediately displayed on the screen of the terminal device 100. Specifically, the application 102 may perform a determination similar to that in S902 of Figure 9 before executing S110, and if the result in S902 is NO, the push notification may be immediately displayed on the screen of the terminal device 100, and if the result in S902 is YES, the push notification information may be saved to the storage unit 120.

[0060] In this embodiment, application 102 was described as an application for controlling the printer 200. More specifically, it may be a print workflow application, as described later in Embodiment 2, or it may be a notification application. Furthermore, the functions of application 102 may be executed by two application programs. In the case of execution by two application programs, the first application executes the process up to the point in S110 of Figure 3 where application 102 saves the push notification information to the storage unit 120. The second application may then execute the notification display process based on the push notification information shown in Figure 6, or it may take other forms. An example of the first application is an application that manages and presents various printer information to the user. An example of the second application is a notification application that notifies the status of the printer.

[0061] Furthermore, in the case where a notification based on push notification information for which no display conditions are specified is to be immediately displayed on the screen of the terminal device 100, the first application may display it, or the first application may issue a display instruction to the second application. The second application may then display it on the OS 101. Therefore, even in a configuration operated by two applications, the same effect as in a configuration operated by a single application can be obtained.

[0062] (Embodiment 2) In Embodiment 1, the notification display process based on push notification information was executed based on the fact that application 102 had stored the push notification information obtained from the push notification server in the storage unit 120. Furthermore, if the status information of the printer 200 did not satisfy the display conditions specified in the push notification information, application 102 would start a timer. Then, after a predetermined time had elapsed, the notification display process based on the push notification information would be performed again, thereby executing the notification display process based on push notification information at regular intervals.

[0063] However, if the printer 200's status information does not meet the display conditions specified in the push notification information, the CPU 110 may experience increased processing load because it will continue to perform the notification display process based on the push notification information at regular intervals. Furthermore, since the reprocessing from S601 onwards is not performed until a predetermined time has elapsed due to the timer, there is a possibility that printing may be completed by the printer before the predetermined time has elapsed. In other words, if the display condition specified in the push notification information is "printer status is printing," and the printing timing arrives within the predetermined time in S610, there is a possibility that the push notification display will be missed. Therefore, this embodiment describes a configuration that reduces the processing load on the CPU 110 while minimizing the chances of missing the push notification display.

[0064] Therefore, in this embodiment, we will describe a configuration in which application 102 is launched based on a user's print command and the process of displaying a notification based on push notification information is executed. Furthermore, in this embodiment, we will describe a case in which an extended application called the Windows® Print Workflow Application is used as application 102. The Print Workflow Application can extend the functions of the printer driver (for example, extended print settings and preview functions) by being launched and operating based on a user's print command. In addition, in this embodiment, we will describe an example in which the Print Workflow Application is launched in response to a user's print command and displays the status information of the printer 200 and error / warning information. Note that in this embodiment, the process up to saving the push notification information to the terminal device 100 in S110 of Figure 3 is the same as in Embodiment 1, so the explanation will be omitted. The following will mainly describe the differences from Embodiment 1.

[0065] Figure 10 shows the screen displayed on the display unit 150 of the terminal device 100 when the print workflow application obtains status information and error / warning information from the printer 200. Area 1001 displays the model name of the printer 200. Here, "AAA Printer" is displayed as an example. Area 1002 displays the status information obtained from the printer 200. Here, "Printing in progress." is displayed as an example. This means that the value "Printing" shown in Figure 8 was returned from the printer 200 as status information. Area 1003 displays the error / warning information if there is any detailed status information included in the status information obtained from the printer 200. Here, "Ink level is low." is displayed as an example. This means that "InkLow" shown in Figure 8 was returned from the printer 200 as error / warning information. In other words, when the content shown in Figure 10 is displayed on the screen of the terminal device 200, it means that "Printing:InkLow" was returned from the printer 200 as the value shown in Figure 8. Furthermore, if there is no error / warning information included in the detailed status information obtained from printer 200, field 1003 may be left blank, or it may display content indicating that there is no error / warning information.

[0066] Figure 11 shows the screen displayed when the print workflow application fails to retrieve status information and error / warning information for printer 200. For example, screens 1102 and 1103 display information indicating that the status information and error / warning information for printer 200 failed to be retrieved, respectively. In this example, "Could not retrieve information. Please check the connection." is displayed.

[0067] Figure 12 is a flowchart illustrating the processing of a print workflow application. While the print workflow application (Application 102) may be described as the primary process in subsequent explanations, in reality, the corresponding functions are realized by the execution of corresponding programs by a processor such as the CPU 110 within the terminal device 100. Note that not all processes are necessarily executed sequentially on a single process; in some cases, processing may be transferred to the OS and then called again by the OS. This flowchart merely illustrates the main processes for convenience and clarity.

[0068] The flow shown in Figure 12 begins when the print workflow application is launched based on a print command. A print command is issued when the user initiates printing via the print settings screen provided by the drawing application or the OS, and the print workflow application is launched.

[0069] Since steps S1201 to S1203 are the same as steps S603 to S605, their explanation will be omitted.

[0070] In S1204, the print workflow application displays the status information obtained from the printer 200 on the display unit 150 of the terminal device 200. If the status information includes detailed status information such as error / warning information, it is preferable to display the error / warning information together with the status information. That is, if it is determined in S1202 that the acquisition of status information was successful, the acquired status information and error / warning information are displayed in areas 1002 and 1003 of Figure 10, respectively. Also, if it is determined in S1202 that the acquisition of status information was unsuccessful, the details of the acquisition failure are displayed in areas 1102 and 1103 of Figure 11, as shown in Figure 11.

[0071] Since S1205 to S1210 are the same processes as S602, S603, S606, 607, 608, and 611 respectively, their explanation will be omitted.

[0072] In S1208, the print workflow application terminates processing if it receives information indicating that it will "not display" notifications based on push notification information.

[0073] In this embodiment, application 102 is launched based on a print command, and the process of displaying a notification based on the push notification information is executed. As a result, the display process is executed only at the appropriate time, such as during printing, which reduces the processing load on the CPU 110. In addition, since it is displayed only at the timing based on the print command, there is no need to set a timer, and the possibility of missing a push notification is reduced.

[0074] In this embodiment, the process was explained using a print workflow application as an example, but similar processing may be performed by another application that is launched at the time of printing.

[0075] Furthermore, in this embodiment, the system may be executed by two application programs. In this configuration, the first application executes the process up to the point in S110 of Figure 3 when application 102 saves the push notification information to the storage unit 120. The second application then executes the notification display process based on the push notification information shown in Figure 12, or it may take any other configuration. Also, in the case of a configuration in which a notification based on push notification information for which no display conditions have been specified is to be displayed immediately on the screen of the terminal device 100, the first application may display it, or the first application may instruct the second application to display it. Thus, even in a configuration operated by two applications, the same effects as in a configuration operated by a single application can be obtained.

[0076] (Embodiment 3) Embodiments 1 and 2 described a case in which one push notification is stored in the storage unit 120 of the terminal device 100. However, if another push notification is sent from the management server 400 before the stored push notification information is deleted, multiple push notification information will be stored in the storage unit 120. In this embodiment, even in the case where multiple push notification information is stored, a form will be described in which a notification based on the push notification information is displayed at the time necessary for the user. The following will focus on the differences from Embodiments 1 and 2.

[0077] Figure 13 is a table showing the push notification information stored in the storage unit 120 by application 102. Here, as an example, it is assumed that four push notification information items, from push notification information_1 to push notification information_4, are stored. "No." indicates the processing order of the push notification information to be processed. In the example in Figure 13(a), it indicates that the processing of push notification information_1 is executed first, and the processing of push notification information_4 is executed last. Also, "Delivery Date" indicates the date and time when the push notification information was stored in the storage unit 120. For example, it indicates that push notification information_1 was stored in the storage unit 120 by application 102 at "10:00 on October 1, 2020". When application 102 stores push notification information in the storage unit 120, it sets a "Delivery Date" for each push notification information. In the example in Figure 13(a), it is shown that application 102 stores the push notification information so that it is processed starting with the oldest delivery date. Furthermore, the "Notification Priority" in Figure 13(b) represents the priority of push notification information set by service providers such as vendors on the dashboard provided by the management server 400.

[0078] Figure 14 shows an example of a dashboard where push notification information priority can be set. Setting item 1401 is for setting the priority of push notification information, and in this example, "High" is set as the priority by the service provider. Note that there are also other priority levels such as "Medium" and "Low". In the example in Figure 13(b), application 102 stores push notifications in a way that prioritizes them and processes them starting with the oldest delivery date. Note that if an expiration date is specified for the push notification information, it may be stored in a way that processes push notifications with an approaching expiration date first, rather than the oldest delivery date.

[0079] Figure 15 is a flowchart illustrating the process by which application 102 specifies the order of push notification information stored in the memory unit 120. While application 102 may be described as the main entity responsible for each process, in reality, the corresponding function is realized by the execution of the corresponding program by a processor such as the CPU 110 within the terminal device 100. Note that not all processes are necessarily executed sequentially on a single process; in some cases, processing may be transferred to the OS and then called again by the OS. This flowchart merely illustrates the main processes for convenience and clarity.

[0080] The flow in Figure 15 begins when push notification information is handed over from OS101 at S109 in Figure 3.

[0081] In S1501, application 102 determines whether a priority is set for the push notification information delivered from the push notification server 300. Specifically, it determines, for example, whether the push notification information contains the word "priority". If the answer in S1501 is YES, application 102 proceeds to S1502; if the answer in S1501 is NO, it proceeds to S1503. In S1503, if no priority is set for the push notification information, it is stored in the storage unit 120 so that it is processed last. For example, if the push notification information to be processed last among the push notification information stored in the storage unit 120 is "No. 3", the delivered push notification information is stored as "No. 4". Then, application 102 terminates processing.

[0082] In S1502, application 102 obtains the priority of the push notification information stored in the storage unit 120.

[0083] In S1504, application 102 determines whether there is any push notification information stored in the memory unit 120 with the same priority as the delivered push notification information. Specifically, for example, if the "priority" of the delivered push notification information is set to "high", it determines whether the "priority" of the stored push notification information is also set to "high". If the answer in S1504 is YES, application 102 proceeds to S1505; if the answer in S1504 is NO, it proceeds to S1506.

[0084] In S1505, application 102 stores the delivered push notification information in the storage unit 120 so that it is processed after the push notification information with the same priority and the most recent delivery date among the stored push notification information. For example, if the push notification information with the same priority and the most recent delivery date among the push notification information stored in the storage unit 120 is "No. 3", the delivered push notification information is stored as "No. 4". Then, application 102 terminates processing.

[0085] In S1506, application 102 stores the delivered push notification information in the storage unit 120 so that it is processed after the push notification information with the highest priority and the most recent delivery date among the stored push notification information. For example, if the push notification information with the highest priority and the most recent delivery date among the push notification information stored in the storage unit 120 is "No. 3", the delivered push notification information is stored as "No. 4". Then, application 102 terminates processing.

[0086] Figure 16 is a flowchart illustrating the notification display process based on push notification information executed by application 102 when multiple push notification information is stored in the configuration of Embodiment 1. Hereafter, application 102 may be described as the main entity for each process, but in reality, the corresponding function is realized by the execution of the corresponding program by a processor such as the CPU 110 in the terminal device 100. Note that not all processes are necessarily executed sequentially on a single process; there may be cases where the process is transferred to the OS and then called again by the OS. This flowchart is merely a simplified representation of the main processes for convenience.

[0087] The flow in Figure 16, like in Figure 6, begins when push notification information is stored in the storage unit 120 at S110 in Figure 3.

[0088] In S1601, application 102 determines the push notification to be processed from the push notification information stored in the memory unit 120, as shown in Figure 13, according to the processing order indicated by "No.".

[0089] The processes in S1602 to S1612 are the same as those in S601 to S611 in Figure 6, so their explanation is omitted.

[0090] In S1613, application 102 determines whether there is any push notification information stored in the memory unit 120. If the answer in S1613 is YES, the process proceeds to S1610. If the answer in S1613 is NO, the process ends. In S1610, application 102 starts a timer, and if it is determined in S1611 that a predetermined time has elapsed, it returns to S1601, determines the push notification to be processed again according to the processing order indicated by "No.", and executes the processing. This repeats the display process for all push notification information stored in the memory unit 120.

[0091] Figure 17 is a flowchart illustrating the notification display process based on push notification information that application 102 performs when multiple push notification pieces of information are stored in the configuration of Embodiment 2.

[0092] The flow in Figure 17, like in Figure 12, begins when the print workflow application is launched based on a print command. The print command is issued when the user initiates printing via the print settings screen provided by the drawing application or the OS, and the print workflow application is launched.

[0093] Steps S1701 to S1704 are the same as steps S1201 to S1204 in Figure 12, so their explanation is omitted.

[0094] In S1705, the print workflow application determines the push notification to be processed from the push notification information stored in the storage unit 120, as shown in Figure 13, according to the processing order indicated by "No.".

[0095] The processes in S1706 to S1711 are the same as those in S1205 to S1210 in Figure 12, so their explanation is omitted.

[0096] In S1712, application 102 determines whether there is any push notification information stored in the memory unit 120. If the answer in S1712 is YES, the process returns to S1605; if the answer in S1712 is NO, the process terminates. In S1605, application 102 again determines the push notification to be processed according to the processing order indicated by "No." and executes the processing. This repeats the display process for all push notification information stored in the memory unit 120.

[0097] In this embodiment, even when multiple push notification messages are stored, the delivered push notification is displayed at a time that is deemed necessary for the user. Furthermore, by setting the notification priority in 1401 shown in Figure 14, it is possible to prioritize the display of push notifications that service providers such as vendors want to display first.

[0098] (Other embodiments) The embodiments described above can also be realized by performing the following process: supplying software (programs) that realize the functions of the embodiments described above to a system or device via a network or various storage media, and having the computer (CPU, MPU, etc.) of that system or device read and execute the program. The program may be executed on a single computer or executed in conjunction with multiple computers. Furthermore, it is not necessary to realize all of the above processes in software; some or all of the processes may be realized in hardware such as ASICs. Also, the CPU is not limited to one CPU that performs all the processing; multiple CPUs may perform the processing in coordination as appropriate.

[0099] Furthermore, the functionality of the aforementioned embodiment is not only realized by the execution of program code read by the computer. It also includes cases where the operating system running on the computer performs some or all of the actual processing based on the instructions of that program code, and the functionality of the aforementioned embodiment is realized through that processing. [Explanation of symbols]

[0100] 100 terminal devices 200 Printing device 300 push notification servers 400 Management Servers 101 Operating Systems 102 Applications

Claims

[Claim 1] It is a program, A first acquisition step involves acquiring information about a communication device that can communicate with an information processing device, A second acquisition step involves acquiring notification information created by a management server that can communicate with the aforementioned information processing device, The steps include: executing a first determination process to determine whether the information of the communication device acquired satisfies the output conditions corresponding to the information contained in the notification information acquired; If the first determination process determines that the information of the communication device satisfies the output conditions, a first output step is performed to output a notification based on the notification information, A program that causes the computer of the aforementioned information processing device to execute.