DE102014111571A1 - Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem - Google Patents
Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005012 migration Effects 0.000 claims description 10
- 238000013508 migration Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 238000013480 data collection Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000004445 quantitative analysis Methods 0.000 claims description 3
- 230000012447 hatching Effects 0.000 description 24
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000013144 data compression Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 229910000906 Bronze Inorganic materials 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000010974 bronze Substances 0.000 description 2
- KUNSUQLRTQLHQQ-UHFFFAOYSA-N copper tin Chemical compound [Cu].[Sn] KUNSUQLRTQLHQQ-UHFFFAOYSA-N 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 241000593989 Scardinius erythrophthalmus Species 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 201000005111 ocular hyperemia Diseases 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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
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 Speichersystems1 nach dem Stand der Technik zeigt, wird ein Datenobjekt3 oder ein Datenstrom einer Deduplizierung unterzogen. Das Datenobjekt3 wird durch eine Chunking-Einheit10 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 Deduplizierungseinheit20 ermittelt doppelt vorhandene Chunks A, F, D, indem sie z.B. anhand eines Verweiszeigers auf identische Chunks verweist. Die Deduplizierungseinheit20 speichert nicht identische Chunks A, B, C, D, E, F oder einzelne Instanzen in einer Speicherkomponente30 . Zusätzlich kann eine Datenkomprimierung durchgeführt werden. -
2 zeigt den Grundsatz einer Deduplizierung nach dem Stand der Technik. Mit Blick auf2 weist ein erstes Datenobjekt3A zwölf identische Chunks12A auf, ein zweites Datenobjekt3B weist neun identische Daten-Chunks12B auf, und ein drittes Datenobjekt3C weist zehn identische Chunks12C auf. Redundante Chunks12A ,12B ,12C werden identifiziert und durch geeignete Zeiger ersetzt, wobei jeder Chunk12A ,12B ,12C nur ein einziges Mal gespeichert wird. Doppelt vorhandene Daten werden unter Verwendung von Zeigern auf das identische Muster12A ,12B ,12C entfernt. -
3 zeigt Technologie für eine Datenkomprimierung nach dem Stand der Technik. Bezugnehmend auf3 weist ein Datenstrom5A , der von mindestens einem Benutzer7 über ein Netzwerk2 an ein Speichersystem1 übertragen wird, vier Bit-Ströme auf, von denen zwei Bit-Ströme identisch sind. Eine Komprimierungseinheit40 beseitigt identische Daten in dem Datenstrom5A und gibt über einen Cache-Speicher32 einen komprimierten Datenstrom5B an eine Speicherkomponente30 aus. Der Grundsatz einer Komprimierung ist identisch mit demjenigen einer Deduplizierung. Der Speicherbedarf ist hier allerdings auf den Datenstrom5A begrenzt, und es werden keine Verweise auf den gesamten Speicher verwendet. Darüber hinaus gibt die Speicherkomponente30 den komprimierten Datenstrom5B über den Cache-Speicher32 an die Komprimierungseinheit40 aus, die den komprimierten Datenstrom5B dekomprimiert und über das Netzwerk2 einen dekomprimierten Datenstrom5C an den anfordernden Benutzer7 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 aus4 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 aus5 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 aus4 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 aus5 durchgeführt wird. - Mit Blick auf die
4 und5 verwendet die gezeigte Ausführungsform der vorliegenden Erfindung ein Speichersystem100 , das einen Speicherpool200 mit mindestens einem Speichermedium210 ,220 ,230 und eine Speicherverwaltung250 aufweist, das ein empfangenes Datenobjekt130 in dem mindestens einen Speichermedium210 ,220 ,230 des Speicherpools200 speichert. Die Speicherverwaltung250 weist eine Analyseeinheit300 auf, die das neue Datenobjekt130 auf der Grundlage von Inhalt des neuen Datenobjekts130 analysiert. Die Analyseeinheit300 weist eine Zuordnungskomponente310 , eine Gruppierungskomponente320 und eine Ranking-Komponente330 auf. - Wie bei der Technologie nach dem Stand der Technik werden Datenobjekte
130 in dem Speicherpool200 gespeichert. Die Datenobjekte130 beinhalten z.B. Bilder132 , Text134 , Audio- oder Musikdateien136 , Videodateien138 usw. Die Analyseeinheit300 führt eine Analyse des Speicherpools und der neuen Datenobjekte130 durch und ordnet die Datenobjekte130 ein, gruppiert sie und ordnet sie anschließend nach ihrer Rangfolge. Die Analyseeinheit300 führt die Gruppierung der Datenobjekte130 auf der Grundlage von Inhaltsähnlichkeiten durch. Dies unterscheidet sich grundsätzlich von Technologien nach dem Stand der Technik, bei denen redundante Chunks, die zu100 Prozent übereinstimmen, durch einen Algorithmen identifiziert werden. - Die Klassifizierungskomponente
310 der Analyseeinheit300 ordnet das neue Datenobjekt130 in vordefinierte Datenobjekttyp-Klassen312 ,314 ,316 ,318 ein. Die Gruppierungskomponente320 der Analyseeinheit300 erzeugt einen datenobjektspezifischen Gruppierungsvektor für das neue Datenobjekt130 , der mindestens einen inhaltsbezogenen Skalar aufweist, und fasst die Datenobjekte einer entsprechenden Datenobjekttyp-Klasse312 ,314 ,316 ,318 auf der Grundlage von entsprechenden Gruppierungsvektoren der Datenobjekte in verschiedenen Datenobjektgruppen322 ,324 ,326 zusammen. Die Ranking-Komponente330 der Analyseeinheit300 ordnet die Datenobjekte einer entsprechenden Datenobjektgruppe322 ,324 ,326 auf der Grundlage eines datenobjektspezifischen Ranking-Vektors, der mindestens einen Qualitätsskalar für jede Datenobjektgruppe322 ,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 Datenobjektgruppe322 ,324 ,326 verschiedene Migrationsrichtlinien durchzuführen. Die Speicherverwaltungseinheit250 weist daher jedes Speichermedium210 ,220 ,230 auf der Grundlage einer Leistungsgüte des mindestens einen Speichermediums210 ,220 ,230 mindestens einer Rangstufe (Rangstufe 1, Rangstufe 2, Rangstufe N) einer entsprechenden Datenobjektgruppe322 ,324 ,326 zu. Die Speicherverwaltungseinheit250 verschiebt Datenobjekte mit einem Einordnen (ranking) über einem ersten Schwellenwert in ein Speichermedium210 mit einer höchsten Leistungsgüte und Datenobjekte mit niedrigerem Einordnen (ranking) in Speichermedien220 ,230 mit niedrigerer Leistungsgüte. Zusätzlich kennzeichnet die Speicherverwaltungseinheit250 Datenobjekte mit einem Einordnen (ranking) unter einem bestimmten zweiten Schwellenwert für eine Löschung. - Bezugnehmend auf
6 wird in Schritt S400 ein neues Datenobjekt130 empfangen und in Schritt S410 in dem Speicherpool200 gespeichert. Falls ein neues Datenobjekt130 an den Dateispeicherpool200 gesendet oder in diesem aktualisiert wird, empfängt die Analyseeinheit300 in Schritt S420 eine automatisierte Benachrichtigung. Die Analyseeinheit300 startet wiederum in Schritt S500 einen Analyseprozess des neuen Datenobjekts130 bezüglich des Inhalts des neuen Datenobjekts130 . - In Schritt S510 führt die Analyseeinheit
300 eine Klassifizierung des neuen Datenobjekts130 durch und verwendet hierzu die Klassifizierungskomponente310 , die einen Typ des neuen Datenobjekts130 wie z.B. Bild132 , Text134 , Audiodatei136 oder Videodatei138 ermittelt. Die Klassifizierungskomponente310 analysiert hierfür eine Datenobjekterweiterung, bei der es sich um ein Suffix zu dem Namen des neuen Datenobjekts130 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 Analyseeinheit300 die Datenobjekte132 ,134 ,136 ,138 in verschiedene Datenobjektklassen312 ,314 ,316 ,318 ein. - In Schritt S520 führt die Analyseeinheit
300 unter Verwendung der Gruppierungskomponente320 die Gruppierung der Datenobjekte132 ,134 ,136 ,138 einer jeden Datenobjektklasse312 ,314 ,316 ,318 durch. Im Allgemeinen erzeugt die Gruppierungskomponente320 einen n-dimensionalen Gruppierungsvektor G für jedes Datenobjekt132 ,134 ,136 ,138 , der für das Datenobjekt132 ,134 ,136 ,138 steht. Auf der Grundlage der Gruppierungsvektoren G erzeugt die Analyseeinheit300 nach einem Teilabgleichsgrundsatz Gruppen322 ,324 ,326 . Ein variabler und ein benutzerdefinierter Abgleichungsparameter werden verwendet, um zu ermitteln, ob zwei Datenobjekte132 ,134 ,136 ,138 zur selben Gruppe322 ,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. Bilder312 , Text314 , Musik316 oder Video318 . Im Folgenden wird der Gruppierungsprozess in einem ersten Beispiel für Bilder312 und in einem zweiten Beispiel für Textdateien314 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 Analyseeinheit300 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 Analyseeinheit300 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 Analyseeinheit300 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 Gruppierungskomponente320 der Analyseeinheit300 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 Textdateien314 erfolgt. Um die Gruppierung vorzunehmen, erzeugt die Gruppierungskomponente320 der Analyseeinheit300 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 Analyseeinheit300 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 Analyseeinheit300 übereinstimmende Schlüsselsätze noch genauer ermitteln. Wenn der Benutzer diese Übereinstimmung als annehmbar betrachtet, fügt die Gruppierungskomponente320 der Analyseeinheit300 den ersten und den zweiten Text derselben Gruppe hinzu. - In Schritt S530 führt die Analyseeinheit
300 unter Verwendung der Ranking-Komponente330 das Einordnen (ranking) der Datenobjekte132 ,134 ,136 ,138 einer jeden Datenobjektgruppe322 ,324 ,326 durch. Die Ranking-Komponente330 der Analyseeinheit300 ordnet die Datenobjekte132 ,134 ,136 ,138 innerhalb einer jeden Gruppe322 ,324 ,326 auf der Grundlage der Qualität der Datenobjekte132 ,134 ,136 ,138 entsprechend ihrer Rangfolge. Die Qualität wird durch den Inhalt der Datenobjekte132 ,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 Datenobjekt132 ,134 ,136 ,138 innerhalb einer Gruppe322 ,324 ,326 verschiedene Migrationsrichtlinien durch. Datenobjekte132 ,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 Speichermedium210 mit der höchsten Leistung wie z.B. ein SSD- oder Hochleistungsfestplattenlaufwerk sein. Datenobjekte132 ,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 Speichermedium220 mit niedrigerer Leistung wie z.B. ein Bandlaufwerk sein. Datenobjekte132 ,134 ,136 ,138 mit der niedrigsten Rangstufe, z.B. der Rangstufe N, können in einen Bronze-Speicherpool230 verschoben werden. Diese Datenobjekte132 ,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 Gruppierungskomponente320 der Analyseeinheit300 durchgeführt wird. Mit Blick auf7 weist das gezeigte Beispiel einer Datenobjektgruppe sechs ähnliche, jedoch nicht identische Datenobjekte130A ,130B ,130C ,130D ,130E ,130F auf, wie sie durch die Gruppierungskomponente320 identifiziert werden. Um den unterschiedlichen Dateninhalt kenntlich zu machen, weist ein erstes Datenobjekt130A zwölf erste Daten-Chunks140 , die durch eine erste Schraffur und eine erste Form dargestellt sind, neun zweite Daten-Chunks142 , die durch eine zweite Schraffur und eine zweite Form dargestellt sind, und zehn dritte Daten-Chunks144 auf, die durch eine dritte Schraffur und eine dritte Form dargestellt sind. Ein zweites Datenobjekt130B weist elf erste Daten-Chunks140 , die durch die erste Schraffur und die erste Form dargestellt sind, acht zweite Daten-Chunks142 , die durch die zweite Schraffur und die zweite Form dargestellt sind, und neun dritte Daten-Chunks144 auf, die durch die dritte Schraffur und die dritte Form dargestellt sind. Ein drittes Datenobjekt130C weist elf erste Daten-Chunks140 , die durch die erste Schraffur und die erste Form dargestellt sind, acht zweite Daten-Chunks142 , die durch die zweite Schraffur und die zweite Form dargestellt sind, neun dritte Daten-Chunks144 , die durch die dritte Schraffur und die dritte Form dargestellt wird, einen vierten Daten-Chunk140A , der durch die erste Form ohne Schraffur, einen fünften Daten-Chunk142A dargestellt ist, der durch die zweite Form ohne Schraffur dargestellt ist, und einen sechsten Daten-Chunk144A auf, der durch die dritte Form ohne Schraffur dargestellt ist. Ein viertes Datenobjekt130D weist zehn erste Daten-Chunks140 , die durch die erste Schraffur und die erste Form dargestellt sind, sieben zweite Daten-Chunks142 , die durch die zweite Schraffur und die zweite Form dargestellt sind, und acht dritte Daten-Chunks144 auf, die durch die dritte Schraffur und die dritte Form dargestellt sind. Ein fünftes Datenobjekt130E weist zwölf siebte Daten-Chunks140B , die durch eine vierte Schraffur und die erste Form dargestellt sind, neun achte Daten-Chunks142B , die durch eine fünfte Schraffur und die zweite Form, und zehn dritte Daten-Chunks144B auf, die durch eine sechste Schraffur und die dritte Form dargestellt sind. Ein sechstes Datenobjekt130F weist zehn erste Daten-Chunks140 , die durch die erste Schraffur und die erste Form dargestellt sind, sieben zweite Daten-Chunk142 , die durch die zweite Schraffur und die zweite Form dargestellt sind, sechs dritte Daten-Chunks144 , die durch die dritte Schraffur und die dritte Form dargestellt sind, einen vierten Daten-Chunk140A , der durch die erste Form ohne Schraffur dargestellt ist, einen fünften Daten-Chunk142A , der durch die zweite Form ohne Schraffur dargestellt ist, einen sechsten Daten-Chunk144A , der durch die dritte Form ohne Schraffur dargestellt ist, einen zehnten Daten-Chunk140C , der durch die fünfte Schraffur und die erste Form dargestellt ist, einen fünften Daten-Chunk142A , der durch die zweite Form ohne Schraffur dargestellt ist, einen elften Daten-Chunk142C , der durch die vierte Schraffur und die zweite Form dargestellt ist, einen sechsten Daten-Chunk144A , der durch die dritte Form ohne Schraffur dargestellt ist, einen zwölften Daten-Chunk144B , der durch die sechste Schraffur und die dritte Form dargestellt ist, einen dreizehnten Daten-Chunk144C , der durch die vierte Schraffur und die dritte Form, und einen vierzehnten Daten-Chunk144D 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)
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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.
- 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.
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)
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)
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 | 腾讯科技(深圳)有限公司 | 一种离线下载视频文件的方法、系统 |
-
2013
- 2013-08-26 GB GB1315180.8A patent/GB2517688A/en not_active Withdrawn
-
2014
- 2014-08-13 DE DE201410111571 patent/DE102014111571A1/de active Pending
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 |