Time synchronized wireless method and operations

Information

  • Patent Grant
  • 8086232
  • Patent Number
    8,086,232
  • Date Filed
    Wednesday, June 28, 2006
    18 years ago
  • Date Issued
    Tuesday, December 27, 2011
    12 years ago
Abstract
A scanning method, computer readable medium, and device for suspending, during a first data scanning sequence including a plurality of discrete data scanning intervals, data scanning operations during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals. A data transmission operation is performed during the at least one discrete data scanning interval.
Description
TECHNICAL FIELD

This disclosure relates to scanning methodologies and, more particularly, to multi-interval wireless scanning methodologies.


BACKGROUND INFORMATION

Various methods are used by communications systems to allow electronic devices such as computer devices to communicate and exchange signals, data and other types of messages and information. Systems such as LANs (Local Area Networks), the Internet and conventional telephone networks often link computers, phones and other devices. Another method in use today to allow mobile computers to communicate is the WLAN (Wireless Local Area Network). The I.E.E.E. or IEEE (Institute for Electrical and Electronics Engineers) 802.11 wireless networking standard, is an industry set of protocols that defines many of the standards that allow communications interoperability among the manufacturers and vendors of WLAN devices. The IEEE 802.11 standards specify several distinct OSI Physical Layer radio transmission mechanisms, such as radio frequencies, whereby signals may be transmitted over the wireless medium. A MAC (Medium Access Control) layer is also defined that organizes and controls the exchange of data packets delivering frames or messages between the communicating stations. The IEEE 802.11-19979 MAC also supports mechanisms whereby special IEEE 802.11, compliant wireless stations, called APs (Access Points) connect to a wired LAN, to bridge or connect, as a frame relay device, the wired and wireless portion of the network infrastructure. Often the wired LAN may further be connected to other networks or access the broader Internet. Mobile computers or PDAs connect to the APs wirelessly using 802.11 WLAN adapters or NICs (Network Interface Cards). These adapters may also be built directly into the devices seeking wireless connectivity.


As defined by the IEEE 802.11 standard, an AP (Access Point) is any device containing an IEEE 802.11-conformant MAC and PHY interface to the wireless medium that provides associated IEEE 802.11-compliant stations with access to the backbone infrastructure. Stated another way, the AP bridges the two network elements together to provide seamless communications from the wireless to the wired infrastructure in a bidirectional fashion.


Several IEEE 802.11 PHY (Physical layer) standards; IEEE 802.11a, IEEE 802.11b and IEEE 802.11g are showing worldwide acceptance. The 11 Mbps (MegaBit Per Second) IEEE 802.11b PHY, operating at 2.4 GHz and employing CCK (Complementary Code Keying) single carrier QPSK modulation, has been shipped since before 2000. The 54 Mbps IEEE 802.11a PHY, operating in the 5 GHz band and based on multiple carrier OFDM (Orthogonal Frequency Division Multiplex) signaling is seeing some acceptance for large company WLAN deployments. The IEEE has also standardized a combined CCK and OFDM-based extension to the 2.4 GHz 802.11b PHY called IEEE 802.11g which is gaining popularity.


With the increased popularity of mobile devices and wireless access come new applications using an increasing amount of bandwidth. In addition to an increasing number of wireless devices, many devices are becoming more mobile over time. Laptop PCs with built in wireless connectivity are replacing traditional desktop devices as the PC of choice. Users expect wireless connectivity not only throughout their enterprise and at home, but also at airports, cafes, hotels and other local “hot spots”. With the increasing number of users, newer applications hungry for higher bandwidth and additional devices and services such as voice or streaming video, it's not surprising the bandwidth needs in the wireless space are ever increasing.


One method to increase available bandwidth is to more efficiently use the bandwidth currently available. Portions of the bandwidth in IEEE 802.11 networks are allocated using CSMA/CD. Having less bandwidth allocated in this manner or decreasing the number of “collisions” which occur are methods to gain added throughput from the RF channels available. IEEE 802.11 networks also rely on scanning as a necessary mechanism to facilitate operation of the network. Using active scanning techniques, a client can search for an AP or other stations to communicate with. This process usually involves the client sending probe requests on each channel it is configured to use and waiting for responses. The client then determines which AP or station is the ideal one to communicate with. Typically most clients have single radios. Thus, when the radio is used to scan a channel not used for data transfer useful bandwidth is lost. The client station or AP can also use passive scanning. As its name implies, the station does not transmit any frames but rather listens passively for beacon frames on each available channel. The client continues to change channels at a specified interval, just as with active scanning, but the client does not send probe requests. Active scanning is the most thorough mechanism used to find APs because it actively sends out 802.11 probes across all channels to find an AP. It requires the client to dwell on a particular channel for a set length of time waiting for the probe response.


With passive scanning, the client iterates through the channels slower than active scanning because it is listening for beacons that are sent out by APs at a set rate, such as ten beacons per second. The client must dwell on each channel for a longer time duration if it is unsure of the start of the beacon interval and to make sure it receives beacons from as many APs as possible for the given channel. The client looks for different information elements such as SSID, and supported rates to aid in selecting an appropriate AP or station for communications.


There is no ideal technique for scanning. Passive scanning has the benefit of not requiring the client to transmit probe requests but runs the risk of potentially missing an AP because it might not receive a beacon during the scanning duration. Active scanning has the benefit of actively seeking out APs to associate to but requires the client to actively transmit probe requests. Depending on the implementation for the 802.11 client and the services supported one technique might be better suited than the other. For example, many embedded systems use passive scanning as the preferred method, whereas 802.11 Voice over IP (VOIP) phones and PC client cards often rely on active scanning, trading off the lost bandwidth of active probing for the shorter time interval spent in scan mode. What is clear is that all single radio systems suffer from lost useful bandwidth while implementing the scanning function. While a second radio could eliminate the lost bandwidth, the second radio would add substantial cost to the wireless system.


SUMMARY OF DISCLOSURE

In a first implementation, a scanning method includes, during a first data scanning sequence including a plurality of discrete data scanning intervals, suspending data scanning operations during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals. A data transmission operation is performed during the at least one discrete data scanning interval.


One or more of the following features may be included. During a subsequent data scanning sequence including the at least one discrete data scanning interval, a data scanning operation may be performed during the at least one discrete data scanning interval. The first data scanning sequence may be a first data scanning sequence for a first wireless communication channel. The subsequent data scanning sequence may be a subsequent data scanning sequence for the first wireless communication channel. A first data scanning sequence for a second wireless communication channel may be performed prior to performing the subsequent data scanning sequence for the first wireless communication channel.


In an alternative implementation, a computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations including, during a first data scanning sequence including a plurality of discrete data scanning intervals, suspending data scanning operations during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals. A data transmission operation is performed during the at least one discrete data scanning interval.


One or more of the following features may be included. During a subsequent data scanning sequence including the at least one discrete data scanning interval, a data scanning operation may be performed during the at least one discrete data scanning interval. The first data scanning sequence may be a first data scanning sequence for a first wireless communication channel. The subsequent data scanning sequence may be a subsequent data scanning sequence for the first wireless communication channel. A first data scanning sequence for a second wireless communication channel may be performed prior to performing the subsequent data scanning sequence for the first wireless communication channel. The computer readable medium may be included with a network addressable device, such as a wireless access point.


In an alternative implementation, a device configured to perform operations including, during a first data scanning sequence including a plurality of discrete data scanning intervals, suspending data scanning operations during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals. A data transmission operation is performed during the at least one discrete data scanning interval.


One or more of the following features may be included. During a subsequent data scanning sequence including the at least one discrete data scanning interval, a data scanning operation may be performed during the at least one discrete data scanning interval. The first data scanning sequence may be a first data scanning sequence for a first wireless communication channel. The subsequent data scanning sequence may be a subsequent data scanning sequence for the first wireless communication channel. A first data scanning sequence for a second wireless communication channel may be performed prior to performing the subsequent data scanning sequence for the first wireless communication channel. The device may be a network addressable device, such as a wireless access point.


The details of one or more implementations is set forth in the accompanying drawings and the description below. Other features and advantages will become apparent from the description, the drawings, and the claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a diagrammatic view of a distributed computing network including a plurality of wireless access points coupled to a backbone infrastructure;



FIG. 2 is a diagrammatic view of a network switching device including a wireless switching agent and a sync agent;



FIG. 3 is a diagrammatic view of one of the access points of FIG. 1 including a data scanning process;



FIG. 4 is a diagrammatic view of a channel scanning sequence;



FIG. 5 is a flow chart of the data scanning process of FIG. 3; and



FIG. 6 is a diagrammatic view of a channel scanning sequence.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, there is shown a representative access point (i.e., AP) deployment 100 with a network/infrastructure backbone 102 as deployed in many present-day large and medium sized businesses. The access points (e.g., access points 104a, 104b, 104c, 104d) may be used to connect devices seeking connectivity in the radio frequency (i.e. RF) domain with the rest of the network. Access points 104a, 104b, 104c, 104d may be geographically dispersed to provide coverage at different locations. While shown in FIG. 1 as a two-dimensional coverage diagram, antenna types and structures may be designed to produce various RF patterns in three dimensions. Accordingly, the timing time synchronization function and the synchronous scanning functions may be applied to all antenna configurations, RF ranges, and dimensions of coverage.


Switching device 106, which may be part of backbone infrastructure 102, may switch/route data packets between access points (e.g., access points 104a, 104b, 104c, 104d) and various other devices, such as servers, computing devices and/or other networking devices. Connections 108a, 108b, 108c, 108d may couple access points (e.g., access points 104a, 104b, 104c, 104d respectively) to backbone infrastructure 102. An example of connections 108a, 108b, 108c, 108d may include a wired Ethernet 10/100 link, an optical conductor, or a wireless communication channel.


The area of RF coverage (i.e., the cell) for a particular wireless access point may be approximated by cells 110a, 110b, 110c, 110d that correspond to the RF coverage areas provided by access points 104a, 104b, 104c, 104d respectively. Depending on the placement and positioning of the access points (e.g., access points 104a, 104b, 104c, 104d), the respective coverage cells (e.g., cells 110a, 110b, 110c, 110d respectively) may or may not overlap. Coverage cells 110a, 110b, 110c, 110d represent areas of coverage that allow for the RF transmission of data to and RF reception of data from various station devices located within the coverage cells. For example, station device 112 (when suitably equipped) may be able to send data to and receive data from access point 104a. However, station device 112 may not be able to send data to and receive data from access points 104b, 104c, 104d (due to the location of station device 112 being outside of coverage cells 110b, 110c, 110d, respectively).


An access point (e.g., access point 104a) may actively manage the wireless traffic between all of the station devices with which e.g., access point 104a is associated. Traffic management may be accomplished using established standards such as the IEEE 802.11-1997 MAC standard that provides for the management and control of wireless packet exchanges between e.g., access point 104a and e.g., client station 112. The collection of specific packet exchange sequences that allow client stations (e.g., client station 112) to identify themselves as a valid network participants, to join or leave the wireless network, to establish and discontinue individual wireless sessions, and to manage the flow of individual data packet transmissions between stations may be referred to as a the WAP (i.e., wireless access protocol), an example of which includes IEEE 802.11-1997.


The 802.11-1997 MAC Wireless Access Protocol defines a set of specific management/control frame exchanges between an access point (e.g., access point 104a) and a client station (e.g., client station 112) that provide for network access, session setup and datagram traffic control. Wireless datagrams may include: network access frames (e.g., “Authentication Request”, “Authentication Response” and “Deauthentication”, for example); session setup frames (e.g., “Probe Request”, “Probe Response”, “Association Request”, “Association Response”, and “Disassociation”, for example); and traffic control frames (e.g., “Beacon”, “Request to Send”, “Clear to Send”, “Contention-Free End”, and “ACK”, for example).


Referring also to FIG. 2, there is shown a diagrammatic representation of a switching device 106. Switching device 106 may support and allow for IEEE 802.3 links to each of the plurality of access points (e.g., access points 104a, 104b, 104c, 104d) in the network. Switching device 106 may support switching/routing of frames between interfaces (e.g., interfaces 202, 204, 206). While switching device 106 is shown to include three interfaces (i.e., interfaces 202, 204, 206), the number and type of interfaces (e.g., wired, optical, wireless, infrared, etc.) may be varied depending on design criteria and requirements. Switching device 106 may include forwarding process 208 that allows for the forwarding, filtering, and modifying of data packets as required by the data protocol being utilized, and may support e.g., various frame relay functions (e.g., IEEE 802.1 D MAC bridging and TCP/IP routing.


Switching device 106 may include a wireless switching agent 210 that coordinates the attached or otherwise connected access points (e.g., access points 104a, 104b, 104c, 104d). For example, functions that are normally provided by the access points (e.g., access points 104a, 104b, 104c, 104d) may be offloaded/coordinated by wireless switching agent 210. Switching device 106 may include sync agent 212. Alternatively, sync agent 212 may be configured as a stand-alone device coupled to backbone infrastructure 102. Additionally/alternatively, sync agent 212 may be incorporated into other devices coupled to backbone infrastructure 102, such as client stations (e.g., client station 112), servers (not shown), access points (e.g., access points 104a, 104b, 104c, 104d), workstations (not shown), and various other networks devices (e.g., switches, hubs, routers, firewalls, gateways, etc.).


Switching device 106 may include a storage device 214 configured to store data frames, configuration parameters, operational code, management capabilities, device parameters, and device settings as required for switching operations. Examples of storage device 214 may include, but are not limited to, a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).


Configuration and/or device parameters stored within storage device 214 may be communicated to other devices via management agent 216 (using encoding schemes and/or protocols, such as simple network management protocol). Communication of the configuration and/or device parameters may be communicated via wired communication channels, optical communication channels, wireless communication channels, and/or alternative communication means.


Referring also to FIG. 3, there is shown a diagrammatic representation of an access point (e.g., access point 104a). Access point 104a may include one or more interfaces 302 for coupling access point 104a and backbone infrastructure 102. An example of interface 302 is an Ethernet interface.


Access point 104a may include forwarding process 304 that allows for the forwarding, filtering, and modifying of data packets as required by the data protocol being utilized, and may support e.g., various frame relay functions (e.g., IEEE 802.1D MAC bridging and TCP/IP routing. Access point 104a may include RF transmitter 306 and RF receiver 308, both of which may be coupled to antenna 310. RF transmitter 306 may allow for the conversion of data frames in data packets, and may allow these data packets to be wirelessly transmitted to a station device (e.g:, station device 112). RF receiver 308 may allow data packets to be wirelessly received from a station device (e.g., station device 112) and converted into data frames.


Access point 104a may include a storage device 312 configured to store data frames, configuration parameters, operational code, management capabilities, device parameters, and device settings as required for AP operations. Examples of storage device 312 may include, but are not limited to, flash memory, a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM).


Configuration and/or device parameters stored within storage device 312 may be communicated to other devices via management agent 314 (using encodings schemes and/or protocols, such as simple network management protocol). Communication of the configuration and/or device parameters may be communicated via wired communication channels, optical communication channels, wireless communication channels, and/or alternative communication means.


As discussed above, access point 104a may include a sync agent 316 that may establish a known timing reference for the access point (e.g., access point 104a) with respect to other access points. Sync agent 316 may be capable of communicating with other sync agents (e.g., sync agent 212) located within other access points (e.g., access point 101b, 101c, 101d).


The passing of configuration and/or device parameters (e.g., via a shared memory) may be utilized if multiple sync agents share common hardware and/or are located within a single device. As discussed above, sync agent 316 may located within an access point (e.g., access point 104a) or other network devices such as client stations (e.g., client station 112), servers (not shown), access points (e.g., access points 104b, 104c, 104d), workstations (not shown), and various other networks devices (e.g., switches, hubs, routers, firewalls, gateways, etc.).


Additionally, while sync agent 316 typically controls the timing parameters of a single access point, sync agent 316 (or a plurality of sync agents) may be configured to control the operation of a plurality of interfaces on a single access point, a plurality of access points, or a plurality of virtual access points; in either a hierarchical, flat, dual redundant or otherwise organized fashion.


As discussed above, sync agent 212 may be located in any client station. Additionally/alternatively, one or more sync agents may be used to control each wireless interface and/or each virtual wireless interface for devices so equipped. Sync agent functionality may additionally/alternatively be distributed about backbone infrastructure 102 in a hierarchical manner or other organized or self organized manner, with or without redundancy.


Communication between various sync agents (e.g., sync agent 316 and sync agent 212, for example) may occur using established protocols (e.g., simple network management protocol), or other appropriate protocol and/or communication methodologies. For enhanced security, an authenticated and secure communication path may be established between sync agents. Sync agent 316 may include a management interface (not shown) to allow for the setting/adjustment of the parameters of sync agent 316. Communication with sync agent 316 (for management purposes) may include a direct interface (e.g., an Ethernet or RS-232C link) or a specialized protocol (e.g., simple network management protocol).


Wireless switching agent 210 of switching device 106 may define a set of transmitting devices (e.g., client station 112) for a wireless network. Accordingly, any new transmitting device that joins the wireless network may receive data from and transmit data to the defined set of transmitting devices. If the new transmitting device is to have the same synchronization index as one or more of the defined set of transmitting devices, the new transmitting device may be provided with the address of the transmitting device (that includes the sync agent 316) with which the new transmitting device should be synchronized. In the event that multiple devices exist with which the new transmitting device may synchronize, wireless switching agent 210 may define which of the transmitting devices the new transmitting device should synchronize with.


Once the process of defining the transmitting device with which the new transmitting device should synchronize with is completed and any required lead times/lag times are defined, sync agent 316 may generate and transmit a time synchronized beacon signal that facilitates the synchronized transmission of data between the wireless transmitting devices included within the wireless network (e.g., access points 104a, 104b, 104c, 104d).


Synchronization of the new transmitting device and an existing transmitting device may be accomplished by listening for two consecutive time synchronized beacon signals so that the new transmitting device may define a beacon interval (i.e., the time between consecutive time synchronized beacon signals). The new transmitting device may then transmit a time synchronized beacon signal that is synchronized with the time synchronized beacon signals being transmitted by the existing transmitting device. This methodology, in turn, may insure that the beacon signals transmitted by the various devices (e.g., access points 104a, 104b, 104c, 104d) included within the wireless network are synchronized with each other, thus establishing a common time synchronization point across the wireless network.


Once a time synchronized beacon signal is established across a wireless network, synchronized data scans may be performed. A synchronized data scan (which may be executed by wireless switching agent 210) may allow all participating devices (or a portion thereof) to “listen” for network traffic within a specific channel until e.g., the expiry of a defined period of time and/or the occurrence of a defined condition or event. Such a condition or event may be e.g., the transmission of data from a specific source or to a specific destination.


The individual access points (e.g., access points 104a, 104b, 104c, 104d) may execute a data scanning process 318 that allows for the transmission of data during a data scanning sequence. The instruction sets and subroutines of data scanning process 318, which may be stored on storage device 312 coupled to access point 104a, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into access point 104a.


Typically, an access point (e.g., access point 104a) is a multi-channel device. For example, access point 104a may transmit and receive data on eleven discrete channels.


Referring also to FIG. 4, data scanning process 318 of access point 104a may perform a data scanning sequence by monitoring “channel 1” for a defined period of time to determine if a remote device (e.g., client station 112) is trying to transmit data to access point 104a on “channel 1”. An example of this defined period of time may be 300 milliseconds. The defined period of time may be long enough to insure coverage for detection of devices that beacon on a periodic basis, and may be an interval at least twice the established beacon interval. Other devices may also transmit on a more random basis. Once this defined period of time has passed, access point 104a may transmit data that is available for transmission (within access point 104a) to one or more intended recipients. In the event that no data is available for transmission, data scanning process 318 may begin the next data scanning sequence, thus resulting in the scanning of “channel 2”. Data scanning process 318 may repeat the scanning of channels until the last channel (e.g., “channel 11”) is successfully scanned. Once completed, data scanning process 318 may be repeated and may once again scan “channel 1”. Alternatively, the full scanning cycle of all of the channels may be scheduled to start again on the occurrence of some event or at some predetermined future time.


Unfortunately, while an increase in scanning time may result in quicker detection of remote devices, transmission delays may be increased. Certain types of data are more time-sensitive than other types of data. An example of such a time-sensitive data type is Voice-Over-IP (i.e., VoIP) data. Specifically, the human ear is highly sensitive to delays in VoIP data and extensive delays (e.g., >250 milliseconds) my render the system less desirable or unusable. Assume that VolP data is available for transmission one millisecond after data scanning process 318 begins the data scanning sequence for “channel 1”. As discussed above, this VoIP data may not be transmitted until after the data scanning sequence for “channel 1” is completed. Accordingly, as the defined period of time (in this example) is 300 milliseconds, the transmission of the VoIP data may be delayed for at least 299 milliseconds (i.e., an unacceptable delay).


Accordingly and referring also to FIGS. 5 & 6, data scanning process 318 may divide 400 the data scanning sequence for each channel into a plurality of discrete data scanning intervals 500. For example, the above-described 300 millisecond defined period of time during which “channel 1” is scanned may be divided 400 into ten 30 millisecond discrete data scanning intervals.


Data scanning process 318 may execute 402 the data scanning sequence for the channel being scanned (e.g., “channel 1”). During this data scanning sequence, data scanning process 318 may monitor e.g., “channel 1” to determine if a remote device (e.g., access point 104b or client station 112) is attempting to transmit data to access point 104a. In the event that a remote device is indeed trying to transmit data to access point 104a, access point 104a and e.g., client station 112 may facilitate the transfer of data to access point 104a via “channel 1”.


In the event that data is available for transmission from access point 104a to a remote device (e.g., client station 112), data scanning process 318 may make a determination 404 concerning whether the data is time-sensitive data (e.g., VoIP data or other high priority information or control). If the data is not time-sensitive data, transmission of the data may be delayed until the completion of the data scanning sequence for the channel (e.g., “channel 1”). However, if the data is indeed time-sensitive data, data scanning process 318 may suspend 406 data scanning operations for at least one of the discrete data scanning intervals to allow for the transmission 408 of the time-sensitive data. The exact length (i.e., the number of discrete data scanning intervals) of the suspension 406 may be determined based on the amount of time required to successfully transmit 408 the time-sensitive data. For example, if it takes 45 milliseconds to transmit 408 the time-sensitive data, the data scanning operations may be suspended 406 for two time intervals (i.e., for a total of 60 milliseconds). When determining whether or not data is time-sensitive data, the header information of the individual data packets may be processed. Other information may also be used to determine if the traffic should be classified as time-sensitive. For example, the addresses, protocol or any other fields within the packet may aid in the classification, including error detection and security settings. Management parameters and any other access point settings (such as buffer sizing, queue depths and number of active client and network parameters) may also be utilized. These and other parameters, such as throughput of clients, may also be used to determine which time interval (typically a beacon interval) the skipped scan interval(s) will be rescheduled to.


Once the data is successfully transmitted, the data scanning operations are resumed beginning with the next discrete data scanning interval. For example, if time-sensitive data is made available for transmission during the third 502 discrete data scanning interval, data scanning operations may be suspended during the fourth 504 and fifth 506 discrete data scanning intervals (i.e., assuming that it takes 45 milliseconds to successfully transmit the time-sensitive data). The data scanning operations may then be resumed during the sixth 508 discrete data scanning interval.


If 410 the data scanning sequence is complete, the skipped discrete data scanning intervals (e.g., fourth 504 and fifth 506 discrete data scanning intervals) may be rescheduled 411 for scanning during a subsequent data scanning sequence. Additionally, once the data scanning sequence is complete, the channel being scanned may be incremented 412 and the next channel may be scanned either immediately or after a determined delay (thus allowing for data transmissions and/or other actions to occur). For example, once the data scanning sequence for “channel 1” is completed, the next channel (i.e., “channel 2”) may be scanned assuming no exception conditions.


Additionally, it may be possible for a suspension to span the data scanning sequence for multiple channels. For example, if time sensitive data is received during the ninth 510 discrete data scanning interval for “channel 1”, a two interval suspension may result in the tenth 512 discrete data scanning interval of “channel 1” being suspended in addition to the first 514 data scanning interval for “channel 2”.


In the event that time-sensitive data was received 404 and data scanning operations for one or more intervals were suspended 406 to allow for the transmission 408 of the time-sensitive data, when the data scanning operations are resumed, data scanning process 318 may prioritize the scanning 414 of any discrete data scanning interval(s) that were previously skipped due to a suspension. The rescheduling 411 of the scanning operation may be made after the completion of the current channel, the next channel or any other channel, depending on priority and scheduling and re-scheduling settings. Continuing with the above-stated example in which data scanning operations were suspended during the fourth 504 and fifth 506 discrete data scanning intervals of the data scanning sequence for “channel 1”, when “channel 1” is subsequently rescanned (e.g., after the successful scanning of “channel 11”), data scanning process 318 may prioritize the scanning 414 of the previously-skipped discrete data scanning intervals (i.e., namely data scanning intervals 504, 506). The example shows the scanning interval being broken up into smaller scanning intervals. This approach allows the impact to latency sensitive traffic to be minimized and allows potentially more time to be spent scanning, thus providing better coverage for random access device determination. Further, the unique interval tracking and rescheduling allows a guaranteed detection of any transmission of a periodic nature (such as beacons).


A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claim.

Claims
  • 1. A scanning method comprising: during a data scanning process of one or more channels, wherein the data scanning process includes at least a first data scanning sequence, and wherein at least one of the one or more channels is subdivided into a plurality of discrete data scanning intervals:suspending data scanning operations before or during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals, the suspending being based upon, at least in part, a type of data available for transmission;determining a last interval scanned, wherein the last interval scanned is determined based upon a completion of the data scanning process for a discrete data scanning interval prior to the suspending of data scanning operations;performing a data transmission operation during at least a portion of the first data scanning sequence; andduring a subsequent data scanning sequence:performing a data scanning operation for a second discrete data scanning interval that is not subsequent to the last interval scanned.
  • 2. The scanning method of claim 1 wherein: the first data scanning sequence is a first data scanning sequence for a first wireless communication channel; andthe subsequent data scanning sequence is a subsequent data scanning sequence for the first wireless communication channel.
  • 3. The scanning method of claim 2 further comprising: performing at least a portion of a first data scanning sequence for a second wireless communication channel prior to performing the subsequent data scanning sequence for the first wireless communication channel.
  • 4. A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: during a data scanning process of one or more channels, wherein the data scanning process includes at least a first data scanning sequence, and wherein at least one of the one or more channels is subdivided into a plurality of discrete data scanning intervals:suspending data scanning operations before or during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals, the suspending being based upon, at least in part, a type of data available for transmission;determining a last interval scanned, wherein the last interval scanned is determined based upon a completion of the data scanning process for a discrete data scanning interval prior to the suspending of data scanning operations;performing a data transmission operation during at least a portion of the first data scanning sequence; andduring a subsequent data scanning sequence:performing a data scanning operation for a second discrete data scanning interval that is not subsequent to the last interval scanned.
  • 5. The computer program product of claim 4 wherein: the first data scanning sequence is a first data scanning sequence for a first wireless communication channel; andthe subsequent data scanning sequence is a subsequent data scanning sequence for the first wireless communication channel.
  • 6. The computer program product of claim 5 further comprising instructions for performing operations comprising: performing at least a portion of a first data scanning sequence for a second wireless communication channel prior to performing the subsequent data scanning sequence for the first wireless communication channel.
  • 7. The computer program product of claim 4 wherein the computer readable medium is included with a network addressable device configured to control one or more data scanning sequences in one or more devices.
  • 8. The computer program product of claim 7 wherein the network addressable device is at least one of a wireless access point and a wireless switch.
  • 9. A device configured to perform operations comprising: during a data scanning process of one or more channels, wherein the data scanning process includes at least a first data scanning sequence, and wherein at least one of the one or more channels is subdivided into a plurality of discrete data scanning intervals:suspending data scanning operations before or during at least one discrete data scanning interval chosen from the plurality of discrete data scanning intervals, the suspending being based upon, at least in part, a type of data available for transmission;determining a last interval scanned, wherein the last interval scanned is determined based upon a completion of the data scanning process for a discrete data scanning interval prior to the suspending of data scanning operations;performing a data transmission operation during at least a portion of the first data scanning sequence; andduring a subsequent data scanning sequence:performing a data scanning operation for a second discrete data scanning interval that is not subsequent to the last interval scanned.
  • 10. The device of claim 9 wherein: the first data scanning sequence is a first data scanning sequence for a first wireless communication channel; andthe subsequent data scanning sequence is a subsequent data scanning sequence for the first wireless communication channel.
  • 11. The device of claim 10, the device further configured to perform operations comprising: performing at least a portion of a first data scanning sequence for a second wireless communication channel prior to performing the subsequent data scanning sequence for the first wireless communication channel.
  • 12. The device of claim 9 wherein the device is a network addressable device configured to control one or more data scanning sequences in one or more devices.
  • 13. The device of claim 12 wherein the network addressable device is at least one of a wireless access point and a wireless switch.
  • 14. The scanning method of claim 1 further comprising storing a position corresponding to at least one of a completed, suspended, and skipped discrete data scanning interval.
  • 15. The scanning method of claim 14 further comprising resuming data scanning at at least one of the completed, suspended, and skipped data scanning interval.
  • 16. The scanning method of claim 14 further comprising rescheduling the skipped discrete data scanning interval for scanning during a subsequent data scanning sequence.
  • 17. The scanning method of claim 1 further comprising prioritizing the scanning of a previously skipped discrete data scanning interval.
RELATED APPLICATIONS

This application claims the priority of the following applications, which are herein incorporated by reference: U.S. Provisional Application No.: 60/694,560; filed 28 Jun. 2005, entitled: TIME SYNCHRONIZED WIRELESS METHOD AND OPERATIONS; and U.S. Provisional Application No.: 60/694,554; filed 28 Jun. 2005, entitled: INDEPENDENT CELL RESIZING OF TRANSMIT AND RECEIVE RF CELLS.

US Referenced Citations (198)
Number Name Date Kind
3941936 Graham et al. Mar 1976 A
4627052 Hoare et al. Dec 1986 A
4734907 Turner Mar 1988 A
4823338 Chan et al. Apr 1989 A
4939726 Flammer et al. Jul 1990 A
5076688 Bowen et al. Dec 1991 A
5090025 Marshall et al. Feb 1992 A
5095480 Fenner Mar 1992 A
5132926 MacEachern et al. Jul 1992 A
5136580 Videlock et al. Aug 1992 A
5173933 Garner et al. Dec 1992 A
5243652 Teare et al. Sep 1993 A
5289460 Drake, Jr. et al. Feb 1994 A
5331637 Francis et al. Jul 1994 A
5355371 Auerbach et al. Oct 1994 A
5355375 Christensen Oct 1994 A
5361256 Doeringer et al. Nov 1994 A
5367667 Wahlquist et al. Nov 1994 A
5394402 Ross Feb 1995 A
5396493 Sugiyama Mar 1995 A
5400326 Smith Mar 1995 A
5428615 Backes et al. Jun 1995 A
5434855 Perlman et al. Jul 1995 A
5442633 Perkins et al. Aug 1995 A
5444702 Burnett et al. Aug 1995 A
5448565 Chang et al. Sep 1995 A
5475781 Chang et al. Dec 1995 A
5481540 Huang Jan 1996 A
5485455 Dobbins et al. Jan 1996 A
5491694 Oliver et al. Feb 1996 A
5500860 Perlman et al. Mar 1996 A
5506838 Flanagan Apr 1996 A
5511168 Perlman et al. Apr 1996 A
5517494 Green May 1996 A
5517620 Hashimoto et al. May 1996 A
5519760 Borkowski et al. May 1996 A
5521910 Matthews May 1996 A
5530703 Liu et al. Jun 1996 A
5550816 Hardwick et al. Aug 1996 A
5553083 Miller Sep 1996 A
5583861 Holden Dec 1996 A
5606602 Coyle et al. Feb 1997 A
5608726 Virgile Mar 1997 A
5613069 Walker Mar 1997 A
5621793 Bednarek et al. Apr 1997 A
5634011 Auerbach et al. May 1997 A
5640452 Murphy Jun 1997 A
5659617 Fischer Aug 1997 A
5675582 Hummel et al. Oct 1997 A
5684800 Dobbins et al. Nov 1997 A
5727057 Emery et al. Mar 1998 A
5729680 Belanger et al. Mar 1998 A
5734865 Yu Mar 1998 A
5740171 Mazzola et al. Apr 1998 A
5742604 Edsall et al. Apr 1998 A
5745685 Kirchner et al. Apr 1998 A
5752003 Hart May 1998 A
5754657 Schipper et al. May 1998 A
5757916 MacDoran et al. May 1998 A
5781726 Pereira Jul 1998 A
5781737 Schmidt Jul 1998 A
5790074 Rangedahl et al. Aug 1998 A
5812819 Rodwin Sep 1998 A
5825772 Dobbins et al. Oct 1998 A
5862338 Walker et al. Jan 1999 A
5874964 Gille Feb 1999 A
5881236 Dickey Mar 1999 A
5892451 May et al. Apr 1999 A
5892910 Safadi Apr 1999 A
5892912 Suzuki et al. Apr 1999 A
5898686 Virgile Apr 1999 A
5905779 Steinmetz May 1999 A
5920699 Bare Jul 1999 A
5922073 Shimada Jul 1999 A
5963556 Varghese et al. Oct 1999 A
5983364 Bortcosh Nov 1999 A
5999126 Ito Dec 1999 A
6005864 Krause Dec 1999 A
6006259 Adelman et al. Dec 1999 A
6012088 Li et al. Jan 2000 A
6018771 Hayden Jan 2000 A
6035105 McCloghrie et al. Mar 2000 A
6041166 Hart et al. Mar 2000 A
6044400 Golan et al. Mar 2000 A
6061797 Jade et al. May 2000 A
6070079 Kuwahara May 2000 A
6076114 Wesley Jun 2000 A
6078957 Adelman et al. Jun 2000 A
6085243 Fletcher et al. Jul 2000 A
6094434 Kotzur et al. Jul 2000 A
6105027 Schneider et al. Aug 2000 A
6105064 Davis et al. Aug 2000 A
6108365 Rubin et al. Aug 2000 A
6115754 Landgren Sep 2000 A
6122664 Boukobza et al. Sep 2000 A
6130890 Leinwand et al. Oct 2000 A
6131120 Reid Oct 2000 A
6151324 Belser et al. Nov 2000 A
6151631 Ansell et al. Nov 2000 A
6157647 Husak Dec 2000 A
6167275 Oros et al. Dec 2000 A
6167513 Inoue et al. Dec 2000 A
6192045 Williams Feb 2001 B1
6192403 Jong et al. Feb 2001 B1
6201789 Witkowski et al. Mar 2001 B1
6205126 Moon Mar 2001 B1
6212391 Saleh et al. Apr 2001 B1
6216159 Chintakrindi et al. Apr 2001 B1
6222840 Walker et al. Apr 2001 B1
6230018 Watters et al. May 2001 B1
6233242 Mayer et al. May 2001 B1
6236365 LeBlanc et al. May 2001 B1
6256338 Jalloul et al. Jul 2001 B1
6259404 Parl et al. Jul 2001 B1
6273622 Ben-David Aug 2001 B1
6286044 Aoyama et al. Sep 2001 B1
6304218 Sugiura et al. Oct 2001 B1
6308273 Goertzel et al. Oct 2001 B1
6317500 Murphy Nov 2001 B1
6327474 Ruutu et al. Dec 2001 B1
6327535 Evans et al. Dec 2001 B1
6343317 Glorikian Jan 2002 B1
6363422 Hunter et al. Mar 2002 B1
6370629 Hastings et al. Apr 2002 B1
6388618 Stilp et al. May 2002 B1
6421009 Suprunov Jul 2002 B2
6442394 Valentine et al. Aug 2002 B1
6442616 Inoue et al. Aug 2002 B1
6453237 Fuchs et al. Sep 2002 B1
6456853 Arnold Sep 2002 B1
6460084 Van Horne et al. Oct 2002 B1
6466786 Wallenius Oct 2002 B1
6480495 Mauger et al. Nov 2002 B1
6523064 Akatsu et al. Feb 2003 B1
6539229 Ali Mar 2003 B1
6542813 Kovacs Apr 2003 B1
6556831 Buppelmann Apr 2003 B1
6580914 Smith Jun 2003 B1
6583713 Bates Jun 2003 B1
6640184 Rabe Oct 2003 B1
6640248 Jorgensen Oct 2003 B1
6665715 Houri Dec 2003 B1
6701864 Watson et al. Mar 2004 B2
6716101 Meadows et al. Apr 2004 B1
6741863 Chiang et al. May 2004 B1
6757545 Nowak et al. Jun 2004 B2
6757740 Parekh et al. Jun 2004 B1
6771639 Holden Aug 2004 B1
6778818 O'Neil Aug 2004 B1
6795688 Plasson et al. Sep 2004 B1
6799049 Zellner et al. Sep 2004 B1
6807427 Sakamoto et al. Oct 2004 B1
6813501 Kinnunen et al. Nov 2004 B2
6826385 Kujala Nov 2004 B2
6826617 Ansell et al. Nov 2004 B1
6834195 Brandenberg et al. Dec 2004 B2
6859791 Spagna et al. Feb 2005 B1
6889051 Ogino et al. May 2005 B2
6889053 Chang et al. May 2005 B1
6920329 Kennedy et al. Jul 2005 B2
6934548 Gould et al. Aug 2005 B1
6937988 Hemkumar et al. Aug 2005 B1
6938096 Greschler et al. Aug 2005 B1
6941143 Mathur Sep 2005 B2
6983313 Korkea-Aho Jan 2006 B1
6985731 Johnson et al. Jan 2006 B1
7010583 Aizono et al. Mar 2006 B1
7089264 Guido et al. Aug 2006 B1
7120449 Muhonen et al. Oct 2006 B1
7136915 Rieger, III Nov 2006 B2
7139820 O'Toole et al. Nov 2006 B1
7197556 Short et al. Mar 2007 B1
7266839 Bowers et al. Sep 2007 B2
20010022558 Karr, Jr. et al. Sep 2001 A1
20010039623 Ishikawa Nov 2001 A1
20020010866 McCullough et al. Jan 2002 A1
20020016831 Peled et al. Feb 2002 A1
20020023010 Rittmaster et al. Feb 2002 A1
20020034953 Tricarico Mar 2002 A1
20020046073 Indseth et al. Apr 2002 A1
20020051540 Glick et al. May 2002 A1
20020052180 Ravishankar et al. May 2002 A1
20020062379 Widegren et al. May 2002 A1
20020063656 Gutowski May 2002 A1
20020107029 Caughran et al. Aug 2002 A1
20020122055 Parupudi et al. Sep 2002 A1
20020138632 Bade et al. Sep 2002 A1
20020164996 Dorenbosch Nov 2002 A1
20020188842 Willeby Dec 2002 A1
20030035544 Herle et al. Feb 2003 A1
20030041167 French et al. Feb 2003 A1
20030065571 Dutta Apr 2003 A1
20030095509 Ramanan et al. May 2003 A1
20030185233 Ji et al. Oct 2003 A1
20030208523 Gopalan et al. Nov 2003 A1
20040064334 Nye Apr 2004 A1
20050199792 Argast et al. Sep 2005 A1
20060089138 Smith et al. Apr 2006 A1
Foreign Referenced Citations (18)
Number Date Country
1154624 Nov 2001 EP
9428683 Dec 1994 WO
9705749 Feb 1997 WO
9741654 Nov 1997 WO
9819482 May 1998 WO
0022862 Apr 2000 WO
0044149 Jul 2000 WO
0067450 Nov 2000 WO
0069198 Nov 2000 WO
0108425 Feb 2001 WO
0122656 Mar 2001 WO
0169956 Sep 2001 WO
0176093 Oct 2001 WO
0182259 Nov 2001 WO
0194967 Dec 2001 WO
0195505 Dec 2001 WO
0209456 Jan 2002 WO
0212914 Feb 2002 WO
Related Publications (1)
Number Date Country
20070078974 A1 Apr 2007 US
Provisional Applications (2)
Number Date Country
60694560 Jun 2005 US
60694554 Jun 2005 US