Automated neighbor discovery techniques for hybrid environments

Various embodiments herein disclose coordinating neighbor discovery between access points (APs) with auxiliary radios and APs without auxiliary radios. A corresponding wireless controller comprises a processor and a memory storing instructions that, when executed, cause the controller to perform operations. The operations comprise grouping APs into a first group of more flexible APs and a second group of less flexible APs and querying the second group of APs for a corresponding broadcast interval. The operations further comprise identifying when the second group of APs is scheduled to broadcast parameters, and a broadcast interval for each AP of the second group of APs and generating a schedule based on the scheduled broadcast and the broadcast interval for each AP of the second group of APs. The operations additionally comprise providing the generated schedule to the first group of APs and the second group of APs.

TECHNICAL FIELD

Embodiments presented in this disclosure generally relate to coordinating discovery of neighboring access points (APs) in a wireless communications system. More specifically, embodiments disclosed herein relate to generating schedules for APs to perform neighbor discovery (ND) based, at least in part, on capabilities of the APs.

BACKGROUND

Many electronic devices, implement some form of neighbor discovery (ND) mechanism using messaging. However, transmitting and receiving ND messages can impact efficiency for the corresponding devices, such as access points), because many such devices suspend communications on a home (or primary) channel to transmit the ND messages and to visit or hop to neighboring channels of other devices to obtain ND messages broadcast by these other devices. Such suspension of communications can cause traffic gaps on the home channel.

Such traffic gaps are reduced in certain devices that utilize an auxiliary radio dedicated to performing ND. For example, a first device with an auxiliary radio may employ a main radio that it uses to broadcast ND messages on a home or operating channel at regular intervals while the auxiliary radio is used to jump to other channels and there detect ND message for other devices or send the ND message for the first device. This may limit an impact of hops to the neighboring channels and improve communications efficiencies.

However, mixing of devices with auxiliary radios and devices without auxiliary radios may result in asymmetric communications and ND messages. For example, the devices with auxiliary radios emit their ND messages and receive ND message from other devices with the auxiliary radios while the devices without the auxiliary radio must still channel hop to perform neighbor discovery while broadcasting their ND message on the home channel when not channel hopping. This limits the communication efficiencies of the neighbor exchanges between the devices with and without auxiliary radios.

Thus, there is a need for mediating ND that improve communication efficiencies while enabling transmission and reception of ND messages between the devices having auxiliary radios and the devices without auxiliary radios.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

Various embodiments disclosed herein include apparatuses, systems, devices, and methods for scheduling discovery of neighbor access points (APs). A method comprises identifying a first set of APs having a main radio and an auxiliary radio and a second set of APs having only the main radio. The method further comprises identifying a broadcast message schedule for the second set of APs. The broadcast message schedule identifies when the second set of APs broadcasts neighbor discovery (ND) messages on corresponding home channels. The method additionally comprises generating a ND schedule for the first set of APs. The ND schedule indicates to the first set of APs when to monitor the corresponding home channels on which the second set of APs broadcasts the ND messages according to the broadcast message schedule. The method comprises providing the generated ND schedule to the first set of APs and the second set of APs. The method also comprises monitoring receipt of received ND messages from the first set of APs and the second set of APs according to the neighbor discovery schedule.

In accordance with some embodiments, a wireless controller comprises one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the wireless controller to perform a method of discovering neighbor access points (APs). In accordance with some embodiments, a non-transitory computer readable storage medium has stored therein instructions, which, when executed by one or more processors of a wireless controller, cause the wireless controller to perform or cause performance of any of the methods described herein. In accordance with some embodiments, a wireless controller includes: a communication interface, one or more processors, and a non-transitory memory for performing or causing performance of any of the methods described herein.

EXAMPLE EMBODIMENTS

In many communication systems, APs implement some form of AP discovery that enables an AP in the communication system to identify or discover neighboring APs in the communication system. For example, the APs may use a neighbor discovery protocol (NDP) or similar mechanism to discover the neighbor APs. The neighbor discovery (ND) mechanisms may reduce efficiency of communications by the APs because the mechanism may instruct the AP to leave its home channel periodically to determine what neighbor APs may be broadcasting on neighbor channels to the AP's home channel. For example, while an AP1 may communicate with devices on its home channel A, the AP1 may also periodically monitor (or hop to) neighbor channels B and C to determine whether neighbor APs exist on those neighbor channels B and C. Such hopping to channels away from its home channel A may disrupt communication efficiencies with the devices on the home channel A because the AP1 causes traffic gaps on the home channel A. Additionally, because the AP1 does not know when the neighbor APs broadcast ND messages, the AP1 may not hop to the neighbor channels B and C at most efficient times to discover neighbor APs on the neighbor channels B and C.

Furthermore, off-channel NDP messaging (i.e., messaging not on the home channel) may be constrained by aspects of the AP transmitting the NDP message. For example, there may be transmission delays, transmission power limitations, radio chain limitations, and so forth. In some embodiments, to improve upon such, and other, limitations, many APs now include auxiliary, smart radios dedicated to performing radio frequency management functions.

As communication system deployments often include a mix of APs with auxiliary radios and APs without auxiliary radios (and only main radios), ND mechanisms become asymmetric, meaning that different APs perform the ND different from other APs. For example, those APs having the auxiliary radios are able to perform ND using the auxiliary radios to emit or detect neighbor APs on neighbor channels while the main radio maintains communications on the home channel. On the other hand, those APs without the auxiliary radio are limited to hopping from their home channel to neighbor channels with the main radio to perform ND. Thus, the NDP messaging mechanism is asymmetric between the mix of different APs, thereby limiting efficiencies of such neighbor discovery and data exchanges.

The systems, methods, and apparatuses described herein provide a hybrid ND mechanism that enables both APs having main and auxiliary radios and APs having only main radios to coordinate NDP messaging, improving efficiencies of NDP message exchanges regardless of AP capabilities. Specifically, the systems, methods, and apparatuses described herein provide a scheduling mechanism that enables APs in a communication system to transmit updated NDP messages that include fields for exchanging information regarding the AP transmitting the updated NDP messages. Those APs that are determined to have auxiliary radios are grouped together and those without auxiliary radios are grouped together. A schedule for when APs without auxiliary radios transmit on-channel (i.e., home channel) NDP messages is determined and shared between APs having the auxiliary radios and without the auxiliary radios. Thus, each AP is made aware of when and where (what channel) neighbor APs are expected to transmit corresponding NDP messages. Accordingly, each AP can coordinate visiting the neighbor AP on the corresponding neighbor channel according to the received schedule to ensure that all APs in the communication system are able to discovery neighbor APs in the communication system. Further details of the generation and implementation of the schedule are provided below.

One embodiment presented in this disclosure that cures, or at least mitigates, the efficiency loses of ND in the example wireless communication system introduced above outlines a method of discovering neighbor devices, as introduced above, in a communication system.

While the example embodiments described herein relate to APs, similar methodologies can be applied to other wireless communication devices having different capabilities and configurations. In some embodiments, the APs and the controller described herein comprise a processor and memory and the like.

FIG.1depicts an example of NDP messages100and105exchanged by devices, such as APs, in a wireless communication system, according to aspects described herein. The NDP message100may correspond to a standard packet of data communicated to enable, for example, radio resource management (RRM) for devices that communication wirelessly. The NDP message105may correspond to an enhanced packet of data or fields communicated to enable RRM and the scheduling methods, systems, and apparatuses described herein.

In some embodiments, the devices (e.g., the APs) in the system periodically broadcast the NDP message100. Each device in the system will listen to the NDP messages100from other devices in the system, thereby enabling each device to identify each other device communicating on the same or different channels. In some embodiments, the NDP messages100are broadcast at one or more predetermined power levels and one or more predetermined data rates.

The NDP message100, as shown, includes a set of existing fields102a-102nused to enable RRM in the system by providing the exchange of information between devices in the system. For example, the existing fields102a-102nmay include a radio identifier field, a group identifier field, a hash field, an internet protocol (IP) address, whether the NDP message100is encrypted, a version of the NDP message100, an operating channel of a radio for the device sending the NDP message100, encryption key information, a channel on which the NDP message100was broadcast, a transmit power at which the NDP message 10 was broadcast, an antenna pattern of the radio that broadcast the NDP message100, and so forth.

In some embodiments, the NDP message105includes additional or new fields104a-104m, that include information regarding a type of antenna used by the radio that broadcast the NDP message105, details of the antenna pattern, contributing radio chains and respective power details, intended return time/interval until the device broadcasting the NDP message105will broadcast a subsequent NDP message105on that channel, and so forth. In some embodiments, where the NDP message105includes the existing fields102a-102n, the devices of the system may only broadcast the NDP message105. In some embodiments, the devices of the system may broadcast both the NDP message100and the NDP message105, where the NDP message105may or may not include the existing fields of the NDP message100at the same or different times.

FIG.2depicts a block diagram for a wireless communication system200, corresponding to the system described above with reference toFIG.1, according to aspects described herein. The system200includes a plurality of devices, such as a controller202and APs204a-204h. The APs204a-204hcommunicate with each other and a controller202, which may manage communications or settings of one or more of the APs204.

The controller202may manage an initial calibration or configuration phase for the system200, for example, at initialization, deployment, reset, or modification of the system200. As part of this calibration phase, each AP204may perform off-channel scanning (scanning on channels other than the home channel for the AP204) for a period. Additionally, each AP204may transmit, on each channel, one of each of the NDP message100and the NDP message105. In some embodiments, the NDP message100is transmitted in a different cycle from the NDP message105. A goal of the calibration phase is to setup a scan schedule for APs204that are connected to a wireless local area network controller (WLC) (not shown in the figures). Once the WLC has established a possible schedule for associated APs, the WLC coordinates with other WLCs to create a coordinate scheduled between the WLCs.

Based on the off-channel scanning, each AP204may identify the neighboring APs that exist in the system200.

In some embodiments, based on the NDP messages100and105received when each AP204performed the off-channel scanning, each AP204may generate a report or the like to the controller202. In some embodiments, the reports sent by each AP204to the controller202include the NDP messages100and105received by the AP204from the other APs204of the system200. The controller202may use the information received in the NDP messages100and105and the information received from the APs204to group the APs into one or more groups. For example, the controller202may group the APs204based on capabilities, where those APs204that have auxiliary radios and main radios are grouped into a first group and those APs204that do not have auxiliary radios are grouped into a second group. In some embodiments, a group may be created based on APs204that are in a same radio frequency (RF) zone (for example, APs204that detect one another).

In some instances, the controller202designates a group leader (i.e., the WLC) for each group of APs204, and the group leader evaluates the NDP messages100and105reported by each AP204to the controller202(or to the group leader, where each AP204reports the NDP messages100and105received to the group leader). For example, the controller202or the group leader may monitor the reported NDP messages to determine whether the AP204that transmitted the reported NDP message was transmitting on- or off-channel, whether the reported NDP message was the NDP message100or the NDP message105, whether the AP204reporting the NDP message has an auxiliary radio or not, whether the AP204that transmitted the NDP message has an auxiliary radio or not, and the like. In some embodiments, the controller202or the group leader may group each AP204based on the reported information. The coordinated schedule may be created for these groups, as described above. An example embodiment of the grouped APs204is shown with respect toFIG.3.

FIG.3depicts a block diagram for a wireless communication system300, corresponding to the system200described above with reference toFIG.2, according to aspects described herein. The system300includes a plurality of devices, such as a controller302, corresponding to the controller202, and two groups of APs corresponding to the APs204. APs304correspond to the group of APs having the auxiliary and main radios and APs306correspond to the group of APs having only the main radio. As introduced above, the APs304and306may perform the calibration phase introduced above and be grouped into the groups of APs304and306by the controller302or one of the APs of the system300.

Once the APs are grouped into the groups of APs304and APs306, the controller302or the group leader APs, may determine on-channel NDP intervals or other NDP broadcast schedule information for the APs306that do not have the auxiliary radio. Because the APs306do not have the auxiliary radios, these APs must leave their home channels to scan for neighbor APs, meaning the AP306disrupts communications with components on its home channel every time the AP306scans for neighbor APs. Scanning for the neighbor APs may involve the APs306hopping to another channel and scanning or monitoring for NDP messages on the other channels, which may not even occur while the AP306is hopping to the other channel. Because of the limitations on the non-auxiliary radio APs306performing ND, the controller302may identify the broadcast schedule information for the non-auxiliary radio APs306before the APs304having the auxiliary radio. For example, the controller302can query a wireless local area network controller (WLC) for the APs306, or the APs306directly, to identify the on-channel NDP intervals for the APs306. In some embodiments, the controller302determines the on-channel NDP intervals for the APs306based on the NDP messages100and105reported by and on behalf of each AP306. For the system300, the controller302may determine that the APs306send corresponding NDP messages every 60 seconds on respective active channels. For example, the controller302may indicate that a first AP306transmits an NDP message every 60 seconds and that the first AP306sent its last NDP message 17 seconds ago. Therefore, a second AP306receiving this information from the controller302may determine or receive that the first AP306transmits its next NDP message on its active channel in 43 seconds. This allows the second AP306to know when it should jump to the active channel for the first AP306to detect the NDP message broadcast by the first AP306(such as in about 42, or 42.9 seconds) so that the second AP306is present on the active channel for the first AP306when the first AP306transmits the NDP message. Then, the second AP306can determine to come back to the first AP306active channel every 59.9 seconds or so to check that the AP306is still there (by receiving the corresponding NDP message).

In some embodiments, the controller302identifies the times at which each AP306broadcasts its respective NDP messages100and105on its home channel in the determined interval. For example, for the APs306a,306b, and306c, the controller302may determine that the AP306btransmits its NDP messages100and105at 12 s after an initial time t0, that the AP306atransmits its NDP messages100and105at 18 s after the initial time t0, and that the AP306ctransmits its NDP messages100and105at 34 s after the initial time t0, all within the NDP interval of 60 s.

In some embodiments, more than one AP306has its NDP message transmission at a same time or multiple APs306broadcast their NDP messages100and105at times such that their broadcasts overlap. In such embodiments, the controller302may request that one or more of the overlapping APs306change their schedule for broadcasting the NDP messages100and105. For example, when the APs306aand306bboth broadcast the NDP messages100and105at 15 s, the controller302may request that the AP306aadvance or delay its broadcast of the NDP messages100and105by 5 s so their broadcasts no longer overlap or overlap less than before the requested change.

Based on the determined on-channel NDP interval and the times at which individual APs306broadcast their NDP messages100and105, the controller302may generate a schedule identifying time gaps between APs306broadcasting their NDP messages100and105. A representation of such a schedule is shown inFIG.4, described in more detail below. Scheduling of the APs304will be described with relation toFIG.4.

FIG.4is a collection of line graphs representative of how the controller302builds a schedule of NDP messages broadcast times for the first group of APs304and the second group of APs306in the system300a. Each line graph represents time along the x-axis, with each has on the line graph corresponding to 1 s.

FIG.4comprises a first line graph410representing time along the x-axis and indicating when the APs306a-306care scheduled to transmit their respective NDP messages on-channel. Thus, as introduced above, the AP306bbroadcasts its NDP messages100and105at 12 s (relative to an initial time t0, not shown inFIG.4), while the AP306abroadcasts its NDP messages100and105at 18 s (relative to t0) and the AP306cbroadcasts its NPD messages100and105at 34 s (relative to t0). Thus, as shown in the first line graph410, there are windows of time between when the APs306a-306cbroadcast their respective NDP messages. Specifically, there is approximately a 6 s window between the APs306band306aand approximately a 16 s window between the APs306aand306c.

Where the APs306without the auxiliary radios are expected to broadcast their NDP messages100and105according to the schedule of line graph410, the controller302may coordinate the APs304having the auxiliary radios to visit each of the APs306a-306cbefore the respective APs306broadcast their NDP messages100and105according to the schedule of the line graph410. For example, as shown by the schedule of line graph410, the APs304may be instructed to visit AP306bon its home channel 36 at 12 s when the AP306bis scheduled to broadcast its NDP messages100and105, visit AP306aon channel 60 at 18 s when the AP306ais scheduled to broadcast its NDP messages100and105, and visit AP306con channel161at 34 s when the AP306cis scheduled to broadcast its NDP messages100and105(all relative to the time t0). In some embodiments, this may comprise the APs304visiting the APs306some amount of time (for example, between 0.1 s and 1 s) before the scheduled broadcast time according to the line graph410. In this way, the APs304can be sure to be present on the corresponding channel when each of the APs306broadcast their NDP message100and105, thereby enabling the APs304to be monitoring the respective channels at appropriate times and obtain the NDP messages100and105from the respective APs306. Similarly, the APs306may visit (or hop to the home channels of) the other APs306according to the schedule of line graph410to obtain the NDP messages100and105from the other APs306.

Additionally, the controller302may generate a schedule indicating when the APs304a-304eshould broadcast their respective NDP messages100and105. For example, a second line graph420represents a schedule generated by the controller302according to which the APs304a-304ebroadcast their respective NDP messages100and105. The controller302schedules the APs304a-304esuch that the APs304a-304edo not broadcast their NDP messages100and105at the same time as, or overlapping with, broadcasts from other APs304or any of the APs306a-306c. As shown, the controller302schedules the AP304cto broadcast its NDP messages at 14 s, the AP304aat 16 s, the AP304bat 20 s, and the AP304dat 22 s. The AP304eis not shown on the time line420, and may fall before the 12 s mark, after the 34 s mark, or between the 24 s and 33 s marks along the line graph420.

Thus, the APs306can be scheduled to broadcast NDP messages across an available spectrum and time. For example, the AP306bmay broadcast its NDP messages on channel 36, then the AP306amay broadcast its NDP messages 6 seconds later on channel 60, and the AP306cbroadcasts its NDP messages 16 seconds later on channel161, as introduced above. The controller302may schedule or coordinate the APs304to times and channels available between the scheduled APs306to create a predictable and regular schedule for all APs304and306. For example, where there are gaps between when the APs306broadcast their NDP message, one or more APs304may be scheduled in such gaps. For example, where there is a gap of 6 seconds and 24 channels between the AP306band the AP306c, the AP304ccan be scheduled to transmit its NDP messages on channel 44 before the AP304ais scheduled to transmit its NDP messages on channel 52. Similarly, the AP304bcan be scheduled to transmit its NDP messages on channel100and the AP306eis scheduled on channel149. Thus, in scheduling the APs304, the controller302may work to schedule the AP304within such gaps, such as mid-way in the time gaps and mid-way in the channel spacing. In some embodiments, the controller302attempts to identify an appropriate AP304to schedule it in the gap. This can be repeated with the APs304and the APs306, with a goal of 1) attempting to have a regular jump schedule between APs304and/or306(for example, having a regular or similar amount of seconds and/or channels between each jumps) and 2) have the AP scan al active channels in turn. Each AP304and306may receive a unique schedule specific to or depending on a number of neighbors for the respective AP304or306and their respective channels.

In combination, the line graph410and the line graph420provide the line graph430, which shows when all of the APs304and306of the system300are scheduled to broadcast their respective NDP messages. Thus, gaps between the NDP broadcasts of the APs306are populated with the NDP broadcast scheduling of the APs304. In some embodiments, the scheduling of the APs304indicates when the APs304will visit the channels of each other AP304. Thus, the APs304having the auxiliary radio and main radio may coordinate visiting each other AP304and the APs306, and vice versa. According to the line graph430, each of the APs304and the APs306can be coordinated.

Once the controller302generates the schedule corresponding to the line graph430, the controller302may share the generated schedule with other WLCs or other APs304and306of the system300. In some embodiments, as introduced above, the controller302can request that the WLCs modify the on-channel NDP message schedule for corresponding APs or can directly request that the APs304and306modify their on-channel NDP message schedule. For example, the controller302may request that the AP306badjust its NDP broadcast schedule from 12 s after t0 to 15 s after t0, and so forth.

In some embodiments, the controller302may modify or request modification of a schedule of one or more of the APs304. For example, the controller302may request delay or advance of the NDP message schedule for the AP304, such as from 70 s instead of 60 s. In some embodiments, the controller302may modify a broadcast time of a subsequent NPD message for one of the APs304and/or306during the calibration phase to avoid having more than one AP304or306broadcasting on-channel NDP messages on different channels at the same time. The controller302may modify the NDP message broadcast time for the AP304or306on an immediate basis (for example, directly changing a time from 12 s to 13 s, or the like) or progressively (for example, sliding to a 59 s interval until t0+12 [modulo 60] is reached, then stay at t0+12 [modulo 60]).

According to the scheduling discussed above, the APs304a-304eare able to obtain the NDP messages from each of the APs304and the APs306. For example, the controller302identifies a subset of a list of allowed channels (that may have been defined by a resource management configuration) that match the channels on which the APs306broadcast NDP messages. The controller302may instruct the APs304(for example, through their WLCs or directly) to continue to visit the subset of the list of channels and broadcast NDP messages on these channels to enable the APs306to detect neighbor APs. In one embodiment, the controller302or the group leader also instructs all APs304and/or306to slow down or delay their off-channel visits to other channels.

Further details of the communications between the controller302and APs304and306are provided below with respect toFIG.5.

FIG.5depicts a communication flow diagram500between components of a communication system, such as the communication system200ofFIG.2or the system300ofFIG.3, that enables a controller of the communication system, such as the controller202or302, to identify neighbor APs and generate a neighbor discovery schedule for coordinating neighbor discovery between auxiliary radio capable APs, such as APs304, and non-auxiliary radio capable APs, such as APs306, according to an embodiment described herein.

The flow diagram500begins with communication502, where the controller302receives the request to initially calibrate or configure a communications system of APs.

At communications504, which includes communications504a-504e, the controller302indicates to each of the APs304and306to initiate the calibration process.

At communications506, each of the APs304and306transmits the NDP messages in response to the communications504from the controller302, as introduced above. In some embodiments, the AP may transmit the first NDP messages100and105as communications506aand506, respectively. In some embodiments, each AP may transmit the NDP messages100and105to each neighbor AP in the communication system to perform the NDP. Thus, as shown in the flow diagram500, the AP304atransmits the NDP messages100and105as communications506aand506b,506cand506d,506eand506f, and506gand506h, respectively, to each of the APs306a,306b,306cand304b, respectively.

At communication508, the AP306aprovides a report of the received NDP messages from communications506aand506b. Similarly, for communications510-514, the APs306b,305c, and304bprovide corresponding reports for their received NDP messages from communications506cand506d,506eand506f, and506gand506h, respectively.

At processing516, the controller302groups the APs such that APs having auxiliary radio capabilities are grouped as APs304and APs without auxiliary radio capability are grouped as APs306.

At processing518, the controller302further generates on-channel schedules for the APs306. In some embodiments, the generated on-channel schedules for the APs306further include a schedule for the APs304to visit the APs306to obtain the NDP messages for the APs306.

At communications520, the controller302distributes the generated on-channel schedules for the APs306to the APs304and306. For example, the controller302distributes the generated on-channel schedules for the APs306to the AP304awith communication520a, to the AP306awith communication520b, to the AP306bwith communication520c, to the AP306cwith communication520d, and to the AP304bwith communication520e. In some embodiments, the generated on-channel schedules also include schedules for the APs304.

At communications522, the AP304auses the generated and distributed on-channel schedules for the APs306and the APs304to obtain the NDP messages from the AP304b.

In some embodiments, though not shown inFIG.5, communications506-514may be repeated for corresponding communications from each of APs306a,306b,306c, and304b(and the remaining APs of the system300) to enable the controller302to obtain the NDP messages from each of the AP304and306for use when generating the on-channel schedules for all of the APs306.

FIG.6depicts timing diagrams indicating intervals of an exemplary non-auxiliary radio AP communicating on a home channel and hopping to a neighboring channel for neighbor discovery, according to aspects described herein. Specifically,FIG.6depicts a first timing diagram600indicating channel hopping that is not coordinated according to a schedule and a second timing diagram650indicating channel hopping that is coordinated according to the schedule described herein.

The first timing diagram600indicates, for example, for the AP306b, that the AP306bspends an average of 9 seconds (s) performing communications on its home channel before hopping to a neighbor channel for a period of 50 milliseconds (ms). The AP306brepeats this “schedule” of communicating for 9 s on the home channel and hopping to a neighbor channel 50 ms. The neighbor channel to which the AP306bhops may increment after returning to the APs home channel. For example, as shown in the first timing diagram600, the AP306bspends 9 s communicating on the home channel, 50 ms hopping to the neighbor channel 40, 9 s communicating back on the home channel, 50 ms hopping to the AP304con the neighbor channel 44, 9 s communicating on the home channel, 50 ms hopping to the neighbor channel 48, and so forth, until the AP306bhas hopped to all neighbor channels possible in the allotted time.

As described above, this manner of hopping between channels every 9 s can be disruptive to communications on the home channel for the AP306band involves the AP306bhopping to channels on which there may not be any communications (such as channels 40, 48, 56, and so forth), which introduces inefficiencies. However, by adopting the off-channel hopping according to the coordinated schedule described herein, the AP306bmay improve its efficiencies and communications on its home channel 36, as described in more detail below. The second timing diagram650indicates how the AP306b, having the home channel 36, communicates on its home channel for 90 s during a first period before hopping to channel 64 (on which the AP306bknows one of the APs in the system300communicates as its home channel) for 50 ms. Following the 50 ms hop to the channel 64, the AP306bmay hop back its home channel 36 for another 90 s of communication, before jumping to the next identified channel for the next AP306(based on the distributed schedule). Accordingly, the AP306bcan remain on its home channel for an extended period and hop to a neighbor channel only when the corresponding neighbor AP is expected to broadcast its NDP, thereby improving efficiencies of communications on its home channel as well as improving neighbor discovery efficiencies as compared to the first timing diagram600.

In some embodiments, the APs306may jump to neighboring channels according to the schedule introduced above relative toFIG.4. However, as shown in the first timing diagram600and the second timing diagram650, the AP306bmay hop to channels without any scheduled APs304and/or306to identify new or unscheduled APs304and/or306. Thus, the schedule, which identifies known APs304and/or306, may not identify unknown or new APs304and/or306. Before, as shown in the timing diagram600, the AP306bmay scan all channels, for example, jumping away from its active or home channel every 9 seconds to scan channels that are not part of the schedule, on average. The aspects described herein enable the AP306bto avoid having to scan most channels and instead scan only certain channels, such as channel 64, where a new AP may join, as shown in the timing diagram650. Thus, the AP306bmay still jump to check on the channel 64 to detect a new AP at a more regular interval. Thus, instead of having the AP306bjump every 9 seconds as before, the AP306bcan now occasionally jump to the unscheduled or non-populated channels less often, such as once every 90 or 100 seconds instead of every 9 seconds.

FIG.7is a flow chart of a method700of scheduling neighbor access point (AP) discovery, such as in the communication system200ofFIG.2that comprises neighboring APs of different types and capabilities, according to aspects described herein. For example, a first type of AP comprises an auxiliary radio, while a second type of AP does not comprise an auxiliary radio. Differences in the capabilities of the neighboring APs may impact how particular APs are scheduled to perform neighbor access point discovery. While the flow chart of the method700and corresponding description include reference to components of the system200ofFIG.2and system300ofFIG.3, the blocks of the method700are not limited to those example embodiments and may apply to various other combinations of components. Furthermore, the method700is not required to perform each of or only the shown blocks and is not limited to performing the indicated blocks in any particular order.

At block702, the controller identifies a first set of APs having a main radio and an auxiliary radio and a second set of APs having only the main radio. In some embodiments, the controller identifies different sets or types of APs using the NDP message introduced with respect toFIG.1, where the NDP message identifies the supplemental information about the AP transmitting the NDP message. The NDP message comprising the supplemental information may be transmitted by each AP and received by neighbor APs.

At block704, the controller identifies a broadcast message schedule for the second set of APs, where the broadcast message schedule identifies when the second set of APs broadcasts ND messages on corresponding home channels. The second set of APs may correspond to the second type, or non-auxiliary radio, AP having only the main radio. The broadcast message schedule may be determined based on messaging that occurs during an initial calibration stage, or the like. As introduced above, the schedule for the second set of APs is determined before that of the first set of APs because the second set of APs, which do not have the auxiliary radio. Without the auxiliary radio, broadcasting and receiving ND messages may conflict with communications on a home channel by the second set of APs. Scheduling the second set of APs first identifies to the first set of APs (and the others of the second set of APs) enables the second set of APs to reduce hopping times and only hop to neighbor channels when they need to and know when the neighbor AP on the neighbor channels will be broadcasting its ND message.

At block706, the controller generates a ND schedule for the first set of APs. The generated ND schedule indicates to the first set of APs when the first set of APs should monitor the corresponding home channels on which the second set of APs broadcast their ND messages according to the broadcast message schedule. Specifically, as described above with reference toFIGS.4and5, the ND schedule indicates when each of the second set of APs broadcasts. Thus, each AP of the second set knows when its neighbor will be broadcasting its ND message and know that it will be broadcast at a time when the AP of the second set can hop to the neighbor's home channel. In such a way, each AP of the second set can hop to the neighbor's home channel only when the neighbor is broadcasting its ND message and only stay for the ND message. This reduces the amount of time and the number of times the AP of the second set must hop from its home channel to a neighbor channel. Similarly, the first set of APs can use the ND schedule to identify when to have the auxiliary radios present on the home channel of each AP of the second set of APs to obtain corresponding ND messages.

At block708, the controller comprises providing the generated ND schedule to the first set of APs and the second set of APs.

At block710, the controller comprises monitoring receipt of received ND messages from the first set of APs and the second set of APs according to the neighbor discovery schedule.

FIG.8is a flow chart of operations800for discovering neighbor access point (AP), such as in the communication system ofFIG.2that comprises neighboring APs of different types and capabilities, according to aspects described herein. For example, a first type of AP comprises an auxiliary radio, while a second type of AP does not comprise an auxiliary radio. Differences in the capabilities of the neighboring APs may impact how particular APs are scheduled to perform neighbor access point discovery. While the flow chart of the operations800and corresponding description include reference to components of the system200ofFIG.2, such as the controller202, and system300ofFIG.3, the blocks of the operations800are not limited to those example embodiments and may apply to various other combinations of components. Furthermore, the operations800is not required to perform each of or only the shown blocks and is not limited to performing the indicated blocks in any particular order.

At block802, the controller groups a first type of APs into a first group of more flexible APs and groups a second type of APs into a second group of less flexible APs. In some embodiments, the controller identifies the different types of APs using the NDP message introduced with respect toFIG.1, where the NDP message identifies the supplemental information about the AP transmitting the NDP message. The NDP message comprising the supplemental information may be transmitted by each AP and received by neighbor APs.

At block804, the controller queries the second group of APs for a corresponding broadcast interval. The broadcast interval may be used by the controller to generate a broadcast schedule for the second group of APs.

At block806, the controller identifies when the second group of APs is scheduled to broadcast parameters, and a broadcast interval for each of the second group of APs, on corresponding default channels.

At block808, the controller generates a broadcast schedule based on the scheduled broadcast of the parameters and the broadcast interval for each of the second group of APs. The broadcast schedule identifies visits to the corresponding default channels by the first group of APs such that the first group of APs are present on the corresponding default channels when the corresponding second group of APs are scheduled to broadcast the parameters700comprises providing the generated ND schedule to the first set of APs and the second set of APs.

At block810, the controller provides the generated schedule to the first group of APs and the second group of APs.