IP Library Granted Patent US 12,568,049
Granted Patent B2
US 12,568,049 · App. 18/404,379 · Granted Mar 3, 2026

Traffic policing detection and rate limit estimation for a network

Inventors: Yichen Qian (Shanghai, CN); Zesen Zhuang (Shanghai, CN)
Assignee: Agora Lab, Inc.
H04L47/20H04L43/022H04L43/0835H04L43/0882H04L43/0894H04L47/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,568,049
App. No.
18/404,379
Granted
Mar 3, 2026
Kind
B2
Abstract

Apparatus, method and non-transitory computer readable medium for traffic policing detection and rate limit estimation for a network, including selecting from the network sampled packets having a loss rate greater than a first threshold, the selected sampled packets being added to a sliding window for traffic policing detection; in response to the number of sampled packets in the sliding window reaching a predetermined number, determining a correlation coefficient based on a sending rate and the loss rate of at least one sampled packet in the sliding window; in response to the correlation coefficient exceeding a second threshold, determining whether traffic policing is occurring in the network based on the sending rate and a transformed loss rate of the at least one sampled packet; and in response to traffic policing occurring, determining an estimated rate limit for traffic policing based on an acknowledgement rate of the at least one sampled packet.

Claims (226)

1 . A method of traffic policing detection and rate limit estimation for a network, comprising:

selecting, by a processor from the network, sampled packets having a loss rate greater than a first threshold, wherein the selected sampled packets are added to a sliding window for traffic policing detection;

in response to a number of sampled packets in the sliding window reaching a predetermined number, determining, by the processor, a correlation coefficient based on a sending rate and the loss rate of at least one sampled packet in the sliding window;

in response to the correlation coefficient exceeding a second threshold, determining, by the processor, whether traffic policing is occurring in the network based on the sending rate and a transformed loss rate of the at least one sampled packet in the sliding window; and

in response to a determination that traffic policing is occurring in the network, determining, by the processor, an estimated rate limit for traffic policing in the network based on an acknowledgement rate of the at least one sampled packet in the sliding window, and adjusting bandwidth estimation (BWE) for congestion control in the network based on the estimated rate limit for traffic policing.

2 . The method of claim 1 , wherein at least one of:

the correlation coefficient is determined based on the sending rate and the loss rate of each sampled packet in the sliding window;

whether traffic policing is occurring in the network is determined based on the sending rate and the transformed loss rate of each sampled packet in the sliding window; or

the estimated rate limit for traffic policing in the network is determined based on the acknowledgement rate of each sampled packet in the sliding window.

3 . The method of claim 1 , wherein determining, by the processor, whether traffic policing is occurring in the network based on the sending rate and the transformed loss rate of at least one sampled packet in the sliding window comprises:

determining, by the processor, an intercept by linear fitting the sending rate and the transformed loss rate of the at least one sampled packet in the sliding window; and

determining, by the processor, whether traffic policing is occurring in the network based on the intercept.

4 . The method of claim 3 , wherein determining, by the processor, whether traffic policing is occurring in the network based on the intercept comprises:

in response to a determination that a transformed intercept is within a third threshold, determining that traffic policing is occurring in the network, wherein the transformed intercept is determined from the intercept; and

in response to a determination that the transformed intercept exceeds the third threshold, determining that no traffic policing is occurring in the network.

5 . The method of claim 1 , wherein the loss rate of a sampled packet is determined based on a result of an equation expressed as:

loss_rate

=

total_pkts

_sent

intvl

-

total_pkts

_ack

intvl

total_pkts

_sent

intvl

wherein total_pkts_sent intvl represents total bytes sent in a current sampling period, total_pkts_ack intvl represents total bytes acknowledged in the current sampling period, and loss_rate represents the loss rate of the sampled packet.

6 . The method of claim 5 , wherein the sending rate and the loss rate of the sampled packet conform to a numerical relationship indicated by:

send_rate

=

ack_rate

1

-

loss_rate

wherein send_rate and ack_rate represent the sending rate and the acknowledgement rate of the sampled packet respectively.

7 . The method of claim 1 , wherein the transformed loss rate of an i-th sample in the sliding window is determined based on a result of an equation expressed as:

loss_trans

i

=

1

/

(

1

-

loss_rate

i

)

wherein loss_trans i represents the transformed loss rate of the i-th sample, and loss_rate i represents the loss rate of the i-th sample.

8 . The method of claim 7 , wherein the correlation coefficient is determined based on a result of an equation expressed as:

r

=

i

=

1

W

(

(

send_rate

i

-

send_rate

_

)

*

(

loss_trans

i

-

loss_trans

_

)

)

i

=

1

W

(

send_rate

i

-

send_rate

_

)

2

*

i

=

1

W

(

loss_trans

i

-

loss_trans

_

)

2

wherein r represents the correlation coefficient, W represents the predetermined number for the sliding window, and send_rate i represents the sending rate of the i-th sample.

9 . The method of claim 1 , further comprising:

in response to the number of sampled packets in the sliding window exceeding the predetermined number and before determining the correlation coefficient, removing a sampled packet having an earliest timestamp from the sliding window until the number of the sampled packets in the sliding window is at the predetermined number.

10 . The method of claim 1 , wherein the estimated rate limit for traffic policing is determined by an average of the acknowledgement rates for all sampled packets in the sliding window.

11 . A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations according to the method of claim 1 .

12 . An apparatus of traffic policing detection and rate limit estimation for a network, comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

select, from the network, sampled packets having a loss rate greater than a first threshold, wherein the selected sampled packets are added to a sliding window for traffic policing detection;

in response to a number of sampled packets in the sliding window reaching a predetermined number, determine a correlation coefficient based on a sending rate and the loss rate of at least one sampled packet in the sliding window;

in response to the correlation coefficient exceeding a second threshold, determine whether traffic policing is occurring in the network based on the sending rate and a transformed loss rate of the at least one sampled packet in the sliding window; and

in response to a determination that traffic policing is occurring in the network, determine an estimated rate limit for traffic policing in the network based on an acknowledgement rate of the at least one sampled packet in the sliding window, and adjust bandwidth estimation (BWE) for congestion control in the network based on the estimated rate limit for traffic policing.

13 . The apparatus of claim 12 , wherein at least one of:

the correlation coefficient is determined based on the sending rate and the loss rate of each sampled packet in the sliding window;

whether traffic policing is occurring in the network is determined based on the sending rate and the transformed loss rate of each sampled packet in the sliding window; or

the estimated rate limit for traffic policing in the network is determined based on the acknowledgement rate of each sampled packet in the sliding window.

14 . The apparatus of claim 12 , wherein the instructions to determine whether traffic policing is occurring in the network based on the sending rate and the transformed loss rate of at least one sampled packet in the sliding window comprise instructions to:

determine an intercept by linear fitting the sending rate and the transformed loss rate of the at least one sampled packet in the sliding window; and

determine whether traffic policing is occurring in the network based on the intercept.

15 . The apparatus of claim 14 , wherein the instructions to determine whether traffic policing is occurring in the network based on the intercept comprise instructions to:

in response to a determination that a transformed intercept is within a third threshold, determine that traffic policing is occurring in the network, wherein the transformed intercept is determined from the intercept; and

in response to a determination that the transformed intercept exceeds the third threshold, determine that no traffic policing is occurring in the network.

16 . The apparatus of claim 12 , wherein the loss rate of a sampled packet is determined based on a result of an equation expressed as:

loss_rate

=

total_pkts

_sent

intvl

-

total_pkts

_ack

intvl

total_pkts

_sent

intvl

wherein total_pkts_sent intvl represents total bytes sent in a current sampling period, total_pkts_ack intvl represents total bytes acknowledged in the current sampling period, and loss_rate represents the loss rate of the sampled packet.

17 . The apparatus of claim 16 , wherein the sending rate and the loss rate of the sampled packet conform to a numerical relationship indicated by:

send_rate

=

ack_rate

1

-

loss_rate

wherein send_rate and ack_rate represent the sending rate and the acknowledgement rate of the sampled packet respectively.

18 . The apparatus of claim 12 , wherein the transformed loss rate of an i-th sample in the sliding window is determined based on a result of an equation expressed as:

loss_trans

i

=

1

/

(

1

-

loss_rate

i

)

wherein loss_trans i represents the transformed loss rate of the i-th sample, and loss_rate i represents the loss rate of the i-th sample.

19 . The apparatus of claim 18 , wherein the correlation coefficient is determined based on a result of an equation expressed as:

r

=

i

=

1

W

(

(

send_rate

i

-

send_rate

_

)

*

(

loss_trans

i

-

loss_trans

_

)

)

i

=

1

W

(

send_rate

i

-

send_rate

_

)

2

*

i

=

1

W

(

loss_trans

i

-

loss_trans

_

)

2

wherein r represents the correlation coefficient, W represents the predetermined number for the sliding window, and send_rate i represents the sending rate of the i-th sample.

20 . The apparatus of claim 12 , wherein the instructions stored in the memory further comprise instructions to:

in response to the number of sampled packets in the sliding window exceeding the predetermined number and before determining the correlation coefficient, remove a sampled packet having an earliest timestamp from the sliding window until the number of the sampled packets in the sliding window is at the predetermined number.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2024
From: QIAN, YICHEN; ZHUANG, ZESEN
To: AGORA LAB, INC.
Reel/Frame 066022/0396 →
Continuity (1)
Related Publication 20250227068A1 · Jul 10, 2025
References Cited (21)
US 9294961B2 · Meredith · 2016 [cited by examiner]
US 11128700B2 · Rao · 2021 [cited by examiner]
US 11523002B2 · Stepnioski · 2022 [cited by examiner]
US 20070121596A1 · Kurapati · 2007 [cited by examiner]
US 20080037420A1 · Tang · 2008 [cited by examiner]
US 20080043625A1 · Cohen · 2008 [cited by examiner]
US 20100274885A1 · Yoo · 2010 [cited by examiner]
US 20140169162A1 · Romano · 2014 [cited by examiner]
US 20150029864A1 · Raileanu · 2015 [cited by examiner]
US 20170366467A1 · Martin · 2017 [cited by examiner]
US 20190372857A1 · Gandhi · 2019 [cited by examiner]
US 20230063243A1 · St. Pierre · 2023 [cited by examiner]
US 20240430206A1 · Zhao · 2024 [cited by examiner]
EP 2237503A1 · 2010 [cited by examiner]
EP 2247042A1 · 2010 [cited by examiner]
EP 2723021A1 · 2014 [cited by examiner]
WO WO2007127332A2 · 2007 [cited by examiner]
WO WO2009012811A1 · 2009 [cited by examiner]
WO 2020040060 A1 (Year: 2020). [cited by examiner]
Flach T, Papageorge P, Terzis A, et al. An internet-wide analysis of traffic policing[C]//Proceedings of the 2016 ACM SIGCOMM Conference. 2016: 468-482. [cited by applicant]
QoS: Regulating Packet Flow Configuration Guide, Cisco IOS Release 15M American Headquarters; San Jose, CA; pp. 1-34; Feb. 20, 2013. [cited by applicant]