DE112021001974T5 - Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten - Google Patents

Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten Download PDF

Info

Publication number
DE112021001974T5
DE112021001974T5 DE112021001974.0T DE112021001974T DE112021001974T5 DE 112021001974 T5 DE112021001974 T5 DE 112021001974T5 DE 112021001974 T DE112021001974 T DE 112021001974T DE 112021001974 T5 DE112021001974 T5 DE 112021001974T5
Authority
DE
Germany
Prior art keywords
reconfiguration
time
actions
estimated
determining
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
DE112021001974.0T
Other languages
English (en)
Inventor
Qais Noorshams
Simon Spinner
Norman Böwing
Marco Selig
Pradeep PARAMESHWARAN
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 DE112021001974T5 publication Critical patent/DE112021001974T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Proaktives Durchführen von Aufgaben auf der Grundlage eines Schätzens von Hardwarerekonfigurationszeiten. Vor einem Durchführen von einer oder mehreren Rekonfigurationsaktionen, um eine Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren, wird mindestens eine geschätzte Rekonfigurationszeit zum Durchführen der einen oder der mehreren Rekonfigurationsaktionen festgestellt. Mindestens eine Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen wird durchgeführt und eine oder mehrere Aufgaben werden vor dem Fertigstellen der einen oder der mehreren Rekonfigurationsaktionen eingeleitet. Das Einleiten beruht auf der mindestens einen geschätzten Rekonfigurationszeit.

Description

  • HINTERGRUND
  • Ein oder mehrere Aspekte beziehen sich im Allgemeinen auf ein Vereinfachen einer Verarbeitung innerhalb einer Datenverarbeitungsumgebung und insbesondere auf ein dynamisches Neukonfigurieren von Hardware der Datenverarbeitungsumgebung, um eine Verarbeitung innerhalb der Datenverarbeitungsumgebung zu vereinfachen.
  • Eine Konfiguration einer Datenverarbeitungsumgebung umfasst ein Definieren und Aktivieren von verschiedenen Hardware- und Softwarekomponenten der Datenverarbeitungsumgebung, darunter, ohne darauf beschränkt zu sein, logische Partitionen, Eingabe-/Ausgabe-(E/A-)Konfigurationen, Betriebssysteme usw. Produkte können verwendet werden, um eine solche Konfiguration zu vereinfachen. Zum Beispiel wird ein von der International Business Machines Corporation, Armonk, New York, angebotenes Hardware Configuration Definition-(HCD-)Produkt verwendet, um die E/A-Konfiguration zu definieren und zu aktivieren.
  • Das Hardware Configuration Definition-(HCD-)Produkt stellt eine Anzeigenschnittstelle bereit, die die Definition von Elementen, wie beispielsweise E/A-Einheiten, ermöglicht und sie mit logischen Partitionen und Betriebssystemen für deren Verwendung verbindet. Das Hardware Configuration Definition-(HCD-)Produkt und andere derartige Produkte können auch bei der Rekonfiguration der Datenverarbeitungsumgebung verwendet werden, sobald diese einmal konfiguriert wurde.
  • KURZDARSTELLUNG
  • Durch die Bereitstellung eines Computerprogrammprodukts, um die Verarbeitung innerhalb einer Datenverarbeitungsumgebung zu vereinfachen, werden Unzulänglichkeiten nach dem Stand der Technik überwunden und zusätzliche Vorteile bereitgestellt. Das Computerprogrammprodukt umfasst mindestens ein durch einen Computer lesbares Speichermedium, das durch mindestens eine Verarbeitungsschaltung lesbar ist und Anweisungen zum Durchführen eines Verfahrens speichert. Das Verfahren umfasst ein Feststellen, vor einem Durchführen von einer oder mehreren Rekonfigurationsaktionen, um eine Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren, von mindestens einer geschätzten Rekonfigurationszeit zum Durchführen der einen oder der mehreren Rekonfigurationsaktionen. Mindestens eine Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen wird durchgeführt. Eine oder mehrere Aufgaben werden vor dem Fertigstellen der einen oder der mehreren Rekonfigurationsaktionen eingeleitet, wobei das Einleiten auf der mindestens einen geschätzten Rekonfigurationszeit beruht.
  • Durch einen Computer ausgeführte Verfahren und Systeme, die sich auf einen oder mehrere Aspekte beziehen, sind ebenfalls hierin beschrieben und beansprucht. Des Weiteren sind Dienste, die sich auf einen oder mehrere Aspekte beziehen, ebenfalls hierin beschrieben und gegebenenfalls beansprucht.
  • Zusätzliche Merkmale und Vorteile werden durch die hierin beschriebenen Techniken realisiert. Weitere Ausführungsformen und Aspekte sind hierin ausführlich beschrieben und werden als ein Teil der beanspruchten Aspekte betrachtet.
  • Figurenliste
  • Ein oder mehrere Aspekte werden in den Ansprüchen am Ende der Spezifikation besonders hervorgehoben und eindeutig als Beispiele beansprucht. Das Vorstehende sowie Aufgaben, Merkmale und Vorteile von einem oder mehreren Aspekten gehen aus der folgenden ausführlichen Beschreibung in Zusammenschau mit den beiliegenden Zeichnungen hervor, bei denen:
    • 1A ein Beispiel einer Datenverarbeitungsumgebung darstellt, um einen oder mehrere Aspekte der vorliegenden Erfindung einzubinden und zu verwenden;
    • 1B ein Beispiel von weiteren Einzelheiten der Datenverarbeitungsumgebung von 1A gemäß einem oder mehreren Aspekten der vorliegenden Erfindung darstellt;
    • 2 ein Beispiel einer Verwendung eines Aktivierungsdienstes zur Rekonfiguration einer Hardwarekonfiguration gemäß einem oder mehreren Aspekten der vorliegenden Erfindung darstellt;
    • 3 ein Beispiel eines Rekonfigurationsprozesses gemäß einem oder mehreren Aspekten der vorliegenden Erfindung darstellt;
    • 4 ein Beispiel von zur Rekonfiguration einer Hardwarekonfiguration verwendeten Komponenten gemäß einem oder mehreren Aspekten der vorliegenden Erfindung darstellt;
    • die 5A bis 5B weitere Einzelheiten eines Rekonfigurationsprozesses gemäß einem oder mehreren Aspekten der vorliegenden Erfindung darstellen;
    • 6 ein Beispiel eines neu konfigurierten Systems gemäß einem Aspekt der vorliegenden Erfindung darstellt;
    • 7A ein weiteres Beispiel einer Datenverarbeitungsumgebung darstellt, um einen oder mehrere Aspekte der vorliegenden Erfindung einzubinden und zu verwenden;
    • 7B weitere Einzelheiten des Arbeitsspeichers von 7A darstellt;
    • 8 eine einzelne Ausführungsform einer Cloud-Computing-Umgebung darstellt; und
    • 9 ein Beispiel von Abstraktionsmodellschichten darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein oder mehrere Aspekte beziehen sich auf eine Systemrekonfiguration, wie beispielsweise eine dynamische Hardwarerekonfiguration innerhalb einer Datenverarbeitungsumgebung. Eine dynamische Hardwarerekonfiguration ermöglicht eine Rekonfiguration von Hardware- und Softwarekomponenten einer Datenverarbeitungsumgebung, wie beispielsweise logischen Partitionen, Steuereinheiten, Eingabe-/Ausgabe-(E/A-)Einheiten, Betriebssystemen usw., ohne ein einleitendes Programmladen (IPL, initial program load) oder eine Systeminitialisierung und Grundstellung (POR, power on reset) erforderlich zu machen. Zum Beispiel beziehen sich ein oder mehrere Aspekte auf ein proaktives Durchführen (z.B. Einleiten und/oder Verarbeiten) von ausgewählten Aufgaben (z.B. Folgeaufgaben) auf der Grundlage von geschätzten Rekonfigurationszeiten zum Durchführen einer Rekonfiguration, wie beispielsweise einer dynamischen Hardwarerekonfiguration.
  • Als ein Beispiel wird eine Funktion bereitgestellt, um die Zeit zu messen, die aufgewendet wird, um eine oder mehrere Rekonfigurationsaktionen festzustellen, die durchzuführen sind, um eine Datenverarbeitungsumgebung neu zu konfigurieren, und um vor dem Durchführen der Rekonfiguration zu schätzen, wie lange es dauern wird, die eine oder die mehreren Rekonfigurationsaktionen durchzuführen, wobei mindestens eine geschätzte Rekonfigurationszeit bereitgestellt wird. Die mindestens eine geschätzte Rekonfigurationszeit wird verwendet, um ausgewählte Aufgaben vor dem Fertigstellen der Rekonfiguration (d.h. vor dem Fertigstellen der Verarbeitung der einen oder der mehreren Rekonfigurationsaktionen, die zur Rekonfiguration der Datenverarbeitungsumgebung verwendet werden) proaktiv durchzuführen (z.B. einzuleiten und/oder zu verarbeiten). Dadurch können diese Aufgaben so bald wie möglich verarbeitet werden, was die Systemausfallzeit verringert und auf ein Minimum beschränkt.
  • Die Funktion umfasst des Weiteren, in einem weiteren Aspekt, ein Neuberechnen von geschätzten Rekonfigurationszeiten unter Verwendung von gemessenen Rekonfigurationszeiten, die während der Verarbeitung der einen oder der mehreren Rekonfigurationsaktionen festgestellt werden, um die mindestens eine geschätzte Rekonfigurationszeit anzupassen. Dies verbessert die mindestens eine geschätzte Rekonfigurationszeit, was es ermöglicht, zukünftige Rekonfigurationszeiten mit einer höheren Genauigkeit zu schätzen.
  • Eine einzelne Ausführungsform einer Datenverarbeitungsumgebung zur Einbindung und Verwendung von einem oder mehreren Aspekten der vorliegenden Erfindung ist unter Bezugnahme auf 1A beschrieben. In einem Beispiel beruht die Datenverarbeitungsumgebung auf der Hardwarearchitektur ‚z/Architecture®‘, wobei ein Beispiel dieser Hardwarearchitektur in einer Publikation mit dem Titel „z/Architecture Principles of Operation“, IBM Publication No. SA22-7832-12, 13. Ausgabe, September 2019 beschrieben ist, die hiermit in ihrer Gesamtheit durch Bezugnahme Bestandteil hiervon ist. Die Hardwarearchitektur ‚z/Architecture‘ ist jedoch nur eine einzelne beispielhafte Architektur; andere Architekturen und/oder Arten von Datenverarbeitungsumgebungen können einen oder mehrere Aspekte der vorliegenden Erfindung umfassen und/oder verwenden.
  • In einem Beispiel umfasst eine Datenverarbeitungsumgebung 100 einen Zentralprozessorkomplex 102, wobei ein Beispiel dafür ein Z®-Zentralprozessorkomplex von IBM ist, der ein oder mehrere z15™-Systeme von IBM, als besonderes Beispiel, umfasst. Andere Zentralprozessorkomplexe und/oder andere Systeme, die auf den gleichen oder anderen Hardwarearchitekturen beruhen, können ebenfalls einen oder mehrere Aspekte der vorliegenden Erfindung enthalten und verwenden. IBM, z/Architecture, IBM Z und IBM z15 sind Marken oder in mindestens einer Gerichtsbarkeit eingetragene Marken der International Business Machines Corporation. Als Beispiel umfasst der Zentralprozessorkomplex 102 zum Beispiel einen Arbeitsspeicher 104 (der auch als Systemspeicher, Hauptspeicher, zentraler Speicher bezeichnet wird), der mit einem oder mehreren Prozessoren (die auch als zentrale Verarbeitungseinheiten (CPUs) bezeichnet werden) 106 und einem Eingabe-/Ausgabe-Subsystem 108 verbunden ist, die jeweils nachstehend näher beschrieben sind.
  • Der Arbeitsspeicher 104 umfasst zum Beispiel eine oder mehrere logische Partitionen 110, einen Hypervisor 112, der die logischen Partitionen verwaltet, und eine Prozessorfirmware 114. Ein Beispiel eines Hypervisors 112 ist der Hypervisor ‚Processor Resource/System Manager (PRISM™)‘, der von der International Business Machines Corporation, Armonk, New York, angeboten wird. In der Verwendung hierin umfasst Firmware z.B. den Mikrocode des Prozessors. Sie umfasst zum Beispiel die Anweisungen auf Hardwareebene und/oder Datenstrukturen, die bei der Ausführung von Maschinencode einer höheren Ebene verwendet werden. In einer einzelnen Ausführungsform umfasst sie zum Beispiel proprietären Code, der üblicherweise als Mikrocode geliefert wird, welcher vertrauenswürdige Software oder Mikrocode umfasst, der spezifisch für die zugrunde liegende Hardware ist, und den Betriebssystemzugriff auf die Systemhardware steuert. PRISM ist eine Marke oder eine in mindestens einer Gerichtsbarkeit eingetragene Marke der International Business Machines Corporation.
  • Jede logische Partition 110 kann ein Betriebssystem 116, wie beispielsweise ein Betriebssystem z/OS oder ein anderes Betriebssystem ausführen und mit verschiedenen Programmen 118 arbeiten. z/OS ist eine Marke oder eine in mindestens einer Gerichtsbarkeit eingetragene Marke der International Business Machines Corporation.
  • Der Arbeitsspeicher 104 ist mit Prozessoren (z.B. CPUs) 106 verbunden, bei denen es sich um physische Prozessorressourcen handelt, die den logischen Partitionen zugeordnet werden können. Zum Beispiel umfasst eine logische Partition 110 einen oder mehrere logische Prozessoren, von denen jeder die gesamte oder einen Teil einer physischen Prozessorressource 106 darstellt, die der logischen Partition dynamisch zugeordnet werden kann.
  • Des Weiteren ist der Arbeitsspeicher 104 mit dem E/A-Subsystem 108 verbunden. Das E/A-Subsystem 108 kann ein Teil des Zentralprozessorkomplexes oder davon getrennt sein. Es steuert den Informationsfluss zwischen dem Hauptspeicher 104 und Eingabe-/Ausgabe-Steuereinheiten 120 und/oder Eingabe-/Ausgabe-(E/A)-Einheiten 122, die mit dem Zentralprozessorkomplex verbunden sind.
  • Viele Arten von E/A-Einheiten 122 können verwendet werden. Eine bestimmte Art ist eine Datenspeichereinheit 130. Die Datenspeichereinheit 130 kann ein oder mehrere Programme 132, eine oder mehrere durch einen Computer lesbare Programmanweisungen 134 und/oder Daten usw. speichern. Die durch einen Computer lesbaren Programmanweisungen können so konfiguriert sein, dass sie Funktionen von Ausführungsformen von Aspekten der Erfindung ausführen.
  • Der Zentralprozessorkomplex 102 kann auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems umfassen und/oder damit verbunden sein. Zum Beispiel kann er einen nicht auswechselbaren, nicht flüchtigen magnetischen Datenträger (der üblicherweise als „Festplattenlaufwerk“ bezeichnet wird), ein Magnetplattenlaufwerk, um von einer auswechselbaren, nicht flüchtigen Magnetplatte (z.B. einer „Diskette“) zu lesen und auf sie zu schreiben, und/oder ein optisches Plattenlaufwerk, um von einer auswechselbaren, nicht flüchtigen optischen Platte, wie beispielsweise einem CD-ROM, DVD-ROM oder einem anderen optischen Medium, zu lesen oder auf sie zu schreiben, umfassen und/oder damit verbunden sein. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Zentralprozessorkomplex 102 verwendet werden könnten. Zu Beispielen gehören, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Plattenlaufwerken, RAID-Systeme, Bandlaufwerke sowie Speichersysteme zur Datenarchivierung usw.
  • Überdies kann der Zentralprozessorkomplex 102 mit zahlreichen anderen Universal- oder Spezialdatenverarbeitungssystemumgebungen oder -konfigurationen betrieben werden. Zu Beispielen für hinlänglich bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die gegebenenfalls zur Verwendung mit dem Zentralprozessorkomplex 102 geeignet sind, gehören, ohne darauf beschränkt zu sein, Personal Computer-(PC-)Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Mehrprozessorsysteme, auf einem Mikroprozessor beruhende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der vorstehenden Systeme oder Einheiten umfassen, und dergleichen.
  • Weitere Einzelheiten bezüglich einer einzelnen Ausführungsform einer Datenverarbeitungsumgebung, wie beispielsweise der Datenverarbeitungsumgebung 100, sind unter Bezugnahme auf 1B beschrieben. In einer einzelnen Ausführungsform ist das Eingabe/Ausgabe-(E/A-)Subsystem 108 ein Kanalsubsystem 150, das Befehle in Kanalprogrammen von einem oder mehreren Betriebssystemen (z.B. dem Betriebssystem 116) empfängt. Ein Kanalprogramm umfasst ein oder mehrere Kanalbefehlswörter (CCWs, channel command words) und jedes Kanalbefehlswort umfasst einen Befehl (z.B. lesen, schreiben, steuern) und eine Datenadresse zur Verwendung bei der Datenübertragung. Das Kanalsubsystem leitet die Befehle über z.B. Kanäle 152 an eine oder mehrere Übertragungskomponenten der Datenverarbeitungsumgebung weiter, wie beispielsweise an einen oder mehrere Switches 154, die in einem Beispiel mit einer oder mehreren Steuereinheiten 120 verbunden sind. Die eine oder die mehreren Steuereinheiten sind mit einer oder mehreren E/A-Einheiten 122 verbunden. Der eine oder die mehreren Switches erhalten die angeforderten Informationen, auf der Grundlage der Befehle, von z.B. einer oder mehreren E/A-Einheiten 122 und geben Ergebnisse zurück an das/die Betriebssystem(e).
  • Gemäß einem oder mehreren Aspekten kann eine Datenverarbeitungsumgebung, wie beispielsweise die Datenverarbeitungsumgebung 100, dynamisch neu konfiguriert werden, indem zum Beispiel eine oder mehrere logische Partitionen, eine oder mehrere Steuereinheiten und/oder eine oder mehrere Einheiten, als Beispiele, hinzugefügt, modifiziert und/oder gelöscht werden. Zum Durchführen einer Hardwarerekonfiguration wird in einem Beispiel eine Hardwarerekonfigurationsdefinition verwendet, wie unter Bezugnahme auf 2 beschrieben ist.
  • Wie in 2 gezeigt ist, läuft ein Hardware Configuration Definition-(HCD-)Produkt 200 auf einem Betriebssystem, wie beispielsweise dem Betriebssystem 116 (z.B. dem Betriebssystem z/OS). Das Hardware Configuration Definition-(HCD-)Produkt 200 wird verwendet, um E/A-Konfigurationen von einem oder mehreren Servern (z.B. z Servern von IBM) der Datenverarbeitungsumgebung (z.B. der Datenverarbeitungsumgebung 100) und deren Betriebssysteme zu definieren und zu aktivieren. Zum Beispiel ermöglicht das Hardware Configuration Definition-Produkt 200 die Definition von Elementen, wie beispielsweise E/A-Einheiten von Speichersystemen, und deren Verbindung mit den Partitionen und Betriebssystemen, um sie über mehrere andere E/A-Elemente zu verwenden.
  • In einem Beispiel ist das Hardware Configuration Definition-Produkt 200 eine Anzeigenschnittstelle, die eine Definition von Elementen der Datenverarbeitungsumgebung vereinfacht und mit einer Schnittstelle, wie beispielsweise einer HCD-Support-Element-(SE-)Schnittstelle 202, die auf einem Support Element 204 ausgeführt wird, Daten austauscht. Das Support Element 204 ist zum Beispiel ein Notebook oder ein Server, das/der mit dem Zentralprozessorkomplex verbunden ist. Es kann Teil des Zentralprozessorkomplexes oder davon getrennt sein. Bei der HCD-Support-Element-Schnittstelle 202 handelt es sich zum Beispiel um eine Befehlszeilenschnittstelle, die mit einem Dienst, wie beispielsweise einem Aktivierungsdienst 210, der auf einer internen Firmwarepartition (z.B. der Prozessorfirmware 114) ausgeführt wird, Daten austauscht.
  • Der Aktivierungsdienst wird in einer einzelnen Ausführungsform verwendet, um die angeforderten Konfigurationsänderungen zumindest einzuleiten. Zum Beispiel führt der Aktivierungsdienst in einem Beispiel Aufrufe (z.B. Kanalsubsystem-(CHSC-)Aufrufe) an ein Kanalsubsystem (z.B. das Kanalsubsystem 150) durch, um einzelne Änderungen durchzuführen, wie beispielsweise Partitionen zu definieren, Kanäle hinzuzufügen/zu modifizieren/zu löschen, Einheiten und/oder E/A-Einheiten, als Beispiele, zu steuern und die Informationen in einem Hardwarespeicherbereich 220 zu speichern. Obgleich verschiedene Konfigurationsänderungen als Beispiele bereitgestellt werden, können viele andere Konfigurationsänderungen vorgenommen werden, ohne von Aspekten der vorliegenden Erfindung abzuweichen.
  • In einer einzelnen Ausführungsform durchläuft ein Systemadministrator eine Reihe von Vorbereitungsschritten, um eine Systemkonfiguration zu ändern. Anschließend wird eine dynamische Hardwareaktivierungsphase gestartet und der Systemadministrator wartet auf deren Fertigstellung, was je nach der Rekonfiguration mehrere Stunden, sogar Tage, dauern könnte. Der Administrator hat keine Kontrolle über die Zeit, die die Aktivierung (z.B. Rekonfiguration) bis zur Fertigstellung in Anspruch nimmt. Dies macht die Terminierung von zusätzlichen Rekonfigurations- oder anderen Wartungsaktivitäten schwierig, und um auf der sicheren Seite zu sein, wird die Größe eines Wartungsfensters oder -zeitrahmens zu groß gewählt. Somit werden gemäß einem Aspekt der vorliegenden Erfindung empirische Statistiken verwendet, um die Aktivierungs- oder Rekonfigurationszeit vorherzusagen. Die vorhergesagte Zeitschätzung steht im Voraus zur Verfügung, so dass eine Wartung dementsprechend zuverlässig und ohne die Notwendigkeit einer Fenstergröße, die zu groß ist, terminiert werden kann.
  • Obgleich der Systemadministrator hierin als jemand beschrieben ist, der die Konfiguration/Rekonfiguration verwaltet, können es in anderen Ausführungsformen andere Administratoren, Benutzer oder sogar ein Datenverarbeitungssystem oder eine Komponente sein, das bzw. die so konfiguriert ist, dass es/sie Rekonfigurationsänderungen feststellt, die Vorbereitungsschritte durchführt, eine Wartung terminiert usw.
  • Um die Rekonfigurationszeit zum Durchführen einer angeforderten Systemrekonfiguration vorherzusagen und um die für einen Rekonfigurationsprozess aufgewendete Zeit zu verwalten, wird in einem Aspekt eine Funktion bereitgestellt, um die Zeit(en) zu überwachen und zu messen, die aufgewendet wird/werden, um die durchzuführenden Hardwarerekonfigurationsänderungen festzustellen und um Schätzungen in Bezug auf die tatsächlichen Rekonfigurationsänderungen bereitzustellen. Diese Funktion umfasst zum Beispiel ein Messen der zum Feststellen der durchzuführenden Hardwarerekonfigurationsänderungen aufgewendeten Zeit (z.B. der Zeit, die aufgewendet wird, um die jeweiligen Rekonfigurationsaktionen festzustellen, die durchzuführen sind, um das System auf der Grundlage der Rekonfigurationsanforderung neu zu konfigurieren); ein im Voraus erfolgendes Schätzen der tatsächlichen Hardwarerekonfigurationszeiten; ein Beobachten und Selbstanpassen der Schätzungen auf der Grundlage der laufenden Rekonfiguration während und/oder auf der Grundlage der tatsächlichen Rekonfiguration; und ein Auslösen der Vorbereitung von ausgewählten Aufgaben, wie beispielsweise einer Arbeitslastfortsetzung (z.B. Benachrichtigen des Administrators, Einleiten einer Arbeitslastmigration usw.) bei Fast-Fertigstellung (z.B. wenn nur noch bestimmte Aktionen (z.B. Hinzufügeaktionen) durchgeführt werden müssen; nachdem bestimmte Gruppen von Aktionen durchgeführt wurden usw.).
  • Weitere Einzelheiten bezüglich des Überwachens, Messens und Schätzens sind unter Bezugnahme auf 3 beschrieben. Gemäß einem Aspekt der vorliegenden Erfindung sind eine oder mehrere Hardwareänderungen geplant (z.B. durch den Systemadministrator oder automatisch durch einen Prozessor auf der Grundlage einer Verarbeitung innerhalb der Datenverarbeitungsumgebung), SCHRITT 300. Auf der Grundlage der geplanten Änderungen wird eine vorgeschlagene Konfiguration definiert, SCHRITT 302. Zum Beispiel wird eine angeforderte Konfiguration mit der aktuellen Konfiguration verglichen, um die vorzunehmenden Änderungen festzustellen, und eine oder mehrere Rekonfigurationsaktionen, die durchzuführen sind, um die Konfiguration neu zu konfigurieren, ohne die Änderungen in Kraft zu setzen, werden angegeben. Eine Testaktivierung der vorgeschlagenen Konfiguration wird dann unter Verwendung eines Aktivierungsdienstes, z.B. eines Hardwareaktivierungsdienstes 210, durchgeführt, der eine oder mehrere weitere Komponenten verwenden kann, SCHRITT 304. Die Testaktivierung umfasst zum Beispiel ein Schätzen von mindestens einer Rekonfigurationszeit für die angegebenen Rekonfigurationsaktionen. Der Systemadministrator (und/oder Prozessor) wartet auf die Testergebnisse, die dann ausgewertet werden, SCHRITT 306.
  • Des Weiteren wird gemäß einem Aspekt der vorliegenden Erfindung eine Messung der Zeit durchgeführt, die ein Vergleichen der Konfigurationen und ein Angeben der durchzuführenden Aktionen, um die Datenverarbeitungsumgebung neu zu konfigurieren, in Anspruch nahm, wie von der vorgeschlagenen Konfiguration angegeben wird, SCHRITT 308.
  • Optional werden, wenn dynamische Softwareaktivierungen durchzuführen sind, diese durchgeführt, SCHRITT 310. Zusätzlich werden die angeforderten dynamischen Hardwareaktivierungen durchgeführt, um die Datenverarbeitungsumgebung neu zu konfigurieren, SCHRITT 312. Zum Beispiel werden die angegebenen Rekonfigurationsaktionen durchgeführt und der Administrator (und/oder Prozessor) wartet auf die Ergebnisse, SCHRITT 314. Während dieser Aktivierungszeit steht das System nicht zur Verfügung. Auf der Grundlage der Ergebnisse (oder zumindest von Teilergebnissen) der Rekonfiguration werden eine oder mehrere Folgeaufgaben ausgelöst, SCHRITT 318. Gemäß einem Aspekt der vorliegenden Erfindung werden eine oder mehrere Folgeaufgaben vor dem Fertigstellen der Rekonfiguration auf der Grundlage von, zum Beispiel, geschätzten Rekonfigurationszeiten ausgelöst.
  • Überdies wird/werden gemäß einem Aspekt der vorliegenden Erfindung eine oder mehrere geschätzte Rekonfigurationszeit(en) während und/oder auf der Grundlage der tatsächlichen Rekonfiguration (d.h. zwischen den SCHRITTEN 312 und 314) neu berechnet, SCHRITT 316. Zum Beispiel wird die Zeit, die das Durchführen einer jeden der angegebenen Rekonfigurationsaktionen in Anspruch nimmt, gemessen und zur Neuberechnung (oder Anpassung) der geschätzten Rekonfigurationszeit(en) verwendet.
  • In einem Beispiel können, um die Rekonfigurationszeit(en) zu schätzen (z.B. während der Testaktivierung und/oder während der Aktivierung), eine oder mehrere der folgenden Gleichungen verwendet werden, in einem Beispiel: C = ( c 1 , c 2 , , c i )
    Figure DE112021001974T5_0001
    T success = m p + i | C | t ( c i )
    Figure DE112021001974T5_0002
    T rollback T success + j | C | t ( c j 1 )
    Figure DE112021001974T5_0003
  • Wobei: C eine Liste mit Befehlen, wie beispielsweise CHSC-Befehlen, ist, um die Rekonfiguration durchzuführen (z.B. hinzufügen, löschen, modifizieren); |C| ist die Anzahl der Elemente in C; cj -1 ist die Umkehrung von ci; Tsuccess: Zeit für eine erfolgreiche Rekonfiguration; Trollback: Zeit für eine rückgängig gemachte Rekonfiguration; mp: Für eine Vorbereitung benötigte Zeit; t(c): Zeit für die Ausgabe des Befehls c.
  • In einem Beispiel ist die Funktion t(c) eine mehrdimensionale Funktion, die zum Beispiel aus Beobachtungen unter Verwendung von mehrdimensionalen Regressionsanalysetechniken erlernt wird. Ein Beispiel einer mehrdimensionalen Regressionsanalysetechnik ist eine Least-Squares-Technik; andere Techniken können ebenfalls verwendet werden. Die Funktion t(c) ist eine mehrdimensionale Funktion auf bestimmten Eigenschaften von c:
    • * type (c): Der neu zu konfigurierende Elementtyp (z.B. Steuereinheit, E/A-Einheit, logische Partition usw.);
    • * operation (c): Der spezifische Unterbefehl eines Typs (z.B. hinzufügen, modifizieren, löschen);
    • * css (c): Der Index des Kanalsubsystems (CSS, channel subsystem), in dem das Element platziert ist;
    • * elementCount (c): Die Anzahl der Elemente (z.B. CHSC-Elemente) mit demselben Typ in demselben CSS; und
    • * shareability (c): Der Grad der gemeinsamen Nutzbarkeit eines Elements.
  • Obgleich in dem vorstehenden Beispiel bestimmte unabhängige Variablen angegeben sind (z.B. Eigenschaften von c), können weitere, weniger und/oder andere Variablen verwendet werden. Des Weiteren können, obgleich in dem vorstehenden Beispiel das Kanalsubsystem als ein Beispiel verwendet wird, in anderen Beispielen andere E/A-Subsysteme verwendet werden. Viele Varianten sind möglich.
  • In einer einzelnen Ausführungsform können mehrere Komponenten verwendet werden, um eine Rekonfiguration durchzuführen. Beispiele dieser Komponenten sind unter Bezugnahme auf 4 beschrieben. Diese Komponenten können auf einem Prozessor enthalten sein oder ausgeführt werden oder eine oder mehrere der Komponenten können auf einen oder mehrere Prozessoren verteilt sein. Viele Varianten sind möglich. In einem Beispiel umfasst die Firmware 114 eine oder mehrere der durch eine oder mehrere der Komponenten durchgeführte Funktionen. Obgleich bestimmte Komponenten erwähnt werden, handelt es sich dabei außerdem lediglich um Beispiele. Mehr, weniger und/oder andere Komponenten können verwendet werden.
  • Unter Bezugnahme auf 4 wird in einem Beispiel eine Rekonfigurationsanforderung durch einen Aktivierungsdienst, z.B. den Aktivierungsdienst 210, erhalten (z.B. empfangen, bereitgestellt, abgerufen usw.). Auf der Grundlage der Rekonfigurationsanforderung gibt der Aktivierungsdienst eine oder mehrere Rekonfigurationsaktionen an, die durchzuführen sind, um die Datenverarbeitungsumgebung neu zu konfigurieren. Auf der Grundlage der angegebenen Rekonfigurationsaktionen schätzt oder sagt eine Schätzkomponente 400 eine Zeitspanne voraus, die ein Durchführen der Aktionen und somit ein Fertigstellen der Rekonfiguration in Anspruch nehmen wird. In einem Beispiel schätzt die Schätzkomponente 400 eine Zeitspanne, die ein Durchführen der einzelnen Aktionen in Anspruch nehmen wird (z.B. werden t(c) und diese Schätzungen verwendet, um mindestens eine geschätzte Rekonfigurationszeit für ein Fertigstellen der Rekonfiguration bereitzustellen (z.B. Tsuccess, Trollback)).
  • Des Weiteren misst der Aktivierungsdienst 210 in einem Beispiel die Zeitspanne, die eine Vorbereitung der Rekonfiguration in Anspruch nimmt. Zum Beispiel stellt er die Zeitspanne fest, die ein Vergleichen der aktuellen Konfiguration mit der vorgeschlagenen Konfiguration und ein Feststellen der Rekonfigurationsaktionen in Anspruch nehmen, die durchzuführen sind, um die Datenverarbeitungsumgebung auf der Grundlage der Rekonfigurationsanforderung neu zu konfigurieren. Diese gemessene Zeit wird verwendet, um die mindestens eine geschätzte Rekonfigurationszeit für die Rekonfiguration festzustellen. Des Weiteren wird die gemessene Zeit in einem Beispiel durch eine Überwachungs- und Kalibrierkomponente 410 verwendet, um zum Beispiel die geschätzte(n) Rekonfigurationszeit(en) neu zu berechnen und/oder die geschätzte(n) Rekonfigurationszeit(en) auf der Grundlage der Neuberechnung anzupassen. Ein Kalibrierwert wird aus der Überwachungs- und Kalibrierkomponente 410 ausgegeben und in einem Beispiel in die Schätzkomponente 400 eingegeben, um der Schätzkomponente beim Durchführen von geschätzten Rekonfigurationszeiten in der Zukunft zusätzliche Daten bereitzustellen. Zusätzlich ist die Ausgabe aus der Überwachungs- und Kalibrierkomponente 410 in einem Beispiel ein Trigger für eine Vorbereitungsaktionskomponente 430, die zum Beispiel eine Benachrichtigung bezüglich der Rekonfiguration bereitstellen und/oder proaktiv Aufgaben vor dem Fertigstellen der Rekonfiguration einleiten kann. Des Weiteren werden Ausgaben aus der Schätzkomponente 400 und der Überwachungs- und Kalibrierkomponente 410 verwendet, um eine Datenstruktur wie beispielsweise eine Wissensbasis 420 zu aktualisieren.
  • Weitere Einzelheiten zur Verwendung der vorstehend beschriebenen Komponenten, um eine Datenverarbeitungsumgebung auf der Grundlage einer Rekonfigurationsanforderung neu zu konfigurieren, sind unter Bezugnahme auf die 5A bis 5B beschrieben. In einem Beispiel gibt es eine Vorbereitungsphase 500 (5A) und eine Aktivierungsphase 502 (5B). Obgleich bestimmte Komponenten in der Beschreibung hierin als bestimmte Funktionen durchführende Komponenten beschrieben sind, ist dies lediglich ein Beispiel. Mehr, weniger und/oder andere Komponenten können die Funktionen durchführen. Des Weiteren kann es sich, obgleich ein Benutzer angegeben ist, bei dem Benutzer um eine beliebige Entität, darunter einen Prozessor, handeln. Viele Varianten sind möglich.
  • Zunächst unter Bezugnahme auf 5A erhält ein Aktivierungsdienst, wie beispielsweise der Aktivierungsdienst 210, in einer einzelnen Ausführungsform während der Vorbereitungsphase 500 eine Konfigurationsanforderung und vergleicht die angeforderte Konfiguration mit, zum Beispiel, der vorhandenen Konfiguration, SCHRITT 504. Auf der Grundlage des Vergleichs stellt der Aktivierungsdienst 210 zum Beispiel eine oder mehrere Hardwarekomponenten (und optional Softwarekomponenten) fest, die in der Konfiguration hinzugefügt, gelöscht und/oder geändert werden. Der Aktivierungsdienst 210 stellt dann verschiedene Rekonfigurationsaktionen (z.B. hinzufügen, löschen, modifizieren usw.) fest, die durchzuführen sind, um die Datenverarbeitungsumgebung wie angefordert neu zu konfigurieren, SCHRITT 506. Des Weiteren stellt der Aktivierungsdienst 210 fest (z.B. misst er), wie lange ein Vergleichen der Konfigurationen und ein Angeben der Rekonfigurationsaktionen, die verwendet werden sollen, um die Umgebung neu zu konfigurieren, in Anspruch nahm. Dieser gemessene Wert (mp) wird in einer Datenstruktur wie beispielsweise der Wissensbasis 420 gespeichert, SCHRITT 508.
  • Auf der Grundlage der Anforderung wird festgestellt, ob die Anforderung einer Testaktivierung der vorgeschlagenen Konfiguration oder einer tatsächlichen Aktivierung der Rekonfiguration dient, ABFRAGE 510. Diese Feststellung erfolgt durch den Aktivierungsdienst oder eine andere Komponente. Wenn es sich um eine Testaktivierung handelt, schätzt die Schätzkomponente 400 in einer einzelnen Ausführungsform mindestens eine Aktivierungszeit (die hierin auch als mindestens eine geschätzte Rekonfigurationszeit bezeichnet wird) für ein Durchführen der angegebenen Aktionen, um die angeforderte Rekonfiguration bereitzustellen, SCHRITT 514. In einer einzelnen Ausführungsform umfasst eine Schätzung der mindestens einen Aktivierungszeit ein Lesen der gemessenen Vorbereitungszeit (mp) aus einer Datenstruktur, wie beispielsweise der Wissensbasis 420, SCHRITT 518, und ein Berechnen von Tsuccess und Trollback, wie vorstehend beschrieben ist, SCHRITT 520. Danach werden Tsuccess und Trollback zum Beispiel in der Wissensbasis 420 gespeichert, SCHRITT 522, und optional dem Benutzer übergeben, SCHRITT 524. Nachdem die mindestens eine Aktivierungszeit geschätzt wurde, ist die Schätzung abgeschlossen, SCHRITT 526. In einer einzelnen Ausführungsform kann die geschätzte Zeit, die ein Durchführen der einzelnen Aktionen in Anspruch nimmt, verwendet (z.B. aufaddiert) werden, um eine geschätzte Rekonfigurationszeit für die ganze Rekonfiguration festzustellen.
  • Zur ABFRAGE 510 zurückkehrend führt der Aktivierungsdienst 210, wenn eine Aktivierung der angeforderten Rekonfiguration durchgeführt werden soll, dann unter Bezugnahme auf 5B eine ausgewählte Rekonfigurationsaktion der einen oder der mehreren angegebenen Rekonfigurationsaktionen durch, SCHRITT 530. Wenn das Durchführen der ausgewählten Rekonfigurationsaktion aus irgendeinem Grund nicht erfolgreich ist, ABFRAGE 532, schätzt die Schätzkomponente 400 Trollback und speichert sie in z.B. der Wissensbasis 420, SCHRITT 534. Der Aktivierungsdienst 210 macht die nicht erfolgreiche Rekonfigurationsaktion rückgängig, SCHRITT 536. Es wird festgestellt, ob das Rückgängigmachen (Rollback) erfolgreich war, ABFRAGE 538. Wenn es nicht erfolgreich war, endet der Prozess als nicht erfolgreich, SCHRITT 539. Wenn die Umkehrung der ausgewählten Aktion jedoch erfolgreich ist, wird eine weitere Feststellung dahingehend getroffen, ob es weitere Aktionen gibt, die rückgängig gemacht werden sollen, ABFRAGE 540. Zum Beispiel, gibt es mindestens eine zuvor durchgeführte Rekonfigurationsaktion, die aufgrund dessen, dass die ausgewählte Aktion fehlschlug, rückgängig gemacht werden soll? Sollte es eine weitere rückgängig zu machende Rekonfigurationsaktion geben, fährt die Verarbeitung mit dem SCHRITT 536 fort. Andernfalls fährt die Verarbeitung mit einem erfolgreichen Umkehrungsexit fort, SCHRITT 542.
  • Zur ABFRAGE 532 zurückkehrend wird, wenn die Performance der ausgewählten Rekonfigurationsaktion erfolgreich ist, eine weitere Feststellung dahingehend getroffen, ob noch weitere Rekonfigurationsaktionen durchzuführen sind, ABFRAGE 550. Wenn es keine weiteren durchzuführenden Rekonfigurationsaktionen gibt, werden geschätzte Rekonfigurationsaktionen für die im SCHRITT 514 (5A) festgestellte Rekonfiguration mit tatsächlichen, während des Rekonfigurationsprozesses gemachten Messungen verglichen, um einen Unterschied zwischen den geschätzten Zeiten und den tatsächlichen Zeiten (Delta) festzustellen. Es wird festgestellt, ob das Delta größer als ein vordefinierter (z.B. vom Benutzer definierter) Wert ist, der als Tthreshold bezeichnet wird, ABFRAGE 554. Wenn Delta nicht größer als Tthreshold ist, ist die Rekonfiguration der angeforderten Hardware erfolgreich, SCHRITT 556. Wenn das Delta jedoch größer als Tthreshold ist, werden die geschätzten Rekonfigurationszeiten unter Verwendung von, zum Beispiel, tatsächlichen gemessenen Zeiten der Rekonfiguration neu berechnet, SCHRITT 558, und die neu berechneten oder angepassten Zeiten werden in der Wissensbasis 420 gespeichert, SCHRITT 560. Der Benutzer wird in einem Beispiel auch über die neu berechneten Schätzungen benachrichtigt, SCHRITT 560, und der Prozess endet mit einer erfolgreichen Rekonfiguration, SCHRITT 556.
  • Zur ABFRAGE 550 zurückkehrend wird, wenn noch eine oder mehrere Rekonfigurationsaktionen durchzuführen sind, eine weitere Feststellung dahingehend getroffen, ob das Durchführen der Rekonfigurationsaktionen bald zu Ende ist, ABFRAGE 570. Zum Beispiel, verbleibt noch eine bestimmte Menge an geschätzter Rekonfigurationszeit? Ist die geschätzte Zeit der verbleibenden Rekonfigurationsaktionen unter einen gegebenen Schwellenwert gefallen, der z.B. benutzerdefiniert ist? Als spezifisches Beispiel stellt ein Benutzer ein Ziel „Erledige die Aufgabe xy 5 Minuten vor Fertigstellung“ bereit. In diesem Beispiel ist sie somit bald zu Ende, wenn z.B. noch 5 Minuten zur Verfügung stehen. Zusätzlich kann eine Feststellung dahingehend getroffen werden, ob nur noch bestimmte Arten von Rekonfigurationsaktionen durchzuführen sind, wie beispielsweise Hinzufügeaktionen, oder ob eine bestimmte Gruppe von Aktionen abgeschlossen ist, wie beispielsweise Löschaktionen. In diesem Szenario kann eine Schätzung der Dauer der verbleibenden Rekonfigurationszeit berechnet und verwendet werden, um festzustellen, ob sie bald zu Ende ist (z.B. innerhalb einer bestimmten Restzeitdauer, unterhalb eines Schwellenwerts usw.) und somit angibt, ob ausgewählte Aufgaben durchgeführt werden können. Weitere Beispiele sind möglich. Wenn sie nicht bald zu Ende ist, fährt die Verarbeitung mit dem SCHRITT 530 fort. Wenn sie jedoch bald zu Ende ist, wird in einem Beispiel der Benutzer benachrichtigt, SCHRITT 572.
  • Zusätzlich werden Vorbereitungsschritte durchgeführt, SCHRITT 574. Zum Beispiel wird ein Echtzeit-Fertigstellungswahrscheinlichkeitsscore (P_Score) festgestellt, der auf Fertigstellungsverlaufsdaten (die z.B. in einer Datenstruktur, wie beispielsweise der Wissensbasis 420, gespeichert werden) und auf dem tatsächlichen Fortschritt der Fertigstellung während der Durchführung der Rekonfiguration beruht. Des Weiteren wird ein Wahrscheinlichkeitsschwellenwert auf der Grundlage der Kosten für ein Rückgängigmachen von einer oder mehreren Rekonfigurationsaktionen (von z.B. einer oder mehreren noch durchzuführenden Rekonfigurationsaktionen und/oder einer oder mehreren Vorgänger-Rekonfigurationsaktionen) festgestellt. Zum Beispiel wird eine Standard-Schwellenwertwahrscheinlichkeit (z.B. 95 %) oder ein von einem Benutzer bereitgestellter Wert, der den Standardwert außer Kraft setzt, bereitgestellt. Auf der Grundlage des Echtzeit-Fertigstellungswahrscheinlichkeitsscores und des Wahrscheinlichkeitsschwellenwerts wird eine Startzeit für eine Automatisierungsaufgabe, wie beispielsweise eine nächste Hardwarerekonfigurationsaktion oder eine nächste Arbeitslastverarbeitungsaufgabe, als Beispiele, festgestellt
  • Ein spezifisches Beispiel für ein Feststellen einer empirischen Wahrscheinlichkeit umfasst: die Wahrscheinlichkeit, dass eine Aktion fehlschlägt: p f a i l = a f a i l a t o t a l ,
    Figure DE112021001974T5_0004
    wobei afail die Anzahl der Rekonfigurationsaktionen ist, die je fehlgeschlagen sind, und atotal die Anzahl der Rekonfigurationsaktionen ist, die je ausgeführt wurden. Der Wahrscheinlichkeitsscore (Wahrscheinlichkeit, dass der Prozess erfolgreich ist): pscore = (1 - pfail)n, wobei n die Anzahl der verbleibenden Rekonfigurationsaktionen ist.
  • Auf der Grundlage, zum Beispiel, der vorstehenden Vorbereitung und insbesondere auf der Grundlage, zum Beispiel, des Vorhandenseins eines bestimmten Vertrauensniveaus (z.B. eines bestimmten Prozentsatzes, der gleich dem oder höher als der Wahrscheinlichkeitsschwellenwert ist) werden eine oder mehrere Automatisierungsaufgaben ausgelöst, SCHRITT 576. Als Beispiele kann eine Migration von Arbeitslast eingeleitet werden, um die Konfiguration in einem gespiegelten Rechenzentrum zu aktivieren; eine nächste Rekonfigurationsaktion der gleichen oder einer anderen Rekonfiguration wird terminiert; und/oder ein Benutzer wird benachrichtigt usw. Die ausgewählten Aufgaben werden vor dem Fertigstellen der Rekonfiguration eingeleitet und beruhen auf mindestens der geschätzten Rekonfigurationszeit (z.B. Tsuccess und/oder Trollback).
  • Die Verarbeitung fährt mit dem SCHRITT 530 fort.
  • In einer einzelnen Ausführungsform wird die Liste der durch den Aktivierungsdienst 210 angegebenen Rekonfigurationsaktionen zuerst nach dem Typ der Änderung (z.B. löschen, modifizieren, hinzufügen) und dann hierarchisch nach dem Typ des betroffenen Elements (z.B. Partition, Kanalpfad, Einheit usw.) sortiert, um eine oder mehrere Automatisierungsaufgaben auszulösen. Eine Beispielsortierung umfasst: gelöschter Zugriff für Elemente, gelöschte Elemente, modifizierte Elemente, hinzugefügte Elemente und hinzugefügte Zugriffselemente.
  • In einer einzelnen Ausführungsform können Automatisierungsaufgaben ausgelöst werden, nachdem beliebige dieser Änderungsgruppen aktiviert wurden und bevor die ganze Rekonfiguration fertiggestellt wird. Als ein Beispiel, wenn nur Elemente hinzugefügt werden sollen, kann der Prozess heuristisch als ein Prozess mit einer hohen Erfolgsaussicht betrachtet werden und folglich können eine oder mehrere Aufgaben (z.B. eine oder mehrere Folgeaufgaben), wie beispielsweise eine Migration einer Arbeitslast, als Vorbereitung eingeleitet werden, um zum Beispiel die Konfiguration in einem gespiegelten Rechenzentrum zu aktivieren. Als ein weiteres Beispiel können, nachdem weitere kritische Aktionen, z.B. das Löschen eines Elements, verarbeitet wurden und bald zu Ende sind, eine oder mehrere Aufgaben eingeleitet werden. Ein geschätztes Aktivierungsende kann neu berechnet und präzisiert werden, nachdem eine jede dieser Änderungsgruppen aktiviert wurde.
  • Ein bestimmtes Rekonfigurationsbeispiel ist in 6 dargestellt. In diesem Beispiel soll eine vorhandene Partition (z.B. die Partition 2 (P2) 600) Zugriff auf eine Einheit 602 haben und eine vorhandene Einheit 604 (ihre logische Definition) soll gelöscht werden. Die erforderlichen Änderungen werden festgestellt und nach Typ sortiert, wie vorstehend beschrieben ist. In einer einzelnen Ausführungsform werden die zu löschenden Aktionen dann zuerst verarbeitet. Die verbleibenden Aktionen bestehen sodann darin, Partitionen Zugriff auf die Elemente zu gewähren. Bevor diese Aktion eingeleitet wird, könnte der Trigger erkennen, dass nur Zugriffshinzufügungen übrig bleiben und Folgeaufgaben auslösen (z.B. auf der Grundlage der geschätzten, für das Durchführen der Rekonfiguration verbleibenden Zeit).
  • Gemäß einem oder mehreren Aspekten werden ausgewählte Aufgaben (z.B. Folgeaufgaben) auf der Grundlage von geschätzten Rekonfigurationszeiten proaktiv durchgeführt (z.B. eingeleitet und/oder verarbeitet). Als ein Beispiel wird eine Funktion für eine Systemrekonfiguration (z.B. eine dynamische Hardwarerekonfiguration) bereitgestellt, welche die Zeit misst, die aufgewendet wird, um eine oder mehrere Rekonfigurationsaktionen festzustellen, die durchzuführen sind, um eine Datenverarbeitungsumgebung neu zu konfigurieren, und die vor dem Durchführen der Rekonfiguration schätzt, wie lange es dauern wird, die eine oder die mehreren Rekonfigurationsaktionen durchzuführen. Diese geschätzte Rekonfigurationszeit wird verwendet, um ausgewählte Aufgaben vor dem Fertigstellen der Rekonfiguration (d.h. vor dem Fertigstellen der Verarbeitung der einen oder der mehreren Rekonfigurationsaktionen, die zur Rekonfiguration verwendet werden) proaktiv einzuleiten. Dadurch können diese Aufgaben so bald wie möglich verarbeitet werden, was die Systemausfallzeit auf ein Minimum beschränkt.
  • Ein weiterer Aspekt umfasst ein Neuberechnen der geschätzten Rekonfigurationszeit(en) unter Verwendung von gemessenen Rekonfigurationszeiten, die während der Verarbeitung der einen oder der mehreren Rekonfigurationsaktionen festgestellt werden, um die geschätzte(n) Rekonfigurationszeit(en) anzupassen. Dies verbessert die geschätzte(n) Rekonfigurationszeit(en), was es ermöglicht, (eine) zukünftige Rekonfigurationszeit(en) mit einer höheren Genauigkeit zu schätzen.
  • Ein proaktiver Ansatz wird bereitgestellt, um die Zuverlässigkeit und die Zeit zu schätzen, um auf eine Systemrekonfiguration und ihre geschätzte Fertigstellungszeit zu reagieren. Eine gute Schätzung der gesamten Fertigstellungszeit mit hoher Zuverlässigkeit wird bereitgestellt, um nachfolgende Prozessschritte so bald wie möglich einleiten zu können, um die Systemausfallzeit zu verringern und auf ein Minimum zu beschränken.
  • Gemäß einem oder mehreren Aspekten wird eine genaue Schätzung einer Zeit bereitgestellt, welche die Durchführung einer Rekonfiguration in Anspruch nimmt (wobei auf diese Weise ein Wartungsfenster bereitgestellt wird). Ein Echtzeit-Fortschrittsansicht wird bereitgestellt, ebenso wie eine Rollback-Zeitschätzung. Dies ermöglicht eine genaue Terminierung des Wartungsfensters, Zuverlässigkeit bei Rekonfigurationsaufgaben und eine Minimierung von Ausfallzeiten von Systemen.
  • Ein oder mehrere Aspekte der vorliegenden Erfindung sind untrennbar mit Computertechnologie verbunden und vereinfachen eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung. Eine Funktion wird bereitgestellt, um die Ausfallzeit eines Systems, das neu konfiguriert wird, auf ein Minimum zu beschränken, indem bestimmte Aufgaben vor dem Fertigstellen der Rekonfiguration proaktiv durchgeführt werden. Dies verbessert die Leistungsfähigkeit des Systems.
  • Obgleich hierin verschiedene Ausführungsformen beschrieben sind, sind viele Varianten und weitere Ausführungsformen möglich, ohne von einem Wesen von Aspekten der vorliegenden Erfindung abzuweichen. Es sollte angemerkt werden, dass, vorbehaltlich der Unvereinbarkeit, jeder hierin beschriebene Aspekt bzw. jedes hierin beschriebene Merkmal sowie Varianten davon gegebenenfalls mit einem beliebigen anderen Aspekt oder Merkmal kombiniert werden können.
  • Aspekte der vorliegenden Erfindung können durch viele Arten von Datenverarbeitungsumgebungen verwendet werden. Eine weitere Ausführungsform einer Datenverarbeitungsumgebung zur Einbindung und Verwendung von einem oder mehreren Aspekten der vorliegenden Erfindung ist unter Bezugnahme auf 7A beschrieben. In diesem Beispiel umfasst eine Datenverarbeitungsumgebung 10 zum Beispiel eine native zentrale Verarbeitungseinheit (CPU) 12, einen Arbeitsspeicher 14 und eine oder mehrere Eingabe-/Ausgabeeinheiten und/oder Schnittstellen 16, die zum Beispiel über einen oder mehrere Busse 18 und/oder andere Verbindungen miteinander verbunden sind. Als Beispiele kann die Datenverarbeitungsumgebung 10 einen von der International Business Machines Corporation, Armonk, New York angebotenen PowerPC®-Prozessor; einen von der Hewlett Packard Co., Palo Alto, Kalifornien, angebotenen HP Superdome mit Itanium II-Prozessoren von Intel; und/oder andere Rechner umfassen, die auf von der International Business Machines Corporation, Hewlett Packard, Intel Corporation, Oracle oder anderen angebotenen Architekturen beruhen. PowerPC ist eine Marke oder eine in mindestens einer Gerichtsbarkeit eingetragene Marke der International Business Machines Corporation. Intel und Itanium sind Marken oder eingetragene Marken der Intel Corporation oder ihrer Tochtergesellschaften in den Vereinigten Staaten und anderen Ländern.
  • Die native zentrale Verarbeitungseinheit 12 umfasst ein oder mehrere native Register 20, wie beispielsweise ein oder mehrere Universalregister und/oder ein oder mehrere Spezialregister, die während der Verarbeitung innerhalb der Umgebung verwendet werden. Diese Register umfassen Informationen, die den Zustand der Umgebung zu irgendeinem bestimmten Zeitpunkt darstellen.
  • Überdies führt die native zentrale Verarbeitungseinheit 12 im Arbeitsspeicher 14 gespeicherte Anweisungen und Code aus. In einem bestimmten Beispiel führt die zentrale Verarbeitungseinheit im Arbeitsspeicher 14 gespeicherten Emulatorcode 22 aus. Dieser Code ermöglicht es der in einer Architektur konfigurierten Datenverarbeitungsumgebung, eine andere Architektur zu emulieren. Zum Beispiel ermöglicht der Emulatorcode 22 Rechnern, die auf anderen Architekturen als der Hardwarearchitektur ‚z/Architecture‘ beruhen, wie beispielsweise PowerPC-Prozessoren, Superdome-Servern von HP oder anderen, die Hardwarearchitektur ‚z/Architecture‘ zu emulieren sowie Software und Anweisungen auszuführen, die auf der Grundlage der Hardwarearchitektur ‚z/Architecture‘ entwickelt wurden.
  • Weitere Einzelheiten in Bezug auf den Emulatorcode 22 sind unter Bezugnahme auf 7B beschrieben. Im Arbeitsspeicher 14 gespeicherte Gast-Anweisungen 30 weisen Software-Anweisungen (die z.B. mit Maschinenanweisungen korrelieren) auf, die für eine Ausführung in einer anderen Architektur als die der nativen CPU 12 entwickelt wurden. Beispielsweise wurden die Gast-Anweisungen 30 möglicherweise für eine Ausführung auf einem auf der Hardwarearchitektur ‚z/Architecture‘ beruhenden Prozessor konzipiert, werden stattdessen aber auf der nativen CPU 12 emuliert, bei der es sich zum Beispiel um einen Itanium II-Prozessor von Intel handeln kann. In einem Beispiel umfasst der Emulatorcode 22 eine Anweisungsabrufroutine 32, um eine oder mehrere Gast-Anweisungen 30 aus dem Arbeitsspeicher 14 zu erhalten und um optional eine lokale Pufferung für die erhaltenen Anweisungen bereitzustellen. Er umfasst auch eine Anweisungsumsetzungsroutine 34, um die Art der Gast-Anweisung festzustellen, die erhalten wurde, und um die Gast-Anweisung in eine oder mehrere entsprechende native Anweisungen 36 umzusetzen. Diese Umsetzung umfasst zum Beispiel ein Angeben der Funktion, die durch die Gast-Anweisung durchgeführt werden soll, und ein Wählen der nativen Anweisung(en) zum Durchführen dieser Funktion.
  • Außerdem umfasst der Emulatorcode 22 eine Emulationssteuerungsroutine 40, um zu veranlassen, dass die nativen Anweisungen ausgeführt werden. Die Emulationssteuerungsroutine 40 kann die native CPU 12 dazu veranlassen, eine Routine nativer Anweisungen auszuführen, die eine oder mehrere zuvor erhaltene Gast-Anweisungen emulieren, und am Ende dieser Ausführung die Steuerung an die Anweisungsabrufroutine zurückzugeben, um das Erhalten der nächsten Gast-Anweisung oder einer Gruppe von Gast-Anweisungen zu emulieren. Eine Ausführung der nativen Anweisungen 36 kann ein Laden von Daten aus dem Arbeitsspeicher 14 in ein Register; ein Zurückspeichern von Daten aus einem Register in den Arbeitsspeicher; oder ein Durchführen von irgendeiner Art von arithmetischer oder logischer Operation, die von der Umsetzungsroutine bestimmt wird, umfassen.
  • Jede Routine ist zum Beispiel in Software ausgeführt, die im Arbeitsspeicher gespeichert und durch die native zentrale Verarbeitungseinheit 12 ausgeführt wird. In weiteren Beispielen sind eine oder mehrere der Routinen oder Operationen in Firmware, Hardware, Software oder einer Kombination daraus ausgeführt. Die Register des emulierten Prozessors können unter Verwendung der Register 20 der nativen CPU oder durch Verwendung von Speicherpositionen im Arbeitsspeicher 14 emuliert werden. In Ausführungsformen können sich die Gast-Anweisungen 30, die nativen Anweisungen 36 und der Emulatorcode 22 in demselben Arbeitsspeicher befinden oder auf verschiedene Speichereinheiten verteilt sein.
  • Bei den vorstehend beschriebenen Datenverarbeitungsumgebungen handelt es sich lediglich um Beispiele für Datenverarbeitungsumgebungen, die verwendet werden können. Weitere Ausführungsformen, darunter, ohne darauf beschränkt zu sein, nicht partitionierte Umgebungen, partitionierte Umgebungen und/oder emulierte Umgebungen, können verwendet werden; Ausführungsformen sind nicht auf eine einzelne Umgebung beschränkt. Obgleich verschiedene Beispiele von Datenverarbeitungsumgebungen hierin beschrieben sind, können ein oder mehrere Aspekte der vorliegenden Erfindung mit vielen Arten von Umgebungen verwendet werden. Bei den hierin bereitgestellten Datenverarbeitungsumgebungen handelt es sich lediglich um Beispiele.
  • Jede Datenverarbeitungsumgebung kann so konfiguriert werden, dass sie einen oder mehrere Aspekte der vorliegenden Erfindung umfasst. Zum Beispiel kann jede für eine Hardwarerekonfiguration gemäß einem oder mehreren Aspekten der vorliegenden Erfindung konfiguriert werden.
  • Ein oder mehrere Aspekte können sich auf das Cloud-Computing beziehen.
  • Es dürfte klar sein, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jedem beliebigen weiteren Typ von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerken, Netzwerkbandbreite, Servern, Verarbeitung, Arbeitsspeichern, Speichern, Anwendungen, virtuellen Maschinen und Services), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
    • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
    • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
    • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für den Typ von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
    • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
    • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten umfasst.
  • Unter Bezugnahme auf 8 ist eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 52, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie beispielsweise ein elektronischer Assistent (PDA, personal digital assistant) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computer-System 54N Daten austauschen können. Die Knoten 52 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten der in 8 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 52 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 9 ist ein Satz von funktionalen Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 50 (8) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 9 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Softwareschicht 60 umfasst Hardware- und Softwarekomponenten. Zu Beispielen für Hardwarekomponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen Softwarekomponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbanksoftware 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Hardwarerekonfigurationsverarbeitung 96.
  • Bei Aspekten der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen Integrationsstufe technischer Details handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übermittelte elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programminstruktionen 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 Programminstruktionen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programminstruktionen 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 Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, zustandssetzende Daten, Konfigurationsdaten für eine integrierte Schaltung oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch einen beliebigen Typ Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programminstruktionen 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 Instruktionen 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 Programminstruktionen 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 Programminstruktionen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in den Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der festgelegten logischen Funktion(en) aufweist. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit weitgehend 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.
  • Zusätzlich zu dem Vorstehenden können ein oder mehrere Aspekte durch einen Serviceanbieter, der eine Verwaltung von Kundenumgebungen anbietet, bereitgestellt, angeboten, eingesetzt, verwaltet, gewartet usw. werden. Zum Beispiel kann der Serviceanbieter Computer-Code und/oder eine Computerinfrastruktur, die einen oder mehrere Aspekte für einen oder mehrere Kunden durchführt, erstellen, pflegen, unterstützen usw. Der Serviceanbieter kann als Gegenleistung Zahlungen von dem Kunden im Rahmen eines Abonnement- und/oder Gebührenvertrags, als Beispiele, erhalten. Zusätzlich oder alternativ kann der Serviceanbieter Zahlungen aus dem Verkauf von Werbeinhalten an einen oder mehrere Dritte erhalten.
  • In einem Aspekt kann eine Anwendung zum Durchführen von einer oder mehreren Ausführungsformen eingesetzt werden. Als ein Beispiel weist das Einsetzen einer Anwendung ein Bereitstellen von Computerinfrastruktur auf, die so betrieben werden kann, dass sie eine oder mehrere Ausführungsformen durchführt.
  • Als ein weiterer Aspekt kann eine Datenverarbeitungsinfrastruktur eingesetzt werden, die ein Integrieren von durch einen Computer lesbarem Code in ein Datenverarbeitungssystem aufweist, wobei der Code in Verbindung mit dem Datenverarbeitungssystem in der Lage ist, eine oder mehrere Ausführungsformen durchzuführen.
  • Als noch ein weiterer Aspekt kann ein Prozess zum Integrieren einer Datenverarbeitungsinfrastruktur bereitgestellt werden, der ein Integrieren von durch einen Computer lesbarem Code in ein Computersystem aufweist. Das Computersystem weist einen durch einen Computer lesbaren Datenträger auf, wobei der Computer-Datenträger eine oder mehrere Ausführungsformen aufweist. Der Code in Verbindung mit dem Computersystem ist in der Lage, eine oder mehrere Ausführungsformen durchzuführen.
  • Zwar sind vorstehend verschiedene Ausführungsformen beschrieben, doch handelt es sich dabei lediglich um Beispiele. Zum Beispiel können Datenverarbeitungsumgebungen anderer Architekturen verwendet werden, um eine oder mehrere Ausführungsformen einzubinden und zu verwenden. Zusätzlich können andere Komponenten verwendet werden und/oder andere Komponenten können sich einen oder mehrere Aspekte der vorliegenden Erfindung zunutze machen. Überdies können andere Arten von Rekonfigurationen durchgeführt werden. Viele Varianten sind möglich.
  • Des Weiteren können andere Arten von Datenverarbeitungsumgebungen profitieren und verwendet werden. Als ein Beispiel ist ein für die Speicherung und/oder Ausführung von Programmcode geeignetes Datenverarbeitungssystem verwendbar, das mindestens zwei Prozessoren umfasst, die durch einen Systembus direkt oder indirekt mit Speicherelementen verbunden sind. Zu den Speicherelementen gehört zum Beispiel lokaler Speicher, der während der tatsächlichen Ausführung des Programmcodes genutzt wird, Massenspeicher und Cachespeicher, die eine vorübergehende Speicherung von mindestens einem Teil des Programmcodes bereitstellen, um die Häufigkeit zu verringern, mit der Code während der Ausführung aus dem Massenspeicher abgerufen werden muss.
  • Eingabe-/Ausgabe- bzw. E/A-Einheiten (darunter, ohne darauf beschränkt zu sein, Tastaturen, Bildschirme, Zeigereinheiten, DASD, Band, CDs, DVDs, Thumb-Drives und andere Speichermedien usw.) können entweder direkt oder durch dazwischenliegende E/A-Controller mit dem System verbunden sein. Netzwerkadapter können ebenfalls mit dem System verbunden sein, damit das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder fernen Druckern oder Speichereinheiten durch dazwischenliegende private oder öffentliche Netzwerke verbunden werden kann. Modems, Kabelmodems und Ethernet-Karten sind lediglich ein paar der verfügbaren Arten von Netzwerkadaptern.
  • Die hierin verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben, und ist nicht als einschränkend zu verstehen. In der Verwendung hierin sollen die Singular-Formen „ein“, „eine“ und „der“, „die“, „das“ auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es wird des Weiteren darauf hingewiesen, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von allen Mitteln oder Schritt-plus-Funktion-Elementen (step plus function elements) in den nachstehenden Ansprüchen, sofern vorhanden, sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zum Durchführen der Funktion in Verbindung mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, umfassen. Die Beschreibung von einer oder mehreren Ausführungsformen erfolgte zum Zweck der Veranschaulichung und Erläuterung, sie soll aber weder erschöpfend noch auf die offenbarte Form beschränkt sein. Für den Fachmann sind viele Modifikationen und Varianten erkennbar. Die Ausführungsform wurde gewählt und beschrieben, um die verschiedenen Aspekte und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis verschiedener Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.

Claims (20)

  1. Computerprogrammprodukt, um eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung zu vereinfachen, wobei das Computerprogrammprodukt aufweist: mindestens ein durch einen Computer lesbares Speichermedium, das durch mindestens eine Verarbeitungsschaltung lesbar ist und Anweisungen zum Durchführen eines Verfahrens speichert, das umfasst: Feststellen, vor einem Durchführen von einer oder mehreren Rekonfigurationsaktionen, um eine Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren, von mindestens einer geschätzten Rekonfigurationszeit zum Durchführen der einen oder der mehreren Rekonfigurationsaktionen; Durchführen von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen; und Einleiten von einer oder mehreren Aufgaben vor dem Fertigstellen der einen oder der mehreren Rekonfigurationsaktionen, wobei das Einleiten auf der mindestens einen geschätzten Rekonfigurationszeit beruht.
  2. Computerprogrammprodukt nach Anspruch 1, wobei das Verfahren des Weiteren umfasst: Feststellen eines Echtzeit-Fertigstellungswahrscheinlichkeitsscores auf der Grundlage von Fertigstellungsverlaufsdaten und dem tatsächlichen Fortschritt des Fertigstellens der einen oder der mehreren Rekonfigurationsaktionen; Feststellen eines Wahrscheinlichkeitsschwellenwerts auf der Grundlage von Kosten für ein Rückgängigmachen von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen; und Feststellen einer Startzeit für eine Aufgabe der einen oder der mehreren Aufgaben auf der Grundlage der Echtzeit-Fertigstellungswahrscheinlichkeit und des Wahrscheinlichkeitsschwellenwerts.
  3. Computerprogrammprodukt nach Anspruch 1 oder 2, wobei die Aufgabe eine durchzuführende nächste Hardwarerekonfigurationsaktion oder eine Arbeitslastverarbeitungsaktion aufweist.
  4. Computerprogrammprodukt nach einem der Ansprüche 1 bis 3, wobei das Feststellen der mindestens einen geschätzten Rekonfigurationszeit umfasst: Erhalten eines Messwerts aus einer Datenstruktur, wobei es sich bei dem Messwert um ein Maß einer Zeit handelt, die ein Vergleichen einer aktuellen Konfiguration und einer angeforderten Konfiguration in Anspruch nimmt, sowie einer Zeit, die ein Angeben der einen oder der mehreren Rekonfigurationsaktionen zur Bereitstellung der angeforderten Konfiguration in Anspruch nimmt; und Feststellen einer Zeit für eine erfolgreiche Rekonfiguration und einer Zeit für ein Rückgängigmachen für die eine oder die mehreren Rekonfigurationsaktionen.
  5. Computerprogrammprodukt nach einem der Ansprüche 1 bis 4, wobei das Verfahren des Weiteren ein Anpassen einer geschätzten Rekonfigurationszeit der mindestens einen geschätzten Rekonfigurationszeit auf der Grundlage von mindestens einer gemessenen Rekonfigurationszeit umfasst, die auf der Grundlage eines Durchführens von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen festgestellt wird.
  6. Computerprogrammprodukt nach einem der Ansprüche 1 bis 5, wobei das Verfahren des Weiteren umfasst: Erhalten einer Anforderung, die Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren; und Angeben, auf der Grundlage des Erhaltens der Anforderung, der einen oder der mehreren Rekonfigurationsaktionen, die verwendet werden sollen, um die Konfiguration neu zu konfigurieren.
  7. Computerprogrammprodukt nach einem der Ansprüche 1 bis 6, wobei das Feststellen der mindestens einen geschätzten Rekonfigurationszeit ein Schätzen von mindestens einer Rekonfigurationszeit für jede Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen umfasst, die als für eine Rekonfiguration der Konfiguration zu verwendende Rekonfigurationsaktionen angegeben werden.
  8. Computerprogrammprodukt nach einem der Ansprüche 1 bis 7, wobei das Verfahren des Weiteren ein Durchführen der einen oder der mehreren Rekonfigurationsaktionen im Anschluss an ein Feststellen der mindestens einen geschätzten Rekonfigurationszeit umfasst.
  9. Computerprogrammprodukt nach einem der Ansprüche 1 bis 8, wobei das Verfahren des Weiteren ein Messen von mindestens einer Rekonfigurationszeit auf der Grundlage eines Durchführens der einen oder der mehreren Rekonfigurationsaktionen umfasst, wobei das Messen mindestens eine gemessene Rekonfigurationszeit bereitstellt.
  10. Computerprogrammprodukt nach einem der Ansprüche 1 bis 9, wobei die Rekonfiguration eine Hardwarekonfiguration der Datenverarbeitungsumgebung aufweist.
  11. Computersystem, um eine Verarbeitung innerhalb einer Datenverarbeitungsumgebung zu vereinfachen, wobei das Computersystem aufweist: einen Arbeitsspeicher; und mindestens einen Prozessor, der so konfiguriert ist, dass er durchführt: Feststellen, vor einem Durchführen von einer oder mehreren Rekonfigurationsaktionen, um eine Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren, von mindestens einer geschätzten Rekonfigurationszeit zum Durchführen der einen oder der mehreren Rekonfigurationsaktionen; Durchführen von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen; und Einleiten von einer oder mehreren Aufgaben vor dem Fertigstellen der einen oder der mehreren Rekonfigurationsaktionen, wobei das Einleiten auf der mindestens einen geschätzten Rekonfigurationszeit beruht.
  12. Computersystem nach Anspruch 11, wobei das Verfahren des Weiteren umfasst: Feststellen eines Echtzeit-Fertigstellungswahrscheinlichkeitsscores auf der Grundlage von Fertigstellungsverlaufsdaten und dem tatsächlichen Fortschritt des Fertigstellens der einen oder der mehreren Rekonfigurationsaktionen; Feststellen eines Wahrscheinlichkeitsschwellenwerts auf der Grundlage von Kosten für ein Rückgängigmachen von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen; und Feststellen einer Startzeit für eine Aufgabe der einen oder der mehreren Aufgaben auf der Grundlage der Echtzeit-Fertigstellungswahrscheinlichkeit und des Wahrscheinlichkeitsschwellenwerts.
  13. Computersystem nach Anspruch 11 oder 12, wobei das Feststellen der mindestens einen geschätzten Rekonfigurationszeit umfasst: Erhalten eines Messwerts aus einer Datenstruktur, wobei es sich bei dem Messwert um ein Maß einer Zeit handelt, die ein Vergleichen einer aktuellen Konfiguration und einer angeforderten Konfiguration in Anspruch nimmt, sowie einer Zeit, die ein Angeben der einen oder der mehreren Rekonfigurationsaktionen zur Bereitstellung der angeforderten Konfiguration in Anspruch nimmt; und Feststellen einer Zeit für eine erfolgreiche Rekonfiguration und einer Zeit für ein Rückgängigmachen für die eine oder die mehreren Rekonfigurationsaktionen.
  14. Computersystem nach einem der Ansprüche 11 bis 13, wobei das Verfahren des Weiteren ein Anpassen einer geschätzten Rekonfigurationszeit der mindestens einen geschätzten Rekonfigurationszeit auf der Grundlage von mindestens einer gemessenen Rekonfigurationszeit umfasst, die auf der Grundlage eines Durchführens von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen festgestellt wird.
  15. Computersystem nach einem der Ansprüche 11 bis 14, wobei das Verfahren des Weiteren umfasst: Erhalten einer Anforderung, die Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren; und Angeben, auf der Grundlage des Erhaltens der Anforderung, der einen oder der mehreren Rekonfigurationsaktionen, die verwendet werden sollen, um die Konfiguration neu zu konfigurieren.
  16. Durch einen Computer ausgeführtes Verfahren zum Vereinfachen einer Verarbeitung innerhalb einer Datenverarbeitungsumgebung, wobei das durch einen Computer ausgeführte Verfahren umfasst: Feststellen, vor einem Durchführen von einer oder mehreren Rekonfigurationsaktionen, um eine Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren, von mindestens einer geschätzten Rekonfigurationszeit zum Durchführen der einen oder der mehreren Rekonfigurationsaktionen; Durchführen von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen; und Einleiten von einer oder mehreren Aufgaben vor dem Fertigstellen der einen oder der mehreren Rekonfigurationsaktionen, wobei das Einleiten auf der mindestens einen geschätzten Rekonfigurationszeit beruht.
  17. Durch einen Computer ausgeführtes Verfahren nach Anspruch 16, das des Weiteren umfasst: Feststellen eines Echtzeit-Fertigstellungswahrscheinlichkeitsscores auf der Grundlage von Fertigstellungsverlaufsdaten und dem tatsächlichen Fortschritt des Fertigstellens der einen oder der mehreren Rekonfigurationsaktionen; Feststellen eines Wahrscheinlichkeitsschwellenwerts auf der Grundlage von Kosten für ein Rückgängigmachen von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen; und Feststellen einer Startzeit für eine Aufgabe der einen oder der mehreren Aufgaben auf der Grundlage der Echtzeit-Fertigstellungswahrscheinlichkeit und des Wahrscheinlichkeitsschwellenwerts.
  18. Durch einen Computer ausgeführtes Verfahren nach Anspruch 16 oder 17, wobei das Feststellen der mindestens einen geschätzten Rekonfigurationszeit umfasst: Erhalten eines Messwerts aus einer Datenstruktur, wobei es sich bei dem Messwert um ein Maß einer Zeit handelt, die ein Vergleichen einer aktuellen Konfiguration und einer angeforderten Konfiguration in Anspruch nimmt, sowie einer Zeit, die ein Angeben der einen oder der mehreren Rekonfigurationsaktionen zur Bereitstellung der angeforderten Konfiguration in Anspruch nimmt; und Feststellen einer Zeit für eine erfolgreiche Rekonfiguration und einer Zeit für ein Rückgängigmachen für mindestens eine Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen.
  19. Durch einen Computer ausgeführtes Verfahren nach einem der Ansprüche 16 bis 18, wobei das Verfahren des Weiteren ein Anpassen einer geschätzten Rekonfigurationszeit der mindestens einen geschätzten Rekonfigurationszeit auf der Grundlage von mindestens einer gemessenen Rekonfigurationszeit umfasst, die auf der Grundlage eines Durchführens von mindestens einer Rekonfigurationsaktion der einen oder der mehreren Rekonfigurationsaktionen festgestellt wird.
  20. Durch einen Computer ausgeführtes Verfahren nach einem der Ansprüche 16 bis 19, das des Weiteren umfasst: Erhalten einer Anforderung, die Konfiguration der Datenverarbeitungsumgebung neu zu konfigurieren; und Angeben, auf der Grundlage des Erhaltens der Anforderung, der einen oder der mehreren Rekonfigurationsaktionen, die verwendet werden sollen, um die Konfiguration neu zu konfigurieren.
DE112021001974.0T 2020-05-26 2021-05-07 Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten Pending DE112021001974T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/882,986 2020-05-26
US16/882,986 US11263025B2 (en) 2020-05-26 2020-05-26 Proactively performing tasks based on estimating hardware reconfiguration times
PCT/IB2021/053906 WO2021240274A1 (en) 2020-05-26 2021-05-07 Proactively performing tasks based on estimating hardware reconfiguration times

Publications (1)

Publication Number Publication Date
DE112021001974T5 true DE112021001974T5 (de) 2023-01-19

Family

ID=78706137

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001974.0T Pending DE112021001974T5 (de) 2020-05-26 2021-05-07 Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten

Country Status (8)

Country Link
US (1) US11263025B2 (de)
JP (1) JP2023526947A (de)
KR (1) KR20230002703A (de)
CN (1) CN115698951A (de)
AU (1) AU2021278382B2 (de)
DE (1) DE112021001974T5 (de)
GB (1) GB2610987A (de)
WO (1) WO2021240274A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11654552B2 (en) * 2019-07-29 2023-05-23 TruPhysics GmbH Backup control based continuous training of robots
US20230058452A1 (en) * 2021-08-17 2023-02-23 Sap Se Efficient error reproduction scenarios through data transformation

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256773B1 (en) 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
GB0003313D0 (en) 2000-02-15 2000-04-05 Koninkl Philips Electronics Nv Software reconfiguration of communications apparatus
JP2001344153A (ja) 2000-05-30 2001-12-14 Nec Corp マルチプロセッサシステムのキャッシュメモリ制御装置
US6874108B1 (en) * 2001-08-27 2005-03-29 Agere Systems Inc. Fault tolerant operation of reconfigurable devices utilizing an adjustable system clock
US7290698B2 (en) 2004-08-25 2007-11-06 Sony Corporation Progress bar with multiple portions
GB2424795B (en) * 2005-03-31 2007-04-18 Motorola Inc Apparatus and method for controlling a radio bearer reconfiguration
JP5018480B2 (ja) * 2005-09-05 2012-09-05 日本電気株式会社 情報処理装置
US7702741B2 (en) 2007-07-31 2010-04-20 Oracle International Corporation Configuring or reconfiguring a multi-master information sharing environment
US7899785B2 (en) 2007-07-31 2011-03-01 Oracle International Corporation Reconfiguring propagation streams in distributed information sharing
US8688488B2 (en) 2008-07-25 2014-04-01 Hireright, Inc. Method and apparatus for the prediction of order turnaround time in an information verification system
WO2011075097A1 (en) 2009-12-15 2011-06-23 Thomson Licensing Multiplexed rfagc for frequency diversity receivers
US10289453B1 (en) 2010-12-07 2019-05-14 Amazon Technologies, Inc. Allocating computing resources
EP2863579A1 (de) * 2013-10-18 2015-04-22 Koninklijke KPN N.V. Planung eines Reiherekonfigurationsereignisses in einem Netzwerk
EP2996075A1 (de) 2014-09-12 2016-03-16 Siemens AG Österreich Verfahren zur integrierten modellierung eines produkt-portfolios
EP3338184B1 (de) 2015-08-18 2020-01-15 Telefonaktiebolaget LM Ericsson (PUBL) Technik zur neukonfiguration einer virtuellen maschine
JP6823251B2 (ja) * 2016-10-13 2021-02-03 富士通株式会社 情報処理装置、情報処理方法及びプログラム
US10374885B2 (en) 2016-12-13 2019-08-06 Amazon Technologies, Inc. Reconfigurable server including a reconfigurable adapter device
CN110390345B (zh) 2018-04-20 2023-08-22 复旦大学 一种基于云平台的大数据集群自适应资源调度方法
US10915361B1 (en) * 2018-04-30 2021-02-09 Amazon Technologies, Inc. Dynamic capacity buffers
US10606636B2 (en) * 2018-07-30 2020-03-31 Lendingclub Corporation Automated predictions for not-yet-completed jobs

Also Published As

Publication number Publication date
US20210373913A1 (en) 2021-12-02
GB2610987A (en) 2023-03-22
WO2021240274A1 (en) 2021-12-02
GB202218704D0 (en) 2023-01-25
AU2021278382B2 (en) 2023-06-01
KR20230002703A (ko) 2023-01-05
CN115698951A (zh) 2023-02-03
US11263025B2 (en) 2022-03-01
AU2021278382A1 (en) 2022-09-29
JP2023526947A (ja) 2023-06-26

Similar Documents

Publication Publication Date Title
DE112012002941T5 (de) Anwendungsressourcenverwalter über eine Cloud
DE112020002987T5 (de) Bereitstellen von mikrodiensten über eine dienstinfrastruktur hinweg
DE102017217968A1 (de) Generieren eines Verschiebungsprotokolls für virtuelle Maschinen
DE112012004238T5 (de) Auf Erkennung beruhende Identifizierung und Migration von leicht in eine Cloud verlagerbaren Anwendungen
DE102013204508A1 (de) Dynamisches Neukonfigurieren eines Speichersystems
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE112020002189T5 (de) Container-basierte anwendungen
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112020001774T5 (de) Datensatzabhängiges niedrigrang-zerlegen von neuronalen netzwerken
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE112021003294T5 (de) Systemverwaltung auf grundlage von leistung und leistungsfähigkeit
DE112021000810T5 (de) Optisches erkennen von zellenstrukturen unter verwendung hierarchischer neuronaler netzwerke und zellengrenzen zum strukturieren von clustern
DE102014116744B4 (de) Management von Informationstechnologieressourcen
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102021122508A1 (de) Ausgleichen von grossrechner- und verteilten arbeitslasten auf der grundlage von leistung und kosten
DE112020005326T5 (de) Erzeugen eines skalierungsplans für externe systeme während eines cloud-tenant-onboardings/offboardings
DE112020004487T5 (de) Erkennen von mutationsereignissen zum überwachen der integrität
DE112019001493T5 (de) Ermitteln der abfrageerkennungsresilienz in virtuellen agentensystemen
DE112021006167T5 (de) Automatische anpassung von datenzugriffsrichtlinien in der datenanalytik

Legal Events

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