Management device, communication device, communication system, and remote update method

By managing and processing data through the management device, the problem of flexibly defining file publishing conditions in remote updates is solved, and reliable remote update control is achieved based on the dynamic changes in the communication device's status.

CN121532747APending Publication Date: 2026-02-13HITACHI IND EQUIP SYST CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202480048134.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-13
Filing Date
2024-06-18
Publication Date
2026-02-13

AI Technical Summary

Technical Problem

In the prior art, remote updates of communication devices cannot flexibly define the conditions for file release, which may lead to the mistaken belief that the update is completed when it has actually failed, and cannot be controlled according to the dynamic changes in the status of the communication device.

Method used

The management device collects data management tables and update request management tables, combines them with the setting and operation information of the communication device, defines the conditions for document release and completion, and performs judgment and control through the update judgment and processing unit to ensure the reliable release of documents.

Benefits of technology

It enables flexible definition of file publishing and completion conditions for communication devices, and can control based on static and dynamic information to ensure reliable completion of remote updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121532747A_ABST
    Figure CN121532747A_ABST
Patent Text Reader

Abstract

The invention provides a technology capable of flexibly defining a file distribution condition and / or a completion condition for a communication device to be managed in a management device. A management device, which is connected to at least one communication device via a communication network so as to be capable of data communication with each other and which performs remote update of firmware of the communication device to be managed, is provided with: a collected data management table which manages information that is collected from the communication device and includes setting information and operation information of the communication device; and an update request management table for updating a combination of information of the communication device, information of a file issued to the communication device, an issuing condition which is a condition for starting issuing of the file to the communication device, and a completion condition which is a condition for ending issuing of the file to the communication device. A remote update request management unit that manages a remote update request indicating a request to perform a remote update of firmware to the communication device; and an update determination processing unit that, when an update confirmation notification indicating whether or not a notification of firmware update of the communication device is confirmed is received from the communication device, determines the start and end of issuing a file to the communication device on the basis of the information managed by the collected data management table and the information managed by the update request management table, and that issues the file to the communication device on the basis of the determined start and end of issuing the file to the communication device. And notifying the communication device of the determination result. The setting information is static information about applications and / or communications operating in the communication device. The operation information is information about a dynamic change in an operating state and / or a communication state of the communication device. The issuing condition and the completion condition managed by the update request management table can be defined by combining at least one piece of information including at least the operation information managed by the collection data management table.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a management device, a communication device, a communication system, and a remote update method. BACKGROUND

[0002] In recent years, a system has been constructed which collects data of various devices and apparatuses (hereinafter collectively referred to as "communication devices") provided with communication functions, which are arranged at a site such as a factory, via wireless communication, and aggregates to a management device at a remote place, thereby performing remote monitoring of the communication devices. On the other hand, in order to perform operation and maintenance of the system, there are cases where it is necessary to update firmware of the communication devices, change settings, restart, and the like. In such cases, since it takes time and effort to dispatch an administrator to the site to perform the work, there is a technique called OTA (Over The Air) (hereinafter referred to as "OTA technique") which remotely performs the work via wireless communication. In the OTA technique, an update file such as firmware is issued from the management device to the communication device via wireless communication, thereby performing remote update of the communication device.

[0003] On the other hand, there are also cases where remote update is performed only when prescribed conditions are met. As specific examples, there are cases where firmware update is performed only when the version of firmware applied in the communication device is old to a certain extent or more, and cases where firmware update and command for restart are performed only when the CPU (Central Processing Unit) usage rate of the communication device is higher than a threshold value, and it is suspected that an abnormality has occurred.

[0004] In addition, on the characteristics of the OTA technique using wireless communication, it is considered that there is a possibility that the issued file is missing / damaged due to packet loss and bit errors in the channel, and remote update fails. In this case, it is necessary to reattempt to issue the file until the remote update is normally ended. In view of these points, it is preferable that the start / end conditions for file issuance for remote update can be flexibly defined.

[0005] Therefore, there is a technique which, when remote update of a communication device is performed, decides to allow / deny issuance of firmware to the communication device depending on the kind of setting items (for example, urgency or the like) of the update target, and prohibits (ends) issuance of firmware when an update completion notification is received from the communication device (for example, Patent Literature 1). Such a conventional technique mostly allows issuance of firmware including setting changes of high urgency such as error correction, and ends the issuance in accordance with the update completion notification from the communication device.

[0006] LITERATURE OF RELATED ART

[0007] PATENT LITERATURE

[0008] Patent Literature 1: Japanese Patent Application Laid-Open No. 2016-126584 SUMMARY

[0009] PROBLEMS TO BE SOLVED BY THE INVENTION

[0010] In the technology described in Patent Literature 1, it is determined whether or not to allow the distribution of firmware according to the kind of the set item of the update object. Therefore, it is possible to control the start of distribution according to the static set kind, but it is not possible to cope with remote update at the time of the rise of the CPU usage rate exemplified above and the like, and to control the start / end of distribution according to the dynamically changing operation information of the communication device. In addition, in the technology described in Patent Literature 1, the completion of firmware update is judged by the communication device itself. However, as described above, in the case where the distributed file is damaged due to a bit error or the like in the channel, there is a case where the communication device interprets the update as completed, but the update actually fails. That is, in the technical solution described in Patent Literature 1, there is a possibility that the remote update is erroneously considered as completed. Since there is a case where the communication device cannot correctly determine whether or not the distributed file is damaged, it is preferable that the completion of the update is not judged by the communication device itself, but is confirmed by the management device.

[0011] The present application has been made in view of the above problems, and aims to provide a technology capable of flexibly defining the distribution condition and / or the completion condition of a file of a communication device as a management object in a management device.

[0012] MEANS OF SOLVING THE PROBLEM

[0013] The management device of the present application is a device which is data-communicably connected to at least one or more communication devices via a communication network, and which performs remote update of firmware of the communication devices as management objects, and includes: a collection data management table which manages information collected from the communication devices, including set information and operation information of the communication devices; an update request management table which manages, as a remote update request indicating a request for the remote update of firmware of the communication devices, a combination of the information of the communication devices, information of a file distributed to the communication devices, a condition for starting the distribution of the file to the communication devices, i.e., a distribution condition, and a condition for ending the distribution of the file to the communication devices, i.e., a completion condition; and an update judgment processing section which, in a case where an update confirmation notification indicating a notification for confirming the firmware update of the communication devices is received from the communication devices, judges the start and the end of the distribution of the file to the communication devices, according to the information managed by the collection data management table and the information managed by the update request management table, and notifies the communication devices of the judgment result. The set information is static information about an application and / or communication operating in the communication devices. The operation information is information about a dynamic change in an operating state and / or a communication state of the communication devices. The distribution condition and the completion condition managed by the update request management table can be defined by combining one or more of the information including the operation information managed by the collection data management table.

[0014] Further, the communication device of the present application is a device which is data-communicably connected with a management device via a communication network, and which is remotely updated in firmware by the management device, and includes a collection data notification processing section which periodically notifies the management device of setting information and / or operation information of the device, and an update confirmation processing section which periodically notifies the management device of an update confirmation notification indicating notification of confirmation of whether or not the device is to be updated in firmware, and applies a file issued from the management device in response to the update confirmation notification to the device. The setting information is static information regarding applications and / or communication operating in the device. The operation information is information of dynamic changes regarding the operating state and / or the communication state of the device.

[0015] Other technical problems and their solutions disclosed in the present application will become apparent from the specific embodiments and drawings.

[0016] Effects of Invention

[0017] According to the present application, it is possible to flexibly define the file issuance conditions and / or completion conditions for the communication device as a management object in the management device. BRIEF DESCRIPTION OF DRAWINGS

[0018] Figure 1 is a diagram showing an example of the system overall structure of the communication system of Embodiments 1 to 3.

[0019] Figure 2 is a diagram showing an example of the structure of the collection data management table in Embodiment 1.

[0020] Figure 3 is a diagram showing an example of the structure of the update request management table in Embodiment 1.

[0021] Figure 4 is a sequence diagram showing an example of the flow of the update confirmation processing in the case where remote updating is not performed.

[0022] Figure 5 is a sequence diagram showing an example of the flow of the update confirmation processing in the case where remote updating is performed.

[0023] Figure 6 is a flowchart showing an example of the flow of the update judgment processing in Embodiment 1.

[0024] Figure 7 is a diagram showing an example of an input screen for the login operation to the update request management table.

[0025] Figure 8 is a diagram showing an example of the structure of the update request management table in Embodiment 2.

[0026] Figure 9is a flowchart showing an example of a flow of the collection data notification processing in Embodiment 2.

[0027] Figure 10 is a diagram showing an example of a structure of the update request management table in Embodiment 3.

[0028] Figure 11 is a flowchart showing an example of a flow of the update judgment processing in Embodiment 3. DETAILED DESCRIPTION

[0029] In the following description, the "interface device" can be one or more interface devices. The one or more interface devices can be at least one of the following.

[0030] • One or more I / O (Input / Output) interface devices. The I / O (Input / Output) interface device is an interface device corresponding to at least one of an I / O device and a display computer at a remote location. The I / O interface device corresponding to the display computer can be a communication interface device. The at least one I / O device can be a user interface device, such as at least one of an input interface device such as a keyboard and a pointing device and an output interface device such as a display device.

[0031] • One or more communication interface devices. The one or more communication interface devices can be one or more communication interface devices of the same kind (e.g., one or more NICs (Network Interface Cards)), or two or more communication interface devices of different kinds (e.g., a NIC and an HBA (Host Bus Adapter)).

[0032] In addition, in the following description, the "main storage device" is one or more memory devices as an example of one or more storage devices, and typically can be a main storage device. At least one of the memory devices in the main storage device can be a volatile memory device, or a non-volatile memory device.

[0033] In addition, in the following description, the "auxiliary storage device" is one or more auxiliary storage devices as an example of one or more storage devices. The auxiliary storage device typically can be a non-volatile storage device (e.g., a persistent storage device), and specifically, for example, can be an HDD (Hard Disk Drive), an SSD (Solid State Drive), an NVME (Non-Volatile Memory Express) drive, or a SCM (Storage Class Memory).

[0034] In addition, in the following description, "storage device" can be at least a main storage device among a main storage device and an auxiliary storage device.

[0035] In addition, in the following description, "CPU" can be one or more processor devices. At least one processor device can typically be a microprocessor device such as a CPU (Central Processing Unit), but can also include other kinds of processor devices such as a GPU (Graphics Processing Unit). At least one processor device can be single-core or multi-core. At least one processor device can be a processor core. At least one processor device can be a general-purpose processor device such as a circuit (e.g., FPGA (Field-Programmable Gate Array), CPLD (Complex Programmable Logic Device), or ASIC (Application Specific Integrated Circuit)) described by a set of gates described in a hardware description language that performs a part or all of processing.

[0036] In addition, in the following description, sometimes a function is described using the expression "xxx section", but the function can be implemented by executing one or more computer programs (hereinafter referred to as "programs") using a CPU, can be implemented using one or more hardware circuits (e.g., FPGA or ASIC), or can be implemented using a combination thereof. In the case where the function is implemented by executing the program using the CPU, the function can also be considered as at least a part of the CPU because the prescribed processing is executed using the storage device and / or the interface device, and the like as appropriate. The processing described with the function as the subject can be processing executed by the CPU or a device having the CPU. The program can be installed from a program source. The program source can be, for example, a program distribution computer or a recording medium (e.g., a non-transitory recording medium) that is readable by a computer. The description of each function is only an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0037] In addition, in the following description, sometimes a function is described using the expression "xxx section", but the function can be implemented by executing one or more computer programs (hereinafter referred to as "programs") using a CPU, can be implemented using one or more hardware circuits (e.g., FPGA or ASIC), or can be implemented using a combination thereof. In the case where the function is implemented by executing the program using the CPU, the function can also be considered as at least a part of the CPU because the prescribed processing is executed using the storage device and / or the interface device, and the like as appropriate. The processing described with the function as the subject can be processing executed by the CPU or a device having the CPU. The program can be installed from a program source. The program source can be, for example, a program distribution computer or a recording medium (e.g., a non-transitory recording medium) that is readable by a computer. The description of each function is only an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0037] In addition, in the following description, sometimes a function is described using the expression "xxx section", but the function can be implemented by executing one or more computer programs (hereinafter referred to as "programs") using a CPU, can be implemented using one or more hardware circuits (e.g., FPGA or ASIC), or can be implemented using a combination thereof. In the case where the function is implemented by executing the program using the CPU, the function can also be considered as at least a part of the CPU because the prescribed processing is executed using the storage device and / or the interface device, and the like as appropriate. The processing described with the function as the subject can be processing executed by the CPU or a device having the CPU. The program can be installed from a program source. The program source can be, for example, a program distribution computer or a recording medium (e.g., a non-transitory recording medium) that is readable by a computer. The description of each function is only an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0037] In addition, in the following description, sometimes a function is described using the expression "xxx section", but the function can be implemented by executing one or more computer programs (hereinafter referred to as "programs") using a CPU, can be implemented using one or more hardware circuits (e.g., FPGA or ASIC), or can be implemented using a combination thereof. In the case where the function is implemented by executing the program using the CPU, the function can also be considered as at least a part of the CPU because the prescribed processing is executed using the storage device and / or the interface device, and the like as appropriate. The processing described with the function as the subject can be processing executed by the CPU or a device having the CPU. The program can be installed from a program source. The program source can be, for example, a program distribution computer or a recording medium (e.g., a non-transitory recording medium) that is readable by a computer. The description of each function is only an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0037] In addition, in the following description, sometimes a function is described using the expression "xxx section", but the function can be implemented by executing one or more computer programs (hereinafter referred to as "programs") using a CPU, can be implemented using one or more hardware circuits (e.g., FPGA or ASIC), or can be implemented using a combination thereof. In the case where the function is implemented by executing the program using the CPU, the function can also be considered as at least a part of the CPU because the prescribed processing is executed using the storage device and / or the interface device, and the like as appropriate. The processing described with the function as the subject can be processing executed by the CPU or a device having the CPU. The program can be installed from a program source. The program source can be, for example, a program distribution computer or a recording medium (e.g., a non-transitory recording medium) that is readable by a computer. The description of each function is only an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0038] In addition, in the following description, processing is sometimes explained with a program as the subject, but the processing explained with the program as the subject can be processing performed by a CPU or a device having the CPU. In addition, two or more programs can be implemented as one program, and one program can be implemented as two or more programs.

[0039] In addition, in the following description, a "communication system" can be a system implemented on a group of physical computing resources (for example, a cloud platform) (for example, a cloud computing system), or a system composed of one or more physical computing resources (for example, an on-premise system). The "display" of display information by the communication system can be display of the display information on a display device possessed by a computer, or transmission of the display information by the computer to a display computer (in the latter case, display of the display information by the display computer).

[0040] <Summary of the Invention>

[0041] First, the principle (summary) of the present application is explained.

[0042] The management device periodically collects operation information and / or setting information of the communication devices, and manages the information using a collection data management table. In addition, a remote update request logged by a system administrator is managed using an update request management table. The update request is composed of a communication device as an update target, information of a file as a distribution target, and a "distribution condition" for starting distribution of the file, and a "completion condition" for ending distribution of the file.

[0043] Then, the update judgment processing section of the management device compares the collection information of the communication devices recorded in the collection data management table with the distribution condition / completion condition of the update request recorded in the update request management table, and judges the start / end of distribution of the file to the communication devices. The communication devices periodically make a confirmation notification (inquiry) of the presence / absence of an update to the management device, and when the management device receives the update confirmation notification, the management device performs judgment of the start / end (whether or not an update is needed) of distribution of the file to the communication device using the update judgment processing section.

[0044] The above-described release condition is, for example, "the firmware version applied in the communication system is below 1.12", "the CPU usage rate of the communication device is 90% or more", and can define not only the static setting information of the communication device but also the dynamic operation information and the like. In the latter example, if the latest CPU usage rate collected from the communication device is 90% or more, the update file is started to be released to the communication device. On the other hand, the completion condition is "the firmware version applied in the communication system is 1.13", "the CPU usage rate of the communication device is less than 90%", and can define the dynamic operation information and the like as well as the release condition. In the former example, if the firmware version information collected from the communication device has been updated to "1.13", it is determined that the remote update has been normally completed, and the release of the file is ended. In the latter example, if the CPU usage rate of the communication device after the release of the file is reduced to less than 90%, it is determined that the problem of the increase in the CPU usage rate has been solved by the remote update, and the release of the file is ended. On the other hand, in a case where the completion condition is not satisfied, the release of the file to the same communication device is retried. Thus, even if the update fails due to the absence / damage of the released file and the like, the remote update can be retried until the update is normally completed.

[0045] Thus, by setting the definitions of the "release condition" and the "completion condition" in the management device, the conditions can be defined for the dynamic operation information and / or the setting information of the communication device, and thus the start / end of the release of the file to the communication device can be flexibly controlled. In the present application, the release can be controlled in accordance with the static communication device information, and the start / end of the release of the file can be controlled in accordance with the dynamic operation information of the communication device such as the CPU and memory usage rates, the received signal strength of the wireless communication, and the like. Depending on the file to be released, not only the firmware update but also the setting change and the remote control (command to restart and the like) of the communication device can be applied, and the dynamic remote update / control can be realized in accordance with the operation state of the communication device. In addition, by the definition of the completion condition, the release of the file to the communication device can be reliably realized as described above.

[0046] In addition, as the operation information, in addition to the CPU and memory usage rates and the received signal strength of the wireless communication, the amount of transmitted / received data and the number of communication successes / failures, the elapsed time after the start, the internal temperature and the power supply voltage, the position information of the communication device, and the like can be exemplified. The operation information indicates the operation state and the communication state of the communication device, and is not limited to a specific content. In addition, as the setting information, in addition to the firmware version of the communication device, the application setting such as the acquisition / collection period of data, the IP address and the firewall setting, the packet forwarding setting such as the routing table, the communication setting such as the APN (Access Point Name), and the like can be exemplified, and is not limited to a specific content.

[0047] Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings.

[0048] In addition, in the following description, for the same or similar structural reference numerals, repeated descriptions are sometimes omitted.

[0049] Furthermore, when multiple elements have the same or identical function, different suffixes are sometimes added to the same reference numeral to distinguish these elements. On the other hand, when it is not necessary to distinguish these multiple elements, the suffixes are sometimes omitted in the description.

[0050] Example 1

[0051] <Example of the structure of communication system 100>

[0052] First, regarding the structural examples of the communication system 100 in Embodiment 1 and Embodiments 2-3 described later, refer to... Figure 1 This will be explained. Furthermore, Embodiment 1 is an implementation of the basic form of remote updates of the communication device 101 by the management device 102.

[0053] Figure 1 This is a diagram that roughly represents an example of the overall system structure of the communication system 100.

[0054] (Example of overall system structure)

[0055] The communication system 100 is a computer system capable of remotely monitoring and updating the operation status of one or more communication devices 101 that are managed, and is implemented by multiple computer devices or server devices, each having the structures described below.

[0056] Communication system 100 Figure 1 As shown in the example, the configuration includes at least: one or more communication devices 101-a, 101-b, 101-c...101-n (hereinafter collectively referred to as "communication device 101" when referred to together or without special distinction); and a management device 102, which is wired and / or wirelessly interconnected with the one or more communication devices 101 via a suitable communication network (hereinafter referred to as "network") such as the Internet or a dedicated line, and records / manages various information including operational information collected from each communication device 101, thereby performing remote monitoring and remote updating of the one or more communication devices 101.

[0057] In the communication system 100, each communication device 101 sends its own operation information to the management device 102. Then, the management device 102 records / manages the information collected from each communication device 101, thereby providing remote monitoring services.

[0058] In addition, in the communication system 100, each communication device 101 periodically sends an update confirmation notification to the management device 102, inquiring whether there is an update available for itself. Upon receiving the update confirmation notification from each communication device 101, the management device 102 responds to the communication device 101 to check for an update. If an update exists for the communication device 101, the management device 102 attaches the release document related to the update in its response. This enables remote updates to the communication devices 101.

[0059] In addition, the management device 102 and each communication device 101 are wirelessly connected to the network via well-known communication equipment (not shown), but they can also be connected via wired connections.

[0060] In addition, the management device 102 can be installed at the same site as the communication device 101, or it can be configured to be installed in other locations such as the cloud.

[0061] In addition, in this embodiment, as Figure 1 As shown, the management device 102 and each communication device 101 constituting the communication system 100 are each composed of a single device. However, for example, the management device 102 and / or each communication device 101 may also be composed of multiple devices.

[0062] In addition, in this embodiment, as Figure 1 As shown, the management device 102 and the communication device 101 are constructed from separate devices. However, one of the communication devices 101 constituting the communication system 100 and the management device 102 may also be constructed from the same device. In this case, for example, one of the communication devices 101 may be configured to include some or all of the functions handled by the management device 102. Similarly, for example, the management device 102 may also be configured to include some or all of the functions handled by the communication device 101.

[0063] In addition, in this embodiment, as Figure 1 As shown, multiple communication devices 101 are connected to a single management device 102. However, in the communication system 100, the number of communication devices 101 connected to a single management device 102 only needs to be one or more. That is, the communication system 100 can be structured such that only one communication device 101 is connected to a single management device 102.

[0064] Furthermore, the management device 102 and each communication device 101 constituting the communication system 100 can also be connected to other computer devices or server devices (hereinafter referred to as "other devices") via a network for data communication. In this case, the other devices can be wirelessly connected to the network via well-known communication equipment or wired connection.

[0065] (Example of hardware structure of management device 102 and communication device 101)

[0066] Next, an example of a hardware structure of the management device 102 and each communication device 101 that constitute the communication system 100 will be described.

[0067] The communication device 101 is an apparatus that operates in a site such as a factory, saves data (for example, temperature data) acquired from the site and its own operation information, and the like in a data packet and transmits it to the management device 102, and has a communication function with the management device 102.

[0068] The communication device 101 has various structures corresponding to acquired data and roles. For example, in the case of monitoring a site temperature, it can be in a form equipped with a temperature sensor or the like.

[0069] The management device 102 has a communication function with the communication device 101, is a device that records / manages various information such as site data and operation information collected from the communication device 101, and receives an update confirmation notification transmitted from the communication device 101, and performs response processing of a judgment result notification on whether or not update is needed.

[0070] The management device 102 and each communication device 101 are realized by one general-purpose computer device. In the following description, it is assumed that the management device 102 and each communication device 101 are realized by one general-purpose computer device equipped with one or more CPUs (112, 122), one or more storage devices (115, 125), one or more interface devices (111, 121, and the like), and a wired or wireless communication line connecting them.

[0071] That is, the management device 102 and each communication device 101 have a storage device (115, 125) composed of a main storage device and an auxiliary storage device, an interface device (111, 121, and the like), and a CPU (112, 122) connected thereto.

[0072] The auxiliary storage device is an auxiliary storage device composed of a nonvolatile storage element such as a flash memory. Specific examples of the auxiliary storage device can be SSD (Solid State Drive) and HDD (Hard Disk Drive), and the like. The auxiliary storage device at least stores an application program (116, 126). The application program (116, 126) is a program that realizes a function required by the communication system 100.

[0073] That is, the application program (116, 126) is executed by the CPU (112, 122), and thereby various processes described later are executed.

[0074] The application 116 is a program that manages various settings of the acquisition method and the acquisition period of the collected data, and performs acquisition processing using the CPU 112 connected via the internal bus. For example, the acquisition method of the field data and the operation information transmitted by the management device 102, or the transmission schedule of the information is managed by the application 116.

[0075] The application 126 is a program that provides various services applied to the data and the operation information collected from the communication device 101 to the user. For example, in the case where the application 126 is a program that provides the average value of the field data such as the temperature received from the communication device 101 per unit time, the application 126 performs data analysis processing such as calculation of the average value from the value of the collected data.

[0076] In addition, the applications (116, 126) can be installed from a program source. The program source can be, for example, a program distribution computer or a computer-readable recording medium, or the like. In addition, the applications (116, 126) can be constituted by a device driver, an operating system, various applications located thereon, and a library that provides common functions to these programs. Furthermore, two or more programs can be implemented as one application (116, 126), and one application (116, 126) can be implemented as two or more programs.

[0077] The main storage device, that is, the memory, is mainly constituted by a volatile storage element such as a RAM (Random Access Memory). In the main storage device, data indicating various information read from the auxiliary storage device, and various data acquired from other devices and terminals, and the like are temporarily held.

[0078] The CPU (112, 122) is a processor device such as a CPU (Central Processing Unit) and various co-processors (Co-processor). The CPU (112, 122) calls various computer programs including the applications (116, 126) to the main storage device and executes, thereby functioning as a control section that performs comprehensive control of the communication system 100 itself, and performs various processing such as arithmetic processing and judgment processing.

[0079] The interface device includes a communication interface device (hereinafter referred to as a "communication I / F") (111, 121) that is connected to a network and performs communication with other devices and terminals, and the like, and an I / O interface device that functions as an input section (113, 123) and an output section (114, 124) described later.

[0080] The communication I / F (111, 121) mutually converts between a digital signal and a wireless signal in a case where it performs packet transmission and reception with the management apparatus 102 or the communication apparatus 101 via wireless communication, for example, and is constituted by a transmission section that converts generated digital data into a wireless signal and transmits it, and a reception section that extracts digital data from a received wireless signal. In addition, its communication means is arbitrary such as LTE (registered trademark), Ethernet (registered trademark), WiFi (registered trademark), an optical communication line, and the like, and can be a form in which a plurality of communication I / Fs (111, 121) are mounted in correspondence with the use. For example, it can be a structure in which a plurality of communication I / Fs (111, 121) are provided in order to prevent communication disconnection or the like.

[0081] In addition, the communication apparatus 101 can be a stand-alone apparatus, or can be an embedded device. In addition, as described above, the structure of the communication apparatus 101 is various in correspondence with the kind of the acquired field data and the like, and can be a structure including a camera module or a temperature sensor, or an acceleration sensor, or the like, for example.

[0082] (Functional module example of management apparatus 102)

[0083] Next, an example of a module of each function that the management apparatus 102 has will be described. In addition, each module described below does not indicate a structure of a hardware unit, but indicates a module of a functional unit.

[0084] The management apparatus 102 is constituted mainly by each functional module of a control section (not shown) realized by the above-described CPU 122, a storage section (not shown) realized by the above-described storage apparatus 125, a communication section (not shown) realized by the above-described communication I / F 121, and a user interface section (not shown) constituted by the input section 123 and the output section 124.

[0085] The control section executes various data processing based on a program and data held in the storage section and data acquired by the communication section. The control section also functions as an interface of the storage section and the communication section.

[0086] The control section has the functional modules of a communication processing section 127 and an update judgment processing section 128 as shown in Figure 1

[0087] The communication processing section 127 executes various processing relating to communication with each communication apparatus 101 and other apparatuses. Specific examples of the processing executed by the communication processing section 127 can be packet analysis processing such as packet grouping processing at the time of transmission, and judgment of whether or not a data packet is destined for the apparatus, at the time of reception, and the like.

[0088] ​The update judgment processing section 128 judges whether or not the communication device 101 needs to be updated, i.e., the start / end of the file distribution, when it receives a notification called update confirmation notification (details will be described later) from each communication device 101, with reference to the collection data management table 129 and the update request management table 130 described later. At this time, the update judgment processing section 128 refers to the update request management table (details will be described later), judges "needs to be updated" if the distribution condition is satisfied and the completion condition is not satisfied, and notifies the communication device 101 of the response of "needs to be updated (there is a distribution file)". On the other hand, in the case where the distribution condition is not satisfied or the completion condition is satisfied, the update judgment processing section 128 judges "does not need to be updated", and notifies the communication device 101 of the response of "does not need to be updated (there is no distribution file)". These processes performed by the update judgment processing section 128 are called update judgment processing. Details of the update judgment processing will be described later in association with Figure 6 , 11 are described later.

[0089] The control section is configured with the CPU 122, and these functional modules can be realized by executing a prescribed application program 126. Alternatively, the control section can be configured with a logic circuit such as an FPGA (Field Programmable Gate Array) instead of the CPU 122. Further, the control section can be configured with a combination of the CPU 122 and the logic circuit.

[0090] The storage section is configured with a storage device 125 composed of a main storage device (memory) and an auxiliary storage device (persistent storage device), for example, and stores programs that supply various processing commands to the control section and data that represents various information used in the processes performed by the control section.

[0091] The storage section has at least the collection data management table 129 and the update request management table 130 for each functional module.

[0092] The collection data management table 129 is a table that records / manages the field data and operation information and the like collected from each communication device 101. For example, the collection data of each communication device 101 included in the data packet received by the communication processing section 127 from each communication device 101 is recorded in the collection data management table 129. Details of the structure of this collection data management table 129 will be described later in association with Figure 2 are described later.

[0093] The update request management table 130 is a table that records / manages a remote update request for the communication device 101 logged in by an administrator. Specifically, when a remote update request is accepted via the input section 123, the input screen for logging an operation of the update request management table 130 is output via the output section 124, and the remote update request is recorded in the update request management table 130. The remote update request is constituted by an identifier of the communication device 101 as an update object, file information as a distribution object, and a "distribution condition" for starting distribution of the file and a "completion condition" for ending distribution of the file. The detailed structure of the update request management table 130 is described later in association with Figure 3 , 8 , 10. In addition, an example of the input screen for logging a remote update request in the update request management table 130 is described later in association with Figure 7 .

[0094] The control section reads / writes these information in the storage section, whereby various processes can be executed.

[0095] The communication section is responsible for communication processing with each communication device 101 via the Internet (an example of a network). The communication section is constituted by, for example, a NIC (Network Interface Card) and an HBA (Host Bus Adapter), and the like.

[0096] The user interface section is constituted by each functional module of the input section 123 and the output section 124.

[0097] The input section 123 is responsible for processes relating to input of a user's input operation and the like in processes relating to a user interface. The input section 123 is constituted by, for example, a keyboard and a pointing device, a touch panel, and the like, and detects various operations of a user.

[0098] The output section 124 is responsible for processes relating to output of various screens and output of sound on a display device and the like in processes relating to a user interface. The output section 124 is constituted by, for example, a liquid crystal display or a touch screen, and the like.

[0099] In addition, in a case where, for example, input information from an external device is received via the communication I / F 121 and output information is provided to the external device, the input section 123 and the output section 124 are not necessarily mounted.

[0100] That is, each constituent element of the management device 102 is realized with hardware including the CPU 122, the main storage device (memory) and the auxiliary storage device (persistent storage device) of the storage device 125, a wired or wireless communication line and an interface device that connect them, and software that stores a process command for an arithmetic unit in the storage device 125.

[0101] In this embodiment, the functions of the management apparatus 102 are assumed to be implemented integrally by one computer apparatus. However, the functions can also be implemented by a plurality of computer apparatuses or server apparatuses connected to each other. In addition, the management apparatus 102 can be a structure including a general-purpose computer apparatus such as a laptop PC and a Web browser installed therein, or a structure including a Web server and various portable devices.

[0102] That is, the above Figure 1 As an example, it is assumed that one management apparatus 102 is responsible for providing a service of collecting data of applications and for remotely updating both the communication apparatuses 101, but the communication system 100 can be configured, for example, in a form in which a management apparatus 102 responsible only for the former, that is, providing a service, and a management apparatus 102 responsible only for the latter, that is, remote updating, are provided separately. Therefore, it is not necessary for one management apparatus 102 to include Figure 1 all the structures exemplified in the above.

[0103] In addition, the above description of each function is only an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0104] In addition, the management apparatus 102 can further have other functions in addition to the above various functions. For example, the management apparatus 102 can be configured in a form including a part of various functions possessed by the communication apparatus 101 as described above.

[0105] (Functional Module Example of Communication Apparatus 101)

[0106] Next, an example of a module of each of the various functions possessed by the communication apparatus 101 will be described. In addition, each module described below is not a structure of a hardware unit, but a module of a functional unit.

[0107] The communication apparatus 101 is configured to mainly have a control section (not shown) implemented by the above-described CPU 112, a storage section (not shown) implemented by the above-described storage apparatus 115, a communication section (not shown) implemented by the above-described communication I / F 111, and a user interface section (not shown) constituted by the input section 113 and the output section 114, each of which is a functional module.

[0108] The control section performs various data processing based on programs and data saved in the storage section and data acquired by the communication section. The control section also functions as an interface of the storage section and the communication section.

[0109] The control section has, as shown in Figure 1 the drawing, a communication processing section 117, a collection data notification processing section 118, and an update confirmation processing section 119, each of which is a functional module.

[0110] The communication processing section 117 performs various processes relating to communication with the management device 102 and other devices, such as transmission and reception processing of various data in communication with the management device 102. Specific examples of the processes performed by the communication processing section 117 include packetizing processing at the time of transmission, and packet analysis processing such as determining whether a data packet is intended for this device at the time of reception.

[0111] The collection data notification processing section 118 performs processes of generating information to be notified to the management device 102 based on a transmission schedule of a method of acquiring data managed by the application 116, and instructing the communication processing section 117 to transmit the information at a prescribed timing. These processes performed by the collection data notification processing section 118 are referred to as collection data notification processing. Details of the collection data notification processing are described later in association with Figure 9 The collection data notification processing section 118 performs processes of generating information to be notified to the management device 102 based on a transmission schedule of a method of acquiring data managed by the application 116, and instructing the communication processing section 117 to transmit the information at a prescribed timing. These processes performed by the collection data notification processing section 118 are referred to as collection data notification processing. Details of the collection data notification processing are described later in association with

[0112] The update confirmation processing section 119 periodically transmits a confirmation notification of whether there is an update to the management device 102. Specifically, the update confirmation processing section 119 issues a transmission command of the update confirmation notification to the communication processing section 117, whereby update confirmation to the management device 102 is realized. In addition, in the case where a response of "update required (there is a release file)" is obtained from the management device 102 in correspondence with the update confirmation notification, the update confirmation processing section 119 applies the release file attached to the response to this device. For example, in the case where the release file is a firmware, firmware update processing is performed, and in the case where the release file is a script for performing a restart process, the restart process is performed by executing the script. The kind of the release file is not limited to a specific content / form, and can be arbitrary. On the other hand, in the case where the management device 102 replies with "no update required (there is no release file)", no update processing is performed, and the transmission processing of the update confirmation notification is performed again after a certain time elapses. These processes performed by the update confirmation processing section 119 are referred to as update confirmation processing. Details of the update confirmation processing are described later in association with Figure 4 、 5 .

[0113] The control section is configured by the CPU 112, and is able to realize the functional modules by executing the prescribed application 116. In addition, the control section can be configured by a logic circuit such as an FPGA (Field Programmable Gate Array) instead of the CPU 112. In addition, the control section can be configured by a combination of the CPU 112 and the logic circuit.

[0114] The storage section is constituted by, for example, a storage device 115 constituted by a main storage device (memory) and an auxiliary storage device (persistent storage device), and stores programs that supply various processing commands to the control section, and data that represents various information used in processing performed by the control section.

[0115] The control section reads and writes these data in the storage section, whereby it can perform various processing.

[0116] The communication section is responsible for communication processing with the management device 102 and other devices, etc. via the Internet (an example of a network). The communication section is constituted by, for example, a NIC (Network Interface Card) and an HBA (Host Bus Adapter), etc.

[0117] The user interface section is constituted by functional modules including the input section 113 and the output section 114.

[0118] The input section 113 is responsible for processing related to input of the user's input operation, etc. in processing related to the user interface. The input section 113 is constituted by, for example, a keyboard and a pointing device, a touch panel, etc., and detects various operations of the user.

[0119] The output section 114 is responsible for processing related to output of various screens displayed on a display device and output of sound, etc. in processing related to the user interface. The output section 114 is constituted by, for example, a liquid crystal display or a touch screen, etc.

[0120] In addition, in cases such as remote login of the communication device 101 from other external devices, and cases where input information from external devices is accepted via the communication I / F 111 and output information is provided to external devices, etc., the input section 113 and the output section 114 are not necessarily mounted.

[0121] That is, each of the constituent elements of the communication device 101 is realized by hardware including the CPU 112, the storage device 115 including the main storage device (memory) and the auxiliary storage device (persistent storage device), a wired or wireless communication line and an interface device that connects them, and software that supplies processing commands to the arithmetic unit, which is stored in the storage device 115.

[0122] In the present embodiment, it is assumed that each function of the communication device 101 is realized integrally by one computer device, and a description is given. However, each function can be realized by a plurality of computer devices or server devices connected to each other. In addition, the communication device 101 can be a structure including a general-purpose computer device such as a laptop PC and a Web browser installed therein, or a structure including a Web server and various portable devices.

[0123] In addition, the above description of each function is merely an example, and a plurality of functions can be combined into one function, or one function can be divided into a plurality of functions.

[0124] In addition, the communication device 101 can further have other functions in addition to the above-described various functions. For example, the communication device 101 can be configured in a form including a part of the various functions that the management device 102 has.

[0125]

[0126] Next, the use of the collection data management table 129 and the update request management table 130 will be described. Figures 2-3 An example of the structure of the collection data management table 129 and the update request management table 130 managed by the management device 102 will be described.

[0127] (Structure Example of Collection Data Management Table 129)

[0128] Figure 2 is a diagram showing an example of the structure of the collection data management table 129 in Embodiment 1.

[0129] As described above, the collection data management table 129 is a table that records / manages data collected from the communication devices 101.

[0130] The communication device ID 201 indicates an identifier of the communication device 101 that is the transmission source of the collected data. Figure 2 In this embodiment, the identifier of the communication device 101 is exemplified by the suffix part of Figure 1 , but the identifier can be any form such as a manufacturing number of the communication device 101, an IP address assigned to the communication I / F 111, and the like. For example, Figure 2 The row of Figure 1 "Communication device a" indicates data collected from the communication device 101-a of

[0131] The time stamp 202 indicates the time when the collected data is received from each communication device 101. Figure 2 In this embodiment, the time is exemplified by the form of "2023 / 07 / 25 13:01:10", but the form of the time can be any form such as UNIX time. In addition, it is not limited to the time when the management device 102 receives the collected data, and in the case where the communication device 101 saves the transmission time or the like as the time stamp 202 at the time of transmitting the data, the time information can also be recorded in this field.

[0132] The firmware version 203, the collection period [sec] 204, the CPU usage rate 205, and the RSRP [dBm] 206 indicate the operation information and the setting information collected from the communication device 101. The firmware version 203 indicates the version information of the firmware applied in the communication device 101. The collection period [sec] 204 indicates a set value regarding the period for transmitting the collection data to the management device 102. The CPU usage rate 205 indicates the usage rate of the CPU 112 in the communication device 101. The RSRP [dBm] 206 indicates the received signal strength (Reference Signal Received Power; RSRP) in the communication device 101 (an example of a case where the communication device 101 communicates with the management device 102 via wireless communication such as LTE). However, Figure 2 The kind of the collection data shown is only an example, and in addition to this, the memory usage rate, the data transmission / reception amount, the internal temperature, and the like, which are the operation information, and the IP address and the like, which are the setting information, in the communication device 101 can be collected / managed. The collection data managed with the collection data management table 129 is not limited to a specific kind, and can be arbitrarily decided according to the communication system 100 constructed. In addition, Figure 2 In the example of the collection data management table 129, only one row of data is shown for each communication device 101, but the collection data can be recorded in multiple rows for the same communication device 101. In particular, in a case where the data collected from each communication device 101 is managed with the collection data management table 129 not only for the latest collection data but also for the history, the collection data can be recorded in multiple rows for each communication device 101.

[0133] In addition, Figure 2 In the collection data management table 129, a simple identifier of each field is written in parentheses in the first row. Thereafter, the simple identifier is used to define the issue condition and the completion condition in the update request management table 130 described below. Figure 3 In the update request management table 130 described below, the simple identifier is used to define the issue condition and the completion condition. For example, "firmwareVer <= 1.12" is to judge whether the firmware version 203 applied in the communication device 101 that is the judgment object is below "1.12" with reference to the firmware version 203 field in the collection data management table 129. Figure 2 In the update request management table 130 described below, the simple identifier is used to define the issue condition and the completion condition. For example, "firmwareVer <= 1.12" is to judge whether the firmware version 203 applied in the communication device 101 that is the judgment object is below "1.12" with reference to the firmware version 203 field in the collection data management table 129. Figure 2 The simple identifier is defined for convenience of explanation in the collection data management table 129, but whether or not the definition is made, and the naming rule are arbitrary.

[0134] (Structure Example of Update Request Management Table 130)

[0135] Figure 3 is a diagram indicating an example of the structure of the update request management table 130 in Embodiment 1.

[0136] As described above, the update request management table 130 is a table that manages the identifier of the communication device 101 as an update target, the information of the file as a distribution target, and the "distribution condition" that starts distribution of the file, and the "completion condition" that ends distribution of the file.

[0137] The communication device ID 301 indicates the identifier of the communication device 101 as an update target. The form of recording is in accordance with the communication device ID 201. However, in the update request management table 130, it is permissible to specify the communication device 101 with a wildcard, Figure 2 " " indicates that all of the communication devices 101 are update targets. For example, Figure 3 The row of "communication device a" indicates an update request that is judged only for the communication device 101-a, and the row of " " indicates an update request that is judged for all of the communication devices 101-a to 101-c, that is, all of the communication devices 101. Figure 3

[0138] The distribution condition 302 indicates a condition that starts distribution of the file. This condition can be defined with respect to the collection data or the time information registered in the collection data management table 129. For example, Figure 2 "firmwareVer <= 1.12" indicates that if the firmware version 203 applied in the communication device 101 is "1.12" or less, it is considered to be in compliance with the condition, and "time >= 2023 / 08 / 01 00:00:00" indicates that if the time (current time) at which the update confirmation notification is received from the communication device 101 is "August 1, 2023, 0 o'clock, 0 minutes, and 0 seconds" or later, it is considered to be in compliance with the condition. In this example, the simple identifier that indicates the current time is recorded as "time", but it can be arbitrarily changed. Figure 3

[0139] The completion condition 303 indicates a condition that ends distribution of the file. This condition can also be defined with respect to the collection data or the time information registered in the collection data management table 129. For example, Figure 2 "firmwareVer == 1.14 && interval == 60" indicates that the firmware version 203 applied in the communication device 101 is "1.14", and the set value of the collection period is "60 seconds". In addition, Figure 3 In the example of "firmwareVer <= 1.12" and "time >= 2023 / 08 / 01 00:00:00", the comparison operators are recorded as "<=" and "==", and the logical operator is recorded as "&&", but the form of recording is arbitrary. For example, the comparison operators can be recorded as "<=" and "=", and the logical operators can be recorded as "AND" and "OR", and the like. Figure 3

[0140] ​​​If the communication device 101 does not meet the publishing condition 302, it is determined that the update request is "not required (no file published)" because it is clearly not the target of the file publishing. On the other hand, if the publishing condition 302 is met but the completion condition 303 is not met, it is determined that "update is required (file published)" because the file publishing needs to begin and the file publishing end condition is not met. Then, the file is published. If the completion condition 303 is met, the update determination processing unit 128 determines that "update is not required (no file published)" because the publishing end condition is met.

[0141] Release file 304 indicates the file to be released for the communication device 101 registered in the communication device ID 301 field when the determination is "update required (release file available)". The form of the release file 304 registered in this field is arbitrary as described above. For example, it can be outside the firmware itself, or it can be a script file that performs changes to settings or performs a restart process.

[0142] for Figure 3 The example of update request management table 130 is used to illustrate this. In the line for release file 304, “firm113.zip”, an example is given of a request to update firmware version 203 of communication device 101-a to “1.13”. In this example, release condition 302 states that if the version of communication device 101-a is below “1.12”, then firmware version “1.13” will be released.

[0143] Here, it is assumed that the firmware currently used in communication device 101-a is as follows: Figure 2 The data collection management table 129 is shown as an example of version "1.12". At this time, communication device 101-a satisfies... Figure 3 If the release condition 302 is not met and the completion condition 303 is not met, then when the update confirmation notification is sent from the communication device 101-a, the management device 102 responds with "Update required (release file available)" and releases the firmware file (firm113.zip) for version "1.13". If the firmware is updated normally, the communication device 101-a then notifies the management device 102 of collected data including information that the firmware version 203 is "1.13". Figure 3 Completion condition 303 is that firmware version 203 is "1.13". If this condition is met, it is considered that the update has been completed normally, and the release of the "firm113.zip" file ends. On the other hand, if completion condition 303 is not met, because the update failure is suspected, the release of the "firm113.zip" file to the communication device 101-a continues, and the release can be continuously attempted until a reliable and normal update is achieved.

[0144] On the other hand, in the row of the file 304 of "firm 114.zip", an example of distributing the firmware file (firm 114.zip) of the version "1.14" to all the communication devices 101 after "August 1, 2023 0:00:00" is exemplified. In addition, the end of distribution to the communication devices 101 that have completed the firmware update to "1.14" is defined by the completion condition 303. In this way, the distribution condition 302 and the completion condition 303 can be defined with respect to the time information, and thus the period of distribution of the file can be specified. For example, in the case where the setting value of the communication device 101 is changed at the same time as the date, the definition of the condition based on the time is effective.

[0145] In addition, Figure 4 In the example of the collection data management table 129 of "firm 114.zip", the firmware version 203 is "1.13" and the collection period is "30 seconds" in the communication device 101-b. At this time, after the file of "firm 114.zip" is distributed, the firmware version 203 becomes "1.14" and the collection period becomes "30 seconds" in the collection data from this communication device. However, only the firmware version 203 is updated, and the collection period is not updated to "60 seconds", and it is known that the update has failed for some reason. By defining the completion condition 303 with respect to the collection period as described above, such a partial update failure can be detected, and the distribution of the file is continued until the normal update. Figure 2 In the example of the collection data management table 129 of "firm 114.zip", the firmware version 203 is "1.13" and the collection period is "30 seconds" in the communication device 101-b. At this time, after the file of "firm 114.zip" is distributed, the firmware version 203 becomes "1.14" and the collection period becomes "30 seconds" in the collection data from this communication device. However, only the firmware version 203 is updated, and the collection period is not updated to "60 seconds", and it is known that the update has failed for some reason. By defining the completion condition 303 with respect to the collection period as described above, such a partial update failure can be detected, and the distribution of the file is continued until the normal update.

[0146] The line "reboot.sh" in release file 304 represents an example of releasing a script file (reboot.sh) to restart communication device 101 when its CPU utilization is above 90%. Then, in completion condition 303, it is defined that if the CPU utilization drops to below 90% after restarting communication device 101, the script release will end. By defining such conditions, a restart command can be sent to communication device 101 when its CPU utilization increases due to suspending, etc., until the situation improves. This is an advantage of the present invention, which allows the release condition 302 and completion condition 303 to be defined for dynamically changing operating information of communication device 101, enabling flexible remote updates corresponding to the operating status of communication device 101. Furthermore, as shown in this example, it is not limited to firmware and setting updates, but can also be applied to remote control applications such as command restarts.

[0147] Figure 3 In the example shown, control release is illustrated in response to the CPU utilization 205 of communication device 101, but it could also be in the form of a script that shortens the data collection cycle to management device 102 for communication device 101 when the received signal strength is reduced. In this case, for Figure 2 The RSRP [dBm] 206 defines the publishing condition 302, and for example, the collection period [seconds] 204 defines the completion condition 303. This allows the communication device 101 to publish documents when the RSRP decreases, and the publishing ends when the collection period setting has changed as expected. When the received signal strength decreases, because of concerns about a reduced communication success rate with the management device 102, the collection period is shortened and the number of communications is increased, thereby achieving highly reliable data collection. Thus, there are various methods for defining the publishing condition 302 and the completion condition 303, allowing conditions to be defined for any operational information of the communication device 101.

[0148] <Example of Operation of Communication System 100>

[0149] Next, regarding the process of remotely updating the communication device 101 by the management device 102, refer to... Figures 4-6 Please provide an explanation.

[0150] (Update confirmation process without remote updates)

[0151] Figure 4 This is a sequence diagram illustrating an example of the update confirmation process without remote updates.

[0152] Figure 4 An example is shown where the update determination process performed by the management device 102 determines that the communication device 101 "does not need to be updated (no document has been released)".

[0153] Figure 4 Step S401 indicates a step in which the system administrator logs a remote update request for the communication device 101 in the update request management table 130 of the management device 102. Specifically, the identifier of the communication device 101 that is the update target, the file information that is the distribution target, the above-mentioned "distribution condition", and the "completion condition" are logged. For example, the update request is input via the input section 123 for a screen output via the output section 124 of the management device 102, and thus logged in the update request management table 130. An example of the screen displayed is shown in FIG. 8. The screen is displayed on the display section 125 of the management device 102, and the update request is input via the input section 123. Figure 7 Hereinafter, the above-mentioned processes are described.

[0154] Next, steps S402a to S402c are processes in which the collection data notification processing section 118 of the communication device 101 notifies the management device 102 of the collection data such as the acquired data from the field and the operation information about itself. The execution timing of this process is managed by the application 116 as described above, for example, as shown in FIG. 9. Figure 4 As an example, the notification process of the collection data is executed at a time interval of a prescribed collection period Δt. In addition thereto, it is also possible to execute the notification process of the collection data at an arbitrary execution timing such as a specified time of day.

[0155] Steps S403a to S403c are processes in which the collection data notified from the communication device 101 is logged in the collection data management table 129 of the management device 102. Specifically, it is a process in which the communication processing section 127 of the management device 102 receives the collection data notified from the communication device 101 in steps S402a to S402c, and records the data in the collection data management table 129.

[0156] Next, steps S404a and S404b are processes in which the update confirmation processing section 119 of the communication device 101 sends the "update confirmation notification" that inquires whether there is an update for itself to the management device 102. The execution timing of this process is managed by the update confirmation processing section 119, for example, as shown in FIG. 10. Figure 4 As an example, the update confirmation notification is sent at a time interval of a prescribed update confirmation period ΔT. In addition thereto, it is also possible to send the update confirmation notification at an arbitrary execution timing such as a specified time of day.

[0157] Steps S405a and S405b are processes in which the management device 102 that has received the update confirmation notification from the communication device 101 judges whether or not the communication device 101 needs to be updated (starts / end of distribution file) using the update judgment processing section 128. Specifically, the management device 102 performs a comparison between the collection data management table 129 and the update request management table 130, judges whether or not the distribution condition 302 and the completion condition 303 registered for the communication device 101 are satisfied, and thereby implements this process. For example, in the case where the management device 102 has received the update confirmation notification from the communication device 101-c, the management device 102 judges whether or not the distribution condition 302 and the completion condition 303 registered for the communication device 101-c are satisfied, and thereby implements this process. Figure 3 The details of this process are described below. Figure 6 The details of this process are described below. Figure 4 In the example of FIG. 8, the case where it is judged that "update is not needed (no distribution file)" is assumed, and the following description is given.

[0158] Steps S406a and S406b are processes in which the update judgment processing section 128 of the management device 102 notifies the communication device 101 that has sent the update confirmation notification of the result of the judgment in the "update judgment process" of step S405. Figure 4 In this case, an example of a message that notifies that "update is not needed (no distribution file)" is shown. The communication device 101 that has received this notification confirms that it does not need to be updated, and again sends the update confirmation notification to the management device 102 in step S404b after a prescribed update confirmation period ΔT has elapsed.

[0159] In this way, the collection data notification and the update confirmation notification are periodically sent from the communication device 101 to the management device 102, and thereby the management device 102 can always judge whether or not the communication device 101 needs to be updated based on the latest operation information.

[0160] (Update confirmation process in the case where remote update is performed)

[0161] Next, the case where it is judged that the communication device 101 "needs to be updated (there is a distribution file)" is described with reference to FIG. 9. Figure 5

[0162] Figure 5 is a sequence diagram that shows an example of a flow of the update confirmation process in the case where remote update is performed. In this case, steps S401 to S406 are the same as those of FIG. 8, and therefore the description thereof is omitted. Figure 4

[0163] Figure 5 ​​In the example of FIG. 10, the case where the update judgment processing section 128 of the management device 102 judges "update required (file for distribution exists)" for the communication device 101 in step S405a is shown. For example, in the case where the transmission source of the update confirmation notification is the communication device 101-a, the update judgment processing section 128 judges "update required (file for distribution exists)" for the communication device 101. Figure 3 In the update request management table 130 shown in the example of FIG. 9, the rows where the communication device ID 301 is "communication device a" and "*" are judged for conformity with the distribution condition 302 and the completion condition 303. The latest collection data from the communication device 101-a is as shown in FIG. 10. Figure 2 In the case shown in the example, in the row where the communication device ID 301 is "communication device a", the distribution condition 302 is met and the completion condition 303 is not met, so it is judged to be "update required (file for distribution exists)".

[0164] After that, in step S406a, the update judgment processing section 128 notifies the communication device 101-a of the fact that the file for distribution "firm113.zip" registered in the update request management table 130 of FIG. 9, and the message "update required (file for distribution exists)". Figure 3

[0165] Figure 5 Step S501 is the processing of the communication device 101 that has received the notification of "update required (file for distribution exists)" to apply the file distributed from the management device 102 to itself. In the case of the example described above, the communication device 101-a applies the file "firm113.zip" distributed from the management device 102 and updates the firmware of itself to version "1.13". By this processing, remote updating of the communication device 101 from the management device 102 is realized.

[0166] In addition, when the application of the file for distribution 304 is completed, the contents of the collection data notified by the communication device 101-a change. Specifically, the information of the firmware version 203 included in the collection data notified to the management device 102 is updated to "1.13". Therefore, in the collection data processing of step S402c performed after step S501, the updated data is notified to the management device 102.

[0167] In step S404b, the communication device 101-a transmits the update confirmation notification, and in step S405b, the update judgment processing for the communication device 101-a is performed again, but this time Figure 2 The firmware version 203 of the communication device 101-a is registered as "1.13" in the collection data management table 129 of FIG. 10. Therefore, the communication device 101-a satisfies Figure 3 ​the update request management table 130, so the update judging process section 128 of the management apparatus 102 can end the distribution file, in other words, can confirm that the update of the communication apparatus 101-a has ended normally. In step S406b that follows, the communication apparatus 101-a is notified that "no update is needed (no distribution file)", and the distribution file ends.

[0168] (update judging process)

[0169] Next, the update judging process performed by the update judging process section 128 of the management apparatus 102 will be described with reference to Figure 6 Figure 6 is a flowchart showing an example of the flow of the update judging process in Embodiment 1.

[0170] This update judging process is a process in which the management apparatus 102 judges whether or not the communication apparatus needs to be updated (starts / end of the distribution file) when the update confirmation notification is received from the communication apparatus 101. Specifically, it corresponds to the process performed in step S405 of Figure 4 and Figure 5 .

[0171] Step S601 is a process in which the update judging process section 128 of the management apparatus 102 refers to the update request management table 130 and judges whether or not the value of the communication apparatus ID 301 of the referred-to row is identical to the source communication apparatus of the update confirmation notification. For example, in the case where the update confirmation notification is received from the communication apparatus 101-a and the update judging process of Figure 6 begins, if the value of the communication apparatus ID 301 in the referred-to row of the update request management table 130 is "communication apparatus a", it is judged to be identical. Also, in the flowchart of Figure 6 , an example is shown in which the rows are referred to in order from the start row of the update request management table 130 at the start of the update judging process. In the case where the value of the communication apparatus ID 301 is identical to the source communication apparatus of the update confirmation notification (step S601: YES), the process proceeds to step S603, and in the case where it is not identical (step S601: NO), the process proceeds to step S602.

[0172] Step S602 is a process in which the update judging process section 128 refers to the update request management table 130 and judges whether or not the value of the communication apparatus ID 301 of the referred-to row is "*". In the case where the value of the communication apparatus ID 301 is "*" (step S602: YES), because it is an update request that targets all of the communication apparatuses 101, the process proceeds to step S603, and in the case where it is not "*" (step S602: NO), the process proceeds to step S608.

[0173] ​Step S603 involves the update determination processing unit 128 referring to the release condition 302 in the update request management table 130 to determine whether the communication device 101, the source of the update confirmation notification, meets the release condition 302. Specifically, the unit refers to the data collection management table 129 according to the conditions defined in the release condition 302 to determine whether the communication device 101 meets the release condition 302. For example, the release condition 302 is... Figure 3 In the example shown, where "firmwareVer <= 1.12", in Figure 2 The data collection management table 129 is referenced to the value of firmware version 203 collected from communication device 101-a to determine whether the conditions are met. Figure 2 In the example, because the value "1.12" was recorded, it was determined that the release condition 302 was met.

[0174] Step S604 is the process by which the update judgment processing unit 128 decides on the subsequent processing based on the judgment result of step S603. If the release condition 302 is met (step S604: yes), it proceeds to step S605; if the condition is not met (step S604: no), it proceeds to step S608.

[0175] Step S605 involves the update determination processing unit 128 referring to the completion condition 303 in the update request management table 130 and determining whether the communication device 101, the source of the update confirmation notification, meets the completion condition 303. Specifically, the communication device 101 is determined to meet the completion condition 303 by referring to the data collection management table 129 according to the conditions defined in the completion condition 303. For example, the completion condition 303 is... Figure 3 In the example shown, with "firmwareVer == 1.13", in Figure 2 The data collection management table 129 is referenced to the value of firmware version 203 collected from communication device 101-a to determine whether the conditions are met. Figure 2 In the example, because the value "1.12" was recorded, it was determined that the completion condition 303 was not met.

[0176] Step S606 is the process by which the update judgment processing unit 128 determines the subsequent processing based on the judgment result of step S605. If the completion condition 303 is not met (step S606: yes), it proceeds to step S607; if it is met (step S606: no), it proceeds to step S608.

[0177] Step S607 is a process in which the update judgment processing section 128 judges that the communication device 101 that is the transmission source of the update confirmation notification is "update required (there is a release file)". At this time, the file described in the release file 304 of the release request management table 130 is decided. For example, in the above-described example of the release condition 302 / completion condition 303, "firm 113.zip" described in the release file 304 of the release request management table 130 is decided, and the judgment result that the communication device 101-a is notified that "update required (there is a release file)" is decided. In this case, in step S406 of Figure 3 and Figure 4 , because the message that is notified that "update required (there is a release file)" is decided, the update judgment processing shown in the flowchart of Figure 5 is ended, and step S406 of Figure 6 and Figure 4 is advanced. Figure 5 Step S608 is a process in which the update judgment processing section 128 shifts the reference row of the update request management table 130 by one row. For example, in the update request management table 130 of

[0178] , when the first row in which the value of the communication device ID 301 is "communication device a" does not satisfy the release condition 302 or satisfies the completion condition 303, and the process of step S608 is advanced, the reference is shifted to the second row. Figure 3

[0179] Step S609 is a process in which the update judgment processing section 128 judges whether or not the reference row of the update request management table 130 has reached the end of the table as a result of the process of step S608. When the end has been reached (step S609: YES), because there are no more update requests to be judged, step S610 is advanced. When the end has not been reached (step S609: NO), because there are still update requests to be judged, the process of step S601 is returned to.

[0180] Step S610 is a process in which the update judgment processing section 128 judges that the communication device 101 that is the transmission source of the update confirmation notification is "update not required (there is no release file)". Because the judgment is made for all of the update requests registered in the update request management table 130, and there are no requests that are judged to be update required, it is natural that there is no update required. In this case, in step S406 of Figure 4 and Figure 5 , the message that is notified that "update not required (there is no release file)" is decided, the update judgment processing shown in the flowchart of Figure 6 is ended, and step S406 of Figure 4 and Figure 5 is advanced.

[0181] By performing the above Figure 6 ​the operation of the communication device 101 recorded in the collection data management table 129, and the distribution condition 302 / completion condition 303 registered in the update request management table 130, the start / end of the file distribution can be flexibly controlled. In addition, Figure 6 In the example of Fig. 13, an example in which it is sequentially determined whether the distribution condition 302 / completion condition 303 is satisfied from the top row of the update request management table 130 is illustrated. In this case, it is determined whether the condition is satisfied for the update request registered in the row at the top of the table first, and thus the update request is considered to have a high priority. However, this is only an example, and for example, a field of "priority" can be added to the update request management table 130, and the rows can be sequentially determined in order of the priority. The method of determining the order of reference in the update request management table 130 is arbitrary.

[0182] <Example of input screen>

[0183] Figure 7 Fig. 14 is an example of a display screen 700 displayed on the output unit 124 of the management device 102 when the update request management table 130 illustrated in Fig. 13 is registered. Figure 3

[0184] Figure 7 In the example of Fig. 14, the output unit 124 of the management device 102 can cause the display screen 700 to be displayed, in which a display area 701 in which the update request is registered, and a display area 702 in which the update request management table 130 is displayed are provided.

[0185] The display area 701 is constituted by an identifier of the communication device 101 that is the update target, a file information that is the distribution target, and input boxes of the distribution condition 302 and the completion condition 303. The manager inputs these information via the input unit 123, and when the registration button 703 is pressed, the update request input is registered in the update request management table 130. In addition, Figure 7 In the example of Fig. 14, an example in which the "browse" button is pressed, and the distribution file 304 is specified from the file saved in the storage unit 125 is illustrated. However, this is not limited to this, and for example, an arbitrary method of specifying the distribution file 304, such as inputting the absolute path of the file in the input box of the distribution file 304 can be used. In addition, when a field of "priority" is added to the update request management table 130 as described above, an input box of the field can be added to the display area 701.

[0186] In the display area 702, the registration contents of the update request management table 130 are displayed. Figure 7 ​In the example, in addition to the Communication Device ID, Publishing Condition 302, Completion Condition 303, and Publishing File 304 fields in the Update Request Management Table 130, fields for Delete 704 and Sequence Exchange 705 have been added. Pressing the "×" button in the Delete 704 field deletes the update request for that row. For example, in cases where a remote update has been completed or an incorrect update request has been logged in, unnecessary update requests can be deleted. Furthermore, pressing the "▲" or "▼" buttons in the Sequence Exchange 705 field shifts that row up or down by one row. As described above, Figure 6 The update judgment process shows that update requests logged in from the first row of the update request management table 130 are prioritized for determining whether they meet the conditions. Therefore, by setting the order swap 705 field, the administrator can freely manipulate the priority of update requests. However, if a "priority" field is set in the update request management table 130, the order swap 705 field is not needed.

[0187] Through such Figure 7 The settings screen shown is for the update request management table 130, which allows for easy login and deletion of update requests. Additionally, Figure 7 The example screen display shows a direct input of table values, but the method of accepting settings is arbitrary. For example, it could be to create an external file containing information such as the communication device ID of the update request management table 130, publication conditions 302, completion conditions 303, and publication file 304, have the management device 102 read the external file, and thereby set / log in the update request management table 130, etc. Additionally, an example is shown where an administrator uses... Figure 7 The settings screen allows input of the release condition 302 and completion condition 303, but the management device 102 can also automatically generate the release condition 302 and completion condition 303 based on machine learning models, etc. For example, Figure 7 In the example, the threshold for CPU usage 205 regarding the start / end of file publishing is set to "90%", but this threshold can also be automatically determined based on a machine learning model. For example, one could consider learning / analyzing the trends of CPU usage 205 collected from communication device 101, and automatically generating publishing conditions 302 and completion conditions 303 using the threshold of CPU usage 205 judged as an outlier based on the trend analysis results. By adopting this approach, the workload of administrators in setting publishing conditions 302 and completion conditions 303 can be reduced.

[0188] As described above, according to the present embodiment, it is possible to define the "distribution condition" that starts distribution of the file and the "completion condition" that ends distribution in the management device 102, and it is possible to define the condition also for the operation information and the like of the communication device 101 that dynamically changes, whereby it is possible to flexibly control the start / end of the file distribution, i.e., the remote update, to the communication device 101. Thereby, for example, in addition to the simple form of updating the firmware in the case where the version of the firmware is old to a certain degree or more, it is also possible to cope with the form of dynamically controlling that starts to update the firmware or commands to restart only in the case where the CPU usage rate 205 of the communication device 101 is higher than a threshold value, and it is suspected that an abnormality occurs. In addition, the management device 102 judges to end the distribution of the file based on the completion condition 303, whereby it is possible to end the distribution of the file in accordance with the remote update of the communication device 101 reliably normally ending. Furthermore, in the case where the distribution file 304 is missing / damaged due to a packet loss and a bit error in the channel, the remote update fails, and the like, it is also possible to continuously attempt the distribution of the file, and to reliably achieve the remote update of the communication device 101.

[0189] The communication system 100 of Embodiment 1 has been described above.

[0190] Embodiment 2

[0191] Next, the communication system 100 of Embodiment 2 will be described.

[0192] In Embodiment 1, the form of periodically notifying the operation information and the setting information of the communication device 101 corresponding to the distribution condition 302 and the completion condition 303 of the update request management table 130 from the communication device 101 to the management device 102 as the collection data has been exemplarily shown. If the operation information and the like that dynamically change, it is meaningful to periodically notify the management device 102 from the communication device 101, but it is not necessary to periodically notify the static setting information such as the IP address of the communication device 101 that does not dynamically change. In particular, from the viewpoint of the communication load and the communication cost and the like, there are cases where it is desired to reduce the amount of the collection data notified from the communication device 101, and there are many cases where the static setting information is not notified as the collection data.

[0193] On the other hand, it can be assumed that when the IP address of communication device 101 is changed in accordance with system structural changes, such as changing the IP address along with the system on a certain date, a request to update static setting information will inevitably be generated. In this case, a script file for changing the IP address setting is published, defining the updated IP address as completion condition 303, thereby enabling reliable setting changes. However, in determining completion condition 303, communication device 101 needs to notify management device 102 of the IP address setting value as collected data, which causes problems in cases where static setting information is not notified as collected data. In view of this, it is preferable to exceptionally notify the communication device 101 of the static setting information after applying the publishing file 304, even in cases where communication device 101 does not notify the static setting information.

[0194] Therefore, in Embodiment 2, the format of the collected data, including static setting information, is described only when the management device 102 publishes a document and the communication device 101 applies that document. In Embodiment 2, the method used is... Figure 8 This section describes an example of the update request management table 130 of the management device 102. Additionally, it uses... Figure 9 This section describes the details of the data collection notification processing of the data collection notification unit 118 in the communication device 101. Additionally, various structures and processes in Embodiment 2, etc., are explained below. Figure 8 and Figure 9 The structure and processing shown are the same as in Example 1, except that their description is omitted.

[0195] <Example of table structure>

[0196] Figure 8 This is a diagram illustrating an example of the structure of the update request management table 130 in Embodiment 2.

[0197] Figure 8 In this context, the communication device ID 301, release condition 302, completion condition 303, and release document 304 are similar to those in Example 1. Figure 3 The update request management table 130 is the same, so the description is omitted. Figure 9 The example illustrates an instance where a script file (changeIPsetting.sh) is sent to communication device 101-a after 00:00:00 on August 1, 2023, requesting an update to change the IP address settings of the LAN (Local Area Network). Furthermore, assuming the IP address is updated to "192.168.1.1" by the script file, completion condition 303 defines "the LAN's IP address is 192.168.1.1" as completion condition 303. However, to determine completion condition 303, it is necessary to collect IP address setting information from communication device 101-a. In this example, we envision a scenario where communication device 101-a does not notify the user of IP address information during normal data collection notification processing.

[0198] <Process flow example>

[0199] Next, the collection data notification processing performed by the collection data notification processing section 118 of the communication device 101 in Embodiment 2 will be described with reference to Figure 9 Figure 4 Figure 5

[0200] (Collection data notification processing)

[0201] Figure 9 FIG. 9 is a flowchart showing an example of a flow of the collection data notification processing in Embodiment 2. This processing is performed in the communication device 101 in Embodiment 2 in accordance with a transmission schedule managed by the application 116.

[0202] Figure 9 Step S901 is a process in which the collection data notification processing section 118 of the communication device 101 determines whether a notification of "update required (there is a distribution file)" has been received from the management device 102 since the last collection data notification processing, and whether the distribution file 304 has been applied. For example, in a case where this processing is performed in step S402c of Figure 4 Figure 5

[0203] Step S902 is a process in which the collection data notification processing section 118 determines whether there is a changed (updated) setting value due to the application of the distribution file 304. For example, in a case where the distribution file 304 "changeIPsetting.sh" described above is applied, the IP address of the LAN is updated to "192.168.1.1", and thus it is determined that there is a changed setting value (step S902: YES). In a case where there is a changed setting value (step S902: YES), the processing proceeds to step S903, and in a case where there is not (step S902: NO), the processing proceeds to step S904. Figure 8

[0204] ​​​​​​Step S903 involves the data collection notification processing unit 118 notifying the management device 102 of the collected data, which includes changed (updated) setting items and setting values ​​in addition to the prescribed collected data. In the example above, the LAN IP address "192.168.1.1" is included in the collected data and notified. Therefore, even in cases where static setting information is not normally notified, setting information can be notified only after the application release document 304, allowing the management device 102 to determine whether it conforms to the requirements. Figure 8 Completion condition 303. The control unit of the communication device 101 terminates the process upon completion. Figure 9 The flowchart illustrates the data collection notification process.

[0205] Step S904 involves the data collection notification processing unit 118 notifying the management device 102 of the required collected data. Step S904 is performed when the release document 304 is not applied or when no changed setting values ​​exist; therefore, it does not require adding setting information as in step S903 to notify the collected data. The control unit of the communication device 101 terminates this process upon completion. Figure 9 The flowchart illustrates the data collection notification process.

[0206] As described above, according to this embodiment, the management device 102 can be notified of data collection from the communication device 101 only after the application release file 304, with the additional changed setting information. This reduces the amount of data collected under normal circumstances, thereby suppressing communication load and costs, and efficiently adds the setting information required for the completion condition 303 of data collection only after the application release file 304.

[0207] in addition, Figure 9 The example illustrates a format where only the changed settings and values ​​are added to the collected data and a notification is sent. However, it could also be a format where all settings and values ​​are added to the collected data. Although the amount of data notified to the management device 102 increases, it is effective to simplify processing by notifying all settings when the number of settings generated due to remote updates is very large. In this way, the types of setting and operational information added after the application release are not limited to a specific type and can be arbitrarily changed according to the application's system.

[0208] The communication system 100 of Embodiment 2 has been described above.

[0209] Example 3

[0210] Next, the communication system 100 of Embodiment 3 will be described.

[0211] In Embodiment 1 and Embodiment 2, it is exemplified that the communication device 101 for a certain update target, and the combination of the update condition and the judgment condition statically define one form of the distribution file 304. For example Figure 3 In Embodiment 2, it is exemplified that the communication device 101 for "CPU usage rate is 90% or more" distributes a script file (reboot.sh) that executes a reboot process until the "CPU usage rate is less than 90%". However, in the case where the reason for the increase in the CPU usage rate 205 in the communication device 101 is not temporary suspension but an error in the firmware of the application, even if the reboot process is repeated, the possibility that the problem is improved is low. In this case, instead of rebooting, other measures such as updating the firmware should be taken, and it is preferable that the distribution file 304 be dynamically switched to perform remote updating of the communication device 101. For example, in the case where the CPU usage rate 205 of the communication device 101 is still 90% or more after the distribution of the script file that executes reboot three times, by dynamically switching to the distribution of a new firmware, the problem can be solved in the above example.

[0212] Therefore, in Embodiment 3, it is described that the communication device 101 for a certain update target, and the combination of the update condition and the judgment condition can define a plurality of distribution files 304, and can dynamically switch the distribution file 304.

[0213] In Embodiment 3, the update request management table 130 of the management device 102 is used Figure 10 The structure of the update request management table 130 of the management device 102 is described. In addition, the update judgment processing performed by the update judgment processing section 128 of the management device 102 is described using Figure 11 The details of the update judgment processing performed by the update judgment processing section 128 of the management device 102 are described. In addition, the various structures and processes of Embodiment 3 are the same as those of Embodiment 1 or Embodiment 2 except for the structures and processes of Figure 10 and Figure 11 , and thus the description thereof is omitted.

[0214]

[0215] Figure 10 is a diagram showing an example of the structure of the update request management table 130 in Embodiment 3.

[0216] In addition, the communication device ID 301, the distribution condition 302, the completion condition 303, and the distribution file 304 in Figure 10 are the same as the update request management table 130 in Figure 3 , and Figure 8 of Embodiment 2, and thus the description thereof is omitted.

[0217] The distribution upper limit number of times 1001 for the same communication device 101 indicates the upper limit number of times that the file described in the distribution file 304 can be distributed to the same communication device 101. For example, Figure 10In the example of FIG. 10, a script file (reboot.sh) that can issue a reboot process with an upper limit of "3 times" is defined for the communication device 101 for which the CPU usage is "90% or more". Then, in the case where the CPU usage 205 does not decrease to less than 90% even after the script file is issued 3 times, the firmware file (firm114.zip) of version "1.14" is issued. In addition, Figure 10 In the example of FIG. 10, the case where the upper limit number of issues 1001 is not set is described as "N / A", but the description method can be arbitrarily changed.

[0218] Next, the alarm notification 1002 indicates whether or not an alarm notification process is executed when the number of issues of the file to the same communication device 101 exceeds the upper limit value described in the upper limit number of issues 1001 to the same communication device 101. In addition, the method of the alarm notification 1002 can be any method such as sending an email to the system administrator, displaying a warning on the output screen of the management device 102, and the like. For example, in the case where the administrator wants to know explicitly that the issue of the file 304 is switched, it can be known by setting the alarm notification 1002 field to "true". In addition, Figure 7 In the example of FIG. 10, "true / false" is defined for whether or not the alarm notification 1002 is needed, but the definition method can be arbitrarily changed. In addition, in the case where the setting of the alarm notification 1002 is not needed, the alarm notification 1002 field can be appropriately deleted. Figure 10

[0219] <Process Flow Example>

[0220] Next, with reference to Figure 11 , the update judgment process performed by the update judgment process section 128 of the management device 102 in Embodiment 3 will be described. This process corresponds to the update judgment process performed in step S405 of Figure 4 and Figure 5 in Embodiment 1, specifically.

[0221] Figure 11 is a flowchart showing an example of the flow of the update judgment process in Embodiment 3. Details will be described below.

[0222] Figure 11 Steps S601 to S610 of Figure 6 are the same as those of Embodiment 1, and thus the description thereof will be omitted. In steps S601 to S606, with reference to the update request management table 130 of Figure 10 , it is judged whether or not the issue condition 302 and the completion condition 303 are satisfied, and in the case where the issue condition 302 is satisfied and the completion condition 303 is not satisfied, the process proceeds to step S1101 of Figure 11

[0223] ​​In step S1101, the update determination processing unit 128 of the management device 102 refers to Figure 10 The update request management table 130 contains the value of the maximum number of times the file can be published to the same communication device 101, 1001. Then, for the communication device 101 to be judged, it is determined whether the number of times the file recorded in the publication file 304 has been published is insufficient to reach the maximum number of times. For example, Figure 10 In the example, if the number of times "reboot.sh" has been sent to the communication device 101 is 2, it is determined that the number of times is less than the upper limit. If the number of times is less than the upper limit (step S1101: Yes), proceed to step S1102; if the number of times is more than the upper limit (step S1101: No), proceed to step S1103.

[0224] Step S1102 is the process by which the update judgment processing unit 128 increases the number of times the aforementioned file is published to the communication device 101 of the judgment target by 1. For example, in the above example, if the number of times "reboot.sh" is published is 2, it is updated to "3 times". When this process ends, the process proceeds to step S607, where it is determined that the communication device 101 of the judgment target is notified of a message that "an update is required (a file has been published)", and in the above example, "reboot.sh" is published.

[0225] Step S1103 is to update the judgment processing unit 128 reference. Figure 10 The update request management table 130 references the alarm notification 1002 in the reference row and determines whether the alarm notification 1002 when the maximum number of times it is issued is "true (valid)". If the alarm notification 1002 is "true (valid)" (step S1103: yes), proceed to step S1104; if it is "false (invalid)" (step S1103: no), proceed to step S608.

[0226] Step S1104 involves the update judgment processing unit 128 processing of alarms that have exceeded the maximum number of times they can be issued. For example, in the case described above where an alarm notification 1002 is sent to the system administrator via email, the update judgment processing unit 128 issues a command to the communication processing unit 127 to send the email. Additionally, in Figure 7 If a warning is displayed on the output screen, a command to display the warning is issued to the output unit 124. As described above, the alarm notification 1002 is not limited to a specific method and can be changed arbitrarily. When this process ends, proceed to step S608, shift the reference row of the update request management table 130 by one row, and determine the update condition / completion condition 303 for other update requests. For example, in the above example, if "reboot.sh" has been published 3 times, and the process proceeds to step S608 after step S1103 or step S1104, Figure 10In the example of FIG. 9, the row of "firm 114.zip" is then subjected to the judgment processing. Thereby, the firmware file (firm 114.zip) of the release version "1.14" is switched to.

[0227] As described above, according to the present embodiment, the release file 304 can be dynamically switched based on the number of file releases to the same communication device 101. Thereby, in the case where the problem does not improve, the completion condition 303 is repeatedly not satisfied, and the like, the release file 304 can be flexibly switched. Further, for the problem and the like occurring in the communication device 101, the recovery countermeasures can be implemented by changing the release file 304, and the recovery probability can be improved.

[0228] The communication system 100 of the embodiment 3 has been described above.

[0229] The embodiments of the present application described above can be summarized as described below.

[0230] (1) The management device 102 is a device that is data-communicably connected to at least one or more communication devices 101 via a communication network, and performs remote update of firmware of the communication devices 101 as management targets, and includes: a collection data management table 129 that manages information including setting information and operation information of the communication devices 101, which is collected from the communication devices 101; an update request management table 130 that manages, as a remote update request indicating a request for remote update of firmware of the communication devices 101, a combination of information of the communication devices 101, information of a file released to the communication devices 101, a condition for starting release of the file to the communication devices 101, i.e., a release condition 302, and a condition for ending release of the file to the communication devices 101, i.e., a completion condition 303; and an update judgment processing section 128 that, in a case where an update confirmation notification indicating notification of confirmation of firmware update of the communication devices 101 is received from the communication devices 101, judges the start and end of release of the file to the communication devices 101 based on the information managed by the collection data management table 129 and the information managed by the update request management table 130, and notifies the communication devices 101 of the judgment result. The setting information is static information about an application (application 116) and / or communication that operates in the communication devices 101. The operation information is information about dynamic changes in an operation state and / or a communication state of the communication devices 101. The release condition 302 and the completion condition 303 managed by the update request management table 130 can be defined by combining one or more of the information managed by the collection data management table 129. Thereby, the management device 102 can flexibly define the release condition 302 and / or the completion condition 303 of the communication devices 101 as management targets in the management device 102.

[0231] (2) The update request management table 130 manages the release condition 302 and the completion condition 303, which are defined by combining one or more of the setting information and the operation information collected from the communication device 101.

[0232] (3) The operation information includes at least one of the CPU usage rate 205 of the communication device 101, the memory usage rate of the communication device 101, the received signal strength in the communication device 101, the amount of data transmitted and received with the communication device 101, the number of successful communications in the communication device 101, the number of failed communications in the communication device 101, the elapsed time after the start of the communication device 101, the internal temperature of the communication device 101, the power supply voltage to the communication device 101, and the position information of the communication device 101.

[0233] (4) The setting information includes at least one of the firmware version 203 of the communication device 101, the application settings of the communication device 101, and the communication settings of the communication device 101, and the communication settings of the communication device 101 include at least one of the IP address of the communication device 101, the firewall settings of the communication device 101, the packet forwarding settings of the communication device 101, and the APN (Access Point Name) of the communication device 101.

[0234] (5) The update judgment processing section 128 decides not to release the file to the communication device 101 in a case where the communication device 101 that has transmitted the update confirmation notification does not satisfy the release condition 302 or satisfies the completion condition 303, and decides to release the file to the communication device 101 in a case where the communication device 101 satisfies the release condition 302 and does not satisfy the completion condition 303.

[0235] (6) The input section 123 further accepts an input operation of inputting, deleting, or prioritizing the remote update request.

[0236] (7) The update request management table 130 further manages the release upper limit number 1001 indicating the upper limit number of times that the same file can be released to the same communication device 101, and the alarm notification 1002 to the communication device 101 in a case where the file to be released exceeds the release upper limit number 1001.

[0237] (8) The update judgment processing section 128 judges whether or not the number of releases of the file to be released to the communication device 101 exceeds the release upper limit number 1001, and stops releasing the file, decides to change the file to be released to another file, and performs the alarm notification 1002 to the communication device 101 according to the presence or absence of the alarm notification 1002 in a case where it is judged that the number of releases exceeds the release upper limit number 1001.

[0238] (9) The release condition 302 and / or the completion condition 303 managed by the update request management table 130 is automatically generated by the machine learning model.

[0239] (10) The communication device 101 is a device that is remotely updated with firmware by the management device 102 with which the device is communicably connected via a communication network, including a collection data notification processing section 118 that periodically notifies the management device 102 of setting information and / or operation information of the device, and an update confirmation processing section 119 that periodically notifies the management device 102 of an update confirmation notification indicating notification of confirmation of whether or not the device is updated with firmware, and applies a file issued from the management device 102 as a response to the update confirmation notification to the device. The setting information is static information regarding applications (application programs 116) and / or communication of the device. The operation information is information regarding dynamic changes in the operation state and / or the communication state of the device.

[0240] (11) The collection data notification processing section 118, in the case where the setting information and / or the operation information is notified to the management device 102, and in the case where a file is issued from the management device 102 after the setting information and / or the operation information is notified to the management device 102, and the file is applied to the device, and in the case where there is setting information that has changed compared to the setting information of the notification, appends all of the setting information of the device or the setting information that has changed to the setting information and / or the operation information that is notified to the management device 102.

[0241] (12) The communication system 100 is a system configured to include the management device 102 and at least one or more communication devices 101 that are communicably connected to the management device 102 via a communication network, and the management device 102 performs remote updating of firmware of the communication devices 101 that are management targets.

[0242] (13) The remote updating method is a method configured to include the management device 102 and at least one or more communication devices 101 that are communicably connected to the management device 102 via a communication network, and the management device 102 performs remote updating of firmware of the communication devices 101 that are management targets.

[0243] In addition, the present application is not limited to the above-described embodiments, and can be implemented with any of the constituent elements used within a range not departing from the gist thereof.

[0244] The above-described embodiments and examples, variations are only one example, and the present application is not limited to these. In addition, the above describes various embodiments and examples, variations, but the present application is not limited to these, and these are not all necessary for the solution means of the present application. Other modes that can be conceived within the scope of the technical idea of the present application are also included in the scope of the present application.

[0245] In the above-described each figure, control lines and information lines are shown as necessary for explanation, and all control lines and information lines in implementation are not necessarily shown. For example, it can be considered that almost all structures are connected to each other in practice.

[0246] In addition, the above-described configuration of each functional section of the communication system 100, the management apparatus 102, and the communication apparatus 101 is only one example. The configuration of each functional section can be changed to an optimal configuration from the viewpoint of the performance, processing efficiency, communication efficiency, and the like of hardware and software possessed by the communication system 100, the management apparatus 102, and the communication apparatus 101.

[0247] Explanation of Reference Numerals

[0248] 100: communication system,

[0249] 101: communication apparatus, 102: management apparatus,

[0250] 111: communication I / F, 112: CPU, 113: input section, 114: output section, 115: storage apparatus, 116: application program, 117: communication processing section, 118: collection data notification processing section, 119: update confirmation processing section, 121: communication I / F, 122: CPU, 123: input section, 124: output section, 125: storage apparatus, 126: application program, 127: communication processing section, 128: update judgment processing section, 129: collection data management table, 130: update request management table.

Claims

1. A management device, which is interconnected via a communication network with at least one or more communication devices capable of data communication, and remotely updates the firmware of the communication devices to be managed, characterized in that, include: A data management table is collected to manage information collected from the communication device, including the device's settings and operational information. The update request management table manages remote update requests, which combine information about the communication device, information about the files published by the communication device, the conditions under which the communication device begins publishing files (publishing conditions), and the conditions under which the communication device ends publishing files (completion conditions). These requests are used to represent remote firmware updates for the communication device. The update determination processing unit, upon receiving an update confirmation notification from the communication device indicating whether a firmware update for the communication device has been available, determines the start and end points of file distribution to the communication device based on the information managed by the collected data management table and the information managed by the update request management table, and notifies the communication device of the determination result. The configuration information is static information about the applications and / or communications operating in the communication device. The operational information refers to information about the dynamic changes in the operating status and / or communication status of the communication device. The release conditions and completion conditions managed by the update request management table can be defined by combining at least one of the information that includes the operational information managed by the data collection management table.

2. The management device as described in claim 1, characterized in that: The release conditions and completion conditions managed by the update request management table can be defined by combining one or more of the setting information and operation information collected from the communication device.

3. The management device as described in claim 2, characterized in that: The operational information includes at least one of the following: CPU utilization of the communication device, memory utilization of the communication device, received signal strength of the communication device, amount of data transmitted and received between the communication device and the communication device, number of successful communication attempts of the communication device, number of communication failure attempts of the communication device, elapsed time since the communication device was started, internal temperature of the communication device, power supply voltage to the communication device, and location information of the communication device.

4. The management device as described in claim 2, characterized in that: The configuration information includes at least one of the firmware version of the communication device, the application settings of the communication device, and the communication settings of the communication device. The communication settings of the communication device include at least one of the following: the IP address of the communication device, the firewall settings of the communication device, the packet forwarding settings of the communication device, and the APN (Access Point Name) of the communication device.

5. The management device as described in claim 1, characterized in that: The update judgment and processing unit If a communication device that sent the update confirmation notification does not meet the release conditions, or meets the completion conditions, it is decided not to release the file to that communication device. If the communication device meets the publishing conditions but does not meet the completion conditions, it is decided to publish a document to the communication device.

6. The management device as described in claim 1, characterized in that: It also includes an input section that accepts input operations regarding the remote update request, deletion, or priority.

7. The management device as described in claim 1, characterized in that: The update request management table also manages: the maximum number of times the same file can be published to the same communication device; And whether there is an alarm notification for the communication device if the number of times the file to be published exceeds the maximum number of times.

8. The management device as described in claim 7, characterized in that: The update judgment and processing unit The determination process checks whether the number of times a file initially published to the communication device has been published to that communication device exceeds the maximum number of publications allowed. If the number of cases exceeds the limit, the publication of the file is stopped, the file to be published is changed to another file, and an alarm notification is sent to the communication device based on the presence or absence of the alarm notification.

9. The management device as described in claim 1, characterized in that: The release conditions and / or completion conditions managed by the update request management table are automatically generated by a machine learning model.

10. A communication device, which is interconnected with a management device via a communication network for data communication, wherein the management device remotely updates the firmware of the device, characterized in that, include: The data collection and processing unit periodically notifies the management device of the device's setting information and / or operating information. and The update confirmation processing unit periodically notifies the management device of update confirmation notifications indicating whether a firmware update for the device is available. When a document is released from the management device in response to this update confirmation notification, the management device applies that document. The configuration information is static information about the applications and / or communications operating in this device. The operational information refers to the dynamic changes in the working status and / or communication status of this device.

11. The communication device as claimed in claim 10, characterized in that: After the data collection and notification processing unit notifies the management device of the setting information and / or the operation information, it publishes a file from the management device. If, after applying the file to the device, there is setting information that has changed compared to the notified setting information, the data collection and notification processing unit will attach all the device's setting information or the changed setting information to the management device when notifying the management device of the setting information and / or the operation information.

12. A communication system comprising a management device and at least one communication device interconnected with the management device via a communication network, wherein the management device performs remote firmware updates of the communication device as the object of management, characterized in that: The management device includes: A data management table is collected to manage information collected from the communication device, including the device's settings and operational information. The update request management table manages remote update requests, which combine information about the communication device, information about the files published by the communication device, the conditions under which the communication device begins publishing files (publishing conditions), and the conditions under which the communication device ends publishing files (completion conditions). These requests are used to represent remote firmware updates for the communication device. The update determination processing unit, upon receiving an update confirmation notification from the communication device indicating whether a firmware update for the communication device has been received, determines the start and end points of file distribution to the communication device based on information managed by the collected data management table and the update request management table, and notifies the communication device of the determination result. The configuration information is static information about the applications and / or communications operating in the communication device. The operational information refers to information about the dynamic changes in the operating status and / or communication status of the communication device. The release conditions and completion conditions managed by the update request management table can be defined by combining at least one of the operational information managed by the data collection management table. The communication device includes: The data collection and processing unit periodically notifies the management device of the device's setting information and / or operational information; and The update confirmation processing unit periodically notifies the management device of update confirmation notifications indicating whether there is a firmware update for the device, and applies the file to the device when a file is released from the management device in response to the update confirmation notification.

13. A remote update method, comprising a management device and at least one communication device interconnected with the management device via a communication network, wherein the management device performs a remote update of the firmware of the communication device being managed, characterized in that: The management device, A data collection management table is used to manage the information collected from the communication device, including the device's settings and operational information. The update request management table manages remote update requests that represent requests for remote firmware updates to the communication device, combining information about the communication device, information about the files published by the communication device, the conditions under which the file publication begins (publishing conditions), and the conditions under which the file publication ends (completion conditions). Upon receiving an update confirmation notification from the communication device, indicating confirmation of whether a firmware update for the communication device has been received, the start and end points of the file release to the communication device are determined based on the information managed by the collected data management table and the information managed by the update request management table, and the determination result is notified to the communication device. The configuration information is static information about the applications and / or communications operating in the communication device. The operational information refers to information about the dynamic changes in the operating status and / or communication status of the communication device. The release conditions and completion conditions managed by the update request management table can be defined by combining at least one of the operational information managed by the data collection management table. The communication device, The management device periodically notifies this device of its setting information and / or operational information. The device periodically sends update confirmation notifications to the management device, indicating whether there is a firmware update for the device. If a file is published from the management device in response to the update confirmation notification, the file is applied to the device.

Citation Information

Patent Citations

  • Network system and control method for network system

    JP2016126584A