IP Library Granted Patent US 7,017,082
Granted Patent B1
US 7,017,082 · App. 10/170,246 · Granted Mar 21, 2006

Method and system for a process manager

Assignee: Extreme Networks
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,017,082
App. No.
10/170,246
Granted
Mar 21, 2006
Kind
B1
Abstract

A method and system is provided for monitoring the health of processes running on a router. A behavior of a process is monitored and the process is killed if the behavior is abnormal. The behavior may be abnormal if the process is non-responsive, cannot start, or repeatedly crashes. The system may include a timer to measure a predetermined time interval for the process to perform a desired action, a counter to count a number of times the process fails to perform the desired action before the timer expires, and a controller to kill the process when the counter exceeds a maximum number of failures. Alternatively, the timer could measure an amount of uptime, the counter could count the number of times the process crashes, and the controller could kill the process when a crash rate calculated from the number of times the process crashes per the amount of uptime exceeds a maximum crash rate.

Claims (38)

1. A method comprising:

starting a process;

accumulating an amount of uptime for the process;

incrementing a crash count when the process crashes;

calculating a crash rate from the crash count per the amount of uptime; and

killing the process when the calculated crash rate exceeds a maximum crash rate.

2. The method of claim 1 , further comprising attempting to restart the process when the process crashes if the crash rate does not exceed the maximum crash rate.

3. The method of claim 1 , further comprising cleaning up internal process control data and notifying an administrator when the crash rate exceeds a maximum crash rate.

4. A method comprising:

starting a process;

setting a process timer;

polling the process;

incrementing a timeout count when the process fails to respond to polling before the process timer expires; and

killing the process when the timeout count exceeds a maximum number of timeouts.

5. The method of claim 4 , further comprising resetting the timeout count each time the process responds to polling.

6. The method of claim 4 , wherein polling the process and incrementing the timeout count when the process fails to respond to polling before the process timer expires comprises sending a message to the process and incrementing the timeout count when the process fails to reply to the sent message before the process timer expires.

7. The method of claim 6 , further comprising resetting the timeout count each time the process replies to the sent message.

8. A method comprising:

starting a process wherein the process comprises a plurality of threads;

setting a thread timer for each of the plurality of threads of the process;

waiting for each thread to provide an updated status;

incrementing a corresponding thread timeout count when any of the threads fails to provide an updated status before the corresponding thread timer expires; and

killing the process when any of the thread timeout counts exceeds a maximum number of timeouts.

9. The method of claim 8 , further comprising incrementing the timeout counts when the process fails to register before any of the thread timers expire.

10. The method of claim 8 , further comprising incrementing the timeout counts when the process fails to send a message before any of the thread timers expire.

11. The method of claim 8 , further comprising resetting the thread timeout count each time a corresponding thread provides an updated status.

12. An apparatus comprising:

a process monitor to monitor a behavior of a process;

a timer to measure an amount of uptime;

a counter to count the number of times the process crashes;

a calculator to measure a crash rate from the number of times the process crashes per the amount of uptime; and

a controller to kill the process when the calculated crash rate exceeds a predetermined maximum crash rate.

13. An article of manufacture comprising a machine accessible medium including content that when accessed by a machine causes the machine to:

start a process;

accumulate an amount of uptime for the process;

increment a crash count when the process crashes;

calculate a crash rate from the crash count per the amount of uptime; and

kill the process when the crash rate exceeds a maximum crash rate.

Assignments (9)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2006
From: YIP, MIKE; BERENBERG, ANNA
To: EXTREME NETWORKS
Reel/Frame 016962/0346 →
Continuity (1)
Continuation 1015756700 · May 28, 2002