DE112020005306T5 - Implementierung von arbeitslasten in einer multi-cloud-umgebung - Google Patents

Implementierung von arbeitslasten in einer multi-cloud-umgebung Download PDF

Info

Publication number
DE112020005306T5
DE112020005306T5 DE112020005306.7T DE112020005306T DE112020005306T5 DE 112020005306 T5 DE112020005306 T5 DE 112020005306T5 DE 112020005306 T DE112020005306 T DE 112020005306T DE 112020005306 T5 DE112020005306 T5 DE 112020005306T5
Authority
DE
Germany
Prior art keywords
cloud
logical
workload
computer
cloud providers
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
DE112020005306.7T
Other languages
English (en)
Inventor
Abhishek Jain
Sasikanth Eda
Dileep Dixith
Sandeep Patil
Anbazhagan Mani
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 DE112020005306T5 publication Critical patent/DE112020005306T5/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/5083Techniques for rebalancing the load in a distributed 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/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/5044Allocation 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 hardware capabilities
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Abstract

Ein durch einen Computer implementiertes Verfahren umfasst gemäß einem Aspekt Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft die Implementierung von Arbeitslasten („workloads“) und insbesondere die Verteilung von Arbeitslastoperationen an Cloud-Anbieter.
  • Cloud-Anbieter werden häufig zur Bereitstellung von Ressourcen wie Datenverarbeitung, Speicherung und Bandbreite für Arbeitslasten genutzt. Bei der Implementierung dieser Arbeitslasten ist die Aufrechterhaltung von Cyberresilienz ein wichtiges Anliegen. So kann es beispielsweise erforderlich sein, dass Arbeitslastdaten während einer Implementierung der Arbeitslast gesichert werden müssen und dass während der Implementierung der Arbeitslast eine vorbestimmte Dienstgüte bereitgestellt werden muss. Ebenso kann es sein, dass Arbeitslasten trotz Systemausfällen, Malware usw. erledigt werden müssen.
  • Bei den derzeitigen Arbeitslastimplementierungen werden jedoch verschiedene Teile der Arbeitslast nicht im Hinblick auf verfügbare Cloud-Anbieter optimiert, um die Implementierung der Arbeitslast zu optimieren und zu sichern.
  • KU RZDARSTELLU NG
  • Ein durch einen Computer implementiertes Verfahren umfasst gemäß einem Aspekt Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  • Gemäß einem anderen Aspekt werden die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt, wobei das Analysieren Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (application programming interfaces, APIs) zur Durchführung einer Prüfung des Cloud-Anbieters umfasst.
  • Auf diese Weise kann eine Implementierung jeder logischen Stufe innerhalb der Arbeitslast an einen optimalen Cloud-Anbieter zur Implementierung gesendet werden. Dies kann eine Menge an Ressourcen (z.B. Datenverarbeitungsressourcen, Speicherressourcen, Sicherheitsressourcen usw.) reduzieren, die für die Durchführung jeder logischen Stufe erforderlich sind, was eine Leistung eines oder mehrerer Datenverarbeitungssysteme verbessern kann, die die Arbeitslast implementieren (z.B. ausführen usw.).
  • Gemäß einem anderen Aspekt enthält ein Computerprogrammprodukt zum Implementieren von Arbeitslasten in einer Multi-Cloud-Umgebung ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen, wobei das durch einen Computer lesbare Speichermedium kein transientes Signal an sich ist und wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, ein Verfahren durchzuführen, das durch den Prozessor erfolgendes Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; durch den Prozessor erfolgendes Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; durch den Prozessor erfolgendes Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen durch den Prozessor erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe umfasst.
  • Gemäß einem Aspekt werden die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt, wobei das Analysieren Schätzen eines oder mehrerer Durchführbarkeitsfaktoren für jeden der Cloud-Anbieter auf Grundlage gesammelter Überprüfungsinformationen für die Cloud-Anbieter umfasst, wobei die Durchführbarkeitsfaktoren aus einer Gruppe ausgewählt werden, die Dienstfähigkeit, einen Promotorenüberhang (net promoter score, NPS), Benutzerbewertungen, Leistungsbenchmarks und Abstimmungsflexibilität umfasst.
  • Gemäß einem anderen Aspekt enthält ein System einen Prozessor und Logik, die in den Prozessor integriert ist, durch den Prozessor ausführbar ist oder in den Prozessor integriert und durch diesen ausführbar ist, wobei die Logik so konfiguriert ist, dass sie Eigenschaften einer Mehrzahl von Cloud-Anbietern ermittelt und speichert; eine Arbeitslast in eine Mehrzahl logischer Stufen aufteilt; Eigenschaften jeder der Mehrzahl logischer Stufen ermittelt; und für jede der Mehrzahl logischer Stufen auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe die logische Stufe einem der Mehrzahl von Cloud-Anbietern zuweist.
  • Gemäß einem anderen Aspekt umfasst das Aufteilen der Arbeitslast Parsen der Arbeitslast, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit Eingaben in die Arbeitslast zu identifizieren.
  • Auf diese Weise kann eine Cyberresilienz jeder logischen Stufe gewährleistet werden, wodurch die Menge an Daten/Rechenarbeit, die durch Systemausfälle oder Malware verloren geht, verringert und eine Leistung der Datenverarbeitungssysteme, die die Arbeitslast implementieren, verbessert werden kann.
  • Gemäß einem anderen Aspekt umfasst ein durch einen Computer implementiertes Verfahren Ermitteln von Eigenschaften einer Mehrzahl von Cloud-Anbietern durch Analysieren der Mehrzahl von Cloud-Anbietern, wobei das Analysieren Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (APIs), um eine Prüfung der Mehrzahl von Cloud-Anbietern durchzuführen, Sammeln und Parsen einer oder mehrerer Informationen aus öffentlichen und privaten Sicherheitsdatenbanken, um Berichte und/oder Trends und/oder Schwachstellen und/oder Sicherheitsprobleme usw. für jeden der Mehrzahl von Cloud-Anbietern zu identifizieren, und Parsen einer oder mehrerer Fix- (Korrektur-) Datenbanken umfasst, um existierende Lösungen für existierende Sicherheitsprobleme für einen oder mehrere der Mehrzahl von Cloud-Anbietern zu ermitteln; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  • Gemäß einem anderen Aspekt umfasst ein durch einen Computer implementiertes Verfahren Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen, einschließlich des Parsens der Arbeitslast, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit Eingaben in die Arbeitslast zu identifizieren, und des Prüfens von Quellcode der Arbeitslast, um Dateneingabe- und -ausgabeinstanzen innerhalb der Arbeitslast vorherzusagen, wobei jede der logischen Stufen Dateneingaben enthält, die nicht von anderen logischen Stufen innerhalb der Arbeitslast abhängig sind; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  • Weitere Aspekte und Ausführungsformen der vorliegenden Erfindung werden aus der nachfolgenden ausführlichen Beschreibung ersichtlich, welche in Zusammenschau mit den Zeichnungen beispielhaft die Prinzipien der Erfindung veranschaulicht.
  • Figurenliste
    • 1 zeigt eine Cloud-Computing-Umgebung gemäß einem Aspekt der vorliegenden Erfindung.
    • 2 zeigt Abstraktionsmodellschichten gemäß einem Aspekt der vorliegenden Erfindung.
    • 3 zeigt einen Cloud-Computing-Knoten gemäß einem Aspekt der vorliegenden Erfindung.
    • 4 veranschaulicht ein mehrstufiges Datenspeichersystem gemäß einem Aspekt der vorliegenden Erfindung.
    • 5 zeigt einen Ablaufplan eines Verfahrens zum Implementieren von Arbeitslasten in einer Multi-Cloud-Umgebung gemäß einem Aspekt der vorliegenden Erfindung.
    • 6 zeigt einen Ablaufplan eines Verfahrens zum Prüfen eines Cloud-Anbieters gemäß einem Aspekt der vorliegenden Erfindung.
    • 7 veranschaulicht einen Ablaufplan eines Verfahrens zum Identifizieren von Arbeitslastanforderungen gemäß einem Aspekt der vorliegenden Erfindung.
    • 8 veranschaulicht einen Ablaufplan eines Verfahrens zum Implementieren einer Multi-Mandanten-Arbeitslast-Verwaltungs-Engine gemäß einem Aspekt der vorliegenden Erfindung.
    • 9 veranschaulicht ein beispielhaftes berechnetes Orchestrierungsschema gemäß einem Aspekt der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende Beschreibung erfolgt zum Zwecke der Veranschaulichung der Grundgedanken der vorliegenden Erfindung und soll nicht die vorliegend beanspruchten erfindungsgemäßen Konzepte einschränken. Ferner können vorliegend beschriebene jeweilige Merkmale in Kombination mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Permutationen verwendet werden.
  • Soweit nicht vorliegend ausdrücklich anders angegeben, sind alle Bezeichnungen so breit wie möglich auszulegen, einschließlich aus der Spezifikation implizierter Bedeutungen sowie Bedeutungen, die von einem Fachmann verstanden werden und/oder die in Wörterbüchern, Abhandlungen usw. definiert sind.
  • Zudem ist zu beachten, dass die in der Spezifikation und den sich anschließenden Ansprüchen verwendeten Singularformen „ein/e/“ und „der/die/das“ die Möglichkeit mehrerer Bezugsobjekte mit einschließen, sofern nicht anders angegeben. Ferner ist zu beachten, dass die Ausdrücke „weist auf“ und/oder „aufweisend“, soweit in dieser Spezifikation verwendet, das Vorliegen genannter Merkmale, Zahlen, Schritte, Vorgänge, Elemente und/oder Komponenten angibt, jedoch nicht das Vorliegen oder Hinzufügen eines oder mehrerer weiterer Merkmale, Zahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • In der folgenden Beschreibung werden verschiedene Aspekte der Implementierung von Arbeitslasten in einer Multi-Cloud-Umgebung offenbart.
  • Gemäß einem allgemeinen Aspekt umfasst ein durch einen Computer implementiertes Verfahren Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  • Gemäß einem anderen allgemeinen Aspekt werden die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt, wobei das Analysieren Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (APIs) zur Durchführung einer Prüfung des Cloud-Anbieters umfasst.
  • Auf diese Weise kann eine Implementierung jeder logischen Stufe innerhalb der Arbeitslast an einen optimalen Cloud-Anbieter zur Implementierung gesendet werden. Dies kann eine Menge an Ressourcen (z.B. Datenverarbeitungsressourcen, Speicherressourcen, Sicherheitsressourcen usw.) reduzieren, die für die Durchführung jeder logischen Stufe erforderlich sind, was eine Leistung eines oder mehrerer Datenverarbeitungssysteme verbessern kann, die die Arbeitslast implementieren (z.B. ausführen usw.).
  • Gemäß einem anderen allgemeinen Aspekt enthält ein Computerprogrammprodukt zum Implementieren von Arbeitslasten in einer Multi-Cloud-Umgebung ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen, wobei das durch einen Computer lesbare Speichermedium kein transientes Signal an sich ist und wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, ein Verfahren durchzuführen, das durch den Prozessor erfolgendes Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; durch den Prozessor erfolgendes Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; durch den Prozessor erfolgendes Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen durch den Prozessor erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe umfasst.
  • Gemäß einem anderen allgemeinen Aspekt werden die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt, wobei das Analysieren Schätzen eines oder mehrerer Durchführbarkeitsfaktoren für jeden der Cloud-Anbieter auf Grundlage gesammelter Überprüfungsinformationen für die Cloud-Anbieter umfasst, wobei die Durchführbarkeitsfaktoren aus einer Gruppe ausgewählt werden, die Dienstfähigkeit, einen Promotorenüberhang (net promoter score, NPS), Benutzerbewertungen, Leistungsbenchmarks und Abstimmungsflexibilität umfasst.
  • Gemäß einem anderen allgemeinen Aspekt enthält ein System einen Prozessor und Logik, die in den Prozessor integriert ist, durch den Prozessor ausführbar ist oder in den Prozessor integriert und durch diesen ausführbar ist, wobei die Logik so konfiguriert ist, dass sie Eigenschaften einer Mehrzahl von Cloud-Anbietern ermittelt und speichert; eine Arbeitslast in eine Mehrzahl logischer Stufen aufteilt; Eigenschaften jeder der Mehrzahl logischer Stufen ermittelt; und für jede der Mehrzahl logischer Stufen auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe die logische Stufe einem der Mehrzahl von Cloud-Anbietern zuweist.
  • Gemäß einem anderen allgemeinen Aspekt umfasst das Aufteilen der Arbeitslast Parsen der Arbeitslast, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit Eingaben in die Arbeitslast zu identifizieren.
  • Auf diese Weise kann eine Cyberresilienz jeder logischen Stufe gewährleistet werden, wodurch die Menge an Daten/Rechenarbeit, die durch Systemausfälle oder Malware verloren geht, verringert und eine Leistung der Datenverarbeitungssysteme, die die Arbeitslast implementieren, verbessert werden kann.
  • Gemäß einem anderen allgemeinen Aspekt umfasst ein durch einen Computer implementiertes Verfahren Ermitteln von Eigenschaften einer Mehrzahl von Cloud-Anbietern durch Analysieren der Mehrzahl von Cloud-Anbietern, wobei das Analysieren Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (APIs), um eine Prüfung der Mehrzahl von Cloud-Anbietern durchzuführen, Sammeln und Parsen einer oder mehrerer Informationen aus öffentlichen und privaten Sicherheitsdatenbanken, um Berichte und/oder Trends und/oder Schwachstellen und/oder Sicherheitsprobleme usw. für jeden der Mehrzahl von Cloud-Anbietern zu identifizieren, und Parsen einer oder mehrerer Fix-Datenbanken umfasst, um bestehende Lösungen für bestehende Sicherheitsprobleme für einen oder mehrere der Mehrzahl von Cloud-Anbietern zu ermitteln; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  • Gemäß einem anderen allgemeinen Aspekt umfasst ein durch einen Computer implementiertes Verfahren Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen, einschließlich des Parsens der Arbeitslast, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit Eingaben in die Arbeitslast zu identifizieren, und des Prüfens von Quellcode der Arbeitslast, um Dateneingabe- und -ausgabeinstanzen innerhalb der Arbeitslast vorherzusagen, wobei jede der logischen Stufen Dateneingaben enthält, die nicht von anderen logischen Stufen innerhalb der Arbeitslast abhängig sind; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  • Es sei klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, auch wenn diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing enthält. Stattdessen können Aspekte der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung implementiert werden.
  • Cloud-Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), 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 enthalten, 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 des Dienstes 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-oderThick-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 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 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 in den eigenen Räumen oder fremden Räumen stehen.
  • 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 aufweist.
  • Unter Bezugnahme auf 1 ist eine veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt, enthält die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen von Cloud-Kunden genutzte lokale Datenverarbeitungseinheiten wie beispielsweise ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon 54A, Desktop-Computer 54B, Laptop-Computer 54C und/oder Kraftfahrzeug-Computersystem 54N Daten austauschen können. Die Knoten 10 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 von in 1 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 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.
  • 2 zeigt eine Gruppe von durch die Cloud-Computing-Umgebung 50 (1) bereitgestellten funktionellen Abstraktionsschichten. Es sei vorab angemerkt, dass die in 2 gezeigten Komponenten, Schichten und Funktionen als lediglich veranschaulichend zu verstehen sind und Aspekte der Erfindung hierauf nicht beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten 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. Gemäß einigen Aspekten umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Die 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 die 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 die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Kunden 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 Umsetzen von Dienstgütevereinbarungen (service level agreement, SLA) 85 stellen eine Vorbereitung und Beschaffung von Cloud-Computing-Ressourcen, für die mit einem künftigen Bedarf gerechnet wird, gemäß einer SLA bereit.
  • Eine Arbeitslast-Schicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Workloads 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 Implementierung von Arbeitslasten 96.
  • In 3 ist ein Blockschaltbild eines Beispiels eines Cloud-Computing-Knotens gezeigt. Bei dem Cloud-Computing-Knoten 10 handelt es sich lediglich um ein Beispiel eines geeigneten Cloud-Computing-Knotens, und dieses soll in keiner Weise eine Eingrenzung bezüglich des Verwendungs- oder Funktionalitätsumfangs von Aspekten der vorliegend beschriebenen Erfindung andeuten. Unabhängig davon kann der Cloud-Computing-Knoten 10 für jedwede vorstehend angegebene Funktionalität realisiert werden und/oder diese ausführen.
  • Im Cloud-Computing-Knoten 10 ist ein Computersystem/Server 12 vorhanden, welches/r zusammen mit zahlreichen weiteren Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen oder-Konfigurationen betriebsfähig ist. Zu Beispielen bekannter Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die sich für die Verwendung mit dem Computersystem/Server 12 eignen können, zählen, ohne hierauf beschränkt zu sein, Personal-Computer-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, tragbare oder Laptop-Einheiten, Multiprozessorsysteme, Systeme aus Mikroprozessoren, Set-Top-Boxen, programmierbare Consumer-Elektronik, Netzwerk-PCs, Minicomputer-Systeme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, die jedwede der vorstehend genannten Systeme oder Einheiten umfassen, und dergleichen.
  • Computersystem/Server 12 kann im allgemeinen Kontext durch ein Computersystem ausführbarer Anweisungen beschrieben werden, beispielsweise Programmmodule, die durch ein Computersystem ausgeführt werden. Allgemein enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter, die bestimmte Aufgaben erfüllen oder bestimmte abstrakte Datentypen implementieren. Computersystem/Server 12 können in verteilten Cloud-Computing-Umgebungen betrieben werden, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten ausgeführt werden, die durch ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Speichermedien des Computersystems einschließlich Kurzzeit-Speichereinheiten befinden.
  • Wie in 3 gezeigt, wird Computersystem/Server 12 in dem Cloud-Computing-Knoten 10 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/Servers 12 können, ohne jedoch hierauf eingeschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 16, ein Systemspeicher 28 und ein Bus 18 zählen, der verschiedene Systemkomponenten einschließlich des Systemspeichers 28 mit der Prozessoreinheit 16 verbindet.
  • Der Bus 18 stellt eine oder mehrere von verschiedenen Arten von Bus-Strukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripherie-Bus, ein AGP-Bus und ein Prozessor- oder lokaler Bus, der jedwede einer Vielfalt von Busarchitekturen verwendet. Als nicht einschränkende Beispiele gehören zu solchen Architekturen der ISA-(Industry-Standard-Architecture-) Bus, der Mikrokanal- (Micro-Channel-Architecture, MCA-) Bus, der EISA- (Enhanced-ISA-) Bus, VESA- (Video-Electronics-Standards-Association-) Localbus und der PCI- (Peripheral-Component-Interconnects-) Bus.
  • Computersystem/Server 12 umfasst üblicherweise eine Vielfalt durch ein Computersystem lesbarer Medien. Bei solchen Medien kann es sich um jedwedes verfügbare Medium handeln, auf das von dem Computersystem/Server 12 zugegriffen werden kann, und dazu zählen sowohl flüchtige als auch nichtflüchtige Medien, entfernbare sowie nicht entfernbare Medien.
  • Der Systemspeicher 28 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie beispielsweise Arbeitsspeicher (RAM) 30 und/oder Cache 32 umfassen. Computersystem/Server 12 kann ferner weitere auswechselbare/nicht auswechselbare, flüchtige/nichtflüchtige Speichermedien des Computersystems umfassen. Lediglich beispielhaft kann das Speichersystem 34 zum Lesen von einem sowie Schreiben auf ein nicht entfernbares nichtflüchtiges magnetisches Medium (nicht gezeigt und üblicherweise als „Festplattenspeicher“ bezeichnet) bereitgestellt sein. Auch wenn dies nicht gezeigt ist, können ein Magnetplattenlaufwerk zum Lesen von einer und Schreiben auf eine auswechselbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy Disk“) und ein optisches Plattenlaufwerk zum Lesen von einer oder Schreiben auf eine auswechselbare, nichtflüchtige optische Platte wie beispielsweise einen CD-ROM, DVD-ROM oder andere optische Medien bereitgestellt sein. In solchen Fällen kann jedes der Genannten über eine oder mehrere Daten-Medien-Schnittstellen mit dem Bus 18 verbunden sein. Wie nachstehend weiter dargestellt und beschrieben wird, kann der Speicher 28 mindestens ein Programmprodukt mit einer Gruppe (z.B. mindestens einem) von Programmmodulen umfassen, die so konfiguriert sind, dass sie die Funktionen gemäß Aspekten der Erfindung ausführen.
  • Als nichteinschränkendes Beispiel können in dem Speicher 28 ein Programm/Dienstprogramm 40 mit einer Gruppe (mindestens einem) von Programmmodulen 42 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten gespeichert sein. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination aus diesen können jeweils eine Implementierung einer Netzwerkumgebung enthalten. Allgemein führen die Programmmodule 42 die Funktionen und/oder Methodiken gemäß Aspekten der Erfindung wie vorliegend beschrieben aus.
  • Computersystem/Server 12 kann zudem mit einer oder mehreren externen Einheiten 14 wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw., einer oder mehreren Einheiten, die einem Nutzer eine Interaktion mit dem Computersystem/Server 12 ermöglichen, und/oder jedweden Einheiten (z.B. Netzwerkkarte, Modem usw.) in Datenaustausch stehen, die dem Computersystem/Server 12 einen Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen. Ein solcher Datenaustausch kann über Ein/Ausgabe- (E/A-) Schnittstellen 22 erfolgen. Dennoch kann Computersystem/Server 12 über einen Netzwerkadapter 20 in Datenaustausch mit einem oder mehreren Netzwerken wie beispielsweise einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netz (z.B. dem Internet) stehen. Wie dargestellt, tauscht der Netzwerkadapter 20 über den Bus 18 Daten mit den anderen Komponenten des Computersystems/Servers 12 aus. Es sei angemerkt, dass, auch wenn dies nicht gezeigt ist, andere Hardware- und/oder Software-Komponenten zusammen mit dem Computersystem/Server 12 verwendet werden könnten. Zu Beispielen zählen, ohne auf diese beschränkt zu sein: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • In 4 ist ein Speichersystem 400 gemäß einem Aspekt gezeigt. Es ist zu beachten, dass einige der in 4 gezeigten Elemente gemäß verschiedenen Aspekten als Hardware und/oder Software implementiert werden können. Das Speichersystem 400 kann einen Speichersystemmanager 412 zum Datenaustausch mit einer Mehrzahl von Medien auf mindestens einer höheren Speicherstufe 402 und mindestens einer niedrigeren Speicherstufe 406 enthalten. Die höhere(n) Speicherstufe(n) 402 kann/können bevorzugt ein oder mehrere Wahlzugriffs- und/oder Direktzugriffsmedien 404 enthalten, wie z.B. Festplatten in Festplattenlaufwerken (HDDs), nichtflüchtigen Speicher (NVM, nonvolatile memory), Halbleiterspeicher in Halbleiterdatenträgern (SSDs, solid state drives), Flashspeicher, SSD-Arrays, Flashspeicher-Arrays usw. und/oder andere vorliegend erwähnte oder im Fachgebiet bekannte. Die untere(n) Speicherstufe(n) 406 enthält/enthalten bevorzugt ein oder mehrere Speichermedien 408 mit geringerer Leistung, darunter Medien mit sequenziellem Zugriff, wie z.B. Magnetband in Bandlaufwerken und/oder optische Medien, langsamer zugreifende HDDs, langsamer zugreifende SSDs usw. und/oder andere vorliegend erwähnte oder im Fachgebiet bekannte Medien. Eine oder mehrere zusätzliche Speicherstufen 416 können eine beliebige Kombination von Speichermedien enthalten, die von einem Entwickler des Systems 400 gewünscht wird. Zudem kann jede der höheren Speicherstufen 402 und/oder der unteren Speicherstufen 406 eine beliebige Kombination aus Speichereinheiten und/oder Speichermedien enthalten.
  • Der Speichersystemmanager 412 kann mit den Speichermedien 404, 408 auf der (den) höheren Speicherstufe(n) 402 und der (den) niedrigeren Speicherstufen (n) 406 über ein Netzwerk 410, z.B. ein Storage Area Network (SAN), wie in 4 gezeigt, oder einem anderen geeigneten Netzwerktyp Daten austauschen. Der Speichersystemmanager 412 kann zudem mit einem oder mehreren Host-Systemen (nicht dargestellt) über eine Host-Schnittstelle 414 Daten austauschen, die gegebenenfalls ein Teil des Speichersystemmanagers 412 sein kann. Der Speichersystemmanager 412 und/oder jede andere Komponente des Speichersystems 400 kann in Hardware und/oder Software implementiert sein und kann einen Prozessor (nicht dargestellt) zur Ausführung von Befehlen eines im Fachgebiet bekannten Typs verwenden, wie z.B. eine Zentraleinheit (CPU), ein frei programmierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC), usw. Natürlich kann jede beliebige Anordnung eines Speichersystems verwendet werden, wie für einen Fachmann beim Lesen der vorliegenden Beschreibung offensichtlich ist.
  • Gemäß weiteren Aspekten kann das Speichersystem 400 eine beliebige Anzahl von Datenspeicherstufen umfassen und innerhalb jeder Speicherstufe die gleichen oder unterschiedliche Speichermedien enthalten. Beispielsweise kann jede Datenspeicherstufe denselben Typ von Speichermedien enthalten, wie HDDs, SSDs, Medien mit sequenziellem Zugriff (Band in Bandlaufwerken, optische Platte in optischen Laufwerken usw.), Direktzugriffsmedien (CD-ROM, DVD-ROM usw.) oder eine beliebige Kombination von Medienspeichertypen. In einer solchen Konfiguration kann eine höhere Speicherstufe 402 mehrheitlich SSD-Speichermedien zur Speicherung von Daten in einer leistungsfähigeren Speicherumgebung enthalten, während die übrigen Speicherstufen, einschließlich der unteren Speicherstufe 406 und der zusätzlichen Speicherstufen 416, eine beliebige Kombination von SSDs, HDDs, Bandlaufwerken usw. zur Speicherung von Daten in einer leistungsschwächeren Speicherumgebung enthalten können. Auf diese Weise können Daten, auf die häufiger zugegriffen wird, Daten mit höherer Priorität, Daten, auf die schneller zugegriffen werden muss, usw. auf der höheren Speicherstufe 402gespeichert werden, während Daten, die keines dieser Attribute aufweisen, auf den zusätzlichen Speicherstufen 416, einschließlich der unteren Speicherstufe 406, gespeichert werden können. Natürlich kann ein Fachmann beim Lesen der vorliegenden Beschreibungen viele andere Kombinationen von Speichermedientypen entwickeln, um sie gemäß den vorliegend Aspekten in verschiedene Speicherschemata zu implementieren.
  • Gemäß einigen Aspekten kann das Speichersystem (z.B. 400) Logik enthalten, die so konfiguriert ist, dass sie eine Anfrage zum Öffnen eines Datensatzes empfängt, Logik, die so konfiguriert ist, dass sie ermittelt, ob der angefragte Datensatz auf einer niedrigeren Speicherstufe 406 eines gestuften Datenspeichersystems 400 in mehreren zugehörigen Teilen gespeichert ist, Logik, die so konfiguriert ist, dass sie jeden zugehörigen Teil des angefragten Datensatzes auf eine höhere Speicherstufe 402 des gestuften Datenspeichersystems 400 verschiebt, und Logik, die so konfiguriert ist, dass sie den angefragten Datensatz auf der höheren Speicherstufe 402 des gestuften Datenspeichersystems 400 aus den zugehörigen Teilen zusammensetzt.
  • Natürlich kann diese Logik gemäß verschiedenen Aspekten als Verfahren auf einer beliebigen Einheit und/oder einem beliebigen System oder als Computerprogrammprodukt implementiert werden.
  • In 5 ist ein Ablaufplan eines Verfahrens 500 gemäß einem Aspekt gezeigt. Gemäß der vorliegenden Erfindung kann gemäß verschiedenen Aspekten das Verfahren 500 unter anderem in jeder der in 1 bis 4 abgebildeten Umgebungen durchgeführt werden. Im Verfahren 500 können natürlich mehr oder weniger Arbeitsschritte als die konkret in 5 beschriebenen enthalten sein, wie ein Fachmann bei Lektüre der vorliegenden Beschreibungen versteht.
  • Jeder der Schritte des Verfahrens 500 kann durch jede geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann gemäß verschiedenen Aspekten das Verfahren 500 teilweise oder ganz durch einen oder mehrere Server, Computer oder eine andere Einheit mit einem oder mehreren darin befindlichen Prozessoren durchgeführt werden. Der Prozessor, z.B. Verarbeitungsschaltung(en), Chip(s) und/oder Modul(e), die in Hardware und/oder Software implementiert sind und bevorzugt über mindestens eine Hardware-Komponente verfügen, kann in jeder Einheit genutzt werden, um einen oder mehrere Schritte des Verfahrens 500 durchzuführen. Zu veranschaulichenden Prozessoren zählen, ohne jedoch hierauf eingeschränkt zu sein, eine Zentraleinheit (CPU), eine anwendungsspezifische integrierte Schaltung (ASIC), eine vor Ort programmierbare Gatter-Anordnung (FPGA) usw., Kombinationen aus diesen oder irgendeine andere geeignete Datenverarbeitungseinheit, die im Fachgebiet bekannt ist.
  • Wie in 5 gezeigt, kann das Verfahren 500 mit dem Arbeitsschritt 502 beginnen, bei dem Eigenschaften einer Mehrzahl von Cloud-Anbietern ermittelt und gespeichert werden. Gemäß einem Aspekt kann jeder der Mehrzahl von Cloud-Anbietern einen Cloud-basierten Dienstanbieter umfassen (z.B. einen Dienstanbieter, der sich in einer Cloud-Computing-Umgebung befindet, usw.). Gemäß einem weiteren Aspekt kann jeder der Mehrzahl von Cloud-Anbietern Dienste wie Datenverarbeitung, Datenspeicherung usw. bereitstellen. So kann beispielsweise jeder der Cloud-Anbieter einen oder mehrere Dienste wie Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (laaS) usw. bereitstellen.
  • Darüber hinaus können gemäß einem Aspekt die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden. Gemäß einem weiteren Aspekt kann das Analysieren Ausführen einer oder mehrerer Fähigkeits- und/oder Kosten-Anwendungsprogrammierschnittstellen (APIs) umfassen, um eine Prüfung des Cloud-Anbieters durchzuführen. In einem weiteren Aspekt kann das Analysieren Sammeln und Parsen einer oder mehrerer Informationen aus öffentlichen und privaten Sicherheitsdatenbanken umfassen, um Berichte und/oder Trends und/oder Schwachstellen und/oder Sicherheitsprobleme usw. für jeden Cloud-Anbieter zu identifizieren.
  • Ferner kann gemäß einem Aspekt das Analysieren Parsen einer oder mehrerer Fix-Datenbanken umfassen, um bestehende Lösungen für bestehende Sicherheitsprobleme für einen oder mehrere der Cloud-Anbieter zu ermitteln. Gemäß einem anderen Aspekt kann das Analysieren Schätzen eines oder mehrerer Durchführbarkeitsfaktoren für jeden der Cloud-Anbieter auf Grundlage gesammelter Bewertungsinformationen für die Cloud-Anbieter umfassen. Zu den Durchführbarkeitsfaktoren können zum Beispiel Dienstfähigkeit und/oder ein Promotorenüberhang (net promoter score, NPS) und/oder Benutzerbewertungen und/oder Leistungsbenchmarks und/oder Abstimmungsflexibilität usw. zählen.
  • Gemäß einem weiteren Aspekt können zu den Eigenschaften für jeden Cloud-Anbieter Fähigkeiten des Cloud-Anbieters, Kosten einer Implementierung des Cloud-Anbieters, ein vom Cloud-Anbieter implementiertes Sicherheitsniveau, mit dem Cloud-Anbieter verbundene Durchführbarkeitsfaktoren usw. zählen. Gemäß einem weiteren Aspekt kann jede der Eigenschaften mit einem oder mehreren vordefinierten Schwellenwerten verglichen werden, um ein Niveau für jede der Eigenschaften zu bestimmen.
  • Beispielsweise kann einer Sicherheitseigenschaft für einen Cloud-Anbieter ein erstes Niveau (z.B. ein hohes Niveau) zugewiesen werden, wenn ein von einem Cloud-Anbieter implementierter Sicherheitsumfang einen ersten Schwellenwert überschreitet. In einem anderen Beispiel kann einer Sicherheitseigenschaft für einen Cloud-Anbieter ein zweites Niveau (z.B. ein mittleres Niveau) zugewiesen werden, wenn ein von einem Cloud-Anbieter implementierter Sicherheitsumfang unter dem ersten Schwellenwert liegt, aber einen zweiten Schwellenwert überschreitet. In einem weiteren Beispiel kann einer Sicherheitseigenschaft für einen Cloud-Anbieter ein drittes Niveau (z.B. ein niedriges Niveau) zugewiesen werden, wenn ein von einem Cloud-Anbieter implementierter Sicherheitsumfang unter dem zweiten Schwellenwert liegt.
  • Gemäß einem Aspekt können die Eigenschaften zudem eine Cybersicherheitseigenschaft für jeden Cloud-Anbieter umfassen, die ein Sicherheitsniveau angibt, das der Cloud-Anbieter während der Arbeitslastimplementierung bietet. Gemäß einem anderen Aspekt können die Eigenschaften eine Cyberresilienzeigenschaft für jeden Cloud-Anbieter enthalten, das ein Resilienzniveau (z.B. Schutz vor Abstürzen, Malware-Schutz, redundanter Datenschutz usw.) angeben kann, das der Cloud-Anbieter während der Arbeitslastimplementierung bereitstellt. So können beispielsweise die Cybersicherheits- und Cyberresilienz-Eigenschaften für jeden Cloud-Anbieter aus anderen für diesen Cloud-Anbieter identifizierten Eigenschaften abgeleitet werden.
  • Darüber hinaus kann gemäß einem Aspekt eine Kennung des Cloud-Anbieters in Verbindung mit einer Textbeschreibung der Eigenschaften und/oder einer numerischen Bewertung, die mit jeder der Eigenschaften verbunden ist, usw. gespeichert werden. Gemäß einem weiteren Aspekt können die Eigenschaften auf einer oder mehreren Speichereinheiten, in einer Cloud-Speicherumgebung usw. gespeichert werden.
  • Ferner kann das Verfahren 500 mit Arbeitsschritt 504 fortfahren, bei dem eine Arbeitslast in eine Mehrzahl logischer Stufen unterteilt wird. Gemäß einem Aspekt kann die Arbeitslast erforderliche Eingaben enthalten (z.B. eine oder mehrere Instanzen von Daten, die von der Arbeitslast analysiert und/oder bearbeitet werden sollen, usw.). Gemäß einem weiteren Aspekt kann die Arbeitslast eine oder mehrere Berechnungen enthalten, die als Teil der Arbeitslast durchzuführen sind (z.B. ein oder mehrere Berechnungsalgorithmen, die auf eine vorgegebene Eingabe anzuwenden sind, usw.). Gemäß einem weiteren Aspekt kann die Arbeitslast ein oder mehrere Ergebnisse enthalten, die als Ergebnis des Ausführens der Arbeitslast ausgegeben werden (z.B. Ausgabedaten usw.).
  • Darüber hinaus kann die Arbeitslast gemäß einem Aspekt eine oder mehrere verallgemeinerte Verarbeitungspipeline-Stufen enthalten. Gemäß einem weiteren Aspekt kann die Arbeitslast geparst werden, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit den Eingaben zu identifizieren. So kann beispielsweise für eine bestimmte Dateneingabeinstanz innerhalb der Arbeitslast ermittelt werden, ob die Dateneingabe von Daten abhängt, die innerhalb derselben Arbeitslast ausgegeben werden.
  • Gemäß einem Aspekt kann zudem Quellcode der Arbeitslast geprüft werden, um Dateneingabe- und -ausgabeinstanzen innerhalb der Arbeitslast vorherzusagen. Dies kann z.B. geschehen, um eine Genauigkeit der Arbeitslastaufteilung bzw. der Erstellung logischer Stufen zu erhöhen. Gemäß einem weiteren Aspekt kann die Arbeitslast dann in logische Stufen aufgeteilt werden, wobei jede der logischen Stufen Dateneingaben enthält, die nicht von anderen logischen Stufen innerhalb der Arbeitslast abhängig sind.
  • Zudem kann beim Aufteilen der Arbeitslast in logische Stufen auf vorbestimmte Eingaben (z.B. Eingaben zur Identifizierung vorbestimmter Stufen usw.) Bezug genommen werden. Gemäß einem weiteren Aspekt kann jede der logischen Stufen geparst werden, um zu ermitteln, ob innerhalb einer logischen Stufe eine oder mehrere nichtparallele Aufgaben (z.B. Aufgaben, die aufgrund einer oder mehrerer Daten- oder Ressourcenabhängigkeiten usw. nicht parallel ausgeführt werden können) durchgeführt werden. Wenn beispielsweise festgestellt wird, dass eine logische Stufe nichtparallele Aufgaben enthält, kann die logische Stufe in mehrere kleinere logische Stufen unterteilt werden, die jeweils eine der nichtparallelen Aufgaben enthalten.
  • Ferner kann das Verfahren 500 mit Arbeitsschritt 506 fortfahren, bei dem Eigenschaften jeder der Mehrzahl logischer Stufen ermittelt werden. Gemäß einem Aspekt kann eine Komplexität jeder der logischen Stufen auf Grundlage von Eingaben, Ausgaben und Zwischenergebnissen innerhalb der Stufe ermittelt werden. Beispielsweise können die Eingaben, Ausgaben und Zwischenergebnisse innerhalb der Stufe mit historischen Arbeitslaststufen verglichen werden, um die Komplexität der Stufe zu ermitteln.
  • Ferner können gemäß einem Aspekt die Eigenschaften jeder der logischen Stufen auf Grundlage der Komplexität der Stufe ermittelt werden. Die Eigenschaften können beispielsweise eine geschätzte Ausführungszeit und/oder eine oder mehrere gewünschte Leistungseigenschaften und/oder eine oder mehrere Sicherheitsanforderungen und/oder eine oder mehrere Ressourcenanforderungen und/oder eine oder mehrere CyberresilienzAnforderungen usw. umfassen.
  • Gemäß einem Aspekt kann zudem eine erste Einstufung aller logischen Stufen für jede einer Mehrzahl von Ressourcen ermittelt werden. Zu den Ressourcen können beispielsweise Rechenressourcen und/oder Speicherressourcen und/oder Netzwerkressourcen und/oder externe Ressourcen usw. gehören. In einem anderen Beispiel kann für eine Rechenressource eine erste logische Stufe sehr viele Berechnungen erfordern, während eine zweite logische Stufe eine geringere Menge an Berechnungen erfordern kann. In einem weiteren Beispiel kann in Reaktion hierauf für die Rechenressource die erste logische Stufe höher eingestuft werden als die zweite logische Stufe.
  • Darüber hinaus kann in einem Aspekt auf Grundlage der ersten Einstufung eine zweite Einstufung aller logischen Stufen für Cybersicherheits- und Cyberresilienzfaktoren vorgenommen werden. Diese zweite Einstufung kann beispielsweise eine Cybersicherheitseinstufung für jede logische Stufe ermitteln, die ein Sicherheitsniveau angibt, das für die logische Stufe während der Implementierung erforderlich ist. In einem anderen Beispiel kann diese zweite Einstufung auch eine Cyberresilienzeinstufung für jede logische Stufe ermitteln, die ein Niveau an Resilienz (z.B. Schutz vor Abstürzen, Schutz vor Malware, redundanter Datenschutz usw.) angibt, das die logische Stufe während der Implementierung benötigt.
  • Des Weiteren kann das Verfahren 500 mit Arbeitsschritt 508 fortfahren, bei dem auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe für jede der Mehrzahl logischer Stufen die logische Stufe einem der Mehrzahl von Cloud-Anbietern zugewiesen wird. Gemäß einem Aspekt können für jede logische Stufe die Eigenschaften der Stufe mit den Eigenschaften jedes der Mehrzahl von Cloud-Anbietern verglichen werden, um einen oder mehrere Cloud-Anbieter zu ermitteln, die in der Lage sind, die Anforderungen der logischen Stufe zu erfüllen (z.B. Verarbeitungsanforderungen, Speicheranforderungen, Bandbreitenanforderungen, Cybersicherheitsanforderungen, Cyberresilienzanforderungen usw.).
  • Gemäß einem weiteren Aspekt kann das Zuweisen der logischen Stufe zu einem Cloud-Anbieter Zuordnen/Zuweisen der logischen Stufe zu dem Cloud-Anbieter umfassen, so dass der Cloud-Anbieter die von der logischen Stufe benötigten Eingaben empfängt, die von der logischen Stufe benötigten Operationen durchführt und die von der logischen Stufe benötigten Daten ausgibt. Gemäß einem weiteren Aspekt können die Zuweisungen auf Grundlage historischer Leistungsdaten angepasst werden. Wenn beispielsweise ein vorbestimmter Cloud-Anbieter eine Leistung oberhalb eines vorbestimmten Schwellenwerts für eine historische logische Stufe erbracht hat, die einen vorbestimmten Grad an Ähnlichkeit mit einer aktuellen logischen Stufe hat, kann der vorbestimmte Cloud-Anbieter der aktuellen logischen Stufe zugewiesen werden.
  • Zudem kann gemäß einem Aspekt eine Zuordnung jeder logischen Stufe zu den Cloud-Anbietern einem oder mehreren Benutzern angezeigt werden (z.B. über eine grafische Benutzeroberfläche (graphical user interface, GUI) usw.). Zum Beispiel kann der Benutzer die logische Stufe über Optionen in der grafischen Benutzeroberfläche bestätigen, anpassen und/oder implementieren.
  • Darüber hinaus kann eine Ressourcenzuteilung innerhalb jeder logischen Stufe auf Grundlage von Benutzer-/Entitäts-Prioritäten angepasst werden. Beispielsweise kann statistisches Lernen an historischen Aufgaben durchgeführt werden, die innerhalb historischer Arbeitslasten durchgeführt wurden, um eine oder mehrere Ressourcen zu ermitteln, die von den historischen Aufgaben benötigt wurden. Diese historischen Aufgaben können mit aktuellen Aufgaben innerhalb einer logischen Stufe verglichen werden, um für die Aufgabe benötigte Ressourcen zu ermitteln.
  • So kann beispielsweise eine erste Aufgabe, die von einer ersten Entität innerhalb einer logischen Stufe durchzuführen ist, eine Verwendung einer vorbestimmten Ressource (z.B. Hochgeschwindigkeitsspeicher usw.) innerhalb des für diese logische Stufe zugewiesenen Cloud-Anbieters erfordern. In einem anderen Beispiel kann eine zweite Aufgabe, die von einer zweiten Entität innerhalb der logischen Stufe durchzuführen ist, ebenfalls eine Verwendung der vorbestimmten Ressource innerhalb des für diese logische Stufe zugewiesenen Cloud-Anbieters erfordern. In einem weiteren Beispiel kann in Reaktion auf Feststellen, dass die erste Entität eine höhere Priorität als die zweite Entität hat, der ersten Entität die vorgegebene Ressource zugeteilt werden, während der zweiten Entität eine andere Ressource (z.B. Speicher mit mittlerer Geschwindigkeit usw.) zugewiesen werden kann.
  • Darüber hinaus kann gemäß einem Aspekt während der Implementierung der Arbeitslast Datenmigration zwischen den Cloud-Anbietern durchgeführt werden, um sicherzustellen, dass sich Daten während jeder Aufgabe beim erforderlichen Cloud-Anbieter befinden. So können beispielsweise Daten, die ursprünglich bei einem Cloud-Anbieter mit hoher Sicherheit erzeugt wurden, für spätere Operationen zu einem Cloud-Anbieter mit geringerer Sicherheit migriert werden, nach Durchführung dieser Operationen aber wieder zu dem Cloud-Anbieter mit hoher Sicherheit zurückmigriert werden, um diese Daten sicher zu speichern. Dadurch kann Lebenszyklusverwaltung umgesetzt und die Sicherheit vorbestimmter Daten gewährleistet werden.
  • Auf diese Weise kann eine Implementierung jeder logischen Stufe innerhalb der Arbeitslast an einen optimalen Cloud-Anbieter zur Implementierung gesendet werden. Dies kann eine Menge an Ressourcen (z.B. Datenverarbeitungsressourcen, Speicherressourcen, Sicherheitsressourcen usw.) reduzieren, die für die Durchführung jeder logischen Stufe erforderlich sind, was eine Leistung eines oder mehrerer Datenverarbeitungssysteme verbessern kann, die die Arbeitslast implementieren (z.B. ausführen usw.). Zudem kann eine Cyberresilienz jeder logischen Stufe gewährleistet werden, wodurch die Menge an Daten/Rechenarbeit, die durch Systemausfälle oder Malware verloren geht, verringert und eine Leistung der Datenverarbeitungssysteme, die die Arbeitslast implementieren, verbessert werden kann.
  • In 6 ist ein Ablaufplan eines Verfahrens 600 zum Prüfen eines Cloud-Anbieters gemäß einem Aspekt gezeigt. Gemäß der vorliegenden Erfindung kann gemäß verschiedenen Aspekten das Verfahren 600 unter anderem in jeder der in 1 bis 4 abgebildeten Umgebungen durchgeführt werden. Im Verfahren 600 können natürlich mehr oder weniger Arbeitsschritte als die konkret in 6 beschriebenen enthalten sein, wie ein Fachmann bei Lektüre der vorliegenden Beschreibungen versteht.
  • Jeder der Schritte des Verfahrens 600 kann durch jede geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann gemäß verschiedenen Aspekten das Verfahren 600 teilweise oder ganz durch einen oder mehrere Server, Computer oder eine andere Einheit mit einem oder mehreren darin befindlichen Prozessoren durchgeführt werden. Der Prozessor, z.B. Verarbeitungsschaltung(en), Chip(s) und/oder Modul(e), die in Hardware und/oder Software implementiert sind und bevorzugt über mindestens eine Hardware-Komponente verfügen, kann in jeder Einheit genutzt werden, um einen oder mehrere Schritte des Verfahrens 600 durchzuführen. Zu veranschaulichenden Prozessoren zählen, ohne jedoch hierauf eingeschränkt zu sein, eine Zentraleinheit (CPU), eine anwendungsspezifische integrierte Schaltung (ASIC), eine vor Ort programmierbare Gatter-Anordnung (FPGA) usw., Kombinationen aus diesen oder irgendeine andere geeignete Datenverarbeitungseinheit, die im Fachgebiet bekannt ist.
  • Wie in 6 gezeigt, kann das Verfahren 600 mit dem Arbeitsschritt 602 beginnen, bei dem von einem Cloud-Anbieter angebotene Sicherheits- und Resilienzmerkmale geprüft werden. Zudem kann das Verfahren 600 mit Arbeitsschritt 604 fortfahren, bei dem für den Cloud-Anbieter Anwendungsprogrammierschnittstellen (APIs) für Fähigkeiten und Kostenschätzungen ausgeführt werden.
  • Zudem kann das Verfahren 600 mit Arbeitsschritt 606 fortfahren, bei dem ein Überprüfen öffentlicher und privater Wissensdatenbanken erfolgt, um Berichte, Trends in Bezug auf Schwachstellen, Sicherheitsinformationen, Angriffsinformationen und Bedrohungsinformationen für alle vom Cloud-Anbieter betriebenen Anwendungen zu sammeln. Ferner kann das Verfahren 600 mit Arbeitsschritt 608 fortfahren, bei dem identifizierte mögliche Korrekturen für identifizierte Schwachstellen in Sicherheitsdatenbanken (z.B. NIST usw.) geparst werden.
  • Darüber hinaus kann das Verfahren 600 mit Arbeitsschritt 610 fortfahren, bei dem Durchführbarkeitsfaktoren für den Cloud-Anbieter auf Grundlage von Rückmeldungen geschätzt werden, die auf Cloud-Plattformen und in Cloud-Gemeinschaften, auf/in denen Bewertungen geteilt werden, für alle von dem Cloud-Anbieter betriebenen Anwendungen registriert wurden.
  • Auf diese Weise können Eigenschaften eines Cloud-Anbieters identifiziert werden.
  • In 7 ist ein Ablaufplan eines Verfahrens 700 zum Identifizieren von Arbeitslastanforderungen gemäß einem Aspekt gezeigt. Gemäß der vorliegenden Erfindung kann gemäß verschiedenen Aspekten das Verfahren 700 unter anderem in jeder der in 1 bis 4 abgebildeten Umgebungen durchgeführt werden. Im Verfahren 700 können natürlich mehr oder weniger Arbeitsschritte als die konkret in 7 beschriebenen enthalten sein, wie ein Fachmann bei Lektüre der vorliegenden Beschreibungen versteht.
  • Jeder der Schritte des Verfahrens 700 kann durch jede geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann gemäß verschiedenen Aspekten das Verfahren 700 teilweise oder ganz durch einen oder mehrere Server, Computer oder eine andere Einheit mit einem oder mehreren darin befindlichen Prozessoren durchgeführt werden. Der Prozessor, z.B. Verarbeitungsschaltung(en), Chip(s) und/oder Modul(e), die in Hardware und/oder Software implementiert sind und bevorzugt über mindestens eine Hardware-Komponente verfügen, kann in jeder Einheit genutzt werden, um einen oder mehrere Schritte des Verfahrens 700 durchzuführen. Zu veranschaulichenden Prozessoren zählen, ohne jedoch hierauf eingeschränkt zu sein, eine Zentraleinheit (CPU), eine anwendungsspezifische integrierte Schaltung (ASIC), eine vor Ort programmierbare Gatter-Anordnung (FPGA) usw., Kombinationen aus diesen oder irgendeine andere geeignete Datenverarbeitungseinheit, die im Fachgebiet bekannt ist.
  • Wie in 7 gezeigt, kann das Verfahren 700 mit Arbeitsschritt 702 beginnen, bei dem an einer Arbeitslast beteiligte Arbeitslaststufen identifiziert oder Änderungen an bestehenden Pipelinestufen vorgeschlagen werden. Zudem kann das Verfahren 700 mit Arbeitsschritt 704 fortfahren, bei dem die Arbeitslast auf Grundlage von Eingaben und Ausgaben sowie hierarchischen Funktionen in unabhängige Stufen aufgeteilt wird. Ferner kann das Verfahren 700 mit Arbeitsschritt 706 fortfahren, bei dem manuelle Eingaben empfangen werden, die Vertraulichkeitsanforderungen für die Arbeitslast betreffen.
  • Darüber hinaus kann das Verfahren 700 mit Arbeitsschritt 708 fortfahren, bei dem die unabhängigen Stufen analysiert werden, um eine Optimierung der Pipeline in Bezug auf die Ausführungszeit auf Grundlage in jeder Stufe vorhandener nichtparalleler Aufgaben zu validieren. Das Verfahren 700 kann zudem mit Arbeitsschritt 710 fortfahren, bei dem zusammen mit den ursprünglichen unabhängigen Stufen eine vorgeschlagene Aufteilung von Stufen für eine Benutzerauswahl angezeigt wird.
  • Zudem kann das Verfahren 700 mit Arbeitsschritt 712 fortfahren, bei dem auf Grundlage von Arbeitslastprüfungen Cybersicherheits- und -resilienzmerkmale für jede Stufe geschätzt werden. Ferner kann das Verfahren 700 mit Arbeitsschritt 714 fortfahren, bei dem auf Grundlage der geschätzten Ressourcen, die von jeder Stufe benötigt werden, eine Einstufung der Ressourcen auf Grundlage einer erwarteten Nutzungszeit, Kritikalität und Wichtigkeit erstellt wird. Ferner kann das Verfahren 700 mit Arbeitsschritt 716 fortfahren, bei dem auf Grundlage eines Rangstufenvergleichs ein passender Cloud-Anbieter für jede Stufe ermittelt wird.
  • Auf diese Weise können Cloud-Anbieter mit für eine Arbeitslast erstellten Stufen abgeglichen werden.
  • In 8 ist ein Ablaufplan eines Verfahrens 800 zum Implementieren einer Multi-Mandanten-Arbeitslastverwaltungs-Engine gemäß einem Aspekt gezeigt. Gemäß der vorliegenden Erfindung kann gemäß verschiedenen Aspekten das Verfahren 800 unter anderem in jeder der in 1 bis 4 abgebildeten Umgebungen durchgeführt werden. Im Verfahren 800 können natürlich mehr oder weniger Arbeitsschritte als die konkret in 8 beschriebenen enthalten sein, wie ein Fachmann bei Lektüre der vorliegenden Beschreibungen versteht.
  • Jeder der Schritte des Verfahrens 800 kann durch jede geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann gemäß verschiedenen Aspekten das Verfahren 800 teilweise oder ganz durch einen oder mehrere Server, Computer oder eine andere Einheit mit einem oder mehreren darin befindlichen Prozessoren durchgeführt werden. Der Prozessor, z.B. Verarbeitungsschaltung(en), Chip(s) und/oder Modul(e), die in Hardware und/oder Software implementiert sind und bevorzugt über mindestens eine Hardware-Komponente verfügen, kann in jeder Einheit genutzt werden, um einen oder mehrere Schritte des Verfahrens 800 durchzuführen. Zu veranschaulichenden Prozessoren zählen, ohne jedoch hierauf eingeschränkt zu sein, eine Zentraleinheit (CPU), eine anwendungsspezifische integrierte Schaltung (ASIC), eine vor Ort programmierbare Gatter-Anordnung (FPGA) usw., Kombinationen aus diesen oder irgendeine andere geeignete Datenverarbeitungseinheit, die im Fachgebiet bekannt ist.
  • Wie in 8 gezeigt, kann das Verfahren 800 mit Arbeitsschritt 802 beginnen, bei dem auf einer Arbeitslastverwaltungsplattform in einer Multi-Mandanten-Umgebung Benutzerdetails verwendet werden, um eine Art eines Problems und einer von einem Benutzer gelösten Aufgabe zu definieren. Darüber hinaus kann das Verfahren 800 mit Arbeitsschritt 804 fortfahren, bei dem auf Grundlage einer für ein Benutzerprofil ermittelten Arbeitslast Anforderungen für Arbeitslastberechnungsalgorithmen identifiziert werden. Ferner kann das Verfahren 800 mit Arbeitsschritt 806 fortfahren, bei dem auf Grundlage der Anforderungen ein Cloud-Anbieter mit jeder Stufe der Aufgabe abgeglichen wird.
  • Verbessern einer Multi-Cloud-Orchestrierungs-Arbeitslastverwaltungs-Engine zur Verwaltung von Ressourcen auf Grundlage von Cyberresilienz
  • Multi-Cloud/Hybrid-Orchestrierung/Manager
  • Ein Multi-Cloud-Orchestrator kann eine oder mehrere Anwendungen enthalten, die bei der Verwaltung der Verbindungen und Interaktionen zwischen mehreren Cloud-Ressourcen und lokaler Infrastruktur helfen. Die Orchestrierungsschicht kann Geschäftsanfragen und Arbeitslast mit Anwendungen, Daten und Infrastruktur in Einklang bringen. Der Orchestrator kann bei der Definition von Richtlinien und Dienstgüten durch automatisierte Arbeitslasten, Bereitstellung und Änderungsverwaltung helfen. Der Orchestrator kann eine anwendungsorientierte Infrastruktur schaffen, die je nach Bedarf der einzelnen Anwendungen nach oben oder unten skaliert werden kann. Der Orchestrator kann zudem zentrale Verwaltung des Ressourcenpools bereitstellen, einschließlich Abrechnung, Zählung und Rückbuchung für die Inanspruchnahme.
  • Arbeitslastverwaltungs-Engine
  • Eine Arbeitslastverwaltungs-Engine kann Arbeit auf vorhandene heterogene IT-Ressourcen verteilen, um eine gemeinsam genutzte, skalierbare und fehlertolerante Infrastruktur zu schaffen, die eine schnellere und zuverlässigere Durchführung von Arbeitslasten bietet und Kosten reduziert. Die Engine kann Last ausgleichen, Ressourcen zuteilen und Zugriff auf diese Ressourcen ermöglichen. Die Engine kann einen Ressourcenverwaltungsrahmen bereitstellen, der Auftragsanforderungen aufnimmt, die besten Ressourcen zur Ausführung des Auftrags findet und den Auftragsfortschritt überwacht. Aufträge können gemäß Hostauslastung und Standortrichtlinien ausgeführt werden.
  • Cyberresilienz
  • Cyberresilienz kann die Fähigkeit einer Entität umfassen, trotz widriger Cyberereignisse kontinuierlich ein beabsichtigtes Ergebnis zu erreichen. Zu Entitäten mit möglichem Bedarf an Cyberresilienzfähigkeiten zählen, ohne jedoch hierauf eingeschränkt zu sein, IT-Systeme, kritische Infrastrukturen, Geschäftsprozesse, Organisationen, Gesellschaften und Nationalstaaten. Widrige Cyberereignisse sind solche, die sich negativ auf die Verfügbarkeit, Integrität oder Vertraulichkeit von vernetzten IT-Systemen und damit verbundenen Informationen und Diensten auswirken. Diese Ereignisse können beabsichtigt (z.B. ein Cyberangriff) oder unbeabsichtigt (z.B. eine fehlgeschlagene Softwareaktualisierung) sein und von Menschen oder der Natur oder einer Kombination aus diesen verursacht werden.
  • Ein Ziel von Cyberresilienz ist die Aufrechterhaltung der Fähigkeit der Entität, das beabsichtigte Ergebnis kontinuierlich zu liefern, selbst wenn reguläre Liefermechanismen ausgefallen sind (z.B. während einer Krise oder nach einer Sicherheitsverletzung). Das Konzept umfasst auch die Fähigkeit, reguläre Liefermechanismen nach solchen Ereignissen wiederherzustellen, sowie die Fähigkeit, diese Liefermechanismen kontinuierlich zu ändern oder zu modifizieren, wenn dies angesichts neuer Risiken erforderlich ist. Die Durchführung von Datensicherungen und Datensicherungsoperationen ist Teil des Prozesses der Wiederherstellung von Liefermechanismen.
  • Zusammensetzbare Infrastruktur
  • Eine zusammensetzbare Infrastruktur kann einen Rahmen umfassen, dessen physische Rechen-, Speicher- und Netzwerkressourcen als Dienste behandelt werden. In einer zusammensetzbaren Infrastruktur werden Ressourcen logisch gepoolt, so dass Administratoren Hardware nicht physisch konfigurieren müssen, um eine bestimmte Softwareanwendung zu unterstützen. Stattdessen kann der Softwareentwickler die Anforderungen der Anwendung an die physische Infrastruktur mithilfe von Richtlinien und Dienstprofilen definieren, und anschließend kann die Software mithilfe von Anwendungsprogrammierschnittstellen- (API-) Aufrufen die Infrastruktur erstellen (zusammensetzen), die sie zur Ausführung auf Bare Metal, als virtuelle Maschine (VM) oder als Container benötigt.
  • In einem Aspekt kann eine Orchestrierungs- und Arbeitslastverwaltungs-Engine in herkömmliche Cloud-Orchestrator-Plattformen integriert werden. Die Engine kann unter Zugriff auf die für den bereitgestellten Arbeitsablauf erforderlichen Ressourcen initiiert werden und die beteiligten Stufen identifizieren, die Stufeneigenschaften analysieren, die für jede Stufe erforderlichen Cyberresilienzmerkmale schätzen, die Merkmale mit zuvor gesammelten Cybermerkmalen vergleichen, die von mehreren Clouds oder zerlegbaren Infrastrukturen vor Ort angeboten werden, eine passende Cloud oder Infrastruktur vor Ort für jede Stufe ermitteln (und bei Bedarf eine Sicherheits- und Leistungsabstimmung durchführen) und Ressourcen-Lebenszyklusverwaltung durchführen.
  • Gemäß einem Aspekt kann eine Multi-Mandanten-Orchestrierungs- und Arbeitslastverwaltungs-Engine in herkömmliche Cloud-Orchestrator-Plattformen integriert werden. Während des Aufbaus von Ressourcen, die mit Workflow-Eingaben gefüttert werden, identifiziert die Engine automatisch die beteiligten Stufen (auf Grundlage einer Analyse nichtparalleler Aufgaben und abhängiger Stufen), analysiert die Stufeneigenschaften (auf Grundlage der Komplexität des Algorithmus, der in der Stufe involviert ist, und einer erwarteten Zeit für die Fertigstellung), schätzt die für jede Stufe erforderlichen Cybersicherheits- und -resilienzmerkmale, vergleicht sie mit den zuvor gesammelten Cybermerkmalen, die von mehreren Clouds oder zerlegbaren Infrastrukturen vor Ort angeboten werden, bestimmt eine passende Cloud oder Infrastruktur vor Ort pro Stufe (und führt bei Bedarf auch eine Sicherheits- und Leistungsabstimmung durch) und führt Ressourcen-Lebenszyklusverwaltung durch (z.B. Bereitstellung, Abstimmung, Migration, Speicherung, Abbau usw.)).
  • Eine beispielhafte Orchestrierungs- und Arbeitslastverwaltungs-Engine umfasst:
    • 1. Prüfen der Sicherheits- und Resilienzmerkmale die pro Dienst von den bevorzugten Cloud-Anbietern angeboten werden, sowie zugehöriger Kosten.
  • A. Eine Prüfaktion wird durch Ausführen von Fähigkeits-APIs und Kostenschätzungs-APIs für jeden von Cloud-Anbietern angebotenen Dienst durchgeführt.
  • B. Eine Prüfaktion wird über öffentliche und private Sicherheitsdatenbanken (je nach Abonnement-Zugriffsstufe) durchgeführt, um aktuelle Berichte, Trends in Bezug auf Schwachstellen, Sicherheit, Angriffe, Bedrohungen usw. pro Anwendung und Cloud-Anbieter zu sammeln und zu parsen. Der Planer (scheduler) identifiziert zudem mögliche Korrekturen (fixes), indem er Datenbanken wie NIST nach den identifizierten Sicherheitsproblemen durchsucht.
  • C. Es wird eine Prüfoperation durchgeführt, um Durchführbarkeitsfaktoren (wie z.B. Dienstfähigkeit, Promotorenüberhang (net promoter score, NPS), Benutzerbewertungen, Benutzerfreundlichkeit, Leistungsbenchmarks, optimierte Nutzungs-/Einstellungsflexibilität usw.) auf Grundlage von Rückmeldungen, die auf Bewertungen teilenden Cloud-Plattformen, Communities, Mail-Threads von Entwicklern, Trend-/Forschungsberichten der Branche usw. pro Anwendung und Cloud-Anbieter zu schätzen.
  • Prüfergebnisse können in einer Tabelle wie dem in Tabelle 1 dargestellten Schema gespeichert werden. Diese Tabelle kann um Fähigkeiten wie Netzwerk, VPN-Geschwindigkeiten und Durchführbarkeitsfaktoren wie NPS, Abstimmung usw. erweitert werden. Tabelle 1
    CLOUD-ANBIETER FÄHIGKEITEN KOSTEN SICHERHEIT DURCHFÜHRBARKEITSFAKTOREN
    ANBIETER 1 Erhöhte Rechenleistung Magnetisch, SSD, Bandspeicher Moderat Hoch Niedrig
    ANBIETER 2 Mäßige Rechenleistung SSD, Objektspeicher Niedrig Niedrig Moderat
    • 2. Automatisches Erkennen von Stufen, die in der eingegebenen Arbeitslast involviert sind, oder Vorschlagen von Änderungen an bereits eingegebenen Pipelinestufen.
  • A. Die automatische Identifizierung beinhaltet einen Algorithmus, der die gesamte Arbeitslast (Eingabe, Berechnungsalgorithmus(men) und erwartete Ausgabe) parst und in unabhängige Stufen aufteilt (die unabhängigen Stufen sind solche, deren Eingaben leicht verfügbar sind oder weniger hierarchische Funktionen haben). Der Auto-Identifizierungsalgorithmus kann manuelle Eingaben in Bezug auf eine Branche, die mit der eingegebenen Arbeitslast verbunden ist, in Bezug auf Vertraulichkeit usw. umfassen.
  • B. Die automatische Identifizierung umfasst zudem eine Analyse bereits eingegebener Pipelinestufen. Sie ermittelt, ob die Pipeline in Bezug auf die Ausführungszeit optimiert ist, indem sie in jeder Stufe vorhandene nichtparallele Aufgaben analysiert. Auf Grundlage der Analyse wird dem Administrator eine modifizierte Stufenaufteilung vorgeschlagen (wobei er die Freiheit hat, eine Arbeitslast auszuführen, indem er eine ursprüngliche oder modifizierte Stufenaufteilung wählt).
    • 3. Abschätzen der pro Stufe erforderlichen Cybersicherheits- und -resilienzmerkmale.
  • A. Ein Cybersicherheits- und -resilienzmerkmal prüft und analysiert die Berechnungsalgorithmen jeder Stufe und ihre erwarteten Eingaben, Ausgaben und Zwischenergebnisse. Die Schätzung beruht auf Vergleichen jeder Stufe mit früheren Arbeitslaststufen, die mit der Arbeitslastverwaltungsplattform ausgeführt wurden, sowie auf Vergleichen jeder Stufe mit vordefinierten Stufenvorlagen, die bereits während der Bereitstellung eingegeben werden (die Eingabevorlagen beruhen auf den Erfahrungen des Softwareherstellers aus Forschungsstudien, Betaprogrammen und Arbeitslastvorlagen, die von anderen Kunden geliehen wurden, usw.).
  • B. Auf Grundlage der Komplexität des Berechnungsalgorithmus wird die ungefähre Ausführungszeit ermittelt. Auf Grundlage der geschätzten Zeit werden gewünschte Leistungseigenschaften ermittelt, die der geschätzten Rechenzeit (z.B. wenn die Kosten pro Berechnung pro Stufe von einem Administrator eingegeben oder automatisch ermittelt werden) und Sicherheitsanforderungen und -ressourcen (z.B. Netzwerk, externe Faktoren - WAN-Geschwindigkeit, Rechenleistung, Speicherplatz) entsprechen, die von den an der Stufe beteiligten Aufgaben gefordert werden.
  • C. Auf Grundlage des geschätzten Ressourcenbedarfs jeder Stufe wird eine Einstufung der Ressourcen auf Grundlage ihrer erwarteten Nutzungszeit, Kritikalität der Ressource und Wichtigkeit von Eingaben und Ausgaben der Stufe erstellt. Wie aus Tabelle 2 hervorgeht, wird beispielsweise erwartet, dass Stufe N eine vertrauliche Ausgabe erzeugt oder eine Ausgabe nach sehr vielen Berechnungen produziert, bei denen die Eingaben allgemein oder öffentlich bekannt sind. Gleichermaßen wird erwartet, dass Stufe 1 eine allgemeine Ausgabe mit minimalen Berechnungen erzeugt und Eingabedaten aus einem lokalen Datenspeicher benötigt. Tabelle 2
    STUFE RANGSTUFE RECHENLEISTUNG RANGSTUFE SPEICHERPLATZ RANGSTUFE NETZWERK RANGSTUFE EXTERNE FAKTOREN
    Stufe 1 Niedrig Niedrig Moderat Hoch
    Stufe 2 Hoch Moderat Hoch Hoch
    Stufe N Moderat Hoch Niedrig Niedrig
  • Auf Grundlage der vorstehenden Einstufung stuft der vorgeschlagene Einstufungsalgorithmus die Stufe nach Cybersicherheit und -resilienz ein, wie nachstehend in Tabelle 3 gezeigt. Tabelle 3
    STUFE CYBERSICHERHEITSRANGSTUFE RESILIENZRANGSTUFE
    Stufe 1 Hoch Niedrig
    Stufe 2 Niedrig Moderat
    Stufe N Moderat Hoch
  • Die Arbeitslastverwaltungsplattform kann die berechnete Einstufung (in Schritt 3 oben) mit den Prüfergebnissen (aus Schritt 1 oben) vergleichen, die vorab gesammelte Cybermerkmale, von mehreren Clouds oder zerlegbaren Infrastrukturen vor Ort angebotene Resilienzmerkmale usw. enthalten. Auf Grundlage des Rangstufenvergleichs können jeder Stufe passende Cloud- oder lokale Infrastrukturen zugeordnet werden.
  • Zudem kann ein Orchestrierungsschema einem Benutzer (z.B. einem Administrator) zur Zustimmung angezeigt werden. Nach der Zustimmung fordert die vorgeschlagene Arbeitslastverwaltungsplattform die Ressourcen in den jeweiligen Clouds an, führt eine Sicherheits- und Leistungsabstimmung durch (die auch eine Anwendungsoptimierung zur Anpassung an die unterschiedlichen CPU-Geschwindigkeiten zwischen lokalen Clustern und Clouds sowie eine Anpassung der unterschiedlichen Geschwindigkeiten zwischen lokalen Netzwerken und WAN-Verbindungen umfassen kann) und führt Ressourcen-Lebenszyklusverwaltung durch (z.B. sichere Bereitstellung, Abstimmung, Migration, sichere Speicherung, Abbau usw.).
  • 9 zeigt ein beispielhaftes berechnetes Orchestrierungsschema 900, das gemäß einem beispielhaften Aspekt auf einer Anzeige ausgegeben wird. Wie gezeigt, umfassen mehrere Stufen 902A-C jeweils Ermittlungen von Ressourcen, Kosten, Cloud-Anbietern und Ausführungszeiten. Angaben zum Datenübertragungsvolumen 904A-B zwischen den Stufen 902A-C werden ebenso bereitgestellt wie Optionen zum Akzeptieren 906 oder Anpassen 908 des berechneten Orchestrierungsschemas 900.
  • Gemäß einem Aspekt kann die Arbeitslastverwaltungsplattform zudem Multi-Mandanten-fähig sein. So erhält die Plattform beispielsweise Benutzer-ID-Angaben zusammen mit Angaben zum Rang oder zur Organisation/Abteilung, und auf Grundlage dieser Angaben schätzt die Plattform die Art eines Problems/einer Aufgabe, die von einem Benutzer ausgeführt wird. So kann beispielsweise ein Nuklearwissenschaftler die Arbeitslastverwaltungsplattform nutzen. Der Algorithmus kann eine entsprechende Benutzer-ID als „Nuklearwissenschaftler“ identifizieren und die Arbeitslast als nuklear/atomar identifizieren (was eine Arbeitslast sein könnte, die Algorithmen wie Spektralanalyse oder Boltzmann-Verteilung usw. entspricht).
  • Die gleiche Arbeitslastverwaltungsplattform kann auch von einem Biologiestudenten verwendet werden. Der vorgeschlagene Algorithmus kann die entsprechende Benutzer-ID als „Biologiestudent“ identifizieren und die Arbeitslast als biologische Berechnungen identifizieren (was eine Arbeitslast sein könnte, die Algorithmen wie Sequenzierung oder Protonenmodellbildung usw. entspricht). In Reaktion hierauf kann der Nuklearwissenschaftler in Bezug auf Rechenleistung, Speicherplatz und Bandbreite Vorrang vor dem Biologiestudenten erhalten, da ersterer Vorrang vor letzterem hat.
  • Arbeitslastverwaltungsplattform-Zugriffsrechte können so erhöht werden, dass das System den Quellcode einer Berechnungssoftware oder eines Berechnungsalgorithmus prüfen kann, für den die Benutzer Daten einspeisen sollen, und auf Grundlage der Codeprüfung einer solchen Berechnungssoftware kann das System die Art der Eingaben/Ausgaben vorhersagen und auch die optimierten Ziel-Cloud-Ressourcen schätzen und einen Vergleich durchführen, um Multi-Cloud-Sicherheitsbewertungen zu berechnen. Die Arbeitslastverwaltungsplattform kann zudem identifizieren, ob das aktuell bereitgestellte Arbeitslastmuster in der Vergangenheit bereits von einem anderen Cloud-Anbieter ausgeführt wurde, und kann analysieren, wie sich dieser verhalten hat. Auf Grundlage der Ergebnisse der Analyse wird eine neue Einstufung erstellt.
  • Die Arbeitslastplattform kann zudem einen Bedarf an erforderlichen Daten pro Stufe/Aufgabe schätzen und Lebenszyklusverwaltung durchführen. Beispielsweise kann die Arbeitslastverwaltungsplattform die Ausführung einer Arbeitslaststufe unter Verwendung erster Cloud-Ressourcen einleiten (auf Grundlage einer höchsten ermittelten Einstufung). Nach Abschluss der Arbeitslaststufe kann die Plattform jedoch identifizieren, dass Eingaben oder Ausgaben oder Zwischenergebnisse der aktuellen Stufe in zukünftigen Stufen benötigt werden, für die Ressourcen mit niedrigerer Einstufung vorgesehen sind, wobei die ersten Cloud-Ressourcen im Vergleich zu den Ressourcen mit niedrigerer Einstufung jedoch für langfristige Speicherung eine hohe Einstufung aufweisen. In diesem Fall migriert der Arbeitslastverwaltungsalgorithmus die benötigten Daten für eine vorbestimmte Dauer (wobei die Dauer von der Ausführungszeit einer Stufe abhängt) zu den Ressourcen mit niedrigerer Einstufung, und nach ihrem Abschluss werden die Daten sicher zurück zu den ersten Cloud-Ressourcen zur langfristigen Speicherung migriert.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt jedes möglichen technisch detaillierten Integrationsgrads handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder-medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch 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. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Gemäß einigen Aspekten 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 vorliegend unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Aspekten der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Aspekten der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. So können beispielsweise zwei nacheinander gezeigte Blöcke in Wirklichkeit in einem Schritt, gleichzeitig, im Wesentlichen gleichzeitig, teilweise oder vollständig zeitlich überlappend ausgeführt werden, oder die Blöcke können je nach der betreffenden Funktionalität auch in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern 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.
  • Darüber hinaus kann ein System gemäß verschiedenen Aspekten einen Prozessor und Logik enthalten, die mit dem Prozessor integriert und/oder durch diesen ausführbar ist, wobei die Logik so konfiguriert ist, dass sie einen oder mehrere der vorliegend angegebenen Prozessschritte durchführt. „Integriert mit“ bedeutet, dass der Prozessor Logik besitzt, die als Hardware-Logik wie beispielsweise eine anwendungsspezifische integrierte Schaltung (ASIC), ein FPGA usw. in diesen eingebettet ist. „Durch den Prozessor ausführbar“ bedeutet, dass es sich bei der Logik um Hardware-Logik, Software-Logik wie beispielsweise Firmware, einen Teil eines Betriebssystems, einen Teil eines Anwendungsprogramms usw. oder eine Kombination aus Hardware- und Software-Logik handelt, auf die der Prozessor zugreifen kann und die so konfiguriert ist, dass sie bei Ausführung auf dem Prozessor den Prozessor veranlasst, eine Funktionalität auszuführen. Software-Logik kann auf einem lokalen und/oder entfernt angeordneten Speicher jedes im Fachgebiet bekannten Speichertyps gespeichert sein. Es kann jeder im Fachgebiet bekannte Prozessor verwendet werden, beispielsweise ein Software-Prozessormodul und/oder ein Hardware-Prozessor wie beispielsweise eine ASIC, eine FPGA, eine Zentraleinheit (CPU), eine integrierte Schaltung (IC), eine Grafikverarbeitungseinheit (GPU) usw.
  • Es ist klar, dass die verschiedenen Merkmale der vorstehenden Systeme und/oder Methodiken in beliebiger Weise kombiniert werden können, wodurch aus den vorstehend vorgestellten Beschreibungen eine Vielzahl an Kombinationen geschaffen wird.
  • Ferner ist zu beachten, dass Aspekte der vorliegenden Erfindung in Form eines im Auftrag eines Kunden eingesetzten Dienstes bereitgestellt werden können, um einen Dienst nach Bedarf bereitzustellen.
  • Die Beschreibungen der verschiedenen Aspekte der vorliegenden Erfindung wurden zu Veranschaulichungszwecken dargelegt, sind jedoch nicht als abschließend oder auf die Aspekte beschränkt zu verstehen. Für den Fachmann sind viele Abwandlungen und Variationen ersichtlich, ohne vom Umfang und Grundgedanken der beschriebenen Aspekte abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um bestmöglich die Grundgedanken der Aspekte, der praktischen Anwendung oder technischen Verbesserung gegenüber den auf dem Markt erhältlichen Technologien zu erklären oder um dem Fachmann das Verständnis der vorliegend offenbarten Aspekte zu ermöglichen.

Claims (25)

  1. Durch einen Computer implementiertes Verfahren, umfassend: Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  2. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden, wobei das Analysieren Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (APIs) zur Durchführung einer Prüfung des Cloud-Anbieters umfasst.
  3. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden, wobei das Analysieren Sammeln und Parsen einer oder mehrerer Informationen aus öffentlichen und privaten Sicherheitsdatenbanken umfasst, um Berichte und/oder Trends und/oder Schwachstellen und/oder Sicherheitsprobleme usw. für jeden der Mehrzahl von Cloud-Anbietern zu identifizieren.
  4. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden, wobei das Analysieren Parsen einer oder mehrerer Fix-(Korrektur-) Datenbanken umfasst, um bestehende Lösungen für bestehende Sicherheitsprobleme für einen oder mehrere der Mehrzahl von Cloud-Anbietern zu ermitteln.
  5. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden, wobei das Analysieren Schätzen eines oder mehrerer Durchführbarkeitsfaktoren für jeden der Cloud-Anbieter auf Grundlage gesammelter Überprüfungsinformationen für die Cloud-Anbieter umfasst, wobei die Durchführbarkeitsfaktoren aus einer Gruppe ausgewählt werden, die Dienstfähigkeit, einen Promotorenüberhang (net promoter score, NPS), Benutzerbewertungen, Leistungsbenchmarks und Abstimmungsflexibilität umfasst.
  6. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei für jeden der Mehrzahl von Cloud-Anbietern die Eigenschaften des Cloud-Anbieters Fähigkeiten des Cloud-Anbieters, Kosten eines Implementierens des Cloud-Anbieters, ein vom Cloud-Anbieter implementiertes Sicherheitsniveau und mit dem Cloud-Anbieter verbundene Durchführbarkeitsfaktoren umfassen.
  7. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei jede der Eigenschaften der Mehrzahl von Cloud-Anbietern mit einem oder mehreren vordefinierten Schwellenwerten verglichen wird, um ein Niveau für jede der Eigenschaften der Mehrzahl von Cloud-Anbietern zu bestimmen.
  8. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei für jeden der Mehrzahl von Cloud-Anbietern die Eigenschaften für den Cloud-Anbieter umfassen: eine Cybersicherheitseigenschaft, die ein Sicherheitsniveau angibt, das vom Cloud-Anbieter während der Arbeitslastimplementierung bereitgestellt wird, und eine Cyberresilienzeigenschaft, die ein Niveau an Schutz vor Abstürzen, Schutz vor Malware und redundantem Datenschutz angibt, das vom Cloud-Anbieter während der Arbeitslastimplementierung bereitgestellt wird.
  9. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Arbeitslast Folgendes aufweist: eine oder mehrere Instanzen zu analysierender und zu bearbeitender Daten, eine oder mehrere durchzuführende Berechnungen und ein oder mehrere auszugebende Ergebnisse.
  10. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei das Aufteilen der Arbeitslast Parsen der Arbeitslast umfasst, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit Eingaben in die Arbeitslast zu identifizieren.
  11. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei Quellcode der Arbeitslast geprüft wird, um Dateneingabe- und -ausgabeinstanzen innerhalb der Arbeitslast vorherzusagen.
  12. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei jede der logischen Stufen Dateneingaben enthält, die nicht von anderen logischen Stufen innerhalb der Arbeitslast abhängig sind.
  13. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei eine Komplexität jeder der logischen Stufen auf Grundlage von Eingaben, Ausgaben und Zwischenergebnissen innerhalb der logischen Stufe ermittelt wird.
  14. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei Eigenschaften jeder der logischen Stufen auf Grundlage einer Komplexität für die logische Stufe bestimmt werden.
  15. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei für jede logische Stufe die Eigenschaften der logischen Stufe mit den Eigenschaften jedes der Mehrzahl von Cloud-Anbietern verglichen werden, um einen Cloud-Anbieter zu ermitteln, der Anforderungen der logischen Stufe erfüllen kann.
  16. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei das Zuweisen der logischen Stufe zu einem Cloud-Anbieter Zuordnen der logischen Stufe zu dem Cloud-Anbieter umfasst, so dass der Cloud-Anbieter von der logischen Stufe benötigte Eingaben empfängt, von der logischen Stufe benötigte Operationen durchführt und von der logischen Stufe benötigte Daten ausgibt.
  17. Durch einen Computer implementiertes Verfahren nach Anspruch 1, ferner umfassend Anzeigen einer Zuordnung jeder logischen Stufe zu den Cloud-Anbietern für einen oder mehrere Benutzer über eine grafische Benutzeroberfläche (GUI).
  18. Durch einen Computer implementiertes Verfahren nach Anspruch 1, ferner umfassend Anpassen einer Ressourcenzuteilung innerhalb jeder logischen Stufe auf Grundlage von Benutzerprioritäten.
  19. Durch einen Computer implementiertes Verfahren nach Anspruch 1, ferner umfassend Implementieren einer Lebenszyklusverwaltung, darunter Durchführen von Datenmigration zwischen den Cloud-Anbietern während einer Implementierung der Arbeitslast, um sicherzustellen, dass sich Daten während jeder Aufgabe der Arbeitslast bei erforderlichen Cloud-Anbietern befinden.
  20. Computerprogrammprodukt zum Implementieren von Arbeitslasten in einer Multi-Cloud-Umgebung, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei das durch einen Computer lesbare Speichermedium kein transientes Signal an sich ist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, ein Verfahren durchzuführen, das Folgendes umfasst: durch den Prozessor erfolgendes Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; durch den Prozessor erfolgendes Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; durch den Prozessor erfolgendes Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen durch den Prozessor erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  21. Computerprogrammprodukt nach Anspruch 20, wobei die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden, wobei das Analysieren Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (APIs) zur Durchführung einer Prüfung des Cloud-Anbieters umfasst.
  22. Computerprogrammprodukt nach Anspruch 20, wobei die Eigenschaften jedes der Mehrzahl von Cloud-Anbietern durch Analysieren des Cloud-Anbieters ermittelt werden, wobei das Analysieren Sammeln und Parsen einer oder mehrerer Informationen aus öffentlichen und privaten Sicherheitsdatenbanken umfasst, um Berichte und/oder Trends und/oder Schwachstellen und/oder Sicherheitsprobleme usw. für jeden der Mehrzahl von Cloud-Anbietern zu identifizieren.
  23. System, das Folgendes aufweist: einen Prozessor und Logik, die in den Prozessor integriert ist, durch den Prozessor ausführbar ist oder in den Prozessor integriert und durch diesen ausführbar ist, wobei die Logik so konfiguriert ist, dass sie: Eigenschaften einer Mehrzahl von Cloud-Anbietern ermittelt und speichert; eine Arbeitslast in eine Mehrzahl logischer Stufen aufteilt; Eigenschaften jeder der Mehrzahl logischer Stufen ermittelt; und für jede der Mehrzahl logischer Stufen auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe die logische Stufe einem der Mehrzahl von Cloud-Anbietern zuweist.
  24. Durch einen Computer implementiertes Verfahren, umfassend: Ermitteln von Eigenschaften einer Mehrzahl von Cloud-Anbietern durch Analysieren der Mehrzahl von Cloud-Anbietern, wobei das Analysieren Folgendes umfasst: Ausführen von Fähigkeits- und Kosten-Anwendungsprogrammierschnittstellen (APIs), um eine Prüfung der Mehrzahl von Cloud-Anbietern durchzuführen, Sammeln und Parsen einer oder mehrerer Informationen aus öffentlichen und privaten Sicherheitsdatenbanken, um Berichte und/oder Trends und/oder Schwachstellen und/oder Sicherheitsprobleme usw. für jeden der Mehrzahl von Cloud-Anbietern zu identifizieren, und Parsen einer oder mehrerer Fix-Datenbanken, um bestehende Lösungen für bestehende Sicherheitsprobleme für einen oder mehrere der Mehrzahl von Cloud-Anbietern zu ermitteln; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
  25. Durch einen Computer implementiertes Verfahren, umfassend: Ermitteln und Speichern von Eigenschaften einer Mehrzahl von Cloud-Anbietern; Aufteilen einer Arbeitslast in eine Mehrzahl logischer Stufen, umfassend: Parsen der Arbeitslast, um Dateneingabe- und -ausgabepunkte innerhalb der Arbeitslast sowie Abhängigkeiten in Verbindung mit Eingaben in die Arbeitslast zu identifizieren, und Prüfen von Quellcode der Arbeitslast, um Dateneingabe- und -ausgabeinstanzen innerhalb der Arbeitslast vorherzusagen, wobei jede der logischen Stufen Dateneingaben enthält, die nicht von anderen logischen Stufen innerhalb der Arbeitslast abhängig sind; Ermitteln von Eigenschaften jeder der Mehrzahl logischer Stufen; und für jede der Mehrzahl logischer Stufen erfolgendes Zuweisen der logischen Stufe zu einem der Mehrzahl von Cloud-Anbietern auf Grundlage eines Vergleichs der Eigenschaften der Mehrzahl von Cloud-Anbietern mit den Eigenschaften der logischen Stufe.
DE112020005306.7T 2020-01-02 2020-12-01 Implementierung von arbeitslasten in einer multi-cloud-umgebung Pending DE112020005306T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/732,690 US20210208952A1 (en) 2020-01-02 2020-01-02 Implementing workloads in a multicloud environment
US16/732,690 2020-01-02
PCT/IB2020/061315 WO2021137046A1 (en) 2020-01-02 2020-12-01 Implementing workloads in a multi-cloud environment

Publications (1)

Publication Number Publication Date
DE112020005306T5 true DE112020005306T5 (de) 2022-09-01

Family

ID=76655187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005306.7T Pending DE112020005306T5 (de) 2020-01-02 2020-12-01 Implementierung von arbeitslasten in einer multi-cloud-umgebung

Country Status (8)

Country Link
US (1) US20210208952A1 (de)
JP (1) JP2023509369A (de)
KR (1) KR20220086686A (de)
CN (1) CN114930291A (de)
AU (1) AU2020418595B2 (de)
DE (1) DE112020005306T5 (de)
GB (1) GB2607224A (de)
WO (1) WO2021137046A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation
CN116723114B (zh) * 2023-08-07 2023-12-29 国网信息通信产业集团有限公司 一种面向多云环境的多云接口适配方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9454406B2 (en) * 2011-02-28 2016-09-27 Novell, Inc. Techniques for cloud bursting
JP6077009B2 (ja) * 2012-01-27 2017-02-08 エンパイア テクノロジー ディベロップメント エルエルシー クラウド移行における反復サービスレベルアグリーメント(sla)実行のためのスパイラルプロトコル
CN103685540A (zh) * 2013-12-20 2014-03-26 上海电机学院 基于云计算的任务分解复合方法
US10827025B2 (en) * 2017-10-18 2020-11-03 Hewlett Packard Enterprise Development Lp Allocations of arbitrary workloads among hyperconverged nodes
CN109040193B (zh) * 2018-07-10 2021-01-15 广东工业大学 基于无依赖子任务的移动设备云资源分配方法
CN109783189B (zh) * 2018-12-07 2022-11-22 西北大学 一种静态工作流调度方法与装置
CN110308967B (zh) * 2019-06-06 2023-05-30 东南大学 一种基于混合云的工作流成本-延迟最优化任务分配方法
CN110502323B (zh) * 2019-07-18 2022-02-18 国网浙江省电力有限公司衢州供电公司 一种云计算任务实时调度方法

Also Published As

Publication number Publication date
GB202210291D0 (en) 2022-08-24
KR20220086686A (ko) 2022-06-23
GB2607224A (en) 2022-11-30
CN114930291A (zh) 2022-08-19
WO2021137046A1 (en) 2021-07-08
US20210208952A1 (en) 2021-07-08
JP2023509369A (ja) 2023-03-08
AU2020418595A1 (en) 2022-06-23
AU2020418595B2 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
DE112019003042B4 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE112018004349T5 (de) Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE112020002987T5 (de) Bereitstellen von mikrodiensten über eine dienstinfrastruktur hinweg
DE112019001433T5 (de) Datenanonymisierung
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE102021123135A1 (de) Leistungs- und upgrade-verwaltung für anlagegüter mit hilfe von digitalen zwillingen
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
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102021130359A1 (de) Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens
DE112021003499T5 (de) Skalierbare operatoren für eine automatische verwaltung von arbeitslasten in hybriden cloud-umgebungen
DE112020004806T5 (de) Cluster-sicherheit auf der grundlage von inhalten virtueller maschinen
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE102021129633A1 (de) Optimierung zur ablaufplanung von batchaufträgen
DE112019001493T5 (de) Ermitteln der abfrageerkennungsresilienz in virtuellen agentensystemen
DE102021123132A1 (de) Erkennen von assoziationen zwischen datensätzen

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: H04L0067100800

Ipc: G06F0009500000

R084 Declaration of willingness to licence