Communication device, computer program for communication device, and method executed by communication device

The communication device efficiently updates its program by receiving firmware with prioritized partial programs, allowing for sequential updates that prioritize high-risk vulnerabilities, thus addressing the challenge of quickly responding to external attacks.

JP2025096818APending Publication Date: 2025-06-30BROTHER KOGYO KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023212759
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-18
Publication Date
2025-06-30

AI Technical Summary

Technical Problem

Existing communication devices face challenges in quickly updating their programs to address external attacks such as DoS attacks, as current methods lack an efficient mechanism for prioritizing and sequencing partial program updates.

Method used

A communication device is configured with a receiving unit to receive firmware with multiple partial programs and ranking information from a server. The device includes a first updating unit to update the program using a high-priority partial program and a determining unit to assess conditions for updating with a low-priority partial program, allowing for sequential and prioritized updates.

Benefits of technology

This solution enables the communication device to efficiently update its program by prioritizing high-risk updates first, thereby quickly addressing vulnerabilities and minimizing user disruption during the update process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025096818000001_ABST
    Figure 2025096818000001_ABST
Patent Text Reader

Abstract

To provide a novel technology for updating a program of a communication device.SOLUTION: A communication device may comprise: a reception unit which receives firmware including plural pieces of portion programs and order information from a server, wherein the plural pieces of portion programs include a first portion program having a higher priority order indicated by the order information, and a second portion program having a lower priority order than that of the first portion program; a first update unit which updates a program of the communication device by using the first portion program; a determination unit which determines whether or not an update condition for updating the program of the communication device is satisfied after the first portion program is updated, wherein the update condition is a condition for updating the program of the communication device by using the second portion program; and a second update unit which updates the program by using the second portion program when it is determined that the update condition is satisfied.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification discloses a technique related to the update of a program for a communication device.

Background Art

[0002] Patent Document 1 discloses a network system including a plurality of information processing devices. In this technique, when a first information processing device is under a DoS attack, each of the other information processing devices prevents the DoS attack by changing the port number corresponding to a specific program used for communication with the first information processing device.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] For the purpose of dealing with attacks from external devices such as DoS attacks, it is generally preferable to quickly update the program of a communication device. This specification provides a novel technique for updating the program of a communication device.

Means for Solving the Problems

[0005] This specification discloses a communication device. The communication device includes a receiving unit that receives from a server firmware including a plurality of partial programs and ranking information indicating the priority of each of the plurality of partial programs. The plurality of partial programs include a first partial program with a higher priority indicated by the ranking information and a second partial program with a lower priority than the first partial program indicated by the ranking information. The receiving unit, a first updating unit that updates the program of the communication device using the first partial program, and a determining unit that determines whether an update condition for updating the program of the communication device is satisfied after the first partial program is updated. The update condition is a condition for updating the program of the communication device using the second partial program. The determining unit, and a second updating unit that updates the program of the communication device using the second partial program when it is determined that the update condition is satisfied.

[0006] According to the above configuration, after the communication device updates the program using the first partial program with a high priority, when it is determined that the update condition for updating the second partial program with a low priority is satisfied, the communication device updates the program using the second partial program. Therefore, the communication device can update the program by using the first and second partial programs in an appropriate order.

[0007] A computer program for realizing the above communication device, a computer-readable storage medium storing the computer program, and a method executed by the above communication device are also novel and useful.

Brief Description of Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Embodiments for Carrying Out the Invention

[0009] (First Embodiment) (Configuration of Communication System 2; FIG. 1) As shown in FIG. 1, the communication system 2 includes a printer 10 and a server 100. The printer 10 and the server 100 can communicate with each other via the Internet 4.

[0010] (Configuration of Printer 10) The printer 10 is a peripheral device capable of executing a printing function (for example, a peripheral device of a terminal not shown). The printer 10 includes an operation unit 12, a display unit 14, a communication interface 16, a printing execution unit 18, and a control unit 30. Hereinafter, the interface will be referred to as "I / F".

[0011] The operation unit 12 includes a plurality of keys. The user can input various instructions to the printer 10 by operating the operation unit 12. The display unit 14 is a display for displaying various information. The display unit 14 also functions as a so-called touch panel (i.e., an operation unit). The communication I / F 16 is connected to the Internet 4. The communication I / F 16 may be a wireless I / F or a wired I / F. The printing execution unit 18 includes a printing mechanism such as an inkjet method or a laser method.

[0012] The control unit 30 includes a CPU 32 and a memory 34. The memory 34 includes a main storage device and an auxiliary storage device (not shown). The CPU 32 executes various processes according to a program 40 stored in the auxiliary storage device of the memory 34. Specifically, the CPU 32 loads the program 40 from the auxiliary storage device to the main storage device and executes the program 40 to execute the various processes described above. The main storage device is, for example, a RAM and a cache memory. The auxiliary storage device may be, for example, a flash memory, an SSD (abbreviation for Solid State Drive), or a ROM, or a combination thereof. The memory 34 further stores a setting table 42.

[0013] (Configuration of Server 100) The server 100 is installed on the Internet 4 by the vendor of the printer 10. In a modified example, the server 100 may be installed on the Internet 4 by a business operator different from the vendor. In another modified example, the vendor of the printer 10 may use an environment provided by an external cloud computing service without preparing the hardware of the server 100 itself. In this case, the vendor of the printer 10 may prepare a program (i.e., software) of the server 100 and introduce it into the above environment to realize the server 100.

[0014] The server 100 includes a communication I / F 116 and a control unit 130. The communication I / F 116 is connected to the Internet 4. The control unit 130 includes a CPU 132 and a memory 134. The CPU 132 executes various processes according to a program 140 stored in the memory 134. The memory 134 is composed of a volatile memory, a non-volatile memory, etc. The memory 134 further stores a program table 142.

[0015] (Contents of Each Table; Figure 2) With reference to FIG. 2, the contents of each of the tables 42 and 142 stored in the printer 10 and the server 100 will be described.

[0016] The setting table 42 stored in the printer 10 stores, in association with each other, a setting item (for example, "TLS (abbreviation for Transport Layer Security) setting"), a setting value (for example, "Enable"), a protocol version (for example, "1.0", "1.2"), a firmware version (for example, "firmware_2"), patch programs (for example, "patch_fix_tls_problem_1", "patch_fix_tls_problem_2", and "patch_fix_tls_problem_3"), a priority level (for example, "high", "medium", "low"), and application information (for example, "TRUE", "FALSE"). Hereinafter, "patch_fix_tls_problem" will be abbreviated as "pftp" for description purposes.

[0017] The setting item is information for identifying a setting item related to the communication protocol of the printer 10. The setting value is a value indicating whether to use the communication protocol. The setting value "Enable" indicates that the communication protocol is to be used, and the setting value "Disable" indicates that the communication protocol is not to be used. The protocol version indicates the version of the communication protocol. The firmware version indicates the version of the firmware of the printer 10. The patch program indicates a specific patch program. The patch program is a partial program that constitutes the firmware, and is, for example, a program for coping with an attack from the outside to the printer (i.e., vulnerability of the printer), a program for improving the convenience of the printer, etc.

[0018] The priority indicates the priority of the patch program. The priority "High" is the highest priority, the priority "Medium" is the second highest priority, and the priority "Low" is the lowest priority. The priorities "High" and "Medium" are assigned to patch programs for addressing printer vulnerabilities. Although not particularly limited, the printer vulnerabilities may be determined according to, for example, the severity level calculated based on the Common Vulnerability Scoring System (CVSS). For example, when the score of the severity of the target vulnerability is 5.0 or higher, the priority "High" is assigned, and when the score of the severity of the target vulnerability is 4.9 or lower, the priority "Medium" is assigned. The priority "Low" is assigned to patch programs for improving the convenience of the printer, such as, for example, adding functions to the printer and expanding the functions of the printer. In other words, the priority "Low" is assigned to patch programs that are not for addressing printer vulnerabilities.

[0019] Priority is information used to determine at what timing a printer updates its own program. Since a patch program corresponding to "high" priority is a program for dealing with relatively serious vulnerabilities, the printer updates its own program using the patch program immediately after receiving from server 100 the firmware including the patch program and the priority "high". Here, "updates its own program using the patch program immediately after receiving" may mean, for example, "updates its own program using the patch program within several minutes (for example, 1 minute) after receiving". Also, it may mean "updates its own program using the patch program without intervening the printing process of the printer after receiving". Since a patch program corresponding to "medium" priority is a patch program for dealing with relatively less serious vulnerabilities, the printer updates its own program using the patch program during the weekly update process executed once a week (for example, on Monday). Since a patch program corresponding to "low" priority is not a patch program for dealing with vulnerabilities, the printer updates its own program using the patch program during the monthly update process executed once a month (for example, on the last day of the month).

[0020] The application information is a value regarding whether printer 10 has applied a patch program. "TRUE" indicates that the patch program has been applied, and "FALSE" indicates that the patch program has not been applied.

[0021] In program table 142 stored in server 100, a model (for example, "M1", "M2"), a setting item, a setting value, a protocol version, a firmware version, a patch program, and a priority are stored in association with each other. The model is the model name of the printer. Each time the vendor of the printer develops a patch program, the vendor registers the patch program in program table 142. At that time, the vendor assigns a priority to the patch program in consideration of the severity of the vulnerability and the like.

[0022] (Specific processing; FIGS. 3 and 4) With reference to FIGS. 3 and 4, the process for updating the program of the printer 10 will be described. Hereinafter, from the viewpoint of ease of understanding, when describing the processes executed by the CPU 32 of the printer 10 and the CPU 132 of the server 100 according to the programs 40 and 140, instead of describing each CPU 32 and 132 as the main body, the printer 10 and the server 100 will be described as the main body. Also, all the following communications executed by the printer 10 and the server 100 are executed via the communication I / Fs 16 and 116. Therefore, hereinafter, when describing the processes related to communication, the description of "via the communication I / F 16 (or 116)" will be omitted.

[0023] In the initial state of FIG. 3, no information is stored in the setting table 42 of the printer 10 yet. Also, in the initial state of FIG. 3, the firmware version of the program 40 of the printer 10 is "Firmware_1". Also, the version of the communication protocol TLS of the printer 10 is 1.0.

[0024] At T10, the printer 10 receives a setting change operation from the user to change the setting value of the TLS setting from "Disable" to "Enable". In this case, at T12, the printer 10 transmits a setting change request including its own model name "M1", the setting table 42 in which no information is stored yet, the current version "1.0" of the TSL, and change information indicating that the setting value of the TLS setting has been changed from "Disable" to "Enable" to the server 100.

[0025] When the server 100 receives a setting change request from the printer 10 at T12, at T14, it identifies each piece of information (i.e., setting items, setting values, protocol versions, firmware versions, patch programs, and priorities) associated with the model "M1" from the program table 142. In other words, this process means identifying the firmware of the printer 10 with the model name "M1". In the program table 142, three pieces of combined information are stored in association with the model "M1". Specifically, the first piece of combined information is the combined information of the setting item "TLS setting", the setting value "Enable", the protocol version "1.0", the firmware version "firmware_2", the patch program "pftp1", and the priority "high". The second piece of combined information is the combined information of the setting item "TLS setting", the setting value "Enable", the protocol version "1.2", the firmware version "firmware_2", the patch program "pftp2", and the priority "medium". The third piece of combined information is the combined information of the setting item "TLS setting", the setting value "Enable", the protocol version "1.4", the firmware version "firmware_2", the patch program "pftp3", and the priority "low". Therefore, the firmware specified by the firmware version "firmware_2" is a patch set that includes three patch programs: the patch program "pftp1" with the priority "high", the patch program "pftp2" with the priority "medium", and the patch program "pftp3" with the priority "low". Then, at T16, the server 100 sends the request information including the three identified pieces of combined information to the printer 10.

[0026] When the printer 10 receives the request information from the server 100 at T16, at T18, among the three pieces of combined information included in the request information, the printer 10 identifies the combined information including the priority "high". Then, in the setting table 42, the printer 10 determines whether the application information associated with the patch program "pftp1" included in the identified combined information is "FALSE". In this case, the printer 10 determines that the application information indicates "FALSE" and executes the subsequent processing. If the printer 10 determines that the application information indicates "TRUE", the printer 10 does not execute the subsequent processing.

[0027] The printer 10 determines whether the setting item "TLS setting", the setting value "Enable", and the protocol version "1.0" included in the identified combined information match the current state of the TLS of the printer 10. In this case, the printer 10 determines that the two match, and at T20, applies the patch program "pftp1" included in the identified combined information. Here, "applying" means updating the firmware of the program 40 of the printer 10 (i.e., version "Firmware_1") using the patch program "pftp1". As a result, the version of the firmware of the program 40 is updated to "Firmware_1 + pftp1".

[0028] Note that if at T18 the printer 10 determines that the setting item "TLS setting", the setting value "Enable", and the protocol version "1.0" included in the identified combined information do not match the current state of the TLS of the printer 10, the printer 10 does not apply the patch program "pftp1". Also, for the patch programs "pftp2" and "pftp3" associated with the priorities "medium" and "low" among the three pieces of received combined information, the printer 10 determines that they should be applied during the weekly update process and the monthly update process respectively. That is, the printer 10 determines that the update conditions for updating the firmware using these patch programs are not met.

[0029] Then, at T22, the printer 10 stores each of the three pieces of combined information included in the request information received at T16 in the setting table 42. Note that the patch program "pftp1" associated with the priority "high" has already been applied at T20. Therefore, the printer 10 stores the application information "TRUE" in association with the patch program "pftp1". Each of the patch programs "pftp2" and "pftp3" associated with the priorities "medium" and "low" respectively has not yet been applied to the program 40. Therefore, the printer 10 stores the application information "FALSE" in association with each of the patch programs "pftp2" and "pftp3".

[0030] After that, at T30 in FIG. 4, after updating the TLS version from 1.0 to 1.2, when a predetermined timing arrives, the printer 10 executes a weekly update process. The weekly update process is a process that is automatically executed without requiring user operation. Specifically, the printer 10 first identifies the combined information including the priority "medium" and the application information "FALSE" from the setting table 42. At T40, the printer 10 determines whether the setting item "TLS setting", the setting value "Enable", and the protocol version "1.2" included in the identified combined information match the current state of the TLS of the printer 10. In this case, the printer 10 determines that the two match, and at T42, applies the patch program "pftp2" included in the identified combined information. As a result, the firmware version of the program 40 is updated to "Firmware_1 + pftp1 + pftp2".

[0031] Note that when the printer 10 determines in T40 that the setting item "TLS setting", the setting value "Enable", and the protocol version "1.2" included in the identified combination information do not match the current state of the TLS of the printer 10, the patch program "pftp2" is not applied. Also, the printer 10 determines that the patch program "pftp3" associated with the priority "low" should be applied during the monthly update process. That is, the printer 10 determines that it does not meet the update conditions for updating the firmware using the patch program.

[0032] When the application of the patch program "pftp2" is completed, the printer 10 stores "TRUE" instead of "FALSE" in the setting table 42 in association with the patch program "pftp2" in T44.

[0033] After that, when the timing arrives after the printer 10 updates the TLS version from 1.2 to 1.4 in T50, the printer 10 executes the monthly update process. Specifically, the printer 10 first identifies the combination information including the priority "low" and the application information "FALSE" from the setting table 42. In T60, the printer 10 determines whether the setting item "TLS setting", the setting value "Enable", and the protocol version "1.4" included in the identified combination information match the current state of the TLS of the printer 10. In this case, the printer 10 determines that they match, and in T62, it displays an update screen on the display unit 14. The update screen includes a message asking the user whether it is okay to apply the patch program "pftp3" included in the identified combination information.

[0034] When the printer 10 receives an update operation from the user at T64, it applies the patch program "pftp3" at T66. As a result, since all the patch programs "pftp1", "pftp2", and "pftp3" included in "Firmware_2" are applied, the firmware version of the program 40 is updated to "Firmware_2".

[0035] Note that when the printer 10 determines at T60 that the setting item "TLS setting", the setting value "Enable", and the protocol version "1.4" included in the specified combination information do not match the current state of the TLS of the printer 10, it does not apply the patch program "pftp3".

[0036] When the application of the patch program is completed, the printer 10 stores "TRUE" instead of "FALSE" in the setting table 42 in association with the patch program "pftp3" at T68.

[0037] (Effect of this embodiment) Generally, while the printer firmware is being updated, the user's use of the printer is restricted. In T10 of FIG. 3, when a setting change operation is executed by the user, there is a high possibility that the user is trying to use the printer 10 (for example, the possibility of executing printing after the setting change). When such a setting change operation is executed, the printer 10 receives from the server 100 firmware including a patch program "pftp1" with a "high" priority, a patch program "pftp2" with a "medium" priority, and a patch program "pftp3" with a "low" priority (T16). Immediately after receiving the firmware, the printer 10 updates program 40 using the patch program "pftp1" with a "high" priority (T20). However, at this time, the printer 10 does not update program 40 using the other patch programs "pftp2" and "pftp3". Therefore, the time required to update program 40 is relatively short. For this reason, in a situation where there is a high possibility that the user is trying to use the printer 10, the user's use of the printer is less likely to be restricted.

[0038] Thereafter, when the timing of the weekly update process arrives, the printer 10 determines that the update condition for updating the patch program "pftp2" with a "medium" priority is satisfied, and updates program 40 using the patch program "pftp2" (T40, T42 in FIG. 4). Since the weekly update process is an automatic update process that does not require user operation, the possibility that the user is trying to use the printer during the weekly update process is relatively low. For this reason, the user's use of the printer is less likely to be restricted. In this way, the printer 10 can update its own program 40 by using the patch program "pftp1" with a "high" priority and the patch program "pftp2" with a "medium" priority in an appropriate order. Also, since the printer 10 preferentially uses the patch program "pftp1" with a relatively high priority over the patch program "pftp2" with a relatively low priority to update program 40, it can quickly address vulnerabilities with a relatively high severity level.

[0039] Thereafter, when the timing of the monthly update process arrives, the printer 10 determines that the update conditions for updating the patch program "pftp3" with a priority of "low" are satisfied, and in response to a user's instruction, updates the program 40 using the patch program "pftp3" (T60 to T66 in FIG. 4). In this way, the printer 10 preferentially uses the patch programs "pftp1" and "pftp2" for dealing with vulnerabilities over the patch program "pftp3" that is not for dealing with vulnerabilities to update the program 40, so that it can quickly deal with vulnerabilities. Also, the patch program "pftp3" is applied to the printer 10 triggered by the user desiring the application on the update screen. Therefore, the printer 10 can apply the patch program to the printer 10 at a timing that does not interfere with the user's use, such as after the user has finished using the printer, for example. For this reason, the convenience of the user is improved.

[0040] Also, when the set value of TLS is changed, the printer 10 receives the patch programs "pftp1", "pftp2", and "pftp3" regarding the TLS setting from the server 100 (T16 in FIG. 3). Therefore, the printer 10 can receive the patch program for dealing with the vulnerability caused by the change of the set value of TLS at an appropriate timing.

[0041] (Corresponding relationship) Printer 10 is an example of a "communication device". Patch programs "pftp1", "pftp2", and "pftp3" are examples of "multiple partial programs". Patch programs "pftp1", "pftp2", "pftp3" are examples of the "first partial program", "second partial program", and "third partial program", respectively. The firmware specified by firmware version "Firmware_2" is an example of "firmware". Priority is an example of "superior information". Priorities "high", "medium", and "low" are examples of "priority orders". Priorities "high", "medium", and "low" are examples of the "first place", "second place", and "third place", respectively. Application information "Disable" and "Enable" are examples of the "first value" and "second value", respectively. TLS is an example of a "communication protocol". The time from when a setting change request is received at T12 in FIG. 3 until the weekly update process in FIG. 4 is executed is an example of a "first predetermined time". The time from when a setting change request is received at T12 in FIG. 3 until the monthly update process in FIG. 4 is executed is an example of a "second predetermined time".

[0042] Processes T16, T20 in FIG. 3, and T40, T42 in FIG. 4 are examples of processes executed by a "reception unit", "first update unit", "judgment unit", and "second update unit", respectively. Process T12 in FIG. 3 is an example of a process executed by a "change transmission unit".

[0043] The specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. Modifications of the above embodiments are listed below.

[0044] (Modification Example 1) The "communication protocol" may be FTP (abbreviation for File Transfer Protocol) instead of TLS, or may be another protocol.

[0045] (Modification Example 2) Depending on the timing of receiving the firmware, the timing at which the monthly update process should be executed may come earlier than the timing at which the weekly update process should be executed. In this case, in the monthly update process, when the patch program with the priority "medium" that has not yet been applied to the printer 10 is stored in the setting table 42, the printer 10 may apply the patch program without executing the processes of T62 and T64 in FIG. 4, that is, without receiving the user's update instruction operation.

[0046] (Modification Example 3) T12 in FIG. 3 may be omitted. In this case, for example, when the printer 10 and the server 100 have established a permanent connection such as an Extensible Messaging and Presence Protocol (XMPP) connection, and the firmware including the patch program to be sent to the printer 10 is stored in the server 100, the server 100 may use the permanent connection to send the request information of T16 to the printer 10. In this modification example, the "change transmission unit" can be omitted.

[0047] (Modification Example 4) The "specific setting item" may not be an item regarding whether the communication device uses a specific communication protocol. For example, the "specific setting item" may be an item regarding whether the communication device uses an encryption method used for communication. In this case, the "first value" may be a value indicating that the communication device uses the encryption method, and the "second value" may be a value indicating that the communication device does not use the encryption method. Also, for example, the "specific setting item" may be an item for registering the device name, IP address, etc. of the device for which communication with the communication device is permitted (or prohibited).

[0048] (Modification Example 5) There may not be a patch program corresponding to the priority "high". That is, there may only be patch programs corresponding to the priorities "medium" and "low". In this modification example, "the first place" can be omitted. In another modification example, there may not be a patch program corresponding to the priority "medium". That is, there may only be patch programs corresponding to the priorities "high" and "low". In this modification example, "the second place" can be omitted. In yet another modification example, there may not be a patch program corresponding to the priority "low". That is, there may only be patch programs corresponding to the priorities "high" and "medium". In this modification example, "the third place" can be omitted.

[0049] (Modification Example 6) "Update condition" may include that the state of the printer 10 transitions from a state during execution of processing such as "busy" to a state not during execution of processing such as "idle" (for example, a standby state). Generally speaking, "update condition" may not include that a first or second predetermined time has elapsed since the firmware and the ranking information are received from the server.

[0050] (Modification Example 7) In the above embodiments, the processing of each step in FIGS. 3 and 4 is realized by software (for example, the program 40 of the printer 10, the program 140 of the server 100), but at least one of these processes may be realized by hardware such as a logic circuit.

[0051] Also, the technical elements described in this specification or the drawings exhibit technical utility alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Further, the technology exemplified in this specification or the drawings can achieve a plurality of purposes simultaneously, and achieving one of those purposes itself has technical utility.

[0052] In the claims of a patent application at the time of filing, even if each claim depends only on some of the claims, each claim is not limited to depending only on some of the claims. Within a technically non - conflicting range, each claim may also depend on other claims that it did not depend on at the time of filing. That is, the technologies of each claim can be combined in various ways as follows. (Item 1) A communication device, a receiving unit that receives, from a server, firmware including a plurality of partial programs and ranking information indicating the priority of each of the plurality of partial programs, wherein the plurality of partial programs include a first partial program with a higher priority indicated by the ranking information and a second partial program with a lower priority than the first partial program indicated by the ranking information; the receiving unit; a first update unit that updates the program of the communication device using the first partial program; a determination unit that determines whether an update condition for updating the program of the communication device is satisfied after the first partial program is updated, wherein the update condition is a condition for updating the program of the communication device using the second partial program; the determination unit; a second update unit that updates the program of the communication device using the second partial program when it is determined that the update condition is satisfied; A communication device comprising the above. (Item 2) The communication device further comprises a change transmission unit that transmits the change content of a specific set value corresponding to a specific setting item related to communication to the server when the specific set value changes from a first value to a second value, wherein the receiving unit receives, from the server, the firmware including at least one partial program related to the specific set value and the ranking information in response to the change content being transmitted to the server. The communication device according to Item 1. (Item 3) The specific setting item is an item regarding whether the communication device uses a specific communication protocol. The first value is a value indicating that the communication device does not use the specific communication protocol. The communication device according to item 2, wherein the second value is a value indicating that the communication device uses the specific communication protocol. (Item 4) The first value is a value indicating that the communication device does not use a predetermined version of the specific communication protocol. The communication device according to item 3, wherein the second value is a value indicating that the communication device uses the predetermined version of the specific communication protocol. (Item 5) As the priority levels of the partial programs, there are a first priority level and a second priority level lower than the first priority level. The communication device according to any one of items 1 to 4, wherein when the priority level of the first partial program is the first priority level, the first update unit updates the program of the communication device using the first partial program immediately after receiving the firmware and the ranking information from the server. (Item 6) The update condition includes that a first predetermined time has elapsed since the firmware and the ranking information were received from the server. The communication device according to item 5, wherein when the priority level of the second partial program is the second priority level and the first predetermined time has elapsed since the firmware and the ranking information were received from the server, the determination unit determines that the update condition is satisfied. (Item 7) As the priority levels of the partial programs, there are the first priority level, the second priority level, and a third priority level lower than the second priority level. The update condition includes that a second predetermined time has elapsed since the firmware and the ranking information were received from the server. When the priority of the second partial program is the third highest, the determination unit determines that the update condition is satisfied when the second predetermined time has elapsed since the firmware and the ranking information were received from the server. The second predetermined time is longer than the first predetermined time. The communication device according to item 6. (Item 8) In the ranking information, a partial program for dealing with the vulnerability of the communication device has a higher priority than a partial program that is not for dealing with the vulnerability of the communication device. The communication device according to any one of items 1 to 7. (Item 9) In the ranking information, a partial program with a higher vulnerability severity score has a higher priority than a partial program with a lower vulnerability severity score. The communication device according to any one of items 1 to 8.

Explanation of Signs

[0053] 2: Communication system, 4: Internet, 10: Printer, 12: Operation unit, 14: Display unit, 16: Communication I / F, 18: Printing execution unit, 30: Control unit, 32: CPU, 34: Memory, 40: Program, 42: Setting table, 100: Server, 116: Communication I / F, 130: Control unit, 132: CPU, 134: Memory, 140: Program, 142: Program table

Claims

1. A communication device, comprising: a receiving unit that receives, from a server, firmware including a plurality of partial programs and ranking information indicating the priority of each of the plurality of partial programs, wherein the plurality of partial programs include a first partial program having a higher priority indicated by the ranking information and a second partial program having a lower priority than the first partial program indicated by the ranking information; a first update unit that updates a program of the communication device using the first partial program; a determination unit that determines whether an update condition for updating the program of the communication device is satisfied after the first partial program is updated, wherein the update condition is a condition for updating the program of the communication device using the second partial program; a second update unit that updates the program of the communication device using the second partial program when it is determined that the update condition is satisfied; The communication device comprising the above.

2. The communication device further comprises: a change transmission unit that transmits, to the server, the content of a change in a specific set value corresponding to a specific setting item related to communication when the specific set value changes from a first value to a second value; The receiving unit receives, from the server, the firmware including at least one partial program related to the specific set value and the ranking information in response to the change content being transmitted to the server. The communication device according to Claim 1.

3. The specific setting item is an item related to whether the communication device uses a specific communication protocol; The first value is a value indicating that the communication device does not use the specific communication protocol; The second value is a value indicating that the communication device uses the specific communication protocol. The communication device according to Claim 2.

4. The first value is a value indicating that the communication device does not use a predetermined version of the specific communication protocol; The second value is a value indicating that the communication device uses the predetermined version of the specific communication protocol. The communication device according to Claim 3.

5. As the priorities of the partial programs, there are a first priority and a second priority lower than the first priority. When the priority of the first partial program is the first, the first updating unit updates the program of the communication device using the first partial program immediately after receiving the firmware and the ranking information from the server. The communication device according to claim 1.

6. The update condition includes that a first predetermined time has elapsed since the firmware and the ranking information were received from the server. When the priority of the second partial program is the second, the determination unit determines that the update condition is satisfied when the first predetermined time has elapsed since the firmware and the ranking information were received from the server. The communication device according to claim 5.

7. As the priorities of the partial programs, there are the first, the second, and a third lower than the second. The update condition includes that a second predetermined time has elapsed since the firmware and the ranking information were received from the server. When the priority of the second partial program is the third, the determination unit determines that the update condition is satisfied when the second predetermined time has elapsed since the firmware and the ranking information were received from the server. The second predetermined time is longer than the first predetermined time. The communication device according to claim 6.

8. In the ranking information, the partial program for coping with the vulnerability of the communication device has a higher priority than the partial program not for coping with the vulnerability of the communication device. The communication device according to claim 1.

9. In the ranking information, the partial program with a higher score of vulnerability severity has a higher priority than the partial program with a lower score of vulnerability severity. The communication device according to claim 1.

10. A computer program for a communication device, The computer program for the communication device includes the following parts, namely, A receiving unit that receives from a server firmware including a plurality of partial programs and ranking information indicating the respective priorities of the plurality of partial programs. The plurality of partial programs include a first partial program with a higher priority indicated by the ranking information and a second partial program with a lower priority than the first partial program indicated by the ranking information. The receiving unit. A first update unit that updates the program of the communication device by using the first partial program; A determination unit that determines whether an update condition for updating the program of the communication device is satisfied after the first partial program is updated, where the update condition is a condition for updating the program of the communication device by using the second partial program, the determination unit; A second update unit that updates the program of the communication device by using the second partial program when it is determined that the update condition is satisfied; A computer program that functions as such.

11. A method executed by a communication device, comprising: A receiving step of receiving, from a server, firmware including a plurality of partial programs and ranking information indicating the priority of each of the plurality of partial programs, where the plurality of partial programs include a first partial program with a higher priority indicated by the ranking information and a second partial program with a lower priority than the first partial program indicated by the ranking information, the receiving step; A first update step of updating the program of the communication device by using the first partial program; A determination step of determining whether an update condition for updating the program of the communication device is satisfied after the first partial program is updated, where the update condition is a condition for updating the program of the communication device by using the second partial program, the determination step; A second update step of updating the program of the communication device by using the second partial program when it is determined that the update condition is satisfied; A method comprising the above.

Citation Information

Patent Citations

  • Port number management method, information processing apparatus, and computer program

    JP2008048198A

  • Communication device, computer program for communication device, and method to be executed by communication device

    JP2022085622A