The present invention relates to local wireless networks. More particularly, the invention relates to the optimization of connectivity for point-to-point media streaming.
Within local wireless local area network small environments, such as home or enterprise networks, a typical (point-to-point) PtP communication route between two wireless devices includes one of the following alternatives:
Current local area networks are typically based on access nodes, such as a WiFi access point (AP), serving as the anchor for most point-to-point (PtP) communication. The introduction of device-to-device (D2D) connectivity technologies, such as WiFi-direct and Tunneled Direct Link Setup (TDLS), enables more efficient and enhanced PtP connectivity with no intervention of an intermediate access node.
The quality of a PtP streaming session is not consistent over time due to variability of interference and congestion conditions within the wireless network. Upon changing interference and congestion over the channel of the PtP session, in order to ensure the best available user experience, the PtP streaming session should be seamlessly moved to better operational mode including alternate (cleaner) channel and/or route.
The art as so far failed to provide solutions that guarantee a continuously wireless PtP media streaming experience, which is the best available under interfered and/or congested wireless local area environment. Solutions exist for mitigating interference and congestion problems, at AP or device levels. For instance, for access points, solutions for dynamic channel switch of the BSS channel have been proposed, according to which on occurrence of interference/congestion over the serving channel, the AP switches to new and better operation channel if such one exists. The switch can be coordinated with its associated clients, using mechanisms such as described within the 802.11h standard for dynamic frequency selection (DFS), or not coordinated where the clients re-associate to the AP over the new operational channel.
For PtP connectivity, the Tunneled Direct Link Setup (TDLS) technology enables two devices to dynamically offload their connectivity to be over direct link instead of traversing via the AP, over same or different channel. It also defines mechanisms to switch to alternate channel over the direct established link.
Another device-to-device technology, WiFi-Direct, enables two devices to setup a direct link communication with the absence of AP, or when devices are not associated to same AP.
Unfortunately, all existing solutions present drawbacks. For access points solutions, the decision to switch the channel of the serving Basic Service Set (BSS) is taken as a global decision, not necessarily optimized for specific PtP session of two devices traversing via it. Also, AP solutions for dynamic channel selection cannot affect the route of an existing PtP session, for example, to offload the session route to be over direct link instead over AP route.
TDLS technology, also provides mechanisms for dynamically offloading a session from the AP route to direct link and to switch channel dynamically over a direct path, but does not provide the core algorithms required to take the transition decisions. These latter are left open for vendors to implement.
Moreover, such decision algorithms implementations are usually not optimized to specific sessions aspects such as:
As a result, the decision to move to a different operational mode may not be optimal. This, for instance, may include not taking a “look for alternate operational mode” action when required, delaying a decision to look for better alternative and/or moving to an alternative that is not the most suitable one. In such cases, the user experience might be degraded constantly or temporarily.
WiFi-Direct, although providing direct connectivity between devices, does not include support for dynamic channel switching over an existing direct connection. Moreover, it does not include an option to switch the session route to traverse via AP, when the session quality degradation over direct path requires it.
It is therefore clear that it would be highly desirable to provide better optimized PtP streaming solutions that dynamically select the best operational mode (channel and route) under interfered and congested network, and continuously ensures the best available quality of a streaming session.
It is an object of the present invention to provide a method that overcomes the drawbacks of the prior art and that allows an improved management of connection quality. Other advantages and objects of the invention will become apparent as the description proceeds.
The invention relates to a method for maintaining the best available quality of a connection between to wireless-enabled devices in a local wireless network, comprising providing:
According to one embodiment of the invention, during work on a specific channel/route, statistics/measurements are collected for every candidate operational mode (channel and/or route) from the application and WiFi driver (MAC/PHY) layers, and wherein said measurements are used to trigger a change. In another embodiment of the invention measurements and combinations thereof are gathered either on the sender side, or on the receiver side, or on both sides.
According to a further embodiment of the invention the channel selection criteria are based on a cost function. For example, the candidate session route can be via AP and the cost function is given by the following equations:
wherein:
The channel usage seen at the receiver
If current session route is via AP, channel usage shall not include the load from session over current channel.
The channel usage seen at the sender
If current route is via AP, channel usage shall not include the load from session over current channel.
The channel usage seen at AP
If current session route is via AP, channel usage shall not include the load from session over current channel.
In another embodiment of the invention the candidate channel is a D2D candidate and the cost function is given by the following equation:
where:
The channel usage seen at the receiver
If current session route is via D2D over this channel, channel usage shall not include the load from current channel.
The channel usage seen at the sender
If current session route is via D2D over this channel, channel usage shall not include the load from current channel.
In the drawings:
The invention provides a complete and comprehensive solution, which includes support for smart link tracking and channel selection algorithms taking into account the following aspects:
The invention provides pairwise algorithms for link tracking and wireless channel and route selection, for allowing optimal (i.e. least interfered) operating mode over available routes and channels. The decision of selecting the best connectivity between two near (i.e. radio range of each other) devices, as route and channel, is not a trivial task and involves different parameters, among others: received signal strength indicators, noise and interference over available channels and devices locations (i.e. interference domain), load/utilization over available channels, channel bandwidth available, coding and modulation capabilities, etc. The decision criterion for best connectivity assurance involves two major components:
Upon link tracking triggering, which occurs when degraded quality for the current route and channel is detected, for instance as a consequence of congestion or interference over channel, the channel selection component is responsible for identifying a better connectivity option. If such alternative is found, the channel selection triggers the system to migrate the session to the new connectivity option. The new connectivity option may involve a different operating channel and or/route.
Another important aspect is that the session continuation must be maintained while the session is transported between different channels and/or routes. This support is important for connection-oriented transport protocols such as TCP.
Focusing on asymmetric traffic applications between two wireless devices, such as video streaming and FTP session, we define a sender device (the session streaming source) and a receiver device (the session streaming destination). The determination of the identity of the sender and of the receiver device can be given as an input from the application, or can be done on the fly by the system, by sensing the byte stream direction from source to destination.
The traffic can be passed via different routes and different wireless channels between sender and receiver. For example, in a local network, as described in
The control information exchange between devices related to different subsystems modules solution can be carried over the AP route, or over a direct path, when such one is established.
The flowchart of
The capabilities discovery module plays a role as a serving module for other modules in the system, including link tracking, measurements and monitoring and channel selection modules. It is responsible for obtaining and managing the local and remote peers' capabilities as well as their current operational mode. Examples for capabilities parameters include supported frequencies, bands, operational channel (for AP), WiFi standard revision (802.11a/b/g/n/ac), etc.
The shared subset of capabilities of peer devices sharing a link determines the operation mode over that link. As a result, a session's route via AP may have different capabilities characteristics than session's route over direct single link. For example, if the AP supports only 802.11n standard capabilities and each of the devices supports 802.11ac standard capabilities, when the PtP session routes via AP, both links (sender device->AP, AP->receiver device) are enforced to work under the 802.11n standard. However, when the session routes over direct link between devices, 802.11ac standard capabilities can be used for the connection, with potentially added functionality (higher modulation rates, wider bandwidth, etc.).
The capabilities management includes functionality related to capabilities retrieval operations of local capabilities discovery, AP capabilities discovery and remote peer capabilities discovery.
The local capabilities can be retrieved during initialization from the WiFi driver.
The AP capabilities can be retrieved from the device's WiFi driver after association with the WiFi AP.
The remote peer capabilities can be retrieved during PtP session initialization phase as part of capabilities exchange operation, as schematically illustrated in
The capabilities negotiation includes a simple request-respond transaction between devices, in which each device advertises its local supported capabilities.
The Link Tracking and Triggering subsystem is responsible for monitoring the current operational mode's statistics/measurements. It triggers for channel/route reselection both when a session is active and inactive (but still connected). Tracking during inactivity of an existing PtP connection aims to ensure that when one will be started, the best available route and channel will be already assigned between PtP devices. For an active session, a trigger is initiated when application QoS and/or channel conditions are not satisfied. For an inactive session, a trigger is initiated when channel conditions are not satisfied.
The channel quality and application QoS can be affected by environmental changes, like non-stationary devices positions, obstacles, channel congestion and interference. The subsystem should detect an application performance degradation and automatically trigger channel reselection.
The link tracking system may also track multiple simultaneous sessions between the same peer devices, and trigger the system when one or more sessions' QoS demands do not satisfy.
During work on a specific channel/route, statistics/measurements are collected for the current operational mode from various layers: application, transport and driver (MAC/PHY) layers. The measurements collection from various layers aims to improve the performance of the link tracking algorithm, including reduction of false positives and shorter response time. Measurements may be different on sender and receiver sides according to their relevancy.
Different combinations of measurements can be gathered, depending of the current operational mode of the system (channel and route) and on application characteristics. Accordingly, different profiles for measurements collection can be defined. For example, a basic profile will include measurement retrieval from WiFi driver level only. Another example can be a profile for video streaming over TCP where measurements are collected from all layers. The elements of a system operating a link tracking, according to one embodiment of the invention, is schematically shown in
From the WiFi driver, measurements related to link and channel quality are monitored and collected, including indicators related to:
When session routes via AP, measurements are collected on both route links
(Sender device->AP, Receiver device->AP).
From the transport layer, measurements related to session quality are monitored and collected, including indicators relating to:
From the application layer, measurements related to session quality are monitored and collected, including indicators relating to:
The collected measurements are processed during the link assessment phase. Processing includes statistical calculations of indicators such as averaging, standard deviation, median, both for long term and short term time intervals.
When the session routes via AP, the monitoring of link quality on operational channel is done for two hops. The sender device tracks the sender-AP link and the receiver device tracks the AP-receiver link. When the session routes via direct path, the monitor of link quality on operational channel is done for sender-receiver link by either the sender or receiver devices.
If link tracking functionality is implemented in a single device, either the receiver device or receiver sender, measurements can be exchanged between devices.
Every predefined time interval, based on the most updated calculated data of measurements, a series of triggering criteria are checked. Triggering criteria includes the comparison of one, or combination or two or more of the calculated data related to predetermine thresholds.
Some triggering examples:
Triggering can be initiated from both the receiver and sender devices.
The set of checked triggering criteria can be different for different session routes and for different types and streaming characteristics of applications.
If one of the triggers occurs and enough time passed from previous trigger time, the channel reselection procedure is executed. Previous trigger time is checked in order to ensure minimum time between two triggering events—for decision reliability and to avoid zigzagging between two operational modes.
The channel selection module is responsible for obtaining the best operational channel and route for both initial and ongoing PtP session.
Two route alternatives are supported for selection; via AP and D2D:
The initial channel selection functionality includes the selection of an operational channel and route at new PtP session initiation phase.
The channel selection functionality can be activated over either receiver side or sender side or both, with the support of measurements obtained from both sides. In case of channel selection decision on a device, the peer device is being informed on the switching decision. The peer device than acknowledge the procedure.
If the channel selection functionality is implemented in a single device, either the receiver device or sender device, measurements can be exchanged between devices.
For ensuring fast convergence channel selection algorithm, the process of measurements parameters retrieval is being done as continuous background process, so that upon channel triggering, all required information for selection will be available.
During work on a specific channel/route, statistics/measurements are collected for every candidate operational mode (channel and/or route) from the application and WiFi driver (MAC/PHY) layers. Measurements may be different on sender and receiver sides, according to their relevancy. Different combination of measurements can be gathered depending of the current operational mode of the system (channel and route). This process is schematically illustrated in
From the WiFi driver, measurements related to link and channel quality are monitored and collected, including indicators relating to:
From the application layer, measurements related to session quality are being monitored and collected, including indicators relating to:
1. Required QoS—Initial required QoS indicators such as throughput, delay tolerance, etc.
The channel selection criteria are based on a cost function. The cost function value reflects the time required to send the same number of bytes over different candidate routes and channels between PtP devices. For session through AP, the cost function is calculated over the operational channel of the AP. For session over direct path, the cost function is calculated for every candidate operational channel.
For example, for a candidate session route via AP, the cost function can be given by the following equations:
The channel usage seen at the receiver
If current session route is via AP, channel usage shall not include the load from session over current channel.
The channel usage seen at the sender
If current route is via AP, channel usage shall not include the load from session over current channel.
The channel usage seen at AP
If current session route is via AP, channel usage shall not include the load from session over current channel.
For a D2D candidate, the cost function for a candidate channel can be given by the following equation:
The channel usage seen at the receiver
If current session route is via D2D over this channel, channel usage shall not include the load from current channel.
The channel usage seen at the sender
If current session route is via D2D over this channel, channel usage shall not include the load from current channel.
In order to normalize the channel usage over current operational mode (where the session currently traverse through) and other operational modes, the self-usage introduced by ongoing sessions shall be subtracted from the total channel usage measured over the current operational mode.
Upon triggering, the channel selection algorithm runs over every candidate channel and route and calculates the relevant cost function. The route and channel yielding the lowest cost function is selected as the next operational channel and route of the PtP session.
The following are possible channel selection outcomes:
The use of cost functions is well known in the art for a variety of uses and the skilled person will devise the appropriate cost function for a given purpose. Illustrative examples of the use of cost functions (also referred to in the literature as “rank”, “price”, etc., depending on the field of use) can be found, e.g., in Arunesh Mishra, Suman Banerjee and William Arbaugh, “Weighted Coloring based Channel Assignment for WLANs”, ACM SIGMOBILE Mobile Computing and Communications Review, Vol. 9, issue 3, pp. 19-31; Krishna N. Ramachandran, Elizabeth M. Belding, Kevin C. Almeroth and Milind M. Buddhikot, “Interference-Aware Channel Assignment in Multi-Radio Wireless Mesh Networks”, 2006 Proceedings IEEE Infocom; Bruno Kauffmann, Francois Baccelli, Augustin Chaintreau, Vivek Mhatre, Konstantina Papagiannaki and Christophe Diot, “Measurement-Based Self Organization of Interfering 802.11 Wireless Access Networks”, IEEE Infocom 2007 proceedings; and, Dusit Niyato and Ekram Hossain, “Cognitive Radio For Next Generation Wireless Networks: An Approach To Opportunistic Channel Selection In IEEE 802.11-Based Wireless Mesh”.
The invention may also exploit a continuity mechanism, such as the “IPIP tunneling” mechanism (http://en.wikipedia.org/wiki/IP_tunnel), in order to ensure session continuity. Such mechanisms enable to switch the actual operation's network interface without breaking live TCP session, thus ensuring session continuity.
As will be apparent to the skilled person, the invention provides a comprehensive method and system for optimizing PtP streaming sessions in interfered and congested local wireless area network. The system is composed of two core subsystems, namely the link tracking and channel selection, which are responsible for ensuring the best available user experience by dynamically switching between different operational systems routes and channels alternatives.