WO2016190961A2 - Techniques pour atténuer les effets indésirables d'interruptions de service de liaison sans fil - Google Patents

Techniques pour atténuer les effets indésirables d'interruptions de service de liaison sans fil Download PDF

Info

Publication number
WO2016190961A2
WO2016190961A2 PCT/US2016/025636 US2016025636W WO2016190961A2 WO 2016190961 A2 WO2016190961 A2 WO 2016190961A2 US 2016025636 W US2016025636 W US 2016025636W WO 2016190961 A2 WO2016190961 A2 WO 2016190961A2
Authority
WO
WIPO (PCT)
Prior art keywords
time period
wireless link
measurements
during
data
Prior art date
Application number
PCT/US2016/025636
Other languages
English (en)
Other versions
WO2016190961A3 (fr
Inventor
Stephen J. Tarsa
Hsiang-Tsung Kung
Original Assignee
President And Fellows Of Harvard College
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by President And Fellows Of Harvard College filed Critical President And Fellows Of Harvard College
Publication of WO2016190961A2 publication Critical patent/WO2016190961A2/fr
Publication of WO2016190961A3 publication Critical patent/WO2016190961A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0242Determining whether packet losses are due to overload or to deterioration of radio communication conditions

Definitions

  • aspects of the technology described herein relate to techniques for mitigating adverse effects of outages of wireless links in a wireless network. Some aspects relate to obtaining measurements of a wireless link, using the obtained measurements to determine whether the wireless link will experience an outage, and controlling transmission over the wireless link based on the determination.
  • Wireless links frequently experience temporary outages during which devices that use the wireless links either cannot transmit and/or receive data or can do so only at a significantly reduced rate. Any user who has accessed in-flight Wi-Fi, checked a smart phone on an elevator, or browsed the Internet on a train can attest to frustrating pockets of dismal throughput. Such disruptions may result from the changes in signal propagation that occur as users travel through complex environments with varying sources of multi-path reflection, varying distances to base stations, line-of-sight occlusions, and/or interference.
  • Some embodiments are directed to a device communicatively coupled to a network via a wireless link.
  • the device comprises at least one computer hardware processor; and at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform: obtaining a plurality of measurements of the wireless link during a first time period; generating a sparse representation of the plurality of measurements using one or more features in a dictionary including a plurality of features; determining whether a degraded state of the wireless link will occur in a second time period, the determining comprising predicting whether the degraded state of the wireless link will occur using the sparse representation of the plurality of measurements; and when it is determined that the degraded state of the wireless link will occur in the second time period, altering a manner in which data is transmitted by the device over the wireless link during the second time period.
  • Some embodiments are directed to a method to be performed by a device communicatively coupled to a network via a wireless link.
  • the method comprises using at least one computer hardware processor to perform: obtaining a plurality of
  • At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by a device communicatively coupled to a network via a wireless link, cause the device to perform a method comprising: obtaining a plurality of measurements of the wireless link during a first time period; generating a sparse representation of the plurality of measurements using one or more features in a dictionary including a plurality of features; determining whether a degraded state of the wireless link will occur in a second time period, the determining comprising predicting whether the degraded state of the wireless link will occur using the sparse representation of the plurality of measurements; and when it is determined that the degraded state of the wireless link will occur in the second time period, altering a manner in which data is transmitted by the device over the wireless link during the second time period.
  • FIG. 1A is a diagram of an illustrative environment in which some embodiments of the technology described herein may operate.
  • Fig. IB is a diagram illustrating time periods during which measurements of a wireless link are obtained and for which predictions of wireless link degradation may be made, in accordance with some embodiments of the technology described herein.
  • Fig. 2 is a flow chart of an illustrative process for controlling transmission of data over a wireless link at least in part by determining whether a degraded state of the wireless link will occur, in accordance with some embodiments of the technology described herein.
  • FIG. 3 is a block diagram of illustrative components of a computing device configured to execute the illustrative process of Fig. 2, in accordance with some embodiments of the technology described herein.
  • FIG. 4 is a block diagram of an illustrative computer system that may be used in implementing some embodiments of the technology described herein.
  • FIGs. 5A-5C illustrate some environments in which embodiments of the technology described herein may operate.
  • Fig. 6 illustrates features in a dictionary of features, in accordance with some embodiments of the technology described herein.
  • Fig. 7 illustrates a template of a wireless link state, in accordance with some embodiments of the technology described herein.
  • Fig. 8 is a diagram illustrating a relationship between gap detection sensitivity and realized TCP throughput, in accordance with some embodiments of the technology described herein.
  • Fig. 9 is a diagram illustrating a receiver operating characteristic (ROC) curve as a function of sparsity, in accordance with some embodiments of the technology described herein.
  • ROC receiver operating characteristic
  • Fig. 10 is a diagram illustrating applicability of wireless link primitives learned in one environment to predicting outage of wireless links in another
  • FIG. 11 is a diagram showing an illustrative link measurement protocol, in accordance with some embodiments of the technology described herein.
  • Fig. 12 is a diagram of an illustrative software architecture according to which some embodiments of the technology described herein may be implemented.
  • Fig. 13 is a diagram illustrating performance of some embodiments of the technology described herein.
  • Fig. 14 is a diagram illustrating the effect of increasing the probe interval on TCP throughput, in accordance with some embodiments of the technology described herein.
  • Fig. 15 is another diagram illustrating performance of some embodiments of the technology described herein.
  • Fig. 16 is a diagram illustrating the effect of utilizing some embodiments of the technology described herein on power consumption.
  • a temporary degradation of a state of a wireless link include, but are not limited to, a temporary outage of the wireless link, a temporary decrease in the signal-to-noise ratio signals transmitted over the wireless link, a temporary increase in distortion of one or multiple signals received over the wireless link, and/or a temporary decrease in the power of signals received over the wireless link.
  • Some embodiments of the technology described herein address some of the above-discussed drawbacks of conventional techniques for mitigating adverse effects of temporary wireless link degradations. However, not every embodiment addresses every one of these drawbacks, and some embodiments may not address any of them. As such, it should be appreciated that aspects of the technology described herein are not limited to addressing all or any of the above-discussed drawbacks of conventional techniques for mitigating adverse effects of temporary wireless link degradations.
  • some embodiments provide for online (e.g., real-time) techniques for mitigating adverse effects of temporary wireless network link
  • measurements of a wireless link are obtained and subsequently used to predict whether the wireless link will experience a degradation (e.g., an outage, increased distortion, and reduced power of received signals).
  • the manner in which data is transmitted and/or received may be controlled based on such a prediction.
  • the manner in which data is transmitted during the particular time period may be changed.
  • the amount of data transmitted during the particular time period may be reduced or no data may be transmitted at all during the particular time period.
  • the data not transmitted may be buffered and may be transmitted, subsequently, when the wireless link is predicted to not experience an outage.
  • temporary wireless link outages may be handled at the link layer by pre-empting transmissions that are unlikely to succeed.
  • redundant data which in some instances may be associated with error- correcting coding techniques, may be transmitted to mitigate degraded wireless link quality.
  • data may be transmitted using a higher transmission power to mitigate degraded wireless link quality. In this way, the techniques described herein reduce performance degradation caused when higher layer protocols react adversely to missing data as may be the case, for example, when the transmission control protocol (TCP) times out in a subway tunnel.
  • TCP transmission control protocol
  • a wireless link may be actively probed to obtain measurements of the wireless link during a first time period.
  • the measurements may be processed to obtain a representation of the measurements, which representation may be sparse, in some embodiments.
  • the representation of the measurements may be provided as input to a classifier to produce classifier output that may include a prediction of whether the wireless link will experience a degraded state (e.g., an outage or a period of low signal-to-noise ratio) during a subsequent second time period.
  • a degraded state e.g., an outage or a period of low signal-to-noise ratio
  • Fig. 1A is a diagram of an illustrative environment 100 in which some embodiments of the technology described herein may operate.
  • illustrative environment 100 includes a computing device 102 coupled to network 106 via a wireless link 104a over which computing device 102 may be configured to transmit and/or receive data.
  • Illustrative environment further includes computing device 108 coupled to network 106 via a wired link 104b over which computing device 108 may be configured to transmit and/or receive data.
  • computing device 102 may be a portable computing device such as, for example, a laptop computer, a smart phone, a PDA, a tablet device, a gaming console, sensor, and/or any other portable device that may be configured to transmit data to and/or receive data from a network.
  • computing device 102 may a fixed computing device such as, for example, a desktop, a server, a rack-mounted computing device and/or any other fixed computing device that may be configured to transmit data to and/or receive data from a network.
  • Computing device 108 may be any suitable computing device (e.g., a portable or a fixed device) that may be configured to transmit data to and/or received data from a network.
  • computing device 102 is shown as being connected via wireless link 104a to network 106, but in other embodiments, computing device may be connected to network 106 via a series of multiple links at least one of which is wireless. Still, in other embodiments, the technology described herein may be applied to mitigating effects of wired link degradations and, in such embodiments, computing device 102 may be connected to network 106 via (e.g., only) one or multiple wired links.
  • computing device 108 is shown as being connected to network 106 via wired link 104b in the illustrated embodiment, in other embodiments, computing device 108 may be connected to network 106 via a wireless link or any suitable combination of wired and wireless links, as aspects of the technology described herein are not limited in this respect.
  • Network 106 may be a local area network, a wide area network, a corporate Intranet, the Internet, a computer network, a cellular network, a telephone network, a circuit-switched network, a messaged- switched network, a packet- switched network, any/or any other suitable type of communication network.
  • Computing devices 102 may transmit and/or receive data over wireless link 104a using any suitable protocol(s).
  • computing device 102 may be configured to transmit and/or receive data over wireless link 104a in accordance with the transmission control protocol (TCP), sometimes termed the TCP/IP protocol.
  • TCP transmission control protocol
  • computing device 102 may be configured to transmit and/or receive data over wireless link 104a in accordance with a user datagram protocol (UDP).
  • UDP user datagram protocol
  • computing device 102 may be configured to transmit and/or receive data over wireless link 104a in accordance with any application layer protocol, transport layer protocol, internet layer protocol, and/or link layer protocol.
  • computing device 102 may be configured to transmit and/or receive data over wireless link 104a in accordance with any suitable specifications for wireless communication including, but not limited to, any specification in the 802.11 family of specifications.
  • wireless link 104a may experience one or more temporary degradations (e.g., outages, reduced signal to noise ratio, etc.) and computing device 102 may perform processing to mitigate the effects of such degradations on the transmission and/or reception of data over wireless link 104a.
  • temporary degradations e.g., outages, reduced signal to noise ratio, etc.
  • computing device 102 may obtain one or multiple measurements of the wireless link 104a during a first time period and determine, based on the obtained measurement(s), whether there will be a degradation of the wireless link in a second time period. Techniques for obtaining measurements of a wireless link and predicting whether there will be an outage of the wireless link based on the obtained measurements are described herein including with reference to Fig. 2.
  • computing device 102 may control the way in which it transmits and/or receives data over the wireless link 104a to mitigate adverse effects of the predicted degradation. For example, computing device 102 may reduce the amount of data transmitted during the second time period (e.g., relative to the amount of data that would have been transmitted during the second time period had no outage of the link during the second time period been predicted). As another example, computing device 102 may not transmit any data during the second time period. As another example, computing device 102 may repeatedly transmit at least some data to ensure their receipt.
  • computing device 102 may use more power transmit data during the second time period.
  • the data not transmitted may be buffered and may be transmitted at a later time (e.g., during a time period for which it is determined that the wireless link 104a is not likely to experience a
  • computing device 102 may obtain the
  • wireless link 104a by transmitting one or more probes (e.g., one or more transmissions, each transmission comprising one or more packets or other suitable units of data) and processing information received in response to the transmitting.
  • probes e.g., one or more transmissions, each transmission comprising one or more packets or other suitable units of data
  • computing device 102 may transmit multiple probes to computing device 108, and computing device 108 may transmit acknowledgements of their receipt to computing device 102. If computing device 102 receives an acknowledgement for each of the probes transmitted, then the computing device 102 may determine that all the transmitted probes have been received by computing device 108.
  • computing device 102 may determine which probes were received and which probes were not received and, on the basis of this information, determine if it is likely that a degraded state in the wireless link may occur. For example, computing device 102 may transmit a sequence of w probes to computing device 108 during a first time period and, during the same first time period, receive information from computing device 108 acknowledging receipt of at least some (e.g., all) of the w probes. Based on which of the w probes in the sequence were received by computing device 108 and which were not, computing device 102 may determine whether wireless link 104a may experience a degradation during an upcoming second time period.
  • computing device 102 may transmit a sequence of w probes to computing device 108 during a first time period and, during the same first time period, receive information from computing device 108 acknowledging receipt of at least some (e.g., all) of the w probes. Based on which of the w probes in the sequence were received by computing device 108 and which were not, computing device
  • computing device 102 may obtain one or more measurements of wireless link 104a during a first time period and predict, based on these measurements, whether the wireless link 104a will experience a degradation during the second time period. For example, as shown in Fig. IB, computing device 102 may obtain measurements of wireless link 104a during first time period 120 of duration di and use the obtained measurements to predict whether there will be a link degradation during the second time period 122 of duration d 2 . As another example, computing device 102 may obtain measurements of wireless link 104a during the second time period 122 and use the obtained measurements to predict whether there will be a link degradation during the third time period 124 of duration d 3 .
  • the duration of the time interval during which measurements of wireless link 104a are obtained may be of any suitable duration.
  • the duration of the first time period may be at least 10 milliseconds (ms) in some embodiments, at least 25 ms in some embodiments, at least 50ms in some embodiments, at least 100ms in some embodiments, between 10 and 200ms in some embodiments, between 50 and 150ms in some embodiments, between 75 and 125ms in some embodiments, or between any values or range of values within such ranges.
  • the measurements of wireless link 104a obtained during a first time period may be used to predict whether the link will experience a degradation (e.g., an outage, a reduction in signal to noise ratio, etc.), during a second time period, which second period may be of any suitable duration.
  • the duration of the second time period may be at least 10 milliseconds (ms) in some embodiments, at least 25 ms in some embodiments, at least 50ms in some embodiments, at least 100ms in some embodiments, between 10 and 200ms in some embodiments, between 50 and 150ms in some embodiments, between 75 and 125ms in some embodiments, or between any values or range of values within such ranges.
  • the duration of the first time period during which measurements of a wireless link 104a are obtained may be substantially the same as the duration of the second time period for which a prediction of link degradation is made based on the measurements during the first time period.
  • Two time periods may have substantially the same durations when the duration of the first time period differs from the duration of the second time period by less than a threshold percentage of the second time period (e.g., by less than 30% in some embodiments, by less than 25% in some embodiments, by less than 20% in some embodiments, by less than 15% in some embodiments, by less than 10% in some embodiments, by less than 5% in some embodiments, by less than 1% in some embodiments, by less than 0.05% in some embodiments, etc.).
  • the duration of the second time period may be the same as the duration of the second time period (e.g., both the first and second time periods may be 100ms, in some embodiments).
  • the first time period and the second time period may be non-overlapping.
  • the first time period 120 and the second time period 122 may be separated by a short time interval 126, which may be of any suitable length.
  • short time interval 126 may be no more than a threshold percentage of the duration of the second time interval (e.g., no more than 10%, no more than 5%, no more than 1 percent).
  • short time interval 126 may have a duration of 0- 5ms, 5- 10ms, 0-lOms, l-20ms, or between any values or range of values within such ranges.
  • the first and second time intervals may be adjacent such that the short time interval 126 has length 0ms.
  • Fig. 2 is a flow chart of an illustrative process 200 for controlling transmission of data over a wireless link at least in part by determining whether a degradation of the wireless link will occur, in accordance with some embodiments of the technology described herein.
  • Process 200 may be performed by any suitable computing device connected to a network using at least one wireless link.
  • process 200 may be performed by computing device 102 described above with reference to Fig. 1A.
  • Process 200 begins at act 202, where multiple measurements of a wireless link are obtained during a first time period.
  • the first time period may be of any suitable length, as described herein.
  • the number of measurements obtained during the first time period is configurable and may be set to any suitable number.
  • the number of measurements may be at least five, at least 10, at least 20, at least 50, between 10 and 100, between 5 and 200, between 10 and 30, between 10 and 50, or between any values or range of values within such ranges.
  • the number of measurements of the wireless link obtained at act 202 may be depend, at least in part, on the duration of the first time period.
  • the measurements may be made sequentially during the first time period and may be spaced apart from one another by a predetermined amount.
  • a measurement of the wireless link may be obtained for each period (e.g., 1ms period, 2ms period, 5ms period, 10ms period, etc.) during the first time period.
  • the first time period is, for example, 100ms
  • a measurement may be obtained every 5ms, on average, for a total of approximately 20 measurements.
  • measuring a wireless link may consume computing resources such as power of the device performing process 200 and/or bandwidth of the wireless link used by the device performing process 200 to transmit and/or receive data. Accordingly, strategies for reducing the number of measurements may be employed. For example, fewer measurements may be made of a wireless link that has not experienced a degradation for a threshold amount of time. As another example, fewer measurement may be made of a wireless link that has been "down" for a long period of time - only a few measurements may be made to determine whether any information may be received over the wireless link. These embodiments are described further below including in Section 5.1.1.
  • obtaining a measurement during act 202 may comprise transmitting a probe to another device by using the wireless link and determining whether the other device received the transmitted probe.
  • the device performing process 200 e.g., computing device 102
  • may determine whether another device e.g., computing device 108 received the probe when the device performing process 200 receives an acknowledgement of receipt from the other device, for example, within a specified window of time.
  • the acknowledgement may be in any suitable format, as aspects of the technology described herein are not limited in this respect.
  • the device performing process 200 may determine that the other device did not receive the probe when the device performing process 200 does not receive an acknowledgement of receipt from the other device, for example, within a specified window of time.
  • the measurement may comprise information indicating whether or not the other device received the probe.
  • the measurement may take on one value (e.g., 1 or any other suitable value) when the other device received the probe and a different value (e.g., 0 or any other suitable value) when the other device did not receive the probe.
  • a device may send a probe by transmitting one or more packets or other suitable units of data.
  • obtaining measurements of a wireless link during act 202 may comprise transmitting multiple probes over the wireless link and determining which of the transmitted probes were received. Making this determination may include processing information received, by the device performing process 200, from one or more other devices acknowledging that the other device(s) received at least some of the transmitted probes. Accordingly, the measurements may comprise information indicating which of the transmitted probes were received and which were not received. For example, the obtained sequence of measurements may be organized in a binary vector having an entry for each of the transmitted probes.
  • the entries in the binary vector that correspond to transmitted probes whose receipt was acknowledged may take one value (e.g., 1 or any other suitable value), and entries in the binary vector that correspond transmitted probes whose receipt was not acknowledged may take on a different value (e.g., 0 or any other suitable value).
  • the measurement vector "1101111101" may indicate that of the ten transmitted probes, all but the third and ninth probes were received.
  • a single sequence of measurements of a wireless link may be called a "trace.”
  • the measurements obtained during act 202 are not limited to taking on binary values.
  • a measurement could take on a value indicating the strength and/or phase of a signal (e.g., a signal indicating an acknowledgement of receipt of a transmitted probe) transmitted to the device performing process 200 by another device.
  • a measurement may be any of the types of measurements made in multiple input multiple output (MIMO) systems.
  • the measurements may be obtained by actively probing the wireless link (e.g. ,via sending out one or multiple probes), in other embodiments, the measurements may be obtained passively based on information, received over the wireless link, that is not provided in response to any probe(s) sent by the device performing process 200.
  • the computing device performing process 200 may determine whether the wireless link may experience a degraded state during a second time period. This determination is made in two steps. First, a sparse representation of the obtained measurements is generated at act 204, as described below. Second, at act 206, parameters of the sparse representation are used as inputs to a classifier to generate output indicating whether the wireless link is to experience a degradation during the second time period. [0056] Accordingly, after obtaining measurements of a wireless link at act 204, process 200 proceeds to act 204, where the obtained measurements of the wireless link are processed to obtain a representation of the measurements. The representation of the measurements may be a sparse representation.
  • the linear combination of dictionary features identified at act 204 does not include all of the dictionary features. Equivalently, some of the dictionary features may be associated with a weight of zero in the linear combination.
  • a dictionary may include m features, where m is an integer, and the linear combination of dictionary features may include only k features having a non-zero weight, where k is an integer smaller than m.
  • the number of dictionary features used in a linear representation of the measurements obtained at act 202 is smaller than or equal to a specified percentage of features in the dictionary of features.
  • the number of dictionary of features may be smaller than or equal to 20% of features in the dictionary of features.
  • the number of dictionary of features may be smaller than or equal to 15% of features in the dictionary of features.
  • the number of dictionary of features may be smaller than or equal to 10% of features in the dictionary of features.
  • the number of dictionary of features may be smaller than or equal to 5% of features in the dictionary of features.
  • the number of dictionary of features may be smaller than or equal to 1% of features in the dictionary of features.
  • the number of dictionary of features may be smaller than or equal to 0.5% of features in the dictionary of features.
  • the number of dictionary of features may be set to be smaller than or equal to a fixed number of features.
  • the number of dictionary features may be set to be smaller than or equal to any number in the range of 1-25 features.
  • a single dictionary feature may be used.
  • a set of measurements may be represented as a linear combination of a small number of dictionary features
  • the particular dictionary features used in the linear representation are determined based on the measurements themselves. For example, two different sets of measurements may each be represented by a respective linear combination of five dictionary features but the dictionary features used in these linear combinations may be different from each other.
  • measurements may include determining weights for one or multiple dictionary features at least in part by solving a convex optimization problem, or approximating the solution to a non-convex optimization problem.
  • identifying the linear representation may involve identifying a set of weights that minimize a quadratic objective function subject to a sparsity constraint on the weights themselves.
  • the m x 1 vector of weights a may be found by approximating the following non-convex optimization problem:
  • k a hard sparsity threshold contraining the number of features used in the linear represntation of the measurements x to be smaller than or equal to k.
  • the unary operators II ⁇ ll 2 and II ⁇ Ho represent the £ 2 and to norms, respectively.
  • This optimization problem may be solved using any of a variety of techniques and, in some embodiments, may be solved using a Matching Pursuit technique using a series of inner- product tests that iteratively (and greedly) select k features to reduce a residual.
  • the computational complexity of such a matching pursuit technique is O(mw), which is sufficiently small that it may be performed in real-time on a mobile device (e.g., a mobile device performing process 200).
  • the resulting weights a constitute a sparse
  • the dictionary of features D may be obtained by analyzing previously-obtained sets measurements of one or multiple wireless links. Multiple sequences of measurements (traces) may be obtained for each of one or multiple wireless links and processed to identify dictionary features. For example, the dictionary of features may be obtained by processing M traces of one or multiple wireless links to identify m dictionary features, where m is smaller than M.
  • the measurements may be of any suitable type including, for example, any of the types of measurements described above with reference to act 202 of proces 200.
  • the dictionary features may represent the most prominent and/or frequently occuring patterns of wireless link states captured by the traces. The process of using traces of one or multiple links to identify dictionary features may be called "dictionary training."
  • the traces used for dictionary training may be obtained from one or multiple links.
  • the dictionary training may be performed at least in part by using traces obtained using the wireless link for which measurements were obtained at act 202, but this is not a limitation of the techniques described herein.
  • the dictionary training may be performed without using any traces obtained using the wireless link for which
  • traces of one set of one or more wireless links may be used to effectively represent prominent and/or frequently occuring patterns of wireless link states for other wireless links not in the set.
  • traces of wireless links in one environment e.g., an urban environment
  • another enviornment e.g., an indoor environment
  • a single dictionary D may be obtained for use as part of process 200 (specifically, as part of act 204 of process 200) for controlling transmission of data over any suitable wireless link.
  • different dictionaries may be obtained for wireless links occurring in different environments. For example, one dictionary of features may be used for predicting outages of wireless links in indoor environments and another dictionary of features may be used for predicting outages of wireless links in rural outdoor environments.
  • the dictionary of features may be obtained prior to process 200 being performed.
  • the dictionary of features may be obtained during performance of process 200, but prior to completion of performance of act 204 during which the dictionary is used to obtain a sparse representation of the wireless link measurements obtained at act 202.
  • a dictionary D of w x m features may be learned from a set of traces using an optimization technique called the Least Absolute Shrinkage and Selection Operator (LASSO) technique.
  • LASSO Least Absolute Shrinkage and Selection Operator
  • the parameters m i.e., the number of dictionary features
  • a small penalty parameter e.g., m ⁇ 200 and ⁇ ⁇ 0.1
  • process 200 proceeds to act 206, where the obtained sparse representation is used to determine whether the wireless link will experience a degradation during a second time period at act 206.
  • first and second time periods are provided herein.
  • the sparse representation of the wireless link measurements obtained at act 202 may be applied as input to a classifier (or multiple classifiers) to obtain classifier output and obtaining, based on the classifier output, a prediction of whether a degradation of the wireless link will occur in the second time period.
  • the classifier may be a binary classifier configured to produce one of two posisble outputs in response to input - one output indicating that, based on the input, a degradation is predicted in the second time period, and another ouput indicating that, based on the input, a degradation is not predicted in the second time period.
  • the classifier need not be a binary classifier and may be a multi-class classifier or may constitute one or multiple one-class classifiers (e.g., one or more one-class classifiers).
  • a classifier's output may be associated with a confidence value.
  • applying the sparse representation (e.g., the vector of weights a) obtained at act 204 to a classifier may produce classifier output including a prediction that a degradation of the wireless link will occur during the second time period will occur during the second time period and a confidence value associated with that prediction.
  • the classifier's prediction of whether a degradation will occur may be used to determine (e.g., make a decision for purposes of processing) whether a degradation of the wireless link will take place during the second time period. For example, in some embodiments, it may be determined that a degradation will occur during the second time period when the classifier predicts such a degradation to occur. As another example, in some embodiments, it may be determined that a degradation will occur during the second time period when the classifier predicts such a degradation will occur with at least a threshold confidence value. In this way, the predictions of the classifier will be used only if they are made with a sufficient confidence.
  • the classifier used at act 206 may be a support vector machine (SVM) classifier.
  • the classifier may comprise a linear classifier (e.g., the naive Bayes classifier, a perceptron classifier, a logistic regression classifer).
  • the classifier may be a decision tree classifier.
  • the classifier may be a neural network classifier.
  • the classifier used at act 206 may be trained to predict whether a degradation will occur during a second time period based on input consisting of a sparse representation of wireless link measurements obtained during a first time period.
  • the classifier may be trained to predict occurrence of any suitable type of degradation during the second time period based on the input. For example, the classifier may be trained to predict whether the number of transmission failures during the second time period exceeds a specified number of failures (e.g., more than zero failures, more than one failure, more than two failures, more than five failures, more than ten failures, etc.). As another example, the classifier may be trained to predict whether the number of consecutive transmission failures during the second period exceeds a specified number of failures.
  • the classifier may be trained to predict whether the number of failures (e.g., consecutive failures) may fall in a specified range (e.g., between one and five failures, between five and 15 failure, between 1 and 30 failures, or any other range within such ranges). As yet another example, the classifier may be trained to predict whether the signal to noise ratio will fall below a threshold for at least a portion of the second time period.
  • the classifier used at act 206 may be trained using previously obtained traces of one or multiple wireless links.
  • the classifier may be trained using a supervised training technique.
  • the classifier may be trained using a set of all previously obtained traces or a subset of the previously obtained traces.
  • a classifier may be trained using traces obtained in a particular environment.
  • the classifier may be trained using traces obtained using traces obtained by a particular device.
  • the classifier may be trained using only traces previousy obtained for the wireless link that was measured at act 202.
  • the classifier may be trained using traces obtained for the wireless link that was measured at act 202 and one or more other wireless links.
  • the classifier may be trained using only those traces that were obtained for wireless links other than the link measured at act 202 of process 200. Aspects of how to train a classifer used at act 206 are desribed below including in Section 4.2.
  • process 200 proceeds to decision block 208, where different processing may be performed based on the determination made at act 206.
  • decision block 208 when it is determined that a degradation of the wireless link will occur during the second time period, process 200 proceeds to act 210, where the amount of data transmitted during the second time period is reduced. This may be done in any suitable way. For example, a smaller amount of data may be sent than would have been sent during the second time period had no degradation been predicted for the second time period. As another example, no data may be transmitted during the second time period (though the device performing process 200 may, in some embodiments, continue to measure the wireless link even if no other data is being transmitted).
  • the data not transmitted during the second time period may be buffered and may be transmitted at a later time (e.g., during a time period for which it is determined that the wireless link will not experience an outage).
  • one or more alternative actions may be taken. For example, in some embodiments, a greater amount of power may be used to transmit data during the second time period. As another example, in some embodiments, data may be transmitted with a greater amount of redundancy than would have been used had no degradation been predicted for the second time period. This may be done in any suitable way, for example, by using an error correcting code, as aspects of the technology described herein are not limited in this respect.
  • process 200 proceeds to act 212, where the device performing process 200 continues to transmit and/or receive data during the second time period. Additionally or alternatively, in some embodiments, data buffered during one or more earlier time periods (e.g., during which a degradation of the wireless link was predicted) may be transmitted at act 212.
  • process 200 After performance of act 210 or act 212, process 200 returns to act 202 and continues monitoring the wireless link by obtaining measurements of the link and using those measurements to determine whether there will be a degraded state in the wireless link during another period of time.
  • FIG. 3 is a block diagram of illustrative components of a computing device
  • FIG. 300 (which may be computing device 102), in some embodiments, configured to execute the illustrative process 200 of Fig. 2, in accordance with some embodiments of the technology described herein.
  • Each of the components illustrated in Fig. 3 is configured to perform one or more functions, which are described below, and may include processor- executable instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform the function(s). It should be appreciated that the components shown in Fig. 3 are illustrative and that, in other embodiments, computing device may include one or more other components in addition to or instead of the components illustrated in Fig. 3.
  • computing device 300 includes one or more network applications 302, which may include one or multiple software application programs and/or operating systems configured to transmit and/or receive data via a network.
  • network applications 302 may include one or more application programs configured to communicate with one or more other external devices external to device 300 via the TCP/IP protocol and/or any other suitable protocol(s).
  • transmission of data by a network application 302 and/or receipt of data by the network application 302 may be controlled by data controller 304.
  • Data controller 304 may determine whether data from network application 302 may be transmitted during a particular time period. Data controller 304 may make such a determination based on information indicating whether a degradation is predicted to occur during the particular time period in a wireless link via which device 300 is communicatively coupled to the network.
  • data controller 304 determines that data from the network application is to be transmitted during a particular time period, data controller transmits the data to a network via network interface 308.
  • the data controller 304 determines that at least some (e.g., all) of the data from the network application is not to be transmitted during a particular time period, the data not transmitted may be buffered using data buffer 306 instead of being transmitted.
  • data controller 304 may obtain information indicating whether a degradation is predicted to occur during the particular time period from controller 310.
  • Controller 310 may include a link measurement module 312 and a link state prediction module 314.
  • Link measurement module 312 may be configured to obtain, during a first time period, one or more measurements of a wireless link via which device 300 is communicatively coupled to a network and link state prediction module 314 may be configured to predict, based on measurements obtained by link measurement module 312, whether a degradation will occur in the wireless link during a second time period.
  • Controller 310 may then provide this prediction to data controller 304, which may determine, based on the provided prediction, whether to reduce the amount of data being transmitted in the second time period over the wireless link, transmit data a higher power during the second time period, transmit data with a greater redundancy during the time period, not transmit data during the second time period over the wireless link, or continue transmitting data during the second time period.
  • link measurement module 312 may obtain measurements of the wireless link during a first time period in any suitable way including in any of the ways described herein with reference to act 202 of process 200. For example, link measurement module 312 may transmit one or more probes via network interface 308 and receive information acknowledging receipt of the transmitted probe(s) via the network interface. Based on such measurements, link state prediction module 314 may predict whether the wireless link will experience a degradation during the second time period. The link state prediction module 314 may make this prediction in any suitable way including in any of the ways described with reference to acts 204 and 206 of process 200.
  • link state prediction module 314 may generate a sparse representation of measurements obtained by link measurement module 312, provide the sparse representation as input to a classifier and to obtain output from the classifier that may provide a prediction (and, optionally, a confidence value associated with the prediction) of whether the wireless link will experience a degradation during the second time period.
  • the prediction and, optionally, confidence value may be provided in turn to data controller 304, which may determine whether the wireless link will experience a degradation based on the provided information.
  • the computer system 400 may include one or more computer hardware processors 410 and one or more articles of manufacture that comprise non-transitory computer-readable storage media (e.g., memory 420 and one or more non- volatile storage devices 430).
  • the processor 410(s) may control writing data to and reading data from the memory 420 and the non-volatile storage device(s) 430 in any suitable manner.
  • the processor(s) 410 may execute one or more processor-executable instructions stored in one or more non-transitory computer-readable storage media (e.g., the memory 420), which may serve as non- transitory computer-readable storage media storing processor-executable instructions for execution by the processor(s) 410.
  • non-transitory computer-readable storage media e.g., the memory 420
  • Some embodiments provide for a State- Informed Link-Layer Queuing
  • SILQ system that uses data-driven learning to mitigate the destabilizing effects of wireless link loss.
  • SILQ predicts link state at, for example, the 100ms time- scale to anticipate temporary outages and buffer packets accordingly. Real-time predictions may be made by actively probing links, matching the resulting measurement sequences to an (e.g., overcomplete) dictionary of prominent patterns learned offline, and then classifying these sparse feature vectors to determine if they precede an outage.
  • SILQ reduces performance degradation caused when higher layers of the network stack react adversely to missing packets, for instance when TCP times out in a subway tunnel.
  • SILQ does not break connections in the middle of the network or modify transport protocols.
  • SILQ's prediction model represents the state of a wireless link as a linear combination of a few canonical packet-loss patterns, called features. This sparse linear model cuts away noise and restores missing data to improve statistical accuracy in the face of real-world data variations. More-stable feature vectors can then be classified with a linear Support Vector Machine (SVM) or any other suitable classifier to identify outages. This technique produces stable predictions looking further ahead in time than standard techniques like regression. We demonstrate that this noise-, variation-, and deletion-tolerant model is computationally simple to allow for real-time operation on mobile devices, and also supports the design flexibility to trade prediction accuracy for bandwidth and power improvements.
  • SVM Support Vector Machine
  • Training data consists of UDP packet receptions recorded in three scenarios:
  • UAV Unmanned Aerial Vehicle
  • transmitters and receivers are all off-the-shelf mobile devices.
  • 802.11 measurements in the UAV and indoor office scenarios we use an array of laptops, Mobile Internet Devices (MIDs), and BeagleBone Blacks depending on weight, power, and portability restrictions.
  • MIDs Mobile Internet Devices
  • BeagleBone Blacks depending on weight, power, and portability restrictions.
  • Each accesses the wireless medium using a T- Link TL-WN727 USB dongle, and we disable hardware retransmissions by sending packets in broadcast mode.
  • T- Link TL-WN727 USB dongle we disable hardware retransmissions by sending packets in broadcast mode.
  • For subway experiments we access the 3G cellular network with an Android smartphone or by tethering nodes to an Apple iPhone 6. In this case, we cannot disable ARQ with cell towers, though the effect is constant throughout data.
  • FIG. 5A shows a UAV's flight path over fields and farmland in upstate New York.
  • Ground receivers are placed in three locations to capture the link characteristics of an open field, dense forest, and parking lot with surrounding ground structures.
  • Autopilot maintains a consistent flight path to within 15m across laps, while keeping altitude steady at 100m and velocity at 20m/s.
  • the property spans forest and farmland, contains fewer than 50 ground structures or cars at any time, and is free of 802.11 interference. Data collection is conducted over 802.11b with a single broadcast transmitter attached face-down to the UAV's wing.
  • Ground structure nodes are placed in a parking lot partially surrounded by several 5m-tall metal buildings. Between 4 and 6 cars are parked within 10m of nodes, and vehicle positions change across flights. These structures create line-of-sight occlusions and multipath reflections that affect packet delivery depending on geometry and UAV position.
  • FIG. 5B shows a walking tour throughout an active office. Links are attenuated by concrete and brick, and obstructed by fire-proof doors and an elevator car.
  • a user carries a laptop throughout an office building while transmitting data to an 802.11 access point in a second-floor office. For each experiment, the user repeats a walking tour that crosses a footbridge to a nearby building and then returns for an elevator ride down three floors to the basement.
  • FIG. 5C shows packet loss rates over a 3G cellular network are shown on the subway in Boston, MA.
  • Temporary dead zones in tunnels cause connection timeouts that leave links under-utilized, even when the train comes above-ground.
  • a user travels between Cambridge and Boston, MA in a train car that passes both below and above ground. Train speed varies depending on track conditions, and precise positioning is unknown within tunnels.
  • the user transmits data from a mobile device to a server accessed via a first-hop 3G cellular connection and subsequent hops over wired Internet.
  • round trip delays average 150ms and fluctuate within a manageable distribution. Queuing delays cause UDP probe packets to arrive in bursts of roughly consistent length and spacing.
  • link models typically reflect two approaches: physical models that use signal propagation to explain packet loss, and data-driven models that mathematically capture those effects with statistics like correlation between packet receptions. Though physics-driven methods are intuitive, they require detailed environment- specific information as inputs. On the other hand, generic data-driven models can require training datasets that grow exponentially with temporal scale.
  • location information is generally a poor predictor of individual packet losses. For example, we observe in our UAV experiments that slight changes to antenna orientation drive major swings in link loss. We also see that the location of a single car close to ground-structure nodes causes drastic changes in packet loss behavior due to multipath reflection. Indoors, we see that loss characteristics change when doors are closed or metal objects are moved within offices. And in the subway, location information is not even available once the train descends underground. For these reasons, we eschew location information, in some embodiments, in pursuit of a more accurate, general packet loss model.
  • Sparse coding is an unsupervised clustering method that solves for an overcomplete matrix of recurring patterns in training data.
  • matrix a dictionary and its column vectors features.
  • a data vector may be approximated as a linear combination of features in the dictionary.
  • approximations are represented by sparse coefficient vectors with only a few non-zero entries.
  • sparse approximations latch measurements to exemplar patterns, truncating weakly expressed information and restoring missing values. This process improves variation-tolerance in subsequent statistical analysis.
  • D is a wX m dictionary containing m features of length w
  • x a normalized binary measurement vector representing the outcomes of w back-to-back probe transmissions, its sparse feature representation, and ⁇ a tunable positive value.
  • a small penalty parameter e.g. m ⁇ 200 and ⁇ ⁇ 0.1 ⁇ men
  • Subway atoms reflect the same general shapes, but prominently exhibit regular lOms-long oscillations in delivery. According to log files, average probe inter- arrival times over the 3G network display 10ms bursts of back-to-back deliveries, likely due to queueing delays. This means that unsupervised learning captures primitives reflecting both wireless-link and network effects.
  • sparse feature models may be configured either to match link states to a single template, or to express them as linear combinations of primitives.
  • Figure 7 illustrates a link-state templated learned from subway data. The effects of link loss and bursts due to network delays are captured together, contrasting with Figure 6, where they are separated into different primitives.
  • Figure 8 illustrates this relationship in the context of an outage predictor and TCP throughput.
  • Figure 8 illustrates the effect of outage detection sensitivity on TCP. Detectors that forward data aggressively run a high risk of timeout. Those that forward conservatively rarely time out, but often under-utilize the link.
  • Figure 9 we show the empirical effect that prediction sensitivity has on throughput, measured in our indoor office scenario with the methodology of Section 6.2.
  • Figure 9 shows throhgouput at various points on the outage detector's receiver operating characteristic (ROC) profile, empirically demonstrating the relationship described in Fig. 8 in our indoor office scenario.
  • ROC receiver operating characteristic
  • training paramters such as encoding sparsity k affect the ROC profile of the outage detector.
  • aggressive models achieve poor average throughput with a high standard deviation - while they opportunistically grab all available sending opportunities, they also often time out and cause throughput to drop to zero for a long period of time.
  • TCP throughput should maximize correct outage predictions while ensuring plenty of sending opportunities. We implement this by choosing the model that maximizes outage recall, provided non-outage (i.e. sending opportunity) recall is above a threshold of 0.75.
  • link-state primitives may be unique to a particular
  • Section 4.1 showed that similar features are found among scenarios.
  • Figure 10 we learn primitives from a single scenario and use them to compute sparse feature representations and train outage predictors in a different scenario.
  • Figure 10 illustrates that outage-prediction recall is reported when dictionary primitives are learned in one scenario and applied in another. This establishes that learned link primitives are often universal across environments and networks.
  • SILQ nodes each measure their outgoing links by transmitting UDP probes at a regular interval. Reception reports are then bounced back to senders, piggybacked on probes traveling in the opposite direction. After a regular measurement interval (100ms for all results in this document), each SILQ node computes a link prediction using the prior w measurements. If an outage is predicted, SILQ holds all data packets at the link layer until a new prediction indicates otherwise.
  • measurement protocol piggybacks reception reports containing a bitmap of incoming probe receptions on outgoing probes. Senders use estimated round- trip-time ⁇ RTT to detect lost reception reports.
  • Nodes maintain a bitmap marking the last w incoming probes relative to the most recent, denoted ⁇ e ⁇ in .
  • An arriving probe's sequence number is compared against ⁇ e Q ⁇ » to detect delivery failures before updating ⁇ n t an( j ⁇ e( l m Qur UDP probes use 69B to carry a reception report consisting of as a 3B bitmap and
  • Nodes also maintain a round-trip-time estimate to detect lost reception reports. For example, if ⁇ out ⁇ probes are sent and only the first report successfully bounces back, the sender must compute how many reports should have
  • T is means that bi-directional probing captures asymmetric link effects, except when all reception reports are lost at the end of an interval. In this case, we make the conservative assumption that the link is off in both d RTT
  • Probing consumes both power and network bandwidth, resources that must be balanced against measurement fidelity. For example, in Section 6, Figures 14 and 15 show us that sending 20 probes per 100ms consumes 22% of bandwidth for a 1Mbps link and 9% additional battery for a laptop with a power-hungry USB radio.
  • Min is the minimum number of packets that must be delivered to maintain the connection
  • ⁇ SIL ⁇ 3 is the current send-queue size
  • ⁇ TX is the transmission time of an MTU data packet
  • ⁇ RTT is the time needed for a full link report to bounce back.
  • TCP uses a triple-duplicate- ACK to trigger fast recovery, so we set
  • Case 2 Bad-to-Good Transition When the link is unavailable, we can save power by turning the wireless radio off and waking periodically to check link status.
  • SILQ's software architecture is shown in Figure 12. As shown, in this illustrative embodiment, the SILQ architecture includes of logically separated data and control channels that isolate link measurement protocols from data forwarding protocols. In our testbed, both access the same wireless medium using the same interface.
  • Loss Rate Threshold For all but the NO_OP FSM, trivial all-0 measurement vectors always predict outage, and trivial all-1 measurement vectors predict no-outage.
  • Loss Rate Threshold and Heuristic Hold we use a "conservative" parameter to require back-to-back no-outage predictions before turning a bad link back on. This stabilization procedure is needed for loss-rate and heuristic predictors to achieve any throughput gains in the field. In contrast, we optimize the sparse coding FSM for stable prediction using the statistical methods of Section 4.2.
  • SILQ's optimal, aggressive, and conservative forwarders behave as anticipated, and TCP connections wake up quickly with SILQ.
  • Figure 13 shows a closer look at SILQ's performance over example runs in the indoor office. For reference, we plot link loss against the right axis. When appropriate, SILQ's link state predictions are shown at the top of a plot, with pink marker indicating that the link is predicted to be on, and whitespace showing a predicted outage. TCP throughput is plotted against the left axis.
  • Figure 15 compares raw TCP to SILQ with a sparse coding predictor over subway rides between the Harvard Square and Charles-MGH stops. Note that Figure 15(a) represents an inbound trip from Harvard to Charles-MGH, and Figure 15(b) represents an outbound trip between the two stops in the opposite order. While a raw TCP connection times out for minutes at a time, SILQ utilizes nearly every available sending window and improves throughput by 4x over a six minute train ride. Figure 15 shows a comparison of a raw TCP connection to TCP atop SILQ using predictions from a sparse-coding link model during inbound and outbound subway rides. Over a 3G cellular network, raw TCP times out quickly and misses many sending opportunities. With SILQ, timeout is avoided and throughput increases by 4x.
  • Figure 16 shows SILQ's power consumption for each device.
  • our steady- state sleep mode reduces power consumption to 4% and 5% above an active data connection, depending on device. This method forgoes predictions when the link is in a steady-state.
  • lower probe rates reduce SILQ's power overhead significantly - for example, by 14% on the laptop and 6% on the phone when we drop from 20 to 14 probes per 100ms.
  • our method only costs an additional 4% and 5% per device, utltimately for a 2-4x boost in throughput.
  • program or “software” are used herein in a generic sense to refer to any type of computer code or set of processor-executable instructions that can be employed to program a computer or other processor (physical or virtual) to implement various aspects of embodiments as discussed above. Additionally, according to one aspect, one or more computer programs that when executed perform methods of the disclosure provided herein need not reside on a single computer or processor, but may be distributed in a modular fashion among different computers or processors to implement various aspects of the disclosure provided herein.
  • Processor-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • functionality of the program modules may be combined or distributed.
  • data structures may be stored in one or more non-transitory computer-readable storage media in any suitable form.
  • data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a non-transitory computer-readable medium that convey relationship between the fields.
  • any suitable mechanism may be used to establish relationships among information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationships among data elements.
  • inventive concepts may be embodied as one or more processes, of which examples have been provided.
  • the acts performed as part of each process may be ordered in any suitable way.
  • embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
  • the phrase "at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements.
  • This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase "at least one" refers, whether related or unrelated to those elements specifically identified.
  • At least one of A and B can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements) ;etc.
  • a reference to "A and/or B", when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.

Abstract

L'invention concerne un dispositif couplé à un réseau, de manière pouvoir communiquer, par l'intermédiaire d'une liaison sans fil. Le dispositif est configuré pour effectuer les opérations suivantes consistant à : obtenir une pluralité de mesures de la liaison sans fil pendant une première période de temps ; réaliser une représentation clairsemée de la pluralité de mesures au moyen d'une ou de plusieurs caractéristiques dans un dictionnaire comprenant une pluralité de caractéristiques ; déterminer si un état dégradé de la liaison sans fil va se produire pendant une seconde période de temps, ladite détermination consistant à prédire si l'état dégradé de la liaison sans fil va se produire au moyen de la représentation clairsemée de la pluralité de mesures ; et lorsqu'il est déterminé que l'état dégradé de la liaison sans fil va se produire pendant la seconde période de temps, modifier la façon dont les données sont transmises par le dispositif sur la liaison sans fil pendant la seconde période de temps.
PCT/US2016/025636 2015-04-03 2016-04-01 Techniques pour atténuer les effets indésirables d'interruptions de service de liaison sans fil WO2016190961A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562142683P 2015-04-03 2015-04-03
US62/142,683 2015-04-03

Publications (2)

Publication Number Publication Date
WO2016190961A2 true WO2016190961A2 (fr) 2016-12-01
WO2016190961A3 WO2016190961A3 (fr) 2017-02-23

Family

ID=57393545

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/025636 WO2016190961A2 (fr) 2015-04-03 2016-04-01 Techniques pour atténuer les effets indésirables d'interruptions de service de liaison sans fil

Country Status (1)

Country Link
WO (1) WO2016190961A2 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019165146A1 (fr) * 2018-02-22 2019-08-29 Collinear Networks, Inc. Liaison sans fil hybride utilisant une communication optique en espace libre, une communication radiofréquence et une commutation intelligente de trame et de paquet
CN113518014A (zh) * 2020-04-10 2021-10-19 华为技术有限公司 一种数据传输方法以及通信设备
EP3877964A4 (fr) * 2018-11-09 2022-08-03 Scania CV AB Réduction au minimum du temps d'arrêt de communication perçu destiné à un groupe de véhicules
WO2023024507A1 (fr) * 2021-08-23 2023-03-02 中兴通讯股份有限公司 Procédé et appareil de traitement audio, terminal et support d'enregistrement lisible par ordinateur

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231559B2 (en) * 2003-12-17 2007-06-12 Sony Corporation Outage predictor for communication link
US7907919B2 (en) * 2006-02-24 2011-03-15 Sony Corporation Predicting future changes to strengths of paths in MIMO systems
US8693597B2 (en) * 2008-12-12 2014-04-08 Blackberry Limited Sensor-based wireless communication systems using compressive sampling
US9084036B2 (en) * 2011-05-17 2015-07-14 Alcatel Lucent Signal source localization using compressive measurements
US9177215B2 (en) * 2012-04-10 2015-11-03 International Business Machines Corporation Sparse representation for dynamic sensor networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019165146A1 (fr) * 2018-02-22 2019-08-29 Collinear Networks, Inc. Liaison sans fil hybride utilisant une communication optique en espace libre, une communication radiofréquence et une commutation intelligente de trame et de paquet
EP3877964A4 (fr) * 2018-11-09 2022-08-03 Scania CV AB Réduction au minimum du temps d'arrêt de communication perçu destiné à un groupe de véhicules
CN113518014A (zh) * 2020-04-10 2021-10-19 华为技术有限公司 一种数据传输方法以及通信设备
WO2023024507A1 (fr) * 2021-08-23 2023-03-02 中兴通讯股份有限公司 Procédé et appareil de traitement audio, terminal et support d'enregistrement lisible par ordinateur

Also Published As

Publication number Publication date
WO2016190961A3 (fr) 2017-02-23

Similar Documents

Publication Publication Date Title
Samir et al. Online altitude control and scheduling policy for minimizing AoI in UAV-assisted IoT wireless networks
US11665576B2 (en) Systems and methods for wireless low latency traffic scheduler
EP3857818B1 (fr) Auto-optimisation de réseau radio basée sur des données provenant d'un réseau radio et de capteurs spatiotemporels
Baltaci et al. A survey of wireless networks for future aerial communications (FACOM)
CN107409075B (zh) 用于网络时间序列数据的自适应的基于异常检测的预测器
WO2016190961A2 (fr) Techniques pour atténuer les effets indésirables d'interruptions de service de liaison sans fil
US20070253341A1 (en) Method and apparatus for identifying network connectivity changes in dynamic networks
Na et al. DL-TCP: Deep learning-based transmission control protocol for disaster 5G mmWave networks
CN112789827B (zh) 关联和存储来自无线电网络和时空传感器的数据
Grekhov et al. RPAS communication channels based on WCDMA 3GPP standard
Singh et al. MOTH-Mobility-induced Outages in THz: A beyond 5G (B5G) application
Donatti et al. Radio frequency spoofing system to take over law-breaking drones
Tarsa et al. Taming wireless fluctuations by predictive queuing using a sparse-coding link-state model
WO2015001166A1 (fr) Procédé et appareil de commutation des communications depuis un premier canal vers un deuxième canal de fréquence plus élevée
Slimane et al. A light boosting-based ml model for detecting deceptive jamming attacks on uavs
US11140595B2 (en) Rapid picocell switching for wireless transit networks
Kung et al. A location-dependent runs-and-gaps model for predicting TCP performance over a UAV wireless channel
US11075689B1 (en) Satellite data transmission clustering with dynamic clusters
He et al. Intelligent Terahertz Medium Access Control (MAC) for Highly Dynamic Airborne Networks
Hoeft et al. Evaluation of connectivity gaps impact on TCP transmissions in maritime communications
Jiang et al. UAV-assisted sensing and communication design for average peak age-of-information minimization
Khodaparast et al. Deep reinforcement learning based data collection in IoT networks
Machumilane et al. Traffic scheduling in non-stationary multipath non-terrestrial networks: A reinforcement learning approach
Ghazikor et al. Exploring the interplay of interference and queues in unlicensed spectrum bands for UAV networks
US20240080681A1 (en) Systems and methods for adjusting signal transmission for an electronic device

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: 16800439

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16800439

Country of ref document: EP

Kind code of ref document: A2