-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft ein Verfahren und ein System zum Ermitteln, ob Ressourcen für eine Anwendung zur Unterstützung ihrer Verarbeitung einer Eingabedatei verfügbar sind. Genauer betrifft die Erfindung ein System und ein Verfahren, das seine Testhäufigkeit für die Ressourcennutzung dynamisch auf der Grundlage eines zuvor festgelegten, sich auf die Anwendungseingabedatei beziehenden Ressourcenauslastungsmusters ändert.
-
Beschreibung des Standes der Technik
-
Die Verarbeitung eines computerrealisierten Jobs erfordert Ressourcen und genauer die Verfügbarkeit von Ressourcen zu bestimmten Zeiten. „Blockierung“ (starvation (Verhungern)) stellt einen bekannten Begriff dar, der die Nichtverfügbarkeit einer oder mehrerer für die Unterstützung der Verarbeitung eines Jobs benötigter Ressourcen beschreibt. Ressourcenintensive Jobs benötigen Unterstützung in großem Umfang, jedoch nicht notwendigerweise in kontinuierlicher Weise. Zum Beispiel kann ein ressourcenintensiver Job Zeiten aufweisen, die zur Unterstützung der Verarbeitung eine erhöhte Verfügbarkeit erfordern, sowie andere Zeiten aufweisen, die ein geringeres Ausmaß an Ressourcennutzungsbedarf besitzen. Beim Testen eines Systems auf die Ressourcennutzung wird die Verfügbarkeit von Ressourcen zur Unterstützung des zu erfassenden Jobs ermittelt. Gleichzeitig bedeutet der Vorgang des Testens des Systems eine Belastung der System- und möglicherweise Netzwerkressourcen, die andernfalls für die Unterstützung eines oder mehrerer aktiver Jobs genutzt werden könnten.
-
Aus Eranian, S. „perfmon2: a flexible performance monitoring interface for Linux", Ottawa Linux Symposium 2006, Ottawa, Canada, Juli 2006, ist das Überwachen sowohl der Systemressourcenverfügbarkeit als auch der Anwendungsressourcennutzung bekannt.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Nachteilig an der Lehre gemäß dem obengenannten Stand der Technik ist, dass das Überwachen selbst eine Belastung der System- und möglicherweise Netzwerkressourcen darstellt, die anderenfalls für die Unterstützung eines oder mehreren aktiven Jobs genutzt werden könnten.
-
In Anbetracht dieses Standes der Technik liegt der beanspruchten Erfindung die Aufgabe zugrunde, ein Überwachen sowohl der Systemressourcenverfügbarkeit als auch der Anwendungsressourcennutzung dahingehend weiterzubilden, daß die durch das Überwachen verursachte Belastung der System- und Netzwerkressourcen reduziert wird, ohne den Erfolg des Überwachens - nämlich die Vermeidung von durch Nichtverfügbarkeit von Ressourcen blockierten Anwendungen - zu beeinträchtigen.
-
Diese Aufgabe wird erfindungsgemäß gelöst durch das Verfahren nach Anspruch 1, das System nach Anspruch 7 und das Computerprogrammprodukt nach Anspruch 11. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
-
Diese Erfindung weist ein Verfahren, ein System und ein Computerprogrammprodukt zum dynamischen Modifizieren der Häufigkeit, mit der eine Jobressourcennutzung und eine Systemressourcenverfügbarkeit getestet werden, auf.
-
Gegenstand der Erfindung ist das Verwalten der Häufigkeit des Testens der Ressourcennutzung und der zugehörigen Ressourcenverfügbarkeit. Eine Anwendungseingabedatei wird analysiert, und ein Eingaberessourcen-Auslastungsmuster wird erstellt. Das Eingaberessourcen-Auslastungsmuster bezieht sich auf die Verarbeitung der Eingabedatei durch die Anwendung. Das Ressourcenauslastungsmuster zeigt die Nutzung von Ressourcen zur Unterstützung der Eingabeanwendungsverarbeitung über der Zeit. Nachdem das Ressourcenauslastungsmuster erstellt wurde, wird eine Testhäufigkeit für das Abfragen der Verfügbarkeit von Ressourcen festgelegt. Zur Zeit der Verarbeitung werden sowohl die Systemressourcenverfügbarkeit als auch die Anwendungsressourcennutzung für die Verarbeitung der Eingabedatei überwacht. Die Testhäufigkeit wird für eine oder mehrere ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden dynamisch geändert.
-
Weitere Merkmale und Vorteile dieser Erfindung werden anhand der folgenden detaillierten Beschreibung der derzeit bevorzugten Ausführungsform der Erfindung in Verbindung mit den angehängten Zeichnungen ersichtlich.
-
Figurenliste
-
- 1 zeigt einen Ablaufplan, der einen Prozess zum dynamischen Anpassen der Häufigkeit des Testens einer Ressourcenverfügbarkeit veranschaulicht.
- 2 zeigt ein Schaubild, das ein Beispiel eines Ressourcenmusters und eine zugehörige intelligente Verwendung eines dynamischen Testens veranschaulicht.
- 3 zeigt einen Ablaufplan, der einen Prozess zum dynamischen Anpassen der Zeitlage des Testens im Hinblick auf die Verarbeitung der Anwendung veranschaulicht.
- 4 zeigt ein Blockschaubild, das in ein Computersystem eingebettete Werkzeuge zum Unterstützen der dynamischen Aktivierung einer Testfunktion im Hinblick auf die Ressourcenkapazität und die Ressourcennutzung veranschaulicht.
- 5 zeigt ein Blockschaubild, das ein System zum Realisieren einer Ausführungsform der vorliegenden Erfindung zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Die in dieser Beschreibung beschriebene Funktionseinheit wurde mit „Managern“ und einer „Leiteinheit“ gekennzeichnet. Die Funktionseinheit kann in programmierbaren Hardwareeinheiten realisiert werden, wie beispielsweise anwenderprogrammierbare Gatter-Arrays (field programmable gate arrays), programmierbare Array-Logik, programmierbaren Logikeinheiten oder Ähnlichem. Die Funktionseinheit kann auch in Software zur Ausführung durch verschiedene Typen von Prozessoren realisiert sein.
-
Eine angegebene Funktionseinheit von ausführbarem Code kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computeranweisungen aufweisen, die zum Beispiel als ein Objekt, eine Prozedur, eine Funktion oder ein anderes Konstrukt aufgebaut sein können. Nichtsdestoweniger müssen die ausführbaren Elemente einer angegebenen Funktionseinheit nicht physisch beieinander angeordnet sein, sondern können verteilte, an verschiedenen Orten gespeicherte Anweisungen aufweisen, die bei logischem Zusammenfügen die Funktionseinheit aufweisen und den angegebenen Zweck der Funktionseinheit erreichen.
-
Eine Anwendung benötigt eine Dateneingabe für die Verarbeitung. In einer Ausführungsform enthält eine Anwendungseingabedatei Eingabedaten, die eine Anwendung für die Ausführung und Verarbeitung verwendet. Im Verlauf der Verarbeitung kann eine Anwendung in unterschiedlichen Phasen der Ausführung unterschiedliche Mengen an Ressourcen benötigen. Ein Ressourcenauslastungsmuster stellt eine Form der Darstellung der Ressourcenauslastung einer Anwendung während der Verarbeitung dar. Genauer gibt das Ressourcenauslastungsmuster die Ressourcennutzung über der Zeit wieder.
-
Es gibt zwei Kategorien von Ressourcenauslastungsmustern, die ein theoretisches Muster und ein tatsächliches Muster umfassen. Das theoretische Muster veranschaulicht die Auslastung über der Zeit auf einer theoretischen Grundlage, und das tatsächliche Muster veranschaulicht die tatsächliche Auslastung an Ressourcen über der Zeit. Im Allgemeinen wird das Auslastungsmuster verwendet, um Ressourcen zu vergleichen, die für das Fortsetzen einer gegebenen Aktivität für eine bestimmte Zeitdauer benötigt werden. Eines der Werkzeuge, die verwendet werden, um die Verfügbarkeit und den Bedarf an Ressourcen während der Verarbeitung zu bewerten, stellt ein Test dar. Insbesondere wird der Test dazu verwendet, verfügbare und genutzte Ressourcen zu prüfen. Durch den Vorgang des Testens werden jedoch die Systemressourcen belastet, da es die Nutzung von Ressourcen erfordert, die andernfalls für die Verarbeitung entweder des Jobs, der Gegenstand des Tests ist, oder eines anderen verarbeiteten Jobs verwendet werden könnten. Dementsprechend besteht ein Bedarf, den Vorgang des Testens abzuschwächen, so dass Ineffizienzen verringert werden, während die Ressourcenverfügbarkeit maximiert wird.
-
1 zeigt einen Ablaufplan (100), der einen Prozess zum dynamischen Anpassen der Häufigkeit des Testens einer Ressourcenverfügbarkeit veranschaulicht. Vor dem Starten eines beliebigen Testens von Ressourcen wird ein Ressourcennutzungsmuster erstellt (102). Das Ressourcennutzungsmuster veranschaulicht die Nutzung von Ressourcen im Verlauf einer der Ausführung einer gegebenen Aktivität entsprechenden Zeit. Ein Beispiel eines Ressourcennutzungsmusters ist in 2 gezeigt und beschrieben. Jeder Übergangspunkt im Muster stellt eine vorhergesagte Ressourcennutzung dar. Der oder die Übergangspunkte sind zudem einzeln als ein Übergangspunkt bekannt. Die Übergangspunkte werden auf der Grundlage des erstellten Ressourcennutzungsmusters vorhergesagt und können als eingetreten bezeichnet werden, sobald der vorhergesagte Umfang der Ressourcenauslastung eingetreten ist. Dieser Übergangspunkt kann einen bestimmten Zeitpunkt kennzeichnen, zu dem eine spontaner Anstieg der Ressourcennutzung des Jobs vorhergesagt wird (Sprungfunktion) oder er kann eine kurze Zeitdauer kennzeichnen, zu der ein kontinuierlicher Anstieg der Ressourcennutzung des Jobs vorhergesagt wird. Somit wird das Abfragen (polling) gestartet (oder gesteigert), bevor der Übergangspunkt auftritt, und wird fortgesetzt, bis der vorhergesagte Umfang des Ressourcenanstiegs des Jobs eingetreten ist, wonach es verringert (oder beendet) werden kann (104). Wenn die Nutzung von Ressourcenkapazität des Jobs konstant ist oder abnimmt, besteht keine Notwendigkeit, die Systemressourcen zu testen. Dementsprechend kann der Vorgang des Testens auf der Grundlage der Daten aus dem erstellten Ressourcenmuster abgeschwächt werden.
-
Jeder Übergangspunkt im Ressourcenmuster wird identifiziert und das Testen wird auf einen oder mehrere im Ressourcenmuster erkannte Übergangspunkte beschränkt. Genauer wird die Zahl der Übergangspunkte im Muster identifiziert und der Variablen NTotal zugewiesen (106), und einer zugehörigen Zählvariable N wird die ganzen Zahl „Eins“ zugewiesen (108). Am Übergangspunkt N wird die Testhäufigkeit des Systems dynamisch auf eine erhöhte Häufigkeit geändert (110). Zu einem Zeitpunkt, zu dem das System getestet wird, wird ermittelt, ob genügend Ressourcen verfügbar und der Verarbeitungsanwendung zugewiesen sind (112). Auf eine negative Antwort auf das Ermitteln in Schritt (112) folgt ein Pausieren der verarbeiteten Anwendung, die Gegenstand des Tests ist (114). Zu einem Zeitpunkt, zu dem Ressourcen für die Unterstützung der Anwendungsverarbeitung verfügbar werden, wird die Pause beendet. Eine positive Antwort auf das Ermitteln in Schritt (112) weist hingegen darauf hin, dass genügend Systemressourcen für die Unterstützung der Anwendungsverarbeitung verfügbar sind (116) und daher kein Pausieren der Anwendungsverarbeitung notwendig ist. Darüber hinaus kann in Schritt (116) die Testhäufigkeit dynamisch auf eine reduzierte Häufigkeit verringert werden. Dementsprechend wird an jedem erkannten Übergangspunkt X die Verfügbarkeit von Ressourcen zusammen mit der Anwendungsverarbeitung bewertet.
-
Wie vorstehend gezeigt, kann es mehr als einen im Ressourcenmuster erkannten Übergangspunkt X geben. Auf die Bewertung des ersten Übergangspunktes folgend wird die Zählvariable N um eins erhöht (118). Dann wird ermittelt, ob alle Übergangspunkte bewertet wurden (120). Eine positive Antwort auf das Ermitteln in Schritt (120) beschließt den Prozess des Bewertens der Ressourcenverfügbarkeit zusammen mit der Anwendungsverarbeitung. Eine negative Antwort auf das Ermitteln in Schritt (120) weist hingegen darauf hin, dass es mindestens einen weiteren Übergangspunkt im Ressourcenmuster gibt. Die Anwendung fährt mit dem Verarbeiten fort, bis der nächste Übergangspunkt erreicht wird (110). Dementsprechend wird mit dem Erreichen jedes erkannten Übergangspunktes die Testhäufigkeit dynamisch erhöht, um sicherzustellen, dass die Ressourcen zur Unterstützung der Anwendungsverarbeitung verfügbar sind.
-
Indem das Ressourcennutzungsmuster erzeugt wird, kann die Testhäufigkeit verfügbarer Ressourcen bei ausgewählten Übergangspunkten dynamisch modifiziert werden. Die Möglichkeit, das Testen an ausgewählten Punkten dynamisch zu modifizieren, verringert die Belastung des Systems als Ganzes. Jedes Mal, wenn das System getestet wird, wird dem System eine zusätzliche Belastung auferlegt. Indem die Anzahl des Testens des Systems verringert wird, können während des Testens verwendete Ressourcen für andere Verwendungszwecke zur Verfügung stehen. Dementsprechend ermöglicht die dynamische Anpassung der Testhäufigkeit ein intelligentes Testen und eine intelligente Nutzung von Systemressourcen.
-
2 zeigt ein Schaubild (200), das ein Beispiel eines Ressourcenmusters und einer zugehörigen intelligenten Verwendung dynamischen Testens veranschaulicht. Wie vorstehend erklärt, veranschaulicht das Ressourcenmuster die vorhergesagte Ressourcennutzung des Jobs über der Zeit. Die Ausführungszeit des Jobs ist auf einer Achse (210) aufgetragen, und eine zweite Achse (220) zeigt die Ressourcennutzung. Im hierin gezeigten Beispiel sind im Ressourcenmuster zwei Übergangspunkte (230) und (250) gekennzeichnet. Während die Anwendung vor dem ersten Übergangspunkt (230) ein Verarbeiten durchführt, verwendet sie eine konstante Ressourcenmenge (232), so dass das Testen auf die dem ersten Übergangspunkt benachbarte Zeit beschränkt ist. Da das Abfragen ergibt, dass genügend Systemressourcen verfügbar sind, pausiert die Anwendung nicht.
-
Auf den ersten Übergangspunkt (230) folgend und vor Erreichen des zweiten Übergangspunktes (250) fährt die Anwendung mit der Verarbeitung fort, und das Testen wird unterbrochen. Tritt eine Verringerung der verfügbaren Systemressourcen ein (240), pausiert die Anwendung nicht, da das Abfragen für den zweiten Übergangspunkt noch nicht begonnen hat. Indem keine Ressourcen angefordert werden, bevor sie für die Anwendung benötigt werden, kann das System diese Ressourcen wirksam nutzen. Die Anwendung fährt mit der Verarbeitung fort, und vor Eintreten des nächsten Übergangspunktes wird das Testen der Systemressourcenverfügbarkeit erneut gestartet (262), um sicherzustellen, dass eine ausreichende Menge an Ressourcen für die Unterstützung der Anwendungsverarbeitung verfügbar ist. An diesem Punkt zeigt sich, dass die auf dem System verfügbaren Ressourcen geringer sind als die vorhergesagte Menge benötigter Ressourcen, und die Anwendung pausiert, damit korrigierende Maßnahmen unternommen werden können. Wie an jedem Übergangspunkt gezeigt, an dem die vorhergesagte Menge durch die Anwendung benötigter Ressourcen ansteigt, wird das System dementsprechend getestet, um sicherzustellen, dass eine ausreichende Menge von Ressourcen für die Unterstützung der Verarbeitung der Anwendung vorhanden ist.
-
Wie hierin gezeigt, belastet der Vorgang des Testens das System, da das Testen Systemressourcen nutzt. Durch Erstellen eines Ressourcenmusters wird das Testen dynamisch modifiziert und auf erkannte Übergangspunkte in der Anwendungsverarbeitung beschränkt. Das Testen wird als Reaktion auf das Ressourcenmuster eingesetzt. Zu einem Zeitpunkt, zu dem sich das Testen in einem inaktiven Zustand befindet, können Ressourcen der Unterstützung der zugrundeliegenden Anwendung oder anderer Anwendungen zugewiesen werden.
-
Der Vorgang des Testens als Reaktion auf das erstellte Ressourcenmuster verläuft dynamisch. Wie vorstehend gezeigt, wird das Ressourcenmuster ermittelt und das Testen als Reaktion auf erkannte Übergangspunkte im Ressourcenmuster modifiziert. Das Ressourcenmuster wird vor der Anwendungsverarbeitung erstellt, und die tatsächliche Verarbeitung der Anwendung kann Auswirkungen auf die Zeitlage der erkannten Übergangspunkte haben. 3 zeigt einen Ablaufplan (300), der einen Prozess zum dynamischen Anpassen der Zeitlage des Testens im Hinblick auf die Verarbeitung der Anwendung veranschaulicht. Ein Ressourcenmuster wird für die Anwendung erstellt (302), und Übergangspunkte werden auf der Grundlage des erstellten Ressourcennutzungsmusters vorhergesagt (304). Der Variablen XTotal wird die Menge vorhergesagter Übergangspunkte zugewiesen (306), und einer zugehörigen Zählvariable X wird die ganze Zahl „Eins“ zugewiesen (308). Die Anwendungsverarbeitung wird im Verlauf der Zeit abgearbeitet. Wenn ein im Ressourcenmuster erkannter Übergangspunktx erreicht wird, wird ermittelt, ob ein tatsächlicher Anstieg beim Ressourcenbedarf der Anwendung vorliegt (310). In einer Ausführungsform kann eine Mindestkapazität angegeben werden, und das Testen wird gestartet, wenn der Kapazitätsgrenzwert erreicht wird. Wie hierin gezeigt, kann dementsprechend das Testen im Hinblick auf die tatsächliche Verarbeitung und nicht allein die vorhergesagte Verarbeitung wiedergebend verwaltet werden.
-
Auf eine positive Antwort auf das Ermitteln in Schritt (310) folgt ein Testen des Systems, um sicherzustellen, dass das System verfügbare Ressourcenkapazitäten besitzt, damit das System mit der Verarbeitung fortfahren kann (312). Auf diesen Schritt (312) folgend wird die Zählvariable erhöht (314), gefolgt von einem Ermitteln, ob alle erkannten Übergangspunkte im Ressourcenmuster bewertet wurden (316). Eine positive Antwort auf das Ermitteln in Schritt (316) schließt den Testbewertungsprozess ab (318), und auf eine negative Antwort folgt eine Rückkehr zu Schritt (310). Wie in Schritt (312) gezeigt, wird die Testfunktion nicht dynamisch aktiviert, wenn ein Kapazitätsniveau nicht erreicht wurde. In einer Ausführungsform hat das Ressourcenmuster möglicherweise die Zeitlage der Übergangspunkte nicht korrekt erkannt, und die Testfunktion muss unter Umständen an die tatsächliche Verarbeitung angepasst werden.
-
Als Folge auf eine negative Antwort auf das Ermitteln in Schritt (310) wartet die Testfunktionalität auf eine Änderung beim tatsächlichen Ressourcenauslastungsmuster, so dass die Zeitlage der Übergangspunkte angepasst werden kann. Wenn der tatsächliche erste Übergangspunkt erreicht wird (320), wird die Testfunktion aktiviert (322). Zur selben Zeit wird eine Zeitdifferenz zwischen dem Zeitpunkt, an dem die Testfunktion bei (322) aktiviert wurde, und den im Ressourcenmuster für den Übergangspunktx erkannten Zeitpunkt berechnet (324). Auf Schritt (324) folgend wird die Zählvariable erhöht (326), gefolgt von einem Ermitteln, ob alle erkannten Übergangspunkte im Ressourcenmuster bewertet wurden (328). Auf eine negative Antwort auf das Ermitteln in Schritt (328) folgt ein Hinzuaddieren der berechneten Zeitdifferenz zu dem im Übergangspunktx erkannten Zeitpunkt (330) und ein Zurückkehren zu Schritt (310), und eine positive Antwort schließt den Testprozess ab (318). Dementsprechend wird durch die Operation in Schritt (330) das Ressourcenmuster so modifiziert, dass das Ressourcenmuster ein tatsächliches Verarbeitungsmuster wiedergibt.
-
Wie gezeigt wird ein Ressourcenmuster erworben und das die Anwendung unterstützende System dynamisch auf der Grundlage des Ressourcenmusters getestet. 4 zeigt ein Blockschaubild (400), das in ein Computersystem eingebettete Werkzeuge zur Unterstützung der dynamischen Aktivierung einer Testfunktion im Hinblick auf die Ressourcenkapazität und Ressourcennutzung veranschaulicht. Wie gezeigt, wird ein Computersystem (410) mit einer Verarbeitungseinheit (412) bereitgestellt, die mit dem Speicher (416) über einen Bus (414) kommuniziert, der mit dem Datenspeicher (418) kommuniziert. In einer Ausführungsform kann der Datenspeicher (418) vom System (410) entfernt angeordnet sein. Das Computersystem (410) unterstützt die Anwendungsverarbeitung. In dem hierin gezeigten Beispiel handelt es sich um eine lokale Anwendung (430) des Systems (410). Die Erfindung ist jedoch nicht auf den Ort der Anwendung (430) begrenzt. Das System (410) wird mit einer für den Speicher (416) lokalen Funktionseinheit (450) bereitgestellt, die Werkzeuge besitzt, um das dynamische Testen von Systemressourcen für die Unterstützung der Anwendungsverarbeitung zu unterstützen. Zu den Werkzeugen zählen, ohne darauf beschränkt zu sein, ein Eingabemanager (452), ein Häufigkeitsmanager (454), ein Überwachungsmanager (456), ein Anpassungsmanager (458) und eine Leiteinheit (460).
-
Der Eingabemanager (452) ist für das Analysieren eines Eingabemusters für eine Anwendungseingabedatei (420) verantwortlich. In einer Ausführungsform stammen Daten zur Unterstützung der Anwendungsverarbeitung aus der Anwendungseingabedatei (420). In dem hierin gezeigten Beispiel handelt es sich um eine lokale Eingabedatei (420) des Datenspeichers (418). Das Eingabemuster bezieht sich auf die Anwendungsverarbeitung, der Daten aus der Eingabedatei (420) zugeordnet sind. Der Eingabemanager (452) erzeugt ein Ressourcenauslastungsmuster auf der Grundlage des Eingabemusters. Das Ressourcenauslastungsmuster stellt eine Abbildung der Ressourcennutzung zur Unterstützung der Anwendungsverarbeitung dar. Der Häufigkeitsmanager (454) wird in Kommunikation mit dem Eingabemanager (452) bereitgestellt. Um die unnötige Nutzung von Systemressourcen zu verringern, verwendet der Häufigkeitsmanager (454) das erzeugte Ressourcenauslastungsmuster, um eine Testhäufigkeit festzulegen, mit der die Verfügbarkeit von Systemressourcen für die Unterstützung der Anwendungsverarbeitung abgefragt wird. Genauer legt der Häufigkeitsmanager (454) die Testhäufigkeit im Hinblick auf das erstellte Ressourcenauslastungsmuster fest. Dementsprechend verringern der Eingabemanager (452) und der Häufigkeitsmanager die Häufigkeit, mit der Anwendungsressourcen getestet werden.
-
Der Überwachungsmanager (456) wird in Kommunikation mit dem Häufigkeitsmanager (454) bereitgestellt. Insbesondere überwacht der Überwachungsmanager (456) sowohl die Verfügbarkeit von Systemressourcen als auch die Anwendungsressourcennutzung im Hinblick auf die Eingabedatei (420). Ein System wird mit einer begrenzten Menge an Ressourcen bereitgestellt. Da die Anwendung Systemressourcen nutzt, ist die Verfügbarkeit verbleibender Ressourcen verringert. Die Leiteinheit (460), die in Kommunikation mit dem Überwachungsmanager (456) bereitgestellt wird, modifiziert dynamisch die Testhäufigkeit für eine oder mehrere ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden. Genauer beschränkt die Leiteinheit (460) die Testhäufigkeit auf bestimmte Zeitperioden. Durch dynamisches Modifizieren der Testhäufigkeit kann die Leiteinheit (460) die Häufigkeit an einem bestimmten kritischen Punkt im Ressourcenauslastungsmuster erhöhen. In einer Ausführungsform handelt es sich bei dem kritischen Punkt um ein unerwartetes Absinken der Verfügbarkeit von Systemressourcen. Im Gegensatz hierzu kann die Leiteinheit (460) die Häufigkeit auf der Grundlage der Verfügbarkeit von Ressourcen für die Unterstützung der Anwendungsverarbeitung verringern. Wie in 2 gezeigt, kann die Testhäufigkeit während der Zeitperioden, in denen kein Anstieg der Ressourcennutzung vorhergesagt ist, verringert werden. Dementsprechend unterstützt die Leiteinheit (460) die dynamische Natur des Tests.
-
Die Testhäufigkeit ist unter Berücksichtigung des Ressourcenauslastungsmusters dynamisch anpassbar. In einer Ausführungsform kann das Testen auf der Grundlage der tatsächlichen Nutzung von Systemressourcen und nicht aufgrund eines vor der Anwendungsverarbeitung erstellten Musters dynamisch modifiziert werden. Der Anpassungsmanager (458) wird in Kommunikation mit der Leiteinheit (460) bereitgestellt, um die dynamische Funktionalität des Tests in Echtzeit zu unterstützen. Genauer passt der Anpassungsmanager (458) die ausgewählten Zeitperioden für das Testen auf der Grundlage einer Rückkopplungsschleife an. Wie in 3 gezeigt, berücksichtigt die Rückkopplungsschleife die in Echtzeit bewertete Ressourcenverfügbarkeit, so dass die Leiteinheit (460) den Häufigkeitstest auf der Grundlage der tatsächlichen Ressourcenkapazität dynamisch anpassen kann. Dementsprechend kann die Leiteinheit (460) die Häufigkeit des Tests auf der Grundlage des Ressourcenmusters und/oder der Echtzeitbewertung der Ressourcenkapazität dynamisch verwalten
-
Wie hierin gezeigt, werden die Manager und die Leiteinheit (452) bis (460) der Funktionseinheit (450) dem System (410) lokal, und genauer im Speicher (416) des Systems (410) befindlich, bereitgestellt. In einer Ausführungsform können sich die Manager und die Leiteinheit als Hardwarewerkzeuge außerhalb des Speichers (416) befinden, oder sie können als eine Kombination von Hardware und Software realisiert sein. Gleichermaßen können in einer Ausführungsform die Manager und die Leiteinheit in einem einzigen Funktionselement kombiniert sein, das die Funktionalität der einzelnen Elemente beinhaltet. Wie hierin gezeigt, sind jeder Manager und die Leiteinheit lokal bei einem Datenstandort gezeigt. In einer Ausführungsform können Sie jedoch kollektiv oder einzeln über einen gemeinsamen Bestand konfigurierbarer Computerressourcen verteilt sein und als eine Einheit funktionieren, um eine oder mehrere Aufgaben und aufgabenbezogene Aktivitäten in Echtzeit zu verwalten. Dementsprechend können die Manager und die Leiteinheit als Softwarewerkzeuge, Hardwarewerkzeuge oder als Kombination aus Software- und Hardwarewerkzeugen realisiert sein.
-
Unter Bezugnahme auf das Blockschaubild von 5 werden nun zusätzliche Einzelheiten im Hinblick auf das Realisieren einer Ausführungsform der vorliegenden Erfindung beschrieben. Das Computersystem beinhaltet einen oder mehrere Prozessoren, wie beispielsweise einen Prozessor (502). Dieser Prozessor (502) ist mit einer Datenübertragungsinfrastruktur (504) verbunden (z.B. ein Kommunikationsbus, eine Kreuzschiene (cross-over bar) oder ein Netzwerk).
-
Das Computersystem kann eine Anzeigeschnittstelle (506) beinhalten, die Grafiken, Text und andere Daten von der Kommunikationsinfrastruktur (504) (oder von einem nicht gezeigten Bildspeicher (frame buffer)) zur Anzeige an eine Anzeigeeinheit (508) weiterleitet. Das Computersystem beinhaltet zudem einen Hauptspeicher (510), vorzugsweise einen Speicher mit wahlfreiem Zugriff (RAM), und es kann zudem einen Sekundärspeicher (512) beinhalten. Der Sekundärspeicher (512) kann zum Beispiel ein Festplattenlaufwerk (514) und/oder ein Wechselspeicherlaufwerk (516) enthalten, das zum Beispiel für ein Floppy-Disketten-Laufwerk, ein Magnetbandlaufwerk oder ein optisches Festplattenlaufwerk steht. Das Wechselspeicherlaufwerk (516) liest von oder schreibt auf eine Wechselspeichereinheit (518) auf eine dem Fachmann wohlbekannte Weise. Die Wechselspeichereinheit (518) steht zum Beispiel für eine Floppy-Diskette, eine Compact Disc, ein Magnetband oder eine optische Platte usw., von denen oder auf die durch ein Wechselspeicherlaufwerk (516) gelesen bzw. geschrieben wird, Wie ersichtlich ist, beinhaltet die Wechselspeichereinheit (518) ein computerlesbares Medium mit darauf gespeicherter Computersoftware und/oder darauf gespeicherten Daten.
-
In alternativen Ausführungsformen kann der Sekundärspeicher (512) ein anderes ähnliches Mittel beinhalten, mit dem Computerprogramme oder andere Anweisungen auf das Computersystem geladen werden können. Zu solchen Mitteln können zum Beispiel eine Wechselspeichereinheit (520) und eine Schnittstelle (522) zählen. Zu Beispielen für solche Mittel können ein Programmpaket und eine Paketschnittstelle (wie in Videospieleinheiten anzutreffen), ein Wechselspeicherchip (wie beispielsweise ein EPROM oder PROM) und ein zugehöriger Sockel sowie andere Wechselspeichereinheiten (520) und Schnittstellen (522) zählen, mittels derer Software und Daten von der Wechselspeichereinheit (520) zum Computersystem übertragen werden können.
-
Das Computersystem kann zudem eine Datenübertragungsschnittstelle (524) beinhalten. Mittels der Datenübertragungsschnittstelle (524) können Software und Daten zwischen dem Computersystem und externen Einheiten übertragen werden. Zu Beispielen für die Datenübertragungsschnittstelle (524) können ein Modem, eine Netzwerkschnittstelle (wie beispielsweise eine Ethernet-Karte), ein Datenübertragungsanschluss oder ein PCMCIA-Steckplatz sowie eine PCMCIA-Karte usw. zählen. Über die Datenübertragungsschnittstelle (524) übertragene Software und Daten liegen in Form von Signalen vor, bei denen es sich zum Beispiel um elektronische, elektromagnetische, optische oder andere Signale handeln kann, die in der Lage sind, durch die Datenübertragungseinheit (524) empfangen zu werden. Die Signale werden der Datenübertragungseinheit (524) über einen Datenübertragungspfad (d.h. einen Kanal) (526) bereitgestellt. Der Datenübertragungspfad (526) trägt Signale und kann mittels Draht oder Kabel, Lichtwellenleitertechnik, einer Telefonverbindung, einer Mobiltelefonverbindung, einer Hochfrequenz(HF)-Verbindung und/oder anderen Datenübertragungskanälen realisiert sein.
-
In diesem Dokument werden die Begriffe „Computerprogrammmedium“, „von Computern verwendbares Medium“ und „computerlesbares Medium“ allgemein zur Bezeichnung von Medien wie beispielsweise dem Hauptspeicher (510) und dem Sekundärspeicher (512), dem Wechselspeicherlaufwerk (516) und einer im Festplattenlaufwerk (514) installierten Festplatte verwendet.
-
Computerprogramme (auch als Computersteuerlogik bezeichnet) werden im Hauptspeicher (510) und/oder im Sekundärspeicher (512) gespeichert. Computerprogramme können auch über eine Datenübertragungsschnittstelle (524) empfangen werden. Derartige Computerprogramme erlauben es dem Computersystem bei ihrer Ausführung, die Merkmale der vorliegenden Erfindung wie hierin erläutert durchzuführen. Insbesondere ermöglichen es die Computerprogramme bei ihrer Ausführung dem Prozessor (502), die Funktionen des Computersystems durchzuführen. Dementsprechend stehen solche Computerprogramme für Steuereinheiten des Computersystems.