Storage medium, method for controlling an information processing apparatus, and information processing apparatus

CN122653552APending Publication Date: 2026-08-28CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610227069.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-02-26
Filing Date
2026-02-26
Publication Date
2026-08-28

Smart Images

  • Figure CN122653552A_ABST
    Figure CN122653552A_ABST
Patent Text Reader

Abstract

The present disclosure relates to a storage medium, a method for controlling an information processing apparatus, and an information processing apparatus. A computer-readable storage medium stores one or more programs configured to enable one or more computers of an information processing apparatus to communicate with an external processing apparatus. The computer functions as a reception unit configured to receive an instruction to execute a specific process by a first processing apparatus, a designation unit configured to, in a first case where the instruction is received by the reception unit and communication with the first processing apparatus is not possible, designate a processing apparatus that has a name containing a specific character string and that is communicable, and a display control unit configured to, in the first case, perform control to display first information indicating a second processing apparatus that is different from the first processing apparatus and that is designated by the designation unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to storage media, methods for controlling information processing apparatus, and information processing apparatus. Background Technology

[0002] A technique is known in which information such as the status of an external processing device is notified when a specific process is performed from an information processing device on an external processing device.

[0003] Japanese Patent Publication No. 2023-088110 discloses a technology in which, in the case where an operation to power off a printer connected to a computer is performed in order to cancel an error that has occurred in the printer, appropriate notification is given when an instruction is given from the computer to perform a specific process.

[0004] What is needed is to improve the availability of information processing devices connected to external processing units. Summary of the Invention

[0005] According to one aspect of this disclosure, a storage medium is a computer-readable storage medium storing one or more programs configured to enable one or more computers of an information processing apparatus capable of communicating with an external processing device to serve as: a receiving unit configured to receive instructions to perform specific processing on a first processing device; a designating unit configured to designate a processing device having a name containing a specific string and capable of communication in a first case where the receiving unit receives instructions and communication with the first processing device is not possible; and a display control unit configured to perform control to display first information in the first case, the first information indicating a second processing device different from the first processing device and designated by the designating unit.

[0006] The features of this disclosure will become clear from the following description of embodiments with reference to the accompanying drawings. The following description of embodiments is by way of example. Attached Figure Description

[0007] Figure 1 This is a block diagram illustrating an example configuration of a communication system including an information processing device and an external processing device;

[0008] Figure 2 This is a block diagram illustrating an example of software configuration;

[0009] Figure 3 This is a configuration diagram showing an example of setting the status of the PC and printer;

[0010] Figure 4 This is a table showing examples of information that can be obtained from the OS's registered printer information;

[0011] Figure 5 This is a flowchart illustrating the printing process;

[0012] Figure 6 This is a flowchart illustrating the details of the job transfer process;

[0013] Figure 7A and Figure 7B This is an example of a printer communication impossibility notification screen;

[0014] Figure 8 This is a flowchart showing the details of the online printer list creation process;

[0015] Figure 9 This is a flowchart illustrating the details of the job transfer process;

[0016] Figure 10 This is an example of a printer communication impossibility notification screen;

[0017] Figure 11 This is a flowchart illustrating the process when the second printer is selected;

[0018] Figure 12 This is an example diagram showing a printer communication impossibility notification screen; and

[0019] Figure 13 This is a flowchart illustrating the process when selecting a second printer. Detailed Implementation

[0020] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that the following embodiments are not intended to limit the scope of the present disclosure, and not all combinations of features described in the following embodiments are necessarily essential to the solutions of the present disclosure. Furthermore, the same constituent elements are denoted by the same reference numerals.

[0021] <<First Embodiment>>

[0022] <Overview>

[0023] An overview of the first embodiment will be described. A technique for displaying the status of an external processing device when a specific process is performed from an information processing device to an external processing device is known. For example, there is a technique that uses a printer driver installed in a host computer as software for controlling a printing device such as an inkjet printer. When the host computer, which is an information processing device, instructs the printing device, which is an external processing device, to perform a process such as printing, a message screen indicating the status of the printing device is displayed. In this message screen, if communication with the printing device is impossible, a message reporting a communication impossibility status is displayed to notify the user that the process cannot be performed because communication with the printing device, the destination of the process execution, is impossible.

[0024] However, in this case, there is a problem: even if there is another processing device that can actually communicate with it, the user cannot discover this.

[0025] As described above, there is room for improving the usability of information processing devices connected to external processing devices. In the embodiments described below, an example of an information processing device is presented that, when performing specific processing on a processing device in a state of communication impossibility, can appropriately notify the user of the existence of another processing device with which it can communicate.

[0026] <System Configuration>

[0027] Figure 1 This is a block diagram illustrating an example configuration of a communication system including an information processing device and an external processing device in this embodiment. It should be noted that although this embodiment will be described as an example using the following configuration, this embodiment can be applied to information processing devices capable of communicating with external processing devices and is not intended to limit the configuration and functionality as shown in the drawings.

[0028] In this embodiment, a personal computer (hereinafter referred to as PC) 110 is described as an information processing device. Not only PCs can be used as information processing devices, but also various devices such as image processing devices, mobile terminals, smartphones, laptop PCs, and tablet terminals.

[0029] Furthermore, as an external processing device connected to the information processing device in this embodiment, a printer 120 of an inkjet system capable of communicating with the information processing device is described. As an external processing device, other than the inkjet system printer, image processing devices, PCs, mobile terminals, smartphones, tablet terminals, etc., can also be used. Furthermore, image processing devices other than the inkjet system printer include devices such as full-color laser beam printers, monochrome printers, scanners, copiers, and fax machines. Moreover, these devices can be multi-functional or single-functional.

[0030] Furthermore, the PC 110, which is the information processing device in this embodiment, causes the printer 120, which is an external processing device, to perform specific processing according to instructions from the CPU 112 of the PC 110. In this embodiment, printing is described as the specific processing, but depending on the external processing device to be connected, the specific processing may be scanning or the execution of various utility functions of the external processing device, in addition to printing.

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

[0032] CPU 112 is the system control unit and controls the entire PC 110. ROM 113 stores the control program to be executed by CPU 112, as well as fixed data such as data tables. External storage device 115 stores the operating system (hereinafter referred to as OS), printer drivers, and various data and software. Note that in this embodiment, Windows (registered trademark) is used as the OS as an example.

[0033] RAM 116 is configured with SRAM (Static Random Access Memory) and the like, which requires a backup power supply. Note that because RAM 116 retains data using a primary battery (not shown) for data backup, it can store important data such as program control variables without data loss. Furthermore, RAM 116 also provides a memory area for storing setup information, management data, etc., for PC 110. Additionally, RAM 116 is used as working memory by various programs stored in ROM 113 and external storage device 115.

[0034] Input device 117 corresponds to the operation unit that receives operations from the user and is equipped with keys such as numeric input keys, mode setting keys, Enter keys, Cancel keys, and power keys. Input device 117 is connected to input I / F 111. Input I / F 111 is an interface for receiving data input and operation commands from the user via input device 117.

[0035] Output device 118 corresponds to a display unit that displays data and the status of PC 110, and is equipped with LEDs (light-emitting diodes), LCDs (liquid crystal displays), etc. Output device 118 is connected to output I / F 114. Output I / F 114 is an interface for performing control of output device 118 to display data and notify the PC 110 of its status. Note that input device 117 and output device 118 can be configured with the same structure to perform information display and operation reception using the same component.

[0036] Input / output I / F 119 is connected to input / output I / F 130 of printer 120 via connection interface 140. The connection between input / output I / F 119 and input / output I / F 130 allows PC 110 and printer 120 to communicate with each other. Input / output I / F 119 corresponds to a port in this embodiment. The port is used such that the ports are connected to each other via connection interface 140 so that devices including the port can communicate with each other. The types of ports include, for example, network ports for performing connections via a network and USB ports for performing connections with the printer using USB (Universal Serial Bus). Note that in network connections, the network port can be connected directly via a wireless connection or via an access point installed on a wired network. Furthermore, network connections are performed using, for example, a wired LAN or a wireless LAN. In addition, the communication systems used for connection include, for example, Wi-Fi (Wireless Fidelity) (registered trademark) and Bluetooth (registered trademark). Moreover, the communication systems include NFC (Near Field Communication; ISO / IEC IS 18092), etc. Note that network ports can be prepared separately for each communication system and connection method. In this embodiment, PC 110 is connected to printer 120 via port 1. Note that multiple PCs 110, rather than one PC 110, can be connected to printer 120.

[0037] The connection interface 140 is, for example, USB, LAN, etc., but is not limited to these. Note that communication can be performed directly via wireless communication or via an access point installed on a wired network. Communication systems include, for example, Wi-Fi (registered trademark), Bluetooth (registered trademark), NFC, etc.

[0038] Printer 120 is an external device in this embodiment. Printer 120 includes CPU 121, ROM 122, RAM 123, printing engine 124, scanning engine 125, input I / F 126, input unit 127, output I / F 128, display unit 129, and input / output I / F 130.

[0039] CPU 121 is the system control unit and controls the entire printer 120. ROM 122 stores the control program to be executed by CPU 121, as well as fixed data such as data tables.

[0040] RAM 123 is configured with SRAM, which requires a backup power supply. Note that because RAM 123 retains data using a primary battery (not shown) for data backup, it can store important data such as program control variables without data loss. Furthermore, RAM 123 serves as the working memory of CPU 121 and also as a buffer for temporarily storing received data. Print engine 124 forms an image on a printing medium such as paper using printing materials such as ink, based on the data stored in RAM 123 and the print job received from PC 110, and outputs the printed result. Scan engine 125 performs scanning based on the data stored in RAM 123.

[0041] Input / output I / F 130 is connected to input / output I / F 119 via connection interface 140. Input I / F 126 receives user input via input unit 127 and outputs the results of internal processing to display unit 129 via output I / F 128 to notify the user. Note that input unit 127 and display unit 129 can be configured with the same configuration. For example, a panel that receives user input and displays the results of internal processing can be configured.

[0042] <Software Configuration>

[0043] Figure 2 This is a block diagram illustrating an example configuration of the software according to this embodiment. In this embodiment, in Figure 2In the configuration shown, the OS's printing support function 202, spool program 204, print queue 205, spool data 206, and OS-registered printer information 210 are modules of the OS. Furthermore, the UI (user interface) module 203, graphics driver 207, language monitor 208, and status monitor 209 are modules of the printer driver. Note that each configuration can be a module of either the OS or the printer driver. The processing to be performed by each configuration is achieved by the CPU 112 reading the program corresponding to that configuration from external storage device 115, loading that program into RAM 116, and executing the program.

[0044] Application 201 is stored in external storage device 115, loaded into RAM, and executed by CPU 112. In the case of printing, application 201 obtains OS-registered printer information 210 to determine the printer to be printed. The OS-registered printer information 210 stores information such as the names of candidate printers pre-registered as processing targets and the status of the corresponding printer obtained by the OS (specific examples will be provided later). Figure 4 (To describe). After determining the printer to be used for printing through user input, application 201 creates print data, which includes image data information containing image or character information to be printed, print settings information such as media, sheet size, and layout, etc. The print data contains information indicating the printer to be used for printing.

[0045] Add print settings information returned from UI module 203 via OS print support function 202 to the print data created by application 201, and then temporarily store the print data as spool data 206 in print queue 205 of spool program 204.

[0046] The spooling program 204 has job management functions and maintains and manages the spooling data 206 transferred to it until it realizes that the transfer of the print job corresponding to the spooling data 206 is complete. Specifically, the spooling program 204 manages, for example, the print job size and job name for each printer and transmits the managed information to a status display application, thereby displaying the information on the output device 118, etc. Note that the information of the spooling data 206 stored in the print queue 205 can be referenced, for example, via the graphics driver 207, the UI module 203, the application 201, etc., using predetermined interface functions. The spooling data 206 is converted by the graphics driver 207 into print commands that the printer 120 can interpret, thereby generating a print job. The print job thus generated is transmitted from the spooling program 204 to the language monitor 208, and the language monitor 208 receives the print job. The print job contains information indicating the printer to which the print execution is targeted.

[0047] The language monitor 208 divides the received print jobs into groups of specific sizes and sequentially transmits these groups to the printer 120 via input / output I / F 119 and input / output I / F 130. In this case, the size of the data to be transmitted each time is indicated by the spool program 204. Note that the spool program 204 executes this instruction by being instructed by the application 201 and the UI module 203. Furthermore, as a function of the language monitor 208, it also has the ability to obtain information about the printer 120 or the status of jobs input into the printer 120. Here, for example, jobs include print jobs, scan jobs, and utility function execution jobs such as maintenance jobs. In this way, the CPU 112 of the PC 110 causes the printer 120 to perform printing and scanning processes, as well as utility functions such as maintenance corresponding to the jobs, by transmitting jobs to the printer 120.

[0048] Status monitor 209 performs control for displaying notifications based on information about printer 120 or the status of jobs input into printer 120 obtained by voice monitor 208. For example, if voice monitor 208 has received information indicating that printer 120 is in a state where communication is impossible, status monitor 209, upon receiving this information, performs control for displaying a notification screen indicating that communication with printer 120 is impossible. The notification screen is displayed on output device 118 via output I / F 114. As an example of a notification screen, there is a screen that notifies the status of the printer, such as... Figure 7A The notification screen shown in 700 ( Figure 7Athe details of which will be described later). In addition, when an input is made on the screen displayed by the status monitor 209, the language monitor 208 executes processing corresponding to this input. The language monitor 208 and the status monitor 209 exchange information at the correct time when necessary, so that such cooperative processing can be executed.

[0049] <Overall Configuration>

[0050] Figure 3 is a configuration diagram showing an example of a state where a PC and a plurality of printers are provided. In this example, printers 301 to 303 are provided to the PC 110. The state where a printer is provided indicates that the printer has been connected to the PC 110 one or more times, and has been registered in the OS on the PC 110 as a printer to be an execution target of job processing such as printing. Information about the provided printers is stored in the aforementioned OS registered printer information 210. The internal configurations of the printers 301 to 303 are the same as Figure 1 the configuration of the printer 120 described in .

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

[0052] <OS Registered Printer Information>

[0053] Figure 4 shows an example of information obtainable from the OS registered printer information 210 in the PC 110 in the overall configuration as shown in Figure 3 . Rows 401 to 403 of a table 400 related to OS registered printer information respectively represent the printer names and statuses of the printers 301 to 303. The printer name may include, for example, at least one character string among a model name, a series name, and a model number.

[0054] In addition, Figure 4 the status in shows information about whether the corresponding printer is in an online state or an offline state. Note that when the status is online, it indicates a state where the OS has determined that communication with the corresponding printer is possible. On the other hand, when the status is offline, it indicates a state where the OS has determined that communication with the corresponding printer is not possible.

[0055] <Processing Flow of First Embodiment>

[0056] Figure 5 is a flowchart showing processing when the application 201 executes printing on the printer 301. Figure 5The flowchart shown illustrates that the processing is achieved by the CPU 112 of PC 110 reading the program stored in external storage device 115, etc., into RAM 116, and then executing the program by the CPU 112. Note that... Figure 5 The functionality of some or all of the steps can be implemented by hardware such as ASICs or electronic circuits. The mark "S" in the description of each process indicates a step in the flowchart (and in the following text, the same applies to the flowcharts in this specification). Figure 5 The processing shown is performed by CPU 112 as described above. That is, the processing is implemented by CPU 112 using each of the following: the OS printing support function 202, the UI module 203, the spooler 204, the graphics driver 207, the language monitor 208, and the status monitor 209. For example, Figure 5 The flowchart is used to explain the processing of CPU 112 as language monitor 208 and status monitor 209, etc. However, to avoid redundancy in the description, it will be simply referred to as Figure 2 The functional configuration shown is described as the main processing unit.

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

[0058] First, in S501, the OS's printing support function 202 and spooler program 204 generate print jobs based on print data. As mentioned above, the generation of print jobs is... Figure 2 The print job is executed through a series of processes performed by the corresponding configurations of the OS's printing support function 202, UI module 203, spooler 204, and graphics driver 207. As mentioned above, the print job contains information indicating the printer to which the print execution target is to process the job. The print job generated in S501 is transmitted to the language monitor 208, and the language monitor 208 receives the print job.

[0059] Next, in S502, after the print job is generated in S501, the language monitor 208 and the status monitor 209 perform job transfer processing. Details of the processing in S502 will be provided later. Figure 6 The description is detailed in the description.

[0060] After this, the OS's printing support function 202 and the printer driver complete the processing of this flowchart.

[0061] Figure 6This is a flowchart illustrating the details of the job transfer process in S502. The process in this flowchart begins when the language monitor 208 detects the event that a print job has been generated in S501.

[0062] First, in S601, the language monitor 208 obtains the OS-registered printer information 210 and determines whether the first printer is offline. Note that the first printer is subject to... Figure 5 The printer that performs the printing process in the example, and in this embodiment, it is assumed to be, for example, a printer that performs the printing process. Figure 3 Printer 301 in S601. If the language monitor 208 has determined in S601 that the first printer is not offline, then the language monitor 208 proceeds to S602. If the language monitor 208 has determined that the first printer is offline, then the language monitor 208 proceeds to S604.

[0063] In S602, the language monitor 208 communicates directly with the first printer to query its status and determine if a response has been received indicating that the job can be executed. This process checks for communicability by directly querying the status because even if the OS has determined that the printer is online and communicable, there are cases where the job cannot be received depending on the printer's status (e.g., during other processing). If the language monitor 208 has correctly received a response in S602, then the language monitor 208 proceeds to S603. In S603, the language monitor 208 transmits the job to the first printer. Then, the language monitor 208 terminates. Figure 6 The flowchart shows the transfer process of the print job.

[0064] On the other hand, in S601, if the voice monitor 208 has determined that the first printer is offline, or in S602, if the voice monitor 208 has determined that there is no response from the first printer, then the voice monitor 208 proceeds to S604 and subsequent processing. The processing from S604 to S612 is performed by the status monitor 209.

[0065] In S604, the status monitor 209 performs the process of creating an online printer list, which is a list of printers that can be processed as an alternative to the first printer with which it is not possible to communicate. Details of the online printer list creation process in S604 will be provided later. Figure 8 As described in the text.

[0066] Next, in S605, the status monitor 209 determines whether one or more printers exist in the online printer list. If the status monitor 209 has determined in this step that there are no one or more printers, then the status monitor 209 proceeds to S607; and if the status monitor 209 has determined that there are one or more printers, then the status monitor 209 proceeds to S608.

[0067] In S607, the status monitor 209 controls the output device 118 to display a printer communication impossibility notification screen via output I / F 114 to notify that communication with the first printer is impossible.

[0068] Figure 7A This is an example of a printer communication impossibility notification screen to be displayed in S607. Notification screen 700 displays a message indicating that communication with the first printer, the destination of the processing execution, is impossible. In this case, messages are also displayed to check the connection to 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 related to the second printer is not displayed. Note that the second printer is registered in the OS registered printer information 210 but has not been authorized. Figure 5 The printer that performs the printing process.

[0069] In this way, if PC 110 is unable to communicate with either the first or the second printer, the status monitor 209 performs display control to display on the notification screen information that does not contain information related to the second printer and indicates that communication with the first printer is impossible.

[0070] Description Return to Figure 6 The flowchart is as follows. If the status monitor 209 has determined in the determination process of S605 that one or more printers exist on the online printer list, then the status monitor 209 proceeds to S608. In S608, the status monitor 209 controls the output device 118 to display a printer communication impossibility notification screen via output I / F 114, including displaying information about the specified online printer.

[0071] Figure 7BThis is an example of a printer communication impossibility notification screen to be displayed in S608. Notification screen 710 displays a notification indicating that communication with the printer at the processing execution destination is impossible, just as in notification screen 700, and also displays information 712 (the printer name registered in the OS) of online printers with a high probability of being able to perform processing with them. That is, it also displays information indicating the possibility that a second online printer can perform the print job. Note that although notification screen 710 displays information about only one online printer, if multiple printers exist in the online printer list, it may display information about all printers, or it may display information about only the printer with the highest priority.

[0072] In this way, in this embodiment, when it is impossible to communicate with the first printer but is possible to communicate with a second printer that is different from the first printer, the status monitor 209 performs display control to display information for the designated second printer.

[0073] The description returns to Figure 6 The flowchart is as follows. After the status monitor 209 has displayed the printer communication impossibility 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 cancel button to be pressed. Figure 7A Button 701 and Figure 7B Button 711 in the image is the print cancellation button.

[0074] 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, and if the print cancel button has been pressed, the status monitor 209 proceeds to S613.

[0075] In S611, the status monitor 209 determines whether a certain period of time has elapsed since the timer started and whether the timer has expired. If the timer has not expired, the status monitor 209 returns to S612 and waits for the print cancel button to be pressed within a certain period of time.

[0076] On the other hand, in S611, if the status monitor 209 has determined that the timer has expired, then the status monitor 209 proceeds to S616. In S616, after closing the printer communication impossibility notification screen, the status monitor 209 returns to S601 to re-execute the series of processes that began with determining the status of the first printer. That is, if the user does not cancel printing within a certain period of time, the status monitor 209 attempts again to obtain information about whether communication with the first printer is possible. In this way, for example, if the status of the first printer changes from offline to online while waiting for the print cancellation button in the printer communication impossibility notification screen, or in other cases, printing from the first printer becomes possible. That is, during the retry, the voice monitor 208 proceeds to S603 via steps S601 and S602. In S603, the voice monitor 208 transfers the job to the first printer. Then, the voice monitor 208 ends. Figure 6 The flowchart shows the print job transfer process.

[0077] On the other hand, if the print cancel button is pressed before the timeout in S612, the status monitor 209 proceeds to S613. In S613, the voice monitor 208 performs the process of discarding the first printer job. Afterward, the voice monitor 208 ends. Figure 6 The flowchart shows the print job transfer process.

[0078] Next, we will describe Figure 6 Details of the online printer list creation process in S604. Figure 8 This is a flowchart illustrating the details of the online printer list creation process in S604. This process is performed by the status monitor 209.

[0079] First, in S801, the status monitor 209 obtains information about the registered printers from the OS registered printer information 210. Next, in S802, the status monitor 209 references the information starting from the beginning of the registered printers.

[0080] Subsequently, in S803, the status monitor 209 determines whether the status of the printer being referenced is offline. If the status monitor 209 has determined that the printer is not offline, then the status monitor 209 proceeds to S804; if the status monitor 209 has determined that the printer is offline, then the status monitor 209 proceeds to S807.

[0081] In S804, the status monitor 209 determines whether the printer name contains a specific string. In this step, if the printer name contains the printer's characteristics, the determination process is performed conditionally based on the fact that the printer name of the second printer contains that specific string. This allows for the extraction of printers with a higher probability of alternatively performing the process intended for the first printer. In S804, if the status monitor 209 has determined that the printer name contains the specific string, then the status monitor 209 proceeds to S805; otherwise, it proceeds to S807. The specific string will be described later using examples. Note that in S804, the specific string does not necessarily have to be present. In this case, the status monitor 209 proceeds to S805 without performing the determination in S804.

[0082] In S805, the status monitor 209 adds the printer being referenced to the online printer list.

[0083] Subsequently, in S806, the status monitor 209 determines whether the printer being referenced is the last printer among the printers registered by the OS. If the printer is the last printer, then the status monitor 209 ends the online printer list creation process; otherwise, the status monitor 209 proceeds to S807.

[0084] If the status monitor 209 has determined in S803 that the printer is offline, or if the status monitor 209 has determined in S804 that the printer name does not contain a specific string, or if the status monitor 209 has determined in S806 that the printer is not the last printer, then in S807, the status monitor 209 refers to the next printer. Then, the status monitor 209 executes the processes from S803 to S806 again.

[0085] In this way, the loop process from S803 to S806 is performed for all printers registered with the OS, and through this loop process, all printers that meet various determination conditions are added to the online printer list. Then, in S806, if the status monitor 209 determines that the printer being referenced is the last printer, then the status monitor 209 ends the online printer list creation process.

[0086] Here, a specific string will be described using examples. For instance, if the printer name includes a model name, series name, model number, etc., the printer name can be used as a specific string. The information obtained in the OS-registered printer information 210 will be described as an example. Figure 4The information shown illustrates this situation. In this case, in S803, the candidates for online printers are narrowed down to "Inkjet YYY Series" and "IJ Printer". Next, assuming the specific string in S804 is "Inkjet", the printers ultimately added to the online printer list are simply "Inkjet YYY Series". Specifically, if the first printer name and the second printer name contain a model name, series name, and model number, the common string between them can be used as the specific string. Therefore, the second printer extracted in this way is more likely to perform the processing attempted in the first printer instead of the first printer.

[0087] When a print job is performed on a printer that the application cannot communicate with, if another online printer exists—that is, another printer that can communicate with—then a screen displaying information about that printer can be shown through the above process. This allows the user to discover the existence of a printer that can communicate with, even when a print job has been performed on a printer that cannot communicate with, and to immediately perform the print job again with the printer that can communicate with.

[0088] In this way, by applying this embodiment, the availability of information processing devices connected to external processing devices is significantly improved.

[0089] <<Second Embodiment>>

[0090] In the first embodiment, an example has been described of displaying a notification screen indicating that communication with the first printer is impossible and specifying information about the second printer when the first printer is offline and the second printer is online. Furthermore, an example has been described of displaying a notification screen indicating that the problem can potentially be resolved using the second printer. In contrast, in the second embodiment, an example will be described of displaying a screen that allows selecting a second printer from the online printers displayed on the notification screen and setting the second printer as the default printer. Note that the default printer is the printer that is prioritized in the OS, and the printer designated as the default printer is set to an initial value when selecting a processing execution destination, etc., from the application. In the following description, configurations identical or corresponding to those in the first embodiment will not be described, and the differences from the first embodiment will be primarily described.

[0091] Figure 9 This is a flowchart illustrating the details of the job transfer process in S502 of this embodiment. The process in this flowchart begins when the language monitor 208 detects the event that a print job was generated in S501. Note that... Figure 9 S901 to S912 in the flowchart shown are the same as those described in the first embodiment. Figure 6S601 to S612 are the same, and S913 to S915 are the same as... Figure 6 They are different. Furthermore, the notification screen displayed in S908 is different from the notification screen displayed in S608.

[0092] First, the notification screen to be displayed in S908 in the second embodiment will be described. Figure 10 The notification screen 1000 is an example of the screen to be displayed in S908. In control 1002, online printer information is displayed, and a printer selection is received from the online printer information based on user operation. That is, the notification screen 1000 displays the fact that communication with the first printer is impossible, and displays information prompting the user to specify another online printer as an alternative to the first printer as the requested destination for the print job.

[0093] Button 1003 on notification screen 1000 is activated only when a printer is selected in control 1002. Button 1003 is used to set the printer (second printer) selected in control 1002 as the default printer and cancel printing based on user operation.

[0094] When button 1003 is pressed, the printer selected in control 1002 is chosen as the second printer, and then the print cancel button is considered to be pressed. That is, when button 1003 is detected to be pressed, the status monitor 209... Figure 9 In S912, it is confirmed that the print cancel button has been pressed. Then, in S913, it is confirmed that the second printer has been selected, and the second printer selection process proceeds to S915. After this, the language monitor 208 ends. Figure 9 The flowchart illustrates the print job transfer process. Note that details of the process during S915 second printer selection will be discussed later. Figure 11 As described in the text.

[0095] On the other hand, if button 1001 is pressed in the notification screen 1000, the print cancel button is considered to have been pressed when no second printer was selected. That is, when button 1001 is detected to be pressed, the status monitor 209... Figure 9 In S912, it is confirmed that the print cancel button has been pressed. Then, in S913, it is confirmed that the second printer has not been selected, and the process proceeds to S914. Then, in S914, the voice monitor 208 discards the job from the first printer. Then, the voice monitor 208 terminates. Figure 9 The flowchart shows the print job transfer process.

[0096] Next, the details of the processing of S915 when selecting a second printer will be described. Figure 11This is a flowchart illustrating the detailed processing of S915 when selecting a second printer.

[0097] First, in S1101, the status monitor 209 instructs the OS to... Figure 10 In the notification screen 1000, the online printer selected as the second printer is set as the default printer. That is, the status monitor 209 sends a setting instruction to the OS to set the second printer as the default destination for print jobs upon receiving a print job execution instruction in the future. Upon receiving a print job in the future, the printer set as the default printer is prioritized as the first printer during job transfer processing.

[0098] Subsequently, in S1102, the language monitor 208 performs the process of discarding the print job of the first printer. Next, the language monitor 208 concludes the process of selecting a series of second printers.

[0099] According to this embodiment, when a print operation is performed on a printer that cannot communicate with the application, a printer communication impossibility notification screen can be displayed, and the user-selected online printer can be set as the default printer through a simple operation. This allows the user to not only discover the existence of another online printer even after a print operation has been performed on a printer that cannot communicate with the application, but also to set that online printer as the default printer through a simple operation. Therefore, the user can perform printing on a printer that can communicate with the application without any confusion when performing a print operation again.

[0100] In this way, by applying this embodiment, the availability of information processing devices connected to external processing devices can be significantly improved.

[0101] <<Third Embodiment>>

[0102] In the first embodiment, an example has been described of displaying a notification screen indicating that communication with the first printer is impossible and specifying information about the second printer when the first printer is offline and the second printer is online. Furthermore, an example has been described of displaying a notification screen indicating that the problem can potentially be resolved using the second printer. In contrast, in the third embodiment, an example of displaying a screen that allows selection of a second printer from online printers and execution of a reprint in the second printer will be described. In the following description, configurations identical or corresponding to those in the first embodiment will not be described, and the differences from the first embodiment will be primarily described.

[0103] The flowchart illustrating the details of the job transfer process in S502 in the third embodiment is as follows: Figure 9This is the same as in the second embodiment. The same applies in the third embodiment. Figure 9 S901 to S912 in the flowchart shown are the same as those described in the first embodiment. Figure 6 S601 to S612 are the same, and S913 to S915 are the same as... Figure 6 They are different. Furthermore, the notification screen displayed in S908 is different from the notification screen displayed in S608.

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

[0105] Button 1203 on notification screen 1200 is activated only when a printer is selected in control 1202. Button 1203 is used to receive a change from an offline printer (first printer) to the printer selected in control 1202 (second printer) based on user operation and to perform a reprint.

[0106] When button 1203 is pressed, the printer selected in control 1202 is chosen as the second printer, and the print cancel button is then considered to have been pressed. That is, when button 1203 is detected to be pressed, the status monitor 209... Figure 9 In S912, it is confirmed that the print cancel button has been pressed. Then, in S913, it is confirmed that the second printer has been selected, and the second printer selection process proceeds to S915. Then, in S914, the language monitor 208 discards the job from the first printer and ends the process. Figure 9 The flowchart illustrates the print job transfer process. Note that the details of the second printer selection process in S915 in this embodiment will be discussed later. Figure 13 As described in the text.

[0107] On the other hand, when button 1201 is pressed, the print cancel button is considered to have been pressed when no second printer was selected. That is, when button 1201 is detected to be pressed, the status monitor 209... Figure 9 In S912, it is confirmed that the print cancel button has been pressed. Then, in S913, it is confirmed that the second printer has not been selected, and the process proceeds to S914. Then, in S914, the language monitor 208 discards the job from the first printer and the process ends. Figure 9The flowchart shows the print job transfer process.

[0108] Next, the details of the S915's processing when a second printer is selected will be described. Figure 13 This is a flowchart illustrating the detailed process of S915, which is the process for selecting the second printer in the third embodiment.

[0109] First, in S1301, the status monitor 209 instructs the OS's print support function 202 to generate a print job identical to the print job of the first printer for the online printer selected as the second printer, and then transmits this print job to the second printer. The generation of the print job is determined by... Figure 2 The process is performed by a series of processes based on the corresponding configurations of the OS's printing support function 202, UI module 203, spooler 204, and graphics driver 207, as described in detail below. The generated print job is transferred from spooler 204 to language monitor 208, and language monitor 208 transmits the print job and the request to execute the print job to a second printer via input / output I / F 119 and input / output I / F 130.

[0110] Subsequently, in S1302, the language monitor 208 performs the process of discarding the print job of the first printer. Next, the language monitor 208 concludes the process of selecting a series of second printers.

[0111] According to this embodiment, when a print operation is performed on a printer that cannot communicate with the application, a printer communication impossibility notification screen can be displayed, and the print operation can be performed on the online printer selected based on user input. This allows the user to not only discover the existence of another online printer even when a print operation has been performed on a printer that cannot communicate with the application, but also to cancel the print operation on the printer that cannot communicate with the application and immediately perform a reprint on the selected online printer.

[0112] In this way, by applying this embodiment, the availability of information processing devices connected to external processing devices can be significantly improved.

[0113] As described above, the control described in the above-mentioned embodiments as being performed by CPU 112 can be performed by a single piece of hardware, or the control of the entire device can be performed by multiple pieces of hardware (e.g., multiple processors or circuits) that divide the processing.

[0114] Furthermore, although the present invention has been described in detail based on preferred embodiments, the invention is not limited to these specific embodiments, and various modes are also covered by the invention without departing from its spirit. Moreover, each embodiment mentioned above merely illustrates an example of the invention, and embodiments can be appropriately combined.

[0115] Furthermore, in the embodiments mentioned above, the application of the invention to a PC capable of communicating with a printer has been described as an example. However, this is not limited to these examples, and the invention can be applied to any information processing device capable of communicating with any external processing device. That is, the invention can be applied to situations where operation instructions are output from various information processing devices such as laptops, image processing devices, mobile terminals, smartphones, and tablets to external processing devices with communication capabilities, such as smart home appliances. For example, the invention can be applied to situations where operation instructions are given from a smartphone or mobile terminal to lighting fixtures, air conditioners, robotic vacuum cleaners, etc., with communication capabilities such as Wi-Fi. Moreover, the invention can be applied to external processing devices such as speakers capable of Bluetooth connectivity, audio component systems capable of Wi-Fi connectivity, televisions with screen mirroring capabilities, and televisions connected to screen mirroring devices. That is, the invention can be applied to situations where music reproduction is instructed from a smartphone or mobile terminal to speakers capable of Bluetooth connectivity or audio component systems capable of Wi-Fi connectivity. Furthermore, the invention can be applied to situations where video output is instructed from a smartphone or mobile terminal to a television with screen mirroring capabilities or a television connected to a screen mirroring device.

[0116] <<Other Embodiments>>

[0117] The embodiments of this disclosure can also be implemented by a computer that reads and executes computer-executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more fully referred to as a "non-transitory computer-readable storage medium") to perform the functions of one or more embodiments described above and / or includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing the functions of one or more embodiments described above, and by a method executed by a computer of a system or device, for example, by reading and executing computer-executable instructions from a storage medium to perform the functions of one or more embodiments described above and / or controlling one or more circuits to perform the functions of one or more embodiments described above. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessor unit (MPU)) and may include a network of individual computers or individual processors to read and execute computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or storage medium. The storage medium may include, for example, a hard disk, random access memory (RAM), read-only memory (ROM), storage devices for distributed computing systems, optical discs (such as CDs, DVDs, or Blu-ray discs).TM One or more of the following: flash memory devices, memory cards, etc.

[0118] The embodiments of the present invention can also be implemented by the following method: providing software (including computer program products of computer programs) that performs the functions of the above embodiments to a system or device via a network or various storage media, and the computer (central processing unit (CPU) or microprocessor unit (MPU) of the system or device) reads and executes the computer program.

[0119] While this disclosure has been described with reference to embodiments, it should be understood that this disclosure is not limited to the disclosed embodiments. The scope of the appended claims should be given the broadest interpretation to cover all such modifications and equivalent structures and functions.

[0120] According to this disclosure, the availability of information processing devices connected to external processing devices can be improved.

Claims

1. A computer-readable storage medium storing one or more programs, said one or more programs being configured to enable one or more computers of an information processing apparatus capable of communicating with an external processing device to function as: A receiving unit is configured to receive an instruction to perform a specific process on a first processing device; A designated unit is configured to designate a processing device having a name containing a specific string and capable of communication in a first situation where the instruction is received by the receiving unit and it is impossible to communicate with the first processing device. as well as The display control unit is configured to perform control to display first information in a first situation, the first information indicating a second processing device that is different from the first processing device and is designated by a designated unit.

2. The computer-readable storage medium according to claim 1, wherein... The specific string is a string contained in the name of the first processing device.

3. The computer-readable storage medium according to claim 1, wherein... The name is at least one of the following: model name, series name, and model number of the processing device.

4. The computer-readable storage medium according to claim 1, wherein The designated unit specifies a processing device that is registered in the operating system, is capable of communicating with an information processing device, and contains the specific string.

5. The computer-readable storage medium according to claim 1, wherein... The display control unit performs control to display second information along with the first information, the second information indicating that the specific processing may be performed in the second processing device.

6. The computer-readable storage medium according to claim 1, wherein... The display control unit performs control to display third information along with the first information, the third information prompting that the second processing device be designated as the request destination for the specific processing.

7. The computer-readable storage medium of claim 1, wherein the one or more computers further serve as a setting instruction unit, the setting instruction unit being configured to, based on user operation while displaying first information, instruct the operating system to set the second processing device as the default request destination for the specific processing in the event of receiving an instruction to perform the specific processing on the next and subsequent occasions.

8. The computer-readable storage medium of claim 1, wherein the one or more computers further serve as a transmission unit, the transmission unit being configured to transmit a request for performing the specific processing to a second processing device based on a user operation while displaying the first information.

9. The computer-readable storage medium according to claim 1, wherein... The display control unit performs control to display fourth information in a situation where it is impossible to communicate with either the first or the second processing device. The fourth information does not contain information related to the second processing device and indicates that communication with the first processing device is impossible.

10. The computer-readable storage medium of claim 1, wherein... Information about whether communication with the first processing unit is possible is obtained from the operating system.

11. The computer-readable storage medium of claim 1, wherein... Information regarding whether communication with the first processing device is possible is obtained by acquiring that information from the operating system, further performing communication to query the status of the first processing device, and determining whether a response indicating that the specific processing can be performed is received.

12. The computer-readable storage medium according to claim 1, wherein Information about whether communication with the second processing device is possible is obtained from the operating system.

13. The computer-readable storage medium according to claim 1, wherein... If it is impossible to communicate with the first processing device and the first information specifying the second processing device is displayed, and if the user does not perform the operation to cancel printing within a certain period of time, then information about whether it is possible to communicate with the first processing device is obtained again.

14. The computer-readable storage medium of claim 1, wherein... The first information includes at least one of the model name, series name, and model number of the second processing device.

15. The computer-readable storage medium of claim 1, wherein... The specific processing is at least one of printing, scanning, and the execution of utility functions.

16. The computer-readable storage medium of claim 15, wherein... Both the first processing unit and the second processing unit are printers.

17. The computer-readable storage medium of claim 16, wherein... The second processing device includes a specific string in the printer name registered in the operating system.

18. The computer-readable storage medium of claim 1, wherein... The specific processing refers to the operation instructions of at least one of the following: a lighting appliance with communication function, an air conditioner with communication function, a robotic vacuum cleaner with communication function, a speaker with communication function, an audio component system with communication function, a television set with screen projection function, and a television set connected to a screen projection device.

19. A method for controlling an information processing apparatus capable of communicating with an external processing device, comprising: Receive an instruction to perform a specific process on the first processing device; In the first case where an instruction is received to perform the specific processing on the first processing device and it is not possible to communicate with the first processing device, a processing device with a name containing a specific string and capable of communication is specified; as well as In a first case, control is executed to display first information, which indicates a second processing device that is different from the first processing device, and the second processing device is a designated processing device capable of communication.

20. An information processing apparatus capable of communicating with an external processing device, comprising: At least one processor and at least one memory are used as the following units: A receiving unit is configured to receive an instruction to perform a specific process on a first processing device; A designated unit is configured to designate a processing device having a name containing a specific string and capable of communication in a first situation where the instruction is received by the receiving unit and it is impossible to communicate with the first processing device. as well as The display control unit is configured to perform control to display first information in a first situation, the first information indicating a second processing device that is different from the first processing device and is designated by a designated unit.