Browse Prior Art Database

Method to Throttle Resource Communication via Artificial CPU Consumption

IP.com Disclosure Number: IPCOM000013703D
Original Publication Date: 2001-Sep-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 4 page(s) / 63K

Publishing Venue

IBM

Abstract

Disclosed is an algorithmic method which can be embodied in software or hardware that will rate-limit the amount of data leaving an originating machine by limiting, via controlled artificial CPU consumption, the amount of CPU available to process and send information from the originating machine to a receiving machine.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 4

Method to Throttle Resource Communication via Artificial CPU Consumption

   Disclosed is an algorithmic method which can be embodied in software or hardware that will rate-limit the amount of data leaving an originating machine by limiting, via controlled artificial CPU consumption, the amount of CPU available to process and send information from the originating machine to a receiving machine.

Consider the following real-world scenarios:

As shown in figure 1, a machine is providing a stream of information to another

machine. The originating machine could provide such a large amount of information continuously that the receiving machine has difficulty in processing it to the point of degraded performance and/or denial of service at the receiving machine.


1.


2.


3.

traffic

Figure 1 - Traffic Flood

Multiple machines are providing a stream of information to a single machine. The

multiple machines could provide such a large amount of information in parallel that the single receiving machine has difficulty in processing it to the point of degraded performance and/or denial of service. A single machine or multiple machines with high network payloads effectively 'drown

out' other network traffic that share the same network link between the originating and receiving machine.

Disclosed is a solution to the aforementioned problem in which a software algorithm provides a method that will consume quantities of the machine processor resources which will result in a reduction of the amount of processor resources allocated to computing and relaying large streams of information. This stream of information reduction, as compared to figure 1, is shown in figure 2.

Originating machine

Receiving machine

1

Page 2 of 4

traffic

Figure 2 - Traffic Reduction via Software Algorithm

The algorithm has the following characteristics:

A originating machine value/characteristic to monitor and upon this value reaching a defined threshold, the rate limiting algorithm will engage. The rate limiting algorithm will perform trivial, CPU-intensive tasks. The CPU-intensive tasks will be designed in such a way as to consume a specific
(i.e. configurable) amount of processor resources. The CPU consumption per task is granular, so as to better control the amount of CPU consumed and by extension control the amount of data transmitted. The rate limiting algorithm will stop when the monitored machine value/characteristic falls below a certain point.

Definition of Algorithm

R = the observed machine value, either a absolute value x or a function of x, f(x),
e.g., delta x / delta t = change in machine value / change in time where x = machine (absolute) value/characteristic monitored

   t = time Rthresh = a configurable value (either x or f(x)) at which point the rate limiting process should begin such that the receiving machine can operate correctly.

Rhys = a configurable value directly proportional to Rthresh that adds process stability,
i.e., Rhys = 0.90 * Rthresh

CPUCM = CPU Consumpt...