Fast friendly start for a data flow

US9860184B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9860184-B2
Application numberUS-201414908158-A
CountryUS
Kind codeB2
Filing dateJul 31, 2014
Priority dateJul 31, 2013
Publication dateJan 2, 2018
Grant dateJan 2, 2018

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.

Disclosed is a method and apparatus for a packet data flow to use markings on packets ( 93, 94 ) that indicate the longest instantaneous queue length on a path in order to rapidly increase the flow rate up to an available capacity of a network node without overshoot, in order to avoid the TCP Slow start process.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for initialising a flow of packets between a source node and a node along a path in a network, comprising at the source node: sending one or more initial burst of packets over a round-trip at a chosen rate; receiving from the network node a sequence of feedback packets each having a tag status value, wherein the network node is arranged in operation to indicate a queue length at the network node at the arrival of a packet from the initial burst or bursts of packets, checking, at the time of arrival of said packet, if any packet already in a queue has upon leaving the queue a status tag set to said first status value; and if so changing the tag status value of the received packet to a different status value; estimating from the sequence a mismatch between the chosen rate and a rate available at the network node; and sending a further burst of packets using a fraction of said initially chosen rate. 2. A method according to claim 1 where the initial burst of packets comprises 6 to 12 packets. 3. A method according to claim 1 comprising varying the spacing between packets over the round-trip. 4. A method according to claim 3 wherein the spacing between packets is varied by varying the size of the packets. 5. A method according to claim 3 wherein the spacing is measured in packets, in bytes or in time. 6. A method according to claim 1 comprising the source node further releasing a paced sequence of packets at a higher rate than the estimated achievable rate of the network node in order to induce a slight queue at the network node, and in the next round of sent packets calibrating the estimate of the network node rate by comparing a determined queue growth with an expected queue growth. 7. A method according to claim 6 comprising the source node monitoring the tag status value relating to the first packet in each burst of packets in order to estimate a level of competing traffic. 8. A method according to claim 1 further comprising the source node measuring an inter-arrival time between pairs of acknowledgment packets returning from the initial burst and accumulating a running average in order to derive an initial estimate of delay at the network node. 9. A method according to claim 1 further comprising determining a mismatch ratio between the rate at which the source node sends packets to the network node and the rate achievable at said network node by determining from said received sequence of tag status values a spacing between a received packet having a status tag set to said first status value and the previously received packet having a status tag set to said first status value; and calculating said mismatch ratio by dividing the determined spacing by the most recent, previously determined spacing. 10. A method according to claim 9 , wherein the calculating step is implemented as a repeated addition. 11. A method according to claim 9 comprising the source node adjusting the size of a sending window or rate based on the rate mismatch ratio. 12. A non-transitory computer readable storage medium storing a computer program or a suite of computer programs, which upon execution by a computer, performs the method according to claim 1 . 13. A source node arranged in operation to determine a mismatch ratio between a rate at which the source node is configured to send packets to one or more nodes along a path in a network and the available capacity of at least one of said nodes, said source node comprising: a receiving module arranged to receive a sequence of tag status values associated with packets which have been routed via one or more of said other nodes, wherein at least one of said nodes is arranged in operation to indicate its queue length by, upon receiving a packet carrying a status tag set to a first status value, to check at the time of arrival of said packet, if any packet already in a queue has upon leaving the queue a status tag set to said first status value; and if so to change the tag status value of the received packet to a different status value; a module arranged to determine the spacing between a received packet having a tag status value set to said first status value and the previously received packet having a tag status set to said first status value; and a calculation module arranged to calculate said mismatch ratio by dividing the determined spacing by the most recent, previously determined spacing. 14. A method for distinguishing between transmission losses and congestion losses in a packet network comprising: receiving at a source node a sequence of tag status values associated with packets which have been routed via one or more other nodes in a network, wherein at least one of said other nodes is arranged in operation to indicate its queue length by the spacing between packets associated with a first tag status value; detecting a loss of packets; determining from said sequence of tag status values a first spacing between a pair of packets having said first tag status value, which packets were received before said loss, and optionally a second spacing between a pairs of packets having said first tag status value, which packets were received after said loss; determining from said spacing or spacings the length of the queue before the loss and optionally the length of the queue after the loss; and if the length of each queue is less than a defined number of packets categorising the loss as a transmission loss. 15. A method for initialising a flow of packets between a source node and a node along a path in a network, comprising at the source node: sending one or more initial burst of packets over a round-trip at a chosen rate; receiving from the network node a sequence of feedback packets, said sequence indicating a queue length at the network node at the arrival of a packet from the initial burst or bursts of packets; estimating from the sequence a mismatch between the chosen rate and a rate available at the network node; sending a further burst of packets using a fraction of said initially chosen rate; and releasing a paced sequence of packets at a higher rate than the estimated achievable rate of the network node in order to induce a slight queue at the network node, and in the next round of sent packets calibrating the estimate of the network node rate by comparing a determined queue growth with an expected queue growth.

Assignees

Inventors

Classifications

  • H04L47/26Primary

    using explicit feedback to the source, e.g. choke packets · CPC title

  • in combination with information about buffer occupancy at either end or at transit nodes · CPC title

  • Round trip delays · CPC title

  • H04L47/263Primary

    Rate modification at the source after receiving feedback · CPC title

  • by tagging of packets, e.g. using discard eligibility [DE] bits · 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 US9860184B2 cover?
Disclosed is a method and apparatus for a packet data flow to use markings on packets ( 93, 94 ) that indicate the longest instantaneous queue length on a path in order to rapidly increase the flow rate up to an available capacity of a network node without overshoot, in order to avoid the TCP Slow start process.
Who is the assignee on this patent?
British Telecomm
What technology area does this patent fall under?
Primary CPC classification H04L47/26. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 02 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).