The present disclosure relates to an information processing apparatus that communicates with an image printing apparatus, an information processing method of the information processing apparatus, and a storage medium.
In an electronic device such as a networkable printer, firmware for controlling hardware of this electronic device is saved in, for example, a flash memory that is a rewritable non-volatile memory. A provider of the firmware sometimes releases new firmware to add new functions to the electronic device or to fix bugs. In order use the new firmware in the electronic device, processing of updating the firmware saved in the flash memory of the electronic device to the new firmware, that is firmware update is necessary. A conventional printer has a function of obtaining information on the new firmware from a server connected via a network and downloading the new firmware from the server in the case where the new firmware is released (see, for example, Japanese Patent Laid-Open No. 2011-186588).
As means for executing printing with a printer, use of a printer driver installed in a host computer such as a personal computer (PC) connected to a printer has been conventionally popular. The printer driver includes print setting and means for changing the print setting. Moreover, the printer driver has a function of converting a document to be printed to print data interpretable by the printer according to the contents of the print setting and sending the print data out to the printer based on a print instruction from a user. The printer develops the received print data and generates a print product. Also for the printer driver, the provider sometimes releases a new printer driver to add new functions or to fix bugs, and update of the printer driver becomes necessary.
The update of the firmware and the update of the printer driver are preferably performed simultaneously in some cases depending on update contents of the firmware update and update contents of the printer driver update. For example, assume a case where supported types of paper are increased. In the case where only the firmware of the printer is updated and the printer driver is not updated, the user cannot give a print instruction from the printer driver while setting the type of paper to an added type of paper. However, the user cannot recognize presence of update of the printer driver corresponding to the firmware of the printer, simultaneously with the update of the firmware, and this has been conventionally a problem.
An embodiment of the present disclosure for solving the above problem is a non-transitory computer readable storage medium storing a program for causing a computer to perform functions as an information processing apparatus having a driver that causes an image printing apparatus to execute image printing, the functions including: a driver information obtaining step for obtaining information on firmware update of the image printing apparatus and information on a required version of the driver; an information analysis step for comparing a current version of the driver and the information on the required version obtained by the driver information obtaining step; and a display controlling step for displaying an update notification screen based on a result analyzed by the information analysis step and the information on the firmware update obtained by the driver information obtaining step.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Embodiments of the present disclosure are described below in detail with reference to the drawings. The following embodiments do not limit the contents of the invention described in the scope of claims, and not all of combinations of features described in the present embodiments are necessarily essential for solving means of the present disclosure. Note that the same component elements are denoted by the same reference numerals, and description thereof is omitted.
The host 1 includes a main board 100 including a CPU 101 and the like, a keyboard (KB) 105, a display (DISPLAY) 107 such as an LCD, and an external storage device 109 such as a hard disk (HDD) and a flexible disk (FDD). The main board 100 includes a RAM 102, a ROM 103, a keyboard controller (KBC) 104, a display controller (DISPC) 106, a disk controller (DKC) 108, and a printer controller (PRTC) 110.
The CPU 101 integrally controls the aforementioned various component elements connected to a system bus 111 and executes various programs. The RAM 102 functions as a main memory or a work area of the CPU 101. The ROM 103 stores an operating system, a program that executes functions including a print driver according to the present embodiments, a boot program, various applications, a printer control command generation program (hereinafter, printer driver), and the like.
The keyboard controller (KBC) 104 controls user inputs from an input device such as the keyboard 105 and a pointing device (not illustrated). The keyboard controller 104 is referred also to as an operation unit and an input unit. The display controller (DISPC) 106 performs display control of the display 107. The disk controller (DKC) 108 controls an access to the external storage device 109 such as the HDD and the FDD. The printer controller (PRTC) 110 is connected to the printer 2 via the bidirectional interface 3, and controls communication processing of data and commands with the printer 2.
The printer 2 includes a controller 121, a printer engine 122, an operation panel 12, and a non-volatile storage device 133, and is connected to the host 1 via the bidirectional interface 3. The controller 121 includes a CPU 124, a ROM 125, a RAM 126, an interface controller (I/FC) 123, a disk controller (DKC) 127, and a panel interface (I/FP) 130. Moreover, the controller 121 includes an engine interface (I/FE) 132 connected to the printer engine 122. The CPU 124 integrally controls the aforementioned component elements connected to a system bus 131, and executes various programs. The ROM 125 stores programs and various pieces of data that implement optimal image printing by receiving print image data and commands from the host 1 and controlling the printer engine 122. The RAM 126 is used as a work area configured to temporarily store various pieces of data and various programs. The interface controller (I/FC) 123 is connected to the host 1 via the bidirectional interface 3, and controls communication processing of data and commands with the host 1.
The disk controller (DKC) 127 controls an access to the non-volatile storage device 133. The non-volatile storage device 133 includes a hard disk (HDD) 128 and an EEPROM 129. The non-volatile storage device is sometimes also referred to as non-volatile memory. The hard disk (HDD) 128 stores large-volume data such as data from the host 1 and attached information relating to this data. The EEPROM 129 stores information such as information unique to the image printing apparatus used in the case where image printing is executed.
The panel interface (I/FP) 130 controls display on the operation panel 12 and an input from the operation panel 12. The engine interface (I/FE) 132 controls the printer engine 122 that directly controls hardware and implements optimal image printing. Note that, although a printer engine using an inkjet printing method is used as the printer engine 122 in the present embodiment, the printer engine 122 may use other image printing methods such as a printer engine according to an electrophotographic method or an offset printing machine.
A user interface unit 202 is a function unit that provides means for inputting print setting of the printer driver 201 to a user. The printer driver 201 displays a print setting screen on the display 107 based on a display command of the print setting screen from the operating system. The user interface unit 202 internally retains information on functions of the printer 2, and displays the print setting screen based on this information.
A print data generation unit 203 is a function unit that generates print data to be sent out to the printer 2 as the print job. The print data generation unit 203 converts a document prepared by the user to a data format interpretable by the printer 2, according to the print setting set by using the user interface unit 202. Moreover, the print data generation unit 203 generates a control command for performing control of the printer 2.
An information analysis unit 204 analyzes information obtained in a driver information obtaining unit 206. Details of analysis processing are described later. A notification dialogue display unit 205 displays a notification dialogue based on an analysis result of the information analysis unit 204. Details of notification dialogue display processing are described later. The driver information obtaining unit 206 can obtain information from a printer information transmission unit 212 of the printer 2 via the bidirectional interface 3. Moreover, the driver information obtaining unit 206 can obtain information from a server information transmission unit 209 of a server 4 via the bidirectional interface 3 as necessary. The driver information obtaining unit 206 can retain the obtained information in a driver information retaining unit 207.
Although the information analysis unit 204, the notification dialogue display unit 205, and the driver information obtaining unit 206 are part of the configuration of the printer driver 201 in this example, these units may be provided as separate applications installed in the host 1. Moreover, although the driver information retaining unit 207 is part of the configuration of the host 1, the driver information retaining unit 207 only needs to be at a location where the driver information obtaining unit 206 can access, and may be on the server 4 or the printer 2.
The server 4 includes a server information retaining unit 208 and the server information transmission unit 209. The server information retaining unit 208 retains information on the latest firmware update and information on required version of the printer driver. Moreover, the server information retaining unit 208 may retain the latest firmware itself and the printer driver itself. Furthermore, the information retained in the server information retaining unit 208 can be freely updated by a provider of the firmware and a provider of the printer driver, and the update can be performed at timings at which the latest firmware and the printer driver are prepared. The server information transmission unit 209 transmits the information retained by the server information retaining unit 208, in response to a request of a printer information obtaining unit 210 in the printer 2.
The printer 2 includes the printer information obtaining unit 210, an update possible-impossible determination unit 211, the printer information transmission unit 212, and a printer information retaining unit 213. The printer information obtaining unit 210 can retain the information obtained from the server 4 in the printer information retaining unit 213. The update possible-impossible determination unit 211 determines whether update of the firmware is possible, based on the information obtained in the printer information obtaining unit 210 and the state of the printer 2. For example, in the case where the printer 2 is in an idle state and firmware that is newer than the current firmware is prepared, the update possible-impossible determination unit 211 determines that update of the firmware is possible. Information determined in the update possible-impossible determination unit 211 can be also retained in the printer information retaining unit 213. The printer information transmission unit 212 transmits the information retained in the printer information retaining unit 213, in response to the information obtaining request of the driver information obtaining unit 206 in the printer driver 201.
In step S302, in the case where there is the information obtaining request from the driver information obtaining unit 206 of the printer driver 201, the printer 2 proceeds to step S303. In step S303, the printer 2 transmits the firmware update information and the required printer driver version (=X) obtained in step S302 to the printer driver 201, and terminates the processing. Specifically, the printer 2 transmits the information retained in the printer information retaining unit 213 to the driver information obtaining unit 206 via the printer information transmission unit 212.
In step S302, in the case where there is no information obtaining request from the driver information obtaining unit 206, the printer 2 terminates the processing of the present flowchart without performing any operation. Performing this information processing allows the firmware update information and the required printer driver version (=X) to be transmitted to the driver information obtaining unit 206 of the printer driver 201.
In step S401, the status monitor obtains the firmware update information and the required printer driver version (=X) from the printer 2. Next, proceeding to step S402, the status monitor performs analysis processing of the information obtained in step S401. Details of step S402 are described later.
The status monitor further proceeds to step S403 to perform display processing of a notification dialogue, and terminates the processing of the present flowchart. Details of step S403 are described later. Performing the processing of the status monitor allows an appropriate update notification dialogue to be displayed based the information obtained from the printer 2.
In this case, the version of the printer driver is expressed by a numerical value with multiple digits and the larger the absolute value is, the newer the version is. In the case where the current printer driver version (=Y) is smaller than the required printer driver version (=X) (X>Y), the information analysis unit 204 proceeds to step S503. In step S503, the information analysis unit 204 sets a printer driver update notification to ON, and proceeds to step S504. Meanwhile, in the case where the current printer driver version (=Y) is larger than the required printer driver version (=X) (X<Y) in step S502, the information analysis unit 204 proceeds to step S504 without performing any operation. Specifically, in the case where the current printer driver is newer than the required printer driver, the information analysis unit 204 proceeds to step S504 without performing any operation. Note that, although the version of the printer driver is expressed by a numerical value with multiple digits in this example, the version of the printer driver may be expressed by a one-digit numerical value or a form other than a numerical value as long as comparison of new and old versions is possible.
In step S504, in the case where update information is present in the firmware update information obtained in step S401 of
In the case where not both of the printer driver update notification and the firmware update notification are ON, the notification dialogue display unit 205 proceeds to processing of step S603. In the case where, in step S603, the printer driver update notification is ON and the firmware update notification is OFF, the notification dialogue display unit 205 proceeds to processing of step S604 to display a printer driver update notification dialogue, and terminates the processing.
In the case where the notifications are not in the state where the printer driver update notification is ON and the firmware update notification is OFF, the notification dialogue display unit 205 proceeds to processing of step S605. In the case where, in step S605, the printer driver update notification is OFF and the firmware update notification is ON, the notification dialogue display unit 205 proceeds to processing of step S606 to display a firmware update notification dialogue, and terminates the processing.
The case where the notification dialogue display unit 205 proceeds to the processing of step S606 is the case where the version of the printer driver is the latest version and the firmware of the printer 2 needs to be updated. For example, assume a case where contents of update in the print system is contents of adding a coated paper A to the types of paper. In the case where the coated paper A that is the latest function is selected in the host 1 and the printing is executed, the printer driver 201 transmits print setting in which the coated paper A is selected, to the printer 2. However, since the update of the firmware is not performed, the printer 2 may not be able to normally print the print data in which the coated paper A is set. Accordingly, in the processing of the status monitor, it is possible to display the firmware update notification dialogue and to also stop the printing and force the update of the firmware.
In the case where the notifications are not in the state where the printer driver update notification is OFF and the firmware update notification is ON, specifically, in the case where neither the printer driver nor the firmware needs to be updated, the notification dialogue display unit 205 terminates the processing without performing any operation. Performing the processing of the notification dialogue display unit 205 allows the necessary notification dialogues such as the update notifications of the printer driver and the firmware to be displayed based on the result of the information analysis processing.
As described above, according to the first embodiment, it is possible to perform the update notification of the firmware of the image printing apparatus and the update notification of the printer driver necessary for the information processing apparatus.
Also in a second embodiment, the information processing of the printer 2 is the same as that in the flowchart illustrated in
In step S901, the status monitor obtains the firmware update information and the required printer driver version (=X) from the printer 2. Next, proceeding to step S902, the status monitor saves the information obtained in step S901 and the time and date at which this information is obtained together in the driver information retaining unit 207, and terminates the processing. Performing the first processing of the status monitor allows the host 1 to retain the information obtained from the printer 2 and to perform the display processing of the notification dialogue by using the retained information even if there is a situation where the host 1 cannot obtain the information from the printer 2 after the retaining.
In step S1001, the status monitor obtains the firmware update information and the required printer driver version (=X) from the printer 2. Next, proceeding to step S1002, the status monitor checks whether the information is obtained from the printer 2. In the case where the information is not obtained, the status monitor proceeds to step S1003. Meanwhile, in the case where the information is obtained from the printer 2, the status monitor proceeds to processing of step S1005.
In step S1003, the status monitor obtains the information retained in the driver information retaining unit 207 in step S902 of
In step S1005, the status monitor performs analysis processing of the obtained information. Since the analysis processing of the information is the same as the analysis processing of the information illustrated in
In the processing of the status monitor in the second embodiment, since the update notification of the firmware and the printer driver is made to the user after the determination of the print setting, the notification can be made to the user well in advance compared to the case where the notification is made at the time of execution of printing. Moreover, even if there is a situation where the host 1 cannot obtain the information from the printer 2 after the determination of the print setting, the host 1 can surely make the notification to the user by obtaining the information retained in advance. Furthermore, checking the time and date of the information retained in advance can prevent erroneous usage of old information.
In step S1102, in the case where there is a request for obtaining the information from the driver information obtaining unit 206 of the printer driver 201, the printer 2 proceeds to step S1103 to transmit the information obtained in step S1102 to the printer driver 201, and terminates the processing. Specifically, the printer 2 transmits the information retained in the printer information retaining unit 213 to the driver information obtaining unit 206 via the printer information transmission unit 212.
In the case where there is no request for obtaining the information from the driver information obtaining unit 206 in step S1102, the printer 2 terminates the processing of the present flowchart without performing any operation. Performing this information processing enables transmission of the firmware update information, the required printer driver version (=X), and the function information (=A) to the driver information obtaining unit 206 of the printer driver 201.
Also in the third embodiment, as in the second embodiment, the following two types of processing of the status monitor are both used and performed to surely notify the user of the latest information on the firmware and the printer driver.
In step S1201, the status monitor obtains the firmware update information, the required printer driver version (=X), and the function information (=A) from the printer 2. Next, proceeding to step S1202, the status monitor saves the information obtained in step S1201 and the time and date at which this information is obtained together in the driver information retaining unit 207, and terminates the processing. Performing the first processing of the status monitor allows the host 1 to retain the information obtained from the printer 2 and to perform the display processing of the notification dialogue by using the retained information even if there is a situation where the host 1 cannot obtain the information from the printer 2 occurs after the retaining. Furthermore, the host 1 can obtain and retain the function information (=A) of the printer driver.
In step S1301, the status monitor obtains the firmware update information, the required printer driver version (=X), and the function information (=A) from the printer 2. Next, proceeding to step S1302, the status monitor checks whether the information has been obtained from the printer 2. In the case where the information has not been obtained, the status monitor proceeds to step S1303. Meanwhile, in the case where the information has been obtained from the printer 2, the status monitor proceeds to processing of step S1305.
In step S1303, the status monitor obtains the information retained in the driver information retaining unit 207 in step S1202 of
In step S1305, the status monitor performs analysis of the obtained information. Details of step S1305 are described later. Next, proceeding to step S1306, the status monitor performs the notification dialogue display processing, and terminates the processing of the present flowchart. Details of the step S1306 are described later.
In the processing of the status monitor in the third embodiment, since the update notification of the firmware and the printer driver is made to the user after the determination of the print setting, the notification can be made to the user well in advance compared to the case where the notification is made at the time of execution of printing. Moreover, even if there is a situation where the host 1 cannot obtain the information from the printer 2 after the determination of the print setting, the host 1 can surely make the notification to the user by obtaining the information retained in advance. Furthermore, checking the time and date of the retained information can prevent erroneous usage of old information. Moreover, it is possible display a notification dialogue based on the function information (=A) of the printer driver.
In step S1402, the information analysis unit 204 checks the current print setting (=B). Next, in step S1403, the information analysis unit 204 compares the current print setting (=B) with the function information (=A) that is one of the pieces of information obtained in step S1301 or step S1303.
Print setting that is necessary for the printer driver is expressed herein by using character information, as the function information relating to the update. The function information may also be expressed by using predetermined numerical values. In the case where the function information (=A) and the current print setting (=B) do not match each other (not A=B), the information analysis unit 204 proceeds to step S1404. In step S1404, the information analysis unit 204 sets notification encouraging setting change to ON, and terminates the processing.
Meanwhile, in the case where the function information (=A) and the current print setting (=B) match each other (A=B) in step S1403, the information analysis unit 204 terminates the processing without performing any operation. Performing the processing of the information analysis unit 204 as described above enables analysis of the information obtained from the printer 2, determination of whether the update notification of the printer driver is necessary or not, and determination of whether the update notification of the firmware is necessary or not. Moreover, it is possible to determine whether these update notifications are necessary or not based on the print setting set by the user.
In the case where, in step S1503, the printer driver update notification and the firmware update notification are both ON, the notification dialogue display unit 205 proceeds to processing of step S1504 to display a notification dialogue encouraging the setting change and the printer driver and firmware update, and terminates the processing.
In the case where not both of the printer driver update notification and the firmware update notification are ON, the notification dialogue display unit 205 proceeds to processing of step S1505. In the case where, in step S1505, the printer driver update notification is ON and the firmware update notification is OFF, the notification dialogue display unit 205 proceeds to processing of step S1506 to display a notification dialogue encouraging the setting change and the printer driver update, and terminates the processing.
In the case where the notifications are not in the state where the printer driver update notification is ON and the firmware update notification is OFF, the notification dialogue display unit 205 proceeds to processing of step S1507. In the case where, in step S1507, the printer driver update notification is OFF and the firmware update notification is ON, the notification dialogue display unit 205 proceeds to processing of step S1508 to display a notification dialogue encouraging the setting change and the firmware update, and terminates the processing.
The case where the notification dialogue display unit 205 proceeds to the processing of step S1508 is the case where the version of the printer driver is the latest version, and the firmware of the printer 2 needs to be updated and is the case where the contents of the update and the contents of the print setting match each other. For example, assume a case where printing is executed with the coated paper A selected as the type of paper in the printer driver 201. In this case, since the update of the firmware is not performed, the print data in which the coated paper A is set may not be normally printed in the printer 2. Accordingly, in the processing of the status monitor, it is possible to display the notification dialogue encouraging the setting change and the firmware update and to also stop the printing and force the update of the firmware.
In the case where the notifications are not in the state where the printer driver update notification is OFF and the firmware update notification is ON, specifically, in the case where neither the printer driver nor the firmware needs to be updated, the notification dialogue display unit 205 terminates the processing without performing any operation. Performing the processing of the notification dialogue display unit 205 allows the necessary notification dialogues such as the update notifications of the printer driver and the firmware to be displayed based on the result of the information analysis processing. Moreover, it is possible to encourage setting change based on the print setting set by the user.
In the fourth embodiment, description is given of examples of other embodiments of the dialogues displayed by the notification dialogue display unit 205 of the printer driver 201 in the display processing of the notification dialogues in the first to third embodiments.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
According to the present invention, it is possible to give the update notification of the firmware of the image printing apparatus and the update notification of the printer driver necessary for the information processing apparatus.
This application claims the benefit of Japanese Patent Application No. 2022-077191, filed May 9, 2022 which is hereby incorporated by reference wherein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2022-077191 | May 2022 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | 18310078 | May 2023 | US |
Child | 18425735 | US |