Abstract:
A method of operating an access point includes storing, for each of a plurality of channels, a corresponding first value and second value. A first channel is selected according to a channel polling scheme. A first beacon is transmitted over the first channel to announce commencement of communication over the first channel. Subsequent to the first beacon but prior to a second beacon, data is exchanged with a wireless client over the first channel. The method includes, in response to a first time period based on the first value corresponding to the first channel expiring, transmitting the second beacon over the first channel to announce conclusion of communication over the first channel. The method includes, in response to a second time period based on the second value corresponding to the first channel expiring, transmitting a third beacon over the first channel to announce commencement of communication over the first channel.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present disclosure is a continuation of U.S. patent application Ser. No. 13/018,926 (now U.S. Pat. No. 8,331,345), filed on Feb. 1, 2011, which is a continuation of U.S. patent application Ser. No. 12/482,573 (now U.S. Pat. No. 7,881,254), filed on Jun. 11, 2009, which is a divisional of U.S. patent application Ser. No. 10/936,348 (now U.S. Pat. No. 7,570,612), filed on Sep. 7, 2004. The entire disclosures of the applications referenced above are incorporated herein by reference. 
    
    
     BACKGROUND 
     The present invention relates generally to wireless communications networks. More particularly, the present invention relates to multi-band communications for a single wireless base station. 
     Wireless communications networks are enjoying rapidly increasing popularity, especially in the small office/home office environment, and even at home. However, multiple frequency bands are available for such networks, and band-specific equipment is required for each. For example, the IEEE standard 802.11 specifies a 2.4 GHz frequency band, while the IEEE standard 802.11a specifies a 5 GHz frequency band. Conventional network devices designed for one band are unable to communicate with network devices in another band. 
     SUMMARY 
     In general, in one aspect, this specification discloses a method including: receiving, over a first wireless channel, a first beacon specifying a time interval during which a first wireless client is to communicate with a wireless access point according to an infrastructure network model; in response to receiving the first beacon, causing the first wireless client to exchange packets of data with the wireless base station over the first wireless channel for the time interval specified in the first beacon, and in response to expiration of the time interval specified in the first beacon, (i) causing the first wireless client to exchange packets of data with a second wireless client over a second wireless channel according to an ad hoc network model, or (ii) causing the first wireless client to enter a sleep state. 
     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
    
    
     
       DESCRIPTION OF DRAWINGS 
         FIG. 1  shows a wireless network comprising a wireless access point, a plurality of wireless clients operating on one frequency band, and a further plurality of wireless clients operating on another frequency band. 
         FIG. 2  shows a wireless access point according to a preferred embodiment of the present invention. 
         FIG. 3  shows a process for the wireless access point of  FIG. 2  according to a preferred embodiment of the present invention. 
         FIG. 4  shows the format of a start beacon packet according to a preferred embodiment. 
         FIG. 5  shows the format of a stop beacon packet according to a preferred embodiment. 
         FIG. 6  shows a process for the wireless access point of  FIG. 2  using a start beacon only according to a preferred embodiment of the present invention. 
         FIG. 7  shows a process for the wireless access point of  FIG. 2  using a stop beacon only according to a preferred embodiment of the present invention. 
         FIG. 8  shows a wireless client according to a preferred embodiment of the present invention. 
         FIG. 9  shows a process for the wireless client of  FIG. 8  according to a preferred embodiment of the present invention. 
         FIG. 10  shows a process for the wireless client of  FIG. 8  using a start beacon only according to a preferred embodiment of the present invention. 
         FIG. 11  shows a process for the wireless client of  FIG. 8  using a stop beacon only according to a preferred embodiment of the present invention. 
     
    
    
     The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears. 
     DETAILED DESCRIPTION 
     Embodiments of the present invention provide a wireless base station that is able to communicate with wireless network devices operating on a plurality of different frequency bands. For example, one embodiment provides a wireless access point that is compliant with both of IEEE standards 802.11a and 802.11, which specify different frequency bands, and so is able to communicate with wireless network devices operating on both frequency bands. In addition, embodiments of the wireless base station enable wireless end stations, such as wireless clients, to communicate with each other via the base station even though the end stations operate on different frequency bands. Preferably the wireless access points are otherwise compliant with one or more of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. 
     Embodiments of the present invention also provide end stations that can both communicate with each other according to an ad hoc model, such as the ad hoc wireless network model specified by IEEE standard 802.11, and communicate with and via a wireless base station according to an infrastructure model, such as the infrastructure wireless network model specified by IEEE standard 802.11. Preferably the intervals during which the end stations operate according to each of these two models is controlled by the wireless base station using signals such as beacons. Preferably the wireless clients are otherwise compliant with one or more of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. 
       FIG. 1  shows a wireless network  100  comprising a wireless access point  102 , a plurality of wireless clients  104 A through  104 N operating on one frequency band such as a 2.4 GHz band such as that specified by IEEE standard 802.11, and a plurality of wireless clients  106 A through  106 N operating on another frequency band such as a 5 GHz band such as that specified by IEEE standard 802.11a. While embodiments of the present invention are described in terms of IEEE standard networks, wireless access points, and wireless clients, it will be understood by those skilled in the relevant arts after reading this description that the principles of the present invention extend to other sorts of wireless networks, wireless base stations, and wireless end stations. 
     Clients  104  and  106  are able to communicate in both ad hoc and infrastructure modes, as described in detail below. Thus the signals  108 A through  108 N exchanged between wireless access point  102  and wireless clients  104 , as well as the signals  110  exchanged between clients  104 , have carrier center frequencies in the 2.4 GHz band. Similarly, the signals  112 A through  112 N exchanged between wireless access point  102  and wireless clients  106 , as well as the signals  114  exchanged between clients  106 , have carrier center frequencies in the 5 GHz band. 
       FIG. 2  shows a wireless access point  200  according to a preferred embodiment of the present invention. Other embodiments of the present invention provide wireless base stations with similar configurations. Wireless access point  200  comprises a wireless media access controller (MAC)  202 , a wireless physical-layer device (PHY)  204  in communication with a wireless local-area network (WLAN)  206  or the like, a wireline MAC  208  such as an Ethernet MAC, and a wireline PHY  210  such as an Ethernet PHY in communication with a wireline network  212  such as an Ethernet wide-area network (WAN), LAN, or the like. 
     Wireless MAC  202  comprises a controller  214 , a memory  218 , a plurality of channel queues  220 A through  220 N, a wireline network queue  222 , and switches  224 A and  224 B such as multiplexers and demultiplexers that operate according to a channel select signal (CHSEL) signal  226 . Each channel queue  220  stores packets of data to be transmitted over a corresponding channel in WLAN  206 . Wireline queue  222  stores packets of data to be transmitted to wireline network  212 . Channel queues  220  and wireline network queue  222  can be implemented within memory  218 . 
     Memory  218  stores a channel list  228  that lists all of the channels available in all of the frequency bands in which access point  200  operates. Memory  218  also stores a channel access time (CAT) value  230  and/or a return to channel (RTC) value  232  for each channel. The CAT and RTC values are used to control the intervals at which wireless clients  104  and  106  operate in ad hoc and infrastructure modes, as described in detail below. The CAT and RTC values can be fixed values, or can be modified during operation. 
     Memory  218  also stores a switch database  234  that learns the band and channel upon which each wireless client  104  and  106  is currently operating according to well-known methods. Memory  218  optionally stores a channel polling scheme  236 , which in other embodiments can be implemented directly within controller  214 . 
     Wireless PHY  204  comprises a baseband processor  240 , a plurality of radio-frequency (RF) transceivers  242 A through  242 M, an antenna  244 , and switches  246 A and  246 B such as multiplexers and demultiplexers that operate according to a band select signal (BSEL) signal  248 . 
       FIG. 3  shows a process  300  for wireless access point  200  of  FIG. 2  according to a preferred embodiment of the present invention. Other embodiments of the present invention provide similar processes for other types of wireless base stations. 
     Controller  214  selects one of the wireless channels identified in channel list  228  according to channel polling scheme  236  (step  302 ). Referring again to  FIG. 2 , controller  214  asserts channel select signal (CHSEL)  226  and band select signal (BSEL)  248  to identify the channel and the frequency band for the channel. 
     Any sort of channel polling scheme can be used. For example, in a round-robin polling scheme, the channels are polled according to their listing order in channel list  228 . As another example, in a priority scheme the channels are prioritized, for example according to the type of traffic carried. Channels that carry low-latency traffic such as voice data could have high priorities, while channels for Internet access or file downloads could have lower priorities. In addition, the priorities could be weighted. Controller  214  then selects channels having high priorities more often than those with low priorities. As another example, a user-selected scheme could be used, in which the user selects the polling scheme, for example by entering some channels more than once in channel list  228  to achieve non-uniform spreading of traffic. As another example, an adaptive scheme could be used in which controller  214  determines when and how often to switch to each channel based on learned traffic patterns, the types of devices operating on the channels, and the like. For example, if controller  214  learns that no devices are operating on the IEEE 802.11g band, it can cease to poll the channels in that band, except for infrequent polling to detect new devices. 
     Controller  214  causes a start beacon packet to be sent to the selected wireless channel (step  304 ). In response to the CHSEL and BSEL signals, the RF transceiver  242  for the selected channel and band transmits the start beacon packet. The start beacon packet optionally comprises the channel access time (CAT) value for the selected wireless channel. 
     The start beacon packet indicates to the wireless clients that the wireless clients must now communicate with the wireless access point according to an infrastructure network model, such as the infrastructure wireless network model specified by IEEE standard 802.11. 
       FIG. 4  shows the format of a start beacon packet  400  according to a preferred embodiment. Start beacon packet  400  comprises a conventional MAC header  402  and a plurality of element fields  404 . Each element field comprises an element identification parameter (EID)  406 , a length parameter (LEN)  408 , and one of a plurality of information parameters  410 . The information parameters include a service set identity (SSID) parameter; a supported rates parameter; a distribution set (DS) parameter set; a traffic information map (TIM) parameter, as is well-known in the relevant arts. In addition to such conventional information parameters  410 , start beacon packet  400  includes an information parameter  410  representing the CAT value for the channel. For example, the CAT value can be placed in an element field  404  reserved for a generic element or the like. Wireless clients monitor this field to determine the CAT value for the channel, as described in detail below. 
     Controller  214  then exchanges packets of data with the selected wireless channel according to the infrastructure network model for an interval specified by the CAT value for the selected wireless channel (step  306 ). Switch  224 B selects the channel queue  220  for the selected wireless channel according to CHSEL signal  226 . Baseband processor  240  receives packets from the channel queue  220 . Switch  246 A passes the packets to the proper RF transceiver  242  according to BSEL signal  248 . The selected RF transceiver  242  transmits a signal representing the packets via switch  246 B and antenna  244  to WLAN  206 . 
     Packets received by MAC  202  from the selected wireless channel are fed by controller  214  to the proper destination channel queue  220  according to switch database  234 . That is, controller  214  learns the channel on which each wireless client operates, and populates switch database  234  according to methods well-known in the relevant arts. When a packet is received, controller  214  consults switch database  234  to determine the channel on which the intended destination device operates, and places the packet in the channel queue  220  for that channel. If the packet is addressed to wireline network  212 , controller  214  places the packet in wireline queue  222 , where the packet is subsequently transmitted to wireline network  212  by wireline MAC  208  and wireline PHY  210 . Packets received from wireline network  212  are placed into the proper channel queue  220  by a similar process. 
     At the end of the interval specified by the CAT value for the selected wireless channel (step  308 ), controller  214  causes a stop beacon packet to be sent to the selected wireless channel (step  310 ). In response to the CHSEL and BSEL signals, the RF transceiver  242  for the selected channel and band transmits the stop beacon packet. The stop beacon packet optionally comprises the return to channel (RTC) value for the selected wireless channel. 
     The stop beacon packet indicates to the wireless clients that the wireless clients are now free to communicate with each other according to an ad hoc network model, such as the ad hoc wireless network model specified by IEEE standard 802.11, to enter a low-power sleep state, or to perform some other function. 
       FIG. 5  shows the format of a stop beacon packet  500  according to a preferred embodiment. Like start beacon packet  400 , stop beacon packet  500  comprises a conventional MAC header  502  and a plurality of element fields  504 , each comprising an element identification parameter (EID)  506 , a length parameter (LEN)  508 , and one of a plurality of information parameters  510 . In addition to conventional information parameters  510 , stop beacon packet  500  includes an information parameter  510  representing the RTC value for the channel. For example, the RTC value can be placed in an element field  504  reserved for a generic element or the like. Wireless clients monitor this field to determine the RTC value for the channel, as described in detail below. 
     During this interval wireless access point  200  serves other channels in a similar manner (step  312 ). In particular, controller  214  selects another channel, which can be in a different frequency band, and repeats process  300  for that channel, in turn serving the channels in channel list  228  according to polling scheme  236 . At the end of the interval specified by the RTC value (step  314 ), process  300  resumes with step  302  for the wireless channel. 
       FIG. 6  shows a process  600  for wireless access point  200  of  FIG. 2  using a start beacon only according to a preferred embodiment of the present invention. Other embodiments of the present invention provide similar processes for other types of wireless base stations. 
     Controller  214  selects one of the wireless channels identified in channel list  228  according to channel polling scheme  236  (step  602 ). Controller  214  causes a start beacon packet to be sent to the selected wireless channel (step  604 ). The start beacon packet comprises the channel access time (CAT) value for the selected wireless channel. The start beacon packet indicates to the wireless clients that the wireless clients must now communicate with the wireless access point according to an infrastructure network model, such as the infrastructure wireless network model specified by IEEE standard 802.11. 
     Controller  214  then exchanges packets of data with the selected wireless channel according to the infrastructure network model for an interval specified by the CAT value for the selected wireless channel (step  606 ), as described above. At the end of the interval specified by the CAT value for the selected wireless channel (step  608 ), process  600  resumes with step  602 . In particular, controller  214  selects another channel, which can be in a different frequency band, and serves that channel in a similar manner, in turn serving the channels in channel list  228  according to polling scheme  236  (step  612 ). Meanwhile the wireless clients operating in the channel selected in step  602  are free to communicate with each other according to an ad hoc network model, such as the ad hoc wireless network model specified by IEEE standard 802.11, until they receive another start beacon from access point  200 . After an interval specified by the RTC value for a wireless channel (step  614 ), controller  214  returns to the channel (step  602 ). 
       FIG. 7  shows a process  700  for wireless access point  200  of  FIG. 2  using a stop beacon only according to a preferred embodiment of the present invention. Other embodiments of the present invention provide similar processes for other types of wireless base stations. 
     Controller  214  selects one of the wireless channels identified in channel list  228  according to channel polling scheme  236  (step  702 ). Controller  214  causes a stop beacon packet to be sent to the selected wireless channel (step  704 ). The stop beacon packet comprises the return to channel (RTC) value for the selected wireless channel. 
     The stop beacon packet indicates to the wireless clients operating in the selected channel that the wireless clients are now free to communicate with each other according to an ad hoc network model, such as the ad hoc wireless network model specified by IEEE standard 802.11, to enter a low-power sleep state, or to perform some other function. 
     During the interval specified by the RTC value, access point  200  serves other channels in channel list  228  according to channel polling scheme  236  (step  706 ). At the end of the interval specified by the RTC value (step  708 ), access point  200  selects the channel selected in step  702  (step  710 ). 
     Controller  214  then exchanges packets of data with the selected wireless channel according to an infrastructure network model, such as the infrastructure wireless network model specified by IEEE standard 802.11, for an interval specified by the CAT value for the selected wireless channel (step  712 ). At the end of the interval specified by the CAT value (step  714 ), access point  200  returns to step  704  to transmit another stop beacon, and repeats process  700 . 
       FIG. 8  shows a wireless client  800  according to a preferred embodiment of the present invention. Other embodiments of the present invention provide wireless end stations with similar configurations. Wireless client  800  comprises a MAC  802  and a PHY  804  in communication with a WLAN  806 . MAC  802  comprises a master controller  808 , an ad hoc controller  810 , an infrastructure controller  812 , and a memory  814 . PHY  804  comprises a baseband processor  818 , an RF transceiver  820 , and an antenna  822 . 
       FIG. 9  shows a process  900  for wireless client  800  of  FIG. 8  according to a preferred embodiment of the present invention. Other embodiments of the present invention provide similar processes for other types of wireless end stations. 
     Wireless client  800  receives a start beacon packet from a wireless access point (step  902 ). The start beacon optionally comprises a CAT value, as described above. Wireless client  800  stores the CAT value in memory  814 . The start beacon packet indicates to wireless client  800  that wireless client  800  now must communicate with the wireless access point according to an infrastructure network model, such as the infrastructure wireless network model specified by IEEE standard 802.11. 
     In response to the start beacon packet, master controller  808  selects infrastructure controller  812  by asserting an infrastructure state of mode select (MSEL) signal  824 . In response, infrastructure controller  812  exchanges packets of data with the wireless access point according to an infrastructure network model (step  904 ). 
     Wireless client  800  later receives a stop beacon packet from the wireless access point (step  906 ). The stop beacon optionally comprises a RTC value, as described above. Wireless client  800  stores the RTC value in memory  814 . The stop beacon packet indicates to wireless client  800  that wireless client  800  is now free to communicate with other wireless clients in its channel according to an ad hoc network model, such as the ad hoc wireless network model specified by IEEE standard 802.11, to enter a low-power sleep state, or to perform some other function. 
     In embodiments where the start beacon packet comprises the CAT value, wireless client  800  can rely on the CAT value rather than upon receipt of a subsequent stop beacon packet. That is, infrastructure controller  812  exchanges packets of data with the wireless access point for an interval beginning with receipt of the start beacon packet and having a duration represented by the CAT value. This provides redundancy in case wireless client  800  does not properly receive the stop beacon packet. In other embodiments, wireless client  800  can rely upon either receipt of the stop beacon packet or expiration of the CAT interval, whichever occurs first (or last). 
     In response to the stop beacon packet (or expiration of the CAT interval), master controller  808  selects ad hoc controller  810  by asserting an ad hoc state of mode select (MSEL) signal  824 . In response, ad hoc controller  810  exchanges packets of data with other wireless clients according to an ad hoc network model (step  908 ). Alternatively, master controller  808  can cause wireless client  800  to enter a low-power sleep state, or to perform some other function. 
     Wireless client  800  later receives another start beacon packet from the wireless access point (step  902 ), which optionally comprises a CAT value, as described above. In embodiments where the stop beacon packet comprises the RTC value, wireless client  800  can rely on the RTC value rather than upon receipt of a subsequent start beacon packet. That is, ad hoc controller  810  exchanges packets of data with other wireless clients in its channel for an interval beginning with receipt of the stop beacon packet and having a duration represented by the RTC value. This provides redundancy in case wireless client  800  does not properly receive the start beacon packet. In other embodiments, wireless client  800  can rely upon either receipt of the start beacon packet or expiration of the RTC interval, whichever occurs first (or last). Process  900  then repeats as described above. 
       FIG. 10  shows a process  1000  for wireless client  800  of  FIG. 8  using a start beacon only according to a preferred embodiment of the present invention. Other embodiments of the present invention provide similar processes for other types of wireless end stations. 
     Wireless client  800  receives a start beacon packet from a wireless access point (step  1002 ). The start beacon comprises a CAT value, as described above. Wireless client  800  stores the CAT value in memory  814 . The start beacon packet indicates to wireless client  800  that wireless client  800  now must communicate with the wireless access point according to an infrastructure network model, such as the infrastructure wireless network model specified by IEEE standard 802.11. 
     In response to the start beacon packet, master controller  808  selects infrastructure controller  812  by asserting an infrastructure state of mode select (MSEL) signal  824 . In response, infrastructure controller  812  exchanges packets of data with the wireless access point according to an infrastructure network model (step  1004 ). 
     At the end of an interval beginning with receipt of the start beacon packet and having a duration specified by the CAT value (step  1006 ), master controller  808  selects ad hoc controller  810  by asserting an ad hoc state of mode select (MSEL) signal  824 . In response, ad hoc controller  810  exchanges packets of data with other wireless clients according to an ad hoc network model (step  1008 ). 
     Wireless client  800  later receives another start beacon packet from the wireless access point (step  1002 ), which comprises a CAT value, as described above. Process  1000  then repeats as described above. 
       FIG. 11  shows a process  1100  for wireless client  800  of  FIG. 8  using a stop beacon only according to a preferred embodiment of the present invention. Other embodiments of the present invention provide similar processes for other types of wireless end stations. 
     Wireless client  800  receives a stop beacon packet from the wireless access point (step  1102 ). The stop beacon comprises a RTC value, as described above. Wireless client  800  stores the RTC value in memory  814 . The stop beacon packet indicates to wireless client  800  that wireless client  800  is now free to communicate with other wireless clients in its channel according to an ad hoc network model, such as the ad hoc wireless network model specified by IEEE standard 802.11, to enter a low-power sleep state, or to perform some other function. 
     In response to the stop beacon packet, master controller  808  selects ad hoc controller  810  by asserting an ad hoc state of mode select (MSEL) signal  824 . In response, ad hoc controller  810  exchanges packets of data with other wireless clients according to an ad hoc network model (step  1104 ). Alternatively, master controller  808  can cause wireless client  800  to enter a low-power sleep state, or to perform some other function. 
     At the end of an interval beginning with receipt of the stop beacon packet and having a duration specified by the RTC value (step  1106 ), master controller  808  selects infrastructure controller  812  by asserting an infrastructure state of mode select (MSEL) signal  824 . In response, infrastructure controller  812  exchanges packets of data with the wireless access point according to an infrastructure network model (step  1108 ). 
     Wireless client  800  later receives another stop beacon packet from the wireless access point (step  1102 ), which comprises a RTC value, as described above. Process  1100  then repeats as described above. 
     The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). 
     A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.