METHOD FOR SELECTING OPERATING CHANNELS IN A COMMUNICATION NETWORK AND COMMUNICATION NETWORK FOR EXECUTING THE METHOD

DE602023009686T2Active Publication Date: 2025-12-17SAGEMCOM BROADBAND SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602023009686
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-03-01
Filing Date
2023-02-24
Publication Date
2025-12-17
Estimated Expiration
2043-02-24

AI Technical Summary

Technical Problem

Existing wireless communication networks, particularly those conforming to IEEE 802.11 standards, suffer from suboptimal communication performance due to inefficient automatic channel selection methods, leading to interference among nodes using nearby operational channels.

Method used

A method for selecting operational channels in a communications network where nodes connected only by wireless links form branches, which are connected by wired links, involves each branch selecting and aligning operational channels within identified groups based on radio propagation visibility and performance metrics, ensuring common channels are used among visible branches.

Benefits of technology

This approach improves communication performance by reducing interference and enhancing media access mechanisms, allowing better sharing of the communication medium and minimizing collisions.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] At least one embodiment relates to a method for selecting operational channels in a communications network comprising a plurality of aggregation nodes connected to each other by wired and wireless links. At least one other embodiment relates to a communications network implementing said operational channel selection method. STATE OF PRIOR ART

[0002] A wireless communication network (hereinafter "network") conforming to one of the IEEE 802.11 standards typically comprises a plurality of nodes. Each node is an electronic device comprising a minima A radio frequency module enables communication in accordance with one or more IEEE 802.11 standards, or in other words, in accordance with one or more Wi-Fi protocols. Such a network typically comprises an electronic device, commonly called an access point (AP), and a plurality of electronic devices, called users (or clients), that can establish wireless connections with the access point and / or with each other. In a residential environment, the electronic access point is typically a router provided by an internet service provider, i.e., a home gateway (or residential gateway). The electronic user devices are typically computers, televisions, tablets, or smartphones.It is commonly said that the user's electronic devices are associated "via Wi-Fi" with the access point.

[0003] The architecture of a Wi-Fi network can also be distributed, for example, to extend the network's range and / or increase its performance, by using multiple access points. The architecture of a distributed Wi-Fi network differs from the architecture briefly described above. A distributed Wi-Fi network typically comprises two access networks. It includes an access network, also called a backhaul or infrastructure network (also known as a core network). backhaul ) ,allowing access points to be connected and forming a network infrastructure based on a mixed star and / or daisy-chain network architecture. This aggregation network can be wireless (e.g., Wi-Fi), wired (e.g., Ethernet), or a combination of both. It also includes a user or client access network (also called a network). fronthaul ) , allowing a connection of nodes (or electronic devices) called users (or clients) to the distributed Wi-Fi network.

[0004] It is known that each node of the network backhaul selects a radio channel (e.g., primary channel in the case of Wi-Fi), called the operational channel, or a radio band, called the operational band, corresponding to an aggregation of operational channels (e.g., primary channel and secondary channels in the case of Wi-Fi), which it then uses to communicate with other nodes in the network. backhaul. To this end, an automatic channel selection process, known as ACS (Automatic Channel Selection), is implemented to select an operational channel or band for each node in order to minimize interference with other nodes. By definition, nodes belonging to the same subset of nodes can use the same operational channel or band to communicate with each other.

[0005] This automatic selection of the operational channel is generally performed by a single node, called the master node, which propagates its decisions to all other nodes in the network. The selection can also be performed independently at the level of each subset of nodes by a single node within that subset, called the coordinator node or submaster node, which propagates its decisions to all other nodes in the subset. However, these solutions are suboptimal in terms of communication performance. Indeed, if two subsets of nodes visible to each other from a radio propagation perspective use nearby operational channels, communication performance can be degraded, particularly due to the media access mechanisms implemented within Wi-Fi networks.

[0006] US document 2021 / 368362 A1 describes optimization processes in a distributed Wi-Fi system.

[0007] It is desirable to overcome these various drawbacks of the current state of the art. In particular, it is desirable to propose a method for selecting operational channels in a communications network that is more efficient in terms of communication performance. DESCRIPTION OF THE INVENTION

[0008] At least one embodiment relates to a method for selecting operational channels in a communications network comprising a plurality of aggregation nodes connected to each other by wired and wireless links. The method is characterized in that the nodes connected to each other only by wireless links form a branch, the branches being connected to each other by wired links. The method comprises: for each branch, selecting at least one operational channel, using said at least one selected operational channel to send beacon frames, and informing the other branches of the communications network of its selection; For each branch, determine if there is at least one operational channel selected in common between said branch and another branch; identify at least one group of branches in which each branch has at least one operational channel selected in common with another branch of said group and in which each branch sees from a radio propagation point of view at least one other branch of said set; for each group of branches identified, select at least one operational channel by realigning within the group the selections of at least one operational channel made by branch; for each group of branches, apply the at least one operational channel selected by said group.

[0009] Thus, by realigning within the group the selections of at least one operational channel made per branch, communication performance is improved.

[0010] In one embodiment, identifying at least one group of branches includes: for each branch with at least one selected channel in common with another branch, detect the other branches seen from a radio propagation point of view by said branch, a branch being seen by another branch if a node of said branch perceives a signal from a node of the other branch with a signal level greater than a threshold value; and identify at least one group of branches in response to said detections.

[0011] In one embodiment, for each identified branch group, selecting at least one operational channel by realigning within the group the selections of at least one operational channel made per branch includes selecting, for said identified group, said at least one operational channel from the branch of the group that sees the most branches from a radio propagation point of view.

[0012] In one embodiment, selecting, for said identified group, said at least one operational channel of the branch of the group which sees the most branches from a radio propagation point of view includes in case of a tie between two branches selecting said at least one operational channel of the branch among said two branches with a higher score, said score being representative of a percentage of free transmission time.

[0013] In one embodiment, selecting, for said identified group, said at least one operational channel of the branch of the group which sees the most branches from a radio propagation point of view includes in case of a tie between two branches selecting said at least one operational channel of the branch among said two branches whose coordinating node has the smallest MAC address.

[0014] In one embodiment, selecting, for said identified group, said at least one operational channel of the branch of the group which sees the most branches from a radio propagation point of view includes in case of a tie between two branches selecting said at least one operational channel of the branch among said two branches whose coordinating node has the largest MAC address.

[0015] At least one other embodiment relates to a communications network comprising a plurality of aggregation nodes connected to each other by wired and wireless links. The communications network is characterized in that the nodes connected to each other only by wireless links form a branch, the branches being connected to each other by wired links. The communications network is configured to: for each branch, select at least one operational channel, use said at least one selected operational channel to send beacon frames, and inform the other branches of the communications network of its selection; For each branch, determine if there is at least one operational channel selected in common between said branch and another branch; identify at least one group of branches in which each branch has at least one operational channel selected in common with another branch of said group and in which each branch sees from a radio propagation point of view at least one other branch of said set; for each group of branches identified, select at least one operational channel by realigning within the group the selections of at least one operational channel made by branch; for each group of branches, apply the at least one operational channel selected by said group.

[0016] An operational channel selection device in a communications network is also described. The communications network comprises a plurality of aggregation nodes connected to each other by wired and wireless links. Nodes connected to each other only by wireless links form a branch. Branches are connected to each other by wired links. Each branch selects at least one operational channel, uses said selected operational channel to send beacon frames, and informs the other branches of the communications network of its selection. The operational channel selection device is configured to: For each branch, determine if there is at least one operational channel selected in common between said branch and another branch; identify at least one group of branches in which each branch has at least one operational channel selected in common with another branch of said group and in which each branch sees from a radio propagation point of view at least one other branch of said set; for each group of branches identified, select at least one operational channel by realigning within the group the selections of at least one operational channel made per branch; for each group of branches, configure the operational channel to be applied with the at least one operational channel selected for said group.

[0017] A computer program product is also described which includes instructions for implementing the operational channel selection process according to any of the embodiments described above, when said program is executed by a processor.

[0018] A storage medium is also described which stores a computer program comprising instructions to implement the operational channel selection process according to any of the embodiments described above, when said program is executed by a processor. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The features of the invention mentioned above, as well as others, will become clearer upon reading the following description of an exemplary embodiment, said description being made in relation to the accompanying drawings, among which: [ Fig. 1 ] schematically illustrates a communications network in which different implementations can be implemented; [ Fig. 2 ] schematically illustrates a communications network in which different implementations can be implemented; [ Fig. 3 ] schematically illustrates another example of a communications network in which different embodiments can be implemented; [ Fig. 4 ] schematically illustrates a method for selecting operational channels in a Wi-Fi network according to a particular embodiment; [ Fig. 5 ] illustrates in detail a step in the process of selecting operational channels according to a particular embodiment; [ Fig. 6 ] illustrates the first part of a variant implementation of a step in the operational channel selection process; [ Fig. 7 ] illustrates a second part of a variant implementation of a step in the operational channel selection process; [ Fig. 8 ] represents a network comprising branches, each of which is associated with a list of operational channels, and in which the variant illustrated by the Figs 6 And 7 ; Fig. 9 ] represents the network illustrated by the Fig. 8 after implementation of the variant illustrated by the Figs 6 And 7 ; Fig. 10 ] schematically illustrates an example of the hardware architecture of a collection node according to a particular implementation; and [ Fig. 11 ] schematically illustrates an example of the hardware architecture of a device for selecting operational channels according to a particular embodiment. DETAILED DESCRIPTION OF IMPLEMENTATION METHODS

[0020] There Fig. 1 This schematically illustrates a communication network 100 in which various embodiments can be implemented. The distributed network 100 comprises a gateway 110 and a plurality of nodes or electronic devices N0 101, N1 102, N2 103, N3 104, C1 105, and C2 106. The gateway 110 allows interconnection of the network 100 with a network 120, for example, the Internet. In this example, nodes N0, N1, N2, and N3 are called aggregation nodes. Nodes C1 and C2 are two user nodes connected to aggregation nodes (respectively, nodes N2 and N3). Gateway 110 and nodes N0, N1, N2 and N3 thus constitute the collection infrastructure of network 100. Each collection node N0, N1, N2 or N3 can therefore establish a connection to another collection node in order to constitute the collection infrastructure of distributed network 100.The collection nodes can be connected to each other via a wired link, for example Ethernet, or via a wireless link. On the... Fig.1 Wired connections are represented by a solid line and wireless connections by a dotted line.

[0021] Thus, in the example illustrated by the Fig. 1 Node N0 101 is connected via a wired connection to gateway GW 110 and node N2 103, for example, via an Ethernet connection. Node N0 101 is connected wirelessly to node N1 102. Similarly, nodes N2 103 and N3 104 are connected wirelessly. Such a network backhaul It is called hybrid because it is composed of wired and wireless connections. In the network backhaul, The nodes connected to each other only by wireless links form a branch. Thus, on the Fig. 1 , the network backhaul It comprises 3 branches B0, B1 and B2. The first branch B0 includes gateway 110, the second branch B1 includes nodes N0 and N1 and the third branch includes nodes N2 and N3. These three branches are connected to each other by wired links 107 and 108.

[0022] There Fig.2 This schematically illustrates another 200 communications network in which various embodiments can be implemented. The 200 communications network comprises a plurality of nodes or electronic devices N0, N1, N2, N3, and N4. Each of these nodes can be a residential gateway, an extender, or a set-top box. Node N1 enables interconnection of the 200 network with a 220 network, for example, a World Area Network (WAN) such as the Internet. In this example, nodes N0, N1, N2, N3, and N4 are called aggregation nodes. These nodes N0, N1, N2, N3, and N4 constitute the aggregation infrastructure or network. backhaul of the 200 network. The 200 communications network may include user nodes (not shown on the Fig.2 ) connected to the network fronthaul distributed by the collection nodes.

[0023] Each aggregation node has at least one WLAN (Wireless Local Area Network) interface and at least one LAN (Local Area Network) interface to connect to other nodes. Multiple nodes can connect to the same WLAN interface of another node higher up in the network topology. However, only one node can connect directly to a LAN interface of another node higher up in the network topology. On the Fig.2 Wired connections are represented by a solid line and wireless connections by a dashed line. Thus, nodes N0 and N1 are connected wirelessly via their WLAN interfaces. Nodes N0 and N3 are connected wired via their LAN interfaces. Nodes N1 and N2 are connected wirelessly via their WLAN interfaces. Nodes N3 and N4 are connected wirelessly via their WLAN interfaces. Therefore, the 200 communications network is a hybrid network in which wired and wireless connections coexist.

[0024] In the 200 communications network, there are two branches, B0 and B1. Branch B0 includes nodes N0, N1, and N2, and branch B1 includes nodes N3 and N4. A branch is a set of nodes connected to each other only by wireless links via their WLAN interface. Branches are connected to each other only by a wired link; that is, the LAN interface of a node in a branch, i.e., node N0 of branch B0 on ​​the Fig. 2 , is connected to the LAN interface of another node on another branch, i.e., node N3 of branch B1 on the Fig. 2 .

[0025] There Fig.3 This schematically illustrates another example of a 300 communications network in which various embodiments can be implemented. The 300 communications network comprises a plurality of nodes or electronic devices N0, N1, and N2. Each of these nodes can be a residential gateway, an extender, or a set-top box. Node N0 enables interconnection of the 300 network with a 320 network, such as the Internet. In this example, nodes N0, N1, and N2 are called aggregation nodes. These nodes N0, N1, and N2 constitute the aggregation infrastructure of the 300 network. The 300 communications network may include user nodes (not shown in the diagram). Fig.3 ) connected to the collection nodes.

[0026] Each aggregation node has at least one WLAN (Wireless Local Area Network) interface and at least one LAN (Local Area Network) interface to connect to other nodes. Multiple nodes can connect to the same WLAN interface of another node higher up in the network topology. However, only one node can connect directly to a LAN interface of another node. On the Fig.3 Wired connections are represented by a solid line. Thus, node N0 and node N1 are connected by a wired link through a pair of their LAN interfaces. Node N1 and node N2 are also connected by a wired link through a pair of their LAN interfaces. The LAN interfaces of node N1 connecting it to nodes N0 and N2 are different (e.g., different Ethernet ports). In the 300 communication network, there are three branches, B0, B1, and B2. Each branch comprises a single node.

[0027] The complete topology of the 200 or 300 communications network is considered accessible to all network aggregation nodes. Generally, there is a software component, called the master software component, that coordinates the operation of all network nodes. This master software component can be stored in a node directly connected to the Internet, e.g., in node N1 of the... Fig. 2 or node N0 of the Fig. 3 In some variations, this master software element is stored in any network aggregation node or in an element external to the network (e.g., a server in the cloud). This master software element is responsible for maintaining and communicating the overall network topology to each network node (via standardized communication protocols, e.g., IEEE 1905, or via a software bus as described in document FR2984554). Thus, each node can identify which branch another network node belongs to.

[0028] Each branch of the 200 or 300 MHz networks is configured to implement an automatic channel selection (ACS) process to choose an operational channel (e.g., the primary channel in the case of Wi-Fi) or an operational band corresponding to a channel aggregation (e.g., the primary channel used for control and management and secondary channels in the case of Wi-Fi). A channel is generally identified by an index. For example, in the 5 GHz band, channel index 36 is centered on the 5.180 GHz frequency, and channel index 44 is centered on the 5.22 GHz frequency. Channel indices are well-known, with each channel defined by its center frequency. In Wi-Fi, a channel is associated with a bandwidth of 20 MHz (22 MHz for the modulations of amendment 802.11b of the IEEE 802.11 group of standards), so that when we talk, for example, about a primary channel equal to 36, we mean a center frequency of 5.180 GHz and a bandwidth of 20 MHz.

[0029] The implementation of the ACS automatic channel selection process can be performed by a coordinator node selected within the branch. The operational channels thus selected by the coordinator node are applied to all nodes belonging to the same branch. If such coordinator nodes are implemented, then each branch coordinator node knows the identity of the other coordinator nodes via the master software element.

[0030] There Fig. 4 schematically illustrates a method for selecting operational channels in a communications network according to a particular embodiment. In the example of the figure Fig.4 The communication network comprises four branches, B0, B1, B2, and B3. The process can be implemented by coordinating nodes selected from each branch. Hereafter, we will refer to it simply as a branch, with transmitted information being distributed either to all nodes within the branch or to the branch's coordinating node, if one exists.

[0031] During an S100 step, each branch, e.g. each coordinating node of said branch, independently implements an ACS automatic operational channel selection process and uses the operational channel(s) of its selection to send beacon frames.

[0032] Such a process can be based on selecting the operational channels with the most free transmission time ("transmit opportunity") as seen by the coordinating node over a given observation period, for example. This step consists of determining a plurality of lists of operational channels or a plurality of operational bands (e.g., [ 36 , 40, 44, 48] with 36 as the primary channel and [36, 40 [44, 48] with 40 as the primary channel), each list or band optionally being associated with a score representative of the ACS process result (e.g., the percentage of observed transmission free time). An operational channel list comprises either a single operational channel, e.g., a single primary channel, or a plurality of operational channels, e.g., a primary channel and a plurality of secondary channels.

[0033] The ACS process selects a list of operational channels (or an operational band) from among the plurality of lists, e.g., the one with the highest score, and thus defines a list of operational channels that can be used by the nodes of the branch. During an S101 step, each branch uses the operational channel(s) from its selection, i.e., the one(s) determined in the S100 step, e.g., to send beacon frames. This step must be performed before the S106 step described later.

[0034] During an S102 step, each branch informs the other branches of the result of its automatic ACS channel selection; that is, each branch communicates the selected operational channels to the other branches. Optionally, the score associated with this selection is also communicated.

[0035] During an S104 step, each branch determines whether there is at least one operational channel selected in common between that branch and another branch. In other words, each branch determines whether there is an overlap of operational channels with another branch, i.e., whether the result of its automatic ACS channel selection and all or part of the result of another branch's automatic ACS channel selection overlap. An overlap of operational channels between two branches results in the existence of at least one channel common to the lists of operational channels selected in the S100 step by the ACS process in each of the two branches. For example, in Wi-Fi, branch B0 selects the operational channels [36 [40, 44, 48] with channel 36 as the primary channel, branch B1 selects the operational channels [44, 48] with channel 44 as the primary channel. Therefore, there is an overlap since operational channels 44 and 48 are common to both lists. In the example of the Fig. 4 It is assumed that B0 determines that there is an overlap with B1, B1 determines that there is an overlap with B0 and B2, B2 determines that there is an overlap with B1, and B3 determines that there is no overlap with the other branches. In case of overlap, the branches concerned must undertake a phase of operational channel negotiation (steps S106 and S108). This is the case for branches B0, B1, and B2 on the Fig. 4 .

[0036] If a branch does not overlap with any of the other branches in the network, then no operational channel negotiation phase is initiated by that branch. This is the case for branch B3 on the Fig. 4 This branch continues to use (step S107) the operational channel(s) of its selection, i.e. the one(s) determined in step S100.

[0037] During an S106 step, one or more branch groups are identified. A branch group is a set of branches in which: each branch has at least one selected channel in common with another branch of said group, i.e. that there is at least one overlap with another branch of said set, each branch sees from a radio propagation point of view at least one other branch of said set.

[0038] A branch Bi is said to have radio propagation visibility of another branch Bj if at least one node Nk of branch Bi has radio propagation visibility of at least one node Nl of Bj, where i, j, k, and 1 are indices, e.g., positive integers, identifying branches and nodes. A node Ni is said to have radio propagation visibility of a node Nj if node Ni receives or decodes signals emitted by Nj (e.g., beacons) with a signal level greater than a threshold value S, e.g., S = -82 dBm at 20 MHz. In the example of the Fig. 4 We assume that, from a radio propagation perspective, B0 sees B1 and that B1 and B2 do not see any other branch. Therefore, B0 and B1 belong to the same group because B0 sees B1 even if B1 does not see B0. In the specific case where a branch is not visible to any of the other branches in the network, then this branch continues to use (step S107) the operational channel(s) of its selection, i.e., the one(s) determined in step S100. This is the case for branch B2 on the Fig. 4 .

[0039] During an S108 step, branches belonging to the same branch group negotiate operational channels with each other in order to realign the ACS process selections made independently by branch in the S100 step.

[0040] In other words, for a group of branches, realigning the ACS process selections involves selecting a single list of operational channels, with all branches in that group using this single list of operational channels. This is the case for branches B0 and B1 on the Fig.4 In one particular embodiment, this single list of operational channels is the list selected at step S100 by one of the branches of the group, which therefore imposes its selection on the other branches of the group. In another particular embodiment, the branch Bk that sees the most branches imposes its operational channels on the group, i.e., those selected at step S100. Nb_max is the number of branches visible to Bk, Nb_max being a positive integer.

[0041] In the event of a tie, i.e., when two branches have the same number of branches (Nb_max), the branch with the best ACS score or the one with the lowest (or highest) MAC address of the coordinating node imposes its operational channels on the group, i.e., those selected in step S100. Using the MAC address of the coordinating node provides a deterministic mechanism for selecting operational channels per group, thus avoiding additional exchanges between branches for coordination. This approach allows each branch in each group to determine which operational channels to use without having to exchange any information beyond what has already been exchanged.

[0042] During an S110 step, the branches apply the operational channel selection made in the S108 negotiation step, i.e., they use the operational channel(s) selected by group, particularly for sending beacon frames. This is the case for branches B0 and B1 on the Fig.4 .

[0043] In one particular embodiment, the selection is made by a dedicated operational channel selection device that is specifically configured to implement steps S104 to S108. This device configures, for each branch group, the operational channel to be applied, along with at least one operational channel selected for that group. During step S110, the branches apply the operational channels thus configured.

[0044] Determining overlaps between branches and the radio propagation visibility of one branch by another, in order to identify one or more branch groups and determine whether realignment of the operational channel selections made independently per branch in step S100 is necessary within each branch group, improves communication. In particular, realigning the operational channel selections made independently per branch in step S100 for branches within the same branch group allows each radio in those branches to benefit from the energy and Wi-Fi signal detection mechanisms on the primary channel, thus better sharing the medium and at least partially avoiding collisions.

[0045] Indeed, before transmitting useful data on the selected operational channel(s), a node implements media access mechanisms to verify the availability of said media. For example, before accessing the media, a node detects on all operational channels—i.e., the primary channel and secondary channels—that there is no power or that the power level is below a threshold value. Furthermore, on the primary channel only, it detects, through decoding the Wi-Fi signal, that there is no ongoing Wi-Fi transmission.

[0046] Thus, if the primary channel of branch B0 is aligned with the primary channel of branch B1 at the end of step S108, a node N0 of branch B0, before accessing the media, performs both energy and signal detection on their shared primary channel. This allows for better detection and therefore sharing of the media. Indeed, if realignment is not performed and, for example, the primary channel of B1 corresponds to the secondary channel of B0, node N0 of branch B0 only performs energy detection on the primary channel of B1, i.e., no signal detection. By only performing energy detection, node N0 may consider the media available when it is not, which increases the risk of a collision.

[0047] In cases where branches are sufficiently far apart that their transmissions, even with different primary channels, do not interfere with each other, no realignment of ACS decisions is initiated. This is the case for node B2 on the Fig. 4 .

[0048] There Fig. 5 illustrates in detail step S106 according to a particular embodiment.

[0049] During an S106-1 step, each branch detects the other branches visible from a radio propagation perspective. A branch Bj is visible from a branch Bi if a node Nk of Bi sees at least one node Nl of Bj with a signal level greater than a threshold S.

[0050] The node Nk of Bi sees the node Nl of Bj if the signal level received by Nk from Nl is greater than the threshold value S.

[0051] To this end, each branch uses its selected operational channel(s), i.e., those determined in step S100, e.g., to send beacon frames. The detection of branches visible from a radio propagation perspective can then be achieved, for example, by the detection (or "scanning") by the nodes of a given branch of the beacon frames transmitted by the nodes of other branches. More precisely, a node Nk that decodes a frame (e.g., a beacon) transmitted by another node Nl is able to estimate a value representative of the power with which it receives or decodes said frame. This value is compared to the threshold S, e.g., S = -82 dBm. If this value is greater than S, then node Nk sees node Nl from a radio propagation perspective; otherwise, it is considered not to see it, even if it manages to decode the frame.

[0052] Alternatively, third-party equipment (e.g., user nodes) associated with a branch can handle this detection. In the example of the Fig. 5 , we assume as for the Fig.4 that B0 sees B1 and that B1 and B2 do not see any other branch.

[0053] During an S106-2 step, branch groups are identified. For this purpose, the results of the S106-1 detections are shared among the branches that have entered the negotiation phase, i.e., B0, B1, and B2 on the Fig. 5 , in order to form branch groups. If a branch has not been seen by any other branch, then it exits the negotiation phase. For example, on the Fig. 5 , branch B2, which is not seen by any other branch, continues to use the operational channel(s) of its initial selection made in step S100.

[0054] If a branch Bj has been seen by at least one branch Bi, then these two branches belong to the same branch group. Within this group, which can contain more than two branches, at least one branch sees another. For example, branches B0 and B1 belong to the same group because B0 has seen B1, even though B1 has not seen B0.

[0055] At the end of step S106-2, each branch within a group can be affected by other branches in the same group. However, branches within a group cannot be affected by branches in another group because they are not visible to each other. During step S108, a list of operational channels is selected within each identified group by realigning the ACS selections made in step S100 by branch. The selection for a given group is performed independently of the other groups. Each branch group thus selects operational channels applicable to all branches within the group.

[0056] THE Figs 6 et 7illustrate an example of implementing the process described in step S108. This variant is particularly advantageous when the number of operational channels in each branch of the same group differs. For example, in Wi-Fi, a branch may have selected the channels [36 (primary channel), 40 (secondary channel at 20 MHz)] at step S100 and another branch belonging to the same group may have selected channels [36-40 (secondary channel at 40 MHz), 44 (primary channel), 48 (secondary channel at 20 MHz)] at the S100 stage, i.e. bandwidths of 40 and 80 MHz, respectively.

[0057] During an S600 step, the group's branches are sorted according to the number of their operational channels selected in the S100 step. Specifically, the branch with the fewest operational channels is placed first, and so on for the other branches. The branch with the most operational channels is therefore placed last in the list.

[0058] In case of a tie between two branches, the branch Bk which sees the most branches (this positive integer being noted Nb_max) is placed first and so on.

[0059] In case of a tie, i.e. in the case where two branches see the same number Nb_max of branches, the branch with the best ACS score or the one whose coordinating node MAC address is the smallest (respectively the largest) is placed first.

[0060] During an S602 step, the branches are initialized. For this purpose, each branch Bk is assigned a status Sk initialized to "unmarked", an initially empty primary channel CPk, and an initially empty list of operational channels LCK. During the execution of the process, the Sk status can take the following values: "unmarked" meaning that the branch has not yet been processed; "partially marked" meaning that the branch has been partially processed, i.e. that some of its operational channels have been fixed (including the primary channel); "marked" meaning that the branch has all its operational channels fixed, these may be different from those obtained by its ACS at step S100.

[0061] During step S604, the status of all branches is checked. If all branches have a status that is "marked", then the process ends; otherwise, it continues to step S606. During step S606, the first branch of the list is then removed from the sorted list and is subsequently considered the current branch and denoted Bi.

[0062] During an S608 step, the status Si of the current branch Bi is checked. If Si is "unmarked", then the process continues to an S610 step; otherwise, it continues to a branch A.

[0063] During step S610, the status of each branch Bj seen by Bi is checked one by one (as long as the primary channel CPi of the current branch Bi is "empty").

[0064] In the case where a branch Bj seen by Bi has a status Sj other than "unmarked" with a primary channel CPj not "empty" (i.e. a decided value, i.e. a value chosen by the process being carried out) which is in the list of operational channels obtained by the ACS of Bi at step S100, the process continues to a step S612. Otherwise, it moves to the next neighboring branch (the loop continues).

[0065] During step S612, the decided primary channel, i.e. its value having been chosen, of the neighboring branch Bj is assigned to the decided primary channel of Bi, i.e. CPi = CPj. The process then proceeds to step S614 (loop exit).

[0066] During step S614, in the case where the decided primary channel of Bi is "empty", assign to the decided primary channel of Bi the primary channel obtained in step S100 by the ACS of Bi.

[0067] During step S616, the list of operational channels obtained by the ACS of Bi are assigned to the list of operational LCi channels decided by Bi.

[0068] During an S618 step, the value "marked" is assigned to the Si status.

[0069] With reference to the Fig. 7 , for all branches Bj seen by Bi, the following steps S620 to S638 are repeated.

[0070] During step S620, the operational channels of Bi and those of Bj are compared. If they overlap (even partially), the process continues to step S622; otherwise, it continues to branch B.

[0071] During step S622, the status of Bj is checked. If the status Sj of Bj is "unmarked", the process continues to step S624. Otherwise, it continues to step S628. During step S624, the operational channels of Bj are aligned with those of Bi; i.e., the value of CPi is assigned to CPj and the value of LCi is assigned to LCj.

[0072] During an S626 step, the value "partially marked" is assigned to the Sj status of the Bj branch.

[0073] During step S628, the status of Bj is checked. If the status of Bj is "partially marked", the process continues to step S630; otherwise, it continues to step S636.

[0074] During step S630, the decided primary channel of Bj is compared to the primary channel of Bi. If the primary channel of Bj is different from the primary channel of Bi (i.e., CPi ≠ CPj), then the process continues to step S632; otherwise, it continues to step S634.

[0075] During step S632, the value "marked" is assigned to the Sj status of branch Bj.

[0076] During step S634, the operational channels of Bj are aligned with those of Bi (LCj = LCi). During a step S636, in the case where the status of Bj is "partially marked" and the list of its operational channels LCj is equal to the list of operational channels obtained by its ACS in step S100, the process continues to step S638, otherwise the process resumes at branch B.

[0077] The process described with reference to Figs 6 And 7 is more simply described by the pseudocode below: For each branch Bi of the sorted list: If its status Si is "unmarked", ∘ For all branches Bj seen by Bi: ▪ If the primary channel CPi is empty: If the status Sj of Bj is "partially labeled" or "labeled" ∘ If the primary channel CPj de Bj is found in the list of operational channels calculated by Bi's ACS, so we assign à CPi the canal CPj (CPi = CPj) ∘ If the primary channel CPi is empty: ▪ We assign à CPi The value obtained by the ACS of branch Bi ∘ The list of operational channels is confirmed LCi of Bi as being the list of operational channels calculated by the ACS of Bi ∘ The status is given to branch Bi For all branches Bj seen by Bi: ∘ If the operational channels of Bi and those of Bj overlap (even partially): If the status Sj of Bj is "unmarked", ∘ We align the operational channels of Bj with those of Bi ( CPj=CPi And LCj=LCi ) ∘ The status of branch Bj is given as "partially marked" If the status of Bj is "partially marked" or "marked" ∘ If the primary channel of Bj is different from that of Bj ( CPi ≠ CPj ): ▪ If the status of Bj is "partially marked", the status is given to branch Bj, and thus the list of operational channels of Bj is not extended to that of Bi (since the primaries are different). o If the primary channel of Bj is equal to that of Bj ( CPi = CPj ): ▪ If Bj's status is "partially marked", Bj's operational channels are aligned with those of Bi ( LCj = LCi ) If the status of Bj is "partially marked" and the list of its operational channels LPj is equal to the list of operational channels calculated by its ACS, ∘ The status "marked" is given to the branch Bj o If all branches are marked, we can exit the loop.

[0078] There Fig. 8 represents a network comprising branches B0 to B3, each associated with a list of operational channels determined during step S100, and in which step S108-3, described in connection with the Figs 6 And 7These branches B0 to B3 belong to the same group.

[0079] In this example, we assume that branch B0 sees branches B1 and B2. During step S100, branch B0 selected channels [36, 40] as operational channels with a score of 90, and the primary channel (in bold) is channel 36. We assume that branch B1 sees branch B0. During step S100, branch B1 selected channels [44, 48] as operational channels with a score of 90, and the primary channel (in bold) is channel 48. We assume that branch B2 sees branches B0 and B3. During step S100, branch B2 selected channels [36, 40, 44, 48] as operational channels with a score of 99, and the primary channel (in bold) is channel 44. Branch B3 sees branch B2. During the S100 step, branch B3 selected for operational channels, channels [44, 48] with a score of 90, the primary channel (in bold) being channel 44.

[0080] Branches B0, B1, B2, and B3, which belong to the same group, will therefore apply step S108-2 as described above with reference to Figs 6 And 7 .

[0081] The sorted list of branches is then [BO, B1, B3, B2]. Branch B0 is processed first. It receives the status "marked". B0's decision is [36,40]. There is no overlap with branch B1, which it sees, so B1 retains its "unmarked" status. However, there is an overlap with branch B2, which it sees and which has the status "unmarked". B2 adopts B0's new primary channel (i.e., channel 36), i.e., CP2=CP0 and LP2=LPO=[36,40]. B2 receives the status "partially marked". Indeed, all the channels initially assigned to B2, notably channels 44 and 48, have not been processed, i.e., assigned to the LP2 list.

[0082] Branch B1 is then processed. Its status is "unmarked", B1 receives the status "marked". B1 has the decision [44, 48].

[0083] Branch B3 is then processed. Its status is "unmarked". B3 receives the status "marked". B3's decision is [44, 48]. Branch B2 overlaps with B3 and has a status "partially marked". Since B2's primary channel (channel 36) is different from B3's (channel 44), extending B2's operational channels to those of B3 would cause a misalignment of primary channels for visible branches. Therefore, the number of operational channels for B2 is reduced, and its decision is frozen. B2 then receives the status "marked".

[0084] With all branches having a "marked" status, step S108-2 is complete.

[0085] The operational channels selected at the end of step S108-2 are illustrated on the Fig.9 . On this Fig.8 Branches B0 and B2 are aligned, meaning they use the same operational channels with the same primary channel. Branch B2 has reduced its bandwidth (i.e., its number of operational channels) to avoid primary channel overlap with branches B0 and B3, which it can see (i.e., which are within its range). Branches B1 and B3 do not have their primary channels aligned, but they are not visible to each other. This prevents branches that are visible to each other from choosing different primary channels.

[0086] There Fig. 10 schematically illustrates an example of the hardware architecture of a collection node 140 according to a particular embodiment.

[0087] According to the example of hardware architecture shown in the Fig. 10 , the collection node 140 then includes, connected by a communication bus 1400: a processor or CPU (“Central Processing Unit”) 1401; a RAM (“Random Access Memory”) 1402; a ROM (“Read Only Memory”) 1403; a storage unit 1404 such as a hard disk drive or such as a storage media reader, e.g. an SD card reader (“Secure Digital”); at least one communication interface 1405 allowing the collection node 140 to send or receive information.

[0088] The processor 1401 is capable of executing instructions loaded into RAM 1402 from ROM 1403, external memory (not shown), storage media (such as an SD card), or a communication network. When a collection node 140 is powered on, the processor 1401 can read instructions from RAM 1402 and execute them. These instructions form a computer program causing the processor 1401 to implement all or part of the processes described in relation to the Figs 4 à 7 .

[0089] The process described in relation to the Figs. 4 à 7 can be implemented in software form by the execution of a set of instructions by a programmable machine, for example a DSP (Digital Signal Processor) or a microcontroller, or it can be implemented in hardware form by a dedicated machine or component, for example an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). In general, the collection node 140 comprises electronic circuitry configured to implement all or part of the processes described in relation to the Figs 4 à 7 .

[0090] There Fig. 11 schematically illustrates an example of the hardware architecture of a 150 operational channel selection device according to a particular embodiment.

[0091] According to the example of hardware architecture shown in the Fig. 11 , the device 150 then comprises, connected by a communication bus 1500: a processor or CPU (“Central Processing Unit”) 1501; a RAM (“Random Access Memory”) 1502; a ROM (“Read Only Memory”) 1503; a storage unit 1504 such as a hard disk drive or such as a storage media reader, e.g. an SD card reader (“Secure Digital”); at least one communication interface 1505 enabling the device 150 to send or receive information.

[0092] The processor 1501 is capable of executing instructions loaded into RAM 1502 from ROM 1503, external memory (not shown), storage media (such as an SD card), or a communication network. When a device 150 is powered on, the processor 1501 can read instructions from RAM 1502 and execute them. These instructions form a computer program that causes the processor 1501 to implement all or part of the processes described in relation to the Figs 4 à 7 .

[0093] The process described in relation to the Figs. 4 à 7 can be implemented in software form by executing a set of instructions by a programmable machine, for example a DSP (Digital Signal Processor) or a microcontroller, or it can be implemented in hardware form by a dedicated machine or component, for example an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). In general, the device 150 comprises electronic circuitry configured to implement all or part of the processes described in relation to the Figs 4 à 7 .

Claims

1. A. method for selecting operational channels in a communication network comprising a plurality of gathering nodes connected together by cable links and wireless links, the nodes being connected together solely by wireless links forming a branch, the branches being connected together by cable links, the method comprises the steps, performed by at least one gathering node of each branch, of: - for each branch, selecting (S100) at least one operational channel, using said at least one selected operational channel for sending beacon frames and informing (S102) the other branches of the communication network of the selection thereof; and in that the method comprises the steps, performed by the at least one gathering node of each branch or by an operational-channel selection device, of: - for each branch, determining (S104) whether there exists at least one selected operational channel in common between said branch and another branch; - identifying (S106) at least one group of branches wherein each branch has at least one selected operational channel in common with another branch in said group and wherein each branch sees from a radio-propagation point of view at least one other branch in said set; - for each group of branches identified, selecting (S108) at least one operational channel by realigning within the group the selections of at least one operational channel made by branch; - for each group of branches, applying (S110) the at least one operational channel selected by said group.

2. The method according to claim 1, wherein identifying (S106) at least one group of branches comprises: - for each branch with at least one selected channel in common with another branch, detecting (S106-1) the other branches seen from a radio-propagation point of view by said branch, a branch being seen by another branch if a node in said branch perceives a signal coming from a node in the other branch with a signal level above a threshold value; and - identifying (S106-2) at least one group of branches in response to said detections.

3. The method according to claim 1 or 2, wherein, for each group of branches identified, selecting (S108) at least one operational channel by realigning within the group the selections of at least one operational channel made by branch comprises selecting, for said identified group, said at least one operational channel of the branch in the group that sees the most branches from a radio-propagation point of view.

4. The method according to one of claims 1 to 3, wherein selecting, for said identified group, said at least one operational channel of the branch in the group that sees the most branches from a radio-propagation point of view comprises, in the case of equality between two branches, selecting said at least one operational channel of the branch from said two branches with a highest score, the score representing a percentage of free transmission time.

5. The method according to one of claims 1 to 3, wherein selecting, for said identified group, said at least one operational channel of said branch in the group that sees the most branches from a radio-propagation point of view comprises, in the case of equality between two branches, selecting said at least one operational channel of the branch from said two branches a coordinator node of which has the smallest MAC address.

6. The method according to one of claims 1 to 3, wherein selecting, for said identified group, said at least one operational channel of said branch in the group that sees the most branches from a radio-propagation point of view comprises, in the case of equality between two branches, selecting said at least one operational channel of the branch from said two branches a coordinator node of which has the largest MAC address.

7. A communication network comprising a plurality of gathering nodes connected together by cable links and wireless links, the nodes being connected together solely by wireless links form a branch, the branches being connected together by cable links, said communication network is configured to: - for each branch, select (S100) at least one operational channel, use said at least one selected operational channel for sending beacon frames and inform (S102) the other branches of the communication network of the selection thereof; and in that the at least one gathering node of each branch or an operational-channel selection device of the communication network is configured to: - for each branch, determine (S104) whether there exists at least one selected operational channel in common between said branch and another branch; - identify (S106) at least one group of branches wherein each branch has at least one selected operational channel in common with another branch in said group and wherein each branch sees from a radio-propagation point of view at least one other branch in said set; - for each group of branches identified, select (S108) at least one operational channel by realigning within the group the selections of at least one operational channel made by branch; - for each group of branches, apply (S110) the at least one operational channel selected by said group.

8. A device for selecting operational channels in a communication network comprising a plurality of gathering nodes connected together by cable links and wireless links, the nodes connected together solely by wireless links forming a branch, the branches being connected together by cable links, each branch, selecting (S100) at least one operational channel, using said at least one selected operational channel for sending beacon frames and informing (S102) the other branches of the communication network of the selection thereof, and in that said device is configured to: - for each branch, determine (S104) whether there is at least one selected operational channel in common between said branch and another branch; - identify (S106) at least one group of branches wherein each branch has at least one selected operational channel in common with another branch in said group and wherein each branch sees from a radio-propagation point of view at least one other branch in said set; - for each group of branches identified, select (S108) at least one operational channel by realigning within the group the selections of at least one operational channel made by branch; - for each group of branches, configure the operational channel to be applied (S110) with the at least one operational channel selected for said group.

9. A computer program product characterised in that it comprises instructions for implementing the operational-channel selection method according to any one of claims 1 to 6, when said program is executed by a processor.

10. A storage medium characterised in that it stores a computer program comprising instructions for implementing the operational-channel selection method according to any one of claims 1 to 6, when said program is executed by a processor.