Program and information processor
The solution allows a first program to output a display instruction to a second program for generating a screen when conditions are not satisfied, addressing the challenge of displaying screens in response to instructions from other programs, thereby enhancing compatibility and flexibility in screen display technologies.
Patent Information
- Application Number
- JP2024040126
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-14
- Publication Date
- 2025-09-29
AI Technical Summary
Existing technologies lack a mechanism for a program to display a screen when instructed by another program, especially when the instruction specifies an image processing device that may not satisfy certain conditions.
A first program that receives an execution instruction from a different program causes the computer to either execute a display process for a first screen if conditions are met or output a display instruction to a second program capable of communicating with the image processing device to generate a second screen.
Enables the display of a screen generated by a second program even if the execution instruction specifies an incompatible image processing device, enhancing flexibility and compatibility in screen display technologies.
Smart Images

Figure 2025140612000001_ABST
Abstract
Description
[Technical Field]
[0001] The technical field disclosed in this specification relates to a program and an information processing device that communicate with an image processing device. [Background technology]
[0002] Conventionally, there has been known a configuration in which a communication program that communicates with an image processing device displays a screen when another program receives a predetermined operation. For example, Patent Document 1 discloses a configuration in which, when a peripheral device is selected in an instruction source program and an instruction to display the status of the peripheral device is input via a screen displayed by the instruction source program, a status monitor that is a program other than the instruction source program displays a screen. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-014026 Summary of the Invention [Problem to be solved by the invention]
[0004] A new technique for displaying a screen when a command to display a screen is received from another program is desired. [Means for solving the problem]
[0005] The program aimed at solving the above problems is A first program executable by a computer of an information processing device having a communication unit, The first program causes the computer to When an execution instruction is received from a program that is an instruction source different from the first program and that specifies identification information related to the image processing device, If a predetermined condition regarding the identification information is not satisfied, a display process is executed to display a first screen generated in accordance with the first program; When the predetermined condition is satisfied with respect to the identification information, the display process is not executed, and an output process is executed to output a display instruction for a second screen generated in accordance with a second program, the second program being different from the first program and capable of causing the computer to execute a process of communicating with an image processing device corresponding to the identification information via the communication unit. It is configured as follows.
[0006] According to the above program, when a first program having a monitoring function receives an execution instruction specifying identification information related to an image processing device from an instruction source program, if a predetermined condition is satisfied with the identification information, the first program does not display a first screen that it can generate itself, but instead outputs an instruction to a second program that can communicate with the specified image processing device to display a second screen that the second program can generate. This makes it possible to display a screen generated by the second program, which is different from the first program, even if the execution instruction for the first program specifies an image processing device.
[0007] A control method for realizing the functions of the above-mentioned device, an information processing device, and a computer-readable storage medium storing the above-mentioned program are also novel and useful. [Effects of the Invention]
[0008] The technology disclosed in this specification realizes a new technology related to screen display when a program that communicates with an image processing apparatus receives an instruction to display a screen from another program. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a schematic diagram illustrating an information processing system according to an embodiment. [Figure 2]FIG. 2 is an explanatory diagram illustrating a home screen displayed by the device control program. [Figure 3] FIG. 10 is an explanatory diagram showing a status details screen displayed by the device control program. [Figure 4] FIG. 10 is a diagram showing a status information screen displayed by a status monitor. [Figure 5] FIG. 10 is an explanatory diagram showing a list screen displayed by a launcher application. [Figure 6] FIG. 10 is an explanatory diagram illustrating the configuration of a device table. [Figure 7] FIG. 10 is a sequence diagram showing the procedure of a status information acquisition process including device operations, which is realized by a device monitoring program and a status monitor of the information processing apparatus. [Figure 8] FIG. 10 is a sequence diagram showing the steps of an installation process of the integrated application 33, including device operations, which is implemented by an installer of the information processing device. [Figure 9] 10 is a sequence diagram illustrating a procedure for displaying status information implemented by a launcher program, a status monitor, and an integrated application of the information processing apparatus. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of an information processing system according to the present invention will be described in detail with reference to the accompanying drawings. In this embodiment, the present invention is applied to an information processing system including a printing device and an information processing device that are capable of communicating with each other.
[0011] 1, an information processing system 100 of this embodiment has four devices 1A, 1B, 1C, and 1D and an information processing device 200, which are communicatively connected to one another. In the following description, when there is no need to distinguish between devices 1A, 1B, 1C, and 1D, the distinguishing suffixes A to D will be omitted and the devices will be described as device 1. Device 1 is an example of an image processing device.
[0012] The devices 1 include a printing device 1A capable of printing on a medium to be printed, and an image reading device 1B capable of reading an image recorded on a medium to be read. In this embodiment, the printing device 1A is exemplified as an inkjet printer. Alternatively, the printing device 1A may be a laser printer, label printer, copier, or multifunction peripheral. The information processing device 200 generates and edits image data to be printed by the printing device 1A, sends print execution instructions and image data to the printing device 1A, and receives status information from the printing device 1A.
[0013] Furthermore, when the device 1 is an image reading device 1B, the information processing device 200 is a device that issues a reading execution instruction to the image reading device 1B, receives read data from the image reading device 1B, receives status information from the image reading device 1B, etc. The image reading device 1B may be a copy machine, a multifunction device, etc.
[0014] The information processing device 200 is, for example, a smartphone, a personal computer, or a tablet computer. The number of information processing devices 200 constituting the information processing system 100 is not limited to one, and there may be a plurality of information processing devices 200.
[0015] The printing device 1A has a controller 11, a printing unit 12, an operation panel 13, a network interface 14, and a storage unit 15. The controller 11 includes a CPU and memories such as flash ROM and RAM, and controls each component of the printing device 1A.
[0016] The controller 11 is a general term for hardware such as a CPU that is used to control the printing device 1A. Specifically, the controller 11 also includes an ASIC (Application Specific Integrated Circuit), and therefore the ASIC may take on some of the functions of the CPU, and a logic circuit may take on some of the functions of the controller.
[0017] The printing unit 12 is configured to print an image on a medium to be printed based on image data sent from the information processing device 200. In this embodiment, the printing unit 12 uses an inkjet printing method as its image formation method. The printing unit 12 has a print head that prints an image on the medium. The printing unit 12 can also be called a print engine. The image formation method of the printing unit 12 may be a thermal printing method or an electrophotographic method.
[0018] The operation panel 13 is, for example, a touch panel, and is hardware that accepts input from a user and displays information. The operation panel 13 may include various indicator lamps, buttons, etc. The network interface 14 is hardware for communicating with the information processing device 200.
[0019] The storage unit 15 of the printing device 1A also has a data storage area 17, which stores, for example, information about the capabilities of the printing device 1A, connection information for connecting to the printing device 1A, status information about the printing device 1A, various setting information set in the printing device 1A, information about the remaining amount of consumables in the printing device 1A, information about the number of pages printed by the printing device 1A, and information about support for consumables.The printing device 1A also manages the printing progress status for each job sender.In this embodiment, the consumables are ink cartridges that contain ink consumed in the printing process of the printing device, and the remaining amount information is information about the remaining amount of ink contained in the ink cartridges.
[0020] As shown in Fig. 1, the information processing device 200 includes a desktop personal computer (PC) 2 and an input / output device 25. The PC 2 includes a CPU 21, a ROM 22, a RAM 23, a nonvolatile memory 24, the input / output device 25, an interface 26, and a network interface 27. The ROM 22 stores various programs and the like for the information processing device 200. The RAM 23 is used as a working area when various processes are executed, or as a storage area for temporarily storing data. The nonvolatile memory 24 is, for example, a hard disk drive (HDD), a solid state drive (SSD), or a flash memory, and stores various programs and data.
[0021] The CPU 21 executes various processes in accordance with the programs loaded from the ROM 22 to the nonvolatile memory 24 .
[0022] The input / output device 25 is connected to the interface 26 and has an input device and an output device. The input device includes a keyboard 40, a mouse 41, etc. The output device includes a display 42. The display 42 is, for example, a liquid crystal display, an organic EL display, etc. The input / output device 25 may be a touch panel that can be operated by touch. The information processing device may be a notebook PC or a tablet.
[0023] The network interface 27 is hardware for communicating with each device 1. The network interface 27 is an example of a communication unit.
[0024] In the information processing system 100 of this embodiment, the information processing device 200 and each device 1 perform wireless communication in accordance with the Wi-Fi (registered trademark) standard via a common access point 3. That is, the network interfaces 14 and 27 are both wireless interfaces that enable wireless communication according to the Wi-Fi (registered trademark) standard. Alternatively, the network interfaces 14 and 27 may be wired interfaces such as wired LAN (Local Area Network) interfaces.
[0025] The communication mode of the present embodiment is merely an example and is not limited to the above-described mode. For example, the information processing device 200 and each device 1 may communicate with each other by wireless communication through a direct connection without going through the access point 3, or by wired communication using an interface such as a USB.
[0026] 1, the nonvolatile memory 24 of the information processing device 200 stores an operating system (OS) 31, an editing application program (hereinafter, the application program will be referred to as an "app") 32, a device monitoring program 34 and a device control program 35 that constitute an integrated app 33, a status monitor 36, and a launcher app 39. The nonvolatile memory 24 also includes a data storage unit 38.
[0027] The OS 31 is, for example, Windows (registered trademark), macOS (registered trademark), Linux (registered trademark), iOS (registered trademark), or Android (registered trademark). In this embodiment, the OS 31 is Windows.
[0028] The editing application 32 is an image editing program that has, for example, a function to receive user instructions via the input / output device 25, a function to display an image on the display 42, and a function to edit and save the image. The editing application 32 may be a document editing program, a spreadsheet program, or the like.
[0029] The integrated application 33 and the status monitor 36 are programs for communicating with the monitored device 1, acquiring status information of the monitored device 1, and notifying the user of information based on the acquired status information. The monitored device is set for each program. The integrated application 33 is provided by the same vendor as the status monitor 36 and is a program for realizing the same monitoring function as the status monitor 36, but supports more extensive functions than the status monitor 36 and is provided as a new program separate from the status monitor 36, rather than as an upgraded version of the status monitor 36. Therefore, the integrated application 33 and the status monitor 36 can coexist.
[0030] In this embodiment, the status monitor 36 is an example of a first program, and the integrated application 33 is an example of a second program. More specifically, the first program is an upgraded version of the status monitor 36, which will be described later, or a version of the status monitor 36 that corresponds to the integrated application 33.
[0031] As described above, the integrated application 33 has two programs: the device monitoring program 34 and the device control program 35. The device monitoring program 34 is a resident program that periodically communicates with each device 1 via the network interface 27 and realizes the function of acquiring various information such as status information from each device 1. The resident program is automatically started when the OS is started, and performs predetermined processing in the background while the OS is running.
[0032] Specifically, when, for example, printing device 1A is set as the object to be monitored, device monitoring program 34 obtains from printing device 1A via network interface 27 information such as capability information of printing device 1A, connection information for connecting to printing device 1A, status information of printing device 1A, various setting information to be set in printing device 1A, remaining amount information of consumables of printing device 1A, number of printed sheets of printing device 1A, information on support for consumables, information on the progress of printing, etc., and stores this information in data storage unit 38.
[0033] Furthermore, when, for example, image reading device 1B is set as the object to be monitored, device monitoring program 34 acquires from image reading device 1B via network interface 27, information on the capabilities of image reading device 1B, connection information for connecting to image reading device 1B, status information of image reading device 1B, various setting information set in image reading device 1B, information on the progress of reading, etc., and stores the information in data storage unit 38.
[0034] The device monitoring program 34 can then read out the status information of the device 1 stored in the data storage unit 38 and display on the display 42 a screen based on the status information.
[0035] The device control program 35 has a job execution function for causing the printing device 1A set in the device name display field 73 (described later) to print images, etc., edited or saved by the editing application 32. The device control program 35 is a non-resident program that is started, for example, when started by a user.
[0036] Specifically, the device control program 35 has a job execution function that accepts the selection of an image to be printed and sends a print instruction based on the selected image to the printing device 1A, thereby causing the printing device 1A to print based on the print instruction. In addition, the device control program 35 can read status information of the selected printing device 1A, information on the remaining amount of consumables, etc. from the data storage unit 38 and display it on the display 42.
[0037] The device control program 35 also has a job execution function of instructing the selected image reading device 1B to perform reading, and of receiving image information read by the selected image reading device 1B and storing it in the data storage unit 38. It is also possible to read information relating to the progress of reading by the selected image reading device 1B from the data storage unit 38 and then display it on the display 42.
[0038] The device control program 35 can display a screen for receiving a print instruction or a read instruction on the display 42. Fig. 2 is an explanatory diagram showing an example of the display 42 in a state where a home screen 70 of the device control program 35 is displayed by the device control program 35. The home screen 70 is an initial screen that is displayed first when the device control program 35 is started, for example, by operating the icon 43 of the device control program 35.
[0039] The home screen 70 includes a print icon 71, a scan icon 72, etc. The home screen 70 also has a device name display field 73 that displays the name of the device 1 selected as the control target, a status display field 74 that displays a message based on status information, and an ink level display field 75. The home screen 70 also has a details display button 77 that accepts a detailed status display.
[0040] The print icon 71 is used to cause the controlled device 1 to print, and the scan icon 72 is used to cause the controlled device 1 to read an image.
[0041] The device name display field 73 displays the name and IP address of the selected device 1. The device name display field 73 is configured with a pull-down menu, and can display a list of devices 1 to be monitored by the integrated app 33. By accepting the selection of one device 1 from the list, the device 1 to be controlled can be switched. On the home screen 70 at startup, the device 1 currently selected as the integrated app 33 is displayed in the device name display field 73.
[0042] The status display field 74 displays the status of the device 1 displayed in the device name display field 73. Furthermore, if the device 1 displayed in the device name display field 73 is the printing device 1A, the remaining ink level display field 75 displays the remaining ink level of the printing device 1A. The device control program 35 may obtain status information for the printing device 1A by referencing the device table 80 of the device monitoring program 34 stored in the data storage unit 38 of the device monitoring program 34, or may obtain the status information by communicating with the printing device 1A.
[0043] Furthermore, when the detail display button 77 is operated, the device control program 35 can display on the display 42 a screen that can provide detailed information based on the status information of the device 1 to be controlled. Fig. 3 is a diagram showing a status detail screen 78 that is displayed by the device control program 35. The status detail screen 78 is displayed in response to receiving a display instruction when a device to be displayed is specified, and displays detailed information based on the status information of the specified device on the display 42. The status detail screen 78 is an example of a second screen.
[0044] The status details screen 78 is provided with a status display field 78A, a remaining ink level details display field 78B, etc. The status display field 78A displays the status of the device 1 to be controlled, similar to the status display field 74 of the home screen 70. The remaining ink level details display field 78B displays more detailed information about the remaining ink levels than the remaining ink level display field 75 of the home screen 70. For example, the remaining ink level details display field 78B displays the model number of each ink cartridge and the approximate number of pages that can be printed with each ink cartridge.
[0045] On the other hand, the status details screen 78 does not display the print icon 71, scan icon 72, device name display field 73, etc. that were displayed on the home screen 70. This makes the display simple, making it easy for the user to understand the status details.
[0046] Returning to the explanation of FIG. 1 , as described above, the status monitor 36 is a program that has been provided before the integrated application 33. Although the status monitor 36 has a monitoring function similar to the device monitoring program 34 of the integrated application 33, it does not have a job execution function similar to the device control program 35 of the integrated application 33. Some of the devices 1 included in the information processing system 100 are old models that do not support new communication protocols and cannot communicate with the device monitoring program 34, which communicates using the new communication protocol. The status monitor 36 can communicate with such old model devices 1, and can coexist and remain resident together with the device monitoring program 34 without being uninstalled even in the information processing device 200 on which the device monitoring program 34 is installed.
[0047] Specifically, like the integrated application 33, when, for example, the printing device 1A is set as the object to be monitored, the status monitor 36 obtains status information of the printing device 1A, information regarding the progress of printing, etc. from the printing device 1A via the network interface 27 and stores the information in the data storage unit 38.
[0048] In addition, when, for example, image reading device 1B is set as the object to be monitored, status monitor 36 acquires status information of image reading device 1B, information regarding the progress of reading, etc. from image reading device 1B via network interface 27, and stores the information in data storage unit 38.
[0049] The status monitor 36 can also read out the status information of the device 1 stored in the data storage unit 38 and display a screen based on the status information on the display 42.
[0050] 4 is an explanatory diagram showing a status information screen 50 by the status monitor 36. The status information screen 50 displays information about one selected device among the devices 1 to be monitored. The status information screen 50 is an example of the first screen.
[0051] The status information screen 50 is composed of a status display field 50A in which a message based on the status information is displayed, an icon 50B indicating the status based on the status information, a device name display field 50C in which the name of the selected device 1 is displayed, and a remaining ink amount display field 50D in which the remaining ink amount of the selected device 1 is displayed. The appearance of the icon 50B differs depending on the type of status of the selected device 1.
[0052] The device name display field 50C is configured with a pull-down menu, and can display a list of devices 1 to be monitored. By accepting the selection of one device 1 from the list, the device 1 to be displayed can be switched.
[0053] 1, launcher application 39 corresponds to some of the programs installed in information processing device 200, displays a list of the corresponding programs, and accepts device selection, program selection, and instructions to execute various processes for the selected program. Launcher application 39 is an example of a program that issues instructions.
[0054] 5, the launcher application 39 displays a list screen 90 on the display 42, which displays a list of programs to be selected. For example, if the selectable programs include a status monitor 36, a software update tool (not shown), a network diagnostic tool (not shown), and a software uninstallation tool (not shown), the list screen 90 includes an icon 91A corresponding to the status monitor 36, an icon 91B corresponding to the software update tool, an icon 91C corresponding to the network diagnostic tool, and an icon 91D corresponding to the software uninstallation tool.
[0055] The list screen 90 also includes a device name display field 92 that displays the name of the selected device 1. The device name display field 92 is configured as a pull-down menu, and displays a list of devices 1 connected to the information processing device. By accepting the selection of one device 1 from the list, the selected device 1 can be switched.
[0056] When a user operates one of the icons included in the list screen 90, the launcher application 39 instructs the program corresponding to the operated icon to execute the process corresponding to that icon. In other words, operating the icon serves both as a program selection and an execution instruction. The execution instruction can include device information indicating the selected device. For example, when the icon 91A corresponding to the status monitor 36 is operated, a display instruction is output to the status monitor 36 to display a screen showing the status of the selected device. For example, when the icon 91C corresponding to the network diagnostic tool is operated, an instruction is issued to launch the network diagnostic tool (not shown).
[0057] The launcher application 39 of the present embodiment is a program that has been provided before the integrated application 33, and although it is compatible with the status monitor 36, it is not compatible with the integrated application 33. Therefore, an icon corresponding to the integrated application 33 is not included in the list screen 90.
[0058] The data storage unit 38 has a device table that stores information about the devices to be monitored by the integrated application 33, and a device table that stores information about the devices to be monitored by the status monitor 36. Each device table stores the model name, model number, IP address, etc. of all devices 1 to be monitored.
[0059] 6 is an explanatory diagram illustrating the configuration of the device table 80 of the integrated application 33. In the device table 80, a management record consisting of multiple items is registered for each device to be managed. Items included in the management record include, for example, a device name 81, a model 82, an IP address 83, status information 85, and capability information 86. The device table of the status monitor 36 has a similar configuration.
[0060] Among the items in the management record, the device name 81 stores the name of the monitored device 1 managed by the OS 31, the model name 82 stores the model name of the monitored device 1, and the IP address 83 stores the IP address of the monitored device 1. The status information 85 stores status information of the device 1, such as an error, warning, or ready status. The capability information 86 stores information such as basic functions (print, copy, scan, fax), print formats (inkjet, laser, thermal), resolution, subscription setting information, optional unit installation information, and secure function lock setting information. For convenience, in FIG. 6 , the capability information 86 indicates whether information is stored with a circle and whether information is not stored with a cross. In reality, the capability information 86 stores either the capability information acquired from the device 1 or information indicating that no information is stored.
[0061] (Getting status information) Next, the procedure for acquiring status information realized by the device monitoring program 34 and status monitor 36 of the information processing device 200 will be described with reference to the sequence diagram shown in Fig. 7. In the description of the procedure for the acquisition process based on Fig. 7, it is assumed that the printing device 1A is set as the monitoring target in the device monitoring program 34, and the image reading device 1B is set as the monitoring target in the status monitor 36.
[0062] Note that each processing step in this embodiment represents processing by the CPU 21 in accordance with instructions written in a program such as the device monitoring program 34 or the status monitor 36 of the information processing device 200. The processing by the CPU 21 also includes hardware control using the API of the OS. In this specification, the operation of each program will be explained without a detailed description of the OS. Also, for convenience, in this specification, processing that is primarily performed by the CPU 21 may be described as being primarily performed by a program or device.
[0063] First, the information processing device 200 executes a status information query to the printing device 1A that is the monitoring target of the device monitoring program 34 among the devices 1 connected to the information processing device 200. Specifically, the device monitoring program 34 queries the printing device 1A at regular intervals, executing so-called polling (step 11 (hereinafter referred to as T11)). The polling interval may be fixed or may be variable based on, for example, frequency of use. It may also be a polling interval set by the user on a settings screen (not shown). Furthermore, if there are multiple devices 1 to be monitored, the polling interval may be the same for all of them, or may be different for each device 1 to be monitored.
[0064] Upon receiving an inquiry based on the device monitoring program 34 from the information processing device 200, the printing device 1A transmits status information to the information processing device 200 (T12). The device monitoring program 34 receives the status information and stores the received status information in the data storage unit 38 (T13). That is, the device monitoring program 34 references the device table 80 of the device monitoring program 34, and stores the received status information in the status information 85 of the record corresponding to the printing device 1A that sent the status information.
[0065] After storing the status information in the data storage unit 38 at T13, if the device monitoring program 34 determines based on the received status information that a notification is necessary, it displays a screen (not shown) showing the status that can be provided by the device monitoring program on the display 42 (T14). For example, if the status information includes information indicating a shortage of consumables such as ink, the device monitoring program 34 determines that a notification is necessary and notifies the user of the status information screen 50 about the shortage of consumables.
[0066] In addition, if an error occurs during printing operation in the printing device 1A, for example, if a consumable such as ink runs out or if an error such as a paper jam occurs during printing, status information indicating the content of the error may be sent from the printing device 1A to the information processing device 200, and the device monitoring program 34 may acquire the status information and notify information regarding the error via the status information screen 50.
[0067] Furthermore, the information processing device 200 queries the image reading device 1B, which is the monitoring target of the status monitor 36, among the devices 1 connected to the information processing device 200, for status information. The status monitor 36 also polls the image reading device 1B in the same manner as the device monitoring program 34 (T21). The polling interval of the status monitor 36 is set separately from the device monitoring program 34, and the status monitor 36 polls in accordance with the polling interval set in the status monitor 36.
[0068] Image reading device 1B, which has received an inquiry from information processing device 200 based on status monitor 36, transmits status information to information processing device 200 (T22). Status monitor 36, which has received the status information, stores the received status information in data storage unit 38 (T23). That is, status monitor 36 refers to device table 80 of status monitor 36, and stores the received status information in status information 85 of the record corresponding to image reading device 1B, the sender of the status information.
[0069] After storing the status information in the data storage unit 38 at T23, if the status monitor 36 determines that notification is necessary based on the received status information, it displays a status information screen 50 such as that shown in Figure 4 on the display 42 (T24).
[0070] (Installation process for integrated app 33) Next, the procedure of the installation process for installing the integrated application 33 in the information processing device 200 using the installer 37 will be described with reference to the sequence diagram shown in Fig. 8. Note that, before installing the integrated application 33, it is assumed that the status monitor 36 has already been installed in the information processing device 200 and that the image reading device 1B is the monitoring target of the status monitor 36. The installer 37 is stored in the information processing device 200 by being downloaded from, for example, the homepage of the vendor of the integrated application 33 or the application provider site.
[0071] First, when the user instructs the installer 37 to start up (T41), the installer 37 determines whether the status monitor 36 is installed and whether the status monitor 36 is the latest version, and if the installed status monitor 36 is not the latest version compatible with the integrated application 33, it instructs the status monitor 36 to stop monitoring (T42). Having received this instruction, the status monitor 36 stops monitoring the image reading device 1B (T43).
[0072] Thereafter, the installer 37 updates the installed status monitor 36 to the latest version compatible with the integrated application 33 (T44). If the status monitor 36 is not installed, the installer 37 skips the processes from T42 to T44. If the latest version of the status monitor 36 is installed, the installer 37 does not perform the processes from T42 onwards and ends the installation process.
[0073] Thereafter, the installer 37 installs the integrated application 33 (T51), thereby storing the device monitoring program 34 and the device control program 35 in the non-volatile memory 24.
[0074] When the installation of the integrated application 33 is complete, the installer 37 instructs the device monitoring program 34 of the installed integrated application 33 to start up (T53), and the device monitoring program 34 is started up (T54). By starting up the device monitoring program 34, the installer 37 completes the installation process.
[0075] When the device monitoring program 34 is launched for the first time by the installer 37, it refers to the device table 80 of the status monitor 36 stored in the data storage unit 38 and obtains information about each device 1 monitored by the status monitor 36, in this embodiment, the image reading device 1B (T55).
[0076] Next, the device monitoring program 34 displays on the display 42 a screen for accepting a selection as to whether or not the image reading device 1B to be monitored by the status monitor 36 should be taken over by the newly installed integrated application 33 (T57).
[0077] When the user selects to take over (T58), the device monitoring program 34 executes a capability information inquiry (T60) to the image reading device 1B that is the monitoring target of the status monitor 36. Then, upon receiving the capability information inquiry, the image reading device 1B transmits its own capability information to the information processing device 200 (T61).
[0078] Next, the device monitoring program 34 that has received the capability information adds a record corresponding to the image reading device 1B to be handed over to the device table 80 of the device monitoring program 34 stored in the data storage unit 38, and stores in the added record the device name, model, IP address, and received capability information of the image reading device 1B obtained in the processing of T55 (T62).
[0079] Next, the device monitoring program 34 refers to the device table 80 of the status monitor 36 and deletes the record of the image reading device 1B that is the target of the takeover, thereby excluding the image reading device 1B that is the target of the takeover from the monitoring targets of the status monitor 36 (T63).
[0080] On the other hand, if the user selects not to take over (T58), the device monitoring program 34 does not take over the monitoring target of the status monitor 36, and therefore skips steps T60 to T63.
[0081] In this embodiment, the device monitoring program 34 performs the process for taking over the monitoring targets after T54, but the device control program 35 may also perform the process. Also, the process for taking over the monitoring targets is performed when the device monitoring program 34 is first started after installation, but the process for taking over the monitoring targets does not have to be performed. That is, the monitoring targets may be set manually by the status monitor 36 and the integrated application 33, respectively.
[0082] (Displaying status information from the launcher app) Next, a procedure for displaying status information implemented by the launcher application 39, the status monitor 36, and the integrated application 33 of the information processing device 200 will be described with reference to the sequence diagram shown in Fig. 9. In the description of the procedure for displaying status information based on Fig. 9, it is assumed that the latest version of the status monitor 36 compatible with the integrated application 33 has been installed in the information processing device by the above-mentioned installation process.
[0083] First, when the user operates the icon 91A corresponding to the status monitor 36 displayed on the list screen 90 of the launcher application 39 (T71), the launcher application 39 outputs an instruction to the status monitor 36 to display status information (T72). The display instruction from the launcher application 39 includes device information indicating the device selected in the device name display field 92 on the list screen 90, and the device information is passed to the status monitor 36. The device information may be any information that can identify the selected device, such as an IP address or a device name. The device information is an example of identification information related to the image processing device.
[0084] The status monitor 36 is a resident program, and is usually already running when the launcher application 39 outputs a display instruction. Therefore, the status monitor 36 is called by the display instruction, and the device information included in the display instruction is passed to the status monitor 36. If the status monitor 36 is not running, the status monitor 36 is started, and then the display instruction is output to the status monitor 36.
[0085] The status monitor 36, which has received the display instruction from the launcher application 39, determines, based on the passed device information, whether the device selected by the launcher application 39 is a model that can be supported by the integrated application 33 (T73).
[0086] The integrated application 33 of this embodiment communicates with devices using a new communication protocol and cannot communicate with older model devices that do not support the new communication protocol. Therefore, the status monitor 36 determines whether the model is compatible with the integrated application 33 based on the model name of the device selected by the launcher application 39. Alternatively, the status monitor 36 may inquire of the integrated application 33 whether the device indicated in the received device information is a model compatible with the integrated application 33, and determine whether the model is compatible with the integrated application 33 based on the response.
[0087] Furthermore, the status monitor 36 started by the launcher application 39 determines, based on the passed device information, whether the device selected by the launcher application 39 is a target of monitoring by the device monitoring program 34 of the integrated application 33 (T74).
[0088] Specifically, at T74, the status monitor 36 refers to the device table 80 of the device monitoring program 34 stored in the data storage unit 38, reads out information about the devices being monitored by the device monitoring program 34, and if the device indicated in the device information passed from the launcher application 39 is included in the devices being monitored by the device monitoring program 34, determines that the device is being monitored by the device monitoring program 34 of the integrated application 33; if the device is not included in the devices being monitored by the device monitoring program 34, determines that the device is not being monitored by the device monitoring program 34 of the integrated application 33.
[0089] Alternatively, the status monitor 36 may inquire of the resident device monitoring program 34 whether the device indicated in the device information passed from the launcher application 39 is a device to be monitored, and the device monitoring program 34 may refer to its own device table 80 and respond that the device indicated in the device information passed from the launcher application 39 is a device to be monitored if it is included in the devices to be monitored by the device monitoring program 34; or respond that the device indicated in the device information passed from the launcher application 39 is not a device to be monitored if it is not included in the devices to be monitored by the device monitoring program 34. Based on this response, the status monitor 36 may determine whether the device is a device to be monitored by the device monitoring program 34 of the integrated application 33.
[0090] If the integrated application 33 is not installed on the information processing device 200, the status monitor 36 determines that the model is not compatible with the integrated application 33, and further determines that the device is not being monitored by the device monitoring program 34 of the integrated application 33.
[0091] If the status monitor 36 determines that the device selected by the launcher application 39 is a model supported by the integrated application 33 and is a monitoring target of the integrated application 33, the status monitor 36 issues an instruction to start the device control program 35 of the integrated application 33 (T75), and the device control program 35 is started (T76). The start instruction from the status monitor 36 also includes the device information passed from the launcher application 39, and the device information is passed to the device control program 35. Note that although the device control program 35 is a transient program, it may be in a started state. If the device control program 35 is already started, the start instruction calls the device control program 35, and the device information included in the start instruction is passed to the device control program 35. T75 is an example of output processing.
[0092] The device control program 35, to which the device information has been passed from the status monitor 36, displays on the display 42 a status details screen 78 in which the device indicated in the passed device information is selected (T77). That is, even if the launcher application 39 issues an instruction to the status monitor 36 with a device selected, if the selected device is a monitoring target in the integrated application 33, the status information screen 50 of the status monitor 36 is not displayed, and the status details screen 78 of the device control program 35 is displayed on the display 42. The status monitor 36 entrusts the display of the status to the device control program 35, thereby reducing the processing load on the status monitor 36.
[0093] On the other hand, if the status monitor 36 determines that the device selected by the launcher application 39 is not a model supported by the integrated application 33 or is not a device monitored by the integrated application 33, the status monitor 36 displays on the display 42 a status information screen 50 in which the device indicated in the received device information is selected (T78). For devices that are not monitored by the integrated application 33, the status monitor 36 displays the status, allowing the user to know the status of the desired device. T78 is an example of display processing.
[0094] If the device selected by the launcher application 39 is not one of the devices monitored by the status monitor 36, an error may be reported, or the status monitor 36 may obtain the status from the device and display the status information screen 50.
[0095] As described above in detail, when the status monitor 36 having the monitoring function and upgraded after installation receives a display instruction from the launcher application 39, which is the program that originates the instruction, specifying device information including identification information about the device 1 selected by the launcher application 39, if a predetermined condition based on the device information is satisfied, the status monitor 36 does not display the status information screen 50 that the status monitor 36 can display, but instead outputs a launch instruction to the integrated application 33 that can acquire status information about the selected device, and causes the device control program 35 of the integrated application 33 to display the status details screen 78 that the device control program 35 of the integrated application 33 can display on the display 42. As a result, even if the status monitor 36 is given an execution instruction specifying the device 1, a screen by the integrated application 33 other than the status monitor 36 can be displayed.
[0096] For example, if the vendor of device 1 provides integrated app 33, which is a new app with a monitoring function, and status monitor 36, an existing app with a monitoring function, is also installed, the vendor wants the user to use the integrated app 33 after the integrated app 33 is installed. In this case, for example, for launcher app 39, which calls apps with the monitoring function, the integrated app 33 can be used by changing the link (path) used to call apps with the monitoring function from the link of status monitor 36 that was previously used to call the app to the link of integrated app 33; however, this requires upgrading the launcher app 39. Because there are other existing apps besides launcher app 39 that use status monitor 36, upgrading all apps is time-consuming. In this embodiment, the status monitor 36 that is called is upgraded, and the status monitor 36 calls the integrated app 33 as needed, so the integrated app 33 can be used without upgrading the apps that used the status monitor 36.
[0097] Note that this embodiment is merely an example and does not limit the present invention in any way. Therefore, various improvements and modifications are possible within the scope of the present invention. For example, the integrated application 33 with monitoring function is composed of two programs, a resident device monitoring program 34 and a non-resident device control program 35, but it may also be composed of a single resident program. In this case, the status monitor 36 requests the resident program to display a screen capable of displaying the status at T75, and the resident program displays the screen capable of displaying the status on the display 42.
[0098] In addition, in the embodiment, the launcher application 39 issues an execution instruction to the status monitor 36, but the program that issues an execution instruction to the status monitor 36 is not limited to the launcher application 39. For example, a printer driver corresponding to the printing device 1A may be configured to issue an execution instruction to the status monitor 36.
[0099] In the embodiment, the condition for instructing the device control program 35 to start is that the device selected by the launcher application 39 is a model that the integrated application 33 can support and that the device is a monitoring target of the integrated application 33. However, the device control program 35 may be instructed to start when either one of the conditions is met. Alternatively, only one of the conditions may be met. Examples of the predetermined conditions are that the device selected by the launcher application 39 is a model that the integrated application 33 can support and that the device is a monitoring target of the integrated application 33.
[0100] Furthermore, in the embodiment, the status details screen 78 of the device control program 35 of the integrated application 33 is displayed in response to an execution instruction from the status monitor 36 of T75. However, the screen displayed by the device control program 35 may be the home screen 70. Even the home screen 70 displays the status, allowing the user to grasp the status of the device 1 selected in the launcher application 39. Note that, because the home screen 70 initially displays the status of the device 1 currently selected in the integrated application 33, the device to be initially displayed cannot be specified from the application that issued the instruction. When displaying the home screen 70, if a device different from the device currently selected in the integrated application 33 is selected in the launcher application 39, it is necessary to switch the display target in the device name display field 73 of the home screen 70. On the other hand, the status details screen 78 can be launched by specifying a device, and therefore the status of the device selected in the launcher application 39 can be displayed from the beginning.
[0101] Furthermore, even if the integrated application 33 has a predetermined screen that does not display the device status, if a screen capable of displaying the status, such as the status details screen 78, can be displayed by operating a control included in the predetermined screen, the predetermined screen may be displayed from the status monitor 36 in T75. However, by displaying a screen displaying the status from the beginning as in this embodiment, the effort of operating a control to display a screen capable of displaying the status can be eliminated. Furthermore, even the device monitoring program 34 of the integrated application 33 can display a screen including the device status, and the screen of the device monitoring program 34 may be displayed from the status monitor 36 in T75.
[0102] Furthermore, in the embodiment, at the time of T78, the status monitor 36 displays the status information screen 50 that displays the device status, but even if it is a predetermined screen that does not display the device status, if it is possible to display a screen that can display the status, such as the status information screen 50, by operating a control included in that predetermined screen, that predetermined screen may be displayed. However, by displaying a screen that displays the status from the beginning, as in the present embodiment, the effort of operating a control to display a screen that can display the status can be saved.
[0103] Furthermore, in any flowchart disclosed in the embodiments, the execution order of multiple processes in any multiple steps can be changed or they can be executed in parallel as long as no contradiction occurs in the processing content.
[0104] The processes disclosed in the embodiments may be executed by hardware such as a single CPU, multiple CPUs, or ASIC, or a combination thereof. The processes disclosed in the embodiments may be realized in various ways, such as a recording medium on which a program for executing the processes is recorded, or a method. [Explanation of symbols]
[0105] 33 Integrated Apps 34 Device Monitoring Program 35 Device Control Program 36 Status Monitor 37 Installer 39 Launcher App
Claims
1. A first program executable by a computer of an information processing device having a communication unit, The first program causes the computer to When an execution instruction is received from a program that is an instruction source different from the first program and that specifies identification information related to an image processing device, If a predetermined condition regarding the identification information is not satisfied, a display process is executed to display a first screen generated in accordance with the first program; When the predetermined condition is satisfied with respect to the identification information, the display process is not executed, and an output process is executed to output a display instruction for a second screen generated in accordance with a second program, the second program being different from the first program and capable of causing the computer to execute a process of communicating with an image processing device corresponding to the identification information via the communication unit. The first program is configured as follows.
2. 2. A first program according to claim 1, The first program and the second program each include: communicating with the image processing device set as a monitoring target via the communication unit, and acquiring a status of the image processing device set as a monitoring target; The first program causes the computer to When the image processing device corresponding to the identification information is set as a monitoring target in the second program, the predetermined condition is satisfied, and the display process is not executed, but the output process is executed; When the image processing device corresponding to the identification information is not set as a monitoring target in the second program, and the image processing device corresponding to the identification information is set as a monitoring target in the first program, the predetermined condition is not satisfied, and the display process is executed. The first program is configured as follows.
3. The first program according to claim 2, In the output process, the identification information designated by the program that originated the instruction is designated by the display instruction, and the second program causes the computer to display the second screen including a status of the image processing device corresponding to the identification information designated by the display instruction. The first program is configured as follows.
4. The first program according to claim 3, In the output process, the second program is launched so as to display the second screen, which includes a status of the image processing device corresponding to the identification information specified in the display instruction, and which is different from an initial screen of the second program that is displayed when an icon corresponding to the second program is operated. The first program is configured as follows.
5. The first program according to claim 3, the first program is capable of monitoring a plurality of image processing devices; the display process displays the first screen including a status of the image processing device corresponding to the identification information. The first program is configured as follows.
6. The first program according to claim 2, The first program causes the computer to When the execution instruction is received from the instruction source program, acquiring monitoring information indicating a monitoring target of the second program; if the image processing device corresponding to the identification information specified in the execution instruction is not included in the current monitoring targets of the second program indicated in the acquired monitoring information, the predetermined condition is not satisfied and the display process is executed; If the image processing device corresponding to the identification information specified in the execution instruction is included in the current monitoring targets of the second program indicated in the monitoring information, the predetermined condition is satisfied, and the display process is not executed, but the output process is executed. The first program is configured as follows.
7. The first program according to claim 2, The first program causes the computer to When the execution instruction is received from the instruction source program, executes a process of inquiring of the second program as to whether or not the image processing device corresponding to the identification information specified in the execution instruction is a monitoring target; If there is no response from the second program indicating that the second program is a monitoring target, the predetermined condition is not satisfied, and the display process is executed; If there is a response from the second program indicating that the second program is a monitoring target, the predetermined condition is satisfied, and the display process is not executed, but the output process is executed. The first program is configured as follows.
8. 2. A first program according to claim 1, The first program causes the computer to When the execution instruction is received from the instruction source program, If the second program does not correspond to the image processing device corresponding to the identification information specified in the execution instruction, the predetermined condition is not satisfied and the display process is executed. The first program is configured as follows.
9. 9. An information processing device comprising a memory in which the first program according to claim 1 is stored.
Citation Information
Patent Citations
Information processing apparatus, information processing method, control program
JP2011014026A