Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA STORAGE SYSTEM AND METHOD FOR OPERATION THEREOF
Document Type and Number:
WIPO Patent Application WO/2006/074869
Kind Code:
A1
Abstract:
The invention relates to a data storage system with a number of user computers (Clients) (C11, C12,..., C1n), a storage system for storing of files (a, b, c), access to which is achieved by the user computers (C11, C12, ...,C1n), a back-up system (B), for securing files stored in the storage system, whereby the storage system comprises a cache unit (C) and a storage unit (S). Said cache unit (C) comprises at least one cache, connected to one or more user computers (C11, C12,..., C1n) and to the storage unit (S) and embodied to only store those files required for processing by one or more user computers (C11, C12, ..., C1n). The storage unit (S) is connected to the cache unit (C) and to the backup system (B) and is embodied to permanently store all files.

Inventors:
BAYER RUDOLF (DE)
Application Number:
PCT/EP2006/000034
Publication Date:
July 20, 2006
Filing Date:
January 04, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BAYER RUDOLF (DE)
International Classes:
G06F11/14; G06F12/08; G06F12/0813; G06F12/0866
Foreign References:
US20030002405A12003-01-02
US20020078299A12002-06-20
US20040083245A12004-04-29
US20040093361A12004-05-13
Attorney, Agent or Firm:
Hössle, Markus (Postfach 10 23 38, Stuttgart, DE)
Download PDF:
Claims:
Patentansprüche
1. Datenspeichersystem mit einer Mehrzahl von Nutzerrechnern (Clients ) (CIl , C12 , ... , CIn) , einem Speichersystem zum Speichern von Dateien ( a, b, c) , auf die mittels der Nutzerrechner (CIl , C12 , ... , CIn) zugegriffen werden soll, einem BackupSystem (B) zur Sicherung von in dem Spei chersystem gespeicherten Dateien, wobei das Speichersystem eine Cacheeinheit (C) und eine Speichereinheit (S) umfasst und die Cacheeinheit (C) mindestens einen Cache umfasst, der mit einem oder mehreren Nutzerrechnern (ClI , C12 , ... , CIn) einerseits und mit der Speichereinheit ( S ) andererseits verbunden ist und dazu ausgelegt ist , lediglich die Dateien zu speichern, die für eine Bearbeitung durch einen oder mehrere Nutzerrechner (CIl , C12 , ... , CIn) angefordert werden, und die Speichereinheit ( S ) mit der Cacheeinheit (C) einerseits und dem BackupSystem (B) andererseits verbunden ist und dazu ausgelegt ist, sämtliche Dateien permanent zu speichern .
2. Datenspeichersystem nach Anspruch 1 , bei dem die Cacheeinheit (C) als von den Nutzerrechnern (CIl, C12 , ... , CIn) separate Einheit zum gemeinsamen Zugriff von allen Nutzerrechnern (CIl , C12 , ... , CIn) ausgebildet ist .
3. Datenspeichersystem nach Anspruch 1, bei dem die Cacheeinheit (C) derart ausgebildet ist, dass j eder Nutzerrechner (CIl, C12 , ... , CIn) über einen eigenen Cache auf einer eigenen Festplatte des Nutzerrechners verfügt .
4. Datenspeichersystem nach Anspruch 1 , bei dem die Cacheeinheit (C) über eine Mehrzahl von Caches (Cl, C2 , ... , Cn) verfügt, die j eweils mindestens einem Nutzerrechner (CIl , C12 , ... , CIn) zugeordnet sind .
5. Datenspeichersystem nach Anspruch 2 bis 4 , bei dem die Verbindung zwischen den Caches der Cacheeinheit (C) mit der Speichereinheit ( S ) über MobilfunkNetz (GSM/GPRS oder UMTS) , ein WAN (Wide Area Network) , ein LAN (Local Area Network) oder ein SAN ( Storage Area Network) erfolgt .
6. Datenspeichersystem nach Anspruch 2 bis 4 , bei dem die Datenübertragung zwischen der Cacheeinheit (C) und dem Arbeitsspeicher der Nutzerrechner (CIl, C12 , ... , CIn) über eine Blockschnittstelle erfolgt und deshalb die Dateien seitenweise übertragen werden .
7. Datenspeichersystem nach einem der Ansprüche 1 bis 6, bei dem das permanente Speichern von Dateien (a, b, c) in der Speichereinheit sequentiell erfolgt .
8. Verfahren zum Betrieb eines Datenspeichersystems, in dem über einen Nutzerrechner (CIl , C12 , ... , CIn) erzeugte oder bearbeitete Dateien (a, b, c) in einem mit dem Nutzerrechner (CIl , C12 , ... , CIn) verbundenen Cache zwischengespeichert werden und fertig bearbeitete Dateien ( a, b, c) in eine mit dem Cache verbundene Speichereinheit (S) verschoben und permanent abgespeichert werden, und wobei eine Sicherung von Dateien durch BackupSichern des Inhalts der Speichereinheit (S ) erfolgt .
9. Verfahren zum Betrieb eines Dateidienstesystems mit einer Speichereinheit (S ) zum permanenten Speichern von Dateien (a, b, c) , auf die über mindestens einen Nutzerrechner (CIl , C12 , ... , CIn) zugegriffen werden soll , wobei der Zugriff auf eine Datei (a, b, c) durch Kopieren der betreffenden Datei in einen mit dem entsprechenden Nutzerrechner (CIl, C12 , ... , CIn) verbundenen Cache erfolgt .
10. Verfahren nach Anspruch 9, bei dem eine Sicherung von Dateien durch BackupSichern des Inhalts der Speichereinheit (S ) erfolgt .
11. Verfahren nach einem der Ansprüche 8 bis 10, bei dem eine Komprimierung der Dateien (a, b, c) durch den Nutzerrechner (CIl , C12 , ... , CIn) erfolgt, bevor die Dateien (a, b, c) aus dem Cache auf die Speichereinheit ( S ) verschoben werden .
12. Verfahren nach einem der Ansprüche 8 bis 10 , bei dem eine Komprimierung der Dateien durch die Speichereinheit erfolgt, nachdem die Dateien (a, b, c) aus dem Cache auf die Speichereinheit ( S ) verschoben wurden und bevor sie in der Speichereinheit permanent gespeichert werden .
13. Verfahren nach einem der Ansprüche 8 bis 12 , bei dem ein Löschen einer Datei , auf die kein Zugriff mehr erfolgt, aus dem Cache sofort nach dem Speichern dieser Datei in der Speichereinheit ( S) erfolgt .
14. Verfahren nach einem der Ansprüche 8 bis 12 , bei dem ein Löschen einer Datei , auf die kein Zugriff mehr erfolgt, aus dem Cache erst nach einer vorgebbaren Zeitspanne nach dem Speichern dieser Datei in der Speichereinheit ( S ) erfolgt .
15. Verfahren nach einem der Ansprüche 8 bis 12 , bei dem ein Löschen einer Datei, auf die kein Zugriff mehr erfolgt, aus dem Cache nach bestimmten Regeln nach dem Speichern dieser Datei in der Speichereinheit (S ) erfolgt .
16. Verfahren nach einem der Ansprüchen 8 bis 15, bei dem die Dateien (a, b, c) in der Speichereinheit (S) sequentiell gespeichert werden .
17. Verfahren nach einem der Ansprüche 8 bis 16, bei dem in der Speichereinheit (S) mehrere zeitlich aufeinander entstehenden Versionen ( a . l , a .2 , ... , a . n) einer Datei (a) gespeichert werden .
18. Verfahren nach einem der Ansprüche 8 bis 16, bei dem zum Speichern mehrerer zeitlich aufeinander entstehender logischer Versionen (a . i1, a . i, a . i+1 ... ) einer Datei in der Speichereinheit (S ) physisch lediglich die komprimierten Differenzen (a_delta . i1, a_delta . i) und die j eweils neueste Dateiversion (a . i+1) gespeichert werden.
19. Verfahren nach Anspruch 18 , bei dem die Differenzen nach der Beziehung a_delta . i = a . i xor a . i+1 berechnet werden .
20. Verfahren nach Anspruch 18 oder 19, bei dem die Differenzen in der Speichereinheit (S) berechnet werden, wenn eine neue Dateiversion (a . i+1 ) von dem Cache (C) in die Speichereinheit ( S ) verschoben wird.
21. Verfahren nach Anspruch 20, bei dem die früheren Dateiversionen (a . i und a . i1) der neuesten Dateiversion ( a . i+1) nach den Beziehungen a . i = a . i+1 xor a_delta . i a . i1 = a . i xor a_delta . il berechnet werden .
22. Datentresorsystem für ein System nach einem der Ansprüche 1 bis 7 , das aus einem an sich bekannten Disk StagingSystem mit einer Vielzahl von Festplatten gebildet ist, wobei die Festplatten die Speichereinheit ( S ) bilden .
23. Verfahren zum Betrieb eines DiskStagingSystems für BackupSicherungen, bei dem mindestens eine der das Disk StagingSystem bildenden Festplatten die Speichereinheit ( S) für ein System nach einem der Ansprüche 1 bis 7 bildet .
Description:
Datenspeichersystem und Verfahren zu dessen Betrieb

Die vorliegende Erfindung betrifft allgemein ein hochzuverlässiges und redundantes verteiltes System für Datendienste und insbesondere eine Architektur für ein hierarchisch organisiertes Datenspeichersystem zum Speichern, Bereitstellen und Sichern von Dateien sowie ein Verfahren zum Betrieb eines derartigen Systems .

Datenspeichersysteme sind bekannt . In einem verteilten System sind Dateien einerseits als lokale Dateien auf den rechnereigenen Festplatten von Nutzer- bzw . Clientrechnern und andererseits als für mehrere Nutzer zugängliche Dateien auf schnellen Dateirechnern, die Dateidienste für mit dem zentralen Dateirechner- verbundene Nutzerrechner anbieten, abgespeichert . Vielfach kommen hier Dateiserver ( File- Server) als Datenspeicher und Datei-Dienstgeber (bspw . für Datei-Backup, Datei-Kompression O . dgl . ) zum Einsatz , wobei es selbst in verteilten Systemen, bei denen j eder Knoten eine eigene Festplatte besitzt, üblich geworden ist, das gesamte Dateisystem mit den Originaldateien und deren Re- plikaten auf Dateiservern zu speichern . Unter einem Dateiserver ist somit ein Server, häufig ein Platten-Server, zu verstehen, der in einem Netzwerk den angeschlossenen Nutzern seine Ressourcen, insbesondere Festplatte , zur Verfügung stellt und für die Nutzer das Speichern ihrer Dateien übernimmt und auch den Zugriff auf diese Dateien regelt .

Das Abspeichern von Dateien auf einer Festplatte, wie es aus dem Stand der Technik bekannt ist , wird im folgenden

unter Bezugnahme auf die Darstellung in den Figuren 1 und 2 beschrieben .

Figur 1 zeigt in stark schematisierter Darstellung drei Dateien a, b, c und wie diese auf einer Festplatte F abgespeichert werden . Die Dateien a, b, c bestehen j eweils aus einzelnen Seiten al bis a5, bl bis b3 bzw . cl bis c4. Die Festplatte F besteht aus einer Vielzahl von als quadratisches Raster dargestellten Blöcken . Beim Abspeichern werden die Dateien seitenweise auf die zur Verfügung stehenden Blöcke verteilt . Diese Verteilung ist in der Darstellung der Figur 1 rechts unten gezeigt . Dabei fällt auf, dass die Dateien in der Regel nicht sequentiell gespeichert werden, d . h . die einzelnen Seiten einer Datei werden in Blöcken gespeichert die nicht zusammenhängen . In der Darstellung der Figur 1 ist lediglich die Datei b mit den drei Seiten bl , b2 , b3 rein zufällig sequentiell abgespeichert . Eine derartige sequentielle Abspeicherung geht in der Regel im Betrieb des Systems (Aufrufen der Datei und erneutes Abspeichern) schnell verloren .

Figur 2 zeigt die Festplatte F (als Bestandteil eines Dateiservers FS ) eingebunden in eine Speichersystemarchitektur gemäß dem Stand der Technik . Der Dateiserver FS mit der Festplatte F ist in ein LAN (Local Area Network) mit Nutzerrechnern CIl , C12 , ... , CIn eingebunden . Des weiteren ist der Dateiserver mit der Festplatte F mit einem Backup- System B über ein SAN (Storage Area Network) verbunden . Die einzelnen Nutzerrechner CIl bis CIn können über Festplatten verfügen, die im Betrieb j edoch (bspw. aufgrund von Firmenrichtlinien oder aus Sicherheitsgründen) häufig leer bleiben oder lediglich zur Speicherung unwichtiger oder privater Dateien dienen . Bei den Nutzerrechnern CIl bis CIn kann es sich um Personalcomputer, Notebooks , Workstations oder dergleichen handeln . Die Verbindung zwischen den Arbeits-

speichern der einzelnen Nutzerrechner CIl bis CIn und dem Dateiserver in dem LAN wird bspw . mittels einer Blockschnittstelle realisiert, d . h . zwischen dem Arbeitsspeicher des Nutzerrechners und dem Dateiserver werden die Dateninhalte einzelner Blöcke, also einzelne Seiten einer Datei übertragen .

Demgegenüber wird erfindungsgemäß ein Datenspeichersystem mit den Merkmalen des Anspruchs 1 sowie ein Verfahren zum Betrieb eines Datenspeichersystems bzw. eines Dateidienstesystems mit den Merkmalen der Ansprüche 10 und 11 bereitgestellt .

Erfindungsgemäß erfolgt demnach eine Aufteilung des bisherigen Dateiservers in zwei Einheiten, nämlich eine Cacheeinheit und eine Speichereinheit . Dabei handelt es sich um zwei unabhängige Systeme, von denen das eine (Cacheeinheit) dazu dient, von einem oder mehreren Nutzerrechnern zur Bearbeitung angeforderte Dateien zeitweise zwischenzuspei- chern, und das andere ( Speichereinheit) dazu dient, fertig bearbeitete Dateien (und nach Bedarf frühere Versionen davon) permanent zu speichern . Die bisher von einem System, nämlich dem Dateiserver ( File-Server) , bewältigten Aufgaben werden nun auf zwei Einheiten verteilt, mit dem Vorteil, dass eine Entkopplung erreicht werden kann, wodurch der Speichervorgang zwischen dem Cache und der Speichereinheit über eine übliche Netzverbindung (wie bspw . ein WAN, LAN oder SAN) bewältigbar ist und ein Abspeichern der Dateien in der Speichereinheit sequentiell und wahlweise zusätzlich komprimiert erfolgen kann, woraus eine bessere Speichernutzung und schnellere Backup-Sicherung folgt . Die Speichereinheit benötigt dafür keine Blockschnittstelle , sondern nur eine einfache sog . Dateischnittstelle (oft auch "Obj ektschnittstelle" genannt) , da Dateien immer als ganze Einheit sowohl zwischen der Speichereinheit und der Cache-

- A -

einheit als auch zwischen der Speichereinheit und dem Backup-System übertragen werden .

Die Bearbeitung von Dateien durch den Nutzerrechner erfolgt dagegen in der Cacheeinheit über eine Blockschnittstelle, wie bei einem herkömmlichen Dateiserver, demgegenüber muss die erfindungsgemäße Cacheeinheit nur eine vergleichsweise kleine Datenmenge bereithalten . Aufgrund der "Arbeitsteilung" kann die Software zur Steuerung der Speichereinheit im Vergleich zu einem herkömmlichen Dateiserver einfacher gestaltet sein, da die Blockschnittstelle nicht benötigt wird, woraus ein stabilerer Betrieb resultiert . Außerdem kann das Dateisystem auf der Speichereinheit vorteilhafterweise als sogenanntes "log-based file System" entsprechend dem Stand der Technik ausgestaltet werden .

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung .

Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der j eweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen .

Die Erfindung ist anhand eines Ausführungsbeispieles in der Zeichnung schematisch dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben .

Figur 1 veranschaulicht in stark schematisierter Darstellung die Grundzüge des Abspeicherns von Dateien gemäß dem Stand der Technik .

Figur 2 veranschaulicht in stark schematisierter Darstellung eine bekannte Speichersystemarchitektur .

Figur 3 zeigt eine Netzwerkarchitektur mit einem Dateiserver gemäß dem Stand der Technik .

Figur 4 zeigt in stark schematisierter Darstellung ein Datenspeichersystem der Erfindung mit einer Cacheeinheit und einer Speichereinheit .

Figur 5 zeigt, ebenfalls in stark schematisierter Darstellung, eine erste Ausführungsform einer erfindungsgemäßen Datenspeichersystemarchitektur .

Figur 6 zeigt ähnlich der Figur 5 eine zweite Ausführungsform einer erfindungsgemäßen Datenspeichersystemarchitektur .

Figur 7 zeigt ähnlich den Figuren 5 und 6 eine dritte Ausführungsform einer erfindungsgemäßen Datenspeichersystemarchitektur .

Figuren 8 bis 10 zeigen Datentresorkonfigurationen für die in den Figuren 5 bis 7 dargestellten Ausführungsformen für erfindungsgemäße Datenspeichersystemarchitekturen .

Figur 11 zeigt eine Ausführungsform der Erfindung zur Sicherung eines sogenannten Heim-PC .

Figur 12 zeigt eine Ausführungsform der Erfindung zur Sicherung von Abteilungsrechnern über ein LAN .

Figur 13 zeigt eine Ausführungsform der Erfindung zur Sicherung von Filialrechnern über WAN/DSL .

Figur 14 zeigt eine Ausführungsform der Erfindung zur Sicherung von tragbaren Computern über Mobilfunk .

Figur 4 zeigt in stark schematisierter Darstellung drei Dateien a, b, c, die j eweils aus einzelnen Seiten al bis a5 , bl bis b3 bzw . cl bis c4 bestehen . Während im Stand der Technik ein Abspeichern von Dateien grundsätzlich auf einer Festplatte F eines Dateiservers FS erfolgt (vgl . Figur 1 ) sind nun erfindungsgemäß eine Cacheeinheit C und eine Speichereinheit S vorgesehen . Die Cacheeinheit C umfasst mindestens einen Cache und dient dazu, lediglich die Dateien zu speichern, die für eine Bearbeitung durch einen oder mehrere Nutzer angefordert werden . Im Beispiel der Figur 4 sind dies die Dateien a und c, deren einzelne Seiten al bis a5 bzw. cl bis c4 in Blöcken der Cacheeinheit C abgelegt sind.

Die Speichereinheit S dient dazu, sämtliche Dateien (und optional ihre frühere Versionen) permanent zu speichern, wie dies in Figur 4 dargestellt ist . Alle drei gezeigten Dateien a, b, c sind seitenweise in Blöcken der Speichereinheit S abgelegt . Im dargestellten Ausführungsbeispiel erfolgt die Speicherung in der Speichereinheit S grundsätzlich sequentiell . Die Datei b ist lediglich in der Speichereinheit S, j edoch nicht in der Cacheeinheit C abgespeichert, da sie derzeit nicht zur Bearbeitung angefordert ist .

Figur 5 zeigt eine erste Ausführungsform einer möglichen Architektur eines erfindungsgemäßen Datenspeichersystems mit einer Mehrzahl von Nutzerrechnern CIl, C12 , ... , CIn . Die Nutzerrechner CIl bis CIn sind über ein LAN (Local Area Network) mit der Cacheeinheit C verbunden (in der Cacheeinheit C sind die beiden Dateien a und c ähnlich der Darstellung der Figur 4 seitenweise in Blöcken der Cacheeinheit gespeichert) . Die Cacheeinheit C wiederum ist über eine

weitere Netzverbindung (LAN, SAN oder WAN o . a . ) mit der Speichereinheit S verbunden, in der entsprechend der Darstellung der Figur 4 die drei Dateien a, b, c sequentiell permanent abgespeichert sind . Die Speichereinheit S schließlich ist über ein WAN, ein LAN oder ein Storage Area Network SAN mit einem Backup-System B zur Sicherung von in der Speichereinheit S gespeicherten Daten verbunden .

Eine Komprimierung der Dateien kann durch die Speichereinheit S oder auch schon durch den Nutzerrechner erfolgen, bevor sie aus dem Cache auf die Speichereinheit verschoben werden, um die Netzbelastung zu reduzieren . Diese Art des Betriebs des Dateisystems ist insbesondere angebracht, wenn die Verbindung zwischen dem Cache - der bspw . auf einem lokalen PC zu Hause oder auf einem Notebook liegt - und dem Dateispeicher über ein WAN wie bspw . ISDN oder DSL, oder sogar drahtlos über GPRS oder UMTS erfolgt . Man kann ein solches System auch so betreiben, daß der Cache auf dem eigenen Rechner zu Hause oder bei einer kleineren Firma liegt und die Speichereinheit mit dem Backup-System, also der gesamte Datentresor (vgl . unten) outgesourced bei einer anderen Firma liegt .

Die Speichereinheit S ist somit zwischen der Cacheeinheit C und dem Backup-System B angeordnet . Die Speichereinheit S benötigt keine Blockschnittstelle, sondern nur eine einfache sogenannte Dateischnittstelle, d . h . es werden immer nur ganze Dateien (oder sehr große Teile davon, die deutlich größer sind, als eine einzelne Seite der Datei ) zwischen der Speichereinheit und der Cacheeinheit bzw . zwischen der Speichereinheit und dem Backup-System übertragen .

Das Erzeugen von neuen Dateien erfolgt zunächst in der Cacheeinheit, eine anschließende permanente Abspeicherung der erzeugten Datei in der Speichereinheit . Als besonders vor-

teilhaft erweist es sich, die Dateien bei der Übertragung von der Cacheeinheit in die Speichereinheit sequentiell abzulegen . Die Datei kann dann in der Cacheeinheit C sofort oder zu einem einstellbaren oder durch Regeln (bspw . bei Eingang einer Invalidierungsnachricht, wenn die Datei zwischenzeitlich durch einen anderen Nutzer geändert wurde (vgl . unten) ) bestimmbaren späteren Zeitpunkt gelöscht werden .

Ist eine erneute Bearbeitung einer bereits erzeugten und in der Speichereinheit S gespeicherten Datei durch einen der Nutzer gewünscht, so wird die entsprechende Datei zur Bearbeitung durch den Nutzer an die Cacheeinheit übertragen . Nach der erfolgten Bearbeitung (Update) der Datei auf der Cacheeinheit wird die Datei wieder als Ganzes von der Cacheeinheit an die Speichereinheit übertragen und in der Speichereinheit (vorzugsweise sequentiell) abgespeichert . Das Abspeichern der Datei in der Speichereinheit kann wieder an derselben Stelle wie zuvor erfolgen, insbesondere falls sich die Größe der Datei nicht geändert hat . Meistens wird ein Abspeichern aber an einer anderen Stelle erfolgen .

Erfindungsgemäß wird somit eine Aufteilung des bisherigen Dateiservers in zwei unabhängige und nur sehr schwach gekoppelte Subsysteme, nämlich die Cacheeinheit C und die Speichereinheit S vorgenommen . Die permanente Speicherung von Dateien erfolgt, wie beschrieben, in der Speichereinheit S und auch eine Sicherung der Dateien erfolgt von der Speichereinheit S aus . Um den Inhalt der Speichereinheit zu sichern, werden wiederum ganze Dateien oder Differenz- Dateien, sog . Deltas , von der Speichereinheit S über eine Dateischnittstelle in das Backup-System B übertragen . Im Falle von nicht mehr benötigten Dateien können diese zum Zwecke der Langzeitarchivierung bzw . zur Erfüllung von evtl . rechtlich vorgeschriebenen Aufbewahrungspflichten (Compliance Rules ) in das Backup-System B verschoben werden

Compliance Rules ) in das Backup-System B verschoben werden und dann in der Speichereinheit S gelöscht werden . Dabei kann ein Verzeichnis der archivierten Dateien in der Speichereinheit S gespeichert werden, wobei dieses Verzeichnis vorzugsweise aber zusätzlich auch im Backup-System gespeichert wird .

Eine Bearbeitung von Dateien erfolgt somit erfindungsgemäß in der Cacheeinheit C durch den über eine Blockschnittstelle verbundenen Nutzerrechner, wobei die entsprechenden Ver- arbeitungsprogramme selbst üblicherweise auf den Nutzerrechnern ausgeführt werden . Die Cacheeinheit C hat also vergleichbar einem herkömmlichen bekannten Dateiserver eine Blockschnittstelle, wobei der wesentliche Unterschied zu dem herkömmlichen Dateiserver darin besteht, dass die Cacheeinheit nur einen kleinen Teil der gesamten Dateien- Menge enthalten muss , nämlich nur diej enigen Dateien, die sich gerade in Bearbeitung durch Nutzerrechner befinden bzw . angefordert sind . Ein weiterer Vorteil liegt darin, dass der Inhalt der Cacheeinheit nicht gesichert werden muss, da alle Dateien permanent in der Speichereinheit S gespeichert sind und 'von dort aus gesichert werden . Aus diesen Gründen eignen sich auch 'die sog . Flash-Speicher als persönliche File-Caches auf den Nutzerrechnern .

Eine Bearbeitung von Dateien in der Cacheeinheit gestaltet sich im einfachsten Fall der sogenannten Single-User-Datei wie folgt :

Eine Datei wird mit dem entsprechenden Befehl (bspw . new) des Anwendung findenden Verarbeitungsprogramms in der Cacheeinheit erzeugt und dort bearbeitet . Sobald die erzeugte Datei zwischengespeichert oder geschlossen wird (bspw . Befehle speichern, speichern unter oder close) , wird eine Kopie der Datei in die Speichereinheit S übertragen und dort

permanent gespeichert . Die Datei in der Cacheeinheit C kann dort verbleiben oder auch nach Belieben gelöscht werden . Für eine erneute Bearbeitung der Daten ergeben sich dann zwei Fallkonstellationen :

i) Die Datei befindet sich noch in der Cacheeinheit C, wird bearbeitet und wieder geschlossen . Eine Kopie der bearbeiteten Datei wird nach dem Schließen wiederum in der Speichereinheit S gespeichert . Danach kann die vorherige Version der Datei in der Speichereinheit gelöscht werden (die vorherige Version kann aber in der Speichereinheit auch beibehalten werden, so dass mehrfache Versionen einer Datei in der Speichereinheit gespeichert sind, wodurch ein einfaches undelete ermöglich wird) .

ii ) Die Datei befindet sich nicht mehr in der Cacheeinheit C, so dass die in der Speichereinheit S gespeicherte Kopie der Daten als ganzes in die Cacheeinheit C übertragen und dann dort bearbeitet wird . Nach dem Schließen wird wie im Fall i ) eine Kopie der bearbeiteten Datei in der Speiόhereinheit S abgespeichert .

In dem etwas komplexeren Fall der sogenannten Multi-User- Dateien gestaltet sich die Bearbeitung wie folgt :

Dateien können in mehreren Caches gespeichert sein, hierüber führt eine entsprechende Verwaltungssoftware in der Speichereinheit Buch . Für Lesezwecke darf eine Datei in mehrere Caches verlagert werden . Für Updatezwecke darf eine Datei nur in einen Cache verlagert werden, um Inkonsisten- zen zwischen mehreren Versionen dieser Datei zu vermeiden . ( Für die Lösung dieser Fragestellung sind dem Fachmann Standardverfahren aus dem Bereich der Datenbanksysteme

(Synchronisation) und der Betriebssysteme (Aufrechterhaltung der Konsistenz von Cache-Inhalten) bekannt . )

Wie bereits erwähnt, können Dateien grundsätzlich in der Cacheeinheit gelöscht werden, wenn die geschlossene Datei von der Cacheeinheit in die Speichereinheit verlagert wurde . Um die sogenannte Performanz des Gesamtsystems zu optimieren, können Dateien aber auch in der Cacheeinheit verbleiben, wodurch eine Rückübertragung von der Speichereinheit in die Cacheeinheit eingespart wird, wenn eine erneute Bearbeitung einer Datei durch einen Nutzer angefordert wird . Für ein korrektes Funktionieren der Erfindung ist dies j edoch nicht erforderlich (daher muss erfindungsgemäß der Inhalt der Cacheeinheit auch nicht im Backup- System gesichert werden) .

Wenn eine Datei aufgrund einer Bearbeitung durch einen oder mehrere andere Nutzer des Systems zwischenzeitlich verändert wurde, erhält die Cacheeinheit eine sogenannte Invali- dierungsnachricht und die Datei wird in der Cacheeinheit gelöscht . Alternativ kann die Cacheeinheit beim Öffnen einer Datei auch einen Äbgleich mit der Speichereinheit vornehmen, um herauszufinden, ob die Datei noch aktuell ist oder ob sie neu (von der Speichereinheit in die Cacheeinheit) übertragen werden muss . Wenn in der Cacheeinheit mehr freier Speicherplatz benötigt wird, so können beliebige geschlossene Dateien gelöscht werden, bis genügend Platz verfügbar ist . Entsprechende Verfahren zur sog . Speicherbereinigung sind dem Fachmann von Betriebssystemen und Datenbanksystemen bekannt .

Mit der in Figur 5 dargestellten Architektur eines Datenspeichersystems ist der Vorteil verbunden, dass der Speicherplatz für die Cacheeinheit mit Blockschnittstelle deutlich geringer ausfällt, als bei der konventionellen Archi-

tektur (wie sie in Figur 2 dargestellt ist) . Für die Cacheeinheit ist schätzungsweise nur etwa 20% oder sogar weniger Speicherplatz notwendig als bei der konventionellen Architektur . Der Speicherplatz für die Speichereinheit entspricht im wesentlichen demj enigen für den Dateiserver der konventionellen Architektur, kann aber durch Kompression zusätzlich deutlich reduziert werden . Die Software zur Verwaltung der Speichereinheit ist sehr viel einfacher (aufgrund des Wegfalls des Lese-/Schreibzugriffs über die Block-Schnittstelle) und deshalb stabiler ist als bei einem konventionellen Dateiserver . Insbesondere bei sequentieller Clusterung weist die Speichereinheit eine wesentlich bessere Performanz als der konventionelle Dateiserver bei Dateientransfer und Backup auf . Aufgrund sequentiellen Lesens und Schreibens kann von einem Verbesserungsfaktor von 10 ausgegangen werden . Auch die Cacheeinheit verfügt über deutlich bessere Verfügbarkeitseigenschaften für den Lese-/Schreibzugriff als ein konventioneller Dateiserver .

Figur 6 zeigt eine zweite Ausführungsform für eine Architektur eines Datenspeichersystems gemäß der Erfindung . Im Unterschied zu der Architektur der Figur 5 ist die Cacheeinheit in der Architektur der Figur 6 aus einer Vielzahl von einzelnen Caches Cl, C2 , ... , Cn zusammengesetzt, die j eweils direkt einem Nutzerrechner zugeordnet sind und über die Netzwerkverbindung WAN oder LAN mit der Speichereinheit verbunden sind . Im übrigen entspricht die Funktionsweise derj enigen, wie sie im Zusammenhang mit der Figur 5 erläutert wurde .

Ein wesentlicher Vorteil der Architektur der Figur 6 besteht darin, dass die häufig vorhandenen, j edoch brachliegenden lokalen Festplatten der einzelnen Nutzerrechner CIl bis CIn auf diese Art und Weise als Caches Cl bis Cn genutzt werden können . Der im Stand der Technik durch den Da-

teiserver bereitgestellte Speicherplatz wird vollständig durch den (billigeren) Speicher der Speichereinheit ersetzt . Der verfügbare Cache-Speicher auf den Nutzerrechnern ist um ca . eine Größenordnung (mind . Faktor 10 ) größer als auf den Dateiservern des Standes der Technik . Durch die "Dezentralisierung" der einzelnen Caches in die j eweiligen Nutzerrechner wird die sogenannte Zugriffsbandbreite ebenfalls deutlich verbessert, da j eweils die lokalen Lese- /Schreibköpfe der Nutzerrechner exklusiv für den Lese- /Schreibbetrieb auf den einzelnen Caches zur Verfügung stehen . Ein Speichern von bearbeiteten Daten in der Speichereinheit S kann bspw . durch eine sogenannte Flush-Cache- Operation beim Logout eines Nutzerrechners sichergestellt werden .

Beide in den Figuren 5 und 6 dargestellten Architekturen sind mit deutlich niedrigeren Speicherkosten verbunden, im Falle der Figur 5 weil die Cacheeinheit sehr viel kleiner sein kann als ein herkömmlicher Dateiserver und die Speichereinheit billiger ist und die erforderliche Speicherkapazität der Speichereinheit außerdem durch Kompression der dort gespeicherten Dateien auf die Hälfte bis ein Drittel reduziert werden kann . Im Falle der Figur 6 werden Kosten gespart, weil vergleichsweise große und als Cache nutzbare Festplatten in den einzelnen Nutzerrechnern ohnehin vorhanden sind und die Kosten für die Speichereinheit wie im Falle der Architektur der Figur 5 gleichfalls niedriger sind . Im Falle der Architektur der Figur 6 ist auch die Verarbei- tungsperformanz aufgrund der lokaϊbetriebenen Caches wie bereits beschrieben deutlich höher .

Des weiteren ist mit der Erfindung eine Entlastung der Netzverbindungen verbunden, im Falle der Figur 5 eine Entlastung der Storage Area Networks SAN zwischen der Speichereinheit und dem Backup-System, im Falle der Figur 6 so-

wohl eine deutliche Entlastung in dem Local Area Network der Nutzerrechner, da die Blockzugriffe nicht mehr über das LAN sondern über die lokalen Festplatten erfolgen, sowie eine deutliche Entlastung im SAN (das u . U . sogar durch ein billigeres LAN ersetzt werden kann) .

Eine weitere Ausführungsform einer Architektur eines erfindungsgemäßen Datenspeichersystems ist in Figur 7 dargestellt und besteht im Prinzip aus einer Mischung der beiden in den Figuren 5 und 6 dargestellten Architekturen . Die Cacheeinheit C ist wiederum aus einer Vielzahl von einzelnen Caches zusammengesetzt, wobei diese als vom Nutzerrechner separat ausgebildete File-Caches FC oder als (wie in der Architektur der Figur 6) direkt lokal dem Nutzerrechner zugeordnete Caches C2 ausgebildet sein können .

Bei der Architektur der Figur 7 handelt es sich um eine in der Praxis sehr gut einsetzbare skalierbare Variante für Höchstleistungssysteme, in die File-Caches nach Bedarf hinzugefügt werden können . Wie im Falle der Figur 6 kann eine Flush-Cache-Operation für j edes Cache unabhängig, auch von der Speichereinheit S ' aus , gesteuert werden, ebenso funktioniert das System auch mit leeren File-Cache (Roaming User wird unterstützt) . Als besonders vorteilhaft ist hervorzuheben, dass einerseits vorhandene Festplatten verwendet werden können, andererseits eine Systemerweiterung durch Installation einer Speichereinheit anstelle einer Erweiterung eines vorhandenen Dateiservers erfolgen kann, wenn ein bestehendes Hochleistungssystem ausgebaut werden soll .

Das erfindungsgemäße System ist darüber hinaus in allen vorgestellten Architekturen mit dem wesentlichen Vorteil verbunden, dass die im Stand der Technik sehr kritischen sogenannten Backup-Fenster (die aufgrund des hohen und

langandauernden Datensicherungsverkehrs nachts oder am Wochenende liegen) völlig entfallen . Da erfindungsgemäß nur der Inhalt der Speichereinheit S gesichert werden muss , können die sogenannten Volumes (physische oder logische Untereinheiten der Speichereinheit wie bspw . Festplatten oder Partitionierungen) während der Sicherungsläufe der Speichereinheit auf Read-Only gesetzt werden ( aus den Caches zu verschiebende Dateien werden dann auf ein anderes Volume geschrieben) . Durch diese Maßnahme wird die Wirksamkeit einer Online-Sicherung gewährleistet, da die Verarbeitung von Dateien, auch offenen Dateien, durch eine Backup-Sicherung nicht beeinträchtigt wird, weil die Speichereinheit und die Cacheeinheit erfindungsgemäß weitgehend entkoppelt sind . Außerdem steigt - wie bereits erwähnt - wegen des sequentiellen Leseverhaltens der Speichereinheit die Sicherungsleistung . Dadurch wird insgesamt die Netzverbindung besser ausgelastet, und in vielen Fällen kann das SAN durch ein LAN, verbunden mit deutlich reduzierten Kosten, ersetzt werden .

Eine weitere Möglichkeit der Verbesserung der Sicherungsleistung besteht darin, dass die Speichereinheit darüber Buch führt, welche Änderungen seit der letzten Sicherung pro Volume erfolgt sind, so dass nur neu hinzugekommene bzw . geänderte Dateien gesichert werden .

Zusätzlich können Funktionalität und Performanz der Speichereinheit S wie folgt verbessert werden :

Die Speichereinheit S kann mehrere zeitlich aufeinander entstehende Versionen einer Datei a speichern, wobei hier die Versionen mit a . l , a .2 , ... , a . n bezeichnet werden sollen .

Die physische Speicherung dieser logischen Versionen a . i-1 , a . i, a . i+1 ... wird durch die dem Fachmann bekannte xor- Differenzenbildung derart optimiert, daß physisch lediglich die komprimierten Differenzen a_delta . i-l , a_delta . i und die j eweils neueste Dateiversion (hier : a . i+1 ) gespeichert werden . Die Differenzen ergeben sich dabei nach folgenden Beziehungen :

a_delta . i = a . i xor a . i+1 für i = 1 , 2 , ...

und werden in der Speichereinheit S berechnet, wenn eine neue Version a . i+1 von C nach S verschoben wird, da zu diesem Zeitpunkt die Version a . i noch in S vorhanden ist .

Die früheren Versionen der Dateien a . i und a . i-1 können bei Bedarf nach folgender Beziehung sehr schnell berechnet werden :

a . i = a . i+1 xor a_delta . i a . i-1 = a . i xor a_delta . i-l

Wenn in der Speichereihheit beispielsweise insgesamt 4 Versionen von a vorgehalten werden sollen, so sind dafür folgende Dateien erforderlich : a_delta . i-3 , a_delta . i-2 , a_delta . i-l , a . i .

Zum Zeitpunkt, zu dem a . i+1 in das Speichersystem S übertragen wird, ist die Datei a . i im Backupsystem B noch vorhanden oder sie kann aufgrund gesicherter Deltaversionen rekonstruiert werden . Deshalb genügt es , lediglich die Dateidifferenz a_delta . i zwischen a . i und a . i+1 von S nach B zu übertragen, um die neue Dateiversion a . i+1 zu sichern . Auf diese Weise kann das Transfervolumen zwischen S und B oder auch zwischen C und S deutlich reduziert werden . Dieses Verfahren ist vor allem dann vorteilhaft, wenn zwischen

geNetz ( funk) Verbindung besteht (wie beispielsweise in den Ausführungsvarianten der Figur 13 oder der Figur 14 ) .

Die Speichereinheit S enthält zusätzlich eine mehrdimensionale Meta-Datenbank und ein entsprechendes Datenbank- Managementsystem, um alle Dateien und ihre Delta- Differenzen zu verwalten und Dateien entsprechend ihrem Zustand zu einem beliebigen früheren Zeitpunkt rekonstruieren zu können . Damit bekommt die Speichereinheit zusätzlich die Fähigkeiten eines sog . Information Lifecycle Management Systems ( ILMS ) .

In den Figuren 11 bis 14 sind verschiedene Konstellationen bzw . Varianten bei der Sicherung von Computerdaten dargestellt .

Figur 11 zeigt in schematischer Darstellung die Sicherung eines Heim-PC . Der Nutzerrechner ist in diesem Falle ein in einem Privathaushalt stehender Kleinrechner (Heim-PC) , der den File-Cache und den Dateienspeicher ( File-Store) um- fasst . Zur Sicherung ist der Heim-PC mit einem Backup- System in einem Rechenzentrum verbunden . Die Netzverbindung zu dem Backup-System erfolgt beispielsweise über WAN oder DSL .

Figur 12 zeigt in schematischer Darstellung eine Anordnung zur Sicherung von Abteilungsrechnern, d. h . einer Mehrzahl von in einer Abteilung aufgestellten Nutzerrechnern . Jeder der Nutzerrechner umfasst einen Cache . Die zugeordnete Speichereinheit S kann entweder in der Abteilung oder in einem Rechenzentrum oder bei einem externen Dienstleister ( Storage Provider) stehen . Die Verbindungen zwischen den Caches der Nutzerrechner und der Speichereinheit und dem Backup-System erfolgen über LAN oder WAN .

Figur 13 zeigt in schematischer Darstellung eine Anordnung zur Sicherung von Filialrechnern über WAN oder DSL . In dieser Konstellation ist einer Mehrzahl von Filialnutzerrechnern eine Cacheeinheit C über LAN zugeordnet, während die Cacheeinheit wiederum über LAN mit einer Speichereinheit verbunden ist . Die Verbindung von der Speichereinheit zu dem in einem Rechenzentrum (RZ ) befindlichen Backup-System erfolgt über WAN oder DSL .

Figur 14 schließlich zeigt in schematischer Darstellung eine Anordnung zur Sicherung von Dateien, die sich auf einem mobilen Rechner (Notebook) befinden . In dieser Konstellation befindet sich der Cache auf dem den Nutzerrechner darstellenden Notebook, das über eine Mobilfunkverbindung wie beispielsweise UMTS oder GPRS mit einer Speichereinheit S verbunden ist . Eine Vorbereitung der Dateien für eine möglichst schnelle Übertragung über die Mobilfunkverbindung, wie beispielsweise eine Komprimierung und Delta-Berechnung (wie voranstehend beschrieben) erfolgt auf dem Notebook . Die Speichereinheit S ist mit einem in einem Rechenzentrum (RZ ) oder bei einem Storage Provider aufgestellten Backup- System verbunden . ;

In allen beschriebenen und auch sonst möglichen Konstellationen der Erfindung wird die Verfügbarkeit der Cacheeinheit gegenüber Verfügbarkeiten konventioneller Dateiserver deutlich verbessert, so dass Schadensrisiken um Größenordnungen reduziert werden können . Die sehr einfache Funktionalität der erfindungsgemäßen Speichereinheit führt zu einer hohen Stabilität der Software und des Gesamtsystems . Eine sehr hohe Zuverlässigkeit kann erreicht werden, wenn als Speichereinheit ein sog . RAIN-System (Rain : Redundant Array of Independent Nodes ) oder ein RAID-System (RAID : Redundant Array of Independent Disks ) oder eine redundante Disk-Library Verwendung finden .

Schließlich ist es mit der Erfindung möglich, Datentresor- systeme zu schaffen, die aus einer Kombination der Speichereinheit S und des Backup-Systems B bestehen kann (wobei diese Kombination von Speichereinheit und Backup-System auch physisch erfolgen kann) . Diese Datentresore ( Data Vaults ) sind für die in den Figuren 5 bis 7 dargestellten Architekturen in den Figuren 8 bis 10 veranschaulicht .

Bei der Schaffung eines Datentresors wird die Tatsache genutzt, dass Backup-Systeme häufig mit Platten-Subsystemen ( sogenanntes Disk-Staging) arbeiten, wobei zu sichernde Daten auf Festplatten zwischengelagert werden, um das Schreiben auf Bänder zu beschleunigen . Dabei handelt es sich um hochwertige und leistungsfähige Festplattensysteme . Erfindungsgemäß werden diese an sich bekannten Festplatten von Backup-Systemen nun zur Bildung eines Datentresors als Speichereinheit S verwendet .