Priority based bandwidth allocation within real-time and non-real-time traffic streams
First Claim
1. 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;
wherein said first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
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.
30 Citations
8 Claims
-
1. 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; wherein said first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
2. 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; wherein said first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein said second queue is configured to store non-real-time data associated with one or more priorities, wherein a minimum rate of data is to be transmitted to said second queue for each value priority associated with said non-real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data plus a sum of minimum rates of data to be transmitted to said second queue for each value priority associated with said non-real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
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 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 first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
4. 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 first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein said second queue is configured to store non-real-time data associated with one or more priorities, wherein a minimum rate of data is to be transmitted to said second queue for each value priority associated with said non-real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data plus a sum of minimum rates of data to be transmitted to said second queue for each value priority associated with said non-real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
5. 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 first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
6. 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 first queue is configured to store real-time data associated with one or more priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein said second queue is configured to store non-real-time data associated with one or more priorities, wherein a minimum rate of data is to be transmitted to said second queue for each value priority associated with said non-real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data plus a sum of minimum rates of data to be transmitted to said second queue for each value priority associated with said non-real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
7. A program stored in a memory, the program causing a processor to execute the instructions of the program 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; and 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; wherein said first queue is configured to store real-time data associated with one or more value priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
-
8. A program stored in a memory, the program causing a processor to execute the instructions of the program 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; and 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; wherein said first queue is configured to store real-time data associated with one or more value priorities, wherein a maximum rate of data is to be transmitted to said first queue for each value priority associated with said real-time data, wherein said second queue is configured to store non-real-time data associated with one or more value priorities, wherein a minimum rate of data is to be transmitted to said second queue for each value priority associated with said non-real-time data, wherein a sum of maximum rates of data to be transmitted to said first queue for each value priority associated with said real-time data plus a sum of minimum rates of data to be transmitted to said second queue for each value priority associated with said non-real-time data is less than or equal to a maximum rate of data to be processed by said packet processor.
-
Specification