Communication devices, communication systems, and communication methods
The communication device's update determination system addresses high processing demands and inflexible update control by enabling conditional updates based on device-specific criteria, reducing management device load and costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HITACHI IND EQUIP SYST CO LTD
- Filing Date
- 2024-11-15
- Publication Date
- 2026-05-27
AI Technical Summary
Existing remote update systems for communication devices require high processing capacity from management devices, leading to increased costs, and lack flexibility in update control based on firmware version information alone, failing to support downgrades or conditional updates based on device settings and operational information.
A communication device equipped with an update determination information acquisition unit, an update necessity determination unit, and a program application unit, allowing it to determine necessary updates based on device ID, program requirements, version, update type, and operational conditions, reducing the processing load on the management device.
Enables flexible and efficient program updates tailored to specific device needs, reducing management device processing load and costs while allowing for conditional updates based on device settings and operational information.
Smart Images

Figure 2026087094000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a communication device, a communication system, and a communication method.
Background Art
[0002] In recent years, a system has been constructed for remotely monitoring communication devices by collecting data related to communication devices installed in factories and the like via wireless communication and aggregating it in a management device at a remote location. On the other hand, for maintenance of the system, there are cases where program updates of the communication devices are required.
[0003] Since it takes time and labor to dispatch an administrator to the site for the update work, there is an OTA (Over The Air) technology that realizes these remotely via wireless communication. In the OTA technology, remote update is realized by delivering an update program from a management device to a communication device via wireless communication.
[0004] The communication device periodically inquires the management device about whether an update is required, the management device determines whether the communication device needs an update, and if an update is necessary, the update process is executed by returning a program.
[0005] However, in the case of a configuration where the management device determines whether each communication device needs an update, a high processing capacity is required for the management device. If the processing capacity of the management device is low and it cannot respond to inquiries from all communication devices, remote update cannot be performed correctly. As the number of communication devices managed by the management device increases, a higher processing capacity is required, resulting in an increase in the cost of the management device.
[0006] Therefore, there is a technology in which the determination process of whether an update is required is performed not by the management device but by the communication device (Patent Document 1). In this prior art, the communication device acquires the firmware version information from the management device, compares it with the firmware version information already installed, and self-determines that an update is necessary if it is newer.
[0007] Remote updates are achieved by obtaining firmware from the management device and applying it to the device itself. By entrusting the process of determining whether an update is necessary to the communication device, the management device only needs to transfer version information and firmware, thus reducing its processing load. In other words, it becomes possible to reduce the cost of the management device. [Prior art documents] [Patent Documents]
[0008] [Patent Document 1] Japanese Patent Publication No. 2008-225965 [Overview of the project] [Problems that the invention aims to solve]
[0009] Patent Document 1 describes a method where, if the firmware version information obtained from the management device is up-to-date, the communication device determines that an update is necessary. However, in practical operation, there are cases where a downgrade is desired, such as when a defect is found in the latest firmware.
[0010] Furthermore, there are cases where the program should be distributed only to communication devices that already have the target program installed, and conversely, cases where the program should be distributed to communication devices that do not have the program installed. Patent Document 1 assumes that upgrades are the general principle and does not support allowing or prohibiting updates depending on the status of the communication device by using a combination of upgrades, downgrades, and new installations.
[0011] Furthermore, there are cases where it is preferable to control program updates based not only on version information, but also on the settings and operating information of the communication device.
[0012] For example, when distributing a program to fix a malfunction in the wireless LAN interface of a communication device, it is conceivable that the update would only be applied to communication devices that have enabled wireless LAN use. In this way, it is desirable to have a control mechanism that allows or prohibits updates based on the settings of the communication device and dynamically changing operational information.
[0013] The present invention has been made in view of the above problems, and enables the specification of update types such as upgrade, downgrade, and new installation in the process of determining whether or not a program update is necessary in a communication device, and enables the definition of update conditions based on setting values and operating information.
[0014] This reduces the processing load on the management device and allows for flexible program updates of the communication device. [Means for solving the problem]
[0015] The above problem is solved by a communication device connected to a management device that distributes programs, comprising a program update unit consisting of an update determination information acquisition unit, an update necessity determination unit, and a program application unit, wherein the update determination information acquisition unit acquires program update determination information from the management device, the update necessity determination unit determines whether the device needs a program update based on the target device ID, determination program requirements, target program, updated version, and update type described in the update determination information, and if an update is necessary, acquires the program from the program acquisition source described in the update determination information, the program application unit applies the acquired program to the device, and the communication device notifies the management device of the updated program version information. [Effects of the Invention]
[0016] According to the present invention, flexible program update control according to the purpose and application becomes possible when remotely updating communication devices. [Brief explanation of the drawing]
[0017] [Figure 1]This is an example of a block diagram for explaining the configuration of a communication system and the hardware configurations of a communication device and a management device in an embodiment of the present invention. [Figure 2] This is a diagram showing an example of a version management table of a communication device in an embodiment of the present invention. [Figure 3] This is a diagram showing an example of a communication device management table of a management device in an embodiment of the present invention. [Figure 4] This is a diagram showing an example of an update determination information file of a management device in an embodiment of the present invention. [Figure 5] This is an example of a flowchart showing the processing of a program update unit in an embodiment of the present invention. [Figure 6] This is an example of a flowchart showing the processing of a management device control unit in an embodiment of the present invention. [Figure 7] This is an example of a flowchart showing the processing of an update necessity determination process in Embodiment 1 of the present invention. [Figure 8] This is an example of a screen for setting an update determination information file of a management device in an embodiment of the present invention. [Figure 9] This is an example of a screen for outputting a communication device management table of a management device in an embodiment of the present invention. [Figure 10] This is an example of a flowchart showing the processing of an update necessity determination process in Embodiment 2 of the present invention. [Figure 11] This is an example of a flowchart showing the processing of an update necessity determination process in Embodiment 3 of the present invention.
Mode for Carrying Out the Invention
[0018] First, the principle (outline) of the invention will be described. The management device manages an update determination information file provided to the communication device and a program for the communication device. The update determination information file is a file for causing the communication device to determine whether its own update is necessary, and is registered by the system administrator.
[0019] The communication device includes a program update unit that determines whether an update process is necessary, and the program consists of an update determination information acquisition unit, an update necessity determination unit, and a program application unit. The update determination information acquisition unit periodically acquires the update determination information file from the management device.
[0020] The update necessity determination unit then refers to the file and determines whether the device's program needs to be updated. The update determination information file contains at least the following information: (1) target device ID, (2) update determination program requirements, (3) program to be updated, (4) updated version, (5) update type, and (6) program acquisition source. Optionally, (7) update conditions can also be included.
[0021] (1) The target device ID is the identifier of the communication device to be updated. The communication device uses this field to determine whether it is the device to be updated.
[0022] (2) The update determination program requirements are the version information of the update determination program that can determine whether an update is necessary. The communication device determines whether its own update determination program meets these requirements.
[0023] (3) The program to be updated is the identifier of the program to be updated, and (4) the updated version is the version information of the program after the update. The communication device checks whether the program is already installed and, if so, checks the current version information.
[0024] (5) The update type is the type of update permitted to the communication device. For example, specify "upgrade" if you only want to allow upgrades of installed programs, "downgrade" if you only want to allow downgrades, "new" if you want to allow new installations of uninstalled programs in addition to upgrades, and "any" if you want to allow updates unconditionally, including downgrades.
[0025] By specifying this update method, it is possible to implement update control tailored to the specific application. For example, if the program to be updated is Program A, the updated version is 3.0, and the update type is upgrade, then the update can only be permitted to communication devices that already have Program A installed and whose current version is less than 3.0.
[0026] If the update type is set to "any," updates can be performed, including downgrades and clean installations, on communication devices that do not have Program A installed, or that have a version of Program A other than 3.0 installed. By allowing users to specify the update type, flexible remote updates tailored to specific purposes and uses can be achieved.
[0027] (6) The program source is the source information for the program to be updated. When the communication device satisfies conditions (1) to (5) and determines that an update is necessary, it retrieves the program from the program source and applies the program to its own device using the program application unit. This process realizes the update.
[0028] (7) The update conditions specify update conditions based on the settings and operating information of the communication device, and the update will only be performed if these conditions are met. These are additional conditions that must be met in addition to (1) to (5), and if such update conditions are defined, the communication device will only be determined to require an update if (1) to (5) and (7) are met.
[0029] For example, if (7) the update condition is defined as wlanEnable=True (wireless LAN setting is enabled), then in the example above, the update will only be performed on communication devices that have program A installed, whose current version is less than 3.0, and which have enabled the use of wireless LAN.
[0030] As in the example above, this approach is suitable for situations where a program to correct a malfunction in the wireless LAN interface is applied only to communication devices that have enabled the use of wireless LAN. Alternatively, it is possible to define cpuUsage ≥ 0.90 (CPU usage of 90% or more) and apply a program to correct the malfunction only to communication devices where an increase in CPU usage is suspected due to some abnormality.
[0031] In this way, update conditions based on the settings and operational information of the communication device can also be defined, enabling not only static updates based on version information but also dynamic updates that depend on the situation.
[0032] Furthermore, the aforementioned settings can be applied not only to enabling / disabling various interfaces of the communication device, but also to application settings such as data acquisition cycles, packet forwarding settings such as IP addresses and firewall settings, routing tables, and communication settings such as APN (Access Point Name) settings.
[0033] In addition to the CPU usage mentioned above, operational information also includes memory usage, received signal strength in wireless communication, amount of data transmitted and received, number of successful / failed communications, elapsed time since startup, internal temperature, power supply voltage, and device location information. This information indicates the operating status and communication status of the communication device, and is not limited to specific content.
[0034] In this way, by providing the communication device with an update determination information file consisting of information (1) to (7), and having the communication device determine whether an update is necessary, it is possible to reduce the processing load on the management device compared to when the management device performs the update determination. Consequently, the cost of the management device can be reduced.
[0035] In addition, by appropriately setting the update format and update conditions in the update judgment information file, flexible updates can be achieved as needed.
[0036] The following examples will be described with reference to the drawings. It should be noted that the examples described below are not intended to limit the invention as defined in the claims, and not all of the elements and combinations thereof described in the examples are necessarily essential to the solution of the invention.
[0037] In the following explanation, information may be described using the representation of an AAA table, but the information can be represented in any data structure. To indicate that the information is independent of the data structure, the AAA table may sometimes be referred to as AAA information. [Examples]
[0038] Figure 1 is an example block diagram illustrating the configuration of the communication system and the hardware configuration of the communication device and management device in an embodiment of the present invention. The configuration of the communication system and the hardware configuration of the communication device and management device in the embodiment will be described.
[0039] The communication system in Figure 1 consists of one or more communication devices 101 (101-a to 101-c) to be managed and a management device 102. In the following description, when communication devices 101-a to 101-c are not individually specified, the part after the hyphen is omitted and the code 101 is used.
[0040] The communication device 101 and the management device 102 are connected by either wired communication, wireless communication, or both. The communication device 101 transmits its operational information to the management device 102. The management device 102 then records and manages the information collected from the communication device 101, thereby providing a remote monitoring service.
[0041] Furthermore, the communication device 101 periodically retrieves the update determination information file registered in the management device 102 in order to determine whether or not the program it uses needs to be updated. If an update is necessary, the communication device 101 retrieves the communication device program 140 registered in the management device 102 and applies it to its own device. This enables the updating of the program running on the communication device 101.
[0042] The management device 102 may be installed in the same location as the communication device 101, or it may be installed at a separate location such as on the cloud. Also, although Figure 1 illustrates a configuration in which multiple communication devices 101 are connected to one management device 102, a configuration in which one communication device 101 is connected to one management device 102 is also acceptable.
[0043] The communication device 101 is a device that operates at a factory or other site, and it collects data acquired from the site, such as temperature data, as well as operational information of the communication device 101, and stores it in the storage device 115 as operational information 123.
[0044] The communication processing unit 117 stores the operational information 123 in a packet and transmits it to the management device 102. The communication device 101 has various configurations depending on the data to be acquired and its role. For example, if monitoring the site temperature, it may be equipped with a temperature sensor.
[0045] In Figure 1, the communication device 101 consists of a communication interface 111, a central processing unit (CPU) 112, an input unit 113, an output unit 114, and a storage device 115.
[0046] The communication interface 111, for example when sending and receiving packets with the management device 102 via wireless communication, consists of a transmitting unit that converts digital signals and wireless signals to each other, converts the generated digital data back into a wireless signal for transmission, and a receiving unit that extracts digital data from the received wireless signal.
[0047] These communication methods include LTE (Long Term Evolution) (registered trademark), Ethernet (registered trademark), WiFi, and fiber optic lines. Furthermore, multiple communication I / F111s may be installed depending on the application. For example, a configuration with multiple communication I / F111s may be used to prepare for communication interruptions.
[0048] The CPU 112 executes various software modules stored in the storage device 115, thereby realizing the various functions of the communication device 101.
[0049] The input unit 113 consists of, for example, a keyboard, mouse, or touch panel, and is used by administrators to input data and set parameters. The output unit 114 consists of a liquid crystal display monitor, and outputs setting screens and the results of various processes.
[0050] When receiving input information from an external device or providing output information to an external device via the communication interface 111, such as when remotely logging into the communication device 101 from another external device, the inclusion of the input unit 113 and output unit 114 is not mandatory.
[0051] The storage device 115 includes a storage device composed of read-only semiconductor memory and other similar components, and a storage device composed of rewritable semiconductor memory elements, and stores software modules for realizing various processes and acquired data.
[0052] The communication device control unit 116 manages various settings such as the method and cycle for acquiring the data to be collected, and the acquisition process is executed by the CPU 112 connected via the internal bus.
[0053] For example, the communication device control unit 116 manages the method for acquiring field data and operational information to be transmitted to the management device 102, as well as the transmission schedule for such information.
[0054] Figure 1 illustrates a single communication device control unit 116, but multiple units may be installed. In particular, when the communication device 101 provides a wide range of functions, it is common to install multiple communication device control units 116 to realize each individual function.
[0055] The communication processing unit 117 is responsible for implementing the transmission and reception processes in communication. It performs packet analysis processing, including packet assembly when transmitting and determining whether a packet is addressed to the local device when receiving.
[0056] The version control table 118 is a table that records and manages a list of programs installed on the device and their version information.
[0057] The program update unit 119 is a program that performs program update processing for the device itself. This program includes an update determination information acquisition unit 120, an update necessity determination unit 121, and a program application unit 122.
[0058] The update determination information acquisition unit 120 periodically performs the process of acquiring the update determination information file 139 registered in the management device 102. It instructs the communication processing unit 117 to send a packet requesting the update determination information file 139 to the management device 102, and acquires the update determination information file 139 returned from the management device 102 via the communication processing unit 117.
[0059] The update necessity determination unit 121 refers to the update determination information file 139 and determines whether the device's program needs to be updated. If it is determined that an update is necessary, the communication device program 140 specified in the update determination information file 139 is obtained from the management device 102.
[0060] The communication processing unit 117 is instructed to send a packet requesting the communication device program 140 to the management device 102, and the communication device program 140 returned from the management device 102 is obtained via the communication processing unit 117. If it is determined that no update is necessary, no processing is performed, and the system waits for a certain period of time to elapse until the update determination information acquisition unit 120 obtains the update determination information file 139 again.
[0061] The program application unit 122 executes a process to apply the communication device program 140 obtained from the management device 102 to its own device. Based on the program obtained through this process, the communication device control unit 116 and the program update unit 119 are updated, and settings such as communication and program startup / shutdown are set in the setting information 124.
[0062] Once the program update is complete, the latest version information is recorded in the version control table 118, and the updated version information is notified to the management device 102.
[0063] The communication processing unit 117 is instructed to send a packet containing the version information to the management device 102. This allows the management device 102 to record and manage the version information of the programs installed on each communication device 101, as well as to confirm that the updates have been performed correctly.
[0064] The communication device 101 may be a standalone device or an embedded device. Furthermore, as mentioned above, the configuration of the communication device 101 can vary depending on the type of field data to be acquired, and may include, for example, a camera module, a temperature sensor, or an acceleration sensor.
[0065] Next, the hardware configuration of the management device 102 will be described. The management device 102 records and manages field data and operational information collected from the communication device 101, and also returns the update judgment information file 139 and the communication device program 140 in response to acquisition requests from the communication device 101. The management device 102 is a device that has a communication function with the communication device 101.
[0066] The management device 102 includes a communication interface 131, a CPU 132, an input unit 133, an output unit 134, a storage device 135, and a management device communication processing unit 137. These components are the same as those of the communication device 101 described above. Similar to the communication device 101 described above, the input unit 133 and the output unit 134 are not required when receiving input information from external devices or providing output information to external devices via the communication interface 131.
[0067] The control unit 136 is a program that provides services to the user by utilizing data and operational information collected from the communication device 101. For example, if the control unit 136 is a program that provides the average value per unit time of on-site data such as temperature received from the communication device 101, it performs data analysis processing such as calculating the average value from the collected data values.
[0068] Similar to the communication device 101, it may also be configured to include multiple management device control units 136.
[0069] The communication device management table 138 is a table that records and manages a list of programs and version information installed on the communication device 101.
[0070] The update determination information file 139 is a file used to cause the communication device 101 to determine whether or not a program update is necessary, and is registered by the system administrator.
[0071] The communication device program 140 is a program file distributed for updating the program of the communication device 101.
[0072] Figure 1 illustrates a configuration in which a single management device 102 performs both the provision of services utilizing collected data and remote updates to the communication device 101. However, it is also possible to divide the system into two management devices 102: one that provides only the former service and another that handles only the latter remote updates. Therefore, it is not necessary to include all of the configurations shown in Figure 1 in a single management device 102.
[0073] Figure 2 shows an example of a version control table for a communication device in an embodiment of the present invention. The version control table 118 managed by the communication device 101 will be described below. The version control table 118 records and manages a list of programs installed on the communication device 101 and the version information of each program. Figure 2 shows a diagram of the configuration of this table.
[0074] Program 201 indicates the identifier of the program installed on the communication device 101. In Figure 2, the program name is used as an example of the identifier, but this identifier can be in any format, such as a serial number pre-assigned to the program.
[0075] Version 202 is the current version information of program 201 installed on the communication device 101. In the example in Figure 2, for example, the update determination program constituting the program update unit 119 indicates that version 1.1 is installed, and program A indicates that version 2.3 is installed.
[0076] In Figure 2, the major and minor versions are listed together as version information, but you can list only one or both, or list them together in separate table columns. Any format is acceptable as long as the program version information can be identified.
[0077] Figure 3 shows an example of a communication device management table for a management device in an embodiment of the present invention. The communication device management table 138 records and manages a list of programs installed on the communication device 101 managed by the management device 102, and the version information of each program.
[0078] Device ID 301 indicates the identifier of communication device 101. In Figure 3, the identifier of communication device 101 is illustrated using the symbols in Figure 1, but this identifier may be in any format, such as the serial number of communication device 101 or the IP address assigned to communication I / F 111.
[0079] Program 302, version 303 is the same as the version management table 118 in Figure 2, which is managed by the communication device 101. For example, the row 101-a in Figure 3 indicates that the update determination program version 1.1, program A version 2.3, program B version 5.0, and program C version 2.0 are installed in the communication device 101-a in Figure 1.
[0080] Figure 3 shows an example where program B is not installed only on communication device 101-b. Thus, it is not necessarily required that the same program be installed on all communication devices 101; it may be different for each communication device 101.
[0081] When the management device 102 receives version information for various programs from the communication device 101, it updates the communication device management table 138. This allows the system administrator to refer to the table on the management device 102 and understand the program installation status of the communication device 101, which is installed in a remote location. However, the management device 102 does not necessarily need to have the communication device management table 138.
[0082] Figure 4 shows an example of an update determination information file for a management device in an embodiment of the present invention. The update determination information file 139 managed by the management device 102 will now be described. The update determination information file 139 is a file that causes the communication device 101 to determine whether or not the device's program needs to be updated.
[0083] The target device ID 401 indicates the identifier of the communication device 101 to be updated. The format is the same as that of device ID 301 in Figure 3. However, the update determination information file 139 also allows the specification of devices using wildcards, and the asterisk (*) in Figure 4 indicates that all communication devices 101 are to be updated.
[0084] In Figure 4, rows with target device ID 101-a indicate update determination information that should be determined only by communication device 101-a, while rows marked with * indicate update determination information that should be determined by all communication devices 101-a to 101-c.
[0085] The update determination program requirement 402 is the version information that the update determination program must satisfy. If the update determination program of the communication device 101 is at or above the version specified in update determination program requirement 402, it is possible to perform the update determination information described in that line.
[0086] If the version is lower than the version specified in Update Judgment Program Requirements 402, the update judgment is skipped without checking the update judgment information for that line. In the example in Figure 3, since the update judgment program installed on communication device 101-a is version 1.1, when communication device 101-a obtains the update judgment information file in Figure 4, it performs program update judgment processing for the line where the target device ID 401 is 101-a and for the lines marked with * where Update Judgment Program Requirements 402 specifies a version of 1.1 or less.
[0087] The update determination information file 139 is not limited to the configuration shown in Figure 4, and its configuration may be changed during the operation of the system.
[0088] For example, in Example 2 described later, we will illustrate a configuration in which an update condition 901 is added to the update judgment information file 139 in Figure 4. However, if such a configuration change is made, older update judgment programs may not be able to correctly perform judgment processing for the newly added column.
[0089] Therefore, by adding a column for update judgment program requirements 402, it becomes possible to limit the rows that older update judgment programs should evaluate in the update judgment information file 139. For update judgment information that uses the newly added column, it is also possible to have only the newer version of the update judgment program perform the evaluation.
[0090] During the system's operation, it is also possible to change the configuration of the update judgment information file 139 shown in Figure 4 after the communication device has been put into operation. The program to be updated, 403, is the identifier of the program to be updated. Similar to program 201 in Figure 2, any identifier is acceptable as long as it can identify the type of program.
[0091] The updated version 404 is the new version information for the updated program 403. Similar to version 202 in Figure 2, any format is acceptable as long as the version information is identifiable.
[0092] Update type 405 is an identifier for the update type permitted for the communication device 101. As mentioned above, for example, identifiers such as upgrade, which only allows upgrades of installed programs; downgrade, which only allows downgrades of installed programs; new, which allows upgrades as well as the addition of new, uninstalled programs; and any, which unconditionally allows updates, including downgrades.
[0093] In addition, you may add any other update methods, such as "add," which prohibits upgrading or downgrading installed programs and only allows the addition of new, uninstalled programs.
[0094] For example, in Figure 4, the row where the target device ID 401 is 101-a indicates that the update will be permitted for communication device 101-a if the update determination program is version 1.1 or higher, program A is installed, and the version of program A is less than 3.0.
[0095] In contrast, in the example shown in Figure 3, the communication device 101-a has program A version 2.3 installed, so it meets the conditions and determines that a program update for its own device is necessary.
[0096] Furthermore, the row in the third row of Figure 4 where the target device ID 401 is marked with an asterisk (*) indicates that the update will be permitted for all communication devices 101 if the update determination program is version 1.1 or higher, and program C is not installed, or if the version of program C is not 1.0.
[0097] In contrast, in the example shown in Figure 3, communication devices 101-a and 101-b have program C version 2.0 installed, so they meet the conditions and it is determined that a program update (downgrade) of their own devices is necessary.
[0098] The communication device 101-c determines that it does not need to update its own program because it already has version 1.0 of program C installed. In this way, by writing the update determination information file 139 as needed, it becomes possible to flexibly perform updates based on various update types.
[0099] The program acquisition destination 406 indicates the source from which the communication device 101 acquires the program when it determines that a program update is necessary for its own device. In the example in Figure 4, it is described in URL (Uniform Resource Locator) format, but it may also store the absolute or relative path of the directory where the communication device program 140 is stored on the management device 102. The description format does not matter as long as the program acquisition destination (download destination) can be identified.
[0100] In Figure 4, for illustrative purposes, the update judgment information file 139 is shown in a table format, but other formats such as CSV (Comma Separated Values) or JSON (JavaScript Object Notation) are also acceptable.
[0101] Figure 5 is an example flowchart showing the processing of the program update unit in an embodiment of the present invention. The update determination information acquisition unit 120 of the program update unit 119 requests the management device control unit 136 to send an update determination information file via the management device communication processing unit 137 of the management device 102, and receives it (S100).
[0102] The update necessity determination unit 121 uses the received update information determination file to perform an update necessity determination process (S101). It determines whether an update is necessary (S102), and if an update is not necessary, it waits for a predetermined amount of time to elapse and returns to step S100.
[0103] If an update is necessary, the update necessity determination unit 121 requests the management device to update the program (S103).
[0104] When the update necessity determination unit 121 receives the requested update program from the management device (S104), it passes the update program to the program application unit 122 and applies it to the communication device (S105). After the update is complete, it updates the version control table 118 (S106) and sends an update completion notification to the management device 102 (S107).
[0105] When the management device control unit 136 of the management device 102 receives a notification that the update is complete, it updates the communication device management table 138 and stores the applied program and the program version.
[0106] After sending the update completion notification, it is determined whether a predetermined time has elapsed (S108), and if so, the process returns to step S100.
[0107] Figure 6 is an example flowchart showing the processing of the control unit of the management device in an embodiment of the present invention. When the management device 102 receives a request to update the update determination file from the input unit 133 (S200), it accepts the registration of the update determination information file 139 (S201) and updates the received update determination information file (S202).
[0108] If it is not a request to update the update judgment file, determine whether or not a notification of update completion has been received from the communication device 101 (S203).
[0109] If an update completion notification is received, the communication device identifier, the updated program, and the version information of the updated program are received (S204), and the version information in the communication device management table 138 is updated (S205).
[0110] Figure 7 is an example flowchart showing the process of determining whether an update is necessary in Embodiment 1 of the present invention. The update necessity determination process performed by the update necessity determination unit 121 of the communication device 101 will be described below.
[0111] This corresponds to the process executed in step S101 in Figure 5. This process involves the communication device 101 referring to the update determination information file 139 obtained from the management device 102 in step S100 and determining whether or not the program of its own device needs to be updated.
[0112] The update necessity determination unit 121 of the communication device 101 refers to the update determination information file 139 and determines whether the value of the target device ID 401 in the referenced line matches that of the current device (S601).
[0113] For example, when communication device 101-a performs the update necessity determination process shown in Figure 7, it determines that there is a match if the value of target device ID 401 in the line describing the update details in the update determination information file 139 is 101-a or * which indicates all devices.
[0114] The flowchart in Figure 7 shows an example where the update determination process starts by referencing the first line of the update determination information file 139. In the figure, the program is denoted as PRG and the version as VR.
[0115] If the value of target device ID 401 matches that of the current device (YES), proceed to step S602; otherwise, proceed to step S614.
[0116] The update necessity determination unit 121 refers to the update determination program requirements 402 in the update determination information file 139 and determines whether the said requirements (version) are less than or equal to the version of the update determination program of the device (S602).
[0117] If the version specified in the requirements is less than or equal to the version of the device's update determination program (YES), the requirements are met and the process proceeds to step S603. If the version specified in the requirements is greater than the version specified (NO), the requirements are not met and the process proceeds to step S614.
[0118] The update necessity determination unit 121 refers to the update type 405 in the update determination information file 139 and determines whether the type is an upgrade (S603). If it is an upgrade (YES), proceed to step S604; if it is not an upgrade (NO), proceed to step S605.
[0119] The update necessity determination unit 121 refers to the update target program 403 and the updated version 404 in the update determination information file 139 and determines whether the target program is already installed on the device and whether the updated version 404 is greater than the currently installed version (S604).
[0120] Since the update type is an upgrade, only upgrades of already installed programs are permitted. The update necessity determination unit 121 refers to the version management table 118 to determine whether the program to be updated 403 is already installed and compares it with the version value listed in the updated version 404.
[0121] If the target program is already installed on the device and the updated version 404 is greater than the current version (YES), it is determined that the upgrade conditions are met (S612). If these conditions are not met (NO), it is determined whether there is another update (S614), and if there is, it is set to the update for which the determination will be made (S613).
[0122] If there are no further updates, it is determined that no update is needed (S615), and the process is terminated. For example, if the target device ID 401 in Figure 4 is row 101-a (upgrade type), the communication device 101-a refers to the version management table 118 in Figure 2 and confirms that program A is installed and that the currently installed version is 2.3.
[0123] Therefore, it can be determined that the version value 3.0 listed in the updated version 404 is greater. Since the upgrade conditions are met, the process proceeds to step S612 and it is determined that the device needs to be updated.
[0124] If it is determined in step S603 that it is not an upgrade, the update necessity determination unit 121 refers to the update type 405 in the update determination information file 139 and determines whether the update type is a downgrade (S605).
[0125] In the case of a downgrade (YES), the update necessity determination unit 121 refers to the update target program 403 and the updated version 404 in the update determination information file 139 and determines whether the target program is already installed on the device and whether the updated version 404 is smaller than the currently installed version (S606). Since the update type is a downgrade, only downgrades of already installed programs are permitted.
[0126] If the target program is already installed on the device and the updated version 404 is smaller than the current version (YES), the conditions for downgrade are met and the process proceeds to step S612. If these conditions are not met, the process for the next update is carried out (S614)(S613).
[0127] If it is determined in step S605 that it is not a downgrade, the update necessity determination unit 121 refers to the update type 405 in the update determination information file 139 and determines whether the update type is new (S607).
[0128] If it is new, the update necessity determination unit 121 refers to the update target program 403 in the update determination information file 139 and determines whether the target program is not installed. (S608)
[0129] If the target program is not installed on the device, it is determined that an update is necessary (S612). If it is already installed, it is determined that the program to be updated is already installed and that the version of the updated program is greater than the current version (S604). If it is greater, it is determined that an update is necessary (S612). If it is not greater, processing is carried out for the next update (S614) (S613).
[0130] In the example in Figure 4 where the target device ID 401 is 101-b (update type is new), if the installation status of communication device 101-b is as shown in Figure 3, communication device 101-b can refer to its own version control table 118 and determine that program B is not installed.
[0131] To satisfy the "new" condition, the process proceeds to step S612, where it is determined that the device needs to be updated.
[0132] If the result in step S607 is not "new", the update necessity determination unit 121 refers to the update type 405 in the update determination information file 139 and determines whether the type is "any" (S609). If it is "any" (YES), the process proceeds to step S610; if it is not "any" (NO), the process does not fall under any of the predetermined update types and proceeds to step S614.
[0133] If the result in step S609 is "any", the update necessity determination unit 121 refers to the update target program 403 in the update determination information file 139 and determines whether the target program is already installed (S610). If the update type is "any", then upgrading and downgrading of installed programs, and adding new programs that are not installed are permitted. If the program is not installed (NO), then it is determined that an update is necessary (S612).
[0134] If the program is installed, the update necessity determination unit 121 refers to the update target program 403 and the updated version 404 in the update determination information file 139 and determines that the version of the target program installed on the device does not match the updated version 404 (S611).
[0135] If there is a mismatch (YES), it is determined that an update is necessary (S612), and if there is a match (NO), the process for the next update is carried out (S614)(S613).
[0136] Furthermore, the decision process in step S611 is performed to avoid an infinite update loop. For example, if the target device ID 401 in the third row of Figure 4 is * and the update type is any, the communication device 101-a refers to the version management table 118 in Figure 2 to confirm that version 2.0 of program C is already installed and determines that a downgrade to version 1.0 is necessary.
[0137] Afterward, program C is downgraded to version 1.0, and after a certain period of time has elapsed, the update determination information acquisition unit 120 acquires the update determination information file 139 shown in Figure 4. At this point, if the update necessity determination process shown in Figure 7 is executed again, without the determination process in step S611, it will be incorrectly determined that program C needs to be updated again, resulting in an infinite loop.
[0138] The "any" setting allows updates unconditionally, but if the same version of the program is already installed, the communication device 101 must determine that an update is unnecessary. By including the determination process in step S611, it is possible to prevent an infinite update loop even when the update setting is "any".
[0139] Step S614 is the process in which the update necessity determination unit 121 determines whether the reference line in the update determination information file 139 has reached the end. If the end has been reached (YES), there is no further update determination information to be determined, so the process proceeds to step S615. If it has not reached the end (NO), the reference line in the update determination information file 139 is shifted by one line, and the next update is set (S613). If there is no next update, it is determined that no update is necessary (S615).
[0140] By performing the process shown in Figure 7 above, it becomes possible to perform updates according to the purpose and use based on the judgment information described in the update judgment information file 139. In particular, by appropriately setting the update type 405 as needed, it is possible to flexibly control the upgrade, downgrade, or new installation of the program installed on the communication device 101.
[0141] Furthermore, the example in Figure 6 illustrates that the determination is made from the first line of the update determination information file 139, and the process in Figure 6 is terminated when it is determined that an update is necessary. In other words, in this configuration, update determination information defined in higher-level lines is processed with higher priority.
[0142] This does not apply if the communication device 101 can apply multiple programs at once. In this embodiment, the process in Figure 7 may not be terminated in step S612, but the process may proceed to step S614 and continue the update necessity determination process. After determining all the update determination information described in the update determination information file 139, the single or multiple programs that were determined to require updating may be retrieved and applied together.
[0143] If the update judgment information file 139 is incorrectly configured, remote updates may enter an infinite loop even if the judgment process in step S611 described above is implemented.
[0144] For example, let's take the third row of Figure 4, where the target device ID 401 is * (update type is any), as an example. Suppose that instead of specifying the program file for version 1.0 of program C (programC-1.0.zip) as the program acquisition destination 406, a program file for version 1.1 (programC-1.1.zip) was mistakenly specified.
[0145] In this case, the communication device 101 obtains the version 1.1 program and updates program C to version 1.1.
[0146] When the update judgment information file 139 shown in Figure 4 is retrieved again after a certain period of time, the version of program C installed on the device is not 1.0, so the program is retrieved again as version 1.1, resulting in an infinite loop.
[0147] Therefore, in order to avoid infinite loops caused by such misconfigurations, the update necessity determination unit 121 may be provided with exception handling, such as prohibiting the continuous acquisition of firmware from the same program acquisition source 406.
[0148] Figure 8 shows an example screen for setting the update determination information file of the management device in an embodiment of the present invention. The output unit 134 of the management device 102 is capable of displaying a display screen 700, which is provided with a display area 701 for registering update determination information and a display area 702 for displaying a list of update determination information.
[0149] Display area 701 includes input fields for the target device ID 401 in Figure 4, the update determination program requirements 402, the program to be updated 403, the updated version 404, the update type 405, and the communication device program 140 to be distributed to the communication device 101.
[0150] The administrator enters this information via the input unit 133 and presses the registration button 703, at which point the entered update judgment information is registered in the update judgment information file 139.
[0151] In the example shown in Figure 8, the browse button is pressed to specify a distribution file from the communication device program 140 stored in the storage device 135.
[0152] The value of program acquisition destination 406 in Figure 4 is automatically entered according to the specified distribution file. However, this is not the only way to specify the distribution file; you can also directly enter the reference URL of the communication device program 140 in the distribution file input field to specify the distribution file.
[0153] Furthermore, as mentioned above, if you add other columns to the update judgment information file 139, add these input fields to the display area 701.
[0154] Display area 702 displays the registered contents of the update judgment information file 139. In the example in Figure 8, in addition to the target device ID 401, update judgment program requirements 402, update target program 403, updated version 404, update type 405, and program acquisition source 406, the fields for deletion 704 and reordering 705 are also displayed.
[0155] Clicking the × button in the field labeled "Delete 704" will remove the update judgment information for that row from the update judgment information file 139. For example, you can delete unnecessary rows when an update is complete or when incorrect update judgment information has been registered.
[0156] Additionally, pressing the triangle button or inverted triangle button in the "Rearrange 705" field will shift the corresponding row up or down by one row.
[0157] As mentioned above, the update necessity determination process in Figure 7 shows an example where update determination information registered in higher rows of the update determination information file 139 is given priority. By providing the order reorder field 705, the administrator can change the priority of the update determination information. Providing the order reorder field 705 is not mandatory.
[0158] As shown in Figure 8, displaying the settings screen for the update judgment information file 139 makes it easy to register and delete update judgment information.
[0159] The input of registration information into the update determination information file 139 may be done by creating the update determination information file 139 on a separate external device different from the management device 102, and then storing and registering it in the management device 102.
[0160] Figure 9 shows an example screen for outputting the communication device management table of the management device in an embodiment of the present invention. The output unit 134 of the management device 102 is capable of displaying a display screen 800, and the display screen 800 displays the communication device management table 138 managed by the management device 102.
[0161] By outputting information from the communication device management table, administrators can check the programs installed on each communication device 101 and their version information.
[0162] Furthermore, in step S107 of Figure 5, the version control table 118 is updated by the update completion notification sent from the communication device 101, so the completion of the update can be confirmed on the screen in Figure 9.
[0163] By appropriately configuring the update determination information file 139 of the management device 102, flexible updates of the communication device 101 can be performed.
[0164] For example, if a bug is found in the latest program and it is necessary to revert to an older program as a temporary measure, the communication device 101 can be permitted to downgrade by specifying downgrade or any as the update type.
[0165] Furthermore, if you wish to limit the upgrade to communication devices 101 that already have the target program installed, you can specify "upgrade" to exclude communication devices 101 that do not have the program installed from the update.
[0166] This system enables not only simple upgrade processes but also flexible updates tailored to specific purposes and applications. By entrusting the determination of whether an update is necessary to the communication device 101, the processing load on the management device 102 can be reduced, and costs can be lowered. [Examples]
[0167] Example 2 describes an example in which update conditions based on the settings and operating information of the communication device 101 can also be defined in the update determination information file 139.
[0168] For example, when distributing a program to correct a malfunction in the wireless LAN interface of a communication device 101, it is conceivable to limit the update to communication devices 101 that have enabled the use of wireless LAN.
[0169] Furthermore, when distributing a program that increases the number of packet retransmissions to communication devices 101 with poor communication quality in order to improve the success rate of communication with the management device 102, it is conceivable that the update may be limited to communication devices 101 whose communication quality is below a threshold.
[0170] Thus, it may be appropriate to update the settings of the communication device 101 and the dynamically changing operational information (operating status and communication status) accordingly.
[0171] Figure 10 is an example flowchart showing the process for determining whether an update is necessary in Embodiment 2 of the present invention.
[0172] When updating a program using update conditions, the update condition 901 of the update judgment information file shown in Figure 4 is used.
[0173] Update condition 901 specifies update conditions based on the settings and operating information of the communication device 101, and the update of the communication device 101 is permitted only if these conditions are met.
[0174] For example, the update condition 901 wlanEnable=True in the update for target device ID 101-a in the first row of Figure 4 requires that the use of wireless LAN be enabled.
[0175] Therefore, this update indicates that the update will be permitted for communication device 101-a if the update judgment program version is 1.1 or higher, program A is installed, the version of program A is less than 3.0, and the wireless LAN setting is enabled.
[0176] For example, in the case of distributing a program to fix a malfunction in the wireless LAN interface as described above, it becomes possible to allow the update only if the use of wireless LAN is enabled.
[0177] Furthermore, the update condition 901 rsrp≦-100 described in the update for target device ID 101-b in the second row of Figure 4 indicates that the RSRP (Reference Signal Received Power) is -100 dBm or less.
[0178] This is an example where the communication device 101 and the management device 102 communicate via wireless communication such as LTE.
[0179] In cases where a program with increased retransmission counts is distributed to improve the communication success rate, it is also possible to limit the update to communication devices 101 whose RSRP is below a threshold.
[0180] In particular, since communication quality, such as RSRP, changes dynamically depending on the installation environment and time, defining such update conditions makes it possible to dynamically allow or prohibit updates depending on the communication status, etc.
[0181] Other examples of settings include application settings such as data acquisition cycle, packet forwarding settings such as IP address and firewall settings and routing tables, and communication settings such as APN settings.
[0182] Examples of operational information include the CPU usage, memory usage, amount of data transmitted and received, number of successful / failed communications, elapsed time since startup, internal temperature, power supply voltage, and location information of the communication device 101.
[0183] In this example, the update condition is shown in the format wlanEnable=True, but other formats are also acceptable as long as the update determination program installed on the communication device 101 can recognize it.
[0184] For example, you can use comparison operators like == or <=, and you can also use logical operators to set up multiple update conditions.
[0185] For example, to specify that the wireless LAN setting is enabled AND the RSRP is -100dBm or less, you can write (wlanEnable=True)AND(rsrp≦-100). Alternatively, to specify that the wireless LAN setting is enabled OR the RSRP is -100dBm or less, you can use expressions like (wlanEnable=True)OR(rsrp≦-100). You can also use logical operators such as && and ||.
[0186] Furthermore, multiple columns for update condition 901 may be provided to allow the definition of multiple update conditions. If the contents of the update judgment information file 139 are changed during operation, the old update judgment program may not be able to perform the update judgment correctly.
[0187] In such cases, the problem can be avoided by appropriately setting the value of requirement 402 for the update judgment program.
[0188] For example, if the update determination program cannot perform the determination process for the column of update condition 901 unless it is version 2.0 or later, setting the value of update determination program requirement 402 to 2.0 in the row using update condition 901 will allow the communication device 101 with an update determination program of a version lower than that to skip the determination process for that row.
[0189] In this way, it becomes possible to change the contents of the update judgment information file 139 even while the communication system is in operation.
[0190] The flowchart in Figure 10 illustrates the process for determining whether an update is necessary using the update conditions. In this case, after completing the version verification process for each update type in Example 1, it is determined whether the update conditions other than the version are met (S1001).
[0191] In this step, the update requirement determination unit 121 refers to the update condition 901 and determines whether the described condition is met by referring to the settings and operating information of its own device. Other processes are the same as in Example 1.
[0192] As described above, this embodiment makes it possible to dynamically perform remote program updates in accordance with the settings and operating information of the communication device 101. It becomes possible to permit updates only to communication devices 101 that meet the update conditions, making it easy to limit the target of program distribution, and also to dynamically control the trigger for update execution.
[0193] For example, as mentioned above, by pre-registering the update judgment information file 139 to distribute a program that addresses problems such as degraded communication quality, it becomes possible to quickly take countermeasures in the event of an emergency.
[0194] Furthermore, by allowing detailed settings for program distribution targets and update triggers, unnecessary program distribution can be reduced, resulting in reduced communication load and communication costs for the communication device 101 and management device 102.
[0195] In addition, while Figure 7 illustrates an example of the screen display for registering the update judgment information file 139 in Example 1, in Example 2, an input field for the update condition 901 shown in Figure 9 is provided on the same screen.
[0196] Even if the update conditions 901 are defined and entered by the administrator, the management device 102 may be configured to automatically generate the update conditions 901 based on a machine learning model or the like.
[0197] For example, the correlation between the RSRP value collected from the communication device 101 and the communication success rate between the communication device 101 and the management device 102 can be learned and analyzed. Based on the trend analysis results, an RSRP threshold that causes a significant deterioration in the communication success rate can be calculated, and the update condition 901 can be automatically generated based on this threshold. By using machine learning, the setting of the update condition 901 by the administrator can be made easier. [Examples]
[0198] Example 3 describes an embodiment that supports not only program updates in the communication device 101 but also changes to setting values.
[0199] In Example 2, we provided an example of distributing a program to correct a malfunction in the wireless LAN interface when a malfunction is detected. However, it is also possible to change the settings of the wireless LAN interface to forcibly disable it and prohibit its use.
[0200] If the CPU usage of the communication device 101 increases and some kind of abnormality is suspected, it may be possible to change the settings to stop some programs in order to reduce the CPU usage.
[0201] Thus, there are cases where it is necessary to remotely change the settings of the communication device 101 according to its settings and operating information.
[0202] To remotely change the settings, a setting file 141 for the communication device is provided in the storage device 135 of the management device 102 shown in Figure 1. In addition, the setting file acquisition destination 1201 of the update judgment information file 139 is used.
[0203] The configuration file retrieval destination 1201 indicates the location from which the communication device 101 should retrieve the configuration file when it determines that a configuration change is necessary for its own device. In the example in Figure 4, the retrieval destination is described in URL format, but, like the program retrieval destination 406, the description format is arbitrary.
[0204] Furthermore, to indicate that this is an update of configuration values rather than a program update, the update type 405 is set to "config".
[0205] The communication device 101 update necessity determination unit 121, if the update type 405 is config, determines whether its own device satisfies the conditions of update condition 901. If it does, it determines that a setting change (update) of its own device is necessary and obtains the setting file specified by the setting file acquisition destination 1201.
[0206] In Figure 4, the fourth row update condition 901, "wlanEnable=True", is an example where a configuration file (wlanDisable.zip) that disables the wireless LAN setting is applied when the communication device 101 has enabled the use of wireless LAN.
[0207] This makes it possible, for example, in cases where a malfunction in the wireless LAN interface is confirmed, to remotely change the setting to disable the wireless LAN interface, but only for communication devices 101 that have enabled the wireless LAN setting as described above.
[0208] The fifth line of Figure 4, update condition 901, "cpuUsage≧0.90", shows an example where a configuration file (stopProgramA.zip) is applied to stop program A when the CPU usage of communication device 101 is 90% or higher.
[0209] This allows the settings to be changed to stop certain programs in order to reduce CPU usage when the CPU usage of the communication device 101 increases.
[0210] In this way, by adding a column for the configuration file acquisition destination 1201 to the update judgment information file 139 and providing "config" as the update type, it becomes possible to change the settings of the communication device 101.
[0211] By appropriately setting the update condition 901, flexible configuration changes can be made according to the settings and operating information of the communication device 101.
[0212] When changing settings, the information for the program to be updated (403), the updated version (404), and the program source (406) is not used, so these fields can be left blank. However, you may use the "Program to be updated" column (403) to specify the program whose settings will be changed (updated).
[0213] Figure 11 is an example flowchart showing the process for determining whether an update is necessary in Embodiment 3 of the present invention. This process adds a step S1301, which determines whether the update format is config, to the update determination process of Embodiment 2.
[0214] In step S1301, the update necessity determination unit 121 refers to the update type 405 of the update determination information file 139 and determines whether the type is config.
[0215] If it is config (YES), proceed to step S1001 to determine whether the update condition 901 is met. If the update type 405 is not config (NO), it does not fall under any of the predetermined update types, so proceed to step S614.
[0216] If the process proceeds to step S1001 and the update condition 901 is met, and it is determined in step S612 that the device needs to be updated, the program application unit 122 of the communication device 101 retrieves the configuration file from the configuration file acquisition destination 1201, applies the configuration file to the device, and performs the configuration change.
[0217] Furthermore, if the update type is config, the changed settings will be notified to the management device 102.
[0218] According to this embodiment, flexible changes to the settings can be made according to the settings and operating information of the communication device 101. When updating the program of the communication device 101, the program file size may increase, but generally the size of the configuration file is often smaller than the program file size.
[0219] For example, if a problem occurs and can be addressed by changing a configuration value rather than updating the program, the latter can be done more quickly and at a lower cost. By supporting not only program updates but also configuration value changes, it is possible to contribute to reducing system downtime and costs.
[0220] Each of the above configurations and functions may be implemented in hardware, either partially or entirely, for example, by designing them as integrated circuits. Alternatively, each of the above configurations and functions may be implemented in software by having the processor interpret and execute programs that realize each function.
[0221] Information such as programs, tables, and files that implement each function can be stored in memory such as ROM (Read Only Memory) and RAM (Random Access Memory), in storage devices such as HDD (Hard Disk Drive) and SSD (Solid State Drive), or on recording media such as IC cards, SD cards, and DVDs. [Explanation of symbols]
[0222] 101: Communication device 102: Management device 111, 131: Communication I / F 112, 132: CPU 113, 133: Input section 114, 134: Output section 115, 135: Storage device 116: Communication device control unit 117: Communication Processing Unit 118: Version control table 119: Program Update Department 120:Update judgment information acquisition unit 121: Update necessity determination section 122: Program Application Section 123: Operation Information 136: Control Unit 137: Management device communication processing unit 138: Communication device management table 139: Update judgment information file 140: Program for communication equipment
Claims
1. A communication device connected to a management device that performs program distribution, The program update unit comprises an update determination information acquisition unit, an update necessity determination unit, and a program application unit. The update determination information acquisition unit acquires program update determination information from the management device, The update necessity determination unit determines whether the device's program needs to be updated based on the target device ID, update determination program requirements, update target program, updated version, and update type described in the update determination information, and if an update is necessary, it obtains the program from the program acquisition source described in the update determination information. The program application unit is a communication device that applies the acquired program to its own device and notifies the management device of the updated program version information.
2. The communication device according to claim 1, wherein the update necessity determination unit determines that an update is necessary when the identifier of the device itself matches the target device ID described in the update determination information, the version of the update determination program constituting the program update unit of the device itself is greater than the version of the update determination program included in the update determination information, and the update target program of the device itself satisfies the conditions indicated by the update form of the update target program included in the update determination information.
3. The communication device according to claim 2, wherein the update modes include an update mode that only allows upgrades of installed programs, an update mode that only allows new installations of programs or upgrades of installed programs, and an update mode that unconditionally allows updates, including downgrades.
4. The update necessity determination unit determines whether or not the device's program needs to be updated based on the update conditions included in the update determination information. The communication device according to claim 3, wherein the update conditions are determined using at least one of the setting information and operating information of the communication device.
5. The aforementioned configuration information includes at least one of application settings and communication settings. The communication device according to claim 4, wherein the communication settings of the communication device include at least one of the IP address, interface settings, firewall settings, packet forwarding settings and APN settings of the communication device.
6. The communication device according to claim 5, wherein the operational information includes at least one of the following: the CPU usage rate of the communication device, the memory usage rate of the communication device, the received radio wave intensity of the communication device, the amount of data transmitted and received by the communication device, the number of successful communications by the communication device, the number of failed communications by the communication device, the elapsed time since the startup of the communication device, the internal temperature of the communication device, the power supply voltage to the communication device, and the location information of the communication device.
7. The update necessity determination unit further determines whether the settings of its own device need to be updated based on the update conditions described in the update determination information, and if an update is necessary, it obtains the setting file from the setting file acquisition source described in the update determination information. The communication device according to claim 4, wherein the program application unit applies the acquired setting file to its own device and updates the setting value.
8. A communication system comprising a management device for distributing programs and at least one communication device connected to the management device, The management device includes update determination information and a program to be provided to the communication device. The communication device includes a program update unit comprising an update determination information acquisition unit, an update necessity determination unit, and a program application unit. The update determination information acquisition unit acquires program update determination information from the management device, The update necessity determination unit determines whether the device's program needs to be updated based on the target device ID, update determination program requirements, update target program, updated version, and update type described in the update determination information, and if an update is necessary, it obtains the program from the program acquisition source described in the update determination information. A communication system comprising: a program application unit that applies the acquired program to its own device and notifies the management device of the updated program version information.
9. The communication system according to claim 8, characterized in that the management device includes an input unit that accepts the input of the update determination information to be provided to the communication device and the registration of a program.
10. The management device includes a communication device management table that stores program version information notified by the communication device. The communication system according to claim 9, characterized in that it includes an output unit that outputs information from the communication device management table.
11. A communication method for updating the program of a communication device from a management device that distributes programs, The communication device obtains program update determination information from the management device, The communication device determines whether its own program needs to be updated based on the target device ID, update determination program requirements, update target program, updated version, and update type described in the update determination information, and if an update is necessary, it obtains the program from the program acquisition source described in the update determination information. A communication method characterized by comprising the steps of applying the program acquired by the communication device to itself and notifying the management device of the updated program version information.