DE112007003645T5 - Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung - Google Patents
Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung Download PDFInfo
- Publication number
- DE112007003645T5 DE112007003645T5 DE112007003645T DE112007003645T DE112007003645T5 DE 112007003645 T5 DE112007003645 T5 DE 112007003645T5 DE 112007003645 T DE112007003645 T DE 112007003645T DE 112007003645 T DE112007003645 T DE 112007003645T DE 112007003645 T5 DE112007003645 T5 DE 112007003645T5
- Authority
- DE
- Germany
- Prior art keywords
- section
- directory
- data
- input data
- sections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
einen Abschnittspeicher, der dafür eingerichtet ist, Musterdatenabschnitte zu enthalten,
einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis zu enthalten, das wenigstens einen Teil eines Datensatzes repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst,
wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte zu verarbeiten und wenigstens ein Verzeichnis im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt enthält, der wenigstens einem der Eingabedatenabschnitte entspricht.
Description
- HINTERGRUND DER ERFINDUNG
- Daten, die auf einem primären Datenträger gehalten werden, können auch auf einen sekundären Datenträger gesichert (engl. backed-up) werden. Der sekundäre Datenträger kann sich an einem anderen Ort als der primäre Datenträger befinden. Sollte ein auch nur teilweiser Datenverlust auf dem primären Datenträger auftreten, können die Daten mittels des sekundären Datenträgers wiederhergestellt werden. Der sekundäre Datenträger kann auch eine zeitliche Entwicklung der auf dem primären Datenträger gespeicherten Daten über einen Zeitraum enthalten. Auf Anfrage durch einen Benutzer kann der sekundäre Datenträger dem Benutzer die Daten bereitstellen, die auf dem primären Datenträger zu einem bestimmten Zeitpunkt gespeichert waren.
- Datensicherungsvorgänge können wöchentlich, täglich, stündlich oder in anderen Intervallen ausgeführt werden. Die Daten können inkrementell gesichert werden, wobei nur die Änderungen, die an den Daten auf dem primären Datenträger seit der letzten Sicherung vorgenommen wurden, auf den sekundären Datenträger übertragen werden. Es können auch Vollsicherungen ausgeführt werden, bei denen der gesamte Inhalt des primären Datenträgers auf den sekundären Datenträger kopiert wird. Es existieren viele weitere Sicherungsstrategien.
- Beim Erstellen von Sicherungskopien von Daten kann ein bestimmter Teil der zu sichernden Daten bereits vorher auf dem primären Datenträger gespeichert sein, was insbesondere dann der Fall sein kann, wenn Vollsicherungen ausgeführt werden. Das mehrfache Speichern derselben Daten stellt eine ineffiziente Nutzung eines Datenträgers dar.
- ZUSAMMENFASSUNG DER ERFINDUNG
- In einer Ausführungsform stellt die vorliegende Erfindung eine Datenverarbeitungsvorrichtung bereit, die Folgendes umfasst: einen Abschnittspeicher (engl. chunk store), der dafür eingerichtet ist, Musterdatenabschnitte (engl. specimen data chunk) zu enthalten, einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis (engl. manifest) zu enthalten, das wenigstens einen Teil eines Datensatzes repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte zu verarbeiten und wenigstens ein Verzeichnis im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt enthält, der wenigstens einem der Eingabedatenabschnitte entspricht.
- In einer Ausführungsform ist die Datenverarbeitungsvorrichtung dafür eingerichtet, das identifizierte wenigstens eine Verzeichnis zu analysieren und wenigstens einen Verweis auf einen Musterdatenabschnitt zu identifizieren, der wenigstens einem weiteren Eingabedatenabschnitt entspricht.
- In einer Ausführungsform ist die Datenverarbeitungsvorrichtung dafür eingerichtet, wenigstens einen der Eingabedatenabschnitte als einen Musterdatenabschnitt im Abschnittspeicher zu speichern, falls für den wenigstens einen Eingabedatenabschnitt im Einsatz festgestellt werden sollte, dass er nicht wenigstens einem der Musterdatenabschnitte im Abschnittspeicher entspricht.
- In einer Ausführungsform ist die Datenverarbeitungsvorrichtung dafür eingerichtet, einen Abschnittindex zu umfassen, der Information enthält, die die Musterdatenabschnitte betrifft, die im Abschnittspeicher enthalten sind.
- In einer Ausführungsform ist die Datenverarbeitungsvorrichtung dafür eingerichtet, einen Abschnittindex zu umfassen, der Information enthält, die nur einige der Musterdatenabschnitte betrifft, die im Abschnittspeicher enthalten sind.
- In einer Ausführungsform ist die Vorrichtung dafür eingerichtet, den entsprechenden Musterdatenabschnitt unter Verwendung der im Abschnittindex enthaltenen Information zu identifizieren.
- In einer Ausführungsform enthält die im Abschnittindex enthaltene Information Einzelheiten über wenigstens ein Verzeichnis im Verzeichnisspeicher, das einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst.
- In einer Ausführungsform umfasst die im Abschnittindex enthaltene Information eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte.
- In einer Ausführungsform ist die Abschnittkennung eine partielle Abschnittkennung, die einem oder mehreren der Musterdatenabschnitte entspricht.
- In einer Ausführungsform ist die Vorrichtung dafür eingerichtet, für einen zu verarbeitenden Eingabedatenabschnitt eine Abschnittkennung zu erzeugen.
- In einer Ausführungsform ist die Vorrichtung dafür eingerichtet, den entsprechenden Musterdatenabschnitt zu identifizieren, indem sie die Abschnittkennung des Musterdatenabschnitts mit der Abschnittkennung des Eingabedatenabschnitts vergleicht.
- In einer Ausführungsform ist der Verzeichnisspeicher dafür eingerichtet, Information zu enthalten, die das wenigstens eine darin gespeicherte Verzeichnis betrifft.
- In einer Ausführungsform umfasst der Verzeichnisspeicher eine Abschnittkennung für den wenigstens einen Musterdatenabschnitt, auf den das wenigstens eine Verzeichnis verweist.
- In einer Ausführungsform ist die Datenverarbeitungsvorrichtung dafür eingerichtet, das identifizierte wenigstens eine Verzeichnis zu analysieren und wenigstens einen Verweis auf einen Musterdatenabschnitt zu identifizieren, der wenigstens einem weiteren Eingabedatenabschnitt entspricht, indem sie eine Abschnittkennung eines Eingabedatenabschnitts mit der Abschnittkennung des wenigstens einen Musterdatenabschnitts
6 vergleicht, der im Verzeichnisspeicher gespeichert ist. - In einer Ausführungsform hat ein entsprechender Musterdatenabschnitt eine Abschnittkennung, die wenigstens teilweise ähnlich zu einer Abschnittkennung eines Eingabedatenabschnitts ist.
- In einer weiteren Ausführungsform stellt die vorliegende Erfindung eine Datenverarbeitungsvorrichtung bereit, die Folgendes umfasst: einen Abschnittspeicher, der Musterdatenabschnitte zuvor verarbeiteter Datensätze enthält, einen Abschnittindex, der eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen zuvor verarbeiteten Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, zu verarbeitende Eingabedaten in Eingabedatenabschnitte aufzuteilen; eine Abschnittkennung für wenigstens einen der Eingabedatenabschnitte zu erzeugen, eine entsprechende Abschnittkennung im Abschnittindex zu identifizieren; und daraus wenigstens eines der Verzeichnisse im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der identisch mit dem Eingabedatenabschnitt ist.
- In einer weiteren Ausführungsform stellt die vorliegende Erfindung einen Datenverdichter bereit, der Folgendes umfasst: einen Abschnittspeicher, der dafür eingerichtet ist, Musterdatenabschnitte zu enthalten, einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis zu enthalten, das einen Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei der Verdichter dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte aufzuteilen, einen der Eingabedatenabschnitte auszuwählen und wenigstens ein Verzeichnis zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der dem ausgewählten Eingabedatenabschnitt entspricht, und das wenigstens eine identifizierte Verzeichnis auf Verweise auf weitere Musterdatenabschnitte zu untersuchen, die weiteren Eingabedatenabschnitten des Datensatzes entsprechen.
- In einer weiteren Ausführungsform stellt die vorliegende Erfindung ein Verfahren zur Verarbeitung von Eingabedaten bereit, das Folgendes einsetzt: einen Abschnittspeicher, der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei das Verfahren Folgendes umfasst: das Verarbeiten der Eingabedaten in Eingabedatenabschnitte und das Identifizieren wenigstens eines Verzeichnisses im Verzeichnisspeicher, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der einem der Eingabedatenabschnitte entspricht.
- In einer Ausführungsform umfasst das Verfahren das Überprüfen des identifizierten wenigstens einen Verzeichnisses, um wenigstens einen weiteren Musterdatenabschnitt zu finden, der wenigstens einem weiteren der Eingabedatenabschnitte der Eingabedaten entspricht.
- In einer weiteren Ausführungsform stellt die vorliegende Erfindung ein Verfahren zur Verarbeitung von Eingabedaten bereit, das Folgendes einsetzt: einen Abschnittspeicher, der Musterdatenabschnitte zuvor verarbeiteter Datensätze enthält, einen Abschnittindex, der eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen zuvor verarbeiteten Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei das Verfahren Folgendes umfasst, das Aufteilen der Eingabedaten in Eingabedatenabschnitte, das Erzeugen einer Abschnittkennung für einen der Eingabedatenabschnitte, das Identifizieren einer entsprechenden Abschnittkennung im Abschnittindex und daraus das Identifizieren wenigstens eines Verzeichnisses in der Verzeichnisdatenbasis, das einen Verweis auf einen Musterdatenabschnitt enthält, der identisch mit dem Eingabedatenabschnitt ist.
- KURZE BESCHREIBUNG DER ZEICHNUNG
- Es werden nun Ausführungsformen der Erfindung beschrieben, wobei diese nur beispielhaft und mit Bezug auf die beigefügte Zeichnung beschrieben sind, in der:
-
1 eine schematische Darstellung eines Datensatzes zeigt; -
2 eine schematische Darstellung einer Datenverarbeitungsvorrichtung3 zeigt, die eine Ausführungsform der vorliegenden Erfindung ist; -
3 eine schematische Darstellung der Datenverarbeitungsvorrichtung3 aus2 im Einsatz zeigt; -
4 eine schematische Darstellung eines weiteren Datensatzes zeigt; -
5 eine schematische Darstellung einer weiteren Datenverarbeitungsvorrichtung3 zeigt, die eine Ausführungsform der vorliegenden Erfindung ist; -
6 ein Flussdiagramm eines Verfahrens der vorliegenden Erfindung darstellt; -
7 eine schematische Darstellung der Datenverarbeitungsvorrichtung aus5 zeigt, die mit mehreren Verzeichnissen und Musterdatenabschnitten gefüllt ist. - DETAILLIERTE BESCHREIBUNG
-
1 zeigt eine schematische Darstellung eines Datensatzes1 . Ein Datensatz1 kann kürzer oder länger als der in1 dargestellte sein. Ein Datensatz1 enthält eine Datenmenge, die in der Größenordnung von 10 Byte, 1000 Byte oder vielen Millionen Byte liegen kann. Ein Datensatz kann allen Daten für einen gegebenen Sicherungsvorgang entsprechen, oder wenigstens einem Teil eines größeren Datensatzes. - Ein Sicherungsdatensatz kann einen kontinuierlichen Datenstrom oder einen diskontinuierlichen Datenstrom umfassen. Unabhängig davon kann der Datensatz verschiedene einzelne Dateien oder Teile von Dateien enthalten. Der Datensatz muss nicht in die einzelnen Dateien, die er enthält, aufgeteilt sein. Der Datensatz kann eingebettete Informationen enthalten, die Verweise auf die Grenzen der einzelnen im Datensatz enthaltenen Dateien umfassen. Der Datensatz kann dann gegebenenfalls leichter in seine ihn bildenden Komponenten zerlegt werden. Die Größe der eingebetteten Informationen kann einen erheblichen Anteil der gesamten Daten darstellen. Das Sichern von Daten mit eingebetteten Dateiinformationen erhöht die erforderliche Kapazität des Datenträgers.
- Eine Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, ist dafür eingerichtet, einen Eingabedatensatz in einen oder mehrere Eingabedatenabschnitte zu verarbeiten. Ein Eingabedatensatz kann in mehrere Eingabedatenabschnitte aufgeteilt werden. Jeder Eingabedatenabschnitt kann einer einzelnen Datei, einem Teil einer einzelnen Datei oder einer Gruppe einzelner Dateien innerhalb des Eingabedatensatzes entsprechen. Die Verarbeitung des Datensatzes in Eingabedatenabschnitte kann basierend auf Eigenschaften der Eingabedaten als Ganzes geschehen, mit wenig oder keinerlei Berücksichtigung der einzelnen darin enthaltenen Dateien. Die Grenzen der Datenabschnitte können mit den Dateigrenzen zusammenfallen oder auch nicht. Die Datenabschnitte können genau gleich sein oder in der Größe variieren.
-
1 zeigt eine schematische Darstellung eines Eingabedatensatzes1 , der in Datenabschnitte2 aufgeteilt ist. Aus Gründen der Zweckmäßigkeit ist jeder Eingabedatenabschnitt in1 von A–D bezeichnet, was angibt, dass die Datenabschnitte2 voneinander verschieden sind. Der Eingabedatensatz1 kann gegebenenfalls in mehr Eingabedatenabschnitte2 aufgeteilt werden, als diejenigen, die in1 dargestellt sind. Die Größe eines Eingabedatensatzes1 kann viele Terabyte betragen und er kann in 1 Milliarde Eingabedatenabschnitte verarbeitet werden. Dem Fachmann sind spezielle Verfahren bekannt, um zu bestimmen, wie der Eingabedatensatz1 in Eingabedatenabschnitte2 verarbeitet wird und welche Information jeder Eingabedatenabschnitt2 enthält. -
2 zeigt eine Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist. Die Datenverarbeitungsvorrichtung3 umfasst einen Abschnittspeicher4 und einen Verzeichnisspeicher5 . Der Verzeichnisspeicher5 ist separat, und getrennt, vom Abschnittspeicher4 , es können jedoch auch beide Speicher4 ,5 sich auf einem gemeinsamen Datenträger oder Speichergerät befinden. Wenn ein Eingabedatensatz1 von der Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, verarbeitet wird, werden die Eingabedatenabschnitte2 als Musterdatenabschnitte6 im Abschnittspeicher4 gespeichert, wie in3 dargestellt ist. Ein Musterdatenabschnitt6 ist ein Duplikat eines Eingabedatenabschnitts2 . Der Abschnittspeicher4 kann gegebenenfalls mehrere Musterdatenabschnitte6 speichern. Der Abschnittspeicher4 kann alle Eingabedatenabschnitte2 enthalten, die zuvor von der Datenverarbeitungsvorrichtung3 verarbeitet wurden. - In einer Ausführungsform sind sowohl der Abschnittspeicher
4 wie auch der Verzeichnisspeicher5 in nicht-flüchtigem Speicher angelegt. - Wenn ein Eingabedatenabschnitt
2 dem Abschnittspeicher4 als Musterdatenabschnitt6 hinzugefügt wird, wird ein Verzeichnis7 zusammengestellt. Ein Verzeichnis7 ist eine Repräsentation eines Datensatzes1 . Das Verzeichnis7 umfasst Verweise auf Musterdatenabschnitte6 im Abschnittspeicher4 , die den Eingabedatenabschnitten2 entsprechen, die im Eingabedatensatz1 enthalten sind. Die Verweise im Verzeichnis7 können somit als Metadaten zu Musterdatenabschnitten6 interpretiert werden. Falls die Verweise auf Musterdatenabschnitte6 eines gegebenen Verzeichnisses7 bezüglich der Größe kleiner sind als die Musterdatenabschnitte6 auf die im Verzeichnis7 verwiesen wird, dann ist zu erkennen, dass ein Verzeichnis7 bezüglich der Größe kleiner sein kann als der Eingabedatensatz1 , den es repräsentiert. - Nachdem ein Eingabedatensatz
1 in Eingabedatenabschnitte2 verarbeitet und ein Verzeichnis7 zusammengestellt wurde, das den Eingabedatensatz1 repräsentiert, wird das Verzeichnis7 im Verzeichnisspeicher5 gespeichert, wie schematisch in3 dargestellt ist. - Falls ein Benutzer einer Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, beabsichtigt die Daten eines gegebenen Eingabedatensatzes1 wiederherzustellen – was sich auf eine Sicherung beziehen kann, die zu einem bestimmten Zeitpunkt vorgenommen wurde – wird der Benutzer das entsprechende Verzeichnis7 aus dem Verzeichnisspeicher5 abrufen. Jeder Verweis im Verzeichnis7 auf Musterdatenabschnitte6 im Abschnittspeicher4 wird dann verwendet, um den originalen Datensatz1 zu rekonstruieren. - Eine schematische Darstellung eines zu verarbeitenden zweiten Eingabedatensatzes
11 wird in4 gezeigt. Ohne die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, könnte es sein, dass der zweite Eingabedatensatz11 in seiner Gesamtheit gespeichert wird. Daher gilt, dass, obwohl beide Eingabedatensätze1 ,11 die gemeinsamen Eingabedatenabschnitte A, B und C umfassen, beide Vorkommen jedes dieser Abschnitte gespeichert würden, was eine ineffiziente Nutzung des Datenträgers darstellt. - Mit der Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, gilt, dass wenn der Eingabedatensatz11 der Datenverarbeitungsvorrichtung3 zugeführt wird, der Eingabedatensatz11 in Eingabedatenabschnitte12 verarbeitet wird. Eine Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, ist dafür eingerichtet, wenigstens ein Verzeichnis7 im Verzeichnisspeicher5 zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt6 umfasst, der wenigstens einem der Eingabedatenabschnitte12 aus dem zweiten Eingabedatensatz11 entspricht. Beim Verarbeiten des in4 dargestellten Eingabedatensatzes11 wird die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, feststellen, dass das im Verzeichnisspeicher5 gespeicherte Verzeichnis7 einen Verweis auf einen Musterdatenabschnitt6 umfasst, der wenigstens einem der Eingabedatenabschnitte12 entspricht. In diesem Beispiel kann die Datenverarbeitungsvorrichtung gegebenenfalls feststellen, dass das Verzeichnis7 Verweise auf die Musterdatenabschnitte A, B und C umfasst. Nach dieser Feststellung wird die Datenverarbeitungsvorrichtung3 die Eingabedatenabschnitte A, B und C nicht erneut im Abschnittspeicher4 speichern, da sie hierin bereits als Musterdatenabschnitte6 vorhanden sind. Stattdessen wird das für den Eingabedatensatz11 zusammengestellte Verzeichnis Verweise auf Musterdatenabschnitte A, B und C umfassen, die sich bereits im Abschnittspeicher4 befinden. - Es ist zu bemerken, dass der Abschnittspeicher
4 keine Musterdatenabschnitte6 enthält, die den Eingabedatenabschnitten E und F entsprechen. Analog enthält das Verzeichnis6 im Verzeichnisspeicher5 keine Verweise auf Musterdatenabschnitte6 , die den Eingabedatenabschnitten E und F entsprechen. Die Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, ist dafür eingerichtet zu bestimmen, dass der Abschnittspeicher4 nicht bereits Musterdatenabschnitte6 enthält, die den Eingabedatenabschnitten E und F entsprechen. Demgemäß kann die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, die Eingabedatenabschnitte E und F als Musterdatenabschnitte6 im Abschnittspeicher4 speichern. Es wird dann das Verzeichnis für den Eingabedatensatz12 vervollständigt, indem Verweise auf die Musterdatenabschnitte E und F hinzugefügt werden. Das neue Verzeichnis wird daraufhin zum Verzeichnisspeicher5 hinzugefügt. - In einer Ausführungsform gilt, dass nachdem die Datenverarbeitungsvorrichtung
3 ein Verzeichnis mit Verweisen auf die Musterdatenabschnitte A, B und C teilweise zusammengestellt hat, die Datenverarbeitungsvorrichtung3 dafür eingerichtet ist, einen der Eingabedatenabschnitte E und F auszuwählen und zu versuchen wenigstens ein Verzeichnis7 im Verzeichnisspeicher5 zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt6 enthält, der einem der Eingabedatenabschnitte E und F entspricht. Im dargestellten Beispiel werden keine solchen Verzeichnisse ermittelt. Die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, kann dafür eingerichtet sein, Verzeichnisse7 zu identifizieren, die Verweise auf Musterdatenabschnitte enthalten, die jedem der Eingabedatenabschnitte2 eines Eingabedatensatzes1 entsprechen. - Als ein Ergebnis wird der Abschnittspeicher
4 nur ein Exemplar jedes Musterdatenabschnitts6 enthalten, was eine effiziente Nutzung des Abschnittspeichers4 darstellt. Der Ressourcenbedarf der Speicherung des ersten 1 und zweiten 11 Eingabedatensatzes unter Verwendung der Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, kann kleiner sein als der Ressourcenbedarf der Speicherung des ersten 1 und zweiten 11 Eingabedatensatzes ohne die Verwendung eines Prozessors, der eine Ausführungsform der vorliegenden Erfindung ist. - Mit der Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, verarbeitet die Datenverarbeitungsvorrichtung3 den Eingabedatensatz11 in Eingabedatenabschnitte12 . Die Datenverarbeitungsvorrichtung kann dafür eingerichtet sein, aus dem Eingabedatensatz11 einen Eingabedatenabschnitt12 auszuwählen. Die Auswahl kann der erste Eingabedatenabschnitt12 im Eingabedatensatz11 sein oder es kann eine andere Auswahl sein. Die Auswahl eines Eingabedatenabschnitts12 aus dem aufgeteilten Eingabedatensatz11 kann zufällig oder pseudo-zufällig sein. - Die Datenverarbeitungsvorrichtung
3 verwendet den ausgewählten Eingabedatenabschnitt12 , um ein Verzeichnis7 zu identifizieren, das bereits im Verzeichnisspeicher5 gespeichert ist und das wenigstens einen Verweis auf einen Musterdatenabschnitt6 enthält, der dem ausgewählten Eingabedatenabschnitt2 entspricht. Falls die Datenverarbeitungsvorrichtung3 den ersten Eingabedatenabschnitt ,A' auswählt, wird das Verzeichnis7 im Verzeichnisspeicher5 identifiziert. - Nachdem wenigstens ein Verzeichnis
7 im Verzeichnisspeicher5 identifiziert wurde, das einen Verweis auf einen Musterdatenabschnitt6 hat, ist die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, dafür eingerichtet, das wenigstens eine Verzeichnis7 zu analysieren, um einen Verweis auf einen Musterdatenabschnitt6 zu identifizieren, der wenigstens einem weiteren Eingabedatenabschnitt12 entspricht. Bei dieser Vorgehensweise ist die Datenverarbeitungsvorrichtung3 dafür eingerichtet, für den in4 dargestellten Eingabedatensatz12 festzustellen, dass das Verzeichnis7 einen Verweis nicht nur auf den Musterdatenabschnitt A enthält, sondern auch auf die Musterdatenabschnitte B und C. Somit gilt, dass mit der Feststellung, dass ein Verzeichnis7 einen Verweis auf einen Musterdatenabschnitt6 enthält, der nur einem Eingabedatenabschnitt12 entspricht, die Datenverarbeitungsvorrichtung3 dafür eingerichtet ist, Verweise auf Musterdatenabschnitte6 12 zu identifizieren, die weiteren Eingabedatenabschnitten12 im selben Eingabedatensatz11 entsprechen. - Ein Vorteil der Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, ist es, dass eine vollständige Durchsuchung des Abschnittspeichers4 für jeden einzelnen Eingabedatenabschnitt2 , um zu bestimmen, ob er bereits als Musterdatenabschnitt6 gespeichert wurde, nicht erforderlich ist. Stattdessen kann die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, die Verzeichnisse7 verwenden, die für zuvor verarbeitete und gespeicherte Datensätze erzeugt wurden. Die Vorteile der Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, werden darüber hinaus deutlich, wenn die verarbeiteten Eingabedatensätze weitgehend ähnlich zu zuvor verarbeiteten Datensätzen sind. Beispielsweise kann zwischen zwei Vollsicherungsvorgängen nur ein kleiner Teil der jeweiligen Datensätze verschieden sein. Die Notwendigkeit einer systematischen Durchsuchung aller im Abschnittspeicher4 gespeicherten Musterdatenabschnitte6 , um zu jedem Eingabedatenabschnitt eines Eingabedatensatzes einen entsprechenden Musterdatenabschnitt6 zu finden, ist ineffizient und zeitaufwendig. - Die Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, ist dazu fähig, den Umstand auszunutzen, dass jeder verarbeitete Eingabedatensatz1 ähnlich sein kann. Somit können vorherige ähnliche Verzeichnisse verwendet werden, um wenigstens einen Teil eines neuen Verzeichnisses für den neuesten Eingabedatensatz zusammenzustellen. - In einer Ausführungsform gilt, dass die Datenverarbeitungsvorrichtung
3 dafür eingerichtet ist, nach der Identifizierung des wenigstens einen Verzeichnisses innerhalb dieses Verzeichnisses nach allen weiteren Verweisen auf Musterdatenabschnitte6 im Abschnittspeicher4 zu suchen, um Musterdatenabschnitte6 zu identifizieren, die weiteren Eingabedatenabschnitten2 des gerade verarbeiteten Eingabedatensatzes1 entsprechen. In einer Ausführungsform wird die Suche ausgeführt, indem jeder Eingabedatenabschnitt2 aus dem Eingabedatensatz1 ausgewählt wird, bis auf den bereits ausgewählten Eingabedatenabschnitt2 , und er mit jedem Verweis in dem wenigstens einen identifizierten Verzeichnis verglichen wird. Wenn ein Verweis auf einen entsprechenden Musterdatenabschnitt6 gefunden wird, wird der Eingabedatenabschnitt2 in einem neuen Verzeichnis durch einen Verweis auf den Musterdatenabschnitt6 repräsentiert. Nachfolgende Eingabedatenabschnitte2 werden dann für nachfolgende Suchen ausgewählt. Der Suchvorgang kann andauern, bis alle Eingabedatenabschnitte2 mit allen Verweisen in dem einen oder den mehreren identifizierten Verzeichnissen verglichen wurden. - In einer weiteren Ausführungsform kann der Suchvorgang beendet werden, wenn eine vorgegebene Zahl Verweise auf Musterdatenabschnitte
6 , die Eingabedatenabschnitten2 entsprechen, gefunden wurde. In einer weiteren Ausführungsform kann der Suchvorgang beendet werden, wenn es dem Datenprozessor3 nicht gelang, Verweise auf Musterdatenabschnitte6 zu finden, die einer vorgegebenen Zahl Eingabedatenabschnitte2 im Eingabedatensatz1 entsprechen. Ein Vorteil dieser Ausführungsform ist, dass Verzeichnisse, die keine Verweise auf Musterdatenabschnitte6 enthalten, die irgendwelchen anderen Eingabedatenabschnitten2 entsprechen, schnell vom Suchvorgang ausgeschlossen werden können. - In einer weiteren Ausführungsform gilt, dass nach dem Identifizieren des wenigstens einen Verzeichnisses unter Verwendung eines ausgewählten Eingabedatenabschnitts, der Suchvorgang zur Identifizierung von Verweisen auf Musterdatenabschnitte
6 , die weiteren Eingabedatenabschnitten2 entsprechen, auf den ausgewählten Eingabedatenabschnitt basiert, oder zentriert, werden kann, der dazu geführt hat, dass das wenigstens eine Verzeichnis durch die Datenverarbeitungsvorrichtung3 identifiziert wurde. Beispielsweise sei mit Bezug auf4 angenommen, dass der Eingabedatenabschnitt B von der Datenverarbeitungsvorrichtung3 ausgewählt wurde, und das im Verzeichnisspeicher5 gespeicherte Verzeichnis6 wie oben identifiziert wurde. Es ist zu bemerken, dass benachbart zum Verweis auf den Musterdatenabschnitt B im Verzeichnis6 sich Verweise auf die Musterdatenabschnitte A und C befinden. Analog befinden sich benachbart zum Musterdatenabschnitt B im Eingabedatensatz12 die Eingabedatenabschnitte A und C. - In einer weiteren Ausführungsform gilt, dass nach dem Identifizieren eines Eingabedatenabschnitts
12 , der einem Musterdatenabschnitt6 entspricht, auf den in einem Verzeichnis verwiesen wird, die Eingabedatenabschnitte12 benachbart zum identifizierten Eingabedatenabschnitt12 mit den Musterdatenabschnitten6 verglichen werden, auf die in den Verweisen verwiesen wird, die benachbart zu dem Verweis auf den Musterdatenabschnitt6 sind, der dem ausgewählten Eingabedatenabschnitt12 entspricht. Somit werden die Eingabedatenabschnitte A und C mit den Musterdatenabschnitten A und C verglichen. In diesem Beispiel wird festgestellt, dass sie einander entsprechen. Somit gilt, dass die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, dafür eingerichtet ist, festzustellen, dass zwei weitere Musterdatenabschnitte6 im Abschnittspeicher4 zweien der Eingabedatenabschnitte12 entsprechen, und dies, indem das identifizierte Verzeichnis7 analysiert wird. Die Identifizierung wird durchgeführt, ohne dass jeder einzelne Eingabedatenabschnitt12 mit jedem Musterdatenabschnitt6 im Abschnittspeicher4 verglichen werden muss. - Ein Vorteil dieser Ausführungsform wird deutlich, wenn der Abschnittspeicher
4 viele Musterdatenabschnitte6 enthält. Es sei angenommen, dass viele der Musterdatenabschnitte6 über einen langen Zeitraum im Abschnittspeicher4 gespeichert waren und neue Eingabedatensätze, die dem Prozessor zugeführt werden, keine Eingabedatenabschnitte2 mehr enthalten, die diesen ,alten' Musterdatenabschnitten6 entsprechen. Es sei außerdem angenommen, dass eine Anzahl der jüngstens verarbeiteten Eingabedatensätze1 Verweise auf die jüngstens zum Abschnittspeicher4 hinzugefügten Musterdatenabschnitte6 enthalten. Ohne die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, würde gegebenenfalls jeder einzelne Eingabedatenabschnitt12 eines neuen Eingabedatensatzes11 mit jedem im Abschnittspeicher4 gespeicherten Musterdatenabschnitt6 verglichen. Eine solche Datenverarbeitungsvorrichtung, die keine Ausführungsform der vorliegenden Erfindung ist, würde daher Eingabedatenabschnitte2 mit Musterdatenabschnitten6 vergleichen, für die es unwahrscheinlich ist, dass sie als übereinstimmend identifiziert werden. Dies würde insbesondere der Fall sein, wenn die ,alten' Musterdatenabschnitte6 am Anfang des Abschnittspeichers4 gespeichert sind und es daher wahrscheinlich ist, dass sie zuerst durchsucht werden. - Die Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, identifiziert andererseits wenigstens ein Verzeichnis7 im Verzeichnisspeicher5 , das wenigstens einen Verweis auf einen Musterdatenabschnitt6 enthält, der wenigstens einem Eingabedatenabschnitt2 entspricht. Ausführungsformen der vorliegenden Erfindung können daher den Umstand ausnutzen, dass Eingabedatensätze, die einen bestimmten Eingabedatenabschnitt enthalten, wobei dieser Eingabedatenabschnitt einem Musterdatenabschnitt6 entspricht, der bereits im Abschnittspeicher4 vorhanden ist, gegebenenfalls auch Eingabedatenabschnitte enthalten können, die weiteren Musterdatenabschnitten6 entsprechen, die bereits im Abschnittspeicher4 gespeichert sind. - In einer Ausführungsform der Erfindung gilt, dass nachdem wenigstens ein Verzeichnis
7 über einen ausgewählten Eingabedatenabschnitt2 identifiziert wurde und falls die Musterdatenabschnitte6 , die den Eingabedatenabschnitten2 entsprechen, die benachbart zum ausgewählten Eingabedatenabschnitt2 liegen, in dem wenigstens einen Verzeichnis nicht identifiziert werden, die Verarbeitungsvorrichtung3 dann versuchen kann, Musterdatenabschnitte6 zu identifizieren, die den Eingabedatenabschnitten2 entsprechen die nächstfolgend benachbart zum ausgewählten Eingabedatenabschnitt2 liegen. Falls die Verarbeitungsvorrichtung nicht in der Lage ist, einen Musterdatenabschnitt6 zu identifizieren, der einem Eingabedatenabschnitt2 innerhalb einer vorgegebenen Anzahl von Iterationen entspricht, kann der Suchvorgang gegebenenfalls beendet werden. Falls mehr als ein Verzeichnis7 von der Verarbeitungsvorrichtung3 dafür identifiziert wurde, einen Verweis auf einen Musterdatenabschnitt6 zu enthalten, der dem ausgewählten Eingabedatenabschnitt2 entspricht, dann kann der Suchvorgang auf einem weiteren identifizierten Verzeichnis7 erneut beginnen. - Die oben beschriebene Technik kann als ,Reißverschlussverfahren' bezeichnet werden, insofern als ein Eingabedatensatz
1 und ein identifiziertes Verzeichnis7 so angeordnet werden, dass ein Eingabedatenabschnitt2 mit dem Verweis im Verzeichnis7 auf einen Musterdatenabschnitt6 im Abschnittspeicher4 ausgerichtet wird, der dem Eingabedatenabschnitt2 entspricht. Die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, versucht dann den Eingabedatensatz1 und das Verzeichnis7 in einem Reißverschlussvorgang zu paaren. Ein erfolgreicher Reißverschlussvorgang ergibt sich, wenn ein Lauf von Eingabedatenabschnitten2 einem Lauf gleicher Größe von Verweisen auf Musterdatenabschnitte6 in einem Verzeichnis7 entspricht. Der Eingabedatensatz1 und ein Verzeichnis7 werden nicht erfolgreich in einer Reißverschlusspaarung zusammenpassen, wenn ein bestimmter Eingabedatenabschnitt2 nicht dem Verweis auf einen Musterdatenabschnitt6 in einem Verzeichnis7 entspricht, für den versucht wird, ihn in einem Reißverschlussvorgang mit dem Eingabedatenabschnitt2 zu paaren. - In einer Ausführungsform stellt die Datenverarbeitungsvorrichtung
3 außerdem einen Abschnittindex8 bereit, wie dies in5 dargestellt ist. Der Abschnittindex8 enthält Information über wenigstens einen der Musterdatenabschnitte6 , die im Abschnittspeicher4 gespeichert sind. In einer Ausführungsform enthält der Abschnittindex8 Information, die nur einige Musterdatenabschnitte6 betrifft, die im Abschnittspeicher4 enthalten sind. Die Musterdatenabschnitte6 über die der Abschnittindex8 Information enthält, können speziell oder zufällig ausgewählt sein. In einer weiteren Ausführungsform kann der Abschnittindex8 Information über jeden Musterdatenabschnitt6 enthalten, der im Abschnittspeicher4 gespeichert ist. - In einer Ausführungsform kann der Abschnittindex
8 in flüchtigem Speicher, wie etwa Speicher mit wahlfreiem Zugriff (RAM), gespeichert sein. - In einer Ausführungsform der vorliegenden Erfindung gilt, dass die im Abschnittindex
8 für einen gegebenen Musterdatenabschnitt6 enthaltene Information gegebenenfalls eine Abschnittkennung des Musterdatenabschnitts umfasst. Eine Abschnittkennung kann ein digitaler Fingerabdruck des Musterdatenabschnitts6 sein, zu dem sie gehört. Die Abschnittkennung kann eine eindeutige Abschnittkennung sein, die für einen bestimmten Musterdatenabschnitt6 eindeutig ist. Der Algorithmus zum Erzeugen von Abschnittkennungen kann so gewählt werden, dass er dazu fähig ist, eindeutige Abschnittkennungen für eine vorgegebene Zahl von Musterdatenabschnitten6 zu erzeugen. In einer Ausführungsform wird die Abschnittkennung unter Verwendung des SHA1 Hash-Algorithmus erzeugt. Es können auch andere Hash-Algorithmen wie etwa SHA2 verwendet werden. In einer Ausführungsform wird der Hash-Algorithmus so gewählt und konfiguriert, dass es im Wesentlichen numerisch unmöglich ist, dass zwei Musterdatenabschnitte6 eine identische Abschnittkennung erzeugen. - In einer weiteren Ausführungsform kann die Information, die im Abschnittindex
8 für einen gegebenen Musterdatenabschnitt6 enthalten ist, lediglich eine partielle Abschnittkennung umfassen. Beispielsweise kann, obwohl der Musterdatenabschnitt6 eine eindeutige Abschnittkennung haben kann, nur ein Teil der Abschnittkennung im Zusammenhang mit dem Eintrag für den Musterdatenabschnitt6 im Abschnittindex8 gespeichert werden. In einer Ausführungsform kann die partielle Abschnittkennung die erste vorgegebene Anzahl von Bits der vollständigen Abschnittkennung umfassen. Umfasst beispielsweise eine vollständige Abschnittkennung für einen gegebenen Musterdatenabschnitt6 20 Bit (wie etwa die vom SHA1-Algorithmus erzeugte), kann der Abschnittindex8 beispielsweise 15 Bit der Abschnittkennung speichern. Die vorgegebenen Bits können die höchstwertigen Bits (MSB) der Abschnittkennung, die niedrigstwertigen Bits (LSBs) oder dazwischenliegende Bits der vollständigen Abschnittkennung sein. Daraus folgt, dass die partiellen Kennungen zweier verschiedener Musterdatenabschnitte6 identisch sein können, obwohl ihre zugehörigen vollständigen Abschnittkennungen voneinander verschieden und eindeutig sind. Ein Vorteil des Speicherns von nur partiellen Abschnittkennungen im Abschnittindex8 ist, dass die Größe des Abschnittindex8 verringert ist. - In einer Ausführungsform werden für einen bestimmten Eintrag im Abschnittindex
8 , der zu einem gegebenen Musterdatenabschnitt6 gehört, Details von wenigstens einem Verzeichnis7 im Verzeichnisspeicher5 gespeichert, das einen Verweis auf den Musterdatenabschnitt6 enthält. In einer Ausführungsform wird eine Liste von Verzeichnissen7 im Verzeichnisspeicher5 gespeichert, die wenigstens einen Verweis auf diesen Musterdatenabschnitt6 enthalten. In einer weiteren Ausführungsform kann gegebenenfalls nur eine partielle Liste der Verzeichnisse7 im Verzeichnisspeicher5 gespeichert werden, die wenigstens einen Verweis auf diesen Musterdatenabschnitt6 enthalten. - In einer Ausführungsform wird für einen gegebenen Eintrag im Abschnittindex
8 , der zu einem Musterdatenabschnitt gehört, ein Verweis auf wenigstens ein Verzeichnis im Verzeichnisspeicher gespeichert, das einen Verweis auf diesen Musterdatenabschnitt umfasst. In einer Ausführungsform kann der Verweis auf das Verzeichnis im Allgemeinen gehen. In einer weiteren Ausführungsform kann der Verweis die Position innerhalb des Verzeichnisses angeben, an der sich ein Verweis auf den Musterdatenabschnitt befindet. - In einer Ausführungsform gilt, dass die im Abschnittindex
8 für einen gegebenen Musterdatenabschnitt enthaltene Information einen Verweis auf die Position des Musterdatenabschnitts6 im Abschnittspeicher4 umfassen. In dieser Ausführungsform führt daher der Abschnittspeicher4 selber gegebenenfalls kein Register der Positionen der darin gespeicherten Musterdatenabschnitte6 . Stattdessen wird die Position der Musterdatenabschnitte6 im Zusammenhang mit dem passenden Eintrag im Abschnittindex8 gespeichert. Der Abschnittindex8 dient daher als ein Index für die im Abschnittspeicher4 gespeicherten Musterdatenabschnitte6 . - Im Einsatz kann der Verzeichnisspeicher
5 viele Verzeichnisse7 enthalten, von denen jedes einen zuvor verarbeiteten Datensatz1 repräsentiert. In einer Ausführungsform enthält der Verzeichnisspeicher5 Information, die jedes darin gespeicherte Verzeichnis7 betrifft. Die Information kann die Eigenschaften umfassen, die jedem Verzeichnis7 zugeordnet sind; wie etwa seine Größe, die Zahl der Verweise, die es enthält, oder den Namen oder andere Details des Datensatzes, den es repräsentiert. Die Information für ein bestimmtes Verzeichnis kann eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte6 enthalten, auf den das Verzeichnis7 verweist. Ein bestimmtes Verzeichnis7 kann somit nicht nur einen Satz von Verweisen auf im Abschnittspeicher4 gespeicherte Musterdatenabschnitte6 umfassen, sondern auch eine Abschnittkennung für jeden der Musterdatenabschnitte6 , auf die verwiesen wird. Die Abschnittkennung kann eine partielle Abschnittkennung sein. - In einer Ausführungsform gilt, dass nachdem wenigstens ein Verzeichnis im Verzeichnisspeicher identifiziert wurde, das wenigstens einen Verweis auf einen Musterdatenabschnitt enthält, der wenigstens einem der Eingabedatenabschnitte entspricht, die Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, dafür eingerichtet ist, das identifizierte Verzeichnis zu analysieren, um Musterdatenabschnitte zu identifizieren, die weiteren Eingabedatenabschnitten entsprechen. In der Ausführungsform, bei der das Verzeichnis eine Abschnittkennung für jeden Musterdatenabschnitt enthält, auf den das Verzeichnis verweist, ist die Datenverarbeitungsvorrichtung dafür eingerichtet, die Abschnittkennung von Eingabedatenabschnitten mit den Abschnittkennungen im Verzeichnis zu vergleichen. Der Vorteil hiervon ist, dass kein Zugriff auf die Information im Abschnittindex
8 erforderlich sein muss. Daher kann die Ausführung einer Vergleichsoperation unter Verwendung des identifizierten Verzeichnisses, und nicht des Abschnittspeichers4 , es gestatten, wenigstens einen Teil der Daten für den Vergleich zu verarbeiten während sie sich im RAM befinden. - Die Verzeichnisinformation kann die Position von wenigstens einem der Musterdatenabschnitte
6 im Abschnittspeicher4 umfassen, auf die ein Verzeichnis7 verweist. In einer weiteren Ausführungsform kann die Position eines Musterdatenabschnitts6 im Abschnittspeicher4 , auf den in einem Verzeichnis7 verwiesen wird, aus der im Abschnittindex8 gespeicherten Information bestimmt werden. - Die Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, ist dafür eingerichtet, eine Abschnittkennung für einen Eingabedatenabschnitt2 zu erzeugen. In einer Ausführungsform ist die Datenverarbeitungsvorrichtung3 dafür eingerichtet, eine Abschnittkennung für jeden Eingabedatenabschnitt2 zu erzeugen, und dies nachdem, oder gleichzeitig damit, dass der Eingabedatensatz1 in Eingabedatenabschnitte2 verarbeitet wurde/wird. - Die für den Eingabedatenabschnitt
2 erzeugte Abschnittkennung kann dann dafür verwendet werden, einen Musterdatenabschnitt6 im Abschnittspeicher4 zu identifizieren, der dem Eingabedatenabschnitt2 entspricht. In einer Ausführungsform wird die Abschnittkennung des Eingabedatenabschnitts2 mit der Abschnittkennung eines Musterdatenabschnitts6 verglichen. Ein Vorteil hiervon ist, dass der Eingabedatenabschnitt2 selber nicht direkt mit einem Musterdatenabschnitt6 verglichen wird. Da die zugehörigen Abschnittkennungen eine geringere Größe haben können als Eingabe/Musterdatenabschnitte6 , die sie repräsentieren, kann der Vergleichstest, zum Test, ob zwei Abschnittkennungen einander entsprechen, gegebenenfalls schneller ausgeführt werden. Da die Abschnittkennungen eine relativ geringere Größe haben können als die jeweiligen Abschnitte, auf die sie sich beziehen, kann der Vergleichsschritt gegebenenfalls ausgeführt werden während beide Abschnittkennungen im RAM gespeichert sind. Falls die Abschnittkennung eines Eingabedatenabschnitts2 identisch zur Abschnittkennung eines Musterdatenabschnitts ist, sind der Eingabedatenabschnitt2 und der Musterdatenabschnitt untereinander identisch. Dies geht davon aus, dass, so wie oben beschrieben, der Algorithmus zum Erzeugen von Abschnittkennungen so gewählt ist, dass er eindeutige Kennungen erzeugt. Der Einsatz von partiellen Abschnittkennungen stellt einen nicht-eindeutigen Satz von Kennungen bereit, was bedeutet, dass ein oder mehrere potentiell entsprechende Musterdatenabschnitte identifiziert werden. - In einer Ausführungsform ist die Verarbeitungsvorrichtung dafür eingerichtet, die Abschnittkennung eines Eingabedatenabschnitts
2 mit den Abschnittkennungen zu vergleichen, die im Abschnittindex8 gespeichert sind. Der Vergleichsschritt kann ausgeführt werden, indem die Abschnittkennung eines Eingabedatenabschnitts2 der Reihe nach mit jeder Abschnittkennung verglichen wird, die im Abschnittindex8 gespeichert ist. Alternativ können die Abschnittkennungen im Abschnittindex8 basierend auf Eigenschaften der Abschnittkennungen organisiert sein. Beispielsweise können die Abschnittkennungen im Abschnittindex8 in einer Baumanordnung aufgestellt sein, basierend auf dem binären Zustand jedes Bits der Abschnittkennung. In diesem Beispiel könnte das MSB jeder Abschnittkennung analysiert werden und jede Abschnittkennung wird einem Ast des Baums zugeteilt, in Abhängigkeit vom Wert des MSB, das heißt entweder ,0' oder ,1'. Jeder der beiden ,Äste' kann weiter verzweigt werden, basierend auf dem Wert des nächsten MSB. Jeder dieser Äste wird sich weiter verzweigen, basierend auf den folgenden MSB, und so weiter. - Mit der oben beschriebenen Anordnung der Einträge im Abschnittindex
8 ist die Datenverarbeitungsvorrichtung3 , bei dem Versuch für einen Musterdatenabschnitt6 , der einem ausgewählten Eingabedatenabschnitt2 entspricht, einen Eintrag im Abschnittindex8 zu finden, dafür eingerichtet, schnell die Einträge im Abschnittindex8 nach unten zu laufen. - In einigen Ausführungsformen wird unter ,entsprechen' verstanden, dass die Abschnittkennung eines Eingabedatenabschnitts
2 identisch zur Abschnittkennung eines Musterdatenabschnitts6 ist. Der Eingabedatenabschnitt2 und der Musterdatenabschnitt6 werden daher als einander ,entsprechend' bezeichnet. Alternativ gilt beim Einsatz partieller Abschnittkennungen, dass, obwohl die jeweiligen partiellen Abschnittkennungen für einen gegebenen Eingabedatenabschnitt2 und Musterdatenabschnitt6 identisch sein können, der eigentliche Eingabedatenabschnitt2 und Musterdatenabschnitt6 nicht identisch sein können, wie oben beschrieben wurde. Trotzdem werden der Eingabedatenabschnitt2 und Musterdatenabschnitt6 als ,entsprechend' bezeichnet, da wenigstens ihre zugehörigen partiellen Abschnittkennungen untereinander identisch sind. - In einer Ausführungsform der vorliegenden Erfindung gilt, dass nach dem Erzeugen einer Abschnittkennung für einen Eingabedatenabschnitt
2 und dem Identifizieren einer entsprechenden Abschnittkennung im Abschnittindex8 , die zu einem Musterdatenabschnitt6 gehört und im Abschnittindex8 gespeichert ist, die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, dafür eingerichtet ist, einen Verifikationsvorgang auszuführen. Der Verifikationsvorgang umfasst das Vergleichen des Eingabedatenabschnitts2 mit dem identifizierten Musterdatenabschnitt6 , der im Abschnittspeicher4 gespeichert ist, um zu überprüfen, ob die beiden Datenabschnitte tatsächlich identisch sind. Ohne den Verifikationsvorgang und besonders dann, wenn partielle Abschnittkennungen verwendet werden, kann es sein, dass ein als ,entsprechend' identifizierter Musterdatenabschnitt6 nicht wirklich identisch zum Eingabedatenabschnitt2 ist. Die Aufnahme eines Verweises auf den nicht identischen Musterdatenabschnitt6 führt einen Fehler in das Verzeichnis ein und verhindert eine exakte Wiederherstellung von Daten, die im Verzeichnis repräsentiert sind. - Selbst dort, wo vollständige Abschnittkennungen verwendet werden, ist der Verifikationsvorgang vorteilhaft, da jede der Abschnittkennungen (für den Eingabedatenabschnitt
2 und den Musterdatenabschnitt6 ) gegebenenfalls mit Fehlern erzeugt oder gespeichert wurde. Der Verifikationsvorgang kann die Integrität der im Verzeichnis gespeicherten Information erhöhen. - Bei der Ausführungsform, die partielle Abschnittkennungen verwendet, kann ein Prozessor, der eine Ausführungsform der vorliegenden Erfindung ist, aus den oben genannten Gründen, mehr als einen ,entsprechenden' Musterdatenabschnitt
6 identifizieren. Selbstverständlich könnte der Eingabedatenabschnitt2 nur zu einem der im Abschnittspeicher4 gespeicherten Musterdatenabschnitte6 identisch sein. Dementsprechend gilt, dass falls mehr als ein ,entsprechender' Musterdatenabschnitt6 identifiziert wird, es der Verifikationsvorgang der Datenverarbeitungsvorrichtung3 gestattet, zu identifizieren, welcher der wenigstens zwei Musterdatenabschnitte6 wirklich identisch zum Eingabedatenabschnitt2 ist. Obwohl beim Speichern nur partieller Abschnittkennungen der Verifikationsschritt notwendigerweise einen weiteren Schritt bildet, liegt dennoch ein Vorteil darin, dass der Abschnittindex8 eine geringere Größe haben kann, da er keine vollständigen Abschnittkennungen speichert. Die Verringerung der Größe des benötigten Abschnittindexes8 kann die Nachteile, falls solche vorhanden sind, ausgleichen, die mit der Ausführung des Verifikationsvorgangs verbunden sind. - In einer weiteren Ausführungsform kann der Verifikationsvorgang ausgeführt werden, indem die Abschnittkennung eines Eingabedatenabschnitts mit einer Abschnittkennung verglichen wird, die in einem identifizierten Verzeichnis enthalten ist. Ein Vorteil hiervon ist, dass gegebenenfalls überhaupt kein Zugriff auf den Abschnittspeicher erforderlich ist. Der Verifikationsvorgang kann gegebenenfalls ausgeführt werden, indem ausschließlich die Information verwendet wird, die im Verzeichnis und den Abschnittkennungen, die für die Eingabedatenabschnitte erzeugt wurden, enthalten ist. Falls partielle Abschnittkennungen im Abschnittindex gespeichert werden, kann die Situation eintreten, dass die partielle Abschnittkennung eines Eingabedatenabschnitts zur partiellen Abschnittkennung eines Musterdatenabschnitts passt, obwohl die zugehörigen Eingabe/Musterdatenabschnitte nicht zueinander passen. Daher kann es sein, dass das wenigstens eine Verzeichnis, das identifiziert wurde einen Verweis auf einen Musterdatenabschnitt zu enthalten, der einem Eingabedatenabschnitt entspricht, in Wirklichkeit nicht auf Musterdatenabschnitte verweist, die irgendwelchen Eingabedatenabschnitten entsprechen. In einer Ausführungsform ist die Datenverarbeitungsvorrichtung dafür eingerichtet, auf dem oder den identifizierten einem oder mehreren Verzeichnissen einen Verifikationsvorgang auszuführen. In einer Ausführungsform gilt, dass wenn das wenigstens eine Verzeichnis identifiziert wurde, die Abschnittkennung, die in dem einen oder den mehreren Verzeichnissen gespeichert ist und zu dem Musterdatenabschnitt gehört, für den angegeben wurde, dass er einem Eingabedatenabschnitt entspricht, verifiziert wird. Nur falls die Abschnittkennung identisch zur Abschnittkennung des Eingabedatenabschnitts ist, wird das Verzeichnis gegebenenfalls für nachfolgende Operationen verwendet. Diese Ausführungsform kann dieselbe Wirkung erreichen wie die Ausführung des Verifikationsvorgangs unter Bezug auf den Abschnittindex, sie erfordert jedoch keinen Zugriff auf den Abschnittindex. Es ist zu erkennen, dass das zurückgegebene Verzeichnis eine sehr viel geringere Größe haben kann als der Abschnittspeicher. Daher gestattet die Ausführung eines Vergleichsvorgangs unter Verwendung des identifizierten Verzeichnisses anstatt des Abschnittspeichers
4 gegebenenfalls, dass wenigstens ein Teil der Daten für den Vergleich verarbeitet wird, während er im RAM ist. - Wie oben beschrieben, enthält der Abschnittindex
8 einer Ausführungsform Information, die nur einige Musterdatenabschnitte6 im Abschnittspeicher4 betrifft. Der Abschnittindex8 kann daher als ein ,dünn' besetzter Abschnittindex8 bezeichnet werden. Das Führen eines solchen ,dünn' besetzten Abschnittindexes verringert die Größe des Abschnittindexes8 , wobei im Folgenden ein Vorteil hiervon beschrieben wird. - Die Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, kann zur Verdichtung von Eingabedatensätzen
1 zur Speicherung, Verschlüsselung oder Übertragung verwendet werden. Beispielsweise können die Eingabedaten1 Sätze von Sicherungsdaten von einem ersten Datenträger repräsentieren, zur Speicherung auf einem zweiten Datenträger. Die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, vergleicht, so wie oben beschrieben, eine Abschnittkennung eines Eingabedatenabschnitts2 mit den Abschnittkennungen, die in einem Abschnittindex8 gespeichert sind. Der Vergleichsschritt kann einen schnellen Zugriff auf die im Abschnittindex8 enthaltenen Daten erfordern. In einer Ausführungsform kann der Abschnittindex8 in einem Speicher mit wahlfreiem Zugriff (RAM) gespeichert werden. RAM-Speicher gestattet den schnellen und wahlfreien Zugriff auf die darin enthaltene Information. Es kann jedoch die Anforderung geben, den für eine Datenverarbeitungsvorrichtung erforderlichen RAM-Speicher zu verringern. Durch das Bereitstellen eines im RAM zu speichernden dünn besetzten Abschnittindexes8 benötigt die Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, weniger RAM als ein Prozessor ohne einen dünn besetzten Index. - Ohne die Bereitstellung eines Abschnittindexes
8 wird die Datenverarbeitungsvorrichtung gegebenenfalls einen Eingabedatenabschnitt2 mit jedem Musterdatenabschnitt6 vergleichen, der im Abschnittspeicher4 gespeichert ist. Da der Abschnittspeicher4 sehr groß sein kann, kann es schwierig oder einfach unmöglich sein, den gesamten Inhalt des Abschnittspeichers4 im RAM zu speichern. Der Abschnittspeicher4 kann in nicht-flüchtigem Speicher gespeichert sein, wie etwa auf einer Platte. Das Lesen von Daten aus dem Abschnittspeicher4 erfordert daher einen Lesevorgang auf der Platte. Dies kann erheblich langsamer sein als der Zugriff auf Daten, die im RAM gespeichert sind. Die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, umfasst einen Abschnittindex8 , der sich im RAM befinden kann, was einen schnelleren Zugriff auf die darin enthaltene Information gestattet. Hierdurch können gegebenenfalls im Abschnittspeicher4 gespeicherte Musterdatenabschnitte6 , die einem Eingabedatenabschnitt2 entsprechen, leichter identifiziert werden, ohne einen andauernden direkten Zugriff auf den Abschnittspeicher4 zu benötigen. Wie oben beschrieben, kann es einen Verifikationsvorgang geben. Dieser Vorgang erfordert den Zugriff auf einen Musterdatenabschnitt6 , der im Abschnittspeicher4 auf der Platte gespeichert ist, jedoch erfordert dies gegebenenfalls nur eine Plattensuche im Abschnittspeicher4 und das Abrufen eines einzigen Musterdatenabschnitts6 . - Bei Ausführungsformen der vorliegenden Erfindung, die einen dünn besetzten Abschnittindex
8 umfassen, kann der Fall eintreten, dass ein Musterdatenabschnitt6 , der einem Eingabedatenabschnitt2 entspricht, im Abschnittspeicher4 vorhanden ist, dass jedoch kein diesen Musterdatenabschnitt6 betreffender Eintrag im Abschnittindex8 liegt. Wenn nun eine Abschnittkennung des Eingabedatenabschnitts2 mit Einträgen im Abschnittspeicher4 verglichen wird, gilt daher, dass die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, zunächst anzeigt, dass kein entsprechender Musterdatenabschnitt6 vorhanden ist; und sie wird den Eingabedatenabschnitt2 ein zweites Mal als Musterdatenabschnitt6 im Abschnittspeicher4 speichern. Obwohl dieser Vorgang, den Eingabedatenabschnitt2 ein zweites Mal als einen Musterdatenabschnitt6 zu speichern, als ineffiziente Nutzung des Abschnittspeichers4 angesehen werden kann, ist der Vorteil einer solchen Ausführungsform, dass der Abschnittindex8 dünn besetzt ist und somit weniger Platz im RAM einnimmt. Die Vorteile davon, weniger RAM zu benötigen, und der verringerte Zeitbedarf für eine Durchsuchung des dünn besetzten Abschnittindexes8 überwiegen gegebenenfalls die Nachteile davon, einen Eingabedatenabschnitt2 ein zweites Mal als Musterdatenabschnitt6 zu speichern. - Da die Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, dafür eingerichtet ist, den Umstand auszunutzen, dass Eingabedatenströme teilweise zueinander ähnlich sein können, kann die Datenverarbeitungsvorrichtung3 gegebenenfalls dennoch einen Musterdatenabschnitt6 im Abschnittspeicher4 identifizieren, obwohl kein Eintrag für diesen Musterdatenabschnitt6 im Abschnittindex8 vorhanden ist, was nachfolgend beschrieben wird. - Für einen gegebene Zahl von Eingabedatenabschnitten
2 gelte, dass obwohl jedem dieser entsprechende Musterdatenabschnitte6 gegebenenfalls bereits im Abschnittspeicher4 gespeichert sind, gegebenenfalls nur ein Musterdatenabschnitt6 einen Eintrag im Abschnittindex8 hat. Die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, ist dafür eingerichtet, einen entsprechenden Musterdatenabschnitt6 im Abschnittindex8 zu identifizieren. Ausgehend vom Musterdatenabschnitt6 identifiziert die Datenverarbeitungsvorrichtung3 wenigstens ein Verzeichnis im Verzeichnisspeicher, das wenigstens einen Verweis auf den Musterdatenabschnitt6 enthält. Durch die anschließende Analyse des identifizierten wenigstens einen Verzeichnisses, ist die Datenverarbeitungsvorrichtung3 dafür eingerichtet festzustellen, dass Musterdatenabschnitte6 im Abschnittspeicher4 vorhanden sind, die mehr Eingabedatenabschnitten2 aus dem Eingabedatenstrom entsprechen, auch wenn diese Musterdatenabschnitte6 gegebenenfalls keine Einträge im Abschnittindex8 haben. - Eine solche Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, kann daher dafür eingerichtet sein, alle Musterdatenabschnitte
6 im Abschnittspeicher4 zu identifizieren, die allen Eingabedatenabschnitten2 entsprechen, wobei sie nur einen dünn besetzten Index hat. Gegebenenfalls gibt es im Abschnittspeicher4 keine Duplikateinträge. Gegebenenfalls ist die Datenverarbeitungsvorrichtung3 mit einem dünn besetzten Abschnittindex8 genauso effizient beim Verdichten von Eingabedaten wie die Datenverarbeitungsvorrichtung3 mit einem vollständigen Abschnittindex8 . Unter Effizienz wird dabei verstanden, dass die im Abschnittspeicher4 gespeicherten Musterdatenabschnitte6 nicht dupliziert werden oder wenigstens in einem vorgegebenen Ausmaß nicht dupliziert werden. Einige Vervielfältigungen von Musterdatenabschnitten können gegebenenfalls gestattet sein. - In einer Ausführungsform wird eine Datenverarbeitungsvorrichtung bereitgestellt, die Folgendes umfasst: einen Abschnittspeicher, der Musterdatenabschnitte zuvor verarbeiteter Datensätze enthält, einen Abschnittindex, der eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen zuvor verarbeiteten Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, zu verarbeitende Eingabedaten in Eingabedatenabschnitte aufzuteilen; eine Abschnittkennung für wenigstens einen der Eingabedatenabschnitte zu erzeugen, eine entsprechende Abschnittkennung im Abschnittindex zu identifizieren; und daraus wenigstens eines der Verzeichnisse im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der identisch mit dem Eingabedatenabschnitt ist.
- In einer Ausführungsform wird ein Datenverdichter bereitgestellt, der Folgendes umfasst: einen Abschnittspeicher, der dafür eingerichtet ist, Musterdatenabschnitte zu enthalten, einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis zu enthalten, das einen Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei der Verdichter dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte aufzuteilen, einen der Eingabedatenabschnitte auszuwählen und wenigstens ein Verzeichnis zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der dem ausgewählten Eingabedatenabschnitt entspricht, und das wenigstens eine identifizierte Verzeichnis auf Verweise auf weitere Musterdatenabschnitte zu untersuchen, die weiteren Eingabedatenabschnitten des Datensatzes entsprechen.
- Es wird nun ein Verfahren zur Verarbeitung von Eingabedaten beschrieben, das eine Ausführungsform der vorliegenden Erfindung ist. Ein Verfahren setzt Folgendes ein: einen Abschnittspeicher
4 , der Musterdatenabschnitte6 enthält; und einen separaten Verzeichnisspeicher5 , der wenigstens ein Verzeichnis enthält. In einer Ausführungsform wird ein Verfahren ausgeführt, das die oben beschriebene Datenverarbeitungsvorrichtung3 einsetzt. In einer Ausführungsform wird das Verfahren ausgeführt, indem es wie oben beschrieben einen Abschnittspeicher4 und einen separaten Verzeichnisspeicher5 einsetzt. - Ein Verfahren, das eine Ausführungsform der vorliegenden Erfindung ist, umfasst wie in
6 dargestellt, Folgendes: das Verarbeiten13 der Eingabedaten in einen oder mehrere Eingabedatenabschnitte2 ; und das Identifizieren14 wenigstens eines Verzeichnisses im Verzeichnisspeicher, das wenigstens einen Verweis auf einen Musterdatenabschnitt6 umfasst, der wenigstens einem Eingabedatenabschnitt entspricht. - In einer Ausführungsform gilt, dass nach dem Aufteilen der Eingabedaten
1 in einen oder mehrere Eingabedatenabschnitte2 , ein Eingabedatenabschnitt2 aus den Eingabedaten1 ausgewählt wird. Die Auswahl kann auf den ersten Eingabedatenabschnitt1 im Eingabedatensatz1 fallen oder es kann eine andere Auswahl sein. Die Auswahl eines Eingabedatenabschnitts2 aus dem aufgeteilten Eingabedatensatz1 kann zufällig oder pseudo-zufällig sein. - Ein Verfahren, das eine Ausführungsform der Erfindung ist, verwendet den ausgewählten Eingabedatenabschnitt
2 , um ein bereits im Verzeichnisspeicher5 gespeichertes Verzeichnis7 zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt6 umfasst, der dem ausgewählten Eingabedatenabschnitt2 entspricht. - Ein Verfahren, das eine Ausführungsform der vorliegenden Erfindung ist, ist dazu fähig, den Umstand auszunutzen, dass jeder verarbeitete Eingabedatensatz
1 ähnlich sein kann. Somit können vorherige ähnliche Verzeichnisse verwendet werden, um wenigstens einen Teil eines neuen Verzeichnisses für den neuesten Eingabedatensatz zusammenzustellen. - Falls wenigstens ein identifiziertes Verzeichnis verarbeitet und ein Musterdatenabschnitt identifiziert wurde, der einem ausgewählten wenigstens einen Eingabedatenabschnitt
2 entspricht, kann einem Verzeichnis ein Verweis auf den Musterdatenabschnitt hinzugefügt werden. Wie oben beschrieben, kann das wenigstens eine identifizierte Verzeichnis weiter analysiert werden, um Verweise auf Musterdatenabschnitte zu identifizieren, die weiteren Eingabedatenabschnitten2 des Eingabedatensatzes1 entsprechen. Sollten keine weiteren entsprechenden Musterdatenabschnitte mehr gefunden werden, dann können die Eingabedatenabschnitte2 , für die bis dahin noch nicht festgestellt wurde, dass sie einen entsprechenden Musterdatenabschnitt, der im Abschnittspeicher4 vorhanden ist, haben, der Gegenstand weiterer Operationen sein. Dementsprechend kann die Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, dann wenigstens ein Verzeichnis im Verzeichnisspeicher5 identifizieren, das einen Verweis auf einen Musterdatenabschnitt umfasst, der dem neu ausgewählten Eingabedatenabschnitt2 entspricht. Der Vorgang kann fortgesetzt werden, bis alle nicht zugeordneten Eingabedatenabschnitte2 vom Datenprozessor3 verarbeitet wurden. - In einer Ausführungsform umfasst ein Verfahren die Zusammenstellung eines Verzeichnisses, das einen Eingabedatensatz
1 repräsentiert. - Ein Verfahren, das eine Ausführungsform der vorliegenden Erfindung ist, umfasst das Erzeugen einer Abschnittkennung für einen Eingabedatenabschnitt
2 . Die Ausführungsform umfasst außerdem, so wie oben beschrieben, das Vergleichen der Abschnittkennung des Eingabedatenabschnitts2 mit den Abschnittkennungen, die in einem Abschnittindex8 gespeichert sind. - Eine Ausführungsform stellt ein Verfahren zur Verarbeitung von Eingabedaten bereit, das Folgendes einsetzt: einen Abschnittspeicher, der Musterdatenabschnitte zuvor verarbeiteter Datensätze enthält, einen Abschnittindex, der eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen zuvor verarbeiteten Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei das Verfahren Folgendes umfasst: das Aufteilen der Eingabedaten in Eingabedatenabschnitte; das Erzeugen einer Abschnittkennung für einen der Eingabedatenabschnitte; und das Identifizieren einer entsprechenden Abschnittkennung im Abschnittindex und daraus das Identifizieren wenigstens eines Verzeichnisses in der Verzeichnisdatenbasis, das einen Verweis auf einen Musterdatenabschnitt enthält, der identisch mit dem Eingabedatenabschnitt ist.
- Wenn der Abschnittspeicher
4 und der Verzeichnisspeicher5 einer Ausführungsform der vorliegenden Erfindung anfänglich bereitgestellt werden, sind keine Musterdatenabschnitte6 im Abschnittspeicher4 gespeichert und keine Verzeichnisse im Verzeichnisspeicher gespeichert. Sowohl der Abschnittspeicher4 wie auch der Verzeichnisspeicher5 werden dann gefüllt. Auf diese Weise wird, wenn ein erster Eingabedatensatz1 verarbeitet wird, jeder der vom Eingabedatensatz1 abgeteilten Eingabedatenabschnitte2 als Musterdatenabschnitt6 dem Abschnittspeicher4 hinzugefügt. Für den Eingabedatensatz1 wird ein Verzeichnis zusammengestellt und dem Verzeichnisspeicher5 hinzugefügt.3 veranschaulicht ein Beispiel eines wenigstens teilweise gefüllten Prozessors, der eine Ausführungsform der vorliegenden Erfindung ist. Es ist zu erkennen, dass mit der Verarbeitung von immer weiteren Eingabedatensätzen1 , der Abschnittspeicher4 und der Verzeichnisspeicher5 mehr Musterdatenabschnitte6 bzw. Verzeichnisse enthalten werden. Es kann ein Punkt erreicht werden, an dem die Mehrheit der Eingabedatenabschnitte2 von zu verarbeitenden Eingabedatensätzen Musterdatenabschnitten6 entsprechen, die bereits im Abschnittspeicher4 gespeichert sind. In diesem Fall kann für den Eingabedatensatz ein Verzeichnis6 zusammengestellt werden, ohne dass neue Hinzufügungen zum Abschnittspeicher4 vorgenommen werden, was zusätzlich die Vorteile von Verfahren aufzeigt, die Ausführungsformen der vorliegenden Erfindung sind. -
7 veranschaulicht eine Ausführungsform der in3 dargestellten Datenverarbeitungsvorrichtung, die mit mehreren Musterdatenabschnitten6 im Abschnittspeicher4 und mehreren Verzeichnissen7 im Verzeichnisspeicher5 gefüllt ist. - Die Datenverarbeitungsvorrichtung
3 , die eine Ausführungsform der vorliegenden Erfindung ist, kann einen Teil eines Managementsystems zur Datenverdichtung oder Entduplizierung bilden. Die Datenverarbeitungsvorrichtung3 kann in ein Datenspeicherungssystem integriert sein. Eine Datenverarbeitungsvorrichtung3 kann so konfiguriert sein, dass sie ,aktiv' arbeitet, wenn Daten zur Speicherung an das Datenspeicherungssystem gesendet werden. Die Verdichtung kann in Echtzeit ausgeführt werden. Alternativ können die Daten der Datenverarbeitungsvorrichtung3 , die eine Ausführungsform der vorliegenden Erfindung ist, während ,verkehrsschwacher' Zeiten zugeführt werden. Unter verkehrsschwachen Zeiten sind Zeiträume gemeint, in denen einem Datenspeicherungssystem keine Daten zur Speicherung zugeführt werden und somit die Datenverarbeitungsvorrichtung3 Daten verarbeiten könnte, die bereits auf dem Datenspeicherungssystem gespeichert sind, um die Menge an duplizierten Daten zu verringern, die bereits auf dem Datenspeicherungssystem gespeichert ist. Die Datenverarbeitungsvorrichtung, die eine Ausführungsform der vorliegenden Erfindung ist, kann Teil eines Datenbereinigungssystems eines Datenspeicherungssystems sein. - Soweit sie in dieser Beschreibung und diesen Ansprüchen verwendet werden, bedeuten die Ausdrücke „umfassen” und „umfassend” und Variationen hiervon, dass die angegebenen Eigenschaften, Phasen oder Bestandteile eingeschlossen sind. Die Ausdrücke sind nicht so auszulegen, dass das Vorhandensein anderer Eigenschaften, Phasen oder Bestandteile ausgeschlossen ist.
- Die in der vorangehenden Beschreibung, den nachfolgenden Ansprüchen oder der beigefügten Zeichnung offenbarten Eigenschaften, ausgedrückt in ihren speziellen Formen oder durch Mittel, die die offenbarte Funktion ausführen, oder ein Verfahren oder Prozess zum Erreichen des offenbarten Ergebnisses, können, auf geeignete Weise, getrennt oder in irgendeiner Kombination dieser Eigenschaften, verwendet werden, um die Erfindung in ihren verschiedenen Formen zu realisieren.
- ZUSAMMENFASSUNG
- Datenverarbeitungsvorrichtung, Folgendes umfassend: einen Abschnittspeicher, der dafür eingerichtet ist, Musterdatenabschnitte zu enthalten, einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis zu enthalten, das wenigstens einen Teil eines Datensatzes repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte zu verarbeiten und wenigstens ein Verzeichnis im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt enthält, der wenigstens einem der Eingabedatenabschnitte entspricht.
Claims (20)
- Datenverarbeitungsvorrichtung, Folgendes umfassend: einen Abschnittspeicher, der dafür eingerichtet ist, Musterdatenabschnitte zu enthalten, einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis zu enthalten, das wenigstens einen Teil eines Datensatzes repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte zu verarbeiten und wenigstens ein Verzeichnis im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt enthält, der wenigstens einem der Eingabedatenabschnitte entspricht.
- Datenverarbeitungsvorrichtung nach Anspruch 1, die dafür eingerichtet ist, das identifizierte wenigstens eine Verzeichnis zu analysieren und wenigstens einen Verweis auf einen Musterdatenabschnitt zu identifizieren, der wenigstens einem weiteren Eingabedatenabschnitt entspricht.
- Datenverarbeitungsvorrichtung nach Anspruch 1, die dafür eingerichtet ist, wenigstens einen der Eingabedatenabschnitte als einen Musterdatenabschnitt im Abschnittspeicher zu speichern, falls für den wenigstens einen Eingabedatenabschnitt im Einsatz festgestellt werden sollte, dass er nicht wenigstens einem der Musterdatenabschnitte im Abschnittspeicher entspricht.
- Datenverarbeitungsvorrichtung nach Anspruch 1, die dafür eingerichtet ist, einen Abschnittindex zu umfassen, der Information enthält, die die Musterdatenabschnitte betrifft, die im Abschnittspeicher enthalten sind.
- Datenverarbeitungsvorrichtung nach Anspruch 1, die dafür eingerichtet ist, einen Abschnittindex zu umfassen, der Information enthält, die nur einige der Musterdatenabschnitte betrifft, die im Abschnittspeicher enthalten sind.
- Datenverarbeitungsvorrichtung nach Anspruch 4, wobei die Vorrichtung dafür eingerichtet ist, den entsprechenden Musterdatenabschnitt unter Verwendung der im Abschnittindex enthaltenen Information zu identifizieren.
- Datenverarbeitungsvorrichtung nach Anspruch 4, bei der die im Abschnittindex enthaltene Information Einzelheiten über wenigstens ein Verzeichnis im Verzeichnisspeicher enthält, das einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst.
- Datenverarbeitungsvorrichtung nach Anspruch 4, bei der die im Abschnittindex enthaltene Information eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte umfasst.
- Datenverarbeitungsvorrichtung nach Anspruch 8, bei der die Abschnittkennung eine partielle Abschnittkennung ist, die einem oder mehreren der Musterdatenabschnitte entspricht.
- Datenverarbeitungsvorrichtung nach Anspruch 8, wobei die Vorrichtung dafür eingerichtet ist, für einen zu verarbeitenden Eingabedatenabschnitt eine Abschnittkennung zu erzeugen.
- Datenverarbeitungsvorrichtung nach Anspruch 10, wobei die Vorrichtung dafür eingerichtet ist, den entsprechenden Musterdatenabschnitt zu identifizieren, indem sie die Abschnittkennung des Musterdatenabschnitts mit der Abschnittkennung des Eingabedatenabschnitts vergleicht.
- Datenverarbeitungsvorrichtung nach Anspruch 1, bei der der Verzeichnisspeicher dafür eingerichtet ist, Information zu enthalten, die das wenigstens eine darin gespeicherte Verzeichnis betrifft.
- Datenverarbeitungsvorrichtung nach Anspruch 12, bei der der Verzeichnisspeicher eine Abschnittkennung für den wenigstens einen Musterdatenabschnitt umfasst, auf den das wenigstens eine Verzeichnis verweist.
- Datenverarbeitungsvorrichtung nach Anspruch 13, die dafür eingerichtet ist, das identifizierte wenigstens eine Verzeichnis zu analysieren und wenigstens einen Verweis auf einen Musterdatenabschnitt zu identifizieren, der wenigstens einem weiteren Eingabedatenabschnitt entspricht, indem sie eine Abschnittkennung eines Eingabedatenabschnitts mit der Abschnittkennung des wenigstens einen Musterdatenabschnitts 6 vergleicht, der im Verzeichnisspeicher gespeichert ist.
- Datenverarbeitungsvorrichtung nach Anspruch 1, bei der ein entsprechender Musterdatenabschnitt eine Abschnittkennung hat, die wenigstens teilweise ähnlich zu einer Abschnittkennung eines Eingabedatenabschnitts ist.
- Datenverarbeitungsvorrichtung, Folgendes umfassend: einen Abschnittspeicher, der Musterdatenabschnitte zuvor verarbeiteter Datensätze enthält, einen Abschnittindex, der eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen zuvor verarbeiteten Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei die Verarbeitungsvorrichtung dafür eingerichtet ist, zu verarbeitende Eingabedaten in Eingabedatenabschnitte aufzuteilen; eine Abschnittkennung für wenigstens einen der Eingabedatenabschnitte zu erzeugen, eine entsprechende Abschnittkennung im Abschnittindex zu identifizieren; und daraus wenigstens eines der Verzeichnisse im Verzeichnisspeicher zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der identisch mit dem Eingabedatenabschnitt ist.
- Datenverdichter, Folgendes umfassend: einen Abschnittspeicher, der dafür eingerichtet ist, Musterdatenabschnitte zu enthalten, einen separaten Verzeichnisspeicher, der dafür eingerichtet ist, wenigstens ein Verzeichnis zu enthalten, das einen Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei der Verdichter dafür eingerichtet ist, Eingabedaten in Eingabedatenabschnitte aufzuteilen, einen der Eingabedatenabschnitte auszuwählen und wenigstens ein Verzeichnis zu identifizieren, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der dem ausgewählten Eingabedatenabschnitt entspricht, und das wenigstens eine identifizierte Verzeichnis auf Verweise auf weitere Musterdatenabschnitte zu untersuchen, die weiteren Eingabedatenabschnitten des Datensatzes entsprechen.
- Verfahren zur Verarbeitung von Eingabedaten, Folgendes einsetzend: einen Abschnittspeicher, der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei das Verfahren Folgendes umfasst: das Verarbeiten der Eingabedaten in Eingabedatenabschnitte und das Identifizieren wenigstens eines Verzeichnisses im Verzeichnisspeicher, das wenigstens einen Verweis auf einen Musterdatenabschnitt umfasst, der einem der Eingabedatenabschnitte entspricht.
- Verfahren nach Anspruch 18, das das Überprüfen des identifizierten wenigstens einen Verzeichnisses umfasst, um wenigstens einen weiteren Musterdatenabschnitt zu finden, der wenigstens einem weiteren der Eingabedatenabschnitte der Eingabedaten entspricht.
- Verfahren zur Verarbeitung von Eingabedaten, Folgendes einsetzend: einen Abschnittspeicher, der Musterdatenabschnitte zuvor verarbeiteter Datensätze enthält, einen Abschnittindex, der eine Abschnittkennung für wenigstens einen der Musterdatenabschnitte enthält, einen separaten Verzeichnisspeicher, der wenigstens ein Verzeichnis enthält, das einen zuvor verarbeiteten Datensatz repräsentiert und das wenigstens einen Verweis auf wenigstens einen der Musterdatenabschnitte umfasst, wobei das Verfahren Folgendes umfasst, das Aufteilen der Eingabedaten in Eingabedatenabschnitte, das Erzeugen einer Abschnittkennung für einen der Eingabedatenabschnitte, das Identifizieren einer entsprechenden Abschnittkennung im Abschnittindex und daraus das Identifizieren wenigstens eines Verzeichnisses in der Verzeichnisdatenbasis, das einen Verweis auf einen Musterdatenabschnitt enthält, der identisch mit dem Eingabedatenabschnitt ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2007/022629 WO2009054834A1 (en) | 2007-10-25 | 2007-10-25 | Data processing apparatus and method of processing data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112007003645T5 true DE112007003645T5 (de) | 2010-07-29 |
DE112007003645B4 DE112007003645B4 (de) | 2011-06-16 |
Family
ID=40579800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112007003645T Active DE112007003645B4 (de) | 2007-10-25 | 2007-10-25 | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung |
Country Status (5)
Country | Link |
---|---|
US (1) | US9372941B2 (de) |
CN (1) | CN101855636B (de) |
DE (1) | DE112007003645B4 (de) |
GB (1) | GB2466579B (de) |
WO (1) | WO2009054834A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112008003826B4 (de) * | 2008-04-25 | 2015-08-20 | Hewlett-Packard Development Company, L.P. | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190742B2 (en) * | 2006-04-25 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Distributed differential store with non-distributed objects and compression-enhancing data-object routing |
US8782368B2 (en) * | 2007-10-25 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Storing chunks in containers |
US8150851B2 (en) * | 2007-10-25 | 2012-04-03 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
DE112007003678B4 (de) * | 2007-10-25 | 2016-02-25 | Hewlett-Packard Development Company, L.P. | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung |
WO2009054827A1 (en) * | 2007-10-25 | 2009-04-30 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8332404B2 (en) * | 2007-10-25 | 2012-12-11 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8140637B2 (en) * | 2007-10-25 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Communicating chunks between devices |
US8099573B2 (en) * | 2007-10-25 | 2012-01-17 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8117343B2 (en) * | 2008-10-28 | 2012-02-14 | Hewlett-Packard Development Company, L.P. | Landmark chunking of landmarkless regions |
US8375182B2 (en) * | 2009-02-10 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | System and method for segmenting a data stream |
US8001273B2 (en) | 2009-03-16 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Parallel processing of input data to locate landmarks for chunks |
US7979491B2 (en) | 2009-03-27 | 2011-07-12 | Hewlett-Packard Development Company, L.P. | Producing chunks from input data using a plurality of processing elements |
US9141621B2 (en) * | 2009-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Copying a differential data store into temporary storage media in response to a request |
US20100281077A1 (en) * | 2009-04-30 | 2010-11-04 | Mark David Lillibridge | Batching requests for accessing differential data stores |
US8660994B2 (en) * | 2010-01-28 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Selective data deduplication |
US9575842B2 (en) | 2011-02-24 | 2017-02-21 | Ca, Inc. | Multiplex backup using next relative addressing |
US8886914B2 (en) | 2011-02-24 | 2014-11-11 | Ca, Inc. | Multiplex restore using next relative addressing |
KR102106959B1 (ko) * | 2013-02-21 | 2020-05-07 | 에프아이오 세미컨덕터 테크놀로지스, 엘엘씨 | 멀티 레벨 셀 비휘발성 메모리 시스템 |
US11106580B2 (en) | 2020-01-27 | 2021-08-31 | Hewlett Packard Enterprise Development Lp | Deduplication system threshold based on an amount of wear of a storage device |
US11550493B2 (en) | 2020-11-06 | 2023-01-10 | Hewlett Packard Enterprise Development Lp | Container index including a tracking data structure |
US11593021B2 (en) | 2020-11-06 | 2023-02-28 | Hewlett Packard Enterprise Development Lp | Writing a container index to persistent storage |
Family Cites Families (132)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369778A (en) | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US5638509A (en) | 1994-06-10 | 1997-06-10 | Exabyte Corporation | Data storage and protection system |
WO1996025801A1 (en) * | 1995-02-17 | 1996-08-22 | Trustus Pty. Ltd. | Method for partitioning a block of data into subblocks and for storing and communicating such subblocks |
US5680640A (en) | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
EP0884688A3 (de) | 1997-06-16 | 2005-06-22 | Koninklijke Philips Electronics N.V. | Suchverfahren mit reduziertem Index |
US6003114A (en) | 1997-06-17 | 1999-12-14 | Emc Corporation | Caching system and method providing aggressive prefetch |
US7581077B2 (en) | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6260124B1 (en) | 1998-08-13 | 2001-07-10 | International Business Machines Corporation | System and method for dynamically resynchronizing backup data |
GB2341249A (en) | 1998-08-17 | 2000-03-08 | Connected Place Limited | A method of generating a difference file defining differences between an updated file and a base file |
US6396838B1 (en) | 1998-09-28 | 2002-05-28 | Ascend Communications, Inc. | Management of free space in an ATM virtual connection parameter table |
US6542975B1 (en) | 1998-12-24 | 2003-04-01 | Roxio, Inc. | Method and system for backing up data over a plurality of volumes |
US6920537B2 (en) | 1998-12-31 | 2005-07-19 | Emc Corporation | Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel |
US7107395B1 (en) | 1998-12-31 | 2006-09-12 | Emc Corporation | Apparatus and methods for operating a computer storage system |
US6412009B1 (en) | 1999-03-15 | 2002-06-25 | Wall Data Incorporated | Method and system for providing a persistent HTTP tunnel |
WO2001006374A2 (en) | 1999-07-16 | 2001-01-25 | Intertrust Technologies Corp. | System and method for securing an untrusted storage |
US6839680B1 (en) | 1999-09-30 | 2005-01-04 | Fujitsu Limited | Internet profiling |
US6795963B1 (en) | 1999-11-12 | 2004-09-21 | International Business Machines Corporation | Method and system for optimizing systems with enhanced debugging information |
US6564228B1 (en) | 2000-01-14 | 2003-05-13 | Sun Microsystems, Inc. | Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network |
JP2001216316A (ja) | 2000-02-02 | 2001-08-10 | Nec Corp | 電子マニュアル検索システム、方法、及び記録媒体 |
US20020177910A1 (en) | 2000-04-19 | 2002-11-28 | Quarterman John S. | Performance measurement system for large computer network |
US6961900B1 (en) | 2000-08-28 | 2005-11-01 | Microsoft Corporation | Rendering data according to a present schema from an origin response message |
JP4651797B2 (ja) | 2000-10-03 | 2011-03-16 | 富士通セミコンダクター株式会社 | バックアップシステム、及び複製装置 |
ATE381191T1 (de) | 2000-10-26 | 2007-12-15 | Prismedia Networks Inc | Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten |
US6938005B2 (en) * | 2000-12-21 | 2005-08-30 | Intel Corporation | Digital content distribution |
EP1223757B1 (de) | 2001-01-09 | 2006-03-22 | Metabyte Networks, Inc. | System, Verfahren und Software für die Bereitstellung einer gezielten Werbung durch Benutzerprofildatenstruktur basierend auf Benutzerpräferenzen |
US6857059B2 (en) | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
US20020156912A1 (en) * | 2001-02-15 | 2002-10-24 | Hurst John T. | Programming content distribution |
US6587634B2 (en) | 2001-02-15 | 2003-07-01 | Avica Technology Corporation | Paging during media loading |
EP1244221A1 (de) | 2001-03-23 | 2002-09-25 | Sun Microsystems, Inc. | Verfahren und System zur Entfernung von Redundanzdaten |
US7136883B2 (en) | 2001-09-08 | 2006-11-14 | Siemens Medial Solutions Health Services Corporation | System for managing object storage and retrieval in partitioned storage media |
US7028158B1 (en) | 2001-11-02 | 2006-04-11 | Beatty And Company Computing, Inc. | Storage virtualization engine |
ES2359399T3 (es) | 2001-11-23 | 2011-05-23 | Commvault Systems, Inc. | Sistema y procedimiento de duplicación selectiva de datos. |
JP4154893B2 (ja) | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
US7072910B2 (en) | 2002-03-22 | 2006-07-04 | Network Appliance, Inc. | File folding technique |
US6667700B1 (en) | 2002-10-30 | 2003-12-23 | Nbt Technology, Inc. | Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation |
US7937421B2 (en) | 2002-11-14 | 2011-05-03 | Emc Corporation | Systems and methods for restriping files in a distributed file system |
US20040148365A1 (en) | 2003-01-24 | 2004-07-29 | Sunay Tripathi | System and method for vectored sendfile |
JP4068473B2 (ja) | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
US7516442B2 (en) | 2003-10-23 | 2009-04-07 | Microsoft Corporation | Resource manifest |
US7281006B2 (en) | 2003-10-23 | 2007-10-09 | International Business Machines Corporation | System and method for dividing data into predominantly fixed-sized chunks so that duplicate data chunks may be identified |
JP4863605B2 (ja) | 2004-04-09 | 2012-01-25 | 株式会社日立製作所 | 記憶制御システム及び方法 |
US7440982B2 (en) | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
US7613748B2 (en) | 2003-11-13 | 2009-11-03 | Commvault Systems, Inc. | Stored data reverification management system and method |
US7133963B2 (en) | 2003-12-03 | 2006-11-07 | International Business Machines Corporation | Content addressable data storage and compression for semi-persistent computer memory |
US8135683B2 (en) | 2003-12-16 | 2012-03-13 | International Business Machines Corporation | Method and apparatus for data redundancy elimination at the block level |
US20060047855A1 (en) | 2004-05-13 | 2006-03-02 | Microsoft Corporation | Efficient chunking algorithm |
US7269689B2 (en) | 2004-06-17 | 2007-09-11 | Hewlett-Packard Development Company, L.P. | System and method for sharing storage resources between multiple files |
US7617256B2 (en) | 2004-07-19 | 2009-11-10 | Microsoft Corporation | Remote file updates through remote protocol |
US7487138B2 (en) | 2004-08-25 | 2009-02-03 | Symantec Operating Corporation | System and method for chunk-based indexing of file system content |
US8725705B2 (en) | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
US7523098B2 (en) | 2004-09-15 | 2009-04-21 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
HUP0401870A2 (en) | 2004-09-17 | 2006-04-28 | 3D Histech Kft | Method and computer program product for storing high volume coherent primarily 3d information assuring fast retrieval and transmission |
US20060069890A1 (en) | 2004-09-30 | 2006-03-30 | Emc Corporation | Triangular asynchronous replication with minimal synchronous storage |
EP1797510A2 (de) | 2004-10-06 | 2007-06-20 | Permabit, Inc. | Speichersystem für datenblöcke mit zufallsnamen |
WO2006053084A2 (en) | 2004-11-05 | 2006-05-18 | Commvault Systems, Inc. | Method and system of pooling storage devices |
US7343467B2 (en) | 2004-12-20 | 2008-03-11 | Emc Corporation | Method to perform parallel data migration in a clustered storage environment |
US7305387B2 (en) | 2004-12-30 | 2007-12-04 | Sap, Aktiengesellschaft | Method and apparatus for managing data object size in a multi-user environment |
US7516239B2 (en) | 2004-12-30 | 2009-04-07 | Sap, Aktiengesellschaft | Tool for optimizing system performance and methods relating to same |
US20060182050A1 (en) | 2005-01-28 | 2006-08-17 | Hewlett-Packard Development Company, L.P. | Storage replication system with data tracking |
US8341371B2 (en) * | 2005-01-31 | 2012-12-25 | Sandisk Il Ltd | Method of managing copy operations in flash memories |
WO2006094367A1 (en) | 2005-03-11 | 2006-09-14 | Rocksoft Limited | Method for detecting the presence of subblocks in a reduced-redundancy storage system |
WO2006094365A1 (en) | 2005-03-11 | 2006-09-14 | Rocksoft Limited | Method for storing data with reduced redundancy using data clusters |
WO2006094366A1 (en) | 2005-03-11 | 2006-09-14 | Rocksoft Limited | Method for indexing in a reduced-redundancy storage system |
US7814129B2 (en) | 2005-03-11 | 2010-10-12 | Ross Neil Williams | Method and apparatus for storing data with reduced redundancy using data clusters |
US20060293859A1 (en) | 2005-04-13 | 2006-12-28 | Venture Gain L.L.C. | Analysis of transcriptomic data using similarity based modeling |
US7584338B1 (en) | 2005-09-27 | 2009-09-01 | Data Domain, Inc. | Replication of deduplicated storage system |
JP4571576B2 (ja) | 2005-11-24 | 2010-10-27 | 株式会社日立製作所 | リモートコピー記憶装置システムおよびリモートコピー方法 |
US7636767B2 (en) * | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
US7856538B2 (en) | 2005-12-12 | 2010-12-21 | Systex, Inc. | Methods, systems and computer readable medium for detecting memory overflow conditions |
US7472242B1 (en) | 2006-02-14 | 2008-12-30 | Network Appliance, Inc. | Eliminating duplicate blocks during backup writes |
US7831793B2 (en) | 2006-03-01 | 2010-11-09 | Quantum Corporation | Data storage system including unique block pool manager and applications in tiered storage |
US7660836B2 (en) | 2006-03-09 | 2010-02-09 | International Business Machines Corporation | Controlling incremental backups using opaque object attributes |
JP4940738B2 (ja) | 2006-04-12 | 2012-05-30 | 株式会社日立製作所 | 記憶領域動的割当方法 |
US20070250673A1 (en) | 2006-04-25 | 2007-10-25 | Eidswick Max L | Computer backup system |
US8190742B2 (en) | 2006-04-25 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Distributed differential store with non-distributed objects and compression-enhancing data-object routing |
US8862841B2 (en) | 2006-04-25 | 2014-10-14 | Hewlett-Packard Development Company, L.P. | Method and system for scaleable, distributed, differential electronic-data backup and archiving |
US8543782B2 (en) | 2006-04-25 | 2013-09-24 | Hewlett-Packard Development Company, L.P. | Content-based, compression-enhancing routing in distributed, differential electronic-data storage systems |
US8165221B2 (en) | 2006-04-28 | 2012-04-24 | Netapp, Inc. | System and method for sampling based elimination of duplicate data |
EP1873657A1 (de) | 2006-06-29 | 2008-01-02 | France Télécom | System und Verfahren zur Empfehlung von Webseiten basierend auf einem Nutzerprofil |
US8412682B2 (en) | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
US7843823B2 (en) | 2006-07-28 | 2010-11-30 | Cisco Technology, Inc. | Techniques for balancing throughput and compression in a network communication system |
JP4757165B2 (ja) | 2006-10-04 | 2011-08-24 | 株式会社日立製作所 | 計算機システム、データ移行監視方法及びデータ移行監視プログラム |
JP5244332B2 (ja) | 2006-10-30 | 2013-07-24 | 株式会社日立製作所 | 情報システム、データ転送方法及びデータ保護方法 |
JP5057366B2 (ja) | 2006-10-30 | 2012-10-24 | 株式会社日立製作所 | 情報システム及び情報システムのデータ転送方法 |
US7593973B2 (en) | 2006-11-15 | 2009-09-22 | Dot Hill Systems Corp. | Method and apparatus for transferring snapshot data |
US8117409B2 (en) | 2006-11-22 | 2012-02-14 | Hitachi, Ltd. | Method and apparatus for backup and restore in a dynamic chunk allocation storage system |
US7640354B2 (en) | 2006-12-01 | 2009-12-29 | Microsoft Corporation | Scalable differential compression of network data |
US8214517B2 (en) | 2006-12-01 | 2012-07-03 | Nec Laboratories America, Inc. | Methods and systems for quick and efficient data management and/or processing |
US7941599B2 (en) | 2007-03-23 | 2011-05-10 | Kace Networks, Inc. | IT automation appliance imaging system and method |
US8140806B2 (en) | 2007-03-30 | 2012-03-20 | Oracle International Corporation | Eliminating fragmentation with buddy-tree allocation |
US7761680B2 (en) | 2007-04-03 | 2010-07-20 | International Business Machines Corporation | Copying data from a first cluster to a second cluster to reassign storage areas from the first cluster to the second cluster |
US8768895B2 (en) | 2007-04-11 | 2014-07-01 | Emc Corporation | Subsegmenting for efficient storage, resemblance determination, and transmission |
US7739312B2 (en) | 2007-04-27 | 2010-06-15 | Network Appliance, Inc. | Data containerization for reducing unused space in a file system |
US7783603B2 (en) | 2007-05-10 | 2010-08-24 | Dot Hill Systems Corporation | Backing store re-initialization method and apparatus |
US8315984B2 (en) | 2007-05-22 | 2012-11-20 | Netapp, Inc. | System and method for on-the-fly elimination of redundant data |
US7792826B2 (en) | 2007-05-29 | 2010-09-07 | International Business Machines Corporation | Method and system for providing ranked search results |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US7792784B2 (en) | 2007-05-31 | 2010-09-07 | International Business Machines Corporation | Streaming multidimensional data by bypassing multidimensional query processor |
US7898993B2 (en) | 2007-05-31 | 2011-03-01 | International Business Machines Corporation | Efficiency and resiliency enhancements for transition states in ad hoc networks |
US7788233B1 (en) | 2007-07-05 | 2010-08-31 | Amazon Technologies, Inc. | Data store replication for entity based partition |
EP2015184A2 (de) * | 2007-07-06 | 2009-01-14 | Prostor Systems, Inc. | Gemeinschaftliche Fakturierung für entfernbare Medien |
US8028106B2 (en) | 2007-07-06 | 2011-09-27 | Proster Systems, Inc. | Hardware acceleration of commonality factoring with removable media |
US7669023B2 (en) | 2007-07-10 | 2010-02-23 | Hitachi, Ltd. | Power efficient storage with data de-duplication |
US7904682B2 (en) | 2007-07-19 | 2011-03-08 | International Business Machines Corporation | Copying writes from primary storages to secondary storages across different networks |
US7886124B2 (en) | 2007-07-30 | 2011-02-08 | Oracle International Corporation | Method and mechanism for implementing dynamic space management for large objects |
DE102007042144A1 (de) | 2007-09-05 | 2009-03-12 | Smiths Heimann Gmbh | Verfahren zur Verbesserung der Materialerkennbarkeit in einer Röntgenprüfanlage und Röntgenprüfanlage |
US8819288B2 (en) | 2007-09-14 | 2014-08-26 | Microsoft Corporation | Optimized data stream compression using data-dependent chunking |
US7831798B2 (en) | 2007-09-18 | 2010-11-09 | International Business Machines Corporation | Method to achieve partial structure alignment |
DE112007003678B4 (de) | 2007-10-25 | 2016-02-25 | Hewlett-Packard Development Company, L.P. | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung |
WO2009054827A1 (en) | 2007-10-25 | 2009-04-30 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8150851B2 (en) | 2007-10-25 | 2012-04-03 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8782368B2 (en) | 2007-10-25 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Storing chunks in containers |
US8099573B2 (en) | 2007-10-25 | 2012-01-17 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8140637B2 (en) | 2007-10-25 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Communicating chunks between devices |
US8332404B2 (en) | 2007-10-25 | 2012-12-11 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US20090177856A1 (en) | 2008-01-09 | 2009-07-09 | Jason Joseph Herne | Method and apparatus for automated backup process |
US7979670B2 (en) | 2008-01-24 | 2011-07-12 | Quantum Corporation | Methods and systems for vectored data de-duplication |
WO2009131585A1 (en) | 2008-04-25 | 2009-10-29 | Hewlett-Packard Development Company, L.P. | Data processing apparatus and method of processing data |
US8224782B2 (en) | 2008-09-29 | 2012-07-17 | Hitachi, Ltd. | System and method for chunk based tiered storage volume migration |
US7733247B1 (en) | 2008-11-18 | 2010-06-08 | International Business Machines Corporation | Method and system for efficient data transmission with server side de-duplication |
CA2747661A1 (en) | 2008-12-18 | 2010-07-15 | Copiun, Inc. | Methods and apparatus for content-aware data partitioning and data de-duplication |
US8161255B2 (en) | 2009-01-06 | 2012-04-17 | International Business Machines Corporation | Optimized simultaneous storing of data into deduplicated and non-deduplicated storage pools |
US8375182B2 (en) | 2009-02-10 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | System and method for segmenting a data stream |
US8001273B2 (en) | 2009-03-16 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Parallel processing of input data to locate landmarks for chunks |
US7979491B2 (en) | 2009-03-27 | 2011-07-12 | Hewlett-Packard Development Company, L.P. | Producing chunks from input data using a plurality of processing elements |
US8321645B2 (en) | 2009-04-29 | 2012-11-27 | Netapp, Inc. | Mechanisms for moving data in a hybrid aggregate |
US20100281077A1 (en) | 2009-04-30 | 2010-11-04 | Mark David Lillibridge | Batching requests for accessing differential data stores |
US9141621B2 (en) | 2009-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Copying a differential data store into temporary storage media in response to a request |
US8156306B1 (en) | 2009-12-18 | 2012-04-10 | Emc Corporation | Systems and methods for using thin provisioning to reclaim space identified by data reduction processes |
US8499131B2 (en) | 2010-04-13 | 2013-07-30 | Hewlett-Packard Development Company, L.P. | Capping a number of locations referred to by chunk references |
-
2007
- 2007-10-25 DE DE112007003645T patent/DE112007003645B4/de active Active
- 2007-10-25 WO PCT/US2007/022629 patent/WO2009054834A1/en active Application Filing
- 2007-10-25 GB GB1000243.4A patent/GB2466579B/en active Active
- 2007-10-25 US US12/671,322 patent/US9372941B2/en active Active
- 2007-10-25 CN CN200780101502.1A patent/CN101855636B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112008003826B4 (de) * | 2008-04-25 | 2015-08-20 | Hewlett-Packard Development Company, L.P. | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung |
Also Published As
Publication number | Publication date |
---|---|
WO2009054834A1 (en) | 2009-04-30 |
US20100198832A1 (en) | 2010-08-05 |
GB2466579A (en) | 2010-06-30 |
DE112007003645B4 (de) | 2011-06-16 |
GB2466579B (en) | 2012-12-26 |
CN101855636B (zh) | 2016-03-16 |
GB201000243D0 (en) | 2010-02-24 |
US9372941B2 (en) | 2016-06-21 |
CN101855636A (zh) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112007003645B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE112007003678B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE112008003826B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE112007003693B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE112017005868T5 (de) | Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem | |
DE102008015662B4 (de) | Beseitigung von Daten | |
DE69913618T2 (de) | Verfahren zur Erzeugung eines Prüfpunktes, welcher eine Basisdatei beschreibt, und Verfahren zur Erzeugung einer Differenzdatei zwischen einer aktualisierten Datei und einer Basisdatei | |
DE60213867T2 (de) | Vorrichtung zur verwaltung von datenreplikation | |
DE102013215535B4 (de) | Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien | |
DE102005023128B4 (de) | System und Verfahren zum gemeinschaftlichen Verwenden von Speicherressourcen zwischen mehreren Dateien | |
DE4220198C2 (de) | Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem | |
DE4435751B4 (de) | Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem | |
DE10255128A1 (de) | Computer-implementierte PDF-Dokumentenverwaltung | |
DE102013215009A1 (de) | Verfahren und System zur Optimierung der Datenübertragung | |
DE112010004947T5 (de) | Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten | |
DE202010018481U1 (de) | Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster | |
EP3084638A1 (de) | Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung | |
DE112021000665T5 (de) | Primärspeicher mit Deduplizierung | |
DE102014116393A1 (de) | Verfahren und System für ein sicheres Archivieren von Daten | |
DE112019006530T5 (de) | Markieren von betroffenen ähnlichkeitsgruppen in freispeichersammeloperationen in duplizierten speichersystemen | |
DE112005003668T5 (de) | HSM-Steuerprogramm, HSM-Steuervorrichtung und HSM-Steuerverfahren | |
DE102021102442A1 (de) | Katalog der mit schnappschüssen verbundenen dateien | |
DE102021126985A1 (de) | Speicherung einer kleinen objektdarstellung in einem deduplizierungssystem | |
DE102022108668A1 (de) | Zeitschriftengruppen für die verwaltung von metadaten | |
WO2012110567A1 (de) | Verfahren zur deduplizierung von auf einem speichermedium gespeicherten daten und dateiserver dafür |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R020 | Patent grant now final |
Effective date: 20110917 |
|
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: SAMSON & PARTNER PATENTANWAELTE MBB, DE |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB |
|
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TEX., US |