WO2025221806A1 - Fourniture d'assistance d'itinérance à des dispositifs sans fil - Google Patents
Fourniture d'assistance d'itinérance à des dispositifs sans filInfo
- Publication number
- WO2025221806A1 WO2025221806A1 PCT/US2025/024793 US2025024793W WO2025221806A1 WO 2025221806 A1 WO2025221806 A1 WO 2025221806A1 US 2025024793 W US2025024793 W US 2025024793W WO 2025221806 A1 WO2025221806 A1 WO 2025221806A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- wireless device
- network device
- roaming
- neighboring network
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
- H04W36/00835—Determination of neighbour cell lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Definitions
- the present disclosure relates to wireless networks. More particularly, the present disclosure relates to providing roaming assistance to wireless devices.
- Wi-Fi or wireless fidelity
- Wi-Fi has become a fundamental technology in today's world, enabling wireless connectivity across a broad spectrum of devices.
- the significance of WiFi stems from the convenience and flexibility it offers, allowing for seamless Internet access and facilitating communication, data transfer, and various online activities.
- Wi-Fi assists in enhancing productivity and connectivity for individuals and organizations alike.
- Wi-Fi Wireless Fidelity
- the Wi-Fi network may involve one or more network devices that enable Wi-Fi-compatible devices to stay connected to the Internet or communicate with other devices within the network.
- Various roaming assistance methods have been developed to enable seamless roaming across Wi-Fi networks. These methods involve a network device recommending a neighboring network device for Wi-Fi roaming. For example, when a wireless device approaches an edge of a coverage area, the network device may suggest a neighboring network device to which the wireless device can roam.
- these roaming assistance methods may not always be reliable. For example, the wireless device may be moving away from the recommended neighboring network device, making the recommended neighboring network device an unsuitable choice for roaming.
- roaming assistance continues to face challenges in adapting to dynamic movements of mobile users.
- a network device may include one or more processors and a memory.
- the memory may be coupled to the one or more processors and may include a roaming management logic.
- the roaming management logic may be configured to establish a communication link with a wireless device, obtain at least one of motion data or location data of the wireless device, generate a list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device, and transmit, for roaming assistance, the list of one or more neighboring network devices to the wireless device.
- the roaming management logic may further be configured to receive a roaming assistance request from the wireless device, including an indication of at least one of a set of movement characteristics or a set of location characteristics of the wireless device, and obtain at least one of the motion data or the location data of the wireless device based on the indication of at least one of the set of movement characteristics or the set of location characteristics of the wireless device.
- the roaming assistance request may be received in at least one of an action frame or a wireless frame.
- the wireless frame may be one of an Advanced Service Request (ASR) or a Service Classification Signal (SCS).
- ASR Advanced Service Request
- SCS Service Classification Signal
- the roaming assistance request may be configured to indicate at least one traffic type that the wireless device is to transmit.
- the indication may include a flag indicative of one of a moving state or a stationary state of the wireless device.
- the indication may include a geographical location of the wireless device. [0013] In additional embodiments, the indication includes a distance between the network device and the wireless device.
- the indication comprises a set of values representing one of a location of the wireless device or a movement of the wireless device.
- At least one value in the set of values represents one of an acceleration of the wireless device, a direction of the wireless device, or a speed of the wireless device.
- a value in the set of values represents a vector including one or more of an acceleration of the wireless device, a direction of the wireless device, or a speed of the wireless device.
- the roaming management logic may further be configured to obtain at least one of the motion data or the location data of the wireless device based on one or more radio frequency parameters of the wireless device relative to at least one neighboring network device.
- the one or more radio frequency parameters comprise a Received Signal Strength Indicator (RSSI).
- RSSI Received Signal Strength Indicator
- the roaming management logic may further be configured to transmit the list of one or more neighboring network devices to the wireless device in one of a basic service set (BSS) transition management (BTM) message or a neighbor report.
- BSS basic service set
- BTM transition management
- the roaming management logic may further be configured to transmit the list of one or more neighboring network devices to the wireless device unsolicited.
- the roaming management logic may further be configured to transmit, to the wireless device, a roaming probability indication for at least one neighboring network device in the list of one or more neighboring network devices.
- the roaming management logic may further be configured to transmit, to the wireless device, a signal strength indicator corresponding to a mid-point between the network device and a neighboring network device in the list of one or more neighboring network devices.
- the roaming management logic may further be configured to receive, from the wireless device, feedback on the roaming assistance in response to the transmission of the list of one or more neighboring network devices.
- a network device may include one or more processors and a memory.
- the memory may be coupled to the one or more processors and may include a roaming management logic.
- the roaming management logic may be configured to establish a communication link with a network device and receive, for roaming assistance, a list of one or more neighboring network devices.
- the list of one or more neighboring network devices may be based on at least one of motion data or location data of the wireless device.
- the roaming management logic may further be configured to perform a scan for at least one neighboring network device in the list of one or more neighboring network devices.
- a method for managing roaming in a wireless network may establish a communication link with a wireless device, obtaining at least one of motion data or location data of the wireless device, generating a list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device, and transmitting, for roaming assistance, the list of one or more neighboring network devices to the wireless device.
- FIG. 1 is a schematic block diagram of a wireless local networking system in accordance with various embodiments of the disclosure
- FIG. 2 is a conceptual depiction of a communication layer architecture in accordance with various embodiments of the disclosure.
- FIG. 3 is a conceptual network diagram of various environments in which a roaming management logic can operate on a plurality of network devices in accordance with various embodiments of the disclosure
- FIG. 4 is a conceptual network diagram for providing roaming assistance to a wireless device in accordance with various embodiments of the disclosure
- FIG. 5 is a diagram of a list of a plurality of neighboring network devices in accordance with various embodiments of the disclosure.
- FIG. 6 is a flowchart depicting a process for generating the list of one or more neighboring network devices in accordance with various embodiments of the disclosure
- FIG. 7 is a flowchart depicting a process for transmitting the list of one or more neighboring network devices to the wireless device in accordance with various embodiments of the disclosure
- FIG. 8 is a flowchart depicting a process for receiving a feedback on roaming assistance from the wireless device in accordance with various embodiments of the disclosure
- FIG. 9 is a flowchart depicting a process for obtaining at least one of motion data or location data of the wireless device in accordance with various embodiments of the disclosure.
- FIG. 10 is a flowchart depicting a process for establishing a communication link with at least one neighboring network device in accordance with various embodiments of the disclosure
- FIG. 11 is a flowchart depicting a process for transmitting a feedback to a network device in accordance with various embodiments of the disclosure.
- FIG. 12 is a conceptual block diagram of a device suitable for configuration with the roaming management logic in accordance with various embodiments of the disclosure.
- Corresponding reference characters indicate corresponding components throughout the several figures of the drawings. Elements in the several figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures might be emphasized relative to other elements for facilitating understanding of the various presently disclosed embodiments. In addition, common, but well -understood, elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present disclosure.
- a network device may enable a wireless device (for example, a station) to connect to a network (such as the Internet) or other wireless devices using Wi-Fi, Bluetooth, or a similar technology.
- the network device may include Wi-Fi routers and Wi-Fi Extenders.
- the wireless device may include a mobile computing device, such as a smartphone, tablet, laptop, notebook, wearable device, or the like.
- Wi-Fi roaming may refer to a process where the wireless device may switch a Wi-Fi connection from a first network device to a second network device as the wireless device roams from a physical area serviced by the first network device to a physical area serviced by the second network device.
- the second network device may interchangeably be referred to as the neighboring network device.
- Various methods have been developed to enable seamless roaming across Wi-Fi networks. These methods may involve a network device recommending an optimal neighboring network device for Wi-Fi roaming. For example, when a wireless device approaches the edge of a coverage area (for example, a cell or a Basic Service Area “BSA”) serviced by the network device, the network device may suggest a neighboring network device to which the wireless device can roam.
- a coverage area for example, a cell or a Basic Service Area “BSA”
- BSA Basic Service Area
- this approach may not always be reliable.
- the wireless device may be moving away from the recommended neighboring network device, making the recommended neighboring network device an unsuitable choice for roaming.
- Wi-Fi roaming continues to face challenges in meeting user expectations for seamless and uninterrupted connectivity.
- the wireless device may need to reach the edge of the cell serviced by the network device before detecting the next optimal network device, which can result in delays and interrupt seamless connectivity.
- Current mechanisms such as the wireless device independently scanning for the next optimal network device or requesting information from the network device about the next optimal network device, provide some assistance but are also constrained by inherent limitations.
- the wireless device may send a Basic Service Set (BSS) Transition Management (BTM) query, as defined in the 802. l lv standard, or a neighbor report request, as specified in the 802.1 Ik standard.
- BSS Basic Service Set
- BTM Basic Service Set
- 802. l lv 802. l lv standard
- neighbor report request as specified in the 802.1 Ik standard.
- the wireless device may request information about the next optimal network device from the network device to which the wireless device is currently connected.
- the response time can be significant, for example, sometimes up to 400 milliseconds, leading to delays and interruptions in connectivity.
- the neighbor report request may enable the wireless device to query the network device for a list of neighboring network devices before reaching the edge of the cell.
- the list provided by the network device may be unsorted (or unordered) and lack prioritization. Consequently, the wireless device may be unable to obtain information to make an optimal decision, preventing the wireless device from efficiently selecting the most optimal neighboring network device for connection. This absence of prioritization can further complicate the roaming process, resulting in suboptimal handoffs and ultimately interrupting the seamless and continuous network experience that users expect from Wi-Fi networks.
- the present disclosure provides a technical solution for enhancing roaming assistance for wireless devices.
- the present disclosure describes a network device capable of obtaining location data and/or motion data of a wireless device (for example, that requires zero-scan roaming assistance).
- the network device may provide customized recommendations, enabling the wireless device to efficiently connect to the most optimal neighboring network device.
- the network device may include one or more processors and a memory that stores a roaming management logic.
- the roaming management logic may be configured to obtain the location data and/or the motion data of the wireless device and generate a list of one or more neighboring network devices, which is sorted and/or prioritized based on factors such as signal strength, roaming probability, and/or additional performance metrics.
- the sorted list of the one or more neighboring network devices may enable the wireless device to identify the next optimal neighboring network device for WiFi roaming, thereby minimizing the need for extensive scanning.
- the present disclosure may enhance the roaming experience by facilitating seamless transitions between the wireless device and the next optimal neighboring network device while reducing the need for additional scanning.
- the network device may establish communication with the wireless device to obtain motion data and/or location data from the wireless device.
- the network device may generate a list of one or more neighboring network devices based on the motion data and/or the location data of the wireless device.
- the network device may transmit the list of one or more neighboring network devices to the wireless device to assist with the Wi-Fi roaming process.
- the network device may handle a roaming assistance request from the wireless device, which may include movement and/or location characteristics.
- the wireless device may transmit the roaming assistance request via an action frame or a wireless frame, such as an Advanced Service Request (ASR) or a Service Classification Signal (SCS), which may include specific data about the movement and/or location characteristics of the wireless device.
- ASR Advanced Service Request
- SCS Service Classification Signal
- the network device may receive various parameters related to the state of the wireless device, such as acceleration, direction, or speed.
- the network device may receive Radio Frequency (RF) parameters, such as Received Signal Strength Indicator (RSSI), of the wireless device relative to at least one neighboring network device.
- RF Radio Frequency
- the network device may obtain the motion data and/or the location data of the wireless device by analyzing the movement and/or location characteristics of the wireless device, such as the acceleration, direction, or speed of the wireless device, and/or the RF parameters of the wireless device relative to the at least one neighboring network device.
- the wireless device may receive feedback from the wireless device regarding the roaming assistance provided.
- the integration of the motion data and/or the location data into roaming assistance may offer various advantages in optimizing the roaming process for the wireless device.
- the network device can track the wireless device’s movement and predict a position of the wireless device, enabling proactive roaming assistance.
- analyzing RF parameters such as the RSSI, may allow the network device to evaluate the signal strength between the wireless device and neighboring network devices, thereby improving the accuracy of the decision-making process.
- This may allow the network device to prioritize the most suitable neighboring network device based on the wireless device’s movement, trajectory, or signal quality, thereby minimizing the need for additional scans.
- the wireless device can experience faster handoffs, improved roaming efficiency, and more reliable, uninterrupted network connectivity.
- aspects of the present disclosure may be embodied as an apparatus, system, method, or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, or the like) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “function,” “module,” “apparatus,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in- one or more non-transitory computer-readable storage media storing computer-readable and/or executable program code. Many of the functional units described in this specification have been labeled as functions, in order to emphasize their implementation independence more particularly.
- a function may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components.
- a function may also be implemented in programmable hardware devices such as via field programmable gate arrays, programmable array logic, programmable logic devices, or the like.
- Functions may also be implemented at least partially in software for execution by various types of processors.
- An identified function of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions that may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified function need not be physically located together but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the function and achieve the stated purpose for the function.
- a function of executable code may include a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, across several storage devices, or the like.
- the software portions may be stored on one or more computer-readable and/or executable storage media. Any combination of one or more computer-readable storage media may be utilized.
- a computer-readable storage medium may include, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing, but would not include propagating signals.
- a computer readable and/or executable storage medium may be any tangible and/or non-transitory medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, processor, or device.
- 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 Python, Java, Smalltalk, C++, C#, Objective C, or the like, conventional procedural programming languages, such as the “C” programming language, scripting programming languages, and/or other similar programming languages.
- the program code may execute partly or entirely on one or more of a user's computer and/or on a remote computer or server over a data network or the like.
- a component comprises a tangible, physical, non-transitory device.
- a component may be implemented as a hardware logic circuit comprising custom VLSI circuits, gate arrays, or other integrated circuits; off-the-shelf semiconductors such as logic chips, transistors, or other discrete devices; and/or other mechanical or electrical devices.
- a component may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, or the like.
- a component may comprise one or more silicon integrated circuit devices (e.g., chips, die, die planes, packages) or other discrete electrical devices, in electrical communication with one or more other components through electrical lines of a printed circuit board (PCB) or the like.
- PCB printed circuit board
- a circuit comprises a set of one or more electrical and/or electronic components providing one or more pathways for electrical current.
- a circuit may include a return pathway for electrical current, so that the circuit is a closed loop.
- a set of components that does not include a return pathway for electrical current may be referred to as a circuit (e.g., an open loop).
- an integrated circuit may be referred to as a circuit regardless of whether the integrated circuit is coupled to ground (as a return pathway for electrical current) or not.
- a circuit may include a portion of an integrated circuit, an integrated circuit, a set of integrated circuits, a set of non-integrated electrical and/or electrical components with or without integrated circuit devices, or the like.
- a circuit may include custom VLSI circuits, gate arrays, logic circuits, or other integrated circuits; off-the-shelf semiconductors such as logic chips, transistors, or other discrete devices; and/or other mechanical or electrical devices.
- a circuit may also be implemented as a synthesized circuit in a programmable hardware device such as field programmable gate array, programmable array logic, programmable logic device, or the like (e.g., as firmware, a netlist, or the like).
- a circuit may comprise one or more silicon integrated circuit devices (e.g., chips, die, die planes, packages) or other discrete electrical devices, in electrical communication with one or more other components through electrical lines of a printed circuit board (PCB) or the like.
- PCB printed circuit board
- reference to reading, writing, storing, buffering, and/or transferring data can include the entirety of the data, a portion of the data, a set of the data, and/or a subset of the data.
- reference to reading, writing, storing, buffering, and/or transferring non-host data can include the entirety of the non-host data, a portion of the non-host data, a set of the non-host data, and/or a subset of the non-host data.
- FIG. 1 a schematic block diagram of a wireless local networking system 100 in accordance with various embodiments of the disclosure is shown.
- Wireless local networking standards assist in enabling seamless communication and connectivity between various devices within localized areas.
- Wi-Fi provides high-speed wireless access to the internet and local network resources, with iterations such as 802. I la, 802.1 lb, 802.11g, 802.1 In, 802.1 lac, and 802.1 lax, each offering improvements in speed, range, and efficiency.
- 802. I la 802.1 lb
- 802.11g 802.1 In
- 802.1 lac 802.1 lax
- Each adoption of Wi-Fi standards is often designed to bring enhanced performance, increased capacity, and better efficiency in crowded network environments.
- Other standards can commonly be used for short-range wireless communication between devices, particularly in the realm of Personal Area Networks (PANs).
- PANs Personal Area Networks
- Both Wi-Fi and other protocols have become integral components of modern connectivity, supporting a wide range of devices and applications across homes, businesses, and public spaces. Emerging technologies and future iterations continue to refine wireless networking standards, ensuring the evolution of efficient, reliable, and secure wireless communication.
- a service set plays a pivotal role in defining and organizing wireless network devices.
- a service set essentially refers to a collection of wireless devices that share a common Service Set Identifier (SSID).
- SSID Service Set Identifier
- the SSID often recognizable to users as the network name presented in natural language, serves as a means of identification and differentiation among various wireless networks.
- the nodes comprising devices like laptops, smartphones, or other Wi-Fi-enabled devices — operate collaboratively, adhering to shared link-layer networking parameters. These parameters encompass specific communication settings and protocols that facilitate seamless interaction among the devices within the service set.
- a service set forms a cohesive and logical network segment, creating an organized structure for wireless communication where devices can communicate and share data within the defined parameters, enhancing the efficiency and coordination of wireless networking operations.
- a service can be configured in two distinct forms: a Basic Service Set (BSS) or an Extended Service Set (ESS).
- BSS Basic Service Set
- ESS Extended Service Set
- a basic service set represents a subset within a service set, comprised of devices that share common physical-layer medium access characteristics. These characteristics include parameters such as radio frequency, modulation scheme, and security settings, ensuring seamless wireless networking among the devices.
- the basic service set is uniquely identified by a Basic Service Set Identifier (BSSID), a 48-bit label adhering to MAC-48 conventions.
- BSSID Basic Service Set Identifier
- each BSSID is typically associated with, at most, one basic service set at any given time.
- a basic service set should not be confused with the coverage area of an access point, which is referred to as the Basic Service Area (BSA).
- the BSA encompasses the physical space within which an access point provides wireless coverage, while the basic service set focuses on the logical grouping of devices sharing common networking characteristics. This distinction emphasizes that the basic service set is a conceptual grouping based on shared communication parameters, while the BSA defines the spatial extent of an access point's wireless reach. Understanding these distinctions is fundamental for effectively configuring and managing wireless networks, ensuring optimal performance and coordination among connected devices.
- the Service Set Identifier defines a service set or extends service set. Normally it is broadcast in the clear by stations in beacon packets to announce the presence of a network and seen by users as a wireless network name. Unlike basic service set identifiers, SSIDs are usually customizable. Since the contents of an SSID field are arbitrary, the 802.11 standard permits devices to advertise the presence of a wireless network with beacon packets. A station may also likewise transmit packets in which the SSID field is set to null; this prompts an associated access point to send the station a list of supported SSIDs. Once a device has associated with a basic service set, for efficiency, the SSID is not sent within packet headers; only BSSIDs are used for addressing.
- SSID Service Set Identifier
- An Extended Service Set is a more sophisticated wireless network architecture designed to provide seamless coverage across a larger area, typically spanning environments such as homes or offices that may be too expansive for reliable coverage by a single access point.
- This network is created through the collaboration of multiple access points, presenting itself to users as a unified and continuous network experience.
- the extended service set operates by integrating one or more infrastructure Basic Service Sets (BSS) within a common logical network segment, characterized by sharing the same IP subnet and Virtual Local Area Network (VLAN).
- BSS Basic Service Sets
- VLAN Virtual Local Area Network
- the concept of an extended service set is particularly advantageous in scenarios where a single access point cannot adequately cover the entire desired area.
- users can move seamlessly across the extended service set without experiencing disruptions in connectivity. This is crucial for maintaining a consistent wireless experience in larger spaces, where users may transition between different physical locations covered by distinct access points.
- extended service sets offer additional functionalities, such as distribution services and centralized authentication.
- the distribution services facilitate the efficient distribution of network resources and services across the entire extended service set.
- Centralized authentication enhances security and simplifies access control by allowing users to authenticate once for access to any part of the extended service set, streamlining the user experience and network management.
- Overall, extended service sets provide a scalable and robust solution for ensuring reliable and comprehensive wireless connectivity in diverse and expansive environments.
- the network can include a variety of user end devices that connect to the network. These devices can sometimes be referred to as wireless devices or client devices or stations (i.e., “STAs”). Each device is typically configured with a Medium Access Control (“MAC”) address in accordance with the IEEE 802.11 standard. As described in more detail in FIG. 2, a physical layer can also be configured to communicate over the wireless medium. As described in more detail in FIG. 4, various devices on a network can include components such as a processor, memory, transceiver, user interface, etc. These components can be configured to process frames of data transmitted and/or received over the wireless network. Access points (“APs”) are network devices configured to provide access to user end devices to a larger network, such as the Internet 110.
- APs Access points
- a wireless network controller 120 (shown as WLC) is connected to a public network such as the Internet 110.
- the wireless network controller 120 is in communication with an Extended Service Set (ESS) 130.
- the ESS 130 comprises two separate basic service sets (a first BSS 140 denoted as “BSS 1” and a second BSS 150 denoted as “BSS 2”).
- the ESS 130, the first BSS 140, and the second BSS 150 all broadcast and are configured with the same SSID “WiFi Name”, which can be a BSSID for each of the first BSS 140 and the second BSS 150 as well as an ESSID for the ESS 130.
- the network comprises a first notebook 141, a second notebook 142, a first phone 143, a second phone 144, a first access point 145, and a third notebook 160.
- One or more devices among the first notebook 141, the second notebook 142, the third notebook 160, the first phone 143, and the second phone 144 may communicate with the first access point 145.
- the network comprises a tablet 151, a fourth notebook 152, athird phone 153, a watch 154, and a second access point 155.
- One or more devices among the tablet 151, the fourth notebook 152, the third phone 153, and the watch 154 may communicate with the second access point 155.
- the third notebook 160 may be a part of the first BSS 140 or the second BSS 150 by being communicatively coupled to the first access point 145 or the second access point 155, respectively. In this setup, the third notebook 160 can be seen to “roam” from the physical area serviced by the first BSS 140 to the physical area serviced by the second BSS 150.
- the ESS 130 having only two BSSs is shown in FIG. 1.
- the ESS 130 may include a plurality of BSSs.
- the third notebook 160 may face challenges in selecting the next optimal access point while the third notebook 160 attempts to move out of the physical area serviced by a currently associated BSS.
- a roaming management logic is disclosed herein.
- the roaming management logic may enable the third notebook 160 to select and connect to the next optimal access point.
- next optimal access point may be an access point that ensures the third notebook 160 maintains a stable connection with the network while the third notebook 160 attempts to move out of the physical area serviced by the currently associated BSS.
- the roaming management logic for selecting and connecting to the next optimal access point is explained in detail in conjunction with FIG. 3 - 12.
- the wireless local networking system 100 may be configured into any number of various network topologies including different types of interconnected devices and user devices.
- the elements depicted in FIG. 1 may also be interchangeable with other elements of FIGS. 2 - 12 as required to realize a particularly desired embodiment.
- FIG. 2 a conceptual depiction of a communication layer architecture 200 in accordance with various embodiments of the disclosure is shown.
- the communication layer architecture 200 may be utilized to carry out various communications described or required herein.
- the communication layer architecture 200 may be configured as the open systems interconnection model, more commonly known as the OSI model.
- the communication layer architecture 200 may have seven layers which may be implemented in accordance the OSI model.
- the communication layer architecture 200 includes a physical layer as a first layer (denoted as “Layer 1” in FIG. 2).
- the physical layer may serve as the foundational layer among the seven layers.
- the physical layer is responsible for the transmission and reception of raw, unstructured data bits over a physical medium, such as cables or wireless connections.
- the focus is on the electrical, mechanical, and procedural characteristics of the hardware, including cables, connectors, and signaling.
- the primary goal is to establish a reliable and efficient means of physically transmitting data between devices.
- the physical layer does not concern itself with the meaning or interpretation of the data; instead, it concentrates on the fundamental aspects of transmitting binary information, addressing issues like voltage levels, data rates, and modulation techniques.
- Devices operating at the physical layer include network cables, connectors, repeaters, and hubs.
- the physical layer's successful operation is fundamental to the functioning of the entire OSI model, as it forms the bedrock upon which higher layers build their more complex communication protocols and structures.
- the communication layer architecture 200 may include a data link layer as a second layer (donated as “Layer 2” in FIG. 2).
- the data link layer may be configured to be primarily concerned with the reliable and efficient transmission of data between directly connected devices over a particular physical medium. Its responsibilities include framing data into frames, addressing, error detection, and, in some cases, error correction.
- the data link layer is divided into two sublayers: Logical Link Control (LLC) and Media Access Control (MAC).
- LLC Logical Link Control
- MAC Media Access Control
- the LLC sublayer manages flow control and error checking, while the MAC sublayer is responsible for addressing devices on the network and controlling access to the physical medium. Ethernet is a common example of a data link layer protocol.
- the communication layer architecture 200 may include a network layer as a third layer (denoted as “Layer 3” in FIG. 2).
- the network layer may be configured as a pivotal component responsible for the establishment of end-to-end communication across interconnected networks. Its primary functions include logical addressing, routing, and the fragmentation and reassembly of data packets.
- IP Internet Protocol
- routers operate at this layer, making decisions on the optimal path for data to traverse through a network based on logical addressing.
- the network layer abstracts the underlying physical and data link layers, allowing for a more scalable and flexible communication infrastructure. In essence, it provides the necessary mechanisms for devices in different network segments to communicate, contributing to the end-to-end connectivity that is fundamental to the functioning of the internet and other large-scale networks.
- the communication layer architecture 200 may include a transport layer as a fourth layer (denoted as “Layer 4” in FIG. 2).
- the transport layer may be a critical element responsible for the end-to-end communication and reliable delivery of data between devices. Its primary objectives include error detection and correction, flow control, and segmentation and reassembly of data.
- Two key transport layer protocols are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).
- TCP ensures reliable and connection-oriented communication by establishing and maintaining a connection between sender and receiver, and it guarantees the orderly and error-free delivery of data through mechanisms like acknowledgment and retransmission.
- UDP offers a connectionless and more lightweight approach suitable for applications where speed and real-time communication take precedence over reliability.
- the transport layer shields the upper-layer protocols from the complexities of the network and data link layers, providing a standardized interface for applications to send and receive data, making it a crucial facilitator for efficient, end-to-end communication in networked environments.
- the communication layer architecture 200 may include a session layer as a fifth layer (denoted as “Layer 5” in FIG. 2).
- the session layer may be configured to play a pivotal role in managing and controlling communication sessions between applications. It provides mechanisms for establishing, maintaining, and terminating dialogues or connections between devices.
- the session layer helps synchronize data exchange, ensuring that information is sent and received in an orderly fashion. Additionally, it supports functions such as checkpointing, which allows for the recovery of data in the event of a connection failure, and dialog control, which manages the flow of information between applications.
- the session layer is not as explicitly implemented as lower layers, its services are crucial for maintaining the integrity and coherence of data during interactions between applications. By managing the flow of data and establishing the context for communication sessions, the session layer contributes to the overall reliability and efficiency of data exchange in networked environments.
- the communication layer architecture 200 may include a presentation layer as a sixth layer (denoted as “Layer 6” in FIG. 2).
- the presentation layer may focus on the representation and translation of data between the application layer and the lower layers of the network stack. It can deal with issues related to data format conversion, ensuring that information is presented in a standardized and understandable manner for both the sender and the receiver.
- the presentation layer is often responsible for tasks such as data encryption and compression, which enhance the security and efficiency of data transmission.
- the presentation layer facilitates seamless communication between applications running on different systems. This layer may then abstract the complexities of data representation, enabling applications to exchange information without worrying about differences in data formats. In essence, the presentation layer plays a crucial role in ensuring interoperability and data integrity between diverse systems and applications within a networked environment.
- the communication layer architecture 200 may include an application layer as a seventh layer (denoted as “Layer 7” in FIG. 2).
- the application layer may serve as the interface between the network and the software applications that end-users interact with. It can provide a platform-independent environment for communication between diverse applications and ensures that data exchange is meaningful and understandable.
- the application layer can encompass a variety of protocols and services that support functions such as file transfers, email, remote login, and web browsing. It acts as a mediator, allowing different software applications to communicate seamlessly across a network.
- Some well-known application layer protocols include Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Simple Mail Transfer Protocol (SMTP).
- HTTP Hypertext Transfer Protocol
- FTP File Transfer Protocol
- SMTP Simple Mail Transfer Protocol
- any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- various aspects described herein may reside or be carried out on one layer, or a plurality of layers.
- the elements depicted in FIG. 2 may also be interchangeable with other elements of FIG. 1 and FIGS. 3 - 12 as required to realize a particularly desired embodiment.
- FIG. 3 a conceptual network diagram 300 of various environments in which a roaming management logic can operate on a plurality of network devices in accordance with various embodiments of the disclosure is shown.
- the roaming management logic may include various hardware and/or software deployments and may be configured in a variety of ways.
- the roaming management logic may be configured as a standalone device, exist as a logic in another network device, be distributed among various network devices operating in tandem, or be remotely operated as part of a cloud-based network management tool.
- one or more servers 310 may be configured with the roaming management logic or may otherwise operate as the roaming management logic.
- the roaming management logic may operate on the one or more servers 310 connected to a communication network 320 (e.g., the “Internet”).
- the communication network 320 may include wired networks or wireless networks.
- the roaming management logic may be provided as a cloud-based service that may service remote networks, such as, but not limited to a deployed network 340.
- the roaming management logic may be operated as a distributed logic across multiple network devices.
- a plurality of APs 350 (interchangeably referred to the plurality of network devices 350) as may operate as the roaming management logic in a distributed manner or may have one specific device operate as the roaming management logic for all of the neighboring APs 350.
- the APs 350 may facilitate Wi-Fi connections for various electronic devices, such as but not limited to, client devices 360 - 390 (interchangeably referred to the wireless devices 360 - 390) including laptop computers 370, cellular phones 360, portable tablet computers 380, and wearable computing devices 390.
- at least one client device of the client devices 360 - 390 may be configured with the roaming management logic or may otherwise operate as the roaming management logic.
- the roaming management logic may be integrated within another network device.
- a wireless LAN controller (WLC) 330 may be configured with the roaming management logic or may otherwise operate as the roaming management logic.
- the WLC 330 may control operations associated with a set of APs 335 that are connected, either wired or wirelessly, to the WLC 330.
- a personal computer 325 may be utilized to access and/or manage various aspects of the roaming management logic, either remotely or within the network itself. In the embodiment depicted in FIG. 3, the personal computer 325 communicates over the communication network 320 and may access the roaming management logic of the servers 310, the APs 350, at least one client device of the client devices 360 - 390, or the WLC 330.
- the roaming management logic may operate on a plurality of network devices suitable for carrying out the various steps, processes, methods, and operations described herein is discussed with respect to FIG. 3, any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- the roaming management logic may be provided as a device or software separate from the APs 350 or the roaming management logic may be integrated into the APs 350.
- the elements depicted in FIG. 3 may also be interchangeable with other elements of FIGS. 1 - 2 and FIGS. 4 - 12 as required to realize a particularly desired embodiment.
- the conceptual network diagram 400 may include the wireless device 402, a network device 404 to which the wireless device 402 is currently associated, and a plurality of neighboring network devices 406A - 406D, which are neighbors of the wireless device 402 and/or the network device 404.
- the neighboring network devices e.g., a first neighboring network device 406A, a second neighboring network device 406B, a third neighboring network device 406C, and a fourth neighboring network device 406D are shown in FIG. 4.
- neighboring network devices may be fewer or greater than four without deviating from the scope of the disclosure.
- the network device 404 may communicate with the plurality of neighboring network devices 406A - 406D, either over a Distribution System (DS) or over the air.
- DS Distribution System
- the wireless device 402 may include a mobile computing device such as a smartphone, a tablet, a laptop/notebook, a wearable device, a gaming console, an entertainment device, or any other similar device.
- the wireless device 402 may be equipped with one or more wireless connectivity features (such as Wi-Fi, Bluetooth, or cellular networks) to enable the wireless device 402 to connect to the Internet or other devices.
- the wireless device 402 may be equipped with an Ultra-Wideband (UWB) function for various applications such as location tracking, object detection, or the like.
- UWB Ultra-Wideband
- the network device 404 may allow the wireless device 402 to connect to the Internet or other devices using Wi-Fi, Bluetooth, or the like. Specifically, the network device 404 may allow the wireless device 402 to connect to the Internet or other devices when the wireless device 402 is located within a cell 408 of the network device 404. In an example, the cell 408 may define a specific geographical area serviced by the network device 404.
- each of the wireless device 402 and the network device 404 may include one or more processors and a memory communicatively coupled to the processor(s).
- the processor(s) may include suitable logic, circuitry, and interfaces that are configured to execute instructions stored in the memory.
- the processor(s) may correspond to an Application-Specific Integrated Circuit (ASIC) processor, a Complex Instruction Set Computing (CISC) processor, a Central Processing Unit (CPU), an Explicitly Parallel Instruction Computing (EPIC) processor, a Very Long Instruction Word (VLIW) processor, and/or other processors or circuits.
- the memory may comprise suitable logic, circuitry, and interfaces that are configured to store a machine code and/or the instructions executable by the processor.
- the memory may correspond to Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Hard Disk Drive (HDD), a Solid-State Drive (SSD), a CPU cache, and/or a secure digital (SD) card.
- RAM Random Access Memory
- ROM Read Only Memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- HDD Hard Disk Drive
- SSD Solid-State Drive
- CPU cache volatile and/or a secure digital (SD) card.
- SD secure digital
- each of the wireless device 402 and the network device 404 may include a communication interface that is communicatively coupled to the processor(s) and/or the memory.
- the communication interface may comprise suitable logic, circuitry, and interfaces configured to enable a device, such as the wireless device 402 or the network device 404, to interact with other devices.
- the communication interface may correspond to a Wi-Fi interface, a Bluetooth interface, a UWB interface, or the like.
- the network device 404 may include a network interface controller that includes suitable logic, circuitry, and interfaces configured to provide access to a network (such as the Internet). It will be understood by a person of ordinary skill in the art that each of the plurality of neighboring network devices 406A - 406D may be functionally and/or structurally similar to the network device 404.
- the wireless device 402 and the network device 404 may be equipped with a roaming management logic 410A and a roaming management logic 410B, respectively.
- the roaming management logic 410A may be embodied in the memory of the wireless device 402 or in any of the processor(s) of the wireless device 402, or embodied as a standalone unit in the wireless device 402.
- the roaming management logic 410B may be embodied in the memory of the network device 404 or in any of the processor(s) of the network device 404, or embodied as a standalone unit in the network device 404.
- the wireless device 402 may be configured to establish an association (or a communication link) with the network device 404 when the wireless device 402 is in the vicinity of the network device 404.
- the wireless device 402 may transmit an authentication request to the network device 404.
- the authentication request may include an open system authentication request or a Pre-Shared Key (PSK) authentication request.
- PSK Pre-Shared Key
- the network device 404 may authenticate the wireless device 402 based on the received authentication request.
- the network device 404 may send an authentication response indicating an authentication successful message to the wireless device 402.
- the wireless device 402 may send an association request to the network device 404.
- the association request may indicate that the wireless device 402 wants to be a part of a network associated with the network device 404.
- the network device 404 may allow the wireless device 402 to join the network. Additionally, the wireless device 402 and the network device 404 may perform a handshake protocol (for example, a 4-way Handshake protocol) to establish a secure connection between the wireless device 402 and the network device 404.
- the network device 404 may transmit an authentication request to the wireless device 402 to establish an association (or a communication link) with the wireless device 402 in a similar manner as described above.
- the wireless device 402 may be configured to monitor one or more signal metrics associated with a wireless signal of the wireless device 402 to determine a roaming status of the wireless device 402.
- the one or more signal metrics may include a Received Signal Strength Indicator (RSSI) value associated with the wireless signal, a Signal-to-Noise Ratio (SNR) value associated with the wireless signal, or the like.
- the roaming status of the wireless device 402 may indicate whether the wireless device 402 is approaching an edge of the cell 408 or not.
- the wireless device 402 may determine that the wireless device 402 is approaching the edge of the cell 408 when the one or more signal metrics fall below a threshold signal metric. Conversely, when the one or more signal metrics do not fall below the threshold signal metric, the wireless device 402 may determine that the wireless device 402 is not approaching the edge of the cell 408.
- the wireless device 402 may be configured to generate a roaming assistance request.
- the roaming assistance request may seek information about neighboring network devices, such as the plurality of neighboring network devices 406A - 406D, to facilitate Wi-Fi roaming.
- the roaming assistance request may seek a recommendation for the next network device to which the wireless device 402 may roam after disconnecting from the network device 404.
- the next network device may be any device from the plurality of neighboring network devices 406A - 406D.
- the roaming assistance request may include a zeroscan assistance flag, requesting zero-scan assistance or zero-scan roaming, which is intended to minimize the scanning efforts required by the wireless device 402 to identify a neighboring network device (for example, any device from the plurality of neighboring network devices 406A - 406D) with which the wireless device 402 can establish a connection as the wireless device 402 moves out of the cell 408, or in scenarios where connection with the neighboring network device is required for reasons such as load balancing, improved network performance, network coverage optimization, or other network management considerations.
- a neighboring network device for example, any device from the plurality of neighboring network devices 406A - 406D
- the roaming assistance request may include at least one of a BTM query defined in the 802.1 Iv standard or a neighbor report request defined in the 802.11k standard.
- the roaming assistance request may be configured to indicate at least one traffic type that the wireless device 402 is to transmit.
- the traffic type may indicate a real-time or near-real-time traffic requirement, necessitating specific scheduling considerations for traffic management.
- the roaming assistance request may include an indication of at least one of a set of movement characteristics or a set of location characteristics of the wireless device 402.
- the set of movement characteristics may refer to one or more parameters that describe the motion of the wireless device 402, such as speed, direction, acceleration, and movement path.
- the set of movement characteristics may be utilized to determine a current movement path of the wireless device 402 and to predict a future movement path of the wireless device 402.
- the set of location characteristics may refer to one or more parameters that describe spatial attributes and positioning of the wireless device 402, such as geographic coordinates (latitude and longitude) and distance from a reference point (e.g., the network device 404).
- the set of location characteristics may be utilized to determine a current location of the wireless device 402 and to predict a future location of the wireless device 402.
- the indication may include a flag indicative of one of a moving state or a stationary state of the wireless device 402.
- a “moving state” flag may be set when the wireless device 402 is actively changing its position within the cell 408, while a “stationary state” flag may be set when the wireless device 402 is not moving and remains in a fixed location.
- the wireless device 402 may determine its moving or stationary state based on data from a Global Positioning System (GPS) and/or one or more inertial sensors.
- GPS Global Positioning System
- the indication may include a geographical location of the wireless device 402.
- the wireless device 402 may compute its geographical location based on one or more geo-positioning methods, such as Global Navigation Satellite System (GNSS), Fine Time Measurement (FTM), dead reckoning, or other similar techniques.
- GNSS Global Navigation Satellite System
- FTM Fine Time Measurement
- the indication may include a range to the network device 404 (for example, a distance between the network device 404 and the wireless device 402).
- the range to the network device 404 may be determined based on a feedback mechanism, such as 802.11 az Location Measurement Report (LMR), which allows the wireless device 402 to report its distance to the network device 404 based on a series of location measurements. Additional or alternate methods to determine the range to the network device 404, such as UWB or Bluetooth Low Energy (BLE), may also be considered.
- LMR 802.11 az Location Measurement Report
- the indication may include a set of values representing one of a location of the wireless device 402 or a movement of the wireless device 402.
- at least one value in the set of values may represent one of an acceleration of the wireless device 402, a direction of the wireless device 402, or a speed of the wireless device 402.
- a value in the set of values may represent a vector.
- the vector may represent various movement parameters including one or more of the acceleration of the wireless device 402, the direction of the wireless device 402, or the speed of the wireless device 402.
- the acceleration may be represented either instantaneously or as an average over a specified interval.
- the set of values may represent a change in position of the wireless device 402 relative to a last reported position, where a value in the set of values may represent time elapsed since the last reported position.
- the set of values may further include short descriptors of the movement of the wireless device 402.
- an index may represent the direction of movement of the wireless device 402, either relative to the network device 404 or as a global direction (e.g., 268 degrees, referencing a 360- degree compass).
- the acceleration of the wireless device 402 may be represented by values, such as Cn, which enable the computation of the speed of the wireless device 402 through integration and, subsequently, the determination of the new position of the wireless device 402.
- the wireless device 402 and the network device 404 may establish a movement equation (for example, an enhanced Kalman filter), with the wireless device 402 reporting the changing variables of the equation (e.g., state changes), thereby facilitating the prediction and tracking of the movement of the wireless device 402.
- a movement equation for example, an enhanced Kalman filter
- the wireless device 402 may be configured to transmit the roaming assistance request to the network device 404.
- the wireless device 402 may transmit the roaming assistance request in at least one of an action frame or a wireless frame.
- the wireless frame may be one of an Advanced Service Request (ASR) or a Service Classification Signal (SCS).
- the wireless device 402 and the network device 404 may establish an agreement on a method for the network device 404 to obtain information about the location and/or the movement of the wireless device 402 without the wireless device 402 directly sharing information about the location and/or the movement.
- Such an agreement can be established at various instances, for example, during association, during security updates, during a handover process, or during one or more network maintenance sessions.
- the network device 404 may receive one or more RF parameters of the wireless device 402 relative to at least one neighboring network device (for example, any device from the plurality of neighboring network devices 406A - 406D) from the wireless device 402 and/or the at least one neighboring network device.
- the one or more RF parameters may include a Received Signal Strength Indicator (RS SI), a Signal-to-Noise Ratio (SNR), or similar metrics.
- RS SI Received Signal Strength Indicator
- SNR Signal-to-Noise Ratio
- the one or more RF parameters may be utilized to estimate the location and/or movement of the wireless device 402, including its direction, speed, or distance from the plurality of neighboring network devices 406A - 406D, without the need for explicit location or motion information sharing by the wireless device 402.
- the network device 404 may instruct the wireless device 402 to perform a scan on a channel utilized by a neighboring network device.
- the neighboring network device may be any device from the plurality of neighboring network devices 406 A - 406D.
- the neighboring network device 406B For clarity and brevity, the following description will be detailed with respect to the neighboring network device 406B. However, the description is equally applicable to the other neighboring network devices, which may include similar or equivalent components and functionality.
- the neighboring network device 406B may have an active radio, and the wireless device 402 may transmit a probe request to the neighboring network device 406B.
- the neighboring network device 406B may receive the probe request from the wireless device 402 and, in response, transmit a probe response to the wireless device 402 (for example, in response to the probe request).
- the wireless device 402 may tune to the channel of the neighboring network device 406B and detect one of a beacon response or a probe response, which may be unsolicited.
- the wireless device 402 may tune to the radio of the neighboring network device 406B and transmit a frame to the neighboring network device 406B.
- the wireless device 402 may not receive a response, for example, because the channel is being used by the neighboring network device 406B for monitoring purposes.
- the neighboring network device 406B may tune its radio to the same channel as the network device 404 and monitor communication exchange between the wireless device 402 and the network device 404, as well as signal levels corresponding to the wireless device 402 and the network device 404. Based on the communication exchange and the corresponding signal levels, the neighboring network device 406B may calculate the distance between the wireless device 402 and the neighboring network device 406B.
- the wireless device 402 when the wireless device 402 receives a response from the neighboring network device 406B, such as in response to the transmitted frame, the response may include a corresponding signal level (for example, RSSI). In yet several embodiments, the wireless device 402 may report the response, along with the corresponding signal level as the RF parameters, to the network device 404, for example, via an 802.1 Ik beacon report. In an example, the roaming assistance request transmitted by the wireless device 402 may include one or more RF parameters associated with the wireless device 402 relative to the at least one neighboring network device from the plurality of neighboring network devices 406A - 406D.
- the neighboring network device 406B may communicate detected one or more RF parameters (e.g. RSSI) corresponding to the wireless device 402 to the network device 404.
- RF parameters e.g. RSSI
- the network device 404 may obtain at least one of the motion data or the location data of the wireless device 402 based on the indication of at least one of the set of movement characteristics or the set of location characteristics of the wireless device 402, or based on the one or more RF parameters of the wireless device 402 relative to the at least one neighboring network device (for example, any device from the plurality of neighboring network devices 406A - 406D).
- the motion data may include details about the speed of the wireless device 402 (for example, the rate of movement), the movement path of the wireless device 402 (for example, the direction), and changes in velocity over time (for example, the acceleration).
- the location data may provide information about the geographic position of the wireless device 402, as well as the distance between the wireless device 402 and a network device, such as network device 404 or one of the plurality of neighboring network devices 406A-406D.
- the network device 404 may determine the direction of the wireless device 402 based on the scan performed by the wireless device 402. For example, consider a scenario where the network device 404 is positioned in a corridor alongside the neighboring network device 406A, and the network device 404 and the neighboring network devices 406B are aligned along the same path.
- the network device 404 may already have information of the RS SI corresponding to the wireless device 402 when the wireless device 402 is detected by the neighboring network device 406A, particularly when the wireless device 402 is located beneath the network device 404.
- the network device 404 may analyze the RSSI received by the neighboring network devices 406A to determine the direction of movement of the wireless device 402, such as whether the wireless device 402 is moving towards the neighboring network device 406 A or the neighboring network device 406B.
- a single scan may not provide adequate information to accurately determine the direction, speed, or acceleration of the wireless device 402.
- the scanning process may be repeated multiple times, gathering additional data (or measurement data) to improve accuracy.
- the additional data may allow the network device 404 to obtain motion data and/or location data about the wireless device 402 accurately, even in scenarios where the wireless device 402 is incapable of or not configured to report information about speed, direction, and/or acceleration.
- the network device 404 may generate a list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device 402.
- the network device 404 may utilize the motion data and/or the location data to evaluate the proximity of the plurality of neighboring network devices 406A - 406D relative to the wireless device 402. Specifically, the network device 404 may assess the movement path, speed, and/or acceleration of the wireless device 402 to predict which neighboring network devices are within its range or in the path of the wireless device 402 as it moves. Additionally, the network device 404 may utilize the location data, such as geographic coordinates, to identify neighboring network devices by comparing the position of the wireless device 402 with the positions of the neighboring network devices. This information may allow the network device 404 to generate the list of one or more neighboring network devices that the wireless device 402 may potentially connect to, based on its current location or predicted movement.
- location data such as geographic coordinates
- the list of one or more neighboring network devices may include the neighboring network device 406A, the neighboring network device 406B, and the neighboring network device 406C.
- the neighboring network device 406D may be located farther away from the current location of the wireless device 402 and may not be within the predicted movement path of the wireless device 402. Additionally, based on the speed and direction of movement, the wireless device 402 is unlikely to approach the neighboring network device 406D. As a result, since neighboring network device 406D is either out of range or not expected to be within the movement path of the wireless device 402, the neighboring network device 406D may not be included in the generated list. As shown in FIG.
- the neighboring network device 406A, the neighboring network device 406B, and the neighboring network device 406C are positioned ahead of the wireless device 402 along its movement path 412, while the neighboring network device 406D is positioned farther away from the wireless device 402, opposite to the movement path 412 of the wireless device 402.
- the neighboring network device 406A, the neighboring network device 406B, and the neighboring network device 406C are included in the generated list, while the neighboring network device 406D is not included in the generated list.
- 406C for example, need not be limited to Wi-Fi.
- Wi-Fi neighbors may instead correspond to a cellular base station, a Bluetooth beacon, a mesh node, or another compatible radio technology capable of supporting connectivity or assisting in handover decisions. This flexibility allows the dynamically adaptability to heterogeneous wireless environments.
- the generated list is ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list.
- the list may prioritize the neighboring network device 406A, the neighboring network device 406B, and the neighboring network device 406C, which are positioned ahead of the wireless device 402 along the movement path 412, while excluding the neighboring network device 406D, which is either out of range or unlikely to be within the predicted movement path of the wireless device 402.
- the list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device 402 can quickly and efficiently connect to the most optimal neighboring network device.
- the network device 404 may transmit, for roaming assistance, the list of one or more neighboring network devices to the wireless device 402, for example, when the wireless device 402 approaches the edge of the cell 408 and/or when the network device 404 receives the roaming assistance request from the wireless device 402.
- the network device 404 may transmit the list of one or more neighboring network devices to the wireless device 402 in one of a BTM message (for example, a targeted 802.1 Iv BTM message) or a neighbor report (for example, 802.1 Ik neighbor report).
- the network device 404 may be configured to transmit a signal strength indicator (for example, RS SI) to the wireless device 402, corresponding to a mid-point between the network device 404 and a neighboring network device in the list of one or more neighboring network devices. Additionally, the network device 404 may be configured to transmit a roaming probability indication to the wireless device 402 for at least one neighboring network device in the list of one or more neighboring network devices.
- RS SI signal strength indicator
- the network device 404 may generate a list of one or more neighboring network devices based on historical roaming patterns of other wireless devices (for example, other than the wireless device 402). For example, the generated list may include a count of the top N neighboring network devices from which other wireless devices typically roam, such as those typically roaming from the network device 404. The generated list may also include a percentage of wireless devices that have roamed to each of the top N neighboring network devices. Additionally, the list may include information derived from modeling data that describes roaming patterns.
- the roaming patterns could be based on statistical data collected over a defined period, such as samples gathered over a six-month span, covering a large number of roaming events (e.g., 60,000 roams).
- This data may help identify the top N neighboring network devices that the wireless device 402 can roam to, even in the absence of real-time movement data.
- the generated list may also include additional contextual information, such as the network device density for a specific floor or area.
- data may indicate that the neighboring network devices orBSAs are typically located at mid-points with signal levels around -68 dBm from the network device 404. This enables the wireless device 402 to make an informed decision about the most likely neighboring network devices to connect to when roaming. This approach optimizes the roaming process by relying on historical data, thereby minimizing the need for real-time movement information and enabling more accurate predictions of the roaming behavior of the wireless device 402, which ensures smoother handovers and a better user experience.
- the wireless device 402 may receive, for roaming assistance, the list of one or more neighboring network devices from the network device 404.
- the list of one or more neighboring network devices may be based on at least one of the motion data or the location data of the wireless device 402.
- the list may include the signal strength indicator (for example, RS SI), corresponding to the mid-point between the network device 404 and the neighboring network device in the list of one or more neighboring network devices.
- the wireless device 402 may evaluate the available neighboring network devices to decide which one to connect to.
- the wireless device 402 may be in a transition zone where both the network device 404 and the neighboring device are viable candidates for maintaining a connection.
- the wireless device 402 may be in a transition zone where both the network device 404 and the neighboring device are viable candidates for maintaining a connection.
- unnecessary or untimely switching between the wireless device 402 and the neighboring network device is avoided. This may allow a smoother transition to the neighboring network device when needed. This results in more efficient roaming, as the wireless device 402 can maintain a stable connection while moving from one coverage area to the next, optimizing performance and user experience.
- the wireless device 402 may perform a scan for at least one neighboring network device in the list of one or more neighboring network devices. For example, the wireless device 402 may perform a scan to detect at least one neighboring network device from the list of neighboring network devices. For example, the wireless device 402 may prioritize scanning the neighboring network device 406A and the neighboring network device 406B, which are ranked higher in the list, while excluding the neighboring network device 406C, which appears lower in the list based on its ranking.
- the wireless device 402 may provide feedback to the network device 404.
- the feedback may include information such as “Neighboring network device A not found” or “RS SI of neighboring network device C too low”.
- the wireless device 402 may provide the feedback to the network device 404 (for example, in case of a roaming failure) or to a neighboring network device (for example, in case of a successful, but suboptimal roam).
- the network device 404 may receive the feedback on the roaming assistance from the wireless device 402 in response to the transmission of the list of one or more neighboring network devices. By receiving the feedback from the wireless device 402, the network device 404 may improve roaming support, enhancing the accuracy and efficiency of future handoffs. This dynamic feedback loop may enable optimized connectivity by addressing issues such as failed or suboptimal roams in real-time.
- the network device 404 may transmit the list of one or more neighboring network devices to the wireless device 402 unsolicited. In such a scenario, the network device 404 may not receive the roaming assistance request from the wireless device 402.
- the elements depicted in FIG. 4 may also be interchangeable with other elements of FIGS. 1 - 3 and 5 - 12 as required to realize a particularly desired embodiment.
- FIG. 5 a diagram of a list 500 of a plurality of neighboring network devices in accordance with various embodiments of the disclosure is shown. FIG. 5 is described in conjunction with FIG. 4.
- the list 500 may be received by a wireless device (for example, the wireless device 402) from a network device (for example, the network device 404) with which the wireless device is currently associated.
- the list 500, generated by the network device may include information about three neighboring network devices, including a neighboring network device A, a neighboring network device B, and a neighboring network device C. These neighboring network devices are arranged in a priority order, with the most optimal neighboring network device listed at the top to facilitate seamless Wi-Fi roaming. This ordering may enable the wireless device to efficiently select the most optimal neighboring network device as the wireless device may move out of the coverage area of the currently associated network device, ensuring a stable and continuous connection.
- the list 500 is illustrated to include three neighboring network devices. However, it should be understood that the list 500 may include fewer or more than three neighboring network devices, depending on the specific implementation.
- the list 500 may include one or more Information Elements (IES), for example, a device identifier IE, a roaming probability indication IE, and an RF parameter IE.
- the device identifier IE may indicate a BSSID (for example, a MAC address of a Wi-Fi interface) of a neighboring network device.
- the roaming probability indication IE may indicate, for example, the likelihood (expressed as a percentage) that the wireless device will transition to a particular neighboring network device, assisting the wireless device in making informed decisions for seamless roaming.
- the RF parameter IE may indicate the signal strength (for example, an RS SI value) of the wireless device relative to a neighboring network device.
- the RF parameter IE may correspond to a signal strength indicator corresponding to a mid-point between the network device and the neighboring network device.
- each IE may have one or more associated fields including specific information about a particular neighboring network device.
- the field corresponding to the device identifier IE may indicate the MAC address “OO: 1A:2B:3C:4D:6F”, the field corresponding to the roaming probability indication IE may indicate a roaming probability of 50 percent, and the field corresponding to the RF parameter IE may indicate an RSSI value of -70 dBm.
- the field corresponding to the device identifier IE may indicate the MAC address “OO: 1A:2B:3C:4D:5EF”, the field corresponding to the roaming probability indication IE may indicate a roaming probability of 80 percent, and the field corresponding to the RF parameter IE may indicate an RSSI value of -50 dBm.
- the field corresponding to the device identifier IE may indicate a MAC address “OO: 1A:2B:3C:4D:7G”, the field corresponding to the roaming probability indication IE may indicate a roaming probability of 20 percent, and the field corresponding to the RF parameter IE may indicate an RSSI value of -85 dBm.
- the RF parameter IE may correspond to the signal strength indicator for indicating mid-point.
- the RSSI value of -70 dBm for the neighboring network device A may indicate that when the wireless device receives the RSSI value of - 70 dBm from the connected network device, the wireless device is located at a potential mid-point between the network device and the neighboring network device A.
- the RSSI value of -50 dBm for the neighboring network device B may indicate that when the wireless device receives the RSSI value of -50 dBm from the connected network device, the wireless device is located at a potential mid-point between the network device and the neighboring network device B.
- the RSSI value of -85 dBm for the neighboring network device C may indicate that when the wireless device receives the RSSI value of - 85 dBm from the connected network device, the wireless device is located at a potential mid-point between the network device and the neighboring network device C.
- the list 500 is arranged in a prioritized order, with the most optimal neighboring network device, in this case, the network neighboring device B, listed at the top, followed by the network neighboring device A, and then the network neighboring device C.
- This prioritization is determined based on factors such as roaming probability, signal strength, and other performance metrics, ensuring that the wireless device can efficiently select the most optimal neighboring network device for seamless connectivity.
- the wireless device in response to receiving the list 500, may perform a scan to evaluate the neighboring network devices included in the list 500. During the scan, the wireless device may determine that the neighboring network device B has a roaming probability of 80% and an RSSI of -50 dBm, making it a strong candidate for Wi-Fi roaming. In contrast, the neighboring network device C has a roaming probability of only 20% and a weaker RSSI of -85 dBm, making it a less likely choice. Based on the results of the scan, the wireless device may prioritize the neighboring network device B for the handover due to its high roaming probability and strong signal strength, ensuring a smooth transition to a stable connection as the wireless device moves out of the coverage area of the network device.
- the network device provides tailored information to the wireless device (for example, in the form of the list 500), significantly reducing the need for extensive scanning by the wireless device at the edge of the cell. This results in a more efficient roaming process, minimizing delays and improving the overall user experience.
- any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- the list of neighboring network devices may contain any number of Information Elements (IES) and associated fields.
- IES Information Elements
- the specific number and type of IES and fields included in the list are not limited to those detailed in this disclosure and may be adapted or extended based on the particular system configuration or use case requirements.
- the elements depicted in FIG. 5 may also be interchangeable with other elements of FIGS. 1 - 4 and 6 - 12 as required to realize a particularly desired embodiment.
- FIG. 6 a flowchart depicting a process 600 for generating a list of one or more neighboring network devices in accordance with various embodiments of the disclosure is shown.
- the process 600 may be implemented in a network device.
- the network device may be an access point.
- the process 600 may establish a communication link with the wireless device (block 610).
- the wireless device may transmit an authentication request to the network device.
- the authentication request may include an open system authentication request or a PSK authentication request.
- the network device may authenticate the wireless device based on the received authentication request.
- the network device may send an authentication response indicating an authentication successful message to the wireless device.
- the wireless device may send an association request to the network device.
- the network device may allow the wireless device to join the network.
- the network device may perform a handshake protocol (for example, a 4-way Handshake protocol) with the wireless device to establish the communication link with the wireless device.
- a handshake protocol for example, a 4-way Handshake protocol
- the process 600 may obtain at least one of motion data or location data of the wireless device (block 620).
- the process 600 may receive a roaming assistance request from the wireless device.
- the roaming assistance request may include an indication of at least one of a set of movement characteristics or a set of location characteristics of the wireless device.
- the indication may include a flag indicative of one of a moving state or a stationary state of the wireless device.
- the indication may include a geographical location of the wireless device.
- the indication may include a distance between the network device and the wireless device.
- the indication may include a set of values representing one of a location of the wireless device or a movement of the wireless device.
- At least one value in the set of values may represent one of an acceleration of the wireless device, a direction of the wireless device, or a speed of the wireless device. Further, a value in the set of values may represent a vector including one or more of the acceleration of the wireless device, the direction of the wireless device, or the speed of the wireless device. In numerous embodiments, the process 600 may obtain at least one of the motion data or the location data of the wireless device based on the indication of at least one of the set of movement characteristics or the set of location characteristics of the wireless device.
- the process 600 may generate a list of one or more neighboring network devices (block 630).
- the process 600 may generate the list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device.
- the generated list may be ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list.
- the list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device can quickly and efficiently connect to the most optimal neighboring network device.
- the process 600 may transmit, for roaming assistance, the list of one or more neighboring network devices to the wireless device (block 640).
- the process 600 may transmit the list of one or more neighboring network devices to the wireless device in a basic service set (BSS) transition management (BTM) message.
- BSS basic service set
- BTM transition management
- the process 600 may transmit the list of one or more neighboring network devices to the wireless device in a neighbor report.
- the process 600 may transmit, to the wireless device, at least one of a roaming probability indication for a neighboring network device in the list of one or more neighboring network devices or a signal strength indicator corresponding to a mid-point between network device and a neighboring network device in the list of one or more neighboring network devices (block 650).
- the roaming probability indication may, for example, indicate the likelihood (expressed as a percentage) that the wireless device will transition to a particular neighboring network device, assisting the wireless device in making informed decisions for seamless roaming.
- the wireless device may be in a transition zone where both the network device and the neighboring device are viable candidates for maintaining a connection.
- transmitting the at least one of the roaming probability indication for the neighboring network device in the list of one or more neighboring network devices or the signal strength indicator corresponding to the mid-point between network device and the neighboring network device in the list of one or more neighboring network devices may be optional.
- the process 600 may receive a roaming assistance request from the wireless device and in response to receiving the roaming assistance request, the process 600 may obtain at least one of motion data or location data of the wireless device, generate a list of one or more neighboring network devices, and transmit the list of one or more neighboring network devices to the wireless device.
- the elements depicted in FIG. 6 may also be interchangeable with other elements of FIGS. 1 - 5 and FIGS. 7 - 12 as required to realize a particularly desired embodiment.
- FIG. 7 a flowchart depicting a process 700 for transmitting a list of one or more neighboring network devices to a wireless device in accordance with various embodiments of the disclosure is shown.
- the process 700 may be implemented in a network device.
- the network device may be an access point.
- the process 700 may determine whether a communication link has been established with a wireless device (block 705). In one or more embodiments, the process 700 may determine whether the communication link has been established with the wireless device based on performing an action such as verifying an exchange of a handshake or confirmation signal between the wireless device and the network device. In an example, if the exchange of the handshake is confirmed, then the process 700 may determine that the communication link has been established with the wireless device. In another example, if the exchange of the handshake is not confirmed, then the process 700 may determine that the communication link has not been established with the wireless device.
- the process 700 may continue to determine whether the communication link has been established with the wireless device (block 705). If it is determined that the communication link has been established with the wireless device, in still more embodiments, the process 700 may receive a roaming assistance request from the wireless device (block 710).
- the roaming assistance request may include an indication of at least one of a set of movement characteristics or a set of location characteristics of the wireless device.
- the indication may include a flag indicative of one of a moving state or a stationary state of the wireless device.
- the indication may include a geographical location of the wireless device.
- the indication may include a distance between the network device and the wireless device.
- the indication may include a set of values representing one of a location of the wireless device or a movement of the wireless device.
- at least one value in the set of values may represent one of an acceleration of the wireless device, a direction of the wireless device, or a speed of the wireless device.
- a value in the set of values may represent a vector including one or more of the acceleration of the wireless device, the direction of the wireless device, or the speed of the wireless device.
- the process 700 may obtain at least one of motion data or location data of the wireless device (block 720).
- the process 700 may obtain the at least one of the motion data or the location data of the wireless device based on the indication of at least one of the set of movement characteristics or the set of location characteristics of the wireless device.
- the motion data may include details about the speed of the wireless device (for example, the rate of movement), the movement path of the wireless device (for example, the direction), and changes in velocity over time (for example, the acceleration).
- the location data may provide information about the geographic position of the wireless device, as well as the distance between the wireless device and a network device, such as the network device or one of the plurality of neighboring network devices.
- the process 700 may generate a list of one or more neighboring network devices (block 730).
- the process 700 may generate the list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device.
- the generated list may be ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list.
- the list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device can quickly and efficiently connect to the most optimal neighboring network device.
- the process 700 may transmit the list of one or more neighboring network devices to the wireless device (block 740). For example, the process 700 may transmit the list of one or more neighboring network devices to the wireless device in a BTM message. In another example, the process 700 may transmit the list of one or more neighboring network devices to the wireless device in a neighbor report.
- any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- the process 700 may receive a feedback from the wireless device on the roaming assistance.
- the elements depicted in FIG. 7 may also be interchangeable with other elements of FIGS. 1 - 6 and FIGS. 8 - 12 as required to realize a particularly desired embodiment.
- FIG. 8 a flowchart depicting a process 800 for receiving a feedback on roaming assistance from a wireless device in accordance with various embodiments of the disclosure is shown.
- the process 800 may be implemented in a network device.
- the network device may be an access point.
- the process 800 may determine whether a communication link has been established with a wireless device (block 805). In one or more embodiments, the process 800 may determine whether the communication link has been established with the wireless device based on performing an action such as verifying an exchange of a handshake or confirmation signal between the wireless device and the network device. In an example, if the exchange of the handshake is confirmed, then the process 800 may determine that the communication link has been established with the wireless device. In another example, if the exchange of the handshake is not confirmed, then the process 800 may determine that the communication link has not been established with the wireless device.
- the process 800 may continue to determine whether the communication link has been established with the wireless device (block 805). If it is determined that the communication link has been established with the wireless device, in yet more embodiments, the process 800 may obtain at least one of motion data or location data of the wireless device (block 810).
- the motion data may include details about the speed of the wireless device (for example, the rate of movement), the movement path of the wireless device (for example, the direction), and changes in velocity over time (for example, the acceleration).
- the location data may provide information about the geographic position of the wireless device, as well as the distance between the wireless device and a network device, such as the network device or one of the plurality of neighboring network devices.
- the process 800 may generate a list of one or more neighboring network devices (block 820).
- the process 800 may generate the list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device.
- the generated list may be ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list.
- the list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device can quickly and efficiently connect to the most optimal neighboring network device.
- the process 800 may transmit, for roaming assistance, the list of one or more neighboring network devices to the wireless device unsolicited (block 830).
- the process 800 may proactively transmit the list of one or more neighboring network devices to the wireless device for roaming assistance without receiving any request from the wireless device. For example, if the network device detects that the wireless device is nearing the edge of its coverage area, the network device may send the list of one or more neighboring network devices to the wireless device to assist the wireless device in preparing for an efficient handoff to the next network device.
- the process 800 may receive a feedback on the roaming assistance (block 840).
- the process 800 may receive the feedback on the roaming assistance from the wireless device.
- the process 800 may receive the feedback in case of a roaming failure.
- the process 800 may receive the feedback in case of a successful, but suboptimal roam.
- the process 800 may improve roaming support, enhancing the accuracy and efficiency of future handoffs.
- FIG. 8 Although a specific embodiment for receiving a feedback on roaming assistance from a wireless device suitable for carrying out the various steps, processes, methods, and operations described herein is discussed with respect to FIG. 8, any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- the process 800 may receive a roaming assistance request from the wireless device.
- the elements depicted in FIG. 8 may also be interchangeable with other elements of FIGS. 1 - 7 and FIGS. 9 - 12 as required to realize a particularly desired embodiment.
- a flowchart depicting a process 900 for obtaining at least one of motion data or location data of the wireless device based on one or more RF parameters in accordance with various embodiments of the disclosure is shown.
- the process 900 may be implemented in a network device.
- the network device may be an access point.
- the process 900 may receive one or more RF parameters of a wireless device relative to at least one neighboring network device (block 910).
- the one or more RF parameters may include RS SI.
- the one or more RF parameters may include SNR.
- the one or more RF parameters may be utilized to estimate the location and/or movement of the wireless device, including its direction, speed, or distance from the at least one neighboring network device, without the need for explicit location sharing by the wireless device.
- additional RF parameters may be required when the process 900 is unable to estimate the location and/or movement of the wireless device based on the received RF parameters. If it is determined that additional RF parameters are required, in several additional embodiments, the process 900 may continue to receive one or more RF parameters of a wireless device relative to at least one neighboring network device (for example, from other neighboring network devices) (block 910). If it is determined that additional RF parameters are not required, in numerous other embodiments, the process 900 may obtain at least one of motion data or location data of the wireless device (block 920).
- the motion data may include details about the speed of the wireless device (for example, the rate of movement), the movement path of the wireless device (for example, the direction), and changes in velocity over time (for example, the acceleration).
- the location data may provide information about the geographic position of the wireless device, as well as the distance between the wireless device and a network device, such as the network device or one of the plurality of neighboring network devices.
- the process 900 may generate a list of one or more neighboring network devices (block 930).
- the process 900 may generate the list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device.
- the generated list may be ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list.
- the list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device can quickly and efficiently connect to the most optimal neighboring network device.
- the process 900 may transmit, for roaming assistance, the list of one or more neighboring network devices to the wireless device (block 940).
- the process 700 may transmit the list of one or more neighboring network devices to the wireless device in a BTM message.
- the process 700 may transmit the list of one or more neighboring network devices to the wireless device in a neighbor report.
- the process 900 may receive a roaming assistance request from the wireless device and the process 900 may transmit the list of one or more neighboring network devices to the wireless device in response to receiving the roaming assistance request.
- the elements depicted in FIG. 9 may also be interchangeable with other elements of FIGS. 1 - 8 and FIGS. 10 - 12 as required to realize a particularly desired embodiment.
- FIG. 10 a flowchart depicting a process 1000 for establishing a communication link with at least one neighboring network device in accordance with various embodiments of the disclosure is shown.
- the process 1000 may be implemented in a wireless device.
- the wireless device may be a station.
- the process 1000 may determine whether the communication link has been established with the network device based on performing an action such as verifying an exchange of a handshake or confirmation signal between the wireless device and the network device. In an example, if the exchange of the handshake is confirmed, then the process 1000 may determine that the communication link has been established with the network device. In another example, if the exchange of the handshake is not confirmed, then the process 1000 may determine that the communication link has not been established with the network device.
- the process 1000 may continue to determine if a communication link is established with the network device (block 1005). If it is determined that the communication link is established with the network device, in further embodiments, the process 1000 may receive, for roaming assistance, a list of one or more neighboring network devices (block 1010). The process 1000 may receive the list of one or more neighboring network devices from the network device. In an example, the received list may be ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list. The list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device can quickly and efficiently connect to the most optimal neighboring network device.
- the process 1000 may perform a scan for at least one neighboring network device in the list of one or more neighboring network devices (block 1020). For example, the process 1000 may perform a scan to detect at least one neighboring network device from the list of neighboring network devices. For example, the process 1000 may prioritize scanning a neighboring network device which may be ranked higher in the list, while excluding the neighboring network device which appears lower in the list.
- the process 1000 may determine if the scan is successful (block 1025).
- the scan may be considered successful if the wireless device can identify at least one neighboring network device from the list that meets the necessary criteria, such as signal strength, roaming probability, or other performance metrics. This includes evaluating factors such as the RSSI, which measures the signal strength between the wireless device and the neighboring network devices. Additionally, the wireless device may assess the roaming probability, which indicates the likelihood that the wireless device will transition to a specific neighboring network device, assisting to prioritize the most optimal neighboring network device.
- the process 1000 may continue to perform the scan for the at least one neighboring network device in the list of one or more neighboring network devices (block 1020). If it is determined that the scan is successful, in additional embodiments, the process 1000 may establish a communication link with the at least one neighboring network device (block 1030). In an example, establishing the communication link may involve exchanging necessary authentication and association information between the wireless device and the most optimal neighboring network device, enabling the wireless device to maintain a continuous and stable connection as it transitions from one network device to another.
- the process 1000 may transmit a feedback (block 1040).
- the process 1000 may transmit the feedback to one of the previously associated network device or to the at least one neighboring network device to which the wireless device is now associated.
- the process 1000 may transmit the feedback in case of a roaming failure.
- the process 1000 may transmit the feedback in case of a successful, but suboptimal roam.
- transmitting the feedback may be optional.
- any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- the process 1000 may transmit the roaming assistance request to the network device.
- the elements depicted in FIG. 10 may also be interchangeable with other elements of FIGS. 1 - 9 and FIGS. 11 - 12 as required to realize a particularly desired embodiment.
- the process 1100 may be implemented in a wireless device.
- the wireless device may be a station.
- the process 1100 may determine whether the communication link has been established with the network device based on performing an action such as verifying an exchange of a handshake or confirmation signal between the wireless device and the network device. In an example, if the exchange of the handshake is confirmed, then the process 1100 may determine that the communication link has been established with the network device. In another example, if the exchange of the handshake is not confirmed, then the process 1100 may determine that the communication link has not been established with the network device.
- the process 1100 may continue to determine if the communication link is established with the network device (block 1105). If it is determined that the communication link is established with the network device, in additional embodiments, the process 1100 may transmit a roaming assistance request (block 1110). The process 1100 may transmit the roaming assistance request to the network device.
- the roaming assistance request may include an indication of at least one of a set of movement characteristics or a set of location characteristics of the wireless device. In an example, the indication may include a flag indicative of one of a moving state or a stationary state of the wireless device. In another example, the indication may include a geographical location of the wireless device.
- the indication may include a distance between the network device and the wireless device.
- the indication may include a set of values representing one of a location of the wireless device or a movement of the wireless device.
- at least one value in the set of values may represent one of an acceleration of the wireless device, a direction of the wireless device, or a speed of the wireless device.
- a value in the set of values may represent a vector including one or more of the acceleration of the wireless device, the direction of the wireless device, or the speed of the wireless device.
- the process 1100 may receive, for roaming assistance, a list of one or more neighboring network devices (block 1120).
- the process 1100 may receive the list of one or more neighboring network devices from the network device.
- the received list may be ordered by priority, with neighboring network devices that are more likely to provide optimal connectivity placed higher on the list and neighboring network devices that are less likely to provide optimal connectivity placed lower on the list.
- the list may be ordered based on factors such as roaming probability, signal strength, or likelihood of coverage, ensuring that the wireless device can quickly and efficiently connect to the most optimal neighboring network device.
- the process 1100 may perform a scan for at least one neighboring network device in the list of one or more neighboring network devices (block 1130). For example, the process 1100 may perform a scan to detect at least one neighboring network device from the list of neighboring network devices. For example, the process 1100 may prioritize scanning a neighboring network device which may be ranked higher in the list, while excluding the neighboring network device which appears lower in the list.
- the process 1100 may transmit a feedback (block 1140).
- the process 1000 may transmit the feedback to one of the previously associated network device or to the at least one neighboring network device to which the wireless device is now associated.
- the process 1000 may transmit the feedback in case of a roaming failure.
- the process 1000 may transmit the feedback in case of a successful, but suboptimal roam.
- transmitting the feedback may be optional.
- any of a variety of systems and/or processes may be utilized in accordance with embodiments of the disclosure.
- the process 1100 may receive the list of the one or more neighboring network devices unsolicited.
- the elements depicted in FIG. 11 may also be interchangeable with other elements of FIGS. 1 - 10 and FIG. 12 as required to realize a particularly desired embodiment.
- FIG. 12 a conceptual block diagram of a device 1200 suitable for configuration with a roaming management logic in accordance with various embodiments of the disclosure is shown.
- the embodiment of the conceptual block diagram depicted in FIG. 12 can illustrate a conventional server, switch, wireless LAN controller, AP, computer, workstation, desktop computer, laptop, tablet, network appliance, e-reader, smartphone, or other computing device, an ethernet interface, and can be utilized to execute any of the application and/or logic components presented herein.
- the embodiment of the conceptual block diagram depicted in FIG. 12 can also illustrate an AP, a switch, an edge node, an ethernet interface, or a router in accordance with various embodiments of the disclosure.
- the device 1200 may, in many non-limiting examples, correspond to physical devices or virtual resources described herein.
- the device 1200 may include an environment 1202 such as a baseboard or "motherboard," in physical embodiments that can be configured as a printed circuit board with a multitude of components or devices connected by way of a system bus or other electrical communication paths.
- the environment 1202 may be a virtual environment that encompasses and executes the remaining components and resources of the device 1200.
- one or more processors 1204 such as, but not limited to, central processing units (“CPUs”) can be configured to operate in conjunction with a chipset 1206.
- CPUs central processing units
- the processor(s) 1204 can be standard programmable CPUs that perform arithmetic and logical operations necessary for the operation of the device 1200. In a number of embodiments, the processor(s) 1204 can perform one or more operations by transitioning from one discrete, physical state to the next through the manipulation of switching elements that differentiate between and change these states. Switching elements generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on the logical combination of the states of one or more other switching elements, such as logic gates. These basic switching elements can be combined to create more complex logic circuits, including registers, adders-subtractors, arithmetic logic units, floating-point units, and the like.
- the chipset 1206 may provide an interface between the processor(s) 1204 and the remainder of the components and devices within the environment 1202.
- the chipset 1206 can provide an interface to a random-access memory (“RAM”) 1208, which can be used as the main memory in the device 1200 in some embodiments.
- RAM random-access memory
- the chipset 1206 can further be configured to provide an interface to a computer-readable storage medium such as a read-only memory (“ROM”) 1210 or non-volatile RAM (“NVRAM”) for storing basic routines that can help with various tasks such as, but not limited to, starting up the device 1200 and/or transferring information between the various components and devices.
- ROM 1210 or NVRAM can also store other application components necessary for the operation of the device 1200 in accordance with various embodiments described herein.
- Additional embodiments of the device 1200 can be configured to operate in a networked environment using logical connections to remote computing devices and computer systems through a network, such as the network 1240.
- the chipset 1206 can include functionality for providing network connectivity through a network interface card ("NIC") 1212, which may comprise a gigabit Ethernet adapter or similar component.
- NIC network interface card
- the NIC 1212 can be capable of connecting the device 1200 to other devices over the network 1240. It is contemplated that multiple NICs 1212 may be present in the device 1200, connecting the device to other types of networks and remote systems.
- the device 1200 can be connected to a storage 1218 that provides non-volatile storage for data accessible by the device 1200.
- the storage 1218 can, for instance, store an operating system 1220 and programs 1222 (e.g., applications).
- the storage 1218 can be connected to the environment 1202 through a storage controller 1214 connected to the chipset 1206.
- the storage 1218 can consist of one or more physical storage units.
- the storage controller 1214 can interface with the physical storage units through a serial attached SCSI (“SAS") interface, a serial advanced technology attachment (“SATA”) interface, a fiber channel (“FC”) interface, or other type of interface for physically connecting and transferring data between computers and physical storage units.
- SAS serial attached SCSI
- SATA serial advanced technology attachment
- FC fiber channel
- the device 1200 can store data within the storage 1218 by transforming the physical state of the physical storage units to reflect the information being stored.
- the specific transformation of physical state can depend on various factors. Examples of such factors can include, but are not limited to, the technology used to implement the physical storage units, whether the storage 1218 is characterized as primary or secondary storage, and the like.
- the device 1200 can store information within the storage 1218 by issuing instructions through the storage controller 1214 to alter the magnetic characteristics of a particular location within a magnetic disk drive unit, the reflective or refractive characteristics of a particular location in an optical storage unit, or the electrical characteristics of a particular capacitor, transistor, or other discrete component in a solid-state storage unit, or the like.
- Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this description.
- the device 1200 can further read or access information from the storage 1218 by detecting the physical states or characteristics of one or more particular locations within the physical storage units.
- the device 1200 can have access to other computer-readable storage media to store and retrieve information, such as program modules, data structures, or other data.
- computer-readable storage media is any available media that provides for the non- transitory storage of data and that can be accessed by the device 1200.
- the operations performed by a cloud computing network, and/or any components included therein may be supported by one or more devices similar to device 1200. Stated otherwise, some or all of the operations performed by the cloud computing network, and or any components included therein, may be performed by one or more devices 1200 operating in a cloud-based arrangement.
- Computer-readable storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology.
- Computer-readable storage media includes, but is not limited to, RAM, ROM, erasable programmable ROM (“EPROM”), electrically-erasable programmable ROM (“EEPROM”), flash memory or other solid-state memory technology, compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”), high definition DVD (“HD-DVD”), BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information in a non-transitory fashion.
- the storage 1218 can store an operating system 1220 utilized to control the operation of the device 1200.
- the operating system comprises the LINUX operating system.
- the operating system comprises the WINDOWS® SERVER operating system from MICROSOFT Corporation of Redmond, Washington.
- the operating system can comprise the UNIX operating system or one of its variants. It should be appreciated that other operating systems can also be utilized.
- the storage 1218 can store other system or application programs and data utilized by the device 1200.
- the storage 1218 or other computer-readable storage media is encoded with computer-executable instructions which, when loaded into the device 1200, may transform it from a general -purpose computing system into a specialpurpose computer capable of implementing the embodiments described herein.
- These computer-executable instructions may be stored as programs 1222 (e.g., an application) and transform the device 1200 by specifying how the processor(s) 1204 can transition between states, as described above.
- the device 1200 has access to computer-readable storage media storing computer-executable instructions which, when executed by the device 1200, perform the various processes described above with regard to FIGS. 1 - 11.
- the device 1200 can also include computer-readable storage media having instructions stored thereupon for performing any of the other computer-implemented operations described herein.
- the device 1200 may include a roaming management logic 1224.
- the roaming management logic 1224 can be configured to perform one or more of the various steps, processes, operations, and/or other methods that are described above.
- the roaming management logic 1224 can be a set of instructions stored within a nonvolatile memory that, when executed by the processor(s) 1204 can carry out these steps, etc.
- the roaming management logic 1224 may be a client application that resides on a network-connected device, such as, but not limited to, a server, switch, an ethernet interface, personal or mobile computing device in a single or distributed arrangement.
- the roaming management logic 1224 may be configured to establish a communication link with a wireless device, obtain at least one of motion data or location data of the wireless device, generate a list of one or more neighboring network devices based on the obtained at least one of the motion data or the location data of the wireless device, and transmit, for roaming assistance, the list of one or more neighboring network devices to the wireless device.
- the roaming management logic 1224 may be configured to establish a communication link with a network device, receive, for roaming assistance, a list of one or more neighboring network devices, where the list of one or more neighboring network devices is based on at least one of motion data or location data of the wireless device, and perform a scan for at least one neighboring network device in the list of one or more neighboring network devices.
- the storage 1218 can include motion data 1228.
- the motion data 1228 may refer to the speed of the wireless device (for example, the rate of movement), the movement path of the wireless device (for example, the direction), and changes in velocity over time (for example, acceleration).
- the network device may utilize the motion data 1228 to provide customized information to the wireless device regarding the next optimal network device (also referred to as the neighboring network device), thereby reducing the need for the wireless device to perform scanning operations at the edge of a BSA or cell.
- the network device can assess the likelihood that each neighboring network device is within the range or movement path of the wireless device. By providing this predictive information to the wireless device, the network device may assist the wireless device in establishing a connection with the most optimal neighboring network device, thus minimizing the need for the wireless device to perform extensive scanning across multiple channels or neighboring network devices.
- the storage 1218 can include location data 1230.
- the location data 1230 may refer to data about the geographic position of the wireless device, as well as the distance between the wireless device and the network device or between the wireless device and one or more neighboring network devices.
- the network device may utilize the location data 1230 to provide customized information to the wireless device regarding the next optimal network device, thereby reducing the need for the wireless device to perform scanning operations at the edge of the BSA or the cell. For example, by analyzing the location data 1230, the network device may determine which neighboring network devices are likely within range. This enables the network device to provide the wireless device with tailored information regarding the most suitable neighboring network device to connect to next.
- the storage 1218 can include Radio Frequency (RF) parameters data 1232.
- the RF parameters data 1232 may include data of one or more RF parameters of the wireless device relative to at least one neighboring network device.
- the one or more RF parameters may include a Received Signal Strength Indicator (RSSI).
- RSSI Received Signal Strength Indicator
- the network device may utilize the RF parameters data 1232 to provide the wireless device with information about the next optimal network device to which it may connect. For example, if the RSSI from a neighboring network device is above a threshold value, the network device may determine that the neighboring network device is the most optimal candidate for connection. The network device may then provide this information to the wireless device, enabling the wireless device to connect to the optimal neighboring network device without unnecessary scanning or disconnection delays.
- the device 1200 can also include one or more input/output controllers 1216 for receiving and processing input from a number of input devices, such as a keyboard, a mouse, a touchpad, a touch screen, an electronic stylus, or other type of input device.
- an input/output controller 1216 can be configured to provide output to a display, such as a computer monitor, a flat panel display, a digital projector, a printer, or other type of output device.
- a display such as a computer monitor, a flat panel display, a digital projector, a printer, or other type of output device.
- the device 1200 might not include all of the components shown in FIG. 12 and can include other components that are not explicitly shown in FIG. 12 or might utilize an architecture completely different than that shown in FIG. 12.
- the device 1200 may support a virtualization layer, such as one or more virtual resources executing on the device 1200.
- the virtualization layer may be supported by a hypervisor that provides one or more virtual machines running on the device 1200 to perform functions described herein.
- the virtualization layer may generally support a virtual resource that performs at least a portion of the techniques described herein.
- data may be processed into a format usable by a ML model 1226 (e.g., feature vectors), and/or other pre-processing techniques.
- the ML model 1226 may be any type of ML model, such as supervised models, reinforcement models, and/or unsupervised models.
- the ML model 1226 may include one or more of linear regression models, logistic regression models, decision trees, Naive Bayes models, neural networks, k-means cluster models, random forest models, and/or other types of ML models 1226.
- the ML model 1226 may include the plurality of classifiers, each trained for a specific task such as error correction and encoding or decoding of one or more data frames transmitted before and after power transitioning phase by the device, that share common encoder(s).
- the ML model(s) 1226 can be configured to generate inferences to make predictions or draw conclusions from data.
- An inference can be considered the output of a process of applying a model to new data. This can occur by learning from at least the motion data 1228, the location data 1230, and the RF parameters data 1232. These predictions are based on patterns and relationships discovered within the data.
- the trained model can take input data and produce a classification result.
- the input data can be in various forms, such as images, audio, text, or numerical data, network packet data depending on the type of problem the model was trained to solve.
- the output of the model can also vary depending on the problem, and can be a single number, a probability distribution, a set of labels, a decision about an action to take, etc.
- Ground truth for the ML model(s) 1226 may be generated by human/administrator verifications or may compare predicted outcomes with actual outcomes. Further, the ML model(s) 1226 may be utilized to select the next optimal neighboring network device by utilizing one or more of the motion data 1228, the location data 1230, or the RF parameters data 1232.
- the device 1200 may be in a virtual environment such as a cloud-based network administration suite, or it may be distributed across a variety of network devices or APs.
- the elements depicted in FIG. 12 may also be interchangeable with other elements of FIGS. 1 - 11 as required to realize a particularly desired embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
L'invention concerne des dispositifs, des réseaux, des systèmes, des procédés et des processus pour fournir une assistance d'itinérance à des dispositifs sans fil. Pour fournir une assistance d'itinérance à un dispositif sans fil, un dispositif de réseau peut établir une liaison de communication avec le dispositif sans fil. Le dispositif de réseau peut ensuite obtenir des données de mouvement et/ou des données d'emplacement du dispositif sans fil. Le dispositif de réseau peut obtenir les données de mouvement ou les données d'emplacement sur la base d'au moins un élément parmi un ensemble de caractéristiques de mouvement du dispositif sans fil, un ensemble de caractéristiques d'emplacement du dispositif sans fil, ou un ou plusieurs paramètres RF du dispositif sans fil par rapport à au moins un dispositif de réseau voisin. Le dispositif de réseau peut ensuite générer une liste d'un ou de plusieurs dispositifs de réseau voisins sur la base des données de mouvement obtenues ou des données d'emplacement, et transmettre la liste d'un ou de plusieurs dispositifs de réseau voisins au dispositif sans fil.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463634848P | 2024-04-16 | 2024-04-16 | |
| US63/634,848 | 2024-04-16 | ||
| US19/173,673 US20250324230A1 (en) | 2024-04-16 | 2025-04-08 | Providing roaming assistance to wireless devices |
| US19/173,673 | 2025-04-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025221806A1 true WO2025221806A1 (fr) | 2025-10-23 |
Family
ID=95656351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2025/024793 Pending WO2025221806A1 (fr) | 2024-04-16 | 2025-04-15 | Fourniture d'assistance d'itinérance à des dispositifs sans fil |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025221806A1 (fr) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140098682A1 (en) * | 2012-10-05 | 2014-04-10 | Cisco Technology, Inc. | Direction Aware Neighbor List Infrastructure Assisted Roaming |
| US20150350974A1 (en) * | 2014-05-30 | 2015-12-03 | Qualcomm Incorporated | Enhancement for bss transition, load balancing and ap selection |
| US20160295628A1 (en) * | 2015-04-06 | 2016-10-06 | Cable Television Laboratories, Inc. | Self-organizing network (son) with fast initial link setup (fils) |
| US10945202B2 (en) * | 2016-10-31 | 2021-03-09 | Huawei Technologies Co., Ltd. | Method for selecting wireless access point, FTM session method, terminal, and server |
| US20240089891A1 (en) * | 2022-09-09 | 2024-03-14 | Apple Inc. | Multi-Access Point Association |
-
2025
- 2025-04-15 WO PCT/US2025/024793 patent/WO2025221806A1/fr active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140098682A1 (en) * | 2012-10-05 | 2014-04-10 | Cisco Technology, Inc. | Direction Aware Neighbor List Infrastructure Assisted Roaming |
| US20150350974A1 (en) * | 2014-05-30 | 2015-12-03 | Qualcomm Incorporated | Enhancement for bss transition, load balancing and ap selection |
| US20160295628A1 (en) * | 2015-04-06 | 2016-10-06 | Cable Television Laboratories, Inc. | Self-organizing network (son) with fast initial link setup (fils) |
| US10945202B2 (en) * | 2016-10-31 | 2021-03-09 | Huawei Technologies Co., Ltd. | Method for selecting wireless access point, FTM session method, terminal, and server |
| US20240089891A1 (en) * | 2022-09-09 | 2024-03-14 | Apple Inc. | Multi-Access Point Association |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10602383B1 (en) | Application of machine learning for building predictive models enabling smart fail over between different network media types | |
| US11576111B2 (en) | Predictive scanning and handover | |
| US11323935B2 (en) | Crowdsourced network identification and switching | |
| US11166289B2 (en) | Interference-based switching | |
| US20240195708A1 (en) | Ai driven 5g network and service management solution | |
| US20250324230A1 (en) | Providing roaming assistance to wireless devices | |
| WO2025221806A1 (fr) | Fourniture d'assistance d'itinérance à des dispositifs sans fil | |
| US20250220561A1 (en) | Ultra-Wideband Ranging Assistance for WI-FI Roaming | |
| US20250220570A1 (en) | Motion-Aware and Load-Balanced Assisted Roaming | |
| KR20250135285A (ko) | Ai/ml 모델들에 대한 적용가능성 보고의 동적 업데이트들 | |
| WO2025144555A1 (fr) | Assistance de télémétrie à bande ultralarge pour itinérance wi-fi | |
| US20250212096A1 (en) | Augmented Multi-Link Neighbor Lists | |
| US20250203338A1 (en) | Multi-link roaming across multiple physical aps in wi-fi networks | |
| US20250212167A1 (en) | Locating Ambient Power Devices in Wireless Networks | |
| WO2025144670A1 (fr) | Itinérance assistée sensible au mouvement et équilibrée en charge | |
| US20250287247A1 (en) | Augmented information exchange in wireless network | |
| US20250220594A1 (en) | Adaptive Power Mode Control in Network Devices | |
| WO2025144550A1 (fr) | Listes de voisins à liaisons multiples augmentée | |
| WO2025144608A1 (fr) | Localisation de dispositifs de puissance ambiante dans des réseaux sans fil | |
| US20250220562A1 (en) | Augmented Wireless Environment Reporting | |
| WO2025136602A1 (fr) | Itinérance à liaisons multiples sur de multiples points d'accès physiques dans des réseaux wi-fi | |
| WO2025193629A1 (fr) | Échange d'informations augmenté dans un réseau sans fil | |
| US20250220741A1 (en) | Access Network Query Protocol (ANQP) Based Assistance for Peer-to-Peer (P2P) Communications | |
| WO2025144606A1 (fr) | Dispositifs et procédés de commande adaptative de mode de puissance dans des dispositifs de réseau | |
| US20250247359A1 (en) | Enhanced device address rotation management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25724184 Country of ref document: EP Kind code of ref document: A1 |