Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF TRANSMITTING REAL-TIME DATA PACKETS AND FURTHER NON-REAL-TIME DATA PACKAGES BETWEEN NODES OF A BLE NETWORK WITH MESH TOPOLOGY, VIA A CONNECTION-FREE COMMUNICATION
Document Type and Number:
WIPO Patent Application WO/2022/153343
Kind Code:
A1
Abstract:
The present invention relates to a method for transmitting real time data packets and further non real time data packets between the nodes of a BLE mesh topology network, through a connectionless communication. In particular, said method is designed to prevent the transmission of said further data packets from interfering with the transmission of said data packets.

Inventors:
PATTI GAETANO (IT)
LO BELLO LUCIA (IT)
FAULISI ALESSANDRO CARMELO (IT)
DI PIETRO ALESSANDRA (IT)
SUDANO FRANCESCO (IT)
ABBATE NUNZIO (IT)
Application Number:
PCT/IT2022/050003
Publication Date:
July 21, 2022
Filing Date:
January 18, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV DEGLI STUDI DI CATANIA (IT)
International Classes:
H04W72/02; H04W4/80; H04W72/04; H04W72/12; H04W84/18
Foreign References:
EP1860833A12007-11-28
US20180020447A12018-01-18
US20180091929A12018-03-29
Other References:
AGNOLETTO DANIEL ET AL: "Time Slot Transmission Scheme with Packet Prioritization for Bluetooth Low Energy Devices used in Real-Time Applications", INTERNATIONAL JOURNAL OF WIRELESS INFORMATION NETWORKS, PLENUM PRESS, NEW YORK, NY, US, vol. 27, no. 4, 26 September 2020 (2020-09-26), pages 518 - 534, XP037273608, ISSN: 1068-9605, [retrieved on 20200926], DOI: 10.1007/S10776-020-00494-4
LEONARDI LUCA ET AL: "Multi-Hop Real-Time Communications Over Bluetooth Low Energy Industrial Wireless Mesh Networks", IEEE ACCESS, vol. 6, 8 May 2018 (2018-05-08), pages 26505 - 26519, XP011684839, DOI: 10.1109/ACCESS.2018.2834479
Attorney, Agent or Firm:
FERRIERO, Paolo et al. (IT)
Download PDF:
Claims:
CLAIMS

1 . Method for transmitting real time data packets and further non real time data packets between the nodes (NI,N2...NN) of a BLE mesh network (NN), through a connectionless communication, in which each node (NI ,N2...NN) comprises a respective radio interface and a respective clock, said method comprising the following steps:

A) defining a superframe (SF) for all nodes (NI,N2...NN) of said BLE mesh network (NN), in which said superframe (SF) is divided into a plurality of time slots (SI,S2...SM), arranged in succession and having the same time duration At, in which at least one respective time slot of said plurality of time slots (SI,S2...SM) is associated with each node (NI,N2...NN) of said BLE mesh network (NN) and one or more time slots of said plurality of time slots (SI,S2...SM) are shared by all nodes (NI,N2...NN) of said BLE mesh network (NN), and in which said superframe (SF) has a time duration AT equal to the sum of the time durations At of said time slots of said plurality of time slots (SI,S2...SM), and repeating in succession said superframe (SF) over time;

B) setting the nodes (NI,N2...NN) of said BLE mesh network (NN) in such a way that each of said nodes (NI,N2...NN) has stored information on said time slots of said plurality of time slots (SI,S2...SM) of said superframe (SF), in which this information comprises a first information referring to the order of succession of the time slots of said plurality of time slots (Si ,S2...SM) and a second information indicating whether said time slot of said plurality of time slots (SI,S2...SM) is associated with a node or shared by the nodes of said BLE mesh network (NN) or is not associated with any node nor shared by said nodes of said BLE mesh network (NN);

C) defining for each node (NI,N2...NN) the respective two queues: a first queue which is a priority queue in which the real time data packets to be transmitted on the basis of a predetermined priority are inserted, a second queue which is a FIFO queue in which further non real time data packets to be transmitted are inserted;

D) initializing the radio interface of each node (NI,N2...NN) of said BLE mesh network (NN) so that each node (NI ,N2...NN) transmits and receives non-connectable undirected advertising and non-scannable undirected advertising, so as to transmit advertisement, and to perform a passive scanning with a predetermined duty cycle, so as to receive advertisement;

E) defining a data format for said real time data packets to be transmitted in an advertisement and a further data format for said further non real time data packets to be transmitted in a further advertisement to distinguish said further non real data packets from said real time data packets, wherein said data format is such that each real time data packet comprises a flag to indicate whether a time slot, arranged in succession to a time slot in which said real time data packet has been transmitted, is a time slot shared by the nodes of the BLE mesh network (NN);

F) if the respective clock of one or more nodes is not synchronized with the respective clock of the remaining nodes of said BLE mesh network (NN), each of said one or more nodes performs the following sub-steps to transmit further non real time data packets in said shared time slots:

F1 ) starting said passive scanning to be enabled to receive advertisements from said remaining nodes of said BLE mesh network (NN) and waiting for the transmission of one or more advertisements from said remaining nodes,

F2) if an advertisement has been received, checking said flag to know if a time slot, following the time slot in which the advertisement was received, is a time slot shared by the nodes of the BLE mesh network (NN),

F3) if said time slot is a time slot shared by the nodes of the BLE mesh network (NN) and if a random number of shared time slots has elapsed:

F31 ) extracting a further non real time data packet from the second queue,

F32) transmitting said further non real time data packet to its own radio interface,

F33) enabling the transmission of said further non real time data packet via advertisement towards said remaining nodes of said BLE mesh network (NN),

F34) waiting for a predetermined time period,

F35) disabling the transmission of advertisements and go back to sub-step F1 ,

F4) if the time slot is not shared by the nodes of the BLE mesh network (NN) go back to sub-step F1 ;

G) if the respective clock of one or more nodes is synchronized with the respective clock of the remaining nodes of the BLE mesh network (NN), each of said one or more nodes performs the following sub-steps to transmit real time data packets in the time slots associated with said nodes and further non real time data packets in shared time slots:

G1 ) setting, using a respective timer included in each node (NI,N2...NN), a reference time period equal to the time duration At of each time slot (SI,S2...SM) to identify the initial time instant (ti,t2...tM) in which each time slot (SI,S2...SM) begins,

G2) at the end of said reference time period, checking by each node (Ni ,N2... NN) whether the time slot beginning at said initial time instant (ti,t2...tM) is a time slot shared by nodes of the BLE mesh network (NN) based on step B,

G3) if the time slot is a time slot shared by the nodes of the BLE mesh network (NN) and if a random number of time slots shared by the nodes of the BLE mesh network (NN) have elapsed, each node extracts a further non real time data packet from the second queue and transmits said further non real time data packet to its radio interface, G4) if the time slot is not a time slot shared by the nodes of the BLE mesh network (NN) but the time slot is associated with a node, said node extracts a real time data packet from the first queue and transmits said real time data packet to its radio interface,

G5) regardless of whether the time slot is shared or is not shared but is assigned to a node,

G51 ) enabling the transmission of advertisement to said remaining nodes of said BLE mesh network (NN),

G52) waiting for said predetermined time period G53) disabling the transmission of advertisement and go back to sub-step G2.

2. Method according to the previous claim, wherein if the respective clock of one or more nodes is not synchronized with the respective clock of the remaining nodes of the BLE mesh network (NN), said method comprises the following step:

H) synchronizing said one or more nodes with the clocks of said remaining nodes through an exchange of synchronization messages in said shared time slots to enable said nodes to transmit real time data packets in the time slots associated with said nodes.

3. Method according to the previous claim, wherein said step H comprises the following sub-steps:

H1 ) selecting a first node called Timing Master to transmit a time value referred to the clock of said Timing Master to all the nodes of the BLE mesh network (NN);

H2) transmitting at a first instant of time 7 a respective synchronization request message called "Sync Req" to all the nodes of the BLE mesh network (NN) by a second node of the BLE mesh network (NN), other than said first node, wherein the clock of said second node is to be synchronized with the clock of said first node; H3) if one or more nodes of the remaining nodes of the BLE mesh network (NN), other than the first node and the second node, have its own clock synchronized with the clock of the first node, transmitting at a respective second time instant T2, subsequent to said first time instant T1 ; by each node of said remaining nodes a response message to said second node, wherein said response message is called "Sync Resp" and contains information on the respective hop distance from said first node;

H4) sending at a third time instant T3, subsequent to said second time instant T2, by each node of said remaining nodes a respective followup message called "Sync Follow-up" containing information on the respective time instant in which a respective response message has been sent;

H5) selecting by said second node a node among said remaining nodes, wherein said node is the closest node to said first node based on the hop distance, by receiving said synchronization request message "Sync Req" to a time instant T4;

H6) calculating by said second node a transmission delay DT for the transmission of data between said second node and said node closest to the first node and a clock difference Dc between the clock of said second node and the clock of said closest node to the first node using the following formulas: n _ [(r4 - T - (T3 - T2)]

Dc = (T3 + OT) — T4

H7) adjusting the clock of said second node on the basis of said clock difference Dc, so as to synchronize the clock of said second node with the clock of said first node.

4. Method according to any one of the previous claims, wherein, with reference to step A, each time slot associated with a node is followed by a time slot shared by the nodes of the BLE mesh network (NN) and, if more time slots are associated with the same node, at least one of said time slots is followed by a time slot shared by the nodes of the BLE mesh network (NN).

5. Method according to any one of the claims 1 -4, wherein, with reference to step A, said superframe (SF) is defined in such a way that a time slot associated with a node is alternated with a time slot shared by the nodes of the BLE mesh network (NN).

6. Method according to any one of the claims 1 -4, wherein said plurality of time slots is divided into groups of time slots called sub- superframes and each group of time slots comprises a first time slot and a second time slot, consecutive to the first time slot, both associated with the same node for the transmission of real time data packets, and wherein each node is configured to set the second time slot associated with it as a time slot shared by the nodes of the BLE mesh network (NN).

7. Method according to any one of the previous claims, wherein said real time data packet comprises a header and said flag is arranged inside said header.

8. Method according to any one of the previous claims, wherein, with reference to the step E, said flag is a bit which assumes a first value equal to 0, when a time slot, arranged in succession to a time slot in which said real time data packet has been transmitted, is not shared by the nodes of said BLE mesh network (NN), and a second value equal to 1 , when a time slot, arranged in succession to a time slot in which said real time data packet has been transmitted, is shared by the nodes of the BLE mesh network (NN).

9. Method according to any one of the previous claims, wherein with reference to the real time data packets inserted in said first queue, a respective number indicating the transmission priority is associated with each data packet.

10. Method according to any one of the previous claims, wherein, with reference to each sub-step F1 , each node is enabled to receive one advertisement at a time.

Description:
METHOD OF TRANSMITTING REAL-TIME DATA PACKETS AND FURTHER NON-REAL-TIME DATA PACKAGES BETWEEN

NODES OF A BLE NETWORK WITH MESH TOPOLOGY, VIA A CONNECTION-FREE COMMUNICATION The present invention relates to a method for transmitting real time data packets and further non real time data packets between the nodes of a BLE (Bluetooth Low Energy) mesh topology network, through a connectionless communication.

In particular, said method is designed to transmit from a node to one or more further nodes of said BLE mesh topology network (hereinafter called BLE mesh network) real time data packets and further non real time data packets, different from said real time data packets, without the transmission of said further non real time data packets interfering with the transmission of said real time data packets The term "node" means any hardware device capable of communicating with further hardware devices belonging to the same network.

The term "hardware device" means any electronic device, such as a computer, printer, fax, modem, etc.. As said, the communication between the nodes of said BLE mesh network is a connectionless communication.

The expression "connectionless communication" means a data transmission mode in which each data packet carries information in the header and the destination address is sufficient to allow an independent sending of a data packet to its respective destination through the network itself [1].

Furthermore said method is designed to support the mobility of the nodes belonging to the BLE mesh network.

In fact, when the nodes move within the BLE mesh network, not only the transmission of data packets is guaranteed, but also the communication between said nodes is guaranteed.

In other words, if a second node is the recipient of a data packet sent by a first node and is no longer in a position such as to be within the transmission coverage area of said first node but rather is within the transmission coverage area of a third node (other than said first node and said second node), the communication between said first node and said second node is in any case guaranteed.

Prior Art

As it is known, Bluetooth Mesh Profile [2] is a communication protocol designed for a BLE network and allows data packets to be transmitted via connectionless communication in a BLE mesh network.

The medium access control substrate (MAC) is the layer that controls the hardware responsible for interacting with the wireless transmission medium.

This substrate, called advertising bearer, defines a protocol in which it is not possible to predict the timing of transmission of data packets.

Consequently, it is not possible to guarantee any predictability on the delivery time of said data packets.

In other words, it is not possible to determine a maximum delivery time for data packets.

Therefore, this protocol is not able to support the transmission of real time data packets.

In fact, as far as delivery time is concerned, real time data packets are subject to time constraints and for this reason they require predictability.

The delivery time of a real time data packet must therefore be calculable to verify that the delivery of said data packet takes place within a time limit specified for it.

In some cases it is possible to calculate this delivery time with accuracy, while in other cases it is possible to obtain an upper bound for said delivery time, i.e. an upper limit. Either one or the other of the two conditions must be true for real time communication to be supported.

A further communication protocol [3] is known for the transmission of real time data packets on a BLE network by means of a connection-oriented communication.

The term "connection-oriented communication" means a data communication mode by which end devices use a communication protocol to establish an end-to-end logical or physical connection between communication agents prior to the transmission of any data type.

Consequently, connection-oriented communication is an alternative mode of communication to connectionless communication.

However, a first disadvantage is given by the fact that said further communication protocol does not allow the transmission of non real time data packets together with the transmission of real time data packets.

A second disadvantage is that the BLE network topology must be known in advance.

Consequently, the location of each node in the network must be known in advance.

A further disadvantage is that said further communication protocol is based on the connections between the nodes and therefore is not able to support the mobility of the nodes.

Aim of the invention

Aim of the present invention is to overcome said disadvantages, providing a method for transmitting, through a connectionless communication, real time data packets and further non real time data packets (different from said real time data packets) between nodes of a BLE mesh topology network (i.e. a BLE mesh network), wherein said method is designed the transmission of said further data packets from interfering with the transmission of said data packets.

A further aim of the present invention is to provide a method capable of supporting also the mobility of the nodes within said BLE mesh network.

Object of the invention

Therefore, object of the invention is a method for transmitting real time data packets and further non real time data packets between the nodes of a BLE mesh topology network, through connectionless communication, according to claim 1 .

Further preferred embodiments are disclosed in the dependent claims.

Attached figure list

The present invention will be now described, for illustrative, but not limitative purposes, according to its embodiment, making particular reference to the enclosed figures, wherein:

Figure 1 shows a BLE mesh network comprising a plurality of nodes able to communicate with each other;

Figure 2A shows a superframe for the BLE mesh network of Figure 1 , in which said superframe is divided into a plurality of time slots, arranged in succession, in which some time slots are associated with a respective node of said BLE mesh network and some time slots are time slots shared by all the nodes of said BLE mesh network;

Figure 2B shows the superframe of Figure 1 which is repeated over time;

Figure 3 shows a table to indicate to which node of the BLE mesh network each time slot of the superframe has been associated or if the time slot of the superframe is a time slot shared by all the nodes of the BLE mesh network;

Figure 4 shows the block diagram of the method object of the invention;

Figure 5 shows in detail step F of the method object of the invention;

Figure 6 shows in detail step G of the method object of the invention.

Detailed description of the invention

Figure 1 schematically shows a BLE mesh network indicated by the reference NN.

Said BLE mesh network NN comprises a plurality of nodes NI ,N2...NN, each of which is provided of a respective radio interface radio (not shown), i.e. a BLE radio interface, as well as a respective clock (not shown).

In particular, in the embodiment that is disclosed, said plurality of nodes comprises three nodes: a first node Ni, a second node N2 and a third node N3.

As shown in Figure 1 , the first node N1 and the second node N2 communicate each other through a first communication channel Ci, the second node N2 and the third node N3 communicate each other through a second communication channel C2 and the third node N3 and the first node N1 communicate each other through a third communication channel C3.

Consequently, in the embodiment that is disclosed, the BLE mesh network NN is configured in such a way that the first node N1 communicates with both the second node N2 and the third node N3, the second nod N2 communicates both with the first node N1 and the third node N3, and the third node N3 communicates with the first node N1 and the second node N2.

Although not shown in Figures, the BLE mesh network NN can comprise any number of nodes greater than or equal to two, without departing from the invention.

Figure 2A shows a superframe SF for said BLE mesh network NN, i.e. for all the nodes of said BLE mesh network NN.

A superframe SF is defined on the basis of the number of nodes of said BLE mesh network NN and the applications that each node can perform

Said superframe SF is divided in a plurality of time slots SI,S2...SM, arranged in succession and having the same time duration At.

Since each time slot has a time duration At, the superframe SF has a time duration AT equal to the sum of the single time durations At of all the time slots being part of the superframe SF. This superframe SF is repeated cyclically over time as shown in figure 2B.

In particular, in the embodiment that is disclosed, as shown in Figure 3, the superframe SF comprises nine time slots Si,S2...Sg, arranged in succession:

- a first time slot Si associated with the first node Ni, wherein said first node Ni is enabled to communicate with the other nodes of said BLE mesh network NN,

- a second time slot S2 which is a time slot shared by all the nodes NI ,N2...NN of said BLE mesh network NN (in the specific case NI ,N2,NS), wherein each node is enabled to communicate with others nodes of said BLE mesh network NN,

- a third time slot S3 associated with the second node N2, wherein said second node N2 is enabled to communicate with the other nodes of the BLE mesh network NN,

- a fourth time slot S4 associated with the third node N3, wherein said third node N3 is enabled to communicate with the other nodes of the BLE mesh network NN,

- a fifth time slot S5 which is a time slot shared by all the nodes NI,N2...NN of said BLE mesh network NN (in the specific NI ,N2,N3), wherein each node is enabled to communicate with the other nodes of the BLE mesh network NN,

- a sixth time slot Se associated with the first node Ni, wherein said first node Ni is enabled to communicate with the other nodes of the BLE mesh network NN,

- a seventh time slot S7 associated with the second node N2, wherein said second node N2 is enabled to communicate with the other nodes of the BLE mesh network NN,

- an eighth time slot Ss which is a time slot shared by all nodes NI ,N2...NN of said BLE mesh network NN (in the specific case NI ,N2,N3), wherein each node is enabled to communicate with the other nodes of the BLE mesh network NN,

- a ninth time slot S9 associated with the third node N3, wherein said third node N3 is enabled to communicate with the other nodes of the BLE mesh network NN.

In the embodiment that is described, with reference to all the time slots associated with the nodes, it should be considered that each of said time slots is uniquely associated with the respective node.

However, as mentioned, the superframe SF can be divided into a number of time slots greater than or equal to two based on the number of nodes in the BLE mesh network NN and the applications to be executed by said nodes, without leaving the scope of the 'invention.

Furthermore, although not shown in the figures, the superframe can comprise at least one time slot which is neither associated with a node nor shared by the nodes of the BLE mesh network NN.

In general, therefore, the number of time slots in the superframe SF is greater than or equal to the number of nodes in the BLE mesh network NN.

As can be seen from Figure 3, the superframe SF comprises at least a respective time slot associated with each node of the BLE mesh network NN and at least one time slot shared by all the nodes of the BLE mesh network NN.

In particular, in the embodiment being described, two time slots Are associated with the first node N1 (i.e. the first time slot Si and the sixth time slot Se), two time slots are associated with the second node N2 (i.e. the third time slot S3 and the seventh time slot Sz), two time slots are associated with the third node N3 (i.e. the fourth time slot S4 and the ninth time slot S9), and three time slots are time slots shared by all the nodes NI ,N2,NS of the BLE mesh network NN (i.e. the second time slot S2, the fifth time slot S5 and the eight time slot Ss).

In the embodiment that is described, in which a plurality of time slots are associated with the same node, at least one time slot is shared by all the nodes of the BLE NN mesh network and is arranged in succession to a time slot associated with said node.

In a variant (not shown), in the event that a single time slot is associated with a node, the superframe SF comprises a time slot shared by all the nodes of the BLE mesh network NN, arranged in succession to said time slot associated with said node.

With particular reference to Figure 4, this Figure shows the block diagram of a method for transmitting real time data packets and further non real time data packets between the nodes NI ,N2...NN of a BLE mesh network NN (in the specific case between the three nodes Ni,N2,Na), without the transmission of said further non real time data packets interfering with the transmission of said real time data packets.

Said method comprises the following steps:

A) defining a superframe SF for all nodes NI ,N2...NN of said BLE mesh network NN, in which said superframe SF is divided into a plurality of time slots SI ,S2...SM, arranged in succession and having a same time duration At and in which at least one respective time slot of said plurality of time slots

SI,S2...SM is associated with each node NI,N2...NN of said BLE mesh network NN and one or more time slots of said plurality of time slots

SI,S2...SM are shared by all nodes NI,N2...NN of the BLE mesh network NN, and repeating in succession said superframe SF over time;

B) setting the nodes NI,N2...NN of the BLE mesh network NN in such a way that each of said nodes NI,N2...NN has stored information on said time slots of said plurality of time slots Si ,S2...SM of said superframe SF, in which this information comprises a first information referring to the order of succession of the time slots of said plurality of time slots SI,S2...SM and a second information indicating whether said time slot of said plurality of time slots Si ,S2...SM is associated with a node or shared by the nodes of the BLE mesh network NN or is not associated with any node nor shared by said nodes of the BLE mesh network NN;

C) defining for each node NI ,N2...NN the respective two queues: a first queue which is a priority queue in which the real time data packets to be transmitted on the basis of a predetermined priority are inserted, a second queue which is a FIFO queue in which further non real time data packets to be transmitted are inserted;

D) initializing the radio interface of each node NI,N2...NN of the BLE mesh network NN so that each node NI,N2...NN transmits and receives non- connectable undirected advertising and non-scannable undirected advertising, so as to transmit advertisement (i.e. each node is adapted to transmit advertisement), and to perform a passive scanning with a predetermined duty cycle, so as to receive advertisement (i.e. each node is adapted to receive advertisement);

E) defining a data format for said real time data packets to be transmitted in an advertisement and a further data format for said further non real time data packets to be transmitted in a further advertisement to distinguish said further non real data packets from said real time data packets, wherein said data format is such that each real time data packet comprises a flag to indicate whether a time slot, arranged in succession to a time slot in which said real time data packet has been transmitted, is a time slot shared by the nodes of the BLE mesh network NN;

F) if the respective clock of one or more nodes is not synchronized with the respective clock of the remaining nodes of said BLE mesh network NN, each of said one or more nodes performs the following sub-steps to transmit further non real time data packets in said shared time slots:

F1 ) starting said passive scanning to be enabled to receive advertisements from said remaining nodes of said BLE mesh network NN and waiting for the transmission of one or more advertisements from said remaining nodes,

F2) if an advertisement has been received, checking said flag to know if a time slot, following the time slot in which the advertisement was received, is a time slot shared by the nodes of the BLE mesh network NN,

F3) if said time slot is a time slot shared by the nodes of the BLE mesh network NN and if a random number of shared time slots has elapsed:

F31 ) extracting a further non real time data packet from the second queue,

F32) transmitting said further non real time data packet to its own radio interface,

F33) enabling the transmission of said further non real time data packet via advertisement towards said remaining nodes of said BLE mesh network NN,

F34) waiting for a predetermined time period,

F35) disabling the transmission of advertisements and go back to sub-step F1 ,

F4) if the time slot is not shared by the nodes of the BLE mesh network NN go back to sub-step F1 ;

G) if the respective clock of one or more nodes is synchronized with the respective clock of the remaining nodes of the BLE mesh network NN, each of said one or more nodes performs the following sub-steps to transmit real time data packets in the time slots associated with said nodes and further non real time data packets in shared time slots:

G1 ) setting, using a respective timer included in each node NI,N2...NN, a reference time period equal to the time duration At of each time slot SI ,S2...SM to identify the initial time instant ti,t2...tM in which each time slot SI,S2...SM begins,

G2) at the end of said reference time period, checking by each node NI,N2...NN whether the time slot beginning at said initial time instant ti,t2...tM is a time slot shared by the nodes of the BLE mesh network NN based on step B,

G3) if the time slot is a time slot shared by the nodes of the BLE mesh network NN and if a random number of time slots shared by the nodes of the BLE mesh network NN have elapsed, each node extracts a further non real time data packet from the second queue and transmits said further non real time data packet to its radio interface,

G4) if the time slot is not a time slot shared by the nodes of the BLE mesh network NN but the time slot is associated with a node, said node extracts a real time data packet from the first queue and transmits said real time data packet to its radio interface,

G5) regardless of whether the time slot is shared or is not shared but is assigned to a node,

G51 ) enabling the transmission of advertisement to said remaining nodes of said BLE mesh network NN,

G52) waiting for said predetermined time period,

G53) disabling the transmission of advertisements and go back to sub-step G2.

With reference to step A of the method, in a first alternative, compliant with the BLE specifications, the superframe SF can be defined to reduce the transmission latency of said further non real time data packets, to the detriment of the transmission latency of the real time data packets.

However, the transmission latency of said real time data packets remains limited.

In other words, it is possible to calculate a maximum value associated with the latency time through a mathematical method, for example using a mathematical method called Response Time Analysis (RTA).

In said first alternative, the superframe SF can be defined in such a way that a time slot associated with a node of the BLE mesh network NN is alternated with a time slot shared by the nodes of the BLE mesh network NN.

In a second alternative, the superframe SF can be defined to reduce the transmission latency of said real time data packets, to the detriment of the transmission latency of said further non real time data packets and of compliance with the BLE specifications.

The BLE specification require a time interval equal to 100 ms between two consecutive transmissions of advertisement. However, if it is necessary to support a traffic of real time data packets with a transmission latency lower than the transmission latency of real time data packets obtainable through the superframe SF defined in said first alternative, the time interval between two consecutive transmissions of advertisements can be less than 100 ms through the superframe SF defined in said second alternative, contravening the BLE specifications.

In said second alternative, the plurality of time slots of the superframe SF is divided into several groups of time slots called sub-superframes and each group of time slots comprises a first time slot and a second time slot, consecutive to the first time slot, both associated with one same node for the transmission of real time data packets.

In particular, each node is configured to set in some sub-superframes the second time slot associated with it as time slot shared by the nodes of the BLE mesh network.

In the embodiment that is described, each node is a programmable node and can be programmed to define a vector comprising a plurality of elements (in the specific case each element is a number but could be a character or a symbol without departing from the scope of the invention), in which the number of said elements is equal to the number of time slots present in the superframe SF.

In particular, each element represents a respective time slot of said superframe SF and a respective numerical value is associated with each element, in which said numerical value indicates whether the time slot is shared by the nodes of the BLE mesh network NN or if the time slot is associated with a respective node or if it is neither shared nor associated with a node.

Furthermore, with reference to step A, the superframe is repeated in succession over time, as shown in the example of Figure 3.

Consequently, the succession of the time slots SI,S2...SM is always the same as the same superframe SF repeats over time.

With reference to step B, each node NI ,N2...NN of the BLE mesh network NN is configured to have information about the time slots SI,S2...SM of the superframe SF.

In particular, such information comprise a first information referring to the order of the succession of the time slots SI,S2...SM and a second information indicating whether said time slot SI,S2...SM is associated with a node or shared by the nodes of the BLE mesh network NN or is not associates with any node and neither shared by the nodes of the BLE mesh network NN.

With reference to step C, a respective first queue and a respective second queue are defined for each node NI,N2...NN of the BLE mesh network NN.

Each first queue contains the real time data packets to be transmitted on the basis of a predetermined priority (a respective number indicating the transmission priority is associated with each real time data packet), and each second queue is a FIFO queue containing further non real time data packets to be transmitted.

With reference to step D, the method provides a step of initializing the respective radio interface of each node NI,N2...NN (i.e. the BLE radio interface of each node) so that each node NI ,N2...NN is adapted to transmit and receive advertisement.

The characteristics of an advertisement are defined by the specifications of the BLE technology. With reference to the predetermined duty cycle with which a passive scanning is performed, said predetermined duty cycle depends on the nodes of the BLE mesh network (i.e. on the hardware devices identified through the respective nodes) and on the type of data to be transmitted.

With reference to step E, a data format is associated with said real time data packets to be transmitted in an advertisement and a further data format is associated with said further non real time data packets to be transmitted in a further advertisement, in which this further data format is such as to distinguish said further real time data packets from said non real time data packets

In the embodiment being disclosed, said data format is such that each real time data packet comprises a flag and each further data packets comprises a further flag.

With reference to a real time data packet, the flag indicates whether a time slot, arranged in succession to a time slot in which said data packet was transmitted, is a time slot shared by the nodes of the BLE mesh network NN.

For example, said flag can be a bit which assumes a first value equal to 0, when said time slot is not shared by the nodes of said BLE mesh network NN, and a second value equal to 1 , when a time slot is shared by the nodes of the BLE mesh network NN.

With reference to a further non real time data packet, the further flag indicates that a time slot, arranged in succession to a time slot in which said further non real time data packet has been transmitted, is not a time slot shared by the nodes of the BLE mesh network NN.

For example, said further flag can be a bit that assumes a value equal to 0 because said time slot is not shared by the nodes of said BLE mesh network NN.

However, as regards the further data format associated with said further non real time data packet, the presence of a flag is not necessary but it is possible to provide that said further data format includes a predetermined field so that said further non real time data packet is distinct from said real time data packet, without departing from the scope of the invention.

With reference to step E, this step allows the transmission of further non real time data packets in the shared time slots, when one or more nodes are not synchronized with the remaining nodes of the BLE mesh network.

To this end, each of said nodes performs the sub-steps F1 -F4.

With reference to step F3 it is not important when the shared time slot count is started because that count only serves to reduce the likelihood that more nodes transmit on the same shared time slot.

In general, the count is started when a further non real time data packet is in the first position of the second queue, i.e. ready to be transmitted.

With reference to step G, i.e. when the clock of one or more nodes is synchronized with the clocks of the remaining nodes of the BLE mesh network, this step allows the transmission of real time data packets in the time slots associated with one or more nodes and the transmission of said further non real time data packets in the shared time slots, when the respective clock of said one or more nodes is synchronized with the respective clock of the remaining nodes of the mesh BLE NN.

To this end, each of said nodes perform the sub-steps G1 -G5.

The same considerations mentioned for step F3 regarding counting the random number of shared time slots apply to step G3.

With reference to step G3 it is not important when the shared time slot count is started because that count only serves to reduce the likelihood that more nodes transmit on the same shared time slot.

In general, the count is started when a further non real time data packet is in the first position of the second queue, i.e. ready to be transmitted.

Furthermore, when said one or more nodes are not synchronized with the clocks of the remaining nodes of the BLE mesh network NN, said method can comprise a step H directed to synchronize said one or more nodes with the clocks of said remaining nodes by means of an exchange of synchronization messages in said shared time slots to enable said nodes to transmit real time data packets in the time slots associated with said nodes.

In particular, said synchronization messages are sent and received in the shared time slots to enable said nodes to transmit real time data packets in the respective time slots associated with said nodes.

With particular reference to step H, i.e. the synchronization step of a node with respect to other nodes of the BLE mesh network NN, said step H can be performed in various way.

For example, the step H can comprise the following sub-steps:

H1 ) selecting a first node called Timing Master to transmit a time value referred to the clock of said Timing Master to all the nodes of the BLE mesh network NN;

H2) transmitting at a first instant of time 7 a respective synchronization request message called "Sync Req" to all the nodes of the BLE mesh network NN by a second node of the BLE mesh network NN, other than said first node, wherein the clock of said second node is to be synchronized with the clock of said first node;

H3) if one or more nodes of the remaining nodes of the BLE mesh network NN (i.e. each node other than the first node and the second node) have its own clock synchronized with the clock of the first node, transmitting at a respective second time instant T 2 , subsequent to said first time instant T 1; by each node of said remaining nodes a response message to said second node, wherein said response message is called "Sync Resp" and contains information on the respective hop distance from said first node;

H4) sending at a third time instant T 3 , subsequent to said second time instant T 2 , by each node of said remaining nodes a respective follow-up message called "Sync Follow-up" containing information on the respective time instant in which a respective response message has been sent;

H5) selecting by said second node a node among said remaining nodes, wherein said node is the closest node to said first node based on the hop distance, by receiving said synchronization request message "Sync Req" to a time instant T 4 ;

H6) calculating by said second node a transmission delay D T for the transmission of data between said second node and said node closest to the first node and a clock difference D c between the clock of said second node and the clock of said closest node to the first node using the following formulas: n _ [(r 4 - T - (T 3 - T 2 )] r> T - - 2

Dc = (T 3 + O T ) — T 4

H7) adjusting the clock of said second node on the basis of said clock difference D c , so as to synchronize the clock of said second node with the clock of said first node.

With reference to sub-step H1 , the selection of the first node called Timing Master can be manual or automatic.

After selecting said first node, it will transmit the time value of its clock to the other nodes of the BLE mesh network NN.

With reference to sub-step H2, a second node, different from the first node called Timing Master, transmits a synchronization request message called “Sync Req" to the nodes of the BLE mesh network NN.

The transmission of said message by said second node is a broadcast transmission.

With reference to sub-step H3, in the event that one or more nodes of the remaining nodes of the BLE mesh network NN (i.e. the nodes different from the first node and the second node) have their own clock synchronized with the clock of the first node, each of said nodes transmits a respective message called “Sync Resp" which contains the information about the respective hop distance of each of said nodes with respect to the first node.

With reference to sub-step H4, each node of said remaining nodes sends a respective follow-up message called "Sync Follow-up" containing information on the respective time instant in which the respective reply message was transmitted.

With reference to sub-step H5, the node closest to the first node based of the hop distance is selected.

With reference to sub-step H6, this node (i.e. the node closest to the first node) will be used to calculate a transmission delay D T for the transmission of data from the second node to said node and a clock difference D c between the clock of said second node and the clock of said node.

With reference to the sub-step H7, the clock of said second node will be adjusted on the basis of the value of said clock difference D c , so as to synchronize the clock of said second node with the clock of said first node.

The method can provide for the implementation of this synchronization step H over time to keep the clock of one or more respective nodes synchronized with the clocks of the remaining nodes of the BLE mesh network NN.

However, the step H, i.e. the synchronization step H, it is not necessary when the nodes are already synchronized.

For example, each node can be provided with a respective geolocation device, in particular a GPS device, and the respective clock is synchronized with the time signal of its own geolocation device.

Advantages

Advantageously, as mentioned, the method object of the invention is conceived for a BLE mesh topology network and allows to transmit real time data packets and further non real time data packets, without the transmission of said further data packets interfering with the transmission of said data packets. A further advantage is given by the fact that said method is able to support the mobility of the nodes.

Bibliographical references:

[1] Bluetooth Specification Version 4.2 - Bluetooth SIG - 02/12/2014. [2] Mesh Profile - Bluetooth Specification v. 1.0.1 , Bluetooth SIG -

21/01/2019.

[3] L. Leonardi, G. Patti, L. Lo Bello, "Multi-Hop Real-Time Communications Over Bluetooth Low Energy Industrial Wireless Mesh Networks", IEEE Access, vol. 6, pp. 26505-26519, May 2018.