DE102021130359A1 - Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios - Google Patents

Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios Download PDF

Info

Publication number
DE102021130359A1
DE102021130359A1 DE102021130359.1A DE102021130359A DE102021130359A1 DE 102021130359 A1 DE102021130359 A1 DE 102021130359A1 DE 102021130359 A DE102021130359 A DE 102021130359A DE 102021130359 A1 DE102021130359 A1 DE 102021130359A1
Authority
DE
Germany
Prior art keywords
application module
application
processor
modules
critical
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
DE102021130359.1A
Other languages
English (en)
Inventor
Aaron K. Baughman
Shikhar KWATRA
Jennifer L. Szkatulski
Sarbajit K. Rakshit
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 DE102021130359A1 publication Critical patent/DE102021130359A1/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Prozessor kann unter Verwendung eines Kl-Systems eine Anwendung analysieren, wobei die Anwendung ein oder mehrere Anwendungsmodule enthält. Der Prozessor kann unter Verwendung des KI-Systems feststellen, dass ein Anwendungsmodul auf der Grundlage eines kontextbezogenen Szenarios kritisch ist. Das KI-System kann anhand von Daten über die Wärmeentwicklung der Hardware trainiert werden, auf der das Anwendungsmodul ausgeführt wird. Der Prozessor kann unter Verwendung des KI-Systems die Hardware-Ressourcen ermitteln, die für das Funktionieren des Anwendungsmoduls während des kontextbezogenen Szenarios benötigt werden. Der Prozessor kann dem Anwendungsmodul eine Verfügbarkeit der benötigten Ressourcen zuordnen.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Gebiet der Ressourcenzuordnung und insbesondere auf Zuordnen von Ressourcen für kritische Anwendungsmodule auf der Grundlage eines kontextbezogenen Szenarios.
  • Für die Datenverarbeitung in der Cloud, in Rechenzentren oder in Edge-Einheiten werden Rechenressourcen und elektrische Energie benötigt. Diese Ressourcen können knapp werden, wenn eine Edge-Einheit wie ein Mobiltelefon oder eine mit dem Internet der Dinge verbundene Einheit oder ein Rechenzentrum nicht über eine ausreichend dimensionierte Stromversorgung verfügt oder der Ressourcenbedarf hoch ist. Unter diesen Umständen können Verbesserungsmaßnahmen durchgeführt werden.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Erfindung umfassen ein Verfahren, ein Computerprogrammprodukt und ein System zum Zuordnen von Ressourcen für kritische Anwendungsmodule auf der Grundlage eines kontextbezogenen Szenarios.
  • Ein Prozessor kann unter Verwendung eines Kl-Systems eine Anwendung analysieren, wobei die Anwendung ein oder mehrere Anwendungsmodule enthält. Der Prozessor kann unter Verwendung des KI-Systems feststellen, dass ein Anwendungsmodul auf der Grundlage eines kontextbezogenen Szenarios kritisch ist. Das KI-System kann unter Verwendung von Daten über die Wärmeentwicklung der Hardware trainiert werden, auf der das Anwendungsmodul ausgeführt wird. Der Prozessor kann unter Verwendung des Kl-Systems die Hardware-Ressourcen ermitteln, die für das Funktionieren des Anwendungsmoduls während des kontextbezogenen Szenarios benötigt werden. Der Prozessor kann dem Anwendungsmodul eine Verfügbarkeit der benötigten Ressourcen zuordnen.
  • Die vorstehende Kurzdarstellung ist nicht dazu gedacht, jede veranschaulichte Ausführungsform oder jede Implementierung der vorliegenden Offenbarung zu beschreiben.
  • Figurenliste
  • Die in der vorliegenden Offenbarung enthaltenen Zeichnungen sind in der Beschreibung enthalten und bilden einen Teil davon. Sie veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung dazu, die Grundgedanken der Offenbarung zu erläutern. Die Zeichnungen veranschaulichen lediglich bestimmte Ausführungsformen und beschränken die Offenbarung nicht.
    • 1 ist ein Blockschaubild eines beispielhaften Systems zum Zuordnen von Ressourcen für kritische Anwendungsmodule gemäß Aspekten der vorliegenden Offenbarung.
    • 2 ist ein Ablaufplan eines beispielhaften Verfahrens zum Zuordnen von Ressourcen für kritische Anwendungsmodule gemäß Aspekten der vorliegenden Offenbarung.
    • 3A veranschaulicht eine Cloud-Computing-Umgebung gemäß Aspekten der vorliegenden Offenbarung.
    • 3B veranschaulicht Abstraktionsmodellschichten gemäß Aspekten der vorliegenden Offenbarung.
    • 4 veranschaulicht ein allgemeines Blockschaltbild eines beispielhaften Computersystems, das zum Implementieren eines oder mehrerer der hier beschriebenen Verfahren, Tools und Module sowie der damit verbundenen Funktionen gemäß Aspekten der vorliegenden Offenbarung verwendet werden kann.
  • Verschiedene Änderungen und andere Formen sind für die hier beschriebenen Ausführungsformen zwar möglich, die Besonderheiten sind jedoch beispielhaft in den Zeichnungen dargestellt und werden ausführlich beschrieben. Es wird jedoch darauf hingewiesen, dass die beschriebenen besonderen Ausführungsformen nicht in einem einschränkenden Sinn zu verstehen sind. Alle Änderungen, Äquivalente und Alternativen, die Gedanken und Anwendungsbereich der Offenbarung widerspiegeln, sollen vielmehr mitaufgenommen werden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Aspekte der vorliegenden Offenbarung beziehen sich allgemein auf das Gebiet der Ressourcenzuordnung und insbesondere auf Zuordnen von Ressourcen für kritische Anwendungsmodule auf der Grundlage eines kontextbezogenen Szenarios. Die vorliegende Offenbarung ist zwar nicht zwingend auf diese Anwendungen beschränkt, verschiedene Aspekte der Offenbarung können jedoch durch eine Beschreibung verschiedener Beispiele in diesem Zusammenhang verstanden werden.
  • Für die Datenverarbeitung in der Cloud, in Rechenzentren oder in Edge-Einheiten werden Rechenressourcen und elektrische Energie benötigt. Diese Ressourcen können knapp werden, wenn eine Edge-Einheit wie ein Mobiltelefon oder eine mit dem Internet der Dinge verbundene Einheit oder ein Rechenzentrum nicht über eine ausreichend dimensionierte Stromversorgung verfügt oder der Ressourcenbedarf hoch ist. Rechenzentren können die kritische Infrastruktur einer Organisation beherbergen; Rechenzentren können jedoch von Netzausfällen betroffen sein, die durch Naturkatastrophen, mechanische Ausfälle, elektrische Ausfälle usw. verursacht werden. Die vorliegende Offenbarung zielt darauf ab, geschäftskritische Funktionalitäten verschiedener Anwendungen zu ermitteln und sicherzustellen, dass die Funktionalitäten auch dann zur Verfügung stehen, wenn Stromversorgung oder Rechenressourcen begrenzt sind.
  • In einigen Ausführungsformen kann ein Prozessor unter Verwendung eines Systems künstlicher Intelligenz („KI“) eine Anwendung analysieren. In einigen Ausführungsformen kann die Anwendung ein oder mehrere Anwendungsmodule enthalten. In einigen Ausführungsformen kann der Prozessor feststellen, dass ein Anwendungsmodul auf der Grundlage eines kontextbezogenen Szenarios kritisch ist. In einigen Ausführungsformen kann es sich bei dem einen oder mehreren Anwendungsmodulen um Komponenten einer Anwendung handeln, die einen Ausgang haben und eine Funktion durchführen. In einigen Ausführungsformen kann sich das kontextbezogene Szenario auf die Umstände der Nutzung des Anwendungsmoduls beziehen und das Datum, die Tageszeit, den geografischen Standort, Kennzeichnungen zu den Eigentümern der Anwendung, Kennzeichnungen mit spezifischen Anweisungen von den Eigentümern oder Benutzern der Anwendung usw. umfassen. In einigen Ausführungsformen kann sich das kontextbezogene Szenario auf Bedingungen beziehen, die für die Anwendungen und die von ihr durchgeführten Funktionen spezifisch sind, auf die Art und Weise, wie die Anwendung genutzt wird, auf die Benutzer/Unternehmen, für die die Anwendung ausgeführt wird, usw. In einigen Ausführungsformen kann sich das kontextbezogene Szenario auf Umstände beziehen, die nicht spezifisch für die Anwendung sind, darunter zum Beispiel ein Ereignis (z.B. Stromausfall) in einem Rechenzentrum, in dem die Anwendung ausgeführt wird, Bedarf von anderen Anwendungen und anderen Benutzern an elektrischer Energie oder Rechenressourcen im Rechenzentrum, in dem die Anwendung ausgeführt wird, ein bestimmtes Ereignis (z.B. das Eintreten eines historischen Ereignisses, einer Naturkatastrophe oder eines bemerkenswerten kulturellen Ereignisses) in Bezug auf die Nutzung der Anwendung oder die Verfügbarkeit der Ressourcen usw. In einigen Ausführungsformen wird die Kritikalität des Anwendungsmoduls auf der Grundlage der Nutzungsmuster des Anwendungsmoduls festgestellt. In einigen Ausführungsformen wird die Kritikalität eines Anwendungsmoduls auf der Grundlage von Eingaben der Benutzer des Anwendungsmoduls festgestellt.
  • Das Kl-System kann zum Beispiel ein oder mehrere Anwendungsmodule einer Gehaltsabrechnungsanwendung der Personalabteilung analysieren, die von einem Unternehmen zum Verwalten der Gehaltsabrechnung für seine Mitarbeiter genutzt wird. Näher am Monatsende, wenn die Mitarbeiter ihr Gehalt erhalten, kann die Gehaltsabrechnungsanwendung stark genutzt werden. Das KI-System kann feststellen, dass während des kontextbezogenen Szenarios zum Monatsende ein Anwendungsmodul, das an der direkten Gehaltszahlung beteiligt ist (wovon z.B. viele Mitarbeiter auf der Gehaltsliste betroffen sind), ein kritisches Anwendungsmodul ist, während ein Anwendungsmodul, das eine zweite Telefonnummer für neue Mitarbeiter prüft (wovon z.B. weniger Mitarbeiter betroffen sind und das nicht unmittelbar mit dem Gehaltszyklus zum Monatsende in Verbindung steht), kein kritisches Anwendungsmodul ist.
  • In einigen Ausführungsformen kann das KI-System unter Verwendung von Daten über die Wärmeentwicklung der Hardware trainiert werden, auf der das Anwendungsmodul ausgeführt wird. In einigen Ausführungsformen kann das Kl-System Anwendungsmodule auf der Grundlage eines ermittelten kontextbezogenen Szenarios unter Verwendung historischer Wärmeentwicklungsmuster jedes Anwendungsmoduls gruppieren. Mithilfe von Infrarot- oder Temperatursensoren kann beispielsweise die Wärmeentwicklung der Hardware überwacht werden, auf der das Anwendungsmodul ausgeführt wird (z.B. ein Rack eines Rechenzentrums oder eine CPU eines Laptop-Computers). Die Uhrzeit, das Datum und andere Umstände der Nutzung (z.B. Informationen über das kontextbezogene Szenario) können ebenfalls überwacht und beim Trainieren des KI-Systems verwendet werden. In einigen Ausführungsformen kann das Kl-System Anwendungsmodule auf der Grundlage von Mustern des parallelen Aufrechterhaltens und Betriebs in einer kontextbezogenen Situation als kritische Anwendungsmodule gruppieren.
  • So können beispielsweise Sensoren in einem Rechenzentrum die von verschiedenen Einheiten (z.B. Module/Racks des Rechenzentrums) entwickelte Wärme erkennen und die Einheiten mit der Nutzungsdauer, der Anzahl von Verarbeitungseinheiten, dem Datenvolumen, der Anzahl der Benutzer, die parallele Anforderungen durchführen, usw. in Beziehung setzen. Anhand dieser Informationen kann das KI-System interpolieren, wie viele Einheiten des Rechenzentrums Wärme entwickeln, wenn das kritische Anwendungsmodul in Betrieb ist.
  • In einigen Ausführungsformen kann das KI-System so trainiert werden, dass es kontextbezogene Szenarien unter Verwendung historischer Daten über verschiedene Module (z.B. Funktionalitäten) unterschiedlicher Anwendungen in einem Unternehmen erkennt. Die historischen Daten können verwendet werden, um die Kritikalität verschiedener Module oder Funktionalitäten der Anwendung vorherzusagen, die für jede ermittelte kontextbezogene Situation aufrechterhalten und ausgeführt werden sollten. Die historischen Daten können Trends bei den Verkehrsmustern, Datenströme in Bezug auf Tag/Uhrzeit (am Monatsende muss z.B. ein Gehaltsverarbeitungsmodul einer Anwendung der Personalabteilung aufrechterhalten werden), Nutzung der Anwendung, abteilungsspezifische Maßzahlen hinsichtlich der Nutzung (die Personalabteilung verfügt z.B. über Daten darüber, wie oft die betreffende Anwendung genutzt wird und wann sie für die Abläufe in der Abteilung am dringendsten benötigt wird), verschiedene Zeiten, zu denen ein Anwendungsmodul genutzt wird, die Dauer der Nutzung der verschiedenen Module, die Anzahl der gleichzeitigen Nutzer der Anwendung oder ihres Moduls, die Art und Weise, wie das Anwendungsmodul im Arbeitsablauf anderer Module genutzt wird (Aufgaben der verschiedenen Anwendungsmodule müssen z.B. möglicherweise parallel oder nacheinander ohne großen zeitlichen Abstand ausgeführt werden), Datenflussrichtungen von einem Anwendungsmodul zum anderen Anwendungsmodul, Auswirkungen auf das Unternehmen, wenn das Anwendungsmodul nicht ausgeführt wird (z.B. geschäftliche Erfordernisse, finanzielle Auswirkungen, betriebliche Auswirkungen) usw. umfassen.
  • In einigen Ausführungsformen kann das KI-System unter Verwendung historischer Daten trainiert werden, die das Nutzungsprotokoll jedes einzelnen Moduls der verschiedenen Anwendungen erfassen. In einigen Ausführungsformen kann das KI-System so trainiert werden, dass es kritische Anwendungen auf der Grundlage von Nutzungsmustern während kontextbezogener Szenarien, auf der Grundlage von Rückmeldungen von Benutzern oder auf der Grundlage von Planungsanforderungen für die Hardware, auf der das Anwendungsmodul ausgeführt wird, ermittelt (das Anwendungsmodul kann z.B. eine sehr rechenintensive Aufgabe durchführen und auf mehreren Servern in einem Server-Rack ausgeführt werden, auf dem die Anwendungen eines Unternehmens von 9 Uhr morgens bis 17 Uhr nachmittags ausgeführt werden, wodurch das Ausführen des rechenintensiven Anwendungsmoduls vor 9 Uhr morgens kritisch wird).
  • In einigen Ausführungsformen kann das KI-System mithilfe von unüberwachtem Lernen trainiert werden. In einigen Ausführungsformen kann das KI-System mithilfe von überwachtem Lernen trainiert werden. In einigen Ausführungsformen können die Module gekennzeichnet sein, um ihre Funktionen und die kontextbezogenen Situationen, in denen ihre Funktionen kritisch sind, zu ermitteln. In einigen Ausführungsformen kann das KI-System so trainiert werden, dass es kontextbezogene Situationen vorhersagt, in denen ein Anwendungsmodul kritisch sein kann, indem Clustering-Techniken mit Mittelwertverschiebung verwendet werden. Clustering-Techniken mit Mittelwertverschiebung können verwendet werden, um festzustellen, wann verschiedene Anwendungsmodule genutzt werden, welche Module des Rechenzentrums (z.B. Racks oder Einheiten des Rechenzentrums) für die Anwendungsmodule genutzt werden, wie lange die verschiedenen Anwendungsmodule genutzt werden, wie viele Verarbeitungseinheiten für die verschiedenen Anwendungsmodule benötigt werden usw.
  • Um mit dem vorherigen Beispiel fortzufahren: das KI-System kann unter Verwendung historischer Daten so trainiert werden, dass es das kontextbezogene Szenario zum Monatsende erkennt und feststellt, dass das Anwendungsmodul der Personalabteilung für die direkte Gehaltszahlung zu diesem Zeitpunkt für das Unternehmen kritisch ist. Das Kl-System kann feststellen, dass das Anwendungsmodul für die direkte Gehaltszahlung kritisch ist, und dies zumindest teilweise auf der Grundlage historischer Wärmeentwicklungsmuster der Hardware, auf der das Anwendungsmodul ausgeführt wird, wobei die Muster einen Hinweis auf die Nutzungsmuster des Anwendungsmoduls bereitstellen. Das KI-System kann feststellen, dass andere Anwendungsmodule der Gehaltsabrechnungsanwendung der Personalabteilung mit den kritischen Funktionen der Anwendung am Monatsende im Zusammenhang stehen, und zwar auf der Grundlage von Nutzungsmustern, die zumindest teilweise auf der Grundlage von Wärmeentwicklungsmustern der Hardware ermittelt werden, auf der die anderen Anwendungsmodule ausgeführt werden. In einigen Ausführungsformen kann das KI-System so trainiert werden, dass es kontextbezogene Szenarien ermittelt (ein Benutzer hat z.B. unter bestimmten Umständen einen besonderen Ressourcenbedarf) und ermittelt, ob Ressourcen (z.B. Hardware wie ein Server-Rack in einem Rechenzentrum) aufgrund der erwarteten künftigen Arbeitslast voraussichtlich genutzt werden.
  • In einigen Ausführungsformen kann der Prozessor unter Verwendung des Kl-Systems die Hardware-Ressourcen ermitteln, die für das Funktionieren des Anwendungsmoduls während des kontextbezogenen Szenarios benötigt werden. In einigen Ausführungsformen können die erforderlichen Ressourcen die für das Ausführen des Anwendungsmoduls (z.B. das als kritisch ermittelte Anwendungsmodul) benötigte elektrische Energie umfassen. In einigen Ausführungsformen können die benötigten Ressourcen Rechenressourcen (z.B. CPU, GPU) umfassen, die für das Ausführen des Anwendungsmoduls benötigt werden. In einigen Ausführungsformen können die benötigten Ressourcen elektrische Energie oder Rechenressourcen umfassen, die für andere Anwendungsmodule benötigt werden, deren Funktion (z.B. Betriebsfähigkeit) mit der Funktion des als kritisch ermittelten Anwendungsmoduls zusammenhängt (z.B. dafür erforderlich ist).
  • In einigen Ausführungsformen kann das KI-System die historischen Nutzungsmuster verschiedener Anwendungsmodule analysieren und ihren Bedarf an elektrischer Energie ermitteln, um das kritische Anwendungsmodul am Laufen zu halten (z.B. in Betrieb zu halten). In einigen Ausführungsformen kann der vorhergesagte Bedarf an elektrischer Energie auf gesammelten kontextbezogenen Informationen (z.B. Uhrzeit, Datum, Nutzungsmuster) beruhen. In einigen Ausführungsformen kann das KI-System den Bedarf an elektrischer Energie zum Kühlen der Hardware analysieren, auf der das Anwendungsmodul ausgeführt wird, und Daten in Bezug auf kontextbezogene Szenarien im Zusammenhang mit dem Kühlen analysieren. In einigen Ausführungsformen kann das Kl-System anhand von Daten über die Bereitstellung von elektrischer Energie und die Leistungsaufnahme trainiert werden. In einigen Ausführungsformen können die gemessenen Nutzungsdaten direkt von den Stromversorgungsgeräten und den Verbrauchseinheiten erhalten werden.
  • In einigen Ausführungsformen kann die optimal benötigte elektrische Energie als minimales Grundniveau für die Funktionalität berechnet werden, sodass allen anderen erforderlichen Elementen zusätzliche elektrische Energie zugeordnet werden kann. In einigen Ausführungsformen kann das Grundniveau kontinuierlich überwacht und auf der Grundlage der gesammelten kontextbezogenen Informationen (z.B. Uhrzeit, Datum, Nutzungsmuster) angepasst werden.
  • Das Kl-System kann beispielsweise den Bedarf an elektrischer Energie für jedes Modul (z.B. Servereinheit oder -Rack) in einem Rechenzentrum interpolieren. Der Bedarf an elektrischer Energie für jedes Modul in einem Rechenzentrum kann auf der Grundlage der Betriebsdauer, der Anzahl der Verarbeitungseinheiten, der vom Betriebssystem über die CPU-Nutzung bereitgestellten Rohdaten, der Verarbeitungsleistung, der Nutzung der API-Aufrufe, einer Aufschlüsselung der Leistungsaufnahme insgesamt usw. ermittelt werden. Die Daten über den Bedarf an elektrischer Energie können mit Informationen über das kontextbezogene Szenario in Beziehung gesetzt werden, darunter Zeitdaten, Daten über die Funktionalität der Module des Rechenzentrums, geografischer Standort und gekennzeichneter Bedarf (z.B. Bedarf, der von der Einrichtung spezifiziert wird, die die Anwendung nutzt oder besitzt).
  • In einigen Ausführungsformen kann der Prozessor dem Anwendungsmodul eine Verfügbarkeit der benötigten Ressourcen zuordnen. In einigen Ausführungsformen kann der Prozessor Verbesserungsmaßnahmen durchführen, damit die zugeordneten Ressourcen dem Anwendungsmodul zur Verfügung stehen. Wenn das kritische Anwendungsmodul beispielsweise 3 Watt Leistung benötigt, um lange genug zum Durchführen seiner Funktion zu laufen, und ein nichtkritisches Anwendungsmodul 2 Watt benötigt, um seine Funktion durchzuführen, während insgesamt nur 4 Watt Leistung zur Verfügung stehen, kann die Hardware, auf der das nichtkritische Anwendungsmodul ausgeführt wird, außer Betrieb gesetzt werden (z.B. abgeschaltet werden, in den Ruhemodus versetzt werden, mit wenig oder keiner elektrischen Energie versorgt werden). In einigen Ausführungsformen kann der Prozessor ein Anwendungsmodul zum Ausführen auf einer anderen Einheit (z.B. ein anderer Server eines Rechenzentrums, die Cloud, der Fog oder eine Edge-Einheit) senden, um die Verfügbarkeit der benötigten Ressourcen für kritische Anwendungsmodule sicherzustellen.
  • Ein nichtkritisches Anwendungsmodul kann beispielsweise auf einem ersten Server eines Rechenzentrums mit Reservestromversorgung ausgeführt werden, und das nichtkritische Anwendungsmodul kann auf einen anderen Server verlagert werden, damit ausreichend elektrische Energie für das kritische Anwendungsmodul vorhanden ist, das auf dem ersten Server ausgeführt wird. Ein weiteres Beispiel: das kritische Anwendungsmodul kann in die Cloud, auf einen anderen Server des Rechenzentrums oder auf eine Edge-Einheit verlagert werden. In einigen Ausführungsformen kann die Verbesserungsmaßnahme, mit der sichergestellt wird, dass das kritische Anwendungsmodul über die benötigten Ressourcen verfügt, vom kontextbezogenen Szenario und den auf den Einheiten (z.B. Server des Rechenzentrums, Cloud oder Edge-Einheit) verfügbaren Ressourcen (z.B. elektrische Energie, Rechenressourcen) abhängen. Ein kritisches Anwendungsmodul darf zum Beispiel nicht von einem Server in einem Rechenzentrum mit begrenzter Reservestromversorgung auf einen zweiten Server im Rechenzentrum verlagert werden, wenn vorhergesagt wird, dass die elektrische Energie und die Rechenressourcen des zweiten Servers im Rechenzentrum durch künftige Arbeiten, die auf dem zweiten Server des Rechenzentrums durchgeführt werden sollen, voll ausgeschöpft sein werden. In einigen Ausführungsformen können bei Anwendungen mit einer Mikrodienst-Architektur die Anwendungsmodule optimiert, in Minimalsysteme umgewandelt und zu weniger physischen Geräten kombiniert werden, um den Bedarf an elektrischer Energie zu senken.
  • In einigen Ausführungsformen kann das Feststellen, dass das Anwendungsmodul auf der Grundlage des kontextabhängigen Szenarios kritisch ist, Ermitteln jedes des einen oder der mehreren Anwendungsmodule umfassen, auf die während des kontextbezogenen Szenarios zugegriffen wird. In einigen Ausführungsformen kann der Prozessor feststellen, dass über einen Zugriffsschwellenwert hinaus auf das Anwendungsmodul zugegriffen wurde. Das kontextbezogene Szenario kann beispielsweise die ersten beiden Stunden der Arbeitswoche in einem bestimmten Unternehmen umfassen. Es kann ein Zusammenhang zwischen dem kontextbezogenen Szenario und einem Datum, einer Zeit und bestimmten Anwendungen und Anwendungsmodulen bestehen, die als zu dem jeweiligen Unternehmen zugehörig gekennzeichnet sind. Der Prozessor kann jedes einzelne Anwendungsmodul der als zu dem Unternehmen zugehörig gekennzeichneten Anwendungsmodule ermitteln, auf das ein Benutzer während des Zeitraums von zwei Stunden zugreift. In einigen Ausführungsformen können die Anwendungsmodule vom Kl-System als zu einem bestimmten Unternehmen zugehörig ermittelt werden. In einigen Ausführungsformen können die Anwendungsmodule als zu einem bestimmten Unternehmen zugehörig ermittelt werden, und zwar auf der Grundlage von Daten, die von dem bestimmten Unternehmen bereitgestellt werden (die Anwendungsmodule können z.B. von dem bestimmten Unternehmen zuvor gekennzeichnet werden). Um mit dem Beispiel fortzufahren: der Prozessor kann feststellen, dass ein Anwendungsmodul, das einem Benutzer Zugriff auf eine eMail gewährt, ein kritisches Anwendungsmodul ist, wenn während des kontextbezogenen Szenarios (z.B. dem Zeitraum von zwei Stunden) über einen Schwellenwert hinaus auf das Anwendungsmoduls zugegriffen wurde.
  • In einigen Ausführungsformen kann das Zuordnen einer Verfügbarkeit der benötigten Ressourcen für das Anwendungsmodul Ermitteln eines zweiten Anwendungsmoduls umfassen. In einigen Ausführungsformen kann der Prozessor eine Priorität des zweiten kritischen Anwendungsmoduls höher einstufen als eine Priorität des Anwendungsmoduls. Das zweite kritische Anwendungsmodul kann beispielsweise vom Kl-System auf der Grundlage der Anzahl der Zugriffe auf das zweite kritische Anwendungsmodul während eines kontextbezogenen Szenarios ermittelt werden. Auf das zweite kritische Anwendungsmodul kann zum Beispiel über einen Zugriffsschwellenwert hinaus zugegriffen worden sein. In einigen Ausführungsformen kann die Priorität des zweiten kritischen Anwendungsmoduls auf der Grundlage der Anzahl der Zugriffe auf das zweite kritische Anwendungsmodul ermittelt werden, die größer ist als die Anzahl der Zugriffe auf das Anwendungsmodul. In einigen Ausführungsformen kann die Priorität der zweiten kritischen Anwendung auf der Grundlage der Rückmeldung des Benutzers höher als die Priorität des Anwendungsmoduls eingestuft werden (die Prioritätseinstufung wurde z.B. durch gekennzeichnete Eingaben in das KI-System bereitgestellt).
  • In einigen Ausführungsformen kann der Prozessor einen Arbeitsablauf der Anwendung erkennen. In einigen Ausführungsformen kann der Prozessor anhand des Erkennens des Arbeitsablaufs der Anwendung ein zusätzliches Anwendungsmodul in der Arbeitsablaufsequenz ermitteln. In einigen Ausführungsformen kann der Prozessor die benötigten Ressourcen für das zusätzliche Anwendungsmodul ermitteln. In einigen Ausführungsformen kann der Prozessor dem zusätzlichen Anwendungsmodul eine zweite Verfügbarkeit der benötigten Ressourcen zuordnen.
  • Der Prozessor kann beispielsweise feststellen, dass ein zusätzliches Anwendungsmodul eine Aufgabe durchführt, die abgeschlossen sein muss, bevor die Aufgabe, die das kritische Anwendungsmodul ausführt, innerhalb eines bestimmten Zeitrahmens eingeleitet werden kann (durch das Überprüfen von API-Aufrufen kann z.B. festgestellt werden, dass ein zusätzliches Anwendungsmodul einen Aufruf an das kritische Anwendungsmodul hat und das kritische Anwendungsmodul dann innerhalb weniger Minuten mit dem Ausführen beginnt). Der Prozessor kann feststellen, dass die zusätzliche Anwendung zum Arbeitsablauf des kritischen Anwendungsmoduls gehört. Das KI-System kann verwendet werden, um die benötigten Ressourcen für das zusätzliche Anwendungsmodul zu ermitteln (z.B. die für das Ausführen benötigte elektrische Energie oder die benötigten Rechenressourcen). Der Prozessor kann dem zusätzlichen Anwendungsmodul eine zweite Verfügbarkeit der benötigten Ressourcen zuordnen. Die benötigten Ressourcen können dem zusätzlichen Anwendungsmodul zugeordnet werden, indem andere Anwendungsmodule abgeschaltet werden, die benötigten Ressourcen auf andere Weise eingespart werden oder das kritische Anwendungsmodul und/oder das zusätzliche Anwendungsmodul auf eine andere Einheit (z.B. einen Server im Rechenzentrum, eine Edge-Einheit oder die Cloud) verlagert werden/wird.
  • In einigen Ausführungsformen kann ein Arbeitsablauf einer kritischen Anwendung Prozesse (und ihre Anwendungsmodule) umfassen, die nacheinander (z.B. innerhalb einer engen zeitlichen Abfolge) oder parallel zu der kritischen Anwendung ausgeführt werden. In einigen Ausführungsformen kann ein Arbeitsablauf des kritischen Anwendungsmoduls Prozesse enthalten, bei denen ermittelt wird, dass sie auf der Grundlage ihrer Nutzungsmuster (z.B. Erkennen der Wärmeentwicklung durch die Hardware, die die Verarbeitung durchführt, und/oder auf der Grundlage der Gruppierung ähnlicher Prozesse), die in einem mit der kritischen Anwendung verwandten Nutzungsmuster auftreten (z.B. für die gleiche Dauer, zur gleichen Zeit, unmittelbar danach usw.), zusammen mit dem kritischen Anwendungsmodul ausgeführt werden.
  • In einigen Ausführungsformen kann das zusätzliche Anwendungsmodul eine spezifische Aktivität im Arbeitsablauf enthalten. In einigen Ausführungsformen kann das zusätzliche Anwendungsmodul abgeschaltet werden, nachdem die spezifische Aktivität im Arbeitsablauf abgeschlossen ist. Die zusätzliche Anwendung kann zum Beispiel die spezifische Aktivität des Prüfens der Sicherheitsstufe einer Internetverbindung durchführen, bevor eine Einheit mit sicheren Anwendungen eines Unternehmens, darunter sichere eMail-Konten, verbunden wird. In einigen Ausführungsformen kann die zusätzliche Anwendung nach dem Überprüfen der Sicherheitsstufe der Internetverbindung abgeschaltet werden, um Strom oder Rechenressourcen zu sparen.
  • In einigen Ausführungsformen kann der Prozessor feststellen, dass ein Rechenzentrum für das Ausführen des Anwendungsmoduls und des zusätzlichen Anwendungsmoduls mit Strom aus der Reservestromversorgung betrieben wird. In einigen Ausführungsformen können das Anwendungsmodul und das zusätzliche Anwendungsmodul auf Modulen des Rechenzentrums verarbeitet werden. In einigen Ausführungsformen können die Module des Rechenzentrums physisch in die Nähe des anderen verlegt werden. Wenn es sich bei dem Anwendungsmodul und dem zusätzlichen Anwendungsmodul beispielsweise um Prozesse auf Modulen eines Rechenzentrums handelt (z.B. Server auf Server-Racks oder Einheiten des Rechenzentrums) und das Rechenzentrum über begrenzte Ressourcen an elektrischer Energie verfügt (z.B. aufgrund eines Stromausfalls), kann der Prozessor bewerten, wie die begrenzten Ressourcen an elektrischer Energie des Rechenzentrums dem kritischen Anwendungsmodul und dem zusätzlichen Anwendungsmodul zugeordnet werden. Wenn das Anwendungsmodul auf einem anderen Modul des Rechenzentrums verarbeitet wird als das Modul des Rechenzentrums, auf dem das zusätzliche Anwendungsmodul verarbeitet wird, können die verschiedenen Module des Rechenzentrums physisch in die Nähe zueinander verlegt werden. Durch das räumliche Verlegen der Module des Rechenzentrums in unmittelbare Nähe zueinander können die für das Kühlen der Module des Rechenzentrums verwendeten Ressourcen an elektrischer Energie effizienter genutzt werden. In einigen Ausführungsformen können die Module des Rechenzentrums mobil sein, d.h., sie können sich entweder selbst bewegen oder von einem Robotersystem bewegt werden.
  • In einigen Ausführungsformen kann der Prozessor die Dauer der Nutzung der Reservestromversorgung vorhersagen. In einigen Ausführungsformen kann die Dauer der Reservestromversorgung unter Verwendung des KI-Systems vorhergesagt werden. In einigen Ausführungsformen kann das KI-System unter Verwendung von Daten über die Ursachen von Stromausfällen (z.B. mechanische Ausfälle, elektrische Ausfälle, Naturkatastrophen usw.) und Daten über die Zeit zur Behebung/Wiederherstellung der Stromversorgung trainiert werden. In einigen Ausführungsformen kann die verfügbare Reservestromversorgung wiederholt und/oder in regelmäßigen Zeitabständen ermittelt werden.
  • In einigen Ausführungsformen kann die Kritikalität eines Anwendungsmoduls auf der Grundlage der verfügbaren Reservestromversorgung bewertet werden. In einigen Ausführungsformen können einige kritische Anwendungsmodule vor anderen kritischen Anwendungsmodulen mit Strom versorgt werden, da die Kritikalität der Anwendungsmodule verglichen und priorisiert wird. In einigen Ausführungsformen kann das KI-System kontextbezogene Szenarien analysieren und ermitteln, in denen Ressourcen (z.B. elektrische Energie und Verarbeitungsressourcen) begrenzt sein können. Dies kann zum Beispiel am Monatsanfang, am Monatsende oder während eines Zeitplans zum Aufstellen eines Jahreshaushalts der Fall sein. In einigen Ausführungsformen kann das Kl-System Vorhersagen über Nutzungsbeschränkungen (z.B. aufgrund begrenzter Ressourcen) treffen, und der Nutzungsbedarf kann berechnet und entsprechend angepasst werden.
  • Mit Bezug nunmehr auf 1 ist ein Blockschaubild eines Systems 100 zum Zuordnen von Ressourcen für kritische Anwendungsmodule dargestellt. Das System 100 umfasst eine Edge-Einheit 102 und ein Cloud-Computing-Netzwerk 104. Das Cloud-Computing-Netzwerk 104 umfasst eine Systemeinheit 106, in der ein KI-System 108 ausgeführt wird. Das Cloud-Computing-Netzwerk 104 umfasst ferner einen Server 110A eines Rechenzentrums und einen Server 110B eines Rechenzentrums. Die Edge-Einheit 102, die Systemeinheit 106, der Server 110A eines Rechenzentrums und der Server 110B eines Rechenzentrums sind so konfiguriert, dass sie miteinander Daten austauschen. Bei der Edge-Einheit 102 und der Systemeinheit 106 kann es sich um beliebige Einheiten handeln, die einen Prozessor enthalten, der so konfiguriert ist, dass er eine(n) oder mehrere der in dieser Offenbarung beschriebenen Funktionen oder Schritte durchführt.
  • In einigen Ausführungsformen analysiert ein Prozessor der Systemeinheit 106 eine Anwendung, die auf dem Server 110A eines Rechenzentrums ausgeführt wird. In einigen Ausführungsformen umfasst die Anwendung ein oder mehrere Anwendungsmodule (darunter das erste Anwendungsmodul 112, das zweite Anwendungsmodul 114 und das dritte Anwendungsmodul 116). Der Prozessor stellt unter Verwendung des KI-Systems 108 fest, dass ein Anwendungsmodul des einen oder der mehreren Anwendungsmodule (z.B. das erste Anwendungsmodul 112) auf der Grundlage eines kontextbezogenen Szenarios kritisch ist. Das KI-System stellt fest, dass das erste Anwendungsmodul 112 zumindest teilweise auf der Grundlage der Wärmeentwicklung der Hardware kritisch ist, auf der das erste Anwendungsmodul 112 ausgeführt wird. Sensoren (nicht dargestellt) auf dem Server 110A des Rechenzentrums, dem Server 110B des Rechenzentrums und der Edge-Einheit 102 stellen Sensordaten über die Wärmeentwicklung der Hardware auf diesen Einheiten für das KI-System 108 bereit. Der Prozessor ermittelt die Hardware-Ressourcen, die für das Funktionieren des ersten Anwendungsmoduls 112 während des kontextbezogenen Szenarios erforderlich sind. Der Prozessor weist dem Anwendungsmodul eine Verfügbarkeit der benötigten Ressourcen zu.
  • In einigen Ausführungsformen kann der Prozessor Verbesserungsmaßnahmen durchführen, damit die zugeordneten Ressourcen dem ersten Anwendungsmodul 112 zur Verfügung stehen. Die nichtkritischen Anwendungsmodule, die auf dem Server 110A des Rechenzentrums ausgeführt werden, können zum Beispiel abgeschaltet werden. Das erste Anwendungsmodul 112 kann vom Server 110A des Rechenzentrums auf den Server 110B des Rechenzentrums oder die Edge-Einheit 102 verlagert werden, wenn auf dem Server 110B des Rechenzentrums oder der Edge-Einheit 102 Ressourcen für das kritische Anwendungsmodul zur Verfügung stehen.
  • In einigen Ausführungsformen kann der Prozessor feststellen, dass das erste Anwendungsmodul 112 auf der Grundlage des kontextbezogenen Szenarios kritisch ist, indem er während des kontextbezogenen Szenarios jedes des einen oder der mehreren Anwendungsmodule ermittelt, auf die zugegriffen wird, und indem er die Anwendungsmodule ermittelt, auf die über einen Zugriffsschwellenwert hinaus zugegriffen wird. In einigen Ausführungsformen kann der Prozessor unter Verwendung des Kl-Systems 108 ein zweites kritisches Anwendungsmodul ermitteln, z.B. das zweite Anwendungsmodul 114, das auf dem Server 110A des Rechenzentrums ausgeführt wird. In einigen Ausführungsformen kann der Prozessor die Priorität des zweiten Anwendungsmoduls 114 zum Erhalten der benötigten Ressourcen (z.B. elektrische Energie oder Rechenressourcen) höher einstufen als die Priorität des ersten Anwendungsmoduls 112.
  • In einigen Ausführungsformen kann der Prozess einen Arbeitsablauf der Anwendung erkennen und ein zusätzliches Anwendungsmodul, z.B. das dritte Anwendungsmodul 116, im Arbeitsablauf ermitteln. In einigen Ausführungsformen kann der Prozessor die benötigten Ressourcen für das dritte Anwendungsmodul 116 ermitteln und dem dritten Anwendungsmodul 116 eine zweite Verfügbarkeit von benötigten Ressourcen zuordnen. In einigen Ausführungsformen kann das dritte Anwendungsmodul 116 eine spezifische Aktivität im Arbeitsablauf enthalten. In einigen Ausführungsformen kann der Prozessor das dritte Anwendungsmodul 116 abschalten, nachdem die spezifische Aktivität im Arbeitsablauf abgeschlossen ist.
  • In einigen Ausführungsformen kann der Prozessor feststellen, dass der Server 110A des Rechenzentrums zum Verarbeiten des ersten Anwendungsmoduls 112, des zweiten Anwendungsmoduls 114 und des dritten Anwendungsmoduls 116 mit der Reservestromversorgung betrieben wird. Die Module des Rechenzentrums (z.B. Einheiten oder Racks), auf denen das erste Anwendungsmodul 112, das zweite Anwendungsmodul 114 und das dritte Anwendungsmodul 116 ausgeführt werden, können physisch so verlegt werden, dass sie sich in unmittelbarer Nähe zueinander befinden.
  • Mit Bezug nunmehr auf 2 ist ein Ablaufplan eines beispielhaften Verfahrens 200 gemäß Ausführungsformen der vorliegenden Offenbarung dargestellt. In einigen Ausführungsformen kann ein Prozessor des Kl-Systems die Operationen des Verfahrens 200 durchführen. In einigen Ausführungsformen beginnt das Verfahren 100 bei der Operation 202. Bei der Operation 202 analysiert der Prozessor unter Verwendung eines KI-Systems eine Anwendung, wobei die Anwendung ein oder mehrere Anwendungsmodule enthält. In einigen Ausführungsformen geht das Verfahren 200 zu der Operation 204 weiter, bei der der Prozessor unter Verwendung des KI-System feststellt, dass ein Anwendungsmodul auf der Grundlage eines kontextbezogenen Szenarios kritisch ist. In einigen Ausführungsformen wird das KI-System unter Verwendung von Daten über die Wärmeentwicklung der Hardware trainiert, auf der das Anwendungsmodul ausgeführt wird. In einigen Ausführungsformen geht das Verfahren 200 zu der Operation 206 weiter. Bei der Operation 206 ermittelt der Prozessor unter Verwendung des KI-Systems die Hardware-Ressourcen, die für das Funktionieren des Anwendungsmoduls während des kontextbezogenen Szenarios benötigt werden. In einigen Ausführungsformen geht das Verfahren 200 zu der Operation 208 weiter. Bei der Operation 208 weist der Prozessor dem Anwendungsmodul eine Verfügbarkeit der benötigten Ressourcen zu.
  • Wie hier näher erläutert, ist vorgesehen, dass einige oder alle Operationen des Verfahrens 200 in alternativer Reihenfolge oder überhaupt nicht durchgeführt werden können; außerdem können mehrere Operationen gleichzeitig oder als Bestandteil eines größeren Prozesses erfolgen.
  • Die vorliegende Offenbarung enthält zwar eine ausführliche Beschreibung von Cloud-Computing, es versteht sich jedoch, dass die Umsetzung der hier dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Offenbarung gemeinsam mit beliebigen Arten von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Modell zum Liefern eines Dienstes, der einen problemlosen, bedarfsorientierten Netzwerkzugriff auf einen gemeinsamen Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
  • On-Demand Self-Service (bedarfsorientierte Selbstbedienung): Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher bereitstellen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access (breiter Netzzugriff): Über ein Netzwerk sind Funktionen verfügbar, auf die durch Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene schlanke oder leistungsintensive Client-Plattformen unterstützen (z.B. Mobiltelefone, Laptops und PDAs).
  • Ressource Pooling (Ressourcen-Bündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehreren Nutzern unter Verwendung eines Mehrmietermodells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Teilunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Teil der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Teil auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity (schnelle Anpassungsfähigkeit): 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 (messbarer Dienst): Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Inanspruchnahme von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz bereitgestellt wird.
  • Es gibt folgende Dienstmodelle:
  • Software as a Service (Saas) (Software als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine schlanke Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten aus 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 Einstellungen der Anwendungskonfiguration.
  • Platform as a Service (Paas) (Plattform als Dienst): 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 Werkzeugen 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 der Hosting-Umgebung der Anwendung.
  • Infrastructure as a Service (laas) (Infrastruktur als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, 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).
  • Es gibt folgende Einsatzmodelle:
  • 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 (Benutzergemeinschafts-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Anliegen hat (z.B. Aufgabe, 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 fremden Räumen befinden.
  • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid Cloud (hybride Cloud): Die Cloud-Infrastruktur besteht aus zwei oder mehr Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Entitäten bleiben, aber durch eine standardisierte oder herstellereigene Technologie miteinander verbunden sind, die eine Übertragbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert und schwerpunktmäßig auf Statusunabhängigkeit, geringe Kopplung, Modularität und semantische Interoperabilität ausgerichtet. Der Kern der Cloud-Computing ist eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten enthält.
  • 3A zeigt eine Cloud-Computing-Umgebung 310. Wie gezeigt, weist die Cloud-Computing-Umgebung 310 einen oder mehrere Cloud-Computing-Knoten 300 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der persönliche digitale Assistent (PDA) oder das Mobiltelefon 300A, der Desktop-Computer 300B, der Laptop-Computer 300C und/oder das Kraftfahrzeug-Computersystem 300N Daten austauschen können. Die Knoten 300 können miteinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie private, benutzergemeinschaftliche, öffentliche oder hybride Clouds wie oben beschrieben oder in einer Kombination davon in Gruppen angeordnet sein (nicht dargestellt).
  • Dies ermöglicht es der Cloud-Computing-Umgebung 310, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 3A gezeigten Arten von Datenverarbeitungseinheiten 300A bis N nur veranschaulichend sein sollen und die Datenverarbeitungsknoten 300 und die Cloud-Computing-Umgebung 310 mit jeder Art von computergestützter Einheit über jede Art von Netzwerk und/oder netzwerkadressierbarer Verbindung Daten austauschen kann (z.B. über einen Web-Browser).
  • 3B zeigt einen Satz funktionaler Abstraktionsschichten, die von der Cloud-Computing-Umgebung 310 (3A) bereitgestellt werden. Es versteht sich im Voraus, dass die in 3B dargestellten Komponenten, Schichten und Funktionen nur veranschaulichend sein sollen und Ausführungsformen der Offenbarung nicht darauf beschränkt sind. Wie nachstehend dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt.
  • Die Hardware- und Software-Schicht 315 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: die Großrechner 302; die Server 304 auf Grundlage der RISC-Architektur (RISC = Reduced Instruction Set Computer, Computer mit reduziertem Befehlssatz), die Server 306; die Blade-Server 308; die Speichereinheiten 311; sowie die Netzwerke und Netzwerkkomponenten 312. In einigen Ausführungsformen enthalten die Software-Komponenten die Netzwerkanwendungs-Serversoftware 314 und die Datenbank-Software 316.
  • Die Virtualisierungsschicht 320 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server 322; virtuelle Speicher 324; virtuelle Netzwerke 326; darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 328; und virtuelle Clients 330.
  • In einem Beispiel kann die Verwaltungsschicht 340 die nachfolgend beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung 342 ermöglicht eine dynamische Bereitstellung von Datenverarbeitungsressourcen und anderen Ressourcen, die verwendet werden, um Aufgaben in der Cloud-Computing-Umgebung durchzuführen. Messen und Preisfindung 344 stellen Kostenverfolgung beim Verwenden von Ressourcen in der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware umfassen. Die Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 346 stellt Nutzern und Systemadministratoren den Zugang zur Cloud-Computing-Umgebung bereit. Die Verwaltung der Dienstgüte 348 stellt Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die erforderliche Dienstgüte erreicht wird. Die Planung und Erfüllung der Dienstgütevereinbarung (Service Level Agreement, SLA) 350 stellt eine Vorabeinteilung und eine Beschaffung von Cloud-Computing-Ressourcen bereit, deren künftiger Bedarf auf der Grundlage einer Dienstgütevereinbarung vorausgesehen wird.
  • Die Arbeitslastschicht 360 stellt Beispiele für Funktionalitäten bereit, für die 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 362; Software-Entwicklung und Lebenszyklusverwaltung 364; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 366; Datenanalyseverarbeitung 368; Transaktionsverarbeitung 370; und Zuordnen von Ressourcen für kritische Anwendungsmodule auf der Grundlage eines kontextbezogenen Szenarios 372.
  • 4 zeigt ein allgemeines Blockschaltbild eines beispielhaften Computersystems 401, das zum Implementieren eines oder mehrerer der hier beschriebenen Verfahren, Tools und Module sowie der damit verbundenen Funktionen (z.B. Verwenden von einem oder mehreren Prozessorschaltkreisen oder Computerprozessoren des Computers) gemäß Ausführungsformen der vorliegenden Offenbarung verwendet wird. In einigen Ausführungsformen können die wichtigsten Komponenten des Computersystems 401 eine oder mehrere CPUs 402, ein Speicherteilsystem 404, eine Terminalschnittstelle 412, eine Speicherschnittstelle 416, eine E/A-(Eingabe/Ausgabe-) Einheitenschnittstelle 414 und eine Netzwerkschnittstelle 418 umfassen, die alle direkt oder indirekt zum Austauschen von Daten zwischen den Komponenten über einen Speicherbus 403, einen E/A-Bus 408 und eine E/A-Busschnittstelleneinheit 410 zum Zwecke der Datenübertragung verbunden sind.
  • Das Computersystem 401 kann eine oder mehrere programmierbare Universal-Zentraleinheiten (CPUs) 402A, 402B, 402C und 402D enthalten, die hier allgemein als CPU 402 bezeichnet werden. In einigen Ausführungsformen kann das Computersystem 401 mehrere Prozessoren enthalten, die für relativ große Systeme die Regel sind; in anderen Ausführungsformen kann es sich bei dem Computersystem 401 jedoch alternativ um ein einzelnes CPU-System handeln. Jede CPU 402 kann Anweisungen ausführen, die in dem Speicherteilsystem 404 gespeichert sind, und kann eine oder mehrere Ebenen eines integrierten Caches enthalten.
  • Der Systemspeicher 404 kann durch ein Computersystem lesbare Medien in Form von flüchtigen Speichern, z.B. Direktzugriffsspeicher (RAM) 422 und/oder Zwischenspeicher 424, enthalten. Das Computersystem 401 kann ferner weitere wechselbare/nichtwechselbare, flüchtige/nichtflüchtige Speichermedien eines Computersystems enthalten. Nur beispielhaft kann das Speichersystem 426 bereitgestellt werden, um ein nichtwechselbares, nichtflüchtiges magnetisches Medium wie eine „Festplatte“ auszulesen und zu beschreiben. Obwohl nicht dargestellt, können ein Laufwerk für magnetische Speicherplatten zum Auslesen und Beschreiben einer wechselbaren, nichtflüchtigen magnetischen Speicherplatte (z.B. „Diskette“) und ein Laufwerk für optische Speicherplatten zum Auslesen oder Beschreiben einer wechselbaren, nichtflüchtigen optischen Speicherplatte wie einer CD-ROM, DVD-ROM und andere optische Medien bereitgestellt werden. Der Speicher 404 kann darüber hinaus einen Flash-Speicher enthalten, z.B. einen Flash-Speicherstick oder ein Flash-Laufwerk. Die Speichereinheiten können über eine oder mehrere Datenmedien-Schnittstellen mit dem Speicherbus 403 verbunden sein. Der Speicher 404 kann mindestens ein Programmprodukt mit einem (z.B. mindestens einem) Satz von Programmmodulen enthalten, die so konfiguriert sind, dass sie die Funktionen verschiedener Ausführungsformen ausführen.
  • Ein oder mehrere Programme/Dienstprogramme 428 mit mindestens einem Satz von Programmmodulen 430 können im Speicher 404 gespeichert werden. Die Programme/Dienstprogramme 428 können einen Hypervisor (auch als virtuellen Maschinenmonitor bezeichnet) ein oder mehrere Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten umfassen. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten oder eine Kombination daraus können jeweils eine Implementierung einer Netzwerkumgebung enthalten. Die Programme 428 und/oder Programmmodule 430 führen im Allgemeinen die Funktionen oder Methodiken verschiedener Ausführungsformen aus.
  • Der Speicherbus 403 ist in 4 zwar als einzelne Busstruktur dargestellt, die einen direkten Datenübertragungspfad zwischen den CPUs 402, dem Speicherteilsystem 404 und der E/A-Busschnittstelle 410 bereitstellt, der Speicherbus 403 kann in einigen Ausführungsformen jedoch mehrere verschiedene Busse oder Datenübertragungspfade umfassen, die in verschiedenen Formen wie Punkt-zu-Punkt-Verbindungen in hierarchischen, sternförmigen oder Netzkonfigurationen, mehreren hierarchischen Busse, parallelen und redundanten Pfaden oder jeder anderen geeigneten Art von Konfiguration angeordnet sein können. Die E/A-Busschnittstelle 410 und der E/A-Bus 408 sind zwar jeweils als einzelne Einheiten dargestellt, das Computersystem 401 kann in einigen Ausführungsformen jedoch mehrere E/A-Busschnittstelleneinheiten 410, mehrere E/A-Busse 408 oder beides enthalten. Es werden weiterhin zwar mehrere E/A-Schnittstelleneinheiten gezeigt, die den E/A-Bus 408 von den verschiedenen Datenübertragungspfaden trennen, die zu den verschiedenen E/A-Einheiten führen, in anderen Ausführungsformen können einige oder alle E/A-Einheiten direkt mit einem oder mehreren E/A-Systembussen verbunden sein.
  • In einigen Ausführungsformen kann es sich bei dem Computersystem 401 um ein Mehrbenutzer-Großrechnersystem, ein Einzelbenutzersystem oder einen Server-Computer oder eine ähnliche Einheit handeln, das/der/die kaum eine oder keine direkte Benutzerschnittstelle hat, jedoch Anforderungen von anderen Computersystemen (Clients) empfängt. In einigen Ausführungsformen kann das Computersystem 401 weiterhin als Desktop-Computer, tragbarer Computer, Laptop- oder Notebook-Computer, Tablet-Computer, Taschencomputer, Telefon, Smartphone, Netzwerk-Switch oder Router oder jede andere geeignete Art von elektrischer Einheit implementiert werden.
  • Es sei darauf hingewiesen, dass 4 dazu dient, die repräsentativen wichtigsten Komponenten eines beispielhaften Computersystems 401 darzustellen. In einigen Ausführungsformen können einzelne Komponenten jedoch eine größere oder geringere Komplexität aufweisen als in 4 dargestellt, andere oder zusätzliche Komponenten als die in 4 gezeigten können vorhanden sein, und Anzahl, Art und Konfiguration dieser Komponenten können variieren.
  • Wie hier näher erläutert, ist vorgesehen, dass einige oder alle Operationen einiger der Ausführungsformen der hier beschriebenen Verfahren in alternativer Reihenfolge oder überhaupt nicht durchgeführt werden können; außerdem können mehrere Operationen gleichzeitig oder als Bestandteil eines größeren Prozesses erfolgen.
  • Bei der vorliegenden Offenbarung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Offenbarung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene 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. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Offenbarung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o. ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Offenbarung durchzuführen.
  • Aspekte der vorliegenden Offenbarung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass 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.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in 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 als ein Schritt ausgeführt, gleichzeitig ausgeführt, im Wesentlich gleichzeitig ausgeführt, ganz oder teilweise zeitlich überlappend ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgestellt, sollen jedoch nicht erschöpfend oder auf die Ausführungsformen beschränkt sein. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich und Erfindungsgedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber Technologien auf dem Markt bestmöglich zu erläutern oder es Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.
  • Die vorliegende Offenbarung wurde zwar in Form spezifischer Ausführungsformen beschrieben, es wird jedoch davon ausgegangen, dass Änderungen und Modifikationen davon für den Fachmann offensichtlich sind. Daher sollen die folgenden Ansprüche so ausgelegt werden, dass sie alle Änderungen und Modifikationen umfassen, die dem eigentlichen Gedanken und Anwendungsbereich der Offenbarung entsprechen.

Claims (9)

  1. Durch einen Computer implementiertes Verfahren, wobei das Verfahren aufweist: Analysieren einer Anwendung unter Verwendung eines KI-Systems, wobei die Anwendung ein oder mehrere Anwendungsmodule aufweist; Feststellen unter Verwendung des KI-Systems, dass ein Anwendungsmodul auf der Grundlage eines kontextbezogenen Szenarios kritisch ist, wobei das KI-System unter Verwendung von Daten über die Wärmeentwicklung von Hardware trainiert wird, auf der das Anwendungsmodul ausgeführt wird; Ermitteln der Hardware-Ressourcen unter Verwendung des KI-Systems, die für das Funktionieren des Anwendungsmoduls während des kontextbezogenen Szenarios benötigt werden; und Zuordnen einer Verfügbarkeit der benötigten Ressourcen für das Anwendungsmodul.
  2. Verfahren nach Anspruch 1, wobei das Feststellen, dass das Anwendungsmodul auf der Grundlage des kontextbezogenen Szenarios kritisch ist, aufweist: Ermitteln während des kontextbezogenen Szenarios jedes des einen oder der mehreren Anwendungsmodule, auf die zugegriffen wird; und Feststellen, dass über einen Zugriffsschwellenwert hinaus auf das Anwendungsmodul zugegriffen wurde.
  3. Verfahren nach Anspruch 2, wobei das Zuordnen einer Verfügbarkeit der benötigten Ressourcen für das Anwendungsmodul aufweist: Ermitteln eines zweiten kritischen Anwendungsmoduls; und höheres Einstufen einer Priorität des zweiten kritischen Anwendungsmoduls als einer Priorität des Anwendungsmoduls.
  4. Verfahren nach Anspruch 1, das weiterhin aufweist: Erkennen eines Arbeitsablaufs der Anwendung; Ermitteln eines zusätzlichen Anwendungsmoduls in dem Arbeitsablauf anhand des Erkennens; Ermitteln von benötigten Ressourcen für das zusätzliche Anwendungsmodul; und Zuordnen einer zweiten Verfügbarkeit der benötigten Ressourcen für das zusätzliche Anwendungsmodul.
  5. Verfahren nach Anspruch 4, wobei das zusätzliche Anwendungsmodul eine spezifische Aktivität in dem Arbeitsablauf umfasst und wobei das Verfahren weiterhin aufweist: Abschalten des zusätzlichen Anwendungsmoduls, nachdem die spezifische Aktivität in dem Arbeitsablauf abgeschlossen ist.
  6. Verfahren nach Anspruch 4, das weiterhin aufweist: Feststellen, dass ein Rechenzentrum für das Ausführen des Anwendungsmoduls und des zusätzlichen Anwendungsmoduls mit einer Reservestromversorgung betrieben wird; und physisches Verlegen von Modulen des Rechenzentrums in die Nähe zueinander, wobei das Anwendungsmodul und das zusätzliche Anwendungsmodul auf den Modulen des Rechenzentrums verarbeitet werden.
  7. Verfahren nach Anspruch 6, das weiterhin aufweist: Vorhersagen einer Nutzungsdauer der Reservestromversorgung.
  8. System, das aufweist: einen Speicher; und einen Prozessor, der mit dem Speicher Daten austauscht, wobei der Prozessor so konfiguriert ist, dass er das Verfahren nach einem der Ansprüche 1 bis 7 durchführt.
  9. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darauf gespeicherten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, Operationen gemäß dem Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.
DE102021130359.1A 2020-12-02 2021-11-19 Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios Pending DE102021130359A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/109,386 2020-12-02
US17/109,386 US11782770B2 (en) 2020-12-02 2020-12-02 Resource allocation based on a contextual scenario

Publications (1)

Publication Number Publication Date
DE102021130359A1 true DE102021130359A1 (de) 2022-06-02

Family

ID=79018998

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021130359.1A Pending DE102021130359A1 (de) 2020-12-02 2021-11-19 Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios

Country Status (5)

Country Link
US (1) US11782770B2 (de)
JP (1) JP2022088338A (de)
CN (1) CN114595055A (de)
DE (1) DE102021130359A1 (de)
GB (1) GB2604973B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782770B2 (en) 2020-12-02 2023-10-10 International Business Machines Corporation Resource allocation based on a contextual scenario

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11929169B2 (en) * 2022-02-09 2024-03-12 Kyndryl, Inc. Personalized sensory feedback
US11996988B1 (en) * 2023-04-27 2024-05-28 Dell Products Lp Reinforced computer learning system and method for minimizing power consumed by underutilized data center hardware components

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195340B1 (en) 2006-12-18 2012-06-05 Sprint Communications Company L.P. Data center emergency power management
WO2015066048A1 (en) 2013-10-28 2015-05-07 Virtual Power Systems, Inc. Energy control via power requirement analysis and power source enablement
US10234833B2 (en) 2016-07-22 2019-03-19 Intel Corporation Technologies for predicting power usage of a data center
US11107016B2 (en) 2016-08-18 2021-08-31 Virtual Power Systems, Inc. Augmented power control within a datacenter using predictive modeling
US10353452B2 (en) 2017-01-27 2019-07-16 International Business Machines Corporation Hierarchical prioritized charging for battery backup units on computing data centers
CN110879750A (zh) 2017-10-13 2020-03-13 华为技术有限公司 资源管理的方法及终端设备
US11782770B2 (en) 2020-12-02 2023-10-10 International Business Machines Corporation Resource allocation based on a contextual scenario

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782770B2 (en) 2020-12-02 2023-10-10 International Business Machines Corporation Resource allocation based on a contextual scenario

Also Published As

Publication number Publication date
GB2604973A (en) 2022-09-21
GB202116549D0 (en) 2021-12-29
CN114595055A (zh) 2022-06-07
GB2604973B (en) 2023-07-19
US20220171665A1 (en) 2022-06-02
US11782770B2 (en) 2023-10-10
JP2022088338A (ja) 2022-06-14

Similar Documents

Publication Publication Date Title
DE102021130359A1 (de) Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios
DE102017217968A1 (de) Generieren eines Verschiebungsprotokolls für virtuelle Maschinen
DE102016205297A1 (de) Festlegen von speicherebenen zum platzieren von datensätzen während des ausführens von aufgaben in einem arbeitsablauf
DE112020002987T5 (de) Bereitstellen von mikrodiensten über eine dienstinfrastruktur hinweg
DE112012004238T5 (de) Auf Erkennung beruhende Identifizierung und Migration von leicht in eine Cloud verlagerbaren Anwendungen
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE112020002189T5 (de) Container-basierte anwendungen
DE112021003276T5 (de) Ressourcenverwaltung einer softwareanwendung mit mehreren softwarekomponenten
DE112020003744T5 (de) Durch dienstqualitätskriterien vorgegebenes automatisiertes betriebsdatenmanagement
DE102021125182A1 (de) Gemeinsam genutzte unternehmenscloud
DE112020004116T5 (de) Dynamisches abändern der parallelität einer aufgabe in einer pipeline
DE112021003262T5 (de) Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen
DE112021003294T5 (de) Systemverwaltung auf grundlage von leistung und leistungsfähigkeit
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE112021005927T5 (de) Patchen von arbeitsabläufen
DE112021003184T5 (de) Ermittlung von laufzeitumgebungen für software-container
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE102021122508A1 (de) Ausgleichen von grossrechner- und verteilten arbeitslasten auf der grundlage von leistung und kosten
DE112021004577T5 (de) Verwalten eines aufgabenablaufs in einer edge-datenverarbeitungsumgebung
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten

Legal Events

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