DE102014111571A1 - Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem - Google Patents

Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem Download PDF

Info

Publication number
DE102014111571A1
DE102014111571A1 DE201410111571 DE102014111571A DE102014111571A1 DE 102014111571 A1 DE102014111571 A1 DE 102014111571A1 DE 201410111571 DE201410111571 DE 201410111571 DE 102014111571 A DE102014111571 A DE 102014111571A DE 102014111571 A1 DE102014111571 A1 DE 102014111571A1
Authority
DE
Germany
Prior art keywords
data object
data
ranking
objects
storage
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
DE201410111571
Other languages
English (en)
Inventor
Emil-Oskar Gemes
Joerg Weyerhaeuser
Andreas Krause
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014111571A1 publication Critical patent/DE102014111571A1/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • 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/0608Saving storage space on 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0643Management of files
    • 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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein verbessertes Speichersystem weist einen Speicherpool (200) mit mindestens einem Speichermedium (210, 220, 230) und einer Speicherverwaltung auf, wobei die Speicherverwaltung ein empfangenes neues Datenobjekt in dem mindestens einen Speichermedium (210, 220, 230) des Speicherpools (200) speichert; wobei die Speicherverwaltung eine Analyseeinheit (300) aufweist, die das neue Datenobjekt auf der Grundlage von Inhalt des neuen Datenobjekts analysiert; wobei die Analyseeinheit (300) eine Klassifizierungskomponente (310) aufweist, die das neue Datenobjekt in vordefinierte Datenobjekttyp-Klassen (312, 314, 316, 318) einordnet; eine Gruppierungskomponente (320), die einen datenobjektspezifischen Gruppierungsvektor für das neue Datenobjekt erzeugt, der mindestens einen inhaltsbezogenen Skalar aufweist, und die Datenobjekte einer entsprechenden Datenobjekttyp-Klasse (312, 314, 316, 318) auf der Grundlage von entsprechenden Gruppierungsvektoren der Datenobjekte in verschiedenen Datenobjektgruppen (322, 324, 326) zusammenfasst; sowie eine Ranking-Komponente (330), welche die Datenobjekte einer entsprechenden Datenobjektgruppe (322, 324, 326) auf der Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe (322, 324, 326) aufweist, entsprechend ihrer Rangfolge ordnet.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet der Datenspeicherverwaltung und im Besonderen auf ein Speichersystem und ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem. Die vorliegende Erfindung bezieht sich weiterhin im Besonderen auf ein Datenverarbeitungsprogramm und ein Computerprogrammprodukt zum Verwalten eines Datenobjektspeichers in einem Speichersystem.
  • Beschreibung der verwandten Technik
  • Die Menge an digital gespeicherten Daten steigt dramatisch an. Jüngste Studien gehen davon aus, dass die Datenmenge in den kommenden zehn Jahren um das ca. 40-Fache anwachsen wird. Parallel hierzu steigt auch die Speicherkapazität der von der Industrie angebotenen Speichersysteme, wobei Überlegungen, die gespeicherten Daten den Benutzern über einen längeren Zeitraum, z.B. mehrere Jahrzehnte, hinweg bereitzustellen, auf beträchtliche Probleme stoßen, wie beispielsweise eine begrenzte Lebensdauer der Speichersysteme (sieben bis zehn Jahre), ein erheblicher Zeitaufwand für eine Datenmigration (z.B. rund drei Jahre für ein gegenwärtiges 14-PB-Speichersystem), mögliche Technologieänderungen in der Zukunft usw.
  • Aufgrund der inhärenten Möglichkeit von Bit-Flip-Fehlern stoßen gegenwärtige Technologien wie Magnetspeicher, optische Speicher und SSD-Speicher an physische Grenzen.
  • Der Stand der Technik offenbart Verfahren, mit denen die Menge an gespeicherten Daten mittels Datenkomprimierung und Datendeduplizierung verringert wird. Während des Deduplizierungsprozesses werden Datenobjekte in Chunks einer festen oder variablen Größe unterteilt, und redundante Daten innerhalb eines Speicherpools werden identifiziert und entfernt, so dass jeder Chunk nur ein einziges Mal gespeichert wird. Dies findet auf Blockebene oder auf einer höheren Ebene statt. Wenn ein solches Chunking auf der Grundlage einer Datei erfolgt, steht ein Chunk für eine Datei. Wenn ein Chunking auf der Grundlage eines Blocks erfolgt, wird ein Datenobjekt in Blöcke aufgeteilt. In beiden Fällen werden exakte Übereinstimmungen durch einen Deduplizierungsalgorithmus identifiziert. Doppelt vorhandene Daten werden unter Verwendung von Zeigern auf das identische Muster entfernt.
  • Bezugnehmend auf 1, die den Grundsatz einer Datendeduplizierung eines Speichersystems 1 nach dem Stand der Technik zeigt, wird ein Datenobjekt 3 oder ein Datenstrom einer Deduplizierung unterzogen. Das Datenobjekt 3 wird durch eine Chunking-Einheit 10 in Chunks A, B, C, D, E, F einer festen oder variablen Größe unterteilt, und für jeden Chunk wird ein Identitätszeichen ermittelt. Eine Deduplizierungseinheit 20 ermittelt doppelt vorhandene Chunks A, F, D, indem sie z.B. anhand eines Verweiszeigers auf identische Chunks verweist. Die Deduplizierungseinheit 20 speichert nicht identische Chunks A, B, C, D, E, F oder einzelne Instanzen in einer Speicherkomponente 30. Zusätzlich kann eine Datenkomprimierung durchgeführt werden.
  • 2 zeigt den Grundsatz einer Deduplizierung nach dem Stand der Technik. Mit Blick auf 2 weist ein erstes Datenobjekt 3A zwölf identische Chunks 12A auf, ein zweites Datenobjekt 3B weist neun identische Daten-Chunks 12B auf, und ein drittes Datenobjekt 3C weist zehn identische Chunks 12C auf. Redundante Chunks 12A, 12B, 12C werden identifiziert und durch geeignete Zeiger ersetzt, wobei jeder Chunk 12A, 12B, 12C nur ein einziges Mal gespeichert wird. Doppelt vorhandene Daten werden unter Verwendung von Zeigern auf das identische Muster 12A, 12B, 12C entfernt.
  • 3 zeigt Technologie für eine Datenkomprimierung nach dem Stand der Technik. Bezugnehmend auf 3 weist ein Datenstrom 5A, der von mindestens einem Benutzer 7 über ein Netzwerk 2 an ein Speichersystem 1 übertragen wird, vier Bit-Ströme auf, von denen zwei Bit-Ströme identisch sind. Eine Komprimierungseinheit 40 beseitigt identische Daten in dem Datenstrom 5A und gibt über einen Cache-Speicher 32 einen komprimierten Datenstrom 5B an eine Speicherkomponente 30 aus. Der Grundsatz einer Komprimierung ist identisch mit demjenigen einer Deduplizierung. Der Speicherbedarf ist hier allerdings auf den Datenstrom 5A begrenzt, und es werden keine Verweise auf den gesamten Speicher verwendet. Darüber hinaus gibt die Speicherkomponente 30 den komprimierten Datenstrom 5B über den Cache-Speicher 32 an die Komprimierungseinheit 40 aus, die den komprimierten Datenstrom 5B dekomprimiert und über das Netzwerk 2 einen dekomprimierten Datenstrom 5C an den anfordernden Benutzer 7 ausgibt.
  • Die beiden oben genannten Technologien sind für sich genommen jedoch nicht in der Lage, das beschriebene dramatische Wachstum an digital gespeicherten Daten auf lange Sicht zu bewältigen. Dazu kommt, dass sich die Technologie nach dem Stand der Technik ausschließlich auf eine Datenreduzierung konzentriert. Sie stellt keine Möglichkeit bereit, hochwertige bzw. geringwertige Daten zu identifizieren.
  • Zusammenfassung der Erfindung
  • Die der vorliegenden Erfindung zugrundeliegende technische Aufgabenstellung besteht darin, ein Speichersystem und ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem bereitzustellen, das in der Lage ist, die Verwaltung eines Datenobjektspeichers zu verbessern, indem hochwertige Daten beibehalten und redundante Daten sowie geringwertige Daten beseitigt werden und somit die oben erwähnten Nachteile und Schwachstellen des Verwaltens eines Datenobjektspeichers in einem Speichersystem nach dem Stand der Technik zu beheben.
  • Gemäß der vorliegenden Erfindung wird diese Aufgabenstellung gelöst, indem ein Speichersystem mit den Merkmalen nach Anspruch 1, ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem mit den Merkmalen nach Anspruch 6, ein Datenverarbeitungsprogramm zum Verwalten eines Datenobjektspeichers in einem Speichersystem mit den Merkmalen nach Anspruch 14 und ein Computerprogrammprodukt zum Verwalten eines Datenobjektspeichers in einem Speichersystem mit den Merkmalen nach Anspruch 15 bereitgestellt werden. Vorteilhafte Ausführungsformen der vorliegenden Erfindung werden in den Unteransprüchen erwähnt.
  • Entsprechend weist bei einer Ausführungsform der vorliegenden Erfindung ein Speichersystem einen Speicherpool mit mindestens einem Speichermedium und einer Speicherverwaltung auf. Die Speicherverwaltung speichert ein empfangenes neues Datenobjekt in dem mindestens einen Speichermedium des Speicherpools. Die Speicherverwaltung weist eine Analyseeinheit auf, die das neue Datenobjekt auf der Grundlage von Inhalt des neuen Datenobjekts analysiert. Die Analyseeinheit weist eine Klassifizierungskomponente auf, die das neue Datenobjekt in vordefinierte Datenobjekttyp-Klassen einordnet; eine Gruppierungskomponente, die einen datenobjektspezifischen Gruppierungsvektor für das neue Datenobjekt erzeugt, der mindestens einen inhaltsbezogenen Skalar aufweist, und Datenobjekte einer entsprechenden Datenobjekttyp-Klasse auf der Grundlage von entsprechenden Gruppierungsvektoren der Datenobjekte in verschiedenen Datenobjektgruppen zusammenfasst; sowie eine Ranking-Komponente, welche die Datenobjekte einer entsprechenden Datenobjektgruppe auf der Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe aufweist, entsprechend ihrer Rangfolge ordnet.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung verwendet die Speicherverwaltungseinheit die Ranking-Ergebnisse, um für jedes Datenobjekt der entsprechenden Datenobjektgruppe verschiedene Migrationsrichtlinien durchzuführen.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung weist die Speicherverwaltungseinheit jedes Speichermedium auf der Grundlage einer Leistungsgüte des mindestens einen Speichermediums mindestens einer Rangstufe einer entsprechenden Datenobjektgruppe zu.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung verschiebt die Speicherverwaltungseinheit Datenobjekte mit einem Einordnen (ranking) über einem bestimmten ersten Schwellenwert in ein Speichermedium mit einer höchsten Leistungsgüte und Datenobjekte mit niedrigerem Einordnen (ranking) in ein Speichermedium mit niedrigerer Leistungsgüte.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung kennzeichnet die Speicherverwaltungseinheit Datenobjekte mit einem Einordnen (ranking) unter einem bestimmten zweiten Schwellenwert für eine Löschung.
  • Bei einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem, das einen Speicherpool mit mindestens einem Speichermedium und einer Speicherverwaltungseinheit aufweist, wobei ein empfangenes neues Datenobjekt in dem mindestens einen Speichermedium des Speicherpools gespeichert wird, die folgenden Schritte auf: Benachrichtigen einer Analyseeinheit der Speicherverwaltungseinheit über ein neues Datenobjekt, das in dem Speichersystem gespeichert werden soll, und Starten eines Analyseprozesses des neuen Datenobjekts auf der Grundlage von Inhalt des neuen Datenobjekts; Einordnen des neuen Datenobjekts in vordefinierte Klassen von Datenobjekttypen; Erzeugen eines datenobjektspezifischen Gruppierungsvektors für das neue Datenobjekt, der mindestens einen inhaltsbezogenen Skalar aufweist, um Datenobjekte einer entsprechenden Datenobjekttyp-Klasse auf der Grundlage entsprechender Gruppierungsvektoren der Datenobjekte in verschiedenen Datenobjektgruppen zusammenzufassen; und der Rangfolge entsprechendes Ordnen der Datenobjekte einer entsprechenden Datenobjektgruppe auf der Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe aufweist.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung wird ein Datenobjekttyp ermittelt, indem während des Klassifizierungsprozesses des neuen Datenobjekts eine Datenobjekterweiterung analysiert wird.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung wird während des Gruppierens der Datenobjekte einer entsprechenden Datenobjekttyp-Klasse ein Teilabgleichsgrundsatz auf entsprechende datenobjektspezifische Gruppierungsvektoren angewendet, der einen Schwellenwert zum Abgleichen des mindestens einen inhaltsbezogenen Skalars eines jeden Datenobjekts definiert, das zu derselben Datenobjektgruppe gehört.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung werden bei dem Teilableichsgrundsatz variable und benutzerdefinierte Abgleichungsparameter verwendet, um zu ermitteln, ob zwei Datenobjekte zu derselben Datenobjektgruppe gehören.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung stellt der mindestens eine Qualitätsskalar der datenobjektspezifischen Ranking-Vektoren ein Qualitätsmaß in einem bestimmten Wertebereich bereit, wobei das Einordnen (ranking) der Datenobjekte einer entsprechenden Datenobjektgruppe anhand einer quantitativen Analyse der datenobjektspezifischen Ranking-Vektoren der Datenobjekte durchgeführt wird.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung wird jedes Datenobjekt der entsprechenden Datenobjektgruppe auf der Grundlage des Ranking-Ergebnisses und einer entsprechenden Migrationsrichtlinie in ein Speichermedium des Speicherpools verschoben.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung werden Datenobjekte mit einem Einordnen (ranking) über einem ersten Schwellenwert in ein Speichermedium mit einer höchsten Leistungsgüte und Datenobjekte mit niedrigerem Einordnen (ranking) in ein Speichermedium mit niedrigerer Leistungsgüte verschoben.
  • Bei weiteren Ausführungsformen der vorliegenden Erfindung werden Datenobjekte mit einem Einordnen (ranking) unter einem bestimmten zweiten Schwellenwert für eine Löschung gekennzeichnet.
  • Bei einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Datenverarbeitungsprogramm zur Ausführung in einem Datenverarbeitungssystem Software-Codeabschnitte auf, um ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem durchzuführen, wenn das Programm in dem Datenverarbeitungssystem ausgeführt wird.
  • Bei einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Computerprogrammprodukt, das auf einem computernutzbaren Medium gespeichert ist, ein computerlesbares Programmmittel auf, um einen Computer zu veranlassen, ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem durchzuführen, wenn das Programm auf dem Computer ausgeführt wird.
  • Zusammengenommen offenbaren Ausführungsformen der vorliegenden Erfindung einen Analyseansatz, mit dem sowohl redundante als auch geringwertige Daten aus sehr großen Dateispeicher-Datenpools beseitigt werden sollen, um damit hochwertige Daten mit geeigneten Mechanismen zu bewahren und redundante sowie geringwertige Daten zu beseitigen.
  • Ausführungsformen der vorliegenden Erfindung legen den Schwerpunkt auf eine Reduzierung und/oder intelligentere Verwaltung von gespeicherten Datenobjekten, insbesondere in netzgebundenen Speichersystemumgebungen.
  • Der Hauptgedanke der vorliegenden Erfindung besteht darin, Datenobjekte einzuordnen und ähnliche Datenobjekte zu identifizieren sowie Datenobjektgruppen von ähnlichen Datenobjekten zu erzeugen, wobei die Datenobjekte innerhalb der einzelnen Datenobjektgruppen entsprechend ihrer Rangfolge geordnet werden. Auf der Grundlage des Einordnens (rankings) können vorteilhafterweise Migrationsrichtlinien auf die Datenobjekte angewendet werden, z.B. „Lösche alle Datenobjekte mit einer Rangstufe > 3“. Diese Migrationsrichtlinien können automatisch oder halbautomatisch mit Eingriff durch einen Benutzer angewendet werden.
  • Ausführungsformen der vorliegenden Erfindung schlagen einen neuen Ansatz zum Verwalten eines Datenobjektspeichers unter Verwendung einer Analyseeinheit vor. Die Analyseeinheit führt ein Einordnen, Gruppieren und Einordnen (ranking) von Datenobjekten auf der Grundlage des tatsächlichen Datenobjektinhalts durch. Dies bietet wiederum zahlreiche Möglichkeiten für eine Speicherverwaltung wie z.B. eine langfristige Aufbewahrung von identifizierten hochwertigen Datenobjekten, eine Löschung geringwertiger Datenobjekte und eine Zusammenfassung von Datenobjekten auf der Grundlage ihrer Rangstufe.
  • Die obigen sowie zusätzliche Aufgabenstellungen, Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden schriftlichen Detailbeschreibung offensichtlich.
  • Kurzbeschreibung der Zeichnungen
  • Eine bevorzugte und weiter unten ausführlich beschriebene Ausführungsform der vorliegenden Erfindung wird in den Zeichnungen gezeigt, wobei
  • 1 ein Blockschema eines Datendeduplizierungsgrundsatzes nach dem Stand der Technik in einem Speichersystem nach dem Stand der Technik ist;
  • 2 eine Entwurfsdarstellung eines Deduplizierungsgrundsatzes nach dem Stand der Technik ist;
  • 3 eine Entwurfsdarstellung einer Technologie für eine Datenkomprimierung nach dem Stand der Technik ist;
  • 4 ein Blockschema eines Speichersystems gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 5 ein ausführlicheres Blockschema einer Analyseeinheit für das Speichersystem aus 4 gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 6 ein schematischer Ablaufplan eines Verfahrens zum Verwalten eines Datenobjektspeichers in einem Speichersystem gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
  • 7 eine schematische Darstellung der Funktionalität eines Gruppierungsprozesses gemäß einer Ausführungsform der vorliegenden Erfindung ist, wie er von der Analyseeinheit aus 5 durchgeführt wird.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen
  • Der Fachmann weiß, dass Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Entsprechend können Aspekte der vorliegenden Erfindung in Gestalt einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (z.B. Firmware, residente Software, Mikrocode usw.) oder in Gestalt einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte vereint, welche zusammenfassend als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Erfindung in Gestalt eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, auf denen computerlesbarer Programmcode enthalten ist.
  • Dabei kann eine beliebige Kombination aus einem oder mehreren computerlesbaren Medien genutzt werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann z.B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem bzw. eine entsprechende Vorrichtung oder Einheit oder aber eine beliebige geeignete Kombination der vorgenannten Elemente sein, ohne jedoch auf diese beschränkt zu sein. Konkretere Beispiele des computerlesbaren Speichermediums würden Folgendes beinhalten (wobei dies eine nicht vollständige Liste darstellt): eine elektrische Verbindung mit einem oder mehreren Leitern, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren, programmierbaren Nur-Lese-Speicher (EPROM- oder Flash-Speicher), einen Lichtwellenleiter, einen tragbaren CD-ROM, eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination der vorgenannten Elemente. In Verbindung mit diesem Dokument kann ein computerlesbares Speichermedium jedes physische Medium sein, das ein Programm enthalten oder speichern kann, welches von oder in Zusammenhang mit einem der Befehlsausführung dienenden System, einer Vorrichtung oder Einheit verwendet wird.
  • Ein computerlesbares Signalmedium kann ein weitergeleitetes Datensignal mit darin enthaltenem computerlesbarem Programmcode enthalten, z.B. als Basisband oder als Teil einer Trägerwelle. Ein derartiges weitergeleitetes Signal kann eine beliebige Vielfalt von unterschiedlichen Formen annehmen, einschließlich, ohne auf diese beschränkt zu sein, eine elektromagnetische Form, eine optische Form oder auch jede geeignete Kombination derselben. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm übermitteln, weiterleiten oder übertragen kann, welches für die Nutzung durch oder in Verbindung mit einem/einer der Befehlsausführung dienenden System, Vorrichtung oder Einheit vorgesehen ist.
  • Auf einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, einschließlich, ohne auf diese beschränkt zu sein, drahtlose, drahtgebundene, Lichtwellenleiterkabel-, HF- und andere Medien oder eine beliebige Kombination derselben.
  • Computerprogrammcode für das Ausführen von Arbeitsschritten für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben sein, unter anderem eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder ähnliche sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder aber vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Im letztgenannten Szenario kann der entfernt angeordnete Computer über eine beliebige Art von Netzwerk, unter anderem ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann mit einem externen Computer (z.B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden.
  • Im Folgenden werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf Darstellungen von Ablaufplänen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Dabei dürfte klar sein, dass jeder Block der Ablaufplan-Darstellungen und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder Blockschaubildern durch Computerprogrammbefehle realisiert werden kann/können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, Spezialcomputers oder einer anderweitigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder der anderweitigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, mit dem die Funktionen/Handlungen realisiert werden können, die in dem Block bzw. den Blöcken des Ablaufplans und/oder Blockschaubilds angegeben werden.
  • Diese Computerprogrammbefehle können auch auf einem computerlesbaren Medium gespeichert werden, das einen Computer, eine anderweitige programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die auf dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand hervorbringen, der Befehle aufweist, mit denen die Funktion/Handlung, die in dem Block bzw. den Blöcken des Ablaufplans und/oder Blockschaubilds angegeben ist, realisiert wird.
  • Die Computerprogrammbefehle können zudem in einen Computer, eine anderweitige programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um zu veranlassen, dass eine Reihe von Betriebsschritten auf dem Computer, der anderweitigen programmierbaren Datenvorrichtung oder den anderen Einheiten ausgeführt wird, so dass die Befehle, die auf dem Computer oder der anderweitigen Datenverarbeitungsvorrichtung ausgeführt werden, Prozesse bereitstellen, mit denen die in dem Block bzw. den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen realisiert werden.
  • 4 zeigt ein Speichersystem gemäß einer Ausführungsform der vorliegenden Erfindung; 5 zeigt eine ausführlichere Darstellung einer Analyseeinheit für das Speichersystem aus 4 gemäß einer Ausführungsform der vorliegenden Erfindung; 6 zeigt ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 7 zeigt die Funktionalität eines Gruppierungsprozesses gemäß einer Ausführungsform der vorliegenden Erfindung, wie er von der Analyseeinheit aus 5 durchgeführt wird.
  • Mit Blick auf die 4 und 5 verwendet die gezeigte Ausführungsform der vorliegenden Erfindung ein Speichersystem 100, das einen Speicherpool 200 mit mindestens einem Speichermedium 210, 220, 230 und eine Speicherverwaltung 250 aufweist, das ein empfangenes Datenobjekt 130 in dem mindestens einen Speichermedium 210, 220, 230 des Speicherpools 200 speichert. Die Speicherverwaltung 250 weist eine Analyseeinheit 300 auf, die das neue Datenobjekt 130 auf der Grundlage von Inhalt des neuen Datenobjekts 130 analysiert. Die Analyseeinheit 300 weist eine Zuordnungskomponente 310, eine Gruppierungskomponente 320 und eine Ranking-Komponente 330 auf.
  • Wie bei der Technologie nach dem Stand der Technik werden Datenobjekte 130 in dem Speicherpool 200 gespeichert. Die Datenobjekte 130 beinhalten z.B. Bilder 132, Text 134, Audio- oder Musikdateien 136, Videodateien 138 usw. Die Analyseeinheit 300 führt eine Analyse des Speicherpools und der neuen Datenobjekte 130 durch und ordnet die Datenobjekte 130 ein, gruppiert sie und ordnet sie anschließend nach ihrer Rangfolge. Die Analyseeinheit 300 führt die Gruppierung der Datenobjekte 130 auf der Grundlage von Inhaltsähnlichkeiten durch. Dies unterscheidet sich grundsätzlich von Technologien nach dem Stand der Technik, bei denen redundante Chunks, die zu 100 Prozent übereinstimmen, durch einen Algorithmen identifiziert werden.
  • Die Klassifizierungskomponente 310 der Analyseeinheit 300 ordnet das neue Datenobjekt 130 in vordefinierte Datenobjekttyp-Klassen 312, 314, 316, 318 ein. Die Gruppierungskomponente 320 der Analyseeinheit 300 erzeugt einen datenobjektspezifischen Gruppierungsvektor für das neue Datenobjekt 130, der mindestens einen inhaltsbezogenen Skalar aufweist, und fasst die Datenobjekte einer entsprechenden Datenobjekttyp-Klasse 312, 314, 316, 318 auf der Grundlage von entsprechenden Gruppierungsvektoren der Datenobjekte in verschiedenen Datenobjektgruppen 322, 324, 326 zusammen. Die Ranking-Komponente 330 der Analyseeinheit 300 ordnet die Datenobjekte einer entsprechenden Datenobjektgruppe 322, 324, 326 auf der Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe 322, 324, 326 aufweist, entsprechend ihrer Rangfolge.
  • In der gezeigten Ausführungsform verwendet die Speicherverwaltungseinheit 250 das Ranking-Ergebnis, um für jedes Datenobjekt in der entsprechenden Datenobjektgruppe 322, 324, 326 verschiedene Migrationsrichtlinien durchzuführen. Die Speicherverwaltungseinheit 250 weist daher jedes Speichermedium 210, 220, 230 auf der Grundlage einer Leistungsgüte des mindestens einen Speichermediums 210, 220, 230 mindestens einer Rangstufe (Rangstufe 1, Rangstufe 2, Rangstufe N) einer entsprechenden Datenobjektgruppe 322, 324, 326 zu. Die Speicherverwaltungseinheit 250 verschiebt Datenobjekte mit einem Einordnen (ranking) über einem ersten Schwellenwert in ein Speichermedium 210 mit einer höchsten Leistungsgüte und Datenobjekte mit niedrigerem Einordnen (ranking) in Speichermedien 220, 230 mit niedrigerer Leistungsgüte. Zusätzlich kennzeichnet die Speicherverwaltungseinheit 250 Datenobjekte mit einem Einordnen (ranking) unter einem bestimmten zweiten Schwellenwert für eine Löschung.
  • Bezugnehmend auf 6 wird in Schritt S400 ein neues Datenobjekt 130 empfangen und in Schritt S410 in dem Speicherpool 200 gespeichert. Falls ein neues Datenobjekt 130 an den Dateispeicherpool 200 gesendet oder in diesem aktualisiert wird, empfängt die Analyseeinheit 300 in Schritt S420 eine automatisierte Benachrichtigung. Die Analyseeinheit 300 startet wiederum in Schritt S500 einen Analyseprozess des neuen Datenobjekts 130 bezüglich des Inhalts des neuen Datenobjekts 130.
  • In Schritt S510 führt die Analyseeinheit 300 eine Klassifizierung des neuen Datenobjekts 130 durch und verwendet hierzu die Klassifizierungskomponente 310, die einen Typ des neuen Datenobjekts 130 wie z.B. Bild 132, Text 134, Audiodatei 136 oder Videodatei 138 ermittelt. Die Klassifizierungskomponente 310 analysiert hierfür eine Datenobjekterweiterung, bei der es sich um ein Suffix zu dem Namen des neuen Datenobjekts 130 handelt, der z.B. durch einen Punkt von dem Datenobjektnamen getrennt ist. Beispiele für Erweiterungen von Datenobjektnamen für Bilder sind „png“, „jpg“, „gif“, „bmp“, „tiff“ usw. Beispiele für Erweiterungen von Datenobjektnamen für Textdateien sind „txt“, „doc“, „docx“, „odt“ usw. Beispiele für Erweiterungen von Datenobjektnamen für Audiodateien sind „mp3“, „ots“, „wav“, „wma“ usw. Auf der Grundlage dieser Erstanalyse ordnet die Analyseeinheit 300 die Datenobjekte 132, 134, 136, 138 in verschiedene Datenobjektklassen 312, 314, 316, 318 ein.
  • In Schritt S520 führt die Analyseeinheit 300 unter Verwendung der Gruppierungskomponente 320 die Gruppierung der Datenobjekte 132, 134, 136, 138 einer jeden Datenobjektklasse 312, 314, 316, 318 durch. Im Allgemeinen erzeugt die Gruppierungskomponente 320 einen n-dimensionalen Gruppierungsvektor G für jedes Datenobjekt 132, 134, 136, 138, der für das Datenobjekt 132, 134, 136, 138 steht. Auf der Grundlage der Gruppierungsvektoren G erzeugt die Analyseeinheit 300 nach einem Teilabgleichsgrundsatz Gruppen 322, 324, 326. Ein variabler und ein benutzerdefinierter Abgleichungsparameter werden verwendet, um zu ermitteln, ob zwei Datenobjekte 132, 134, 136, 138 zur selben Gruppe 322, 324, 326 gehören. Dabei könnte es sich z.B. um eine zu 98 % genaue Übereinstimmung handeln. Der Mechanismus des Abgleichungsgrundsatzes wird in den folgenden Beispielen erläutert.
  • Im Allgemeinen unterscheidet sich die Erzeugung des Gruppierungsvektors G für jede Datenobjektklasse 312, 314, 316, 318 wie z.B. Bilder 312, Text 314, Musik 316 oder Video 318. Im Folgenden wird der Gruppierungsprozess in einem ersten Beispiel für Bilder 312 und in einem zweiten Beispiel für Textdateien 314 erläutert.
  • Beispiel 1:
  • Das erste Beispiel bezieht sich auf den Gruppierungsprozess der Analyseeinheit, der auf der Grundlage einer Inhaltsanalyse der Bilder 312 erfolgt. Um die Gruppierung vorzunehmen, erzeugt die Analyseeinheit 300 den Gruppierungsvektor G. Der Gruppierungsvektor G setzt sich z.B. aus den folgenden Skalaren zusammen:

    g1: Zeitmarke

    g2: Anzahl an Personen

    g3: Person, die z.B. durch Gesichtserkennungstechnologie identifiziert wurde. Jede Person ist durch eine Zahl dargestellt, die durch einen Satz von Gesichtsmesswerten wie z.B. Augenabstand, Ohrenabstand, Kopfdurchmesser erzeugt wurde.

    g4: Anzahl von Objekten, z.B. Gebäude, Fahrzeuge usw.

    g5: Objekte. Jeder Objekttyp ist durch eine Zahl dargestellt.
  • In alternativen Ausführungsformen der vorliegenden Erfindung können mehr oder weniger Skalare verwendet werden, um den Gruppierungsvektor G zu erzeugen.
  • In dem ersten Beispiel sind g2, g3, g4, g5 inhaltsbezogene Skalare aus der obigen, als Beispiel dienenden Liste. Im Folgenden wird die Gruppenerzeugung durch die Gruppierungskomponente 320 der Analyseeinheit 300 für zwei Bilder gezeigt, die durch eine als Beispiel dienende, begrenzte Anzahl von vier Skalaren dargestellt sind.
  • Der Gruppierungsvektor GBild1 für ein erstes Bild ist durch die folgenden Skalare g1 bis g3.2 definiert:

    g1 = 1214617821 (Unixzeit)

    g2 = 2 (zwei Personen)

    g3.1 = 56789243 (für eine erste Person stehende Zahl, wobei die Zahl durch einen Satz von Gesichtsmesswerten erzeugt wird)

    g3.2 = 23978744 (für eine zweite Person stehende Zahl)

    GBild1 = (1214617821,2,56789243,23978744)
  • Der Gruppierungsvektor GBild2 für ein zweites Bild ist durch die folgenden Skalare g1 bis g3.2 definiert:

    g1 = 12146178331 (Unixzeit)

    g2 = 2 (zwei Personen)

    g3.1 = 56789245 (für eine erste Person stehende Zahl, wobei die Zahl durch einen Satz von Gesichtsmesswerten erzeugt wird)

    g3.2 = 23978745 (für eine zweite Person stehende Zahl)

    GBild2 = (1214617831,2,56789245,23978745)
  • Nun führt die Gruppierungskomponente 320 der Analyseeinheit 300 den Teilabgleichsprozess (GBild2 – GBild1 = (10,0,2,1)) durch. Bezogen auf die ursprünglichen Werte ergibt sich daraus, dass das erste und das zweite Bild zu über 99 % übereinstimmen. Die Gruppierungskomponente 320 der Analyseeinheit 300 fügt das erste und das zweite Bild nacheinander derselben Gruppe hinzu.
  • Beispiel 2:
  • Das zweite Beispiel bezieht sich auf den Gruppierungsprozess der Analyseeinheit 300, der auf der Grundlage einer Inhaltsanalyse der Textdateien 314 erfolgt. Um die Gruppierung vorzunehmen, erzeugt die Gruppierungskomponente 320 der Analyseeinheit 300 den Gruppierungsvektor G. Der Gruppierungsvektor G setzt sich z.B. aus den folgenden Skalaren zusammen:

    g1: Zeitmarke

    g2: Dateiname

    g3: Anzahl von Schlüsselsätzen

    g4: Schlüsselsätze
  • Um Schlüsselsätze in einem Text automatisch zu erkennen, können hinreichend bekannte Prozesse zum Erhalt von Schlüsselsätzen nach dem Stand der Technik verwendet werden.
  • In alternativen Ausführungsformen der vorliegenden Erfindung können mehr oder weniger Skalare verwendet werden, um den Gruppierungsvektor G zu erzeugen.
  • In dem zweiten Beispiel sind g3 und g4 inhaltsbezogene Skalare aus der obigen, als Beispiel dienenden Liste. Im Folgenden wird die Gruppenerzeugung durch die Gruppierungskomponente 320 der Analyseeinheit 300 für zwei Textdateien gezeigt, die durch eine als Beispiel dienende, begrenzte Anzahl von vier Skalaren dargestellt sind.
  • Text 1:
    • Mail Online, 30. April 2013
    • „Die Königin der Niederlande gab gestern Abend bekannt, dass sie nach 33 Jahren auf dem Thron zugunsten ihres Sohnes und Erben abdanken wird.
    • In einer drei Tage vor ihrem 75. Geburtstag vom niederländischen Fernsehen ausgestrahlten Sendung begründete Königin Beatrix ihren Rücktritt mit ihrer Überzeugung, dass „die Verantwortung nun in den Händen einer neuen Generation liegen sollte“.
  • Der Gruppierungsvektor GText1 für den ersten Text ist durch die folgenden Skalare g1 bis g4 definiert:

    g1 = 2378923456 (Unixzeit)

    g2 = file1.nsf

    g3 = 6

    g4 = Königin, Beatrix, niederländisch, Oranien-Nassau, 77. Geburtstag, Generation

    GText1 = (2378923456,6, Königin, Beatrix, Niederlande, Oranien-Nassau, 77. Geburtstag, Generation)
  • Text 2:
    • New York Times, 30. April 2013
    • „Unter den Jubelrufen zehntausender Menschen, die sich hier vor dem königlichen Palast gedrängt hatten, wurde Wilhelm-Alexander von Oranien-Nassau an diesem Dienstag zum ersten König der Niederlande seit 123 Jahren ernannt, nachdem seine Mutter, Königin Beatrix, nach 33 Jahren auf dem Thron mit einem Federstrich in einem Kabinettszimmer des Palais ihre Abdankungsurkunde unterzeichnet hatte.“
  • Der Gruppierungsvektor GText2 für den zweiten Text ist durch die folgenden Skalare g1 bis g4 definiert:

    g1 = 2378923456 (Unixzeit)

    g2 = file2.nsf

    g3 = 7

    g4 = Palast, Königin, Beatrix, Oranien-Nassau, Wilhelm-Alexander, Niederlande, König

    GText2 = (2378923456,7, Palast, Königin, Beatrix, Oranien-Nassau, Wilhelm-Alexander,Niederlande,König)
  • In dem zweiten Beispiel stimmen vier von sechs Schlüsselsätzen des ersten Textes mit Schlüsselsätzen des zweiten Textes überein. Durch die Verwendung von Thesaurus-Datenbanken könnte die Gruppierungskomponente 320 der Analyseeinheit 300 übereinstimmende Schlüsselsätze noch genauer ermitteln. Wenn der Benutzer diese Übereinstimmung als annehmbar betrachtet, fügt die Gruppierungskomponente 320 der Analyseeinheit 300 den ersten und den zweiten Text derselben Gruppe hinzu.
  • In Schritt S530 führt die Analyseeinheit 300 unter Verwendung der Ranking-Komponente 330 das Einordnen (ranking) der Datenobjekte 132, 134, 136, 138 einer jeden Datenobjektgruppe 322, 324, 326 durch. Die Ranking-Komponente 330 der Analyseeinheit 300 ordnet die Datenobjekte 132, 134, 136, 138 innerhalb einer jeden Gruppe 322, 324, 326 auf der Grundlage der Qualität der Datenobjekte 132, 134, 136, 138 entsprechend ihrer Rangfolge. Die Qualität wird durch den Inhalt der Datenobjekte 132, 134, 136, 138 bestimmt.
  • Jede Datei innerhalb einer Gruppe wird einem Ranking-Vektor R = {r1, r2, r3, ..., rn} zugewiesen. Das Einordnen (ranking) wird anhand einer quantitativen Analyse des Ranking-Vektors R vorgenommen. Jeder Skalar stellt ein Maß für die Qualität in einem Bereich von 0 (niedrig) bis 10 (hoch) bereit.
  • Der Ranking-Vektor R für Bilder setzt sich beispielsweise aus den folgenden Attributen zusammen:

    r1: Schärfe

    r2: Rote-Augen-Erkennung

    r3: offene/geschlossene Augen

    r4: Platzierung der Personen in der Bildmitte
  • Der Ranking-Vektor R für Text setzt sich z.B. aus den folgenden Attributen zusammen:

    r1: Anzahl der ermittelten Schlüsselbegriffe (je mehr desto besser)

    r2: Anzahl der Tippfehler

    r3: Qualität des Schlüsselbegriffs (relativ zum Bezugsbegriff)

    r4: Satzqualität
  • In Schritt S540 führt die Speicherverwaltung 250 für jedes Datenobjekt 132, 134, 136, 138 innerhalb einer Gruppe 322, 324, 326 verschiedene Migrationsrichtlinien durch. Datenobjekte 132, 134, 136, 138 mit der höchsten Rangstufe, z.B. Rangstufe 1, können in einen Gold-Speicherpool verschoben werden. Dies könnte z.B. ein erstes Speichermedium 210 mit der höchsten Leistung wie z.B. ein SSD- oder Hochleistungsfestplattenlaufwerk sein. Datenobjekte 132, 134, 136, 138 mit einer niedrigeren Rangstufe, z.B. Rangstufe 2, können in einen Silber-Speicherpool verschoben werden. Dies könnte z.B. ein zweites Speichermedium 220 mit niedrigerer Leistung wie z.B. ein Bandlaufwerk sein. Datenobjekte 132, 134, 136, 138 mit der niedrigsten Rangstufe, z.B. der Rangstufe N, können in einen Bronze-Speicherpool 230 verschoben werden. Diese Datenobjekte 132, 134, 136, 138 können dann für eine Löschung gekennzeichnet werden. Die folgende Liste skizziert einige mögliche Migrationsrichtlinien:

    Speicherpool für Rangstufe 1: Hochwertige Datenobjekte: Verschiebung in Gold-Speicherpool, z.B. SSD-Laufwerke oder schneller Festplattenspeicher.

    Speicherpool für Rangstufe 2: Dateien mit mittlerer Wertigkeit: Verschiebung in Silber-Speicherpool, z.B. Bandspeicher.

    Speicherpool für Rangstufe 3: Geringwertige Dateien: Verschiebung in Bronze-Speicherpool, z.B. Aufbewahrung für eine definierte Anzahl von Tagen vor einer Löschung.
  • 7 zeigt ein Beispiel für ein Ergebnis des Gruppierungsprozesses, der durch die Gruppierungskomponente 320 der Analyseeinheit 300 durchgeführt wird. Mit Blick auf 7 weist das gezeigte Beispiel einer Datenobjektgruppe sechs ähnliche, jedoch nicht identische Datenobjekte 130A, 130B, 130C, 130D, 130E, 130F auf, wie sie durch die Gruppierungskomponente 320 identifiziert werden. Um den unterschiedlichen Dateninhalt kenntlich zu machen, weist ein erstes Datenobjekt 130A zwölf erste Daten-Chunks 140, die durch eine erste Schraffur und eine erste Form dargestellt sind, neun zweite Daten-Chunks 142, die durch eine zweite Schraffur und eine zweite Form dargestellt sind, und zehn dritte Daten-Chunks 144 auf, die durch eine dritte Schraffur und eine dritte Form dargestellt sind. Ein zweites Datenobjekt 130B weist elf erste Daten-Chunks 140, die durch die erste Schraffur und die erste Form dargestellt sind, acht zweite Daten-Chunks 142, die durch die zweite Schraffur und die zweite Form dargestellt sind, und neun dritte Daten-Chunks 144 auf, die durch die dritte Schraffur und die dritte Form dargestellt sind. Ein drittes Datenobjekt 130C weist elf erste Daten-Chunks 140, die durch die erste Schraffur und die erste Form dargestellt sind, acht zweite Daten-Chunks 142, die durch die zweite Schraffur und die zweite Form dargestellt sind, neun dritte Daten-Chunks 144, die durch die dritte Schraffur und die dritte Form dargestellt wird, einen vierten Daten-Chunk 140A, der durch die erste Form ohne Schraffur, einen fünften Daten-Chunk 142A dargestellt ist, der durch die zweite Form ohne Schraffur dargestellt ist, und einen sechsten Daten-Chunk 144A auf, der durch die dritte Form ohne Schraffur dargestellt ist. Ein viertes Datenobjekt 130D weist zehn erste Daten-Chunks 140, die durch die erste Schraffur und die erste Form dargestellt sind, sieben zweite Daten-Chunks 142, die durch die zweite Schraffur und die zweite Form dargestellt sind, und acht dritte Daten-Chunks 144 auf, die durch die dritte Schraffur und die dritte Form dargestellt sind. Ein fünftes Datenobjekt 130E weist zwölf siebte Daten-Chunks 140B, die durch eine vierte Schraffur und die erste Form dargestellt sind, neun achte Daten-Chunks 142B, die durch eine fünfte Schraffur und die zweite Form, und zehn dritte Daten-Chunks 144B auf, die durch eine sechste Schraffur und die dritte Form dargestellt sind. Ein sechstes Datenobjekt 130F weist zehn erste Daten-Chunks 140, die durch die erste Schraffur und die erste Form dargestellt sind, sieben zweite Daten-Chunk 142, die durch die zweite Schraffur und die zweite Form dargestellt sind, sechs dritte Daten-Chunks 144, die durch die dritte Schraffur und die dritte Form dargestellt sind, einen vierten Daten-Chunk 140A, der durch die erste Form ohne Schraffur dargestellt ist, einen fünften Daten-Chunk 142A, der durch die zweite Form ohne Schraffur dargestellt ist, einen sechsten Daten-Chunk 144A, der durch die dritte Form ohne Schraffur dargestellt ist, einen zehnten Daten-Chunk 140C, der durch die fünfte Schraffur und die erste Form dargestellt ist, einen fünften Daten-Chunk 142A, der durch die zweite Form ohne Schraffur dargestellt ist, einen elften Daten-Chunk 142C, der durch die vierte Schraffur und die zweite Form dargestellt ist, einen sechsten Daten-Chunk 144A, der durch die dritte Form ohne Schraffur dargestellt ist, einen zwölften Daten-Chunk 144B, der durch die sechste Schraffur und die dritte Form dargestellt ist, einen dreizehnten Daten-Chunk 144C, der durch die vierte Schraffur und die dritte Form, und einen vierzehnten Daten-Chunk 144D auf, der durch die fünfte Schraffur und die dritte Form gekennzeichnet ist.
  • Die oben beschriebene Analyseeinheit kann in netzgebundenen Speicherprodukten (NAS, Network Attached Storage) verwendet werden. Die Erfindung dient zum Identifizieren sehr hochwertiger Datenobjekte, die über einen langen Zeitraum hinweg aufbewahrt werden sollen. Nach ihrer Identifizierung können diese Dateien in langlebige Speichermedien verschoben werden.
  • Datenobjekte, die als geringwertig identifiziert wurden, können dagegen für eine mögliche Löschung gekennzeichnet werden. In Verbindung mit Richtlinien nach dem Stand der Technik kann mit der Erfindung die Anzahl von gespeicherten Datenobjekten erheblich verringert werden, um so lediglich hochwertige Datenobjekte beizubehalten.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Somit kann jeder Block der Ablaufpläne oder Blockschaubilder ein Modul, Segment oder einen Code-Teil darstellen, der einen oder mehrere ausführbare Befehle aufweist, mit denen sich die eine oder mehreren angegebenen logischen Funktionen realisieren lassen. Zu beachten ist ferner, dass bei manchen alternativen Ausführungsformen die in dem Block erwähnten Funktionen in einer anderen Reihenfolge als der in den Figuren genannten auftreten können. So können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig stattfinden, oder die Blöcke können mitunter in umgekehrter Reihenfolge ausgeführt werden, wobei dies abhängig von der betreffenden Funktionalität ist. Ebenfalls erwähnenswert ist, dass jeder Block der Blockschaubilder und/oder der Ablaufplan-Darstellung sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplan-Darstellung durch Spezialsysteme auf der Grundlage von Hardware, welche die angegebenen Funktionen oder Handlungen oder Kombinationen hiervon ausführen, oder durch Kombinationen von Spezial-Hardware- und Computerbefehlen realisiert werden kann/können.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Änderungen und Abwandlungen möglich sind, ohne von Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hier offenbarten Ausführungsformen zu ermöglichen.

Claims (15)

  1. Speichersystem, das einen Speicherpool (200) mit mindestens einem Speichermedium (210, 220, 230) und eine Speicherverwaltung (250) aufweist, wobei die Speicherverwaltung (250) ein empfangenes neues Datenobjekt (130) in dem mindestens einen Speichermedium (210, 220, 230) des Speicherpools (200) speichert; wobei die Speicherverwaltung (250) eine Analyseeinheit (300) aufweist, die das neue Datenobjekt (130) auf Grundlage von Inhalt des neuen Datenobjekts (130) analysiert; wobei die Analyseeinheit (300) aufweist eine Klassifizierungskomponente (310), die das neue Datenobjekt (130) in vordefinierte Datenobjekttyp-Klassen (312, 314, 316, 318) einordnet; eine Gruppierungskomponente (320), die einen datenobjektspezifischen Gruppierungsvektor für das neue Datenobjekt (130) erzeugt, der mindestens einen inhaltsbezogenen Skalar aufweist, und die Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) einer entsprechenden Datenobjekttyp-Klasse (312, 314, 316, 318) auf Grundlage von entsprechenden Gruppierungsvektoren der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) in verschiedenen Datenobjektgruppen (322, 324, 326) zusammenfasst; und eine Ranking-Komponente (330), welche die Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) einer entsprechenden Datenobjektgruppe (322, 324, 326) auf Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe (322, 324, 326) aufweist, entsprechend ihrer Rangfolge ordnet.
  2. Speichersystem nach Anspruch 1, wobei die Speicherverwaltungseinheit (250) das Ranking-Ergebnis verwendet, um für jedes Datenobjekt (130A, 130B, 130C, 130D, 130E, 130F) der entsprechenden Datenobjektgruppe (322, 324, 326) verschiedene Migrationsrichtlinien durchzuführen.
  3. Speichersystem nach Anspruch 2, wobei die Speicherverwaltungseinheit (250) jedes Speichermedium (210, 220, 230) auf Grundlage einer Leistungsgüte des mindestens einen Speichermediums (210, 220, 230) mindestens einer Rangstufe (Rangstufe 1, Rangstufe 2, Rangstufe N) einer entsprechenden Datenobjektgruppe (322, 324, 326) zuweist.
  4. Speichersystem nach Anspruch 3, wobei die Speicherverwaltungseinheit (250) Datenobjekte mit einem Einordnen (Rangstufe 1) über einem bestimmten ersten Schwellenwert in ein Speichermedium (210) mit einer höchsten Leistungsgüte und Datenobjekte mit niedrigerem Einordnen (Rangstufe 2, Rangstufe N) in ein Speichermedium (220, 230) mit niedrigerer Leistungsgüte verschiebt.
  5. Speichersystem nach Anspruch 3 oder 4, wobei die Speicherverwaltungseinheit (250) Datenobjekte mit einem Einordnen (Rangstufe N) unter einem bestimmten zweiten Schwellenwert für eine Löschung kennzeichnet.
  6. Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem, das einen Speicherpool (200) mit mindestens einem Speichermedium (210, 220) und eine Speicherverwaltungseinheit (250) aufweist, wobei ein empfangenes neues Datenobjekt (130) in dem mindestens einen Speichermedium (210, 220) des Speicherpools (200) gespeichert wird; wobei das Verfahren die folgenden Schritte aufweist: Benachrichtigen einer Analyseeinheit (300) der Speicherverwaltungseinheit (250) über ein neues Datenobjekt (130), das in dem Speichersystem (100) gespeichert werden soll, und Starten eines Analyseprozesses des neuen Datenobjekts (130) auf Grundlage von Inhalt des neuen Datenobjekts (130); Einordnen des neuen Datenobjekts (130) in vordefinierte Datenobjekttyp-Klassen (312, 314, 316, 318); Erzeugen eines datenobjektspezifischen Gruppierungsvektors für das neue Datenobjekt (130), der mindestens einen inhaltsbezogenen Skalar aufweist, Gruppieren von Datenobjekten (130A, 130B, 130C, 130D, 130E, 130F) einer entsprechenden Datenobjekttyp-Klasse (312, 314, 316, 318) in verschiedenen Datenobjektgruppen (322, 324, 326) auf Grundlage von entsprechenden Gruppierungsvektoren der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F); und Einordnen der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) einer entsprechenden Datenobjektgruppe (322, 324, 326) auf Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe (322, 324, 326) aufweist, entsprechend ihrer Rangfolge.
  7. Verfahren nach Anspruch 6, wobei während des Klassifizierungsprozesses des neuen Datenobjekts (130) durch Analysieren einer Datenobjekterweiterung ein Datenobjekttyp (132, 134, 136, 138) ermittelt wird.
  8. Verfahren nach Anspruch 6 oder 7, wobei während des Gruppierens der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) einer entsprechenden Datenobjekttyp-Klasse (312, 314, 316, 318) ein Teilabgleichsgrundsatz auf entsprechende datenobjektspezifische Gruppierungsvektoren der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) angewendet wird, der einen Schwellenwert zum Abgleichen des mindestens einen inhaltsbezogenen Skalars eines jeden Datenobjekts (130A, 130B, 130C, 130D, 130E, 130F) definiert, das zu derselben Datenobjektgruppe (322, 324, 326) gehört.
  9. Verfahren nach Anspruch 8, wobei bei dem Teilableichsgrundsatz variable und benutzerdefinierte Abgleichungsparameter verwendet werden, um zu ermitteln, ob zwei Datenobjekte zu derselben Datenobjektgruppe (322, 324, 326) gehören.
  10. Verfahren nach einem der voranstehenden Ansprüche 6 bis 9, wobei der mindestens eine Qualitätsskalar der datenobjektspezifischen Ranking-Vektoren ein Qualitätsmaß in einem bestimmten Wertebereich bereitstellt, wobei das Einordnen der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) einer entsprechenden Datenobjektgruppe (322, 324, 326) anhand einer quantitativen Analyse der datenobjektspezifischen Ranking-Vektoren der Datenobjekte (130A, 130B, 130C, 130D, 130E, 130F) durchgeführt wird.
  11. Verfahren nach einem der voranstehenden Ansprüche 6 bis 10, wobei jedes Datenobjekt der entsprechenden Datenobjektgruppe (322, 324, 326) auf Grundlage des Ranking-Ergebnisses und einer entsprechenden Migrationsrichtlinie in ein Speichermedium (210, 220, 230) des Speicherpools (200) verschoben wird.
  12. Verfahren nach Anspruch 11, wobei Datenobjekte mit einem Einordnen (Rangstufe 1) über einem ersten Schwellenwert in ein Speichermedium (210) mit einer höchsten Leistungsgüte und Datenobjekte mit niedrigerem Einordnen (Rangstufe 2, Rangstufe N) in ein Speichermedium (220, 230) mit niedrigerer Leistungsgüte verschoben werden.
  13. Verfahren nach Anspruch 11 oder 12, wobei Datenobjekte mit einem Einordnen (Rangstufe N) unter einem bestimmten zweiten Schwellenwert für eine Löschung gekennzeichnet werden.
  14. Datenverarbeitungsprogramm zur Ausführung in einem Datenverarbeitungssystem, das Software-Codeabschnitte zum Durchführen eines Verfahrens zum Verwalten eines Datenobjektspeichers in einem Speichersystem gemäß einem beliebigen der voranstehenden Ansprüche 6 bis 13 aufweist, wenn das Programm auf dem Datenverarbeitungssystem ausgeführt wird.
  15. Auf einem computernutzbaren Medium gespeichertes Computerprogrammprodukt, das ein computerlesbares Programmmittel aufweist, um einen Computer zu veranlassen, ein Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem gemäß einem der voranstehenden Ansprüche 6 bis 13 durchzuführen, wenn das Programm auf dem Computer ausgeführt wird.
DE201410111571 2013-08-26 2014-08-13 Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem Pending DE102014111571A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1315180.8A GB2517688A (en) 2013-08-26 2013-08-26 Storage system and method for data object storage managing in a storage system
GB1315180.8 2013-08-26

Publications (1)

Publication Number Publication Date
DE102014111571A1 true DE102014111571A1 (de) 2015-02-26

Family

ID=49355900

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410111571 Pending DE102014111571A1 (de) 2013-08-26 2014-08-13 Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem

Country Status (2)

Country Link
DE (1) DE102014111571A1 (de)
GB (1) GB2517688A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3185136A1 (de) * 2015-12-22 2017-06-28 Incubaid Business Center NV Massendatenspeicherungssystem und -verfahren
CN106604111A (zh) * 2016-12-16 2017-04-26 深圳市九洲电器有限公司 机顶盒Flash数据存储方法及系统
US10943016B2 (en) * 2018-10-31 2021-03-09 EMC IP Holding Company LLC System and method for managing data including identifying a data protection pool based on a data classification analysis

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229904B2 (en) * 2004-07-01 2012-07-24 Emc Corporation Storage pools for information management
US7693877B1 (en) * 2007-03-23 2010-04-06 Network Appliance, Inc. Automated information lifecycle management system for network data storage
CN103313090B (zh) * 2012-03-16 2017-05-03 腾讯科技(深圳)有限公司 一种离线下载视频文件的方法、系统

Also Published As

Publication number Publication date
GB201315180D0 (en) 2013-10-09
GB2517688A (en) 2015-03-04

Similar Documents

Publication Publication Date Title
DE112015000218B4 (de) Verfahren, System und Computerprogramm zum Abtasten einer Mehrzahl von Speicherbereichen in einem Arbeitsspeicher nach einer spezifizierten Anzahl von Ergebnissen
DE102019000675A1 (de) Nutzen eines modells auf der basis eines tiefen neuronalen netzwerks zum identifizieren von visuell ähnlichen digitalen bildern auf der basis von nutzer-ausgewählten visuellen eigenschaften
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
DE102005032734B4 (de) Indexextraktion von Dokumenten
DE102012210425A1 (de) Verwendung einer dynamisch erzeugten inhaltsbezogenen Aktualitätsbewertung zum Bereitstellen von Empfehlungen zu aktuellen Inhalten
DE112018003081T5 (de) Optimieren von benutzerzufriedenheit beim schulen eines kognitiven hierarchischen speicherverwaltungssystems
DE102005032744A1 (de) Indexextraktion von Dokumenten
DE112020002228T5 (de) Kognitive video- und audio-suchaggregation
DE112008003972T5 (de) Automatische Erzeugung einer skalierbaren, nach Relevanz geordneten Darstellung einer Bildsammlung
DE112013006650T5 (de) Multi-Layer System zur Symbol-Speicher basierten Kompression von Mustern
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE102010043265A1 (de) Systeme und Verfahren zum Verarbeiten und Verwalten von objektbezogenen Daten zur Verwendung durch mehrere Anwendungen
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE112020002886T5 (de) Kontextabhängiges data-mining
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE102017125463A1 (de) Verwendung von maschinellem lernen zur erkennung eines bildbestandteils in einem zusammengesetzten bild
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE112018004462T5 (de) Abfrageverarbeitung
DE102018008188A1 (de) Erstellen von Inhalt basierend auf einer Mehr-Satz-Komprimierung eines Quellinhalts
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training

Legal Events

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

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0016110000

Free format text: PREVIOUS MAIN CLASS: G06F0016550000

Ipc: G06F0016110000

R002 Refusal decision in examination/registration proceedings