IP Library Granted Patent US 11,864,020
Granted Patent B2
US 11,864,020 · App. 17/014,647 · Granted Jan 2, 2024

Uplink bandwidth estimation over broadband cellular networks

Inventors: Keith Neil Mark Dsouza (Pacifica, CA); Shivaji Pundlik Diwane (Pleasanton, CA); Madhusudana Rao Kata (Pleasanton, CA); Sendilvadivu Ganesan (Milpitas, CA); Divya Sudhakaran Pillai (Newark, CA)
Assignee: Cisco Technology, Inc.
H04W28/0278H04L43/0888H04L43/0894H04W28/18H04W72/21H04W84/045
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 11,864,020
App. No.
17/014,647
Granted
Jan 2, 2024
Kind
B2
Abstract

Disclosed are methods, systems and non-transitory computer readable mediums for estimating bandwidth over packet data networks, for example, 5G networks. The methods, systems and non-transitory computer readable mediums can include modifying a buffer status report (e.g., via application programming interface) and reporting, to an eNodeB, the modified buffer status report. The methods, systems and non-transitory computer readable mediums can also include calculating the required throughput to satisfying transmitting a data amount stored at a regular buffer, receiving, from the eNodeB, uplink grants and transmitting, data from the regular buffer. The methods, systems and non-transitory computer readable mediums can also include calculating estimated throughput from the user equipment, determining if the estimated throughput services the data amount stored at the regular buffer and in response to the estimated throughput being insufficient to service the data amount stored the regular buffer, determining if a counter is less than a threshold value.

Claims (58)

1. A system comprising:

at least one processor; and

at least one memory storing instructions, which when executed by the at least one processor, cause the at least one processor to perform operations comprising:

determine a data amount in a first buffer;

calculate an estimated throughput needed to satisfy the data amount in the first buffer;

determine whether the estimated throughput is sufficient to service the data stored at the first buffer;

determine, in response to the throughput being determined to be insufficient to service the data, whether a counter value for a counter is less than a threshold value;

empty, in response to the counter value being above the threshold, a second buffer;

in response to the counter value being less than the threshold value:

pad the second buffer with a padding amount;

incrementing the counter value; and

iteratively repeating the operations by returning to the calculating with the incremented counter value.

2. The system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to:

when the counter value is less than the threshold value, report the padding amount and increment the counter.

3. The system of claim 1 , wherein the at least one memory comprising further instructions, which when executed by the at least one processor, causes the at least one processor to:

when the throughput is sufficient to service the data stored in the first buffer, determine maximum throughput calculated over one or more packet data networks from user equipment, and determine the padding amount by subtracting the throughput from the maximum throughput.

4. The system of claim 1 , wherein the at least one memory comprising further instructions, which when executed by the at least one processor, causes the at least one processor to:

when the counter is equal to or greater than the threshold value, calculate an average throughput over one or more estimated throughput values, report the average throughput, empty the second buffer, and reset the second buffer.

5. The system of claim 1 , wherein the at least one memory comprising further instructions, which when executed by the at least one processor, causes the at least one processor to:

empty the second buffer and zero out the second buffer.

6. The system of claim 1 , wherein the threshold value is 5.

7. A method comprising:

determining a data amount in a first buffer;

calculating an estimated throughput needed to satisfy the data amount in the first buffer;

determining whether the estimated throughput is sufficient to service the data stored at the first buffer;

determining, in response to the throughput being determined to be insufficient to service the data, whether a counter value for a counter is less than a threshold value;

emptying, in response to the counter value being above the threshold, a second buffer;

in response to the counter value being less than the threshold value:

padding the second buffer with a padding amount;

incrementing the counter value; and

iteratively repeating the method by returning to the calculating with the incremented counter value.

8. The method of claim 7 , further comprising:

when the counter value is less than the threshold value, reporting the padding amount and incrementing the counter.

9. The method of claim 7 , further comprising:

when the throughput is sufficient to service the data, determining maximum throughput calculated over one or more packet data networks from user equipment, and determining the padding amount by subtracting the throughput from the maximum throughput.

10. The method of claim 7 , further comprising:

when the counter is equal to or greater than the threshold value, calculating an average throughput over one or more estimated throughput values, reporting the average throughput, emptying the second buffer, and resetting the second buffer.

11. The method of claim 10 , further comprising:

emptying the second buffer and zeroing out the second buffer.

12. The method of claim 7 , wherein the threshold value is 5.

13. A non-transitory computer readable medium, for estimating throughput from user equipment to an eNodeB, storing instructions which when executed by at least one processor, cause the at least one processor to perform operations comprising:

determine a data amount in a first buffer;

calculate an estimated throughput needed to satisfy the data amount in the first buffer;

determine whether the estimated throughput is sufficient to service the data stored at the first buffer;

determine, in response to the throughput being determined to be insufficient to service the data, whether a counter value for a counter is less than a threshold value;

empty, in response to the counter value being above the threshold, a second buffer;

in response to the counter value being less than the threshold value:

pad the second buffer with a padding amount;

incrementing the counter value; and

iteratively repeating the method by returning to the calculating with the incremented counter value.

14. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to:

when the counter value is less than the threshold value, report the padding amount and increment the counter.

15. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to:

when the throughput is sufficient to service the data, determine maximum throughput calculated over one or more packet data networks from the user equipment, and determine the padding amount by subtracting the throughput from the maximum throughput.

16. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to:

when the counter is equal to or greater than the threshold value, calculate an average throughput over one or more estimated throughput values, report the average throughput, empty the second buffer, and reset the second buffer.

17. The non-transitory computer readable medium of claim 16 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to:

empty the second buffer includes zero out the second buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2020
From: DSOUZA, KEITH NEIL MARK; DIWANE, SHIVAJI PUNDLIK; KATA, MADHUSUDANA RAO; GANESAN, SENDILVADIVU; PILLAI, DIVYA SUDHAKARAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 053714/0838 →
Continuity (2)
Continuation 16123830 · Sep 6, 2018
Related Publication 20200404535A1 · Dec 24, 2020
Cited By (1)
US 12,432,663