[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE102012224362A1 - Anpassung einer Testhäufigkeit für die Ressourcenauslastung - Google Patents

Anpassung einer Testhäufigkeit für die Ressourcenauslastung Download PDF

Info

Publication number
DE102012224362A1
DE102012224362A1 DE102012224362A DE102012224362A DE102012224362A1 DE 102012224362 A1 DE102012224362 A1 DE 102012224362A1 DE 102012224362 A DE102012224362 A DE 102012224362A DE 102012224362 A DE102012224362 A DE 102012224362A DE 102012224362 A1 DE102012224362 A1 DE 102012224362A1
Authority
DE
Germany
Prior art keywords
application
resource
resource utilization
pattern
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102012224362A
Other languages
English (en)
Other versions
DE102012224362B4 (de
Inventor
Rashed Ferdous
Arthur J. Meyer
Carlos P. Sosa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012224362A1 publication Critical patent/DE102012224362A1/de
Application granted granted Critical
Publication of DE102012224362B4 publication Critical patent/DE102012224362B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Ausführungsformen der Erfindung betreffen ein dynamisches Bewerten und Verwalten des Testens eines Systems auf die Ressourcenverfügbarkeit. Ein vorhergesagtes Ressourcennutzungsmuster wird erworben, und kritische Punkte im Muster, die zu vorhergesagten Änderungen bei der Ressourcenauslastung gehören, werden erkannt. Das Testen des Systems auf die Ressourcenverfügbarkeit wird auf die erkannten kritischen Punkte oder auf Echtzeitänderungen im Ressourcennutzungsmuster beschränkt.

Description

  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • In einem Aspekt wird ein computerrealisiertes Verfahren zum Verwalten der Häufigkeit des Testens der Ressourcennutzung und der zugehörigen Ressourcenverfügbarkeit bereitgestellt. 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.
  • In einem weiteren Aspekt wird ein System mit einer Verarbeitungseinheit in Kommunikation mit einem Speicher bereitgestellt. Die Verarbeitungseinheit unterstützt die Verarbeitung einer Eingabedatei. Eine Funktionseinheit in Kommunikation mit der Verarbeitungseinheit wird bereitgestellt, wobei die Funktionseinheit dazu dient, die dynamische Modifikation einer Testhäufigkeit für die Anwendungsverarbeitung in Verbindung mit der Ressourcennutzung und der zugehörigen Ressourcenverfügbarkeit zu unterstützen. Die Funktionseinheit wird mit einem Eingabemanager, einem Häufigkeitsmanager, einem Überwachungsmanager und einer Leiteinheit bereitgestellt. Der Eingabemanager analysiert eine Anwendungseingabedatei; das Eingabemuster bezieht sich auf die Anwendungsverarbeitung. Genauer erstellt der Eingabemanager ein der Eingabedateiverarbeitung der Anwendung zugehöriges Eingaberessourcen-Auslastungsmuster. Der Häufigkeitsmanager, der mit dem Eingabemanager kommuniziert, legt eine Häufigkeit fest, mit der die Systemressourcenverfügbarkeit getestet wird. Der Überwachungsmanager, der mit dem Häufigkeitsmanager kommuniziert, überwacht sowohl die Verfügbarkeit von Systemressourcen als auch die Anwendungsressourcennutzung für die Verarbeitung der Eingabedatei. Die Leiteinheit, die mit dem Überwachungsmanager kommuniziert, ändert dynamisch die Testhäufigkeit für eine oder mehrere ausgewählte Zeitperioden auf der Grundlage des Ressourcenauslastungsmusters.
  • In noch einem weiteren Aspekt wird ein Computerprogrammprodukt bereitgestellt, um das Testen der Ressourcenverfügbarkeit für die Unterstützung der Ressourcenauslastung zu unterstützen. Das Computerprogrammprodukt beinhaltet ein computerlesbares Speichermedium mit darin ausgebildetem computerlesbaren Programmcode, der bei Ausführen einen Computer veranlasst, ein dem dynamischen Ändern der Testfrequenz zugehöriges Verfahren zu realisieren. Eine Anwendungseingabedatei wird analysiert, und ein Ressourcenauslastungsmuster wird auf der Grundlage der Eingabedateiverarbeitung der Anwendung erstellt. Das Eingabemuster bezieht sich auf die Anwendungsverarbeitung. Eine Testhäufigkeit zum Abfragen der Systemressourcenverfügbarkeit wird festgelegt, wobei das Festlegen auf dem erstellten Ressourcenauslastungsmuster beruht. Die Systemressourcenverfügbarkeit und die Anwendungsressourcennutzung werden beide überwacht, um das Verarbeiten der Eingabedatei zu unterstützen. Die Testhäufigkeit wird für eine oder mehrere ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden dynamisch geändert.
  • In noch einem weiteren Aspekt wird ein Verfahren zum Unterstützen des Abgleichens der Testressourcenverfügbarkeit unter Abschwächen der dem System durch das Testen auferlegten Belastung des Systems bereitgestellt. Eine Anwendungseingabedatei wird analysiert, und ein zugehöriges Ressourcenauslastungsmuster wird auf der Grundlage der Analyse erstellt. Eine Häufigkeit zum Abfragen der Systemressourcenverfügbarkeit wird eingerichtet. Die Häufigkeit beruht auf dem erstellten Auslastungsmuster. Die eingerichtete Häufigkeit wird für eine oder mehrere ausgewählte Zeitperioden dynamisch geändert, wobei die Änderung durch das Ressourcenauslastungsmuster bestimmt wird. Genauer beruht die dynamische Änderung auf der vorhergesagten Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei.
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Zeichnungen, auf die hierin Bezug genommen wird, bilden einen Teil der Beschreibung. In den Zeichnungen gezeigte Merkmale sind als lediglich einige Ausführungsformen der Erfindung und nicht alle Ausführungsformen der Erfindung veranschaulichend gedacht, sofern nicht ausdrücklich anderweitig angegeben. Andernfalls ist nicht auf das Gegenteil zu schließen.
  • 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
  • Es ist ohne Weiteres ersichtlich, dass die Komponenten der vorliegenden Erfindung, wie sie hierin allgemein in den Figuren beschrieben und veranschaulicht sind, in einer breiten Vielfalt unterschiedlicher Gestaltungen angeordnet und ausgebildet werden können. Daher ist die folgende detailliertere Beschreibung der in den Figuren dargestellten Ausführungsformen der Vorrichtung, des Systems und des Verfahrens der vorliegenden Erfindung nicht als den Umfang der beanspruchten Erfindung einschränkend beabsichtigt, sondern steht lediglich stellvertretend für ausgewählte Ausführungsformen der Erfindung.
  • 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.
  • Tatsächlich kann es sich bei einer Funktionseinheit von ausführbarem Code um eine einzige Anweisung oder viele Anweisungen handeln, und sie kann sogar über mehrere unterschiedliche Codesegmente, zwischen unterschiedlichen Anwendungen und über mehrere Speichereinheiten hinweg verteilt sein. Gleichermaßen können hierin innerhalb der Funktionseinheit Betriebsdaten angegeben und veranschaulicht und in jeder geeigneten Form ausgebildet und innerhalb jedes geeigneten Typs von Datenstruktur organisiert sein. Die Betriebsdaten können als einzelner Datensatz gesammelt oder über unterschiedliche Orte einschließlich über unterschiedliche Speichereinheiten hinweg verteilt sein, und sie können zumindest teilweise als elektronische Signale auf einem System oder Netzwerk vorliegen.
  • Wenn im Rahmen dieser Beschreibung auf „eine ausgewählte Ausführungsform” oder „eine Ausführungsform” Bezug genommen wird, bedeutet dies, dass ein bestimmtes, in Verbindung mit der Ausführungsform beschriebenes Merkmal, eine bestimmte, in Verbindung mit der Ausführungsform beschriebene Struktur oder ein bestimmtes, in Verbindung mit der Ausführungsform beschriebenes Charakteristikum in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Daher bezieht sich das Auftreten von Ausdrücken wie „eine ausgewählte Ausführungsform” oder „in einer Ausführungsform” an verschiedenen Stellen innerhalb dieser Beschreibung nicht notwendigerweise auf dieselbe Ausführungsform.
  • Weiterhin können die beschriebenen Merkmale, Strukturen oder Charakteristika in jeder geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden. In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten, wie Beispiele von Modulen, Managern usw. bereitgestellt, um ein umfassendes Verständnis von Ausführungsformen der Erfindung zu liefern. Ein Fachmann des betreffenden Gebietes erkennt jedoch, dass die Erfindung auch ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Komponenten, Materialien usw. ausgeführt werden kann. In anderen Beispielen werden allgemein bekannte Strukturen, Materialien oder Vorgänge nicht detailliert gezeigt oder beschrieben, um verschleiernde Aspekte der Erfindung zu vermeiden.
  • Die veranschaulichten Ausführungsformen der Erfindung sind am besten unter Bezugnahme auf die Zeichnungen verständlich, in denen gleiche Teile durchgehend mit gleichen Bezugsziffern bezeichnet sind. Die folgende Beschreibung ist lediglich beispielhaft gedacht und veranschaulicht auf einfache Weise bestimmte ausgewählte Ausführungsformen von Einheiten, Systemen und Prozessen, die mit der Erfindung, wie sie hierin beansprucht wird, konsistent sind.
  • In der folgenden Beschreibung der Ausführungsformen wird Bezug auf die angehängten Zeichnungen genommen, die Teil hiervon sind und die in lediglich veranschaulichender Weise die spezifische Ausführungsform zeigen, in der die Erfindung ausgeführt werden kann. Es versteht sich, dass andere Ausführungsformen verwendet werden können, da strukturelle Änderungen vorgenommen werden können, ohne den Umfang der vorliegenden Erfindung zu verlassen.
  • 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 Übergangspunktx die Verfügbarkeit von Ressourcen zusammen mit der Anwendungsverarbeitung bewertet.
  • Wie vorstehend gezeigt, kann es mehr als einen im Ressourcenmuster erkannten Übergangspunktx 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 Übergangspunkt. 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 Übergangspunkt, 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.
  • Wie für den Fachmann ersichtlich ist, können Aspekte der vorliegenden Erfindung als System, Verfahren, oder Computerprogrammprodukt ausgebildet werden. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer vollständig hardwaregestützten Ausführungsform, einer vollständig softwaregestützten Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform ausgebildet werden, die Software- und Hardwareaspekte kombiniert, was hierin sämtlich allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein kann. Weiterhin können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts ausgebildet werden, das in einem oder mehreren computerlesbaren Medien mit darauf befindlichem computerlesbarem Programmcode enthalten sein kann.
  • Jede beliebige Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung oder eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer, Infrarot oder Halbleiter verwendender Art sowie eine beliebige geeignete Kombination des Vorgenannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes gehören (nicht erschöpfende Liste): eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des Vorgenannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes gegenständliche Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen beinhalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal beinhalten, bei dem der computerlesbare Programmcode zum Beispiel in einem Basisband oder als Teil einer Trägerwelle ausgebildet ist. Solch ein verbreitetes Signal kann in jeder beliebigen einer Vielfalt von Formen ausgebildet werden, wie beispielsweise, jedoch nicht beschränkt auf elektromagnetische, optische oder jede geeignete Kombination davon. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen übertragen, verbreiten oder transportieren kann.
  • Der in einem computerlesbaren Datenträger enthaltene Programmcode kann mittels eines beliebigen geeigneten Mediums einschließlich, aber nicht beschränkt auf, kabellose, kabelgebundene, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder einer beliebigen geeigneten Kombination des zuvor Genannten übertragen werden.
  • Computerprogrammcode zur Ausführung von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen wie beispielsweise einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmlicher verfahrensorientierter Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, wie beispielsweise ein Nahbereichsnetzwerk (local area network LAN) oder ein Weitbereichsnetzwerk (wide area network WAN) verbunden sein, oder es kann eine Verbindung mit einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.
  • Aspekte der vorliegenden Erfindung sind vorstehend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Abbildungen von Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Abbildungen von Ablaufplänen und/oder den Blockschaubildern durch Computerprogrammanweisungen realisiert werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebene Funktion/Handlung ausführen.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer realisierten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen bereitstellen.
  • 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.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block im Ablaufplan oder den Blockschaubildern für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion oder Funktionen aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaubilder und/oder Abbildung von Ablaufplänen und Kombinationen von Blöcken in den Blockschaubildern und/oder Abbildung von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
  • Die hierin verwendete Terminologie dient lediglich dem Zwecke des Beschreibens besonderer Ausführungsformen und ist nicht als die Erfindung einschränkend aufzufassen. Die hierin verwendeten Singularformen „ein”, „eine” und „der”, „die”, „das” sowie deren Deklinationen sollen ebenso die Pluralformen einschließen, es sei denn dies ist im Kontext deutlich anderweitig angegeben. Es versteht sich weiterhin, dass die Begriffe „aufweist” und/oder „aufweisend” bei Verwendung in diesem Dokument das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder Hinzufügen eines oder mehrerer Merkmale, ganzer Zahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritte sowie Funktionselemente in den nachfolgenden Ansprüchen sollen alle Strukturen, Materialien oder Handlungen zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie im Einzelnen beansprucht sind, einschließen. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgelegt, ist jedoch nicht als erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt aufzufassen.
  • Viele Modifikationen und Variationen sind für den Fachmann naheliegend, ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung am besten zu erklären und anderen Fachleuten ein Verständnis der Erfindung für vielfältige Ausführungsformen mit vielfältigen Modifikationen, wie sie für den besonderen betrachteten Gebrauch geeignet sind, zu ermöglichen.
  • Alternative Ausführungsform
  • Obwohl hierin zum Zwecke der Veranschaulichung spezifische Ausführungsformen der Erfindung beschrieben wurden, ist ersichtlich, dass vielfältige Modifikationen vorgenommen werden können, ohne vom Geist und Umfang der Erfindung abzuweichen. In einer Ausführungsform können zur gleichen Zeit mehrere Anwendungen auf dem System Daten verarbeiten, wobei jede Anwendung Systemressourcen nutzt. Die Ressourcenauslastungsmuster mehrerer Anwendungen können kombiniert werden, um die Ressourcenverfügbarkeit im Hinblick auf die Ressourcenkapazität der Anwendungen zu berücksichtigen. Dementsprechend wird der Schutzumfang dieser Erfindung nur durch die folgenden Ansprüche und ihre Äquivalente begrenzt.

Claims (14)

  1. Verfahren, aufweisend: Analysieren einer Anwendungseingabedatei und Erstellen eines Ressourcenauslastungsmusters auf der Grundlage der Eingabedatei, wobei sich das Ressourcenauslastungsmuster auf die Verarbeitung der Eingabedatei durch die Anwendung bezieht; Festlegen einer Testhäufigkeit zum Abfragen einer Systemressourcenverfügbarkeit als Reaktion auf das erstellte Ressourcenauslastungsmuster; Überwachen sowohl der Systemressourcenverfügbarkeit als auch der Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei; und dynamisches Ändern der Testhäufigkeit für ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden.
  2. Verfahren nach Anspruch 1, wobei das dynamische Ändern der Testhäufigkeit ein Erhöhen der Testhäufigkeit an einem im Ressourcenauslastungsmuster erkannten kritischen Punkt beinhaltet.
  3. Verfahren nach Anspruch 2, wobei der kritische Punkt einem Anstieg der für die Anwendung zum Verarbeiten der Anwendungseingabedatei benötigten Systemressourcen vorangeht.
  4. Verfahren nach Anspruch 1, wobei das dynamische Ändern der Testhäufigkeit ein Verringern der Testhäufigkeit auf der Grundlage einer bekannten Zeitperiode beinhaltet, in der auf der Grundlage des Ressourcenauslastungsmusters von der Anwendung keine Erhöhung der Ressourcen benötigt wird, um die Anwendungseingabedatei zu verarbeiten.
  5. Verfahren nach Anspruch 1, weiterhin aufweisend ein Anpassen der ausgewählten, durch das Ressourcenauslastungsmuster festgelegten Zeitperioden auf der Grundlage einer Rückkopplungsschleife.
  6. Verfahren nach Anspruch 5, wobei die Rückkopplungsschleife ein tatsächliches Muster benötigter Ressourcen beinhaltet.
  7. System, aufweisend: eine Verarbeitungseinheit in Kommunikation mit einem Speicher; eine Funktionseinheit in Kommunikation mit dem Speicher, wobei die Funktionseinheit aufweist: einen Eingabemanager, um eine Anwendungseingabedatei zu analysieren, wobei sich das Eingabemuster auf die Anwendungsverarbeitung bezieht, und um ein Eingaberessourcen-Auslastungsmuster auf der Grundlage der Verarbeitung der Eingabedatei zu erstellen; einen Häufigkeitsmanager in Kommunikation mit dem Eingabemanager, wobei der Häufigkeitsmanager dazu dient, eine Testhäufigkeit zur Abfrage der Systemressourcenverfügbarkeit als Reaktion auf das erstellte Ressourcenauslastungsmuster festzulegen; einen Überwachungsmanager in Kommunikation mit dem Häufigkeitsmanager, wobei der Überwachungsmanager dazu dient, sowohl die Systemressourcenverfügbarkeit als auch die Anwendungsressourcennutzung für die Verarbeitung der Anwendungseingabedatei zu überwachen; und eine Leiteinheit in Kommunikation mit dem Überwachungsmanager, wobei die Leiteinheit dazu dient, dynamisch die Testhäufigkeit für eine oder mehrere ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden zu ändern.
  8. System nach Anspruch 7, weiterhin aufweisend, dass die Leiteinheit dazu dient, die Testhäufigkeit an einem im Ressourcenauslastungsmuster erkannten kritischen Punkt zu erhöhen.
  9. System nach Anspruch 7, weiterhin aufweisend, dass die Leiteinheit dazu dient, die Testhäufigkeit auf der Grundlage einer bekannten Zeitperiode zu verringern, in der auf der Grundlage des Ressourcenauslastungsmusters von der Anwendung keine Erhöhung der Ressourcen benötigt wird, um die Anwendungseingabedatei zu verarbeiten.
  10. System nach Anspruch 7 weiterhin aufweisend einen Anpassungsmanager in Kommunikation mit der Leiteinheit, wobei der Anpassungsmanager dazu dient, die ausgewählten, durch das Ressourcenauslastungsmuster festgelegten Zeitperioden auf der Grundlage einer Rückkopplungsschleife anzupassen.
  11. Computerprogrammprodukt, das ein computerlesbares Speichermedium mit darin ausgebildetem computerlesbarem Programmcode aufweist, der bei Ausführen einen Computer veranlasst, ein Verfahren zu realisieren, das aufweist: Analysieren einer Anwendungseingabedatei; Erstellen eines Ressourcenauslastungsmusters auf der Grundlage einer Verarbeitung der analysierten Eingabedatei; Festlegen einer Testhäufigkeit zum Abfragen einer Systemressourcenverfügbarkeit als Reaktion auf das erstellte Ressourcenauslastungsmuster; Überwachen sowohl der Systemressourcenverfügbarkeit als auch der Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei; und dynamisches Ändern der Testhäufigkeit für ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden.
  12. Computerprogrammprodukt nach Anspruch 11, wobei das dynamische Ändern der Testhäufigkeit ein Erhöhen der Testhäufigkeit an einem im Ressourcenauslastungsmuster erkannten kritischen Punkt beinhaltet.
  13. Computerprogrammprodukt nach Anspruch 12, wobei der kritische Punkt einem Anstieg der für die Anwendung zum Verarbeiten der Anwendungseingabedatei benötigten verfügbaren Systemressourcen vorangeht.
  14. Verfahren, aufweisend: Analysieren einer Anwendungseingabedatei für ein Eingabemuster und Erstellen eines Ressourcenauslastungsmusters auf der Grundlage des Eingabemusters der Eingabedatei, wobei sich das Eingabemuster auf die Anwendungsverarbeitung bezieht; Einrichten einer Häufigkeit zum Abfragen der Systemressourcenverfügbarkeit, wobei die Häufigkeit auf dem erstellten Auslastungsmuster beruht; und dynamisches Ändern der eingerichteten Häufigkeit für ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden, wobei die Änderung auf einer vorhergesagten Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei beruht.
DE102012224362.3A 2012-01-09 2012-12-27 Anpassung einer Testhäufigkeit für die Ressourcenauslastung Active DE102012224362B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/345,806 US9069881B2 (en) 2012-01-09 2012-01-09 Adaptation of probing frequency for resource consumption
US13/345,806 2012-01-09

Publications (2)

Publication Number Publication Date
DE102012224362A1 true DE102012224362A1 (de) 2013-07-11
DE102012224362B4 DE102012224362B4 (de) 2019-05-29

Family

ID=47602385

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012224362.3A Active DE102012224362B4 (de) 2012-01-09 2012-12-27 Anpassung einer Testhäufigkeit für die Ressourcenauslastung

Country Status (4)

Country Link
US (1) US9069881B2 (de)
CN (1) CN103310090B (de)
DE (1) DE102012224362B4 (de)
GB (1) GB2500079B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311146B2 (en) * 2013-05-24 2016-04-12 International Business Machines Corporation Strategic placement of jobs for spatial elasticity in a high-performance computing environment
CN105204923A (zh) * 2014-06-27 2015-12-30 国际商业机器公司 用于资源预配置的方法和装置
US9825875B2 (en) * 2015-03-31 2017-11-21 Alcatel Lucent Method and apparatus for provisioning resources using clustering
US10554510B2 (en) * 2017-02-22 2020-02-04 Red Hat, Inc. Enabling additional metrics in a monitoring system to diagnose problems
US11036408B2 (en) * 2017-03-26 2021-06-15 Oracle International Corporation Rule-based modifications in a data storage appliance monitor
US20230004475A1 (en) * 2019-11-28 2023-01-05 Siemens Aktiengesellschaft Method and Apparatus for Determining Collection Frequency, Computer Device, and Storage Medium
US11500686B2 (en) * 2020-07-31 2022-11-15 International Business Machines Corporation Resource management of a software application with multiple software components

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734724B2 (en) * 2000-09-06 2010-06-08 Xanboo Inc. Automated upload of content based on captured event
US20040153537A1 (en) * 2000-09-06 2004-08-05 Xanboo, Inc. Adaptive method for polling
US6609083B2 (en) 2001-06-01 2003-08-19 Hewlett-Packard Development Company, L.P. Adaptive performance data measurement and collections
JP2005004336A (ja) 2003-06-10 2005-01-06 Hitachi Ltd リソース監視方法および装置ならびにリソース監視プログラム
US6985825B1 (en) * 2003-07-15 2006-01-10 Advanced Micro Devices, Inc. Method and apparatus for adaptive sampling based on process covariance
US20050125797A1 (en) 2003-12-09 2005-06-09 International Business Machines Corporation Resource management for a system-on-chip (SoC)
US20050278381A1 (en) * 2004-05-26 2005-12-15 Yixin Diao Method and apparatus for online sample interval determination
US7206845B2 (en) * 2004-12-21 2007-04-17 International Business Machines Corporation Method, system and program product for monitoring and controlling access to a computer system resource
US8156500B2 (en) * 2005-07-01 2012-04-10 Microsoft Corporation Real-time self tuning of planned actions in a distributed environment
US8365182B2 (en) 2006-10-02 2013-01-29 International Business Machines Corporation Method and system for provisioning of resources
JP5051135B2 (ja) * 2006-11-06 2012-10-17 日本電気株式会社 資源情報収集装置、資源情報収集方法、プログラム、および、収集スケジュール生成装置
US7934027B2 (en) 2007-01-19 2011-04-26 Hewlett-Packard Development Company, L.P. Critical resource management
US7848348B2 (en) * 2007-04-13 2010-12-07 At&T Intellectual Property I, L.P. System and method for managing network traffic
US8543711B2 (en) * 2007-04-30 2013-09-24 Hewlett-Packard Development Company, L.P. System and method for evaluating a pattern of resource demands of a workload
US8219657B2 (en) * 2008-06-13 2012-07-10 Microsoft Corporation Automatic request categorization for internet applications
US20100004916A1 (en) * 2008-07-03 2010-01-07 The Boeing Company Process Analyzer
US8370472B2 (en) 2008-09-02 2013-02-05 Ca, Inc. System and method for efficient machine selection for job provisioning
US20100131959A1 (en) 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8321862B2 (en) 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US8769529B2 (en) 2009-07-24 2014-07-01 Novell, Inc. Generating and automatically loading reduced operating system based on usage pattern of applications
US9075665B2 (en) * 2010-06-29 2015-07-07 International Business Machines Corporation Smoothing peak system load via behavior prediction in collaborative systems with temporal data access patterns
US8438570B2 (en) * 2010-07-31 2013-05-07 International Business Machines Corporation Resource allocator with knowledge-based optimization
US8527626B1 (en) * 2010-09-29 2013-09-03 Emc Corporation Managing system polling
US8724612B2 (en) * 2011-01-04 2014-05-13 Apple Inc. Adaptive timers for polling in a mobile wireless device

Also Published As

Publication number Publication date
GB201222265D0 (en) 2013-01-23
DE102012224362B4 (de) 2019-05-29
GB2500079B (en) 2014-05-07
GB2500079A (en) 2013-09-11
US9069881B2 (en) 2015-06-30
CN103310090A (zh) 2013-09-18
US20130179893A1 (en) 2013-07-11
CN103310090B (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
DE102012224362A1 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE69210399T2 (de) Rechnerueberwachungsverfahren und system
DE202015009298U1 (de) Dynamische Anpassung von Shard-Zuweisungen
DE112013003300B4 (de) Schrittweise Vorbereitung von Videos auf die Lieferung
DE10255125A1 (de) Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software
DE112012002631T5 (de) Stream-Verarbeitung unter Verwendung einer Client-Server-Architektur
DE10309246B4 (de) Verfahren für das Event Management
DE112013000465T5 (de) Verwaltung einer fernen Datenreplikation
DE102007028226A1 (de) Auswertungsverfahren für eine zeitliche Sequenz von Röntgenbildern und hiermit korrespondierende Gegenstände
DE112019005914T5 (de) Kategorisierung gewonnener daten basierend auf expliziten und impliziten mitteln
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE69518453T2 (de) Verfahren und System zum Dynamischen Auswählen eines Kommunikationsmodus
DE102009004726A1 (de) Systeme und Verfahren zum Verfolgen von Befehlszeigern und Datenzugriffen
DE102016103019A1 (de) Hardwaregestützte Kantenprofilerstellung
DE102017123055A1 (de) Slave-Vorrichtung
DE102013109302A1 (de) Parametereinstellverfahren eines Reifenüberwachungsgeräts
DE102013022564B4 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
DE102021125926A1 (de) Systeme und verfahren zur datengesteuerten speicheraufteilung für deep-learning
DE102023115340A1 (de) Verarbeitungsverfahren und dienstendgerät einer gemeinsam genutzten einrichtung
DE112022004564T5 (de) Verringerung einer latenzzeit in drahtlosen systemen mit mehrkanal-betrieb
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
EP1870787A1 (de) Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
DE202017105807U1 (de) Fenster-Abweichungsanalysierer
DE102020123911A1 (de) Synchronisierung des verhaltens mehrerer instrumente mithilfe von aufträgen und zwischenzielen
DE112022001202T5 (de) Prüf- und Messsystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final