The present disclosure relates generally to devices that employ multiple transceivers.
Wireless devices, such as access points (APs) can employ multiple slots that allow for the installation of multiple radios. As new wireless protocols are developed, the wireless device can be upgraded by installing a new wireless transceiver. For example, to upgrade an access point (AP) operating with a radio compatible with the 802.11n standard (e.g., to be compatible with the 802.11ac standard), an additional radio that is compatible with the 802.11ac standard can be added (or if the AP has multiple radios compatible with the 802.11n standard at least one of 802.11n radios can be replaced with a radio that is compatible with the 802.11ac standard). Thus, the AP is capable of supporting legacy clients that employ the 802.11n standard while also being capable of supporting new clients that employ the 802.11ac standard.
The accompanying drawings incorporated herein and forming a part of the specification illustrate the example embodiments.
The following presents a simplified overview of the example embodiments in order to provide a basic understanding of some aspects of the example embodiments. This overview is not an extensive overview of the example embodiments. It is intended to neither identify key or critical elements of the example embodiments nor delineate the scope of the appended claims. Its sole purpose is to present some concepts of the example embodiments in a simplified form as a prelude to the more detailed description that is presented later.
In accordance with an example embodiment, there is disclosed herein, a wireless device, such as an access point that employs multiple radios that operate on the same or overlapping channels. For example, the wireless device can be upgraded with a new radio that is compatible with a newer protocol to provide service to newer clients that are capable of employing the new protocol, while also providing backwards compatibility to legacy clients.
This description provides examples not intended to limit the scope of the appended claims. The figures generally indicate the features of the examples, where it is understood and appreciated that like reference numerals are used to refer to like elements. Reference in the specification to “one embodiment” or “an embodiment” or “an example embodiment” means that a particular feature, structure, or characteristic described is included in at least one embodiment described herein and does not imply that the feature, structure, or characteristic is present in all embodiments described herein.
In an example embodiment, Carrier-Sense Multiple Access (CSMA) is employed to solve the near/far problem caused by running multiple radios (e.g., a new radio and a legacy radio) on the same or an overlapping channel. For example, in the case of an 802.11n and 802.11ac radio, the 802.11ac radio could run on an 80 MHz channel, and the 802.11n radio would run on the upper or lower 40 MHz of the same channel. CSMA solves the near/far problem, because the inherent CSMA mechanism in 802.11 will prevent one radio from transmitting while the other radio is trying to receive a packet.
In an example embodiment, clients are steered to a radio that is appropriate for their capabilities. For example, in an AP with multiple radios, in order to maintain backwards compatibility for legacy clients, the legacy clients are steered so that they associate with the legacy radio, and newer clients are steered so that they associate with the newer radio. Note that to clients, different radios appear to be separate access points (APs).
In an example embodiment, to steer legacy clients to the legacy radio, a mandatory feature is advertised on the newer radio that will discourage legacy clients from associating. For example, an 802.11ac radio can advertise a very high data rate as mandatory to prevent an 802.11n legacy client from associating with that radio.
In an example embodiment, an AP steers newer clients away from a legacy radio to a radio compatible with the newer client's capabilities. For example, the AP can determine whether a client supports the newer protocol. If the client supports the newer protocol, the AP can refuse to associate, and/or respond to probes, on the legacy radio.
In an example embodiment, an interlock is employed to prevent multiple radios operating on the same or overlapping channels from transmitting at the same time. In particular embodiments, the interlock is a hardware interlock, e.g., implemented in hardware. By using the interlock, the maximum power consumed by the AP is the power for one radio, instead of the sum of the power used by multiple radios.
Moreover, the FCC (Federal Communications Commission) has issued a ruling that if an AP has two radios in the same band, then the output power of both radios should be limited to half of the maximum transmit power so that the sum of transmission power of both radios does not exceed the maximum transmit power. By employing a hardware interlock and ensuring that both radios do not transmit at the same time, the radios can transmit at full transmit power.
The transmit interlock logic 106 is coupled with a first radio, which may also be referred to herein as “Radio A,” 102 that is operable to communicate on a first channel employing a first protocol. The transmit interlock logic 106 is also coupled with a second radio, which may also be referred to herein as “Radio B,” 104 that is operable to communicate on a second channel employing a second protocol. In an example embodiment, a portion of the second channel overlaps the first channel. In another example embodiment, the second channel is a sub-channel of the first channel. For example, if the first channel is a 80 MHz channel, the second channel may be a 40 MHz channel that overlaps or shares a portion of the first channel. The transmit interlock logic 106 prevents the first and second radios from transmitting over the medium concurrently.
In the illustrated example, the transmit interlock logic 106 is coupled with a first radio 102 and a second radio 104, however, those skilled in the art can readily appreciate that other embodiments may include any physically realizable number of additional radios.
The first radio 102 comprises a radio integrated circuit (IC) 108 that may suitably comprise media access control (MAC) layer and/or physical layer (PHY) processors and/or processing circuits. The first radio 102 further comprises a power amplifier (PA) 110 and an AND gate 112. The radio IC 108 provides data (TX_DATA) for transmission to PA 110. The radio IC 108 asserts a transmit enable (TX_ENABLE) signal to the transmission interlock logic 106. The transmission interlock logic 106 asserts signal 122 to AND gate 112 to enable PA 110, which allows the first radio 102 to transmit over the medium.
The second radio 104 comprises a radio integrated circuit (IC) 114 that may suitably comprise MAC and/or PHY layer processors and/or processing circuits. The second radio 104 further comprises a power amplifier (PA) 116 and an AND gate 118. The radio IC 114 provides data (TX_DATA) for transmission to PA 118. The radio IC 114 asserts a transmit enable (TX_ENABLE) signal to the transmission interlock logic 106. The transmission interlock logic 106 asserts signal 124 to AND gate 118 to enable PA 116, allowing the second radio 104 to transmit over the medium.
If multiple radios (e.g., radios 102, 104) concurrently want to transmit data, the transmission interlock logic 106 selects one radio to enable transmission while not enabling (or disabling) the other radio or radios. In an example embodiment, the transmit interlock logic 106 selectively enables a radio to transmit based on a fair, round robin scheme. For example, the first time radios 102, 104 want to transmit concurrently, the transmission interlock logic 106 enables the first radio 102 to transmit while making the second radio 104 wait. The next time radios 102, 104 want to transmit concurrently, the transmission interlock logic 106 enables the second radio 104 to transmit while making the first radio 102 wait, and so on. In another example embodiment, the transmit interlock logic 106 selectively enables a radio to transmit based on queue priority level. In yet another example embodiment, the transmit interlock logic 106 randomly selects (e.g., using a pseudorandom function generator) which radio is enabled.
In an example embodiment, the selected radio transmits over the medium. For example, if the transmission interlock 106 selects the first radio 102 to transmit, the PA 110 is enabled, allowing the data to be transmitted over the medium (wireless in this example but those skilled in the art should readily appreciate that the principles described herein are applicable to any medium). Because the PA 116 is not enabled, data sent by the second radio 104 is not being transmitted over the medium.
As will be explained in more detail herein (see, e.g.,
Moreover, if the first radio 102 receives additional packets to send while the transmission interlock 106 is waiting for the second radio 104 to finish sending data, the additional packets can be transmitted over the medium. For example, because the enable signal 122 from the transmission interlock 106 to AND gate 112 is still asserted, when the first radio asserts the TX_ENABLE signal 120, the PA 110 will be re-enabled and the additional packets can be sent over the medium.
As will be described in more detail herein infra, in an example embodiment, the first radio 102 and/or the second radio 104 may suitably comprise a MAC processor and/or processing circuit. The transmit interlock logic 106 is coupled with the MAC processors and/or processing circuits. Thus, the MAC processors and/or processing circuits can determine from a signal asserted by the transmission interlock logic 106 whether the failure in sending a packet is due to a collision or due to the other radio transmitting. If a failure is caused by the other radio transmitting, the MAC processor is operable not to change the backoff time period for sending a frame once transmission is enabled.
In an example embodiment, the first radio 102 and/or second radio 104 are operable to perform carrier sense multiple access (CSMA) prior to transmitting. This can allow a radio to determine whether the other radio is receiving a packet and accordingly, hold off on transmitting. For example, if the first radio 102 is operating on a 80 MHz channel and the second radio 104 is operating on a 40 MHz channel (which for example may be the lower portion of the 80 MHz channel, the upper portion of the 80 MHz channel, or include any portion of the 80 MHz channel), the first radio 102 will perform a CSMA of the first channel prior to transmitting. If the first radio 102 detects activity on the second channel, the first radio 102 will hold off on transmitting to avoid interfering with the second radio's 104 ability to receive data. Similarly, the second radio 104 will perform a CSMA of the second channel and will not transmit if activity is detected on the first channel.
In an example embodiment, the transmit interlock logic 106 is implemented in hardware (e.g., combinational logic circuits). This can facilitate the ability of transmit interlock logic 106 to control the operation of the radios 102, 104. For example, the transmit interlock logic 106 can select which radio to enable on a packet by packet basis.
In the illustrated example, the first radio 102 is coupled with a first queue Q1, and the second radio 104 is coupled with a second queue Q2. In an example embodiment, the transmit interlock logic 106 determines which radio to allow to transmit over the medium based on the priority of the queue. For example, if the first queue Q1 has a higher priority than the second queue Q2, then the transmit interlock logic 106 will enable the first radio 102 to transmit if there are transmission requests from both radios 102, 104. Those skilled in the art can readily appreciate that in particular embodiments, each radio 102, 104 may service a plurality of queues having corresponding priorities. The transmit interlock logic 106 can select the radio 102, 104 servicing the highest priority queue. Moreover, the transmit interlock logic 106 may select the radio on a packet by packet basis. For example, once a first queue has been serviced and has no more packets to send, the radio with the next highest queue is selected.
In the illustrated example, control logic 206 is coupled with the first and second radios 102, 104. The control logic 206 steers clients to the appropriate radio 102, 104. In an example embodiment, to steer legacy clients to the legacy radio, a mandatory feature is advertised on the newer radio that will discourage legacy clients from associating. For example, if the first radio 102 is an 802.11ac, the control logic can have the first radio 102 advertise a very high data rate as mandatory to prevent an 802.11n legacy client from associating with that radio 102.
The control logic 206 can also steer newer clients away from a legacy radio. For example, if the first radio 102 is a newer protocol radio and the second radio 104 is a legacy radio, the control logic 206 can determine whether a client supports the newer protocol. If the client supports a newer protocol, control logic 206 can refuse to associate, and/or respond to probes, on the legacy radio (the second radio 104 in this example).
In an example embodiment, the control logic 206 may suitably comprise a user interface (not shown, see e.g.,
Optionally, computer system 300 may include a user interface 318 coupled with bus 302. The user interface may include a display 312 such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. An input device 314, such as a keyboard including alphanumeric and other keys is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is cursor control 316, such as a mouse, a trackball, cursor direction keys, and/or a touchscreen for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y) that allows the device to specify positions in a plane.
An aspect of the example embodiment is related to the use of computer system 300 for using multiple radios to provide service on the same channel to support a new standard while maintaining compatibility with legacy devices. According to an example embodiment, using multiple radios to provide service on the same channel to support a new standard while maintaining compatibility with legacy devices is provided by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. Such instructions may be read into main memory 306 from another computer-readable medium, such as storage device 310. Execution of the sequence of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 306. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement an example embodiment. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor 304 for execution. Such a medium may take many forms, including but not limited to non-volatile media, and volatile media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 310. Volatile media include dynamic memory such as main memory 306. As used herein, tangible media may include any non-transitory media such as a volatile and non-volatile media. Common forms of computer-readable media include, for example, floppy disk, a flexible disk, hard disk, magnetic cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASHPROM, CD, DVD or any other memory chip or cartridge, or any other medium from which a computer can read.
In view of the foregoing structural and functional features described above, methodologies in accordance with example embodiments will be better appreciated with reference to
In an example embodiment, methodology 400 can be implemented by a device that has multiple radios operating on the same channel or on overlapping channels. For example, methodology 400, can be implemented by an access point that has one radio that employs a first (e.g., new) protocol and a second radio that employs a second, (e.g., older or legacy) protocol. This can allow the access point to provide service with the new protocol while maintaining backwards compatibility for legacy clients. Moreover, methodology 400 also allows for the radios to transmit at their maximum transmit powers.
At 402, the methodology 400 waits for a request to transmit from a radio. A request may be received from a single radio, or multiple requests may be received concurrently from multiple radios.
At 404, a determination is made whether multiple requests to transmit have been received. Multiple requests may be received simultaneously and/or concurrently. For example, a second request to transmit may be received while a first request to transmit is still being processed.
If, at 404, a determination is made that multiple transmit requests were received (YES), at 406, a radio is selected. The radio for transmission may be selected using any suitable criteria, such as a round robin scheme, queue priority, or a random selection. If, at 404, a determination is made that a single request was received (NO), the transmitter submitting the request is considered the selected radio, and 406 can be skipped.
At 408, the power amplifier (PA) of the radio that will be transmitting is enabled. At 410 a determination is made whether the transmit requests are completed. If there is a radio still transmitting (NO), the method waits until the radio is done transmitting. This prevents a radio from transmitting a partial packet (for example, if the selected radio is sending a short packet and the unselected radio is sending a long packet, waiting until both radios are done transmitting (e.g., the transmit requests are de-asserted) prevents the unselected (second in this example) from sending a partial packet (e.g., the longer packet minus the time that the first radio was sending). If the radios are done transmitting (YES), the power amplifier of the radio that was transmitting is disabled as indicated at 412. Processing returns to 402 to wait for the next request.
As those skilled in the art can readily appreciate, methodology 400 can be implemented on a packet by packet basis. For example, the power amplifier may be enabled for a single frame at 410, and 412, 404, 408, and 410 can be repeated until all frames have been transmitted.
At 502, the methodology 500 waits for a radio (or transmitter) to begin transmitting. For example, the radio may assert a transmit enable (TX_ENABLE) as illustrated in
At 504, a determination is made whether multiple requests to transmit were received. Multiple requests may be received simultaneously and/or concurrently. For example, a second request to transmit may be received while a first request to transmit is still being processed.
If, at 504, a determination was made that multiple transmit requests were received (YES), at 506 a transmitter is selected. Any suitable criteria, such as a round robin scheme, queue priority, or a random selection may be employed for selecting the selected radio. If, at 504, a determination is made that a single request was received (NO), the transmitter submitting the request is considered the selected radio, and 506 can be skipped.
At 508, the power amplifiers of the unselected radios are deactivated. For example, in
At 510, a determination is made whether all radios are done transmitting. If there is a radio still transmitting (NO), the method waits until the radio is done transmitting. This prevents a radio from transmitting a partial packet, for example if the selected radio is sending a short packet and the unselected radio is sending a long packet, waiting until both radios are done transmitting (e.g., the transmit requests are de-asserted) prevents the unselected transmitter from sending a partial packet (e.g., the longer packet minus the length of the packet sent by the selected transmitter). After all of the radios are done transmitting (YES), at 514 the enable signals to the unselected transmitters are re-enabled. The methodology 500 returns to 502 to wait for the next transmit request.
In an example embodiment, methodology 600 can be implemented by a device that has multiple radios operating on the same channel or on overlapping channels. For example, methodology 600 can be implemented by an access point that has one radio that employs a first (e.g., new) protocol and a second radio that employs a second, (e.g., older or legacy) protocol. This can allow the access point to provide service with the new protocol while maintaining backwards compatibility for legacy clients. For example, methodology can be implemented by apparatus 100 (
At 602, a probe and/or association request is received from a client. At 604, a determination is made whether the request was received on a radio appropriate for the client. For example, if the device has a first radio that supports a first (e.g. new) protocol, and a second radio that supports a second (e.g., old or legacy) protocol, a determination is made whether the radio receiving the request is the appropriate radio for the request. For example, if the client is capable of supporting the first protocol and is communicating with the first radio (YES), association of the client with the first radio continues at 606. However, if the client is not capable of supporting the first protocol, but can support the second protocol (NO), then the client is steered to the appropriate (second in this example) radio at 608. As another example, if the client is capable of supporting both the first and second protocols, but the first protocol is preferred, if the client is attempting to associate with the first radio (YES), association of the client with the first radio continues at 606; however, if the client is attempting to associate with the second radio (NO), the client is steered to the appropriate radio at 608.
Described above are example embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies, but one of ordinary skill in the art will recognize that many further combinations and permutations of the example embodiments are possible. Accordingly, this application is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.
Number | Name | Date | Kind |
---|---|---|---|
6295450 | Lyer et al. | Sep 2001 | B1 |
7058071 | Myles et al. | Jun 2006 | B1 |
8160036 | Smith et al. | Apr 2012 | B2 |
8165534 | Meier et al. | Apr 2012 | B2 |
20020137521 | Kim et al. | Sep 2002 | A1 |
20050060319 | Douglas et al. | Mar 2005 | A1 |
20050208956 | Takagi et al. | Sep 2005 | A1 |
20080014921 | Venkatachalam | Jan 2008 | A1 |
20090147745 | Kawamoto et al. | Jun 2009 | A1 |
20100027496 | Higuchi et al. | Feb 2010 | A1 |
20100040121 | Duerdodt et al. | Feb 2010 | A1 |
20100285760 | Blosco et al. | Nov 2010 | A1 |
20110072153 | Candelaria et al. | Mar 2011 | A1 |
20110280224 | Falck et al. | Nov 2011 | A1 |
Number | Date | Country |
---|---|---|
1119137 | Jul 2001 | EP |
Entry |
---|
Cisco: The First 802.11ac Cisco Products, Jun. 28, 2012 Press Release. |
Cisco Annouces First Linksys Smart Wi-Fi Router and Universal Connector Powered by Industry's Next-Generation Wireless Technology—802.11ac, Jun. 27, 20012 Press Release. |
Number | Date | Country | |
---|---|---|---|
20140086156 A1 | Mar 2014 | US |