WO2019045704A1 - Methods and apparatus to enable joint beamforming in a wireless network - Google Patents

Methods and apparatus to enable joint beamforming in a wireless network Download PDF

Info

Publication number
WO2019045704A1
WO2019045704A1 PCT/US2017/049345 US2017049345W WO2019045704A1 WO 2019045704 A1 WO2019045704 A1 WO 2019045704A1 US 2017049345 W US2017049345 W US 2017049345W WO 2019045704 A1 WO2019045704 A1 WO 2019045704A1
Authority
WO
WIPO (PCT)
Prior art keywords
access point
beamforming
mobile station
joint
report
Prior art date
Application number
PCT/US2017/049345
Other languages
French (fr)
Inventor
Roya Doostnejad
Thomas J. Kenney
Shahrnaz Azizi
Original Assignee
Intel Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corporation filed Critical Intel Corporation
Priority to PCT/US2017/049345 priority Critical patent/WO2019045704A1/en
Priority to DE112017007997.7T priority patent/DE112017007997T5/en
Publication of WO2019045704A1 publication Critical patent/WO2019045704A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/022Site diversity; Macro-diversity
    • H04B7/024Co-operative use of antennas of several sites, e.g. in co-ordinated multipoint or co-operative multiple-input multiple-output [MIMO] systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0452Multi-user MIMO systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0456Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting

Definitions

  • This disclosure relates generally to wireless networking, and, more particularly, to methods and apparatus to enable joint beamforming in a wireless network.
  • Wireless networks enable devices to communicate with other systems such as, for example, the Internet. Access to such wireless networks is provided by one or more access points (APs). In areas where there is a high density of users of mobile devices such as stadiums, conference halls, etc., multiple access points may be installed to facilitate the larger area of coverage and/or the larger number of expected devices.
  • APs access points
  • FIG. 1 is diagram of an example environment of use implemented in accordance with the teachings of this disclosure to enable joint beamforming in a wireless network.
  • FIG. 2 is a diagram of an example multi access point antenna array.
  • FIG. 3 is a block diagram of an example implementation of the example access point controller of FIG. 1.
  • FIG. 4 is a block diagram of an example implementation of the example access point of FIG. 1.
  • FIG. 5 is a block diagram of an example implementation of the example mobile station of FIG. 1.
  • FIG. 6 is an example communication diagram representing communications among the example access point controller, the example access point(s), and the example mobile station(s) of FIGS. 1, 2, 3, 4, and/or 5.
  • FIG. 7 is an example communication diagram representing communications between the example access point controller, the example access point(s), and the example mobile station(s) of FIGS. 1, 2, 3, 4, and/or 5 to collect beamforming reports.
  • FIG. 8 is an example communication diagram representing communications between the example access point controller, the example access point(s), and the example mobile station(s) of FIGS. 1, 2, 3, 4, and/or 5 to collect beamforming reports.
  • FIG. 9 is a diagram representing an example joint beamforming null data packet announcement.
  • FIG. 10 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 7.
  • FIG. 11 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 8.
  • FIG. 12 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point controller of FIGS. 1 and/or 3 to generate a joint beamforming matrix based on the collected beamforming reports.
  • FIG. 13 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point to transmit a packet to a mobile station.
  • FIG. 14 is a flowchart representative of example machine readable instructions which, when executed, cause the mobile station to estimate interference and apply equalization adjustments.
  • FIG. 15 is a block diagram of an example processor platform 1500 capable of executing the instructions of FIG. 6, 7, 8, and/or 12 to implement the example access point controller of FIGS. 1 and/or 3.
  • FIG. 16 is a block diagram of an example processor platform 1600 capable of executing the instructions of FIGS. 6, 7, 8, 10, 11 , and/or 13 to implement the example access point of FIGS. 1 and/or 4.
  • FIG. 17 is a block diagram of an example processor platform 1700 capable of executing the instructions of FIGS. 6, 7, 8, and/or 14 to implement the example mobile station of FIGS. 1 and/or 5.
  • Example approaches disclosed herein enable multi-access point transmission at a same time. To facilitate such transmissions, channel sounding between multiple users and multiple access points, in addition to joint multiuser beamforming for interference alignment between multiple mobile station and access point pairs is utilized. [0023] Such transmissions are enabled by the use of beamforming.
  • wireless access points may utilize one or more antennas in an antenna array to achieve spatial selectivity when transmitting a wireless signal. That is, for an access point utilizing an antenna array, one or more antennas in the array may be used to transmit the wireless signal directly towards a mobile station, as opposed to transmitting the wireless signal omnidirectionally.
  • multiple access points are treated as a joint beamforming set and form a multiple-access point antenna array. That is, instead of each antenna applying beamforming to transmit data to a mobile station, multiple access points utilize beamforming to simultaneously transmit to the mobile station, thereby increasing the signal strength, reliability, and/or throughput at the mobile station.
  • multiple access points are identified as participating in a joint beamforming set.
  • Each of the access points in the joint beamforming set collect and relay beamforming reports to a central controller.
  • the central controller enables exchanges of information among multiple access points for joint
  • the central controller transmits a joint beamforming null data packet announcement to the access points to initiate collection of
  • Beamforming reports are collected from the stations by their corresponding access points, and are reported to the central controller for analysis. In examples disclosed herein, beamforming reports are collected in response to a null data packet (NDP) transmission.
  • NDP null data packet
  • JBF joint beamforming NDP data structure is utilized that instructs the access points in the joint access point set as to how to transmit their NDP transmissions and/or channel sounding messages (e.g., in a sequential, time division multiple access (TDMA) fashion).
  • TDMA time division multiple access
  • the JBF NDP data structure defines the order in which the access points are to transmit their NDP messages.
  • the channel from each mobile station to its corresponding access point(s) is measured and one or more beamforming feedback reports are transmitted to the access point(s) and/or central controller. Based on the exchange outlined above, the beamforming feedback reports are used to calculate a pre-coding beamforming matrix that is to be applied to the joint beamforming set. This enables multiple access points on the same channel to deliver their packets concurrently to multiple mobile stations, without interfering with each other. As a result, the network throughput is scaled with the number of devices, delivering as many concurrent streams/packets on a single channel, as the total number of antennas on all access points.
  • FIG. 1 is diagram of an example environment of use 100 implemented in accordance with the teachings of this disclosure to enable joint beamforming in a wireless network.
  • the example environment of use 100 of the illustrated example of FIG. 1 includes an access point controller 102 in communication with a network 105. Via the network 105, the example access point controller 102 communicates with a set of wireless access points 109.
  • the example set of wireless access points 109 includes a first wireless access point 1 10, a second wireless access point 1 12, and a third wireless access point 1 14.
  • the set of wireless access points 109 provides a wireless service (e.g., Wi-Fi) for one or more mobile stations 120.
  • a wireless service e.g., Wi-Fi
  • a first mobile station 121 communicates with the first wireless access point 110
  • a second mobile station 122 communicates with the first wireless access point 110
  • a third mobile station 123 communicates with the second wireless access point 1 12
  • a fourth mobile station 124 communicates with the third wireless access point 114
  • a fifth mobile station 125 communicates with the third wireless access point 1 14.
  • each of the mobile stations 121 , 122, 123, 124, 125 primarily communicates with a single one of the wireless access points 109.
  • the example wireless access points 1 10, 1 12, 1 14 utilize beamforming to communicate directly with their corresponding mobile station(s).
  • the wireless resources may be simultaneously used by one or more access points when communicating with their corresponding mobile stations.
  • the example access points 110, 112, 114 are treated as a joint beamforming set (e.g., a multiple access point antenna array).
  • the first wireless access point 110 may communicate on a first channel with the first mobile station 121
  • the second wireless access point 112 may simultaneously communicate with the first example mobile station 121 using the first channel (e.g., the same channel is used by multiple access points to communicate with the mobile station).
  • the first channel e.g., the same channel is used by multiple access points to communicate with the mobile station.
  • the example access point controller 102 of the illustrated example of FIG. 1 controls joint beamforming operations of the example set of wireless access points 109.
  • the set of wireless access points is referred to as a joint beamforming access point set.
  • the example the access point controller 102 identifies the wireless access points 110, 112, 114 as being wireless access points included in the set of wireless access points 109.
  • the example access point controller 102 directs each of the wireless access points 110, 112, 114 to transmit one or more sounding message(s) (e.g., a null data packet) to their corresponding mobile stations 120.
  • Beamforming reports indicating signal strengths associated with receipt of the sounding message(s) are collected and reported to the access point controller 102.
  • the access point controller 102 processes the
  • a joint beamforming vector e.g., a
  • the example access point controller 102 communicates such information to the wireless access points 110, 112, 114 such that the wireless access points 110, 112, 114 may identify whether simultaneous communication is allowed when transmitting data to a mobile station.
  • An example implementation of the access point controller 102 is further described in connection with FIG. 3.
  • the example access point controller 102 is represented as a separate element from the wireless access points 110, 112, 114.
  • the example access point controller 102 may be implemented by one of the wireless access points 110, 112, 114. That is, one of the wireless access points 110, 112, 114 may act as the controller for itself and the other wireless access points.
  • the access point controller 102 is remote from the set of wireless access points 109. That is, while the example set of wireless access points may provide wireless services for a facility (e.g., a single geographic location), the example access point controller 102 may be implemented as a server operated at a facility separate from the set of wireless access points 109 (e.g., in the cloud).
  • the example network 105 of the illustrated example of FIG. 1 facilitates communication between the access point controller 102 and the wireless access points 110, 112, 114 in the set of wireless access points 109.
  • the network 105 is implemented as an Ethernet network.
  • the access point controller 102 may communicate with the wireless access points 110, 112, 114 and any other fashion.
  • the network 105 may be implemented by the Internet.
  • the example set of wireless access points 109 of the illustrated example of FIG. 1 includes multiple wireless access points.
  • the example set of wireless access points 109 are access points that are utilized together (e.g., that provide a same wireless network and/or wireless service to the mobile stations 120).
  • the wireless access points 110, 112, 114 communicate using a same service set identifier (SSID).
  • SSID service set identifier
  • wireless access points 110, 112, 114 are included in the set of wireless access points 109.
  • any number of wireless access points may additionally or alternatively be used.
  • the wireless access points are depicted in a linear fashion (e.g., in a line).
  • the wireless access points may be arranged in any fashion.
  • the wireless access points 1 10, 1 12, 1 14 are a same type of wireless access point (e.g., being of a same make and model, and/or having similar specifications).
  • the wireless access points may be different from each other. That is, multiple different makes and/or models of wireless access points may be utilized in combination with each other.
  • the example wireless access points 110, 112, 114 are owned and/or operated by an entity providing a wireless service.
  • an entity operating a venue e.g., a sports arena
  • the access point controller 102 is owned and/or operated by an entity other than the entity operating the venue.
  • the example mobile stations 120 of the illustrated example of FIG. 1 are implemented as mobile devices such as, for example smart phones. However, any other device that may communicate with an access point may additionally or alternatively be used such as, for example, a tablet, a laptop, a desktop, an Internet of Things (IOT) device, etc.
  • IOT Internet of Things
  • the mobile stations 120 are provided by users of the corresponding mobile stations. That is, the mobile stations 120 are not necessarily provided, operated, and/or owned by the same entity as the wireless access points 109.
  • the example mobile stations 120 are
  • the first mobile station 121 may be implemented by an Apple iPhone
  • the second example mobile station 122 may be implemented by a Samsung Galaxy S8.
  • the example mobile stations 120 communicate with the example wireless access points 109 using Wi-Fi.
  • FIG. 2 is a diagram of an example multi access point antenna array 201.
  • two access points 206, 208 are shown as being a part of the example multi access point antenna array 201.
  • any number of access points may additionally or alternatively be included in the example multi access point antenna array 201.
  • four mobile stations 121, 122, 123, 124 are shown.
  • any number of mobile stations may additionally or alternatively be used.
  • the mobile stations are not treated as having particular associations with any single access point in the multi access point antenna array 201. Because joint beamforming is used, multiple access points might communicate with a given mobile station.
  • FIG. 3 is a block diagram of an example implementation of the example access point controller 102 of FIG. 1.
  • the example access point controller 102 of the illustrated example of FIG. 3 includes an access point communicator 310, a beamforming report collector 320, a beamforming report data store 330, a mobile station identifier 340, a vector generator 350, a beamforming vector data store 360, and an access point instructor 370.
  • the example access point communicator 310 of the illustrated example of FIG. 3 enables the access point controller 102 to communicate with the access points 109 via the network 105.
  • the example access point communicator 310 is implemented using an Ethernet port.
  • any other past, present, and/or future approaches to facilitating communication between the access point controller 102 and the access points 109 may additionally or alternatively be used.
  • the example access point communicator 310 transmits a joint beamforming null data packet (JBF NDP) message to the set of access points 109 and, in response, receives one or more beamforming reports.
  • JBF NDP joint beamforming null data packet
  • the example access point communicator 310 also transmits, to the access points, an identification mobile stations that are participating in joint beamforming and a joint beamforming vector.
  • the example beamforming report collector 320 of the illustrated example of FIG. 3 instructs the example access point communicator 310 to request beamforming reports from the set of wireless access points 109.
  • the beamforming reports are then collected by the example beamforming report collector 320 and are stored in the example beamforming report data store 330, and are later utilized for calculation of precoding matrices and for identifying mobile stations that are to participate in joint beamforming.
  • the example beamforming report data store 330 of the illustrated example of FIG. 3 is implemented by any memory, storage device and/or storage disc for storing data such as, for example, flash memory, magnetic media, optical media, etc. Furthermore, the data stored in the example beamforming report data store 330 may be in any data format such as, for example, binary data, comma delimited data, tab delimited data, structured query language (SQL) structures, etc. While in the illustrated example the beamforming report data store 330 is illustrated as a single element, the example beamforming report data store 330 and/or any other data storage elements described herein may be implemented by any number and/or type(s) of memories. In the illustrated example of FIG. 3, the example beamforming report data store 330 stores beamforming reports collected by the beamforming report collector 320.
  • the example mobile station identifier 340 of the illustrated example of FIG. 3 analyzes the beamforming reports stored in the example beamforming report data store 330 to identify access point and mobile station pairs.
  • the mobile station identifier 340 identifies mobile station(s) that are to utilize and/or otherwise participate in joint beamforming.
  • the example vector generator 350 of the illustrated example of FIG. 3 generates a multi access point pre-coding matrix (e.g., a joint beamforming vector). In examples disclosed herein, such generation is based on the beamforming reports stored in the example beamforming report data store 330.
  • the example vector generator 350 stores the generated pre-coding matrix in the beamforming vector data store.
  • the example beamforming vector data store 360 of the illustrated example of FIG. 3 is implemented by any memory, storage device and/or storage disc for storing data such as, for example, flash memory, magnetic media, optical media, etc. Furthermore, the data stored in the example beamforming vector data store 360 may be in any data format such as, for example, binary data, comma delimited data, tab delimited data, structured query language (SQL) structures, etc. While in the illustrated example the beamforming vector data store 360 is illustrated as a single element, the example beamforming vector data store 360 and/or any other data storage elements described herein may be implemented by any number and/or type(s) of memories. In the illustrated example of FIG. 3, the example beamforming vector data store 360 stores the beamforming matrix generated by the set identified by the mobile station identifier 340.
  • the example access point instructor 370 of the illustrated example of FIG. 3 instructs the access point communicator 310 to inform the set of access points 109 of the beamforming matrix set stored in the example beamforming vector data store 360 and the list of mobile stations participating in joint beamforming.
  • FIG. 4 is a block diagram of an example implementation of the example access point 110 of FIG. 1.
  • the example access point 1 10 of the illustrated example of a FIG. 4 includes a network communicator 410, a communications processor 420, and array controller 430, and antenna array 440, and a beamforming report requester 450.
  • the example network communicator 410 receives information from the network 105 such as, for example, data packets. Such data packets may be destined for a mobile station, and the example communications processor 420 may cause the antenna array 440 to transmit the data packets to the mobile station.
  • the antenna array 440 operates in accordance with instructions and/or
  • the example beamforming report requester 450 causes the antenna array 440 to transmit information to the mobile station such as, for example, a null data packet, a beamforming report request, etc.
  • the example network communicator 410 of the illustrated example of FIG. 4 is implemented by an Ethernet port.
  • the example networking indicator 410 enables communication from the access point 1 10 to the network 105. While an Ethernet port is used in the illustrated example of FIG. 4, any other approach to facilitating communication between the example the access point 110 in the example network 105 may additionally or alternatively be used.
  • the network communicator 410 may be implemented using one or more wired and wireless protocols, communication systems, etc.
  • the example communications processor 420 of the illustrated example of FIG. 4 analyzes communications received from the network communicator 410 to determine whether the communications are directed to the access point 110.
  • the information received from the example network includes information from the example access point controller 102.
  • the communications transmitted to the access point 110 include a joint beamforming null data packet messages (JBF NDP), a joint beamforming pre-coding matrix, and/or identifications of the mobile stations participating in joint beamforming.
  • JBF NDP joint beamforming null data packet messages
  • the example array controller 430 of the illustrated example of FIG. 4 identifies a pre-coding matrix (e.g., the pre-coding matrix provided by the access point controller 102) that enables the antenna array 440 to directionally transmit data towards a particular mobile station (e.g., uni- directionally as opposed to omni-directionally).
  • the example array controller 430 applies gain values to the antenna array 440 when transmitting to a particular mobile station based on the pre-coding matrix.
  • the example antenna array 440 of the illustrated example of FIG. 4 includes one or more antennas for wireless transmission of data to and/or from the mobile stations.
  • the antennas included in the antenna array 440 are directional antennas and, thus, transmit data directionally. When, for example multiple antennas are used to transmit data, the direction in which data is transmitted can be adjusted.
  • the example antenna array 440 transmits data to wireless stations according to a beamforming pre-coding matrix.
  • antenna arrays from each of the access points may be utilized in parallel to transmit data to a mobile station participating in joint beamforming. When transmitting data to a particular mobile station, the antenna array 440 (and/or antenna arrays across multiple access points) can transmit directly to that mobile station, as opposed to transmitting omni-directionally.
  • the example beamforming report requester 450 transmits a null data packet (NDP) message via the example antenna array 440.
  • the null data packet message provides information to mobile stations in proximity of the access point for preparation of beamforming reports.
  • the example beamforming report requester 450 requests, via the antenna array 440, beamforming reports to be transmitted back to the access point 110.
  • the example beamforming report requester 450 relays, via the network communicator 410, the received beamforming reports to the example access point controller 102.
  • FIG. 5 is a block diagram of an example implementation of the example mobile station 121 of FIG. 1.
  • the example mobile station 121 includes a wireless communicator 510, a beamforming report generator 520, a channel estimator 530, and native mobile station functionality 550.
  • the example wireless communicator 510 of the illustrated example of FIG. 5 enables the mobile station to communicate with one or more access point(s) 1 10.
  • the wireless communicator 510 communicates using a WiFi protocol.
  • any other past, present, and/or future protocol(s) and/or communication system(s) may additionally or alternatively be used.
  • the example beamforming report generator 520 of the illustrated example of FIG. 5 monitors for null data packet (NDP) messages from the access point(s), and prepares beamforming report(s) indicating properties and/or characteristics of the NDP messages (e.g., a signal strength of the received NDP message).
  • the example beamforming report generator 520 transmits the beamforming report(s) to the access point that requested the beamforming report.
  • NDP null data packet
  • the example channel estimator 530 of the illustrated example of FIG. 5 receives long training field message(s) from one or more access points and estimates channel interference encountered at the mobile station when receiving the LTF message(s).
  • the example channel estimator 530 applies gain modifications to tune the wireless communicator 510.
  • the example native mobile station functionality 550 of the illustrated example of FIG. 5 implements intended operations of the example mobile station 121.
  • the native mobile station functionality 550 may implement an operating system, an app, a program, etc.
  • the example native mobile station functionality 550 benefits from the increased throughput and/or reduced latency encountered as a result of the use of the example approaches disclosed herein.
  • FIG. 3 While an example manner of implementing the example access point controller 102 of FIG. 1 is illustrated in FIG. 3, one or more of the elements, processes and/or devices illustrated in FIGS. 1 and/or 3 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. While an example manner of implementing the example access point 110 of FIG. 1 is illustrated in FIG. 4, one or more of the elements, processes and/or devices illustrated in FIG. 1 and/or 4 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. While an example manner of implementing the example mobile station 121 of FIG. 1 is illustrated in FIG. 5, one or more of the elements, processes and/or devices illustrated in FIGS.
  • the example mobile station 121 of FIGS. 1 and/or 5 could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)).
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPLD field programmable logic device
  • the example access point 1 10 of FIGS. 1 and/or 4 is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. including the software and/or
  • example access point controller 102, the example access point 110, and/or the example mobile station 121 of FIGS. 1, 3, 4, and/or 5 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in FIGS. 1, 3, 4, and/or 5, and/or may include more than one of any or all of the illustrated elements, processes and devices.
  • FIG. 6, 7, 8, and/or 12 Flowcharts representative of example machine readable instructions for implementing the example access point controller 102 of FIGS. 1 and/or 3 are shown in FIG. 6, 7, 8, and/or 12.
  • the machine readable instructions comprise a program(s) for execution by a processor such as the processor 1512 shown in the example processor platform 1500 discussed below in connection with FIG. 15.
  • the program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1512, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1512 and/or embodied in firmware or dedicated hardware.
  • a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1512, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1512 and/or embodied in firmware or dedicated hardware.
  • a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or
  • any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational- amplifier (op-amp), a logic circuit, etc.) structured to perform the
  • FIGS. 6, 7, 8, 10, 11, and/or 13 Flowcharts representative of example machine readable instructions for implementing the example access point 110 of FIGS. 1 and/or 4 are shown in FIGS. 6, 7, 8, 10, 11, and/or 13.
  • the machine readable instructions comprise a program(s) for execution by a processor such as the processor 1612 shown in the example processor platform 1600 discussed below in connection with FIG. 16.
  • the program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1612, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1612 and/or embodied in firmware or dedicated hardware.
  • a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1612, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1612 and/or embodied in firmware or dedicated hardware.
  • a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or
  • any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational-amplifier (op-amp), a logic circuit, etc.) structured to perform the corresponding operation without executing software or firmware.
  • hardware circuits e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational-amplifier (op-amp), a logic circuit, etc.
  • FIGS. 6, 7, 8, and/or 14 Flowcharts representative of example machine readable instructions for implementing the example mobile station 121 of FIGS. 1 and/or 5 are shown in FIGS. 6, 7, 8, and/or 14.
  • the machine readable instructions comprise a program(s) for execution by a processor such as the processor 1712 shown in the example processor platform 1700 discussed below in connection with FIG. 17.
  • the program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1712, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1712 and/or embodied in firmware or dedicated hardware.
  • a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1712, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1712 and/or embodied in firmware or dedicated hardware.
  • a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or
  • any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational- amplifier (op-amp), a logic circuit, etc.) structured to perform the
  • FIGS. 6, 7, 8, 10, 11, 12, 13, and/or 14 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
  • coded instructions e.g., computer and/or machine readable instructions
  • a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief
  • non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. "Including” and “comprising” (and all forms and tenses thereof) are used herein to be open ended terms. Thus, whenever a claim lists anything following any form of "include” or
  • FIG. 6 is an example communication diagram representing communications among the example access point controller 102, the example access point(s) 109, and the example mobile station(s) 120 of FIGS. 1 , 2, 3, 4, and/or 5.
  • FIG. 6 begins when the example access point controller 102 identifies access points in the set of wireless access points 109. (Block 605).
  • access points that are part of the example set of wireless access points 109 are included in the collaborative set based on their geographic association and/or being in communication with the network 105.
  • a single set of wireless access points is identified.
  • multiple sets of access points may be identified.
  • a first set of access points may be identified in connection with access points located in a first wing of a building and a second set of access points may be identified in connection with access points located in a second wing of a building separate from the first wing.
  • the multiple sets of access points may provide a same wireless resource (e.g., may host a same wireless network).
  • the example access point controller 102 may provide controller services for multiple different facilities and/or sets of access points.
  • the example access point controller 102 transmits an instruction that causes each of the access points 110, 112, 114 in the set of wireless access points 109 to collect beamforming report(s).
  • the instruction to collect beamforming report(s) is a joint beamforming null data packet (JBF NDP) announcement.
  • JBF NDP joint beamforming null data packet
  • An example structure to the JBF NDP announcement is disclosed below in connection with FIG. 9.
  • the JBF NDP announcement instructs each of the wireless access points in the set 109 to broadcast a sounding message (e.g., a null data packet) to facilitate collection of beamforming reports.
  • the example access points 1 10, 1 12, 1 14 in the example set of wireless access points 109 direct the creation of beamforming reports. (Block 620).
  • Each of the mobile stations 120 generate their corresponding beamforming report(s), and transmit the same to the access point with which the beamforming report was generated. (Block 625).
  • the access point receiving the beamforming report transmits the collected beamforming report(s) to the access point controller 102. (Block 630).
  • the example mobile station identifier 340 of the example access point controller 102 reviews the collected beamforming reports to identify mobile stations participating in joint beamforming. (Block 632).
  • the example vector generator 350 of the example access point controller 102 generates a multi-access point joint beamforming vector. (Block 635).
  • the multi-access point joint beamforming vector includes pre-coding matrices that are to be used by the access points in the set of access points 109 when communicating with mobile stations that are participating in joint beamforming.
  • the example access point controller 102 informs the access point(s) 109 of the joint beamforming set. (Block 640). In examples disclosed herein, the example access point controller 102 informs each access point of the joint beamforming vector and the list of mobile stations participating in joint beamforming. Such information enables the access points to utilize joint beamforming when transmitting data to the mobile stations participating in joint beamforming.
  • the example access points 109 then transmit training field messages to the mobile stations.
  • the training field messages are long training field (LTF) messages.
  • LTF long training field
  • the example training field messages are transmitted from each access point in the set of wireless access points, and are made to be user specific, and are beamformed in the direction(s) of the mobile stations of each access point (e.g., according to the joint beamforming matrix).
  • each mobile station experiences the same interference that it will receive during data transmission, as all access points in the joint beamforming set simultaneously (and/or substantially simultaneously) transmit the training field messages.
  • the example mobile stations estimate interference and apply adjustments to their wireless interface(s). (Block 650). Because the training field messages are transmitted
  • the example process 600 of FIG. 6 may be repeated periodically and/or a-periodically. For example, the process 600 may be repeated every five minutes, ten minutes, hour, etc. In some examples, the process 600 of FIG. 6 may be performed in response to an indication that interference is being experienced between the access point(s) and mobile station(s) 120. For example, as mobile stations move with respect to the access point(s), the joint beamforming set may need to be modified, updated, etc. to account for the changing wireless environment.
  • FIG. 7 is an example communication diagram 700 representing communications between the example access point controller 102 of FIGS. 1 and/or 3, the example access points of FIGS. 1 and/or 4 and mobile stations to collect beamforming report(s).
  • the example communication diagram 700 corresponds to an example implementation of blocks 615 through 625 of FIG. 6.
  • the example process 700 of FIG. 7 identifies operations (e.g., machine readable instructions) that may be performed by an access point controller 102, a first access point 110, a second access point 1 12, a third access point 1 14, a first mobile station 121 , a second mobile station 122, and a third mobile station 125.
  • the communication diagram 700 represents communications that follow a sounding protocol that defines the order in which communications are to occur.
  • each access point collects beamforming reports from mobile stations identified in the JBF NDP announcement (see block 615 of FIG. 6) as associated with the particular access point.
  • the beamforming reports are later aggregated and a precoding matrix is generated. If, for example, the access point utilizes four antennas and a mobile station uses two antennas, the subsequent beamforming report from that mobile station would represent a compound channel dimension of 4x2.
  • the example access point controller 102 transmits a JBF NDP announcement (Block 702) to each of the access points 1 10, 1 12, 1 14.
  • the JBF NDP announcement instructs the access points to sequentially collect beamforming reports.
  • the first access point 110 is to emit a sounding message and collect beamforming reports
  • the second access point 1 12 is to emit a sounding message and collect beamforming reports
  • the third access point 114 is to emit a sounding message and collect beamforming reports, etc.
  • the second access point 1 12 does not transmit its sounding message until the first access point 1 12 has relayed its collected beamforming reports.
  • beamforming reports are collected on an access point by access point basis. That is, each access point sequentially requests beamforming reports from the mobile stations.
  • the first access point 1 10 transmits a null data packet to nearby the mobile stations 121, 122, 125.
  • the null data packet includes an instruction that causes the first mobile station 121 to provide a first beamforming report to the first access point 110.
  • the first beamforming report identifies, for example, signal strength(s) between the first access point 110 and the first mobile station 121.
  • the first example access point 110 requests a beamforming report from the second mobile station 122.
  • the second example mobile station provides a second beamforming report to the first access point 1 10.
  • the second example beamforming report identifies, for example, signal strength(s) between the first access point 110 and the second mobile station 122, based on the null data packet transmission received at the second mobile station 122.
  • the first example access point 110 requests a beamforming report from the third mobile station 125. (Block 712).
  • the third example mobile station 125 provides a third beamforming report to the first access point 1 10.
  • the third example beamforming report identifies, for example, signal strength(s) between the first access point 110 and the third mobile station 125, based on the null data packet transmission received at the third mobile station 125.
  • the example first access point 110 then relays the collected first, second, and third beamforming reports to the access point controller 102. (Block 716).
  • the second access point 112 transmits a null data packet to nearby the mobile stations 121, 122, 125.
  • the null data packet includes an instruction that causes the first mobile station 121 to provide a fourth beamforming report to the second access point 112.
  • the fourth beamforming report identifies, for example, signal strength(s) between the second access point 112 and the first mobile station 121.
  • the second access point 112 requests a beamforming report from the second mobile station 122. (Block 724).
  • the second example mobile station provides a fifth beamforming report to the second access point 112. (Block 726).
  • the fifth example beamforming report identifies, for example, signal strength(s) between the second access point 112 and the second mobile station 122, based on the null data packet transmission received at the second mobile station 122.
  • the second access point 112 requests a beamforming report from the third mobile station 125. (Block 728).
  • the third example mobile station 125 provides a sixth beamforming report to the second access point 112.
  • the sixth example beamforming report identifies, for example, signal strengths between the second access point 112 and the third mobile station 125, based on the null data packet transmission received at the third mobile station 125.
  • the example second access point 112 then relays the collected third, fourth, and fifth beamforming reports to the access point controller 102. (Block 732).
  • the third access point 114 transmits a null data packet to nearby the mobile stations 121, 122, 125.
  • the null data packet includes an instruction that causes the first mobile station 121 to provide a seventh beamforming report to the third access point 1 14.
  • the seventh beamforming report identifies, for example, signal strength(s) between the third access point 1 14 and the first mobile station 121.
  • the third access point 1 14 requests a beamforming report from the second mobile station 122. (Block 744).
  • the second example mobile station provides an eighth beamforming report to the third access point 114. (Block 746).
  • the eighth example beamforming report identifies, for example, signal strength(s) between the third access point 114 and the second mobile station 122, based on the null data packet transmission received at the second mobile station 122.
  • the third access point 1 14 requests a beamforming report from the third mobile station 125.
  • the third example mobile station 125 provides a ninth beamforming report to the third access point 1 14.
  • the ninth example beamforming report identifies, for example, signal strengths between the third access point 114 and the third mobile station 125, based on the null data packet transmission received at the third mobile station 125.
  • the example third access point 1 14 then relays the collected seventh, eighth, and ninth beamforming reports to the access point controller 102. (Block 752).
  • the example process then returns to FIG. 6, where the access point controller 102 analyzes the collected beamforming reports.
  • the beamforming reports are sequentially requested from the mobile stations.
  • the mobile stations can be instructed to provide their beamforming reports using orthogonal frequency division multiple access (OFDMA). That is, rather than polling each station individually for its beamforming report, the access point can send a trigger packet to the desired stations to request the beamforming report(s).
  • the stations to which the trigger packet was sent send their beamforming reports multiplexed in an OFDMA fashion.
  • details concerning the location and/or timing for feedback using an OFDMA approach are included in the JBF NDP announcement. Using an OFDMA approach reduces training overhead and latency.
  • a feedback report type field in the JBF NDP announcement indicates whether the mobile stations are to be instructed to transmit their feedback reports using OFDMA.
  • FIG. 8 is an example communication diagram 700 representing communications between the example access point controller 102 of FIGS. 1 and/or 3, the example access points of FIGS. 1 and/or 4 and mobile stations to collect beamforming report(s).
  • the example communication diagram 800 corresponds to an example implementation of blocks 615 through 625 of FIG. 6.
  • the example process 800 of FIG. 8 identifies operations (e.g., machine readable instructions) that may be performed by an access point controller 102, a first access point 1 10, a second access point 112, a third access point 1 14, a first mobile station 121, a second mobile station 122, and a third mobile station 125.
  • operations e.g., machine readable instructions
  • null data packet messages are transmitted by each of the access points, followed by the collection of beamforming reports.
  • mobile stations wait to receive all null data packet messages transmitted from all access points in the joint beamforming set, and then each access point requests beamforming reports for the compound channel from the mobile station. For example, if there were four access points in the joint beamforming set, each having four antennas, and the mobile station has two antennas, the compound channel has a dimension of 16x2.
  • the example access point controller 102 transmits a JBF NDP announcement (Block 802) to each of the access points 1 10, 1 12, 1 14.
  • the JBF NDP announcement instructs the access points to transmit null data packet messages, and then collect beamforming reports.
  • the first access point 1 10 is to emit a sounding message
  • the second access point 112 is to emit a sounding message
  • the third access point 1 14 is to emit a sounding message, etc., followed by collection of beamforming reports.
  • the beamforming reports are not collected until each of the access points have transmitted their null data packet messages.
  • the first access point 1 10 transmits a null data packet to nearby the mobile stations 121, 122, 125.
  • the null data packet includes an instruction that causes the mobile stations 121, 122, 125 to await multiple null data packet transmissions before providing a beamforming report.
  • the second access point 1 12 transmits its null data packet message (Block 812), followed by the third access point 1 14 transmitting its null data packet message (Block 814).
  • the first example access point 110 transmits a request to the first mobile station 121 to provide a first beamforming report.
  • the first mobile station 121 is primarily associated with the first access point 110, which results in the first access point 1 10 requesting the beamforming report from the first mobile station 121, as opposed to the second and/or third access points(s).
  • the first beamforming report identifies, for example, signal strength(s) between the first access point 1 10 and the first mobile station 121, between the second access point 112 and the first mobile station, and between the third access point 114 and the first mobile station 121.
  • the first example access point 1 10 relays the first beamforming report to the access point controller 102. (Block 822).
  • the second example access point 1 12 transmits a request to the second mobile station 122 to provide a second beamforming report.
  • the second mobile station 122 is primarily associated with the second access point 1 12, which results in the second access point 112 requesting the beamforming report from the second mobile station 122, as opposed to the first and/or third access points(s).
  • the second beamforming report identifies, for example, signal strength(s) between the first access point 1 10 and the second mobile station 122, between the second access point 112 and the second mobile station 122, and between the third access point 114 and the second mobile station 122.
  • the second example access point 112 relays the second beamforming report to the access point controller 102. (Block 828).
  • the third example access point 112 transmits a request to the third mobile station 125 to provide a third beamforming report.
  • the third mobile station 125 is primarily associated with the third access point 114, which results in the third access point 114 requesting the beamforming report from the third mobile station 125, as opposed to the first and/or second access points(s).
  • the third beamforming report identifies, for example, signal strength(s) between the first access point 110 and the third mobile station 125, between the second access point 112 and the third mobile station 125, and between the third access point 114 and the third mobile station 125.
  • the third example access point 114 relays the third beamforming report to the access point controller 102. (Block 834).
  • the example process then returns to FIG. 6, where the access point controller 102 analyzes the collected beamforming reports.
  • the mobile stations can be instructed to provide their beamforming reports using orthogonal frequency division multiple access (OFDMA).
  • OFDMA orthogonal frequency division multiple access
  • FIG. 9 is a diagram representing an example joint beamforming null data packet (JBF NDP) announcement 900.
  • the example JBF NDP message of the illustrated example of FIG. 9, includes a frame control segment 905 that identifies the announcement as a JBF NDP announcement.
  • the example NBF NDP message includes a RA field 910 and a TA field 915 that identify receive and/or transmit properties to be used during the subsequent operations that follow the transmission of a NDP message.
  • the example JBF NDP message of FIG. 9 includes a sounding sequence field 920 that indicates the sounding sequence that is to be used (e.g., whether the approach described in FIG. 7 or the approach described in FIG. 8 is to be used).
  • the example JBF NDP announcement of FIG. 9 includes a feedback report type message 925 which indicates whether or not feedback reports are to be transmitted using OFDMA.
  • the example JBF NDP announcement 900 of the illustrated example of FIG. 9 includes segments corresponding to each access point that is to be involved in the sounding process.
  • a first segment 928 corresponds to a first access point (e.g., APi).
  • the first segment 928 includes an access point identification field 930 that identifies the access point of the segment.
  • the first segment 928 includes mobile station fields 935, 940 that include mobile station identifiers identifying stations where the access point of the identified segment will be responsible for collection of beamforming reports.
  • a second segment 942 corresponds to a second access point (e.g., APK).
  • the second segment 942 includes an access point identification field 945 that identifies the access point of the segment.
  • the second segment 942 includes mobile station fields 950, 955 that include mobile station identifiers identifying stations where the access point of the identified segment will be responsible for collection of beamforming reports. While in the illustrated example of FIG. 9 two segments are shown corresponding to two access points, any number of segments corresponding to any number of access points may additionally or alternatively be used. Moreover, while two mobile station identification fields are shown per each segment of FIG. 9 (corresponding to two mobile stations per access point), any other number of mobile stations per access point may additionally or alternatively be used. Furthermore, the number of mobile station identifiers provided in connection with each segment may differ from one segment to another.
  • FIG. 10 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 7.
  • the example process 1000 of the illustrated example of FIG. 10 begins when the example communications processor 420 accesses a JBF NDP announcement transmitted by the example access point controller 102. (Block 1005).
  • the example beamforming report requester 450 analyzes the sounding sequence identified in the NDP announcement. (Block 1010). The analysis enables the example
  • the example beamforming report requester 450 to determine a sounding sequence (e.g., an order of access points) in which access points in the set of access points are to transmit their sounding messages.
  • the example beamforming report requester 450 waits based on the sounding sequence and the identifier of the access point. (Block 1015).
  • the example beamforming report requester 450 transmits, via the antenna array 440 a null data packet. (Block 1020).
  • the example null data packet instructs a first mobile station to provide a beamforming report to the access point 1 10.
  • the example beamforming report requester 450 the beamforming report from the first mobile station. (Block 1025).
  • the example beamforming report requester 450 determines whether any additional mobile stations are expected to transmit beamforming reports. (Block 1030). In the illustrated example of FIG. 10, the determination is based on a list of mobile stations provided in the JBF NDP announcement. However, any other approach to determining whether any additional mobile stations should provide beamforming reports may additionally or alternatively be used.
  • the example beamforming report requester 450 transmits a beamforming report pull request to the mobile station. (Block 1035). The beamforming report is then collected by the example beamforming report requester 450. (Block 1025). The example process of blocks 1025, 1030, and 1035 is repeated until no additional beamforming reports are to be collected (e.g., until block 1030 retums a result ofNO).
  • the example communications processor 420 then transmits the collected beamforming reports to the access point controller 102. (Block 1040).
  • beamforming reports are transmitted upon collection of all of the beamforming reports (e.g., after block 1030 returns a result of NO).
  • beamforming reports received from mobile stations may be transmitted individually.
  • the transmission of the individual beamforming reports is not delayed and is, instead, transmitted to the access point controller 102 upon receipt of the beamforming report from the mobile station.
  • the example process of FIG. 10 then terminates.
  • FIG. 1 1 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 8.
  • the example process 1100 of the illustrated example of FIG. 1 1 begins when the example communications processor 420 accesses a JBF NDP announcement transmitted by the example access point controller 102. (Block 1 105).
  • the example beamforming report requester 450 analyzes the sounding sequence identified in the NDP announcement. (Block 1 110). The analysis enables the example
  • beamforming report requester 450 to determine a sounding sequence (e.g., an order of access points) in which access points in the set of access points are to transmit their sounding messages.
  • a sounding sequence e.g., an order of access points
  • the example beamforming report requester 450 transmits, via the antenna array 440 a null data packet. (Block 1 112).
  • the example null data packet instructs a first mobile station to provide a beamforming report to the access point 1 10.
  • NDP messages are transmitted by all of the access points in the set of access points prior to collection of any beamforming reports.
  • the beamforming reports can take into consideration signal strengths from multiple access points. Using such an approach results in larger beamforming reports, but less processing time at the access point controller 102 to aggregate beamforming reports.
  • the example beamforming report requester 450 requests the beamforming report from a mobile station. (Block 1125). The example beamforming report is then collected from the mobile station. (Block 1130). The example beamforming report requester 450 determines whether any additional mobile stations are expected to transmit beamforming reports. (Block 1 135). In the illustrated example of FIG. 1 1, the determination is based on a list of mobile stations provided in the JBF NDP announcement.
  • any other approach to determining whether any additional mobile stations should provide beamforming reports may additionally or alternatively be used.
  • the example beamforming report requester 450 transmits a beamforming report pull request to the mobile station. (Block 1125). The example process of blocks 1125, 1130, and 1 135 is repeated until no additional beamforming reports are to be collected (e.g., until block 1 135 returns a result of NO).
  • the example communications processor 420 then transmits the collected beamforming reports to the access point controller 102. (Block 1 140).
  • beamforming reports are transmitted upon collection of all of the beamforming reports (e.g., after block 1 135 returns a result of NO).
  • beamforming reports received from mobile stations may be transmitted individually.
  • the transmission of the individual beamforming reports is not delayed and is, instead, transmitted to the access point controller 102 upon receipt of the beamforming report from the mobile station.
  • the example process of FIG. 11 then terminates.
  • FIG. 12 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point controller of FIGS. 1 and/or 3 to generate a joint beamforming matrix based on the collected beamforming reports.
  • the example process 1200 of the illustrated example of FIG. 8 corresponds to blocks 632 through 640 of the illustrated example of FIG. 6.
  • the example process 1200 of the illustrated example of FIG. 12 begins when the example beamforming report collector 320 collects beamforming reports from the access points in the set of wireless access points 109. (Block 1210).
  • the example beamforming report collector 320 stores the collected beamforming reports in the example beamforming report data store 330.
  • the collected beamforming reports may have been collected via either of the approaches disclosed in connection with FIGS. 7 or 8. If, for example the beamforming reports were collected using the approach disclosed in in FIG. 7, multiple beamforming reports will exist per mobile station (e.g., the first mobile station generates a beamforming report at blocks 706, 722, 742).
  • the example mobile station identifier 340 determines whether multiple beamforming reports exist per mobile station. (Block 1220). If the example mobile station identifier 340 determines that there are multiple beamforming reports per mobile station (Block 1220 returns a result of YES), the example mobile station identifier 340 aggregates beamforming reports associated with the same mobile station(s). (Block 1230). In some examples, different numbers of
  • beamforming reports are collected per mobile stations. For example, a first mobile station may provide two beamforming reports via two respective access points, while a second mobile station may provide a single
  • the example mobile station identifier 340 identifies mobile station(s) that are to be included in joint beamforming. (Block 1240). In the illustrated example of FIG. 12, all mobile stations that provided beamforming reports are included in joint beamforming. However, in some examples, fewer than all of the mobile stations are selected for joint beamforming. For example, the mobile station identifier 340 may select a mobile station for inclusion in joint beamforming when the beamforming report associated with the mobile station indicates that the mobile station is in wireless
  • the determination of whether the mobile station is in wireless communication range of the two or more access points is based on whether the wireless signal strengths between the mobile station and each of the respective access points is greater than or equal to a signal strength threshold. In some examples, other factors such as throughput, fairness, quality of service (QoS) priorities, etc. are considered when selecting the mobile stations for inclusion in joint beamforming. In examples disclosed herein, the maximum number of mobile stations is limited to the total number of antennas across all of the access points in the set of access points 109.
  • the example vector generator 350 generates a joint beamforming matrix. (Block 1250).
  • the joint beamforming matrix is stored in the example beamforming vector data store 360.
  • the joint beamforming matrix in contrast to traditional beamforming matrices that are used by a single access point, provides pre-coding matrices for multiple access points (e.g., the antenna arrays of each of those respective access points). That is, the joint beamforming matrix treats each of the antennas of each of the access points as components of a single multi-access point antenna array.
  • the example access point instructor 370 informs the access points of the joint beamforming matrix and the list of mobile stations that are to be included in joint beamforming. (Block 1260).
  • the example process 1200 the illustrated example of FIG. 12 then terminates.
  • the example process 1200 of the illustrated example of FIG. 12 may then be repeated at a later time to update and/or modify the joint beamforming matrix and/or list of mobile stations included in joint beamforming.
  • FIG. 13 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point to transmit a packet to a mobile station.
  • the example process 1300 of the illustrated example of FIG. 13 begins when the example network communicator 410 receives a packet for transmission to a mobile station.
  • the example communications processor 420 inspects the packet to determine the identity of the mobile station to which the packet is to be transmitted. (Block 1310).
  • the example communications processor 420 determines whether the mobile station is included in the joint beamforming set. (Block 1320). If the identified mobile station is not identified as a mobile station participating in joint beamforming (e.g., Block 1320 returns a result of NO), the example array controller 430 utilizes a local beamforming matrix to transmit the packet to the mobile station. (Block 1330).
  • Block 1320 If the identified mobile station is identified as a mobile station participating in joint beamforming (e.g., Block 1320 returns a result of YES), the example communications processor coordinates transmission of the packet to the mobile station with another access point(s), and transmits the data packet using the joint beamforming matrix. (Block 1340).
  • coordination of transmission is implemented using a timing and/or synchronization approach such as, for example, IEEE 802. IAS.
  • the example process 1300 of the illustrated example of FIG. 13 is repeated upon subsequent receipt of additional data packets for transmission to a mobile station.
  • FIG. 14 is a flowchart representative of example machine readable instructions which, when executed, cause the mobile station to estimate interference and apply equalization adjustments.
  • FIG. 10 is a flowchart representative of example machine readable instructions which, when executed, cause the example mobile station to estimate interference and apply equalization adjustments.
  • the example process 1400 of the illustrated example of FIG. 14 begins when the example wireless communicator 510 of the example mobile station accesses a long training field message transmitted by an access point. (Block 1410).
  • the long training field message is transmitted from every access point, is made to be mobile station specific, and is formed/multiplexed in the directions of its primary users (e.g., the mobile station).
  • the data transmission follows a legacy protocol (e.g., IEEE 802.1 lac, IEEE 802.1 lax, etc.), with the exception that training fields are transmitted in a mobile station specific (e.g., user-specific) fashion, are beamformed over the joint access point set, and are multiplexed in the directions of all mobile stations (e.g., users).
  • a legacy protocol e.g., IEEE 802.1 lac, IEEE 802.1 lax, etc.
  • training fields are transmitted in a mobile station specific (e.g., user-specific) fashion, are beamformed over the joint access point set, and are multiplexed in the directions of all mobile stations (e.g., users).
  • the example channel estimator 530 estimates interference received at the mobile station. (Block 1420).
  • each mobile station e.g., user
  • each mobile station is experiencing the same interference that it will receive during data transmission, as all access points in the joint beamforming set are transmitting a user specific long training field beamformed message towards their primary users.
  • the example channel estimator uses the estimated interference identified in block 1420 to apply equalization adjustments to the example wireless communicator 510 based on the estimated interference. (Block 1430).
  • the example process 1400 of the illustrated example of FIG. 14 may be repeated in response to subsequent long training field messages.
  • FIG. 15 is a block diagram of an example processor platform 1500 capable of executing the instructions of FIG. 6, 7, 8, and/or 12 to implement the example access point controller of FIGS. 1 and/or 3.
  • the processor platform 1500 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPadTM), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
  • a mobile device e.g., a cell phone, a smart phone, a tablet such as an iPadTM
  • PDA personal digital assistant
  • an Internet appliance e.g., a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of
  • the processor platform 1500 of the illustrated example includes a processor 1512.
  • the processor 1512 of the illustrated example is hardware.
  • the processor 1512 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
  • the hardware processor may be a semiconductor based (e.g., silicon based) device.
  • the processor 1512 implements the example beamforming report collector 320, the example mobile station identifier 340, the example vector generator 350, and the example access point instructor 370.
  • the processor 1512 of the illustrated example includes a local memory 1513 (e.g., a cache).
  • the processor 1512 of the illustrated example is in communication with a main memory including a volatile memory 1514 and a non-volatile memory 1516 via a bus 1518.
  • the volatile memory 1514 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device.
  • the non-volatile memory 1516 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1514, 1516 is controlled by a memory controller.
  • the processor platform 1500 of the illustrated example also includes an interface circuit 1520.
  • the interface circuit 1520 may be implemented by any type of interface standard, such as an Ethemet interface, a universal serial bus (USB), and/or a PCI express interface.
  • the example interface 1520 implements the example access point
  • one or more input devices are provided.
  • the input device(s) 1522 are connected to the interface circuit 1520.
  • the input device(s) 1522 permit(s) a user to enter data and/or commands into the processor 1512.
  • the input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
  • One or more output devices 1524 are also connected to the interface circuit 1520 of the illustrated example.
  • the output devices 1524 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers).
  • the interface circuit 1520 of the illustrated example thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.
  • the interface circuit 1520 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1526 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1526 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • DSL digital subscriber line
  • the processor platform 1500 of the illustrated example also includes one or more mass storage devices 1528 for storing software and/or data.
  • mass storage devices 1528 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
  • the coded instructions 1532 of FIGS. 6, 7, 8, and/or 12 may be stored in the mass storage device 1528, in the volatile memory 1514, in the non-volatile memory 1516, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
  • the example mass storage device 1528 of the illustrated example of FIG. 15 implements the example beamforming report data store 330 and the example beamforming vector data store 360.
  • FIG. 16 is a block diagram of an example processor platform 1600 capable of executing the instructions of FIGS. 6, 7, 8, 10, 11, and/or 13 to implement the example access point of FIGS. 1 and/or 4.
  • the processor platform 1600 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPadTM), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
  • a mobile device e.g., a cell phone, a smart phone, a tablet such as an iPadTM
  • PDA personal digital assistant
  • an Internet appliance e.g., a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other
  • the processor platform 1600 of the illustrated example includes a processor 1612.
  • the processor 1612 of the illustrated example is hardware.
  • the processor 1612 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
  • the hardware processor may be a semiconductor based (e.g., silicon based) device.
  • the processor 1612 implements the example communications processor 420, the example array controller 430, and the example beamforming report requester 450.
  • the processor 1612 of the illustrated example includes a local memory 1613 (e.g., a cache).
  • the processor 1612 of the illustrated example is in communication with a main memory including a volatile memory 1614 and a non-volatile memory 1616 via a bus 1618.
  • the volatile memory 1614 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device.
  • SDRAM Synchronous Dynamic Random Access Memory
  • DRAM Dynamic Random Access Memory
  • RDRAM RAMBUS Dynamic Random Access Memory
  • the non-volatile memory 1616 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1614, 1616 is controlled by a memory controller.
  • the processor platform 1600 of the illustrated example also includes an interface circuit 1620.
  • the interface circuit 1620 may be implemented by any type of interface standard, such as an Ethemet interface, a universal serial bus (USB), and/or a PCI express interface.
  • the example interface 1620 implements the example network communicator 410 and the example antenna array 440.
  • one or more input devices are provided.
  • the input device(s) 1622 are connected to the interface circuit 1620.
  • the input device(s) 1622 permit(s) a user to enter data and/or commands into the processor 1612.
  • the input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
  • One or more output devices 1624 are also connected to the interface circuit 1620 of the illustrated example.
  • the output devices 1624 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers).
  • the interface circuit 1620 of the illustrated example thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.
  • the interface circuit 1620 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1626 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1626 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • DSL digital subscriber line
  • the processor platform 1600 of the illustrated example also includes one or more mass storage devices 1628 for storing software and/or data.
  • mass storage devices 1628 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
  • the coded instructions 1632 of FIGS. 6, 7, 8, 10, 11, and/or 13 may be stored in the mass storage device 1628, in the volatile memory 1614, in the non-volatile memory 1616, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
  • FIG. 17 is a block diagram of an example processor platform 1700 capable of executing the instructions of FIGS. 6, 7, 8, and/or 14 to implement the example mobile station of FIGS. 1 and/or 5.
  • the processor platform 1700 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPadTM), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
  • a mobile device e.g., a cell phone, a smart phone, a tablet such as an iPadTM
  • PDA personal digital assistant
  • an Internet appliance e.g., a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other
  • the processor platform 1700 of the illustrated example includes a processor 1712.
  • the processor 1712 of the illustrated example is hardware.
  • the processor 1712 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
  • the hardware processor may be a semiconductor based (e.g., silicon based) device.
  • the processor 1712 implements the example beamforming report generator 520, the example channel estimator 530, and the example native mobile station functionality 550.
  • the processor 1712 of the illustrated example includes a local memory 1713 (e.g., a cache).
  • the processor 1712 of the illustrated example is in communication with a main memory including a volatile memory 1714 and a non-volatile memory 1716 via a bus 1718.
  • the volatile memory 1714 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device.
  • the non-volatile memory 1716 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1714, 1716 is controlled by a memory controller.
  • the processor platform 1700 of the illustrated example also includes an interface circuit 1720.
  • the interface circuit 1720 may be implemented by any type of interface standard, such as an Ethemet interface, a universal serial bus (USB), and/or a PCI express interface.
  • the example interface circuit 1720 of the illustrated example of FIG. 17 implements the example wireless communicator 510.
  • one or more input devices are provided.
  • the input device(s) 1722 are connected to the interface circuit 1720.
  • the input device(s) 1722 permit(s) a user to enter data and/or commands into the processor 1712.
  • the input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
  • One or more output devices 1724 are also connected to the interface circuit 1720 of the illustrated example.
  • the output devices 1724 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers).
  • the interface circuit 1720 of the illustrated example thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.
  • the interface circuit 1720 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1726 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1726 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • DSL digital subscriber line
  • the processor platform 1700 of the illustrated example also includes one or more mass storage devices 1728 for storing software and/or data.
  • mass storage devices 1728 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
  • the coded instructions 1732 of FIGS. 6, 7, 8, and/or 14 may be stored in the mass storage device 1728, in the volatile memory 1714, in the non-volatile memory 1716, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
  • example methods, apparatus and articles of manufacture have been disclosed that enable joint beamforming in a wireless network. For example, by collecting beamforming reports from multiple access points and the mobile stations that utilize those access points, a set of access points, each having their own antenna array capable of beamforming, can be treated as one multi-access point antenna array. A beamforming matrix can thus be generated that corresponds to the multi-access point antenna array, and can be applied to more efficiently transmit beamformed communications from one or more access point(s) in the multi-access point array to a given mobile station. When multiple access points are able to work in connection with each other to transmit data to a mobile station, increased bandwidth and/or data rates can be achieved.
  • Example 1 includes an apparatus to enable joint beamforming in a wireless network, the apparatus comprising, a beamforming report collector to collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, a vector generator to generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station, and an access point instructor to inform the first access point and the second access point of the joint beamforming matrix.
  • a beamforming report collector to collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point
  • a vector generator to generate a joint beamforming matrix based on the beamforming report
  • the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point
  • the joint beamforming matrix
  • Example 2 includes the apparatus of example 1, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the beamforming report collector is further to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, the beamforming report collector to aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the vector generator generates the joint beamforming matrix based on the aggregated beamforming report.
  • the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point
  • the beamforming report collector is further to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point
  • the beamforming report collector to aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report
  • the vector generator generates the joint beamforming matrix based on the aggregated beamforming report.
  • Example 3 includes the apparatus of example 1, further including a mobile station identifier to determine that the first mobile station is to participate in joint beamforming.
  • Example 4 includes the apparatus of example 3, wherein the mobile station identifier is to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
  • Example 5 includes the apparatus of example 1, wherein the beamforming report collector is to establish a joint beamforming access point set representing the first access point and the second access point.
  • Example 6 includes the apparatus any of examples 1 through 5, wherein the beamforming report collector is to transmit a joint beamforming null data packet message to the first access point and the second access point.
  • Example 7 includes the apparatus of example 6, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
  • Example 8 includes the apparatus of example 7, wherein the channel sounding messages are null data packet messages.
  • Example 9 includes a non-transitory computer readable medium comprising instructions which, when executed, cause an access point controller to at least collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station, and inform the first access point and the second access point of the joint beamforming matrix.
  • Example 10 includes the non-transitory computer readable medium of example 9, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the instructions, when executed, cause the access point controller to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, and aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the joint beamforming matrix is generated based on the aggregated beamforming report.
  • the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point
  • the instructions when executed, cause the access point controller to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, and aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the joint beamforming matrix is generated based on the aggregated beamforming report.
  • Example 11 includes the non-transitory computer readable medium of example 9, wherein the instructions, when executed, cause the access point controller to determine that the first mobile station is to participate in joint beamforming.
  • Example 12 includes the non-transitory computer readable medium of example 11, wherein the instructions, when executed, cause the access point controller to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
  • Example 13 includes the non-transitory computer readable medium of example 9, wherein the instructions, when executed, cause the access point controller to establish a joint beamforming access point set representing the first access point and the second access point.
  • Example 14 includes the non-transitory computer readable medium of any of examples 9 through 13, wherein the instructions, when executed, cause the access point controller to transmit a joint beamforming null data packet message to the first access point and the second access point.
  • Example 15 includes the non-transitory computer readable medium of example 14, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
  • Example 16 includes the non-transitory computer readable medium of example 15, wherein the channel sounding messages are null data packet messages.
  • Example 17 includes a method to enable joint beamforming in a wireless network, the method comprising collecting a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, generating, by executing an instruction with a processor, a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station, and informing the first access point and the second access point of the joint beamforming matrix.
  • Example 18 includes the method of example 17, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and further including collecting a second beamforming report identifying signal strengths between the first mobile station and the second access point, and aggregating the first beamforming report and the second beamforming report to form an aggregated beamforming report, the joint beamforming matrix based on the aggregated beamforming report.
  • the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and further including collecting a second beamforming report identifying signal strengths between the first mobile station and the second access point, and aggregating the first beamforming report and the second beamforming report to form an aggregated beamforming report, the joint beamforming matrix based on the aggregated beamforming report.
  • Example 19 includes the method of example 17, further including determining that the first mobile station is to participate in joint beamforming.
  • Example 20 includes the method of example 19, wherein the determination that mobile station identifier is to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
  • Example 21 includes the method of example 17, wherein the beamforming report collector is to establish a joint beamforming access point set representing the first access point and the second access point.
  • Example 22 includes the method any of examples 17 through 21, wherein the beamforming report collector is to transmit a joint beamforming null data packet message to the first access point and the second access point.
  • Example 23 includes the method of example 22, wherein the collaborative beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
  • Example 24 includes the method of example 23, wherein the channel sounding messages are null data packet messages.
  • Example 25 includes the method of example 17, further including performing channel estimation using wireless signals produced based on the joint beamforming matrix.
  • Example 26 includes an apparatus to enable joint beamforming in a wireless network, the apparatus comprising, means for collecting a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, means for generating a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile stationm, and means for informing the first access point and the second access point.
  • Example 27 includes the apparatus of example 26, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the collecting means is further to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, the collecting means to aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the generating means is to generate the joint beamforming matrix based on the aggregated beamforming report.
  • Example 28 includes the apparatus of example 26, further including mobile station identification means for determining that the first mobile station is to participate in joint beamforming.
  • Example 29 includes the apparatus of example 28, wherein the mobile station identification means is to determine that the first mobile station is to participate in joint beamforming based on the
  • Example 30 includes the apparatus of example 25, wherein the collecting means is to establish a joint beamforming access point set representing the first access point and the second access point.
  • Example 31 includes the apparatus any of examples 26 through 30, wherein the collecting means is to transmit a joint beamforming null data packet message to the first access point and the second access point.
  • Example 32 includes the apparatus of example 31, wherein the collaborative beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
  • Example 33 includes the apparatus of example 32, wherein the channel sounding messages are null data packet messages.

Abstract

Methods, apparatus, systems and articles of manufacture to enable joint beamforming in a wireless network are disclosed. An example apparatus includes a beamforming report collector to collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point. The example apparatus includes a vector generator to generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station. The example apparatus includes an access point instructor to inform the first access point and the second access point of the joint beamforming matrix.

Description

METHODS AND APPARATUS TO ENABLE JOINT BEAMFORMING IN A WIRELESS NETWORK
FIELD OF THE DISCLOSURE
[0001] This disclosure relates generally to wireless networking, and, more particularly, to methods and apparatus to enable joint beamforming in a wireless network.
BACKGROUND
[0002] Wireless networks enable devices to communicate with other systems such as, for example, the Internet. Access to such wireless networks is provided by one or more access points (APs). In areas where there is a high density of users of mobile devices such as stadiums, conference halls, etc., multiple access points may be installed to facilitate the larger area of coverage and/or the larger number of expected devices.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] FIG. 1 is diagram of an example environment of use implemented in accordance with the teachings of this disclosure to enable joint beamforming in a wireless network.
[0004] FIG. 2 is a diagram of an example multi access point antenna array.
[0005] FIG. 3 is a block diagram of an example implementation of the example access point controller of FIG. 1.
[0006] FIG. 4 is a block diagram of an example implementation of the example access point of FIG. 1.
[0007] FIG. 5 is a block diagram of an example implementation of the example mobile station of FIG. 1.
[0008] FIG. 6 is an example communication diagram representing communications among the example access point controller, the example access point(s), and the example mobile station(s) of FIGS. 1, 2, 3, 4, and/or 5. [0009] FIG. 7 is an example communication diagram representing communications between the example access point controller, the example access point(s), and the example mobile station(s) of FIGS. 1, 2, 3, 4, and/or 5 to collect beamforming reports.
[0010] FIG. 8 is an example communication diagram representing communications between the example access point controller, the example access point(s), and the example mobile station(s) of FIGS. 1, 2, 3, 4, and/or 5 to collect beamforming reports.
[0011] FIG. 9 is a diagram representing an example joint beamforming null data packet announcement.
[0012] FIG. 10 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 7.
[0013] FIG. 11 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 8.
[0014] FIG. 12 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point controller of FIGS. 1 and/or 3 to generate a joint beamforming matrix based on the collected beamforming reports.
[0015] FIG. 13 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point to transmit a packet to a mobile station.
[0016] FIG. 14 is a flowchart representative of example machine readable instructions which, when executed, cause the mobile station to estimate interference and apply equalization adjustments.
[0017] FIG. 15 is a block diagram of an example processor platform 1500 capable of executing the instructions of FIG. 6, 7, 8, and/or 12 to implement the example access point controller of FIGS. 1 and/or 3. [0018] FIG. 16 is a block diagram of an example processor platform 1600 capable of executing the instructions of FIGS. 6, 7, 8, 10, 11 , and/or 13 to implement the example access point of FIGS. 1 and/or 4.
[0019] FIG. 17 is a block diagram of an example processor platform 1700 capable of executing the instructions of FIGS. 6, 7, 8, and/or 14 to implement the example mobile station of FIGS. 1 and/or 5.
[0020] The figures are not to scale. Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.
DETAILED DESCRIPTION
[0021] In areas where high density of users of mobile devices exists such as stadiums, conference halls, etc., additional wireless access points are utilized to facilitate providing wireless service to more stations. Unfortunately, existing wireless standards do not benefit from additional access points operating on a same wireless channel. In such existing wireless systems, only one access point is allowed to communicate with a mobile station at a given time. In existing systems, once two links share a same channel, the access time is divided between those two links, thereby reducing throughput by more than 50%, significantly increasing latency and reducing link reliability. For example, while a first access point is transmitting data to and/or receiving data from a first device using a first wireless channel, other nearby access points are not able to communicate with other nearby mobile stations using the first wireless channel. To benefit from such a dense deployment of access points, the network should allow multiple access points to transmit at the same time and same channel. When, for example, wireless channels are shared, the overall system throughput is increased.
[0022] Example approaches disclosed herein enable multi-access point transmission at a same time. To facilitate such transmissions, channel sounding between multiple users and multiple access points, in addition to joint multiuser beamforming for interference alignment between multiple mobile station and access point pairs is utilized. [0023] Such transmissions are enabled by the use of beamforming. When using beamforming techniques, wireless access points may utilize one or more antennas in an antenna array to achieve spatial selectivity when transmitting a wireless signal. That is, for an access point utilizing an antenna array, one or more antennas in the array may be used to transmit the wireless signal directly towards a mobile station, as opposed to transmitting the wireless signal omnidirectionally. In examples disclosed herein, multiple access points are treated as a joint beamforming set and form a multiple-access point antenna array. That is, instead of each antenna applying beamforming to transmit data to a mobile station, multiple access points utilize beamforming to simultaneously transmit to the mobile station, thereby increasing the signal strength, reliability, and/or throughput at the mobile station.
[0024] In examples disclosed herein, multiple access points are identified as participating in a joint beamforming set. Each of the access points in the joint beamforming set collect and relay beamforming reports to a central controller. In examples disclosed herein, the central controller enables exchanges of information among multiple access points for joint
beamforming. The central controller transmits a joint beamforming null data packet announcement to the access points to initiate collection of
beamforming reports. Beamforming reports are collected from the stations by their corresponding access points, and are reported to the central controller for analysis. In examples disclosed herein, beamforming reports are collected in response to a null data packet (NDP) transmission. In examples disclosed herein, a joint beamforming (JBF) NDP data structure is utilized that instructs the access points in the joint access point set as to how to transmit their NDP transmissions and/or channel sounding messages (e.g., in a sequential, time division multiple access (TDMA) fashion). In example approaches disclosed herein, the JBF NDP data structure defines the order in which the access points are to transmit their NDP messages.
[0025] The channel from each mobile station to its corresponding access point(s) is measured and one or more beamforming feedback reports are transmitted to the access point(s) and/or central controller. Based on the exchange outlined above, the beamforming feedback reports are used to calculate a pre-coding beamforming matrix that is to be applied to the joint beamforming set. This enables multiple access points on the same channel to deliver their packets concurrently to multiple mobile stations, without interfering with each other. As a result, the network throughput is scaled with the number of devices, delivering as many concurrent streams/packets on a single channel, as the total number of antennas on all access points.
[0026] FIG. 1 is diagram of an example environment of use 100 implemented in accordance with the teachings of this disclosure to enable joint beamforming in a wireless network. The example environment of use 100 of the illustrated example of FIG. 1 includes an access point controller 102 in communication with a network 105. Via the network 105, the example access point controller 102 communicates with a set of wireless access points 109. In the illustrated example of FIG. 1, the example set of wireless access points 109 includes a first wireless access point 1 10, a second wireless access point 1 12, and a third wireless access point 1 14. In the illustrated example of FIG. 1 , the set of wireless access points 109 provides a wireless service (e.g., Wi-Fi) for one or more mobile stations 120.
[0027] In the illustrated example of FIG. 1, a first mobile station 121 communicates with the first wireless access point 110, a second mobile station 122 communicates with the first wireless access point 110, a third mobile station 123 communicates with the second wireless access point 1 12, a fourth mobile station 124 communicates with the third wireless access point 114, and a fifth mobile station 125 communicates with the third wireless access point 1 14. In the illustrated example of FIG. 1 each of the mobile stations 121 , 122, 123, 124, 125 primarily communicates with a single one of the wireless access points 109. In examples disclosed herein, the example wireless access points 1 10, 1 12, 1 14 utilize beamforming to communicate directly with their corresponding mobile station(s). In existing systems, when a first wireless channel is used to communicate from a first access point to a first mobile station (e.g., the first wireless access point 1 10 communicates with the first mobile station 121), that first channel cannot be reused by the second access point at the same time.
[0028] In examples disclosed herein, the wireless resources (e.g., a wireless channel) may be simultaneously used by one or more access points when communicating with their corresponding mobile stations. The example access points 110, 112, 114 are treated as a joint beamforming set (e.g., a multiple access point antenna array). Thus, while the first wireless access point 110 may communicate on a first channel with the first mobile station 121, the second wireless access point 112 may simultaneously communicate with the first example mobile station 121 using the first channel (e.g., the same channel is used by multiple access points to communicate with the mobile station). Such an approach improves signal strength, reliability, throughput, etc.
[0029] The example access point controller 102 of the illustrated example of FIG. 1 controls joint beamforming operations of the example set of wireless access points 109. In some examples, the set of wireless access points is referred to as a joint beamforming access point set. To control such operations, the example the access point controller 102 identifies the wireless access points 110, 112, 114 as being wireless access points included in the set of wireless access points 109. The example access point controller 102 directs each of the wireless access points 110, 112, 114 to transmit one or more sounding message(s) (e.g., a null data packet) to their corresponding mobile stations 120. Beamforming reports indicating signal strengths associated with receipt of the sounding message(s) are collected and reported to the access point controller 102. The access point controller 102 processes the
beamforming reports to create a joint beamforming vector (e.g., a
beamforming vector that can be applied across multiple access points) and a list of mobile stations participating in joint beamforming. The example access point controller 102 communicates such information to the wireless access points 110, 112, 114 such that the wireless access points 110, 112, 114 may identify whether simultaneous communication is allowed when transmitting data to a mobile station. An example implementation of the access point controller 102 is further described in connection with FIG. 3.
[0030] In the illustrated example of FIG. 1, the example access point controller 102 is represented as a separate element from the wireless access points 110, 112, 114. In some examples, the example access point controller 102 may be implemented by one of the wireless access points 110, 112, 114. That is, one of the wireless access points 110, 112, 114 may act as the controller for itself and the other wireless access points.
[0031] In some examples, the access point controller 102 is remote from the set of wireless access points 109. That is, while the example set of wireless access points may provide wireless services for a facility (e.g., a single geographic location), the example access point controller 102 may be implemented as a server operated at a facility separate from the set of wireless access points 109 (e.g., in the cloud).
[0032] The example network 105 of the illustrated example of FIG. 1 facilitates communication between the access point controller 102 and the wireless access points 110, 112, 114 in the set of wireless access points 109. In examples disclosed herein, the network 105 is implemented as an Ethernet network. However, the access point controller 102 may communicate with the wireless access points 110, 112, 114 and any other fashion. In some examples, the network 105 may be implemented by the Internet.
[0033] The example set of wireless access points 109 of the illustrated example of FIG. 1 includes multiple wireless access points. In examples disclosed herein, the example set of wireless access points 109 are access points that are utilized together (e.g., that provide a same wireless network and/or wireless service to the mobile stations 120). In some examples, the wireless access points 110, 112, 114 communicate using a same service set identifier (SSID).
[0034] In the illustrated example of FIG. 1, three wireless access points 110, 112, 114 are included in the set of wireless access points 109. However, any number of wireless access points may additionally or alternatively be used. Moreover, in the illustrated example of FIG. 1, the wireless access points are depicted in a linear fashion (e.g., in a line).
However, the wireless access points may be arranged in any fashion. In the illustrated example of FIG. 1 , the wireless access points 1 10, 1 12, 1 14 are a same type of wireless access point (e.g., being of a same make and model, and/or having similar specifications). However, in some examples, the wireless access points may be different from each other. That is, multiple different makes and/or models of wireless access points may be utilized in combination with each other.
[0035] In examples disclosed herein, the example wireless access points 110, 112, 114 are owned and/or operated by an entity providing a wireless service. For example, an entity operating a venue (e.g., a sports arena) may own and/or operate the wireless access points 110, 1 12, 114 to provide wireless services to attendees of the venue. In some examples, the access point controller 102 is owned and/or operated by an entity other than the entity operating the venue.
[0036] The example mobile stations 120 of the illustrated example of FIG. 1 are implemented as mobile devices such as, for example smart phones. However, any other device that may communicate with an access point may additionally or alternatively be used such as, for example, a tablet, a laptop, a desktop, an Internet of Things (IOT) device, etc. In examples disclosed herein, the mobile stations 120 are provided by users of the corresponding mobile stations. That is, the mobile stations 120 are not necessarily provided, operated, and/or owned by the same entity as the wireless access points 109. In examples disclosed herein, the example mobile stations 120 are
implemented by different types of devices. For example, while the first mobile station 121 may be implemented by an Apple iPhone, the second example mobile station 122 may be implemented by a Samsung Galaxy S8.
[0037] In examples disclosed herein, the example mobile stations 120 communicate with the example wireless access points 109 using Wi-Fi.
However, any other past, present, and/or future wireless communication technologies may additionally or alternatively be used such as, for example Bluetooth, cellular communications, etc. [0038] FIG. 2 is a diagram of an example multi access point antenna array 201. In the illustrated example of FIG. 2, two access points 206, 208 are shown as being a part of the example multi access point antenna array 201. However, any number of access points may additionally or alternatively be included in the example multi access point antenna array 201. In the illustrated example of FIG. 2, four mobile stations 121, 122, 123, 124 are shown. However, any number of mobile stations may additionally or alternatively be used. In the illustrated example of FIG. 2, the mobile stations are not treated as having particular associations with any single access point in the multi access point antenna array 201. Because joint beamforming is used, multiple access points might communicate with a given mobile station.
[0039] FIG. 3 is a block diagram of an example implementation of the example access point controller 102 of FIG. 1. The example access point controller 102 of the illustrated example of FIG. 3 includes an access point communicator 310, a beamforming report collector 320, a beamforming report data store 330, a mobile station identifier 340, a vector generator 350, a beamforming vector data store 360, and an access point instructor 370.
[0040] The example access point communicator 310 of the illustrated example of FIG. 3 enables the access point controller 102 to communicate with the access points 109 via the network 105. In examples disclosed herein, the example access point communicator 310 is implemented using an Ethernet port. However, any other past, present, and/or future approaches to facilitating communication between the access point controller 102 and the access points 109 may additionally or alternatively be used. In examples disclosed herein, the example access point communicator 310 transmits a joint beamforming null data packet (JBF NDP) message to the set of access points 109 and, in response, receives one or more beamforming reports. The example access point communicator 310 also transmits, to the access points, an identification mobile stations that are participating in joint beamforming and a joint beamforming vector.
[0041] The example beamforming report collector 320 of the illustrated example of FIG. 3 instructs the example access point communicator 310 to request beamforming reports from the set of wireless access points 109. The beamforming reports are then collected by the example beamforming report collector 320 and are stored in the example beamforming report data store 330, and are later utilized for calculation of precoding matrices and for identifying mobile stations that are to participate in joint beamforming.
[0042] The example beamforming report data store 330 of the illustrated example of FIG. 3 is implemented by any memory, storage device and/or storage disc for storing data such as, for example, flash memory, magnetic media, optical media, etc. Furthermore, the data stored in the example beamforming report data store 330 may be in any data format such as, for example, binary data, comma delimited data, tab delimited data, structured query language (SQL) structures, etc. While in the illustrated example the beamforming report data store 330 is illustrated as a single element, the example beamforming report data store 330 and/or any other data storage elements described herein may be implemented by any number and/or type(s) of memories. In the illustrated example of FIG. 3, the example beamforming report data store 330 stores beamforming reports collected by the beamforming report collector 320.
[0043] The example mobile station identifier 340 of the illustrated example of FIG. 3 analyzes the beamforming reports stored in the example beamforming report data store 330 to identify access point and mobile station pairs. In examples disclosed herein, the mobile station identifier 340 identifies mobile station(s) that are to utilize and/or otherwise participate in joint beamforming.
[0044] The example vector generator 350 of the illustrated example of FIG. 3 generates a multi access point pre-coding matrix (e.g., a joint beamforming vector). In examples disclosed herein, such generation is based on the beamforming reports stored in the example beamforming report data store 330. The example vector generator 350 stores the generated pre-coding matrix in the beamforming vector data store.
[0045] The example beamforming vector data store 360 of the illustrated example of FIG. 3 is implemented by any memory, storage device and/or storage disc for storing data such as, for example, flash memory, magnetic media, optical media, etc. Furthermore, the data stored in the example beamforming vector data store 360 may be in any data format such as, for example, binary data, comma delimited data, tab delimited data, structured query language (SQL) structures, etc. While in the illustrated example the beamforming vector data store 360 is illustrated as a single element, the example beamforming vector data store 360 and/or any other data storage elements described herein may be implemented by any number and/or type(s) of memories. In the illustrated example of FIG. 3, the example beamforming vector data store 360 stores the beamforming matrix generated by the set identified by the mobile station identifier 340.
[0046] The example access point instructor 370 of the illustrated example of FIG. 3 instructs the access point communicator 310 to inform the set of access points 109 of the beamforming matrix set stored in the example beamforming vector data store 360 and the list of mobile stations participating in joint beamforming.
[0047] FIG. 4 is a block diagram of an example implementation of the example access point 110 of FIG. 1. The example access point 1 10 of the illustrated example of a FIG. 4 includes a network communicator 410, a communications processor 420, and array controller 430, and antenna array 440, and a beamforming report requester 450. In operation, the example network communicator 410 receives information from the network 105 such as, for example, data packets. Such data packets may be destined for a mobile station, and the example communications processor 420 may cause the antenna array 440 to transmit the data packets to the mobile station. The antenna array 440 operates in accordance with instructions and/or
configurations applied by the array controller 430. The example beamforming report requester 450 causes the antenna array 440 to transmit information to the mobile station such as, for example, a null data packet, a beamforming report request, etc.
[0048] The example network communicator 410 of the illustrated example of FIG. 4 is implemented by an Ethernet port. The example networking indicator 410 enables communication from the access point 1 10 to the network 105. While an Ethernet port is used in the illustrated example of FIG. 4, any other approach to facilitating communication between the example the access point 110 in the example network 105 may additionally or alternatively be used. For example, the network communicator 410 may be implemented using one or more wired and wireless protocols, communication systems, etc.
[0049] The example communications processor 420 of the illustrated example of FIG. 4 analyzes communications received from the network communicator 410 to determine whether the communications are directed to the access point 110. In some examples, the information received from the example network includes information from the example access point controller 102. In some examples, the communications transmitted to the access point 110 include a joint beamforming null data packet messages (JBF NDP), a joint beamforming pre-coding matrix, and/or identifications of the mobile stations participating in joint beamforming.
[0050] The example array controller 430 of the illustrated example of FIG. 4 identifies a pre-coding matrix (e.g., the pre-coding matrix provided by the access point controller 102) that enables the antenna array 440 to directionally transmit data towards a particular mobile station (e.g., uni- directionally as opposed to omni-directionally). The example array controller 430 applies gain values to the antenna array 440 when transmitting to a particular mobile station based on the pre-coding matrix.
[0051] The example antenna array 440 of the illustrated example of FIG. 4 includes one or more antennas for wireless transmission of data to and/or from the mobile stations. In examples disclosed herein the antennas included in the antenna array 440 are directional antennas and, thus, transmit data directionally. When, for example multiple antennas are used to transmit data, the direction in which data is transmitted can be adjusted. The example antenna array 440 transmits data to wireless stations according to a beamforming pre-coding matrix. In examples disclosed herein, antenna arrays from each of the access points may be utilized in parallel to transmit data to a mobile station participating in joint beamforming. When transmitting data to a particular mobile station, the antenna array 440 (and/or antenna arrays across multiple access points) can transmit directly to that mobile station, as opposed to transmitting omni-directionally.
[0052] The example beamforming report requester 450 the illustrated example of FIG. 4 transmits a null data packet (NDP) message via the example antenna array 440. The null data packet message provides information to mobile stations in proximity of the access point for preparation of beamforming reports. The example beamforming report requester 450 requests, via the antenna array 440, beamforming reports to be transmitted back to the access point 110. The example beamforming report requester 450 relays, via the network communicator 410, the received beamforming reports to the example access point controller 102.
[0053] FIG. 5 is a block diagram of an example implementation of the example mobile station 121 of FIG. 1. The example mobile station 121 includes a wireless communicator 510, a beamforming report generator 520, a channel estimator 530, and native mobile station functionality 550.
[0054] The example wireless communicator 510 of the illustrated example of FIG. 5 enables the mobile station to communicate with one or more access point(s) 1 10. In examples disclosed herein, the wireless communicator 510 communicates using a WiFi protocol. However, any other past, present, and/or future protocol(s) and/or communication system(s) may additionally or alternatively be used.
[0055] The example beamforming report generator 520 of the illustrated example of FIG. 5 monitors for null data packet (NDP) messages from the access point(s), and prepares beamforming report(s) indicating properties and/or characteristics of the NDP messages (e.g., a signal strength of the received NDP message). The example beamforming report generator 520 transmits the beamforming report(s) to the access point that requested the beamforming report.
[0056] The example channel estimator 530 of the illustrated example of FIG. 5 receives long training field message(s) from one or more access points and estimates channel interference encountered at the mobile station when receiving the LTF message(s). The example channel estimator 530 applies gain modifications to tune the wireless communicator 510.
[0057] The example native mobile station functionality 550 of the illustrated example of FIG. 5 implements intended operations of the example mobile station 121. For example, the native mobile station functionality 550 may implement an operating system, an app, a program, etc. In examples disclosed herein, while the native mobile station functionality 550 is not directly involved in the wireless communication between the mobile station 121 and the access points, the example native mobile station functionality 550 benefits from the increased throughput and/or reduced latency encountered as a result of the use of the example approaches disclosed herein.
[0058] While an example manner of implementing the example access point controller 102 of FIG. 1 is illustrated in FIG. 3, one or more of the elements, processes and/or devices illustrated in FIGS. 1 and/or 3 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. While an example manner of implementing the example access point 110 of FIG. 1 is illustrated in FIG. 4, one or more of the elements, processes and/or devices illustrated in FIG. 1 and/or 4 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. While an example manner of implementing the example mobile station 121 of FIG. 1 is illustrated in FIG. 5, one or more of the elements, processes and/or devices illustrated in FIGS. 1 and/or 5 may be combined, divided, rearranged, omitted, eliminated and/or implemented in any other way. Further, the example access point communicator 310, the example beamforming report collector 320, the example mobile station identifier 340, the example vector generator 350, the example access point instructor 370, and/or, more generally, the example access point controller 102 of FIGS. 1 and/or 3, the example network communicator 410, the example communications processor 420, the example array controller 430, the example antenna array 440, the example beamforming report requester 450, and/or, more generally, the example access point 110 of FIGS. 1 and/or 4, the example wireless communicator 510, the example beamforming report generator 520, the example channel estimator 530, the example native mobile station
functionality 550, and/or, more generally, the example mobile station 121 of FIGS. 1 and/or 5 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example access point communicator 310, the example beamforming report collector 320, the example mobile station identifier 340, the example vector generator 350, the example access point instructor 370, and/or, more generally, the example access point controller 102 of FIGS. 1 and/or 3, the example network communicator 410, the example communications processor 420, the example array controller 430, the example antenna array 440, the example beamforming report requester 450, and/or, more generally, the example access point 110 of FIGS. 1 and/or 4, the example wireless communicator 510, the example beamforming report generator 520, the example channel estimator 530, the example native mobile station
functionality 550, and/or, more generally, the example mobile station 121 of FIGS. 1 and/or 5 could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example access point communicator 310, the example beamforming report collector 320, the example mobile station identifier 340, the example vector generator 350, the example access point instructor 370, and/or, more generally, the example access point controller 102 of FIGS. 1 and/or 3, the example network communicator 410, the example communications processor 420, the example array controller 430, the example antenna array 440, the example
beamforming report requester 450, and/or, more generally, the example access point 1 10 of FIGS. 1 and/or 4, the example wireless communicator 510, the example beamforming report generator 520, the example channel estimator 530, the example native mobile station functionality 550, and/or, more generally, the example mobile station 121 of FIGS. 1 and/or 5 is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. including the software and/or
firmware. Further still, the example access point controller 102, the example access point 110, and/or the example mobile station 121 of FIGS. 1, 3, 4, and/or 5 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in FIGS. 1, 3, 4, and/or 5, and/or may include more than one of any or all of the illustrated elements, processes and devices.
[0059] Flowcharts representative of example machine readable instructions for implementing the example access point controller 102 of FIGS. 1 and/or 3 are shown in FIG. 6, 7, 8, and/or 12. In these example(s), the machine readable instructions comprise a program(s) for execution by a processor such as the processor 1512 shown in the example processor platform 1500 discussed below in connection with FIG. 15. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1512, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1512 and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowchart illustrated in FIG. 6, 7, 8, and/or 12, many other methods of implementing the example access point controller 102 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational- amplifier (op-amp), a logic circuit, etc.) structured to perform the
corresponding operation without executing software or firmware. [0060] Flowcharts representative of example machine readable instructions for implementing the example access point 110 of FIGS. 1 and/or 4 are shown in FIGS. 6, 7, 8, 10, 11, and/or 13. In these examples, the machine readable instructions comprise a program(s) for execution by a processor such as the processor 1612 shown in the example processor platform 1600 discussed below in connection with FIG. 16. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1612, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1612 and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowchart illustrated in FIG. 9, many other methods of implementing the example access point 110 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational-amplifier (op-amp), a logic circuit, etc.) structured to perform the corresponding operation without executing software or firmware.
[0061] Flowcharts representative of example machine readable instructions for implementing the example mobile station 121 of FIGS. 1 and/or 5 are shown in FIGS. 6, 7, 8, and/or 14. In these examples, the machine readable instructions comprise a program(s) for execution by a processor such as the processor 1712 shown in the example processor platform 1700 discussed below in connection with FIG. 17. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 1712, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1712 and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowchart illustrated in FIG. 17, many other methods of implementing the example mobile station 121 of FIGS. 1 and/or 5 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, a Field Programmable Gate Array (FPGA), an Application Specific Integrated circuit (ASIC), a comparator, an operational- amplifier (op-amp), a logic circuit, etc.) structured to perform the
corresponding operation without executing software or firmware.
[0062] As mentioned above, the example processes of FIGS. 6, 7, 8, 10, 11, 12, 13, and/or 14 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. "Including" and "comprising" (and all forms and tenses thereof) are used herein to be open ended terms. Thus, whenever a claim lists anything following any form of "include" or
"comprise" (e.g., comprises, includes, comprising, including, etc.), it is to be understood that additional elements, terms, etc. may be present without falling outside the scope of the corresponding claim. As used herein, when the phrase "at least" is used as the transition term in a preamble of a claim, it is open- ended in the same manner as the term "comprising" and "including" are open ended. [0063] FIG. 6 is an example communication diagram representing communications among the example access point controller 102, the example access point(s) 109, and the example mobile station(s) 120 of FIGS. 1 , 2, 3, 4, and/or 5. The example communication diagram 600 of the illustrated example of FIG. 6 begins when the example access point controller 102 identifies access points in the set of wireless access points 109. (Block 605). In examples disclosed herein, access points that are part of the example set of wireless access points 109 are included in the collaborative set based on their geographic association and/or being in communication with the network 105.
[0064] In examples disclosed herein, a single set of wireless access points is identified. However, in some examples, multiple sets of access points may be identified. For example, a first set of access points may be identified in connection with access points located in a first wing of a building and a second set of access points may be identified in connection with access points located in a second wing of a building separate from the first wing. In some examples, the multiple sets of access points may provide a same wireless resource (e.g., may host a same wireless network). Moreover, the example access point controller 102 may provide controller services for multiple different facilities and/or sets of access points.
[0065] The example access point controller 102 transmits an instruction that causes each of the access points 110, 112, 114 in the set of wireless access points 109 to collect beamforming report(s). (Block 615). In examples disclosed herein, the instruction to collect beamforming report(s) is a joint beamforming null data packet (JBF NDP) announcement. An example structure to the JBF NDP announcement is disclosed below in connection with FIG. 9. The JBF NDP announcement instructs each of the wireless access points in the set 109 to broadcast a sounding message (e.g., a null data packet) to facilitate collection of beamforming reports. The example access points 1 10, 1 12, 1 14 in the example set of wireless access points 109 direct the creation of beamforming reports. (Block 620). Each of the mobile stations 120 generate their corresponding beamforming report(s), and transmit the same to the access point with which the beamforming report was generated. (Block 625). The access point receiving the beamforming report transmits the collected beamforming report(s) to the access point controller 102. (Block 630).
[0066] The example mobile station identifier 340 of the example access point controller 102 reviews the collected beamforming reports to identify mobile stations participating in joint beamforming. (Block 632). The example vector generator 350 of the example access point controller 102 generates a multi-access point joint beamforming vector. (Block 635). In examples disclosed herein, the multi-access point joint beamforming vector includes pre-coding matrices that are to be used by the access points in the set of access points 109 when communicating with mobile stations that are participating in joint beamforming.
[0067] The example access point controller 102 informs the access point(s) 109 of the joint beamforming set. (Block 640). In examples disclosed herein, the example access point controller 102 informs each access point of the joint beamforming vector and the list of mobile stations participating in joint beamforming. Such information enables the access points to utilize joint beamforming when transmitting data to the mobile stations participating in joint beamforming.
[0068] The example access points 109 then transmit training field messages to the mobile stations. (Block 645). In examples disclosed herein, the training field messages are long training field (LTF) messages. However, any other type of message may additionally or alternatively be used. The example training field messages are transmitted from each access point in the set of wireless access points, and are made to be user specific, and are beamformed in the direction(s) of the mobile stations of each access point (e.g., according to the joint beamforming matrix). During channel estimation, each mobile station experiences the same interference that it will receive during data transmission, as all access points in the joint beamforming set simultaneously (and/or substantially simultaneously) transmit the training field messages. Using the training field messages, the example mobile stations estimate interference and apply adjustments to their wireless interface(s). (Block 650). Because the training field messages are transmitted
simultaneously, the mobile stations are able to estimate interference caused by other access point and mobile station pairs participating in collaborative beamforming. The example process 600 of FIG. 6 may be repeated periodically and/or a-periodically. For example, the process 600 may be repeated every five minutes, ten minutes, hour, etc. In some examples, the process 600 of FIG. 6 may be performed in response to an indication that interference is being experienced between the access point(s) and mobile station(s) 120. For example, as mobile stations move with respect to the access point(s), the joint beamforming set may need to be modified, updated, etc. to account for the changing wireless environment.
[0069] FIG. 7 is an example communication diagram 700 representing communications between the example access point controller 102 of FIGS. 1 and/or 3, the example access points of FIGS. 1 and/or 4 and mobile stations to collect beamforming report(s). The example communication diagram 700 corresponds to an example implementation of blocks 615 through 625 of FIG. 6. The example process 700 of FIG. 7 identifies operations (e.g., machine readable instructions) that may be performed by an access point controller 102, a first access point 110, a second access point 1 12, a third access point 1 14, a first mobile station 121 , a second mobile station 122, and a third mobile station 125. In the illustrated example of FIG. 7, the communication diagram 700 represents communications that follow a sounding protocol that defines the order in which communications are to occur. In the illustrated example of FIG. 7, each access point collects beamforming reports from mobile stations identified in the JBF NDP announcement (see block 615 of FIG. 6) as associated with the particular access point. The beamforming reports are later aggregated and a precoding matrix is generated. If, for example, the access point utilizes four antennas and a mobile station uses two antennas, the subsequent beamforming report from that mobile station would represent a compound channel dimension of 4x2.
[0070] While in the illustrated example of FIG. 7 three access points and three mobile stations are shown, any number of access points and/or mobile stations may additionally or alternatively be used. In practice, it is expected that the number of access points will be different from the number of mobile stations, but such a relationship is not required. In the illustrated example of FIG. 7, the example access point controller 102 transmits a JBF NDP announcement (Block 702) to each of the access points 1 10, 1 12, 1 14. In the illustrated example of FIG. 7, the JBF NDP announcement instructs the access points to sequentially collect beamforming reports. That is, the first access point 110 is to emit a sounding message and collect beamforming reports, then the second access point 1 12 is to emit a sounding message and collect beamforming reports, then the third access point 114 is to emit a sounding message and collect beamforming reports, etc. In such an example, the second access point 1 12 does not transmit its sounding message until the first access point 1 12 has relayed its collected beamforming reports.
[0071] In the illustrated example of FIG. 7 beamforming reports are collected on an access point by access point basis. That is, each access point sequentially requests beamforming reports from the mobile stations.
[0072] In the illustrated example of FIG. 7, the first access point 1 10 transmits a null data packet to nearby the mobile stations 121, 122, 125.
(Block 704). In the illustrated example of FIG. 7, the null data packet includes an instruction that causes the first mobile station 121 to provide a first beamforming report to the first access point 110. (Block 706). The first beamforming report identifies, for example, signal strength(s) between the first access point 110 and the first mobile station 121. The first example access point 110 then requests a beamforming report from the second mobile station 122. (Block 708). The second example mobile station provides a second beamforming report to the first access point 1 10. (Block 706). The second example beamforming report identifies, for example, signal strength(s) between the first access point 110 and the second mobile station 122, based on the null data packet transmission received at the second mobile station 122. The first example access point 110 then requests a beamforming report from the third mobile station 125. (Block 712). The third example mobile station 125 provides a third beamforming report to the first access point 1 10. (Block 714). The third example beamforming report identifies, for example, signal strength(s) between the first access point 110 and the third mobile station 125, based on the null data packet transmission received at the third mobile station 125. The example first access point 110 then relays the collected first, second, and third beamforming reports to the access point controller 102. (Block 716).
[0073] In the illustrated example of FIG. 7, upon the first access point 110 completing collection of its beamforming reports, the second access point 112 transmits a null data packet to nearby the mobile stations 121, 122, 125. (Block 720). In the illustrated example of FIG. 7, the null data packet includes an instruction that causes the first mobile station 121 to provide a fourth beamforming report to the second access point 112. (Block 722). The fourth beamforming report identifies, for example, signal strength(s) between the second access point 112 and the first mobile station 121. The second access point 112 then requests a beamforming report from the second mobile station 122. (Block 724). The second example mobile station provides a fifth beamforming report to the second access point 112. (Block 726). The fifth example beamforming report identifies, for example, signal strength(s) between the second access point 112 and the second mobile station 122, based on the null data packet transmission received at the second mobile station 122. The second access point 112 then requests a beamforming report from the third mobile station 125. (Block 728). The third example mobile station 125 provides a sixth beamforming report to the second access point 112. (Block 730). The sixth example beamforming report identifies, for example, signal strengths between the second access point 112 and the third mobile station 125, based on the null data packet transmission received at the third mobile station 125. The example second access point 112 then relays the collected third, fourth, and fifth beamforming reports to the access point controller 102. (Block 732).
[0074] In the illustrated example of FIG. 7, upon the second access point 112 completing collection of its beamforming reports, the third access point 114 transmits a null data packet to nearby the mobile stations 121, 122, 125. (Block 740). In the illustrated example of FIG. 7, the null data packet includes an instruction that causes the first mobile station 121 to provide a seventh beamforming report to the third access point 1 14. (Block 742). The seventh beamforming report identifies, for example, signal strength(s) between the third access point 1 14 and the first mobile station 121. The third access point 1 14 then requests a beamforming report from the second mobile station 122. (Block 744). The second example mobile station provides an eighth beamforming report to the third access point 114. (Block 746). The eighth example beamforming report identifies, for example, signal strength(s) between the third access point 114 and the second mobile station 122, based on the null data packet transmission received at the second mobile station 122. The third access point 1 14 then requests a beamforming report from the third mobile station 125. (Block 748). The third example mobile station 125 provides a ninth beamforming report to the third access point 1 14. (Block 750). The ninth example beamforming report identifies, for example, signal strengths between the third access point 114 and the third mobile station 125, based on the null data packet transmission received at the third mobile station 125. The example third access point 1 14 then relays the collected seventh, eighth, and ninth beamforming reports to the access point controller 102. (Block 752).
[0075] The example process then returns to FIG. 6, where the access point controller 102 analyzes the collected beamforming reports.
[0076] In the illustrated example of FIG. 7, the beamforming reports are sequentially requested from the mobile stations. However, in some examples, the mobile stations can be instructed to provide their beamforming reports using orthogonal frequency division multiple access (OFDMA). That is, rather than polling each station individually for its beamforming report, the access point can send a trigger packet to the desired stations to request the beamforming report(s). The stations to which the trigger packet was sent send their beamforming reports multiplexed in an OFDMA fashion. In this example, details concerning the location and/or timing for feedback using an OFDMA approach are included in the JBF NDP announcement. Using an OFDMA approach reduces training overhead and latency. As described below, a feedback report type field in the JBF NDP announcement indicates whether the mobile stations are to be instructed to transmit their feedback reports using OFDMA.
[0077] FIG. 8 is an example communication diagram 700 representing communications between the example access point controller 102 of FIGS. 1 and/or 3, the example access points of FIGS. 1 and/or 4 and mobile stations to collect beamforming report(s). Like the example of FIG. 7, the example communication diagram 800 corresponds to an example implementation of blocks 615 through 625 of FIG. 6. The example process 800 of FIG. 8 identifies operations (e.g., machine readable instructions) that may be performed by an access point controller 102, a first access point 1 10, a second access point 112, a third access point 1 14, a first mobile station 121, a second mobile station 122, and a third mobile station 125. In contrast to the example of FIG. 7, the example communication diagram 800, null data packet messages are transmitted by each of the access points, followed by the collection of beamforming reports. In the illustrated example of FIG. 8, mobile stations wait to receive all null data packet messages transmitted from all access points in the joint beamforming set, and then each access point requests beamforming reports for the compound channel from the mobile station. For example, if there were four access points in the joint beamforming set, each having four antennas, and the mobile station has two antennas, the compound channel has a dimension of 16x2.
[0078] While in the illustrated example of FIG. 8 three access points and three mobile stations are shown, any number of access points and/or mobile stations may additionally or alternatively be used. In practice, it is expected that the number of access points will be different from the number of mobile stations, but such a relationship is not required. In the illustrated example of FIG. 8, the example access point controller 102 transmits a JBF NDP announcement (Block 802) to each of the access points 1 10, 1 12, 1 14. In the illustrated example of FIG. 8, the JBF NDP announcement instructs the access points to transmit null data packet messages, and then collect beamforming reports. That is, the first access point 1 10 is to emit a sounding message, then the second access point 112 is to emit a sounding message, then the third access point 1 14 is to emit a sounding message, etc., followed by collection of beamforming reports. In such an example, the beamforming reports are not collected until each of the access points have transmitted their null data packet messages.
[0079] In the illustrated example of FIG. 8, the first access point 1 10 transmits a null data packet to nearby the mobile stations 121, 122, 125.
(Block 810). In the illustrated example of FIG. 8, the null data packet includes an instruction that causes the mobile stations 121, 122, 125 to await multiple null data packet transmissions before providing a beamforming report. The second access point 1 12 transmits its null data packet message (Block 812), followed by the third access point 1 14 transmitting its null data packet message (Block 814).
[0080] The first example access point 110 transmits a request to the first mobile station 121 to provide a first beamforming report. (Block 818). In the illustrated example of FIG. 8, the first mobile station 121 is primarily associated with the first access point 110, which results in the first access point 1 10 requesting the beamforming report from the first mobile station 121, as opposed to the second and/or third access points(s). The first beamforming report identifies, for example, signal strength(s) between the first access point 1 10 and the first mobile station 121, between the second access point 112 and the first mobile station, and between the third access point 114 and the first mobile station 121. The first example access point 1 10 relays the first beamforming report to the access point controller 102. (Block 822).
[0081] The second example access point 1 12 transmits a request to the second mobile station 122 to provide a second beamforming report. (Block 824). In the illustrated example of FIG. 8, the second mobile station 122 is primarily associated with the second access point 1 12, which results in the second access point 112 requesting the beamforming report from the second mobile station 122, as opposed to the first and/or third access points(s). The second beamforming report identifies, for example, signal strength(s) between the first access point 1 10 and the second mobile station 122, between the second access point 112 and the second mobile station 122, and between the third access point 114 and the second mobile station 122. The second example access point 112 relays the second beamforming report to the access point controller 102. (Block 828).
[0082] The third example access point 112 transmits a request to the third mobile station 125 to provide a third beamforming report. (Block 830). In the illustrated example of FIG. 8, the third mobile station 125 is primarily associated with the third access point 114, which results in the third access point 114 requesting the beamforming report from the third mobile station 125, as opposed to the first and/or second access points(s). The third beamforming report identifies, for example, signal strength(s) between the first access point 110 and the third mobile station 125, between the second access point 112 and the third mobile station 125, and between the third access point 114 and the third mobile station 125. The third example access point 114 relays the third beamforming report to the access point controller 102. (Block 834). The example process then returns to FIG. 6, where the access point controller 102 analyzes the collected beamforming reports.
[0083] In either of the examples of FIG. 7 or FIG. 8, disclosed above, the mobile stations can be instructed to provide their beamforming reports using orthogonal frequency division multiple access (OFDMA). Such an approach reduces training overhead and latency. As described below, a feedback report type field in the JBF NDP announcement indicates whether the mobile stations are to be instructed to transmit their feedback reports using OFDMA.
[0084] FIG. 9 is a diagram representing an example joint beamforming null data packet (JBF NDP) announcement 900. The example JBF NDP message of the illustrated example of FIG. 9, includes a frame control segment 905 that identifies the announcement as a JBF NDP announcement. The example NBF NDP message includes a RA field 910 and a TA field 915 that identify receive and/or transmit properties to be used during the subsequent operations that follow the transmission of a NDP message. The example JBF NDP message of FIG. 9 includes a sounding sequence field 920 that indicates the sounding sequence that is to be used (e.g., whether the approach described in FIG. 7 or the approach described in FIG. 8 is to be used). The example JBF NDP announcement of FIG. 9 includes a feedback report type message 925 which indicates whether or not feedback reports are to be transmitted using OFDMA.
[0085] The example JBF NDP announcement 900 of the illustrated example of FIG. 9 includes segments corresponding to each access point that is to be involved in the sounding process. For example, a first segment 928 corresponds to a first access point (e.g., APi). The first segment 928 includes an access point identification field 930 that identifies the access point of the segment. The first segment 928 includes mobile station fields 935, 940 that include mobile station identifiers identifying stations where the access point of the identified segment will be responsible for collection of beamforming reports. A second segment 942 corresponds to a second access point (e.g., APK). The second segment 942 includes an access point identification field 945 that identifies the access point of the segment. The second segment 942 includes mobile station fields 950, 955 that include mobile station identifiers identifying stations where the access point of the identified segment will be responsible for collection of beamforming reports. While in the illustrated example of FIG. 9 two segments are shown corresponding to two access points, any number of segments corresponding to any number of access points may additionally or alternatively be used. Moreover, while two mobile station identification fields are shown per each segment of FIG. 9 (corresponding to two mobile stations per access point), any other number of mobile stations per access point may additionally or alternatively be used. Furthermore, the number of mobile station identifiers provided in connection with each segment may differ from one segment to another.
[0086] FIG. 10 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 7. The example process 1000 of the illustrated example of FIG. 10 begins when the example communications processor 420 accesses a JBF NDP announcement transmitted by the example access point controller 102. (Block 1005). The example beamforming report requester 450 analyzes the sounding sequence identified in the NDP announcement. (Block 1010). The analysis enables the example
beamforming report requester 450 to determine a sounding sequence (e.g., an order of access points) in which access points in the set of access points are to transmit their sounding messages. The example beamforming report requester 450 waits based on the sounding sequence and the identifier of the access point. (Block 1015).
[0087] After waiting the scheduled amount of time according to the sounding sequence, the example beamforming report requester 450 transmits, via the antenna array 440 a null data packet. (Block 1020). In examples disclosed herein, the example null data packet instructs a first mobile station to provide a beamforming report to the access point 1 10. The example beamforming report requester 450 the beamforming report from the first mobile station. (Block 1025). The example beamforming report requester 450 determines whether any additional mobile stations are expected to transmit beamforming reports. (Block 1030). In the illustrated example of FIG. 10, the determination is based on a list of mobile stations provided in the JBF NDP announcement. However, any other approach to determining whether any additional mobile stations should provide beamforming reports may additionally or alternatively be used.
[0088] If additional beamforming report is to be collected (e.g., if block 1030 returns a result of YES), the example beamforming report requester 450 transmits a beamforming report pull request to the mobile station. (Block 1035). The beamforming report is then collected by the example beamforming report requester 450. (Block 1025). The example process of blocks 1025, 1030, and 1035 is repeated until no additional beamforming reports are to be collected (e.g., until block 1030 retums a result ofNO).
[0089] The example communications processor 420 then transmits the collected beamforming reports to the access point controller 102. (Block 1040). In the illustrated example of FIG. 10, beamforming reports are transmitted upon collection of all of the beamforming reports (e.g., after block 1030 returns a result of NO). However, in some examples, beamforming reports received from mobile stations may be transmitted individually. In some examples, the transmission of the individual beamforming reports is not delayed and is, instead, transmitted to the access point controller 102 upon receipt of the beamforming report from the mobile station. The example process of FIG. 10 then terminates.
[0090] FIG. 1 1 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point of FIGS. 1 and/or 4 to collect beamforming reports in accordance with the communication diagram of FIG. 8. The example process 1100 of the illustrated example of FIG. 1 1 begins when the example communications processor 420 accesses a JBF NDP announcement transmitted by the example access point controller 102. (Block 1 105). The example beamforming report requester 450 analyzes the sounding sequence identified in the NDP announcement. (Block 1 110). The analysis enables the example
beamforming report requester 450 to determine a sounding sequence (e.g., an order of access points) in which access points in the set of access points are to transmit their sounding messages.
[0091] The example beamforming report requester 450 transmits, via the antenna array 440 a null data packet. (Block 1 112). In examples disclosed herein, the example null data packet instructs a first mobile station to provide a beamforming report to the access point 1 10. In the illustrated example of FIG. 1 1, NDP messages are transmitted by all of the access points in the set of access points prior to collection of any beamforming reports. As a result, the beamforming reports can take into consideration signal strengths from multiple access points. Using such an approach results in larger beamforming reports, but less processing time at the access point controller 102 to aggregate beamforming reports.
[0092] The example beamforming report requester 450 requests the beamforming report from a mobile station. (Block 1125). The example beamforming report is then collected from the mobile station. (Block 1130). The example beamforming report requester 450 determines whether any additional mobile stations are expected to transmit beamforming reports. (Block 1 135). In the illustrated example of FIG. 1 1, the determination is based on a list of mobile stations provided in the JBF NDP announcement.
However, any other approach to determining whether any additional mobile stations should provide beamforming reports may additionally or alternatively be used.
[0093] If additional beamforming report is to be collected (e.g., if block 1 135 returns a result of YES), the example beamforming report requester 450 transmits a beamforming report pull request to the mobile station. (Block 1125). The example process of blocks 1125, 1130, and 1 135 is repeated until no additional beamforming reports are to be collected (e.g., until block 1 135 returns a result of NO).
[0094] The example communications processor 420 then transmits the collected beamforming reports to the access point controller 102. (Block 1 140). In the illustrated example of FIG. 1 1, beamforming reports are transmitted upon collection of all of the beamforming reports (e.g., after block 1 135 returns a result of NO). However, in some examples, beamforming reports received from mobile stations may be transmitted individually. In some examples, the transmission of the individual beamforming reports is not delayed and is, instead, transmitted to the access point controller 102 upon receipt of the beamforming report from the mobile station. The example process of FIG. 11 then terminates.
[0095] FIG. 12 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point controller of FIGS. 1 and/or 3 to generate a joint beamforming matrix based on the collected beamforming reports. The example process 1200 of the illustrated example of FIG. 8 corresponds to blocks 632 through 640 of the illustrated example of FIG. 6. The example process 1200 of the illustrated example of FIG. 12 begins when the example beamforming report collector 320 collects beamforming reports from the access points in the set of wireless access points 109. (Block 1210). The example beamforming report collector 320 stores the collected beamforming reports in the example beamforming report data store 330.
[0096] In examples disclosed herein, the collected beamforming reports may have been collected via either of the approaches disclosed in connection with FIGS. 7 or 8. If, for example the beamforming reports were collected using the approach disclosed in in FIG. 7, multiple beamforming reports will exist per mobile station (e.g., the first mobile station generates a beamforming report at blocks 706, 722, 742). The example mobile station identifier 340 determines whether multiple beamforming reports exist per mobile station. (Block 1220). If the example mobile station identifier 340 determines that there are multiple beamforming reports per mobile station (Block 1220 returns a result of YES), the example mobile station identifier 340 aggregates beamforming reports associated with the same mobile station(s). (Block 1230). In some examples, different numbers of
beamforming reports are collected per mobile stations. For example, a first mobile station may provide two beamforming reports via two respective access points, while a second mobile station may provide a single
beamforming report via a single respective access point.
[0097] The example mobile station identifier 340 identifies mobile station(s) that are to be included in joint beamforming. (Block 1240). In the illustrated example of FIG. 12, all mobile stations that provided beamforming reports are included in joint beamforming. However, in some examples, fewer than all of the mobile stations are selected for joint beamforming. For example, the mobile station identifier 340 may select a mobile station for inclusion in joint beamforming when the beamforming report associated with the mobile station indicates that the mobile station is in wireless
communication range of two or more access points. In some examples, the determination of whether the mobile station is in wireless communication range of the two or more access points is based on whether the wireless signal strengths between the mobile station and each of the respective access points is greater than or equal to a signal strength threshold. In some examples, other factors such as throughput, fairness, quality of service (QoS) priorities, etc. are considered when selecting the mobile stations for inclusion in joint beamforming. In examples disclosed herein, the maximum number of mobile stations is limited to the total number of antennas across all of the access points in the set of access points 109.
[0098] The example vector generator 350 generates a joint beamforming matrix. (Block 1250). In examples disclosed herein, the joint beamforming matrix is stored in the example beamforming vector data store 360. The joint beamforming matrix, in contrast to traditional beamforming matrices that are used by a single access point, provides pre-coding matrices for multiple access points (e.g., the antenna arrays of each of those respective access points). That is, the joint beamforming matrix treats each of the antennas of each of the access points as components of a single multi-access point antenna array.
[0099] The example access point instructor 370 informs the access points of the joint beamforming matrix and the list of mobile stations that are to be included in joint beamforming. (Block 1260). The example process 1200 the illustrated example of FIG. 12 then terminates. The example process 1200 of the illustrated example of FIG. 12 may then be repeated at a later time to update and/or modify the joint beamforming matrix and/or list of mobile stations included in joint beamforming.
[00100] FIG. 13 is a flowchart representative of example machine readable instructions which, when executed, cause the example access point to transmit a packet to a mobile station. The example process 1300 of the illustrated example of FIG. 13 begins when the example network communicator 410 receives a packet for transmission to a mobile station. The example communications processor 420 inspects the packet to determine the identity of the mobile station to which the packet is to be transmitted. (Block 1310). The example communications processor 420 determines whether the mobile station is included in the joint beamforming set. (Block 1320). If the identified mobile station is not identified as a mobile station participating in joint beamforming (e.g., Block 1320 returns a result of NO), the example array controller 430 utilizes a local beamforming matrix to transmit the packet to the mobile station. (Block 1330).
[00101] If the identified mobile station is identified as a mobile station participating in joint beamforming (e.g., Block 1320 returns a result of YES), the example communications processor coordinates transmission of the packet to the mobile station with another access point(s), and transmits the data packet using the joint beamforming matrix. (Block 1340). In examples disclosed herein, coordination of transmission is implemented using a timing and/or synchronization approach such as, for example, IEEE 802. IAS. The example process 1300 of the illustrated example of FIG. 13 is repeated upon subsequent receipt of additional data packets for transmission to a mobile station.
[00102] FIG. 14 is a flowchart representative of example machine readable instructions which, when executed, cause the mobile station to estimate interference and apply equalization adjustments. FIG. 10 is a flowchart representative of example machine readable instructions which, when executed, cause the example mobile station to estimate interference and apply equalization adjustments. The example process 1400 of the illustrated example of FIG. 14 begins when the example wireless communicator 510 of the example mobile station accesses a long training field message transmitted by an access point. (Block 1410). In examples disclosed herein, the long training field message is transmitted from every access point, is made to be mobile station specific, and is formed/multiplexed in the directions of its primary users (e.g., the mobile station). In examples disclosed herein, the data transmission follows a legacy protocol (e.g., IEEE 802.1 lac, IEEE 802.1 lax, etc.), with the exception that training fields are transmitted in a mobile station specific (e.g., user-specific) fashion, are beamformed over the joint access point set, and are multiplexed in the directions of all mobile stations (e.g., users). Such an approach does not have any impact on user channel estimation and/or the channel detection process. When receiving such messages, the example channel estimator 530 estimates interference received at the mobile station. (Block 1420). During such channel estimation, each mobile station (e.g., user) is experiencing the same interference that it will receive during data transmission, as all access points in the joint beamforming set are transmitting a user specific long training field beamformed message towards their primary users. Such an approach results in adequate information for implementing accurate equalization at the mobile station. Using the estimated interference identified in block 1420, the example channel estimator applies equalization adjustments to the example wireless communicator 510 based on the estimated interference. (Block 1430). The example process 1400 of the illustrated example of FIG. 14 may be repeated in response to subsequent long training field messages.
[00103] FIG. 15 is a block diagram of an example processor platform 1500 capable of executing the instructions of FIG. 6, 7, 8, and/or 12 to implement the example access point controller of FIGS. 1 and/or 3. The processor platform 1500 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPad™), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
[00104] The processor platform 1500 of the illustrated example includes a processor 1512. The processor 1512 of the illustrated example is hardware. For example, the processor 1512 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor 1512 implements the example beamforming report collector 320, the example mobile station identifier 340, the example vector generator 350, and the example access point instructor 370.
[00105] The processor 1512 of the illustrated example includes a local memory 1513 (e.g., a cache). The processor 1512 of the illustrated example is in communication with a main memory including a volatile memory 1514 and a non-volatile memory 1516 via a bus 1518. The volatile memory 1514 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 1516 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1514, 1516 is controlled by a memory controller.
[00106] The processor platform 1500 of the illustrated example also includes an interface circuit 1520. The interface circuit 1520 may be implemented by any type of interface standard, such as an Ethemet interface, a universal serial bus (USB), and/or a PCI express interface. In this example, the example interface 1520 implements the example access point
communicator 310.
[00107] In the illustrated example, one or more input devices
1522 are connected to the interface circuit 1520. The input device(s) 1522 permit(s) a user to enter data and/or commands into the processor 1512. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
[00108] One or more output devices 1524 are also connected to the interface circuit 1520 of the illustrated example. The output devices 1524 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit 1520 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor.
[00109] The interface circuit 1520 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1526 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
[00110] The processor platform 1500 of the illustrated example also includes one or more mass storage devices 1528 for storing software and/or data. Examples of such mass storage devices 1528 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
[00111] The coded instructions 1532 of FIGS. 6, 7, 8, and/or 12 may be stored in the mass storage device 1528, in the volatile memory 1514, in the non-volatile memory 1516, and/or on a removable tangible computer readable storage medium such as a CD or DVD. The example mass storage device 1528 of the illustrated example of FIG. 15 implements the example beamforming report data store 330 and the example beamforming vector data store 360.
[00112] FIG. 16 is a block diagram of an example processor platform 1600 capable of executing the instructions of FIGS. 6, 7, 8, 10, 11, and/or 13 to implement the example access point of FIGS. 1 and/or 4. The processor platform 1600 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPad™), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
[00113] The processor platform 1600 of the illustrated example includes a processor 1612. The processor 1612 of the illustrated example is hardware. For example, the processor 1612 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor 1612 implements the example communications processor 420, the example array controller 430, and the example beamforming report requester 450. [00114] The processor 1612 of the illustrated example includes a local memory 1613 (e.g., a cache). The processor 1612 of the illustrated example is in communication with a main memory including a volatile memory 1614 and a non-volatile memory 1616 via a bus 1618. The volatile memory 1614 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 1616 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1614, 1616 is controlled by a memory controller.
[00115] The processor platform 1600 of the illustrated example also includes an interface circuit 1620. The interface circuit 1620 may be implemented by any type of interface standard, such as an Ethemet interface, a universal serial bus (USB), and/or a PCI express interface. In the illustrated example of FIG. 16, the example interface 1620 implements the example network communicator 410 and the example antenna array 440.
[00116] In the illustrated example, one or more input devices
1622 are connected to the interface circuit 1620. The input device(s) 1622 permit(s) a user to enter data and/or commands into the processor 1612. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
[00117] One or more output devices 1624 are also connected to the interface circuit 1620 of the illustrated example. The output devices 1624 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit 1620 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor. [00118] The interface circuit 1620 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1626 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
[00119] The processor platform 1600 of the illustrated example also includes one or more mass storage devices 1628 for storing software and/or data. Examples of such mass storage devices 1628 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
[00120] The coded instructions 1632 of FIGS. 6, 7, 8, 10, 11, and/or 13 may be stored in the mass storage device 1628, in the volatile memory 1614, in the non-volatile memory 1616, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
[00121] FIG. 17 is a block diagram of an example processor platform 1700 capable of executing the instructions of FIGS. 6, 7, 8, and/or 14 to implement the example mobile station of FIGS. 1 and/or 5. The processor platform 1700 can be, for example, a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet such as an iPad™), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
[00122] The processor platform 1700 of the illustrated example includes a processor 1712. The processor 1712 of the illustrated example is hardware. For example, the processor 1712 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor 1712 implements the example beamforming report generator 520, the example channel estimator 530, and the example native mobile station functionality 550. [00123] The processor 1712 of the illustrated example includes a local memory 1713 (e.g., a cache). The processor 1712 of the illustrated example is in communication with a main memory including a volatile memory 1714 and a non-volatile memory 1716 via a bus 1718. The volatile memory 1714 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 1716 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1714, 1716 is controlled by a memory controller.
[00124] The processor platform 1700 of the illustrated example also includes an interface circuit 1720. The interface circuit 1720 may be implemented by any type of interface standard, such as an Ethemet interface, a universal serial bus (USB), and/or a PCI express interface. The example interface circuit 1720 of the illustrated example of FIG. 17 implements the example wireless communicator 510.
[00125] In the illustrated example, one or more input devices
1722 are connected to the interface circuit 1720. The input device(s) 1722 permit(s) a user to enter data and/or commands into the processor 1712. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
[00126] One or more output devices 1724 are also connected to the interface circuit 1720 of the illustrated example. The output devices 1724 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit 1720 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip and/or a graphics driver processor. [00127] The interface circuit 1720 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 1726 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
[00128] The processor platform 1700 of the illustrated example also includes one or more mass storage devices 1728 for storing software and/or data. Examples of such mass storage devices 1728 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
[00129] The coded instructions 1732 of FIGS. 6, 7, 8, and/or 14 may be stored in the mass storage device 1728, in the volatile memory 1714, in the non-volatile memory 1716, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
[00130] From the foregoing, it will be appreciated that example methods, apparatus and articles of manufacture have been disclosed that enable joint beamforming in a wireless network. For example, by collecting beamforming reports from multiple access points and the mobile stations that utilize those access points, a set of access points, each having their own antenna array capable of beamforming, can be treated as one multi-access point antenna array. A beamforming matrix can thus be generated that corresponds to the multi-access point antenna array, and can be applied to more efficiently transmit beamformed communications from one or more access point(s) in the multi-access point array to a given mobile station. When multiple access points are able to work in connection with each other to transmit data to a mobile station, increased bandwidth and/or data rates can be achieved.
[00131] Example 1 includes an apparatus to enable joint beamforming in a wireless network, the apparatus comprising, a beamforming report collector to collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, a vector generator to generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station, and an access point instructor to inform the first access point and the second access point of the joint beamforming matrix.
[00132] Example 2 includes the apparatus of example 1, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the beamforming report collector is further to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, the beamforming report collector to aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the vector generator generates the joint beamforming matrix based on the aggregated beamforming report.
[00133] Example 3 includes the apparatus of example 1, further including a mobile station identifier to determine that the first mobile station is to participate in joint beamforming.
[00134] Example 4 includes the apparatus of example 3, wherein the mobile station identifier is to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
[00135] Example 5 includes the apparatus of example 1, wherein the beamforming report collector is to establish a joint beamforming access point set representing the first access point and the second access point.
[00136] Example 6 includes the apparatus any of examples 1 through 5, wherein the beamforming report collector is to transmit a joint beamforming null data packet message to the first access point and the second access point.
[00137] Example 7 includes the apparatus of example 6, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
[00138] Example 8 includes the apparatus of example 7, wherein the channel sounding messages are null data packet messages.
[00139] Example 9 includes a non-transitory computer readable medium comprising instructions which, when executed, cause an access point controller to at least collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station, and inform the first access point and the second access point of the joint beamforming matrix.
[00140] Example 10 includes the non-transitory computer readable medium of example 9, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the instructions, when executed, cause the access point controller to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, and aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the joint beamforming matrix is generated based on the aggregated beamforming report.
[00141] Example 11 includes the non-transitory computer readable medium of example 9, wherein the instructions, when executed, cause the access point controller to determine that the first mobile station is to participate in joint beamforming.
[00142] Example 12 includes the non-transitory computer readable medium of example 11, wherein the instructions, when executed, cause the access point controller to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
[00143] Example 13 includes the non-transitory computer readable medium of example 9, wherein the instructions, when executed, cause the access point controller to establish a joint beamforming access point set representing the first access point and the second access point.
[00144] Example 14 includes the non-transitory computer readable medium of any of examples 9 through 13, wherein the instructions, when executed, cause the access point controller to transmit a joint beamforming null data packet message to the first access point and the second access point.
[00145] Example 15 includes the non-transitory computer readable medium of example 14, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
[00146] Example 16 includes the non-transitory computer readable medium of example 15, wherein the channel sounding messages are null data packet messages.
[00147] Example 17 includes a method to enable joint beamforming in a wireless network, the method comprising collecting a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, generating, by executing an instruction with a processor, a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station, and informing the first access point and the second access point of the joint beamforming matrix.
[00148] Example 18 includes the method of example 17, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and further including collecting a second beamforming report identifying signal strengths between the first mobile station and the second access point, and aggregating the first beamforming report and the second beamforming report to form an aggregated beamforming report, the joint beamforming matrix based on the aggregated beamforming report.
[00149] Example 19 includes the method of example 17, further including determining that the first mobile station is to participate in joint beamforming.
[00150] Example 20 includes the method of example 19, wherein the determination that mobile station identifier is to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
[00151] Example 21 includes the method of example 17, wherein the beamforming report collector is to establish a joint beamforming access point set representing the first access point and the second access point.
[00152] Example 22 includes the method any of examples 17 through 21, wherein the beamforming report collector is to transmit a joint beamforming null data packet message to the first access point and the second access point.
[00153] Example 23 includes the method of example 22, wherein the collaborative beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
[00154] Example 24 includes the method of example 23, wherein the channel sounding messages are null data packet messages.
[00155] Example 25 includes the method of example 17, further including performing channel estimation using wireless signals produced based on the joint beamforming matrix.
[00156] Example 26 includes an apparatus to enable joint beamforming in a wireless network, the apparatus comprising, means for collecting a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point, means for generating a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile stationm, and means for informing the first access point and the second access point.
[00157] Example 27 includes the apparatus of example 26, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the collecting means is further to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, the collecting means to aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the generating means is to generate the joint beamforming matrix based on the aggregated beamforming report.
[00158] Example 28 includes the apparatus of example 26, further including mobile station identification means for determining that the first mobile station is to participate in joint beamforming.
[00159] Example 29 includes the apparatus of example 28, wherein the mobile station identification means is to determine that the first mobile station is to participate in joint beamforming based on the
beamforming report.
[00160] Example 30 includes the apparatus of example 25, wherein the collecting means is to establish a joint beamforming access point set representing the first access point and the second access point.
[00161] Example 31 includes the apparatus any of examples 26 through 30, wherein the collecting means is to transmit a joint beamforming null data packet message to the first access point and the second access point.
[00162] Example 32 includes the apparatus of example 31, wherein the collaborative beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report. [00163] Example 33 includes the apparatus of example 32, wherein the channel sounding messages are null data packet messages.
[00164] Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.

Claims

What Is Claimed Is:
1. An apparatus to enable joint beamforming in a wireless network, the apparatus comprising:
a beamforming report collector to collect a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point;
a vector generator to generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station; and
an access point instructor to inform the first access point and the second access point of the joint beamforming matrix.
2. The apparatus of claim 1 , wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the beamforming report collector is further to collect a second beamforming report identifying signal strengths between the first mobile station and the second access point, the beamforming report collector to aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the vector generator generates the joint beamforming matrix based on the aggregated beamforming report.
3. The apparatus of claim 1 , further including a mobile station identifier to determine that the first mobile station is to participate in joint beamforming.
4. The apparatus of claim 3, wherein the mobile station identifier is to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
5. The apparatus of claim 1 , wherein the beamforming report collector is to establish a joint beamforming access point set representing the first access point and the second access point.
6. The apparatus any of claims 1 through 5, wherein the beamforming report collector is to transmit a j oint beamforming null data packet message to the first access point and the second access point.
7. The apparatus of claim 6, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request the beamforming report.
8. The apparatus of claim 7, wherein the channel sounding messages are null data packet messages.
9. A non-transitory computer readable medium comprising instructions which, when executed, cause an access point controller to at least:
collect a beamforming report from a first mobile station
communicatively coupled to a first access point and a second access point; generate a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station; and inform the first access point and the second access point of the joint beamforming matrix.
10. The non-transitory computer readable medium of claim 9, wherein the beamforming report is a first beamforming report, and identifies signal strengths between the first mobile station and the first access point, and the instructions, when executed, cause the access point controller to: collect a second beamforming report identifying signal strengths between the first mobile station and the second access point; and
aggregate the first beamforming report and the second beamforming report to form an aggregated beamforming report, wherein the joint beamforming matrix is generated based on the aggregated beamforming report.
1 1. The non-transitory computer readable medium of claim 9, wherein the instructions, when executed, cause the access point controller to determine that the first mobile station is to participate in joint beamforming.
12. The non-transitory computer readable medium of claim 11 , wherein the instructions, when executed, cause the access point controller to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
13. The non-transitory computer readable medium of claim 9, wherein the instructions, when executed, cause the access point controller to establish a joint beamforming access point set representing the first access point and the second access point.
14. The non-transitory computer readable medium of any of claims 9 through 13, wherein the instructions, when executed, cause the access point controller to transmit a j oint beamforming null data packet message to the first access point and the second access point.
15. The non-transitory computer readable medium of claim 14, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
16. The non-transitory computer readable medium of claim 15, wherein the channel sounding messages are null data packet messages.
17. A method to enable j oint beamforming in a wireless network, the method comprising:
collecting a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point; generating, by executing an instruction with a processor, a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint
beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station; and
informing the first access point and the second access point of the joint beamforming matrix.
18. The method of claim 17, wherein the beamforming report is a first beamforming report, and report identifies signal strengths between the first mobile station and the first access point, and further including:
collecting a second beamforming report identifying signal strengths between the first mobile station and the second access point; and
aggregating the first beamforming report and the second beamforming report to form an aggregated beamforming report, the joint beamforming matrix based on the aggregated beamforming report.
19. The method of claim 17, further including determining that the first mobile station is to participate in joint beamforming.
20. The method of claim 19, wherein the determination that mobile station identifier is to determine that the first mobile station is to participate in joint beamforming based on the beamforming report.
21. The method of claim 17, wherein the beamforming report collector is to establish a joint beamforming access point set representing the first access point and the second access point.
22. The method any of claims 17 through 21 , wherein the beamforming report collector is to transmit a joint beamforming null data packet message to the first access point and the second access point.
23. The method of claim 22, wherein the joint beamforming null data packet message instructs the first access point and the second access point to transmit channel sounding messages and request a beamforming report.
24. The method of claim 17, further including performing channel estimation using wireless signals produced based on the joint beamforming matrix.
25. An apparatus to enable joint beamforming in a wireless network, the apparatus comprising:
means for collecting a beamforming report from a first mobile station communicatively coupled to a first access point and a second access point; means for generating a joint beamforming matrix based on the beamforming report, the joint beamforming matrix including a first matrix corresponding to the first access point and a second matrix corresponding to the second access point, the joint beamforming matrix to enable the first access point and the second access point to simultaneously transmit data to the first mobile station; and
means for informing the first access point and the second access point.
PCT/US2017/049345 2017-08-30 2017-08-30 Methods and apparatus to enable joint beamforming in a wireless network WO2019045704A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/US2017/049345 WO2019045704A1 (en) 2017-08-30 2017-08-30 Methods and apparatus to enable joint beamforming in a wireless network
DE112017007997.7T DE112017007997T5 (en) 2017-08-30 2017-08-30 METHOD AND DEVICES FOR THE POSSIBLE COMMON RAY SHAPING IN A WIRELESS NETWORK

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/049345 WO2019045704A1 (en) 2017-08-30 2017-08-30 Methods and apparatus to enable joint beamforming in a wireless network

Publications (1)

Publication Number Publication Date
WO2019045704A1 true WO2019045704A1 (en) 2019-03-07

Family

ID=65525825

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/049345 WO2019045704A1 (en) 2017-08-30 2017-08-30 Methods and apparatus to enable joint beamforming in a wireless network

Country Status (2)

Country Link
DE (1) DE112017007997T5 (en)
WO (1) WO2019045704A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020182004A1 (en) * 2019-03-08 2020-09-17 Zte Corporation Multiple access point operation of wireless network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110081901A1 (en) * 2009-10-05 2011-04-07 Koninklijke Philips Electronics N.V. Method for signalling a precoding in a cooperative beamforming transmission mode
US20110159881A1 (en) * 2009-12-28 2011-06-30 Shin Won Jae Communication System Using Joint Leakage Suppression Scheme with Low Complexity
US20140056204A1 (en) * 2012-08-24 2014-02-27 Futurewei Technologies, Inc. Systems and Methods for Interference Alignment in Wi-Fi
US20140094164A1 (en) * 2012-09-28 2014-04-03 Qualcomm Incorporated Iterative coordinated beamforming systems and methods
US20140105121A1 (en) * 2012-10-16 2014-04-17 Qualcomm Incorporated Methods and apparatus for feedback computation and decoding with synchronously coded subcarriers in ofdma systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110081901A1 (en) * 2009-10-05 2011-04-07 Koninklijke Philips Electronics N.V. Method for signalling a precoding in a cooperative beamforming transmission mode
US20110159881A1 (en) * 2009-12-28 2011-06-30 Shin Won Jae Communication System Using Joint Leakage Suppression Scheme with Low Complexity
US20140056204A1 (en) * 2012-08-24 2014-02-27 Futurewei Technologies, Inc. Systems and Methods for Interference Alignment in Wi-Fi
US20140094164A1 (en) * 2012-09-28 2014-04-03 Qualcomm Incorporated Iterative coordinated beamforming systems and methods
US20140105121A1 (en) * 2012-10-16 2014-04-17 Qualcomm Incorporated Methods and apparatus for feedback computation and decoding with synchronously coded subcarriers in ofdma systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020182004A1 (en) * 2019-03-08 2020-09-17 Zte Corporation Multiple access point operation of wireless network
US10985875B2 (en) 2019-03-08 2021-04-20 Zte Corporation Multiple access point operation of a wireless network

Also Published As

Publication number Publication date
DE112017007997T5 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
CN110036617B (en) Communication method, device, network equipment and terminal
EP3649742B1 (en) Beamforming enhancement via strategic resource utilization
US11646767B2 (en) Device and method for multi-access point collaborative sounding in a wireless network
US20210297216A1 (en) Method for dynamic configuration of reference signal
KR102026844B1 (en) System and method for coordinated beamforming for overlapping basic service set in wlan
WO2018036349A1 (en) Radio access network slice selection method and apparatus
JP6832937B2 (en) Guard period between subframe parts of the same link direction in the wireless network
US9647823B2 (en) Enhanced scheduling procedure for full duplex access point
WO2020156163A1 (en) Sidelink resource configuration method, apparatus and device
CN114697903A (en) Positioning method on secondary link SL, terminal and network side equipment
US10433323B2 (en) Communication control station device, communication terminal device, and communication control method
JP2019509660A5 (en)
WO2018032434A1 (en) Communication method and apparatus
TW202029824A (en) Cooperative multiple-input multiple-output downlink scheduling
US20200187021A1 (en) Dynamic quantized signature vector selection for a cloud radio access network
US20170135143A1 (en) Wireless communications system, base station, terminal, and communications method
US10154439B2 (en) Dynamic channel bandwidth selection based on information for packets transmitted at different channel bandwidths
WO2019040059A1 (en) Methods and apparatus to enable spatial reuse in a wireless network
WO2019045704A1 (en) Methods and apparatus to enable joint beamforming in a wireless network
CN113767666A (en) Apparatus, method and computer program
WO2019006882A1 (en) Method, apparatus and system for training transmission beam
US11949472B2 (en) MU-MIMO operation control
WO2021134367A1 (en) Communication method and apparatus
WO2017004757A1 (en) Communication method and apparatus
US10582390B2 (en) Method and apparatus for cooperative communication in wireless communication system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17923508

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17923508

Country of ref document: EP

Kind code of ref document: A1