DE112022000406T5 - Überwachen eines allgemeinzustands eines grossen cloud-computing-systems - Google Patents

Überwachen eines allgemeinzustands eines grossen cloud-computing-systems Download PDF

Info

Publication number
DE112022000406T5
DE112022000406T5 DE112022000406.1T DE112022000406T DE112022000406T5 DE 112022000406 T5 DE112022000406 T5 DE 112022000406T5 DE 112022000406 T DE112022000406 T DE 112022000406T DE 112022000406 T5 DE112022000406 T5 DE 112022000406T5
Authority
DE
Germany
Prior art keywords
computer
data processing
program instructions
processing system
data
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.)
Pending
Application number
DE112022000406.1T
Other languages
English (en)
Inventor
Sven Sterbling
Torsten Teich
Joerg Mueller
Georg Bildhauer
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 DE112022000406T5 publication Critical patent/DE112022000406T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • 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
    • 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/3452Performance evaluation by statistical analysis
    • 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/3495Performance evaluation by tracing or monitoring for systems
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42033Kind of servo controller
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Computational Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

Ein Verfahren, ein Computerprogrammprodukt und ein System zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems. Das Verfahren umfasst einen oder mehrere Prozessoren, die einen jeweiligen Überwachungsvorhersageagenten in jedem einer Mehrzahl von Workerknoten eines Datenverarbeitungssystems einsetzen. Das Verfahren umfasst des Weiteren ein Feststellen, für jeden der Mehrzahl von Workerknoten durch den jeweiligen Überwachungsvorhersageagenten, eines einzelnen binären Allgemeinzustandswerts, indem eine zeitabhängige Funktion von Leistungsmessdatenwerten des jeweiligen Workerknotens mit oberen und unteren Schwellenwerten verglichen wird. Das Verfahren umfasst des Weiteren ein Empfangen der binären Allgemeinzustandswerte zusammen mit jeweiligen Identitätsinformationen von jedem der Mehrzahl von Workerknoten. Das Verfahren umfasst des Weiteren ein Erzeugen eines Datensatzes, der ein Hinweis auf einen Allgemeinzustand des Datenverarbeitungssystems ist, indem die empfangenen jeweiligen Identitätsinformationen Hashfunktionen eines Counting-Bloom-Filters zugeführt werden.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein das Gebiet der Computersystemanalyse und insbesondere das Überwachen eines Allgemeinzustands eines Datenve ra rbe itu ngssystems.
  • Das Überwachen von Komponenten einer IT-(Informationstechnologie-)Infrastruktur war schon immer ein unabhängiger IT-Fachbereich. Mit seiner Hilfe können Komponenten einer IT-Landschaft eines Unternehmens, und auch von Cloud-Computing-Umgebungen, effizient, aus der Ferne und fortlaufend verwaltet werden. Zudem können mögliche Engpässe frühzeitig erkannt werden, um ungeplante Ausfallzeiten von einzelnen Komponenten der IT-Infrastruktur zu vermeiden.
  • Monitoring as a service (MaaS) ist eine von vielen Cloud-Computing-Bereitstellungsmodellen unter Anything as a service (XaaS). Monitoring as a service ist ein Framework, das den Einsatz von Überwachungsfunktionalitäten für verschiedene Services und Anwendungen innerhalb der Cloud-Computing-Umgebung vereinfacht. Die gebräuchlichste Anwendung für MaaS ist die Online-Zustandsüberwachung von IT-Komponenten, die fortlaufend bestimmte Zustände von Anwendungen, Netzwerken, Systemen, Instanzen oder eines beliebigen Elements verfolgt, das gegebenenfalls innerhalb der Cloud-Computing-Umgebung einsetzbar ist. Mehrere Produkte sind derzeit auf dem Markt, die eine große Anzahl an Statusdaten von IT-Komponenten über die Zeit und unter verschiedenen Aspekten erfassen. Üblicherweise werden diese Statusdaten an einem zentralen Ort erfasst und unter einer Mehrzahl von verschiedenen Aspekten analysiert. Der mit solchen komplexen Statusverfolgungssystemen verbundene Aufwand sowie die mit der Komplexität der Daten einhergehende notwendige Datenanalyse können beträchtlich und eine zusätzliche Belastung (a) für die beobachteten Infrastrukturkomponenten und (b) für die zentralen Analyseservices werden, die erforderlich sind, um der großen Menge an erfassten Daten eine gewisse Bedeutung zu entnehmen.
  • Und dies aus mindestens einem guten Grund: Ausfälle in Cloud-Computing-Systemen wirken sich in der Regel direkt auf den Kunden aus: Üblicherweise ist ein Service für eine kurze Dauer (Sekunden oder Minuten) aufgrund von Störungen nicht verfügbar. Störungen können alles sein, wie beispielsweise ein Netzwerkausfall und die Nichtverfügbarkeit eines benachbarten Services (z.B. einer Datenbank, eines Messaging-Systems usw.).
  • KURZDARSTELLUNG
  • Aspekte der vorliegenden Erfindung offenbaren ein Verfahren, ein Computerprogrammprodukt und ein System zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems. Das Verfahren umfasst einen oder mehrere Prozessoren, die einen jeweiligen Überwachungsvorhersageagenten in jedem einer Mehrzahl von Workerknoten eines Datenverarbeitungssystems einsetzen. Das Verfahren umfasst des Weiteren einen oder mehrere Prozessoren, die für jeden der Mehrzahl von Workerknoten durch den jeweiligen Überwachungsvorhersageagenten einen einzelnen binären Allgemeinzustandswert feststellen. Das Verfahren zum Feststellen von jeweiligen einzelnen binären Allgemeinzustandswerten umfasst des Weiteren einen oder mehrere Prozessoren, die eine zeitabhängige Funktion von Leistungsmessdatenwerten des jeweiligen Workerknotens mit einem vordefinierten, konfigurierbaren oberen Schwellenwert und einem konfigurierbaren unteren Schwellenwert vergleichen. Das Verfahren umfasst des Weiteren einen oder mehrere Prozessoren, welche die binären Allgemeinzustandswerte zusammen mit jeweiligen Identitätsinformationen von jedem der Mehrzahl von Workerknoten empfangen. Das Verfahren umfasst des Weiteren einen oder mehrere Prozessoren, die einen Datensatz erzeugen, der ein Hinweis auf einen Allgemeinzustand des Datenverarbeitungssystems ist, indem die empfangenen Identitätsinformationen eines jeden der Mehrzahl von Workerknoten Hashfunktionen eines Counting-Bloom-Filters zugeführt werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Es sei angemerkt, dass Ausführungsformen der Erfindung unter Bezugnahme auf verschiedene Gegenstände beschrieben werden. Insbesondere werden einige Ausführungsformen unter Bezugnahme auf Verfahrensansprüche beschrieben, wohingegen andere Ausführungsformen unter Bezugnahme auf Vorrichtungsansprüche beschrieben werden. Der Fachmann entnimmt der vorstehenden und der nachfolgenden Beschreibung jedoch, dass, vorbehaltlich anderer Angaben, neben jeder beliebigen Kombination aus Merkmalen, die zu einem Typ von Gegenstand gehören, auch jede beliebige Kombination zwischen Merkmalen, die sich auf verschiedene Gegenstände beziehen, insbesondere zwischen Merkmalen der Verfahrensansprüche und Merkmalen der Vorrichtungsansprüche, als eine in diesem Schriftstück zu offenbarende Kombination betrachtet wird.
  • Die vorstehend definierten Aspekte und weitere Aspekte der vorliegenden Erfindung gehen aus den Beispielen von Ausführungsformen, die nachstehend zu beschreiben sind, hervor und werden unter Bezugnahme auf die Beispiele von Ausführungsformen erklärt, auf welche die Erfindung jedoch nicht beschränkt ist. Bevorzugte Ausführungsformen der Erfindung werden lediglich beispielhaft und unter Bezugnahme auf die folgenden Zeichnungen beschrieben.
    • 1 stellt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen, durch einen Computer ausgeführten Verfahrens zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems, das eine Mehrzahl von Workerknoten aufweist, gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 2 stellt ein Blockschaubild einer Ausführungsform einer Architektur mit Komponenten, die das vorgeschlagene Konzept unterstützen, gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 3 stellt ein Blockschaubild von Ausführungsformen eines Counting-Bloom-Filters gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 4 stellt eine Ausführungsform von Aspekten der Funktionsweise des Überwachungsvorhersageagenten gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 5 stellt einen Ablaufplan einer implementierungsnäheren Version der Ausführungsform des gesamten Verfahrens gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 6 stellt einen Ablaufplan einer implementierungsnäheren Ausführungsform des Vorhersageaspekts des vorgeschlagenen Konzepts gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 7 stellt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 8 stellt eine Ausführungsform eines Datenverarbeitungssystems, das mindestens Teile des Datenverarbeitungsinfrastruktur-Überwachungssystems von 7 aufweist, gemäß Ausführungsformen der vorliegenden Erfindung dar.
    • 9 stellt eine Ausführungsform einer Cloud-Computing-Infrastruktur gemäß Ausführungsformen der vorliegenden Erfindung dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Kontext dieser Beschreibung werden gegebenenfalls die folgenden Konventionen, Begriffe und/oder Ausdrücke verwendet.
  • Der Begriff „Allgemeinzustand“ oder Allgemeinzustandswert kann einen numerischen Indikatorwert bezeichnen, der die Funktionsfähigkeit eines komplexen Systems wie eines Workerknotens oder eines Datenverarbeitungssystems oder einer Mehrzahl von Workerknoten einer Mehrzahl von Datenverarbeitungssystemen ausdrückt. In verschiedenen Ausführungsformen kann der Begriff „Allgemeinzustand“ oder Allgemeinzustandswert einen Status „Probleme zeichnen sich ab“ oder „alle Systeme laufen reibungslos“ angeben.
  • Der Begriff „Datenverarbeitungssystem“ kann ein Hardware-Datenverarbeitungssystem, eine Mehrzahl davon, ein Cluster, ein Cloud-Rechenzentrum und/oder auch eine oder mehrere virtuelle Maschinen oder Datenverarbeitungscontainer (z.B. Docker-Container) bezeichnen. Bei dem Datenverarbeitungssystem kann es sich auch um ein Netzwerk oder ein Speichersystem oder vergleichbare Systeme handeln. Auch können gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung andere periphere Einheiten als Datenverarbeitungssystem im Kontext des vorgeschlagenen Konzepts beschrieben werden.
  • Der Begriff „Workerknoten“ kann ein virtuelles oder physisches Datenverarbeitungssystem oder einen Teil davon bezeichnen. Der Workerknoten kann so ausgelegt werden, dass er Programmcode ausführt. Somit können auch virtuelle Maschinen oder statusunabhängige Datenverarbeitungscontainer als Workerknoten bezeichnet werden. Die Workerknoten können in einem großen Cloud-Rechenzentrum, wie beispielsweise in einer Größenordnung von 10.000 oder 100.000 oder noch mehr, eingesetzt werden.
  • Der Begriff „Überwachungsvorhersageagent“ kann eine Funktion innerhalb eines Workerknotens mit einer Fähigkeit, einen binären Allgemeinzustandswert des Workerknotens festzustellen, bezeichnen. In beispielhaften Ausführungsformen kann ein „Überwachungsvorhersageagent“ die Speichernutzung des Workerknotens ausdrücken.
  • Der Begriff „einzelner binärer Allgemeinzustandswert“ kann eine logische „0“ oder eine logische „1“ bezeichnen. In beispielhaften Ausführungsformen kann die logische „0“ für „keine Probleme erkannt“ stehen und die logische „1“ kann ausdrücken, dass in dem jeweiligen Workerknoten „ein mögliches Problem vorhanden sein kann“.
  • Der Begriff „zeitabhängige Funktion“ kann hier zum Beispiel einen PID-(Proportional-Integral-Derivative-)Filter bezeichnen, der einen gegebenen Sollwert von z.B. belegbarem Hauptspeicher und eine tatsächlich festgestellte Speichernutzung verwendet, wodurch auch Kurzzeitprotokoll-Speicherbelegungswerte abgebildet werden können. Dabei kann eine Speicherbelegung auch ein Beispiel für andere Ressourcen des Workerknotens sein.
  • Der Begriff „Leistungsmessdatenwert“ kann einen realen numerischen Datenwert bezeichnen und einen bestimmten Ressourcenverbrauch durch ein Datenverarbeitungssystem mit mehr Berechnungsprozessen ausdrücken. Ein Beispiel kann der Prozentsatz von belegtem Hauptspeicher im Vergleich zu dem gesamten verfügbaren Hauptspeicher sein. Weitere Leistungsmessdatenwerte können sich auf eine Netzauslastung oder eine Prozessorauslastung oder den Stromverbrauch eines Computers beziehen.
  • Der Begriff „oberer Schwellenwert“ kann einen numerischen Wert (z.B. einen Prozentwert), der zur Initialisierungszeit in den Überwachungsvorhersageagenten hochgeladen werden kann, bezeichnen, welcher mit dem Wert von Leistungsmessdaten verglichen werden kann. Daher können zwei Prozentwerte miteinander verglichen werden. Wenn der Leistungsmessdatenwert gegebenenfalls den oberen Schwellenwert überschreitet, kann eine logische „1“ als binärer Allgemeinzustandswert des jeweiligen Workerknotens erzeugt werden. Der Begriff „unterer Schwellenwert“ kann im Vergleich zum oberen Schwellenwert einen entsprechenden Schwellenwert bezeichnen.
  • Der Begriff „Vitalitätsverwaltungsagent“ kann einen Zentralprozessor oder ein System bezeichnen, der bzw. das verschiedene Aspekte der vorliegenden Erfindung als Ort des/der CBF(s) (Counting-Bloom-Filter) hinsichtlich einer Feststellung des Allgemeinzustands der Mehrzahl von Workerknoten steuert. Üblicherweise, aber nicht notwendigerweise, kann der Vitalitätsüberwachungsagent fernab des Workerknotens eingesetzt werden und auch Teil einer MaaS-Lösung sein.
  • Der Begriff „Identitätsinformationen“ kann zum Beispiel eine Adressenkennung und ein entsprechendes Netzwerk (z.B. einen Workerknoten) bezeichnen. Jedoch können auch Teile der Netzadresse als Identitätsinformationen verwendet werden. Zum Beispiel der Teil der virtuellen Maschine der vollständigen Adresse, eine zugehörige Hardwaresystemadresse, eine Clusteradresse oder eine Bereichsadresse.
  • Der Begriff „Hashfunktion“ kann eine beliebige Funktion bezeichnen, die verwendet werden kann, um Daten (z.B. Adressdaten) beliebiger Größe Werten fester Größe zuzuordnen. Die von einer Hashfunktion zurückgegebenen Werte (z.B. Indexzeiger auf ein Indexfeld eines Datenarrays) werden als Hashwerte, Hash-Codes, Prüfsummen oder einfach als Hashes bezeichnet.
  • Der Begriff „Counting-Bloom-Filter“ (CBF) kann eine verallgemeinerte Datenstruktur eines Bloom-Filters bezeichnen, die verwendet werden kann, um zu prüfen, ob eine Anzahl eines gegebenen Elements bei einer gegebenen Folge von Elementen kleiner als ein gegebener Schwellenwert ist. Als verallgemeinerte Form eines Bloom-Filters sind falsch-positive Übereinstimmungen möglich, falsch-negative jedoch nicht - anders ausgedrückt, eine Abfrage gibt entweder „möglicherweise größer als der Schwellenwert oder gleich dem Schwellenwert“ oder „definitiv kleiner als der Schwellenwert“ zurück. Hier ordnen die Hashfunktionen ankommende Daten (z.B. Adressdaten) Zählern zu, die Teil des Bloom-Filter-Datensatzes oder des Bloom-Filter-Datenarrays sind.
  • Der Begriff „Datensatz“ kann ein Array (z.B. ganzzahlige Werte) aus Feldern in einem Array bezeichnen, in dem Werte von logisch „1“ in Abhängigkeit von dem empfangenen binären Allgemeinzustandswert erhöht oder verringert werden.
  • Der Begriff „Zeitreihe“ kann angeben, dass Datenwerte von vergleichbaren Datenstrukturen persistent gespeichert werden, um einen zeitabhängigen Satz von Daten zur weiteren Analyse zu erzeugen.
  • Der Begriff „Cloud-Computing“ kann in diesem Kontext als ein Modell interpretiert werden, das dazu dient, einen problemlosen bedarfsgesteuerten Netzwerkzugriff auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Server, Speicher, Anwendungen und Services) zu ermöglichen, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Die ferne Multi-Tenant-Datenverarbeitungsumgebung kann als Cloud-Computing-Rechenzentrum ausgeführt sein. Das Cloud-Modell unterstützt die Verfügbarkeit und umfasst mindestens fünf wesentliche Merkmale, drei Dienstmodelle und vier Einsatzmodelle.
  • Bei den wesentlichen Merkmalen des Cloud-Computing handelt es sich um die folgenden:
    1. (i) On-Demand Self-Service. Ein Nutzer kann einseitig automatisch bei Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit jedem Anbieter der Dienste erforderlich ist.
    2. (ii) Broad Network Access. Es sind Funktionen über das Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    3. (iii) Resource-Pooling. Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells mit verschiedenen physischen und virtuellen Ressourcen zu dienen, welche dynamisch nach Bedarf des Nutzers zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Kunde allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum). Zu Beispielen für Ressourcen gehören Speicher, Verarbeitung, Hauptspeicher, Netzwerkbandbreite und virtuelle Maschinen.
    4. (iv) Rapid Elasticity. Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
    5. (v) Measured Service. Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen für die Nutzung des Cloud-Computing handelt es sich um die folgenden:
    1. (i) Cloud Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
    2. (ii) Cloud Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
    3. (iii) Cloud Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen für Cloud-Computing handelt es sich um die folgenden:
    1. (i) Private Cloud. Die Cloud-Infrastruktur wird ausschließlich durch eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    2. (ii) Community Cloud. Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder in fremden Räumen stehen.
    3. (iii) Public Cloud. Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    4. (iv) Hybrid Cloud. Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Es sei darauf hingewiesen, dass Cloud-Software das Cloud-Paradigma in vollem Umfang nutzt, indem es dienstorientiert mit Fokus auf Statusunabhängigkeit (mit Ausnahmen), geringer Kopplung, Modularität und semantischer Interoperabilität ist. Dies gilt insbesondere für Workerknoten auf oder in Datenverarbeitungssystemen, die in einem Cloud-Rechenzentrum eingesetzt werden.
  • Das vorgeschlagene, durch einen Computer ausgeführte Verfahren zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems, das eine Mehrzahl von Workerknoten aufweist, kann mehrere Vorteile, Beiträge und technische Wirkungen bieten.
  • Ausführungsformen der vorliegenden Erfindung erkennen, dass Benutzer mit einem Ausfall eines einzelnen Mikroservices oder mehrerer Mikroservices konfrontiert werden können, obgleich in auf Unternehmen abgestimmten IT-Infrastrukturen in der Regel bereits Wiederherstellungs- oder Hochverfügbarkeitssysteme vorhanden sind. Vom Standpunkt eines Cloud-Providers ist dies notwendig, um solche Ausfälle so gut wie möglich und mit dem geringstmöglichen Aufwand zu vermeiden. Für diese Zielsetzung sind die aktuell verfügbaren Überwachungsservices und -systeme möglicherweise jedoch zu komplex und können für die vorhandene IT-Infrastruktur und ihre Betreiber eine echte Bürde darstellen. Insbesondere in Umgebungen, in denen 10.000 oder gar 100.000 Services überwacht werden müssen, erkennen Ausführungsformen der vorliegenden Erfindung, dass eine ausgereiftere, einfach zu handhabende und hoch automatisierte MaaS-Technik erforderlich wäre.
  • Im Gegensatz zu herkömmlichen Überwachungssystemen und Systemverwaltungssystemen können Ausführungsformen der vorliegenden Erfindung so betrieben werden, dass sie den Allgemeinzustand eines Workerknotens auf einen einzelnen binären Allgemeinzustandswert (grundsätzlich „0“ oder „1“) verringern und dabei so wenig Informationen wie möglich benötigen und keinen Aufwand erzeugen. Wie vorstehend erläutert wurde, erfassen herkömmliche Überwachungssysteme eine große Vielfalt an Leistungszählerwerten für die prognostizierte Lebensdauer eines Datenverarbeitungssystems oder möglicherweise auch von einem in Ausführung befindlichen Service. Der hiermit verbundene Aufwand in Bezug auf die auf oder in dem Workerknoten sowie dem Analysesystem erforderliche Speicherbelegung, in Bezug auf die für die Übertragung all dieser Parameterwerte von dem Workerknoten an ein zentrales Analysesystem erforderliche Bandbreite sowie die erforderliche Verarbeitungsleistung auf dem zentralen Analysesystem kann auf ein bloßes Minimum von einem Bit verringert werden. Somit kann die Erfassung von einem Hundert oder sogar einem Tausend oder mehr Datenpunkten pro Sekunde durch herkömmliche Überwachungssysteme vermieden werden, indem der Allgemeinzustand des Workerknotens auf einen wichtigen Datenpunkt begrenzt wird. Bei dem Datenpunkt oder diesem Leistungsmessdatenwert kann es sich um die Speicherbelegung eines bestimmten Workerknotens (z.B. eines Computersystems), einer virtuellen Maschine, eines Hypervisors oder eines Programmausführungscontainers und dergleichen handeln.
  • Somit können Ausführungsformen der vorliegenden Erfindung so betrieben werden, dass sie die Menge an Daten drastisch verringern, wodurch jeder Workerknoten schlank und kompakt gestaltet werden kann. Auch kann die Berechnungs- und Reaktionszeit erheblich verringert werden. Folglich kann das vorgeschlagene Konzept besonders in großen und sehr großen Cloud-Computing-Systemen anwendbar sein, bei denen Zehntausende von Services auf einer Hardware-Datenverarbeitungsplattform ausgeführt werden.
  • Darüber hinaus kann der einem Workerknoten zugeordnete Überwachungsvorhersageagent nicht nur den ausgewählten Leistungsmessdatenwert (z.B. die Speicherbelegung) mit einer festen oberen Grenze vergleichen, sondern auch die Speicherbelegung über eine (kurze) protokollierte Zeit feststellen und Entwicklungen der Speicherbelegung des Workerknotens in dessen einzelnem binären Allgemeinzustandswert abbilden.
  • Der dann folgende Vergleich mit einem oberen Schwellenwert und einem unteren Schwellenwert, die beide konfigurierbar sind, führt nicht nur einen Abgleich mit einem oberen gefährlichen Speicherbelegungswert, sondern auch mit einem auffälligen unteren Schwellenwert durch, der möglicherweise anzeigt, dass mit dem beobachteten Service etwas nicht stimmen könnte, da zum Beispiel der angegebene Hauptspeicher für die berechtigte Prozesssoftware zusammen mit ihren Puffern und Caches möglicherweise immer noch klein ist. Daher kann selbst in diesem Fall eine zu geringe Speicherbelegung auch ein Hinweis auf eine im Umfang begrenzte Funktion des jeweiligen Services in dem Workerknoten sein.
  • Die Verwendung des Counting-Bloom-Filters (CBFs) kann auch ein interessantes Konzept im Kontext des vorgeschlagenen Verfahrens zum Überwachen des Allgemeinzustands des Datenverarbeitungssystems darstellen. Ein zentrales Konzept des CBFs ist eine Entkopplung von Daten in einem Filter-Datenarray und den jeweiligen Quellen (d.h. den Workerknoten). Somit ist ein Überwachungsservicebetreiber gegebenenfalls in der Lage, zu sagen, welcher spezielle Service der beobachteten Services möglicherweise Probleme hat, jedoch ist der Servicebetreiber in der Lage, zu sagen, dass eine Gruppe von Workerknoten möglicherweise einen gewissen Schwellenwert überschreitet oder einen möglicherweise abnormalen Trend beim Verbrauch von Rechenleistung darstellen kann. Daher kann das vorgeschlagene Konzept aus einer Sicherheits- und Datenschutzperspektive ebenfalls gute Noten bekommen, da keine detaillierten Daten erfasst werden.
  • Darüber hinaus können verschiedene Ausführungsformen der vorliegenden Erfindung das Konzept der CBFs erweitern, indem einer bestimmten Kennung der Workerknoten nicht nur Ereignisse hinzugefügt, sondern auch Zähler in dem Filter-Datenarray verringert werden, wenn von den Workerknoten keine Probleme gemeldet werden. Indem über den gesamten Zelleninhalt des Filterarrays eine Summe gebildet wird (indem z.B. die Summe über alle CBF-Zellen gebildet und durch die Anzahl der Cachefunktionen geteilt wird), kann man zudem auch einen Hinweis auf Datenverarbeitungsknoten erhalten, die möglicherweise ausfallen (z.B. aufgrund einer Überlastung).
  • Ferner kann der Indikator des Workerknotens, zusätzlich zur ID des Workerknotens selbst, auch ID-Informationen eines Clusters oder eines Bereichs aufweisen. Somit können der Allgemeinzustand des Clusters und des Bereichs auch unabhängig von dem Allgemeinzustand des Workerknotens selbst überwacht werden.
  • Obgleich Ausführungsformen der vorliegenden Erfindung so betrieben werden können, dass sie nur ein Bit der Allgemeinzustandsinformationen über das Netzwerk übertragen, können Ausführungsformen der vorliegenden Erfindung daher den Vorteil bieten, dass sie Situationen für Computersysteme, Cluster und ganze Bereiche in Cloud-Computing-Systemen vorhersagen, die nicht geplant waren und ein gefährliches Umfeld darstellen könnten. Folglich können Ausführungsformen der vorliegenden Erfindung eine Arbeitslast von einem Datenverarbeitungssystem an ein anderes, von einem Bereich an einen anderen oder von einem Cluster an ein anderes übertragen. Die Aufgabe kann durch ein zugehöriges Systemverwaltungstool durchgeführt werden. Folglich können Ausführungsformen der vorliegenden Erfindung gut in eine kompakte, aber leistungsstarke MaaS-Lösung integriert werden, um selbst sehr große Datenverarbeitungsanlagen mit Zehn- oder sogar Hunderttausenden von Workerknoten zu überwachen.
  • Im Folgenden werden zusätzliche Ausführungsformen, die sowohl auf das Verfahren als auch das zugehörige System anwendbar sind, ausführlicher beschrieben.
  • Gemäß einer beispielhaften Ausführungsform kann sich der Leistungsmessdatenwert auf die Speichernutzung des jeweiligen Workerknotens beziehen oder es kann sich dabei um die Speichernutzung des jeweiligen Workerknotens handeln, welcher einen charakteristischen Leistungsmesswert darstellen kann, der ein Hinweis darauf ist, wie der Workerknoten seine Aufgabe durchführt. Bei oberen und unteren Begrenzungen kann der Allgemeinzustand des Workerknotens durch solch einen einzelnen binären Wert charakterisiert werden. Insbesondere weil der Überwachungsvorhersageagent auch Zugriff auf die aktuellste Speichernutzung (z.B. in Form einer Zeitreihe) haben kann, kann dem Agenten ermöglicht werden, auch die Entwicklung der erwarteten Speichernutzung für die nahe Zukunft vorherzusagen. Die Funktion kann durch einen PID-(Proportional-Integral-Differential)-Filter durchgeführt werden, dessen Ergebnis auch mit vordefinierten oberen und unteren Schwellenwerten verglichen werden kann. Folglich kann eine zu geringe Speichernutzung in gleicher Weise wie eine zu hohe Speichernutzung ein mögliches Problem innerhalb des Workerknotens anzeigen. Daher kann gemäß einer erweiterten Ausführungsform ein Feststellen des einzelnen binären Allgemeinzustandswerts durch die zeitabhängige Funktion ein Verwenden eines PID-Filters als Teil des Überwachungsvorhersageagenten aufweisen, um eine vorhergesagte Speichernutzung festzustellen.
  • Des Weiteren können verschiedene Ausführungsformen der vorliegenden Erfindung anstelle der Speichernutzung andere Parameterwerte verwenden, wie beispielsweise eine verwendete Netzbandbreite, eine benötigte Gesamtspeicherkapazität, eine E/A-(Eingabe-/Ausgabe-)Rate, eine CPU-Auslastung, eine Auslastung eines internen Busses und/oder andere jeweilige Prozentwerte.
  • Gemäß einer weiteren Ausführungsform des Verfahrens kann der Datensatz als ein Array (z.B. als ganzzahlige Werte) mit einer vordefinierten Länge (z.B. mit einer Länge für einen vordefinierten Zeitraum) gespeichert werden, wobei ein Teil der Identitätsinformationen als Eingabe in die Hashfunktionen verwendet werden kann. Dabei können Ausgabewerte der Hashfunktionen Indexwerte zum Adressieren von Datenfeldern in dem Array sein und ein jeweiliger Wert eines jeden der adressierten Datenfelder des Datensatzes kann erhöht werden (z.B. um eins), wenn der empfangene jeweilige einzelne binäre Allgemeinzustandswert logisch „1“ ist. Andere Inkrementwerte sind gegebenenfalls auch möglich.
  • Folglich und gemäß einer weiteren Ausführungsform können Ausführungsformen der vorliegenden Erfindung so betrieben werden, dass sie einen jeweiligen Wert eines jeden der adressierten Datenfelder des Datensatzes (z.B. um eins) verringern, wenn der empfangene jeweilige einzelne binäre Allgemeinzustandswert logisch „0“ ist. Somit kann der Counting-Bloom-Filter sein ganzes Potenzial erfüllen.
  • Zudem kann erwähnt werden, dass sich der Teil der Identitätsinformationen auf einen jeweiligen Hardwareknoten oder ein Rack von Datenverarbeitungsknoten oder ein Cluster von Knoten oder Racks oder einen Bereich beziehen kann. Zudem können auch die vollständigen Identitätsinformationen (d.h. die vollständige Netzadresse) als Eingabe für die jeweiligen Hashfunktionen verwendet werden.
  • Gemäß einer einzelnen vorteilhaften Ausführungsform ist die Summe der Werte der Datenfelder in dem Array ein Hinweis auf den Allgemeinzustand des Datenverarbeitungssystems. Dazu können alle Werte von allen Bereichsfeldern summiert werden. Zusätzliche Aspekte können auch die Funktionalität bereitstellen, um die Datenbereichsfelder nach einem vordefinierten Zeitintervall zurückzusetzen. Daher kann regelmäßig eine Normalisierung auf „null“ durchgeführt werden, um sich an geänderte allgemeine Bedingungen des Gesamtsystems anzupassen, das die Mehrzahl von Workerknoten aufweist.
  • Des Weiteren kann jeder Workerknoten, nach der jeweiligen Initialisierung, eine „1“ kurz nach einem Initialisierungszeitpunkt und eine logische „0“, nachdem ein Datenverarbeitungsprozess in der Arbeitsmenge betriebsbereit ist, senden. Die Übertragungen von den Workerknoten können so betrieben werden, dass die jeweiligen Felder in dem Datenarray zurückgesetzt werden, welche als ein Indikator für eine erfolgreiche Initialisierung des jeweiligen Datenverarbeitungsprozesses bzw. der jeweiligen Datenverarbeitungsprozesse in dem Workerknoten verwendet werden können.
  • Gemäß beispielhaften Ausführungsformen kann das Verfahren auch ein Speichern von Allgemeinzustandswerten (z.B. Statussen des CBFs) in einem persistenten Speicher umfassen, wobei Verlaufsdaten der Belastung des Datenverarbeitungssystems erzeugt werden. Die Speicherung des Allgemeinzustands (z.B. Kopien der Werte des CBFs) kann regelmäßig erfolgen, wenn ein oder mehrere vordefinierte Schwellenwerte für die Allgemeinzustandswerte über- oder unterschritten werden können, was eine Optimierung des Allgemeinzustand-Verwaltungssystems ermöglichen kann.
  • Gemäß einer weiteren beispielhaften Ausführungsform kann das Verfahren auch ein Feststellen (z.B. ein Vorhersagen unter Verwendung einer Trendberechnungsengine) eines erwarteten Belastungswerts des Datenverarbeitungssystems auf der Grundlage der Verlaufsdaten der Belastung des Datenverarbeitungssystems für einen bestimmten Zeitpunkt in der Zukunft umfassen. Ein solcher Kollektiv- und Schutzwert einer Systembelastung (kann z.B. einen Status einer größeren Gruppe von Workerknoten darstellen) kann Betreibern oder nachfolgenden Auslastungskontrollsystemen bei der Feststellung von Vorbeugungsmaßnahmen helfen, um eine Systemüberlastung vorherzusagen.
  • Daher und gemäß einer weiteren beispielhaften Ausführungsform kann das Verfahren auch, nachdem der erwartete Belastungswert des Datenverarbeitungssystems einen vordefinierten Belastungswert des Datenverarbeitungssystems überschritten hat, ein Einleiten einer empfohlenen korrektiven Infrastruktur- oder Auslastungsverwaltungsmaßnahme umfassen. Solch eine empfohlene korrektive Infrastruktur- oder Auslastungsverwaltungsmaßnahme kann eine erneute Implementierung eines Teils des Workerknotens des Datenverarbeitungssystems auf einem anderen, nicht so aktiven Hardwareknoten aufweisen. Darüber hinaus können andere korrektive Maßnahmen, die insbesondere von einem gegebenen Anwendungsfall abhängig sein können, angewiesen werden.
  • Gemäß einer weiteren Ausführungsform des Verfahrens kann ein Workerknoten aus der Gruppe ausgewählt werden, die aus einem physischen Datenverarbeitungsknoten, einer Mehrzahl von physischen Knoten, einer virtuellen Maschine, einer Mehrzahl von virtuellen Maschinen, einem Datenverarbeitungscontainer (z.B. einem Docker-Container), einer Mehrzahl von Datenverarbeitungscontainern, einem Datenverarbeitungsprozess und einer Mehrzahl von Datenverarbeitungsprozessen besteht. Zudem können auch andere zu überwachende Objekte durch das vorgeschlagene Konzept unterstützt werden.
  • Gemäß einer zusätzlichen Ausführungsform kann das Verfahren auch ein Empfangen des konfigurierbaren oberen Schwellenwerts und des konfigurierbaren unteren Schwellenwerts während einer Initiierung des Überwachungsvorhersageagenten umfassen. In einigen Ausführungsformen können nur einzelne der Workerknoten oder Gruppen davon den oberen und unteren Schwellenwert empfangen. Dabei müssen die Werte nicht für alle Workerknoten gleich sein.
  • Im Folgenden werden die Figuren ausführlich beschrieben. Alle Anweisungen in den Figuren sind schematisch. Zunächst wird ein Blockschaubild einer Ausführungsform des erfindungsgemäßen, durch einen Computer ausgeführten Verfahrens zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems, das eine Mehrzahl von Workerknoten aufweist, vorgelegt. Anschließend werden weitere Ausführungsformen sowie Ausführungsformen des Datenverarbeitungsinfrastruktur-Überwachungssystems zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems, das eine Mehrzahl von Workerknoten aufweist, beschrieben.
  • 1 stellt ein Blockschaubild einer bevorzugten Ausführungsform des durch einen Computer ausgeführten Verfahrens 100 zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems, das üblicherweise als ein Element eines Cloud-Rechenzentrums konfiguriert ist, gemäß Ausführungsformen der vorliegenden Erfindung dar. In verschiedenen Ausführungsformen weist das Datenverarbeitungssystem eine Mehrzahl von Workerknoten auf, bei denen es sich um physische oder logische Einheiten, virtuelle Maschinen, Datenverarbeitungscontainer oder Hardwaresysteme oder dergleichen handeln kann. Zum Zweck der Erklärung kann das in 1 beschriebene Verfahren 100 in einem oder mehreren der Schaubilder und Systeme, die in dem System dargestellt sind, das in 2 (z.B. unter Verwendung von einer oder mehreren Komponenten einer Architektur 200), 4 (z.B. unter Verwendung einer Ausführungsform 400 von Aspekten der Funktionsweise des Überwachungsvorhersageagenten), 7 (z.B. unter Verwendung von einer oder mehreren Komponenten des Blockschaubilds einer Ausführungsform eines erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems 700) und 8 (z.B. unter Verwendung eines Datenverarbeitungssystems 800) veranschaulicht ist, ausgeführt werden. In einer beispielhaften Ausführungsform können eine oder mehrere Komponenten der Architektur 200, wie beispielsweise ein Vitalitätsverwaltungsagent 214, die Verarbeitungsschritte des Verfahrens 100 durchführen. Alternativ ist die Ausführung des Verfahrens 100 nicht auf diese Ausführung beschränkt.
  • Im Schritt 102 umfasst das Verfahren 100 ein Einsetzen eines jeweiligen Überwachungsvorhersageagenten in jedem der Mehrzahl von Workerknoten. Im Schritt 104 umfasst das Verfahren 100 ein Feststellen (z.B. über ein Suchen oder Berechnen) für jeden der Mehrzahl von Workerknoten durch einen jeweiligen Überwachungsvorhersageagenten eines einzelnen binären Allgemeinzustandswerts (z.B. „0“ für „OK“ und „1“ für „möglicherweise stimmt etwas nicht“) durch eine zeitabhängige Funktion von mindestens einer Art eines Leistungsmessdatenwerts (z.B. eines Prozentsatzes einer Speichernutzung je Workerknoten) des jeweiligen Workerknotens. Im Schritt 106 vergleicht das Verfahren 100 das entsprechende Ergebnis mit einem vordefinierten, konfigurierbaren oberen Schwellenwert und einem konfigurierbaren unteren Schwellenwert.
  • Als Nächstes, im Schritt 108, umfasst das Verfahren 100 ein Empfangen an einem Vitalitätsverwaltungsagenten, der sich fernab der Workerknoten befinden kann, der binären Allgemeinzustandswerte zusammen mit jeweiligen Identitätsinformationen (z.B. IDs von Workerknoten, Clustern, Bereichen usw.) von jedem der Mehrzahl von Workerknoten (üblicherweise regelmäßig). Dann, im Schritt 110, umfasst das Verfahren 100 ein Zuführen, an dem Vitalitätsverwaltungsagenten, der empfangenen Identitätsinformationen eines jeden der Mehrzahl von Workerknoten zu Hashfunktionen eines Counting-Bloom-Filters, wobei ein Datensatz erzeugt wird, der ein Hinweis auf den Allgemeinzustand des Datenverarbeitungssystems ist. Der Datensatz kann als ein Array aus ganzzahligen Werten organisiert sein.
  • 2 stellt ein Blockschaubild einer Ausführungsform einer Architektur 200 mit Komponenten, die das vorgeschlagene Konzept unterstützen, gemäß Ausführungsformen der vorliegenden Erfindung dar. Jeder der Mehrzahl von Workerknoten (z.B. ein Workerknoten 202, ein Workerknoten 204 bis einschließlich eines Workerknotens n 206) weist den jeweiligen zugehörigen Überwachungsvorhersageagenten auf (d.h. einen Überwachungsvorhersageagenten 208, einen Überwachungsvorhersageagenten 210 und einen Überwachungsvorhersageagenten 212). Die Pfeile zwischen den einzelnen Komponenten können gemeinsame Ereignispfade zwischen den Komponenten veranschaulichen. Zunächst initialisiert der Verwaltungsagent 214, der fernab der Workerknoten 202, 204 bis einschließlich 206 in einem zentralen Systemverwaltungssystem oder einer MaaS-Lösung ausgeführt werden kann, die Workerknoten und sendet eine Maßnahme „Initialisiere Überwachung“ an den jeweiligen Workerknoten. Jeder Initialisierungsworkerknoten empfängt eine Spezifikation „Standardbelastung“, die von Workerknoten zu Workerknoten unterschiedlich sein kann. Insbesondere kann der Vitalitätsverwaltungsagent die oberen und unteren Schwellenwerte an die jeweiligen Workerknoten senden.
  • Darüber hinaus wird der CBF (Counting-Bloom-Filter) in dem Vitalitätsverwaltungsagenten 214 initialisiert. Dann stellen die Workerknoten den binären Allgemeinzustandswert, insbesondere eine logische „0“ (was „OK“ bedeutet) oder eine logische „1“ (was „möglicherweise gibt es ein Problem“ bedeutet) unter Verwendung des entsprechenden Überwachungsvorhersageagenten fest. Die Feststellung kann regelmäßig und/oder zyklisch oder ereignisbasiert erfolgen. Wie vorstehend (und auch im Kontext von 1) beschrieben wurde, aktualisieren die empfangenen binären Allgemeinzustandswerte der Workerknoten 202, 204 bis einschließlich 206 den CBF. Zudem können regelmäßige Momentaufnahmen des Datenarrays des CBFs in einem Allgemeinzustandsspeicher 218 gespeichert werden, um einen Verlauf von Vitalitätswerten des Datenverarbeitungssystems zu erzeugen.
  • Ein Trendberechnungsagent 216 liest die CBF-Werte und die Momentaufnahmen zur Feststellung eines vorhergesagten Trends für die binären Allgemeinzustandswerte der Mehrzahl von Workerknoten und leitet von dem Trend empfohlene korrektive Maßnahmen für das Datenverarbeitungssystem (d.h. die Workerknoten) ab. Der Vitalitätsverwaltungsagent 214 kann dann ein Systemverwaltungssystem informieren, um die korrektive Maßnahme auszuführen. Zum Beispiel kann der Vitalitätsverwaltungsagent 214 Teile der Arbeitslast (z.B. einen Teil der Workerknoten) in eine andere Hardwareumgebung oder die gesamte Mehrzahl von Workerknoten in ein leistungsfähigeres Hardware-Unterstützungssystem (z.B. in einem anderen Bereich) verschieben. Weitere Optionen machen mehr Hauptspeicher in dem Datenverarbeitungssystem verfügbar oder fügen die zusätzlichen Ressourcen zu dem Datenverarbeitungssystem hinzu (z.B. durch Softwareaktivierung der zusätzlichen Ressourcen). Anstatt die korrektiven Maßnahmen unter Verwendung eines Systemverwaltungssystems auszuführen, kann der Vitalitätsverwaltungsagent 214 die korrektiven Maßnahmen auch direkt ausführen, indem er die Workerknoten direkt anweist.
  • 3 stellt ein Blockschaubild von Ausführungsformen eines Counting-Bloom-Filters 300 dar. In dem dargestellten Beispiel sollen h1 und h2 zwei verschiedene Hashfunktionen darstellen. In verschiedenen Ausführungsformen werden von den Workerknoten WN1 304, WN2 306 und WN3 308 logische „1“-en empfangen. Entweder wird die vollständige Adresse (d.h. eine Kennung oder Kennungsinformationen) als Eingabe in die Hashfunktionen h1 und h2 verwendet. In einer weiteren Ausführungsform kann ein optimierter Satz von Hashfunktionen eingesetzt werden. Die Indexwerte, die die optimierten Hashfunktionen erzeugen, können auf die Länge des Datenarrays 302 begrenzt werden.
  • Wie zu sehen ist, wird das zweite Datenfeld von links für die Kennung von WN1 302 adressiert, was zu einer logischen „1“ in dem Datenfeld des Datenarrays 302 führt. Dasselbe gilt für das vierte und das sechste Datenfeld des Datenarrays 302 für die Kennungsinformationen des Workerknotens WN2 306. In dem siebten Feld des Datenarrays 302 (dem zweiten Datenfeld von rechts) speichert das Datenfeld eine „2“. Der Grund dafür ist, dass der durch die Hashfunktion h2 der Kennungsinformationen des Workerknotens WN1 304 erzeugte Indexwert sowie der durch die Hashfunktion h2 der Kennungsinformationen des Workerknotens WN3 308 erzeugte Indexwert auf dasselbe Datenfeld oder denselben Index des Datenarrays 302 zeigen.
  • Die Datenfelder in dem Datenarray 302 können auch als Kategorien bezeichnet werden, für die die Hashfunktionen Indexwerte erzeugen. Im Allgemeinen werden die Werte der Datenfelder des Datenarrays 302 erhöht, wenn eine logische „1“ zusammen mit den jeweiligen Kennungsinformationen (z.B. einem Teil der (oder der gesamten) Adresse des jeweiligen Workerknotens) empfangen wird. Darüber hinaus wird der Zähler in dem Datenfeld des Datenarrays 302 verringert, wenn eine logische „0“ empfangen wird. In beispielhaften Ausführungen ist die Anzahl der Datenfelder in dem Datenarray 302 viel größer als die hier gezeigten acht Felder. Zudem kann auch die Anzahl der auf jede empfangene Kennungsinformation angewandten Hashfunktionen viel größer sein.
  • Wenn das Datenarray 302 mit „allen Nullen“ initialisiert (oder zyklisch zurückgesetzt) wird, können Ausführungsformen der vorliegenden Erfindung negative Werte für mehr logische „0“-en erzeugen, als logische „1“-en empfangen werden. Wenn man nur positive Zählerwerte in den Datenfeldern des Datenarrays 302 haben möchte, sollte der Initialisierungswert für die einzelnen Zähler einen positiven Startwert (z.B. 512 oder 100 oder ähnlich) haben.
  • In einer weiteren Ausführungsform 350 werden die Knoten, die den Status in den CBF melden, in einer geordneten und kontrollierten Weise in dem Datenarray 352 ausgewählten Buckets zugewiesen, die es ermöglichen kann, dass Knoten abhängig von Kategorien wie beispielsweise einer erwarteten tatsächlichen Belastung, einer Clusterzugehörigkeit, Integritätsbedingungen für die Sicherheit usw. gruppiert werden. Die Zuteilung kann jederzeit angepasst werden, wenn sich Annahmen oder Bedingungen ändern, was von einem Bediener vorgenommen werden kann. Eine solche Ausführungsform kann die Verwendung eines einzelnen CBFs für verschiedene Merkmale der Workerknoten ermöglichen. Alternativ können auch getrennte CBFs für solche verschiedenen Merkmale verwendet werden, was eine noch differenziertere Analyse der Rechenlast der Workerknoten ermöglichen kann. Daher können sich die Workerknoten WN1 353, WN2 354 auf denselben Bucket/dasselbe Merkmal des Workerknotens beziehen. Die logische „1“ für das jeweilige Datenfeld in dem Datenarray 352 wird lediglich symbolisch gezeigt. WN3 356 erstellt seine eigene Kategorie, während WN4 358 und WN 5 360 eine andere Kategorie für andere Merkmale der jeweiligen Workerknoten erstellen.
  • Wenn man alle Werte in dem Datensatz (z.B. sechs für das Datenarray 302 und sechs für den Datensatz/das Datenarray 352) aufsummiert, wird ein Hinweis auf den Allgemeinzustand des Datenverarbeitungssystems/der Datenverarbeitungssysteme, das/die die Workerknoten hostet/hosten, gegeben. Insbesondere im Falle des Datensatzes 352 des CBFs können nur ausgewählte Sätze der Datenfelder aufsummiert werden, um nur bestimmte Merkmale zu analysieren, die durch das Feld in den Arrays/dem Datensatz dargestellt werden.
  • 4 stellt symbolisch eine Ausführungsform 400 von Aspekten der Funktionsweise des Überwachungsvorhersageagenten dar. Als Eingabe in den Addierer 408 werden ein Sollwert 402 sowie eine gemessene zeitabhängige Speicherbelegung MC(t) 404 verwendet. Die Proportional-Komponente P, die Integral-Komponente I und die Differential-Komponente D des PID-Filters ermitteln bestimmte Werte, die durch einen Addierer 410 addiert werden, um einen korrigierten und vorhergesagten Speicherbelegungswert 406 auszugeben.
  • Der korrigierte Speicherbelegungswert 406 ist in einem Schaubild 412 in einer zeitabhängigen Weise gezeigt. Die Werte zwischen einer Linie 416 des oberen Schwellenwerts und einer Linie 414 des unteren Schwellenwerts erzeugen eine logische „0“ für den binären Allgemeinzustandswert des jeweiligen Workerknotens, wobei ein zu hoher korrigierter Speicherbelegungswert 406 (über der Linie 416 des oberen Schwellenwerts) oder ein zu niedriger korrigierter Speicherbelegungswert 406 (unter der Linie 414 des unteren Schwellenwerts) eine logische „1“ als binären Allgemeinzustandswert des jeweiligen Workerknotens erzeugt.
  • 5 stellt einen Ablaufplan einer beispielhaften Ausführung als eine Ausführungsform 500 des gesamten Verfahrens gemäß Ausführungsformen der vorliegenden Erfindung dar. Zum Zweck der Erklärung kann die in 5 beschriebene Ausführungsform 500 in einem oder mehreren der Schaubilder und Systeme, die in dem System dargestellt sind, das in 2 (z.B. unter Verwendung von einer oder mehreren Komponenten der Architektur 200), 4 (z.B. unter Verwendung der Ausführungsform 400 von Aspekten der Funktionsweise des Überwachungsvorhersageagenten), 7 (z.B. unter Verwendung von einer oder mehreren Komponenten des Blockschaubilds einer Ausführungsform des erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems 700) und 8 (z.B. unter Verwendung des Datenverarbeitungssystems 800) veranschaulicht ist, ausgeführt werden. In einer beispielhaften Ausführungsform können eine oder mehrere Komponenten der Architektur 200, wie beispielsweise der Vitalitätsverwaltungsagent 214, die Verarbeitungsschritte der Ausführungsform 500 durchführen. In einer weiteren beispielhaften Ausführungsform können eine oder mehrere Komponenten des Blockschaubilds einer Ausführungsform des erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems 700 die Verarbeitungsschritte der Ausführungsform 500 durchführen. Alternativ ist die Ausführung der Ausführungsform 500 nicht auf diese Ausführung beschränkt.
  • Zunächst, im Schritt 502, initialisiert die Ausführungsform 500 die Überwachungsagenten. Es sei darauf hingewiesen, dass sich der hier gezeigte Ablaufplan auch auf die vorstehend erläuterte Architektur von beteiligten Komponenten für das vorgeschlagene Konzept bezieht (vergleiche 2). Als Nächstes, im Schritt 504, umfasst die Ausführungsform 500 ein Senden einer Maßnahme „Initialisiere Überwachung“, die durch den Vitalitätsverwaltungsagenten erzeugt wird, bei der die Ausführungsform 500 auch den CBF initialisieren kann (in einem Schritt 506).
  • In einem nächsten und zyklischen Schritt (Schritt 508) verwendet die Ausführungsform 500 die Überwachungsvorhersageagenten, um Allgemeinzustandswerte mit einer Push-Operation an das Netzwerk (d.h. an den Vitalitätsverwaltungsagenten) zu übertragen. Dann wiederum umfasst die Ausführungsform 500 (im Schritt 510) ein Empfangen der Allgemeinzustandswerte. Dabei aktualisiert die Ausführungsform 500 im Schritt 512 den CBF. Des Weiteren können die Statusse des CBFs auch regelmäßig, ereignisbasiert gespeichert und/oder optional zurückgesetzt werden.
  • Dann, im Schritt 514, umfasst die Ausführungsform 500 ein Lesen der CBF-Statusse und Trend-Momentaufnahmen und ein Hinzufügen der neuen Trend-Momentaufnahmen (im Schritt 516). Das Lesen bildet die Grundlage für das Feststellen (im Schritt 518) von korrektiven Maßnahmen für alle oder einen Teil der Workerknoten des Datenverarbeitungssystems und auch für ein an ein weiteres Systemverwaltungssystem (nicht gezeigt) gerichtetes Empfehlen (im Schritt 520) der korrektiven Maßnahmen. In einer einzelnen Ausführungsform umfasst die Ausführungsform 500 auch, dass dem Vitalitätsüberwachungsagenten ermöglicht wird, die Infrastrukturtechnik (im Schritt 522) anonym zu ändern und möglicherweise Arbeitslasten (d.h. Workerknoten) von einem System zu einem anderen zu verschieben.
  • 6 stellt ein Blockschaubild 600 einer beispielhaften Ausführung einer Ausführungsform des Vorhersageaspekts des vorgeschlagenen Konzepts gemäß Ausführungsformen der vorliegenden Erfindung dar. Zum Zweck der Erklärung kann der in 6 beschriebene Ablaufplan 600 in einem oder mehreren der Schaubilder und Systeme, die in dem System dargestellt sind, das in 2 (z.B. unter Verwendung von einer oder mehreren Komponenten der Architektur 200), 4 (z.B. unter Verwendung der Ausführungsform 400 von Aspekten der Funktionsweise des Überwachungsvorhersageagenten), 7 (z.B. unter Verwendung von einer oder mehreren Komponenten des Blockschaubilds einer Ausführungsform des erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems 700) und 8 (z.B. unter Verwendung des Datenverarbeitungssystems 800) veranschaulicht ist, ausgeführt werden. In einer beispielhaften Ausführungsform können eine oder mehrere Komponenten der Architektur 200, wie beispielsweise der Vitalitätsverwaltungsagent 214, die Verarbeitungsschritte des Ablaufplans 600 durchführen. In einer weiteren beispielhaften Ausführungsform können eine oder mehrere Komponenten des Blockschaubilds einer Ausführungsform des erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems 700 die Verarbeitungsschritte des Ablaufplans 600 durchführen. Alternativ ist die Ausführung des Ablaufplans 600 nicht auf diese Ausführung beschränkt.
  • In dem dargestellten Beispiel beginnt der Ablaufplan 600 (im Schritt 602) mit dem Lesen der aktuellsten CBF-Datensätze und der Trend-Momentaufnahmen für einen gewählten Zeitrahmen durch den Trendberechnungsagenten (vergleiche 2). Dann (im Schritt 604) berechnet der Trendberechnungsagent die Geschwindigkeit, mit der die Anzahl der Agenten, die gefährdete Statusse melden, d.h. Werte >= (größer oder gleich) „1“ in den Trend-Momentaufnahmen, zunimmt oder abnimmt.
  • Im Schritt 606 umfasst der Ablaufplan 600 ein Verwenden des Trendberechnungsagenten, um die Anzahl der Werte, die größer oder gleich „1“ sind, in dem aktuellsten CBS-Datensatz mit einem für das System definierten Aufmerksamkeits- und einem Gefahrenschwellenwert zu vergleichen. Wenn Ausführungsformen der vorliegenden Erfindung feststellen, dass der Gefahrenschwellenwert überschritten wird, verwendet der Ablaufplan 600 im Schritt 608 den Trendberechnungsagenten, um eine Infrastruktureinsatzmaßnahme an den Vitalitätsverwaltungsagenten zu senden. Im Gegensatz dazu, in der Aufmerksamkeitszone, verwendet der Ablaufplan 600, wenn die berechnete Geschwindigkeit zunimmt, den Trendberechnungsagenten, um (im Schritt 610) die Arbeitslast-Verschiebenachricht an den Vitalitätsverwaltungsagenten zu senden. Unterhalb des Aufmerksamkeitsschwellenwerts, wenn die berechnete Geschwindigkeit abnimmt, verwendet der Ablaufplan 600 den Trendberechnungsagenten, um (im Schritt 612) eine Infrastrukturstilllegungsnachricht an das Vitalitätsverwaltungssystem zu senden.
  • 7 stellt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen Datenverarbeitungsinfrastruktur-Überwachungssystems 700 gemäß Ausführungsformen der vorliegenden Erfindung dar. Wobei das System 700 zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems eine Mehrzahl von Workerknoten aufweist. Wobei das System 700 mindestens einen Hauptspeicher 704 aufweist, der per Datenaustausch mit einem Prozessor 702 verbunden ist, wobei der Hauptspeicher Teile von Programmcode speichert, die, wenn sie in den Prozessor 702 geladen und durch diesen ausgeführt werden, es dem Prozessor 702 ermöglichen, an einem Vitalitätsverwaltungsagenten (insbesondere durch einen Empfänger 706 als Teil des Vitalitätsverwaltungssystems) einen binären Allgemeinzustandswert mit jeweiligen Identitätsinformationen von jedem der Mehrzahl von Workerknoten zu empfangen. Ausführungsformen der vorliegenden Erfindung können betrieben werden, um den einzelnen binären Allgemeinzustandswert (z.B. unter Verwendung eines jeweiligen Allgemeinzustandswert-Generators 708) für jeden der Mehrzahl von Workerknoten durch einen jeweiligen Überwachungsvorhersageagenten, der in jedem der Mehrzahl von Workerknoten eingesetzt wird, durch eine zeitabhängige Funktion von Leistungsmessdatenwerten des jeweiligen Workerknotens festzustellen, deren Ergebnis (z.B. durch eine Vergleichseinheit 710) mit einem vordefinierten, konfigurierbaren oberen Schwellenwert und einem konfigurierbaren unteren Schwellenwert, der für jeden der Workerknoten spezifisch ist, verglichen wird. Zudem wird dem Prozessor 702 auch ermöglicht, die empfangenen Identitätsinformationen eines jeden der Mehrzahl von Workerknoten an dem Vitalitätsverwaltungsagenten Hashfunktionen eines Counting-Bloom-Filters zuzuführen (alternativ unter Verwendung eines Hash-Zuführungsmoduls, wie beispielsweise einer Zuführungseinheit 712) und dabei einen Datensatz zu erzeugen, der ein Hinweis auf den Allgemeinzustand des Datenverarbeitungssystems (nicht gezeigt) ist.
  • Es sei darauf hingewiesen, dass der Empfänger 706 und die Zuführungseinheit 712 Teil eines jeweiligen Vitalitätsverwaltungsagentensystems sein können, wohingegen der Allgemeinzustandswert-Generator 708 und die Vergleichseinheit 710 Teil von einem der Workerknoten (nicht gezeigt) sein können. Die verschiedenen Module und Einheiten - insbesondere der Prozessor 702, die Hauptspeicher 704, der Empfänger 706, der Allgemeinzustandswert-Generator 708, die Vergleichseinheit 710 und die Zuführungseinheit 712 - sind elektrisch miteinander verbunden, um elektrische Signale und/oder Daten auszutauschen. Die Verbindung kann entweder unter Verwendung eines internen Bussystems 714 des Systems oder alternativ unter Verwendung von Netzwerkverbindungen ausgeführt sein.
  • Bevor wir uns 8 zuwenden, sei auf 9 verwiesen, die eine Ausführungsform einer Cloud-Computing-Infrastruktur zeigt, in der das vorgeschlagene Konzept vorteilhaft ausgeführt werden kann.
  • Bevor wir uns 8 zuwenden, wird 9 beschrieben, die eine Cloud-Computing-Umgebung 900 darstellt, in der mindestens Teile des erfindungsgemäßen Konzepts eingesetzt werden können. Ein Satz von funktionalen, durch die Cloud-Computing-Umgebung bereitgestellten Abstraktionsschichten ist gezeigt. Es sollte von vornherein klar sein, dass die in 9 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt: Eine Hardware- und Softwareschicht 902 umfasst Hardware- und Softwarekomponenten. Zu Beispielen für Hardwarekomponenten gehören: Mainframe-Computer 904; Server 906; auf der RISC-(Reduced-Instruction-Set-Computer-)Architektur beruhende Server 908; Blade-Server 910; Speichereinheiten 912; Netzwerke sowie Netzwerkkomponenten 914. In einigen Ausführungsformen umfassen Softwarekomponenten eine Netzwerk-Anwendungsserver-Software 916 und/oder eine Datenbanksoftware 918.
  • Eine Virtualisierungsschicht 920 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 922; virtueller Speicher 924; virtuelle Netzwerke 926, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 928; und virtuelle Clients 930. In einem Beispiel kann eine Verwaltungsschicht 932 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 934 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 936 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 938 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 940 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 942 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 944 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 946; Software-Entwicklung und Lebenszyklusverwaltung 948; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 950; Datenanalytikverarbeitung 952; Transaktionsverarbeitung 954; und symbolisch das Datenverarbeitungsinfrastruktur-Überwachungssystem 956 (vergleiche 7, 700).
  • Ausführungsformen der Erfindung können zusammen mit praktisch jeder Art von Computer, ungeachtet der zur Speicherung und/oder Ausführung von Programmcode geeigneten Plattform, umgesetzt werden. 8 stellt als Beispiel ein Datenverarbeitungssystem 800 dar, das zum Ausführen von Programmcode im Zusammenhang mit dem vorgeschlagenen Verfahren (z.B. als Teil eines Workerknotens), dem Vitalitätsüberwachungsagenten und/oder dem Trendberechnungsagenten geeignet ist.
  • Das Datenverarbeitungssystem 800 ist lediglich ein Beispiel eines geeigneten Computersystems und sollte ungeachtet dessen, ob das Computersystem 800 ausführungsfähig und/oder in der Lage ist, jedwede der vorstehend dargelegten Funktionalität durchzuführen, nicht als Hinweis auf eine Einschränkung hinsichtlich des Nutzungsumfangs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung verstanden werden. In dem Computersystem 800 gibt es Komponenten, die mit zahlreichen anderen Universal- oder Spezialdatenverarbeitungssystemumgebungen oder -konfigurationen betrieben werden können. Zu Beispielen für hinlänglich bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die gegebenenfalls zur Verwendung mit dem Computersystem/Server 800 geeignet sind, gehören, ohne darauf beschränkt zu sein, Personal-Computer-Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Mehrprozessorsysteme, auf einem Mikroprozessor beruhende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der vorstehenden Systeme oder Einheiten umfassen, und dergleichen. Das Computersystem/der Server 800 kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen, wie zum Beispiel Programmmodulen, die durch ein Computersystem 800 ausgeführt werden, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter umfassen, die bestimmte Tasks durchführen oder bestimmte abstrakte Datentypen ausführen. Das Computersystem/der Server 800 kann in verteilten Cloud-Computing-Umgebungen in die Praxis umgesetzt werden, in denen Tasks durch ferne Verarbeitungseinheiten durchgeführt werden, die durch ein Übertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Speichermedien eines Computersystems, zu denen auch Hauptspeichereinheiten gehören, befinden.
  • Wie in der Figur gezeigt ist, ist das Computersystem/der Server 800 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/Servers 800 können, ohne darauf beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 802, ein Systemspeicher 804 und ein Bus 806 gehören, die verschiedene Systemkomponenten, darunter den Systemspeicher 804, mit den Verarbeitungseinheiten 802 verbinden. Der Bus 806 stellt eine oder mehrere von beliebigen Busstrukturen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder einen Speichercontroller, einen peripheren Bus, einen Accelerated Graphics Port und einen Prozessor- oder lokalen Bus, der beliebige einer Vielfalt an Busarchitekturen verwendet. Beispielhaft und nicht einschränkend gehören zu diesen Architekturen ein Industry-Standard-Architecture-(ISA-)Bus, ein Micro-Channel-Architecture-(MCA-)Bus, ein Enhanced-ISA-(EISA-)Bus, ein lokaler Video-Electronics-Standards-Association-(VESA-)Bus und ein Peripheral-Component-Interconnects-(PCI-)Bus. Das Computersystem/der Server 800 umfasst üblicherweise eine Vielfalt an durch ein Computersystem lesbaren Datenträgern. Bei diesen Datenträgern kann es sich um jedwede verfügbaren Datenträger handeln, auf die durch das Computersystem/den Server 800 zugegriffen werden kann, und zu ihnen gehören sowohl flüchtige und nicht flüchtige als auch austauschbare und nicht austauschbare Datenträger.
  • Der Systemspeicher 804 kann durch ein Computersystem lesbare Datenträger in Form von flüchtigem Speicher, wie beispielsweise einen Direktzugriffsspeicher (RAM) 808 und/oder einen Cache 810, umfassen. Das Computersystem/der Server 800 kann des Weiteren weitere auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems umfassen. Lediglich beispielhaft kann ein Speichersystem 812 für das Lesen von und das Schreiben auf einen nicht austauschbaren, nicht flüchtigen Magnetdatenträger (nicht gezeigt und üblicherweise als „Festplattenlaufwerk“ bezeichnet) bereitgestellt werden. Obgleich nicht gezeigt, können ein Magnetplattenlaufwerk für das Lesen von und das Schreiben auf eine austauschbare, nicht flüchtige Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk für das Lesen von oder das Schreiben auf eine austauschbare, nicht flüchtige optische Platte, wie beispielsweise ein CD-ROM, DVD-ROM oder andere optische Datenträger, bereitgestellt sein. In diesen Fällen kann jedes Laufwerk durch eine oder mehrere Datenträgerschnittstellen mit dem Bus 806 verbunden sein. Wie weiter dargestellt und nachstehend beschrieben wird, kann der Hauptspeicher 804 mindestens ein Programmprodukt umfassen, das über einen Satz (z.B. zumindest einen) von Programmmodulen verfügt, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Das Programm/Dienstprogramm, das über einen Satz (zumindest einen) von Programmmodulen 816 verfügt, kann beispielhaft, und nicht als Einschränkung, im Hauptspeicher 804 gespeichert sein, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Die Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination daraus können jeweils eine Ausführung einer Netzwerkumgebung umfassen. Die Programmmodule 816 führen im Allgemeinen die Funktionen und/oder die Vorgehensweisen von Ausführungsformen der Erfindung aus, die hierin beschrieben sind.
  • Das Computersystem/der Server 800 kann auch mit einer oder mehreren externen Einheiten 818 wie beispielsweise einer Tastatur, einer Zeigereinheit, einem Bildschirm 820 usw.; mit einer oder mehreren Einheiten, die es einem Benutzer ermöglicht/ermöglichen, mit dem Computersystem/Server 800 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die dem Computersystem/Server 800 einen Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen, Daten austauschen. Ein solcher Datenaustausch kann über Eingabe-/Ausgabe-(E/A-)Schnittstellen 814 erfolgen. Dennoch kann das Computersystem/der Server 800 mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netz (z.B. dem Internet) über einen Netzwerkadapter 822 Daten austauschen. Wie dargestellt ist, kann der Netzwerkadapter 822 mit den anderen Komponenten des Computersystems/Servers 800 über den Bus 806 Daten austauschen. Es sollte klar sein, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 800 verwendet werden könnten, obgleich diese nicht gezeigt sind. Zu Beispielen gehören, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Plattenlaufwerken, RAID-Systeme, Bandlaufwerke sowie Speichersysteme zur Datenarchivierung usw.
  • Zudem kann das Datenverarbeitungsinfrastruktur-Überwachungssystem 700 zum Überwachen eines Allgemeinzustands eines Datenverarbeitungssystems, das eine Mehrzahl von Workerknoten aufweist, an den Bus 806 angeschlossen sein. Dieser Anschluss kann symbolisch verstanden werden.
  • Die hierin beschriebenen Programme werden auf der Grundlage der Anwendung angegeben, für die sie in einer bestimmten Ausführungsform der Erfindung ausgeführt werden. Es ist jedoch darauf hinzuweisen, dass jedwede bestimmte Programm-Nomenklatur hierin lediglich aus Gründen der Zweckmäßigkeit verwendet wird, und somit sollte die Erfindung nicht auf eine ausschließliche Verwendung in einer bestimmten Anwendung, die von dieser Nomenklatur angegeben und/oder durch diese Nomenklatur stillschweigend vorausgesetzt wird, beschränkt werden.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen Integrationsstufe technischer Details handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übermittelte elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, zustandssetzende Daten, Konfigurationsdaten für eine integrierte Schaltung oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können 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 fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch einen beliebigen Typ Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in den Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der festgelegten logischen Funktion(en) aufweist. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit als ein Schritt durchgeführt, gleichzeitig ausgeführt, im Wesentlichen gleichzeitig ausgeführt, in einer sich teilweise oder ganz zeitlich überlappenden Weise ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zum Zweck der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang der Erfindung abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt befindlichen Technologien am besten zu erklären bzw. um anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
  • Die hierin verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben, und ist nicht als Einschränkung der Erfindung zu verstehen. In der Verwendung hierin sollen die Singular-Formen „ein“, „eine“ und „der“, „die“, „das“ auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es wird des Weiteren darauf hingewiesen, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von allen Mitteln oder Schritten plus Funktionselementen in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie im Einzelnen beansprucht sind, umfassen. Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, sie soll jedoch nicht erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt sein. Viele Modifikationen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang der Erfindung abzuweichen. Die Ausführungsformen sind gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich verschiedener Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.

Claims (20)

  1. Durch einen Computer ausgeführtes Verfahren, das umfasst: Einsetzen, durch einen oder mehrere Computerprozessoren, eines jeweiligen Überwachungsvorhersageagenten in jedem einer Mehrzahl von Workerknoten eines Datenverarbeitungssystems; Feststellen, durch einen oder mehrere Computerprozessoren, für jeden der Mehrzahl von Workerknoten durch den jeweiligen Überwachungsvorhersageagenten, eines einzelnen binären Allgemeinzustandswerts, wobei das Feststellen von jeweiligen einzelnen binären Allgemeinzustandswerten des Weiteren aufweist: Vergleichen, durch einen oder mehrere Computerprozessoren, einer zeitabhängigen Funktion von Leistungsmessdatenwerten des jeweiligen Workerknotens mit einem vordefinierten, konfigurierbaren oberen Schwellenwert und einem konfigurierbaren unteren Schwellenwert; Empfangen, durch einen oder mehrere Computerprozessoren, der binären Allgemeinzustandswerte zusammen mit jeweiligen Identitätsinformationen von jedem der Mehrzahl von Workerknoten; und Erzeugen, durch einen oder mehrere Computerprozessoren, eines Datensatzes, der ein Hinweis auf einen Allgemeinzustand des Datenverarbeitungssystems ist, indem die empfangenen Identitätsinformationen eines jeden der Mehrzahl von Workerknoten Hashfunktionen eines Counting-Bloom-Filters zugeführt werden.
  2. Verfahren nach Anspruch 1, wobei der Leistungsmessdatenwert einer Speichernutzung des jeweiligen Workerknotens entspricht.
  3. Verfahren nach Anspruch 2, wobei das Feststellen des einzelnen binären Allgemeinzustandswerts des Weiteren aufweist: Feststellen, durch einen oder mehrere Prozessoren, einer vorhergesagten Speichernutzung unter Verwendung eines PID-(Proportional-Integral-Derivative-)Filters als Teil des Überwachungsvorhersageagenten.
  4. Verfahren nach Anspruch 1: wobei der Datensatz als ein Array mit einer vordefinierten Länge gespeichert wird, wobei ein Teil der Identitätsinformationen als Eingabe in die Hashfunktionen verwendet wird, wobei Ausgabewerte der Hashfunktionen Indexwerte zur Adressierung von Datenfeldern in dem Array sind und wobei ein jeweiliger Wert eines jeden der adressierten Datenfelder des Datensatzes als Reaktion darauf erhöht wird, dass festgestellt wird, dass der jeweilige einzelne binäre Allgemeinzustandswert logisch „1“ ist.
  5. Verfahren nach Anspruch 4, wobei eine Summe der Werte der Datenfelder in dem Array ein Hinweis auf den Allgemeinzustand des Datenverarbeitungssystems ist.
  6. Verfahren nach Anspruch 1, das des Weiteren umfasst: Erzeugen, durch einen oder mehrere Prozessoren, von Verlaufsdaten der Belastung des Datenverarbeitungssystems, indem Zeitreihen der Datensätze von Allgemeinzustandswerten in einem persistenten Speicher gespeichert werden.
  7. Verfahren nach Anspruch 6, das des Weiteren umfasst: Feststellen, durch einen oder mehrere Prozessoren, eines erwarteten Belastungswerts des Datenverarbeitungssystems auf der Grundlage der Verlaufsdaten der Belastung des Datenverarbeitungssystems für einen bestimmten zukünftigen Zeitpunkt.
  8. Verfahren nach Anspruch 7, das des Weiteren umfasst: als Reaktion auf ein Feststellen, dass der erwartete Belastungswert des Datenverarbeitungssystems einen vordefinierten Belastungswert des Datenverarbeitungssystems überschreitet, Einleiten, durch einen oder mehrere Prozessoren, einer empfohlenen korrektiven Infrastruktur- oder Auslastungsverwaltungsmaßnahme.
  9. Verfahren nach Anspruch 1, wobei ein Workerknoten aus der Gruppe ausgewählt wird, die aus einem physischen Datenverarbeitungsknoten, einer Mehrzahl von physischen Knoten, einer virtuellen Maschine, einer Mehrzahl von virtuellen Maschinen, einem Datenverarbeitungscontainer, einer Mehrzahl von Datenverarbeitungscontainern, einem Datenverarbeitungsprozess und einer Mehrzahl von Datenverarbeitungsprozessen besteht.
  10. Verfahren nach Anspruch 1, das des Weiteren umfasst: Empfangen, durch einen oder mehrere Prozessoren, des konfigurierbaren oberen Schwellenwerts und des konfigurierbaren unteren Schwellenwerts während einer Initiierung des Überwachungsvorhersageagenten.
  11. Computerprogrammprodukt, das aufweist: ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen, die auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen aufweisen: Programmanweisungen, um einen jeweiligen Überwachungsvorhersageagenten in jedem einer Mehrzahl von Workerknoten eines Datenverarbeitungssystems einzusetzen; Programmanweisungen, um für jeden der Mehrzahl von Workerknoten durch den jeweiligen Überwachungsvorhersageagenten einen einzelnen binären Allgemeinzustandswert festzustellen, wobei die Programmanweisungen, um jeweilige einzelne binäre Allgemeinzustandswerte festzustellen, des Weiteren Programmanweisungen aufweisen, um: eine zeitabhängige Funktion von Leistungsmessdatenwerten des jeweiligen Workerknotens mit einem vordefinierten, konfigurierbaren oberen Schwellenwert und einem konfigurierbaren unteren Schwellenwert zu vergleichen; Programmanweisungen, um die binären Allgemeinzustandswerte zusammen mit jeweiligen Identitätsinformationen von jedem der Mehrzahl von Workerknoten zu empfangen; und Programmanweisungen, um einen Datensatz zu erzeugen, der ein Hinweis auf einen Allgemeinzustand des Datenverarbeitungssystems ist, indem die empfangenen Identitätsinformationen eines jeden der Mehrzahl von Workerknoten Hashfunktionen eines Counting-Bloom-Filters zugeführt werden.
  12. Computerprogrammprodukt nach Anspruch 1, wobei der Leistungsmessdatenwert einer Speichernutzung des jeweiligen Workerknotens entspricht.
  13. Computerprogrammprodukt nach Anspruch 2, wobei die Programmanweisungen, um den einzelnen binären Allgemeinzustandswert festzustellen, des Weiteren Programmanweisungen aufweisen, um: eine vorhergesagte Speichernutzung unter Verwendung eines PID-(Proportional-Integral-Derivative-)Filters als Teil des Überwachungsvorhersageagenten festzustellen.
  14. Computersystem, das aufweist: einen oder mehrere Computerprozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; und auf den durch einen Computer lesbaren Speichermedien gespeicherte Programmanweisungen zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren, wobei die Programmanweisungen aufweisen: Programmanweisungen, um einen jeweiligen Überwachungsvorhersageagenten in jedem einer Mehrzahl von Workerknoten eines Datenverarbeitungssystems einzusetzen; Programmanweisungen, um für jeden der Mehrzahl von Workerknoten durch den jeweiligen Überwachungsvorhersageagenten einen einzelnen binären Allgemeinzustandswert festzustellen, wobei die Programmanweisungen, um jeweilige einzelne binäre Allgemeinzustandswerte festzustellen, des Weiteren Programmanweisungen aufweisen, um: eine zeitabhängige Funktion von Leistungsmessdatenwerten des jeweiligen Workerknotens mit einem vordefinierten, konfigurierbaren oberen Schwellenwert und einem konfigurierbaren unteren Schwellenwert zu vergleichen; Programmanweisungen, um die binären Allgemeinzustandswerte zusammen mit jeweiligen Identitätsinformationen von jedem der Mehrzahl von Workerknoten zu empfangen; und Programmanweisungen, um einen Datensatz zu erzeugen, der ein Hinweis auf einen Allgemeinzustand des Datenverarbeitungssystems ist, indem die empfangenen Identitätsinformationen eines jeden der Mehrzahl von Workerknoten Hashfunktionen eines Counting-Bloom-Filters zugeführt werden.
  15. Computersystem nach Anspruch 14, wobei der Leistungsmessdatenwert einer Speichernutzung des jeweiligen Workerknotens entspricht.
  16. Computersystem nach Anspruch 15, wobei die Programmanweisungen, um den einzelnen binären Allgemeinzustandswert festzustellen, des Weiteren Programmanweisungen aufweisen, um: eine vorhergesagte Speichernutzung unter Verwendung eines PID-(Proportional-Integral-Derivative-)Filters als Teil des Überwachungsvorhersageagenten festzustellen.
  17. Computersystem nach Anspruch 14, das des Weiteren Programmanweisungen aufweist, die auf den durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren gespeichert sind, um: Verlaufsdaten der Belastung des Datenverarbeitungssystems zu erzeugen, indem Zeitreihen der Datensätze von Allgemeinzustandswerten in einem persistenten Speicher gespeichert werden.
  18. Computersystem nach Anspruch 17, das des Weiteren Programmanweisungen aufweist, die auf den durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren gespeichert sind, um: einen erwarteten Belastungswert des Datenverarbeitungssystems auf der Grundlage der Verlaufsdaten der Belastung des Datenverarbeitungssystems für einen bestimmten zukünftigen Zeitpunkt festzustellen.
  19. Computersystem nach Anspruch 18, das des Weiteren Programmanweisungen aufweist, die auf den durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren gespeichert sind, um: als Reaktion auf das Feststellen, dass der erwartete Belastungswert des Datenverarbeitungssystems einen vordefinierten Belastungswert des Datenverarbeitungssystems überschreitet, eine empfohlene korrektive Infrastruktur- oder Auslastungsverwaltungsmaßnahme einzuleiten.
  20. Computersystem nach Anspruch 14, wobei ein Workerknoten aus der Gruppe ausgewählt wird, die aus einem physischen Datenverarbeitungsknoten, einer Mehrzahl von physischen Knoten, einer virtuellen Maschine, einer Mehrzahl von virtuellen Maschinen, einem Datenverarbeitungscontainer, einer Mehrzahl von Datenverarbeitungscontainern, einem Datenverarbeitungsprozess und einer Mehrzahl von Datenverarbeitungsprozessen besteht.
DE112022000406.1T 2021-02-09 2022-02-08 Überwachen eines allgemeinzustands eines grossen cloud-computing-systems Pending DE112022000406T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/171,380 US11803421B2 (en) 2021-02-09 2021-02-09 Monitoring health status of a large cloud computing system
US17/171,380 2021-02-09
PCT/CN2022/075497 WO2022171075A1 (en) 2021-02-09 2022-02-08 Monitoring health status of large cloud computing system

Publications (1)

Publication Number Publication Date
DE112022000406T5 true DE112022000406T5 (de) 2023-09-28

Family

ID=82703856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022000406.1T Pending DE112022000406T5 (de) 2021-02-09 2022-02-08 Überwachen eines allgemeinzustands eines grossen cloud-computing-systems

Country Status (6)

Country Link
US (1) US11803421B2 (de)
JP (1) JP2024505415A (de)
CN (1) CN116802614A (de)
DE (1) DE112022000406T5 (de)
GB (1) GB2618951A (de)
WO (1) WO2022171075A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116594795B (zh) * 2023-03-03 2024-01-26 齐鲁工业大学(山东省科学院) 面向数据中台的错误检测和修复方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738811B1 (en) 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
US20040010716A1 (en) 2002-07-11 2004-01-15 International Business Machines Corporation Apparatus and method for monitoring the health of systems management software components in an enterprise
US9172738B1 (en) 2003-05-08 2015-10-27 Dynamic Mesh Networks, Inc. Collaborative logistics ecosystem: an extensible framework for collaborative logistics
US9730100B2 (en) 2002-10-28 2017-08-08 MeshDynamics Terse message networks
US8923186B1 (en) 2003-05-08 2014-12-30 Dynamic Mesh Networks, Inc. Chirp networks
US8520979B2 (en) 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US20140132767A1 (en) 2010-07-31 2014-05-15 Eric Sonnabend Parking Information Collection System and Method
US8887006B2 (en) 2011-04-04 2014-11-11 Microsoft Corporation Proactive failure handling in database services
US9235620B2 (en) 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
US8572439B2 (en) 2011-05-04 2013-10-29 Microsoft Corporation Monitoring the health of distributed systems
US9552334B1 (en) 2011-05-10 2017-01-24 Myplanit Inc. Geotemporal web and mobile service system and methods
EP2747379B1 (de) 2012-12-19 2015-08-05 Telefonica, S.A. Verteiltes Gesundheitsüberprüfungsverfahren für Web-Caching in einem Telekommunikationsnetzwerk
CA2935813C (en) 2013-01-08 2021-12-21 Interaxon Inc. Adaptive brain training computer system and method
US9276826B1 (en) * 2013-03-22 2016-03-01 Google Inc. Combining multiple signals to determine global system state
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9338065B2 (en) 2014-01-06 2016-05-10 Cisco Technology, Inc. Predictive learning machine-based approach to detect traffic outside of service level agreements
US20150220625A1 (en) 2014-02-03 2015-08-06 Interdigital Patent Holdings, Inc. Methods and apparatus for conveying surveillance targets using bloom filters
US20170060769A1 (en) 2014-05-01 2017-03-02 Coho Data, Inc. Systems, devices and methods for generating locality-indicative data representations of data streams, and compressions thereof
US20160364812A1 (en) 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation
US11069430B2 (en) 2015-07-02 2021-07-20 ZYUS Life Sciences US Ltd. Patient state representation architectures and uses thereof
US10664837B2 (en) 2015-08-04 2020-05-26 Dynatrace Llc Method and system for real-time, load-driven multidimensional and hierarchical classification of monitored transaction executions for visualization and analysis tasks like statistical anomaly detection
US10142362B2 (en) 2016-06-02 2018-11-27 Zscaler, Inc. Cloud based systems and methods for determining security risks of users and groups
US10498605B2 (en) 2016-06-02 2019-12-03 Zscaler, Inc. Cloud based systems and methods for determining and visualizing security risks of companies, users, and groups
US20180089288A1 (en) 2016-09-26 2018-03-29 Splunk Inc. Metrics-aware user interface
US10860898B2 (en) 2016-10-16 2020-12-08 Ebay Inc. Image analysis and prediction based visual search
US10728113B2 (en) 2016-10-26 2020-07-28 Zscaler, Inc. Systems and methods for troubleshooting and performance analysis of cloud based services
US10866971B2 (en) 2017-05-22 2020-12-15 Sap Se Hash collision tables for relational operations
CN110691329B (zh) 2019-11-04 2020-12-25 北京网明电子技术有限公司 一种传感器节点监控方法及系统

Also Published As

Publication number Publication date
CN116802614A (zh) 2023-09-22
US11803421B2 (en) 2023-10-31
US20220253340A1 (en) 2022-08-11
GB202313622D0 (en) 2023-10-25
JP2024505415A (ja) 2024-02-06
GB2618951A (en) 2023-11-22
WO2022171075A1 (en) 2022-08-18

Similar Documents

Publication Publication Date Title
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112018004349T5 (de) Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen
DE112016001902T5 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE202011110892U1 (de) System von aktivem Risikomanagement, um die Wahrscheinlichkeit des Descheduling der Jobs in Computer-Clustern zu reduzieren
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE112012003505T5 (de) Automatisierte Auswahl von Funktionen zum Verringern der Speicherkapazität auf der Grundlage von Leistungsanforderungen
DE112012000444T5 (de) Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes
DE102013204186A1 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE102021109767A1 (de) Systeme und methoden zur vorausschauenden sicherheit
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112020004116T5 (de) Dynamisches abändern der parallelität einer aufgabe in einer pipeline
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE102021125182A1 (de) Gemeinsam genutzte unternehmenscloud
DE112021005586T5 (de) Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE102021130359A1 (de) Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios
DE112022002736T5 (de) Übertragen von aufgabendaten zwischen edge-einheiten beim edge computing
DE102014116744B4 (de) Management von Informationstechnologieressourcen
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE102021125019B4 (de) Orchestrierung von einheiten für das internet der dinge
DE112021005219T5 (de) Automatischer Vorhersageskalierer für eine hierarchische Datenverarbeitungsinfrastruktur

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence