Priority based bandwidth allocation within real-time and non-real time traffic streams
First Claim
1. A method for transmitting data in a network comprising the steps of:
- receiving data;
determining if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data;
inserting by a flow controller of a packet processor said received data into one of a first queue and a second queue, wherein said first queue is configured to store real-time data, wherein said second queue is configured to store non-real-time data, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data;
determining a time and a value priority associated with said received data; and
directing said received data to an appropriate flow controller associated with said time and said value priority, wherein said flow controller is configured to determine whether to perform one of a discarding and a transmitting of said received data.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system for transmitting packets in a packet switching network. Packets received by a packet processor may be prioritized based on the urgency to process them. Packets that are urgent to be processed may be referred to as real-time packets. Packets that are not urgent to be processed may be referred to as non-real-time packets. Real-time packets have a higher priority to be processed than non-real-time packets. A real-time packet may either be discarded or transmitted into a real-time queue based upon its value priority, the minimum and maximum rates for that value priority and the current real-time queue congestion conditions. A non-real-time packet may either be discarded or transmitted into a non-real-time queue based upon its value priority, the minimum and maximum rates for that value priority and the current real-time and non-real-time queue congestion conditions.
25 Citations
12 Claims
-
1. A method for transmitting data in a network comprising the steps of:
-
receiving data; determining if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data; inserting by a flow controller of a packet processor said received data into one of a first queue and a second queue, wherein said first queue is configured to store real-time data, wherein said second queue is configured to store non-real-time data, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; determining a time and a value priority associated with said received data; and directing said received data to an appropriate flow controller associated with said time and said value priority, wherein said flow controller is configured to determine whether to perform one of a discarding and a transmitting of said received data.
-
-
2. A method for transmitting data in a network comprising the steps of:
-
receiving data; determining if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data; and inserting by a flow controller of a packet processor said received data into one of a first queue and a second queue, wherein said first queue is configured to store real-time data, wherein said second queue is configured to store non-real-time data wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; wherein a latency for transmitting real-time data to said first queue depends on a rate of real-time data to be transmitted to said first queue, wherein a latency for transmitting non-real-time data to said second queue depends on a rate of non-real-time data to be transmitted to said second queue and said rate of real-time data to be transmitted to said first queue.
-
-
3. A switch, comprising:
-
a switch fabric; and a packet processor coupled to said switch fabric, wherein said packet processor is configured to direct data across said switch fabric to another packet processor, wherein said packet processor comprises; a first queue configured to store real-time data; and a second queue configured to store non-real-time data; wherein said packet processor further comprises; a flow control unit coupled to said first queue and said second queue, wherein said flow control unit comprises; a memory unit operable for storing a computer program operable for transmitting data in a packet switching network; and a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises; circuitry operable for receiving data; circuitry operable for determining if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data; and circuitry operable for inserting said received data into one of said first queue and said second queue, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data. - View Dependent Claims (4, 5, 6)
-
-
7. A switch, comprising:
-
a switch fabric; and a packet processor coupled to said switch fabric, wherein said packet processor is configured to direct data across said switch fabric to another packet processor, wherein said packet processor comprises; a first queue configured to store real-time data; and a second queue configured to store non-real-time data; wherein said packet processor further comprises; a flow control unit coupled to said first queue and said second queue, wherein said flow control unit is configured to receive data, wherein said flow control unit is further configured to determine if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data, wherein said flow control unit is further configured to insert said received data into one of said first queue and said second queue, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; wherein said flow control unit is further configured to determine a time and a value priority associated with said received data, wherein said flow control unit is further configured to direct said received data to an appropriate flow controller associated with said time and said value priority, wherein said flow controller is further configured to determine whether to perform one of a discarding and a transmitting of said received data.
-
-
8. A switch, comprising:
-
a switch fabric; and a packet processor coupled to said switch fabric, wherein said packet processor is configured to direct data across said switch fabric to another packet processor, wherein said packet processor comprises; a first queue configured to store real-time data; and a second queue configured to store non-real-time data; wherein said packet processor further comprises; a flow control unit coupled to said first queue and said second queue, wherein said flow control unit is configured to receive data, wherein said flow control unit is further configured to determine if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data, wherein said flow control unit is further configured to insert said received data into one of said first queue and said second queue, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; wherein a latency for transmitting real-time data to said first queue depends on a rate of real-time data to be transmitted to said first queue, wherein a latency for transmitting non-real-time data to said second queue depends on a rate of non-real-time data to be transmitted to said second queue and said rate of real-time data to be transmitted to said first queue.
-
-
9. A packet processor, comprising:
-
a first queue configured to store real-time data; a second queue configured to store non-real-time data; and a flow control unit coupled to said first queue and said second queue, wherein said flow control unit is configured to receive data, wherein said flow control unit is further configured to determine if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data, wherein said flow control unit is further configured to insert said received data into one of said first queue and said second queue, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; wherein said flow control unit is further configured to determine a time and a value priority associated with said received data, wherein said flow control unit is further configured to direct said received data to an appropriate flow controller associated with said time and said value priority, wherein said flow controller is further configured to determine whether to perform one of a discarding and a transmitting of said received data.
-
-
10. A packet processor, comprising:
-
a first queue configured to store real-time data; a second queue configured to store non-real-time data; and a flow control unit coupled to said first queue and said second queue, wherein said flow control unit is configured to receive data, wherein said flow control unit is further configured to determine if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data, wherein said flow control unit is further configured to insert said received data into one of said first queue and said second queue, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; wherein a latency for transmitting real-time data to said first queue depends on a rate of real-time data to be transmitted to said first queue, wherein a latency for transmitting non-real-time data to said second queue depends on a rate of non-real-time data to be transmitted to said second queue and said rate of real-time data to be transmitted to said first queue.
-
-
11. A computer program product embodied in a computer readable storage device executable by a computer for transmitting data in a
network comprising the programming steps of: - receiving data;
determining if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data;inserting said received data into one of a first queue and a second queue, wherein said first queue is configured to store real-time data, wherein said second queue is configured to store non-real-time data, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; determining a time and a value priority associated with said received data; and
directing said received data to an appropriate flow controller associated with said time and said value priority, wherein said flow controller is configured to determine whether to perform one of a discarding and a transmitting of said received data.
- receiving data;
-
12. A computer program product embodied in a computer readable storage device executable by
a computer for transmitting data in a network comprising the programming steps of: -
receiving data;
determining if said received data is one of a real-time data and a non-real-time data, wherein said real-time data has a higher priority of transmission than said non-real-time data; andinserting said received data into one of a first queue and a second queue, wherein said first queue is configured to store real-time data, wherein said second queue is configured to store non-real-time data, wherein said received data is inserted in said first queue if said received data is said real-time data, wherein said received data is inserted in said second queue if said received data is said non-real-time data; wherein a latency for transmitting real-time data to said first queue depends on a rate of real-time data to be transmitted to said first queue, wherein a latency for transmitting non-real-time data to said second queue depends on a rate of non-real-time data to be transmitted to said second queue and said rate of real-time data to be transmitted to said first queue.
-
Specification