Efficient bandwidth estimation

US9608934B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9608934-B1
Application numberUS-201414317441-A
CountryUS
Kind codeB1
Filing dateJun 27, 2014
Priority dateNov 11, 2013
Publication dateMar 28, 2017
Grant dateMar 28, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for efficient bandwidth estimation are described herein. In some cases, the bandwidth estimation techniques disclosed herein may, for example, calculate bandwidth based on multiple packet groups transmitted at different times. Additionally, in some cases, the bandwidth estimation techniques disclosed herein may, for example, capture cross traffic and its effects on bandwidth. Furthermore, in some cases, the bandwidth estimation techniques disclosed herein may, for example, employ dynamic self-correcting techniques for more reliable estimates.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for performing an estimation of a bandwidth for communication between a server compute node and a client compute node comprising: the server compute node that transmits a first packet group and a second packet group, a transmission of the first packet group starting with a first start packet and ending with a first end packet, a transmission of the second packet group starting with a second start packet and ending with a second end packet, the server compute node determining a first transmit time indicator that indicates a time associated with the transmission of the first packet group and a second transmit time indicator that indicates a time associated with the transmission of the second packet group; the client compute node that receives the first packet group and the second packet group and that determines at least a first start packet receive time indicator that indicates a time associated with receiving of the first start packet, a first end packet receive time indicator that indicates a time associated with receiving of the first end packet and a second end packet receive time indicator that indicates a time associated with receiving of the second end packet; one or more processors; and one or more memories having stored therein instructions that, upon execution by the one or more processors, cause the system to perform the estimation of the bandwidth based, at least in part, on a ratio between a first value and a second value, the first value determined based, at least in part, on a number of bits included in the first packet group excluding the first start packet and a number of bits included in the second packet group excluding the second start packet, the second value determined based, at least in part, on a difference between the second transmit time indicator and the first transmit time indicator, the first start packet receive time indicator and the first and the second end packet receive time indicators, wherein the server compute node transmits additional data to the client compute node in accordance with one or more transmission attributes determined based, at least in part, on the estimation of the bandwidth. 2. The system of claim 1 , wherein an effect of cross traffic is captured in the estimation of the bandwidth. 3. The system of claim 1 , wherein the second value is calculated based on a difference between a first group term and a second group term, wherein the first group term is calculated based on a difference between the second end packet receive time indicator and the first start packet receive time indicator, wherein the second group term is calculated based on a difference between a first amount and a second amount, wherein the first amount is calculated based on the difference between the second transmit time indicator and the first transmit time indicator, and wherein the second amount is calculated based on a difference between the first end packet receive time indicator and the first start packet receive time indicator. 4. The system of claim 1 , wherein data associated with the first packet group and data associated with the second packet group are given different weights in association with the estimation of the bandwidth. 5. A computer-implemented method performing an estimation of a bandwidth for communication between compute nodes comprising: receiving a first packet group, wherein a first transmit time indicator indicates a time associated with transmission of the first packet group, the transmission of the first packet group starting with a first start packet and ending with a first end packet; determining a first start packet receive time indicator that indicates a time associated with receiving of the first start packet and a first end packet receive time indicator that indicates a time associated with receiving of the first end packet; receiving a second packet group, wherein a second transmit time indicator indicates a time associated with transmission of the second packet group, the transmission of the second packet group starting with a second start packet and ending with a second end packet; determining a second end packet receive time indicator that indicates a time associated with receiving of the second end packet; and performing the estimation of the bandwidth based, at least in part, on a ratio between a first value and a second value, the first value determined based, at least in part, on a number of bits included in the first packet group excluding the first start packet and a number of bits included in the second packet group excluding the second start packet, the second value determined based, at least in part, on a difference between the second transmit time indicator and the first transmit time indicator, the first start packet receive time indicator and the first and the second end packet receive time indicators. 6. The computer-implemented method of claim 5 , wherein data associated with the first packet group and data associated with the second packet group are given different weights in association with the estimation of the bandwidth. 7. The computer-implemented method of claim 6 , wherein the different weights are determined based, at least in part, on at least one of a credibility or a regularity of the data associated with the first packet group and the data associated with the second packet group. 8. The computer-implemented method of claim 5 , wherein an effect of cross traffic is captured in the estimation of the bandwidth. 9. The computer-implemented method of claim 5 , wherein the second value is calculated based on a difference between a first group term and a second group term, wherein the first group term is calculated based on a difference between the second end packet receive time indicator and the first start packet receive time indicator, wherein the second group term is calculated based on a difference between a first amount and a second amount, wherein the first amount is calculated based on the difference between the second transmit time indicator and the first transmit time indicator, and wherein the second amount is calculated based on a difference between the first end packet receive time indicator and the first start packet receive time indicator. 10. The computer-implemented method of claim 5 , wherein the estimation of the bandwidth is assigned a weight relative to one or more prior calculated bandwidth estimations. 11. The computer-implemented method of claim 5 , further comprising determining whether each of the first and second packet group has exceeded a loss ratio threshold. 12. The computer-implemented method of claim 5 , further comprising: sending an indication of the estimation of the bandwidth; and receiving additional data that is transmitted in accordance with one or more transmission attributes determined based, at least in part, on the estimation of the bandwidth. 13. The computer-implemented method of claim 12 , wherein the one or more transmission attributes comprise at least one of an encoding bitrate or an applied proportion of forward error correction. 14. One or more non-transitory computer-readable storage media having stored thereon instructions that, upon execution on at least one compute node, cause the at least one compute node to perform operations comprising: receiving a first packet group, wherein a first transmit time indicator indicates a time associated with transmission of the first packet group, the transmission of the first packet group starting with a first start packet and ending with a first end packet; determining a first start packet receive time indicator that indicates a time assoc

Assignees

Inventors

Classifications

  • Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · CPC title

  • Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451) · CPC title

  • A63F13/355Primary

    Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client · CPC title

  • considering the load · CPC title

  • Packet rate · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9608934B1 cover?
Techniques for efficient bandwidth estimation are described herein. In some cases, the bandwidth estimation techniques disclosed herein may, for example, calculate bandwidth based on multiple packet groups transmitted at different times. Additionally, in some cases, the bandwidth estimation techniques disclosed herein may, for example, capture cross traffic and its effects on bandwidth. Further…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification A63F13/355. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Tue Mar 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).