Patent ID: 12192824

Like reference numbers and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

The following description is directed to specific implementations for the purposes of describing innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. The described implementations can be implemented in any device, system or network that is capable of transmitting and receiving radio frequency (RF) signals according to any of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, or the Bluetooth® standards. The described implementations may additionally or alternatively be implemented in any device, system or network that is capable of transmitting and receiving RF signals according to any of the following technologies or techniques: code division multiple access (CDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), time division multiple access (TDMA), Global System for Mobile communications (GSM), GSM/General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunked Radio (TETRA), Wideband-CDMA (W-CDMA), Evolution Data Optimized (EV-DO), 1×EV-DO, EV-DO Rev A, EV-DO Rev B, High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolved High Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, or other known signals that are used to communicate within a wireless, cellular or internet-of-things (IOT) network, such as a system utilizing 3G, 4G or 5G, or further implementations thereof, technology.

Some wireless communication systems may include a network of multiple access points (APs) deployed at a given location. The APs may cooperate to provide coverage to the location. In some deployments of a network, the coverage areas of the APs may overlap resulting in interference as well as situations in which multiple APs can service one station (STA). In some wireless communication systems, the execution of some operations may be determined by the STA.

Techniques for controlling a network with multiple APs are described herein. A first device, such as a controller, may be configured to schedule at least some resources of multiple APs to improve network efficiency. The APs may measure and report a variety of information and statistics to the controller. The controller may determine time intervals for the APs to perform functions. The controller may additionally or alternatively determine one or more transmission parameters associated with each time interval defining what operations a given AP is permitted to perform during the respective time interval. The controller may optionally communicate the time intervals and the one or more transmission parameters using a message. The APs associated with the controller may optionally communicate with STAs using the time intervals based on the one or more transmission parameters.

Various implementations relate generally to wireless communications. Some implementations more specifically relate to controlling a network with multiple APs using time intervals and transmission parameters. Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some implementations, the described techniques can be used to define time intervals and transmission parameters associated with the time intervals to schedule resources and to improve network efficiency.

FIG.1shows a block diagram of an example wireless communication system100. According to some aspects, the wireless communication system100can include aspects of a wireless local area network (WLAN). For example, the wireless communication system100can be a network implementing at least one of the IEEE 802.11 family of standards. The wireless communication system100may include numerous wireless devices including multiple APs105and multiple associated STAs115.

The wireless communication system100may be deployed at a location, such as a home or business. In such deployments, the wireless communication system100may include a router, one or more switches, or both (hereinafter router/switch120). The router/switch120may be configured to connect an outside network (for example, the internet or the cloud125) with the wireless communication system100. The router/switch120may enable the APs105and STAs115of the network to share a connection to the cloud or the internet. The router/switch120may include a wide-area network (WAN) port that may be coupled with the cloud125and one or more local area network (LAN) ports that may be coupled with one or more APs105or STAs115. The router/switch120may act as a controller of the network and enable the devices of the network to communicate with one another.

The cloud125may be an example of any external WAN, including the internet or a core network. The cloud125may include one or more servers, computing devices, or databases to perform the functions described herein.

In some wireless communication systems100, the router/switch120may coordinate the traffic of the entire network. If the wireless communication system100includes multiple access points, the router/switch120may not be configured to coordinate the actions of the multiple APs105. In such circumstances, the APs105may interfere with each other, compete needlessly for available resources, or experience other issues that may adversely impact network performance or throughput.

The wireless communication system100may include a controller130configured to coordinate the operations of one or more APs105deployed at a location in the same network that may be managed by the router/switch120. The controller130may be an example of software or firmware implemented on one or more devices to perform the functions described herein. In some examples, the controller130may be implemented using devices of the cloud125. In some examples, the controller130may be implemented by the router/switch120or one of the APs105of the wireless communication system100. In some examples, the controller130may be implemented by any combination of devices of the cloud125, the router/switch120, one or more APs105, or other computing device with a communicative connection with the wireless communication system100. The controller130may be communicatively coupled with the APs105using wired communication links, wireless communication links, or a combination thereof, for example, using the router/switch120.

Each of the STAs115may additionally or alternatively be referred to as a mobile station (MS), a mobile device, a mobile handset, a wireless handset, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, among other possibilities. The STAs115may represent various devices such as mobile phones, personal digital assistant (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptops, display devices (for example, TVs, computer monitors, navigation systems, among others), printers, key fobs (for example, for passive keyless entry and start (PKES) systems), among other possibilities.

Each of the STAs115may associate and communicate with the AP105via a communication link110. The various STAs115in the network are able to communicate with one another through the AP105. A single AP105and an associated set of STAs115may be referred to as a basic service set (BSS). Coverage areas of the APs105may represent a basic service area (BSA) of the wireless communication system100. While only one AP105is shown, the wireless communication system100can include multiple APs105. An extended service set (ESS) may include a set of connected BSSs. An extended network station associated with the wireless communication system100may be coupled with a wired or wireless distribution system that may allow multiple APs105to be connected in such an ESS. As such, a STA115can be covered by more than one AP105and can associate with different APs105at different times for different transmissions.

STAs115may function and communicate (via the respective communication links110) according to the IEEE 802.11 family of standards and amendments including, but not limited to, 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ad, 802.11ah, 802.11ay, 802.11ax, 802.11az, and 802.11ba. These standards define the wireless communication system radio and baseband protocols for the physical (PHY) layer and medium access control (MAC) layer. The wireless devices in the wireless communication system100may communicate over an unlicensed spectrum, which may be a portion of spectrum that includes frequency bands traditionally used by Wi-Fi technology, such as the 2.4 GHz band, the 5 GHz band, the 60 GHz band, the 3.6 GHz band, and the 900 MHz band. The unlicensed spectrum may also include other frequency bands, such as the emerging 6 GHz band. The wireless devices in the wireless communication system100may additionally or alternatively be configured to communicate over other frequency bands such as shared licensed frequency bands, where multiple operators may have a license to operate in the same or overlapping frequency band or bands.

In some examples, STAs115may form networks without APs105or other equipment other than the STAs115themselves. One example of such a network is an ad hoc network (or wireless ad hoc network). Ad hoc networks may alternatively be referred to as mesh networks or peer-to-peer (P2P) connections. In some examples, ad hoc networks may be implemented within a larger wireless network such as the wireless communication system100. In such implementations, while the STAs115may be capable of communicating with each other through the AP105using communication links110, STAs115also can communicate directly with each other via direct wireless communication links. Additionally, two STAs115may communicate via a direct communication link regardless of whether both STAs115are associated with and served by the same AP105. In such an ad hoc system, one or more of the STAs115may assume the role filled by the AP105in a BSS. Such a STA115may be referred to as a group owner (GO) and may coordinate transmissions within the ad hoc network. Examples of direct wireless communication links include Wi-Fi Direct connections, connections established by using a Wi-Fi Tunneled Direct Link Setup (TDLS) link, and other peer-to-peer (P2P) group connections.

Some types of STAs115may provide for automated communication. Automated wireless devices may include those implementing IoT communication, Machine-to-Machine (M2M) communication, or machine type communication (MTC). IoT, M2M or MTC may refer to data communication technologies that allow devices to communicate without human intervention. For example, IoT, M2M or MTC may refer to communications from STAs115that integrate sensors or meters to measure or capture information and relay that information to a central server or application program that can make use of the information or present the information to humans interacting with the program or application.

Some of STAs115may be MTC devices, such as MTC devices designed to collect information or enable automated behavior of machines. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business charging. An MTC device may operate using half-duplex (one-way) communications at a reduced peak rate. MTC devices may additionally or alternatively be configured to enter a power saving “deep sleep” mode when not engaging in active communications.

Wireless communication system100may support beamformed transmissions. As an example, AP105may use multiple antennas or antenna arrays to conduct beamforming operations for directional communications with a STA115. Beamforming (which may additionally or alternatively be referred to as spatial filtering or directional transmission) is a signal processing technique that may be used at a transmitter (for example, AP105) to shape or steer an overall antenna beam in the direction of a target receiver (for example, a STA115). Beamforming may be achieved by combining elements in an antenna array in such a way that transmitted signals at particular angles experience constructive interference while others experience destructive interference. In some examples, the ways in which the elements of the antenna array are combined at the transmitter may depend on channel state information (CSI) associated with the channels over which the AP105may communicate with the STA115. That is, based on this CSI, the AP105may appropriately weight the transmissions from each antenna (for example, or antenna port) such that the desired beamforming effects are achieved. In some examples, these weights may be determined before beamforming can be employed. For example, the transmitter (for example, the AP105) may transmit one or more sounding packets to the receiver in order to determine CSI.

Wireless communication system100may additionally or alternatively support multiple-input, multiple-output (MIMO) wireless systems. Such systems may use a transmission scheme between a transmitter (for example, AP105) and a receiver (for example, a STA115), where both transmitter and receiver are equipped with multiple antennas. For example, AP105may have an antenna array with a number of rows and columns of antenna ports that the AP105may use for beamforming in its communication with a STA115. Signals may be transmitted multiple times in different directions (for example, each transmission may be beamformed differently). The receiver (for example, STA115) may try multiple beams (for example, antenna subarrays) while receiving the signals.

Wireless communication system100may additionally or alternatively support using one or more APs105to establish a coverage area at a location. The multiple APs105may be used to provide network access to a set of STAs115. In some examples, the plurality of APs105may exchange information through wireless communication links or through the router/switch120. The information may be exchanged between APs105and the controller.

In some examples, one or more STAs115may be associated with an AP105. When a STA115is associated with the AP105, a communication link110is established between the AP105and the STA115. In environments where multiple APs105service a given location, STAs115may be associated with APs105to manage network traffic. In some examples, an AP105may receive signals from non-associated STAs115. For example, an AP105may receive signals (represented by communication links135) from one or more non-associated STAs115, one or more other APs105, other devices, or any combination thereof.

PDUs of the wireless communication system may be transmitted over a radio frequency spectrum band, which in some examples may include multiple sub-bands or frequency channels. In some examples, the radio frequency spectrum band may have a bandwidth of 80 MHz, and each of the sub-bands or channels may have a bandwidth of 20 MHz. Transmissions to and from STAs115and APs105typically include control information within a header that is transmitted prior to data transmissions. The information provided in a header is used by a receiving device to decode the subsequent data. A legacy preamble of the wireless communication system may include legacy short training field (STF) (L-STF) information, legacy long training field (L-LTF) information, and legacy signaling (L-SIG) information. The legacy preamble may be used for packet detection, automatic gain control and channel estimation, among other uses. The legacy preamble may additionally or alternatively be used to maintain compatibility with legacy devices.

FIG.2shows an example of an architecture200of a wireless communication system (for example, the wireless communication system described with reference toFIG.1). The architecture200may be an example of a logical architecture and each of the components discussed may be implemented by one or more computing devices. For example, the controller130may be implemented using a server of the cloud125, an independent server, one or more APs105, other computing devices, or any combination thereof. The architecture200may include a cloud125, a controller130, one or more APs105, and one or more STAs115.

The cloud125may be configured to configure the network of the wireless communication system by issuing commands to the APs105based on information reported by the APs105to the cloud125. The process of reporting information to the cloud125and receiving commands from the cloud by the APs105may take an amount of time to complete. In some implementations, the controller130may be configured to provide faster reporting and faster control than the cloud125. In some examples, the controller130may be an example of an edge server of the cloud125.

The cloud125may be configured to exchange communications205with the controller130and communications210with the one or more APs105. The communications205and210may include long-term configuration information, diagnostic information, or both. The controller130may be configured to exchange communications215with the one or more APs105. The communications215may include low-latency reporting of statistics about the network, low-latency commands, or controls that are configured to provide low-latency scheduling of traffic. In some implementations, the low-latency reporting, low-latency commands, or the low-latency scheduling of traffic may refer to reporting, commands, or scheduling of communications that require low-latency. The one or more APs105may exchange communications220with the STAs115. The communications220may include management frames (such as beacons, probe requests and probe responses), data frames for both uplink and downlink traffic, interference, noise, other signals, or any combination thereof.

FIG.3Ashows an example frame300usable for communications between an AP and each of a number of stations identified by the AP or each of a number of stations associated with the AP. For example, the frame300can be formatted as a very high throughput (VHT) frame in accordance with the IEEE 802.11ac amendment to the IEEE 802.11 set of standards. The frame300includes a legacy preamble portion302that includes an L-STF304, an L-LTF306, and a legacy signaling field (L-SIG)308. The frame300further includes a non-legacy preamble portion that includes a first VHT signaling field (VHT-SIG-A)310, a VHT short training field (VHT-STF)312, a number of VHT long training fields (VHT-LTFs)314and a second VHT signaling field (VHT-SIG-B)316. The frame300also can include a payload or data portion318after the preamble. The data portion318can include MAC protocol data units (MPDUs), for example, in the form of an aggregated MPDU (AMPDU).

The frame300may be transmitted over a radio frequency spectrum band, which may include multiple sub-bands. For example, the radio frequency spectrum band may have a bandwidth of 80 MHz, and each of the sub-bands may have a bandwidth of 20 MHz. When the radio frequency spectrum band includes one or more sub-bands, the L-STF, L-LTF, and L-SIG fields304,306and308, respectively, may be duplicated and transmitted in each of the plurality of sub-bands. The information in the VHT-SIG-A field310is also duplicated and transmitted in each sub-band.

The VHT-SIG-A field310may indicate to a station that the frame300is an IEEE 802.11ac frame. The VHT-SIG-A field310also may include VHT signaling information usable by stations other than the number of stations that are identified to receive downlink communications in the frame300. The VHT-SIG-A field310also includes information usable by the identified number of stations to decode the VHT-SIG-B field316. The VHT-SIG-B field316may include VHT signaling information usable by the number of stations identified to receive downlink communications in the frame300. More specifically, the VHT-SIG-B field316may include information usable by the number of stations to decode data received in the data portion318. The VHT-SIG-B field316may be encoded separately from the VHT-SIG-A field310. The number of VHT-LTFs314depends on the number of transmitted streams.

FIG.3Bshows an example frame320usable for communications between an AP and each of a number of stations identified by the AP or each of a number of stations associated with the AP. For example, the frame320can be formatted as a high efficiency (HE) frame in accordance with the IEEE 802.11ax amendment to the IEEE 802.11 set of standards. The frame320includes a legacy preamble portion322that includes an L-STF324, an L-LTF326, and an L-SIG328. The frame320further includes a non-legacy preamble portion that includes a repeated legacy signaling field (RL-SIG)330, a first high efficiency signaling field (HE-SIG-A)332, a second high efficiency signaling field (HE-SIG-B)334, a high efficiency short training field (HE-STF)336and a number of high efficiency long training fields (HE-LTFs)338. The frame320also can include a payload or data portion340after the preamble. The data portion340can include MAC protocol data units (MPDUs), for example, in the form of an AMPDU.

The frame320may be transmitted over a radio frequency spectrum band, which may include a set of sub-bands. For example, the radio frequency spectrum band may have a bandwidth of 80 MHz, and each of the sub-bands may have a bandwidth of 20 MHz. When the radio frequency spectrum band includes one or more sub-bands, the L-STF, L-LTF, and L-SIG fields324,326and328, respectively, may be duplicated and transmitted in each of the plurality of sub-bands. The information in the RL-SIG field330and the HE-SIG-A field332is also duplicated and transmitted in each sub-band as shown inFIG.3B.

The RL-SIG field330may indicate to a station that the frame320is an IEEE 802.11ax frame. The HE-SIG-A field332may include high efficiency signaling information usable by stations other than the number of stations that are identified to receive downlink communications in the frame320. The HE-SIG-A field332may also include information usable by the identified number of stations to decode the HE-SIG-B field334. The HE-SIG-B field334may include high efficiency signaling information usable by the number of stations identified to receive downlink communications in the frame320. More specifically, the HE-SIG-B field334may include information usable by the number of stations to decode data received in the data portion340. The HE-SIG-B field334may be encoded separately from the HE-SIG-A field332.

HE WLAN (HEW) preambles can be used to schedule multiple devices, such as STAs115, for multi-user simultaneous transmissions (for example, using multi-user orthogonal frequency division multiple access (MU-OFDMA) or multi-user multiple-input, multiple-output (MU-MIMO) techniques). A HEW signaling field may be used to signal a resource allocation pattern to multiple receiving STAs115. The HEW signaling field can include a common user field that is decodable by multiple STAs115, as well as a resource allocation field. The resource allocation field can indicate resource unit distributions to multiple STAs115and indicate which resource units in a resource unit distribution correspond to MU-MIMO transmissions and which resource units correspond to OFDMA transmissions. The HEW signaling field also can include, subsequent to the common user field, dedicated station-specific signaling fields that are assigned to particular STAs115and used to schedule resources and to indicate the scheduling to other devices of the wireless communication system.

FIG.4shows a block diagram of an example AP400for use in wireless communication. For example, the AP400may be an example of aspects of the AP105described with reference toFIG.1. The AP400can be configured to send and receive frames (also referred to herein as transmissions or communications) of the wireless communication system conforming to an IEEE 802.11 standard (such as the 802.11 ac or 802.11ax amendments to the 802.11 family of standards), as well as to encode and decode such frames. The AP400includes a processor410, a memory420, at least one transceiver430and at least one antenna440. In some implementations, the AP400also includes one or both of an AP communications module460and a network communications module470. Each of the components (or “modules”) described with reference toFIG.4can communicate with one another, directly or indirectly, over at least one bus405.

The memory420can include random access memory (RAM) and read-only memory (ROM). The memory420also can store processor- or computer-executable software code425containing instructions that, when executed by the processor410, cause the processor to perform various functions described herein for wireless communication, including generation and transmission of a downlink frame and reception of an uplink frame.

The processor410can include an intelligent hardware device such as, for example, a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), or a programmable logic device (PLD) such as a field programmable gate array (FPGA), among other possibilities. The processor410processes information received through the transceiver430, the AP communications module460, and the network communications module470. The processor410also can process information to be sent to the transceiver430for transmission through the antenna440, information to be sent to the AP communications module460, and information to be sent to the network communications module470. The processor410can generally be configured to perform various operations related to generating and transmitting a downlink frame and receiving an uplink frame.

The transceiver430can include a modem to modulate packets and provide the modulated packets to the antenna440for transmission, as well as to demodulate packets received from the antenna440. The transceiver430can be implemented as at least one radio frequency (RF) transmitter and at least one separate RF receiver. The transceiver430can communicate bi-directionally, via the antenna440, with at least one STA115as, for example, shown inFIG.1. Although only one transceiver430and one antenna440are shown inFIG.4, the AP400can typically include multiple transceivers430and antennas440. For example, in some AP implementations, the AP400can include multiple transmit antennas (each with a corresponding transmit chain) and multiple receive antennas (each with a corresponding receive chain). The AP400may communicate with a core network480(including the cloud125, the controller130, or both) through the network communications module470. The system also may communicate with other APs, such as APs105, using the AP communications module460.

FIG.5shows a block diagram of an example controller500for use in wireless communication. For example, the controller500may be an example of aspects of the controller130described with reference toFIGS.1and2. In this example, the controller500includes hardware (such as dedicated hardware) to perform the functions described herein. In other examples, the controller500may be a logical entity whose functions are executed by one or more other computing devices (for example, one or more APs105or other devices in the core network or the cloud125).

The controller500may include a processor510, a memory520, at least one transceiver530and, In some examples, at least one antenna540. In some implementations, the controller500also may include one or both of an AP communications module560and a network communications module570. Each of the components (or “modules”) described with reference toFIG.5may communicate with one another, directly or indirectly, over at least one bus505.

The memory520may include RAM and ROM. The memory520also may store processor- or computer-executable software code525containing instructions that, when executed by the processor510, cause the processor to perform various functions described herein for wireless communication, including generation and transmission of a downlink frame and reception of an uplink frame.

The processor510may include an intelligent hardware device such as, for example, a CPU, a microcontroller, an ASIC, or a PLD such as an FPGA, among other possibilities. The processor510processes information received through the transceiver530, the AP communications module560, and the network communications module570. The processor510also may process information to be sent to the transceiver530for transmission through the antenna540, information to be sent to the AP communications module560, and information to be sent to the network communications module570. The processor510may generally be configured to perform various operations related to generating and transmitting a downlink frame and receiving an uplink frame.

The transceiver530may include a modem to modulate packets and provide the modulated packets to the antenna540for transmission, as well as to demodulate packets received from the antenna540. The transceiver530may be implemented as at least one RF transmitter and at least one separate RF receiver. The transceiver530may communicate bi-directionally, via the antenna540, with at least one STA115as, for example, shown inFIG.1. Although only one transceiver530and one antenna540are shown inFIG.5, the controller500may include multiple transceivers530and multiple antennas540. The controller500may communicate with a core network580(including the cloud125) through the network communications module570. The controller500also may communicate with APs, such as APs105, using the AP communications module560. In some examples, the controller500may be configured to send and receive communications with other components (for example, APs105, STAs115, or the cloud125) that conform to an IEEE 802.11 standard (such as the 802.11ac or 802.11ax amendments to the 802.11 family of standards), as well as to encode and decode such communications.

FIG.6shows a block diagram of an example STA600for use in wireless communication. For example, the STA600may be an example of aspects of the STA115described with reference toFIG.1. The STA600can be configured to send and receive frames (also referred to herein as transmissions or communications) of the wireless communication system conforming to an IEEE 802.11 standard (such as the 802.11 ac or 802.11ax amendments to the 802.11 family of standards), as well as to encode and decode such frames. The STA600includes a processor610, a memory620, at least one transceiver630and at least one antenna640. In some implementations, the STA600additionally includes one or more of sensors650, a display660and a user interface (UI)670(such as a touchscreen or keypad). Each of the components (or “modules”) described with reference toFIG.6can communicate with one another, directly or indirectly, over at least one bus605.

The memory620can include RAM and ROM. The memory620also can store processor- or computer-executable software code625containing instructions that, when executed, cause the processor610to perform various functions described herein for wireless communication, including reception of a downlink frame and generation and transmission of an uplink frame.

The processor610includes an intelligent hardware device such as, for example, a CPU, a microcontroller, an ASIC or a PLD such as an FPGA, among other possibilities. The processor610processes information received through the transceiver630as well as information to be sent to the transceiver630for transmission through the antenna640. The processor610can be configured to perform various operations related to receiving a downlink frame and generating and transmitting an uplink frame.

The transceiver630can include a modem to modulate packets and provide the modulated packets to the antenna640for transmission, as well as to demodulate packets received from the antenna640. The transceiver630can be implemented as at least one RF transmitter and at least one separate RF receiver. The transceiver630can communicate bi-directionally, via the antenna640, with at least one AP105as, for example, shown inFIG.1. Although only one transceiver630and one antenna640are shown inFIG.6, the STA600can include two or more antennas. For example, in some STA implementations, the STA600can include multiple transmit antennas (each with a corresponding transmit chain) and multiple receive antennas (each with a corresponding receive chain).

FIG.7shows an example of a swim lane diagram700for use in wireless communication. The swim lane diagram700illustrates how a controller705may manage the operations of multiple APs (for example, a first AP710and a second AP715) to enable those multiple APs to communicate with the STAs720in an efficient manner. The controller705may be an example of the controllers130or500described with reference toFIGS.1,2,4, and5. The APs710and715may be examples of the APs105and400described with references toFIGS.1,2,4, and5. The STAs720may be examples of the STAs115and600described with reference toFIGS.1,2, and6. In some instances, specific functions are described as being performed by a single AP. Unless otherwise noted, any function performed by the first AP710or the second AP715may, additionally or alternatively, be performed by another AP that is coupled with the controller705.

At725, one or more STAs720may be associated with either the first AP710, or the second AP715. The STAs720may exchange messages with the APs710and715as part of association processes. For example, a STA720may send a probe request to one or more of the APs710and715. Upon receiving the probe, the first AP710may transmit a probe response. The STA720may transmit an authentication request based on receiving the probe response. The first AP710may transmit an authentication response based on receiving the authentication request. The STA720may transmit an association request based on the STA720being authenticated (as indicated by the authentication response). The first AP710may transmit an association response based on receiving the association request. In some examples, the controller705and the APs710and715exchange one or more association messages including multiple requests and/or a set of responses. After STA720is authenticated by and associated with the first AP710, the STA720and the first AP710may exchange communications in both uplink and downlink directions. The association process may be repeated for any association or pairing of AP and STA.

At730, the controller705may initiate an establishment procedure that allows the controller705to begin performing scheduling functions for the first AP710and the second AP715. The establishment procedure may include the controller705transmitting one or more requests735to the APs710and715. The requests735may indicate what information or statistics the controller705would like the APs710and715to report to the controller705. The requests735may also include indicators of timing requirements for reporting the information or statistics. Timing requirements may include periodic or event-based reports. In some examples, one or more of the requests735may request that the APs710and715collect statistics or other information about signals associated with or received by the APs710and715, collect statistics or other information about STAs720associated with the respective APs710and715, or collect statistics or other information about any devices from which the respective APs receive signals (whether associated STAs, non-associated STAs, other APs, or other devices, or a combination thereof).

In some examples, as part of the establishment procedure, an AP710may send a message to the controller705when the AP is booting up. The controller705may respond with another message to establish the connection between the AP710and the controller705.

At740, one or both of the first AP710and the second AP715may collect statistics or other information745(hereinafter “information745”) to be reported to the controller705. The APs710and715may collect the information745based on receiving at least one request735.

The APs710and715may identify information745about signals received by the respective AP. The signals received by the respective AP may be used to determine other information745about the signals themselves, information745about the communication links established using the signals, or information745about the devices that transmitted the signals (for example, STAs720, other APs, or other devices). The APs710and715may identify information745about stations that have an established communication link with the respective AP (for example, STAs associated with the respective AP). The APs710and715may identify information745about stations that do not have an established communication link with the respective AP (for example, STAs not associated with the respective AP). The APs710and715may identify information745about other APs. In some examples, the first AP710or the second AP715may identify information745or statistics about a first group of STAs720that are associated with the respective AP and a second group of STAs720that are not associated with the respective AP.

In some examples, the information745may include an indicator of whether an AP includes traffic pending for at least one station, or the amount of pending traffic, such as the number of bytes or packets. The amount of pending traffic may be indicated for each quality of service (QoS) category, or an access category (AC), or a traffic identifier (TID) of the pending traffic. In some examples, the information745may include one or more of a list of stations tracked by the respective AP, a signal quality indicator associated with a communication link between the AP and a STA720, a beacon report about beacons received from other APs, client statistics, BSS statistics, or a power state of a STA720. In some examples, the information745may include a power save state of a STA720, whether associated or not associated with any given AP.

In some examples, the APs710and715may report to the controller705per-AP and per-STA statistics as part of the information745. Some reports may be generated and transmitted to the controller705in a periodic fashion and some reports may be generated and transmitted responsive to the occurrence of an event.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may report a list of STAs720tracked by the AP710to the controller705. The AP710may maintain a list of client MAC addresses for which specific measurements and events are tracked and reported to the controller705. In some instances, the AP710may update the list based on receiving one or more command messages from the controller705. A STA720having a MAC address that is in the list may be referred to as a tracked STA. In some examples, the AP710may clear the list of tracked STAs based on receiving a command message from the controller705. In some examples, signal quality indicators provided by one or more of the APs710and715may be associated with one or more STAs720included on the list of tracked STAs.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may report one or more signal quality indicators associated with a communication link between the AP710and a STA720. The signal quality indicator may include a received signal strength indicator (RSSI), a received signal received power (RSRP), a received signal received quality (RSRQ), a signal-to-interference-plus-noise ratio (SINR), a signal-to-noise ratio (SNR), or a combination thereof. The AP710may track the RSSIs associated with received uplink transmissions, on a per-STA basis, for each tracked STA, whether associated or non-associated with the AP710. The AP710may periodically report the RSSI to the controller705. For each tracked STA, the AP710may send to the controller705a periodic signal quality indicator report by using a message. In some examples, a single message may include signal quality indicators for more than one tracked STA720. An AP710may send the signal quality indicator report for the tracked STAs once every report period. The signal quality indicator for a STA720may be based on the reception of data or control management frames from that STA720, even if not addressed to the receiving AP710. In some examples, the information745may include one or more signal quality indicators associated with a communication link between the AP710and a STA720. In some examples, the signal quality information is for STAs720associated with the AP710or STAs720not associated with the AP710, or both.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may transmit a report to the controller705that includes information745or statistics about received beacons sent by neighboring APs. For example, the AP710may send a message to the controller705reporting information regarding the beacons received from the other APs. In some examples, the message about the beacons may be reported according to period indicated in a control message received from the controller705. The message may include data for beacons received since the last transmission of the message. In some examples, only beacons with an SSID equal to a service set identifier field indicated in the control message are reported.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may report per-STA statistics to the controller705. In some implementations, the information745may include the pre-STA statistics. The per-STA statistics may be collected over a measurement interval identified by a start timing synchronization function (TSF) and/or an end TSF, and reported using a periodicity that may be different than the measurement interval. In some examples, the measurement interval may be equal to the period for transmitting the message (for example, message760) or may be different than the period (additional details about the measurement interval and the report period are described herein with reference toFIG.9). In some examples the start TSF and end TSF of a measurement interval are the same as the start TSF and end TSF of a schedule interval, respectively, as shown for example inFIG.9. The information745may include statistics for one or more STAs, and per each STA it may include statistics for one or more measurement intervals.

In some instances, the AP710may be configured to send per-STA statistics (for example, as part of the information745) for STAs720when the respective STAs720are in a power save state, when the respective STAs720have transitioned to a power save state after the last report, or when there is a change in at least one of the metrics to be reported, or a combination thereof. In some examples, the AP710may report the following statistics (for example, as part of the information745) on a per-STA basis: the STA's MAC address, a queue length when the report is generated, whether the STA720is in an active state or a power save state, a quality of service (QoS) metric (such as an air time target, a delay requirement, a latency requirement, or a throughput requirement). Each report for a STA720may include, for each of one or more measurement intervals, a measurement interval identifier, a packet error rate (PER) during the measurement interval, a retry rate associated with the transmitted physical layer convergence procedure (PLCP) protocol data units (PPDUs) during the measurement interval, the last data modulation and coding scheme (MCS) used during a measurement interval, air time used by the STA720during the measurement interval, or the number of bytes (or MSDUs) successfully sent by the STA720during the measurement interval, or a combination thereof. In some examples, some of these statistics may be provided as averages averaged within a measurement interval or across multiple measurement intervals.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may report BSS statistics to the controller705. In some implementations, the information745may include the BSS statistics. In some instances, the BSS statistics may be reported periodically using a period indicated in a control message.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may transmit a report to the controller705responsive to a STA720becoming associated with, or re-associating with, the AP710. The AP710may send a message to the controller705that includes the report. The report may indicate one or more identifiers of the associated or re-associated STA as well as other information (for example, an associated timestamp or information regarding capabilities of the STA).

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may transmit a report to the controller705responsive to determining that a STA720or the AP710has updated a block acknowledgement (BA) session. In some implementations, the information745may include the report about the BA session. The AP710may send a message to the controller705indicating the updated BA session. The controller705may then transmit an indication about the updated BA session to other APs.

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may transmit a report to the controller705responsive to determining that a STA720has updated its power state (for example, a power save state). In some implementations, the information745may include the report about the power state. The AP710may send a message to the controller705indicating the updated power state (for example, a power save state).

In some examples, the AP710(or AP715or any other AP controlled by the controller705) may report a service stop event associated with a STA720. In some implementations, the information745may include the report about the service stop. The AP710may send a message to the controller705(or another AP) indicating the service stop.

After collecting the information745(or statistics) described herein, the AP710(or AP715or any other AP controlled by the controller705) may transmit the information745to the controller705. The information745may be reported in a single message or in multiple messages. In some examples, the information745may include association information for a STA720or capability information for a STA720associated with the one or more APs710or715. In some examples, the information745may include association information or capability information indexed based on each associated STA720.

Upon receiving information745from each of one or more APs710and715, the controller705may use the information745to manage the network and schedule resources to be used or allocated by one or more of the APs710and715. For example, the controller705may divide up a time-based resource into one or more time intervals. The controller705may then determine transmission parameters for each AP during each time interval. This way, the controller705may be configured to improve the efficiency of the network. In some examples, the controller705may determine conditions of communication links between APs and STAs in the network and may use the determined conditions when determining the time intervals or the transmission parameters or both.

At block750, the controller705may (optionally) determine time intervals to be used by the APs710and715to communicate with STAs720. The controller705may divide a specific duration into different time intervals. In some examples, the specific duration may be referred to as a schedule. The schedule may include any number of time intervals. The time intervals may be any length of time that is less than or equal to the length of time of the schedule. One or more transmission parameters for each one or more respective APs may be associated with each of the time intervals. In some examples, the controller705may determine whether a time interval is associated with uplink signals or downlink signals. The controller705is configured to determine time intervals, transmission parameters, or both for both uplink communications and downlink communications. Additional details about the time intervals are described with reference toFIG.8.

In some examples, one or more time intervals associated with a first AP710may (optionally) be aligned in time with one or more time intervals associated with a second AP715(in other words, one or more time intervals may be shared by the first AP710and the second AP715). In some examples, time intervals aligned in time may share a common start time, a common end time, or both a common start time and a common end time. In some other cases, the time intervals associated with the first AP710may be different than the time intervals associated with the second AP715. A first time interval may be different than a second time interval when a start time of the time intervals are different, an end time of the time intervals are different, or transmission parameters associated with the time intervals are different, or a combination thereof.

At block755, the controller705may determine one or more transmission parameters associated with communications of the APs710and715. In some examples, the one or more transmission parameters may be associated with each time interval. The transmission parameters may define one or more operations that the APs710and715may be permitted to do during the respective time interval or that may be permitted to do when performing specific communications. For example, an operation that may be indicated by a transmission parameter may include that the AP710is permitted to communicate with one or more stations or a group of STAs720during the time interval or that specific communications may be communicated with one or more stations or a group of STAs720. Other examples of an operation that may be indicated by the transmission parameter may include one or more beamforming operations, one or more backoff operations, one or more enhanced distributed coordination function (DSF) channel access (EDCA) operations, one or more energy detection operations, one or more clear channel assessment (CCA) operations, one or more acknowledgement (ACK) policy operations, one or more dummy packet operations, one or more request-to-send (RTS) operations, one or more power management operations, one or more rate adaptation operations, or any combination thereof. The one or more operations performed by the AP710or715may be indicated by the transmission parameters or information in the transmission parameters.

In some example implementations, a transmission parameter determined by the controller705may include an indicator of what STAs720each of the APs710and715is permitted to communicate with during, for example, the time interval. For example, the AP710may be permitted to communicate with less than all of the STAs720that are associated with the AP710. In other examples, the transmission parameter may indicate that the AP710is permitted or instructed to select which STAs720to communicate with. In yet other examples, the transmission parameter may indicate that the AP710is to be silent during the time interval and not communicate with any STAs720. In yet other examples, the transmission parameter may indicate that the AP710is allowed to communicate with all of the associated STAs720during the time interval.

In some examples, the controller705may identify the STAs720permitted to communicate with the AP710during the time interval individually. Additionally or alternatively, the controller705may identify groups of STAs720for communication with the AP710during the time interval. In some implementations, the controller705may identify identifiers for the STAs or the groups of STAs and communicate those identifiers to the APs710and715.

In some example implementations, a transmission parameter determined by the controller705may include configuration parameters for the schedule and (optionally) one or more of its associated time intervals. In some examples, configuration parameters may be defined on a per-time-interval basis. In some examples, each of one or more of the time intervals may be associated with a time interval type, in which case the configuration parameters may be defined on a per-interval-type basis. The controller705may transmit the configuration parameters to each AP at a startup time or when significant changes to the configuration of the schedule are made. The controller705may transmit a message to the APs710and715periodically that includes the current configuration for the schedule and its time intervals. The message transmitted by the controller705may include a field that indicates a time for implementing the new configuration. In some examples, after receiving the new configuration information from the controller705, the AP710may implement the new configuration when the local timing synchronization function (TSF) of the AP710is equal to the time included in the field of the message.

In some examples, a transmission parameter determined by the controller705may include a backoff parameter for the AP710. The backoff parameter may indicate whether a backoff procedure is to be used by the AP710during an associated time interval.

In some examples, a transmission parameter determined by the controller705may include parameters for EDCA. The EDCA parameters may define one or more of a minimum contention window parameter, a maximum contention window parameter, a transmission opportunity parameter, or an arbitration inter-frame spacing parameter.

In some examples, a transmission parameter determined by the controller705may include an energy detection threshold parameter. This parameter may indicate information for a primary channel.

In some examples, a transmission parameter determined by the controller705may include a CCA configuration parameter. This parameter may indicate that the AP710is to use one or more of a set of CCA configurations. A CCA configuration may identify a specific configuration of deferral parameters, such as an energy detection parameter, a packet detection parameter, and a network allocation vector (NAV). In at least one of the configurations, each AP including AP710may be provided a list of colors associated with the controller705. The NAV procedures implemented may be based on whether the AP710receives a PLCP protocol data unit (PPDU) from an AP with a color listed in the list of colors.

In some examples, a transmission parameter determined by the controller705may include an ACK policy parameter. This parameter may indicate whether the AP710is to use one or more of an immediate acknowledgement policy during the time interval, a delayed block acknowledgement (BA) policy during the time interval, or whether the acknowledgement policy is to be determined by the AP710.

In some examples, a transmission parameter determined by the controller705may include a dummy packet parameter. This parameter may indicate whether the AP710is to send dummy packets during portions of a time interval during which the AP710is not transmitting or receiving traffic.

In some examples, a transmission parameter determined by the controller705may include an RTS parameter. This parameter may indicate whether the AP710is permitted to use RTS during the time interval. In some examples, the controller705may send a message to an AP710to configure the usage of RTS messages on a per-STA basis. In some examples, the RTS setting from the message may be overridden by the RTS parameter included in a schedule interval definition. For STAs for which no explicit RTS configuration is received from the controller705, the AP710may use its default RTS policy or the policy indicated in a schedule interval.

In some examples, a transmission parameter determined by the controller705may include a power management state change of a STA720. This parameter may be used to make sure that STAs can safely transition out of a power save state. Buffered data or management frames may be sent in accordance with the schedule.

In some examples, a transmission parameter determined by the controller705may include a rate adaptation parameter. This parameter may be based on an expected SINR for a given time interval. For example, transmission parameters assigned to a STA720for a first interval may be different than transmission parameters assigned to the STA720during a second interval. The expected SINR for each of these time intervals may be different based on the different transmission parameters.

In some examples, a transmission parameter determined by the controller705may include a beamforming parameter. This parameter may indicate whether a beamforming operation is permitted during the time interval. In some examples, this parameter may indicate one or more characteristics of the permitted beamforming.

In some examples, a transmission parameter determined by the controller705may include one or more types of frames that are permitted (for example, to be communicated) during the time interval.

In some examples, the information indicated by the transmission parameter may be formatted in accordance with, but not limited to, the IEEE 1905.1 standard, the IEEE 802.11 standard, other standards, or combinations thereof. Table 1 indicates an example of a message which may follow the 1905.01 standard and include one or more type-length-value elements, sometimes referred to as TLV elements. For example, the message may include, but is not limited to, one or more type fields, one or more length fields, one or more value

TABLE 1An example of a message.tlvType1octet0xXXInformation or ControltlvLength2octetsvariableNumber of octets in ensuing fieldtlvValue1octetkContent of the message
fields, or a combination thereof.

In some examples, the information indicated by the transmission parameter may be an example of an Information Element which may follow the 802.11 message which may include one or more type-length-content elements, sometimes referred to as TLC elements. Table 2 indicates an example of a message which may additionally or alternatively include one or more type fields, one or more length fields, and/or one or more content fields.

As an example, the one or more type fields may identify a set of messages and/or information included in the set of messages. In some examples, the messages and/or the information included in the set of messages may be a set and/or a subset of a control message from the cloud controller to the AP710and/or the cloud125to the AP710. Additionally or alternatively, the messages and/or the information included in the set of messages may be a set and/or a subset of a control message from the AP710to the cloud controller and/or the

TABLE 2An example of a message.Element IDLengthContent
cloud125to the AP710. For example, the set and/or subset of the information messages may indicate one or more value fields, one or more content fields, and/or one or more type fields, among other fields.

Additionally or alternatively, the one or more value fields and/or the one or more content fields may include one or more subfields describing the information of one or more of the messages related to the set and/or subset indicated by the one or more type field. For example, Table 3 represents a message with the type-length-value element information. In another example, Table 4 indicates a case of an Information Element message.

TABLE 3An example of a message.tlvType1octet0xXXPer-STA StatisticstlvLength2octetsvariableNumber of octets in ensuing field.tlvValue1octetkNumber of STAs reported2/4octetsMAC Address or AID1OctetRSSI2OctetBytesTx2OctetBytesRx2OctetQueued Bytes2OctetAverage Queue Len

TABLE 4An example of a message.ElementLengthContentNumberMACRSSIBytesTxBytesRxQueuedAverageIDof STAsAddressBytesQueuereportedor AIDLength

After determining the transmission parameters, the controller705may transmit one or more messages760to the APs710and715(or any other AP controlled by the controller705) that include the transmission parameters. The transmission parameters may be transmitted in a single message or in multiple messages.

As described herein, each of the time intervals may be defined with respect to a time interval type. In some examples, the controller705may determine the type of a time interval. The type of the time interval may refer to an arrangement of transmission parameters for the time interval. In some instances, the arrangement of transmission parameters for each type of time interval may be preconfigured or predetermined. In such instances, the preconfigured arrangements may be stored in a memory of the controller705, memories within the APs710or715, or in both the controller705and in the APs710and715. In some examples, the arrangement of transmission parameters for a given time interval type may be preconfigured or predetermined such that the controller705and one or more of the APs710and715may know or have stored the predetermined arrangements. The controller705may indicate the type of the time interval in a message760and APs710and715may determine the transmission parameters based on the indication of the type of the time interval.

In some examples, the types of time intervals can include an AP-time type, a silent type, and one or more additional types. These types are described for illustrative purposes. Transmission parameters may be arranged in any manner to form a type of a time interval. Additional details about the types of time intervals are described with reference toFIG.9.

During a time interval of the AP-time type, the AP710may not be under the control of the controller705. During an AP-time time interval, the AP710may decide to use the surrounding wireless medium as it chooses. The AP710may serve any STA720during an AP-time time interval. In some examples, AP710may communicate using regular EDCA during a time interval that has the type AP-time. In some examples, the AP-time type indicates that at least one access point may serve any station with the access point during the time interval.

During a time interval of the silent type, the AP710may be configured to not send any PPDUs containing data traffic. In some examples, the AP710may be configured to send messages or information related to a power save state during a time interval having the silent type. For example, the AP710may receive a transmission that indicates a power management state change of a STA720and respond accordingly. In some examples, the silent type indicates that at least one access point (but typically not all access points) does not transmit data packets during the time interval.

Additional types of time intervals may refer to different collections of transmission parameters that the controller705may select as an entire collection. The controller705may communicate the selection to the APs710and715. Many additional types of time intervals associated with the collections of transmission parameters may be defined by the controller705, the APs710or715, or a combination thereof.

At765, the APs710and715may communicate with STAs720based on the time intervals and associated transmission parameters received from the controller705. In some examples, this may cause the first AP710and the second AP715to coordinate at least some of their communications.

FIG.8shows an example of a timing diagram800for use in wireless communication. The timing diagram800illustrates how a controller (for example, controller705) may (optionally) divide up a time unit, such as a schedule805, into a set of time intervals810. The timing diagram800also illustrates how a controller may periodically inform an AP (for example, AP710or AP715) about changes to the time intervals810, including changes in one or more transmission parameters, using one or more messages815. The one or more messages815may be examples of the messages760described with reference toFIG.7.

A schedule805may refer to a time-based resource that the controller may divide into a set of time intervals. The duration of the schedule805may itself be a parameter that is adjustable. For example, the duration of a schedule805may be of any length of time defined by a schedule definition. The schedule definition may define a sequence of time intervals and durations of time intervals. In some examples, a schedule805may span approximately 50 milliseconds (ms). The duration of each time interval810may range between approximately 1 ms and 40 ms. In some examples, time intervals810are mutually exclusive; that is, not overlapping.

Upon the completion of a schedule805, an AP may repeat the schedule805until an updated schedule definition is received from the controller. Said another way, the controller may group a discrete number of time intervals810together to define a schedule805and the AP may repeat the schedule (repeating the time intervals from schedule duration to schedule duration until an updated schedule definition is received. For example, the timing diagram shows that an AP may use four identical schedules805sequentially before a new message815is received to change the schedule definition.

The controller may identify a duration for each time interval810. The controller may also identify a start time, a stop time, or both for each time interval810. The controller may also identify an order for (the sequence of) the time intervals810within the schedule805. In some examples, the controller may identify a type of each time interval810. The controller may identify the STAs that it permits to be served during each time interval810. The configuration parameters for the schedule and for the constituent time intervals, or interval types, may define a transmission mode for each time interval. The controller may identify the type of each time interval and the related transmission parameters (for example, medium access parameters to be used by the AP during the time interval810such as EDCA, CCA). The controller may also determine other mode settings or transmission parameters associated with the time interval810(for example, but not limited to, short interface space (SIFS) bursting, ACK policy, and/or fairness rules).

During some types of time intervals, for example, an AP-time type time interval810, an AP is permitted to determine which STAs it will communicate with. In some examples, the AP may select the MCS to use during the time interval810, PPDU duration and start times, or other parameters.

FIG.9shows an example of a timing diagram900for use in wireless communication. The timing diagram900shows a single schedule905. The timing diagram900shows time intervals910assigned to have specific types, how measurement intervals915correspond to the time intervals910, and how an AP may periodically inform the controller about the measurements through measurement reporting920. The schedule905may be an example of a schedule805described with reference toFIG.8. The time intervals910may be examples of the time intervals810described with reference toFIG.8. The reports920may be examples of the information745described with reference toFIG.7.

Each time interval910in the schedule905is assigned a specific type. For example, the time intervals910are shown as being assigned AP-time, silent-time, or other types of communication parameters. The controller and the AP may implement one or more operations based on the transmission parameters associated with the type of the time interval910. Examples of an operation performable by the AP that may be indicated by the transmission parameter may include one or more beamforming operations, one or more backoff operations, one or more EDCA operations, one or more energy detection operations, one or more CCA operations, one or more ACK policy operations, one or more dummy packet operations, one or more RTS operations, one or more power management operations, one or more rate adaptation operations, or any combination thereof.

The controller may also determine other transmission parameters not expressly identified in the definition of a particular type of a time interval. For example, for some time intervals910, the controller may identify STAs that are permitted to communicate with the AP during the time interval910. While the time intervals910are shown having particular transmission parameters and associated types, a time interval910may include any combination of transmission parameters described herein.

The schedule905also includes multiple measurement intervals915. Each measurement interval915is an interval over which an AP collects information or statistics to be reported back to the controller. In some examples, each measurement interval915may be equivalent to (aligned in time to and of the same duration as) a respective one of the time intervals910of the schedule905. In some other cases, measurement intervals915may be periodic having fixed durations independent of the start times and durations of the time intervals910. In such cases, the fixed duration of the measurement interval915may be determined by the AP.

Periodically, the AP may report the measurements taken during one or more measurement intervals. The AP may transmit a report920to the controller that includes information or statistics measured during one or more measurement intervals915. In some examples, the period for transmitting the reports920may be twice every schedule905. In other cases, the period for transmitting the reports920may be once every schedule905, three times every schedule905, four times every schedule905, or at any other suitable frequency. In some examples, the report920may be transmitted once every measurement interval915. In some examples, the report920may be transmitted once every time interval910.

FIG.10shows a block diagram of a device1005for use in wireless communication. The device1005may be an example of aspects of a controller as described herein. The device1005may include a receiver1010, a communications manager1015, and a transmitter1020. The communications manager1015can be implemented, at least in part, by one or both of a modem and a processor. Each of these components may be in communication with one another (for example, via one or more buses).

Receiver1010may receive information such as packets, user data, or control information associated with various information channels (for example, but not limited to, control channels, data channels, and/or information related to techniques for controlling a network). Information may be passed on to other components of the device. The receiver1010may be an example of aspects of the transceiver1320described with reference toFIG.13. The receiver1010may utilize a set of antennas.

The communications manager1015may receive information from one or more access points, determine time intervals to be used by the access points to communicate with one or more stations based on the information from the access points, determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that at least one of the one or more access points is permitted to perform during the respective time interval, and transmit at least one message to at least one of the one or more access points that includes the time intervals and the one or more transmission parameters associated with each time interval.

The communications manager1015, or its sub-components, may be physically located at different locations, including being distributed such that portions of functions are implemented at different physical locations by one or more physical components. In some examples, the communications manager1015, or its sub-components, may be a separate and distinct component in accordance with various aspects of the present disclosure. In some examples, the communications manager1015, or its sub-components, may be combined with one or more other hardware components, including but not limited to an input/output (I/O) component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.

Transmitter1020may transmit signals generated by other components of the device. In some examples, the transmitter1020may be collocated with a receiver1010in a transceiver module. For example, the transmitter1020may be an example of aspects of the transceiver1320described with reference toFIG.13. The transmitter1020may utilize a set of antennas.

FIG.11shows a block diagram of a device1105for use in wireless communication. The device1105may be an example of aspects of a device1005or a controller130and705as described herein. The device1105may include a receiver1110, a communications manager1115, and a transmitter1140. The communications manager1115can be implemented, at least in part, by one or both of a modem and a processor. Each of these components may be in communication with one another (for example, via one or more buses).

Receiver1110may receive information such as packets, user data, or control information associated with various information channels (for example, but not limited to, control channels, data channels, and/or information related to techniques for controlling a network). Information may be passed on to other components of the device. The receiver1110may be an example of aspects of the transceiver1320described with reference toFIG.13. The receiver1110may utilize a set of antennas.

The information manager1120may receive information from a set of access points about signals received by the access points. The time interval manager1125may optionally determine time intervals to be used by the access points to communicate with one or more stations based on the information from the access points.

The transmission parameter manager1130may determine one or more transmission parameters and one or more operations that at least one access point of the one or more access points is permitted to perform during a respective time interval based at least in part on the information. Additionally or alternatively, the transmission parameter manager1130may optionally determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that one or more respective access points of the set of access points are permitted to perform during the respective time interval.

The message manager1135may transmit at least one message to at least one of the one or more access points, the message indicating the one or more operations that at least one of the access points is permitted to perform. Additionally or alternatively, the message manager1135may optionally transmit at least one message to the access points that includes the time intervals and the one or more transmission parameters associated with each time interval.

Transmitter1140may transmit signals generated by other components of the device. In some examples, the transmitter1140may be collocated with a receiver1110in a transceiver module. For example, the transmitter1140may be an example of aspects of the transceiver1320described with reference toFIG.13. The transmitter1140may utilize a set of antennas.

FIG.12shows a block diagram of a communications manager1205for use in wireless communication. The communications manager1205may include an information manager1210, a time interval manager1215, a transmission parameter manager1220, a message manager1225, a type manager1230, a station manager1235, a communication link manager1240, a request manager1245, and a profile manager1250. Each of these modules may communicate, directly or indirectly, with one another (for example, via one or more buses).

The information manager1210may receive information from one or more access points. In some examples, receiving information from a first access point of the set of access points includes receiving statistics for a first group of stations associated with the first access point and a second group of stations that are not associated with the first access point, where determining the time intervals or determining the one or more transmission parameters associated with each time interval is based on receiving the statistics about the first group of stations and the second group of stations from the first access point.

In some examples, the information received from the set of access points includes statistics about communication links between at least some of the one or more access points and the one or more stations. In some examples, the information received from the set of access points includes an indicator of pending traffic for at least one station of the one or more stations. In some examples, the information received from the access points includes one or more of a list of stations tracked by a first access point of the set of access points, a signal quality indicator associated with a communication link between the first access point and a station, a beacon report about beacons received from other access points, client statistics, basic service set (BSS) statistics, or a power state of the station.

In some examples, the information manager1210may receive statistics for a first group of stations associated with a first access point of the one or more access points and a second group of stations that are not associated with the first access point, where determining the time intervals or determining the one or more transmission parameters associated with each time interval is based on receiving the statistics about the first group of stations and the second group of stations from the first access point.

In some examples, the information received from the one or more access points includes association and capabilities information per associated station. In some examples, the amount of pending traffic included in the indicator may be indicated per one or more of a QoS category, or an AC, or a TID of the pending traffic.

In some examples, the information received from the one or more access points includes one or more signal quality indicators associated with a communication link between a first access point and a station. In some examples, the station is associated with the first access point. In some examples, the station is not associated with the first access point. In some examples, the station is one of the stations indicated in a tracked list that is communicated in the at least one message. In some examples, the information received from the one or more access points includes a beacon report about beacons received from other access points. In some examples, the information received from the one or more access points includes a power state of a station.

The time interval manager1215may determine time intervals to be used by the access points to communicate with one or more stations based on the information from the access points. In some examples, determining whether the time interval is associated with an uplink signal or a downlink signal, where the at least one message includes an indication of whether the time interval is associated with the uplink signal or with the downlink signal.

The time interval manager1215may optionally determine time intervals to be used by at least one of the one or more access points to communicate with one or more stations based on the information from the one or more access points. In some examples, determining whether the time interval is associated with an uplink signal or a downlink signal, where the at least one message includes an indication of whether the time interval is associated with the uplink signal or with the downlink signal.

The transmission parameter manager1220may determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that one or more respective access points of the set of access points are permitted to perform during the respective time interval. In some examples, the one or more transmission parameters include one or more of instructions to the one or more respective access points to cause the one or more respective access points to communicate with stations associated with the one or more respective access points, a modification to a schedule associated with the one or more respective access points, a request-to-send configuration, a clear-to-send configuration, or an indication of a rate adaptation configuration. In some examples, the transmit parameters include one or more CCA configuration parameters, one or more backoff parameters, one or more EDCA parameters, one or more energy detection threshold parameters, one or more delay acknowledgement parameters, or one or more RTS parameters.

The message manager1225may transmit at least one message to the access points that includes the time intervals and the one or more transmission parameters associated with each time interval. In some examples, the message manager1225may exchange configuration information or diagnostic information associated with the access points with a cloud controller, where determining the time intervals or determining the one or more transmission parameters associated with each time interval is based on exchanging the configuration information or the diagnostic information with the cloud controller. In some examples, a controller is configured to transmit the at least one message to the one or more access points. In some examples, at least one of the one or more access points includes the controller. In some examples, a control loop of the controller is at least partially executed by a server different than the one or more access points.

The type manager1230may determine a type of a time interval, where determining the one or more transmission parameters is based on determining the type of the time interval. In some examples, the type of the time interval includes an arrangement of transmission parameters for the time interval. In some examples, the type of the time interval includes an AP-time type, a silent type, a type1, a type2, or a type3. In some examples, the AP-time type indicates that the at least one access point may serve any station associated with the at least one access point during the time interval. In some examples, the silent type indicates that the at least one access point does not transmit data packets during the time interval.

The station manager1235may identify, for at least one of the time intervals, a device to communicate with a first access point of the one or more access points during the time interval, where the one or more transmission parameters indicate that the first access point is permitted to communicate with the station during the time interval.

In some examples, the station manager1235may determine, for at least one of the time intervals, that a first access point of the one or more respective access points is permitted to communicate during the time interval with a group of stations that have an established communication link with the first access point, where the one or more transmission parameters indicate that the first access point is permitted to communicate during the time interval with the group of stations. In some examples, determining, for at least one of the time intervals, identifiers of stations that a first access point of the one or more access points is permitted to communicate with during the time interval, where the at least one message includes the identifiers.

The communication link manager1240may determine conditions of communication links between the one or more access points and the one or more stations based on receiving the information from the one or more access points, where determining the one or more transmission parameters is based on determining the conditions of the communication links.

The request manager1245may transmit at least one request to at least one of the one or more access points to collect the information, where receiving the information is based on transmitting the at least one request.

The profile manager1250may identify a device profile for at least one of the one or more stations associated with the one or more access points, where determining the time intervals or determining the one or more transmission parameters associated with each time interval is based on identifying the device profile.

FIG.13shows a diagram of a system including a device1305for use in wireless communication. The device1305may be an example of or include the components of device1005, device1105, or a controller as described herein. The device1305may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including a communications manager1310, an I/O controller1315, a transceiver1320, an antenna1325, memory1330, and a processor1340. These components may be in electronic communication via one or more buses (for example, bus1345).

The communications manager1310may receive information from one or more access points, determine one or more transmission parameters and one or more operations that at least one access point of the one or more access points is permitted to perform during the respective time interval, and transmit at least one message to at least one of the one or more access points, the message indicating the one or more operations that at least one of the access points is permitted to perform. Additionally or alternatively the communications manager1310may optionally receive information from a set of access points about signals received by the access points, determine time intervals to be used by the access points to communicate with one or more stations based on the information from the access points, determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that one or more respective access points of the set of access points are permitted to perform during the respective time interval, and transmit at least one message to the access points that includes the time intervals and the one or more transmission parameters associated with each time interval.

I/O controller1315may manage input and output signals for device1305. I/O controller1315may also manage peripherals not integrated into device1305. In some examples, I/O controller1315may represent a physical connection or port to an external peripheral. In some examples, I/O controller1315may utilize an operating system such as iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, or another known operating system. In other cases, I/O controller1315may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some examples, I/O controller1315may be implemented as part of a processor. In some examples, a user may interact with device1305via I/O controller1315or via hardware components controlled by I/O controller1315.

Transceiver1320may communicate bi-directionally, via one or more antennas, wired, or wireless links as described herein. For example, the transceiver1320may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver1320may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.

In some examples, the wireless device may include a single antenna1325. However, in some examples the device may have more than one antenna1325, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.

Memory1330may include RAM and ROM. The memory1330may store computer-readable, computer-executable software1335including instructions that, when executed, cause the processor to perform various functions described herein. In some examples, the memory1330may contain, among other things, a basic input/output system (BIOS) which may control basic hardware or software operation such as the interaction with peripheral components or devices.

Processor1340may include an intelligent hardware device, (for example, a general-purpose processor, a digital signal processor (DSP), a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some examples, processor1340may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into processor1340. Processor1340may be configured to execute computer-readable instructions stored in a memory to perform various functions (for example, functions or tasks supporting techniques for controlling a network).

FIG.14shows a block diagram of a device1405for use in wireless communication. The device1405may be an example of aspects of an AP as described herein. The device1405may include a receiver1410, a communications manager1415, and a transmitter1420. The communications manager1415can be implemented, at least in part, by one or both of a modem and a processor. Each of these components may be in communication with one another (for example, via one or more buses).

The receiver1410may receive information such as packets, user data, or control information associated with various information channels (for example, but not limited to, control channels, data channels, and/or information related to techniques for controlling a network). Information may be passed on to other components of the device. The receiver1410may be an example of aspects of the transceiver1720described with reference toFIG.17. The receiver1410may utilize a set of antennas.

The communications manager1415may identify information about an access point, transmit the information to a controller configured to control a set of access points that include the access point, receive at least one message from the controller that includes time intervals for the access point to communicate with a group of stations and one or more transmission parameters associated with each time interval, the one or more transmission parameters defining, for the respective time interval, one or more operations that the access point is permitted to perform during the respective time interval, and perform at least one of the one or more operations during at least one time interval of the time intervals. In some examples, the communications manager1415may communicate with the group of stations during at least one time interval of the time intervals using the respective one or more transmission parameters.

The communications manager1415, or its sub-components, may be physically located at different locations, including being distributed such that portions of functions are implemented at different physical locations by one or more physical components. In some examples, the communications manager1415, or its sub-components, may be a separate and distinct component in accordance with various aspects of the present disclosure. In some examples, the communications manager1415, or its sub-components, may be combined with one or more other hardware components, including but not limited to an input/output (I/O) component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.

The transmitter1420may transmit signals generated by other components of the device. In some examples, the transmitter1420may be collocated with a receiver1410in a transceiver module. For example, the transmitter1420may be an example of aspects of the transceiver1720described with reference toFIG.17. The transmitter1420may utilize a set of antennas.

FIG.15shows a block diagram of a device1505for use in wireless communication. The device1505may be an example of aspects of a device1405or an AP105as described herein. The device1505may include a receiver1510, a communications manager1515, and a transmitter1535. The communications manager1515can be implemented, at least in part, by one or both of a modem and a processor. Each of these components may be in communication with one another (for example, via one or more buses).

The receiver1510may receive information such as packets, user data, or control information associated with various information channels (for example, but not limited to, control channels, data channels, and/or information related to techniques for controlling a network). Information may be passed on to other components of the device. The receiver1510may be an example of aspects of the transceiver1720described with reference toFIG.17. The receiver1510may utilize a set of antennas.

The communications manager1515may include an information manager1520, a message manager1525, and a time interval manager1530. The information manager1520may identify information about an access point and transmit the information to a controller configured to control a set of access points that include the access point.

The message manager1525may receive at least one message from the controller that includes one or more transmission parameters defining one or more operations that at least one of the access points is permitted to perform, and determine one or more transmission parameters for the information transmitted to the controller. Additionally or alternatively, the message manager1525may optionally receive at least one message from the controller that includes time intervals for the access point to communicate with a group of stations and one or more transmission parameters associated with each time interval, the one or more transmission parameters defining, for the respective time interval, one or more operations that the access point is permitted to perform during the respective time interval.

The time interval manager1530may optionally perform at least one of the one or more operations during at least one time interval of the time intervals. The time interval manager1530may communicate with the group of stations during at least one time interval of the time intervals using the respective one or more transmission parameters.

The transmitter1535may transmit signals generated by other components of the device. In some examples, the transmitter1535may be collocated with a receiver1510in a transceiver module. For example, the transmitter1535may be an example of aspects of the transceiver1720described with reference toFIG.17. The transmitter1535may utilize a set of antennas.

FIG.16shows a block diagram of a communications manager1605for use in wireless communication. The communications manager1605may include an information manager1610, a message manager1615, a time interval manager1620, a station manager1625, and a request manager1630. Each of these modules may communicate, directly or indirectly, with one another (for example, via one or more buses).

The information manager1610may identify information an access point. In some examples, the information manager1610may transmit the information to a controller configured to control a set of access points that include the access point. In some examples, identifying statistics about stations that have an established communication link with the access point, where the information transmitted to the controller includes the statistics. In some examples, identifying statistics about stations that do not have an established communication link with the access point, where the information transmitted to the controller includes the statistics.

In some examples, identifying statistics about other access points, where the information transmitted to the controller includes the statistics about the other access points. In some examples, the information transmitted to the controller includes statistics about a first group of stations associated with the access point and a second group of stations that are not associated with the access point. In some examples, the information transmitted to the controller includes an indicator of traffic pending for at least one station of the group of stations.

In some examples, the information transmitted to the controller includes one or more of a list of stations tracked by the access point, a signal quality indicator associated with a communication link between the access point and a station, a beacon report about beacons received from other access points, client statistics, BSS statistics, or a power state of the station. In some examples, the one or more transmission parameters include one or more of instructions to the access point to cause the access point to communicate with stations associated with the access point, a modification to a schedule associated with the access point, a request-to-send configuration, a clear-to-send configuration, or an indication of a rate adaptation configuration.

The message manager1615may receive at least one message from the controller that includes time intervals for the access point to communicate with a group of stations and one or more transmission parameters associated with each time interval, the one or more transmission parameters defining, for the respective time interval, one or more operations that the access point is permitted to perform during the respective time interval. In some examples, the message manager1615may transmit downlink signals to the group of stations during the at least one time interval. In some examples, the message manager1615may receive uplink signals from the group of stations during the at least one time interval. In some examples, the access point includes at least a portion of the controller.

The time interval manager1620may optionally perform at least one of the one or more operations during at least one time interval of the time intervals. The time interval manager1620may communicate with the group of stations during at least one time interval of the time intervals using the respective one or more transmission parameters. The time interval manager1620may communicate with at least one state of the group of stations based on the respective one or more transmission parameters.

The station manager1625may determine identifiers of stations that the access point is permitted to communicate with during the at least one time interval based on receiving the at least one message, where communicating with the group of stations during the at least one time interval is based on the identifiers. In some examples, the group of stations includes stations that have an established communication link with the access point, where the access point is permitted to communicate with the stations during the at least one time interval.

The request manager1630may receive at least one request to collect the information about the access point, where identifying the information is based on receiving the at least one request.

FIG.17shows a diagram of a system including a device1705for use in wireless communication. The device1705may be an example of or include the components of device1405, device1505, or an AP as described herein. The device1705may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including a communications manager1710, a network communications manager1715, a transceiver1720, an antenna1725, memory1730, a processor1740, and an inter-AP communications manager1745. These components may be in electronic communication via one or more buses (for example, bus1750).

The communications manager1710may identify information about an access point, transmit the information to a controller configured to control a set of access points that include the access point, receive at least one message from the controller that includes time intervals for the access point to communicate with a group of stations and one or more transmission parameters associated with each time interval, the one or more transmission parameters defining, for the respective time interval, one or more operations that the access point is permitted to perform during the respective time interval, and communicate with the group of stations during at least one time interval of the time intervals using the respective one or more transmission parameters.

The network communications manager1715may manage communications with the core network (for example, via one or more wired backhaul links). For example, the network communications manager1715may manage the transfer of data communications for client devices, such as one or more STAs115.

The transceiver1720may communicate bi-directionally, via one or more antennas, wired, or wireless links as described herein. For example, the transceiver1720may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver1720may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.

In some examples, the wireless device may include a single antenna1725. However, in some examples the device may have more than one antenna1725, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.

The memory1730may include RAM and ROM. The memory1730may store computer-readable, computer-executable code1735including instructions that, when executed, cause the processor to perform various functions described herein. In some examples, the memory1730may contain, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.

The processor1740may include an intelligent hardware device, (for example, a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some examples, the processor1740may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into processor1740. The processor1740may be configured to execute computer-readable instructions stored in a memory to perform various functions (for example, functions or tasks supporting techniques for controlling a network).

The inter-AP communications manager1745may manage communications with other AP105, and may include a controller or scheduler for controlling communications with STAs115in cooperation with other APs105. For example, the inter-AP communications manager1745may coordinate scheduling for transmissions to STAs115for various interference mitigation techniques such as beamforming or joint transmission.

FIG.18shows a flowchart illustrating a method1800for use in wireless communication. The operations of method1800may be implemented by a controller or its components as described herein. For example, the operations of method1800may be performed by a communications manager as described with reference toFIGS.10-13. In some examples, a controller may execute a set of instructions to control the functional elements of the controller to perform the functions described herein. Additionally or alternatively, a controller may perform aspects of the functions described herein using special-purpose hardware.

At1805, the controller may receive information from one or more access points. The operations of1805may be performed according to the methods described herein. In some examples, aspects of the operations of1805may be performed by an information manager as described with reference toFIGS.10-13.

At1810, the controller may determine one or more transmission parameters and one or more operations that at least one access point of the one or more access points is permitted to perform during a respective time interval based on the information. Additionally or alternatively at1810, the controller may optionally determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that at least one of the one or more access points is permitted to perform during the respective time interval. The operations of1810may be performed according to the methods described herein. In some examples, aspects of the operations of1810may be performed by a transmission parameter manager as described with reference toFIGS.10-13.

At1815, the controller may transmit at least one message to at least one of the one or more access points, the message indicating the one or more operations that at least one of the access points is permitted to perform. Additionally or alternatively at1815, the controller may optionally transmit at least one message to at least one of the one or more access points that includes the time intervals and the one or more transmission parameters associated with each time interval. The operations of1815may be performed according to the methods described herein. In some examples, aspects of the operations of1815may be performed by a message manager as described with reference toFIGS.10-13.

FIG.19shows a flowchart illustrating a method1900for use in wireless communication. The operations of method1900may be implemented by a controller or its components as described herein. For example, the operations of method1900may be performed by a communications manager as described with reference toFIGS.10-13. In some examples, a controller may execute a set of instructions to control the functional elements of the controller to perform the functions described herein. Additionally or alternatively, a controller may perform aspects of the functions described herein using special-purpose hardware.

At1905, the controller may receive information from one or more access points. The operations of1905may be performed according to the methods described herein. In some examples, aspects of the operations of1905may be performed by an information manager as described with reference toFIGS.10-13.

At1910, the controller may optionally determine time intervals to be used by at least one of the one or more access points to communicate with one or more stations based on the information from the one or more access points. The operations of1910may be performed according to the methods described herein. In some examples, aspects of the operations of1910may optionally be performed by a time interval manager as described with reference toFIGS.10-13.

At1915, the controller may identify information about an access point or a group of stations associated with the access point. Additionally or alternatively at1915, the controller may optionally identify, for at least one of the time intervals, a device to communicate with a first access point of the one or more access points during the time interval, where the one or more transmission parameters indicate that the first access point is permitted to communicate with the station during the time interval. The operations of1915may be performed according to the methods described herein. In some examples, aspects of the operations of1915may be performed by a station manager as described with reference toFIGS.10-13.

At1920, the controller may determine one or more transmission parameters and one or more operations that at least one access point of the one or more access points is permitted to perform during the respective time interval based on the information. Additionally or alternatively at1920, the controller may optionally determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that at least one of the one or more access points is permitted to perform during the respective time interval. The operations of1920may be performed according to the methods described herein. In some examples, aspects of the operations of1920may be performed by a transmission parameter manager as described with reference toFIGS.10-13.

At1925, the controller may transmit at least one message to at least one of the one or more access points the message indicating the one or more operations that at least one of the access points is permitted to perform. Additionally or alternatively at1925, the controller may optionally transmit at least one message to at least one of the one or more access points that includes the time intervals and the one or more transmission parameters associated with each time interval. The operations of1925may be performed according to the methods described herein. In some examples, aspects of the operations of1925may be performed by a message manager as described with reference toFIGS.10-13.

FIG.20shows a flowchart illustrating a method2000for use in wireless communication. The operations of method2000may be implemented by a controller or its components as described herein. For example, the operations of method2000may be performed by a communications manager as described with reference toFIGS.10-13. In some examples, a controller may execute a set of instructions to control the functional elements of the controller to perform the functions described herein. Additionally or alternatively, a controller may perform aspects of the functions described herein using special-purpose hardware.

At2005, the controller may receive information from one or more access points. The operations of2005may be performed according to the methods described herein. In some examples, aspects of the operations of2005may be performed by an information manager as described with reference toFIGS.10-13.

At2010, the controller may optionally identify statistics for a first group of stations associated with a first access point of the one or more access points and a second group of stations that are not associated with the first access point based on receiving the information. The operations of2010may be performed according to the methods described herein. In some examples, aspects of the operations of2010may optionally be performed by a communication link manager as described with reference toFIGS.10-13.

At2015, the controller may optionally determine time intervals to be used by at least one of the one or more access points to communicate with one or more stations based on the information from the one or more access points and receiving the statistics about the first group of stations and the second group of stations from the first access point. The operations of2015may be performed according to the methods described herein. In some examples, aspects of the operations of2015may optionally be performed by a time interval manager as described with reference toFIGS.10-13.

At2020, the controller may determine one or more transmission parameters and one or more operations that at least one access point of the one or more access points is permitted to perform during the respective time interval based at least in part on the information. Additionally or alternatively at2020, the controller may optionally determine one or more transmission parameters associated with each time interval, the one or more transmission parameters associated with each time interval defining, for the respective time interval, one or more operations that at least one of the one or more access points is permitted to perform during the respective time interval. The operations of2020may be performed according to the methods described herein. In some examples, aspects of the operations of2020may be performed by a transmission parameter manager as described with reference toFIGS.10-13.

At2025, the controller may transmit at least one message to at least one of the one or more access points, the message indicating the one or more operations that at least one of the access points is permitted to perform. Additionally or alternatively at2025, the controller may optionally transmit at least one message to at least one of the one or more access points that includes the time intervals and the one or more transmission parameters associated with each time interval. The operations of2025may be performed according to the methods described herein. In some examples, aspects of the operations of2025may be performed by a message manager as described with reference toFIGS.10-13.

FIG.21shows a flowchart illustrating a method2100for use in wireless communication. The operations of method2100may be implemented by an AP or its components as described herein. For example, the operations of method2100may be performed by a communications manager as described with reference toFIGS.14-17. In some examples, an AP may execute a set of instructions to control the functional elements of the AP to perform the functions described herein. Additionally or alternatively, an AP may perform aspects of the functions described herein using special-purpose hardware.

At2105, the AP may identify information about an access point or a group of stations associated with the access point. The operations of2105may be performed according to the methods described herein. In some examples, aspects of the operations of2105may be performed by an information manager as described with reference toFIGS.14-17.

At2110, the AP may transmit the information to a controller configured to control multiple access points that include the access point. The operations of2110may be performed according to the methods described herein. In some examples, aspects of the operations of2110may be performed by an information manager as described with reference toFIGS.14-17.

At2115, the AP may receive at least one message from the controller that includes one or more transmission parameters defining one or more operations that at least one of the access points is permitted to perform. Additionally or alternatively at2115, the AP may optionally receive at least one message from the controller that includes time intervals for the access point to communicate with the group of stations and one or more transmission parameters associated with each time interval, the one or more transmission parameters defining, for the respective time interval, one or more operations that the access point is permitted to perform during the respective time interval. The operations of2115may be performed according to the methods described herein. In some examples, aspects of the operations of2115may be performed by a message manager as described with reference toFIGS.14-17.

At2120, the AP may determine one or more transmission parameters for the information transmitted to the controller Additionally or alternatively at2120, the AP may perform at least one of the one or more operations during at least one time interval of the time intervals. The operations of2120may be performed according to the methods described herein. In some examples, aspects of the operations of2120may be performed by a time interval manager as described with reference toFIGS.14-17.

FIG.22shows a flowchart illustrating a method2200for use in wireless communication. The operations of method2200may be implemented by an AP or its components as described herein. For example, the operations of method2200may be performed by a communications manager as described with reference toFIGS.14-17. In some examples, an AP may execute a set of instructions to control the functional elements of the AP to perform the functions described herein. Additionally or alternatively, an AP may perform aspects of the functions described herein using special-purpose hardware.

At2205, the AP may receive at least one request to collect the information about the access point or a group of stations associated with the access point. The operations of2205may be performed according to the methods described herein. In some examples, aspects of the operations of2205may be performed by a request manager as described with reference toFIGS.14-17.

At2210, the AP may identify information about the access point based on receiving the at least one request. The operations of2210may be performed according to the methods described herein. In some examples, aspects of the operations of2210may be performed by an information manager as described with reference toFIGS.14-17.

At2215, the AP may transmit the information to a controller configured to control multiple access points that include the access point. The operations of2215may be performed according to the methods described herein. In some examples, aspects of the operations of2215may be performed by an information manager as described with reference toFIGS.14-17.

At2220, the AP may receive at least one message from the controller that includes an indication that one or more operations is permitted to be performed. Additionally or alternatively at2220, the AP may optionally receive at least one message from the controller that includes time intervals for the access point to communicate with the group of stations and one or more transmission parameters associated with each time interval, the one or more transmission parameters defining, for the respective time interval, one or more operations that the access point is permitted to perform during the respective time interval. The operations of2220may be performed according to the methods described herein. In some examples, aspects of the operations of2220may be performed by a message manager as described with reference toFIGS.14-17.

At2225, the AP may perform at least one of the one or more operations. Additionally or alternatively at2225, the AP may optionally perform at least one of the one or more operations during at least one time interval of the time intervals. The operations of2225may be performed according to the methods described herein. In some examples, aspects of the operations of2225may be performed by a time interval manager as described with reference toFIGS.14-17.

It should be noted that the methods described herein describe possible implementations, and that the operations and the steps may be rearranged or otherwise modified and that other implementations are possible. Furthermore, aspects from two or more of the methods may be combined.

As used herein, a phrase referring to “at least one of” or “one or more of” a list of items refers to any combination of those items, including single members. For example, “at least one of: a, b, or c” is intended to cover the possibilities of: a only, b only, c only, a combination of a and b, a combination of a and c, a combination of b and c, and a combination of a and b and c.

The various illustrative components, logic, logical blocks, modules, circuits, operations and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, firmware, software, or combinations of hardware, firmware or software, including the structures disclosed in this specification and the structural equivalents thereof. The interchangeability of hardware, firmware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and processes described herein. Whether such functionality is implemented in hardware, firmware or software depends upon the particular application and design constraints imposed on the overall system.

The hardware and data processing apparatus used to implement the various illustrative components, logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a DSP, an ASIC, an FPGA or other PLD, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a set of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular processes, operations and methods may be performed by circuitry that is specific to a given function.

As described herein, in some aspects implementations of the subject matter described in this specification can be implemented as software. For example, various functions of components disclosed herein or various blocks or steps of a method, operation, process or algorithm disclosed herein can be implemented as one or more modules of one or more computer programs. Such computer programs can include non-transitory processor- or computer-executable instructions encoded on one or more tangible processor- or computer-readable storage media for execution by, or to control the operation of, data processing apparatus including the components of the devices described herein. By way of example, and not limitation, such storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store program code in the form of instructions or data structures. Combinations of the above should also be included within the scope of storage media.

Various modifications to the implementations described in this disclosure may be readily apparent to persons having ordinary skill in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the features disclosed herein.

Additionally, various features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. As such, although features may be described herein as acting in particular combinations, and even initially claimed as such, one or more features from a claimed combination can In some examples be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be interpreted as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict additional example processes in the form of a flowchart or flow diagram. However, other operations that are not depicted can be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. In some circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described herein should not be interpreted as requiring such separation in all implementations. Furthermore, the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.