TCP-friendly markers and methods using token buckets
AssigneeNokia Corporation
InventorsHaitao Wu, Keping Long, Shiduan Cheng, Jian Ma, Qian Wang, Runtong Zhang
Life of this patent
Estimating the term…
Abstract
Systems and methods are disclosed for marking a packet with a precedence value in a TCP-friendly way. One system and method marks packets with a precedence value based on a probability function. Another system and method marks packets with one of three precedence values based on network traffic but enables interleaving of differently marked packets when a certain number of packets have been successively marked with a low or medium precedence value.
Claims30
A method, comprising:
- receiving a packet;
- determining a number of tokens in a token bucket;
- calculating a probability for marking the received packet with a precedence level when the number of tokens in the token bucket are between a first threshold and a second threshold;
- and
- marking the packet for a particular forwarding treatment using at least one token bucket,
- wherein, there is an increased probability of marking the packet with a higher precedence level than a previously marked packet if the previously marked packet had a low precedence level.
A system, comprising:
- a receiving engine configured to receive a packet to be marked;
- a marker engine, communicatively coupled to the receiving engine, configured to determine the number of tokens in a token bucket;
- a probability engine, communicatively coupled to the marker engine, configured to calculate a probability to be used to mark the received packet with a precedence level when the number of tokens in the token bucket are between a first threshold and a second threshold;
- wherein
- the marking engine is configured to mark packet for a particular forwarding treatment using at least one token bucket,
- wherein, there is an increased probability of that the packet will be marked with a higher precedence level than a previously marked packet if the previously marked packet had a low precedence level.
A computer program embodied on a computer readable medium, said computer program configured to control a processor to perform:
- receiving a packet;
- determining a number of tokens in a token bucket;
- calculating a probability for marking the received packet with a precedence level when the number of tokens in the token bucket are between a first threshold and a second threshold;
- and
- marking the packet for a particular forwarding treatment using at least one token bucket,
- wherein, there is an increased probability of marking the packet with a higher precedence level than a previously marked packet if the previously marked packet had a low precedence level.
A system, comprising:
- receiving means for receiving a packet;
- determining means for determining a number of tokens in a token bucket;
- calculating means for calculating a probability for marking the received packet with a precedence level when the number of tokens in the token bucket are between a first threshold and a second threshold;
- and
- marking means for marking the packet for a particular forwarding treatment using at least one token bucket,
- wherein, there is an increased probability of marking the packet with a higher precedence level than a previously marked packet if the previously marked packet had a low precedence level.
A method, comprising:
- receiving a packet;
- determining a number of tokens in a first token bucket;
- determining a precedence value used to mark the packet based on the determined number of tokens;
- upgrading the determined precedence value to a higher precedence value when a pre-specified number of previously received packets were marked with the same determined precedence value;
- and
- marking the packet for a particular forwarding treatment using at least one token bucket.
A system, comprising:
- a receiving engine configured to receive a packet;
- a marker engine, communicatively coupled to the receiving engine, configured to determine a number of tokens in a first token bucket and configured to determine a precedence value used to mark the packet based on the determined number of tokens;
- and
- an upgrade engine, communicatively coupled to the marker engine, configured to upgrade the determined precedence value to a higher precedence value when a pre-specified number of previously received packets were marked with the same determined precedence value, wherein
- the marking engine is configured to mark the packet for a particular forwarding treatment using at least one token bucket.
A computer program embodied on a computer readable medium, said computer program configured to control a processor to perform:
- receiving a packet;
- determining a number of tokens in a first token bucket;
- determining a precedence value used to mark the packet based on the determined number of tokens;
- upgrading the determined precedence value to a higher precedence value when a pre-specified number of previously received packets were marked with the same determined precedence value;
- and
- marking the packet for a particular forwarding treatment using at least one token bucket.
A system, comprising:
- receiving means for receiving a packet;
- token determining means for determining a number of tokens in a first token bucket;
- precedence value determining means for determining a precedence value for marking the packet based on the determined number of tokens;
- upgrading means for upgrading the determined precedence value to a higher precedence value when a pre-specified number of previously received packets were marked with the same determined precedence value;
- and
- packet marking means for marking the packet for a particular forwarding treatment using at least one token bucket.
An apparatus, comprising:
- a receiving engine configured to receive a packet to be marked;
- a marker engine, communicatively coupled to the receiving engine, configured to determine the number of tokens in a token bucket;
- and
- a probability engine, communicatively coupled to the marker engine, configured to calculate a probability to be used to mark the received packet with a precedence level when the number of tokens in the token bucket are between a first threshold and a second threshold wherein
- the marking engine is configured to mark packet for a particular forwarding treatment using at least one token bucket,
- wherein, there is an increased probability of that the packet will be marked with a higher precedence level than a previously marked packet if the previously marked packet had a low precedence level.
An apparatus, comprising:
- a receiving engine configured to receive a packet;
- a marker engine, communicatively coupled to the receiving engine, configured to determine a number of tokens in a first token bucket and configured to determine a precedence value used to mark the packet based on the determined number of tokens;
- and
- an upgrade engine, communicatively coupled to the marker engine, configured to upgrade the determined precedence value to a higher precedence value when a pre-specified number of previously received packets were marked with the same determined precedence value, wherein
- the marking engine is configured to mark the packet for a particular forwarding treatment using at least one token bucket.
Dependencies are inferred from the claim text.