A Fixed wireless access (FWA) device uses radio frequency (RF) waves to forward data to/from consumer devices from/to a wireless network. The FWA device includes a base station-like device and a Wi-Fi® device (e.g., a wireless router, customer premises equipment (CPE), etc.). The base station-like device is connected to a wireless network by a wireless link; and the Wi-Fi® device is part of a local Wi-Fi® network. The Wi-Fi® device allows customer devices to attach to the FWA over Wi-Fi® links and the base station-like device permits the customer devices to access the wireless network through the FWA.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems and methods described herein relate to synchronizing, in a device, Wi-Fi® signals to Discontinuous Reception (DRX) cycles. As used herein, the term Wi-Fi® may refer to a set of wireless network protocols based on Institute of Electrical and Electronics Engineers (IEEE) 802.11-related standards. More specifically, the protocols relate to wireless connectivity between devices of a local network. Depending on the implementation, a Wi-Fi® network (also referred to simply as Wi-Fi®) may operate at different speeds and in different radio frequency (RF) bands, such as 2.4 GHz (120 mm) or 5 GHz bands. As used herein, the term a “Wi-Fi® device” may refer to a device capable of sending or receiving signals or data over a Wi-Fi® network or a Wi-Fi® link. If a mobile device (e.g., a smart phone) is Wi-Fi® enabled, the mobile device may also be capable of connecting to its broadband network or a cellular network through a Wi-Fi® network or over a Wi-Fi® link.
UEs 106 may include wireless communication devices capable of both Wi-Fi® communication and cellular communication, such as Fourth Generation (4G) (e.g., Long-Term Evolution (LTE)) communication and/or Fifth Generation (5G) New Radio (NR) communication. Examples of UE 106 include: a smart phone; a tablet device; a wearable computer device (e.g., a smart watch); a global positioning system (GPS) device; a laptop computer; a media playing device; a portable gaming system; an autonomous vehicle navigation system; a sensor, such as a pressure sensor or; and an Internet-of-Things (IOT) device with Wi-Fi® capabilities. In some implementations, UE 106 may correspond to a wireless Machine-Type-Communication (MTC) device that communicates with other devices over a machine-to-machine (M2M) interface, such as LTE-M or Category M1 (CAT-M1) devices and Narrow Band (NB)-IoT devices.
FWA 108 may include a broadband device (e.g., 4G or 5G base station-like device or a mobile terminal for 4G or 5G communication for RF communication with network 102) and a Wi-Fi® device (e.g., a wireless router, customer premises equipment (CPE), tec.). FWA 108 may use the broadband device to communicate with network 102 and use the Wi-Fi® device to communicate with UEs 106.
In
For example, assume that the user of UE 106-1 is subscribed to a FWA service at network 102; and that FWA 108 has an ultra-low latency (ULL) connection to network 102 over a link 112, with about 5 ms latency and 500 Mbps throughput. When UE 106-1 accesses FWA 108 over a Wi-Fi® link 110, however, the user of UE 106-1 discovers that UE 106-1 is only getting 110 ms latency and 200 Mbps throughput over link 112 due to contention-caused congestion in the Wi-Fi® network. The systems and methods described herein address such issues, by synchronizing Wi-Fi® signals to patterns of cellular signals from FWA 108 (or more generally a gateway between the Wi-Fi® network and network 102) to network 102.
According to the systems and methods, a gateway device (e.g., FWA 108) between a Wi-Fi® network and a provider network (e.g., a cellular network) includes synch logic that the user can enable for communicating with selected Wi-Fi® devices or selected UEs 106. When enabled, the logic in the gateway device synchronizes Wi-Fi® signals on the Wi-Fi® side of the gateway device with wireless signals on the network 102 side of the gateway device. More specifically, the synch logic is configured to use a feature of Wi-Fi® network, previously referred to as a DCF, to synchronize the Wi-Fi® network to particular signaling patterns, of communication between the gateway device and network 102, which are referred to as Discontinuous Reception (DRX) cycles.
Access network 204 may allow or customer devices (e.g., devices in customer premises 104, such as UEs 106 or FWA 108) to access core network 206. To do so, access network 204 may establish and maintain, with participation from the customer devices, an over-the-air channel with the customer devices; and maintain backhaul channels with core network 206. Access network 204 may relay information through these channels, from the customer devices to core network 206 and vice versa. Access network 204 may include an LTE radio network and/or a 5G NR network, or other advanced radio network. These networks may include many central units (CUs), distributed units (DUs), radio units (RUS), and wireless stations, one of which is illustrated in
Core network 206 may include one or more devices and network components for providing communication services to customer devices. For example, core network 206 may permit the customer devices to attach to network 102, establish sessions with devices in network 102, and/or receive services from network 102 (e.g., receive content, access the Internet, conduct video conferences with another customer device attached to network 102, etc.). To deliver various services, core network. 206 may interface with other networks, such as data network 208.
Depending on the implementation, core network 206 may include 5G core network components (e.g., a User Plane Function (UPF), an Application Function (AF), an Access and Mobility Function (AMF), a Session Management Function (SMF), a Unified Data Management (UDM) function, a Unified Data Repository (UDR), a Network Slice Selection Function (NSSF), a Policy Control Function (PCF), etc.); 4G or LTE core network components (e.g., a Serving Gateway device (SGW), a Packet data network Gateway device (PGW), a Mobility Management Entity (MME), etc.); and/or other types of core network components.
When core network 206 is implemented as a 5G network, core network 206 may include network slices 212. Network slices 212 may be instantiated as a result of “network slicing,” which involves a form of virtual network architecture that enables multiple logical networks to be implemented on top of a shared physical network infrastructure using software defined networking (SDN) and/or network function virtualization (NFV). Each logical network, referred to as network slice 212, may encompass an end-to-end virtual network with dedicated storage and/or computational resources that include access network components, clouds, transport, Central Processing Unit (CPU) cycles, memory, etc. Furthermore, each network slice 212 may be configured to meet a different set of requirements and be associated with a particular Quality of Service (QOS) class, a type of service, and/or a particular group of enterprise customers associated with FWAs and/or mobile communication devices.
Data network 208 may include one or more networks connected to core network 206. In some implementations, a particular data network 208 may be associated with a data network name (DNN) in 5G and/or an Access Point Name (APN) in 4G. A customer device may request a connection to data network 208 using a DNN or APN. Data network 208 may include, and/or be connected to and enable communication with a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), an autonomous system (AS) on the Internet, an optical network, a cable television network, a satellite network, another wireless network (e.g., a Code Division Multiple Access (CDMA) network, a general packet radio service (GPRS) network, and/or an LTE network), an ad hoc network, a telephone network (e.g., the Public Switched Telephone Network (PSTN) or a cellular network), an intranet, or a combination of networks. Data network 208 may include an application server (also simply referred to as application). An application may provide services for a program or an application running on UEs 106 and may establish communication session with UEs 106 via core network 206.
For clarity,
Cellular network interface 302 may include a component that acts like a base station or as a mobile terminal (MT). The mobile terminal-like component may implement functions for attaching to access network 204, establishing a session with core network 206 over access network 204, and/or receiving services from network 102. In particular, cellular network interface 302 may be capable of coordinating with access network 204 to transmit and/or receive signals in accordance with a set of timing patterns, previously referred to as DRX cycles, used by devices for saving battery power. Roughly, each DRX cycle specifies an active phase, an interval during which a mobile terminal (e.g., gateway device 300) is or should be in an active mode, and a sleep phase, an interval during which the mobile terminal is or should be in a sleep mode or an inactive mode. Cellular network interface 302 may set or determine one or more values of parameters of DRX cycles and provide the parameter values to synchronization logic 304. Synchronization logic 304 may synchronize Wi-Fi® signals to/from gateway device 300 with DRX cycles, such that communications with a particular Wi-Fi® device in the Wi-Fi® network occurs during active phases of DRX cycles. Synchronization logic 304 is described below in greater detail with reference to
Wi-Fi® interface 306 provides parameter values that are associated with Wi-Fi® signaling to synchronization logic 304, receives requests from synchronization logic 304 to issue Wi-Fi® signals, and transmits such signals. Wi-Fi® interface 306 may transmit Wi-Fi® signals in accordance with IEEE 802.11 protocols. In particular, Wi-Fi® interface 806 may implement the IEEE 802.11 DCF, which is described below in greater detail with reference to
DRX monitor 312 may obtain DRX parameters from cellular network interface 302 and provide the parameters to reservation unit 316. When gateway device 300 powers up, gateway device 300 may be in a state known as the Radio Resource Control (RRC) idle state. When gateway device 300 registers with network 102 and attaches to access network 204, gateway device 300 enters the RRC connected state. In the RRC idle state, gateway device 300 may be paged from network 102. In the RRC connected state, gateway device 300 has an RRC connection with access network 204 for communication. In either the RRC idle state or the RRC connected state, gateway device 300 may enter or perform DRX cycles.
During the RRC idle state, gateway device 300 may execute an idle-mode DRX (I-DRX or IDRX, not shown). When gateway device 300 is about to perform or is performing the IDRX, DRX monitor 312 may obtain IDRX parameter values and provide the parameter values to reservation unit 316. The IDRX parameters may include, for example, the next paging frame time, the next paging subframe time (or the paging occasion time), and the next wake-up time, and the next sleep time.
During the RRC connected state, gateway device 300 may execute a connected-mode DRX (C-DRX or CDRX). When gateway device 300 is about to perform or is performing the CDRX, DRX monitor 312 may obtain CDRX parameter values and provide the parameter values to reservation unit 316, In one implementation, the parameters may relate to what is referred to as a long CDRX cycle. The parameters which relate to the long CRX cycle may include the next on time, the on-duration, the inactivity period, and the next inactivity time.
Referring back to
When Wi-Fi® monitor 314 receives a command from reservation unit 316 to acquire or reserve the Wi-Fi® channel, Wi-Fi® monitor 314 may drive gateway device 300 to transmit the RTS message and receive the CTS message from UE 106-1. In addition, Wi-Fi® monitor 314 may cause gateway device 300 to generate a Network Allocation Vector (NAV) signal following the RTS message. Gateway device 300 may continue to transmit the NAV signal until the UE 106 sends the ACK message. While the NAV signal is present in the Wi-Fi® channel, the other devices on the Wi-Fi® network deter their attempts to send or receive data. Accordingly, in
In addition to causing gateway device 300 to issue an RTS message for synchronizing Wi-Fi® signals to long CDRX cycles, Wi-Fi® monitor 314 may obtain Wi-Fi®-related parameters and provide them to reservation unit 316, periodically or on demand. Examples of the parameters include: a Wi-Fi® channel traffic volume; a Wi-Fi® channel bandwidth; and a time-to-acquisition, which includes a time interval between the time when gateway device 300 transmits a first RTS message to attempt to acquire the Wi-Fi® channel and the time when gateway device 300 successfully acquires the channel (i.e., the time when gateway device 300 generates a NAV signal).
Wi-Fi® monitor 314 may determine the Wi-Fi® parameter values in various ways. For example, Wi-Fi® monitor may determine the Wi-Fi® traffic volume by determining the average number of packets/frames passing through gateway device 300. In another example, Wi-Fi® monitor 314 may have stored various device parameters of gateway device 300 (e.g., a link bandwidth) and provide one or more of such parameters when requested by reservation unit 316. In yet another example, Wi-Fi® monitor 314 may obtain the time-to-acquisition value by: recording the initial time at which gateway device 300 issues a first RTS message to attempt to acquire the channel; recording the time-of-acquisition at which gateway device 300 generates a NAV signal after transmitting a collision-free RTS message; and computing the time-to-acquisition by subtracting the initial time from the time-of-acquisition. If the first RTS message and the collision-free RTS message are the same RTS message, then the time-to-acquisition is equal to the size of a SIFS.
Depending on whether the first RTS results in a Wi-Fi® channel acquisition, the time-to-acquisition may or may not be equal to the size of a SIFS. In trying to send data to UE 106-1, gateway device 300 uses a contention window to compete with other Wi-Fi® devices to acquire the Wi-Fi® channel. If gateway device 300 succeeds in acquiring the Wi-Fi® channel, the other Wi-Fi® devices deter their data transmissions.
Alternatively, if gateway device 300 is unable to acquire the channel within its contention window because its RTS message collides with other RTS messages (e.g., the RTS messages from the other Wi-Fi® devices overlap in time with the RTS message), gateway device 300 increases the size of its contention window and reattempts to acquire the channel in the enlarged contention window. Gateway device 300 may repeat the process until gateway device 300 succeeds in acquiring the Wi-Fi® channel.
Depending on the implementation, gateway device 300 may increase the size of its contention window in response to a RTS collision in various ways. For example, gateway device 300 may increase the size of its contention window as a linear function of the number of preceding consecutive RTS collisions. For example, if gateway device 300 attempted to transmit an RTS message 4 times (after a wait time after each RTS message transmission), the next contention window may have the size of 5. That is, window size=number of preceding consecutive collisions+1. In another example, gateway device 300 may increase the size of its contention window after an RTS collision in accordance with the binary exponential back-off algorithm. According to the algorithm, the size of contention window is doubled after an RTS collision.
Referring back to
To acquire the Wi-Fi® channel, gateway device 300 needs to send an RTS message that does not collide with other RTS messages in the Wi-Fi® channel. If the RTS message sent by gateway device 300 does collide with another RTS message, gateway device 300 will transmit a second RTS message; if the second RTS message collides with other RTS messages, gateway device 300 will transmit a third RTS; and so on until gateway device 300 acquires the Wi-Fi® channel.
Prior to sending a 1st RTS message for Wi-Fi® channel acquisition, reservation unit 316 chooses a time, herein referred to as a DRX precede time (DPT), which specifies the time of transmission of the 1st RTS message relative to the next on time of a long CDRX cycle. The DPT is chosen so that, after the 1st RTS message is transmitted at the chosen DPT, gateway device 300 may acquire the Wi-Fi® channel with a particular probability before the on time of the long CDRX cycle.
Returning to
Returning to
In the model, if a size of the contention window is x, then the probability of channel acquisition can be denoted as k1x, where ki is a constant. If a collision occurs, then the window is enlarged, and the next probability of channel acquisition can be denoted as k2x2, assuming that the window size is doubled, in accordance with the binary exponential back-off algorithm. Accounting for additional possible RTS collisions leads to the expression:
In expressions (1) and (2), x, x2 . . . xn represent consecutive contention window sizes. It is assumed that the Wi-Fi® channel acquisition occurs at an on time of CDRX.
Machine learning unit 318 can collect the probabilities as function of DPTs for different congestion levels from Wi-Fi® monitor 314. The probability data can then be used to setup linear equations to compute ki's that minimize the least squares error. That is, machine learning unit 318 can be trained, based on collected data, to obtain ki's e that provide the best estimates of the probabilities. After machine learning unit 318 is trained, machine learning unit 318 can use, for a given congestion level and a desired probability, expression (1) to determine n. Given n, machine learning unit 318 can compute a DPT by applying expression (2).
Process 700 may further include obtaining long CDRX parameters (block 704). For example, reservation unit 316 may obtain long CDRX parameters from DRX monitor 312. DRX monitor 312 may provide many CDRX parameters, one of which is identified by reservation unit 316 as a next on time of a long CDRX. Furthermore, reservation unit 316 obtain the current congestion level of the Wi-Fi® network (block 706). Reservation unit 316, for example, may request Wi-Fi® monitor 314 for the parameter. Wi-Fi® monitor 314 may in turn query Wi-Fi® interface 304 for the value of the current level of traffic and the channel capacity, to derive the congestion level in terms of channel occupancy.
Process 700 may further include gateway device 300 obtaining a DPT that is likely to acquire the Wi-Fi® channel with the obtained probability and at the current congestion level (block 708). For example, reservation unit 316 may look up a DPT for the specified probability and congestion level in its tables of DPTs, probabilities, and congestion levels. Alternatively, machine learning unit 318 may compute the DPT ay using the congestion level to look up k's (computed during learning phases of machine learning unit 318) and then apply expression (1) to obtain the value of n. Machine learning unit 318 may then apply expression (2) to obtain the value of DPT. Machine learning unit 318 may provide the obtained DPT to reservation unit 316.
Process 700 may further include reservation unit 316 determining a time at which gateway device 300 should transmit an RST message (block 710) based on the DPT and the next on time of CDRX cycles. For example, in one implementation, the time to issue the RST message may be equal to the next on time of the long CDRX minus the determined DPT. Thereafter, synchronization logic 304 may request Wi-Fi® interface 306 to transmit the RST at the determined time (block 712).
Process 700 may further include Wi-Fi® interface 306 determining whether the RST collides with another transmission from different Wi-Fi® devices (block 714). If there is a collision (block 716: YES), Wi-Fi® interface 306 may adjust its contention window (block 718). For example, in one implementation, Wi-Fi® interface 306 may apply the binary exponential back-off algorithm to double the size of its contention window. Process 700 may then return to block 710, to repeat blocks 710-716 to try to acquire the Wi-Fi® channel. At block 718, however, if Wi-Fi® interface 306 does not detect a collision (block 718: NO), Wi-Fi® interface may conclude that the Wi-Fi® channel is successfully acquired and generate a NAV signal (block 720), causing other devices in the Wi-Fi® network to deter their transmissions until the end of NAV signal, or until their NAV timers expire.
Process 700 may further include Wi-Fi® interface 306 receiving a CTS message (block 722) from the UE 106 to which the RTS message from gateway device 300 was addressed. After the receipt of the CTS message, Wi-Fi® interface 306 may send data (block 722). When Wi-Fi® interface 306 finishes sending the data, Wi-Fi® interface 306 may stop transmitting the NAV signal. Wi-Fi® interface 306 may then receive an ACK message (block 724) from the UE 106 to which gateway device 300 send its data.
Processor 802 may include a processor, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a programmable logic device, a chipset, an application specific instruction-set processor (ASIP), a system-on-chip (SoC), a central processing unit (CPU) (e.g., one or multiple cores), a microcontroller, and/or another processing logic device (e.g., embedded device) capable of controlling network device 800 and/or executing programs/instructions.
Memory/storage 804 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions (e.g., programs, scripts, etc.).
Memory/storage 804 may also include a CD ROM, CD read/write (R/W) disk, optical disk, magnetic disk, solid state disk, holographic versatile disk (HVD), digital versatile disk (DVD), and/or flash memory, as well as other types of storage device (e.g., Micro-Electromechanical system (MEMS)-based storage medium) for storing data and/or machine-readable instructions (e.g., a program, script, etc.). Memory/storage 804 may be external to and/or removable from network device 800. Memory/storage 804 may include, for example, a Universal Serial Bus (USB) memory stick, a dongle, a hard disk, off-line storage, a Blu-Ray® disk (BD), etc. Depending on the context, the term “memory,” “storage,” “storage device,” “storage unit,” and/or “medium” may be used interchangeably. For example, a “computer-readable storage device” or “computer-readable medium” may refer to both a memory and/or storage device.
Input component 806 and output component 808 may provide input and output from/to a user to/from network device 800. Input and output components 806 and 808 may include, for example, a display screen, a keyboard, a mouse, a speaker, actuators, sensors, gyroscope, accelerometer, a microphone, a camera, a DVD reader, Universal Serial Bus (USB) lines, and/or other types of components for obtaining, from physical events or phenomena, to and/or from signals that pertain to network device 800.
Network interface 810 may include a transceiver (e.g., a transmitter and a receiver) for network device 800 to communicate with other devices and/or systems. For example, via network interface 810, network device 800 may communicate with access station 210. Network interface 810 may include an Ethernet interface to a LAN, and/or an interface/connection for connecting network device 800 to other devices (e.g., a Bluetooth interface). For example, network interface 810 may include a wireless modem for modulation and demodulation.
Bus 812 may enable components of network device 800 to communicate with one another.
Network device 800 may perform the operations described herein in response to processor 802 executing software instructions stored in a non-transient computer-readable medium, such as memory/storage 804. The software instructions may be read into memory/storage 804 from another computer-readable medium or from another device via network interface 810. The software instructions stored in memory or storage (e.g., memory/storage 804, when executed by processor 802, may cause processor 802 to perform processes that are described herein. For example, UE 106 and FWA 108 each include various programs for performing some of the above-described functions and processes.
In this specification, various preferred embodiments have been described with reference to the accompanying drawings. Modifications may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense. For example, while a series of blocks have been described above with regard to the process illustrated in
It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
Further, certain portions of the implementations have been described as “logic” that performs one or more functions. This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
To the extent the aforementioned embodiments collect, store, or employ personal information provided by individuals, it should be understood that such information shall be collected, stored, and used in accordance with all applicable laws concerning protection of personal information. The collection, storage and use of such information may be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
No element, block, or instruction used in the present application should be construed as critical or essential to the implementations described herein unless explicitly described as such. Also, as used herein, the articles “a,” “an,” and “the” are intended to include one or more items. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.