System for congestion control in packet networks
AssigneeLeanics Corporation
InventorsAaron E. Cohen, Keshab K. Parhi
Life of this patent
Estimating the term…
Abstract
Variable Rate Congestion Controllers and methods for implementing Variable Rate Congestion Control are presented. An efficient and systematic method for performing variable rate network congestion control is presented. A selection mechanism is selected such that the end result for the network congestion control is that each variable rate network flow suffers approximately equally through the congested node. This achieves a fair policy of implementing Quality of Service for variable rate streaming data.
Claims20
A network decongestion router with variable data-rate packets from N (N>=1 and an integer) sources as inputs comprising:
- a comparison of available output flow rate and input flow rate of the router,
- outputting of all variable data-rate packets if the output flow rate is greater than or equal to the input flow rate,
- otherwise, assigning indexes 1 to M (where M>=1 and is an integer) for all M packets at the input of the router;
- assigning non-negative integer priority labels 1 to P_i corresponding to frames of packet i, where i ranges from 1 to M, and let P_Max be the maximum of all the highest priority labels of all packets;
- repeat for each packet index from 1 to M incrementing by 1 at each step;
- and repeat for each index priority label from P_Max to 1 decrementing by 1 at each step;
- drop data of the frame corresponding to current priority label of current packet until the output flow rate is greater than or equal to the modified flow rate updated after deleting data from the selected frame
A network decongestion router with variable data-rate packets from N (N>=1 and an integer) sources as inputs comprising:
- a comparison of available output flow rate and input flow rate of the router,
- outputting of all variable data-rate packets if the output flow rate is greater than or equal to the input flow rate,
- otherwise, assigning indexes 1 to M (where M>=1 and is an integer) for all M packets at the input of the router;
- assigning non-negative integer priority labels 1 to P_i corresponding to frames of packet i, where i ranges from 1 to M, and let P_Max be the maximum of all the highest priority labels of all packets;
- start with an empty list of packets to be outputted;
- repeat for each packet index from 1 to M incrementing index by 1 at each step;
- repeat for each priority label from 1 to P_Max incrementing by 1 at each step;
- add data of the frame corresponding to current priority label of current packet number as long as the output flow rate is greater than or equal to the modified flow rate updated after adding data from the selected frame
A network decongestion router with variable data-rate packets from N (N>=1 and an integer) sources as inputs comprising:
- a comparison of available output flow rate and input flow rate of the router,
- outputting of all variable data-rate packets if the output flow rate is greater than or equal to the input flow rate,
- otherwise, assign indexes 1 to M (where M>=1 and is an integer) for all M packets at the input of the router;
- assigning non-negative integer priority labels 1 to P_i corresponding to frames of packet i, where i ranges from 1 to M, and let P_Max be the maximum of all the highest priority labels of all packets, where data of a lower priority label frame is more important than a higher priority label frame;
- repeat for each index priority label from P_Max to 1 decrementing by 1 at each step;
- and repeat for each packet index from 1 to M incrementing by 1 at each step;
- drop data of the frame corresponding to current priority label of current packet until the output flow rate is greater than or equal to the modified flow rate updated after deleting data from the selected frame
A network decongestion router with variable data-rate packets from N (N>=1 and an integer) sources as inputs comprising:
- a comparison of available output flow rate and input flow rate of the router,
- outputting of all variable data-rate packets if the output flow rate is greater than or equal to the input flow rate,
- otherwise, assigning indexes 1 to M (where M>=1 and is an integer) for all M packets at the input of the router;
- assigning non-negative integer priority labels 1 to P_i corresponding to frames of packet i, where i ranges from 1 to M, and let P_Max be the maximum of all the highest priority labels of all packets;
- start with an empty list of packets to be outputted;
- repeat for each priority label from 1 to P_Max incrementing by 1 at each step;
- and repeat for each packet index from 1 to M incrementing index by 1 at each step;
- add data of the frame corresponding to current priority label of current packet number as long as the output flow rate is greater than or equal to the modified flow rate updated after adding data from the selected frame
A network decongestion router with variable data-rate packets from N (N>=1 and an integer) sources as inputs comprising:
- a comparison of available output flow rate and input flow rate of the router,
- outputting of all variable data-rate packets if the output flow rate is greater than or equal to the input flow rate,
- otherwise, assigning indexes 1 to M (where M>=1 and is an integer) for all M packets at the input of the router;
- assigning non-negative integer priority labels 1 to P_i corresponding to frames of packet i, where i ranges from 1 to M, and let P_Max be the maximum of all the highest priority labels of all packets;
- repeat until the output flow rate is greater than or equal to the modified flow rate updated after deleting data from the selected frame:
- Get a random packet index
- drop data of the frame corresponding to the highest frame priority index of current packet and reduce its highest priority index by one,
A network decongestion router with variable data-rate packets from N (N>=1 and an integer) sources as inputs comprising:
- a comparison of available output flow rate and input flow rate of the router,
- outputting of all variable data-rate packets if the output flow rate is greater than or equal to the input flow rate,
- otherwise, assigning indexes 1 to M (where M>=1 and is an integer) for all M packets at the input of the router;
- assigning non-negative integer priority labels 1 to P_i corresponding to frames of packet i, where i ranges from 1 to M, and let P_Max be the maximum of all the highest priority labels of all packets;
- start with an empty list of packets to be outputted;
- repeat until the output flow rate is greater than or equal to the modified flow rate updated after adding data from the selected frame:
- Get a random packet index
- Increase its current frame priority index by one add data of the frame corresponding to the new current frame priority index
A network router to process the input frames of a packet from a certain source and order the frame numbers in an increasing manner using an unsigned binary integer representation, and reorder them in an increasing order with respect to the bit-reversed frame numbers
A transmitter to process the input frames of a packet and order the frame numbers in an increasing manner using an unsigned binary integer representation, and output them in a reordered manner with frame numbers in an increasing order with respect to the bit-reversed frame numbers
Dependencies are inferred from the claim text.