Managing group addressed packets in WI-FI networks
The method addresses the issue of simultaneous packet transmissions by hidden nodes in Wi-Fi networks by assigning unique delays to problem access points, preventing interference and ensuring successful packet reception.
Patent Information
- Application Number
- PCT/EP2024/078279
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-27
- Filing Date
- 2024-10-08
- Publication Date
- 2025-06-05
AI Technical Summary
In Wi-Fi networks, 'hidden nodes' - access points that share a coverage area but are not in direct communication range of each other - can transmit group addressed packets simultaneously, leading to interference and decoding errors for client devices.
A method is introduced to manage the transmission of group addressed packets by identifying 'problem APs' using a problem node detector, assigning unique delay values to these APs, and using broadcast traffic schedule enforcers to ensure that broadcast packets are transmitted at different times, avoiding simultaneous transmissions.
This solution effectively prevents interference from simultaneous transmissions of group addressed packets by hidden nodes, ensuring successful reception and decoding of these packets by client devices, thereby maintaining network connectivity.
Smart Images

Figure EP2024078279_05062025_PF_FP_ABST
Abstract
Description
[0001] MANAGING GROUP ADDRESSED PACKETS IN WI-FI NETWORKS
[0002] Field of the Invention
[0003] This invention relates to managing the transmission of group addressed packets (such as broadcast and multicast packets) in a wireless local area network.
[0004] Background to the Invention
[0005] Enterprise Wi-Fi networks will typically have many wireless access points (APs), and more recently residential Wi-Fi networks have increasingly incorporated multiple wireless APs to provide complete coverage across the home. Note, the term access point (AP) and wireless AP will be used interchangeably in this description. Often the coverage area of individual APs will be such that two (or more) APs will have regions where there is a shared wireless coverage area, but where the two APs are not in direct Wi-Fi communication range of each other. These two APs are sometimes referred to as “hidden nodes”, as they are devices that are out of range of each other, but both are in range a third device.
[0006] In Wi-Fi networks, each device contends with neighbouring devices for access to airtime. Devices typically use a technique called Enhanced Distributed Channel Access (EDCA) to determine whether and when to transmit. In EDCA, each device wanting to transmit listens to see if anyone else is transmitting. If any other device is transmitting, the device wanting to transmit waits till any other device has finished transmitting, and then waits a further short random interval. If the channel is free at that point, the device wanting to transmit can do so.
[0007] EDCA works well when all devices in the network can hear each other. However, if there are “hidden nodes” as described above, there can be problems when the two (“hidden”) devices transmit at the same time, as the third device will hear overlapping transmissions so cannot decode them.
[0008] This problem is well known, and the Request to Send (RTS), Clear to Send (CTS) Wi-Fi protocol extensions can deal with this situation. However, this solution only works for unicast messages where the sender issues an RTS and the one intended recipient replies with a CTS if it also thinks the channel is clear. The solution is not appropriate for broadcast or multicast messages, which by their nature are intended to be received by multiple recipients.
[0009] As set out in the IEEE 802.11 standard, a Wi-Fi broadcast packet is a packet transmitted where the receiver address is set to the broadcast address value FF:FF:FF:FF:FF:FF, and can be received by multiple receivers. Broadcast packets must be receivable by all inrange receivers, as such broadcast packets are typically transmitted at the lowest possible data rate and therefore take longer to transmit than a unicast addressed packet of the same size. APs may transmit broadcast packets even if there are no clients associated to the AP. As broadcast packets are not sent to a single specific receiver, RTS / CTS mechanisms cannot be used and there is no acknowledgment packet sent back to the access point to indicate successful reception and therefore normal Wi-Fi re-transmission mechanisms are not applied.
[0010] Multicast packets are similar to broadcast packets in that the packet is transmitted to multiple receivers and so RTS / CTS and acknowledgments are not used. A multicast packet is one where the receiver address will be set to a value in the ethernet multicast address range. When IP packets with a multicast destination address i.e. destination IPv4 addresses in the range 224.0.0.0 to 239.255.255.255, are transmitted over Wi-Fi the IP multicast destination address will be translated to the equivalent multicast ethernet MAC address in the range 01 :00:5e:00:00:00:00 to 01 :00:5e:7f:ff:ff. Typically APs require at least one associated receiver before transmitting a multicast packet. As with broadcast packets multicast packets are transmitted at the lowest data rate to maximise the likelihood of successful reception for all potential receivers.
[0011] The term “group addressed packet” can be used to refer to both broadcast packets and multicast packets, as both broadcast and multicast use addressing to direct packets to a group of receivers (more than one receiver). In contrast, unicast packets are sent to individual receivers using an associated unique address for that receiver.
[0012] When group addressed packets are transmitted in a Wi-Fi network, the APs may attempt to transmit the group addressed packets at the same time. If one AP is within range of another, then it may see the other’s transmission and wait till it has finished. However, if two APs are nodes that are hidden from each other, they may transmit their group addressed packets at the same time. Any client device in the shared coverage area will receive both group addressed packets and be unable to decode them as the packets will interfere with each other. As group addressed packets are not acknowledged or retransmitted, the transmissions will be lost. As network management packets, such as ARP (Address Resolution Protocol), fall into this category of broadcast packets, the impact on the client device can be severe, resulting in loss of IP layer connectivity.
[0013] Summary of the Invention
[0014] It is the aim of examples of the present invention to provide an improve method of managing the transmission of broadcast and multicast packets in a Wi-Fi network.
[0015] According to one example of the invention, there is provided a method as set out in claim 1.
[0016] According to another example of the invention, there is provided an apparatus as set out in claim 6.
[0017] Brief Description of the Drawings
[0018] For a better understanding of the present invention reference will now be made by way of example only to the accompanying drawings, in which:
[0019] Figure 1 is a system diagram of a network arrangement in an example of the invention;
[0020] Figure 2 is a wireless coverage area diagram in an example of the invention;
[0021] Figure 3a is a block diagram of an example residential gateway;
[0022] Figure 3b is a block diagram of an example access point; and
[0023] Figure 4 is a flow chart summarising the operation of an example of the invention.
[0024] Description of Preferred Embodiments
[0025] The present invention is described herein with reference to particular examples. The invention is not, however, limited to such examples.
[0026] Examples of the present invention provide a method of managing the transmission of group addressed packets (such as broadcast and multicast packets) in a wireless local area network, where two or more access points share a coverage area but are not themselves in direct communication range of each other. The method determines this set of access points, and assigns a unique delay value to each of the set of access points. The respective delay values are then used by each access point to delay transmission of the group addressed packets. As a result, transmission of group addressed packets at the same time is avoided for these access points that share a coverage area but are not in direct communication with each other.
[0027] In the following examples, broadcast packets are used to illustrate the methods, but the methods can equally be applied to any group addressed packet, such as broadcast or multicast packets.
[0028] Figure 1 shows a simplified architecture diagram of an example wireless local area network (WLAN) 100 comprising a residential gateway 102 that also includes a wireless access point, AP1. The residential gateway 102 is connected to a wide area network (WAN) over, for example, a digital subscriber line (DSL) connection. The residential gateway 102 is connected to wireless access points AP2 104 and AP3 106 over Ethernet links. AP2 104 is further connected to wireless access points AP4 108 and AP5 110 over respective Wi-Fi backhaul connections. The WLAN 100 also comprises a number of wireless client devices 120, 122, 124, 126 128 and 130, each of which can be connected to any of the APs depending on their relative locations. In Figure 1 , there is shown exemplary connections between the client devices and the APs.
[0029] The various wireless access points and client devices operate according to the IEEE 802.11 standard, allowing them to communicate with each other wirelessly. The WLAN 100 shown is exemplary and a skilled person will appreciate that additional or fewer elements than those shown may be present in practice, and may also be connected differently.
[0030] Figure 2 is a diagram 200 showing shows the wireless coverage areas of the access points in the WLAN 100 of Figure 1. In this example, AP1 102 has an associated coverage area shown by the circular region 202, AP2 104 has an associated coverage area shown by the circular region 204, AP3 106 has an associated coverage area shown by the circular region 206, AP4 108 has an associated coverage area shown by the circular region 208, and AP5 110 has an associated coverage area shown by the circular region 210. The coverage areas of some of the access points cover other access points (for example, coverage areas 204 and 208 of respective access points AP2 and AP4), but some coverage areas only overlap with other coverage areas and not with another access point (for example, coverage area 202 and 204 of respective access points AP1 and AP2).
[0031] Figure 2 also includes five client devices C1 , C2, C3, C4 and C5. Each client device lies within one or more coverage areas depending on its location. Client device C1 is in the coverage area 202 of AP1 and the coverage area 204 of AP2. Client device C2 is in the coverage area 204 of AP2 and the coverage area 208 of AP4. Client device C3 is in the coverage area 206 of AP3 and the coverage area 210 of AP5. Client device C4 is in the coverage area 208 of AP4 only. Client device C5 is in the coverage area 204 of AP2, coverage area 208 of AP4 and the coverage area 210 of AP5. Client device C6 is in the coverage area 210 of AP5 only.
[0032] However, as described earlier, problems can arise when an access point shares a coverage area with another access point, but is not in sensing range of the other access point, and the access points then try and transmit broadcast packets. Access points in such a scenario are referred to as “hidden nodes” or “problem APs”. An example of this can be seen in Figure 2, where the coverage area of each of AP1 and AP2, 202 and 204 respectively, do not extend to cover the other access point. However, even AP2 and AP5 are deemed problem nodes and may experience problems transmitting broadcast packets, as even though AP2 can see AP5 as the coverage area of AP2 204 extends to cover AP5, AP5 cannot see AP2 as the coverage area of AP5 210 does not extend to the location of AP2.
[0033] Examples of the present invention present methods of managing the transmission of broadcast packets in these situations where there are problem APs.
[0034] Examples of the invention are realised by three main modules: a problem node detector, a broadcast schedule determiner, and a broadcast traffic schedule enforcer. Each of these three elements may be implemented as software modules running on one or more of the elements in the WLAN 100.
[0035] The problem node detector and the broadcast schedule determiner can run on any single element in the WLAN 100, but preferably on the residential gateway 102. The broadcast traffic schedule enforcer can be run anywhere between where a broadcast packet is replicated and the end node from which it is broadcast. For example, in WLAN 100 broadcast packet replication points would be access points AP1 102 and AP2 104, and end nodes would be access points AP2 and AP3 (where broadcast packets are replicated at AP1) and AP4 and AP5 (where broadcast packets are replicated at AP2).
[0036] To illustrate where the modules can be located, Figure 3a shows the residential gateway 102 comprising a problem node detector 302, a broadcast schedule determiner 304, and a broadcast traffic scheduler 306. Figure 3b shows an example access point, such as AP2 104, comprising a broadcast traffic schedule enforcer 308. The other access points would also comprise a broadcast traffic enforcer as per AP2 104 in Figure 3b.
[0037] Figure 4 is a flow chart summarising the steps of an example of the invention.
[0038] In step 400, the problem node detector 302, here located in the residential gateway 102, requests the APs in the network to issue 802.11k Beacon Report Requests to each client device in the network asking each client device to report on the signal strength at which that client device sees all the access points in the network 100. The problem node detector 302 also requests an 802.11k Beacon Report Request from each access point in the network 100 asking each access point to report the signal strength at which it sees each of the other access points in the network.
[0039] In step 402, the problem node detector 302 receives the signal strength reports form the client devices and access points. The problem node detector 302 could also ask APs to perform active or passive scans to detect other APs and determine the associated signal strength.
[0040] In step 404, the problem node detector 302 uses the received reports to identify, for each access point, which other access points are not visible to that access point (by virtue of their absence from the Beacon Reports).
[0041] Having identified which access points are hidden from each other, the problem node detector 302 reviews the client Beacon Reports to determine for each AP whether any client devices that can see that access point can also see one or more access points that are hidden from that access point, whilst optionally noting the corresponding signal strengths (for example the received signal strength indicator RSSI). For each of the client devices identified in this manner, the problem node detector 302 optionally compares the signal strengths at which the client sees the access points. For example, if the client device is say very close to its parent AP (the AP with which it is associated) and very far from the other AP, then the signal to noise ratio (SNR) of the broadcast packet transmitted by the parent AP may be high enough to decode any broadcast packet received from the parent AP even in the presence of the broadcast packet from the other AP, and so this client device does not experience a problem with its parent AP. However, there may be an issue in the reverse situation where the client device is associated with the “other” AP. A signal strength test is conducted to determine when a problematic situation arises, by determining the signal strength difference between the client device’s parent AP and other AP. If the difference in signal strength is less than a specified threshold, then that client device is identified as a “problem node”, and the corresponding access points that the problem node can see are identified as a set of “problem access points” or “problem APs”. The result may be a number of problem nodes, each having a corresponding set of two or more problem APs.
[0042] However, in a simplified alternative, there is no signal strength testing or processing, and the assumption is that a broadcast packet transmitted by two APs that are visible by a client device but not to each other will interfere and cause a decoding error. Thus, any APs that satisfy this simplified criteria can be considered as “problem APs”.
[0043] The list of problem nodes and sets of problem APs is sent to the broadcast schedule determiner 304, which in this example is also found in the residential gateway 102.
[0044] In step 406, the broadcast schedule determiner 304 first determines the duration of the largest possible broadcast packet, taking particular account of the maximum payload size and the transmission data rate for broadcast traffic. The broadcast data rate is a configurable parameter set when an AP is configured. It is typically set to the minimum allowable data rate for the particular Wi-Fi generation e.g. 6Mbps for 802.11ac operating in 5GHz. The maximum payload size will depend on the particular IP protocols in use e.g. a broadcast ARP packet maybe only 200 bytes but a broadcast UPnP packet could be much larger, so historical packet size could be used to help determining the payload size.
[0045] The system is configured to handle a certain maximum number, N, of consecutive broadcast packets. Consequently, in step 408, the broadcast schedule determiner 304 determines a Delay Unit, D, as equal to N times the duration of the largest possible broadcast packet.
[0046] In step 410, the broadcast schedule determiner merges the sets of problem APs from step 404. Each set of problem APs is compared. If any set contains a common problem AP, the two sets are merged to create a new set that contains each AP that appears in either set.
[0047] There now follows a worked example of how the sets of problem APs are identified, before those sets of problem APs are merged with reference to client devices and APs shown in Figure 2.
[0048] Starting with each access point in turn (and where any client being considered is associated with the listed AP):
[0049] AP1 :
[0050] 1 . List of other APs that are not visible to AP1 = AP2, AP3, AP4, AP5.
[0051] 2. List of AP1 client devices that can see hidden APs = C1 , where AP1 Signal Strength - AP2 Signal strength < threshold.
[0052] 3. Problem nodes = C1.
[0053] 4. Set of Problem APs = {AP1 , AP2}.
[0054] AP2
[0055] 1. List of other APs that are not visible to AP2 = AP1 , AP3, AP5.
[0056] 2. List of client devices that can see hidden APs = C1 , AP2 Signal strength - AP1 Signal Strength < threshold; C5, AP2 Signal strength - AP5 Signal Strength < threshold.
[0057] 3. Problem nodes = C1 , C5.
[0058] 4. Set of Problem APs = {AP1 , AP2}, {AP2, AP5}.
[0059] AP3
[0060] 1. List of other APs that are not visible to AP3 = AP1 , AP2, AP4, AP5.
[0061] 2. List of client devices that can see hidden APs = C3, AP3 Signal strength - AP5 Signal Strength > threshold (note, this does not satisfy the test “If the difference in signal strength is less than a specified threshold, then that client device is identified as a “problem node”, and the corresponding access points that the problem node can see are identified as a set of “problem APs)
[0062] 3. Problem nodes = None (see note above).
[0063] 4. Set of Problem APs = None.
[0064] AP4
[0065] 1. List of other APs that are not visible to AP4 = AP1 , AP3, AP5.
[0066] 2. List of client devices that can see hidden APs = C5, AP4 Signal strength - AP4 Signal Strength < threshold.
[0067] 3. Problem nodes = C5.
[0068] 4. Set of Problem APs = {AP4, AP5}.
[0069] AP5
[0070] 1. List of other APs that are not visible to AP5 = AP1 , AP3, AP4.
[0071] 2. List of clients devices that can see hidden APs = C3, AP5 Signal strength - AP3 Signal Strength > threshold - see note above for AP3 above; C5, AP5 Signal strength - AP4 Signal Strength < threshold.
[0072] 3. Problem nodes = C5.
[0073] 4. Set of Problem APs = {AP4, AP5}.
[0074] Having determined the sets of problem APs, the merging of the sets is performed by first identifying the unique sets of problem APs from all the sets of problem APs, which in this example results in: {AP1 , AP2}, {AP2, AP5}, {AP4, AP5}. Then each set is iteratively compared with each other set (including merged sets from previous iterations), to give the merged set of problem APs: {AP1 , AP2, AP4, AP5}.
[0075] Now the merged set of problem APs has been identified, processing continues to step 412, where the broadcast schedule determiner 304 assigns a unique delay to each AP within the merged set of problem APs, with the difference in delays being at least one Delay Unit, D, in duration. For example, if the system is configured to cope with two consecutive broadcast packets, D will be set to slightly more than twice the largest possible broadcast packet duration, then for access points AP1 , AP2, AP4, and AP5, it might allocate delays of 0, D, 2D and 3D respectively.
[0076] Preferably, in determining the delays, the broadcast schedule determiner also takes into account the delay between the packet leaving at the broadcast traffic schedule enforcer and the packet being transmitted by the access point, which may vary depending on exactly where in the network the broadcast traffic schedule enforcer is implemented.
[0077] The broadcast schedule determiner 304 then sends the calculated delay out to each of the corresponding broadcast traffic schedule enforcers 308.
[0078] The job of the broadcast traffic schedule enforcers 308 (where one may be present in each access point) in step 414 is to ensure that any broadcast packets are held in a buffer for the period of delay specified by the broadcast schedule determiner before they are made available for transmission.
[0079] When the broadcast traffic schedule enforcer 308 receives a broadcast traffic delay requirement from the broadcast schedule determiner 304 it proceeds as follows:
[0080] • If the delay is zero, it allows the access points to transmit broadcast packets without introducing any additional delay to the broadcast traffic path.
[0081] • If the delay is non-zero, it sets a delay in the broadcast traffic path to that specified by the broadcast schedule determiner 304.
[0082] As a result, when a broadcast packet needs to be sent, it will travel from the source (e.g. via Ethernet) to each of the access points. Each access point will pass the packet into its relevant broadcast queue. Any delay set ensures that the broadcast packet is transmitted at different times by any access points that have client devices in common areas of coverage. The client device will thus be able to successfully receive the broadcast packet
[0083] Processing can return to step 400, where the method can be repeated as required to maintain an up to date set of delays, which can occur for example if the client devices change location or client devices are added to or leave the network.
[0084] Examples of the invention are realised, at least in part, by executable computer program code which may be embodied in an application program data. When such computer program code is loaded into the memory of the processor in one of the access points, it provides a computer program code structure which is capable of performing at least part of the methods in accordance with the above-described examples.
[0085] In general, it is noted herein that while the above describes examples of the invention, there are several variations and modifications which may be made to the described examples without departing from the scope of the present invention as defined in the appended claims. One skilled in the art will recognise modifications to the described examples.
Claims
CLAIMS1. A method of managing the transmission of group addressed packets in a wireless local area network, the wireless local area network comprising a plurality of access points, the method comprising the steps of: obtaining data indicating a set of neighbouring access points, wherein each neighbouring access point in the set of neighbouring access points has a neighbouring relationship with at least one other neighbouring access point in the set, the neighbouring relationship being that the neighbouring access point and the at least one other neighbouring access point have an overlapping coverage area and a respective coverage area of the at least one other neighbouring access points does not cover the neighbouring access point; assigning a unique delay value to each neighbouring access point of the set of neighbouring access points; and causing each neighbouring access point of the set of neighbouring access points to delay transmission of a group addressed packet as a function of its respective unique delay value.
2. A method as claimed in claim 1, wherein the unique delay value is a nonnegative integer multiple of a delay unit, the delay unit being a duration of a maximum sized group addressed packet multiplied by a maximum number of consecutive group addressed packets.
3. A method as claimed in any one of the preceding claims, wherein the step of obtaining data indicating a set of neighbouring access points comprises: obtaining first data identifying, for each access point of the plurality of access points, each other access point of the plurality of access points having a respective coverage area that does not cover the access point; obtaining second data identifying, for each access point of the plurality of access points, each other access point of the plurality of access points having an overlapping coverage area with the access point; and determining a set of neighbouring access points based on the obtained first and second data, wherein each neighbouring access point in the set of neighbouring access points has a neighbouring relationship with at least one other neighbouring access point in the set, the neighbouring relationship being that the neighbouring access point and the at least one other neighbouring access point have an overlapping coverage areaand the respective coverage area of the at least one other neighbouring access point does not cover the neighbouring access point.
4. A method as claimed in claim 3, wherein the step of obtaining second data comprises identifying, for each access point of the plurality of access points, a difference between a signal strength of the other access point in the overlapping coverage area and a signal strength of the access point in the overlapping coverage area and comparing to a threshold.
5. A method as claimed in any preceding claim, wherein group addressed packet is a broadcast packet or a multicast packet.
6. A module for managing the transmission of group addressed packets in a wireless local area network, the wireless local area network comprising a plurality of access points, the module adapted in operation to: obtain data indicating a set of neighbouring access points, wherein each neighbouring access point in the set of neighbouring access points has a neighbouring relationship with at least one other neighbouring access point in the set, the neighbouring relationship being that the neighbouring access point and the at least one other neighbouring access point have an overlapping coverage area and a respective coverage area of the at least one other neighbouring access points does not cover the neighbouring access point; assign a unique delay value to each neighbouring access point of the set of neighbouring access points; and cause each neighbouring access point of the set of neighbouring access points to delay transmission of a group addressed packet as a function of its respective unique delay value.
Citation Information
Patent Citations
Eliminating multicast / broadcast collisions in a wireless local area network
US7385945B1