DE112018004415T5 - Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage - Google Patents

Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage Download PDF

Info

Publication number
DE112018004415T5
DE112018004415T5 DE112018004415.7T DE112018004415T DE112018004415T5 DE 112018004415 T5 DE112018004415 T5 DE 112018004415T5 DE 112018004415 T DE112018004415 T DE 112018004415T DE 112018004415 T5 DE112018004415 T5 DE 112018004415T5
Authority
DE
Germany
Prior art keywords
storage
data
resources
allocation
computing environment
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.)
Granted
Application number
DE112018004415.7T
Other languages
English (en)
Other versions
DE112018004415B4 (de
Inventor
Jeffrey Tenner
Gerald McBrearty
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
Priority claimed from US15/815,947 external-priority patent/US20190155511A1/en
Priority claimed from US15/815,965 external-priority patent/US10725660B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018004415T5 publication Critical patent/DE112018004415T5/de
Application granted granted Critical
Publication of DE112018004415B4 publication Critical patent/DE112018004415B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Verfahren zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher enthält: ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem; ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist; ein Bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und ein Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft Cloud Computing und insbesondere die Verwaltung von Cloud-Ressourcen auf Grundlage einer Datenverschiebung in mehrstufigem Speicher.
  • Cloud Computing ermöglicht einen universellen Zugriff auf gemeinsam genutzte Pools von konfigurierbaren Ressourcen (z.B. Computernetzwerke, Server, Speicher, Anwendungen und Dienste), die schnell und programmgesteuert über ein Netzwerk bereitgestellt werden können. Datenverarbeitungssysteme, die Cloud-Computing-Dienste bereitstellen, können automatisierte Speicherstufenzuweisung verwenden, um einen Datenspeicher im Cloud-Computing-System zu verwalten. Die automatisierte Speicherstufenzuweisung ist eine Speicherverwaltungsfunktion zum Verschieben von Modusdaten zwischen verschiedenen Speichertypen (z.B. Speicherstufen), um die Speicherzuweisung zum Beispiel in Bezug auf Kosten, Leistung und Speicherplatz zu optimieren.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Gemäß Ausführungsformen der vorliegenden Offenbarung kann ein Verfahren zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem enthalten, um eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist. Das Verfahren kann ferner ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem enthalten. Das Verfahren kann anschließend ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume (Datenträger) enthalten, das der Datenverschiebung zugehörig ist. Das Verfahren kann auch ein Bestimmen enthalten, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll. Das Verfahren kann außerdem ein Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen enthalten, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  • Von einem ersten Aspekt aus betrachtet stellt die vorliegende Erfindung ein Verfahren zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher bereit, wobei das Verfahren aufweist: ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem; ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist; ein Bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und ein Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium darauf beruht, ob die erste Speicherstufe eine bessere Leistung als eine Leistung der zweiten Speicherstufe hat.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium auf aggregierten Merkmalen der Datenverschiebung beruht.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei die aggregierten Merkmale mindestens eines sind von: einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist, einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen, dass die Speicherstufe eine ungenügende Speicherkapazität hat, und einer Datenverschiebung von Daten, die einem Satz von gehosteten Datenverarbeitungsumgebungen zugehörig sind, aus einem ersten Speichersystem in ein zweites Speichersystem.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei die Ressourcen mindestens einen zugewiesenen Arbeitsspeicher, eine zugewiesene Verarbeitungsressource oder eine zugewiesene Datenübertragungs-Bandbreite enthalten.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei das Ändern der Zuweisung von Ressourcen ein Verschieben der gehosteten Datenverarbeitungsumgebung aus einem ersten Host-Datenverarbeitungssystem in ein zweites Host-Datenverarbeitungssystem enthält.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei ein Ändern der Zuweisung von Ressourcen ein Aussetzen einer Ausführung der gehosteten Datenverarbeitungsumgebung enthält.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Benutzers enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Benutzer zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  • Bevorzugt stellt die vorliegende Erfindung ein Verfahren bereit, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Dienstes enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Dienst zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  • Von einem zweiten Aspekt aus betrachtet stellt die vorliegende Erfindung ein System zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher bereit, wobei das Verfahren aufweist: einen oder mehrere Datenverarbeitungsknoten mit einem Arbeitsspeicher und einem Prozessor; und ein nicht flüchtiges, durch einen Computer lesbares Speichermedium des einen oder der mehreren Datenverarbeitungsknoten mit darauf verkörperten Programmanweisungen, wobei die Programmanweisungen durch den Prozessor ausführbar sind, um das System zu veranlassen zu: einem Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; einem Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem; einem Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist; einem Bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und einem Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium darauf beruht, ob die erste Speicherstufe eine bessere Leistung als eine Leistung der zweiten Speicherstufe hat.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium auf aggregierten Merkmalen der Datenverschiebung beruht.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei die aggregierten Merkmale mindestens eines sind von: einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist, einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen, dass die Speicherstufe eine ungenügende Speicherkapazität hat, und eine Datenverschiebung von Daten, die einem Satz von gehosteten Datenverarbeitungsumgebungen zugehörig sind, aus einem ersten Speichersystem in ein zweites Speichersystem.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei die Ressourcen mindestens einen zugewiesenen Arbeitsspeicher, eine Verarbeitungsressource oder eine Datenübertragungs-Bandbreite enthalten.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei das Ändern der Zuweisung von Ressourcen ein Verschieben der gehosteten Datenverarbeitungsumgebung aus einem ersten Host-Datenverarbeitungssystem in ein zweites Host-Datenverarbeitungssystem enthält.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei ein Ändern der Zuweisung von Ressourcen ein Aussetzen einer Ausführung der gehosteten Datenverarbeitungsumgebung enthält.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Benutzers enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Benutzer zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  • Bevorzugt stellt die vorliegende Erfindung ein System bereit, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Dienstes enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Dienst zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  • Von einem dritten Aspekt aus betrachtet stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen enthält, wobei das durch einen Computer lesbare Speichermedium kein flüchtiges Signal per se ist, wobei die durch eine Verarbeitungsschaltung ausführbaren Programmanweisungen die Verarbeitungsschaltung veranlassen, ein Verfahren auszuführen, das aufweist: ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem; ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist; ein Bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und ein Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  • Bevorzugt stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium darauf beruht, ob die erste Speicherstufe eine bessere Leistung als eine Leistung der zweiten Speicherstufe hat.
  • Weitere Ausführungsformen sind auf Systeme und Computerprogrammprodukte zum Umsetzen der hierin beschriebenen Verfahren ausgerichtet.
  • Die oben angegebene Kurzdarstellung soll keinesfalls jede veranschaulichte Ausführungsform oder jede Umsetzung der vorliegenden Offenbarung beschreiben.
  • Figurenliste
  • Die in der vorliegenden Anmeldung enthaltenen Zeichnungen sind in die Patentschrift eingefügt und sind Bestandteil von dieser. Sie veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung zum Erklären der Grundgedanken der Offenbarung. Die Zeichnungen dienen nur zur Veranschaulichung bestimmter Ausführungsformen und schränken die Offenbarung keinesfalls ein.
    • 1 stellt einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung dar.
    • 2 stellt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung dar.
    • 3 stellt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung dar.
    • 4 stellt einen Satz von Operationen gemäß verschiedenen Ausführungsformen zum Ermöglichen einer Verwaltung von Cloud-Ressourcen auf Grundlage einer Datenverschiebung in mehrstufigem Speicher dar.
    • 5 stellt einen Satz von Operationen gemäß verschiedenen Ausführungsformen zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher dar.
    • 6 stellt ein Blockschaubild einer beispielhaften Cloud-Computing-Umgebung unter Verwendung von Speicherstufen gemäß verschiedenen Ausführungsformen dar.
    • 7 stellt ein Blockschaubild eines beispielhaften mehrstufigen Speichersystems 705 gemäß verschiedenen Ausführungsformen dar.
    • 8 stellt ein Blockschaubild eines beispielhaften Cloud-Computing-Systems gemäß verschiedenen Ausführungsformen dar.
  • Obwohl die Erfindung für verschiedene Modifizierungen und alternative Formen offen ist, sind Besonderheiten davon als Beispiel in den Zeichnungen ausgewiesen und werden ausführlich beschrieben. Es sollte jedoch klar sein, dass die Erfindung keinesfalls auf die beschriebenen speziellen Ausführungsformen eingeschränkt werden soll. Die Erfindung soll im Gegenteil alle Modifizierungen, Entsprechungen und Alternativen abdecken, die unter den Erfindungsgedanken und Schutzumfang der Erfindung fallen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Aspekte der vorliegenden Offenbarung betreffen Cloud Computing, speziellere Aspekte betreffen die Verwaltung von Cloud-Ressourcen auf Grundlage einer Datenverschiebung in mehrstufigem Speicher. Obwohl die vorliegende Offenbarung nicht notwendigerweise auf derartige Anwendungen beschränkt ist, können verschiedene Aspekte der Offenbarung durch eine Erläuterung von verschiedenen Beispielen unter Verwendung dieses Kontexts gewürdigt werden.
  • Cloud-Computing-Systeme können mehrstufige Speichersysteme zum Speichern von Datenblöcken verwenden, die logische Volumes verkörpern, die durch die Cloud-Computing-Systeme verwaltet werden. Die Datenblöcke können einen Teil oder das gesamte logische Speichervolumen eines Cloud-Computing-Systems darstellen. Das logische Speichervolumen eines Cloud-Computing-Systems kann in zwei oder mehr virtuelle Volumes partitioniert werden, die Datenverarbeitungsumgebungen zugewiesen sind, die durch das Cloud-Computing-System gehostet werden. Obwohl Cloud-Computing-Systeme von der Zuordnung zwischen virtuellen Volumes der gehosteten Datenverarbeitungsumgebungen und Blöcken eines logischen Volume eines Cloud-Computing-Systems Kenntnis haben, haben mehrstufige Speichersysteme im Allgemeinen keinen Zugriff auf diese Informationen.
  • Mehrstufige Speichersysteme können als Teil ihres Lademanagements von mehrstufigem Speicher automatisch (d.h. selbsttätig) Datenverschiebungen initiieren, um Datenblöcke, die einem logischen Volume eines Cloud-Computing-Systems zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe zu verschieben oder zu verlagern. Das mehrstufige Speichersystem kann Bedingungen (z.B. Gründe oder Auslöse-Ereignisse) zum Initiieren einer Datenverschiebung aufweisen. Beispiele für eine Bedingung sind die Auslastung der ersten Speicherstufe, die die Verwendung eines Schwellenwerts überschreitet, und eine verfügbare Speicherkapazität auf der ersten Speicherstufe, die unter einen Kapazitätsschwellenwert fällt. Während mehrstufige Speichersysteme typischerweise von stufenübergreifenden Datenverschiebungen und den Gründen für ein Initiieren der Datenverschiebungen Kenntnis haben, haben Cloud-Computing-Systeme, die von den Verschiebungen betroffen sind, im Allgemeinen keinen Zugang zu diesen Informationen.
  • Die Informationentrennung zwischen Gründen für Datenverschiebungen, die durch ein mehrstufiges Speichersystem initiiert wurden, und Informationen in Bezug darauf, welche gehostete Datenverarbeitungsumgebung virtuelle Volume aufweist, die von diesen Datenverschiebungen betroffen sind, können zu einer suboptimalen Auslastung von Datenverarbeitungsressourcen in Cloud-Computing-Systemen führen.
  • Ausführungsformen dieser Offenbarung beruhen auf der Erkenntnis, dass die Auslastung von Datenverarbeitungsressourcen in einem Cloud-Computing-System verbessert werden kann, indem einem mehrstufigen Speichersystem eine Übertragung zu einem Cloud-Computing-System ermöglicht wird, und indem ein Cloud-System konfiguriert wird, um Informationen über den Grund anzufordern und zu nutzen, warum ein mehrstufiges Speichersystem einen oder mehrere Datenblöcke, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe verschiebt. Das Cloud-Computing-System kann diese Informationen zum Verwalten der Zuweisung von Ressourcen verwenden, die gehosteten Datenverarbeitungsumgebungen bereitgestellt werden, um die Ressourcenauslastung zu verbessern. Zum Beispiel kann eine Datenverschiebung in eine langsamere Speicherstufe (z.B. eine Speicherstufe, die beispielsweise einen niedrigeren Lese/Schreib-Durchsatz als eine aktuelle Speicherstufe hat) zu einer Verringerung von Transaktionen führen, die für eine gehostete Datenverarbeitungsumgebung mit einem virtuellen Volume, das der Datenverschiebung zugehörig ist, verarbeitet werden. Zum Beispiel kann ein Cloud-Computing-System Informationen verwenden, die angeben, dass ein bestimmter Block in eine langsamere Stufe verschoben wurde, um zum Beispiel Arbeitsspeicher- oder Prozessorressourcen zu reduzieren, die einer gehosteten Datenverarbeitungsumgebung mit einem virtuellen Volume zugewiesen sind, das dem verlagerten Block zugehörig ist. Wenn eine Datenverschiebung in einem weiteren Beispiel einen Block aus einer langsamen Speicherstufe in eine schnellere Speicherstufe verschiebt, kann das Cloud-Computing-System Informationen über diese Datenverschiebung verwenden, um eine gehostete Datenverarbeitungsumgebung zu verschieben, deren virtuelles Volume der Datenverschiebung in einen schnelleren Prozessor oder Systembus zugehörig ist.
  • Dementsprechend sind Ausführungsformen der vorliegenden Offenbarung auf eine Technik gerichtet (z.B. Verfahren, Systeme und Computerprogrammprodukte), um eine Verwaltung von Cloud-Ressourcen auf Grundlage einer Datenverschiebung in mehrstufigem Speicher zu ermöglichen. Die Technik kann durch ein mehrstufiges Speichersystem ausgeführt werden, um eine Anforderung von einem Cloud-Computing-System zu empfangen, für das Cloud-Computing-System eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde. Eine Datenverschiebung enthält ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe. In einigen Ausführungsformen enthält die Benachrichtigung eine Angabe einer Bedingung (z.B. einen Grund oder ein Auslöseereignis) für ein Initiieren (z.B. Starten und Ausführen) der Datenverschiebung. Die Technik kann ferner durch das mehrstufige Speichersystem ausgeführt werden, um zu bestimmen, ob eine Bedingung für ein Initiieren der Datenverschiebung überhaupt erfüllt worden ist, und um die Datenverschiebung in Reaktion auf das Bestimmen zu initiieren. Das mehrstufige Speichersystem kann dann die Benachrichtigung in Reaktion auf ein Initiieren der Datenverschiebung an das Cloud-Computing-System übertragen.
  • In einigen Ausführungsformen weist die erste Speicherstufe (z.B. die Quelle einer Datenverschiebung) ein Leistungsniveau auf, das sich von einem Leistungsniveau der zweiten Speicherstufe unterscheidet (z.B. dem Bestimmungsort der Datenverschiebung).
  • In einigen Ausführungsformen enthält die Anforderung, die von dem Cloud-Computing-System empfangen wurde, ein Kriterium, um das mehrstufige Speichersystem zu veranlassen, die Benachrichtigung bereitzustellen. In diesen Ausführungsformen wird die Benachrichtigung in Reaktion auf ein Bestimmen übertragen, dass das Kriterium erfüllt worden ist. Das Kriterium kann mindestens auf der Datenverschiebung oder der Bedingung zum Initiieren der Datenverschiebung beruhen. Das Kriterium kann auch auf aggregierten Merkmalen eines Satzes (z.B. von einer oder mehreren) Datenverschiebungen beruhen, die durch das mehrstufige Speichersystem initiiert wurden. Die aggregierten Merkmale können zum Beispiel eine Häufigkeit von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau sein, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist. Ein weiteres Beispiel eines aggregierten Merkmals ist eine Häufigkeit von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen, dass die Speicherstufe eine ungenügende Speicherkapazität hat.
  • In einigen Ausführungsformen können die Daten, die dem Cloud-Computing-System zugehörig sind, ein oder mehrere Datenblöcke sein, die ein virtuelles Volume verkörpern, das einer gehosteten Datenverarbeitungsumgebung zugehörig ist.
  • In bestimmten Ausführungsformen kann eine Bedingung für ein Initiieren einer Datenverschiebung mindestens eine Eingabe/Ausgabe-Ressourcenauslastung einer Speicherstufe sein, die einen Schwellenwert eines Auslastungsniveaus erreicht, eine Datenmenge, die dem Cloud-Computing-System zugehörig ist und einen Schwellenwert einer Menge erreicht oder überschreitet, oder eine Datenmenge, die auf der ersten Stufe gespeichert ist und einen Schwellenwert einer Menge erreicht. Weitere Kriterien sind möglich.
  • Weitere Ausführungsformen der vorliegenden Offenbarung sind auf eine Technik gerichtet (Verfahren, Systeme und Computerprogrammprodukte), um Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung durch ein mehrstufiges Speichersystem zuzuweisen. Die Technik kann durch ein Cloud-Computing-System ausgeführt werden, um zum Beispiel eine Auslastung von Cloud-Computing-Ressourcen in Reaktion auf Datenverschiebungen zu verbessern, die durch ein mehrstufiges Speichersystem initiiert wurden. Die Technik enthält ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde. Die Datenverschiebung kann ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe enthalten. Die Benachrichtigung kann eine Angabe einer Bedingung zum Initiieren der Datenverschiebung enthalten. Die Technik kann ferner ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem enthalten. Die Technik kann anschließend ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume (z.B. einem virtuellen Volume) enthalten, das der Datenverschiebung zugehörig ist. Die Technik kann anschließend ein Bestimmen enthalten, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll. Die Technik kann ferner ein Ändern der Zuweisung von Ressourcen in Reaktion auf das Bestimmen enthalten, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  • In einigen Ausführungsformen enthält die Anforderung, die an das mehrstufige Speichersystem übertragen wird, ein Kriterium zum Bereitstellen der Benachrichtigung. Das Kriterium kann zum Beispiel darauf beruhen, ob eine Speicherstufe, die eine Quelle einer Datenverschiebung ist, eine Leistung aufweist, die besser als eine Leistung einer Speicherstufe ist, die ein Bestimmungsort der Datenverschiebung ist. Das Kriterium kann auch mindestens auf der Datenverschiebungsrichtung oder der Bedingung zum Initiieren der Datenverschiebung beruhen. Das Kriterium kann ferner auf aggregierten Merkmalen eines Satzes (z.B. von einer oder mehreren) Datenverschiebungen beruhen, die durch das mehrstufige Speichersystem initiiert wurden. Die aggregierten Merkmale können eine Häufigkeit oder Anzahl von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau sein, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist. Die aggregierten Merkmale können auch eine Häufigkeit oder Anzahl von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen sein, dass die Speicherstufe eine ungenügende Speicherkapazität hat. Die aggregierten Merkmale können außerdem eine Datenverschiebung, die Daten enthält, die einem Satz von gehosteten Datenverarbeitungsumgebungen (z.B. virtuellen Volume des Satzes von gehosteten Datenverarbeitungsumgebungen) zugehörig sind, aus einem erste Speichersystem in ein zweites Speichersystem sein.
  • In einigen Ausführungsformen können die Ressourcen, die in dem Cloud-Computing-System zugewiesen sind, Arbeitsspeicher, Prozessoren und Datenübertragungs-Bandbreite enthalten, die einer gehosteten Datenverarbeitungsumgebung zugewiesen sind.
  • In einigen Ausführungsformen enthält das Ändern der Zuweisung von Ressourcen ein Verschieben der gehosteten Datenverarbeitungsumgebung aus einem ersten Host-Datenverarbeitungssystem in ein zweites Host-Datenverarbeitungssystem. In einigen Ausführungsformen enthält ein Ändern der Zuweisung von Ressourcen ein Aussetzen einer Ausführung der gehosteten Datenverarbeitungsumgebung. In bestimmten Ausführungsformen enthält ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Benutzers, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Benutzer zu veranlassen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern. In anderen Ausführungsformen enthält ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Dienstes, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Server zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  • Wie hierin verwendet, enthält der Begriff Cloud-Computing-System Datenverarbeitungssysteme (z.B. Host-Datenverarbeitungssysteme) und Anwendungen, die konfiguriert sind, um Zugriff auf gemeinsam genutzte Pools von konfigurierbaren Ressourcen (z.B. Computernetzwerke, Server, Speicher, Anwendungen und Dienste) zu ermöglichen. Ein Cloud-Computing-System kann gehostete Datenverarbeitungsumgebungen (z.B. virtuelle Maschinen) auf einer Schicht von Software und Firmware unterstützen, die eine Abstraktion der Hardware bereitstellt, die dem Cloud-Computing-System zugehörig ist. Die Operationen eines Cloud-Computing-Systems können durch eine oder mehrere Software-Anwendungen (hierin im Folgenden „Cloud-Manager“) verwaltet (z.B. gesteuert und ausgeführt) werden.
  • Wie hierin verwendet, ist ein logisches Volume eine Abstraktion des Speicherraums auf einem oder mehreren Speichervolumen (z.B. physische Ausdehnungen eines Speichervolumens) in eine virtuelle Platte oder eine virtuelle Plattenpartition, die für eine Datenverarbeitungsumgebung als ein einzelner durchgehender Speicherbereich auftreten kann. Ein mehrstufiges Speichersystem kann zum Beispiel ein oder mehrere logische Volumes für ein Cloud-Computing-System bereitstellen. Ein Cloud-Computing-System kann seine logischen Volumes in ein oder mehrere virtuelle Volumes partitionieren, die gehosteten Datenverarbeitungsumgebungen zugewiesen werden können.
  • Während das logische Volume als ein einzelnes Speichervolumen in einem Cloud-Computing-System erscheinen kann, wird das logische Volume aus einer Perspektive eines mehrstufigen Speichersystems als ein Satz von Blöcken gesehen, die dem Cloud-Computing-System zugewiesen sind. Ein mehrstufiges Speichersystem hat typischerweise keine Kenntnis von den virtuellen Volume-Partitionen des logischen Volume. In einigen Umgebungen hat das mehrstufige Speichersystem keine Kenntnis von der Struktur des logischen Volume. Desgleichen kann das Cloud-Computing-System keine Kenntnis von den Verwaltungsoperationen haben (z.B. Datenverschiebungen zwischen Stufen und Auslöseereignisse und Bedingungen, die die Datenverschiebungen initiieren), die an Blöcken seines logischen Volume ausgeführt werden.
  • Es sollte von vornherein klar sein, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud Computing enthält, dass eine Umsetzung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jedem beliebigen Typ von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
  • Die Eigenschaften sind wie folgt:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt, und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Es gibt folgende Dienstmodelle:
    • 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. eine auf dem Web beruhende eMail) 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, Verarbeitung, 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 eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Es gibt folgende Nutzungsmodelle:
    • Private Cloud: Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann von der Organisation oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb von Geschäftsräume vorhanden sein.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine bestimmte Community, die gemeinsame Problemstellungen hat (z.B. Berücksichtigung von Zielsetzung, Sicherheitsanforderungen, Richtlinien und Konformität). Sie kann von den Organisationen oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
  • 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 eine Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität liegt. Im Mittelpunkt von Cloud Computing steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten aufweist.
  • Unter folgender Bezugnahme auf 1 wird eine schematische Darstellung eines Beispiels für einen Cloud-Computing-Knoten gezeigt. Ein Cloud-Computing-Knoten 10 ist nur ein Beispiel für einen geeigneten Cloud-Computing-Knoten und soll keinerlei Einschränkung in Bezug auf den Schutzumfang der Verwendung oder Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Ungeachtet dessen lässt sich der Cloud-Computing-Knoten 10 umsetzen und/oder kann jede der hierin erläuterten Funktionalitäten ausführen.
  • Im Cloud-Computing-Knoten 10 ist ein Computersystem/Server 12 vorhanden, das/der mit zahlreichen anderen Universal- oder Sonder-Datenverarbeitungssystemumgebungen betriebsbereit ist. Zu Beispielen für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem Computersystem/Server 12 geeignet sein können, zählen PC-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten und dergleichen aufweisen, sie sind aber nicht darauf beschränkt.
  • Das Computersystem/der Server 12 kann in dem allgemeinen Kontext von Anweisungen beschrieben werden, die durch ein Computersystem ausführbar sind, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 12 kann in verteilten Cloud-Computing-Umgebungen betrieben werden, wobei Aufgaben von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sich sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien befinden, die Arbeitsspeicher-Speichereinheiten enthalten.
  • Wie in 1 gezeigt, wird das Computersystem/der Server 12 im Cloud-Computing-Knoten 10 in der Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 12 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemarbeitsspeicher 28 und einen Bus 18 enthalten, der verschiedene Systemkomponenten einschließlich des Systemarbeitsspeichers 28 mit dem Prozessor 16 verbindet, sie sind aber nicht darauf beschränkt.
  • Der Bus 18 stellt einen oder mehrere von mehreren beliebigen Typen von Busstrukturen dar, einschließlich eines Arbeitsspeicherbusses oder Arbeitsspeichercontrollers, eines Peripheriebusses, eines Accelerated Graphics Port (beschleunigter Grafikanschluss) und eines Prozessors oder lokalen Busses unter Verwendung von einer aus einer Vielfalt von Busarchitekturen. Als Beispiel und nicht einschränkend enthalten derartige Architekturen einen Industry Standard Architecture- (ISA) Bus, Micro Channel Architecture- (MCA) Bus, Enhanced ISA- (EISA) Bus, einen lokalen Video Electronics Standards Association- (VESA) Bus und Peripheral Component Interconnect- (PCI) Bus.
  • Das Computersystem/der Server 12 enthält typischerweise eine Vielfalt von Medien, die von einem Computersystem gelesen werden können. Derartige Medien können alle verfügbaren Medien sein, auf die von dem Computersystem/Server 12 zugegriffen werden kann, und sie enthalten sowohl flüchtige als auch nicht flüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemarbeitsspeicher 28 kann vom Computersystem lesbare Medien in der Form von flüchtigem Arbeitsspeicher enthalten wie beispielsweise einen Direktzugriffspeicher (RAM) 30 und/oder einen Cache-Speicher 32. Das Computersystem/der Server 12 kann ferner weitere austauschbare/nicht austauschbare, flüchtige/nicht flüchtige Computersystem-Speichermedien enthalten. Nur als Beispiel kann das Speichersystem 34 zum Lesen von und Schreiben auf nicht austauschbaren, nicht flüchtigen Magnetdatenträger bereitgestellt werden (nicht gezeigt und typischerweise als „Festplatte“ bezeichnet). Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Auslesen und Beschreiben einer austauschbaren, nichtflüchtigen Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk zum Auslesen oder Beschreiben einer austauschbaren, nichtflüchtigen optischen Platte wie einem CD-ROM, DVD-ROM oder anderer optischer Datenträger bereitgestellt werden. In solchen Fällen können alle über eine oder mehrere Datenträgerschnittstellen mit dem Bus 18 verbunden werden. Wie ferner dargestellt und beschrieben wird, kann der Arbeitsspeicher 28 mindestens ein Programmprodukt mit einem Satz (z.B. mindestens einem) von Programmmodulen enthalten, die konfiguriert sind, um die Funktionen von Ausführungsformen der Erfindung auszuführen.
  • Ein Programm/Dienstprogramm 40, das einen Satz (mindestens einen) von Programmmodulen 42 aufweist, kann beispielsweise und nicht einschränkend im Arbeitsspeicher 28 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten oder eine Kombination davon können eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus, wie hierin beschrieben wird.
  • Das Computersystem/der Server 12 kann auch mit einer oder mehreren externen Einheiten 14 Daten austauschen, wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 12 zu interagieren; und/oder allen Einheiten (z.B. Netzwerkkarte, Modem usw.), die es dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe-/Ausgabe- (E/A) Schnittstellen 22 erfolgen. Weiterhin kann das Computersystem/der Server 12 mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet), über einen Netzwerkadapter 20 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 20 mit den anderen Komponenten des Computersystems/Servers 12 über den Bus 18 Daten aus. Es sollte klar sein, dass, obwohl nicht gezeigt, andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten. Zu Beispielen gehören Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID- (Redundant Array of Independent Disks) Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw., sie sind aber nicht darauf beschränkt.
  • Unter folgender Bezugnahme auf 2 wird eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen lokale Datenverarbeitungseinheiten, die von Nutzern der Cloud verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Mobiltelefon 54A, Desktop-Computer 54B, Laptop-Computer 54C und/oder Fahrzeug-Computersystem 54N, Daten austauschen können. Die Knoten 10 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert werden (nicht gezeigt), wie beispielsweise Private, Community, Public oder Hybrid Cloud, wie hierin oben beschrieben, oder in einer Kombination davon. Damit hat die Cloud-Computing-Umgebung 50 die Möglichkeit, eine Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keinerlei Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sollte klar sein, dass die in 2 gezeigten Typen von Datenverarbeitungseinheiten 54A bis N nur zur Veranschaulichung dienen sollen, und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 mit jedem Typ einer computerisierten Einheit über jeden Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. unter Verwendung eines Web-Browsers) Daten austauschen können.
  • Unter folgender Bezugnahme auf 3 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 50 (2) bereitgestellt werden. Dabei sollte von Anfang an klar sein, dass die in 3 gezeigten Komponenten, Schichten und Funktionen lediglich zur Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, 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 zählen: Mainframes; Server auf Grundlage einer RISC- (Reduced Instruction Set Computer) Architektur; Speichereinheiten; Netzwerke und vernetzte Komponenten. In einigen Ausführungsformen enthalten Software-Komponenten Software für Netzwerkanwendungsserver.
  • Eine Virtualisierungsschicht 62 stellt eine Abstraktionsschicht bereit, von der aus die folgenden beispielhaften virtuellen Entitäten bereitgestellt werden können: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, einschließlich virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 64 die im Folgenden beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung sorgt für eine dynamische Beschaffung von Datenverarbeitungsressourcen und weiteren Ressourcen, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung eingesetzt werden. Messung und Preisbestimmung stellen beim Einsatz von Ressourcen innerhalb der Cloud-Computing-Umgebung eine Kostenverfolgung und eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt den Zugang zur Cloud-Computing-Umgebung für Nutzer und Systemadministratoren bereit. Die Service-Level- (Dienstgüte) Verwaltung sorgt für die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen, sodass erforderliche Service-Levels eingehalten werden. Planung und Vertragserfüllung des Service Level Agreement (SLA) (Dienstgütevereinbarung) stellen eine Vorab-Vereinbarung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß eines SLA eine zukünftige Anforderung erwartet wird.
  • Eine Arbeitslastschicht 66 stellt Beispiele für eine Funktionalität bereit, für welche die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation; Software-Entwicklung und Lebenszyklusverwaltung; Bereitstellung von virtuellen Schulungen; Datenanalyseverarbeitung; Transaktionsverarbeitung; und mobiler Desktop.
  • Unter folgender Bezugnahme auf die Figuren stellt 4 einen Satz von Operationen 400 gemäß verschiedenen Ausführungsformen zum Ermöglichen einer Verwaltung von Cloud-Ressourcen auf Grundlage einer Datenverschiebung in mehrstufigem Speicher dar. Die Operationen 400 können durch ein mehrstufiges Speichersystem ausgeführt werden wie zum Beispiel das mehrstufige Speichersystem 705 (7). In einigen Ausführungsformen können die Operationen 400 automatisch durch eine Speichermanageranwendung des mehrstufigen Speichersystems gemäß einer Rückmeldung ausgeführt werden, die durch Hardware- und andere Software-Komponenten des mehrstufigen Speichersystems bereitgestellt wird. Der Speichermanager kann durch einen Computer ausführbaren Code enthalten, der durch ein Datenverarbeitungssystem wie zum Beispiel das Computersystem 12 ausführbar ist (1). In einigen Ausführungsformen kann das Datenverarbeitungssystem eine Hardware-Komponente sein (z.B. ein mehrstufiger Speicherserver), der einer Schicht 60 des Cloud-Computing-Systems zugehörig ist, das in 3 gezeigt wird. In bestimmten Ausführungsformen ist das Datenverarbeitungssystem (z.B. das mehrstufige Speichersystem) von dem Cloud-Computing-System getrennt.
  • Das mehrstufige Speichersystem kann eine Operation 405 ausführen, um eine Anforderung von einem Cloud-Computing-System zu empfangen, um Benachrichtigungen über Datenverschiebungen für Datenblöcke bereitzustellen, die dem Cloud-Computing-System zugehörig sind. Das Cloud-Computing-System kann ein Tenant des mehrstufigen Speichersystems sein und ihm können ein oder mehrere Speicherdatenblöcke des mehrstufigen Speichersystems zugewiesen werden. In einigen Ausführungsformen wird die Anforderung durch einen Speichertreiber empfangen. In anderen Ausführungsformen kann die Anforderung in Datenpaketen über einen Datenübertragungskanal empfangen werden (z.B. ein Datenübertragungskabel, ein Bus, ein Datenübertragungsnetzwerk usw.), der das mehrstufige Speichersystem mit dem Cloud-Computing-System verbindet. Die Anforderung kann in einer Datenstruktur verkörpert sein, die durch einen Speichermanager, der dem mehrstufigen Speichersystem zugehörig ist, aus den Datenpaketen extrahierbar ist.
  • In einigen Ausführungsformen hat ein mehrstufiges Speichersystem zwei oder mehrere Speicherstufen. Eine Speicherstufe ist eine Speicherressource (z.B. Speichervolumen und Datenübertragungs-Hardware und -Software) mit bestimmten Leistungsmerkmalen, die sie von einer anderen Speicherressource oder Speicherstufe unterscheiden. Eine erste Speicherstufe kann zum Beispiel einen größeren Eingabe/Ausgabe- (E/A) Durchsatz, mehr Speicherkapazität oder eine größere Datenübertragungs-Bandbreite als eine zweite Speicherstufe haben. Ein Speichersystem kann Daten aus einer Speicherstufe in eine andere Speicherstufe verschieben, um zum Beispiel Kosten, Leistung und Speicherraum zu optimieren. Eine Datenverschiebung kann ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind (z.B. Datenblöcke, die dem Cloud-Computing-System zugewiesen sind), aus einer ersten Speicherstufe in eine zweite Speicherstufe enthalten.
  • In einigen Ausführungsformen kann ein mehrstufiges Speichersystem automatisch ausgelöst werden, um eine Datenverschiebung in Reaktion auf einen Satz von Auslösebedingungen (hierin im Folgenden Bedingungen) zu initiieren. Eine Auslösebedingung kann jedes Ereignis oder jede Bedingung sein, die einer Speicherstufe oder einem Tenant des mehrstufigen Speichersystems zugehörig ist. Eine Auslösebedingung kann zum Beispiel eine Angabe sein, dass die Speicherstufenauslastung durch eine E/A-Ressource (z.B. Lese-/Schreiboperationen, Datenbus-Bandbreite und gespeicherte Daten) einen Schwellenwert eines Auslastungsniveaus erreicht oder überschritten hat. Als weiteres Beispiel kann eine Auslösebedingung eine Angabe sein, dass die durch einen Tenant (z.B. ein Cloud-Computing-System) auf einer Speicherstufe gespeicherte Datenmenge einen Schwellenwert einer Menge erreicht oder ausgeführt hat. Als drittes Beispiel kann eine Auslösebedingung eine Angabe sein, dass die Auslastung des mehrstufigen Speichersystems durch ein Cloud-Computing-System ein abonniertes oder bezahltes Auslastungsniveau überschreitet.
  • In bestimmten Ausführungsformen ist die Benachrichtigung eine Datenstruktur, die durch das mehrstufige Speichersystem generiert und zu dem Cloud-Computing-System übertragen wird. Die Benachrichtigung kann eine Angabe der Bedingung (z.B. die Auslösebedingung) enthalten, die das Speichersystem veranlasst, die Datenverschiebung einzuleiten. Die Benachrichtigung kann ferner die Blöcke, Speicherstufen und die Änderungen des Niveaus der Speicherleistung angeben, die der Datenverschiebung zugehörig sind.
  • In einigen Ausführungsformen kann die Anforderung, die in einer Operation 405 empfangen wurde, ein Kriterium (z.B. eine Richtlinie) für ein Veranlassen des mehrstufigen Speichersystems enthalten, eine Benachrichtigung über die Datenverschiebung bereitzustellen. Das Kriterium kann auf der Datenverschiebung und der Bedingung zu einem Auslösen der Datenverschiebung beruhen. Das Kriterium kann zum Beispiel das mehrstufige Speichersystem veranlassen, eine Benachrichtigung über die Datenverschiebung bereitzustellen, wenn das mehrstufige Speichersystem eine Datenverschiebung aus einer ersten Speicherstufe mit einem ersten Leistungsniveau in eine zweite Speicherstufe mit einem zweiten Speicherniveau initiiert, wenn das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist (z.B. eine Datenverschiebung, die Daten aus einer schnellen Speicherstufe in eine langsamere Speicherstufe verschiebt). Als weiteres Beispiel kann das Kriterium das mehrstufige Speichersystem veranlassen, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, wenn das mehrstufige Speichersystem eine Datenverschiebung in Reaktion auf die Anzahl von E/A-Operationen initiiert, die durch die Speicherstufe (z.B. im Auftrag des Cloud-Computing-Systems) verarbeitet werden, wobei eine Schwellenwertanzahl von E/A-Operationen überschritten wird (diese Informationen könnten von dem Cloud-Computing-System für Fakturierungszwecke verwendet werden).
  • Das Kriterium kann auch auf aggregierten Merkmalen von Datenverschiebungen beruhen, die durch das mehrstufige Speichersystem initiiert wurden. Ein Beispiel für ein aggregiertes Merkmal enthält die Häufigkeit von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist. Ein weiteres Beispiel für ein aggregiertes Merkmal ist eine Häufigkeit oder Anzahl von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen, dass die Speicherstufe eine ungenügende Speicherkapazität oder E/A-Bandbreite hat. Weitere einzelne oder aggregierte Kriterien zum Veranlassen, dass das mehrstufige Speichersystem Benachrichtigungen über eine Datenverschiebung bereitstellt, können mit den hierin beschriebenen Techniken verwendet werden.
  • Das mehrstufige Speichersystem kann eine Operation 410 ausführen, um zu bestimmen, ob eine Bedingung für ein Initiieren einer Datenverschiebung aus einer ersten Speicherstufe in eine zweite Speicherstufe erfüllt ist. Ein Ausführen der Operation 410 kann ein Abfragen eines Speicher-Controllers enthalten, der einer Speicherstufe zugehörig ist, um zum Beispiel die Menge an verfügbarem Speicherraum auf der Speicherstufe und die E/A-Auslastungsrate der Speicherstufe zu bestimmen. Ein Ausführen der Operationen 410 kann auch Überwachungs- und Anmelde-E/A-Operationen oder Transaktionen enthalten, die durch eine Speicherstufe ausgeführt werden, um zum Beispiel aggregierte Auslösebedingungen zu bewerten oder Bedingungen auf Tenant-Grundlage zu bewerten (z.B. Bedingungen, die in Reaktion auf Tenant-Aktionen ausgelöst werden wie zum Beispiel E/A-Anforderungen von einem Tenant, die eine Schwellenwertanzahl von Anforderungen überschreiten).
  • In einigen Ausführungsformen können Informationen, die beim Ausführen der Operation 110 abgefragt oder überwacht werden, in einer Datenstruktur zur Verwendung beim Bewerten von Bedingungen für ein Bereitstellen von Benachrichtigungen über eine Datenverschiebung protokolliert werden, wie hierin beschrieben.
  • Das mehrstufige Speichersystem kann eine Operation 415 ausführen, um ein Datenverschiebungsereignis in Reaktion auf ein Bestimmen zu initiieren, ob eine Bedingung für ein Initiieren einer Datenverschiebung aus einer ersten Speicherstufe in eine zweite Speicherstufe erfüllt ist. Ein Initiieren einer Datenverschiebung kann ein Auswählen und Übertragen von einem oder mehreren Datenblöcken aus einer ersten Speicherstufe in eine zweite Speicherstufe enthalten. Ein Initiieren einer Datenverschiebung kann ferner ein Speichern von Informationen in einer Datenstruktur enthalten, die der Datenverschiebung zugehörig sind, darunter zum Beispiel die Ausgangsstufe, die Zielstufe, die Auslösebedingung, die verschobenen Datenblöcke und die von der Datenverschiebung betroffenen Tenants.
  • In einigen Ausführungsformen kann das mehrstufige Speichersystem eine Operation 420 ausführen, um zu bestimmen, ob ein Kriterium (z.B. ein Kriterium einer Benachrichtigung über eine Datenverschiebung) zum Bereitstellen einer Benachrichtigung an ein Cloud-Computing-System erfüllt ist. Ein Ausführen der Operation 420 kann ein Identifizieren eines Cloud-Computing-Systems enthalten, das von der Datenverschiebung betroffen ist, die in der Operation 415 initiiert wurde. Ein Ausführen der Operation 420 kann ferner ein Bewerten eines Kriteriums für eine Benachrichtigung über eine Datenverschiebung, die von dem identifizierten Cloud-Computing-System in den Operationen 405 empfangen wurde, unter Verwendung von protokollierten Datenverschiebungsinformationen enthalten, wie hierin beschrieben. Ein Bewerten des Kriteriums für eine Benachrichtigung über eine Datenverschiebung kann ein Berechnen von einer oder mehreren Statistiken, die die Datenverschiebungsinformationen betreffen, und ein Ausführen von einer oder mehreren logischen Operationen unter Verwendung der Statistiken und zum Beispiel von Schwellenwerten enthalten, die dem Kriterium für eine Verschiebungsbenachrichtigung zugehörig sind. Das mehrstufige Speichersystem kann in Reaktion auf ein Bestimmen, dass das Kriterium nicht erfüllt wurde, zu der Operation 410 zurückkehren, während das mehrstufige Speichersystem in Reaktion auf das Bestimmen, dass das Kriterium erfüllt wurde, mit der Operation 425 fortfahren kann.
  • Das Speichersystem kann eine Operation 425 ausführen, um eine Benachrichtigung an das Cloud-Computing-System zu übertragen. Ein Ausführen der Operation 425 kann ein Generieren einer Datenstruktur mit zum Beispiel einer Angabe von verschobenen Datenblöcken, einer Bedingung oder einem Grund für ein Initiieren der Datenverschiebung und von Informationen enthalten, die einer Leistung der Speicherstufen zugehörig sind, die an der Datenverschiebung beteiligt sind. Ein Ausführen der Operation 425 kann ferner ein Ausführen von einer oder mehreren Operationen zum Übertragen der Benachrichtigung über einen Datenübertragungskanal an das Cloud-Computing-System enthalten.
  • 5 stellt einen Satz von Operationen 500 gemäß verschiedenen Ausführungsformen zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher dar. Die Operationen 500 können durch ein Cloud-Computing-System ausgeführt werden wie zum Beispiel das Cloud-Computing-System 805 (8). In einigen Ausführungsformen können die Operationen 500 automatisch durch eine Cloud-Manageranwendung des Cloud-Computing-Systems ausgeführt werden. Der Cloud-Manager kann einen durch ein Datenverarbeitungssystem, wie zum Beispiel das Computersystem 12 (1), ausführbaren Code enthalten. In einigen Ausführungsformen ist der Cloud-Manager eine Software-Komponente, die einer Schicht 64 des Cloud-Computing-Systems zugehörig ist, das in 3 gezeigt wird.
  • Das Cloud-Computing-System kann eine Operation 505 ausführen, um eine Anforderung zu einem mehrstufigen Speichersystem zu übertragen, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde. Eine Datenverschiebung kann ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind (z.B. Datenblöcke, die dem Cloud-Computing-System zugewiesen sind), aus einer ersten Speicherstufe in eine zweite Speicherstufe enthalten, wie hierin beschrieben. Die Benachrichtigung kann eine Datenstruktur sein, die durch das mehrstufige Speichersystem generiert und zu dem Cloud-Computing-System übertragen wird, wie hierin beschrieben. In einigen Ausführungsformen enthält die Anforderung ein Kriterium, um das mehrstufige Speichersystem zu veranlassen, eine Benachrichtigung über die Datenverschiebung bereitzustellen. Die Merkmale des Kriteriums entsprechen dem Kriterium, das in der Erörterung der Operationen 400 beschrieben wurde (4). Ein Ausführen der Operation 505 kann ein Generieren einer Datenstruktur mit der Anforderung und ein Übertragen der Datenstruktur über einen Datenübertragungskanal zu dem mehrstufigen Speichersystem enthalten.
  • Der Cloud-Computing-Server kann Operationen 510 ausführen, um eine Benachrichtigung (z.B. eine Benachrichtigung über eine Datenverschiebung) von dem mehrstufigen Speichersystem zu empfangen. Die Benachrichtigung kann in Datenpaketen von einem Datenübertragungskanal empfangen werden, der das mehrstufige Speichersystem mit dem Cloud-Computing-System verbindet. Die Benachrichtigung kann in einer Datenstruktur verkörpert sein, die aus den Datenpaketen zum Beispiel durch den Cloud-Manager extrahierbar ist. Die Benachrichtigung kann eine Angabe von verschobenen Datenblöcken, einer Bedingung oder einem Grund für ein Initiieren der Datenverschiebung und von Informationen enthalten, die einer Leistung der Speicherstufen zugehörig sind, die an der Datenverschiebung beteiligt sind, wie hierin beschrieben.
  • Das Cloud-Computing-System kann eine Operation 515 ausführen, um unter Verwendung der empfangenen Benachrichtigung eine gehostete Datenverarbeitungsumgebung mit einem Volume zu identifizieren, das der Datenverschiebung zugehörig ist. Ein Ausführen der Operation 515 enthält ein Bestimmen, aus der Benachrichtigung, von einem oder mehreren Datenblöcken, die der Datenverschiebungsoperation zugehörig sind. Ein Ausführen der Operation 515 kann anschließend ein Bestimmen aus beispielsweise einer Datenstruktur enthalten, die Blöcke des logischen Volume des Cloud-Computing-Systems einem oder mehreren virtuellen Volumes zuordnet, die einer gehosteten Datenverarbeitungsumgebung zugewiesen sind, wobei eine gehostete Datenverarbeitungsumgebung ein virtuelles Volume aufweist, das dem einen oder den mehreren Blöcken zugehörig ist, die in der empfangenen Benachrichtigung angegeben sind.
  • Das Cloud-Computing-System kann eine Operation 520 ausführen, um zu bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll. Ein Ausführen der Operation 520 kann ein Bestimmen aus einer Datenstruktur enthalten, die Speicherstufen-Verschiebungsrichtlinien speichert, ob die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll. In einigen Ausführungsformen können die Speicherstufen-Verschiebungsrichtlinien Bedingungen oder ein Kriterium für ein Ändern der Zuweisung von Ressourcen zu einer oder mehreren gehosteten Datenverarbeitungsumgebungen in Reaktion auf Datenverschiebungen in Speicherstufen angeben. In einigen Ausführungsformen können die Bedingungen oder das Kriterium im Wesentlichen dieselben wie das Kriterium für ein Veranlassen des mehrstufigen Speichersystems sein, eine Benachrichtigung über die Datenverschiebung zu übertragen. Das Cloud-Computing-System kann in Reaktion auf ein Bestimmen, eine Zuweisung von Ressourcen zu der identifizierten gehosteten Datenverarbeitungsumgebung nicht zu ändern, zur Operation 510 zurückkehren, während das Cloud-Computing-System mit der Operation 525 in Reaktion auf ein Bestimmen fortfahren kann, eine Zuweisung von Ressourcen zu der identifizierten gehosteten Datenverarbeitungsumgebung zu ändern.
  • Der Cloud-Manager kann eine Operation 525 ausführen, um die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen zu ändern, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
    In einigen Ausführungsformen können die Ressourcen, die der Host-Datenverarbeitungsumgebung zugewiesen sind, mindestens einen zugewiesenen Arbeitsspeicher, eine zugewiesene Verarbeitungsressource und eine zugewiesene Datenübertragungsressource enthalten (z.B. Datenübertragungs-Bandbreite). Ein Ändern der Zuweisung von Ressourcen kann ein Verschieben der gehosteten Datenverarbeitungsumgebung aus einem ersten Host-Datenverarbeitungssystem in ein zweites Host-Datenverarbeitungssystem in einem Cloud-Computing-System enthalten. Ein Ändern der Zuweisung von Ressourcen enthält auch ein Aussetzen einer Ausführung der identifizierten gehosteten Datenverarbeitungsumgebung. In einigen Ausführungsformen enthält ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Benutzers, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Benutzer zu veranlassen, die Zuweisung von Ressourcen zu ändern. In einigen Ausführungsformen enthält ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Dienstes, der der identifizierten gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Dienst zu veranlassen, die Zuweisung von Ressourcen zu ändern. In anderen Ausführungsformen kann die Zuweisung von einer oder mehreren anderen Ressourcen gemäß anderen gespeicherten Speicherstufen-Verschiebungsrichtlinien geändert werden.
  • 6 stellt ein Blockschaubild einer beispielhaften Cloud-Computing-Umgebung 600 unter Verwendung von Speicherstufen gemäß verschiedenen Ausführungsformen dar. Die Cloud-Computing-Umgebung 600 enthält ein Cloud-Computing-System 605, das mit einem mehrstufigen Speichersystem 635 unter Verwendung eines Datenübertragungskanals 650 verbunden ist.
  • In einigen Ausführungsformen enthält das Cloud-Computing-System ein Ausführen von Software- und Firmware-Anwendungen, um eine gehostete Datenverarbeitungsumgebung 610 und eine gehostete Datenverarbeitungsumgebung 620 zu ermöglichen oder zu hosten, wie hierin beschrieben. Das Cloud-Computing-System 605 kann auch ein Volume 630 (z.B. ein logisches Volume) mit einem oder mehreren Blöcken enthalten, die einem virtuellen Volume 615 der gehosteten Datenverarbeitungsumgebung 610 und einem virtuellen Volume 625 der gehosteten Datenverarbeitungsumgebung 620 zugewiesen sind. Das gesamte oder ein Teil des Volume 630 kann auf dem mehrstufigen Speichersystem 635 auf einer Speicherstufe-1 640 oder einer Speicherstufe-2 645 gespeichert werden, wie hierin beschrieben.
  • In einigen Ausführungsformen kann der Datenübertragungskanal 650 ein Datenbus, ein Datenübertragungskabel oder ein Datenübertragungs-Netzwerk sein, das konfiguriert ist, um Daten in einer oder mehreren Datenstrukturen oder Paketen zwischen dem Cloud-Computing-System 605 und dem mehrstufigen Speichersystem 635 zu übertragen.
  • 7 stellt ein Blockschaubild eines beispielhaften mehrstufigen Speichersystems 705 gemäß verschiedenen Ausführungsformen dar. Das mehrstufige Speichersystem 705 kann einen Prozessor 710, einen Arbeitsspeicher 715 und einen mehrstufigen Speicher 730 enthalten. Der Arbeitsspeicher 715 kann einen Speichermanager 720 und eine Benachrichtigungsrichtlinie 725 enthalten. Der Speichermanager 720 kann auf dem Prozessor 710 ausgeführt werden, um die hierin beschriebenen Operationen und Techniken umzusetzen. Die Benachrichtigungsrichtlinie 725 kann Anforderungen von einer Benachrichtigung über eine Datenverschiebung von registrierten Tenants enthalten (z.B. Cloud-Computing-Systeme, die Anforderungen von einer Benachrichtigung über eine Datenverschiebung weiterleiten). Die Anforderungen können ein Kriterium für ein Veranlassen des mehrstufigen Speichersystems 705 enthalten, Benachrichtigungen über eine Datenverschiebung bereitzustellen, wie hierin beschrieben. Der mehrstufige Speicher 730 kann eine Speicherstufe-1 735 und eine Speicherstufe-2 750 enthalten. Die Speicherstufe-1 735 kann ein Leistungsniveau oder eine Leistungsbewertung aufweisen und kann ein oder mehrere Speicherlaufwerke enthalten (z.B. Plattenlaufwerke, Solid-State-Drives usw.), die einen Datenblock 745A und 745B speichern. Die Speicherstufe-2 750 kann ein anderes Leistungsniveau oder eine andere Leistungsbewertung aufweisen und kann ein oder mehrere Speicherlaufwerke enthalten, die einen Datenblock 760A und 760B speichern.
  • 8 stellt ein Blockschaubild eines beispielhaften Cloud-Computing-Systems 800 gemäß verschiedenen Ausführungsformen dar. Das mehrstufige Speichersystem 805 kann einen Prozessor 810, einen Arbeitsspeicher 815 und einen mehrstufigen Speicher 855 (z.B. ein logisches Volume) enthalten. Der Arbeitsspeicher 815 kann einen Cloud-Manager 820, Speicherstufen-Verschiebungsrichtlinien 825 und gehostete Datenverarbeitungsumgebungen 830 enthalten. Der Speichermanager 820 kann auf dem Prozessor 810 ausgeführt werden, um die hierin beschriebenen Operationen und Techniken umzusetzen. Die gehosteten Datenverarbeitungsumgebungen 830 können ein Betriebssystem 835 und zugewiesene Ressourcen enthalten, wie beispielsweise einen Arbeitsspeicher 840, Datenübertragungsressourcen 845 und ein virtuelles Volume 850.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit darauf durch einen Computer lesbaren Programmanweisungen enthalten, um einen Prozessor 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 beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. 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 CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale per se aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete 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 Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, 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 sind, 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 entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die 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 Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Offenbarung wurden zum Zweck der Veranschaulichung erstellt, sie sollen aber keineswegs erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang der beschriebenen Ausführungsformen abweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, der praktischen Anwendung oder technischen Verbesserung gegenüber auf dem Markt gefundenen Technologien zu erklären oder anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.

Claims (20)

  1. Verfahren zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher, wobei das Verfahren aufweist: ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei: die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, von einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem; ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist; ein Bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und ein Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  2. Verfahren nach Anspruch 1, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium darauf beruht, ob die erste Speicherstufe eine bessere Leistung als eine Leistung der zweiten Speicherstufe hat.
  3. Verfahren nach Anspruch 1, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium auf aggregierten Merkmalen der Datenverschiebung beruht.
  4. Verfahren nach Anspruch 3, wobei die aggregierten Merkmale mindestens eines aufweisen von: einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist, einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen, dass die Speicherstufe eine ungenügende Speicherkapazität hat, und eine Datenverschiebung von Daten, die einem Satz von gehosteten Datenverarbeitungsumgebungen zugehörig sind, aus einem ersten Speichersystem in ein zweites Speichersystem.
  5. Verfahren nach Anspruch 1, wobei die Ressourcen mindestens einen zugewiesenen Arbeitsspeicher, eine zugewiesene Verarbeitungsressource oder eine zugewiesene Datenübertragungs-Bandbreite enthalten.
  6. Verfahren nach Anspruch 1, wobei das Ändern der Zuweisung von Ressourcen ein Verschieben der gehosteten Datenverarbeitungsumgebung aus einem ersten Host-Datenverarbeitungssystem in ein zweites Host-Datenverarbeitungssystem enthält.
  7. Verfahren nach Anspruch 1, wobei ein Ändern der Zuweisung von Ressourcen ein Aussetzen einer Ausführung der gehosteten Datenverarbeitungsumgebung enthält.
  8. Verfahren nach Anspruch 1, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Benutzers enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Benutzer zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  9. Verfahren nach Anspruch 1, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Dienstes enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Dienst zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  10. System zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher, wobei das Verfahren aufweist: einen oder mehrere Datenverarbeitungsknoten mit einem Arbeitsspeicher und einem Prozessor; und ein nicht flüchtiges, durch einen Computer lesbares Speichermedium des einen oder der mehreren Datenverarbeitungsknoten mit darauf verkörperten Programmanweisungen, wobei die Programmanweisungen durch den Prozessor ausführbar sind, um das System zu veranlassen zu: einem Übertragen einer Anforderung zu einem mehrstufigen Speichersystem eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei: die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; die Benachrichtigung von dem mehrstufigen Speichersystem empfangen wird; unter Verwendung der empfangenen Benachrichtigung eine gehostete Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist, identifiziert wird; bestimmt wird, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen geändert wird, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  11. System nach Anspruch 10, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium darauf beruht, ob die erste Speicherstufe eine bessere Leistung als eine Leistung der zweiten Speicherstufe hat.
  12. System nach Anspruch 10, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium auf aggregierten Merkmalen der Datenverschiebung beruht.
  13. System nach Anspruch 12, wobei die aggregierten Merkmale mindestens eines sind von: einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe mit einem ersten Leistungsniveau in eine Speicherstufe mit einem zweiten Leistungsniveau, wobei das zweite Leistungsniveau niedriger als das erste Leistungsniveau ist, einer Häufigkeit von Datenverschiebungen aus einer Speicherstufe in Reaktion auf ein Bestimmen, dass die Speicherstufe eine ungenügende Speicherkapazität hat, und eine Datenverschiebung von Daten, die einem Satz von gehosteten Datenverarbeitungsumgebungen zugehörig sind, aus einem ersten Speichersystem in ein zweites Speichersystem.
  14. System nach Anspruch 10, wobei die Ressourcen mindestens einen zugewiesenen Arbeitsspeicher, eine zugewiesene Verarbeitungsressource oder eine zugewiesene Datenübertragungs-Bandbreite enthalten.
  15. System nach Anspruch 10, wobei das Ändern der Zuweisung von Ressourcen ein Verschieben der gehosteten Datenverarbeitungsumgebung aus einem ersten Host-Datenverarbeitungssystem in ein zweites Host-Datenverarbeitungssystem enthält.
  16. System nach Anspruch 10, wobei ein Ändern der Zuweisung von Ressourcen ein Aussetzen einer Ausführung der gehosteten Datenverarbeitungsumgebung enthält.
  17. System nach Anspruch 10, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Benutzers enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Benutzer zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  18. System nach Anspruch 10, wobei ein Ändern der Zuweisung von Ressourcen ein Benachrichtigen eines Dienstes enthält, der der gehosteten Datenverarbeitungsumgebung zugehörig ist, um den Dienst zu veranlassen, die Zuweisung von Ressourcen zu ändern.
  19. Computerprogrammprodukt zum Zuweisen von Cloud-Ressourcen in einem Cloud-Computing-System auf Grundlage einer Datenverschiebung in mehrstufigem Speicher, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen aufweist, wobei das durch einen Computer lesbare Speichermedium kein flüchtiges Signal per se ist, wobei die durch eine Verarbeitungsschaltung ausführbaren Programmanweisungen die Verarbeitungsschaltung veranlassen, ein Verfahren auszuführen, das aufweist: ein Übertragen einer Anforderung zu einem mehrstufigen Speichersystem, eine Benachrichtigung über eine Datenverschiebung bereitzustellen, die durch ein mehrstufiges Speichersystem initiiert wurde, wobei: die Datenverschiebung ein Verschieben von Daten, die dem Cloud-Computing-System zugehörig sind, aus einer ersten Speicherstufe in eine zweite Speicherstufe aufweist, und die Benachrichtigung eine Angabe einer Bedingung zum Initiieren der Datenverschiebung aufweist; ein Empfangen der Benachrichtigung von dem mehrstufigen Speichersystem; ein Identifizieren, unter Verwendung der empfangenen Benachrichtigung, einer gehosteten Datenverarbeitungsumgebung mit einem Volume, das der Datenverschiebung zugehörig ist; ein Bestimmen, ob eine Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung geändert werden soll; und ein Ändern der Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung in Reaktion auf das Bestimmen, die Zuweisung von Ressourcen zu der gehosteten Datenverarbeitungsumgebung zu ändern.
  20. Computerprogrammprodukt nach Anspruch 19, wobei die Anforderung ein Kriterium für ein Bereitstellen der Benachrichtigung enthält, wobei das Kriterium darauf beruht, ob die erste Speicherstufe eine bessere Leistung als eine Leistung der zweiten Speicherstufe hat.
DE112018004415.7T 2017-11-17 2018-11-08 Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage Active DE112018004415B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/815,965 2017-11-17
US15/815,947 US20190155511A1 (en) 2017-11-17 2017-11-17 Policy-based optimization of cloud resources on tiered storage operations
US15/815,947 2017-11-17
US15/815,965 US10725660B2 (en) 2017-11-17 2017-11-17 Policy-based optimization of cloud resources on tiered storage operations
PCT/IB2018/058764 WO2019097363A1 (en) 2017-11-17 2018-11-08 Policy-based optimization of cloud resources on tiered storage operations

Publications (2)

Publication Number Publication Date
DE112018004415T5 true DE112018004415T5 (de) 2020-05-28
DE112018004415B4 DE112018004415B4 (de) 2023-03-09

Family

ID=66540095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018004415.7T Active DE112018004415B4 (de) 2017-11-17 2018-11-08 Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage

Country Status (5)

Country Link
JP (1) JP7160449B2 (de)
CN (1) CN111263931A (de)
DE (1) DE112018004415B4 (de)
GB (1) GB2581309B (de)
WO (1) WO2019097363A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788149B (zh) * 2021-01-22 2022-04-08 浪潮云信息技术股份公司 一种分布式云中软件快速分发方法及系统
CN113703962B (zh) * 2021-07-22 2023-08-22 北京华胜天成科技股份有限公司 云资源分配方法、装置、电子设备及存储介质
CN113741807B (zh) * 2021-07-29 2023-08-11 苏州浪潮智能科技有限公司 一种提高系统存储性能的方法、系统、设备和存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702779B1 (en) * 2004-06-30 2010-04-20 Symantec Operating Corporation System and method for metering of application services in utility computing environments
US7529903B2 (en) 2005-07-05 2009-05-05 International Business Machines Corporation Systems and methods for memory migration
JP2009145931A (ja) 2007-12-11 2009-07-02 Hitachi Ltd 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
US8713163B2 (en) * 2010-09-17 2014-04-29 Microsoft Corporation Monitoring cloud-runtime operations
US9442771B2 (en) 2010-11-24 2016-09-13 Red Hat, Inc. Generating configurable subscription parameters
US9471243B2 (en) 2011-12-15 2016-10-18 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
US9086929B2 (en) 2012-04-06 2015-07-21 International Business Machines Corporation Dynamic allocation of a workload across a plurality of clouds
JP5926373B2 (ja) * 2012-05-07 2016-05-25 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
WO2014002126A1 (en) * 2012-06-25 2014-01-03 Hitachi, Ltd. Computer system and method of controlling i/o with respect to storage apparatus
US9141288B2 (en) * 2012-07-26 2015-09-22 Hewlett-Packard Development Company, L.P. Chargeback based storage recommendations for datacenters
CN104919429B (zh) 2013-06-14 2018-01-09 株式会社日立制作所 存储管理计算机及存储管理方法
US9298373B2 (en) * 2014-01-13 2016-03-29 International Business Machines Corporation Placement and movement of sub-units of a storage unit in a tiered storage environment
US9477427B2 (en) * 2014-09-19 2016-10-25 Vmware, Inc. Storage tiering based on virtual machine operations and virtual volume type
US9854002B1 (en) 2014-12-23 2017-12-26 VCE Holding Company LLC Application centric compliance management system and method for a multi-level computing environment
US9513968B1 (en) * 2015-12-04 2016-12-06 International Business Machines Corporation Dynamic resource allocation based on data transferring to a tiered storage
CN105808352A (zh) * 2016-03-07 2016-07-27 广东睿江云计算股份有限公司 云资源分配方法及装置
US20180025403A1 (en) 2016-07-20 2018-01-25 Gary Howard Mckay Enabling a multiple storage marketplace through selective permutation of inherited storage

Also Published As

Publication number Publication date
GB2581309A (en) 2020-08-12
GB202008079D0 (en) 2020-07-15
WO2019097363A1 (en) 2019-05-23
JP7160449B2 (ja) 2022-10-25
GB2581309B (en) 2021-01-06
DE112018004415B4 (de) 2023-03-09
JP2021503650A (ja) 2021-02-12
CN111263931A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112018004349T5 (de) Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE112019003042B4 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE102013204186A1 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112018005268T5 (de) Priorisieren von anwendungen für eine diagonale skalierung in einer verteilten datenverarbeitungsumgebung
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE102021125182A1 (de) Gemeinsam genutzte unternehmenscloud
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112021004290T5 (de) Gemeinsames nutzen von zwischengespeicherten klassendaten in einer containerisierten umgebung
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112021002487T5 (de) Teilen einer geografisch konzentrierten arbeitslast zwischen benachbarten mec-hosts mehrerer netzbetreiber
DE112019003255T5 (de) Auslagern von spuren mit lücken in einem speichersystem
DE112022002736T5 (de) Übertragen von aufgabendaten zwischen edge-einheiten beim edge computing
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE102021122508A1 (de) Ausgleichen von grossrechner- und verteilten arbeitslasten auf der grundlage von leistung und kosten
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112018005973T5 (de) Automatisches diagonales skalieren von arbeitslasten in einer verteilten datenverarbeitungsumgebung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final