Method for updating embedded software

By enabling electronic nodes in railway monitoring systems to switch between low-speed and high-speed communication protocols for remote updates, the method addresses inefficiencies and security concerns in existing software update processes, facilitating quick, energy-efficient, and secure updates.

EP4211551B1Active Publication Date: 2024-12-18COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
EP2021782443
Authority / Receiving Office
EP · EP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-09-11
Filing Date
2021-09-10
Publication Date
2024-12-18
Estimated Expiration
2041-09-10

AI Technical Summary

Technical Problem

Current methods for updating embedded software in railway monitoring systems using low-power wide-area networks like LoRaWAN are inefficient due to high energy consumption, long update times, and security risks, especially when dealing with complex analysis software and large update files.

Method used

Implementing a method that allows electronic nodes to switch between low-speed LoRaWAN and high-speed protocols like Wi-Fi or Bluetooth for remote software updates, using a mobile device or drone to transmit updates temporarily and then reverting to low-speed mode to conserve energy and reduce service interruptions.

Benefits of technology

Enables rapid, secure, and cost-effective software updates with minimal service disruptions, reducing the time and energy required for updates while enhancing cybersecurity by limiting high-speed communication exposure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGF0001
    Figure IMGF0001
  • Figure IMGF0002
    Figure IMGF0002
  • Figure IMGF0003
    Figure IMGF0003
Patent Text Reader

Abstract

The invention relates to a software update method for updating software embedded in an electronic device having a nominal operating mode allowing messages to be exchanged with a remote server using a low-speed long-range communication protocol, in which the messages contain information generated by the embedded software. The method is implemented by computer and comprises at least steps consisting in: • - receiving, via the low-speed long-range communication protocol, a message for the activation of a high-speed short-range communication protocol; • - activating the high-speed short-range communication protocol; • - ending the nominal operating mode; and • - updating the embedded software with a software update received via the high-speed short-range communication protocol.
Need to check novelty before this filing date? Find Prior Art

Description

Scope of the invention

[0001] The invention relates to the field of software updates, and in particular to the updating of embedded software for structural monitoring using elastic waveguides, and especially the monitoring of a railway track. State of the Art

[0002] The update of embedded software for structural monitoring using elastic waveguides is relevant to numerous industrial sectors. Various elongated industrial structures can be presented as elastic waveguides: for example, rails in the railway sector or portal frame structures. Pipes (particularly in the oil and gas or nuclear industries) carrying fluids are also elongated structures for which ensuring integrity can be critical. Similarly, cables, for example, in passenger transport systems (cable cars or others), are elongated structures that can be used with elastic waveguides.

[0003] Thus, in the railway sector, the rail is a critical structure whose integrity must be monitored. Subjected to very high thermomechanical stresses (e.g., internal stresses due to resisted thermal expansion, train traffic), sections of rail wear down over time and can sometimes be subject to complete breakage. The condition of the tracks must be monitored to reduce or even eliminate the risk of derailment. Maintaining a railway network represents a major challenge in terms of both cost and safety for railway operators.

[0004] A well-known approach to monitoring track condition involves placing transducers (also called sensors) along the track. These transducers emit guided elastic waves that travel through the rails. These waves interact with defects (breaks or other, more minor faults). The resulting diffracted signal is then analyzed by specialized software at an electronic device, or "electronic node," to detect and locate the fault. A railway monitoring system can therefore comprise multiple electronic nodes distributed across the track. Each node can be associated with one or more transducers and performs local analysis of the signals it receives using embedded analysis software. The results of the node analyses can be transmitted to a remote server for broader analysis, typically via wireless communication technology.

[0005] Depending on the size and complexity of the embedded analysis software, and the communication protocol or technology between the electronic nodes and the remote server(s), there may be difficulties in updating the embedded software.

[0006] Indeed, communication speeds can be higher or lower, and require more or less energy to transmit data.

[0007] For example, while GSM / 3G / 4G / 5G cellular communications allow for the transmission of large amounts of data, this technology involves subscription costs and excessive energy consumption for a railway monitoring application. It is therefore unsuitable for software updates to analysis software embedded in each electronic node of a network of electronic nodes.

[0008] Conversely, low-power communication protocols such as the LoRaWAN protocol for the Internet of Things, which is an acronym for " Long Range Wide-area network "Wide Area Network" (WAN), or "Wide Area Network," enables low-bandwidth radio communications using LoRa technology. A major limitation of this type of protocol is the inability to send large amounts of data. Therefore, any bug fix or deployment of a new feature on a network of connected objects requires physically connecting to each object to correct a bug or inject a new software version. Such an operation is time-consuming and carries a risk of damaging the casings containing the electronic circuits. In the case of a railway track monitoring application where electronic nodes communicate with a remote server using LoRa technology, correction or updates performed by a person present significant safety risks because the nodes are located near the tracks.Also, low-bandwidth protocols such as LoRa are not suitable for remotely updating embedded software in each electronic node.

[0009] Recently, the LoRa Alliance proposed a solution called "FUOTA" for "Firmware Update Over The Air," recognizing that updating a sensor network is a critical feature without which industrial deployment is virtually impossible. The article by Khaled Abdelfadeel et al., arXiv:2002.08735v1 [cs.Nl] 20 Feb 2020, titled "How to make Firmware Updates over LoRaWAN Possible," examines FUOTA update scenarios for small embedded software (100 KB max) corresponding to applications with simple embedded processing. It demonstrates that updates to a single node, in a worst-case scenario where the node is far from the LoRa gateway, can take several hours.The FUOTA solution is therefore unsuitable for updating the software of a railway track monitoring system with a vast network of electronic nodes, each containing electronic circuits that must run a Linux-type operating system to operate complex analysis software that can be several megabytes in size. Updating such software using the FUOTA approach would be too time-consuming, would involve a significant service interruption, and would be very energy-intensive for a standalone system.

[0010] US document 2019 / 058990 A1 (HU XIN [DE]) February 21, 2019 describes a system and method for updating the firmware of a low data rate RF module using Bluetooth technology.

[0011] The document KR 2020 0021397 A (ELECTRONICS & TELECOMMUNICATIONS RES INST [KR]) February 28, 2020 describes a method for updating the software of a terminal using a wireless communication system, consisting of performing a software update process and changing the communication mode of the first terminal from the second communication mode to the first communication mode.

[0012] There is therefore a need for an embedded software update solution that addresses the aforementioned drawbacks. Summary of the invention

[0013] The present invention can be used for monitoring cables, pipes or any other elongated structure, i.e. having a preferred direction, which can act as an elastic wave guide for which the monitoring technique is based on the analysis of elastic waves.

[0014] The invention primarily relates to the context of updating embedded software in electronic devices or nodes installed along railway tracks, nodes which communicate track condition analysis data to a remote server via a low-power protocol such as LoRaWAN. Other low-power wide area networks, generically defined by the English term "LPWAN" for "Low Power Wide Area Network", may be used.

[0015] More generally, the invention will find application in any environment having a network of connected objects communicating with a remote server via a low-bandwidth, low-power protocol.

[0016] The invention is described in the attached set of claims.

[0017] An object of the present invention is a method for remotely updating software, i.e. without physical connection, of electronic nodes of an elongated structure monitoring system.

[0018] In a general implementation, the invention exploits the ability of an electronic node to operate using different communication modes. When an embedded software update is scheduled for a node (and by extension, for multiple nodes), a command is issued, i.e., a LoRa message is sent to the network node(s) to activate a local broadband protocol (Wi-Fi or another protocol such as Bluetooth) on the node(s). The software update is then sent on the fly via the activated broadband protocol, using a mobile device (carried by a train, an operator, or a drone) passing near the nodes. The broadband protocol is immediately deactivated on each node as soon as its software update is complete, in order to reduce the node's power consumption.

[0019] Unlike the prior art FUOTA system, the device of the invention makes it possible to keep the monitoring system fully up to date without drastically increasing the update time even in the event of an increase in the size of the update files, whether for functional updates to improve the embedded algorithms or for security updates such as during the evolution of the Linux kernel.

[0020] An object of the present invention is a remote update device for embedded software, comprising means for operating the method of the invention, which has, among other advantages: To limit service interruptions for software updates through rapid interventions; To offer low intervention costs, either by an operator who does not need to physically connect to the node, or by a drone or train; To strengthen cybersecurity by reducing opportunities to deposit malicious code in a node, by only temporarily opening a high-speed communication channel, unlike configurations where a high-speed communication channel is permanently open; To have low power consumption for software updates, by only temporarily activating a local high-speed communication protocol; To allow the rail monitoring service to be maintained for a large part of the time.

[0021] Low-power communication protocols use free radio frequencies, so they are inexpensive to deploy, and it is possible to deploy them on a site if no pre-existing network is available, unlike 4G deployments.

[0022] Because this type of low-power communication protocol does not allow the transmission of large files, the device of the present invention is configured so that fault detection algorithms are embedded as software in each electronic node to perform local diagnostics. The result is then transmitted to a remote server. Advantageously, the messages generated by the nodes can be limited to a few bits (i.e., providing binary YES / NO information indicating whether the rail is damaged or not) or contain a few bytes (i.e., providing a slightly more elaborate message containing more detailed information, for example, on the criticality level of the fault, its location, its type, etc.).

[0023] A remote server retrieves messages from the nodes, in order to pool the local information reported by each node, and refine the diagnosis to guarantee the detection of real faults and limit false positives.

[0024] Advantageously, in the context of the invention, the low-data-rate, long-range communication protocol (e.g., LoRa, Sigfox, etc.) allows simplified information on the health status of a node and a section of rail limited to a few nodes to be transmitted to a remote server. After analysis and processing at the server level (by a supervisor module) of all the basic information received, it is determined whether there is a probable presence of a defect, such as a complete break, an incipient break, or wear.

[0025] Advantageously, in the context of the invention, the high-speed, short-range communication protocol (e.g., Wi-Fi, Bluetooth, etc.) allows a software update to be transmitted to a node with a very limited impact on the node's normal operation, by activating the local-range, high-speed communication protocol only for the duration of the update code download. To achieve the desired results, a method is proposed for updating the software embedded in an electronic device having a normal operating mode that allows the exchange of messages with a remote server using a low-speed, long-range communication protocol. The messages contain information generated by said embedded software. The method is implemented by computer and comprises at least the following steps: - - receive, via the low-power long-range communication protocol, an activation message for a high-power short-range communication protocol; - - activate said high-power short-range communication protocol; - - stop the nominal operating mode; and - - update the embedded software with a software update received via the high-power short-range communication protocol. - According to alternative or combined embodiments: the high-power short-range communication protocol activation step includes steps consisting of: receiving, via the high-power short-range communication protocol, a connection request to a mobile device carrying a software update for said embedded software; receiving, via the high-power short-range communication protocol, said software update if the request is accepted; and deactivating the high-power short-range communication protocol.The process includes, after the embedded software update step, a step to reactivate the electronic device's nominal operating mode. The low-bandwidth, long-range communication protocol is an LPWAN type protocol, and messages exchanged with the remote server are in LoRa format. The high-bandwidth, short-range communication protocol is a Wi-Fi or Bluetooth type protocol. After receiving a connection request to a mobile device via the high-bandwidth, short-range communication protocol, the process includes an authentication step to verify the mobile device's identity and the integrity of the update code. The authentication step to verify the mobile device's identity and the integrity of the update code consists of verifying the MAC algorithm.The process further includes a step of sending an update confirmation message to the remote server via the low-bandwidth long-range communication protocol, and a step of reactivating normal operation.

[0026] The invention also covers a computer program product comprising non-transient code instructions for carrying out the steps of the process of the invention, when the program is executed on a computer.

[0027] The invention further covers a software update device for embedded software in an electronic device having a nominal operating mode for exchanging messages with a remote server according to a low-bandwidth long-range communication protocol, the messages containing information generated by said embedded software, the software update device comprising means for implementing the steps of the process of the invention.

[0028] In one embodiment, the electronic device is an electronic node among a plurality of electronic nodes, each carrying updatable software, the plurality of electronic nodes being part of a railway track condition monitoring system based on the analysis of elastic waves guided in the rails.

[0029] The invention also covers a railway track condition monitoring system based on the analysis of guided elastic waves in the rails, the system comprising a plurality of electronic nodes, each electronic node comprising at least one software for analyzing guided elastic waves in the rails, and further comprising means for establishing a nominal low-speed long-range communication mode for transmitting "LoRa" format messages for rail fault diagnosis to a remote server, and for establishing a temporary high-speed short-range communication mode for receiving software update data. Description of the figures

[0030] Other features and advantages of the invention will become apparent from the following description and the figures in the accompanying drawings, in which: [ Fig.1 ] illustrates an implementation context for the device of the invention in a railway application; [ Fig.2 ] illustrates an example of LoRaWAN topology applicable to the implementation of the invention; [ Fig.3 ] illustrates the typical structure of a LoRa packet; [ Fig.4 ] illustrates an example of the structure of an electronic node according to the invention; [ Fig. 5 ] illustrates on a time diagram, the general steps of the software update process of the invention in one embodiment. Detailed description

[0031] There figure 1 This illustrates an example of implementing the software update device of the invention for a railway application. However, this example is not limiting, and those skilled in the art can adapt the described implementation to any other application using an elongated waveguide. In the example described, the waveguide is a rail.

[0032] There figure 1 shows the rails 101, 102 of a railway track 100 equipped with elastic wave transducers 1111-1, 1112-1, 1111-2, 1112-2.

[0033] The term "equipped" means that the transducers can be located in one or more locations selected from: under the head, whether on the inner web of the rail and / or on the outer web of the rail, or under the rail. In the illustrated example, two transducers (1111-1, 1111-2) are arranged respectively on one of the two rails 101, 102 near a first electronic node 111-1, and two transducers (1112-1, 1112-2) are arranged respectively on one of the two rails 101, 102 near a second electronic node 111-2.

[0034] A person skilled in the art understands that the example is used to describe the principles of the invention but is not limiting as to the number of transducers, nodes that can be deployed, and the distance between nodes. For example, electronic nodes can be installed every kilometer along a railway line.

[0035] Although not described, transducers can also be placed on the rails of a second railway track for the circulation of trains in the other direction, these transducers being able to be coupled to the same electronic nodes as the first railway track.

[0036] A transducer is a device that converts one physical signal into another. There is a wide variety of transducers. For the generation and reception of acousto-elastic waves transmitted through a material (a rail, a tube, a structure, etc.), the use of an electromagnetic acoustic transducer (EMAT) can be an alternative to the use of a piezoelectric transducer (PZT).

[0037] Each electronic node installed along a railway track is configured, i.e., includes at least one elastic wave analysis software module, to analyze signals from the transducers in order to determine the presence of faults in the rails. Different types of elastic waves propagate between two transducers, 1111-1 and 1112-1. Each transducer can function as both a transmitter and a receiver. Several signals can then be used, these signals corresponding to: a wave transmitted from the transmitter to the receiver and vice versa, as well as a reflected wave when a transmitter operates in pulse-echo mode (the same transducer acting as both transmitter and receiver). Thus, the presence and / or absence of a transmitted and / or reflected wave indicates the presence or absence of a local fault.

[0038] The electronic nodes are configured to communicate with a remote server 110, with messages informing of the presence or absence of a fault in the section of rail under consideration.

[0039] In the context of the invention, the communication of fault diagnostic messages between the electronic nodes and the remote server is established using a low-power communication protocol. In one embodiment, the protocol is LoRaWAN and the messages are formatted according to the LoRa frame structure.

[0040] There figure 2 illustrates an example of LoRaWAN topology and the figure 3 shows a known LoRa frame format.

[0041] "LoRaWAN," short for "Long Range Wide-area network," is a low-power, two-way radio wave communication protocol with several advantages: Reduced consumption; Small volume; and Low cost.

[0042] The frequency bands used are free (868MHz for example in Europe) but limited (~ 36s / h for 868MHz) which constrains the size of the data transmitted (to a few tens of kbits / h).

[0043] A typical LoRaWAN network shown in figure 2 It consists of low-power wireless devices (111) that communicate with application servers (110) (comprising a network server (214), an application server (215), and an application server (216)) via gateways (212). The modulation technique used between the devices (111) and the gateways (212) is LoRa. Communication between the gateways (212) and the servers (110) is established via the IP protocol using an Ethernet or 3G / 4G backhaul network.

[0044] The LoRaWAN network topology is called a star-of-stars topology, with an application network server at the center that is connected to a multitude of gateways which are themselves connected to a multitude of end devices.

[0045] In a network sense, the equipment is not connected to the gateways (and is therefore not shown on the figure 1 ). The gateways serve only as relays to reach the server 214 managing the network, itself connected to one or more application servers 215, 216. The data packets sent by the equipment 111 are retransmitted by the gateways after adding only information concerning the quality of the received signal.

[0046] There figure 3 This illustrates the typical structure of a LoRa packet, where field sizes are indicated in bits. It consists of a preamble, possibly a header, a data field, and possibly an error check. The maximum data size ranges from 51 to 222 bytes, depending on the spreading factor (SF) used (the higher the SF, the smaller the data size). The different fields contained in a LoRaWAN packet are: Mtype: This field indicates the message type (upstream or downstream). FU: This field is reserved for future use. Major: This field indicates the protocol version used. MIC: This field allows packet integrity calculation to detect if it has been altered during transmission. DevAddr: This field contains the device address. FCtrl: This field allows rate adjustment and acknowledgments. It indicates the presence of extra packets as well as the length of the FOpts field. FCnt: This field is a frame counter (incremented with each transmission). FOpts: This field allows MAC commands to be passed (connectivity control by a device, for example). FPort: This field contains the port of the application or service to which the packet is addressed.

[0047] A person skilled in the art can refer to existing literature to supplement the reading on LoRa technology, such as the specification documents made available by the "LoRaWaN Alliance".

[0048] Returning to the figure 1 The remote server 110 is configured (i.e., includes monitoring capabilities) to combine fault diagnostic messages received from electronic nodes and containing local diagnostic information generated by the fault analysis software module of the electronic node that sent the message. The remote server performs a comprehensive fault diagnosis that is accurate through the aggregation of these local diagnoses.

[0049] The analysis results can be displayed on a 112 HMI interface in a format directly usable by the user, visually indicating, for example, the location of the fault(s) on a track map, or in any other format suitable for the application. An alert can be sent to train drivers and / or any traffic control system, and / or a braking command can be triggered depending on the analysis results.

[0050] For the implementation of the software update method of the invention, the electronic nodes are configured to communicate according to a high-speed short-range protocol with a mobile device 114.

[0051] A mobile device, as defined in the present invention, can be any type of device capable of connecting to a node via a high-speed, short-range protocol when it is in close proximity. It can be made mobile autonomously or by being transported by an operator, a drone, or a train traveling on the track, as illustrated. The mobile device includes at least one memory unit for storing a software update to be applied to the node(s).

[0052] There figure 4 illustrates an example of the structure of an electronic node 111 in an embodiment allowing for a software update according to the method of the invention.

[0053] Generally, a node 111 includes: a power source 400 (e.g. battery power supply, solar panels, access to an external power supply, etc.); an electronic circuit including an elastic wave measurement circuit 410; an elastic wave emission circuit 412; storage components 414; a signal processing circuit 416 (FPGA, CPU or other for processing received signals); a wireless communication circuit 418; a GNSS (Geolocation and Navigation by Satellite System) receiver 420, for example of the GPS type including an antenna 421 and the on-board electronics.

[0054] A node 111 is coupled to at least one guided elastic wave transducer (eg 1111), which is for example installed on a rail near the node.

[0055] The 400 energy source can be supplied by dynamo systems recharged by the passage of trains on the railway and / or by one or more photovoltaic panels and / or by one or more wind turbine masts.

[0056] The 418 wireless communication circuit is configured to establish at least two communication modes: a long-range low-speed communication mode (e.g. LoRa, Sigfox, ...) and a short-range high-speed communication mode (e.g. Wifi, Bluetooth, ...).

[0057] The 418 wireless communication circuit includes appropriate components and associated antenna to transmit fault diagnostic messages according to the long-range low-speed LoRa communication protocol, as well as appropriate components and associated antenna to receive software update data according to the short-range high-speed WiFi protocol.

[0058] The GNSS 420 circuit can be shared between several transducers. A satellite positioning system, known as GNSS (for Geolocation and Navigation by Satellite System), relies on a constellation of artificial satellites to provide a user or circuit (via a portable receiver) with its position, speed, and time. In one embodiment, the GNSS circuits are associated with the transducers in such a way as to precisely time-stamp the signals measured by the transducers, while ensuring sub-microsecond synchronization between two nodes several kilometers apart (the distance is not critical as long as there is GNSS coverage at both nodes).

[0059] In some embodiments, the time-stamping circuits and / or the computing circuits and / or the GNSS circuits can be variously distributed in space (e.g., existence of centers, fully distributed system, hierarchical arrangement between nodes).

[0060] The signal processing or calculation circuit 416 is associated with computing and / or memory resources 414, which can be local or remote. The signal processing circuit 416, embedded in each node, uses signals from elastic waves received from nearby nodes to perform a local diagnosis regarding the presence or absence of a fault. The calculation circuit and fault analysis software 416 enable the determination or detection of one or more local faults along a length of rail, including several transducers, based on synchronized measurements of acousto-elastic waves propagating in the rail.

[0061] A local defect can be determined - its existence, its location, its category - by applying predefined thresholds, said predefined thresholds being determined by reference to a real state, for example with respect to a state of the rail which is known to be sound or with respect to a calibrated state of said rail, or by reference to a simulated state of the rail.

[0062] A defect can be characterized, particularly in terms of its nature, size, spatial orientation, or geometry, by amplitude and / or frequency analysis, signal shape analysis, frequency spectrum analysis of the measurement signals, analysis of the rail's impulse response function, and / or identification of a change in the propagation mode of at least one of the waves propagating in the rail. A defect can be oriented horizontally or vertically. Based on the signal analysis, its position and size can be estimated. Through machine learning or comparison with charts derived from mathematical or numerical models, quantitative characterization can determine the type of defect (corrosion, crack, discontinuity, etc.).

[0063] A fault can be characterized by differentiating between the signal received via the rail head and the signal transmitted via the rail web. For example, if the signal is transmitted to one end of the rail but not the other, it is possible to determine approximately the extent of the fault and its position within the rail section. If no signal is transmitted, the rail break is likely almost complete. To overcome diagnostic uncertainties, the device of the invention advantageously transmits all local diagnostics to a supervisor (analysis module on a remote server) which aggregates all the information to enable a comprehensive diagnosis and precise fault characterization.

[0064] Since each node only has partial information about the overall system, the simplified local diagnosis performed by a node is transmitted to the remote server 110. There, monitoring software aggregates the data from all the nodes to improve the diagnosis and issue a final decision. Indeed, when a node does not receive a signal, it assumes there is a rail break, whereas the problem could simply be due to the transmitter not transmitting a signal. Therefore, the server, which aggregates the information received from the nodes, determines the status of the transmitting node. The analysis performed at the remote server level thus refines fault detection and leads to better decisions.

[0065] Several scenarios are possible for transmitting local information received by each node to the remote server, allowing for varying levels of communication throughout the day. One implementation choice is to use the shortest possible but frequent messages, containing only binary information about the health status of each segment (for example, '0' for 'healthy' and '1' for 'damaged'). More comprehensive messages containing additional information such as the criticality or location of the fault, an estimated size, temperature, battery health status, and the node's health status in case of component failures, can also be transmitted, but at lower frequencies.

[0066] There figure 5 illustrates on a time diagram, the general steps of the software update process of the invention in one embodiment.

[0067] When an update of the embedded software in one or more electronic nodes 111 is required, the remote server 110 sends 502 via the low-power communication protocol LPWAN, an order to the node(s) of the network concerned, i.e. all or part of the plurality of nodes in the network, for example only those that are failing, an instruction to activate their high-speed communication network (Wifi or Bluetooth).

[0068] In one operating mode, the 503 activation by the node of its Wifi communication component can be done while maintaining normal node activity (its so-called nominal mode).

[0069] In one embodiment, the activation instruction received by the node may include a unique identification key or "secret key", which will allow the node to verify, by means of known message authentication mechanisms (i.e. MAC for "Message Authentication code" in English) or other similar technique, the identity of the sender of the update, and the integrity of the update software code which could possibly be altered during its transmission.

[0070] After activating its Wi-Fi communication mode (503), the node waits to receive a connection request from a mobile device (114) carrying the software update. Depending on the type of mobile device and its mode of transport, it will pass near the node waiting for the update. When it arrives near the node, the connection request is accepted by the node, and the connection between the node (111) and the mobile device is established (504).

[0071] Once the connection is approved 505 by the node, the mobile device sends the update code to the node 506.

[0072] In an optional step, the node, which has previously received a secret key from the server, can authenticate the identity of the sending mobile device requesting the connection, and if necessary, authorize the uploading of the software into its internal memory.

[0073] In one embodiment, the step where the node verifies the sender's (mobile device's) identity can be performed afterward by checking the well-known MAC algorithm. Indeed, only a legitimate sender should possess the secret key and therefore transmit the correct message authentication code. The secret key can be transmitted via the LoRa protocol with an update instruction or be hard-coded into the node.

[0074] Once the update code is received, and if applicable once the validity of the software received by the node is recognized, the node disables 507 high-speed communication (Wifi or Bluetooth).

[0075] Simultaneously, node 111 stops its nominal operation and informs server 110, which removes it from the list of active nodes in the network.

[0076] Node 111 can then proceed with deployment 509 of the received software update.

[0077] In a subsequent step 510, the node sends the server, via the low-power communication protocol LPWAN, a confirmation message that it is up to date, then in a subsequent step 511 it reactivates its nominal operation (after a possible self-diagnostic phase).

[0078] The described software update process allows the interruption of a node's nominal mode to be reduced only to the time of the update deployment by the node itself (steps 507 to 511), and thus keep the monitoring service active for a large part of the time.

[0079] Furthermore, the described software update process allows for low power consumption for a software update, thanks to a temporary activation of a local broadband communication protocol (steps 502 to 507), limited to the time required to download the code from a mobile device to a node.

[0080] The invention can be implemented using hardware and / or software. It can be available as a computer program product on a computer-readable medium. The medium can be electronic, magnetic, optical, or electromagnetic. The computing resources can be centralized and / or distributed ("cloud computing"), optionally with or using peer-to-peer and / or virtualization and / or redundancy technologies. The software code can be executed on any suitable processor (e.g., a microprocessor) or processor core, or a set of processors, whether located in a single computing device or distributed across multiple computing devices. The computer implementation of the invention can utilize centralized systems (e.g., client-server or master-slave) and / or distributed systems (e.g.A peer-to-peer architecture using accessible computing resources, possibly opportunistically (e.g., ad hoc networks, etc.). The system (or its variants) implementing one or more steps of the process may use one or more dedicated electronic circuits or a general-purpose circuit. The process may also be implemented on a reprogrammable computing machine (a processor or microcontroller, for example) executing a program comprising a sequence of instructions, or on a dedicated computing machine (e.g., an array of logic gates such as an FPGA or ASIC, or any other hardware module). A dedicated circuit can notably improve performance. The reference to a computer program that, when executed, performs any of the functions described above is not limited to an application program running on a single host computer.On the contrary, the terms computer program and software are used here in a general sense to refer to any type of computer code (e.g. application software, firmware, microcode, APIs, web services, or any other form of computer instruction) that can be used to program one or more processors to implement steps in the process.

Claims

1. A software update method for a software program for monitoring an elongate structure which uses resilient wave guides, the software program being installed on-board an electronic device (111) which is installed along the elongate structure, which communicates with a remote server (110) in a nominal operating mode which enables messages to be exchanged with the remote server in accordance with a low-speed long-range communication protocol, the messages containing data for analysing the state of the elongate structure, the method being implemented by a computer and comprising at least steps involving: - receiving (502) via the low-speed long-range communication protocol an activation message for activating a high-speed short-range communication protocol at the electronic device; - activating (503) a temporary operating mode of the electronic device which enables messages to be exchanged in accordance with the high-speed short-range communication protocol, and deactivating the nominal operating mode in order to stop the low-speed long-range communications with the remote server; - updating (509) the on-board software program with a software update which is received via the high-speed short-range communication protocol; - deactivating the temporary high-speed short-range operating mode; and - reactivating (511) the nominal operating mode.

2. The method according to claim 1, comprising, after the step of activating the temporary high-speed short-range operating mode, steps involving: - receiving (504) via the high-speed short-range communication protocol a connection request for connection to a mobile device (114) which transports a software update of the on-board software program; - receiving (506) via the high-speed short-range communication protocol the software update if the request is accepted (505); and - deactivating (507) the high-speed short-range communication protocol.

3. The method according to claim 1 or 2, wherein the low-speed long-range communication protocol is a protocol of the "Low Power Wide Area Network, LPWAN" type and the messages exchanged with the remote server are in the "Long Range, LoRa" format.

4. The method according to any one of claims 1 to 3, wherein the high-speed short-range communication protocol is a protocol of the WiFi or Bluetooth type.

5. The method according to any one of claims 2 to 4, comprising after the step of receiving via the high-speed short-range communication protocol a connection request for connection to a mobile device, a step of authenticating the identity of the mobile device and verifying the integrity of the update code.

6. The method according to claim 5, wherein the step of authenticating the identity of the mobile device and verifying the integrity of the update code uses a "Message Authentication Code, MAC" algorithm.

7. The method according to any one of claims 1 to 6, further comprising a step (510) which involves sending to the remote server via the low-speed long-range communication protocol an update confirmation message, and a step (511) of reactivating the nominal operation.

8. A computer program product, the computer program comprising encoding instructions which enable the steps of the method according to any one of claims 1 to 7 to be carried out when the program is carried out on a computer.

9. A software update device for a software program for monitoring an elongate structure which uses resilient wave guides installed on-board an electronic device (111) having a nominal operating mode which enables messages to be exchanged with a remote server (110) in accordance with a low-speed long-range communication protocol, the messages containing data for analysing the state of the elongate structure, the software update device comprising means for carrying out the steps of the method according to any one of claims 1 to 7.

10. The software update device according to claim 9, wherein the electronic device is an electronic node from a plurality of electronic nodes, each one containing a software program which can be updated, the plurality of electronic nodes being part of a system for monitoring the state of railways based on the analysis of resilient waves which are guided in the rails.

11. A system for monitoring the state of railways based on the analysis of resilient waves which are guided in the rails, the system comprising a plurality of electronic nodes, each one containing at least, embedded therein, one software program for analysis of resilient waves which are guided in the rails which can be updated in accordance with the steps of the method of any one of claims 1 to 7, and also comprising means for establishing a nominal low-speed long-range communication mode to transmit to a remote server messages in the "LoRa" format for fault diagnosis in the rails, and for establishing a temporary high-speed short-range communication mode for receiving software update data.

Citation Information

Patent Citations

  • Method of upgrading firmware by configuring a low data-rate radio frequency (RF) module using high frequency RF bands

    US20190058990A1

  • KR20200021397A