-
Die
Erfindung betrifft ein System zum Bestimmen von Operationseigenschaften
(im Folgenden auch als Betriebseigenschaften bezeichnet), beispielsweise
einer Anwendungsantwortzeit, einer ausführbaren Anwendung.
-
Für verschiedene
Zwecke ist es notwendig, Betriebseigenschaften einer ausführbaren
Anwendung (einschließlich
transaktionsbasierte Anwendungseigenschaften) zu bestimmen, beispielsweise
eine Antwortzeit und Zugriffszeit. Die Betriebseigenschaften werden
verwendet, um eine Computerkonfiguration (Systemeinstellung) zu
optimieren, um Übertragungsbandbreitenanforderungen
zu bestimmen oder um zu zeigen, dass eine Anwendung garantierte
Leistungsschwellenwerte erfüllt.
Es gibt bereits Systeme (von BMC Software, Computer Associates,
Compuware und IBM), die für
transaktionsbasierte ausführbare
Anwendungen eine Antwortzeitüberwachung
und Alarmierung bereitstellen. Diese bekannten Systeme enthalten
typischerweise feste Links (Hooks), die eine Übertragung und Erfassung von
Daten mit einem zugrundeliegenden Betriebssystem oder einer ausführbaren
Anwendung ermöglichen,
um Betriebseigenschaften zu bestimmen. Die bekannten Systeme sind
jedoch zusätzlich
komplex und rechenbetont, was die Folge eines Feature- und Funktionsoverheads
ist. Ferner gehen die weiteren Features und Funktionen über das
hinaus, was zur Bestimmung der Betriebseigenschaft eigentlich erforderlich
ist. Die weiteren Features und Funktionen liefern die Möglichkeit Fehler
in einem Verarbeitungssystem zu beheben und beispielsweise den Betrieb
von ausführbaren
Komponenten zu prüfen.
Die weiteren Features und Funktionen belasten auch die CPU Ressourcen.
Bekannte Systeme verwenden verschiedene Definitionen von Betriebseigenschaften,
beispielsweise eine Antwortzeitinformation und eine Erfassungsantwortzeitinformation
in verschiedener Art und Weise. Es ist wünschenswert, dass ein System
in der Lage ist, Betriebseigenschaften einer ausführbaren
Anwendung zu erfassen, bei reduzierter Verarbeitungs- und Rechenlast,
und ohne dass es erforderlich ist, eine Zielanwendung oder eine
Betriebssystemumgebung modifizieren zu müssen. Bekannte Antwortzeitüberwachungssysteme
sind darüber
hinaus typischerweise in ein Betriebssystem oder eine Anwendung
integriert und sammeln Antwortzeitdaten, können jedoch die Daten nicht
ansammeln, korrelieren und analysieren, solange ein Benutzer dies
nicht beantragt.
-
Eine
Aufgabe der Erfindung ist die Schaffung eines Systems und eines
Verfahrens, um die oben genannten Anforderungen, Nachteile und zugehörigen Probleme
zu lösen.
-
Die
Lösung
der Aufgabe ist in den unabhängigen
Ansprüchen
angegeben. Weiterentwicklungen der Erfindung sind in den Unteransprüchen angegeben.
-
Ein
adaptives System gemäß der Erfindung
liefert eine minimal belastende Bestimmung einer Betriebseigenschaft
(beispielsweise einer Antwortzeit) und eine Überwachung einer ausführbaren
Anwendung sowie predictive Betriebseigenschaft-Alarmnachrichten
in Echtzeit, basierend auf einem erlernten Verhalten. Das System
zum Überwachen
von Betriebseigenschaften einer ausführbaren Anwendung enthält einen
Erfassungsprozessor zum Erfassen von Nachrichten von einer ausführbaren
Anwendung, was die Bestimmung einer Zeitdauer seit der Initiierung
eines Vorgangs durch einen Benutzer ermöglicht. Ein Datenprozessor
bestimmt eine Dauer des benutzergestarteten Vorgangs in Antwort
auf die erfassten Nachrichten und sammelt Information, die eine
Mehrzahl von Zeitdauerwerten enthält für eine entsprechende Mehrzahl
von Vorkommnissen des benutzergestarteten Vorgangs. Eine Datenanalyseeinheit
analysiert die gesammelte Information, um eine Ausführungszeitdauer
eines benutzergestarteten Vorgangs zu ermitteln, die einen normalen
Bereich, der basierend auf der gesammelten Information abgeleitet
worden ist, überschreitet.
-
1 zeigt
ein System zum Bestimmen von Betriebseigenschaften einer ausführbaren
Anwendung gemäß der Erfindung.
-
2 zeigt
eine Datensatzstruktur, die Daten enthält, die zu der Bestimmung der
Betriebseigenschaften einer ausführbaren
Anwendung gehören,
gemäß der Erfindung.
-
3 zeigt
einen Bericht, der die Betriebseigenschaften einer ausführbaren
Anwendung, die durch das System gemäß 1 bestimmt
worden sind, graphisch darstellt, gemäß der Erfindung.
-
4 zeigt
einen Bericht in Tabellenform, der die Betriebseigenschaften einer
ausführbaren
Anwendung, die durch das System gemäß 1 bestimmt
worden sind, darstellt, gemäß der Erfindung.
-
5 zeigt
einen Bericht, der eine detaillierte Analyse von übermäßigen Antwortzeiten
einer ausführbaren
Anwendung darstellt, die durch das System gemäß 1 bestimmt
worden sind.
-
6 zeigt
ein Flussdiagramm eines Prozesses, der von dem System gemäß 1 verwendet
wird, um die Betriebseigenschaften einer ausführbaren Anwendung zu bestimmen,
gemäß der Erfindung.
-
7 zeigt
ein Flussdiagramm eines Prozesses, der von einer ausführbaren
Anwendung verwendet wird, zur Unterstützung der Bestimmung von Betriebseigenschaften
einer ausführbaren
Anwendung, gemäß der Erfindung.
-
1 zeigt
ein adaptives System zum Bestimmen von Betriebseigenschaften einer
ausführbaren
Anwendung. Das System bestimmt die Betriebseigenschaften (beispielsweise
die Antwortzeit) einer ausführbaren
Anwendung, wobei ein minimaler Einfluss auf die Anwendung und das
Betriebssystem erfolgt. Das System liefert eine Überwachung einer ausführbaren
Anwendung und erzeugt adaptiv Alarmnachrichten, basierend auf Echtzeitvorhersagen
einer Betriebseigenschaft durch gelerntes Verhalten. Das System
liefert eine Antwortzeitüberwachung
und eine Alarmierung, ohne dass ein umfangreiche Infrastruktur notwendig
ist, um dies zu unterstützen.
Ferner lernt das System adaptiv akzeptable Bereiche von Antwortzeiten
für individuelle
Anwendungen sowie für
individuelle Benutzer. Das System empfängt Eingabedaten von einer
ausführbaren
Anwendung, die zu überwachen
ist. Dies beseitigt vorteilhafterweise das Erfordernis von Interface
Links (Hooks) oder eines Overheads zwischen dem System und der überwachten
ausführbaren
Anwendung (was typischerweise bei bekannten Überwachungssystemen notwendig
ist). Das System hat auch die Fähigkeit,
einen Nebensatz von Benutzern, Anwendungen oder Kunden zu überwachen,
beispielsweise Kunden eines ASP (Application Service Provider),
der eine oder mehrere Anwendungen zur Benutzung durch die Kunden
bereitstellt.
-
Das
System vergleicht augenblickliche Antwortzeiten mit entsprechenden
historischen, vorher erfassten Antwortzeiten (beispielsweise Antwortzeiten,
die an anderen Tagen, Wochen oder Monaten erfasst worden sind, oder
von anderen Anwendungen oder anderen Kunden) in Echtzeit. Das System
verwendet adaptiv diesen Vergleich zur Ermittlung von akzeptablen
Bereichen von Antwortzeiten der ausführbaren Anwendung und reduziert
die Anwendungsverwaltung und Konfigurationszeit.
-
Eine
ausführbare
Anwendung gemäß der Erfindung
enthält
Code oder eine maschinenlesbare Anweisung zum Implementieren vorbestimmter
Funktionen, einschließlich
die eines Betriebssystems, Gesundheitsinformationssystems oder eines
anderen Informationsverarbeitungssystems, beispielsweise in Antwort
auf einen Benutzerbefehl oder eine Eingabe. Eine ausführbare Prozedur
ist ein Segment aus Code (maschinenlesbare Anweisung), eine Subroutine
oder ein anderer eindeutiger Abschnitt von Code oder ein Bereich
einer ausführbaren
Anwendung zum Durchführen
eines Prozesses oder mehrerer bestimmter Prozesse und kann das Durchführen von
Operationen für
empfangene Eingabeparameter (oder in Antwort auf empfangene Eingabeparameter)
enthalten und resultierende Ausgabeparameter bereitstellen. Ein
Prozessor gemäß der Erfindung enthält eine
Vorrichtung und/oder einen Satz von maschinenlesbaren Anweisungen
zum Durchführen
von Aufgaben. Ein Prozessor enthält
irgendeine Kombination aus Hardware, Firmware und/oder Software.
Ein Prozessor wirkt auf Information ein durch Manipulieren, Analysieren,
Modifizieren, Konvertieren oder Übertragen von
Information zur Verwendung durch eine ausführbare Prozedur oder eine Informationsvorrichtung
und/oder durch Weiterleiten der Information an ein Ausgabegerät. Ein Prozessor
kann die Fähigkeiten
einer Steuerung oder eines Mikroprozessors beispielsweise verwenden
oder enthalten. Ein Anzeigenprozessor oder Generator ist ein bekanntes
Element, das eine elektronische Schaltung oder Software oder eine
Kombination aus beidem enthält,
um Anzeigenbilder oder Bereiche davon zu erzeugen. Eine Benutzerschnittstelle
enthält
ein oder mehrere Anzeigenbilder, die es einem Benutzer ermöglichen
mit einem Prozessor oder einer anderen Vorrichtung (Gerät) zu interagieren.
-
2 zeigt
eine Datensatzstruktur, die Daten enthält, die zu der Bestimmung von
Betriebseigenschaften einer ausführbaren
Anwendung gehören.
Das in 1 gezeigte System verwendet diese Datensatzstruktur
und eine Benutzerschnittstelle bei der Überwachung von Betriebseigen schaften
einer Anwendung. Die Datensatzstruktur ist selbsterhaltend (pflegt
sich selbst) und verwendet Dateien mit einer festen Größe, die
nicht bereinigt werden müssen.
Die Datenbankstruktur ermöglicht
ein Sammeln und Berichten von Antwortzeitdatensätzen bei verschiedenen Berichterstattungszeitintervallen
(pro Stunde, Tag, Tag für
Tag, pro Woche, Monat, Jahr, etc.). Eine Antwortzeitanalyseeinheit
in dem System berechnet und speichert vorzugsweise eine Antwortzeit
für verschiedene
Intervalle, im Wesentlichen unmittelbar wenn die Antwortzeitwerte
bestimmt sind. Dies erlaubt vorteilhafterweise auch ein schnelles
Melden der Antwortzeit und erleichtert das Bestimmen von Antwortzeitunregelmäßigkeiten.
Darüber
hinaus ist die Datensatzstruktur geeignet, um Betriebseigenschaften für mehrere
Anwendungen und Benutzer zu vergleichen. Dies erleichtert eine Betriebseigenschaftsanalyse durch
einen ASP (Application Service Provider) für den Zweck der Optimierung
und der Verwaltung von bereitgestellten Anwendungen. Das System
erlaubt ein Bestimmen einer übermäßigen Antwortzeit
für einen
einzelnen Benutzer oder für
mehrere Benutzer.
-
Die
in 2 gezeigte Datensatzstruktur 1 kann für einen
oder für
mehrere bestimmte Benutzer, bestimmte Kunden eines ASPs oder für eine bestimmte
Anwendung erzeugt werden. Das Datensatzelement 2 ist ein
physikalischer Datensatzschlüssel,
der zur Identifizierung und zum Sortieren der Datensatzstrukturen verwendet
wird. Das Datensatzelement 3 enthält Metadaten, die Komponenten
von eingebetteten logischen Datensätzen beschreiben, und einen
Index auf diese Komponenten. Eine bestimmte Instanz der Antwortzeitdaten
wird in einer bestimmten logischen Datensatzinstanz 4 gespeichert.
Die bestimmte Instanz der Antwortzeitdaten kann für ein bestimmtes
Zeitintervall (Stunde, Tag, Woche, Monat, etc.) sein oder Zusammenfassungsdaten
für eine
bestimmte Zeitperiode darstellen. Das Datensatzelement 4a speichert
Metadaten, die einen Zeitrahmen beschreiben und einen Typ eines
logischen Datensatzes für
den logischen Datensatz 4 angeben. Diese Metadaten identifizieren
auch die Komponenten der Antwortzeitdaten des logischen Datensatzes 4,
die gemessen worden sind, und liefert einen Index an die Komponenten.
Das Datensatzelement 4b enthält Antwortzeitkriterien (beispielsweise
die prozentuale Schwellenwerte als Antwortzeitalarmwerte angeben),
die verwendet werden, um zu bestimmen, wann eine Ausnahmebedingung
auftritt. Ferner enthält
ein Datensatzelement 4c andere Daten, die zu erfassen sind,
und die in der Datensatzstruktur 1 gespeichert sind.
-
Das
System verwendet eine Web basierte Benutzerschnittstelle, die eine
benutzerfreundliche Schnittstelle bereitstellt, die die Komplexität vor einem
Benutzer verbirgt. Die Benutzerschnittstelle erlaubt eine flexible
Erzeugung von Berichten in Antwort auf einen weiten Bereich von
benutzerauswählbaren
Berichterzeugungskriterien. Ferner, wenn die Antwortzeitdaten gesammelt
sind, werden sie in ein gewünschtes
Berichtformat formatiert. Das System ermöglicht eine schnelle Erzeugung
von verschiedenen Berichtformaten in Antwort auf einen Benutzerbefehl.
Darüber
hinaus werden die Antwortzeitdaten in gemeinsamen Datenstrukturen
für unterschiedliche
Berichterzeugungskriterien gespeichert, was ein Mischen und Abgleichen
der Datensegmente erlaubt und eine Suche nach gemeinsamen Instanzen
von abnormal erhöhten
Antwortzeiten erleichtert.
-
In
dem System gemäß 1 greifen
beispielsweise die Benutzer AAA und BBB auf eine Anwendung A zu
und ein Benutzer CCC greift auf eine Anwendung B zu. Die Anwendungen
A und B sind beispielsweise Programme und liefern Nachrichten 20,
die in einem Ereignisprotokoll 105 gespeichert werden.
Die Nachrichten geben Benutzeraktivitäten (Vorgänge) an und die entsprechenden
Zeitpunkte, zu denen die einzelnen Aktivitäten (Vorgänge) gestartet und beendet
werden. Eine Betriebseigenschaftsanalyseeinheit 107 analysiert und
parst Anwendungsnachrichtendaten 30, die aus dem Ereignisprotokoll 105 erhalten
werden, um Antwortzeitwerte (und andere Betriebseigenschaftsparameterwerte)
zu erfassen. Die Betriebseigenschaftsanalyseeinheit 107 liefert
resultierende Antwortzeitwerte 40 an einen Datenbankspeicher 109.
Der Datenbankspeicher vergleicht und sammelt die Werte 40, um verschiedene
Kriterien zur Verwendung bei der Erzeugung von Berichten bereitzustellen,
die einem Benutzer die Betriebseigenschaften einer Anwendung darstellen.
Ein bestimmter Benutzer oder ein Systemadministrator gibt eine Anfrage
für einen
Bericht auf, der Betriebseigenschaften einer bestimmten ausführbaren
Anwendung für
den bestimmten Benutzer darstellt, über eine oder mehrere Nachrichten 70,
die an den Datenbankspeicher 109 übertragen werden. Eine Datenbankmanagement-Anwendungsverwaltungsdatenbank 109 vergleicht
und formatiert die erforderliche Betriebseigenschaftsinformation,
um einen Bericht in Antwort auf die Abfrage zu erzeugen, die bestimmte
Suchkriterien enthält,
die in den Nachrichten 70 empfangen werden. Die Datenbankspeicher 109 Verwaltungsanwendung
liefert den erzeugten Bericht an den bestimmten Benutzer.
-
Die
Betriebseigenschaftsanalyseeinheit 107 erfasst vorbestimmte
Eigenschaftsschwellenwerte in den Nachrichten SO von dem Datenbankspeicher 109.
Die Analyseeinheit 107 verwendet die erfassten Schwellenwerte
bei der Bestimmung, ob Betriebseigenschaften einer bestimmten ausführbaren
Anwendung und eines bestimmten Benutzers einen vorbestimmten Schwellenwert überschreiten.
Die Analyseeinheit 107 erzeugt und sendet Alarmnachrichten 60 an
bestimmte Ziele (beispielsweise bestimmte Benutzer) in Antwort darauf,
dass bestimmt wird, dass eine Betriebseigenschaft ihren entsprechenden
vorbestimmten Schwellenwert überschreitet
(beispielsweise ein Maximum- oder Minimumschwellenwert). Die Betriebseigenschaftsanalyseeinheit 107 erfasst
auch Updates (Aktualisierungen) für vorbestimmte Eigenschaftsschwellenwerte
in den Nachrichten 50 von dem Datenbankspeicher 109.
-
Das
in 1 gezeigte System liefert eine Echtzeitüberwachung
und adaptiert seinen Betrieb (Operation) durch gelerntes Verhalten.
In einer beispielhaften Operation treten die folgenden Vorgänge auf.
- 1. Der Benutzer (User) AAA greift auf die Anwendung
(Appl.) A beginnend bei 9:10:21 zu. Die Anwendung A erzeugt eine
Nachricht, die dieses Ereignis in dem Ereignisprotokoll 105 angibt
und speichert.
- 2. Der Benutzer (User) BBB greift auf die Anwendung (Appl.)
A beginnend zum Zeitpunkt 9:10:22 zu. Die Anwendung A erzeugt eine
Nachricht, die dieses Ereignis in dem Ereignisprotokoll 105 angibt
und speichert.
- 3. Zum Zeitpunkt 9:10:22 empfängt der Benutzer (User) AAA
Verarbeitungsergebnisse von der Anwendung (Appl.) A. Die Anwendung
A erzeugt eine Nachricht, die dieses Ereignis in dem Ereignisprotokoll 105 angibt und
speichert.
- 4. Der Benutzer (User) CCC greift auf die Anwendung (Appl.)
B beginnend zum Zeitpunkt 9:10:23 zu. Die Anwendung B erzeugt eine
Nachricht, die dieses Ereignis in dem Ereignisprotokoll 105 angibt
und speichert.
- 5. Zum Zeitpunkt 9:15:10 empfängt der Benutzer BBB Verarbeitungsergebnisse
von der Anwendung A. Die Anwendung A erzeugt eine Nachricht, die
dieses Ereignis in dem Ereignisprotokoll 105 angibt und
aufzeichnet.
-
Die
Betriebseigenschaftsanalyseeinheit 107 greift auf die Nachrichten
zu und parst diese, die in dem Ereignisprotokoll 105 gespeichert
sind, um Information zu ermitteln und zu extrahieren, die notwendig
ist, um ein Antwortzeitverhalten (und/oder eine andere Betriebseigenschaft)
zu bestimmen. In dem beispielhaften Betrieb bestimmt die Analyseeinheit 107 Antwortzeitwerte
aus den Ereignisprotokollnachrichten in folgender Weise.
-
-
Die
Analyseeinheit 107 verwendet vorbestimmte Antwortzeitüberwachungsregeln
bei der Erfassung von Schwellenwertinformation aus dem Datenbankspeicher 109 und
zum Erzeugen von Alarmnachrichten. Speziell erzeugt die Analyseeinheit 107 eine
Alarmnachricht für
die Anwendung A und den Benutzer BBB, basierend auf einer Antwortzeit,
die einen zwei Sekunden Schwellenwert überschreitet. Die Antwortzeit
für den Benutzer „CCC" ist gemäß diesem
beispielhaften Betrieb zu diesem Zeitpunkt noch nicht bekannt, so
dass für dieses
Ereignis keine Alarmnachricht erzeugt wird.
-
Das
System akkumuliert und sammelt kontinuierlich Antwortzeitdatensätze und
verwendet die gesammelten Daten zur adaptiven Einstellung der Analyse,
der Alarmerzeugung und der Berichterzeugung. Die Datensätze werden
verarbeitet und in dem Datenbankspeicher 109, der von dem
System gepflegt wird, gespeichert. Letztendlich enthält diese
Datenbank Werte von typischen Antwortzeiten. Gemäß diesem Beispiel füllt sich
der Datenbankspeicher 109 in folgender Weise.
-
-
Die
Analyseeinheit 107 prüft
und analysiert die gesammelten Antwortzeitdatensätze und stellt adaptiv ihre
Analyse und die Alarmerzeugungsfunktionen, basierend auf dieser
Analyse, ein. Als Ergebnis, selbst wenn der Benutzer BBB eine 4:48
minütige
Antwortzeit beispielsweise erfährt,
startet die Analyseeinheit 107 nicht die Erzeugung einer
Alarmnachricht, da das System dies als halbwegs nahe an einem normalen
Wert bestimmt hat (durchschnittlicher Antwortzeitwert 5 Minuten
4 Sekunden), basierend auf einem älteren Vorgang. Dieser adaptive
Betrieb reduziert in vorteilhafter Weise falsche Alarme.
-
Weiter
in dem obigen Ausführungsbeispiel, ändert der
Benutzer AAA mit der Zeit die Verwendung der Anwendung A, um Vorgänge zu enthalten,
die mehr Zeit benötigen.
Anfänglich
detektiert die Analyseeinheit 107 eine Zunahme der Antwortzeit
und erzeugt Alarmnachrichten, die einen Fehler angeben. Die Analyseeinheit 107 sammelt
jedoch Antwortzeitwerte und bestimmt einen geänderten (erhöhten) durchschnittlichen
Antwortzeitwert, der die vergrößerten Antwortzeitwerte
innerhalb eines vernünftigen
Bereichs angibt. Als Ergebnis bestimmt die Analyseeinheit 107 nicht
länger,
dass die zugenommenen Antwortzeiten übermäßig sind, da sie innerhalb
von Richtlinien liegen, die von dem Datenbankspeicher 109 erfasst
worden sind, und die Analyseeinheit 107 erzeugt nicht länger Alarmnachrichten
für diese
Antwortzeiten.
-
Gemäß einem
anderen Beispiel wird die Anwendung A geändert, um eine weitere Funktion
(Funktion A1) zu enthalten, die ein Zusammenfassungsergebnis anstelle
eines detaillierten Ergebnisses liefert. Als Konsequenz erfährt der
Benutzer BBB periodisch eine reduzierte Antwortzeit bei der Verwendung
der Zusammenfassungsfunktion. Man würde erwarten, dass dies zur
Folge hat, dass in der Analyseeinheit 107 entweder in nicht
korrekter Weise falsche Alarmnachrichten erzeugt werden oder keine
Alarmnachrichten erzeugt werden, wenn wahre übermäßige Antwortzeiten auftreten.
Die Anwendung A ist jedoch in vorteilhafter Weise aus gelegt, um
neue Anwendungsnachrichten zu erzeugen, die einen Startzeitpunkt
und einen Stop zeitpunkt des Betriebs von hinzugefügten oder
geänderten
Funktionen angeben, wie in diesem Ausführungsbeispiel beispielsweise die
Zusammenfassungsfunktion A1. Folglich verhindert die Analyseeinheit 107 ein
Verpassen von Alarmen oder eine Erzeugung von falschen Alarmnachrichten
durch Untersuchen der Nachrichten von der Anwendung A, um neue Nachrichten
zu ermitteln, die hinzugefügte,
gelöschte
oder geänderte
Funktionen angeben. Speziell detektiert die Analyseeinheit 107 eine Änderung
in Funktionen, die von der Anwendung A bereitgestellt werden (also
detektiert die Operation bzw. Betrieb der hinzugefügten Funktion
A1) durch Prüfen
der Anwendungsnachrichten, die in dem Ereignisprotokoll 105 gespeichert
sind. Die Benutzeroperation der hinzugefügten Zusammenfassungsfunktion
A1 hat beispielsweise die folgende Nachrichtenklassifikation zur
Folge.
-
-
Die
Anpassung der Anwendung A, um neue Anwendungsnachrichten zu erzeugen,
die einen Startzeitpunkt und einen Stopzeitpunkt der Operation der
hinzugefügten
oder geänderten
Funktionen angeben, ermöglichen
es der Analyseeinheit 107 Antwortzeitabweichungen korrekt
zu bestimmen. Darüber
hinaus ist die Analyseeinheit 107 auch in der Lage, die
Ereignisprotokollnachrichten zu prüfen, um das Verhalten der Anwendung,
basierend auf einem bestimmten Tag der Woche, einem bestimmten Zeitpunkt
des Tages, Monatsendes, etc., zu analysieren.
-
Die
Betriebseigenschaftsanalyseeinheit 107 liefert Werte 40 an
den Datenbankspeicher 109, der die Werte 40 sammelt
und vergleicht, um verschiedene Kriterien bereitzustellen, die ein
Verhalten der Anwendung angeben, das bei der Erzeugung von Berichten
zur Darstellung für
einen Benutzer verwendet werden kann. Die Kriterien, die das Verhalten
einer Anwendung angeben, das in der Datenbank 109 gespeichert
ist, richten sich in vorteilhafter Weise an Proble me existierender
passiver ausführbarer
Anwendungsüberwachungssysteme.
Ein spezielles Problem tritt beispielsweise auf, wenn wenig Vorgänge (Aktivitäten) oder
kein Vorgang auftritt. Unter dieser Bedingung kann ein bekanntes
passives Überwachungssystem
für eine
ausführbare
Anwendung keine Antwortzeit einer Anwendung, die einen normalen
Bereich überschreitet,
detektieren und darüber Bericht
erstatten, solange nicht eine minimale Aktivität in der Anwendung erfolgt.
Im Gegensatz dazu kennen die Analyseeinheit 107 und die
Datenbank 109 die typischen stündlichen, täglichen und wöchentlichen
Anwendungsaktivitäten
und die zugehörigen
Antwortzeiten. Diese Daten werden von der Analyseeinheit 107 verwendet,
um Antwortzeiten zu detektieren, die einen normalen Bereich überschreiten,
der für
eine bestimmte Zeitperiode, beispielsweise eine bestimmte Stunde
eines Tages, einen bestimmten Tag einer Woche, einer Woche eines
Monats oder Jahres, etc., bestimmt wird. Dadurch erzeugt die Einheit 107 Alarmnachrichten
bei einer Detektion von Antwortzeiten, die einen normalen Bereich überschreiten,
der für
eine derartige bestimmte Zeitperiode bestimmt worden ist.
-
Eine
Datenbankmanagementanwendung, die die Datenbank 109 verwaltet,
vergleicht und formatiert erforderliche Betriebseigenschaftsinformationen,
um mehrere Berichte in Antwort auf eine Abfrage zu erzeugen, die
bestimmte Suchkriterien enthält,
die in Nachrichten 70 empfangen worden sind. Die erzeugten
Berichte werden einem oder mehreren anfragenden Benutzern zugestellt.
Die Berichte sind verwendbar, um eine Antwortzeitaktivität für einen
gegebenen Benutzer oder eine Anwendung (mit anderen Benutzern, Anwendungen,
etc.) auf einer Tag für
Tag, Woche für
Woche oder Monat für
Monat Basis zu vergleichen. Da manche Anwendungen in einer ähnlichen
Art und Weise mehr basierend auf einem Tag der Woche verwendet werden, unterstützt die
Datenbank 109 die Erzeugung von Berichten, die einen Vergleich
einer Anwendungsantwortzeit (und/oder einen anderen Betriebseigenschaftsvergleich)
für einen
bestimmten Tag des gleichen Tages einer vorherigen Woche, zwei vorheriger
Wochen, etc. erlaubt. Die Berichte enthalten Information, die einen
Vergleich unterschiedlicher Anwendungen oder unterschiedlicher Benutzer
innerhalb der gleichen Anwendung unterstützt. Dieser Typ von Bericht
ist beispielsweise von Nutzen, um zu bestimmen, ob ein Benutzer
in nicht korrekter Weise oder in nicht optimaler Weise eine bestimmte
Anwendung verwendet.
-
3 zeigt
einen graphischen Bericht, der von einer Datenbankmanagementanwendung
bereitgestellt wird, und der Betriebseigenschaften einer ausführbaren
Anwendung darstellt, die durch das System gemäß 2 bestimmt
worden sind. Auf den Bericht kann zugegriffen werden und er kann
betrachtet werden, entweder Online oder als Hardcopy nach einem
Ausdrucken vorliegen. Der graphische Bericht zeigt eine Anzahl von
Antwortzeitvorkommnissen, die zu einem Benutzerzugriff auf eine
ausführbare
Anwendung (1-313)
gehören.
Die Antwortzeitvorkommnisse werden in 10 Bereiche gruppiert, die
von unter einer Sekunde bis über
eine Minute reichen, ausgedrückt
als Prozentsatz der Gesamtanzahl von Vorkommnissen. Der Bericht
zeigt Antwortzeiten, die ein Benutzer C001 (310) während drei
unterschiedlicher Zeitperioden (302, 304 und 306)
erfahren hat, individuell dargestellt für jeden Antwortzeitbereich.
Die Spalte 319 zeigt die Anzahl an Antwortzeitvorkommnissen,
die in den drei Zeitperioden 302, 304 und 306 aufgezeichnet
worden sind. Die Spalte 321 zeigt die Anzahl an Antwortzeitvorkommnissen,
die tatsächlich
in den drei Zeitperioden 302, 304 und 306 dargestellt
sind.
-
4 zeigt
einen tabellarischen Bericht der Antwortzeiteigenschaft einer ausführbaren
Anwendung, die in dem graphischen Bericht gemäß 3 dargestellt
ist. Die Spalte 400 zeigt die zehn Antwortzeitvorkommnisbereiche,
die von unter einer Sekunde bis über
eine Minute reichen. Die Spalten 403, 407 und 409 zeigen
die Anzahl an Antwortzeitvorkommnissen für jeden Antwortzeitbereich
für die
drei Zeitperioden 302, 304 und 306, die
in 3 angegeben sind. Innerhalb der Tabelle sind Antwortzeitwerte,
die bestimmt sind als übermäßige Antwortzeiten,
unterstrichen angezeigt, um Links anzugeben, die URLs darstellen.
In Antwort auf eine Benutzerauswahl eines angezeigten Links wird
eine detaillierte Analyse der übermäßigen Antwortzeiten präsentiert.
Die detaillierte Analyse liefert einen exakten Zeitpunkt und das
Datum der Vorkommnisse der übermäßigen Antwortzeiten,
und gibt einen zugehörigen
Benutzer der Anwendung an, der für
die übermäßigen Antwortzeiten
verantwortlich ist.
-
5 zeigt
einen Bericht, der eine detaillierte Analyse der übermäßigen Antwortzeiten
darstellt, die mit einem Benutzerzugriff auf eine bestimmte ausführbare Anwendung 523 in
Zusammenhang stehen, die durch das System gemäß 1 über eine
feste Zeitperiode 520 bestimmt worden sind. Der Bericht
zeigt Start- und Stopzeiten in den Spalten 500 und 503 für bestimmte
Antwortzeitvorkommnisse, die 20 Sekunden überschreiten (gezeigt in Spalte 507)
für einen
bestimmten Benutzer (Spalte 509) und eine Arbeitsstation
(Spalte 511). Diese übermäßigen Antwortzeiten
werden zusammen mit der Anzahl an Benutzern (oder Zugriffen) der Anwendung
ermittelt, die keine ungewöhnlichen
Antwortzeiten haben. Der Bericht zeigt bei spielsweise die Anzahl
an Antwortzeitvorkommnissen, die unter 20 Sekunden liegen, für die gleiche
Anwendung (oder die gleiche entsprechende Anwendungsfunktion), einen
Benutzer und eine Arbeitsstation, beispielsweise 1489 Vorkommnisse,
die in der Reihe 530 angegeben sind. Der Bericht gibt an,
dass der Benutzer S. Ford Antwortzeiten (beispielsweise 48, 42 und
43 Sekunden in den Reihen 513, 515 und 517)
erfahren hat, die signifikant die Antwortzeiten der Benutzer Johns,
Miller, Davis, Rouwen und Harrod überschreiten (23, 24, 21, 21
und 22 Sekunden). Folglich gibt der Bericht an, dass S. Ford eine
Anwendung 523 in einer Art und Weise verwendet, die sich
von der der anderen Benutzer unterscheidet, unabhängig welche
Arbeitsstation verwendet wird. Mehrere ungewöhnliche Antwortzeiten, die
zeitlich gruppiert sind, können
ein Antwortzeitproblem innerhalb einer Anwendung angeben.
-
6 zeigt
ein Flussdiagramm eines Prozesses, der von der Analyseeinheit 107 verwendet
wird, die in Verbindung mit einer Datenbankmanagementanwendung arbeitet,
um Betriebseigenschaften einer ausführbaren Anwendung zu bestimmen.
In Schritt 702, der dem Startschritt 700 folgt,
erfasst die Einheit 107 Nachrichten von dem Ereignisprotokoll 105,
die von einer ausführbaren
Anwendung hergeleitet sind, und erlaubt die Bestimmung einer Ausführungsdauer
eines benutzergestarteten Vorgangs durch die ausführbare Anwendung. Die
Nachrichten geben den Startzeitpunkt der Ausführung des benutzergestarteten
Vorgangs und den Beendigungszeitpunkt der Ausführung des benutzergestarteten
Vorgangs an. Der benutzergestartete Vorgang enthält eine oder mehrere bestimmte
Funktionen einer ausführbaren
Anwendung, eine bestimmte ausführbare Prozedur
einer ausführbaren
Anwendung und eine Ausführung
einer bestimmten ausführbaren
Anwendung. In Schritt 704 interpretiert die Einheit 107 eine
erfasste Nachricht, um zu bestimmen, ob die interpretierte Nachricht
in Antwort auf eine oder mehrere Funktionen einer ausführbaren
Anwendung, einer ausführbaren
Prozedur einer ausführbaren
Anwendung und einen benutzergestarteten Vorgang geliefert worden
ist. Die Analyseeinheit 107 bestimmt auch, ob die interpretierte
Nachricht in Antwort auf eine Funktion einer ausführbaren
Anwendung geliefert worden ist, die zuvor von der Analyseeinheit 107 nicht
bemerkt worden ist.
-
In
Schritt 705 bestimmt die Einheit 107 eine Ausführungsdauer
einer benutzergestarteten Aktivität von einer ausführbaren
Anwendung in Antwort auf erfasste Nachrichten. Die Analyseeinheit 107 speichert
die bestimmten Zeitdauerwerte in der Datenbank 109 in Schritt 708.
Mit der Zeit sammelt die Datenbank 109 Information, die
mehrere Zeitdauerwerte für
entsprechende mehrere Vorkommnisse der benutzergestarteten Aktivität enthält, sowie
Information, die einen bestimmten Benutzer angibt, der die Aktivität gestartet
hat. Die Analyseeinheit 107 analysiert in Schritt 713 die
gesammelte Information, um Schwellenwerte abzuleiten, die einen normalen
Bereich von Zeitdauerwerten angeben. Die Analyseeinheit 107 analysiert
in Schritt 713 die gesammelte Information, um eine Ausführungsdauer
eines benutzergestarteten Vorgangs, der von der ausführbaren Anwendung
durchgeführt
wird, zu ermitteln, die den normalen Bereich überschreitet, der basierend
auf der gesammelten Information hergeleitet worden ist. Die Analyseeinheit 107 stellt
adaptiv den normalen Bereich mit vorbestimmten Zeitintervallen in
Antwort auf eine Änderung
der gesammelten Zeitdauerwerte in der Datenbank 109 ein.
Eine Änderung
der gesammelten Zeitdauerwerte in der Datenbank 109 enthält ein Wachstum der
gesammelten Information oder eine ermittelte Trendänderung
der gesammelten Information. Die Analyseeinheit 107 startet
beispielsweise die Erzeugung einer Alarmnachricht in Antwort auf
ein Identifizieren der Ausführungsdauer
des benutzergestarteten Vorgangs, der den normalen Bereich überschreitet.
In Schritt 717 übermittelt
die Analyseeinheit 107 eine Nachricht an die ausführbare Anwendung,
um die Erzeugung einer neuen Anwendungsnachricht zu starten, die
zu einem bestimmten Benutzer gehört,
der den Vorgang gestartet hat, in Antwort auf die Analyse der gesammelten
Zeitdauerwerte in der Datenbank 109. Der Prozess gemäß 6 endet
in Schritt 723.
-
7 zeigt
ein Flussdiagramm eines Prozesses, der von einer ersten ausführbaren
Anwendung verwendet wird, zum Unterstützen der Bestimmung von Betriebseigenschaften
der ersten ausführbaren
Anwendung. In Schritt 803, der dem Startschritt 800 folgt,
erzeugt die erste Anwendung Nachrichten, die einen Startzeitpunkt
der Ausführung
eines benutzergestarteten Vorgangs durch die erste ausführbare Anwendung
und einen Beendigungszeitpunkt der Ausführung des benutzergestarteten
Vorgangs durch die erste ausführbare Anwendung
angeben. In Schritt 807 übermittelt die erste Anwendung
die Nachrichten an eine zweite andere ausführbare Anwendung. Die zweite
ausführbare
Anwendung sammelt Information, die mehrere Zeitdauerwerte enthält, die
von den empfangenen übertragenen
Nachrichten hergeleitet werden, für entsprechende mehrere Vorkommnisse
des benutzergestarteten Vorgangs. Die zweite ausführbare Anwendung
analysiert die gesammelte Information, um eine Ausführungsdauer
des gestarteten Vorgangs durch die erste ausführbare Anwendung anzugeben,
die einen normalen Bereich ü berschreitet,
der basierend auf der gesammelten Information hergeleitet worden
ist. Die Nachrichten, die den Start des benutzergestarteten Vorgangs
und die Beendigung des benutzergestarteten Vorgangs angeben, geben
eine Zeitdauer des benutzergestarteten Vorgangs an. Der Prozess
gemäß 7 endet
in Schritt 825.
-
Das
System verwendet Vorgangsnachrichten, die von einer Anwendung erzeugt
werden, und benötigt vorteilhafterweise
keine Links (Hooks) in ein zugrundeliegendes Betriebssystem oder
eine Anwendung. Eine Anwendung kann bereits derartige Nachrichten
für Auditierungszwecke
oder Sicherheitszwecke bereitstellen und keinerlei Modifikation
benötigen.
In Antwort auf das Auftreten eines Vorgangs analysiert das System
Antwortzeitdaten, sammelt diese und speichert sie. Dies erlaubt
dem System anfänglich
ein erwartetes Anwendungsverhalten zu bestimmen und ermöglicht die
Bestimmung einer Abweichung von diesem erwarteten Verhalten. Das
System lernt mit der Zeit ein normales Anwendungsverhalten und stellt
adaptiv einen Alarmprozess in Antwort auf Abweichungen von dem erwarteten
Anwendungsverhalten ein. Die Systemfähigkeit des Erlernens von erwarteten
Antwortzeiten und das Anpassen an eine Abweichung in den Antwortzeiten
reduziert eine notwendige Anwendungsimplementation und Supportarbeitsleistung.
Diese Fähigkeit
minimiert auch die Notwendigkeit die Antwortzeitalarmschwellenwerte
einzustellen, wenn eine große
Vielzahl von unterschiedlichen ausführbaren Anwendungen überwacht
wird.
-
Das
System ist für
Berechnungsprozesse anwendbar, die eine Nachricht liefern, die angibt,
dass ein Benutzer einen Vorgang in einer ausführbaren Anwendung startet (und
einen Vorgangsstartzeitpunkt liefert) sowie eine Nachricht, die
angibt, dass der Benutzervorgang beendet ist (und eine Vorgangsendzeit
angibt). Das System kann zur Überwachung
einer Großrechnerstapelverarbeitung
(Mainframe Batch Processing) verwendet werden, für eine Unix oder Windows basierte
Verarbeitung oder für
eine proprietäre
Systemverarbeitung auf irgendeinem Gebiet, nicht nur auf dem Gebiet
des Gesundheitswesens. Das System ist in der Lage, Antwortzeiten
bereitzustellen, wo die Erfassung oder Implementierung anderer Überwachungssysteme schwierig
ist, beispielsweise aufgrund von Softwarelizenzen, Infrastrukturimplementationen,
CPU, Management oder Konfigurationsanforderungen. Das System kann
von einem ASP (Application Service Provider) bei der Bereitstellung
ausführbarer
Anwendungen als Dienstleistung verwendet werden, die einem Fernbenutzer erlaubt,
Berichte zu erzeugen und Antwortzeiten der Anwendungen zu sehen,
die beispielsweise geleast oder gemietet sind. Für Seiten, die eine Anwendung
verkaufen, kann das System als eine zusätzliche Anwendung oder zusätzlicher
Dienst verwendet werden.
-
Das
System und die Prozesse gemäß den 1 bis 7 sind
nicht ausschließlich.
Andere Systeme und Prozesse können
gemäß der Erfindung
hergeleitet werden, um die gleichen Funktionen und Aufgaben zu erfüllen. Obwohl
die Erfindung unter Bezugnahme auf bestimmte Ausführungsbeispiele
beschrieben wurde, soll verstanden werden, dass die Ausführungsbeispiele
und Abweichungen, die hier gezeigt und beschrieben worden sind,
nur beispielhaft sind. Modifikationen des gegenwärtigen Designs können durch
einen Fachmann auf diesem Gebiet implementiert werden, ohne den
Schutzbereich der Erfindung zu verlassen. Ferner kann irgendeine
der Funktionen, die von dem System gemäß 1 bereitgestellt
werden, in Hardware, Software oder in einer Kombination aus beidem
implementiert werden, und die beschriebenen Prozesse, einschließlich die
Prozesse gemäß den 6 und 7 können in
einem Speichermedium als maschinenausführbarer Code, der ein oder
mehrere ausführbare
Anwendungen enthält,
enthalten sein.