Information processing device, control method for information processing device, program and storage medium

JP2026142278APending Publication Date: 2026-09-07CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025029302
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-26
Publication Date
2026-09-07

Smart Images

  • Figure 2026142278000001_ABST
    Figure 2026142278000001_ABST
Patent Text Reader

Abstract

There is a need to improve the usability of information processing devices that connect to external processing units. [Solution] An information processing device capable of communicating with an external processing device includes a receiving means for receiving instructions to perform a specific process on a first processing device, and a display control means that, when an instruction is received by the receiving means, communication with the first processing device is not possible, but communication with a second processing device different from the first processing device is possible, controls the display to show first information that identifies the second processing device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an information processing apparatus, a control method for an information processing apparatus, a program, and a storage medium. [Background Art]

[0002] There has been known a technology for notifying information such as the state of a processing apparatus when a specific process is executed from an information processing apparatus to an external processing apparatus.

[0003] Patent Document 1 discloses a technology for providing an appropriate notification when an instruction to execute a specific process is issued from a computer in a situation where the power of the printer is turned off to clear an error that has occurred in a printer connected to the computer. [Prior Art Documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Laid-Open No. 2023-88110 [Summary of the Invention] [Problem to be Solved by the Invention]

[0005] There is a demand for improving usability in an information processing apparatus connected to an external processing apparatus. [Means for Solving the Problem]

[0006] An information processing apparatus according to an aspect of the present disclosure is an information processing apparatus capable of communicating with an external processing apparatus, the information processing apparatus comprising: reception means configured to receive an instruction to perform a specific process on a first processing apparatus; and display control means configured to perform control to display first information that identifies a second processing apparatus in a situation where communication with the first processing apparatus cannot be established and communication with the second processing apparatus different from the first processing apparatus is possible when the reception means receives the instruction. [Effects of the Invention]

[0007] According to this disclosure, the usability of an information processing device connected to an external processing device can be improved. [Brief explanation of the drawing]

[0008] [Figure 1] This is a block diagram showing an example of a communication system configuration having an information processing device and an external processing device. [Figure 2] An example of a software configuration. [Figure 3] This is a diagram showing an example of a PC and printer setup. [Figure 4] This table shows an example of information that can be obtained from OS-registered printer information. [Figure 5] This is a flowchart showing the print execution process. [Figure 6] This flowchart shows the details of the job submission process. [Figure 7] This figure shows an example of a printer communication failure notification screen. [Figure 8] This flowchart shows the details of the online printer list creation process. [Figure 9] This flowchart shows the details of the job submission process. [Figure 10] This figure shows an example of a printer communication failure notification screen. [Figure 11] This flowchart shows the process when a second printer is selected. [Figure 12] This figure shows an example of a printer communication failure notification screen. [Figure 13] This flowchart shows the process when a second printer is selected. [Modes for carrying out the invention]

[0009] Preferred embodiments of this disclosure will be described in detail below with reference to the attached drawings. Note that the following embodiments are not limiting to the scope of this disclosure, and not all combinations of features described in the following embodiments are essential to the solutions of this disclosure. Also, identical components will be given the same reference numerals.

[0010] <<First Embodiment>> <Overview> An overview of the first embodiment will be described. A technique is known for displaying the status of an external processing device when a specific process is executed from an information processing device to an external processing device. For example, this technique involves a printer driver installed on a host computer as control software for a printing device such as an inkjet printer. When the host computer, which is the information processing device, instructs the printing device, which is the external processing device, to execute a process such as printing, a message screen indicating the status of the printing device is displayed. On this message screen, if communication with the printing device is not possible, a message indicating the communication failure status is displayed, notifying the user that the process cannot be executed because communication with the printing device to which the process is to be executed is not possible.

[0011] However, in such cases, even if there are other communication-capable processing devices, the user may not be aware of them, which presents a problem.

[0012] Thus, there is room to improve the usability of information processing devices connected to external processing devices. The embodiment described below describes an example of an information processing device that can appropriately notify the user of the existence of another communication-enabled processing device when a specific process is performed on a processing device that is in a communication-disabled state.

[0013] <System Configuration> FIG. 1 is a block diagram showing an example configuration of a communication system including an information processing apparatus and an external processing apparatus according to the present embodiment. In the present embodiment, the following configuration is described as an example; however, the present embodiment is applicable to an information processing apparatus capable of communicating with an external processing apparatus, and the configuration and functions are not particularly limited to those shown in the drawing.

[0014] In the present embodiment, a personal computer (hereinafter referred to as a PC) 110 is exemplified as the information processing apparatus. Not only PCs but also various types of information processing apparatuses such as image processing apparatuses, mobile terminals, smartphones, notebook PCs, and tablet terminals can be applied. Further, an inkjet printer 120 capable of communicating with the information processing apparatus is exemplified as an external processing apparatus connected to the information processing apparatus in the present embodiment. Besides the inkjet printer, other image processing apparatuses, PCs, mobile terminals, smartphones, tablet terminals, and the like can be used as the external processing apparatus. Examples of image processing apparatuses other than inkjet printers include full-color laser beam printers, monochrome printers, scanners, copiers, facsimile apparatuses, and the like. Furthermore, these apparatuses may be either multifunction or single-function.

[0015] Further, the PC 110, which is the information processing apparatus in the present embodiment, causes the printer 120, which is the external processing apparatus, to execute specific processing in accordance with instructions from its CPU 112. In the present embodiment, printing is exemplified as the specific processing; however, depending on the connected external processing apparatus, scanning or execution of various utility functions thereof may be performed in addition to printing.

[0016] The PC 110 includes an input I / F 111, a CPU 112, a ROM 113, an output I / F 114, an external storage device 115, a RAM 116, an input device 117, an output device 118, and an input / output I / F 119.

[0017] The CPU 112 is the system control unit and controls the entire PC 110. The ROM 113 stores fixed data such as control programs and data tables executed by the CPU 112. The external storage device 115 stores the operating system (hereinafter referred to as OS), printer drivers, and various other data and software. In this embodiment, Windows (registered trademark) is used as the OS as an example.

[0018] RAM116 consists of SRAM (Static Random Access Memory) and other components that require a backup power supply. Since RAM116's data is held by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. A memory area for storing PC110 configuration information and management data is also provided in RAM116. Furthermore, RAM116 is used as work memory by various programs stored in ROM113 and external storage device 115.

[0019] The input device 117 is an operation unit that receives operations from the user and consists of keys such as numerical input keys, mode setting keys, confirm keys, cancel keys, and power keys. The input device 117 is connected to the input I / F 111. The input I / F 111 is an interface for receiving data input and operation instructions from the user via the input device 117.

[0020] The output device 118 is a display unit that shows data and the status of the PC 110, and is composed of LEDs (light-emitting diodes), LCDs (liquid crystal displays), etc. The output device 118 is connected to the output I / F 114. The output I / F 114 is an interface that controls the output device 118 to display data and notify the status of the PC 110. Note that the input device 117 and the output device 118 may have the same configuration by using the same components for both information display and operation reception.

[0021] The input / output interface 119 connects to the input / output interface 130 of the printer 120 via the connection interface 140. The connection between the input / output interface 119 and the input / output interface 130 enables communication between the PC 110 and the printer 120. The input / output interface 119 corresponds to a port in this embodiment. A port is a device that enables communication between devices equipped with ports by connecting them via the connection interface 140. Examples of port types include a network port for network connectivity and a USB port for USB (Universal Serial Bus) connectivity with the printer. In network connectivity, the network port may be connected directly via wireless connection or via an access point installed on a wired network. Network connectivity can be achieved, for example, by a wired LAN or Wireless LAN. Communication methods for connection include, for example, Wi-Fi (WirelessFidelity) (registered trademark) and Bluetooth (registered trademark). Furthermore, NFC (Near Field Communication; ISO / IEC IS 18092) and other technologies can be mentioned. Note that network ports may be provided individually according to each communication method and connection method. In this embodiment, PC110 is connected to printer120 using port 1. Note that there may be more than one PC110; multiple PC110s may be connected to printer120.

[0022] The connection interface 140 may be, for example, USB or LAN, but is not limited to these. Communication may be conducted directly via wireless communication, or via an access point installed on a wired network. Examples of communication methods include Wi-Fi®, Bluetooth®, and NFC.

[0023] The printer 120 is an external device in this embodiment. The printer 120 includes a CPU 121, ROM 122, RAM 123, print engine 124, scan engine 125, input I / F 126, input unit 127, output I / F 128, display unit 129, and input / output I / F 130.

[0024] The CPU 121 is the system control unit and controls the entire printer 120. The ROM 122 stores fixed data such as control programs and data tables executed by the CPU 121.

[0025] RAM123 consists of SRAM and other components that require a backup power supply. Since RAM123's data is held by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. RAM123 is also used as the CPU121's work memory and as a temporary data storage buffer. The print engine124 forms an image on a recording medium such as paper using ink or other recording materials based on the data stored in RAM123 and the print job received from PC110, and outputs the print result. The scan engine125 performs scanning based on the data stored in RAM123.

[0026] The input / output interface 130 is connected to the input / output interface 119 via the connection interface 140. The input interface 126 receives user input via the input unit 127 and notifies the user of the results of internal processing by outputting them to the display unit 129 via the output interface 128. Note that the input unit 127 and the display unit 129 may be the same component. For example, a panel can be configured to receive user input and display the results of internal processing.

[0027] <Software Configuration> Figure 2 is a block diagram showing an example of the software configuration according to this embodiment. In this embodiment, among the configurations shown in Figure 2, the OS print support function 202, spooler 204, print queue 205, spool data 206, and OS-registered printer information 210 are OS modules. The UI (User Interface) module 203, graphics driver 207, language monitor 208, and status monitor 209 are printer driver modules. Note that each configuration may be either an OS module or a printer driver module. The processing performed by each configuration is realized by the CPU 112 reading the program corresponding to each configuration from the external storage device 115, loading it into the RAM 116, and executing the program.

[0028] Application 201 is stored in external storage device 115, loaded into RAM, and executed by CPU 112. When performing a print job, Application 201 obtains OS-registered printer information 210 to determine the target printer. OS-registered printer information 210 stores information such as the printer name of a printer previously registered as a candidate for processing and the status of each printer obtained by the OS (a specific example will be described later using Figure 4). After determining the target printer based on user input, Application 201 creates print data that includes image data information including image and text information to be printed, and print setting information such as media, paper size, and layout. The print data includes information indicating the target printer.

[0029] The print data created by application 201 is temporarily stored as spool data 206 in the print queue 205 of spooler 204, with print setting information returned from UI module 203 via the OS print support function 202.

[0030] The spooler 204 has a job management function and holds and manages the spool data 206 that it receives until it recognizes that the print job transmission corresponding to the spool data 206 has been completed. Specifically, the spooler 204 manages, for example, the size and job name of the print job for each printer, and transmits the managed information to the status display application, so that the information is displayed on the output device 118, etc. The information of the spool data 206 stored in the print queue 205 can be referenced using predetermined interface functions via, for example, the graphics driver 207, the UI module 203, or the application 201. The spool data 206 is converted into a print command that the printer 120 can interpret by the graphics driver 207, and a print job is generated. The generated print job is sent from the spooler 204 to the language monitor 208, which accepts it. The print job contains information indicating the printer to which the print is to be executed.

[0031] The language monitor 208 divides the received print job into packets of a specific size and sends them one by one to the printer 120 via the input / output interface 119 and input / output interface 130. The size of the data to be sent at one time is instructed by the spooler 204. The spooler 204 is executed when instructed by the application 201 or the UI module 203. The language monitor 208 also has the function of acquiring information about the printer 120 or information about the status of jobs submitted to the printer 120. Here, a job refers to, for example, a print job, a scan job, and utility function execution jobs such as maintenance jobs. In this way, the CPU 112 of the PC 110 sends jobs to the printer 120, causing it to execute printing, scanning, and utility function processing such as maintenance according to the job.

[0032] The status monitor 209 performs control to display a notification in accordance with information of the printer 120 acquired by the language monitor 208 or information on the status of a job submitted to the printer 120. For example, when the language monitor 208 acquires information indicating that the printer 120 is in a communication-disabled state, the status monitor 209 that has received this information performs control to display a notification screen indicating that notification cannot be provided to the printer 120. The notification screen is displayed on the output device 118 via the output I / F 114. An example of the notification screen is a screen for notifying the status of a printer as shown in the notification screen 700 of FIG. 7A (details of FIG. 7A will be described later). Further, when an input is made to the screen displayed by the status monitor 209, the language monitor 208 performs processing corresponding to the input. The language monitor 208 and the status monitor 209 exchange information as needed at appropriate times so as to be capable of such cooperative processing.

[0033] <Overall Configuration> FIG. 3 is a configuration diagram illustrating an example of a state in which a PC and a plurality of printers are set up. In this example, printers 301 to 303 are set up in the PC 110. That a printer is set up means that the printer has been connected to the PC 110 one or more times and is registered in an OS on the PC 110 as a printer to be subjected to job processing such as printing. Information on the set-up printers is stored in the aforementioned OS-registered printer information 210. The internal configurations of the printers 301 to 303 are the same as the configuration of the printer 120 described with reference to FIG. 1.

[0034] Note that the overall configuration of the present embodiment is not limited to that illustrated in FIG. 3, a plurality of PCs 110 may be connected to the printers 301 to 303, and four or more printers may be connected.

[0035] <OS-Registered Printer Information> Figure 4 shows an example of information obtainable from the OS-registered printer information 210 on PC110 in the overall configuration shown in Figure 3. Rows 401 to 403 of Table 400, which pertains to the OS-registered printer information, represent the printer name and status of printers 301 to 303, respectively. The printer name may include at least one string such as the model name, series name, or model number.

[0036] Furthermore, the status in Figure 4 indicates whether the printer is online or offline. An online status means the OS has determined that the printer is capable of communication. Conversely, an offline status means the OS has determined that the printer is not capable of communication.

[0037] <Processing flow of the first embodiment> Figure 5 is a flowchart showing the process when application 201 performs a print operation on printer 301. The process shown in the flowchart in Figure 5 is realized when the CPU 112 of PC 110 reads a program stored in an external storage device 115 or the like into RAM 116, and then the CPU 112 executes it. Note that some or all of the functions of the steps in Figure 5 may be realized by hardware such as an ASIC or electronic circuit. The symbol "S" in the description of each process means that it is a step in the flowchart (the same applies to flowcharts in this specification hereafter). The process shown in Figure 5 is a process executed by the CPU 112 as described above. That is, it is realized by the CPU 112 functioning as the OS print support function 202, UI module 203, spooler 204, graphics driver 207, language monitor 208, and status monitor 209, respectively. For example, the flowchart in Figure 5 explains the process of the CPU 112 as the language monitor 208 and status monitor 209. However, to avoid redundancy in the explanation, we will simply treat the functional configuration shown in Figure 2 as the processing entity in the following explanation.

[0038] The flowchart in Figure 5 begins when the OS's print support function 202 and the printer driver detect the creation of print data associated with the execution of printing by application 201.

[0039] First, in S501, the OS print support function 202 and the spooler 204 generate a print job based on the print data. As described above, the generation of the print job is performed by a series of processes involving the OS print support function 202, UI module 203, spooler 204, and graphics driver 207, as shown in Figure 2. As previously mentioned, the print job includes information indicating the printer to which the print job will be executed. The print job generated in S501 is sent to the language monitor 208, which then accepts it.

[0040] Next, in S502, in response to the generation of the print job in S501, the language monitor 208 and status monitor 209 execute the job submission process. The details of the process in S502 are described in detail in the explanation of Figure 6.

[0041] Subsequently, the OS's print support function 202 and the printer driver terminate the processing of this flowchart.

[0042] Figure 6 is a flowchart detailing the job submission process in S502. This flowchart indicates that the process begins when the language monitor 208 detects a print job generated in S501.

[0043] First, in S601, the language monitor 208 obtains OS-registered printer information 210 and determines whether the status of the first printer is offline. The first printer is the printer targeted by the print execution process in Figure 5, and in this embodiment, for example, it is printer 301 in Figure 3. If the language monitor 208 determines in S601 that the first printer is not offline, it proceeds to S602. If it determines that it is offline, the language monitor 208 proceeds to S604.

[0044] In S602, the language monitor 208 directly communicates with the first printer to inquire about its status and determines whether it can receive a response indicating that the job can be executed. This is because even if the OS determines that the printer is online and can communicate, it may not be able to accept a job depending on the printer's status, such as if another process is running. Therefore, this process directly inquires about the status to confirm whether communication is possible. If a correct response is received in S602, the language monitor 208 proceeds to S603. In S603, the language monitor 208 sends the job to the first printer. The language monitor 208 then completes the print job transmission process shown in the flowchart of Figure 6.

[0045] On the other hand, if the language monitor 208 determines in S601 that the first printer is offline, or if it determines in S602 that there is no response from the first printer, the process proceeds to S604 and beyond. The status monitor 209 executes the processes from S604 to S612.

[0046] In S604, the status monitor 209 creates an online printer list, which is a list of printers that can potentially perform processing as an alternative to the first printer that cannot communicate. Details of the online printer list creation process in S604 will be described later in Figure 8.

[0047] Next, in S605, the status monitor 209 determines whether one or more printers exist in the online printer list. If it is determined in this step that one or more printers do not exist, the process proceeds to S607; otherwise, the process proceeds to S608.

[0048] In S607, the status monitor 209 controls the output device 118 via the output I / F 114 to display a printer communication failure notification screen to indicate that the first printer is unable to communicate.

[0049] Figure 7(a) shows an example of the printer communication failure notification screen displayed by S607. The notification screen 700 displays a message indicating that communication with the first printer, the target of the processing, was not possible. At this time, messages are also displayed to confirm the connection with the first printer, whether the first printer is powered on, and whether the correct printer name has been selected in the application. Note that since there are no other online printers, information regarding the second printer is not displayed. The second printer is a printer that is registered in the OS registered printer information 210 but is not the target of the print execution process in Figure 5.

[0050] In this situation, where PC110 cannot communicate with either the first or second printer, the status monitor 209 controls the display to show information indicating that communication with the first printer is not possible, without including information related to the second printer.

[0051] Returning to the explanation of the flowchart in Figure 6, if the status monitor 209 determines in the S605 determination process that there is one or more printers in the online printer list, the status monitor 209 proceeds to S608. In S608, the status monitor 209 controls the output device 118 via the output I / F 114 to display a printer communication failure notification screen, which also includes the display of information identifying the online printer.

[0052] Figure 7(b) shows an example of a printer communication failure notification screen displayed by S608. The notification screen 710, like the notification screen 700, indicates that communication with the target printer was not possible, and also displays information 712 (printer name registered in the OS) that identifies an online printer that is highly likely to be able to execute the process. In other words, if it is a second printer that is online, it also displays information indicating that it may be possible to execute the print job. Note that the notification screen 710 displays information for only one online printer, but if there are multiple printers in the online printer list, all printer information may be displayed, or only the information for some of the printers with high priority may be displayed.

[0053] Thus, in this embodiment, when communication with the first printer is not possible, but communication with a second printer different from the first printer is possible, the status monitor 209 performs display control to display information that identifies the second printer.

[0054] Let's return to the explanation of the flowchart in Figure 6. When the status monitor 209 displays a printer communication failure notification screen (notification screen 700 or 710) in S607 or S608, the status monitor 209 starts a timer in S610 to wait for the print cancellation button to be pressed. Button 701 in Figure 7(a) and button 711 in Figure 7(b) are these print cancellation buttons.

[0055] Next, in S612, the status monitor 209 determines whether the print cancel button has been pressed. If the print cancel button has not been pressed, the status monitor 209 proceeds to S611; if it has been pressed, it proceeds to S613.

[0056] In S611, the status monitor 209 determines whether a timeout has occurred after a certain period of time has elapsed since the timer started. If a timeout has not occurred, the status monitor 209 returns processing to S612 and continues to wait for a certain period of time for the print cancellation button to be pressed.

[0057] On the other hand, if the status monitor 209 determines in S611 that a timeout has occurred, the process proceeds to S616. In S616, the status monitor 209 closes the printer communication failure notification screen and then returns to S601, thereby re-executing the series of processes starting from the status determination of the first printer. In other words, if the user does not perform a print cancellation operation for a certain period of time, it attempts to obtain information again on whether the first printer is able to communicate. This makes it possible to print from the first printer, for example, if the status of the first printer changes from offline to online while waiting for the print cancellation button to be accepted on the printer communication failure notification screen. In other words, during a retry, the language monitor 208 proceeds through steps S601 and S602 to S603. In S603, the language monitor 208 sends a job to the first printer. The language monitor 208 then completes the print job transmission process shown in the flowchart of Figure 6.

[0058] On the other hand, if the print cancellation button is pressed in S612 before the timeout, the status monitor 209 proceeds to processing in S613. In S613, the language monitor 208 performs the process of discarding the job for the first printer. After that, the language monitor 208 terminates the print job submission process shown in the flowchart of Figure 6.

[0059] Next, we will explain the details of the online printer list creation process of S604 shown in Figure 6. Figure 8 is a flowchart detailing the online printer list creation process of S604. The process in this flowchart is executed by the status monitor 209.

[0060] First, in S801, the status monitor 209 obtains information about registered printers from the OS-registered printer information 210. Next, in S802, the status monitor 209 starts referencing information from the beginning of the list of registered printers.

[0061] Next, in S803, the status monitor 209 determines whether the printer being referenced is offline. If it determines that the printer is not offline, the status monitor 209 proceeds to S804; otherwise, it proceeds to S807.

[0062] In S804, the status monitor 209 determines whether the printer name contains a specific string. In this step, if the printer name reflects the characteristics of the printer in question, the status monitor 209 determines whether the printer name of the second printer contains that specific string. This allows for the extraction of a printer that is more likely to be able to perform the process that the first printer was attempting to perform. If the status monitor 209 determines in S804 that the printer name contains the specific string, it proceeds to S805; otherwise, it proceeds to S807. The specific string will be explained later with an example. Note that in S804, it may be assumed that there is no specific string. In this case, the status monitor 209 proceeds to S805 without performing the determination in S804.

[0063] In the S805, the status monitor 209 adds the currently accessed printer to the online printer list.

[0064] Next, in S806, the status monitor 209 determines whether the printer being referenced is the last printer among the OS-registered printers. If it is the last printer, the status monitor 209 terminates the online printer list creation process; otherwise, it proceeds to S807.

[0065] If S803 determines that the printer is offline, if S804 determines that the printer name does not contain a specific string, or if S806 determines that it is not the last printer, then in S807 the status monitor 209 refers to the next printer. The status monitor 209 then performs the same process as in S803 through S806 again.

[0066] This triggers a loop process that executes S803 through S806 for all OS-registered printers, and this loop process adds all printers that meet the various criteria to the online printer list. Then, in S806, the status monitor 209 determines that the currently accessed printer is the last printer and terminates the online printer list creation process.

[0067] Here, we will explain the specific string using an example. For example, if the printer name includes the model name, series name, or model number, that can be used as the specific string. Let's take the example where the information obtained in OS-registered printer information 210 is the information shown in Figure 4. In this case, S803 narrows down the online printer candidates to "INKJET YYY series" and "IJ PRINTER". Next, if the specific string in S804 is set to "INKJET", the only printer ultimately added to the online printer list will be "INKJET YYY series". In particular, if the names of the first and second printers include the model name, series name, or model number, a string common to both can be used as the specific string. The second printer extracted in this way has an even higher probability of being able to perform the process that the first printer was trying to perform.

[0068] Through the above process, when an application attempts to print to a printer that cannot communicate, a screen will be displayed notifying the user of the availability of an online printer (i.e., a printer that can communicate) if one exists. This allows the user to know about the existence of a compatible printer even if they have attempted to print to a printer that cannot communicate, and to immediately attempt to print again using that compatible printer.

[0069] Thus, by applying this embodiment, the usability of an information processing device connected to an external processing device is greatly improved.

[0070] <<Second Embodiment>> In the first embodiment, an example was described in which, when the status of the first printer is offline and the status of the second printer is online, a notification screen is displayed indicating that communication with the first printer is not possible and showing information to identify the second printer. Furthermore, an example was described in which a notification screen is displayed indicating that the problem may be resolved if the second printer is selected. In contrast, in the second embodiment, an example is described in which a screen is displayed that allows the user to select the second printer from the online printers displayed on the notification screen and set it as the default printer. Note that the default printer is a printer that is treated preferentially by the OS, and a printer designated as the default printer is set as the initial value when an application selects the destination for processing. In the following description, the same or corresponding configurations as in the first embodiment will be omitted from the description, and the differences from the first embodiment will be described in detail.

[0071] Figure 9 is a flowchart detailing the job transmission process in S502 in this embodiment. The process in this flowchart begins when the language monitor 208 detects a print job generated in S501. Note that steps S901 to S912 in the flowchart shown in Figure 9 are the same as steps S601 to S612 in Figure 6 described in the first embodiment, while steps S913 to S915 differ from those in Figure 6. Also, the notification screen displayed in S908 is different from the notification screen displayed in S608.

[0072] First, the notification screen displayed in S908 in the second embodiment will be described. The notification screen 1000 in Figure 10 is an example of a screen displayed in S908. Online printer information is displayed on the control 1002, and the user selects one printer from among them based on user operation. That is, the notification screen 1000 displays a message indicating that communication with the first printer is not possible, along with information prompting the user to specify another online printer as the destination for the print job request in place of the first printer.

[0073] Button 1003 on notification screen 1000 is only active when one printer is selected in control 1002. Button 1003 is a button that, based on user input, sets the printer selected in control 1002 (second printer) as the default printer and cancels printing.

[0074] When button 1003 is pressed, the printer selected by control 1002 is selected as the second printer, and the system treats this as if the print cancel button has been pressed. That is, when the system detects that button 1003 has been pressed, the status monitor 209 determines in S912 of Figure 9 that the print cancel button has been pressed, then determines in S913 that the second printer has been selected, and proceeds to the second printer selection process in S915. After that, the language monitor 208 terminates the print job submission process as shown in the flowchart of Figure 9. Details of the second printer selection process in S915 will be described later in Figure 11.

[0075] On the other hand, when button 1001 is pressed on the notification screen 1000, it is treated as if the second printer was not selected and the print cancellation button was pressed. In other words, when the status monitor 209 detects that button 1001 has been pressed, it determines in S912 of Figure 9 that the print cancellation button has been pressed, then determines in S913 that the second printer was not selected, and proceeds to S914. Then, in S914, the language monitor 208 discards the job for the first printer. The language monitor 208 then terminates the print job transmission process shown in the flowchart of Figure 9.

[0076] Next, we will explain the details of the process in S915, which is the process when a second printer is selected. Figure 11 is a flowchart showing the detailed process of S915, the process when a second printer is selected.

[0077] First, in S1101, the status monitor 209 instructs the OS to set the online printer selected as the second printer on the notification screen 1000 in Figure 10 as the default printer. In other words, the status monitor 209 instructs the OS to set the second printer as the default destination for print jobs when it receives instructions to perform print jobs in the future. The printer designated as the default printer will be treated preferentially as the first printer in the job submission process when it receives print jobs in the future.

[0078] Next, in S1102, the language monitor 208 performs the process of discarding the print job for the first printer. Then, the language monitor 208 finishes the series of processes for selecting the second printer.

[0079] According to this embodiment, when an application attempts to print to a printer that cannot communicate, a printer communication failure notification screen is displayed, and the user can easily set a user-selected online printer as the default printer. This allows the user to not only become aware of the existence of other online printers even when printing to a printer that cannot communicate, but also to easily set one of those online printers as the default printer. Therefore, when the user attempts to print again, they can confidently print to a printer that can communicate.

[0080] Thus, by applying this embodiment, the usability of an information processing device connected to an external processing device can be greatly improved.

[0081] <<Third Embodiment>> In the first embodiment, an example was described in which, when the status of the first printer is offline and the status of the second printer is online, a notification screen is displayed indicating that communication with the first printer is not possible and showing information to identify the second printer. Furthermore, an example was described in which a notification screen is displayed indicating that the problem may be resolved if the second printer is selected. In contrast, the third embodiment describes an example in which the second printer is selected from the online printers and a screen is displayed indicating that a reprint can be performed for it. In the following description, the same or corresponding configurations as in the first embodiment will be omitted from the description, and the differences from the first embodiment will be described in detail.

[0082] The flowchart showing the details of the job submission process in S502 in the third embodiment is the same as in the second embodiment, Figure 9. In the third embodiment as well, steps S901 to S912 in the flowchart shown in Figure 9 are the same as steps S601 to S612 in Figure 6 described in the first embodiment, while steps S913 to S915 differ from those in Figure 6. Also, the notification screen displayed in S908 is different from the notification screen displayed in S608.

[0083] First, the notification screen displayed in S908 in the third embodiment will be described. The notification screen 1200 in Figure 12 is an example of a screen displayed in S908 in the third embodiment. Online printer information is displayed on the control 1202, and the selection of one printer is accepted based on user operation. That is, the notification screen 1200 displays information prompting the user to specify another online printer as the destination for a print job request to replace the first printer.

[0084] Button 1203 on notification screen 1200 is only active when one printer is selected in control 1202. Button 1203 accepts a user action to change from the offline printer (first printer) to the printer selected in control 1202 (second printer) and perform a reprint.

[0085] When button 1203 is pressed, the printer selected by control 1202 is selected as the second printer, and the system treats this as if the print cancel button has been pressed. That is, when the system detects that button 1203 has been pressed, the status monitor 209 determines in S912 of Figure 9 that the print cancel button has been pressed, then determines in S913 that the second printer has been selected, and proceeds to the second printer selection process in S915. Then, in S914, the language monitor 208 discards the job for the first printer and terminates the print job transmission process shown in the flowchart of Figure 9. Details of the second printer selection process in S915 in this embodiment will be described later in Figure 13.

[0086] On the other hand, if button 1201 is pressed, it is treated as if the second printer was not selected and the print cancellation button was pressed. In other words, when the status monitor 209 detects that button 1201 has been pressed, it determines in S912 of Figure 9 that the print cancellation button was pressed, then determines in S913 that the second printer was not selected, and proceeds to S914. Then, in S914, the language monitor 208 discards the job for the first printer and terminates the print job transmission process shown in the flowchart of Figure 9.

[0087] Next, we will explain the details of the processing in S915 when the second printer is selected. Figure 13 is a flowchart showing the detailed processing of S915, which is the processing when the second printer is selected in the third embodiment.

[0088] First, in S1301, the status monitor 209 instructs the OS print support function 202 to generate a job equivalent to the print job for the first printer and send the job to the second printer, targeting the online printer selected as the second printer. As detailed in Figure 2, the generation of the print job is performed by a series of processes involving the OS print support function 202, the UI module 203, the spooler 204, and the graphics driver 207. The generated print job is sent from the spooler 204 to the language monitor 208, which then sends the print job and its execution request to the second printer via the input / output interface 119 and input / output interface 130.

[0089] Next, in S1302, the language monitor 208 performs the process of discarding the print job for the first printer. Then, the language monitor 208 finishes the series of processes for selecting the second printer.

[0090] According to this embodiment, when an application attempts to print to a printer that cannot communicate, a printer communication failure notification screen is displayed, and the application can attempt to print again to an online printer selected based on user input. This allows the user to not only become aware of the existence of other online printers even when attempting to print to a printer that cannot communicate, but also to immediately cancel printing to the uncommunicated printer and reprint to the selected online printer.

[0091] Thus, by applying this embodiment, the usability of an information processing device connected to an external processing device can be greatly improved.

[0092] As described above, the control in each of the embodiments described as being performed by the CPU 112 may be performed by a single piece of hardware, or multiple pieces of hardware (for example, multiple processors or circuits) may share the processing to control the entire device.

[0093] Furthermore, although the present invention has been described in detail based on its preferred embodiments, the present invention is not limited to these specific embodiments, and various forms that do not depart from the spirit of the invention are also included in the present invention. Moreover, each of the embodiments described above is merely one embodiment of the present invention, and it is possible to combine each embodiment as appropriate.

[0094] Furthermore, although the embodiments described above explained the application of the present invention to a PC capable of communicating with a printer as an example, the invention is not limited to this example and can be applied to any information processing device capable of communicating with any external processing device. In other words, the present invention can be applied when issuing operation commands from various information processing devices such as notebook PCs, image processing devices, mobile terminals, smartphones, and tablet terminals to external processing devices equipped with communication functions such as smart home appliances. For example, the present invention can be applied when issuing operation commands from a smartphone or mobile terminal to lighting equipment, air conditioners, robot vacuum cleaners, etc., equipped with communication functions such as Wi-Fi. Moreover, it can be applied to external processing devices such as Bluetooth-enabled speakers, Wi-Fi-enabled audio components, televisions with casting functions, and televisions connected to casting devices. In other words, the present invention can be applied when issuing commands to a Bluetooth-enabled speaker or a Wi-Fi-enabled audio component to play music from a smartphone or mobile terminal. Furthermore, the present invention can be applied when issuing commands to a television with a casting function or a television connected to a casting device to output video from a smartphone or mobile terminal.

[0095] <<Other Embodiments>> The present invention 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 (or CPU, MPU, etc.) of that system or device read and execute the program code. In this case, the program and the storage medium storing the program constitute the present invention.

[0096] The disclosure of this embodiment includes configurations represented by the following information processing apparatus, control method for the information processing apparatus, program, and storage medium examples.

[0097] <Configuration 1> An information processing device capable of communicating with an external processing device, A receiving means for receiving instructions to perform a specific process on a first processing device, When the receiving means receives an instruction, and communication with the first processing unit is not possible, but communication with a second processing unit different from the first processing unit is possible, the display control means controls the display to show first information that identifies the second processing unit, An information processing device characterized by having the following features.

[0098] <Configuration 2> The information processing apparatus according to configuration 1, characterized in that the display control means controls the display of a second piece of information indicating that the second processing apparatus may be able to perform the specific processing, along with the first piece of information.

[0099] <Structure 3> The information processing apparatus according to configuration 1 or 2, characterized in that the display control means controls to display a third piece of information that prompts the user to specify the second processing apparatus as the destination for the specific processing request, along with the first piece of information.

[0100] <Structure 4> The information processing device according to any one of configurations 1 to 3, further comprising setting instruction means for instructing the OS (operating system) to set the second processing device as the default request destination for the specific processing when an instruction to perform the specific processing is received on the next occasion, based on user operation while the first information is displayed.

[0101] <Composition 5> The information processing apparatus according to any one of configurations 1 to 3, further comprising a transmission means for transmitting a request to execute the specific processing to the second processing apparatus based on user operation while the first information is displayed.

[0102] <Composition 6> The information processing apparatus according to Configuration 1, characterized in that the display control means is controlled to display a fourth piece of information indicating that it cannot communicate with the first processing apparatus, and does not include information relating to the second processing apparatus, when it cannot communicate with the first processing apparatus or the second processing apparatus.

[0103] <Composition 7> The information processing device according to any one of configurations 1 to 6, characterized in that information on whether the first processing device is capable of communication is obtained from the OS (operating system).

[0104] <Structure 8> The information processing apparatus according to any one of configurations 1 to 7 is characterized in that, after obtaining information on whether the first processing apparatus is able to communicate, it is further obtained by communicating a status inquiry to the first processing apparatus and determining whether a response indicating that the specific processing can be executed is obtained.

[0105] <Composition 9> The information processing apparatus according to any one of configurations 1 to 8, characterized in that information on whether the second processing apparatus is capable of communication is obtained from the OS (operating system).

[0106] <Composition 10> An information processing device according to any one of configurations 1 to 9, characterized in that, when communication with the first processing device is not possible and the first information identifying the second processing device is displayed, the device acquires information on whether the first processing device can communicate again when the user does not perform a print cancellation operation for a certain period of time.

[0107] <Composition 11> The information processing apparatus according to configurations 1 to 10, characterized in that the first information includes at least one of the model name, series name, and model number of the second processing apparatus.

[0108] <Composition 12> The information processing apparatus according to any one of configurations 1 to 11, characterized in that the aforementioned specific processing is at least one of printing, scanning, or executing a utility function.

[0109] <Composition 13> The information processing apparatus according to any of the configurations 12, characterized in that both the first processing apparatus and the second processing apparatus are printers.

[0110] <Composition 14> The second processing device is an information processing device according to configuration 13, characterized in that the printer name registered in the OS includes a specific string.

[0111] <Composition 15> The information processing apparatus according to configurations 1 to 11, characterized in that the aforementioned specific processing is an operation instruction for at least one of the following: a lighting device with a communication function, an air conditioner with a communication function, a robot vacuum cleaner with a communication function, a speaker with a communication function, an audio component with a communication function, a television with a cast function, and a television connected to a cast device.

[0112] <Composition 16> A control method for an information processing device that can communicate with an external processing device, A step of receiving an instruction to perform a specific process on the first processing device, If, in the step of receiving the instruction, an instruction is received, and communication with the first processing unit is not possible but communication with a second processing unit different from the first processing unit is possible, the control is performed to display first information that identifies the second processing unit. A control method for an information processing device, characterized by having the following features.

[0113] <Composition 17> A program for causing a computer to function as one of the information processing devices described in any one of items 1 to 15.

[0114] <Composition 18> A computer-readable storage medium containing a program for causing the computer to function as one of the information processing devices described in any one of items 1 to 15. [Explanation of Symbols]

[0115] 110 PC 120 Printers 201 Applications 204 Spooler 208 Language Monitor 209 Status Monitor

Claims

1. An information processing device capable of communicating with an external processing device, A receiving means for receiving instructions to perform a specific process on a first processing device, When the receiving means receives an instruction, and communication with the first processing unit is not possible, but communication with a second processing unit different from the first processing unit is possible, the display control means controls the display to show first information that identifies the second processing unit, An information processing device characterized by having the following features.

2. The information processing apparatus according to claim 1, characterized in that the display control means controls the display of a second piece of information indicating that the second processing apparatus may be able to perform the specific processing, along with the first piece of information.

3. The information processing apparatus according to claim 1, characterized in that the display control means is controlled to display a third piece of information that prompts the user to specify the second processing apparatus as the destination for the specific processing request, along with the first piece of information.

4. The information processing apparatus according to claim 1, further comprising setting instruction means for instructing the OS (operating system) to set the second processing apparatus as the default request destination for the specific processing when an instruction to perform the specific processing is received on the next occasion, based on user operation while the first information is displayed.

5. The information processing apparatus according to claim 1, further comprising a transmission means for transmitting a request to execute the specific processing to the second processing apparatus based on user operation while the first information is displayed.

6. The information processing apparatus according to claim 1, characterized in that the display control means is controlled to display a fourth piece of information indicating that it cannot communicate with the first processing apparatus, and which does not include information relating to the second processing apparatus, when it cannot communicate with the first processing apparatus or the second processing apparatus.

7. The information processing apparatus according to claim 1, characterized in that the information on whether the first processing apparatus is capable of communication is obtained from the OS (operating system).

8. The information processing apparatus according to claim 1, characterized in that information on whether the first processing apparatus is able to communicate is obtained from the OS (operating system), and then further communicated to the first processing apparatus to request a status query, and it is determined whether a response indicating that the specific processing can be executed is obtained.

9. The information processing apparatus according to claim 1, characterized in that the information on whether the second processing apparatus is capable of communication is obtained from the OS (operating system).

10. The information processing device according to claim 1, characterized in that, when communication with the first processing device is not possible and the first information identifying the second processing device is displayed, the information processing device acquires information on whether the first processing device can communicate again when the user does not perform a print cancellation operation for a certain period of time.

11. The information processing apparatus according to claim 1, characterized in that the first information includes at least one of the model name, series name, and model number of the second processing apparatus.

12. The information processing apparatus according to claim 1, characterized in that the aforementioned specific processing is at least one of printing, scanning, and executing a utility function.

13. The information processing apparatus according to claim 12, characterized in that both the first processing apparatus and the second processing apparatus are printers.

14. The second processing device is the information processing device according to claim 13, characterized in that the printer name registered in the OS includes a specific string.

15. The information processing apparatus according to claim 1, characterized in that the aforementioned specific processing is an operation instruction for at least one of the following: a lighting device with a communication function, an air conditioner with a communication function, a robot vacuum cleaner with a communication function, a speaker with a communication function, an audio component with a communication function, a television with a casting function, and a television connected to a casting device.

16. A control method for an information processing device that can communicate with an external processing device, A step of receiving an instruction to perform a specific process on the first processing device, If, in the step of receiving the instruction, an instruction is received, and communication with the first processing unit is not possible, but communication with a second processing unit different from the first processing unit is possible, the control is performed to display first information that identifies the second processing unit. A control method for an information processing device, characterized by having the following features.

17. A program for causing a computer to function as one of the means of an information processing apparatus described in any one of claims 1 to 15.

18. A computer-readable storage medium storing a program for causing a computer to function as one of the means of an information processing device described in any one of claims 1 to 15.

Citation Information

Patent Citations

  • Information processing device, method, and program

    JP2023088110A