Automating and extending path tracking over wireless links

By treating the access point of the wireless client as a transparent repeater, monitoring the timing characteristics of the wireless link and adjusting network settings, the challenge of wireless network path tracing is solved, enabling accurate tracking and optimization of wireless network performance.

CN116250271BActive Publication Date: 2025-12-09CISCO TECHNOLOGY INC
2 Cites 0 Cited by

Patent Information

Application Number
CN202180065373.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-09-24
Filing Date
2021-09-23
Publication Date
2025-12-09
Estimated Expiration
2041-09-23

Smart Images

  • Figure CN116250271B_ABST
    Figure CN116250271B_ABST
Patent Text Reader

Abstract

Automation and expansion of path tracking over a wireless link is provided by receiving a request to perform network tracking over a wireless link, the wireless link provided by an access point (AP) configured to track a transparent forwarder between a source and a target of the tracking; monitoring tracking packets from a first time of arrival at the AP, a first time of departure from the AP, a second time of arrival at the AP, a second time of departure from the AP; monitoring buffer status of the AP at the first time of arrival and the second time of arrival; and adjusting network settings of the AP in response to a network anomaly identified based on the tracking packets and the buffer status.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments presented in the present disclosure relate generally to wireless networking. More specifically, the embodiments disclosed herein provide improvements to the networking conditions between devices that are wirelessly linked (e.g., via a Wi-Fi connection). BACKGROUND

[0002] In a network, as various service level attributes deteriorate, the performance and throughput of various application flows over the network path also decrease. Therefore, network operators seeking to improve the performance and throughput of application flows over the network need to know where to focus their efforts and what actions to take to address issues related to packet / frame loss, jitter, latency, etc. in the network. BRIEF DESCRIPTION OF DRAWINGS

[0003] In order that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, can be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments and are therefore not to be considered limiting of its scope, for the disclosure can admit to other equally effective embodiments.

[0004] Figure 1 FIGURE illustrates an example network including wired links and wireless links between various devices, according to embodiments of the present disclosure.

[0005] Figure 2A FIGURE illustrates a first timing diagram that is client-tracing-targeted, according to embodiments of the present disclosure.

[0006] Figure 2B FIGURE illustrates a second timing diagram that is client-tracing-source-targeted, according to embodiments of the present disclosure.

[0007] Figure 3 FIGURE illustrates a timing symmetry chart, according to embodiments of the present disclosure.

[0008] Figure 4 is a flow diagram of a method for automating and scaling path tracing over wireless links, according to embodiments of the present disclosure.

[0009] Figure 5 FIGURE illustrates a computing device that illustrates the hardware of a computing device, according to embodiments of the present disclosure.

[0010] To facilitate an understanding of this description, like reference characters are used to identify like elements throughout the service. It is contemplated that elements disclosed in one embodiment can be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION

[0011] SUMMARY

[0012] Aspects of the application are set out in the independent claims and preferred features are set out in the dependent claims. Features of one aspect can be applied to any aspect, alone or in combination with features of other aspects.

[0013] One embodiment presented in this disclosure is a method comprising: receiving a request to perform network trace over a wireless link, the wireless link provided by an access point (AP) configured to trace a transparent forwarder between a trace source and a trace target; monitoring trace packets from a first time of arrival at the AP, a first time of departure from the AP, a second time of arrival at the AP, a second time of departure from the AP; monitoring buffer status of the AP at the first time of arrival and the second time of arrival; and adjusting network settings of the AP in response to a network anomaly identified based on the trace packets and the buffer status.

[0014] One embodiment presented in this disclosure is a system comprising: a processor; and a storage device comprising instructions that, when executed by the processor, perform operations comprising: receiving a request to perform network trace over a wireless link, the wireless link provided by an access point (AP) configured to trace a transparent forwarder between a trace source and a trace target; monitoring trace packets from a first time of arrival at the AP, a first time of departure from the AP, a second time of arrival at the AP, a second time of departure from the AP; monitoring buffer status of the AP at the first time of arrival and the second time of arrival; and adjusting network settings of the AP in response to a network anomaly identified based on the trace packets and the buffer status.

[0015] One embodiment presented in this disclosure is a storage device comprising computer-readable instructions that, when executed by a processor, perform operations comprising: receiving a request to perform network trace over a wireless link, the wireless link provided by an access point (AP) configured to trace a transparent forwarder between a trace source and a trace target; monitoring trace packets from a first time of arrival at the AP, a first time of departure from the AP, a second time of arrival at the AP, a second time of departure from the AP; monitoring buffer status of the AP at the first time of arrival and the second time of arrival; and adjusting network settings of the AP in response to a network anomaly identified based on the trace packets and the buffer status.

[0016] Example Embodiments

[0017] The present disclosure provides improved tools to perform path tracing through the wireless elements of a network to identify and remediate network problems in the wired or wireless portions of a network path. Path tracing functionality can provide end-to-end analysis of application flow performance as the relevant traffic traverses the network. These path tracing functionalities can identify poorly performing network devices, congested links, policy restrictions, and various other performance impediment issues and where these issues occur. In a wireless network, several portions of the path can traverse wired links between devices or wireless links between devices. The wireless portions of a network path have proven to be particularly challenging for measurements for path tracing purposes because the wireless transmission medium is unpredictable due to the mobility of the wireless devices, the medium being shared by multiple devices, the presence of active or passive interference sources (e.g., rogue devices, walls), etc.

[0018] To capture the performance characteristics of a wireless link so that a network operator can accurately and efficiently address any issues impacting the network performance of the wireless link, the present disclosure instructs the network to treat the access point (AP) of a wireless client as a transparent forwarder, rather than a node in the network. Various timing characteristics of test packets traversing the link (AP to client, and from client to AP) are communicated back to the network controller to determine the networking conditions of the wireless portion of the network path. The network controller can then use the determined networking conditions to adjust network settings to maintain predefined service levels of the network, alert the network operator to network outages or other abnormal conditions, log network activity, etc.

[0019] Figure 1 An example network 100 including wired links 160a-g (collectively, wired links 160) and wireless links 170a-c (collectively, wireless links 170) between various devices is illustrated in accordance with an embodiment of the present disclosure. The network 100 includes a first AP 110a (collectively, APs 110), a first switch 130a (collectively, switches 130), a second switch 130b, and a second AP 110b, which are managed by a network controller 150 to provide connectivity services to a plurality of clients 120a-f (collectively, clients 120) for connectivity between the plurality of clients 120a-f to each other (e.g., as local network traffic), or to and from an external network 140 (e.g., the Internet). It can be appreciated that more or fewer devices than those shown in FIG. 1 can be used in the network 100, and the arrangement and architecture of these devices can also differ from the example shown in FIG. 1. Figure 1 Figure 1

[0020] ​​In various embodiments, the network controller 150 is a software service provided locally to the network 100, provided on an AP, on a client 120 (e.g., a local network server client 120), or directly on a switch 130. In other embodiments, the network controller 150 is a software service provided remotely or "in the cloud" as a service provided through the external network 140 to manage the local network 100. The network controller 150 monitors the time it takes for a trace packet to traverse a (wired or wireless) link between a trace source and a trace target, which in various embodiments can be an AP 110, a client 120, or a switch 130.

[0021] The switches 130 provide routing of packets within the network 100 and can include edge switches (e.g., first switch 130a) that connect to the external network 140 and internal switches (e.g., second switch 130b) that do not connect to the external network 140. The switches 130 can route data to each other, to the external network 140, or to / from the APs 110 (which handle direct communications with the clients 120). As shown, the first switch 130a connects to the first AP 110a via a first wired link 160a, to the second switch 130b via a second wired link 160b, and to the external network 140 via a seventh wired link 160g. Similarly, the second switch 130b connects to the second AP 110b via a third wired link 160c (and to the first switch 130a via the second wired link 160b). In various embodiments, the wired links 160 are provided by various wires and carry data via electrical signals, but can also include optical fibers that carry data via optical signals.

[0022] The APs 110 provide connectivity between the switches 130 and the clients 120 or between the clients 120 via one or more of the wired links 160 and the wireless links 170. While illustrated as providing both wired links 160 and wireless links 170, in various embodiments a given AP 110 can provide only wired links 160, only wireless links 170, or a mix of the two. The wired links 160 can include various wired transmission media (e.g., Category 5 wiring) for sending data to or receiving data from a particular client 120 that is connected to the AP 110 via the wired transmission media.

[0023] The wireless links 170, however, use signals that propagate through the air (and some intervening materials) to transmit data between the APs 110 and the clients 120. In various embodiments, the wireless links 170 are random (e.g., the time t x The conditions at time t x+1The network can be configured to operate under various conditions, including duplex (e.g., multiple clients 120 can compete for access to the same link) and dynamic (e.g., client 120 changes location, connects / disconnects / reconnects based on network or transmission medium conditions). A wireless link 170 can be established between AP 110 and client 120 using various wireless standards (e.g., the IEEE 802.11 "WiFi" series of standards). These standards allow certain portions of the spectrum to be used with various multiplexing schemes, enabling two or more clients 120 to share the transmission medium.

[0024] As shown in the figure, the first AP 110a provides a first wireless link 170a to a first client 120a, and a second wireless link 170b to a second client 120b, and a sixth wired link 160f to a sixth client 120f. The second AP 110b is shown providing a fourth wired link 160d to a fourth client 120d, a fifth wired link 160e to a fifth client 120e, and a third wireless link 170c to a third client 120c. In various embodiments, wireless clients 120a-c may be within each other's signaling range or within the signaling range of more than one AP 110. In one example, the environment in which the second client 120b is located allows it to receive signals transmitted by the first client 120a, the first AP 110a, the third client 120c, and the second AP 110b. Therefore, the wireless controller (which may be provided by the network controller 150) coordinates the spectrum allocation between the client 120 and the AP 110 so that the client 120 and the AP 110 can share the available spectrum.

[0025] Despite Figure 1 The diagram illustrates a connection via a wired link 160, but in various embodiments, a wireless link 170 can replace any wired link 160. For example, a first switch 130a can be connected to a second switch 130b or a first AP 110a via a wireless link 170. Furthermore, several APs 110 can be interconnected via corresponding wireless links 170 to provide a mesh network. Therefore, while this disclosure generally discusses extending path tracing via a wireless link 170 between an AP 110 and a client 120, the wireless path tracing described herein can be applied to a wireless link 170 between any two networked devices and can be extended over several such wireless links 170 to provide path tracing over network 100.

[0026] Figure 2A and Figure 2BFigures illustrate path and timing diagrams 200a-b for path tracking of a wireless link 170 between an AP 110 and a wireless client 120, in accordance with embodiments of the present disclosure. Figure 2A Figure 200a illustrates a first timing diagram where the client 120 is the tracking target, while Figure 2B Figure 200b illustrates a second timing diagram where the client 120 is the tracking source. It should be understood that while the tracking path is illustrated in Figure 2A and Figure 2B between the AP 110 and the client 120, path tracking as described herein can be applied between any two wirelessly linked networked devices, and can be extended across several such wireless links 170. Further, while the distance between times in Figure 2A and Figure 2B is shown as regular intervals, it can be appreciated that the subsequent time periods can be the same or different from one another (e.g., Δ(t0,t1) = Δ(t1,t2) or Δ(t0,t1) ≠ Δ(t1,t2)).

[0027] In Figure 2A , an outbound tracking packet is generated at a tracking source (not shown) and transmitted from the tracking source to a tracking target (the client device 120 in Figure 2A , the tracking target returns an inbound tracking packet to the tracking source in order to measure various network conditions (e.g., loss, jitter, latency, round-trip time (RTT), etc.) based on timing measurements between various networked devices along the tracking path of the network. In various embodiments, the tracking source can be connected to the network via a wired link 160 or a wireless link 170.

[0028] A first outbound tracking time 210a (referred to generally as outbound tracking time 210) begins at time t0, when the tracking packet is issued from the tracking source, until the tracking packet is received at the switch 130 at time t1. This time period from t0 to t1 encompasses transmission and processing times between various APs 110, clients 120, and switches 130 not shown in Figure 2A , and can be subdivided to represent various network conditions between these networked devices. In various embodiments, the first outbound tracking time 210a can be omitted when the switch 130 initially generates the outbound tracking packet. A second outbound tracking time 210b represents the transmission time between the switch 130 and the AP 110 from time t1 to time t2.

[0029] The AP 110 measures a third outbound trace time 210c from time t2 to time t3, which is based on the time of arrival (ToA) of the outbound trace packet from the switch 130 at the interface buffer of the AP 110 at time t2 until the time of departure (ToD) of the trace packet at time t3 toward the target client 120. The third outbound trace time 210c includes the processing time to convert and encapsulate the received trace packet into a wireless signal according to the protocol used to establish the wireless link 170 between the AP 110 and the target client 120. In addition, the third outbound trace time 210c includes the scheduling time the trace packet spent waiting in a queue for transmission. In various embodiments, the trace packet remained in the queue because another packet had a higher priority for transmission as indicated by a scheduler running on the AP 110. The scheduler manages when various wirelessly connected clients 120 and APs 110 are allowed to use the shared transmission medium based on the priority of various clients 120, the priority of various APs 110, the priority of various data queued for transmission (or reception), and the like.

[0030] The outbound trace packet departs the AP 110 at time t3, and the AP 110 receives the inbound trace packet generated and transmitted back to the target source from the target client 120 at time t6. The time t3 to t6 includes a fourth output trace time 210d (including the time t3 to t4 to send the trace packet from the AP 110 to the client 120), a time 230 to process and queue on the client 120 from time t4 to t5, and a first inbound trace time 220a (referred to as the inbound trace time 220) to send the trace packet from the client 120 back to the AP 110 from time t5 to t6. In some embodiments, the target client 120 provides the AP 110 with timestamps in the inbound trace packet for the time the client 120 received the outbound trace packet at time t4 and the time the client 120 sent the inbound trace packet at time t5. In other embodiments, the AP 110 processes the time period from t3 to t6 as one block that includes the time for radio transmission and client processing.

[0031] The AP 110 measures a second inbound trace time 220b from time t6 to time t7, which is based on the ToA of the inbound trace packet from the client 120 at time t6 until the ToD of the inbound trace packet to the switch 130 at time t7. The second inbound trace time 220b includes processing time to convert and encapsulate the received trace packet into a wired signal according to the protocol used for communication over the wired link 160 between the AP 110 and the switch 130. In addition, the second inbound trace time 220b includes scheduling time taken for the trace packet to wait in a queue for transmission. In various embodiments, the trace packet remains in the queue due to another packet having a higher transmission priority (e.g., priority of various clients 120 or priority of various data queued for transmission) indicated by a scheduler running on the AP 110.

[0032] The third inbound trace time 220c starts at time t7 (when the trace packet is sent from the AP 110) until the trace packet is received at the switch 130 at time t8. Similarly, the fourth inbound trace time 220d from time t8 to time t9 includes transmission and processing times of various APs 110, clients 120, and switches 130 in the trace path from the switch 130 back to the trace source that are not shown in Figure 2A and can be subdivided to indicate various network conditions between the network devices. In various embodiments, the fourth inbound trace time 220d can be omitted when the outbound trace packet is initially generated by the switch 130.

[0033] In Figure 2B , the outbound trace packet is generated at a wirelessly connected client 120 that is the trace source and sent from the wirelessly connected client 120 to a trace target elsewhere in the network 100 (not shown in Figure 2A In various embodiments, the trace target can be connected to the network 100 via the wired link 160 or the wireless link 170. The trace target returns the inbound trace packet to the wirelessly connected client 120 (as the trace source) to measure various network conditions (e.g., loss, jitter, latency, round-trip time (RTT), etc.) based on timing measurements between various networking devices along the trace path of the network 100.

[0034] The first outbound trace time 240a begins at time to (when the client 120 sends an outbound trace packet to the AP 120), and the AP 120 receives the outbound trace packet at time ti. The second outbound trace time 240b begins at time ti and continues until time t2 (when the AP 110 sends the outbound trace packet to the switch 130). The AP 110 measures the second outbound trace time 240b from time ti to time t2 based on the ToA of the outbound trace packet from the client 120 at time ti until the ToD of the outbound trace packet at time t2 to the switch 130. The second outbound trace time 240b includes the processing time to convert and encapsulate the received trace packet into a wired signal according to the protocol used for communication over the wired link 160 between the AP 110 and the switch 130. In addition, the second outbound trace time 240b includes the scheduling time taken for the trace packet to wait in a queue for transmission. In various embodiments, the trace packet remains in the queue due to another packet having a higher transmission priority (e.g., priority of various clients 120 or priority of various data queued for transmission) indicated by a scheduler running on the AP 110.

[0035] The third outbound trace time 240c begins at time t2 (when the trace packet is sent from the AP 110) and continues until the trace packet is received at the switch 130 at time t3. Similarly, the fourth outbound trace time 250d from time t3 to time t4 includes transmission and processing times from the switch 130 to various APs 110, clients 120, and the switch 130 in the trace path to the trace target that are not shown in FIG. 2B, and can be subdivided to indicate various network conditions between these network devices. In various embodiments, the fourth outbound trace time 240d can be omitted when the switch 130 is the trace target. Figure 2B

[0036] After the trace target receives the outbound trace packet at time t4, the trace target processes the outbound trace packet and sends an inbound trace packet back to the trace source client 120 at time t5. The time between times t4 and t5 represents the queuing time 250 to wait for the trace target to process, and can include the time needed for the trace target to decipher the outbound trace packet, generate the inbound trace packet, and wait for a scheduling opportunity to send the inbound trace packet.

[0037] The first inbound trace time 260a (referred to as the inbound trace time 260) begins at time t5 (when the inbound trace packet is sent from the trace target) and continues until the trace packet is received at the switch 130 at time t6. Similar to the third outbound trace time 240c, the first inbound trace time 260a includes transmission and processing times in the trace path from the trace target to the switch 130 that are not shown in FIG. 2B, and can be subdivided to indicate various network conditions between these network devices. In various embodiments, the first inbound trace time 260a can be omitted when the switch 130 is the trace target. Figure 2B ​The various AP 110, client 120, and switch 130 transmission and processing times shown in FIG. 2 can be subdivided to indicate various network conditions between these network devices. In various embodiments, the first inbound trace time 260a can be omitted when the switch 130 is the trace target.

[0038] The second inbound trace time 260b indicates the transmission time from time t6 to time t7 between the switch 130 and the access point 110.

[0039] The AP 110 measures a third inbound trace time 260c from time t7 to time t8, which is based on the TOA of the inbound trace packet from the switch 130 arriving at the interface buffer of the AP 110 at time t7 until the ToD of the trace packet at time t8 to the source client 120. The third outbound trace time 210c includes the processing time to convert and encapsulate the received trace packet into a wireless signal according to the protocol used to establish the wireless link 170 between the AP 110 and the source client 120. In addition, the third inbound trace time 260c includes the queuing time the trace packet spends waiting for transmission. In various embodiments, the trace packet remains in the queue because another packet has a higher transmission priority as indicated by a scheduler running on the AP 110. The scheduler manages when the various wireless-connected clients 120 and APs 110 are allowed to use the shared transmission medium based on the priorities of the various clients 120, the priorities of the various APs 110, the priorities of the various data queued for sending (or receiving), etc.

[0040] The inbound trace packet leaves the AP 110 at time t8, and the source client 120 receives the inbound trace packet at time t9. In various embodiments, the source client 120 reports a fourth inbound trace time 260d to the network controller 150. In other embodiments, the source client 120 provides the timestamp of t9 to the AP 110 to calculate the fourth inbound trace time 260d from time t8, or a time t x The calculated value for the fourth inbound trace time 260d is provided in a timing report 270 sent to enable the AP 110 to report the fourth inbound trace time 260d to the network controller 150. In various embodiments, the timing report 270 is sent to the same or different place as the trace target to which the outbound trace packet sent at time t0 was sent along with a subsequent trace packet. In other embodiments, the timing report 270 is a separate communication sent between the client 120 and the AP 110.

[0041] The network controller 150 receives the timing information (e.g., for the fourth inbound trace time 260d) from the AP 110 and the source client 120. Figure 2A and Figure 2BSome or all of the times t0-t9 discussed, or the length thereof, are used to evaluate (or evaluate separately from) the wireless link 170 between the AP 110 and the client 120 along with the wired link 160 in the trace path of the assessment network 100. In some embodiments, the various network devices report to the network controller 150 the respective times at which the trace packets arrive or depart. Thus, the network controller 150 evaluates the transmission performance over the wired link 160 between the switch 130 and the AP 110 based on the second outbound trace time 210b and the third inbound trace time 220c (referring to Figure 2A ) or the third outbound trace time 240c and the second inbound trace time 260b (referring to Figure 2B ). Similarly, the network controller 150 evaluates the wireless link 170 by the times t2, t3, t6, and t7 (and optionally t4 and t5) reported by the AP 110 when processing the trace packets for the client 120 as the trace target (referring to Figure 2A ) and the times t1, t2, t7, t8, and t9 reported when processing the trace packets for the client as the trace source (referring to Figure 2B ).

[0042] In various embodiments, in addition to the timing information, the AP 110 reports to the network controller 150 the buffer depth of the AP 110 at the times at which the trace packets arrive (e.g., t2 and t6 in Figure 2A and t1 and t7 in Figure 2A ), which allows the network controller 150 to remove the forwarding time and the effects of packet processing by the AP 110 from the measurements about network latency. In effect, knowing the buffer status of the AP 110 allows the network controller 150 to distinguish between cell-wide congestion and client-specific congestion, even without knowing what the local radio transmission conditions are at the location of the client 120 or along the path of the trace packets through the environment along the wireless link 170. For example, the ratio between the wireless round-trip transmission times (e.g., times t3-t6 in Figure 2A ) and the processing and queuing times on the client (e.g., times t4-t5 in Figure 2B ) can identify whether the congestion is affecting the entire cell (when the ratio of t3-t6 to t4-t5 is within a historical ratio range for a given buffer depth), is local to the AP 110 (when the ratio of t3-t6 to t4-t5 is higher than the historical ratio range), or is local to the client 120 (when the ratio of t3-t6 to t4-t5 is lower than the historical ratio range).

[0043] In some embodiments, the AP 110 sends a trigger to cause the client 120 to initiate an uplink stream (scheduled with OFDMA). When triggered by the AP 110, the client 120 sends a message at a time required by the AP 110 (and thus known to the AP 110). The message stream then follows the logic described herein, with message frames going back to the client 120, which sends an acknowledgement (ACK) for receiving the communication from the AP 110 (also at a predictable time). In various embodiments, the AP 110 uses scheduled or predictable times for various time values when calculating round trip times, processing times, or combinations thereof.

[0044] In various embodiments, the AP 110 reports buffer depths in a buffer status report (BSR) to the network controller 150, which uses the buffer depths to identify client queue depths on the AP 110. In conjunction with head of line (HOL) access delays measured for the client 120, the network controller 150 evaluates the ratio of wireless round trip times (e.g., from ToD at t3 to ToA back at the AP 110 at t6) to BSRs to identify the delay (i.e., the time interval between when a packet is at the HOL of the associated MAC queue and ready to send and when an acknowledgement frame for the packet is received). The network controller 150 can thereby evaluate radio transmission and client processing times to identify the contribution of the target client 120 to network delay. In practice, for similar queue depths, the delay portion attributed to the AP 110 should remain similar, and any differences in delay can thus be attributed to the client 120 or the transmission medium.

[0045] The BSR informs the AP 110 of the client queue depth (optionally also the HOL delay) for each available channel. However, the BSR report only incompletely identifies the client contribution to delay variation. Although the network controller 150 can observe the BSR / timer ratio and infer the client contribution to delay variation, the BSR is an incomplete representation of client performance. For example, in some cases, a client 120 can buffer many packets for transmission, but can be able to quickly process (e.g., high modulation coding scheme, MCS, low congestion) those packets. However, in other cases, a client 129 can send traffic outside the trigger window (e.g., opt-out of uplink scheduling), in which case the BSR only incompletely represents client traffic congestion. In various embodiments, the granularity level of the BSR report provides sufficient granularity, however, in cases where the network controller 150 requires a higher granularity level, the AP 110 evaluates the time of flight (ToF) between the AP 110 and the client 120 (e.g., via a Precision Time Measurement (FTM) request compliant with IEEE 802.1 laz). However, rather than using a quality of service (QoS)-less FTM request, the AP 110 sends the FTM request on each available channel, enabling each client 120 to receive the initial FTM request carried within a triggered packet uplink method (e.g., UL-MU-MIMO, OFDMA). In various embodiments, the FTM trigger is carried in, or otherwise accompanies, a tracking packet. Based on the FTM request, the network controller 150 can measure the time taken by each client 120 to process the tracking packet and send a response back to the AP 110 (e.g., Figure 3 t4-t6 in FIG. 4, Figure 2A t9-t x in FIG. 5, and the ToF between the AP 110 and the client 120, and thus evaluate the client processing time.

[0046] Furthermore, the method also allows the AP to carry FTM exchange and test application within different consecutive ACs. The test can be run periodically or when the DNAC detects asymmetry in the above-mentioned timers. In this case, the AP runs the FTM in the above-mentioned manner and then sends both the test application packet and the local measurement report (LMR) request (the result of the STA running the FTM) one after the other within the same AC. Thus, the LMR request carries the QoS control field (new). Upon receiving such a frame, the STA has to process the frame within the target AC (as per the prior art). Thus, the STA's response (LMR report) directly reflects the processing time of the STA AC. By measuring the difference between the ToD of the LMR report (at the AP level) and the ToD of the application packet response, the DNAC can assess not only the processing time of the STA buffer but also the processing time of the application.

[0047] In various embodiments, the network controller assesses the AP processing time to assess whether tracking packets are processed asymmetrically between uplink traffic and downlink traffic on the wireless link 170 between the AP 110 and the client 120. Generally, uplink traffic (from the client 120 to the AP 110) is expected to be processed faster than downlink traffic (from the AP 110 to the client 120) due to differences in machine access control (MAC) contention for wired and wireless connections. However, during normal operation, uplink traffic and downlink traffic are expected to have a linear relationship with each other. Thus, the network controller 150 can identify potential causes of network behavior anomalies (e.g., increased traffic in / out of the AP 110, increased contention for wireless bandwidth, etc.) based on changes in the relative timing ratio or deviations from baseline signaling times.

[0048] Figure 2B A timing symmetry chart 300 is illustrated in accordance with embodiments of the present disclosure. The timing symmetry chart 300 shows the processing times observed over a number of observations (e.g., by continuously transmitting and monitoring a series of tracking packets) for uplink processing times 310 and downlink processing times 320 for the AP 110. In various embodiments, the uplink times 310 correspond to the first inbound times 220a (refer to FIG. 2A) or the first outbound times 240a (refer to FIG. 2B). Similarly, in various embodiments, the downlink times 320 correspond to the fourth outbound times 210d (refer to FIG. 2A) or the fourth inbound times 260d (refer to FIG. 2B). Figure 2A ) or the fourth inbound times 260d (refer to Figure 2B ) in various embodiments. Figure 4 ) or the fourth inbound times 260d (refer to Figure 2A ) in various embodiments.

[0049] Various network behaviors and / or anomalies can be identified based on the ratio between the uplink processing time 310 and the downlink processing time 320. As described herein, the first time period 330a represents a baseline behavior for other time periods 330b-e to be compared against. During the first time period 310a, the uplink processing time 310 and the downlink processing time 320 maintain a substantially constant ratio between one another (e.g., within a threshold of deviation), which indicates normal operation of the wireless link 170. The third time period 330c and the fifth time period 330e also show that the uplink processing time 310 and the downlink processing time 320 exhibit the constant ratio shown in the first time period 330a, but that both the uplink and downlink are taking less time or more time, respectively, which can be indicative of an overall increase in network traffic through the AP 110.

[0050] In various embodiments, the network controller 150 analyzes different time periods indicating substantially symmetrical uplink / downlink processing times based on the reported buffer depths at the AP 110 to determine whether performance changes track buffer depth changes associated with more or less traffic, or whether another condition is slowing or speeding up processing speeds on the AP 110. For example, when the processing times increase from the first time period 330a to the third time period 330c and a corresponding increase in buffer is noted, the network controller 150 can identify that the AP 110 is processing increased traffic. However, if the network controller 150 identifies an increase in processing times (e.g., from the first time period 330a to the third time period 330c) without an increase in buffer depth, the network controller 150 can flag the AP 110 for further analysis to identify whether the AP 110 is processing inbound and output packets correctly.

[0051] The second time period 330b illustrates a time period in which the downlink time 320 experienced by the traffic through the AP 110 increases as compared to the uplink time 310, which remains substantially the same as the previous time period. In various embodiments, an increase in the downlink time 320 relative to the uplink time 310 indicates network or processing degradation at the AP 110, for example, when increased downlink traffic is received at the AP 110, which delays the transmission of the monitored downlink traffic. Similarly, a decrease in the downlink time 320 relative to the uplink time 310 can indicate a decrease in competition for downlink transmissions. Accordingly, the network controller 150 can signal the AP 110 to normalize the uplink and downlink times (e.g., according to a service level agreement (SLA)) to cope with the degradation at the AP level by allocating additional time or frequency partitioning for downlink traffic, load balancing the various clients 120 among different APs 110 in the network 100 (e.g., forcing handoff to a new client / AP pairing), setting different priorities for traffic generated by or sent to the various clients 120, and combinations thereof.

[0052] The fourth time period 330d illustrates a time period in which the uplink time 310 experienced by the traffic through the AP 110 increases as compared to the downlink time 320, which remains substantially the same as the previous time period. In various embodiments, an increase in the uplink time 310 relative to the downlink time 320 indicates network or processing degradation at the client side, for example, when increased uplink traffic occurs at the client 120, which delays the transmission of the monitored uplink traffic. Similarly, a decrease in the uplink time 310 relative to the downlink time 320 can indicate a decrease in competition for uplink transmissions. Accordingly, the network controller 150 can signal the AP 110 to normalize the uplink and downlink times (e.g., according to a service level agreement (SLA)) to cope with the degradation at the client level by allocating additional time or frequency partitioning for uplink traffic, load balancing the various clients 120 among different APs 110 in the network 100 (e.g., forcing handoff to a new client / AP pairing), setting different priorities for traffic generated by or sent to the various clients 120, and combinations thereof.

[0053] The network controller 150 also reveals the client’s contribution to any signaling delays on the wireless link 170 by comparing the round trip times (e.g., from times).

[0054] Figure 2Ais a flowchart of a method 400 for automating and extending path tracking over a wireless link according to embodiments of the present disclosure. The method 400 begins at block 410, where a network controller 150 receives a request to perform network tracking over a path that includes a wireless link 170 provided by an AP 110 configured to track a transparent forwarder between a source and a target. In various embodiments, the source is connected to the AP 110 via the wireless link 170, the target is connected to the AP 110 via the wireless link 170, or the AP 110 is connected to another AP 110 via the wireless link 170 (e.g., as part of a bridge or mesh network) and the source / target are on opposite sides of the wireless link 170. The AP 110 is part of a network 100 that can include several wired links 160 and wireless links 170 that can be provided by the AP 110 or other APs 110 in the network 100. Further, the AP 110 can provide several wireless links 170 to various other APs 110 or clients 120 that contend for access to a transmission medium. Further, the transmission medium can be subject to various levels of passive or active interference (e.g., walls, rogue signaling devices) that affect the time of transmission over the wireless link 170.

[0055] At block 420, the AP 110 reports various times of arrival and departure of the tracking packets to the network controller 150 that is monitoring. The AP 110 reports several such ToA and ToD to the network controller 150 in several instances of processing the tracking packets to identify trends in transmission and hold times at the AP 110 and devices (e.g., clients 120 or another AP 110) connected to the AP 110 via the wireless link 170. In various embodiments, the timing data at the AP 110 is reported with timing data from other network devices in the tracking path (e.g., various switches 130, other APs 110, reporting-enabled clients 120, etc.) to form a coherent tracking route through the network 100. Additionally or alternatively, the AP 110 can process

[0056] In one example, a tracking source sends a tracking packet to the AP 110 via a wired link 160 to monitor network behavior of a tracking target connected to the AP 110 via a wireless link 170 provided by the AP 110. In this example, the AP 110 receives the outbound tracking packet at a first time of arrival (e.g., time t2 in Figure 2A Figure 2A The AP 110 sends the outbound tracking packet via the wireless link 170 at a first time of departure (e.g., time t3 in Figure 2B ​at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t Figure 2B at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t

[0057] In another example, the trace source sends a trace packet to the trace target connected to the network 100 provided by the AP 110 through the wired link 160 or the wireless link 170 via the wireless link 170 provided by the AP 110. In this example, the AP 110 receives the outbound trace packet via the wireless link 170 at a first arrival time (e.g., time t1) and sends the outbound trace packet via the network 100 at a first departure time (e.g., time t2). The AP 110 receives the inbound trace packet (addressed back to the trace source) at a second arrival time (e.g., time t7) and sends the inbound trace packet back to the trace source at a second departure time (e.g., time t8). In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t Figure 2B at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t Figure 2B at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t Figure 2B at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t Figure 2A at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t Figure 5 at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t x identifies the time of receipt at time t9).

[0058] At block 430, the AP 110 reports the buffer status of the AP 110 for wireless link 170 communications to the network controller 150 at the first ToA time and the second ToA time for monitoring with the transmission times (refer to block 420). In various embodiments, block 430 and block 420 are performed in conjunction with each other such that the buffer status of the AP 110 is associated with the reported ToA and ToD of the trace packets in a given instance of path route tracing and analysis. The buffer status enables the network controller 150 to reveal the contribution of the client to the network latency over the wireless link 170 based on the ratio of the client processing time of the trace packets (e.g., refer to ​ at a second departure time (e.g., time t8) sends the inbound trace packet back to the trace source. In various embodiments, the AP 110 receives an acknowledgement message from the target source (or the AP 110 on the other side of the wireless link 170) that provides information about the flight time of the inbound trace packet over the wireless link (e.g., at a later time t

[0059] At block 440, the network controller 150 analyzes network performance on the wireless link 170 and, in response to network anomalies detected based on the monitored times and buffers, adjusts network settings at the AP 110 to counteract the network anomalies. The network controller 150 can adjust various network settings depending on the source (and severity) of the anomaly, such as: sending a signal to the AP 110 to change the frequency band or channel in order to avoid interference in a given frequency range, sending a signal to the AP 110 to initiate a handoff (or disconnection without handoff) of one or more clients 120 to a different AP 110 in the network in order to free up bandwidth or to encourage various connected devices to identify a more suitable AP 110, setting different priorities for traffic of one or more clients 120 or connected devices, increasing / decreasing transmission power, and other settings. Additionally or alternatively, the network controller 150 can adjust network settings of other APs 110 in the network based on or instead of adjustments of the initial AP 110 (e.g., moving a second AP 110 to a different channel to let the first AP 110 operate in a clear channel).

[0060] ​ FIG. 1 illustrates a computing device that illustrates the hardware of a computing device 500 that can represent an AP 110, a client 120, or various other devices in the network 100 according to the present disclosure. The computing device 500 includes a processor 510, a memory 520, and a communication interface 530. The processor 510 can be any processing element capable of performing the functions described herein. The processor 510 represents a single processor, multiple processors, a processor having multiple cores, and combinations thereof. The communication interface 530 facilitates communication between the computing device 500 and other devices. The communication interface 530 represents wireless communication antennas and various wired communication ports, including output and input pins to a microcontroller. The memory 520 can be volatile or non-volatile memory and can include RAM, flash memory, cache, disk drives, and other computer-readable memory storage devices. Although shown as a single entity, the memory 520 can be split into different memory storage elements, such as RAM and one or more hard drives.

[0061] As shown, the memory 520 includes various instructions executable by the processor 510 for an operating system 521 to manage various functions of the computing device 500 and for one or more applications 522 to provide various functionality to a user of the computing device 500, including one or more of the functions and functionalities described in the present disclosure.

[0062] In this disclosure, reference is made to various embodiments. The scope of the present disclosure, however, is not limited to the specifically described embodiments. Rather, it is contemplated that any combination of the described features and elements, whether related to different embodiments or not, can be used to implement and practice the claimed embodiments. Furthermore, when describing embodiments, the terms "comprise", "include", "contain" and "comprising", "including", "containing" and the like, are used in their open-ended sense, and can be used in conjunction with other terms such as "consisting of", "consisting essentially of", and "consisting of", unless otherwise noted. Additionally, when describing embodiments, the terms "A and / or B" and "at least one of A and B" are used in their open-ended sense, and can be used in conjunction with other terms such as "consisting of", "consisting essentially of", and "consisting of", unless otherwise noted. Also, although some embodiments disclosed herein can achieve advantages over other possible solutions or over the prior art, whether or not a given embodiment achieves advantages over prior solutions does not limit the scope of the present disclosure. Therefore, aspects, features, embodiments, and advantages of the present disclosure disclosed herein are merely illustrative and are not considered elements or limitations of the appended claims, unless the claims expressly recite otherwise. Likewise, reference to "the invention" does not preclude that several inventive aspects, features, embodiments, and / or claims can be considered to be inventive.

[0063] As those skilled in the art will appreciate, the embodiments disclosed herein can be embodied as a system, a method, or a computer program product. Accordingly, embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.) or an embodiment combining software and hardware aspects that can all generally be referred to herein as a "circuit", "module" or "system". Furthermore, embodiments can take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

[0064] Program code embodied on a computer readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0065] Computer program code for carrying out operations of embodiments of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0066] Automating and extending path tracking over a wireless link is provided by receiving a request to perform network tracking over a wireless link, the wireless link provided by an access point (AP) configured to track a transparent forwarder between a source and a target of the tracking; monitoring tracking packets from a first time of arrival at the AP, a first time of departure from the AP, a second time of arrival at the AP, a second time of departure from the AP; monitoring a state of a buffer of the AP at the first time of arrival and the second time of arrival; and adjusting a network setting of the AP in response to a network anomaly identified based on the tracking packets and the state of the buffer.

[0067] Various aspects of the disclosure are presented with reference to flowcharts and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments presented in the disclosure. It will be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowcharts and / or block diagrams block or blocks.

[0068] These computer program instructions can also be stored in a computer-readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowcharts and / or block diagrams block or blocks.

[0069] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowcharts and / or block diagrams block or blocks.

[0070] The flow and block diagrams in the drawings represent possible architectural, functional, and operational architectures of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flow or block diagrams can represent a module, segment, or portion of code which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending on the functionality involved. Also, each block in the block diagrams and / or flow diagrams as well as combinations of blocks in the block diagrams and / or flow diagrams can be implemented by special purpose hardware-based systems which perform the specified functions or acts or combinations of special purpose hardware and computer instructions.

[0071] In light of the foregoing, the scope of the present disclosure is determined by the appended claims.

Claims

1. A method comprising: receiving a request to perform network tracing over a wireless link provided by an access point (AP) configured to trace a transparent forwarder between a tracing source and a tracing target; monitoring outbound trace packets sent from the tracing source to the tracing target and inbound trace packets returned from the tracing target to the tracing source, wherein the outbound trace packets are monitored at a first time of arrival at the AP and a first time of departure from the AP, and the inbound trace packets are monitored at a second time of arrival at the AP and a second time of departure from the AP; monitoring a buffer status of the AP at the first time of arrival and the second time of arrival; and adjusting network settings of the AP in response to a network anomaly identified based on the outbound trace packets, the inbound trace packets, and the buffer status, wherein the monitoring of the outbound trace packets and the inbound trace packets identifies a processing asymmetry between an uplink processing time and a downlink processing time on the AP, and a client contribution to network latency on the wireless link, wherein the uplink processing time is a first time period between the first time of arrival and the first time of departure, and wherein the downlink processing time is a second time period between the second time of arrival and the second time of departure.

2. The method of claim 1, wherein, the wireless link connects the AP to the tracing target.

3. The method of claim 1 or 2, wherein, the wireless link connects the AP to the tracing source, wherein the AP receives outbound trace packets at the first time of arrival and inbound trace packets at the second time of arrival.

4. The method of claim 3, wherein, in a subsequent transmission from the tracing target to the AP, the tracing source reports a third time of arrival of the inbound trace packets at the tracing source.

5. The method of any one of claims 1 to 4, wherein, the wireless link connects the AP to a second AP.

6. The method of any one of claims 1 to 5, wherein, adjusting the network settings comprises signaling a wireless client of the AP to switch to another AP.

7. The method of claim 6, further comprising: revealing the client contribution to network latency based on a ratio of client processing time to the buffer status, wherein the client processing time occurs between the first time of departure and the second time of arrival.

8. A system comprising: a processor; and a storage device comprising instructions that, when executed by the processor, perform operations comprising: receiving a request to perform network tracing over a wireless link provided by an access point (AP) configured to trace a transparent forwarder between a tracing source and a tracing target; monitoring outbound trace packets sent from the tracing source to the tracing target and inbound trace packets returned from the tracing target to the tracing source, wherein the outbound trace packets are monitored at a first time of arrival at the AP and a first time of departure from the AP, and the inbound trace packets are monitored at a second time of arrival at the AP and a second time of departure from the AP; monitoring a buffer status of the AP at the first time of arrival and the second time of arrival; and adjusting network settings of the AP in response to a network anomaly identified based on the outbound trace packets, the inbound trace packets, and the buffer status, adjusting network settings of the AP in response to a network anomaly identified based on the outbound trace packet, the inbound trace packet, and the buffer status, wherein the monitoring of the outbound trace packet and the inbound trace packet identifies a processing asymmetry between uplink processing time and downlink processing time on the AP, and a client contribution to network latency on the wireless link, wherein the uplink processing time is a first time period between the first arrival time and the first departure time, wherein the downlink processing time is a second time period between the second arrival time and the second departure time.

9. The system of claim 8, wherein, the wireless link connects the AP to the trace target.

10. The system of claim 8, wherein, the wireless link connects the AP to the trace source, wherein the AP receives an outbound trace packet at the first arrival time and an inbound trace packet at the second arrival time.

11. The system of claim 10, wherein, the trace source reports a third arrival time of the inbound trace packet at the trace source in a subsequent transmission from the trace target to the AP.

12. The system of any one of claims 8 to 11, wherein, the wireless link connects the AP to a second AP.

13. The system of any one of claims 8 to 12, wherein, adjusting the network settings includes signaling a wireless client of the AP to switch to another AP.

14. The system of claim 13, the operations further comprising: revealing a client contribution to network latency based on a ratio of client processing time and the buffer status, wherein the client processing time occurs between the first departure time and the second arrival time.

15. A storage device comprising computer-readable instructions that, when executed by a processor, perform operations comprising: receiving a request to perform network tracing over a wireless link, the wireless link provided by an access point (AP) configured as a transparent forwarder between a trace source and a trace target; monitoring outbound trace packets sent from the trace source to the trace target and inbound trace packets returned from the trace target to the trace source, wherein the outbound trace packets are monitored at a first arrival time at the AP and a first departure time from the AP, and the inbound trace packets are monitored at a second arrival time at the AP and a second departure time from the AP; monitoring a buffer status of the AP at the first arrival time and the second arrival time; and adjusting network settings of the AP in response to a network anomaly identified based on the outbound trace packet, the inbound trace packet, and the buffer status, wherein the monitoring of the outbound trace packet and the inbound trace packet identifies a processing asymmetry between uplink processing time and downlink processing time on the AP, and a client contribution to network latency on the wireless link, wherein the uplink processing time is a first time period between the first arrival time and the first departure time, wherein the downlink processing time is a second time period between the second arrival time and the second departure time.

16. The storage device of claim 15, wherein, The wireless link connects the AP to the tracking target.

17. The storage device of claim 15, wherein, The wireless link connects the AP to the tracking source, wherein the AP receives an outbound tracking packet at the first time of arrival and an inbound tracking packet at the second time of arrival, and wherein, in subsequent transmissions from the tracking target to the AP, the tracking source reports a third time of arrival of the inbound tracking packet at the tracking source.

18. The storage device of any one of claims 15-17, wherein, The wireless link connects the AP to a second AP.

19. The storage device of any one of claims 15 to 18, wherein, Adjusting the network settings comprises signaling to wireless clients of the AP to switch to another AP.

20. The storage device of claim 19, further comprising: revealing a client contribution to network latency based on a ratio of client processing time and the buffer status, wherein the client processing time occurs between the first time of departure and the second time of arrival.

21. An apparatus comprising: means for receiving a request to perform network tracking over a wireless link provided by an access point (AP) configured as a transparent forwarder between a tracking source and a tracking target; means for monitoring outbound tracking packets sent from the tracking source to the tracking target and inbound tracking packets returned from the tracking target to the tracking source, wherein the outbound tracking packets are monitored at a first time of arrival at the AP and a first time of departure from the AP, and the inbound tracking packets are monitored at a second time of arrival at the AP and a second time of departure from the AP; means for monitoring a buffer status of the AP at the first time of arrival and the second time of arrival; and means for adjusting network settings of the AP in response to network anomalies identified based on the outbound tracking packets, the inbound tracking packets, and the buffer status, wherein the monitoring of the outbound tracking packets and the inbound tracking packets identifies processing asymmetry between uplink processing time and downlink processing time on the AP, and a client contribution to network latency on the wireless link, wherein the uplink processing time is a first time period between the first time of arrival and the first time of departure, wherein the downlink processing time is a second time period between the second time of arrival and the second time of departure.

22. The apparatus of claim 21, further comprising means for implementing the method of any of claims 2-7.

23. A computer program, computer program product or computer readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of any of claims 1-7.

Citation Information

Patent Citations

  • Wireless network access control method and equipment

    CN104883721A

  • Network packet tracing

    US10284460B1