As types of image forming devices, there are individual devices such as printers, scanners, photocopiers, fax machines, and the like, and there are also multi-function printers (MFPs) in which functions of these individual devices are integrated into one device. Firmware for controlling such an image forming device may be upgraded through a server.
Various examples will be described below by referring to the following figures.
In a case in which firmware for controlling an image forming device is upgraded through a server, there may be an incompatibility between firmware to be installed and an application installed in the image forming device. In that case, the image forming device may cause a malfunction or an error may occur. As an example, the server may perform the upgrade using the latest version of firmware in the image forming device. However, some applications in the image forming device may not be compatible with the latest version of firmware and thus may not be able to operate normally. In this case, there may be an inconvenience such as having to downgrade the firmware in the image forming device or having to upgrade an incompatible application in person or remotely by an administrator on the service provider's side.
Examples are described that provide a technique in which, based on firmware being upgraded in an image forming device by a server, a version of firmware is installed that is compatible with an application previously installed in the image forming device. In that case, the image forming device can be stably used even after the firmware is upgraded.
Although terms used herein are selected from among general terms that are currently and widely used in consideration of functions of the described examples, these may be changed according to precedents or the advent of new technology. In addition, some terms may be arbitrary selected. In this case, meanings thereof may be discerned based on a corresponding description of examples. Therefore, the terms used herein should be defined based on meanings of the terms and content of this entire specification, rather than simply the terms themselves.
Throughout this specification, in a situation in which a certain part is described to “include” a certain component, it means that another component may be further included rather than excluding the other component unless otherwise defined.
It will be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the described examples. As used herein, the term “and/or” includes any and all combinations of the associated listed items.
Throughout this specification, the term “image forming device” refers to any device capable of performing an image forming operation, such as a copier, a printer, a scanner, a fax machine, a multi-function printer (MFP), a display device, or the like. Further, the image forming device may be a two-dimensional (2D) image forming device or a three-dimensional (3D) image forming device. Such an image forming device may provide a basic function such as copying, printing, scanning, and faxing, as well as various additional functions.
The term “firmware” may correspond to a program for controlling an operation of an image forming device and the term “platform” may correspond to a program for controlling an operation of an application installed in the image forming device. The firmware and the platform correspond to separate programs and, for example, even based on two firmware versions being different, platform versions associated with the two firmware versions may not be different.
Hereinafter, examples will be described with reference to the accompanying drawings. However, the examples may be implemented in several different forms and are not limited to those described herein.
Referring to
The image forming device 10 may include a plurality of image forming devices 10a, 10b, and 10c and, in each of the image forming devices 10a, 10b, and 10c, firmware, a platform associated with the firmware, and an application may be installed.
Here, the “firmware” may correspond to a program for controlling an operation of the image forming device, and the “platform” may correspond to a program for controlling an operation of an application installed in the image forming device. For convenience of description, as shown in Table 1 below, each firmware version may have an Android operating system (OS) version, an Android application programming interface (API) version, an application (App) API version, and an application platform version corresponding thereto. Here, a program that controls the operation of the application installed in the image forming device 10 is an application platform. Therefore, the firmware and the (application) platform are associated with each other but may correspond to separate programs. In an example, in a situation in which two firmware versions are different, platform versions associated with the two firmware versions may not be different. For example, in the case of Firmware Versions 4.10 and 4.11, although the firmware versions are different, platform versions may be the same (e.g., App Platform Version 26.4).
The cloud platform 20 may connect the server 30 and the image forming devices 10a, 10b, and 10c and support performance of a remote operation on one of the image forming devices 10a. 10b, or 10c through the server 30. The cloud platform 20 may maintain information about a version of firmware and a version of an application which is currently installed in the image forming devices 10a, 10b, and 10c. Further, the cloud platform 20 may maintain stability information, for example, a stability table, indicating compatibility between the respective versions of the platform associated with firmware installable in the image forming devices 10a, 10b, and 10c and the version of the application installed in the image forming devices 10a, 10b, and 10c (e.g., as shown in
The server 30 may be communicatively connected to the cloud platform 20 and the plurality of image forming devices 10a, 10b, and 10c via a network. The server 30 may install the application or upgrade the firmware in the image forming devices 10a, 10b, and 10c located remotely.
Referring to
As an example, as illustrated in
A version of an application installed in an image forming device 10a, 10b, or 10c may not be compatible with a platform version, and thus a malfunction or an error may occur in the corresponding image forming device 10a, 10b, and 10c. For example, based on the version v2 of application A and the version v1 of application C installed in the first image forming device 10a being operated on the platform version 3.1, an error may occur. In various examples, the error may occur intermittently, frequently, continuously, etc. In the case of an error occurring, the first image forming device 10a may generate an error log including information about the error (i.e., information regarding an error that occurs for the version v2 of application A and the version v1 of application C) and transmit the generated error log to the cloud platform 20. In various examples, the error log may be transmitted periodically, transmitted immediately based on occurrence of the error, etc.
The cloud platform 20 may update stability information such as a stability table on the basis of the error log received from the image forming device 10 in operation S20.
Referring to
In this case, for example, based on it being newly confirmed from the error log received from the first image forming device 10a that an error occurs in the case in which the version v2 of application A currently installed in the first image forming device 10a is operated on the platform version 3.1, the cloud platform 20 may update to change a correspondence between the version v2 of application A and the platform version 3.1 to “Unstable” in the stability table 500. Further, the information about the version of the firmware and the versions of the applications and the stability table may be updated in response to an event such as adding, deleting, or upgrading the application installed in the corresponding image forming device, upgrading or downgrading the firmware, or the like.
The image forming device 10 may transmit a firmware upgrade request to the server 30 in operation S30.
Based on the server 30 receiving the firmware upgrade request from the image forming device 10, the server 30 may check whether a firmware upgrade to the latest version is supportable for the corresponding image forming device 10 in operation s40.
Based on confirmation that the firmware upgrade to the latest version is supportable for the image forming device 10 in the server 30, the server 30 may query the cloud platform 20 as to whether incompatibility with the applications previously installed in the image forming device 10 occurs based on the latest version of the firmware upgrade being installed in the image forming device 10 in operation S50.
In response thereto, the cloud platform 20 identifies firmware(s) that can be installed without any incompatibility between the application and the platform of the image forming device 10 in view of information about the compatibility of the platform version and the application version which are included in the stability table 500. And, as a result of the identification, the cloud platform 20 detects whether the correspondence between the platform version (e.g., platform version 3.1) associated with the latest version of firmware (e.g., firmware version 25.1) and the application installed in the image forming device 10 is “Stable.” In an example, based on detecting that the correspondence between the platform version associated with the latest version of the firmware and the application installed in the image forming device 10 is not “Stable,” that is, based on detecting that there is an application that does not operate stably with the latest version of firmware, the cloud platform 20 may transmit an empty firmware list to the server 30 or transmit a notification that the firmware upgrade to the latest version is not allowed to the server 30 in operation S60.
For example, referring again to
Based on detecting that there is no “Stable” platform version that does not cause any incompatibility with the application, and thus receiving by the server 30 an empty firmware list or a notification that the firmware upgrade to the latest version is not allowed from the cloud platform 20, the server 30 may transmit a command for displaying on a user interface of the image forming device 10 that the firmware upgrade is not available in operation S70.
Referring to
The example described with reference to
Referring to
Based on it being confirmed that the firmware upgrade is supportable for the image forming device 10 in the server 30, the server 30 may transmit a query on whether there is an appropriate version of firmware to be upgraded and installed in the image forming device 10 to the cloud platform 20 in operation S50b.
In response to the query, the cloud platform 20 identifies a list of firmware versions associated with a platform version having no incompatibility and the correspondence with the application installed in the image forming device is “Stable” in view of the information about the compatibility of the platform version and the application version which are included in the stability table 500. Based on it being detected that such a firmware version(s) exists, the cloud platform 20 notifies the server 30 of a list of firmware versions corresponding to the “Stable” platform version(s) in operation S60b. The list of firmware versions may include information about firmware that is currently installable in the image forming device and information about firmware that is not installable.
For example, referring again to
In an example, based on the server 30 receiving a list of “Stable” firmware versions identified as not having an incompatibility with the application from the cloud platform 20, the server 30 may transmit a command for displaying on the user interface (e.g., the pop-up window) of the image forming device 10 that the firmware upgrade is allowed in operation S70b. In this case, a simple phrase stating that a firmware upgrade is allowed may be displayed, a phrase stating that an upgrade to the corresponding firmware version is allowed may be displayed showing a version of firmware, or installable firmware and non-installable firmware in the list of the firmware may be sorted and displayed, but examples are not limited thereto.
Based on the user selecting to proceed with the firmware upgrade, the upgrade to the newest version among the “Stable” firmware versions or the upgrade to the firmware version selected by the user is performed by the server 30.
The example described in
Referring to
Based on it being confirmed that the firmware upgrade to the latest version is supportable for the image forming device 10 in the server 30, the server 30 may query the cloud platform 20 as to whether an incompatibility with the applications previously installed in the image forming device 10 occurs based on the latest version of the firmware upgrade being installed in the image forming device 10 in operation S50c.
In response to the query, the cloud platform 20 detects whether the correspondence between the platform version (e.g., platform version 3.1) associated with the firmware (e.g., firmware version 25.1) of the latest version and the application installed in the image forming device 10 is “Stable” in view of the information about the compatibility of the platform version and the application version which are included in the stability table 500. In an example, based on it being detected that the correspondence between the platform version associated with the latest version of the firmware and the application installed in the image forming device 10 is not “Stable,” that is, based on it being detected that there is an application that does not operate stably with the latest version of the firmware, the cloud platform 20 may transmit a notification including a warning that an incompatibility with some applications may occur based on performing such an upgrade, together with the latest version of the firmware to be upgraded, to the server 30 in operation S60c.
For example, referring again to
Based on the server 30 receiving a notification including a warning that the firmware upgrade is available but may cause the incompatibility with some applications or receiving a notification that the firmware upgrade is allowed based on deleting or deactivating the application in the image forming device 10 that is not compatible with the platform of the latest version of the firmware from the cloud platform 20, the server 30 may transmit a command for displaying content including the above information on the user interface of the image forming device 10 in operation S70c. Based on receiving such a command from the server 30, for example, in a pop-up window of the user interface of the image forming device 10, an item for selecting the firmware upgrade may be activated and displayed, and a warning phrase such as “error may occur” or “incompatibility with some applications may occur” may also be displayed in the “Status” item of the pop-up window. Alternatively, in the pop-up window of the user interface of the image forming device 10, the item for selecting the firmware upgrade may be deactivated and displayed, and a phrase such as “firmware upgrade is allowed based on deleting or deactivating application A” may also be displayed. An implementation example of the user interface of the image forming device 10 is not limited.
Based on the user selecting to proceed with the firmware upgrade or continuing to upgrade the firmware after deleting or deactivating the application informed as having an incompatibility, the upgrade to the latest version of the firmware of the image forming device 10 is performed by the server 30.
As described above with reference to
A method of upgrading firmware according to
Referring to
In this case, as illustrated in operation S10e of
Hereinafter, it is assumed that a firmware upgrade is requested in the second image forming device 10b, which device type is a monochrome laser printer and in which firmware version 24.1, a version v2 of application A, and a version v2 of application C are installed in operation S30e of
Each of the instructions stored in the above-described non-transitory computer-readable recording medium may be implemented through a computer program which is programmed to perform each corresponding operation, and such a computer program may be stored in the non-transitory computer-readable recording medium and executable by a processor. In
Referring to
Further, instructions S1520 to update a stability table indicating compatibility of respective versions of the plurality of applications with respect to a platform version associated with each of a plurality of firmware that is installable in the image forming device on the basis of the received error log may be included in the non-transitory computer-readable recording medium 1500.
Further, instructions S1530 to identify firmware that is installable in the image forming device without any incompatibility on the basis of the updated stability table may be included in the non-transitory computer-readable recording medium 1500.
In an example, each of the operations described above with reference to
The non-transitory computer-readable medium refers to a medium for storing data semi-permanently rather than a medium for storing data for a short moment, such as a register, a cache, a memory, and the like, and may be read by a device. For example, the instructions for performing the above-described various methods may be stored and provided in a non-transitory readable medium such as a compact disc (CD), a digital video disc (DVD), a hard disk, a Blu-ray disc, a Universal Serial Bus (USB), a memory card, a read only memory (ROM), and the like.
The methods according to various examples described above may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a commodity. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)) or may be distributed online through an application store (e.g., Play Store™). In the case of online distribution, at least some computer program products may be temporarily stored or temporarily generated in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
While examples have been described with reference to the drawings, various modifications and alterations may be made from the above description. For example, based on the described technologies being performed in orders different from the described examples, and/or the described components such as a system, a structure, a device, and a circuit are coupled or combined in a form different from the described examples, or replaced or substituted with other components or equivalents, the appropriate result may be achieved.
Although examples have been described in the context of the image forming device, the examples are not limited to the image forming device. It may be understood that the spirit of the described examples may be applied to other types of devices or systems to which a firmware upgrade is applicable.
Therefore, the scope of the examples is defined not by the described examples but by the appended claims, and encompasses equivalents that fall within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2021-0087948 | Jul 2021 | KR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/065214 | 12/27/2021 | WO |