-
Die
vorliegende Anmeldung beansprucht Priorität in bezug auf die vorläufige US-Anmeldung,
laufende Nr. 60/632,163, eingereicht am 1.12.2004, worauf hiermit
vollständig
Bezug genommen wird.
-
HINTERGRUND DER ERFINDUNG
-
Technisches Gebiet
-
Die
vorliegende Erfindung betrifft die Software-Verjüngung und insbesondere ein
System und ein Verfahren zur Auslösung der Software-Verjüngung unter
Verwendung einer Kundeneinfluß-Performance-Metrik.
-
In
einem großen
industriellen Softwaresystem sind extensive Überwachung und Verwaltung notwendig,
um die erwartete Performance und Zuverlässigkeit zu liefern. Es hat
sich gezeigt, daß bestimmte
spezifische Arten von Softwareausfällen, sogenannte Soft-Ausfälle, das
System in einem verschlechterten Modus zurücklassen, wobei das System
immer noch funktionsfähig
ist, aber die verfügbare
Systemkapazität
reduziert wurde.
-
Soft-Ausfälle können durch
die Entwicklung des Zustands einer oder mehrerer Software-Datenstrukturen
während
einer (möglicherweise)
längeren
Ausführung
verursacht werden. Diese Entwicklung wird als Software-Alterung
bezeichnet. Software-Alterung wurde in weithin benutzter Software
beobachtet.
-
Software-Programmfehler
können
aufgrund von Problemen mit Synchronisierungsmechanismen, z.B. Semaphoren;
Kernstrukturen, z.B. Dateitabellenzuteilungen; Datenbank-Verwaltungssystemen,
z.B. Datenbank-Verriegelungs-Stillstand; und anderen Betriebsmittelzuteilungsmechanismen,
die für
den ordnungsgemäßen Betrieb
großer
mehrschichtiger verteilter Systeme wesentlich sind, auftreten. Da
ein Teil dieser Betriebsmittel mit Selbstheilmechanismen, z.B. Zeitgrenzen,
ausgelegt ist, können
sich bestimmte Systeme nach einiger Zeit von Soft-Programmfehlern erholen.
-
Der
derzeitige Betriebsmodus verwendet servergestützte Überwachungswerkzeuge, um eine
Server-Integritätsprüfung bereitzustellen.
Dieser Ansatz kann zu einer Diskrepanz zwischen einer Benutzerwahrnehmung
der Performance und einer Überwachungswerkzeug-Sicht
der Performance führen.
-
Deshalb
werden ein System und ein Verfahren zur Auslösung der Software-Verjüngung unter
Verwendung einer Kundeneinfluß-Performance-Metrik
benötigt.
-
KURZE DARSTELLUNG
DER ERFINDUNG
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung umfaßt ein computerimplementiertes Verfahren
zur Auslösung
eines Systems und/oder Verfahrens der Software-Verjüngung das
Empfangen einer Anforderung von Betriebsmitteln und das Bestimmen
einer geschätzten
Ansprechzeit auf die Anforderung von Betriebsmitteln. Das Verfahren
umfaßt
die folgenden Schritte: Bestimmen, daß die geschätzte Ansprechzeit größer als
eine erste Schwelle ist, Bestimmen, daß eine Anzahl geschätzter Ansprechzeiten
größer als
die erste Schwelle größer oder
gleich einer zweiten Schwelle ist, und Auslösen des Systems und/oder des
Verfahrens der Software-Verjüngung.
-
Das
Bestimmen der geschätzten
Ansprechzeit umfaßt
das Nehmen von Stichproben mehrerer Ansprechzeiten und das Bestimmen
einer mittleren Ansprechzeit, wobei die mittlere Ansprechzeit als
die geschätzte
Ansprechzeit verwendet wird.
-
Die
erste Schwelle variiert entsprechend einer Anzahl geschätzter Ansprechzeiten
größer als
die erste Schwelle.
-
Das
Verfahren umfaßt
das Vergrößern der
ersten Schwelle mit der Anzahl der Ansprechzeiten größer als
die erste Schwelle.
-
Die
zweite Schwelle ist eine positive ganze Zahl.
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung umfaßt ein computerimplementiertes Verfahren
zur Auslösung
eines Systems und/oder Verfahrens der Software-Verjüngung die
folgenden Schritte: Empfangen einer Anforderung von Betriebsmitteln
und Bestimmen einer Ansprechzeit auf die Anforderung von Betriebsmitteln.
Das Verfahren umfaßt
die folgenden Schritte: Vergrößern einer
Anzahl von Ansprechzeiten größer als
eine erste Schwelle bei Bestimmung, daß die Ansprechzeit größer als
die erste Schwelle ist, Verkleinern der Anzahl der Ansprechzeiten
größer als
die erste Schwelle bei Bestimmung, daß die Ansprechzeit kleiner
als die erste Schwelle ist, Bestimmen, daß die Anzahl der Ansprechzeiten
Größer als
die erste Schwelle größer oder
gleich einer zweiten Schwelle ist, und Auslösen des Systems und/oder Verfahrens
der Software-Verjüngung.
-
Das
Verfahren umfaßt
die folgenden Schritte: Vergrößern der
ersten Schwelle um eine Anzahl von Standardabweichungen bei Bestimmung,
daß die
Anzahl der Ansprechzeiten größer als
die erste Schwelle größer als
D ist, wobei die erste Schwelle um K Standardabweichungen vergrößert werden
kann, und wobei K und D dieselbe oder verschiedene positive ganze
Zahlen sind und die zweite Schwelle K multipliziert mit D ist.
-
Das
Verfahren umfaßt
die folgenden Schritte: Verkleinern der ersten Schwelle um eine
Anzahl von Standardabweichungen bei Bestimmung, daß die Anzahl
der Ansprechzeiten größer als
die erste Schwelle kleiner als D ist, wobei die erste Schwelle um
K Standardabweichungen verkleinert werden kann, und wobei K und
D dieselbe oder verschiedene positive ganze Zahlen sind und die
zweite Schwelle K multipliziert mit D ist.
-
Die
Anforderung von Betriebsmitteln wird durch einen Client oder einen
Lastinjektor erzeugt.
-
Das
Verfahren umfaßt
ferner das Initialisieren mit der Anzahl der Ansprechzeiten größer als
die erste Schwelle auf Null und der auf eine niedrigste Stufe gesetzten
ersten Schwelle.
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung wird eine Programmspeichereinrichtung bereitgestellt,
die per Maschine lesbar ist und greifbar ein Programm von Anweisungen
verkörpert,
die durch die Maschine ausführbar
sind, um Verfahrensschritte zur Auslösung eines Systems und/oder
Verfahrens der Software-Verjüngung
durchzuführen.
Das Verfahren umfaßt
die folgenden Schritte: Empfangen einer Anforderung von Betriebsmitteln,
Bestimmen einer Kenngröße eines
Ansprechens auf die Anforderung von Betriebsmitteln und Vergleichen
der Kenngröße des Ansprechens
mit einer ersten Schwelle. Das Verfahren umfaßt die folgenden Schritte:
Vergleichen, wieviel mal die Kenngröße des Ansprechens größer als
die erste Schwelle ist, mit einer zweiten Schwelle und Auslösen des
Systems und/oder Verfahrens der Software-Verjüngung bei Bestimmung, daß die Anzahl
von Malen, die die Kenngröße des Ansprechens
größer als
die erste Schwelle ist, größer oder
gleich der zweiten Schwelle ist.
-
Die
erste Schwelle variiert entsprechend der Anzahl von Malen, die die
Kenngröße des Ansprechens größer als
die erste Schwelle ist.
-
Das
Verfahren umfaßt
das Vergrößern der
ersten Schwelle mit der Anzahl von Malen, die die Kenngröße des Ansprechens
größer als
die erste Schwelle ist.
-
Die
zweite Schwelle ist eine positive ganze Zahl.
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung wird eine Programmspeichereinrichtung bereitgestellt,
die per Maschine lesbar ist und greifbar ein Programm von Anweisungen
verkörpert,
die durch die Maschine ausführbar
sind, um Verfahrensschritte zur Auslösung eines Systems und/oder
Verfahrens der Software-Verjüngung
durchzuführen.
Das Verfahren umfaßt
die folgenden Schritte: Empfangen einer Anforderung von Betriebsmitteln,
Bestimmen einer Kenngröße eines
Ansprechens auf die Anforderung von Betriebsmitteln und Vergleichen
der Kenngröße des Ansprechens
mit einer ersten Schwelle. Das Verfahren umfaßt ferner das Vergleichen einer
Anzahl von Malen, die die Kenngröße des Ansprechens
kleiner als die erste Schwelle ist, mit einer zweiten Schwelle und
das Auslösen
des Systems und/oder Verfahrens der Software-Verjüngung bei
Bestimmung, daß die
Anzahl von Malen, die die Kenngröße des Ansprechens
kleiner als die erste Schwelle ist, größer oder gleich der zweiten
Schwelle ist.
-
Die
erste Schwelle variiert entsprechend der Anzahl von Malen, die die
Kenngröße des Ansprechens kleiner
als die zweite Schwelle ist.
-
Das
Verfahren umfaßt
das Vergrößern der
ersten Schwelle mit der Anzahl von Malen, die die Kenngröße des Ansprechens
kleiner als die erste Schwelle ist.
-
Die
zweite Schwelle ist eine positive ganze Zahl.
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung umfaßt ein computerimplementiertes Verfahren
zum Unterscheiden zwischen einem Burst von Anforderungen und einer
Abnahme der Performance eines Softwareprodukts die folgenden Schritte:
Empfangen mehrerer Anforderungen von Betriebsmitteln, Vergleichen
jeder der mehreren Anforderungen mit einer variablen Schwelle, Variieren
der variablen Schwelle, um zwischen einem Burst von Anforderungen
und einer Abnahme der Performance eines Softwareprodukts für die Abwicklung
der mehreren Anforderungen zu unterscheiden, und Auslösen eines
Systems und/oder Verfahrens der Software-Verjüngung bei Bestimmung, daß eine Anzahl
von Ansprechzeiten größer als
die variable Schwelle auf einer vorbestimmten höchsten Stufe größer oder
gleich einer zweiten Schwelle ist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Es
werden nun nachfolgend bevorzugte Ausführungsformen der vorliegenden
Erfindung mit Bezug auf die beigefügten Zeichnungen ausführlicher
beschrieben:
-
1 ist
ein Diagramm eines Systems gemäß einer
Ausführungsform
der vorliegenden Offenlegung;
-
2 ist
ein Flußdiagramm
eines Verfahrens gemäß einer
Ausführungsform
der vorliegenden Offenlegung;
-
3 ist
eine Darstellung eines Verfahrens gemäß einer Ausführungsform
der vorliegenden Offenlegung und
-
4 ist
ein Flußdiagramm
eines Verfahrens gemäß einer
Ausführungsform
der vorliegenden Offenlegung.
-
AUSFÜHRLICHE
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung identifizieren ein System und Verfahren eine
Performance-Verschlechterung
und korrigieren sie durch Verwendung von Software-Verjüngung. Die
Performance-Verschlechterung alternder Software wird erkannt, indem
man sich ändernde
Werte einer Kundeneinflußmetrik
verfolgt und auf diese anspricht. Das System und Verfahren mildern
die Performance-Verschlechterung durch Auslösen eines Software-Verjüngungsereignisses.
-
Das
Software-Verjüngungsereignis
ist ein vorgreifender Neustart einer ablaufenden Anwendung oder eines
laufenden Systems zur Verhinderung zukünftiger Ausfälle. Der
Neustart kann alle Threads, die gerade ausgeführt werden, beenden und alle
mit den Threads assoziierte Betriebsmittel freigeben. Das Software-Verjüngungsereignis
kann zusätzliche
Aktivitäten
umfassen, wie zum Beispiel eine Backup-Routine oder eine Müllabfuhr.
-
Das
Verfahren zum automatischen Identifizieren einer Performance-Verschlechterung
unterscheidet zwischen einer Performance-Verschlechterung, die durch Bursts von
Ankünften
(z.B. Aktivität)
verursacht wird, und einer durch Software-Alterung verursachten
Performance-Verschlechterung. Das Verfahren definiert und identifiziert
eine durch Software-Alterung verursachte Performance-Verschlechterung,
um Software-Verjüngung
auszulösen,
indem Kundeneinflußmetriken überwacht
werden.
-
Durch Überwachung
von Verzögerungen
von denen Benutzer betroffen sind (ein Beispiel für eine Kundeneinflußmetrik),
verknüpft
das Verfahren eine Benutzersicht der System-Performance mit einer
Werkzeugüberwachungssicht
der System-Performance. Da Kundeneinflußmetriken zum Auslösen eines
Verjüngungsverfahrens
verwendet werden, ist die Kundensicht der Performance dieselbe wie
die Überwachungswerkzeug-Systemsicht
der Performance. Da mehrere Behälter
(im folgenden Eimer) zum Zählen
der Variabilität
der gemessenen Kundeneinflußmetrik
verwendet werden, kann eine Verschlechterung, die eine Funktion
einer Transienten in dem Ankunftsprozeß ist, von einer Verschlechterung,
die eine Funktion der Software-Alterung ist, unterschieden werden.
Ferner können
das Nehmen von Stichproben und die Summierung von Mittelwerten der
Kundeneinflußmetrik
bestimmt werden, und Sätze
der Statistik, wie zum Beispiel der zentrale Grenzwertsatz, können auf
das Nehmen von Stichproben und die Summierung angewandt werden,
um Systemverschlechterung zu erkennen.
-
Es
versteht sich, daß die
vorliegende Erfindung in verschiedenen Formen von Hardware, Software, Firmware,
speziellen Prozessoren oder einer Kombination davon implementiert
werden kann. Bei einer Ausführungsform
kann die vorliegende Erfindung in Software als ein greifbar auf
einer Programmspeichereinrichtung verkörpertes Anwendungsprogramm
implementiert werden. Das Anwendungsprogramm kann in eine Maschine,
die eine beliebige geeignete Architektur umfaßt, heraufgeladen und darin
ausgeführt
werden.
-
Mit
Bezug auf 1 umfaßt gemäß einer Ausführungsform
der vorliegenden Erfindung ein Computersystem 101 zur Implementierung
eines Verfahrens der Software-Verjüngung u.a. folgendes: eine
Zentralverarbeitungseinheit (CPU) 102, einen Speicher 103 und
eine Schnittstelle 104 für Eingabe/Ausgabe (E/A). Das Computersystem 101 ist
im allgemeinen durch die E/A-Schnittstelle 104 an
ein Display 105 und verschiedene Eingabegeräte 106,
wie zum Beispiel eine Maus und eine Tastatur, angekoppelt. Zu den
Hilfsschaltungen können
Schaltungen wie etwa Cache, Stromversorgungen, Taktschaltungen und
ein Kommunikationsbus gehören.
Der Speicher 103 kann Direktzugriffsspeicher (RAM), Nurlesespeicher
(ROM), ein Plattenlaufwerk, ein Bandlaufwerk usw. oder eine Kombination
davon umfassen. Die vorliegende Erfindung läßt sich als eine Routine 107 implementieren,
die in dem Speicher 103 gespeichert und durch die CPU 102 ausgeführt wird,
um das Signal aus der Signalquelle 108 zu verarbeiten.
Dementsprechend ist das Computersystem 101 ein Vielzweck-Computersystem,
das zu einem Spezial-Computersystem
wird, wenn es die Routine 107 der vorliegenden Erfindung
ausführt.
-
Die
Computerplattform 101 umfaßt außerdem ein Betriebssystem und
einen Mikroanweisungscode. Die verschiedenen hier beschriebenen Prozesse
und Funktionen können
entweder Teil des Mikroanweisungscodes oder Teil des Anwendungsprogramms
sein (oder einer Kombination davon), der bzw. das über das
Betriebssystem ausgeführt
wird. Zusätzlich
können
verschiedene andere Peripheriegeräte mit der Computerplattform
verbunden sein, wie zum Beispiel ein zusätzliches Datenspeichergerät und ein
Druckgerät.
-
Da
ein Teil der konstituierenden Systemkomponenten und Verfahrensschritte,
die in den beigefügten Figuren
abgebildet sind, in Software implementiert werden kann, versteht
es sich ferner, daß die
tatsächlichen Verbindungen
zwischen den Systemkomponenten (oder den Prozeßschritten) abhängig von
der Art und Weise der Programmierung der vorliegenden Erfindung
unterschiedlich sein können.
Anhand der hier angegebenen Lehren der vorliegenden Erfindung werden
Durchschnittsfachleute in der Lage sein, diese und ähnliche
Implementierungen oder Konfigurationen der vorliegenden Erfindung
in Betracht zu ziehen.
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung unterscheidet ein Verfahren zwischen einer
Performance-Verschlechterung aufgrund eines Bursts von Ankünften und
einer Performance-Verschlechterung aufgrund einer vergrößerten Versorgungszeit
als Ergebnis einer Systemkapazitätsverschlechterung.
Wenn zum Beispiel das System mit voller Kapazität arbeitet und ein kurzer Burst
von Ankünften
dargeboten wird, sollte kein Vorteil in der Ausführung der präventiven
Wartungsroutine bestehen. Wenn sich die Systemkapazität jedoch
so weit verschlechtert hat, daß Benutzer
effektiv aus dem System ausgesperrt sind, kann eine präventive
Wartung angebracht sein.
-
Man
kann häufig,
zum Beispiel alle 2 Sekunden, von einer Kundeneinflußmetrik
der Performance, wie zum Beispiel einer Ansprechzeit, Stichproben
nehmen. Die Kundeneinflußmetrik
kann eine Zeit schätzen,
zu der ein Computersystem auf einer bestimmten Schwellenstufe, z.B.
voller Kapazität,
arbeitet. Wenn bestimmt wird, daß das Computersystem auf oder über der
Schwellenstufe arbeitet, wird ein Überwachungswerkzeug in Produktion
eingesetzt. Das Nehmen von Stichproben kann zum Beispiel durch Lastinjektoren
durchgeführt werden,
die an wichtigen Kundenstandorten eingesetzt werden. Lastinjektoren
erzeugen virtuelle Benutzer, die den Platz realer, Client-Software betreibender
Benutzer einnehmen. Die Lastinjektoren erzeugen Transaktionsanforderungen
von einem oder mehreren virtuellen Benutzer-Clients, um eine Last
auf einem oder mehreren zu prüfenden
Servern zu erzeugen. Somit läßt sich
eine genaue Schätzung
der mittleren Transaktionsansprechzeitanforderung bestimmen.
-
Während eines
Meßfensters
werden Stichproben der Transaktionsansprechzeit genommen, wenn ihre
Verarbeitung endet. K repräsentiert
die Gesamtzahl der verfügbaren
Eimer. D repräsentiert
die Tiefe jedes Eimers, z.B. die maximale Anzahl von Vorfällen, die
der aktuelle Eimer speichert, ohne überzulaufen. Wenn ein letzter
verfügbarer
Eimer (Eimer N = K) überläuft, wird
eine Verjüngungsroutine
ausgeführt.
-
Die
Stufen jedes der K zusammenhängenden
Eimer werden verfolgt. Zu jedem gegebenen Zeitpunkt wird die Stufe
d nur des N-ten Eimers betrachtet. N wird erhöht, wenn der aktuelle Eimer überläuft, d.h.
wenn d zum ersten Mal D übersteigt,
und wird erniedrigt, wenn der aktuelle Eimer geleert ist, d.h. wenn
d das nächste Mal
den Wert Null annimmt.
-
Mit
Bezug auf
2 kann für eine Transaktion
201,
von der Stichproben genommen werden, eine Schätzung der derzeitigen mittleren
Verzögerung
folgendermaßen
bestimmt werden:
-
Ein
Verfahren gemäß einer
Ausführungsform
der vorliegenden Offenlegung wird beim Herauffahren des Systems,
z.B. 201, und bei Verjüngung 203 mit
d = 0; N = 0 initialisiert. Mit Bezug auf 3 repräsentiert N
einen Eimer-Index 301; in dem in 3 gezeigten
Beispiel gilt N = 4. d repräsentiert
die Anzahl von in dem aktuellen Eimer 302 gespeicherten
Bällen;
in dem Beispiel befinden sich gerade 8 Bälle in dem Eimer 4. Die K zusammenhängenden
Eimer 303 werden modelliert, wobei die Anzahl der Bälle in jedem
Eimer verfolgt wird. Es wird ein Ball in dem aktuellen Eimer 208 abgelegt,
wenn ein Wert einer Kundeneinflußmetrik, wie zum Beispiel eine
gemessene Verzögerung
(z.B. eine Verzögerung
beim Ansprechen auf eine Transaktionsanforderung), einen erwarteten
Wert der Kundeneinflußmetrik 207 von
zum Beispiel 30 Sekunden übersteigt.
Es wird ein Ball aus dem aktuellen Eimer 213 entfernt,
wenn die gemessene Verzögerung
kleiner als der erwartete Wert der Kundeneinflußmetrik 210 und 212 ist.
-
Wenn
der aktuelle Eimer überläuft 205,
wird eine Schätzung
der erwarteten Verzögerung
korrigiert, indem eine Standardabweichung zu dem erwarteten Wert
der Metrik 206 addiert wird, und man geht zum nächsten Eimer über. Wenn
ein Eimer unterläuft 205,
wird die eine Standardabweichung von der Schätzung der erwarteten Verzögerung 209 subtrahiert,
und man geht zu dem vorherigen vollen Eimer über.
-
Der Überwachungssystemarchitekt
oder -administrator kann die Nachgiebigkeit eines Verfahrens gegenüber einem
Burst von Ankünften
(z.B. Transaktionsanforderungen) abstimmen, indem er den Wert von
D 304 ändert.
Die Nachgiebigkeit des Verfahrens gegenüber einer Verschlechterung
der Kundeneinflußmetrik wird
durch Abstimmen des Werts von K eingestellt. K repräsentiert
die Anzahl der Standardabweichungen vom Mittelwert, die toleriert
werden würden,
bevor die Software-Verjüngungsroutine
aktiviert wird.
-
Ein
Verfahren gemäß einer
Ausführungsform
der vorliegenden Offenlegung liefert eine wünschenswerte Grund-Performance
bei niedrigen Lasten, weil es aktiviert wird, wenn die Kundeneinflußmetrik
ein vorbestimmtes Target übersteigt.
Diese Performance erreicht man durch Verwendung mehrerer zusammenhängender
Eimer zur Verfolgung von Bursts in dem Transak tionsankunftsprozeß und einer
Eimertiefe zur Validierung der Zeitpunkte, zu denen die Schätzung der
Performance-Metrik geändert
werden sollte.
-
Ein
Verfahren gemäß einer
Ausführungsform
der vorliegenden Offenlegung kann erweitert werden, um die Anwendung
mehrerer statistischer Funktionen zur Schätzung der Kundeneinflußmetrik
zu erlauben, wie zum Beispiel das Nehmen des Mittelwerts eines Stichprobenfensters
oder des Max oder des Min oder des Medians oder der Summe; durch
Verwendung von Abweichungen, deren Betrag mit N, dem Index des aktuellen Eimers,
variiert, indem die aktuelle Abweichung für eine bestimmte Menge von
Koeffizienten aN auf x + aN° gesetzt
wird. Das Verfahren kann außerdem
die Möglichkeit
berücksichtigen,
daß die
Abgangsrate abnimmt, wenn sich das System verschlechtert, indem
man die Eimertiefen von dem Wert von N abhängig macht. D würde dann
durch DN ersetzt.
-
Gemäß einer
Ausführungsform
der vorliegenden Offenlegung kann man ein Verfahren zur Überwachung
der relevanten Kundeneinflußmetriken
in Softwareprodukten und zum Auslösen der Software-Verjüngung benutzen,
wenn die Schätzung
der Kundeneinflußmetrik
ein spezifiziertes Target überschreitet.
-
Es
sollte beachtet werden, daß in
der gesamten Beschreibung Ausführungsformen
unter Verwendung der Begriffe „Eimer" und „Ball" beschrieben wurden.
Diese Begriffe sind jedem beliebigen Verfahren zum Zählen des
Auftretens eines Ereignisses analog, zum Beispiel betrachtet man
in der Computerwissenschaft ein Element eines Arrays als einen Eimer,
wobei das Array K Elemente (z.B. Eimer) lang ist und jedes Element eine
Zahl speichert, die repräsentiert,
wie oft ein Ereignis aufgetreten ist (z.B. Bälle). Für Durchschnittsfachleute ist
erkennbar, daß andere
Verfahren zum Verfolgen einer Kundeneinflußmetrik möglich sind.
-
Mit
Bezug auf 4 umfaßt gemäß einer Ausführungsform
der vorliegenden Offenlegung ein Verfahren zum Auslösen eines Systems
und/oder Verfahrens der Software-Verjüngung die folgenden Schritte:
Empfangen einer Anforderung von Betriebsmitteln 401, Bestimmen
einer Ansprechzeit auf die Anforderung von Betriebsmitteln 402,
Bestimmen, daß die
Ansprechzeit größer als
eine erste Schwelle ist 403, Bestimmen, daß eine Anzahl
von Ansprechzeiten größer als
die erste Schwelle größer als
eine zweite Schwelle ist 404, und Auslösen des Systems und/oder Verfahrens
der Software-Verjüngung 405.
Die Ansprechzeit ist ein Beispiel für eine Kundeneinflußmetrik;
es können
andere Metriken verwendet werden, wie zum Beispiel eine Anzahl von 404-Fehlern,
die ein Client empfängt
(z.B. Hinzufügen
eines Balls zu einem Eimer beim Empfang eines 404-Fehlers
und Subtrahieren eines Balls von dem Eimer beim Empfang einer gültigen Antwort).
-
Nachdem
Ausführungsformen
für ein
System und Verfahren zum Auslösen
der Software-Verjüngung beschrieben
wurden, wird angemerkt, daß Fachleute
im Hinblick auf die obigen Lehren Modifikationen und Abwandlungen
vornehmen können.
Es versteht sich deshalb, daß an
den konkreten offengelegten Ausführungsformen
der Erfindung Änderungen
vorgenommen werden können,
die innerhalb des Gedankens und Schutzumfangs der Erfindung liegen,
der durch die angefügten
Ansprüche
definiert wird. Nachdem somit die Erfindung mit den Einzelheiten
und der Genauigkeit gemäß den Anforderungen
des Patentrechts beschrieben wurde, wird das zu Beanspruchende und
durch das Patentrecht zu Schützende
in den angefügten
Ansprüchen dargelegt.