DE112019002416T5 - Gleichzeitiges warten einer anzahl von datenverarbeitungsknoten durch dynamisches aktualisieren - Google Patents

Gleichzeitiges warten einer anzahl von datenverarbeitungsknoten durch dynamisches aktualisieren Download PDF

Info

Publication number
DE112019002416T5
DE112019002416T5 DE112019002416.7T DE112019002416T DE112019002416T5 DE 112019002416 T5 DE112019002416 T5 DE 112019002416T5 DE 112019002416 T DE112019002416 T DE 112019002416T DE 112019002416 T5 DE112019002416 T5 DE 112019002416T5
Authority
DE
Germany
Prior art keywords
data processing
limit number
status
updating
maintenance activity
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
DE112019002416.7T
Other languages
English (en)
Inventor
Antonio Di Cocco
Paolo Ottaviano
Pasquale Mascolo Montenero
Damiano Bassani
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 DE112019002416T5 publication Critical patent/DE112019002416T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • 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
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Es wird ein Verfahren offenbart zum Warten eines Datenverarbeitungssystems, das eine Mehrzahl von Datenverarbeitungsknoten aufweist. Das Verfahren umfasst Veranlassen eines gleichzeitigen Durchführens einer Wartungsaktivität auf einer Wartungsteilmenge der Datenverarbeitungsknoten, die eine Grenzanzahl nicht überschreitet, Überwachen einer oder mehrerer Zustandsanzeigen des Datenverarbeitungssystems während des Durchführens der Wartungsaktivität und Aktualisieren der Grenzanzahl gemäß den Zustandsanzeigen. Des Weiteren werden ein Computerprogramm und ein Computerprogrammprodukt zum Durchführen des Verfahrens offenbart. Darüber hinaus wird eine entsprechende Steuerungs-Datenverarbeitungsmaschine offenbart.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung bezieht sich auf den Bereich der Informationstechnologie. Genauer gesagt bezieht sich diese Offenbarung auf die Wartung eines Datenverarbeitungssystems.
  • Der Hintergrund der vorliegenden Offenbarung wird im Folgenden mit der Erläuterung von Techniken im Zusammenhang mit ihrem Kontext dargelegt. Doch selbst wenn sich diese Erläuterung auf Dokumente, Handlungen, Artefakte und dergleichen bezieht, bedeutet dies nicht, dass die erläuterten Techniken zum Stand der Technik gehören oder auf dem für die vorliegende Offenbarung relevanten Gebiet allgemein bekannt sind.
  • In jedem Datenverarbeitungssystem sind grundsätzlich im Laufe der Zeit Wartungsarbeiten erforderlich; so werden zum Beispiel routinemäßig Wartungsarbeiten an Softwareprogrammen durchgeführt, die auf dem Datenverarbeitungssystem ausgeführt werden, wie Installieren von Patches zur Behebung von Fehlern, Aktualisieren der Softwareprogramme zur Verbesserung ihrer Funktionsweise oder Hinzufügen neuer Funktionen.
  • Durch das Durchführen der Wartungsarbeiten kann der Betrieb des Datenverarbeitungssystems beeinträchtigt werden. So stehen die Softwareprogramme während des Durchführens der Wartungsarbeiten an dem Datenverarbeitungssystem (oder zumindest während eines Teils davon) nicht zur Verfügung. In jedem Fall verlangsamen die Wartungsaktivitäten den Betrieb des Datenverarbeitungssystems (und damit auch aller anderen darauf in Ausführung befindlichen Softwareprogramme). Darüber hinaus kann es für die Wartungsarbeiten erforderlich sein, das Datenverarbeitungssystem offline zu schalten (zum Beispiel, wenn ein erneutes Booten des Systems erforderlich ist, um die Wartungsarbeiten wirksam werden zu lassen).
  • Ein bestimmtes Szenario liegt vor, wenn das Datenverarbeitungssystem eine Mehrzahl von Datenverarbeitungsknoten aufweist, die zu seinem Betrieb beitragen (die als eine einzige logische Einrichtung fungieren und Dienste als Reaktion auf entsprechende von außen an sie gerichtete Anfragen bereitstellen). Die Datenverarbeitungsknoten können zum Beispiel in Form einer Cluster-Architektur organisiert sein, bei der das Datenverarbeitungssystem die Anfragen automatisch den Datenverarbeitungsknoten (die alle die gleichen Aufgaben erfüllen) zuweist, die für ihre Bearbeitung am besten geeignet sind. Dadurch wird eine parallele Verarbeitung und/oder hohe Verfügbarkeit des Datenverarbeitungssystems bereitgestellt. Bei einem typischen Beispiel handelt es sich bei dem Datenverarbeitungssystem um ein Cloud-Computing-System. In diesem Fall werden den entsprechenden Nutzern von Cloud-Anbietern Cloud-Dienste bereitgestellt, die auf Anfrage entsprechende Datenverarbeitungsressourcen bereitstellen, konfigurieren und freigeben (wobei die Nutzer keinen Einblick darin haben, wie die Dienste umgesetzt werden). Diese Entkoppelung der Cloud-Dienste von ihrer Umsetzung stellt die Illusion einer unendlichen Kapazität der entsprechenden Rechenressourcen bereit und verbessert deren Auslastung, insbesondere bei hohen Lastspitzen (mittels Einsparungen bei der Größenordnung); außerdem werden die Nutzer nun von der Verwaltung der Rechenressourcen entlastet und können Aufgaben ausführen (auf Pay-per-Use-Grundlage), die vorher aufgrund ihrer Kosten und Komplexität nicht durchführbar waren (insbesondere für Einzelpersonen und kleine Unternehmen).
  • In dem oben erwähnten Datenverarbeitungssystem auf der Grundlage von Datenverarbeitungsknoten kann jede Wartungsaktivität gleichzeitig auf aufeinander folgenden Teilmengen der Datenverarbeitungsknoten durchgeführt werden. Auf diese Weise bleibt das Datenverarbeitungssystem während der Wartungstätigkeit in Betrieb (wobei die Anfragen, die an das Datenverarbeitungssystem gestellt werden, von den weiterhin verfügbaren Datenverarbeitungsknoten bearbeitet werden).
  • Die verringerte Anzahl der zur Verfügung stehenden Datenverarbeitungsknoten kann jedoch zu einer Leistungseinschränkung des Datenverarbeitungssystems führen; im schlimmsten Fall kann die Leistung des Datenverarbeitungssystems so gering sein, dass es von außen als völlig unverfügbar erscheint. Es gibt mehrere Situationen, in denen dies nicht annehmbar sein kann. Ein typisches Beispiel hierfür ist, wenn für die Cloud-Dienste, die vom Datenverarbeitungssystem des Cloud-Typs bereitgestellt werden, ein vordefinierter Dienstumfang erforderlich ist; der Dienstumfang kann in Vereinbarungen zum Dienstumfang (Service Level Agreement, SLA) definiert werden, die zwischen jedem Nutzer und dem entsprechenden Cloud-Anbieter in Bezug auf eine oder mehrere Zielmaßzahlen ausgehandelt wurde, die von den Cloud-Diensten zu erfüllen sind (zum Beispiel eine maximale Reaktionszeit).
  • Darüber hinaus erhöht das schrittweise Durchführen der Wartungsaktivität an den Datenverarbeitungsknoten den Zeitaufwand, um sie im gesamten Datenverarbeitungssystem durchzuführen. Dadurch verlängert sich der Zeitraum, in dem das Datenverarbeitungssystem (d.h. die verschiedenen Instanzen desselben Softwareprogramms, die auf seinen Datenverarbeitungsknoten installiert sind) nicht durchgängig auf dem neuesten Stand ist.
  • KURZDARSTELLUNG
  • Es wird hier eine vereinfachte Kurzdarstellung der vorliegenden Offenbarung vorgelegt, um ein grundlegendes Verständnis der Offenbarung bereitzustellen; der einzige Zweck dieser Kurzdarstellung besteht jedoch darin, einige Konzepte der Offenbarung in vereinfachter Form als Vorbereitung auf ihre folgende detailliertere Beschreibung vorzustellen, und sie ist weder als eine Identifizierung ihrer Schlüsselelemente noch als eine Abgrenzung ihres Umfangs zu verstehen.
  • Allgemein ausgedrückt beruht die vorliegende Offenbarung auf der Vorstellung, eine Anzahl von Datenverarbeitungsknoten zu aktualisieren, wobei sie gleichzeitig auf dynamische Weise gewartet werden sollen.
  • Insbesondere stellt ein Aspekt ein Verfahren zur Wartung eines Datenverarbeitungssystems bereit, das eine Mehrzahl von Datenverarbeitungsknoten aufweist. Das Verfahren umfasst Veranlassen eines gleichzeitigen Durchführens einer Wartungsaktivität auf einer Wartungsteilmenge der Datenverarbeitungsknoten, die eine Grenzanzahl nicht überschreitet, Überwachen einer oder mehrerer Zustandsanzeigen des Datenverarbeitungssystems während des Durchführens der Wartungsaktivität und Aktualisieren der Grenzanzahl gemäß den Zustandsanzeigen.
  • Ein weiterer Aspekt stellt ein Computerprogramm für das Umsetzen des Verfahrens bereit.
  • Ein weiterer Aspekt stellt ein Computerprogrammprodukt für das Umsetzen des Verfahrens bereit.
  • Ein weiterer Aspekt stellt ein entsprechendes System bereit.
  • Ein weiterer Aspekt stellt eine entsprechende Steuerungs-Datenverarbeitungsmaschine bereit.
  • Genauer gesagt werden ein oder mehrere Aspekte der vorliegenden Offenbarung in den unabhängigen Ansprüchen dargelegt, und deren vorteilhafte Funktionen werden in den abhängigen Ansprüchen dargelegt, wobei die Formulierung aller Ansprüche hier wörtlich durch Verweis übernommen wird (wobei jedes vorteilhafte Merkmal unter Bezugnahme auf einen bestimmten Aspekt bereitgestellt wird, die entsprechend auf jeden anderen Aspekt anzuwenden ist).
  • Figurenliste
  • Die Lösung der vorliegenden Offenbarung sowie weitere Merkmale und deren Vorteile lassen sich am besten anhand der folgenden detaillierten Beschreibung dieser Elemente verstehen, die lediglich als nicht einschränkender Hinweis gegeben wird und in Verbindung mit den beiliegenden Zeichnungen zu lesen ist (wobei der Einfachheit halber die entsprechenden Elemente mit gleichen oder ähnlichen Verweisen gekennzeichnet werden und ihre Erklärung nicht wiederholt wird und der Name jeder Einrichtung grundsätzlich verwendet wird, um sowohl ihren Typ als auch ihre Eigenschaften wie Wert, Inhalt und Darstellung zu bezeichnen). Insbesondere:
    • 1 zeigt ein schematisches Blockschaubild einer Datenverarbeitungsinfrastruktur gemäß einer Ausführungsform der vorliegenden Offenbarung, wie sie umgesetzt werden kann.
    • 2A bis 2D zeigen die allgemeinen Grundgedanken gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 3A bis 3B zeigen ein Anwendungsbeispiel gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 4 zeigt die wichtigsten Softwarekomponenten, die gemäß einer Ausführungsform der vorliegenden Offenbarung verwendet werden können.
    • 5A bis 5B zeigen einen Aktivitätsablaufplan, der den Fluss der Aktivitäten im Zusammenhang mit einer Umsetzung gemäß einer Ausführungsform der vorliegenden Offenbarung beschreibt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine der Möglichkeiten, wie einige Ausführungsformen der vorliegenden Erfindung eine technologische Verbesserung darstellen können, besteht darin, dass sie eine Überwachung und Verbesserungsmaßnahmen für eine Cloud-Infrastruktur auf kognitive Weise bereitstellen, indem sie in Echtzeit die Parameter ändern, die den Status einer virtuellen Umgebung definieren. Einige Ausführungsformen der vorliegenden Offenbarung stellen möglicherweise eine spezifische Verbesserung der Datenverarbeitungsmöglichkeiten dar und nicht nur eine Vorstellung, bei der Computer lediglich als Werkzeug eingesetzt werden, weil das System aktiv und kontinuierlich als künstliche Intelligenz lernt, um jeden Parameter sicher zu aktualisieren und einen optimalen Betrieb sicherzustellen.
  • Insbesondere unter Bezugnahme auf 1 wird ein schematisches Blockschaubild einer Datenverarbeitungsinfrastruktur 100 gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gezeigt, wie sie umgesetzt werden kann.
  • Die Datenverarbeitungsinfrastruktur 100 weist einen oder mehrere Cloud-Anbieter 105 auf (nur einen in der Figur dargestellt). Bei jedem Cloud-Anbieter 105 handelt es sich um eine Einrichtung, die einen Pool von Datenverarbeitungsressourcen als Cloud-Dienste bereitstellt (d.h. gemeinsam genutzte Datenverarbeitungsressourcen, die sehr schnell bereitgestellt, konfiguriert und freigegeben werden können); die Datenverarbeitungsressourcen der Cloud-Dienste (grundsätzlich virtueller Art, d.h. Emulationen von physischen Datenverarbeitungsressourcen durch Software) werden den Nutzern des Cloud-Anbieters 105 auf Anfrage bereitgestellt, so dass jeder Nutzer die alleinige Kontrolle über diese Datenverarbeitungsressourcen hat (die dann genau so genutzt werden können, als wären sie fest zugeordnete physische Datenverarbeitungsressourcen). Die Cloud-Dienste können gemäß verschiedener Servicemodelle bereitgestellt werden, insbesondere Infrastructure as a Service oder laaS (Bereitstellen von Datenverarbeitungsressourcen mit entsprechender Speicher- und Verwaltungssoftware, wie virtuelle Maschinen, virtuelle Festplatten mit Firewalls, Lastenausgleichssoftware), Platform as a Service oder PaaS (Bereitstellen von Softwareplattformen, wie Datenbanken, Webserver), Software as a Service oder SaaS (Bereitstellen von Softwareanwendungen, wie CAD-Software, Office-Pakete) und Network as a Service oder NaaS (Bereitstellen von Verbindungsdiensten wie VPNs, IP-Adressen). Darüber hinaus können die Cloud-Dienste gemäß verschiedener Einsatzmodelle bereitgestellt werden, insbesondere als Public Cloud (d. h. für die Allgemeinheit), Private Cloud (d. h. für eine einzelne Organisation), Community Cloud (d. h. für mehrere Organisationen) oder Hybrid Cloud (auf der Grundlage von einer Kombination verschiedener Einsatzmodelle).
  • Die Nutzer stellen über ein (Übertragungs-) Netzwerk 115 eine Verbindung zum Cloud-Anbieter 105 her, und zwar mithilfe entsprechender Client-Datenverarbeitungsmaschinen oder einfach Clients 110 (zum Beispiel vom Typ Thin); bei dem Netzwerk 115 kann es sich zum Beispiel um das Internet für eine Public/Community Cloud oder ein LAN für eine Private Cloud handeln. Zu diesem Zweck stellt der Cloud-Anbieter 105 eine Front-End-Komponente für den Zugriff auf die Cloud bereit (zum Beispiel über einen Webbrowser auf den Clients 110); die Front-End-Komponente bildet eine Schnittstelle zu einer Back-End-Komponente, die die Cloud-Dienste tatsächlich umsetzt (wobei die Back-End-Komponente von außen nicht zugänglich ist, so dass die Nutzer hinsichtlich ihres Standorts und ihrer Konfiguration völlig unwissend sind).
  • Die Cloud-Dienste werden von einem Cluster (oder mehreren) von Datenverarbeitungsknoten 120 bereitgestellt, zum Beispiel von virtuellen Maschinen (die als eine einzige logische Einrichtung mit allen Datenverarbeitungsknoten 120 fungieren, die die gleichen Aufgaben ausführen). In der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung weist der Cloud-Anbieter 105 ferner eine Steuerungs-Datenverarbeitungsmaschine oder einfach Steuerungsmaschine 125 auf (zum Beispiel eine weitere virtuelle Maschine), die die Wartung der Datenverarbeitungsknoten 120 steuert.
  • Die Datenverarbeitungsknoten 120 und die Steuerungsmaschine 125 werden durch ein Datenverarbeitungssystem des Cloud-Anbieters 105 umgesetzt, das aus einer oder mehreren Serverfarmen 130 besteht. Jede Serverfarm 130 weist mehrere Server-Datenverarbeitungsmaschinen oder einfach Server 135 auf (zum Beispiel vom Typ Rack oder Blade) und Speicherplatten 140 (zum Beispiel vom Typ RAID), die Massenspeicher davon umsetzen; jeder Server 135 wiederum weist einen oder mehrere Mikroprozessoren (µP) auf, die seinen Betrieb steuern, einen nichtflüchtigen Speicher (ROM), der Basiscode für einen Bootstrap davon speichert, und einen flüchtigen Speicher (RAM), der von den Mikroprozessoren als Arbeitsspeicher verwendet wird (in der Figur nicht dargestellt). Die Serverfarm 130 weist auch eine Konsole 145 für ihre Steuerung auf (zum Beispiel einen Personal Computer, der außerdem mit einem Laufwerk zum Lesen/Schreiben von wechselbaren Speichereinheiten 150 ausgestattet ist, z.B. optische Platten wie DVDs. Ein Vermittlungsstellen-/Router-Teilsystem 155 verwaltet den gesamten Datenaustausch zwischen den Servern 135, den Platten 140 und der Konsole 145 sowie mit dem Netzwerk 115; zu diesem Zweck sind die Server 135, die Platten 140 und die Konsole 145 über ein Verkabelungs-Teilsystem 160 mit dem Vermittlungsstellen-/Router-Teilsystem 155 (über entsprechende Netzwerkadapter) verbunden.
  • Unter Bezugnahme auf 2A bis 2D werden nun die allgemeinen Grundgedanken gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gezeigt.
  • Beginnend mit 2A ist eine Wartungsaktivität auf den Datenverarbeitungsknoten 120 durchzuführen (zum Beispiel um entsprechende Instanzen eines auf ihnen installierten gleichen Softwareprogramms zu korrigieren oder zu aktualisieren). Die Wartungsaktivität wird gleichzeitig auf aufeinanderfolgenden (Wartungs-) Teilmengen der Datenverarbeitungsknoten 120 durchgeführt. Zu diesem Zweck wird zu Beginn eine Grenzanzahl der Datenverarbeitungsknoten 120 (auf denen die Wartungsaktivität höchstens gleichzeitig durchgeführt werden darf) auf einen vordefinierten Wert gesetzt. Die Wartungsaktivität wird dann gleichzeitig (von der Steuerungsmaschine 125) auf einer (aktuellen) Wartungsteilmenge 205 der Datenverarbeitungsknoten 120 durchgeführt; die Wartungsteilmenge 205 hat eine Kardinalität, die die Grenzanzahl nicht überschreitet (d.h. ihr so weit wie möglich entspricht).
  • In 2B werden gemäß einer Ausführungsform der vorliegenden Offenbarung ein oder mehrere Zustandsanzeigen überwacht. Die Zustandsanzeigen zeigen einen Zustand des Datenverarbeitungssystems des Cloud-Anbieters (in dem die Datenverarbeitungsknoten 120 umgesetzt sind) während des Durchführens der Wartungstätigkeit an; so stellen die Zustandsanzeigen zum Beispiel die Leistung des Datenverarbeitungssystems in Bezug auf seine Datenverarbeitungsknoten 120, die auf den Datenverarbeitungsknoten 120 ausgeführten Softwareprogramme und die Systeminfrastrukturen des Datenverarbeitungssystems dar.
  • In 2C wird die Grenzanzahl gemäß den Zustandsanzeigen aktualisiert. Zum Beispiel wird die Grenzanzahl so weit wie möglich erhöht, wenn die Zustandsanzeigen anzeigen, dass die Leistung des Datenverarbeitungssystems den Anforderungen entspricht, und sie wird verringert, wenn die Zustandsanzeigen anzeigen, dass die Leistung des Datenverarbeitungssystems zu gering ist.
  • In 2D wird die Wartungsteilmenge 205 so aktualisiert, dass ihre Kardinalität die (aktualisierte) Grenzanzahl nicht überschreitet. Wenn die Grenzanzahl zum Beispiel verringert wurde, wird die Wartungsaktivität auf keinem weiteren Datenverarbeitungsknoten 120 durchgeführt, bis die Kardinalität der Wartungsteilmenge 205 nach Durchführen der Wartungsaktivität auf einem oder mehreren Datenverarbeitungsknoten 120 die Grenzanzahl erreicht hat (wie in der Figur dargestellt); wenn umgekehrt die Grenzanzahl erhöht wurde, wird die Wartungsaktivität auf einem oder mehreren weiteren Datenverarbeitungsknoten 120 durchgeführt, bis die Kardinalität der Wartungsteilmenge 205 die Grenzanzahl so weit wie möglich erreicht hat (in der Figur nicht dargestellt).
  • Dieselben Operationen werden kontinuierlich wiederholt, bis die Wartungsaktivität auf allen Datenverarbeitungsknoten 120 durchgeführt wurde.
  • Auf diese Weise passt sich die Anzahl der Datenverarbeitungsknoten 120, auf denen die Wartungsaktivität gleichzeitig durchgeführt wird, dynamisch an den Zustand des Datenverarbeitungssystems an.
  • Insbesondere stellt die Anzahl von weiterhin verfügbaren Datenverarbeitungsknoten 120 ein annehmbares Leistungsniveau des Datenverarbeitungssystems sicher (wodurch Ausfallzeiten des Datenverarbeitungssystems so weit wie möglich vermieden werden). Insbesondere ist es auf diese Weise möglich, einen Dienstumfang des Datenverarbeitungssystems aufrechtzuerhalten, der von jedem anwendbaren SLA vorgegeben wird (wie eine maximale Reaktionszeit des Datenverarbeitungssystems).
  • Gleichzeitig wird der für das Durchführen der Wartungsaktivität für das gesamte Datenverarbeitungssystem erforderliche Zeitraum verkürzt (sowie dann der Zeitraum, in der die verschiedenen Instanzen desselben Softwareprogramms nicht durchgängig auf dem neuesten Stand sind).
  • Dadurch erfolgt das Durchführen der Wartungstätigkeit im Datenverarbeitungssystem so schnell wie möglich, ohne den Betrieb wesentlich zu beeinträchtigen.
  • Unter Bezugnahme auf 3A bis 3B wird nun ein Beispiel für eine Anwendung der vorliegenden Offenbarung gemäß einer beispielhaften Ausführungsform gezeigt.
  • Beginnend mit 3A wird ein sehr einfaches Szenario betrachtet mit nur drei Zustandsanzeigen, die mit S1, S2 und S3 gekennzeichnet sind (zum Beispiel S1 für die Datenverarbeitungsknoten, S2 für die Softwareprogramme und S3 für die Systeminfrastrukturen in ansteigender Reihenfolge ihrer Leistung). Die Zustandsanzeigen S1 bis S3 werden wiederholt in einem Referenzzustand gemessen, in dem sich das Datenverarbeitungssystem im Normalbetrieb befindet, ohne dass eine Wartungstätigkeit durchgeführt wird. Die (gemessenen) Werte der Zustandsanzeigen S1 bis S3, die in dem Referenzzustand gemessen wurden, können in einem (3-dimensionalen) Streudiagramm dargestellt werden, in dem die gemessenen Werte auf den entsprechenden kartesischen Achsen mit den entsprechenden (gemessenen) Punkten 305 abgebildet werden. Die gemessenen Punkte 305 werden durch eine Referenzfläche 310 eingepasst, die dann repräsentativ für den Referenzzustand des Datenverarbeitungssystems ist.
  • In 3B wird im gleichen Streudiagramm ein Referenzbereich 315 etwas innerhalb der Referenzfläche 310 und in jedem Fall außerhalb dieser definiert. Der Referenzbereich 315 weist dann die Punkte auf (definiert durch entsprechende Werte der Zustandsanzeigen S1 bis S3), an denen die Leistung des Datenverarbeitungssystems den Anforderungen entspricht (da höchstens geringfügig niedriger als im Referenzzustand). Darüber hinaus wird innerhalb des Referenzbereichs 315 ein Niedrigleistungsbereich 320 definiert. Der Niedrigleistungsbereich 320 weist dann die Punkte auf, an denen die Leistung des Datenverarbeitungssystems zu gering ist (da sie deutlich unter der Leistung des Referenzzustandes liegt). Innerhalb des Niedrigleistungsbereichs 320 wird wiederum ein Schlechtleistungsbereich 325 definiert. Der Schlechtleistungsbereich 325 weist dann die Punkte auf, an denen die Leistung des Datenverarbeitungssystems als unannehmbar schlecht einzustufen ist (da sie zu weit unter der Leistung des Referenzzustandes liegt).
  • Die (überwachten) Werte der Zustandsanzeigen S1 bis S3, die bei dem Durchführen einer Wartungsaktivität angezeigt werden, werden in demselben Streudiagramm mit entsprechenden (überwachten) Punkten dargestellt, die dann repräsentativ für den aktuellen Zustand des Datenverarbeitungssystems sind. Die Grenzanzahl kann gemäß einer Position der überwachten Punkte in Bezug auf die Referenzfläche 310 aktualisiert werden, und insbesondere gemäß ihrem Abstand von der Referenzfläche 310, wie durch die (Referenz-/ Niedrigleistungs-/Schlechtleistungs-) Bereiche 315 bis 325 definiert, und gemäß einem Gradienten der überwachten Punkte im zeitlichen Verlauf. Zum Beispiel befindet sich zu einem Zeitpunkt t1 ein überwachter Punkt P1 innerhalb des Referenzbereichs 315. Zu einem nächsten Zeitpunkt t2 befindet sich ein überwachter Punkt P2 immer noch innerhalb des Referenzbereichs 315 in der Nähe des Punktes P1; in diesem Fall wird die Grenzanzahl erhöht (da ihr höchstmöglicher Wert wahrscheinlich noch nicht erreicht ist, und dann könnte die Grenzanzahl erneut erhöht werden, ohne die Leistung des Datenverarbeitungssystems nachteilig zu beeinflussen). Zu einem nächsten Zeitpunkt t3 befindet sich ein überwachter Punkt P3 immer noch innerhalb des Referenzbereichs 315 in der Nähe des Punktes P2; in diesem Fall wird die Grenzanzahl wieder erhöht. Zu einem nächsten Zeitpunkt t4 befindet sich ein überwachter Punkt P4 immer noch innerhalb des Referenzbereichs 315, aber liegt jetzt deutlich entfernt vom überwachten Punkt P3 und bewegt sich nach innen; in diesem Fall wird die Grenzanzahl unverändert gelassen (da ihr höchstmöglicher Wert vermutlich erreicht wurde und durch eine weitere Erhöhung der Grenzanzahl die Leistung des Datenverarbeitungssystems wahrscheinlich zu gering wird). Hingegen befindet sich zu einem generischen Zeitpunkt t5 ein überwachter Punkt P5 im Niedrigleistungsbereich 320; in diesem Fall wird die Grenzanzahl so bald wie möglich verringert, wenn das Durchführen der Wartungsaktivität auf einem oder mehreren Datenverarbeitungsknoten beendet ist (da die Leistung des Datenverarbeitungssystems zu gering ist). Ferner befindet sich zu einem generischen Zeitpunkt t6 ein überwachter Punkt P6 im Schlechtleistungsbereich 325; in diesem Fall wird die Grenzanzahl sofort verringert, indem das Durchführen der Wartungsaktivität auf einem oder mehreren Datenverarbeitungsknoten zurückgefahren wird (da die Leistung des Datenverarbeitungssystems unannehmbar schlecht ist).
  • Unter Bezugnahme auf 4 werden nun die wichtigsten Softwarekomponenten gezeigt, die gemäß einer Ausführungsform der vorliegenden Offenbarung verwendet werden können.
  • Insbesondere werden alle Softwarekomponenten (Programme und Daten) als Ganzes mit der Referenz 400 gekennzeichnet. Die Softwarekomponenten werden in der Regel im Massenspeicher gespeichert und (zumindest teilweise) beim Ausführen der Programme zusammen mit einem entsprechenden Betriebssystem (in der Figur nicht dargestellt) in den Arbeitsspeicher der Steuerungsmaschine 125 und der Datenverarbeitungsknoten 120 geladen. Die Programme werden zunächst im Massenspeicher installiert, zum Beispiel von wechselbaren Speichereinheiten oder aus dem Netzwerk. In diesem Zusammenhang kann es sich bei jedem Programm um ein Modul, ein Segment oder einen Teil von Anweisungen handeln, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion aufweisen.
  • Es wird mit der Steuerungsmaschine 125 begonnen, die die folgenden Softwarekomponenten aufweist. Eine Wartungsverwaltung 405 verwaltet die Wartung des Datenverarbeitungssystems des Cloud-Anbieters und insbesondere der auf seinen Datenverarbeitungsknoten installierten Softwareprogramme. Zum Beispiel kann die Wartungsverwaltung 405 auf der Grundlage von Richtlinien erfolgen (die einen Zielzustand der Softwareprogramme definieren), die auf den Datenverarbeitungsknoten 120 umgesetzt werden sollen. Die Wartungsverwaltung 405 arbeitet gemäß einem oder mehreren Konfigurationsparametern; zum Beispiel weisen die Konfigurationsparameter für jede Wartungsaktivität die Grenzanzahl (der Datenverarbeitungsknoten 120, auf denen die Wartungsaktivität höchstens gleichzeitig durchgeführt werden darf) auf, sowie eine Auszeit für das Durchführen der Wartungsaktivität auf jedem Datenverarbeitungsknoten 120, eine Anzahl von Canarys (Datenverarbeitungsknoten 120, auf denen die Wartungsaktivität zunächst als Test vor ihrem allgemeinen Durchführen durchgeführt wird), eine Anzahl von Wiederholungsversuchen, bevor das Durchführen der Wartungsaktivität auf jedem Datenverarbeitungsknoten 120 für gescheitert erklärt wird.
  • In der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung steuert eine Wartungssteuerung 410 die Konfiguration der Wartungsverwaltung 405 und insbesondere deren Grenzanzahl. Die Wartungssteuerung 410 greift (im Lesemodus) auf eine Referenzanzahldatei 415 zu; für jede Wartungsaktivität, die im Datenverarbeitungssystem durchgeführt werden kann (zum Beispiel jede, die durch einen eindeutigen Code des entsprechenden Softwareprogramms gekennzeichnet ist), oder unterschiedslos für alle Wartungsaktivitäten, wird in der Referenzanzahldatei 415 eine Referenzanzahl gespeichert, die zum Setzen der Grenzanzahl verwendet wird. Eine Zustandsermittlung 420 analysiert den durch seine Zustandsanzeigen definierten Zustand des Datenverarbeitungssystems. Zu diesem Zweck verwendet die Zustandsermittlung 420 eine Knotenüberwachung 425, eine Programmüberwachung 430 und eine Infrastrukturüberwachung 435, die entsprechende Zustandsanzeigen des Datenverarbeitungssystems überwachen (zum Beispiel durch Verwenden von Sensoren und/oder Zugreifen auf Speicherstrukturen wie Register, Protokolle). Insbesondere überwacht die Knotenüberwachung 425 eine oder mehrere (Knoten-)Zustandsanzeigen, die den Zustand der Datenverarbeitungsknoten 120 anzeigen, wie deren Hardware- /Softwareressourcen (zum Beispiel verfügbare Rechenleistung, verfügbarer Arbeitsspeicher, Anzahl der Neustarts, Fehler). Die Programmüberwachung 430 überwacht eine oder mehrere (Programm-)Zustandsanzeigen, die den Zustand eines oder mehrerer Softwareprogramme anzeigen, die auf den Datenverarbeitungsknoten 120 ausgeführt werden, wie die Softwareprogramme, die die Cloud-Dienste umsetzen (zum Beispiel in Anspruch genommene Rechenleistung, in Anspruch genommenen Arbeitsspeicher, Benutzertickets, Fehler). Die Infrastrukturüberwachung 435 überwacht eine oder mehrere (Infrastruktur-)Zustandsanzeigen, die den Zustand einer oder mehrerer Systeminfrastrukturen des Datenverarbeitungssystems anzeigen, wie Hardware- /Softwareressourcen, die von den Datenverarbeitungsknoten 120 gemeinsam genutzt werden (zum Beispiel Netzwerkdurchsatz, Netzwerkverkehr, Fehler). Die Zustandsermittlung 420 greift (im Lese-/Schreibmodus) auf ein Protokoll der überwachten Punkte 440 zu, das für jede Wartungsaktivität einen oder mehrere überwachte Punkte speichert, die im Laufe der Zeit erfasst wurden (zum Beispiel der letzte). Die Zustandsermittlung 420 greift (im Lese- /Schreibmodus) auf eine Referenzpunktdatei 445 zu, die einen durch (Referenz-)Werte der Zustandsanzeigen definierten Referenzpunkt speichert. Der Referenzpunkt ist (in vereinfachter Form) repräsentativ für den Referenzzustand des Datenverarbeitungssystems (von dem aus der entsprechende Referenzbereich, der Niedrigleistungsbereich und der Schlechtleistungsbereich wie oben definiert werden können); durch das Verwenden des Referenzpunktes wird die rechnerische Komplexität der vorliegenden Offenbarung verringert, ohne dass die Genauigkeit wesentlich beeinträchtigt wird.
  • Jeder der Datenverarbeitungsknoten 120 (nur einer davon ist in der Figur dargestellt) weist die folgenden Softwarekomponenten auf. Es sind ein oder mehrere Softwareprogramme 450 auf dem Datenverarbeitungsknoten 120 installiert; die Softwareprogramme 450 weisen zum Beispiel ein Betriebssystem und Softwareanwendungen auf, die entsprechende Cloud-Dienste umsetzen. Ein Wartungsagent 455 führt alle erforderlichen Wartungsaktivitäten an den Softwareprogrammen 450 durch (indem er sie mit den entsprechenden Richtlinien im vorliegenden Beispiel in Einklang bringt). Zu diesem Zweck arbeitet der Wartungsagent 455 mit der Wartungsverwaltung 405 der Steuerungsmaschine 125 zusammen.
  • Unter Bezugnahme auf 5A bis 5B wird nun ein Aktivitätsablaufplan gezeigt, das den Fluss der Aktivitäten hinsichtlich einer Umsetzung der vorliegenden Offenbarung gemäß einer beispielhaften Ausführungsform beschreibt.
  • Insbesondere stellt der Aktivitätsablaufplan einen beispielhaften Prozess dar, der für die Wartung der Instanzen eines gleichen Softwareprogramms verwendet werden kann, die mittels eines Verfahrens 500 auf den Datenverarbeitungsknoten installiert sind. In diesem Zusammenhang kann jeder Block einem oder mehreren ausführbaren Anweisungen zum Umsetzen der bestimmten logischen Funktion auf der Steuerungs-Datenverarbeitungsmaschine entsprechen.
  • Der Prozess geht als Reaktion auf ein Konfigurationsereignis von Block 503 zu Block 506; dies geschieht zum Beispiel ein erstes Mal, wenn das Softwareprogramm auf den Datenverarbeitungsknoten installiert wurde, und möglicherweise später entweder automatisch (zum Beispiel bei jeder signifikanten Änderung des Datenverarbeitungssystems) oder manuell (zum Beispiel auf Anfrage eines Systemadministrators). Grundsätzlich (nachdem überprüft wurde, ob der Betrieb des Datenverarbeitungssystems den Anforderungen entspricht) erfasst die Zustandsermittlung die gemessenen Werte der Zustandsanzeigen, indem sie die Knotenüberwachung zum Messen der Knotenstatusanzeigen, die Programmüberwachung zum Messen der Programmstatusanzeigen und die Infrastrukturüberwachung zum Messen der Infrastrukturstatusanzeigen anweist. Die Zustandsermittlung standardisiert die gemessenen Werte (zum Beispiel auf einen Bereich von 0 bis 1, um die Leistung des Datenverarbeitungssystems zu erhöhen), um den entsprechenden gemessenen Punkt in einem N-dimensionalen Raum zu erhalten, wobei N gleich einer Anzahl der Zustandsanzeigen ist. Der Aktivitätsfluss verzweigt sich in Block 509 gemäß einer Anzahl der gemessenen Punkte, die erfasst wurden. Wenn die Anzahl der gemessenen Punkte (möglicherweise strikt) unter einem (Konfigurations-)Schwellenwert liegt (der erforderlich ist, um einen annehmbaren Genauigkeitsgrad bereitzustellen, wie 50 bis 100), kehrt der Prozess zum Block 506 zurück, um die gleichen Operationen zu wiederholen. Umgekehrt geht der Prozess, sobald die erforderliche Anzahl von gemessenen Punkten verfügbar ist, zu Block 512, in dem die gemessenen Punkte durch die Zustandsermittlung zum Referenzpunkt zusammengeführt werden (zum Beispiel durch Mittelwertbildung der entsprechenden gemessenen Werte). Die Zustandsermittlung in Block 515 speichert den Referenzpunkt in die entsprechende Datei (durch Ersetzen ihrer möglichen vorherigen Version). Der Prozess kehrt dann zum Block 503 zurück und wartet auf ein nächstes Konfigurationsereignis.
  • Völlig unabhängig davon geht der Prozess immer dann von Block 518 zu Block 521, wenn eine Wartungsanfrage gestellt wird (zum Beispiel durch den Systemadministrator oder automatisch), um eine Wartungsaktivität am Softwareprogramm durchzuführen (zum Beispiel um dessen Version/Ausgabe zu ändern oder um ein Wartungspaket oder einzelne Patches zu installieren). Als Reaktion darauf löst die Wartungssteuerung die Grenzanzahl zu dem Referenzwert aus (der aus der entsprechenden Datei abgerufen wird). Daraufhin weist die Wartungssteuerung in Block 524 die Wartungsverwaltung an, mit dem Durchführen der Wartungsaktivität auf den Datenverarbeitungsknoten zu beginnen.
  • Als Reaktion darauf überprüft die Wartungsverwaltung in Block 527 eine (Fortschritts-)Anzahl der Datenverarbeitungsknoten der Wartungsteilmenge, in der das Durchführen der Wartungsaktivität im Gange ist (Null zu Beginn). Wenn die Fortschrittsanzahl (strikt) niedriger als die Grenzanzahl ist, überprüft die Wartungsverwaltung in Block 530 eine (verbleibende) Anzahl der (verbleibenden) Datenverarbeitungsknoten, auf denen die Wartungsaktivität noch durchzuführen ist. Ist die verbleibende Anzahl (strikt) höher als Null, weist die Wartungsverwaltung in Block 533 das Durchführen der Wartungsaktivität auf einem (neuen) Datenverarbeitungsknoten an, der auf eine beliebige Weise unter den verbleibenden Datenverarbeitungsknoten ausgewählt wurde. Insbesondere verschiebt die Wartungsverwaltung alle auf dem neuen Datenverarbeitungsknoten umgesetzten Cloud-Dienste zu den anderen (Online-) Datenverarbeitungsknoten, die zu diesem Zeitpunkt online sind (d.h., auf denen die Wartungsaktivität nicht stattfindet), und schaltet den neuen Datenverarbeitungsknoten offline; die Wartungsverwaltung weist den Wartungsagenten des neuen Datenverarbeitungsknotens an, die Wartungsaktivität zu beginnen. Das Durchführen der Wartungsaktivität wird daraufhin auf jedem Datenverarbeitungsknoten unabhängig von den anderen Datenverarbeitungsknoten fortgesetzt; sobald das Durchführen der Wartungsaktivität auf einem Datenverarbeitungsknoten beendet ist, gibt die Wartungsverwaltung die entsprechenden Cloud-Dienste an diesen zurück und schaltet den Datenverarbeitungsknoten wieder online. Der Prozess kehrt dann zu Block 524 zurück und wiederholt die gleichen Operationen (um die Wartungsaktivität gleichzeitig auf die Wartungsteilmenge der Datenverarbeitungsknoten mit einer Kardinalität durchzuführen, die so weit wie möglich der Grenzanzahl entspricht).
  • Der Aktivitätsfluss geht stattdessen von Block 527 (wenn die Fortschrittsanzahl gleich oder höher als die Grenzanzahl ist) oder von Block 530 (wenn die verbleibende Anzahl gleich Null ist) zu Block 536, ohne dass eine Aktion durchgeführt wird (da die Wartungsaktivität zu dem Zeitpunkt auf keinem weiteren Datenverarbeitungsknoten durchgeführt werden darf). An diesem Punkt erfasst die Zustandsermittlung die überwachten Werte der Zustandsanzeigen, indem sie die Knotenüberwachung zum Messen der Knotenstatusanzeigen, die Programmüberwachung zum Messen der Programmstatusanzeigen und die Infrastrukturüberwachung zum Messen der Infrastrukturstatusanzeigen anweist. In Block 539 überprüft die Zustandsermittlung, ob die gemessenen Werte auf einen kritischen Zustand des Datenverarbeitungssystems hinweisen (zum Beispiel schwere Fehler oder das Öffnen von Tickets durch die Nutzer der Cloud-Dienste für entsprechende Beschwerden).
  • Falls nicht, standardisiert die Zustandsermittlung in Block 542 die überwachten Werte wie oben beschrieben, um den entsprechenden überwachten Punkt in demselben N-dimensionalen Raum zu erhalten. In Block 545 berechnet die Zustandsermittlung für jede Dimension (d.h. Zustandsanzeige) des überwachten Punktes vom Referenzpunkt aus eine Verschiebung nach innen, die gleich dem entsprechenden Referenzwert abzüglich des entsprechenden überwachten Wertes ist (so dass sie für eine abnehmende Leistung des Datenverarbeitungssystems positiv ist). In Block 548 vergleicht die Zustandsermittlung eine maximale Verschiebung (gleich dem Maximalwert der Verschiebungen bei allen Dimensionen) mit einem Niedrigleistungs-Schwellenwert (zum Beispiel 0,1 bis 0,2), der den Referenzbereich in Bezug auf den Referenzpunkt definiert.
  • Wenn die maximale Verschiebung (möglicherweise strikt) niedriger als der Niedrigleistungs-Schwellenwert ist, befindet sich der überwachte Punkt innerhalb des Referenzbereichs. Daher berechnet die Zustandsermittlung in Block 551 gegebenenfalls den Gradienten des überwachten Punktes aus seiner vorherigen Version, die aus dem entsprechenden Protokoll entnommen wurde (gleich ihrem euklidischen Abstand im N-dimensionalen Raum). Der Aktivitätsfluss verzweigt sich gemäß dem Gradienten in Block 554. Ist der Gradient (möglicherweise strikt) niedriger als ein (Gradienten-)Schwellenwert (zum Beispiel 0 bis 0,1), erhöht die Zustandsermittlung in Block 557 die Grenzanzahl um eins. Ist umgekehrt der Gradient (möglicherweise strikt) höher als der Gradienten-Schwellenwert und in jedem Fall zu Beginn, wenn keine frühere Version des überwachten Punktes im entsprechenden Protokoll verfügbar ist, wird der Prozess ohne Durchführen einer weiteren Aktion fortgesetzt (so dass die Grenzanzahl unverändert bleibt).
  • Bezugnehmend auf Block 548 befindet sich der überwachte Punkt nicht innerhalb des Referenzbereichs, wenn die maximale Verschiebung (möglicherweise strikt) höher als der Niedrigleistungs-Schwellenwert ist. Daher bestimmt die Zustandsermittlung in Block 560 einen Deltawert zum Verringern der Grenzanzahl. Zum Beispiel wird der Deltawert gemäß der maximalen Verschiebung bestimmt (d.h. 1 von 0,1 bis 0,2 ausgeschlossen, 2 von 0,2 bis 0,3 ausgeschlossen, und so weiter). In Block 563 verringert die Zustandsermittlung die Grenzanzahl um den Deltawert. In Block 566 vergleicht die Zustandsermittlung nun die maximale Verschiebung mit einem Schlechtleistungs-Schwellenwert (zum Beispiel 0,4 bis 0,5), der den Schlechtleistungsbereich in Bezug auf den Referenzpunkt definiert. Wenn die maximale Verschiebung (höher als der Niedrigleistungs-Schwellenwert) (möglicherweise strikt) niedriger als der Schlechtleistungs-Schwellenwert ist, befindet sich der überwachte Punkt innerhalb des Niedrigleistungsbereichs, der als zwischen dem Referenzbereich und dem Schlechtleistungsbereich liegend definiert ist; in diesem Fall wird der Prozess ohne Durchführen einer Aktion fortgesetzt (um die Kardinalität der Wartungsteilmenge so bald wie möglich zu verringern, wenn das Durchführen der Wartungsaktivität, falls sie erforderlich ist, auf einem oder mehreren Datenverarbeitungsknoten beendet ist). Bezugnehmend auf Block 566 befindet sich der überwachte Punkt innerhalb des Schlechtleistungsbereichs, wenn die maximale Verschiebung stattdessen (möglicherweise strikt) höher als der Schlechtleistungs-Schwellenwert ist. Daher wird der Prozess in Block 569 fortgesetzt; der gleiche Punkt wird auch direkt von Block 539 erreicht, wenn die gemessenen Werte einen kritischen Zustand des Datenverarbeitungssystems anzeigen. In beiden Fällen weist die Wartungssteuerung die Wartungsverwaltung an, das Durchführen der Wartungsaktivität auf den Datenverarbeitungsknoten zurückzufahren, um die Kardinalität der Wartungsteilmenge sofort so weit wie möglich auf oder unter die (verringerte) Grenzanzahl zu senken. Zu diesem Zweck überprüft die Wartungsverwaltung zunächst, ob die Kardinalität der Wartungsteilmenge (strikt) höher als die Grenzanzahl ist. Wenn dies der Fall ist, überprüft die Wartungsverwaltung, ob unter den Datenverarbeitungsknoten der Wartungsteilmenge (Kandidaten-)Datenverarbeitungsknoten verfügbar sind, bei denen eine Zeit, die für ein Zurückfahren des Durchführens der Wartungsaktivität erforderlich ist, kürzer ist als eine Zeit, die schätzungsweise für das Ausführen der Wartungsaktivität benötigt wird (um mindestens einen Schwellenwert, wie 0 bis 10 %). Wenn dies der Fall ist, weist die Wartungsverwaltung den Wartungsagenten des Kandidaten-Datenverarbeitungsknotens mit dem höchsten Wert dieser geschätzten Zeit an (d.h., bei dem das Durchführen der Wartungsaktivität am wenigsten fortgeschritten ist), die Wartung zurückzufahren; sobald dieser Datenverarbeitungsknoten wiederhergestellt ist, gibt die Wartungsverwaltung die entsprechenden Cloud-Dienste an ihn zurück und schaltet den Datenverarbeitungsknoten online. Dieselben Operationen werden so lange wiederholt, bis die Kardinalität der Wartungsteilmenge auf oder unter die Grenzanzahl gesenkt worden ist oder kein weiteres Zurückfahren des Durchführens der Wartungsaktivität möglich ist.
  • In Block 572 läuft der Prozess aus dem Block 554, dem Block 557, dem Block 566 oder dem Block 569 wieder zusammen. An diesem Punkt speichert die Zustandsermittlung den überwachten Punkt in den entsprechenden Datenbehälter (durch Ersetzen seiner möglichen vorherigen Version). In 575 wird nun ein Test durchgeführt, bei dem die Wartungssteuerung überprüft, ob die Wartungsaktivität auf allen Datenverarbeitungsknoten durchgeführt wurde. Ist dies nicht der Fall, so wird der Aktivitätsfluss in den Block 524 zurückgeführt, um die gleichen Operationen zu wiederholen. Umgekehrt geht (sobald die Wartungsaktivität auf allen Datenverarbeitungsknoten durchgeführt wurde) der Prozess zu Block 578, in dem die Wartungssteuerung die Referenzanzahl (für das Durchführen einer nächsten Wartungsaktivität bei demselben Softwareprogramm) gemäß den Werten der Grenzanzahl während des Durchführens der Wartungsaktivität berechnet (zum Beispiel gleich ihrem Durchschnitt); die Wartungssteuerung speichert die Referenzanzahl in die entsprechende Datei (indem sie ihre vorherige Version ersetzt, die zu Beginn auf einen Standardwert gesetzt wurde). Der Prozess kehrt dann zum Block 518 zurück und wartet auf eine weitere Wartungsanfrage.
  • Um lokale und bestimmte Anforderungen zu erfüllen, kann ein Fachmann selbstverständlich viele logische und/oder physische Modifikationen und Änderungen an der vorliegenden Offenbarung vornehmen. Genauer gesagt ist zu beachten, dass verschiedene Auslassungen, Ersetzungen und Änderungen der Form und der Einzelheiten sowie andere Ausführungsformen möglich sind, auch wenn diese Offenbarung mit einer gewissen Detailgenauigkeit in Bezug auf eine oder mehrere Ausführungsformen davon beschrieben wurde. Insbesondere können verschiedene Ausführungsformen der vorliegenden Offenbarung sogar ohne die in der obigen Beschreibung dargelegten bestimmten Einzelheiten angewandt werden (wie die Zahlenwerte), um ein tieferes Verständnis derselben bereitzustellen; umgekehrt wurden möglicherweise bekannte Funktionen weggelassen oder vereinfacht, um die Beschreibung nicht durch unnötige Angaben zu überdecken. Darüber hinaus ist ausdrücklich beabsichtigt, dass bestimmte Elemente und/oder Verfahrensschritte, die im Zusammenhang mit einer Ausführungsform der vorliegenden Offenbarung beschrieben werden, in jede andere Ausführungsform als grundsätzliche Gestaltungswahl aufgenommen werden können. Andererseits ist nicht jedes in einer Gruppe präsentierte Element de facto als Äquivalent zu jedem anderen Element derselben Gruppe zu verstehen, nur auf der Grundlage von deren gemeinsamer Präsentation ohne gegenteilige Angaben (sondern sie werden einzeln als separate und einzigartige Elemente gekennzeichnet); ebenso sind verschiedene Ausführungsformen, Beispiele oder Alternativen nicht de facto als Äquivalent zueinander zu verstehen (sondern sie sind separate und eigenständige Darstellungen der vorliegenden Offenbarung). In jedem Fall sollte jeder numerische Wert so gelesen werden, als wäre er durch den Begriff ungefähr modifiziert (sofern dies nicht bereits geschehen ist), und jeder Bereich von numerischen Werten sollte so verstanden werden, dass er ausdrücklich jede mögliche Zahl entlang des Kontinuums innerhalb des Bereichs (der seine Endpunkte umfasst) bestimmt. Darüber hinaus werden Ordinalzahlen oder andere Kennzeichner lediglich als Bezeichnungen zur Unterscheidung gleichnamiger Elemente verwendet, ohne dass sie für sich genommen eine Priorität, einen Vorrang oder eine Reihenfolge bedeuten. Die Begriffe umfassen, aufweisen, haben, enthalten und beinhalten (und alle Formen davon) sind mit einer offenen, nicht erschöpfenden Bedeutung zu verstehen (d.h. nicht auf die zitierten Punkte beschränkt), die Begriffe auf der Grundlage von, abhängig von, gemäß, Funktion von (und alle Formen davon) sind als eine nicht ausschließliche Beziehung zu verstehen (d.h. es kann mögliche weitere Variablen geben), der Begriff ein/eine ist als ein oder mehrere Elemente zu verstehen (sofern nicht ausdrücklich anders angegeben), und der Begriff Mittel für (oder jede Formulierung von Mittel plus Funktion) ist als eine Struktur zu verstehen, die für das Ausführen der relevanten Funktion angepasst oder konfiguriert ist.
  • Zum Beispiel stellt eine Ausführungsform ein Verfahren zur Wartung eines Datenverarbeitungssystems bereit. Das Datenverarbeitungssystem kann jedoch von jeder Art sein (zum Beispiel kann es sich um ein Cloud-Computing- oder Standard-System handeln).
  • In einer Ausführungsform wird das Verfahren mittels der Steuerung durch eine Steuerungs-Datenverarbeitungsmaschine durchgeführt. Die Steuerungs-Datenverarbeitungsmaschine kann jedoch von jeder Art sein (siehe unten).
  • In einer Ausführungsform weist das Datenverarbeitungssystem eine Mehrzahl von Datenverarbeitungsknoten auf. Die Datenverarbeitungsknoten können jedoch in jeder Anzahl vorhanden und von jeder Art sein (zum Beispiel Server, Desktop-Computer, Laptop-Computer, Smartphones virtueller oder physischer Art).
  • In einer Ausführungsform tragen die Datenverarbeitungsknoten zum Betrieb des Datenverarbeitungssystems bei. Dieses Ergebnis kann jedoch auf jede Weise erreicht werden (zum Beispiel in einer Cluster- oder Netz-Architektur mit Datenverarbeitungsknoten, die alle die gleichen Aufgaben oder verschiedene Teile davon ausführen).
  • In einer Ausführungsform umfasst das Verfahren ein Setzen (durch die Steuerungs-Datenverarbeitungsmaschine) einer Grenzanzahl der Datenverarbeitungsknoten. Die Grenzanzahl kann jedoch auf jede Weise gesetzt werden (zum Beispiel anhand der Referenzanzahl auf der Grundlage von früheren Ausführungen des Verfahrens, anhand eines festen Standardwerts).
  • In einer Ausführungsform umfasst das Verfahren eine Iteration, die durch Wiederholen der folgenden Schritte umgesetzt wird, bis die Wartungsaktivität auf allen Datenverarbeitungsknoten durchgeführt worden ist.
  • In einer Ausführungsform weist die Iteration ein Auslösen (durch die Steuerungs-Datenverarbeitungsmaschine) eines Durchführens einer Wartungsaktivität auf. Die Wartungsaktivität kann jedoch von jeder Art sein (zum Beispiel Versions-/Ausgabewechsel, Installieren von Wartungspaketen oder Patches, Aktualisieren oder Herabstufen eines Softwareprogramms, zum Beispiel eines Anwendungsprogramms, einer Middleware, eines Betriebssystems oder grundsätzlich jeder anderen Software-/Hardwareressource des Datenverarbeitungssystems), und sie kann auf jede Weise durchgeführt werden (zum Beispiel entweder mittels eines lokalisierten Ansatzes auf der Grundlage von Richtlinien oder eines zentralisierten Ansatzes).
  • In einer Ausführungsform wird die Wartungsaktivität gleichzeitig an einer Wartungsteilmenge der Datenverarbeitungsknoten durchgeführt, die die Grenzanzahl nicht überschreitet. Dieses Ergebnis kann jedoch auf jede Weise erreicht werden (indem zum Beispiel ein Überschreiten der Grenzanzahl bis zum Beenden des Durchführens der bereits laufenden Wartungsaktivitäten entweder toleriert oder nicht toleriert wird).
  • In einer Ausführungsform weist die Iteration ein Überwachen (durch die Steuerungs-Datenverarbeitungsmaschine) einer oder mehrerer Zustandsanzeigen während des Durchführens der Wartungsaktivität auf. Die Zustandsanzeigen können jedoch in jeder Anzahl vorhanden und von jeder Art sein (zum Beispiel kontinuierliche Werte, einzelne Werte, Markierungen) und sie können auf jede Weise überwacht werden (zum Beispiel durch Abfragen/Lesen, kontinuierlich oder auf Anfrage, im Push- oder Pull-Modus).
  • In einer Ausführungsform zeigen die Zustandsanzeigen einen Zustand des Datenverarbeitungssystems an. Die Zustandsanzeigen können jedoch jedes Zustandsmerkmal anzeigen (zum Beispiel Leistung, Stabilität, Leistungsaufnahme, Auslastung der Datenverarbeitungsknoten, der Softwareprogramme, der Systeminfrastrukturen oder einer Kombination davon).
  • In einer Ausführungsform weist die Iteration ein Aktualisieren (durch die Steuerungs-Datenverarbeitungsmaschine) der Grenzanzahl gemäß den überwachten Werten der Zustandsanzeigen auf, die während des Durchführens der Wartungsaktivität überwacht wurden. Die Grenzanzahl kann jedoch auf jede Weise aktualisiert werden (zum Beispiel gemäß einem Vergleich mit einer Referenzdarstellung, einem Trend der überwachten Werte oder einer Kombination davon, entweder auf eine festgelegte Weise oder gemäß einem darauf beruhenden linearen/nichtlinearen Gesetz).
  • In einer Ausführungsform weist der Schritt des Überwachens ein Überwachen (durch die Steuerungs-Datenverarbeitungsmaschine) der Zustandsanzeigen auf, die eine oder mehrere Knoten-Zustandsanzeigen aufweisen, die einen Zustand der Datenverarbeitungsknoten anzeigen. Die Knotenstatusanzeigen können jedoch in jeder Anzahl vorhanden und von jeder Art sein (zum Beispiel partielle, andersartige und zusätzliche Knoten-Zustandsanzeigen in Bezug auf die oben genannten).
  • In einer Ausführungsform weist der Schritt des Überwachens ein Überwachen (durch die Steuerungs-Datenverarbeitungsmaschine) der Zustandsanzeigen auf, die eine oder mehrere Programm-Zustandsanzeigen aufweisen, die einen Zustand eines oder mehrerer Softwareprogramme anzeigen, die auf den Datenverarbeitungsknoten ausgeführt werden. Die Programm-Zustandsanzeigen können jedoch in jeder Anzahl vorhanden und von jeder Art sein (zum Beispiel partielle, andersartige und zusätzliche Programm-Zustandsanzeigen in Bezug auf die oben genannten) für jede Anzahl und Art von Softwareprogrammen (zum Beispiel nur für das Softwareprogramm, das sich in Wartung befindet, oder zu dem noch andere Softwareprogramme hinzukommen).
  • In einer Ausführungsform weist der Schritt des Überwachens ein Überwachen (durch die Steuerungs-Datenverarbeitungsmaschine) der Zustandsanzeigen auf, die eine oder mehrere Infrastruktur-Zustandsanzeigen aufweisen, die einen Zustand einer oder mehrerer Systeminfrastrukturen des Datenverarbeitungssystems anzeigen. Die Infrastruktur-Zustandsanzeigen können jedoch in jeder Anzahl vorhanden und von jeder Art sein (zum Beispiel partielle, andersartige und zusätzliche Infrastruktur-Zustandsanzeigen in Bezug auf die oben genannten) für jede Anzahl und Art von Systeminfrastrukturen (zum Beispiel vom Typ Hardware und/oder Software).
  • In einer Ausführungsform weist der Schritt des Überwachens ein Überwachen (durch die Steuerungs-Datenverarbeitungsmaschine) der Zustandsanzeigen auf, die eine oder mehrere Anzeichen eines kritischen Zustands des Datenverarbeitungssystems aufweisen. Die Anzeichen des kritischen Zustands können jedoch in jeder Anzahl vorhanden und von jeder Art sein (zum Beispiel in Bezug auf Fehler, interne/externe Beschwerden, Verstöße gegen SLAs oder andere Festlegungen).
  • In einer Ausführungsform weist der Schritt des Aktualisierens ein Aktualisieren (durch die Steuerungs-Datenverarbeitungsmaschine) der Grenzanzahl auf gemäß einem Vergleich eines durch die überwachten Werte definierten überwachten Punktes mit einer Referenzdarstellung eines Zustands des Datenverarbeitungssystems in einem Referenzzustand ohne Durchführen der Wartungsaktivität. Die Referenzdarstellung kann jedoch von jeder Art sein (zum Beispiel ein Punkt, eine Fläche, ein Bereich) und sie kann auf jede Weise bereitgestellt werden (zum Beispiel dynamisch erfasst oder statisch voreingestellt); darüber hinaus kann der überwachte Punkt mit der Referenzdarstellung auf jede Weise verglichen werden (zum Beispiel gemäß seinem Abstand davon, seinem Trend im zeitlichen Verlauf oder einer Kombination davon), und dieser Vergleich kann auf jede Weise zum Aktualisieren der Grenzanzahl verwendet werden (zum Beispiel Erhöhen/Unverändertlassen in Abhängigkeit vom Trend des überwachten Punktes und Verringern der Grenzanzahl, wenn sich der überwachte Punkt in den entsprechenden Bereichen befindet, Erhöhen, Unverändertlassen und Verringern der Grenzanzahl, wenn sich der überwachte Punkt unabhängig von seinem Trend in den entsprechenden Bereichen befindet).
  • In einer Ausführungsform umfasst das Verfahren ein Messen (durch die Steuerungs-Datenverarbeitungsmaschine) der Zustandsanzeigen im Referenzzustand. Die Zustandsanzeigen können jedoch beliebig oft und auf jede Weise gemessen werden (zum Beispiel nur zu Beginn oder auch noch im weiteren Verlauf, und zwar entweder periodisch oder als Reaktion auf jedes automatische/manuelle Ereignis.
  • In einer Ausführungsform umfasst das Verfahren ein Definieren (durch die Steuerungs-Datenverarbeitungsmaschine) der Referenzdarstellung gemäß den gemessenen Werten der Zustandsanzeigen, die im Referenzzustand gemessen wurden. Die Referenzdarstellung kann jedoch auf jede Weise gemäß den gemessenen Werten definiert werden (zum Beispiel durch Mittelwertbildung, Anpassung oder jedes andere statistische Verfahren).
  • In einer Ausführungsform weist der Schritt des Aktualisierens ein Aktualisieren (durch die Steuerungs-Datenverarbeitungsmaschine) der Grenzanzahl auf gemäß einem Vergleich des überwachten Punktes mit einem Referenzpunkt. Die Grenzanzahl kann jedoch auf jede Weise gemäß diesem Vergleich aktualisiert werden (zum Beispiel allein nach dem Abstand des überwachten Punkts vom Referenzpunkt oder unter Hinzufügen des Gradienten des überwachten Punkts im zeitlichen Verlauf).
  • In einer Ausführungsform wird der Referenzpunkt durch entsprechende Referenzwerte der Referenzdarstellung definiert. Die Referenzpunkte können jedoch auf jede Weise definiert werden (zum Beispiel aus den gemessenen Werten durch deren Mittelwertbildung, analytisch aus der Referenzdarstellung).
  • In einer Ausführungsform weist das Aktualisieren ein Aktualisieren (durch die Steuerungs-Datenverarbeitungsmaschine) der Grenzanzahl auf gemäß einem Abstand des überwachten Punktes von der Referenzdarstellung. Der Abstand kann jedoch auf jede Weise definiert werden (zum Beispiel nur durch die Verschiebung für eine abnehmende Leistung entlang jeder Dimension, wie nach unten, nach oben oder eine Kombination davon, durch den euklidischen Abstand), und er kann auf jede Weise zum Aktualisieren der Grenzanzahl verwendet werden (zum Beispiel durch ihr Erhöhen, Verringern und/oder Unverändertlassen auf separate oder kontinuierliche Weise).
  • In einer Ausführungsform weist das Aktualisieren ein Aktualisieren (durch die Steuerungs-Datenverarbeitungsmaschine) der Grenzanzahl auf gemäß einem Gradienten des überwachten Punktes im zeitlichen Verlauf. Der Gradient kann jedoch auf jede Weise definiert werden (zum Beispiel gemäß dem euklidischen Abstand oder nur der Verschiebung für eine abnehmende Leistung zwischen zwei oder mehr Werten des überwachten Punktes), und er kann auf jede Weise zum Aktualisieren der Grenzanzahl verwendet werden (zum Beispiel durch ihr Erhöhen, Verringern und/oder Unverändertlassen auf separate oder kontinuierliche Weise).
  • In einer Ausführungsform umfasst das Verfahren als Reaktion auf ein Verringern der Grenzanzahl ein Warten (durch die Steuerungs-Datenverarbeitungsmaschine) auf ein Beenden des Durchführens der Wartungstätigkeit auf einem oder mehreren der Datenverarbeitungsknoten. Diese Operation kann jedoch auf jede Weise durchgeführt werden (zum Beispiel entweder durch Fortsetzen oder durch Beenden der Überwachung der Zustandsanzeigen zur Aktualisierung der Grenzanzahl in diesem Zeitraum) und sie kann in jedem Zustand durchgeführt werden (zum Beispiel nur, wenn der Abstand zur Referenzdarstellung innerhalb eines beliebigen Schwellenwertes liegt, oder immer).
  • In einer Ausführungsform umfasst das Verfahren als Reaktion auf ein Verringern der Grenzanzahl ein Zurückfahren (durch die Steuerungs-Datenverarbeitungsmaschine) des Durchführens der Wartungstätigkeit auf einem oder mehreren der Datenverarbeitungsknoten. Diese Operation kann jedoch auf jede Weise durchgeführt werden (zum Beispiel entweder gemäß der Zeit, die für das Ausführen der Wartungsaktivität erforderlich ist, oder beliebig) und sie kann in jedem Zustand durchgeführt werden (zum Beispiel nur, wenn der Abstand zur Referenzdarstellung einen Schwellenwert überschreitet und/oder wenn ein kritischer Zustand festgestellt wird, oder immer).
  • In einer Ausführungsform umfasst das Verfahren ein Speichern (durch die Steuerungs-Datenverarbeitungsmaschine) einer Referenzanzahl auf der Grundlage von einem oder mehreren Werten der Grenzanzahl während des Durchführens der Wartungsaktivität. Die Referenzanzahl kann jedoch auf jede Weise auf jeder Anzahl von Werten der Grenzanzahl beruhen (zum Beispiel auf ihrem Mittelwert über das gesamte Durchführen der Wartungsaktivität oder einem Teil davon, auf ihrem niedrigsten Wert, ihrem letzten Wert).
  • In einer Ausführungsform umfasst das Verfahren ein Setzen (durch die Steuerungs-Datenverarbeitungsmaschine) der Grenzanzahl für eine nächste Wartungsaktivität gemäß der Referenzanzahl. Die Grenzanzahl kann jedoch auf jede Weise gemäß der Referenzanzahl gesetzt werden (zum Beispiel gleich der Referenzanzahl oder einem Bruchteil der Referenzanzahl, wie gemäß ihrem Alter).
  • In einer Ausführungsform handelt es sich bei dem Datenverarbeitungssystem um ein Cloud-Computing-System. Die Cloud kann jedoch von jeder Art sein (zum Beispiel PaaS, SaaS und/oder NaaS, Public, Private, Community oder Hybrid).
  • Grundsätzlich gelten ähnliche Überlegungen, wenn die gleiche Lösung mit einem gleichwertigen Verfahren umgesetzt wird (mittels ähnlicher Schritte mit den gleichen Funktionen mehrerer Schritte oder Teilen davon, Entfernen einiger nicht wesentlicher Schritte oder Hinzufügen weiterer optionaler Schritte); darüber hinaus können die Schritte in einer anderen Reihenfolge, gleichzeitig oder (zumindest teilweise) überlappend durchgeführt werden.
  • Eine Ausführungsform stellt ein Computerprogramm bereit, das konfiguriert ist, eine Steuerungs-Datenverarbeitungsmaschine zu veranlassen, das oben beschriebene Verfahren durchzuführen, wenn das Computerprogramm auf der Steuerungs-Datenverarbeitungsmaschine ausgeführt wird. Eine Ausführungsform stellt ein Computerprogrammprodukt bereit, das ein durch einen Computer lesbares Speichermedium aufweist, in das Programmanweisungen eingebettet sind; die Programmanweisungen sind durch eine Steuerungs-Datenverarbeitungsmaschine ausführbar, um die Steuerungs-Datenverarbeitungsmaschine zu veranlassen, das gleiche Verfahren auszuführen. Das Computerprogramm kann jedoch als eigenständiges Modul, als Plug-in für ein bereits vorhandenes Softwareprogramm (zum Beispiel die Wartungsverwaltung einer Ressourcenverwaltungs-Anwendung) oder sogar direkt in letzterem umgesetzt werden. Darüber hinaus kann das Computerprogramm auf jeder Steuerungs-Datenverarbeitungsmaschine ausgeführt werden (siehe unten).
  • Eine Ausführungsform stellt ein System bereit, das Mittel aufweist, die zum Durchführen jedes der Schritte des oben beschriebenen Verfahrens konfiguriert sind. Eine Ausführungsform stellt ein System bereit, das einen Schaltkreis aufweist (d.h. jede Hardware, die in geeigneter Weise konfiguriert ist, zum Beispiel durch Software), um jeden der Schritte desselben Verfahrens auszuführen. Das System kann jedoch von jeder Art sein (zum Beispiel die Steuerungs-Datenverarbeitungsmaschine allein, das Steuerungs-Datenverarbeitungssystem mit den Datenverarbeitungsknoten, die untereinander über ein lokales Netzwerk, Weitverkehrsnetzwerk, globales Netz, Mobilfunknetz oder Satellitennetz Daten austauschen und jede Art von drahtgebundenen und/oder drahtlosen Verbindungen nutzen); darüber hinaus kann die Steuerungs-Datenverarbeitungsmaschine mit jeder physischen Maschine, virtuellen Maschine oder einer statischen oder dynamischen Kombination davon umgesetzt werden. In jedem Fall kann die Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung auch mit einer Hardwarestruktur umgesetzt werden (zum Beispiel mit elektronischen Schaltkreisen, die auf einem oder mehreren Chips aus Halbleitermaterial integriert sind) oder mit einer Kombination aus Software und Hardware, die entsprechend programmiert oder anderweitig konfiguriert ist.
  • Grundsätzlich gelten ähnliche Überlegungen, wenn das System eine andere Struktur hat oder gleichwertige Komponenten aufweist oder wenn es andere funktionsgemäße Eigenschaften aufweist. In jedem Fall kann jede Komponente davon in mehrere Elemente unterteilt werden, oder zwei oder mehrere Komponenten können zu einem einzigen Element zusammengeführt werden; darüber hinaus kann jede Komponente nachgebildet werden, um die parallele Ausführung der entsprechenden Operationen zu unterstützen. Darüber hinaus ist es, wenn nicht anders angegeben, grundsätzlich nicht erforderlich, dass eine Interaktion zwischen verschiedenen Komponenten kontinuierlich erfolgt, und sie kann entweder direkt oder indirekt über einen oder mehrere Vermittler erfolgen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, 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 tragbare 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 tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte 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. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene 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, Vermittlungseinheiten, 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, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen 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 herkömmliche 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 Software-Paket, 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 eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über 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 lesbare Programmanweisungen ausgeführt werden können. Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers 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 angegebenen 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 den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. 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 im Wesentlichen gleichzeitig 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 oben beschriebenen Funktionen können auf jede Weise kombiniert werden. Zum Beispiel kann eine mögliche Kombination der oben beschriebenen Funktionen die folgende sein: Anspruch 2 mit Anspruch 1, Anspruch 3 mit Anspruch 1 oder 2, Anspruch 4 mit jedem Anspruch von 1 bis 3, Anspruch 5 mit jedem Anspruch von 1 bis 4, Anspruch 6 mit jedem Anspruch von 1 bis 5, Anspruch 7 mit Anspruch 6, Anspruch 8 mit Anspruch 6 oder 7, Anspruch 9 mit jedem Anspruch von 6 bis 8, Anspruch 10 mit jedem Anspruch von 6 bis 9, Anspruch 11 mit jedem Anspruch von 1 bis 10, Anspruch 12 mit jedem Anspruch von 1 bis 11, Anspruch 13 mit jedem Anspruch von 1 bis 12, Anspruch 14 mit Anweisungen zum Durchführen des Verfahrens jedes Anspruchs von 1 bis 13 und Anspruch 15 mit Mitteln (oder einer Schaltung) zum Durchführen jedes Schrittes jedes Anspruchs von 1 bis 13.

Claims (20)

  1. Verfahren zum Warten eines Datenverarbeitungssystems mittels Steuerung durch eine Steuerungs-Datenverarbeitungsmaschine, wobei das Datenverarbeitungssystem eine Mehrzahl von Datenverarbeitungsknoten aufweist, die zum Betrieb des Datenverarbeitungssystems beitragen, wobei das Verfahren umfasst: Setzen, durch die Steuerungs-Datenverarbeitungsmaschine, einer Grenzanzahl der Datenverarbeitungsknoten durch: Veranlassen, durch die Steuerungs-Datenverarbeitungsmaschine, eines gleichzeitigen Durchführens einer Wartungsaktivität auf einer Wartungsteilmenge der Datenverarbeitungsknoten, die eine Grenzanzahl nicht überschreitet, Überwachen, durch die Steuerungs-Datenverarbeitungsmaschine, einer oder mehrerer Zustandsanzeigen während des Durchführens der Wartungsaktivität, wobei die Zustandsanzeigen einen Zustand des Datenverarbeitungssystems anzeigen, und Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß überwachten Werten der Zustandsanzeigen, die während des Durchführens der Wartungsaktivität überwacht wurden, Wiederholen der Schritte Veranlassen, Überwachen und Aktualisieren, bis die Wartungsaktivität auf allen der Mehrzahl von Datenverarbeitungsknoten durchgeführt worden ist.
  2. Verfahren nach Anspruch 1, wobei das Überwachen aufweist: Überwachen, durch die Steuerungs-Datenverarbeitungsmaschine, der Zustandsanzeigen, die eine oder mehrere Knoten-Zustandsanzeigen aufweisen, die einen Zustand der Datenverarbeitungsknoten anzeigen.
  3. Verfahren nach Anspruch 1, wobei das Überwachen aufweist: Überwachen, durch die Steuerungs-Datenverarbeitungsmaschine, der Zustandsanzeigen, die eine oder mehrere Programm-Zustandsanzeigen aufweisen, die einen Zustand eines oder mehrerer Softwareprogramme anzeigen, die auf den Datenverarbeitungsknoten ausgeführt werden.
  4. Verfahren nach Anspruch 1, wobei das Überwachen aufweist: Überwachen, durch die Steuerungs-Datenverarbeitungsmaschine, der Zustandsanzeigen, die eine oder mehrere Infrastruktur-Zustandsanzeigen aufweisen, die einen Zustand einer oder mehrerer Systeminfrastrukturen des Datenverarbeitungssystems anzeigen.
  5. Verfahren nach Anspruch 1, wobei das Überwachen aufweist: Überwachen, durch die Steuerungs-Datenverarbeitungsmaschine, der Zustandsanzeigen, die eine oder mehrere Anzeichen eines kritischen Zustands des Datenverarbeitungssystems aufweisen.
  6. Verfahren nach Anspruch 1, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Vergleich eines durch die überwachten Werte definierten überwachten Punktes mit einer Referenzdarstellung eines Zustands des Datenverarbeitungssystems in einem Referenzzustand ohne Durchführen der Wartungsaktivität.
  7. Verfahren nach Anspruch 6, wobei das Verfahren umfasst: Messen, durch die Steuerungs-Datenverarbeitungsmaschine, der Zustandsanzeigen im Referenzzustand, und Definieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Referenzdarstellung gemäß den gemessenen Werten der Zustandsanzeigen, die im Referenzzustand gemessen wurden.
  8. Verfahren nach Anspruch 6, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Vergleich des überwachten Punktes mit einem Referenzpunkt, der durch entsprechende Referenzwerte der Referenzdarstellung definiert wurde.
  9. Verfahren nach Anspruch 6, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Abstand des überwachten Punktes von der Referenzdarstellung.
  10. Verfahren nach Anspruch 6, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Gradienten des überwachten Punktes im zeitlichen Verlauf.
  11. Verfahren nach Anspruch 1, wobei das Verfahren als Reaktion auf ein Verringern der Grenzanzahl umfasst: Warten, durch die Steuerungs-Datenverarbeitungsmaschine, auf ein Beenden des Durchführens der Wartungstätigkeit auf einem oder mehreren der Datenverarbeitungsknoten, und/oder Zurückfahren, durch die Steuerungs-Datenverarbeitungsmaschine, des Durchführens der Wartungstätigkeit auf einem oder mehreren der Datenverarbeitungsknoten.
  12. Verfahren nach Anspruch 1, wobei das Verfahren umfasst: Speichern, durch die Steuerungs-Datenverarbeitungsmaschine, einer Referenzanzahl auf der Grundlage von einem oder mehreren Werten der Grenzanzahl während des Durchführens der Wartungsaktivität, und Setzen, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl für eine nächste Wartungsaktivität gemäß der Referenzanzahl.
  13. Verfahren nach Anspruch 1, wobei es sich bei dem Datenverarbeitungssystem um ein Cloud-Computing-System handelt.
  14. Computerprogrammprodukt zum Warten eines Datenverarbeitungssystems, das eine Mehrzahl von Datenverarbeitungsknoten aufweist, die zum Betrieb des Datenverarbeitungssystems beitragen, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in das Programmanweisungen eingebettet sind, wobei die Programmanweisungen durch eine Steuerungs-Datenverarbeitungsmaschine ausführbar sind, um die Steuerungs-Datenverarbeitungsmaschine zu veranlassen, ein Verfahren auszuführen, das umfasst: Setzen einer Grenzanzahl der Datenverarbeitungsknoten durch: Veranlassen eines gleichzeitigen Durchführens einer Wartungsaktivität auf einer Wartungsteilmenge der Datenverarbeitungsknoten, die eine Grenzanzahl nicht überschreitet, Überwachen einer oder mehrerer Zustandsanzeigen während des Durchführens der Wartungsaktivität, wobei die Zustandsanzeigen einen Zustand des Datenverarbeitungssystems anzeigen, und Aktualisieren der Grenzanzahl gemäß überwachten Werten der Zustandsanzeigen, die während des Durchführens der Wartungsaktivität überwacht wurden, Wiederholen der Schritte Veranlassen, Überwachen und Aktualisieren, bis die Wartungsaktivität auf allen der Mehrzahl von Datenverarbeitungsknoten durchgeführt worden ist.
  15. Computerprogrammprodukt nach Anspruch 14, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Vergleich eines durch die überwachten Werte definierten überwachten Punktes mit einer Referenzdarstellung eines Zustands des Datenverarbeitungssystems in einem Referenzzustand ohne Durchführen der Wartungsaktivität.
  16. Computerprogrammprodukt nach Anspruch 15, wobei das Verfahren umfasst: Messen, durch die Steuerungs-Datenverarbeitungsmaschine, der Zustandsanzeigen im Referenzzustand, und Definieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Referenzdarstellung gemäß den gemessenen Werten der Zustandsanzeigen, die im Referenzzustand gemessen wurden.
  17. Computerprogrammprodukt nach Anspruch 15, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Vergleich des überwachten Punktes mit einem Referenzpunkt, der durch entsprechende Referenzwerte der Referenzdarstellung definiert wurde.
  18. Computerprogrammprodukt nach Anspruch 15, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Abstand des überwachten Punktes von der Referenzdarstellung.
  19. Computerprogrammprodukt nach Anspruch 15, wobei das Aktualisieren aufweist: Aktualisieren, durch die Steuerungs-Datenverarbeitungsmaschine, der Grenzanzahl gemäß einem Gradienten des überwachten Punktes im zeitlichen Verlauf.
  20. Steuerungs-Datenverarbeitungsmaschine zum Warten eines Datenverarbeitungssystems, das eine Mehrzahl von Datenverarbeitungsknoten aufweist, die zum Betrieb des Datenverarbeitungssystems beitragen, wobei die Steuerungs-Datenverarbeitungsmaschine aufweist: ein Schaltkreis zum Setzen einer Grenzanzahl der Datenverarbeitungsknoten, ein Schaltkreis zum Veranlassen eines gleichzeitigen Durchführens einer Wartungsaktivität auf einer Wartungsteilmenge der Datenverarbeitungsknoten, die eine Grenzanzahl nicht überschreitet, ein Schaltkreis zum Überwachen einer oder mehrerer Zustandsanzeigen während des Durchführens der Wartungsaktivität, wobei die Zustandsanzeigen einen Zustand des Datenverarbeitungssystems anzeigen, und ein Schaltkreis zum Aktualisieren der Grenzanzahl gemäß überwachten Werten der Zustandsanzeigen, die während des Durchführens der Wartungsaktivität überwacht wurden.
DE112019002416.7T 2018-07-23 2019-06-28 Gleichzeitiges warten einer anzahl von datenverarbeitungsknoten durch dynamisches aktualisieren Pending DE112019002416T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/042,429 US10824413B2 (en) 2018-07-23 2018-07-23 Maintenance of computing nodes concurrently in a number updated dynamically
US16/042,429 2018-07-23
PCT/IB2019/055486 WO2020021357A1 (en) 2018-07-23 2019-06-28 Maintenance of computing nodes concurrently in a number updated dynamically

Publications (1)

Publication Number Publication Date
DE112019002416T5 true DE112019002416T5 (de) 2021-03-04

Family

ID=69161887

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019002416.7T Pending DE112019002416T5 (de) 2018-07-23 2019-06-28 Gleichzeitiges warten einer anzahl von datenverarbeitungsknoten durch dynamisches aktualisieren

Country Status (6)

Country Link
US (1) US10824413B2 (de)
JP (1) JP7212443B2 (de)
CN (1) CN112400159A (de)
DE (1) DE112019002416T5 (de)
GB (1) GB2587592B (de)
WO (1) WO2020021357A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678574B1 (en) * 2017-11-01 2020-06-09 Amazon Technologies, Inc. Reconfiguration rate-control

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130897B2 (en) 2001-10-11 2006-10-31 International Business Machines Corporation Dynamic cluster versioning for a group
US7937697B2 (en) * 2005-05-19 2011-05-03 International Business Machines Corporation Method, system and computer program for distributing software patches
US20070033635A1 (en) * 2005-08-02 2007-02-08 Hirsave Praveen P K Method, apparatus, and program product for autonomic patch deployment based on autonomic patch risk assessment and policies
CN101741894B (zh) 2008-11-26 2012-09-19 中国移动通信集团公司 一种分布式系统的升级方法、升级调度节点及系统
EP2483797A4 (de) * 2009-09-29 2013-08-07 Amazon Tech Inc Zuordnung von kausalitäten zu änderungen an programmausführungskapazitäten und dynamische änderung von programmausführungskapazitäten
US8589535B2 (en) 2009-10-26 2013-11-19 Microsoft Corporation Maintaining service performance during a cloud upgrade
US9032053B2 (en) 2010-10-29 2015-05-12 Nokia Corporation Method and apparatus for upgrading components of a cluster
ITMI20111209A1 (it) * 2011-06-30 2012-12-31 Ibm Monitoraggio a livello utente in un ambiente di elaborazione a nuvola
US20130019015A1 (en) * 2011-07-12 2013-01-17 International Business Machines Corporation Application Resource Manager over a Cloud
US9286052B1 (en) 2011-09-15 2016-03-15 Emc Corporation Upgrading software on a pair of nodes in a clustered environment
CN102325054A (zh) * 2011-10-18 2012-01-18 国网电力科学研究院 一种分布式计算管理平台机群分级管理的自适应调整方法
US9170852B2 (en) * 2012-02-02 2015-10-27 Microsoft Technology Licensing, Llc Self-updating functionality in a distributed system
US9141487B2 (en) 2013-01-15 2015-09-22 Microsoft Technology Licensing, Llc Healing cloud services during upgrades
US9298443B2 (en) * 2013-02-14 2016-03-29 International Business Machines Corporation System and method for determining when cloud virtual machines need to be updated
US9450853B2 (en) * 2013-10-16 2016-09-20 International Business Machines Corporation Secure cloud management agent
US9300552B2 (en) * 2013-12-16 2016-03-29 International Business Machines Corporation Scaling a cloud infrastructure
US10755220B2 (en) * 2014-03-17 2020-08-25 International Business Machines Corporation Service level agreement impact modeling for service engagement
US20150378701A1 (en) * 2014-06-26 2015-12-31 Microsoft Corporation Cross-environment orchestration of deployment activities
US20160321319A1 (en) 2015-05-02 2016-11-03 Kcura Llc Methods and apparatus for upgrading a plurality of databases
CN105005487B (zh) 2015-06-29 2018-06-22 清华大学 一种持续服务的高性能集群操作系统在线升级方法
CN106357546A (zh) 2015-07-21 2017-01-25 中兴通讯股份有限公司 路由器集群的升级系统、方法及装置
JP6387330B2 (ja) * 2015-08-21 2018-09-05 日本電信電話株式会社 管理サーバ装置及び管理プログラム
US9986043B2 (en) * 2015-08-26 2018-05-29 International Business Machines Corporation Technology for service management applications and cloud workload migration
US20170115978A1 (en) 2015-10-26 2017-04-27 Microsoft Technology Licensing, Llc Monitored upgrades using health information
CN106354531B (zh) 2016-08-25 2020-03-27 杭州华为数字技术有限公司 物理节点升级方法及装置
US20180060315A1 (en) * 2016-08-31 2018-03-01 International Business Machines Corporation Performing file system maintenance
US11316744B2 (en) * 2016-12-21 2022-04-26 Juniper Networks, Inc. Organizing execution of distributed operating systems for network devices
CN107734035B (zh) * 2017-10-17 2020-04-28 华南理工大学 一种云计算环境下的虚拟集群自动伸缩方法
CN107844376A (zh) * 2017-11-21 2018-03-27 北京星河星云信息技术有限公司 计算系统的资源调配方法、计算系统、介质和服务器

Also Published As

Publication number Publication date
GB202100733D0 (en) 2021-03-03
GB2587592B (en) 2021-09-29
GB2587592A (en) 2021-03-31
WO2020021357A1 (en) 2020-01-30
JP2021532460A (ja) 2021-11-25
JP7212443B2 (ja) 2023-01-25
US10824413B2 (en) 2020-11-03
CN112400159A (zh) 2021-02-23
US20200026507A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
DE112018004349T5 (de) Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen
DE112010004420T5 (de) Verfahren und System zur Verbesserung der Ausführungszeit von Software durch Optimierung elnes Leistungsmodells
DE102016221811A1 (de) Zuordnung von Ressourcen mit mehrschichtigem Speicher
DE102015105884A1 (de) Zuverlässige und deterministische Live-Migration von virtuellen Maschinen
DE112012004999T5 (de) Beschleunigungselement zur Cloud-Bereitstellung
DE112021003276T5 (de) Ressourcenverwaltung einer softwareanwendung mit mehreren softwarekomponenten
DE112020002189T5 (de) Container-basierte anwendungen
DE112011100739T5 (de) Programmatisches Ermitteln eines Ausführungsmodus für eine Anforderungszuteilungunter Verwendung von historischen Masszahlen
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE102016101779A1 (de) Feedback-Analyse für ein zeitliches Planen eines Verwalters für virtuelle Maschinen
DE112020004661T5 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE112018005268T5 (de) Priorisieren von anwendungen für eine diagonale skalierung in einer verteilten datenverarbeitungsumgebung
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE112021005586T5 (de) Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene
DE102016203598A1 (de) Gemeinschaftliche sammlung von diagnosedaten von softwareprogrammen
DE112021003294T5 (de) Systemverwaltung auf grundlage von leistung und leistungsfähigkeit
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE102014108049A1 (de) Intelligente Abfragehäufigkeit
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE102012221928B4 (de) Dynamische Verwaltung von Speicherlebensdauer in Hybridspeicherkonfigurationen
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE112013000770B4 (de) Höhere Auslagerungseffizienz

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009440000

Ipc: G06F0008650000

R084 Declaration of willingness to licence