Network flow sampling fairness
AssigneeMellanox Technologies, Ltd.
InventorsAlan Lo, Matty Kadosh, Marian Pritsak, Yonatan Piasetsky
Life of this patent
Estimating the term…
Abstract
In one embodiment, a network flow sampling system includes data communication apparatus, which includes packet processing circuitry configured to process data packets of multiple network flows, and an adaptive policer configured to sample respective ones of the data packets of respective ones of the network flows yielding sampled data, while applying sampling fairness among the respective network flows, wherein at least one of the data packets from each of the respective network flows is sampled.
Claims20
A network flow sampling system comprising data communication apparatus, which includes:
- packet processing circuitry configured to process data packets of multiple network flows;
- and
- an adaptive policer configured to;
- compute a respective quantity of flow-specific sampling credits to be assigned to each network flow of respective ones of the network flows responsively to a quantity of the respective network flows currently being processed by the packet processing circuitry;
- assign the flow-specific sampling credits to each of the respective network flows;
- sample respective ones of the data packets of the respective network flows responsively to availability of respective ones of the flow-specific sampling credits of the respective network flows yielding sampled data, while applying sampling fairness among the respective network flows, wherein at least one of the data packets from each of the respective network flows is sampled;
- and
- remove the respective ones of the flow-specific sampling credits from availability responsively to sampling the respective ones of the data packets of the respective network flows.
A network flow sampling method, comprising:
- processing data packets of multiple network flows;
- computing a respective quantity of flow-specific sampling credits to be assigned to each network flow of respective ones of the network flows responsively to a quantity of the respective network flows currently being processed by packet processing circuitry;
- assigning the flow-specific sampling credits to each of the respective network flows;
- sampling respective ones of the data packets of the respective network flows responsively to availability of respective ones of the flow-specific sampling credits of the respective network flows yielding sampled data, while applying sampling fairness among the respective network flows, wherein at least one of the data packets from each of the respective network flows is sampled;
- and
- removing the respective ones of the flow-specific sampling credits from availability responsively to sampling the respective ones of the data packets of the respective network flows.
A software product, comprising a non-transient computer-readable medium in which program instructions are stored, which instructions, when read by a central processing unit (CPU), cause the CPU to:
- compute a respective quantity of flow-specific sampling credits to be assigned to each network flow of respective network flows responsively to a quantity of the respective network flows currently being processed by packet processing circuitry;
- assign the flow-specific sampling credits to each of the respective network flows;
- sample respective data packets of the respective network flows responsively to availability of respective ones of the flow-specific sampling credits of the respective network flows yielding sampled data, while applying sampling fairness among the respective network flows, wherein at least one of the data packets from each of the respective network flows is sampled;
- and
- remove the respective ones of the flow-specific sampling credits from availability responsively to sampling the respective ones of the data packets of the respective network flows.
Dependencies are inferred from the claim text.