LEVERAGING WIRELESS DIRECT TRANSMISSIONS

Leveraging wireless direct transmissions may be provided. It may be determined that data traffic flowing on a first pathway between a first client device and a second client device is not meeting a predetermined service level. The first pathway may be partially wired and partially wireless. A second pathway that will meet the predetermined service level may be determined. The second pathway may be wireless. The data traffic may be caused to flow on the second pathway.

TECHNICAL FIELD

The present disclosure relates generally to leveraging wireless direct transmissions.

BACKGROUND

In computer networking, a wireless Access Point (AP) is a networking hardware device that allows a Wi-Fi compatible client device to connect to a wired network and to other client devices. The AP usually connects to a router (directly or indirectly via a wired network) as a standalone device, but it can also be an integral component of the router itself. Several APs may also work in coordination, either through direct wired or wireless connections, or through a central system, commonly called a Wireless Local Area Network (WLAN) controller. An AP is differentiated from a hotspot, which is the physical location where Wi-Fi access to a WLAN is available.

Prior to wireless networks, setting up a computer network in a business, home, or school often required running many cables through walls and ceilings in order to deliver network access to all of the network-enabled devices in the building. With the creation of the wireless AP, network users are able to add devices that access the network with few or no cables. An AP connects to a wired network, then provides radio frequency links for other radio devices to reach that wired network. Most APs support the connection of multiple wireless devices. APs are built to support a standard for sending and receiving data using these radio frequencies.

DETAILED DESCRIPTION

Overview

Leveraging wireless direct transmissions may be provided. It may be determined that data traffic flowing on a first pathway between a first client device and a second client device is not meeting a predetermined service level. The first pathway may be partially wired and partially wireless. A second pathway that will meet the predetermined service level may be determined. The second pathway may be wireless. The data traffic may be caused to flow on the second pathway.

Example Embodiments

When a client device communicates with another client device, even if they are close enough, packets in the traffic flow may need to transit over a wired portion of a network, possibly all the way to a controller, and back to a wireless portion of the network. This may make the transmission reliable, but may significantly augment latency (e.g., and possibly jitter). In a controlled environment where determinism may be the end goal, such delay variation may cause the wireless (e.g., Wi-Fi) option to be discarded in favor of other more deterministic processes.

A solution may be achieved if the APs that serve the client devices are in line of sight and may communicate to one another over the air. This transmission may be less reliable, but may be more direct and may save overall resources in the fabric network. With multi-radio APs, this solution may be possible. If AP to AP bypass is enabled, it may become possible to use either a wired path via the fabric network/controller, a wireless path (e.g., a first client device to a first AP to a second AP to a second client device), or both for redundancy. Furthermore, if both client devices are close enough, direct client device to client device connections may be established in an ad hoc mode for certain types of traffic (e.g., low latency/jitter). However, this communication mode may not be an exclusive option (i.e., direct or via the APs).

Accordingly, embodiments of the disclosure, may detect critical traffic with the traffic not meeting a set of requirements (e.g., Service Level Agreement (SLA) requirements) that may benefit from client device to client device communication. Embodiments of the disclosure may explore different paths to satisfy, for example, either high reliability or low latency traffic leveraging direct client device to client device communication or via their respective AP and leveraging AP to AP communications.

FIG.1shows an operating environment100for leveraging wireless direct transmissions. As shown inFIG.1, operating environment100may comprise a wireless controller105controlling a coverage environment and a fabric network110. Fabric network110may comprise, for example, a plurality of network devices (e.g., switches and routers). The coverage environment may comprise, but is not limited to, a Wireless Local Area Network (WLAN) comprising a plurality of Access Points (APs) that may provide wireless network access (e.g., access to the WLAN for client devices). The plurality of APs may comprise a first AP115and a second AP120. The plurality of APs may provide wireless network access to a plurality of client devices as they move within the coverage environment. The plurality of client devices may comprise, but are not limited to, a first client device125(i.e., a first Station (STA)) and a second client device130(i.e., a second Station (STA)). Ones of the plurality of client devices may comprise, but are not limited to, a smart phone, a personal computer, a tablet device, a mobile device, a telephone, a remote control device, a set-top box, a digital video recorder, an Internet-of-Things (IoT) device, a network computer, a router, Virtual Reality (VR)/Augmented Reality (AR) devices, or other similar microcomputer-based device. Each of the plurality of APs may be compatible with specification standards such as, but not limited to, the Institute of Electrical and Electronics Engineers (IEEE) 802.11 specification standard for example.

The plurality of APs and the plurality of client devices may use Multi-Link Operation (MLO) where they simultaneously transmit and receive across different bands and channels by establishing two or more links to two or more AP radios. These bands may comprise, but are not limited the 2 GHz band, the 5 GHz band, the 6 GHz band, and the 60 GHz band.

Controller105may comprise a Wireless Local Area Network controller (WLC) and may provision and control the coverage environment (e.g., a WLAN). Controller105may allow first client device125and second client device130to join the coverage environment. In some embodiments of the disclosure, controller105may be implemented by a Digital Network Architecture Center (DNAC) controller (i.e., a Software-Defined Network (SDN) controller) that may configure information for the coverage environment in order to provide leveraging of wireless direct transmissions.

Operating environment100may comprise a plurality of paths. The plurality of paths may comprise a first path135, a second path140, a third path145, and a fourth path150. First path135may pass through first AP115, second AP120, fabric network110, and controller105. Because first path135may pass through fabric network110and controller105, it may be considered a wired path. Second path140may pass through first AP115, second AP120, and fabric network110. Because second path140may pass through fabric network110, it may also be considered a wired path.

Third path145may pass through first AP115and second AP120, but not fabric network110or controller105. Because third path145may not pass through fabric network110or controller105, it may be considered a wireless path. Fourth path150may pass directly between first client device125and second client device130, but not fabric network110or controller105. Because fourth path150may not pass through fabric network110or controller105, it may be considered a wireless path.

Other wireless paths may exist. For example, a wireless path may exist between first client device125and second client device130through first AP115when both are associated with first AP115. Similarly, a wireless path may exist between first client device125and second client device130through second AP120when both are associated with second AP120. A relay client device may exist in fourth path145to relay traffic between first client device125and second client device130to provide a wireless path.

The elements described above of operating environment100(e.g., controller105, first AP115, second AP120, first client device125, and second client device130) may be practiced in hardware and/or in software (including firmware, resident software, micro-code, etc.) or in any other circuits or systems. The elements of operating environment100may be practiced in electrical circuits comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. Furthermore, the elements of operating environment100may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to, mechanical, optical, fluidic, and quantum technologies. As described in greater detail below with respect toFIG.3, the elements of operating environment100may be practiced in a computing device300.

FIG.2is a flow chart setting forth the general stages involved in a method200consistent with embodiments of the disclosure for leveraging wireless direct transmissions. Method200may be implemented using a computing device300as described in more detail below with respect toFIG.3. Ways to implement the stages of method200will be described in greater detail below.

Method200may begin at starting block205and proceed to stage210where computing device100may determine that data traffic flowing on a first pathway between first client device125and second client device130may not meet a predetermined service level. The first pathway may be partially wired and partially wireless. For example, the first pathway may comprise first path135or second path140. The predetermined service level may be defined by a Service Level Agreement (SLA). The SLA may define Mean Time Between Failures (MTBF), Mean Time To Repair or Mean Time To Recovery (MTTR), may identify which party is responsible for reporting faults or paying fees, may define responsibility for various data rates, may define throughput, may define jitter, or similar measurable details.

From stage210, where computing device100determines that data traffic flowing on the first pathway between first client device125and second client device130may not meet the predetermined service level, method200may advance to stage220where computing device100may determine a second pathway that may meet the predetermined service level. The second pathway may be wireless. For example, the second pathway may comprise third path or fourth path.

In a factory-type environment, for example, it may be common that a working zone covers a Basic Service Set (BSS) of two APs that become a working zone pair. It may also be common that one client device (e.g., first client device125) may primarily send latency and jitter-sensitive data to a second client device (e.g., second client device130), while the return traffic may be less latency and jitter sensitive (e.g., because it may be control traffic, Acknowledgements (ACKs), keepalives, status or analytics, etc.). Accordingly, with embodiments of the disclosure, wireless controller105may recognize first client device125to second client device130communication when both endpoints of a Layer-2 (L2) communication are associated through their respective AP, both connected to the controller.

Controller105may also be aware of the client device's respective APs (e.g., first AP115and second AP130), and through radio resource management (e.g., Neighbor Discovery Protocol (NDP) messages between APs at intervals), it may know if the quality of the air communication between the APs is good enough for direct transmission. If so, controller105may push bypass instructions to the AP for the pair of communicating client devices. The bypass instructions may tell the APs to either move or copy the frames over the air to bypass or speed up the transmission. In the latter case, replication and elimination may take place at first AP115and second AP120respectively, whereby first AP115may tag the copies of the same frame over the air and over the wire with the same tag, and second AP120may eliminate the second copy with the same tag.

In an embodiment, controller105may recognize the direction of primary traffic (e.g., based on traffic volume, pace, or type), for example, first client device125to first AP115to second AP to second client device130. Controller105may then instruct second AP120to switch its monitor radio to the channel of one of first AP115's radios (e.g., the same radio as first client device125's BSS or another). First AP115may then replicate or move the traffic received from first client device125as above, over the wire and over the first AP115to second AP120Over-the-Air (OTA) link (or only OTA). The return traffic may follow the regular Down Stream (DS) path. In another embodiment, first AP115may also set its monitor radio to the first AP115to second AP120channel, and both directions may use the OTA path.

Controller105may also check whether first client device125can reach second AP120using MLO. This check may be done passively, by detecting the client device capabilities (e.g., MLO) and the probes on second AP120, or may take the form of an 11 k neighbor report request to the client device. If so, controller105may instruct first client device125to associate to second AP120(e.g., this may be a new action frame, for example, derived from 802.11v BSS Transition Management (BTM)) and may provide forwarding preferences so first client device125uses second AP120when talking to second client device130(e.g., this may be a new action frame, for example, derived from the Differentiated Service Code Point (DSCP) policy action frame, where the target becomes second client device130's Media Access Control). This way, second AP120may forward to second client device130over the air and the wire may be bypassed. The same process may occur for second client device130's responses, sent through first AP115and MLO.

In another embodiment, first AP115may select either over-the-air or over-the-wire transmission for a given frame based on the prediction of success for over-the-air. After a few retries without an acknowledgment, first AP115may fall back to over-the-wire transmission. Similarly, and in another embodiment, first client device125using MLO to second AP120may measure its retry rate over this link, and start duplicating traffic to first AP115, or switching to first AP115entirely, when its retry rate to second AP120exceeds a configurable retry threshold.

In another embodiment, an engine may perform a process to determine that some client device to client device traffic may require low latency. Such an engine may be co-located in wireless controller105or in the APs. The process may be descried as follows. First, the process may identify a subset of client devices capable of MLO. Then select all client devices with traffic sensitive to delay and jitter. A local policy engine may be used to list all “critical” applications (i.e., requiring low latency (e.g., AR/VR) or other deterministic traffic). This may be performed by activating Deep Packet Inspection (DPI) for the traffic going through the AP/controller105and by monitoring the SLA for the traffic for example. Then, for each pair of client devices <STAi,STAj> endowed with the MLO capability and carrying critical traffic, activate an SLA monitoring process in charge of monitoring the traffic SLA between the pair of client devices. In an embodiment, a set of conditions may be used (e.g., minimum amount of traffic, time of day) and a performance template (e.g., maximum of x % of critical traffic violating the SLA is acceptable). If the above conditions are met, the engine may start a process by which other potential client devices may relay the offended traffic between STAi and STAj (e.g., equipped with MLO) by using one radio in ad hoc mode. A selection process may be used to elect the client device that may be used to relay the traffic between STAi and STAj. Using the information gathered from the Radio Resource Management (RRM), the engine may select the client device that may be likely to optimize the client device to client device delay or satisfy the delay (and jitter) requirements while optimizing the probability of a successful transmission. Next, a signal may be sent to STAi and STAj requesting to send the critical traffic via STAk, and to STAk to operate in ad hoc mode for the traffic between STAi and STAj. STAk may be expected to be MLO-capable and associated to the same BSS as STAi. Thus first AP115may send to STAk a request to relay that may be an action frame derived from Direct Link Setup (DLS). In its response, STAk may confirm reachability to second AP120or to STAj and may start relaying traffic. STAk may also have its own traffic to transmit and receive.

Communicating directly between first client device125and second client device130may comprise a Device to Device (D2D) mode. In another embodiment the engine may deactivate the D2D mode upon detecting the lack of critical traffic between STAi and STAj. The engine may also start “trial” periods requesting STAi to switch back to the previous mode (with traffic transiting via the AP, controller, switching fabric) so as to check whether the D2D should be maintained or not.

A signaling may be specified that may allow the “relay” client device (STAk) to stop acting as a relay for the traffic between STAi and STAj should the second radio be requested for other usage. In one embodiment, STAk may use an action frame derived from DLS to terminate its role as relay. In another embodiment, STAk may use an action frame derived from 802.11 be Stream Classification Service (SCS) (QoS management) to request a limit on its relay-role (e.g., in terms of frame size and pace).

In yet another embodiment, the D2D mode may be activated according to predicted critical traffic between STAi and STAj for which the engine predicts that the SLA may not be met. To that end, “Predictive Networks” may be used to predict the existence of critical traffic and the high probability of SLA violation. In such a mode, the engine may send a signal to the relay client device with a schedule to indicate when the D2D mode should be activated according to the prediction. Similar to above, this message may be an extension to 802.11 be SCS (QoS management), where the targeted traffic may be represented and characterized, along with the destination client device or AP, and channel.

Once computing device100determines the second pathway that may meet the predetermined service level in stage220, method200may continue to stage230where computing device100may cause the data traffic to flow on the second pathway. Once computing device100causes the data traffic to flow on the second pathway in stage230, method200may then end at stage240.

FIG.3shows computing device300. As shown inFIG.3, computing device300may include a processing unit310and a memory unit315. Memory unit315may include a software module320and a database325. While executing on processing unit310, software module320may perform, for example, processes for providing leveraging of wireless direct transmissions as described above with respect toFIG.2andFIG.3. Computing device300, for example, may provide an operating environment for controller105, first AP115, second AP120, first client device125, and second client device130. Controller105, first AP115, second AP120, first client device125, and second client device130may operate in other environments and are not limited to computing device300.

Computing device300may be implemented using a Wi-Fi access point, a tablet device, a mobile device, a smart phone, a telephone, a remote control device, a set-top box, a digital video recorder, a cable modem, a personal computer, a network computer, a mainframe, a router, a switch, a server cluster, a smart TV-like device, a network storage device, a network relay device, or other similar microcomputer-based device. Computing device300may comprise any computer operating environment, such as hand-held devices, multiprocessor systems, microprocessor-based or programmable sender electronic devices, minicomputers, mainframe computers, and the like. Computing device300may also be practiced in distributed computing environments where tasks are performed by remote processing devices. The aforementioned systems and devices are examples, and computing device300may comprise other systems or devices.