# US 7,610,377 B2 · Overload management in an application-based server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,377 B2
- Document ID: US7610377B2
- Status: Granted
- Kind: B2
- Application number: 10/765,828
- Filed: 2004-01-27
- Published: 2005-09-08
- Granted: 2009-10-27
- Earliest claimed: 2004-01-27
- Assignees: Sun Microsystems, Inc.
- Inventors: Patrick Petit
- Web page: https://patentgrep.com/patent/US7610377B2

## CPC

- G06F 9/505: {considering the load}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- G06F 11/3409: {for performance assessment}
- G06F 11/3419: {by assessing time}
- G06F 2201/865: Monitoring of software
- G06F 2201/88: Monitoring involving counting
- G06F 2209/508: Monitor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An overload manager device including a monitoring function for evaluating successive values of the server operation parameter as a function of time, a first logic function capable of evaluating a first condition, which involves whether the server operation parameter passes a first threshold value in a first direction, a second logic function capable of evaluating a second condition, which involves whether a server operation parameter passes a second threshold value in a second direction, with the second direction being opposite to the first direction, and extending from the first threshold value to the second threshold value, and a request supervisor operable for starting rejection of input requests, upon verification of a third condition, related to the verification of at least one of the first and second conditions, and terminating rejection of the input requests upon verification of a fourth condition related to the verification of the second condition.

## Claims

### Claim 1

A method of managing overload in a server system, having a service operating in response to input requests, and a server operation parameter related to the operation of said service, the method comprising the steps of:
a. monitoring successive values of the server operation parameter as a function of time,
b. from such values,
b1. evaluating a first condition, which involves whether the server operation parameter passes a first threshold value in a first direction, and
b2. evaluating a second condition, which involves whether the server operation parameter passes a second threshold value in a second direction, wherein the second condition includes determining that the second direction is opposite to the first direction, and extends from the first threshold value to the second threshold value,
c. starting rejection of input requests, upon verification of a third condition, wherein the third condition comprises (i) determining a predetermined grace period subsequent to verification of the first condition has elapsed, and (ii) determining the second condition has not been verified during said grace period; and
d. terminating rejection of input requests upon verification of a fourth condition, related to the verification of said second condition.

### Claim 2 (depends on 1)

The method of claim 1, wherein the fourth condition of step d. comprises determining the second condition has been verified.

### Claim 3 (depends on 1)

The method of claim 1, wherein the fourth condition of step d. comprises determining the second condition has been verified after the third condition has been verified.

### Claim 4 (depends on 1)

The method of claim 1, wherein step b1. is performed at a first rate, and step b2. is performed at a second rate, not lower than the first rate.

### Claim 5 (depends on 4)

The method of claim 4, wherein step b2. is performed within a time period staffing upon verifying the first condition at step b1., and terminating upon verifying the fourth condition at step d.

### Claim 6 (depends on 1)

The method of claim 1, wherein said server operation parameter represents a quantity related to a memory usage in the server.

### Claim 7 (depends on 1)

The method of claim 1, wherein said server operation parameter represents a quantity related to the sewer throughput and to the sewer latency.

### Claim 8 (depends on 7)

The method of claim 7, wherein step a. comprises deriving the server operation parameter from a given combination of the server throughput with the server latency.

### Claim 9 (depends on 8)

The method of claim 8, wherein step a. further comprises:
a1. maintaining a reference value of the server throughput and a reference value of the server latency, said reference values being updated upon verification of a fifth condition, comprising the fact that the current value of the server throughput does overlie its reference value, and
a2. deriving a reference value of said server operation parameter from a combination of the reference value of the server throughput with the reference value of the server latency, said combination being of the same nature as said given combination.

### Claim 10 (depends on 8)

The method as claimed in claim 8, wherein said server operation parameter is derived from the ratio of the server throughput to the reference value of the server latency and said reference value of the server operation parameter is derived from the ratio of the reference value of the server throughput to the reference value of the server latency.

### Claim 11 (depends on 9)

The method of claim 9, wherein the fifth condition further comprises the fact that the current value of the server latency does not overlie its reference value.

### Claim 12 (depends on 11)

The method of claim 11, wherein the fifth condition further comprises the fact that the server requests queue length remains substantially constant.

### Claim 13 (depends on 9)

The method of claim 9, wherein said first and second threshold values are derived from said reference value of the server operation parameter.

### Claim 14 (depends on 9)

The method of claim 9, wherein steps a1. and a2. are performed at a third rate, wherein the third rate is not lower than the first rate.

### Claim 15

An overload manager device for use in a server system, having a service operating in response to input requests, and a server operation parameter related to the operation of said service, said device comprising:
a monitoring function for evaluating successive values of the server operation parameter as a function of time;
a first logic function capable of evaluating a first condition, which involves whether the sewer operation parameter passes a first threshold value in a first direction;
a second logic function capable of evaluating a second condition, which involves whether the sewer operation parameter passes a second threshold value in a second direction, wherein the second condition includes determining that the second direction is opposite to the first direction, and extending from the first threshold value to the second threshold value; and
a request supervisor operable for:
staffing rejection of the input requests, upon verification of a third condition, wherein the third condition comprises (i) determining a predetermined grace period subsequent to verification of the first condition has elapsed, and (ii) determining the second condition has not been verified during said grace period; and
terminating rejection of the input requests upon verification of a fourth condition related to the verification of said second condition.

### Claim 16 (depends on 15)

The device of claim 15, wherein the fourth condition comprises determining the second condition has been verified.

### Claim 17 (depends on 15)

The device of claim 15, wherein the fourth condition comprises determining the second condition has been verified after the third condition has been verified.

### Claim 18 (depends on 15)

The device of claim 15, wherein the first logic function is operable at a first rate, and the second logic function is operable at a second rate not lower than the first rate.

### Claim 19 (depends on 18)

The device of claim 18, wherein the second logic function is operable within a time interval starting upon verifying the first condition, and terminating upon verifying the fourth condition.

### Claim 20 (depends on 15)

The device of claim 15, wherein said server operation parameter represents a quantity related to a memory usage in the server.

### Claim 21 (depends on 15)

The device of claim 15, wherein said server operation parameter represents a quantity related to the server throughput and to the server latency and wherein the monitoring function is operable for deriving the server operation parameter from a given combination of the server throughput with the server latency.

### Claim 22 (depends on 21)

The device of claim 21, further comprising a tracking function, said tracking function maintaining a reference value of the server throughput and a reference value of the server latency and being operable:
for updating the reference values upon verification of a fifth condition, comprising the fact that the current value of the server throughput does overlie its reference value; and
for deriving the first and second threshold values from a combination of the reference value of the server throughput with the reference value of the server latency, said combination being of the same type as said given combination.

### Claim 23 (depends on 21)

The device as claimed in claim 21, wherein the server operation parameter is derived from the ratio of the server throughput to the reference value of the server latency and the first and second threshold values are derived from the ratio of the reference value of the server throughput to the reference value of the server latency.

### Claim 24 (depends on 22)

The device of claim 22, wherein the fifth condition further comprises the fact that the current value of the server latency does not overlie its reference value.

### Claim 25 (depends on 24)

The device of claim 24, wherein the fifth condition further comprises the fact that the server requests queue length remains substantially constant.

### Claim 26 (depends on 22)

The device as claimed in any of claim 22, wherein the tracking function is operable at a third rate, wherein the third rate is not lower than the first rate.

### Claim 27 (depends on 15)

The device of claim 15, comprising an overload manager object, having filter methods capable of implementing said request supervisor, a gauge monitor and further methods capable of implementing the monitoring function, the first logic function and the second logic function in cooperation with said gauge monitor.

### Claim 28 (depends on 27)

The device of claim 27, wherein the overload manager object, the gauge monitor and the further methods are instantiated from at least one generic class.

### Claim 29 (depends on 28)

The device of claim 28, wherein the overload manager object comprises at least one MBean.

### Claim 30 (depends on 20)

The device of claim 20, comprising an overload manager object related to a memory usage in the server.

### Claim 31 (depends on 21)

The device of claim 21, comprising an overload manager object related to the server throughput and to the server latency.

### Claim 32

A portal server having:
an overload manager device;
a service operating in response to input requests; and
a server operation parameter related to the operation of said service;
wherein said device comprises:
a monitoring function for evaluating successive values of the server operation parameter as a function of time;
a first logic function capable of evaluating a first condition, which involves whether the server operation parameter passes a first threshold value in a first direction;
a second logic function capable of evaluating a second condition, which involves whether the server operation parameter passes a second threshold value in a second direction, wherein the second condition includes determining that the second direction is opposite to the first direction, and extending from the first threshold value to the second threshold value; and
a request supervisor operable for:
starting rejection of input requests, upon verification of a third condition, wherein the third condition comprises (i) determining a predetermined grace period subsequent to verification of the first condition has elapsed, and (ii) determining the second condition has not been verified during said grace period; and
terminating rejection of the input requests upon verification of a fourth condition related to the verification of said second condition; and
wherein said server operation parameter represents a quantity related to a memory usage in the server.

### Claim 33

A computer readable storage medium including program instructions executable to implement a method of managing overload in a server system, having a service operating in response to input requests, and a server operation parameter related to the operation of said service, the method comprising the steps of:
a. monitoring successive values of the server operation parameter as a function of time,
b. from such values,
b1. evaluating a first condition, which involves whether the server operation parameter passes a first threshold value in a first direction, and
b2. evaluating a second condition, which involves whether the server operation parameter passes a second threshold value in a second direction, wherein the second condition includes determining that the second direction is opposite to the first direction, and extending from the first threshold value to the second threshold value,
c. starting rejection of input requests, upon verification of a third condition, wherein the third condition comprises (i) determining a predetermined grace period subsequent to verification of the first condition has elapsed, and (ii) determining the second condition has not been verified during said grace period, and
d. terminating rejection of input requests upon verification of a fourth condition, related to the verification of said second condition.

### Claim 34

An overload manager device for use in a server system, having a service operating in response to input requests, and a server operation parameter related to the operation of said service, wherein said device is configured to:
compare values of the server operation parameter to a first threshold value;
in response to detecting that the server operation parameter has passed the first threshold value in a first direction:
compare values of the server operation parameter to a second threshold value, wherein the second threshold value is different from the first threshold value;
start rejection of input requests, upon determining:
a predetermined grace period subsequent to detecting the server operation parameter has passed the first threshold value in a first direction has elapsed; and
determining a second condition has not been verified during said grace period, the second condition involving determining whether the sewer operation parameter passes a second threshold value in a second direction, wherein the second condition includes determining that the second direction is opposite to the first direction;
and
terminate rejection of input requests in response to detecting the sewer operation parameter has passed the second threshold value in a direction opposite the first direction during the grace period.

### Claim 35 (depends on 34)

The device of claim 34, wherein said server operation parameter represents a quantity related to a memory usage in the server.

### Claim 36 (depends on 34)

The method of claim 34, further comprising deriving the sewer operation parameter from a given combination of a server throughput with a server latency.
