Active scanning with synchronous transmission
By transmitting multiple detection requests when discovering a network access point and using the response within the dwell time, the time wasting problem caused by waiting for a response in the prior art is solved, and the efficiency of access point discovery and the performance of active scanning are improved.
Patent Information
- Application Number
- CN202411598951.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-13
- Filing Date
- 2024-11-11
- Publication Date
- 2025-05-13
AI Technical Summary
When discovering network access points, the prior art needs to wait for a response to the detection request, resulting in wasted time and inefficient in active scanning.
By transmitting the first probe request and transmitting one or more additional probe requests simultaneously, rather than waiting for the response of the first probe request, the access point is identified using the response time during the residence time of the probe request.
It improves the efficiency of access point discovery, reduces the time to wait for response, realizes the processing of synchronous transmission and response, and improves the overall performance of active scanning.
Smart Images

Figure CN119997246A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to active scanning with synchronized transmission. Background Art
[0002] The present disclosure relates to access point discovery of one or more networks. Summary of the invention
[0003] In one aspect, the present disclosure relates to a system comprising: a circuit system configured to: transmit a first probe request to discover a first access point for a first channel; transmit one or more additional probe requests to discover one or more other access points for one or more other channels without waiting for a response to the first probe request; in response to the transmission of the one or more additional probe requests, check the response to the first probe request on the first channel; and receive the response to the first probe request, wherein the response identifies the first access point.
[0004] On the other hand, the present disclosure relates to a device, comprising: one or more processors, which are configured to: transmit a first probe request to discover a first access point of a first channel; transmit one or more second probe requests to discover one or more second access points of one or more second channels without waiting for a response to the first probe request; in response to the transmission of the one or more second probe requests, check the response to the first probe request on the first channel; and receive the response to the first probe request, wherein the response identifies the first access point.
[0005] On the other hand, the present disclosure relates to a method, comprising: transmitting, by a circuit system, a first probe request to discover a first access point of a first channel; transmitting, by the circuit system, one or more second probe requests to discover one or more second access points of one or more second channels, without waiting for a response to the first probe request; in response to the transmission of the one or more second probe requests, waiting, by the circuit system, for the response to the first probe request on the first channel; and receiving, by the circuit system, the response to the first probe request, wherein the response identifies the first access point. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The various objects, aspects, features and advantages of the present disclosure will become more apparent and better understood by reference to the detailed description taken in conjunction with the accompanying drawings, wherein the same reference symbols identify corresponding elements from beginning to end. In the drawings, the same reference numerals generally indicate the same, functionally similar and / or structurally similar elements.
[0007] Figure 1 is a block diagram of a system for active scanning using synchronized transmissions in accordance with some embodiments.
[0008] Figure 2 is a block diagram of an architecture for active scanning of one or more channels, according to some embodiments.
[0009] Figure 3 According to some embodiments, Figure 2 Block diagram of an architecture for active scanning with synchronous transmission on one or more channels as described in .
[0010] Figure 4 According to some embodiments, Figure 3 Flow chart of a timing diagram of probe requests and probe responses for one or more channels described in .
[0011] Figure 5 According to some embodiments, Figure 3 Flowchart of the process of active scanning of one or more channels described in . DETAILED DESCRIPTION
[0012] Some embodiments relate to systems and methods for performing active scanning to discover access points of one or more channels. Active scanning may refer to transmitting a first probe request on a first channel to discover a first access point of the first channel, while subsequently transmitting a second probe request on a second channel to discover a second access point of the second channel. The probe request may include transmitting a signal at one or more frequencies and / or across one or more frequencies to request network-related information of a given network. For example, the probe request may refer to and / or include a management frame. The probe request may involve asking for information about the network. For example, the probe request may include asking for a service set identifier (SSID). The network may be located and / or implemented within a given channel. For example, the network may be located on a first channel of a 5G frequency band. Continuing with this example, in order to discover an access point of the network, a first probe request may be transmitted on a first channel. An access point may refer to and / or include a network device and / or a network device that can connect a device to a network. For example, an access point may include a router and / or interact with a router.
[0013] A frequency band may include one or more channels, which may result in a single frequency band having multiple networks across one or more channels. For example, a first frequency band may include a first channel and a second channel. Continuing with this example, the first channel may include a first network and the second channel may include a second network. In order to discover an access point of a network in a given channel, a probe request is transmitted on the given channel. For example, a channel may include and / or correspond to a given frequency and a probe request may be transmitted on the given frequency. A probe request may be transmitted on a subsequent channel to discover and / or identify an access point of the subsequent channel.
[0014] Other systems may utilize and / or employ active scanning to discover access points by transmitting a probe request and then pausing and / or waiting for a response. Active scanning may include transmitting a probe request on a first channel and waiting for a response to the probe request within a given amount of time. While other systems wait for a response, time continues to be consumed without any additional action. Waiting for a response by other systems increases the total amount of time spent and / or consumed to complete an active scan of multiple channels.
[0015] Some technical solutions and advantages of some embodiments relate to a system that includes a circuit system for transmitting a first probe request and subsequently transmitting one or more second probe requests while also listening for a response to the first probe request. Transmitting multiple probe requests while also listening for a response to a given probe request may include performing active scanning across a frequency band. For example, the circuit system may transmit one or more probe requests via a first antenna while also waiting for a response to the probe request via a second antenna, rather than sending a first probe request and waiting for a response before sending a second probe request. The circuit system may utilize active scanning to utilize a response time included in a dwell time of a given probe request. For example, the circuit system may transmit one or more second probe requests on one or more subsequent channels, rather than sending a first probe request and then waiting to receive a response to the first probe request. As another example, the circuit system may transmit a first probe request on a first channel and the circuit system may transmit a second probe request on a second channel.
[0016] In some embodiments, a system may refer to and / or include at least one of the following: a computer network, a network topology, a wide area network (WAN), a local area network (LAN), a virtual local area network (VLAN), a data center, an isolated network, a data communication, a data network, a telecommunications network, a circuit, a circuit system, a processing circuit, and / or other possible computer systems. In some embodiments, a system may refer to and / or include a network. In some embodiments, a device may refer to and / or include at least one of an integrated circuit, a general purpose processor, a multi-core processor, a software programmable device, a computer application, a programmable logic controller, and / or other possible circuit systems and / or hardware. Similarly, the functions of the device may be stored in storage as software, firmware, and / or as instructions, and when the information stored in the memory (e.g., software, firmware, and / or instructions) is executed by a processor, the processor causes the processor to perform the functions of the device (e.g., the processor may detect multiple devices and establish a topology across the network).
[0017] In some embodiments, circuitry may refer to and / or include at least one processing circuit, circuit, communication device, signal processor, comparator, system on chip (SoC), filter, digital signal processor, logic gate, latch, state storage device, integrated circuit, software programmable device, programmable logic controller and / or other possible circuitry and / or hardware. Network may refer to and / or include at least one of WAN, LAN, VLAN, wireless local area network (WLAN), wireless communication, wired communication and / or other possible network infrastructure and / or configuration.
[0018] In some embodiments, an access point may refer to and / or include at least one of a network device, a router, a switch, a hub, a bridge, a modem, a gateway, an Ethernet port, an Ethernet jack, a network interface, a wired jack, a network port, and / or other possible network devices.
[0019] In some embodiments, pieces of equipment may refer to and / or include at least one of a computer, a computing device, a mobile device, a desktop computer, a laptop computer, a server, a controller, an Internet of Things (IOT) device, a video device, a monitor, a display, a tablet computer, a printer, a scanner, a fax machine, a gateway, an Ethernet jack, a bridge, and / or other possible computing devices. In some embodiments, a channel may refer to and / or include at least one of a set of one or more frequencies, a subset of a frequency band, a segment of a frequency band, a radio frequency (RF) spectrum, and / or other possible portions of a frequency band. In some embodiments, a frequency band may refer to and / or include at least one of a range of frequencies, an RF spectrum, a range of frequencies, and / or other possible spectrums.
[0020] In some embodiments, discovery of an access point may refer to and / or include at least one of a local device identifier, a local port, a remote device identifier, a remote port, an IP address, a chassis identifier, an SSID, a hello packet, device capabilities, a media access control (MAC) address, a VLAN name, a device description, and / or other possible device identifiers.
[0021] In some embodiments, a connection may refer to and / or include at least one of: a wired connection between a device and a network; a wireless connection between a device and a network; an electrical coupling between devices; establishing communication between a first device and a second device on a network; executing one or more routines of a communication protocol; executing one or more routines of a communication standard; and / or various ways of connecting a device to a network.
[0022] Some embodiments relate to a system. The system may include circuitry. The circuitry may transmit a first probe request to discover a first access point for a first channel. The circuitry may also transmit one or more additional probe requests to discover one or more other access points for one or more other channels, rather than waiting for a response to the first probe request. The circuitry may also check the response to the first probe request on the first channel in response to the transmission of the one or more additional probe requests. The circuitry may also receive the response to the first probe request, wherein the response identifies the first access point.
[0023] In some embodiments, the one or more other channels may be selected based at least on a difference between one or more first frequencies of the first channel and one or more second frequencies of the one or more other channels.
[0024] In some embodiments, the one or more other channels may include a second channel and a third channel. A difference between the one or more first frequencies of the first channel and the one or more second frequencies of the third channel may be different from a difference between the one or more first frequencies of the first channel and the one or more second frequencies of the second channel.
[0025] In some embodiments, the circuit system may also establish a connection with the first access point of the first channel via a network.
[0026] In some embodiments, the circuitry may also, in response to receiving the response to the first probe request, examine one or more responses to the one or more additional probe requests on the one or more other channels. The circuitry may also receive the one or more responses to the one or more additional probe requests, wherein the one or more responses identify one or more second access points.
[0027] In some embodiments, the one or more additional probe requests may include a second probe request and a third probe request. The one or more other access points may include a second access point and a third access point. The circuit system may also transmit the second probe request and the third probe request after the first probe request and before a time period during which the circuit system is configured to check for the response to the first probe request.
[0028] In some embodiments, the circuit system may also determine a first location of a device including the circuit system in response to connection to a network. The circuit system may also transmit one or more third signals to discover one or more third access points in response to determining that the device has moved from the first location to a second location.
[0029] In some embodiments, the first channel and the one or more other channels may correspond to a first frequency band.The circuitry may also transmit one or more third probe requests across a second frequency band different from the first frequency band to discover one or more third access points on the second frequency band.
[0030] In some embodiments, the first frequency band may include a first plurality of frequencies and the second frequency band may include a second plurality of frequencies different from the first plurality of frequencies.
[0031] Some embodiments relate to a device. The device may include one or more processors. The one or more processors may transmit a first probe request to discover a first access point of a first channel. The one or more processors may also transmit one or more second probe requests to discover one or more second access points of one or more second channels without waiting for a response to the first probe request. The one or more processors may also check the response to the first probe request on the first channel in response to the transmission of the one or more second probe requests. The one or more processors may also receive the response to the first probe request, wherein the response identifies the first access point.
[0032] In some embodiments, the one or more second channels may be selected based at least on a difference between one or more first frequencies of the first channel and one or more second frequencies of the one or more second channels.
[0033] In some embodiments, the one or more second channels may include a second channel and a third channel. A difference between the one or more first frequencies of the first channel and the one or more second frequencies of the third channel may be different from a difference between the one or more first frequencies of the first channel and the one or more second frequencies of the second channel.
[0034] In some embodiments, the one or more processors may also transmit the one or more second probe requests prior to checking the response on the first channel.
[0035] In some embodiments, the one or more processors may, in response to receiving the response to the first probe request, examine the one or more second responses to the one or more second probe requests on the one or more second channels. The one or more processors may also receive the one or more second responses to the one or more second probe requests, wherein the one or more second responses identify one or more second access points.
[0036] In some embodiments, the one or more second probe requests may include a second probe request and a third probe request. The one or more second access points may include a second access point and a third access point. The one or more processors may also transmit the second probe request and the third probe request after the first probe request and before a time period during which the one or more processors are configured to check for the response to the first probe request.
[0037] In some embodiments, the one or more processors may also establish a connection with the first access point in response to receiving the response to connect the device to a network associated with the first access point. The one or more processors may also determine a first location of the device in response to the connection to the network. The one or more processors may also transmit one or more third signals in response to determining that the device has moved from the first location to a second location to discover one or more third access points.
[0038] In some embodiments, the first channel and the one or more second channels may correspond to a first frequency band. The one or more processors may also transmit one or more third probe requests across a second frequency band different from the first frequency band to discover one or more third access points on the second frequency band.
[0039] Some embodiments relate to a method. The method may include transmitting, by a circuit system, a first probe request to discover a first access point for a first channel. The method may also include transmitting, by the circuit system, one or more second probe requests to discover one or more second access points for one or more second channels without waiting for a response to the first probe request. The method may also include waiting, by the circuit system, for the response to the first probe request on the first channel in response to the transmission of the one or more second probe requests. The method may also include receiving, by the circuit system, the response to the first probe request, wherein the response identifies the first access point.
[0040] In some embodiments, the one or more second channels may be selected based at least on a difference between one or more first frequencies of the first channel and one or more second frequencies of the one or more second channels.
[0041] In some embodiments, the method may also include, in response to receiving the response to the first probe request, checking, by the circuitry, one or more second responses to the one or more second probe requests on the one or more second channels. The method may also include receiving, by the circuitry, the one or more second responses to the one or more second probe requests, wherein the one or more second responses identify one or more second access points.
[0042] Figure 1A block diagram of system 100 is depicted according to some embodiments. Each system, device, and / or component of system 100 may include one or more processors, memory, network interface, communication interface, and / or user interface. In some embodiments, the memory may store programming logic that controls the operation of the corresponding system, device, and / or component when executed by the processor. The memory may also store data in a database. The network interface may allow the systems and / or components of system 100 to communicate wirelessly. The communication interface may include wired and / or wireless communication interfaces and the systems and / or components of system 100 may be connected via the communication interface. The various components in system 100 may be implemented via hardware (e.g., circuit systems), software (e.g., executable code), or any combination thereof. The components may be added, removed, modified, separated, combined, rearranged, deleted, integrated, and / or adjusted. Figure 1 For example, a first device shown as including a first component and a second component may be modified so that the first component and the second component are provided as a single component. As another example, a device shown as included within a first system may also be added to a second system.
[0043] In some embodiments, system 100 may include at least one device 105, at least access point 130, and at least one network 135. In some embodiments, network 135 may refer to and / or include wired and / or wireless telecommunications. Network 135 may include at least one of the various networks described herein. For example, network 135 may include a wide area network (WAN). As another example, network 135 may include a local area network (LAN). In some embodiments, system 100 may include multiple networks 135 and a given network 135 in multiple networks 135 may be located on a given channel of a given frequency band and / or refer to a given channel of a given frequency band. In some embodiments, access point 130 may include at least one of the various network devices described herein. For example, access point 130 may include at least one of a router, a switch, a bridge, a hub, and / or a gateway. In some embodiments, access point 130 may be connected to network 135 and / or provide access to network 135.
[0044] In some embodiments, the device 105 may include at least one processing circuit 110 and at least one interface 125. The processing circuit 110 may refer to and / or include at least one of the circuits, circuit systems, and / or processing circuits described herein. In some embodiments, the processing circuit 110 may include at least one processor 115 and a memory 120. The memory 120 may refer to and / or include one or more devices (e.g., random access memory (RAM), read-only memory (ROM), flash memory, hard disk storage devices) for storing data and / or computer code to complete and / or facilitate the various processes described herein. The memory 120 may be and / or include non-transitory volatile memory, non-volatile memory, and non-transitory computer storage media. The memory 120 may include a database component, an object code component, a script component, or any other type of information structure for supporting the various activities and information structures described herein. The memory 120 may be communicatively coupled to the processor 115 and the memory 120 may include computer code or instructions (e.g., firmware or software) for executing one or more processes described herein.
[0045] The processor 115 may be implemented as one or more application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), a set of processing components, or other suitable electronic processing components. The memory 120 may store one or more instructions that, when executed by the processor 115, cause the processor 115 to perform one or more of the various operations described herein. In some embodiments, the memory 120 may store, hold, and / or maintain at least one of a record, a table, a database, a data structure, and / or a collection of information.
[0046] In some embodiments, the interface 125 may include at least one of a network communication device, a network interface, and / or other possible communication interfaces. The interface 125 may include a wired or wireless communication interface (e.g., a jack, an antenna, a transmitter, a receiver, a transceiver, a wiring terminal, etc.) for data communication with various systems, devices, and / or components described herein. The interface 125 may include direct (e.g., local wired or wireless communication) and / or via a communication network (e.g., network 135). For example, the interface 125 may include an Ethernet card and port for sending and receiving data via an Ethernet-based communication link or network. The interface 125 may include a Wi-Fi transceiver for communicating via a wireless communication network (e.g., network 135). The interface 125 may include a power line communication interface. The interface 125 may include an Ethernet interface, a universal serial bus (USB) interface, a serial communication interface, and / or a parallel communication interface. In some embodiments, the interface 125 may connect and / or integrate the device 105 with the network 135.
[0047] In some embodiments, processing circuit 110 may transmit one or more signals. For example, processing circuit 110 may transmit a first signal and a second signal. In some embodiments, processing circuit 110 may transmit one or more probe requests. For example, processing circuit 110 may transmit a first probe request to discover first access point 130. In some embodiments, processing circuit 110 may transmit the probe request based on one or more communication protocols. For example, processing circuit 110 may transmit the probe request based on a wireless local area network (WLAN) protocol.
[0048] In some embodiments, interface 125 may include one or more transmitters, receivers, antennas, transceivers, radios, and / or other communication devices. For example, interface 125 may include a transmitter and a receiver. Continuing with this example, the transmitter may transmit one or more signals and the receiver may listen and / or check for one or more responses to the signals transmitted by the transmitter. In some embodiments, processing circuit 110 may transmit one or more probe requests with interface 125. For example, interface 125 may include a transmitter and processing circuit 110 may transmit the probe request via the transmitter.
[0049] In some embodiments, processing circuit 110 may transmit one or more simultaneous and / or subsequent probe requests. For example, processing circuit 110 may transmit a first probe request and processing circuit 110 may transmit a second probe request. In some embodiments, the probe requests (e.g., the first probe request and the second probe request) may be transmitted synchronously (e.g., transmitted simultaneously). In some embodiments, the probe requests (e.g., the first probe request and the second probe request) may be transmitted subsequently. For example, processing circuit 110 may transmit a first probe request at a first point and processing circuit 110 may transmit a second probe request at a second point in time.
[0050] In some embodiments, processing circuit 110 may transmit a probe request on one or more channels. For example, processing circuit 110 may transmit a first probe request on a first channel and processing circuit 110 may transmit a second probe request on a second channel. In some embodiments, processing circuit 110 may trigger one or more probe responses in response to the transmission of the probe request. For example, processing circuit 110 may transmit a first probe request on a first channel that triggers a response to the first probe request from a given access point 130 on the first channel.
[0051] In some embodiments, processing circuit 110 may transmit a probe request before receiving a response. For example, processing circuit 110 may transmit a first probe request and a second probe request before processing circuit 110 receives and / or checks a response to at least one of the probe requests. In other words, processing circuit 110 may transmit one or more probe requests while pausing and / or stopping checking for a response to a given probe request. In some embodiments, processing circuit 110 may transmit one or more probe requests during a time period in which processing circuit 110 would otherwise wait and / or listen for a response to a given probe request. For example, processing circuit 110 may transmit a first probe request at a first point in time and processing circuit 110 may receive a response to the first probe request at a second point in time. Continuing with this example, processing circuit 110 may transmit one or more second probe requests before the second point in time so that the second probe request is transmitted before receiving a response.
[0052] In some embodiments, processing circuit 110 may receive one or more responses. For example, processing circuit 110 may receive a response from access point 130. In some embodiments, processing circuit 110 may receive a response after processing circuit 110 transmits a probe request and / or in response to processing circuit 110 transmitting a probe request. For example, processing circuit 110 may receive a first response from first access point 130 in response to processing circuit 110 transmitting a probe request on a channel including first access point 130.
[0053] As a non-limiting example, the interface 125 may include a transmitter and a receiver. In this non-limiting example, the processing circuit 110 may transmit the first probe request and the second probe request via the transmitter. Continuing with this non-limiting example, the processing circuit 110 may listen and / or check for one or more responses to the probe request. In this non-limiting example, the processing circuit 110 may listen for responses via the receiver. Continuing with this non-limiting example, the processing circuit 110 may continuously and / or semi-continuously transmit the probe request via the transmitter while also listening for responses via the receiver. Continuing with this non-limiting example, the processing circuit 110 may then transmit one or more probe requests via the transmitter while also listening for one or more responses via the receiver.
[0054] As another non-limiting example, the interface 125 may include a plurality of devices for transmitting a probe request and receiving a response. In this non-limiting example, the interface 125 may include a first device and a second device. The first device may include a transmitter and a receiver, and the second device may include a transmitter and a receiver. Continuing with this non-limiting example, the processing circuit 110 may transmit one or more first probe requests via a transmitter of the first device. Continuing with this non-limiting example, the processing circuit 110 may transmit one or more second probe requests via a transmitter of the second device. In this non-limiting example, the processing circuit 110 may listen for one or more responses to the first probe request via a receiver of the first device. The processing circuit 110 may listen for one or more responses to the second probe request via a receiver of the second device. In this non-limiting example, the processing circuit 110 may transmit the first probe request and the second probe request synchronously and / or in parallel (e.g., simultaneously).
[0055] In some embodiments, the response may identify access point 130. For example, the response may include information identifying a given piece of equipment (e.g., a router, switch, hub, bridge, etc.). As another example, the response may identify a given network 135. For example, the response may include an SSID for a given network 135. In some embodiments, processing circuitry 110 may establish one or more connections. For example, processing circuitry 110 may establish a connection with a given network 135. In some embodiments, processing circuitry 110 may establish a connection in response to receipt of a response identifying a given access point. For example, processing circuitry 110 may establish a connection by connecting device 105 to network 135 via access point 130.
[0056] In some embodiments, processing circuitry 110 may determine one or more locations. For example, processing circuitry 110 may determine the location of device 105. In some embodiments, the location may include at least one of a global positioning system (GPS) location, a geo-fenced location, a spatial location, a geographic location, a location within a building, triangulated coordinates, a location relative to a reference, and / or other possible locations. In some embodiments, processing circuitry 110 may determine and / or detect one or more changes to the location. For example, processing circuitry 110 may determine that device 105 has moved from a first location to a second location. As another example, processing circuitry 110 may determine that device 105 has moved from a location within a building to a location outside of the building.
[0057] In some embodiments, processing circuitry 110 may transmit one or more probe requests based on a change in location. For example, processing circuitry 110 may transmit one or more probe requests to discover one or more access points 130 that may be unknown and / or hidden when device 105 is in a given location. In some embodiments, processing system 110 may transmit one or more probe requests to discover access points 130 that become identifiable and / or discoverable in response to a change in location of device 105. For example, movement of device 105 from outside a building to inside a building may result in one or more access points of a network located within the building being discoverable.
[0058] Figure 2 A block diagram depicts an architecture 200 for active scanning of one or more channels according to some embodiments. The architecture 200 includes a representation of the dwell time of a given channel. For example, Figure 2 As shown in , a single channel scan is shown to include a probe request time 203 and a probe response time 205. The probe request time 203 and the probe response time 205 may refer to and / or include a dwell time. Figure 2 , the probe request time 203 and the probe response time 205 for channel 1 are shown to occur before the transmission of any subsequent probe requests. For example, a probe request is transmitted on channel 1 and both the probe request time and the probe response time elapse before a probe request is transmitted on one or more subsequent channels. In other words, the dwell time of the probe request on channel 1 elapses before and / or before any subsequent probe requests are transmitted.
[0059] Figure 2 A non-limiting example of active scanning is included, the active scanning includes a probe request transmitted across the 2.4G band and a probe request transmitted across the 5G band. In this non-limiting example, the dwell time of a single probe request (e.g., a probe request on a single channel) may be 20 milliseconds (e.g., the probe request time and the wait response time add up to 20 milliseconds). Continuing with this non-limiting example, 220 milliseconds will elapse to complete the active scan of the eleven channels shown in the 2.4G band (e.g., 11 channels x 20 milliseconds / channel). Further, in this non-limiting example, 180 milliseconds will elapse to complete the active scan of the nine channels shown in the 5G band (e.g., 9 channels x 20 milliseconds / channel). Continuing with this example, the total amount of time to complete the band scan of the 2.4G band and the 5G band (e.g., scanning or probing each channel) will elapse 400 milliseconds.
[0060] Figure 3 A block diagram depicts an architecture 300 for active scanning of one or more channels according to some embodiments. Figure 3, one or more channels have been stacked, grouped and / or paired to implement active scanning. For example, channels 1, 5 and 9 are shown as being grouped. Continuing this example, processing circuit 110 may perform active scanning by transmitting a first probe request on channel 1 at a first time point, by transmitting a second probe request on channel 5 at a second time point, and by transmitting a third probe request on channel 9 at a third time point. The first time point, the second time point and / or the third time point may occur before processing circuit 110 receives a response to the first probe request. In other words, the second probe request and / or the third probe request may be transmitted during the dwell time of the first probe request. In some embodiments, element symbol 305 may represent the parallel transmission of probe requests for one or more channels in a given set of grouped channels. For example, element symbol 305 may represent the transmission of a probe request on channel 1, a probe request on channel 5, and a probe request on channel 9. Element symbol 305 may also represent receiving and / or listening for responses to probe requests for channels 1, 5 and / or 9. In some embodiments, element symbol 310 may represent the amount of time for transmitting one or more grouped probe requests. For example, reference numeral 310 may represent a set of time intervals between lines 203 and 205. As another example, reference numeral 310 may illustrate and / or represent completion and / or execution of a Figure 3 The amount of time for active scanning of the channels described in . Figure 3 Describe an example of the time savings achieved by proactive scanning. Figure 3 , probe requests are transmitted and responses are received on channel 1, channel 5, and channel 9 in a single time interval between lines 203 and 205. In contrast, in discussing active scanning including transmitting a single probe request and waiting for a response to the probe request, Figure 2 In FIG. 2 , a probe request and response for a single channel is received in the time interval between lines 203 and 205 without any subsequent probe request transmission in the time interval.
[0061] In some embodiments, channels may be grouped and / or paired with each other based on one or more frequencies of the channels. For example, a first channel and a second channel may be grouped based on at least one difference between a frequency of the first channel relative to a frequency of the second channel. In other words, the first channel and the second channel may be grouped together based on a buffer and / or threshold between the frequencies of the channels.
[0062] As a non-limiting example, channel 1 may refer to and / or include a frequency between 0 megahertz (MHz) and 5 MHz. Continuing with this example, each subsequent channel may include a frequency of 5 MHz (e.g., channel 2 includes a frequency between 5 MHz and 10 MHz). In this non-limiting example, the threshold between the packet channels is shown as 20 MHz. In other words, the difference between the frequencies of channel 1 and channel 2 is 20 MHz. The difference between the frequencies of the channels may include a difference between a starting frequency of the first channel and a starting frequency of the second channel. The difference between the frequencies of the channels may also include a difference between a starting frequency of the first channel and an ending frequency of the second channel. Continuing with this non-limiting example, when the processing circuit 110 is scanning and / or searching for responses to a probe request for a packet channel, the differences between the packet channels (e.g., thresholds, buffers, boundaries, etc.) may eliminate and / or avoid chatter or noise. In this non-limiting example, before the processing circuit 110 checks for a response to the first probe request, the processing circuit 110 may transmit a first probe request on channel 1, a second probe request on channel 5, and a third probe request on channel 9.
[0063] In some embodiments, the channels for a given frequency band may include overlapping and / or non-overlapping channels. For example, a first frequency band may include a first channel and a second channel. Continuing with this example, when one or more frequencies are included in both the frequency range of the first channel and the frequency range of the second channel, the first channel and the second channel may overlap. As another example, when each channel includes discrete and / or different frequencies, the first channel and the second channel may be non-overlapping channels. In some embodiments, when the channels for a given frequency band include overlapping frequencies, the difference between the channels may be based on the difference between the starting frequency of the first channel and the ending frequency of the second channel that overlaps with the first channel.
[0064] As a non-limiting example, the first frequency band may include a first channel and a second channel. In this non-limiting example, the first channel and the second channel may include overlapping frequencies. Continuing with this non-limiting example, the first channel may include a frequency range of 1 MHz to 10 MHz. The second channel may include a frequency range of 4 MHz to 14 MHz. In this non-limiting example, both the first channel and the second channel include frequencies between 4 MHz and 10 MHz. Continuing with this non-limiting example, the first channel may be included in the first set of channels and the second channel may be included in the second set of channels.
[0065] In some embodiments, the first set of channels may be separated from each other by one or more differences. For example, in the above non-limiting example, channels 1 and 5 are separated by 20 MHz. In some embodiments, subsequent channels may be separated from each other by one or more differences. For example, in the above non-limiting example, channels 1 and 2 (e.g., subsequent channels) are separated by 5 MHz.
[0066] Figure 4 A flow chart depicting a timing diagram 400 illustrating probe requests and probe responses for one or more packet channels according to some embodiments. At least one of the steps of the timing diagram 400 may be performed by and / or correspond to a process performed by at least one of the various systems, devices, and / or components described herein. For example, the processing circuit 110 may perform at least one of the steps of the timing diagram 400. As another example, a given step of the timing diagram 400 may refer to a given point in time at which the processing circuit 110 performs one or more processes. Although some steps of the timing diagram 400 are described as being performed by a single component, at least one of the steps of the timing diagram 400 may be performed by one or more components.
[0067] In some embodiments, in step 405, a prompt may be transmitted. For example, a probe request may be transmitted on channel 1. In some embodiments, processing circuit 110 may transmit the probe request. In some embodiments, step 405 may initiate, start, and / or indicate the start of an active scan. Processing circuit 110 may determine one or more subsequent channels to transmit the probe request in response to the transmission of the probe request. For example, processing circuit 110 may store architecture 300 in memory 120, and processing circuit 110 may refer to architecture 300 to determine subsequent channels.
[0068] In some embodiments, in step 410, a second prompt may be transmitted. For example, a probe request may be transmitted on channel 5. In some embodiments, processing circuit 110 may transmit the second prompt. Processing circuit 110 may transmit the second prompt in response to transmitting the prompt in step 405.
[0069] In some embodiments, in step 415, a third prompt may be transmitted. For example, a probe request may be transmitted on channel 9. In some embodiments, processing circuit 110 may transmit the third prompt. Processing circuit 110 may transmit the third prompt in response to transmitting at least one of the prompt in step 405 and / or the second prompt in step 410.
[0070] In some embodiments, in step 420, a response may be received. For example, a response to the prompt transmitted in step 405 may be received. In some embodiments, processing circuit 110 may receive a response to the transmission of the prompt. For example, processing circuit 110 may check for a response to the prompt in response to processing circuit 110 transmitting the second prompt and / or the third prompt. In some embodiments, processing circuit 110 may check for one or more subsequent responses in response to processing circuit 110 receiving a response to the prompt on channel 1.
[0071] In some embodiments, in step 425, a second response may be received. For example, a response may be received to the prompt transmitted in step 410. In some embodiments, processing circuit 110 may receive the second response in response to processing circuit 110 receiving the response in step 420. In some embodiments, processing circuit 110 may check for one or more subsequent responses in response to processing circuit 110 receiving the second response in step 425.
[0072] In some embodiments, in step 430, a third response may be received. For example, a response may be received to the prompt transmitted in step 415. In some embodiments, processing circuit 110 may receive the third response in response to processing circuit 110 receiving at least one of the response in step 420 and / or the second response in step 425.
[0073] In some embodiments, one or more steps of timing diagram 400 may be performed synchronously and / or in parallel. For example, device 105 may include first interface 125, second interface 125, and third interface 125. Continuing this example, first interface 125 may transmit the prompt discussed in step 405, second interface 125 may transmit the prompt discussed in step 410, and third interface 125 may transmit the probe discussed in step 415. As another example, interface 125 may include first receiver, second receiver, and third receiver. Continuing this example, processing circuit 110 may listen and / or wait for the response discussed in step 420 via the first receiver, listen and / or wait for the response discussed in step 425 via the second receiver, and listen and / or wait for the response discussed in step 430 via the third receiver.
[0074] Figure 5 A block diagram depicting a process 500 for performing active scanning of one or more channels according to some embodiments. In some embodiments, process 500 may include transmitting one or more probe requests on one or more channels described herein. One or more probe requests may be transmitted in parallel and / or in unison (e.g., simultaneously and / or at similar time intervals). In some embodiments, the probe request may be transmitted across one or more channels of a frequency band. For example, the probe request may be transmitted across a 2.4 GHz frequency band. In some embodiments, at least one step of process 500 may be performed by at least one of the systems, devices, and / or components described herein. For example, device 105 may perform at least one step of process 500. Although some steps of process 500 are described as being performed by processing circuit 110, at least one of the various systems, devices, and / or components described herein may perform at least one step of process 500.
[0075] In some embodiments, in step 505, a first probe request for discovering a first access point may be transmitted. For example, processing circuit 110 may transmit a probe request to discover access point 130. In some embodiments, processing circuit 110 may utilize and / or reference architecture 300 to determine a given channel. For example, processing circuit 110 may transmit a first probe request on channel 1 to discover access point 130 located on channel 1.
[0076] In some embodiments, in step 510, one or more additional probe requests for discovering one or more other access points may be transmitted. For example, processing circuit 110 may transmit one or more subsequent probe requests on one or more channels different from the channel on which the first probe request was broadcast. In some embodiments, processing circuit 110 may transmit probe requests on one or more channels of a given channel group. For example, processing circuit 110 may transmit the first probe request on channel 1 in step 505, and processing circuit 110 may transmit one or more additional probe requests on at least one of channel 5 and / or channel 9 in step 510. In some embodiments, processing circuit 110 may transmit the one or more additional probe requests instead of waiting for a response to the first probe request. In other words, processing circuit 110 may transmit one or more subsequent probe requests during the dwell time of the first probe request.
[0077] In some embodiments, in step 515, a response to the first probe request may be checked. For example, processing circuit 110 may check a response to the probe request transmitted in step 505. In some embodiments, processing circuit 110 may check a response to the first probe request in response to processing circuit 110 transmitting one or more subsequent probe requests. For example, processing circuit 110 may check a response to the first probe request in response to transmitting an additional probe request in step 510.
[0078] In some embodiments, in step 520, a response to the first probe request may be received. For example, processing circuit 110 may receive a response to the first probe request transmitted in step 505. In some embodiments, processing circuit 110 may receive a response from a given access point 130. The response may identify one or more access points 130. For example, the response may identify an access point 130 included in and / or on channel 1.
[0079] The hardware systems described herein may be implemented in many different ways and in many different combinations of hardware and software and circuit designs. For example, all or part of an implementation may be a circuit system including an instruction processor, such as a central processing unit (CPU), a microcontroller, or a microprocessor; an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA); or a circuit system including discrete logic or other circuit components, the other circuit components including analog circuit components, digital circuit components, or both; or any combination thereof. As an example, the circuit system may include discrete interconnected hardware components and / or may be combined on a single integrated circuit die, distributed among multiple integrated circuit dies, or implemented in a multi-chip module (MCM) of multiple integrated circuit dies in a common package. In some embodiments, the circuit system may be disposed on one or more integrated circuit dies in an integrated circuit package. In some embodiments, the integrated circuit package may be a combination of two or more packages.
[0080] The circuit system may further include or access instructions (e.g., software or firmware) that are executed by the circuit system. The instructions may be stored in a tangible storage medium other than a transient signal, such as flash memory, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM); or on a magnetic or optical disk, such as a compact disk read-only memory (CDROM), a hard disk drive (HDD), or other magnetic or optical disk; or in or on another machine-readable medium. A product, such as a computer program product, may include a storage medium and instructions stored in or on the medium, and the instructions, when executed by the circuit system in a device, may cause the device to perform any of the processes described above or illustrated in the drawings.
[0081] The embodiments may be distributed as a circuit system among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be stored and managed separately, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may be implemented in many different ways, including as data structures such as linked lists, hash tables, arrays, records, objects, or implicit storage mechanisms. Programs may be parts of a single program (such as subroutines), separate programs, distributed across several memories and processors, or implemented in many different ways, such as in libraries such as shared libraries (such as dynamic link libraries (DLLs)). For example, a DLL may store instructions that, when executed by the circuit system, perform any of the processing described above or illustrated in the drawings.
[0082] The term "coupling" and its variations include causing two components to be directly or indirectly coupled to each other. The term "electrically coupled" and its variations include causing two components to be directly or indirectly coupled to each other through a conductive material (e.g., a metal or copper trace). This coupling may be fixed (e.g., permanent or fixed) or movable (e.g., removable or releasable). This coupling may be achieved by: the two components are directly coupled to each other; the two components are coupled to each other using a separate intermediary component and any additional intermediate components that are coupled to each other; or the two components are coupled to each other using an intermediary component that is integrally formed as a single entity with one of the two components. If "coupling" or its variations are modified by additional terms (e.g., direct coupling), the general definition of "coupling" provided above is modified by the ordinary language meaning of the additional terms (e.g., "direct coupling" means that the two components are coupled without any separate intermediary components), resulting in a narrower definition than the general definition of "coupling" provided above. This coupling may be mechanical, electrical, or fluidic. The term "electrically decoupled" and its variations include causing two components to be directly or indirectly separated from each other (e.g., temporarily or permanently) in some embodiments. Coupling and decoupling may be performed using switches (e.g., transistors).
[0083] The foregoing summarizes the features of several embodiments so that those skilled in the art can better understand aspects of the present disclosure. Those skilled in the art will appreciate that they can easily use the present disclosure as a basis for designing or modifying other processes and structures to implement the same purposes and / or achieve the same advantages of the embodiments described herein. Those skilled in the art will also recognize that such equivalent constructions should not depart from the spirit and scope of the present disclosure, and that they can make various changes, substitutions, and modifications herein without departing from the spirit and scope of the present disclosure.
[0084] It should be noted that certain paragraphs of the present disclosure may refer to terms such as "first" and "second" in conjunction with transmit spatial streams, sounding frames, responses, and subsets of devices for the purpose of identifying or distinguishing one from another or from others. These terms are not intended to relate entities (such as first devices and second devices) only in time or according to a sequence, but in some cases, these entities may include such a relationship. These terms also do not limit the number of possible entities that can operate within a system or environment. It should be understood that the above-mentioned system may provide multiple of any or each of those components and these components may be provided on a stand-alone machine or, in some embodiments, on multiple machines in a distributed system. In addition, the above-mentioned systems and methods may be provided as one or more computer-readable programs or executable instructions embodied on or in one or more articles of manufacture (such as floppy disks, hard disks, CD-ROMs, flash memory cards, PROMs, RAMs, ROMs, or tapes). The programs may be implemented in any programming language (such as LISP, PERL, C, C++, C#) or in any bytecode language (such as JAVA). The software program or executable instructions may be stored as object code on or in one or more articles of manufacture.
[0085] Although the above written description of the method and system enables a person of ordinary skill to make and use embodiments thereof, the person of ordinary skill should understand and appreciate that there are variations, combinations, and equivalents of the specific embodiments, methods, and examples herein. Therefore, the method and system should not be limited to the above-described embodiments, methods, and examples, but should be limited to all embodiments and methods within the scope and spirit of the present disclosure.
Claims
1. A system comprising: A circuit system configured to: transmitting a first probe request to discover a first access point on a first channel; transmitting one or more additional probe requests to discover one or more other access points on one or more other channels instead of waiting for a response to the first probe request; responsive to transmission of the one or more additional probe requests, examining the response to the first probe request on the first channel; and The response to the first probe request is received, wherein the response identifies the first access point.
2. The system of claim 1, wherein the one or more other channels are selected based at least on a difference between one or more first frequencies of the first channel and one or more second frequencies of the one or more other channels.
3. The system of claim 2 , wherein the one or more other channels include a second channel and a third channel, wherein a difference between one or more first frequencies of the first channel and one or more second frequencies of the third channel is different from a difference between the one or more first frequencies of the first channel and one or more second frequencies of the second channel.
4. The system of claim 2, wherein the circuitry is further configured to establish a connection with the first access point of the first channel via a network.
5. The system of claim 1, wherein the circuit system is further configured to: responsive to receipt of the response to the first probe request, examining one or more responses to the one or more additional probe requests on the one or more other channels; and The one or more responses to the one or more additional probe requests are received, wherein the one or more responses identify one or more second access points.
6. The system of claim 1 , wherein the one or more additional probe requests include a second probe request and a third probe request, wherein the one or more other access points include a second access point and a third access point, and wherein the circuitry is further configured to: The second and third probe requests are transmitted after the first probe request and before a time period during which the circuitry is configured to check for the response to the first probe request.
7. The system of claim 1, wherein the circuit system is further configured to: determining a first location of a device including the circuitry in response to connection to the network; and One or more third signals are transmitted to discover one or more third access points in response to determining that the device has moved from the first location to a second location.
8. The system of claim 1 , wherein the first channel and the one or more other channels correspond to a first frequency band, and wherein the circuit system is further configured to transmit one or more third probe requests across a second frequency band different from the first frequency band to discover one or more third access points on the second frequency band.
9. The system of claim 8, wherein the first frequency band comprises a first plurality of frequencies, and wherein the second frequency band comprises a second plurality of frequencies different from the first plurality of frequencies.
10. An apparatus comprising: One or more processors configured to: transmitting a first probe request to discover a first access point on a first channel; transmitting one or more second probe requests to discover one or more second access points of one or more second channels without waiting for a response to the first probe request; responsive to transmission of the one or more second probe requests, examining the response to the first probe request on the first channel; and The response to the first probe request is received, wherein the response identifies the first access point.
11. The device of claim 10, wherein the one or more second channels are selected based at least on a difference between one or more first frequencies of the first channel and one or more second frequencies of the one or more second channels.
12. The device according to claim 11, wherein: The one or more second channels include a second channel and a third channel; A difference between the one or more first frequencies of the first channel and the one or more second frequencies of the third channel is different from a difference between the one or more first frequencies of the first channel and the one or more second frequencies of the second channel.
13. The device of claim 11, wherein the one or more processors are further configured to transmit the one or more second probe requests prior to checking for the response on the first channel.
14. The device of claim 10, wherein the one or more processors are further configured to: responsive to receipt of the response to the first probe request, examining the one or more second channels for one or more second responses to the one or more second probe requests; and The one or more second responses to the one or more second probe requests are received, wherein the one or more second responses identify one or more second access points.
15. The device of claim 10, wherein the one or more second probe requests include a second probe request and a third probe request, wherein the one or more second access points include a second access point and a third access point, and wherein the one or more processors are further configured to: The second and third probe requests are transmitted after the first probe request and before a time period during which the one or more processors are configured to check for the response to the first probe request.
16. The device of claim 10, wherein the one or more processors are further configured to: establishing a connection with the first access point in response to receipt of the response to connect the apparatus to a network associated with the first access point; determining a first location of the device in response to connecting to a network; and One or more third signals are transmitted to discover one or more third access points in response to determining that the device has moved from the first location to a second location.
17. A device according to claim 10, wherein the first channel and the one or more second channels correspond to a first frequency band, and wherein the one or more processors are further configured to transmit one or more third probe requests across a second frequency band different from the first frequency band to discover one or more third access points on the second frequency band.
18. A method comprising: transmitting, by the circuit system, a first probe request to discover a first access point of a first channel; transmitting, by the circuit system, one or more second probe requests to discover one or more second access points for one or more second channels without waiting for a response to the first probe request; in response to transmission of the one or more second probe requests, waiting, by the circuitry, for the response to the first probe request on the first channel; and The response to the first probe request is received by the circuitry, wherein the response identifies the first access point.
19. The method of claim 18, wherein the one or more second channels are selected based at least on a difference between one or more first frequencies of the first channel and one or more second frequencies of the one or more second channels.
20. The method of claim 18, further comprising: In response to receiving the response to the first probe request, examining, by the circuitry, one or more second responses to the one or more second probe requests on the one or more second channels; and The one or more second responses to the one or more second probe requests are received by the circuitry, wherein the one or more second responses identify one or more second access points.