IP Library Granted Patent US 6,944,798
Granted Patent B2
US 6,944,798 · App. 09/853,371 · Granted Sep 13, 2005

Graceful degradation system

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 6,944,798
App. No.
09/853,371
Granted
Sep 13, 2005
Kind
B2
Abstract

A method for providing for the graceful degradation of the performance and functionality of a distributed computer application. A plurality of sensors monitor the performance and availability of various external resources and/or services required by the application, as well as the performance of various components of the application, and report the information to one or more controllers. The controllers make decisions based on rule-based criteria as to how to modify the behavior of the application according to the performance and availability of the various required resources and services. The controllers send messages to one or more actuators which effect the change in behavior of the application. A console displays the status of the system and allows users to modify the rules used to modify the behavior of the application.

Claims (79)

1. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources, wherein said one or more controllers generate messages to other of said one or more controllers; and

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers.

2. The system of claim 1 further comprising one or more consoles.

3. The system of claim 2 wherein said one or more controllers send information to said console for output to a user of said application.

4. The system of claim 1 wherein said sensors measure performance characteristics of various components of said multi-tiered client/server application.

5. The system of claim 4 wherein said measurements are communicated to said one or more controllers.

6. The system of claim 4 wherein said one or more sensors are embedded in the application code of said various components of said application.

7. The system of claim 4 wherein said one or more sensors utilize software calls to an operating system supporting the execution of said various components of said application.

8. The system of claim 4 wherein said one or more sensors are installed on a network and access said various components of said application as a client.

9. The system of claim 4 wherein said one or more sensors measure the response time and availability of various external resources or services required by said various components of said application.

10. The system of claim 9 wherein said sensors utilize existing performance information.

11. The system of claim 4 wherein a single component of said application is monitored by a plurality of said sensors.

12. The system of claim 1 wherein said one or more controllers decide upon a course of action based on measurements of performance characteristics of components of said client/server application.

13. The system of claim 12 wherein said one or more controllers apply rules to modify the behavior of said application.

14. The system of claim 12 wherein said rules can be built-in or user-defined.

15. The system of claim 12 wherein said one or more controllers send messages to said one or more actuators to effect modification of the behavior of said application.

16. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources; and

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers;

wherein said one or more sensors measure performance characteristics of various components of said multi-tiered client/server application and wherein said sensors monitor performance characteristics explicitly specified by a user.

17. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application, wherein said one or more sensors can be generated and placed by said system;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources; and

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers.

18. The system of claim 17 wherein said one or more controllers can modify the behavior of said one or more sensors.

19. The system of claim 18 wherein said one or more controllers can specify the frequency by which said one or more sensors monitor performance characteristics of various components of said application.

20. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

and one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and

wherein said one or more controllers can modify the behavior of said one or more sensors, wherein said one or more controllers can specify the frequency by which said one or more sensors monitor performance characteristics of various components of said application, and wherein said one or more controllers can specify the type of said performance characteristics of various components of said application which are to be monitored by said one or more sensors.

21. The system of claim 20 wherein said one or more controllers can specify the manner in which said one or more sensors communicate said performance characteristics to said one or more controllers.

22. The system of claim 20 wherein said actuators may effect modification of the behavior of discrete components said application.

23. The system of claim 20 wherein said actuators may the user interface of said application.

24. The system of claim 23 wherein said actuators may restrict the functionality of said application.

25. The system of claim 20 wherein said actuators may be embedded in the code of said application.

26. The system of claim 20 wherein a plurality of actuators may be utilized to modify the behavior of one or more components of said application.

27. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and

wherein said one or more controllers decide upon a course of action based on measurements of performance characteristics of components of said multi-tiered client/server application, wherein said one or more controllers decide upon a course of action based on measurements of performance characteristics of components of said multi-tiered client/server application, wherein said one or more controllers send messages to said one or more actuators to effect modification of the behavior of said application and wherein multiple instances of an actuator may be deployed across replicated instances of external resources or services utilized by said application.

28. The system of claim 27 wherein said external resources or services includes a user interface rendering mechanism.

29. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and

wherein said one or more controllers decide upon a course of action based on measurements of performance characteristics of components of said multi-tiered client/server application, wherein said one or more controllers decide upon a course of action based on measurements of performance characteristics of components of said multi-tiered client/server application, wherein said one or more controllers send messages to said one or more actuators to effect modification of the behavior of said application, and wherein a single component of said application may be affected by a plurality of actuators.

30. The system of claim 29 wherein a single controller is utilized.

31. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers, and wherein a plurality of controllers arranged in a master/slave hierarchy are utilized.

32. The system of claim 31 wherein a plurality of controllers arranged in a process group are utilized.

33. The system of claim 31 wherein information regarding the performance of said application is displayed on one or more consoles.

34. The system of claim 33 wherein a user of said system can enter specific rules at said console to be applied by said one or more controllers to modify the behavior of said application.

35. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and

one or more consoles wherein said one or more consoles may communicate directly with said one or more sensors.

36. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and one or more consoles wherein said one or more consoles may communicate directly with said one or more actuators.

37. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and

one or more consoles wherein said one or more consoles may communicate with said one or more sensors or said one or more actuators through said one or more controllers.

38. A system for providing for the graceful degradation of the performance of a computer application comprising:

one or more sensors configured to check the availability and/or performance of resources required by a multi-tiered client/server application;

one or more controllers configured to collect information from said one or more sensors and apply rule-base criteria to said information to determine the performance and/or availability of said resources;

one or more actuators configured to modify the behavior of said multi-tiered client/server application based on information collected by said one or more controllers; and

one or more consoles, wherein a user of said system can enable or disable individual ones of said one or more sensors or said one or more actuators.

39. The system of claim 38 wherein said console displays messages and alerts generated by said system.

Assignments (25)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
CHANGE OF NAME Recorded Aug 20, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031043/0281 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Sep 28, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, LLC)
To: QUEST SOFTWARE, INC.; AELITA SOFTWARE CORPORATION; SCRIPTLOGIC CORPORATION; VIZIONCORE, INC.; NETPRO COMPUTING, INC.
Reel/Frame 029050/0679 →