Patent Description:
The present disclosure generally relates to technical fields of wireless network, and more particularly, to systems and methods for connecting to a wireless network.

In a wireless local area network (WLAN) communication, there are usually many channels for establishing connections to different wireless networks. When connecting to a wireless network, a wireless device firstly needs to find out a target channel on which a connection to the wireless network is to be established. In existing methods for determining the target channel, the wireless device often switches different channels for receiving data transmitting on the channels. For example, the wireless device receives data transmitting on a current channel. Only when the data transmitting on the current channel exactly matches a predetermined protocol, the current channel may be determined as the target channel. Otherwise, the wireless device may skip to the next channel until finding out a channel whose data exactly matches the predetermined protocol. However, if the data transmitting on the target channel is lost, out of sequence, or discontinuous, the target channel may be missed. As a result, the wireless device may cost a long time to find out the target channel or even fail to find out the target channel. Thus, it is desirable to provide systems and methods for determining the target channel efficiently.

Present invention is defined by the appended claims. An aspect of the present disclosure introduces a system for connecting to a wireless network. The system may include at least one storage medium including a set of instructions for connecting to a wireless network, and at least one processor in communication with the storage medium. When executing the set of instructions, the at least one processor may perform the following operations. The at least one processor may obtain, within a dwell time, at least one packet transmitting on a current channel among a plurality of predetermined channels, wherein the plurality of predetermined channels at least include a target channel on which a connection to the wireless network is to be established; determine a matching score of the current channel based on the at least one packet, wherein the matching score reflects a likelihood that the current channel is the target channel; and determine, based on the matching score, an additional dwell time for continuing dwelling on the current channel to further evaluate the likelihood that the current channel is the target channel.

In some embodiments, to determine the additional dwell time, the at least one processor is directed to: determine whether the matching score satisfies a first predetermined condition; and in response to a determination that the matching score satisfies the first predetermined condition, designate a first time period as the additional dwell time.

In some embodiments, the first predetermined condition is that the matching score equals to a first predetermined value, and the at least one processor is further directed to: determine that the current channel is the target channel.

In some embodiments, the at least one processor is further directed to: in response to a determination that the matching score does not satisfy the first predetermined condition, determine whether the matching score satisfies a second predetermined condition; and in response to a determination that the matching score satisfies the second predetermined condition, determine the additional dwell time based on the matching score.

In some embodiments, the second predetermined condition is that the matching score is greater than a matching threshold, and the additional dwell time has a positive correlation with the matching score.

In some embodiments, the second predetermined condition is that the matching score is not greater than a matching threshold, and the additional dwell time has a negative correlation with the matching score.

In some embodiments, the at least one processor is further directed to: in response to a determination that the matching score does not satisfy the second predetermined condition, designate a second time period as the additional dwell time; and determine that the current channel is not the target channel.

In some embodiments, the at least one processor is further directed to: determine, among the plurality of predetermined channels, whether a next channel of the current channel is the target channel.

In some embodiments, to determine the matching score, the at least one processor is directed to: obtain a length of each of the at least one packet; and determine the matching score based on the length of each of the at least one packet.

In some embodiments, to determine the matching score based on the length of each of the at least one packet, the at least one processor is further directed to: for every two adjacent packets of the at least one packet, determine a length difference between lengths of the two adjacent packets; and determine the matching score based on the length differences.

According to still another aspect of the present disclosure, a method for connecting to a wireless network is provided. The method may include obtaining, within a dwell time, at least one packet transmitting on a current channel among a plurality of predetermined channels, wherein the plurality of predetermined channels at least include a target channel on which a connection to the wireless network is to be established; determining a matching score of the current channel based on the at least one packet, wherein the matching score reflects a likelihood that the current channel is the target channel; and determining, based on the matching score, an additional dwell time for continuing dwelling on the current channel to further evaluate the likelihood that the current channel is the target channel.

According to still another aspect of the present disclosure, a non-transitory computer-readable medium, comprising at least one set of instructions compatible for connecting to a wireless network is provided. When executed by at least one processor of an electrical device, the at least one set of instructions may direct the at least one processor to perform the following operations. The at least one processor may obtain, within a dwell time, at least one packet transmitting on a current channel among a plurality of predetermined channels, wherein the plurality of predetermined channels at least include a target channel on which a connection to the wireless network is to be established; determine a matching score of the current channel based on the at least one packet, wherein the matching score reflects a likelihood that the current channel is the target channel; and determine, based on the matching score, an additional dwell time for continuing dwelling on the current channel to further evaluate the likelihood that the current channel is the target channel.

In the following, the invention is best understood in view of <FIG>. The remaining embodiments, aspects, or examples are included in order to help the reader better understand the invention.

The following description is presented to enable any person skilled in the art to make and use the present disclosure, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments shown but is to be accorded the widest scope consistent with the claims.

It will be further understood that the terms "comprises," "comprising," "includes," and/or "including" when used in this disclosure, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

These and other features, and characteristics of the present disclosure, as well as the methods of operations and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawing(s), all of which form part of this specification. It is to be expressly understood, however, that the drawing(s) is for the purpose of illustration and description only and are not intended to limit the scope of the present disclosure.

The flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.

An aspect of the present disclosure relates to systems and methods for connecting to a wireless network. When a wireless device connects to a wireless network, the wireless device may firstly find out a target channel on which a connection to the wireless network is to be established. To this end, the systems and methods may determine a likelihood or a probability representing that a current channel is the target channel. The systems and methods may further determine an additional dwell time for continuing dwelling on the current channel based on the likelihood or the probability. During the additional dwell time, the systems and methods may continue dwelling on the current channel to evaluate the likelihood or probability that representing the current channel is the target channel, rather than skipping to another channel when data transmitting on the current channel is not exactly matched with a predetermined protocol. The systems and methods may further determine the additional dwell time based on the likelihood or probability. The greater the likelihood or probability that the current channel is the target channel, the longer the additional dwell time. That is to way, the systems and methods may dwell longer on the current channel when the current channel is more likely to be the target channel. In this way, even if the data transmitting on the target channel is lost, out of sequence, or discontinuous, the target channel may not be missed. The systems and methods may find out the target channel efficiently.

<FIG> is a schematic diagram of an exemplary system <NUM> for connecting to a wireless network according to some embodiments of the present disclosure. The system <NUM> may include a server <NUM>, a network <NUM>, a first wireless device <NUM>, a storage <NUM>, and a second wireless device <NUM>.

The server <NUM> may be configured to process information and/or data relating to connecting to a wireless network. For example, the server <NUM> may determine a matching score representing a likelihood or probability than a channel is a target channel on which a connection to the wireless network is to be established. As another example, the server <NUM> may determine an additional dwell time for continuing dwelling on the channel to further evaluate the likelihood or probability that the channel is the target channel. As still another example, the server <NUM> may determine the target channel from a plurality of predetermined channels. In some embodiments, the server <NUM> may be a single server, or a server group. The server group may be centralized, or distributed (e.g., the server <NUM> may be a distributed system). In some embodiments, the server <NUM> may be local or remote. For example, the server <NUM> may access information and/or data stored in the second wireless device <NUM>, and/or the storage <NUM> via the network <NUM>. As another example, the server <NUM> may connect the second wireless device <NUM>, and/or the storage <NUM> to access stored information and/or data. In some embodiments, the server <NUM> may be implemented on a cloud platform. Merely by way of example, the cloud platform may be a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof. In some embodiments, the server <NUM> may be implemented on a computing device <NUM> having one or more components illustrated in <FIG> in the present disclosure.

In some embodiments, the server <NUM> may include a processing engine <NUM>. The processing engine <NUM> may process information and/or data relating to connecting to a wireless network. For example, the processing engine <NUM> may determine a matching score representing a likelihood or probability than a channel is a target channel on which a connection to the wireless network is to be established. As another example, the processing engine <NUM> may determine an additional dwell time for continuing dwelling on the channel to further evaluate the likelihood or probability that the channel is the target channel. As still another example, the processing engine <NUM> may determine the target channel from a plurality of predetermined channels. In some embodiments, the processing engine <NUM> may include one or more processing engines (e.g., single-core processing engine(s) or multi-core processor(s)). Merely by way of example, the processing engine <NUM> may be one or more hardware processors, such as a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction-set processor (ASIP), a graphics processing unit (GPU), a physics processing unit (PPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic device (PLD), a controller, a microcontroller unit, a reduced instruction set computer (RISC), a microprocessor, or the like, or any combination thereof.

The network <NUM> may facilitate the exchange of information and/or data. In some embodiments, one or more components of the system <NUM> (e.g., the server <NUM>, the first wireless device <NUM>, the second wireless device <NUM>, and the storage <NUM>) may transmit information and/or data to other component(s) in the system <NUM> via the network <NUM>. For example, the server <NUM> or the second wireless device <NUM> may obtain at least one packet transmitting on a current channel via the network <NUM>. As another example, the server <NUM> may send an additional dwell time for continuing dwelling on the current channel to the second wireless device <NUM> via the network <NUM>. In some embodiments, the network <NUM> may be any type of wired or wireless network, or combination thereof. Merely by way of example, the network <NUM> may be a cable network, a wireline network, an optical fiber network, a telecommunications network, an intranet, an Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a wide area network (WAN), a public telephone switched network (PSTN), a Bluetooth network, a ZigBee network, a near field communication (NFC) network, or the like, or any combination thereof. In some embodiments, the network <NUM> may include one or more network access points. For example, the network <NUM> may include wired or wireless network access points such as base stations and/or internet exchange points <NUM>-<NUM>, <NUM>-<NUM>,. , through which one or more components of the system <NUM> may be connected to the network <NUM> to exchange data and/or information between them.

The first wireless device <NUM> may be any electronic device that is capable of wireless communication. For example, the first wireless device <NUM> may include a mobile device <NUM>-<NUM>, a tablet computer <NUM>-<NUM>, a computer <NUM>-<NUM>, a router <NUM>-<NUM>, or the like, or any combination thereof. In some embodiments, the first wireless device <NUM> may send data on a plurality of predetermined channel. For example, the first wireless device <NUM> may be installed with an application for controlling the second wireless device <NUM> to connect to wireless networks. In some embodiments, the first wireless device <NUM> may further include at least one network port. The at least one network port may be configured to send information to and/or receive information from one or more components in the system <NUM> (e.g., the server <NUM>, the storage <NUM>, the second wireless device <NUM>) via the network <NUM>. In some embodiments, the first wireless device <NUM> may be implemented on a computing device <NUM> having one or more components illustrated in <FIG>, or a mobile device <NUM> having one or more components illustrated in <FIG> in the present disclosure.

The storage <NUM> may store data and/or instructions. For example, the storage <NUM> may store data obtained from the first wireless device (e.g., at least one packets). As another example, the storage <NUM> may store data (e.g., an additional dwell time, a target channel, etc.). As still another example, the storage <NUM> may store data and/or instructions that the server <NUM> may execute or use to perform exemplary methods described in the present disclosure. In some embodiments, the storage <NUM> may be a mass storage, a removable storage, a volatile read-and-write memory, a read-only memory (ROM), or the like, or any combination thereof. Exemplary mass storage may include a magnetic disk, an optical disk, a solid-state drive, etc. Exemplary removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc. Exemplary volatile read-and-write memory may include a random-access memory (RAM). Exemplary RAM may include a dynamic RAM (DRAM), a double date rate synchronous dynamic RAM (DDR SDRAM), a static RAM (SRAM), a thyristor RAM (T-RAM), and a zero-capacitor RAM (Z-RAM), etc. Exemplary ROM may include a mask ROM (MROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a compact disk ROM (CD-ROM), and a digital versatile disk ROM, etc. In some embodiments, the storage <NUM> may be implemented on a cloud platform. Merely by way of example, the cloud platform may be a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.

In some embodiments, the storage <NUM> may include at least one network port to communicate with other devices in the system <NUM>. For example, the storage <NUM> may be connected to the network <NUM> to communicate with one or more components of the system <NUM> (e.g., the server <NUM>, the first wireless device <NUM>, the second wireless device <NUM>) via the at least one network port. One or more components in the system <NUM> may access the data or instructions stored in the storage <NUM> via the network <NUM>. In some embodiments, the storage <NUM> may be directly connected to or communicate with one or more components in the system <NUM> (e.g., the server <NUM>, the first wireless device <NUM>, the second wireless device <NUM>). In some embodiments, the storage <NUM> may be part of the server <NUM>.

The second wireless device <NUM> may be any electronic device that is capable of wireless communication. In some embodiments, the second wireless device <NUM> may be an electronic device without human-computer interaction interfaces. For example, the second wireless device <NUM> may include a Wi-Fi camera, a Wi-Fi video recorder, a Wi-Fi appliance (e.g., a Wi-Fi TV, a Wi-Fi washing machine, a Wi-Fi refrigerator, a Wi-Fi light, a Wi-Fi intelligent speaker, etc.), a Wi-Fi vehicle, a Wi-Fi smart wearable device (e.g., a smartwatch, a smart glass, etc.), or the like, or any combination thereof. In some embodiments, the second wireless device <NUM> may further include at least one network port. The at least one network port may be configured to send information to and/or receive information from one or more components in the system <NUM> (e.g., the server <NUM>, the storage <NUM>) via the network <NUM>. In some embodiments, the second wireless device <NUM> may be implemented on a computing device <NUM> having one or more components illustrated in <FIG>, or a mobile device <NUM> having one or more components illustrated in <FIG> in the present disclosure.

<FIG> is a schematic diagram illustrating exemplary hardware and software components of a computing device <NUM> on which the server <NUM>, and/or the second wireless device <NUM> may be implemented according to some embodiments of the present disclosure. For example, the processing engine <NUM> may be implemented on the computing device <NUM> and configured to perform functions of the processing engine <NUM> disclosed in this disclosure.

The computing device <NUM> may be used to implement a system <NUM> for the present disclosure. The computing device <NUM> may be used to implement any component of system <NUM> that performs one or more functions disclosed in the present disclosure. For example, the processing engine <NUM> may be implemented on the computing device <NUM>, via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computer functions relating to the wireless network as described herein may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load.

The computing device <NUM>, for example, may include COM ports <NUM> connected to and from a network connected thereto to facilitate data communications. The COM port <NUM> may be any network port or data exchange port to facilitate data communications. The computing device <NUM> may also include a processor (e.g., the processor <NUM>), in the form of one or more processors (e.g., logic circuits), for executing program instructions. For example, the processor may include interface circuits and processing circuits therein. The interface circuits may be configured to receive electronic signals from a bus <NUM>, wherein the electronic signals encode structured data and/or instructions for the processing circuits to process. The processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. The processing circuits may also generate electronic signals including the conclusion or the result and a triggering code. In some embodiments, the trigger code may be in a format recognizable by an operation system (or an application installed therein) of an electronic device (e.g., the second wireless device <NUM>) in the system <NUM>. For example, the trigger code may be an instruction, a code, a mark, a symbol, or the like, or any combination thereof, that can activate certain functions and/or operations of a mobile phone or let the mobile phone execute a predetermined program(s). In some embodiments, the trigger code may be configured to rend the operation system (or the application) of the electronic device to generate a presentation of the conclusion or the result (e.g., a prediction result) on an interface of the electronic device. Then the interface circuits may send out the electronic signals from the processing circuits via the bus <NUM>.

The exemplary computing device may include the internal communication bus <NUM>, program storage and data storage of different forms including, for example, a disk <NUM>, and a read-only memory (ROM) <NUM>, or a random access memory (RAM) <NUM>, for various data files to be processed and/or transmitted by the computing device. The exemplary computing device may also include program instructions stored in the ROM <NUM>, RAM <NUM>, and/or other types of non-transitory storage medium to be executed by the processor <NUM>. The methods and/or processes of the present disclosure may be implemented as the program instructions. The exemplary computing device may also include operating systems stored in the ROM <NUM>, RAM <NUM>, and/or other type of non-transitory storage medium to be executed by the processor <NUM>. The program instructions may be compatible with the operating systems for controlling to connect to wireless networks. The computing device <NUM> also includes an I/O component <NUM>, supporting input/output between the computer and other components. The computing device <NUM> may also receive programming and data via network communications.

Merely for illustration, only one processor is illustrated in <FIG>. Multiple processors are also contemplated; thus, operations and/or method steps performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors. For example, if in the present disclosure the processor of the computing device <NUM> executes both step A and step B, it should be understood that step A and step B may also be performed by two different processors jointly or separately in the computing device <NUM> (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B).

<FIG> is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary mobile device <NUM> on which the server <NUM> or the second wireless device <NUM> may be implemented according to some embodiments of the present disclosure.

As illustrated in <FIG>, the mobile device <NUM> may include a communication platform <NUM>, a display <NUM>, a graphics processing unit (GPU) <NUM>, a central processing unit (CPU) <NUM>, an I/O <NUM>, a memory <NUM>, and a storage <NUM>. The CPU may include interface circuits and processing circuits similar to the processor <NUM>. In some embodiments, any other suitable component, including but not limited to a system bus or a controller (not shown), may also be included in the mobile device <NUM>. In some embodiments, a mobile operating system <NUM> (e.g., iOS™, Android™, Windows Phone™, etc.) and one or more applications <NUM> may be loaded into the memory <NUM> from the storage <NUM> in order to be executed by the CPU <NUM>. The applications <NUM> may include a browser or any other suitable mobile apps for receiving and rendering information relating to the route planning service. User interactions with the information stream may be achieved via the I/O devices <NUM> and provided to the processing engine <NUM> and/or other components of the system <NUM> via the network <NUM>.

To implement various modules, units, and their functionalities described in the present disclosure, computer hardware platforms may be used as the hardware platform(s) for one or more of the elements described herein (e.g., the system <NUM>, and/or other components of the system <NUM> described with respect to <FIG>). The hardware elements, operating systems and programming languages of such computers are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith to adapt those technologies to select the best facial image of the target human face as described herein. A computer with user interface elements may be used to implement a personal computer (PC) or other type of work station or terminal device, although a computer may also act as a server if appropriately programmed. It is believed that those skilled in the art are familiar with the structure, programming and general operation of such computer equipment and as a result, the drawings should be self-explanatory.

<FIG> is a block diagram illustrating an exemplary processing engine <NUM> according to some embodiments of the present disclosure. As illustrated in <FIG>, the processing engine <NUM> may include a packet obtaining module <NUM>, a matching score determining module <NUM>, and an addition dwell time determining module <NUM>.

The packet obtaining module <NUM> may be configured to obtain one or more packets transmitting on a channel. For example, within a dwell time, the packet obtaining module <NUM> may obtain at least one packet transmitting on a current channel among a plurality of predetermined channels. As another example, within an additional dwell time, the packet obtaining module <NUM> may obtain at least one packet transmitting on the current channel.

The matching score determining module <NUM> may be configured to determine a matching score that represents a likelihood or a probability that a channel is a target channel on which a wireless network is to be established. In some embodiments, the matching score determining module <NUM> may determine a matching score of the current channel based on the at least one packet obtained from the packet obtaining module <NUM>. For example, the matching score determining module <NUM> may obtain a length of each of the at least one packet. As another example, for every two adjacent packets of the at least one packet, the matching score determining module <NUM> determines a length difference between lengths of the two adjacent packets. The matching score determining module <NUM> then determines the matching score of the current channel based on the length differences.

The addition dwell time determining module <NUM> may be configured to determine an additional dwell time for continuing dwelling on a channel. In some embodiments, the addition dwell time determining module <NUM> may determine an additional dwell time of the current channel based on the matching score of the current channel. For example, the addition dwell time determining module <NUM> may determine whether the matching score of the current channel satisfies a first predetermined condition and/or a second predetermined condition. As another example, the addition dwell time determining module <NUM> may determine the additional dwell time based on the matching score.

The modules in the processing engine <NUM> may be connected to or communicate with each other via a wired connection or a wireless connection. The wired connection may be a metal cable, an optical cable, a hybrid cable, or the like, or any combination thereof. The wireless connection may be a Local Area Network (LAN), a Wide Area Network (WAN), a Bluetooth, a ZigBee, a Near Field Communication (NFC), or the like, or any combination thereof. Two or more of the modules may be combined into a single module, and any one of the modules may be divided into two or more units. For example, the packet obtaining module <NUM> and the matching score determining module <NUM> may be integrated as one module to both determine the matching score and the additional dwell time.

<FIG> is a flowchart illustrating an exemplary process <NUM> for connecting to a wireless network according to some embodiments of the present disclosure. The process <NUM> may be executed by the system <NUM>. For example, the process <NUM> may be implemented as a set of instructions (e.g., an application) stored in the storage ROM <NUM> or the RAM <NUM>. The processor <NUM> may execute the set of instructions, and when executing the instructions, it may be configured to perform the process <NUM>. The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process <NUM> may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process as illustrated in <FIG> and described below is not intended to be limiting.

In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the packet obtaining module <NUM>) may obtain, within a dwell time, at least one packet transmitting on a current channel among a plurality of predetermined channels.

In some embodiments, a predetermined channel may be a medium through which wireless data are transmitted. On each of the plurality of predetermined channel, a predetermined range of wireless data may be transmitted. In some embodiments, when connecting to a wireless network, the processing engine <NUM> may scan one or more of the plurality of predetermined channels and dwell on the one or more predetermined channel to determine which predetermined channel is a target channel. On the target channel, the wireless network is to be established. In some embodiments, the plurality of predetermined channels may at least include a target channel. In some embodiments, a count of the plurality of predetermined channels may be different according to different network standards or different countries. For example, the plurality of predetermined channels may be <NUM>, <NUM>, <NUM>, etc..

In some embodiments, the dwell time may be a default time period that the processing engine <NUM> dwells on a predetermined channel. During the default time period, the processing engine <NUM> may obtain data transmitting on the predetermined channel to determine whether the predetermined channel is the target channel. In some embodiments, the dwell time may be a default time period and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the dwell time may be <NUM>, <NUM>, <NUM>, etc. As another example, the dwell time may be determined by an operator of the system <NUM> according to different scenarios (e.g., different wireless networks, different counts of predetermined channels, etc.). In some embodiments, the dwell time on each of the plurality of predetermined channels may be the same or may be different from each other.

In some embodiments, a packet of the at least one packet may be a formatted unit of data. In some embodiments, the packet may include an address (e.g., a source address of a sending terminal, a destination address of a receiving terminal), a length of the packet, a hop limit, a payload, or the like, or any combination thereof. In some embodiments, within the dwell time, the processing engine <NUM> may dwell on the current channel to obtain the at least one packet transmitting on the current channel continuously. The at least one packet may have a time sequence.

In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the matching score determining module <NUM>) may determine a matching score of the current channel based on the at least one packet.

In some embodiments, the matching score may be used to evaluate a matching degree that the at least one packet transmitting on the current channel matches with wireless data which is to be transmitted on the target channel. The matching score may reflect a likelihood or a probability that the current channel is the target channel. For example, the greater the matching score, the more likely or the higher probability that the current channel is the target channel. As another example, the greater the matching score, the less likely or the lower probability that the current channel is the target channel. In some embodiments, the matching score may be represented as a number, a percentage, a fraction, or the like, or any combination thereof.

In some embodiments, the processing engine <NUM> may determine the matching score based on the at least one packet transmitting on the current channel. In some embodiments, the first wireless device <NUM> may send at least one target packet of the wireless network on the target channel. The at least one target packed (e.g., an address in each of the at least one target packet, a length of each packet, a hop limit of each packet, a payload of each packet, etc.) may satisfy a predetermined protocol. The processing engine <NUM> may determine whether the at least one packet transmitting on the current channel satisfies the predetermined protocol according to a method or an algorithm. In some embodiments, the processing engine <NUM> may determine the matching score of the current channel according to the predetermined protocol of the length of each of the at least one packet. The length of each of the at least one target packets may satisfy a predetermined length condition. For example, the predetermined length condition may include that each of the at least one packet has the same length. As another example, the predetermined length condition may include that every two adjacent packets have a predetermined length difference (e.g., <NUM>, <NUM>, <NUM>, m, wherein m is a positive integer). As still another example, the predetermined length condition may include that each of the at least one packet has a predetermined length. In some embodiments, the method for determining the matching score of the current channel may be found elsewhere (e.g., <FIG> and the descriptions thereof) in the present disclosure. In some embodiments, the processing engine <NUM> may determine the matching score according to the predetermined protocol of the payload included in each of the at least one packet. For example, the payload of each of the at least one target packet may satisfy a predetermined payload condition.

In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the additional dwell time determining module <NUM>) may determine an additional dwell time based on the matching score.

In some embodiments, the additional dwell time may be an additional time period that the processing engine <NUM> will cost for continuing dwelling on the current channel to further evaluate the likelihood or the probability that the current channel is the target channel. During the additional dwell time after the default dwell time, the processing engine <NUM> will continue dwelling on the current channel to obtain more packets transmitting on the current channel rather than skipping to another channel among the plurality of predetermined channels. In some embodiments, the processing engine <NUM> may further use the obtained more packets to further evaluate the likelihood or the probability that the current channel is the target channel according to the method described in the present disclosure.

In some embodiments, the processing engine <NUM> may determine the addition dwell time based on the matching score. For example, the processing engine <NUM> may predetermine or establish a table or a chart reflecting a relationship between the matching score and the additional dwell time. In the table or the chart, each matching score may have a corresponding additional dwell time. In some embodiments, the table or the chart may be predetermined (e.g., according to empirical values) and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). The processing engine <NUM> may access the storage device and look up the table or the chart to find out the addition dwell time corresponding to the matching score. As another example, the processing engine <NUM> may pre-train a machine learning model for predicting an additional dwell time under a given matching score. The processing engine <NUM> may input the determined matching score into the machine learning model, and the machine learning model may output the additional dwell time. In some embodiments, the machine learning model may be trained by the processing engine with a plurality of historical data, and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). As still another example, the method for determining the dwell time may be found elsewhere (e.g., <FIG> and the descriptions thereof) in the present disclosure.

In some embodiments, the processing engine <NUM> may determine the matching score for evaluating the likelihood of probability that the current channel is the target channel rather than directly determine whether the current channel is the target channel or not. The greater the likelihood or probability that the current channel is the target channel, the longer the processing engine <NUM> may dwell on the current channel to continue obtaining more packet transmitting on the current channel. In this way, even if the at least one packet transmitting on the current channel is lost, out of sequence, or discontinuous, the processing engine <NUM> may find out the target channel efficiently.

It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. For example, the process <NUM> may further include an operation for determining the target channel after determining the additional dwell time.

<FIG> is a flowchart illustrating an exemplary process <NUM> for determining a matching score of a current channel according to some embodiments of the present disclosure. The process <NUM> may be executed by the system <NUM>. For example, the process <NUM> may be implemented as a set of instructions (e.g., an application) stored in the storage ROM <NUM> and/or RAM <NUM>. The processor <NUM> may execute the set of instructions, and when executing the instructions, it may be configured to perform the process <NUM>. The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process <NUM> may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process as illustrated in <FIG> and described below is not intended to be limiting.

In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the matching score determining module <NUM>) may obtain a length of each of the at least one packet.

In some embodiments, each of the at least one packet may include an address (e.g., a source address of a sending terminal, a destination address of a receiving terminal), a length of the packet, a hop limit, a payload, or the like, or any combination thereof. In some embodiments, the length of the packet may be implied by a duration of transmission of the packet. The processing engine <NUM> may obtain the length of each packet when obtaining the at least one packet transmitting on the current channel.

In <NUM>, for every two adjacent packets of the at least one packet, the processing engine <NUM> (e.g., the processor <NUM>, the matching score determining module <NUM>) may determine a length difference between lengths of the two adjacent packets.

In some embodiments, the processing engine <NUM> may obtain the at least one packet according to a time sequence. The two adjacent packets may refer to two consecutive packets in the time sequence. For example, the processing engine <NUM> may obtain n+<NUM> packets, wherein n is an integer greater than <NUM>. The length of each of the at least one packets in the time sequence may be xo, x<NUM>, x<NUM>. xn, respectively. The length difference between lengths of two adjacent packets may be |xi+<NUM> - xi|, wherein i is an integer.

In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the matching score determining module <NUM>) may determine the matching score of the current channel based on the length differences.

In some embodiments, the processing engine <NUM> may determine the matching score based on the length differences according to a predetermined length condition. For example, the predetermined length condition may include that each of the length differences is a predetermined difference value. The predetermined difference value may be predetermined by an operator of the system <NUM> or the first wireless device <NUM>, and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the predetermined difference value may be <NUM>, <NUM>, <NUM>, <NUM>, etc. In some embodiments, the processing engine <NUM> may determine the matching score based on the length differences according to a predetermined algorithm. For example, the processing engine <NUM> may determine the matching score according to Equation (<NUM>): <MAT> wherein m denotes the matching score of the current channel, a denotes a predetermined difference value, and n+<NUM> denotes a count of the at least one packets on the current channel, wherein a is an integer and n is a positive integer. For example, the predetermined difference value a is <NUM>. Within the dwell time, the processing engine <NUM> obtain five packets xo, x<NUM>, x<NUM>, x<NUM>, x<NUM> transmitting on the current channel. The length of each of the five packets of a current channel <NUM> is <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, respectively. The processing engine <NUM> may determine the matching score of the current channel <NUM> according to Equation (<NUM>) as m=<NUM>+<NUM> +<NUM>+<NUM>=<NUM>. As another example, the length of each of the five packets of a current channel <NUM> is <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, respectively. The processing engine <NUM> may determine the matching score of the current channel <NUM> according to Equation (<NUM>) as m=<NUM>+<NUM> +<NUM>+<NUM>=<NUM>. As still another example, the length of each of the five packets of a current channel <NUM> is <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, respectively. The processing engine <NUM> may determine the matching score of the current channel <NUM> according to Equation (<NUM>) as m=<NUM>+<NUM>+<NUM>+<NUM>=<NUM>. As still another example, the length of each of the five packets of a current channel <NUM> is <NUM>, <NUM>, <NUM>, <NUM> and <NUM>, respectively. The processing engine <NUM> may determine the matching score of the current channel <NUM> according to Equation (<NUM>) as m=<NUM>+<NUM>+<NUM>+<NUM>=<NUM>.

It should be noted that the matching score determined according to Equation (<NUM>) is merely for illustration purposes, the matching score may be defined in any other ways. For example, the processing engine <NUM> may determine the matching score according to Equation (<NUM>): <MAT> for example, the matching score of the current channel <NUM> is m=(<NUM>-<NUM>)/<NUM>=<NUM>%; the matching score of the current channel <NUM> is m=(<NUM>-<NUM>)/<NUM>=<NUM>%; the matching score of the current channel <NUM> is m=(<NUM>-<NUM>)/<NUM>=<NUM>%; and the matching score of the current channel <NUM> is m=(<NUM>-<NUM>)/<NUM>=<NUM>%.

It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more other optional operations (e.g., a storing operation) may be added elsewhere in the exemplary process <NUM>. For example, after determining the matching score, the processing engine <NUM> may store the matching score of the current channel in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). As another example, the method for determining the matching score is merely for illustration for purposes, other methods do not depart from the scope of the present disclosure.

<FIG> is a flowchart illustrating an exemplary process <NUM> for determining an additional dwell time according to some embodiments of the present disclosure. The process <NUM> may be executed by the system <NUM>. For example, the process <NUM> may be implemented as a set of instructions (e.g., an application) stored in the storage ROM <NUM> or the RAM <NUM>. The processor <NUM> may execute the set of instructions, and when executing the instructions, it may be configured to perform the process <NUM>. The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process <NUM> may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process as illustrated in <FIG> and described below is not intended to be limiting.

In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may determine whether the matching score satisfies a first predetermined condition.

In some embodiments, the first predetermined condition may be used to determine whether the current channel is the target channel. In some embodiments, the first predetermined condition may be predetermined by an operator of the system <NUM> and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the first predetermined condition may be that the matching score is greater (or less) than a first predetermined threshold. For example, if the matching score of the current channel is greater (or less) than the first predetermined threshold, the processing engine <NUM> may determine that the current channel is the target channel. In some embodiments, the first predetermined threshold may be a default value and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the first predetermined threshold may be <NUM>, <NUM>, <NUM>%, <NUM>%, etc. As another example, the first predetermined condition may be that the matching score is equal to a first predetermined value. For example, if the matching score of the current channel is equal to the first predetermined value, the processing engine <NUM> may determine that the current channel is the target channel. In some embodiments, the first predetermined value may be a default value and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the first predetermined value may be <NUM>, <NUM>%, etc..

In <NUM>, in response to a determination that the matching score of the current channel satisfies the first predetermined condition, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may designate a first time period as the additional dwell time. In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may determine that the current channel is the target channel.

In some embodiments, in response to the determination that the matching score satisfies the first predetermined condition, the processing engine <NUM> may determine that the current channel is the target channel, and the processing engine may not need to dwell on the current channel. The processing engine <NUM> may designate the first time period as the additional dwell time. For example, the first time period may be <NUM>. As another example, the processing engine <NUM> may further dwell the first time period on the current channel to verify whether the current channel is the target channel. The first time period may be greater than <NUM>, for example, <NUM>, <NUM>, <NUM>, etc..

In <NUM>, in response to a determination that the matching score of the current channel does not satisfy the first predetermined condition, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may determine whether the matching score satisfies a second predetermined condition.

In some embodiments, the second predetermined condition may be used to determine whether the current channel has the probability to be the target channel. In some embodiments, the second predetermined condition may be predetermined by an operator of the system <NUM> and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the second predetermined condition may be that the matching score is greater than a matching threshold. For example, if the matching score of the current channel is greater than the matching threshold, the processing engine <NUM> may determine that the current channel is more likely to be the target channel. In some embodiments, the matching threshold may be a default value and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the matching threshold may be <NUM>, <NUM>, <NUM>, <NUM>, etc. As another example, the second predetermined condition may be that the matching score is less than a matching threshold. For example, if the matching score of the current channel is less than the matching threshold, the processing engine <NUM> may determine that the current channel is likely to be the target channel. In some embodiments, the matching threshold may be a default value and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). For example, the matching threshold may be <NUM>%, <NUM>%, <NUM>%, <NUM>%, etc..

In <NUM>, in response to a determination that the matching score of the current channel satisfies the second predetermined condition, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may determine the additional dwell time based on the matching score.

In some embodiments, in response to the determination that the matching score of the current channel satisfies the second predetermined condition, the processing engine <NUM> may determine that the current channel is likely to be the target channel. The processing engine <NUM> may continue dwelling on the current channel to further evaluate the likelihood or probability that the current channel is the target channel. In some embodiments, the additional dwell time may be associated with the matching score. For example, the more likely that the current channel is the target channel, the processing engine <NUM> may continue dwell more time on the current channel.

In some embodiments, if the second predetermined condition is that the matching score is not greater than the matching threshold, the additional dwell time may have a negative correlation with the matching score. The addition dwell time increases with the decreasing of the matching score. For example, the matching threshold is <NUM>, and the matching score determined according to Equation (<NUM>) of the current channel <NUM> (m=<NUM>), the current channel <NUM> (m=<NUM>), the current channel <NUM> (m=<NUM>), and the current channel <NUM> (m=<NUM>) described at operation <NUM> in <FIG> may be compared with the matching threshold, respectively. The processing engine <NUM> may determine that the current channel <NUM> and the current channel <NUM> satisfy the second predetermined condition. The processing engine <NUM> may determine that the current channel <NUM> is more likely to be the target channel than the current channel <NUM>. The additional dwell time of current channel <NUM> may be greater than the current channel <NUM>. For example, the processing engine <NUM> may determine that the additional dwell time of the current channel <NUM> is <NUM>, and the addition dwell time of the current channel <NUM> is <NUM>.

In some embodiments, if the second predetermined condition is that the matching score is greater than the matching threshold, the additional dwell time may have a positive correlation with the matching score. The addition dwell time increases with the increasing of the matching score. For example, the matching threshold is <NUM>%, and the matching score determined according to Equation (<NUM>) of the current channel <NUM> (m=<NUM>%), the current channel <NUM> (m=<NUM>%), the current channel <NUM> (m=<NUM>%), and the current channel <NUM> (m=<NUM>%) described at operation <NUM> in <FIG> may be compared with the matching threshold, respectively. The processing engine <NUM> may determine that the current channel <NUM> and the current channel <NUM> satisfy the second predetermined condition. The processing engine <NUM> may determine that the current channel <NUM> is more likely to be the target channel than the current channel <NUM>. The additional dwell time of current channel <NUM> may be greater than the current channel <NUM>. For example, the processing engine <NUM> may determine that the additional dwell time of the current channel <NUM> is <NUM>, and the addition dwell time of the current channel <NUM> is <NUM>.

In some embodiments, the processing engine <NUM> may determine the additional dwell time according to an algorithm, a chart, a table, a matching learning method, or the like, or any combination thereof. For example, the processing engine <NUM> may predetermine or establish a table or a chart reflecting a relationship between the matching score and the additional dwell time. In the table or the chart, each matching score may have a corresponding additional dwell time. In some embodiments, the table or the chart may be predetermined (e.g., according to empirical values) and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). The processing engine <NUM> may access the storage device and look up the table or the chart to find out the addition dwell time corresponding to the matching score. As another example, the processing engine <NUM> may pre-train a machine learning model for predicting an additional dwell time under a given matching score. The matching learning model may be pre-trained and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). The processing engine <NUM> may input the determined matching score into the machine learning model, and the machine learning model may output the additional dwell time. In some embodiments, the machine learning model may be trained by the processing engine with a plurality of historical data, and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). As still another example, an algorithm reflecting a relationship between the matching score and the additional dwell time may be determined by an operator of the system <NUM> according to empirical values and stored in a storage device (e.g., the storage <NUM>, the ROM <NUM> or the RAM <NUM>, etc.). The processing engine <NUM> may calculate the addition dwell time of the current channel according to the algorithm.

In some embodiments, during the additional dwell time, the processing engine <NUM> may further dwell on the current channel and evaluate whether the current channel is the target channel according to the methods according to the present disclosure. For example, within the additional dwell time, the processing engine <NUM> may further obtain at least one packet transmitting on the current channel, and determine a matching score of the current channel. The processing engine <NUM> may further determine whether the current channel is the target channel based on the first predetermined condition, or determine another additional dwell time on the current channel based on the matching score.

In <NUM>, in response to a determination that the matching score of the current channel does not satisfy the second predetermined condition, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may designate a second time period as the additional dwell time. In <NUM>, the processing engine <NUM> (e.g., the processor <NUM>, the addition dwell time determining module <NUM>) may determine that the current channel is not the target channel.

In some embodiments, in response to the determination that the matching score does not satisfy the second predetermined condition, the processing engine <NUM> may determine that the current channel is not the target channel, and the processing engine may not need to dwell on the current channel. The processing engine <NUM> may designate the second time period as the additional dwell time. For example, the second time period may be <NUM>.

In some embodiments, after a determination that the current channel is not the target channel, the processing engine <NUM> may further determine, among the plurality of predetermined channels, whether a next channel of the current channel is the target channel. For example, the processing engine <NUM> may skip to the next channel. The next channel may be a new current channel, and the processing engine <NUM> may determine whether the new current channel is the target channel according to methods described in the present disclosure (e.g., <FIG> and the descriptions thereof).

It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more other optional operations (e.g., a storing operation) may be added elsewhere in the exemplary process <NUM>. For example, the processing engine may determine whether the matching score of the current channel satisfies the second predetermined condition (operation <NUM>) before determining whether the matching score satisfies the first predetermined condition (operation <NUM>). For example, only when the current channel is likely to be the target channel, the processing engine <NUM> may determine whether the current channel satisfies the first predetermined condition (whether the current channel is the target channel).

It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present invention which is defined by the appended claims For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more other optional operations (e.g., a storing operation) may be added elsewhere in the exemplary process <NUM>.

Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the exemplary embodiments of this disclosure.

Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment," "one embodiment," or "an alternative embodiment" in various portions of this specification are not necessarily all referring to the same embodiment.

Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a "block," "module," "engine," "unit," "component," or "system. " Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.

A computer-readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. A computer-readable signal medium may be any computer-readable medium that is not a computer-readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran <NUM>, Perl, COBOL <NUM>, PHP, ABAP, dynamic programming languages such as Python, Ruby, and Groovy, or other programming languages. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a software as a service (SaaS).

Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations, therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software-only solution-e.g., an installation on an existing server or mobile device.

Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

In some embodiments, the numbers expressing quantities or properties used to describe and claim certain embodiments of the application are to be understood as being modified in some instances by the term "about," "approximate," or "substantially. " For example, "about," "approximate," or "substantially" may indicate ±<NUM>% variation of the value it describes, unless otherwise stated. Accordingly, in some embodiments, the numerical parameters set forth in the written description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the application are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable.

Each of the patents, patent applications, publications of patent applications, and other material, such as articles, books, specifications, publications, documents, things, and/or the like, referenced herein is hereby incorporated herein by this reference in its entirety for all purposes, excepting any prosecution file history associated with same, any of same that is inconsistent with or in conflict with the present document, or any of same that may have a limiting affect as to the broadest scope of the claims now or later associated with the present document. By way of example, should there be any inconsistency or conflict between the descriptions, definition, and/or the use of a term associated with any of the incorporated material and that associated with the present document, the description, definition, and/or the use of the term in the present document shall prevail.

Claim 1:
A system (<NUM>) for connecting to a wireless network in a wireless local area network, WLAN, communication, comprising:
at least one storage medium including a set of instructions for connecting to the wireless network; and
at least one processor (<NUM>) in communication with the storage medium,
wherein when executing the set of instructions, the at least one processor (<NUM>) is directed to:
obtain, within a dwell time, at least one packet transmitting on a current channel among a plurality of predetermined channels, wherein the plurality of predetermined channels at least include a target channel on which a connection to the wireless network is to be established;
determine a matching score of the current channel based on the at least one packet, wherein the matching score reflects a likelihood that the current channel is the target channel; and
determine, based on the matching score, an additional dwell time for continuing dwelling on the current channel to further evaluate the likelihood that the current channel is the target channel, wherein to determine the matching score, the at least one processor (<NUM>) is directed to:
obtain a length of each of the at least one packet;
for every two adjacent packets of the at least one packet, determine a length difference between lengths of the two adjacent packets; and
determine the matching score based on the length differences.