Patent Description:
A wireless communication network, such as a wireless mesh network (WMN) or a cluster tree topology (e.g. as described in a patent publication <CIT>), is formed by multiple, possibly even hundreds or thousands or even more of radio devices that may communicate with each other, depending on e.g. transmission range, frequency channel usage, etc.. The wireless communication network may have one or more sink devices that may be part of gateways to other networks, e.g. Internet, and deliver data to and from the wireless communication network. To support the various functions of the wireless communication networks, the radio devices typically operate in different roles. The radio devices of the network may be divided into router devices and non-router devices depending on if they participate in data forwarding, i.e. routing. Router devices maintain the connectivity of the network and forward, i.e. route, data of other radio devices when needed. Non-router devices may transmit their own data and receive data directed for them, but they do not route data of other radio devices. Wireless communication network may not be in static radio environment and part of the devices may move, appear or disappear.

One example of the wireless mesh network may be a wireless sensor network (WSN) formed by sensor devices that produce data. Each sensor device may be equipped with one or more radios that are used to deliver the data towards the sink device. Even if a single sensor radio cannot directly reach the sink device, the wireless mesh network formed between the sensor radio devices takes care of it. A routing protocol implemented in each radio device chooses the way to the sink device. Similarly, there may be data that is delivered, over multiple radio hops, from the sink device to the radio device(s) or in between radio devices.

The data transmitted in the wireless communication network may have tight timing requirements, i.e. low latency communication requirements from radio device to radio device or radio device to sink device delivery. As an example, in lighting system the switching control data should be delivered over the wireless mesh network quickly, e.g. within few hundreds of milliseconds to create better user experience.

The data delivery should be fast, but on the other hand should not cause jamming to the network. Broadcasting/flooding may be the fastest way to deliver data to multiple receivers, but it also may cause collisions and increase interference. In case of larger networks, a non-controlled burst of broadcast messages may fully block the channels and impact the delivery of other data. By repeating, by the router devices, the broadcast message, the data may be distributed to the radio devices in the network.

In broadcast communication, the trade-off between reliability and communication overhead may be controlled with different amount of repetitions of the broadcast messages. In typical broadcast / flooding communication protocols, the amount of repetitions is message-specific and is typically the same for every device. This means, that in dense installations, the total amount of repetitions may be excessive and cause a large overhead resulting in e.g. large amount of collisions and interference. On the other hand, in sparse installation, the amount of repetitions may be too low to achieve sufficient reliability. Both of the outcomes may result in reduced quality of service, e.g. lost data and/or increased delays.

A patent application <CIT> discloses a system for co-operative repetition of broadcast messages comprising a plurality of router nodes, each being able to receive and repeat transmission of broadcast messages. The plurality of router nodes is configured to repeat collectively a transmission of a broadcast message on one or more frequency channels a collective target amount of times inside a neighborhood of the plurality of router nodes.

A patent application <CIT> discloses a method and an apparatus for reducing the length of a packet storm in a wireless mesh network.

A patent application <CIT> discloses a method of distributed control of a wireless mesh network without knowledge of global topology.

An objective of the invention is to present a wireless communication system, a method for a wireless communication system, a radio device for a wireless communication system, a method for the radio device, a computer program and tangible non-volatile computer readable medium for co-operative broadcasting. Another objective of the invention is that the system, the methods, the computer program and the tangible non-volatile computer readable medium for co-operative broadcasting improve the performance of the wireless communication network.

The objectives of the invention are reached by a method, an apparatus and a computer program as defined by the respective independent claims.

According to a first aspect, a wireless communication system comprising a plurality of radio devices and one or more sink devices is provided, wherein each radio device belongs to one or more radio neighborhoods and is capable of repeating a transmission of a broadcast message regardless of whether the radio device is operating as a router device or as a non-router device, wherein radio devices belonging to each radio neighborhood are configured to repeat collectively a transmission of a broadcast message a collective target amount of repetitions within each radio neighborhood, wherein each radio device, operating as a router device or as a non-router device, within each radio neighborhood to which it belongs is arranged to: define a total repetition load value representing a contribution of said radio device to the collective target amount of repetitions of the broadcast message within said each radio neighborhood to which it belongs, and decide whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value, wherein each radio device is associated with at least one parent device being a router device, wherein the total repetition load value is defined based on own repetition load value of the radio device and a parent repetition load value of the radio device defined for each of the associated at least one parent device of the radio device, wherein the own repetition load value of the router device depends on the number of router devices within the radio neighborhood and the number of member devices of said router device, wherein the parent repetition load value of the radio device depends on the number of router devices within the radio neighborhood and the number of member devices of the associated parent device of said radio device and wherein the member devices comprise one or more router member devices and/or one or more non-router member devices.

The own repetition load value of the non-router device may be zero.

Only part of the non-router devices may be arranged to participate the repetition of the transmission of the broadcast message, wherein the own repetition load value of the radio device and/or the parent repetition load value of the radio device may further depend on the number of participating non-router devices.

Each router device may be arranged to: define the number of its member devices and the number of its non-router member devices, wherein the member devices may comprise one or more router member devices and/or one or more non-router member devices; and transmit regularly beacon messages, wherein each beacon message may include the current number of the member devices and the current number of the non-router member devices of the router device.

Each router device may be arranged to detect the number of router devices within the radio neighborhood by receiving beacon messages transmitted by other router devices of the radio neighborhood.

According to a second aspect, a method for a wireless communication system comprising a plurality of radio devices and one or more sink devices is provided, wherein each radio device belongs to one or more radio neighborhoods and is capable of repeating a transmission of a broadcast message regardless of whether the radio device is operating as a router device or as a non-router device, wherein radio devices belonging to each radio neighborhood are configured to repeat collectively a transmission of a broadcast message a collective target amount of repetitions within each radio neighborhood, wherein the method comprises: defining, by each radio device, operating as a router device or as a non-router device, within each radio neighborhood to which it belongs, a total repetition load value representing a contribution of said radio device to the collective target amount of repetitions of the broadcast message within said each radio neighborhood to which it belongs; deciding, by each radio device within each radio neighborhood to which it belongs, whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value, wherein each radio device is associated with at least one parent device being a router device, wherein the total repetition load value is defined based on an own repetition load value of the radio device and a parent repetition load value of the radio device defined for each of the associated at least one parent device of the radio device, wherein the own repetition load value of the router device depends on the number of router devices within the radio neighborhood and the number of member devices of said router device, wherein the parent repetition load value of the radio device depends on the number of router devices within the radio neighborhood and the number of member devices of the associated parent device of said radio device, and wherein the member devices comprise one or more router member devices and/or one or more non-router member devices.

According to a third aspect, a radio device for a wireless communication comprising a plurality of radio devices and one or more sink devices is provided, wherein the radio device belongs to one or more radio neighborhoods and is capable of repeating a transmission of a broadcast message regardless of whether the radio device is operating as a router device or as a non-router device, wherein the radio device comprises: a processing part, and a data transfer part for providing a bi-directional radio communication with at least one other radio device of the system, wherein the radio device operating as router device or as a non-router device is configured to: define, by the processing part, a total repetition load value representing a contribution of the radio device to a collective target amount of repetitions of a broadcast message within each radio neighborhood to which it belongs; and decide, by the processing part, whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value, wherein the radio device is associated with at least one parent device being a router device, wherein the total repetition load value is defined based on an own repetition load value of the radio device and a parent repetition load value of the radio device defined for each of the associated at least one parent device of the radio device, wherein the own repetition load value of the router device depends on the number of router devices within the radio neighborhood and the number of member devices of said router device, wherein the parent repetition load value of the radio device depends on the number of router devices within the radio neighborhood and the number of member devices of the associated parent device of said radio device, and wherein the member devices comprise one or more router member devices and/or one or more non-router member devices.

According to a fourth aspect, a method for the radio device described above within a wireless communication system comprising a plurality of radio devices and one or more sink devices is provided, the method comprises: defining, by the processing part, a total repetition load value representing a contribution of the radio device to a collective target amount of repetitions of a broadcast message within each radio neighborhood to which it belongs; and deciding, by the processing part, whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value, wherein the radio device is associated with at least one parent device being a router device, wherein the total repetition load value is defined based on an own repetition load value of the radio device and a parent repetition load value of the radio device defined for each of the associated at least one parent device of the radio device wherein the own repetition load value of the router device depends on the number of router devices within the radio neighborhood and the number of member devices of said router device, wherein the parent repetition load value of the radio device depends on the number of router devices within the radio neighborhood and the number of member devices of the associated parent device of said radio device, and wherein the member devices comprise one or more router member devices and/or one or more non-router member devices.

According to a fifth aspect, a computer program is provided, wherein the computer program comprises instructions which, when the program is executed by the radio device described above, cause the radio device to carry out the steps of the method for the radio device described above.

According to a sixth aspect, a tangible non-volatile computer readable medium comprising the computer program described above is provided.

<FIG> illustrates schematically an example of a wireless communication system, i.e. network, <NUM> according to the invention. The wireless communication system <NUM> may have a cluster tree network topology as illustrated in the example of <FIG>. The wireless communication system <NUM> according to the invention may also have any other network topology, e.g. the wireless communication system may be a wireless mesh network (WMN), such as a wireless sensor network (WSN).

The wireless communication system <NUM> according to the invention comprises a plurality of radio devices <NUM>, <NUM> having different operating roles, such as router role <NUM> and/or non-router role <NUM>. The router devices <NUM> of the system <NUM> form a skeleton for the network <NUM>, where the router devices <NUM> may have one or more member devices. The member devices of the router device <NUM> comprise one or more other router devices <NUM> and/or one or more non-router devices <NUM>. <FIG> illustrates an example of a router device R1 having three member devices: non-router member devices N3 and N4 and a router member device R2. The router device R1 with its member devices may be a part of a wireless system <NUM>. The system <NUM> according to the invention further comprises one or more radio devices operating in a sink role <NUM>. The sink devices <NUM> are part of gateway to other networks, e.g. Internet, and deliver data in and from the system <NUM>. Each radio device <NUM>, <NUM> of the system <NUM> may be associated with at least one parent device in their direct radio neighborhood, i.e. direct radio range. Preferably, each radio device <NUM>, <NUM> of the system <NUM> may be associated with one parent device at a time. This may be preferable especially in dense wireless communication networks. However, each radio device <NUM>, <NUM> may also be associated with more than one parent device. The parent device of each radio device <NUM>, <NUM> is a router device <NUM>.

Alternatively, if the wireless communication network comprises one or more sink devices <NUM>, the parent device of each radio device <NUM>, <NUM> may be a router device <NUM> or a sink device <NUM>. In the example of <FIG> the router device R1 is the parent device for the router device R2 and for the non-router devices N3 and N4.

The term "radio neighborhood of a radio device" mean throughout this application one or more radio devices whose radio transmissions may be detected by a receiving radio device. An extended meaning of the term "radio neighborhood of a radio device" takes into account the neighbor(s) of the neighbor(s) of the radio device, i.e. multi-hop neighborhood, such as two-hop neighborhood, three-hop neighborhood, four-hop neighborhood, and/or so on. The wireless communication system <NUM> may be such that all radio devices <NUM>, <NUM> cannot communicate directly with the one or more sink devices <NUM> due to extensive distance between radio devices <NUM>, <NUM> and the one or more sink devices <NUM>, and limited radio range, whereupon it is needed a multi-link, i.e. a multi-hop, communication between the radio devices <NUM>, <NUM>, and the one or more sink devices <NUM>.

One way to provide the multi-hop communication in the wireless communication system <NUM> is broadcasting and repeating (re-broadcasting) data inside the system <NUM>. The broadcasting may also be called as flooding. The broadcasted data may comprise for example one or more broadcast messages. The radio devices may be disallowed to repeat the broadcasted data multiple times, i.e. the repeating radio device <NUM>, <NUM> is not allowed to repeat the transmission of the same data again, if it appears again later. For example, the data may include a unique identifier (ID) to identify the data and if a radio device <NUM>, <NUM> receives data having ID that the radio device <NUM>, <NUM> has already repeated, the radio device <NUM>, <NUM> is not allowed to repeat said data again. For example, the ID may comprise of the original sender address and a sequence number. In addition or alternatively, the broadcasted data may include a hop limit to limit the scope of the broadcasted data. For example, the sender may set the hop limit for the broadcasted data, and each radio device <NUM>, <NUM> repeating the data may decrement the hop limit value. When the radio device <NUM>, <NUM> receives data with hop limit value of zero, it will not repeat the data.

The term broadcast refers to a communication method not destination addressing. By broadcasting and repeating the data may be distributed to the radio devices <NUM>, <NUM> of the system <NUM>. The radio devices <NUM>, <NUM> that the data may actually be targeted to may be identified by separate addressing. The separate addressing may include for example broadcast addressing, where the data may be destined to all the radio devices <NUM>, <NUM> of the system <NUM>, multicast addressing, where the data may be destined to a group of radio devices <NUM>, <NUM> of the system <NUM>, or unicast addressing where the data may be destined to a single radio device <NUM>, <NUM> of the system <NUM>.

<FIG> schematically illustrates an example of the wireless communication system <NUM> comprising a plurality of radio devices <NUM>, <NUM> each belonging to one or more radio neighborhood, i.e. radio range <NUM>. In the example of <FIG> the one or more radio neighborhoods <NUM> are overlapping, i.e. each radio neighborhood <NUM> comprises one or more radio devices <NUM> belonging to one or more other radio neighborhoods <NUM>. The transmission of broadcast messages of the radio devices <NUM>, <NUM> belonging to more than one radio neighborhood <NUM> may be heard, i.e. received, inside more than one radio neighborhood <NUM> enabling multi-hop communication. The example wireless communication system <NUM> of <FIG> comprises only router devices <NUM> and non-router devices <NUM>, but the wireless communication system <NUM> may further comprise one or more sink devices <NUM> each belonging to one or more radio neighborhood <NUM>.

Typically, in known wireless communication networks only the router devices <NUM> participate in forwarding, i.e. routing, of the broadcast messages and the non-router devices <NUM> may transmit their own data and receive data directed for them, but the non-router devices <NUM> do not participate in routing the broadcast messages. For example, in many practical multi-hop networks, e.g. lighting control networks, there may be plenty of mains powered non-router devices <NUM> that are not participating in the routing activities. However, each radio device <NUM>, <NUM> of the wireless communication system <NUM> according to the present invention is capable of repeating a transmission of a broadcast message that is aimed to be delivered in the system <NUM> regardless of whether the radio device <NUM>, <NUM> is operating as a router device <NUM> or as a non-router device <NUM>. In other words, each radio device <NUM>, <NUM> of the plurality of radio devices of the wireless communication system <NUM> according to the invention may participate in routing of a broadcast message that is aimed to be delivered in the system <NUM>. This enables that the possible other resources of the wireless communication system <NUM> may be taken into use to reduce the duty from the router devices <NUM>, which improves the data routing performance of the system <NUM>, its latency and throughput that is primarily dependent on the router devices <NUM>. The one or more sink devices <NUM> do not participate the repetition of the transmission of the broadcast message.

In order to distribute a broadcast message inside the wireless communication system <NUM> according to the invention, the radio devices <NUM>, <NUM> belonging to each radio neighborhood <NUM> are configured to repeat collectively, i.e. co-operatively, a transmission of a broadcast message a collective target amount of repetitions within each radio neighborhood <NUM>. The collective target amount of repetitions of the transmission of the broadcast message within each neighborhood may be e.g. a predefined amount, defined during the run-time of the method, or set by the application, wherein the wireless communication system <NUM> may be implemented. The target is to locally, i.e. within each radio neighborhood <NUM>, provide the collective target amount of repetitions of the transmission of the broadcast message independent of the local number of router devices <NUM> and non-router devices <NUM>, i.e. the number of router devices <NUM> and the number of non-router devices <NUM> within each radio neighborhood <NUM>, i.e. radio range. In other words, the target is to keep the local collective target amount of repetitions of the transmission of the broadcast message the same inside each radio neighborhood <NUM> independent of the amount of router devices <NUM> inside each radio neighborhood. In other words, the more router devices <NUM> are within each radio neighborhood <NUM>, the less repetitions of the transmission of the broadcast message are needed per router device <NUM>. Each router device <NUM> may detect a router count (R), i.e. the number of router devices <NUM>, within each radio neighborhood <NUM> to which the router device <NUM> belongs by scanning transmissions, e.g. beacon messages, within the radio neighborhood <NUM>. Similarly, each non-router device <NUM> may detect the router count (R), i.e. the number of router devices <NUM> within the radio neighborhood <NUM>, by scanning transmissions, e.g. beacon messages, within each radio neighborhood <NUM> to which the non-router device <NUM> belongs. In other words, each router device <NUM> and each non-router device <NUM> may be arranged to detect the number of router devices <NUM> within its radio neighborhood <NUM> by receiving beacon messages transmitted by other router devices <NUM> within the radio neighborhood <NUM>.

Furthermore, each router device <NUM> may define, e.g. keep track of, the number of its member devices, i.e. member count, (M) and the number of its non-router member devices, i.e. non-router member count, (N). Moreover, each router device <NUM> may report the member count (M) and the non-router member count (N) to the members or said router device <NUM>. The reporting may for example be implemented as a part of regularly distributed, i.e. transmitted, beacon messages, i.e. beacon frames <NUM>. Each transmitted beacon message transmitted by the router device <NUM> may include the number of the member devices (M) of the router device <NUM> and the number of the non-router member devices (N) of the router device <NUM>. <FIG> illustrates an example structure of a beacon frame <NUM> including the number of the member devices (M) and the number of the non-router member devices (N). The number of the member devices (M) field <NUM> and the number of the non-router member devices (N) field <NUM> may be included in a medium access control layer (MAC) payload field <NUM> of the beacon frame <NUM>. The beacon frame may further comprise e.g. physical layer (PHY) header field <NUM>, MAC header field <NUM>, and PHY footer field <NUM>.

A load balanced collective broadcast method according to the invention is described next referring to <FIG>, which schematically illustrates an example of the invention as a flow chart. The method is described by referring to one radio device <NUM>, <NUM> within one radio neighborhood <NUM> to which said one radio device <NUM>, <NUM> belongs. However, each radio device <NUM>, <NUM> of the system <NUM> that receives a broadcast message inside the radio neighborhood <NUM> may independently perform the method steps. In other words, each radio device <NUM>, <NUM> that receives a broadcast message may be configured to independently decide whether to repeat the transmission of the received broadcast message or not and the amount of repetitions of the transmission of the broadcast message by performing at least some of the steps of the method according to the invention. Moreover, each radio device <NUM>, <NUM> may independently perform the method steps within each radio neighborhood <NUM> to which each radio device <NUM>, <NUM> belongs.

The radio device <NUM>, <NUM> may listen, i.e. scan, transmissions within the radio neighborhood <NUM> at a step <NUM> in order to receive the broadcast message at a step <NUM>. If the radio device <NUM>, <NUM> detects at a step <NUM> that it does not receive any broadcast messages it continues listening transmissions at the step <NUM>.

At a step <NUM> the radio device <NUM>, <NUM> defines a total repetition load value, after receiving the broadcast message. The total repetition load value represents the contribution of said radio device <NUM>, <NUM> to the collective target amount of repetitions of the broadcast message within the radio neighborhood <NUM>. The total repetition load value is defined based on an own repetition load value of the radio device <NUM>, <NUM> and a parent repetition load value of the radio device <NUM>, <NUM> defined for each of the at least one associated parent device of the radio device <NUM>, <NUM> as will be described later by referring different examples.

At a step <NUM> the radio device <NUM>, <NUM> decides whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value, i.e. based on the defined total repetition load value. The total repetition load value defines a probability with which the radio device <NUM>, <NUM> repeats the transmission the broadcast message and the amount of repetitions so that the collective target amount is achieved. In other words, the radio device <NUM>, <NUM> decides based on the defined total repetition load value whether it repeats the broadcast message and how many times it repeats the broadcast message. The amount of repetitions of individual radio device <NUM>, <NUM> may differ from <NUM> to n, wherein n > <NUM>, in order to achieve the collective target amount of repetitions inside the radio neighborhood.

The repetition of the broadcast message may be performed on one or more frequency channels. The one or more frequency channels may for example be pre-defined or defined during the run-time of the method by the radio device <NUM>, <NUM>. The collective target amount of repetitions of the broadcast message may be the same or different for each of the one or more frequency channels. Alternatively or in addition, the collective target amount of repetitions of the broadcast message and/or the one or more frequency channels may be the same or different for each radio neighborhood <NUM>.

As described above the total repetition load value (TRL) is defined based on the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> defined for each of the associated at least one parent device of the radio device <NUM>, <NUM>. For example, the total repetition load value may be defined to be the sum of the own repetition load value of the radio device <NUM>, <NUM> and the parent repetition load value(s) of the radio device <NUM>, <NUM> defined for each of the associated at least one parent device. If the radio device <NUM>, <NUM> is associated with more than one parent device, the parent repetition load value (PRL) of the radio device <NUM>, <NUM> is defined for each parent device of the radio device <NUM>, <NUM> and the total repetition load value (TRL) may be defined to be the sum of the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load values (PRLs) of the radio device <NUM>, <NUM> defined for each parent device of the radio device <NUM>, <NUM>. Alternatively, if the radio device <NUM>, <NUM> is associated with one parent device, the parent repetition load value (PRL) of the radio device <NUM>, <NUM> is defined for said one parent device of the radio device <NUM>, <NUM> and the total repetition load value (TRL) may be defined to be the sum of the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> defined for said one parent device.

As discussed above, the sink devices <NUM> do not repeat the transmission of the broadcast message. Thus, the own repetition load value (ORL) of the sink device <NUM> is zero and the parent repetition load value (PRL) of the sink device <NUM> is zero causing that the total repetition load value (TRL) of the sink device <NUM> is zero. Moreover, if a sink device <NUM> is the parent of the radio device <NUM>, <NUM>, the parent repetition load value (PRL) of the radio device <NUM>, <NUM> defined for the sink device <NUM> is zero, because the sink devices <NUM> do not repeat the transmission of the broadcast message.

Next some examples for defining the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> are described.

According to a first example according to the invention, the broadcast message repetition load may be divided between the router devices <NUM> and the non-router device <NUM> within the radio neighborhood <NUM> by applying distributed decision making. The own repetition load value may be defined to be zero for the non-router devices <NUM>. Moreover, the own repetition load of the router device <NUM> depends on the number of router devices <NUM> within the radio neighborhood <NUM> and the number of member devices of said router device <NUM>. The own repetition load value (ORL) of the router device <NUM> may be defined for example according to the following formula: <MAT> wherein R is number of router devices <NUM> within the radio neighborhood <NUM>, i.e. router count, and M is the number of the member devices of said router device <NUM>, i.e. the member count of said router device <NUM>.

The parent repetition load value (PRL) of the radio device <NUM>, <NUM> depends on the number of router devices within the radio neighborhood <NUM> and the number of member devices of the associated parent device of the radio device <NUM>, <NUM> irrespective whether the radio device <NUM>, <NUM> is operating as a router device <NUM> or as a non-router device <NUM>. The parent repetition load value of the radio device <NUM>, <NUM> may be defined for example according to the following formula: <MAT> wherein R is number of router devices <NUM> within the radio neighborhood, i.e. router count, and MP is the number of the member devices of the associated parent device, i.e. the member count of the associated parent device. As discussed above, if the radio device <NUM>, <NUM> has more than one parent device, the parent repetition load value (PRL) may be defined separately for each associated parent device of the radio device <NUM>, <NUM> with the above formula (<NUM>).

According to a second example useful for understanding the invention, the broadcast message repetition load may be divided between the router devices <NUM> and the non-router device <NUM> within the radio neighborhood <NUM> by applying non-equal load balanced decision making. In this example the broadcast message repetition load may be moved from the router devices <NUM> to their non-router device <NUM> members, if the router device <NUM> has one or more non-router device members <NUM>.

Also, in this example the own repetition load value (ORL) may be defined to be zero for the non-router devices <NUM>. The own repetition load value (ORL) of the router devices <NUM> depends on whether the router device <NUM> has one or more non-router member devices <NUM>. The own repetition load value may be defined to be zero for the router devices <NUM> having one or more non-router members devices <NUM>. The own repetition load value of the router device <NUM> without non-router member devices <NUM> may depend on the number of router devices <NUM> within the radio neighborhood <NUM> and the number of member devices of said radio device <NUM>, <NUM>. The own repetition load value (ORL) of the router devices <NUM> without non-router member devices <NUM> may be defined for example according to the same formula (<NUM>) as in the first example described above.

In this second example, the parent repetition load value (PRL) may be defined differently for the router devices <NUM> than for the non-router devices <NUM>. The parent repetition load value (PRL) of the non-router device <NUM> may depend on the number of router devices <NUM> within the radio neighborhood and the number of non-router member devices <NUM> of the associated parent device. The parent repetition load value of the non-router device <NUM> may be defined for example according to the following formula: <MAT> wherein R is number of router devices <NUM> within the radio neighborhood, i.e. router count, and NP is the number of the non-router member devices <NUM> of the associated parent device, i.e. the non-router member count of the associated parent device. As discussed above, if the non-router device <NUM> has more than one parent device, the parent repetition load value (PRL) may be defined separately for each associated parent device of the non-router device <NUM> with the above formula (<NUM>).

The parent repetition load value (PRL) of the router devices <NUM> may depend on the number of router devices within the radio neighborhood <NUM> and the number of member devices of the associated parent device of the router device <NUM>. The parent repetition load value (PRL) of the router device <NUM> may be defined according to the same formula (<NUM>) as in the first example described above. However, if the parent device of the router device <NUM> has one or more non-router member devices <NUM>, the parent repetition load value (PRL) of the router devices <NUM> is zero.

<FIG> illustrate example network topologies comprising one sink device S, <NUM>, three router devices R1-R3, <NUM> and three non-router devices N4-N6, <NUM>. Each radio device <NUM>, <NUM> of the example network topologies of <FIG> belong to one radio neighborhood <NUM>. The example network topologies of <FIG> differ slightly from each other. In the example network topology of <FIG> the router device R2 has three members: router device R3, non-router device N5 and non-router device N6, and the router device R3 does not have any members. In the example network topology of <FIG> the router device R2 has two members: router device R3 and non-router device N5, and the router device R3 has one member that is non-router device N6.

As discussed above each radio device <NUM>, <NUM> of the example network topologies of <FIG> defines independently its total repetition load value and decides independently whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value. To define the total repetition load value each radio device <NUM>, <NUM> may define its own repetition load value and its parent repetition load value of radio device <NUM>, <NUM> defined for each of the at least one parent device. In the example network topologies of <FIG> each radio device <NUM>, <NUM> is associated with one parent device. Thus, the total repetition load value (TRL) of each radio device <NUM>, <NUM> is the sum of the its own repetition load value (ORL) and its parent repetition load value (PRL) defined for said one parent device. Table <NUM> presents load values (ORL, PRL and TRL) for each radio device <NUM>, <NUM> of the example network topology of <FIG> defined according to the first example discussed above. As can be seen from the defined total representation load values of the Table <NUM> the probability that the router device R3, which has no member devices, repeats the transmission of the broadcast message is <NUM> %, whereas the probability that the non-router devices N5 and/or N6 repeat the transmission of the broadcast message is only <NUM> %.

Table <NUM>, in turn, presents load values (ORL, PRL and TRL) for each radio device <NUM>, <NUM> of the example network topology of <FIG> defined according to the first example discussed above. As can be seen from the defined total representation load values of the Table <NUM> the probability that the router device R3, which now has one member device, repeats the transmission of the broadcast message is now <NUM> %, whereas the probability that the non-router devices N5 and N6 repeat the transmission of the broadcast message is <NUM> % and <NUM> %, respectively. Thus, the probability that the non-router devices N5 and N6 participate in the routing, i.e. repetition of the broadcast message, is higher in the example network topology of <FIG> than in the example network topology of <FIG>.

Table <NUM>, in turn, presents load values (ORL, PRL and TRL) for each radio device <NUM>, <NUM> of the example network topology of <FIG> defined according the second example discussed above. As can be seen from the defined total representation load values of the Table <NUM> the probability that the router device R2, which has two non-router member devices N5 and N6 and one router member device, repeats the transmission of the broadcast message is now <NUM> % and the probability that the non-router devices N5 and N6 repeat the transmission of the broadcast message is <NUM> %. This means that broadcast repetition load of the router device R2 is moved partly to its non-router member devices N5 and N6, i.e. each of the non-router members N5 and N6 takes ½ of the load of the parent device. Moreover, the broadcast repetition load of the router device R3, which has no member devices is also moved partly to the non-routing members N5 and N6 of the router device R2, which is the parent device of the router device R3. When comparing the results of the Table <NUM>, in which the load values (ORL, PRL and TRL) of the example network topology of <FIG> are defined for the second example above, to the results of the Table <NUM>, in which the load values (ORL, PRL and TRL) of the example network topology of <FIG> are defined according to the first example above, it may be seen the difference between the non-equal load balanced decision making (second example) and the distributed decision making (first example).

In the above presented examples all the radio devices <NUM>, <NUM> of the system <NUM> may participate in the repetition of the transmission of the broadcast message, but the invention is not limited to that. According to an example embodiment of the invention only part of the non-router devices <NUM> may be arranged to participate the repetition of the transmission of the broadcast message. For example, at least part of the non-router devices <NUM> of the system <NUM> may be battery powered and should not preferably consume their energy resources for the repetition of the transmission of the broadcast messages. Thus, the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> may further depend on the number of participating non-router member devices (QM), i.e. qualified non-router member devices <NUM>. The router device <NUM> having one or more non-router member device <NUM> may inform all its member device about the number of the participating non-router member devices (QM).

The number of participating non-router member devices (QM) may be included in the definitions of the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> according to the above presented examples.

For example, in the definition according to the first example, the own repetition load value (ORL) of the router device <NUM> may be defined for example instead of the formula (<NUM>) according to the following formula: <MAT> wherein R is number of router devices <NUM> within the radio neighborhood <NUM>, i.e. router count, and QM is the number of the participating non-router member devices of said router device <NUM>.

Alternatively or in addition, in the definition according to the first example, the parent repetition load value (PRL) of the radio device <NUM>, <NUM> may be defined for example instead of the formula (<NUM>) according to the following formula: <MAT> wherein R is number of router devices <NUM> within the radio neighborhood <NUM>, i.e. router count, and QMP is the number of the participating non-router member devices of the associated parent device.

Alternatively or in addition, in the definition according to the second example, the parent repetition load value (PRL) of the non-router device <NUM> may be defined for example instead of the formula (<NUM>) according to the following formula: <MAT> wherein R is number of router devices <NUM> within the radio neighborhood, i.e. router count, and NP is the number of the non-router member devices <NUM> of the associated parent device, i.e. the non-router member count of the associated parent device, MP is the number of the member devices of the associated parent device, i.e. the member count of the associated parent device, and QMP is the number of the participating non-router member devices of the associated parent device.

Above, only non-limiting examples for definition of the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> are disclosed. The invention is not limited to the above present examples and the own repetition load value (ORL) of the radio device <NUM>, <NUM> and/or the parent repetition load value (PRL) of the radio device <NUM>, <NUM> may be defined in any other way. The above presented examples disclose simple ways to define the own repetition load value (ORL) of the radio device <NUM>, <NUM> and the parent repetition load value (PRL) of the radio device <NUM>, <NUM> which decreases the needed processing capacity.

<FIG> illustrates an example of a radio device (apparatus) <NUM>, <NUM> according to the invention. The radio device <NUM>, <NUM> comprises a processing part <NUM> that is configured to perform user and/or computer program (software) initiated instructions, and to process data in order to run an application and communication protocol. The processing part <NUM> may comprise at least one processor, e.g. one, two, or three processors. The radio device <NUM>, <NUM> further comprises a memory part <NUM> in order to store and to maintain data. The data may be instructions, computer programs, and data files. The memory part <NUM> may comprise at least one memory, e.g. one, two, or three memories.

The radio device <NUM>, <NUM> further comprises a data transfer part <NUM> and an antenna part <NUM> for providing a bi-directional radio communication with at least one other radio device <NUM>, <NUM>. The radio device <NUM>, <NUM> may use the data transfer part <NUM> in order to transmit commands, requests, messages, and data to at least one of other radio devices <NUM>, <NUM>, <NUM> of the wireless communication system <NUM> via the antenna part <NUM>. The data transfer part <NUM> also receives commands, requests, messages, and data from at least one of the other radio devices <NUM>, <NUM>, <NUM> via the antenna part <NUM> in the wireless communication system <NUM>. The radio device <NUM>, <NUM> may further comprise a power supply part <NUM>. The power supply part <NUM> comprises components for powering the radio <NUM>, <NUM>, e.g. a battery and a regulator.

The memory part <NUM> comprises a data transfer application for operating, i.e. controlling, the data transfer part <NUM>, an antenna application for operating the antenna part <NUM>, and a power supply application for operating the power supply part <NUM>.

The memory part <NUM> comprises also load balancing application <NUM>, i.e. a computer program, comprising instructions which, is configured to use at least one of parts <NUM>, <NUM>, <NUM> in order to perform, i.e. carry out, at least the operations, i.e. the method steps, of the radio device <NUM>, <NUM> described above in this description part and figures, when it is run, i.e. executed, by a computer, e.g. by the radio device <NUM>, <NUM> by means of the processing part <NUM>.

The computer program may be stored in a tangible non-volatile computer readable medium, e.g. an USB stick or a CD-ROM disc.

The method, the wireless communication system <NUM>, and the radio device <NUM>, <NUM> according to the invention described above improves the performance of the wireless communication network <NUM> by distributing, i.e. offloading, broadcasting duties also to "idle" radio devices, i.e. radio devices that do not typically participate in broadcasting, e.g. non-router devices <NUM>. The invention enables simple way for each radio device <NUM>, <NUM> to define themselves the amount of offloading they are supposed to do with minimal negotiations, i.e. the radio devices do no need to send separate messages to request the information needed to define the need to repeat the transmission of the broadcast message. Moreover, the invention described above enables that a broadcast message may be delivered within the wireless communication system <NUM> by decreasing the amount of unnecessary traffic and collisions in the wireless communication system <NUM>.

Claim 1:
A wireless communication system (<NUM>) comprising a plurality of radio devices (<NUM>, <NUM>) and one or more sink devices (<NUM>), each radio device (<NUM>, <NUM>) belongs to one or more radio neighborhoods (<NUM>) and is capable of repeating a transmission of a broadcast message regardless of whether the radio device is operating as a router device (<NUM>) or as a non-router device (<NUM>), wherein radio devices (<NUM>, <NUM>) belonging to each radio neighborhood (<NUM>) are configured to repeat collectively a transmission of a broadcast message a collective target amount of repetitions within each radio neighborhood (<NUM>), wherein each radio device (<NUM>, <NUM>), operating as a router device (<NUM>) or as a non-router device (<NUM>), within each radio neighborhood (<NUM>) to which it belongs is arranged to:
define a total repetition load value representing a contribution of said radio device (<NUM>, <NUM>) to the collective target amount of repetitions of the broadcast message within said each radio neighborhood (<NUM>) to which it belongs, and
decide whether to repeat the transmission of the broadcast message in accordance with the defined total repetition load value,
wherein each radio device (<NUM>, <NUM>) is associated with at least one parent device being a router device (<NUM>),
characterized in that
the total repetition load value is defined based on an own repetition load value of the radio device (<NUM>, <NUM>) and a parent repetition load value of the radio device (<NUM>, <NUM>) defined for each of the associated at least one parent device of the radio device (<NUM>, <NUM>), wherein the own repetition load value of the router device (<NUM>) depends on the number of router devices (<NUM>) within the radio neighborhood (<NUM>) and the number of member devices of said router device (<NUM>), wherein the parent repetition load value of the radio device (<NUM>, <NUM>) depends on the number of router devices (<NUM>) within the radio neighborhood (<NUM>) and the number of member devices of the associated parent device of said radio device (<NUM>, <NUM>), and wherein the member devices comprise one or more router member devices (<NUM>) and/or one or more non-router member devices (<NUM>).