9270556

Flow Control in Packet Processing Systems

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
InventorsGuy Bilodeau
Technical Abstract

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of flow control in a packet processing system, comprising: obtaining metric data measuring utilization of at least one resource in the packet processing system over intervals of a time period, the at least one resource selected from among a processor and a memory; adjusting a value of a flow control load parameter during each of the intervals based on comparing the metric data with at least one condition that indicates depletion of the at least one resource, wherein the adjusting comprises successively advancing by a predetermined amount the flow control load parameter in successive intervals of the intervals while the metric data satisfies the at least one condition in the successive intervals, the metric data satisfying the at least one condition comprising at least one of a utilization of the processor exceeding a utilization threshold, and an amount of free space in the memory dropping below a memory threshold; establishing a value of a packet flow budget for the packet processing system in each respective interval of the intervals based on the respective value of the flow control load parameter in the respective interval; and performing, by the packet processing system, flow control of packets using the packet flow budget.

2

2. The method of claim 1 , wherein the metric data includes a measure of a fraction of time during a respective interval of the intervals in which the processor processes packets.

3

3. The method of claim 1 , wherein the flow control load parameter is an integer between minimum and maximum values, and wherein the successive advancing of the flow control load parameter in the successive intervals comprises incrementing or decrementing between the minimum and maximum values.

4

4. The method of claim 3 , wherein the successive advancing of the flow control load parameter by the predetermined amount comprises successively incrementing the flow control load parameter in the successive time intervals, and wherein the adjusting further comprises decrementing the flow control load parameter if during a respective interval of the intervals the metric data does not satisfy the at least one condition.

5

5. The method of claim 1 , wherein the flow control load parameter is an integer, and wherein the establishing includes reducing the packet flow budget based on a function of the flow control load parameter responsive to the respective value of the flow control load parameter not being a minimum value.

6

6. The method of claim 5 , wherein the minimum value is zero, and responsive to the respective value of the flow control load parameter not being zero, the establishing comprises setting the packet flow budget to a calculated value inversely proportional to the respective value of the flow control load parameter.

7

7. The method of claim 1 , wherein successively advancing the flow control load parameter in the successive intervals comprises successively incrementing the flow control load parameter in the successive intervals, and wherein the adjusting further comprises successively decrementing the flow control load parameter in further successive intervals while the metric data does not satisfy the at least one condition.

8

8. The method of claim 1 , wherein successively advancing the flow control load parameter in the successive intervals comprises: incrementing, in a first of the successive intervals, the flow control load parameter by the predetermined amount from a first value to a second value; and incrementing, in a second of the successive intervals, the flow control load parameter by the predetermined amount from the second value to a third value.

9

9. An apparatus to provide flow control in a packet processing system, comprising: a network interface to receive packets; a memory; and a processor, communicatively coupled to the network interface and the memory, to: obtain metric data measuring utilization of at least one of the memory or the processor in each of a plurality of time intervals, adjust a flow control load parameter based on comparing the metric data to at least one condition in each of the plurality of time intervals, wherein the adjusting comprises successively incrementing the flow control load parameter in successive time intervals of the plurality of time intervals while the metric data satisfies the at least one condition in the successive time intervals, the metric data satisfying the at least one condition comprising at least one of the utilization of the processor exceeding a utilization threshold, and an amount of free space in the memory dropping below a memory threshold; and establish a packet flow budget for the network interface in each respective time interval of the plurality of time intervals based on the respective value of the flow control load parameter in the respective time interval.

10

10. The apparatus of claim 9 , wherein the flow control load parameter is an integer between minimum and maximum values, and wherein the processor is to successively increment the flow control load parameter between the minimum and maximum values.

11

11. The apparatus of claim 9 , wherein the flow control load parameter is an integer, and wherein the processor is to reduce the packet flow budget based on a function of the flow control load parameter responsive to the respective value of the flow control load parameter not being a minimum value.

12

12. The apparatus of claim 11 , wherein the minimum value is zero, and responsive to the respective value of the flow control load parameter not being zero, the processor is to set the packet flow budget to a calculated value inversely proportional to the respective value of the flow control load parameter.

13

13. The apparatus of claim 9 , wherein the successively incrementing the flow control load parameter in the successive time intervals comprises: incrementing, in a first of the successive time intervals, the flow control load parameter by a predetermined amount from a first value to a second value; and incrementing, in a second of the successive time intervals, the flow control load parameter by the predetermined amount from the second value to a third value.

14

14. A packet processing system, comprising: physical hardware including resources to process a packet flow, the resources selected from among a processor and a memory; and an operating environment including: a kernel to provide an application interface to the resources; and a packet flow controller to: obtain metric data from the kernel that measures utilization of the resources over intervals of a time period, adjust a value of a flow control load parameter during each of the intervals based on the metric data, wherein the adjusting comprises successively advancing by a predetermined amount the flow control load parameter in successive intervals of the intervals while the metric data satisfies at least one condition in the successive intervals, the metric data satisfying the at least one condition comprising at least one of a utilization of the processor exceeding a utilization threshold, and an amount of free space in the memory dropping below a memory threshold, and establish a value of a packet flow budget for the packet flow in each of the intervals based on the respective value of the flow control load parameter in each of the intervals.

15

15. The packet processing system of claim 14 , wherein the flow control load parameter is an integer between minimum and maximum values, and wherein the packet flow controller is to successively advance the flow control load parameter in each of the time intervals between the minimum and maximum values.

16

16. The packet processing system of claim 14 , wherein the flow control load parameter is an integer, and wherein the packet flow controller is to reduce the packet flow budget based on a function of the flow control load parameter responsive to the respective value of the flow control load parameter not being a minimum value.

17

17. The packet processing system of claim 14 , wherein the successively advancing the flow control load parameter in the successive intervals comprises: incrementing, in the first of the successive intervals, the flow control load parameter by the predetermined amount from a first value to a second value; and incrementing, in a second of the successive intervals, the flow control load parameter by the predetermined amount from the second value to a third value.

Patent Metadata

Filing Date

Unknown

Publication Date

February 23, 2016

Inventors

Guy Bilodeau

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “FLOW CONTROL IN PACKET PROCESSING SYSTEMS” (9270556). https://patentable.app/patents/9270556

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.