Apparatus and method for multilateral one-way communication
US-2015365346-A1 · Dec 17, 2015 · US
US9860184B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9860184-B2 |
| Application number | US-201414908158-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 31, 2014 |
| Priority date | Jul 31, 2013 |
| Publication date | Jan 2, 2018 |
| Grant date | Jan 2, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Rate modification at the source after receiving feedback · CPC title
by tagging of packets, e.g. using discard eligibility [DE] bits · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.