System and method for integrated overload control and message distribution
First Claim
1. A method for controlling overload and distributing messages among message processors in a system, said system having a plurality of message processors and at least one distribution node for receiving messages and distributing said messages to said message processors, wherein different ones of said messages occupy respective ones of said message processors for different durations, said method comprising the steps of:
- providing a virtual message processor in addition to said plurality of message processors, whereby messages arriving at said virtual message processor are denied processing by said system;
monitoring operation of said system to determine a respective level of activity for each of said message processors and for said system;
calculating from said respective levels of activity a desired distribution of messages among said message processors and said virtual message processor; and
distributing messages from said distribution node to said message processors and said virtual message processor in accordance with said calculated desired distribution.
1 Assignment
0 Petitions
Accused Products
Abstract
A message distribution system having multiple message processors provides integrated overload control and message distribution. An additional "dummy" message processor is established by the system, to which a certain fraction of messages is assigned as though it were a real processor, thereby accomplishing rejection of that fraction of messages. The fraction to be rejected is determined in real time based on the states of the various processors, which also is the basis for the allocation among the processors of those messages that are not rejected.
-
Citations
29 Claims
-
1. A method for controlling overload and distributing messages among message processors in a system, said system having a plurality of message processors and at least one distribution node for receiving messages and distributing said messages to said message processors, wherein different ones of said messages occupy respective ones of said message processors for different durations, said method comprising the steps of:
-
providing a virtual message processor in addition to said plurality of message processors, whereby messages arriving at said virtual message processor are denied processing by said system; monitoring operation of said system to determine a respective level of activity for each of said message processors and for said system; calculating from said respective levels of activity a desired distribution of messages among said message processors and said virtual message processor; and distributing messages from said distribution node to said message processors and said virtual message processor in accordance with said calculated desired distribution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A message processing system comprising:
-
a plurality of message processors; at least one distribution node for receiving messages and distributing said messages to said message processors, wherein different ones of said messages occupy respective ones of said message processors for different durations; a virtual message processor in addition to said plurality of message processors, whereby messages arriving at said virtual message processor are denied processing by said system; a monitor of said system to determine a respective level of activity for each of said message processors and for said system; and a distribution calculator for calculating from said respective levels of activity a desired distribution of messages among said message processors and said virtual message processor;
wherein;messages are distributed from said distribution node to said message processors and said virtual message processor in accordance with said calculated desired distribution. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for controlling overload in a distributed message processing system, said system having a plurality of at least one type of processor, one of said at least one type being message processor, wherein each message to be processed is routed to one of said message processors as said message arrives, said method being for maintaining performance targets for said system, said method comprising the steps of:
-
measuring, at regular intervals, performance of processors in said system to obtain performance measurements; filtering said performance measurements to minimize random fluctuations in performance to obtain consistent filtered performance values; establishing a respective bank for each respective message processor, and a virtual bank for determining a rate of rejection of arriving messages; adjusting a throttling parameter in response to said filtered performance values, said throttling parameter functioning as credit to said virtual bank for determining a rate of rejection of arriving messages; as each said message arrives, allocating credits to each said respective bank, other than said virtual bank, in inverse proportion to at least one of (a) utilization, (b) buffer occupancy, and (c) delay, of said respective message processor; as each said message arrives, finding that one of said respective banks and virtual bank having a maximum credit, and routing said arriving message to said respective message processor when said one of said respective banks and virtual bank having a maximum credit is one of said banks, and rejecting said message when said one of said respective banks and virtual bank having a maximum credit is said virtual bank; and subtracting a unit of credit from said one of said respective banks and virtual bank upon said routing or rejection.
-
Specification