DE112019002948T5 - Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen - Google Patents

Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen Download PDF

Info

Publication number
DE112019002948T5
DE112019002948T5 DE112019002948.7T DE112019002948T DE112019002948T5 DE 112019002948 T5 DE112019002948 T5 DE 112019002948T5 DE 112019002948 T DE112019002948 T DE 112019002948T DE 112019002948 T5 DE112019002948 T5 DE 112019002948T5
Authority
DE
Germany
Prior art keywords
storage
data
data set
access
storage 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.)
Pending
Application number
DE112019002948.7T
Other languages
English (en)
Inventor
Clea Anne Zolotow
Thomas William Bish
Bernhard Julius Klingenberg
Petra KOPP
John Valentine DELANEY
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.)
Kyndryl Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112019002948T5 publication Critical patent/DE112019002948T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

Bereitgestellt werden ein Computerprogrammprodukt, ein System und ein Verfahren, um eine optimale Speicherumgebung für Datensätze festzustellen und um Datensätze zu migrieren. Metadaten für jede Anwendung geben Speicherpools an, die von der Anwendung zum Speichern von Datensätzen verwendet werden, wobei jeder Speicherpool in einer von einer Mehrzahl von Speicherumgebungen konfiguriert ist, die verschiedene Organisationsschemata zum Speichern von Datensätzen verwenden. Die Metadaten für mindestens eine Anwendung geben Speicherpools zum Speichern der Datensätze für die Anwendung an, die aus verschiedenen Speicherumgebungen zugeordnet werden. Die Metadaten für eine Anwendung werden verarbeitet, um einen Datensatz für die Anwendung festzustellen, der in einem in einer ersten Speicherumgebung ausgeführten ersten Speicherpool gespeichert ist und in einer zweiten Speicherumgebung gespeichert werden soll. Der festgestellte Datensatz aus dem ersten Speicherpool wird in einen in der zweiten Speicherumgebung ausgeführten zweiten Speicherpool migriert.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft ein Computerprogrammprodukt, ein System und ein Verfahren, um eine optimale Speicherumgebung für Datensätze und für das Migrieren von Datensätzen festzustellen.
  • HINTERGRUND
  • Ein Speichersystem kann verschiedene Speicherumgebungen wie beispielsweise einen Blockspeicher, einen Dateispeicher, einen Objektspeicher usw. ausführen. Die Verwendung von mehreren Speicherumgebungen erschwert Entscheidungen über eine Speicherplatzierung für Daten in dem Speicherverwaltungslebenszyklusprozess. Speicheradministratoren verwenden eine Vielfalt an Tools zur Verwaltung von Speicher. Sobald ein System gewählt wurde (d.h. blockbasierter Speicher für weborientierte Server; dateibasierter Speicher für Drucksysteme; und objektbasierter Speicher für unstrukturierte Daten wie beispielsweise Bilder oder eine Dateikette (sowie das Streamen von Inhalten), wird die Speichermethodik gewöhnlich erst bei einem Technologie-Aktualisierungszyklus geändert.
  • Es besteht in der Technik ein Bedarf an verbesserten Techniken zur Verwaltung von Speicherorten, an denen Datensätze für Anwendungen gespeichert werden sollen.
  • KURZDARSTELLUNG
  • Eine Ausführungsform weist ein Computerprogrammprodukt, ein System und ein Verfahren zum Feststellen einer optimalen Speicherumgebung für Datensätze und für das Migrieren von Datensätzen auf. Metadaten für jede Anwendung geben Speicherpools an, die von der Anwendung zum Speichern von Datensätzen verwendet werden, wobei jeder Speicherpool in einer von einer Mehrzahl von Speicherumgebungen konfiguriert ist, die verschiedene Organisationsschemata zum Speichern von Datensätzen verwenden. Die Metadaten für mindestens eine Anwendung geben Speicherpools zum Speichern der Datensätze für die Anwendung an, die aus verschiedenen Speicherumgebungen zugeordnet werden. Die Metadaten für eine Anwendung werden verarbeitet, um einen Datensatz für die Anwendung festzustellen, der in einem in einer ersten Speicherumgebung ausgeführten ersten Speicherpool gespeichert ist und in einer zweiten Speicherumgebung gespeichert werden soll. Der festgestellte Datensatz aus dem ersten Speicherpool wird in einen in der zweiten Speicherumgebung ausgeführten zweiten Speicherpool migriert.
  • Bei der vorstehenden Ausführungsform werden Metadaten für eine Anwendung verwendet, um festzustellen, dass ein in einem Speicherpool in einer ersten Speicherumgebung gespeicherter Datensatz in einer zweiten Speicherumgebung gespeichert werden soll, so dass der Datensatz in die zweite Speicherumgebung migriert werden kann. Auf diese Weise werden Metadaten verwendet, um eine optimalere Speicherumgebung festzustellen, die für einen Datensatz ausgewählt werden kann, der in von einer Anwendung verwendeten Speicherpools gespeichert ist, so dass der Datensatz in die optimale Speicherumgebung migriert wird.
  • In einer weiteren Ausführungsform umfassen die Speicherumgebungen mindestens eine Mehrzahl von Speicherumgebungen, die aufweisen: Blockspeicher, Dateispeicher, Objektspeicher und CKD-Speicher.
  • Bei der vorstehenden Ausführungsform kann unter einem Blockspeicher, einem Dateispeicher, einem Objektspeicher und einem CKD-Speicher die eine Speicherumgebung von verschiedenen gemeinsamen Speicherumgebungen an der Migration eines Datensatzes beteiligt sein, um die gemeinsamen Speicherumgebungen vorteilhaft zu nutzen, die in Speichersystemen ausgeführt sein können, auf die die Anwendung zugreifen kann.
  • In einer weiteren Ausführungsform werden die Metadaten für die Anwendung aktualisiert, um anzugeben, dass der festgestellte Datensatz in dem zweiten Speicherpool gespeichert ist.
  • Bei der vorstehenden Ausführungsform werden die Metadaten aktualisiert, um den neuen zweiten Speicherpool und die zweite Speicherumgebung zum Speichern des migrierten Datensatzes widerzuspiegeln, so dass diese Metadaten verarbeitet werden können, um festzustellen, ob es eine weitere Migration des Satzes zwischen Speicherumgebungen geben soll.
  • In einer weiteren Ausführungsform verwaltet ein erster Dämonprozess den Zugriff auf einen ersten Speicher, der gemäß der ersten Speicherumgebung konfiguriert ist, und ein zweiter Dämonprozess verwaltet den Zugriff auf einen zweiten Speicher, der gemäß der zweiten Speicherumgebung konfiguriert ist. Der Datensatz wird von dem ersten Dämonprozess migriert, der den festgestellten Datensatz aus dem ersten Speicherpool in dem ersten Speicher liest. Der erste Dämonprozess wandelt den festgestellten Datensatz aus einem ersten Datenformat für die erste Speicherumgebung in ein zweites Datenformat für die zweite Speicherumgebung um. Der Datensatz in dem zweiten Datenformat wird an den zweiten Dämonprozess gesendet, um ihn in den zweiten Speicher zu schreiben.
  • Bei der vorstehenden Ausführungsform verwalten die Speicherumgebungs-Dämonprozesse die Übertragung von Datensätzen aus einer Quellenspeicherumgebung an eine optimale Speicherumgebung, wobei jeder der Dämonprozesse alle notwendigen Funktionen und APIs enthält, um das Zugreifen auf Daten in ihrer Speicherumgebung zu verwalten und um den Datenaustausch mit anderen Speicherdämonprozessen sowie das Umwandeln eines Datensatzes in ein Datenformat einer Zielspeicherumgebung zu verwalten, in die gerade ein Datensatz migriert wird.
  • In einer weiteren Ausführungsform werden Datenzugriffsinformationen über Datenzugriffsmuster von Eingabe-/Ausgabe-(E/A-)Zugriffen auf die Datensätze für in dem ersten und dem zweiten Speicherpool gespeicherte Anwendungen erfasst. Das Feststellen eines Datensatzes in dem ersten Speicherpool, der in der zweiten Speicherumgebung gespeichert werden soll, weist das Feststellen auf, dass die für den Datensatz erfassten Datenzugriffsinformationen angeben, dass der Datensatz in der zweiten Speicherumgebung gespeichert werden soll.
  • Bei der vorstehenden Ausführungsform beruht die Feststellung eines optimalen Speichers auf aktuellen Betriebsparametern in Bezug auf den betrachteten Datensatz, wie beispielsweise Datenzugriffsmustern von E/A-Zugriffen, um eine Speicherauswahl auf der Grundlage von aktuellen Datenzugriffsmustern zu optimieren.
  • In einer weiteren Ausführungsform weist das Feststellen, dass die Datenzugriffsinformationen angeben, dass der festgestellte Datensatz in der zweiten Speicherumgebung gespeichert werden soll, das an ein Machine-Learning-Modul erfolgende Bereitstellen der Datenzugriffsinformationen in den Metadaten für den Datensatz auf. Das Machine-Learning-Modul klassifiziert die bereitgestellten Datenzugriffsinformationen in eine von einer Mehrzahl von Zugriffsmusterklassifizierungen. Regeln werden angewandt, um aus den Zugriffsmusterklassifizierungen für den Datensatz eine optimale Speicherumgebung einer Mehrzahl von Speicherumgebungen festzustellen, in der der Datensatz gespeichert werden soll. Der festgestellte Datensatz wird als ein Datensatz mit einer Zugriffsmusterklassifizierung klassifiziert, wobei das Anwenden der Regeln feststellt, dass die zweite Speicherumgebung eine optimale Speicherumgebung für den Datensatz ist.
  • Bei der vorstehenden Ausführungsform wird ein Machine-Learning-Modul verwendet, um Datenzugriffsinformationen in eine Zugriffsmusterklassifizierung zu klassifizieren, die dann auf eine Regelengine zur Auswahl einer optimalen Speicherumgebung angewendet wird. Diese Verwendung des Machine-Learning-Moduls stellt eine optimale oder beste Zugriffsmusterklassifizierung auf der Grundlage von Zugriffsinformationen bereit, die dann verwendet werden kann, um den optimalen Speicher auf der Grundlage der Zugriffsmusterklassifizierung auszuwählen, da bestimmte Arten von Speicherumgebungen für bestimmte Arten von Zugriffsmustern besser geeignet sind.
  • In einer weiteren Ausführungsform wird für jeden Datensatz, für den eine optimale Speicherumgebung festgestellt wird, festgestellt, ob der Datensatz in der festgestellten optimalen Speicherumgebung für den Datensatz gespeichert ist. Jeder Datensatz, der aktuell nicht in der festgestellten optimalen Speicherumgebung für den Datensatz gespeichert ist, wird in die festgestellte optimale Speicherumgebung für den Datensatz migriert.
  • In einer weiteren Ausführungsform wird das Klassifizieren der Datenzugriffsinformationen für den Datensatz von einem Machine-Learning-Algorithmus durchgeführt, der so trainiert wird, dass er eine der Zugriffsmusterklassifizierungen auf der Grundlage der Datenzugriffsinformationen für den Datensatz erzeugt.
  • Bei der vorstehenden Ausführungsform wird ein Machine-Learning-Algorithmus so trainiert, dass er die Zugriffsmusterauswahl auf der Grundlage von tatsächlichen Zugriffsmustern auswählt, um die Vorhersagequalität des Machine-Learning-Algorithmus bei der Klassifizierung der Datenzugriffsinformationen zu verbessern, um eine verbesserte Auswahl der für den Datensatz zu verwendenden Speicherumgebung bereitzustellen.
  • In einer weiteren Ausführungsform umfassen die Datenzugriffsinformationen für verschiedene Datensätze eine Mehrzahl von E/A-Operationen pro Sekunde, eine Latenzzeit bei Zugriffen, Zeitlimitüberschreitungen aufgrund von Latenzzeitverzögerungen, ein Datenzugriffsmuster, einen Arbeitslasttyp.
  • In einer weiteren Ausführungsform umfassen die Speicherumgebungen eine Objektspeicherumgebung, eine Dateispeicherumgebung und eine Blockspeicherumgebung. Die Regeln zum Feststellen der optimalen Speicherumgebung für jeden Datensatz für die Anwendungen umfassen mindestens eine Mehrzahl von Regeln, die aufweisen: Angeben der optimalen Speicherumgebung als Dateispeicher für den Datensatz als Reaktion auf das Feststellen, dass auf den Datensatz als Datei zugegriffen wird; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass eine Zugriffsmusterklassifizierung für den Datensatz ein Muster „wahlfreier Zugriff“ aufweist; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung für den Datensatz ein Muster „sequenzieller Zugriff“ aufweist; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung für den Datensatz ein Zugriffsmuster „viele Operationen pro Sekunde“ aufweist; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung für den Datensatz ein Zugriffsmuster „wenige Operationen pro Sekunde und intensive Nutzung der Verarbeitungseinheit“ aufweist; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung eine geringe Latenzzeit aufweist, wobei die geringe Latenzzeit bei Datenzugriffen auftritt, die einen Zugriff mit geringer Latenzzeit erfordern; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung eine hohe Latenzzeit und eine Datensatzgröße aufweist, die größer als ein Größenschwellenwert ist, wobei die hohe Latenzzeit bei Datenzugriffen auftritt, die eine hohe Latenzzeit tolerieren, ohne ein Zeitlimit zu überschreiten; Angeben der optimalen Speicherumgebung als Objektspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung Toleranz gegenüber einer hohen Latenzzeit und eine Datensatzgröße aufweist, die kleiner als ein Größenschwellenwert ist; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung ein Transaktionsdatenbank-Zugriffsmuster aufweist; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung ein Dateidatenbank-Zugriffsmuster aufweist; und Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung ein Webdatenbank-Zugriffsmuster aufweist.
  • Weitere Ausführungsformen weisen ein Computerprogrammprodukt, ein System und ein Verfahren auf, um das Speichern von Daten in einer Mehrzahl von Speicherumgebungen zu verwalten. Datenzugriffsinformationen für einen Datensatz, der in einem in einer aktuellen Speicherumgebung ausgeführten aktuellen Speicher gespeichert ist, werden einer Klassifizierungsengine bereitgestellt, die eine Zugriffsmusterklassifizierung eines Satzes von Zugriffsmusterklassifizierungen aus den Datenzugriffsinformationen für den Datensatz feststellt. Die Zugriffsmusterklassifizierung wird verwendet, um eine optimale Speicherumgebung für den Datensatz festzustellen. Der Datensatz wird als Reaktion darauf, dass die aktuelle Speicherumgebung nicht die optimale Speicherumgebung aufweist, an einen in der optimalen Speicherumgebung ausgeführten Zielspeicher verschoben.
  • Bei der vorstehenden Ausführungsform wird die Zugriffsmusterklassifizierung von einer Klassifizierungsengine festgestellt, die die Datenzugriffsinformationen verarbeitet, um eine verbesserte Klassifizierung auf der Grundlage von Machine Learning and Testing bereitzustellen. Diese verbesserte Klassifizierung wird dann verwendet, um die geeignetste und optimalste Speicherumgebung für den Datensatz auf der Grundlage des tatsächlichen Zugriffsmusters des Datensatzes auszuwählen.
  • In einer weiteren Ausführungsform umfassen die Datenzugriffsinformationen mindestens eine Mehrzahl von Zugriffsattributen, die E/A-Operationen pro Sekunde, eine Latenzzeit bei Zugriffen, Zeitlimitüberschreitungen aufgrund von Latenzzeitverzögerungen, ein Datenzugriffsmuster, einen Arbeitslasttyp aufweisen. Der Satz von Zugriffsmusterklassifizierungen umfasst mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von nur einem Zugriffsattribut und mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von mehreren der Zugriffsattribute.
  • In einer weiteren Ausführungsform werden Anwendungsmetadaten für Anwendungen bereitgestellt, die über Datensätze verfügen, welche in Speichern in einer Speicherumgebung einer Mehrzahl von Speicherumgebungen gespeichert sind, wobei die Anwendungsmetadaten für eine Anwendung für jeden für die Anwendung gespeicherten Datensatz jeweils einen Speicherpool in einem der Speicher sowie die Datenzugriffsinformationen für den Datensatz angeben, wobei die Anwendungsmetadaten eine Mehrzahl der Datensätze für die in Speichern in verschiedenen Speicherumgebungen gespeicherte Anwendung angeben.
  • Figurenliste
    • 1 veranschaulicht eine Ausführungsform einer Speicherumgebung.
    • 2 veranschaulicht eine Ausführungsform von Anwendungsmetadaten.
    • 3 veranschaulicht eine Ausführungsform von Datensatz-Metadaten für Datensätze in den Anwendungsmetadaten.
    • 4 veranschaulicht eine Ausführungsform von Datenzugriffsinformationen für einen Datensatz in den Datensatz-Metadaten.
    • 5 veranschaulicht eine Ausführungsform von Speicherpool-Informationen.
    • 6a veranschaulicht eine Ausführungsform einer Regel.
    • 6b veranschaulicht eine Ausführungsform eines Regelsatzes.
    • 7 veranschaulicht eine Ausführungsform von Operationen, um Datenzugriffsinformationen für einen Datensatz in einer Speicherumgebung zu erfassen.
    • 8 veranschaulicht eine Ausführungsform von Operationen, um festzustellen, ob ein Datensatz für eine Anwendung migriert werden soll.
    • 9 veranschaulicht eine Ausführungsform von Operationen, um eine Anforderung für eine Migration eines Datensatzes zu verarbeiten.
    • 10 veranschaulicht eine Ausführungsform einer Operation, um einen migrierten Datensatz in einer Zielspeicherumgebung zu speichern.
    • 11 veranschaulicht eine Datenverarbeitungsumgebung, in der die Komponenten von 1 ausgeführt werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Beschriebene Ausführungsformen stellen Verbesserungen der Computertechnologie bereit, um Datensätze für Anwendungen in verschiedenen vorhandenen Speicherumgebungen, wie beispielsweise Blockspeicher, Dateispeicher, Objektspeicher usw., zu verwalten. Beschriebene Ausführungsformen stellen eine automatisierte Technik bereit, um eine Entscheidung darüber zu treffen, ob ein Datensatz für eine Anwendung auf der Grundlage von aktuellen Betriebsattributen des Datensatzes, wie beispielsweise Datenzugriffsinformationen in Bezug auf eine E/A-Verarbeitung und Performanz an dem Datensatz, sowie Attributen des Datensatzes in eine andere Speicherumgebung verschoben werden soll. Das integrierte Speicherumgebungsverwaltungssystem verwaltet Metadaten für jede Anwendung, die Speicherpools angeben, welche von der Anwendung zum Speichern von Datensätzen für die Anwendung verwendet werden. Jeder Speicherpool ist in einer Speicherumgebung einer Mehrzahl von Speicherumgebungen konfiguriert, die verschiedene Organisationsschemata zum Speichern von Datensätzen verwenden. Die Metadaten für mindestens eine Anwendung geben Speicherpools zum Speichern der Datensätze für die Anwendung an, die aus verschiedenen Speicherumgebungen zugeordnet werden. Die Metadaten werden einem Machine-Learning-Modul zum Verarbeiten bereitgestellt, um eine Zugriffsmusterklassifizierung für einen Datensatz und aus der Zugriffsmusterklassifizierung eine optimale Speicherumgebung für den Datensatz festzustellen. Wenn der Datensatz aktuell nicht in der optimalen Speicherumgebung gespeichert ist, kann der Datensatz in die optimale Speicherumgebung migriert werden. Auf diese Weise beruhen Entscheidungen, eine andere Speicherumgebung für einen Datensatz zu verwenden, auf aktuellen Betriebsparametern des Datensatzes, um festzustellen, ob der Datensatz in der geeignetsten Speicherumgebung gespeichert ist.
  • 1 veranschaulicht eine Ausführungsform eines Speicherservers 100, der Eingabe-/Ausgabe-Anforderungen von Anwendungen 102 in Hostsystemen 104 für das Speichern in einem Speicher einer Mehrzahl von Speichern 1061 , 1062 ..... 106m für verschiedene erste bzw. zweite bis m-te Speicherumgebungen empfängt. Die Komponenten 100, 104 und 1061 , 1062 ..... 106m tauschen über ein Netzwerk 108 Daten aus. Verschiedene Speicherumgebungen verwenden verschiedene Formate für Daten und Metadaten sowie Technologien zum Speichern von Datensätzen für die Anwendungen 102, wie beispielsweise die Speicherumgebungen von Blockspeicher, Dateispeicher, Objektspeicher und CKD-Speicher. Ein Dateispeicher speichert einen Datensatz als eine Datei in einem hierarchischen Dateisystem, wobei Metadaten auf der Datei und ihr Inhalt in einem Dateisystem gespeichert werden. Im Blockspeicher wird der Datensatz als ein Block gespeichert, der eine Adresse hat und über Anwendungsprogrammschnittstellen (API, Application Program Interfaces) verfügt, die zum Zugriff auf den Block und zur Durchführung von Operationen auf dem Block verwendet werden können. Der Block in einem Blockspeicher ist ein Daten-Chunk, der keine gesonderten Metadaten haben darf. Blockspeicher ist für performanzorientierte Anwendungen wie beispielsweise Transaktionsdatenbank-Operationen optimal. Im Objektspeicher werden die Daten und die Metadaten für die Daten gebündelt und als ein Objekt gespeichert, das eine eindeutige Kennung hat. Im Objektspeicher kann der Benutzer das Format der Metadaten definieren, was für eine Analyse nützlich ist, und auf die Objekte kann mittels einer Hypertext-Transport-Protocol-(HTTP-)Programmierschnittstelle oder eines beliebigen anderen geeigneten Objektzugriffsverfahrens zugegriffen werden.
  • Die Speicher 1061 , 1062 ..... 106m können sich in demselben oder in verschiedenen Rechenzentren befinden. Des Weiteren kann es zusätzliche getrennte Speichersysteme für dieselbe Speicherumgebung geben.
  • Der Speicherserver 100 enthält einen Prozessor 110, wie beispielsweise eine oder mehrere Prozessoreinheiten, und einen Speicher 112 mit von dem Prozessor 110 ausgeführtem Programmcode. Der Speicher 112 enthält einen von dem Prozessor 110 ausgeführten Migrationsmanager 114, um die Migration von Datensätzen in den Speichern 1061 , 1062 ... 106m zu verwalten, Anwendungsmetadaten 200 mit Metadaten über Datensätze aus den Anwendungen 102, die in den Speichern 1061 , 1062 ... 106m gespeichert sind, darunter Datensatz-Metadaten 300 und Datenzugriffsinformationen 400, sowie Speicherpool-Informationen 500 über in den Speichern 1061 , 1062 ... 106m konfigurierte Speicherpools, die zugeordnet oder frei sind, um die Datensätze zu speichern.
  • Eine Migrationsengine 116 enthält ein Machine-Learning-Modul 118, um als Eingabe 120 eine bestimmte Kombination aus den Datenzugriffsinformationen 400 für einen Datensatz zu empfangen, und erzeugt als Ausgabe eine Zugriffsmusterklassifizierung 122, die einer Regelengine 124 bereitgestellt werden kann, welche einen Regelsatz 600 von Regeln verarbeitet, um auf der Grundlage der festgestellten Zugriffsmusterklassifizierungen 122 eine optimale Speicherumgebung 126 festzustellen. Die in der Migrationsengine 116 zwischen den Komponenten 120, 118, 122, 124 und 126 gezeigten Pfeife dienen zur Darstellung eines Datenflusses zwischen den Komponenten, nicht zur Darstellung von tatsächlichen Strukturen innerhalb der Migrationsengine 116.
  • Das Machine-Learning-Modul 118 führt eine Machine-Learning-Technik wie beispielsweise Decision Tree Learning, Association Rule Learning, ein künstliches neuronales Netz, induktive Programmierlogik, Unterstützungsvektormaschinen, Bayes-Modelle usw. aus, um eine Zugriffsmusterklassifizierung auf der Grundlage der eingegebenen 120 Datenzugriffsinformationen und anderer Attribute des Datensatzes festzustellen. Das Machine-Learning-Modul 118 kann so trainiert werden, dass es die verschiedenen Zugriffsmusterklassifizierungen für bestimmte Eingabedaten-Zugriffsinformationen erzeugt. In einer einzelnen Ausführungsform können die Machine-Learning-Module 118 ein KNN-Programm aufweisen, das mittels Backward Propagation so trainiert werden kann, dass es Gewichte und Biasse an Knoten in einer verborgenen Schicht anpasst, um angepasste Zugriffsmusterklassifizierungen für verschiedene Kombinationen aus Attributen von Datenzugriffsinformationen zu erzeugen, wie beispielsweise E/A-Operationen pro Sekunde, Latenzzeit pro E/A, Anzahl von E/A-Zeitlimitüberschreitungen, Arbeitslasttyp, Datensatzgröße, Datenzugriffsmuster usw. Die ausgegebenen optimalen Speicherumgebungen 126 werden angepasst, und das Machine-Learning-Module 118 wird so angepasst, dass es gewünschte optimale Speicherumgebungen für verschiedene eingegebene Datenzugriffsinformationen erzeugt. Bei der Backward Propagation wird die Fehlerquote der Ausgabe gemessen und die Gewichte und Biasse an Knoten in der verborgenen Schicht werden entsprechend angepasst, um den Fehler zu verkleinern. Backward Propagation kann einen Algorithmus für überwachtes Lernen von künstlichen neuronalen Netzen mittels Gradientenabstieg aufweisen. Für ein künstliches neuronales Netz und eine Fehlerfunktion kann das Verfahren den Gradienten der Fehlerfunktion in Bezug auf die Gewichte und Biasse des neuronalen Netzes berechnen.
  • Der Speicher 112 kann des Weiteren einen Speicherumgebungs-Dämonprozess 1281 , 1282 ... 128m für jede der verschiedenen, in den Speichern 1061 , 1062 ... 106m vorhandenen Speicherumgebungen enthalten. Die Speicherumgebungs-Dämonprozesse 1281 , 1282 ... 128m weisen Programme oder Prozesse auf, um auf Daten für ihre jeweilige Speicherumgebung zuzugreifen und diese zu formatieren, und sie tauschen miteinander Daten aus, um Daten aus einer Speicherumgebung in eine andere zu übertragen. Des Weiteren kann jeder Speicherumgebungs-Dämonprozess 128i Programmkomponenten enthalten, um einen Datensatz in einem Datenformat für die Speicherumgebung i in ein Datenformat für eine andere Speicherumgebung j umzuwandeln, wie beispielsweise zwischen einem Blockspeicher oder einem Dateispeicher oder einem Objektspeicher oder einem CKD-Speicher usw., und er kann die Anwendungsprogrammierschnittstellen (APIs) enthalten, um Daten mit den Speichern auszutauschen, die für die von dem Dämonprozess 128i verwaltete Speicherumgebung i konfiguriert sind, wie beispielsweise Direct Connect, Transmission-Control-Protocol-(TCP-)/User-Datagram-Protocol-(UDP-)Übertragung, RESTful API (wie beispielsweise Amazon Simple Storage Service (S3)). (Amazon S3 und Amazon Simple Storage Service sind Servicenamen, Marken, eingetragene Marken oder Produktaufmachungen („trade dress“) von Amazon Web Services (AWS) in den Vereinigten Staaten und/oder anderen Ländern).
  • Der Migrationsmanager 114, die Migrationsengine 116, das Machine-Learning-Modul 118, die Regelengine 124 und die Dämonprozesse 1281 , 1282 ... 128m sind in 1 als Programmcode gezeigt, der in den Speicher 112 geladen und von dem Prozessor 110 ausgeführt wird. Alternativ können einige oder alle der Funktionen dieser Programme in Hardware-Einheiten in dem Speicherserver 100, wie beispielsweise in anwendungsspezifischen integrierten Schaltungen (ASICs, Application Specific Integrated Circuits), ausgeführt sein oder von getrennten dedizierten Prozessoren ausgeführt werden.
  • Die Speicher 1061 , 1062 ... 106m können in verschiedenen Arten oder Klassen von Speichereinheiten ausgeführt sein, wie beispielsweise Magnetfestplattenlaufwerken, Magnetbandspeicher, einer Solid-State-Speichereinheit (SSD, solid state storage device), die aus Solid-State-Elektronik besteht, einem EEPROM (Electrically Erasable Programmable Read-Only Memory bzw. elektrisch löschbarem programmierbarem Nur-Lese-Speicher), einem Flashspeicher, einer Flashplatte, einem Arbeitsspeicher-(Random-Access-Memory-(RAM-)Laufwerk, einem Storage-Class-Memory (SCM) usw., einem Phasenwechselspeicher (PCM, Phase Change Memory), einem Resistive Random Access Memory (RRAM), einem Spin Transfer Torque Memory (STM-RAM), einem Conductive Bridging RAM (CBRAM), einem Magnetfestplattenlaufwerk, einer optischen Platte, einem Band usw. Speicherarrays können des Weiteren konfigurierte Speicherbänke in den Speichereinheiten 1121 ... 112m sein, wie beispielsweise Just a Bunch of Disks (JBOD), eine Direct Access Storage Device (DASD), eine Redundant-Array-of-Independent-Disks-(RAID-)Anordnung, eine Virtualisierungseinheit usw. Des Weiteren können die Speichereinheiten, die die Speicher 1061 , 1062 ... 106m ausführen, heterogene Speichereinheiten von verschiedenen Herstellern sowie verschiedene Arten von Speichereinheiten aufweisen, wie beispielsweise eine erste Art von Speichereinheiten, z.B. Festplattenlaufwerke, die eine langsamere Datenübertragungsrate als eine zweite Art von Speichereinheiten, z.B. SSDs, haben.
  • Der Speicher 112 kann geeignete flüchtige oder nicht flüchtige Speichereinheiten, darunter die vorstehend beschriebenen, aufweisen.
  • 2 veranschaulicht eine Ausführungsform einer Instanz von Anwendungsmetadaten 200i in den Anwendungsmetadaten 200 für eine Anwendung 202, die eine der Anwendungen 102 aufweist, und enthält Datensatzinformationen 3001 , 3002 .... 300n für jeden der n Datensätze aus der Anwendung 202.
  • 3 veranschaulicht eine Ausführungsform einer Instanz von Datensatzinformationen (Metadaten) 300j für einen Datensatz 300j der Anwendung 202 und gibt einen Datensatznamen 302, einen Speicherpool 304, in dem der Datensatz 302 gespeichert ist, und Datenzugriffsinformationen 400k an, die über Attribute des Datenzugriffs in dem Datensatz verfügen. Verschiedene Datensätze für eine Anwendung können in Speicherpools in den Speichern 1061 , 1062 ... 106m gespeichert werden, welche in verschiedenen Speicherumgebungen oder in einer gleichen Speicherumgebung ausgeführt sein können.
  • 4 veranschaulicht eine Ausführungsform einer Instanz von Datenzugriffsinformationen 400k für einen Datensatz 300j in den Anwendungsmetadaten 200i für eine der Anwendungen 102 und enthält beispielhalber Attribute eines Datenzugriffs, wie beispielsweise E/A-Operationen pro Sekunde 402, die einen Durchschnitt der Anzahl von E/A-Operationen pro Sekunde für ein gemessenes Intervall wie beispielsweise ein Zeitraum-Intervall oder ein Anzahl-von-Operationen-Intervall wie etwa eine Anzahl von Start.Sub-Channel-(SSCH-)Operationen aufweisen können; eine Latenzzeit pro E/A-Operation 404, die einen Durchschnitt der Latenzzeit bei der Verarbeitung von E/A-Anforderungen für das gemessene Intervall aufweisen kann; eine Anzahl von E/A-Zeitlimitüberschreitungen 406 während des gemessenen Intervalls; einen Arbeitslasttyp 408 des Datenzugriffs, wie beispielsweise Transaktionsdatenbankoperationen, Anwendungsoperationen, kritische Operationen, Datenbankdatei-Operationen usw.; ein Datenzugriffsmuster 410, wie beispielsweise sequenziell oder wahlfrei; und eine Datensatzgröße 412 des Datensatzes 302. Zusätzliche Attribute eines Datenzugriffs können auch in den Datenzugriffsinformationen 400k verwaltet werden.
  • Die Anwendungsmetadaten-Informationen in den 2, 3 und 4 stellen Informationen über die von einer Anwendung verwendeten Datensätze, den Datensätzen zugewiesene Speicherpools, welche in verschiedenen Speicherumgebungen ausgeführt sein können, sowie die Datenzugriffsinformationen für jeden Datensatz bereit.
  • 5 veranschaulicht eine Ausführungsform einer Instanz von Speicherpool-Informationen 500i , die für jeden Speicherpool in den verschiedenen Speichern 1061 , 1062 ... 106m verwaltet werden, und enthält einen Speicher 502, in dem Speicherpools ausgeführt sind, wie beispielsweise einen der Speicher 1061 , 1062 ... 106m ; einen Speicherumgebungstyp, in dem der Speicher 502 konfiguriert ist, z.B. Dateispeicher, Blockspeicher, Objektspeicher, CKD-Speicher usw.; zugeordnete Speicherpools 506, die Speicherpools in dem Speicher 502 kennzeichnen, welche Datensätzen für die Anwendungen 102 zugeordnet sind; sowie freie Speicherpools 508, die für eine Zuordnung zur Verfügung stehen, um Datensätze für eine Anwendung 102 zu speichern.
  • 6a veranschaulicht eine Ausführungsform einer Instanz einer Regel 600i in dem Regelsatz 600 und enthält eine Zugriffsmusterklassifizierung 602, die eine Ausgabe 122 aus dem Machine-Learning-Modul 118 aufweist, sowie eine optimale Speicherumgebung 604 für die klassifizierte Zugriffsmusterklassifizierung.
  • 6b veranschaulicht ein Beispiel der in einer Tabelle 610 ausgeführten Regeln 600, wobei jede der Regeln 600i eine Zugriffsmusterklassifizierung 602 und eine entsprechende optimale Speicherumgebung 604 für die Zugriffsmusterklassifizierung 602 bereitstellt. Ein Administrator kann die Regeltabelle 610 aktualisieren, indem er Regeln löscht oder ändert oder neue optimale Speicherumgebungen für verschiedene Zugriffsmusterklassifizierungen hinzufügt.
  • In bestimmten Ausführungsformen kann die Zugriffsmusterklassifizierung 122 eine einzige Klassifizierung aufweisen. In weiteren Ausführungsformen kann die Zugriffsmusterklassifizierung eine Kombination aus mehreren Klassifizierungen, z.B. hoher Latenzzeit und großem Datensatz, aufweisen. In einem solchen Fall kann der Regelsatz 600 eine bestimmte optimale Speicherumgebung für eine Kombination aus Zugriffsmusterklassifizierungen bereitstellen. Wenn die ausgegebene Zugriffsmusterklassifizierung 122 eine Kombination aus Klassifizierungen aufweist und der Regelsatz 600 nur eine optimale Speicherumgebung 604 für lediglich eine Klassifizierung der Kombination bereitstellt, kann die Regelengine 124 die optimale Speicherumgebung für die eine Klassifizierung der Kombination als die optimale Speicherumgebung 126 ausgeben.
  • 7 veranschaulicht eine Ausführungsform von Operationen, die von den Speicherumgebungs-Dämonprozessen 1281 , 1282 ... 128m durchgeführt werden, um Datenzugriffsinformationen für ihre jeweilige Speicherumgebung zu erfassen. Der Speicherumgebungs-Dämonprozess 128i leitet (am Block 700) das Erfassen von E/A-Zugriffsinformationen für die Datensätze in einem in einer Speicherumgebung i ausgeführten Speicher 106i ein. Der Speicherumgebungs-Dämonprozess 128i kann die Datenzugriffsinformationen laufend erfassen, wenn er E/A-Anforderungen an die von dem Dämonprozess 128i verwalteten Speicher 106 verarbeitet. Für jeden E/A-Zugriff auf einen Datensatz in einem Speicher 106i in der Speicherumgebung i aktualisiert der Speicherumgebungs-Dämonprozess 128i (am Block 702) die E/A-Operationen pro Sekunde 402, die einen Durchschnitt aufweisen können; er aktualisiert den Durchschnitt der Latenzzeit pro E/A 404; und er aktualisiert E/A-Zeitlimitüberschreitungen 406, falls ein E/A-Zugriff zu einer Zeitlimitüberschreitung geführt hat. Der Dämonprozess 128i stellt (am Block 704) ein Zugriffsmuster für einen Datenzugriff fest, wie beispielsweise wahlfrei, sequenziell usw., und aktualisiert das Zugriffsmuster 410, um das festgestellte Datenzugriffsmuster anzugeben. Der Dämonprozess 128i stellt (am Block 706) einen Arbeitslasttyp für Anwendungszugriffe für einen Zeitraum fest, wie beispielsweise Datenbanktransaktionszugriff, Datenbankdateizugriff, Dateizugriff, Webzugriff usw., und aktualisiert den Arbeitslasttyp 408, um die festgestellte Arbeitslast anzugeben. Die Datensatzgröße 412 wird (am Block 708) nach einer Schreiboperation aktualisiert, die den Datensatz ändert.
  • Bei der Ausführungsform von 7 verwaltet jeder Dämonprozess 128i das Erfassen von Datenzugriffsinformationen für die Speichereinheiten in der von diesem Dämonprozess 128i verwalteten Speicherumgebung, um die Datenzugriffsinformationen nach dem Verarbeiten von E/A-Anforderungen, was ebenfalls durch den Dämonprozess 128i abgewickelt wird, laufend zu aktualisieren. Indem die Datenzugriffsinformationen laufend aktualisiert werden, verfügt der Migrationsmanager 114 über die aktuellsten Datenzugriffsinformationen zur Eingabe in das Machine-Learning-Modul 118, um eine Zugriffsmusterklassifizierung 122 zu erhalten, die aktuelle Betriebsbedingungen widerspiegelt.
  • 8 veranschaulicht eine Ausführungsform von Operationen, die von dem Migrationsmanager 114, dem Machine-Learning-Modul 118 und der Regelengine 124 durchgeführt werden, um festzustellen, ob ein Datensatz für eine Anwendung 102 und eine optimale Speicherumgebung für den Datensatz migriert werden sollen. Der Migrationsmanager 114 kann die Operationen durchführen, um festzustellen, ob ein Datensatz migriert werden soll, nachdem die Datenzugriffsinformationen 400k für den Datensatz 300j aktualisiert wurden, oder indem er die Anwendungsmetadaten 200i für eine Anwendung 102 in regelmäßigen Abständen verarbeitet, um festzustellen, ob Datensätze für die Anwendung 102 migriert werden sollen. Nach dem Einleiten (am Block 800) einer Operation, um festzustellen, ob ein Datensatz für eine Anwendung 102 migriert werden soll, stellt der Migrationsmanager 114 (am Block 802) eine Eingabe 120 für den Datensatz 300j aus Datenzugriffsinformationen 400k (z.B. E/A pro Sekunde, Latenzzeit pro E/A, E/A-Zeitlimitüberschreitungen, Arbeitslasttyp, Datenzugriffsmuster, Datensatzgröße) und anderen relevanten Informationen für das Feststellen der Zugriffsmusterklassifizierung fest, wie beispielsweise der Anwendung 202 oder dem Anwendungstyp, der den Datensatz verwendet. Der Migrationsmanager 114 stellt (am Block 804) die festgestellte Eingabe 120 (z.B. Datenzugriffsinformationen 400k ) dem Machine-Learning-Modul 118 bereit, um die eingegebenen Datenzugriffsinformationen 400k als eine Zugriffsmusterklassifizierung von einer Mehrzahl von Zugriffsmusterklassifizierungen 122 zu klassifizieren. Die festgestellte Zugriffsmusterklassifizierung 122 wird (am Block 806) an die Regelengine 124 gesendet, um den Regelsatz 600 anzuwenden, um aus der Zugriffsmusterklassifizierung 122 für den Datensatz eine optimale Speicherumgebung für den Datensatz festzustellen.
  • Die Regelengine 124 stellt (am Block 808) eine Regel 600i für die Zugriffsmusterklassifizierung 122 fest, wie beispielsweise im Feld 602, und gibt die in der festgestellten Regel 600i angegebene optimale Speicherumgebung 604 an den Migrationsmanager 114 zurück. Wenn der gerade betrachtete Datensatz 300j (am Block 810) aktuell in einem Speicherpool 304 in der optimalen Speicherumgebung gespeichert ist, d.h., die Speicherpool-Informationen 500i , die den festgestellten Speicherpool 304 in dem zugeordneten Speicherpool-Feld 506 kennzeichnen, haben als Speicherumgebungstyp 504 die optimale Speicherumgebung, dann endet die Steuerung, da der Datensatz bereits in der optimalen Speicherumgebung gespeichert ist. Wenn der Datensatz (am Block 810) aktuell nicht in der optimalen Speicherumgebung gespeichert ist, ruft der Migrationsmanager 114 (am Block 812) sodann den Dämonprozess 128S für die Quellenspeicherumgebung i auf, die den Datensatz aktuell speichert, um den Datensatz in die optimale Speicherumgebung zu migrieren.
  • Bei der Ausführungsform von 8 werden aktuelle Datenzugriffsinformationen, die E/A-Zugriffsperformanzinformationen in Bezug auf den Datensatz und Datensatzattribute betreffen, wie beispielsweise eine Datensatzgröße und ein Anwendungstyp, dem Machine-Learning-Modul 118 bereitgestellt, das einen Machine-Learning-Algorithmus verwendet, um eine Zugriffsmusterklassifizierung 122 festzustellen. Auf diese Weise beruht die Zugriffsmusterklassifizierung 122 auf den aktuellen Betriebsbedingungen und kann innerhalb eines Vertrauensgrades berechnet werden, um eine genaue Klassifizierung zu ermöglichen. Die Zugriffsklassifizierung 122 wird dann verwendet, um die optimale Speicherumgebung für den Datensatz aus einem Regelsatz 600 festzustellen, der verschiedene optimale Speicherumgebungen für verschiedene Datensatzklassifizierungen oder Kombinationen aus Klassifizierungen kennzeichnet. Ein Administrator kann den Regelsatz 600 laufend anpassen, um die Zuordnungen von Speicherumgebungen zu verschiedenen Zugriffsmusterklassifizierungen zu optimieren. Dadurch können zahlreiche Betriebsfaktoren und Datensatzmerkmale in Echtzeit betrachtet werden, um festzustellen, ob der Datensatz in eine optimalere und geeignetere Speicherumgebung für den Datensatz migriert werden soll.
  • In weiteren Ausführungsformen können andere Attribute als Eingabe 120 in das Machine-Learning-Modul 118 verwendet werden, um die Auswahl der optimalen Speicherumgebung zu optimieren, wie beispielsweise gesetzliche Bestimmungen, Geschäftsordnungen, die Ermittlung von Langzeittrends, Technologie-Aktualisierung (zum Beispiel Voll-Flash-Initiativen) und Modellierung; sowie physische Migration (d.h. Migration in ein anderes Rechenzentrum, nicht Migration zwischen den Tiers).
  • 9 veranschaulicht eine Ausführungsform von Operationen, die von einem Quellenspeicherumgebungs-Dämonprozess 128S durchgeführt werden, der aufgerufen wird, um einen in einem Speicher 106S gespeicherten Datensatz in eine Zielspeicherumgebung zu migrieren, die eine optimale Speicherumgebung für den Datensatz aufweist, welche von einem Zielspeicherumgebungs-Dämonprozess 128T verwaltet wird. Nachdem der Quellenspeicherumgebungs-Dämonprozess 128S (am Block 900) eine Anforderung für das Migrieren eines Datensatzes an eine Zielspeicherumgebung empfangen hat, liest der Dämonprozess 128S (am Block 902) den zu migrierenden Datensatz in einem Quellendatenformat in einem Quellenspeicher 106S und wandelt den Datensatz (am Block 904) in ein Zieldatenformat der (optimalen) Zielspeicherumgebung um. Der Dämonprozess 128S sendet den Datensatz in dem Zieldatenformat (am Block 906) zum Speichern an den Zielspeicherumgebungs-Dämonprozess 128T .
  • 10 veranschaulicht eine Ausführungsform von Operationen, die von dem Zielspeicherumgebungs-Dämonprozess 128T nach dem Empfang (am Block 1000) eines Datensatzes durchgeführt werden, der in einem Speicherpool in der Zielspeicherumgebung gespeichert werden soll, die einen aus einer Quellenspeicherumgebung migrierten Datensatz aufweisen kann. Der Dämonprozess 128T stellt (am Block 1002) einen verfügbaren Speicherpool in den freien Speicherpools 508 für den (optimalen) Zielspeicherumgebungstyp 504 fest. Der Dämonprozess 128T schreibt (am Block 1004) den empfangenen Datensatz in den festgestellten freien Speicherpool und aktualisiert (am Block 1006) den Speicherpool 304 für die Datensatz-Metadaten 300j für den empfangenen Datensatz, um den festgestellten freien Speicherpool in der (optimalen) Zielspeicherumgebung anzugeben. Der zugeordnete Speicherpool würde dann (am Block 1008) aus den freien Speicherpools 508 entfernt und in die zugeordneten Speicherpools 506 gestellt werden.
  • Bei der Ausführungsform der 9 und 10 verwalten die Speicherumgebungs-Dämonprozesse die Übertragung von Datensätzen aus einer Quellenspeicherumgebung an eine optimale Speicherumgebung, wobei jeder der Dämonprozesse alle notwendigen Funktionen und APIs enthält, um ein Zugreifen auf Daten in ihrer Speicherumgebung zu verwalten und um einen Datenaustausch mit anderen Speicherdämonprozessen sowie das Umwandeln eines Datensatzes in ein Datenformat einer Zielspeicherumgebung zu verwalten, in die gerade ein Datensatz migriert wird.
  • In der beschriebenen Ausführungsformen können die Variablen i, j, m, n usw., wenn sie mit verschiedenen Elementen verwendet werden, eine gleiche oder eine andere Instanz dieses Elements bezeichnen.
  • 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 durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel 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 Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Informationsverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Informationsverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Informationsverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Informationsverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme, welche die festgelegten Funktionen oder Schritte durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen, umgesetzt werden können.
  • Die Rechenkomponenten von 1, darunter der Speicherserver 100, die Hosts 104 und die Speicher 1061 , 1062 ... 106m , können in einem oder mehreren Computersystemen, wie beispielsweise dem in 11 gezeigten Computersystem 1102, ausgeführt sein. Das Computersystem/der Server 1102 kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen, wie beispielsweise Programmmodulen, die von einem Computersystem ausgeführt werden, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter umfassen, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen ausführen. Das Computersystem/der Server 1102 kann in verteilten Cloud-Computing-Umgebungen in die Praxis umgesetzt werden, in denen Aufgaben von fernen Verarbeitungseinheiten durchgeführt werden, die durch ein Übertragungsnetzwerk miteinander verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Speichermedien eines Computersystems, darunter Hauptspeichereinheiten, befinden.
  • Wie in 11 gezeigt ist, ist das Computersystem/der Server 1102 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/Servers 1102 können, ohne darauf beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 1104, ein Systemspeicher 1106 und ein Bus 1108 gehören, der verschiedene Systemkomponenten verbindet, darunter den Systemspeicher 1106 mit dem Prozessor 1104. Der Bus 1108 stellt eine oder mehrere von beliebigen Busstrukturen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder einen Speichercontroller, einen peripheren Bus, einen Accelerated Graphics Port und einen Prozessor- oder lokalen Bus, der beliebige einer Vielfalt an Busarchitekturen verwendet. Beispielhaft, und nicht als Einschränkung, gehören zu solchen Architekturen der Bus „Industry Standard Architecture (ISA)“, der Bus „Micro Channel Architecture (MCA)“, der Bus „Enhanced ISA (EISA)“, der lokale Bus „Video Electronics Standards Association (VESA)“ und der Bus „Peripheral Component Interconnects (PCI)“.
  • Das Computersystem/der Server 1102 enthält üblicherweise eine Vielfalt an Datenträgern, die durch ein Computersystem gelesen werden können. Solche Datenträger können jedwede verfügbaren Datenträger sein, auf die von dem Computersystem/Server 1102 zugegriffen werden kann, und zu ihnen gehören sowohl flüchtige und nicht flüchtige als auch austauschbare und nicht austauschbare Datenträger.
  • Zum Systemspeicher 1106 können durch ein Computersystem lesbare Datenträger in Form von flüchtigem Speicher, wie beispielsweise ein Direktzugriffsspeicher (RAM) 1110 und/oder ein Cache 1112, gehören. Das Computersystem/der Server 1102 kann des Weiteren weitere austauschbare/nicht austauschbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems enthalten. Lediglich als Beispiel kann das Speichersystem 1113 für das Lesen von und das Schreiben auf einen nicht austauschbaren, nicht flüchtigen Magnetdatenträger (nicht gezeigt und üblicherweise als „Festplattenlaufwerk“ bezeichnet) bereitgestellt werden. Obgleich nicht gezeigt, können ein Magnetplattenlaufwerk für das Lesen von und das Schreiben auf eine austauschbare, nicht flüchtige Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk für das Lesen von oder das Schreiben auf eine austauschbare, nicht flüchtige optische Platte, wie beispielsweise ein CD-ROM, DVD-ROM oder andere optische Datenträger, bereitgestellt werden. In diesen Fällen kann jeder Datenträger über eine oder mehrere Datenträgerschnittstellen mit dem Bus 1108 verbunden werden. Wie weiter dargestellt und nachstehend beschrieben wird, kann der Speicher 1106 mindestens ein Programmprodukt enthalten, das über einen Satz (z.B. zumindest einen) von Programmmodulen verfügt, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Das Programm/Dienstprogramm 1114, das über einen Satz (zumindest einen) von Programmmodulen 1116 verfügt, kann beispielhaft, und nicht als Einschränkung, im Speicher 1106 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination daraus können jeweils eine Ausführung einer Netzwerkumgebung umfassen. Die Komponenten des Computers 1102 können als Programmmodule 1116 ausgeführt sein, die im Allgemeinen die Funktionen und/oder die methodischen Vorgehensweisen von Ausführungsformen der Erfindung ausführen, wie hierin beschrieben ist. Die Systeme von 1 können in einem oder mehreren Computersystemen 1102 ausgeführt sein, wobei, wenn sie in mehreren Computersystemen 1102 ausgeführt sind, die Computersysteme dann über ein Netzwerk Daten austauschen können.
  • Das Computersystem/der Server 1102 kann auch mit einer oder mehreren externen Einheiten 1118 wie beispielsweise einer Tastatur, einer Zeigereinheit, einem Bildschirm 1120 usw.; mit einer oder mehreren Einheiten, die einem Benutzer den Dialogverkehr mit dem Computersystem/Server 1102 ermöglichen; und/oder beliebigen Einheiten (z.B. Netzkarte, Modem usw.), die dem Computersystem/Server 1102 den Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen, Daten austauschen. Ein solcher Datenaustausch kann über Eingabe-/Ausgabe-(E/A-)Schnittstellen 1122 erfolgen. Dennoch kann das Computersystem/der Server 1102 mit einem oder mehreren Netzwerken wie beispielsweise einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netz (z.B. dem Internet) über den Netzwerkadapter 1124 Daten austauschen. Wie dargestellt ist, tauscht der Netzwerkadapter 1124 mit den anderen Komponenten des Computersystems/Servers 1102 über den Bus 1108 Daten aus. Es sollte klar sein, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 1102 verwendet werden könnten, obgleich diese nicht gezeigt sind. Zu Beispielen gehören, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Plattenlaufwerken, RAID-Systeme, Bandlaufwerke sowie Speichersysteme zur Datenarchivierung usw.
  • Die Begriffe „eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“, „einige Ausführungsformen“ und „eine einzelne Ausführungsform“ bedeuten „eine oder mehrere (aber nicht alle) Ausführungsformen der vorliegenden Erfindung(en)“, soweit nicht ausdrücklich anders angegeben.
  • Die Begriffe „enthalten(d)“, „aufweisen(d)“, „verfügen(d) über“, „haben“ und Variationen hiervon bedeuten „einschließlich, ohne darauf beschränkt zu sein“, sofern nicht ausdrücklich anders angegeben.
  • Die Aufzählungsliste von Positionen bedeutet nicht, dass sich beliebige oder alle der Positionen gegenseitig ausschließen, sofern nicht ausdrücklich anders angegeben.
  • Die Begriffe „ein“, „eine“, „einer“ und „der“, „die“, „das“ bedeuten „ein(e) oder mehrere“, sofern nicht ausdrücklich anders angegeben.
  • Einheiten, die miteinander in Verbindung stehen, brauchen nicht ständig in Verbindung miteinander zu stehen, soweit nicht ausdrücklich anders angegeben. Ferner können Einheiten, die miteinander in Verbindung stehen, durch einen oder mehrere Vermittler Daten direkt oder indirekt austauschen.
  • Eine Beschreibung einer Ausführungsform mit mehreren Komponenten, die miteinander in Verbindung stehen, bedeutet nicht, dass alle diese Komponenten benötigt werden. Vielmehr wird eine Vielfalt an optionalen Komponenten beschrieben, um das breite Spektrum an möglichen Ausführungsformen der vorliegenden Erfindung zu veranschaulichen.
  • Wenn eine einzelne Einheit oder ein einzelner Artikel hierin beschrieben ist, ist ohne Weiteres ersichtlich, dass anstelle einer einzelnen Einheit/eines einzelnen Artikels mehr als eine Einheit/ein Artikel (ungeachtet dessen, ob sie zusammenarbeiten oder nicht) verwendet werden kann. Wenn mehr als eine Einheit oder mehr als ein Artikel hierin beschrieben ist (ungeachtet dessen, ob sie zusammenarbeiten oder nicht), ist ebenso ohne Weiteres ersichtlich, dass eine einzelne Einheit/ein einzelner Artikel anstelle der mehr als einen Einheit oder des mehr als einen Artikels verwendet werden kann oder dass anstelle der gezeigten Anzahl von Einheiten oder Programmen eine andere Anzahl von Einheiten/Artikeln verwendet werden kann. Die Funktionalität und/oder die Merkmale einer Einheit können alternativ durch eine oder mehrere andere Einheiten realisiert werden, die nicht ausdrücklich als über diese Funktionalität/Merkmale verfügend beschrieben sind. Folglich brauchen weitere Ausführungsformen der vorliegenden Erfindung die Einheit selbst nicht zu enthalten.
  • Die vorstehende Beschreibung von verschiedenen Ausführungsformen der Erfindung erfolgte zum Zweck der Veranschaulichung und Beschreibung. Sie soll weder erschöpfend sein noch die Erfindung auf die offenbarte genaue Form beschränken. Viele Änderungen und Varianten sind in Anbetracht der vorstehenden Lehre möglich. Der Umfang der Erfindung soll nicht durch diese ausführliche Beschreibung, sondern vielmehr durch die hier beigefügten Ansprüche eingeschränkt werden. Die vorstehende Spezifikation, die vorstehenden Beispiele und Daten stellen eine vollständige Beschreibung der Herstellung und Verwendung der Komposition der Erfindung dar. Da viele Ausführungsformen der Erfindung realisiert werden können, ohne vom Umfang der Erfindung abzuweichen, besteht die Erfindung in den nachfolgend beigefügten Ansprüchen.

Claims (26)

  1. Computerprogrammprodukt, um das Speichern von Datensätzen in einer Mehrzahl von Speicherumgebungen zu verwalten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das über darin realisierten, durch einen Computer lesbaren Programmcode verfügt, der, wenn er ausgeführt wird, Operationen durchführt, wobei die Operationen aufweisen: Verwalten von Metadaten für jede Anwendung, die Speicherpools angeben, welche von der Anwendung zum Speichern von Datensätzen verwendet werden, wobei jeder Speicherpool in einer von einer Mehrzahl von Speicherumgebungen konfiguriert ist, die verschiedene Organisationsschemata zum Speichern von Datensätzen verwenden, und wobei die Metadaten für mindestens eine Anwendung Speicherpools zum Speichern der Datensätze für die Anwendung angeben, die aus verschiedenen Speicherumgebungen zugeordnet werden; Verarbeiten der Metadaten für eine Anwendung, um einen Datensatz für die Anwendung festzustellen, der in einem in einer ersten Speicherumgebung ausgeführten ersten Speicherpool gespeichert ist und in einer zweiten Speicherumgebung gespeichert werden soll; und Migrieren des festgestellten Datensatzes aus dem ersten Speicherpool in einen in der zweiten Speicherumgebung ausgeführten zweiten Speicherpool.
  2. Computerprogrammprodukt nach Anspruch 1, wobei die Speicherumgebungen mindestens eine Mehrzahl von Speicherumgebungen umfassen, die aufweisen: Blockspeicher, Dateispeicher, Objektspeicher und CKD-Speicher.
  3. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren aufweisen: Aktualisieren der Metadaten für die Anwendung, um anzuzeigen, dass der festgestellte Datensatz in dem zweiten Speicherpool gespeichert ist.
  4. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren aufweisen: Bereitstellen eines ersten Dämonprozesses, um einen Zugriff auf einen ersten Speicher zu verwalten, der gemäß der ersten Speicherumgebung konfiguriert ist; Bereitstellen eines zweiten Dämonprozesses, um einen Zugriff auf einen zweiten Speicher zu verwalten, der gemäß der zweiten Speicherumgebung konfiguriert ist; wobei das Migrieren des dem ersten Speicherpool zugewiesenen Datensatzes in den zweiten Speicherpool aufweist: Lesen, durch den ersten Dämonprozess, des festgestellten Datensatzes aus dem ersten Speicherpool in dem ersten Speicher; Umwandeln, durch den ersten Dämonprozess, des festgestellten Datensatzes aus einem ersten Datenformat für die erste Speicherumgebung in ein zweites Datenformat für die zweite Speicherumgebung; und Senden des Datensatzes in dem zweiten Datenformat an den zweiten Dämonprozess, um ihn in den zweiten Speicher zu schreiben.
  5. Computerprogrammprodukt nach Anspruch 1, wobei die Operationen des Weiteren aufweisen: Erfassen von Datenzugriffsinformationen über Datenzugriffsmuster von Eingabe-/ Ausgabe-(E/A-)Zugriffen auf die in dem ersten und dem zweiten Speicherpool gespeicherten Datensätze für Anwendungen, wobei das Feststellen des Datensatzes in dem ersten Speicherpool, der in der zweiten Speicherumgebung gespeichert werden soll, feststellt, dass die für den Datensatz erfassten Datenzugriffsinformationen angeben, dass der Datensatz in der zweiten Speicherumgebung gespeichert werden soll.
  6. Computerprogrammprodukt nach Anspruch 5, wobei das Feststellen, dass die Datenzugriffsinformationen angeben, dass der festgestellte Datensatz in der zweiten Speicherumgebung gespeichert werden soll, aufweist: Bereitstellen, für ein Machine-Learning-Modul, der Datenzugriffsinformationen in den Metadaten für den Datensatz ; Klassifizieren, durch das Machine-Learning-Modul, der bereitgestellten Datenzugriffsinformationen in eine von einer Mehrzahl von Zugriffsmusterklassifizierungen; und Anwenden von Regeln, um aus einer Zugriffsmusterklassifizierung für den Datensatz eine optimale Speicherumgebung einer Mehrzahl von Speicherumgebungen festzustellen, in der der Datensatz gespeichert werden soll, wobei der festgestellte Datensatz als ein Datensatz klassifiziert wird, der eine Zugriffsmusterklassifizierung hat, wobei das Anwenden der Regeln feststellt, dass die zweite Speicherumgebung eine optimale Speicherumgebung für den Datensatz ist.
  7. Computerprogrammprodukt nach Anspruch 6, wobei die Operationen des Weiteren aufweisen: für jeden Datensatz, für den eine optimale Speicherumgebung festgestellt wird, Feststellen, ob der Datensatz in der festgestellten optimalen Speicherumgebung für den Datensatz gespeichert ist: und Migrieren eines jeden Datensatzes, der aktuell nicht in der festgestellten optimalen Speicherumgebung für den Datensatz gespeichert ist, in die festgestellte optimale Speicherumgebung für den Datensatz.
  8. Computerprogrammprodukt nach Anspruch 6, wobei das Klassifizieren der Datenzugriffsinformationen für den Datensatz von einem Machine-Learning-Algorithmus durchgeführt wird, der so trainiert ist, dass er eine der Zugriffsmusterklassifizierungen auf der Grundlage der Datenzugriffsinformationen für den Datensatz erzeugt.
  9. Computerprogrammprodukt nach Anspruch 6, wobei die Datenzugriffsinformationen, für verschiedene Datensätze, eine Mehrzahl von E/A-Operationen pro Sekunde, eine Latenzzeit bei Zugriffen, Zeitlimitüberschreitungen aufgrund von Latenzzeitverzögerungen, ein Datenzugriffsmuster, einen Arbeitslasttyp umfassen.
  10. Computerprogrammprodukt nach Anspruch 6, wobei die Speicherumgebungen einen Objektspeicher, einen Dateispeicher und einen Blockspeicher umfassen, wobei das Anwenden der Regeln, um die optimale Speicherumgebung für jeden Datensatz für die Anwendungen festzustellen, mindestens eine Mehrzahl von Regeln aufweist, die zu den Regeln gehören, welche aufweisen: Angeben der optimalen Speicherumgebung als Dateispeicher für den Datensatz als Reaktion auf das Feststellen, dass auf den Datensatz als Datei zugegriffen wird; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass eine Zugriffsmusterklassifizierung für den Datensatz ein Muster „wahlfreier Zugriff“ aufweist; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung für den Datensatz ein Muster „sequenzieller Zugriff“ aufweist; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung für den Datensatz ein Zugriffsmuster „viele Operationen pro Sekunde“ aufweist; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung für den Datensatz ein Zugriffsmuster „wenige Operationen pro Sekunde und intensive Nutzung der Verarbeitungseinheit“ aufweist; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung eine geringe Latenzzeit aufweist, wobei die geringe Latenzzeit bei Datenzugriffen auftritt, die einen Zugriff mit geringer Latenzzeit erfordern; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung eine hohe Latenzzeit und eine Datensatzgröße aufweist, die größer als ein Größenschwellenwert ist, wobei die hohe Latenzzeit bei Datenzugriffen auftritt, die eine hohe Latenzzeit tolerieren, ohne ein Zeitlimit zu überschreiten; Angeben der optimalen Speicherumgebung als Objektspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung Toleranz gegenüber einer hohen Latenzzeit und eine Datensatzgröße aufweist, die kleiner als ein Größenschwellenwert ist; Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung ein Transaktionsdatenbank-Zugriffsmuster aufweist; Angeben der optimalen Speicherumgebung als Dateispeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung ein Dateidatenbank-Zugriffsmuster aufweist; und Angeben der optimalen Speicherumgebung als Blockspeicher als Reaktion darauf, dass die Zugriffsmusterklassifizierung ein Webdatenbank-Zugriffsmuster aufweist.
  11. Computerprogrammprodukt, um das Speichern von Daten in einer Mehrzahl von Speicherumgebungen zu verwalten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das über darin realisierten, durch einen Computer lesbaren Programmcode verfügt, der, wenn er ausgeführt wird, Operationen durchführt, wobei die Operationen aufweisen: Bereitstellen, für eine Klassifizierungsengine, von Datenzugriffsinformationen für einen Datensatz, der in einem in einer aktuellen Speicherumgebung ausgeführten aktuellen Speicher gespeichert ist; Feststellen, durch die Klassifizierungsengine, einer Zugriffsmusterklassifizierung eines Satzes von Zugriffsmusterklassifizierungen aus den Datenzugriffsinformationen für den Datensatz; Verwenden der Zugriffsmusterklassifizierung, um eine optimale Speicherumgebung für den Datensatz festzustellen; und Verschieben des Datensatzes an einen in der optimalen Speicherumgebung ausgeführten Zielspeicher als Reaktion darauf, dass die aktuelle Speicherumgebung nicht die optimale Speicherumgebung aufweist.
  12. Computerprogrammprodukt nach Anspruch 11, wobei die Speicherumgebungen mindestens einen Dateispeicher, einen Blockspeicher und einen Objektspeicher aufweisen.
  13. Computerprogrammprodukt nach Anspruch 11, wobei die Datenzugriffsinformationen mindestens eine Mehrzahl von Zugriffsattributen umfassen, die E/A-Operationen pro Sekunde, eine Latenzzeit bei Zugriffen, Zeitlimitüberschreitungen aufgrund von Latenzzeitverzögerungen, ein Datenzugriffsmuster, einen Arbeitslasttyp aufweisen, wobei der Satz von Zugriffsmusterklassifizierungen mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von nur einem Zugriffsattribut und mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von mehreren der Zugriffsattribute umfasst.
  14. Computerprogrammprodukt nach Anspruch 11, wobei die Operationen des Weiteren aufweisen: Bereitstellen von Anwendungsmetadaten für Anwendungen, die über Datensätze verfügen, welche in Speichern in einer Speicherumgebung einer Mehrzahl von Speicherumgebungen gespeichert sind, wobei die Anwendungsmetadaten für eine Anwendung für jeden für die Anwendung gespeicherten Datensatz jeweils einen Speicherpool in einem der Speicher sowie die Datenzugriffsinformationen für den Datensatz angeben, wobei die Anwendungsmetadaten eine Mehrzahl von Datensätzen für die in Speichern in verschiedenen Speicherumgebungen gespeicherte Anwendung angeben.
  15. System, um das Speichern von Datensätzen in einer Mehrzahl von Speicherumgebungen zu verwalten, wobei das System aufweist: einen Prozessor; und ein durch einen Computer lesbares Speichermedium, das über durch einen Computer lesbaren Programmcode verfügt, der, wenn er von dem Prozessor ausgeführt wird, Operationen durchführt, wobei die Operationen aufweisen: Verwalten von Metadaten für jede Anwendung, die Speicherpools angeben, welche von der Anwendung zum Speichern von Datensätzen verwendet werden, wobei jeder Speicherpool in einer von einer Mehrzahl von Speicherumgebungen konfiguriert ist, die verschiedene Organisationsschemata zum Speichern von Datensätzen verwenden, und wobei die Metadaten für mindestens eine Anwendung Speicherpools zum Speichern der Datensätze für die Anwendung angeben, die aus verschiedenen Speicherumgebungen zugeordnet werden; Verarbeiten der Metadaten für eine Anwendung, um einen Datensatz für die Anwendung festzustellen, der in einem in einer ersten Speicherumgebung ausgeführten ersten Speicherpool gespeichert ist und in einer zweiten Speicherumgebung gespeichert werden soll; und Migrieren des festgestellten Datensatzes aus dem ersten Speicherpool in einen in der zweiten Speicherumgebung ausgeführten zweiten Speicherpool.
  16. System nach Anspruch 15, wobei die Operationen des Weiteren aufweisen: Bereitstellen eines ersten Dämonprozesses, um einen Zugriff auf einen ersten Speicher zu verwalten, der gemäß der ersten Speicherumgebung konfiguriert ist; Bereitstellen eines zweiten Dämonprozesses, um einen Zugriff auf einen zweiten Speicher zu verwalten, der gemäß der zweiten Speicherumgebung konfiguriert ist; wobei das Migrieren des dem ersten Speicherpool zugewiesenen Datensatzes in den zweiten Speicherpool aufweist: Lesen, durch den ersten Dämonprozess, des festgestellten Datensatzes aus dem ersten Speicherpool in dem ersten Speicher; Umwandeln, durch den ersten Dämonprozess, des festgestellten Datensatzes aus einem ersten Datenformat für die erste Speicherumgebung in ein zweites Datenformat für die zweite Speicherumgebung; und Senden des Datensatzes in dem zweiten Datenformat an den zweiten Dämonprozess, um ihn in den zweiten Speicher zu schreiben.
  17. System nach Anspruch 15, wobei die Operationen des Weiteren aufweisen: Erfassen von Datenzugriffsinformationen über Datenzugriffsmuster von Eingabe-/ Ausgabe-(E/A-)Zugriffen auf die in dem ersten und dem zweiten Speicherpool gespeicherten Datensätze für Anwendungen, das Feststellen des Datensatzes in dem ersten Speicherpool, der in der zweiten Speicherumgebung gespeichert werden soll, feststellt, dass die für den Datensatz erfassten Datenzugriffsinformationen angeben, dass der Datensatz in der zweiten Speicherumgebung gespeichert werden soll.
  18. System nach Anspruch 17, wobei das Feststellen, dass die Datenzugriffsinformationen angeben, dass der festgestellte Datensatz in der zweiten Speicherumgebung gespeichert werden soll, aufweist: Bereitstellen, für ein Machine-Learning-Modul, der Datenzugriffsinformationen in den Metadaten für den Datensatz; Klassifizieren, durch das Machine-Learning-Modul, der bereitgestellten Datenzugriffsinformationen in eine von einer Mehrzahl von Zugriffsmusterklassifizierungen; und Anwenden von Regeln, um aus einer Zugriffsmusterklassifizierung für den Datensatz eine optimale Speicherumgebung einer Mehrzahl von Speicherumgebungen festzustellen, in der der Datensatz gespeichert werden soll, wobei der festgestellte Datensatz als ein Datensatz klassifiziert wird, der eine Zugriffsmusterklassifizierung hat, wobei das Anwenden der Regeln feststellt, dass die zweite Speicherumgebung eine optimale Speicherumgebung für den Datensatz ist.
  19. System, um das Speichern von Daten in einer Mehrzahl von Speicherumgebungen zu verwalten, wobei das System aufweist: einen Prozessor; und ein durch einen Computer lesbares Speichermedium, das über durch einen Computer lesbaren Programmcode verfügt, der, wenn er von dem Prozessor ausgeführt wird, Operationen durchführt, wobei die Operationen aufweisen: Bereitstellen, für eine Klassifizierungsengine, von Datenzugriffsinformationen für einen Datensatz, der in einem aktuellen Speicher gespeichert ist, welcher in einer aktuellen Speicherumgebung ausgeführt ist; Feststellen, durch die Klassifizierungsengine, einer Zugriffsmusterklassifizierung eines Satzes von Zugriffsmusterklassifizierungen aus den Datenzugriffsinformationen für den Datensatz; Verwenden der Zugriffsmusterklassifizierung, um eine optimale Speicherumgebung für den Datensatz festzustellen; und Verschieben des Datensatzes an einen in der optimalen Speicherumgebung ausgeführten Zielspeicher als Reaktion darauf, dass die aktuelle Speicherumgebung nicht die optimale Speicherumgebung aufweist.
  20. System nach Anspruch 19, wobei die Datenzugriffsinformationen mindestens eine Mehrzahl von Zugriffsattributen umfassen, die E/A-Operationen pro Sekunde, eine Latenzzeit bei Zugriffen, Zeitlimitüberschreitungen aufgrund von Latenzzeitverzögerungen, ein Datenzugriffsmuster, einen Arbeitslasttyp aufweisen, wobei der Satz von Zugriffsmusterklassifizierungen mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von nur einem Zugriffsattribut und mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von mehreren der Zugriffsattribute umfasst.
  21. Verfahren, um das Speichern von Datensätzen in einer Mehrzahl von Speicherumgebungen zu verwalten, wobei das Verfahren aufweist: Verwalten von Metadaten für jede Anwendung, die Speicherpools angeben, welche von der Anwendung zum Speichern von Datensätzen verwendet werden, wobei jeder Speicherpool in einer von einer Mehrzahl von Speicherumgebungen konfiguriert ist, die verschiedene Organisationsschemata zum Speichern von Datensätzen verwenden, und wobei die Metadaten für mindestens eine Anwendung Speicherpools zum Speichern der Datensätze für die Anwendung angeben, die aus verschiedenen Speicherumgebungen zugeordnet werden; Verarbeiten der Metadaten für eine Anwendung, um einen Datensatz für die Anwendung festzustellen, der in einem in einer ersten Speicherumgebung ausgeführten ersten Speicherpool gespeichert ist und in einer zweiten Speicherumgebung gespeichert werden soll; und Migrieren des festgestellten Datensatzes aus dem ersten Speicherpool in einen in der zweiten Speicherumgebung ausgeführten zweiten Speicherpool.
  22. Verfahren nach Anspruch 21, das des Weiteren umfasst: Bereitstellen eines ersten Dämonprozesses, um einen Zugriff auf einen ersten Speicher zu verwalten, der gemäß der ersten Speicherumgebung konfiguriert ist; Bereitstellen eines zweiten Dämonprozesses, um einen Zugriff auf einen zweiten Speicher zu verwalten, der gemäß der zweiten Speicherumgebung konfiguriert ist; wobei das Migrieren des dem ersten Speicherpool zugewiesenen Datensatzes in den zweiten Speicherpool aufweist: Lesen, durch den ersten Dämonprozess, des festgestellten Datensatzes aus dem ersten Speicherpool in dem ersten Speicher; Umwandeln, durch den ersten Dämonprozess, des festgestellten Datensatzes aus einem ersten Datenformat für die erste Speicherumgebung in ein zweites Datenformat für die zweite Speicherumgebung; und Senden des Datensatzes in dem zweiten Datenformat an den zweiten Dämonprozess, um ihn in den zweiten Speicher zu schreiben.
  23. Verfahren nach Anspruch 21, das des Weiteren umfasst: Erfassen von Datenzugriffsinformationen über Datenzugriffsmuster von Eingabe-/ Ausgabe-(E/A-)Zugriffen auf die in dem ersten und dem zweiten Speicherpool gespeicherten Datensätze für Anwendungen, das Feststellen eines Datensatzes in dem ersten Speicherpool, der in der zweiten Speicherumgebung gespeichert werden soll, feststellt, dass die für den Datensatz erfassten Datenzugriffsinformationen angeben, dass der Datensatz in der zweiten Speicherumgebung gespeichert werden soll.
  24. Verfahren nach Anspruch 23, wobei das Feststellen, dass die Datenzugriffsinformationen angeben, dass der festgestellte Datensatz in der zweiten Speicherumgebung gespeichert werden soll, aufweist: Bereitstellen, für ein Machine-Learning-Modul, der Datenzugriffsinformationen in den Metadaten für den Datensatz; Klassifizieren, durch das Machine-Learning-Modul, der bereitgestellten Datenzugriffsinformationen in eine von einer Mehrzahl von Zugriffsmusterklassifizierungen; und Anwenden von Regeln, um aus einer Zugriffsmusterklassifizierung für den Datensatz eine optimale Speicherumgebung einer Mehrzahl von Speicherumgebungen festzustellen, in der der Datensatz gespeichert werden soll, wobei der festgestellte Datensatz als ein Datensatz klassifiziert wird, der eine Zugriffsmusterklassifizierung hat, wobei das Anwenden der Regeln feststellt, dass die zweite Speicherumgebung eine optimale Speicherumgebung für den Datensatz ist.
  25. Verfahren nach Anspruch 21, wobei das Verarbeiten der Metadaten für die Anwendung, um den in dem ersten Speicherpool in der ersten Speicherumgebung gespeicherten Datensatz festzustellen, der in der zweiten Speicherumgebung gespeichert werden soll, aufweist: Bereitstellen von Datenzugriffsinformationen in den Metadaten für einen Datensatz, der in einem in einer aktuellen Speicherumgebung ausgeführten aktuellen Speicher gespeichert ist, für eine Klassifizierungsengine; Feststellen, durch die Klassifizierungsengine, einer Zugriffsmusterklassifizierung eines Satzes von Zugriffsmusterklassifizierungen aus den Datenzugriffsinformationen für den Datensatz; und Verwenden der Zugriffsmusterklassifizierung, um eine optimale Speicherumgebung für den Datensatz festzustellen, welche die zweite Speicherumgebung aufweist.
  26. Verfahren nach Anspruch 25, wobei die Datenzugriffsinformationen mindestens eine Mehrzahl von Zugriffsattributen umfassen, die E/A-Operationen pro Sekunde, eine Latenzzeit bei Zugriffen, Zeitlimitüberschreitungen aufgrund von Latenzzeitverzögerungen, ein Datenzugriffsmuster, einen Arbeitslasttyp aufweisen, wobei der Satz von Zugriffsmusterklassifizierungen mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von nur einem Zugriffsattribut und mindestens eine Zugriffsmusterklassifizierung auf der Grundlage von mehreren der Zugriffsattribute umfasst.
DE112019002948.7T 2018-07-10 2019-07-10 Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen Pending DE112019002948T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/031,654 2018-07-10
US16/031,654 US11119654B2 (en) 2018-07-10 2018-07-10 Determining an optimal storage environment for data sets and for migrating data sets
PCT/IB2019/055881 WO2020012380A1 (en) 2018-07-10 2019-07-10 Determining an optimal storage environment for data sets and for migrating data sets

Publications (1)

Publication Number Publication Date
DE112019002948T5 true DE112019002948T5 (de) 2021-03-18

Family

ID=69140166

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019002948.7T Pending DE112019002948T5 (de) 2018-07-10 2019-07-10 Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen

Country Status (5)

Country Link
US (1) US11119654B2 (de)
JP (1) JP2021531557A (de)
CN (1) CN112368673A (de)
DE (1) DE112019002948T5 (de)
WO (1) WO2020012380A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977081B2 (en) * 2019-02-20 2021-04-13 International Business Machines Corporation Context aware container management
RU2747514C2 (ru) * 2019-06-28 2021-05-06 Акционерное общество "Лаборатория Касперского" Система и способ категоризации приложения на вычислительном устройстве
CN112149122A (zh) * 2019-06-28 2020-12-29 卡巴斯基实验室股份制公司 对计算设备上的应用进行分类的系统和方法
US11709740B2 (en) * 2019-07-18 2023-07-25 EMC IP Holding Company LLC Automatically determining optimal storage medium based on source data characteristics
CN111880747B (zh) * 2020-08-01 2022-11-08 广西大学 一种基于分级映射的Ceph存储系统自动均衡存储方法
US11520568B2 (en) * 2020-09-30 2022-12-06 Jpmorgan Chase Bank, N.A. Method and system for development and tracking of dynamic data lineage
US11880595B2 (en) * 2020-11-06 2024-01-23 Micron Technology, Inc. Memory cell access techniques for memory systems
US11347410B1 (en) * 2021-02-13 2022-05-31 International Business Machines Corporation Automatically recreating lost storage volumes
CN113220555B (zh) * 2021-05-18 2023-10-20 北京百度网讯科技有限公司 用于处理数据的方法、装置、设备、介质和产品
US20220391137A1 (en) * 2021-06-04 2022-12-08 EMC IP Holding Company, LLC System and Method for Storage Optimization using Machine Learning-driven Application and Workload Identification
US20230061948A1 (en) * 2021-08-26 2023-03-02 EMC IP Holding Company LLC Based on io pattern influence nfit table for persistence for scm firmware
CN113741918A (zh) * 2021-09-10 2021-12-03 安超云软件有限公司 云上应用部署的方法及应用
US11934255B2 (en) 2022-01-04 2024-03-19 Bank Of America Corporation System and method for improving memory resource allocations in database blocks for executing tasks
CN114995772B (zh) * 2022-08-08 2022-10-21 南京三百云信息科技有限公司 客户数据迁移存储方法及装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015407A1 (en) * 2003-07-17 2005-01-20 International Business Machines Corporation System and method of relational configuration mirroring
WO2005103878A2 (en) * 2004-04-26 2005-11-03 Storewiz, Inc. Method and system for compression of files for storage and operation on compressed files
JP4643395B2 (ja) * 2004-08-30 2011-03-02 株式会社日立製作所 ストレージシステム及びデータの移動方法
US7395396B2 (en) * 2004-08-30 2008-07-01 Hitachi, Ltd. Storage system and data relocation control device
US7533230B2 (en) 2004-10-13 2009-05-12 Hewlett-Packard Developmetn Company, L.P. Transparent migration of files among various types of storage volumes based on file access properties
US7398264B2 (en) 2005-01-17 2008-07-08 Oracle International Corporation Simplifying movement of data to different desired storage portions depending on the state of the corresponding transaction
JP4574408B2 (ja) * 2005-03-24 2010-11-04 株式会社日立製作所 記憶装置システムの制御技術
US20060288155A1 (en) * 2005-06-03 2006-12-21 Seagate Technology Llc Storage-centric computer system
US20070050569A1 (en) * 2005-09-01 2007-03-01 Nils Haustein Data management system and method
US8364638B2 (en) * 2005-09-15 2013-01-29 Ca, Inc. Automated filer technique for use in virtualized appliances and applications
JP4887955B2 (ja) 2006-07-21 2012-02-29 日本電気株式会社 データ配置管理システム及び方法とプログラム
US8230123B2 (en) * 2010-08-23 2012-07-24 International Business Machines Corporation Using information on input/output (I/O) sizes of accesses to an extent to determine a type of storage device for the extent
US8706962B2 (en) 2012-01-27 2014-04-22 International Business Machines Corporation Multi-tier storage system configuration adviser
CA2877284A1 (en) * 2012-06-18 2013-12-27 Actifio, Inc. Enhanced data management virtualization system
US20140297697A1 (en) 2012-07-11 2014-10-02 Hitachi, Ltd. Database system and database management method
US9417997B1 (en) 2012-09-28 2016-08-16 Emc Corporation Automated policy based scheduling and placement of storage resources
WO2014147786A1 (ja) * 2013-03-21 2014-09-25 株式会社日立製作所 ストレージシステム及びデータ管理方法
JP6065695B2 (ja) * 2013-03-26 2017-01-25 富士通株式会社 ストレージ制御方法、ストレージシステム、およびストレージ制御プログラム
US9313263B2 (en) 2013-12-16 2016-04-12 Vmware, Inc. Assignment of applications in a virtual machine environment based on data access pattern
JP6171084B2 (ja) * 2014-03-27 2017-07-26 株式会社日立製作所 ストレージシステム
US10425480B2 (en) 2014-06-26 2019-09-24 Hitachi Vantara Corporation Service plan tiering, protection, and rehydration strategies
WO2016013075A1 (ja) 2014-07-23 2016-01-28 株式会社日立製作所 ストレージ、計算機およびその制御方法
CN104298541A (zh) * 2014-10-22 2015-01-21 浪潮(北京)电子信息产业有限公司 云存储系统的数据分布算法及其装置
US9952782B1 (en) 2014-12-30 2018-04-24 Nutanix, Inc. Method and system for accessing data between different virtual disk formats in a virtualization environment
US10684876B2 (en) 2015-05-14 2020-06-16 Netapp, Inc. Migration of virtual machine data using native data paths
CN106570093B (zh) * 2016-10-24 2020-03-27 南京中新赛克科技有限责任公司 一种基于独立元数据组织结构的海量数据迁移方法和装置
US10956051B2 (en) * 2016-10-31 2021-03-23 Oracle International Corporation Data-packed storage containers for streamlined access and migration
US9852377B1 (en) 2016-11-10 2017-12-26 Dropbox, Inc. Providing intelligent storage location suggestions
US20180373722A1 (en) * 2017-06-26 2018-12-27 Acronis International Gmbh System and method for data classification using machine learning during archiving
CN107450855B (zh) * 2017-08-08 2020-06-19 浪潮云信息技术有限公司 一种用于分布式存储的模型可变的数据分布方法及系统
CN107967170B (zh) * 2017-11-30 2020-11-10 深圳先进技术研究院 迁移计算方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US11119654B2 (en) 2021-09-14
CN112368673A (zh) 2021-02-12
US20200019311A1 (en) 2020-01-16
JP2021531557A (ja) 2021-11-18
WO2020012380A1 (en) 2020-01-16

Similar Documents

Publication Publication Date Title
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE112011101109B4 (de) Übertragung von Map/Reduce-Daten auf der Grundlage eines Speichernetzwerkes oder eines Speichernetzwerk-Dateisystems
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE60128200T2 (de) Methode und System für skalierbare, hochperformante hierarchische Speicherverwaltung
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112010004187T5 (de) Verfahren und System zum Verarbeiten von Netzwerkereignissen
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE112018003081T5 (de) Optimieren von benutzerzufriedenheit beim schulen eines kognitiven hierarchischen speicherverwaltungssystems
DE112014004794T5 (de) Zuteilen von Kartenabgleichaufgaben durch Cluster-Server im Internet der Fahrzeuge
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE112018003524T5 (de) Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE112013000650T5 (de) Datenzwischenspeicherungsbereich
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112021002820T5 (de) Dynamische automatisierung einer auswahl von pipeline-artefakten
DE112018000456T5 (de) Verwalten von umfangreichen Zuordnungsgruppen unter Verwendung von optimierten Bitmap-Darstellungen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE112019005392T5 (de) Steigern von datenleistung durch transferieren von daten zwischen speicherebenen unter verwendung von arbeitslastmerkmalen
DE112018000900T5 (de) Verarbeiten eines Befehls zum Freigeben von Speicherplatz in einem Computersystem
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE112021002883T5 (de) Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R081 Change of applicant/patentee

Owner name: KYNDRYL, INC., NEW YORK, US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US