Advanced dual band virtual concurrent for WiFi
Example methods relate to avoiding beacon collisions between a repeater and a root AP, optimizing traffic flows based on buffers queued within hardware, and/or optimizing transmissions through a trigger-based mechanism. An example method includes determining loads on buffers within a repeater configured to communicate according to a DBVC protocol. The loads on the buffers correspond to data to be transmitted within upstream and downstream networks. The method includes determining whether to adjust a DBVC duty cycle of the repeater based on the loads. The DBVC duty cycle includes: an on channel duty cycle comprising a ratio of time on an on channel to total time on both the on and off channels; or an off channel duty cycle comprising a ratio of time on the off channel to total time on both the on and off channels. The method includes adjusting the DBVC duty cycle of the repeater.
1 . A method comprising:
obtaining, by a repeater, a next root access point (AP) target beacon transmission time (TBTT) of a next beacon to be sent by a root AP;
determining an amount of time to delay a next repeater TBTT of a next beacon to be sent by the repeater to avoid conflict between a next repeater TBTT;
delaying the next repeater TBTT based on the determined amount of time; and
setting a repeater beacon interval equal to a root AP beacon interval of the root AP such that repeater TBTTs that follow the next repeater TBTT are out of phase with root AP TBTTs that follow a next root AP TBTT.
2 . The method of claim 1 , wherein determining the amount of time to delay comprises at least one of:
determining the next repeater TBTT;
determining the amount of time for the repeater to perform off channel operations; or
determining the amount of time that will cause the next repeater TBTT to avoid occurring during off channel operations of the repeater.
3 . The method of claim 1 , wherein delaying the next repeater TBTT based on the determined amount of time comprises delaying the next repeater TBTT by the determined amount of time.
4 . The method of claim 1 , wherein delaying the next repeater TBTT based on the determined amount of time comprises delaying the next repeater TBTT by a portion of the determined amount of time, the method further comprising delaying each of a plurality of subsequent repeater TBTTs that follow the next repeater TBTT by a portion of the determined amount of time, wherein a sum of the portions of the determined amount of time equals the determined amount of time.
5 . A method comprising:
determining a buffer load for a repeater, wherein the buffer load corresponds to at least one of: data to be transmitted within an upstream network, or data to be transmitted within a downstream network;
determining whether to adjust a duty cycle of the repeater based on the buffer load, wherein the duty cycle includes at least one of:
an on channel duty cycle comprising a ratio of time spent on an on channel to total time spent on both the on channel and an off channel; or
an off channel duty cycle comprising a ratio of time spent on the off channel to total time spent on both the on channel and the off channel; and
adjusting the duty cycle of the repeater in response to determining to adjust the duty cycle.
6 . The method of claim 5 , wherein the buffer load comprises data to be sent by the repeater to one or more client devices within the downstream network.
7 . The method of claim 5 , wherein determining the buffer load comprises identifying a priority of the data within a buffer based on a type of the data within the buffer and calculating the load on the buffer based on the identified priority of the data within the buffer, a given amount of data with higher priority contributing more to the determined load than a same amount of data with lower priority.
8 . The method of claim 7 , wherein the priority of the data within the buffer is determined based on access categories associated with the data.
9 . The method of claim 5 , wherein determining whether to adjust the duty cycle of the repeater based on the buffer load comprises:
determining a ratio of the buffer load between a first buffer and a second buffer; and
one of:
determining to not adjust the duty cycle of the repeater if the ratio is within a predetermined range; or
determining to adjust the duty cycle of the repeater if the ratio is outside the predetermined range.
10 . The method of claim 5 , wherein determining the buffer load comprises calculating a buffer size of the buffer based on access category factors associated with the data and a number of packets within the corresponding load on the corresponding buffer.
11 . The method of claim 5 , wherein adjusting the duty cycle of the repeater comprises adjusting at least one of:
a number of times per target beacon transmission time (TBTT) to switch between communication within the downstream network and the upstream network; or
an off channel dwell time of the repeater.
12 . A method comprising:
switching a first wireless communication device from a first channel to a second channel;
sending an initial trigger frame over the second channel to a second wireless communication device;
implementing a backoff or priority for off-channel trigger frames;
sending one or more subsequent trigger frames to the second wireless communication device over the second channel, each of the one or more subsequent trigger frames being sent in response to determining that an acknowledge (ACK) frame has not been received from the second wireless communication device for a corresponding preceding trigger frame;
in response to sending a threshold number of trigger frames over the second channel to the second wireless communication device without receiving an ACK frame, where the threshold number is at least two, switching the first wireless communication device back to the first channel; and
communicating with the second wireless communication device over the first channel.
13 . The method of claim 12 , further comprising:
determining traffic is to be transmitted by the first wireless communication device to the second wireless communication device during a period of time that the second wireless communication device is not to perform operations on the first channel;
switching to the second channel;
sending a second trigger frame to the second wireless communication device over the second channel;
receiving an ACK frame from the second wireless communication device, the ACK frame being sent by the second wireless communication device to the first wireless communication device in response to the second wireless communication device receiving the second trigger frame;
transmitting data to the second wireless communication device over the second channel;
transmitting an end frame to the second wireless communication device over the second channel; and
switching to the first channel in response to transmitting the end frame.
14 . The method of claim 13 , further comprising receiving a second ACK frame from the second wireless communication device in response to the end frame.
15 . The method of claim 12 , further comprising:
receiving a second trigger frame from the second wireless communication device over the first channel during a period of time that the first wireless communication device is not to perform operations on the second channel;
receiving data from the second wireless communication device over the first channel; and
receiving a second end frame from the second wireless communication device, wherein the second end frame indicates that the second wireless communication device is to switch to the second channel.
16 . The method of claim 12 , wherein the first wireless communication device comprises a root AP and the second wireless communication device comprises a repeater configured to communicate with the root AP within an upstream network and with a client device within a downstream network.
17 . The method of claim 12 , wherein implementing the backoff or priority for off-channel triggers frames comprises:
sending a MAC address of the first wireless communication device to the second wireless communication device;
receiving a MAC address of the second wireless communication device at the first wireless communication device; and
one of:
determining to switch from the second channel to the first channel after a first elapsed time without receiving the ACK frame in response to the MAC address of the first wireless communication device being greater than the MAC address of the second wireless communication device; or
determining to switch from the second channel to the first channel after a second elapsed time without receiving the ACK frame in response to the MAC address of the first wireless communication device being less than the MAC address of the second wireless communication device, wherein the second elapsed time is different than the first elapsed time.