IP Library Granted Patent US 10,779,188
Granted Patent B2
US 10,779,188 · App. 16/123,830 · Granted Sep 15, 2020

Uplink bandwidth estimation over broadband cellular networks

Inventors: Keith Neil Mark Dsouza (Pacifica, CA); Shivaji Pundlik Diwane (Pleasanton, CA); Madhusudana Rao Kata (Pleasonton, CA); Sendilvadivu Ganesan (Milpitas, CA); Divya Sudhakaran Pillai (Newark, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04W28/0278H04L43/0888H04L43/0894H04W28/18H04W72/1284H04W84/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 10,779,188
App. No.
16/123,830
Granted
Sep 15, 2020
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 (67)

1. A system for estimating throughput from user equipment to an eNodeB, the system comprising:

at least one processor; and

at least one memory storing instructions, which when executed by the at least one processor, causes the at least one processor to:

modify a buffer status report to yield a modified buffer status report associated with a bandwidth estimation buffer;

report, to one or more eNodeB, the modified buffer status report;

calculate a required throughput to satisfying transmitting a data amount stored at a regular buffer;

receive, from the one or more eNodeB, uplink grants;

transmit data from the regular buffer;

calculate estimated throughput from the user equipment;

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

when the estimated throughput is insufficient to service the data amount, determine whether a counter value for a counter associated with the bandwidth estimation buffer is less than a threshold value; and

when the counter value is less than the threshold value, record the estimated throughput, increment the counter, report a padding amount, and pad the bandwidth estimation buffer with the padding amount.

2. The system of claim 1 , wherein the buffer status report is modified by an application programming interface.

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:

determine an amount of data to be sent from the regular buffer;

determine the padding amount from the bandwidth estimation buffer;

combine the amount of data to be sent from the regular buffer and the padding amount to yield a combined amount; and

modify the buffer status report with the combined amount.

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 estimated throughput is sufficient to service the data amount stored the regular buffer, determine maximum throughput calculated over one or more packet data networks from the user equipment, and determine the padding amount by subtracting the estimated throughput from the maximum throughput.

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:

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 bandwidth estimation buffer, and reset the bandwidth estimation buffer.

6. The system of claim 1 , wherein emptying the bandwidth estimation buffer includes zeroing out the bandwidth estimation buffer.

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

8. A method for estimating throughput from user equipment to an eNodeB, the method comprising:

modifying a buffer status report to yield a modified buffer status report associated with a bandwidth estimation buffer;

reporting, to one or more eNodeB, the modified buffer status report;

calculating a required throughput to satisfying transmitting a data amount stored at a regular buffer;

receiving, from the one or more eNodeB, uplink grants;

transmitting, data from the regular buffer;

calculating estimated throughput from the user equipment;

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

when the estimated throughput is insufficient to service the data amount, determining whether a counter value for a counter associated with the bandwidth estimation buffer is less than a threshold value; and

when the counter value is less than the threshold value, recording the estimated throughput, incrementing the counter, reporting a padding amount and padding the bandwidth estimation buffer with the padding amount.

9. The method of claim 8 , wherein the buffer status report is modified by an application programming interface.

10. The method of claim 8 , wherein the modifying of the buffer status report includes:

determining an amount of data to be sent from the regular buffer;

determining the padding amount from the bandwidth estimation buffer;

combining the amount of data to be sent from the regular buffer and the padding amount to yield a combined amount; and

modifying the buffer status report with the combined amount.

11. The method of claim 8 , further comprising:

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

12. The method of claim 8 , 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 bandwidth estimation buffer, and resetting the bandwidth estimation buffer.

13. The method of claim 12 , wherein the emptying of the bandwidth estimation buffer includes zeroing out the bandwidth estimation buffer.

14. The method of claim 8 , wherein the threshold value is 5.

15. 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:

modify a buffer status report to yield a modified buffer status report associated with a bandwidth estimation buffer;

report, to one or more eNodeB, the modified buffer status report;

calculate a required throughput to satisfying transmitting a data amount stored at a regular buffer;

receive, from the one or more eNodeB, uplink grants;

transmit, data from the regular buffer;

calculate estimated throughput from the user equipment;

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

when the estimated throughput is insufficient to service the data amount, determine whether a counter value for a counter associated with the bandwidth estimation buffer is less than a threshold value; and

when the counter value is less than the threshold value, record the estimated throughput, increment the counter, report a padding amount, and pad the bandwidth estimation buffer with the padding amount.

16. The non-transitory computer readable medium of claim 15 , wherein the buffer status report is modified by an application programming interface.

17. The non-transitory computer readable medium of claim 15 , comprising further instructions, which when executed by the at least one processor, causes the at least one processor to:

determine an amount of data to be sent from the regular buffer;

determine the padding amount from the bandwidth estimation buffer;

combine the amount of data to be sent from the regular buffer and the padding amount to yield a combined amount; and

modify the buffer status report with the combined amount.

18. The non-transitory computer readable medium of claim 15 , comprising further instructions, which when executed by the at least one processor, causes the at least one processor to:

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

19. The non-transitory computer readable medium of claim 15 , 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 bandwidth estimation buffer, and reset the bandwidth estimation buffer.

20. The non-transitory computer readable medium of claim 19 , wherein emptying the bandwidth estimation buffer includes zeroing out the bandwidth estimation buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: DSOUZA, KEITH NEIL MARK; DIWANE, SHIVAJI PUNDLIK; KATA, MADHUSUDANA RAO; GANESAN, SENDILVADIVU; PILLAI, DIVYA SUDHAKARAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046813/0876 →
Continuity (1)
Related Publication 20200084658A1 · Mar 12, 2020