Method and apparatus for managing packets using a real-time feedback signal
First Claim
1. A method for managing packets in a data communications device having a memory, the method comprising the steps of:
- transmitting an initial set of packets from the data communications device;
monitoring transmission of the initial set of the packets from the data communications device, and providing a real-time feedback signal indicating transmission information regarding the initial set of packets;
manipulating a new set of packets within the memory of the data communications device based on the real-time feedback signal; and
transmitting the new set of packets from the data communications device based on how the new set of packets was manipulated within the memory of the data communications device.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique manages packets in a data communications device having a memory using a real-time feedback signal. The technique involves transmitting an initial set of packets from the data communications device. The technique further involves monitoring transmission of the initial set of the packets from the data communications device, and providing the real-time feedback signal indicating transmission information regarding the initial set of packets. Additionally, the technique involves manipulating a new set of packets within the memory of the data communications device based on the real-time feedback signal, and transmitting the new set of packets from the data communications device based on how the new set of packets was manipulated within the memory of the data communications device. The use of the real-time feedback signal enables the data communications device to make on-the-fly adjustments to dynamically changing traffic patterns without the need for human intervention.
-
Citations
27 Claims
-
1. A method for managing packets in a data communications device having a memory, the method comprising the steps of:
-
transmitting an initial set of packets from the data communications device;
monitoring transmission of the initial set of the packets from the data communications device, and providing a real-time feedback signal indicating transmission information regarding the initial set of packets;
manipulating a new set of packets within the memory of the data communications device based on the real-time feedback signal; and
transmitting the new set of packets from the data communications device based on how the new set of packets was manipulated within the memory of the data communications device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 24, 25, 26)
generating the real-time feedback signal to indicate transmission levels of the multiple packet classes for the initial set of packets.
-
-
3. The method of claim 2 wherein the memory of the data communications device stores a queue structure, and wherein the step of manipulating includes the step of:
scheduling a packet of the new set of packets in the queue structure based on the transmission levels of the multiple packet classes for the initial set of packets, as indicated by the real-time feedback signal.
-
4. The method of claim 2 wherein the memory of the data communications device stores a queue structure, and wherein the step of manipulating includes the step of:
reordering queues within the queue structure when the transmission levels of the multiple packet classes for the initial set of packets, as indicated by the real-time feedback signal, cause the data communications device to detect a reorder condition.
-
5. The method of claim 2 wherein the memory of the data communications device stores a queue structure, and wherein the step of manipulating includes the step of:
discarding a packet of the new set of packets from the queue structure when the transmission levels of the multiple packet classes for the initial set of packets, as indicated by the real-time feedback signal, cause the data communications device to detect a discard condition.
-
6. The method of claim 2 wherein the memory of the data communications device stores a queue structure, and wherein the step of manipulating includes the steps of:
-
scheduling each of the new set of packets in the queue structure based on the transmission levels of the multiple packet classes for the initial set of packets, as indicated by the real-time feedback signal;
reordering queues of the queue structure when the transmission levels of the multiple packet classes for the initial set of packets, as indicated by the real-time feedback signal, cause the data communications device to detect a reorder condition; and
discarding a packet of the new set of packets from the queue structure when the transmission levels of the multiple packet classes for the initial set of packets, as indicated by the real-time feedback signal, cause the data communications device to detect a discard condition.
-
-
7. The method of claim 2 wherein each packet includes a bit pattern indicative of one of the multiple packet classes, and wherein the step of monitoring and providing includes the step of:
-
sampling packets from the initial set of packets;
recognizing, for each sampled packet, a bit pattern of that packet, and updating a set of data structures based on the recognized bit pattern of that packet, the data structures respectively corresponding to the multiple packet classes; and
generating the real-time feedback signal based on the updated set of data structures such that the real-time feedback signal is indicative of the transmission levels of the multiple packet classes for the initial set of packets.
-
-
8. The method of claim 7 wherein the real-time feedback signal indicates a bit count for each of the multiple packet classes, and a total bit count;
- and wherein the method further comprises the step of;
providing a bit rate for each of the multiple packet classes based on the bit count for each of the multiple packet classes and the total bit count such that the new set of packets are manipulated based on the bit rate for each of the multiple packet classes.
- and wherein the method further comprises the step of;
-
9. The method of claim 2, further comprising the step of:
generating, prior to the step of monitoring and providing, a request signal for information regarding the transmission levels of the multiple packet classes for the initial set of packets.
-
10. The method of claim 9 wherein the step of monitoring and providing includes the step of:
generating the real-time feedback signal in response to the request signal.
-
24. The method of claim 1 wherein the step of providing a real-time feedback signal further includes the step of generating customized data to send as said feedback signal.
-
25. The method of claim 24 wherein said data communications device has a plurality of management functions and said step of generating customized data includes the step of generating data customized to a particular management function.
-
26. The method of claim 24 wherein said step of generating customized data further includes generating data customized to achieve a type of service goal.
-
11. A data communications device, comprising:
-
a storage and transmission circuit that stores and transmits packets;
a traffic monitor, coupled to the storage and transmission circuit, that monitors packet transmissions from the storage and transmission circuit, and generates a real-time feedback signal indicating packet transmission information; and
a control circuit, coupled to the storage and transmission circuit and the traffic monitor, that manipulates packets within the storage and transmission circuit based on the real-time feedback signal, the storage and transmission circuit transmitting packets based on how the packets are manipulated by the control circuit. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 27)
a controller that generates the real-time feedback signal to indicate transmission levels of the multiple packet classes for packets transmitted from the storage and transmission circuit.
-
-
13. The data communications device of claim 12 wherein the storage and transmission circuit includes a memory that stores a queue structure, and wherein the control circuit includes:
an input scheduler having a first input that receives packets, a second input that receives the real-time feedback signal, and an output that schedules the received packets in the queue structure based on the transmission levels of the multiple packet classes, as indicated by the real-time feedback signal.
-
14. The data communications device of claim 12 wherein the storage and transmission circuit includes a memory that stores a queue structure, and wherein the control circuit includes:
a reorder manager having an input that receives the real-time feedback signal, and an output that reorders queues within the queue structure when the transmission levels of the multiple packet classes, as indicated by the real-time feedback signal, cause the reorder manager to detect a reorder condition.
-
15. The data communications device of claim 12 wherein the storage and transmission circuit includes a memory that stores a queue structure, and wherein the control circuit includes:
a discard manager having an input that receives the real-time feedback signal, and an output that discards a packet from the queue structure when the transmission levels of the multiple packet classes, as indicated by the real-time feedback signal, cause the discard manager to detect a discard condition.
-
16. The data communications device of claim 12 wherein the storage and transmission circuit includes a memory that stores a queue structure, and wherein the control circuit includes:
-
an input scheduler having a first input that receives packets, a second input that receives the real-time feedback signal, and an output that schedules the received packets in the queue structure based on the transmission levels of the multiple packet classes, as indicated by the real-time feedback signal;
a reorder manager having an input that receives the real-time feedback signal, and an output that reorders queues of the queue structure when the transmission levels of the multiple packet classes, as indicated by the real-time feedback signal, cause the reorder manager to detect a reorder condition; and
a discard manager having an input that receives the real-time feedback signal, and an output that discards a packet from the queue structure when the transmission levels of the multiple packet classes, as indicated by the real-time feedback signal, cause the discard manager to detect a discard condition.
-
-
17. The data communications device of claim 16 wherein the input scheduler, the reorder manager and the discard manager use respective instances of the real-time feedback signal to operate asynchronously relative to each other.
-
18. The data communications device of claim 16 wherein the input scheduler, the reorder manager and the discard manager use a same instance of the real-time feedback signal when in operation.
-
19. The data communications device of claim 12 wherein each packet includes a bit pattern indicative of one of the multiple packet classes, and wherein the traffic monitor includes:
-
a pattern recognizer that (i) samples packets transmitted from the storage and transmission circuit, and (ii) recognizes, for each sampled packet, a bit pattern of that packet; and
a controller, coupled to the pattern recognizer, that (i) updates, for each sampled packet, a set of data structures based on the recognized bit pattern of that packet, the data structures respectively corresponding to the multiple packet classes, and (ii) generates the real-time feedback signal based on the updated set of data structures such that the real-time feedback signal is indicative of the transmission levels of the multiple packet classes.
-
-
20. The data communications device of claim 19 wherein the real-time feedback signal indicates a bit count for each of the multiple packet classes, and a total bit count;
- and wherein the control circuit includes;
a traffic analyzer that receives the real-time feedback signal and provides a bit rate for each of the multiple packet classes based on the bit count for each of the multiple packet classes and the total bit count such that packets are manipulated within the storage and transmission circuit based on the bit rate for each of the multiple packet classes.
- and wherein the control circuit includes;
-
21. The data communications device of claim 12 wherein the real-time feedback signal indicates, as metrics, at least one of a maximum packet size for each of the multiple packet classes, a minimum packet size for each of the multiple packet classes, a mean packet size for each of the multiple packet classes, a maximum packet size for all of the multiple packet classes, a minimum packet size for all of the multiple packet classes, a mean packet size for all of the multiple packet classes, a maximum number of contiguous bits for each of the multiple packet classes, a minimum number of contiguous bits for each of the multiple packet classes, a mean number of contiguous bits for each of the multiple packet classes, a maximum number of contiguous bits for all of the multiple packet classes, a minimum number of contiguous bits for all of the multiple packet classes, and a mean number of contiguous bits for all of the multiple packet classes.
-
22. The data communications device of claim 12 wherein the control circuit includes:
a control module that generates a request signal for information regarding the transmission levels of the multiple packet classes.
-
23. The data communications device of claim 22 wherein the traffic monitor includes:
a controller having an input that receives the request signal, and an output that provides the real-time feedback signal in response to the request signal.
-
27. The data communications device of claim 11 further comprising a plurality of management modules, each said management module having a particular data management function, and wherein the traffic monitor further includes a controller that generates a real-time feedback signal of customized data, said data customized to the particular function of one of said management modules.
Specification