Method and apparatus for scheduling for packet-switched networks
DC CAFCFirst Claim
Patent Images
1. A method for scheduling a packet, comprising the steps of:
- receiving a packet having a size;
identifying a flow for said packet by at least a flow identifier;
classifying said packet based on said identified flow;
buffering said packet in one of a plurality of queues, arranged in a priority order, based on said classification of said packet and a priority of said packet assigned based on said priority order;
allocating a predetermined amount of bandwidth to said identified flow;
determining an accumulated bandwidth based on said predetermined amount of bandwidth; and
processing said packet in the one of the plurality of queues based on said accumulated bandwidth and said size of said packet.
5 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Apparatus and method use pre-order queuing and scheduling. Reordering of the transmission sequence of packets that could be sent out in one round is allowed according to the quantum consumption status of the flow within the round. Per-packet time complexity is maintained independent from an increase in flow number and packets of variable-length are processed.
135 Citations
13 Claims
-
1. A method for scheduling a packet, comprising the steps of:
-
receiving a packet having a size; identifying a flow for said packet by at least a flow identifier; classifying said packet based on said identified flow; buffering said packet in one of a plurality of queues, arranged in a priority order, based on said classification of said packet and a priority of said packet assigned based on said priority order; allocating a predetermined amount of bandwidth to said identified flow; determining an accumulated bandwidth based on said predetermined amount of bandwidth; and processing said packet in the one of the plurality of queues based on said accumulated bandwidth and said size of said packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for scheduling a packet, comprising;
-
an input to receive a plurality of packets; an arrival module to identify a flow for each of said plurality of packets by at least a flow identifier; a classifier to assign each of said plurality of packets to one of a plurality of queues, arranged in a priority order, based on said identified flow; a server for allocating a predetermined amount of bandwidth to said identified flow, determining an accumulated bandwidth based on said predetermined amount of bandwidth, and selecting one of said plurality of queues based on said priority order; and an output for outputting a packet from said selected queue based on said accumulated bandwidth of said identified flows, a priority of said packet assigned based on said priority order, and said size of said packet. - View Dependent Claims (11)
-
-
12. An apparatus for scheduling a packet, comprising:
-
means for receiving a packet having a size; means for identifying a flow for said packet by at least a flow identifier; means for classifying said packet based on said identified flow; means for buffering said packet in one of a plurality of queues, arranged in a priority order, based on said classification of said packet and a priority of said packet assigned based on said priority order; means for allocating a predetermined amount of bandwidth to said identified flow; means for determining an accumulated bandwidth based on said predetermined amount of bandwidth; and means for processing said packet in the one of the plurality of queues based on the accumulated bandwidth and said size of said packet.
-
-
13. A program on a computer readable medium for configuring a processor to execute a method for scheduling a packet, said method comprising the steps of:
-
receiving a packet having a size; identifying a flow for said packet by at least a flow identifier; classifying said packet based on said identified flow; buffering said packet in one of a plurality of queues, arranged in a priority order, based on said classification of said packet and a priority of said packet assigned based on said priority order; allocating a predetermined amount of bandwidth to said identified flow; determining an accumulated bandwidth based on said predetermined amount of bandwidth; and processing said packet in the one of the plurality of queues based on said accumulated bandwidth and said size of said packet.
-
Specification