GB2572387A - Software-updating method for a wireless communication network - Google Patents

Software-updating method for a wireless communication network Download PDF

Info

Publication number
GB2572387A
GB2572387A GB1805040.1A GB201805040A GB2572387A GB 2572387 A GB2572387 A GB 2572387A GB 201805040 A GB201805040 A GB 201805040A GB 2572387 A GB2572387 A GB 2572387A
Authority
GB
United Kingdom
Prior art keywords
node
package
network
radio
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1805040.1A
Other versions
GB201805040D0 (en
Inventor
Juven Ville
Ylanen Jussi
Kaseva Ville
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wirepas Oy
Original Assignee
Wirepas Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wirepas Oy filed Critical Wirepas Oy
Priority to GB1805040.1A priority Critical patent/GB2572387A/en
Publication of GB201805040D0 publication Critical patent/GB201805040D0/en
Priority to DK19164509.2T priority patent/DK3547615T3/en
Priority to ES19164509T priority patent/ES2895182T3/en
Priority to PT19164509T priority patent/PT3547615T/en
Priority to EP19164509.2A priority patent/EP3547615B1/en
Priority to PL19164509T priority patent/PL3547615T3/en
Priority to HUE19164509A priority patent/HUE056451T2/en
Publication of GB2572387A publication Critical patent/GB2572387A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

In a wireless communication net­work (fig.1 100) comprising radio nodes (fig.1 102, 104, 106, 108, 650) the nodes are configured to receive 222 a software-distribution package e.g. an over-the-air firmware update. The method of the invention comprises, at the first node, sending a timer frame 228 to a second node indicating when all nodes of the network are to execute the re­ceived package in order to update software on the nodes. Each node then sets an update timer according to the timing information in the timer frame 230, and indicates successful reception 232, so that it can execute the new package 236 at the same time as other nodes. If a node(s) does not report reception of the timer frame, the timer value can be reset and new timing information redistributed 233 until it can be deduced that all nodes have the correct information. The method synchronises the moment when new software is executed on the nodes after distribution, ensuring that all nodes start using it at the same time and are therefore using the same version. The new software therefore does not have to be backwards compatible with previous versions thus eliminating the need for legacy software support.

Description

SOFTWARE-UPDATING METHOD FOR A WIRELESS COMMUNICATION NETWORK
Technical field
The application relates generally to a software-updating method for a wireless communication network.
Background
In wireless communication networks, e.g. in wireless mesh networks, there is a need to deliver and take into use new software versions for both device application and communication protocols. A new software version for communication protocols could be needed for e.g. due to correcting software error, improving performance, or adding new functionality improving mesh network operation.
One known solution is an over-the-air software delivery to wireless devices, which performs an independent data download from a software distribution server, usually managed as individual point-to-point delivery and takes the new software version in use independently, in asynchronous manner. This results that the network has different types of devices operating in the system: a part of the devices still use an old software and a part of the devices use the new software. So, the new communication protocol software has to be fully backwards compatible so that the devices with the new software can operate in old networks, utilizing only old functionality until all the devices have the new software.
However, the known solution allows that the distribution of the new software can be done in longer time avoiding high distribution load as well as each device can take the new software in use when suitable for to the end user.
Summary
One object of the invention is to provide a distribution and application of a new software package for communication protocols in wireless communication networks.
One object of the invention is fulfilled by a wireless communication network, a radio node device, software-updating methods, a computer program, and a computer-readable medium according to the independent claims.
One embodiment is a wireless communication network (system) comprising radio nodes, which comprise a first radio node and a second radio node. The nodes are configured to provide a bi-directional radio communication between each other. The nodes are configured to receive a software-distribution package. In addition, the first node sends to at least the second node a timer frame indicating when all nodes of the network start to execute the received package in order to update a software of the nodes.
One embodiment is a software-updating method for a wireless communication network in accordance with the previous embodiment. The method comprises a tep of receiving, by the radio nodes, a software-distribution package. In addition, the method comprises steps of sending, by the first radio node, to at least the second node a timer frame indicating when all nodes of the network start to execute the package and receiving, by at least the second node, the timer frame.
One embodiment is a radio node device (apparatus) for a wireless communication network in accordance with the previous embodiment. The node device comprises a microcontroller and a radio transceiver. The node device is configured to provide, by the radio transceiver, a bi-directional radio communication with at least one another radio node device and to receive, by the radio transceiver, a softwaredistribution package. In addition, the node device sends, by the radio transceiver, to the at least one another node device a timer frame indicating when all radio node devices of the network start to execute the received package in order to update a software of the devices.
One embodiment is a software-updating method for the radio node device in a wireless communication network in accordance with the previous embodiments. The method comprises steps of providing, by the radio transceiver, a bi-directional radio communication with at least one another radio node device and receiving, by the radio transceiver, a software-distribution package. In addition, the method comprises a step of sending, by the radio transceiver, to the at least one another node device a timer frame indicating when all radio node devices of the network start to execute the received package in order to update a software of the devices.
One embodiment is a computer program (software) for software-updating by means of the radio node device in a wireless communication network in accordance with the previous embodiments, when run in the node device (computer). The program comprises a communication code for providing, by the radio transceiver, a bi-directional radio communication with at least one another radio node device and a reception code for receiving, by the radio transceiver, a softwaredistribution package. In addition, the program comprises a sending code for sending, by the radio transceiver, to the at least one another node device a timer frame indicating when all radio node devices of the network start to execute the received package in order to update a software of the devices.
One embodiment is a tangible non-volatile computer readable medium comprising the computer program in accordance with the previous embodiment. The program for software-updating is performed by means of the radio node device in a wireless communication network in accordance with the previous embodiments, when run in the node device. The program comprises a communication code for providing, by the radio transceiver, a bi-directional radio communication with at least one another radio node device and a reception code for receiving, by the radio transceiver, a software-distribution package. In addition, the program comprises a sending code for sending, by the radio transceiver, to the at least one another node device a timer frame indicating when all radio node devices of the network start to execute the received package in order to update a software of the devices.
Further embodiments are disclosed in the dependent claims.
Brief description of the figures
The embodiments are presented with reference to the following figures:
Fig. 1 presents an example of a wireless communication network
Fig. 2a-2g present an example of a software-updating method
Fig. 3 presents an example of a download of a software-distribution package presented in fig. 2d
Fig. 4 presents an example of a transmission of timing information presented in fig. 2f
Fig. 5 presents exaples of communication frames used in the method
Fig. 6 presents an example of a hardware architecture of a radio node device
Detailed description of the figures
Fig. 1 presents a wireless communication network system 100, which is e.g. a wireless mesh network (WMN).
The WMN 100 can be e.g. a wireless sensor network (WSN) and it is designed, but not limited, for radio systems using e.g. 5 GHz, 2.4 GHz, 868 MHz, 870 MHz, and 915 MHz unlicensed frequency bands. Similarly, operation in any licensed spectrum or Shared Licensed Access (LSA) spectrum can be supported.
The wireless communication in the network 100 can be based on e.g. Bluetooth Low Energy (BLE), IEEE 802.15 standard, IEEE 802.11 standard, or other radio protocol.
The network 100, which is the WMN, can comprise radio node devices 102, 104, 106, 108 and these node devices 102, 104, 106, 108 communicate by using a bidirectional radio communication between each other in a format of communication frames to each other.
The network 100 comprises at least one radio sink node (gateway) device 106, e.g. one, two, three, four or more sink nodes 106.
The network 100 can comprise at least one cluster 110.
Each cluster 110 of the network 100 comprises a router (head node) device 102 and at least one member node (subnode) device 104.
The at least one member node 104 can comprise e.g. one, two, three, four, five or more nodes 104.
In addition, the network 100 can have routers 102 without member nodes 104. This can be especially important at the edge of the network 100 allowing possible new nodes 104, 108 to find the existing network 100.
Alternatively, all nodes of the network 100 can operate as routers 102 and transmit a beacon (message) enabling any other node 104, 108 to transmit for it. Thus, an operation where only part of nodes 102, 104, 108 operate as routers 102 is an optimization of the network 100.
The router 102 communicates with the at least one member node 104 inside its cluster 110 and with a sink node (gateway) device 106 or other router 102 of the network 100 outside its cluster 110.
Alternatively, the network 100 can comprise only single sink node 106, which operates as a router 102 and other nodes 104, 108 are connected with that, whereupon the nodes 104, 108 connected to the sink node 106 function as member nodes 104, 108 and, thus, forming one cluster 110. However, a typical sensor network is such that all nodes 102, 104, 108 cannot communicate directly with the sink node 106 due to extensive distance between nodes 102, 104, 106, 108 and limited radio range, whereupon it is needed multi-link (multi-hop) communication between a node 102, 104, 108 and the sink 106.
Fig. 2a-2g present how a certain software (firmware), which nodes 102, 104, 106, 108 use, is updated in the network 100 in accordance with an updating method 211.
The software can be e.g. a communication, control, or monitoring application for the nodes 102, 104, 106, 108.
The communication of this over-the-air programming method 211 is performed by using e.g.communication frames 540, 542, 543, 544, 545, 546, 547, 548 in accordance with fig. 5.
The control and monitoring of the over-the-air programming method 211 is done through sink nodes 106, but each node 102, 104, 108 in the network 100 has responsibility to follow possible coming software updates and act properly once such updating need is detected.
At a step 212 of the method 211 all nodes 104, 106, 108 use a current (run-time) version of the software and the same version is in a memory of each node 102, 104, 106, 108 according to fig. 2b. The used version of the software is indicated by e.g. a sequence number 541.
At a step 214 a new software-distribution package, which is used to update the current version, is presented in the network 100. Each sink node 106 receives the package from a back end system of the network 100 according to fig. 2c and stores the package in its memory.
At a step 216, when the sink node(s) 106 has stored the package, each sink node 106 start to advertise the new package by sending frequently a signalling frame 540, which indicates availability to acquire the package, in accordance with fig. 2d. The indication of the new package can be e.g. a new sequence 541 number in the signalling frame 540.
At a step 218, all nodes 104, which are within a communication range of the sink node(s) 106 receive the signalling frame 540 and the indication of the new package.
At a step 220, each node 104, which has received the indication of the new package, determines whether to acquire the indicated new package on a grounds of the indication in the signalling frame 540.
The determination can be based on the sequence numbers 541 of the current version and new package. This enables to use the principle the higher the sequence number 541 is, the newer the version is. Alternatively, if an older version of software needs to be re-distributed, e.g. due to an error in the current version, the old version is assigned a higher sequence number 541. In any case, each node 104 compares the sequence numbers 541 in order to determine should it acquire the available, indicated package.
At the step 220, when the determination indicates that the new package is older or the same version as the current version, which the node 104 uses and which it has stored in its memory, it continues similarly as before by using the current version and by scanning new signalling frames 540.
When the determination indicates that the new package is newer than the current version, which means that the new package is available in some neighboring node 104, 106, the node 104 downloads the new package from the sink node 106, or from other node 104, which already has the new package, by using a download protocol according to fig. 3.
At a step 222, the node 104 sends a download command frame 542, which starts a download of the new package, to the sink node 106 or to other node 104 within a communication range of the node 104.
When the sink node 106, or this other node 104, receives the download command frame 542, it sends a download command acknowledgement frame 543 to the node 104, whereupon the node 104 prepares itself to receive the new package from the sender of the acknowledgement frame.
The sink node 106, or the other node 104, sends the new package, by means of at least one data segment frame 544, from its memory to the ready node 104. The new package can be sent in dozens, hundreds, or more data segment frames 544.
After each received data segment frame 544, the node 104 stores the received data segment of the new package in its memory and sends a data segment acknowledgement frame 545 in order to inform the sender that it has received the previous data segment frame 544.
Finally, when the last data segment frame 544 has been received and its data segment acknowledgement frame 545 has been sent to the sink node 106, or the other node 104, the node 104 send an end command frame, which indicates that it has completed the reception of the new package.
Each node 102, 104, 106, 108 that received the new package continues to run the current version of the software for the present.
At a step 224, upon receiving the new package and storing it, the node 104 sends a status report, which reports that it has copied the new package in its memory, in accordance with fig. 2e. The status report is sent to the sink node 106 directly or other nodes 104 forward it over multiple radio links before it reaches the sink node 106. The sink node 106 collects all status reports from the network 100 in order to monitor the distribution of the new package.
This software-distribution method 211 provides an efficient method to distribute new software package in the network 100 so that it can be ensured that all nodes 102, 104, 106, 108 receive the new package. As there can be hundreds or thousands of nodes 102, 104, 106, 108 in the network 100, an individual download of new software is not practical.
At a step 226, each node 104 that has acquired the new package, start to advertise the new package by sending its sequnce number in the signalling frame 540 similarly as the sink node 106 at a step 216. This leads into to the delivery of the new package throughout the multi-link network 100.
All nodes 104, 108, which are within a communication range of the sender node 102 receive the signalling frame 540 and the indication of the new package, and start to perform the determination step 220 and, when necessary, the downloading and transmission steps 222, 224, 226 similarly as the sender node 102.
At a step 228, once the sink node 106 has detected that all intended nodes 102, 104, 108 in the network 100 have received the new package, it starts to send timing information in a timer frame 546 in accordance with fig. 2f. The timer frame 546 indicates the moment of time when all nodes 102, 104, 106, 108 of the network
100 start to execute the received new package in order to update the certain software of the nodes 102, 104, 106, 108 at the same time.
A value of a timer is set on a basis of a propagation delay of the network 100 to let all or at least a desired portion of the nodes 102, 104, 106, 108 to get the timing information and to report its reception before the timer elapses.
At a step 230, all nodes 104, which are within the communication range of the sink node 106, receive the timer frame 546 and its timing information directly and nodes 102, 104, 108, which are outside the communication range, receive the timer frame 546 indirectly over necessary radio links.
Each node 102, 104, 108 sets its update timer according to the timing information in the timer frame 546 after the reception so that it can execute the new package at the same time with other nodes 102, 104, 106, 108.
At a step 232, each node 102, 104, 108, which received the timer frame 546 and set the update timer, sends directly to the sink node 106 or indirectly over necessary radio links a remote status frame 547 indicating that it has received the timing information.
If all or the desired part of the nodes 102, 104, 108 did not report the reception of the timer frame 546 within a predetermined given time, the timer value can be reset and re-distributed.
At a step 233, when the sink node 106 detects that all expected remote status frames 547 have not arrived, i.e. at least a status frame 547 of one node 102, 104, 108 lacks according to fig. 4, it sends updated timing information in the timer frame 546, which indicates the same moment of time when all nodes 102, 104, 106, 108 start to execute the new package, through the network 100.
Then, the sink node 106 start to scan again in order to receive the lacking remote status frames 547, whereupon it can deduce that all nodes 102, 104, 106, 18 have received the timing information.
Alternatively, if the sink node 106 did not receive the remote status frames 547 from all or the desired part of the nodes 102, 104, 108 within the predetermined time, it can deliver a cancel command frame 548 in order to cancel the execution of the new package.
This software-distribution method 211 enables to synchronize the moment when the new software is introduced in to use in the network 100, after successful software distribution. This ensures that all nodes 102, 104, 106, 108 start using the new software at same time and can communicate with using new software that can be non-backwards compatible with previous versions without need for supporting device with legacy software.
At a step 234, the timing elapses according to the calculation of the update timer of each node 102, 104, 106, 108 while all nodes 102, 104, 106, 108 still continues to run the current version.
At a step 236, when the update timer indicates the set moment of time, every node 102, 104, 106, 108 of the network 100 take the new version of the software into use instead of the current version by executing the new package in accordance with fig. 2g.
Alternatively, if the node 102, 104, 108 has acquired the new package at the step 222, but missed the timer frame 546 at the step 228, it can finally, after a long timer, execute it anyway by using a failsafe timer. This strategy is based on an assumption that the missing timer frame 546 is due to (temporarily) missed network links and it is better to start using the new package than wait forever using with the current version, which may not be compatible with the new package.
If the network 100 is the BLE-based radio network, which uses BLE radio supported point-to-point, star, or mesh topologies (BLE Mesh), an originator BLE node device, which corresponds with the sink device 106, uses the BLE radio’s advertising protocol in order to distribute an advertising message in accordance with the step 216. The advertising message includes the sequence number of the new software package, whereupon it corresponds with the signalling frame 540.
Each BLE node device in the network 100 will look for possible new package, i.e. software updates, by scanning the advertising message and, when the scanning BLE node receives the advertising message in accordance with the step 218, it checks if a higher sequence number than their own is advertised by any neighboring BLE node in accordance with the step 220.
If the scanning BLE node detects the higher sequence number, it starts actions to acquire the new package in accordance with the step 222. In order to download the new package, the BLE node establishes a BLE connection with the neighboring BLE node that advertises the higher sequence number.
Since the BLE node has downloaded the new package, it sends a report to the originator BLE node by using the BLE mesh flooding or routing protocol built on top of BLE in accordance with the step 224.
The originator BLE node sends the time synchronization information, which corresponds with the timer frame 546, by the BLE advertising protocol, using the BLE mesh flooding or routing protocol in accordande with the step 228.
The download-side BLE node receives the synchronization information in accordance with the step 230 and, for one, sends the status report of receiving the time synchronization information, which corresponds with the remote status frame 547, to the originator BLE node by using the BLE mesh flooding or routing protocol in accordance with the step 232.
Finally, when the execution timer elapses, the new package is taken into use simultaneously by all BLE nodes within the network 100 in accordance with the steps 234 and 236.
Fig. 6 presents a hardware architecture of a radio node device 650.
The node device (apparatus) 650 includes a memory 651, microcontroller unit (MCU) 652, a radio transceiver 653, antenna 654, and a power supply 655.
The node device 650 can be a mesh-enabled radio node device, whereupon it can a router 102, a member node 104, 108, or a sink node 106, or it can be a BLE node device.
The MCU 652 is used to run a computer program (code) for a possible application and communication protocol. The node device 650 uses the radio transceiver 653 in order to transmit and receive data between other node devices 650 and/or the gateway device(s) 106, 650, and to transmit communication frames via the antenna 654. The power supply 655 includes components for powering the device, e.g. a battery and a regulator.
The memory 651 comprises the computer program, which is configured to perform actions of the node 102, 104, 106, 108, 650 presented in this description part, when it is run in a computer, e.g. in the node 102, 104, 106, 108, 650 by means of the MCU 652.
Such action can be the production of a bi-directional radio communication with at least one another radio node device 102, 104, 106, 108, 650 by using the radio transceiver 653.
In addition, such action can be the transmission 216 of a signalling frame 540, which indicates availability to acquire the package, to at least another node 102, 104, 108 by using the radio transceiver 653, when the node 650 has a new software-distribution package in its memory 651.
In addition, such action can be the reception 218 of the signalling frame 540, from other node 102, 104, 106 by using the radio transceiver 653, when the node 650 lacks the new package.
In addition, such action can be the determination 220 whether to acquire 222 the package on a grounds of the package sequence number 541 within the received signalling frame 540, when the node 650 runs the current package of the software and it has the current package in the memory 651.
In addition, such action can be the reception (download) 222 of the new package by using the radio transceiver 653, when the node 650 uses the current package and other node 102, 104, 106 uploads the package to the node 650.
In addition, such action can be the reception 222 of a download command frame 542 from other node 102, 104, 108, which lacks the package, by using the radio transceiver 653, when the node 650 has the new package in its memory 651.
In addition, such action can be the transmission (upload) 222 of at least one data segment frame 544 to other node 102, 104, 108 by using the radio transceiver 653, when the node 650 has the new package in its memory 651 and the other node 102, 104, 108 lacks it.
In addition, such action can be the transmission 224 of a status report, which indicates that it has completed the reception 222 of the package, to the sender node 102, 104, 106 of the package by using the radio transceiver 653.
In addition, such action can be the reception 224 of the status report, which indicates that the sender node 102, 104, 106 has completed the reception 222 of the package by using the radio transceiver 653.
In addition, such action can be the transmission 228 of a timer frame 546 to other node 102, 104, 108, by using the radio transceiver 653, when the node 650 and the other node 102, 104, 108 have the new package in their memory 651.
In addition, such action can be the reception 230 of the timer frame 546 by using the radio transceiver 653, when it has sent the status frame indicating that it has download the new package and store it in the memory 651.
In addition, such action can be the setting of its update timer according to timing information in the timer frame after its reception.
In addition, such action can be the transmission 232 of a status frame 547 indicating that it has received the timing information to the sender node 102, 104, 106 of the timing information by using the radio transceiver 653.
In addition, such action can be the reception of the status frame 547, which indicates that the sender node 102, 104, 106 has received the timing information by using the radio transceiver 653.
In addition, such action can be the transmission 233 of an updated timing information in the timer frame 546 to other node 102, 104, 108 by using the radio transceiver 653, when the node 650 and the other node 102, 104, 108 have the new package in their memory 651, and the node 650 has detected that at least one of nodes 102, 104, 108 has not sent the status report.
In addition, such action can be the reception of the updated timing information in the timer frame 546 from other node 102, 104, 108 by using the radio transceiver 653
In addition, such action can be the execution 236 of the received package at the same time with all nodes 102, 104, 106, 108 in accordance with the timing information in order to update a software of the nodes.
The aforementioned actions can be performed similarly in the BLE-enabled radio node device.
The computer program can be stored in a tangible non-volatile computer readable medium, e.g an USB stick or a CD-ROM disc.
This software-distribution method 211 provides an efficient method to distribute new software package in the network 100 so that it can be ensured that all nodes
102, 104, 106, 108 receive the new package. As there can be hundreds or thousands of nodes 102, 104, 106, 108 in the network 100, an individual download of new software is not practical.
In addition, the software-distribution method 211 enables to synchronize the moment when the new software is introduced in to use in the network 100, after successful software distribution. This ensures that all nodes 102, 104, 106, 108 start using the new software at same time and can communicate with using new software that can be non-backwards compatible with previous versions without need for supporting device with legacy software.
This software-distribution method 211 provides an individual software distribution when a software delivery might have parts that are not valid for all devices 102, 104, 106, 108 in the network 100. However, as any devices 102, 104, 106, 108 can be in the route of delivery they need to obtain new software package. For example, a mesh network 100 contains light control switches, lights, and motion detector sensors. The new software delivery contains new software for radio communication protocols and is needed by all devices 102, 104, 106, 108. The new software also contains software for correction light switches and light control application. The software package may comprise the new software and identifier for each portion of the new software so that each receiving device 102, 104, 106, 108 can identify the pieces of the new software that concerns it. As an example, the identifier may be a value of enumerated list or a pointer to a memory area that the software belongs to. As a motion detector sensor might be in data route from sink to light switch, all devices 102, 104, 106, 108 should receive all software packages for data distribution. However, when new software package is taken into use the motion sensor will only update it is radio communication software while light switches and lights update both radio communication software and application software.
In addition, the software-distribution method 211 allows to roll back also old software version in case that new software release is found erroneous when taken into use.

Claims (16)

1. A wireless communication network (100) comprising radio nodes (102, 104, 106, 108, 650) comprising a first radio node (102, 104, 106, 650) and a second radio node (102, 104, 650), wherein the nodes are configured to provide a bi-directional radio communication between each other and wherein the nodes are configured to receive (222) a software-distribution package, characterized in that the first node sends (228) to at least the second node a timer frame (546) indicating when all nodes (102, 104, 106, 108) of the network start (236) to execute the received package in order to update a software of the nodes.
2. The network of the preceding claim, wherein at least the second node sets its update timer according to timing information in the timer frame after the reception (230) of the timer frame.
3. The network of any of the preceding claims, wherein at least the second node sends (232) to the first node a status frame (547) indicating that it has received the timing information.
4. The network of any of the preceding claims, wherein the first node sends (216) to at least second node a signalling frame (540), which indicates availability to acquire the package.
5. The network of claim 4, wherein at least the second node determines (220) whether to acquire (222) the package on a grounds of the signalling frame.
6. The network of claim 5, wherein the determination is based on a sequence number (541) of the package of the first node.
7. The network of any of the preceding claims, wherein at least the second node stores (222) the received package in its memory (651) and sends (224) a status report indicating that it has completed the reception of the package.
8. The network of any of the preceding claims, wherein at least the second node sends (226) to at least a third radio node (108, 650) the signalling frame indicating the availability of the package in the network after the acquisition of the package and, when at least the second node receives a download command frame (542) from at least the third node, which lacks the package, it sends at least one data segment frame (544) to at least the third node so that at least the third node receives the package.
9. The network of any of the preceding claims, wherein the first node sends (233) an updated timing information in the timer frame (546) to at least the second node, which updated timing information indicates updated timing information when all nodes start to execute the received package.
10. The network of claim 9, wherein the first node sends the updated timing information due to lack of the reception of the status frame indicating the reception of the timer information from at least the second node.
11. The network of any of the preceding claims, wherein the network is a wireless mesh network (100) or a wireless Bluetooth Low Energy (BLE)-based radio network.
12. A software-updating method (211) for a wireless communication network (100) of any of the preceding claims, comprising steps of receiving (222), by the radio nodes (102, 104, 106, 108, 650), a softwaredistribution package, sending (228), by the first radio node (102, 104, 106, 650), to at least the second node (102, 104, 650) a timer frame (546) indicating when all nodes (102, 104, 106, 108, 650) of the network start to execute (236) the package, and receiving (230), by at least the second node, the timer frame.
13. A radio node device (102, 104, 106, 650) for a wireless communication network (100), comprising a microcontroller (652) and a radio transceiver (653), which node device is configured to provide, by the radio transceiver, a bi-directional radio communication with at least one another radio node device (102, 104, 108, 650) and to receive (222), by the radio transceiver, a software-distribution package, characterized in that the node device sends (228), by the radio transceiver, to the at least one another node device a timer frame (546) indicating when all radio node devices (102, 104, 106, 108) of the network start (236) to execute the received package in order to update a software of the devices.
14. A software-updating method (211) for the radio node device (102, 104, 106, 650) of claim 13 in a wireless communication network (100), comprising steps of providing, by the radio transceiver (653), a bi-directional radio communication with at least one another radio node device (102, 104, 108, 650),
5 receiving (222), by the radio transceiver, a software-distribution package, and sending (228), by the radio transceiver, to the at least one another node device a timer frame (546) indicating when all radio node devices (102, 104, 106, 108) of the network start (236) to execute the received package in order to update a software of the devices.
10
15. A computer program configured to perform the method of claim 14.
16. A tangible non-volatile computer readable medium comprising the computer program of claim 15.
GB1805040.1A 2018-03-28 2018-03-28 Software-updating method for a wireless communication network Withdrawn GB2572387A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
GB1805040.1A GB2572387A (en) 2018-03-28 2018-03-28 Software-updating method for a wireless communication network
DK19164509.2T DK3547615T3 (en) 2018-03-28 2019-03-22 SOFTWARE UPDATE PROCEDURE FOR A WIRELESS COMMUNICATION NETWORK
ES19164509T ES2895182T3 (en) 2018-03-28 2019-03-22 Software update procedure for a wireless communication network
PT19164509T PT3547615T (en) 2018-03-28 2019-03-22 Software-updating method for a wireless communication network
EP19164509.2A EP3547615B1 (en) 2018-03-28 2019-03-22 Software-updating method for a wireless communication network
PL19164509T PL3547615T3 (en) 2018-03-28 2019-03-22 Software-updating method for a wireless communication network
HUE19164509A HUE056451T2 (en) 2018-03-28 2019-03-22 Software-updating method for a wireless communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1805040.1A GB2572387A (en) 2018-03-28 2018-03-28 Software-updating method for a wireless communication network

Publications (2)

Publication Number Publication Date
GB201805040D0 GB201805040D0 (en) 2018-05-09
GB2572387A true GB2572387A (en) 2019-10-02

Family

ID=62068180

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1805040.1A Withdrawn GB2572387A (en) 2018-03-28 2018-03-28 Software-updating method for a wireless communication network

Country Status (1)

Country Link
GB (1) GB2572387A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170127361A1 (en) * 2015-11-02 2017-05-04 Brian Zima System and Software for Interlinking Responses of Mobile Cellular Devices to Create a Communal Response to a Single Directive
US20170171018A1 (en) * 2015-12-15 2017-06-15 T-Mobile, Usa, Inc. Selective wi-fi calling router updates
CN107770285A (en) * 2017-11-13 2018-03-06 阳光电源股份有限公司 A kind of distributed caching update method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170127361A1 (en) * 2015-11-02 2017-05-04 Brian Zima System and Software for Interlinking Responses of Mobile Cellular Devices to Create a Communal Response to a Single Directive
US20170171018A1 (en) * 2015-12-15 2017-06-15 T-Mobile, Usa, Inc. Selective wi-fi calling router updates
CN107770285A (en) * 2017-11-13 2018-03-06 阳光电源股份有限公司 A kind of distributed caching update method and system

Also Published As

Publication number Publication date
GB201805040D0 (en) 2018-05-09

Similar Documents

Publication Publication Date Title
US8910141B2 (en) Distribution of software updates in wireless multihop networks
US10321379B2 (en) Method and apparatus for reducing the length of a packet storm in a wireless mesh network
US8634342B2 (en) Upgrading mesh access points in a wireless mesh network
KR102304699B1 (en) Error detection in communication networks
CN111886845B (en) Method and apparatus for performing over-the-air (OTA) upgrades in a network of communication interconnect devices
US10103940B2 (en) Local network and method of updating a device in a local network
US20160371074A1 (en) Updating firmware of iot devices
EP2523422A1 (en) Issuing method and system for configuration information
US20120324065A1 (en) Method and system for upgrading network device
KR20120030753A (en) Base station and method for clock synchronization thereof
US11080036B2 (en) Software-updating method for a wireless communication network
WO2012097566A1 (en) Method and apparatus for upgrading version of radio transmit receive (rtr) single-board
CN101399824A (en) Method, system and router realizing elegant restart of route information protocol
WO2011160371A1 (en) System and method for upgrading software of remote radio unit
JP6203821B2 (en) Message processing method and control node between nodes of radio access network
EP3547615B1 (en) Software-updating method for a wireless communication network
WO2016039039A1 (en) Communication apparatus, control method therefor, communication system, and program
US9325442B2 (en) Externally connected time port changeover method and device
GB2572387A (en) Software-updating method for a wireless communication network
US20230058590A1 (en) Multi-hop relay system, communication method, and communication apparatus
EP2426859B1 (en) Method and server for transferring large object
KR20170081601A (en) Base station and method for clock synchronization thereof
CN112073844B (en) Transmission equipment configuration verification synchronization method and system
JP6843681B2 (en) Wireless communication system and wireless communication equipment
JP7345103B1 (en) Radios and wireless communication systems

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)