Dynamic flowlet prioritization
AssigneeCisco Technology, Inc.
InventorsMohammadreza Alizadeh Attar, Thomas James Edsall, Sarang Dharmapurikar
Life of this patent
Estimating the term…
Abstract
In one embodiment, a next set of packets in a first flow may be identified. A counter may be incremented, where the counter indicates a first number of initial sets of packets in first flow that have been identified. The identified next set of packets may be prioritized such that the first number of initial sets of packets in the first flow are prioritized and a sequential order of all packets in the first flow is maintained. The identifying, incrementing, and prioritizing may be repeated until no further sets of packets in the first flow remain to be identified or the first number of initial sets of packets is equal to a first predefined number.
Claims20
A method, comprising:
- determining from a packet that a new packet flow is to be created;
- initiating a new packet flow by adding the packet to a first new set of packets as a current set of packets;
- setting, in response to the initiating, a counter to an initial state;
- monitoring packets of the new packet flow until it determines that the current set of packets is complete, and during such monitoring processing the current set of packets as having a high priority;
- first setting, in response to the counter reaching a predetermined number, remaining packets in the new packet flow to low priority;
- in response to the counter not having reached a predetermined number and the new packet flow includes further packets to send:
- incrementing the counter;
- initiating another new set of packets of the new packet flow as a current set of packets;
- and
- returning, in response to the incrementing, to the monitoring.
A non-transitory media storing instructions which when executed by a processor cause the processor to perform operations comprising:
- determining from a packet that a new packet flow is to be created;
- initiating a new packet flow by adding the packet to a first new set of packets as a current set of packets;
- setting, in response to the initiating, a counter to an initial state;
- monitoring packets of the new packet flow until it determines that the current set of packets is complete, and during such monitoring processing the current set of packets as having a high priority;
- first setting, in response to the counter reaching a predetermined number, remaining packets in the new packet flow to low priority;
- in response to the counter not having reached a predetermined number and the new packet flow includes further packets to send:
- incrementing the counter;
- initiating another new set of packets of the new packet flow as a current set of packets;
- and
- returning, in response to the incrementing, to the monitoring.
A system comprising:
- a processor;
- a memory storing instructions that when executed by the processor cause the system to perform operations comprising:
- determining from a packet that a new packet flow is to be created;
- initiating a new packet flow by adding the packet to a first new set of packets as a current set of packets;
- setting, in response to the initiating, a counter to an initial state;
- monitoring packets of the new packet flow until it determines that the current set of packets is complete, and during such monitoring processing the current set of packets as having a high priority;
- first setting, in response to the counter reaching a predetermined number, remaining packets in the new packet flow to low priority;
- in response to the counter not having reached a predetermined number and the new packet flow includes further packets to send:
- incrementing the counter;
- initiating another new set of packets of the new packet flow as a current set of packets;
- and
- returning, in response to the incrementing, to the monitoring.
Dependencies are inferred from the claim text.